(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.