2010-04-24 14 views
5

Ich muss Sätze im RDF-Format darstellen.RDF-Darstellung der Sätze

Mit anderen Worten: „John mag Koks“ automatisch dargestellt werden würde:

Subject : John 
Predicate : Likes 
Object : Coke 

Weiß jemand, wo ich anfangen soll? Gibt es irgendwelche Programme, die dies automatisch tun können oder müsste ich alles von Grund auf neu machen?

+2

Beachten Sie, dass dies immer noch ein aktives Forschungsgebiet ist.Die besten Parser tendieren dazu, gut auf kleinen Sätzen zu funktionieren, wie in Ihrem Beispiel, werden aber bei "echten" Sätzen kläglich versagen. – Cerin

+0

Könnten Sie uns die beabsichtigte Darstellung eines echten, mehr als 10 Wörter langen Satzes geben? (zB "Anarchismus ist eine politische Philosophie, die sich für staatenlose Gesellschaften ausspricht, die oft als selbstverwaltete freiwillige Institutionen definiert werden.") [Diese Frage] (http://stackoverflow.com/questions/3408867/representsenting-natural-language-as-rdf ? Rq = 1) sieht aus wie fragen, wie viel von dem, was Sie fragen, ist machbar, und die Antwort ist nicht viel. –

Antwort

10

Es sieht so aus, als ob Sie die typisierten Abhängigkeiten eines Satzes, z. für John likes coke:

nsubj(likes-2, John-1) 
dobj(likes-2, coke-3) 

Ich bin nicht bekannt, dass die Abhängigkeit Parser, der RDF direkt erzeugt. Viele von ihnen erzeugen jedoch Parsen in einer standardisierten, tabulatorbegrenzten Darstellung, die als CoNLL-X bekannt ist, und es sollte nicht zu schwierig sein, von CoNLL-X in RDF zu konvertieren.

Open Source Abhängigkeit Parser

Es gibt eine Reihe von Parsern aus diesem Extrakt getippt Abhängigkeiten, einschließlich den folgenden state-of-art Open-Source-Optionen zur Auswahl:

Die Stanford Parser enthält eine vortrainiert Modell Englisch für die Analyse. Um typisierte Abhängigkeiten zu erhalten, müssen Sie das Flag -outputFormat typedDependencies verwenden.

Für den MaltParser können Sie ein englisches Modell here herunterladen.

Der MSTParser enthält ein kleines 200-Satz-Englisch-Lernset, mit dem Sie Ihr eigenes Englisch-Parsing-Modell erstellen können. Das Training dieser kleinen Daten beeinträchtigt jedoch die Genauigkeit des resultierenden Parsers. Wenn Sie sich für die Verwendung dieses Parsers entscheiden, ist es wahrscheinlich besser, das Pretrain-Modell here zu verwenden.

Alle oben verlinkten vortrainierten Modelle erzeugen nach dem Stanford-Dependency-Formalismus (ACL paper und) Parsen.

Von diesen dreien ist der Stanford-Parser die genaueste. Der MaltParser ist der schnellste, wobei einige Konfigurationen dieses Pakets parsen können.

2

Eine Möglichkeit ist, Ausgabe von Link Parser, erhältlich unter einer GPL-kompatibelen Lizenz zu verwenden. Sie können eine Übersetzungsschicht zwischen diesen Ausgaben und Ihren RDF-Knoten nach Bedarf definieren.

Check out this demo auf "John mag Koks" Beispiel!