WO2019167600A1 - 疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法 - Google Patents

疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法 Download PDF

Info

Publication number
WO2019167600A1
WO2019167600A1 PCT/JP2019/004805 JP2019004805W WO2019167600A1 WO 2019167600 A1 WO2019167600 A1 WO 2019167600A1 JP 2019004805 W JP2019004805 W JP 2019004805W WO 2019167600 A1 WO2019167600 A1 WO 2019167600A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
pseudo
translation
output
unit
Prior art date
Application number
PCT/JP2019/004805
Other languages
English (en)
French (fr)
Inventor
今村 賢治
篤 藤田
隅田 英一郎
Original Assignee
国立研究開発法人情報通信研究機構
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 国立研究開発法人情報通信研究機構 filed Critical 国立研究開発法人情報通信研究機構
Priority to US16/969,619 priority Critical patent/US11816444B2/en
Publication of WO2019167600A1 publication Critical patent/WO2019167600A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Definitions

  • the present invention relates to an encoder / decoder type neural machine translation technology.
  • neural machine translation of the encoder / decoder method has become mainstream.
  • NMT Neural Machine Translation
  • an input sentence original sentence
  • the decoder generates a translation sentence based on the state.
  • the encoder / decoder neural machine translation can generate high-quality translations compared to the conventional statistical translation method, while training the encoder / decoder neural machine translation model. Therefore, a large amount of translations is required.
  • large-scale parallel corpora are generally difficult to obtain compared to monolingual corpora.
  • the target language monolingual corpus is back-translated into the source language to generate a pseudo bilingual sentence, and the generated pseudo bilingual sentence is mixed with the bilingual corpus.
  • the training method is adopted.
  • the advantage of this method is that even if it is a pseudo-translation, the decoder is trained correctly because the sentence on the target language side is a correct sentence created by a person. Therefore, by using the above method, it is possible to construct a model for machine translation stably and with high accuracy even when compared with a method of constructing a language model from a monolingual corpus.
  • Non-Patent Document 1 training is performed using a pseudo-original text including an error, and therefore there is a possibility that the accuracy of the encoder has not been improved.
  • the present invention executes a model training method for neural machine translation and a model training method for enhancing an encoder (including attention) using a monolingual corpus of a target language and improving the accuracy of the entire translator.
  • the purpose is to realize a machine translation system for this purpose.
  • Another object of the present invention is to realize a pseudo parallel translation data generation device, a machine translation processing device, and a pseudo parallel translation data generation method executed in the machine translation system.
  • a first invention for solving the above-mentioned problem is a pseudo-translation data generation device including a reverse translation unit and a pseudo-translation data acquisition unit.
  • the reverse translation unit obtains N (N: a natural number of 2 or more) pseudo source language data by performing machine reverse translation processing on one target language data acquired from the target language monolingual corpus.
  • N sets of pseudo parallel translation data are obtained by combining each of the pseudo parallel translation data acquisition unit, one target language data, and N pseudo source language data acquired by the reverse translation unit.
  • this pseudo bilingual data generation device a plurality of pseudo source language data is acquired from one target language data using a monolingual corpus of the target language, and a large amount of pseudo bilingual corpus data having diversity is acquired. be able to.
  • the second invention is the first invention, and the reverse translation unit includes an encoder and a decoder.
  • Encoder obtains input side hidden state data from input data.
  • the decoder acquires the output side hidden state data from the input side hidden state data acquired by the encoder, selects data randomly from the output word distribution represented by the acquired output side hidden state data, and corresponds to the selected data
  • the word data to be output is output as output data.
  • the data output from the decoder is not limited to data having the maximum posterior probability of the output word, and data having a low posterior probability (low likelihood) of the output word is also included. Will be output.
  • this pseudo bilingual data generation device it is possible to obtain pseudo bilingual data having diversity that has been difficult to obtain in the past.
  • the “input side hidden state data” is data indicating an internal state acquired when the input data is encoded by the encoder.
  • the “input side hidden state data” is, for example, data (data representing the internal state) obtained when the distributed representation data acquired by the embedding process is further performed on the input data, and further the processing by the LSTM layer is executed. is there.
  • 3rd invention is 1st or 2nd invention, Comprising: The pseudo bilingual corpus memory
  • the pseudo parallel translation data acquisition unit performs filtering processing on the N sets of pseudo parallel translation data based on at least one of the likelihood and reliability of the pseudo source language data acquired by the reverse translation unit, and performs pseudo parallel translation after the filtering processing.
  • the data is stored in the pseudo bilingual corpus storage unit.
  • the fourth invention is a machine translation processing device including a composite parallel translation data acquisition unit and a translation unit.
  • the composite bilingual data acquisition unit generates the first batch set data by associating the base bilingual data acquired from the base bilingual corpus with the first learning rate corresponding to the base bilingual data.
  • the second batch set data is generated by associating the pseudo bilingual data generated by the pseudo bilingual data generation apparatus according to the invention with the second learning rate corresponding to the pseudo bilingual data.
  • the composite parallel translation data acquisition unit acquires composite parallel translation data including the first batch set data and the second batch set data.
  • the translation unit acquires a learned model for machine translation processing by learning using composite parallel translation data, and executes machine translation processing for machine-translating source language data into target language data using the learned model.
  • the translation unit executes the learning process at the first learning rate in the learning process using the first batch set data, and executes the learning process at the second learning rate in the learning process using the second batch set data.
  • this machine translation processing device using a parallel bilingual corpus data having a large amount obtained by acquiring a plurality of pseudo source language data from one target language data using a monolingual corpus of the target language, Learning processing (training processing) for constructing a machine translation learning model can be performed efficiently.
  • the machine translation model is learned by changing the learning rate by using both the pseudo bilingual corpus data having a large amount of diversity and the base bilingual corpus data having a small amount but high accuracy.
  • the process (training process) is executed.
  • this machine translation processing apparatus can acquire a learned model (machine translation model) with very high accuracy.
  • the fifth invention is the fourth invention, wherein the first learning rate is larger than the second learning rate.
  • this machine translation processing device increases the learning rate of training processing (training processing) using a small amount of base bilingual corpus data with high accuracy, but a large amount of pseudo bilingual corpus data whose accuracy is lower than the base bilingual corpus data.
  • the learning rate of learning processing (training processing) using can be lowered.
  • this machine translation processing apparatus can acquire a machine translation learned model with high accuracy.
  • the sixth invention is a pseudo bilingual data generation method comprising a reverse translation step and a pseudo bilingual data acquisition step.
  • N pieces (N: a natural number of 2 or more) of pseudo source language data are obtained by performing machine reverse translation processing on one piece of target language data obtained from the target language monolingual corpus.
  • N sets of pseudo bilingual data are acquired by combining each target language data and N pseudo source language data acquired in the reverse translation step.
  • a translation system can be realized. Further, according to the present invention, it is possible to realize a pseudo bilingual data generation device, a machine translation processing device, and a pseudo bilingual data generation method executed in the machine translation system, which constitute the machine translation system.
  • FIG. 1 is a schematic configuration diagram of a machine translation system 1000 according to a first embodiment.
  • the transition diagram which showed typically the machine translation process in the 1st machine translation process part 113 of 1st Embodiment.
  • FIG. 1 is a schematic configuration diagram of a machine translation system 1000 according to the first embodiment.
  • FIG. 2 is a schematic configuration diagram of the reverse translation unit 11 of the pseudo parallel translation data generation unit 1 according to the first embodiment.
  • FIG. 3 is a schematic configuration diagram of the encoder 1131 of the first machine translation processing unit 113 according to the first embodiment.
  • FIG. 4 is a schematic configuration diagram of the attention unit ATN1 of the first machine translation processing unit 113 according to the first embodiment.
  • FIG. 5 is a schematic configuration diagram of the decoder 1132 of the first machine translation processing unit 113 according to the first embodiment.
  • FIG. 6 is a transition diagram schematically showing machine translation processing in the first machine translation processing unit 113 of the first embodiment.
  • FIG. 7 is a schematic configuration diagram of the translation unit 3 of the first embodiment.
  • FIG. 8 is a schematic configuration diagram of the encoder 321 of the second machine translation processing unit 32 according to the first embodiment.
  • FIG. 9 is a schematic configuration diagram of the attention unit ATN1A of the second machine translation processing unit 32 of the first embodiment.
  • FIG. 10 is a schematic configuration diagram of the decoder 322 of the second machine translation processing unit 32 of the first embodiment.
  • FIG. 11 is a transition diagram schematically showing machine translation processing in the second machine translation processing unit 32 of the first embodiment.
  • the machine translation system 1000 includes a pseudo bilingual data generation unit 1, a composite bilingual data acquisition unit 2, a translation unit 3, a base bilingual corpus storage unit DB_b, and a target language monolingual corpus storage unit DB_m. And a pseudo bilingual corpus storage unit DB_p.
  • the pseudo bilingual data generation unit 1 includes a reverse translation unit 11 and a pseudo bilingual data acquisition unit 12 as shown in FIG.
  • the reverse translation unit 11 inputs the base parallel translation data Db1_ej from the base parallel corpus storage unit DB_b, and the target language data D1_j from the target language monolingual corpus storage unit DB_m.
  • the reverse translation unit 11 executes a learning process using the base parallel translation data Db_ej, and acquires a learned model for machine translation of the target language into the source language. Then, the reverse translation unit 11 executes machine translation processing on one target language data D1_j using the learned model, and pseudo-N pieces (N: a natural number of 2 or more) of pseudo source language data are simulated. Acquired as source language group data D1_e_N. Then, the reverse translation unit 11 outputs the acquired pseudo source language group data D1_e_N to the pseudo parallel translation data acquisition unit 12.
  • the reverse translation unit 11 includes a data input processing unit 111, a control unit 112, a first machine translation processing unit 113, and a data output processing unit 114.
  • the data input processing unit 111 reads the target language data D1_j from the target language monolingual corpus storage unit DB_m and outputs data Info1 indicating that the target language data D1_j has been read to the control unit 112. Further, the data input processing unit 111 converts the target language data D1_j into data x 1... S having a data format that can be machine translated by the first machine translation processing unit 113, and the converted data x 1. The data is output to the machine translation processing unit 113.
  • the data x 1... S is a series of symbols such as a word string, the final symbol is a sentence end symbol (represented as EOS), and the number of symbols including EOS is S.
  • the control unit 112 receives the data Info1 output from the data input processing unit 111, generates a control signal Ctl1 based on the data Info1, and outputs the generated control signal Ctl1 to the first machine translation processing unit 113 and the data output.
  • the data is output to the processing unit 114.
  • the control unit 112 outputs a control signal Ctl1 to the first machine translation processing unit 113, and the first machine translation processing unit 113 performs machine translation multiple times (N times) for one target language data D1_j.
  • the first machine translation processing unit 113 is controlled so that the processing is executed.
  • control unit 112 outputs a control signal Ctl1 to the data output processing unit 114, and the data output processing unit 114 outputs N pieces of machine translation processing result data (data D1_e) for one target language data D1_j. ) Is acquired so that the data output processing unit 114 is acquired.
  • the first machine translation processing unit 113 is a functional unit that executes an encoder / decoder type neural machine translation process.
  • the first machine translation processing unit 113 reads the base parallel translation data Db_ej from the base parallel translation corpus DB_b, executes the learning process using the base parallel translation data Db_ej as learning data, and has been learned Build a model.
  • the first machine translation processing unit 113 performs machine translation processing on the data x 1... S input from the data input processing unit 111 in the execution mode (mode in which machine translation processing is executed using a learned model). , Output data y 1... T is acquired.
  • T is a series of symbols such as a word string, the final symbol is a sentence end symbol (EOS), and the number of symbols including EOS is T.
  • the first machine translation processing unit 113 outputs the acquired output data y 1... T to the data output processing unit 114. Based on the control signal Ctl1 output from the control unit 112, the first machine translation processing unit 113 executes machine translation processing a plurality of times for one target language data D1_j.
  • the first machine translation processing unit 113 includes an encoder 1131, a decoder 1132, and an attention unit ATN1.
  • the encoder 1131 includes an encoder-side embedding layer e1, an encoder-side LSTM layer (LSTM: Long short-term memory) e2, and a holding unit e3.
  • the encoder-side embedding layer e1 obtains the distributed representation data Xv s by performing matrix transformation on one symbol x s of the input data x 1... S using a matrix for performing embedding processing. To do. Then, the encoder-side buried layer e1 outputs the acquired distributed representation data Xv s in the encoder side LSTM layer e2.
  • the encoder-side LSTM layer e2 receives the distributed representation data Xv s and the input-side hidden state data hi s-1 at time s-1 output from the holding unit e3. Encoder side LSTM layer e2 from distributed representation data Xv s input side hidden state data hi s-1 Tokyo, obtains an input-side hidden state data hi s time s. Then, the encoder-side LSTM layer e2 is the input hidden state data hi s obtained, and outputs the holding portion e3 and attention unit ATN1.
  • Holder e3 inputs the input side hidden state data hi s time s output from the encoder side LSTM layer e2, both stored and held, the input side hidden state data at time s-1 one before the current time hi s-1 is output to the encoder-side LSTM layer e2.
  • the time s is the time when the data currently being processed is input
  • the time s-1 is the time when the symbol immediately before the input of the time s is input
  • the time s + 1 Is the time when the next symbol after time s is input.
  • the encoder 1131 repeats the above process from time 1 to S, and when time S is reached, the input side hidden state data hi S output from the encoder side LSTM layer e2 is output to the decoder 1132.
  • the decoder 1132 includes a decoder side embedded layer d0, a decoder side LSTM layer d1, a holding unit d2, a sampling unit d3, and a holding unit d4.
  • the decoder 1132 first records the input side hidden state data hi S output from the encoder 1131 in the holding unit d2 as the initial value ho 0 of the output side hidden state data. Also, the sentence start symbol (BOS), is held in the holding section d4 as the initial value y 0 of the output symbols.
  • BOS sentence start symbol
  • the decoder-side embedding layer d0 obtains the output data y t-1 at the time t-1 from the holding unit d2 for the time t-1 immediately before a certain time t, and a matrix for performing the embedding process Is used to obtain the distributed representation data Yv t ⁇ 1 . Then, the decoder-side embedded layer d0 outputs the acquired distributed representation data Yv t ⁇ 1 to the decoder-side LSTM layer d1.
  • Decoder side LSTM layer d1 is a context state data c t output from the attention unit ATN1, an output-side hidden states data ho t-1 at time t-1 which is output from the holding portion d2, is outputted from the holding portion d4 Distributed representation data Yv t-1 at time t-1.
  • Decoder side LSTM layer d1 is a context state data c t, and the output-side hidden states data ho t-1, from the distributed representation data Yv t-1 Tokyo, acquires the output side hidden state data ho t at time t, obtaining sampling part d3 output side hidden state data ho t that, the holding portion d2, and outputs the attention unit ATN1.
  • Holding part d2 enter the output-side hidden state data ho t at time t output from the decoder side LSTM layer d1, together store data decoder side the output side hidden state data ho t-1 at time t-1 Output to the LSTM layer d1.
  • Sampling part d3 inputs the output side hidden state data ho t output from the decoder side LSTM layer d1.
  • Sampling part d3 from the output side hidden state data ho t obtains output symbols y t at time t, and outputs an output symbol y t acquired the data output section 114 and the holding portion d4.
  • Holding part d4 inputs the output symbol y t at time t output from the sampling section d3, both stored and held, and outputs an output symbol y t-1 at time t-1 to the decoder side buried layer d0.
  • the attention unit ATN1 includes a holding unit a1 and a context calculation unit a2, as shown in FIG.
  • Holding portion a1 is the input hidden state data hi s output from the encoder is recorded for every time s from 1 to S.
  • the input side hidden state data at all times from 1 to S are collectively set to Hi.
  • Context calculating section a2 is holding unit a1 is input and the input-side hidden state data Hi all times to hold, and an output-side hidden states data ho t-1 output from the decoder side LSTM layer d1.
  • Context calculating unit a2 includes an input-side hidden state data Hi all times, from the output side hidden state data ho t-1 Tokyo, acquires context state data c t at time t. Then, the context calculation unit a2 outputs the acquired context state data c t to the decoder side LSTM layer d1.
  • the first machine translation processing unit 113 is configured as described above, and executes machine translation processing by state transition as shown in FIG.
  • t is set to the number T of symbols of the output data, and the output data y 1 .
  • the data output processing unit 114 receives the output data y 1... T output from the first machine translation processing unit 113 and the control signal Ctl 1 output from the control unit 112. After the machine translation result data corresponding to the data D1_j is acquired, the data output processing unit 114 acquires data D1_e that is the machine translation result data corresponding to the data D1_j from the acquired data y 1 .
  • the data output processing unit 114 obtains N machine translation result data D1_e based on the control signal Ctl1, and then uses the collected data of the N machine translation result data D1_e as pseudo source language group data D1_e_N. The data is output to the parallel translation data acquisition unit 12.
  • the pseudo parallel translation data acquisition unit 12 inputs the target language data D1_j from the target language monolingual corpus storage unit DB_m and also receives the pseudo source language group data D1_e_N output from the reverse translation unit 11.
  • the pseudo parallel translation data acquisition unit 12 generates data in which the target language data D1_j and the N pseudo source language data D1_e included in the pseudo source language group data D1_e_N are paired, and the generated N sets of data are simulated.
  • the parallel translation data Dp1_ej_N is output to the pseudo parallel translation corpus storage unit DB_p.
  • the composite parallel translation data acquisition unit 2 reads the pseudo parallel translation data Dp2_ej from the pseudo parallel translation corpus storage unit DB_p and reads the base parallel translation data Db2_ej from the base parallel translation corpus DB_b.
  • the composite parallel translation data acquisition unit 2 executes a process of combining the parallel translation data with the pseudo parallel translation data Dp2_ej and the base parallel translation data Db2_ej while associating the learning rate ⁇ , and acquires composite parallel translation data D2_ej. Then, the composite parallel translation data acquisition unit 2 outputs the composite parallel translation data D2_ej associated with the learning rate ⁇ to the translation unit 3.
  • the translation unit 3 includes a learning rate adjustment unit 30, an input data conversion unit 31, a second machine translation processing unit 32, and an output data conversion unit 33, as shown in FIG.
  • the learning rate adjustment unit 30 receives the combined bilingual data D2_ej associated with the learning rate ⁇ output from the combined bilingual data acquisition unit 2.
  • the learning rate adjusting unit 30 sets the output learning rate ⁇ _out to a corresponding learning rate ⁇ (for example, ⁇ 0) and outputs it.
  • the learning rate adjusting unit 30 sets the output learning rate ⁇ _out to the corresponding learning rate ⁇ (for example, ⁇ 0 / N). Set and output. Note that the learning rate adjustment unit 30 also outputs the output learning rate ⁇ _out to the attention unit ATN1.
  • the input data conversion unit 31 includes data x1 having a data format in which the source language data Din_e can be machine translated by the second machine translation processing unit 32 . . . Converted to S and converted data x1 . . . S is output to the second machine translation processing unit 32.
  • the data x 1... S is a series of symbols such as a word string, the final symbol is a sentence end symbol (represented as EOS), and the number of symbols including EOS is S.
  • the second machine translation processing unit 32 includes an encoder 321, a decoder 322, and an attention unit ATN1A.
  • the encoder 321 includes an encoder-side embedded layer e1, an encoder-side LSTM layer (LSTM: Long short-term memory) e2, and a holding unit e3. In addition, the encoder 321 receives the output learning rate ⁇ _out output from the learning rate adjustment unit 30 and performs learning (parameter adjustment) based on the output learning rate ⁇ _out during learning.
  • LSTM Long short-term memory
  • the encoder-side embedding layer e1 obtains the distributed representation data Xv s by performing matrix transformation on one symbol x s of the input data x 1... S using a matrix for performing embedding processing. To do. Then, the encoder-side buried layer e1 outputs the acquired distributed representation data Xv s in the encoder side LSTM layer e2.
  • the encoder-side LSTM layer e2 receives the distributed representation data Xv s and the input-side hidden state data hi s-1 at time s-1 output from the holding unit e3. Encoder side LSTM layer e2 from distributed representation data Xv s input side hidden state data hi s-1 Tokyo, obtains an input-side hidden state data hi s time s. Then, the encoder-side LSTM layer e2 is the input hidden state data hi s obtained, and outputs the holding portion e3 and attention portion ATN1A and the decoder-side LSTM layer d1.
  • Holder e3 inputs the input side hidden state data hi s time s output from the encoder side LSTM layer e2, both stored and held, the input side hidden state data at time s-1 one before the current time hi s-1 is output to the encoder-side LSTM layer e2.
  • the encoder 321 repeats the above processing from time 1 to S, and when time S is reached, the input side hidden state data hi S output from the encoder side LSTM layer e2 is output to the decoder 322.
  • the decoder 322 includes a decoder side embedded layer d0, a decoder side LSTM layer d1, a holding unit d2, a maximum probability output unit d3A, and a holding unit d4. In addition, the decoder 322 receives the output learning rate ⁇ _out output from the learning rate adjustment unit 30 and performs learning (parameter adjustment) based on the output learning rate ⁇ _out during learning.
  • the decoder 322 records the input side hidden state data hi S output from the encoder 321 in the holding unit d2 as the initial value ho 0 of the output side hidden state data. Also, the sentence start symbol (BOS), is held in the holding section d4 as the initial value y 0 of the output symbols.
  • BOS sentence start symbol
  • the decoder-side embedding layer d0 obtains the output symbol y t-1 at the time t-1 from the holding unit d2 for the time t-1 immediately before a certain time t, and a matrix for performing the embedding process Is used to obtain the distributed representation data Yv t ⁇ 1 . Then, the decoder-side embedded layer d0 outputs the acquired distributed representation data Yv t ⁇ 1 to the decoder-side LSTM layer d1.
  • Decoder side LSTM layer d1 is a context state data c t output from the attention unit ATN1A, an output-side hidden states data ho t-1 at time t-1 which is output from the holding portion d2, is outputted from the holding portion d4 Distributed representation data Yv t-1 at time t-1.
  • Decoder side LSTM layer d1 is a context state data c t, and the output-side hidden states data ho t-1, from the distributed representation data Yv t-1 Tokyo, acquires the output side hidden state data ho t at time t, obtaining maximum probability output unit d3A the output side hidden state data ho t that, the holding portion d2, and outputs the attention unit ATN1A.
  • Holding part d2 enter the output-side hidden state data ho t at time t output from the decoder side LSTM layer d1, together store data decoder side the output side hidden state data ho t-1 at time t-1 Output to the LSTM layer d1.
  • Maximum probability output unit d3A inputs the output side hidden state data ho t output from the decoder side LSTM layer d1. Maximum probability output unit d3A from the output side hidden state data ho t, is first calculated word output distribution Yo t at time t, and obtain output symbols y t from the word output distribution Yo t, the output symbol y t obtained The data is output to the data output processing unit 114 and the holding unit d4.
  • the word output distribution Yo t is all output symbol candidate is data indicated by the posterior probability distribution
  • the maximum probability output unit d3A selects the data having the maximum probability from the word output distribution Yo t, selection and it outputs an output symbol y t corresponding to the data.
  • Holding part d4 inputs the output symbol y t at time t output from the maximum probability output unit d3A, together memory retention, and outputs an output symbol y t-1 at time t-1 to the decoder side LSTM layer d1 .
  • the attention unit ATN1A includes a holding unit a1 and a context calculation unit a2.
  • Holding portion a1 is the input hidden state data hi s output from the encoder is recorded for every time s from 1 to S.
  • the input side hidden state data at all times from 1 to S are collectively set to Hi.
  • Context calculating unit a2 includes an input-side hidden state data Hi all time holding unit a1 is held, and the output-side hidden states data ho t-1 output from the decoder side LSTM layer d1, from the learning rate adjusting unit 30 The output learning rate ⁇ _out to be output is input.
  • Context calculating unit a2 includes an input-side hidden state data Hi all times, from the output side hidden state data ho t-1 Tokyo, acquires context state data c t at time t. Then, the context calculation unit a2 outputs the acquired context state data c t to the decoder side LSTM layer d1.
  • Attention unit ATN1A performs learning (parameter adjustment) based on output learning rate ⁇ _out during learning.
  • the second machine translation processing unit 32 is configured as described above, and executes machine translation processing by state transition as shown in FIG.
  • t is set to the number T of symbols of the output data, and the output data y 1 .
  • the output data converter 33 receives the output data y 1... T output from the second machine translation processor 32.
  • the output data conversion unit 33 continues to acquire the output symbols y t output from the second machine translation processing unit 32 in order from y 1 , but when y t becomes the sentence end symbol (EOS), the data Din_e Assuming that the corresponding machine translation result data has been prepared, the number of output symbols is set to T. Then, after the machine translation result data corresponding to the source language data Din_e is acquired, the output data conversion unit 33 acquires and outputs target language data Dout_j from the acquired data y 1 .
  • EOS sentence end symbol
  • the base parallel corpus storage unit DB_b stores, for example, parallel corpus data of a source language and a target language generated by a person. Accordingly, the bilingual corpus data stored in the base bilingual corpus storage unit DB_b is highly accurate bilingual data.
  • the base bilingual corpus storage unit DB_b is realized by a database, for example.
  • the target language monolingual corpus storage unit DB_m stores monolingual corpus data of the target language.
  • the target language monolingual corpus storage unit DB_m is realized by a database, for example.
  • the pseudo parallel translation corpus storage unit DB_p stores the pseudo parallel translation data Dp1_ej_N output from the pseudo parallel translation data acquisition unit 12.
  • the reverse translation unit 11 of the pseudo parallel translation data generation unit 1 reads the base parallel translation data Db_ej from the base parallel translation corpus DB_b and executes the learning process using the base parallel translation data Db_ej as learning data in the learning mode (the mode in which the learning process is executed). And build a trained model.
  • the reverse translation unit 11 of the pseudo parallel translation data generation unit 1 causes the data input processing unit 111 to read the target language data D1_j from the target language monolingual corpus storage unit DB_m.
  • the data input processing unit 111 outputs data Info1 indicating that the target language data D1_j has been read to the control unit 112. Further, the data input processing unit 111 converts the target language data D1_j into data x 1... S having a data format that can be machine translated by the first machine translation processing unit 113, and outputs the data to the first machine translation processing unit 113.
  • the first machine translation processing unit 113 performs the data x 1 input from the data input processing unit 111 in the execution mode (a mode in which machine translation processing is executed using a learned model acquired by learning with the base parallel translation data Db_ej) .
  • Machine translation processing is executed for S. Specifically, machine translation processing from the target language to the source language is executed in the reverse translation unit 11 as follows.
  • One symbol x s of the input data x 1... S is input to the encoder side embedded layer e1.
  • the distributed representation data Xv s is acquired by performing matrix transformation on the input symbol x s using the matrix for embedding processing. Then, the obtained dispersion representation data Xv s is output to the encoder side LSTM layer e2.
  • encoding processing (for example, encoding processing by LSTM) is performed on the distributed representation data Xv s and the input side hidden state data hi s-1, and the input side hidden state data hi s at time s. Is acquired.
  • Input hidden state data hi s obtained at the encoder side LSTM layer e2 is output to the holding portion e3 and attention unit ATN1.
  • Holder e3 inputs the input side hidden state data hi s time s output from the encoder side LSTM layer e2, both stored and held, the input side hidden state data at time s-1 one before the current time hi s-1 is output to the encoder-side LSTM layer e2.
  • the above processing is repeated from time 1 to S, and when the time S is reached, the input side hidden state data hi S output from the encoder side LSTM layer e 2 is output to the decoder 1132.
  • ATN1 a1 is the input hidden state data hi s output from the encoder is recorded for every time s from 1 to S.
  • the input side hidden state data at all times from 1 to S are collectively set to Hi.
  • Context calculating unit a2 includes an input-side hidden state data Hi all times, from the output side hidden state data ho t-1 Tokyo, acquires context state data c t at time t. Then, the context calculation unit a2 outputs the acquired context state data c t to the decoder side LSTM layer d1.
  • the context calculation unit a2 calculates an input symbol alignment score est at a certain time s from the input-side hidden state data hi s and the output-side hidden state data hot -1 at a certain time s. This calculation, the input-side hidden state data hi s, although methods such as taking a weighted sum of the output-side hidden state data ho t is used, but other calculation methods.
  • the context calculation unit a2 calculates the input symbol alignment score est for all times from 1 to S, normalizes the sum so that the sum is 1, and obtains the input symbol weight ⁇ st . Then, the context calculation unit a2 for all time s, and mixed weighted by the weight alpha st input symbols input side hidden state data Hi, obtain context state data c t.
  • the context state data c t acquired by the processing is output to the decoder side LSTM layer d1.
  • the decoder 1132 first records the input side hidden state data hi S output from the encoder 1131 in the holding unit d2 as the initial value ho 0 of the output side hidden state data. Also, the sentence start symbol (BOS), is held in the holding section d4 as the initial value y 0 of the output symbols.
  • BOS sentence start symbol
  • the decoder-side embedding layer d0 obtains the output symbol y t-1 at the time t-1 from the holding unit d2 for the time t-1 immediately before a certain time t, and a matrix for performing the embedding process Is used to obtain the distributed representation data Yv t ⁇ 1 . Then, the decoder-side embedded layer d0 outputs the acquired distributed representation data Yv t ⁇ 1 to the decoder-side LSTM layer d1.
  • the decoding processing on a distributed representation data Yv t-1 (for example, decoding processing by LSTM) is performed, Output side hidden state data hot at time t is acquired. Then, the obtained output-side hidden states data ho t is the sampling unit d3, the holding portion d2, and are outputted to the attention unit ATN1.
  • Holding part d2 enter the output-side hidden state data ho t at time t output from the decoder side LSTM layer d1, together store data decoder side the output side hidden state data ho t-1 at time t-1 Output to the LSTM layer d1.
  • the sampling unit d3 calculates the word output distribution Yo t from the output side hidden state data ho t, by random sampling from there, the output symbol y t at time t is obtained.
  • Word output distribution Yo t is all output symbol candidate is data indicated by the posterior probability distribution, the output-side hidden state data ho t linearly converted, is calculated by normalizing.
  • the posterior probability of the output symbol selects data having the maximum probability from the word output distribution Yo t, it produces an output symbol y t corresponding to the selected data.
  • the sampling part d3 selects data at random from all of the output symbol candidate probability in accordance with the words output distribution Yo t, as output symbols y t data corresponding to the selected data Output.
  • the data output from the sampling unit d3 is not limited to data with the maximum posterior probability of the output symbol, and data with low output symbol posterior probability (low likelihood) is also output. .
  • the decoder 1132 repeats the above processing from time 1 to time T to obtain output data y 1 .
  • the output data y 1... T acquired as described above is output from the first machine translation processing unit 113 to the data output processing unit 114.
  • the first machine translation processing unit 113 performs multiple times until N source language data are acquired for one target language data D1_j based on the control signal Ctl1 output from the control unit 112. Perform machine translation processing.
  • the data output processing unit 114 continues to acquire the output data y 1... T output from the first machine translation processing unit 113 until the machine translation result data corresponding to the data D1_j is acquired. Then, after the machine translation result data corresponding to the data D1_j is acquired, the data output processing unit 114 acquires data D1_e which is machine translation result data corresponding to the data D1_j from the acquired data y 1 .
  • the data output processing unit 114 obtains N machine translation result data D1_e based on the control signal Ctl1, and then uses the collected data of the N machine translation result data D1_e as pseudo source language group data D1_e_N. The data is output to the parallel translation data acquisition unit 12.
  • the pseudo parallel translation data acquisition unit 12 generates data in which the target language data D1_j and the N pseudo source language data D1_e included in the pseudo source language group data D1_e_N are paired, and the generated N sets of data are simulated.
  • the parallel translation data Dp1_ej_N is output to the pseudo parallel translation corpus storage unit DB_p.
  • the reverse translation unit 11 of the pseudo bilingual data generation unit 1 the sampling unit d3, random data is selected with a probability in accordance with the output-side hidden state data ho word output distributions calculated from t Yo t, it is selected symbols corresponding to the data is output as the output symbol y t. Therefore, the reverse translation unit 11 of the pseudo bilingual data generation unit 1 can acquire various source language data with logarithmic likelihood distributed as shown in FIG. In particular, in the prior art, pseudo source language data having a low logarithmic likelihood is not acquired, and generally, the output of machine translation has a similar tendency and it is difficult to produce diversity. The reverse translation unit 11 can acquire various translated sentences that have been difficult to output by conventional machine translation by performing the processing as described above.
  • the pseudo bilingual corpus storage unit DB_p stores the pseudo bilingual data Dp1_ej_N acquired by the pseudo bilingual data generation unit 1.
  • the composite parallel translation data acquisition unit 2 reads the pseudo parallel translation data Dp2_ej from the pseudo parallel translation corpus storage unit DB_p and reads the base parallel translation data Db2_ej from the base parallel translation corpus DB_b.
  • the composite parallel translation data acquisition unit 2 executes a process of combining the parallel translation data with the pseudo parallel translation data Dp2_ej and the base parallel translation data Db2_ej, and acquires composite parallel translation data D2_ej.
  • the composite parallel translation data acquisition unit 2 creates the pseudo parallel translation data Dp2_ej and the base parallel translation data Db2_ej as mini-batch set data, and sets a learning rate for each created mini-batch set.
  • the composite parallel translation data acquisition unit 2 mixes the mini-batch set data created by collecting the base parallel translation data Db2_ej generated as described above and the mini-batch set data created by collecting the pseudo-parallel translation data Dp2_ej, and changes the order.
  • the composite parallel translation data D2_ej is generated as the following data.
  • D2_ej ⁇ Data1 (Db2_ej, ⁇ 0), Data2 (Db2_ej, ⁇ 0), Data3 (Db2_ej, ⁇ 0), Data4 (Dp2_ej, ⁇ 1), Data5 (Dp2_ej, ⁇ 1),..., 1 ...
  • ⁇ 1 ⁇ 0 / N
  • the number of data of the mini batch set data created by collecting the pseudo parallel translation data Dp2_ej is much larger than the number of data of the mini batch set data created by collecting the base parallel translation data Db2_ej.
  • the accuracy of the parallel translation data is higher in the base parallel translation data Db2_ej than in the pseudo parallel translation data Dp2_ej. Therefore, when the learning model of the translation unit 3 is constructed, if the learning process is executed with the pseudo bilingual data Dp2_ej and the base bilingual data Db2_ej having the same learning rate, a highly accurate learning process (training process) cannot be performed. .
  • the composite parallel translation data acquisition unit 2 uses the learning rate ⁇ 1 of the mini-batch set data created by collecting the pseudo parallel translation data Dp2_ej as the learning rate ⁇ 0 of the mini-batch set data created by collecting the base parallel translation data Db2_ej. Is also set to a small value, and the composite parallel translation data D2_ej is acquired. Then, by using the composite parallel translation data D2_ej acquired in this way, the translation unit 3 can perform highly accurate learning processing (training processing).
  • the composite parallel translation data D2_ej acquired as described above is output from the composite parallel translation data acquisition unit 2 to the translation unit 3.
  • the learning rate adjustment unit 30 of the translation unit 3 inputs the composite translation data D2_ej associated with the learning rate ⁇ output from the composite translation data acquisition unit 2.
  • the learning rate adjusting unit 30 sets the output learning rate ⁇ _out to a corresponding learning rate ⁇ (for example, ⁇ 0) and outputs it.
  • the learning rate adjusting unit 30 sets the output learning rate ⁇ _out to the corresponding learning rate ⁇ (for example, ⁇ 0 / N). Set and output. Note that the learning rate adjustment unit 30 also outputs the output learning rate ⁇ _out to the attention unit ATN1A.
  • the learning rate adjustment unit 30 sets the learning rate to ⁇ 0 and the base parallel translation included in the data Data1 (Db2_ej, ⁇ 0).
  • Data is input to the encoder 321 and the decoder 322, and a learning process (training process) for constructing a learning model of the second machine translation processing unit 32 is executed.
  • the learning process is executed at a high learning rate.
  • the pseudo parallel translation data included in Dp2_ej, ⁇ 1) is input to the encoder 321 and the decoder 322, and a learning process (training process) for constructing a learning model of the second machine translation processing unit 32 is executed.
  • the learning process (training process) is executed at a lower learning rate than when the base parallel translation data is used.
  • the translation unit 3 executes a learning process (training process) for constructing a learning model.
  • Source language data Din_e is input to the input data conversion unit 31 of the translation unit 3.
  • the input data conversion unit 31 converts the source language data Din_e into data x 1... S having a data format that can be machine translated by the second machine translation processing unit 32, and the converted data x 1.
  • the data is output to the processing unit 32.
  • the machine translation processing is executed on the data x 1... S using the learning model constructed in the translation unit 3 by the above machine translation training processing, and the output data y 1. Is acquired.
  • the output data conversion unit 33 receives the output data y 1... T output from the second machine translation processing unit 32, and the output data conversion unit 33 acquires the machine translation result data corresponding to the source language data Din_e. Thereafter, the target language data Dout_j is acquired from the acquired data y 1 .
  • the machine translation execution process in the machine translation system 1000 is executed.
  • the machine translation system 1000 uses a single language corpus of a target language to acquire a plurality of pseudo source language data from a single target language data, and to acquire a large amount of pseudo bilingual corpus data having diversity. be able to.
  • the learning rate of the machine translation model is changed by using both the pseudo bilingual corpus data having a large amount of diversity and the base bilingual corpus data having a small amount but high accuracy to change the learning rate. (Training process) is executed.
  • the machine translation system 1000 can acquire a learned model (machine translation model) with very high accuracy.
  • the base bilingual corpus data is 400,000 text data
  • the pseudo bilingual corpus data is 1,550,000 text data
  • the above-described processing is performed by the machine translation model learning process (training process) in the translation unit 3.
  • the accuracy of translation by the above processing is 3.0 to 5 in terms of BLEU score compared to the machine translation by the machine translation model (learned model) obtained using only the base bilingual corpus data.
  • the BLEU score is improved by about 0.5 to 2.0 compared with the case where the technique of Non-Patent Document 1 is used.
  • the pseudo-translation data Dp1_ej_N is filtered. You may make it perform. For example, the data to be selected may be determined based on the following criteria. (1) Likelihood The pseudo source language data D1_e to be included in the pseudo parallel translation data Dp1_ej_N is selected on the basis of the likelihood acquired by the reverse translation unit 11 (including the likelihood corrected by the length of the translated sentence).
  • the pseudo source language data D1_e to be included in the pseudo parallel translation data Dp1_ej_N is selected with reference to the reliability of the translation acquired by the technique disclosed in the following document (Atsushi Fujita, etc.). Atsushi Fujita and Eiichiro Sumita. 2017. Japanese to English / Chinese / Korean datasets for translation quality estimation and automatic post-editing.In Proc of WAT2017, pages 79-88.
  • (3) Random selection The pseudo source language data D1_e to be included in the pseudo parallel translation data Dp1_ej_N is selected by random selection.
  • the learning rate may be variable for each batch set data.
  • N (N: a natural number of 2 or more) pseudo source language data is acquired for one target language data by executing the process in the first machine translation processing unit N times.
  • the first machine translation processing unit executes one machine translation process, and outputs data from a plurality of candidates in the word output distribution for the input data.
  • N pseudo source language data may be acquired by repeating the process of randomly selecting N times.
  • Some or all of the functional units of the machine translation system 1000 of the above embodiment may be realized by a single device or may be realized by a plurality of devices.
  • each block may be individually made into one chip by a semiconductor device such as an LSI, or may be made into one chip so as to include a part or all of the blocks.
  • LSI Although referred to as LSI here, it may be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • part or all of the processing of each functional block in each of the above embodiments may be realized by a program.
  • a part or all of the processing of each functional block in each of the above embodiments is performed by a central processing unit (CPU) in the computer.
  • a program for performing each processing is stored in a storage device such as a hard disk or a ROM, and is read out and executed in the ROM or the RAM.
  • each processing of the above embodiment may be realized by hardware, or may be realized by software (including a case where it is realized together with an OS (operating system), middleware, or a predetermined library). Further, it may be realized by mixed processing of software and hardware.
  • OS operating system
  • middleware middleware
  • predetermined library predetermined library
  • each functional unit of the above embodiment is realized by software
  • the hardware configuration shown in FIG. 9 for example, CPU, ROM, RAM, input unit, output unit, communication unit, storage unit (for example, HDD, SSD, etc.)
  • Each functional unit may be realized by software processing using a storage unit), a hardware configuration in which an external media drive or the like is connected by a bus Bus).
  • the software may be realized by using a single computer having the hardware configuration shown in FIG. And may be realized by distributed processing.
  • the pseudo bilingual data generation method when the pseudo bilingual data generation method is realized by software, the pseudo bilingual data generation method may be realized by the flowchart shown in FIG.
  • step S101 the target language monolingual data is read from the target language monolingual corpus.
  • step S102 reverse translation processing is executed for one target language data read in step S101, and N source language data are acquired.
  • step S103 pseudo bilingual data obtained by combining one target language data and N source language data acquired by reverse translating the data is acquired.
  • step S104 the pseudo parallel translation data corpus is acquired by storing the pseudo parallel translation data acquired in step S103 in, for example, a database.
  • a learning process (training process) method for constructing a machine translation learning model when a learning process (training process) method for constructing a machine translation learning model is realized by software, the method may be realized by a flowchart shown in FIG.
  • step S201 base parallel translation data is read from the base parallel translation corpus.
  • step S202 the pseudo bilingual data is read from the pseudo bilingual corpus.
  • step S203 a mini-batch set of the base bilingual data acquired in step S201 is generated, a mini-batch set of the pseudo bilingual data acquired in step S202 is generated, and both the mini-batch sets are mixed to change the order, Get composite bilingual data.
  • step S204 the learning rate of each mini-batch set included in the composite parallel translation data is set.
  • step S205 learning processing is performed using each mini-batch set included in the composite parallel translation data. At this time, the learning rate set for the mini-batch set to be processed is used as the learning rate.
  • the pseudo parallel translation data generation method and the learning processing (training processing) method for constructing the machine translation learning model can be realized by software.
  • execution order of the processing methods in the above embodiment is not necessarily limited to the description of the above embodiment, and the execution order can be changed without departing from the gist of the invention.
  • a computer program that causes a computer to execute the above-described method and a computer-readable recording medium that records the program are included in the scope of the present invention.
  • Examples of the computer-readable recording medium include a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a large capacity DVD, a next-generation DVD, and a semiconductor memory.
  • the computer program is not limited to the one recorded on the recording medium, and may be transmitted via a telecommunication line, a wireless or wired communication line, a network represented by the Internet, or the like.
  • a translation system can be realized. For this reason, this invention is useful in the natural language processing related industrial field
  • Machine Translation System 1 Pseudo parallel translation data generation unit (pseudo parallel translation data generation device) 11 Reverse translation unit 113 First machine translation processing unit 1131 Encoder 1132 Decoder 12 Pseudo parallel translation data acquisition unit 2 Composite translation data acquisition unit 3 Translation unit DB_p Pseudo parallel corpus storage unit DB_b Base corpus storage unit DB_m Target language monolingual corpus storage unit

