NL8901050A - Grammar processor for natural language sentences - by determining each constituents functional category, determining closure step and applying context rules for best representation - Google Patents

Grammar processor for natural language sentences - by determining each constituents functional category, determining closure step and applying context rules for best representation Download PDF

Info

Publication number
NL8901050A
NL8901050A NL8901050A NL8901050A NL8901050A NL 8901050 A NL8901050 A NL 8901050A NL 8901050 A NL8901050 A NL 8901050A NL 8901050 A NL8901050 A NL 8901050A NL 8901050 A NL8901050 A NL 8901050A
Authority
NL
Netherlands
Prior art keywords
constituent
word
program
field
question
Prior art date
Application number
NL8901050A
Other languages
Dutch (nl)
Original Assignee
Oce Nederland Bv
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oce Nederland Bv filed Critical Oce Nederland Bv
Priority to NL8901050A priority Critical patent/NL8901050A/en
Priority to DE68928230T priority patent/DE68928230T2/en
Priority to EP89202222A priority patent/EP0361570B1/en
Priority to JP23975389A priority patent/JP3384564B2/en
Priority to US07/407,564 priority patent/US5068789A/en
Publication of NL8901050A publication Critical patent/NL8901050A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

The grammatical processing is performed by measures applied separately to each word unit of the sentence. The measures applied are as follows:- A. For each word unit and each constituent, its functional word category within the constituent is determined by referring to data concerning the verbal category of the word unit and category of the constituent. B. Finding a step leading to closure of the constituent by reference to data concerning the dominant category of the constituent. C. Testing the current constituent against grammar based rules regarding the context of words/constituents and, if required, assessing the probability factor of the sentence representation.

Description

Océ-Nederland B.V. te VenloOcé-Nederland B.V. in Venlo

Werkwijze voor het ontleden en corrigeren van een, in natuurlijke taal gestelde zin, alsmede een inrichting voor het uitvoeren van een dergelijke werkwijzeMethod for parsing and correcting a sentence in a natural language, as well as a device for carrying out such a method

De uitvinding heeft betrekking op een werkwijze voor het ontleden en corrigeren van een, in natuurlijke taal gestelde grammaticaal incorrecte zin, waarbij het ontleden van deze zin in, met functionele indicaties te omschrijven zinsdelen plaatsvindt aan de hand van woordeenheden, welke naar verbale categorieën en applicatie-gerichte categorieën zijn gelexicaliseerd, alsmede op een inrichting voor het uitvoeren van een dergelijke werkwijze.The invention relates to a method for parsing and correcting a grammatically incorrect sentence expressed in natural language, wherein the parsing of this sentence in phrases to be described with functional indications takes place on the basis of word units, which according to verbal categories and application -oriented categories have been legalized, as well as an apparatus for carrying out such a method.

Een aldus omschreven werkwijze voor het ontleden van een in natuurlijke taal gestelde zin, welke werkwijze in vakkringen met de naam "parser" wordt aangeduid, is bekend uit: Allen, James; Natural Language Understanding. The Benjamin/Cummings Publishing Company,A method thus described for parsing a natural language sentence, which method is referred to in professional circles as "parser", is known from: Allen, James; Natural Language Understanding. The Benjamin / Cummings Publishing Company,

Inc., Menlo Park, U.S.A. 1987.Inc., Menlo Park, U.S.A. 1987.

De aldaar beschreven parsers bezitten een zogenaamd "rewriting mechanism", hetgeen inhoudt, dat de parsers een zinsontleding bewerkstelligen aan de hand van een groot aantal herschrijfregels.The parsers described there have a so-called "rewriting mechanism", which means that the parsers perform a parsing according to a large number of rewriting rules.

Deze herschrijfregels leggen een verband tussen een groep woorden en/of zinsconstituenten enerzijds en een parent constituent, dat wil zeggen, een deze groep dominerende constituent anderzijds. Het aantal herschrijfregels hangt daarbij af van de ornvang van het te hanteren beschrijvingsmechanisme, dat ten grondslag ligt aan de parser; daarbij wordt het beschrijvingsmechanisme op zijn beurt weer bepaald door de syntax en de'morfologie van de taal, hetgeen beperkingen aan de parser oplegt wat betreft haar vermogen om bij een niet grammaticale invoer toch nog met een oplossing voor de zinsontleding te komen. Slechts door een zeer uitgebreid scala aan herschrijfregels in de parser op te nemen, is het mogelijk om onjuist gestelde, alsmede minder gebruikelijke zinsconstructies te kunnen ontleden. Dit heeft weer tot gevolg» dat de voor de herschrijfregels bestemde geheugenruimte van de computer, waarop de parser draait, zeer omvangrijk dient te zijn, terwijl de tijdsduur om een dergelijke zin te ontleden lang mag worden genoemd. Bovendien zal het daarbij zeer moeilijk zijn om niet-grammaticale expressies te detecteren. De uitvinding beoogt deze nade-These rewriting rules link a group of words and / or sentence constituents on the one hand, and a parent constituent, that is, a constituent that dominates this group on the other. The number of rewriting rules depends on the size of the description mechanism to be used, which underlies the parser; the descriptive mechanism is in turn determined by the syntax and morphology of the language, which imposes limitations on the parser in terms of its ability to come up with a solution to the sentence in case of a non-grammatical input. Only by including a very extensive range of rewriting rules in the parser is it possible to parse incorrectly formulated, as well as less common sentence constructions. As a result, the memory space of the computer on which the parser runs is intended for the rewrite rules, while the length of time to parse such a sentence may be long. In addition, it will be very difficult to detect non-grammatical expressions. The invention aims at this disadvantage

Ten in verregaande mate op te lossen.To be extensively resolved.

De uitvinding berust op het inzicht de ontleding te binden aan regels ("right associate grammar rules") om een woord binnen de bestaande, dan wel nieuw te vormen constituent in de reeds verkregen zinsdeel representatie in te passen onder toekenning van een zekere functionaliteit op woordniveau (functionele woordcategorie) op basis van tenminste een, bij dat woord passende verbale categorie, en aan regels ("constituent closure grammar rules") om de mogelijkheid te onderzoeken om een constituent af te sluiten onder toekenning van een al dan niet voorlopige functionaliteit op constituent niveau (functionele constituent categorie), waarbij tijdens de ontleedprocedure aan de hand van een onderzoek naar samenhang tussen de diverse woorden en/of constituenten binnen eenzelfde constituentniveau een verwacht!ngsfactor voor de zin wordt bijgehouden, aan de hand waarvan de meest voor de hand liggende zinsrepresentatie kan worden geselecteerd. Overeenkomstig de uitvinding is de werkwijze van de in de aanhef omschreven soort gekenmerkt door de volgende per woordeenheid uit de zin uit te voeren stappen: a. Het per woordeenheid en per constituent bepalen van de functionele woordcategorie binnen de constituent en/of binnen een nieuw aan te maken constituent, aan de hand van gegevens over de verbale categorie van de betreffende woordeenheid, en de categorie van de constituent; b. Het per constituent aan de hand van gegevens over de categorie van de constituent en de categorie van de deze constituent dominerende constituent omschrijven van een de afsluiting van de constituent betreffende maatregel, alsmede het toekennen van een al dan niet voorlopig functioneel label aan een alsdan af te sluiten constituent; c. Het toetsen van de onderhavige constituent aan, op syntax-regels gebaseerde voorschriften betreffende de samenhang der woorden en/of constituenten binnen deze constituent bij tenminste één van beide laatstgenoemde stappen, en, indien nodig, het herwaarderen van een, aan de zinsrepresentatie toegekende verwachtingsfactor, alsmede het selecteren van iedere zinsrepresentatie waarvan de verwachtingsfactor boven een zekere drempelwaarde ligt; en d. Het selecteren van de grammaticaal incorrecte Constituent binnen de zin en het vervolgens wijzigen van deze Constituent aan de hand van, op syntax-regels gebaseerde voorschriften.The invention is based on the insight to bind the parsing to rules ("right associate grammar rules") in order to fit a word within the existing or newly to be formed constituent in the already obtained phrase representation, while granting a certain functionality at word level. (functional word category) on the basis of at least one verbal category appropriate to that word, and rules ("constituent closure grammar rules") to investigate the possibility of closing a constituent by granting a functionality, whether provisional or not, on constituent level (functional constituent category), during which during the parsing procedure an expected factor for the sentence is maintained on the basis of an investigation into the connection between the various words and / or constituents within the same constituent level, on the basis of which the most obvious sentence representation can be selected. According to the invention, the method of the type described in the preamble is characterized by the following steps to be performed per word unit from the sentence: a. Determining the functional word category per word unit and per constituent within the constituent and / or within a new context. constituent to be created, based on information about the verbal category of the word unit concerned and the category of the constituent; b. Describing for each constituent on the basis of information about the category of the constituent and the category of the constituent dominating this constituent a measure concerning the closure of the constituent, as well as the granting of a functional label, whether or not provisional, to be completed at that time. closing constituent; c. Testing the present constituent against syntax-based rules regarding the coherence of words and / or constituents within this constituent in at least one of the latter two steps, and, if necessary, revaluing an expectation factor assigned to the sentence representation, and selecting any sentence representation whose expectation factor is above a certain threshold; and d. Selecting the grammatically incorrect Constituent within the sentence and then changing this Constituent based on rules based on syntax rules.

De in een eerste uitvoeringsvorm te beschrijven parser is een parser met een externe grammatica (syntax directed parser) waarbij de grammaticale regels buiten het eigenlijke programmagedeelte zijn gehouden, en in geheugendelen of geheugenmodules zijn opgeborgen. Dit biedt de mogelijkheid tot wijzigen van de grammaticale inhoud buiten het programma om. Voorts kan door slechts de inhoud van de geheugendelen of geheugenmodulen te wijzigen, de parser voor een andere natuurlijke taal geschikt worden gemaakt. De grammaticale regels hebben een dusdanige vorm dat het mogelijk is om met een beperkt aantal regels al een groot aantal mogelijke structuren te verwerken.The parser to be described in a first embodiment is a parser with an external grammar (syntax directed parser) in which the grammatical rules are kept outside the actual program part, and are stored in memory parts or memory modules. This offers the possibility to change the grammatical content outside the program. Furthermore, by only changing the contents of the memory parts or memory modules, the parser can be made suitable for another natural language. The grammatical rules have such a form that it is possible to process a large number of possible structures with a limited number of rules.

Bovendien zal deze parser bij niet grammaticale invoer over het algemeen nog steeds met een oplossing komen en zelfs aangeven wat voor soort fout gemaakt is. Dit maakt de parser geschikt om bijvoorbeeld binnen een editor te gebruiken. De resultaten van de parser alsmede de grondbeginselen van deze parser vormen de uitgangspunten van een programma om incorrecte zinnen te verbeteren, en voorts om een tekst met inconsistent woordgebruik te corrigeren of om in een tekst een andere woordkeuze door te voeren.Moreover, this parser will generally still come up with a solution for non-grammatical input and even indicate what kind of error has been made. This makes the parser suitable for use within an editor, for example. The results of the parser as well as the basics of this parser are the starting points of a program to correct incorrect sentences, and also to correct a text with inconsistent word usage or to introduce a different word choice in a text.

Behalve bovengenoemde uitvoeringsvorm van een parser met een externe grammatica is natuurlijk ook een parser met een interne of geïntegreerde grammatica (syntax embedded parser) mogelijk door de grammaticaregels binnen de parser onder te brengen. Dit kan resulteren in een snellere parser.In addition to the above-mentioned embodiment of a parser with an external grammar, a parser with an internal or integrated grammar (syntax embedded parser) is of course also possible by accommodating the grammar rules within the parser. This can result in a faster parser.

De uitvinding zal nader worden uiteengezet aan de hand van bijgaande figuren, waarvan:The invention will be explained in more detail with reference to the annexed figures, of which:

Fig. 1 middels een flow-diagram een algemeen overzicht van de bij het parseren van een tekst te voeren werkwijze weergeeft;Fig. 1 shows by means of a flow diagram a general overview of the working method to be followed when parsing a text;

Fig. 2 een flow-diagram toont van het basisprincipe van de parser;Fig. 2 shows a flow chart of the basic principle of the parser;

Fig. 3 in een flow-diagram een eerste uitvoeringsvorm toont van het kerngedeelte van het in Fig. 2 weergegeven flow-diagram;Fig. 3 shows in a flow diagram a first embodiment of the core portion of the structure shown in FIG. 2 flow diagram shown;

Fig. 4 in een flow-diagram een andere uitvoeringsvorm toont van het in Fig. 3 getoonde kerngedeelte;Fig. 4 shows in a flow diagram another embodiment of the system shown in FIG. 3 core section shown;

Fig. 5 in een flow-diagram weer een andere uitvoeringsvorm toont van het in Fig. 3 getoonde kerngedeelte;Fig. 5 shows in a flow diagram yet another embodiment of the system shown in FIG. 3 core section shown;

Fig. 6 een gedetailleerd flow-diagram toont van een eerste, gemeenschappelijk gedeelte uit het in de figuren 3 tot en met 5 weergegeven kerngedeelte;Fig. 6 shows a detailed flow diagram of a first common portion from the core portion shown in FIGS. 3 to 5;

Fig. 7 een gedetailleerd flow-diagram toont van een eerste gedeelte van het in Fig. 6 weergegeven gemeenschappelijk gedeelte;Fig. 7 shows a detailed flow diagram of a first portion of the structure shown in FIG. 6 common part shown;

Fig. 8 een gedetailleerd flow-diagram toont van een tweede gedeelte van het in Fig. 6 weergegeven gemeenschappelijk gedeelte;Fig. 8 shows a detailed flow diagram of a second portion of the structure shown in FIG. 6 common part shown;

Fig. 9 een gedetailleerde uitvoeringsvorm toont van een tweede, gemeenschappelijk gedeelte uit het in de figuren 3 tot en met 5 weergegeven kerngedeelte;Fig. 9 shows a detailed embodiment of a second common portion from the core portion shown in FIGS. 3 to 5;

Fig. 10 een flow-diagram toont van een toepassingsgericht gedeelte uit het in Fig. 2 weergegeven flow-diagram;Fig. 10 shows a flow diagram of an application-oriented part of the system shown in FIG. 2 flow diagram shown;

Fig. 11 in een flow-diagram een gedetailleerde weergave toont van een gedeelte van het in Fig. 10 weergegeven flow-diagram;Fig. 11 in a flow chart shows a detailed view of part of the structure shown in FIG. 10 flow chart shown;

Fig. 12 in een flow-diagram een modificatie toont van een gedeelte van het in Fig. 7 weergegeven flow-diagram;Fig. 12 in a flow chart shows a modification of a portion of the structure shown in FIG. 7 flow diagram shown;

Fig. 13 een flow-diagram weergeeft van een schematisch overzicht van een bijzondere toepassingsvorm van genoemde parser;Fig. 13 depicts a flow chart of a schematic overview of a particular application form of said parser;

Fig. 14 een flow-diagram toont van een belangrijke fase van de in Fig. 13 weergegeven toepassing;Fig. 14 shows a flow chart of an important phase of the process shown in FIG. 13 application shown;

Fig. 15 een flow-diagram weergeeft van een tot Fig. 14 behorend programmagedeelte;Fig. 15 depicts a flow chart from one to FIG. 14 belonging program part;

Fig. 16 een flow-diagram toont van een ander tot Fig. 14 behorend programmagedeelte;Fig. 16 shows a flow chart from another to FIG. 14 belonging program part;

Fign. 17 tot en met 23 een aantal flow-diagrammen weergeven van gedetailleerde correctieprogramma's uit Fig. 16;Figs. 17 through 23 show a number of flow diagrams of detailed correction programs of FIG. 16;

Fig. 24 een flow-diagram toont van een eerste hulpfunctie uit het programma met betrekking tot de bijzondere toepassing van genoemde parser;Fig. 24 shows a flow chart of a first aid function from the program regarding the particular application of said parser;

Fig. 25 een flow-diagram van een tweede hulpfunctie uit het programma met betrekking tot de bijzondere toepassing van genoemde parser weergeeft;Fig. 25 depicts a flow chart of a second auxiliary function from the program with respect to the particular application of said parser;

Fig. 26 een flow-diagram toont van een eerste gedeelte van een bijzondere gebruikswijze van de in Fig. 13 getoonde toepassingsvorm; en Fig. 27 een flow-diagram weergeeft van het op het flow-diagram van Fig. 26 aansluitend gedeelte.Fig. 26 shows a flow chart of a first portion of a particular mode of operation of the one shown in FIG. 13 application form shown; and FIG. 27 depicts a flow chart of the flow chart shown in FIG. 26 connecting part.

Een parser verschaft de middelen om een zin, gesteld in een natuurlijke taal, om te zetten in een syntactische representatie met behulp van een formalisme, waarin de relaties tussen de verschillende entiteiten tot uiting worden gebracht. Dat formalisme is gebaseerd op de gedachte, dat het mogelijk is om de op zich zelf staande zinsdelen (constituenten) van een zin middels een hiërarchische structuur, zoals een vertakkingsnetwerk (boomstructuur) te kunnen representeren.A parser provides the means to convert a sentence, expressed in a natural language, into a syntactic representation using a formalism, which expresses the relationships between the different entities. That formalism is based on the idea that it is possible to represent the self-contained phrases (constituents) of a sentence through a hierarchical structure, such as a branching network (tree structure).

De invoer van de parser omvat strikt genomen niet een zinsregel, maar een reeks woorden, welke door lexicalisering van de zin is verkregen. Zoals in Fig. 1 is weergegeven houdt dit in, dat iedere, bij program-mafase 1 aangeboden zin eerst bij programmafase 2 gelexicaliseerd moet worden alvorens bij programmafase 3 de ontleding van de zin door de parser zal plaats vinden. Bij het lexicaliseren van een zin wordt van ieder woord met behulp van een zogenaamd lexicaal geheugen, dat deel uitmaakt van het computergeheugen of bijvoorbeeld op geheugenschijf (disk) aanwezig is, de bijbehorende lexicale informatie met betrekking tot de mogelijke verbale categorieën en de applicatie-gerichte categorieën opgezocht en/of gegenereerd, en wordt deze informatie middels één of meerdere woordstructuren in een woordgeheugen, dat eveneens deel uitmaakt van het computergeheugen, opgeslagen. De resultaten van het lexicalisatie proces van een woordeenheid ten aanzien van de applicatie-gerichte categorieën zullen hierna onder de term "Kenmerken" worden bijeengebracht. In het verloop van de beschrijving zal besproken worden waarom er sprake kan zijn van meer dan één woordstructuur, maar eerst zal het begrip woordstructuur nader worden uiteengezet.Strictly speaking, the input of the parser does not comprise a sentence line, but a series of words obtained by lexicalisation of the sentence. As shown in Fig. 1, this means that every sentence presented at program phase 1 must first be lyxized at program phase 2 before the parser parses the sentence at program phase 3. When lexicalizing a sentence, each word is called lexical information related to the possible verbal categories and the application-oriented information of each word by means of a so-called lexical memory, which is part of the computer memory or which is present on a memory disk (disk). categories are searched for and / or generated, and this information is stored by means of one or more word structures in a word memory, which is also part of the computer memory. The results of the lexicalization process of a word unit with respect to the application-oriented categories will be collected below under the term "Features". In the course of the description it will be discussed why there may be more than one word structure, but first the term word structure will be explained in more detail.

Een woordstructuur is een samenstel van gegevensbestanddelen bij een woord, waarbij aan die gegevensbestanddelen een structuur met een aantal geheugenvelden wordt toegekend. De woordstructuur omvat de volgende velden: een Categorie-veld (Category field), een Opdracht-veld (Command field), een Rij-veld (String field) en een Kenmerken- veld (Features field). Het Categorie-veld bevat de in het lexicaal geheugen gevonden woordcategorie, waarvoor bijvoorbeeld de volgende woordaanduidingen in aanmerking komen: Lidwoord ("article"), zelfstandig (gebruikt) naamwoord ("noun"), voornaamwoord ("pronoun"), werkwoord ("verb"), voorzetsel ("P-word"), voegwoord ("C-word"), bijvoegelijk naamwoord ("adjective") of bijwoord ("adverb"). Dit geldt slechts als voorbeeld en is afhankelijk van het gebruikte woordenboek en grammaticatabellen.A word structure is an assembly of data elements associated with a word, whereby those data elements are assigned a structure with a number of memory fields. The word structure includes the following fields: a Category field, a Command field, a Row field, and a Features field. The Category field contains the word category found in lexical memory, for which the following word indications are eligible, for example: Article ("article"), noun ("noun"), pronoun ("pronoun"), verb (" verb "), preposition (" P-word "), conjunction (" C-word "), adjective (" adjective ") or adverb (" adverb "). This is only an example and depends on the dictionary and grammar tables used.

Het Opdracht-veld is in eerste instantie leeg, maar zal later door de parser worden ingevuld. De betekenis van het Opdracht-veld zal verder worden uitgelegd bij de beschrijving van een andere structuur, namelijk de constituentstructuur, waarbij ook een dergelijk Opdracht-veld aanwezig is.The Command field is initially empty, but will be filled in later by the parser. The meaning of the Command field will be further explained in the description of another structure, namely the constituent structure, in which such a Command field is also present.

Het Rij-veld is gevuld met een "String"-representatie van het Woord, d.w.z. een lineaire rangschikking van de elementen van het Woord. Het Kenmerken-veld bevat de overige Woordkenmerken, d.w.z. die woordkenmerken, welke tijdens het lexicalisatieproces zijn verkregen maar niet in het Categorie-veld zijn opgenomen. De in het Kenmerken-veld opgenomen woordkenmerken zijn van functionele aard.The Row field is filled with a "String" representation of the Word, i.e. a linear arrangement of the elements of the Word. The Attributes field contains the other Word Attributes, i.e. those word attributes, which were obtained during the lexicalization process but which are not included in the Category field. The word attributes included in the Attributes field are of a functional nature.

Het bovenstaande zal aan de hand van een tweetal voorbeelden worden toegeiicht: Bij het woord “huis" wordt in Categorie-veld ingevuld: "zelfstandig (gebruikt) naamwoord" (noun); in het Opdracht-veld: "NIL"; in het Rij-veld: "huis" en in het Kenmerken-veld: "3e persoon enkelvoud" (sing 3) en "onzijdig" (neuter).The above will be explained by means of two examples: At the word “house” in Category field is entered: “noun (noun)” (noun); in the Command field: “NIL”; in the Row -field: "house" and in the Characteristics field: "3rd person singular" (sing 3) and "neuter" (neuter).

Een dergelijke representatie van een woordstructuur heeft tot gevolg, dat een woord als "regent" een Categorie-veld met de invulling "werkwoord" (verb) alswel een Categorie-veld met de invulling "zelfstandig (gebruikt) naamwoord" (noun) met bij elk Categorie-veld een eigen Kenmerken-veld verkrijgt.As a result of such a representation of a word structure, a word such as "regent" has a Category field with the entry "verb" (verb) as well as a Category field with the entry "noun" (noun) with bij each Category field obtains its own Attributes field.

Daar aldus een Woord in meerdere woordcategorieën kan voorkomen, en voorts als gevolg van niet-eenduidige relaties tussen Constituenten meerdere zinstructuren tussen deze zinsdelen denkbaar zijn, leidt deze aanpak tot meerdere vormen van boomstructuren, en dus tot meerdere syntactische representaties van de ontlede zin. De parser zal proberen steeds iedere woordstructuur van het huidige woord binnen iedere open constituentstructuur onder te brengen. Dit komt er op neer, dat de parseersnelheid afneemt, als er veel representaties aanwezig zijn.Since a Word can thus occur in several word categories, and furthermore as a result of ambiguous relations between Constituents, multiple sentence structures between these phrases are conceivable, this approach leads to multiple forms of tree structures, and thus to multiple syntactic representations of the parsed sentence. The parser will always try to include every word structure of the current word within every open constituent structure. This means that the parsing speed decreases when many representations are present.

Daar achteraf toch niet alle representaties geschikt blijken te zijn» is het de doelstelling van de uitvinding na te gaan, op welke wijze tussentijds, dat wil zeggen, gedurende de werkzame fase van de parser, één of meer minder aantrekkelijke representatievormen van zinsdeel structuren geëlimineerd kunnen worden. Het uitgangspunt daarbij is, dat na iedere fase waarin een woord aan de bestaande represen-tatievorm is toegevoegd, de daarbij betrokken zijnde Constituent aan bepaalde syntactische regels wordt onderworpen, en op grond van zekere foutdetecties de initiële waarschijnlijkheidsfactor, welke de Constituent is toegekend, volgens een stelsel van onderscheidenlijke correc-tiefactoren wordt verlaagd, en vervolgens de gecorrigeerde waarschijnlijkheidsfactor wordt getoetst aan een zekere drempelwaarde. Alle representatievormen van Constituenten met een waarschijnlijksfactor, welke kleiner is dan die drempelwaarde, kunnen dan als "minder waarschijnlijk voorkomend" worden geëlimineerd. Vervolgens wordt deze werkwijze herhaald om het volgende woord binnen de representatiestructuur te kunnen opnemen.Since in hindsight not all representations prove to be suitable, it is the object of the invention to investigate in the meantime how, in the interim, that is, during the active phase of the parser, one or more less attractive forms of representation of phrase structures can be eliminated. turn into. The starting point is that after each phase in which a word is added to the existing representation form, the Constituent involved is subjected to certain syntactic rules, and on the basis of certain error detections the initial probability factor, which is assigned the Constituent, according to a system of respective correction factors is lowered, and then the corrected probability factor is tested against a certain threshold value. All forms of representation of Constituents with a probability factor that is less than that threshold can then be eliminated as "less likely". This procedure is then repeated to include the next word within the representation structure.

Een dergelijke actie kan zowel direct na het opnemen van een woord in een bestaande of nieuwe constituent plaatsvinden, maar kan ook na een daarop volgend onderzoek betreffende het afsluiten van die constituent plaatsvinden. Bij de alhier te beschrijven parser zal een dergelijke filteractie in beide situaties plaatsvinden.Such an action can take place immediately after the inclusion of a word in an existing or new constituent, but can also take place after a subsequent investigation into the conclusion of that constituent. With the parser to be described here, such a filtering action will take place in both situations.

Hoewel de lexicalisatie zoals hier beschreven vóór de eigenlijke ontleding plaatsvindt zodat het parseerproces eerst begint nadat alle woorden zijn gelexicaliseerd, is het ook mogelijk om steeds een woord te lexicaliseren en vervolgens dat woord te parseren, het volgende woord - zo mogelijk tussentijds - te lexicaliseren en dan te parseren etc. Een voordeel van een dergelijke aanpak zou kunnen zijn dat het dan mogelijk is om reeds te beginnen met een zin te parseren terwijl een gebruiker nog de zin intikt (real time parsing).Although the lexicalization as described here takes place before the actual decomposition so that the parsing process starts only after all words have been lexicalized, it is also possible to lexicalize one word at a time and then parse that word, lexicalize the next word - if possible in the meantime - and then parsing etc. An advantage of such an approach could be that it is then possible to start parsing a sentence while a user is still typing the sentence (real time parsing).

Maar in het hierna te beschrijven flowdiagram wordt uitgegaan van een lexicalisatie welke aan het eigenlijke parseerproces vooraf gaat. Na de lexicalisatie wordt dan de parser aangeroepen. Als deze bij stap 4 erin slaagt (Y) om een analyse te vinden, kan van deze analyse in de rest van het programma (stap 5) gebruik worden gemaakt. Dit kan een bomentekenprogramma zijn, waarbij een grafische weergave van de gevonden ontleding wordt getekend, een editor, een indexeer- en retrieval systeem etc., waarna verder gegaan kan worden met de volgende zin bij stap 1. Leidt stap 4 echter niet tot een bruikbaar resultaat (N), dan is de parser er niet in geslaagd een goede analyse te vinden. Dit zal er op neerkomen, dat de zin zeer ongrammaticaal was. Hiervoor kan eventueel een nog nader te omschrijven actie worden ondernomen, waarna vervolgens kan worden verder gegaan met de volgende zin bij stap 1. Alvorens met de eigenlijke beschrijving van de parser (zie stap 3) te beginnen, is het van belang om nog een andere structuur, namelijk de Constituentstructuur te beschrijven. De Constituentstructuur is een op een zinsdeel betrekking hebbend samenstel van gegevensbestanddelen, waarbij de volgende geheugenvelden behoren: Categorieveld (Category field), Opdrachtveld (Command field), Structuurelementenveld (Members field), Kenmerkenveld (Features field), Stapelveld (Stack field), Foutmeldingsveld (Violations field) en een Waarschijnlijkheidsveld (Probability field).However, the flow diagram to be described below assumes a lexicalization that precedes the actual parsing process. The parser is then called after lexicalisation. If it succeeds (Y) in finding an analysis in step 4, this analysis can be used in the rest of the program (step 5). This can be a tree drawing program, in which a graphical representation of the found decomposition is drawn, an editor, an indexing and retrieval system, etc., after which the next sentence can be continued in step 1. However, step 4 does not lead to a usable result (N), the parser failed to find a good analysis. This will mean that the sentence was very ungrammatical. For this purpose, an action to be further described may be taken, after which the next sentence in step 1 can be continued. Before starting with the actual description of the parser (see step 3), it is important to add another structure, namely to describe the Constituent structure. The Constituent Structure is a phrase-related assembly of data elements, which includes the following memory fields: Category field, Category field, Command field, Members field, Features field, Stack field, Error field (Violations field) and a Probability field.

Het Categorieveld is gereserveerd voor informatie over de categorie van de constituent, waartoe in onze voorbeeldgrammatica onder andere de volgende zinsdelen gerekend moeten worden: hoofd-, neven- of bijzin (Sentence met de afkorting S), de naamwoordelijke frase of -zinsdeel (nounphrase met de afkorting NP), de voorzetselgroep of -zinsdeel (Prepositional phrase met de afkorting PP) en het adjectieve/adverbiale zinsdeel (adjective/adverbial phrase met de afkorting AP). Het Categorie veld bevat aanvankelijk de aanduiding NIL, maar zal tijdens het parseerproces worden ingevuld met de informatie over de constituent. Het Opdrachtveld is het veld dat na het parseren adresinformatie (pointer) bevat over de Parentconstituent, d.w.z. de Constituent welke de onderhavige constituent domineert.The Category field is reserved for information about the category of the constituent, which in our example grammar should include the following phrases: main, sub- or clause (Sentence with the abbreviation S), the nominal phrase or phrase (nounphrase with the abbreviation NP), the preposition group or phrase (Prepositional phrase with the abbreviation PP) and the adjective / adverbial phrase (adjective / adverbial phrase with the abbreviation AP). The Category field initially contains the designation NIL, but will be filled in with the information about the constituent during the parsing process. The Command field is the field that contains, after parsing, address information (pointer) about the Parent constituent, i.e., the Constituent which dominates the present constituent.

Het Structuurelementenveld is gereserveerd voor informatie over een of meer paarsgewijs voorkomende combinaties van het functionele label bij een, tot deze constituent behorende Woord- of Constituentstructuur, alsmede de adresinformatie over de desbetreffende Woord- of Constituentstructuur. In het algemeen kan een Constituent zijn opgebouwd uit een aantal Woordstructuren en/of Constituentstructuren.The Structural Elements field is reserved for information about one or more pairs of the functional label that occur in pairs with a Word or Constituent structure belonging to this constituent, as well as the address information about the relevant Word or Constituent structure. In general, a Constituent can be composed of a number of Word structures and / or Constituent structures.

De hier in de voorbeeldgrammatica gebruikte functionele labels zijn onder andere de volgende: - Subj : Onderwerp (Subject) - Indobj : Meewerkend voorwerp (Indirect Object) - Obj : Lijdend voorwerp (Object) - Smod : Zinsmodificatie (Sentence Modification) ook wel bekend als een "nadere bijwoordelijke bepaling" (AdverbialThe functional labels used here in the sample grammar include the following: - Subj: Subject (Subject) - Indobj: Contributing Object (Indirect Object) - Obj: Direct Object (Object) - Smod: Sentence Modification (Sentence Modification) also known as a "further adverbial provision" (Adverbial

Modification) - Comp : Complement - Pred : Predicaat (Predicate) - fNP : functionele NP, te gebruiken als een voorlopig label, dat later door een definitief functioneel label op zinsniveau vervangen gaat worden - Nmod-a : een modificerende bepaling bij een zelfstandigModification) - Comp: Complement - Pred: Predicate (Predicate) - fNP: functional NP, to be used as a provisional label, which will later be replaced by a definitive functional label at sentence level - Nmod-a: a modifying provision for an independent

(gebruikt) naamwoord in de vorm van een AP(used) noun in the form of an AP

- Nmod-s : een modificerende bepaling bij een zelfstandig- Nmod-s: a modifying provision for a self-employed person

(gebruikt) naamwoord in de vorm van een S(used) noun in the form of an S

- Nmod-p : een modificerende bepaling bij een zelfstandig- Nmod-p: a modifying provision for a self-employed person

(gebruikt) naamwoord in de vorm van een PP(used) noun in the form of a PP

- Det : een bepalend voornaamwoord of lidwoord (determiner)- Det: a determining pronoun or article (determiner)

- Head : centraal element binnen een NP, PP of AP- Head: central element within an NP, PP or AP

- Pobj : een, op een voorzetsel aansluitend gedeelte, gereali- Pobj: a section, connecting to a preposition

seerd door een NPsated by a POI

- Amod : een modificatie van het hoofdwoord van een AP- Amod: a modification of the main word of an AP

