GROBID库文献解析

news2024/11/28 0:56:30

1. 起因

  • 由于某些原因需要在大量的文献中查找相关内容,手动实在是太慢了,所以选择了GROBID库进行文献批量解析

2. GROBID介绍

  • GROBID是一个机器学习库,用于将PDF等原始文档提取、解析和re-structuring为结构化的XML/TEI编码文档,特别关注技术和科学出版物。
  • 能够提取文献中的标题、文本、图表及参考文献等信息
  • GROBID目前仅支持Linux及macOS;windows系统需要通过docker调用

3. Docker安装

  • 已经安装docker请跳过这一步骤

3.1 Docker介绍[来自GPT]:

  • Docker 是一个开源的应用容器引擎,它允许开发者将应用程序与其环境一起打包(称作容器化),从而在任何支持Docker的环境中部署和运行。这项技术提供了一种简化的方法,可以将复杂的应用程序快速、一致地部署在不同的环境中——不管是在本地开发机器上,还是在外部的测试环境或云平台上。

3.1.1 Docker的主要组件:

  • Docker 引擎:负责创建、运行和管理容器的核心服务。
  • Docker 容器:运行应用程序的轻量级、独立的环境。容器在从图片(Image)实例化时创建,其中包含了运行应用所需的代码、运行库、环境变量和配置文件。
  • Docker 镜像:是一个只读的模板,用于创建容器。镜像包含了运行特定应用所需的所有内容——代码、运行时、库等。
  • Docker Hub:是一个Docker容器镜像的公共仓库,类似于GitHub,可以用来存放、共享和管理镜像。
  • Docker 仓库:存放Docker镜像的地方,可以是公共的也可以是私有的。
  • Dockerfile:是一个文本文件,包含了一系列的指令,用于自动构建一个新的Docker镜像。
  • Docker Compose:是一个工具,允许您使用YAML文件定义多个容器的应用服务,并且通过一个命令来启动和停止这些服务。

3.1.2 Docker的工作原理

Docker 使用容器来隔离和运行应用程序。容器是一种轻量级的虚拟化,它运行在同一个操作系统内核上,但保持应用程序的隔离。容器比传统的虚拟机(VM)更加高效,因为它们共享宿主机的内核,而不需要为每个虚拟机运行一个完整的操作系统。

3.1.3 Docker的优势

  • 快速,一致地交付您的应用程序:Docker可以快速构建、测试并部署代码,因为容器化的应用可以在不同的环境中保持一致。
  • 响应性强的部署和扩展:容器可以几乎即时启动,这使得扩展和自动化部署变得简单快捷。
  • 在同一个硬件上运行更多的工作负载:由于容器共享宿主机的系统核心,它们使用更少的资源,这意味着你可以在相同的硬件上运行更多的服务。

3.1.4 Docker的应用场景

  • 提供一致的开发环境:无论开发团队成员使用何种操作系统,Docker容器保证应用能够在一致的环境中运行。
  • 微服务架构:每个微服务可以被容器化,独立部署和扩展。
  • 快速部署:容器显著减少了从开发生命周期到生产部署的时间。
  • 应用程序隔离:保证在每个容器中运行的应用程序是相互隔离的。
  • 资源优化:容器的轻量级特性意味着更有效的资源使用。

总的来说,Docker是当今极为重要的DevOps工具之一,它极大地促进了应用程序的快速开发、测试和部署流程。

3.2 Windows版本

  • 笔者的系统为win11家庭版,接下来将以此为基础进行介绍
    在这里插入图片描述

3.3打开Hyper-V

  • 将以下代码复制到txt文本中,文件名为Hyper.txt
  • 将后缀改为Hyper.bat,点击bat文件重启电脑后就设置好了
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
  • 打开任务管理器–性能,确保虚拟化已开启
    在这里插入图片描述
  • 打开控制面板-程序和功能-启用或关闭Windows功能
  • 确保下面两个功能也是正常打开的在这里插入图片描述

3.4 安装WSL2

  • WSL2相关介绍(来自GPT):WSL2,即Windows Subsystem for Linux version 2,是微软为Windows 10和Windows 11提供的一个功能,允许用户直接在Windows上运行Linux环境,包括大多数命令行工具、实用程序和应用程序。它是WSL的第二版本,提供了更完整的Linux兼容性和更高的性能。

在这里插入图片描述

  • 管理员权限打开cmd,WSL version只要为2就是正确的
    在这里插入图片描述

3.5 Docker下载与安装

  • https://www.docker.com/products/docker-desktop/

  • 访问上述链接,下载Windows版本
    在这里插入图片描述

  • 下载完成后,双击打开等待程序安装完成并重启电脑

  • 打开后只要不报错就ok

  • 报错的话自行查找原因

  • 我这边遇到过两类错误:docker desktop wsl distro terminated abruptly以及unexpected wsl error,都是通过卸载关闭功能重装解决的,可以参考https://zhuanlan.zhihu.com/p/669999834

