Follow project on Twitter
NederlandsEnglish

Algemeen aanvaarde workaround

De algemeen aanvaarde workaround in het vakgebied Kunstmatige Intelligentie (AI) en kennistechnologie (NLP) om kennis met het werkwoord “hebben” in te voeren, is om het direct in een redeneersysteem te programmeren, zoals: heeft_zoon(jan,paul). Dit is echter geen generieke oplossing (=wetenschap), maar een specifieke oplossing voor een specifiek probleem (=engineering), omdat elk afzonderlijk zelfstandig naamwoord direct in het redeneersysteem geprogrammeerd moet worden (heeft_dochter, heeft_vader, heeft_moeder, et cetera). En voor iedere taal opnieuw. Met als gevolg dat er geen enkele techniek bestaat om een zin als “Paul is een zoon van Jan” op een generieke manier – van natuurlijke taal, via een algoritme, terug naar natuurlijke taal – om te zetten naar “Jan heeft een zoon, genaamd Paul”, waarbij zelfstandig naamwoord “zoon” en eigennamen “Paul” en “Jan” niet in het redeneersysteem geprogrammeerd hoeven te worden. Dit is slechts het eerste voorbeeld van deze uitdaging (zie Blok 1).

Ik ontving een bijdrage van een student, in een poging om dit probleem op te lossen. Met zijn toestemming, hieronder zijn Excel implementatie voor de Engelse taal:

= IF(ISERROR(SEARCH("has a";A1));MID(A1;SEARCH("of";A1)+3;999) & " has a" & IF(ISERROR(SEARCH("is an";A1));" ";"n ") & MID(SUBSTITUTE(A1;"is an";"is a");SEARCH("is a"; SUBSTITUTE(A1;"is an";"is a"))+5;SEARCH("of"; SUBSTITUTE(A1;"is an";"is a"))-SEARCH("is";SUBSTITUTE(A1;"is an";"is a"))-6) & " called " & LEFT(A1;SEARCH("is";SUBSTITUTE(A1;"is an";"is a"))-1);MID(SUBSTITUTE(A1;"has an";"has a");SEARCH("called";SUBSTITUTE(A1;"has an";"has a"))+7;999) & " is a" & IF(ISERROR(SEARCH("has an";A1));" ";"n ") & MID(SUBSTITUTE(A1;"has an";"has a");SEARCH("has a"; SUBSTITUTE(A1;"has an";"has a"))+6;SEARCH("called"; SUBSTITUTE(A1;"has an";"has a"))-SEARCH("has";SUBSTITUTE(A1;"has an";"has a"))-7) & " of " & LEFT(A1;SEARCH("has";SUBSTITUTE(A1;"has an";"has a"))-1))

Deze oplossing controleert niet op woordtype, zoals uitgelegd in paragraaf 1.6.2. The function of word types in reasoning van mijn fundamentele document. Daarnaast moet deze logica voor elke taal gekopieerd worden, terwijl een generieke oplossing slechts één logische implementatie heeft. Bovendien kan deze implementatie niet uitgebreid worden, bv. om meerdere specificatiewoorden te verwerken, zoals in: “Paul is een zoon van Jan en Anna” of “Jan heeft twee zoons, genaamd Paul en Johan”. Deze implementatie is dus niet flexibel. Het is daarom niet generiek, en niet wetenschappelijk.

Het vakgebied AI en NLP is “geïnspireerd op de natuur”. Maar het heeft geen fundament in de natuur. Hierdoor is dit vakgebied beperkt tot het leveren van specifieke oplossingen voor specifieke problemen (=engineering), zoals deze bovenstaande Excel-implementatie. Deze uitdaging gaat echter over het verheffen van dit vakgebied, van een field of engineering tot een fundamentele wetenschap, dat generieke oplossingen levert, gebaseerd op een natuurlijk fundament. Dat is wat ik ontwikkel.

Mijn fundamentele benadering laat zien dat werkwoord “heeft/hebben” complementair is aan werkwoord “is/zijn”. Dus kan ook werkwoord “heeft/hebben” gebruikt worden in de predicatenlogica. Om de natuurlijk-intelligente functie van structuurwoorden te kunnen benutten, heb ik eerst natuurlijke intelligentie gedefinieerd. Daarna heb ik enkele Natuurwetten van Intelligentie die van nature aanwezig zijn in Taal geïdentificeerd. En door deze natuurwetten als structureringsalgoritmen te implementeren, kan mijn systeem de kennis zelfstandig structureren.