- Seq : een verbindingswoord incl. komma-teken, met nevenschikkende strekking tussen twee zinsdelen of zinnen (sequencer) - Conj : een van de nevengeschikte zinsdelen.- Seq: a connecting word incl. Comma sign, with juxtaposition between two phrases or sentences (sequencer) - Conj: one of the subordinate phrases.

Het Kenmerkenveld is gereserveerd voor de informatie over de bij de Constituent behorende kenmerken. Zodra een Constituent wordt aangemaakt met een bepaalde Categorie, zal het Kenmerkenveld gevuld worden met de bij de Categorie behorende kenmerken. Het verdient te worden opgemerkt, dat in geval van een Woordcategorie, het Kenmerkenveld wordt voorzien van de bij dat Woord behorende kenmerken, welke tijdens het lexialisatieproces zijn gevonden. Tijdens het parseerproces zal voor ieder element (woord of Constituent) dat tot de betreffende Constituent gerekend moet worden, het Kenmerkenveld van de betreffende Constituent aan de bij dat element behorende informatie worden aangepast. Het Stapelveld bevat een opsomming van de functionele label's, welke eveneens in het Structuurelementenveld van de Constituent vermeld staan. Het Foutmeldingsveld bevat informatie over alle foutcodes met betrekking tot onjuiste grammaticaliteit, die binnen de Constituent gemaakt zijn. In eerste instantie is dit veld leeg.The Characteristics field is reserved for the information about the characteristics belonging to the Constituent. As soon as a Constituent is created with a certain Category, the Attribute field will be filled with the attributes belonging to the Category. It should be noted that, in the case of a Word Category, the Attributes field is provided with the attributes associated with that Word found during the lexialization process. During the parsing process, for each element (word or Constituent) that must be included in the relevant Constituent, the Characteristic field of the relevant Constituent will be adapted to the information associated with that element. The Stacking Field contains a list of the functional labels, which are also listed in the Structural Elements field of the Constituent. The Error Reporting Field contains information about all error codes related to incorrect grammaticality made within the Constituent. This field is initially empty.

Het Waarschijn!ijkheidsveld geeft de waarschijn!ijkheidsfactor aan, die aan het voorkomen van deze Constituent wordt toegekend. In eerste instantie is dit "1", maar voor iedere gedetecteerde onjuiste grammatical iteit zal deze waarde afnemen met een waarde die afhankelijk is van het gedetecteerde type van zo'n onjuiste grammatica!iteit.The Probability Calibration Field indicates the probability calibration factor attributed to the occurrence of this Constituent. Initially, this will be "1", but for every incorrect grammaticality detected, this value will decrease by a value depending on the type of such incorrect grammar detected.

Met behulp van de Constituenten is het mogelijk om een parserboom samen te stellen. Iedere Constituent kan immers op zijn beurt weer Constituenten en/of Woorden bevatten. Het Structuurelementenveld geeft daarbij behalve de functionele categorie ook de bij de Constituent- of Woordstructuren behorende geheugenadresinformatie aan. Aan de hand van deze informatie is het mogelijk om af te dalen in de parseerboom. Omgekeerd verschaft het Opdrachtveld van een Constituent adresinformatie over diens Parent constituent, d.w.z. de die andere Constituent dominerende Constituent hetgeen de mogelijkheid biedt om hoger in de parseerboom te geraken. Opgemerkt wordt, dat Woorden geen structuurelementen kunnen omvatten, terwijl het Opdrachtveld van de hoogste Constituent (root) in de parseerboom geen informatie (NIL) bevat.With the help of the Constituents it is possible to compose a parser tree. After all, every Constituent can in turn contain Constituents and / or Words. In addition to the functional category, the Structural Element field also indicates the memory address information associated with the Constituent or Word structures. On the basis of this information it is possible to descend into the parsing tree. Conversely, the Command field of a Constituent provides address information about its Parent constituent, i.e. the other Constituent dominating Constituent, which provides the opportunity to get higher in the parsing tree. It is noted that Words cannot contain structural elements, while the Command field of the highest Constituent (root) in the parsing tree contains no information (NIL).

De parser werkt, zoals aan het Waarschijn!ijkheidsveld al in zekere mate te zien is, met waarschijn!ijkheidsfactoren en bezit een zonodig te modificeren drempelwaarde, waaraan alle beschikbare structuren op hun waarschijn!ijkheidsfactor worden getoetst, en waarbij alleen structuren met een waarschijn!ijkheidsfactor, die groter of gelijk is aan de drempelwaarde, door de parser worden verwerkt. Hierdoor is het mogelijk om sneller de ontleding van grammaticale en bijna-grammaticale zinnen uit te voeren.The parser, as can already be seen to some extent from the Probability Calibration Field, works with probability calibration factors and has a threshold value that can be modified if necessary, against which all available structures are tested for their calibration factor, and where only structures with a probability! calibration factor, which is greater than or equal to the threshold value, are processed by the parser. This makes it possible to perform the parsing of grammatical and near-grammatical sentences more quickly.

In het volgende gedeelte zal de werking van de parser nader worden uiteengezet, waarbij het van belang is om hier te vermelden, dat de parser berust op het inzicht, dat een Woord van een zekere Categorie binnen een Constituent van een bepaalde Categorie in veel voorkomende gevallen een eenduidig bepaalde functionele betekenis binnen de Constituent zal hebben. Hetzelfde geldt voor Constituenten binnen Constituenten. De wijze van parseren is dan ook gebaseerd op het gegeven, dat het meestal voldoende zal zijn om de Categorieën van de Parent Constituent enerzijds, en die van het Woord of Constituent anderzijds te kennen teneinde de functie (functionele categorie) van dat Woord of Constituent binnen de Parentconstituent te bepalen.In the following section, the operation of the parser will be explained in more detail, it is important to note here that the parser is based on the understanding that a Word of a certain Category within a Constituent of a certain Category often occurs will have a clearly defined functional meaning within the Constituent. The same goes for Constituents within Constituents. The parsing method is therefore based on the fact that it will usually be sufficient to know the Categories of the Parent Constituent on the one hand, and those of the Word or Constituent on the other in order to know the function (functional category) of that Word or Constituent within determine the Parent Constituent.

Een bij de parser behorend programma is in de navolgende figuren middels een flow-diagram weergegeven, volgens welke de werkwijze van het parseren van een tekst in een computer wordt uitgevoerd.A program associated with the parser is shown in the following figures by means of a flow diagram, according to which the method of parsing a text in a computer is carried out.

De gehele parser zal eerst op een vrij globale manier worden beschreven. Daarbij zullen een tweetal programmadelen, te weten het zogenaamde "rechts inpassen van een woord in een bestaande of nieuwe Constituent" ("word right associate") en het "afsluiten van een Constituent" ("closure") slechts summier worden aangegeven, waarna in een daarop volgend gedeelte van de beschrijving deze programmadelen aan de hand van gedetailleerde figuren nader worden uiteengezet.The entire parser will first be described in a fairly global manner. Two program parts, the so-called "fitting a word in an existing or new Constituent" ("word right associate") and the "closing a Constituent" ("closure") will only be indicated briefly, after which In a subsequent part of the description, these program parts are explained in more detail with reference to detailed figures.

De te beschrijven werkwijze kan in twee fasen worden verdeeld, waarbij in een eerste fase, welke in feite het eigenlijke parseerproces omvat, de mogelijke zinsrepresentaties middels een syntactische analyse worden gevormd, en waarbij in de tweede (additionele) fase definitieve functionele labels aan constituenten met een nog onduidelijk functioneel karakter worden toegekend. In beide fasen zullen daartoe geëigende filterprocedures worden besproken.The method to be described can be divided into two phases, in which in the first phase, which in fact comprises the actual parsing process, the possible sentence representations are formed by means of a syntactic analysis, and in the second (additional) phase definitive functional labels on constituents with still have an unclear functional character. Appropriate filtering procedures will be discussed in both phases.

Deze werkwijze wordt per woord (met al zijn gebruiksfuncties) uitge-voerd en zal telkenmale, wanneer een volgend woord binnen de representatiestructuur moet worden opgenomen, opnieuw worden uitgevoerd.This method is carried out word by word (with all its functions of use) and will be carried out again whenever a next word is to be included in the representation structure.

In het flow-diagram van Fig. 1 vangt de inleesfase van een zin om de werkwijze van de parser te kunnen uitvoeren aan met verwij-zingscijfer 1. In deze fase wordt de te ontleden zin op bekende wijze (bijvoorbeeld middels een toetsenbord) de computer aangeboden, en wordt de zin woord voor woord in een als woordgeheugen aan te duiden geheugendeel in de computer geschreven, waarbij tevens het aantal woorden (kmax), waaruit de zin is opgebouwd wordt berekend. Daarbij geldt als richtlijn, dat de woorden van elkaar worden gescheiden door spaties, tabulaties en leestekens, en dat ieder leesteken tot een woordcategorie wordt gerekend. Het genoemde aantal kmax wordt eveneens in het woordgeheugen bij gehouden.In the flow diagram of Fig. 1 commences the reading phase of a sentence in order to be able to carry out the parser's method with reference numeral 1. In this phase, the sentence to be parsed is presented to the computer in a known manner (for example by means of a keyboard), and the sentence word for word written in a memory part to be designated as word memory in the computer, wherein the number of words (kmax) of which the sentence is composed is also calculated. The guideline here is that the words are separated by spaces, tabulations and punctuation marks, and that each punctuation mark is included in a word category. The stated number of kmax is also kept in the word memory.

Vervolgens vindt de volgende fase (2), de lexicale omschrijving van alle woorden uit de aangeboden zin, plaats. Daarbij worden aan de woorden van de aangeboden zin de per woord aanwezige woordstructuren opgezocht, hetgeen geschiedt aan de hand van een als lexicaal geheugen aan te duiden geheugendeel, dat in het computergeheugen aanwezig is, en waarin een grote verzameling met één of meer mogelijk voorkomende woordstructuren ligt opgeslagen.Then the next phase (2), the lexical description of all words from the offered sentence, takes place. The word structures present per word are searched for in the words of the sentence offered, which is done on the basis of a memory part, which is to be designated as lexical memory, which is present in the computer memory, and in which a large collection with one or more word structures possibly occurring is stored.

Een gedetailleerde uiteenzetting van de fase 2 zal aan de hand van Fig. 2 geschieden. Daarin vindt de lexicale omschrijving plaats. In de volgende programmastap 6 wordt een teleenheid (k-teller), welke het rangnummer van het te behandelen woord (k) aangeeft, teruggesteld naar 0.A detailed explanation of phase 2 will be illustrated with reference to FIG. 2 occur. The lexical description takes place there. In the next program step 6, a counting unit (k-counter), which indicates the rank number of the word to be treated (k), is reset to 0.

Vervolgens wordt bij stap 7 de tel stand van de k-teller met 1 opgehoogd (k = k+1), waarna bij stap 8 onderzocht wordt of de tel stand van de k-teller reeds de maximale k-waarde (kmax) overschreden heeft (k > kmax). Is dit het geval (Y), dan gaat het programma verder naar stap 11, zo niet (N), dan gaat het programma naar stap 9, waarbij'het volgende woord uit het woordgeheugen middel s een door de tel stand van de k-teller bepaald adres wordt gehaald en naar een als werkgeheugen aan te duiden geheugendeel in de computer wordt geschreven. Voorts wordt bij stap 10 het in het werkgeheugen geschreven woord in het lexicaal geheugen teruggezocht en de aldaar voorkomende specifieke informatie bij het woord in het woordgeheugen bijgeschreven.Then, in step 7, the count of the k-counter is increased by 1 (k = k + 1), after which in step 8 it is examined whether the count of the k-counter has already exceeded the maximum k-value (kmax) (k> kmax). If this is the case (Y), the program proceeds to step 11, if not (N), the program proceeds to step 9, in which the next word from the word memory means a by the counting position of the k- counter determined address is retrieved and written to a memory section to be designated as working memory in the computer. Furthermore, in step 10, the word written in the working memory is retrieved in the lexical memory and the specific information occurring there is added to the word in the word memory.

Daarna keert het programma terug naar stap 7. Daar bij zinsontleding ieder woord op alle vermelde woordfuncties (woordcategorieën) onderzocht dient te worden, zal aan ieder woord met een afwijkende woordcategorie en/of andere afwijkende kenmerken een eigen rangnummer (1) aan de bijbehorende Woordstructuur worden toegekend, terwijl tevens het aantal toegekende rangnummers (lroax, k) Per woord 00 zal worden bijgehouden. In plaats van Omax, k) kan ook volstaan worden met de toekenning van een specifiek label aan het laatste array om daarmee bij de hierna volgende syntactische analyse aan te geven, dat de laatste woordfunctie van dat woord bereikt is.Then the program returns to step 7. Since in parsing each word must be examined for all listed word functions (word categories), each word with a deviating word category and / or other deviating characteristics will have its own rank number (1) in the corresponding Word structure , while the number of assigned rank numbers (lroax, k) per word 00 will also be kept. Instead of Omax, k) it is also sufficient to assign a specific label to the last array in order to indicate in the following syntactic analysis that the last word function of that word has been reached.

Tijdens de in de fase 3 uit te voeren syntactische analyse kunnen meerdere representaties met onderscheidenlijke constituentstructuren gelijktijdig als mogelijke oplossingen voorkomen, welke op grond van strijdigheid met zekere grammaticaregels verschillende waarschijnlijkheidsfactoren bezitten. Daar men slechts geïnteresseerd is in de oplossing of serie oplossingen met de hoogste waarschijn!ijkheidsfactor, dienen oplossingen met een lagere waarschijnlijkheidsfactor als een niet-interessante oplossing te worden gekwalificeerd en dientengevolge te worden geëlimineerd. Dit geschiedt door toetsing van de bij die oplossingen behorende waarschijn!ijkheidsfactoren aan de hand van een zekere drempelwaarde. Deze drempelwaarde wordt bij de aanvang van de syntactische analyse op de waarde "1" gesteld, maar kan tijdens die analyse naar een lagere waarde worden bijgesteld, indien blijkt, dat geen der verkregen waarschijnlijkheidsfactoren aan de drempelwaarde voldoen. Dienovereenkomstig omvat het programma een stap 11, waarbij de initiële drempelwaarde op "1“ wordt ingesteld.During the syntactic analysis to be carried out in phase 3, multiple representations with respective constituent structures may simultaneously appear as possible solutions, which have different probability factors due to conflict with certain grammar rules. Since one is only interested in the solution or series of solutions with the highest probability factor, solutions with a lower probability factor should be classified as an uninteresting solution and should therefore be eliminated. This is done by testing the probability factors associated with these solutions on the basis of a certain threshold value. This threshold value is set to the value "1" at the start of the syntactic analysis, but can be adjusted to a lower value during that analysis, if it appears that none of the probability factors obtained meet the threshold value. Accordingly, the program includes a step 11, wherein the initial threshold value is set to "1".

Vervolgens wordt bij stap 12 een beginconstituent voor de zin gemaakt. Dit is een Constituent, waarvan in de aanvangsfase de velden de volgende informatie omvatten:Then, at step 12, an initial constituent for the sentence is made. This is a Constituent, the initial stages of which include the following information:

Categorieveld : SCategory field: S

Opdrachtveld : NILCommand field: NIL

Structuurelementenveld : NIL Kenmerkenveld : NILStructural element field: NIL Characteristic field: NIL

Stapelveld : NILStacking field: NIL

Foutmeldingsveld : NILError message field: NIL

Waarschijnlijkhei dsveld: 1Probability field: 1

Voor de invulling van het Kenmerkenveld wordt in een als eerste tabellarisch geheugen aan te duiden geheugendeel (zie tabel A) gekeken naar de onder categorie S aangeven Kenmerken. Daar in deze vóórheel dgrammati ca hierbij geen Kenmerken zijn aangegeven, blijft het bijbehorend veld leeg (NIL). Het geheugen omvat voorts nog een zogenaamd Representatiegeheugen voor opname van actuele Constituenten (bijvoorbeeld in lijstvorm als gebruikelijk is bij de programmeertaal LISP), waarmee de parser steeds zal werken. In dit Representatiegeheugen, welk tot nog toe leeg was, wordt de beginconstituent S ingeschreven.In order to fill in the Characteristics field, a memory section to be designated as the first tabular memory (see table A) looks at the Characteristics indicated under category S. Since no Characteristics are indicated in this preprogramme, the associated field remains empty (NIL). The memory also comprises a so-called Representation memory for recording current Constituents (for example in list form as is usual with the programming language LISP), with which the parser will always work. In this Representation Memory, which has hitherto been empty, the initial constituent S is written.

Vervolgens wordt bij stap 13 de k-teller teruggesteld naar de aan-vangswaarde "0", en wordt bij stap 14 de tel stand van de k-teller met "1" verhoogd. Na stap 14 komt het programma terecht bij stap 15, waarbij wordt onderzocht of alle woorden (inclusief de leestekens) in de zin al bij de syntactische analyse betrokken zijn geweest en of derhalve voor de tel stand van de k-teller geldt: k > kmax. Is dit het geval (Y) dan is blijkbaar ieder Woord in de Constituenten ondergebracht en dient de syntactische analyse als afgerond te worden beschouwd.Then, at step 13, the k-counter is reset to the initial value "0", and at step 14, the count of the k-counter is increased by "1". After step 14, the program arrives at step 15, which examines whether all words (including the punctuation marks) in the sentence have already been involved in the syntactic analysis and whether the count of the k-counter therefore applies: k> kmax . If this is the case (Y) then apparently every Word is included in the Constituents and the syntactic analysis should be considered as completed.

Is bij stap 15 de uitspraak k > kmax niet waar (N), dan gaat het programma verder naar stap 16. Daarbij zal het inpassen van het met behulp van de k-teller aangewezen woord in de op dat moment beschikbare Constituentstructuren een aanvang nemen, en wel in de nog niet afgesloten zijnde Constituentstructuren, die zich in het bovengenoemde representatiegeheugen bevi nden.If in step 15 the statement k> kmax is not true (N), the program proceeds to step 16. The fitting of the word indicated with the aid of the k-counter in the Constituent structures available at that time will commence, namely in the as yet unfinished Constituent structures, which are located in the aforementioned representation memory.

Van dit woord staan nu alle Woordstructuren Π) als gevolg van het lexical!satieproces ter beschikking. Bij het inpassen van een Woord met een zekere woordstructuur binnen een Constituent met een zekere Categorie zal het Woord in veel gevallen een bepaalde functie vervullen, en kan dus een zekere functionele Woordcategorie worden toegekend. Hetzelfde zal in een Tater stadium ook gelden voor Constituenten binnen hun Parentconstituent. Op grond van de Constituentcategorie enerzijds en de Woordcategorie anderzijds zal de functie (functionele Categorie) van het Woord binnen de Constituent worden bepaald. Is de omschreven inpassing van het Woord in bedoelde Constituent niet rechtstreeks mogelijk, dan is het soms mogelijk dat daaraan een nieuwe Constituent gekoppeld kan worden, waarbinnen de opname van het Woord mogelijk is. Hierbij kan nog worden opgemerkt, dat het opnemen van een Woordstructuur in een open Constituentstructuur op grond van een aantal grammaticaregels en vanwege het aantal Woordstructuren (lmaXj |ς) bij dat Woord (k) een zekere verveelvoudiging van het aantal Constituentstructuren kan opleveren. Daar de resultaten van het parseerpro-ces steeds in het Representatiegeheugen zullen worden opgenomen, en de actuele daarin voorkomende Constituentstructuren als ingangswaarden dienen te worden genomen voor het parseerproces, wordt bij stap 17 eerst een als "Tijdelijk Geheugen" aan te merken geheugendeel van de computer leeggemaakt, wordt vervolgens het Representatiegeheugen met al zijn Constituentstructuren bij stap 18 naar het Tijdelijk Geheugen overgeschreven, en wordt daarna bij stap 19 het Representatiegeheugen leeggemaakt. Van het navolgende programmagedeelte 20 zijn meedere varianten mogelijk. Deze zullen achtereenvolgens aan de hand van de figuren 3, 4 en 5 worden uiteengezet.All Word structures of this word are now available as a result of the lexicalization process. When fitting a Word with a certain word structure within a Constituent with a certain Category, the Word will in many cases fulfill a certain function, and thus a certain functional Word Category can be assigned. The same will also apply to Constituents within their Parent Constituent at a Tater stage. On the basis of the Constituent Category on the one hand and the Word Category on the other hand, the function (functional Category) of the Word within the Constituent will be determined. If the described incorporation of the Word into the aforementioned Constituent is not directly possible, it is sometimes possible that a new Constituent can be linked to it, within which the rapture of the Word is possible. It should also be noted that the inclusion of a Word structure in an open Constituent structure on the basis of a number of grammar rules and because of the number of Word structures (lmaXj | ς) in that Word (k) can yield a certain multiplication of the number of Constituent structures. Since the results of the parsing process will always be included in the Representation memory, and the current Constituent structures occurring therein must be taken as input values for the parsing process, in step 17 a memory part of the computer, to be designated as "Temporary Memory", is first empty, the Representation Memory with all its Constituent Structures is then transferred to the Temporary Memory in step 18, and then the Representation Memory is empty in step 19. Several variants of the following program section 20 are possible. These will be explained successively with reference to Figures 3, 4 and 5.

Er van uitgaande dat bij een Woord (k) met meerdere Woordstructuren (1) voor iedere structuur de aankoppelingsmogelijkheid nagegaan moet worden, omvat de computer een teleenheid (zogenaamde 1-teller), waarvan de tel stand telkenmale correspondeert met de betreffende woordstructuur.Assuming that with a Word (k) with several Word structures (1) the connection possibility must be checked for each structure, the computer comprises a counting unit (so-called 1-counter), the counting position of which corresponds each time to the relevant word structure.

Voor een volgend woord (k+1), dat in de aanwezige zinsdeel structuur (Sm) ondergebracht dient te worden, moet ook de 1-teiler weer naar 0 worden teruggesteld, hetgeen eveneens het geval is met de teleenheid (zogenaamde m-teller), welke de rangnummers (m) van de constituenten representeert.For a next word (k + 1), which must be included in the existing phrase structure (Sm), the 1-teiler must also be reset to 0, which is also the case with the counting unit (so-called m-counter) , which represents the rank numbers (m) of the constituents.

Dienovereenkomstig zal bij stap 21 in Fig. 3 de telstand van de 1-teller naar 0 worden teruggesteld (1=0), waarna bij stap 22 de telstand van de 1-teller met "1" wordt opgehoogd (1=1+1).Accordingly, at step 21 in FIG. 3 the count of the 1-counter is reset to 0 (1 = 0), after which in step 22 the count of the 1-counter is increased by "1" (1 = 1 + 1).

