Wie extrahiere ich mithilfe von maschinellem Lernen bestimmte Informationen aus Text?

7

Angenommen, ich habe einen Text wie den folgenden, der normalerweise 2/3 Sätze und 100-200 Zeichen enthält.

Johny kaufte 50 Dollar Milch von Walmart. Jetzt hat er nur noch 20 Dollar übrig.

Ich möchte extrahieren

Name der Person: Johny

Verbrauchte: 50 Dollar

Geld übrig: 20 Dollar.

Verbrachte wo: Walmart.

Ich habe viel Material über das wiederkehrende neuronale Netzwerk durchgesehen. Habe das Video cs231n auf RNN gesehen und die nächste Zeichenvorhersage verstanden. In diesen Fällen haben wir 26 Zeichen, die wir als Ausgabeklassen verwenden können, um das nächste Zeichen mithilfe der Wahrscheinlichkeit zu finden. Aber hier scheint das Problem ganz anders zu sein, weil wir die Ausgabeklassen nicht kennen. Die Ausgabe hängt von den Wörtern und Zahlen im Text ab, bei denen es sich um beliebige Wörter oder Zahlen handeln kann.

Ich habe auf Quora gelesen, dass das Faltungsnetzwerk auch Merkmale im Text extrahieren kann. Sie fragen sich, ob dies auch dieses spezielle Problem lösen kann?

Tahlil
quelle
2
Computerlinguistik ist ein äußerst intensives Gebiet, in dem nicht unbedingt angegeben ist, wie viel jemand ausgegeben hat. Es findet stattdessen Dinge wie das Finden von Subjekten, Verben, indirekten Objekten usw. Es stützt sich stark auf eine starke Grundlage in der Satzstruktur und den „Arten“ von Wörtern. Nach dem, was ich auf diesem Gebiet gelesen habe, verwenden Modelle für Computerlinguistik mehrere Modelle gleichzeitig, um die Art von Ziel zu erreichen, nach dem Sie suchen.
Ryan Honea

Antworten:

8

Das Problem, das Sie hier aufwerfen, wird als NER (Named Entity Recognition) oder Named Entity Extraction bezeichnet.

Es gibt mehrere Technologien (nicht notwendige neuronale Netze), die für dieses Problem verwendet werden können, und einige von ihnen sind ziemlich ausgereift. In diesem Repo finden Sie eine einfach zu Plug-in-Lösung, oder versuchen Sie, die ne_chunk_sentsFunktion aus dem NLTKModul in Python anzuwenden .

David Dale
quelle
1

Ich denke, Sie könnten sich mit dem Parsen von Abhängigkeiten befassen . Ihre Faktentupel könnten aus Kanten im Abhängigkeitsdiagramm extrahiert werden.

Geben Sie hier die Bildbeschreibung ein

PS1 Wenn Sie etwas mit NLP tun möchten, sollten Sie cs224n und nicht cs231n überprüfen. Ich erinnere mich auch, dass cs224 einen Abschnitt über DL zum Parsen von Abhängigkeiten enthält.

PS2 Der Abhängigkeitsbaum stammt aus dem Stanford Neural Network Dependency Parser

Jakub Bartczuk
quelle