GROBID库文献解析

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.mzph.cn/news/787018.shtml

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

相关文章

pytorch yolov5+Deepsort实现目标检测和跟踪+单目测距

最近一直在整理单目测距的内容&#xff0c;想着检测单目测距都写完了&#xff0c;顺手也写个检测跟踪单目测距&#xff0c;算是总结下这部分内容吧&#xff0c;如果有错误&#xff0c;还请不吝赐教&#xff01;&#xff01; 参考文献: YOLOv5DeepSort实现目标跟踪 pytorch yolo…

郭天祥新概念51单片机(第四期读书笔记)

时钟周期、状态周期、机器周期、指令周期与晶振频率之间的关系 1、晶振频率与脉冲的关系 假设单片机的晶振频率是12MHz&#xff0c;那么它的一个脉冲为1/12微秒&#xff1b;晶振单位时间发出的脉冲则为&#xff1a; 12 ∗ 1 0 6 12*10^6 12∗106。 假设单片机的晶振频率是4MH…

Python 音频处理工具库之pydub使用详解

概要 在音频处理领域,Python pydub 库是一个功能强大且易于使用的工具,它可以帮助开发者处理音频文件的各种操作,如剪切、合并、转换格式、调整音量等。本文将详细介绍 pydub 库的功能、用法以及一些实际应用案例,帮助大家更好地了解和使用这个强大的音频处理工具。 什么是…

数据守护者:揭秘备份数据的终极策略

在数字化日益深入的今天&#xff0c;备份数据的重要性不言而喻。无论是个人用户还是企业机构&#xff0c;数据都是最宝贵的资产之一。一旦数据丢失或受损&#xff0c;可能会导致无法挽回的损失&#xff0c;甚至影响业务的正常运转。因此&#xff0c;备份数据成为了一种必要的安…

Linux中查看文件内容的命令

文章目录 一、七类常见的Linux的文件二、显示命令三、分页显示四、显示文件前后内容五、压缩、解压缩六、补充 一、七类常见的Linux的文件 字符文件类型-普通文件&#xff0c;包括纯文本文件、二进制文件、各种压缩文件等。在find命令中&#xff0c;type 选项中用 f来表示d目录…

B站海外商业化探索之路

本期作者 背景 业务背景 B站&#xff08;bilibili&#xff09;出海以来&#xff0c;深耕内容生态和用户播放体验&#xff0c;业务发展逐渐步入正轨&#xff0c;用户体量稳中有升&#xff0c;目前在东南亚视频APP领域占领了一定的市场份额。 如何探索和实施商业化策略&#xff…

搜维尔科技:Manus Prime 3 Mocap数据手套,体验极致的每指触觉!

完全适用于VR虚拟现实场景 特斯拉也在使用的量子数据 Tesla 目前正在使用 MANUS Quantum Metagloves创建一个数据集&#xff0c;帮助他们训练 Tesla 机器人。 量子数据训练QUANTUM AI 我们以类似的方式使用 Quantum Metagloves 来生成一流的手指跟踪数据集&#xff0c;并将其…

GoogleNet神经网络介绍

一、简介 GoogleNet&#xff0c;也称为GoogLeNet&#xff0c;是谷歌工程师设计的一种深度神经网络结构&#xff0c;它在2014年的ImageNet图像识别挑战赛中取得了冠军。该神经网络的设计特点主要体现在其深度和宽度上&#xff0c;通过引入名为Inception的核心子网络结构&#x…

RWKV_Pytorch:支持多硬件适配的开源大语言模型推理框架

亲爱的技术探索者们&#xff0c;今天我要向大家隆重推荐一个在开源社区中崭露头角的项目——RWKV_Pytorch。这是一个基于Pytorch的RWKV大语言模型推理框架&#xff0c;它不仅具备高效的原生Pytorch实现&#xff0c;而且还扩展了对多种硬件的适配支持&#xff0c;让模型的部署和…

应用方案 | D358 高增益运算放大器,可以用于音频放大器、工业控制、DC 增益部件和所有常规运算放大电路

