Natural Language-Parser zum Analysieren von Sport-Play-by-Play-Daten

9

Ich versuche, einen Parser für Fußballspiele zu finden. Ich benutze den Begriff "natürliche Sprache" hier sehr locker, also bitte ertragen Sie mit mir, da ich über diesen Bereich wenig bis nichts weiß.

Hier sind einige Beispiele, mit denen ich arbeite (Format: TIME | DOWN & amp; DIST | OFF_TEAM | DESCRIPTION):

%Vor%

Ab sofort habe ich einen dummen Parser geschrieben, der all die einfachen Dinge (playID, viertel, zeit, down & amp; distance, offensives Team) zusammen mit einigen Skripten verarbeitet, die diese Daten erhalten und in das Format bereinigen oben gesehen. Eine einzelne Zeile wird zu einem "Play" -Objekt, das in einer Datenbank gespeichert wird.

Der schwierige Teil hier (zumindest für mich) ist die Analyse der Beschreibung des Spiels. Hier sind einige Informationen, die ich aus dieser Zeichenfolge extrahieren möchte:

Beispielzeichenfolge:

%Vor%

Ergebnis:

%Vor%

Die Logik, die ich für meinen ersten Parser hatte, ging ungefähr so:

%Vor%

Die Beschreibungen können ziemlich haarig werden (mehrere Fumbles und Wiederherstellungen mit Strafen, etc.) und ich frage mich, ob ich einige NLP-Module da draußen nutzen könnte. Wahrscheinlich werde ich ein paar Tage auf einer dummen / statischen State-Machine wie Parser verbringen, aber wenn jemand Vorschläge hat, wie man es mithilfe von NLP-Techniken angehen kann, würde ich gerne von ihnen hören.

    
Jon 20.11.2011, 02:05
quelle

2 Antworten

4

Ich denke, Pyparssing wäre hier sehr nützlich.

Ihr Eingabetext sieht sehr regelmäßig aus (anders als echte natürliche Sprache), und Pyparsing ist großartig in diesem Zeug. Sie sollten es sich ansehen.

Zum Beispiel die folgenden Sätze analysieren:

%Vor%

Sie würden einen Syntax-Satz mit etwas wie (suchen Sie nach exakter Syntax in Dokumenten) definieren:

%Vor%

Und pyparsing würde Saiten mit diesem Muster brechen. Es wird auch ein Wörterbuch mit den Artikeln Name, Aktion und Entfernung - aus dem Satz extrahiert.

    
Alex Brooks 20.11.2011 12:22
quelle
0

Ich kann mir vorstellen, dass das Puparssing ziemlich gut funktionieren würde, aber regelbasierte Systeme sind ziemlich brüchig. Also, wenn Sie über den Fußball hinausgehen, könnten Sie in Schwierigkeiten geraten.

Ich denke, eine bessere Lösung für diesen Fall wäre ein Teil des Rede-Tags und ein Lexikon (Lesewörterbuch) von Spielernamen, Positionen und anderer Sportterminologie. Dump es in Ihre Lieblings-Machine Learning-Tool, herauszufinden, gute Funktionen und ich denke, es würde ziemlich gut tun.

NTLK ist ein guter Startpunkt für NLP. Leider ist das Feld nicht sehr entwickelt und es gibt kein Tool da draußen, das wie Bam, Problem gelöst, einfach kitschig ist.

    
nflacco 06.12.2011 19:17
quelle

Tags und Links