SHRDLU
SHRDLU è un programma di comprensione del linguaggio naturale sviluppato da Terry Winograd al MIT nel periodo 1968-1970. È stato scritto nei linguaggi di programmazione Micro Planner e Lisp su un computer DEC PDP-6 e un terminale grafico DEC. Modifiche successive sono state apportate al programma nei laboratori di computer grafica dell'Università dello Utah, aggiungendo una renderizzazione 3D del mondo di SHRDLU.
Il nome SHRDLU deriva dalla sequenza ETAOIN SHRDLU, la disposizione dei tasti su una macchina Linotype, basata sull'ordine decrescente di frequenza d'uso nella lingua inglese.
Funzionalità
modificaSHRDLU permette un'interazione basata sull'uso di termini della lingua inglese. L'utente chiede a SHRDLU di effettuare lo spostamento di svariati oggetti in un piccolo "mondo di blocchi". Tramite uno schermo grafico viene mostrato all'utente un ambiente virtuale costituito da una superficie piana, una scatola e una serie di oggetti colorati di forma cuboide o piramidale. L'utente, in lingua inglese, può interagire con un immaginario braccio robot per spostare gli oggetti.
SHRDLU è stato realizzato combinando alcune semplici idee che rendono la comprensione del linguaggio più convincente. Il programma è in grado di risolvere molte ambiguità della lingua inglese, ad esempio è in grado di capire a quale oggetto ci si riferisce anche quando questo è sottinteso. Il meccanismo per la comprensione di quanto richiesto dall'utente è costituito su tre fasi di analisi: sintattica, semantica, deduttiva. Il blocco di programma che si occupa dell'analisi semantica interagisce con gli altri due moduli.
Estratto
modificaSegue un estratto della famosa demo di SHRDLU:
- (EN) Person: Pick up a big red block.
- (EN) Computer: OK.
- (EN) Person: Grasp the pyramid.
- (EN) Computer: I don't understand which pyramid you mean.
- (EN) Person (changing their mind): Find a block which is taller than the one you are holding and put it into the box.
- (EN) Computer: By "it", I assume you mean the block which is taller than the one I am holding.
- (EN) Computer: OK.
- (EN) Person: What does the box contain?
- (EN) Computer: The blue pyramid and the blue block.
- (EN) Person: What is the pyramid supported by?
- (EN) Computer: The box.
- (EN) Person: How many blocks are not in the box?
- (EN) Computer: Four of them.
- (EN) Person: Is at least one of them narrower than the one which I told you to pick up?
- (EN) Computer: Yes, the red cube.
Bibliografia
modifica- Terry Winograd, "Procedures as a Representation for Data in a Computer Program for Understanding Natural Language", MIT AI Technical Report 235, febbraio 1971
- Understanding Natural Language, T. Winograd, Academic Press, 1972
Voci correlate
modificaCollegamenti esterni
modifica- (EN) Home page Archiviato il 17 agosto 2020 in Internet Archive. presso la Stanford University