Ich habe einen Vektor wie der eine unten und möchte bestimmen, welche Elemente in der Liste sind menschliche Namen und welche nicht sind. Ich habe das humaniformat-Paket gefunden, das Namen formatiert, aber leider nicht feststellt, ob eine Zeichenkette tatsächlich ein Name ist. Ich habe auch ein paar Pakete für Entity-Extraktion gefunden, aber sie scheinen tatsächlichen Text für Wort-zu-Tag-Kennzeichnung zu benötigen, anstatt einen einzelnen Namen.Von der Liste der Zeichenfolgen, identifizieren, die menschliche Namen sind und die nicht sind
Beispiel
pkd.names.quotes <- c("Mr. Rick Deckard", # Name
"Do Androids Dream of Electric Sheep", # Not a name
"Roy Batty", # Name
"How much is an electric ostrich?", # Not a name
"My schedule for today lists a six-hour self-accusatory depression.", # Not a name
"Upon him the contempt of three planets descended.", # Not a name
"J.F. Sebastian", # Name
"Harry Bryant", # Name
"goat class", # Not a name
"Holden, Dave", # Name
"Leon Kowalski", # Name
"Dr. Eldon Tyrell") # Name
Mein Freund Electric Ostrich wäre schrecklich verärgert zu sehen, dass sein Name nicht wirklich ein Name ist. Sie müssen also wissen, was genau einen Namen bestimmt, richtig? Aber heutzutage nennen die Menschen ihren Kindern fast alles (in Amerika sowieso). Nehmen wir zum Beispiel Kanye Wests Kind. Sein Name ist Nordwest. Zugegeben, Kanye ist ein Idiot, das ist immer noch wahr. Wie würde das den Namenstest bestehen? –
Haha, fair genug. Ich vermute, ich würde Kanyes Namen falsch verstehen. Das ist in Ordnung, ein Fehler ist akzeptabel. Ich hoffe nur, es besser zu machen, als nur auf die Länge, die Anzahl der Leerzeichen und die Groß- und Kleinschreibung angewiesen zu sein. –
Das Stanford Entity Recognition "Modul" ist für R verfügbar. Https://rpubs.com/lmullen/nlp-chapter hat ein NLP Intro. Diese http://nlp.stanford.edu/software/CRF-NER.shtml ist die offizielle Quelle für die Java-Bibliothek und es kann möglich sein, eine Lösung daraus zu erstellen. – hrbrmstr