Abstract

目的言語の単言語コーパスを用いてエンコーダを強化し、翻訳器全体の精度向上させるニューラル機械翻訳のモデル訓練方法と当該モデル訓練方法を実行するための機械翻訳システムを実現する。機械翻訳システム(1000)では、目的言語の単言語コーパスを用いて、1つの目的言語データから複数の疑似原言語データを取得し、多様性を有する疑似対訳コーパスデータを大量に取得することができる。そして、機械翻訳システム(1000)では、大量に取得した多様性を有する疑似対訳コーパスデータ、および、少量だが精度の高いベース対訳コーパスデータの両方を用いて、学習率を変えて、機械翻訳モデルの学習処理(訓練処理)を実行する。これにより、機械翻訳システム(1000)では、非常に精度の高い学習済みモデル(機械翻訳モデル)を取得することができる。

Description

疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法
 本発明は、エンコーダ・デコーダ方式のニューラル機械翻訳技術に関する。
 近年の機械翻訳は、エンコーダ・デコーダ方式のニューラル機械翻訳(NMT:Neural Machine Translation)が主流となってきている。エンコーダ・デコーダ方式のニューラル機械翻訳では、入力文(原文)をエンコーダによって、状態と呼ばれる数値ベクトルに符号化し、当該状態に基づいて、デコーダが翻訳文を生成する。エンコーダ・デコーダ方式のニューラル機械翻訳は、従来の統計翻訳方式に比べ、高品質な翻訳文を生成することが可能であるが、その一方で、エンコーダ・デコーダ方式のニューラル機械翻訳のモデルを訓練するために大量の対訳文が必要である。しかし、大規模対訳コーパスは、単言語コーパスに比べ、一般的に入手が難しい。
 この問題に対処するために、非特許文献1に開示の技術では、目的言語の単言語コーパスを原言語へ逆翻訳して疑似対訳文を生成し、生成した疑似対訳文を対訳コーパスと混合して訓練する方法を採用している。この方法の利点は、疑似対訳文といっても、目的言語側の文は人が作成した正しい文であるため、デコーダは正しく訓練されることである。そのため、上記方法を用いることで、単言語コーパスから言語モデルを構築する方法を用いる場合に比べても、安定して精度の高い機械翻訳のためのモデルを構築することが可能となる。
