Source: http://www.patentsencyclopedia.com/app/20160085748
Timestamp: 2018-12-15 00:21:09
Document Index: 120618844

Matched Legal Cases: ['art.\n3', 'art.\n4', 'art 151', 'art 152', 'art 151', 'art 152', 'art 151', 'art 152', 'art 152', 'art 152', 'art 151', 'art 152', 'art 151', 'art 152', 'art 151', 'art 151', 'art 151', 'art 151', 'art 151', 'art 151', 'art 151', 'art 152', 'art 152', 'art 152', 'art 151', 'art 151', 'art 151', 'art 151', 'art 151', 'art 152']

TRANSLATION WORD ORDER INFORMATION OUTPUT APPARATUS, TRANSLATION WORD ORDER INFORMATION OUTPUT METHOD, AND STORAGE MEDIUM - Patent application
Patent application title: TRANSLATION WORD ORDER INFORMATION OUTPUT APPARATUS, TRANSLATION WORD ORDER INFORMATION OUTPUT METHOD, AND STORAGE MEDIUM
Inventors: Isao Goto (Tokyo, JP)
Patent application number: 20160085748
A translation word order information output apparatus includes: a sentence storage for storing a source language sentence; a weight vector storage for storing a weight vector; a receiving unit that receives a current word position of a current word that is currently being translated; a candidate acquiring unit that acquires the current word position and one or more next word position candidates, each being a candidate for a word that is to be translated following the current word, from the source language sentence; a vector acquiring unit that acquires a vector having elements, using the current word, a next word candidate, and the source language sentence; and a probability information acquiring unit that acquires probability information regarding a probability that a word at that next word position candidate is a next word to be translated following the current word, using the vector and the weight vector.
1. A translation word order information output apparatus, comprising: a sentence storage unit in which a source language sentence, which is a sentence in a source language that is to be translated, is stored; a weight vector storage unit in which a weight vector indicating a weight of each element of a vector is stored; a receiving unit that receives a current word position, which is one word position in the source language sentence and is a position of a word that is currently being translated; a candidate acquiring unit that acquires the current word position and one or more next word position candidates, each of which is a position of a word that is a candidate for a word that is to be translated following the current word, from the source language sentence; a vector acquiring unit that acquires a vector having two or more elements, discriminatively using a current word indicated by the current word position, a next word candidate indicated by each of the next word position candidates, and one or more intermediate words, each of which is a word between the current word and the next word candidate; a probability information acquiring unit that acquires, for each of the one or more next word position candidates acquired by the candidate acquiring unit, probability information regarding a probability that a word at that next word position candidate is a next word that is to be translated following the current word, using the vector acquired by the vector acquiring unit and the weight vector; and an output unit that outputs the probability information acquired by the probability information acquiring unit.
2. The translation word order information output apparatus according to claim 1, wherein the vector acquiring unit includes: a source information acquiring part that acquires source information having the current word, one or more current word-surrounding words including a word immediately before the current word or a word immediately after the current word, the next word candidate, one or more next word-surrounding words including a word immediately before the next word candidate or a word immediately after the next word candidate, word order information, which is information regarding a relative word order between the current word and the next word candidate in the source language sentence, distance information, which is information regarding a distance between the current word and the next word candidate in the source language sentence, and one or more intermediate words, each of which is a word between the current word and the next word candidate; and a vector acquiring part that acquires a vector having two or more elements, using the source information acquired by the source information acquiring part.
3. The translation word order information output apparatus according to claim 1, wherein the vector acquiring unit includes: a source information acquiring part that acquires source information having the current word, one or more current word-surrounding words including a word immediately before the current word or a word immediately after the current word, the next word candidate, one or more next word-surrounding words including a word immediately before the next word candidate or a word immediately after the next word candidate, word order information, which is information regarding a relative word order between the current word and the next word candidate in the source language sentence, and distance information, which is information regarding a distance between the current word and the next word candidate in the source language sentence; and a vector acquiring part that acquires a vector having two or more elements, using the source information acquired by the source information acquiring part.
4. A machine translation apparatus, comprising: a word pair dictionary in which two or more word pairs, each of which is a pair of a word in a source language and a word in a target language, are stored; the translation word order information output apparatus according to claim 1; a target language word acquiring unit that determines a next word from the probability information of the one or more next word candidates output by the translation word order information output apparatus, and acquires a word in the target language corresponding to the next word from the word pair dictionary; a target language sentence constructing unit that constructs a target language sentence from one or more words in the target language acquired by the target language word acquiring unit; and a target language sentence output unit that outputs the target language sentence constructed by the target language sentence constructing unit.
5. A machine translation apparatus, comprising: a word pair dictionary in which two or more word pairs, each of which is a pair of a word in a source language and a word in a target language, are stored; the translation word order information output apparatus according to claim 2; a target language word acquiring unit that determines a next word from the probability information of the one or more next word candidates output by the translation word order information output apparatus, and acquires a word in the target language corresponding to the next word from the word pair dictionary; a target language sentence constructing unit that constructs a target language sentence from one or more words in the target language acquired by the target language word acquiring unit; and a target language sentence output unit that outputs the target language sentence constructed by the target language sentence constructing unit.
6. A machine translation apparatus, comprising: a word pair dictionary in which two or more word pairs, each of which is a pair of a word in a source language and a word in a target language, are stored; the translation word order information output apparatus according to claim 3; a target language word acquiring unit that determines a next word from the probability information of the one or more next word candidates output by the translation word order information output apparatus, and acquires a word in the target language corresponding to the next word from the word pair dictionary; a target language sentence constructing unit that constructs a target language sentence from one or more words in the target language acquired by the target language word acquiring unit; and a target language sentence output unit that outputs the target language sentence constructed by the target language sentence constructing unit.
7. A learning apparatus, comprising: a weight vector storage unit in which a weight vector indicating a weight of each element of a vector is stored; a parallel corpus storage unit in which a parallel corpus composed of two or more pairs of original and translated sentences, each of which is a pair of a source language sentence and a target language sentence, is stored; a word alignment information storage unit in which word alignment information, which is information indicating a correspondence between a word forming a source language sentence and a word forming a target language sentence, is stored; a learning unit that acquires a current word position, which is a position of a current word, and a next word position, which is a position of a next word, of each target language sentence while moving the current word of that target language sentence from left to right, in each of two or more target language sentences contained in the two or more pairs of original and translated sentences, acquires a current word position indicating a position of a current word, a next word position indicating a position of a next word, and all next word position candidates other than the next word position in each source language sentence corresponding to a current word position and a next word position in each target language sentence, using the word alignment information, acquires one or at least two features regarding a current word position, a next word position, and all next word position candidates in each source language sentence, and determines a weight vector so as to maximize the entropy, using the acquired features, thereby acquiring the weight vector; and a weight vector accumulating unit that accumulates the weight vector acquired by the learning unit, in the weight vector storage unit.
8. A translation word order information output method, using a storage medium having a sentence storage unit in which a source language sentence, which is a sentence in a source language that is to be translated, is stored, and a weight vector storage unit in which a weight vector indicating a weight of each element of a vector is stored, and realized by a receiving unit, a candidate acquiring unit, a vector acquiring unit, a probability information acquiring unit, and an output unit, the method comprising: a receiving step of the receiving unit receiving a current word position, which is one word position in the source language sentence and is a position of a word that is currently being translated; a candidate acquiring step of the candidate acquiring unit acquiring the current word position and one or more next word position candidates, each of which is a position of a word that is a candidate for a word that is to be translated following the current word, from the source language sentence; a vector acquiring step of the vector acquiring unit acquiring a vector having two or more elements, using a current word indicated by the current word position, a next word candidate indicated by each of the next word position candidates, and the source language sentence; a probability information acquiring step of the probability information acquiring unit acquiring, for each of the one or more next word position candidates acquired in the candidate acquiring step, probability information regarding a probability that a word at that next word position candidate is a next word that is to be translated following the current word, using the vector acquired in the vector acquiring step and the weight vector; and an output step of the output unit outputting the probability information acquired in the probability information acquiring step.
9. A storage medium in which a program is stored, the program causing the storage medium to have a sentence storage unit in which a source language sentence, which is a sentence in a source language that is to be translated, is stored, and a weight vector storage unit in which a weight vector indicating a weight of each element of a vector is stored, and causing a computer to execute: a receiving step of receiving a current word position, which is one word position in the source language sentence and is a position of a word that is currently being translated; a candidate acquiring step of acquiring the current word position and one or more next word position candidates, each of which is a position of a word that is a candidate for a word that is to be translated following the current word, from the source language sentence; a vector acquiring step of acquiring a vector having two or more elements, using a current word indicated by the current word position, a next word candidate indicated by each of the next word position candidates, and the source language sentence; a probability information acquiring step of acquiring, for each of the one or more next word position candidates acquired in the candidate acquiring step, probability information regarding a probability that a word at that next word position candidate is a next word that is to be translated following the current word using the vector acquired in the vector acquiring step and the weight vector; and an output step of outputting the probability information acquired in the probability information acquiring step.
[0001] The present invention relates to a translation word order information output apparatus and the like for assisting determination of the word order in translation.
[0002] Major issues in machine translation are word selection and word order estimation. For example, since statistical translation has high performance for word selection, a current major issue in statistical translation is word order estimation. In phrase-based statistical translation, which is one of machine translation methods, there is a typical translation algorithm in which a sentence in a target language is continuously generated from left (beginning of sentence) to right (end of sentence). In this case, in a state where a position (CP) at which translation is currently being performed in an input sentence is known, a position (NP) at which translation is to be performed next in the input sentence has to be estimated. Examples of the CP and the NP are shown in FIG. 11. Note that the CP refers to a position at which translation is currently being performed in an input sentence, and may be considered as a word at that position. Hereinafter, the word at that position is referred to as a current word as appropriate. The NP refers to a position at which translation is to be performed next in the input sentence, and may be considered as a word at that position. Hereinafter, the word at that position is referred to as a next word as appropriate.
[0003] In conventional techniques, an NP is estimated mainly based on a lexical reordering model (see Non-Patent Document 1, for example). The lexical reordering model calculates a probability of a relationship with an NP among monotone, swap, and discontinuous. Monotone refers to a relationship in which the CP and the NP are continuous, swap refers to a relationship in which the word order between the CP and the NP is switched around, and discontinuous refers to a relationship in which the CP and the NP are discontinuous (see FIG. 12).
[0004] Furthermore, a technique has been proposed that estimates an NP using a model for estimating a distortion class probability (see Non-Patent Document 2, for example). In this conventional technique, a distance to an NP is estimated using a word at a CP and its surrounding words. The distance is expressed using a distortion class. If a CP is taken as i and an NP candidate is taken as j, distortion is defined as j-i-1. Non-Patent Document 2 describes the distortion class as nine classes for classifying distortion as follows: (-∞, -8), [-7, -5], [-4, -3], -2, 0, 1, [2, 3], [4, 6], and [7, ∞]. Note that distortion, distortion classes, and the like are examples of information on a distance and a relative word order between a CP and an NP candidate described later.
[0005] Also, it has been proposed to use a model that, using a word at an NP candidate and its surrounding words, estimates a probability indicating how far the CP has to be from the NP in the case where the word at that NP candidate is at the NP.
[0006] [Non-Patent Document 1] Christoph Tillman. 2004. A unigram orientation model for statistical machine translation. HLT-NAACL 2004: Short Papers, pages 101-104, Boston, Mass., USA, May 2-May 7. Association for Computational Linguistics.
[0007] [Non-Patent Document 2] Spence Green, Michel Galley, and Christopher D. Manning. 2010. Improved models of distortion cost for statistical machine translation. In Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics, pages 867-875, Los Angeles, Calif., June. Association for Computational Linguistics.
[0008] However, according to conventional translation word order information output apparatuses, in statistical translation, in a state where a position of a word that is currently being translated in a source language sentence is known, it is difficult to accurately determine a position of a word that is to be translated next.
[0009] More specifically, since the lexical reordering model merely uses a probability of "discontinuous" and cannot specify an NP that is far from a CP, it is difficult for this model to precisely perform word order estimation between languages with significantly different word orders.
[0010] Since the model for estimating a distortion class probability does not simultaneously consider a word at a CP and a word at an NP candidate, it is impossible for this model to correctly estimate an NP.
[0011] The problem that the word order estimation is difficult as described above is summarized in FIG. 13. The examples (1) and (2) in FIG. 13 are examples in which an NP cannot be correctly estimated only with a word at a CP and its surrounding words. That is to say, in (1) and (2), a word in the target language corresponding to the word "kare" ("kare" at the CP) in the source language is "he", and a word at the NP is "katta". In order to acquire "katta" at the NP, it is necessary to simultaneously consider the word at the CP and a word at an NP candidate. That is to say, in the examples (1) and (2), it is necessary to simultaneously consider a word at a CP and a word at an NP candidate.
[0012] Furthermore, the examples (3) and (4) in FIG. 13 are examples in which correct estimation cannot be performed only with a word at a CP and a word at an NP candidate. That is to say, in (3), if the word at the CP is "kare", the word at the NP is not "katta" but "karita". In (4), if the word at the CP is "kare", the word at the NP is not "karita" but "katta". That is to say, in the examples (3) and (4), it is necessary to consider a relative word order.
[0013] Furthermore, the examples (4) and (5) in FIG. 13 are examples in which it is not always correct to select a nearby word. In (4), if the word at the CP is "kare", the word at the NP is "katta", whereas, in (5), if the word at the CP is "kare", the word at the NP is "karita". That is to say, in the examples (4) and (5), it is necessary to consider words surrounding a CP and an NP candidate.
[0014] A first aspect of the present invention is directed to a translation word order information output apparatus, including: a sentence storage unit in which a source language sentence, which is a sentence in a source language that is to be translated, can be stored; a weight vector storage unit in which a weight vector indicating a weight of each element of a vector can be stored; a receiving unit that receives a current word position, which is one word position in the source language sentence and is a position of a word that is currently being translated; a candidate acquiring unit that acquires the current word position and one or more next word position candidates, each of which is a position of a word that is a candidate for a word that is to be translated following the current word, from the source language sentence; a vector acquiring unit that acquires a vector having two or more elements, discriminatively using a current word indicated by the current word position, a next word candidate indicated by each of the next word position candidates, and one or more intermediate words, each of which is a word between the current word and the next word candidate; a probability information acquiring unit that acquires, for each of the one or more next word position candidates acquired by the candidate acquiring unit, probability information regarding a probability that a word at that next word position candidate is a next word that is to be translated following the current word, using the vector acquired by the vector acquiring unit and the weight vector; and an output unit that outputs the probability information acquired by the probability information acquiring unit.
[0015] With this configuration, in a state where a position of a word that is currently being translated in a source language sentence is known, a position of a word that is to be translated next can be accurately determined.
[0016] Furthermore, a second aspect of the present invention is directed to the translation word order information output apparatus according to the first aspect, wherein the vector acquiring unit includes: a source information acquiring part that acquires source information having the current word, one or more current word-surrounding words including a word immediately before the current word or a word immediately after the current word, the next word candidate, one or more next word-surrounding words including a word immediately before the next word candidate or a word immediately after the next word candidate, word order information, which is information regarding a relative word order between the current word and the next word candidate in the source language sentence, distance information, which is information regarding a distance between the current word and the next word candidate in the source language sentence, and one or more intermediate words, each of which is a word between the current word and the next word candidate; and a vector acquiring part that acquires a vector having two or more elements, using the source information acquired by the source information acquiring part.
[0017] With this configuration, in a state where a word that is currently being translated in a source language sentence is known, a word that is to be translated next can be accurately determined.
[0018] Furthermore, a third aspect of the present invention is directed to the translation word order information output apparatus according to the first aspect, wherein the vector acquiring unit includes: a source information acquiring part that acquires source information having the current word, one or more current word-surrounding words including a word immediately before the current word or a word immediately after the current word, the next word candidate, one or more next word-surrounding words including a word immediately before the next word candidate or a word immediately after the next word candidate, word order information, which is information regarding a relative word order between the current word and the next word candidate in the source language sentence, and distance information, which is information regarding a distance between the current word and the next word candidate in the source language sentence; and a vector acquiring part that acquires a vector having two or more elements, using the source information acquired by the source information acquiring part.
[0019] With this configuration, in a state where a word that is currently being translated in a source language sentence is known, a word that is to be translated next can be more accurately determined.
[0020] Furthermore, a fourth aspect of the present invention is directed to a machine translation apparatus, including a word pair dictionary in which two or more word pairs, each of which is a pair of a word in a source language and a word in a target language, can be stored; the above-described translation word order information output apparatus; a target language word acquiring unit that determines a next word from the probability information of the one or more next word candidates output by the translation word order information output apparatus, and acquires a word in the target language corresponding to the next word from the word pair dictionary; a target language sentence constructing unit that constructs a target language sentence from one or more words in the target language acquired by the target language word acquiring unit; and a target language sentence output unit that outputs the target language sentence constructed by the target language sentence constructing unit.
[0021] With this configuration, precise machine translation can be performed.
[0022] Furthermore, a fifth aspect of the present invention is directed to a learning apparatus, including: a weight vector storage unit in which a weight vector indicating a weight of each element of a vector can be stored; a parallel corpus storage unit in which a parallel corpus composed of two or more pairs of original and translated sentences, each of which is a pair of a source language sentence and a target language sentence, can be stored; a word alignment information storage unit in which word alignment information, which is information indicating a correspondence between a word forming a source language sentence and a word forming a target language sentence, can be stored; a learning unit that acquires a current word position indicating a position of a current word and a next word position indicating a position of a next word of each target language sentence while moving the current word of that target language sentence from left to right, in each of two or more target language sentences contained in the two or more pairs of original and translated sentences, acquires a current word position indicating a position of a current word, a next word position indicating a position of a next word, and all next word position candidates other than the next word position in each source language sentence corresponding to a current word position and a next word position in each target language sentence, using the word alignment information, acquires one or at least two features regarding a current word position, a next word position, and all next word position candidates in each source language sentence, and determines a weight vector so as to maximize the entropy, using the acquired features, thereby acquiring the weight vector; and a weight vector accumulating unit that accumulates the weight vector acquired by the learning unit, in the weight vector storage unit.
[0023] With this configuration, a weight vector used for performing precise machine translation can be learned.
[0024] According to the translation word order information output apparatus of the present invention, in machine translation, the word order in translation can be accurately determined.
[0025] FIG. 1 is a block diagram of a translation word order information output apparatus 1 in Embodiment 1.
[0026] FIG. 2 is a flowchart illustrating an operation of the translation word order information output apparatus 1 in Embodiment 1.
[0027] FIG. 3 is a diagram showing label sequences in the Sequence model in Embodiment 1.
[0028] FIG. 4 is a block diagram of a machine translation apparatus 2 in Embodiment 2.
[0029] FIG. 5 is a block diagram of a learning apparatus 3 in Embodiment 3.
[0030] FIG. 6 is a flowchart illustrating an operation of the learning apparatus 3 in Embodiment 3.
[0031] FIG. 7 is a table showing experimental results in Embodiment 3.
[0032] FIG. 8 is a graph showing other experimental results in Embodiment 3.
[0033] FIG. 9 is a schematic view of a computer system in the foregoing embodiments.
[0034] FIG. 10 is a block diagram of the computer system in the embodiments.
[0035] FIG. 11 is a diagram showing an example of a CP and an NP in conventional techniques.
[0036] FIG. 12 is a diagram illustrating a lexical reordering model in conventional techniques.
[0037] FIG. 13 is a diagram illustrating problems in conventional techniques.
[0038] Hereinafter, embodiments of a translation word order information output apparatus and the like will be described with reference to the drawings. Note that constituent elements denoted by the same reference numerals perform similar operations in the embodiments, and, thus, a description thereof may not be repeated.
[0039] This embodiment will describe a translation word order information output apparatus with which, in a state where a word that is currently being translated in a source language sentence is known, a word that is to be translated next can be accurately determined. In this specification, "word" is typically a single word, but may be multiple words, a phrase, or the like. The translation word order information output apparatus is typically for use in statistical translation.
[0040] Furthermore, this translation word order information output apparatus uses Pair model, Sequence model, or the like (described later).
[0041] FIG. 1 is a block diagram of a translation word order information output apparatus 1 in this embodiment. The translation word order information output apparatus 1 includes a sentence storage unit 11, a weight vector storage unit 12, a receiving unit 13, a candidate acquiring unit 14, a vector acquiring unit 15, a probability information acquiring unit 16, and an output unit 17.
[0042] The vector acquiring unit 15 includes a source information acquiring part 151 and a vector acquiring part 152.
[0043] In the sentence storage unit 11, one or at least two source language sentences can be stored. The source language sentences are sentences in a source language that are to be translated.
[0044] In the weight vector storage unit 12, a weight vector indicating a weight of each element of a vector can be stored. The vector is information having two or more elements acquired using two or more feature functions using source information (described later) as an argument. The feature functions are preferably binary feature functions. For example, a feature function f where a word at a CP is si and a word at an NP candidate is sj is as Equation 1 below, when the features in the feature function are si="kare" and sj="katta":
f = { 1 ( s 1 = kare , s j = katta ) 0 ( else ) Equation 1 ##EQU00001##
[0045] The weight vector is, for example, a vector learned by a learning apparatus, which will be described in Embodiment 2.
[0046] The receiving unit 13 receives a position of a current word, which is a word in a source language sentence and is a word that is currently being translated. The position of a current word is referred to as a current word position. The word that is currently being translated may be referred to as a word that was translated last. The word is typically a single word, but may be a phrase or the like. The word is a portion aligned together constituting a sentence. The receiving is a concept that encompasses receiving from software, receiving information transmitted via a wired or wireless communication line, receiving information read from a storage medium such as an optical disk, a magnetic disk, or a semiconductor memory, receiving information input from an input device such as a keyboard, a mouse, or a touch panel, and the like.
[0047] The candidate acquiring unit 14 acquires the current word position and one or more next word position candidates, from the source language sentence. Each of the next word position candidates is a position of a word that is a candidate for a word that is to be translated following the current word. The candidate acquiring unit 14 may acquire positions of all words other than the current word in the source language sentence, as the next word position candidates. The candidate acquiring unit 14 may acquire positions of all words other than the current word and BOS (information indicating the beginning of the sentence) in the source language sentence, as the next word position candidates. The candidate acquiring unit 14 may acquire one or more words in the source language sentence, except for the current word and translated words that have been already translated in the source language sentence, as the next word candidates.
[0048] The vector acquiring unit 15 acquires a vector having two or more elements, using a current word, a next word candidate, and a source language sentence.
[0049] Furthermore, the vector acquiring unit 15 preferably acquires a vector having two or more elements, using one or more intermediate words as well, each of which is a word in the source language sentence and is a word between the current word and the next word candidate. In this case, the vector acquiring unit 15 acquires a vector typically discriminatively using a current word, a next word candidate, and an intermediate word. The vector acquiring unit 15 labels, for example, the current word as "0", the intermediate word as "1", and the next word candidate as "2". For example, the vector acquiring unit 15 constructs a label sequence consisting of "0", "1", and "2", and acquires a vector using this label sequence.
[0050] Moreover, the vector acquiring unit 15 acquires a vector typically using two or more feature functions. The feature functions are, for example, binary feature functions, but may be other feature functions.
[0051] The source information acquiring part 151 forming the vector acquiring unit 15 acquires source information. The source information is information necessary to acquire the vector. The source information has, for example, a current word, one or more current word-surrounding words, a next word candidate, one or more next word-surrounding words, word order information, and distance information.
[0052] The current word-surrounding words are one or more words including a word immediately before the current word or a word immediately after the current word. The current word-surrounding words are typically continuous words in the source language sentence, including a word immediately before the current word or a word immediately after the current word. The current word-surrounding words are preferably two or more words including a word immediately before the current word and a word immediately after the current word. The current word-surrounding words are, for example, four words consisting of two words immediately before the current word and two words immediately after the current word in the source language sentence.
[0053] Furthermore, the next word-surrounding words are words including one or more words including a word immediately before the next word candidate or a word immediately after the next word candidate. The next word-surrounding words are typically continuous words in the source language sentence, including a word immediately before the next word or a word immediately after the next word. The next word-surrounding words are preferably two or more words including a word immediately before the next word candidate and a word immediately after the next word candidate. The next word-surrounding words are, for example, four words consisting of two words immediately before the next word and two words immediately after the next word in the source language sentence.
[0054] Furthermore, the word order information is information regarding a relative word order between the current word and the next word candidate in the source language sentence. The word order information is, for example, a flag indicating whether the current word is on the left side or on the right side of the next word candidate. For example, if the current word is on the left side of the next word candidate, the word order information is "0", and, if the current word is on the right side of the next word candidate, the word order information is "1".
[0055] Moreover, the distance information is information regarding a distance between the current word and the next word candidate in the source language sentence. The distance information is typically information indicating a class obtained by classifying the distance between the current word and the next word candidate in the source language sentence. As the distance information, the distance between the current word and the next word candidate in the source language sentence may be used as it is. In the case where the distance information is information indicating a class as described above, for example, if the distance is "1" (i.e., if the current word and the next word candidate are adjacent to each other), the distance information is "0", if the distance is "2 or more and 5 or less", the distance information is "1", and, if the distance is "6 or more", the distance information is "2". In this case, the number of classes is 3, but may be 4, 5, or the like.
[0056] Furthermore, the source information may further have, for example, one or more words between the current word and the next word candidate. It will be appreciated that the source information may have information other than those described above.
[0057] The vector acquiring part 152 acquires a vector having two or more elements, using the source information acquired by the source information acquiring part 151. The vector acquiring part 152 acquires a vector typically using two or more feature functions. The feature functions are preferably binary feature functions.
[0058] Furthermore, the vector acquiring part 152 acquires a vector having, as an element, for example, a return value from a feature function in which two or more pieces of information forming the source information are parameters. That is to say, the vector acquiring part 152 gives each pieces of information forming the source information acquired by the source information acquiring part 151 to a predetermined feature function, and executes the feature function, thereby acquiring an execution result. The vector acquiring part 152 acquires a vector having this execution result as an element.
[0059] The probability information acquiring unit 16 acquires, for each of the one or more next word position candidates, probability information using the vector acquired by the vector acquiring unit 15 and a weight vector (w) in the weight vector storage unit 12. The probability information is information regarding a probability that each of the one or more next word position candidates acquired by the candidate acquiring unit 14 is a position of a next word that is to be translated following the current word (next word position).
[0060] The probability information acquiring unit 16 acquires, for each of the one or more next word position candidates, probability information typically using an inner product of the vector acquired by the vector acquiring unit 15 and the weight vector (it may be a transposed vector of the weight vector). The probability information acquiring unit 16 preferably acquires probability information using an exponential function of the product. That is to say, the probability information acquiring unit 16 preferably acquires probability information using exp(product of the vector acquired by the vector acquiring unit 15 and the weight vector). Moreover, the probability information acquiring unit 16 preferably normalizes an execution result of the exponential function of the product. That is to say, the probability information acquiring unit 16 preferably acquires probability information using (1/Zi) exp(product of the vector acquired by the vector acquiring unit 15 and the weight vector). Note that Zi is a normalization factor.
[0061] In the probability information acquiring unit 16, a probability calculating formula, which is a formula for calculating a probability that a next word position candidate is a next word position, is stored in advance. The probability information acquiring unit 16 reads the probability calculating formula, and substitutes the source information for the probability calculating formula, thereby executing the probability calculating formula. The probability information acquiring unit 16 acquires, for each next word position candidate, probability information. The probability calculating formula has, for example, a product of the vector acquired by the vector acquiring unit 15 and the weight vector (it may be a transposed vector of the weight vector). More specifically, the probability calculating formula is, for example, Equation 2 or 3 below. The model shown by Equation 2 is the Pair model, and the model shown by Equation 3 is the Sequence model.
p ( j = g i , s 0 n + 1 ) = 1 Z i exp ( w T f ( s i - 2 i + 2 , s j - 2 j + 2 , o , d ) ) o = { 0 ( i < J ) 1 ( i > j ) , d = { 0 ( j - i = 1 ) 1 ( 2 ≦ j - i ≦ 5 ) , 2 ( 6 ≦ j - i ) Equation 2 ##EQU00002##
[0062] In Equation 2 showing the Pair model, a current word position (it also may be referred to as a CP) is taken as i, a next word position candidate (it also may be referred to as an NP candidate) is taken as j, and an input sentence (source language sentence) is taken as S=s0 . . . sn+1=s0n+1 (where s0=BOS (beginning-of-sentence marker) and sn+1=EOS (end-of-sentence marker)). In Equation 2, w is a weight vector, an element of f is a binary feature function, and Zi is a normalization factor. This model is trained using a translation corpus and word alignment, and is used to calculate an NP probability during translation. The weight vector w is learned using training data and a maximum entropy method. The probability is calculated while simultaneously considering a word at a CP and its surrounding words (si-2i+2) and a word at an NP candidate and its surrounding words (sj-2j+2). Note that the surrounding words (si-2i+2) of the CP are the above-described current word-surrounding words, and the surrounding words (sj-2j+2) of the NP candidate are the above-described next word-surrounding words.
[0063] Furthermore, the first term in exp( ) is a combination of a CP and another position in the label sequence. The second term is a combination of an NP candidate and another position in the label sequence. In Equation 2, o is word order information. If the current word is before the next word candidate, the word order information is "0", and, if the current word is after the next word candidate, the word order information is "1". In Equation 2, d is distance information. In Equation 2, the distance information may have one of three values. That is to say, in Equation 2, the distance between the current word and the next word candidate in the source language sentence is classified into one of three values. If the distance between the current word and the next word candidate is 1, the distance information is "0", if the distance is 2 or more and 5 or less, the distance information is "1", and, if the distance is 6 or more, the distance information is "2". Note that, as the distance information, using two or more classes obtained by classifying the distance is more preferable than using the distance as it is.
P ( j = g i , s 0 n + 1 ) = 1 Z i exp ( k .di-elect cons. M { j } w T f ( s i - 2 i + 2 , s k - 2 k + 2 , l i , l k , o , d ) + k .di-elect cons. M { i } w T f ( s k - 2 k + 2 , s j - 2 j + 2 , l k , l j , o , d ) ) M = { m i < m < j m j < m < i } ( i < j i > j ) Equation 3 ##EQU00003##
[0064] In Equation 3 showing the Sequence model, Zi is a normalization factor. The first term in exp( ) is a combination of a CP and another position in the label sequence. The second term is a combination of an NP candidate and another position in the label sequence.
[0065] Furthermore, in Equation 3, li is a label that a word i (word at a CP) may be provided with, lj is a label that a word j (word at an NP candidate) may be provided with, and lk is a label that a word k may be provided with.
[0066] Furthermore, the Sequence model can not only "simultaneously consider a CP and current word-surrounding words (surrounding words (si-2i+2) of the CP) and an NP candidate and next word-surrounding words (surrounding words (sj-2j+2) of the NP candidate)", which is possible also in the Pair model, but also learn "a relative word order between NP candidates" and "a difference in distance" from training data (i.e., set each weight vector to an appropriate value) and take them into consideration when calculating an NP candidate probability.
[0067] It is possible to consider a relative word order because of the following reason. The label sequence makes it possible to consider a relative word order. For example, in FIG. 3, if the label sequence ID is 10, it can be considered that "karita" is on the left side of "katta". The reason for this is that "katta" is provided with a label 2, and "karita" is provided with a label 1. The label 1 is defined to be relatively closer to the CP than the label 2 is.
[0068] It is possible to consider a difference in distance because of the following reason. If a model is designed such that label sequences with different lengths are distinguished from each other, the model can handle the influence of the distance. Since the number of labels between a CP and an NP candidate contained in a long label sequence is large, the number of features extracted from the long label sequence is large. On the other hand, since the number of labels between a CP and an NP candidate contained in a short label sequence is small, the number of features extracted from the short label sequence is small. The bias from these differences provides important clues for learning the effect of the distance.
[0069] The output unit 17 outputs the probability information acquired by the probability information acquiring unit 16. The output is typically delivery of a processing result to another processing apparatus or another program, or the like. Herein, another program is, for example, a program contained in software of machine translation. Note that the output is a concept that encompasses display on a display screen, projection using a projector, printing in a printer, output of a sound, transmission to an external apparatus, accumulation in a storage medium, and the like.
[0070] The sentence storage unit 11 and the weight vector storage unit 12 are preferably realized by a non-volatile storage medium, but may be realized also by a volatile storage medium. There is no limitation on the procedure in which the source language sentence and the like are stored in the sentence storage unit 11 and the like. For example, the source language sentence and the like may be stored in the sentence storage unit 11 and the like via a storage medium, the source language sentence and the like transmitted via a communication line or the like may be stored in the sentence storage unit 11 and the like, or the source language sentence and the like input via an input device may be stored in the sentence storage unit 11 and the like.
[0071] The candidate acquiring unit 14, the vector acquiring unit 15, the source information acquiring part 151, the vector acquiring part 152, and the probability information acquiring unit 16 may be realized typically by an MPU, a memory, or the like. Typically, the processing procedure of the candidate acquiring unit 14 and the like is realized by software, and the software is stored in a storage medium such as a ROM. Note that the processing procedure of the candidate acquiring unit 14 and the like may be realized also by hardware (a dedicated circuit).
[0072] The output unit 17 may be realized typically by an MPU, a memory, or the like. The output unit 17 may be considered to include or not to include an output device such as a display screen or a loudspeaker. The output unit 17 may be realized, for example, by driver software for an output device, a combination of driver software for an output device and the output device, or the like.
[0073] Next, an operation of the translation word order information output apparatus 1 will be described with reference to the flowchart in FIG. 2.
[0074] (Step S201) The receiving unit 13 judges whether or not the current word position has been received. If the current word position has been received, the procedure advances to step S202, and, if not, the procedure returns to step S201.
[0075] (Step S202) The candidate acquiring unit 14 reads a sentence from the sentence storage unit 11. This sentence is a source language sentence that is to be translated. The current word received in step S201 is contained in this source language sentence.
[0076] (Step S203) The candidate acquiring unit 14 substitutes 1 for a counter c.
[0077] (Step S204) The candidate acquiring unit 14 acquires a c-th next word position candidate.
[0078] (Step S205) The vector acquiring unit 15 judges whether or not the c-th next word position candidate has been acquired in step S204. If the c-th next word position candidate has been acquired, the procedure advances to step S206, and, if not, the procedure advances to step S212.
[0079] (Step S206) The source information acquiring part 151 of the vector acquiring unit 15 acquires source information. That is to say, the source information acquiring part 151 acquires, for example, one or more current word-surrounding words. The current word-surrounding words are, for example, four words consisting of a word immediately before the current word, a word 2 words before the current word, a word immediately after the current word, and a word 2 words after the current word. It is assumed that these current word-surrounding words can be expressed as (si-2i+2). Furthermore, the source information acquiring part 151 acquires, for example, one or more next word-surrounding words. The next word-surrounding words are, for example, four words consisting of a word immediately before the next word candidate, a word 2 words before the next word candidate, a word immediately after the next word candidate, and a word 2 words after the next word candidate. It is assumed that these next word-surrounding words can be expressed as (sj-2j+2). Furthermore, the source information acquiring part 151 acquires word order information, which is information regarding a relative word order between the current word and the next word candidate in the source language sentence. The word order information is, for example, 0 or 1. If the current word is before the next word candidate, the word order information is "0", and, if the current word is after the next word candidate, the word order information is "1". Furthermore, the source information acquiring part 151 acquires distance information, which is information regarding a distance between the current word and the next word candidate in the source language sentence. Moreover, the source information acquiring part 151 acquires, for example, one or more words between the current word and the next word candidate. The source information is composed of the information acquired by the source information acquiring part 151, the current word, and the next word candidate.
[0080] (Step S207) The vector acquiring part 152 acquires a vector using the source information acquired in step S206. For example, the vector acquiring part 152 substitutes information forming two or more pieces of source information respectively for two or more feature functions, thereby acquiring a vector having two or more elements. The feature functions are preferably binary feature functions. In the vector acquiring part 152, two or more feature functions are stored in advance.
[0081] (Step S208) The probability information acquiring unit 16 reads the weight vector (w) from the weight vector storage unit 12.
[0082] (Step S209) The probability information acquiring unit 16 acquires probability information indicating a probability that the c-th next word position candidate is the next word position, using the vector acquired in step S207 and the weight vector read in step S208.
[0083] (Step S210) The probability information acquiring unit 16 temporarily stores the probability information acquired in step S209, in an unshown buffer, in association with the c-th next word position candidate.
[0084] (Step S211) The candidate acquiring unit 14 increments the counter c by 1, and the procedure returns to step S204.
[0085] (Step S212) The output unit 17 outputs the probability information of each next word position candidate stored in the unshown buffer, and the procedure returns to step S201.
[0086] Note that the procedure is terminated by powering off or an interruption at completion of the process in the flowchart in FIG. 2.
[0087] Hereinafter, a specific operation of the translation word order information output apparatus 1 in this embodiment will be described. Below, the case will be described in which the probability information of each next word candidate is output using the Sequence model. It is assumed that the translation word order information output apparatus 1 is an apparatus for use in Japanese-English translation.
[0088] It is assumed that, in the sentence storage unit 11, a source language sentence "kinou kare wa hon wo karita ga kanojo wa katta" is stored.
[0089] Furthermore, in the vector acquiring unit 15, Equations 4 and 5 below for calculating a vector are stored.
f(si-2i+2,sk-2k+2,li,lk,o,d) Equation 4
f(sk-2k+2,sj-2j+2,lk,lj,o,d) Equation 5
[0090] In the probability information acquiring unit 16, Equation 3 is stored.
[0091] In this situation, the Sequence model will be described. In the Sequence model, a label sequence (see FIG. 3) will be described in which a CP is taken as 0, a position between the CP and an NP candidate is taken as 1, and the NP candidate is taken as 2. The translation word order information output apparatus 1 learns the model so as to identify the label sequence in FIG. 3, and calculates the probability using this model.
[0092] It is assumed that the receiving unit 13 has received the position "2" of "kare" as the current word position (CP). An operation of the translation word order information output apparatus 1 will be described in the case where the NP candidate is the position "10" of "katta". That is to say, it is assumed that the candidate acquiring unit 14 has acquired "10" that is a ninth next word position candidate (position of "katta").
[0093] Next, the source information acquiring part 151 of the vector acquiring unit 15 acquires current word-surrounding words si-2="BOS", si-1="kinou", si+1="wa", and si+2="hon". Note that, for example, it is not sufficient to merely see words that are aligned around the current word, but it is also necessary to see their relative positions (information such as si-1). Furthermore, the source information acquiring part 151 acquires next word-surrounding words sj-2="kanojo", sj-1="wa", sj+1="EOS", and sj+2="NULL". Furthermore, the source information acquiring part 151 acquires word order information "o=0" (indicating that the current word is before the next word candidate). Furthermore, the source information acquiring part 151 acquires distance information "d=2" (indicating that the distance between the current word and the next word candidate is 6 or more). Moreover, the source information acquiring part 151 acquires the current word "kare" and the next word candidate "katta".
[0094] Next, the vector acquiring part 152 substitutes the acquired information forming the source information for Equations 4 and 5 (the corresponding feature functions), thereby acquiring a vector f.
[0095] Next, the probability information acquiring unit 16 reads the weight vector (w) from the weight vector storage unit 12.
[0096] Subsequently, the probability information acquiring unit 16 substitutes the acquired vector and the read weight vector for Equation 3, thereby acquiring probability information indicating a probability that the next word position candidate (position"10" of "katta") is the next word position.
[0097] The above-described processing is performed on all next word position candidates. The output unit 17 outputs the probability information of each next word position candidate.
[0098] In FIG. 3, values of NP candidates are used as label sequence IDs. Accordingly, calculating an NP candidate probability is the same as identifying a label sequence.
[0099] With the label sequences in FIG. 3, it is possible to consider a relative word order. For example, in the label sequence in which the label sequence ID in FIG. 3 is 10, it can be considered that "karita" is on the left side of "katta". The reason for this is that "katta" is provided with a label 2, and "karita" is provided with a label 1. The label 1 is defined to be relatively closer to the CP than the label 2 is. Note that "karita" is an example of the above-described intermediate word.
[0100] Furthermore, since the length of a label sequence in which an NP candidate is far from a CP is long, the influence of the differences in lengths of label sequences can be used to learn the model. This aspect is useful to learn the influence of the differences in distances.
[0101] As described above, with this embodiment, in a state where a word that is currently being translated in a source language sentence is known, a word that is to be translated next can be accurately determined.
[0102] Note that, in this embodiment, the translation word order information output apparatus 1 is effective especially in statistical translation.
[0103] The processing in this embodiment may be realized using software. The software may be distributed by software download or the like. Furthermore, the software may be distributed in a form where the software is stored in a storage medium such as a CD-ROM. Note that the same is applied to other embodiments described in this specification. The software that realizes the translation word order information output apparatus 1 in this embodiment may be the following sort of program. Specifically, this program is a program for causing a computer-accessible storage medium to have a sentence storage unit in which a source language sentence, which is a sentence in a source language that is to be translated, can be stored, and a weight vector storage unit in which a weight vector indicating a weight of each element of a vector can be stored, and causing a computer to function as: a receiving unit that receives a current word position, which is one word position in the source language sentence and is a position of a word that is currently being translated; a candidate acquiring unit that acquires the current word position and one or more next word position candidates, each of which is a position of a word that is a candidate for a word that is to be translated following the current word, from the source language sentence; a vector acquiring unit that acquires a vector having two or more elements, using a current word indicated by the current word position, a next word candidate indicated by each of the next word position candidates, and the source language sentence; a probability information acquiring unit that acquires, for each of the one or more next word position candidates acquired by the candidate acquiring unit, probability information regarding a probability that a word at that next word position candidate is a next word that is to be translated following the current word, using the vector acquired by the vector acquiring unit and the weight vector; and an output unit that outputs the probability information acquired by the probability information acquiring unit.
[0104] It is preferable that the program causes the computer to operate such that the vector acquiring unit includes: a source information acquiring part that acquires source information having the current word, one or more current word-surrounding words including a word immediately before the current word or a word immediately after the current word, the next word candidate, one or more next word-surrounding words including a word immediately before the next word candidate or a word immediately after the next word candidate, word order information, which is information regarding a relative word order between the current word and the next word candidate in the source language sentence, and distance information, which is information regarding a distance between the current word and the next word candidate in the source language sentence; and a vector acquiring part that acquires a vector having two or more elements, using the source information acquired by the source information acquiring part.
[0105] It is preferable that the program causes the computer to operate such that the vector acquiring unit acquires a vector having two or more elements, using one or more intermediate words as well, each of which is a word in the source language sentence and is a word between the current word and the next word candidate.
[0106] It is preferable that the program causes the computer to operate such that the vector acquiring unit includes: a source information acquiring part that acquires source information having the current word, one or more current word-surrounding words including a word immediately before the current word or a word immediately after the current word, the next word candidate, one or more next word-surrounding words including a word immediately before the next word candidate or a word immediately after the next word candidate, word order information, which is information regarding a relative word order between the current word and the next word candidate in the source language sentence, distance information, which is information regarding a distance between the current word and the next word candidate in the source language sentence, and one or more words between the current word and the next word candidate; and a vector acquiring part that acquires a vector having two or more elements, using the source information acquired by the source information acquiring part.
[0107] FIG. 4 shows a block diagram of a machine translation apparatus 2 using output results of the translation word order information output apparatus 1 of the present invention described in detail with reference to FIGS. 1 to 3. The machine translation apparatus 2 includes a word pair dictionary 21, the translation word order information output apparatus 1, a target language word acquiring unit 22, a target language sentence constructing unit 23, and a target language sentence output unit 24, and is typically a statistical machine translation apparatus.
[0108] In the word pair dictionary 21, two or more word pairs can be stored. The word pairs are pairs of a word in a source language and a word in a target language.
[0109] The target language word acquiring unit 22 determines a next word from the probability information of the one or more next word candidates output by the translation word order information output apparatus 1, and acquires a word in the target language corresponding to the next word from the word pair dictionary 21.
[0110] The target language sentence constructing unit 23 constructs a target language sentence from one or more words in the target language acquired by the target language word acquiring unit 22.
[0111] The target language sentence output unit 24 outputs the target language sentence constructed by the target language sentence constructing unit 23. The output is a concept that encompasses display on a display screen, projection using a projector, printing in a printer, output of a sound, transmission to an external apparatus, accumulation in a storage medium, delivery of a processing result to another processing apparatus or another program, and the like.
[0112] The word pair dictionary 21 is preferably realized by a non-volatile storage medium, but may be realized also by a volatile storage medium. There is no limitation on the procedure in which the word pair is stored in the word pair dictionary 21. For example, the word pair may be stored in the word pair dictionary 21 via a storage medium, the word pair transmitted via a communication line or the like may be stored in the word pair dictionary 21, or the word pair input via an input device may be stored in the word pair dictionary 21.
[0113] The target language word acquiring unit 22 and the target language sentence constructing unit 23 may be realized typically by an MPU, a memory, or the like. Typically, the processing procedure of the target language word acquiring unit 22 and the like is realized by software, and the software is stored in a storage medium such as a ROM. Note that the processing procedure may be realized also by hardware (a dedicated circuit).
[0114] The target language sentence output unit 24 may be considered to include or not to include an output device such as a display screen or a loudspeaker. The target language sentence output unit 24 may be realized, for example, by driver software for an output device, a combination of driver software for an output device and the output device, or the like.
[0115] The operation of the machine translation apparatus 2 that performs machine translation while determining the word order of words that are to be translated is a known art, and, thus, a detailed description thereof has been omitted.
[0116] As described above, with this embodiment, in a state where a word that is currently being translated in a source language sentence is known, a word that is to be translated next can be accurately determined. As a result, precise machine translation can be performed.
[0117] The software that realizes the machine translation apparatus 2 in this embodiment may be the following sort of program. Specifically, this program is a program for causing a computer-accessible storage medium to have a word pair dictionary in which two or more word pairs, each of which is a pair of a word in a source language and a word in a target language, can be stored, and causing a computer to function as: the translation word order information output apparatus 1; a target language word acquiring unit that determines a next word from the probability information of the one or more next word candidates output by the translation word order information output apparatus, and acquires a word in the target language corresponding to the next word from the word pair dictionary; a target language sentence constructing unit that constructs a target language sentence from one or more words in the target language acquired by the target language word acquiring unit; and a target language sentence output unit that outputs the target language sentence constructed by the target language sentence constructing unit.
[0118] FIG. 5 shows a learning apparatus that learns a weight vector for use in the translation word order information output apparatus 1 or the machine translation apparatus 2. A learning apparatus 3 includes the weight vector storage unit 12, a parallel corpus storage unit 31, a word alignment information storage unit 32, a learning unit 33, and a weight vector accumulating unit 34.
[0119] In the parallel corpus storage unit 31, a parallel corpus is stored. The parallel corpus is composed of a large number of pairs of original and translated sentences consisting of pairs of a source language sentence and a target language sentence. The source language sentence is a sentence in a source language that is to be translated. The target language sentence is a sentence obtained by correctly translating the corresponding source language sentence, into a target language.
[0120] In the word alignment information storage unit 32, word alignment information is stored. The word alignment information is information indicating a correspondence between a word forming a source language sentence and a word forming a target language sentence. The word forming a target language sentence is a word in a target language, and is a result obtained by translating a word forming a source language sentence, into a target language.
[0121] The learning unit 33 acquires a weight vector, using the original and translated sentences stored in the parallel corpus storage unit 31 and the word alignment information stored in the word alignment information storage unit 32.
[0122] Specifically, the learning unit 33 acquires a current word position indicating a position of a current word and a next word position indicating a position of a next word of each target language sentence while moving the current word of that target language sentence from left to right, in each of two or more target language sentences contained in the two or more pairs of original and translated sentences stored in the parallel corpus storage unit 31. Next, the learning unit 33 acquires a current word position, a next word position, and all next word position candidates in a source language sentence corresponding to a current word position and a next word position in each target language sentence, using the word alignment information. The current word position is information indicating a position of a current word, the next word position is information indicating a position of a next word, and next word position candidates are information indicating all positions of next word candidates other than the next word position. Next, the learning unit 33 acquires a feature regarding a current word position, a next word position, and all next word position candidates in each source language sentence. Note that "moving the current word" refers to an operation that moves a pointer indicating the current word, or the like.
[0123] The feature acquired by the learning unit 33 is, for example, <o><sp><sq>. Note that p may be i-2 to i+2, and q may be j-2 to j+2. It is assumed that p=i and q=j. Furthermore, <o> is the word order information, and, is, for example, "0" if "i<j". It is assumed that "si"="kare" and "sj"="katta". Furthermore, <sp> is five words in total consisting of a CP, two words immediately before the CP, and two words immediately after the CP. Furthermore, <sq> is five words in total consisting of an NP candidate, two words immediately before the NP candidate, and two words immediately after the NP candidate. Note that, as well as <sp><sq>, information indicating positions of the words is also contained. The acquired feature may be, for example, <si-2>, <si-1>, <si>, <si+1>, <si+2>, <ti>, <ti-1,ti>, <ti,ti+1>, <si,ti>, or the like. Note that <si> is a current word, <si-2> is a word 2 words before the current word, <si-1> is a word immediately before the current word, <si+1> is a word immediately after the current word, <si+2> is a word 2 words after the current word, <ti> is the part of speech of the current word, <ti-1> is the part of speech of the word immediately before the current word, <ti+1> is the part of speech of the word immediately after the current word, <ti-1,ti> is the part of speech of the word immediately before the current word and the part of speech of the current word, and <ti,ti+1> is the part of speech of the current word and the part of speech of the word immediately after the current word. Moreover, the acquired feature may be, for example, <o>, <o,sp>, <o,ti>, <o,tj>, <o,d>, <o,sp,sq>, <o,ti,tj>, <o, ti-1,ti,tj>, <o, ti, ti+1,tj>, <o,ti,tj-1,tj>, <o,ti,tj,tj+1>, <o,si,ti,tj>, <o,sj,ti,tj>, or the like. Note that p satisfies "pε{p i-2<=p<=i+2j-2<=p<=j+2}". Furthermore, (p,q) satisfies "(p,q)ε{(p,q)i-2<p<i+2j-2<q<j+2(|p-i|<=1- |q-j|<=1)}".
[0124] The learning unit 33 performs the above-described processing on all pairs of original and translated sentences. Next, the learning unit 33 determines a weight vector so as to maximize the entropy. This method is referred to as an LBFGS method and is a known art, and, thus, a detailed description thereof has been omitted. Regarding the LBFGS method, see the paper "D. C. Liu and J. Nocedal. 1989. On the limited memory method for large scale optimization. Mathematical Programming B, 45(3): 503-528." The learning unit 33 preferably uses a Gaussian prior for smoothing the weight vector. The Gaussian prior is described in the paper "Stanley F. Chen and Ronald Rosenfeld. 1999. A Gaussian prior for smoothing maximum entropy models. Technical report.", and, thus, a detailed description thereof has been omitted.
[0125] The weight vector accumulating unit 34 accumulates the weight vector acquired by the learning processing by the learning unit 33, in the weight vector storage unit 12.
[0126] The parallel corpus storage unit 31 and the word alignment information storage unit 32 are preferably realized by a non-volatile storage medium, but may be realized also by a volatile storage medium. There is no limitation on the procedure in which the parallel corpus and the like are stored in the parallel corpus storage unit 31 and the like. For example, the parallel corpus and the like may be stored in the parallel corpus storage unit 31 and the like via a storage medium, the parallel corpus and the like transmitted via a communication line or the like may be stored in the parallel corpus storage unit 31 and the like, or the parallel corpus and the like input via an input device may be stored in the parallel corpus storage unit 31 and the like.
[0127] The learning unit 33 and the weight vector accumulating unit 34 may be realized typically by an MPU, a memory, or the like. Typically, the processing procedure of the learning unit 33 and the like is realized by software, and the software is stored in a storage medium such as a ROM. Note that the processing procedure may be realized also by hardware (a dedicated circuit).
[0128] Next, an operation of the learning apparatus 3 will be described with reference to the flowchart in FIG. 6.
[0129] (Step S601) The learning unit 33 substitutes 1 for a counter c.
[0130] (Step S602) The learning unit 33 judges whether or not there is a c-th pair of original and translated sentences in the parallel corpus storage unit 31. If there is the c-th pair of original and translated sentences, the procedure advances to step S603, and, if not, the procedure advances to step S610.
[0131] (Step S603) The learning unit 33 substitutes 1 for a counter d.
[0132] (Step S604) The learning unit 33 judges whether or not there is a d-th current word in the target language sentence in the c-th pair of original and translated sentences. If there is the d-th current word, the procedure advances to step S605, and, if not, the procedure advances to step S609.
[0133] (Step S605) The learning unit 33 acquires a current word position indicating a position of the d-th current word and a next word position indicating a position of a next word from the target language sentence in the c-th pair of original and translated sentences.
[0134] (Step S606) The learning unit 33 acquires a current word position indicating a position of a current word, a next word position indicating a position of a next word, and all next word position candidates other than the next word position in the source language sentence corresponding to the d-th current word position and the next word position, using the word alignment information.
[0135] (Step S607) The learning unit 33 acquires one or at least two features, using the current word position, the next word position, and all next word position candidates acquired in step S606. The learning unit 33 temporarily stores the acquired one or at least two features, in an unshown buffer.
[0136] (Step S608) The learning unit 33 increments the counter d by 1, and the procedure returns to step S604.
[0137] (Step S609) The learning unit 33 increments the counter c by 1, and the procedure returns to step S602.
[0138] (Step S610) The learning unit 33 determines a weight vector so as to maximize the entropy, using the large number of features stored in the unshown buffer. In this step, the smoothing processing of the weight vector is also performed.
[0139] (Step S611) The weight vector accumulating unit 34 accumulates the weight vector acquired by the learning unit 33 in step S611, in the weight vector storage unit 12.
[0140] As described above, with this embodiment, a weight vector for use in the translation word order information output apparatus 1 can be learned.
[0141] The processing of the learning apparatus 3 in this embodiment may be realized using software. The software may be distributed by software download or the like. Furthermore, the software may be distributed in a form where the software is stored in a storage medium such as a CD-ROM.
[0142] The software that realizes the learning apparatus 3 in this embodiment may be the following sort of program. Specifically, this program is a program for causing a computer-accessible storage medium to have a weight vector storage unit in which a weight vector indicating a weight of each element of a vector can be stored, a parallel corpus storage unit in which a parallel corpus composed of two or more pairs of original and translated sentences, each of which is a pair of a source language sentence and a target language sentence, can be stored, and a word alignment information storage unit in which word alignment information, which is information indicating a correspondence between a word forming a source language sentence and a word forming a target language sentence, can be stored, and causing a computer to function as: a learning unit that acquires a current word position, which is a position of a current word, and a next word position, which is a position of a next word, of each target language sentence while moving the current word of that target language sentence from left to right, in each of two or more target language sentences contained in the two or more pairs of original and translated sentences, acquires a current word position indicating a position of a current word, a next word position indicating a position of a next word, and all next word position candidates other than the next word position in each source language sentence corresponding to a current word position and a next word position in each target language sentence, using the word alignment information, acquires one or at least two features regarding a current word position, a next word position, and all next word position candidates in each source language sentence, and determines a weight vector so as to maximize the entropy, using the acquired features, thereby acquiring the weight vector; and a weight vector accumulating unit that accumulates the weight vector acquired by the learning unit, in the weight vector storage unit.
[0143] Hereinafter, experimental results of the translation word order information output apparatus 1 and the like will be described.
(1) Settings for Experiment
[0144] In the experiment, a patent document with its source language being Japanese and target language being English was stored in the parallel corpus storage unit 31 of the learning apparatus 3. Also, a patent document with its source language being English and target language being Chinese was stored in the parallel corpus storage unit 31. The patent document used was a document of the NTCIR-9 patent machine translation task (see Isao Goto, Bin Lu, Ka Po Chow, Eiichiro Sumita, and Benjamin K. Tsou. 2011. Overview of the patent machine translation task at the NTCIR-9 workshop. In Proceedings of NTCIR-9, pages 559-578.).
[0145] As Japanese morphological analyzing software, Mecab (URL: http://mecab.sourceforge.net) was used. For segmentation and part-of-speech tagging in Chinese sentences, Stanford segmenter and tagger (URL: http://nlp.stanford.edu/software/segmenter.shtml, http://nlp.stanford.edu/software/tagger.shtml) were used. As training data, sentences within 40 words were selected. About 2.05 million Japanese-English pairs of original and translated sentences and about 0.49 million Chinese-English pairs of original and translated sentences were used. In order to acquire word alignments, GIZA++ and growdiag-final-and heuristics were used. In order to reduce word alignment errors, articles {a, an, the} were removed from English sentences, and particles {ga, wo, wa} were removed from Japanese sentences. The reason for this is that these words do not correspond to any word in the other language sentences. After the word alignment, the removed word were returned to their original positions. 5-gram language models were used. The 5-gram language models were an English sentence set of bilingual training data.
[0146] In this experiment, an in-house phrase-based SMT was used that was compatible with the Moses decoder (see the paper "Philipp Koehn, Hieu Hoang, Alexandra Birch, Chris Callison-Burch, Marcello Federico, Nicola Bertoldi, Brooke Cowan, Wade Shen, Christine Moran, Richard Zens, Chris Dyer, Ondrej Bojar, Alexandra Constantin, and Evan Herbst. 2007. Moses: Open source toolkit for statistical machine translation. In Proceedings of the 45th Annual Meeting of the Association for Computational Linguistics Companion Volume Proceedings of the Demo and Poster Sessions, pages 177-180, Prague, Czech Republic, June. Association for Computational Linguistics.").
[0147] Furthermore, in this experiment, each parameter of the SMT weight vector was tuned with MERT. In this experiment, in order to stabilize the MERT result, the experimenter performed tuning three times with MERT using the first half of the development data. Then, an SMT weight vector parameter set with the best BLEU score when the second half of the development data was used was selected from among the three SMT weight vector parameter sets.
[0148] Furthermore, in this experiment, the experimenter compared systems using a common SMT feature set including a standard SMT feature set and a feature set different from the standard set. The common SMT feature set includes five features as follows:
(1) the linear distortion cost model feature (LINEAR), (2) the linear distortion cost model feature and the six MSD bidirectional lexical distortion model features (LINEAR+LEX), (3) the outbound and inbound distortion model features discriminating nine distortion classes (9-CLASS), (4) the feature of the Pair model, which is an example of the translation word order information output apparatus 1, (PAIR), and (5) the feature of the Sequence model, which is an example of the translation word order information output apparatus 1, (SEQUENCE).
[0149] Furthermore, the Pair model and the Sequence model, which are examples of the translation word order information output apparatus 1, were trained as follows. That is to say, about 0.2 million pairs of original and translated sentences and their word alignment information were respectively stored in the parallel corpus storage unit 31 and the word alignment information storage unit 32. The feature used in the Sequence model was a label pair of the positions of the current word and the next word, and was <0,1>, <1,0>, or <1,2>.
[0150] Furthermore, the weight vector was determined so as to maximize the entropy, using the LBFGS method. Moreover, the Gaussian prior was used for smoothing the weight vector.
[0151] Furthermore, in the 9-CLASS, training data as in the Sequence model was used. In the 9-CLASS, <si-2>, <si-1>, <si>, <si+1>, <si+2>, <ti-1>, <ti>, <ti+1>, <ti-1,ti>, and <ti,ti+1> were used as the features. These feature templates correspond to the feature templates in the Sequence model and the Pair model. In the Sequence model and the like, in addition to the above-described features, relative positional information in source language sentences was used as the feature. The feature was used by Green et al. (see the paper "Spence Green, Michel Galley, and Christopher D. Manning. 2010. Improved models of distortion cost for statistical machine translation. In Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics, pages 867-875, Los Angeles, Calif., June. Association for Computational Linguistics"). The positional information is classified into five values. In the inbound model, i of the feature template is changed to j. Features that appeared four or more times in the sentences for learning were used. Moreover, in order to estimate the model parameters, the maximum entropy method with Gaussian prior smoothing was used. The LINEAR+LEX model was built using all data used for building the translation model.
[0152] Hereinafter, experimental results of the machine translation apparatus 2 using the translation word order information output apparatus 1 will be described. In the experiment, the qualities of machine translation were evaluated in the cases where the five features (LINEAR, LINEAR+LEX, 9-CLASS, PAIR, SEQUENCE) in (1) to (5) were used. In this experiment, the automatic evaluation score BLEU-4 was used to evaluate the qualities of machine translation.
[0153] Furthermore, in this experiment, the evaluation was performed using distortion limits of 10, 20, 30, and unlimited (∞). FIG. 7 shows the evaluation results. In FIG. 7, the Sequence model, which is an example of the translation word order information output apparatus 1, outperformed the others, in both the Japanese-English translation and the Chinese-English translation.
[0154] Furthermore, the Sequence model outperformed the Pair model. This confirms the effectiveness of considering relative word orders between a CP and an NP candidate and words between a CP and an NP candidate.
[0155] Furthermore, the Pair model outperformed the 9-CLASS. This confirms the effectiveness of considering both a word at the CP and a word at the NP candidate.
[0156] Furthermore, it was seen that it is difficult to perform accurate translation with small distortion limits, in translation between languages with significantly different word orders (e.g., Japanese and English, etc.).
[0157] In the case where the Sequence model was used in Japanese-English translation, better results were obtained with a distortion limit of 20 or 30 than with a distortion limit of 10 (see FIG. 7). On the other hand, the same was not applied to LINEAR, LINEAR+LEX, or 9-CLASS (see FIG. 7). This confirms that the Sequence model can handle reordering candidates with longer distances, compared with the others.
[0158] Furthermore, in this experiment, hierarchical phrase-based SMT (Hier) using the Moses implementation was tested. In this test, unlimited max-chart-span was used for system settings. As a result, in the Hier, the BLEU-4 value was "30.47" in Japanese-English translation, and was "32.66" in Chinese-English translation. These values were lower than those in the Sequence model. The difference therebetween in Japanese-English translation was significant, whereas that in Chinese-English translation was small.
[0159] Moreover, in this experiment, probabilities (average distortion probabilities) were calculated, which were results obtained by applying distortions of 3 to 20 to three types of models (SEQUENCE, PAIR, and CORPUS) in Japanese-English translation. FIG. 8 is a graph showing the experimental results. CORPUS is the probability of the actual distortions in the training data obtained from the word alignment information used to build the translation model. The distortion probability of the CORPUS was obtained by dividing the number of distortions by the total number of distortions in the training data. The distances in the same class were used in the three types of models.
[0160] FIG. 8 shows that the PAIR generated average distortion probabilities that were almost the same. On the other hand, the average distortion probabilities for the SEQUENCE decreased according to an increase in the lengths of the distortions. Note that the distance class was the same even if the lengths of the distortions were different. The same was applied to the CORPUS (see FIG. 8). Accordingly, it is seen that the SEQUENCE in the translation word order information output apparatus 1 can learn the influence of distances as appropriate from the training data.
[0161] FIG. 9 shows the external appearance of a computer that executes the programs described in this specification to realize the translation word order information output apparatus and the like in the foregoing various embodiments. The foregoing embodiments may be realized using computer hardware and a computer program executed thereon. FIG. 9 is a schematic view of a computer system 300. FIG. 10 is a block diagram of the computer system 300.
[0162] In FIG. 9, the computer system 300 includes a computer 301 including a CD-ROM drive 3012, a keyboard 302, a mouse 303, and a monitor 304.
[0163] In FIG. 10, the computer 301 includes not only the CD-ROM drive 3012, but also an MPU 3013, a bus 3014, a ROM 3015, a RAM 3016, and a hard disk 3017. The bus 3014 is connected to the MPU 3013 and the CD-ROM drive 3012. In the ROM 3015, a program such as a boot up program is stored. The RAM 3016 is connected to the MPU 3013, and is a memory in which a command of an application program is temporarily stored and a temporary storage area is to be provided. In the hard disk 3017, an application program, a system program, and data are to be stored. Although not shown, the computer 301 may further include a network card that provides connection to a LAN.
[0164] The program for causing the computer system 300 to execute the functions of the translation word order information output apparatus and the like in the foregoing embodiments may be stored in a CD-ROM 3101 that is inserted into the CD-ROM drive 3012, and be transmitted to the hard disk 3017. Alternatively, the program may be transmitted via a network (not shown) to the computer 301 and stored in the hard disk 3017. At the time of execution, the program is loaded into the RAM 3016. The program may be loaded from the CD-ROM 3101, or directly from an unshown network.
[0165] The program does not necessarily have to include, for example, an operating system or a third party program to cause the computer 301 to execute the functions of the translation word order information output apparatus and the like in the foregoing embodiments. The program may only include a command portion to call an appropriate function (module) in a controlled mode and obtain the desired results. The manner in which the computer system 300 operates is well known, and, thus, a detailed description thereof has been omitted.
[0166] Furthermore, the computer that executes this program may be a single computer, or may be multiple computers. That is to say, centralized processing may be performed, or distributed processing may be performed.
[0167] Furthermore, in the foregoing embodiments, each processing (each function) may be realized as centralized processing using a single apparatus (system), or may be realized as distributed processing using multiple apparatuses.
[0168] It will be appreciated that the present invention is not limited to the embodiments set forth herein, and various modifications are possible within the scope of the present invention.
[0169] As described above, in statistical translation, the translation word order information output apparatus according to the present invention has an effect that, in a state where a word that is currently being translated in a source language sentence is known, a word that is to be translated next can be accurately determined, and, thus, this apparatus is useful as a statistical translation apparatus and the like.
[0170] 1 Translation word order information output apparatus
[0171] 2 Machine translation apparatus
[0172] 3 Learning apparatus
[0173] 11 Sentence storage unit
[0174] 12 Weight vector storage unit
[0175] 13 Receiving unit
[0176] 14 Candidate acquiring unit
[0177] 15 Vector acquiring unit
[0178] 16 Probability information acquiring unit
[0179] 17 Output unit
[0180] 21 Word pair dictionary
[0181] 22 Target language word acquiring unit
[0182] 23 Target language sentence constructing unit
[0183] 24 Target language sentence output unit
[0184] 31 Parallel corpus storage unit
[0185] 32 Word alignment information storage unit
[0186] 33 Learning unit
[0187] 34 Weight vector accumulating unit
[0188] 151 Source information acquiring part
[0189] 152 Vector acquiring part