双引擎论文搜索 · git:20260304.6e59f1c · 2026-03-04 · sha256 7ea8353ccb37047f
双引擎论文搜索 git:20260304.6e59f1cA
Immutable. This exact content is served forever at /api/v1/blob/7ea8353ccb37047f.
---
name: "paper-search"
description: "Search academic papers via OpenAlex API for math modeling references. Invoke when user needs literature search, paper references, or when writing papers requires citations."
---
# Paper Search Skill - 论文搜索技能
本技能通过 **OpenAlex API** 实现学术论文搜索功能,为数学建模论文撰写提供参考文献支持。
---
## 功能概述
| 功能 | 说明 |
|------|------|
| **论文搜索** | 通过关键词搜索相关学术论文 |
| **摘要获取** | 自动重建并返回论文摘要 |
| **引用格式化** | 生成标准的引用格式 |
| **多字段搜索** | 支持标题、摘要、作者等多字段搜索 |
---
## 使用场景
在以下情况下使用本技能:
1. **建模分析阶段**:查找模型相关的理论文献
2. **论文撰写阶段**:为论文添加参考文献引用
3. **算法验证阶段**:查找算法的原始论文
4. **用户请求**:用户明确要求搜索论文或文献
---
## 配置要求
### 邮箱配置(必需)
OpenAlex API 要求提供邮箱地址以使用礼貌池(Polite Pool):
```
使用前必须配置邮箱地址:
- 用于礼貌池访问,提高API限制
- 必须是有效的邮箱地址
```
---
## 搜索流程
```
┌─────────────────────────────────────────────────────────────┐
│ 论文手/建模手 │
│ (需要引用文献时调用搜索工具) │
└──────────────────────┬──────────────────────────────────────┘
│ 调用 search_papers
▼
┌─────────────────────────────────────────────────────────────┐
│ openalex_scholar.py │
│ (论文搜索脚本 - 封装 OpenAlex API 调用) │
└──────────────────────┬──────────────────────────────────────┘
│ HTTP GET 请求
▼
┌─────────────────────────────────────────────────────────────┐
│ OpenAlex API (https://api.openalex.org) │
│ - 免费学术搜索引擎 │
│ - 支持论文标题、摘要、作者、引用次数等字段 │
└─────────────────────────────────────────────────────────────┘
```
---
## 使用方法
### 方法一:运行搜索脚本
```bash
python tools/paper_search/scripts/openalex_scholar.py --query "grey prediction model" --email "your@email.com"
```
### 方法二:在代码中调用
```python
from openalex_scholar import OpenAlexScholar
scholar = OpenAlexScholar(email="your@email.com")
papers = scholar.search_papers("linear programming optimization")
for paper in papers:
print(f"标题: {paper.title}")
print(f"作者: {', '.join(paper.authors)}")
print(f"年份: {paper.publication_year}")
print(f"引用: {paper.citation_format}")
print(f"DOI: {paper.doi}")
print("---")
```
### 方法三:获取字典格式数据
```python
from openalex_scholar import OpenAlexScholar
scholar = OpenAlexScholar(email="your@email.com")
papers = scholar.search_papers("linear programming optimization")
for paper in papers:
paper_dict = paper.to_dict()
print(f"标题: {paper_dict['title']}")
print(f"作者: {paper_dict['authors']}")
print(f"年份: {paper_dict['publication_year']}")
print(f"引用: {paper_dict['citation_format']}")
print("---")
```
---
## 返回字段说明
### Paper 对象属性
| 属性 | 类型 | 说明 |
|------|------|------|
| `title` | str | 论文标题 |
| `abstract` | str/None | 摘要(从倒排索引重建) |
| `authors` | List[str] | 作者列表 |
| `cited_by_count` | int | 被引用次数 |
| `doi` | str/None | DOI 标识符 |
| `publication_year` | int/None | 发表年份 |
### Paper 对象方法
| 方法 | 返回值 | 说明 |
|------|--------|------|
| `citation_format` | str | 格式化引用文本(APA风格) |
| `to_dict()` | Dict | 转换为字典格式,包含所有字段和citation_format |
---
## 引用格式示例
```
Smith J. et al. (2020). A Novel Approach to Grey Prediction Models.
DOI: 10.1016/j.example.2020.123456
```
---
## API 限制与最佳实践
| 项目 | 说明 |
|------|------|
| **速率限制** | 使用礼貌池(polite pool)可提高限制 |
| **必需参数** | 必须提供 `mailto` 邮箱参数 |
| **返回数量** | 默认返回 8 篇相关论文 |
| **搜索字段** | 支持标题、摘要、作者等多字段搜索 |
---
## 数学建模常用搜索关键词
### 优化算法
- `linear programming optimization`
- `genetic algorithm optimization`
- `particle swarm optimization`
- `simulated annealing`
### 预测模型
- `grey prediction model GM(1,1)`
- `ARIMA time series forecasting`
- `LSTM neural network prediction`
- `prophet forecasting`
### 评价方法
- `analytic hierarchy process AHP`
- `TOPSIS multi-criteria decision`
- `entropy weight method`
- `data envelopment analysis DEA`
### 图论与网络
- `shortest path algorithm Dijkstra`
- `minimum spanning tree`
- `maximum flow network`
- `vehicle routing problem`
---
## 相关文件
| 文件 | 说明 |
|------|------|
| `scripts/openalex_scholar.py` | OpenAlex 搜索实现脚本 |
---
## 参考链接
- [OpenAlex API 文档](https://docs.openalex.org/)
- [OpenAlex 礼貌池规则](https://docs.openalex.org/how-to-use-the-api/rate-limits-and-authentication)