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

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

Info

Publication number
JP7663171B2
JP7663171B2 JP2020137323A JP2020137323A JP7663171B2 JP 7663171 B2 JP7663171 B2 JP 7663171B2 JP 2020137323 A JP2020137323 A JP 2020137323A JP 2020137323 A JP2020137323 A JP 2020137323A JP 7663171 B2 JP7663171 B2 JP 7663171B2
Authority
JP
Japan
Prior art keywords
data
machine translation
pseudo
language
parallel
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2020137323A
Other languages
English (en)
Other versions
JP2022033437A (ja
Inventor
バンジャマン マリ
篤 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
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 National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2020137323A priority Critical patent/JP7663171B2/ja
Priority to PCT/JP2021/029060 priority patent/WO2022039031A1/ja
Priority to US18/017,938 priority patent/US12493755B2/en
Publication of JP2022033437A publication Critical patent/JP2022033437A/ja
Application granted granted Critical
Publication of JP7663171B2 publication Critical patent/JP7663171B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning

Landscapes

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

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:自然数))
token:分散表現データを取得するための行列(例えば、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:自然数))
pos:分散表現データを取得するための行列(例えば、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:自然数))
lang:分散表現データを取得するための行列(例えば、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:自然数))
token:分散表現データを取得するための行列(例えば、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:自然数))
pos:分散表現データを取得するための行列(例えば、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:自然数))
lang:分散表現データを取得するための行列(例えば、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 0007663171000001
Figure 0007663171000002
Figure 0007663171000003
Figure 0007663171000004
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)入力データ埋込部2への入力をD3(L1)とし、正解データをD_correct(L2)とする、あるいは、
(2)入力データ埋込部2への入力を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 0007663171000005
Figure 0007663171000006
Figure 0007663171000007
Figure 0007663171000008
Figure 0007663171000009
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)と、
    を用いて、パラメータを設定することで学習処理を行うことができ、前記入力データ埋込部とXLM処理部とを含むXLMモデルに対して、
    (A)前記他分野単言語データ集合Dsetm(L1)、前記他分野単言語データ集合Dsetm(L2)、前記適応先分野単言語データ集合Dsetm(R1)、および、前記適応先分野単言語データ集合Dsetm(R2)に含まれるデータである単言語用入力データの一部をマスクしたマスク化データを入力とし、前記単言語用入力データを正解データとし、当該正解データと前記XLMモデルの出力との損失が小さくなるように学習する処理であるマスク化処理による学習処理と、
    (B)前記他分野対訳データ集合Dsetp(L1-L2)に含まれる対訳データの前記他分野第1言語データおよび前記他分野第2言語データのうちの一方のデータを入力とし、他方のデータを正解データとし、当該正解データと前記XLMモデルの出力との損失が小さくなるように学習する処理である教師ありデータによる学習処理と
    を行うことで、前記XLMモデルの最適パラメータを取得し、前記最適パラメータが設定された前記XLMモデルの前記入力データ埋込部に設定されている最適パラメータを、前記疑似対訳データ生成用機械翻訳モデルの前記入力データ埋込部のパラメータの初期パラメータとして設定する初期化ステップと、
    前記初期パラメータが設定されている状態の前記入力データ埋込部と、前記機械学習処理部とを含む前記疑似対訳データ生成用機械翻訳モデルに対して、
    (1)正解データを入力データと同一にして前記疑似対訳データ生成用機械翻訳モデルの学習処理を行う自己符号化処理、
    (2)入力データに対する前記疑似対訳データ生成用機械翻訳モデルの出力データを、再度、前記疑似対訳データ生成用機械翻訳モデルに入力し、その前記疑似対訳データ生成用機械翻訳モデルの出力が前記入力データと同一となるように前記疑似対訳データ生成用機械翻訳モデルの学習処理を行うゼロショット折り返し機械翻訳処理、
    (3)他分野対訳データ集合Dsetp(L1-L2)に含まれる第1言語のデータおよび第2言語データのいずれか一方を前記疑似対訳データ生成用機械翻訳モデルの入力とし、他方を正解データとして、前記疑似対訳データ生成用機械翻訳モデルの学習処理を行う教師あり機械翻訳処理、
    の少なくとも1つを用いて、学習処理を行うことで、前記疑似対訳データ生成用機械翻訳モデルの最適パラメータを取得する最適化ステップと、
    を備え
    前記疑似対訳データ生成用機械翻訳モデルは、
    制御信号により指定された種別のデータを出力することができ、前記制御信号により指定された、(1)前記他分野第1言語データ、(2)前記他分野第2言語データ、(3)前記適応先分野の第1言語のデータ、および、(4)前記適応先分野の第2言語のデータのいずれかを出力するように設定される、
    疑似対訳データ生成用機械翻訳モデルの学習方法。
  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)と、
    を用いて、前記機械翻訳モデルに対して、
    (A)前記他分野対訳データ集合Dsetp(L1-L2)に含まれる対訳データの前記他分野第1言語データを入力とし、前記他分野対訳データ集合Dsetp(L1-L2)に含まれる対訳データの前記他分野第2言語データを正解データとし、当該正解データと前記機械翻訳モデルの出力との損失が小さくなるようにする学習処理と、
    (B)前記疑似翻訳データに含まれる前記適応先分野の第1言語のデータを入力とし、前記疑似翻訳データに含まれる前記適応先分野の第2言語のデータを正解データとし、当該正解データと前記機械翻訳モデルの出力との損失が小さくなるようにする学習処理と、
    を行うことで、前記機械翻訳モデルの最適パラメータを取得し、当該最適パラメータを機械翻訳モデルに設定することで、学習済み機械翻訳モデルを取得する処理であるの学習処理を行う機械翻訳モデル学習ステップ、
    を備える機械翻訳モデルの学習方法。
  6. 請求項1に記載の疑似対訳データ生成用機械翻訳モデルの学習方法により取得された学習済みの機械翻訳モデル、または、請求項5に記載の機械翻訳モデルの学習方法により取得された学習済みの機械翻訳モデルを用いて機械翻訳処理を行う機械翻訳装置。
