2009-10-22 7 views
6

Ich bin daran interessiert, eine natürliche Sprache Befehlssprache für eine Domäne mit vorhandenen Regeln zu entwickeln. Ich war sehr beeindruckt, als Terry Winograds SHRDLU den Weg zeigte (das Gespräch unten ist 40 Jahre alt! Erstaunlich). Können wir es jetzt besser machen und wenn ja, wo bekomme ich Beispiele?Natürliche Sprache Befehlssprache

Person: Heben Sie einen großen roten Block auf.
Computer: OK.
Person: Fassen Sie die Pyramide.
Computer: Ich verstehe nicht, welche Pyramide du meinst.
Person (ändert ihre Meinung): Suchen Sie einen Block, der größer ist als der, den Sie halten, und legen Sie ihn in die Box.
Computer: Mit "it" nehme ich an, du meinst den Block, der größer ist als der, den ich halte.
Computer: OK.
Person: Was enthält die Box?
Computer: Die blaue Pyramide und der blaue Block.
Person: Wovon wird die Pyramide unterstützt?
Computer: Die Box.
Person: Wie viele Blöcke sind nicht in der Box?
Computer: Vier von ihnen.
Person: Ist mindestens eine von ihnen schmaler als die, von der ich dir gesagt habe, dass du sie abholen sollst?
Computer: Ja, der rote Würfel.

Ich habe eine Ontologie für die Domäne, so kann über häufige Probleme Grund.

Antwort

3

Werfen Sie einen Blick auf OpenCyc, eine allgemeine Wissensdatenbank und Commonsense Reasoning-Engine.

+0

Vielen Dank. Ich war mir Cyc bewusst aber OpenCyc nicht so bewusst. Weißt du, ob Leute es mit NLP verbunden haben? –

+0

Vielleicht diese Präsentation über das Hinzufügen einer Cyc-Schnittstelle zum JavaNLP: http://nlp.stanford.edu/~ditka/cyc/cycPresentation.ppt – luvieere

+0

@luvieere Sieht nützlich aus - nicht sicher, wie viel wurde implementiert –

1

Werfen Sie einen Blick auf die kontrollierte Englisch (ACE), die in der Attempto project entwickelt wurde. Es scheint die erforderliche Expressivität und Flexibilität zu haben. Der ACE-Parser analysiert ACE-Sätze in eine Logikformel erster Ordnung (eine Variante, die DRS genannt wird), die dann zur weiteren Verarbeitung verwendet werden kann, z. automatisches Schließen Der Parser ist unter LGPL verfügbar, siehe Demo here.

+0

Dies ist sehr nahe an Was ich gesucht habe und du scheinst das Schlimmste der kniffligen Probleme (Negation, Anaphora, etc.) abgedeckt zu haben. Wurde es bereits eingesetzt? –

+0

Ja, ACE ist ziemlich ausdrucksstark, wenn es um Dinge wie Quantifizierung, Anapher, Negation, Fragen usw. geht. Es unterstützt auch Imperativsätze (wie in Ihrem Beispiel vorhanden). Ich weiß, dass es in vielen Forschungsprojekten verwendet wurde, aber ich weiß nicht, wie und wie viel es woanders verwendet wurde. – Kaarel

Verwandte Themen