Bij stap 23 wordt de vraag gesteld of de telstand van de 1-teiler de maximumwaarde (lmaXj k^> welke het aantal Woordstructuren van het woord met rangnummer k representeert, reeds heeft overschreden (l^max)·In step 23, the question is asked whether the count of the 1-boiler has already exceeded the maximum value (lmaXj k ^> which represents the number of Word structures of the word with rank number k (l ^ max)

Bij een positieve beantwoording (Y) van deze vraag gaat het programma verder naar stap 24.If the question is answered positively (Y), the program proceeds to step 24.

Wordt de vraag bij stap 23 echter in negatieve zin (N) beantwoord, dan zal bij de volgende stap 25 de 1-de Woordstructuur uit het Woordge-heugen naar het Werkgeheugen worden gebracht ter overschrijving van de vorige Woordstructuur, teneinde op de nieuw ingeschreven Woordstructuur een aantal bewerkingen te kunnen uitvoeren. Vervolgens zal bij stap 26 de m-teller naar 0 worden teruggesteld (m=0), en wordt vervolgens bij stap 27 de telstand van de m-teller met "1“ verhoogd (m=m+l). Daarna vindt bij stap 28 de vraagstelling plaats of de telstand van de m-teller het getal ι%3Χ, dat het aantal alsdan voorkomende constituenten representeert, heeft overschreden (m>mmax). Is dit het geval (Y) dan is daarmee vast komen te staan, dat het in te passen woord (k) met de bewuste structuur (1) op aansluiting in alle op dat moment in het Tijdelijke Geheugen aanwezige Constituentstructuren onderzocht is, en dat derhalve dit programmaonderdeel herhaald dient te worden bij hetzelfde woord (k) maar dan voor een volgende Woordstructuur (1+1). Dienovereenkomstig maakt het programma een sprong terug, en komt het weer terecht bij stap 22. Bij een negatieve beantwoording (N) van de vraagstelling bij stap 28 volgt stap 29, alwaar de m-de Constituent uit het Tijdelijk Geheugen wordt opgehaald en naar het Werkgeheugen ter overschrijving van de vorige Constituent wordt gebracht. Aldus bevinden zich dus zowel de 1-de Woordstructuur van het k-de Woord en de m-de Constituent in het Werkgeheugen. Met deze twee structueren (Woordstructuur en Constituentstructuur) wordt in het programmagedeelte 30 een aantal bewerkingen uitgevoerd.However, if the question in step 23 is answered in a negative sense (N), then in the next step 25 the 1st Word structure will be brought from the Word memory to the Working memory to transfer the previous Word structure, in order to transfer to the newly registered Word structure perform a number of operations. Then, in step 26, the m-counter will be reset to 0 (m = 0), and then in step 27, the count of the m-counter is increased by "1" (m = m + l). Then, in step 28 the question arises whether the count of the m-counter has exceeded the number ι% 3Χ, which represents the number of constituents then occurring (m> mmax) .If this is the case (Y), then it has been established that the word (k) to be fitted with the conscious structure (1) after connection has been examined in all Constituent Structures currently present in the Temporary Memory, and that therefore this program part should be repeated with the same word (k) but then for a next Word structure (1 + 1) Accordingly, the program jumps back, and returns to step 22. In case of a negative answer (N) to the question in step 28, step 29 follows, where the mth Constituent from the Temporary Memory is retrieved and sent to working memory for oversc friction of the previous Constituent is brought. Thus, both the 1-th Word structure of the k-th Word and the m-th Constituent are in the Working Memory. With these two structures (Word structure and Constituent structure) a number of operations are performed in the program section 30.

In feite wordt dan geprobeerd de Woordstructuur binnen de Constituentstructuur onder te brengen, eventueel door het aanmaken van andere Constituentstructuren. Het programmagedeelte is verder in Fig. 6 uitgewerkt. Na uitvoering van het programmagedeelte 30 gaat het programma weer terug naar stap 27.In fact, an attempt is then made to place the Word structure within the Constituent structure, possibly by creating other Constituent structures. The program section is further shown in FIG. 6 elaborated. After execution of the program section 30, the program returns to step 27.

Wordt bij stap 28 de vraagstelling bevestigend beantwoord (Y), dan keert het programma terug naar stap 22. Daarmee is het proces om een woord rechts in the passen (word right associate-proces) voor één woordstructuur (1) bij één woord (k) op alle actuele constituenten (ι%3Χ) uitgevoerd.If in step 28 the question is answered in the affirmative (Y), the program returns to step 22. This means that the process is to fit a word right (word right associate-process) for one word structure (1) at one word (k ) performed on all current constituents (ι% 3Χ).

Wordt op zeker moment daarna bij stap 23 de vraagstelling bevestigend beantwoord (Y), dan gaat het programma verder naar stap 24. Op dat moment is het proces om "een woord rechts in te passen" voor alle woordcategorieën (l„,ax) bij een woord (k) op alle actuele constituenten (ι%3Χ) uitgevoerd, en zijn de aldus gevormde constituenten opgeslagen in het Representatiegeheugen. Al deze constituenten dienen nu aan een programmagedeelte voor het "afsluiten van constituenten" onderworpen te worden. Hiertoe zal eerst bij stap 24 het Tijdelijk Geheugen worden leeggemaakt en zullen bij de volgende stap 31 alle in het Representatiegeheugen opgeslagen constituenten naar het Tijdelijk Geheugen worden overgebracht. Vervolgens wordt bij stap 32 het Representatiegeheugen leeggemaakt. Bij de daarop volgende stap 33 wordt een m*-te!1er, waarvan de tel stand correspondeert met een bepaalde constituent in het Tijdelijk Geheugen, teruggesteld op 0 (m*=0). Bij de volgende stap 34 wordt de tel stand van de m*-teil er met "1" verhoogd (m*=m*+l). Daarna wordt bij stap 35 de vraag gesteld of de m*-teller de maximale waarde (m*max) overeenkomende met het aantal constituenten reeds heeft overschreden (πτ^πι^χ). Wordt op deze vraagstelling bevestigend geantwoord (Y), dan zijn alle representaties (m*max), die verkregen zijn bij alle woordcategorieën (lmax) van het k-de woord onderworpen geweest aan het programmagedeelte voor het "afsluiten van constituenten". Het programma keert dan terug naar stap 14 om met behulp van het volgende woord (k+1) representaties te maken.At some point after the question is answered in the affirmative at step 23 (Y), the program proceeds to step 24. At that point, the process of "inserting a word to the right" for all word categories (l „, ax) is a word (k) is performed on all current constituents (ι% 3Χ), and the constituents thus formed are stored in the Representation memory. All these constituents now need to be subjected to a "closing constituents" program section. To this end, the Temporary Memory will first be emptied at step 24, and at the next step 31 all constituents stored in the Representation Memory will be transferred to the Temporary Memory. Then, at Step 32, the Representation Memory is cleared. In the subsequent step 33, an m * -te! 1er, the count of which corresponds to a certain constituent in the Temporary Memory, is reset to 0 (m * = 0). In the next step 34, the count position of the m * -teil er is increased by "1" (m * = m * + l). Then, in step 35, the question is asked whether the m * counter has already exceeded the maximum value (m * max) corresponding to the number of constituents (πτ ^ πι ^ χ). If this question is answered in the affirmative (Y), then all representations (m * max) obtained in all word categories (lmax) of the kth word have been subject to the program section for "closing constituents". The program then returns to step 14 to make representations using the next word (k + 1).

Wordt echter de vraagstelling bij stap 35 ontkennend beantwoord (N), dan wordt bij de volgende stap 36 de m*-de representatie uit het Tij- del ijk Geheugen gehaald en vervolgens bij stap 37 aan het reeds genoemde programmagedeelte voor het "afsluiten van constituenten" onderworpen. Het tijdens deze stap verkregen resultaat wordt hierbij in het Representatiegeheugen geschreven, waarna het programma terugkeert naar stap 34.If, however, the question is answered in the negative in step 35 (N), then in the next step 36 the m * -th representation is taken from the Contemporary Memory and then in step 37 to the previously mentioned program section for "closing constituents". "subject. The result obtained during this step is hereby written into the Representation memory, after which the program returns to step 34.

Wordt bij stap 15 in Fig. 2 de vraagstelling bevestigend beantwoord (Y), dan zijn alle woorden (kmax) met alle bijbehorende Woordstructuren (lmax,k) 1n de constituenten ondergebracht, en wordt bij de volgende stap 38 de vraag gesteld of in het Representatiegeheugen tenminste één Constituent voorkomt, waarvan het Opdrachtveld leeg is. Een leeg Opdrachtveld geeft immers aan, dat we dan te maken hebben met de bovenste Constituent of Topconstituent (Root). Deze vraagstelling is reëel, daar in de stappen 30 en 37 een filterprocedure is ingebouwd, welke ondeugdelijke representaties wegfiltert (elimineert), en wel aan de hand van een drempel schakeling, waarin de waarde van het Waarschijnlijkheidsveld vergeleken wordt met de actuele drempelwaarde. Dit vergelijkend onderzoek zal nader in de figuren 6 t/m 9 worden uiteengezet.At step 15 in FIG. 2 the question is answered in the affirmative (Y), then all words (kmax) with all associated Word structures (lmax, k) 1n are placed in the constituents, and in the next step 38 the question is asked whether at least one Constituent exists in the Representation Memory. the Command field is empty. After all, an empty Command field indicates that we are dealing with the upper Constituent or Top constituent (Root). This question is real, because in steps 30 and 37 a filtering procedure has been built in, which filters out (eliminates) faulty representations, and this by means of a threshold circuit in which the value of the Probability field is compared with the current threshold value. This comparative study will be further explained in Figures 6 to 9.

Bij een ontkennende beantwoording (N) van de vraagstelling bij stap 38 dient nagegaan te worden of het aldus beschreven programmagedeelte over de parser bij een lagere drempelwaarde wel een bruikbaar resultaat, d.w.z. een zinvolle representatie zal opleveren. Echter mag de drempelwaarde niet beneden een bepaalde waarde, bijvoorbeeld 0,2 worden gebracht, daar dan geacht wordt dat de aangeboden zin structureel en grammaticaal zodanig fout is, dat geen bruikbare representatie uit het parserproces verwacht mag worden. Dienovereenkomstig zal bij een ontkennende beantwoording (N) van de vraagstelling bij stap 38 gedurende de volgende stap 39 de vraag worden gesteld of de drempelwaarde nog boven een vooraf gestelde minimumwaarde, bijvoorbeeld 0,2 ligt. Bij een bevestigend antwoord (Y) zal bij de volgende stap 40 de drempelwaarde volgens een vaste reeks getalswaarden op een volgende, lagere getalswaarde worden gesteld. Het programma zal vervolgens weer terugkeren naar stap 12 om het programma met betrekking tot het parseren van de aangeboden zin weer opnieuw uit te voeren, maar dan aan de hand van een lagere drempelwaarde. Daarmee zijn ook grammaticaal niet-correcte zinnen toegestaan. Wordt de vraagstelling bij stap 39 ontkennend beantwoord (N), en moet er dus vanuit worden gegaan, dat er geen bruikbare analyse te vinden is, dan zal een daarmee overeenstemmende actie moeten worden genomen. De zin kan eventueel worden aangemerkt als zijnde verdacht, met vermoedelijk veel en/of zeer ernstige grammaticale fouten. Eventueel kan hiervan ook nog een melding worden gemaakt. Het is toegestaan om de stap 40 te laten voorafgaan aan stap 39, waarbij stap 39 dan een andere waarde als criterium krijgt. Bij een bevestigend antwoord (Y) op de vraag van stap 38, en dus bij aanwezigheid van tenminste één representatie van de Topconstituent worden bij de volgende stap 42 de structuurelementenvelden van de aanwezige Topconstituenten aangepast. Daarbij wordt uitgegaan van de situatie dat de bij de zin behorende structuur reeds is aangemaakt. Een aantal Opdrachtvelden moet echter nog worden ingevuld of aangepast. De in het Representatiegeheugen voorkomende Constituenten (Parentconstituenten) zullen in hun structuurelementveld een aantal Constituenten (Memberconstituenten) en/of Woorden (Memberwoorden) bevatten. Een memberconstituent is een constituent die gedomineerd wordt door diens parentconstituent. Het Opdrachtveld van deze Memberconstituenten en Memberwoorden wordt nu opgevuld met een aanduiding of verwijzing naar de desbetreffende Parentconstituent. Op deze manier worden de Opdrachtvelden van alle Memberconstituenten en Memberwoorden, welke in het Structuurelement van een bepaalde Parent-constituent vermeld staan, ook voorzien van een aanduiding of verwijzing betreffende deze Parentconstituent. Hetzelfde gebeurt ook voor ieder Opdrachtveld van de Constituenten en de Woorden binnen een Constituent, waarvan het Opdrachtveld tijdens het parseerproces is ingevuld.If there is a negative answer (N) to the question in step 38, it must be ascertained whether the program section thus described about the parser will yield a useful result, i.e. a meaningful representation, at a lower threshold value. However, the threshold value may not be lowered below a certain value, for example 0.2, since it is then considered that the sentence presented is structurally and grammatically wrong in such a way that no useful representation from the parsing process should be expected. Accordingly, if the question is answered negatively (N) at step 38 during the next step 39, the question will be asked whether the threshold value is still above a predetermined minimum value, for example 0.2. In the affirmative answer (Y), in the next step 40, the threshold value will be set to a next lower number value according to a fixed series of number values. The program will then return to step 12 to rerun the program with regard to parsing the sentence presented, but at a lower threshold value. This also allows grammatically incorrect sentences. If the question in question 39 is answered in the negative (N), and therefore it must be assumed that no useful analysis can be found, then a corresponding action will have to be taken. The sentence can possibly be classified as suspicious, with presumably many and / or very serious grammatical errors. If necessary, a notification can also be made. It is allowed to let step 40 precede step 39, wherein step 39 then takes another value as a criterion. In the affirmative answer (Y) to the question of step 38, and thus in the presence of at least one representation of the Summit constituent, in the next step 42 the structural element fields of the Summit constituents present are adjusted. This is based on the situation that the structure associated with the sentence has already been created. However, a number of Command Fields have yet to be completed or modified. The Constituents (Parent Constituents) occurring in the Representation Memory will contain a number of Constituents (Member Constituents) and / or Words (Member Words) in their structural element field. A member constituent is a constituent dominated by its parent constituent. The Mission field of these Member constituents and Member words is now filled with an indication or reference to the relevant Parent constituent. In this way, the Command fields of all Member constituents and Member words, which are mentioned in the Structural Element of a certain Parent constituent, are also provided with an indication or reference concerning this Parent constituent. The same also happens for every Command field of the Constituents and the Words within a Constituent, of which the Command field has been completed during the parsing process.

Daar tijdens het parseerproces tijdelijke functionele labels kunnen zijn toegekend worden deze bij stap 43 vervangen door definitieve. In de nog te beschrijven voorbeeldgrammatica wordt het voorlopige label fNP gebruikt voor iedere Constituent met de Categorie NP binnen onder andere een Constituent met Categorie S. Tijdens deze stap worden dergelijke labels vervangen door de definitieve labels "Onderwerp" (Subject), "Lijdend Voorwerp" (Object), "Meewerkend Voorwerp" (Indobj.) en "Predicaat" (Pred). Deze stap 43 zal in een later stadium verder worden uiteengezet. Bij stap 44 wordt tenslotte uit het Representatiegeheugen die Repesentatie geselecteerd, welke de hoogste waarschijn!ijkheidsfactor bezit. Ook kan dit resulteren in meerdereSince temporary functional labels may have been assigned during the parsing process, they are replaced in step 43 by permanent ones. In the example grammar to be described, the provisional label fNP is used for each Constituent with the Category NP within, among others, a Constituent with Category S. During this step such labels are replaced by the final labels "Subject", "Suffering Object" (Object), "Contributing Object" (Indobj.) And "Predicate" (Pred). This step 43 will be further explained at a later stage. Finally, at Step 44, that Representation having the highest probability calibration factor is selected from the Representation Memory. This can also result in several

Representaties. Zo zullen er in de zin "Ik zag een meisje met de verrekijker." twee oplossingen mogelijk zijn, daar het zinsdeel "met de verrekijker" een nadere bepaling bij het "werkwoord" alswel bij het "Lijdend Voorwerp" kan zijn.Representations. For example, in the sentence "I saw a girl with the binoculars." two solutions are possible, since the phrase "with the binoculars" can be a more detailed definition of the "verb" as well as of the "Suffering Object".

Een tweede uitvoeringsvorm van het programmagedeel te 20 zal nu eveneens aan de hand van Fig. 3 worden uiteengezet. Daarbij verwijst de index 1 nu naar een zekere constituentstructuur (en niet naar een zekere Woordstructuur), terwijl daardoor de index m verwijst naar een bepaalde woordstructuur. Als lopende index bij de stappen 33 tot en met 37 moet dan 1* resp. l*max i.p.v. m* en m*max gehanteerd worden. Dienovereenkomstig wordt bij stap 21 de tel stand van de 1-teil er met betrekking tot het rangnummer van de te gebruiken constituent teruggesteld op "0" (1 = 0), zal bij stap 22 de tel stand van de 1-teller met "1" worden verhoogd (1 =1 +1), en zal bij stap 23 de vraag worden gesteld of de tel stand van de 1-teiler de maximale waarde (lmax), overeenkomend met het aanwezige aantal constituenten, reeds overschreden heeft (1 > lmax)· Bij stap 25 wordt de door de tel stand van de 1-tel 1 er aangeduide constituent uit het Tijdelijk Geheugen opgehaald, welke constituent de vorige Constituent in het Werkgeheugen zal overschrijven. Voorts wordt bij stap 26 de m-teller, waarvan de tel stand correspondeert met het rangnummer van een zekere Woordcategorie, teruggesteld op 0 (m = 0). Bij stap 27 wordt de tel stand van de m-teller met "1" verhoogd (m = m + 1) en bij stap 28 wordt de vraag gesteld of de tel stand van de m-teller de maximale waarde ι%,χ, overeenkomend met het aantal woordstructuren, reeds heeft overschreden (m > mmax). Bij stap 29 wordt het m-de Woord uit het Woordgeheugen opgehaald en zal het m-de Woord het vorige woord in het werkgeheugen overschrijven. Het m-de Woord en de 1-de Constituent worden dan onderworpen aan het aanpassingsproces van stap 30.A second embodiment of the program part te 20 will now also be described with reference to Figs. 3 are explained. In addition, the index 1 now refers to a certain constituent structure (and not to a certain Word structure), while thereby the index m refers to a certain word structure. As a running index at steps 33 to 37, 1 * resp. l * max can be used instead of m * and m * max. Accordingly, at step 21, the count of the 1 counter is reset to "0" (1 = 0) with respect to the rank number of the constituent to be used, at step 22, the count of the 1 counter with "1" "are increased (1 = 1 +1), and in step 23 the question will be asked whether the count of the 1-boiler has already exceeded the maximum value (lmax), corresponding to the number of constituents present (1> lmax In step 25, the constituent indicated by the count of the 1-count 1 er is retrieved from the Temporary Memory, which constituent will overwrite the previous Constituent in the Working memory. Furthermore, at step 26, the m-counter, the count of which corresponds to the rank number of a certain Word category, is reset to 0 (m = 0). In step 27 the count position of the m counter is increased by "1" (m = m + 1) and in step 28 the question is asked whether the count position of the m counter corresponds to the maximum value ι%, χ, with the number of word structures, has already exceeded (m> mmax). At step 29, the mth Word is retrieved from the Word memory and the mth Word will overwrite the previous word in the working memory. The m-th Word and the 1-th Constituent are then subjected to the adjustment process of step 30.

Een bevestigend antwoord (Y) op de vraag bij stap 28 houdt in, dat alle woordstructuren (ι%3Χ) bij één woord (k) op aansluiting op één Constituent (1) in het programmagedeelte 20 zijn onderzocht. De overige stappen verlopen overeenkomstig als reeds is beschreven.An affirmative answer (Y) to the question at step 28 implies that all word structures (ι% 3Χ) at one word (k) after connection to one Constituent (1) in the program section 20 have been examined. The other steps proceed as described above.

Bij de reeds beschreven uitvoeringsvormen worden eerst alle mogelijke representaties van constituenten aangemaakt of uitgebreid, welke bij één woord (k) voor alle woordstructuren aan de hand van beschikbare constituenten mogelijk zijn, voordat het programmagedeelte 37 voor het "afsluiten van deze constituenten" wordt uitgevoerd.In the embodiments already described, all possible representations of constituents are first created or expanded, which are possible with one word (k) for all word structures on the basis of available constituents, before the program part 37 for "closing these constituents" is executed.

In de volgende uitvoeringsvorm worden eerst alle mogelijke representaties (m*max) van constituenten aangemaakt of uitgebreid, welke bij één Woord (k) voor één Woordstructuur (T) aan de hand van alle constituenten (%ax) moge!ijk zijn, voordat het programmagedeelte 37 voor het afsluiten van deze constituenten (m*) wordt uitgevoerd. Daarna wordt hetzelfde programmagedeelte herhaald, maar dan voor een volgende Woordstructuur (1 + 1).In the following embodiment, all possible representations (m * max) of constituents are first created or expanded, which for one Word (k) for one Word structure (T) may be based on all constituents (% ax), before the program section 37 for closing these constituents (m *) is executed. Then the same part of the program is repeated, but for a subsequent Word structure (1 + 1).

De op deze gedachtengang berustende derde uitvoeringsvorm is in Fig. 4 weergegeven.The third embodiment based on this train of thought is shown in FIG. 4 is shown.

Bij stap 21 wordt de 1-telIer betreffende het rangnummer van een Woordstructuur bij Woord (k) op "0" teruggesteld (1 = 0), en bij stap 22 wordt de tel stand van de 1-teiler met "1" verhoogd (1 =1 +1). Vervol gens wordt bij stap 23 de vraag gesteld of de tel stand van de 1-teller de maximale waarde Umax) reeds heeft overschreven (1 > lmax). Bij stap 25 wordt het woord met de door de 1-telIer gedefinieerde Woordstructuur uit het Woordgeheugen gehaald en in het Werkgeheugen geplaatst. Vervolgens wordt bij stap 26 de m-teller waarvan de telstand het rangnummer van een constituent in het Tijdelijk Geheugen representeert, teruggesteld naar "0" (m = 0), en wordt bij stap 27 de telstand van de m-teller met "1“ verhoogd (m - m + 1). Bij stap 28 wordt de vraag gesteld of alle constituenten (%ax) reeds op aansluiting door het programmagedeelte van stap 30 zijn onderzocht (m > fflmax}· Wordt de vraag ontkennend beantwoord (N), dan wordt bij stap 29 de door de telstand van de m-teller gedefinieerde constituent uit het lijdelijk Geheugen te voorschijn gehaald en in het Werkgeheugen geplaatst, waarna bij stap 30 de aansluiting van de 1-de Woordstructuur op de m-de Constituentstructuur wordt onderzocht, en het resultaat ervan in het Representatiegeheugen wordt ingeschreven.In step 21 the 1-grower concerning the rank number of a Word structure at Word (k) is reset to "0" (1 = 0), and in step 22 the count of the 1-boiler is increased by "1" (1 = 1 +1). Then, in step 23, the question is asked whether the count of the 1-counter has already exceeded the maximum value Umax) (1> 1max). In step 25, the word with the Word structure defined by the 1-counter is taken from the Word memory and placed in the Working memory. Then, in step 26, the m-counter whose count represents the rank number of a constituent in the Temporary Memory is reset to "0" (m = 0), and in step 27, the count of the m-counter is reset by "1" increased (m - m + 1) In step 28 the question is asked whether all constituents (% ax) have already been examined for connection by the program part of step 30 (m> fflmax} · If the question is answered negatively (N), then in step 29 the constituent defined by the count of the m-counter is taken out of the temporal Memory and placed in the Working Memory, after which in step 30 the connection of the 1-th Word structure to the m-th Constituent structure is examined, and its result is written into Representation memory.

Bij een bevestigende beantwoording van de vraagstelling bij stap 28 worden bij de volgende stap 45 de inhouden van het Representatiegeheugen en die van lijdelijk Schakel geheugen met elkaar verwisseld, waarna bij stap 32 het Representatiegeheugen wordt leeggemaakt. Vervolgens wordt bij stap 33 de m*-tener, waarvan de telstand het rangnummer van een bepaalde Constituent in het Tijdelijk Schakel geheugen repesenteert, teruggesteld naar "0" (m* = 0). Bij stap 34 wordt de telstand van de m*-teller met "1" verhoogd (m* = m* + 1), en wordt bij stap 35 de vraag gesteld of de tel stand van de m*-teller de maximale waarde reeds heeft overschreden (m* > m*max). Is dit niet het geval (N), dan wórdt de door de m*-teller aangeduide constituent bij stap 36 uit het Tijdelijk Schakel geheugen gehaald en bij stap 37 aan het programmagedeelte voor het afsluiten van Constituent onderworpen. Het resultaat wordt vervolgens in het Represen-tatiegeheugen opgeborgen, en het programma gaat terug naar stap 34. Wordt de vraagstelling bij stap 35 bevestigend (Y) beantwoord, dan wordt bij de volgende stap 47 de inhoud van het Representatiegeheugen gekopieerd naar een buffergeheugen en bij stap 48 het Representatiegeheugen leeggemaakt.In the affirmative answer to the question in step 28, in the next step 45, the contents of the Representation memory and those of the passive Switch memory are exchanged, after which in step 32 the Representation memory is cleared. Then, at step 33, the m * tener, whose count represents the rank number of a particular Constituent in the Temporary Switch memory, is reset to "0" (m * = 0). In step 34 the count position of the m * counter is increased by "1" (m * = m * + 1), and in step 35 the question is asked whether the count position of the m * counter already has the maximum value exceeded (m *> m * max). If this is not the case (N), the constituent indicated by the m * counter is removed from the Temporary Switch memory at step 36 and subjected to the Constituent exit program part at step 37. The result is then stored in the Represents memory, and the program goes back to step 34. If the question is answered affirmatively (Y) in step 35, in the next step 47 the contents of the Representation memory are copied to a buffer memory and step 48 the Representation memory is cleared.

Daarna gaat het programma terug naar stap 22. Het aldus uitgevoerde programmagedeelte wordt dan herhaald, maar dan voor de volgende Woordstructuur (1+1) bij het k-de woord.The program then goes back to step 22. The program part thus executed is then repeated, but then for the next Word structure (1 + 1) at the kth word.

Wordt de vraagstelling bij stap 23 bevestigend beantwoord (Y), dan gaat het programma naar stap 46, waarbij het buffergeheugen naar het Representatiegeheugen gekopieerd wordt en vervolgens het buffergeheugen leeggemaakt wordt. Daarna gaat het programma terug naar stap 14 (zie Fig. 2).If the question in question 23 is answered in the affirmative (Y), the program goes to step 46, in which the buffer memory is copied to the Representation memory and then the buffer memory is emptied. The program then goes back to step 14 (see Fig. 2).

In plaats van het resultaat van de processtappen 37 en 30 eerst in het Representatieve geheugen te plaatsen en vervolgens in het Buffergeheugen is het ook mogelijk het resultaat direct in het Buffergeheugen te plaatsen. Wél zal dit de nodige consequenties hebben bij de behandeling van deze programmagedeelten in Fig. 6 en 9.Instead of placing the result of the process steps 37 and 30 first in the Representative memory and then in the Buffer memory, it is also possible to place the result directly in the Buffer memory. However, this will have the necessary consequences when dealing with these program parts in Fig. 6 and 9.

Een vierde uitvoeringsvorm, welke op overeenkomstige wijze van bovenstaande uitvoeringsvorm verschilt als de tweede uitvoeringsvorm ten opzichte van de eerste uitvoeringsvorm zal nu nader worden omschreven. Daarbij verwijzen de indices 1 en m naar een rangnummer met betrekking tot een Constituent respectievelijk een Woord. Als lopende index bij de stappen 33 tot en met 37 zal de aanduiding 1* worden gehanteerd.A fourth embodiment, which similarly differs from the above embodiment as the second embodiment from the first embodiment, will now be described in more detail. The indices 1 and m refer to a rank number with respect to a Constituent and a Word, respectively. The indication 1 * will be used as the running index in steps 33 to 37.

Dienovereenkomstig wordt bij stap 21 de tel stand van de 1-teller met verwijzing naar de te gebruiken Constituent teruggesteld op "0",(1 = 0), zal bij stap 22 de tel stand van de 1-telIer met "1" worden verhoogd (1 =1 +1), en zal bij stap 23 de vraag worden gesteld of de tel stand van de 1-tel Ier de maximale waarde (lmax), overeenkomend met het aantal aanwezige constituenten, reeds heeft overschreden (1 > linax)· Bij stap 25 wordt de door de tel stand van de 1-teil er aangeduide Constituent uit het Tijdelijk Geheugen opgehaald en in het Werkgeheugen geplaatst. Voorts wordt bij stap 26 de m-teller, waarvan de tel stand correspondeert met het rangnummer van een zekere Woordstructuur, teruggesteld op "0" (m = 0). Bij stap 27 wordt de tellerstand van de m-teller met "1“ verhoogd (m = m + 1} en bij stap 28 wordt de vraag beantwoord of de tel stand van de m-teller de maximale waarde ι%3Χ, overeenkomend met het aantal woordstructuren, reeds heeft overschreden (m > i%iax).Accordingly, at step 21, the count of the 1-counter with reference to the Constituent to be used is reset to "0", (1 = 0), at step 22, the count of the 1-counter is increased by "1" (1 = 1 +1), and in step 23 the question will be asked whether the count of the 1-count Irish has already exceeded the maximum value (lmax), corresponding to the number of constituents present (1> linax) At step 25, the Constituent indicated by the count of the 1-te er is retrieved from the Temporary Memory and placed in the Working Memory. Furthermore, at step 26, the m-counter, the count of which corresponds to the rank number of a certain Word structure, is reset to "0" (m = 0). In step 27 the counter position of the m counter is increased by "1" (m = m + 1} and in step 28 the question is answered whether the counter position of the m counter has the maximum value ι% 3Χ, corresponding to the number of word structures, has already exceeded (m> i% iax).

Bij stap 29 wordt de m-de woordstructuur uit het Woordgeheugen opgehaald en in het Werkgeheugen geplaatst. Deze m-de Woordstructuur en de 1-de Constituent worden dan onderworpen aan het inpassingsproces van stap 30, waarbij het resultaat in het Representatiegeheugen wordt opgeslagen, en het programma terugkeert naar stap 27. Aldus houdt een bevestigend antwoord (Y) op de vraag bij stap 28 in, dat alle Woordstructuren (%ax) bij één woord (k) op aansluiting op één constituent (1) in het programmagedeelte 30 zijn onderzocht; hierna wordt bij stap 45 de inhoud van het Representatiegeheugen in het Tijdelijk Schakel geheugen overgevoerd, en wordt het Representatiegeheugen leeggemaakt. Vervolgens begint bij stap 33 een fase, welke leidt tot het afsluitproces van de aanwezige Constituenten bij stap 37. Wordt bij stap 35 de vraagstelling bevestigend beantwoord (Y), dan gaat het programma naar stap 47, waarna het aldus beschreven programmagedeelte herhaald wordt, maar dan voor de volgende Constituent (1 + 1) in het Tijdelijk Geheugen. Wordt de vraagstelling bij stap 23 bevestigend beantwoord (Y), dan keert het programma via stap 46 terug naar stap 14 (zie Fig. 2).At step 29, the mth word structure is retrieved from the Word memory and placed in the Working memory. This m-th Word structure and the 1-th Constituent are then subjected to the incorporation process of step 30, the result being stored in Representation memory, and the program returning to step 27. Thus, an affirmative answer (Y) to the question keeps track step 28, that all Word structures (% ax) at one word (k) after connection to one constituent (1) in the program section 30 have been examined; then, at step 45, the contents of the Representation Memory are transferred to the Temporary Switch memory, and the Representation Memory is cleared. Subsequently, a phase begins at step 33, which leads to the closing process of the Constituents present at step 37. If the question is answered in the affirmative at step 35 (Y), the program proceeds to step 47, after which the program part thus described is repeated, but then for the next Constituent (1 + 1) in the Temporary Memory. If the question in question 23 is answered in the affirmative (Y), the program returns via step 46 to step 14 (see Fig. 2).

In Fig. 5 is een vijfde uitvoeringsvorm van het programmagedeelte 20 weergegeven, welke berust op de gedachte om telkenmale nadat één Woord en één Constituent zijn overgebracht naar het Werkgeheugen, zowel het programmagedeelte 30 omtrent het inpassen van dat Woord aan die Constituent, alswel direct daarop volgend het programmagedeelte 37 omtrent het afsluiten van de verkregen Constituenten te laten plaatsvinden. Dienovereenkomstig wordt bij stap 21 de 1-telIer, waarvan de tel stand het rangnummer van de Woordstructuur representeert op "0" teruggesteld (1 = 0), wordt bij stap 22 de tel stand van de 1-telIer met "1" verhoogd (1 =1 +1), en wordt bij stap 23 de vraag gesteld of de tel stand met de 1-teil er de maximale waarde Omax)» welke overeenkomt met het aantal Woordstructuren bij het k-de woord, reeds heeft overschreden. Is dit niet het geval (N), dan wordt bij stap 25 de door de 1-telIer aangeduide 1-de Woordstructuur uit het Woordge-heugen gehaald en in het Werkgeheugen geschreven. Vervolgens wordt bij stap 26 de m-teller, waarvan de tel stand met het rangnummer van de inde constituent in het Tijdelijk Geheugen correspondeert, teruggesteld op "0" (m = 0), en bij de volgende stap 27 de tel stand van m-teller met 'T' verhoogd (m = m + 1). Bij stap 28 wordt de vraag gesteld of de tel stand van de m-teller de maximale waarde (%ax)» overeenkomende met het aantal constituenten in het Tijdelijk Geheugen, reeds heeft overschreden (m > mmax). Is dit niet het geval (N), dan wordt bij de volgende stap 29 de m-de Constituent uit het Tijdelijk Geheugen naar het Werkgeheugen geschreven. Vervolgens wordt het programmagedeelte 30 betreffende de aansluiting van de 1-de Woordstructuur aan de m-de Constituentstructuur uitgevoerd, en in het Representatiegeheugen opgenomen. Direct daarna wordt de aangevulde (of nieuwe) constituent(-en) uit het Representatiegeheugen opgehaald en verwijderd en vervolgens aan het programmagedeelte 37 betreffende de afsluiting ervan onderworpen. Tijdens stap 37 wordt het resultaat in het Representatiegeheugen ingeschreven, waarna het programma terugkeert naar stap 27.In FIG. 5 shows a fifth embodiment of the program part 20, which is based on the idea that each time after one Word and one Constituent have been transferred to the Working Memory, both the program part 30 regarding the fitting of that Word to that Constituent, as well as immediately after the program part 37 to take place regarding the closing of the obtained Constituents. Accordingly, at step 21, the 1-counter, whose count represents the rank of the Word structure, is reset to "0" (1 = 0), at step 22, the count of the 1-counter is increased by "1" (1 = 1 +1), and in step 23 the question is asked whether the count with the 1-teil has already exceeded the maximum value Omax), which corresponds to the number of Word structures at the kth word. If this is not the case (N), then in step 25 the 1-th Word indicated by the 1-counter is taken from the Word memory and written into the Working memory. Then, in step 26, the m-counter, whose count position corresponds to the rank number of the constituent in the Temporary Memory, is reset to "0" (m = 0), and in the next step 27 the count position of m- counter increased by 'T' (m = m + 1). At step 28, the question is asked whether the count of the m-counter has already exceeded the maximum value (% ax) »corresponding to the number of constituents in the Temporary Memory (m> mmax). If this is not the case (N), in the next step 29 the mth Constituent is written from the Temporary Memory to the Working Memory. Then, the program portion 30 regarding the connection of the 1 st Word structure to the m th Constituent structure is executed and included in the Representation Memory. Immediately thereafter, the replenished (or new) constituent (s) is retrieved from Representation Memory and removed and then subjected to the program portion 37 regarding its termination. During step 37, the result is written into Representation memory, after which the program returns to step 27.

Wordt de vraagstelling van stap 28 bevestigend beantwoord (Y), dan keert het programma terug naar stap 22.If the question of step 28 is answered in the affirmative (Y), the program returns to step 22.

Wordt bij stap 23 de vraagstelling bevestigend beantwoord (Y), dan keert het programma terug naar stap 14 (zie Fig. 2).If in step 23 the question is answered in the affirmative (Y), the program returns to step 14 (see Fig. 2).

Bij een zesde uitvoeringsvorm worden de indices 1 en m in vergelijking met die van de vijfde uitvoeringsvorm verwisseld.In a sixth embodiment, indices 1 and m are swapped compared to those in the fifth embodiment.

Derhalve hebben de stappen 21, 22, 23 en 25 betrekking op de Consti-tuentrepresentatie met index 1 en stappen 26, 27, 28 en 29 op de Woordstructuur met index m.Therefore, steps 21, 22, 23 and 25 relate to the Constituent representation with index 1 and steps 26, 27, 28 and 29 to the Word structure with index m.

Aan de hand van het flowdiagram van Fig. 6 zal nu het programmagedeel te 30 gedetailleerd worden uiteengezet.Using the flow diagram of Fig. 6, the program section will now be explained in too much detail.

Middels dit programmagedeelte wordt getracht de aangeboden Woordstructuur in de aangeboden Constituentstructuur onder te brengen. Ofschoon een interpunctie als de "komma" en de voegwoorden "en", "alsmede" en "of" als Woorden worden aangemerkt, en als zodanig in het lexicologisch geheugen ook zijn opgeborgen, nemen zij toch een aparte positie in ten opzichte van andere Woorden bij het parseerproces; zij kunnen worden behandeld als een Memberelement binnen een nieuwe te creëren Parentconstituent van de betreffende Constituent, waarbinnen het proces van inpassen van die voegwoorden of interpunctie eigenlijk zou moeten plaatsvinden. Om deze reden zullen dergelijke voegwoorden en genoemde interpunctie een andere route binnen het proces van inpassen van woorden volgen. Vandaar dat aan het begin van dit program-magedeelte bij stap 50 de vraag gesteld wordt of de Woordcategorie van het aangeboden en in te passen Woord in het lexicaal geheugen wordt aangegeven met "Seq". Is dit het geval (Y), dat gaan het programma naar stap 51. Is dit niet het geval (N), dan wordt bij de volgende stap 52 de Woordstructuur alswel de Constituentstructuur, waarbinnen het Woord wordt ingepast, naar het Werkgeheugen geschreven. Vervolgens wordt bij stap 53 aan de hand van de informatie over het Categorieveld van het Woord en die van de aangeboden Constituent een zoekactie gevoerd in een als tweede tabellarisch geheugen aan te duiden geheugendeel over grammaticaregels. Zo hoort bijvoorbeeld in de aangegeven voorbeeldgrammatica bij de Woordcategorie "article" en de aangeboden Constituent "NP" de grammaticaregel "article (NP(det))", hetgeen inhoudt, dat het Woord middels de funtionele label "det" wordt ingepast in de aangeboden Constituent. Meerdere grammaticaregels van dit type zijn te vinden in bijgevoegde tabel B.By means of this program part an attempt is made to place the offered Word structure in the offered Constituent Structure. Although a punctuation such as the "comma" and the conjunctions "and", "as well as" and "or" are considered as Words, and as such are also stored in lexicological memory, they still occupy a separate position with respect to other Words in the parsing process; they can be treated as a Member element within a new Parent Constituent to be created of the respective Constituent, within which the process of fitting those conjunctions or punctuation should actually take place. For this reason, such conjunctions and said punctuation will follow a different path within the word fitting process. Hence, at the beginning of this program section at step 50, the question is asked whether the Word category of the Word presented and to be fitted is indicated in the lexical memory with "Seq". If this is the case (Y), the program goes to step 51. If this is not the case (N), then in the next step 52 the Word structure as well as the Constituent structure, within which the Word is fitted, is written to the Working memory. Then, at step 53, on the basis of the information about the Category field of the Word and that of the offered Constituent, a search is carried out in a memory section to be designated as second tabular memory on grammar rules. For example, in the example grammar indicated, the word category "article" and the constituent "NP" offered belong to the grammar rule "article (NP (det))", which means that the word is incorporated into the offered word by means of the functional label "det". Constituent. Several grammar rules of this type can be found in attached table B.

Bij de volgende stap 54 wordt de vraag gesteld of de gevraagde grammaticaregel bestaat en derhalve een gegevensveld bezit. Is het gege-vensveld leeg (Y), en de grammaticaregel derhalve niet voorziet in een functioneel Woordlabel, dan wordt het programmagedeelte 30 betreffende de aansluiting van een Woord binnen een Constituent als beëindigd beschouwd. Dit is bijvoorbeeld het geval, wanneer de aansluiting van een werkwoord (verb) in een NP onderzocht dient te worden; dit biedt immers geen oplossing (label!engte = 0). Bij een ontkennend antwoord (N) bij stap 54 wordt bij de volgende stap 55 de vraag gesteld of de grammaticaregel een gegevensveld met slechts één functioneel label bezit. Is dit het geval (Y), zoals bij de regel "article (NP(det))", dan wordt bij het volgende programmagedeelte 56 het aangeboden woord, in casu "article", met het functionele label, in casu "det", binnen de huidige Constituentstructuur opgenomen. Dit programmagedeelte zal nader aan de hand van Fig. 7 worden uiteengezet. Wordt echter bij stap 55 een ontkennend antwoord gegeven (N) en komen er dus meerdere elementen voor in het gegevensveld, zoals het geval is bij de grammaticaregel "article (PP(det NP))", dan wordt bij de volgende stap 57 voor het laatste element in casu NP een nieuwe Constituent aangemaakt, welke tussen de Parentconstituent PP en het Woord "article" wordt opgenomen.The next step 54 asks whether the requested grammar rule exists and therefore has a data field. If the data field is empty (Y), and the grammar line therefore does not provide a functional Word label, then the program section 30 regarding the connection of a Word within a Constituent is considered to be finished. This is the case, for example, when the connection of a verb (verb) in an NP needs to be investigated; after all, this does not offer a solution (label! narrow = 0). In the negative answer (N) at step 54, the next step 55 asks whether the grammar line has a data field with only one functional label. If this is the case (Y), as with the line "article (NP (det))", then in the next program section 56 the word presented, in this case "article", with the functional label, in this case "det", incorporated within the current Constituent structure. This program section will be explained in more detail with reference to FIG. 7 are explained. However, if a negative answer is given in step 55 (N) and thus multiple elements occur in the data field, as is the case with the grammar rule "article (PP (det NP))", then in the next step 57 last element in this case NP created a new Constituent, which is inserted between the Parent constituent PP and the Word "article".

Deze nieuwe Constituent krijgt daarmee de volgende structuur: Categorieveld: het laatste element van de grammaticaregel in casu NP. Opdrachtveld: Parentconstituent in casu PP.This new Constituent thus has the following structure: Category field: the last element of the grammar rule in this case NP. Mission field: Parent constituent in this case PP.

Structuurelementenveld: NIL, dat wil zeggen het veld bevat geen informatie.Structural Element Field: NIL, that is, the field contains no information.

Kenmerkenveld: Al de bij deze Constituentcategorie (NP) behorende kenmerken, welke aan het eerste tabellarisch geheugen kunnen worden ontleend. In dit geval: "neuter, inneuter, sing 1, sing 2, sing 3, plu 1, plu 2, plu 3, definite, indefinite". Meerdere voorbeelden van dit type zijn opgenomen in tabel A.Characteristic field: All the characteristics belonging to this Constituent Category (NP), which can be derived from the first tabular memory. In this case: "neuter, inneuter, sing 1, sing 2, sing 3, plu 1, plu 2, plu 3, definite, indefinite". Several examples of this type are included in Table A.

Stapelveld: NIL, dat wil zeggen het veld bevat geen informatie. Foutmeldingsveld: NIL, dat wil zeggen, het veld bevat geen informatie.Stacking field: NIL, ie the field contains no information. Error message field: NIL, that is, the field contains no information.

Waarschijnlijkheidsveld: 1.Probability field: 1.

Deze nieuwe Constituentstructuur wordt nu als de huidige consti-tuentstructuur beschouwd.This new constituent structure is now considered to be the current constituent structure.

