Natural Language Interface Gems

Erik T. Mueller


1994 - 1996, Erik T. Mueller [source code]

An explanation of the name

"ThoughtTreasure was originally called ThoughtTr├ęsor, where tr├ęsor is the French word for treasury (treasure as well). The idea was that the system would be a treasury of thoughts. The combination of English and French in the name reflected the fact that the system supported both English and French. This original name was difficult for English speakers to pronounce, so I changed the name to ThoughtTreasure. ThoughtTreasury contained an extra syllable and didn't sound right to me." -- Erik T. Mueller

This is a gem, because

This system integrates a natural language component in a full-blown AI architecture that includes scripts, spatial orientation, planning, understanding, and even emotions. It also has a wide support for various natural language constructs. It makes commonsense reasoning explicit in the form of understanding agents.


Programming language
Natural language
English, French
Type of analysis
Language constructs
Noun Phrases, Verb Phrases, Preposition Phrases, Determiner Phrases, ADVerb Phrases, ADJective Phrases, Relative Clauses, Negations, Conjunctions, Anaphora, Auxiliaries

Data flow

Natural Language input
"The text agency"
  • Lexicon lookup
  • Morphological analysis
  • Open-ended token recognition
  • Proper names lookup in knowledge base
  • Proper names by matching
  • Quoted string recognition
  • Uses a part-of-speech tagger
"The syntactic component"
Parser type
A simple bottom-up parser
Grammar type
Phrase Structure
    Syntactic form
    "The semantic component"
    • Semantic composition
    • Use lexicon
    • Anaphora resolution
    Semantic form
    • Custom ontology
    • Syntactic rewrites
    Knowledge source form
        Knowledge base answers
        • Cooperative responses
        • Canned responses
        • Simple responses with variables
        • Generate full response
        Natural Language output