-
2014-11-11
11/501,189
2006-08-07
US 8,886,518 B1
2014-11-11
-
-
Paras D Shah
Carr & Ferrell LLP
2029-10-20
A system and method for capitalizing translated text is provided. A capitalized source text is automatically translated to a target text. The target text is capitalized according to information in the capitalized source text.
Get notified when new applications in this technology area are published.
1. Field of the Art
The present invention relates generally to machine translation, and more particularly to capitalizing machine translated text.
2. Description of Related Art
Capitalization is the process of recovering case information for texts in lowercase. Generally, capitalization improves the legibility of texts but does not affect the word choice or order. In natural language processing, a good capitalization model has been shown useful for name entity recognition, automatic content extraction, speech recognition, modern word processors, and an automatic translation system (sometimes referred to as a machine translation system or an MT system). Capitalization of output from the automatic translation system improves the comprehension of the automatically translated text in a target language.
Capitalization of automatically translated text may be characterized as a sequence labeling process. An input to such labeling process is a lowercase sentence. An output is a capitalization tag sequence. Unfortunately, associating capitalization tags with lowercase words can result in capitalization ambiguities (i.e., each lowercase word can have more than one tag).
One solution to resolve capitalization ambiguities for automatically translated text is a 1-gram tagger model, where the case of a word is estimated from a target language corpus with case information. Other solutions for capitalizing automatically translated text treat capitalization as a lexical ambiguity resolution problem. Still some solutions to resolve capitalization ambiguities include applying a maximum entropy Markov model (MEMM) and/or combining features of words, cases, and context (i.e., tag transitions) of the target language.
These solutions are monolingual because the solutions are estimated only from the target (monolingual) text. Unfortunately, such monolingual solutions may not always perform well on badly translated text and/or source text that includes capitalization based on special use.
The present invention provides a method for capitalizing translated text. An exemplary method according to one embodiment includes automatically translating a capitalized source text to a target text, and capitalizing the target text according to the capitalized source text.
FIG. 1 illustrates an exemplary architecture for an exemplary machine translation system;
FIG. 2 illustrates a block diagram showing exemplary modules comprising the automatic translation server;
FIG. 3 illustrates a block diagram showing exemplary components associated with the capitalizer module;
FIG. 4 illustrates a schematic diagram showing an exemplary alignment of two sentences;
FIG. 5 illustrates a block diagram showing an exemplary capitalization feature component; and
FIG. 6 a flow diagram illustrating a process for capitalizing translated text.
Various embodiments include translating a capitalized source sentence in a source language to a lowercase sentence in a target language using an automatic translation system, and capitalizing the lower case sentence according to information in the capitalized source sentence. The automatic translation system may generate a set of possible capitalized sentences for the lowercase sentence. In some embodiments, the automatic translation system parses the input sentence and the capitalized sentence into phrases and aligns the phrases to provide a phrase alignment. The automatic translation system may use the capitalization information from the capitalized input sentence in the source language, along with monolingual capitalization models based on the target lowercase sentence, and, optionally, the phrase alignment, to find a best capitalized sentence. The best capitalized sentence may be determined from a combination of a set of model features that include information from the input sentence in the source language.
Turning now to FIG. 1, an exemplary architecture for an automatic machine translation system 100 is illustrated. The machine translation system 100 comprises an automatic translation server 106, a network 104, and a device 102. The device 102 may comprise any type of user or other device, such as, a laptop or desktop computer, a personal digital assistant (PDA), a cellular telephone, and so forth.
According to an exemplary embodiment, the device 102 is configured to communicate a capitalized input sentence, designated by F in FIG. 1, in a source language over the network 104 to the automatic translation server 106. The network 104 may comprise any type of network, such as a wide area network, a local area network, a peer to peer network, and so forth. According to an alternative embodiment, the device 102 communicates directly with the automatic translation server 106, rather than via the network 104.
The automatic translation server 106 is configured to receive the capitalized input sentence (F), translate the capitalized input sentence (F) from the source language to a target language, and return a best capitalized sentence, designated as E* in FIG. 1, in the target language over the network 104 to the device 102.
A sentence may comprise a string of characters representing units of speech (e.g., words, phrases, letters, symbols, punctuation, and the like) in a natural language. The sentence may be determined, for example, by rules of grammar. In various embodiments, the sentence comprises a character string of arbitrary length selected for processing by an automatic translation system.
FIG. 2 illustrates a block diagram illustrating exemplary modules comprising the automatic translation server 106 of FIG. 1. The exemplary automatic translation server 106 comprises a case remover module 202, an automatic translator module 204, and a capitalizer module 206.
The case remover module 202 receives the capitalized input sentence (F) and generates a lowercase sentence, designated by ƒ in FIG. 2, in the source language (i.e., the lowercase source sentence). According to an exemplary embodiment, the case remover module 202 generates the lowercase source sentence by replacing all uppercase characters in the capitalized input sentence (F) with a corresponding lowercase character according to a lookup table.
The automatic translator module 204 is configured to receive the lowercase source sentence (e.g., ƒ) and translate the lowercase source sentence from the source language to a lowercase sentence, designated by “e” in FIG. 2, in the target language (i.e., the lowercase target sentence). The translation is performed by a phrase based statistical automatic translation system, according to an exemplary embodiment. However, according to alternative embodiments, automatic translation may comprise a dictionary based automatic translation system, a syntax based automatic translation system, or any combination of automatic translation systems.
The capitalizer module 206 is configured to receive the capitalized input sentence F in the source language, along with the lowercase target sentence (e.g., e) from the automatic translator module 204, and the lowercase source sentence (e.g., ƒ). The capitalizer module 206 determines the best capitalized sentence (e.g., E*) based on capitalization information in the capitalized input sentence (e.g., F). Any type of process for determining the best capitalized sentence may be employed. For example, conditional random fields, discussed in more detail in associated with FIG. 4, may be utilized to determine the best capitalized sentence. The capitalizer module 206 also utilizes information in the lowercase target sentence.
Although various modules are shown in association with the automatic translation server 106, fewer or more modules may comprise the automatic translation server 106 and still fall within the scope of various embodiments.
FIG. 3 is a block diagram illustrating exemplary components associated with the capitalizer module 206. The capitalizer module 206 is configured to generate a set of capitalized target sentences, designated by “E” in FIG. 3 (“the capitalized target sentence”), and align the capitalized target sentence(s) (e.g., E) with the capitalized input sentence (e.g., F). The capitalizer module 206 may determine one or more probabilities for each of the capitalized target sentences (e.g., E) according to information including, but not necessarily limited to, capitalization information from the capitalized input sentence (e.g., F). The capitalizer module 206 may combine the probabilities to select the best capitalized sentence (e.g., E*) according to the combined probabilities. The capitalizer module 206 may include components, such as a capitalized sentence generator 302, an aligner 304, a capitalization feature component 306, and a probability combiner 308. Although the capitalizer module 206 is described in FIG. 3 as including various components, fewer or more components may comprise the capitalizer module 206 and still fall within the scope of various embodiments.
The capitalized sentence generator 302 receives the lowercase target sentence (e.g., e), for example, from the automatic translator module 204. The capitalized sentence generator 302 is configured to generate one or more capitalization configurations that may be consistent with the lowercase target sentence, comprising a set of possible capitalized target sentences (e.g., E).
According to an exemplary embodiment, the one or more capitalization configurations may be generated according to a function, such as the function GEN(e). The capitalized target sentence (e.g. E) may be a capitalization configuration selected from the one or more capitalization configurations returned by the function (e.g., GEN(e)).
For example, the function GEN may generate a set of capitalization candidate words from a lowercase word, such as a lowercase word designated by w. For example, where the lowercase word w=“mt,” then GEN(mt)={mt, mT, Mt, MT}.
Heuristics may be used to reduce the range of capitalization candidate words generated by the function (e.g., GEN), according to exemplary embodiments. An example of heuristics includes:
The returned set of GEN on the lowercase words w comprises the union of:
(i) {w,AU(w), IU(w)}
(ii) {v|v is seen in training data and AL(v)=w}
(iii) {{tilde over (F)}m,k|AL({tilde over (F)}m,k)=AL(w)}
The heuristic (iii) may provide candidates in addition to the heuristic (i) and (ii), for the lowercase word (e.g., w) when translated from a strange input word, such as {tilde over (F)}m,k in a phrase {tilde over (F)}m, of the capitalized input sentence (e.g., F) that is aligned to a phrase that the lowercase word (e.g., w) is in, or comprises. For example, the heuristic (iii) may be used to create capitalization candidates for the translation of URLs, file names, and file paths. The function, such as GEN, may be applied to each of the lowercase words (e.g., w) in the lowercase target sentence (e.g., e) to generate a set of all possible capitalized target sentences (e.g., E).
The aligner 304 receives the capitalized input sentence, and a capitalized target sentence(s) (e.g., E). Optionally, the aligner 304 may receive the lowercase target sentence (e.g., e). The sentences may be comprised of one or more phrases, as discussed herein. For example, an English sentence, “The red door is closed.” may be parsed into the phrases “The red door” and “is closed.” An equivalent sentence in German “Die rote Tür ist zu” may be parsed into the phrases, “Die rote Tür” and “ist zu.” The phrase “The red door” may be aligned with the phrase “Die rote Tür” and the phrase “is closed” may be aligned with the phrase “ist zu.”
The aligner 304 may be configured to associate phrases from the capitalized input sentence with phrases from a capitalized target sentence(s) (e.g., E) generated by the function, such as the function GEN, and output an alignment, designated as “A” in FIG. 3. For example the aligner 304 may associate the phrase “The red door” with the phrase “Die rote Tür.” Any methods of obtaining phrase boundaries and the alignment (e.g., A), such as with a statistical phrase-based automatic translation system, may be employed.
Optionally, the capitalized input sentence is aligned with the lowercase target sentence. The capitalized target sentence(s) (e.g., E) may preserve the alignment between the capitalized input sentence (e.g., F) and the lowercase target sentence (e.g., e). The phrase alignment (e.g., A) may be used by the capitalization feature component 306 to determine probabilities of one or more feature functions that a capitalized target sentence(s) (e.g., E) is the best capitalized sentence (e.g., E*).
In various embodiments, a probability that a capitalized target sentence is the best capitalized sentence (e.g., E*) may be determined according to a conditional random field probabilistic model. According to an exemplary embodiment, the probability of the capitalized target sentence E, given the capitalized input sentence and the alignment may be represented as a probability function, such as p(E|F,A). The probability function (e.g., p(E|F,A)) may be determined from information including information from the capitalized input sentence and the alignment between the capitalized input sentence and the capitalized target sentence(s) (e.g., E) comprising one of the one or more capitalization configurations of the lowercase target sentence (e.g., e).
For example, the best capitalized sentence (e.g., E*) may be found from generating all the possible capitalization configurations from the lowercase target sentence and determining the capitalized target sentence(s) with the highest probability, for p(E|F,A). The best capitalized sentence (e.g., E*) may be generated utilizing the relation:
E*=arg maxEεGEN (e)p(E|F,A)
However, any method for generating the best capitalized sentence may be utilized according to some embodiments.
The capitalization feature component 306 is configured to calculate probabilities, as discussed herein. The capitalization feature component 306 can calculate probabilities for one or more feature functions, such as ƒi(E,F,A), for a capitalized target sentence according to the capitalized input sentence and the alignment. According to an exemplary embodiment, “i” represents the ith feature function. The capitalization feature component 306 can output the one or more feature functions, such as ƒi(E,F,A), for the capitalized target sentence(s) (e.g., E).
The probability combiner 308 can then combine the one or more feature functions, such as ƒi(E,F,A), and calculate the best capitalized sentence (e.g., E*). In various embodiments, the probability combiner 308 sums the probabilities for the one or more feature functions (e.g., ƒi(E,F,A)) together. The probability combiner 308 can then calculate a weighted sum of the probabilities for the one or more feature functions. For example, the probability combiner 308 may calculate a weighted sum according to the relation:
p
λ
_
(
E
❘
F
,
A
)
=
1
Z
(
F
,
A
,
λ
_
)
exp
(
∑
i
=
1
I
λ
i
f
i
(
E
,
F
,
A
)
)
(
2
)
where:
Z
(
F
,
A
,
λ
_
)
=
∑
E
∈
GEN
(
e
)
exp
(
∑
i
=
1
I
λ
i
f
i
(
E
,
F
,
A
)
)
(
3
)
and λ=(λi, . . . , λl) is a feature weight vector. The capitalizer module 206 can utilize the relation to look for the best capitalized sentence (e.g., E*), according to an exemplary embodiment. For example, the best capitalized sentence (e.g., E*) may satisfy the relation:
E
*
=
arg
max
E
∈
GEN
(
e
,
F
)
∑
i
=
1
I
λ
i
f
i
(
E
,
F
,
A
)
(
4
)
For each capitalized target sentence (e.g., E), the one or more feature functions (e.g., ƒi(E,F,A)) may be weighted by a specific weight, such as λi, where i=1 . . . I, for the various feature functions and associated weights, respectively.
The probability combiner 308 receives one or more values returned by the one or more feature functions and applies the respective weight (e.g., λi). Capitalization information in the capitalized input sentence (e.g., F) may be associated with the respective weight (e.g., λi). The probability combiner 308 can sum the weighted feature functions, such as λiƒi(E,F,A)) for all feature functions (e.g., i, where i=1 . . . I) to determine the probability for the capitalized target sentence(s), According to an exemplary embodiment, the probability combiner 308 can select the capitalized target sentence(s) (e.g., E) with the best probability as the best capitalized sentence (e.g., E*).
FIG. 4 is a schematic diagram illustrating an exemplary alignment of two sentences, such as by using the aligner 304. The aligner 304 may be configured to operate on the capitalized input sentence and the capitalized target sentence(s), such as the capitalized target sentence E generated by the function GEN(e), to determine the alignment (e.g., A). One or more phrase boundaries may be denoted by the square brackets 410.
A vertex 412 corresponds to a word in the capitalized input sentence and the capitalized target sentence E (e.g., “Cliquez” in F, and “OK” in E). A line 414 may connect a word in the capitalized input sentence and a word in the capitalized target sentence (e.g., “Cliquez”—“Click”) and correspond to a word alignment. According to an exemplary embodiment, an edge 416 between two words in the capitalized target sentence(s) (e.g., E) represents the dependency between the two words captured by monolingual n-gram language models. For example, if a source phrase (designated “{tilde over (F)}j,” in FIG. 4) is the jth phrase of the capitalized input sentence (e.g., F) and the target phrase (designated “{tilde over (E)}k,” in FIG. 4) is the kth phrase of the capitalized target sentence (e.g., E), they may align to each other.
The alignment does not require word alignment, but a word in the target phrase (e.g., {tilde over (E)}k) may be aligned to any word in the source phrase (e.g., {tilde over (F)}j). A probabilistic model defined on a diagram, such as the diagram of FIG. 4, may be referred to as a conditional random field (CRF). A capitalization model using the CRF may be represented by the relation given in equation (2), (3), and (4), discussed herein, where each feature function (e.g., ƒi(E,F,A)) may be defined on the kth target word (e.g., Ek) of the kth target phrase (e.g., {tilde over (E)}k) of the capitalized target sentence(s) (e.g., E), relative to the jth source word (e.g., Fj) of the jth source phrase (e.g., {tilde over (F)}j), where the target phrase (e.g., {tilde over (E)}k) and the source phrase (e.g., {tilde over (F)}j) are aligned.
FIG. 5 is a block diagram illustrating an exemplary capitalization feature component 306 of FIG. 3. The capitalization feature component 306 comprises a capitalized translation model feature 502, a capitalization tag model feature 504, an uppercase translation model feature 508, a monolingual language model feature 506, an initial position model feature 510, and a punctuation model feature 512. Although FIG. 5 describes various model features comprising the capitalization feature component 306, fewer or more model features may comprise the capitalization feature component 306 and still fall within the scope of various embodiments.
The capitalized translation model feature 502 includes a feature function, such as ƒcap.t1(Ek,F,A). According to the feature function, the larger the probability that a target word (e.g., Ek) is translated from a source word (e.g., Fj), the larger the probability that the translated word preserves the case of the source word. Referring to the example of FIG. 4, the phrase “Click OK” is part of the target phrase (e.g., {tilde over (E)}k), in the capitalized target sentence(s) (e.g., E). As illustrated in FIG. 4, the phrase “Cliquez OK” is the source phrase (e.g., {tilde over (F)}j), in the capitalized input sentence (e.g., F) and the source phrase (e.g., {tilde over (F)}j) is aligned to the target phrase (e.g., {tilde over (E)}k). The capitalized translation model feature 502 computes, for example, a word probability (e.g., p(Ek|{tilde over (F)}m,n)) of “Click.” The word probability may be computed by an equation, such as log p(Click|Cliquez)+log p(Click|OK), for instance. “Click” may be assumed to be aligned to any word in the source phrase (e.g., {tilde over (F)}j). The larger the probability that “Click” is translated from a word in the source phrase, i.e., “Cliquez,” the more chances that “Click” preserves the case of “Cliquez” in the target phrase (e.g., {tilde over (E)}k).
According to an exemplary embodiment, for the translated word (Ek) and an aligned phrase pair, such as {tilde over (E)}k and {tilde over (F)}m, where Ekε{tilde over (E)}l, the capitalized translation model feature 502 of the translated word (Ek) comprises the feature function represented by the relation:
f
cap
.
t
1
(
E
k
,
F
,
A
)
=
log
∑
n
=
1
F
~
m
p
(
E
k
❘
F
~
m
,
n
)
(
5
)
where the probability (e.g., p(Ek|{tilde over (F)}m,n)) may be determined according to a capitalized translation table. The capitalized translation table, such as for the probability p(Ek|{tilde over (F)}m,n), may be smoothed according to well known techniques to avoid negative infinite values for the feature function (e.g., ƒcap.t1(Ek,F,A)).
In some embodiments, the capitalized translation table, such as for the probability p(Ek|{tilde over (F)}m,n), may be estimated from a word-aligned bilingual corpus. The capitalized translation model feature 502 may output the feature function (e.g., ƒcap.t1(Ek,F,A)) to the probability combiner 308. The probability combiner 308 may apply a feature weight, such as λcap.t1, to the feature function (e.g., ƒcap.t1(Ek,F,A)) and accumulate a weighted feature function (e.g., λcap.t1ƒcap.t1(Ek,F,A)), according to equation (4).
The capitalization tag model feature 504 may be used to associate tags with words to indicate capitalization. Examples of capitalization tags include: initial capital (IU), all characters uppercase (AU), all characters lowercase (AL), mixed case (MX), and all characters having no case (AN). For example, lowercase words in a lowercase sentence e “click ok to save your changes to /home/doc” may be associated with tags to give the output sentence “click IU ok AU to AL save AL your AL changes AL to AL /home/doc MX.AN.” A corresponding capitalized target sentence E may state “Click OK to save your changes to /home/DOC.”
In some embodiments, the capitalization tag model feature 504 includes a tag feature function, such as ƒcap.tag.t1.(E,F,A). The capitalization tag feature function (e.g., ƒcap.tag.t1.(E,F,A)) may be based on the capitalization tag for the aligned phrases in the capitalized input sentence and the capitalized target sentence. Referring to the example of FIG. 4, a probability of the word “Click” aligning to the phrase “Cliquez OK” may be represented as log(p(IU|IU)p(click|cliquez))+log(p(IU|AU)p(click|ok)). The probability may be computed in terms of a tag translation probability, such as p(IU|AU), and a lowercase word translation probability, such as p(click|ok), for example.
The lowercase word translation probability may be used to determine how much of the tag translation probability will contribute to the calculation of the best capitalized sentence (e.g., E*). A smaller value of the word translation probability (e.g., p(click|ok)) typically results in a smaller chance that the surface form of “click” preserves the case information from that of “ok” in the input capitalized sentence (e.g., F). This feature may be represented by the equation:
f
cap
.
tag
.
t
1
(
E
k
,
F
,
A
)
=
log
∑
n
=
1
f
~
m
p
(
e
k
❘
f
~
m
,
n
)
×
p
(
τ
(
E
k
)
❘
τ
(
F
~
m
,
n
)
)
(
6
)
where p(ek|{tilde over (ƒ)}m,n) may be determined according to a translation table (t-table) over lowercase word pairs, such as a t-table in a statistical automatic translation system. The term p(τ(Ek)|τ({tilde over (F)}m,n)) may be determined according to the probability of a target capitalization tag, given a source capitalization tag, and may be estimated from a word-aligned bilingual corpus, according to an exemplary embodiment.
The capitalization tag model feature 504 provides additional probability information to the probability combiner 308, for example, when a capitalized word pair is unseen. For example, word pairs that have not previously been observed co-occurring in a sentence pair (e.g., unseen words pairs) may comprise words without a one to one translation equivalent. In some embodiments, the term p(ek|{tilde over (ƒ)}m,n) and/or p(τ(Ek)|τ({tilde over (F)}m,n)) may be smoothed to handle unseen words or unseen word pairs. The capitalization tag model feature 504 outputs the tag feature function (e.g., ƒcap.tag.t1(E,F,A)). According to an exemplary embodiment, the probability combiner 308 may apply a feature weight (e.g. λcap.tag.t1) to the feature function (e.g., ƒcap.t1(Ek,F,A)) and accumulate a tag weighted feature function (e.g., λcap.tag.t1ƒcap.t1(Ek,F,A)), such as by utilizing equation (4). However, any process for obtaining a weighted probability for capitalization may be employed.
The monolingual language model feature 506 comprises a monolingual feature function, such as ƒLM(Ek,F,A). The monolingual language model feature 506 may ignore information available from the capitalized input sentence F and the alignment A. The monolingual language model feature 506 may compute a probability, such as p(Ei|Ei−1, . . . , Ei−n+1), of an occurrence of the translated word (Ek) according to the logarithm of the probability of an n-gram ending at the translated word (Ek). The monolingual feature function ƒLM(Ek,F,A) may be represented, According to an exemplary embodiment, as:
ƒLM(Ei,F,A)=log p(Ei|Ei−1, . . . ,Ei−n+1) (7)
The probability (e.g., p(Ei|Ei−1, . . . , Ei−n+1)) may be appropriately smoothed such that p(Ei|Ei−1, . . . , Ei−n+1) never returns zero.
The monolingual language model feature 506 outputs the monolingual feature function (ƒLM(Ek,F,A)), to the probability combiner 308, for example. The probability combiner 308 can apply the feature weight, such as λLM, to the monolingual feature function and accumulate a weighted feature function, such as λLMƒLM(Ek,F,A), according to equation (4), for example.
The uppercase translation model feature 508 comprises an uppercase feature function, such as ƒUC(Ek,F,A). The uppercase translation model feature 508 is configured to receive the capitalized input sentence (e.g., F), the capitalized target sentence(s) (e.g., E), and the alignment (e.g., A), and output the uppercase feature function (e.g., ƒUC(Ek,F,A)). The translated word (e.g., Ek) may be in all uppercase if the words in a corresponding phrase, such as the source phrase (e.g., {tilde over (F)}j) discussed in FIG. 4, of the capitalized input sentence are in uppercase.
The uppercase translation model feature 508 may be captured by the capitalization tag model feature 504, for example, where the probability of a tag, such as an AU tag, in the capitalized input sentence is preserved in the target capitalized sentence(s). However, in some embodiments, the uppercase translation model feature 508 further enhances the probability of the target capitalized sentence.
The uppercase translation model feature 508 increases the probability, for example, to translate “ABC XYZ” in the capitalized input sentence (e.g., F) into “UUU VVV” in the best capitalized sentence (e.g., E*), even if all words are unseen. The uppercase translation model feature 508 outputs the uppercase feature function (e.g., ƒUC(Ek,F,A)). The probability combiner 308 may apply a feature weight, such as λUC, to the uppercase feature function and accumulate the weighted feature function λUCƒUC(Ek,F,A), for example, according to equation (4).
The initial position model feature 510 comprises an initial position feature function, such as ƒIP(Ek,F,A). The initial position model feature 510 is configured to receive the capitalized target sentence(s) (e.g., E) and output the feature function (e.g., ƒIP(Ek,F,A)). The initial position model feature 510 may ignore information available from the capitalized input sentence (e.g., F) and the alignment (e.g., A). The translated word (e.g., Ek) in the capitalized target sentence(s) may be initially capitalized if it is the first word that contains letters in the capitalized target sentence. For example, for a sentence “• Please click the button” that starts with a bullet, the initial position feature value of the word “please” is 1 because the bullet (“•”) does not contain a letter. The initial position model feature 510 outputs the initial position feature function (e.g., ƒIP(Ek,F,A)). The probability combiner 308 may apply a feature weight, such as λIP, to the feature function and accumulate a weighted feature function, such as λIPƒIP(Ek,F,A), utilizing, for example, equation (4).
The punctuation model feature 512 includes a punctuation feature function, such as ƒP(Ek,F,A). The punctuation model feature 512 is configured to receive the capitalized target sentence and output the feature function (e.g., ƒP(Ek,F,A)). The punctuation model feature 512 may ignore information available from the capitalized input sentence and the alignment. The translated word (e.g., Ek) may initially be capitalized if the translated word follows a punctuation mark, for example. For non-sentence-ending punctuation marks, such as a comma, a colon, and the like, a negative feature weight, such as λPw, may be applied to the translated word. The punctuation model feature 512 outputs the punctuation feature function (e.g., ƒP(Ek,F,A)). The probability combiner 308 may apply a feature weight, such as λP, to the punctuation feature function and accumulates a feature function, such as λPƒP(Ek,F,A), according to equation (4), for example.
Although various feature functions have been described in FIG. 5, fewer or more feature functions may be provided for generating a best capitalized sentence (e.g., E*) and still fall within the scope of various embodiments. Further, the equations described herein are exemplary and other equations utilized for generating the best capitalized sentence may vary or differentiate from the exemplary equations set forth herein and still fall within the scope of various embodiments.
FIG. 6 is a flow diagram illustrating a process 600 for capitalizing translated text, such as by using a bilingual capitalization model. At step 602, a capitalized source text from a source language is translated to a target text in a target language.
As discussed herein, the source text may be translated in units of a capitalized sentence in a source language or a capitalized input sentence (F). The target text output of the translation may include a lowercase sentence e. For clarity, the process is described as operating on text strings in units of “sentences.” However, text strings in any arbitrary lengths or units may be utilized in the process of capitalizing the translated text.
Automatic translation of the capitalized input sentence (F) may be performed by any of a number of techniques, such as statistical automatic translation, statistical phrase-based automatic translation, 1-gram automatic translation, n-gram automatic translation, syntax-based automatic translation, and so forth.
According to an exemplary embodiment, the automatic translation of the capitalized input sentence (e.g., F) to the lowercase target sentence (e.g., e) may be performed in the automatic translation server 106, by using the case remover module 202 to generate a lowercase source sentence (e.g., ƒ) and by using the automatic translator module 204 to translate the lowercase source sentence to the lowercase target sentence.
At step 604, the target text is capitalized according to information in the capitalized source text. For example, the target text may be capitalized by the capitalizer module 206 of the automatic translation server 106 as described elsewhere herein. According to an exemplary embodiment, the capitalizer module 206 may receive the capitalized input sentence, the lowercase target sentence, and the lowercase source sentence. The capitalizer module 206 may generate one or more capitalization configurations and select the best capitalization configuration (e.g., the best capitalized sentence (E*)) according to information in the capitalized input sentence (e.g., F).
Various exemplary embodiments are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations are covered by the above teachings and within the scope of the appended claims without departing from the spirit and intended scope thereof. For example, additional model features for computing weighted feature functions (e.g., λiƒi(Ei,F,A)), according to information about text and/or alignment may be applied or a model feature may be configured to apply negatively weighted probabilities to capitalized nouns, in a source language where all nouns are capitalized (e.g., German) when translated to a target language where only proper nouns are capitalized, (e.g., English). As another example, an embodiment of the capitalization model may include a syntax-based MT, rather a than phrase-based statistical MT translation system. The syntax based MT may include a description of the translational correspondence within a translation rule, or a synchronous production, rather than a translational phrase pair: Training data may be derivation forests, instead of a phrase-aligned bilingual corpus.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. For example, any of the elements associated with the automatic translation server 106 may employ any of the desired functionality set forth hereinabove. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments.
1. A method for capitalizing translated text comprising:
executing a translator module stored on a device to automatically translate a capitalized source text to a target text, wherein prior to translation the capitalized source text is converted to lower case and then translated; and
capitalizing the target text according to capitalization information in the capitalized source text and the target text, wherein the step of capitalizing the target text according to capitalization information in the capitalized source text includes:
generating one or more capitalization configurations for the target text;
computing a configuration probability for each of the one or more capitalization configurations, the configuration probability computed from capitalization information in the capitalized source text and at least one capitalization model feature function based on an alignment between the capitalized source text and the target text or the capitalized source text and the capitalization configuration; and
selecting the best capitalization configuration based on the highest configuration probability.
2. The method of claim 1 further comprising capitalizing the target text according to the translated target text.
3. The method of claim 1 further comprising capitalizing the target text using conditional random fields.
4. The method of claim 1 wherein the step of capitalizing the target text further comprises:
assigning the computed configuration probability to each respective one or more capitalization configurations,
wherein the configuration probability is computed for the one or more capitalization configurations.
5. The method of claim 4 wherein the at least one capitalization model feature function includes a capitalized translation model feature function.
6. The method of claim 4 wherein the at least one capitalization model feature function includes a capitalization tag model feature function.
7. The method of claim 4 wherein the at least one capitalization model feature function includes an uppercase model feature function.
8. The method of claim 4 wherein the at least one capitalization model feature function includes a monolingual language model feature function.
9. The method of claim 4 wherein the at least one capitalization model feature function includes an initial position model feature function.
10. The method of claim 4 wherein the at least one capitalization model feature function includes a punctuation model feature function.
11. The method of claim 4, further including:
selecting a source phrase from the capitalized source text;
selecting a target phrase from the target text;
determining an alignment between the source phrase and the target phrase;
computing a word probability from capitalization information in the source phrase, the alignment, and the at least one capitalization model feature function for the one or more capitalization configurations; and
applying the word probability to the computing of the configuration probability.
12. The method of claim 11 wherein the at least one capitalization model feature function includes a capitalized translation model feature function.
13. The method of claim 11 wherein the at least one capitalization model feature function includes a capitalization tag model feature function.
14. The method of claim 11 wherein the at least one capitalization model feature function includes an uppercase model feature function.
15. A translation system comprising:
a device;
an automatic translator module executable and stored on the device and configured to automatically convert a capitalized source text to lower case text and translate the lower case text to a target text; and
a capitalization module configured to recover a capitalized text from the target text according to capitalization information in the capitalized source text and the target text, and capitalize the target text, the capitalization of the target text including:
generating a plurality of capitalization configurations for the target text;
for each capitalization configuration, computing a feature probability for each of a plurality of capitalization model feature functions;
associating a feature weight with each capitalization model feature function;
applying the associated feature weight to the respective computed feature probability for each of the plurality of capitalization model feature functions;
for each capitalization configuration, calculating a capitalization configuration probability based on a weighted sum of the computed feature probabilities and applied feature weights, and based on an alignment between the capitalized source text and the target text or the capitalized source text and the capitalization configuration; and
selecting the best capitalization configuration from the plurality of capitalization configurations based on the highest calculated capitalization configuration probability.
16. The translation system of claim 15, wherein the capitalization module is further configured to recover the capitalized text from the source text.
17. A translation system comprising:
a device;
an automatic translator module executable and stored on the device and configured to automatically convert a capitalized source text to lower case text and translate the lower case text to a target text;
an aligner configured to determine an alignment between one or more phrases in the capitalized source text and one or more respective phrases in the target text of a capitalization configuration; and
a capitalization module configured to recover a capitalized text from the target text according to capitalization information in the capitalized source text and the target text and the alignment determined by the aligner, and to capitalize the target text,
the capitalization of the target text including:
generating a plurality of capitalization configurations for the target text;
for each capitalization configuration, computing a feature probability for each of a plurality of capitalization model feature functions;
associating a feature weight with each capitalization model feature function;
applying the associated feature weight to the respective computed feature probability for each of the plurality of capitalization model feature functions;
for each capitalization configuration, calculating a capitalization configuration probability based on a weighted sum of the computed feature probabilities and applied feature weights, and based on the alignment between the one or more phrases in the capitalized source text and the one or more phrases in the target text or between the capitalized source text and the capitalization configuration;
assigning the calculated capitalization configuration probability to each respective capitalization configuration; and
selecting the best capitalization configuration from the plurality of capitalization configurations based on the highest calculated capitalization configuration probability.
18. The translation system of claim 17 wherein the capitalization module further includes a capitalized translation model feature function.
19. The translation system of claim 17 wherein the capitalization module further includes a capitalization tag model feature function.
20. The translation system of claim 17 wherein the capitalization module further includes an uppercase model feature function.
21. The translation system of claim 17 wherein the capitalization module further includes a monolingual language model feature function.
22. The translation system of claim 17 wherein the capitalization module further includes an initial position model feature function.
23. The translation system of claim 17 wherein the capitalization module further includes a punctuation model feature function.
24. A computer program embodied on a non-transitory computer readable medium having instructions for capitalizing translated text, comprising:
executing a translator module stored on a device to automatically translate a capitalized source text to a target text, the translation of the capitalized source text including converting source text to lower case and translating the lower case source text; and
capitalizing the target text according to capitalization information in the capitalized source text, the step of capitalizing the target text according to the capitalized source text including:
generating one or more capitalization configurations for the target text;
computing a configuration probability for each of the one or more capitalization configurations, the configuration probability computed from capitalization information in the capitalized source text and at least one capitalization model feature function based on an alignment between the capitalized source text and the target text or the capitalized source text and the capitalization configuration; and
selecting the best capitalization configuration based on the highest computed configuration probability.