Bij de volgende stap 58 wordt het laatste element i.c. NP uit de grammaticaregel verwijderd, en keert het programma terug naar stap 55.In the next step 58, the last element i.c. NP is removed from the grammar line, and the program returns to step 55.

Daar in het onderhavige geval slechts één element in de grammaticaregel is overgebleven, zal het programma nu verder gaan met stap 56. Stap 56 wordt uitgevoerd met de huidige woordstructuur en de huidige Constituentstructuur. Opgemerkt moet worden, dat hetgeen als de huidige Constituentstructuur beschouwd wordt, tijdens stap 57 gewijzigd kan zijn.Since in the present case only one element remains in the grammar line, the program will now proceed to step 56. Step 56 is performed with the current word structure and the current constituent structure. It should be noted that what is considered to be the current Constituent structure may have been changed at step 57.

Bij stap 51 wordt de aangeboden Constituent (waarbinnen middels de stappen 25 tot en met 30 de inpassing van een Woord zou moeten plaatsvinden) gekopieerd. Bij de volgende stap 59 wordt nagegaan of de gekopieerde Constituent reeds een element "Conj" binnen het Stapelveld van de Constituent bezit. Is dit het geval (Y), dan is het niet raadzaam een nieuwe Constituent met nogmaals het voorvoegsel "Conj" als Parentconstituent voor de gekopieerde Constituent en het in te passen Woord of Interpunctie in te voeren. Het proces gaat dan naar stap 60, alwaar de gekopieerde Constituent in het Representatiegeheugen wordt geplaatst In afwachting van de daarop volgende stappen 61 tot en met 66, waarbij deze Constituent betrokken zal worden. Wordt de vraag bij stap 59 ontkennend beantwoord (N), dan volgt stap 67, alwaar wordt nagegaan of deze Constituent op dit moment reeds aan de voorwaarden voor het afsluiten van een Constituent voldoet. Een eerste voorwaarde is, dat het als laatste aan het Stapelveld toegevoegde element ook een geschikt element is, waarop de Constituent mag eindigen. Een tweede voorwaarde is, dat zekere elementen minimaal in het Stapelveld van de Constituent aanwezig moeten zijn.At step 51, the offered Constituent (within which steps of 25 to 30 should fit a Word) is copied. In the next step 59 it is checked whether the copied Constituent already has an element "Conj" within the Stack field of the Constituent. If this is the case (Y), it is not advisable to enter a new Constituent again with the prefix "Conj" as Parent Constituent for the copied Constituent and the Word or Punctuation to be inserted. The process then proceeds to step 60, where the copied Constituent is placed in Representation Memory pending subsequent steps 61 to 66, which will involve this Constituent. If the question is answered in the negative (N) at step 59, then step 67 follows, where it is checked whether this Constituent currently already fulfills the conditions for closing a Constituent. A first condition is that the last element added to the Stacking Field is also a suitable element on which the Constituent may end. A second condition is that certain elements must at least be present in the Stack field of the Constituent.

De eerste voorwaarde is ook te vervangen door een andere voorwaarde, welke aangeeft op welke elementen een Constituent niet mag eindigen.The first condition can also be replaced by another condition, which indicates on which elements a Constituent may not end.

De eerste, vervangende voorwaarde en de tweede voorwaarde worden onderzocht aan de hand van grammaticaregels, welke in een als derde tabellarisch geheugen aan te duiden geheugendeel zijn opgeslagen. Zo duidt de informatie (NP(det Nmod-a)head) aan, dat in een NP als laatste element geen "determiner" of "Nmod-a" mag fungeren, en dat daarin in ieder geval een "head" moet voorkomen. Meerdere voorbeelden zijn in tabel C opgenomen. Wordt aan zulke voorwaarden door een NP niet voldaan, dan wordt de waarde van het Waarschijnlijkheidsveld verlaagd, en wordt er een bijpassende foutcode in het Foutmeldingsveld opgenomen. Wordt er wel aan deze condities voldaan, dan vindt bij deze stap geen verdere actie plaats. Door verlaging van de waarschijnlijkheidsfactor wordt de kans groot, dat bij een volgende filterprocedure (bij programmagedeelte 69) deze Constituent toch geëlimineerd wordt.The first, replacement condition and the second condition are examined by means of grammar rules, which are stored in a memory section to be designated as third tabular memory. For example, the information (NP (det Nmod-a) head) indicates that in a NP the last element may not be a "determiner" or "Nmod-a", and that there must in any case be a "head". Several examples are included in Table C. If such conditions are not met by a POI, the value of the Probability field is decreased, and an appropriate error code is included in the Error Reporting field. If these conditions are met, no further action takes place at this step. By lowering the probability factor, it is likely that this constituent will be eliminated in a subsequent filtering procedure (in program section 69).

Tevens wordt bij stap 67 onderzocht, of er een essentieel element binnen de huidige Constituent ontbreekt. Dit geschiedt aan de hand van een tabel K, waarin per Consituent een aantal groepsgebonden, uit 3 lijstsegmenten samengestelde combinaties van voorschriften zijn weergegeven. Deze tabel schrijft voor dat, indien géén der als Kenmerken fungerende elementen uit het eerste lijstsegment in de Consituent aanwezig is, de memberleden uit het tweede lijstsegment verplicht zijn en de memberleden uit het derde lijstsegment verboden zijn. Zo geeft het voorschrift NP ((plu 3 proper pro) (det) O) aan, dat indien in een NP-constituent géén der elementen uit het eerste lijstsegment "plu 3", "proper", "pro" aanwezig is, het element uit het tweede lijstsegment, i.c. "determiner" aanwezig moet zijn. Het derde lijstsegment is hier leeg, en legt derhalve geen verplichting op. Meerdere voorbeelden zijn in tabel K opgenomen. Wordt aan zulke voorwaarden niet voldaan, dan wordt de waarde van het Waarschijnlijkheidsveld verlaagd, en wordt er een bijpassende foutcode in het foutmeldingsveld opgenomen, waarbij tevens de vermelding van de bewuste combinatie van 1ijstsegmenten plaatsvindt.Also, at step 67, it is examined whether an essential element is missing within the current Constituent. This is done on the basis of a table K, in which a number of group-related combinations of regulations, composed of 3 list segments, are presented per Consituent. This table prescribes that if none of the elements from the first list segment acting as Attributes is present in the Consituent, the members of the second list segment are required and the members of the third list segment are prohibited. For example, the requirement NP ((plu 3 proper pro) (det) O) indicates that if in an NP constituent none of the elements in the first list segment "plu 3", "clean", "pro" is present, the element from the second list segment, ic "determiner" must be present. The third list segment is empty here, and therefore does not impose any obligation. Several examples are included in Table K. If such conditions are not met, the value of the Probability field is decreased, and a corresponding error code is included in the error message field, including the deliberate combination of 1 list segments.

Bij de volgende stap 68 wordt in verband met de opname van een "komma" of de nevenschikkende voegwoorden naast de gekopieerde Constituent tevens een nieuwe Parentconstituent gegenereerd, welke dezelfde Categorie-aanduiding krijgt als de gekopieerde Constituent, maar met het voorvoegsel "Conj" erbij. Het Opdrachtveld van de nieuwe Constituent wordt identiek aan die van de gekopieerde Constituent. De overige velden worden ingevuld op gelijke wijze als het geval was bij stap 57.In the next step 68, in connection with the inclusion of a "comma" or the subordinate conjunctions next to the copied Constituent, a new Parent Constituent is also generated, which gets the same Category designation as the copied Constituent, but with the prefix "Conj" added. The Command field of the new Constituent becomes identical to that of the copied Constituent. The remaining fields are completed in the same manner as was the case in step 57.

Bij de volgende stap 69 wordt een voorstel gedaan om de gekopieerde constituent in te passen binnen de nieuw gevormde constituent met als functioneel label "Conj". Dit gebeurt onder gebruikmaking van het functionele label "Conj", de gekopieerde Constituentstructuur zelf en de nieuw aangemaakte Parentconstituent. Het bijbehorende programmagedeel te zal aan de hand van de stappen 81 tot en met 89 nader worden uiteengezet, en kan leiden tot toevoeging van een nieuwe Constituentstructuur aan het Representatiegeheugen.In the next step 69, a proposal is made to fit the copied constituent within the newly formed constituent with the functional label "Conj". This is done using the functional label "Conj", the copied Constituent structure itself and the newly created Parent constituent. The associated program portion will be explained in more detail using steps 81 to 89, and may lead to the addition of a new Constituent structure to the Representation Memory.

Bij de volgende stap 70 wordt nagegaan of er inderdaad een Constituentstructuur aan het Representatiegeheugen is toegevoegd. Is dit niet het geval (N), en is derhalve de kopie-constituent geëlimineerd, dan wordt het inpassingsproces van de "sequencer" als beëindigd beschouwd. Wordt daarentegen de vraag bij stap 70 bevestigend beantwoord, dan volgt stap 61, waarbij de laatst toegevoegde constituent uit het Representatiegeheugen wordt uitgelezen en bovendien hieruit wordt verwijderd. Bij de volgende stap 62 wordt een identiek programma gevolgd als plaatsvond bij stap 56, waarbij echter in het stapelveld het functionele label "seq" wordt voorgesteld. Daar bij stap 62 mogelijk een element aan het Representatiegeheugen kan zijn toegevoegd, wordt bij stap 63 de vraag gesteld of dit inderdaad het geval is. Bij een ontkennend antwoord hierbij (N), wordt dit programmagedeelte als beëindigd beschouwd. Bij een bevestigend antwoord (Y) wordt bij stap 64 het laatst toegevoegde element uit het Representatiegeheugen gehaald en wordt vervolgens bij stap 65 een nieuwe Constituentstructuur aangemaakt op een wijze als reeds bij stap 57 beschreven is. Daarbij wordt het opdrachtveld met een verwijzing naar de Parentconstituent ingevuld. Als Parentconstituent wordt hierbij de bij stap 64 uit het Representatiegeheugen opgehaalde Constituent beschouwd, welk nu als huidige Constituent wordt beschouwd.In the next step 70 it is checked whether a Constituent structure has indeed been added to the Representation memory. If not (N), and therefore the copy constituent is eliminated, the sequencer insertion process is considered terminated. If, on the other hand, the question is answered affirmatively at step 70, then step 61 follows, in which the last added constituent is read from the Representation memory and moreover is removed from it. The next step 62 follows an identical program as that which took place in step 56, however, in the stack field the functional label "seq" is represented. Since an element may have been added to the Representation memory at step 62, the question is asked at step 63 whether this is indeed the case. In the case of a negative answer (N), this program part is considered to have ended. In the affirmative answer (Y), the last added element is extracted from the Representation memory in step 64 and a new Constituent structure is then created in step 65 in a manner already described in step 57. The assignment field is filled in with a reference to the Parent constituent. As the Parent Constituent, the Constituent retrieved from Representation Memory in step 64 is now considered to be the current Constituent.

Het categorieveld krijgt dezelfde waarde als het categorieveld van de memberconstituent dat het functionele label "conj" bezit binnen de huidige constituent.The category field gets the same value as the category field of the member constituent that has the functional label "conj" within the current constituent.

De overige velden worden ingevuld gelijk het geval was bij stap 57.The other fields are filled in as was the case in step 57.

Bij de volgende stap 66 wordt de zojuist aangemaakte nieuwe constituentstructuur toegevoegd aan het Representatiegeheugen, waarna het programma met betrekking tot het inpassen van een woord binnen een constituent als beëindigd wordt beschouwd.In the next step 66, the newly created new constituent structure is added to the Representation Memory, after which the word fit program within a constituent is considered terminated.

Fig. 7 geeft een flow-diagram van een gedetailleerd programma weer, waaraan tijdens de programmagedeeltes 56 en 62 gerefereerd werd.Fig. 7 depicts a flow chart of a detailed program referenced during program sections 56 and 62.

Bij stap 71 wordt een kopie van de huidige Constituentstructuur, dat wil zeggen de structuur van de constituent, waarin het betreffendeAt step 71, a copy of the current Constituent Structure, that is, the structure of the constituent, contains the relevant

Woord ondergebracht moet worden, in het werkgeheugen geschreven.Word must be lodged, written in working memory.

Bij de volgende stap 72 wordt aan het Stapelveld van deze kopie het functionele label, dat bij stap 53 en 56, resp. 62 is verkregen, toegevoegd. Daarna wordt bij stap 73 een combinatie van structuurelementen, te weten het functionele label en de in te passen Woordstructuur als label paar aan het Structuurelementenveld toegevoegd. In de praktijk zal het adres van de Woordstructuur worden toegevoegd in plaats van de Woordstructuur zelf.At the next step 72, the Functional Label, which at steps 53 and 56, resp. 62 is obtained, added. Then, in step 73, a combination of structural elements, namely the functional label and the Word structure to be fitted, is added as a label pair to the Structural element field. In practice, the address of the Word Structure will be added instead of the Word Structure itself.

Vervolgens wordt bij stap 74 in een als vierde tabellarisch geheugen aan te duiden geheugendeel bij de categorie van de huidige Constituent en het functionele label van het Woord de bijbehorende reeks kenmerken geselecteerd. Ieder element uit deze reeks Kenmerken, dat niet op het Kenmerkenveld van de Woordstructuur voorkomt en wel op het Kenmerken-veld van Constituentstructuur, wordt van het Kenmerkenveld van de Consti tuentstructuur verwijderd.Then, in step 74, in a memory section to be designated as the fourth tabular memory, the corresponding set of features is selected for the category of the current Constituent and the functional label of the Word. Any element from this series of Attributes, which does not appear on the Attributes field of the Word Structure, and which does occur on the Attributes field of Constituent Structure, is removed from the Attributes field of the Constituent Structure.

Ter illustratie van hetgeen hiervoor vermeld is, wordt het volgende voorbeeld gegeven: bij "NP" en "determiner" behoort volgens het vierde tabellarisch geheugen (zie tabel D) de reeks kenmerken: "neuter, inneuter, sing 1, sing 2, sing 3, plu 1, plu 2, plu 3, definite, indefinite". Stel dat de Constituentstructuur met categorie "NP" de kenmerken sing 1, sing 2, sing 3, plu 1, plu 2, plu 3, neuter, inneuter, definite, indefinite" bezit. Daar nu de Woordstructuur bijvoorbeeld in het Kenmerkenveld de kenmerken "neuter, definite, sing 3" bezit (zoals bijvoorbeeld voor het lidwoord "het" geldt), moeten de kenmerken sing 1, sing 2, plu 1, plu 2, plu 3, indefinite en inneuter verwijderd worden uit het Kenmerkenveld van de Constituentstructuur. Bij de volgende stap 75 worden desgewenst enige control e-operaties uitgevoerd, hetgeen aan de hand van een als vijfde tabellarisch geheugen aan te duiden geheugendeel (zie tabel E) geschiedt. Daarbij wordt voor ieder constituent-type (constituent categorie) gekeken naar onjuiste combinaties, onjuiste volgorde en onjuist aantal functionele labels in het Stapelveld. Zo is het voorkomen in een constituent NP van twee functionele labels "head" achter elkaar op te vatten als een onjuiste combinatie, de functionele labels "Nmod-S" en daarna een "head" als een combinatie met een onjuiste volgorde, en meer dan één functioneel label "determiner" in een NP als een onjuist aantal functionele labels voor zo'n constituent. Een onjuiste volgorde van twee functionele labels is voorts aanwezig als een "head" gevolgd wordt door een "Nmod-A". Hierbij moet rekening worden gehouden, dat in de Constituentstructuren de laatst toegevoegde elementen vooraan komen te staan.To illustrate what has been mentioned above, the following example is given: for "NP" and "determiner" according to the fourth tabular memory (see table D) the series of characteristics belongs: "neuter, inneuter, sing 1, sing 2, sing 3 , plu 1, plu 2, plu 3, definite, indefinite ". Suppose that the Constituent structure with category "NP" has the characteristics sing 1, sing 2, sing 3, plu 1, plu 2, plu 3, neuter, inneuter, definite, indefinite "Since now the Word structure in the Characteristics field for example has the characteristics" neuter, definite, sing 3 "(as is the case for the article" het "), the attributes sing 1, sing 2, plu 1, plu 2, plu 3, indefinite and inuter must be removed from the Characteristic field of the Constituent structure. In the next step 75, if desired, some control e-operations are carried out, which is done on the basis of a memory part to be designated as fifth table memory (see table E), whereby incorrect combinations are looked at for each constituent type (constituent category). , incorrect order and incorrect number of functional labels in the Stapelveld For example, it is possible in a constituent NP of two functional labels "head" to be interpreted consecutively as an incorrect combination, the functional labels "Nmod-S" and d then a "head" as a combination with an incorrect order, and more than one functional label "determiner" in a POI as an incorrect number of functional labels for such a constituent. Furthermore, an incorrect order of two functional labels is present when a "head" is followed by an "Nmod-A". It must be taken into account here that in the Constituent Structures the last added elements are placed at the front.

De tabel E geeft deze controles aan met: “NP ((head head)) ((head Nmod-S) (Nmod-a head)) ((det 1))".Table E indicates these checks with: “NP ((head head)) ((head Nmod-S) (Nmod-a head)) ((det 1))”.

Deze tabel kan worden uitgebreid voor andere constituenten en voorts in het aantal testregels per constituent. Bij deze controle wordt in het Foutmeldingsveld zowel een specifieke foutcode alswel de betreffende elementenparen geschreven. Een tweede controle geschiedt voor iedere constituentcategorie door onjuiste combinaties in het kenmerkenveld op te sporen aan de hand van tabel F, welke als zodanig in een als zesde tabellarisch geheugen aan te merken geheugendeel is opgeslagen. Zo is in een NP de combinatie "inneuter" en "neuter" behorende bij de woordcombinatie "de huis" als onjuist aan te merken. Dit uit zich in het ontbreken van zowel neuter als inneuter in het Kenmerkenveld. Wanneer het programma vaststelt, dat van de Kenmerkencombinatie (neuter, inneuter) niet één in het Kenmerkenveld aanwezig is, wordt een foutmelding en de betreffende kenmerkencombinatie in het Foutmeldingsveld opgenomen.This table can be extended for other constituents and also in the number of test lines per constituent. During this check, both a specific error code and the relevant element pairs are written in the Error message field. A second check is made for each constituent category by detecting incorrect combinations in the feature field using Table F, which is stored as such in a memory section designated as sixth tabular memory. In a NP, for example, the combination "inneuter" and "neuter" associated with the word combination "de huis" can be regarded as incorrect. This is reflected in the absence of both neuter and neuter in the Characteristics field. When the program determines that none of the Attribute combination (neuter, inuter) is present in the Attribute field, an error message and the corresponding attribute combination are included in the Error message field.

Voorts kan gekeken worden op noodzakelijk aanwezig geachte combinaties in het Kenmerkenveld.It is also possible to look at combinations deemed necessary in the Characteristics field.

Iedere constituent dient in het kenmerkenveld tenminste één gesanctioneerde combinatie van Kenmerklabels te vertonen.Each constituent must display at least one sanctioned combination of Feature labels in the feature field.

Zo omvat het Kenmerkenveld van de NP-constituent "een groot huis" de combinatie "indefinite, sing 3, adj-not-infl., adj. enumerative, neuter" terwijl een beproefde standaardcombinatie bijvoorbeeld is (indefinite, adj.-not-inflected, neuter), welke in het genoemde Kenmerkenveld wordt aangetroffen. De NP-constituent "het grote huis" heeft het Kenmerkenveld (definite, sing 3, adj.-inflected, adj. enumerative, neuter), waarin de standaardcombinatie (definite, adj.-inflected) wordt aangetroffen. Aldus kan voor een NP-constituent een reeks van standaard-combinaties van Kenmerklabels worden opgesteld.For example, the Characteristic field of the NP constituent "a big house" includes the combination "indefinite, sing 3, adj-not-infl., Adj. Enumerative, neuter" while a proven standard combination is for example (indefinite, adj.-not-inflected , neuter), which is found in the said Attribute field. The NP constituent "the big house" has the Characteristics field (definite, sing 3, adj.-inflected, adj. Enumerative, neuter), in which the standard combination (definite, adj.-inflected) is found. Thus, for a NP constituent, a series of standard combinations of Feature labels can be drawn up.

Zo'n reeks van standaardcombinaties voor een NP zou kunnen zijn: NP ((definite, adj.-inflected) (plu 3, adj.-inflected) (inneuter, adj.-inflected) (neuter, indefinite, adj.-not inflected)). Ook voor andere typen constituenten zijn dergelijke standaardcombinaties op te stellen, welke tesamen in het als zesde tabellarische geheugen aan te merken geheugendeel zijn opgeslagen (zie tabel F).Such a set of standard combinations for an NP could be: NP ((definite, adj.-inflected) (plu 3, adj.-inflected) (inneuter, adj.-inflected) (neuter, indefinite, adj.-not inflected )). Such standard combinations can also be drawn up for other types of constituents, which are stored together in the memory part to be regarded as the sixth tabular memory (see table F).

Een constituent moet dan aan tenminste één der bijbehorende standaardcombinaties voldoen. Is dit niet het geval dan dient de waarde van het waarschijnlijkheidsveld bij die constituent te worden verlaagd. Zo heeft de foutieve NP-constituent "een grote huis" als Kenmerkenveld: (indefinite, sing 3, adj. inflected, adj.-emumerative, neuter), waarin geen der beproefde standaard-combinaties wordt teruggevonden.A constituent must then satisfy at least one of the associated standard combinations. If not, the value of the probability field at that constituent should be decreased. For example, the erroneous NP constituent has "a big house" as the Characteristic field: (indefinite, sing 3, adj. Inflected, adj.-emumerative, neuter), in which none of the tried-and-tested standard combinations are found.

Tevens kan hier in het Foutmeldingsveld een foutcode worden opgenomen, i welke bij eventuele presentatie van de geparseerde zin op het beeldscherm eveneens zichtbaar wordt gemaakt.An error code can also be entered here in the Error message field, which is also made visible on the screen when the parsed sentence is presented.

Bij de volgende stap 76 wordt de vraag gesteld of de waarde van het Waarschijn!ijkheidsveld van de kopie-constituent groter of gelijk is aan de drempelwaarde. Bij een ontkennende beantwoording van de vraag (N) wordt de kopie-constituent geëlimineerd, en wordt de te beschouwen stap 56 c.q. 62 in Fig. 6 als beëindigd beschouwd.In the next step 76, the question is asked whether the value of the Probability calibration field of the copy constituent is greater than or equal to the threshold value. In the negative answer to question (N), the copy constituent is eliminated, and the step 56 or 62 to be considered in FIG. 6 considered terminated.

Bij een bevestigend antwoord (Y) op de vraag van stap 76 wordt bij de volgende stap 77 de vraag gesteld, of de kopie-Consituent welke dan als huidige Constituent wordt beschouwd met het oog op de huidige drempelwaarde nog afgesloten kan worden. Hierbij worden de mogelijke functionele labels voor de huidige Constituent binnen de Constituent op het Opdrachtsveld getest. Als de onderhavige Constituent in het Stapelveld meer dan één functioneel label bezit (Y), is deze test in een vorig stadium al met een positief resultaat doorlopen, en behoeft derhalve niet opnieuw te worden doorlopen. Zodoende wordt evenals in de situatie dat blijkt dat de Constituent nog afgesloten kan worden bij de huidige drempelwaarde verder gegaan met stap 78. Anders kan het in Fig. 7 weergegeven programmagedeelte dan als beëindigd worden beschouwd (N). Deze stap kan als facultatief worden aangemerkt, daar zij niet noodzakelijk is voor het parseerproces, maar eerder versnellend werkt op het verkrijgen van het eindresultaat. Bij de volgende stap 78 wordt deze constituent in het Representatie-geheugen opgenomen.In the affirmative answer (Y) to the question of step 76, the next step 77 asks whether the copy Consituent which is then regarded as the current Constituent can still be closed in view of the current threshold value. The possible functional labels for the current Constituent within the Constituent are tested on the Command field. If the present Constituent in the Stapelveld has more than one functional label (Y), this test has already been passed with a positive result in a previous stage, and therefore does not need to be repeated. Thus, as in the situation where it appears that the Constituent can still be terminated at the current threshold, proceed to step 78. Otherwise, in FIG. 7 displayed program section will then be considered terminated (N). This step can be considered optional, since it is not necessary for the parsing process, but rather accelerates the obtaining of the end result. In the next step 78, this constituent is included in Representation memory.

Aan de hand van het flow-diagram van Fig. 8 volgt nu een gedetailleerde uiteenzetting van het programmagedeelte 69.Using the flow diagram of Fig. 8 now follows a detailed explanation of the program section 69.

Daar dit programmagedeelte veel overeenkomsten vertoont met de programmastappen 71 tot en met 78, zal hiernaar bij sommige program-mastappen verwezen worden.Since this program portion has many similarities with program steps 71 to 78, this will be referred to in some program steps.

Bij stap 79 wordt van de Parentconstituent een kopie gemaakt ten behoeve van het werkgeheugen, en als zodanig ook bij de volgende stappen benut.At step 79 a copy is made of the Parent constituent for the purpose of the working memory, and as such is also used in the following steps.

Bij de volgende stap 80 wordt de waarschijn!ijkheidsfactor van de gekopieerde constituent aangepast, en wel door dieIn the next step 80 the probability factor of the copied constituent is adjusted, namely by

Waarschijn!ijkheidsfactor te corrigeren met de Waarschijn!ijkheidsfac-tor van de door de Parentconstituent gedomineerde constituent (member constituent), bijvoorbeeld door vermenigvuldiging van beide waarschijn!ijkheidsfactoren. Voor de bepaling van de nieuwe waarde van de waarschijn!ijkheidsfactor kan ook gebruik worden gemaakt van een andere geschikte functie f (x,y) uit beide waarschijn!ijkheidsfactoren x en y.Probability calibration factor to be corrected with the Probability calibration factor of the constituent dominated by the Parent constituent, for example by multiplying both probability factors. To determine the new value of the probability factor, another suitable function f (x, y) can also be used from both probability factors x and y.

Bij stap 81 wordt het functionele label, zoals genoemd is bij stap 69 en bij de later te beschrijven stappen 99 en 104 in het Stapelveld van de kopieconstituent opgenomen.At step 81, the functional label, as mentioned at step 69 and at steps 99 and 104 to be described later, is included in the Stack field of the copy constituent.

Vervolgens wordt bij stap 82 een combinatie-paar van achtereenvolgens het functionele label en de gedomineerde constituent aan het structure! elementen veld van de kopieconstituent toegevoegd. .Then, at step 82, a combination pair of the functional label and the dominated constituent is successively attached to the structure! elements field of the copy constituent added. .

Bij stap 83 wordt in het vierde tabellarische geheugen bij de categorie-aanduiding van de Parentconstituent en het functionele label van de door deze constituent gedomineerde Memberconstituent een Kenmerken! ijst doorlopen (zie tabel D). Alle Kenmerken, die zowel in deze alswel in de Kenmerkenlijst van de bij stap 79 gekopieerde constituent voorkomen, maar niet in de Kenmerkenlijst van de Member-constituent, worden uit het Kenmerkenveld van de gekopieerde constituent verwijderd. Bovendien worden alle in de tweede Kenmerkenlijst uit de tabel aanwezige kenmerken, voorzover ze al niet aanwezig zijn in het Kenmerkenveld van de gekopieerde constituent, toegevoegd aan het Kenmerkenveld van de gekopieerde constituent. Deze stap is vergelijkbaar met stap 74.At step 83, in the fourth tabular memory, at the category designation of the Parent constituent and the functional label of the Member constituent dominated by this constituent, a Characteristics! go through the list (see table D). All Attributes, which appear in this as well as in the Attributes list of the constituent copied in step 79, but not in the Attributes list of the Member constituent, are removed from the Attributes field of the copied constituent. In addition, all attributes present in the second Attribute list from the table, if not already present in the Attributes field of the copied constituent, are added to the Attributes field of the copied constituent. This step is similar to step 74.

Bij de stap 84 wordt een programmagedeelte afgewerkt als ook beschreven is bij stap 75.At step 84, a program section is executed as also described at step 75.

De daarop volgende stappen 85, 86 en 87, welke van toepassing zijn op de gekopieerde constituent, zijn vergelijkbaar met de stappen 76, 77 en 78, met dien verstande, dat het hier gaat om een Constituent en niet om een Woord.The subsequent steps 85, 86 and 87, which apply to the copied constituent, are similar to steps 76, 77 and 78, provided that this is a Constituent and not a Word.

Aan de hand van het flow-diagram van Fig. 9 volgt nu een gedetailleerde uiteenzetting van het programmagedeelte 37 met betrekking tot het afsluiten van de huidige Constituentstructuur.Using the flow diagram of Fig. 9 now follows a detailed explanation of the program section 37 regarding the termination of the current Constituent structure.

Bij stap 88 wordt de huidige Constituentstructuur, welke bij de voorafgaande stap 36 werd aangeboden vanuit het Tijdelijk geheugen (zie Fig. 3), vanuit het Tijdelijk Schakel geheugen (zie Fig. 4), 8 9 0 i Q 5 0 =1 vanuit het programmagedeelte 30 (zie Fig. 5) of vanuit de nog nader te bespreken programmagedeeltes 103 en 108 in Fig. 9 toegevoegd aan het Representatiegeheugen. Daar bij stap 65 mogelijk een Constituentstruc-tuur is gecreëerd waarbij het Stapelveld geen element bevat, is het i niet toegestaan een dergelijke constituent af te sluiten. Dientengevolge wordt bij stap 89 de vraag gesteld of het Stapelveld leeg is. Bij een bevestigend antwoord (Y) wordt dit programmaonderdeel als beëindigd beschouwd. Bij een ontkennend antwoord (N) volgt bij stap 90 de vraag of het Opdrachtveld van de huidige Constituent een waarde bevat. Is dit niet het geval (N), dan is de Constituent een Top-constituent, en komt dan niet voor afsluiting in aanmerking. Bij een Topconstituent wordt het programmagedeelte van Fig. 9 dan als beëindigd beschouwd. Is het antwoord bij stap 90 bevestigend (Y), dan volgt stap 91, alwaar van de huidige Constituent een Kopie-Constituent wordt gemaakt. Bij de volgende stap 92 wordt de Categorie van de Kopie-Constituent, hierna te noemen Memberconstituent vastgesteld. Daarna wordt bij stap 93 de categorie van de Parentconstituent vastgesteld, en wel aan de hand van het Opdrachtenveld van de Memberconstituent. Vervolgens wordt met behulp van de in stappen 92 en 93 verkregen gegevens over de categorie van de Memberconstituent en diens parentconstituent en aan de hand van een als zevende tabellarisch geheugen aan te merken geheugendeel bij stap 94 de bijbehorende grammaticaregel geselecteerd (zie tabel G).At step 88, the current Constituent structure, which was presented in the previous step 36 from the Temporary memory (see Fig. 3), from the Temporary Switch memory (see Fig. 4), 8 9 0 i Q 5 0 = 1 from the program section 30 (see Fig. 5) or from the program sections 103 and 108 in fig. 9 added to the Representation Memory. Since at step 65 a Constituent structure may have been created in which the Stacking field does not contain an element, it is not allowed to close such a constituent. As a result, at step 89 the question is asked whether the Stacking Field is empty. In the affirmative answer (Y), this program part is considered to have ended. In the case of a negative answer (N), in step 90 the question is asked whether the Command field of the current Constituent contains a value. If this is not the case (N), the Constituent is a Top constituent, and is not eligible for closure. At a Top Constituent, the program portion of Fig. 9 then considered terminated. If the answer at step 90 is affirmative (Y), then step 91 follows, where a Copy Constituent is made of the current Constituent. In the next step 92, the Category of the Copy Constituent, hereinafter referred to as Member Constituent, is determined. Then, at step 93, the category of the Parent Constituent is determined, based on the Member Constituent's Command Field. Then, using the data obtained in steps 92 and 93 on the category of the Member constituent and its parent constituent and on the basis of a memory part to be designated as seventh tabular memory, the corresponding grammar rule is selected in step 94 (see table G).

Is de categorie van de Memberconstituent een NP en is de categorie van de Parentconstituent een “S", dan volgt uit de grammaticaregel NP (S, fNP) dat de Memberconstituent een functioneel label fNP kan worden toegewezen. In principe kan op die plaats in de tabel ook meer dan één element staan.If the category of the Member constituent is an NP and the category of the Parent constituent is an “S”, it follows from the grammar rule NP (S, fNP) that the Member constituent can be assigned a functional label fNP. table also have more than one element.

Vervolgens wordt bij stap 95 een filterprocedure uitgevoerd, waarbij condities betreffende de elementen in het Stapelveld worden getoetst.Then, at step 95, a filtering procedure is performed, in which conditions regarding the elements in the Stacking Field are tested.

De toetsingscriteria zijn opgeslagen in het derde tabellarische geheugen, waarbij de toetsing zelf geheel overeenkomstig die van stap 67 zal verlopen (zie tabellen C en K).The assessment criteria are stored in the third table memory, the assessment itself being entirely in accordance with that of step 67 (see Tables C and K).