3.6 GROBID安装

  • GROBID库目前存在两个版本: full lightweight,我安装的第二个

  • Full: 可运行深度学习和 CRF 模型的完整镜像(见最新版本号)(10GB):该镜像包括所有必要的 python 和 TensorFlow 库、GPU 支持和所有 DL 模型资源。它可以提供更准确的结果,特别是在参考文献提取/解析和引文上下文识别方面。根据 GPU(推荐)的可用性与否,某些深度学习模型可能会带来更慢的运行时间和更高的内存使用率。该图像比纯 CRF 图像大得多。完整图像包含 Python 和 TensorFlow/Pytorch 库(超过 3GB)以及预加载的嵌入(约 5GB),但我们建议使用它。

  • Lightweight: 仅包含 CRF 模型的轻量级图像(300MB):该图像在运行时间和内存使用方面具有最佳性能,并限制了图像的大小,但它没有使用一些在准确性方面表现最佳的模型。图像信息可在此处找到。如果可能,请使用上述完整图像。

docker run --rm --init --ulimit core=0 -p 8070:8070 lfoppiano/grobid:0.8.0
  • 输入上述代码到下面这样出现model path就完成了,此时可以访问进入网站Grobid Web Application 解析成功
    在这里插入图片描述
    在这里插入图片描述

4 调用API

import os
import re
import requests
import glob
import time
from  bs4 import BeautifulSoup
from tqdm import *

files=glob.glob(r"...\*.pdf")

url = "http://localhost:8070/api/processFulltextDocument"

for f in tqdm(files):
    try:
        params = dict(input=open(f, 'rb'))
        response = requests.post(url, files=params, timeout=300)
        reslut=response.content.decode("utf-8")
        s=BeautifulSoup(reslut,'lxml')

        save=r"...\XML\{}.xml".format(f.split("\\")[-1][:-4])
        with open(save, 'w', encoding='utf-8') as file:
            # 写入XML声明头
            file.write('<?xml version="1.0" encoding="UTF-8"?>\n')
            # 写入剩余的XML数据
            file.write(str(s))
        time.sleep(1)
    except Exception as e:
        print(f)
        pass

参考

  1. https://blog.csdn.net/yt266666/article/details/127453067?spm=1001.2014.3001.5502
  2. https://grobid.readthedocs.io/en/latest/Grobid-docker/
  3. https://zhuanlan.zhihu.com/p/669999834

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1560648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++第十四弹---模板初阶

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1、泛型编程 2、函数模板 2.1、函数模板的概念 2.2、函数模板的格式 2.3、函数模板的原理 2.4、函数模板的实例化 2.5、模板参数的匹配原则 …

【学习】如何成为资深的软件测试工程师“大神”?

一个优秀的软件测试工程师不仅需要有深厚的技术知识和经验&#xff0c;还需要有良好的沟通能力、分析能力和问题解决能力。总的来说&#xff0c;一个"大神"一样的软件测试工程师应该是一个全面的技术专家&#xff0c;同时还需要有出色的沟通和问题解决能力&#xff0…

Mac 版 IDEA 中配置 GitLab

一、安装Git 在mac终端输入Git检测指令&#xff0c;可以通过git命令查看Git是否安装过&#xff0c;如果没有则会弹出安装按钮&#xff0c;如果安装过则会输出如下信息。 WMBdeMacBook-Pro:~ WENBO$ git usage: git [--version] [--help] [-C <path>] [-c namevalue][--…

ubuntu23.10配置RUST开发环境

系统版本: gcc版本 下载rustup安装脚本: curl --proto https --tlsv1.2 https://sh.rustup.rs -sSf | sh下载完成后会自动执行 选择默认安装选项 添加cargo安装目录到环境变量 vim ~/.bashrc 默认已添加 使用环境变量立即生效 source ~/.bashrc 执行rust开发环境,在终端输入…

深度剖析:计算机集群在大数据体系中的关键角色和技术要点

什么是计算机集群&#xff1f; 计算机集群是一组相互连接的计算机&#xff08;服务器&#xff09;&#xff0c;它们协同工作以完成共同的任务。集群中的每个计算机节点都可以独立运行&#xff0c;但它们通过网络连接在一起&#xff0c;以实现更高的可靠性、性能和可扩展性。 典…

给虚拟机配置静态IP并使用FileZIlla在虚拟机和Windows之间传输文件(ssh和ftp两种方法)

一、配置操作系统网络 &#x1f338;下面的步骤主要是配置虚拟机的静态IP&#xff0c;方便后续用 FikeZilla 在windows和虚拟机之间传输文件&#xff08;否则用默认的ip分配方案为 DHCP ,每一次开机时的ip都是有可能不同的,这样就会导致每次远程连接都需要查看ip地址.&#xf…

Python | 非规则矩形投影添加斑马线边框

前言 在地图绘制领域&#xff0c;非规则投影的示例相对较少&#xff0c;通过几个python的示例可以更好地理解如何在不同投影类型和边界形状下绘制地图。 以下提供了一系列示例&#xff0c;演示了如何在地图中添加非规则边界和边框。这些示例涵盖了不同的投影类型和边界形状&a…

