GROBID简介
GROBID (GeneRation Of BIbliographic Data) 是一款功能强大的机器学习库,专门用于从PDF等原始文档中提取、解析和重构信息,特别关注科技出版物。它最初由Patrice Lopez于2008年开始开发,2011年开源,此后一直作为一个持续发展的项目。
GROBID的主要功能包括:
- 从PDF文章中提取和解析头部信息(如标题、摘要、作者、机构、关键词等)
- 提取和解析参考文献
- 识别和解析引文上下文
- 提取和结构化全文内容
- 提供提取信息的PDF坐标
- 解析单独的参考文献
- 解析姓名、机构地址、日期等信息
- 提取资助方和资助信息
GROBID采用了一系列序列标注模型来逐级解析文档结构,最终可以识别出68个细粒度的标签,涵盖从传统的出版物元数据到全文结构的各个方面。
GROBID的工作原理
GROBID采用了以下几个关键的设计原则:
-
使用级联的序列标注模型来解析文档。每个模型负责识别特定的结构和信息。
-
模型不直接处理文本,而是处理"布局标记",以充分利用每个标记的视觉和布局信息。
-
使用小规模但高质量的人工标注训练数据,而非从已有XML文档中自动生成大规模训练数据。
-
在准确性和可扩展性之间寻求平衡,使其能够在普通硬件上快速处理PDF,并具有良好的并行化和扩展能力。
GROBID首先使用pdfalto工具提取PDF中的布局信息,然后通过级联的机器学习模型逐步识别和提取文档的各个部分。它可以使用CRF或深度学习模型,用户可以根据需求和硬件条件选择合适的模型来平衡准确性和处理速度。
安装和使用GROBID
GROBID提供了多种安装和使用方式:
- 直接下载发布版本并运行:
wget https://github.com/kermitt2/grobid/archive/0.8.0.zip
unzip 0.8.0.zip
cd grobid-0.8.0
./gradlew run
- 使用Docker镜像:
docker pull grobid/grobid
docker run -t --rm -p 8070:8070 grobid/grobid
- 通过API调用:
GROBID提供了全面的Web服务API,可以轻松集成到其他应用中。
此外,还有多种客户端可用于批量处理PDF文件:
这些客户端支持多线程处理,可以显著提高大规模PDF处理的效率。
GROBID的应用
GROBID已被多个知名机构和项目采用,用于生产环境中的文献处理,包括:
- ResearchGate
- Semantic Scholar
- HAL Research Archive
- scite.ai
- Academia.edu
- Internet Archive Scholar
- INIST-CNRS
- CERN (Invenio)
GROBID的高度可扩展性使其能够处理大规模的科学文献语料库。例如,在一台16 CPU的机器上,GROBID能够以每秒10.6篇PDF的速度进行全文处理,相当于每天处理约915,000篇PDF文章。
GROBID生态系统
围绕GROBID核心功能,还开发了一系列额外模块,用于针对性地从学术PDF中进行结构化的文本挖掘:
- software-mention: 识别科学文献中的软件提及及相关属性
- datastet: 识别科学文章中的数据集提及及相关属性
- grobid-quantities: 识别和规范化物理量和测量值
- grobid-ner: 命名实体识别
- entity-fishing: 从文本和文档中提取Wikidata实体
这些模块进一步扩展了GROBID的应用范围,使其成为一个强大的学术文献挖掘平台。
结语
GROBID作为一款开源的学术文献信息提取工具,凭借其强大的功能、灵活的架构和良好的可扩展性,为科研工作者和机构提供了宝贵的文献挖掘能力。它不仅能够高效地从PDF中提取结构化信息,还可以通过各种客户端和API轻松集成到现有的工作流程中。随着持续的开发和完善,GROBID正在成为学术文献数字化和知识挖掘领域的重要基础设施。
无论您是需要处理大量PDF文献的研究机构,还是想要开发基于学术文献的创新应用,GROBID都是一个值得考虑的强大工具。它为打破学术文献中的信息孤岛,促进知识的有效传播和利用提供了重要支持。