See Also: Independent Project.Context
Questions:
- How will this be intelligent?
- What information will be necessary in order to act intelligently?
- How will this information be stored?
- How will this information be used?
- Any other helpful hacks?
How will this be intelligent?
- By understanding typed queries
- ambiguous queries
- unmatched queries
- making accurate guesses about where to find the rules that match the query.
- By predicting what queries (buttons) would be useful
- By predicting what queries will be asked next, executing them and showing the results.
What information will be necessary in order to act intelligently?
- history of all previously issued commands with all available associated information.
- query
- time of query
- what is implied by the current time and the KB?
- is a meeting scheduled now, with whom?
- is it a holiday?
- any other correlations between information about the world?
- user
- which service (local, remote IP xyz, etc)
- which session (each user could be speaking through multiple sessions)
- any other states?
- the state of the mind of the user
- what was predicted about the user just before the query was executed.
- what was the context?
- what was predicted about the user just before the query was executed.
How will this information be stored?
- RDF? I would only assume
How will this information be used?
- cluster queries - strong link added from x to y when x follows y.
- basic algorithm: given most recent query and user, which queries have been most often been executed next?
- improvements:
- given most recent query and user, which type of queries are similar and out of all similar queries, which have been executed next most often?
- given an enormous sample size, the basic algorithm would be pretty good.
- what is a more general solution that abstracts in a similar way?
- would like something along the lines of:
- which queries are similar to this one?
- which queries come after queries similar to the most recent one?
- use the last n queries as a guide rather than just the most recent one
- how do you define queries that are similar to this one?
- queries which have a similar list of next probable queries.
- how could this information be shared among users to help make this type of solution converge more quickly and accurately?
Any other helpful hacks?
- keep track of words as they come in to determine where to search next:
- the word 'send' is typically matched with these queries, try them first
- this is a keyword type heuristic for a formal grammar search