STATISTICAL METHOD FOR BUILDING A TRANSLATION MEMORY
CROSS-REFERENCE TO RELATED APPLICATION [0001] This application claims the benefit of, and incorporates herein, U.S. Provisional Patent Application No. 60/291,852, filed May 17, 2001.
ORIGIN OF INVENTION [0002] The research and development described in this application were supported by DARPA-ITO under grant number N66001-00-1-9814. The U.S. Government may have certain rights in the claimed inventions.
BACKGROUND
[0003] Machine translation (MT) concerns the automatic translation of natural language sentences from a first language (e.g., French) into another language (e.g., English) . Systems that perform MT techniques are said to "decode" the source language into the target language.
[0004] A statistical MT system that translates French sentences into English has three components: a language model (LM) that assigns a probability P(e) to any English string; a translation model (TM) that assigns a probability P(f |e) to any pair of English and French
strings; and a decoder. The decoder may take a previously unseen sentence f and try to maximize the e that find P(e|f), or equivalently maximizes P(e) • P(f|e) .
SUMMARY [0005] A statistical translation memory (TMEM) may be generated by training a translation model with a naturally generated TMEM. A number of tuples may be extracted from each translation pair in the TMEM. The tuples may include a phrase in a source language and a corresponding phrase in a target language. The tuples may also include probability information relating to the phrases generated by the translation model. [0006] A number of phrases in the target language may be paired with the same phrase in the source language. The target language phrase having the highest probability of correctness may be selected as a translation equivalent. Alternatively, the target language phrase occurring most frequently in the extracted phrases may be selected as a translation equivalent.
BRIEF DESCRIPTION OF THE DRAWINGS [0007] Figure 1 is a block diagram of a system for generating a statistical translation memory (TMEM) . [0008] Figure 2 illustrates the results of a stochastic word alignment operation.
[0009] Figure 3 is a flowchart describing a stochastic process that explains how a source string can be mapped into a target string.
[0010] Figure 4 is a flowchart describing an operation for generating a statistical TMEM.
[0011] Figure 5 is a table including tuples generated from the two sentences in Figure 2.
[0012] Figure 6 is a table including examples of phrases from a FTMEM and their corresponding correctness judgments
DETAILED DESCRIPTION [0013] Figure 1 illustrates a system 100 for generating and storing translation pairs in a statistical translation memory (TMEM) 105. The statistical TMEM 100 may be used in machine translation (MT) to translate from a source language (e.g., French) to a target language (e.g., English). The MT system 100 may use the statistical TMEM 105 to find translation examples that
are relevant for translating an unseen (input) sentence, and then modify and integrate translation fragments to produce correct output sentences.
[0014] A pre-compiled TMEM 110 including naturally- generated translation pairs may be used as the basis of the statistical TMEM 105. For example, for a French/English MT, a TMEM such as the Hansard Corpus, or a portion thereof, may be used. The Hansard Corpus includes parallel texts in English and Canadian French, drawn from official records of the proceedings of the Canadian Parliament. The Hansard Corpus is presented as a sequences of sentences in a version produced by IBM Corporation. The IBM collection contains nearly 2.87 million parallel sentence pairs in the set. [0015] Sentence pairs from the corpus may be used to train a statistical MT module 115. The statistical MT module 115 may implement a translation model 120, such as the IBM translation model 4, described in U.S. Patent No. 5,477,451. The IBM translation model 4 revolves around the notion of a word alignment over a pair of sentences, such as that shown in Figure 2. A word alignment assigns a single home (English string position) to each French word. If two French words align to the same English word, then that English word is said to have a fertility
of two. Likewise, if an English word remains unaligned- to, then it has fertility zero. If a word has fertility greater than one, it is called very fertile. [0016] The word alignment in Figure 2 is shorthand for a hypothetical stochastic process by which an English string gets converted into a French string. Figure 3 is a flowchart describing, at a high level, such a stochastic process 300. Every English word in the string is first assigned a fertility (block 305) . These assignments may be made stochastically according to a table n(ø|eι). Any word with fertility zero is deleted from the string, any word with fertility two is duplicated, etc. After each English word in the new string, the fertility of an invisible English NULL element with probability pi (typically about 0.02) is incremented (block 310) . The NULL element may ultimately produce "spurious" French words. A word-for-word replacement of English words (including NULL) by French words is performed, according to the table t(fj|e_) (block 315) . Finally, the French words are permuted (block 320) . In permuting, IBM translation model 4 distinguishes between French words that are heads (the leftmost French word generated from a particular English
word) , non-heads (non-leftmost, generated only by very fertile English words) , and NULL-generated. [0017] The head of one English word is assigned a French string position based on the position assigned to the previous English word. If an English word Ee-ι translates into something at French position j, then the French head word of ei is stochastically placed in French position k with distortion probability di (k-j | class (e_-_) , class (fk) ) , where "class" refers to automatically determined word classes for French and English vocabulary items. This relative offset k-j encourages adjacent English words to translate into adjacent French words. If θi_ι is infertile, then j is taken from e__2, etc. If ei-i is very fertile, then j is the average of the positions of its French translations.
[0018] If the head of English word ei is placed in French position j, then its first non-head is placed in French position k (>j) according to another table d>_(k- j I class (fk) ) • The next non-head is placed at position q with probability d>ι (q-k| class (fq) ) , and so forth. [0019] After heads and non-heads are placed, NULL- generated words are permuted into the remaining vacant slots randomly. If there are 00 NULL-generated words,
then any placement scheme is chosen with probability l/0o ! •
[0020] These stochastic decisions, starting with e, result in different choices of f and an alignment of f with e. The string e is mapped onto a particular <a,f> pair with probability: P(a, f|e) =
π ;=1 ntøi ^ π 1=1 π k=\ t i */
I π dι(π -c Pl \ class(epi),class(τn))x i=l,#>0 / ππd>ιfe _7rwl class(τΛ))x
=1 k-1
πt(r NULL) k=\ where the factors separated by "x" symbols denote fertility, translation, head permutation, non-head permutation, null-fertility, and null-translation probabilities, respectively. The symbols in this formula are: 1 (the length of e) , m (the length of f) , e_ (the i
th English word in e) , e
0 (the NULL word) , øχ (the fertility of e^, ø
0 (the fertility of the NULL word), Ti
k (the k
th French word produced by ei in a) , πι
k (the position of τι
k in f) , p_ (the position of the first
fertile word to the left of ei in a) , c
pi (the ceiling of
the average of all πpik for pi, or 0 if pi is undefined) .
[0021] In view of the foregoing, given a new sentence f, then an optimal decoder will search for an e that maximizes P(e|f) » P(e) ■ P(f|e). Here, P(f|e) is the sum of P(a,f|e) over all possible alignments a. Because this sum involves significant computation, typically it is avoided by instead searching for an <e,a> pair that maximizes P(e,a|f) » P(e) • P(a,f|e). It is assumed that the language model P(e) is a smoothed n-gram model of English.
[0022] Figure 4 is a flowchart describing an operation 400 for generating a statistical TMEM according to an embodiment. The translation model 120 is trained with an existing TMEM 110 (block 405) . After training the translation model 120, an extraction module 125 may use the Viterbi (most probable word level) alignment of each sentence, i.e., the alignment of highest probability, to extract tuples of the form <e±, e±+χ, ..., eι+k; fj, fj+i, ..., fj+i; aj, a-j+i, ..., aj+ι> (block 410), where e±, e±+ι, ..., eι+k represents a contiguous English phrase, fj, fj+i,..., fj+i represents a contiguous French phrase, and a-j, a-j+i, ..., aj+1> represents the Viterbi alignment between the two phrases. For example, in the Viterbi alignment of the two sentences in
Figure 2, which was produced automatically, "there" and "." are words of fertility 0, NULL generates the French lexeme ".","is" generates "est", "no" generates "aucun" and "ne", and so on.
[0023] When a different translation model is used, the TMEM may contain in addition to the contiguous French/English phrase adjacent information specific to the translation model that is employed. [0024] The tuples may be selected based on certain criteria. The tuples may be limited to "contiguous" alignments, i.e., alignments in which the words in the English phrase generated only words in the French phrase and each word in the French phrase was generated either by the NULL word or a word from the English phrase. The tuples may be limited to those in which the English and French phrases contained at least two words. The tuples may be limited to those that occur most often in the data. Based on these conditions, six tuples may be extracted from the two sentences in Figure 2, as shown in Figure 5.
[0025] Extracting all tuples of the form <e; f; a> from the training corpus may produce French phrases that were paired with multiple English translations. To reduce ambiguity, one possible English translation
equivalent may be chosen for each French phrase (block 415) . Different methods for choosing a translation equivalent may be used to construct different probabilistic TMEMs (block 420) . A Frequency-based Translation Memory (FTMEM) may be created by associating with each French phrase the English equivalent that occurred most often in the collection of phrases that were extracted. A Probability-based Translation Memory (PTMEM) may be created by associating with each French phrase the English equivalent that corresponded to the alignment of highest probability.
[0026] The exemplary statistical TMEMs explicitly encode not only the mutual translation pairs but also their corresponding word-level alignments, which may be derived according to a certain translation model, e.g., IBM translation model 4. The mutual translations may be anywhere between two words long to complete sentences. In an exemplary statistical TMEM generation process, an FTMEM and a PTMEM were generated from a training corpus of 500,000 sentence pairs of the Hansard Corpus. Both methods yielded translation memories that contained around 11.8 million word-aligned translation pairs. Due to efficiency considerations, only a fraction of the TMEMs were used, i.e., those that contained phrases at
most 10 words long. This yielded a working FTMEM of 4.1 million and a working PTMEM of 5.7 million phrase translation pairs aligned at the word level using the IBM statistical model 4.
[0027] To evaluate the quality of both TMEMs, two hundred phrase pairs were randomly extracted from each TMEM. These phrases were judged by a bilingual speaker as perfect, almost perfect, or incorrect translation. A phrase was considered a perfect translations if the judge could imagine contexts in which the aligned phrases could be mutual translations of each other. A phrase was considered an almost perfect translation if the aligned phrases were mutual translations of each other and one phrase contained one single word with no equivalent in the other language. For example, the translation pair "final , le secretaire de" and "final act , the secretary of" were labeled as almost perfect because the English word "act" has no French equivalent. A translation was considered an incorrect translations if the judge could not imagine any contexts in which the aligned phrases could be mutual translations of each other. [0028] The results of the evaluation are shown in Figure 6. A visual inspection of the phrases in the TMEMs and the judgments made by the evaluator suggest
that many of the translations labeled as incorrect make sense when assessed in a larger context. For example, "autres regions de le pays que" and "other parts of Canada than" were judged as incorrect. However, when ■considered in a context in which it is clear that "Canada" and "pays" corefer, it would be reasonable to assume that the translation is correct.
[0029] Figure 6 shows a few examples of phrases from the FTMEM and their corresponding correctness judgments. These judgments may be stored with the FTMEM to be used during translation. These judgments may be used when matching translation pairs to identify good matches (correct translations) , less good matches (almost correct translation) , and matches to avoid or reject (incorrect translations) .
[0030] A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, blocks in the flowcharts may be skipped or performed out of order and still produce desirable results. Accordingly, other embodiments are within the scope of the following claims .