GROBID库:安装与使用

一.grobid安装与使用
(1) grobid介绍

官方文档:Introduction - GROBID Documentation

GROBID(或GROBID)是GeneRation Of BIbliographic Data。

GROBID是一个机器学习库,用于提取、解析和重构原始文档(如PDF),将其转换为结构化的XML/TEI编码文档,特别关注技术和科学出版物。最初的开发始于2008年,当时只是一个爱好。2011年,该工具已经以开源的形式提供。GROBID的工作从一开始就作为副业项目稳定下来,预计将继续下去。

(2) 程序安装

根据官方英文文档 Install GROBID - GROBID Documentation

我们执行下列操作进行程序安装。

进入GitHub grobid下载Release版本

在这里插入图片描述

完成解压后 进入解压文件的目录

在这里插入图片描述

命令行输入 gradlew clean install

在这里插入图片描述

JAVA_HOME路径无效 检查后发现分号的存在

删除分号后 问题解决。

在这里插入图片描述

开始自动安装相关的jar文件。

安装完成后 出现提示

在这里插入图片描述

(3) cmd运行

运行方式在文档GROBID service - GROBID Documentation

在命令行输入gradlew run 开始运行程序

在这里插入图片描述

并不需要加载至100% 当看见进度条不动时 前往浏览器测试API

默认端口是 http://localhost:8070/

进入后我们可以看见如下的界面:

在这里插入图片描述

(4) Web端使用

界面较为简单 以PDF为例 我向其上传了一篇pdf 解析其头部信息 正常出现结果

在这里插入图片描述

二.grobid调用:PDF批量处理
(1) API脚本获取

不愿使用Web端直接解析PDF的话 则需要通过API的调用了。

事实上使用API也是开发者提倡的 毕竟使用Web端不能够进行批量处理

那么 对于成千上万的PDF文件 这样的处理方式就太低效了。

在这里插入图片描述

官网提供了三类API的调用接口 包括Python Java Node.js 我选择使用Python。

在此下载项目文件 https://github.com/kermitt2/grobid-client-python

在这里插入图片描述

进行解压 其中存在多个py文件

在这里插入图片描述

以及一些测试案例

我们阅读其提供的readme.md文件,总结如下

  • 这个Python客户端可以在文件系统上用并发方式处理给定目录中的一组PDF,并将结果写入给定的输出目录,或是在其他python程序中调用它。
  • 使用该客户端首先需要先在命令行运行gradlew run,并能够成功打开Web端口。
  • 使用该客户端不需要其他依赖库,但需python3.5及以上版本。
(2) 调用方法

官方文档内提供了两种使用该客户端的方式


1.命令行

进入cmd命令行环境

在这里插入图片描述

进入python客户端的路径

cd grobid_client_python

初始化环境

python3 setup.py install

执行解析命令 需要给定输入路径,输出路径与解析方式。

grobid_client.py --input C:/Users/*/Desktop/in --output C:/Users/*/Desktop/out processFulltextDocument

2.python脚本

或是直接运行如下代码(注意包与包直接的相对位置)

能够读取resources/in下的所有pdf文件

在resources/out中生成相应的xml文件

from grobid_client.grobid_client import GrobidClient

if __name__ == "__main__":
    client = GrobidClient(config_path="./config.json")
    client.process("processFulltextDocument", "resources/in", output="resources/out/", consolidate_citations=True, tei_coordinates=True, force=True)
三.BAD_INPUT_DATA] PDF to XML conversion failed with error code: 99报错原因
(1) 报错原因

使用Windows系统访问Web端会出现如下的报错

在这里插入图片描述

通过在github中进行查询 并重新看了一小时的官方文档 发现该程序已不再支持Windows平台

程序的开发者在社区讨论时说支持三个平台对于他们来说工作量过大。

官方文档:

Windows related issues
Grobid is developed and tested on Linux. macOS is also supported, although some components might behave slighly different due to the natural incompatibility of Apple with the rest of the world and the availability on some proprietary fonts on this platform.

Windows, unfortunately, is currently not anymore supported, due to lack of experience and time constraints. We recommend Windows users to use the Grobid Docker image (documented here) and call the system via API using one of the various grobid clients.

Windows相关问题

Grobid是在Linux上开发和测试的。macOS也被支持,尽管由于苹果与世界其他地方的自然不兼容以及该平台上的一些专有字体的可用性,一些组件的行为可能略有不同。

不幸的是,由于缺乏经验和时间限制,目前不再支持Windows。我们建议Windows用户使用Grobid Docker映像(这里有文档),并使用各种Grobid客户端之一通过API调用系统。

开发者回复:

现场链接: [BAD_INPUT_DATA] PDF to XML conversion failed with error code: 99 · Issue #166 · kermitt2/grobid · GitHub

grobid is not supported to work on Windows. Unfortunately three platforms are too many for us, I recommend you to run it using docker.

grobid不支持在Windows上工作。不幸的是,三个平台对我们来说太多了,我建议您使用docker运行它。
(2) 解决建议

1.购置一台苹果电脑

2.通过Docker / VMware Workstation等程序构建如 Linux 的虚拟环境

参考博文GROBID库:PDF to XML conversion failed with error code: 99报错解决

3.寻找功能相似 能够提取解析PDF的机器学习库。

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值