KG Gen: herramienta de código abierto para la generación automática de grafos de conocimiento a partir de texto plano

Introducción general

KGGen es una herramienta de código abierto desarrollada por el Stanford Trusted Artificial Intelligence Research Laboratory (STAIR Lab), alojada en GitHub, diseñada para generar automáticamente grafos de conocimiento a partir de texto arbitrario. Utiliza modelos lingüísticos avanzados y algoritmos de agrupación para transformar datos textuales no estructurados en redes estructuradas de entidades y relaciones para investigadores, desarrolladores y analistas de datos. El proyecto ha recibido atención desde su lanzamiento y ha sido elogiado por sus mejoras en la precisión de la extracción de conocimiento y la conectividad de los grafos.Los principales puntos fuertes de KGGen, la sencillez de funcionamiento y la fiabilidad de los resultados, se han utilizado en la investigación académica y el desarrollo de aplicaciones de IA, y se actualizó por última vez el 20 de febrero de 20251.

KG Gen:从纯文本中自动生成知识图谱的开源工具

 

Lista de funciones

  • Conversión de texto en gráficos de conocimientoExtraer entidades y relaciones de una entrada textual arbitraria para generar un grafo de conocimiento estructurado.
  • Soporte para modelos multilingües: Integrar modelos lingüísticos dominantes para mejorar la comprensión y estructuración de textos.
  • Optimización de los algoritmos de agrupaciónMejora de la conectividad y la lógica del grafo del conocimiento mediante técnicas de agrupación.
  • Código abierto personalizableSe proporciona el código completo, y los usuarios pueden modificar y ampliar la funcionalidad según sus necesidades.
  • Exportación de datosEl gráfico de conocimiento generado se puede exportar a múltiples formatos para su posterior análisis y aplicación.

 

Utilizar la ayuda

Proceso de instalación

KGGen es una herramienta basada en Python que requiere cierta configuración del entorno de programación para su despliegue. A continuación se detallan los pasos de instalación:

1. Preparación medioambiental

  • sistema operativoCompatible con Windows, MacOS y Linux.
  • Versión PythonSe recomienda Python 3.8 o superior.
  • GitAsegúrate de tener instalado Git para clonar tu código base.
  • Herramientas de gestión de dependenciasUso recomendado pip tal vez conda.

2. Clonación del código base

Clone el proyecto KGGen localmente introduciendo el siguiente comando en un terminal o línea de comandos:

git clone https://github.com/stair-lab/kg-gen.git
cd kg-gen

3. Instalación de dependencias

El proyecto ofrece un requirements.txt que contiene las bibliotecas de dependencias necesarias. Ejecute el siguiente comando para instalarlas:

pip install -r requirements.txt

Si utiliza condapuede crear primero un entorno virtual:

conda create -n kggen python=3.8
conda activate kggen
pip install -r requirements.txt

4. Verificación de la instalación

Una vez finalizada la instalación, vaya al intérprete de Python e introduzca el siguiente código para comprobar si ha tenido éxito:

import kg_gen
print(kg_gen.__version__)

Si el número de versión de salida (p. ej. 1.0.0), lo que indica que la instalación se ha realizado correctamente.

Utilización

La función principal de KGGen es generar grafos de conocimiento a partir de texto, y el siguiente es el proceso específico de funcionamiento:

1. Preparación del texto de entrada

Cree un archivo de texto (por ejemplo input.txt), escriba el texto que desea procesar. Ejemplo:

人工智能正在改变世界。机器学习是人工智能的核心技术。斯坦福大学的研究团队开发了许多创新工具。

Guarde el archivo en kg-gen Catálogo.

2. Ejecutar KGGen

Vaya al directorio del proyecto en el terminal y ejecute el siguiente comando:

python -m kg_gen --input input.txt --output graph.json
  • --inputEspecifica la ruta del archivo de texto de entrada.
  • --outputEspecifique la ruta al archivo de salida del gráfico de conocimiento generado (se admite el formato JSON).

3. Visualización de los resultados

Una vez finalizada la ejecución, abra el graph.jsonverá algo como lo siguiente:

{
"entities": ["人工智能", "机器学习", "斯坦福大学"],
"relations": [
{"source": "人工智能", "target": "机器学习", "relation": "包含"},
{"source": "斯坦福大学", "target": "创新工具", "relation": "开发"}
]
}

Esto significa que KGGen ha extraído la entidad del texto y ha establecido la relación.

4. Configuración personalizada (opcional)

KGGen permite ajustar los parámetros para optimizar los resultados. Edición de config.py La documentación, en su caso, podrá modificarse:

  • modelo lingüísticoSustituir por otro modelo preentrenado (por ejemplo, BERT).
  • parámetro de agrupaciónAjuste el umbral de agrupación para modificar la densidad de la trama.
    Guarde los cambios y vuelva a ejecutar el comando anterior.

Función destacada Operación

Tratamiento por lotes de varios archivos

Si necesita procesar varios archivos de texto, puede utilizar una llamada de bucle de script:

for file in *.txt; do python -m kg_gen --input "$file" --output "${file%.txt}.json"; done

Será una gran oportunidad para que cada .txt genera el archivo .json Archivo Atlas.

Gráfico visual de conocimientos

KGGen no tiene una herramienta de visualización incorporada, pero puede utilizar bibliotecas de terceros (como la biblioteca networkx responder cantando matplotlib) Asignación:

  1. Instale la dependencia:
pip install networkx matplotlib
  1. Escriba el siguiente script en Python (visualize.py):
import json
import networkx as nx
import matplotlib.pyplot as plt
with open('graph.json', 'r') as f:
data = json.load(f)
G = nx.DiGraph()
for rel in data['relations']:
G.add_edge(rel['source'], rel['target'], label=rel['relation'])
pos = nx.spring_layout(G)
nx.draw(G, pos, with_labels=True, node_color='lightblue', font_size=10)
edge_labels = nx.get_edge_attributes(G, 'label')
nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels)
plt.show()
  1. Ejecuta el script:
python visualize.py

Se puede ver una representación gráfica del grafo de conocimiento generado.

Depuración y registro

Si los resultados generados no son los esperados, se puede activar el modo de depuración:

python -m kg_gen --input input.txt --output graph.json --verbose

Esto generará un registro detallado para ayudar a localizar el problema.

advertencia

  • Calidad del texto: Cuanto más claro sea el texto de entrada, más precisos serán los mapas generados.
  • recurso informático: Puede que se necesite más memoria para procesar textos largos, se recomiendan al menos 8 GB de RAM.
  • Actualizar el mantenimientoRevisa tus repositorios de GitHub con regularidad para asegurarte de que utilizas la última versión.

Con estos pasos, podrá iniciarse fácilmente en KGGen, extraer conocimiento estructurado del texto y aplicarlo a proyectos reales.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...