grobid

grobid

基于机器学习的高效文献数据解析工具

GROBID 是一个将PDF等原始文档转换为结构化XML/TEI编码文档的机器学习库,专为技术和科学出版物设计。功能包括文献标题和参考文献的提取、全文结构化以及PDF坐标解析等。提供丰富的Web服务API、Docker镜像和批处理能力,适用于高效大规模的文献处理,适合生产环境。其深度学习模型显著提升解析精度,并已被众多科研机构和平台采用,支持Linux和macOS操作系统。

GROBID机器学习科学文献PDF处理Deep LearningGithub开源项目

GROBID

License Coverage Status Documentation Status GitHub release Demo grobid.science-miner.com Docker Hub Docker Hub SWH

GROBID文档

访问 GROBID文档 获取更详细的信息。

概要

GROBID(或Grobid,但不是GroBid或GroBiD)代表GeneRation Of BIbliographic Data。

GROBID是一种机器学习库,用于提取、解析和重构原始文档(例如PDF)为结构化的XML/TEI编码文档,特别关注技术和科学出版物。最早在2008年开始作为一种爱好开发,源于Laurent Romary(法国Inria)的建议。2011年,该工具以开源形式对外发布。自始至终,GROBID作为一个侧项目稳步进行,并得益于Inria持续的支持,相信今后也会继续如此。

提供以下功能:

  • 从PDF格式的文章中提取和解析__头部信息__。提取内容包括常见的书目信息(如标题、摘要、作者、机构、关键词等)。
  • 从PDF格式的文章中提取和解析__参考文献__,在一个包含90,125条参考文献的独立PubMed Central数据集(1943篇PDF)上获得约0.87的F1分数,在一个类似的bioRxiv数据集(2000篇PDF)上获得约0.90的分数(使用深度学习引用模型)。覆盖所有常规出版物元数据(包括DOI,PMID等)。
  • 识别和解析文章的__引用上下文__,准确率为0.76到0.91的F1分数,取决于评估集(即正确识别引用标记并正确关联完整参考文献)。
  • 从PDF文章中__提取和结构化全文__,包含全篇文档分段和文本主体结构化模型(段落、章节标题、参考和脚注标记、图表、数据可用性声明等)。
  • 提取信息的__PDF坐标__,允许基于识别出的结构创建“增强”交互PDF。
  • __单独解析__参考文献(在实例级别上超过0.90的F1分数,在字段级别上超过0.95的F1分数,使用深度学习模型)。
  • 解析人名(如人名标题、名、中间名等),特别是头部的作者名和文献中的作者名(两种独立的模型)。
  • 解析__隶属关系和地址__块。
  • 解析__日期__,ISO标准化的日、月、年。
  • 通过biblio-glutton服务或CrossRef REST API进行__书目信息的整合/解析__。在这两种情况下,PDF提取的DOI/PMID解析性能超过0.95的F1分数。
  • 提取和解析__专利和非专利文献__中的参考文献。
  • 提取__资助者和资助信息__,可选与CrossRef Funder Registry提取的资助者进行匹配。
  • 识别文档相关的版权持有者和许可证,如出版商或作者版权、CC-BY/CC-BY-NC等许可证。

在完整的PDF处理过程中,GROBID管理68个末端标签,用于构建相对细粒度的结构,从传统出版元数据(标题、作者名/姓/中间名、隶属关系类型、详细地址、期刊、卷号、期号、页码、DOI、PMID等)到全文结构(章节标题、段落、参考标记、页头/页脚注释、图片说明等)。

GROBID包含一个全面的Web服务APIDocker镜像批处理、一个JAVA API、一个通用的训练和评估框架(精确度、召回率等,n折交叉评估)、成千上万文档的系统性端到端基准测试和半自动生成训练数据。

GROBID可以被视为生产就绪。生产部署包括ResearchGate、Semantic Scholar、HAL Research Archive、scite.ai、Academia.edu、Internet Archive Scholar、INIST-CNRS、CERN(Invenio)等许多公司。该工具设计用于速度和高可扩展性,以处理整个科学文献语料库。

GROBID应该能够在Linux(64位)和macOS(Intel和ARM)上“开箱即用”正常运行。目前我们无法像以前一样保证对Windows的支持(欢迎贡献力量!)。

GROBID使用依赖于DeLFT库的深度学习模型,这是一个面向序列标注和文本分类的任务无关深度学习框架,通过JEP。GROBID可以运行深度学习架构(具有或不具有布局特征通道的RNN或transformers)或特征工程的CRF(默认),或者CRF和DL的任何混合,以平衡可扩展性和准确性。这些模型使用由pdfalto提供的联合文本和视觉/布局信息。

请注意,默认情况下不使用深度学习模型,仅选择CRF以适应“开箱即用”硬件环境。为了提高准确性,您需要根据需求和硬件能力(特别是GPU可用性和运行时要求)在GROBID配置文件中选择使用的深度学习模型一些GROBID深度学习模型性能明显优于默认的CRF,特别是在书目引用解析方面,因此建议根据需要选择这些模型以正确使用该工具。

演示

演示服务器

为了测试目的,感谢HuggingFace,提供了两个公共的GROBID演示服务器,托管为spaces

