2017-02-23 1 views
0

Ich trainiere mein NER zu dem Entitätstyp Phonenumber, dessen Wortart Nummer ist. Wenn ich jedoch die gleichen Daten ausprobiere, die ich trainiert habe, wird die Telefonnummer vom Klassifizierer nicht identifiziert. enter image description hereStanford NER - Nicht identifizierbar Telefonnummer

Ist das, weil die Wortart (POS) der Telefonnummer Nummer (CD) ist?

Antwort

0

Sie könnten stattdessen regexner für diesen Anwendungsfall verwenden.

Satz Betrachten (Put es in Telefonnummer-example.txt):

You can reach the office at 555 555-5555.

Wenn Sie ein regexner Regeln wie diese Datei machen (beachten Sie jede Spalte Tab getrennt)

[0-9]{3}\W[0-9]{3}-[0-9]{4}  PHONE_NUMBER MISC,NUMBER  1 

Und diesen Befehl ausführen:

java -Xmx8g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,regexner -regexner.mapping phone_number.rules -file phone-number-example.txt -outputFormat text 

Er identifiziert die Telefonnummer in der Ausgabe-NER-Kennzeichnung.

Ein Problem, auf das man achten sollte. Sie werden bemerken, dass der Tokenizer "555 555-5555" zu einem Token macht. Die erste Spalte der Regeldatei ist eine Regex, die einem Token entspricht. Die Regexner-Muster sind eine durch Leerzeichen getrennte Liste von Mustern, die mit jedem Token übereinstimmen, das Sie mit ner Tag-Kennzeichnung versehen möchten.

Also in diesem Beispiel hat die Regel, die ich gemacht habe, ein "\ W", um den Raum zu erfassen. Die Regel funktionierte nicht, wenn ich "\ s" usw. verwendete. Also denke ich, dass es ein Problem beim Schreiben von Regexen für Token gibt, die Leerzeichen enthalten. In der Regel enthalten Tokens keine Leerzeichen.

Sie möchten dies vielleicht umgehen, indem Sie "\ W" erweitern und andere Zeichen ausschließen, die Sie nicht möchten, da "\ W" nur Nicht-Wortzeichen bedeutet. Außerdem können Sie das Muster, das ich gerade aufgelistet habe, offensichtlich komplizierter machen und die verschiedenen Telefonnummernmuster erfassen.

Weitere Informationen über RegexNER sind hier zu finden:

http://nlp.stanford.edu/software/regexner.html

+0

Thnaks für die Antwort. Ich werde es auf diese Weise versuchen. Prost :) –

Verwandte Themen