- completed the blocks-world interaction
- use of websockets replaces the complicated client-server interaction
- add agreement checks to grammar, for example
go:agree(E1, gender, male)
- explicit representation of sorts
go:has_sort(E1, block)
- better anaophora resolution, also for events
go_reference()
go_reflective_reference()
go_labeled_reference()
go_reference_slot()
- separated intent from sense
- a permanent server keeps processes active
- keywords if/then/else/end
- assignment via [X := n]
- expressions for common procedure calls
- use procedure-calls as arguments
- translation of canned texts using CSV files
- ellipsis / path DSL
- discourse entities
- centering
- parsing multiple sentences on a line
- asynchronous execution of mentalese code
- processing of input has been rewritten as a mentalese program
- goals, actions
- explicit declaration of the rule base that accepts a new rule
- nli executable allows interactive session
- insert / delete in MySQL
- relation tags {{ Variable }} to help generate compound sentences
- allow for left recursion in generation grammar
- local variables; let
- separated sort extraction from parsing
- support for comparatives and superlatives
- morphological analyzer
- namespaces; predicate prefixing
- modules
- sort hierarchy
- configuration from JSON to YAML
- configurable tokenizer expression
- data type
list
and list functions - if_then_else
- strong negation: the negation operator for relations
- the predicate
exec
to execute a shell command - changed the order child sense order evaluation from post-order to pre-order
- any relationset can now be used as a quantifier
- back_reference() definite_reference()
- do / find for different kinds of iterating over entities
- not()
- multiple entities per anaphora queue position
- allow string constants in grammar rewrite rules
- merged lexicon into grammar
- Handles pronouns and other entity references
- Extract all parse trees
- Support for queries that span multiple databases (with different entity ids)
- Support for case-insensitive proper nouns
- Only real quantifiers like ALL are handled with quantification; numbers are not
- syntactic relations are modelled after Stanford Parser Universal Dependencies
- introduce root()
- Start logging anonymous user interactions to get a feel of what types of questions the users of dbpedia test app pose en then support these types of questions
- checking entity types in predicate arguments for better name resolution
- Support for non-ASCII letters
Added DBpedia demo support for:
- "Who is X?"
- "When did X die?"
- the father of X
- "What is the capital of X?"
- "How many countries have population above 130000000?"
- When a question is about Lord Byron, and the database has two persons "Lord Byron" asks "which one"
- Dialog context to store the selected person by the user
- Domain - knowledge base mapping changes from 1:n to n:m
- Support for Sparql bases
- Intermediate results are logged
- Optimization phase using knowledge base statistics
- An executable application with "answer" and "suggest subcommands"
- Use an existing javascript autosuggest line editor (Tag-it!) and create an example web app
- Build an example application from a configuration file
- Rebuild of log as a proper dependency and with productions
- handle scoped questions
- One sentence with ALL and 2 as quantifiers
- One sentence where the right quantifer outscopes the left
- examples from relationships
- new: parse tree as new step
- language: english
- question types: yes/no, who, which, how many
- second order predicates, aggregations
- proper nouns
- real database access (MySQL)
- a few simple questions
- simple natural language responses
- working example