A method of inflecting words and a data processing unit for performing such method

Abstract: To enable inflected word forms to be derived, the invention provides a method and a data processing unit for inflecting a given word and for adapting the lexical data of the word correspondingly by reference to a classification scheme containing inflection rules for a given natural language. The effect achieved is that inflected word forms do not have to be contained in an electronic word register, and this results in a considerable reduction in memory space occupied by the word register.

Description: The invention relates to a method of inflecting words, comprising an inflection step in which the input word is inflected, by reference to linguistic data stored in a memory, and on the basis of input data containing an input word to be inflected, a grammatical category associated with the input word, grammatical features associated with the input word, and a required inflection category, whereby the linguistic data are stored in the form of a classification scheme in a random access portion of the memory, said classification scheme comprising a number of nested lists each comprising elements relating to grammatical properties, and whereby the inflection step comprises selecting inter-nested lists on the basis of the input data, followed by selection of an element from the last selected list on the basis of the input data, which element comprises string operations, and performing the string operations for inflecting the input word. The invention also relates to a data processing unit suitable for performing such a method. A method and data processing unit of similar kind are known from US patent US-A-4 724 523. The method described there has the object, inter alia, of providing efficient storage of digital signals representing linguistic data. Inter alia, this object is achieved by the use of inflection routines. As a result, it is no longer necessary to store all the inflected words in a memory, and the technical effect of this is that there is a considerable saving in memory space. In FR-A-2575309 is disclosed a dictionary for the french language with memory means for storing inflection rules, exceptions to these rules and for storing word by word inflections of suffixes for nouns and particular adjectives. Here inflection routines are integrated in the dictionary. EP-A-168814 discloses a language processing dictionary for bidirectionally retrieving morphemic and sementic expressions. Disclosed are three storage means for respecitvely a morphemic dictionary, a syntaxic dictionary and a conceptional dictionary. These directories have multiple interrelationships between each other which provides a very complex datastructure. Above that this structure needs a great amount of memory since all concepts and words are stored in it. A first disadvantage of all these disclosures is that these routines require frequent access to a mass storage system, and this results in a considerable decline in performance. A second disadvantage is that the linguistic data relating to inflection categories are spread over various memory segments, with the result that it is a difficult process to make inflection routines suitable for a different language. An improvement is disclosed in EP-A-241 717 where a classification scheme according to the preamble is disclosed containing inflection rules for a given natural language. This gives a compact and efficient storage structure of linguistic data required in the inflection of words, separate from a dictionary. However still the need exists for further reducing the memory amount needed since in the field of linguistic processing in general the amount of data that has to be processed is rather large, and this has always been an obstruction for the wide spread use of linguistic technology. Such an improvement that further reduces memory needs and processing power is of great importance, since this is a step in the realisation of linguistic technology that is practical applicable on nowadays computers. It is the object of the invention is to further improve such classification scheme while maintaining the above-mentioned advantages. According to the invention the method of the type referred to in the preamble therefore further comprises the steps of changing the required inflection category to a predetermined inflection category if, on the basis of the input data, it is not possible to select an element in one of the lists because there is no agreement between the input data and the elements, followed by performance of the inflection step on the changed input data and, on the basis of the originally required inflection category, re-performing the inflection step on the result thus obtained. As a result, not all the changes from one inflection category to the other inflection category have to be included in the classification scheme. If the required change is not included, the input word is first inflected to a predetermined inflection category (e.g. first person singular) using the method according to the invention. The input word inflected in this way is then inflected again, but now to the originally required inflection category. The change from the current inflection to the required inflection is now split into a change from the current inflection to (e.g.) singular 1 and a change from singular 1 to the originally required inflection. Another advantageous embodiment of the method is characterised in that the input data contain irregular inflections of the input word from which a inflection is selected on the basis of the required inflection category. The effect of this is that there is no need to consult a lexical vocabulary stored in a mass memory even for irregular inflection categories. The data processing unit according to the invention is characterised in that the required inflection category is changed to a predetermined inflection category if, on the basis of the input data, it is not possible to select an element in one of the lists because there is no agreement between the input data and the elements, followed by performance of the inflection step on the changed input data and, on the basis of the originally required inflection category, re-performing the inflection step on the result thus obtained. Other features and advantages of the invention will be apparent from the following description and by reference to the drawings wherein: Fig. 1 is a graphic representation of a classification scheme. Fig. 2 is a flow diagram of the method according to the invention. Fig. 3 is a block schematic of a system to be used for inflection correction, and Fig. 4 shows a possible embodiment of a data processing unit according to the invention. Before discussing the method according to the invention, the structure of the classification scheme to be used in the method will first be explained. Table 1 is an embodiment of the classification scheme suitable for inflecting a number of Dutch words in conjunction with the method. It is a simple matter to expand the classification scheme for other linguistic rules, but the classification scheme shown here is sufficient to enable the invention to be completely and clearly explained. The classification scheme has a nested list structure which will be explained with reference to Fig. 1. Although not completely, this Figure graphically reproduces the classification scheme of Table 1. Like parts are indicated by like references. The classification scheme is formed by a list of the first type, which in Fig. 1 is denoted by reference 1, of which the elements denoted by reference 2 each have a grammatical category 3 and a list of the second type 4. The grammatical categories given in the Figure are: 'NOUN', 'VERB' and 'ARTICLE'. A grammatical category 3 is associated with a list of the second type 4, the elements 5 of which in each case contain information as to a required inflection category 6, and a list of the third type 7. The required inflection categories 6 given in the Figure are consecutively: 'PLU3', 'SING3', 'DIMINUTIVE' and 'UNDIMINUTIVE'. On this basis, the present classification scheme in principle provides the possibility of inflecting a noun in accordance with the following required inflection forms: plural form ('plu3'), singular form ('sing3'), diminutive form ('diminutive') and non-diminutive form ('undiminutive'). The list of the third type 7 comprises elements 8 which are in turn constructed from a first group of current grammatical features 9, a second group of required grammatical features 10 and a list of the fourth type 11. The first group 9 is the determining factor in the selection of one of the elements 8 from list 7. After an element 8 has been selected, the features of the second group 10 are required to enable the feature list of the word to be adapted to the new inflection form of the word. The list of the third type 11 comprises one or more elements 12 which in turn consist of one or more inflection codes, whereafter one or more string operations follow preceded by the character '#'. Inflection codes and string operations will be explained later with reference to Table 2 and Table 3 respectively. If at least one of the inflection codes contained in an element 12 satisfies an inflection code associated with the input word, then the specified string operations are performed on the input word to give the required inflection of the input word. It should be noted that the invention is not restricted to the embodiment of the classification scheme shown Table 1. An obvious variant is one in which the nesting of the lists is different: for example, by including the required inflection categories as a list of the first type and the grammatical categories as a list of the second type. This does not affect the essence of the invention. Moreover, it is also possible to code the list structure in other ways, this being dependent, inter alia, on the data processing unit on which the method is performed. The coding used in Table has the advantage that the scheme continues to be readable by the operator and accordingly can easily be changed by data processing means. The method will now be explained with reference to the flow diagram in Fig. 2. The start situation is shown at 20. The input data are read in at step 21. The input data comprise an input word to be inflected, lexical data of the input word to be inflected and a required inflection category. Inter alia, the lexical data comprise the grammatical category associated with the input word. After the read-in operation, the first element corresponding to that grammatical category is selected from the list of the first type in step 22. If no corresponding element is found (N), end condition 23 is reached. If an element is selected (Y), then the program passes to step 24. As stated previously, the list of the second type consists of elements each comprising a required inflection category and a list of the third type. In step 24, there is selected from the list of the second type associated with the element selected in step 22 the first element corresponding to the required inflection category. If no such element is found (N), the program passes to step 25. This also happens if one of the steps 31 and 32 still to be discussed is unsuccessful. Step 25 checks whether a first flag F1 has been set. If not (N), the required inflection is converted in step 26 to 'sing1', the original input data is stored and flag F1 is set. The program then returns to step 24. The effect of these steps is that if the running through of the nested list structures is unsuccessful, because no corresponding element is found at a particular time, an attempt is started to reach the required result via an intermediate step to the first person singular form: when the method is performed the first time the input word is inflected to 'sing1' whereafter, when the method is performed a second time, the input word inflected to 'sing1' is inflected to the originally required inflection category. This is advantageous because as a result it is not necessary to include in the classification scheme all the combinations of the current inflection category and the required inflection category, at least insofar as all the inflections to and all the inflections from 'sing1' are included. If, in step 25, it is found that flag F1 has been set (Y), this means that there has already been an attempt to convert the required inflection to 'sing1' and that this attempt failed. Step 27 then checks whether a second flag F2 has been set. If this is not the case (N), then in step 29 the original input data, which were stored, are retrieved. Step 30 is then carried out, in which the value '17' is assigned to the required inflection code and flag F2 is set. Step 24 is then performed again. As a result of these steps, strong regular verbs following a specific sound-change pattern are treated separately, and this gives a simpler classification scheme. If step 27 shows that flag F2 has been set (Y), it means that the attempt to inflect the word via the inflection code '17' has failed. End condition 28 is then reached. As stated previously, in step 24 there is selected from the list of the second type the first element that corresponds to the required inflection category. If an element with a corresponding inflection category is found (Y), the program passes to step 31 in which there is selected from the list of the third type the first element occurring whose grammatical features from the first group are contained by a feature list contained in the lexical data of the input word. If no such element is found (N), the program passes to the step 25 already discussed. If such an element is found (Y), step 32 is performed. In step 32 there is selected from the list of the fourth type associated with the element from the list of the third type as selected in step 31, the first element occurring of which one of the inflection codes contained therein corresponds to a inflection code associated with the input word. Table 2 gives a number of inflection codes. The first column contains a code for a given inflection group, the second column gives the definition for that group. Inflection codes of this kind can be generated in simple manner by assigning the same code to stems having the same inflections. The inflection codes are then expanded for special cases by including a separate code. If, in step 32, no element is found (N) having an inflection code corresponding to the input data, then the method is continued with step 25. If such an element is found (Y), then step 33 is carried out. In step 33 the string operations included in the element selected in step 32 are carried out on the input word. Table 3 gives a list of string operations. The code of the string operation is shown in the first column. The second column gives the definition of the string operation and the third column indicates the conditions under which the string operation must be regarded as successful. If one of the string operations to be carried out in step 33 is unsuccessful (N), step 32 is again performed, in which a search is made for a following element, one of the inflection codes of which corresponds to the inflection code of the input word. If all the string operations to be performed in step 33 are successful (Y), the program passes to step 34 in which the feature list of the input word is brought into agreement with the new situation. For this purpose, the grammatical features in the feature list which occur in the first group of the selected element of the list of the third type are replaced by the grammatical features from the second group. The feature list obtained in this way is suitable for the inflected input word. Inflection codes Code Description 2 strong verb having +en, +end as inflection 5 weak verb having +en as inflection 8 noun having +en, +tje, +tjes as inflection 12 noun having +en, -g+kje, -g+kjes as inflection 16 articles 17 regular strong (sound-changing) verb 18 verb 'zijn' 19 irregular strong verb -1 sound-change code: regular strong verb with sound change from 'ij' to 'e' -2 sound-change code: irregular strong verb, irregular forms included in X#-field in the lexical data String operations Code Description Success condition +'x' add string 'x' to end of word, 'x' denoting an arbitrary string none (always successful) &'x' add string 'x' to end of word if 'x' is not there none (always succssful) -'x' remove string 'x' from end of word if 'x' occurs at end of word A place 'ge' in front of word or after word prefix none (always successful) B remove prefix 'ge' from word none (always successful) F replace the v (or z) at the end by f (or s) none (always successful) K check whether penultimate letter is one of the letters k, f, s, p, t, x or if the last letters are 'ch' if one of the required conditions is satisfied P place 'ge' in front of word none (always successful) S carry out specified sound change and add string 'en' if a sound change is specified xN take the N-th inflected form from the list of inflected forms contained in the lexical data if there is an N-th form Step 35 then checks whether the first flag F1 is set. If so (Y), this means that the inflection to 'sing1' carried out as an intermediate step has been successful, so that now the inflection from 'sing1' to the originally required inflection can be performed. For this purpose, the originally required inflection category previously stored in step 26 is again retrieved in step 36 and starting at step 24 the inflection process is performed a second time. If in step 35 it is found that the first flag F1 is not set (N), the input word obtained according to the method and inflected in accordance with the required inflection category is written out in step 37 together with the associated lexical data, so that final condition 38 is reached. The above-described method will now be explained in detail with reference to some examples using the classification scheme of Table 1 and the inflection codes and string operations shown in Table 2 and Table 3 respectively. The first example will take as the input word 'deur' (the Dutch word for door). The input data are as follows: (deur(noun (rued 8 inneuter male female sing3) required inflection category: PLU3. The first line relates to the input word with its lexical data, for example substantially as supplied by a lexicalisation module described in patent application NL-A-9101284 combined with an invention described in patent application NL-A-9101285 for processing compound words (both applications filed on the same date as the Dutch priority application of the present application). The lexical data as indicated above comprise, from left to right: the input word deur the grammatical category noun the inverted stem form rued inflection code 8 feature list inneuter male female sing 3 Starting from the starting situation 20 (Fig. 2), the input data are read in at step 21. Then in step 22 there is selected from the list of the first type a first element which corresponds to the grammatical category of the input word. The input word has 'noun' as the grammatical category so that in step 22 that element (see Table 1) is selected (Y). In step 24 there is then selected that element from the list of the second type (see Fig. 1, reference 4) associated with the element 'noun' selected in the previous step, which corresponds to the required inflection category. According to Table 1 this yields element 'PLU3', so that step 24 is successful (Y). The element, all of whose features from the first group are present in the feature list of the input data, is then selected in step 31. According to Table 1, this applies to the element 'SING3' so that step 31 is successful (Y). This selected element comprises a list of the fourth type (Fig. 1, reference 8), from which there is selected in step 32 an element one of the inflection codes of which corresponds to the inflection code from the input data. The element '(128# + en)' given in Table 1 satisfies this since it contains inflection code '8', so that step 32 is successful (Y). The specified string operations are then performed in step 33 and the success thereof is checked. The selected element specifies as the only action: '+ en'. The application of this to the input word 'deur' in accordance with the definition specified in Table 3 yields the word: 'deuren' inflected in accordance with the required inflection category. The string operation is successful (Y), so that the program passes to step 34, where the feature list is adapted. This is done by replacing the features of the feature list contained in the first group of the element 'SING3' selected in step 31 by the second group of features of that element, in this case 'PLU3'. A check is then run in step 35 whether the first flag F1 has been set. This is not the case (N) so that in step 37 the inflected word and the adapted lexical data are written out, and this yields: (deuren (noun (rued 8 plu3 inneuter male female))) End condition 38 is then reached and the object of the method, i.e. to inflect an input word in accordance with a required inflection category, is achieved. A second example below will explain how irregular strong verbs are dealt with. The input data are as follows: (liep (verb (peil -2 19p.p._zijn p.p._hebben sing3 sing2 sing1 past main transitive X#(loop,loopt,loopt,lopen,liep,liepen,gelopen,loop)))) Required inflection category: pastpart The lexical data from left to right are explained in detail below: input word liep grammatical category verb inverted stem peil inflection code -2 (sound-change code) inflection code 19 feature list p.p._zijn p.p._hebben sing3 sing2 sing1 past main intransitive X#(loop,loopt,lopen,liep,liepen,gelopen,loop) The X# field contained in the feature list contains the irregular forms of the verb. Starting from the starting position 20, the input data are read in at step 21. Step 22 then selects from the list of the first type that element which contains the grammatical category 'verb'. An element of this kind is present according to Table 1, so that step 22 is successful (Y) and the method continues with step 24. In step 24 there is selected from the list of the second type associated with the grammatical category 'verb' that element which corresponds to the required inflection category 'pastpart'. This element is present (Y), whereupon step 31 is carried out. In step 31 there is selected from the list of the third type associated with the element 'PASTPART' selected in the previous step the first element occurring all of whose grammatical features of the first group are contained in the feature list of the input data. The first element satifisfies this (Y). The method is continued with step 32, in which a first element corresponding to one of the inflection codes contained in the input data is selected. The element '(-2#x7)' is satisfactory. String operation x7 means that the seventh word from the X#-field has to be taken. This yields the word 'gelopen' inflected in accordance with the required inflection category. The feature list is then adapted in step 34. This is done by replacing the features from the feature list contained in the first group of the element selected from the list of the second type, in this case 'SING1 SING2 SING3 PAST', by the features given in the associated second group, in this case 'PASTPART'. Step 35 then checks whether the first flag F1 has been set. This is not the case (N), whereupon the data obtained are written out in step 37 to give: (gelopen (verb(peil -219 pastpart p.p_.zijn p.p._hebben main intransitive X#(loop,loopt,loopt,lopen,liep,liepen,gelopen,loop)))) End situation 38 is then reached. In the following third example an illustration will be given of how the method deals with a strong verb, no X#-field being included in the lexical data. The input data are: (kijk(verb (kijk-1 2 intransitive main transitive sing 1 present p.p._hebben p.p._zijn) required inflection category: pastpart Starting from the starting position 20, the input data are read in at step 21. The element 'VERB' is then selected in step 22 (Y). The required inflection category 'PASTPART' is then selected in step 24(Y). In step 31 the element 'SING1 PRESENT' is then selected (Y), whereupon step 32 searches for an element containing the inflection code '-1' or '2'. There is no such element, so that step 32 is unsuccessful (N), whereupon the program proceeds to step 25, which checks whether the first flag F1 has been set. This is not the case (N), so that the program goes to step 26 in which the required inflection category is converted to 'sing1', the original input data are stored in the memory and flag F1 is set. In step 24 the element 'SING1' is then selected and this is successful (Y). Step 31 then searches for an element having the features 'sing1 present'. There is no such element so that step 31 is unsuccessful (N). This results in step 25 again being performed, which checks whether the flag F1 has been set. This is the case (Y), so that step 27 is performed. This step checks whether the second flag F2 has been set This is not the case (N), so that the original input data are retrieved again in step 29. Step 30 is then performed in which the value '17' is assigned to the inflection code. The element 'PASTPART' is then selected in step 24 and is successful (Y). In step 31 the element 'SING1 PRESENT' is then selected (Y), whereupon the program proceeds to step 32, which searches for an element having the inflection code '17'. This is successful (Y) and yields the element: '(17 # SAF)'. The program proceeds to step 33, where the string operations S, A and F are performed on the input word. String operation S effects a sound change by replacing 'ij' by 'e' and adds 'en' to the word. The sound change to 'e' is specified by the inflection code '-1' contained in the input data. This yields the word 'keken'. The string operation A puts the prefix 'ge' in front of the word, resulting in the word: 'gekeken'. Finally, string operation F is not applicable here and must be regarded as successful, since no further conditions are posed according to Table 3. Since all the string operations which are to be performed are successful, this means that step 33 is successful (Y) and step 34 must then be carried out. In this step the feature list is adapted: in this case replacement of 'sing1 present' from the feature list by 'pastpart'. Step 35 then checks whether the first flag F1 is set. This is not the case (N), whereupon the data obtained are written out in step 37 giving: (gekeken (verb (kijk-1 63 pastpart intransitive main transitive p.p._hebben p.p._zijn) End condition 38 is then reached. It will be apparent from the previous examples that the method in connection with the classification scheme has a high degree of flexibility with regard to the processing of irregular inflections. In illustration of this, the classification scheme shown in Table 1 also includes a number of inflections of the verb 'zijn' and inflections of the articles. This latter feature, for example, allows a given definite article to be inflected to the indefinite form. To the skilled man it will be apparent that a classification scheme of this kind can also be prepared for other languages. A classification scheme for the English language will be much simpler than that for the Dutch language since English is less inflected than Dutch. An embodiment of a classification scheme for deriving some inflections of a number of English words in conjunction with the method is given in Table 4. Inflection codes used therein are not the same as those defined in Table 2, which are specific for the Dutch language. As an example for the English language suppose that the verb 'flies' has to be inflected to sing 1. Input data are: (flies (verb (4 sing3 main present transitive intransitive))) required inflection category: sing1 These lexical data as indicated above, comprise from left to right: the input word flies the grammatical category verb inflection code 4 feature list sing3 main present transitive intransitive At first there is selected from the list of the first type a first element which corresponds to the grammatical category of the input word. The input word has 'verb' as the grammatical category so that that element of the list of the first type is selected. With this element is a list of the second type associated. From this list of the second type the element with the required inflection category 'sing1' is selected. With this element is a list of the third type associated. From this list of the third type the element comprising the inflection code '4' is selected. This is the element '(4#-ies +y)'. In compliance with Table 3 the string operations '-ies y' have the effect that the input word is changed succesfully from 'flies' to fly'. To obtain the correct lexical data, the feature list is adapted by exchanging 'sing3 present' with 'sing1 sing2 plu1 plu2 plu3 present'. This yields as endresult the output data: (fly (verb (4sing1 sing2 plu1 plu2 plu3 present transitive intransitive))) The invention is advantageously to be used in conjunction with a lexicalisation module and a parser as an inflection corrector. This is explained in detail with reference to Fig. 3, which is a block schematic of such an inflection corrector. Textual information is fed to the input module 41. This ensures that sentences and words in the sentences are distinguished. The words are fed to a lexicalisation module 42, which is connected to a string operation scheme stored in a memory module 43 and to an electronic word register consisting of a list of basic forms which may or may not be expanded by an additional word register and stored in a memory module 44. The lexicalisation module defines the lexical data required for grammatical analysis of each input word, such analysis being performed by a parser module 45. On the basis of a grammar stored in a memory module 46 and using the lexical data the parser module analyses the sentence. If the lexicalisation module indicates that for a word only a pseudo-basic form is found which does not satisfy all the requirements, the parser module can determine which inflection of that basic form is correct on the basis of the grammatical position of the word concerned in the sentence. A correction module 47 operative according to the invention ensures that the word is given the correct inflection in conjunction with a classification scheme stored in a random access memory part 48. The sentence having the correctly inflected word is then output by the output module 49. If a plurality of pseudo-basic forms are found, they are all offered to the user inflected in the correct way and he can then select one. The above-described configuration forms the subject matter of applicant's patent application NL-A-9100849, which is not a prior publication. Fig. 4 shows a possible embodiment of a data processing unit according to the invention. The data processing unit comprises a main unit 51 and is also provided with a keyboard 52, a mass memory 53 containing a lexical data base, and a screen 54. The main unit 51 comprises a keyboard controller 55 connected to the keyboard 52, a disc controller 56 connected to the mass memory 53, a screen controller 57 connected to the screen 54, a first random access memory module 58 containing a classification scheme constructed in accordance with the invention, an inflection module 59 constructed in accordance with the invention, a main program module 60, a second random access memory module 61 into which text files originating from the mass memory can be loaded, and a processor unit 62 which controls all the said modules and controllers. The main program module 60 processes text files stored in the second memory module 61. When the main program module is to decide the inflection of a given word, the inflection module 59 is actuated. This reads in the input data prepared by the main program module 60. In co-operation with the classification scheme stored in the memory module 58 the input word is then inflected. The results are then passed to the main program module, which then performs other specified program steps. The application of the invention in a data processing unit of this kind is advantageous in that the lexical data base does not have to contain all the inflected forms of a word, thus giving a considerable saving in memory, and also in that there is no need for the lexical data base itself to be consulted in the inflection of words, and this is an advantage in respect of the program processing speed. In addition, it is a simple matter to replace a modular classification scheme stored in the memory module 58 by another so that inflected word forms of a different language can be obtained. The invention is not limited to the method or embodiment described, but can be performed by the skilled man in various other ways, all of which, however, will come under the scope of the claims.

