Sprachverarbeitung 100 Klopfen 2015 ["Kapitel 6: Englische Textverarbeitung"](http: //www.cl.ecei) .tohoku.ac.jp / nlp100 / # ch6) 55. "Extraktion eindeutiger Ausdrücke". Diesmal die Extraktion eindeutiger Ausdrücke. Extrahieren Sie den Namen der Person, eine Art eindeutigen Ausdrucks. Das Programm ist einfach mit 3 Schritten. Stanford Core NLP kann dies leicht tun.
Verknüpfung | Bemerkungen |
---|---|
055.Einzigartige Ausdrucksextraktion.ipynb | Antwortprogramm GitHub Link |
100 Klicks Amateur-Sprachverarbeitung:55 | Kopieren Sie die Quelle vieler Quellteile und fügen Sie sie ein |
Stanford Core NLP Beamter | Schauen Sie sich zuerst die Stanford Core NLP-Seite an |
Art | Ausführung | Inhalt |
---|---|---|
OS | Ubuntu18.04.01 LTS | Es läuft virtuell |
pyenv | 1.2.16 | Ich benutze pyenv, weil ich manchmal mehrere Python-Umgebungen benutze |
Python | 3.8.1 | python3 auf pyenv.8.Ich benutze 1 Pakete werden mit venv verwaltet |
Stanford CoreNLP | 3.9.2 | Ich habe es vor einem Jahr installiert und erinnere mich nicht im Detail ... Es war das Neueste auch nach einem Jahr, also habe ich es so benutzt, wie es war |
openJDK | 1.8.0_242 | Ich habe das JDK, das installiert wurde, für andere Zwecke verwendet |
Ein Überblick über verschiedene grundlegende Technologien für die Verarbeitung natürlicher Sprache durch englische Textverarbeitung mit Stanford Core NLP.
Stanford Core NLP, Stemming, Teilwort-Tagging, Extraktion eindeutiger Ausdrücke, Co-Referenzanalyse, Abhängigkeitsanalyse, Klauselstrukturanalyse, S-Ausdruck
Führen Sie die folgende Verarbeitung für den englischen Text durch (nlp.txt).
Extrahieren Sie alle Personennamen im Eingabetext.
import xml.etree.ElementTree as ET
XPATH = './document/sentences/sentence/tokens/token[NER="PERSON"]'
print([ token.findtext('word') for token in ET.parse('./nlp.txt.xml').iterfind(XPATH)])
Wenn der Wert des Tags "
Ausgabe | 1. Ebene | Zweites Level | Drittes Level | 4. Stufe | 5. Stufe | 6. Stufe | 7. Stufe |
---|---|---|---|---|---|---|---|
Wort | root | document | sentences | sentence | tokens | token | word |
Einzigartiger Ausdruck | root | document | sentences | sentence | tokens | token | NER |
Die XML-Datei lautet [GitHub](https://github.com/YoheiFukuhara/nlp100/blob/master/06.%E8%8B%B1%E8%AA%9E%E3%83%86%E3%82%AD% E3% 82% B9% E3% 83% 88% E3% 81% AE% E5% 87% A6% E7% 90% 86 / nlp.txt.xml).
xml:nlp.txt.xml(Auszug)
<root>
<document>
<docId>nlp.txt</docId>
<sentences>
<sentence id="1">
--Unterlassung--
<tokens>
<token id="4">
<word>Alan</word>
<lemma>Alan</lemma>
<CharacterOffsetBegin>636</CharacterOffsetBegin>
<CharacterOffsetEnd>640</CharacterOffsetEnd>
<POS>NNP</POS>
<NER>PERSON</NER>
<Speaker>PER0</Speaker>
Alles was Sie tun müssen, ist XPATH an die Funktion iterfind
im Paket xml
zu übergeben.
Wenn das Programm ausgeführt wird, werden die folgenden Ergebnisse ausgegeben.
Ausgabeergebnis
['Alan', 'Turing', 'Joseph', 'Weizenbaum', 'MARGIE', 'Schank', 'Wilensky', 'Meehan', 'Lehnert', 'Carbonell', 'Lehnert', 'Racter', 'Jabberwacky', 'Moore']
Recommended Posts