Natural Language Interface Gems

Terry Winograd

SHRDLU

1968 - 1970, Terry Winograd (MIT) [source code]

An explanation of the name

ETAOIN SHRDLU is the arrangement of the alpha keys on a Linotype machine, arranged in descending order of usage frequency in English. It was also the title of a 1942 science fiction story by Frederic Brown in which an artificially intelligent Linotype machine (with natural language ability) learns everything it typesets and tries to take over the world.

This is a gem, because

Characteristics

Programming language
Lisp
Natural language
English
Type of analysis
Semantics-based
Language constructs
Noun Phrases, Verb Phrases, Preposition Phrases, Determiner Phrases, ADJective Phrases, Relative Clauses, Negations, Conjunctions, Anaphora, Auxiliaries, Comparative expressions, Passives, Clauses as objects

Data flow

Natural Language input
Tokenize
"INPUT"
  • Lexicon lookup
  • Morphological analysis
  • Open-ended token recognition
  • Proper names lookup in knowledge base
  • Quoted string recognition
Tokens
Parse
"GRAMMAR"
Parser type
A top-down left-to-right parser
Grammar type
Programmar / Systemic Grammar
    Syntactic form
    Interpret
    "SEMANTICS"
    • Analyse while parsing
    • Semantic attachment
    • Semantic composition
      (custom)
    • Morphological semantic composition
    • Modifier attachment
    • Semantic conflict detection
    • Quantifier scoping
    • Anaphora resolution
    Semantic form
    (A Planner representation)
    • Event based
    • Temporal
    • Custom ontology
    Convert
      Knowledge source form
      (Planner representation)
      • Handle aggregations
      Execute
      Knowledge Base
      Planner
      • Logical reasoning
      Knowledge base answers
      Answer
      "ANSWER"
      • Spelling correction
      • Cooperative responses
      • Canned responses
      • Simple responses with variables
      Natural Language output

      Books

      Articles