12 May 2010 mentifex   » (Master)

MindForth Programming Journal - sat8may2010


Sat.8.MAY.2010 -- Problem with AudRecog

When we coded the 20apr10A.F version of MindForth, we encountered a problem when we added the word "WOMAN" to EnBoot but the AI kept trying to recognize "WOMAN" as the word "MAN". This glitch was a show-stopper bug, because we need to keep "MAN" and "WOMAN" apart if we are going to substitute "HE" or "SHE" as pronouns for a noun.

In the fp091212.html MFPJ entry, we recorded a problem where the AI was recognizing the unknown word "transparency" as the known Psi concept #3 word "ANY", as if the presence of the characters "A-N-Y" in "transparency" made it legitimate to recognize the word "ANY". That recognition problem has apparently emerged again when the most recent AI tried to recognize "WOMAN" as "MAN". What we did not bother to troubleshoot back then, we must now stop and troubleshoot before we can work properly with EnP ronoun.


Sat.8.MAY.2010 -- Troubleshooting AudRecog

We have a lingering suspicion that our deglobalizing of the variables associated with AudRecog in the fp090501.html work and beyond may have destabilized a previously sound AudRecog with the result that glitches began to occur. We have the opportunity of running a version of MindForth from before the deglobalizing, in order to see if "MAN" and "WOMAN" are properly recognized as separate words. When we run the 23apr09A.F MindForth, the AI assigns concept #76 to both "MAN" and "WOMAN". Likewise we load up "22jan08B.F" and we get the same problem. The "23dec07A.F" version also produces the problem. The "29mar07A.F" version has the problem. "2jun06C.F" also has it. "30apr05C.F" has it. Even "16aug02A.F" has the problem, way back in August of 2002, before AI4U was published at the end of 2002. We also check "11may02A.F" and that version has the problem.

To be thorough, we need to run the Ja vaScript AI and see if it also has the problem of recognizing "WOMAN" as "MAN". Even the "2apr10A.html" JSAI has the problem. We tell it "i know man" and "i know woman". Both "MAN" and "WOMAN" receive concept #96. "14aug08A.html" JSAI also has the problem. "2jan07A.html" has it. "2sep06B.html" has the problem.


Wed.12.MAY.2010 -- Solution and Bugfix of AudRecog

In the second coding session of 8may2010, we implemented the idea of using an audrun variable as a flag to permit the auditory recognition only of words whose initial character was found in the initial "audrun" of AudRecog. In that way, "MAN" would be disqualified as a recognition of the "WOMAN" pattern, and only words starting with the character "W" would be tested for recognition of "WOMAN".

It took three or four hours of coding to achieve success with the "audrun" idea. Our first impulse was to use "audrun" directly within the AudRecog module, but we had forgotten that AudRecog processes only one character at a time. Although we did use "audrun" as a flag within AudRecog, we had to let AudInput do the main settings of the "audrun" flag during external auditory input.

Eventually we achieved a situation in which the AI began to recognize "WOMAN" properly during external input, but not during the internal reentry of an immediate thought using the "WOMAN" concept. Obviously the problem was that external input and internal reentry are separate pathways. We had to put some "audrun" code into the SpeechAct module calling AudInput for reentry in order completely to achieve the AudRecog bugfix.

Then immediately we had to upload our albeit messy code to the Net, because suddenly MindForth had eliminated a major, showstopper bug that had always lain hidden and intractable within the AI Mind. We did not have time to record these details of the implementation of the "audrun" solution. Two days later we uploaded a massive clean-up of the messy code, after the 8may10A.F MindForth version had served for two days as an archival record of the major bugfix.

Just now we ran the 10may10A.F clean-up code and we determined that MindForth no longer mistakenly recognizes "transparency" as the word "ANY". Our bugfix has solved some old problems, and we must hope that it has not introduced new problems.

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!