用途:针对一批参考文献,生成发表年份分布表(计数与百分比)和期刊分布表(可选 Top N),用于文献综述或报告附录。
支持的输入:粘贴的引文(BibTeX/RIS/EndNote/纯文本/混合格式)、本地参考文献文件(.bib/.ris/.txt/.csv)、本地 PDF 文件夹。
主要能力:按格式规则提取 Year 与 Journal;对期刊名做规范化(去首尾空白、合并多空格、去尾部句点逗号、大小写不一致时转 Title Case,不扩展缩写、不推断别名);输出两张标准表:年份分布(year, count, percent)、期刊分布(journal title, count, percent);提供汇总,含总数与未知字段计数(unknown year / unknown journal)。采取保守提取策略,元数据不清晰时不猜测,歧义条目计为 unknown。表格按计数降序、再按名称升序排列。全程本地运行,不联网、不使用外部 API 或凭据,不读取用户提供路径以外的文件。
使用方式:依赖 Python 3.9+,安装依赖:pip install -r scripts/requirements.txt。处理 PDF 目录示例:python scripts/process_pdfs.py --input-dir "./pdfs" --output "./literature_stats.md";处理参考文献文件(若仓库提供相应脚本)示例:python scripts/process_references.py --input "./refs/library.bib" --output "./literature_stats.md"。快速验证可运行 python scripts/process_pdfs.py --help。
解析规则:BibTeX 取 year 与 journal 字段;RIS 的 Year 取 PY 或 Y1(首个四位数年份),Journal 取 JO/JF/T2 中首个非空值;纯文本/混合引文在末尾附近取 1900-2099 内首个四位数年份作为 Year,期刊仅在格式明确时推断(如 Journal Name. 2022; 或 Journal Name, 2022),否则置为 unknown;PDF 优先使用元数据,否则取首页首个四位数年份,期刊优先元数据,否则扫描首页含 Journal、Proceedings、Transactions 等关键词的行,不明确则置为 unknown。
限制:缺少必要源数据、标识符、文件或凭据时不适用;不得用于编造结果或不支持的主张;当更简单的直接回答更合适时也不适用。执行前需校验输入,失败时说明确切缺失项与最小修复方法;部分输出需明确标注。输出文件名建议为 literature_statistics_result.md。