Rico Sennrich, Barry Haddow, and Alexandra Birch. 2016a. Improving neural machine translation models with monolingual data. In Proc. of ACL-2016 (Volume 1: Long Papers), pages 86-96.
 しかしながら、非特許文献1に開示されている方法では、エラーを含む疑似原文を用いて訓練するため、エンコーダの精度向上が実現されていない可能性がある。
 そこで本発明は、上記課題に鑑み、目的言語の単言語コーパスを用いてエンコーダ(アテンションを含む)を強化し、翻訳器全体の精度向上させるニューラル機械翻訳のモデル訓練方法と当該モデル訓練方法を実行するための機械翻訳システムを実現することを目的とする。また、本発明は、上記機械翻訳システムを構成する疑似対訳データ生成装置、機械翻訳処理装置、および、上記機械翻訳システムで実行される疑似対訳データ生成方法を実現することを目的とする。
 上記課題を解決するための第1の発明は、逆翻訳部と、疑似対訳データ取得部と、を備える疑似対訳データ生成装置である。
 逆翻訳部は、目的言語単言語コーパスから取得した1つの目的言語データに対して機械逆翻訳処理を施すことでN個(N:2以上の自然数)の疑似原言語データを取得する。
 疑似対訳データ取得部と、1つの目的言語データと、逆翻訳部により取得されたN個の疑似原言語データのそれぞれを組にすることでN組の疑似対訳データを取得する。
 これにより、この疑似対訳データ生成装置では、目的言語の単言語コーパスを用いて、1つの目的言語データから複数の疑似原言語データを取得し、多様性を有する疑似対訳コーパスデータを大量に取得することができる。
 第2の発明は、第1の発明であって、逆翻訳部は、エンコーダと、デコーダとを備える。
 エンコーダは、入力データから入力側隠れ状態データを取得する。
 デコーダは、エンコーダにより取得された入力側隠れ状態データから出力側隠れ状態データを取得し、取得した出力側隠れ状態データが表す出力単語分布の中からランダムにデータを選択し、選択したデータに対応する単語データを出力データとして出力する。
 これにより、この疑似対訳データ生成装置では、デコーダから出力されるデータは、出力単語の事後確率が最大確率となるデータに限定されず、出力単語の事後確率が低い(尤度が低い)データも出力されることになる。その結果、この疑似対訳データ生成装置では、従来取得することが困難であった多様性を有する疑似対訳データを取得することができる。
 なお、「入力側隠れ状態データ」とは、エンコーダにより、入力データをエンコード処理したときに取得される内部状態を示すデータである。「入力側隠れ状態データ」は、例えば、入力データに対して、埋込処理により取得した分散表現データを、さらに、LSTM層による処理を実行したときに得られるデータ(内部状態を表すデータ)である。
 第3の発明は、第1または第2の発明であって、疑似対訳データを記憶する疑似対訳コーパス記憶部をさらに備える。
 疑似対訳データ取得部は、逆翻訳部が取得した疑似原言語データの尤度および信頼度の少なくとも一方に基づいて、N組の疑似対訳データに対してフィルタリング処理を行い、フィルタリング処理後の疑似対訳データを疑似対訳コーパス記憶部に記憶させる。
 これにより、尤度や信頼度に基づいて、機械翻訳のモデル学習を行う際に効率良く学習処理が実行される疑似対訳データを取得することができる。
 第4の発明は、合成対訳データ取得部と、翻訳部と、を備える機械翻訳処理装置である。
 合成対訳データ取得部は、ベース対訳コーパスから取得したベース対訳データと、当該ベース対訳データに対応する第1学習率とを対応付けて第1バッチ集合データを生成し、第1から第3のいずれかの発明である疑似対訳データ生成装置により生成された疑似対訳データと、当該疑似対訳データに対応する第2学習率とを対応付けて第2バッチ集合データを生成する。そして、合成対訳データ取得部は、第1バッチ集合データと第2バッチ集合データを含む合成対訳データを取得する。
 翻訳部は、合成対訳データを用いて学習することで機械翻訳処理用の学習済みモデルを取得するとともに、学習済みモデルにより、原言語データを目的言語データに機械翻訳する機械翻訳処理を実行する。また、翻訳部は、第1バッチ集合データを用いた学習処理では第1学習率により学習処理を実行し、第2バッチ集合データを用いた学習処理では第2学習率により学習処理を実行する。
 この機械翻訳処理装置では、目的言語の単言語コーパスを用いて、1つの目的言語データから複数の疑似原言語データを取得することで大量に取得した多様性を有する疑似対訳コーパスデータを用いて、機械翻訳の学習モデルを構築するための学習処理(訓練処理)を効率良く行うことができる。そして、この機械翻訳処理装置では、大量に取得した多様性を有する疑似対訳コーパスデータ、および、少量だが精度の高いベース対訳コーパスデータの両方を用いて、学習率を変えて、機械翻訳モデルの学習処理(訓練処理)を実行する。これにより、この機械翻訳処理装置では、非常に精度の高い学習済みモデル(機械翻訳モデル)を取得することができる。
 第5の発明は、第4の発明であって、第1学習率は、第2学習率よりも大きな値である。
 これにより、この機械翻訳処理装置では、少量だが精度の高いベース対訳コーパスデータを用いた学習処理(訓練処理)の学習率を高くし、大量だが精度がベース対訳コーパスデータよりも低い疑似対訳コーパスデータを用いた学習処理(訓練処理)の学習率を低くすることができる。その結果、この機械翻訳処理装置では、精度の高い機械翻訳学習済みモデルを取得することができる。
 第6の発明は、逆翻訳ステップと、疑似対訳データ取得ステップと、を備える疑似対訳データ生成方法である。
 逆翻訳ステップは、目的言語単言語コーパスから取得した1つの目的言語データに対して機械逆翻訳処理を施すことでN個(N:2以上の自然数)の疑似原言語データを取得する。
 疑似対訳データ取得ステップは、1つの目的言語データと、逆翻訳ステップにより取得されたN個の疑似原言語データのそれぞれを組にすることでN組の疑似対訳データを取得する。
 これにより、第1の発明と同様の効果を奏する疑似対訳データ生成方法を実現することができる。
 本発明によれば、目的言語の単言語コーパスを用いてエンコーダ(アテンションを含む)を強化し、翻訳器全体の精度向上させるニューラル機械翻訳のモデル訓練方法と当該モデル訓練方法を実行するための機械翻訳システムを実現することができる。また、本発明によれば、上記機械翻訳システムを構成する疑似対訳データ生成装置、機械翻訳処理装置、および、上記機械翻訳システムで実行される疑似対訳データ生成方法を実現することができる。