一、概述 D358 由两个独立的高增益运算放大器组成。可以是单电源工作&#xff0c;也可以是双电源工作&#xff0c;电源低功耗电流与电源电压大小无关。 应用范围包括音频放大器、工业控制、DC 增益部件和所有常规运算放大电路。 D358 采用 DIP8、SOP8、MSOP8 和 TSSOP8 的封装形…

振弦采集仪在地铁工程中的应用与地下结构监测

振弦采集仪在地铁工程中的应用与地下结构监测 随着城市化的快速发展&#xff0c;地铁成为现代城市交通体系的重要组成部分。地铁工程在建设过程中需要进行严格的地下结构监测&#xff0c;以确保施工过程的安全和工程质量的控制。振弦采集仪作为一种先进的监测设备&#xff0c;…

vim编辑器使用教程

前言 vim 是 Linux 系统内置的「文本编辑器」&#xff0c;用于查看或编辑文件的内容&#xff0c;学会使用 vim 编辑器&#xff0c;将在 Linux 终端中畅通无阻。 vim 的配置文件 1、 /etc/vim/vimrc 2、 ~/.vimrc 其中&#xff0c;第2个配置文件会优先加载&#xff0c;属于用…

网络套接字补充——TCP网络编程

六、TCP网络编程 6.1IP地址字符串和整数之间的转换接口 //字符串转整数接口 #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int inet_aton(const char *cp, struct in_addr *inp); int inet_pton(int af, const char *strptr, …

SWM341系列SDRAM应用

SWM341系列SDRAM应用 1、不同的时钟频率下&#xff0c;SDRAM的初始化参数设置 现象&#xff1a;驱屏应用&#xff0c;显示一段时间后出现卡住的现象 分析&#xff1a;SDRAM的初始 化参数优化 主频150Mhz,建议配置CASL 3&#xff0c;TRFC ≥8。 主频100Mhz,ClkDiv可配置为1…

Windows提权—数据库提权-mysql提权mssql提权Oracle数据库提权

目录 Windows 提权—数据库提权一、mysql提权1.1 udf提权1.1.2 操作方法一 、MSF自动化--UDF提权--漏洞利用1.1.3 操作方法二、 手工导出sqlmap中的dll1.1.4 操作方法三、 moon.php大马利用 1.2 mof提权1.3 启动项提权1.4 反弹shell 二、MSSQL提权MSSQL提权方法1.使用xp_cmdshe…

webGL开发:3D图形学概念大扫盲,恍然大悟。

一、3D图形学及常用概念 3D图形学是研究和开发用于创建、渲染和处理三维图形的学科领域。它涉及到计算机图形学、数学、物理学和计算机科学等多个学科的知识和技术。 在3D图形学中&#xff0c;主要关注的是如何使用计算机生成和呈现逼真的三维图像。这包括创建三维模型、应用材…

C++ | Leetcode C++题解之第1题两数之和

题目&#xff1a; C 题解&#xff1a; class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int, int> hashtable;for (int i 0; i < nums.size(); i) {auto it hashtable.find(target - nums[i]);if (it …

HarmonyOS NEXT应用开发案例——阻塞事件冒泡

介绍 本示例主要介绍在点击事件中&#xff0c;子组件enabled属性设置为false的时候&#xff0c;如何解决点击子组件模块区域会触发父组件的点击事件问题&#xff1b;以及触摸事件中当子组件触发触摸事件的时候&#xff0c;父组件如果设置触摸事件的话&#xff0c;如何解决父组…

护眼台灯什么牌子好一点,五大热销护眼台灯品牌推荐

台灯已成为每个家庭中不可或缺的照明设备&#xff0c;它的作用不仅限于在夜晚提供充分的光亮&#xff0c;还能迅速营造出适宜的氛围&#xff0c;为用眼提供一个更佳的环境。随着生活品质的提高&#xff0c;人们对台灯的期望也逐步升级&#xff0c;智能化和护眼功能逐渐成为消费…

达梦DMHS-Manager工具日常操作

目录 1、前言 2、同步服务管理 2.1、DMHS Agent节点管理 2.2、DMHS实例节点管理 2.3、DMHS模块节点管理 3、监控及告警 3.1、主机资源监控 3.2、同步链路监控 3.3、告警配置 4、系统管理 4.1、用户管理 4.2、角色管理 4.3、系统配置 4.4、审计信息 5、联机帮助 …