Bij de volgende stap 96 wordt onderzocht of de waarde in het Waarschijnlijkheidsveld groter of gelijk is aan de drempelwaarde. Het is immers rnogelijk, dat bij stap 95 de waarde van het Waarschijnlijkheidsveld verlaagd is. Is dit niet het geval (N), dan wordt het programmagedeelte 37 als beëindigd beschouwd. In het andere geval (Y) volgt stap 97, waarbij de vraag wordt gesteld of de bij stap 94 geselecteerde grammaticaregel functionele labels bevat. Is dit niet het geval (N), dan is afsluiting van de huidige Constituent niet mogelijk, en dient het proces ter afsluiting van de huidige Constituent als beëindigd te worden beschouwd. Wordt echter een bevestigend antwoord (Y) op deze vraag gegeven, dan is er tenminste een zinvolle afsluitingsprocedure mogelijk. Wel dient daarbij te worden nagegaan, of er één dan wel meer functionele labels bij stap 94 zijn voorgesteld. Daartoe wordt bij de volgende stap 98 de vraag gesteld of er precies één functioneel label bij stap 94 is voorgesteld. Bij een bevestigend antwoord (Y) hierop volgt stap 99, en bij een ontkennend antwoord (N) stap 100. Bij het programmagedeelte 99 wordt voor de huidige Constituent, bijv. NP, voorgesteld om als element met het functionele label, dus fNP, als aangegeven is in de grammaticaregel van stap 94, binnen de Constituentstructuur van de Parentconstituent te fungeren. De Parentconstituent is daarbij aangegeven in het Opdrachtveld van de huidige Constituent. De huidige Constituent met het daarbij voorgestelde functionele label wordt dan in het Memberveld van de Parentconstituent opgenomen, hetgeen uitvoerig is besproken bij de stappen 79 tot en met 83. Bij stap 99 wordt dan ook een kopie van de parent-consituent gemaakt (zoals bij stap 79 is uiteengezet), en het functioneel label (fNP) bij het member (NP) wordt dan ook in het Structuurelementenveld bijgeschreven tijdens stap 82.In the next step 96 it is examined whether the value in the Probability field is greater than or equal to the threshold value. After all, it is possible that in step 95 the value of the Probability field has decreased. If not (N), the program section 37 is considered to be finished. Otherwise (Y), step 97 follows, asking whether the grammar line selected in step 94 contains functional labels. If this is not the case (N), closing of the current Constituent is not possible, and the process of closing the current Constituent should be considered as ended. However, if an affirmative answer (Y) is given to this question, then at least a meaningful closure procedure is possible. It must however be ascertained whether one or more functional labels have been proposed at step 94. To this end, the next step 98 asks whether exactly one functional label was proposed at step 94. For an affirmative answer (Y), step 99 follows, and for a negative answer (N), step 100. At program section 99, for the current Constituent, eg NP, it is proposed to use the element with the functional label, ie fNP, as is indicated in the grammar rule of step 94 to function within the Constituent Structure of the Parent Constituent. The Parent Constituent is indicated in the Command field of the current Constituent. The current Constituent with the proposed functional label is then included in the Memer Field of the Parent Constituent, which has been discussed in detail in steps 79 to 83. In step 99, a copy of the parent consituent is therefore also made (as in step 79), and the functional label (fNP) at the member (NP) is therefore added to the Structural Elements field during step 82.

Bij stap 101 wordt nagegaan of tijdens het programmagedeelte 99 (gelijk uiteengezet is bij stap 78) een element aan het Represen-tatiegeheugen is toegevoegd. Bij een ontkennend antwoord (N) wordt dit programmagedeelte als beëindigd beschouwd. Bij een bevestigend antwoord (Y) op de vraag bij stap löl wordt verder gegaan met stap 102, alwaar het laatst toegevoegde element uit het Representatiegeheugen wordt opgehaald, uit het Representatiegeheugen wordt verwijderd en vervolgens bij stap 103 wordt onderworpen aan de procedure met betrekking tot het afsluiten van dit element zoals aangegeven is bij de met nummer 88 aanvangende stappenreeks. Bij stap 100 wordt de huidige Constituentstructuur gekopieerd, waarbij de Kopie verder als de huidige Constituent wordt beschouwd. Bij programmagedeelte 104 wordt voor de huidige Constituent voorgesteld om als element met het functionele label dat als eerste element aangegeven is in de gram- maticaregel van stap 94, binnen de Constituentstructuur van de Parent-constituent te fungeren, De huidige Constituent met het daarbij voorgestelde functionele label wordt dan in het Memberveld van de bewuste Parentconstituent opgenomen, hetgeen uitvoerig is uiteengezet bij de stappen 79 tot en met 87. Bij stap 105 wordt het eerste element (le functioneel element) uit de grammaticaregel verwijderd.At step 101, it is checked whether an element has been added to the Represents memory during the program portion 99 (as explained in step 78). In the case of a negative answer (N), this program part is considered to have ended. In the affirmative answer (Y) to the question at step 11l, proceed to step 102, where the last added element is retrieved from the Representation memory, removed from the Representation memory and then subjected to the procedure with regard to the step 103 terminating this element as indicated in the sequence of steps starting with number 88. At step 100, the current Constituent structure is copied, with the Copy further considered as the current Constituent. At program section 104, it is proposed for the current Constituent to function as the element with the functional label indicated as the first element in the grammar line of step 94, within the Constituent Structure of the Parent constituent, The current Constituent with the functional proposed thereby label is then included in the Memer field of the Parent constituent in question, which is explained in detail at steps 79 to 87. At step 105, the first element (le functional element) is removed from the grammar line.

Vervolgens wordt bij stap 106 nagegaan of tijdens het program-magedeelte 104 het aantal Constituenten in het Representatiegeheugen is toegenomen, hetgeen gebeurd zou kunnen zijn bij het program-magedeelte 104. Bij een ontkennend antwoord (N) op deze vraag wordt direct teruggekeerd naar stap 98 om aan de hand van de gezuiverde grammaticaregel het afsluitingsproces van de huidige Constituent uit te voeren. Bij een bevestigend antwoord (Y) op de vraag van stap 106 wordt in de volgende stap 107 de laatst toegevoegde Constituentstruc-tuur uit het Representatiegeheugen opgehaald en daaruit verwijderd en als huidige Constituent beschouwd, waarop in de volgende stap 108 het afsluitingsprogramma als aangegeven is door de met nummer 88 aanvangende serie programmastappen van toepassing is. Na stap 108 keert het programma terug naar stap 98.Next, it is checked at step 106 whether during the program part 104 the number of Constituents in the Representation memory has increased, which could have happened with the program part 104. In case of a negative answer (N) to this question, it is immediately returned to step 98 to perform the closing process of the current Constituent using the purified grammar rule. In the affirmative answer (Y) to the question of step 106, in the next step 107, the last added Constituent structure is retrieved from Representation memory and removed from it and considered as the current Constituent, whereupon in the next step 108 the termination program is indicated by the series of program steps starting with number 88 applies. After step 108, the program returns to step 98.

Daar tijdens het voorgaande programma mogelijk tijdelijke labels zijn toegekend, worden in aansluiting op het eigenlijke parseerproces in het navolgende programmagedeelte deze tijdelijke labels vervangen door definitieve labels. Zo zullen voor de hier gebruikte Voorbeeldgram-matica in alle Constituenten, welke in het Representatiegeheugen zijn opgeslagen, de labels fNP, daar waar mogelijk is, vervangen worden door de definitieve labels Onderwerp (Subject), Lijdend voorwerp (Object), Meewerkend voorwerp (Indirect Object) en Predicaat (Predicate), welke respectievelijk onder de volgende afkortingen worden gevoerd: Subj., Qbj., Indobj., Pred.Since temporary labels may have been assigned during the previous program, these temporary labels will be replaced by final labels in connection with the actual parsing process in the following program section. For example, for the Sample Grammar used here in all Constituents stored in Representation Memory, the fNP labels will be replaced, where possible, by the final labels Subject (Subject), Direct Object (Object), Indirect Object Object) and Predicate (Predicate), which are respectively used under the following abbreviations: Subj., Qbj., Indobj., Pred.

Hiertoe wordt bij stap 109 de tel stand van de m*-tel1er, waarmee een verwijzing naar het rangnummer van een Constituent wordt verkregen, teruggesteld naar 0, waarna bij stap 110 de tel stand van deze teller met "1" wordt verhoogd.To this end, at step 109, the count position of the m * -teler, with which a reference to the rank number of a constituent is obtained, is reset to 0, after which at step 110 the count position of this counter is increased by "1".

Bij stap 111 wordt nagegaan of de tel stand van de m*-teil er de maximale waarde (m*max) overeenkomende met het aantal Constituenten reeds heeft overschreden. Bij een bevestigend antwoord (Y) wordt dit programmagedeelte als beëindigd beschouwd. Bij een ontkennende beantwoording (N) van de vraag bij stap 111 wordt bij de volgende stap 112 de vraag gesteld of het Opdrachtveld van de m*-de Constituentstructuur een gegeven bevat. Wordt de vraag bevestigend beantwoord (Y), dan betreft het geen Topconstituent, en is het dus niet nodig, dat definitieve labels worden toegekend.In step 111 it is checked whether the count of the m * -teil has already exceeded the maximum value (m * max) corresponding to the number of constituents. In the affirmative answer (Y), this program section is considered to have ended. In the negative answer (N) of the question at step 111, the next step 112 asks whether the Command field of the m * -th Constituent structure contains a data. If the question is answered in the affirmative (Y), then it is not a Top Constituent, and it is therefore not necessary for definitive labels to be assigned.

Wordt de vraag ontkennend beantwoord (N), dan volgt programmafase 113 met betrekking tot het vervangen van de voorlopige functionele labels door definitieve, waarna het programma terugkeert naar stap 110.If the question is answered in the negative (N), program phase 113 follows with regard to replacing the provisional functional labels with final ones, after which the program returns to step 110.

Aan de hand van Fig. 11 volgt nu een nadere uiteenzetting van programmafase 113.With reference to Fig. 11 now follows a more detailed explanation of program phase 113.

Bij stap 114 wordt een n-teller, waarvan de telstand verwijst naar het rangnummer van het memberpaar in het Structuurelementenveld van de huidige Constituent teruggesteld naar 0. Daarna wordt bij stap 115 de tel stand van deze teller met "1" verhoogd.At step 114, an n-counter, the count of which refers to the rank of the member pair in the Structural Elements field of the current Constituent, is reset to 0. Then, at step 115, the count of this counter is increased by "1".

Bij de volgende stap 116 wordt de vraag gesteld of de tel stand van de n-teller reeds de maximale waarde (nmax), welke overeenkomt met het aantal memberparen in dat Structuurelementenveld, heeft overschreden.In the next step 116, the question is asked whether the count of the n-counter has already exceeded the maximum value (nmax), which corresponds to the number of member pairs in that Structural Element field.

Is dit het geval (Y), dan wordt het programmagedeelte 113 als beëindigd beschouwd, en gaat het programma terug naar stap 110. Bij een ontkennende beantwoording (N) van de vraag bij stap 116 wordt bij de volgende stap 117 het tweede element van het door de tel stand van de n-teller aan te wijzen paar van de huidige Constituent bepaald, en als huidige Constituent aangemerkt. Bij de volgende stap 118 wordt de vraag gesteld of het als huidige Constituent aangemerkte element inderdaad wel een Constituent is, en geen Woord. Is dit niet het geval (N), dan gaat het programma terug naar stap 115. Is dit wel het geval (Y), dan wordt de huidige Constituent op diens structuur en derhalve op de inhoud van het Stapelveld van de huidige, dat wil zeggen bij stap 117 aangewezen Constituent, onderzocht. Dit impliceert dat eenzelfde procesgang als beschreven is bij de stappen 114, 115, 116, 117 en 118, nu ook weer binnen het programmagedeelte 119 met de stappen 120, 121, 122, 123 en 124 moet worden uitgevoerd, maar nu op de Memberparen van het als huidige Constituent aangemerkte element. Het rangnummer van het memberpaar wordt hier aangeduid met n*. Mocht één van de Memberparen een tweede element beziten, dat niet een Woord maar een Constituent representeert (hetgeen bijvoorbeeld het geval kan zijn bij relatieve bijzinnen), dan dient de volgende stap 125 eveneens vervangen te worden door een programmagedeelte als aangemerkt is met aanduiding 119. In deze beschrijving wordt de situatie onderzocht, waarbij bij alle Memberparen het tweede element bij stap 118 als Woord wordt aangemerkt. Het gevolg van deze aanname is, dat stap 119 eigenlijk weggelaten kan worden en het programma bij stap 126 terecht komt, alwaar de vraag wordt gesteld of één van de elementen op het Stapelveld van de bij stap 118 geselecteerde Constituent, te weten het tweede element van het n-de paar, een tijdelijk label is. Is dit niet het geval (N) dan keert het programma terug naar stap 115. Bij een bevestigend antwoord (Y) op de vraag bij stap 126 volgt bij stap 127 een programmagedeelte, alwaar het tijdelijke functionele label vervangen wordt door een definitief functioneel label. Daarbij wordt de inhoud van het Stapelveld van de m*-de Constituentstructuur bekeken, en wordt deze inhoud vergeleken met zekere grammaticaregels, welke in een als achtste tabellarisch geheugen aan te merken geheugengedeelte zijn opgeslagen, Een dergelijke regel zou kunnen zijn: ((fNP, Vfjn_ main, Smod, fNP, Endmark)(Subj., Obj.), hetgeen inhoudt dat de eerste fNP wordt vervangen door een label "Onderwerp" en de tweede fNP door een label "Lijdend Voorwerp" (zie tabel H).If this is the case (Y), the program portion 113 is considered terminated, and the program goes back to step 110. If the question (N) is answered negatively at step 116, the second element of the next step 117 becomes the pair of the current Constituent determined by the counting position of the n-counter, and designated as the current Constituent. In the next step 118, the question is asked whether the element designated as the current Constituent is indeed a Constituent, and not a Word. If not (N), the program goes back to step 115. If it is (Y), the current Constituent becomes on its structure and therefore on the contents of the Stack field of the current one, i.e. Constituent designated at step 117, examined. This implies that the same procedure as described at steps 114, 115, 116, 117 and 118 must now also be carried out again within the program part 119 with steps 120, 121, 122, 123 and 124, but now on the Member pairs of the element designated as the current Constituent. The rank number of the member pair is indicated here with n *. Should one of the Member pairs have a second element, which does not represent a Word but a Constituent (which may be the case with relative clauses, for example), then the next step 125 must also be replaced by a program section marked with indication 119. In this description, the situation is examined, in which the second element is designated as Word for all Member pairs at step 118. The consequence of this assumption is that step 119 can actually be omitted and the program ends up at step 126, where the question is asked whether one of the elements on the Stack field of the Constituent selected at step 118, namely the second element of the nth pair, is a temporary label. If this is not the case (N), the program returns to step 115. In case of an affirmative answer (Y) to the question in step 126, a program part follows in step 127, where the temporary functional label is replaced by a definitive functional label. The contents of the Stack field of the m * -th Constituent structure are thereby examined, and this content is compared with certain grammar rules, which are stored in a memory section to be designated as eighth tabular memory. Such a rule could be: ((fNP, Vfjn_ main, Smod, fNP, Endmark) (Subj., Obj.), Which means that the first fNP is replaced by a label "Subject" and the second fNP by a label "Suffering Object" (see table H).

Komen een aantal oplossingen voor bij een bepaalde gegevensinhoud van het Stapelveld, dan leidt dit tot een overeenkomstig aantal Top-constituenten, welke alle in het Representatiegeheugen worden opgeschreven. Dit gebeurt door de huidige structuur met de voorlopige functionele labels te kopiëren.If a number of solutions occur with a certain data content of the Stack field, this leads to a corresponding number of Top constituents, all of which are written down in the Representation memory. This is done by copying the current structure with the preliminary functional labels.

Allereerst worden nu de voorlopige functionele labels in het Struc-tuurelementenveld van elke Topconstituent op overeenkomstige wijze vervangen.First of all, the provisional functional labels in the Structural Elements field of each Summit Constituent are now replaced in a corresponding manner.

Vervolgens wordt bij stap 128 een filterproces uitgevoerd aan de hand van een als negende tabellarisch geheugen aan te merken geheugendeel (zie tabel I), waarbij wordt nagegaan of de door de grammaticaregel van dit programmagedeelte voortgebrachte omzetting van voorlopige functionele labels naar definitieve functionele labels wel toegestaan is op grond van verplichte overeenstemming van zekere elementen in het Kenmerkenveld bij sommige, aan elkaar gerelateerde Constituenten. Met name is er zo'n relatie tussen de Constituentstructuren "Onderwerp" en "Werkwoord", waarbij de verbuigingsindicatie consistent dient te zijn. In tabel I staan de daarvoor bestemde grammaticaregels vermeld, welke gerangschikt zijn naar categorieaanduiding van de te onderzoeken^ constituent. Iedere grammaticaregel bevat voorts een lijst van elementen en een lijst van kenmerken. Van iedere structuur (Constituent of Woord), welke met een van de op de lijst voorkomende elementen overeenkomt, wordt het Kenmerkenveld opgehaald. De doorsnede van al deze Kenmerkenvelden met elkaar en met de gevonden lijst van Kenmerken mag niet leeg zijn.Then, at step 128, a filtering process is performed using a ninth tabular memory to be designated (see Table I), verifying whether the conversion of preliminary functional labels generated by the grammar rule of this program section is permitted is based on the obligatory agreement of certain elements in the Characteristic Field for some related Constituents. In particular, there is such a relationship between the Constituent structures "Subject" and "Verb", where the inflection indication should be consistent. Table I lists the appropriate grammar rules, which are arranged according to the category designation of the constituent to be examined. Each grammar line also contains a list of elements and a list of characteristics. The Characteristics field is retrieved from each structure (Constituent or Word), which corresponds to one of the elements that appear on the list. The intersection of all these Attribute fields with each other and with the found list of Attributes cannot be empty.

Bijvoorbeeld bij de zin "Hij lopen" zal de doorsnede van de Kenmerken van het "Onderwerp" met de gevonden lijst van Kenmerken "sing 3" opleveren, waarna de doorsnede door het inbrengen van de Kenmerken van het "Werkwoord" leeg wordt. Aldus is er sprake van een ongrammaticale zinsconstructie. De verkregen analyse wordt nu minder waarschijnlijk gemaakt door het verlagen van de waarde in het Waarschijnlijkheids-veld, terwijl het Foutmeldingsveld tevens van een foutcode wordt voorzien.For example, in the sentence "He walk", the cross section of the Characteristics of the "Subject" with the found list of Characteristics will yield "sing 3", after which the cross section will become empty by entering the Characteristics of the "Verb". There is thus an ungrammatical sentence construction. The analysis obtained is now made less likely by decreasing the value in the Probability field, while also providing the Error message field with an error code.

Na het filterproces keert het programma terug naar stap 115. De stappen 129, 130 en 131 zijn gelijk aan de stappen 126, 127 en 128. Na de "syntax directed parser" zal nu een "syntax embedded parser", welke werkzaam is volgens de beschreven uitvindingsgedachte, worden toegelicht. Laatstgenoemde parser wijkt ten opzichte van de eerstgenoemde parser in die zin af, dat de met een tabellarisch geheugen uit te voeren stappen zijn vervangen door programmatisch uit te voeren handelingen. Als voorbeeld hierbij zal de programmastap 75 (Fig. 7) worden beschouwd, waarbij een gedeelte van de inhoud van tabel E in het flow-diagram van Fig. 12 is weergegeven.After the filtering process, the program returns to step 115. Steps 129, 130 and 131 are the same as steps 126, 127 and 128. After the "syntax directed parser", a "syntax embedded parser", which operates according to the described inventive idea, are explained. The latter parser differs from the former parser in that the steps to be performed with a tabular memory are replaced by actions to be carried out programmatically. As an example, program step 75 (Fig. 7) will be considered, with part of the contents of Table E in the flow chart of Fig. 12 is shown.

In Fig. 12 wordt bij stap 132 de vraag gesteld of de constituent van de categorie “S" is. Is dit het geval (Y), dan volgt programmagedeelte 133, waarna het programma van stap 75 als beëindigd wordt beschouwd.In FIG. 12, at step 132, the question is posed as to whether the constituent is of the category "S". If this is the case (Y), program section 133 follows, after which the program of step 75 is considered terminated.

Is dit niet het geval (N), dan volgt stap 134, alwaar de vraag wordt gesteld of de constituent van het type Srei is. Is dit het geval (Y), dan volgt een daarop gericht onderzoeksprogramma 135. Is zulks niet het geval (N), dan volgt stap 136, alwaar de mogelijke bewerkingsfase bij de constituent Scomp een aanvang neemt onder mogelijke gebruikmaking van stap 137. 'If not (N), step 134 follows, where the question is asked whether the constituent is of type Srei. If this is the case (Y), then a research program 135 aimed at it follows. If this is not the case (N), then step 136 follows, where the possible processing phase starts at the constituent Scomp using step 137. "

Het nu volgende programmagedeelte 138 betreffende een NP-constituent met het bijbehorende onderzoeksprogramma zal nu nader worden toegelicht. Bij stap 138 wordt de vraag gesteld of de constituent een NP is. Is het antwoord hierop bevestigend (Y), dan volgt programmastap 139, alwaar de vraag wordt gesteld of het functionele label "head" twee keer achter elkaar voorkomt. Is dit het geval (Y), dan volgt programmastap 152, alwaar de waarde van het Waarschijn!ijkheidsveld met een zekere correct!efactor wordt verlaagd, waarna het programma verder gaat naar stap 140. Wordt de vraag bij stap 139 ontkennend beantwoord (N), dan volgen één of meerdere soortgelijke vraagstellingen, die hier niet nader worden uiteengezet, maar die uiteindelijk uitkomen bij programmastap 140. Daarbij wordt de vraag gesteld of in de te onderzoeken constituent het functionele label "head" gevolgd wordt door het label "det". Is dit het geval (Y), dan is hier dus sprake van een onjuiste volgorde, en wordt in de daarop volgende stap 141 de waarde van het Waarschijnlijkheidsveld gecorrigeerd met een zekere factor. Bij een ontkennende beantwoording (N) van de vraag bij stap 140 volgt stap 142 met de vraagstelling of het functionele label "head" gevolgd wordt door het label "nmod-a". Is dit het geval (Y), dan wordt bij stap 143 de waarde van het Waarschijnlijkheidsveld van de te onderzoeken Constituent met een zekere factor verlaagd. Bij een ontkennende beantwoording (N) van de vraag bij stap 142 wordt bij een volgende stap een soortgelijke vraagstelling afgehandeld. Uiteindelijk, en derhalve ook na de stappen 141 en 143 komt het programma dan terecht bij de eerste stap 144 van de volgende fase van het onderzoeksprogramma, alwaar de vraag gesteld wordt of het label "det" slechts één keer in de constituent voorkomt. Bij een ontkennend antwoord (N) op deze vraagstelling wordt bij de volgende programmastap 145 de waarde van het Waarschijnlijkheidsveld met een zekere factor verlaagd. Bij een bevestigend antwoord (Y) volgt stap 146, alwaar de vraag wordt gesteld, of de constituent slechts één functioneel label "head" bevat. Is dit niet het geval (N), dan wordt bij stap 147 een verlaging van de waarde van het Waarschijnlijkheidsveld doorgevoerd. Na de in deze fase uit te voeren programmastappen wordt het programma doorlopen bij stap 75 als beëindigd beschouwd. Wordt de vraag bij stap 138 ontkennend beantwoord (N), dan volgt stap 148 alwaar de vraagstelling een PP-constituent betreft. Bij een bevestiging (Y) van de vraag bij stap 138 wordt een daarop betrekking hebbend onderzoeksprogramma uitgevoerd. Een soortgelijk program-magedeelte maar dan voor een AP-constituent vindt plaats bij stappen 150 en 151, waarna het met stap 75 equivalente programma van Fig. 2 als beëindigd wordt beschouwd.The following program section 138 concerning an NP constituent with the associated research program will now be explained in more detail. At step 138, the question is asked whether the constituent is an NP. If the answer to this is affirmative (Y), program step 139 follows, where the question is asked whether the functional label "head" occurs twice in a row. If this is the case (Y), program step 152 follows, where the value of the Probability calibration field is decreased by a certain correct factor, after which the program proceeds to step 140. If the question at step 139 is answered negatively (N) , one or more similar questions follow, which are not further explained here, but which ultimately end up in program step 140. The question is asked whether the functional label "head" is followed in the constituent to be examined by the label "det". If this is the case (Y), then this is an incorrect sequence, and in the next step 141 the value of the Probability field is corrected by a certain factor. In the negative answer (N) of the question at step 140, step 142 follows with the question whether the functional label "head" is followed by the label "nmod-a". If this is the case (Y), in step 143 the value of the Probability field of the Constituent to be examined is decreased by a certain factor. If there is a negative answer (N) to the question at step 142, a similar question is processed in a next step. Eventually, and therefore also after steps 141 and 143, the program then arrives at the first step 144 of the next phase of the research program, where the question is asked whether the label "det" occurs only once in the constituent. In the case of a negative answer (N) to this question, the value of the Probability field is decreased by a certain factor in the next program step 145. In the affirmative answer (Y), step 146 follows, where the question is asked whether the constituent contains only one functional label "head". If not (N), a decrease of the Probability field value is made at step 147. After the program steps to be performed in this phase, the program run at step 75 is considered completed. If the question is answered negatively (N) in step 138, then step 148 follows where the question concerns a PP constituent. Upon confirmation (Y) of the question at step 138, a related research program is run. A similar program portion but for an AP constituent occurs at steps 150 and 151, after which the program equivalent to step 75 of FIG. 2 is considered terminated.

Een soortgelijke programmatische behandeling is eveneens mogelijk voor de overige tabellen van de "syntax directed parser".A similar programmatic treatment is also possible for the other tables of the "syntax directed parser".

Bij de programmagedeeltes, welke betrekking hebben op de stappen 67, 75, 84, 95 en 128 zijn fllterprocedures gehanteerd, waarmee aan de hand van zekere criteria, welke van grammaticaregels zijn afgeleid, wordt vastgesteld, of de ingevoerde zin wel of niet grammaticaal juist is. Is dit niet het geval, dan wordt de zin voorzien van een foutmelding of foutcode en een lagere waarschijn!ijkheidsfactor, hetgeen in geval van selectie van de zin bij stap 44, door het systeem bijvoorbeeld op een beeldscherm wordt weergegeven. De bedienaar van het systeem kan dan al nog de ingebrachte zin handmatig corrigeren.The program sections, which relate to steps 67, 75, 84, 95, and 128, use flutter procedures that determine whether or not the sentence entered is grammatically correct, based on certain criteria derived from grammar rules . If this is not the case, the sentence is provided with an error message or error code and a lower probability calibration factor, which, for example, when the sentence is selected in step 44, is displayed by the system on a screen. The operator of the system can still correct the entered sentence manually.

Een systeem, dat de ingevoerde zin parseert en tevens automatisch verbetert, wordt wenselijk geacht. Deze verbeterfunctie dient als programmafase 153 na stap 4, in het geval van een ontbreken van een bruikbaar resultaat, te worden uitgevoerd. Bij de volgende stap 154 wordt de vraag gesteld, of de ongrammaticale zin voldoende verbeterd is, hetgeen aan de waarde in het waarschijnlijkheidsveld te zien is. Een ontkennend antwoord (N) op de vraag van stap 154 houdt dan in, dat de aangeboden zin niet afdoende te corrigeren is. Het programma zal dan terugkeren naar stap 1 voor het intypen door de bedieningsman van een gewijzigde versie van de onderhavige zin. Bij een bevestigend antwoord (Y) op vraag 154 gaat het programma verder naar stap 4.A system that parses and automatically corrects the entered sentence is considered desirable. This enhancement function is to be performed as program stage 153 after step 4, in the absence of a useful result. In the next step 154 the question is asked whether the non-grammatical sense has improved sufficiently, which can be seen from the value in the probability field. A negative answer (N) to the question of step 154 then implies that the sentence presented cannot be sufficiently corrected. The program will then return to step 1 for the operator to type in a modified version of the present sentence. In the affirmative answer (Y) to question 154, the program proceeds to step 4.

De basisgedachte achter programmafase 153 zal nu aan de hand van de figuren 13, 14 en 15 worden uiteengezet. Om toch na afloop van de corrigeeraetie over zowel de originele representatie alswel over de verbeterde representatie te kunnen beschikken, wordt tijdens stap 155 (zie Fig. 13) van de geselecteerde, originele zinsrepresentatie in het representatiegeheugen een kopie gemaakt, welke dan tijdens fase 156 aan een correct!eprocedure wordt onderworpen.The basic idea behind program phase 153 will now be explained with reference to Figures 13, 14 and 15. In order to still have both the original representation and the improved representation after the correction action has been completed, a copy is made in step 155 (see Fig. 13) of the selected, original sentence representation in the representation memory, which is then turned on during phase 156. a correct procedure is submitted.

Bij de daarop volgende stap 157 worden een aantal velden van de geselecteerde topconstituent aan de doorgevoerde wijziging aangepast.In the subsequent step 157, a number of fields of the selected top constituent are adapted to the change made.

Dit geldt bijvoorbeeld voor de opdrachtvelden van de bij deze topconstituent behorende memberconstituenten en ook voor de daarvan afhankelijke memberconstituenten. Deze opdrachtvelden worden nu opgevuld met een aanduiding of verwijzing naar de desbetreffende parent-constituent, waarna het programma verder gaat naar stap 154.This applies, for example, to the assignment fields of the member constituents belonging to this top constituent and also to the dependent member constituents. These command fields are now filled with an indication or reference to the relevant parent constituent, after which the program proceeds to step 154.

De programmafase 156 valt uiteen in een aantal programmastappen zoals weergegeven is in Fig. 14.The program phase 156 is divided into a number of program steps as shown in Fig. 14.

Daar de programmafase 156 slechts door de topconstituent én door de memberconstituenten met een incorrecte structuur moet worden doorlo pen, zal het programma bij stap 158 aanvangen met de vraag of de aangeboden constituent een waarschijnlijkheidsfaktor kleiner dan de waarde 1 bezit. Bij een constituent met een correcte structuur wordt hierop ontkennend geantwoord (N). Het eigenlijke correct!eprogramma zal dus niet worden uitgevoerd en het programma gaat verder naar stap 157. Zoals hierna zal blijken, kan stap 158 ook volgen na stap 164, hetgeen dan zal resulteren in het vervolgen van het programma na stap 158 met stap 161. Voor een constituent met een incorrecte structuur wordt de vraag bevestigend beantwoord (Y), en zal het programma verder gaan met stap 159, alwaar het waarschijnlijkheidsveld de waarde 1 krijgt. Het zou immers niet juist zijn als de onderhavige constituent na correctie van de constituent zelf of diens memberconstituenten een ongecorrigeerde waarschijnlijkheidsfaktor zou bezitten. Met het corrigeren van een zinstructuur zal gestart worden op het laagste niveau in een zin, waarop nog constituenten voorkomen. Om tot dat niveau in een zinstructuur te kunnen afdal en, wordt bij de volgende programmastap 160 een teller (r-teller) teruggesteld naar 0 (r = 0), waarna bij de volgende stap 161 de tellerstand van deze teller met 1 wordt opgehoogd (r = r+1). Bij de daarop volgende stap 162 wordt aan de hand van de voorwaarde r <_ rmax getoetst of de r-teller een tel stand heef.t, welke kleiner is dan of gelijk is aan het aantal memberconstituenten bij de onderhavige constituent. Is dit het geval (Y), dan wordt bij stap 163 de door de r-teller bepaalde constituent uit het woordgeheugen van het systeem gehaald en wordt bij stap 164 de vraag gesteld, of deze constituent inderdaad een zinsdeel constituent is ( en dus niet een woordconstituent). Wordt deze vraag bevestigend beantwoord (Y), dan dient in de zinstructuur naar een nog lager gelegen niveau te worden afgedaald, en zal het programma verder gaan naar stap 165. Deze stap houdt derhalve in, dat voor die zinsconstituent als huidige constituent het corrigeerprogramma vanaf stap 158 opnieuw zal worden doorlopen. Valt de constituent echter onder de categorie "Woorden", en wordt daarmee de vraag van stap 164 ontkennend beantwoord (N), dan keert het programma terug naar stap 161.Since the program phase 156 is to be passed only by the top constituent and by the member constituents with an incorrect structure, the program will start at step 158 with the question whether the constituent presented has a probability factor less than the value 1. In the case of a constituent with a correct structure, this is answered negatively (N). Thus, the actual correct program will not be executed and the program proceeds to step 157. As will be seen below, step 158 may also follow after step 164, which will then result in the program continuing after step 158 with step 161. For a constituent with an incorrect structure, the question is answered in the affirmative (Y), and the program proceeds to step 159, where the probability field takes the value 1. After all, it would not be correct if the present constituent had an uncorrected probability factor after correcting the constituent itself or its member constituents. Correcting a sentence structure will start at the lowest level in a sentence, on which there are still constituents. In order to descend to that level in a sentence structure, a counter (r counter) is reset to 0 (r = 0) in the next program step 160, after which the counter reading of this counter is increased by 1 in the next step 161 ( r = r + 1). In the subsequent step 162 it is checked on the basis of the condition r <_ rmax whether the r-counter has a count which is less than or equal to the number of member constituents in the present constituent. If this is the case (Y), then in step 163 the constituent determined by the r-counter is taken from the word memory of the system and in step 164 the question is asked whether this constituent is indeed a phrase constituent (and therefore not a word constituent). If this question is answered in the affirmative (Y), then the sentence structure should descend to an even lower level, and the program will proceed to step 165. This step therefore implies that for that sentence constituent, the correction program starts as the current constituent step 158 will be gone through again. However, if the constituent falls under the "Words" category, and the question of step 164 is answered in the negative (N), then the program returns to step 161.

Wordt de vraagstelling bij stap 162 ontkennend beantwoord (N), dan bezit de onderhavige constituent een constituentstructuur, waarin slechts woorden als memberelementen voorkomen. Tijdens de daarop volgende stap 166 zal bij de onderhavige constituent worden onderzocht, of het bijbehorende foutmeldingsveld een of meerdere foutmeldingen bezit. Is dit niet het geval (N), dan is voor die constituent het correctieproces afgelopen en gaat het programma verder naar stap 173. Wordt de vraagstelling bij stap 166 echter bevestigend beantwoord CY)» dan volgt stap 167, alwaar de waarden van het waarschijn!ijkheidsveld, het kenmerkenveld en het foutmeldlngsveld van ! de huidige constituent worden aangepast aan de wijzigingen, welke reeds tijdens de corrigeerfase hebben plaatsgehad. Dit is geenszins denkbeeldig daar stap 165 de volledige correctiefase van Fig. 14 Inhoudt, en juist bij stap 172 de eigenlijke correctie van de zinstructuur plaatsvindt. Daar de programmastappen 67, 75, 84, 95 en 128 een aantal (1) soorten foutmeldingen in de vorm van foutcodes tengevolge hebben, en bij elke soort foutmelding een voor de desbetreffende fout karakteristieke corrigeerfunctie behoort, zal de huidige constituent op de mogelijke foutmeldingen of foutcodes in het fout-meldingsveld onderzocht worden.If the question is answered in the negative (N) at step 162, then the present constituent has a constituent structure, in which only words occur as member elements. In the subsequent step 166 it will be examined in the present constituent whether the associated error message field has one or more error messages. If this is not the case (N), then for that constituent the correction process has ended and the program proceeds to step 173. If the question in step 166 is answered in the affirmative CY) »then step 167 follows, where the values of the probability! calibration field, the attributes field and the error field of! the current constituent will be adapted to the changes that have already taken place during the correction phase. This is by no means imaginary since step 165 shows the full correction phase of FIG. 14 Means, and precisely at step 172 the actual correction of the sentence structure takes place. Since program steps 67, 75, 84, 95 and 128 result in a number of (1) types of error messages in the form of error codes, and each type of error message has a correction function characteristic of the respective error, the current constituent on the possible error messages or error codes are investigated in the error reporting field.