第1実施形態に係る機械翻訳システム1000の概略構成図。 第1実施形態の疑似対訳データ生成部1の逆翻訳部11の概略構成図。 第1実施形態の第1機械翻訳処理部113のエンコーダ1131の概略構成図。 第1実施形態の第1機械翻訳処理部113のアテンション部ATN1の概略構成図。 第1実施形態の第1機械翻訳処理部113のデコーダ1132の概略構成図。 第1実施形態の第1機械翻訳処理部113における機械翻訳処理を模式的に示した遷移図。 第1実施形態の翻訳部3の概略構成図。 第1実施形態の第2機械翻訳処理部32のエンコーダ321の概略構成図。 第1実施形態の第2機械翻訳処理部32のアテンション部ATN1Aの概略構成図。 第1実施形態の第2機械翻訳処理部32のデコーダ322の概略構成図。 第1実施形態の第2機械翻訳処理部32における機械翻訳処理を模式的に示した遷移図。 逆翻訳部11により取得した疑似原言語群データD1_e_Nの一例を示す図。 CPUバス構成を示す図。 疑似対訳データ生成方法のフローチャート、および、機械翻訳の学習モデルを構築するための学習処理(訓練処理)方法のフローチャート。
 [第1実施形態]
 第1実施形態について、図面を参照しながら、以下説明する。
 <1.1:機械翻訳システムの構成>
 図1は、第1実施形態に係る機械翻訳システム1000の概略構成図である。
 図2は、第1実施形態の疑似対訳データ生成部1の逆翻訳部11の概略構成図である。
 図3は、第1実施形態の第1機械翻訳処理部113のエンコーダ1131の概略構成図である。
 図4は、第1実施形態の第1機械翻訳処理部113のアテンション部ATN1の概略構成図である。
 図5は、第1実施形態の第1機械翻訳処理部113のデコーダ1132の概略構成図である。
 図6は、第1実施形態の第1機械翻訳処理部113における機械翻訳処理を模式的に示した遷移図である。
 図7は、第1実施形態の翻訳部3の概略構成図である。
 図8は、第1実施形態の第2機械翻訳処理部32のエンコーダ321の概略構成図である。
 図9は、第1実施形態の第2機械翻訳処理部32のアテンション部ATN1Aの概略構成図である。
 図10は、第1実施形態の第2機械翻訳処理部32のデコーダ322の概略構成図である。
 図11は、第1実施形態の第2機械翻訳処理部32における機械翻訳処理を模式的に示した遷移図である。
 機械翻訳システム1000は、図1に示すように、疑似対訳データ生成部1と、合成対訳データ取得部2と、翻訳部3と、ベース対訳コーパス記憶部DB_bと、目的言語単言語コーパス記憶部DB_mと、疑似対訳コーパス記憶部DB_pとを備える。
 疑似対訳データ生成部1は、図1に示すように、逆翻訳部11と、疑似対訳データ取得部12とを備える。
 逆翻訳部11は、ベース対訳コーパス記憶部DB_bからベース対訳データDb1_ejを入力し、また、目的言語単言語コーパス記憶部DB_mから目的言語データD1_jを入力する。逆翻訳部11は、ベース対訳データDb_ejを用いて学習処理を実行し、目的言語を原言語に機械翻訳する学習済みモデルを取得する。そして、逆翻訳部11は、当該学習済みモデルを用いて、1つの目的言語データD1_jに対して、機械翻訳処理を実行し、N個(N:2以上の自然数)の疑似原言語データを疑似原言語群データD1_e_Nとして取得する。そして、逆翻訳部11は、取得した疑似原言語群データD1_e_Nを疑似対訳データ取得部12に出力する。
 逆翻訳部11は、図2に示すように、データ入力処理部111と、制御部112と、第1機械翻訳処理部113と、データ出力処理部114とを備える。
 データ入力処理部111は、目的言語単言語コーパス記憶部DB_mから目的言語データD1_jを読み出すとともに、目的言語データD1_jを読み出したことを示すデータInfo1を制御部112に出力する。また、データ入力処理部111は、目的言語データD1_jを第1機械翻訳処理部113で機械翻訳処理ができるデータ形式を有するデータx1…Sに変換し、変換したデータx1…Sを第1機械翻訳処理部113に出力する。なお、データx1…Sは、単語列のようなシンボルの系列であり、その最終シンボルは文末記号(EOSと表す)であり、EOSを含むシンボル数はSとする。
 制御部112は、データ入力処理部111から出力されるデータInfo1を入力し、当該データInfo1に基づいて、制御信号Ctl1を生成し、生成した制御信号Ctl1を第1機械翻訳処理部113およびデータ出力処理部114に出力する。制御部112は、第1機械翻訳処理部113に対して制御信号Ctl1を出力し、第1機械翻訳処理部113において、1つの目的言語データD1_jに対して、複数回(N回)、機械翻訳処理が実行されるように第1機械翻訳処理部113を制御する。また、制御部112は、データ出力処理部114に対して制御信号Ctl1を出力し、データ出力処理部114において、1つの目的言語データD1_jに対して、N個の機械翻訳処理結果データ(データD1_e)が取得されるようにデータ出力処理部114を制御する。
 第1機械翻訳処理部113は、エンコーダ・デコーダ方式のニューラル機械翻訳処理を実行する機能部である。第1機械翻訳処理部113は、学習モード(学習処理を実行するモード)において、ベース対訳コーパスDB_bからベース対訳データDb_ejを読み出し、当該ベース対訳データDb_ejを学習データとして学習処理を実行し、学習済みモデルを構築する。第1機械翻訳処理部113は、実行モード(学習済みモデルを用いて機械翻訳処理を実行するモード)において、データ入力処理部111から入力したデータx1…Sに対して機械翻訳処理を実行し、出力データy1…Tを取得する。なお、データy1…Tは、単語列のようなシンボルの系列であり、その最終シンボルは文末記号(EOS)であり、EOSを含むシンボル数はTとする。そして、第1機械翻訳処理部113は、取得した出力データy1…Tをデータ出力処理部114に出力する。第1機械翻訳処理部113は、制御部112から出力される制御信号Ctl1に基づいて、1つの目的言語データD1_jに対して、複数回、機械翻訳処理を実行する。
 第1機械翻訳処理部113は、図3~図5に示すように、エンコーダ1131と、デコーダ1132と、アテンション部ATN1とを備える。
 エンコーダ1131は、エンコーダ側埋込層e1と、エンコーダ側LSTM層(LSTM:Long short-term memory)e2と、保持部e3とを備える。
 エンコーダ側埋込層e1は、入力データx1…Sのうちの1つのシンボルxに対して、埋め込み処理を行うための行列を用いて、行列変換することで、分散表現データXvを取得する。そして、エンコーダ側埋込層e1は、取得した分散表現データXvをエンコーダ側LSTM層e2に出力する。
 エンコーダ側LSTM層e2は、分散表現データXvと、保持部e3から出力される時刻s-1の入力側隠れ状態データhis-1とを入力する。エンコーダ側LSTM層e2は、分散表現データXvと入力側隠れ状態データhis-1とから、時刻sの入力側隠れ状態データhiを取得する。そして、エンコーダ側LSTM層e2は、取得した入力側隠れ状態データhiを、保持部e3とアテンション部ATN1に出力する。
 保持部e3は、エンコーダ側LSTM層e2から出力される時刻sの入力側隠れ状態データhiを入力し、記憶保持するともに、現時刻の1つ前の時刻s-1の入力側隠れ状態データhis-1をエンコーダ側LSTM層e2に出力する。なお、時刻sは、現在処理対象となっているデータが入力された時刻であり、時刻s-1は、時刻sの入力の1つ前のシンボルが入力されたときの時刻であり、時刻s+1は、時刻sの1つ後のシンボルが入力されたときの時刻である。
 エンコーダ1131は上記処理を時刻1からSまで繰り返し、時刻Sに達したとき、エンコーダ側LSTM層e2から出力された入力側隠れ状態データhiをデコーダ1132に出力する。
 デコーダ1132は、デコーダ側埋込層d0と、デコーダ側LSTM層d1と、保持部d2と、サンプリング部d3と、保持部d4とを備える。
 デコーダ1132は、まずエンコーダ1131から出力された入力側隠れ状態データhiを、出力側隠れ状態データの初期値hoとして保持部d2に記録する。また、文開始記号(BOS)を、出力シンボルの初期値yとして保持部d4に保存する。
 デコーダ側埋込層d0は、ある時刻tの一つ前の時刻t-1に対して、保持部d2から時刻t-1における出力データyt-1を取得し、埋め込み処理を行うための行列を用いて、行列変換することで、分散表現データYvt-1を取得する。そして、デコーダ側埋込層d0は、取得した分散表現データYvt-1をデコーダ側LSTM層d1に出力する。
 デコーダ側LSTM層d1は、アテンション部ATN1から出力されるコンテキスト状態データcと、保持部d2から出力される時刻t-1の出力側隠れ状態データhot-1と、保持部d4から出力される時刻t-1の分散表現データYvt-1と、を入力する。デコーダ側LSTM層d1は、コンテキスト状態データcと、出力側隠れ状態データhot-1と、分散表現データYvt-1とから、時刻tの出力側隠れ状態データhoを取得し、取得した出力側隠れ状態データhoをサンプリング部d3、保持部d2、および、アテンション部ATN1に出力する。
 保持部d2は、デコーダ側LSTM層d1から出力される時刻tの出力側隠れ状態データhoを入力し、記憶保持するともに、時刻t-1の出力側隠れ状態データhot-1をデコーダ側LSTM層d1に出力する。
 サンプリング部d3は、デコーダ側LSTM層d1から出力される出力側隠れ状態データhoを入力する。サンプリング部d3は、出力側隠れ状態データhoから、時刻tの出力シンボルyを取得し、取得した出力シンボルyをデータ出力処理部114および保持部d4に出力する。
 保持部d4は、サンプリング部d3から出力される時刻tの出力シンボルyを入力し、記憶保持するともに、時刻t-1の出力シンボルyt-1をデコーダ側埋込層d0に出力する。
 アテンション部ATN1は、図4に示すように、保持部a1とコンテキスト算出部a2とを備える。
 保持部a1は、エンコーダから出力される入力側隠れ状態データhiを、1からSまでのすべての時刻sについて記録する。1からSまでのすべての時刻における入力側隠れ状態データをまとめてHiとする。
 コンテキスト算出部a2は、保持部a1が保持するすべての時刻の入力側隠れ状態データHiと、デコーダ側LSTM層d1から出力される出力側隠れ状態データhot-1とを入力する。コンテキスト算出部a2は、すべての時刻の入力側隠れ状態データHiと、出力側隠れ状態データhot-1とから、時刻tのコンテキスト状態データcを取得する。そして、コンテキスト算出部a2は、取得したコンテキスト状態データcをデコーダ側LSTM層d1に出力する。
 第1機械翻訳処理部113は、上記のように構成され、図6に示すような状態遷移により機械翻訳処理を実行する。そして出力シンボルyが文末記号EOSとなったら、出力データのシンボル数Tにtを設定し、出力データy1…Tを取得する。
 データ出力処理部114は、第1機械翻訳処理部113から出力される出力データy1…Tと、制御部112から出力される制御信号Ctl1とを入力する。データ出力処理部114は、データD1_jに対応する機械翻訳結果データが取得された後、取得したデータy1…Tから、データD1_jに対応する機械翻訳結果データであるデータD1_eを取得する。
 データ出力処理部114は、制御信号Ctl1に基づいて、N個の機械翻訳結果データD1_eを取得した後、当該N個の機械翻訳結果データD1_eをまとめたデータを疑似原言語群データD1_e_Nとして、疑似対訳データ取得部12に出力する。
 疑似対訳データ取得部12は、目的言語単言語コーパス記憶部DB_mから目的言語データD1_jを入力するとともに、逆翻訳部11から出力される疑似原言語群データD1_e_Nを入力する。疑似対訳データ取得部12は、目的言語データD1_jと、疑似原言語群データD1_e_Nに含まれるN個の疑似原言語データD1_eのそれぞれをペアにしたデータを生成し、生成したN組のデータを疑似対訳データDp1_ej_Nとして、疑似対訳コーパス記憶部DB_pに出力する。
 合成対訳データ取得部2は、疑似対訳コーパス記憶部DB_pから疑似対訳データDp2_ejを読み出すとともに、ベース対訳コーパスDB_bからベース対訳データDb2_ejを読み出す。合成対訳データ取得部2は、学習率ηを対応付けながら、疑似対訳データDp2_ejと、ベース対訳データDb2_ejとに対して対訳データを合成する処理を実行し、合成対訳データD2_ejを取得する。そして、合成対訳データ取得部2は、学習率ηを対応付けた合成対訳データD2_ejを翻訳部3に出力する。
 翻訳部3は、図7に示すように、学習率調整部30と、入力データ変換部31と、第2機械翻訳処理部32と、出力データ変換部33とを備える。
 学習率調整部30は、合成対訳データ取得部2から出力される学習率ηを対応付けた合成対訳データD2_ejを入力する。学習率調整部30は、エンコーダ321およびデコーダ322に、ベース対訳コーパスDB_bから取得した対訳データを出力する場合、出力学習率η_outを対応する学習率η(例えば、η0)に設定して出力する。一方、学習率調整部30は、エンコーダ321およびデコーダ322に、疑似対訳コーパス記憶部DB_pから取得した対訳データを出力する場合、出力学習率η_outを対応する学習率η(例えば、η0/N)に設定して出力する。なお、学習率調整部30は、出力学習率η_outをアテンション部ATN1にも出力する。
 入力データ変換部31は、原言語データDin_eを第2機械翻訳処理部32で機械翻訳処理ができるデータ形式を有するデータx1...Sに変換し、変換したデータx1...Sを第2機械翻訳処理部32に出力する。なお、データx1…Sは、単語列のようなシンボルの系列であり、その最終シンボルは文末記号(EOSと表す)であり、EOSを含むシンボル数はSとする。
 第2機械翻訳処理部32は、図8~図10に示すように、エンコーダ321と、デコーダ322と、アテンション部ATN1Aと、を備える。
 エンコーダ321は、エンコーダ側埋込層e1と、エンコーダ側LSTM層(LSTM:Long short-term memory)e2と、保持部e3とを備える。また、エンコーダ321は、学習率調整部30から出力される出力学習率η_outを入力し、学習時において、出力学習率η_outにより、学習(パラメータの調整)を行う。
 エンコーダ側埋込層e1は、入力データx1…Sのうちの1つのシンボルxに対して、埋め込み処理を行うための行列を用いて、行列変換することで、分散表現データXvを取得する。そして、エンコーダ側埋込層e1は、取得した分散表現データXvをエンコーダ側LSTM層e2に出力する。
 エンコーダ側LSTM層e2は、分散表現データXvと、保持部e3から出力される時刻s-1の入力側隠れ状態データhis-1とを入力する。エンコーダ側LSTM層e2は、分散表現データXvと入力側隠れ状態データhis-1とから、時刻sの入力側隠れ状態データhiを取得する。そして、エンコーダ側LSTM層e2は、取得した入力側隠れ状態データhiを、保持部e3とアテンション部ATN1Aとデコーダ側LSTM層d1に出力する。
 保持部e3は、エンコーダ側LSTM層e2から出力される時刻sの入力側隠れ状態データhiを入力し、記憶保持するともに、現時刻の1つ前の時刻s-1の入力側隠れ状態データhis-1をエンコーダ側LSTM層e2に出力する。
 エンコーダ321は上記処理を時刻1からSまで繰り返し、時刻Sに達したとき、エンコーダ側LSTM層e2から出力された入力側隠れ状態データhiをデコーダ322に出力する。
 デコーダ322は、デコーダ側埋込層d0と、デコーダ側LSTM層d1と、保持部d2と、最大確率出力部d3Aと、保持部d4とを備える。また、デコーダ322は、学習率調整部30から出力される出力学習率η_outを入力し、学習時において、出力学習率η_outにより、学習(パラメータの調整)を行う。
 デコーダ322は、まずエンコーダ321から出力された入力側隠れ状態データhiを、出力側隠れ状態データの初期値hoとして保持部d2に記録する。また、文開始記号(BOS)を、出力シンボルの初期値yとして保持部d4に保存する。
 デコーダ側埋込層d0は、ある時刻tの一つ前の時刻t-1に対して、保持部d2から時刻t-1における出力シンボルyt-1を取得し、埋め込み処理を行うための行列を用いて、行列変換することで、分散表現データYvt-1を取得する。そして、デコーダ側埋込層d0は、取得した分散表現データYvt-1をデコーダ側LSTM層d1に出力する。
 デコーダ側LSTM層d1は、アテンション部ATN1Aから出力されるコンテキスト状態データcと、保持部d2から出力される時刻t-1の出力側隠れ状態データhot-1と、保持部d4から出力される時刻t-1の分散表現データYvt-1と、を入力する。デコーダ側LSTM層d1は、コンテキスト状態データcと、出力側隠れ状態データhot-1と、分散表現データYvt-1とから、時刻tの出力側隠れ状態データhoを取得し、取得した出力側隠れ状態データhoを最大確率出力部d3A、保持部d2、および、アテンション部ATN1Aに出力する。
 保持部d2は、デコーダ側LSTM層d1から出力される時刻tの出力側隠れ状態データhoを入力し、記憶保持するともに、時刻t-1の出力側隠れ状態データhot-1をデコーダ側LSTM層d1に出力する。
 最大確率出力部d3Aは、デコーダ側LSTM層d1から出力される出力側隠れ状態データhoを入力する。最大確率出力部d3Aは、出力側隠れ状態データhoから、まず時刻tの単語出力分布Yoを算出し、単語出力分布Yoから出力シンボルyを取得し、取得した出力シンボルyをデータ出力処理部114および保持部d4に出力する。なお、単語出力分布Yoは、すべての出力シンボル候補を事後確率分布で示したデータであり、最大確率出力部d3Aは、最大確率となるデータを単語出力分布Yoの中から選択し、選択したデータに対応する出力シンボルyを出力する。
 保持部d4は、最大確率出力部d3Aから出力される時刻tの出力シンボルyを入力し、記憶保持するともに、時刻t-1の出力シンボルyt-1をデコーダ側LSTM層d1に出力する。
 アテンション部ATN1Aは、図9に示すように、保持部a1とコンテキスト算出部a2とを備える。
 保持部a1は、エンコーダから出力される入力側隠れ状態データhiを、1からSまでのすべての時刻sについて記録する。1からSまでのすべての時刻における入力側隠れ状態データをまとめてHiとする。
 コンテキスト算出部a2は、保持部a1が保持するすべての時刻の入力側隠れ状態データHiと、デコーダ側LSTM層d1から出力される出力側隠れ状態データhot-1と、学習率調整部30から出力される出力学習率η_outとを入力する。コンテキスト算出部a2は、すべての時刻の入力側隠れ状態データHiと、出力側隠れ状態データhot-1とから、時刻tのコンテキスト状態データcを取得する。そして、コンテキスト算出部a2は、取得したコンテキスト状態データcをデコーダ側LSTM層d1に出力する。アテンション部ATN1Aは、学習時において、出力学習率η_outにより、学習(パラメータの調整)を行う。
 第2機械翻訳処理部32は、上記のように構成され、図11に示すような状態遷移により機械翻訳処理を実行する。そして出力シンボルyが文末記号EOSとなったら、出力データのシンボル数Tにtを設定し、出力データy1…Tを取得する。
 出力データ変換部33は、第2機械翻訳処理部32から出力される出力データy1…Tを入力する。出力データ変換部33は、yから順番に第2機械翻訳処理部32から出力される出力シンボルyを取得し続けるが、yが文末記号(EOS)となった時点で、データDin_eに対応する機械翻訳結果データがそろったとみなして、Tに出力シンボル数を設定する。そして、出力データ変換部33は、原言語データDin_eに対応する機械翻訳結果データが取得された後、取得したデータy1…Tから、目的言語データDout_jを取得し出力する。
 ベース対訳コーパス記憶部DB_bは、例えば、人により生成された原言語と目的言語との対訳コーパスデータを記憶する。したがって、ベース対訳コーパス記憶部DB_bに記憶されている対訳コーパスデータは、高精度の対訳データである。ベース対訳コーパス記憶部DB_bは、例えば、データベースにより実現される。
 目的言語単言語コーパス記憶部DB_mは、目的言語の単言語のコーパスデータを記憶する。目的言語単言語コーパス記憶部DB_mは、例えば、データベースにより実現される。
 疑似対訳コーパス記憶部DB_pは、疑似対訳データ取得部12から出力される疑似対訳データDp1_ej_Nを記憶する。
 <1.2:機械翻訳システムの動作>
 以上のように構成された機械翻訳システム1000の動作について説明する。
 (1.2.1:疑似対訳データ生成処理)
 まず、機械翻訳システム1000における疑似対訳データ生成処理について、説明する。
 疑似対訳データ生成部1の逆翻訳部11は、学習モード(学習処理を実行するモード)において、ベース対訳コーパスDB_bからベース対訳データDb_ejを読み出し、当該ベース対訳データDb_ejを学習データとして学習処理を実行し、学習済みモデルを構築する。
 次に、疑似対訳データ生成部1の逆翻訳部11は、データ入力処理部111により、目的言語単言語コーパス記憶部DB_mから目的言語データD1_jを読み出す。データ入力処理部111は、目的言語データD1_jを読み出したことを示すデータInfo1を制御部112に出力する。また、データ入力処理部111は、目的言語データD1_jを第1機械翻訳処理部113で機械翻訳処理ができるデータ形式を有するデータx1…Sに変換し第1機械翻訳処理部113に出力する。
 第1機械翻訳処理部113は、実行モード(ベース対訳データDb_ejによる学習により取得された学習済みモデルを用いて機械翻訳処理を実行するモード)において、データ入力処理部111から入力したデータx1…Sに対して機械翻訳処理を実行する。具体的には、以下のようにして、逆翻訳部11において、目的言語から原言語への機械翻訳処理が実行される。
 入力データx1…Sのうちの1つのシンボルxがエンコーダ側埋込層e1に入力される。エンコーダ側埋込層e1では、埋め込み処理用の行列を用いて、入力されたシンボルxに対して行列変換することで、分散表現データXvが取得される。そして、取得された分散表現データXvは、エンコーダ側LSTM層e2に出力される。
 エンコーダ側LSTM層e2では、分散表現データXvと入力側隠れ状態データhis-1とに対してエンコード処理(例えば、LSTMによるエンコード処理)が実行され、時刻sの入力側隠れ状態データhiが取得される。
 エンコーダ側LSTM層e2で取得された入力側隠れ状態データhiは、保持部e3とアテンション部ATN1に出力される。
 保持部e3は、エンコーダ側LSTM層e2から出力される時刻sの入力側隠れ状態データhiを入力し、記憶保持するともに、現時刻の1つ前の時刻s-1の入力側隠れ状態データhis-1をエンコーダ側LSTM層e2に出力する。
 エンコーダ1131では、上記処理を時刻1からSまで繰り返し、時刻Sに達したとき、エンコーダ側LSTM層e2から出力された入力側隠れ状態データhiがデコーダ1132に出力される。
 アテンション部ATN1の保持部a1は、エンコーダから出力される入力側隠れ状態データhiを、1からSまでのすべての時刻sについて記録する。1からSまでのすべての時刻における入力側隠れ状態データをまとめてHiとする。
 コンテキスト算出部a2は、すべての時刻の入力側隠れ状態データHiと、出力側隠れ状態データhot-1とから、時刻tのコンテキスト状態データcを取得する。そして、コンテキスト算出部a2は、取得したコンテキスト状態データcをデコーダ側LSTM層d1に出力する。
 コンテキスト算出部a2は、ある時刻sにおける入力側隠れ状態データhisと、出力側隠れ状態データhot-1から、ある時刻sにおける入力シンボルのアライメントスコアestを算出する。この算出には、入力側隠れ状態データhiと、出力側隠れ状態データhoの重み付き和をとるなどの方法が用いられるが、他の算出方法でもよい。
 コンテキスト算出部a2は、入力シンボルのアライメントスコアestを1からSのすべての時刻について算出し、総和が1となるように正規化して入力シンボルの重みαstを得る。そして、コンテキスト算出部a2は、すべての時刻sについて、入力側隠れ状態データHiを入力シンボルの重みαstで重み付き混合し、コンテキスト状態データcを得る。
 そして、上記処理により取得されたコンテキスト状態データcは、デコーダ側LSTM層d1に出力される。
 デコーダ1132は、まずエンコーダ1131から出力された入力側隠れ状態データhiを、出力側隠れ状態データの初期値hoとして保持部d2に記録する。また、文開始記号(BOS)を、出力シンボルの初期値yとして保持部d4に保存する。
 デコーダ側埋込層d0は、ある時刻tの一つ前の時刻t-1に対して、保持部d2から時刻t-1における出力シンボルyt-1を取得し、埋め込み処理を行うための行列を用いて、行列変換することで、分散表現データYvt-1を取得する。そして、デコーダ側埋込層d0は、取得した分散表現データYvt-1をデコーダ側LSTM層d1に出力する。
 デコーダ側LSTM層d1では、コンテキスト状態データcと、出力側隠れ状態データhot-1と、分散表現データYvt-1とに対してデコード処理(例えば、LSTMによるデコード処理)が実行され、時刻tの出力側隠れ状態データhoが取得される。そして、取得された出力側隠れ状態データhoは、サンプリング部d3、保持部d2、および、アテンション部ATN1に出力される。
 保持部d2は、デコーダ側LSTM層d1から出力される時刻tの出力側隠れ状態データhoを入力し、記憶保持するともに、時刻t-1の出力側隠れ状態データhot-1をデコーダ側LSTM層d1に出力する。
 サンプリング部d3では、出力側隠れ状態データhoから単語出力分布Yoを算出し、そこからランダムサンプリング処理により、時刻tの出力シンボルyが取得される。
 単語出力分布Yoは、すべての出力シンボル候補を事後確率分布で示したデータであり、出力側隠れ状態データhoを線形変換し、正規化することにより算出される。従来のニューラル機械翻訳処理では、出力シンボルの事後確率が最大確率となるデータを単語出力分布Yoの中から選択し、選択したデータに対応する出力シンボルyが出力される。このような処理を行う代わりに、サンプリング部d3は、単語出力分布Yoに従った確率ですべての出力シンボル候補からランダムにデータを選択し、選択したデータに対応するデータを出力シンボルyとして出力する。これにより、サンプリング部d3から出力されるデータは、出力シンボルの事後確率が最大確率となるデータに限定されず、出力シンボルの事後確率が低い(尤度が低い)データも出力されることになる。
 デコーダ1132は上記処理を時刻1からTまで繰り返し、出力データy1…Tを取得する。
 そして、上記にようにして取得された出力データy1…Tは、第1機械翻訳処理部113からデータ出力処理部114に出力される。
 なお、第1機械翻訳処理部113は、制御部112から出力される制御信号Ctl1に基づいて、1つの目的言語データD1_jに対して、N個の原言語データが取得されるまで、複数回、機械翻訳処理を実行する。
 データ出力処理部114は、データD1_jに対応する機械翻訳結果データが取得されるまで、第1機械翻訳処理部113から出力される出力データy1…Tを取得し続ける。そして、データ出力処理部114は、データD1_jに対応する機械翻訳結果データが取得された後、取得したデータy1…Tから、データD1_jに対応する機械翻訳結果データであるデータD1_eを取得する。
 データ出力処理部114は、制御信号Ctl1に基づいて、N個の機械翻訳結果データD1_eを取得した後、当該N個の機械翻訳結果データD1_eをまとめたデータを疑似原言語群データD1_e_Nとして、疑似対訳データ取得部12に出力する。
 疑似対訳データ取得部12は、目的言語データD1_jと、疑似原言語群データD1_e_Nに含まれるN個の疑似原言語データD1_eのそれぞれをペアにしたデータを生成し、生成したN組のデータを疑似対訳データDp1_ej_Nとして、疑似対訳コーパス記憶部DB_pに出力する。
 図12は、逆翻訳部11により取得した疑似原言語データD1_e_Nの一例を示す図である。具体的には、図12の上段に目的言語データD1_jを示し、図12の中段に疑似原言語データD1_e_N(N=5の場合)を示し、図12の下段に参考として人手による逆翻訳した文を示している。
 従来のニューラル機械翻訳処理では、出力シンボルの事後確率が最大確率となるデータを単語出力分布の中から選択するので、図12に示した場合、対数尤度が最大であるデータD1_e[1]に示した疑似原言語データのみが取得されることになる。
 一方、疑似対訳データ生成部1の逆翻訳部11では、サンプリング部d3により、出力側隠れ状態データhoから算出された単語出力分布Yoに従った確率でランダムにデータが選択され、選択されたデータに対応するシンボルが出力シンボルyとして出力される。したがって、疑似対訳データ生成部1の逆翻訳部11では、図12に示したように、対数尤度が分散した多様な原言語データを取得することができる。特に、従来技術では、対数尤度の低い疑似原言語データが取得されることはなく、一般的に機械翻訳の出力は傾向が類似しており、多様性を出すのが困難である。逆翻訳部11では、上記のように処理することで、従来の機械翻訳で出力することが困難であった多様な翻訳文を取得することができる。
 例えば、図12のデータの場合、疑似対訳データ取得部12は、図12の上段に示した目的言語データD1_jと、図12の中段に示したN(=5)個の疑似原言語データD1_e(D1_e[1]、D1_e[2]、・・・、D1_e[5]と表記する)のそれぞれをペアにしたデータを生成する。つまり、疑似対訳データ取得部12は、N(=5)組のデータ、すなわち、
