Background of the Invention
The present invention relates to an apparatus for and method of selecting a target language equivalent of a predicate word such as a verb or adjective in a source language word string for use in a machine translation system, the source language word string including the predicate word and a non-predicate word such as a noun associated with the predicate word.
A method using a co-occurrence relation between words is effective for selection of a target language equivalent in a machine translation system. This method is, however, associated with the problem that a large amount of co-occurrence relation knowledge need be expressed and stored in a memory. Such a problem is solved by expressing a co-occurrence relation as a word-concept relation and storing, in a thesaurus, general-specific concept relation of words, for example as in Japanese Patent Laid-Open Publication JP-A-63-132379 (laid open on Jun. 4, 1988).
However, it is generally difficult to construct the thesaurus itself because of a necessity to properly select a word of general concept having a plurality of words of specific concept in a co-occurrence relation to the former.
Summary of the Invention
It is an object of the present invention to provide an apparatus for and method of selecting a target language equivalent in a machine translation system by using a co-occurrence knowledge expressed with a small number of semantic features, without constructing a complicated thesaurus.
According to one aspect of the present invention, a word dictionary is used which contains a plurality of records each including (a) data on, or corresponding to, an entry word in a source language which is predicate, (b) data on a target language word which is predicate and is equivalent to the entry word, and (c) data, in the form of a set of numerical values, on semantic features of a plurality of non-predicate words with respect to, or related to, a case governed by the target language word which is predicate for the entry word being predicate, or (a) data on an entry word in a source language which is non-predicate, (b) data on a target language word which is non-predicate and is equivalent to the entry word, and (c) data, in the form of a set of numerical values, on a semantic feature of the target language word which is non-predicate for the entry word being non-predicate. A processor coupled to the word dictionary fetches therefrom a semantic feature data of the plurality of non-predicate words serving as the arguments for a case governed by the predicate target word equivalent to the predicate word in the source language word string and a semantic feature data of one of the non-predicate target language words which is equivalent to the non-predicate word in the source language word string, carries out numerical operations between the fetched data to provide a plurality of operation results, and selects one of the operation results in accordance with predetermined criteria and determines one of the predicate target language words equivalent to the predicate word in the source language word string which has the data of the non-predicate words providing the selected result as the target language equivalent of the source language predicate word.
The above-described semantic feature data is a semantic feature vector having a plurality of components. The above-described operation results are representative of the degree of similarity between the semantic feature vector of a plurality of non-predicate words serving as the argument for a case governed by the predicate target language word and the semantic feature vector of the predicate target language word.
According to another aspect of the present invention, a co-occurrence relation between a predicate word and a non-predicate word serving as an argument in a case governed by the predicate word in a machine translation system can be expressed by a semantic feature vector. Therefore, the co-occurrence relation can be expressed with a reduced number of general semantic features. Further, both the co-occurrence relation expressed by semantic features and a co-occurrence relation between predicate words and non-predicate words serving as the argument for a case governed by the predicate words may be used in selecting a target language equivalent, resulting in less co-occurrence relation data to be stored.
Brief Description of the Drawings
FIG. 1 shows the hardware arrangement of an embodiment of a Japanese-English machine translation system according to the present invention.
FIG. 2 shows an example of the contents of records in a word dictionary which can be used in the embodiment of this invention.
FIG. 3 shows an example of the contents of a record in a co-occurrence relation dictionary which can be used together with the word dictionary shown in FIG. 2.
FIG. 4 is a flow chart showing the outline of a procedure performed by the Japanese-English machine translation system.
FIG. 5 is a flow chart showing a target language equivalent selection procedure according to an embodiment of this invention.
FIG. 6 shows an example of the contents of records in a word dictionary which can be used in another embodiment of this invention.
FIG. 7 shows an example of the contents of a record in a co-occurrence relation dictionary which can be used together with the word dictionary shown in FIG. 6.
FIG. 8 is a flow chart showing a target language equivalent selection procedure according to another embodiment of this invention.
Description of the Preferred Embodiments
In the following preferred embodiments, a Japanese-English machine translation system using Japanese as a source language and English as a target language will be described by way of example.
FIG. 1 shows the hardware arrangement of the embodiment machine translation system which includes a processor 1, input means 2 for input of a Japanese language word string, output means 3 for output of an English language word string, word dictionary memory 4, and, if necessary, co-occurrence relation dictionary memory 5.
The processor 1 may be constructed of a general computer, mini-computer, 32 bit microprocessor or the like. The memories 4 and 5 may use, for example, a magnetic disk.
A word dictionary in the word dictionary memory 4 is constructed of a plurality of records such as shown in FIG. 2. Each record may include data 41 on an entry word in Japanese, data 42 on a part of speech, data 43 on one or more English equivalents of the entry word, data 44a on a semantic feature vector (for predicate entry word 41) or data 44b on a semantic feature vector (for non-predicate entry word 41), and data 45 on a case frame. Defined by the case frame 45 for the predicate entry word 41 (e.g., the part of speech of which is a verb or an adjective) are cases governed by respective English equivalents, Japanese article for each case, and a syntactic role of the English equivalent for each case. Each record can be searched using the Japanese entry word 41 as a search key. The semantic feature vector 44a, 44b has a plurality of components (e.g., three components). The semantic feature item for each component is determined so as to have an effective nature in discriminating between English words. Needless to say, the semantic feature items for each vector are common to all English equivalents. For instance, the first, second and third components represent semantic feature items [LIMITATION], [WILL] and [FLAT FACE], respectively. For the non-predicate entry word 41 (e.g., the part of speech of which is a noun), the semantic feature vector 44b in the record is defined with respect to the English equivalent 43 of the entry word 41. The values of the first, second and third components of the semantic feature vector 44b are set for "+1" if the English equivalent 43 has the first, second and third component semantic features respectively, and "-1" if not. The semantic feature vector for the predicate entry word 41 (e.g., the part of speech of which is a verb or adjective) in the record is defined with respect to English equivalents of a plurality of non-predicate words serving as a case governed by the entry word, and the values of the first, second and third components are set for "+1" if the English equivalents of the plurality of non-predicate words have predominantly the semantic features of the first, second and third components respectively, "-1" if not, and "0" in other cases (the cases where they may be or may not be considered to have the semantic features under consideration). Namely, the semantic feature vector 44a for the predicate entry word 41 in a record represents a predominant semantic feature for a collection of non-predicate English equivalents serving as the arguments for one or more cases governed by the respective English equivalents 43, so that it concisely expresses a co-occurrence relation of each of a plurality of English equivalents 43 of the predicate entry word 41. Records in the word dictionary 4 are arranged therein in the order which follows a predetermined rule, irrespective of whether an entry word is predicate or non-predicate.
Examples of how to determine values of components of semantic feature vectors 44a and 44b will now be described below.
Semantic feature items or components of the semantic feature vectors and the number of the items or components of each vector may be optionally decided. In the described embodiment, the semantic feature items or components are [LIMITATION], [WILL] and [FLAT FACE], and therefore the number of the semantic feature items or components of each vector is three (3).
Referring to the semantic feature vector 44b of a non-predicate target language word 43, for example, "paper" which is equivalent to a non-predicate entry word 41 in the source language in one record, it has no meaning with respect to the first component [LIMITATION] and the value for the first component may be "-1", it has no meaning with respect to the second component [WILL] and the value for the second component may be "-1", and it has meaning with respect to the third component [FLAT FACE] and the value for the third component may be "1". Thus, the semantic feature vector of non-preciate word "paper" may be (-1, -1, 1), as shown in FIG. 2.
Reference will next be made to the semantic feature vectors 44a of non-predicate words serving as arguments for a case governed by a predicate target language words 43 which are equivalent to a predicate entry word 41 in the source language in one record.
For a predicate target language word equivalent to a predicate entry word in the source language for which there is a large amount of co-occurrence information with respect to government by the predicate target language word, the values for the components (here, the number of the components for each vector being assumed to be three, [LIMITATION], [WILL] and [FLAT FACE], as stated above) may be determined as follows. Taking, for example, a predicate target language word "tear", there are many arguments for cases governed by the verb "tear". Here, it is assumed that only the object case is considered for simplicity's sake, although there are other cases such as the agent case, etc. that are governed by that verb. Various arguments for the object case governed by "tear" may be "a letter", "a coat", "an envelope", "an agreement", etc. Values for the three components are determined for each of the arguments in a manner stated above with respect to the vectors 44b as described below.
The sum of the values for the respective arguments is determined for each component of the vector. Since the sum for the first component is 0, the first component of the semantic feature vector of arguments (i.e., a plurality of non-predicate words serving as arguments) for the object case governed by the verb "tear" may be "0".
The sum for the second component is -4. Since it is negative, the second component of the arguments for the object case governed by "tear" may be "-1". Since the sum for the third component is 4 which is positive, the third component of the arguments for the object case governed by "tear" may be "1". In this manner, the semantic feature vector of non-predicate words serving as arguments for a case governed by the predicate target language word "tear" equivalent to a predicate source language word "ya-bu-ru" may be determined as (0, -1, 1).
For a predicate target language word equivalent to a predicate entry word in the source language for which there is rather a small amount of co-occurrence information with respect to government by the predicate target language word, the values for the three components [LIMITATION], [WILL] and [FLAT FACE] may be determined by any other way with three-level numbers (-1, 0 and 1) from a common sense standpoint.
The co-occurrence relation dictionary in the co-occurrence relation dictionary memory 5 is constructed of a plurality of records, one example of which is shown in FIG. 3. Each record may include a data 51 on an entry word in a Japanese predicate word (e.g., a verb), data 52 on a Japanese non-predicate word (e.g., a noun) in a co-occurrence relation to the entry word 51, data 53 on an English equivalent of the entry word 51, and data 54 on an English equivalent of the word 52. Each record can be searched using a combination of a Japanese predicate word 51 and Japanese non-predicate word as a search key.
The co-occurrence relation dictionary may use a dictionary disclosed in, for example, U.S. Ser. No. 922,889 filed Oct. 24, 1986 (A. Okajima et al) entitled "METHOD AND SYSTEM FOR GENERATING LEXICON OF COOCCURRENCE RELATIONS IN NATURAL LANGUAGE" and assigned to the same assignee of the present invention.
The co-occurrence relation dictionary is a supplemental dictionary to the word dictionary, which stores therein, if necessary, pairs of predicate words and non-predicate words in a typical co-occurrence relation to each other.
The value of the semantic feature vector at each dimension is represented by a two-level number or 3-level number, but it may be represented by a multi-level (more than 3-level) number.
Next, a translation procedure to be executed by the processor 1 will be described with reference to FIG. 4. First, a Japanese sentence (Japanese word string) including a predicate word (e.g., a verb) and a non-predicate word (e.g., a noun) is read with input means 2 (step 11). The read-out Japanese sentence is divided into segments (morphological analysis), the word dictionary 4 is searched to find records each having an entry word corresponding to a verb in the Japanese sentence and an entry word corresponding to a noun having an object case, and an intermediate representation as a collection of words in a semantic relation to each other is obtained through a known syntax analysis including a pattern matching of the tree structure of the Japanese sentence including the verb with the case frame 45 of the searched record including the entry word 41 of the verb (step 12). Next, with reference to the word dictionary 4 only or both the word dictionary 4 and co-occurrence relation dictionary 5, and in accordance with the degree of similarity between a plurality of semantic feature vectors 44a in the searched record including the entry word of the verb and the semantic feature vector 44b of the searched record including the entry word of the noun, and if necessary by using information in the co-occurrence relation dictionary, a target language equivalent is selected (step 13). The detail of selecting a target language equivalent will be given later. Thereafter, with reference to the word dictionary 4, and in accordance with the case frame of the English equivalent of the verb, the syntactic role of the non-predicate English translation equivalent serving as the argument for a case governed by the verb is determined, to thus form an English sentence (step 14). Lastly, the obtained English sentence is outputted from output means 3 (step 15).
Next, the procedure of selecting a target language equivalent by using both the word dictionary shown in FIG. 2 and the co-occurrence relation dictionary shown in FIG. 3 will be described with reference to FIG. 5.
An input sentence is assumed as " (Kami o yaburu)". The records have been searched from the word dictionary 4 at step 12 shown in FIG. 4, the records including as an entry word a verb " (yaburu)" (represented by a symbol P) which is a predicate word in the input sentence and as an entry word a noun " (kami)" (represented by a symbol A) which is a non-predicate word in the input sentence (step 131 in FIG. 5). In the exemplary word dictionary shown in FIG. 2, one or more English translation equivalents 43 are given in the record having a predicate entry word 41, and one English translation equivalent is given in the record having a non-predicate entry word 41.
Next, using as a search key a combination of the verb P and noun A in the input sentence, the co-occurrence relation dictionary in the memory 5 is searched (step 132). If there is a record whose search key is a combination of the verb P and noun A in the co-occurrence relation dictionary, the English verb p stored in the English verb field 53 in the searched record is selected as a translation equivalent of the verb P in the input sentence (step 133).
If there is no record whose search key is a combination of the verb P and noun A in the co-occurrence relation dictionary, then in accordance with the data in the records read out at step 131 from the word dictionary, the values of inner products N.sub.i =S.sub.i .multidot.C (i=1, . . . , n) are calculated, where S.sub.i, . . . , S.sub.n each represents a semantic feature vector of each of a plurality of English translation equivalents 43 serving as target translation candidates p.sub.1, . . . , p.sub.n in the record having as the entry word the verb P, and C represents a semantic feature vector in the record including as the entry word the noun A. The semantic feature vectors S.sub.i, . . . , S.sub.n are representative of the predominant semantic feature of a plurality of non-predicate English words (e.g., English words of noun) serving as the arguments for the cases governed by the plurality of English translation equivalents. Each of the inner products N.sub.1, . . . , N.sub.n represents a degree of similarity between each of the semantic feature vectors S.sub.1, . . . , S.sub.n and the semantic feature vector C. Since there is no record having as the search key a combination of " (yaburu)" and " (kami)" in the co-occurrence relation dictionary 3 shown in FIG. 3, the values of the inner products N.sub.1 =S.sub.1 .multidot.C, N.sub.2 = S.sub.2 .multidot.C, N.sub.3 =S.sub.3 .multidot.C are calculated in accordance with the data in the word dictionary 4 (step 134), where the semantic feature vectors S.sub.1, S.sub.2 and S.sub.3 represent the predominant semantic feature of a plurality of non-predicate English words serving as the arguments for the cases governed by the translation equivalent candidates for " (yaburu)" including "tear" (symbol p.sub.1), "defeat" (symbol p.sub.2) and "break" (symbol p.sub.3). Lastly, obtained is a value i which makes the inner product N.sub.i maximum (step 135) to then select as a target language equivalent of the verb P the symbol p.sub.i (step 136). According to the word dictionary shown in FIG. 2, S.sub.1 =(0, -1, 1), S.sub.2 =(1, 1, -1), and S.sub.3 =(1, -1, -1), and C=(-1, -1, 1). Therefore, the values of N.sub.1, N.sub.2 and N.sub.3 are 2, -3 and -1, respectively, so that p.sub.1 ="tear" is selected as the target language equivalent of P. If inner products of the same value are present, the target language equivalent may be selected in the order of target language equivalents stored in the dictionary.
In the case of an input sentence " (Mado-garasu o yaburu)", the co-occurrence relation dictionary 5 includes therein a record having as the search key a combination of the predicate word "(yaburu)" and " (mado-garasu) in the input sentence, so that the English translation equivalent verb "break" stored in the record is selected as the translation equivalent of the " (yaburu)".
In the above embodiment, for the purpose of simplicity, a semantic feature vector of a verb is defined with respect to one case (object case). However, a verb generally governs a plurality of cases. Therefore, it can be considered that a semantic feature vector is defined with respect to each of the plurality of cases, and the degree of similarity for each case with the semantic feature of a record having as the entry word a non-predicate word in the word dictionary 4 is calculated, to then select a translation equivalent based on the total sum of all inner products.
An embodiment using the above principle will be described with reference to FIGS. 6 to 8.
FIGS. 6 and 7 show examples of the contents of records in the word dictionary and co-occurrence relation dictionary in the same manner as in FIGS. 2 and 3.
Each record in the co-occurrence relation dictionary shown in FIG. 7 includes, in addition to the data of the record shown in FIG. 3, a data on a case (55) associated with the entry word 51 (Japanese word verb) for Japanese word noun 52 (a non-predicate source language word in a co-occurrence relation to a predicate source language entry word 51).
On the other hand, in the word dictionary shown in FIG. 6, each record having a predicate entry word 41 includes, in addition to the data of the record shown in FIG. 2, a data on a plurality of semantic feature vectors 44a with respect to a plurality of cases 46 (agent case and object case in FIG. 6) governed by respective English translation equivalents 43, a data on the cases, a data on weight 471 for the case 46 (i.e., cases governed by English translation equivalents 43), and a data on the weight 472 for a record in the co-occurrence relation dictionary including data 51, 55 and 53 identical with data 41, 46 and 43, respectively in a record in the word dictionary (shown in FIG. 7).
Next, the procedure of selecting a target translation language equivalent will be described with reference to FIG. 8 like FIG. 5. For the purpose of simplicity, the description is given on the assumption that a predicate word is a verb, and a non-predicate word is a noun.
Searching the word dictionary, a record having as the search key a verb P in the input sentence is read (step 13001). A noun serving as an argument for a j-th case Kj governed by P in the input sentence is represented by Aj (j =1, 2, . . . , m). In the example shown in FIG. 6, m=2, K.sub.1 =AGENT, and K.sub.2 =OBJECT. Strictly speaking, the entry word verb 41 does not necessarily govern all the stored cases (K.sub.1, K.sub.2, . . . , K.sub.m) in the input Japanese sentence. It is therefore reasonable to perform the search of word dictionary (step 13002) and the search of the co-occurrence dictionary (step 13003) both to be described later, only for the number j of the case governed by P in the input Japanese sentence (a loop of j=1 to m). Accordingly, steps 13002 to 13007 are repeated for j=1 to m (number of cases governed by P) (steps 13001-1, 13007-3, 13007-4). Searching the word dictionary 4, a record having A.sub.j as the search key is read therefrom (step 13002). Using a combination of P, A.sub.j and K.sub.j as the search key, the co-occurrence relation dictionary 5 is searched (step 13003). It is judged whether or not a record searched at step 13003 is present in the co-occurrence relation dictionary 5 (step 13003-1). If present, step 13003-2 follows, and if not present, step 13003-3 follows. Steps 13004 to 13006 are repeated for i =1 to n (number of target language equivalents of P) (steps 13003-2, 13004-1, 13004-2). In the example shown in FIG. 6, n=3, P.sub.1 =tear, p.sub.2 =defeat, and p.sub.3 =break. It is judged whether or not the English word verb field in the record having as the search key a combination of P, A.sub.j and K.sub.j is p.sub.i (step 13004). If p.sub.i, step 13005 follows, and if not, step 13006 follows. A source T.sub.ij (numerical representation of whether or not there exists in the co-occurrence relation dictionary a record including p.sub.i as an English equivalent governing case k.sub.j) with respect to a co-occurrence relation of a word associated with the case k.sub.j governed by the translation equivalent candidate p.sub.i is set, e.g., at 1. Namely, a co-occurrence relation of p.sub.i relative to A.sub.j through the case K.sub.j in the co-occurrence relation dictionary is represented as T.sub.ij =1 (step 13005). T.sub.ij is set at 0 (step 13006). Step 13007 is repeated for i=1 to n (steps 13007-1, 13007-2). The inner products N.sub.ij =S.sub.ij .multidot.C.sub.j are calculated (at step 10037), where S.sub.ij represents a semantic feature vector (data 44a in the word dictionary record) for the case K.sub.j of the translation candidate p.sub.i of P, and C.sub.j represents a semantic feature vector of A.sub.j. The inner products N.sub.ij represent a score with respect to a co-occurrence relation represented by a semantic feature associated with the case k.sub.j governed by the translation equivalent candidate p.sub.i. For i=1 to n, ##EQU1## is calculated (step 13008), where WT.sub.ij represents, as indicated at 472 in FIG. 6, a weight for a case for the numerical representation T.sub.ij of the case data 55 in the co-occurrence relation dictionary record, and WN.sub.ij represents, as indicated at 442 in FIG. 6, a weight for a case for the semantic feature vectors S.sub.ij and C.sub.j in the word dictionary record (refer to FIG. 6).
The reason why WT.sub.ij and WN.sub.ij are provided is as follows.
Namely, generally in selecting a target language equivalent using a co-occurrence relation, all the cases are not related, but there is a specific case which is mainly used in selecting a target language equivalent (in most cases an object case). In view of this, a contribution of the case K.sub.j in selecting a translation equivalent is expressed by WT.sub.ij and WN.sub.ij.
Further, a co-occurrence relation on the semantic feature level is less important for the translation equivalent selection than the co-occurrence relation on the word level (in the above embodiments, a co-occurrence relation on the word level is preferentially used). Therefore, by setting as WT.sub.ij >>WN.sub.ij, a co-occurrence relation on the word level can be preferentially used.
The result of calculation of N.sub.i as in the above equation indicates a degree of correctness of the translation equivalent p.sub.i (step 13008). Then, the value i making N.sub.i maximum is obtained (step 13009). p.sub.i is used as the translation equivalent of P (step 13010). It is to be noted in FIG. 8 that if WT.sub.il -WN.sub.il =0 (i=1 to 3), i.e., if the agent case is not related, and if WT.sub.i2 >>WN.sub.i2 (i=1 to 3), i.e., if a co-occurrence relation on the word level is preferentially used, the equivalent processes to those shown in FIG. 5 can be performed.
According to the above embodiments, the data amount stored in a dictionary can be reduced considerably as compared with the case where all pairs of words are stored in a co-occurrence relation dictionary, by storing in the form of semantic feature vectors which represent a predominant semantic feature of a plurality of non-predicate target language words (e.g., noun) serving as arguments for a case governed by a predicate target language word (e.g., verb). Further, an optimum translation equivalent of a predicate source language word can be selected with an improved translation quality, by ordering the properness of translation equivalent candidates upon calculation of the inner products of the semantic feature vectors.