学术论文语义搜索工具 Paper Semantic Search,通过语义匹配帮助用户发现相似文献Paper Semantic Search 是一个学术论文语义搜索工具,能通过语义匹配帮助用户发现相似文献。Paper Semantic Search能从OpenReview等来源抓取论文的能力,支持使用文本查询或提供示例论文进行搜索,能同时提供了免费的本地开源嵌入模型和高质量的OpenAI API模型选项,通过将论文标题和摘要转换为可缓存的嵌入向量,然后利用余弦相似度进行匹配和排序,最后实现精准的相似论文推荐。
• 从 OpenReview 平台获取特定会议的论文(比如 ICLR2026 的投稿论文)
• 支持两种搜索方式:用示例论文作为参考搜索,或直接用文本查询关键词
• 自动缓存嵌入向量,避免重复计算,节省时间和资源
• 兼容两类嵌入模型:开源本地模型(如 all-MiniLM-L6-v2)和 OpenAI 模型
首先通过 pip 安装项目所需的依赖库,执行以下命令:
pip install -r requirements.txt
通过 crawl.py 中的函数爬取目标会议的论文,生成 JSON 格式的论文数据集。以爬取 ICLR2026 会议投稿为例,代码如下:
from crawl import crawl_papers
crawl_papers(
venue_id="ICLR.cc/2026/Conference/Submission",
output_file="iclr2026_papers.json"
)
执行后会生成 iclr2026_papers.json 文件,包含该会议的论文标题、摘要等信息。
搜索功能通过 search.py 中的 PaperSearcher 类实现,支持本地模型和 OpenAI 模型两种选择,具体代码如下:
from search import PaperSearcher
# 初始化搜索器,指定论文数据文件和模型类型
searcher = PaperSearcher('iclr2026_papers.json', model_type='local')
# 计算论文的嵌入向量(首次运行会生成缓存,后续可直接复用)
searcher.compute_embeddings()
先设置环境变量配置 API 密钥,再初始化搜索器:
# 终端中设置 API 密钥(Windows 系统用 set 替换 export)
export OPENAI_API_KEY='你的 OpenAI API 密钥'
from search import PaperSearcher
searcher = PaperSearcher('iclr2026_papers.json', model_type='openai')
searcher.compute_embeddings()
用示例论文搜索:如果有几篇感兴趣的论文,可以用它们的标题和摘要作为参考,找到相似研究:
# 示例论文列表(可添加 1-5 篇,效果更好)
examples = [
{
"title": "你的参考论文标题",
"abstract": "你的参考论文摘要..."
}
]
# 搜索 Top 100 相似论文
results = searcher.search(examples=examples, top_k=100)
用文本查询搜索:直接输入感兴趣的研究方向描述,获取相关论文:
# 输入查询文本(比如具体研究主题)
results = searcher.search(query="大语言模型在医疗诊断中的应用", top_k=100)
搜索完成后,可直接显示结果或保存到文件:
# 显示前 10 条结果(n 参数控制显示数量)
searcher.display(results, n=10)
# 将所有结果保存到 JSON 文件
searcher.save(results, 'results.json')
整个语义搜索的逻辑并不复杂,核心分为 5 个步骤,确保搜索结果的准确性和效率:
1、生成嵌入向量:将论文的标题和摘要转换为数值形式的嵌入向量,捕捉文本的语义信息
2、自动缓存:嵌入向量会以 cache_<文件名>_<哈希值>_<模型名>.npy 的格式保存,下次使用时无需重新计算,删除缓存文件可触发重新生成
3、查询嵌入:用相同的模型将用户的查询(示例论文或文本)也转换为嵌入向量
4、计算相似度:通过余弦相似度算法,对比查询嵌入与所有论文嵌入的相似程度
5、结果排序:按照相似度得分从高到低排序,返回排名靠前的论文
执行 searcher.display(results, n=10) 后,终端会显示类似以下的结果,包含相似度得分、论文标题、编号、研究方向和 OpenReview 链接,方便直接访问原文:
================================================================================
Top 100 Results (showing 10)
================================================================================
1、[0.8456] Paper a
#12345 | 基础模型或前沿模型,包括大语言模型
https://openreview.net/forum?id=xxx
2、[0.8234] Paper b
#12346 | 机器人、自主系统、规划领域的应用
https://openreview.net/forum?id=yyy
• 推荐用 1-5 篇示例论文进行搜索,或用一段详细的研究方向描述作为查询,能提升结果匹配度
• 大多数场景下,本地模型的效果已经足够,无需额外付费
• 若需要高精度搜索(比如关键研究方向排查),可选择 OpenAI 模型,成本约为 18000 次查询 1 美元
AI学术写作助手:学术论文润色和语言优化工具
Gemini对话与提示管理扩展工具 Gemini Voyager
AI驱动的股票研究平台 Multi-Agent Investment Research Platform
AI驱动的加密货币自动化交易系统 open-nof1.ai
基于Next.js、AI SDK和Workflow DevKit构建的线索鉴定与人工审核代理工具 Lead Agent
XiaomiMiMo/MiMo-Audio-7B-Instruct模型微调工具MiMo-Audio-Training
基于DeepSeek-OCR模型的文档解析工具 DeepSeek-OCR Studio
AI-Trader:让多个AI模型在纳斯达克100股票市场中进行完全自主的零人工干预的竞争性交易
辅助软件开发任务和终端操作的命令行代理工具 Kimi CLI
AI 编码代理工具 deer-code,帮助开发者学习和构建智能的编码助手