element-ui 表单校验,失去焦点/框内值改变,校验

前提&#xff1a;在el-form表单中&#xff0c;框中有值&#xff0c;失去焦点或者框内值改变的时候&#xff0c;校验提示&#xff0c;依旧没有消失el-select校验失效问题 之前el-select&#xff0c;trigger时候用的“blur”,导致失效&#xff0c;现在 el-select 统一改为"c…

PyTorch深度学习实战(40)——零样本学习(Zero-Shot Learning)

PyTorch深度学习实战&#xff08;40&#xff09;——零样本学习 0. 前言1. 零样本学习2. 实现零样本学习模型2.1 模型分析2.2 构建零样本学习模型 小结系列链接 0. 前言 零样本学习 (Zero-Shot Learning) 是一种机器学习方法&#xff0c;旨在解决传统监督学习中&#xff0c;当…

pulsar存在大量消费未ack的原因

问题起源&#xff1a; 某产品灰度上线后&#xff0c;从pulsar服务端监控发现存在一种现象&#xff1a;消费但未ack的信息不断增加&#xff0c;直到3000左右就稳定下来了且消费速度为0&#xff0c;但不清楚这3000是怎么来的&#xff0c;因为代码是消费到立马ack的&#xff1b; …

格雷希尔G10系列L150A和L200A气动快速连接器,在新能源汽车线束线缆剥线后的气密性测试密封方案

线束线缆在很多用电环境都有使用&#xff0c;比如说新能源汽车&#xff0c;从电池包放电开始&#xff0c;高低压、通讯都开始进行工作&#xff0c;线束在连接的地方需要具有较高的气密性和稳定性&#xff0c;才能保证车辆在不同环境下能够正常的运行。 线束在组装铜鼻子前需要剥…

【Oracle篇】expdp/impdp高效完成全部生产用户的全库迁移(第四篇,总共四篇)

☘️博主介绍☘️&#xff1a; ✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux&#xff0c;也在扩展大数据方向的知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&#xff0c;并且也会默默的点赞收藏加关注❣️❣️…

基于SpringBoot的游戏商城系统的设计与实现(论文+源码)_kaic

目录 1前言 1.1研究的背景及意义 1.2国内外的研究状况和发展趋势 2需求分析 2.1系统需求分析 2.1.1技术可行性 2.1.2经济可行性 2.1.3操作可行性 2.2系统的开发环境 2.2.1 Springboot框架 2.2.2 数据库Mysql 2.2.3 IntelliJ IDEA平台 2.2.4 Mybatis和MyBatis-plus 2.2.5 前端框…

火鸟门户同城模块

同城活动 同城活动是指在同一城市举办的活动&#xff0c;可以是多种类型&#xff0c;例如&#xff1a; 聚会&#xff1a;朋友聚会、同学聚会、兴趣爱好聚会等。展览&#xff1a;艺术​​展览、科技展览、文化展览等。演出节目&#xff1a;演唱会、音乐会、戏剧表演等。比赛项…

JumpServer 堡垒主机

JumpServer 堡垒机帮助企业以更安全的方式管控和登陆各种类型的资产 SSH&#xff1a;Linux/Unix/网络设备等Windows&#xff1a;Web方式连接/原生RDP连接数据库&#xff1a;MySQL、Oracle、SQLServer、PostgreSQL等Kubernetes&#xff1a;连接到K8s集群中的PodsWeb站点&#x…

Backend - gitea 首次建库(远端本地)

目录 一、建立远端储存库 1. 进入新增画面 2. 填写储存库名称&#xff08;如book&#xff09;&#xff0c;点击“建立”即可 二、本地关联远端储存库 1. 本地初始化储存库代码 &#xff08;1&#xff09;新建文件夹 &#xff08;2&#xff09;获取远端储存库 2. 本地编写…

前端学习<二>CSS基础——14-CSS3属性详解:Web字体

前言 开发人员可以为自已的网页指定特殊的字体&#xff08;将指定字体提前下载到站点中&#xff09;&#xff0c;无需考虑用户电脑上是否安装了此特殊字体。从此&#xff0c;把特殊字体处理成图片的方式便成为了过去。 支持程度比较好&#xff0c;甚至 IE 低版本的浏览器也能…

HTML期末作业-香水网站,逐步讲解

知名品牌 CHANEL I wear nothing but a few drops of Chanel No.5. 了解更多 GIVENCHY 纪梵希香水几乎就是赫本本人的化身——经典、优雅、高贵、简洁、女性化 了解更多 DIOR Dior Addict the now fragrance from Dior. 了解更多 BURBUEEY The good things in life neve…

大数据技术之 Apache Doris(一)

第 1 章 Doris 简介 1.1 Doris 概述 Apache Doris 由百度大数据部研发&#xff08;之前叫百度 Palo&#xff0c;2018 年贡献到 Apache 社区后&#xff0c;更名为 Doris &#xff09;&#xff0c;在百度内部&#xff0c;有超过 200 个产品线在使用&#xff0c;部署机器超过 10…

抽象类和接口(2)(接口部分)

❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&a…