Claims: A method of inflecting words, comprising an inflection step in which the input word is inflected, by reference to linguistic data stored in a memory, and on the basis of input data containing an input word to be inflected, a grammatical category associated with the input word, grammatical features associated with the input word, and a required inflection category, whereby the linguistic data are stored in the form of a classification scheme in a random access portion of the memory, said classification scheme comprising a number of nested lists each comprising elements relating to grammatical properties, and whereby the inflection step comprises selecting inter-nested lists on the basis of the input data, followed by selection of an element from the last selected list on the basis of the input data, which element comprises string operations, and performing the string operations for inflecting the input word, characterised in that the method further comprises the steps of changing the required inflection category to a predetermined inflection category if, on the basis of the input data, it is not possible to select an element in one of the lists because there is no agreement between the input data and the elements, followed by performance of the inflection step on the changed input data and, on the basis of the originally required inflection category, re-performing the inflection step on the result thus obtained. A method according to claim 1, characterised in that the said nested lists comprise lists of a first type with elements comprising a grammatical category, lists of a second type with elements comprising a required inflection category, lists of a third type with elements comprising a first group of current grammatical features and a second group of required grammatical features, and lists of a fourth type with elements comprising an inflection code. A method according to claim 2, characterised in that each element of a list of the first type also comprises a list of the second type, in that each element of a list of the second type also comprises a list of the third type and in that each element of a list of the third type also comprises a list of the fourth type. A method according to any one of claims 1 to 3, characterised in that the selection of inter-nested lists on the basis of the input data comprises repeatedly selecting the first element occurring from a list which corresponds to the appropriate input data and the performance of a following selection on the list associated with the selected element. A method according to claim 4, characterised by selecting, in the list of the first type, the first element occurring which has a grammatical category which corresponds to the grammatical category contained by the input data, selecting, in the list of the second type associated with the selected element from the list of the first type, the first element occurring which has a required inflection category which corresponds to the required inflection category from the input data, selecting, in the list of the third type associated with the selected element from the list of the second type, the first element occurring in which all the grammatical features from the first group are contained by the grammatical features from the input data, selecting, in the list of the fourth type associated with the selected element from the list of the third type, the first element occurring which corresponds, as regards the inflection code, to an inflection code of the input data, performing on the input word the string operations contained by the element selected from the list of the fourth type, and adapting the features by replacing the features from the first group by the features from the second group if the string operations mentioned in the previous step are successful. A method according to any one of claims 1 to 5, characterised in that the input data contain irregular inflections of the input word from which an inflection is selected on the basis of the required inflection category. A data processing unit adapted to the inflection of words, said unit comprising at least one memory in which linguistic data are stored, and means adapted to inflect the input word by reference to the linguistic data and on the basis of input data comprising an input word, a grammatical category associated with the input word, grammatical features associated with the input word, and a required inflection category, wherein the linguistic data are stored in the form of a classification scheme in a memory segment, said classification scheme comprising a number of nested lists each comprising elements relating to grammatical properties and wherein the means are adapted to co-operate with the said memory segment in which the classification scheme is stored, characterised in that the required inflection category is changed to a predetermined inflection category if, on the basis of the input data, it is not possible to select an element in one of the lists because there is no agreement between the input data and the elements, followed by performance of the inflection step on the changed input data and, on the basis of the originally required inflection category, re-performing the inflection step on the result thus obtained.

Inventors: CREMERS LOUIS MARIE GERARDUS, HEEMELS ROBERTUS PETRUS ELISAB, VAN VLIEMBERGEN EDUARDUS JOSEP, CREMERS, LOUIS MARIE GERARDUS, HEEMELS, ROBERTUS PETRUS ELISABETH HUBERTUS, VAN VLIEMBERGEN, EDUARDUS JOSEPHUS WILLIBRORDUS
Applicants: OCE TECH BV, OCE-TECHNOLOGIES B.V.
Application year: 1992
Main classification: G06F17
IPC codes: G06F17