Bij stap 168 zal een t-teller, waarvan de tel stand correspondeert met een bepaald rangnummer in een mogelijke reeks van foutcodes in het foutmeldingsveld, teruggesteld worden (t=0). Vervolgens zal bij stap 169 de tel stand van de t-teller worden opgehoogd (t = t+1), en zal bij stap 170 de vraag worden gesteld of de tel stand van de t-teller hoger is dan het getal, dat het aantal foutcodes (½^) in het foutmeldingsveld bepaalt (ΐ>ίπ,3χ). Is dit niet het geval (N), dan zal bij stap 171 de met de tel stand van de t-teller corresponderende foutcode uit het foutmeldingsveld worden opgehaald, en zal in de daarop aansluitende stap 172 de voor die foutcode geldende corrigeerfunktie op de huidige constituent worden toegepast. De stap 172 zal nader aan de hand van Fig. 16 worden toegelicht. Vervolgens gaat het programma weer naar stap 169.At step 168, a t-counter, the count of which corresponds to a certain rank number in a possible series of error codes in the error message field, will be reset (t = 0). Then, at step 169, the counting position of the t-counter will be increased (t = t + 1), and at step 170 the question will be asked whether the counting position of the t-counter is higher than the number, which is the number error codes (½ ^) in the error message field (ΐ> ίπ, 3χ). If this is not the case (N), then in step 171 the error code corresponding to the count of the t-counter will be retrieved from the error message field, and in the subsequent step 172 the correction function valid for that error code will be applied to the current constituent are applied. Step 172 will be explained in more detail with reference to FIG. 16 are explained. Then, the program returns to step 169.

Wordt daarentegen bij stap 170 de vraagstelling bevestigend beantwoord (Y), en zijn derhalve alle foutcodes bij die constituent afgehandeld, dan gaat het programma verder naar stap 173, alwaar een identiek programma als in stap 167 wordt uitgevoerd. Na het doorlopen van stap 173 keert het programma, wanneer althans de corrigeerfunctie (Fig. 14) een onderdeel vormt van stap 165, terug naar deze stap en vervolgt dan met stap 161. Wordt echter de corrigeerfunctie (Fig. 14) niet als onderdeel van stap 165 uitgevoerd, dan gaat het programma na stap 173 verder met stap 157.On the other hand, if the question is answered in the affirmative (Y) at step 170, and therefore all error codes have been settled with that constituent, the program proceeds to step 173, where an identical program as in step 167 is executed. After going through step 173, if at least the correcting function (Fig. 14) is part of step 165, the program returns to this step and then continues with step 161. However, the correcting function (Fig. 14) does not become part of step 165, the program proceeds to step 157 after step 173.

Wordt de vraagstelling bij stap 158 ontkennend beantwoord (N), dan gaat het programma, wanneer de corrigeerfunctie van Fig. 14 deel uitmaakt van stap 165, terug naar deze stap. Zo niet, dan gaat het programma verder met stap 157.If the question is answered negatively (N) at step 158, when the correcting function of FIG. 14 is part of step 165, back to this step. If not, the program proceeds to step 157.

Dë stappen 167 en 173 behoeven nadere toelichting, hetgeen aan de hand van Fig. 15 zal geschieden. De functie van deze stappen betreft het aanpassen van het waarschijnlijkheidsveld, het foutmeldingsveld en het kenmerkenveld van de huidige constituent in de gecreëerde situatie. Hierbij wordt gebruik gemaakt van de functionaliteit als beschreven bij de programmastappen 67, 74 en 75. Het aanpassen van genoemde velden vangt aan met het toekennen van een beginwaarde aan deze velden. Aldus wordt het waarschijnlijkheidsveld bij stap 174 de waarde "1" toegekend, het foutmeldingsveld bij stap 175 de waarde "NIL" en het kenmerkenveld bij stap 176 de volledige lijst van mogelijk voorkomende kenmerken als aangegeven is bij tabel A in de rubriek van de huidige constituent. Deze velden kunnen onderhevig zijn aan wijzigingen, zeker wat het kenmerkenveld betreft. Het aanpassen van deze velden aan de memberelementen vangt aan bij stap 177, alwaar een teleenheid (u-teller), waarvan de tel stand correspondeert met het rangnummer van het memberelement binnen de huidige constituent, wordt teruggesteld naar 0 (u=0). Vervolgens wordt bij stap 178 de tel stand van de u-teller opgehoogd (u = u+1), en wordt bij stap 179 de.vraag gesteld of de tel stand van de u-teller uitgaat boven het aantal memberelementen (umax) binnen de huidige constituenten (u > umax). Bij een ontkennend antwoord (N) op deze vraagstelling volgt programmastap 180, alwaar de op dat moment geldende waarde van het waarschijnlijkheidsveld bij die constituent wordt vermenigvuldigd met de waarde van het waarschijnlijkheidsveld van de betreffende member-constituent. In het geval de memberconstituent een woord is, geldt hier de fictieve waarde 1.Steps 167 and 173 need further explanation, which will be explained with reference to FIG. 15 will be made. The function of these steps involves adjusting the probability field, the error field and the characteristic field of the current constituent in the created situation. Use is made here of the functionality as described in program steps 67, 74 and 75. The adaptation of said fields starts with the assignment of an initial value to these fields. Thus, the probability field at step 174 is assigned the value "1", the error field at step 175 is assigned the value "NIL", and the attribute field at step 176 is the complete list of possible occurrences as indicated in Table A under the heading of the current constituent . These fields can be subject to change, especially with regard to the characteristics field. Matching these fields to the member elements starts at step 177, where a count unit (u-counter), the count of which corresponds to the rank number of the member element within the current constituent, is reset to 0 (u = 0). Then, at step 178, the count of the u-counter is increased (u = u + 1), and at step 179 the question is asked whether the count of the u-counter exceeds the number of member elements (umax) within the current constituents (u> umax). If there is a negative answer (N) to this question, program step 180 follows, where the currently valid value of the probability field for that constituent is multiplied by the value of the probability field of the relevant member constituent. In case the member constituent is a word, the fictitious value 1 applies here.

Vervolgens wordt bij stap 181 de waarde van het kenmerkenveld aangepast aan de gegevens behorende bij het onderhavige memberelement. Deze aanpassing geschiedt met behulp van tabel D op een wijze, welke identiek is aan stap 74.Then, at step 181, the value of the attribute field is adapted to the data associated with the present member element. This adjustment is made using Table D in a manner identical to step 74.

Wordt bij stap 179 de vraagstelling bevestigend beantwoord (Y), dan worden bij de volgende stap 182 op de verkregen constituentstructuur met behulp van enig control e-operaties bepaalde filterfuncties als beschreven bij stap 75 uitgevoerd. Dit is eveneens het geval bij de volgende stap 183, welke soortgelijk is aan stap 67.If in step 179 the question is answered in the affirmative (Y), then in the next step 182 on the obtained constituent structure, by means of some control e-operations, certain filter functions as described in step 75 are performed. This is also the case in the next step 183, which is similar to step 67.

Aldus wordt de constituentstructuur in gereedheid gebracht om correcties daarop te kunnen uitvoeren, dan wel om een correcte representatie van de constituent te verkrijgen.The constituent structure is thus prepared in order to be able to make corrections thereto or to obtain a correct representation of the constituent.

In de programmastap 172 worden een aantal specifieke correc-tieprocedures doorlopen, welke volgens een in Fig, 16 weergegeven programma worden uitgevoerd. Na stap 171 gaat het programma naar stap 184, alwaar de vraag wordt gesteld of de foutmelding met rangnummer t uit de huidige constituent (zie stap 171) correspondeert met een aan die stap gekoppelde foutmelding van bepaalde hoedanigheid. Wordt de vraagstelling bevestigd (Y), dan volgt stap 185, waarbij de bij stap 184 bepaalde correctie op de huidige constituent wordt uitgevoerd. Zo kan stap 184 de functie zijn toegewezen om een constituent, waarbij een verkeerde volgorde der memberelementen is gedetecteerd, te corrigeren. Een dergelijke correctie zal aan de hand van Fig. 17 worden uiteengezet. Na stap 185 zal het programma verder gaan naar stap 169. Bij een ontkennend antwoord (N) op de vraagstelling bij stap 184 volgt stap 186, alwaar de vraag wordt gesteld of het foutmeldingselement met rangnummer t correspondeert met een bepaald type, aan die stap gekoppeld foutmeldingselement.In the program step 172, a number of specific correction procedures are completed, which are performed according to a program shown in Fig. 16. After step 171, the program proceeds to step 184, where the question is asked whether the error message with rank number t from the current constituent (see step 171) corresponds to an error message of certain quality associated with that step. If the question is confirmed (Y), step 185 follows, in which the correction determined in step 184 is performed on the current constituent. For example, step 184 may be assigned the function of correcting a constituent in which an incorrect order of member elements has been detected. Such a correction will be made with reference to FIG. 17 are outlined. After step 185, the program will proceed to step 169. If there is a negative answer (N) to the question in step 184, step 186 follows, where the question is asked whether the error reporting element with rank number t corresponds to a certain type, linked to that step error reporting element.

Wordt die vraag bevestigend beantwoord (Y), dan volgt stap 187, waarbij een ander type correctie, bijvoorbeeld het treffen van zekere maatregelen in een constituent als gevolg van een onjuist aantal functionele labels, op de constituent wordt uitgevoerd. Deze foutcorrectie zal aan de hand van Fig. 18 worden uiteengezet. Na stap 187 zal het programma verder gaan met stap 169.If that question is answered in the affirmative (Y), step 187 follows, in which another type of correction, for example taking certain measures in a constituent as a result of an incorrect number of functional labels, is performed on the constituent. This error correction will be based on FIG. 18 are outlined. After step 187, the program will proceed to step 169.

Op de gekenschetste wijze wordt onderzocht welke correctiemaatregel bij een zekere foutmelding behoort en zal worden uitgevoerd.It is investigated in the manner described which correction measure is and will be implemented for a certain error message.

Afgezien van de in Fig. 17 en 18 uiteen te zetten correctiemaatregelen zullen aan de hand van Fig. 19 tot en met 25 nog andere correctiemaatregelen worden beschreven, welke binnen Fig. 16 aan de orde zijn. Bij de correctiefase in Fig. 17 wordt ervan uitgegaan, dat zowel de foutmelding zelf, in casu aan te duiden met "COA" alswel de om te wisselen elementenparen in het foutmeldingsveld van de huidige constituent staan vermeld. Deze correctiefase vangt aan met stap 198 met de vraagstelling of er in het foutmeldingsveld nog wel een foutmelding van het type "COA11 aanwezig is. Bij een ontkennende beantwoording (N) van deze vraagstelling gaat het programma naar stap 169 (zie Fig. 14), en bij een bevestigende beantwoording (Y) naar stap 199, alwaar het om te wisselen elementenpaar uit het foutmeldingsveld wordt overgebracht naar het werkgeheugen. In de daarop volgende staD 200 worden de des betreffende elementen in het stapelveld omgewisseld, hetgeen eveneens het geval is in de volgende stap 201 voor het structuurelementenveld. Vervolgens moet worden nagegaan of het bereikte resultaat qua volgorde goed is. Hiertoe wordt bij stap 202 de betreffende "COA"-vermelding uit het foutmeldingsveld verwijderd en wordt bij de volgende stap 203 in het waarschijnlijkheidsveld de ingeschreven waarde vervangen door de waarde "1". Daarna wordt bij stap 204 de controle-procedure als van stap 75 uitgevoerd, en wordt bij de volgende stap 205 nagegaan of de constituent aan de voorwaarde voor het afsluiten van een constituent voldoet, gelijk het aan de orde is geweest bij stap 67. Als gevolg van deze twee stappen worden het waarschijnlijkheidsveld en het foutmeldingsveld aan de nieuwe situatie aangepast. Na stap 205 keert het programma terug naar stap 198, alwaar de vraagstelling t.a.v. de nieuwe situatie herhaald wordt. Het verkregen resultaat wordt telkenmale naar het representatiegeheugen teruggevoerd. Wordt de vraagstelling bij stap 186 bevestigend beantwoord, dan wordt de met nummer 187 aangeduide correctiefase ingezet, waarvan het programma in Fig. 18 is weergegeven.Apart from the ones shown in FIG. 17 and 18, corrective measures to be explained with reference to FIG. 19 to 25, other corrective measures are described, which are shown in FIG. 16 are under discussion. At the correction phase in Fig. 17 it is assumed that both the error message itself, in this case denoted by "COA", as well as the element pairs to be exchanged are stated in the error message field of the current constituent. This correction phase starts with step 198 with the question whether there is still an error message of the type "COA11 present in the error message field. In case of a negative answer (N) of this question, the program goes to step 169 (see Fig. 14), and upon an affirmative answer (Y) to step 199, where the exchangeable element pair from the error message field is transferred to the working memory In the subsequent stage 200, the relevant elements in the stack field are exchanged, which is also the case in the next step 201 for the structural element field Then it must be determined whether the result obtained is correct in order, for this purpose the relevant "COA" entry is removed from the error message field in step 202 and the entered value is replaced in the probability field in the next step 203 by the value "1." Then, in step 204, the checking procedure is carried out as in step 75, and in the next e step 205 checking whether the constituent meets the condition for closing a constituent, as it was the case in step 67. As a result of these two steps, the probability field and the error message field are adapted to the new situation. After step 205, the program returns to step 198, where the question regarding the new situation is repeated. The result obtained is always fed back to the representation memory. If the question in question 186 is answered in the affirmative, the correction phase indicated by number 187 is initiated, the program of which is shown in FIG. 18 is shown.

Deze correctiefase behandelt de fouten, welke betrekking hebben op een onjuist aantal functionele labels binnen een zin of zinsdeel, zoals bij stap 75 is vastgesteld. Daarbij wordt ervan uitgegaan, dat de foutmelding zelf, in casu aan te duiden met COB, de betreffende functionele labels, het maximum aantal dat zo'n label mag voorkomen, en soms een label, dat hiervoor dringend aanwezig moet zijn, in het foutmeldingsveld van de huidige constituent vermeld staan. Deze correctiefase vangt aan met stappen 206 en 207, waarbij successievelijk het foutmeldingsveld en het stapelveld gekopieerd worden naar het werkgeheugen. Vervolgens wordt bij stap 208 de bewuste foutmelding van het foutmeldingsveld opgehaald. Bij de volgende stap 209 wordt een bepaalde vlag (of eventueel een veranderbaar label) aan de informatie in het werkgeheugen toegevoegd en de waarde "NIL" toegekend. Bij de volgende stap 210 wordt nagegaan of de foutmelding wel of niet drie elementen omvat. Er wordt hierbij vanuit gegaan, dat er naast de bij stap 75 beschreven gebeurtenisonafhankelijke foutmeldingen tevens gebeurtenisafhankelijke foutmeldingen voorkomen. Een gebeurtenisonafhankelijke foutmelding geefs slechts aan dat het voorkomen van een zekere label in de constituent aan een maximum gebonden is.This correction phase deals with the errors, which relate to an incorrect number of functional labels within a sentence or phrase, as determined at step 75. It is assumed that the error message itself, in this case denoted by COB, the relevant functional labels, the maximum number that such a label may occur, and sometimes a label, which must be present urgently, in the error message field of the current constituent are listed. This correction phase starts with steps 206 and 207, in which the error message field and the stack field are successively copied to the working memory. Then, in step 208, the conscious error message is retrieved from the error message field. In the next step 209, a certain flag (or optionally a changeable label) is added to the information in the working memory and the value "NIL" is assigned. In the next step 210 it is checked whether or not the error message comprises three elements. It is assumed here that in addition to the event-dependent error messages described in step 75, event-dependent error messages also occur. An event independent error message only indicates that the occurrence of a certain label in the constituent is limited to a maximum.

Zo geeft (det, 1) aan, dat een determiner slechts éénmaal in die constituent mag voorkomen. We hebben hier te doen met een foutmelding van 2 elementen. Een gebeurtenisafhankelijke foutmelding geeft aan, dat slechts bij een bepaalde gebeurtenis geldt, dat het voorkomen van een zeker label in de constituent aan een maximum gebonden is. Zo geeft de foutmelding (Vfin intr., fNP, 1) aan, dat bij aanwezigheid van een intransitieve werkwoordsvorm in de zin de onderhavige constituent slechts één fNP mag bevatten. Hiermee kunnen zinnen als: "Hij loopt de stad" door het systeem als foutief herkend worden, waarna de bedienaar de zin correct kan maken door een voorzetsel (in, naar, door) in de laatste NP op te nemen. Men heeft hier te maken met een 3-elementen-foutmelding.For example, (det, 1) indicates that a determiner may only occur once in that constituent. We are dealing here with an error message of 2 elements. An event-dependent error message indicates that only for a certain event applies that the occurrence of a certain label in the constituent is limited to a maximum. For example, the error message (Vfin intr., FNP, 1) indicates that in the presence of an intransitive verb form in the sense, the present constituent may contain only one fNP. This allows phrases such as: "He walks the city" to be recognized as incorrect by the system, after which the operator can correct the sentence by including a preposition (in, to, by) in the last POI. This is a 3-element error message.

