(you may click the number of the subfile to be viewed, or scroll down)

This file contains the following subfiles:

59 -
context-inserted axes: handling suffixes, verbs, homonyms, etc.
60 - forcing new words
61 - other functions of the parser/pre-processor


(subfile 59:  context-inserted axes)

Verbs exist only as infinitive forms in the database, and non-infinitive forms 1) point to the infinitive and 2) add axes to a temporary instance of the verb, to indicate mood & tense. These added axes comprise another "word", the information in which can be used for transforming any verb to the same mood and tense. This other "word" is an action/behavior/daemon, and defines a process the program must execute. Plurals and possessives, like the verb forms, only exist in their ur-form in the database, with temporary versions holding extra axes to signify number or ownership.

Ambiguous homonymns point to unambiguous, newly-coined words, in a similar mechanism. This means that the program never actually deals with the ambiguous words, such as “mean”: “What does this 'mean'?” “You're a 'mean' person.”

Two questions remain with respect to this process. First,  should it be extended to precise synonyms? Why should two definitions be kept if they are really the same? It doesn't really matter if the program thinks two words are just radically different spellings of the same meaning-unit. However, what about approximate synonyms? Would there be any computational advantage to storing only one definition for 'apple' and storing, somewhere else, in some other data-structure, the information necessary to get one type of apple rather than another?

Second, the addition of axes to a word is what "clusters" are all about. Granted, adding the axis necessary for changing the meaning of a unit to plural is tremendously less substantial, controversial, or analytical than most of the reasons/techniques for cluster formation, but clearly there could be a continuum of summing processes, starting at the simple end with plurals, and ending up with highly processed clusters on the other. It is irresponsible not to consider what it might mean to use intermediate amounts of summing.






(subfile 60:  question construction for context)

First, there are certain values which must be present in the definition of a word, purely for the purpose of managing the data structure. A
situation that would result from the creation of a new word by the program is the presence of zeros in the places some of these; this is easy to recognize as a focus point for the program’s attention. Second, the history of activity that the program keeps assigns dates of usage to words, and a new word’s low age can serve as another signal to the program’s attention-focusing routine. Third, a new word would have no poles toward which it could vibrate. A motionless object is easy to pick out among a large number of familiar – and therefore oscillating – entities. Having been thus "lit up" a question is known to be appropriate. Finally, the new word either will already be, or will be known to need to become, different in some small ways from the original. These differences (found, if necessary, by the difference cluster) will focus the formation of questions whose purpose it is to complete the definition.



(subfile 61: other parser functions)

The resolution of ambiguous homonyms into unambiguous faux-words represents a departure from natural language – one must crawl before one runs – and there are other functions intended to ease the algorithm's task, especially in early formulations.

Many questions in English begin like this: “Do you know.....”. The PURR-PUSS part of the program is capable of being taught, in one trial, to replace such constructions with something like this: “Question: you do know....”. Then this question-sentence looks like its complementary statement-sentence, and the “question-ness” of the sentence can be inserted into the axis-value sum of the whole sentence, just like mood & tense were, for non-infinitive verb forms. A similar kluge is envisioned for imperatives, which are especially important for training: the program must be able to be told, unambiguously, that some input constitutes an “order”. Some methods for the program to deal with reinforcement are treated in a similar way.

Another pre-processing function involves loading wild-card and receptor pointers from word definitions into their own Great Wall. While performing this disassembly, words that have sub-words in their definitions are expanded (each internal word is replaced by its full set of coordinate pairs.) A parallel process exists for actions: if a reinforced behavior consists of defined sub-units, eventually it is desirable to know 1) which of the sub-units is most uniquely responsible for the positive or negative input, and 2) which subunit causes a failure.