Biblioteca GROBID: instalación y uso

1. Instalación y uso de Grobid
(1) Introducción a Grobid

Documentación oficial: Introducción - Documentación GROBID

GROBID (o GROBID) es Generación de Datos BIbliográficos.

GROBID es una biblioteca de aprendizaje automático para extraer, analizar y reconstruir documentos sin formato (como PDF) en documentos estructurados codificados en XML/TEI, con un enfoque especial en publicaciones técnicas y científicas. El desarrollo inicial comenzó en 2008 como un pasatiempo. En 2011, la herramienta estuvo disponible como código abierto. El trabajo en GROBID se ha estabilizado desde su inicio como un proyecto paralelo y se espera que continúe.

(2) Instalación del programa

Según el documento oficial en inglés Install GROBID - Documentación de GROBID

Realizamos las siguientes operaciones para la instalación del programa.

Ingrese a GitHub grobid para descargar la versión de lanzamiento

inserte la descripción de la imagen aquí

Una vez completada la descompresión, ingrese el directorio del archivo descomprimido

inserte la descripción de la imagen aquí

Ingrese gradlew clean install en la línea de comando

inserte la descripción de la imagen aquí

Presencia de punto y coma encontrada después de la verificación no válida de la ruta JAVA_HOME

Después de eliminar el punto y coma, el problema se resolvió.

inserte la descripción de la imagen aquí

Inicie la instalación automática de archivos jar relacionados.

Aparecerá un mensaje después de que se complete la instalación.

inserte la descripción de la imagen aquí

(3) cmd ejecutar

El método de operación se encuentra en el documento Servicio GROBID - Documentación GROBID

Ingrese gradlew run en la línea de comando para comenzar a ejecutar el programa

inserte la descripción de la imagen aquí

No necesita cargar al 100% Vaya al navegador para probar la API cuando vea que la barra de progreso no se mueve

El puerto predeterminado es http://localhost:8070/

Después de ingresar, podemos ver la siguiente interfaz:

inserte la descripción de la imagen aquí

(4) Uso en la Web

La interfaz es relativamente simple Tomando PDF como ejemplo, cargué un pdf y analicé su información de encabezado para producir resultados normales.

inserte la descripción de la imagen aquí

2. Llamada de Grobid: procesamiento por lotes de PDF
(1) Adquisición de secuencias de comandos API

Si no desea usar la web para analizar PDF directamente, debe llamar a través de la API.

De hecho, los desarrolladores también recomiendan el uso de API.Después de todo, el procesamiento por lotes no se puede realizar en el lado web.

Entonces es demasiado ineficiente manejar decenas de miles de archivos PDF.

inserte la descripción de la imagen aquí

El sitio web oficial proporciona tres tipos de interfaces de llamadas API, incluido Python Java Node.js. Elijo usar Python.

Descargue el archivo del proyecto aquí https://github.com/kermitt2/grobid-client-python

inserte la descripción de la imagen aquí

Descomprima y hay varios archivos py

inserte la descripción de la imagen aquí

y algunos casos de prueba

Leemos el archivo readme.md que proporciona, resumido de la siguiente manera

  • Este cliente de Python puede procesar simultáneamente un conjunto de archivos PDF en un directorio determinado del sistema de archivos, escribir los resultados en un directorio de salida determinado o llamarlo desde otro programa de Python.
  • Para usar este cliente, primero debe ejecutar gradlew run en la línea de comando y abrir correctamente el puerto web.
  • No se requieren otras bibliotecas dependientes para usar este cliente, pero se requiere python3.5 y superior.
(2) método de llamada

Hay dos formas de usar el cliente en la documentación oficial.


1. Línea de comando

Ingrese al entorno de línea de comando cmd

inserte la descripción de la imagen aquí

Ruta al cliente de python

cd grobid_client_python

Inicializar el entorno

python3 setup.py install

La ejecución del comando de análisis debe especificar la ruta de entrada, la ruta de salida y el método de análisis.

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

secuencia de comandos 2.python

O ejecute el siguiente código directamente (tenga en cuenta la posición relativa del paquete y el paquete directamente)

Capaz de leer todos los archivos pdf en recursos/en

Generar el archivo xml correspondiente en recursos/fuera

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)
3.BAD_INPUT_DATA] La conversión de PDF a XML falló con el código de error: 99 Motivo del error
(1) Causa del error

El uso del sistema Windows para acceder a la terminal web dará como resultado el siguiente error

inserte la descripción de la imagen aquí

Al consultar en github y volver a leer la documentación oficial durante una hora, descubrí que el programa ya no es compatible con la plataforma Windows.

Los desarrolladores del programa dijeron en debates comunitarios que admitir tres plataformas era demasiado trabajo para ellos.

Documentación oficial:

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调用系统。

El desarrollador respondió:

Enlace del sitio: [ BAD_INPUT_DATA] La conversión de PDF a XML falló con el código de error: 99 · Problema #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) Sugerencias de soluciones

1. Compre una computadora Apple

2. Cree un entorno virtual como Linux a través de programas como Docker / VMware Workstation

Consulte la publicación de blog Biblioteca GROBID: la conversión de PDF a XML falló con el código de error: resolución de error 99

3. Busque una biblioteca de aprendizaje automático con funciones similares que puedan extraer y analizar PDF.

Supongo que te gusta

Origin blog.csdn.net/yt266666/article/details/127452708
Recomendado
Clasificación