Allgemeine Einführung
KGGen ist ein Open-Source-Tool, das vom Stanford Trusted Artificial Intelligence Research Laboratory (STAIR Lab) entwickelt wurde und auf GitHub gehostet wird. Es dient der automatischen Generierung von Wissensgraphen aus beliebigen Texten. Es verwendet fortschrittliche Sprachmodelle und Clustering-Algorithmen, um unstrukturierte Textdaten in strukturierte Netzwerke von Entitäten und Beziehungen für Forscher, Entwickler und Datenanalysten umzuwandeln. Das Projekt hat seit seiner Veröffentlichung viel Aufmerksamkeit erhalten und wurde für seine Verbesserungen bei der Genauigkeit der Wissensextraktion und der Konnektivität der Graphen gelobt.1 KGGen's Hauptstärken, die Einfachheit der Bedienung und die Verlässlichkeit der Ergebnisse, wurden in der akademischen Forschung und der Entwicklung von KI-Anwendungen genutzt und wurden zuletzt am 20. Februar 2025 aktualisiert.
Funktionsliste
- Text-zu-Wissensgrafik-KonvertierungExtrahieren von Entitäten und Beziehungen aus einer beliebigen Texteingabe, um einen strukturierten Wissensgraphen zu erstellen.
- Unterstützung für mehrsprachige ModelleIntegration von Mainstream-Sprachmodellen zur Verbesserung des Textverständnisses und der Textstrukturierung.
- Optimierung von Clustering-AlgorithmenVerbesserung der Konnektivität und Logik des Wissensgraphen durch Clustering-Techniken.
- Open Source AnpassbarDer vollständige Code wird zur Verfügung gestellt, und die Benutzer können die Funktionalität nach ihren Bedürfnissen ändern und erweitern.
- DatenexportDer generierte Wissensgraph unterstützt den Export in verschiedene Formate zur späteren Analyse und Anwendung.
Hilfe verwenden
Einbauverfahren
KGGen ist ein auf Python basierendes Tool, das eine gewisse Konfiguration der Programmierumgebung für den Einsatz erfordert. Im Folgenden werden die einzelnen Installationsschritte beschrieben:
1. die Vorbereitung der Umwelt
- BetriebssystemWindows, MacOS und Linux werden unterstützt.
- Python-VersionPython 3.8 oder höher wird empfohlen.
- GitStellen Sie sicher, dass Sie Git installiert haben, um Ihre Codebasis zu klonen.
- Tools zur Verwaltung von Abhängigkeiten: Empfohlene Verwendung
pip
vielleichtconda
.
2. das Klonen der Codebasis
Klonen Sie das KGGen-Projekt lokal, indem Sie den folgenden Befehl in ein Terminal oder eine Befehlszeile eingeben:
git clone https://github.com/stair-lab/kg-gen.git
cd kg-gen
3. die Installation von Abhängigkeiten
Das Projekt bietet eine requirements.txt
Datei, die die erforderlichen Bibliotheken enthält. Führen Sie den folgenden Befehl aus, um sie zu installieren:
pip install -r requirements.txt
Wenn Sie conda
können Sie zunächst eine virtuelle Umgebung erstellen:
conda create -n kggen python=3.8
conda activate kggen
pip install -r requirements.txt
4. die Überprüfung der Installation
Sobald die Installation abgeschlossen ist, rufen Sie den Python-Interpreter auf und geben den folgenden Code ein, um den Erfolg zu überprüfen:
import kg_gen
print(kg_gen.__version__)
Wenn die Versionsnummer der Ausgabe (z.B. 1.0.0
), was eine erfolgreiche Installation anzeigt.
Verwendung
Die Hauptfunktion von KGGen ist die Erstellung von Wissensgraphen aus Text, und im Folgenden wird der spezifische Arbeitsablauf beschrieben:
1. die Vorbereitung des Eingabetextes
Erstellen Sie eine Textdatei (z. B. input.txt
), schreiben Sie den zu verarbeitenden Text. Beispiel:
人工智能正在改变世界。机器学习是人工智能的核心技术。斯坦福大学的研究团队开发了许多创新工具。
Speichern Sie die Datei unter kg-gen
Katalog.
2. laufen KGGen
Wechseln Sie im Terminal in das Projektverzeichnis und führen Sie den folgenden Befehl aus:
python -m kg_gen --input input.txt --output graph.json
--input
: Gibt den Pfad der Eingabetextdatei an.--output
Knowledge Graph: Geben Sie den Pfad zur generierten Knowledge Graph-Ausgabedatei an (JSON-Format wird unterstützt).
3. die Ergebnisse zu betrachten
Nachdem der Lauf abgeschlossen ist, öffnen Sie die graph.json
werden Sie etwa folgendes sehen:
{
"entities": ["人工智能", "机器学习", "斯坦福大学"],
"relations": [
{"source": "人工智能", "target": "机器学习", "relation": "包含"},
{"source": "斯坦福大学", "target": "创新工具", "relation": "开发"}
]
}
Das bedeutet, dass KGGen die Entität aus dem Text extrahiert und die Beziehung hergestellt hat.
4. benutzerdefinierte Konfiguration (optional)
KGGen unterstützt die Anpassung von Parametern zur Optimierung der Ergebnisse. Bearbeitung von config.py
Die Dokumentation kann, falls vorhanden, geändert werden:
- SprachmodellErsetzen durch ein anderes vortrainiertes Modell (z.B. BERT).
- Clustering-ParameterAnpassen des Schwellenwerts für das Clustering, um die Plotdichte zu ändern.
Speichern Sie und führen Sie den obigen Befehl nach der Änderung erneut aus.
Featured Function Bedienung
Stapelverarbeitung von mehreren Dateien
Wenn Sie mehrere Textdateien verarbeiten müssen, können Sie einen Skriptschleifenaufruf verwenden:
for file in *.txt; do python -m kg_gen --input "$file" --output "${file%.txt}.json"; done
Dies wird eine großartige Gelegenheit für jeden .txt
Datei erzeugt die entsprechende .json
Atlas-Datei.
Visueller Wissensgraph
KGGen hat kein eingebautes Visualisierungswerkzeug, aber Sie können Bibliotheken von Drittanbietern verwenden (z.B. networkx
im Gesang antworten matplotlib
) Kartierung:
- Installieren Sie die Abhängigkeit:
pip install networkx matplotlib
- Schreiben Sie das folgende Python-Skript (
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()
- Führen Sie das Skript aus:
python visualize.py
Eine grafische Darstellung des generierten Wissensgraphen ist zu sehen.
Fehlersuche und Protokollierung
Wenn die erzeugten Ergebnisse nicht den Erwartungen entsprechen, kann der Debug-Modus aktiviert werden:
python -m kg_gen --input input.txt --output graph.json --verbose
Dadurch wird ein detailliertes Protokoll ausgegeben, das bei der Suche nach dem Problem hilft.
caveat
- TextqualitätJe klarer der eingegebene Text ist, desto genauer sind die erzeugten Karten.
- ComputerressourceFür die Verarbeitung langer Texte kann ein größerer Arbeitsspeicher erforderlich sein, empfohlen werden mindestens 8 GB RAM.
- Update WartungÜberprüfen Sie Ihre GitHub-Repositories regelmäßig, um sicherzustellen, dass Sie die neueste Version verwenden.
Mit diesen Schritten können Sie leicht mit KGGen beginnen, strukturiertes Wissen aus Text extrahieren und es auf reale Projekte anwenden.