2009-10-22 28 views
6

Sono interessato allo sviluppo di una lingua di comando in linguaggio naturale per un dominio con regole esistenti. Sono rimasto molto colpito dal fatto che Terry Winograd del SHRDLU abbia mostrato il modo (la conversazione qui sotto ha 40 anni!). Possiamo fare meglio ora e se sì, dove posso ottenere esempi?Lingua di comando della lingua naturale

Persona: prendere un grosso blocco rosso.
Computer: OK.
Persona: Afferrare la piramide.
Computer: non capisco quale piramide intendi.
Persona (cambiando idea): trova un blocco più alto di quello che hai in mano e mettilo nella scatola.
Computer: Con "it", presumo tu intenda il blocco che è più alto di quello che sto tenendo.
Computer: OK.
Persona: cosa contiene la scatola?
Computer: la piramide blu e il blocco blu.
Persona: Qual è la piramide supportata da?
Computer: la scatola.
Persona: quanti blocchi non sono nella scatola?
Computer: quattro di loro.
Persona: Almeno uno di questi è più stretto di quello che ti ho detto di prendere?
Computer: Sì, il cubo rosso.

Ho un'ontologia per il dominio, quindi posso ragionare su problemi comuni.

risposta

3

Dai uno sguardo a OpenCyc, una base di conoscenza generale e un motore di ragionamento di buon senso.

+0

Molte grazie. Ero a conoscenza di Cyc ma non ero così consapevole di OpenCyc. Sai se le persone l'hanno interfacciato con la PNL? –

+0

Forse questa presentazione sull'aggiunta di un'interfaccia Cyc a JavaNLP: http://nlp.stanford.edu/~ditka/cyc/cycPresentation.ppt – luvieere

+0

@luvieere Sembra utile - non so quanto è stato implementato –

1

Dai uno sguardo all'inglese controllato (ACE) che è stato sviluppato nel Attempto project. Sembra avere l'espressività e la flessibilità richieste. Il parser ACE analizza le frasi ACE in una formula logica del primo ordine (una variante denominata DRS) che può quindi essere utilizzata per ulteriori elaborazioni, ad es. ragionamento automatico. Il parser è disponibile sotto LGPL, vedere la demo here.

+0

Questo è molto vicino a quello che stavo cercando e sembra che abbia coperto il peggio dei problemi più difficili (negazione, anafora, ecc.). Ha iniziato a essere distribuito? –

+0

Sì, ACE è piuttosto espressivo quando si tratta di quantificazione, anafora, negazione, domande, ecc. Supporta anche frasi imperative (come quelle presenti nel tuo esempio). So che è stato usato in molti progetti di ricerca, ma non so come e quanto sia stato usato altrove. – Kaarel

Problemi correlati