WO2022039031A1 - 疑似対訳データ生成用機械翻訳モデルの学習方法、疑似対訳データ取得方法、および、機械翻訳モデルの学習方法 - Google Patents

疑似対訳データ生成用機械翻訳モデルの学習方法、疑似対訳データ取得方法、および、機械翻訳モデルの学習方法 Download PDF

Info

Publication number
WO2022039031A1
WO2022039031A1 PCT/JP2021/029060 JP2021029060W WO2022039031A1 WO 2022039031 A1 WO2022039031 A1 WO 2022039031A1 JP 2021029060 W JP2021029060 W JP 2021029060W WO 2022039031 A1 WO2022039031 A1 WO 2022039031A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
translation
language
pseudo
machine translation
Prior art date
Application number
PCT/JP2021/029060
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 US18/017,938 priority Critical patent/US20230274102A1/en
Publication of WO2022039031A1 publication Critical patent/WO2022039031A1/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
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • 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
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • 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/09Supervised learning

Definitions

  • the present invention relates to a technique of neural machine translation.
  • Neural machine translation is a machine translation technology that uses a multi-layer neural network.
  • a neural machine translation system includes a neural network (encoder) that converts each word of the source language and the entire sentence into a vector or tensor, and a neural network (decoder) that generates a sequence of words of the target language from the obtained vector or tensor. It is composed of, and learns a neural network model (optimizes parameters) based on translation data.
  • the translation performance that can be achieved with a neural machine translation system strongly depends on the size of the bilingual data for a given source language, target language, and target field.
  • Bilingual data of a language pair that is the target of machine translation and another field (field other than the field that is the target of machine translation) of the same language pair, or translation of another language pair but in the same field If data exists, machine translation in the target field may be realized by machine translation field application technology and multilingual machine translation technology using the bilingual data.
  • Non-Patent Document 1 an unsupervised machine translation technique for constructing a machine translation system from only single language data without using bilingual data of other fields or bilingual data of other language pairs has been proposed (for example, Non-Patent Document 1). See).
  • the present invention is a pseudo method for accurately executing machine translation in the application destination field even when there is no bilingual translation data in the application destination field (field targeted for machine translation).
  • a pseudo-translation data generator that generates bilingual data
  • a machine translation system that accurately executes machine translation in the applicable field using the pseudo-translation data generated by the pseudo-translation data generator, and the machine translation system. It is an object of the present invention to realize a learning method of a machine translation model for generating pseudo-translation data, a method of acquiring pseudo-translation data, and a method of learning a machine translation model used in.
  • the first invention for solving the above problem is a learning method of a machine translation model for generating pseudo-translation data for generating pseudo-translation data, and includes an initialization step and an optimization step.
  • the initialization step is It is the translation data of the first language of the other field, which is the data of the first language of the field other than the application destination field, which is the target field of the pseudo-translation data to be generated, and the second language data of the first language data of the other field.
  • Other field bilingual data set Dsetp including a plurality of bilingual data consisting of second language data of other fields, and A single language data set Dsetm (L1) in another field containing a plurality of data in the first language in a field other than the applicable field, and A single language data set Dsetm (L2) in another field that includes multiple data in a second language other than the field to which it is applied, and
  • the target field single language data set Dsetm (R1) containing a plurality of data of the first language of the destination field
  • the application destination field single language data set Dsetm (R2) containing a plurality of second language data of the adaptation destination field, and Is used to perform a learning process of the machine translation model for generating pseudo-translation data, and the parameters set in the machine translation model for generating pseudo-translation data after the learning process is executed are set as initial parameters.
  • the optimization step is For the machine translation model for pseudo-translation data generation with the initial parameters set, (1) Self-encoding processing in which the correct answer data is made the same as the input data and the learning process of the machine translation model for generating pseudo-translation data is performed. (2) Output data of a machine translation model for generating pseudo-translation data for input data (this "output data" is, for example, data in a language different from the input data and zero shot (a field that has never been learned).
  • Is input to the machine translation model for generating pseudo-translation data again, and the output of the machine translation model for generating pseudo-translation data (this "output" is in the same language as the input data) is Zero-shot wrapping machine translation processing that trains the machine translation model for pseudo-translation data generation so that it is the same as the input data.
  • One of the first language data and the second language data included in the other field bilingual data set Dsetp (L1-L2) is used as the input of the machine translation model for generating pseudo bilingual data, and the other is used as the correct answer data.
  • Machine translation processing with a teacher that learns the machine translation model for pseudo-translation data generation By performing a learning process using at least one of the above, the optimum parameters of the machine translation model for generating pseudo-translation data are acquired.
  • the machine translation model for generating the (learned) pseudo-translation data after learning is used to generate the pseudo-translation data of the application destination field even when the translation data in the application destination field (target field) does not exist. Can be done. Furthermore, by training a machine translation model using the generated pseudo-translation data of the target field and performing machine translation processing using the trained machine translation model, there is parallel translation data in the target field (target field). Even if this is not the case, machine translation in the applicable field can be performed with high accuracy.
  • the target to be initialized by the pre-learning process may be only the part for acquiring the distributed representation data from the input data.
  • the machine translation model consists of an embedded layer that acquires distributed representation data from input data (for example, realized by an input data embedding unit) and a neural network model for machine translation (neural network model for MT).
  • an embedded layer that acquires distributed representation data from input data for example, realized by an input data embedding unit
  • a neural network model for a cross-language language model neural network model for XLM, XLM: Cross.
  • -A cross-language language model consisting of a neural language model is set, and parameter optimization processing of the embedded layer and the cross-language language model is performed.
  • the machine translation model is set as a model consisting of an embedded layer after optimization processing of the cross-language language model (for example, realized by an input data embedding unit) and a neural network model for MT, and the cross-language language model is used.
  • the state after the optimization process of is set as the initial state, and the parameter optimization process of the embedded layer and the machine translation model may be performed.
  • the second invention uses the machine translation model for generating pseudo-translation data acquired by the learning method of the machine translation model for generating pseudo-translation data, which is the first invention, to acquire pseudo-translation data in the application destination field.
  • the translation data acquisition method includes a first machine translation step, a second machine translation step, and a pseudo translation data acquisition step.
  • the output is set to the second language of the application destination field for the data of the first language acquired from the other field translation data set Dsetp (L1-L2), and the machine translation for pseudo translation data generation.
  • the second language pseudo-translation data of the application destination field which is the machine translation result data of the data of the first language of the other field, is acquired.
  • the output is set to the first language of the application destination field for the data of the second language acquired from the other field translation data set Dsetp (L1-L2), and the machine translation for pseudo-translation data generation is performed.
  • the first language pseudo-translation data of the application destination field which is the machine translation result data of the data of the second language of the other field, is acquired.
  • the pseudo-translation data acquisition step includes the second language pseudo-translation data of the adaptation destination field acquired in the first machine translation step and the first language pseudo-translation data of the adaptation destination field acquired in the second machine translation step. By associating, pseudo-translation data of the application destination field is acquired.
  • the first machine translation step and the second machine translation step may be executed in parallel.
  • the third invention uses the machine translation model for generating pseudo-translation data acquired by the learning method of the machine translation model for generating pseudo-translation data according to the first invention to acquire pseudo-translation data in the application destination field. It is a bilingual data acquisition method, and includes a single language data machine translation step and a pseudo bilingual data acquisition step.
  • the monolingual data machine translation step is for the first language data obtained from the destination field monolingual data set Dsetm (R1) or the second language data obtained from the destination field monolingual data set Dsetm (R2). ,
  • the machine translation result of the data of the first language of the adaptation destination field is acquired.
  • the pseudo-translation data acquisition step includes the data of the first language or the second language of the application destination field used as the input of the machine translation model for generating the pseudo-translation data, and the monolingual data machine translation step.
  • the second language pseudo-translation data or the first language pseudo-translation data of the adaptation destination field acquired in the above is associated with the second language data of the adaptation destination field as an input of the machine translation model for generating the pseudo-translation data.
  • the first language pseudo-translation data of the adaptation destination field acquired in the single language data machine translation step are associated with each other to acquire the pseudo-translation data of the adaptation destination field.
  • the fourth invention is the second or third invention, which is a reliability indicating the accuracy of the result of the machine translation process for each sentence pair of the pseudo-translation data of the application destination field acquired by the pseudo-translation data acquisition step. Further provided is a filtering step of acquiring the degree and selecting and outputting only the pseudo-translation data including the sentence pair whose acquired reliability is equal to or higher than a predetermined value.
  • the "reliability" is an index indicating that the higher the value, the higher the reliability. Further, when the data (process result data) acquired by the machine translation process is the data of a word string or a token, the reliability is preferably given for each word or token.
  • the fifth invention is a learning method of a machine translation model for performing machine translation on the data of the first language of the application destination field and acquiring the data of the second language, and includes a machine translation model learning step.
  • the machine translation model learning step consists of pseudo-translation data in the application destination field acquired by the pseudo-translation data acquisition method according to any one of the second to fourth inventions, and data in the first language in a field other than the adaptation destination field.
  • Another field bilingual data set Dsetp (L1-L2) including a plurality of bilingual data composed of a certain other field first language data and another field second language data which is a translation data of the other field first language data in the second language. And, are used to train the machine translation model.
  • this machine translation model learning method even if there is no parallel translation data in the application destination field (target field), it is acquired by the pseudo parallel translation data acquisition method according to any one of the second to fifth inventions. It is possible to train a machine translation model using the pseudo-translation data of the applied target field. Then, by performing machine translation processing using the trained machine translation model, machine translation in the adaptation destination field can be performed accurately even when there is no bilingual translation data in the adaptation destination field (target field).
  • the sixth invention is acquired by the trained machine translation model acquired by the learning method of the machine translation model for generating pseudo-translation data of the first invention, or by the learning method of the machine translation model of the fifth invention. It is a machine translation device that performs machine translation processing using the trained machine translation model.
  • Machine translation processing can be performed using the trained machine translation model acquired by the method.
  • the present invention also includes a program for causing a computer to execute the learning method of the machine translation model for generating pseudo-translation data, which is the first invention.
  • the present invention also includes a program for causing a computer to execute the pseudo-translation data acquisition method according to any one of the second to fourth inventions.
  • the present invention also includes a program for causing a computer to execute the learning method of the machine translation model, which is the fifth invention. It was
  • a machine translation method that performs machine translation processing using the trained machine translation model acquired by the machine translation model learning method of the fifth invention, and a program for causing a computer to execute the machine translation method are also included in this book. Included in the invention.
  • pseudo bilingual data for accurately executing machine translation in the applicable field is generated.
  • a pseudo-translation data generator a machine translation system that accurately executes machine translation in the applicable field using the pseudo-translation data generated by the pseudo-translation data generator, and a pseudo-translation used in the machine translation system. It is possible to realize a learning method of a machine translation model for data generation, a pseudo-translation data acquisition method, and a learning method of a machine translation model.
  • the schematic block diagram of the machine translation system 1000 which concerns on 1st Embodiment.
  • the schematic block diagram of the pseudo bilingual data generation apparatus 100 which concerns on 1st Embodiment.
  • a flowchart of processing executed by the machine translation system 1000 The flowchart of the process executed by the pseudo-parallel translation data generation apparatus 100. The figure for demonstrating the process executed by the pseudo-parallel translation data generation apparatus 100.
  • the figure for demonstrating the process executed by the pseudo-parallel translation data generation apparatus 100 The figure for demonstrating the process executed by the pseudo-parallel translation data generation apparatus 100. The figure for demonstrating the process executed by the pseudo-parallel translation data generation apparatus 100. The figure for demonstrating the process executed by the pseudo-parallel translation data generation apparatus 100. The figure for demonstrating the process executed by the pseudo-parallel translation data generation apparatus 100. The figure for demonstrating the process executed by the pseudo-parallel translation data generation apparatus 100. The figure for demonstrating the process executed by the pseudo-parallel translation data generation apparatus 100. The figure which shows an example of the data acquired by the machine translation apparatus MT1. The figure which shows the CPU bus configuration.
  • FIG. 1 is a schematic configuration diagram of the machine translation system 1000 according to the first embodiment.
  • FIG. 2 is a schematic configuration diagram of the pseudo-translation data generation device 100 according to the first embodiment.
  • FIG. 3 is a schematic configuration diagram of an input data acquisition unit 1, an input data embedding unit 2, and an XLM processing unit 3 of the pseudo-translation data generation device 100 according to the first embodiment.
  • the first selector SEL1 is omitted.
  • FIG. 4 is a schematic configuration diagram of an input data acquisition unit 1, an input data embedding unit 2, and a machine translation processing unit 5 of the pseudo-translation data generation device 100 according to the first embodiment.
  • the first selector SEL1 is omitted.
  • the machine translation system 1000 includes a bilingual data storage unit DBp (L1-L2), a first monolingual data storage unit DBm (L1), and a second monolingual data storage unit DBm (L2). , A third monolingual data storage unit DBm (R1), a fourth monolingual data storage unit DBm (R2), a pseudo-translation data generation device 100, a pseudo-translation data storage unit DB1, and a machine translation device MT1. ..
  • the field targeted by the translation data generated by the pseudo translation data generation device 100 is referred to as an "adaptation destination field", and the field other than the adaptation destination field is referred to as “other field”.
  • the bilingual data storage unit DBp (L1-L2) is a second language of the first language data of the other field, which is the data of the first language of the field (other field) other than the application destination field, and the first language data of the other field.
  • the bilingual data storage unit DBp (L1-L2) stores the predetermined bilingual data D0 (L1) stored in the bilingual data storage unit DBp (L1-L2) based on the read command from the pseudo bilingual data generation device 100.
  • -L2) is read out, and the parallel translation data D0 (L1-L2) is output to the pseudo parallel translation data generation device 100.
  • the bilingual data storage unit DBp (L1-L2) is realized by, for example, a database. It is preferable that the number of bilingual data stored and stored in the bilingual data storage unit DBp (L1-L2) is large (the bilingual data storage unit DBp (L1-L2) stores and retains a large amount of bilingual data. Is preferable).
  • the first monolingual data storage unit DBm (L1) is a other field first language data set Dsetm including a plurality of other field first language data which is monolingual data of the first language of a field (other field) other than the application destination field.
  • the first monolingual data storage unit DBm (L1) is a predetermined first language unit stored in the first monolingual data storage unit DBm (L1) based on a read command from the pseudo-translation data generation device 100.
  • the language data D0 (L1) is read out, and the single language data D0 (L1) is output to the pseudo-translation data generation device 100.
  • the first monolingual data storage unit DBm (L1) is realized by, for example, a database.
  • the second monolingual data storage unit DBm (L2) is a second language data set Dsetm of another field including a plurality of second language data of another field which is a monolingual data of a second language of a field (other field) other than the application destination field.
  • Memorize (L2) is a predetermined second language unit stored in the second monolingual data storage unit DBm (L2) based on a read command from the pseudo-translation data generation device 100.
  • the language data D0 (L2) is read out, and the single language data D0 (L2) is output to the pseudo-translation data generation device 100.
  • the second monolingual data storage unit DBm (L2) is realized by, for example, a database.
  • the third monolingual data storage unit DBm (R1) stores the adaptation destination field first language data set Dsetm (R1) including a plurality of adaptation destination field first language data which is the monolingual data of the first language of the adaptation destination field. do.
  • the third monolingual data storage unit DBm (R1) is a predetermined first language unit stored in the third monolingual data storage unit DBm (R1) based on a read command from the pseudo-translation data generation device 100.
  • the language data D0 (R1) is read out, and the single language data D0 (R1) is output to the pseudo-translation data generation device 100.
  • the third monolingual data storage unit DBm (R1) is realized by, for example, a database.
  • the fourth monolingual data storage unit DBm (R2) stores the adaptation destination field second language data set Dsetm (R2) including a plurality of adaptation destination field second language data which is the monolingual data of the second language of the adaptation destination field. do.
  • the fourth monolingual data storage unit DBm (R2) is a predetermined second language unit stored in the fourth monolingual data storage unit DBm (R2) based on a read command from the pseudo-translation data generation device 100.
  • the language data D0 (R2) is read out, and the single language data D0 (R2) is output to the pseudo-translation data generation device 100.
  • the fourth monolingual data storage unit DBm (R2) is realized by, for example, a database.
  • the pseudo-translation data generation device 100 includes a data input interface IF1, an input data acquisition unit 1, a first selector SEL1, an input data embedding unit 2, an XLM processing unit 3, and a first unit.
  • the output data evaluation unit 4 the machine translation processing unit 5, the second selector SEL2, the second output data evaluation unit 6, the first buffer Buf1, the second input data acquisition processing unit 7, and the filter processing unit 8. To prepare for.
  • the data input interface IF1 inputs a control signal CTL1 from a control unit (not shown) that controls each functional unit of the pseudo-translation data generation device 100, and according to the control signal CTL1, the bilingual data storage unit DBp (L1-L2). , 1st single language data storage unit DBm (L1), 2nd single language data storage unit DBm (L2), 3rd single language data storage unit DBm (R1), and 4th single language data storage unit DBm (R2). Predetermined data is read from any of the above, and the read data is output to the input data acquisition unit 1 as data D1.
  • the input data acquisition unit 1 includes a first input data acquisition processing unit 11, a masking processing unit 12, a correct answer data acquisition unit 13, and an input data output unit 14.
  • the input data acquisition unit 1 includes a buffer (not shown) capable of storing and holding all or part of the input data for a predetermined period, and is stored and held in the buffer according to the processing. Data can be used.
  • the first input data acquisition processing unit 11 inputs the data D1 output from the data input interface IF1 and the control signal CTL2 output from the control unit.
  • the first input data acquisition processing unit 11 acquires (generates) data to be input to the masking processing unit 12 and the input data embedding unit 2 from the data D1 according to the control signal CTL2.
  • the first input data acquisition processing unit 11 is the data of the input data D1 (for example, the data of the subword string (or word string), or the data of the index column corresponding to each subword (or each word). From), (1) token data xi0 token , which is data representing a token (the token may represent a character string), and (2) position data xipos for specifying the position of the token.
  • the first input data acquisition processing unit 11 outputs the token data xi0 token acquired as described above to the masking processing unit 12, and outputs the position data xi pos and the language data xi long to the first selector SEL1. ..
  • the masking processing unit 12 inputs the token data xi0 token output from the first input data acquisition processing unit 11 and the control signal CTL2 output from the control unit. (1) When the control signal CTL2 instructs the execution of the masking process, the masking process unit 12 executes the masking process on the token data xi0 token , and the data after the masking process is used as the token data xi. It is output to the first selector SEL1 as a mask. (2) When the control signal CTL2 does not instruct the execution of the masking process, the masking process unit 12 outputs the input token data xi0 token as the token data xitoken to the first selector SEL1.
  • the correct answer data acquisition unit 13 inputs the data D1 output from the data input interface IF1 and the control signal CTL2 output from the control unit.
  • the correct answer data acquisition unit 13 follows the control signal CTL2 from the data D1 from the cross-language language model (XLM) (input data embedding unit 2 (corresponding to the embedding layer) and from the XLM neural network model 31 of the XLM processing unit 3).
  • Model or the correct answer data D_collect used for the training process of the machine translation model (neural network model composed of the input data embedding unit 2 and the machine translation processing unit 5) is generated, and the correct answer data D_collect is first output.
  • the input data output unit 14 inputs the data D1 output from the data input interface IF1 and the control signal CTL2 output from the control unit.
  • the input data output unit 14 outputs the input data D1 as data D1_org to the filter processing unit 8 according to the control signal CTL2.
  • the first selector SEL1 is output from the data D2a output from the first input data acquisition processing unit 11 of the input data acquisition unit 1, the data D2b output from the second input data acquisition processing unit 7, and the control unit.
  • the selection signal sel1 is input.
  • the first selector SEL1 selects the data D2a or the data D2b according to the selection signal sel1 and outputs the data D3 to the input data embedding unit 2.
  • the input data embedding unit 2 includes a token embedding unit 21, a position embedding unit 22, and a language embedding unit 23.
  • the token embedding unit 21 inputs the token data xi token included in the data D3, acquires the distributed expression data of the input token data xi token , and uses the acquired distributed expression data as the distributed expression data xi'token for XLM processing. Output to unit 3 and machine translation processing unit 5.
  • the token embedding unit 21 acquires the distributed expression data xi'token by, for example, performing a matrix operation with a matrix for acquiring the distributed expression data for the token data xi token .
  • the token embedding unit 21 acquires the distributed representation data xi'token by performing the following processing by the matrix operation.
  • Each element of the matrix W token (corresponding to a weighting coefficient) is a part of the parameter ⁇ emb .
  • the parameter ⁇ emb is updated by the parameter update data update ( ⁇ emb ) input from the XLM processing unit 3 or the machine translation processing unit 5 to the input data embedding unit 2.
  • xi'token xi token ⁇ W token
  • xi token A vector representing each token (input data) character string (for example, a 1 ⁇ n1 matrix (n1 dimensional vector) (n1: natural number))
  • W token Matrix for acquiring distributed representation data (for example, n1 ⁇ m1 matrix (n1, m1: natural number))
  • xi'token Distributed representation data of input data xi token (for example, 1 ⁇ m1 matrix (m1 dimensional vector) (m1: natural number))
  • the position embedding unit 22 inputs the position data xi pos included in the data D3, acquires the distributed expression data of the input position data xi pos , and uses the acquired distributed expression data as the distributed expression data xi'pos for XLM processing.
  • the position embedding unit 22 acquires the distributed representation data xi'pos by, for example, performing a matrix operation with a matrix for acquiring the distributed representation data for the position data xi pos .
  • the position embedding unit 22 acquires the distributed representation data xi'pos by performing the following processing by the matrix operation.
  • Each element of the matrix W pos (corresponding to a weighting coefficient) is a part of the parameter ⁇ emb .
  • the parameter ⁇ emb is updated by the parameter update data update ( ⁇ emb ) input from the XLM processing unit 3 or the machine translation processing unit 5 to the input data embedding unit 2.
  • xi'pos xi pos ⁇ W pos xi pos : A vector representing the position of each token (input data) (for example, a 1 ⁇ n2 matrix (n2 dimensional vector) (n2: natural number))
  • W pos Matrix for acquiring distributed representation data (for example, n2 ⁇ m2 matrix (n2, m2: natural number))
  • xi'pos Distributed representation data of input data xi pos (for example, 1 ⁇ m2 matrix (m2 dimensional vector) (m2: natural number))
  • the language embedding unit 23 inputs the language data xi lang included in the data D3, acquires the distributed expression data of the input language data xi lang , and uses the acquired distributed expression data as the distributed expression data xi'lang for XLM processing.
  • the language embedding unit 23 acquires the distributed expression data xi'lang by, for example, performing a matrix operation with a matrix for acquiring the distributed expression data for the language data xi language .
  • the language embedding unit 23 acquires the distributed representation data xi'lang by performing the following processing by the matrix operation.
  • Each element of the matrix W language (corresponding to a weighting coefficient) is a part of the parameter ⁇ emb .
  • the parameter ⁇ emb is updated by the parameter update data update ( ⁇ emb ) input from the XLM processing unit 3 or the machine translation processing unit 5 to the input data embedding unit 2.
  • xi'lang xi lang ⁇ W lang xi long: A vector representing the language of each token (input data) (for example, a 1 ⁇ n3 matrix (n3 dimensional vector) (n3: natural number))
  • W lang Matrix for acquiring distributed representation data (for example, n3 ⁇ m3 matrix (n3, m3: natural number))
  • xi'lang Distributed representation data of input data xi lang (for example, 1 ⁇ m3 matrix (m3 dimensional vector) (m3: natural number))
  • the input data embedding unit 2 outputs the distributed expression data acquired as described above to the XLM processing unit 3 and the machine translation processing unit 5 as data D4.
  • the XLM processing unit 3 includes a neural network model 31 for XLM.
  • the neural network model 31 for XLM is, for example, a neural network model disclosed in the following document A, and is realized by, for example, a neural network model adopting the architecture of the transformer model disclosed in the following document B.
  • the XLM neural network model 31 updates the parameters of the XLM neural network model 31 based on the parameter update data update ( ⁇ XLM ) output from the first output data evaluation unit 4. Further, in the neural network model 31 for XLM, after updating the parameters of the neural network model for XLM, the embedded layer (the token embedding unit 21, the position embedding unit 22, and the language embedding unit 21 of the input data embedding unit 2). The parameter update data update ( ⁇ emb ) for updating the parameter of the unit 23) is generated, and the parameter update data update ( ⁇ emb ) is output to the input data embedding unit 2.
  • the neural network model 31 for XLM executes XLM processing on the data D4 output from the input data embedding unit 2 and acquires the data D5x. Then, the XLM processing unit 3 outputs the data D5x acquired as described above to the first output data evaluation unit 4.
  • the first output data evaluation unit 4 inputs the data D5x output from the XLM processing unit 3 and the correct answer data D_collect output from the input data acquisition unit 1.
  • the first output data evaluation unit 4 acquires the data D_collect'for loss evaluation from the correct answer data D_collect for the data D5x which is the output of the XLM processing unit 3, and from the data D5x and the data D_tract'. Acquire a loss (more on this later).
  • the first output data evaluation unit 4 updates the parameter ⁇ XLM of the neural network model 31 for XLM of the XLM processing unit 3 based on the loss (learning loss) with respect to the predetermined learning data ( ⁇ XLM ). Is generated, and the data update ( ⁇ XLM ) is output to the XLM processing unit 3.
  • the machine translation processing unit 5 includes a neural network model 51 for MT.
  • the MT neural network model 51 is an encoder / decoder type neural network model, and is, for example, a neural network model that employs an encoder / decoder configuration based on the transformer model architecture disclosed in Document B above.
  • the neural network model 51 for MT outputs the data of the language specified by the control signal CTL3.
  • the MT neural network model 51 updates the parameters of the MT neural network model 51 based on the parameter update data update ( ⁇ MT ) output from the second output data evaluation unit 6.
  • the neural network model 51 for MT executes machine translation processing on the data D4 output from the input data embedding unit 2 and acquires the data D5.
  • the MT neural network model 51 executes machine translation processing so that the data of the type specified by the control signal CTL3 is output as the data D5.
  • the types specified by the control signal CTL3 are (1) L1 (other field, first language), (2) L2 (other field, second language), and (3) R1 (adapted field, first language). ), And (4) R2 (applicable field, second language).
  • the machine translation processing unit 5 outputs the data D5 acquired by the MT neural network model 51 to the second selector SEL2.
  • the machine translation processing unit 5 When acquiring the pseudo-translation data, the machine translation processing unit 5 performs machine translation processing on the data input to the input data embedding unit 2 (for example, the data D3 (L1) of the first language of another field). Data acquired by performing (for example, data of R2) and data input to the input data embedding unit 2 (data D3 of the first language of another field) and data D3 corresponding to a bilingual sentence of the second language of another field. (L2)) is paired with the data (for example, the data of R1) acquired by performing the machine translation process, and the data D5 (for example, the data D5 (R1-R2)) (machine translation of the first language of the application destination field).
  • Bilingual data D5 (R1-R1-) that constitutes a sentence (machine translation result of the input L2 data) and a machine translation sentence of the second language of the application destination field (machine translation result of the input L1 data) as a pair. As R2))), it is output to the second selector SEL2.
  • the second selector SEL2 is a 1-input 2-output switch, and inputs the data D5 output from the machine translation processing unit 5 and the selection signal sel2 output from the control unit.
  • the second selector SEL2 outputs the data D5 as (1) data D6a to the second output data evaluation unit 6 and the filter processing unit 8 according to the selection signal sel2, or (2) outputs the data D6b to the first buffer Buf1. Output.
  • the second output data evaluation unit 6 inputs the data D6a output from the second selector SEL2 and the correct answer data D_correct output from the input data acquisition unit 1.
  • the second output data evaluation unit 6 acquires the data D_collect'for loss evaluation from the correct answer data D_collect of the data D6a which is the output of the machine translation processing unit 5, and obtains the data D6a and the data D_collect'. Get the loss from (more on that later).
  • the second output data evaluation unit 6 updates the data update ( ⁇ MT ) for updating the parameter ⁇ MT of the MT neural network model 51 of the machine translation processing unit 5 based on the loss (learning loss) with respect to the predetermined learning data. ) Is generated.
  • the second output data evaluation unit 6 outputs the data update ( ⁇ MT ) to the machine translation processing unit 5.
  • the first buffer Buf1 is a buffer for storing and holding the data D6b output from the second selector SEL2.
  • the first buffer Buf1 outputs the stored data as data D6b'to the second input data acquisition processing unit 7.
  • the second input data acquisition processing unit 7 is a functional unit similar to the first input data acquisition processing unit 11, inputting data D6b'output from the first buffer Buff 1, and input data embedding unit from the data D6b'. Acquire (generate) the data to be input to 2. Then, the second input data acquisition processing unit 7 outputs the acquired data as the data D2b to the first selector SEL1.
  • the filter processing unit 8 inputs the data D6a output from the second selector SEL2, the data D1_org output from the input data acquisition unit 1, and the control signal CTL4 output from the control unit.
  • the filter processing unit 8 assigns reliability to each translation data when (1) data D6a is translation data (pseudo-translation data), performs filtering processing based on the reliability, and (2) data D6a.
  • data D6a is translation data (pseudo-translation data)
  • reliability is given to the bilingual data (pseudo bilingual data) acquired by pairing the machine translation data with the data D1_org, and filtering processing is performed according to the reliability.
  • the filter processing unit 8 outputs the parallel translation data after the filter processing as the data Dpsd1 to the pseudo parallel translation data storage unit DB1.
  • the pseudo-translation data storage unit DB1 is a storage unit for storing and holding the data Dpsd1 output from the pseudo-translation data generation device 100. Further, the pseudo-translation data storage unit DB1 reads the stored data from the machine translation device MT1 based on the read command, and outputs the read data as the data Dpsd2 to the machine translation device MT1.
  • the machine translation device MT1 reads data from the parallel translation data storage unit DBp (L1-L2) and / or the pseudo-translation data storage unit DB1, and uses the read data to generate a machine translation model. Perform learning process. Then, the machine translation device MT1 performs the machine translation process using the trained model of the machine translation model acquired by the learning process. That is, the machine translation device MT1 inputs the source language data Din_e, performs machine translation processing on the source language data Din_e, and acquires the target language data Dout_j.
  • FIG. 5 is a flowchart of the process executed by the machine translation system 1000.
  • FIG. 6 is a flowchart of a process (pre-learning process) executed by the pseudo-translation data generation device 100.
  • FIG. 7 to 11 are diagrams for explaining the process (pre-learning process) executed by the pseudo-translation data generation device 100.
  • FIGS. 12 to 14 are diagrams for explaining a process (pseudo-translation data generation process) executed by the pseudo-translation data generation device 100.
  • Step S1 the pre-learning process executed in the pseudo-translation data generation device 100 of the machine translation system 1000 (NMT model for pseudo-translation data generation (input data embedding unit 2 (corresponding to the embedding layer) and MT of the machine translation processing unit 5).
  • the pre-learning process (model realized by the neural network model 51) (step S1 in the flowchart of FIG. 5) will be described separately for the XLM learning process and the NMT model learning process for pseudo-translation data generation. ..
  • the learning process of XLM is as shown in FIG. (A) Processing of the masked language model (MLM) (step S111), (B) Processing of the translation language model (TLM) (step S112) and (C) Loss calculation process (step S113) and (D) Update processing (step S114) of parameters ( ⁇ XLM , ⁇ emb ), Consists of.
  • steps S111 to S114 are repeatedly executed until the end condition is satisfied (loop process (loop 1) S110 to S115 of FIG. 6).
  • the pseudo-translation data generation device 100 uses the input to the input data embedding unit 2 as masked data and the correct answer data as original data (masked). The learning process is performed as (no data).
  • MLM processing (L1.mask ⁇ L1)
  • the data input interface IF1 reads the monolingual data D0 (L1) of the first language of another field from the first monolingual data storage unit DBm (L1), and the read monolingual data is the data D1 (L1). Is output to the input data acquisition unit 1.
  • the input data acquisition unit 1 outputs the token data xi0 token acquired as described above to the masking processing unit 12.
  • the control unit (not shown) generates a control signal CTL2 instructing the masking processing unit 12 of the input data acquisition unit 1 to execute the masking process, and masks the control signal CTL2. Output to.
  • the masking processing unit 12 attaches a mask token (for example, a data (token) to a part of the tokens of the token data xi0 token input from the first input data acquisition processing unit 11 according to the control signal CTL2. ) Is replaced with). Then, the masking processing unit 12 outputs the token data after the masking processing to the first selector SEL1 as token data xitoken.
  • a mask token for example, a data (token) to a part of the tokens of the token data xi0 token input from the first input data acquisition processing unit 11 according to the control signal CTL2.
  • parentheses are added to the end of the variable indicating the data to indicate the type of the data.
  • xi token (L1) indicates that the data is derived from the data of the first language (L1) of another field (hereinafter, the same applies).
  • the notation ".mask” in the parentheses indicates that the data includes masked token data.
  • L1.mask is a first language (L1) in another field. It is shown that the data includes the data obtained by masking the token data in the data derived from the data of (hereinafter, the same applies hereinafter).
  • the control unit generates a selection signal sel1 for selecting the terminal "0" of the first selector SEL1 and outputs the selection signal sel1 to the first selector SEL1.
  • the token embedding unit 21 of the input data embedding unit 2 inputs the token data xi token included in the data D3 (L1.mask), and the distributed representation data of the input token data xi token corresponds to, for example, the following mathematical formula. Execute the process to acquire.
  • xi'token xi token ⁇ W token xi token : A vector representing each token (input data) character string (for example, a 1 ⁇ n1 matrix (n1 dimensional vector) (n1: natural number)) W token : Matrix for acquiring distributed representation data (for example, n1 ⁇ m1 matrix (n1, m1: natural number)) xi'token : Distributed representation data of input data xi token (for example, 1 ⁇ m1 matrix (m1 dimensional vector) (m1: natural number))
  • the position embedding unit 22 of the input data embedding unit 2 inputs the position data xi pos included in the data D3 (L1.mask), and the distributed expression data of the input position data xi pos corresponds to, for example, the following formula.
  • xi'pos xi pos ⁇ W pos xi pos : A vector representing the position of each token (input data) (for example, a 1 ⁇ n2 matrix (n2 dimensional vector) (n2: natural number))
  • W pos Matrix for acquiring distributed representation data (for example, n2 ⁇ m2 matrix (n2, m2: natural number))
  • xi'pos Distributed representation data of input data xi pos (for example, 1 ⁇ m2 matrix (m2 dimensional vector) (m2: natural number))
  • the language embedding unit 23 of the input data embedding unit 2 inputs the language data xi lang included in the data D3 (L1.mask), and the distributed expression data of the input language data xi lang corresponds to, for example, the following formula.
  • xi'lang xi lang ⁇ W lang xi long: A vector representing the language of each token (input data) (for example, a 1 ⁇ n3 matrix (n3 dimensional vector) (n3: natural number))
  • W lang Matrix for acquiring distributed representation data (for example, n3 ⁇ m3 matrix (n3, m3: natural number))
  • xi'lang Distributed representation data of input data xi lang (for example, 1 ⁇ m3 matrix (m3 dimensional vector) (m3: natural number))
  • the input data embedding unit 2 outputs the distributed expression data acquired as described above to the XLM processing unit 3 as data D4 (L1.mask).
  • the method of embedding the token character string and the language identifier and the method of embedding the position are not limited to the above, and other methods may be used.
  • the first output data evaluation unit 4 acquires a loss from the data D5 (L1.mask) which is the output of the XLM processing unit 3 and the correct answer data D_collect (L1).
  • the data input interface IF1 of the pseudo-translation data generation device 100 reads out the single language data D0 (L2) of the second language of another field from the second single language data storage unit DBm (L2), and the read single language data. Is output to the input data acquisition unit 1 as data D1 (L2). Then, the same processing as above is performed.
  • D3 (L2.mask) ⁇ xi token (L2), xi pos (L2), xi lang (L2) ⁇ xi token (L2): A masking process for replacing some tokens of the token data xi0 token (L2) of the monolingual data D1 (L2) read from the second monolingual data storage unit DBm (L2) with mask tokens.
  • M3 MLM processing (R1.mask ⁇ R1) >>
  • the data input interface IF1 of the pseudo-translation data generation device 100 reads out the single language data D0 (R1) of the first language of the application destination field from the third single language data storage unit DBm (R1), and reads the single language.
  • the data is output to the input data acquisition unit 1 as data D1 (R1). Then, the same processing as above is performed.
  • D3 (R1.mask) ⁇ xi token (R1), xi pos (R1), xi lang (R1) ⁇ xi token (R1): A masking process for replacing some tokens of the token data xi0 token (R1) of the monolingual data D1 (R1) read from the third monolingual data storage unit DBm (R1) with mask tokens.
  • the data input interface IF1 of the pseudo-translation data generation device 100 reads out the single language data D0 (R2) of the second language of the application destination field from the fourth single language data storage unit DBm (R2), and reads the single language.
  • the data is output to the input data acquisition unit 1 as data D1. Then, the same processing as above is performed.
  • D3 (R2.mask) ⁇ xi token (R2), xi pos (R2), xi lang (R2) ⁇ xi token (R2): A masking process for replacing some tokens of the token data xi0 token (R2) of the monolingual data D1 (R2) read from the fourth monolingual data storage unit DBm (R2) with mask tokens.
  • the pseudo-translation data generation device 100 uses the input (translation data) to the input data embedding unit 2 as masked data and uses the correct answer data as shown in FIG. 7.
  • the learning process is performed as the original data (data not masked).
  • TLM processing ((L1-L2) .mask ⁇ L1-L2)
  • the data input interface IF1 reads the bilingual data D0 (L1-L2) of another field from the bilingual data storage unit DBp (L1-L2), and uses the read bilingual data as the data D1 (L1-L2). Output to the input data acquisition unit 1.
  • the input data acquisition unit 1 outputs the token data xi0 token (L1-L2) acquired as described above to the masking processing unit 12.
  • the control unit (not shown) generates a control signal CTL2 instructing the masking processing unit 12 of the input data acquisition unit 1 to execute the masking process, and masks the control signal CTL2. Output to.
  • the masking processing unit 12 masks some tokens of the token data xi0 token (L1-L2) input from the first input data acquisition processing unit 11 according to the control signal CTL2 (for example, a character string is an artificial token). Perform masking processing to replace with the data (token) set as "[MASK]"). Then, the masking processing unit 12 outputs the token data after the masking processing to the first selector SEL1 as token data xi token ((L1-L2) .mask). It should be noted that the data acquired by masking the bilingual data L1-L2 (transliteration data in which a sentence in the first language of another field and a bilingual sentence in the second language of the sentence are formed as a pair) is "(L1). -L2) .mask ”(hereinafter, the same applies).
  • the control unit generates a selection signal sel1 for selecting the terminal "0" of the first selector SEL1 and outputs the selection signal sel1 to the first selector SEL1.
  • the first selector SEL1 selects the terminal “0” according to the selection signal sel1, and inputs the data D2a ((L1-L2) .mask) output from the input data acquisition unit 1 to the data D3 ((L1-L2)). It is output to the input data embedding unit 2 as mask).
  • the distributed representation data xi'token of the input token data xi token is acquired by executing the same processing as described in the above MLM processing.
  • the distributed representation data xi'pos of xi pos is acquired by executing the same processing as described in the above MLM processing.
  • Distributed representation of data xi language The data xi ' language is acquired by performing the same processing as described in the above MLM processing.
  • the input data embedding unit 2 outputs the distributed representation data acquired as described above to the XLM processing unit 3 as data D4 ((L1-L2) .mask).
  • the first output data evaluation unit 4 inputs the data D5x ((L1-L2) .mask) output from the XLM processing unit 3 and the correct answer data D_direct (L1-L2) output from the input data acquisition unit 1. do.
  • the first output data evaluation unit 4 acquires a loss from the data D5x ((L1-L2) .mask) which is the output of the XLM processing unit 3 and the correct answer data D_collect (L1-L2).
  • TLM processing ((L2-L1) .mask ⁇ L2-L1) >>
  • the data input interface IF1 of the pseudo-translation data generation device 100 reads the bilingual data D0 (L1-L2) of another field from the bilingual data storage unit DBp (L1-L2), and reads the bilingual data in the first language.
  • the bilingual data in which the data and the data in the second language are exchanged is output as the data D1 (L2-L1) to the input data acquisition unit 1.
  • the input data acquisition unit 1 outputs the token data xi token (L2-L1) acquired as described above to the masking processing unit 12 as token data xi0 token (L2-L1).
  • the control unit (not shown) generates a control signal CTL2 instructing the masking processing unit 12 of the input data acquisition unit 1 to execute the masking process, and masks the control signal CTL2. Output to.
  • the masking processing unit 12 masks some tokens of the token data xi0 token (L2-L1) input from the first input data acquisition processing unit 11 according to the control signal CTL2 (for example, a character string is an artificial token). Perform masking processing to replace with the data (token) set as "[MASK]"). Then, the masking processing unit 12 outputs the token data after the masking processing to the first selector SEL1 as token data xi token ((L2-L1) .mask). It should be noted that the data acquired by masking the bilingual data L2-L1 (translation data consisting of a sentence in a second language in another field and a bilingual sentence in the first language of the sentence as a pair) is "(L2). -L1) .mask ”(hereinafter, the same applies).
  • the control unit generates a selection signal sel1 for selecting the terminal "0" of the first selector SEL1 and outputs the selection signal sel1 to the first selector SEL1.
  • the first selector SEL1 selects the terminal “0” according to the selection signal sel1, and inputs the data D2a ((L2-L1) .mask) output from the input data acquisition unit 1 to the data D3 ((L2-L1). It is output to the input data embedding unit 2 as mask).
  • the distributed representation data xi'token of is obtained by executing the same processing as described in the above MLM processing.
  • the distributed representation data xi'pos of xi pos is acquired by executing the same processing as described in the above MLM processing.
  • Distributed representation of data xi language The data xi ' language is acquired by performing the same processing as described in the above MLM processing.
  • the input data embedding unit 2 outputs the distributed expression data acquired as described above to the XLM processing unit 3 as data D4 ((L2-L1) .mask).
  • the first output data evaluation unit 4 inputs the data D5x ((L2-L1) .mask) output from the XLM processing unit 3 and the correct answer data D_direct (L2-L1) output from the input data acquisition unit 1. do.
  • the first output data evaluation unit 4 acquires a loss from the data D5x ((L2-L1) .mask) which is the output of the XLM processing unit 3 and the correct answer data D_collect (L2-L1).
  • step S111 MLM processing (using four types of monolingual data)
  • step S112 TLM processing (using L1-L2 bilingual data)
  • step S112 TLM processing (using L1-L2 bilingual data)
  • the first output data evaluation unit 4 performs a loss calculation process.
  • M sentences, M natural number
  • the number of subwords included in the i-th sentence in the M sentence is set to Ni (1 ⁇ i ⁇ M).
  • the output data evaluation unit 4 acquires the loss loss from the data output from the XLM processing unit 3 and the correct answer data as shown in the following formula.
  • V Subword vocabulary size (number of dimensions of vector representing each token (input data) character string)
  • p Probability distribution (p (k) indicates the probability of the kth (kth dimension) element)
  • q Probability distribution (q (k) indicates the probability of the kth (kth dimension) element)
  • D_direct'(x, i, j) is the data (vector) acquired from the jth subword of the i-th sentence of the correct answer data D_collect (x) by the first output data evaluation unit 4.
  • D_direct'(x, i, j) has a value of "1" in only one dimension of the n1 dimension (among the elements of the n1 dimension vector, only the element corresponding to the correct answer subword is "1". ), Other than that, it is a one-hot vector whose value is "0".
  • D5x ((L1.mask ⁇ L1), i, j) is a real number indicating the probability that the n1 dimension real number vector (data (vector element) of each dimension is a corresponding subword). (Vector), which is probabilistic (normalized so that the sum of each element of the real number vector is "1") by the softmax function. Then, D5x ((L1.mask ⁇ L1), i, j) inputs the input data to L1. It is the output data from the XLM processing unit 3 when the mask is set, and is the data corresponding to the jth subword of the i-th sentence.
  • loss (p, q) is a formula for obtaining the cross entropy error, whereby the difference between the probability distributions (in the above formula, the probability distributions p, q) can be quantified.
  • the first output data evaluation unit 4 acquires the loss loss by the process corresponding to the above mathematical formula.
  • the first output data evaluation unit 4 updates the parameter ⁇ XLM of the neural network model 31 for XLM of the XLM processing unit 3 based on the loss (learning loss) calculated above for the predetermined learning data. ( ⁇ XLM ) is generated, and the data update ( ⁇ XLM ) is output to the XLM processing unit 3.
  • the neural network model 31 for XLM of the XLM processing unit 3 updates the parameter ⁇ XLM based on the data update ( ⁇ XLM ).
  • the embedded layer (the token embedding unit 21, the position embedding unit 22, and the language embedding unit 21 of the input data embedding unit 2).
  • the parameter update data update ( ⁇ emb ) for updating the parameter of the embedding unit 23) is generated, and the parameter update data update ( ⁇ emb ) is output to the input data embedding unit 2.
  • the input data embedding unit 2 is based on the parameter update data update ( ⁇ emb ), and the embedding layer (token embedding unit 21, position embedding unit 22, and language embedding unit 23 of the input data embedding unit 2). (Corresponding to) Update the parameters. For example, the input data embedding unit 2 updates the elements (values) of the transformation matrix (for example, the matrices W token , W pos , W lang ) based on the parameter update data update ( ⁇ emb ).
  • the pseudo-translation data generation device 100 repeatedly executes the above processing (processing of loop 1 in FIG. 6) until a predetermined end condition is satisfied. At that time, for example, the loss (test loss) calculated by the first output data evaluation unit 4 is referred to as an evaluation value for the adjustment data different from the data used for learning.
  • the pseudo-translation data generation device 100 ends the learning process of XLM when the end condition of the above process (process of loop 1 in FIG. 6) is satisfied. This completes the initialization of the input data embedding unit 2.
  • the parameters for acquiring the distributed representation data set in the input data embedding unit 2 are pseudo-translated.
  • the initial value (initial parameter) of the learning process of the NMT model for data generation the model realized by the input data embedding unit 2 (corresponding to the embedding layer) and the MT neural network model 51 of the machine translation processing unit 5).
  • the state in which the parameters are set at the time when the learning process of XLM is completed (the state of the input data embedding unit 2) is the initial stage of the learning process of the NMT model for generating pseudo-translation data.
  • the training process of the NMT model for generating pseudo-translation data is started.
  • the end condition of the loop process (loop 1) in the flowchart of FIG. 6 is set as follows, for example.
  • Loop processing (loop 1) was executed a predetermined number of iterations.
  • the evaluation value in the first output data evaluation unit 4 did not show a change of a certain value or more (a predetermined value or more).
  • the evaluation value in the first output data evaluation unit 4 was lower than the predetermined value.
  • the evaluation value in the first output data evaluation unit 4 was not updated a predetermined number of times.
  • the pseudo-translation data generation device 100 determines that the learning process of XLM is completed, and terminates the learning process of XLM.
  • the pseudo-translation data generation device 100 is described below in a state where the parameters are set to the above initial values as described above, and the pseudo-translation data generation NMT model (input data embedding unit 2 (embedding)).
  • the learning process (corresponding to the layer) and the model realized by the MT neural network model 51 of the machine translation processing unit 5) is performed.
  • the learning process of the NMT model for generating pseudo-translation data is as shown in FIG. (A) Self-encoding process (step S121) and (B) Zero-shot folding machine translation process (step S122), (C) Machine translation processing with teacher data (step S123), (D) Loss calculation process (step S124) and (E) Update processing (step S125) of parameters ( ⁇ MT , ⁇ emb ), Consists of.
  • steps S121 to S125 are repeatedly executed until the end condition is satisfied (loop process (loop 2) S120 to S126 of FIG. 6).
  • the pseudo-translation data generation device 100 performs a learning process (for pseudo-translation data generation) so that the same output data as the input data to the input data embedding unit 2 is output. NMT model learning process) is performed. That is, in the self-encoding process, the correct answer data is set to the same data as the input data. That is, in the self-coding process, the pseudo bilingual data generation device 100 (1)
  • the input to the input data embedding unit 2 is D3 (L1)
  • the correct answer data of the output data D5 (L1) of the machine translation processing unit 5 is D_tract (L1).
  • the input to the input data embedding unit 2 is D3 (L2), and the correct answer data of the output data D5 (L2) of the machine translation processing unit 5 is D_tract (L2).
  • the input to the input data embedding unit 2 is D3 (R1), the correct answer data of the output data D5 (R1) of the machine translation processing unit 5 is D_tract (R1), and
  • the input to the input data embedding unit 2 is D3 (R2), and the correct answer data of the output data D5 (R2) of the machine translation processing unit 5 is D_direct (R2), and the learning process (parameter by self-encoding process). Execute the optimization process).
  • the first input data acquisition processing unit 11 of the input data acquisition unit 1 is derived from the data D1 (data D1 (L1) of the first language of another field) (data D1 (L1) constituting a sentence of the first language of another field).
  • Token data xi0 token (2) Position data xi pos for specifying the position of the token, and (3) Language data xi lang for specifying the language of the token are acquired.
  • the input data acquisition unit 1 outputs the token data xi0 token acquired as described above to the masking processing unit 12.
  • the control unit (not shown) generates a control signal CTL2 instructing the masking processing unit 12 of the input data acquisition unit 1 not to execute the masking processing, and masks the control signal CTL2. Output to.
  • the masking processing unit 12 outputs the token data xi0 token input from the first input data acquisition processing unit 11 to the first selector SEL1 as token data xi token according to the control signal CTL2.
  • the correct answer data acquisition unit 13 sets the same data as the input data D2a (L1) to the first selector SEL1 in the correct answer data D_collect (L1). Then, the correct answer data acquisition unit 13 outputs the correct answer data D_collect (L1) generated as described above to the second output data evaluation unit 6.
  • the control unit generates a selection signal sel1 for selecting the terminal "0" of the first selector SEL1 and outputs the selection signal sel1 to the first selector SEL1.
  • the first selector SEL1 selects the terminal "0" according to the selection signal sel1, and outputs the data D2a (L1) output from the input data acquisition unit 1 to the input data embedding unit 2 as the data D3 (L1). do.
  • the token embedding unit 21 of the input data embedding unit 2 inputs the token data xi token included in the data D3 (L1), and the distributed representation data xi'token of the input token data xi token is processed by the above MLM. Get it by executing the same process as explained in.
  • the position embedding unit 22 of the input data embedding unit 2 inputs the position data xi pos included in the data D3 (L1), and the distributed representation data xi'pos of the input position data xi pos is processed by the above MLM. Get it by executing the same process as explained in.
  • the language embedding unit 23 of the input data embedding unit 2 inputs the language data xi lang included in the data D3 (L1), and the distributed representation data xi'lang of the input language data xi lang is processed by the above MLM. Get it by executing the same process as explained in.
  • the input data embedding unit 2 outputs the distributed expression data acquired as described above to the machine translation processing unit 5 as data D4 (L1).
  • the control unit generates a control signal CTL3 instructing to output the data of L1 from the MT neural network model 51, and outputs the control signal CTL3 to the machine translation processing unit 5.
  • the MT neural network model 51 executes machine translation processing on the data D4 (L1) output from the input data embedding unit 2 and acquires the data D5 (L1).
  • the MT neural network model 51 sets the output data type to L1 (other field, first language) according to the control signal CTL3.
  • the MT neural network model 51 outputs the data D5 (L1) acquired above to the second selector SEL2.
  • the control unit generates a selection signal sel2 for selecting the terminal “0” of the second selector SEL2, and outputs the selection signal sel2 to the second selector SEL2.
  • the second selector SEL2 selects the terminal “0” according to the selection signal sel2, and outputs the data D5 (data D5 (L1)) output from the machine translation processing unit 5 to the second output data evaluation unit 6 with the data D6a ( It is output as data D6a (L1)).
  • the pseudo-translation data generation device 100 performs machine translation processing (pseudo-translation data generation) for (1) input data to the input data embedding unit 2, as shown in FIGS. 9 and 10.
  • Performs machine translation processing machine translation processing by the input data embedding unit 2 (corresponding to the embedding layer) and the model realized by the MT neural network model 51 of the machine translation processing unit 5) (first machine translation). Processing), output data in a language different from the input data (zero-shot machine translation data), and (2) perform machine translation processing (machine translation processing using the NMT model for pseudo-translation data generation) on the output data.
  • Perform second machine translation processing
  • perform learning processing so that the same data as the input data is output. That is, in the zero-shot folding machine translation process, the correct answer data is set to the same data as the input data.
  • the pseudo-translation data generation device 100 performs the following processes (1) to (6).
  • the input to the input data embedding unit 2 is D3 (1) (L1)
  • the output from the machine translation processing unit 5 is D5 (1) (R2).
  • the output from the machine translation processing unit 5 is D5 (2) (L1).
  • the correct answer data is D_direct (L1).
  • the input data to the input data embedding unit 2 of the first machine translation process is D3 (1) (x), and the output data from the input data embedding unit 2 is D4 (1) (x).
  • the input data to the input data embedding unit 2 of the second machine translation process is referred to as D3 (2) (x), and the output data from the input data embedding unit 2 is referred to as D4 (2) (x) (the same applies hereinafter). ).
  • R1 ⁇ R2 ⁇ R1 In the first machine translation process, the input to the input data embedding unit 2 is D3 (1) (R1), and the output from the machine translation processing unit 5 is D5 (1) (R2).
  • ⁇ B1 Zero shot wrapping machine translation process (L1 ⁇ R2 ⁇ L1) ⁇
  • the first input to the input data embedding unit 2 is D3 (1) (L1)
  • the first output from the machine translation processing unit 5 is D5 (1) (R2)
  • the input data is embedded in the input data embedding unit 2.
  • the output from the second machine translation processing unit 5 is D5 (2) (L1)
  • the correct answer data is D_collect.
  • (L1) will be described.
  • the first input data acquisition processing unit 11 of the input data acquisition unit 1 is derived from the data D1 (data D1 (L1) of the first language of another field) (data D1 (L1) constituting a sentence of the first language of another field).
  • Token data xi0 token (2) Position data xi pos for specifying the position of the token, and (3) Language data xi lang for specifying the language of the token are acquired.
  • the input data acquisition unit 1 outputs the token data xi0 token acquired as described above to the masking processing unit 12.
  • the control unit (not shown) generates a control signal CTL2 instructing the masking processing unit 12 of the input data acquisition unit 1 not to execute the masking processing, and masks the control signal CTL2. Output to.
  • the masking processing unit 12 outputs the token data xi0 token input from the first input data acquisition processing unit 11 to the first selector SEL1 as token data xi token according to the control signal CTL2.
  • the correct answer data acquisition unit 13 sets the same data as the input data D2a (L1) to the first selector SEL1 in the correct answer data D_collect (L1). Then, the correct answer data acquisition unit 13 outputs the correct answer data D_collect (L1) generated as described above to the second output data evaluation unit 6.
  • the control unit generates a selection signal sel1 for selecting the terminal "0" of the first selector SEL1 and outputs the selection signal sel1 to the first selector SEL1.
  • the first selector SEL1 selects the terminal “0” according to the selection signal sel1, and uses the data D2a (L1) output from the input data acquisition unit 1 as the data D3 (1) (L1) as the input data embedding unit. Output to 2.
  • the token embedding unit 21 of the input data embedding unit 2 inputs the token data xi token included in the data D3 (1) (L1), and the distributed representation data xi'token of the input token data xi token is used as described above. The same process as described in the MLM process is executed and acquired.
  • the position embedding unit 22 of the input data embedding unit 2 inputs the position data xi pos included in the data D3 (1) (L1), and the distributed representation data xi'pos of the input position data xi pos is used as described above. The same process as described in the process of MLM is executed and acquired.
  • the language embedding unit 23 of the input data embedding unit 2 inputs the language data xi lang included in the data D3 (1) (L1), and the distributed representation data xi'lang of the input language data xi lang is used as described above. The same process as described in the process of MLM is executed and acquired.
  • the input data embedding unit 2 outputs the distributed expression data acquired as described above to the machine translation processing unit 5 as data D4 (1) (L1).
  • the control unit generates a control signal CTL3 instructing to output the data of R2 from the MT neural network model 51, and outputs the control signal CTL3 to the machine translation processing unit 5.
  • the neural network model 51 for MT executes machine translation processing on the data D4 (1) (L1) output from the input data embedding unit 2, and acquires the data D5 (1) (R2).
  • the MT neural network model 51 sets the type of output data to R2 (adapted field, second language) according to the control signal CTL3.
  • the MT neural network model 51 outputs the data D5 (1) (R2) acquired as described above to the second selector SEL2.
  • the control unit generates a selection signal sel2 for selecting the terminal "1" of the second selector SEL2, and outputs the selection signal sel2 to the second selector SEL2.
  • the second selector SEL2 selects the terminal “1” according to the selection signal sel2, and transfers the data D5 (data D5 (1) (R2)) output from the machine translation processing unit 5 to the first buffer Buf1 (data D6b (). It is stored as data D6b (1) (R2)) (see FIG. 9).
  • the control unit generates a selection signal sel1 for selecting the terminal "1" of the first selector SEL1 and outputs the selection signal sel1 to the first selector SEL1.
  • the first selector SEL1 selects the terminal "1" according to the selection signal sel1, and uses the data D2b (2) (R2) output from the second input data acquisition processing unit 7 as the data D3 (2) (R2). , Output to the input data embedding unit 2.
  • the token embedding unit 21 of the input data embedding unit 2 inputs the token data xi token included in the data D3 (2) (R2), and the distributed representation data xi'token of the input token data xi token is used as described above. The same process as described in the MLM process is executed and acquired.
  • the position embedding unit 22 of the input data embedding unit 2 inputs the position data xi pos included in the data D3 (2) (R2), and the distributed representation data xi'pos of the input position data xi pos is used as described above.
  • the same process as described in the process of MLM is executed and acquired.
  • the language embedding unit 23 of the input data embedding unit 2 inputs the language data xi lang included in the data D3 (2) (R2), and the distributed representation data xi'lang of the input language data xi lang is used as described above. The same process as described in the process of MLM is executed and acquired.
  • the input data embedding unit 2 outputs the distributed expression data acquired as described above to the machine translation processing unit 5 as data D4 (2) (R2).
  • the control unit generates a control signal CTL3 instructing to output the data of L1 from the MT neural network model 51, and outputs the control signal CTL3 to the machine translation processing unit 5.
  • the neural network model 51 for MT executes machine translation processing on the data D4 (2) (R2) output from the input data embedding unit 2, and acquires the data D5 (2) (L1).
  • the MT neural network model 51 sets the output data type to L1 (other field, first language) according to the control signal CTL3.
  • the MT neural network model 51 outputs the data D5 (2) (L1) acquired as described above to the second selector SEL2.
  • the control unit generates a selection signal sel2 for selecting the terminal “0” of the second selector SEL2, and outputs the selection signal sel2 to the second selector SEL2.
  • the second selector SEL2 selects the terminal “0” according to the selection signal sel2, and uses the data D5 (2) (L1) output from the machine translation processing unit 5 as the data D6a (2) (L1) as the second data D6a (2) (L1). Output to the output data evaluation unit 6.
  • the second output data evaluation unit 6 acquires a loss from the data D5 (2) (L1), which is the output of the machine translation processing unit 5, and the correct answer data D_collect (L1).
  • ⁇ B2 Zero shot folding machine translation process (R1 ⁇ L2 ⁇ R1) ⁇
  • the first input to the input data embedding unit 2 is D3 (1) (R1)
  • the first output from the machine translation processing unit 5 is D5 (1) (L2)
  • the input data is embedded in the input data embedding unit 2.
  • the output from the second machine translation processing unit 5 is D5 (2) (R1)
  • the correct answer data is D_collect.
  • the pseudo-translation data generation device 100 executes the same processing as described above.
  • the pseudo-translation data generation device 100 converts the first input D3 (1) (L1) into the input data embedding unit 2 into D3 (1) (R1) from the machine translation processing unit 5.
  • Output D5 (1) (R2) is replaced with D5 (1) (L2)
  • the second input to the input data embedding unit 2 D3 (2) (R2) is replaced with D3 (2) (L2).
  • the output D5 (2) (L1) from the translation processing unit 5 is replaced with D5 (2) (R1)
  • the correct answer data D_collect (L1) is replaced with the correct answer data D_collect (R1), and the same processing as the above processing is performed. I do.
  • ⁇ B3 Zero shot folding machine translation process (R1 ⁇ R2 ⁇ R1) ⁇
  • the first input to the input data embedding unit 2 is D3 (1) (R1)
  • the first output from the machine translation processing unit 5 is D5 (1) (R2)
  • the input data is embedded in the input data embedding unit 2.
  • the output from the second machine translation processing unit 5 is D5 (2) (R1)
  • the correct answer data is D_collect.
  • the pseudo-translation data generation device 100 executes the same processing as described above.
  • the pseudo-translation data generation device 100 converts the first input D3 (1) (L1) into the input data embedding unit 2 into D3 (1) (R1) from the machine translation processing unit 5.
  • the outputs D5 (1) and (R2) are also set to D5 (1) (R2), and the second input to the input data embedding unit 2 is set to D3 (2) (R2), which is also set to D3 (2) (R2).
  • the output D5 (2) (L1) from the translation processing unit 5 is replaced with D5 (2) (R1), the correct answer data D_collect (L1) is replaced with the correct answer data D_collect (R1), and the same processing as the above processing is performed. I do.
  • ⁇ B4 Zero shot folding machine translation process (L2 ⁇ R1 ⁇ L2) ⁇
  • the first input to the input data embedding unit 2 is D3 (1) (L2)
  • the first output from the machine translation processing unit 5 is D5 (1) (R1)
  • the input data is embedded in the input data embedding unit 2.
  • the output from the second machine translation processing unit 5 is D5 (2) (L2)
  • the correct answer data is D_collect.
  • the pseudo-translation data generation device 100 executes the same processing as described above.
  • the pseudo-translation data generation device 100 converts the first input D3 (1) (L1) into the input data embedding unit 2 into D3 (1) (L2) from the machine translation processing unit 5.
  • Output D5 (1) (R2) is replaced with D5 (1) (R1)
  • the second input to the input data embedding unit 2 D3 (2) (R2) is replaced with D3 (2) (R1).
  • the output D5 (2) (L1) from the translation processing unit 5 is replaced with D5 (2) (L2)
  • the correct answer data D_collect (L1) is replaced with the correct answer data D_collect (L2), and the same processing as the above processing is performed. I do.
  • ⁇ B5 Zero shot folding machine translation process (R2 ⁇ L1 ⁇ R2) ⁇
  • the first input to the input data embedding unit 2 is D3 (1) (R2)
  • the first output from the machine translation processing unit 5 is D5 (1) (L1)
  • the input data is embedded in the input data embedding unit 2.
  • the output from the second machine translation processing unit 5 is D5 (2) (R2)
  • the correct answer data is D_collect.
  • the pseudo-translation data generation device 100 executes the same processing as described above.
  • the pseudo-translation data generation device 100 converts the first input D3 (1) (L1) into the input data embedding unit 2 into D3 (1) (R2) from the machine translation processing unit 5.
  • Output D5 (1) (R2) is replaced with D5 (1) (L1)
  • the second input to the input data embedding unit 2 D3 (2) (R2) is replaced with D3 (2) (L1).
  • the output D5 (2) (L1) from the translation processing unit 5 is replaced with D5 (2) (R2)
  • the correct answer data D_collect (L1) is replaced with the correct answer data D_collect (R2), and the same processing as the above processing is performed. I do.
  • ⁇ B6 Zero shot folding machine translation process (R2 ⁇ R1 ⁇ R2) ⁇
  • the first input to the input data embedding unit 2 is D3 (1) (R2)
  • the first output from the machine translation processing unit 5 is D5 (1) (R1)
  • the input data is embedded in the input data embedding unit 2.
  • the output from the second machine translation processing unit 5 is D5 (2) (R2)
  • the correct answer data is D_collect.
  • the pseudo-translation data generation device 100 executes the same processing as described above.
  • the pseudo-translation data generation device 100 converts the first input D3 (1) (L1) into the input data embedding unit 2 into D3 (1) (R2) from the machine translation processing unit 5.
  • Output D5 (1) (R2) is replaced with D5 (1) (R1)
  • the second input to the input data embedding unit 2 D3 (2) (R2) is replaced with D3 (2) (R1).
  • the output D5 (2) (L1) from the translation processing unit 5 is replaced with D5 (2) (R2)
  • the correct answer data D_collect (L1) is replaced with the correct answer data D_collect (R2), and the same processing as the above processing is performed. I do.
  • the pseudo-translation data generation device 100 acquires the input data to the input data embedding unit 2 from the translation data storage unit DBp (L1-L2).
  • the learning process is performed so that the data in one language of (L1-L2) is used and the bilingual data corresponding to the input data is output. That is, in the supervised machine translation process, the correct answer data is set based on the translation data D0 (L1-L2) read from the translation data storage unit DBp (L1-L2).
  • the pseudo-translation data generation device 100 is (1) The input to the XLM processing unit 3 is D3 (L1), and the correct answer data is D_direct (L2), or (2) The input to the XLM processing unit 3 is D3 (L2), and the correct answer data is D_direct (L1).
  • Training process (parameter optimization process) of the NMT model for pseudo-translation data generation (model realized by the input data embedding unit 2 (corresponding to the embedding layer) and the MT neural network model 51 of the machine translation processing unit 5). )I do.
  • the data input interface IF1 reads the bilingual data D0 (L1-L2) of another field from the bilingual data storage unit DBp (L1-L2), and uses the read bilingual data as the data D1 (L1-L2) to input data acquisition unit 1. Output to.
  • the first input data acquisition processing unit 11 of the input data acquisition unit 1 extracts the data of the first language from the data D1 (other field bilingual data D1 (L1-L2)) as the data D1 (L1), and the first language.
  • Data (language data) D1 (L1) (data D1 (L1) constituting a sentence in the first language of another field), (1) token data xi0 token , and (2) for specifying the position of the token.
  • the position data xi pos and (3) the linguistic data xi lang for specifying the language of the token are acquired.
  • the input data acquisition unit 1 outputs the token data xi0 token acquired as described above to the masking processing unit 12.
  • the control unit (not shown) generates a control signal CTL2 instructing the masking processing unit 12 of the input data acquisition unit 1 not to execute the masking processing, and masks the control signal CTL2. Output to.
  • the masking processing unit 12 outputs the token data xi0 token input from the first input data acquisition processing unit 11 to the first selector SEL1 as token data xi token according to the control signal CTL2.
  • the correct answer data acquisition unit 13 extracts the second language data from the data D1 (other field bilingual data D1 (L1-L2)) from the data D1 (other field bilingual data D1 (L1-L2)) according to the control signal CTL2.
  • Correct answer data used in the training process of the NMT model for pseudo-translation data generation from the extracted data D1 (L2) extracted as the data D1 (L1) (data corresponding to the bilingual data of the first language of another field).
  • the control unit generates a selection signal sel1 for selecting the terminal "0" of the first selector SEL1 and outputs the selection signal sel1 to the first selector SEL1.
  • the first selector SEL1 selects the terminal "0" according to the selection signal sel1, and outputs the data D2a (L1) output from the input data acquisition unit 1 to the input data embedding unit 2 as the data D3 (L1). do.
  • the token embedding unit 21 of the input data embedding unit 2 inputs the token data xi token included in the data D3 (L1), and the distributed representation data xi'token of the input token data xi token is processed by the above MLM. Get it by executing the same process as explained in.
  • the position embedding unit 22 of the input data embedding unit 2 inputs the position data xi pos included in the data D3 (L1), and the distributed representation data xi'pos of the input position data xi pos is processed by the above MLM. Get it by executing the same process as explained in.
  • the language embedding unit 23 of the input data embedding unit 2 inputs the language data xi lang included in the data D3 (L1), and the distributed representation data xi'lang of the input language data xi lang is processed by the above MLM. Get it by executing the same process as explained in.
  • the input data embedding unit 2 outputs the distributed expression data acquired as described above to the machine translation processing unit 5 as data D4 (L1).
  • the control signal CTL3 output from the unit is input.
  • the control unit generates a control signal CTL3 instructing to output the data of L2 from the MT neural network model 51, and outputs the control signal CTL3 to the machine translation processing unit 5.
  • the MT neural network model 51 executes machine translation processing on the data D4 (L1) output from the input data embedding unit 2 and acquires the data D5 (L2).
  • the MT neural network model 51 sets the output data type to L2 (other field, second language) according to the control signal CTL3.
  • the MT neural network model 51 outputs the data D5 (L2) acquired above to the second selector SEL2.
  • the control unit generates a selection signal sel2 for selecting the terminal “0” of the second selector SEL2, and outputs the selection signal sel2 to the second selector SEL2.
  • the second selector SEL2 selects the terminal “0” according to the selection signal sel2, and outputs the data D5 (data D5 (L2)) output from the machine translation processing unit 5 to the second output data evaluation unit 6 with the data D6a ( It is output as data D6a (L2)).
  • ⁇ C2 Supervised machine translation processing (L2 ⁇ L1) ⁇
  • the pseudo-translation data generation device 100 executes the same processing as described above. That is, in the above process, the pseudo-translation data generation device 100 replaces D3 (L1) with D3 (L2), replaces the correct answer data D_collect (L2) with the correct answer data D_collect (L1), and is the same as the above process. Perform processing.
  • step S121 Self-encoding process
  • step S122 Zero-shot folding machine translation process
  • step S123 Machine translation process with teacher data
  • the second output data evaluation unit 6 performs a loss calculation process.
  • M sentences, M natural number
  • the number of subwords included in the i-th sentence in the M sentence is set to Ni (1 ⁇ i ⁇ M).
  • the second output data evaluation unit 6 is the data output from the machine translation processing unit 5 as shown in the following formula.
  • V Subword vocabulary size (number of dimensions of vector representing each token (input data) character string)
  • p Probability distribution (p (k) indicates the probability of the kth (kth dimension) element)
  • q Probability distribution (q (k) indicates the probability of the kth (kth dimension) element)
  • D_direct'(x, i, j) is the data (vector) acquired from the jth subword of the i-th sentence of the correct answer data D_collect (x) by the second output data evaluation unit 6.
  • D_direct'(x, i, j) has a value of "1" in only one dimension of the n1 dimension (among the elements of the n1 dimension vector, only the element corresponding to the correct answer subword is "1". ), Other than that, it is a one-hot vector whose value is "0".
  • D5 ((L1 ⁇ L2), i, j) is an n1 dimensional real number vector (a real number vector indicating the probability that the data (vector element) of each dimension is a corresponding subword). It is probabilistic (normalized so that the sum of each element of the real number vector is "1") by the softmax function.
  • D5 ((L1 ⁇ L2), i, j) is the output data when the output data type from the machine translation processing unit 5 when the input data is L1 is L2, and is the i-th sentence. It is the data corresponding to the jth subword of.
  • D5 ((L1 ⁇ R2 ⁇ L1), i, j) indicates the type of input data and the type of translation processing result data (output data) in a format that clearly indicates (L1).
  • ⁇ R2 ⁇ L1) is the data when the data of the type L1 is output as the data of the type R2 in the first processing, the first output is input in the second processing, and the data of the type L1 is output. It shows that.
  • loss (p, q) is a formula for obtaining the cross entropy error, whereby the difference between the probability distributions (in the above formula, the probability distributions p, q) can be quantified.
  • the second output data evaluation unit 6 acquires the loss loss by the process corresponding to the above mathematical formula.
  • the second output data evaluation unit 6 updates the parameter ⁇ MT of the MT neural network model 51 of the XLM processing unit 3 based on the loss (learning loss) calculated above for the predetermined training data. ( ⁇ MT ) is generated, and the data update ( ⁇ MT ) is output to the machine translation processing unit 5.
  • the ML neural network model 51 of the machine translation processing unit 5 updates the parameter ⁇ MT based on the data update ( ⁇ MT ).
  • the embedded layer (the token embedding unit 21, the position embedding unit 22, and the language embedding unit 2 of the input data embedding unit 2).
  • the parameter update data update ( ⁇ emb ) for updating the parameter of the embedding unit 23) is generated, and the parameter update data update ( ⁇ emb ) is output to the input data embedding unit 2.
  • the input data embedding unit 2 is based on the parameter update data update ( ⁇ emb ), and the embedding layer (token embedding unit 21, position embedding unit 22, and language embedding unit 23 of the input data embedding unit 2). (Corresponding to) Update the parameters. For example, the input data embedding unit 2 updates the elements (values) of the transformation matrix (for example, the matrices W token , W pos , W lang ) based on the parameter update data update ( ⁇ emb ).
  • the pseudo-translation data generation device 100 repeatedly executes the above processing (processing of loop 2 in FIG. 6) until a predetermined end condition is satisfied. At that time, for example, the loss (test loss) calculated by the second output data evaluation unit 6 with respect to the adjustment data different from the data used for learning is referred to as an evaluation value.
  • the pseudo-translation data generation device 100 ends the learning process of the NMT model for pseudo-translation data generation when the end condition of the above process (process of loop 2 in FIG. 6) is satisfied.
  • the end condition of the loop process (loop 2) in the flowchart of FIG. 6 is set as follows, for example.
  • Loop processing (loop 2) was executed a predetermined number of iterations.
  • the evaluation value in the second output data evaluation unit 6 did not show a change of a certain value or more (a predetermined value or more).
  • the evaluation value in the second output data evaluation unit 6 was lower than the predetermined value.
  • the evaluation value in the second output data evaluation unit 6 was not updated a predetermined number of times.
  • the pseudo-translation data generation device 100 determines that the learning process of the pseudo-translation data generation NMT model is completed, and terminates the process.
  • the pseudo-translation data generation device 100 sets the parameters at the time when the pre-learning process is completed as the NMT model for pseudo-translation data generation (input data embedding unit 2 (corresponding to the embedding layer) and the machine translation processing unit.
  • the parameters of the initial state (the state in which the initial parameters are set (input data embedding unit 2 (corresponding to the embedding layer)) of the model realized by the neural network model 51 for MT of 5) are optimized by the learning of XLM.
  • the training process parameter optimization process of the NMT model for generating pseudo-translation data is performed by the above process.
  • the pseudo-translation data generation device 100 is a NMT model for generating pseudo-translation data acquired by the above pre-learning process (input data embedding unit 2 (corresponding to an embedding layer) and a neural network for MT of the machine translation processing unit 5). Pseudo-translation data of the application destination field is automatically generated by using the model (model realized by the model 51).
  • the pseudo-translation data generation device 100 performs the pseudo-translation data generation processing by using the following methods (1) and (2).
  • first method Method of modifying bilingual data (L1-L2) in other fields for the application destination field
  • second method Method of machine translating monolingual data
  • the pseudo-translation data generation processing by the above two methods will be described.
  • the data input interface IF1 reads the bilingual data D0 (L1-L2) of another field from the bilingual data storage unit DBp (L1-L2), and uses the read bilingual data as the data D1 (L1-L2) to input data acquisition unit 1. Output to.
  • the input data acquisition unit 1 outputs the token data xi0 token (L1) acquired as described above to the masking processing unit 12.
  • the control unit (not shown) generates a control signal CTL2 instructing the masking processing unit 12 of the input data acquisition unit 1 not to execute the masking processing, and masks the control signal CTL2. Output to.
  • the masking processing unit 12 outputs the token data xi0 token (L1) input from the first input data acquisition processing unit 11 to the first selector SEL1 as token data xi token (L1) according to the control signal CTL2.
  • the control unit generates a selection signal sel1 for selecting the terminal "0" of the first selector SEL1 and outputs the selection signal sel1 to the first selector SEL1.
  • the first selector SEL1 selects the terminal "0" according to the selection signal sel1, and outputs the data D2a (L1) output from the input data acquisition unit 1 to the input data embedding unit 2 as the data D3 (L1). do.
  • the input data embedding unit 2 is derived from (1) token data xi token (L1), (2) position data xi pos (L1), and (3) language data xi lang (L1) included in the data D3 (L1).
  • the control unit generates a control signal CTL3 instructing to output the data of R2 from the MT neural network model 51, and outputs the control signal CTL3 to the machine translation processing unit 5.
  • the neural network model 51 for MT executes machine translation processing on the data D4 (L1) output from the input data embedding unit 2, acquires the data D5 (R2), and holds the data D5 (R2). do.
  • the MT neural network model 51 sets the type of output data to R2 (adapted field, second language) according to the control signal CTL3.
  • the input data acquisition unit 1 outputs the token data xi0 token (L2) acquired as described above to the masking processing unit 12.
  • the control unit (not shown) generates a control signal CTL2 instructing the masking processing unit 12 of the input data acquisition unit 1 not to execute the masking processing, and masks the control signal CTL2. Output to.
  • the masking processing unit 12 outputs the token data xi0 token (L2) input from the first input data acquisition processing unit 11 to the first selector SEL1 as token data xi token (L2) according to the control signal CTL2.
  • the control unit generates a selection signal sel1 for selecting the terminal "0" of the first selector SEL1 and outputs the selection signal sel1 to the first selector SEL1.
  • the first selector SEL1 selects the terminal “0” according to the selection signal sel1, and outputs the data D2a (L2) output from the input data acquisition unit 1 to the input data embedding unit 2 as the data D3 (L2). do.
  • the input data embedding unit 2 is derived from (1) token data xi token (L2), (2) position data xi pos (L2), and (3) language data xi lang (L2) included in the data D3 (L2).
  • the control unit generates a control signal CTL3 instructing to output the data of R1 from the MT neural network model 51, and outputs the control signal CTL3 to the machine translation processing unit 5.
  • the MT neural network model 51 executes machine translation processing on the data D4 (L2) output from the input data embedding unit 2 and acquires the data D5 (R1).
  • the MT neural network model 51 sets the type of output data to R1 (adaptation destination field, first language) according to the control signal CTL3.
  • the machine translation processing unit 5 pairs the data D5 (R2) and the data D5 (R1) acquired by the above processing, and outputs the data D5 (R2-R1) to the second selector SEL2.
  • the control unit generates a selection signal sel2 for selecting the terminal “0” of the second selector SEL2, and outputs the selection signal sel2 to the second selector SEL2.
  • the second selector SEL2 selects the terminal “0” according to the selection signal sel2, and uses the data D5 (data D5 (R2-R1)) output from the machine translation processing unit 5 as the data D6a (R2-R1). Output to the filter processing unit 8 (see FIG. 12).
  • the control unit generates a control signal CTL4 instructing the filter processing unit 8 to execute the filter processing on the pseudo-translation data of R2-R1, and outputs the control signal to the filter processing unit 8.
  • the filter processing unit 8 performs filter processing on the input data D6a (R2-R1) (pseudo-translation data of R2 and R1) according to the control signal CTL4.
  • the pseudo-translation data (D6a (R2-R1)) of the adaptation destination field acquired by the above processing uses a neural network model trained to output the translation data of the adaptation destination field without teacher data. Since the data is processed and acquired, the quality of the bilingual data may be low.
  • the filter processing unit 8 performs a filter process on the pseudo parallel translation data (D6a (R2-R1)) of the adaptation destination field acquired by the above process. For example, the filter processing unit 8 assigns reliability to each sentence pair of the pseudo-translation data (D6a (R2-R1)) of the adaptation destination field acquired by the above processing, and filters based on the assigned reliability. conduct.
  • the filter processing unit 8 machine-translates the sentence pair al-a2 in the bilingual data L1-L2 (D0 (L1-L2)) and acquires the pseudo bilingual data of the application field R1-R2.
  • the reliability of the sentence pair bl-b2 is calculated based on the similarity between al and bl and the similarity between a2 and b2, and it is determined whether or not the reliability is higher than the predetermined threshold Th. do.
  • the filter processing unit 8 can acquire the sentence pair al-a2 in the parallel translation data L1-L2 (D0 (L1-L2)) from the parallel translation data storage unit DBp (L1-L2) (for example, data input). Obtained via interface IF1).
  • the filter processing unit 8 acquires only the pseudo-translation data (R1-R2) whose reliability calculated above is higher than the predetermined threshold value Th by filtering. Then, the pseudo-translation data acquired by the filtering is output to the pseudo-translation data storage unit DB1 as the pseudo-translation data Dpsd1 (R1-R2, # 1).
  • the data input interface IF1 reads out the monolingual data D0 (R1) of the first language of the application destination field from the third monolingual data storage unit DBm (R1), and the read out data of the first language. Is output to the input data acquisition unit 1 as data D1 (R1).
  • the input data acquisition unit 1 outputs the token data xi0 token (R1) acquired as described above to the masking processing unit 12.
  • the control unit (not shown) generates a control signal CTL2 instructing the masking processing unit 12 of the input data acquisition unit 1 not to execute the masking processing, and masks the control signal CTL2. Output to.
  • the masking processing unit 12 outputs the token data xi0 token (R1) input from the first input data acquisition processing unit 11 to the first selector SEL1 as token data xi token (R1) according to the control signal CTL2.
  • the control unit generates a selection signal sel1 for selecting the terminal "0" of the first selector SEL1 and outputs the selection signal sel1 to the first selector SEL1.
  • the first selector SEL1 selects the terminal "0" according to the selection signal sel1, and outputs the data D2a (R1) output from the input data acquisition unit 1 to the input data embedding unit 2 as the data D3 (R1). do.
  • ⁇ Xi'token (R1), xi'pos (R1), xi ' language (R1) ⁇ ) is acquired, and the acquired distributed expression data D4 (R1) is output to the machine translation processing unit 5.
  • the language (R1) ⁇ ) and the control signal CTL3 output from the control unit are input.
  • the control unit generates a control signal CTL3 instructing to output the data of R2 from the MT neural network model 51, and outputs the control signal CTL3 to the machine translation processing unit 5.
  • the MT neural network model 51 executes machine translation processing on the data D4 (R1) output from the input data embedding unit 2 and acquires the data D5 (R2).
  • the MT neural network model 51 sets the type of output data to R2 (adapted field, second language) according to the control signal CTL3.
  • the MT neural network model 51 outputs the data D5 (R2) acquired above to the second selector SEL2.
  • the control unit generates a selection signal sel2 for selecting the terminal “0” of the second selector SEL2, and outputs the selection signal sel2 to the second selector SEL2.
  • the second selector SEL2 selects the terminal “0” according to the selection signal sel2, and uses the data D5 (data D5 (R2)) output from the machine translation processing unit 5 as the data D6a (R2) as the data D6a (R2) in the filter processing unit 8. (See FIG. 13).
  • the control unit generates a control signal CTL4 instructing the filter processing unit 8 to execute the filter processing on the pseudo-translation data of R1-R2, and outputs the control signal to the filter processing unit 8.
  • the input data acquisition unit 1 uses the language data D0 (R1) (data input for machine translation processing) of the application destination field acquired from the third single language data storage unit DBm (R1) as the data D1_org (R1). , Is output to the filter processing unit 8.
  • the filter processing unit 8 inputs (1) data D1_org (R1) (data used as input for machine translation processing) and (2) data D6a (R2) (machine translation data of data D3 (R1)). ) And the pseudo-translation data (R1-R2) of the application destination field are acquired. Then, the filter processing unit 8 filters the pseudo-translation data (R1-R2) according to the control signal CTL4.
  • the pseudo bilingual data (R1-R2) of the adaptation destination field acquired by the above processing is processed using a neural network model trained to output word data of the adaptation destination field without teacher data. Since it is the acquired data, the quality of the bilingual data may be low.
  • the filter processing unit 8 performs a filter process on the pseudo-translation data (R1-R2) of the adaptation destination field acquired by the above process.
  • the filter processing unit 8 uses, for example, the technique related to quality estimation of machine translation disclosed in the following document D, and has a reliability with respect to the pseudo-translation data (R1-R2) of the adaptation destination field acquired by the above processing. Is given. (Reference D): Lucia Specia, Carolina Scarton, and Gustavo Henrique Paetzold (2018). Quality Optimization for Machine Translation. Morgan & Claypool. Then, the filtering unit 8 performs filtering based on the assigned reliability.
  • the filter processing unit 8 acquires only the pseudo bilingual data (R1-R2) whose reliability calculated above is higher than the predetermined threshold value Th by filtering. Then, the filter processing unit 8 outputs the pseudo-translation data acquired by the filtering as the pseudo-translation data Dpsd1 (R1-R2, # 2) to the pseudo-translation data storage unit DB1.
  • the data D5 (R2) (data D6a (R2)) of the second language is used (in the case of FIG. 13)
  • the translation data obtained by the machine translation processing of the data D3 (R2) is used as the second language data D5 (R1) (data D6a (R2)) of the application destination field, which is the same as above.
  • Pseudo-translation data (data Dpsd1 (R1-R2, # 2)) may be generated by the processing.
  • the input data embedding unit 2 (corresponding to the embedding layer) (acquired by the optimization of XLM) after the optimization processing (after the pre-learning processing) of the cross-language language model (XLM). It consists of the parameters (for example, the input data embedding unit 2 in the state where the conversion matrices W token , W pos , and W lang are set) and the neural network model 51 for MT of the machine translation processing unit 5 before learning.
  • the parameter optimization process of the NMT model for generating pseudo-translation data is performed with the state of the NMT model for generating pseudo-translation data as the initial state.
  • the pseudo-translation data generation device 100 even if there is no translation data in the application destination field (field targeted for machine translation), the pseudo-translation data in the first language and the second language of the adaptation destination field.
  • a model (trained model) that can generate (R1-R2) can be acquired.
  • the machine translation device MT1 has an NMT model and is a device that performs machine translation using the NMT model.
  • the machine translation device MT1 is a machine translation model (NMT model) for performing machine translation in the application destination field using the pseudo-translation data generated by the pseudo-translation data generation device 100 and stored in the pseudo-translation data storage unit DB1. Perform the learning process of.
  • the machine translation device MT1 performs a learning process of a machine translation model (NMT model) for performing machine translation in the application destination field by any of the following methods (1) to (3). conduct.
  • NMT model machine translation model
  • the machine translation device MT1 acquires the translation data D0'(L1-L2) of another field from the translation data storage unit DBp (L1-L2), and uses the translation data D0'(L1-L2) of the other field to obtain the translation data D0'(L1-L2).
  • the NMT model of the machine translation device MT1 is trained.
  • the machine translation device MT1 transfers the pseudo-translation data (translation data of R1-R2) of the application destination field generated by the pseudo-translation data generation device 100 from the pseudo-translation data storage unit DB1 to the pseudo-translation data Dpsd2 (R1-R2).
  • the NMT model of the machine translation device MT1 is trained (fine adjustment of parameters) by using the pseudo-translation data Dpsd2 (R1-R2) of the application destination field read out as.
  • the machine translation device MT1 inputs data obtained by mixing the bilingual translation data D0'(L1-L2) of another field (L1-L2) and the pseudo bilingual data Dpsd2 (R1-R2) of the application destination field (R1-R2).
  • the NMT model of the machine translation device MT1 is trained from the generated data.
  • the mixing ratio of the bilingual data may be changed by oversampling or undersampling one or both of the two types of bilingual data before mixing them.
  • (3) Data mixing fine adjustment method The machine translation device MT1 acquires the translation data D0'(L1-L2) of another field from the translation data storage unit DBp (L1-L2), and uses the translation data D0'(L1-L2) of the other field to obtain the translation data D0'(L1-L2).
  • the NMT model of the machine translation device MT1 is trained.
  • the machine translation device MT1 has the same translation data D0'(L1-L2) as the translation data used for the learning process of the NMT model of the machine translation device MT1, and the pseudo translation data (R1-R2) (pseudo) of the application destination field.
  • a data mixed with the pseudo-translation data Dpsd2 (R1-R2) of the application destination field read from the translation data storage unit DB1 is generated.
  • the machine translation device MT1 performs learning processing (fine adjustment of parameters) of the NMT model of the machine translation device MT1 using the generated data (data obtained by mixing two types of parallel translation data).
  • two types of bilingual data May be distinguished by a tag. Further, the mixing ratio of the bilingual data may be changed by oversampling or undersampling one or both of the two types of bilingual data before mixing them.
  • the machine translation device MT1 performs learning processing of the NMT model by any of the above methods (1) to (3), and acquires the optimum parameters of the NMT model. Then, machine translation of the adaptation destination field is performed using the NMT model (learned model) in which the optimum parameters are set. That is, as shown in FIG. 1, when the machine translation device MT1 inputs the source language data Din_e of the application destination field, the machine translation process is performed on the data Din_e, and the target language data Dout_j (machine translated data). ).
  • FIG. 15 shows an example of data acquired by the machine translation device MT1.
  • the upper part of FIG. 15 is the original text (source language data), and the lower part of FIG. 15 is the machine translation data acquired by the machine translation system 1000 of the present invention. Further, in the middle of FIG. 15, for comparison, the result data obtained by performing the machine translation process of the prior art (the result data of the machine translation by the NMT model acquired without learning by the bilingual data of the application destination field) is shown.
  • the output data in the lower part of FIG. 15 uses Japanese-English translation data (translation data other than the application destination field) as the translation data of other fields, and the application destination field is the SNS (Social Networking Service) field. Data (machine translation result data).
  • the machine translation data acquired by the machine translation system 1000 of the present invention is a conventional machine. It is better than the translation.
  • the pseudo translation data generation device 100 can generate the pseudo translation data in the application destination field.
  • the NMT model of the machine translation device MT1 can be trained by using the pseudo-translation data generated by the pseudo-translation data generation device 100.
  • the machine translation process is performed using the NMT model trained by the pseudo-translation data generated by the pseudo-translation data generation device 100, so that the translation data in the application destination field (target field) can be obtained. Even if it does not exist, machine translation in the field of application can be performed with high accuracy.
  • the machine translation system 1000 all the regular translation data of the adaptation destination field is used in all of the learning of XLM, the learning of the machine translation model for generating pseudo-translation data, and the learning of the NMT model of the adaptation destination field by the machine translation device MT1. Not used. In this respect, the machine translation system 1000 is significantly different from the prior art. In the machine translation system 1000, the most reliable portion may be extracted from the pseudo-translation data and used as the translation data for adjustment.
  • each block may be individually integrated into one chip by a semiconductor device such as an LSI, or a part or all of the blocks may be integrated. It may be made into one chip so as to include it.
  • LSI Although it is referred to as LSI here, it may be referred to as IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the method of making an integrated circuit 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 settings of the circuit cells inside the LSI may be used.
  • a part or all of the processing of each functional block of each of the above embodiments may be realized by a program.
  • a part or all of the processing of each functional block of each of the above embodiments is performed by the central processing unit (CPU) in the computer.
  • the program for performing each process is stored in a storage device such as a hard disk or a ROM, and is read and executed in the ROM or in the RAM.
  • each process of the above embodiment may be realized by hardware, or may be realized by software (including the 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 a predetermined library
  • the hardware configuration for example, CPU (may be GPU), ROM, RAM, input unit, output unit, communication unit, storage unit
  • the hardware configuration for example, CPU (may be GPU), ROM, RAM, input unit, output unit, communication unit, storage unit
  • a storage unit realized by an HDD, SSD, etc. a hardware configuration in which an external media drive or the like is connected by a bus Bus
  • an external media drive or the like may be used to realize each functional unit by software processing.
  • each functional unit of the above embodiment is realized by software
  • the software may be realized by using a single computer having the hardware configuration shown in FIG. 16, or may be realized by using a plurality of computers. It may be realized by using and distributed processing.
  • 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-mentioned method, and a computer-readable recording medium that records the program are included in the scope of the present invention.
  • Examples of computer-readable recording media include flexible disks, hard disks, CD-ROMs, MOs, DVDs, DVD-ROMs, DVD-RAMs, large-capacity DVDs, next-generation DVDs, and semiconductor memories.
  • 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.
  • optical value means to make the best condition
  • the parameter to "optimize” the system is the parameter of the system. It is a parameter when the value of the objective function becomes the optimum value.
  • the "optimal value” is the maximum value when the value of the objective function of the system is large and the system is in good condition, and the minimum value when the value of the objective function of the system is small and the system is in good condition.
  • the “optimal value” may be an extreme value.
  • the "optimal value” may allow a predetermined error (measurement error, quantization error, etc.), and is a value included in a predetermined range (a range that can be regarded as sufficiently converged). You may.
  • Machine translation system 100 Pseudo-translation data generation device 1 Input data acquisition unit 11 First input data acquisition processing unit 12 Masking processing unit 2 Input data embedding unit 21 Token embedding unit 22 Position embedding unit 23 Language embedding unit 3 XLM processing unit 31 Machine translation processing unit 5 Machine translation processing unit 51 Neural network model for MT 8 Filter processing unit MT1 Machine translation device DBp (L1-L2) Translation data storage unit DBm (L1) First monolingual data storage unit ( For monolingual data in other fields (first language)) DBm (L2) Second language data storage unit (for single language data in other fields (second language)) DBm (R1) 3rd monolingual data storage unit (for monolingual data in the field of application (1st language)) DBm (R2) 4th monolingual data storage unit (for monolingual data in the field of application (second language)) DB1 Pseudo-translation data storage unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

適応先分野の対訳データがない場合でも、当該適応先分野における機械翻訳を精度良く実行するための疑似対訳データを生成する疑似対訳データ生成装置を実現する。疑似対訳データ生成装置(100)では、他分野の対訳データD0(L1-L2)と、他分野の第1言語データD0(L1)と、他分野の第2言語データD0(L2)と、適応先分野の第1言語データD0(R1)と、適応先分野の第2言語データD0(R2)とを用いて、入力データ埋込部(2)とXLM処理部(3)からなる言語横断言語モデルに対する最適化処理を行い、当該最適化処理後の入力データ埋込部(2)と機械翻訳処理部(5)とからなる疑似対訳データ生成用NMTモデルに対してパラメータ最適化処理を行う。このパラメータ最適化処理により取得した疑似対訳データ生成用機械翻訳モデルを用いて処理することで、対訳データがない適応先分野の疑似対訳データを取得できる。

Description

疑似対訳データ生成用機械翻訳モデルの学習方法、疑似対訳データ取得方法、および、機械翻訳モデルの学習方法
 本発明は、ニューラル機械翻訳の技術に関する。
 ニューラル機械翻訳(NMT:Neural Machine Translation)とは、多層ニューラルネットワークを用いた機械翻訳技術である。ニューラル機械翻訳システムは、起点言語の各語および文全体をベクトルまたはテンソルに変換するニューラルネットワーク(エンコーダ)と、得られたベクトルまたはテンソルから目標言語の語の系列を生成するニューラルネットワーク(デコーダ)とで構成され、対訳データに基づいてニューラルネットワークのモデルを学習する(パラメータを最適化する)ものである。ニューラル機械翻訳システムで達成できる翻訳性能は、所与の起点言語、目標言語、対象分野についての対訳データの規模に強く依存する。実用的なニューラル機械翻訳システムの構築には大規模な対訳データが必要である(言語対や分野によるが少なくとも数十万個の対訳データが必要である)。対訳データが小規模にしか存在しない場合、ニューラル機械翻訳システムにおいて、高品質な機械翻訳処理を実現することは困難である。
 実現したい機械翻訳の対象とする言語対(対象言語対)と同一言語対の他分野(機械翻訳の対象とする分野以外の分野)の対訳データ、あるいは他の言語対であるが同一分野の対訳データが存在する場合、それらの対訳データを用いた機械翻訳分野適用技術、多言語機械翻訳技術によって対象分野の機械翻訳を実現できる場合がある。
 また、対訳データとは異なり、安価かつ大量に入手できる単言語データを活用する技術も生み出されてきている。
 また、近年、他分野の対訳データや他の言語対の対訳データを用いることなく、単言語データのみから機械翻訳システムを構築する教師なし機械翻訳技術も提案されている(例えば、非特許文献1を参照)。
Mikel Artetxe, Gorka Labaka, Eneko Agirre (2018). Unsupervised Statistical Machine Translation. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 3632-3642.
 しかしながら、上記の技術のいずれにおいても、対象言語対・対象分野における数千文程度の対訳データの存在を前提としており、この前提が成り立たない場合、上記の技術により実現される機械翻訳システムにおいて、高い機械翻訳の性能を達成することはできない。また、上記の技術が必要とする対象言語対・対象分野における数千文程度の対訳データを作成するためには、無視できない規模の人的・金銭的コストが必要となる。
 このように、ニューラル機械翻訳システムを新規分野向けに適応させる際には、当該ニューラル機械翻訳システムの機械翻訳の対象とする分野(対象分野)における対訳データが一定量必要であり、そのような対訳データがない場合、機械翻訳の性能を改善することは困難である。
 そこで、本発明は、上記課題に鑑み、適応先分野(機械翻訳の対象とする分野)の対訳データが一切ない場合であっても、当該適応先分野における機械翻訳を精度良く実行するための疑似対訳データを生成する疑似対訳データ生成装置、および、当該疑似対訳データ生成装置で生成された疑似対訳データを用いて適応先分野における機械翻訳を精度良く実行する機械翻訳システム、および、当該機械翻訳システムで用いられる疑似対訳データ生成用機械翻訳モデルの学習方法、疑似対訳データ取得方法、および、機械翻訳モデルの学習方法を実現することを目的とする。
 上記課題を解決するための第1の発明は、疑似対訳データを生成するための疑似対訳データ生成用機械翻訳モデルの学習方法であって、初期化ステップと、最適化ステップと、を備える。
 初期化ステップは、
 生成する疑似対訳データの対象とする分野である適応先分野以外の分野の第1言語のデータである他分野第1言語データと、当該他分野第1言語データの第2言語の翻訳データである他分野第2言語データとからなる対訳データを複数含む他分野対訳データ集合Dsetp(L1-L2)と、
 適応先分野以外の分野の第1言語のデータを複数含む他分野単言語データ集合Dsetm(L1)と、
 適応先分野以外の分野の第2言語のデータを複数含む他分野単言語データ集合Dsetm(L2)と、
 適応先分野の第1言語のデータを複数含む適応先分野単言語データ集合Dsetm(R1)と、
 適応先分野の第2言語のデータを複数含む適応先分野単言語データ集合Dsetm(R2)と、
を用いて、疑似対訳データ生成用機械翻訳モデルの学習処理を行い、当該学習処理を実行した後の疑似対訳データ生成用機械翻訳モデルに設定されているパラメータを初期パラメータに設定する。
 最適化ステップは、
 初期パラメータが設定されている状態の疑似対訳データ生成用機械翻訳モデルに対して、
(1)正解データを入力データと同一にして疑似対訳データ生成用機械翻訳モデルの学習処理を行う自己符号化処理、
(2)入力データに対する疑似対訳データ生成用機械翻訳モデルの出力データ(この「出力データ」は、例えば、入力データとは異なる言語のデータであり、かつ、ゼロショット(学習したことのない分野)のデータである。)を、再度、疑似対訳データ生成用機械翻訳モデルに入力し、その疑似対訳データ生成用機械翻訳モデルの出力(この「出力」は、入力データと同じ言語である。)が入力データと同一となるように疑似対訳データ生成用機械翻訳モデルの学習処理を行うゼロショット折り返し機械翻訳処理、
(3)他分野対訳データ集合Dsetp(L1-L2)に含まれる第1言語のデータおよび第2言語データのいずれか一方を疑似対訳データ生成用機械翻訳モデルの入力とし、他方を正解データとして、疑似対訳データ生成用機械翻訳モデルの学習処理を行う教師あり機械翻訳処理、
の少なくとも1つを用いて、学習処理を行うことで、疑似対訳データ生成用機械翻訳モデルの最適パラメータを取得する。
 この疑似対訳データ生成用機械翻訳モデルの学習方法では、
(1)精度の高い他分野の対訳データ集合(Dsetp(L1-L2)(大規模(対訳データ数が多数)であることが好ましい))と、
(2)他分野の第1言語データ集合(Dsetm(L1))と、
(3)他分野の第2言語データ集合(Dsetm(L2))と、
(4)適応先分野の第1言語データ集合(Dsetm(R1))と、
(5)適応先分野の第2言語データ集合(Dsetm(R2))と、
を用いて、疑似対訳データ生成用機械翻訳モデル(例えば、ニューラルネットワークモデル)を事前学習処理(初期化ステップによる処理)により初期化し、さらに、パラメータ最適化処理(最適化ステップによる処理)を行うことで、適応先分野(機械翻訳の対象とする分野)の対訳データが一切ない場合であっても、適応先分野の第1言語および第2言語の疑似対訳データを生成するための疑似対訳データ生成用機械翻訳モデルを学習させることができる。
 そして、学習後の(学習済みの)疑似対訳データ生成用機械翻訳モデルにより、適応先分野(対象分野)における対訳データが存在しない場合であっても、適応先分野の疑似対訳データを生成することができる。さらに、生成された適応先分野の疑似対訳データを用いて、機械翻訳モデルを学習させ、学習済みの機械翻訳モデルにより機械翻訳処理を行うことで、適応先分野(対象分野)における対訳データが存在しない場合であっても、適応先分野における機械翻訳を精度良く行うことができる。
 なお、事前学習処理により初期化する対象は、入力データから分散表現データを取得する部分のみとしてもよい。例えば、機械翻訳モデルが、入力データから分散表現データを取得する埋込層(例えば、入力データ埋込部により実現)と、機械翻訳用のニューラルネットワークモデル(MT用ニューラルネットワークモデル)とからなる場合、事前学習処理として、入力データから分散表現データを取得する埋込層(例えば、入力データ埋込部により実現)と、言語横断言語モデル用のニューラルネットワークモデル(XLM用ニューラルネットワークモデル、XLM:Cross-lingual language model)とからなる言語横断言語モデルを設定し、埋込層および当該言語横断言語モデルのパラメータ最適化処理を行う。そして、機械翻訳モデルを、当該言語横断言語モデルの最適化処理後の埋込層(例えば、入力データ埋込部により実現)と、MT用ニューラルネットワークモデルとからなるモデルとし、当該言語横断言語モデルの最適化処理後の状態を初期状態として、埋込層および機械翻訳モデルのパラメータ最適化処理を行うようにしてもよい。
 第2の発明は、第1の発明である疑似対訳データ生成用機械翻訳モデルの学習方法により取得された疑似対訳データ生成用機械翻訳モデルを用いて、適応先分野の疑似対訳データを取得する疑似対訳データ取得方法であって、第1機械翻訳ステップと、第2機械翻訳ステップと、疑似対訳データ取得ステップと、を備える。
 第1機械翻訳ステップは、他分野対訳データ集合Dsetp(L1-L2)から取得した第1言語のデータに対して、出力を適応先分野の第2言語に設定して疑似対訳データ生成用機械翻訳モデルを用いた機械翻訳処理を行うことで、他分野の第1言語のデータの機械翻訳結果データである適応先分野の第2言語疑似翻訳データを取得する。
 第2機械翻訳ステップは、他分野対訳データ集合Dsetp(L1-L2)から取得した第2言語のデータに対して、出力を適応先分野の第1言語に設定して疑似対訳データ生成用機械翻訳モデルを用いた機械翻訳処理を行うことで、他分野の第2言語のデータの機械翻訳結果データである適応先分野の第1言語疑似翻訳データを取得する。
 疑似対訳データ取得ステップは、第1機械翻訳ステップで取得された適応先分野の第2言語疑似翻訳データと、第2機械翻訳ステップで取得された適応先分野の第1言語疑似翻訳データと、を対応づけることで、適応先分野の疑似対訳データを取得する。
 これにより、この疑似対訳データ取得方法では、適応先分野(対象分野)における対訳データが存在しない場合であっても、適応先分野における疑似対訳データを取得することができる。
 なお、第1機械翻訳ステップおよび第2機械翻訳ステップは、並列に実行されるものであってもよい。
 第3の発明は、第1の発明である疑似対訳データ生成用機械翻訳モデルの学習方法により取得された疑似対訳データ生成用機械翻訳モデルを用いて、適応先分野の疑似対訳データを取得する疑似対訳データ取得方法であって、単言語データ機械翻訳ステップと、疑似対訳データ取得ステップと、を備える。
 単言語データ機械翻訳ステップは、適応先分野単言語データ集合Dsetm(R1)から取得した第1言語のデータまたは適応先分野単言語データ集合Dsetm(R2)から取得した第2言語のデータに対して、出力を適応先分野の第2言語または第1言語に設定して疑似対訳データ生成用機械翻訳モデルを用いた機械翻訳処理を行うことで、適応先分野の第1言語のデータの機械翻訳結果データである適応先分野の第2言語疑似翻訳データまたは適応先分野の第2言語のデータの機械翻訳結果データである適応先分野の第1言語疑似翻訳データを取得する。
 疑似対訳データ取得ステップは、単言語データ機械翻訳ステップにおいて、疑似対訳データ生成用機械翻訳モデルの入力とした適応先分野の第1言語のデータまたは第2言語のデータと、単言語データ機械翻訳ステップで取得された適応先分野の第2言語疑似翻訳データまたは第1言語疑似翻訳データと、を対応づける、または、疑似対訳データ生成用機械翻訳モデルの入力とした適応先分野の第2言語のデータと、単言語データ機械翻訳ステップで取得された適応先分野の第1言語疑似翻訳データと、を対応づけることで、適応先分野の疑似対訳データを取得する。
 これにより、この疑似対訳データ取得方法では、適応先分野(対象分野)における対訳データが存在しない場合であっても、適応先分野における疑似対訳データを取得することができる。
 第4の発明は、第2または第3の発明であって、疑似対訳データ取得ステップが取得した適応先分野の疑似対訳データの各文対に対して、機械翻訳処理の結果の精度を示す信頼度を取得し、取得した信頼度が所定の値以上である文対を含む疑似対訳データのみを選択して出力するフィルター処理ステップをさらに備える。
 これにより、この疑似対訳データ取得方法において、所定の精度以上の疑似対訳データが取得されることが保証される。
 なお、「信頼度」は、その値が高い程、信頼度合いが高いことを示す指標である。また、信頼度は、機械翻訳処理により取得されるデータ(処理結果データ)が、単語列やトークンのデータである場合、個々の単語、トークンごとに付与されることが好ましい。
 第5の発明は、適応先分野の第1言語のデータに対して機械翻訳を行い第2言語のデータを取得するための機械翻訳モデルの学習方法であって、機械翻訳モデル学習ステップを備える。
 機械翻訳モデル学習ステップは、第2から第4のいずれかの発明である疑似対訳データ取得方法により取得された適応先分野の疑似翻訳データと、適応先分野以外の分野の第1言語のデータである他分野第1言語データと、当該他分野第1言語データの第2言語の翻訳データである他分野第2言語データとからなる対訳データを複数含む他分野対訳データ集合Dsetp(L1-L2)と、を用いて、機械翻訳モデルの学習を行う。
 これにより、この機械翻訳モデルの学習方法では、適応先分野(対象分野)における対訳データが存在しない場合であっても、第2から第5のいずれかの発明である疑似対訳データ取得方法により取得された適応先分野の疑似翻訳データを用いて機械翻訳モデルを学習させることができる。そして、学習済みの機械翻訳モデルにより機械翻訳処理を行うことで、適応先分野(対象分野)における対訳データが存在しない場合であっても、適応先分野における機械翻訳を精度良く行うことができる。
 第6の発明は、第1の発明である疑似対訳データ生成用機械翻訳モデルの学習方法により取得された学習済みの機械翻訳モデル、または、第5の発明である機械翻訳モデルの学習方法により取得された学習済みの機械翻訳モデルを用いて機械翻訳処理を行う機械翻訳装置である。
 これにより、この機械翻訳装置では、第1の発明である疑似対訳データ生成用機械翻訳モデルの学習方法により取得された学習済みの機械翻訳モデル、または、第5の発明である機械翻訳モデルの学習方法により取得された学習済みの機械翻訳モデルを用いて機械翻訳処理を行うことができる。
 なお、第1の発明である疑似対訳データ生成用機械翻訳モデルの学習方法をコンピュータに実行させるためのプログラムも本発明に含まれる。
 また、第2から第4のいずれかの発明である疑似対訳データ取得方法をコンピュータに実行させるためのプログラムも本発明に含まれる。
 また、第5の発明である機械翻訳モデルの学習方法をコンピュータに実行させるためのプログラムも本発明に含まれる。 
さらに、第5の発明である機械翻訳モデルの学習方法により取得された学習済みの機械翻訳モデルを用いて機械翻訳処理を行う機械翻訳方法、当該機械翻訳方法をコンピュータに実行させるためのプログラムも本発明に含まれる。
 本発明によれば、適応先分野(機械翻訳の対象とする分野)の対訳データが一切ない場合であっても、当該適応先分野における機械翻訳を精度良く実行するための疑似対訳データを生成する疑似対訳データ生成装置、および、当該疑似対訳データ生成装置で生成された疑似対訳データを用いて適応先分野における機械翻訳を精度良く実行する機械翻訳システム、および、当該機械翻訳システムで用いられる疑似対訳データ生成用機械翻訳モデルの学習方法、疑似対訳データ取得方法、および、機械翻訳モデルの学習方法を実現することができる。
第1実施形態に係る機械翻訳システム1000の概略構成図。 第1実施形態に係る疑似対訳データ生成装置100の概略構成図。 第1実施形態に係る疑似対訳データ生成装置100の入力データ取得部1、入力データ埋込部2、およびXLM処理部3の概略構成図。 第1実施形態に係る疑似対訳データ生成装置100の入力データ取得部1、入力データ埋込部2、および機械翻訳処理部5の概略構成図。 機械翻訳システム1000で実行される処理のフローチャート。 疑似対訳データ生成装置100で実行される処理のフローチャート。 疑似対訳データ生成装置100で実行される処理を説明するための図。 疑似対訳データ生成装置100で実行される処理を説明するための図。 疑似対訳データ生成装置100で実行される処理を説明するための図。 疑似対訳データ生成装置100で実行される処理を説明するための図。 疑似対訳データ生成装置100で実行される処理を説明するための図。 疑似対訳データ生成装置100で実行される処理を説明するための図。 疑似対訳データ生成装置100で実行される処理を説明するための図。 疑似対訳データ生成装置100で実行される処理を説明するための図。 機械翻訳装置MT1により取得されたデータの一例を示す図。 CPUバス構成を示す図。
 [第1実施形態]
 第1実施形態について、図面を参照しながら、以下説明する。
 <1.1:機械翻訳システムの構成>
 図1は、第1実施形態に係る機械翻訳システム1000の概略構成図である。
 図2は、第1実施形態に係る疑似対訳データ生成装置100の概略構成図である。
 図3は、第1実施形態に係る疑似対訳データ生成装置100の入力データ取得部1、入力データ埋込部2、およびXLM処理部3の概略構成図である。なお、図3では、第1セレクタSEL1を省略して図示している。
 図4は、第1実施形態に係る疑似対訳データ生成装置100の入力データ取得部1、入力データ埋込部2、および機械翻訳処理部5の概略構成図である。なお、図4では、第1セレクタSEL1を省略して図示している。
 機械翻訳システム1000は、図1に示すように、対訳データ記憶部DBp(L1-L2)と、第1単言語データ記憶部DBm(L1)と、第2単言語データ記憶部DBm(L2)と、第3単言語データ記憶部DBm(R1)と、第4単言語データ記憶部DBm(R2)と、疑似対訳データ生成装置100と、疑似対訳データ格納部DB1と、機械翻訳装置MT1とを備える。
 なお、以下では、疑似対訳データ生成装置100で生成する対訳データの対象とする分野を「適応先分野」といい、当該適応先分野以外の分野を「他分野」という。
 対訳データ記憶部DBp(L1-L2)は、適応先分野以外の分野(他分野)の第1言語のデータである他分野第1言語データと、当該他分野第1言語データの第2言語の翻訳データである他分野第2言語データとからなる対訳データを複数含む他分野対訳データ集合Dsetp(L1-L2)を記憶する。そして、対訳データ記憶部DBp(L1-L2)は、疑似対訳データ生成装置100からの読み出し指令に基づいて、対訳データ記憶部DBp(L1-L2)に記憶している所定の対訳データD0(L1-L2)を読み出し、当該対訳データD0(L1-L2)を疑似対訳データ生成装置100に出力する。対訳データ記憶部DBp(L1-L2)は、例えば、データベースにより実現される。なお、対訳データ記憶部DBp(L1-L2)に記憶保持されている対訳データの数が多いことが好ましい(対訳データ記憶部DBp(L1-L2)が大規模な対訳データを記憶保持していることが好ましい)。
 第1単言語データ記憶部DBm(L1)は、適応先分野以外の分野(他分野)の第1言語の単言語データである他分野第1言語データを複数含む他分野第1言語データ集合Dsetm(L1)を記憶する。第1単言語データ記憶部DBm(L1)は、疑似対訳データ生成装置100からの読み出し指令に基づいて、第1単言語データ記憶部DBm(L1)に記憶している所定の第1言語の単言語データD0(L1)を読み出し、当該単言語データD0(L1)を疑似対訳データ生成装置100に出力する。第1単言語データ記憶部DBm(L1)は、例えば、データベースにより実現される。
 第2単言語データ記憶部DBm(L2)は、適応先分野以外の分野(他分野)の第2言語の単言語データである他分野第2言語データを複数含む他分野第2言語データ集合Dsetm(L2)を記憶する。第2単言語データ記憶部DBm(L2)は、疑似対訳データ生成装置100からの読み出し指令に基づいて、第2単言語データ記憶部DBm(L2)に記憶している所定の第2言語の単言語データD0(L2)を読み出し、当該単言語データD0(L2)を疑似対訳データ生成装置100に出力する。第2単言語データ記憶部DBm(L2)は、例えば、データベースにより実現される。
 第3単言語データ記憶部DBm(R1)は、適応先分野の第1言語の単言語データである適応先分野第1言語データを複数含む適応先分野第1言語データ集合Dsetm(R1)を記憶する。第3単言語データ記憶部DBm(R1)は、疑似対訳データ生成装置100からの読み出し指令に基づいて、第3単言語データ記憶部DBm(R1)に記憶している所定の第1言語の単言語データD0(R1)を読み出し、当該単言語データD0(R1)を疑似対訳データ生成装置100に出力する。第3単言語データ記憶部DBm(R1)は、例えば、データベースにより実現される。
 第4単言語データ記憶部DBm(R2)は、適応先分野の第2言語の単言語データである適応先分野第2言語データを複数含む適応先分野第2言語データ集合Dsetm(R2)を記憶する。第4単言語データ記憶部DBm(R2)は、疑似対訳データ生成装置100からの読み出し指令に基づいて、第4単言語データ記憶部DBm(R2)に記憶している所定の第2言語の単言語データD0(R2)を読み出し、当該単言語データD0(R2)を疑似対訳データ生成装置100に出力する。第4単言語データ記憶部DBm(R2)は、例えば、データベースにより実現される。
 疑似対訳データ生成装置100は、図2に示すように、データ入力インターフェースIF1と、入力データ取得部1と、第1セレクタSEL1と、入力データ埋込部2と、XLM処理部3と、第1出力データ評価部4と、機械翻訳処理部5と、第2セレクタSEL2と、第2出力データ評価部6と、第1バッファBuf1と、第2入力データ取得処理部7と、フィルター処理部8とを備える。
 データ入力インターフェースIF1は、疑似対訳データ生成装置100の各機能部を制御する制御部(不図示)からの制御信号CTL1を入力し、当該制御信号CTL1に従い、対訳データ記憶部DBp(L1-L2)、第1単言語データ記憶部DBm(L1)、第2単言語データ記憶部DBm(L2)、第3単言語データ記憶部DBm(R1)、および、第4単言語データ記憶部DBm(R2)のいずれかから、所定のデータを読み出し、読み出したデータをデータD1として入力データ取得部1に出力する。
 入力データ取得部1は、図3に示すように、第1入力データ取得処理部11と、マスク化処理部12と、正解データ取得部13と、入力データ出力部14と、を備える。入力データ取得部1は、入力されるデータの全部または一部を所定の期間、記憶保持することができるバッファ(不図示)を備えており、処理に応じて、当該バッファに記憶保持されているデータを使用することができる。
 第1入力データ取得処理部11は、データ入力インターフェースIF1から出力されるデータD1と、制御部から出力される制御信号CTL2とを入力する。第1入力データ取得処理部11は、制御信号CTL2に従い、データD1から、マスク化処理部12および入力データ埋込部2に入力するためのデータを取得(生成)する。具体的には、第1入力データ取得処理部11は、入力されたデータD1(例えば、サブワード列(または単語列)のデータ、または、各サブワード(または各単語)に対応するインデックスの列のデータ)から、(1)トークン(トークンは、文字列を表すものであってもよい)を表すデータであるトークンデータxi0tokenと、(2)当該トークンの位置を特定するための位置データxiposと、(3)当該トークンの言語を特定するための言語データxilangと、を取得する。そして、第1入力データ取得処理部11は、上記により取得した、トークンデータxi0tokenをマスク化処理部12に出力し、位置データxiposと、言語データxilangとを第1セレクタSEL1に出力する。
 マスク化処理部12は、第1入力データ取得処理部11から出力されるトークンデータxi0tokenと、制御部から出力される制御信号CTL2とを入力する。(1)制御信号CTL2がマスク化処理の実行を指示している場合、マスク化処理部12は、トークンデータxi0tokenに対してマスク化処理を実行し、マスク化処理後のデータをトークンデータxitokenとして、第1セレクタSEL1に出力する。(2)制御信号CTL2がマスク化処理の実行を指示していない場合、マスク化処理部12は、入力したトークンデータxi0tokenをトークンデータxitokenとして、第1セレクタSEL1に出力する。
 なお、入力データ取得部1から第1セレクタSEL1に出力される(1)トークンデータxitokenと、(2)位置データxiposと、(3)言語データxilangと、を含むデータをデータD2aと表記する。
 正解データ取得部13は、データ入力インターフェースIF1から出力されるデータD1と、制御部から出力される制御信号CTL2とを入力する。正解データ取得部13は、制御信号CTL2に従い、データD1から、言語横断言語モデル(XLM)(入力データ埋込部2(埋込層に対応)およびXLM処理部3のXLM用ニューラルネットワークモデル31からなるモデル)、または、機械翻訳モデル(入力データ埋込部2および機械翻訳処理部5により構成されるニューラルネットワークモデル)の学習処理に用いる正解データD_correctを生成し、当該正解データD_correctを第1出力データ評価部4および第2出力データ評価部6に出力する。
 入力データ出力部14は、データ入力インターフェースIF1から出力されるデータD1と、制御部から出力される制御信号CTL2とを入力する。入力データ出力部14は、制御信号CTL2に従い、入力されたデータD1を、データD1_orgとしてフィルター処理部8に出力する。
 第1セレクタSEL1は、入力データ取得部1の第1入力データ取得処理部11から出力されるデータD2aと、第2入力データ取得処理部7から出力されるデータD2bと、制御部から出力される選択信号sel1とを入力する。第1セレクタSEL1は、選択信号sel1に従い、データD2a、または、データD2bを選択して、データD3として入力データ埋込部2に出力する。
 入力データ埋込部2は、図3、図4に示すように、トークン埋込部21と、位置埋込部22と、言語埋込部23とを備える。
 トークン埋込部21は、データD3に含まれるトークンデータxitokenを入力し、入力したトークンデータxitokenの分散表現データを取得し、取得した分散表現データを分散表現データxi’tokenとして、XLM処理部3および機械翻訳処理部5に出力する。なお、トークン埋込部21は、例えば、トークンデータxitokenに対して、分散表現データを取得するための行列による行列演算を行うことで、分散表現データxi’tokenを取得する。例えば、トークン埋込部21は、下記の行列演算による処理を行うことで、分散表現データxi’tokenを取得する。なお、行列Wtokenの各要素(重み付け係数に相当)は、パラメータθembの一部である。パラメータθembは、XLM処理部3または機械翻訳処理部5から入力データ埋込部2に入力されるパラメータ更新データupdate(θemb)により更新される。
  xi’token=xitoken・Wtoken
  xitoken:各トークン(入力データ)文字列を表すベクトル(例えば、1×n1の行列(n1次元ベクトル)(n1:自然数))
  Wtoken:分散表現データを取得するための行列(例えば、n1×m1の行列(n1,m1:自然数))
  xi’token:入力データxitokenの分散表現データ(例えば、1×m1の行列(m1次元ベクトル)(m1:自然数))
 位置埋込部22は、データD3に含まれる位置データxiposを入力し、入力した位置データxiposの分散表現データを取得し、取得した分散表現データを分散表現データxi’ posとして、XLM処理部3および機械翻訳処理部5に出力する。なお、位置埋込部22は、例えば、位置データxiposに対して、分散表現データを取得するための行列による行列演算を行うことで、分散表現データxi’posを取得する。例えば、位置埋込部22は、下記の行列演算による処理を行うことで、分散表現データxi’posを取得する。なお、行列Wposの各要素(重み付け係数に相当)は、パラメータθembの一部である。パラメータθembは、XLM処理部3または機械翻訳処理部5から入力データ埋込部2に入力されるパラメータ更新データupdate(θemb)により更新される。
  xi’pos=xipos・Wpos
  xipos:各トークン(入力データ)の位置を表すベクトル(例えば、1×n2の行列(n2次元ベクトル)(n2:自然数))
  Wpos:分散表現データを取得するための行列(例えば、n2×m2の行列(n2,m2:自然数))
  xi’pos:入力データxiposの分散表現データ(例えば、1×m2の行列(m2次元ベクトル)(m2:自然数))
 言語埋込部23は、データD3に含まれる言語データxilangを入力し、入力した言語データxilangの分散表現データを取得し、取得した分散表現データを分散表現データxi’langとして、XLM処理部3および機械翻訳処理部5に出力する。なお、言語埋込部23は、例えば、言語データxilangに対して、分散表現データを取得するための行列による行列演算を行うことで、分散表現データxi’langを取得する。例えば、言語埋込部23は、下記の行列演算による処理を行うことで、分散表現データxi’langを取得する。なお、行列Wlangの各要素(重み付け係数に相当)は、パラメータθembの一部である。パラメータθembは、XLM処理部3または機械翻訳処理部5から入力データ埋込部2に入力されるパラメータ更新データupdate(θemb)により更新される。
  xi’lang=xilang・Wlang
  xilang:各トークン(入力データ)の言語を表すベクトル(例えば、1×n3の行列(n3次元ベクトル)(n3:自然数))
  Wlang:分散表現データを取得するための行列(例えば、n3×m3の行列(n3,m3:自然数))
  xi’lang:入力データxilangの分散表現データ(例えば、1×m3の行列(m3次元ベクトル)(m3:自然数))
 入力データ埋込部2は、上記により取得された分散表現データをデータD4として、XLM処理部3および機械翻訳処理部5に出力する。
 XLM処理部3は、図3に示すように、XLM用ニューラルネットワークモデル31を備える。
 XLM用ニューラルネットワークモデル31は、例えば、下記文献Aに開示されているニューラルネットワークモデルであり、例えば、下記文献Bに開示されているトランスフォーマーモデルのアーキテクチャを採用したニューラルネットワークモデルにより実現される。
(文献A):Alexis Conneau and Guillaume Lample (2019). Cross-Lingual Language Model Pretraining.  In Proceedings of the 32nd Neural Information Processing Systems Conference (NeurIPS), pp. 7057-7067.
(文献B):Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin (2017).  Attention is All You Need.  In Proceedings of the 30th Neural Information Processing Systems Conference (NeurIPS), pp. 5998-6008.
 XLM用ニューラルネットワークモデル31は、入力データ埋込部2から出力される分散表現データD4(={xi’token,xi’pos,xi’lang})を入力する。
 XLM用ニューラルネットワークモデル31は、第1出力データ評価部4から出力されるパラメータ更新データupdate(θXLM)に基づいて、XLM用ニューラルネットワークモデル31のパラメータを更新する。また、XLM用ニューラルネットワークモデル31は、XLM用ニューラルネットワークモデルのパラメータを更新した後、埋込層(入力データ埋込部2のトークン埋込部21、位置埋込部22、および、言語埋込部23に対応)のパラメータを更新するためのパラメータ更新データupdate(θemb)を生成し、当該パラメータ更新データupdate(θemb)を入力データ埋込部2に出力する。
 また、XLM用ニューラルネットワークモデル31は、入力データ埋込部2から出力されるデータD4に対して、XLM処理を実行し、データD5xを取得する。そして、XLM処理部3は、上記により取得したデータD5xを第1出力データ評価部4に出力する。
 第1出力データ評価部4は、図2に示すように、XLM処理部3から出力されるデータD5xと、入力データ取得部1から出力される正解データD_correctとを入力する。第1出力データ評価部4は、損失を評価するために、XLM処理部3の出力であるデータD5xに対する正解データD_correctから損失評価用のデータD_correct’を取得し、データD5xとデータD_correct’とから損失を取得する(詳細については後述)。そして、第1出力データ評価部4は、所定の学習データに対する損失(学習損失)に基づいてXLM処理部3のXLM用ニューラルネットワークモデル31のパラメータθXLMを更新するためのデータupdate(θXLM)を生成し、当該データupdate(θXLM)をXLM処理部3に出力する。
 機械翻訳処理部5は、図4に示すように、MT用ニューラルネットワークモデル51を備える。
 MT用ニューラルネットワークモデル51は、エンコーダ/デコーダ方式のニューラルネットワークモデルであり、例えば、上記文献Bに開示されているトランスフォーマーモデルのアーキテクチャによるエンコーダ、デコーダの構成を採用したニューラルネットワークモデルである。
 MT用ニューラルネットワークモデル51は、入力データ埋込部2から出力される分散表現データD4(={xi’token,xi’pos,xi’lang})と、制御部から出力される制御信号CTL3とを入力する。MT用ニューラルネットワークモデル51は、制御信号CTL3で指示された言語のデータを出力する。
 また、MT用ニューラルネットワークモデル51は、第2出力データ評価部6から出力されるパラメータ更新データupdate(θMT)に基づいて、MT用ニューラルネットワークモデル51のパラメータを更新する。
 また、MT用ニューラルネットワークモデル51は、入力データ埋込部2から出力されるデータD4に対して、機械翻訳処理を実行し、データD5を取得する。なお、MT用ニューラルネットワークモデル51は、制御信号CTL3によって指定された種別のデータがデータD5として出力されるように、機械翻訳処理を実行する。なお、制御信号CTL3によって指定される種別は、(1)L1(他分野、第1言語)、(2)L2(他分野、第2言語)、(3)R1(適応先分野、第1言語)、および、(4)R2(適応先分野、第2言語)のいずれかである。
 機械翻訳処理部5は、MT用ニューラルネットワークモデル51により取得したデータD5を第2セレクタSEL2に出力する。
 なお、機械翻訳処理部5は、疑似対訳データを取得する場合、入力データ埋込部2に入力されるデータ(例えば、他分野第1言語のデータD3(L1))に対して機械翻訳処理を行い取得したデータ(例えば、R2のデータ)と、入力データ埋込部2に入力されるデータ(他分野第1言語のデータD3(L1)の他分野第2言語の対訳文に相当するデータD3(L2))に対して機械翻訳処理を行い取得したデータ(例えば、R1のデータ)とをペアにして、データD5(例えば、データD5(R1-R2)(適応先分野第1言語の機械翻訳文(入力されたL2のデータの機械翻訳結果)と、適応先分野の第2言語の機械翻訳文(入力されたL1のデータの機械翻訳結果)とをペアとして構成する対訳データD5(R1-R2)))として、第2セレクタSEL2に出力する。
 第2セレクタSEL2は、1入力2出力の切替器であり、機械翻訳処理部5から出力されるデータD5と、制御部から出力される選択信号sel2とを入力する。第2セレクタSEL2は、選択信号sel2に従い、データD5を、(1)データD6aとして第2出力データ評価部6およびフィルター処理部8に出力する、または、(2)データD6bとして第1バッファBuf1に出力する。
 第2出力データ評価部6は、図2に示すように、第2セレクタSEL2から出力されるデータD6aと、入力データ取得部1から出力される正解データD_correctとを入力する。第2出力データ評価部6は、損失を評価するために、機械翻訳処理部5の出力であるデータD6aの正解データD_correctから損失評価用のデータD_correct’を取得し、データD6aとデータD_correct’とから損失を取得する(詳細については後述)。そして、第2出力データ評価部6は、所定の学習データに対する損失(学習損失)に基づいて機械翻訳処理部5のMT用ニューラルネットワークモデル51のパラメータθMTを更新するためのデータupdate(θMT)を生成する。
 そして、第2出力データ評価部6は、データupdate(θMT)を機械翻訳処理部5に出力する。
 第1バッファBuf1は、第2セレクタSEL2から出力されるデータD6bを記憶保持するためのバッファである。第1バッファBuf1は、記憶保持しているデータをデータD6b’として第2入力データ取得処理部7に出力する。
 第2入力データ取得処理部7は、第1入力データ取得処理部11と同様の機能部であり、第1バッファBuf1から出力されるデータD6b’を入力し、データD6b’から入力データ埋込部2に入力するためのデータを取得(生成)する。そして、第2入力データ取得処理部7は、取得したデータをデータD2bとして、第1セレクタSEL1に出力する。
 フィルター処理部8は、第2セレクタSEL2から出力されるデータD6aと、入力データ取得部1から出力されるデータD1_orgと、制御部から出力される制御信号CTL4とを入力する。
 また、フィルター処理部8は、(1)データD6aが対訳データ(疑似対訳データ)である場合、各対訳データに信頼度を付与し、当該信頼度によるフィルタリング処理を行い、(2)データD6aが機械翻訳データである場合、当該機械翻訳データとデータD1_orgとをペアリングして取得した対訳データ(疑似対訳データ)について、信頼度を付与し、当該信頼度によるフィルタリング処理を行う。
 そして、フィルター処理部8は、フィルター処理後の対訳データをデータDpsd1として、疑似対訳データ格納部DB1に出力する。
 疑似対訳データ格納部DB1は、図1に示すように、疑似対訳データ生成装置100から出力されるデータDpsd1を記憶保持するための記憶部である。また、疑似対訳データ格納部DB1は、機械翻訳装置MT1から読み出し指令に基づいて、記憶保持しているデータを読み出し、読み出したデータをデータDpsd2として機械翻訳装置MT1に出力する。
 機械翻訳装置MT1は、図1に示すように、対訳データ記憶部DBp(L1-L2)および/または疑似対訳データ格納部DB1から、データを読み出し、読み出した当該データを用いて、機械翻訳モデルの学習処理を行う。そして、機械翻訳装置MT1は、当該学習処理により取得した機械翻訳モデルの学習済みモデルを用いて、機械翻訳処理を行う。つまり、機械翻訳装置MT1は、起点言語データDin_eを入力し、当該起点言語データDin_eに対して機械翻訳処理を行い、目標言語データDout_jを取得する。
 <1.2:機械翻訳システムの動作>
 以上のように構成された機械翻訳システム1000の動作について、説明する。
 図5は、機械翻訳システム1000で実行される処理のフローチャートである。
 図6は、疑似対訳データ生成装置100で実行される処理(事前学習処理)のフローチャートである。
 図7~図11は、疑似対訳データ生成装置100で実行される処理(事前学習処理)を説明するための図である。
 図12~図14は、疑似対訳データ生成装置100で実行される処理(疑似対訳データ生成処理)を説明するための図である。
 以下では、図面を参照しながら、機械翻訳システム1000の動作について、説明する。
 (1.2.1:事前学習処理)
 まず、機械翻訳システム1000の疑似対訳データ生成装置100において実行される事前学習処理(疑似対訳データ生成用NMTモデル(入力データ埋込部2(埋込層に相当)と機械翻訳処理部5のMT用ニューラルネットワークモデル51とにより実現されるモデル)の事前学習処理)(図5のフローチャートのステップS1)について、XLMの学習処理と、疑似対訳データ生成用NMTモデルの学習処理とに分けて説明する。
 (1.2.1.1:XLMの学習処理)
 まず、XLMの学習処理について説明する。
 XLMの学習処理は、図6に示すように、
(A)マスク化言語モデル(MLM)の処理(ステップS111)と、
(B)翻訳言語モデル(TLM)の処理(ステップS112)と、
(C)損失の計算処理(ステップS113)と、
(D)パラメータ(θXLM,θemb)の更新処理(ステップS114)と、
から構成される。
 なお、図6のフローチャートに示すように、ステップS111~ステップS114の処理は、終了条件が満たされるまで繰り返し実行される(図6のループ処理(ループ1)S110~S115)。
 (1.2.1.1A:マスク化言語モデル(MLM)の処理)
 マスク化言語モデル(MLM)の処理において、疑似対訳データ生成装置100は、図7に示すように、入力データ埋込部2への入力をマスク化データとし、正解データを原データ(マスク化していないデータ)として、学習処理を行う。
 ≪M1:MLMの処理(L1.mask→L1)≫
 具体的には、データ入力インターフェースIF1は、第1単言語データ記憶部DBm(L1)から他分野第1言語の単言語データD0(L1)を読み出し、読み出した単言語データをデータD1(L1)として、入力データ取得部1に出力する。
 入力データ取得部1の第1入力データ取得処理部11は、データD1(他分野第1言語のデータD1(L1))から、(1)トークンデータxi0token(=xi0token(L1))と、(2)当該トークンの位置を特定するための位置データxipos(=xipos(L1))と、(3)当該トークンの言語を特定するための言語データxilang(=xilang(L1))と、を取得する。
 そして、入力データ取得部1は、上記のように取得したトークンデータxi0tokenをマスク化処理部12に出力する。
 制御部(不図示)は、入力データ取得部1のマスク化処理部12に対して、マスク化処理を実行することを指示する制御信号CTL2を生成し、当該制御信号CTL2をマスク化処理部12に出力する。
 マスク化処理部12は、制御信号CTL2に従い、第1入力データ取得処理部11から入力したトークンデータxi0tokenの一部のトークンをマスクトークン(例えば、ラベル「[mask]」を付与したデータ(トークン)に設定する)に置換するマスク化処理を行う。そして、マスク化処理部12は、当該マスク化処理後のトークンデータをトークンデータxitokenとして、第1セレクタSEL1に出力する。
 また、第1入力データ取得処理部11は、位置データxipos(=xipos(L1))を第1セレクタSEL1に出力し、言語データxilang(=xilang(L1))を第1セレクタSEL1に出力する。
 つまり、入力データ取得部1は、上記により取得したデータをデータD2a(=D2a(L1.mask)={xitoken(L1),xipos(L1),xilang(L1)})として第1セレクタSEL1に出力する。
 なお、データを示す変数の末尾に括弧書きを追加し、そのデータの種別を表すものとする。例えば、xitoken(L1)は、他分野第1言語(L1)のデータから導出されたデータであることを示している(以下、同様)。また、上記括弧の中の「.mask」という表記は、マスク化処理されたトークンデータを含むデータであることを示しており、例えば、「L1.mask」は、他分野第1言語(L1)のデータから導出されたデータにおけるトークンデータに対してマスク化処理を行ったデータを含むデータであることを示している(以下、同様)。
 正解データ取得部13は、制御信号CTL2に従い、データD1(=D1(L1))から、入力データ埋込部2およびXLM処理部3での学習処理(XLMの学習処理)に用いる正解データD_correct(=D_correct(L1))を生成する。そして、正解データ取得部13は、生成したデータを正解データD_correct(=D_correct(L1))として第1出力データ評価部4に出力する。
 制御部は、第1セレクタSEL1の端子「0」を選択する選択信号sel1を生成し、当該選択信号sel1を第1セレクタSEL1に出力する。
 第1セレクタSEL1は、選択信号sel1に従い、端子「0」を選択し、入力データ取得部1から出力されるデータD2a(L1.mask)を、データD3(=D3(L1.mask))として入力データ埋込部2に出力する。
 入力データ埋込部2のトークン埋込部21は、データD3(L1.mask)に含まれるトークンデータxitokenを入力し、入力したトークンデータxitokenの分散表現データを、例えば、下記数式に相当する処理を実行して取得する。
  xi’token=xitoken・Wtoken
  xitoken:各トークン(入力データ)文字列を表すベクトル(例えば、1×n1の行列(n1次元ベクトル)(n1:自然数))
  Wtoken:分散表現データを取得するための行列(例えば、n1×m1の行列(n1,m1:自然数))
  xi’token:入力データxitokenの分散表現データ(例えば、1×m1の行列(m1次元ベクトル)(m1:自然数))
 入力データ埋込部2の位置埋込部22は、データD3(L1.mask)に含まれる位置データxiposを入力し、入力した位置データxiposの分散表現データを、例えば、下記数式に相当する処理を実行して取得する。
  xi’pos=xipos・Wpos
  xipos:各トークン(入力データ)の位置を表すベクトル(例えば、1×n2の行列(n2次元ベクトル)(n2:自然数))
  Wpos:分散表現データを取得するための行列(例えば、n2×m2の行列(n2,m2:自然数))
  xi’pos:入力データxiposの分散表現データ(例えば、1×m2の行列(m2次元ベクトル)(m2:自然数))
 入力データ埋込部2の言語埋込部23は、データD3(L1.mask)に含まれる言語データxilangを入力し、入力した言語データxilangの分散表現データを、例えば、下記数式に相当する処理を実行して取得する。
  xi’lang=xilang・Wlang
  xilang:各トークン(入力データ)の言語を表すベクトル(例えば、1×n3の行列(n3次元ベクトル)(n3:自然数))
  Wlang:分散表現データを取得するための行列(例えば、n3×m3の行列(n3,m3:自然数))
  xi’lang:入力データxilangの分散表現データ(例えば、1×m3の行列(m3次元ベクトル)(m3:自然数))
 入力データ埋込部2は、上記により取得された分散表現データをデータD4(L1.mask)として、XLM処理部3に出力する。なお、上記のトークン文字列や言語識別子の埋め込み方法、位置の埋め込み方法は、上記に限定されることなく、他の方法を用いてもよい。
 XLM処理部3のXLM用ニューラルネットワークモデル31は、入力データ埋込部2から出力されるデータD4(L1.mask)に対して、XLM処理を実行し、データD5x(=D5x(L1.mask))を取得する。そして、XLM処理部3は、上記により取得したデータD5xを第1出力データ評価部4に出力する。
 第1出力データ評価部4は、XLM処理部3から出力されるデータD5x(L1.mask)と、入力データ取得部1から出力される正解データD_correct(=D_correct(L1))とを入力する。第1出力データ評価部4は、XLM処理部3の出力であるデータD5(L1.mask)と、その正解データD_correct(L1)とから損失を取得する。
 ≪M2:MLMの処理(L2.mask→L2)≫
 次に、疑似対訳データ生成装置100のデータ入力インターフェースIF1は、第2単言語データ記憶部DBm(L2)から他分野の第2言語の単言語データD0(L2)を読み出し、読み出した単言語データをデータD1(L2)として、入力データ取得部1に出力する。そして、上記と同様の処理を行う。つまり、入力データ埋込部2への入力データを、データD3(L2.mask)、すなわち、
  D3(L2.mask)={xitoken(L2),xipos(L2),xilang(L2)}
  xitoken(L2):第2単言語データ記憶部DBm(L2)から読み出した単言語データD1(L2)のトークンデータxi0token(L2)の一部のトークンをマスクトークンに置換するマスク化処理を行うことで取得したマスク化トークンデータ
  xipos(L2):第2単言語データ記憶部DBm(L2)から読み出した単言語データD1(L2)のトークンデータの位置を示すデータ(位置データ)
  xilang(L2):第2単言語データ記憶部DBm(L2)から読み出した単言語データD1(L2)のトークンの言語を示すデータ(言語データ)
とし、正解データをD_correct(L2)(=原データ(マスク化していないデータ))として、上記と同様の処理を行う。
 ≪M3:MLMの処理(R1.mask→R1)≫
 次に、疑似対訳データ生成装置100のデータ入力インターフェースIF1は、第3単言語データ記憶部DBm(R1)から適応先分野の第1言語の単言語データD0(R1)を読み出し、読み出した単言語データをデータD1(R1)として、入力データ取得部1に出力する。そして、上記と同様の処理を行う。つまり、入力データ埋込部2への入力データを、データD3(R1.mask)、すなわち、
  D3(R1.mask)={xitoken(R1),xipos(R1),xilang(R1)}
  xitoken(R1):第3単言語データ記憶部DBm(R1)から読み出した単言語データD1(R1)のトークンデータxi0token(R1)の一部のトークンをマスクトークンに置換するマスク化処理を行うことで取得したマスク化トークンデータ
  xipos(R1):第3単言語データ記憶部DBm(R1)から読み出した単言語データD1(R1)のトークンデータの位置を示すデータ(位置データ)
  xilang(R1):第3単言語データ記憶部DBm(R1)から読み出した単言語データD1(R1)のトークンデータの言語を示すデータ(言語データ)
とし、正解データをD_correct(R1)(=原データ(マスク化していないデータ))として、上記と同様の処理を行う。
 ≪M4:MLMの処理(R2.mask→R2)≫
 次に、疑似対訳データ生成装置100のデータ入力インターフェースIF1は、第4単言語データ記憶部DBm(R2)から適応先分野の第2言語の単言語データD0(R2)を読み出し、読み出した単言語データをデータD1として、入力データ取得部1に出力する。そして、上記と同様の処理を行う。つまり、入力データ埋込部2への入力データを、データD3(R2.mask)、すなわち、
  D3(R2.mask)={xitoken(R2),xipos(R2),xilang(R2)}
  xitoken(R2):第4単言語データ記憶部DBm(R2)から読み出した単言語データD1(R2)のトークンデータxi0token(R2)の一部のトークンをマスクトークンに置換するマスク化処理を行うことで取得したマスク化トークンデータ
  xipos(R2):第4単言語データ記憶部DBm(R2)から読み出した単言語データD1(R2)のトークンデータの位置を示すデータ(位置データ)
  xilang(R2):第4単言語データ記憶部DBm(R2)から読み出した単言語データD1(R2)のトークンデータの言語を示すデータ(言語データ)
とし、正解データをD_correct(R2)(=原データ(マスク化していないデータ))として、上記と同様の処理を行う。
 (1.2.1.1B:翻訳言語モデル(TLM)の処理)
 次に、翻訳言語モデル(TLM)の処理において、疑似対訳データ生成装置100は、図7に示すように、入力データ埋込部2への入力(対訳データ)をマスク化データとし、正解データを原データ(マスク化していないデータ)として、学習処理を行う。
 ≪T1:TLMの処理((L1-L2).mask→L1-L2)≫
 具体的には、データ入力インターフェースIF1は、対訳データ記憶部DBp(L1―L2)から他分野の対訳データD0(L1-L2)を読み出し、読み出した対訳データをデータD1(L1-L2)として、入力データ取得部1に出力する。
 入力データ取得部1の第1入力データ取得処理部11は、データD1(対訳データD1(L1-L2)(他分野第1言語の文と、当該文の第2言語の対訳文をペアとして構成する対訳データD1(L1-L2)))から、(1)トークンデータxi0token(=xi0token(L1-L2))と、(2)当該トークンの位置を特定するための位置データxipos(=xipos(L1-L2))と、(3)当該トークンの言語を特定するための言語データxilang(=xilang(L1-L2))と、を取得する。
 そして、入力データ取得部1は、上記のように取得したトークンデータxi0token(L1-L2)をマスク化処理部12に出力する。
 制御部(不図示)は、入力データ取得部1のマスク化処理部12に対して、マスク化処理を実行することを指示する制御信号CTL2を生成し、当該制御信号CTL2をマスク化処理部12に出力する。
 マスク化処理部12は、制御信号CTL2に従い、第1入力データ取得処理部11から入力したトークンデータxi0token(L1-L2)の一部のトークンをマスクトークン(例えば、文字列を人工的なトークン「[MASK]」としたデータ(トークン)に設定する)に置換するマスク化処理を行う。そして、マスク化処理部12は、当該マスク化処理後のトークンデータをトークンデータxitoken((L1-L2).mask)として、第1セレクタSEL1に出力する。なお、対訳データL1-L2(他分野第1言語の文と、当該文の第2言語の対訳文をペアとして構成する対訳データ)に対してマスク化処理を行い取得されるデータを「(L1-L2).mask」と表記する(以下、同様)。
 また、第1入力データ取得処理部11は、位置データxipos(=xipos)(=xipos(L1-L2))を第1セレクタSEL1に出力し、言語データxilang(=xilang)(=xilang(L1-L2))を第1セレクタSEL1に出力する。
 つまり、入力データ取得部1は、上記により取得したデータをデータD2a(=D2a((L1-L2).mask)={xitoken((L1-L2).mask),xipos(L1-L2),xilang(L1-L2)})として第1セレクタSEL1に出力する。
 正解データ取得部13は、制御信号CTL2に従い、データD1から、入力データ埋込部2およびXLM処理部3での学習処理(XLMの学習処理)に用いる正解データD_correct(=D_correct(L1-L2))を生成する。そして、正解データ取得部13は、生成したデータを正解データD_correct(L1-L2)として第1出力データ評価部4に出力する。
 制御部は、第1セレクタSEL1の端子「0」を選択する選択信号sel1を生成し、当該選択信号sel1を第1セレクタSEL1に出力する。
 第1セレクタSEL1は、選択信号sel1に従い、端子「0」を選択し、入力データ取得部1から出力されるデータD2a((L1-L2).mask)を、データD3((L1-L2).mask)として、入力データ埋込部2に出力する。
 入力データ埋込部2のトークン埋込部21は、データD3((L1-L2).mask)に含まれるトークンデータxitoken(=xitoken((L1-L2).mask))を入力し、入力したトークンデータxitokenの分散表現データxi’tokenを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2の位置埋込部22は、データD3((L1-L2).mask)に含まれる位置データxipos(=xipos(L1-L2))を入力し、入力した位置データxiposの分散表現データxi’posを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2の言語埋込部23は、データD3((L1-L2).mask)に含まれる言語データxilang(=xilang(L1-L2)))を入力し、入力した言語データxilangの分散表現データxi’langを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2は、上記により取得された分散表現データをデータD4((L1-L2).mask)として、XLM処理部3に出力する。
 XLM処理部3のXLM用ニューラルネットワークモデル31は、入力データ埋込部2から出力されるデータD4((L1-L2).mask)に対して、XLM処理を実行し、データD5x(=D5x((L1-L2).mask))を取得する。そして、XLM処理部3は、上記により取得したデータD5x((L1-L2).mask)を第1出力データ評価部4に出力する。
 第1出力データ評価部4は、XLM処理部3から出力されるデータD5x((L1-L2).mask)と、入力データ取得部1から出力される正解データD_correct(L1-L2)とを入力する。第1出力データ評価部4は、XLM処理部3の出力であるデータD5x((L1-L2).mask)と、その正解データD_correct(L1-L2)とから損失を取得する。
 ≪T2:TLMの処理((L2-L1).mask→L2-L1)≫
 次に、疑似対訳データ生成装置100のデータ入力インターフェースIF1は、対訳データ記憶部DBp(L1―L2)から他分野の対訳データD0(L1-L2)を読み出し、読み出した対訳データの第一言語のデータと第二言語のデータを入れ替えた対訳データをデータD1(L2-L1)として、入力データ取得部1に出力する。
 入力データ取得部1の第1入力データ取得処理部11は、データD1(対訳データD1(L2-L1)(他分野第2言語の文と、当該文の第1言語の対訳文をペアとして構成する対訳データD1(L2-L1)))から、(1)トークンデータxitoken(=xitoken(L2-L1))と、(2)当該トークンの位置を特定するための位置データxipos(=xipos(L2-L1))と、(3)当該トークンの言語を特定するための言語データxilang(=xilang(L2-L1))と、を取得する。
 そして、入力データ取得部1は、上記のように取得したトークンデータxitoken(L2-L1)をトークンデータxi0token(L2-L1)としてマスク化処理部12に出力する。
 制御部(不図示)は、入力データ取得部1のマスク化処理部12に対して、マスク化処理を実行することを指示する制御信号CTL2を生成し、当該制御信号CTL2をマスク化処理部12に出力する。
 マスク化処理部12は、制御信号CTL2に従い、第1入力データ取得処理部11から入力したトークンデータxi0token(L2-L1)の一部のトークンをマスクトークン(例えば、文字列を人工的なトークン「[MASK]」としたデータ(トークン)に設定する)に置換するマスク化処理を行う。そして、マスク化処理部12は、当該マスク化処理後のトークンデータをトークンデータxitoken((L2-L1).mask)として、第1セレクタSEL1に出力する。なお、対訳データL2-L1(他分野第2言語の文と、当該文の第1言語の対訳文をペアとして構成する対訳データ)に対してマスク化処理を行い取得されるデータを「(L2-L1).mask」と表記する(以下、同様)。
 また、第1入力データ取得処理部11は、位置データxipos(=xipos)(=xipos(L2-L1))を第1セレクタSEL1に出力し、言語データxilang(=xilang)(=xilang(L2-L1))を第1セレクタSEL1に出力する。
 つまり、入力データ取得部1は、上記により取得したデータをデータD2a(=D2a((L2-L1).mask)={xitoken((L2-L1).mask),xipos(L2-L1),xilang(L2-L1)})として第1セレクタSEL1に出力する。
 正解データ取得部13は、制御信号CTL2に従い、データD1から、入力データ埋込部2およびXLM処理部3での学習処理(XLMの学習処理)に用いる正解データD_correct(=D_correct(L2-L1))を生成する。そして、正解データ取得部13は、生成したデータを正解データD_correct(L2-L1)として第1出力データ評価部4に出力する。
 制御部は、第1セレクタSEL1の端子「0」を選択する選択信号sel1を生成し、当該選択信号sel1を第1セレクタSEL1に出力する。
 第1セレクタSEL1は、選択信号sel1に従い、端子「0」を選択し、入力データ取得部1から出力されるデータD2a((L2-L1).mask)を、データD3((L2-L1).mask)として、入力データ埋込部2に出力する。
 入力データ埋込部2のトークン埋込部21は、データD3(L2-L1.mask)に含まれるトークンデータxitoken(=xitoken(L2-L1))を入力し、入力したトークンデータxitokenの分散表現データxi’tokenを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2の位置埋込部22は、データD3((L2-L1).mask)に含まれる位置データxipos(=xipos(L2-L1))を入力し、入力した位置データxiposの分散表現データxi’posを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2の言語埋込部23は、データD3((L2-L1).mask)に含まれる言語データxilang(=xilang(L2-L1)))を入力し、入力した言語データxilangの分散表現データxi’langを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2は、上記により取得された分散表現データをデータD4((L2-L1).mask)として、XLM処理部3に出力する。
 XLM処理部3のXLM用ニューラルネットワークモデル31は、入力データ埋込部2から出力されるデータD4((L2-L1).mask)に対して、XLM処理を実行し、データD5x(=D5x((L2-L1).mask))を取得する。そして、XLM処理部3は、上記により取得したデータD5x((L2-L1).mask)を第1出力データ評価部4に出力する。
 第1出力データ評価部4は、XLM処理部3から出力されるデータD5x((L2-L1).mask)と、入力データ取得部1から出力される正解データD_correct(L2-L1)とを入力する。第1出力データ評価部4は、XLM処理部3の出力であるデータD5x((L2-L1).mask)と、その正解データD_correct(L2-L1)とから損失を取得する。
 (1.2.1.1C:損失の計算処理)
 上記の処理、すなわち、(A)MLMの処理(4種類の単言語データを使用)(ステップS111)と、(B)TLMの処理(L1-L2の対訳データを使用)(ステップS112)とを実行した後、第1出力データ評価部4は、損失の計算処理を行う。なお、損失の計算をM文(M個の文、M:自然数)ごとに行う場合、M文の中の第i番目の文に含まれるサブワード数をN(1≦i≦M)とし、第i番目の文についてのXLM処理部3からの出力データD5x(Xin)(入力データをXinで表す)のj番目(j:自然数、1≦j≦N)のサブワードに相当するデータをD5x((Xin→Xout),i,j)(「(Xin→Xout)」は、入力データがXinであり、出力データがXoutであることを表す)とすると、第1出力データ評価部4は、下記数式のように、XLM処理部3から出力されるデータと、正解データとから損失Lossを取得する。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
  V:サブワード語彙のサイズ(各トークン(入力データ)文字列を表すベクトルの次元数)
  p:確率分布(p(k)は、k番目(第k次元)の要素の確率を示す)
  q:確率分布(q(k)は、k番目(第k次元)の要素の確率を示す)
 なお、上記数式において、D_correct’(x,i,j)は、第1出力データ評価部4により正解データD_correct(x)の第i番目の文の第j番目のサブワードから取得されるデータ(ベクトル)であり、サブワード語彙のサイズ(=各トークン(入力データ)文字列を表すベクトルの次元数(これをn1とする))と同じ次元数のベクトル(n1次元のベクトル)である。そして、例えば、D_correct’(x,i,j)は、n1次元のうち1次元のみ値が「1」であり(n1次元ベクトルの要素のうち、当該正解サブワードに対応する要素のみが「1」)、それ以外は値が「0」であるone-hotベクトルである。
 また、上記数式において、例えば、D5x((L1.mask→L1),i,j)は、n1次元の実数ベクトル(各次元のデータ(ベクトルの要素)が、対応するサブワードである確率を示す実数ベクトル)であり、softmax関数により確率化(実数ベクトルの各要素の総和が「1」となるように正規化)されている。そして、D5x((L1.mask→L1),i,j)は、入力データをL1.maskとしたときのXLM処理部3からの出力データであり、第i番目の文の第j番目のサブワードに相当するデータである。
 また、上記数式において、loss(p、q)は、交差エントロピー誤差を求める数式であり、これにより、確率分布間(上記数式では、確率分布p、q)の相違を定量化できる。
 このように、第1出力データ評価部4は、上記数式に相当する処理により、損失Lossを取得する。
 (1.2.1.1D:パラメータの更新処理)
 第1出力データ評価部4は、所定の学習データに対して上記で算出した損失(学習損失)に基づいてXLM処理部3のXLM用ニューラルネットワークモデル31のパラメータθXLMを更新するためのデータupdate(θXLM)を生成し、当該データupdate(θXLM)をXLM処理部3に出力する。
 XLM処理部3のXLM用ニューラルネットワークモデル31は、データupdate(θXLM)に基づいて、パラメータθXLMを更新する。
 また、XLM用ニューラルネットワークモデル31は、XLM用ニューラルネットワークモデル31のパラメータを更新した後、埋込層(入力データ埋込部2のトークン埋込部21、位置埋込部22、および、言語埋込部23に対応)のパラメータを更新するためのパラメータ更新データupdate(θemb)を生成し、当該パラメータ更新データupdate(θemb)を入力データ埋込部2に出力する。
 入力データ埋込部2は、パラメータ更新データupdate(θemb)に基づいて、埋込層(入力データ埋込部2のトークン埋込部21、位置埋込部22、および、言語埋込部23に対応)のパラメータを更新する。例えば、入力データ埋込部2は、パラメータ更新データupdate(θemb)に基づいて、変換行列(例えば、行列Wtoken、Wpos、Wlang)の要素(値)を更新する。
 疑似対訳データ生成装置100は、所定の終了条件を満たすまで、上記処理(図6のループ1の処理)を繰り返し実行する。その際、例えば、学習に用いるデータとは別の調整用データに対して第1出力データ評価部4で算出される損失(テスト損失)を評価値として参照する。
 そして、疑似対訳データ生成装置100は、上記処理(図6のループ1の処理)の終了条件が満たされたときをもって、XLMの学習処理を終了させる。これにより、入力データ埋込部2の初期化が完了する。
 つまり、XLMの学習処理が終了した時点において、入力データ埋込部2で設定されている分散表現データを取得するためのパラメータ(例えば、変換行列Wtoken、Wpos、Wlang)を、疑似対訳データ生成用NMTモデル(入力データ埋込部2(埋込層に相当)と機械翻訳処理部5のMT用ニューラルネットワークモデル51とにより実現されるモデル)の学習処理の初期値(初期パラメータ)に設定する。
 つまり、疑似対訳データ生成装置100において、XLMの学習処理が終了した時点におけるパラメータが設定されている状態(入力データ埋込部2の状態)を、疑似対訳データ生成用NMTモデルの学習処理の初期状態として、疑似対訳データ生成用NMTモデルの学習処理を開始させる。
 なお、図6のフローチャートのループ処理(ループ1)の終了条件は、例えば、以下のように設定される。
(1)事前に定めた反復回数だけループ処理(ループ1)が実行された。
(2)言語横断言語モデル(XLM)の学習処理において、第1出力データ評価部4における評価値が一定以上(事前に定めた値以上)の変化を示さなかった。
(3)言語横断言語モデル(XLM)の学習処理において、第1出力データ評価部4における評価値が事前に定めた値を下回った。
(4)言語横断言語モデル(XLM)の学習処理において、第1出力データ評価部4における評価値が事前に定めた回数更新されなかった。
 上記の終了条件を満たす場合、疑似対訳データ生成装置100は、XLMの学習処理が完了した判断し、XLMの学習処理を終了させる。
 そして、疑似対訳データ生成装置100は、上記のようにして、パラメータが上記初期値に設定された状態で、以下に説明する、疑似対訳データ生成用NMTモデル(入力データ埋込部2(埋込層に相当)と機械翻訳処理部5のMT用ニューラルネットワークモデル51とにより実現されるモデル)の学習処理を行う。
 (1.2.1.2:疑似対訳データ生成用NMTモデルの学習処理)
 次に、疑似対訳データ生成装置100では、疑似対訳データ生成用NMTモデルの学習処理(ステップS120~S126)が実行される。
 疑似対訳データ生成用NMTモデルの学習処理は、図6に示すように、
(A)自己符号化処理(ステップS121)と、
(B)ゼロショット折り返し機械翻訳処理(ステップS122)と、
(C)教師データあり機械翻訳処理(ステップS123)と、
(D)損失の計算処理(ステップS124)と、
(E)パラメータ(θMT,θemb)の更新処理(ステップS125)と、
から構成される。
 なお、図6のフローチャートに示すように、ステップS121~S125の処理は、終了条件が満たされるまで繰り返し実行される(図6のループ処理(ループ2)S120~S126)。
 (1.2.1.2A:自己符号化処理)
 自己符号化処理において、疑似対訳データ生成装置100は、図8に示すように、入力データ埋込部2への入力データと同一の出力データが出力されるように学習処理(疑似対訳データ生成用NMTモデルの学習処理)を行う。つまり、自己符号化処理において、正解データは、入力データと同一のデータに設定される。すなわち、自己符号化処理において、疑似対訳データ生成装置100は、
(1)入力データ埋込部2への入力をD3(L1)とし、機械翻訳処理部5の出力データD5(L1)の正解データをD_correct(L1)とする、
(2)入力データ埋込部2への入力をD3(L2)とし、機械翻訳処理部5の出力データD5(L2)の正解データをD_correct(L2)とする、
(3)入力データ埋込部2への入力をD3(R1)とし、機械翻訳処理部5の出力データD5(R1)の正解データをD_correct(R1)とする、および、
(4)入力データ埋込部2への入力をD3(R2)とし、機械翻訳処理部5の出力データD5(R2)の正解データをD_correct(R2)として、学習処理(自己符号化処理によるパラメータ最適化処理)を実行する。
 ≪A1:自己符号化処理(L1→L1)≫
 入力データ埋込部2への入力をD3(L1)とし、機械翻訳処理部5の出力データD5(L1)の正解データをD_correct(L1)とする場合について、説明する。
 データ入力インターフェースIF1は、第1単言語データ記憶部DBm(L1)から他分野第1言語の単言語データD0(L1)を読み出し、読み出した単言語データをデータD1(=D1(L1))として、入力データ取得部1に出力する。
 入力データ取得部1の第1入力データ取得処理部11は、データD1(他分野第1言語のデータD1(L1))(他分野第1言語の文を構成するデータD1(L1))から、(1)トークンデータxi0tokenと、(2)当該トークンの位置を特定するための位置データxiposと、(3)当該トークンの言語を特定するための言語データxilangと、を取得する。
 そして、入力データ取得部1は、上記のように取得したトークンデータxi0tokenをマスク化処理部12に出力する。
 制御部(不図示)は、入力データ取得部1のマスク化処理部12に対して、マスク化処理を実行しないことを指示する制御信号CTL2を生成し、当該制御信号CTL2をマスク化処理部12に出力する。
 マスク化処理部12は、制御信号CTL2に従い、第1入力データ取得処理部11から入力したトークンデータxi0tokenをトークンデータxitokenとして、第1セレクタSEL1に出力する。
 また、第1入力データ取得処理部11は、位置データxipos(=xipos(L1))を第1セレクタSEL1に出力し、言語データxilang(=xilang)(=xilang(L1))を第1セレクタSEL1に出力する。
 つまり、入力データ取得部1は、上記により取得したデータをデータD2a(=D2a(L1)={xitoken(L1),xipos(L1),xilang(L1)})として第1セレクタSEL1に出力する。
 正解データ取得部13は、制御信号CTL2に従い、データD1(=D1(L1))から、疑似対訳データ生成用NMTモデル(入力データ埋込部2(埋込層に相当)と機械翻訳処理部5のMT用ニューラルネットワークモデル51とにより実現されるモデル)の学習処理に用いる正解データD_correct(=D_correct(L1))を生成する。具体的には、正解データ取得部13は、第1セレクタSEL1への入力データD2a(L1)と同一のデータを正解データD_correct(L1)に設定する。そして、正解データ取得部13は、上記により生成した正解データD_correct(L1)を第2出力データ評価部6に出力する。
 制御部は、第1セレクタSEL1の端子「0」を選択する選択信号sel1を生成し、当該選択信号sel1を第1セレクタSEL1に出力する。
 第1セレクタSEL1は、選択信号sel1に従い、端子「0」を選択し、入力データ取得部1から出力されるデータD2a(L1)を、データD3(L1)として、入力データ埋込部2に出力する。
 入力データ埋込部2のトークン埋込部21は、データD3(L1)に含まれるトークンデータxitokenを入力し、入力したトークンデータxitokenの分散表現データxi’tokenを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2の位置埋込部22は、データD3(L1)に含まれる位置データxiposを入力し、入力した位置データxiposの分散表現データxi’posを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2の言語埋込部23は、データD3(L1)に含まれる言語データxilangを入力し、入力した言語データxilangの分散表現データxi’langを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2は、上記により取得された分散表現データをデータD4(L1)として、機械翻訳処理部5に出力する。
 機械翻訳処理部5のMT用ニューラルネットワークモデル51は、入力データ埋込部2から出力されるデータD4(L1)(分散表現データD4(L1)(={xi’token,xi’pos,xi’lang}))と、制御部から出力される制御信号CTL3とを入力する。
 制御部は、MT用ニューラルネットワークモデル51からL1のデータを出力することを指示する制御信号CTL3を生成し、当該制御信号CTL3を機械翻訳処理部5に出力する。
 MT用ニューラルネットワークモデル51は、入力データ埋込部2から出力されるデータD4(L1)に対して、機械翻訳処理を実行し、データD5(L1)を取得する。なお、MT用ニューラルネットワークモデル51は、制御信号CTL3に従い、出力データの種別をL1(他分野、第1言語)とする。
 MT用ニューラルネットワークモデル51は、上記により取得したデータD5(L1)を第2セレクタSEL2に出力する。
 制御部は、第2セレクタSEL2の端子「0」を選択する選択信号sel2を生成し、当該選択信号sel2を第2セレクタSEL2に出力する。
 第2セレクタSEL2は、選択信号sel2に従い、端子「0」を選択し、機械翻訳処理部5から出力されるデータD5(データD5(L1))を、第2出力データ評価部6にデータD6a(データD6a(L1))として出力する。
 第2出力データ評価部6は、第2セレクタSEL2を介して機械翻訳処理部5から出力されるデータD5(L1)(=データD6a(L1))と、入力データ取得部1から出力される正解データD_correct(L1)とを入力する。第2出力データ評価部6は、機械翻訳処理部5の出力であるデータD5(L1)と、その正解データD_correct(L1)とから損失を取得する。
 ≪A2:自己符号化処理(L2→L2)≫
 入力データ埋込部2への入力をD3(L2)とし、機械翻訳処理部5の出力データD5(L2)の正解データをD_correct(L2)とする場合についても、疑似対訳データ生成装置100は、上記と同様の処理を実行する。つまり、疑似対訳データ生成装置100は、上記処理において、D3(L1)をD3(L2)に置換し、正解データD_correct(L1)を正解データD_correct(L2)に置換して、上記処理と同様の処理を行う。
 ≪A3:自己符号化処理(R1→R1)≫
 入力データ埋込部2への入力をD3(R1)とし、機械翻訳処理部5の出力データD5(R1)の正解データをD_correct(R1)とする場合についても、疑似対訳データ生成装置100は、上記と同様の処理を実行する。つまり、疑似対訳データ生成装置100は、上記処理において、D3(L1)をD3(R1)に置換し、正解データD_correct(L1)を正解データD_correct(R1)に置換して、上記処理と同様の処理を行う。
 ≪A4:自己符号化処理(R2→R2)≫
 入力データ埋込部2への入力をD3(R2)とし、機械翻訳処理部5の出力データD5(R2)の正解データをD_correct(R2)とする場合についても、疑似対訳データ生成装置100は、上記と同様の処理を実行する。つまり、疑似対訳データ生成装置100は、上記処理において、D3(L1)をD3(R2)に置換し、正解データD_correct(L1)を正解データD_correct(R2)に置換して、上記処理と同様の処理を行う。
 (1.2.1.2B:ゼロショット折り返し機械翻訳処理)
 ゼロショット折り返し機械翻訳処理において、疑似対訳データ生成装置100は、図9、図10に示すように、(1)入力データ埋込部2への入力データに対して機械翻訳処理(疑似対訳データ生成用NMTモデル(入力データ埋込部2(埋込層に相当)と機械翻訳処理部5のMT用ニューラルネットワークモデル51とにより実現されるモデル)による機械翻訳処理)を行い(1回目の機械翻訳処理)、入力データと異なる言語のデータ(ゼロショット機械翻訳のデータ)を出力させ、(2)その出力されたデータに対して機械翻訳処理(疑似対訳データ生成用NMTモデルにより機械翻訳処理)を行い(2回目の機械翻訳処理)、入力データと同一のデータが出力されるように学習処理を行う。つまり、ゼロショット折り返し機械翻訳処理において、正解データは、入力データと同一のデータに設定される。
 具体的には、ゼロショット折り返し機械翻訳処理において、疑似対訳データ生成装置100は、以下の(1)~(6)の処理を行う。
(1)L1→R2→L1:
 1回目の機械翻訳処理において、入力データ埋込部2への入力をD3(1)(L1)とし、機械翻訳処理部5からの出力をD5(1)(R2)とし、2回目の機械翻訳処理において、入力データ埋込部2への入力をD3(2)(R2)(=D5(1)(R2))とし、機械翻訳処理部5からの出力をD5(2)(L1)とし、また、正解データをD_correct(L1)とする。
 なお、1回目の機械翻訳処理の入力データ埋込部2への入力データをD3(1)(x)と、入力データ埋込部2からの出力データをD4(1)(x)と、2回目の機械翻訳処理の入力データ埋込部2への入力データをD3(2)(x)と、入力データ埋込部2からの出力データをD4(2)(x)と表記する(以下同様)。
(2)R1→L2→R1:
 1回目の機械翻訳処理において、入力データ埋込部2への入力をD3(1)(R1)とし、機械翻訳処理部5からの出力をD5(1)(L2)とし、2回目の機械翻訳処理において、入力データ埋込部2への入力をD3(2)(L2)(=D5(1)(L2))とし、機械翻訳処理部5からの出力をD5(2)(R1)とし、また、正解データをD_correct(R1)とする。
(3)R1→R2→R1:
 1回目の機械翻訳処理において、入力データ埋込部2への入力をD3(1)(R1)とし、機械翻訳処理部5からの出力をD5(1)(R2)とし、2回目の機械翻訳処理において、入力データ埋込部2への入力をD3(2)(R2)(=D5(1)(R2))とし、機械翻訳処理部5からの出力をD5(2)(R1)とし、また、正解データをD_correct(R1)とする。
(4)L2→R1→L2:
 1回目の機械翻訳処理において、入力データ埋込部2への入力をD3(1)(L2)とし、機械翻訳処理部5からの出力をD5(1)(R1)とし、2回目の機械翻訳処理において、入力データ埋込部2への入力をD3(2)(R1)(=D5(1)(R1))とし、機械翻訳処理部5からの出力をD5(2)(L2)とし、また、正解データをD_correct(L2)とする。
(5)R2→L1→R2:
 1回目の機械翻訳処理において、入力データ埋込部2への入力をD3(1)(R2)とし、機械翻訳処理部5からの出力をD5(1)(L1)とし、2回目の機械翻訳処理において、入力データ埋込部2への入力をD3(2)(L1)(=D5(1)(L1))とし、機械翻訳処理部5からの出力をD5(2)(R2)とし、また、正解データをD_correct(R2)とする。
(6)R2→R1→R2:
 1回目の機械翻訳処理において、入力データ埋込部2への入力をD3(1)(R2)とし、機械翻訳処理部5からの出力をD5(1)(R1)とし、2回目の機械翻訳処理において、入力データ埋込部2への入力をD3(2)(R1)(=D5(1)(R1))とし、機械翻訳処理部5からの出力をD5(2)(R2)とし、また、正解データをD_correct(R1)とする。
 ≪B1:ゼロショット折り返し機械翻訳処理(L1→R2→L1)≫
 入力データ埋込部2への1回目の入力をD3(1)(L1)とし、1回目の機械翻訳処理部5からの出力をD5(1)(R2)とし、入力データ埋込部2への2回目の入力をD3(2)(R2)(=D5(1)(R2))とし、2回目の機械翻訳処理部5からの出力をD5(2)(L1)とし、正解データをD_correct(L1)とする場合について、説明する。
 データ入力インターフェースIF1は、第1単言語データ記憶部DBm(L1)から他分野の第1言語の単言語データD0(L1)を読み出し、読み出した単言語データをデータD1(=D1(L1))として、入力データ取得部1に出力する。
 入力データ取得部1の第1入力データ取得処理部11は、データD1(他分野第1言語のデータD1(L1))(他分野第1言語の文を構成するデータD1(L1))から、(1)トークンデータxi0tokenと、(2)当該トークンの位置を特定するための位置データxiposと、(3)当該トークンの言語を特定するための言語データxilangと、を取得する。
 そして、入力データ取得部1は、上記のように取得したトークンデータxi0tokenをマスク化処理部12に出力する。
 制御部(不図示)は、入力データ取得部1のマスク化処理部12に対して、マスク化処理を実行しないことを指示する制御信号CTL2を生成し、当該制御信号CTL2をマスク化処理部12に出力する。
 マスク化処理部12は、制御信号CTL2に従い、第1入力データ取得処理部11から入力したトークンデータxi0tokenをトークンデータxitokenとして、第1セレクタSEL1に出力する。
 また、第1入力データ取得処理部11は、位置データxipos(=xipos(L1))を第1セレクタSEL1に出力し、言語データxilang(=xilang(L1))を第1セレクタSEL1に出力する。
 つまり、入力データ取得部1は、上記により取得したデータをデータD2a(=D2a(L1)={xitoken(L1),xipos(L1),xilang(L1)})として第1セレクタSEL1に出力する。
 正解データ取得部13は、制御信号CTL2に従い、データD1(=D1(L1))から、疑似対訳データ生成用NMTモデル(入力データ埋込部2(埋込層に相当)と機械翻訳処理部5のMT用ニューラルネットワークモデル51とにより実現されるモデル)の学習処理に用いる正解データD_correct(=D_correct(L1))を生成する。具体的には、正解データ取得部13は、第1セレクタSEL1への入力データD2a(L1)と同一のデータを正解データD_correct(L1)に設定する。そして、正解データ取得部13は、上記により生成した正解データD_correct(L1)を第2出力データ評価部6に出力する。
 制御部は、第1セレクタSEL1の端子「0」を選択する選択信号sel1を生成し、当該選択信号sel1を第1セレクタSEL1に出力する。
 第1セレクタSEL1は、選択信号sel1に従い、端子「0」を選択し、入力データ取得部1から出力されるデータD2a(L1)を、データD3(1)(L1)として、入力データ埋込部2に出力する。
 入力データ埋込部2のトークン埋込部21は、データD3(1)(L1)に含まれるトークンデータxitokenを入力し、入力したトークンデータxitokenの分散表現データxi’tokenを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2の位置埋込部22は、データD3(1)(L1)に含まれる位置データxiposを入力し、入力した位置データxiposの分散表現データxi’posを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2の言語埋込部23は、データD3(1)(L1)に含まれる言語データxilangを入力し、入力した言語データxilangの分散表現データxi’langを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2は、上記により取得された分散表現データをデータD4(1)(L1)として、機械翻訳処理部5に出力する。
 機械翻訳処理部5のMT用ニューラルネットワークモデル51は、入力データ埋込部2から出力されるデータD4(1)(L1)(分散表現データD4(1)(L1)(={xi’token,xi’pos,xi’lang}))と、制御部から出力される制御信号CTL3とを入力する。
 制御部は、MT用ニューラルネットワークモデル51からR2のデータを出力することを指示する制御信号CTL3を生成し、当該制御信号CTL3を機械翻訳処理部5に出力する。
 MT用ニューラルネットワークモデル51は、入力データ埋込部2から出力されるデータD4(1)(L1)に対して、機械翻訳処理を実行し、データD5(1)(R2)を取得する。なお、MT用ニューラルネットワークモデル51は、制御信号CTL3に従い、出力データの種別をR2(適応先分野、第2言語)とする。
 MT用ニューラルネットワークモデル51は、上記により取得したデータD5(1)(R2)を第2セレクタSEL2に出力する。
 制御部は、第2セレクタSEL2の端子「1」を選択する選択信号sel2を生成し、当該選択信号sel2を第2セレクタSEL2に出力する。
 第2セレクタSEL2は、選択信号sel2に従い、端子「1」を選択し、機械翻訳処理部5から出力されるデータD5(データD5(1)(R2))を、第1バッファBuf1にデータD6b(データD6b(1)(R2))として記憶する(図9を参照)。
 次に、第2入力データ取得処理部7は、第1バッファBuf1から出力されるデータD6b’(データD6b(1)(R2))を入力し、データD6b’(データD6b(1)(R2))から入力データ埋込部2に入力するためのデータ(={xitoken(R2),xipos(R2),xilang(R2)})を取得(生成)する。そして、第2入力データ取得処理部7は、取得したデータをデータD2b(データD2b(2)(R2)(={xitoken(R2),xipos(R2),xilang(R2)}))として、第1セレクタSEL1に出力する。
 制御部は、第1セレクタSEL1の端子「1」を選択する選択信号sel1を生成し、当該選択信号sel1を第1セレクタSEL1に出力する。
 第1セレクタSEL1は、選択信号sel1に従い、端子「1」を選択し、第2入力データ取得処理部7から出力されるデータD2b(2)(R2)を、データD3(2)(R2)として、入力データ埋込部2に出力する。
 入力データ埋込部2のトークン埋込部21は、データD3(2)(R2)に含まれるトークンデータxitokenを入力し、入力したトークンデータxitokenの分散表現データxi’tokenを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2の位置埋込部22は、データD3(2)(R2)に含まれる位置データxiposを入力し、入力した位置データxiposの分散表現データxi’posを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2の言語埋込部23は、データD3(2)(R2)に含まれる言語データxilangを入力し、入力した言語データxilangの分散表現データxi’langを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2は、上記により取得された分散表現データをデータD4(2)(R2)として、機械翻訳処理部5に出力する。
 機械翻訳処理部5のMT用ニューラルネットワークモデル51は、入力データ埋込部2から出力されるデータD4(2)(R2)(分散表現データD4(2)(R2)(={xi’token,xi’pos,xi’lang}))と、制御部から出力される制御信号CTL3とを入力する。
 制御部は、MT用ニューラルネットワークモデル51からL1のデータを出力することを指示する制御信号CTL3を生成し、当該制御信号CTL3を機械翻訳処理部5に出力する。
 MT用ニューラルネットワークモデル51は、入力データ埋込部2から出力されるデータD4(2)(R2)に対して、機械翻訳処理を実行し、データD5(2)(L1)を取得する。なお、MT用ニューラルネットワークモデル51は、制御信号CTL3に従い、出力データの種別をL1(他分野、第1言語)とする。
 MT用ニューラルネットワークモデル51は、上記により取得したデータD5(2)(L1)を第2セレクタSEL2に出力する。
 制御部は、第2セレクタSEL2の端子「0」を選択する選択信号sel2を生成し、当該選択信号sel2を第2セレクタSEL2に出力する。
 第2セレクタSEL2は、選択信号sel2に従い、端子「0」を選択し、機械翻訳処理部5から出力されるデータD5(2)(L1)を、データD6a(2)(L1)として、第2出力データ評価部6に出力する。
 第2出力データ評価部6は、第2セレクタSEL2から出力されるデータD6a(2)(L1)(=D5(2)(L1))と、入力データ取得部1から出力される正解データD_correct(L1)とを入力する。第2出力データ評価部6は、機械翻訳処理部5の出力であるデータD5(2)(L1)と、その正解データD_correct(L1)とから損失を取得する。
 ≪B2:ゼロショット折り返し機械翻訳処理(R1→L2→R1)≫
 入力データ埋込部2への1回目の入力をD3(1)(R1)とし、1回目の機械翻訳処理部5からの出力をD5(1)(L2)とし、入力データ埋込部2への2回目の入力をD3(2)(L2)(=D5(1)(L2))とし、2回目の機械翻訳処理部5からの出力をD5(2)(R1)とし、正解データをD_correct(R1)とする場合についても、疑似対訳データ生成装置100は、上記と同様の処理を実行する。
 つまり、疑似対訳データ生成装置100は、上記処理において、入力データ埋込部2への1回目の入力D3(1)(L1)をD3(1)(R1)に、機械翻訳処理部5からの出力D5(1)(R2)をD5(1)(L2)に置換し、入力データ埋込部2への2回目の入力D3(2)(R2)をD3(2)(L2)に、機械翻訳処理部5からの出力D5(2)(L1)をD5(2)(R1)に置換し、正解データD_correct(L1)を正解データD_correct(R1)に置換して、上記処理と同様の処理を行う。
 ≪B3:ゼロショット折り返し機械翻訳処理(R1→R2→R1)≫
 入力データ埋込部2への1回目の入力をD3(1)(R1)とし、1回目の機械翻訳処理部5からの出力をD5(1)(R2)とし、入力データ埋込部2への2回目の入力をD3(2)(R2)(=D5(1)(R2))とし、2回目の機械翻訳処理部5からの出力をD5(2)(R1)とし、正解データをD_correct(R1)とする場合についても、疑似対訳データ生成装置100は、上記と同様の処理を実行する。
 つまり、疑似対訳データ生成装置100は、上記処理において、入力データ埋込部2への1回目の入力D3(1)(L1)をD3(1)(R1)に、機械翻訳処理部5からの出力D5(1)(R2)を同じくD5(1)(R2)とし、入力データ埋込部2への2回目の入力D3(2)(R2)を同じくD3(2)(R2)とし、機械翻訳処理部5からの出力D5(2)(L1)をD5(2)(R1)に置換し、正解データD_correct(L1)を正解データD_correct(R1)に置換して、上記処理と同様の処理を行う。
 ≪B4:ゼロショット折り返し機械翻訳処理(L2→R1→L2)≫
 入力データ埋込部2への1回目の入力をD3(1)(L2)とし、1回目の機械翻訳処理部5からの出力をD5(1)(R1)とし、入力データ埋込部2への2回目の入力をD3(2)(R1)(=D5(1)(R1))とし、2回目の機械翻訳処理部5からの出力をD5(2)(L2)とし、正解データをD_correct(L2)とする場合についても、疑似対訳データ生成装置100は、上記と同様の処理を実行する。
 つまり、疑似対訳データ生成装置100は、上記処理において、入力データ埋込部2への1回目の入力D3(1)(L1)をD3(1)(L2)に、機械翻訳処理部5からの出力D5(1)(R2)をD5(1)(R1)に置換し、入力データ埋込部2への2回目の入力D3(2)(R2)をD3(2)(R1)に、機械翻訳処理部5からの出力D5(2)(L1)をD5(2)(L2)に置換し、正解データD_correct(L1)を正解データD_correct(L2)に置換して、上記処理と同様の処理を行う。
 ≪B5:ゼロショット折り返し機械翻訳処理(R2→L1→R2)≫
 入力データ埋込部2への1回目の入力をD3(1)(R2)とし、1回目の機械翻訳処理部5からの出力をD5(1)(L1)とし、入力データ埋込部2への2回目の入力をD3(2)(L1)(=D5(1)(L1))とし、2回目の機械翻訳処理部5からの出力をD5(2)(R2)とし、正解データをD_correct(R2)とする場合についても、疑似対訳データ生成装置100は、上記と同様の処理を実行する。
 つまり、疑似対訳データ生成装置100は、上記処理において、入力データ埋込部2への1回目の入力D3(1)(L1)をD3(1)(R2)に、機械翻訳処理部5からの出力D5(1)(R2)をD5(1)(L1)に置換し、入力データ埋込部2への2回目の入力D3(2)(R2)をD3(2)(L1)に、機械翻訳処理部5からの出力D5(2)(L1)をD5(2)(R2)に置換し、正解データD_correct(L1)を正解データD_correct(R2)に置換して、上記処理と同様の処理を行う。
 ≪B6:ゼロショット折り返し機械翻訳処理(R2→R1→R2)≫
 入力データ埋込部2への1回目の入力をD3(1)(R2)とし、1回目の機械翻訳処理部5からの出力をD5(1)(R1)とし、入力データ埋込部2への2回目の入力をD3(2)(R1)(=D5(1)(R1))とし、2回目の機械翻訳処理部5からの出力をD5(2)(R2)とし、正解データをD_correct(R2)とする場合についても、疑似対訳データ生成装置100は、上記と同様の処理を実行する。
 つまり、疑似対訳データ生成装置100は、上記処理において、入力データ埋込部2への1回目の入力D3(1)(L1)をD3(1)(R2)に、機械翻訳処理部5からの出力D5(1)(R2)をD5(1)(R1)に置換し、入力データ埋込部2への2回目の入力D3(2)(R2)をD3(2)(R1)に、機械翻訳処理部5からの出力D5(2)(L1)をD5(2)(R2)に置換し、正解データD_correct(L1)を正解データD_correct(R2)に置換して、上記処理と同様の処理を行う。
 以上のようにして、疑似対訳データ生成装置100では、
(1)L1→R2→L1
(2)R1→L2→R1
(3)R1→R2→R1
(4)L2→R1→L2
(5)R2→L1→R2
(6)R2→R1→R2
の6パターン(6種類の場合)について、ゼロショット折り返し機械翻訳処理が実行される。
 (1.2.1.2C:教師データあり機械翻訳処理)
 教師データあり機械翻訳処理において、疑似対訳データ生成装置100は、図11に示すように、入力データ埋込部2への入力データを対訳データ記憶部DBp(L1-L2)から取得した対訳データD0(L1-L2)の一方の言語のデータとし、当該入力データに対応する対訳データが出力されるように学習処理を行う。つまり、教師あり機械翻訳処理において、正解データは、対訳データ記憶部DBp(L1-L2)から読み出した対訳データD0(L1-L2)に基づいて、設定される。
 なお、教師あり機械翻訳処理において、疑似対訳データ生成装置100は、
(1)XLM処理部3への入力をD3(L1)とし、正解データをD_correct(L2)とする、あるいは、
(2)XLM処理部3への入力をD3(L2)とし、正解データをD_correct(L1)として、
疑似対訳データ生成用NMTモデル(入力データ埋込部2(埋込層に相当)と機械翻訳処理部5のMT用ニューラルネットワークモデル51とにより実現されるモデル)の学習処理(パラメータの最適化処理)を行う。
 ≪C1:教師あり機械翻訳処理(L1→L2)≫
 入力データ埋込部2への入力をD3(L1)とし、正解データをD_correct(L2)とする場合について、説明する。
 データ入力インターフェースIF1は、対訳データ記憶部DBp(L1-L2)から他分野の対訳データD0(L1-L2)を読み出し、読み出した対訳データをデータD1(L1-L2)として、入力データ取得部1に出力する。
 入力データ取得部1の第1入力データ取得処理部11は、データD1(他分野対訳データD1(L1-L2))から第1言語のデータをデータD1(L1)として抽出し、当該第1言語のデータ(言語データ)D1(L1)(他分野第1言語の文を構成するデータD1(L1))から、(1)トークンデータxi0tokenと、(2)当該トークンの位置を特定するための位置データxiposと、(3)当該トークンの言語を特定するための言語データxilangと、を取得する。
 そして、入力データ取得部1は、上記のように取得したトークンデータxi0tokenをマスク化処理部12に出力する。
 制御部(不図示)は、入力データ取得部1のマスク化処理部12に対して、マスク化処理を実行しないことを指示する制御信号CTL2を生成し、当該制御信号CTL2をマスク化処理部12に出力する。
 マスク化処理部12は、制御信号CTL2に従い、第1入力データ取得処理部11から入力したトークンデータxi0tokenをトークンデータxitokenとして、第1セレクタSEL1に出力する。
 また、第1入力データ取得処理部11は、位置データxipos(=xipos(L1))を第1セレクタSEL1に出力し、言語データxilang(=xilang(L1))を第1セレクタSEL1に出力する。
 つまり、入力データ取得部1は、上記により取得したデータをデータD2a(=D2a(L1)={xitoken(L1),xipos(L1),xilang(L1)})として第1セレクタSEL1に出力する。
 正解データ取得部13は、制御信号CTL2に従い、データD1(他分野対訳データD1(L1-L2))から第2言語のデータをD1(L2)(他分野対訳データD1(L1-L2)から抽出したデータD1(L1)(他分野第1言語のデータ)の対訳データに相当するデータ)として抽出し、抽出したデータD1(L2)から、疑似対訳データ生成用NMTモデルの学習処理に用いる正解データD_correct(=D_correct(L2))を生成する。そして、正解データ取得部13は、当該正解データD_correct(=D_correct(L2))を第2出力データ評価部6に出力する。
 制御部は、第1セレクタSEL1の端子「0」を選択する選択信号sel1を生成し、当該選択信号sel1を第1セレクタSEL1に出力する。
 第1セレクタSEL1は、選択信号sel1に従い、端子「0」を選択し、入力データ取得部1から出力されるデータD2a(L1)を、データD3(L1)として、入力データ埋込部2に出力する。
 入力データ埋込部2のトークン埋込部21は、データD3(L1)に含まれるトークンデータxitokenを入力し、入力したトークンデータxitokenの分散表現データxi’tokenを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2の位置埋込部22は、データD3(L1)に含まれる位置データxiposを入力し、入力した位置データxiposの分散表現データxi’posを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2の言語埋込部23は、データD3(L1)に含まれる言語データxilangを入力し、入力した言語データxilangの分散表現データxi’langを、上記のMLMの処理で説明したのと同じ処理を実行して取得する。
 入力データ埋込部2は、上記により取得された分散表現データをデータD4(L1)として、機械翻訳処理部5に出力する。
 機械翻訳処理部5のMT用ニューラルネットワークモデル51は、入力データ埋込部2から出力される分散表現データD4(L1)(={xi’token,xi’pos,xi’lang})と、制御部から出力される制御信号CTL3とを入力する。
 制御部は、MT用ニューラルネットワークモデル51からL2のデータを出力することを指示する制御信号CTL3を生成し、当該制御信号CTL3を機械翻訳処理部5に出力する。
 MT用ニューラルネットワークモデル51は、入力データ埋込部2から出力されるデータD4(L1)に対して、機械翻訳処理を実行し、データD5(L2)を取得する。なお、MT用ニューラルネットワークモデル51は、制御信号CTL3に従い、出力データの種別をL2(他分野、第2言語)とする。
 MT用ニューラルネットワークモデル51は、上記により取得したデータD5(L2)を第2セレクタSEL2に出力する。
 制御部は、第2セレクタSEL2の端子「0」を選択する選択信号sel2を生成し、当該選択信号sel2を第2セレクタSEL2に出力する。
 第2セレクタSEL2は、選択信号sel2に従い、端子「0」を選択し、機械翻訳処理部5から出力されるデータD5(データD5(L2))を、第2出力データ評価部6にデータD6a(データD6a(L2))として出力する。
 第2出力データ評価部6は、第2セレクタSEL2を介して機械翻訳処理部5から出力されるデータD5(L2)(=データD6a(L2))と、入力データ取得部1から出力される正解データD_correct(L2)とを入力する。第2出力データ評価部6は、機械翻訳処理部5の出力であるデータD5(L2)と、その正解データD_correct(L2)とから損失を取得する。
 ≪C2:教師あり機械翻訳処理(L2→L1)≫
 入力データ埋込部2への入力をD3(L2)とし、正解データをD_correct(L1)とする場合についても、疑似対訳データ生成装置100は、上記と同様の処理を実行する。つまり、疑似対訳データ生成装置100は、上記処理において、D3(L1)をD3(L2)に置換し、正解データD_correct(L2)を正解データD_correct(L1)に置換して、上記処理と同様の処理を行う。
 (1.2.1.2D:損失の計算処理)
 上記の処理、すなわち、
(A)自己符号化処理(ステップS121)、
(B)ゼロショット折り返し機械翻訳処理(ステップS122)、および
(C)教師データあり機械翻訳処理(ステップS123)
を実行した後、第2出力データ評価部6は、損失の計算処理を行う。なお、損失の計算をM文(M個の文、M:自然数)ごとに行う場合、M文の中の第i番目の文に含まれるサブワード数をN(1≦i≦M)とし、第i番目の文についての機械翻訳処理部5からの出力データD5(Xin)(入力データをXinで表す)のj番目(j:自然数、1≦j≦N)のサブワードに相当するデータをD5((Xin→Xout),i,j)(「(Xin→Xout)」は、入力データがXinであり、出力データがXoutであることを表す)またはD5((Xin→X→Xout),i,j)(「(Xin→X→Xout)」は、入力データがXinであり、1回目の出力データがXであり、2回目の入力がXであり、2回目の出力がXoutであることを表す)とすると、第2出力データ評価部6は、下記数式のように、機械翻訳処理部5から出力されるデータと、正解データとから損失Lossを取得する。
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000009
  V:サブワード語彙のサイズ(各トークン(入力データ)文字列を表すベクトルの次元数)
  p:確率分布(p(k)は、k番目(第k次元)の要素の確率を示す)
  q:確率分布(q(k)は、k番目(第k次元)の要素の確率を示す)
 なお、上記数式において、D_correct’(x,i,j)は、第2出力データ評価部6により正解データD_correct(x)の第i番目の文の第j番目のサブワードから取得されるデータ(ベクトル)であり、サブワード語彙のサイズ(=各トークン(入力データ)文字列を表すベクトルの次元数(これをn1とする))と同じ次元数のベクトル(n1次元のベクトル)である。そして、例えば、D_correct’(x,i,j)は、n1次元のうち1次元のみ値が「1」であり(n1次元ベクトルの要素のうち、当該正解サブワードに対応する要素のみが「1」)、それ以外は値が「0」であるone-hotベクトルである。
 また、上記数式において、例えば、D5((L1→L2),i,j)は、n1次元の実数ベクトル(各次元のデータ(ベクトルの要素)が、対応するサブワードである確率を示す実数ベクトル)であり、softmax関数により確率化(実数ベクトルの各要素の総和が「1」となるように正規化)されている。そして、D5((L1→L2),i,j)は、入力データをL1としたときの機械翻訳処理部5からの出力データ種別をL2としたときの出力データであり、第i番目の文の第j番目のサブワードに相当するデータである。
 なお、上記数式において、例えば、D5((L1→R2→L1),i,j)は、入力データの種別と翻訳処理結果データ(出力データ)の種別を明示した形式で示しており、(L1→R2→L1)は、1回目の処理において種別L1のデータが種別R2のデータとして出力され、2回目の処理において、1回目の出力を入力とし、種別L1のデータが出力されたときのデータであることを示している。
 また、上記数式において、loss(p、q)は、交差エントロピー誤差を求める数式であり、これにより、確率分布間(上記数式では、確率分布p、q)の相違を定量化できる。
 このように、第2出力データ評価部6は、上記数式に相当する処理により、損失Lossを取得する。
 (1.2.1.2E:パラメータの更新処理)
 第2出力データ評価部6は、所定の学習データに対して上記で算出した損失(学習損失)に基づいてXLM処理部3のMT用ニューラルネットワークモデル51のパラメータθMTを更新するためのデータupdate(θMT)を生成し、当該データupdate(θMT)を機械翻訳処理部5に出力する。
 機械翻訳処理部5のML用ニューラルネットワークモデル51は、データupdate(θMT)に基づいて、パラメータθMTを更新する。
 また、MT用ニューラルネットワークモデル51は、MT用ニューラルネットワークモデル51のパラメータを更新した後、埋込層(入力データ埋込部2のトークン埋込部21、位置埋込部22、および、言語埋込部23に対応)のパラメータを更新するためのパラメータ更新データupdate(θemb)を生成し、当該パラメータ更新データupdate(θemb)を入力データ埋込部2に出力する。
 入力データ埋込部2は、パラメータ更新データupdate(θemb)に基づいて、埋込層(入力データ埋込部2のトークン埋込部21、位置埋込部22、および、言語埋込部23に対応)のパラメータを更新する。例えば、入力データ埋込部2は、パラメータ更新データupdate(θemb)に基づいて、変換行列(例えば、行列Wtoken、Wpos、Wlang)の要素(値)を更新する。
 疑似対訳データ生成装置100は、所定の終了条件を満たすまで、上記処理(図6のループ2の処理)を繰り返し実行する。その際、例えば、学習に用いるデータとは別の調整用データに対して第2出力データ評価部6で算出される損失(テスト損失)を評価値として参照する。
 そして、疑似対訳データ生成装置100は、上記処理(図6のループ2の処理)の終了条件が満たされたときをもって、疑似対訳データ生成用NMTモデルの学習処理を終了させる。
 なお、図6のフローチャートのループ処理(ループ2)の終了条件は、例えば、以下のように設定される。
(1)事前に定めた反復回数だけループ処理(ループ2)が実行された。
(2)疑似対訳データ生成用NMTモデルの学習処理において、第2出力データ評価部6における評価値が一定以上(事前に定めた値以上)の変化を示さなかった。
(3)疑似対訳データ生成用NMTモデルの学習処理において、第2出力データ評価部6における評価値が事前に定めた値を下回った。
(4)疑似対訳データ生成用NMTモデルの学習処理において、第2出力データ評価部6における評価値が事前に定めた回数更新されなかった。
 上記の終了条件を満たす場合、疑似対訳データ生成装置100は、疑似対訳データ生成用NMTモデルの学習処理が完了した判断し、当該処理を終了させる。
 以上のようにして、疑似対訳データ生成装置100は、事前学習処理を完了した時点におけるパラメータを疑似対訳データ生成用NMTモデル(入力データ埋込部2(埋込層に相当)と機械翻訳処理部5のMT用ニューラルネットワークモデル51とにより実現されるモデル)の初期状態(初期パラメータを設定した状態(入力データ埋込部2(埋込層に相当)のパラメータがXLMの学習により最適化された状態))として、上記処理により、疑似対訳データ生成用NMTモデルの学習処理(パラメータ最適化処理)を行う。
 (1.2.2:疑似対訳データ生成処理)
 次に、疑似対訳データ生成処理(図4のステップS2)について説明する。
 疑似対訳データ生成装置100は、上記の事前学習処理によりに取得された疑似対訳データ生成用NMTモデル(入力データ埋込部2(埋込層に相当)と機械翻訳処理部5のMT用ニューラルネットワークモデル51とにより実現されるモデル)を用いて、適応先分野の疑似対訳データを自動的に生成する。
 具体的には、疑似対訳データ生成装置100は、以下の(1)、(2)の方法を用いて、疑似対訳データ生成処理を行う。
(1)他分野の対訳データ(L1-L2)を適応先分野向けに改変する方法(第1の方法)
(2)適応先分野の単言語データ(R1またはR2)を機械翻訳する方法(第2の方法)
 以下、上記2つの方法による疑似対訳データ生成処理について、説明する。
 (1.2.2.1:疑似対訳データ生成処理(第1の方法)(他分野対訳データを利用))
 まず、第1の方法(他分野対訳データを利用する方法)について、説明する。
 データ入力インターフェースIF1は、対訳データ記憶部DBp(L1-L2)から他分野の対訳データD0(L1-L2)を読み出し、読み出した対訳データをデータD1(L1-L2)として、入力データ取得部1に出力する。
 入力データ取得部1の第1入力データ取得処理部11は、データD1(他分野対訳データD1(L1-L2))から、L1のデータをデータD1(L1)として抽出し、当該データD1(L1)から、(1)トークンデータxi0token(=xi0token(L1))と、(2)当該トークンの位置を特定するための位置データxipos(=xipos(L1))と、(3)当該トークンの言語を特定するための言語データxilang(=xilang(L1))と、を取得する。
 そして、入力データ取得部1は、上記により取得したトークンデータxi0token(L1)をマスク化処理部12に出力する。
 制御部(不図示)は、入力データ取得部1のマスク化処理部12に対して、マスク化処理を実行しないことを指示する制御信号CTL2を生成し、当該制御信号CTL2をマスク化処理部12に出力する。
 マスク化処理部12は、制御信号CTL2に従い、第1入力データ取得処理部11から入力したトークンデータxi0token(L1)を、トークンデータxitoken(L1)として第1セレクタSEL1に出力する。
 また、第1入力データ取得処理部11は、位置データxipos(=xipos(L1))を第1セレクタSEL1に出力し、言語データxilang(=xilang(L1))を第1セレクタSEL1に出力する。
 つまり、入力データ取得部1は、上記により取得したデータをデータD2a(=D2a(L1)={xitoken(L1),xipos(L1),xilang(L1)})として第1セレクタSEL1に出力する。
 制御部は、第1セレクタSEL1の端子「0」を選択する選択信号sel1を生成し、当該選択信号sel1を第1セレクタSEL1に出力する。
 第1セレクタSEL1は、選択信号sel1に従い、端子「0」を選択し、入力データ取得部1から出力されるデータD2a(L1)を、データD3(L1)として、入力データ埋込部2に出力する。
 入力データ埋込部2は、データD3(L1)に含まれる(1)トークンデータxitoken(L1)、(2)位置データxipos(L1)、(3)言語データxilang(L1)から、分散表現データD4(L1)(={xi’token(L1)xi’pos(L1)xi’lang(L1)})を取得し、取得した分散表現データD4(L1)を機械翻訳処理部5に出力する。
 機械翻訳処理部5のMT用ニューラルネットワークモデル51は、入力データ埋込部2から出力されるデータD4(L1)(分散表現データD4(L1)(={xi’token(L1)xi’pos(L1)xi’lang(L1)}))と、制御部から出力される制御信号CTL3とを入力する。
 制御部は、MT用ニューラルネットワークモデル51からR2のデータを出力することを指示する制御信号CTL3を生成し、当該制御信号CTL3を機械翻訳処理部5に出力する。
 MT用ニューラルネットワークモデル51は、入力データ埋込部2から出力されるデータD4(L1)に対して、機械翻訳処理を実行し、データD5(R2)を取得し、データD5(R2)を保持する。なお、MT用ニューラルネットワークモデル51は、制御信号CTL3に従い、出力データの種別をR2(適応先分野、第2言語)とする。
 また、入力データ取得部1の第1入力データ取得処理部11は、データD1(他分野対訳データD1(L1-L2))から、L2のデータをデータD1(L2)として抽出し、当該データD1(L2)から、(1)トークンデータxi0token(=xi0token(L2))と、(2)当該トークンの位置を特定するための位置データxipos(=xipos(L2))と、(3)当該トークンの言語を特定するための言語データxilang(=xilang(L2))と、を取得する。
 そして、入力データ取得部1は、上記により取得したトークンデータxi0token(L2)をマスク化処理部12に出力する。
 制御部(不図示)は、入力データ取得部1のマスク化処理部12に対して、マスク化処理を実行しないことを指示する制御信号CTL2を生成し、当該制御信号CTL2をマスク化処理部12に出力する。
 マスク化処理部12は、制御信号CTL2に従い、第1入力データ取得処理部11から入力したトークンデータxi0token(L2)を、トークンデータxitoken(L2)として第1セレクタSEL1に出力する。
 また、第1入力データ取得処理部11は、位置データxipos(=xipos(L2))を第1セレクタSEL1に出力し、言語データxilang(=xilang(L2))を第1セレクタSEL1に出力する。
 つまり、入力データ取得部1は、上記により取得したデータをデータD2a(=D2a(L2)={xitoken(L2),xipos(L2),xilang(L2)})として第1セレクタSEL1に出力する。
 制御部は、第1セレクタSEL1の端子「0」を選択する選択信号sel1を生成し、当該選択信号sel1を第1セレクタSEL1に出力する。
 第1セレクタSEL1は、選択信号sel1に従い、端子「0」を選択し、入力データ取得部1から出力されるデータD2a(L2)を、データD3(L2)として、入力データ埋込部2に出力する。
 入力データ埋込部2は、データD3(L2)に含まれる(1)トークンデータxitoken(L2)、(2)位置データxipos(L2)、(3)言語データxilang(L2)から、分散表現データD4(L2)(={xi’token(L2)xi’pos(L2)xi’lang(L2)})を取得し、取得した分散表現データD4(L2)を機械翻訳処理部5に出力する。
 機械翻訳処理部5のMT用ニューラルネットワークモデル51は、入力データ埋込部2から出力されるデータD4(L2)(分散表現データD4(L2)(={xi’token(L2)xi’pos(L2)xi’lang(L2)}))と、制御部から出力される制御信号CTL3とを入力する。
 制御部は、MT用ニューラルネットワークモデル51からR1のデータを出力することを指示する制御信号CTL3を生成し、当該制御信号CTL3を機械翻訳処理部5に出力する。
 MT用ニューラルネットワークモデル51は、入力データ埋込部2から出力されるデータD4(L2)に対して、機械翻訳処理を実行し、データD5(R1)を取得する。なお、MT用ニューラルネットワークモデル51は、制御信号CTL3に従い、出力データの種別をR1(適応先分野、第1言語)とする。
 機械翻訳処理部5は、上記処理により取得したデータD5(R2)とデータD5(R1)とをペアリングして、データD5(R2-R1)として、第2セレクタSEL2に出力する。
 制御部は、第2セレクタSEL2の端子「0」を選択する選択信号sel2を生成し、当該選択信号sel2を第2セレクタSEL2に出力する。
 第2セレクタSEL2は、選択信号sel2に従い、端子「0」を選択し、機械翻訳処理部5から出力されるデータD5(データD5(R2-R1))を、データD6a(R2-R1)として、フィルター処理部8に出力する(図12を参照)。
 制御部は、フィルター処理部8にて、R2-R1の疑似対訳データに対してフィルター処理を実行することを指示する制御信号CTL4を生成し、当該制御信号をフィルター処理部8に出力する。
 フィルター処理部8は、制御信号CTL4に従い、入力されるデータD6a(R2-R1)(R2およびR1の疑似対訳データ)に対してフィルター処理を行う。
 ここで、上記処理により取得された適応先分野の疑似対訳データ(D6a(R2-R1))は、教師データがない適応先分野の対訳データを出力するように学習させたニューラルネットワークモデルを用いて処理して取得したデータであるため、対訳データとしての品質が低い可能性がある。
 そこで、フィルター処理部8は、上記処理により取得された適応先分野の疑似対訳データ(D6a(R2-R1))に対して、フィルター処理を行う。例えば、フィルター処理部8は、上記処理により取得された適応先分野の疑似対訳データ(D6a(R2-R1))の各文対に信頼度を付与し、付与した信頼度に基づいて、フィルタリングを行う。
 例えば、元のL1-L2の対訳データ(対訳データ記憶部DBp(L1-L2)から取得した対訳データD0(L1-L2))を参照することが考えられる。より具体的には、フィルター処理部8は、対訳データL1-L2(D0(L1-L2))における文対al-a2を機械翻訳して取得した、適応先分野R1-R2の疑似対訳データの文対bl-b2の信頼度を、alとblとの類似度、および、a2とb2の類似度に基づいて算出し、その信頼度が事前に定めた閾値Thよりも高いか否かを判断する。なお、フィルター処理部8は、対訳データ記憶部DBp(L1-L2)から、対訳データL1-L2(D0(L1-L2))における文対al-a2を取得できるものとする(例えば、データ入力インターフェースIF1を介して取得する)。
 そして、フィルター処理部8は、上記により算出した信頼度が所定の閾値Thよりも高い疑似対訳データ(R1-R2)のみをフィルタリングにより取得する。そして、当該フィルタリングにより取得した疑似対訳データを、疑似対訳データDpsd1(R1-R2,#1)として、疑似対訳データ格納部DB1に出力する。
 (1.2.2.2:疑似対訳データ生成処理(第2の方法)(適応先分野単言語データを利用))
 次に、第2の方法(適応先分野単言語データを利用する方法)について、説明する。
 図13に示すように、データ入力インターフェースIF1は、第3単言語データ記憶部DBm(R1)から適応先分野の第1言語の単言語データD0(R1)を読み出し、読み出した第1言語のデータをデータD1(R1)として、入力データ取得部1に出力する。
 入力データ取得部1の第1入力データ取得処理部11は、データD1(適応先分野第1言語データD1(R1))から、当該第1言語のデータ(言語データ)D1(R1)(適応先分野第1言語の文を構成するデータD1(R1))から、(1)トークンデータxi0token(=xi0token(R1))と、(2)当該トークンの位置を特定するための位置データxipos(=xipos(R1))と、(3)当該トークンの言語を特定するための言語データxilang(=xilang(R1))と、を取得する。
 そして、入力データ取得部1は、上記により取得したトークンデータxi0token(R1)をマスク化処理部12に出力する。
 制御部(不図示)は、入力データ取得部1のマスク化処理部12に対して、マスク化処理を実行しないことを指示する制御信号CTL2を生成し、当該制御信号CTL2をマスク化処理部12に出力する。
 マスク化処理部12は、制御信号CTL2に従い、第1入力データ取得処理部11から入力したトークンデータxi0token(R1)を、トークンデータxitoken(R1)として第1セレクタSEL1に出力する。
 また、第1入力データ取得処理部11は、位置データxipos(=xipos(R1))を第1セレクタSEL1に出力し、言語データxilang(=xilang(R1))を第1セレクタSEL1に出力する。
 つまり、入力データ取得部1は、上記により取得したデータをデータD2a(=D2a(R1)={xitoken(R1),xipos(R1),xilang(R1)})として第1セレクタSEL1に出力する。
 制御部は、第1セレクタSEL1の端子「0」を選択する選択信号sel1を生成し、当該選択信号sel1を第1セレクタSEL1に出力する。
 第1セレクタSEL1は、選択信号sel1に従い、端子「0」を選択し、入力データ取得部1から出力されるデータD2a(R1)を、データD3(R1)として、入力データ埋込部2に出力する。
 入力データ埋込部2は、データD3(R1)に含まれる(1)トークンデータxitoken、(2)位置データxipos、(3)言語データxilangから、分散表現データD4(R1)(={xi’token(R1)xi’pos(R1)xi’lang(R1)})を取得し、取得した分散表現データD4(R1)を機械翻訳処理部5に出力する。
 機械翻訳処理部5のMT用ニューラルネットワークモデル51は、入力データ埋込部2から出力される分散表現データD4(R1)(={xi’token(R1)xi’pos(R1)xi’lang(R1)})と、制御部から出力される制御信号CTL3とを入力する。
 制御部は、MT用ニューラルネットワークモデル51からR2のデータを出力することを指示する制御信号CTL3を生成し、当該制御信号CTL3を機械翻訳処理部5に出力する。
 MT用ニューラルネットワークモデル51は、入力データ埋込部2から出力されるデータD4(R1)に対して、機械翻訳処理を実行し、データD5(R2)を取得する。なお、MT用ニューラルネットワークモデル51は、制御信号CTL3に従い、出力データの種別をR2(適応先分野、第2言語)とする。
 MT用ニューラルネットワークモデル51は、上記により取得したデータD5(R2)を第2セレクタSEL2に出力する。
 制御部は、第2セレクタSEL2の端子「0」を選択する選択信号sel2を生成し、当該選択信号sel2を第2セレクタSEL2に出力する。
 第2セレクタSEL2は、選択信号sel2に従い、端子「0」を選択し、機械翻訳処理部5から出力されるデータD5(データD5(R2))を、データD6a(R2)として、フィルター処理部8に出力する(図13を参照)。
 制御部は、フィルター処理部8にて、R1-R2の疑似対訳データに対してフィルター処理を実行することを指示する制御信号CTL4を生成し、当該制御信号をフィルター処理部8に出力する。
 また、入力データ取得部1は、第3単言語データ記憶部DBm(R1)から取得した適応先分野の言語データD0(R1)(機械翻訳処理の入力としたデータ)をデータD1_org(R1)として、フィルター処理部8に出力する。
 そして、フィルター処理部8は、入力される、(1)データD1_org(R1)(機械翻訳処理の入力としたデータ)と、(2)データD6a(R2)(データD3(R1)の機械翻訳データ)とを対応づけることで適応先分野の疑似対訳データ(R1-R2)を取得する。そして、フィルター処理部8は、制御信号CTL4に従い、疑似対訳データ(R1-R2)にフィルター処理を行う。
 ここで、上記処理により取得された適応先分野の疑似対訳データ(R1-R2)は、教師データがない適応先分野の単語データを出力するように学習させたニューラルネットワークモデルを用いて処理して取得したデータであるため、対訳データとしての品質が低い可能性がある。
 そこで、フィルター処理部8は、上記処理により取得された適応先分野の疑似対訳データ(R1-R2)に対して、フィルター処理を行う。フィルター処理部8は、例えば、下記文献Dに開示されている機械翻訳の品質推定に関する技術を用いて、上記処理により取得された適応先分野の疑似対訳データ(R1-R2)に対して信頼度を付与する。
(文献D):Lucia Specia, Carolina Scarton, and Gustavo Henrique Paetzold (2018).  Quality Estimation for Machine Translation. Morgan & Claypool.
 そして、フィルター処理部8は、付与された信頼度に基づいて、フィルタリングを行う。例えば、フィルター処理部8は、上記により算出した信頼度が所定の閾値Thよりも高い疑似対訳データ(R1-R2)のみをフィルタリングにより取得する。そして、フィルター処理部8は、当該フィルタリングにより取得した疑似対訳データを、疑似対訳データDpsd1(R1-R2,#2)として、疑似対訳データ格納部DB1に出力する。
 なお、上記では、データD1_orgを適応先分野の第1言語のデータ(R1のデータ(=D1_org(R1)))とし、データD3(R1)を機械翻訳処理により取得した翻訳データを適応先分野の第2言語のデータD5(R2)(データD6a(R2))としたが(図13の場合)、図14に示すように、データD1_orgを適応先分野の第2言語のデータ(R2のデータ(=D1_org(R2)))とし、データD3(R2)を機械翻訳処理により取得した翻訳データを適応先分野の第2言語のデータD5(R1)(データD6a(R2))として、上記と同様の処理により、疑似対訳データ(データDpsd1(R1-R2,#2))を生成するようにしてもよい。
 ≪まとめ≫
 以上のように、疑似対訳データ生成装置100では、
(1)大規模で(対訳データ数が多く)精度の高い他分野の対訳データ(対訳データ記憶部DBp(L1-L2)に記憶されている対訳データ)と、
(2)他分野の第1言語データ(第1単言語データ記憶部DBm(L1)に記憶されている単言語データ)と、
(3)他分野の第2言語データ(第2単言語データ記憶部DBm(L2)に記憶されている単言語データ)と、
(4)適応先分野の第1言語データ(第3単言語データ記憶部DBm(R1)に記憶されている単言語データ)と、
(5)適応先分野の第2言語データ(第4単言語データ記憶部DBm(R2)に記憶されている単言語データ)と、
を用いて、言語横断言語モデル(XLM)(入力データ埋込部2(埋込層に相当)とXLM用ニューラルネットワークモデル31とにより実現されるモデル)を最適化する(事前学習処理による初期化)。そして、疑似対訳データ生成装置100では、言語横断言語モデル(XLM)の最適化処理後(事前学習処理後)の入力データ埋込部2(埋込層に相当)(XLMの最適化により取得されたパラメータ(例えば、変換行列Wtoken、Wpos、Wlangが設定されている状態の入力データ埋込部2))と、学習前の機械翻訳処理部5のMT用ニューラルネットワークモデル51とからなる疑似対訳データ生成用NMTモデルの状態を初期状態として、疑似対訳データ生成用NMTモデルのパラメータ最適化処理を行う。これにより、疑似対訳データ生成装置100では、適応先分野(機械翻訳の対象とする分野)の対訳データが一切ない場合であっても、適応先分野の第1言語および第2言語の疑似対訳データ(R1-R2)を生成できるモデル(学習済みモデル)を取得できる。
 (1.2.3:翻訳モデル学習処理)
 次に、翻訳モデルの学習処理(図5のステップS3)について説明する。
 機械翻訳装置MT1は、NMTモデルを有しており、当該NMTモデルにより機械翻訳を行う装置である。機械翻訳装置MT1は、疑似対訳データ生成装置100により生成され、疑似対訳データ格納部DB1に記憶された疑似対訳データを用いて、適応先分野の機械翻訳を行うための機械翻訳モデル(NMTモデル)の学習処理を行う。
 具体的には、例えば、機械翻訳装置MT1は、以下の(1)~(3)の方法のいずれかにより、適応先分野の機械翻訳を行うための機械翻訳モデル(NMTモデル)の学習処理を行う。
(1)微調整法:
 機械翻訳装置MT1は、対訳データ記憶部DBp(L1-L2)から、他分野の対訳データD0’(L1-L2)を取得し、他分野の対訳データD0’(L1-L2)を用いて、機械翻訳装置MT1のNMTモデルの学習処理を行う。その後、機械翻訳装置MT1は、疑似対訳データ生成装置100により生成された適応先分野の疑似対訳データ(R1-R2の対訳データ)を疑似対訳データ格納部DB1から疑似対訳データDpsd2(R1-R2)として読み出し、読み出した適応先分野の疑似対訳データDpsd2(R1-R2)により、機械翻訳装置MT1のNMTモデルの学習処理(パラメータの微調整)を行う。
(2)データ混合法:
 機械翻訳装置MT1は、対訳データ記憶部DBp(L1-L2)から、他分野の対訳データD0’(L1-L2)を取得するとともに、疑似対訳データ格納部DB1から、適応分野の疑似対訳データDpsd2(R1-R2)を取得する。そして、機械翻訳装置MT1は、他分野(L1-L2)の対訳データD0’(L1-L2)と適応先分野(R1-R2)の疑似対訳データDpsd2(R1-R2)とを混合したデータを生成し、生成した当該データにより、機械翻訳装置MT1のNMTモデルを学習させる。なお、他分野(L1-L2)の対訳データD0’(L1-L2)と適応先分野(R1-R2)の疑似対訳データDpsd2(R1-R2)とを混合する際に、2種類の対訳データをタグで区別するようにしてもよい。また、2種類の対訳データを混合する前に、一方または両方をオーバーサンプリングまたはアンダーサンプリングすることで対訳データの混合比を変更してもよい。
(3)データ混合微調整法:
 機械翻訳装置MT1は、対訳データ記憶部DBp(L1-L2)から、他分野の対訳データD0’(L1-L2)を取得し、他分野の対訳データD0’(L1-L2)を用いて、機械翻訳装置MT1のNMTモデルの学習処理を行う。その後、機械翻訳装置MT1は、機械翻訳装置MT1のNMTモデルの学習処理に用いた対訳データと同じ対訳データD0’(L1-L2)と、適応先分野の疑似対訳データ(R1-R2)(疑似対訳データ格納部DB1から読み出した適応先分野の疑似対訳データDpsd2(R1-R2))とを混合したデータを生成する。そして、機械翻訳装置MT1は、生成したデータ(2種類の対訳データを混合したデータ)を用いて、機械翻訳装置MT1のNMTモデルの学習処理(パラメータの微調整)を行う。なお、他分野(L1-L2)の対訳データD0’(L1-L2)と適応先分野(R1-R2)の疑似対訳データDpsd2(R1-R2)とを混合する際に、2種類の対訳データをタグで区別するようにしてもよい。また、2種類の対訳データを混合する前に、一方または両方をオーバーサンプリングまたはアンダーサンプリングすることで対訳データの混合比を変更してもよい。
 機械翻訳装置MT1は、上記(1)~(3)の方法のいずれかによるNMTモデルの学習処理を行い、NMTモデルの最適パラメータを取得する。そして、当該最適パラメータを設定したNMTモデル(学習済みモデル)を用いて、適応先分野の機械翻訳を行う。つまり、図1に示すように、機械翻訳装置MT1は、適応先分野の起点言語データDin_eを入力したとき、当該データDin_eに対して機械翻訳処理を行い、目標言語のデータDout_j(機械翻訳したデータ)を取得する。
 図15に、機械翻訳装置MT1により取得されたデータの一例を示す。図15の上段は、原文(起点言語データ)であり、図15の下段は、本発明の機械翻訳システム1000により取得された機械翻訳データである。また、図15の中段に、比較のため、従来技術の機械翻訳処理を行った結果データ(適応先分野の対訳データによる学習を行うことなく取得したNMTモデルによる機械翻訳の結果データ)を示す。なお、図15の下段の出力データは、他分野の対訳データとして、日英の対訳データ(適応先分野以外の対訳データ)を用い、適応先分野をSNS(Social Networking Service)分野としたときのデータ(機械翻訳結果データ)である。
 図15から分かるように、適応先分野なしの機械翻訳(従来の機械翻訳)により翻訳データでは、正しく翻訳できていないが、本発明の機械翻訳システム1000により取得された機械翻訳データは従来の機械翻訳に比べ良好なものとなっている。
 ≪まとめ≫
 このように、機械翻訳システム1000では、適応先分野(対象分野)における対訳データが存在しない場合であっても、疑似対訳データ生成装置100により、適応先分野の疑似対訳データを生成することができ、また、疑似対訳データ生成装置100により生成された疑似対訳データを用いて、機械翻訳装置MT1のNMTモデルを学習させることができる。さらに、機械翻訳システム1000では、疑似対訳データ生成装置100により生成された疑似対訳データにより学習させたNMTモデルを用いて、機械翻訳処理を行うことで、適応先分野(対象分野)における対訳データが存在しない場合であっても、適応先分野における機械翻訳を精度良く行うことができる。
 機械翻訳システム1000では、XLMの学習、疑似対訳データ生成用機械翻訳モデルの学習、および、機械翻訳装置MT1による適応先分野のNMTモデルの学習のいずれにおいても適応先分野の正規の対訳データを一切使用していない。この点において、機械翻訳システム1000は、従来技術と大きく相違する。なお、機械翻訳システム1000において、疑似対訳データの中から最も信頼度が高い部分を抽出し、調整用の対訳データとして用いるようにしてもよい。
 また、機械翻訳システム1000では、適応先分野(対象分野)における対訳データが存在しないが、他分野の対訳データおよび適応先分野の単言語データが大規模に存在する場合に絶大な効果を発揮する。
 [他の実施形態]
 上記実施形態で説明した機械翻訳システム1000、疑似対訳データ生成装置100、機械翻訳装置MT1において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部または全部を含むように1チップ化されても良い。
 なおここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
 また上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
 また上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらにソフトウェアおよびハードウェアの混在処理により実現しても良い。
 例えば上記実施形態の各機能部をソフトウェアにより実現する場合、図16に示したハードウェア構成(例えばCPU(GPUであってもよい)、ROM、RAM、入力部、出力部、通信部、記憶部(例えば、HDD、SSD等により実現される記憶部)、外部メディア用ドライブ等をバスBusにより接続したハードウェア構成)を用いて各機能部をソフトウェア処理により実現するようにしてもよい。
 また上記実施形態の各機能部をソフトウェアにより実現する場合、当該ソフトウェアは、図16に示したハードウェア構成を有する単独のコンピュータを用いて実現されるものであってもよいし、複数のコンピュータを用いて分散処理により実現されるものであってもよい。
 また上記実施形態における処理方法の実行順序は、必ずしも上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
 前述した方法をコンピュータに実行させるコンピュータプログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここでコンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
 上記コンピュータプログラムは、上記記録媒体に記録されたものに限らず、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
 また、本明細書内の記載、特許請求の範囲の記載において、「最適化」とは、最も良い状態にすることをいい、システム(モデル)を「最適化」するパラメータとは、当該システムの目的関数の値が最適値となるときのパラメータのことをいう。「最適値」は、システムの目的関数の値が大きくなるほど、システムが良い状態となる場合は、最大値であり、システムの目的関数の値が小さくなるほど、システムが良い状態となる場合は、最小値である。また、「最適値」は、極値であってもよい。また、「最適値」は、所定の誤差(測定誤差、量子化誤差等)を許容するものであってもよく、所定の範囲(十分収束したとみなすことができる範囲)に含まれる値であってもよい。
 なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
1000 機械翻訳システム
100 疑似対訳データ生成装置
1 入力データ取得部
11 第1入力データ取得処理部
12 マスク化処理部
2 入力データ埋込部
21 トークン埋込部
22 位置埋込部
23 言語埋込部
3 XLM処理部
31 XLM用ニューラルネットワークモデル
5 機械翻訳処理部
51 MT用ニューラルネットワークモデル
8 フィルター処理部
MT1 機械翻訳装置
DBp(L1-L2) 対訳データ記憶部
DBm(L1) 第1単言語データ記憶部(他分野の単言語データ用(第1言語))
DBm(L2) 第2単言語データ記憶部(他分野の単言語データ用(第2言語))
DBm(R1) 第3単言語データ記憶部(適応先分野の単言語データ用(第1言語))
DBm(R2) 第4単言語データ記憶部(適応先分野の単言語データ用(第2言語))
DB1 疑似対訳データ格納部

Claims (6)

  1.  疑似対訳データ生成用機械翻訳モデルの学習方法であって、
     生成する疑似対訳データの対象とする分野である適応先分野以外の分野の第1言語のデータである他分野第1言語データと、当該他分野第1言語データの第2言語の翻訳データである他分野第2言語データとからなる対訳データを複数含む他分野対訳データ集合Dsetp(L1-L2)と、
     前記適応先分野以外の分野の第1言語のデータを複数含む他分野単言語データ集合Dsetm(L1)と、
     前記適応先分野以外の分野の第2言語のデータを複数含む他分野単言語データ集合Dsetm(L2)と、
     前記適応先分野の第1言語のデータを複数含む適応先分野単言語データ集合Dsetm(R1)と、
     前記適応先分野の第2言語のデータを複数含む適応先分野単言語データ集合Dsetm(R2)と、
    を用いて、疑似対訳データ生成用機械翻訳モデルの学習処理を行い、当該学習処理を実行した後の前記疑似対訳データ生成用機械翻訳モデルに設定されているパラメータを初期パラメータに設定する初期化ステップと、
     前記初期パラメータが設定されている状態の前記疑似対訳データ生成用機械翻訳モデルに対して、
    (1)正解データを入力データと同一にして前記疑似対訳データ生成用機械翻訳モデルの学習処理を行う自己符号化処理、
    (2)入力データに対する前記疑似対訳データ生成用機械翻訳モデルの出力データを、再度、前記疑似対訳データ生成用機械翻訳モデルに入力し、その前記疑似対訳データ生成用機械翻訳モデルの出力が前記入力データと同一となるように前記疑似対訳データ生成用機械翻訳モデルの学習処理を行うゼロショット折り返し機械翻訳処理、
    (3)他分野対訳データ集合Dsetp(L1-L2)に含まれる第1言語のデータおよび第2言語データのいずれか一方を前記疑似対訳データ生成用機械翻訳モデルの入力とし、他方を正解データとして、前記疑似対訳データ生成用機械翻訳モデルの学習処理を行う教師あり機械翻訳処理、
    の少なくとも1つを用いて、学習処理を行うことで、前記疑似対訳データ生成用機械翻訳モデルの最適パラメータを取得する最適化ステップと、
    を備える疑似対訳データ生成用機械翻訳モデルの学習方法。
  2.  請求項1に記載の疑似対訳データ生成用機械翻訳モデルの学習方法により取得された疑似対訳データ生成用機械翻訳モデルを用いて、適応先分野の疑似対訳データを取得する疑似対訳データ取得方法であって、
     前記他分野対訳データ集合Dsetp(L1-L2)から取得した第1言語のデータに対して、出力を前記適応先分野の第2言語に設定して前記疑似対訳データ生成用機械翻訳モデルを用いた機械翻訳処理を行うことで、前記他分野の第1言語のデータの機械翻訳結果データである前記適応先分野の第2言語疑似翻訳データを取得する第1機械翻訳ステップと、
     前記他分野対訳データ集合Dsetp(L1-L2)から取得した第2言語のデータに対して、出力を前記適応先分野の第1言語に設定して前記疑似対訳データ生成用機械翻訳モデルを用いた機械翻訳処理を行うことで、前記他分野の第2言語のデータの機械翻訳結果データである前記適応先分野の第1言語疑似翻訳データを取得する第2機械翻訳ステップと、
     前記第1機械翻訳ステップで取得された前記適応先分野の第2言語疑似翻訳データと、前記第2機械翻訳ステップで取得された前記適応先分野の第1言語疑似翻訳データと、を対応づけることで、前記適応先分野の疑似対訳データを取得する疑似対訳データ取得ステップと、
    を備える疑似対訳データ取得方法。
  3.  請求項1に記載の疑似対訳データ生成用機械翻訳モデルの学習方法により取得された疑似対訳データ生成用機械翻訳モデルを用いて、適応先分野の疑似対訳データを取得する疑似対訳データ取得方法であって、
     前記適応先分野単言語データ集合Dsetm(R1)から取得した第1言語のデータまたは前記適応先分野単言語データ集合Dsetm(R2)から取得した第2言語のデータに対して、出力を前記適応先分野の第2言語または第1言語に設定して前記疑似対訳データ生成用機械翻訳モデルを用いた機械翻訳処理を行うことで、前記適応先分野の第1言語のデータの機械翻訳結果データである前記適応先分野の第2言語疑似翻訳データまたは前記適応先分野の第2言語のデータの機械翻訳結果データである前記適応先分野の第1言語疑似翻訳データを取得する単言語データ機械翻訳ステップと、
     前記単言語データ機械翻訳ステップで、前記疑似対訳データ生成用機械翻訳モデルの入力とした前記適応先分野の第1言語のデータと、前記単言語データ機械翻訳ステップで取得された前記適応先分野の第2言語疑似翻訳データと、を対応づける、または、前記疑似対訳データ生成用機械翻訳モデルの入力とした前記適応先分野の第2言語のデータと、前記単言語データ機械翻訳ステップで取得された前記適応先分野の第1言語疑似翻訳データと、を対応づけることで、前記適応先分野の疑似対訳データを取得する疑似対訳データ取得ステップと、
    を備える疑似対訳データ取得方法。
  4.  前記疑似対訳データ取得ステップが取得した前記適応先分野の疑似対訳データの各文対に対して、機械翻訳処理の結果の精度を示す信頼度を取得し、取得した前記信頼度が所定の値以上である文対を含む前記疑似対訳データのみを選択して出力するフィルター処理ステップをさらに備える、
     請求項2または3に記載の疑似対訳データ取得方法。
  5.  適応先分野の第1言語のデータに対して機械翻訳を行い第2言語のデータを取得するための機械翻訳モデルの学習方法であって、
     請求項2から4のいずれかに記載の疑似対訳データ取得方法により取得された適応先分野の疑似翻訳データと、
     前記適応先分野以外の分野の第1言語のデータである他分野第1言語データと、当該他分野第1言語データの第2言語の翻訳データである他分野第2言語データとからなる対訳データを複数含む他分野対訳データ集合Dsetp(L1-L2)と、
    を用いて、前記機械翻訳モデルの学習を行う機械翻訳モデル学習ステップ、
    を備える機械翻訳モデルの学習方法。
  6.  請求項1に記載の疑似対訳データ生成用機械翻訳モデルの学習方法により取得された学習済みの機械翻訳モデル、または、請求項5に記載の機械翻訳モデルの学習方法により取得された学習済みの機械翻訳モデルを用いて機械翻訳処理を行う機械翻訳装置。
PCT/JP2021/029060 2020-08-17 2021-08-05 疑似対訳データ生成用機械翻訳モデルの学習方法、疑似対訳データ取得方法、および、機械翻訳モデルの学習方法 WO2022039031A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/017,938 US20230274102A1 (en) 2020-08-17 2021-08-05 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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-137323 2020-08-17
JP2020137323A JP2022033437A (ja) 2020-08-17 2020-08-17 疑似対訳データ生成用機械翻訳モデルの学習方法、疑似対訳データ取得方法、および、機械翻訳モデルの学習方法

Publications (1)

Publication Number Publication Date
WO2022039031A1 true WO2022039031A1 (ja) 2022-02-24

Family

ID=80322660

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/029060 WO2022039031A1 (ja) 2020-08-17 2021-08-05 疑似対訳データ生成用機械翻訳モデルの学習方法、疑似対訳データ取得方法、および、機械翻訳モデルの学習方法

Country Status (3)

Country Link
US (1) US20230274102A1 (ja)
JP (1) JP2022033437A (ja)
WO (1) WO2022039031A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018116324A (ja) * 2017-01-16 2018-07-26 国立研究開発法人情報通信研究機構 フレーズテーブル生成装置およびプログラム
JP2020112915A (ja) * 2019-01-09 2020-07-27 株式会社Nttドコモ データ生成装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018116324A (ja) * 2017-01-16 2018-07-26 国立研究開発法人情報通信研究機構 フレーズテーブル生成装置およびプログラム
JP2020112915A (ja) * 2019-01-09 2020-07-27 株式会社Nttドコモ データ生成装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MORITA, TOMOHIRO ET AL.: "Examination on iterative unsupervised adaptation of bidirectional neural machine translation", PRESENTATION PROCEEDINGS OF 25TH ANNUAL MEETING OF THE ASSOCIATION FOR NATURAL LANGUAGE PROCESSING, vol. 25, 4 March 2019 (2019-03-04), pages 1451 - 1454, XP009534387 *

Also Published As

Publication number Publication date
US20230274102A1 (en) 2023-08-31
JP2022033437A (ja) 2022-03-02

Similar Documents

Publication Publication Date Title
US11604956B2 (en) Sequence-to-sequence prediction using a neural network model
WO2018051841A1 (ja) モデル学習装置、その方法、及びプログラム
WO2019167600A1 (ja) 疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法
CN110610234B (zh) 将外部应用程序集成到深度神经网络中
CN109086654A (zh) 手写模型训练方法、文本识别方法、装置、设备及介质
WO2021038886A1 (ja) 学習方法、学習プログラムおよび学習装置
JP6827911B2 (ja) 音響モデル学習装置、音声認識装置、それらの方法、及びプログラム
CN116883545A (zh) 基于扩散模型的图片数据集扩充方法、介质及设备
CN110245860B (zh) 一种基于虚拟实验平台的自动评分的方法
WO2019208564A1 (ja) ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、プログラム
US20230117325A1 (en) System for generating compound structure representation
CN113779988A (zh) 一种通信领域过程类知识事件抽取方法
CN116992942B (zh) 自然语言模型优化方法、装置、自然语言模型、设备和介质
WO2022039031A1 (ja) 疑似対訳データ生成用機械翻訳モデルの学習方法、疑似対訳データ取得方法、および、機械翻訳モデルの学習方法
WO2021147405A1 (zh) 客服语句质检方法及相关设备
JP6705506B2 (ja) 学習プログラム、情報処理装置および学習方法
CN111737417A (zh) 修正自然语言生成结果的方法和装置
Zhu et al. A hybrid model for nonlinear regression with missing data using quasilinear kernel
CN115063374A (zh) 模型训练、人脸图像质量评分方法、电子设备及存储介质
CN112131363A (zh) 自动问答方法、装置、设备及存储介质
JP2022115116A (ja) 疑似対データ生成方法、系列データ変換モデル取得方法、系列データ変換処理装置、および、プログラム
WO2024013905A1 (ja) ニューラルネットワーク枝刈りシステム、ニューラルネットワーク枝刈り方法及びニューラルネットワーク枝刈りプログラム
EP4283546A1 (en) Machine learning prediction of additional steps of a computerized workflow
WO2023243261A1 (ja) 機械翻訳用訓練データ生成方法、機械翻訳処理用の学習可能モデルの作成方法、機械翻訳処理方法、および、機械翻訳用訓練データ生成装置
KR20240071213A (ko) 회로 설계 방법 및 장치

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: 21858178

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: 21858178

Country of ref document: EP

Kind code of ref document: A1