Die Stanford NLP, demo'd hier , gibt einen Ausgang wie folgt aus :
Colorless/JJ green/JJ ideas/NNS sleep/VBP furiously/RB ./.
Was bedeuten die Part of Speech-Tags? Ich kann keine offizielle Liste finden. Ist es Stanfords eigenes System oder verwenden sie universelle Tags? (Was ist JJ
zum Beispiel?)
Wenn ich zum Beispiel die Sätze durchlaufe und nach Substantiven suche, überprüfe ich am Ende, ob das Tag vorhanden ist .contains('N')
. Das fühlt sich ziemlich schwach an. Gibt es eine bessere Möglichkeit, programmgesteuert nach einem bestimmten Teil der Sprache zu suchen?
java
nlp
stanford-nlp
part-of-speech
Nick Heiner
quelle
quelle
.starts_with('N')
eher als verwendencontains
, da 'IN' und 'VBN' auch 'N' enthalten. Und das ist wahrscheinlich der beste Weg, um herauszufinden, welche Wörter der Tagger für Substantive hält.Antworten:
Das Penn Treebank Projekt . Schauen Sie sich die Teil-der-Sprache-Kennzeichnung ps an.
JJ ist ein Adjektiv. NNS ist Substantiv, Plural. VBP ist Verb Präsens. RB ist Adverb.
Das ist für Englisch. Für Chinesen ist es die Penn Chinese Treebank. Und für Deutsch ist es das NEGRA-Korpus.
quelle
quelle
In der oben akzeptierten Antwort fehlen die folgenden Informationen:
Es sind auch 9 Interpunktions-Tags definiert (die in einigen Referenzen nicht aufgeführt sind, siehe hier ). Diese sind:
quelle
Hier ist eine vollständigere Liste von Tags für die Penn Treebank (der Vollständigkeit halber hier veröffentlicht):
http://www.surdeanu.info/mihai/teaching/ista555-fall13/readings/PennTreebankConstituents.html
Es enthält auch Tags für Klausel- und Phrasenebenen.
Klauselebene
Phrasenebene
(Beschreibungen im Link)
quelle
Nur für den Fall, dass Sie es codieren wollten ...
quelle
Ich stelle hier die gesamte Liste zur Verfügung und gebe auch einen Referenzlink an
Die gesamte Liste der Teile von Speech of Tags finden Sie hier .
quelle
In Bezug auf Ihre zweite Frage, ob Sie ein bestimmtes Wort / einen Block mit POS-Tags (z. B. Nomen) finden, finden Sie hier den Beispielcode, dem Sie folgen können.
Die Ausgabe ist:
quelle
Es scheinen Brown Corpus-Tags zu sein .
quelle
Stanford CoreNLP Tags für andere Sprachen: Französisch, Spanisch, Deutsch ...
Ich sehe, dass Sie den Parser für die englische Sprache verwenden, der das Standardmodell ist. Sie können den Parser auch für andere Sprachen (Französisch, Spanisch, Deutsch ...) verwenden. Beachten Sie, dass sowohl Tokenizer als auch Teile von Sprach-Taggern für jede Sprache unterschiedlich sind. Wenn Sie dies tun möchten, müssen Sie das spezifische Modell für die Sprache herunterladen (z. B. mit einem Builder wie Maven) und dann das Modell festlegen, das Sie verwenden möchten. Hier Sie weitere Informationen dazu.
Hier sind Listen von Tags für verschiedene Sprachen:
TAGS FÜR FRANZÖSISCH:
Teil von Speech Tags für Französisch
Phrasal Categories Tags für Französisch:
Syntaktische Funktionen für Französisch:
quelle
In spacy war es sehr schnell, ich denke, in nur einem Low-End-Notebook wird es so laufen:
Die Ausgabe in mehreren Versuchen:
Ich denke, Sie müssen sich nicht um die Schleife bei jeder POS-Tag-Prüfung kümmern :)
Weitere Verbesserungen, die ich erhalten habe, wenn bestimmte Pipelines deaktiviert wurden:
Das Ergebnis ist also schneller:
quelle