Bij stap 210 wordt de vraag gesteld of het hier een 3-elementen-foutmelding betreft: Wordt deze vraagstelling ontkennend beantwoord (N), dan gaat het programma naar stap 211. Wordt daarentegen de vraagstelling bevestigend beantwoord (Y), dan volgt stap 212, alwaar de vraag gesteld wordt of het label (het derde element), dat de gebeurtenis representeert nog wel aanwezig is in het stapelveld, en niet op een eerder moment daaruit verwijderd is. Bij een bevestigend antwoord (Y) op de vraagstelling bij stap 212 gaat het programma naar stap 214 om te onderzoeken of er een foutcorrectie moet plaatsvinden. Bij stap 211 alsmede bij stap 214 wordt de vraag gesteld of er van het bewuste type functionele label nog steeds meer dan het toegestane aantal voorkomen. Is dit niet het geval (N), gaat het programma naar stap 213, alwaar de bij stap 209 ingevoerde vlag (of label) de waarde "TRUE" wordt toegekend (en derhalve aangeeft, dat de foutmelding niet meer reëel is. Ook bij een ontkennende beantwoording (N) van stap 212 is de foutmelding niet meer reëel, en zal het programma verder gaan naar stap 213. Wordt daarentegen de vraagstelling bij stap 211 of stap 214 bevestigend beantwoord (Y), dan gaat het programma verder naar stap 215 respectievelijk 216, alwaar de bij stap 209 ingevoerde vlag (of label) de waarde “NIL" krijgt.At step 210 the question is asked whether this is a 3-element error message: If this question is answered in the negative (N), the program goes to step 211. On the other hand, if the question is answered in the affirmative (Y), step 212 follows. where the question is asked whether the label (the third element), which represents the event, is still present in the stack field, and has not been removed from it earlier. If you have an affirmative answer (Y) to the question at step 212, the program goes to step 214 to examine whether an error correction should be made. In step 211 as well as in step 214, the question is asked whether there are still more than the permitted number of the type of functional label in question. If this is not the case (N), the program goes to step 213, where the flag (or label) entered in step 209 is assigned the value "TRUE" (and therefore indicates that the error message is no longer real. negative answer (N) from step 212, the error message is no longer real, and the program will proceed to step 213. On the other hand, if the question in step 211 or step 214 is answered in the affirmative (Y), the program proceeds to step 215, respectively. 216, where the flag (or label) entered in step 209 is assigned the value "NIL".

Bij stap 217, welke op de stappen 215, 213 en 216 volgt, wordt de vraag gesteld of genoemde vlag (of label) de waarde "TRUE" heeft. Is dat het geval (Y), dan is er niet meer sprake van een echte foutmelding, en zal bij stap 218 de foutmelding zelf (COB) uit het foutmeldingsveld verwijderd worden, en zal bij de volgende stap 219 het resterende gedeelte van de foutmelding verwijderd worden. Hierna volgt stap 169. Wordt bij stap 217 een ontkennend antwoord verkregen (N), en zijn er dus teveel functionele!abels van hetzelfde, bewuste type, dan wordt bij stap 221 het overbodige elementenpaar uit het structuurelementveld verwijderd en wordt bij stap 222 het overeenkomstige element uit het stapelveld verwijderd. Hierbij kan als uitgangsregel worden genomen, dat het laatste element(-enpaar) steeds het overbodige deel representeert. Daarnaast zou op grond van overwegingen als "met welk zelfstandig naamwoord komt het lidwoord overeen" of, "welk zelfstandig naamwoord komt met de persoonsvorm overeen" een meer gerichte verwijdering van het overtollige element bereikt kunnen worden.At step 217, which follows steps 215, 213 and 216, the question is asked whether said flag (or label) has the value "TRUE". If that is the case (Y), then there is no longer a real error message, and in step 218 the error message itself (COB) will be removed from the error message field, and in the next step 219 the remaining part of the error message will be removed. turn into. This is followed by step 169. If a negative answer is obtained in step 217 (N), and so there are too many functional elements of the same conscious type, in step 221 the superfluous element pair is removed from the structural element field and in step 222 the corresponding element removed from the stacking field. It can be taken as a starting rule that the last element (s) always represents the superfluous part. In addition, a more targeted removal of the redundant element could be achieved on the basis of considerations such as "with which noun does the article correspond" or, "which noun corresponds to the personal form".

Na stap 222 keert het programma terug naar stap 210 om na te gaan of er nog steeds te veel labels van het bewuste functionele type voorkomen. Wordt de vraagstelling bij stap 188 bevestigend beantwoord (Y), dan wordt de met nummer 189 aangeduide correctiefase ingezet, waarvan het programma in Fig. 19 is weergegeven.After step 222, the program returns to step 210 to determine if there are still too many labels of the functional type in question. If the question at question 188 is answered in the affirmative (Y), the correction phase indicated with number 189 is started, the program of which is shown in FIG. 19 is shown.

Deze correctiefase behandelt de fouten, welke betrekking hebben op een foutmelding, welke verkregen is aan de hand van een controle op een of meer onjuiste combinaties van kenmerken in het kenmerkenveld. Deze controle is aan de hand van de eerste serie combinaties in tabel F bij stap 75 of 84 uitgevoerd. In het aldaar beschreven voorbeeld was derhalve géén der elementen uit de door tabel F aangedragen combinatie (neuter inneuter) in het kenmerkenveld aanwezig. Derhalve zal in het foutmeldingsveld de bij dit type fout te gebruiken foutmelding (COC) en de betreffende combinatie van kenmerken, (neuter inneuter) vermeld staan.This correction phase deals with the errors related to an error message obtained by checking one or more incorrect combinations of features in the feature field. This check was performed using the first series of combinations in Table F at step 75 or 84. Therefore, in the example described there, none of the elements from the combination proposed by table F (neuter inneuter) was present in the characteristic field. The error message field will therefore contain the error message (COC) to be used with this type of error and the corresponding combination of characteristics (neuter inneuter).

Bij stap 223 wordt de bewuste combinatie, (neuter, inneuter) uit het foutmeldingsveld gehaald en in het werkgeheugen gezet.At step 223 the conscious combination (neuter, inuter) is removed from the error message field and put into the working memory.

Vervolgens wordt bij stap 224 uit een prioriteitentabel L welke in een negende tabellarisch geheugen is opgeslagen die lijst van elementen geselecteerd, welke de elementen van de constituent bevat en welke aan deze (functionele) elementen een prioriteitsvolgorde toekent. Deze prioriteitsvolgorde geeft aan, hoe de diverse elementen aan elkaar aangepast en derhalve gecorrigeerd moeten worden. In het geval van de woordcombinatie "de huis" als NP zal een tiende tabellarisch geheugen de prioriteitsvolgorde (head determiner) aangeven, zodat het lidwoord aan het zelfstandig naamwoord aangepast moet worden.Then, at step 224, from a priority table L which is stored in a ninth tabular memory, that list of elements is selected, which contains the elements of the constituent and which assigns a priority order to these (functional) elements. This order of priority indicates how the various elements must be adapted to each other and therefore corrected. In the case of the word combination "the house" as NP, a tenth tabular memory will indicate the priority order (head determiner), so that the article must be adapted to the noun.

Bij de volgende stap 225 wordt een hulpvariabele HLP ingeroepen, welke de waarde van de bij stap 223 gekopieerde combinatie, in casu (neuter, inneuter) ontvangt.In the next step 225, an auxiliary variable HLP is invoked, which receives the value of the combination copied in step 223, in this case (neuter, neuter).

In de daarop volgende programmafase wordt in overeenstemming met de importantie van de elementen als aangegeven is in de prioriteitentabel L het belangrijkste kenmerk in de variabele HLP gekozen. In het voorbeeld "de huis" bij stap 75 komt het hierop neer, dat vanwege het woord “huis" als belangrijkste element "neuter" uit de combinatie (neuter, inneuter) over zal blijven, en dat de overige tot die constituent behorende elementen dienovereenkomstig aangepast moeten worden. Dienovereenkomstig wordt bij stap 226 een teleenheid (v-teller), waarvan de tel stand overeenkomt met het rangnummer van een element in de bij stap 224 geselecteerde lijst binnen de prioriteitentabel L, teruggesteld (v=0). Vervolgens wordt bij stap 227 de tel stand van de v-teller opgehoogd (v = v+I), waarna bij stap 228 de vraag wordt gesteld of de tel stand van de v-teller het aantal elementen (Vmax) van de geselecteerde lijst in de prioriteitentabel L heeft overtroffen. Wordt deze vraagstelling bevestigend beantwoord (Y), dan volgt stap 229. Bij een ontkennende beantwoording volgt stap 230, waarbij het door de tel stand van de v-teller bepaalde element in de geselecteerde lijst van de prioriteitentabel wordt geselecteerd. Vervolgens wordt bij stap 231 een teleenheid (w-teller), waarvan de tel stand correspondeert met een zeker rangnummer in de reeks van elementen in de onderhavige constituent, teruggesteld op de beginstand (w=0). Bij de volgende stap 232 wordt de tel stand van deze teller opgehoogd (w » w+1), waarna bij stap 233 wordt onderzocht, of de tel stand van de w-teller het aantal elementen (w^) uit de constituent heeft overtroffen. Wordt deze vraagstelling bevestigend beantwoord (Y), dan keert het programma terug naar stap 227. Bij een ontkennende beantwoording van deze vraagstelling (N) wordt bij de volgende stap 234 dat element uit het stapelveld geselecteerd, waarvan het rangnummer correspondeert met de tel stand van de w-teller.In the subsequent program phase, the main characteristic in the variable HLP is selected in the priority table L in accordance with the importance of the elements as indicated. In the example "the house" at step 75, it boils down to this, that because of the word "house" the main element will be "neuter" from the combination (neuter, inuter), and that the other elements belonging to that constituent will remain accordingly Accordingly, at step 226, a counting unit (v-counter), the counting position of which corresponds to the rank number of an element in the list selected in step 224 within the priority table L, is reset (v = 0). step 227 the counting position of the v-counter is increased (v = v + I), after which in step 228 the question is asked whether the counting of the v-counter is the number of elements (Vmax) of the selected list in the priority table L If this question is answered in the affirmative (Y), step 229 follows. In the case of a negative answer, step 230 follows, in which the element determined by the counting of the v-counter in the selected list of the priority table w is selected. Then, at step 231, a counting unit (w-counter), the counting position of which corresponds to a certain rank number in the series of elements in the present constituent, is reset to the starting position (w = 0). In the next step 232 the count position of this counter is increased (w »w + 1), after which it is examined in step 233 whether the count position of the w counter has exceeded the number of elements (w ^) from the constituent. If this question is answered in the affirmative (Y), the program returns to step 227. In the case of a negative answer to this question (N), in the next step 234 that element is selected from the stack field, the rank number of which corresponds to the count of the w counter.

Afhankelijk van de gekozen voorbeeldgrammatica dient de volgende stap 235 al of niet in het programma te worden opgenomen. Bij een voorbeeldgrammatica, waarbij de categorie van een constituent nader wordt omschreven aan de hand van zekere bijbehorende kenmerken, kunnen aan zekere foutmeldingen dwingende richtlijnen worden toegewezen. Wordt bijvoorbeeld voor de constituent "de huis" de categorie-aanduiding "neuter" van "huis" aangevuld tot NP-neuter, dan is hiermee het dwingende voorschrift gecreëerd, dat de gehele constituent in de "neuter"-vorm moet worden geschreven. Met andere woorden: In het fout-meldingsveld wordt niet de strijdige combinatie (neuter inneuter) geschreven maar het voorschrift "neuter". Bij stap 235 wordt in dit geval de vraag gesteld of de in het foutmeldingsveld opgenomen lijst slechts één element, d.w.z. voorschrift bevat. Is dit het geval (Y), dan volgt stap 229, waarbij als controle-maatregel nog de vraag wordt gesteld, of de variabele "HLP" nog wel een element bevat. Bevat "HLP" geen element (N), dan is hiermee het programma van Fig. 19 beëindigd, en gaat het programma verder naar stap 169.Depending on the selected grammar chosen, the next step 235 may or may not be included in the program. In an example grammar, in which the category of a constituent is further described by means of certain associated characteristics, mandatory errors can be assigned to certain error messages. For example, if for the constituent "the house" the category designation "neuter" of "house" is supplemented to NP neuter, this creates the imperative requirement that the entire constituent must be written in the "neuter" form. In other words: The error reporting field does not write the conflicting combination (neuter inneuter) but the prescription "neuter". In this case, at step 235, the question is asked whether the list included in the error message field contains only one element, i.e., prescription. If this is the case (Y), step 229 follows, in which the control measure still asks whether the variable "HLP" still contains an element. If "HLP" does not contain an element (N), then the program of FIG. 19 ends, and the program proceeds to step 169.

Wordt daarentegen de vraag bij stap 229 bevestigend beantwoord (Y), dan volgt stap 236. Wordt de vraagstelling bij stap 235 ontkennend beantwoord (N), dan volgt stap 237.If, on the other hand, the question is answered affirmatively (Y) in step 229, then step 236 follows. If the question is answered negatively (N) in step 235, step 237 follows.

In het geval foutmeldingen steeds aan de hand van combinaties van kenmerken, bijvoorbeeld uit tabel F gegenereerd worden, kan stap 235 achterwege worden gelaten, en volgt op stap 234 direct stap 237. Bij stap 237 wordt de vraag gesteld of het door de tel stand van de v-teller (zie stap 226) gekenmerkte element (functioneel label) uit de prioriteitenlijst uit tabel L gelijk is aan het door de telstand van de w-teller (zie teller 232) gekenmerkt functioneel label uit de huidige constituent. Is dit niet het geval (N), dan wordt teruggegaan naar stap 232. Wordt de vraag bij stap 237 bevestigend (Y) beantwoord, dan wordt bij de volgende stap 238 het gemeenschappelijk gedeelte van de lijst van kenmerken behorende bij het door de telstand van de w-teller (zie stap 232) aangegeven element uit het structuurelementen-veld en van de bij stap 225 uit het foutmeldingsveld gekopieerde lijst bepaald en als vervangende waarde aan de variabele "HLP" toegekend. In het onderhavige geval zal de waarde (neuter inneuter) voor de variabele HLP vervangen worden door "neuter", aangezien bij stap 225 de geselecteerde lijst uit de prioriteitentabel L een verwijzing gaf naar "head" en derhalve naar "huis" met het kenmerk "neuter".In case error messages are always generated on the basis of combinations of characteristics, for example from table F, step 235 can be omitted, and step 234 immediately follows step 237. At step 237 the question is asked whether the count of the v-counter (see step 226) labeled element (functional label) from the priority list of table L is equal to the functional label from the current counter counted by the count of the w-counter (see counter 232). If this is not the case (N), it is returned to step 232. If the question is answered in the affirmative (Y) in step 237, then in the next step 238 the common part of the list of features associated with the count of the w-counter (see step 232) determined from the structural elements field and from the list copied from the error message field in step 225 and assigned as a replacement value to the variable "HLP". In the present case, the value (neuter inuter) for the variable HLP will be replaced by "neuter", since in step 225 the selected list from the priority table L gave a reference to "head" and therefore to "house" with the attribute " neuter ".

Bij de volgende stap 239 wordt de controle-vraag gesteld, of de variabele HLP wel een reëele waarde bij stap 238 heeft verkregen, en niet bijvoorbeeld leeg is. Wordt deze vraagstelling ontkennend beantwoord (N), dan volgt stap 240. Omdat de HLP-variabele hier geen voorstel kan doen, volgens het welk de correctie van de onderhavige constituent dient plaats te vinden, wordt aan de HLP-variabele voor het verdere verloop van het progamma toch een waarde toegekend, en wel het eerste element uit de bij stap 243 of 225 verkregen combinatie. Vervolgens gaat het programma naar stap 236.In the next step 239 the control question is asked whether the variable HLP has obtained a real value in step 238, and is not, for example, empty. If this question is answered in the negative (N), then step 240 follows. Since the HLP variable cannot make a proposal here, according to which the correction of the present constituent should take place, the HLP variable is used for the further course of the program is nevertheless assigned a value, namely the first element of the combination obtained in step 243 or 225. Then, the program goes to step 236.

Wordt de vraag bij stap 239 bevestigend beantwoord (Y), dan volgt stap 241, met de vraagstelling of de bij stap 238 bepaalde waarde van de HLP-variabele meerdere elementen omvat. Is dit niet het geval (N), dan volgt stap 242, alwaar het eerste element uit de bij stap 238 bepaalde combinatie als nieuwe waarde aan de variabele "HLP“ wordt toegekend. Vervolgens gaat het programma verder naar stap 236.If the question is answered affirmatively (Y) at step 239, step 241 follows, asking whether the value of the HLP variable determined at step 238 comprises multiple elements. If not (N), step 242 follows, where the first element of the combination determined in step 238 is assigned as new value to the variable "HLP". Then the program proceeds to step 236.

Wordt de vraagstelling bij stap 241 bevestigend beantwoord (Y), dan wordt bij de volgende stap 243 de bij stap 223 uit het foutmeldings-veld opgehaalde lijst vervangen door de bij stap 238 verkregen waarde van de HLP-variabele.If the question is answered affirmatively (Y) in step 241, then in the next step 243, the list retrieved from the error message field in step 223 is replaced by the value of the HLP variable obtained in step 238.

Vervolgens gaat het programma verder naar stap 232.Then, the program proceeds to step 232.

Bij stap 236 wordt een functie LHF aangeroepen, welke de structuur van de huidige constituent zo zal aanpassen, dat het met behulp van de HLP-functie bepaalde kenmerk (zie stap 240 respectievelijk 242), in casu “neuter'1, aan die structuur mag en zal worden toegekend. De met stap 236 aan te roepen functie zal aan de hand van Fig. 25 nader worden toegelicht.At step 236 a function LHF is called, which will adapt the structure of the current constituent in such a way that the characteristic determined by means of the HLP function (see step 240 and 242 respectively), in this case “neuter” 1, may be assigned to that structure and will be awarded. The function to be called with step 236 will be described with reference to FIG. 25 will be explained in more detail.

Na stap 236 wordt bij stap 244 de vraag gesteld, of het foutmeldings-veld van de huidige constituent nog een foutmelding van het COC-type bevat. Bij een bevestigend antwoord (Y), gaat het programma terug naar stap 223, en bij een ontkennend antwoord (N) naar stap 169 (zie fig, 14). Bij Fig. 19 en voorts nog bij de nog te behandelen figuren 20 en 23 wordt de bij stap 236 genoemde functie LHF ingeroepen, welke aan de hand van Fig. 25 wordt uiteengezet en welke aanvangt bij stap 245 met de vraagstelling, of de huidige structuur betrekking heeft op een woord. Is dit het geval (Y), dan wordt bij de volgende stap 246 voor het huidige woord in het lexicaal geheugen een andere vorm gezocht, welke wel beantwoordt aan het door de HLP-funktie bepaalde kenmerk. Vervolgens gaat het programma terug naar het proqrammaqedeelte, dat het verlaten had.After step 236, at step 244, the question is asked whether the error message field of the current constituent still contains an error message of the COC type. In the affirmative answer (Y), the program returns to step 223, and in the negative answer (N), to step 169 (see Fig. 14). At fig. 19 and furthermore with the figures 20 and 23 still to be discussed, the function LHF mentioned at step 236 is invoked, which reference is made with reference to FIG. 25 is explained and which starts at step 245 with the question whether the current structure relates to a word. If this is the case (Y), then in the next step 246 a different form is searched for the current word in the lexical memory, which does correspond to the characteristic determined by the HLP function. Then the program returns to the program section that it had left.

Bij een ontkennend antwoord (N) op de vraag bij stap 245 worden een aantal velden van de constituent in de initiële toestand gebracht. Dit houdt in, dat bij stap 247 het waarschijnlijkheidsveld de waarde “1" krijgt, bij stap 248 het foutmeldingsveld de waarde "NIL", en bij stap 249 het kenmerkenveld de bij de categorie behorende kenmerken als vermeld onder tabel A. Vervolgens wordt bij stap 250 aan een met "GRAM" aan te duiden variabele de kenmerken toegekend, welke bij de categorie van de huidige constituent en het functionele label in de tabel D staan vermeld.In the negative answer (N) to the question at step 245, a number of fields of the constituent are brought into the initial state. This means that at step 247 the probability field is assigned the value "1", at step 248 the error message field is assigned the value "NIL", and at step 249 the characteristic field the attributes belonging to the category as mentioned under table A. Then, at step 250 assigned to a variable denoted by "GRAM" the attributes listed in the Table of the current constituent category and functional label.

Vervolgens dienen de diverse elementen (members) van deze constituent aan het door de HLP-functie bepaalde kenmerk in casu "neuter" te worden aangepast. Hiertoe wordt bij stap 251 een teleenheid (s-teller), waarvan de tel stand correspondeert met het rangnummer van de member-elementen in deze Constituent, op de beginwaarde teruggesteld (s=0), waarna bij stap 252 de tel stand van deze teller wordt opgehoogd (s=s+l). Vervolgens wordt bij stap 253 de vraag gesteld of de tel stand van de s-teller boven het aantal memberelementen (smax) binnen deze Constituent is gekomen. Is dit het geval (Y) dan volgt stap 254. Wordt de vraag van stap 253 ontkennend beantwoord (N), dan volgt stap 255 waarbij het met de tel stand van de s-teller corresponderende member-element van de Constituent uit het representatiegeheugen wordt opgehaald en in het werkgeheugen wordt geschreven.Subsequently, the various elements (members) of this constituent must be adapted to the characteristic determined by the HLP function in this case "neuter". For this purpose, at step 251, a counting unit (s-counter), the counting position of which corresponds to the rank number of the member elements in this Constituent, is reset to the initial value (s = 0), after which at step 252 the counting position of this counter is incremented (s = s + l). Then, at step 253, the question is asked whether the count of the s-counter has exceeded the number of member elements (smax) within this constituent. If this is the case (Y), then step 254 follows. If the question of step 253 is answered in the negative (N), then step 255 follows, whereby the member element of the Constituent corresponding to the count of the s-counter is taken from the representation memory retrieved and written into working memory.

Bij de volgende stap 256 wordt de vraag gesteld of het door de tel stand van de s-teller bepaalde member-element binnen de Constituent het door de HLP-variabele vastgestelde kenmerk in casu "neuter" toegewezen kan worden en het niet reeds bezit. Zo zal in de NP-Constituent "de grote, mooie huis" het article "de" een bevestigend antwoord geven, daar in tabel D bij "NP" en "determiner" het kenmerk "neuter" tot de mogelijkheden behoort.In the next step 256, the question is asked whether the member element determined by the count of the s-counter within the Constituent can be assigned the characteristic "neuter" in the present case and does not already possess it. For example, in the NP-Constituent "the big, beautiful house" the article "de" will give an affirmative answer, since in table D under "NP" and "determiner" the attribute "neuter" belongs to the possibilities.

Via stappen 258 en 245 zal bij stap 246 het equivalent ervan met het kenmerk "neuter" worden opgezocht, hetgeen leidt tot het woord "het". Vervolgens zal voor de volgende combinatie "grote, mooie" met het label nmod-A geen verwijzing naar nmod-A in tabel D te vinden zijn, zodat ontkennend op de vraagstelling van stap 256 wordt geantwoord.Via steps 258 and 245, at step 246, its equivalent with the attribute "neuter" will be searched, resulting in the word "it". Subsequently, for the next combination "large, beautiful" with the label nmod-A, no reference to nmod-A will be found in table D, so that the question of step 256 will be answered negatively.

Bij de volgende stap 257 wordt het kenmerkenveld van dit member-element onder gebruikmaking van tabel D als bij stap 74 is uiteengezet, aangepast. Het woord "huis" bezit reeds het kenmerk "neuter" en zal dus na stap 256 verder gaan naar stap 257.In the next step 257, the feature field of this member element is adjusted using Table D as set out in step 74. The word "house" already has the attribute "neuter" and will thus proceed to step 257 after step 256.

Bij een bevestigende beantwoording (Y) van de vraag bij stap 256 volgt stap 258 alwaar de in deze figuur te beschrijven functie LHF weer uitgevoerd wordt. Het uiteindelijke resultaat van deze functie ligt steeds bij stap 246, alwaar de aangepaste lexicale vorm voor het alsdan geldende member-element wordt gekozen.In the affirmative answer (Y) of the question at step 256, step 258 follows where the function LHF to be described in this figure is performed again. The final result of this function always lies at step 246, where the adapted lexical form for the then applicable member element is chosen.

Heeft het member-element een woordstructuur dan moet nog het opdracht-veld ingevuld worden. Hiertoe wordt bij stap 259 een dienovereenkomstige vraag gesteld, en wordt bij een bevestigend antwoord (Y) bij stap 260 in het opdrachtveld de pointer naar de parent-constituent ingevuld. Vervolgens gaat het programma naar stap 257.If the member element has a word structure, the assignment field must still be completed. To this end, a corresponding question is asked at step 259, and at the affirmative answer (Y) at step 260, the pointer to the parent constituent is entered in the command field. Then, the program goes to step 257.

Bij een ontkennend antwoord (N) op de vraag bij stap 259 gaat het programma direct naar stap 257.If there is a negative answer (N) to the question at step 259, the program goes directly to step 257.

Wordt de vraagstelling bij stap 253 bevestigend beantwoord (Y), dan dient nagegaan te worden, of er nog foutmeldingen t.a.v. de gewijzigde constituent in het foutmeldingsveld dienen te worden opgenomen.If the question in question 25 is answered in the affirmative (Y), then it must be determined whether error messages regarding the changed constituent should still be included in the error message field.

Hiertoe worden bij stap 254 en vervolgens bij stap 261 enige filtero-peraties uitgevoerd, welke reeds beschreven zijn bij de stappen 75 respectievelijk 67. Hierna keert het programma weer terug naar die plaats in het programma, welke het ten behoeve van het uitvoeren van deze LHF-functie heeft verlaten.For this purpose, at step 254 and then at step 261, some filter operations are performed, which have already been described in steps 75 and 67, respectively. After this, the program returns to that place in the program, which it performs for the purpose of executing this LHF function.

Wordt de vraagstelling bij stap 190 bevestigend (Y) beantwoord, dan wordt de met nummer 191 aangeduide correctiefase ingezet, waarvan het programma in Fig. 20 is weergegeven.If the question is answered in the affirmative (Y) at step 190, the correction phase designated with number 191 is initiated, the program of which is shown in FIG. 20 is shown.

Deze correctiefase behandelt fouten, welke betrekking hebben op een niet toegestane kenmerkencombinaties, zoals vastgesteld zijn bij stap 75 of 84 aan de hand van tabel F. Ook deze correctiefase omvat een belangrijk gedeelte, waarin uitgezocht wordt wat het gewenste kenmerk dan wél moet zijn. Hierbij wordt ervan uitgegaan, dat zowel de foutmelding zelf, te weten "COD", alswel de te vervangen kenmerken in het foutmeldingsveld van de huidige constituent vermeld staan. Deze correctiefase vangt aan met stap 262, waarbij het tweede element van deze foutmelding vanuit het representatiegeheugen naar het werkgeheugen wordt overgeschreven. Vervolgens wordt bij stap 263 uit tabel F de bij genoemd tweede element en bij de constituent categorie behorende lijst van legale kenmerkencombinaties opgehaald en aan een variabele "FTRLSTS" in het werkgeheugen toegekend. Bij de volgende stap 264 wordt de functie "FFTC" ingeroepen, welke aan de hand van de lijst van legale kenmerkencombinaties en de kenmerken welke op het kenmerkenveld van de constituent aanwezig zijns het gewenste kenmerk oplevert. De functie "FFTC" is in Fig. 24 nader uiteengezet.This correction phase deals with errors, which relate to an unauthorized combination of features, as determined in step 75 or 84 on the basis of table F. This correction phase also comprises an important part, in which the desired characteristic must then be determined. This assumes that both the error message itself, namely "COD", as well as the features to be replaced, are listed in the error message field of the current constituent. This correction phase starts with step 262, in which the second element of this error message is transferred from the representation memory to the working memory. Then, in step 263, from table F, the list of legal characteristic combinations belonging to said second element and to the constituent category is retrieved and assigned to a variable "FTRLSTS" in the working memory. In the next step 264, the function "FFTC" is invoked, which on the basis of the list of legal characteristic combinations and the characteristics present in the characteristic field of the constituent yields the desired characteristic. The function "FFTC" is shown in Fig. 24 explained in more detail.

Vervolgens wordt bij stap 265 aan de hand van de functie "LHF" (zie Fig. 25) het gewenste kenmerk aan de huidige constituent toegevoegd. Hierbij zal een woord door een andere vorm van het woord worden vervangen.Then, at step 265, using the function "LHF" (see Fig. 25), the desired attribute is added to the current constituent. A word will be replaced by another form of the word.

De functie "FFTC" in Fig. 24 werkt met twee argumenten, te weten de lijst met toegestane kenmerken uit tabel F en de lijst van kenmerken uit het kenmerkenveld, welke bij de stappen 266 en 267 in het werkgeheugen worden geplaatst.The function "FFTC" in Fig. 24 uses two arguments, namely the list of allowed attributes from table F and the list of attributes from the characteristic field, which are stored in working memory at steps 266 and 267.

Bij de volgende stap 268 wordt nagegaan of de variabele "FTRLSTS", welke in de beginfase van het uitvoeren van de functie "FFTC" nog de volledige lijst van toegestane kenmerkencombinaties bezat, nog wel zo'n combinatie over heeft. Bij een ontkennende beantwoording op deze vraag (N) is het programma van Fig. 24 uitgevoerd, en wordt teruggegaan naar Fig. 20 voor het uitvoeren van stap 265. Bij een bevestigend antwoord (Y) op de vraagstelling bij stap 268 wordt bij de volgende stap 269 de vraag gesteld of alle elementen van de op dat moment als eerste geldende kenmerkencombinatie met uitzondering van het laatste element in die combinatie, ook voorkomen in de lijst van de actuele kenmerken (zie stap 267). Bij een ontkennende beantwoording (N) op deze vraag wordt bij de volgende stap 272 de eerste op dat moment nog voorkomende combinatie op de lijst van toegestane kenmerkencombi naties verwijderd, en gaat het programma verder naar stap 268. Bij een bevestigend antwoord (Y) op de vraag bij stap 269 wordt bij de volgende stap 271 het laatste element uit de onderzochte (eerste) kenmerkencombi natie als gewenst kenmerk aangewezen.In the next step 268 it is checked whether the variable "FTRLSTS", which still had the complete list of allowed feature combinations in the initial phase of executing the function "FFTC", still has such a combination. In the negative answer to this question (N), the program of FIG. 24 is performed, and return to FIG. 20 to perform step 265. In the affirmative answer (Y) to the question at step 268, the next step 269 asks whether all elements of the currently applicable feature combination with the exception of the last element in that combination, also appear in the list of current features (see step 267). In the negative answer (N) to this question, in the next step 272, the first currently occurring combination on the list of allowed characteristic combinations is removed, and the program proceeds to step 268. In the affirmative answer (Y) on the question at step 269 in the next step 271, the last element from the (first) feature combination examined is designated as the desired feature.

Is bijvoorbeeld nog slechts één legale kenmerkencombinatie voor de variabele "FTRLSTS" overgebleven, in casu "neuter indefinite adj-not-inflected" (zie tabel F), en komen "neuter" en "indefinite" ook voor op de lijst van actuele kenmerken (zie stap 267), dan is het laatste element, in casu, "adj.-not-inflected" het gewenste kenmerk. Het programma van Fig. 24 is daarmee eveneens ten einde, en gaat vervolgens naar stap 265 van Fig. 20, waarna deze correctiefase verlaten wordt, en het programma terugkeert naar stap 169.For example, is there only one legal combination of features left for the variable "FTRLSTS", in this case "neuter indefinite adj-not-inflected" (see table F), and "neuter" and "indefinite" also appear on the list of current features ( see step 267), then the last element, in this case, "adj.-not-inflected" is the desired attribute. The program of FIG. 24 is thus also terminated, and then proceeds to step 265 of FIG. 20, after which this correction phase is exited, and the program returns to step 169.

Bij een bevestigend antwoord (Y) op de vraag bij stap 192 volgt een met stap 193 aangeduide correctiefase, waarvan het programma in Fig.In the affirmative answer (Y) to the question at step 192, a correction phase indicated by step 193 follows, the program of which is shown in FIG.

21 is weergegeven. Deze correct!efase behandelt foutmeldingen, welke als gevolg van het ontbreken van een essentieel element, zoals een lidwoord in sommige NP's, bij stap 67 en/of 95 gegenereerd is. De daarbij voorkomende afsluitfase van de betreffende constituent heeft wel een verlaging van de waarschijn!ijkheidsfaktor ten gevolge gehad met de generatie van een foutmelding COE. Deze foutmelding alsmede de bewuste combinatie van lijstsegmenten, welke hebben geresulteerd in deze foutmelding, worden bij stap 273 van het fout-meldingsveld naar het werkgeheugen overgebracht. Bij de volgende stap 274 wordt nagegaan, welk functioneel label in het tweede Tijstsegment ontbreekt. Ofschoon doorgaans slechts één label dit lijstsegment vult, is het mogelijk, dat daarin meerdere labels voorkomen. Hiertoe wordt een teleenheid (p-teller), waarvan de tel stand correspondeert met het rangnummer van een functioneel label in het tweede lijstsegment, teruggesteld op de beginwaarde (p=0). Hierna wordt de p-teller bij stap 275 opgehoogd (p=p+l), en wordt bij stap 276 de vraag gesteld of de tel stand van de p-teller reeds het aantal functionele labels (ρ^χ) in het tweede lijstsegment overschreden heeft (p>PmBx)· Is het geval (Y), dan gaat het programma verder naar stap 169, zo niet (N), dan volgt stap 277, waarbij het p-de element in het tweede lijstsegment wordt geselecteerd. Bij de volgende stap 278 wordt nagegaan of dat p-de element inderdaad niet in het Stapelveld voorkomt. (Hiertoe zullen de elementen van het stapelveld één voor één met het p-de element vergeleken worden, en wanneer tot en met het laatste label van het Stapelveld een niet-identiteit tussen de te vergelijken elementen wordt vastgesteld, ontbreekt het p-de element in het Stapelveld).21 is shown. This correct phase deals with error messages generated by steps 67 and / or 95 due to the lack of an essential element, such as a definite article in some NPs. The occuring phase of the relevant constituent did result in a decrease of the probability factor with the generation of an error message COE. This error message, as well as the deliberate combination of list segments, which have resulted in this error message, are transferred to the working memory at step 273 of the error message field. In the next step 274 it is checked which functional label is missing in the second Rice segment. Although usually only one label fills this list segment, it is possible that multiple labels may appear therein. For this purpose, a counting unit (p-counter), the counting position of which corresponds to the rank number of a functional label in the second list segment, is reset to the initial value (p = 0). After this, the p-counter is incremented at step 275 (p = p + l), and at step 276 the question is asked whether the count of the p-counter already exceeded the number of functional labels (ρ ^ χ) in the second list segment has (p> PmBx) · If the case is (Y), the program proceeds to step 169, if not (N), step 277 follows, selecting the pth element in the second list segment. In the next step 278 it is checked whether that p-th element does indeed occur in the Stack field. (To this end, the elements of the stack field will be compared one by one with the pth element, and if up to the last label of the Stack field a non-identity between the elements to be compared is determined, the pth element is missing. the Stapelveld).

Wordt bij stap 278 de aanwezigheid van het p-de element vastgesteld (Y), dan volgt stap 275, zo niet (N), dat volgt stap 279.If the presence of the pth element is determined at step 278 (Y), step 275 follows, if not (N), step 279 follows.

Wanneer het als functioneel label fungerende p-de element als een ontbrekend element wordt vastgesteld, kan dit label aan het Stapelveld worden toegevoegd. Er ontbreekt echter nog een bijpassende woordstructuur of constituentstructuur. In de praktijk betreft dit doorgaans een woordstructuur. De bijpassende woordstructuur wordt verkregen door in tabel B na te gaan, welke woordcategorie er bij een bepaalde parent-constituent en functioneel label van het ontbrekende memberelement toegestaan is, en vervolgens door in het lexicaal geheugen het eerste woord te selecteren dat hieraan voldoet. Hiertoe wordt eerst bij stap 279 een teleenheid (a-teller) . waarvan de tel stand correspondeert met het rangnummer van een bepaalde combinatie in het volgens tabel B ingedeelde tabellarische geheugen, naar de beginstand (g=0) teruggebracht. Vervolgens wordt bij stap 280 de tel stand van de g-teller verhoogd (g=g+l), en wordt bij de volgende stap 281 nagegaan of de tel stand van de g-teller boven het aantal grammaticale regels in het tabellarisch geheugen conform tabel B is uitgekomen. Is dit het geval (Y), dan gaat het programma terug naar stap 275, is dit niet het geval (N), dan volgt stap 282, alwaar wordt nagegaan of de grammaticale regel het ontbrekende functionele label bezit, waaruit dan de woordcategorie volgt. Indien bijvoorbeeld in een NP het functionele label "det" ontbreekt (zie stap 67 en 95), dan volgt uit de eerste grammaticaregel "article" (NP(det))", dat een woordcategorie "article" in de constituent mogelijk is.When the pth element, which functions as a functional label, is determined as a missing element, this label can be added to the Stacking Field. However, a matching word structure or constituent structure is still missing. In practice, this usually concerns a word structure. The matching word structure is obtained by checking in table B which word category is allowed for a given parent constituent and functional label of the missing member element, and then by selecting the first word in lexical memory that meets this requirement. To this end, a counting unit (a-counter) first becomes at step 279. whose count position corresponds to the rank number of a certain combination in the tabular memory classified according to table B, returned to the initial position (g = 0). Then, at step 280, the count of the g-counter is increased (g = g + 1), and at the next step 281 it is checked whether the count of the g-counter exceeds the number of grammatical lines in the table memory in accordance with the table. B has been released. If this is the case (Y), the program goes back to step 275, if it is not (N), step 282 follows, where it is checked whether the grammatical line has the missing functional label, from which the word category then follows. For example, if in a NP the functional label "det" is missing (see steps 67 and 95), it follows from the first grammar line "article" (NP (det)) "that a word category" article "is possible in the constituent.

Wordt bij stap 282 niet de juiste grammaticaregel gedetecteerd (N), dan gaan het programma terug naar stap 280. In het andere geval (Y), wordt bij stap 283 in het lexicaal geheugen de eerstvoorkomende woordstructuur bij de gevonden woordcategorie opgezocht, en worden het stapelveld en het structuurelementenveld aangevuld met het betreffende functionele label, respectievelijk met dat label en de gevonden woordstructuur.If the correct grammar line is not detected at step 282 (N), the program returns to step 280. Otherwise (Y), at step 283 in lexical memory the first word structure of the found word category is searched, and the stack field and the structural element field supplemented with the relevant functional label, respectively with that label and the word structure found.

Vervolgens zal bij stap 284 bij de huidige constituent het waarschijn!ijkheidsveld, het foutmeldingsveld en het kenmerkenveld aan de huidige situatie worden aangepast, zoals bij de stappen 174 tot en met 183 (zie Fig. 15) is uiteengezet. Daarna moet nog bij stap 285 worden nagegaan of het nieuw ingevoerde element wel op de juiste plaats staat, hetgeen impliceert, dat een programmafase doorlopen wordt als beschreven is bij de stappen 198 tot en met 205 (zie Fig.Then, at step 284 at the current constituent, the probability, error and field and attribute fields will be adjusted to the current situation, as explained at steps 174 through 183 (see FIG. 15). After that, it is still necessary to check at step 285 whether the newly entered element is in the right place, which implies that a program phase is completed as described in steps 198 to 205 (see Fig.

17), waarna de correct!efase bij foutmelding "COE" is afgelopen, en het programma verder gaat naar stap 169.17), then the correct phase of error "COE" has ended, and the program proceeds to step 169.

Wordt de vraagstelling bij stap 194 bevestigend (Y) beantwoord, dan wordt de met nummer 195 aangeduide correct!efase ingezet, waarvan het programma in Fig. 22 is weergegeven.If the question is answered in the affirmative (Y) at step 194, the correct phase indicated by number 195 is initiated, the program of which is shown in FIG. 22 is shown.

Deze correctiefase is in feite een tegenhanger van die, welke behoort bij de "COE"-foutmelding. In de alhier te beschouwen correctiefase is sprake van een overbodig element, hetgeen eveneens bij stap 67 en/of 95 is vastgesteld aan de hand van tabel K. De foutmelding zelf, in casu "COF" en de lijst van overbodige functionele labels worden bij stap 286 uit het foutmeldingsveld naar het werkgeheugen gehaald.This correction phase is in fact a counterpart to that associated with the "COE" error message. In the correction phase to be considered here there is an unnecessary element, which was also determined in step 67 and / or 95 on the basis of table K. The error message itself, in this case "COF" and the list of unnecessary functional labels are added in step 286 retrieved from RAM from the error message field.

Daarna wordt bij stap 287 een teleenheid (q-teller), waarvan de tel stand overeenkomt met het rangnummer van een element in de lijst van overbodige functionele labels, teruggesteld naar de beginwaarde (q=0), en wordt bij stap 288 de tel stand van de q-teller opgehoogd (q=q+I). Vervolgens wordt bij stap 289 nagegaan, of de tel stand van de q-teller niet reeds boven het aantal elementen (qmax) in het derde lijstsegment van de betreffende grammaticaregel is uitgegaan. Is dit niet het geval (N), dan wordt tijdens stap 290 het betreffende element uit het stapelveld verwijderd, en tijdens stap 291 het betreffende paar van elementen uit het structuurelementenveld. Het programma keert vervolgens weer terug naar stap 288. Wordt de vraagstelling bij stap 289 bevestigend beantwoord (Y), dan zal bij stap 292 bij de huidige constituent het waarschijnlijkheidsveld, het foutmeldingsveld en het kenmerkenveld aan de huidige situatie worden aangepast, zoals bij de stappen 174 tot en met 183 (zie Fig. 15) is uiteengezet. Deze correctief ase wordt daarop verlaten en het programma keert terug naar stap 169.Then, at step 287, a counting unit (q-counter), the counting position of which corresponds to the rank number of an element in the list of redundant functional labels, is reset to the initial value (q = 0), and at step 288, the counting position is of the q counter increased (q = q + I). Next, it is checked at step 289 whether the count of the q-counter has not already exceeded the number of elements (qmax) in the third list segment of the relevant grammar line. If this is not the case (N), the relevant element is removed from the stack field during step 290, and the relevant pair of elements from the structural element field during step 291. The program then returns to step 288. If the question in step 289 is answered in the affirmative (Y), in step 292 the probability field, the error message field and the characteristics field will be adapted to the current situation in the current constituent, as in the steps 174 to 183 (see Fig. 15) are set forth. This corrective axis is then exited and the program returns to step 169.

Wordt de vraagstelling bij stap 196 bevestigend beantwoord (Y), dan wordt de met nummer 197 aangeduide correctiefase ingezet, waarvan het programma in Fig. 23 is weergegeven.If the question in question 196 is answered in the affirmative (Y), the correction phase indicated with number 197 is initiated, the program of which is shown in FIG. 23 is shown.

Deze correctiefase behandelt fouten, welke betrekking hebben op een ontbrekend kenmerk in het foutmeldingsveld, hetgeen bij stap 128 aan de hand van tabel I is vastgesteld. Hierbij wordt uitgegaan van een vrij gedetailleerde foutmelding, welke behalve de foutmelding "C0G" ook het functionele label van de te corrigeren structuur en het ontbrekende kenmerk omvat. Voor het voorbeeld bij stap 128 was dit: (Vfin main, sing 3). Bij stappen 293 en 294 worden successievelijk het Tabel "vfin main” en het ontbrekende kenmerk "sing 3" uit het foutmeldingsveld gehaald. Het label correspondeert met een bepaalde constituent-of woordstructuur, in casu "lopen", in het structuurelementenveld.This correction phase deals with errors related to a missing feature in the error reporting field, which was determined at step 128 with reference to Table I. This is based on a fairly detailed error message, which in addition to the error message "C0G" also includes the functional label of the structure to be corrected and the missing feature. For the example at step 128 this was: (Vfin main, sing 3). At steps 293 and 294 the Table "vfin main" and the missing attribute "sing 3" are successively removed from the error reporting field. The label corresponds to a certain constituent or word structure, in this case "walking", in the structure element field.

Deze structuur wordt bij stap 295 opgehaald. Vervolgens wordt bij stap 296 de functie "LHF" uitgevoerd, hetgeen aan de hand van Fig. 25 reeds is uiteengezet. Hierbij zal uiteindelijk bij stap 246 in voornoemd geval de structuur "lopen" vervangen worden door "loopt", dat beantwoordt aan het kenmerk "sing 3". Vervolgens dient de hoger gelegen constituent aan de ingevoerde wijziging te worden aangepast, waartoe bij stap 297 het foutmeldingsveld van die constituent wordt leeggemaakt en bij stap 298 het waarschijnlijkheidsveld de waarde "1" wordt toegekend. Vervolgens worden bij de stappen 299 en 300 enige controle-operaties op de huidige constituent toegepast, welke successievelijk beschreven zijn bij de stappen 75, respectievelijk 67. Hierna wordt deze correctiefase verlaten en keert het programma terug naar stap 169. Een bijzondere toepassing van de beschreven parser en de daaraan verbonden correctieprocedure wordt verkregen bij het vervangen van woorden in een tekst door andere woorden. Zeker in een multi-auteursysteem, waarbij meedere personen een eigen tekstbijdrage leveren aan een omvangrijk document, kan het voorkomen dat als gevolg van de individuele bijdrage van de personen het woordgebruik in het document niet consistent is. Om toch een consistent woordgebruik in het document te krijgen, dienen dan zekere woorden door andere vervangen te worden. Het vervangen van een woord door een ander kan enige consequenties inhouden. Vervanging van een onzijdig zelfstandig naamwoord door een zelfstandig naamwoord van het niet-onzijdig type vraagt soms om aanpassing van het lidwoord of het bijvoeglijk naamwoord. Ook is aanpassing van de zin nodig wanneer een onderwerp in enkelvoudsvorm door een onderwerp in meervoudsvorm wordt vervangen.This structure is retrieved at step 295. Then, at step 296, the function "LHF" is performed, which is illustrated with reference to FIG. 25 has already been explained. In this case, in the aforementioned case, the structure "walk" will eventually be replaced by "walk", which corresponds to the characteristic "sing 3". Subsequently, the higher constituent must be adapted to the entered change, for which purpose the error field of that constituent is cleared in step 297 and the probability field in step 298 is assigned the value "1". Then, at steps 299 and 300, some control operations are applied to the current constituent, which have been successively described at steps 75 and 67, respectively. After this, this correction phase is exited and the program returns to step 169. A particular application of the described parser and the associated correction procedure is obtained when replacing words in a text with other words. Certainly in a multi-author system, in which multiple persons make their own text contribution to a large document, it is possible that the word usage in the document is not consistent due to the individual contribution of the persons. In order to get consistent word usage in the document, certain words need to be replaced by others. Replacing one word with another can have some consequences. Substitution of a neuter noun by a noun of the non-neuter type sometimes requires modification of the article or adjective. Also, sentence adjustment is needed when a singular subject is replaced by a plural subject.

De vervangingsprocedure vangt aan met stap 301 (zie Fig. 26),.waarbij het vervangende woord en het te vervangen woord in het werkgeheugen worden ingeschreven. Bij stap 302 wordt voor het vervangende woord uit het lexicaal geheugen de woordstructuur gehaald en in het werkgeheugen geschreven.The replacement procedure starts with step 301 (see Fig. 26), in which the replacement word and the word to be replaced are written into the working memory. At step 302, the word structure for the replacement word is extracted from the lexical memory and written into the working memory.

Vervolgens doorloopt het programma bij stap 303 de tekst om te stoppen bij de eerstvoorkomende zin, waarin het te vervangen woord voorkomt.Then, at step 303, the program goes through the text to stop at the first sentence containing the word to be replaced.

Bij stap 304 wordt de vraag gesteld of er reeds een parseerresultaat van deze zin in het geheugen ligt opgeslagen.At step 304, the question is asked whether a parsing result of this sentence is already stored in memory.

Zo ja (Y), dan gaat het programma naar stap 305, en anders (N) naar stap 306, waarbij de zin geparseerd wordt en het programma vervolgens naar stap 305 gaat. In de eerste plaats wordt bij vervanging bekeken of er een overeenstemmende woordcategorie voor beide woorden te vinden is. Daarnaast bestaat nog de mogelijkheid, dat er ondanks een verschil in woordcategorie wel overeenkomst kan bestaan in het functionele label. Zo voeren de woordcategorieën "noun" en "pronoun substantive" dezelfde labels in de grammaticale regels als weergegeven is in tabel B. Daarom kan een "noun" in een NP met label "head" uitgewisseld worden door een "pronoun substantive". Voor een "article" en een "pronoun adjective" gelden soorgelijke mogelijkheden. Men kan derhalve onder zoeken of de combinatie van een door de parser vastgestelde constituent en functioneel label ook in grammaticaregels bij één der woordcategorieën van de vervangende woordstructuur voorkomt.If yes (Y), then the program goes to step 305, otherwise (N) to step 306, parsing the sentence and then the program goes to step 305. In the first place, it is checked if a matching word category can be found for both words. There is also the possibility that, despite a difference in word category, there may be a similarity in the functional label. For example, the word categories "noun" and "pronoun substantive" have the same labels in the grammatical lines as shown in table B. Therefore, a "noun" in a POI labeled "head" can be exchanged for a "pronoun substantive". Similar possibilities apply to an "article" and a "pronoun adjective". It is therefore possible to investigate whether the combination of a constituent and functional label determined by the parser also occurs in grammar lines in one of the word categories of the replacement word structure.

Daar het vervangende woord voor ieder voorkomende categorie bekeken moet worden, vindt bij stap 305 terugstelling naar de 0-stand plaats bij een z-teller (z=0). De telstand van de z-teller correspondeert met het rangnummer van de woordcategorie, zoals dat bij een woordstructuur in het lexicaal geheugen voorkomt. Vervolgens wordt bij stap 307 de telstand van de z-teller opgehoogd (z=z+l), en wordt bij stap 308 de vraag gesteld, of de telstand van de z-teller het aantal voorkomende categorieën bij het vervangende woord overschreden heeft (z>zmax). Is dit niet het geval (N), dan wordt bij stap 309 in het tabellarisch geheugen met de informatie over tabel B de verzameling van grammaticaregels bij de door de telstand van de z-teller bepaalde woordcategorie geselecteerd. Binnen deze verzameling wordt bij iedere grammaticaregel nagegaan of er voor de onderhavige woordcategorie hetzelfde label binnen de bewuste constituent mogelijk is. Hiertoe wordt bij stap 310 een teleenheid (h-teller) teruggesteld (h=0), en wordt bij stap 311 de telstand van deze teleenheid opgehoogd ih=h+l). Vervolgens wordt bij stap 312 nagegaan, of de telstand van de h-teller groter is dan het aantal grammaticaregels bij de onderhavige woordcategorie. Is dat het geval (Y), dan gaat het programma terug naar stap 307, is dat niet het geval (N) dan gaat het programma naar stap 313. Bij stap 313 wordt binnen genoemde verzameling van grammaticaregels die regel geselecteerd, waarvan het rangnummer overeenstemt met de telstand van de h-teller, en bij stap 314 wordt nagegaan of de parentconstituent en het functionele label in die grammaticaregel beantwoorden aan die van de te vervangen woordstructuur.Since the replacement word has to be viewed for each occurring category, in step 305, resetting to the 0 position occurs at a z-counter (z = 0). The count of the z-counter corresponds to the rank number of the word category, as occurs with a word structure in the lexical memory. Then, at step 307, the count of the z-counter is increased (z = z + l), and at step 308, the question is asked whether the count of the z-counter has exceeded the number of occurring categories for the replacement word (z > zmax). If not (N), then in step 309 in the tabular memory with the information about table B, the collection of grammar lines is selected for the word category determined by the counting of the z-counter. Within this collection, each grammar line checks whether the same label is possible for the present word category within the constituent in question. For this purpose, a counting unit (h-counter) is reset at step 310 (h = 0), and the counting of this counting unit is increased at step 311 (ih = h + 1). Next, at step 312, it is checked whether the count of the h-counter is greater than the number of grammar lines in the present word category. If that is the case (Y), then the program goes back to step 307, if it is not (N), the program goes to step 313. In step 313, within that collection of grammar rules, the line whose rank number corresponds is selected with the count of the h-counter, and at step 314 it is checked whether the parent constituent and the functional label in that grammar line correspond to that of the word structure to be replaced.

Is dit niet het geval (N), dan gaat het programma terug naar stap 311. Is dit echter wel het geval {Y), dan volgt stap 315, waarbij onderzocht wordt of de bewuste woordcategorie van het vervangende woord ook overeenstemt met die van het te vervangen woord. Is dit het geval (Y), dan gaat het programma naar stap 316, waarbij het vervangende woord met de onderhavige woordcategorie en met de bijbehorende kenmerken in een eerste buffer worden geschreven. Wordt de vraag bij stap 315 ontkennend beantwoord (N), dan volgt stap 317, waarbij het vervangende woord met de onderhavige woordcategorie en de bijbehorende kenmerken in een tweede buffer worden oeschreven. Na stae 316 of 317 aaat hpt programma terug naar stap 307.If this is not the case (N), the program goes back to step 311. However, if this is the case {Y), step 315 follows, examining whether the conscious word category of the replacement word also corresponds to that of the word to be replaced. If this is the case (Y), the program goes to step 316, where the replacement word with the subject word category and its attributes is written in a first buffer. If the question is answered in the negative (N) at step 315, then step 317 follows, in which the replacement word with the present word category and the associated features are written in a second buffer. After step 316 or 317, the hpt program returns to step 307.

Wordt bij stap 308 de vraagstelling bevestigend beantwoord (Y), dan wordt bij de volgende stap 318 (zie Fig. 27) de vraag gesteld of er geen oplossingsresultaat in het eerste buffer bij stap 316 is geschreven. Wordt deze vraag bevestigend beantwoord (Y), dan volgt stap 319, waarbij de vraag wordt gesteld of er geen oplossingsresultaat in het tweede buffer bij stap 316 is geschreven. Wordt deze vraag bevestigend beantwoord (Y), dan mag het te vervangen woord op deze plaats in de tekst niet vervangen worden door het vervangende woord, dan gaat het programma terug naar stap 303. Het te vervangen woord en het vervangende woord stemmen met elkaar alleen overeen in schrijfwijze, terwijl het overige disharmonieert. Bij woorden als "like" in de engelse taal en "regent" in de neder!andse taal kan zoiets voorkomen. Aldus kan in een zin "het regent" het woord "regent" niet vervangen worden door "bestuurder".If the question is answered in the affirmative (Y) at step 308, the next step 318 (see Fig. 27) asks whether no solution result has been written in the first buffer at step 316. If this question is answered in the affirmative (Y), step 319 follows, asking whether no solution result has been written in the second buffer at step 316. If this question is answered in the affirmative (Y), then the word to be replaced at this position in the text may not be replaced by the replacement word, then the program returns to step 303. The word to be replaced and the replacement word vote alone correspond in notation, while the rest is disharmonious. With words like "like" in the English language and "regent" in the Dutch language, something like this can occur. Thus, in a sentence "it is raining" the word "regent" cannot be replaced by "driver".

Wordt de vraagstelling bij stap 318 ontkennend beantwoord (N), dan volgt stap 320, waarbij de vraag wordt gesteld of bij stap 316 in het eerste buffer precies één oplossingsresultaat is geschreven. Is dit het geval (Y), dan volgt stap 321. Is dit echter niet het geval (N), dan volgt stap 322, alwaar van ieder oplossingsresultaat het aantal kenmerken wordt bepaald, dat het gemeenschappelijk heeft met de te vervangen woordstructuur, waarna bij stap 323 het oplossingsresultaat met het grootste aantal gemeenschappelijke kenmerken wordt geselecteerd, en het programma verder gaat naar stap 321.If the question is answered in the negative (N) at step 318, then step 320 follows, asking whether at step 316 exactly one solution result has been written in the first buffer. If this is the case (Y), then step 321 follows. If this is not the case (N), then step 322 follows, where of each solution result the number of characteristics that it has in common with the word structure to be replaced is determined, after which step 323 the solution result with the largest number of common features is selected, and the program proceeds to step 321.

Wordt de vraagstelling bij stap 319 ontkennend beantwoord (N), dan volgt stap 324, waarbij de vraag wordt gesteld of bij stap 317 in het tweede buffer precies één oplossingsresultaat is geschreven. Bij een bevestigend antwoord (Y) volgt stap 321 en bij een ontkennend antwoord (N) volgen genoemde stappen 322 en 323 na elkaar, waarna het programma verder gaat naar stap 321.If the question is answered in the negative (N) at step 319, then step 324 follows, asking whether at step 317 exactly one solution result has been written in the second buffer. In the affirmative answer (Y), step 321 follows, and in the negative answer (N), said steps 322 and 323 follow in sequence, after which the program proceeds to step 321.

Bij stap 321 wordt de oude woordstructuur vervangen door de nieuwe woordstructuur, welke al dan niet door selectie bij de stappen 322 en 323 is verkregen. Hierbij wordt de pointer in het opdrachtveld van de oude woordstructuur overgenomen ten behoeve van het opdrachtveld van de nieuwe woordstructuur. Vervolgens wordt bij stap 325 de consti-tuentstructuur van de parentconstituent opgehaald uit het represen-tatiegeheugen en wordt in het structuurelementenveld die combinatie geselecteerd, welke een pointer naar de oude woordstructuur bezit.At step 321, the old word structure is replaced by the new word structure, which may or may not have been obtained by selection at steps 322 and 323. The pointer in the command field of the old word structure is adopted for the purpose of the command field of the new word structure. Then, at step 325, the constituent structure of the parent constituent is retrieved from the representation memory, and in the structure element field that combination is selected which has a pointer to the old word structure.

Deze pointer wordt vervangen door één, welke verwijst naar de nieuwe woordstructuur. Het functionele label erbij verandert natuurlijk niet. Bij de volgende stap 326 wordt voor de aangeroepen parent-constituent een programmagedeelte afgewerkt zoals beschreven is bij de stappen 174 tot en met 183 (zie Fig. 15), waardoor de kenmerken en het fout-meldingsveld aan de nieuwe situatie worden aangepast.This pointer is replaced by one, which refers to the new word structure. The functional label is of course not changed. In the next step 326, a program portion for the called parent constituent is completed as described in steps 174 to 183 (see Fig. 15), adapting the characteristics and the error message field to the new situation.

Vervolgens wordt bij stap 327 nagegaan of er nog een parentconstituent van een hoger niveau is. Daartoe wordt nagegaan of het opdrachtveld van de huidige constituent leeg (NIL) is, Wordt op deze vraag ontkennend geantwoord (N), dan volgt stap 328, waarbij de parentconstituent van het hogere niveau uit het representatiegeheugen wordt opgeroepen, en vervolgens het programma naar stap 326 terugkeert om het bijbehorende programma op die parentconstituent toe te passen. Wordt de vraag bij stap 327 bevestigend beantwoord (Y), dan wordt bij de volgende stap 329 een programma als beschreven is bij de stappen 158 tot en met 173 (zie Fig. 14) uitgevoerd. Op deze manier wordt de zinstructuur indien nodig verder gecorrigeerd.Then, at step 327, it is checked whether there is still a higher level parent constituent. To this end, it is checked whether the command field of the current constituent is empty (NIL). If this question is answered negatively (N), step 328 follows, calling the higher level parent constituent from the representation memory, and then the program to step 326 returns to apply the associated program to that parent constituent. If the question is answered affirmatively (Y) at step 327, then a program as described at steps 158 to 173 (see Fig. 14) is executed at the next step 329. In this way, the sentence structure is corrected further if necessary.

Nu duidelijk is dat de gehele actie na stap 301 resultaat heeft opgeleverd, kan bij de volgende stap 330 de oude zinstructuur door.de nieuwe vervangen worden. Het programma keert dan weer terug naar stap 303 op zoek naar het volgende woord, dat vervangen moet worden.Now that it is clear that the entire action has yielded results after step 301, in the next step 330 the old sentence structure can be replaced by the new one. The program then returns to step 303 in search of the next word to be replaced.

Aldus zal bij het vervangen van het woord "apparaat" in de gehele tekst door "copiers" een zin als "Het apparaat, dat daar staat" automatisch vervangen worden door “De copiers, die daar staan".Thus, when replacing the word "device" in the entire text with "copiers", a phrase such as "The Device Standing There" will automatically be replaced by "The Copiers Standing There".

Tabel ATable A

(ap (adj-inflected adj-not-inflected)) (np (definite indefinite neuter inneuter singl sing2 sing3 plul plu2 plu3 no-adj. adj.-inflected adj.-not-inflected)) (conj-np (definite indefinite neuter inneuter))(ap (adj-inflected adj-not-inflected)) (np (definite indefinite neuter inneuter singl sing2 sing3 plul plu2 plu3 no-adj. adj.-inflected adj.-not-inflected)) (conj-np (definite indefinite neuter internal))

Tabel BTable B

(article (np (det)) (pp (det np)) (s (det np)) (s-rel (det np)) (s-comp (det n))) (adj (ap (head)) (np (head ap)) (s (head ap np) (head ap-adj)) (s-rel (head ap np) (head ap-adj)) (s-comp (head ap np) (head ap-adj)) (ap-adj (head))) (adv (s (head ap-adv)) (s-rel (head ap-adv)) (s-comp (head ap-adv))) (advmod (ap (mod ap)) (np (mod ap ap)) (s (mod ap ap np)(mod ap-adj)) (s-rel (mod ap ap npHmod ap-adj)) (s-comp (mod ap ap np) (mod ap-adj))) (p-word (np (head pp)) (pp (head)) (s (head ppMvfin-particle)) (s-rel (head ppMvfin-particle)) (s-comp (head pp) (vfin-particle))) (c-word (s (comp s-comp))) (noun (np (head)) (pp (head np)) (s (head np)) (s-rel (head np)) (s-comp (head))) (pro-subst (np (head)) (pp (head np)) (s (head np)) (s-rel (head np)) (s-comp (head np))) (pro-rel (np (head np s-rel))) (pro-adj (np (det)) (pp (det np)) (s (det np)) (s-rel (det np)) (s-comp (det np))) (verb (s (vfin-main)) (s-rel (vfin-main)) (s-comp (vfin-main))) (verb-intr. (s(Vfln-intr}) (s-rel(Vfin-intr)) (s-comp(Vfin-intr))) (interpunction (s (endmark)))(article (np (det)) (pp (det np)) (s (det np)) (s-rel (det np)) (s-comp (det n))) (adj (ap (head)) ( np (head ap)) (s (head ap np) (head ap-adj)) (s-rel (head ap np) (head ap-adj)) (s-comp (head ap np) (head ap-adj )) (ap-adj (head))) (adv (s (head ap-adv)) (s-rel (head ap-adv)) (s-comp (head ap-adv)))) (advmod (ap ( mod ap)) (np (mod ap ap)) (s (mod ap ap np) (mod ap-adj)) (s-rel (mod ap ap npHmod ap-adj)) (s-comp (mod ap ap np ) (mod ap-adj))) (p-word (np (head pp)) (pp (head)) (s (head ppMvfin-particle)) (s-rel (head ppMvfin-particle)) (s-comp (head pp) (vfin-particle))) (c-word (s (comp s-comp))) (noun (np (head)) (pp (head np)) (s (head np)) (s- rel (head np)) (s-comp (head))) (pro-subst (np (head)) (pp (head np)) (s (head np)) (s-rel (head np)) (s -comp (head np))) (pro-rel (np (head np s-rel)))) (pro-adj (np (det)) (pp (det np)) (s (det np)) (s- rel (det np)) (s-comp (det np))) (verb (s (vfin-main)) (s-rel (vfin-main)) (s-comp (vfin-main))) (verb- intr. (s (Vfln-intr}) (s-rel (Vfin-intr)) (s -comp (Vfin-intr))) (interpunction (s (endmark)))

Tabel CTable C

(np (det nmod-a) head) (pp 0 pobj) (ap (mod) ) (ap-adj (mod) head) (ap-adv (mod) head) (s () fnp) (s-rel (fnp) vfin-main) (s-comp (fnp) vfin-main) (conj-s (seq)) (conj-pp (seq)) (conj-ap (seq)) (conj-s-rel (seq))(np (det nmod-a) head) (pp 0 pobj) (ap (mod)) (ap-adj (mod) head) (ap-adv (mod) head) (s () fnp) (s-rel ( fnp) vfin-main) (s-comp (fnp) vfin-main) (conj-s (seq)) (conj-pp (seq)) (conj-ap (seq)) (conj-s-rel (seq) )

Tabel DTable D

(ap (head( adj-inflected adj-not-inflected)) (amod( adj-Inflected adj-not-inflected))) (np (det (neuter inneuter singl sing2 sing3 plul plu2 plu3 definite indefinite)) (head( singl sing2 sing3 plul plu2 plu3 neuter inneuter)) (nmod-a(adj.-inflected no-adj. adj.-not-inflected)))(ap (head (adj-inflected adj-not-inflected)) (amod (adj-Inflected adj-not-inflected))) (np (det (neuter inneuter singl sing2 sing3 plul plu2 plu3 definite indefinite)) (head (singl sing2 sing3 plul plu2 plu3 neuter inneuter)) (nmod-a (adj.-inflected no-adj. adj.-not-inflected)))

Tabel ETable E

(s ((fnp fnp)(smod smod) (smod fnp) (fnp smod)(vfin-particle fnp) (vfin-particle)(fnp vfin-particle vfin-main fnp) (fnp vfin-particle fnp vfin-main fnp) ) 0 ((vfin-main 1) (fnp 3) (Vffn-intr fnp 1))) (s-rel ()() ((vfin-main 1) (fnp 3) (Vf^-intr fnp 1))) (s-comp {) () ((vfin-main 1) (fnp SHVfin'Ïntr fnp 1))) (np ((head head)) {{det head) (nmod-a head) (head nmod-s) (det nmod-s)) ((det 1) (head 1) (nmod-a 1))) (pp ((head head) (head head pobj head)) 0 ((pobj 1)))(s ((fnp fnp) (smod smod) (smod fnp) (fnp smod) (vfin-particle fnp) (vfin-particle) (fnp vfin-particle vfin-main fnp) (fnp vfin-particle fnp vfin-main fnp )) 0 ((vfin-main 1) (fnp 3) (Vffn-intr fnp 1))) (s-rel () () ((vfin-main 1) (fnp 3) (Vf ^ -intr fnp 1) )) (s-comp {) () ((vfin-main 1) (fnp SHVfin'Ïntr fnp 1))) (np ((head head)) {{det head) (nmod-a head) (head nmod- s) (det nmod-s)) ((det 1) (head 1) (nmod-a 1))) (pp ((head head) (head head pobj head)) 0 ((pobj 1)))

Tabel FTable F

(np ((neuter inneuter) (singl sing2 sing3 plul plu2 plu3)) ((definite adj-inflected) (plu3 adj-inflected) (inneuter adj-inflected) (neuter indefinite adj-not-inflected)))(np ((neuter inneuter) (singl sing2 sing3 plul plu2 plu3)) ((definite adj-inflected) (plu3 adj-inflected) (inneuter adj-inflected) (neuter indefinite adj-not-inflected)))

Tabel GTable G

(np (conj-np conj) (pp pobj) (s fnp) (s-rel fnp) (s-comp fnp)) (conj-np (pp pobj) (s fnp) (s-rel fnp) (s-comp fnp)) (ap (ap amod) (np nmod-a) (s smod) (s-rel smod) (conj-ap conj) (s-comp smod)) (conj-ap (ap amod) (np nmod-a) (s smod) (s-rel smod) (s-comp smod)) (ap-adj (s fnp) (s-rel fnp) (s-comp fnp)) (ap-adv (s smod) (s-rel smod) (s-comp smod)) (pp (np nmod-p) (s smod) (s-rel smod) (conj-pp conj) (s-comp conj)) (conj-pp (np nmod-p) (s smod) (s-rel smod) (s-comp smod)) (s (conj-s conj)) (s-comp (s fnp)) (s-rel (np nmod-s) (conj-s-rel conj)) (conj-s-rel (np nmod-s))(np (conj-np conj) (pp pobj) (s fnp) (s-rel fnp) (s-comp fnp)) (conj-np (pp pobj) (s fnp) (s-rel fnp) (s- comp fnp)) (ap (ap amod) (np nmod-a) (s smod) (s-rel smod) (conj-ap conj) (s-comp smod)) (conj-ap (ap amod) (np nmod -a) (s-smod) (s-rel smod) (s-comp smod)) (ap-adj (s fnp) (s-rel fnp) (s-comp fnp)) (ap-adv (s smod) ( s-rel smod) (s-comp smod)) (pp (np nmod-p) (s smod) (s-rel smod) (conj-pp conj) (s-comp conj)) (conj-pp (np nmod -p) (s-smod) (s-rel smod) (s-comp smod)) (s (conj-s conj)) (s-comp (s fnp)) (s-rel (np nmod-s) (conj -s-rel conj)) (conj-s-rel (np nmod-s))

Tabel Η {(fnp vfin-main endmark) (subj)) ((fnp vfin-main smod endmark) (subj)) ((smod vfin-main fnp endmark) (subj)) ((smod vfin-main fnp smod endmark) (subj)) ((vfin-main fnp endmark) (obj)) ((vfin-main fnp smod endmark) (obj)) ((fnp vfin-main fnp endmark) (subj obj)(obj subj)) ((fnp vfin-main smod fnp endmark) (subj obj)) ((smod vfin-main fnp fnp endmark) (subj obj)) ((fnp vfin-main fnp smod endmark) (subj obj)(obj subj)) ((vfin-main fnp fnp endmark) (indobj obj)) {(vfin-main fnp smod fnp endmark) (indobj obj)) ((vfin-main fnp fnp smod endmark) (indobj obj)) {(vfin-main smod fnp fnp endmark) (indobj obj)) ((fnp vfin-main fnp smod smod endmark) (subj obj)(obj subj)) ((fnp vfin-main smod fnp smod endmark) (subj obj)) ;etc .Table Η {(fnp vfin-main endmark) (subj)) ((fnp vfin-main smod endmark) (subj)) ((smod vfin-main fnp endmark) (subj)) ((smod vfin-main fnp smod endmark) (subj)) ((vfin-main fnp endmark) (obj)) ((vfin-main fnp smod endmark) (obj)) ((fnp vfin-main fnp endmark) (subj obj) (obj subj)) ((fnp vfin-main smod fnp endmark) (subj obj)) ((smod vfin-main fnp fnp endmark) (subj obj)) ((fnp vfin-main fnp smod endmark) (subj obj) (obj subj)) ((vfin- main fnp fnp endmark) (indobj obj)) {(vfin-main fnp smod fnp endmark) (indobj obj)) ((vfin-main fnp fnp smod endmark) (indobj obj)) {(vfin-main smod fnp fnp endmark) (indobj obj)) ((fnp vfin-main fnp smod smod endmark) (subj obj) (obj subj)) ((fnp vfin-main smod fnp smod endmark) (subj obj)); etc.

((fnp vfin-main fnp fnp endmark) (subj indobj obj) (indobj subj obj)(obj subj indobj)) ((fnp vfin-main smod fnp fnp endmark) (subj indobj obj)) ((smod vfin-main fnp fnp fnp endmark) (subj indobj obj)) ((fnp vfin-main fnp smod fnp endmark) (subj indobj obj) (indobj subj obj)(obj subj indobj)) ((fnp vfin-main fnp fnp smod endmark) (subj indobj obj) (indobj subj obj)(obj subj indobj)) ;etc ((fnp vfin-main) (subj)) ((fnp fnp vfin-main) (subj obj)) ((fnp fnp fnp vfin-main) (subj indobj obj))((fnp vfin-main fnp fnp endmark) (subj indobj obj) (indobj subj obj) (obj subj indobj)) ((fnp vfin-main smod fnp fnp endmark) (subj indobj obj)) ((smod vfin-main fnp fnp fnp endmark) (subj indobj obj)) ((fnp vfin-main fnp smod fnp endmark) (subj indobj obj) (indobj subj obj) (obj subj indobj)) ((fnp vfin-main fnp fnp smod endmark) (subj indobj obj) (indobj subj obj) (obj subj indobj)); etc ((fnp vfin-main) (subj)) ((fnp fnp vfin-main) (subj obj)) ((fnp fnp fnp vfin-main) ( subj indobj obj))

Tabel ITable I

(s ((subj vfin-main) (sing3 sing2 singl plu3 plu2 plul)) {(subj) (nominative definite indefinite proper)) ((obj) (not-nominative definite indefinite proper)) ((indobj) (not-nominative definite indefinite proper))) (s-rel ((subj vfin-main) (sing3 sing2 singl plu3 plu2 plul)) ((subj-rel vfin-main) (sing3 plu3 singl sing2 plul piu2)) ((subj) (nominative definite indefinite proper)) ((obj) (not-nominative definite indefinite proper)) ((indobj) (not-nominative definite indefinite proper))) (s-comp ((subj vfin-main) (sing3 sing2 singl plu3 plu2 plul)) ((subj) (nominative definite indefinite proper)) ((obj) (not-nominative definite indefinite proper)) ((indobj) (not-nominative definite indefinite proper)))(s ((subj vfin-main) (sing3 sing2 singl plu3 plu2 plul)) {(subj) (nominative definite indefinite proper)) ((obj) (not-nominative definite indefinite proper)) ((indobj) (not-nominative definite indefinite proper))) (s-rel ((subj vfin-main) (sing3 sing2 singl plu3 plu2 plul)) ((subj-rel vfin-main) (sing3 plu3 singl sing2 plul piu2)) ((subj) (nominative definite indefinite proper)) ((obj) (not-nominative definite indefinite proper)) ((indobj) (not-nominative definite indefinite proper))) (s-comp ((subj vfin-main) (sing3 sing2 singl plu3 plu2 plul )) ((subj) (nominative definite indefinite proper)) ((obj) (not-nominative definite indefinite proper)) ((indobj) (not-nominative definite indefinite proper)))

Tabel KTable K.

(np ((piu3 proper pro) (det) ()) ((sing3 definite) 0 (det)) ((definite indefinite) () (nmod-a nmod-s))(np ((piu3 proper pro) (det) ()) ((sing3 definite) 0 (det)) ((definite indefinite) () (nmod-a nmod-s))

((definite indefinite ajd-inflected adj-not inflected) () (det))) Tabel L((definite indefinite ajd-inflected adj-not inflected) () (det))) Table L

(np (head det nmod-s nmod-a)) (ap-adj (head))(np (head det nmod-s nmod-a)) (ap-adj (head))

Claims (2)

1. Werkwijze voor het ontleden en corrigeren van een, in natuurlijke taal gestelde grammaticaal incorrecte zin, waarbij het ontleden van deze zin in, met functionele indicaties te omschrijven zinsdelen plaatsvindt aan de hand van woordeenheden, welke naar verbale categorieën en applicatie-gerichte categorieën zijn gelexicali-seerd, met het kenmerk, dat de werkwijze van de in de aanhef omschreven soort is gekenmerkt door de volgende per woordeenheid uit de zin uit te voeren stappen: a. Het per woordeenheid en per constituent bepalen van de functionele woordcategorie binnen de constituent en/of binnen een nieuw aan te maken constituent, aan de hand van gegevens over de verbale categorie van de betreffende woordeenheid, en de categorie van de constituent; b. Het per constituent aan de hand van gegevens over de categorie van de constituent en de categorie van de deze constituent dominerende constituent omschrijven van een de afsluiting van de constituent betreffende maatregel, alsmede het toekennen van een al dan niet voorlopig functioneel label aan een alsdan af te sluiten constituent; c. Het toetsen van de onderhavige constituent aan, op syntax-regels gebaseerde voorschriften betreffende de samenhang der woorden en/of constituenten binnen deze constituent bij tenminste één van beide laatstgenoemde stappen, en, indien nodig, het herwaarderen van een, aan de zinsrepresentatie toegekende verwacht!ngsfactor, alsmede het selecteren van iedere zinsrepresentatie waarvan de verwachtingsfactor boven een zekere drempelwaarde ligt; en d. Het selecteren van de grammaticaal incorrecte Constituent binnen de zin en het vervolgens wijzigen van deze Constituent aan de hand van, op syntax-regels gebaseerde voorschriften.1. Method for parsing and correcting a grammatically incorrect sentence in natural language, whereby the parse of this sentence in phrases to be described with functional indications takes place on the basis of word units, which are verbal categories and application-oriented categories lexicalised, characterized in that the method of the type described in the preamble is characterized by the following steps to be performed per word unit of the sentence: a. Determining the functional word category within the constituent per word unit and per constituent and / or within a newly created constituent, based on information about the verbal category of the word unit concerned and the category of the constituent; b. Describing for each constituent on the basis of information about the category of the constituent and the category of the constituent dominating this constituent a measure concerning the closure of the constituent, as well as the granting of a functional label, whether or not provisional, to be completed at that time. closing constituent; c. Testing the present constituent against syntax-based rules regarding the coherence of words and / or constituents within this constituent in at least one of the latter two steps, and, if necessary, revalue an expectation assigned to the sentence representation! ngs factor, as well as selecting any sentence representation whose expectation factor is above a certain threshold; and d. Selecting the grammatically incorrect Constituent within the sentence and then changing this Constituent based on rules based on syntax rules. 2. Inrichting voor het uitvoeren van de werkwijze volgens conclusie 1.Device for performing the method according to claim 1.
NL8901050A 1988-09-15 1989-04-26 Grammar processor for natural language sentences - by determining each constituents functional category, determining closure step and applying context rules for best representation NL8901050A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
NL8901050A NL8901050A (en) 1989-04-26 1989-04-26 Grammar processor for natural language sentences - by determining each constituents functional category, determining closure step and applying context rules for best representation
DE68928230T DE68928230T2 (en) 1988-09-15 1989-09-01 System for the grammatical processing of a sentence composed of natural language
EP89202222A EP0361570B1 (en) 1988-09-15 1989-09-01 A system for grammatically processing a sentence composed in natural language
JP23975389A JP3384564B2 (en) 1988-09-15 1989-09-14 A method for grammatically processing a sentence composed of a natural language and a system for executing the method
US07/407,564 US5068789A (en) 1988-09-15 1989-09-15 Method and means for grammatically processing a natural language sentence

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8901050 1989-04-26
NL8901050A NL8901050A (en) 1989-04-26 1989-04-26 Grammar processor for natural language sentences - by determining each constituents functional category, determining closure step and applying context rules for best representation

Publications (1)

Publication Number Publication Date
NL8901050A true NL8901050A (en) 1990-11-16

Family

ID=19854554

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8901050A NL8901050A (en) 1988-09-15 1989-04-26 Grammar processor for natural language sentences - by determining each constituents functional category, determining closure step and applying context rules for best representation

Country Status (1)

Country Link
NL (1) NL8901050A (en)

Similar Documents

Publication Publication Date Title
JP3384564B2 (en) A method for grammatically processing a sentence composed of a natural language and a system for executing the method
US10515138B2 (en) Enhancing reading accuracy, efficiency and retention
CA1300272C (en) Word annotation system
Bauer Be-heading the word1
Engdahl Parasitic gaps, resumptive pronouns, and subject extractions
US5610812A (en) Contextual tagger utilizing deterministic finite state transducer
US7657420B2 (en) Systems and methods for the generation of alternate phrases from packed meaning
US9047275B2 (en) Methods and systems for alignment of parallel text corpora
EP0381288A1 (en) Method and system for the representation of multiple analyses in dependency grammar and parser for generating such representation
WO2001096980A2 (en) Method and system for text analysis
EP1145141A2 (en) Spelling and grammar checking system
US20200143112A1 (en) Fault-tolerant information extraction
Glass et al. A naive salience-based method for speaker identification in fiction books
Luukko et al. Akkadian treebank for early neo-assyrian royal inscriptions
Moreno et al. Developing a syntactic annotation scheme and tools for a Spanish treebank
US7389220B2 (en) Correcting incomplete negation errors in French language text
Kuboň Problems of robust parsing of Czech
Golding Pronouncing names by a combination of rule-based and case-based reasoning
NL8901050A (en) Grammar processor for natural language sentences - by determining each constituents functional category, determining closure step and applying context rules for best representation
Ehsan et al. Statistical Parser for Urdu
Suh The syntax of Korean and its implications for parsing theory
Sagot et al. From raw corpus to word lattices: robust pre-parsing processing
NL8802271A (en) Grammar processor for natural language sentences
Durst et al. Using automatic morphological tools to process data from a learner corpus of hungarian
Weber et al. Blackfoot Words: a database of Blackfoot lexical forms

Legal Events

Date Code Title Description
BV The patent application has lapsed