2009-10-22 25 views
6

Estoy interesado en desarrollar un lenguaje de comandos de lenguaje natural para un dominio con reglas existentes. Me quedé muy impresionado cuando el SHRDLU de Terry Winograd mostró el camino (¡la conversación de abajo tiene 40 años!). ¿Podemos mejorar ahora y, de ser así, dónde puedo obtener ejemplos?Lenguaje de comandos de lenguaje natural

Persona: Levante un gran bloque rojo.
Computadora: OK.
Persona: Agarre la pirámide.
Computadora: No entiendo a qué pirámide te refieres.
Persona (cambiando de opinión): Busque un bloque que sea más alto que el que está sosteniendo y colóquelo en la caja.
Computadora: por "eso", supongo que te refieres al bloque que es más alto que el que estoy sosteniendo.
Computadora: OK.
Persona: ¿Qué contiene la caja?
Ordenador: La pirámide azul y el bloque azul.
Persona: ¿Para qué sirve la pirámide?
Computadora: la caja.
Persona: ¿Cuántos bloques no hay en la caja?
Ordenador: Cuatro de ellos.
Persona: ¿Al menos uno de ellos es más estrecho que el que le dije que recogiera?
Computadora: Sí, el cubo rojo.

Tengo una ontología para el dominio así que puedo razonar sobre problemas comunes.

Respuesta

3

Eche un vistazo a OpenCyc, una base de conocimiento general y un motor de razonamiento de sentido común.

+0

Muchas gracias. Estaba al tanto de Cyc pero no tan consciente de OpenCyc. ¿Sabes si las personas lo conectaron con PNL? –

+0

Quizás esta presentación acerca de cómo agregar una interfaz Cyc a JavaNLP: http://nlp.stanford.edu/~ditka/cyc/cycPresentation.ppt – luvieere

+0

@luvieere Parece útil: no estoy seguro de cuánto se ha implementado –

1

Eche un vistazo al inglés controlado (ACE) que se ha desarrollado en el Attempto project. Parece tener la expresividad y flexibilidad requeridas. El analizador de ACE analiza oraciones ACE en una fórmula lógica de primer orden (una variante llamada DRS) que luego se puede usar para un procesamiento posterior, p. razonamiento automático. El analizador está disponible bajo LGPL, vea la demostración here.

+0

Esto está muy cerca de lo que estaba buscando y pareces haber cubierto el peor de los problemas complicados (negación, anáfora, etc.). ¿Ha comenzado a implementarse? –

+0

Sí, ACE es bastante expresivo cuando se trata de cosas como cuantificación, anáfora, negación, preguntas, etc. También admite oraciones imperativas (como presente en su ejemplo). Sé que se ha utilizado en muchos proyectos de investigación, pero no sé cómo y cuánto se ha utilizado en otros lugares. – Kaarel

Cuestiones relacionadas