(1)[D1_j,D1_e[1]]
(2)[D1_j,D1_e[2]]
(3)[D1_j,D1_e[3]]
(4)[D1_j,D1_e[4]]
(5)[D1_j,D1_e[5]]
を生成する。そして、上記のN組のデータを疑似対訳データDp1_ej_N(={[D1_j,D1_e[1]],[D1_j,D1_e[2]],[D1_j,D1_e[3]],[D1_j,D1_e[4]],[D1_j,D1_e[5]])として、疑似対訳コーパス記憶部DB_pに出力する。
 疑似対訳コーパス記憶部DB_pは、疑似対訳データ生成部1により取得された疑似対訳データDp1_ej_Nを記憶する。
 以上のように、機械翻訳システム1000では、疑似対訳データ生成処理が実行される。
 (1.2.2:機械翻訳訓練処理)
 次に、機械翻訳システム1000における機械翻訳訓練処理について、説明する。
 合成対訳データ取得部2は、疑似対訳コーパス記憶部DB_pから疑似対訳データDp2_ejを読み出すとともに、ベース対訳コーパスDB_bからベース対訳データDb2_ejを読み出す。合成対訳データ取得部2は、疑似対訳データDp2_ejと、ベース対訳データDb2_ejとに対して対訳データを合成する処理を実行し、合成対訳データD2_ejを取得する。
 具体的には、合成対訳データ取得部2は、疑似対訳データDp2_ejと、ベース対訳データDb2_ejとをそれぞれミニバッチ集合データとして作成し、作成したミニバッチ集合ごとに学習率を設定する。例えば、合成対訳データ取得部2がベース対訳データDb2_ejを集めて作成したミニバッチ集合データに学習率η(=η0)を紐付けた場合のデータをData1(Db2_ej,η0)、Data2(Db2_ej,η0)、Data3(Db2_ej,η0)、・・・、Datak(Db2_ej,η0)と表記する。
 また、合成対訳データ取得部2が疑似対訳データDp2_ejを集めて作成したミニバッチ集合データに学習率η1(例えば、η1=η/N)を紐付けた場合のデータをData1(Dp2_ej,η1)、Data2(Dp2_ej,η1)、Data3(Dp2_ej,η1)、・・・、Datak(Db2_ej,η1)と表記する。
 そして、合成対訳データ取得部2は、上記のように生成したベース対訳データDb2_ejを集めて作成したミニバッチ集合データと疑似対訳データDp2_ejを集めて作成したミニバッチ集合データとを混合して順序を入れ替え、合成対訳データD2_ejを、例えば、以下のデータとして生成する。
  D2_ej={Data1(Db2_ej,η0),Data2(Db2_ej,η0),Data3(Db2_ej,η0),Data4(Dp2_ej,η1),Data5(Dp2_ej,η1),・・・,Datak(Dp2_ej,η1),・・・}
  η1=η0/N
 通常、疑似対訳データDp2_ejを集めて作成したミニバッチ集合データのデータ数は、ベース対訳データDb2_ejを集めて作成したミニバッチ集合データのデータ数よりも遙かに多い。その一方で、対訳データの精度は、ベース対訳データDb2_ejの方が疑似対訳データDp2_ejよりも高い。したがって、翻訳部3の学習モデルを構築するときに、疑似対訳データDp2_ejとベース対訳データDb2_ejとを同じ学習率にして学習処理を実行すると、精度の高い学習処理(訓練処理)を行うことができない。
 そこで、合成対訳データ取得部2は、上記のように、疑似対訳データDp2_ejを集めて作成したミニバッチ集合データの学習率η1を、ベース対訳データDb2_ejを集めて作成したミニバッチ集合データの学習率η0よりも小さい値にして、合成対訳データD2_ejを取得する。そして、このようにして取得した合成対訳データD2_ejを用いることで、翻訳部3において、精度の高い学習処理(訓練処理)を行うことができる。
 上記のようにして取得された合成対訳データD2_ejは、合成対訳データ取得部2から翻訳部3に出力される。
 翻訳部3の学習率調整部30は、合成対訳データ取得部2から出力される学習率ηを対応付けた合成対訳データD2_ejを入力する。学習率調整部30は、エンコーダ321およびデコーダ322に、ベース対訳コーパスDB_bから取得した対訳データを出力する場合、出力学習率η_outを対応する学習率η(例えば、η0)に設定して出力する。一方、学習率調整部30は、エンコーダ321およびデコーダ322に、疑似対訳コーパス記憶部DB_pから取得した対訳データを出力する場合、出力学習率η_outを対応する学習率η(例えば、η0/N)に設定して出力する。なお、学習率調整部30は、出力学習率η_outをアテンション部ATN1Aにも出力する。
 例えば、学習率調整部30は、合成対訳データD2_ejに含まれるミニバッチ集合データデータData1(Db2_ej,η0)を処理する場合、学習率をη0にして、データData1(Db2_ej,η0)に含まれるベース対訳データをエンコーダ321、デコーダ322に入力して、第2機械翻訳処理部32の学習モデルを構築するための学習処理(訓練処理)を実行する。この場合、精度の高いベース対訳データを用いているので、高い学習率で学習処理(訓練処理)が実行される。
 一方、学習率調整部30は、合成対訳データD2_ejに含まれるミニバッチ集合データデータData4(Dp2_ej,η1)を処理する場合、学習率をη1(例えば、η1=η0/N)にして、データData4(Dp2_ej,η1)に含まれる疑似対訳データをエンコーダ321、デコーダ322に入力して、第2機械翻訳処理部32の学習モデルを構築するための学習処理(訓練処理)を実行する。この場合、ベース対訳データよりも精度の低い疑似対訳データを用いているので、ベース対訳データを用いる場合よりも低い学習率で学習処理(訓練処理)が実行される。
 上記のようにして、翻訳部3では、学習モデルを構築するための学習処理(訓練処理)が実行される。
 (1.2.3:機械翻訳実行処理)
 次に、機械翻訳システム1000における機械翻訳実行処理について、説明する。
 原言語データDin_eが翻訳部3の入力データ変換部31に入力される。
 入力データ変換部31は、原言語データDin_eを第2機械翻訳処理部32で機械翻訳処理ができるデータ形式を有するデータx1…Sに変換し、変換したデータx1…Sを第2機械翻訳処理部32に出力する。
 第2機械翻訳処理部32では、上記の機械翻訳訓練処理により、翻訳部3に構築された学習モデルを用いて、データx1…Sに対して機械翻訳処理が実行され出力データy1…Tが取得される。
 出力データ変換部33は、第2機械翻訳処理部32から出力される出力データy1…Tを入力し、出力データ変換部33は、原言語データDin_eに対応する機械翻訳結果データが取得された後、取得したデータy1…Tから、目的言語データDout_jを取得し出力する。
 上記のようにして、機械翻訳システム1000における機械翻訳実行処理が実行される。
 以上のように、機械翻訳システム1000では、目的言語の単言語コーパスを用いて、1つの目的言語データから複数の疑似原言語データを取得し、多様性を有する疑似対訳コーパスデータを大量に取得することができる。そして、機械翻訳システム1000では、大量に取得した多様性を有する疑似対訳コーパスデータ、および、少量だが精度の高いベース対訳コーパスデータの両方を用いて、学習率を変えて、機械翻訳モデルの学習処理(訓練処理)を実行する。これにより、機械翻訳システム1000では、非常に精度の高い学習済みモデル(機械翻訳モデル)を取得することができる。
 例えば、ベース対訳コーパスデータを40万文のデータとし、疑似対訳コーパスデータを155万文のデータとして、上記処理により、翻訳部3で機械翻訳モデルの学習処理(訓練処理)を行い取得した学習済みモデルによる翻訳精度を測定した結果、上記処理による翻訳の精度は、ベース対訳コーパスデータのみを用いて取得した機械翻訳モデル(学習済みモデル)による機械翻訳に対して、BLEUスコアで3.0~5.0程度改善され、非特許文献1の技術を用いた場合に比べても、BLEUスコアで約0.5~2.0程度改善される。
 なお、機械翻訳システム1000において、疑似対訳データDp1_ej_Nの精度が悪い、すなわち、翻訳部3の学習処理(訓練処理)に悪影響を与えていると判断できる場合、疑似対訳データDp1_ej_Nに対してフィルタリング処理を行うようにしてもよい。例えば、以下の基準により、選択するデータを決定するようにしてもよい。
(1)尤度
 逆翻訳部11で取得される尤度(翻訳文の長さで補正した尤度を含む)を基準として、疑似対訳データDp1_ej_Nに含める疑似原言語データD1_eを選択する。
(2)信頼度
 例えば、下記文献(Atsushi Fujita等)に開示されている技術により取得される翻訳文の信頼度を基準として、疑似対訳データDp1_ej_Nに含める疑似原言語データD1_eを選択する。
Atsushi Fujita and Eiichiro Sumita. 2017. Japanese to English/Chinese/Korean datasets for translation quality estimation and automatic post-editing. In Proc of WAT2017, pages 79-88.
(3)ランダム選択
 ランダム選択により、疑似対訳データDp1_ej_Nに含める疑似原言語データD1_eを選択する。
 [他の実施形態]
 上記実施形態の機械翻訳システム1000において、ベース対訳コーパスDB_bから取得した対訳データの学習率(例えば、η=η0)と、疑似対訳コーパス記憶部DB_pから取得した対訳データの学習率(例えば、η=η0/N)とをそれぞれ固定の値にする場合について説明したが、これに限定されることはなく、例えば、バッチ集合データごとに、学習率を可変にしてもよい。また、ベース対訳コーパスDB_bから取得した対訳データの学習率(例えば、η=η0)と、疑似対訳コーパス記憶部DB_pから取得した対訳データの学習率(例えば、η=η0/N)とは、上記の値に限定されることはなく、他の値であってもよい。例えば、疑似対訳コーパス記憶部DB_pから取得した対訳データの学習率は、η=η0/M(M:実数)であってもよい。
 また、上記実施形態では、第1機械翻訳処理部での処理をN回実行することで、1つの目的言語データに対してN個(N:2以上の自然数)の疑似原言語データを取得する場合について説明したが、これに限定されることはなく、例えば、第1機械翻訳処理部で1回の機械翻訳処理を実行し、入力データに対する単語出力分布の中の複数の候補から出力データをランダムに選択する処理をN回繰り返すことで、N個の疑似原言語データを取得するようにしてもよい。
 上記実施形態の機械翻訳システム1000の各機能部の一部または全部は、1つの装置で実現されるものであってもよいし、複数の装置により実現されるものであってもよい。
 また上記実施形態で説明した機械翻訳システム1000において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部または全部を含むように1チップ化されても良い。
 なおここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
 また上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
 また上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらにソフトウェアおよびハードウェアの混在処理により実現しても良い。
 例えば上記実施形態の各機能部をソフトウェアにより実現する場合、図9に示したハードウェア構成(例えばCPU、ROM、RAM、入力部、出力部、通信部、記憶部(例えば、HDD、SSD等により実現される記憶部)、外部メディア用ドライブ等をバスBusにより接続したハードウェア構成)を用いて各機能部をソフトウェア処理により実現するようにしてもよい。
 また上記実施形態の各機能部をソフトウェアにより実現する場合、当該ソフトウェアは、図9に示したハードウェア構成を有する単独のコンピュータを用いて実現されるものであってもよいし、複数のコンピュータを用いて分散処理により実現されるものであってもよい。
 例えば、疑似対訳データ生成方法をソフトウェアにより実現する場合、図14(a)に示したフローチャートにより、疑似対訳データ生成方法を実現するようにしてもよい。
 具体的には、疑似対訳データ生成方法では、ステップS101において、目的言語単言語コーパスから目的言語単言語データの読み出し処理が実行される。
 ステップS102では、ステップS101で読み出した、1つの目的言語データに対して逆翻訳処理が実行され、N個の原言語データが取得される。
 ステップS103では、1つの目的言語データと、そのデータを逆翻訳して取得したN個の原言語データとを組にした疑似対訳データを取得する。
 ステップS104では、ステップS103で取得された疑似対訳データを例えば、データベースに記憶することで、疑似対訳データコーパスを取得する。
 また、例えば、機械翻訳の学習モデルを構築するための学習処理(訓練処理)方法をソフトウェアにより実現する場合、図14(b)に示したフローチャートにより、当該方法を実現するようにしてもよい。
 具体的には、機械翻訳の学習モデルを構築するための学習処理(訓練処理)方法では、ステップS201において、ベース対訳コーパスからベース対訳データを読み出す。
 ステップS202において、疑似対訳コーパスから疑似対訳データを読み出す。
 ステップS203において、ステップS201で取得したベース対訳データのミニバッチ集合を生成し、ステップS202で取得した疑似対訳データのミニバッチ集合を生成し、さらに、両方のミニバッチ集合を混合して順序を入れ替えることで、合成対訳データを取得する。
 ステップS204において、合成対訳データに含まれる各ミニバッチ集合の学習率を設定する。
 ステップS205において、合成対訳データに含まれる各ミニバッチ集合を用いて学習処理を行う。なお、このときは、学習率は、処理対象のミニバッチ集合に設定されている学習率を用いる。
 上記のようにして、疑似対訳データ生成方法、および、機械翻訳の学習モデルを構築するための学習処理(訓練処理)方法をソフトウェアにより実現することができる。
 また上記実施形態における処理方法の実行順序は、必ずしも上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
 前述した方法をコンピュータに実行させるコンピュータプログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここでコンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
 上記コンピュータプログラムは、上記記録媒体に記録されたものに限らず、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
 なお本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
 本発明によれば、目的言語の単言語コーパスを用いてエンコーダ(アテンションを含む)を強化し、翻訳器全体の精度向上させるニューラル機械翻訳のモデル訓練方法と当該モデル訓練方法を実行するための機械翻訳システムを実現することができる。このため本発明は、自然言語処理関連産業分野において有用であり、当該分野において実施することができる。
1000 機械翻訳システム
1 疑似対訳データ生成部(疑似対訳データ生成装置)
11 逆翻訳部
113 第1機械翻訳処理部
1131 エンコーダ
1132 デコーダ
12 疑似対訳データ取得部
2 合成対訳データ取得部
3 翻訳部
DB_p 疑似対訳コーパス記憶部
DB_b ベースコーパス記憶部
DB_m 目的言語単言語コーパス記憶部

Claims (6)

  1.  目的言語単言語コーパスから取得した1つの目的言語データに対して機械逆翻訳処理を施すことでN個(N:2以上の自然数)の疑似原言語データを取得する逆翻訳部と、
     前記1つの目的言語データと、前記逆翻訳部により取得された前記N個の疑似原言語データのそれぞれを組にすることでN組の疑似対訳データを取得する疑似対訳データ取得部と、
    を備える疑似対訳データ生成装置。
  2.  前記逆翻訳部は、
     入力データから入力側隠れ状態データを取得するエンコーダと、
     前記エンコーダにより取得された入力側隠れ状態データから出力側隠れ状態データを取得し、取得した出力側隠れ状態データが表す出力単語分布の中からランダムにデータを選択し、選択したデータに対応する単語データを出力データとして出力するデコーダと、
    を備える、
     請求項1に記載の疑似対訳データ生成装置。
  3.  前記疑似対訳データを記憶する疑似対訳コーパス記憶部をさらに備え、
     前記疑似対訳データ取得部は、
     前記逆翻訳部が取得した前記疑似原言語データの尤度および信頼度の少なくとも一方に基づいて、前記N組の疑似対訳データに対してフィルタリング処理を行い、フィルタリング処理後の疑似対訳データを前記疑似対訳コーパス記憶部に記憶させる、
     請求項1または2に記載の疑似対訳データ生成装置。
  4.  ベース対訳コーパスから取得したベース対訳データと、前記ベース対訳データに対応する第1学習率とを対応付けて第1バッチ集合データを生成し、
     請求項1から3のいずれかに記載の疑似対訳データ生成装置により生成された疑似対訳データと、前記疑似対訳データに対応する第2学習率とを対応付けて第2バッチ集合データを生成し、
     前記第1バッチ集合データと前記第2バッチ集合データを含む合成対訳データを取得する合成対訳データ取得部と、
     前記合成対訳データを用いて学習することで機械翻訳処理用の学習済みモデルを取得するとともに、前記学習済みモデルにより、原言語データを目的言語データに機械翻訳する機械翻訳処理を実行する翻訳部であって、前記第1バッチ集合データを用いた学習処理では前記第1学習率により前記学習処理を実行し、前記第2バッチ集合データを用いた学習処理では前記第2学習率により前記学習処理を実行する前記翻訳部と、
    を備える機械翻訳処理装置。
  5.  前記第1学習率は、前記第2学習率よりも大きな値である、
     請求項4に記載の機械翻訳処理装置。
  6.  目的言語単言語コーパスから取得した1つの目的言語データに対して機械逆翻訳処理を施すことでN個(N:2以上の自然数)の疑似原言語データを取得する逆翻訳ステップと、
     前記1つの目的言語データと、前記逆翻訳ステップにより取得された前記N個の疑似原言語データのそれぞれを組にすることでN組の疑似対訳データを取得する疑似対訳データ取得ステップと、
    を備える疑似対訳データ生成方法。
PCT/JP2019/004805 2018-03-02 2019-02-12 疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法 WO2019167600A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/969,619 US11816444B2 (en) 2018-03-02 2019-02-12 Pseudo parallel translation data generation apparatus, machine translation processing apparatus, and pseudo parallel translation data generation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018037055A JP7170984B2 (ja) 2018-03-02 2018-03-02 疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法
JP2018-037055 2018-03-02

Publications (1)

Publication Number Publication Date
WO2019167600A1 true WO2019167600A1 (ja) 2019-09-06

Family

ID=67805291

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/004805 WO2019167600A1 (ja) 2018-03-02 2019-02-12 疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法

Country Status (3)

Country Link
US (1) US11816444B2 (ja)
JP (1) JP7170984B2 (ja)
WO (1) WO2019167600A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111178085A (zh) * 2019-12-12 2020-05-19 科大讯飞(苏州)科技有限公司 文本翻译器训练方法、专业领域文本语义解析方法和装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941966A (zh) 2019-12-10 2020-03-31 北京小米移动软件有限公司 机器翻译模型的训练方法、装置及系统
CN111859995B (zh) * 2020-06-16 2024-01-23 北京百度网讯科技有限公司 机器翻译模型的训练方法、装置、电子设备及存储介质
CN113239708B (zh) * 2021-04-28 2023-06-20 华为技术有限公司 一种模型训练的方法、翻译的方法以及装置
CN113657122B (zh) * 2021-09-07 2023-12-15 内蒙古工业大学 一种融合迁移学习的伪平行语料库的蒙汉机器翻译方法
CN114429144B (zh) * 2021-12-28 2023-07-07 华东师范大学 一种运用辅助记忆的多样性机器翻译方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8548794B2 (en) * 2003-07-02 2013-10-01 University Of Southern California Statistical noun phrase translation
BRPI0706404B1 (pt) * 2006-02-17 2019-08-27 Google Inc acesso escalável, de codificação e adaptável de modelos distribuídos
US7774193B2 (en) * 2006-12-05 2010-08-10 Microsoft Corporation Proofing of word collocation errors based on a comparison with collocations in a corpus
US8775155B2 (en) * 2010-10-25 2014-07-08 Xerox Corporation Machine translation using overlapping biphrase alignments and sampling
US9152622B2 (en) * 2012-11-26 2015-10-06 Language Weaver, Inc. Personalized machine translation via online adaptation
JP6175900B2 (ja) * 2013-05-23 2017-08-09 富士通株式会社 翻訳装置、方法、及びプログラム
JP2014235599A (ja) * 2013-06-03 2014-12-15 独立行政法人情報通信研究機構 翻訳装置、学習装置、翻訳方法、およびプログラム
US9836457B2 (en) * 2015-05-25 2017-12-05 Panasonic Intellectual Property Corporation Of America Machine translation method for performing translation between languages
CN106383818A (zh) * 2015-07-30 2017-02-08 阿里巴巴集团控股有限公司 一种机器翻译方法及装置
CN106484681B (zh) * 2015-08-25 2019-07-09 阿里巴巴集团控股有限公司 一种生成候选译文的方法、装置及电子设备
CN107273106B (zh) * 2016-04-08 2021-07-06 北京三星通信技术研究有限公司 物体信息翻译、以及衍生信息获取方法和装置
US10114819B2 (en) * 2016-06-24 2018-10-30 Facebook, Inc. Optimizing machine translations for user engagement
US10049106B2 (en) * 2017-01-18 2018-08-14 Xerox Corporation Natural language generation through character-based recurrent neural networks with finite-state prior knowledge
US10565318B2 (en) * 2017-04-14 2020-02-18 Salesforce.Com, Inc. Neural machine translation with latent tree attention
JP6846666B2 (ja) * 2017-05-23 2021-03-24 パナソニックIpマネジメント株式会社 翻訳文生成方法、翻訳文生成装置及び翻訳文生成プログラム
US10679014B2 (en) * 2017-06-08 2020-06-09 Panasonic Intellectual Property Management Co., Ltd. Method for providing translation information, non-transitory computer-readable recording medium, and translation information providing apparatus
JP7030434B2 (ja) * 2017-07-14 2022-03-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 翻訳方法、翻訳装置及び翻訳プログラム
WO2019060353A1 (en) * 2017-09-21 2019-03-28 Mz Ip Holdings, Llc SYSTEM AND METHOD FOR TRANSLATION OF KEYBOARD MESSAGES
KR102458244B1 (ko) * 2017-11-23 2022-10-24 삼성전자주식회사 기계 번역 방법 및 장치
WO2019123854A1 (ja) * 2017-12-18 2019-06-27 パナソニックIpマネジメント株式会社 翻訳装置、翻訳方法、及びプログラム
JP2019121241A (ja) * 2018-01-09 2019-07-22 パナソニックIpマネジメント株式会社 翻訳装置、翻訳方法、及びプログラム
US11151334B2 (en) * 2018-09-26 2021-10-19 Huawei Technologies Co., Ltd. Systems and methods for multilingual text generation field

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IMAMURA, KENJI ET AL.: "Introduction of monolingual corpus to neural machine translation by pseudo-original text generation", PRESENTATION PROCEEDINGS [ ONLINE ] OF THE 23TH ANNUAL MEETING OF THE ASSOCIATION FOR NATURAL LANGUAGE PROCESSING, 6 March 2017 (2017-03-06), pages 1026 - 1029 *
SATO, TAKAYUKI ET AL.: "Creation of high-quality large pseudo-bilingual corpus by reverse translation", PRESENTATION PROCEEDINGS [ ONLINE ] OF THE 23TH ANNUAL MEETING OF THE ASSOCIATION FOR NATURAL LANGUAGE PROCESSING, 6 March 2017 (2017-03-06), pages 210 - 213 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111178085A (zh) * 2019-12-12 2020-05-19 科大讯飞(苏州)科技有限公司 文本翻译器训练方法、专业领域文本语义解析方法和装置

Also Published As

Publication number Publication date
US11816444B2 (en) 2023-11-14
US20210027026A1 (en) 2021-01-28
JP7170984B2 (ja) 2022-11-15
JP2019153023A (ja) 2019-09-12

Similar Documents

Publication Publication Date Title
WO2019167600A1 (ja) 疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法
US10515155B2 (en) Conversational agent
CN109408526B (zh) Sql语句生成方法、装置、计算机设备及存储介质
CN106257440B (zh) 语义信息生成方法和语义信息生成装置
CN103189860B (zh) 组合句法转换模型与词汇转换模型的机器翻译装置和机器翻译方法
WO2022088570A1 (zh) 译文后编译方法、装置、电子设备和存储介质
US20200050737A1 (en) Molecular representation
CN115795009A (zh) 基于生成式多语言模型的跨语言问答系统构建方法和装置
CN111008517A (zh) 一种基于张量分解技术的神经语言模型的压缩方法
JP2020140709A (ja) ニューラル機械翻訳モデルの訓練方法、装置及び記憶媒体
CN112446221B (zh) 翻译评估方法、装置、系统及计算机存储介质
CN116822464A (zh) 一种文本纠错方法、系统、设备及存储介质
JP6743942B2 (ja) 語彙テーブルの選択方法、装置およびコンピュータ読み取り可能な記憶媒体
TW201133470A (en) Compressing feature space transforms
JP7173149B2 (ja) 生成方法、生成プログラムおよび情報処理装置
CN115860015B (zh) 一种基于翻译记忆的转写文本翻译方法和计算机设备
JP2020177196A (ja) 手話cg制作支援装置及びプログラム
JP6261669B2 (ja) クエリ校正システムおよび方法
CN114333759A (zh) 模型训练方法、语音合成方法、设备和计算机程序产品
KR20220054753A (ko) 음성 검색 방법 및 장치, 전자 기기, 컴퓨터 판독 가능 한 저장 매체 및 컴퓨터 프로그램
CN113936642A (zh) 发音词典构建方法、语音识别方法及相关装置
US20230274102A1 (en) Method for training machine translation model for generating pseudo parallel translation data, method for obtaining pseudo parallel translation data, and method for training machine translation model
CN115662392B (zh) 一种基于音素记忆的音译方法、电子设备及存储介质
CN112037770B (zh) 发音词典的生成方法、单词语音识别的方法和装置
CN117034968B (zh) 神经机器翻译方法、装置、电子设备及介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19761499

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19761499

Country of ref document: EP

Kind code of ref document: A1