Working Memory
A place for agents to store documents either for visiting later, or for other agents to fetch
Consider the issue of
triplifying a sentence, where a natural language sentence is mapped to a triple of the form { subject, predicate, object }. Consider the case where there is insufficient information to complete the task. Here's a trivial example:
A cat sat on a mat.
Suppose our agent turns that into this triple
{ cat, sat on, mat }
We are half way there. What's next? Turn that triple into its symbolic representation, where each element of the triple is a symbol rather than a word or phrase. What is a symbol? It is the topic locator for the topic in the topic map for which that name applies.
Suppose we have topics for everything except
mat. Suppose those topics carry these locators:
- cat (noun): 135709
- sat on (verb phrase): 84739
Then, we have a partial triple:
{ 135709, 84739, mat }
As part of an
anticipatory system, we have now an example of an
expectation failure, which demands that we invent
expectation failure handlers. A component of an failure handler is a memory where we can store all evidence of the failure and attach an agent to it, the task for which is to watch for any new topic which could describe a
mat.
That's just one use case for a working memory in the agent environment. Candidate approach:
- A Lucene index attached to the SolrAgentFramework, complete with an API to make it easy to use.
If we keep in mind that the triple transformation process is part of natural language parsing, which is part of machine reading leading towards machine understanding, then the failure, itself, has a much larger context than the lone sentence where the failure occurred. One reason for triple transforms which are symbolic is that those triples form relations among topics in the topic map. Triple transforms are one approach to creating a topic map by way of machine reading.