JP2020137323A 2020-08-17 2020-08-17 疑似対訳データ生成用機械翻訳モデルの学習方法、疑似対訳データ取得方法、および、機械翻訳モデルの学習方法 Active JP7663171B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020137323A JP7663171B2 (ja) 2020-08-17 2020-08-17 疑似対訳データ生成用機械翻訳モデルの学習方法、疑似対訳データ取得方法、および、機械翻訳モデルの学習方法
PCT/JP2021/029060 WO2022039031A1 (ja) 2020-08-17 2021-08-05 疑似対訳データ生成用機械翻訳モデルの学習方法、疑似対訳データ取得方法、および、機械翻訳モデルの学習方法
US18/017,938 US12493755B2 (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 (1)

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

Publications (2)

Publication Number Publication Date
JP2022033437A JP2022033437A (ja) 2022-03-02
JP7663171B2 true JP7663171B2 (ja) 2025-04-16

Family

ID=80322660

Family Applications (1)

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

Country Status (3)

Country Link
US (1) US12493755B2 (ja)
JP (1) JP7663171B2 (ja)
WO (1) WO2022039031A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023282887A1 (en) * 2021-07-06 2023-01-12 Google Llc Dataset refining with machine translation quality prediction
US12333264B1 (en) * 2022-03-21 2025-06-17 Amazon Technologies, Inc. Fuzzy-match augmented machine translation
CN114822499B (zh) * 2022-04-26 2024-11-01 北京有竹居网络技术有限公司 模型训练方法、语音到语音翻译方法、装置及介质
US12333238B2 (en) * 2022-05-26 2025-06-17 At&T Mobility Ii Llc Embedding texts into high dimensional vectors in natural language processing
US12493838B2 (en) 2022-10-12 2025-12-09 Sdl Limited Translation decision assistant
US12346666B2 (en) * 2022-11-09 2025-07-01 Sdl Limited Translation review suitability assessment
US20240403572A1 (en) * 2023-04-28 2024-12-05 Schlumberger Technology Corporation Cross-lingual document analysis and translation system

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ドコモ データ生成装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9026425B2 (en) * 2012-08-28 2015-05-05 Xerox Corporation Lexical and phrasal feature domain adaptation in statistical machine translation
JP7170984B2 (ja) * 2018-03-02 2022-11-15 国立研究開発法人情報通信研究機構 疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法

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
森田知熙 他2名,双方向ニューラル機械翻訳の反復的な教師なし適応の検討,言語処理学会第25回年次大会 発表論文集,言語処理学会,2019年03月04日,1451-1454頁

Also Published As

Publication number Publication date
JP2022033437A (ja) 2022-03-02
US12493755B2 (en) 2025-12-09
WO2022039031A1 (ja) 2022-02-24
US20230274102A1 (en) 2023-08-31

Similar Documents

Publication Publication Date Title
JP7663171B2 (ja) 疑似対訳データ生成用機械翻訳モデルの学習方法、疑似対訳データ取得方法、および、機械翻訳モデルの学習方法
US11610131B2 (en) Ensembling of neural network models
US11604956B2 (en) Sequence-to-sequence prediction using a neural network model
US20210390416A1 (en) Variable parameter probability for machine-learning model generation and training
JP7052866B2 (ja) 自己訓練データ選別装置、推定モデル学習装置、自己訓練データ選別方法、推定モデル学習方法、およびプログラム
JPWO2018051841A1 (ja) モデル学習装置、その方法、及びプログラム
WO2019167600A1 (ja) 疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法
KR102799590B1 (ko) 분류 모델에 기반하여 바꿔 쓰기 모델을 학습하는 방법, 바꿔 쓰기 모델을 이용한 텍스트 데이터의 증강 방법 및 이를 이용한 텍스트 처리 장치
CN116992942B (zh) 自然语言模型优化方法、装置、自然语言模型、设备和介质
WO2021038886A1 (ja) 学習方法、学習プログラムおよび学習装置
CN117271792A (zh) 一种基于大模型构建企业领域知识库的方法
CN111737417B (zh) 修正自然语言生成结果的方法和装置
JP2023051724A (ja) カスタマイズされたディープラーニングベースのテキスト修正のための方法及び装置
CN116486150A (zh) 一种基于不确定性感知的图像分类模型回归误差消减方法
WO2023084833A1 (ja) 画像処理装置、画像処理方法、及びプログラム
CN116013407B (zh) 一种基于语言模型的性质解耦蛋白质生成方法
JP6705506B2 (ja) 学習プログラム、情報処理装置および学習方法
WO2023235119A1 (en) Efficient computer-implemented real-world testing of causal inference models
US20220180197A1 (en) Training method, storage medium, and training device
JP7663174B2 (ja) 疑似対データ生成方法、系列データ変換モデル取得方法、系列データ変換処理装置、および、プログラム
Tagawa et al. Relation prediction for unseen-entities using entity-word graphs
CN116052649A (zh) 低资源语音识别中的一种损失权重自适应元学习方法
KR102669806B1 (ko) 수학 문제의 풀이를 보조하기 위한 방법 및 장치
JP2024067172A (ja) サブワード取得処理装置、サブワード取得処理方法、および、プログラム
JP7800665B2 (ja) 学習装置、推定装置、それらの方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250326

R150 Certificate of patent or registration of utility model

Ref document number: 7663171

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150