The DeKi Programming Journal (DKPJ) is both a tool in coding German Wotan open-source artificial intelligence (AI) and an archival record of the history of how theGerman Supercomputer AI evolved over time.
To begin a yes-or-no question in German, a form of the verb has to be generated either by a parameter-search or by VerbGen. We will first try the parameter-search using dba for person and nphrnum for number.2 Tues.26.FEB.2013 -- Assigning Number to a New Noun
For learning a new noun in German, we need to use the OutBuffer in the process of assigning grammatical number to any new noun. We can use a previous article to suggest the number of a noun, and we may impose a default number which may be overruled first by indications obtained from OutBuffer-analysis and secondly by the continuation with a verb that reveals the number of its subject.
For OutBuffer-analysis, we may impose various rules, such as that a default presumption of singular number may be overruled by certain word-endings such as "-heiten" or "-ungen" which would rather clearly indicate a plural form. We may not so easily presume that endings in "-en" or "-e" indicate a plural, because a singular noun may have such an ending. An ensuing verb is a much better indicator of the perceived number of a noun than the ending of the noun is.
Although we may be tempted to detect the ensuing singular verb "ist" and use it to retroactively establish a noun-number as being singular, it may be simpler to use the OutBuffer to look for singular verbs that end in "-t", such as "ist" or "geht". Likewise, a verb ending in "-n" could indicate a plural subject. So should the default presumption for a German noun be singular or plural?
In both German and English, we should probably make the default presumption be plural for new nouns being learned. Then we have a basic situation to be changed retroactively if a singular verb is detected. So let us examine the NewConcept module to see if we can set a plural value of "2" there on the "num" which will be imposed in the InStantiate module.
When we set a num default of "2" for plural in NewConcept and we run the German AI, the value of "2" shows up for a new noun in both the ".psi" report and the ".de" lexical report. Next we need to work on retroactively changing the default value on the basis of detecting a singular verb.
We have tried various ways to detect the "T" at the end of the input of the verb "IST". In the InStantiate module, we were able to test first for a pov of external input and then for the value of the OutBuffer rightmost "b16" value. Thus we were able to detect the ending "T" on the verb. Immediately we face the problem of how retroactively to change the default number of the subject noun from "2" for plural to "1" for singular.
Changing anything retroactively is no small matter in the Wotan German AI, because other words may have intervened between the alterand subject-noun and the determinant verb. We have previously worked on assigning tqv and seq values retroactively from a direct object back to a verb, so we do have some experience here.
Today we will try to create a RetroSet mind-module for retroactively setting parameters like the number of a new subject-noun which has been revealed to be singular in number because it was followed by a singular verb-form, such as "IST" or "HAT" in German. First we must figure out where to place the RetroSet module in the grand scheme of a Forth AI program. Since the "T" at the end of a German verb is discovered in the InStantiate module, we could either call RetroSet from InStantiate, or use a "statuscon" variable to set a flag that will call RetroSet from higher up in the Wotan AI program. Let us create a "numcon" flag that can be set to call Retroset and then immediately be reset to zero. Since InStantiate is called from the DeParser module, we should perhaps let DeParser call RetroSet.
Now we have stubbed in the RetroSet AI mind-module just before the DeParser mind-module in the Wotan German artificial intelligence. RetroSet diagnostically displays the positive value of the numcon flag and then resets the flag to zero. In future coding, we will use the numcon flag not only to call RetroSet but also to change the default value of "2" for plural to "1" for singular in the case of a new German noun that the Wotan AI is learning for the first time.
In the German Wotan potentially superintelligent AI, the AudListen module sets time-of-seqneed ("tsn") as a time-point for searches covering only current input from the keyboard into the AI Mind. In the new RetroSet module, we may use "tsn" as a parameter to restrict a search for a subject-noun to only the most recent input to the AI. However, "tsn" is apparently being reset for each new word of input, so we switch to using time-of-voice ("tov") and we get better results. We input "eva ist eine frau" and RetroSet retroactively changes the default plural on "EVA" from a two to a one for singular. Next we need to troubleshoot why we are not getting a better question from AskUser.