Directorio de artículos
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
Una vez completada la descompresión, ingrese el directorio del archivo descomprimido
Ingrese gradlew clean install en la línea de comando
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ó.
Inicie la instalación automática de archivos jar relacionados.
Aparecerá un mensaje después de que se complete la instalación.
(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
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:
(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.
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.
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
Descomprima y hay varios archivos py
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
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
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.