Ich habe einige einfache semantische Netzwerkimplementierungen und grundlegende Techniken zum Parsen der natürlichen Sprache studiert. Ich habe jedoch nicht viele Projekte gesehen, die versuchen, die Kluft zwischen den beiden zu überbrücken.Probabilistische Generierung von Semantischen Netzwerken
Betrachten wir zum Beispiel den Dialog:
"the man has a hat"
"he has a coat"
"what does he have?" => "a hat and coat"
Ein einfaches semantisches Netz, auf dem Grammatikbaum Parsing der obigen Sätze basiert, könnte wie folgt aussehen:
the_man = Entity('the man')
has = Entity('has')
a_hat = Entity('a hat')
a_coat = Entity('a coat')
Relation(the_man, has, a_hat)
Relation(the_man, has, a_coat)
print the_man.relations(has) => ['a hat', 'a coat']
jedoch diese Implementierung übernimmt das Vorwissen, dass die Textsegmente "der Mann" und "er" sich auf die gleiche Netzwerkeinheit beziehen.
Wie würden Sie ein System entwerfen, das diese Beziehungen zwischen Segmenten eines semantischen Netzwerks "lernt"? Ich bin es gewohnt, über ML/NL-Probleme nachzudenken, basierend auf der Erstellung eines einfachen Trainingssatzes von Attribut/Wert-Paaren, und füttere es einem Klassifizierungs- oder Regressionsalgorithmus, aber ich habe Probleme, dieses Problem auf diese Weise zu formulieren.
Letztendlich scheint es, dass ich Wahrscheinlichkeiten über dem semantischen Netzwerk überlagern müsste, aber das würde eine Implementierung drastisch verkomplizieren. Gibt es einen Stand der Technik in dieser Richtung? Ich habe mir ein paar Bibliotheken angeschaut, wie NLTK und OpenNLP, und obwohl sie anständige Werkzeuge haben, um mit symbolischer Logik umzugehen und natürliche Sprache zu parsen, scheint keiner von ihnen irgendeine Art von proababliltischem Rahmen zu haben, um den einen in den anderen zu konvertieren.
PR-OWL sieht interessant aus, in dem sie realisiert haben, dass ein nutzbares semantisches Netzwerk mit Unsicherheit umgehen muss. Wie auch immer, ich mochte OWL nie, weil mir nie klar war, wie sie Entitäten verdinglichen. Außerdem, wie Sie bereits erwähnt haben, scheint das Projekt an dieser Stelle nicht wirklich veröffentlicht zu sein. – Cerin