Title of Invention

"STATISTICAL MEMORY-BASED TRANSLATION SYSTEM AND APPARATUS THEREFOR"

Abstract A machine-implemented method for translating a text segment from a source language to a target language, the method comprising: receiving an input text segment in a source language; accessing a translation memory device to retrieve probabilistic text string pairs from a predetermined corpus; and using a statistical decoder to translate the input text segment to a translated text segment in a target language using the probabilistic text string pairs retrieved from the translation memory device.
Full Text STATISTICAL MEMORY-BASED TRANSLATION
SYSTEM
CROSS-REFERENCE TO RELATED APPLICATIONS [0001] This application claims the benefit of, and incorporates herein, U.S. Provisional Patent Application No. 60/291,853, filed May 17, 2001, and U.S. Patent Application Serial No. 09/854,327, filed May 11, 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 find the e that maximizes P(e|f), or equivalently maximizes P(e) • P(f|e).
SUMMARY
[0005] A statistical machine translation (MT) system may include a translation memory (THEM) and a decoder. The THEM may be a statistical TMEM generated from a corpus or a THEM produced by a human. The decoder may translate an input text segment using a statistical MT decoding algorithm, for example, a greedy decoding algorithm. [0006] The system may generate a cover of the input text segment from text segments in the TMEM. The decoder may use the cover as an initial translation in the decoding operation.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 is a block diagram of a statistical machine translation system.
[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 a greedy decoding procedure that uses both a TMEM and a statistical translation model.
DETAILED DESCRIPTION
[0011] Figure 1 illustrates a statistical machine translation (MT) system which utilizes a translation memory (TMEM) according to an embodiment. The MT system 100 may be used to translate from a source language (e.g., French) to a target language (e.g., English). The MT system 100 may include a language model 102, a translation model 105, a TMEM 110, and a decoder 115.
[0012] The MT system 100 may be based on a source-channel model. The language model (the source) provides an a priori distribution P(e) of probabilities indicating which English text strings are more likely, e.g., which are grammatically correct and which are not. The language model 102 may be an n-gram model trained by a large,
naturally generated monolithic corpus (e.g., English) to determine the probability of a word sequence. [0013] The translation model 105 may be used to determine the probability of correctness for a translation. The translation model may be, for example, an 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.
[0014] The word alignment in Figure 2 is shorthand for a hypothetical stochastic process by which an English string 200 gets converted into a French string 205. 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(Φ|ei) . 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 p1 (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)ei) (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.
[0015] 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-1 translates into something at French position j, then the French head word of ei is stochastically placed in French position k with distortion probability d1 (k-j | class (ei-1) , 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 ei-1 is infertile,
then j is taken from ei-2, etc. If ei-i is very fertile, then j is the average of the positions of its French translations.
[0016] 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>i (k-j|class (fk) ). The next non-head is placed at position q with probability d>i (q-k| class (fq) ) , and so forth. [0017] After heads and non-heads are placed, NULL-generated words are permuted into the remaining vacant slots randomly. If there are 0o NULL-generated words, then any placement scheme is chosen with probability l/Φo!. [0018] These stochastic decisions, starting with e, result in different choices of f and an alignment of f with e. The value e is mapped onto a particular pair with probability:
(Formula Removed)
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 ) , ei (the ith English word in e) , e0 (the NULL word) , 0i (the fertility of ei,, Φ0 (the fertility of the NULL word), ik (the kth French word produced by ei in a) , πik (the position of ik in f ) , pi (the position of the first fertile word to the left of ei in a) , cpi (the ceiling of the average of all πpik for pi, or 0 if pi is undefined) .
[0019] The THEM 110 may be a pre-compiled TMEM including human produced translation pairs. 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 sequences of sentences in a version produced by IBM. The IBM collection contains nearly 2.87 million parallel sentence pairs in the set.
[0020] Alternatively, the TMEM may be a statistical THEM. A statistical TMEM may be generated by training the translation model with a training corpus, e.g., the Hansard Corpus, or a portion thereof, and then extracting the Viterbi (most probable word level) alignment of each sentence, i.e., the alignment of highest probability, to extract tuples of the form , where e±, en-i,..., ei+k represents a contiguous English phrase, fj, f j+i,..., fj+i represents a contiguous French phrase, and aj, a-j+i,..., aj+i> represents the Viterbi alignment between the two phrases. 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. [0021] 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. [0022] In instances where French phrases are paired with multiple English translations, one possible English translation equivalent may be chosen for each French phrase. 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 are extracted. A Probability-based Translation Memory (PTMEM) may be created by associating with each French phrase the English equivalent that corresponds to the alignment of highest probability. [0023] The decoder 115 may utilize a greedy decoding operation 400, such as that described in the flowchart shown in Figure 4, to produce an output sentence. Greedy decoding methods may start out with a random, approximate solution and then try to improve it incrementally until a satisfactory solution is reached.
[0024] The decoder 115 may receive an input sentence to be translated (block 405). Although in this example, the text segment being translated is a sentence, virtually any other text segment could be used, for example, clauses, paragraphs, or entire treatises.
[0025] The decoder 115 may generate a "cover" for the input sentence using phrases from the THEM (block 410). The derivation attempts to cover with tranlation pairs from the THEM 110 as much of the input sentence as possible, using the longest phrases in the TMEM. The words in the input that are not part of any phrase extracted from the TMEM 110 may be "glossed," i.e., replaced with an essentially word-for-word translation. For example, in translating the French sentence "Bien entendu, il parle de une belle victoire.", this approach may start the translation process from the phrase "well, he is talking a beautiful victory" if the TMEM contains the pairs and but no pair with the French phrase "bell victoire".
[0026] If the input sentence is found "as is" in the TMEM 110, its translation is simply returned and there is no further processing (block 415). Otherwise processing continues, and the decoder 115 estimates the probability of
correctness of the current translation, P(c), based on probabilities assigned by the language model and the translation model (block 420). After the initial alignment is generated, the decoder 115 tries to improve the alignment (block 425). That is, the decoder tries to find an alignment (and implicitly, a translation) of higher probability by applying one or more sentence modification operators, described below. The use of a word-level alignment and the particular operators described below were chosen for this particular embodiment. However, alternative embodiments using different statistical models may benefit from different or additional operations. [0027] The following operators collectively make-up the decoder's translation engine, and include the following: [0028] translateOneOrTwoWords (j1, e1, j2, e2) : This operation changes the translation of one or two French words, those located at positions j1 and J2, from efj1 and efj2 into e1 and e2- If efj is a word of fertility I and ek is NULL, then efj is deleted from the translation. If efj is the NULL word, the word ek is inserted into the translation at the position that yields an alignment of highest probability. If efj1 = e1 or efj2 = e2, then this operation amounts to changing the translation of a single word.
[0029] translateAndlnsert (j, e1, e2) : This operation changes the translation of the French word located at position j from efj into e1 and simultaneously inserts word e2 at the position that yields the alignment of highest probability. Word e2 is selected from an automatically derived list of 1024 words with high probability of having fertility 0. When efj = e1 this operation amounts to inserting a word of fertility 0 into the alignment.
[0030] removeWordOfFertilityO (i) : This operation deletes the word of fertility 0 at position i in the current alignment.
[0031] swapSegments (i1, i2, ji, J2) : This operation creates a new alignment from the old one by swapping non-overlapping English word segments [i1, 12} and [j1, j2] . During the swap operation, all existing links between English and French words are preserved. The segments can be as small as a word or as long as |e|-l words, where |e| is the length of the English sentence.
[0032] joinWords (ii, ±2) '• This operation eliminates from the alignment the English word at position ii (or i2} and links the French words generated by ei1 (or ei2) to ei2 (or
[0033] The decoder 115 may estimate the probabilities of correctness, P(M1) ... P (Mn) , for each of the results of the sentence modification operations, i.e., the probability for each new resulting translation is determined (block 430). The decoder 115 may determine whether any of the new translations are better than the current translation by comparing their respective probabilities of correctness (block 435). If any of the new translations represents a better solution than the current translation, then the best new translation (that is, the translation solution having the highest probability of correctness) may be set as the current translation (block 440) and the decoding process may return to block 425 to perform one or more of the sentence modification operations on the new current translation solution.
[0034] The process may repeat until the sentence modification operations cease (as determined in block 435) to produce translation solutions having higher probabilities of correctness, at which point, the decoding process halts and the current translation is output as the final decoding solution (block 445). Alternatively, the decoder 115 could cease after a predetermined number of iterations chosen, for example, either by a human end-user
or by an application program using the decoder 115 as a translation engine.
[0035] Accordingly, in a stepwise fashion, starting from the initial cover sentence, the decoder 115 may use a process loop (blocks 425-440) to iterate exhaustively over all alignments that are one operation away from the alignment under consideration. The decoder chooses the alignment of highest probability, until the probability of the current alignment can no longer be improved. [0036] When performing the sentence modification (block 425) either all of the five sentence modification operations can be used or any subset thereof may be used to the exclusion of the others, depending on the preferences of the system designer and/or end-user. For example, the most time consuming operations in the decoder may be svrapSegments, trans la teOneOrTwoWords, and tx-anslateAndJnsert. SwapSegments iterates over all possible non-overlapping span pairs that can be built on a sequence of length | e | . TranslateOneOrTwoWords iterates over | f |2 x | t |2 alignments, where | f | is the size of the French sentence and | t I is the number of translations associated with each word (in this implementation, this number is limited to the top 10 translations).
TranslateAndlnsert iterates over 1 f | x | t | x | z | alignments, where | z | is the size of the list of words with high probability of having fertility 0 (1024 words in this implementation). Accordingly, the decoder may be designed to omit one or more of these slower operations in order to speed up decoding, but potentially at the cost of accuracy. Alternatively, or in addition, the decoder may be designed to use different or additional sentence modification operations according to the objectives of the system designer and/or end-user.
[0037] The use of a cover sentence may produce better results than, say, a word-by-word gloss of the input sentence because the cover sentence may bias the decoder to search in sub-spaces that are likely to yield translations of high probability, subspaces which otherwise may not be explored. One of the strengths of the THEM is its ability to encode contextual, long-distance dependencies that are incongruous with the parameters learned by a statistical MT system utilizing context poor, reductionist channel model. [0038] It is possible for the decoder 115 to produce a perfect translation using phrases from the THEM 110, and yet, to discard the perfect translation in favor of an incorrect translation of higher probability that was
obtained from a gloss (or the TMEM 110). Alternative ranking techniques may be used by the decoder 115 that would permit the decoder to prefer a TMEM-based translation in some instances even thought that translation may not be the best translation according to the probabilistic channel model.
[0039] 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.

CLAIMS
1. A method comprising:
receiving an input text segment in a source language; and
translating the input text segment to a translated text segment in a target language using both a statistical decoding algorithm and text strings in a translation memory.
2. The method of claim 1, further comprising:
generating a cover phrase for the input text
segment from one or more text segments in the translation memory.
3. The method of claim 1, further comprising:
using said cover as an initial translation for
the statistical decoding algorithm.
4. The method of claim 1, wherein said
translating comprises:
matching at least a portion of the input text segment with a first text segment in a translation memory;
replacing the at least a portion of the input text segment with a text segment in a target language in the translation memory corresponding to the first text segment;
generating an initial target language translation
of the input text segment; and
generating a target language translation by performing a statistical machine translation decoding operation on the initial translation.
5. The method of claim 4, wherein said
generating the initial target language translation
comprises replacing one or more words not in said at
least a portion of the input text segment with a with
a word-for-word translation.
6. The method of claim 1, wherein the
translation memory comprises a statistical translation
memory.
7. The method of claim 1, further returning a
final target language translation when the entire
input text sentence matches a text segment in the translation memory.
8. The method of claim 4, wherein said performing the statistical machine translation decoding operation comprises:
performing one or more sentence modification operations to the current target language translation to generate one or more modified target language translations, said current target language translation comprising the initial target language translation in a first instance;
determining whether one or more of the modified target language translations represents an improved translation in comparison with the current target language translation;
setting a modified target language translation as the current target language translation; and
repeating said applying, said determining and said setting until occurrence of a termination condition.
9. The method of claim 8, wherein said
performing one or more sentence modification
operations comprises changing in the current target
language translation the translation of one or two
words.
10. The method of claim 8, wherein said
performing one or more sentence modification
operations comprises changing in the current target
language translation a translation of a word and
concurrently inserting another word at a position that
yields an alignment of highest probability between the
source language text segment and the current target
language translation, the inserted other word having a
high probability of having a zero-value fertility.
11. The method of claim 8, wherein said
performing one or more sentence modification
operations comprises deleting from the current target
language translation a word having a zero-value
fertility.
12. The method of claim 8, wherein said
performing one or more sentence modification
operations comprises modifying an alignment between
the source language text segment and the current
target language translation by swapping non-
overlapping target language word segments in the
current target language translation.
13. The method of claim Q, wherein said
performing one or more sentence modification
operations comprises modifying an alignment between
the source language text segment and the current
target language translation by eliminating a target
language word from the current target language
translation and linking words in the source language
text segment.
14. The method of claim 8, wherein the
termination condition comprises a determination that a
probability of correctness of a modified target
language translation is no greater than a probability
of correctness of the current target language
translation.
15. The method of claim 8, wherein the
termination condition comprises a completion of a
predetermined number of iterations.
16. The method of claim 8, wherein the
termination condition comprises a lapse of a
predetermined amount of time.
17. Apparatus comprising:
a translation memory including a plurality of translation pairs, each translation pair including a text segment in a source language and a corresponding text segment in a target language; and
a decoder operative to generate a cover of an input text segment in the source language from one or more text segments in the translation memory and to generate a translation in the target language from said cover using a statistical decoding algorithm.
18. The apparatus of claim 17, wherein the
translation memory comprises a statistical translation
memory.
19. The apparatus of claim 17, wherein the
statistical decoding algorithm comprises a greedy
decoding algorithm.
20. The apparatus of claim 17, wherein the
generating the cover comprises replacing the at least
a portion of the input text segment with a text
segment in a target language in the translation memory
corresponding to the first text segment and replacing
one or more words not in said at least a portion of
the input text segment with a gloss.
21. The apparatus of claim 17, wherein the
statistical decoding algorithm comprises:
performing one or more sentence modification operations to the current target language translation to generate one or more modified target language translations, said current target language translation comprising the initial target language translation in a first instance;
determining whether one or more of the modified target language translations represents an improved
translation in comparison with the current target language translation;
setting a modified target language translation as the current target language translation; and
repeating said applying, said determining and said setting until occurrence of a termination condition.
22. The apparatus of claim 21, wherein the
termination condition comprises a determination that a
probability of correctness of a modified target
language translation is no greater than a probability
of correctness of the current target language
translation.
23. The apparatus of claim 21, wherein the
termination condition comprises a completion of a
predetermined number of iterations.
24. The apparatus of claim 21, wherein the
termination condition comprises a lapse of a
predetermined amount of time.
25. An article comprising a machine-readable
medium including machine-executable instructions, the
instructions operative to cause a machine to:
receive an input text segment in a source language; and
translate the input text segment to a translated text segment in a target language using both a statistical decoding algorithm and text strings in a translation memory.
26. The article of claim 25, further comprising
instructions operative to cause the machine to:
generate a cover phrase for the input text segment from one or more text segments in the translation memory.
27. The article of claim 26, further comprising
instructions operative to cause the machine to:
use said cover phrase as an initial translation for the statistical decoding algorithm.
28. The article of claim 25, wherein the
instructions operative to cause the machine to
translate include instructions operative to cause the
machine to:
match at least a portion of the input sentence
with a first text segment in a translation memory/replace the at least a portion of the input text
segment with a text segment in a target language in
the translation memory corresponding to the first text
segment;
generate an initial target language translation
of the input text segment; and
generate a target language translation by
performing a statistical machine translation decoding
operation on the initial translation.
29. The article of claim 28, wherein the instructions for generating the initial target language translation include instructions operative to cause the machine to replace one or more words not in said at least a portion of the input text segment with a word-for-word translation.
30. The article of claim 25, wherein the
translation memory comprises a statistical translation
memory.
31. The article of claim 25, further comprising
instructions operative to cause the machine to return
a final target language translation when the entire
input text sentence matches a text segment in the
translation memory.
32. The article of claim 25, wherein the
Instructions for performing the statistical machine
translation decoding operation include instructions
operative to cause the machine to:
perform one or more sentence modification operations to the current target language translation to generate one or more modified target language translations, said current target language translation comprising the initial target language translation in a first instance;
determine whether one or more of the modified target language translations represents an improved
translation in comparison with the current target language translation;
set a modified target language translation as the current target language translation; and
repeat said applying, said determining and said setting until occurrence of a termination condition.
33. The article of claim 32, wherein the
instructions for performing one or more sentence
modification operations include instructions operative
to cause the machine to changing in the current target
language translation the translation of one or two
words.
34. The article of claim 32, wherein the
instructions for performing one or more sentence
modification operations include instructions operative
to cause the machine to change in the current target
language translation a translation of a word and
concurrently inserting another word at a position that
yields an alignment of highest probability between the
source language text segment and the current target
language translation, the inserted other word having a high probability of having a zero-value fertility.
35. The article of claim 32, wherein the
instructions for performing one or more sentence
modification operations include instructions operative
to cause the machine to delete from the current target
language translation a word having a zero-value
fertility.
36. The article of claim 32, wherein the
instructions for performing one or more sentence
modification operations include instructions operative
to cause the machine to modify an alignment between
the source language text segment and the current
target language translation by swapping non-
overlapping target language word segments in the
current target language translation.
37. The article of claim 32, wherein the
instructions for performing one or more sentence
modification operations include instructions operative
to cause the machine to modify an alignment between

the source language text segment and the current target language translation by eliminating a target language word from the current target language translation and linking words in the source language text segment.
38. The article of claim 32, wherein the
termination condition comprises a determination that a
probability of correctness of a modified target
language translation is no greater than a probability
of correctness of the current target language
translation.
39. The article of claim 32, wherein the
termination condition comprises a completion of a
predetermined number of iterations.
40. The article of claim 32, wherein the
termination condition comprises a lapse of a
predetermined amount of time.



Documents:

1886-DELNP-2003-Abstract.pdf

1886-DELNP-2003-Claims.pdf

1886-DELNP-2003-Correspondence-Others.pdf

1886-delnp-2003-correspondence-po.pdf

1886-DELNP-2003-Description (Complete).pdf

1886-DELNP-2003-Drawings.pdf

1886-DELNP-2003-Form-1.pdf

1886-delnp-2003-form-19.pdf

1886-DELNP-2003-Form-2.pdf

1886-DELNP-2003-Form-3.pdf

1886-DELNP-2003-Form-5.pdf

1886-DELNP-2003-GPA.pdf

1886-delnp-2003-pct-101.pdf

1886-DELNP-2003-PCT-210.pdf

1886-DELNP-2003-PCT-220.pdf

1886-DELNP-2003-PCT-304.pdf

1886-DELNP-2003-PCT-401.pdf

1886-delnp-2003-petition-137.pdf

1886-delnp-2003-petition-138.pdf


Patent Number 197115
Indian Patent Application Number 1886/DELNP/2003
PG Journal Number 03/2008
Publication Date 18-Jan-2008
Grant Date 02-Jan-2008
Date of Filing 11-Nov-2003
Name of Patentee UNIVERSITY OF SOUTHERN CALIFORNIA
Applicant Address 3716 S. HOPE STREET, SUITE 313, LOS ANGELES, CALIFORNIA 90007, U.S.A.
Inventors:
# Inventor's Name Inventor's Address
1 DANIEL MARCU 2516 OZONE COURT, HERMOSA BEACH, CALIFORNIA 90254, U.S.A.
PCT International Classification Number G06F 17/28
PCT International Application Number PCT/US02/15057
PCT International Filing date 2000-05-13
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 09/854,327 2001-05-11 U.S.A.
2 60/291,853 2001-05-17 U.S.A.
3 10/143,382 2002-05-09 U.S.A.