4 Sep 2010 mentifex   » (Master)

JavaScript AI Mind Programming Journal -- Fri.3.SEP.2010

Fri.3.SEP.2010 -- Improving Associative Comprehension

Today in the tutorial JavaScript artificial intelligence (JSAI) we work on implementing a powerful feature taken from the MindForth robot AI -- special InStantiate code to help the AI Mind zero in on the proper assigning of associative tags to connect the concepts activated by English words of human input. In our open-source AI, the comprehension of natural language depends upon establishing the conceptual interconnections that constitute an idea.

We are specifically concerned with connecting an associative tag between a transitive verb and its direct object. If the human user clicks on the JSAI link, lets the AI Mind flit across the 'Net, and types in, "i have a book", we do not want the software to tag a link between the verb "have" and the article "a". Instead we want a mental link between "have" and "book" -- the object of the verb. Since in MindForth we have devised a way to skip articles in the search for semantic links, now in JavaScript we simply need to implement the InStantiate algorithm from the Forth code.

Upshot: We laboriously converted an intricate sequence of Forth code to JavaScript -- and the JSAI stopped running. We had misspelled the "lastseq" variable. By putting the code back together line-by-line from the last working JSAI of yesterday, we identified and solved the problem. Through much of our testing, we would type in "i have a book" and we would get nonsense in response, because the skip-seq algorithm was not yet fully implemented. When the algorithm from MindForth became fully functional in JavaScript, we typed in "i have a book" and the emergent artificial mind responded correctly, "YOU HAVE BOOK".


Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!