一个结合了深度学习模型和CRF模型的GROBID演示服务器可在以下地址访问:https://kermitt2-grobid.hf.space/https://huggingface.co/spaces/kermitt2/grobid。然而,该演示仅在CPU上运行。如果您在自己的服务器部署中有GPU,速度将显著加快。

一个仅使用CRF的较快演示服务器可在https://kermitt2-grobid-crf.hf.space/https://huggingface.co/spaces/kermitt2/grobid-crf访问。然而,准确性较低。

Web服务文档在这里

警告:演示服务器存在配额和查询限制!请友好使用,不要过载演示服务器。 对于任何严肃的工作,您都需要部署和使用自己的Grobid服务器,请参见GROBID和Docker容器文档以便轻松完成部署并激活一些深度学习模型。

在Play With Docker中试用

<a href="https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/kermitt2/grobid/master/compose.yml"> <img src="https://yellow-cdn.veclightyear.com/35dd4d3f/5c2f08aa-d42f-40f8-a7e1-ff8412c55513.png" alt="Try in PWD"/> </a>

等待30秒,以便Grobid容器创建完成后再在8080端口上打开浏览器标签页。该演示容器仅运行CRF模型。请注意,在“冷”容器上第一次处理PDF需要额外的60秒加载模型。然后这个Grobid容器将在4小时内仅供您使用。

客户端

为了便于大规模使用GROBID服务,我们提供了使用Web服务进行并行批处理的Python、Java和node.js客户端:

  • <a href="https://github.com/kermitt2/grobid-client-python" target="_blank">Python GROBID 客户端</a>(在支持的服务和选项方面最完整的一款)
  • <a href="https://github.com/kermitt2/grobid-client-java" target="_blank">Java GROBID 客户端</a>
  • <a href="https://github.com/kermitt2/grobid-client-node" target="_blank">Node.js GROBID 客户端</a>

所有这些客户端将利用多线程来扩展大规模的 PDF 处理。因此,它们将比批处理命令行(仅使用一个线程)更加高效,因此应该优先选择它们。

例如,我们使用上面列出的 Node.js 客户端,在一周内一台 16 CPU 的机器上(16 个线程,32GB 内存,无 SDD,主流出版商的文章),以大约每秒 10.6 个 PDF 的速度运行完整的全文处理,大约每天处理 915,000 个 PDF,大约每天处理 2000 万页。请参见 此处(两台服务器在 6 天内不间断地处理了 1130 万 PDF)。

此外,还有一个 Java 示例项目,可以展示如何将 GROBID 用作 Java 库:https://github.com/kermitt2/grobid-example。该示例项目使用 GROBID Java API 从 PDF 中提取标题元数据和引用,并以 BibTeX 格式输出结果。

最后,以下 Python 工具可用于创建结构化的科学文章全文语料库。该工具只需一个强标识符列表(如 DOI 或 PMID),即可识别在线开放获取的 PDF,进行全文抓取,元数据聚合和 GROBID 处理,形成大规模的一体化工作流程:article-dataset-builder

GROBID 如何工作

访问描述系统的文档页面。总结一下,GROBID 的关键设计原则是:

详细的端到端基准测试可在 GROBID 文档 中找到并持续更新。

GROBID 模块

一系列额外的模块已经开发出来,直接在学术 PDF 上执行 结构感知 的文本挖掘,重用 GROBID 的 PDF 处理和序列标注功能:

  • software-mention:在科学文献中识别软件提及及相关属性
  • datastet:识别科学文章中具名或隐含的研究数据集及相关属性
  • grobid-quantities:识别和归一化物理量/测量参数
  • grobid-superconductors:识别科学文献中超导体材料及性质
  • entity-fishing:从文本和文档中提取维基数据实体的工具,还可以使用 Grobid 预处理 PDF 格式的科学文章,从而实现更精准和相关的实体提取并具有注解 PDF 的互动布局功能
  • datastet:识别科学文章中介绍数据集的段落和句子,识别数据集名称(隐含和具名数据集)并对这些数据集类型进行分类
  • grobid-ner:命名实体识别
  • grobid-astro:识别科学论文中的天文实体
  • grobid-bio:使用 BioNLP/NLPBA 2004 数据集的玩具生物实体标注器
  • grobid-dictionaries:将原始 PDF 格式的词典进行结构化处理

发布和变更

请参见 变更日志

授权

GROBID 根据 Apache 2.0 许可证 分发。

文档根据 CC-0 许可证分发,注释数据根据 CC-BY 许可证分发。

如果你为 GROBID 做出贡献,你同意按照这些许可证分享你的贡献。

主要作者和联系方式:Patrice Lopez (patrice.lopez@science-miner.com)

赞助商

ej-technologies 为我们的 Java Profiler 提供了免费的开源许可证。点击下方的 JProfiler 标志了解更多。

JProfiler

引用方式

如果你想引用此工作,请参考本 GitHub 项目,并结合 Software Heritage 项目级持久标识符。例如,用 BibTeX:

@misc{GROBID, title = {GROBID}, howpublished = {\url{https://github.com/kermitt2/grobid}}, publisher = {GitHub}, year = {2008--2024}, archivePrefix = {swh}, eprint = {1:dir:dab86b296e3c3216e2241968f0d63b68e8209d3c} }

请参阅 GROBID 文档 了解更多相关资源。

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多