Skip to content

katrina-666/reference_processor

Repository files navigation

Reference_Processor

BibTeX 核心参考文献规范化与检索系统(GUI版本)

项目简介

这是一个带有图形用户界面(GUI)的 Python 应用程序,提供两大核心功能:

  1. 列表规范化(List Normalization):根据用户输入的非标准列表,自动检索 BibTeX,并按指定格式输出,同时评估每条结果的置信度字段完整性
  2. 批量关键词检索(Batch Search):根据用户输入的关键词和要求的数量,进行批量搜索,导出指定数量的最新相关文献(含 BibTeX)并按指定格式输出。

核心特性

  1. 图形用户界面(GUI):使用 Tkinter 实现的友好界面,操作简单直观
  2. 列表规范化:严格解析以数字序号开头的列表项,自动检索 BibTeX 并格式化
  3. 批量关键词检索:根据关键词批量搜索最新相关文献
  4. 置信度评估:自动评估每条 BibTeX 记录的完整性和质量,显示置信度和缺项警告
  5. BibTeX 核心:以检索和存储 BibTeX 格式作为元数据中心,实现最高的数据准确性和格式灵活性
  6. 多格式输出:支持 GB/T 7714-2015、GB/T 7714-2005、APA、IEEE 四种输出格式
  7. 智能重试机制:网络超时时自动重试,提高检索成功率

项目结构

Reference_Processor/
├── main_gui.py          # GUI主程序入口(推荐使用)
├── main.py              # 命令行主程序入口
├── parser.py            # 输入解析模块
├── retriever.py         # BibTeX 检索模块(支持单条和批量搜索)
├── formatter.py         # 格式化模块(集成置信度信息)
├── confidence_manager.py # 置信度评估模块(新增)
├── requirements.txt     # 项目依赖
├── input_refs.txt       # 输入文件(用户原始文献列表)
└── README.md           # 项目说明文档

环境设置

使用 Conda 环境(推荐)

项目已配置了名为 reference_processor 的 conda 环境。

方法1:使用 conda run(推荐)

# 安装依赖(如果尚未安装)
conda run -n reference_processor pip install -r requirements.txt

# 运行程序
conda run -n reference_processor python main.py

方法2:激活环境后使用

Windows PowerShell:

conda activate reference_processor
pip install -r requirements.txt
python main.py

Windows CMD:

conda activate reference_processor
pip install -r requirements.txt
python main.py

方法3:使用提供的脚本

  • Windows CMD: 双击运行 setup_env.bat
  • PowerShell: 运行 .\setup_env.ps1

使用系统 Python

如果您不使用 conda,也可以直接使用系统 Python:

pip install -r requirements.txt
python main.py

使用方法

GUI 版本(推荐)

启动 GUI 程序:

conda run -n reference_processor python main_gui.py

或激活环境后运行:

conda activate reference_processor
python main_gui.py

GUI 功能说明:

  1. 列表规范化

    • 在"列表规范化"文本框中粘贴非标准文献列表(每行一条,以数字序号开头)
    • 选择输出格式
    • 点击"执行列表规范化"按钮
    • 结果会显示在右侧输出区,包含置信度和缺项警告
  2. 批量关键词检索

    • 在"关键词"输入框中输入搜索关键词
    • 在"数量"输入框中输入要检索的文献数量
    • 选择输出格式
    • 点击"执行批量检索"按钮
    • 结果会显示在右侧输出区,包含置信度和缺项警告

命令行版本

使用 conda 环境(推荐):

conda run -n reference_processor python main.py

或激活环境后运行:

conda activate reference_processor
python main.py

程序会提示您选择输出格式,然后处理 input_refs.txt 文件中的文献列表。

支持的格式

GB/T 7714-2015

格式:作者. 题名[J]. 刊名, 年, 卷(期):页码.

GB/T 7714-2005

格式:作者. 题名[J]. 刊名, 年, 卷(期):页码.

APA 7th Edition

格式:Author, A. A., & Author, B. B. (Year). Title. Journal Name, Volume(Issue), Pages.

IEEE Standard

格式:A. Author, B. Author, and C. Author, "Title," Journal Name, vol. X, no. Y, pp. Z, Year.

置信度评估

系统会自动评估每条 BibTeX 记录的完整性,并显示:

  • 置信度评分:0.0-1.0 的数值,越高表示记录越完整
  • 缺项警告:列出缺失的关键字段(如标题、作者、期刊、年份、DOI、页码等)

置信度级别:

  • (≥0.9):记录完整,信息可靠
  • (0.7-0.9):记录较完整,可能有少量缺失
  • (0.5-0.7):记录不完整,缺失重要字段
  • 极低 (<0.5):记录严重不完整,建议手动检查

技术栈

  • Python 3.x
  • requests: 网络请求
  • bibtexparser: BibTeX 解析和操作
  • habanero: CrossRef API 访问

注意事项

  1. 程序需要网络连接以访问 CrossRef API 和 Google Scholar
  2. 如果某条文献检索失败,程序会在输出文件中标记为"检索失败"
  3. 输入文件的格式应尽量规范,以数字序号开头(支持 1.1)[1]1\t 等格式)
  4. 程序会自动处理序号不连续的情况
  5. 网络超时时会自动重试,提高检索成功率

环境变量配置(可选)

如果需要配置 API 密钥或其他设置,可以:

  1. 复制 .env.example 文件为 .env
  2. .env 文件中填入实际的配置信息
  3. .env 文件已被 .gitignore 忽略,不会被上传到版本控制

注意: 不要将包含敏感信息的 .env 文件提交到版本控制系统。

许可证

本项目仅供学习和研究使用。

About

这是一个带有图形用户界面(GUI)的 Python 应用程序,提供两大核心功能: 1. **列表规范化(List Normalization)**:根据用户输入的非标准列表,自动检索 BibTeX,并按指定格式输出,同时评估每条结果的**置信度**和**字段完整性**。 2. **批量关键词检索(Batch Search)**:根据用户输入的关键词和要求的数量,进行批量搜索,导出指定数量的最新相关文献(含 BibTeX)并按指定格式输出。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors