Frage

Ich möchte natürlichen Rohtext analysieren und alle Phrasen finden, die Datumsangaben beschreiben.

Ich habe einen ziemlich großen Korpus mit allen Verweisen auf markierte Daten:

I met him <date>yesterday</date>.
Roger Zelazny was born <date>in 1937</date>
He'll have a hell of a hangover <date>tomorrow morning</date>

Ich möchte die Datumsphrasen nicht interpretieren, sondern nur lokalisieren.Die Tatsache, dass es sich um Datumsangaben handelt, ist irrelevant (im wirklichen Leben sind es nicht einmal Datumsangaben, aber ich möchte Sie nicht mit den Details langweilen), im Grunde handelt es sich lediglich um eine offene Menge möglicher Werte.Die Grammatik der Werte selbst kann als kontextfrei angenähert werden, die manuelle Erstellung ist jedoch ziemlich kompliziert und mit zunehmender Komplexität wird es immer schwieriger, Fehlalarme zu vermeiden.

Ich weiß, dass dies ein etwas weit hergeholter Ansatz ist, daher erwarte ich nicht, dass es eine sofort einsatzbereite Lösung gibt, aber welche Technologie oder Forschung kann ich möglicherweise nutzen?

War es hilfreich?

Lösung

Einer der generischen Ansätze, die in Wissenschaft und Industrie verwendet werden, basiert auf bedingten Zufallsfeldern.Im Grunde handelt es sich um ein spezielles probabilistisches Modell, das Sie zunächst mit Ihren markierten Daten trainieren und dann bestimmte Arten von Entitäten in einem bestimmten Text kennzeichnen können.

Sie können sogar eines der Systeme der Stanford Natural Language Processing Group ausprobieren: Stanford zum Entity Recognizer ernannt

Beachten Sie beim Herunterladen des Tools, dass es mehrere Modelle gibt. Sie benötigen das letzte:

Im Stanford Ner sind ein 4 -Klassen -Modell enthalten, das für CONLL ausgebildet ist, ein für MUC ausgebildeter 7 -Klasse -Modell und ein 3 -Klasse -Modell, das auf beiden Datensätzen für den Schnittpunkt dieser Klassensätze ausgebildet ist.

3. Klasse Ort, Person, Organisation

4. Klasse Ort, Person, Organisation, Sonstiges

7. Klasse Zeit, Ort, Organisation, Person, Geld, Prozent, Datum

Aktualisieren. Sie können dieses Tool tatsächlich ausprobieren online hier.Wähle aus muc.7class.distsim.crf.ser.gz Klassifikator und versuchen Sie es mit Text mit Datumsangaben.Es scheint „gestern“ nicht zu erkennen, aber es erkennt beispielsweise „20. Jahrhundert“.Letztlich ist dies eine Frage des CRF-Trainings.


Stanford NER screenshot

Andere Tipps

Denken Sie daran, dass CRFs eher langsam trainiert und benötigt, um menschliche Annotierte Daten zu erfordern, so dass es selbst selbst nicht einfach ist.Lesen Sie die Antworten auf Dies für ein anderes BeispielWie Menschen oft in der Praxis tun - nicht viel gemeinsam mit der aktuellen akademischen Forschung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top