Source: http://www.google.com/patents/US6161083?dq=5463388
Timestamp: 2014-04-19 20:14:05
Document Index: 339168572

Matched Legal Cases: ['art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 1', 'art 1', 'art 1', 'art 11', 'art 55']

Patent US6161083 - Example-based translation method and system which calculates word similarity ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA translating apparatus and a translating method wherein a first language sentence is divided into syntax units consisting of predetermined units of sentence structure such as clauses and phrases in stages from large syntax units into small syntax units and at each stage stored examples most similar...http://www.google.com/patents/US6161083?utm_source=gb-gplus-sharePatent US6161083 - Example-based translation method and system which calculates word similarity degrees, a priori probability, and transformation probability to determine the best example for translationAdvanced Patent SearchPublication numberUS6161083 APublication typeGrantApplication numberUS 08/839,989Publication dateDec 12, 2000Filing dateApr 24, 1997Priority dateMay 2, 1996Fee statusLapsedAlso published asEP0805403A2, EP0805403A3, US6393388Publication number08839989, 839989, US 6161083 A, US 6161083A, US-A-6161083, US6161083 A, US6161083AInventorsAlexander Franz, Keiko HoriguchiOriginal AssigneeSony CorporationExport CitationBiBTeX, EndNote, RefManPatent Citations (24), Non-Patent Citations (4), Referenced by (38), Classifications (13), Legal Events (6) External Links: USPTO, USPTO Assignment, EspacenetExample-based translation method and system which calculates word similarity degrees, a priori probability, and transformation probability to determine the best example for translationUS 6161083 AAbstract A translating apparatus and a translating method wherein a first language sentence is divided into syntax units consisting of predetermined units of sentence structure such as clauses and phrases in stages from large syntax units into small syntax units and at each stage stored examples most similar to these syntax units are detected using probability models taking into account grammatical attributes of the syntax units and of the examples and using generalized linguistic knowledge and with reference to a thesaurus and the syntax units are translated on the basis of these detected examples and the results of translation of the syntax units are compounded to generate a second language sentence. The invention makes it possible to carry out high-quality translating efficiently and therefore at a high processing speed while eliminating the need for many superficially different examples having the same meaning content to be prepared and the need for the thesaurus to be regularly structured or have uniform distances between concepts.
What is claimed is: 1. A translating method for translating a first language sentence expressed in a first language into a second language sentence expressed in a second language using example memory means storing examples expressed in said first language and corresponding translations of said examples in said second language, comprising the steps of:detecting from among said examples an example similar to said first language sentence on the basis of a priori probability of said example being used for translating said first language sentence and a transformation probability of said example being transformed into said first language sentence and used; and translating said first language sentence on the basis of a translation among said translations corresponding to said example detected. 2. A translating apparatus for translating a first language sentence expressed in a first language into a second language sentence expressed in a second language, comprising:example memory means storing examples expressed in said first language and corresponding translations of said examples in said second language; detecting means for detecting from among said examples an example similar to said first language sentence on the basis of a priori probability of said example being used for translating said first language sentence and a transformation probability of said example being transformed into said first language sentence and used; and translating means for translating said first language sentence on the basis of a translation among said translations corresponding to said example detected by said detecting means. 3. A translating apparatus according to claim 2, wherein said transformation probability is calculated from a grammatical attribute transformation probability of grammatical attributes of said example being transformed and a word transformation probability of words of said example being transformed.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 5 shows the construction of a preferred embodiment of a translating apparatus according to the invention. Parts in FIG. 5 corresponding to parts shown in FIG. 1 have been given the same reference numerals and will not be described in the following. This translating apparatus, as will be further discussed later, divides a first language sentence into syntax units consisting of predetermined units of sentence structure, in stages, first into large syntax units and then into small syntax units, and translates the syntax units obtained at each stage using examples, and in this sense it can be called a multi-stage example-using translating apparatus. Here, as the first language sentence for example a Japanese sentence is inputted, and as a second language sentence constituting the result of translation of the first language sentence for example an English sentence is outputted.
Next, the method of detection of the example phrases most similar to the input phrases used in the converting part 7 will be described in detail. Now, the words constituting an input phrase I will be expressed, from the beginning of the phrase, as iw.sub.1, iw.sub.2, . . . , iw.sub.N, and their slot-name values will be expressed as if.sub.1, if.sub.2, . . , if.sub.Q. Similarly, the words constituting an example phrase E will be expressed, from the beginning of the phrase, as ew.sub.1, ew.sub.2, . . . , ew.sub.M, and their slot-name values will be expressed as ef.sub.1, ef.sub.2, . . . , ef.sub.p. Here, M and N respectively are the numbers of words constituting the example phrase E and the input phrase I, and P and Q respectively are the numbers of grammatical attributes of (extracted from) the example phrase E and the input phrase I.
The example most similar (similar in meaning) to an input phrase is the one most suitable to be used in translation processing of that input phrase. Now, if the probability of a certain example phrase E being suitable for translation of an input phrase I is called its translation suitability, this translation suitability can be expressed as a conditional probability of the example phrase as P(Example probability and Example and Input respectively mean a set of example phrases and a set of input phrases.
The example phrase most similar to an input phrase is that for which this translation suitability P(Example this is written E.sub.max, this example phrase E.sub.max can be obtained from Exp. (2).
E.sub.max =max.sub.E&#949;Example [P(E
The translation suitability P(Example according to Bayes law as shown in Exp. (3).
P (Example
Here, when finding the example phrase E (E.sub.max) most similar to a certain input phrase I, because there is only one input phrase I, that is, Input=I, the denominator P(Input) of Exp. (3) is 1 and can be ignored. Therefore, from Exp. (2) and Exp. (3), it is possible to obtain the example phrase E.sub.max most similar to the input phrase I using the following Exp. (4).
E.sub.max =max.sub.E&#949;Example [P(E)P(1E)]           (4)
From Exp. (4), to obtain the example phrase having the greatest translation suitability with respect to the input phrase, it is necessary to obtain the probabilities P(E) and P(I
Here, the probability P(E) represents the priori probability of the example E (EεExample) being used for translation. The probability (conditional probability) P(I (hereinafter for convenience referred to as the transformation probability) of the example phrase E being transformed into the input phrase I and used.
That is, for example accurately selecting from among the example phrases stored in the translating apparatus those example phrases which are most suitable for translating corpus data is carried out manually or by other means for all the corpus data. In this case, if the number of example phrases stored in the translating apparatus is expressed N.sub.E, the total number of times a selection is made from among these example phrases is expressed T and the number of times an example E.sub.i (i=1, 2, . . , N.sub.E) is selected is expressed freq (E.sub.i), it is possible to obtain the priori probability P(E.sub.i) for each example E.sub.i for instance from Exp. (5). ##EQU2##
Here, when selecting the example phrases most suitable for translation of corpus data manually is problematic, it is possible to obtain approximate values of the priori probability P(E.sub.i) in Exp. (5) by making the translating apparatus translate the corpus data.
That is, as shown in the flow chart of FIG. 11, first, in a step S21, the priori probabilities P(E.sub.i) are all initialized to for example 1/N.sub.E. Then, in a step S22, using this priori probability P(E.sub.i), the translating apparatus of FIG. 5 is made to translate all the corpus data, and at this time the number of times F(E.sub.i) that each example phrase (E.sub.i) is used is counted. Then, in a step S23, the priori probabilities P(E.sub.i) are renewed for example according to the expression P(E.sub.i)=F(E.sub.i)/Σ, where Σ is the summation of F(E.sub.i) over i=1 to N.sub.E.
After the priori probability P(E.sub.i) has been renewed for all the example phrases E.sub.i, processing proceeds to a step S24 and detects the example phrase E.sub.i(max) given the greatest priori probability. Processing then proceeds to a step S25 and determines whether or not-the priori probability P(E.sub.i(max)) of the example phrase E.sub.i(max) is smaller than a predetermined threshold value, and when it is not smaller returns to the step S22 and repeats the steps S22 through S25. When the priori probability (E.sub.i(max)) is smaller than the predetermined threshold value, the priori probabilities (E.sub.i) at that time are outputted as the priori probabilities for the example phrases E.sub.i and processing ends.
When obtaining corpus data is problematic, it is also possible for example to obtain priori probabilities P(E.sub.i) in the following way using the example phrases stored in the translating apparatus.
That is, if among the words constituting an example phrase E.sub.i for which a priori probability P(E.sub.i) is to be obtained the number of words that match words constituting another example phrase is expressed W.sub.N and among the slot-names of the example phrase (E.sub.i) the number of slot-names had by another example is expressed F.sub.N, the generality of that example phrase E.sub.i, or its similarity sim-score (E.sub.i) to other examples, can for example be estimated as (W.sub.N +F.sub.N)/(the number of words constituting the example phrase E.sub.i). In this case, the priori probability P(E.sub.i) can for example be obtained according to Exp. (6). ##EQU3##
Next, the transformation probability P(I following way. When a user expresses the meaning content of an example phrase E, it can be considered that with a certain high probability the user will use an expression with words and phrases the same as the example phrase E, with a slightly lower probability the user will use an expression only slightly different from the example phrase E and with a lower probability the user will use an expression greatly different from the example phrase E.
That is, as operators operating on the words constituting the example phrase E, a word copying operator echo-word(ew.sub.m,iw.sub.n), a word deleting operator delete-word(ew.sub.m), a word inserting operator add-word(iw.sub.n) and a word replacing operator alter-word(ew.sub.m,iw.sub.n) will be introduced. Also, as operators operating on the slot-name values of the example phrase E, a slot-name value copying operator echo-feature(ef.sub.p,if.sub.q), a slot-name value deleting operator delete-feature(ef.sub.p), a slot-name value inserting operator add-feature(if.sub.q) and a slot-name value replacing operator alter-feature(ef.sub.p,if.sub.q) will be introduced.
Here, the word copying operator echo-word(ew.sub.m,iw.sub.n) is an operator which without changing it makes the mth (mth from the beginning) word ew.sub.m of the example phrase E the nth word iw.sub.n of the input phrase I. The word deleting operator delete-word(ew.sub.m) is an operator which deletes the mth word ew.sub.m of the example phrase E. The word inserting operator is an operator which inserts (adds) the nth word iw.sub.n of the input phrase I to the example phrase E. The word replacing operator alter-word(ew.sub.m,iw.sub.n) is an operator which replaces the mth word ew.sub.m of the example phrase E with the nth word iw.sub.n of the input phrase I (here, the word iw.sub.n is close in meaning to but different from the word ew.sub.m).
The slot-name value copying operator echo-feature(ef.sub.p,if.sub.q) is an operator which without changing it makes the pth slot-name value of the example phrase E (in the case of slot-name values, their position in the phrase does not particularly affect processing and therefore here the order of the slot-name values is a matter of convenience) the qth slot-name value if.sub.q of the input phrase I. The slot-name value deleting operator delete-feature(ef.sub.p) is an operator which deletes the pth slot-name value ef.sub.p of the example phrase E. The slot-name value inserting operator add-feature(if.sub.q) is an operator which inserts the qth slot-name value if.sub.q of the input phrase I into the example phrase E. The slot-name value replacing operator alter-feature(ef.sub.p,if.sub.q) is an operator which replaces the pth slot-name value of the example phrase E with the qth slot-name value if.sub.q of the input phrase I (here, the slot-name value if.sub.q is close in meaning to but different from the slot-name value ef.sub.p).
Now, if the aforementioned transforming operators as a whole are expressed distort.sub.z and that which is obtained by Z transforming operators distort.sub.1, distort.sub.2, . . . , distort.sub.z being applied to the example phrase E is the input phrase I, the input phrase I can be defined as the set of these transforming operators, as shown in Exp. (7).
From Exp. (7), the transformation probability P(I expressed as shown in Exp. (8).
P(I
P(distort.sub.k  ;E)=P(distort.sub.k E)                                    (9)
Therefore, from Exp. (9), Exp. (8) can be simplified as shown in Exp. (10) and as a result the transformation probability P(I shown in Exp. (11). ##EQU4##
Also, because the example phrase E can be expressed as the set of the words ew.sub.m (m=1, 2, . . . , M) and the slot-name values ef.sub.p (p=1, 2, . . . , P), Exp. (11) becomes as shown in Exp. (12). ##EQU5##
From Exp. (12), if the probability P(distort.sub.k ef.sub.P) is known for the cases wherein the transforming operator distort.sub.k is respectively the word copying operator echo-word(ew.sub.m,iw.sub.n), the word deleting operator delete-word(ew.sub.m), the word inserting operator add-word(iw.sub.n), the word replacing operator alter-word(ew.sub.m,iw.sub.n), the slot-name value copying operator echo-feature(ef.sub.p,if.sub.q), the slot-name value deleting operator delete-feature(ef.sub.p), the slot-name value inserting operator add-feature(if.sub.q) or the slot-name value replacing operator alter-feature(ef.sub.p,if.sub.q), the transformation probability P(I
Here, the following assumptions can be made about the transforming operators, and as a result it is possible to simplify the probability P(distort.sub.k ef.sub.1,ef.sub.2, . . . ,ef.sub.p) for each of the transforming operators.
That is, in the case of the word copying operator echo-word(ew.sub.m,iw.sub.n), the probability of the mth word ew.sub.m of the example phrase E being made the nth word iw.sub.n of the input phrase I without being changed can be assumed to depend only on these words ew.sub.m, iw.sub.n. Therefore, the probability P(echo-word(ew.sub.m,iw.sub.n) ew.sub.1,ew.sub.2, . . .,ew.sub.M ; ef.sub.1,ef.sub.2,. . . ,ef.sub.P) can be simplified as shown in Exp. (13).
P(echo-word(ew.sub.m,iw.sub.n,) ;ef.sub.1,ef.sub.2, . , ef.sub.P))&#8776;P(echo-word(ew.sub.m,iw.sub.n))(13)
Because the probability shown in Exp. (13) is the probability of the word ew.sub.m being as it were copied as a word of the input phrase I without being changed, hereinafter it will for convenience be referred to as the word copy probability.
In the case of the word deleting operator delete-word(ew.sub.m), it can be assumed that the probability of the mth word ew.sub.m of the example phrase E being deleted depends only on that word ew.sub.m. Therefore, the probability P(delete-word(ew.sub.m) ,ew.sub.M ; ef.sub.1,ef.sub.2, . . . ef.sub.P) can be simplified as shown in Exp. (14).
P(delete-word(ew.sub.m) ;ef.sub.1,ef.sub.2, . . ,ef.sub.p))&#8776;P(delete-word(ew.sub.m))(14)
Because the probability shown in Exp. (14) is the probability of the word ew.sub.m being deleted, hereinafter it will for convenience be referred to as the word deletion probability.
In the case of the word inserting operator add-word(iw.sub.n), it can be assumed that the probability of the nth word iw.sub.n of the input phrase I being inserted into the example phrase E depends only on that word iw.sub.m. Therefore, the probability P(add-word(iw.sub.n) ew.sub.1,ew.sub.2, ew.sub.M ; ef.sub.1,ef.sub.2, . . . ,ef.sub.P) can be simplified as shown in Exp. (15).
P(add-word(nw.sub.n) ef.sub.1,ef.sub.2, . . . ef.sub.p))&#8776;P(add-word(W.sub.n))(15)
Because the probability shown in Exp. (15) is the probability of the word iw.sub.n being inserted (added), hereinafter it will for convenience be referred to as the word insertion probability (or the word addition probability).
In the case of the word replacing operator alter-word(ew.sub.m,iw.sub.n), it can be assumed that the probability of the mth word ew.sub.m of the example phrase E being replaced with the nth word iw.sub.m of the input phrase I depends only on those words ew.sub.n and iw.sub.n. Therefore, the probability P(alter-word(ew.sub.m,iw.sub.n) . . , ew.sub.M ; ef.sub.1,ef.sub.2,ef.sub.P) can be simplified as shown in Exp. (16).
P(alter-word(ew.sub.m,w.sub.n) ef.sub.1, ef.sub.2, . . . ef.sub.P))=P(after-word(ew.sub.m,,iw.sub.n))(16)
Because the probability shown in Exp. (16) is the probability of the word ew.sub.m being replaced with the word iw.sub.n, hereinafter it will for convenience be referred to as the word replacement probability.
Also in the cases of the slot-name value copying operator echo-feature(ef.sub.p,if.sub.q), the slot-name value deleting operator delete-feature(ef.sub.p), the slot-name value inserting operator add-feature(if.sub.q) and the slot-name value replacing operator alter-feature(ef.sub.p,if.sub.q) expressing copying, deleting, inserting and replacing of slot-name values, the same assumptions can be made as when the words in the word copying operator echo-word(ew.sub.m,iw.sub.n), the word deleting operator delete-word(ew.sub.m), the word inserting operator add-word(iw.sub.n) and the word replacing operator alter-word(ew.sub.m,iw.sub.n) expressing copying, deleting, inserting and replacing of words are replaced with slot-name values.
As a result, the probability of the slot-name value ef.sub.p being copied (hereinafter for convenience referred to as the slot-name value copy probability) P(echo-feature(ef.sub.p,if.sub.q) ew.sub.1,ew.sub.2, . . .,ew.sub.M ; ef.sub.1 ef.sub.2, . . . ,ef.sub.P), the probability of the slot-name value ef.sub.p being deleted (hereinafter for convenience referred to as the slot-name value deletion probability) P(delete-feature(ef.sub.p) ef.sub.1,ef.sub.2, . . . ,ef.sub.P), the probability of the slot-name value if.sub.q being inserted (hereinafter for convenience referred to as the slot-name value insertion probability) P(add-feature(if.sub.q) ef.sub.1,ef.sub.2, . . . ,ef.sub.P) and the probability of the slot-name value ef.sub.p being replaced with the slot-name value if.sub.q (hereinafter for convenience referred to as the slot-name value replacement probability) P(alter-feature(ef.sub.p,if.sub.q) ew.sub.M ; ef.sub.1,ef.sub.2, . . . , ef.sub.P) can respectively be simplified as shown in Exps. (17) through (20).
P(echo-feature(ef.sub.p,if.sub.q) ew.sub.M,ef.sub.1,ef.sub.2, . . , ef.sub.P))&#8776;P(echo-feature(ef.sub.p,if.sub.q))     (17)
P(delete-feature(ef.sub.p) ew.sub.M,ef.sub.1, ef.sub.2, . . . , ef.sub.P)=P(delete-feature(ef.sub.p))(18)
P(add-feature(if.sub.q) ew.sub.M,ef.sub.1, ef.sub.2, . . , ef.sub.P))=P(add-feature(if.sub.q))(19)
P(alter-feature(ef.sub.p,if.sub.q) ew.sub.M ; ef.sub.1,ef.sub.2, . . , ef.sub.P))=P(alter-feature(ef.sub.p,if.sub.q))            (20)
From the above, if the word copying operator echo-word(ew.sub.m,iw.sub.n), the word deleting operator delete-word(ew.sub.m), the word inserting operator add-word(iw.sub.n) and the word replacing operator alter-word(ew.sub.m,iw.sub.n), which are transforming operators for words (and hereinafter for convenience referred to as word transforming operators), are expressed as a whole as distort-word.sub.x (ew.sub.m,iw.sub.n) and the slot-name value copying operator echo-feature(ef.sub.p,if.sub.q), the slot-name value deleting operator delete-feature(ef.sub.p), the slot-name value inserting operator add-feature(if.sub.q) and the slot-name value replacing operator alter-feature(ef.sub.p,if.sub.q), which are transforming operators for slot-name values (and hereinafter for convenience referred to as slot-name value transforming operators) are expressed as a whole as distort-feature.sub.y (ef.sub.p,if.sub.q), the transformation probability P(I of the transformation probabilities (hereinafter for convenience referred to as the word transformation probability) P(distort-word.sub.x (ew.sub.m,iw.sub.n)) of the word transforming operator distort-word.sub.x (ew.sub.m,iw.sub.n), and the product of the transformation probabilities (hereinafter for convenience referred to as the slot-name value transformation probabilities) P(distort-feature.sub.y (ef.sub.p,if.sub.q)) of the slot-name value transforming operator distort-feature.sub.y (ef.sub.p,if.sub.q). ##EQU6## Here, X and Y respectively are the total numbers of word transforming operators and slot-name value transforming operators applied, and X+Y=Z (Exp. 11)).
Next, the methods by which the word copy probability P(echo-word(ew.sub.m,iw.sub.n)), the word deletion probability P(delete-word(ew.sub.m)), the word insertion probability P(add-word(iw.sub.n)), the word replacement probability P(alter-word(ew.sub.m,iw.sub.n)), and the slot-name value copy probability P(echo-feature(ef.sub.p,if.sub.q)), the slot-name value deletion probability P(delete-feature(ef.sub.p)), the slot-name value insertion probability P(add-feature(if.sub.q)) and the slot-name value replacement probability P(alter-feature(ef.sub.p,if.sub.q)) are calculated will be described.
First, the word copy probability P(echo-word(ew.sub.m,iw.sub.n)), the word deletion probability P(delete-word(ew.sub.m)) and the word insertion probability P(add-word(iw.sub.n)) can be regarded as reflecting human language production behavior. That is, some types of word have a greater or lesser probability of being copied, deleted or inserted than other words. Therefore, when corpus data of the domain in which the translating apparatus is to be applied is available, it is possible to compute distributions of the probability of words being copied, deleted or replaced from corpus data and thereby obtain the word copy probability P(echo-word(ew.sub.m,iw.sub.n)), the word deletion probability P(delete-word(ew.sub.m)) and the word insertion probability P(add-word(iw.sub.n)).
When on the other hand corpus data is difficult to obtain, on the basis of tendencies of words in language production (trends in the treatment of words (for example trends such as words tending to be used unchanged or tending to be deleted or inserted)), it is possible to classify words into a number of groups and give a word copying probability P(echo-word(ew.sub.m,iw.sub.n)), a word deletion probability P(delete-word(ew.sub.m)) and a word insertion probability P(add-word(iw.sub.n)) to each of these groups.
In this preferred embodiment, words are classified into the four groups of strong independent words (for example verbs and nouns and so on); light independent words (for example adjectives and some adverbs (for example `MATA` (`again`) and the like); functional words (for example particles and conjunctions); and modifiers (for example adverbs expressing level (for example `TOTEMO` (`very`) (also including adjuncts), and constants of the kind shown in Exps. (22) through (24) are given as the word copy probability P(echo-word(ew.sub.m,iw.sub.n)), the word deletion probability P(delete-word(ew.sub.m)) and the word insertion probability P(add-word(iw.sub.n)) respectively depending on which group the word to which the word transforming operator is to be applied belongs to.
P(echo-word(ew.sub.m,iw.sub.n))&#8776;echo-strong-content-when ew.sub.m is a strong independent word echo-light-content-when ew.sub.m is a light independent word echo-grammatical-function-when ew.sub.m is a functional word echo-modifier-when ew.sub.m is a modifier or an adjunct (22)
Here, echo-strong-content, echo-light-content, echo-grammatical-function and echo-modifier are predetermined constants between 0 and 1. The word copy probability P(echo-word(ew.sub.m,iw.sub.n)) is given by Exp. (22) when the words ew.sub.m and iw.sub.m are the same; when they are not the same, it is made 0 (this is also the same in the case of the slot-name value copy probability, which corresponds to the word copy probability).
P(delete-word(ew.sub.m))&#8776;delete-strong-content-when ew.sub.m is a strong independent word delete-light-content-when ew.sub.m is a light independent word delete-grammatical-function-when ew.sub.m is a functional word delete-modifier-when ew.sub.m is a modifier or an adjunct (23)
P(add-word(iw.sub.n))&#8776;add-strong-content-when iw.sub.n is a strong independent word add-light-content-when iw.sub.n is a light independent word add-grammatical-function-when iw.sub.n is a functional word add-modifier-when iw.sub.n is a modifier or an adjunct    (24)
In this preferred embodiment, in the same way, the slot-name value transformation probabilities, namely the slot-name value copy probability P(echo-feature(ef.sub.p,if.sub.q)), the slot-name value deletion probability P(delete-feature(ef.sub.q)), the slot-name value insertion probability P(add-feature(if.sub.q)) and the slot-name value replacement probability P(alter-feature(ef.sub.p,if.sub.q)), are also given as constants.
Next, concerning the word replacement probability P(alter-word(ew.sub.m,iw.sub.n)), this can be computed on the basis of the closeness in meaning between the words ew.sub.m and iw.sub.n. That is, if the word iw.sub.n and the word ew.sub.m are synonyms a high probability can be given as the word replacement probability P(alter-word(ew.sub.m,iw.sub.n)), if the word iw.sub.n and the word ew.sub.m are similar in meaning a slightly lower probability, and when the word iw.sub.n and the word ew.sub.m are unrelated then a lower probability can be given to the word replacement probability P(alter-word(ew.sub.m,iw.sub.n)).
This kind of probability distribution relating to the words ew.sub.m and iw.sub.n can be obtained using corpus data. That is, using context similarity, when two words are used in similar contexts in the corpus data, the similarity between these two words can be regarded as being high, and when they are used in different contexts the similarity between two words can be regarded as being low. The two words having a high similarity can be given a high word replacement probability.
Therefore, the word replacement probability P(alter-word(ew.sub.m,iw.sub.n)) can be obtained from the amount of information included in the concept common to both the word ew.sub.m and the word iw.sub.n, that is, on the basis of the number of words included in that concept in the thesaurus, for example according to Exp. (25). ##EQU7## In the above expression, K is defined as follows: ##EQU8## Here, C(ew.sub.m,iw.sub.n) is a concept common to the words ew.sub.m and iw.sub.n, and number-dominated(C(ew.sub.m,iw.sub.n)) is the number of words included in the concept C(ew.sub.m,iw.sub.n) (words having the concept C(ew.sub.m,iw.sub.n) as a higher concept). Vocab means the set of words in the thesaurus. Therefore, the first and second Σ on the right side of Exp. (26) are respectively the summations of the words ew.sub.m and iw.sub.n successively substituted for the words in the thesaurus.
If a method like this wherein the distance between two words ew.sub.m and iw.sub.n is obtained on the basis of the amount of information included in a concept common to them is used, it is possible to accurately obtain the distance (relative distance) between the words irrespective of the structure of the thesaurus. That is, the thesaurus does not have to be constructed regularly, as it has been in the related art, and also the distances between concepts do not have to be the same. Also, the method can be applied both to thesauruses wherein words are classified minutely and to thesauruses wherein words are classified roughly. It can also be applied to thesauruses wherein classification has been carried out minutely or roughly only in a part of the thesaurus. Furthermore, the thesaurus may be one dedicated to a certain specific domain or may be a general one.
The transformation probability P(I (21), can be obtained as the product of the word transformation probabilities P(distort-word.sub.x (ew.sub.m,iw.sub.n)) and the product of the slot-name value transformation probabilities P(distort-word.sub.y (ef.sub.p,if.sub.q)). Of the product of the word transformation probabilities P(distort-word.sub.x (ew.sub.m,iw.sub.n)) and the product of the slot-name value transformation probabilities P(distort-word.sub.y (ef.sub.p,if.sub.q)), the product of the slot-name value transformation probabilities P(distort-word.sub.y (ef.sub.p,if.sub.q)) can be obtained relatively simply as the product of the slot-name value copy probabilities P(echo-feature(ef.sub.p,if.sub.q)), the slot-name value deletion probabilities P(delete-feature(ef.sub.p)), the slot-name value insertion probabilities P(add-feature(if.sub.q)) and the slot-name value replacement probabilities P(alter-feature(ef.sub.p,if.sub.q)).
That is, concerning grammatical attributes, the grammatical attributes of the input phrase (hereinafter for convenience referred to as the input attributes) and the grammatical attributes of the example phrase (hereinafter for convenience referred to as the example attributes) are compared, and example attributes the same as input attributes, example attributes not among the input attributes, input attributes not among the example attributes, and example attributes which can be replaced with input attributes are detected. When there is an example attribute the same as an input attribute, an example attribute not among the input attributes, an input attribute not among the example attributes, or an example attribute which can be replaced with an input attribute, the slot-name value copy probability P(echo-feature(ef.sub.p,if.sub.q)), the slot-name value deletion probability P(delete-feature(ef.sub.p)), the slot-name value insertion probability P(add-feature(if.sub.q)) or the slot-name value replacement probability P(alter-feature(ef.sub.p,if.sub.q)) can be obtained (however, in this preferred embodiment, because as mentioned above these are all given as constants, it is not necessary to compute them), and by calculating their product it is possible to obtain the product of the slot-name value transformation probabilities P(distort-word.sub.y (ef.sub.p,if.sub.q)).
In this case, by calculating the product of the slot-name value copy probabilities P(echo-feature(ef.sub.p,if.sub.q)) of the slot-name values (desiderative +), (extended-predicate +), (s-part GA) and (formal +) and the slot-name value deletion probability P(delete-feature(ef.sub.p)) of the slot-name value (gerund-suffix ITADAKU) it is possible to obtain the product of the slot-name value transformation probabilities P(distort-word.sub.y (ef.sub.p,if.sub.q)).
In obtaining the product of the word transformation probabilities P(distort-word.sub.x (ew.sub.m,iw.sub.n)), on the other hand, it is necessary to find the as it were most direct transformation route from the example phrase E to the input phrase I from among a number of transformation routes.
In this case, the translation `call the restaurant`, obtained with the second transformation route, is correct, and therefore, in obtaining the word transformation probability P(distort-word.sub.x (ew.sub.m,iw.sub.n)), it is necessary to find the as it were most direct transformation route (hereinafter for convenience referred to as the optimum route) like this second transformation route.
Now, if the set of word transforming operators is written Distort (={distort-word.sub.1 (ew.sub.m,iw.sub.n), distort-word.sub.2 (ew.sub.m,iw.sub.n), . . . , distort-word.sub.x (ew.sub.m,iw.sub.n)}), the set Distort.sub.max of most probably-correct word transforming operators (hereinafter for convenience referred to as the optimum word transforming operators) to be applied to transformation of the example phrase E into the input phrase I can be obtained using Exp. (27).
Distort.sub.max =max.sub.Distort [P(Distort
Here, the set of optimum word transforming operators is obtained for example using DP (Dynamic Programming). That is, first, to obtain from the probability P(Distort of -log(P(Distort D=-log(P(Distort constituting the word transforming operator set Distort are independent, D can be simplified as shown in Exp. (28). ##EQU9##
The -log(P(distort-word.sub.x (ew.sub.m,iw.sub.n))) on the right hand side of Exp. (30) is the distance between the words ew.sub.m and iw.sub.n when the mth word ew.sub.m of he example phrase and the nth word iw.sub.n of the input phrase are made to correspond, and this can be seen as directly corresponding to individual penalties (weight on the path) (cost) used in dynamic programming equations. Therefore, if distort-word.sub.x (ew.sub.m,iw.sub.n) is rewritten as the word copying operator echo-word(ew.sub.m,iw.sub.n), the word deleting operator delete-word(ew.sub.m), the word inserting operator add-word(iw.sub.n) and the word replacing operator alter-word(ew.sub.m,iw.sub.n) and the sum of the distances (the cumulative distance) of when as far as the mth word ew.sub.m of the example phrase and the nth word iw.sub.n of the input phrase are made to correspond is expressed G(m,n), this cumulative distance G(m,n) can be obtained regressively according to the gradualized expression shown in Exp. (31). ##EQU12## For the initial values, suitable values are assigned.
Because the probability P(Distort of word transforming operators Distort being used to collate an input phrase I with an example phrase E and eliminate the differences in expression between the two, the probability model based on this probability can be called a stochastic expression collating model, and because the distance between the input phrase I and the example phrase E is obtained on the basis of this stochastic expression collating model it can be called a stochastic-expression-collating-model-based distance.
After the set of optimum word transforming operators is obtained in the way described above it is possible to obtain the product of the word transformation probabilities P(distort-word.sub.x (ew.sub.m,iw.sub.n)), and it is then possible to obtain the transformation probability P(I transformation probabilities P(distort-word.sub.y (ef.sub.p,if.sub.q)) according to Exp. (21). By calculating the product of this transformation probability P(I to obtain the translation suitability (P(I example phrase E of which this translation suitability is the greatest is the example phrase most similar to the input phrase I.
In the converting part 7, the example phrase E most similar to the input phrase I is detected in the way described above. That is, using a priori probability model and a transformation probability model respectively based on the priori probability P(E) and the transformation probability P(I is detected. In this case, by using the transformation probability model, without excessively adding example phrases having superficial variations and omissions of particles and nouns and hesitations and so on in so-called spoken language to example phrases already prepared, it is possible to detect the example phrase most suitable for translating an input phrase, and as a result it is possible to increase the quality of translations.
Next, with reference to the flow chart of FIG. 12, the processing in the converting part 7 by which the example phrase E most similar to the input phrase I is detected will be described further. It will be assumed that priori probabilities P(E) have been assigned to the example phrases E and are stored in the noun phrase translation example memory 8, the verb phrase translation example memory 9 and the other translation example memory 10. It will be assumed also that the word copy probability P(echo-word(ew.sub.m,iw.sub.n)), the word deletion probability P(delete-word(ew.sub.m)) and the word insertion probability P(add-word(iw.sub.n)), and the slot-name value copy probability P(echo-feature(ef.sub.p,if.sub.q)), the slot-name value deletion probability P(delete-feature(ef.sub.p)), the slot-name value insertion probability P(add-feature(if.sub.q)) and the slot-name value replacement probability P(alter-feature(ef.sub.p,if.sub.q)) are given as constants and stored in a memory inside the converting part 7. Also, here, as an input phrase, it will be assumed that for example a noun phrase has been inputted into the converting part 7 and that therefore processing will be carried out using only the example phrases stored in the noun phrase translation example memory 8. However, if a verb phrase or an other phrase is inputted into the converting part 7 as the input phrase, the only difference is that the example phrases used in the processing become those stored in either the verb phrase translation example memory 9 or the other translation example memory 10, and the processing method is the same as in the case of a noun phrase described in the following.
When the converting part 7 receives an input phrase I (here, as mentioned above, a noun phrase), first, in a step S31, it reads an example phrase (a noun phrase) from the noun phrase translation example memory 8 (hereinafter, this read-out example phrase E will be called the focus example phrase). Also, in a step S32, the converting part 7 calculates the transformation probability P(I with respect to the input phrase I, and then proceeds to a step S33. In the step S33, in the converting part 7, the probability P(E) assigned to the focus example phrase E is read from the noun phrase translation example memory 8, and this and the transformation probability P(I this way, the translation suitability of the focus example phrase E with respect to the input phrase I is obtained.
In the preferred embodiment described above, as transforming operators operating on words constituting an example phrase E, the word copying operator echo-word(ew.sub.m,iw.sub.n), the word deleting operator delete-word(ew.sub.m), the word inserting operator add-word(iw.sub.n) and the word replacing operator alter-word(ew.sub.m,iw.sub.n) were used, but with these four operators it is difficult to deal with cases where the example phrase E is transformed into the input phrase I just by the positions of the words of the example phrase E being changed (for example when the example phrase E is `WATASHI WA MIKAN O TABETAI` (`I want to eat an orange`) and is to be transformed into the input phrase I `MIKAN O WATASHI WA TABETAI`) (`an orange--I want to eat`) and cases where the example phrase E is to be transformed into the input phrase I by words of the example phrase E being be replaced with words of the input phrase I and also having their positions changed (for example when the example phrase E is `WATASHI WA MIKAN O TABETAI` (`I want to eat an orange`) and is to be transformed into the input phrase I `RINGO O WATASHI WA TABETAI` (`an apple--I want to eat`)).
To overcome this, instead of the word deleting operator (an operator which irreversibly determines deletion at the time of its operation) delete-word(ew.sub.m), which actually deletes the word ew.sub.m of the example phrase E, a provisionally deleting operator which is an operator for deleting the word ew.sub.m provisionally will be introduced. Because this provisionally deleting operator temporarily removes (stores) the word being provisionally deleted (hereinafter referred to as the provisionally deleted word) ew.sub.m to the cache 7A, it will be written cache-as-deleted(ew.sub.m).
Also, instead of the word inserting operator add-word(iw.sub.n), which actually inserts the word iw.sub.n of the input phrase into the example phrase E (irreversibly determines insertion at that time), a provisionally inserting operator which is an operator for inserting that word iw.sub.n into the example phrase E provisionally will be introduced. Because this provisionally inserting operator temporarily removes the word iw.sub.n being provisionally inserted (hereinafter referred to as the provisionally inserted word) to the cache 7A, it will be written cache-as-added(iw.sub.n).
Also, a scrambling operator scramble(ew.sub.m,iw.sub.n), which is an operator for copying unchanged a word ew.sub.m of the example phrase E as a word iw.sub.n which among the words of the input phrase I is not the word aligned with the word ew.sub.m, or replacing the word ew.sub.m with such a word iw.sub.n, i.e. changes only the position of a word of the example phrase E or replaces a word of the example phrase E with a word of the input phrase I and also changes its position, will be introduced.
Also, a compounding operator compound(iw.sub.n-1,iw.sub.n) which is an operator for identifying two consecutive words iw.sub.n-1 and iw.sub.n of the input phrase I as constituting a compound word when those two words are a modifier and a modified word will be introduced. In this case, an operator for copying unchanged a word ew.sub.m of the example phrase E as a word iw.sub.n constituting the phrase input phrase I and making it form a compound word with the word iw.sub.n-1 one word in front of it can be expressed as the combination of the word copying operator echo-word(ew.sub.m,iw.sub.n) and the compounding operator compound(iw.sub.n-1,iw.sub.n) (hereinafter for convenience referred to as the copying and compounding operator). Also, an operator for replacing a word ew.sub.m of the example phrase E with a word iw.sub.n of the input phrase I and then making it form a compound word with the word iw.sub.n-1 one word in front of it can be expressed as the combination of the word replacing operator alter-word(ew.sub.m,iw.sub.n) and the compounding operator compound(iw.sub.n-1,iw.sub.n) (hereinafter for convenience referred to as the replacing and compounding operator).
In the preferred embodiment shown in FIG. 15, as operators operating on the words of the example phrase E, the six operators that are the word copying operator echo-word(ew.sub.m,iw.sub.n), the word replacing operator alter-word(ew.sub.m,iw.sub.n), the provisionally deleting operator cache-as-deleted(ew.sub.m), the provisionally inserting operator cache-as-added(iw.sub.n), the scrambling operator scramble(ew.sub.m,iw.sub.n) and the compounding operator compound(iw.sub.n-1,iw.sub.n) are employed. Of these six operators, the compounding operator compound(iw.sub.n-1,iw.sub.n) only is not used alone and as described above is used as the copying and compounding operator or the replacing and compounding operator in combination with the word copying operator echo-word(ew.sub.m,iw.sub.n) or the word replacing operator alter-word(ew.sub.m,iw.sub.n).
Of the newly introduced operators, the provisionally deleting operator cache-as-deleted(ew.sub.m) and the provisionally inserting operator cache-as-added(iw.sub.n) can be used in the same ways as the word deleting operator delete-word(ew.sub.m) and the word inserting operator add-word(iw.sub.n) respectively (although in the point that they provisionally delete or insert words by storing the word in the cache 7A they differ from the word deleting operator delete-word(ew.sub.m) and the word inserting operator add-word(iw.sub.n), which irreversibly determine deletion or insertion of the word), but in the use of the scrambling operator scramble(ew.sub.m,iw.sub.n) and the copying and compounding operator and the replacing and compounding operator there are the following kinds of limitation.
Therefore, when transforming an example phrase E into an input phrase I, to change the position of a word it is necessary for that word to have been deleted from the example phrase E or inserted into the input phrase I in the past. Because of this, the scrambling operator scramble(ew.sub.m,iw.sub.n) is only used when a word ew.sub.m of the example phrase E has been provisionally deleted or when a word iw.sub.n of the input phrase I has been provisionally inserted, ie. when a provisionally deleted word ew.sub.m or a provisionally inserted word iw.sub.n has been stored in the cache 7A.
Specifically, in calculating an optimum path, in a case where the transformation path from the mth word ew.sub.m of the example phrase E to the nth word iw.sub.n of the input phrase I is a problem, when a provisionally deleted word ew.sub.k (k&lt;m) is stored in the cache 7A, it is possible to use the scrambling operator scramble(ew.sub.k,iw.sub.n) (the nth word iw.sub.n of the input phrase I can be deemed to have been made not by transforming the mth word ew.sub.m of the example phrase E but by a transformation changing the position of the kth word ew.sub.k of the example phrase E, without changing the word or after replacing the word).
Also, in the case mentioned above, also when a provisionally inserted word iw.sub.s (s&lt;n) is stored in the cache 7A, it is possible to use the scrambling operator scramble(ew.sub.m,iw.sub.n) (the mth word ew.sub.m of the example phrase E can be deemed not to have been transformed into the nth word iw.sub.n of the input phrase I but to have been transformed into the sth word iw.sub.s of the input phrase I, either without being changed or after being replaced, by having its position changed).
When the scrambling operator scramble(ew.sub.k,iw.sub.n) or the scrambling operator scramble(ew.sub.m,iw.sub.s) has been used (when in the process of calculating the optimum path a transformation path corresponding to one of these has been selected), because at that time it is finally determined that the provisionally deleted word ew.sub.k or the provisionally inserted word iw.sub.s has not been deleted or inserted, that is, it is finally determined that its position has been changed, it is erased from the cache 7A.
That is, to copy without changing it a word ew.sub.m of the example phrase E as a word iw.sub.n of the input phrase I and make it form a compound word with the word iw.sub.n-1 one word in front of it, or to replace a word ew.sub.m of the example phrase E with a word iw.sub.n of the input phrase I and make it form a compound word with the word iw.sub.n-1 one word in front of it, it is necessary for the word iw.sub.n-1 serving as a modifier to have in the past been inserted into the input phrase I. Consequently, the copying and compounding operator and the replacing and compounding operator are used only when a word iw.sub.n-1 of the input phrase I has been provisionally inserted in the past, i.e. when the provisionally inserted word iw.sub.n-1 is stored in the cache 7A.
Specifically, in calculating the optimum path, when the transformation path from the mth word ew.sub.m of the example phrase E to the nth word iw.sub.n of the input phrase I is a problem, the copying and compounding operator and the replacing and compounding operator can be used when the provisionally inserted word iw.sub.n-1 has been stored in the cache 7A, i.e. when the word iw.sub.n-1 has been provisionally inserted in front of the word iw.sub.n.
When the copying and compounding operator or the replacing and compounding operator has been used, because at that point in time it is finally determined that the provisionally inserted word iw.sub.n-1 has not been inserted, i.e. it is finally determined that it constitutes a compound word, it is erased from the cache 7A.
Next, to obtain the word transformation probabilities of when transformation of words is carried out using these six transforming operators (the word copying operator echo-word(ew.sub.m,iw.sub.n), the word replacing operator alter-word(ew.sub.m,iw.sub.n), the provisionally deleting operator cache-as-deleted(ew.sub.m), the provisionally inserting operator cache-as-added(iw.sub.n), the scrambling operator scramble(ew.sub.m,iw.sub.n) and the compounding operator compound(iw.sub.n-1,iw.sub.n)), probabilities of the transforming operators (probabilities of transformations using the transforming operators being carried out) are necessary, and these can be defined for example as follows.
That is, first, the probability (the word copying probability) P(echo-word(ew.sub.m,iw.sub.n)) for the word copying operator echo-word(ew.sub.m,iw.sub.n) and the probability (the word replacement probability) P(alter-word(ew.sub.m,iw.sub.n)) for the word replacing operator alter-word(ew.sub.m,iw.sub.n) are given by Exp. (22) and Exp. (25) respectively, as in the preferred embodiment described above.
Next, the probability (hereinafter for convenience referred to as the provisional deletion probability) P(cache-as-deleted(ew.sub.m)) for the provisionally deleting operator cache-as-deleted(ew.sub.m) is given for example using the word deletion probability P(delete-word(ew.sub.m)) and the word copy probability P(echo-word(ew.sub.m,iw.sub.n)) so as to satisfy the following expression.
P(delete-word(ew.sub.m))&amp;lt;P(cache-as-deleted(ew.sub.m))&amp;lt;P(echo-word(ew.sub.m,iw.sub.n))                                                (32)
Here, the provisional deletion probability P(cache-as-deleted(ew.sub.m)) has a value satisfying Exp. (32) and for example lower than the word replacement probability P(alter-word(ew.sub.m,iw.sub.n)) for a similar word and higher than the word replacement probability P(alter-word(ew.sub.m,iw.sub.n) for a dissimilar word.
The probability for the provisionally inserting operator cache-as-added(iw.sub.n) (hereinafter for convenience referred to as the provisional insertion probability) P(cache-as-added(iw.sub.n)) is given for example using the word insertion probability P(add-word(iw.sub.n)) and the word copy probability P(echo-word(ew.sub.m,iw.sub.n)) so as to satisfy the following expression.
P(add-word(iw.sub.n))&amp;lt;P(cache-as-added(iw.sub.n))&amp;lt;P(echo-word(ew.sub.m,iw.sub.n))                                                     (33)
Here, the provisional insertion probability P(cache-as-added(iw.sub.n)) has a value satisfying Exp. (33) and for example lower than the word replacement probability P(alter-word(ew.sub.m,iw.sub.n)) for a similar word and higher than the word replacement probability P(alter-word(ew.sub.m,iw.sub.n)) for a dissimilar word.
Also, when the word ew.sub.m is the same as the word iw.sub.n, the word copy probability P(echo-word(ew.sub.m,iw.sub.n)) in Exps. (32) and (33) is given by Exp. (22) (when the words ew.sub.m and iw.sub.n are not the same, because as mentioned above the word copy probability P(echo-word(ew.sub.m,iw.sub.n)) becomes 0, in this case, the upper limit of the provisional deletion probability P(cache-as-deleted(ew.sub.m)) and the provisional insertion probability P(cache-as-added(iw.sub.n)) is not limited by the word copy probability P(echo-word(ew.sub.m,iw.sub.n))).
The probability P(scramble(ew.sub.m,iw.sub.n)) (hereinafter for convenience referred to as the scramble probability) for the scrambling operator scramble(ew.sub.m,iw.sub.n) can be given by the following expressions.
P(scramble(ew.sub.m,iw.sub.n))=f(P(alter-word(ew.sub.m,iw.sub.n)),iw.sub.n) when ew.sub.m &#8800;iw.sub.n P(scramble(ew.sub.m,iw.sub.n))=f(P(echo-word(ew.sub.m,iw.sub.n)),iw.sub.n) when ew.sub.m =iw.sub.n                                   (35)
In Exp. (35), as the argument of the function f(), when ew.sub.m ≠iw.sub.n the word replacement probability P(alter-word(ew.sub.m,iw.sub.n)) is used; this is because when the words ew.sub.m and iw.sub.n are not the same (when ew.sub.m ≠iw.sub.n), it can be considered that the word of the example phrase E has been replaced and the word order has been changed, and when the words ew.sub.m and iw.sub.n are the same (when ew.sub.m =iw.sub.n) it can be considered that the word of the example phrase E has been copied without being changed and only the word order has been changed.
In Exp. (35), in both the cases of ew.sub.m ≠iw.sub.n and ew.sub. =iw.sub.n, as the argument of the function f(), the word iw.sub.n of the input phrase I is used; this is because it can be supposed that the likelihood of a word order change varies depending on the word iw.sub.n. That is, for example in Japanese there are almost no cases where a verb is moved to the beginning, and therefore when the word iw.sub.n is a verb it takes a value such that the scramble probability P(scramble(ew.sub.m,iw.sub.n)) is small.
Next, the probability (hereinafter for convenience referred to as the compound probability) P(compound(iw.sub.n-1,iw.sub.n)) is for example given by the following expression.
P(compound(iw.sub.n-1,iw.sub.n))=g(iw.sub.n-1,iw.sub.n)    (36)
In Exp. (36), the function g(iw.sub.n-1,iw.sub.n) expresses the probability of the consecutive words iw.sub.n-1 and iw.sub.n forming a compound word, and this can be calculated for example in the following way. That is, it is possible for example to pre-store numerous examples of compound words and find the compound word most similar to the combination of the words iw.sub.n-1, iw.sub.n and normalize its degree of similarity to obtain a probability of them forming a compound word.
When the degree of similarity between the combination and the stored compound word example is large enough, the compound probability P(compound(iw.sub.n-1,iw.sub.n)) is higher than the word insertion probability P(add-word(iw.sub.n)).
The probability (hereinafter for convenience referred to as the copy and compound probability) of a word ew.sub.m of the example phrase E being copied as a word iw.sub.n of the input phrase I without being changed and forming a compound word together with the word in front of it is the product of the word copy probability P(echo-word(ew.sub.m,iw.sub.n)) and the compound probability P(compound(iw.sub.n-1,iw.sub.n)), and the probability (hereinafter for convenience referred to as the replace and compound probability) of a word ew.sub.m of the example phrase E being replaced with a word iw.sub.n of the input phrase I and forming a compound word together with the word in front of it is the product of the word replacement probability P(alter-word(ew.sub.m,iw.sub.n)) and the compound probability P(compound(iw.sub.n-1,iw.sub.n)).
With the six transforming operators of the word copying operator echo-word(ew.sub.m,iw.sub.n), the word replacing operator alter-word(ew.sub.m,iw.sub.n), the provisionally deleting operator cache-as-deleted(ew.sub.m), the provisionally inserting operator cache-as-added(iw.sub.n), the scrambling operator scramble(ew.sub.m,iw.sub.n) and the compounding operator compound(iw.sub.n-1,iwn) it is possible to carry out the following eight kinds of transformation.
That is, firstly, with the word copying operator echo-word(ew.sub.m,iw.sub.n), it is possible to make the word ew.sub.m of the example phrase E the word iw.sub.n of the input phrase I without changing it. Secondly, with the word replacing operator alter-word(ew.sub.m,iw.sub.n), it is possible to replace the word ew.sub.m of the example phrase E with the word iw.sub.n of the input phrase I. Thirdly, with the provisionally deleting operator cache-as-deleted(ew.sub.m), it is possible to provisionally delete the word ew.sub.m of the example phrase E, and fourthly, with the provisionally inserting operator cache-as-added(iw.sub.n), it is possible to provisionally insert the word iw.sub.n of the input phrase I.
Also, with the scrambling operator scramble(ew.sub.m,iw.sub.n), it is possible to carry out the following two word order changes. That is, fifthly, with the scrambling operator scramble(ew.sub.k,iw.sub.n), it is possible to change the word order by inserting a provisionally deleted word ew.sub.k stored in the cache 7A as the nth word iw.sub.n of the input phrase I, and sixthly, with the scrambling operator scramble(ew.sub.m,iw.sub.s), it is possible to make a provisionally inserted word iw.sub.s a change in the word order of the mth word ew.sub.m of the example phrase E.
Seventhly, with the combination (copying and compounding operator) of the word copying operator echo-word(ew.sub.m,iw.sub.n) and the compounding operator compound(iw.sub.n-1,iw.sub.n), it is possible without changing it to copy the word ew.sub.m of the example phrase E as the word ew.sub.m of the input phrase I and make it form a compound word with the word iw.sub.n-1 one word in front of it, and eighthly, with the combination (replacing and compounding operator) of the word replacing operator alter-word(ew.sub.m,iw.sub.n) and the compounding operator compound(iw.sub.n-1,iw.sub.n), it is possible to replace the word ew.sub.m of the example phrase E with the word iw.sub.n of the input phrase I and make it form a compound word with the word iw.sub.n-1 one word in front of it.
That is, as shown in the flow chart of FIG. 16, in the converting part 7, first, in a step S61, according to Exp. (37), the cumulative distance G(m,n) of when the word ew.sub.m constituting a focus example phrase E is made to correspond with the word iw.sub.n of the input phrase I is found.
Then, proceeding to a step S62, it is determined whether or not in the calculation of the cumulative distance G(m,n) in the step S61 the path corresponding to the provisionally deleting operator cache-as-deleted(ew.sub.m), i.e. the third expression from the top on the right hand side in Exp. (37) was selected, and when it is determined that it was selected processing proceeds to a step S63. In the step S63, the word ew.sub.m provisionally deleted by the provisionally deleting operator cache-as-deleted(ew.sub.m) is removed to (stored in) the cache 7A and processing proceeds to a step S64.
When in the step S62 it is determined that the path corresponding to the provisionally deleting operator cache-as-deleted(ew.sub.m) was not selected, the step S63 is skipped and processing proceeds to the step S64, wherein it is determined whether or not in the calculation of the cumulative distance G(m,n) the path corresponding to the provisionally inserting operator cache-as-added(iw.sub.n), i.e. the fourth expression from the top on the right hand side in Exp. (37), was selected. When in the step S64 it is determined that the path corresponding to the provisionally inserting operator cache-as-added(iw.sub.n) was selected, processing proceeds to a step S65 and the word ew.sub.m provisionally inserted by the provisionally inserting operator cache-as-added(iw.sub.n) is removed to the cache 7A, and processing proceeds to a step S66.
When in the step S64 it is determined that the path corresponding to the provisionally inserting operator cache-as-added(iw.sub.n) was not selected, processing skips the step S65 and proceeds to a step S66, wherein it is determined whether or not in the calculation of the cumulative distance G(m,n) a path corresponding to the copying and compounding operator or the replacing and compounding operator, i.e. the expression on the seventh line or the eighth line from the top on the right side in Exp. (37), was selected. When in the step S66 it is determined that a path corresponding to the copying and compounding operator or the replacing and compounding operator was selected, processing proceeds to a step S67, and because a provisionally deleted word iw.sub.n-1 made a modifier constituting a compound word by the copying and compounding operator or the replacing and compounding operator is stored in the cache 7A this is erased and processing proceeds to the step S68.
When in the step S66 it is determined that neither of the paths corresponding to the copying and compounding operator or the replacing and compounding operator was selected, processing skips the step S67 and proceeds to the step S68 and it is determined whether or not in the calculation of the cumulative distance G(m,n) a path corresponding to the scrambling operator scramble(ew.sub.k,iw.sub.n) or the scrambling operator scramble(ew.sub.m,iw.sub.s), i.e. the expression on the fifth or the sixth line from the top on the right-side in Exp. (37) was selected. When in the step S68 it is determined that a path corresponding to the scrambling operator scramble(ew.sub.k,iw.sub.n) or the scrambling operator scramble(ew.sub.m,iw.sub.s) was selected, processing proceeds to a step S69 wherein because a provisionally deleted word ew.sub.k or a provisionally inserted word iw.sub.s is stored in the cache 7A this is erased, and then proceeds to a step S70.
When on the other hand in the step S68 it is determined that neither of the paths corresponding to the scrambling operators scramble(ew.sub.k,iw.sub.n) or scramble(ew.sub.m,iw.sub.s) were selected, processing skips the step S69 and proceeds to the step S70, wherein it is determined whether or not m is less than M (the number of words constituting the focus example phrase E). When it is determined that m is less than M, processing returns to the step S61 and the converting part 7 increases m and n and repeats the subsequent processing. When in the step S70 it is determined that m is less than M, i.e. m is equal to M, processing proceeds to a step S71 and it is determined whether or not a provisionally deleted word ew.sub.m or a provisionally inserted word iw.sub.n is stored in the cache 7A.
When in the step S71 it is determined that a provisionally deleted word ew.sub.m or a provisionally inserted word iw.sub.n is stored in the cache 7A, processing proceeds to a step S72 and, among the paths of when the cumulative distance G(M,n) was obtained, the path corresponding to the provisionally deleting operator cache-as-deleted(ew.sub.m) having provisionally deleted the provisionally deleted word ew.sub.m stored in the cache 7A or the path corresponding to the provisionally inserting operator cache-as-added(iw.sub.n) having provisionally inserted the provisionally inserted word iw.sub.n stored in the cache 7A is respectively converted into the path corresponding to a word deleting operator delete-word(ew.sub.m) or a path corresponding to the word inserting operator add-word(iw.sub.n) and the path obtained as a result is taken as the optimum path, and processing proceeds to a step S73.
When in the step S71 it is determined that neither a provisionally deleted word ew.sub.m nor a provisionally inserted word iw.sub.n is stored in the cache 7A, the path of when the cumulative distance G(M,n) was obtained is taken unchanged as the optimum path, processing proceeds to the step S73 and the word transformation probability is calculated following this optimum path.
In this case, the optimum path includes a path corresponding to the provisionally deleting operator cache-as-deleted(ew.sub.m) or the provisionally inserting operator cache-as-added(iw.sub.n) respectively having provisionally deleted or provisionally inserted the provisionally deleted word ew.sub.m or the provisionally inserted word iw.sub.n erased from the cache 7A, but this path can be ignored in calculating the word transformation probability.
As a result of the scrambling operator scramble(ew.sub.m,iw.sub.n) being introduced together with the provisionally deleting operator cache-as-deleted(ew.sub.m) and the provisionally inserting operator cache-as-added(iw.sub.n), as described above, even when there is a difference in word order between an input phrase I and an example phrase E which are similar, it becomes possible to determine their similarity correctly.
Also, as a result of the compounding operator compound(iw.sub.n-1,iw.sub.n) being introduced, it becomes possible to handle compound words as well.
Here, a language model based on the hypothesis that the probability of a recently-used word appearing (being spoken) again is higher than the probability of that word first appearing is proposed, wherein recently-used words are stored in memory means and the probability of an ith word W.sub.i being a predetermined word W is calculated with reference to this memory means.
That is, for example in an ordinary 3g-gram model, when the parts of speech of the i-1th and i-2th words are respectively written g.sub.i-1 and g.sub.i-2, the probability P(W.sub.i =W the ith word W.sub.i being a predetermined word W is calculated for example using the following expression. ##EQU14## Here, G is a set of parts of speech in the language that is the object of the voice recognition.
In the aforementioned literature, a method of calculating the P(W.sub.i =W the following Exp. (39) by storing recently-used words in storing means is proposed.
P(W.sub.i =W =W
Here, k.sub.M,j +k.sub.c,j =1 and k.sub.M,j and k.sub.c,j are both variables indexed only by j.
The C.sub.j (W,i) on the right side of Exp. (39) is a probability calculated by referring to the memory means, and changes depending on whether the word W has appeared recently.
With the compounding operator compound(iw.sub.n-1,iw.sub.n), as well as it being possible to handle compound nouns of the kind mentioned above, it is possible for example to handle such times as when the example phrase E is `INU WA KAWAII` (`dogs are cute`) and the input phrase I is `WATASHI NO INU WA KAWAII` (`my dog is cute`) and a compound word `WATASHI NO INU` (`my dog`) made up of the modifier `WATASHI NO` (`my`) added to the word `INU` (`dog`) of the input phrase I corresponds to the word `INU` of the example phrase E. However, in cases such as `WATASHI NO INU` (`my dog`) wherein it is clear that `WATASHI NO` (`my`) modifies `INU` (`dog`), by applying the replacing operator alter-word(`INU`,`WATASHI NO INU`) to the `INU` of the example phrase E and the `WATASHI NO INU` of the input phrase I and using a noun phrase example `WATASHI NO X` (`my X`) (where X represents a noun), it is possible to process the phrase correctly and more efficiently than when the compounding operator compound(iw.sub.n-1,iw.sub.n) is used.
That is, the compounding operator compound(iw.sub.n-1,iw.sub.n) is effective in cases such as when a compound word of which the modifying relationship is unclear, for example one not containing the (possessive) particle `NO` (for example a compound noun) is inputted into the inputting part 1, or when in a voice recognition device in the inputting part 1 a particle is not recognized and for example `WATASHI, INU WA KAWAII` is outputted from the inputting part 1 with respect to an actual input of `WATASHI NO INU WA KAWAII`.
Although in the preferred embodiments described above a priori probability P(E.sub.i) was found for each example E.sub.i for example according to Exp. (5) or as described above with reference to 11, for this priori probability P(E.sub.i) it is also possible to use the same value, for example the inverse 1/N.sub.E of the number of examples N.sub.E, for all the examples E.sub.i.
In these preferred embodiments, in the similarity degree calculating part 11, the word replacement probability was found on the basis of the number of words included in a concept common to the two words concerned, but it is also possible for the word replacement probability to be found on the basis of the level of the class to which the concept common to the two words belongs in the thesaurus, as in the related art. That is, when the number of classes of the thesaurus is written C and the level of the class to which the concept common to a word iw.sub.n of an input phrase I and a word ew.sub.m of an example phrase E belongs is written L, it is possible to find the word replacement probability P(alter-word(ew.sub.m,iw.sub.n)) according to the following expression. ##EQU15##
P(add-word(iw.sub.n))&#8776;add-word                     (41)
P(delete-word(ew.sub.m))&#8776;delete-word               (42)
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing the construction of an example of a translating apparatus of the related art;
FIG. 11 is a flow chart illustrating a method for obtaining a priori probability P(E.sub.i);
The calculation of the similarity degree D (I,E) between a first language sentence I and an example phrase E in an example-driven translating apparatus, when the words constituting the first language sentence I are expressed i.sub.1, i.sub.2, . . . , i.sub.t it and the words constituting the example phrase E are expressed e.sub.1, e.sub.2, l l l , e.sub.t (where t represents the number of words constituting the first language sentence and the example respectively) has been carried out as shown in Exp. (1) by finding the distance in meaning (the conceptual distance) word-distance(i.sub.k,e.sub.k) between each word i.sub.k constituting the first language sentence I and the corresponding word e.sub.k in the example phrase E, assigning to it a weight.sub.k corresponding to the importance of the word e.sub.k, and obtaining the sum total of these weighted distances. ##EQU1##
Also, the distance word-distance(i.sub.k,e.sub.k) between the word i.sub.k and the word e.sub.k has been determined on the basis of the class to which a concept common to the word i.sub.k and the word e.sub.k (the concept which belongs to the lowest class among the concepts including the word i.sub.k and the word e.sub.k) belongs in a thesaurus stored in the thesaurus memory part 55. That is, the thesaurus is constructed by for example making the class to which the largest concepts belong the 0th class and then classifying smaller concepts into 1st through 3rd progressively lower classes and classifying words by assigning them to the concepts in the 3rd class to which they correspond, and with reference to this kind of thesaurus it is detected which of the 0th through 3rd classes the lowest concept common to the word i.sub.k and the word e.sub.k belongs (hereinafter for convenience the C in Cth class will be referred to as the level). Then, according to whether that concept belongs to the 0th, the 1st, the 2nd or the 3rd class, the distance word-distance(i.sub.k,e.sub.k) is determined to be 0, 1/3, 2/3 or 1 respectively.
Also, because the distance word-distance(i.sub.k,e.sub.k) between two words is determined on the basis of the level of the class to which the common concept of the two words belongs (because it is determined on the basis of which of the 0th through 3rd classes the class to which concept belongs is), the thesaurus must be so constructed that the distance between two words having a concept belonging to a certain class as their common concept and the distance between two words having a different concept belonging to the same class as their common concept is the same.
In this kind of thesaurus, the concept C1 common to the words Wa and Wb is different from the concept C2 common to the words Wc and Wd, but since the concepts C1 and C2 both belong to the 1st class, according to the method of calculating the distance word-distance(i.sub.k,e.sub.k) of the related art described above, the distance between the words Wa and Wb and the distance between the words Wc and Wd are the same. This means that the distance in meaning between concepts connected by lines is the same between any two concepts, and therefore it has been necessary for the thesaurus to be so constructed that this is the case.
SUMMARY OF THE INVENTION It is therefore an object of the present invention to overcome the problems described above and provide a translating apparatus and a translating method with which it is possible to carry out high-quality translation easily.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4599691 *May 13, 1983Jul 8, 1986Kokusai Denshin Denwa Co., Ltd.Tree transformation system in machine translation systemUS4641264 *Sep 7, 1982Feb 3, 1987Hitachi, Ltd.Method for automatic translation between natural languagesUS5020021 *Jan 10, 1986May 28, 1991Hitachi, Ltd.System for automatic language translation using several dictionary storage areas and a noun tableUS5268839 *Mar 21, 1991Dec 7, 1993Hitachi, Ltd.Translation method and system for communication between speakers of different languagesUS5495413 *Sep 21, 1993Feb 27, 1996Sharp Kabushiki KaishaTranslation machine having a function of deriving two or more syntaxes from one original sentence and giving precedence to a selected one of the syntaxesUS5510981 *Oct 28, 1993Apr 23, 1996International Business Machines CorporationLanguage translation apparatus and method using context-based translation modelsUS5612872 *Apr 12, 1995Mar 18, 1997Matsushita Electric Industrial Co., Ltd.Machine translation systemUS5659765 *Mar 14, 1995Aug 19, 1997Toppan Printing Co., Ltd.Machine translation systemUS5677835 *Dec 22, 1994Oct 14, 1997Caterpillar Inc.Integrated authoring and translation systemUS5844798 *Feb 28, 1994Dec 1, 1998International Business Machines CorporationMethod and apparatus for machine translationUS5907821 *Nov 4, 1996May 25, 1999Hitachi, Ltd.Method of computer-based automatic extraction of translation pairs of words from a bilingual textEP0562818A2 *Mar 23, 1993Sep 29, 1993International Business Machines CorporationSystem for pattern based text translationEP0651340A2 *Jul 18, 1994May 3, 1995International Business Machines CorporationLanguage translation apparatus and method using context-based translation modelsEP0672989A2 *Mar 14, 1995Sep 20, 1995Toppan Printing Co., Ltd.Machine translation systemEP0805403A2 *May 2, 1997Nov 5, 1997Sony CorporationTranslating apparatus and translating methodJP41002124A * Title not availableJP41033409A * Title not availableJP41103930A * Title not availableJPH0668134A * Title not availableJPH03276367A * Title not availableJPH04188276A * Title not availableJPH06274546A * Title not availableJPH06274548A * Title not availableWO1988002516A1 *Sep 29, 1987Apr 7, 1988British TelecommLanguage translation system* Cited by examinerNon-Patent CitationsReference1 *Patent Abstracts of Japan, JP 59 032062, Published Feb. 21, 1984, Casio Computer Co. Ltd.2Patent Abstracts of Japan, JP 59-032062, Published Feb. 21, 1984, Casio Computer Co. Ltd.3 *Patent Abstracts of Japan, JP 7 152767, Published Jun. 16, 1995, Kobe Nippon Denki Software KK.4Patent Abstracts of Japan, JP 7-152767, Published Jun. 16, 1995, Kobe Nippon Denki Software KK.* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS6243669Jan 29, 1999Jun 5, 2001Sony CorporationMethod and apparatus for providing syntactic analysis and data structure for translation knowledge in example-based language translationUS6266642Jan 29, 1999Jul 24, 2001Sony CorporationMethod and portable apparatus for performing spoken language translationUS6278968Jan 29, 1999Aug 21, 2001Sony CorporationMethod and apparatus for adaptive speech recognition hypothesis construction and selection in a spoken language translation systemUS6282507Jan 29, 1999Aug 28, 2001Sony CorporationMethod and apparatus for interactive source language expression recognition and alternative hypothesis presentation and selectionUS6330530 *Oct 18, 1999Dec 11, 2001Sony CorporationMethod and system for transforming a source language linguistic structure into a target language linguistic structure based on example linguistic feature structuresUS6356865Jan 29, 1999Mar 12, 2002Sony CorporationMethod and apparatus for performing spoken language translationUS6374224Mar 10, 1999Apr 16, 2002Sony CorporationMethod and apparatus for style control in natural language generationUS6393388 *Jun 5, 2000May 21, 2002Sony CorporationExample-based translation method and system employing multi-stage syntax dividingUS6393389 *Sep 23, 1999May 21, 2002Xerox CorporationUsing ranked translation choices to obtain sequences indicating meaning of multi-token expressionsUS6442524Jan 29, 1999Aug 27, 2002Sony CorporationAnalyzing inflectional morphology in a spoken language translation systemUS6473729 *Dec 20, 1999Oct 29, 2002Xerox CorporationWord phrase translation using a phrase indexUS6484136 *Oct 21, 1999Nov 19, 2002International Business Machines CorporationLanguage model adaptation via network of similar usersUS6493663 *Dec 7, 1999Dec 10, 2002Fuji Xerox Co., Ltd.Document summarizing apparatus, document summarizing method and recording medium carrying a document summarizing programUS6529865Oct 18, 1999Mar 4, 2003Sony CorporationSystem and method to compile instructions to manipulate linguistic structures into separate functionsUS6535886Oct 18, 1999Mar 18, 2003Sony CorporationMethod to compress linguistic structuresUS6678692 *Jul 10, 2000Jan 13, 2004Northrop Grumman CorporationHierarchy statistical analysis system and methodUS6721697Oct 18, 1999Apr 13, 2004Sony CorporationMethod and system for reducing lexical ambiguityUS6778949 *Oct 18, 1999Aug 17, 2004Sony CorporationMethod and system to analyze, transfer and generate language expressions using compiled instructions to manipulate linguistic structuresUS6789231 *Oct 5, 1999Sep 7, 2004Microsoft CorporationMethod and system for providing alternatives for text derived from stochastic input sourcesUS6928448Oct 18, 1999Aug 9, 2005Sony CorporationSystem and method to match linguistic structures using thesaurus informationUS6990439 *Jan 10, 2001Jan 24, 2006Microsoft CorporationMethod and apparatus for performing machine translation using a unified language model and translation modelUS7039629 *Jul 12, 2000May 2, 2006Nokia Mobile Phones, Ltd.Method for inputting data into a systemUS7216073Mar 13, 2002May 8, 2007Intelligate, Ltd.Dynamic natural language understandingUS7239998Oct 11, 2005Jul 3, 2007Microsoft CorporationPerforming machine translation using a unified language model and translation modelUS7283949 *Apr 4, 2003Oct 16, 2007International Business Machines CorporationSystem, method and program product for bidirectional text translationUS7318022 *Jun 12, 2003Jan 8, 2008Microsoft CorporationMethod and apparatus for training a translation disambiguation classifierUS7546529Jul 29, 2004Jun 9, 2009Microsoft CorporationMethod and system for providing alternatives for text derived from stochastic input sourcesUS7565281Oct 29, 2002Jul 21, 2009British TelecommunicationsMachine translationUS7593842 *Dec 10, 2003Sep 22, 2009Leslie RousseauDevice and method for translating languageUS7707025 *Jun 23, 2005Apr 27, 2010Sharp Kabushiki KaishaMethod and apparatus for translation based on a repository of existing translationsUS7725306Jun 28, 2006May 25, 2010Microsoft CorporationEfficient phrase pair extraction from bilingual word alignmentsUS7752032 *Jan 5, 2006Jul 6, 2010Kabushiki Kaisha ToshibaApparatus and method for translating Japanese into Chinese using a thesaurus and similarity measurements, and computer program thereforUS7840400Nov 21, 2006Nov 23, 2010Intelligate, Ltd.Dynamic natural language understandingUS7848916Oct 15, 2007Dec 7, 2010International Business Machines CorporationSystem, method and program product for bidirectional text translationUS8060360Oct 30, 2007Nov 15, 2011Microsoft CorporationWord-dependent transition models in HMM based word alignment for statistical machine translationUS8655639 *Jun 5, 2009Feb 18, 2014Wenhe XuGeneral digital semantic database for mechanical language translationUS20110238404 *Jun 5, 2009Sep 29, 2011Wenhe XuGeneral digital semantic database for mechanical language translationWO2001029700A1 *Oct 18, 2000Apr 26, 2001Sony Electronics IncMethod and system for transforming a source language linguistic structure into a target language linguistic structure* Cited by examinerClassifications U.S. Classification704/4, 704/9, 704/7International ClassificationG06F17/27, G06F17/28Cooperative ClassificationG06F17/271, G06F17/2818, G06F17/2827, G06F17/2715European ClassificationG06F17/27A2, G06F17/27A4, G06F17/28D2, G06F17/28D4Legal EventsDateCodeEventDescriptionJan 29, 2013FPExpired due to failure to pay maintenance feeEffective date: 20121212Dec 12, 2012LAPSLapse for failure to pay maintenance feesJul 23, 2012REMIMaintenance fee reminder mailedJun 12, 2008FPAYFee paymentYear of fee payment: 8May 26, 2004FPAYFee paymentYear of fee payment: 4Nov 3, 1997ASAssignmentOwner name: SONY CORPORATION, JAPANFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FRANZ, ALEXANDER;HORIGUCHI, KEIKO;REEL/FRAME:008832/0057Effective date: 19970626RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google