(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】対応装置、学習装置、対応方法、学習方法、及びプログラム
(51)【国際特許分類】
G06F 16/90 20190101AFI20241112BHJP
G06F 40/40 20200101ALI20241112BHJP
【FI】
G06F16/90 100
G06F40/40
(21)【出願番号】P 2022564967
(86)(22)【出願日】2020-11-27
(86)【国際出願番号】 JP2020044373
(87)【国際公開番号】W WO2022113306
(87)【国際公開日】2022-06-02
【審査請求日】2023-03-17
【新規性喪失の例外の表示】特許法第30条第2項適用 2020年4月29日にhttps://arxiv.org/abs/2004.14516及び、https://arxiv.org/pdf/2004.14516.pdfにて公開 2020年4月29日にhttps://arxiv.org/abs/2004.14517及び、https://arxiv.org/pdf/2004.14517.pdfにて公開 2020年10月19日にhttps://coling2020.org/pages/accepted_papers_main_conferenceにて公開 2020年11月10日にhttps://aclanthology.org/2020.emnlp-main.41/及び、 https://aclanthology.org/2020.emnlp-main.41.pdfにて公開 2020年11月16日にhttps://virtual.2020.emnlp.org/paper_main.1503.html及び、 https://aclanthology.org/2020.emnlp-main.41/及び、 https://aclanthology.org/2020.emnlp-main.41.pdf及び、 https://slideslive.com/38938923/a-supervised-word-alignment-method-based-on-crosslanguage-span-prediction-using-multilingual-bertにて公開
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】帖佐 克己
(72)【発明者】
【氏名】永田 昌明
(72)【発明者】
【氏名】西野 正彬
【審査官】原 秀人
(56)【参考文献】
【文献】特開2005-208782(JP,A)
【文献】国際公開第2015/145981(WO,A1)
【文献】米国特許出願公開第2018/0300312(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/20-40/58
(57)【特許請求の範囲】
【請求項1】
第一ドメイン系列情報と第二ドメイン系列情報とを入力とし、前記第一ドメイン系列情報と前記第二ドメイン系列情報との間のスパン予測問題を生成する問題生成部と、
前記第一ドメイン系列情報のドメインと前記第二ドメイン系列情報のドメインとの間のスパン予測問題とその回答からなるデータを用いて作成したスパン予測モデルを用いて、
前記問題生成部により生成された前記スパン予測問題の回答となるスパンを予測するスパン予測部と
を備える対応装置。
【請求項2】
前記スパン予測モデルは、前記データを用いて事前学習済みモデルの追加学習を行うことにより得られたモデルである
請求項1に記載の対応装置。
【請求項3】
前記第一ドメイン系列情報及び前記第二ドメイン系列情報における系列情報は文書であり、
前記第一ドメイン系列情報から前記第二ドメイン系列情報へのスパン予測における第一スパンの質問により第二スパンを予測する確率と、前記第二ドメイン系列情報から前記第一ドメイン系列情報へのスパン予測における、前記第二スパンの質問により前記第一スパンを予測する確率とに基づいて、前記第一スパンの文集合と前記第二スパンの文集合とが対応するか否かを判断する対応生成部
を備える請求項1又は2に記載の対応装置。
【請求項4】
前記対応生成部は、前記第一ドメイン系列情報と前記第二ドメイン系列情報との間の文集合の対応関係のコストの和が最小となるように、整数線形計画問題を解くことによって、前記第一ドメイン系列情報と前記第二ドメイン系列情報との間の文集合の対応を生成する
請求項3に記載の対応装置。
【請求項5】
第一ドメイン系列情報
に含まれるスパンと第二ドメイン系列情報
に含まれるスパンと
の対応を示す対応データから、スパン予測問題とその回答とを有するデータを生成する問題回答生成部と、
前記データを用いて、スパン予測モデルを生成する学習部と
を備える学習装置。
【請求項6】
対応装置が実行する対応方法であって、
第一ドメイン系列情報と第二ドメイン系列情報とを入力とし、前記第一ドメイン系列情報と前記第二ドメイン系列情報との間のスパン予測問題を生成する問題生成ステップと、
前記第一ドメイン系列情報のドメインと前記第二ドメイン系列情報のドメインとの間のスパン予測問題とその回答からなるデータを用いて作成したスパン予測モデルを用いて、
前記問題生成ステップにより生成された前記スパン予測問題の回答となるスパンを予測するスパン予測ステップと
を備える対応方法。
【請求項7】
学習装置が実行する学習方法であって、
第一ドメイン系列情報
に含まれるスパンと第二ドメイン系列情報
に含まれるスパンと
の対応を示す対応データから、スパン予測問題とその回答とを有するデータを生成する問題回答生成ステップと、
前記データを用いて、スパン予測モデルを生成する学習ステップと
を備える学習方法。
【請求項8】
コンピュータを、請求項1ないし4のうちいずれか1項に記載の対応装置における各部として機能させるためのプログラム、又は、コンピュータを、請求項5に記載の学習装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、互いに対応関係にある2つの文書において互いに対応している文集合(1つ又は複数の文)の対を同定する技術に関連するものである。
【背景技術】
【0002】
互いに対応関係にある2つの文書において互いに対応している文集合の対を同定することを文対応(sentence alignment)という。文対応付けシステムは一般に、2つの文書の文同士の類似度スコアを計算する機構と、その機構で得られた文対応の候補とそのスコアから文書全体の文対応を同定する機構から構成される。
【先行技術文献】
【非特許文献】
【0003】
【文献】Brian Thompson and Philipp Koehn. Vecalign: Improved sentence alignment in linear time and space. In Proceedings of EMNLP-2019, pp. 1342-1348, 2019.
【発明の概要】
【発明が解決しようとする課題】
【0004】
文対応を行う従来技術では、文同士の類似度計算を行う際に文脈情報を用いない。更に、近年では、ニューラルネットワークによる文のベクトル表現によって類似度計算を行う方法が高い精度を達成しているが、この方法では文を一度1つのベクトル表現に変換するために単語単位の情報をうまく活用することが出来ない。そのため精度が良くないという問題がある。
【0005】
すなわち、従来技術では、互いに対応関係にある2つの文書において互いに対応している文集合の対を同定する文対応を精度良く行うことができなかった。なお、このような課題は文書に限られない系列情報においても生じ得る課題である。
【0006】
本発明は上記の点に鑑みてなされたものであり、2つの系列情報において互いに対応している情報の対を同定する対応処理を精度良く行うことを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
開示の技術によれば、第一ドメイン系列情報と第二ドメイン系列情報とを入力とし、前記第一ドメイン系列情報と前記第二ドメイン系列情報との間のスパン予測問題を生成する問題生成部と、
前記第一ドメイン系列情報のドメインと前記第二ドメイン系列情報のドメインとの間のスパン予測問題とその回答からなるデータを用いて作成したスパン予測モデルを用いて、前記問題生成部により生成された前記スパン予測問題の回答となるスパンを予測するスパン予測部と
を備える対応装置が提供される。
【発明の効果】
【0008】
開示の技術によれば、2つの系列情報において互いに対応している情報の対を同定する対応処理を精度良く行うことを可能とする技術が提供される。
【図面の簡単な説明】
【0009】
【
図2】処理の全体の流れを示すフローチャートである。
【
図3】言語横断スパン予測モデルを学習する処理を示すフローチャートである。
【
図4】文対応の生成処理を示すフローチャートである。
【
図7】各データセットでの平均文数及びトークン数を示す図である。
【
図8】対応関係全体でのF
1 scoreを示す図である。
【
図9】対応関係中の原言語及び目的言語の文の数毎に評価した文対応付け精度を示す図である。
【
図10】学習に使用する対訳文対の量を変化させた際の翻訳精度の比較結果を示す図である。
【
図12】処理の全体の流れを示すフローチャートである。
【
図13】言語横断スパン予測モデルを学習する処理を示すフローチャートである。
【
図14】単語対応の生成処理を示すフローチャートである。
【
図16】英語から日本語への質問の例を示す図である。
【
図20】従来技術と実施形態に係る技術との比較を示す図である。
【
図22】原言語単語の文脈の重要性を示す図である。
【
図23】中英の訓練データの部分集合を用いて訓練した場合の単語対応精度を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0011】
以下では、本実施の形態として、実施例1と実施例2を説明する。実施例1と実施例2では、主に、対応付けを異なる言語間のテキスト対を例にとって説明しているが、これは例であり、本発明は、異なる言語間のテキスト対の対応付けに限らず、同一言語のテキスト対の異なるドメイン間の対応付けにも適用可能である。同一言語のテキスト対の対応付けとしては、例えば、口語調の文/単語とビジネス調の文/単語との対応付け等がある。
【0012】
言語も「ドメイン」の一種であるので、異なる言語間のテキスト対の対応付けは、異なるドメイン間のテキスト対の対応付けの一例である。
【0013】
また、文、文書、文章はいずれもトークンの系列であり、これらを系列情報と呼んでもよい。また、本明細書において、「文集合」の要素である文の数は、複数であってもよいし、1つでもよい。
【0014】
(実施例1)
まず、実施例1を説明する。実施例1では、文対応の同定を行う問題を、ある言語の文書の連続する文集合に対応する別の言語の文書の連続する文集合(スパン)を独立に予測する問題(言語横断スパン予測)の集合として捉え、既存手法によって作成された疑似的な正解データからニューラルネットワークを用いて言語横断スパン予測モデルを学習して、その予測結果に対して線形計画問題の枠組みで数理最適化を行うことにより、高精度な文対応付けを実現することとしている。具体的には、後述する文対応装置100が、この文対応に係る処理を実行する。なお、実施例1で使用する線形計画法は、より具体的には、整数線形計画法である。特に断らない限り、実施例1で使用する「線形計画法」は、「整数線形計画法」を意味する。
【0015】
以下では、まず、実施例1に係る技術を理解し易くするために、文対応に関連する参考技術について説明する。その後に、実施例1に係る文対応装置100の構成及び動作を説明する。
【0016】
なお、実施例1の参考技術等に関連する参考文献の番号と文献名を、実施例1の最後にまとめて記載した。下記の説明において関連する参考文献の番号を"[1]"等のように示している。
【0017】
(実施例1:参考技術の説明)
【0018】
前述したように、文対応付けシステムは一般に、2つの文書の文同士の類似度スコアを計算する機構と、その機構で得られた文対応の候補とそのスコアから文書全体の文対応を同定する機構から構成される。
【0019】
前者の機構に関して、従来手法では文長[1]や対訳辞書[2,3,4],機械翻訳システム[5]、多言語文ベクトル[6](前述した非特許文献1)等に基づいた、文脈を考慮しない類似度を用いている。例えばThompsonら[6]は、LASERと呼ばれる手法によって言語に依存しない多言語文ベクトルを求め、そのベクトル間のコサイン類似度から文の類似度スコアを計算する手法を提案している。
【0020】
また、後者の文書全体の文対応を同定する機構に関しては、文対応の単調性を仮定した動的計画法(Dynamic Programming:DP)による手法が、Thompsonら[6]や内山ら[3]の手法等の多くの従来技術で用いられている。
【0021】
内山ら[3]は文書対応のスコアを考慮した文対応付け手法を提案している。この手法では、対訳辞書を用いて一方の言語の文書をもう一方の言語へと翻訳を行い、BM25[7]に基づいて文書の対応付けを行う。次に、得られた文書のペアからSIMと呼ばれる文間類似度とDPによる対応付けによって文対応を行う。SIMは2つの文書の間で対訳辞書によって1対1で対応する単語の相対的な頻度をもとに定義される。また、文書対応の信頼性を表すスコアAVSIMとして対応する文書中の文対応のSIMの平均を用い、最終的な文対応のスコアとしてSIMとAVSIMの積を用いる。これにより、文書の対応付けがあまり正確でない場合に対して頑強な文対応付けを行うことができる。この手法は英語と日本語の間の文対応付け手法として一般的に用いられている。
【0022】
(実施例1:課題について)
上述したような従来技術では、文同士の類似度計算を行う際に文脈情報を用いない。更に近年では、ニューラルネットによる文のベクトル表現によって類似度計算を行う方法が高い精度を達成しているが、これらの手法では文を一度1つのベクトル表現に変換するために単語単位の情報をうまく活用することが出来ない。そのため、文対応の精度を損なう場合がある。
【0023】
また、従来技術の多くは対応関係の単調性を仮定した動的計画法による全体最適化を行っている。しかし、実際の対訳文書の文対応は全てが単調なものではない。特に法律に関する文書には非単調な文対応が含まれていることが知られており、そのような文書に対して従来技術の手法は精度を損なうといった問題がある。
【0024】
以下、上記の問題を解決して、精度の高い文対応を可能とする技術を実施例1として説明する。
【0025】
(実施例1に係る技術の概要)
実施例1では、まず文対応付けを言語横断スパン予測の問題に変換する。少なくとも扱う言語の対に関する単言語データを用いて事前学習された多言語言語モデル(multilingual language model)を、既存手法で作成した疑似的な文対応正解データを用いてファインチューンすることによって言語横断スパン予測を実現する。この際、モデルにはある文書の文ともう一方の文書が入力されるため、予測の際にスパン前後の文脈を考慮することができる。また、多言語言語モデルにself-attentionと呼ばれる構造が用いられているものを使用することで、単語単位の情報を活用することができる。
【0026】
次に、文書全体で一貫性のある対応関係の同定を行うために、スパン予測による文対応の候補に対して、スコアの対称化を行った後に線形計画法で全体最適化を行う。これにより、非対称な言語横断スパン予測の結果の信頼性を向上させ、非単調な文対応を同定することができる。このような方法により、実施例1では高精度な文対応付けを実現する。
【0027】
(装置構成例)
図1に、実施例1における文対応装置100と事前学習装置200を示す。文対応装置100は、実施例1に係る技術により、文対応処理を実行する装置である。事前学習装置200は、多言語データから多言語モデルを学習する装置である。なお、文対応装置100と、後述する単語対応装置300はいずれも「対応装置」と呼んでもよい。
【0028】
図1に示すように、文対応装置100は、言語横断スパン予測モデル学習部110と文対応実行部120とを有する。
【0029】
言語横断スパン予測モデル学習部110は、文書対応データ格納部111、文対応生成部112、文対応疑似正解データ格納部113、言語横断スパン予測問題回答生成部114、言語横断スパン予測疑似正解データ格納部115、スパン予測モデル学習部116、及び言語横断スパン予測モデル格納部117を有する。なお、言語横断スパン予測問題回答生成部114を問題回答生成部と呼んでもよい。
【0030】
文対応実行部120は、言語横断スパン予測問題生成部121、スパン予測部122、文対応生成部123を有する。なお、言語横断スパン予測問題生成部121を問題生成部と呼んでもよい。
【0031】
事前学習装置200は、既存技術に係る装置である。事前学習装置200は、多言語データ格納部210、多言語モデル学習部220、事前学習済み多言語モデル格納部230を有する。多言語モデル学習部220が、少なくとも文対応を求める対象となる二つの言語又はドメインの単言語テキストを多言語データ格納部210から読み出すことにより、言語モデルを学習し、当該言語モデルを事前学習済み多言語モデルとして、事前学習済み多言語モデル格納部230に格納する。
【0032】
実施例1では、何等かの手段で学習された事前学習済みの多言語モデルが言語横断スパン予測モデル学習部110に入力されればよいため、事前学習装置200を備えずに、例えば、一般に公開されている汎用の事前学習済みの多言語モデルを用いることとしてもよい。
【0033】
実施例1における事前学習済み多言語モデルは、少なくとも文対応を求める対象となる各言語の単言語テキストを用いて事前に訓練された言語モデルである。本実施の形態では、当該言語モデルとして、XLM-RoBERTaを使用するが、それに限定されない。multilingual BERT等、多言語テキストに対して単語レベルの情報及び文脈情報を考慮した予測ができる事前学習済み多言語モデルであればどのような言語モデルを使用してもよい。また、当該モデルは、多言語に対応可能であるため、「多言語モデル」と呼んでいるが、多言語で訓練を行うことが必須ではなく、例えば、同一言語の異なる複数のドメインのテキストを用いて事前学習を行ってもよい。
【0034】
なお、文対応装置100を学習装置と呼んでもよい。また、文対応装置100は、言語横断スパン予測モデル学習部110を備えずに、文対応実行部120を備えてもよい。また、言語横断スパン予測モデル学習部110が単独で備えられた装置を学習装置と呼んでもよい。
【0035】
(文対応装置100の動作概要)
図2は、文対応装置100の全体動作を示すフローチャートである。S100において、言語横断スパン予測モデル学習部110に、事前学習済み多言語モデルが入力され、言語横断スパン予測モデル学習部110は、事前学習済み多言語モデルに基づいて、言語横断スパン予測モデルを学習する。
【0036】
S200において、文対応実行部120に、S100で学習された言語横断スパン予測モデルが入力され、文対応実行部120は、言語横断スパン予測モデルを用いて、入力文書対における文対応を生成し、出力する。
【0037】
<S100>
図3のフローチャートを参照して、上記のS100における言語横断スパン予測モデルを学習する処理を説明する。
図3のフローチャートの前提として、事前学習済み多言語モデルが既に入力され、言語横断スパン予測モデル学習部110の記憶装置に事前学習済み多言語モデルが格納されているとする。また、文対応疑似正解データ格納部111には、文対応疑似正解データが格納されているとする。
【0038】
S101において、言語横断スパン予測問題回答生成部114は、文対応の疑似正解データ格納部113から、文対応疑似正解データを読み出し、読み出した文対応疑似正解データから言語横断スパン予測疑似正解データ、すなわち言語横断スパン予測問題とその疑似回答の対を生成し、言語横断スパン予測疑似正解データ格納部113に格納する。
【0039】
ここで、文対応の疑似正解データは、例えば、第一言語と第二言語との間で文対応を求めるとした場合に、第一言語の文書と、それに対応する第二言語の文書と、第一言語の文集合と第二言語の文集合との対応を示すデータとを有する。第一言語の文集合と第二言語の文集合との対応を示すデータとは、例えば、第一言語の文書=(文1、文2、文3、文4)、第二言語の文書=(文5、文6、文7、文8)である場合に、(文1、文2)と(文6、文7)が対応し、(文1、文2)と、(文5、文6)が対応するといった対応を示すデータである。
【0040】
上記のように実施例1では文対応の疑似正解データを使用している。文対応の疑似正解データは、人手もしくは自動的に対応付けした文書対のデータから既存手法を用いて文対応付けされたものである。
【0041】
図1に示す構成例では、文書対応データ格納部111に、人手もしくは自動的に対応付けした文書対のデータが格納されている。当該データは、文対応を求める文書対と同じ言語(又はドメイン)で構成される文書対応データである。この文書対応データから、文対応生成部112が、既存手法により文対応疑似正解データを生成している。より、具体的には、参考技術で説明した内山ら[3]の技術を用いて文対応を求めている。つまり、文書対からSIMと呼ばれる文間類似度とDPによる対応付けによって文対応を求める。
【0042】
なお、文対応疑似正解データに代えて、人手により作成された文対応の正解データを使用してもよい。また、「疑似正解データ」と「正解データ」を総称して「正解データ」と称してもよい。
【0043】
S102において、スパン予測モデル学習部116は、言語横断スパン予測疑似正解データ及び事前学習済み多言語モデルから言語横断スパン予測モデルを学習し、学習した言語横断スパン予測モデルを言語横断スパン予測モデル格納部117に格納する。
【0044】
<S200>
次に、
図4のフローチャートを参照して、上記のS200における文対応を生成する処理の内容を説明する。ここでは、スパン予測部122に言語横断スパン予測モデルが既に入力され、スパン予測部122の記憶装置に格納されているものとする。
【0045】
S201において、言語横断スパン予測問題生成部121に、文書対を入力する。S202において、言語横断スパン予測問題生成部121は、入力された文書対から言語横断スパン予測問題を生成する。
【0046】
次に、S203において、スパン予測部122は、言語横断スパン予測モデルを用いて、S202で生成された言語横断スパン予測問題に対してスパン予測を行って回答を得る。
【0047】
S204において、文対応生成部123は、S203で得られた言語横断スパン予測問題の回答から、全体最適化を行って、文対応を生成する。S205において、文対応生成部123は、S204で生成した文対応を出力する。
【0048】
なお、本実施の形態における"モデル"は、ニューラルネットワークのモデルであり、具体的には、重みのパラメータ、関数等からなるものである。
【0049】
(ハードウェア構成例)
実施例1における文対応装置と学習装置、及び実施例2における単語対応装置と学習装置(これらを総称して「装置」と呼ぶ)はいずれも、例えば、コンピュータに、本実施の形態(実施例1、実施例2)で説明する処理内容を記述したプログラムを実行させることにより実現可能である。なお、この「コンピュータ」は、物理マシンであってもよいし、クラウド上の仮想マシンであってもよい。仮想マシンを使用する場合、ここで説明する「ハードウェア」は仮想的なハードウェアである。
【0050】
上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0051】
図5は、上記コンピュータのハードウェア構成例を示す図である。
図5のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
【0052】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0053】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
【0054】
(実施例1:具体的な処理内容の説明)
以下、実施例1における文対応装置100の処理内容をより具体的に説明する。
【0055】
<文対応からスパン予測への定式化>
実施例1では、文対応付けを、SQuAD形式の質問応答タスク[8]と同様の言語横断スパン予測問題として定式化している。そこで、まず、文対応からスパン予測への定式化について、例を用いて説明する。文対応装置100との関連では、ここでは主に言語横断スパン予測モデル学習部110における言語横断スパン予測モデルとその学習について説明している。
【0056】
SQuAD形式の質問応答タスクを行う質問応答システムには、Wikipediaから選択された段落等の「文脈(context)」と「質問(question)」が与えられ、質問応答システムは、文脈の中の「スパン(span)」を「回答(answer)」として予測する。
【0057】
上記のスパン予測と同様にして、実施例1の文対応装置100における文対応実行部120は、目的言語文書を文脈と見なし、原言語文書の中の文集合を質問と見なして、原言語文書の文集合の翻訳となっている、目的言語文書の中の文集合を、目的言語文書のスパンとして予測する。この予測には、実施例1における言語横断スパン予測モデルが用いられる。
【0058】
――言語横断スパン予測問題回答生成部114について――
実施例1では、文対応装置100の言語横断スパン予測モデル学習部110において言語横断スパン予測モデルの教師あり学習を行うが、学習のためには正解データが必要である。実施例1では、言語横断スパン予測問題回答生成部114は、この正解データを、文対応疑似正解データから、疑似正解データとして生成する。
【0059】
図6に、実施例1における言語横断スパン予測問題と回答の例を示す。
図6(a)は、SQuAD形式の単言語質問応答タスクを示し、
図6(b)は、対訳文書からの文対応付けタスクを示す。
【0060】
図6(a)に示す言語横断スパン予測問題と回答は、文書及び質問(Q)と、それに対する回答(A)からなる。
図6(b)に示す言語横断スパン予測問題と回答は、英語の文書及び日本語の質問(Q)と、それに対する回答(A)からなる。
【0061】
一例として、対象とする文書対が英語文書と日本語文書であるとすると、
図1に示した言語横断スパン予測問題回答生成部114は、文対応疑似正解データから、
図6(b)に示すような文書(文脈)及び質問と回答との組を複数生成する。
【0062】
後述するように、実施例1では、文対応実行部120のスパン予測部122が、言語横断スパン予測モデルを用いて、第一言語文書(質問)から第二言語文書(回答)への予測と、第二言語文書(質問)から第一言語文書(回答)への予測のそれぞれの方向についての予測を行う。従って、言語横断スパン予測モデルの学習時にも、このように双方向で予測を行えるように、双方向の疑似正解データを生成して、双方向の学習を行うこととしてもよい。
【0063】
なお、上記のように双方向で予測を行うことは一例である。第一言語文書(質問)から第二言語文書(回答)への予測のみ、又は、第二言語文書(質問)から第一言語文書(回答)への予測のみの片方向だけの予測を行うこととしてもよい。
【0064】
――言語横断スパン予測問題の定義について――
実施例1における言語横断スパン予測問題の定義をより詳細に説明する。長さNのトークンからなる原言語文書FをF={f1,f2,...,fN}とし、長さMのトークンからなる目的言語文書EをE={e1,e2,...,eM}とする。
【0065】
実施例1における言語横断スパン予測問題は、原言語文書Fにおいてiトークン目からjトークン目までのトークンからなる原言語文Q={fi,fi+1,...,fj}に対して、目的言語文書E中のスパン(k,l)の目的言語テキストR={ek,ek+1,...,el}を抽出することである。なお、「原言語文Q」は、1つの文でもよいし、複数の文でもよい。
【0066】
実施例1における文対応付けでは、1つの文と1つの文との対応付けのみならず、複数の文と複数の文との対応付けが可能である。実施例1では、原言語文書中の任意の連続した文を原言語文Qとして入力とすることで、1対1と多対多の対応を同じ枠組みで扱うことができる。
【0067】
――スパン予測モデル学習部116について――
スパン予測モデル学習部116は、言語横断スパン予測疑似正解データ格納部115から読み出した疑似正解データを用いて、言語横断スパン予測モデルの学習を行う。すなわち、スパン予測モデル学習部116は、言語横断スパン予測問題(質問と文脈)を言語横断スパン予測モデルに入力し、言語横断スパン予測モデルの出力が正解(疑似正解)の回答になるように、言語横断スパン予測モデルのパラメータを調整する。このパラメータの調整は既存技術で行うことができる。
【0068】
学習された言語横断スパン予測モデルは、言語横断スパン予測モデル格納部117に格納される。また、文対応実行部120により、言語横断スパン予測モデル格納部117から言語横断スパン予測モデルが読み出され、スパン予測部122に入力される。
【0069】
――事前学習済みモデルBERTについて――
ここで、実施例1において事前学習済み多言語モデルとして使用することが想定される事前学習済みモデルBERTについて説明する。BERT[9]は、Transformerに基づくエンコーダを用いて、入力系列の各単語に対して前後の文脈を考慮した単語埋め込みベクトルを出力する言語表現モデル(language representation model)である。典型的には、入力系列は一つの文、又は、二つの文を、特殊記号を挟んで連結したものである。
【0070】
BERTでは、入力系列の中でマスクされた単語を、前方及び後方の双方向から予測する穴埋め言語モデル(masked language model)を学習するタスク、及び、与えられた二つの文が隣接する文であるか否かを判定する次文予測(next sentence prediction)タスクを用いて、大規模な言語データから言語表現モデル(language representation model)を事前学習(pre-train)する。このような事前学習タスクを用いることにより、BERTは、一つの文の内部だけなく二つの文にまたがる言語現象に関する特徴を捉えた単語埋め込みベクトルを出力することができる。なおBERTのような言語表現モデルを単に言語モデル(language model)と呼ぶこともある。
【0071】
事前学習されたBERTに適当な出力層を加え、対象とするタスクの学習データでファインチューン(finetune)すると、テキスト意味類似度、自然言語推論(テキスト含意認識)、質問応答、固有表現抽出等様々なタスクで最高精度を達成できることが報告されている。なお、上記のファインチューンとは、例えば、事前学習済みのBERTのパラメータを、目的のモデル(BERTに適当な出力層を加えたモデル)の初期値として使用して、目的のモデルの学習を行うことである。
【0072】
意味テキスト類似度、自然言語推論、質問応答のような文の対を入力とするタスクでは、'[CLS]第1文[SEP]第2文[SEP]'のように二つの文を、特殊記号を用いて連結した系列をBERTに入力として与える。ここで[CLS]は二つの入力文の情報を集約するベクトルを作成するための特殊なトークンであり、分類トークン(classification token)と呼ばれ、[SEP]は文の区切りを表すトークンであり、分割トークン(separator token)と呼ばれる。
【0073】
質問応答(question answering,QA)のように入力された二つの文に対して片方の文に基づいて他方の文のスパンを予測するタスクでは、[CLS]に対してBERTが出力するベクトルから他方の文に抽出すべきスパンが存在するか否かを予測し、他方の文の各単語に対してBERTが出力するベクトルからその単語が抽出すべきスパンの開始点になる確率とその単語が抽出すべきスパンの終了点となる確率を予測する。
【0074】
BERTはもともと英語を対象として作成されたが、現在では日本語をはじめ様々な言語を対象としたBERTが作成され一般に公開されている。またWikipediaから104言語の単言語データを抽出し、これを用いて作成された汎用多言語モデルmultilingual BERTが一般に公開されている。
【0075】
更に対訳文を用いて穴埋め言語モデルにより事前学習した言語横断(cross language)言語モデルXLMが提案され、言語横断テキスト分類等の応用ではmultilingual BERTより精度が高いと報告されており、事前学習済みのモデルが一般に公開されている。
【0076】
――言語横断スパン予測モデルについて――
実施例1における言語横断スパン予測モデルは、学習時及び文対応実行時のそれぞれにおいて、目的言語文書E中から原言語文Qに対応する目的言語テキストRのスパン(k,l)を選択する。
【0077】
文対応実行部120の文対応生成部123(又はスパン予測部122)において、原言語文Qのスパン(i,j)から目的言語テキストRのスパン(k,l)への対応スコアωijklを、開始位置の確率p1と終了位置の確率p2の積を用いて、次のように算出する。
【0078】
【数1】
p
1とp
2の計算のために、実施例1では上述したBERT[9]を基とした事前学習済み多言語モデルを用いる。これらのモデルは複数言語における単言語での言語理解タスクのために作成されたものであるが、言語横断タスクに対しても驚くほどうまく機能する。
【0079】
実施例1の言語横断スパン予測モデルには、原言語文Qと目的言語文書Eが結合されて、次のような1つの系列データが入力される。
【0080】
[CLS]原言語文Q[SEP]目的言語文書E[SEP]
実施例1の言語横断スパン予測モデルは、事前学習済み多言語モデルに対して2つの独立した出力層を加えたものに対して、目的言語文書と原言語文書との間でスパンを予測するタスクの学習データでファインチューンしたモデルである。これらの出力層は目的言語文書中の各トークン位置がそれぞれ回答スパンの開始位置になる確率p1もしくは終了位置になる確率p2を予測する。
【0081】
<スパン予測について>
次に、文対応実行部120の動作を詳細に説明する。
【0082】
――言語横断スパン予測問題生成部121、スパン予測部122について――
言語横断スパン予測問題生成部121は、入力された文書対(原言語文書と目的言語文書)に対し、"[CLS]原言語文Q[SEP]目的言語文書E[SEP]"の形式のスパン予測問題を原言語文Q毎に作成し、スパン予測部122へ出力する。
【0083】
後述するように、実施例1では、双方向の予測を行うことから、文書対を第一言語文書と第二言語文書であるとすると、言語横断スパン予測問題生成部121により、第一言語文書(質問)から第二言語文書(回答)へのスパン予測の問題と、第二言語文書(質問)から第一言語文書(回答)へのスパン予測の問題が生成されることとしてもよい。
【0084】
スパン予測部122は、言語横断スパン予測問題生成部121により生成された各問題(質問と文脈)を入力することで、質問毎に回答(予測されたスパン)と確率p1、p2を算出し、質問毎の回答(予測されたスパン)と確率p1、p2を文対応生成部123に出力する。
【0085】
――文対応生成部123について――
文対応生成部123は、例えば、原言語文に対する最も良い回答スパン(^k,^l)を、次のように、対応スコアωijklを最大化するスパンとして選択することができる。文対応生成部123は、この選択結果と原言語文とを文対応として出力してもよい。
【0086】
【数2】
ただし、実際の対訳文書(文対応実行部120に入力される文書対)には、ある言語の文書の原言語文Qに対応する箇所が他方の文書にないものがノイズとして存在する場合がある。そこで、実施例1では、原言語文に対応する目的言語テキストが存在するのかどうかを決定することができる。
【0087】
より具体的には、実施例1では、文対応生成部123は、"[CLS]"の位置で予測された値を用いて対応なしスコアφijを計算し、このスコアとスパンの対応スコアωijklの大小によって、対応する目的言語テキストが存在するかを決定することができる。例えば、文対応実行部120は、対応する目的言語テキストが存在しない原言語文を、文対応生成のための原言語文として使用しないこととしてもよい。
【0088】
ここで、「"[CLS]"の位置で予測された値を用いて対応なしスコアφijを計算」することは、実質的に、言語横断スパン予測モデルへ入力する系列データの中の"[CLS]"の(開始位置,終了位置)を回答スパンと見なした場合の対応スコアωijklをスコアφijとすることに相当する。
【0089】
言語横断スパン予測モデルによって予測された回答スパンは必ずしも文書における文の境界と一致していないが、文対応付けのための最適化や評価を行うには予測結果を文の系列へと変換する必要がある。そこで、実施例1では、文対応生成部123が、予測された回答スパンに完全に含まれている最も長い文の系列を求め、その系列を文レベルでの予測結果とする。
【0090】
――文対応生成部123による線形計画法による予測スパンの最適化―――
次に、文対応生成部123により実行される、前述した対応スコアから精度良く多対多の対応関係を同定する方法の例について説明する。以下では、当該方法に対する課題と、当該方法の詳細処理を説明する。
【0091】
<課題>
言語横断スパン予測モデルを用いた言語横断スパン予測によって得られた文対応付け(例:式(2)で得られた文対応付け)を直接使用する場合には以下のような課題がある。
【0092】
・言語横断スパン予測モデルが独立に目的言語テキストのスパンを予測するため、予測された多くの対応関係でスパンの重複が起きる。
【0093】
・多対多の対応関係を同定するにあたって入力される原言語文のスパンの決定が非常に重要であるが、適切なスパンを選択する方法が自明でない。
【0094】
<対応関係同定方法の詳細>
これらの問題を解決するために、実施例1では線形計画法を導入する。線形計画法による全体最適化により、スパンの一貫性を確保し、文書全体での対応関係のスコアの最大化を行うことができる。事前実験により、スコアの最大化よりも、スコアをコストへと変換してそのコストの最小化を行ったほうが高い精度を達成したため、実施例1では最小化問題として定式化を行う。
【0095】
また、言語横断スパン予測問題はそのままでは非対称であることから、実施例1では、原言語文書と目的言語文書を入れ替えて同様のスパン予測問題を解くことで同様の対応スコアω´ijklと対応なしスコアφ´klを計算し、同じ対応関係に対して最大で2方向の予測結果を得ることとしている。2方向のスコアの両方を用いて対称化することは予測結果の信頼性を高め、文対応付けの精度向上につながることが期待できる。
【0096】
第一言語文書を原言語文書とし、第二言語文書を目的言語文書とした場合、第一言語文書の原言語文のスパン(i,j)から第二言語文書の目的言語テキストのスパン(k,l)への対応スコアがωijklであり、第二言語文書を原言語文書とし、第一言語文書を目的言語文書として、第二言語文書の原言語文のスパン(k,l)から第一言語文書の目的言語テキストのスパン(i,j)への対応スコアがω´ijklである。また、φijは、第一言語文書のスパン(i,j)に対応する第二言語文書のスパンがないことを示すスコアであり、φ´klは、第二言語文書のスパン(k,l)に対応する第一言語文書のスパンがないことを示すスコアである。
【0097】
本実施の形態では、ωijklとω´ijklの重み付き平均の形で対称化したスコアを以下のように定義する。
【0098】
【数3】
上記の式3において、λはハイパーパラメータであり、λ=0もしくはλ=1のときにはスコアは単方向、λ=0.5のときには双方向のスコアとなる。
【0099】
実施例1では、文対応を各文書でスパンの重複のないスパン対の集合として定義し、文対応生成部123は、対応関係のコストの和が最小となるような集合を見つける問題を線形計画法によって解くことで文対応の同定を行う。実施例1における線形計画法の定式化は次のとおりである。
【0100】
【0101】
【0102】
【0103】
【数7】
上記の式(4)におけるc
ijklは、Ω
ijklから後述する式(8)により計算される対応関係のコストであり、対応関係のスコアΩ
ijklが小さくなり、スパンに含まれる文の数が多くなると大きくなるようなコストである。
【0104】
yijklは、スパン(i,j)と(k,l)が対応関係であるかどうかを表す二値変数であり、値が1のときに対応しているとする。bij,b′klはスパン(i,j)及び(k,l)がそれぞれ対応なしであるかどうかを表す二値変数であり、値が1のときに対応なしとする。式(4)のΣφijbij、Σφ´klb´klとはいずれも、対応なしが多くなると増加するコストである。
【0105】
式(6)は、原言語文書中の各文に対して、その文が対応関係中の1つのスパン対にしか出現しないことを保証する制約である。また、式(7)は目的言語文書に対して同様な制約となっている。この2つの制約により、各文書でスパンの重複がなく、各文が対応なしを含めて何かしらの対応関係に紐づくことが保証される。
【0106】
式(6)において、任意のxは、任意の原言語文に相当する。式(6)は、任意の原言語文xを含む全てのスパンに対して、それらスパンに対する任意の目的言語スパンへの対応とxが対応なしのパターンとの総和が1になるという制約を、すべての原言語文に対して課していることを意味する。式(7)も同様である。
【0107】
対応関係のコストcijklは、スコアΩから次のように計算される。
【0108】
【数8】
上記の式(8)におけるnSents(i,j)はスパン(i,j)に含まれる文の数を表す。文の数の和の平均として定義される係数は多対多の対応関係が抽出されるのを抑制させる働きを持つ。これは、1対1の対応関係が複数存在した際に、それらが1つの多対多の対応関係として抽出されると対応関係の一貫性が損なわれることを緩和する。
【0109】
1つの原言語文を入力した際に得られる目的言語テキストのスパンの候補とそのスコアωijklは、目的言語文書のトークン数の2乗に比例する数だけ存在する。その全てを候補として計算しようとすると計算コストが非常に大きくなってしまうため、実施例1では各原言語文に対してスコアの高い少数の候補のみを線形計画法による最適化計算に使用する。例えば、予めN(N≧1)を定め、各原言語文に対してスコアの最も高いものからN個を使用することとしてもよい。
【0110】
事前実験では、各入力に対して使用する候補を1つから増やしても文対応付け精度の向上が見られなかったため、後述する実験では最もスコアの高い候補のみを各原言語文に対するスパンの候補として使用した。
【0111】
―――文書対応情報を考慮した低品質データのフィルタリング―――
文対応付けによって抽出された対訳文データを下流タスクで実際に使用する際、しばしば文対応のスコアやコストに応じて低品質な対訳文を取り除くことがある。この低品質な対応関係の原因の一つとして、自動で抽出された対訳文書の対応関係が間違っていることがあり、信頼性が高くないことが挙げられる。しかし、これまでに説明した文対応のスコアやコストは文書対応の精度を考慮したものではない。
【0112】
そこで、実施例1では文書対応コストdを導入し、文対応生成部123が、文書対応コストd及び文対応コストcijklの積に応じて低品質な対訳文を取り除くこととしてもよい。文書対応コストdは、式(4)を抽出した文対応の数で割ることにより、次のようにして算出される。
【0113】
【数9】
対応関係のコストの和が大きく、抽出した文対応の数が少ない場合に、dが大きくなる。dが大きい場合、文書対応の精度が悪いと推測できる。
【0114】
低品質な対訳文を取り除くこと関して、例えば、文対応実行部120に、第一言語の文書1と第二言語の文書2を入力して、文対応生成部123が、文対応付けされた1以上の対訳文データを得る。文対応生成部123は、例えば、得られた対訳文データのうち、d×cijklが閾値よりも大きいものは低品質であると判断し、使用しない(取り除く)。このような処理の他、d×cijklの値が小さい順に一定数の対訳文データだけを使用することとしてもよい。
【0115】
(実施例1の効果)
実施例1で説明した文対応装置100により、従来よりも高精度な文対応付けを実現できる。また、抽出した対訳文は機械翻訳モデルの翻訳精度の向上に寄与する。以下、これらの効果を示す、文対応付け精度及び機械翻訳精度についての実験について説明する。以下、文対応付け精度についての実験を実験1とし、機械翻訳精度についての実験を実験2として説明する。
【0116】
<実験1:文対応付け精度の比較>
実際の日本語と英語の新聞記事の自動対訳文書を用いて、実施例1の文対応付け精度での評価を行った。最適化手法の異なりによる精度の差を確認するため、動的計画法(DP)[1]と線形計画法(ILP、実施例1の手法)の2つの方法で言語横断スパン予測の結果を最適化し、比較を行った。また、ベースラインには、様々な言語において最高精度を達成しているThompsonらの手法[6]及び日本語と英語の間でのデファクト・スタンダードな手法である内山ら[3]の手法を使用した。
【0117】
評価尺度としては、文対応付けでの一般的な尺度であるF1 scoreを用いた。具体的には、「https://github.com/thompsonb/vecalign/blob/master/score.py」のスクリプト中のstrictの値を使用した。この尺度は正解と予測の対応関係の間の完全一致の個数に応じて計算される。一方で、自動抽出された対訳文書には対応関係のない文がノイズとして含まれているのにも関わらず、この尺度は対応関係がない文の抽出精度を直接評価しない。そこで、更に詳細な分析を行うために、対応関係の原言語及び目的言語の文の数毎のPrecision/Recall/F1 scoreによる評価も行った。
【0118】
<実験1:実験データ>
実験1の実験には、読売新聞とその英語版であるThe Japan News(前the Daily Yomiuri)の新聞記事を購入し、使用した。これらのデータから自動及び手動で文対応付けデータセットを作成した。
【0119】
まず、2012年に発行された日本語記事317,491件及び英語記事3,878件から、内山ら[3]の手法を用いて自動的に2,989件の文書対応データを作成した。その文書対応データに対して内山ら[3]の手法を用いて文対応付けを行い、その文対応疑似正解データを言語横断スパン予測モデルの学習データとして使用した。
【0120】
開発用及び評価用のデータには、2013/02/01-2013/02/07及び2013/08/01-2013/08/07の間の英語記事182件から、それに対応する日本語記事を人手で探すことで、131件の記事と26件の社説からなる157件の対訳文書を作成した。次に、各対訳文書から人手で文対応付けを行い、2,243件の多対多の文対応データが得られた。本実験では、そのデータのうちの15件の記事を開発用、別の15件の記事を評価用とし、残りのデータに関してはリザーブとした。
図7に各データセットでの平均文数およびトークン数を示す。
【0121】
<実験1:実験結果>
図8に対応関係全体でのF
1 scoreを示す。最適化手法によらず言語横断スパン予測での結果はベースラインよりも高い精度を示している。このことから、言語横断スパン予測による文対応候補の抽出とスコア計算はベースラインよりも有効に働くことがわかる。また、双方向のスコアを用いた結果が単方向のスコアしか用いない結果よりも良いことから、スコアの対称化は文対応付けに対して非常に効果的であることが確認できる。次に、DPとILPのスコアを比べると、ILPのほうが遥かに高い精度を達成している。このことから、ILPによる最適化は単調性を仮定したDPによる最適化よりも良い文対応の同定が行えることがわかる。
【0122】
図9に対応関係中の原言語及び目的言語の文の数毎に評価した文対応付け精度を示す。
図9において、N行M列の値はN対Mの対応関係のPrecision/Recall/F
1 scoreを表す。また、ハイフンはテストセット中にその対応関係が存在しないことを示す。
【0123】
こちらにおいても、言語横断スパン予測による文対応の結果は全ての対においてベースラインの結果を上回っている。更に、1対2の対応関係を除いて、ILPによる最適化での精度はDPによるものよりも高い。特に、対応関係が無い文(1対0及び0対1)に対するF1スコアが80.0及び95.1と非常に高く、ベースラインと比較すると非常に大きな改善が見られる。この結果は、実施例1の技術により、対応関係の無い文を非常に高い精度で同定でき、そのような文が含まれる対訳文書において非常に有効であることを示している。
【0124】
なお、本実験ではNVIDIA Tesla K80(12GB)を用いた。テストセットにおいて、各入力に対するスパンの予測にかかる時間は約1.9秒であり、文書に対して線形計画法による最適化にかかる平均時間は0.39秒であった。従来、時間計算量の観点から線形計画法よりも小さい計算量となる動的計画法が用いられてきたが、これらの結果から線形計画法においても実用的な時間で最適化を行えることがわかる。
【0125】
<実験2:機械翻訳精度での比較>
次に、実験2について説明する。文対応付けによって抽出される対訳文データは機械翻訳システムを主とした言語横断モデルの学習に不可欠である。そこで、実施例1の下流タスクでの有効性を評価するため、実際の新聞記事データから自動抽出した対訳文を用いて、日英機械翻訳モデルでの精度比較実験を行った。本実験では、次の5つの手法の比較を行った。丸括弧内は
図10中の凡例での表記を表す。
【0126】
・言語横断スパン予測+ILP(ILP w/o doc)
・言語横断スパン予測+ILP+文書対応コスト(ILP)
・言語横断スパン予測+DP(monotonic DP)
・Thompsonらの手法[6](vecalign)
・内山らの手法[3](utiyama)
実験2の実験に際しては、JParaCrawlコーパス[10]によって事前学習済みの機械翻訳モデルを抽出した対訳文データでファインチューンしたものを評価した。評価尺度には、機械翻訳で一般的に用いられているBLEU[11]を使用した。
【0127】
<実験2:実験データ>
実験1と同様に、読売新聞とThe Japan News からデータを作成した。学習用データセットには、1989年から2015年に発行された記事のうち、開発及び評価で使用したもの以外を使用した。自動文書対応付けには内山らの手法[3]を用い、110,821件の対訳文書対を作成した。各手法によって対訳文書から対訳文を抽出し、コストやスコアによって品質が高い順に使用した。開発及び評価用のデータセットには、実験1と同様のデータを用い、開発用データとして15記事168対訳、評価用データとして15記事238対訳を使用した。
【0128】
<実験2:実験結果>
図10に、学習に使用する対訳文対の量を変化させた際の翻訳精度の比較結果を示す。言語横断スパン予測による文対応の手法での結果はベースラインよりも高い精度を達成していることがわかる。特に、ILPと文書対応コストを用いた手法は最高で19.0ptのBLEUスコアを達成しており、これはベースラインで最も良い結果よりも2.6pt高い結果である。これらの結果から、実施例1の技術は自動抽出した対訳文書に対して有効に働き、下流タスクにおいて有用であることがわかる。
【0129】
データの量が小さい部分に着目すると、文書対応コストを用いた手法が、他のILPのみやDPを用いる手法と比べて同程度か高い翻訳精度を達成していることがわかる。このことから、文書対応コストの利用が文対応コストの信頼性を向上させ、低品質な対応関係を取り除くことに有用であることがわかる。
【0130】
(実施例1のまとめ)
以上、説明したように、実施例1では、互いに対応関係にある2つの文書において互いに対応している文集合(文でもよい)の対を同定する問題を、ある言語の文書の連続する文集合に対応する別の言語の文書の連続する文集合をスパンとして独立に予測する問題(言語横断スパン予測問題)の集合として捉え、その予測結果に対して整数線形計画法によって全体最適化を行うことにより、高精度な文対応付けを実現している。
【0131】
実施例1の言語横断スパン予測モデルは、例えば複数の言語についてそれぞれの単言語テキストだけを用いて作成された事前学習済み多言語モデルを、既存手法によって作成された擬似的な正解データを用いてファインチューンすることにより作成する。多言語モデルにself-attentionと呼ばれる構造が用いられているモデルを使用し、モデルに原言語文と目的言語文書を結合して入力することにより、予測の際にスパン前後の文脈やトークン単位の情報を考慮することができる。対訳辞書や文のベクトル表現を用いる従来手法がそれらの情報を利用しないのと比較すると、高い精度で文対応関係の候補を予測することができる。
【0132】
なお、正解データを作成するコストは非常に高い。一方、実施例2で説明する単語対応タスクよりも、文対応タスクの方が多くの正解データが必要である。そこで、実施例1では、疑似正解データを正解データとして使うことで、良好な結果が得られている。疑似正解データを使えると、教師あり学習ができるので、教師なしモデルと比較すると、高性能なモデルの学習が可能になる。
【0133】
また、実施例1で用いた整数線形計画法は対応関係の単調性を仮定しない。そのため、単調性を仮定する従来手法と比較して非常に高い精度の文対応を得ることができる。その際に、非対称な言語横断スパン予測から得られる2方向のスコアを対称化したスコアものを用いることで、予測候補の信頼度が向上し、更なる精度改善へと寄与する。
【0134】
互いに対応関係となっている2つの文書を入力として自動的に文対応を同定する技術は、自然言語処理技術に関連する様々な影響がある。例えば、実験2のように、ある言語(例えば日本語)の文書中の文から、文対応に基づいて別の言語に翻訳された文書中の対訳関係にある文へと写像することによって、その言語間の機械翻訳器の学習データを生成することができる。あるいは、ある文書とそれを同じ言語の平易な表現で書き直した文書から、互いに同じ意味を持つ文のペアを文対応に基づいて抽出することで、言い換え文生成器や語彙平易化器の学習データとすることができる。
【0135】
[実施例1の参考文献]
[1] William A. Gale and Kenneth W. Church. A program for aligning sentences in bilingual corpora. Computational Linguistics, Vol. 19, No. 1, pp. 75-102, 1993.
[2] Takehito Utsuro, Hiroshi Ikeda, Masaya Yamane, Yuji Matsumoto, and Makoto Nagao. Bilingual text, matching using bilingual dictionary and statistics. In Proceedings of the COLING-1994, 1994.
[3] Masao Utiyama and Hitoshi Isahara. Reliable measures for aligning japanese-english news articles and sentences. In Proceedings of the ACL-2003, pp. 72-79, 2003.
[4] D. Varga, L. Nemeth, P. Halacsy, A. Kornai, V. Tron, and V. Nagy. Parallel corpora for medium density languages. In Proceedings of the RANLP-2005, pp. 590-596, 2005.
[5] Rico Sennrich and Martin Volk. Iterative, MT-based sentence alignment of parallel texts. In Proceedings of the 18th Nordic Conference of Computational Linguistics (NODALIDA 2011), pp. 175-182, Riga, Latvia, May 2011. Northern European Association for Language Technology (NEALT).
[6] Brian Thompson and Philipp Koehn. Vecalign: Improved sentence alignment in linear time and space. In Proceedings of EMNLP-2019, pp. 1342-1348, 2019.
[7] S. E. Robertson and S. Walker. Some simple effective approximations to the 2-poisson model for probabilistic weighted retrieval. In Proceedings of the SIGIR-1994, pp. 232-241, 1994.
[8] Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and Percy Liang. Squad: 100,000+ questions for machine comprehension of text. In Proceedings of EMNLP-2016, pp. 2383-2392, 2016.
[9] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. Bert: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the NAACL-2019, pp. 4171-4186, 2019.
[10] Makoto Morishita, Jun Suzuki, and Masaaki Nagata. JParaCrawl: A large scale web-based English- Japanese parallel corpus. In Proceedings of The 12th Language Resources and Evaluation Conference, pp. 3603-3609, Marseille, France, May 2020. European Language Resources Association.
[11] Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. Bleu: a method for automatic evaluation of machine translation. In Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics, pp. 311-318, Philadelphia, Pennsylvania, USA, July 2002. Association for Computational Linguistics.
(実施例2)
次に、実施例2を説明する。実施例2では、互いに翻訳になっている2文間の単語対応を同定する技術を説明する。互いに翻訳になっている二つの文において互いに翻訳になっている単語又は単語集合を同定することを単語対応(word alignment)という。
【0136】
互いに翻訳になっている二つの文を入力とし、自動的に単語対応を同定する技術には、多言語処理や機械翻訳に関連する様々な応用がある。例えば、ある言語(例えば英語)の文において付与された人名・地名・組織名等の固有表現に関する注釈を、単語対応に基づいて別の言語(例えば日本語)へ翻訳された文へ写像することにより、その言語の固有表現抽出器の学習データを生成することができる。
【0137】
実施例2では、互いに翻訳になっている二つの文において単語対応を求める問題を、ある言語の文の各単語に対応する別の言語の文の単語又は連続する単語列(スパン)を予測する問題(言語横断スパン予測)の集合として捉え、人手により作成された少数の正解データからニューラルネットワークを用いて言語横断スパン予測モデルを学習することにより、高精度な単語対応を実現する。具体的には、後述する単語対応装置300が、この単語対応に係る処理を実行する。
【0138】
なお、単語対応の応用として、前述した固有表現抽出器の学習データの生成に加えて、例えば、次のようなものがある。
【0139】
ある言語(例えば日本語)のWebページを別の言語(例えば英語)へ翻訳する際に、元の言語の文においてHTMLタグ(例えばアンカータグ<a>...</a>)に囲まれた文字列の範囲と意味的に等価な別の言語の文の文字列の範囲を、単語対応に基づいて同定することにより、HTMLタグを正しく写像することができる。
【0140】
また、機械翻訳において、対訳辞書等により入力文の特定の語句に対して特定の訳語を指定したい場合、単語対応に基づいて入力文中の語句に対応する出力文の語句を求め、もしその語句が指定された語句でない場合には指定された語句に置き換えることにより、訳語を制御することができる。
【0141】
以下では、まず、実施例2に係る技術を理解し易くするために、単語対応に関連する種々の参考技術について説明する。その後に、実施例2に係る単語対応装置300の構成及び動作を説明する。
【0142】
なお、実施例2の参考技術等に関連する参考文献の番号と文献名を、実施例2の最後にまとめて記載した。下記の説明において関連する参考文献の番号を"[1]"等のように示している。
【0143】
(実施例2:参考技術の説明)
<統計的機械翻訳モデルに基づく教師なし単語対応>
参考技術として、まず、統計的機械翻訳モデルに基づく教師なし単語対応について説明する。
【0144】
統計的機械翻訳[1]では、原言語(翻訳元言語,source language)の文Fから目的言語(翻訳先言語,target language)の文Eへ変換する翻訳モデルP(E|F)を、ベイズの定理を用いて、逆方向の翻訳モデルP(F|E)と目的言語の単語列を生成する言語モデルP(E)の積に分解する。
【0145】
【数10】
統計的機械翻訳では、原言語の文Fの単語と目的言語の文Eの単語の間の単語対応Aに依存して翻訳確率が決まると仮定し、全ての可能な単語対応の和として翻訳モデルを定義する。
【0146】
【数11】
なお、統計的機械翻訳では、実際に翻訳が行われる原言語Fと目的言語Eと、逆方向の翻訳モデルP(F|E)の中の原言語Eと目的言語Fが異なる。このために混乱が生じるので、以後は、翻訳モデルP(Y|X)の入力Xを原言語、出力Yを目的言語と呼ぶことにする。
【0147】
原言語文Xを長さ|X|の単語列x1:|X|=x1,x2,...,x|X|とし、目的言語文Yを長さ|Y|の単語列y1:|Y|=y1,y2,...,y|Y|とするとき、目的言語から原言語への単語対応Aをa1:|Y|=a1,a2,...,a|Y|と定義する。ここでajは、目的言語文の単語yjが目的言語文の単語xajに対応することを表す。
【0148】
生成的(generative)な単語対応では、ある単語対応Aに基づく翻訳確率を、語彙翻訳確率Pt(yj|...)と単語対応確率Pa(aj|...)の積に分解する。
【0149】
【数12】
例えば、参考文献[1]に記載のモデル2では、まず目的言語文の長さ|Y|を決め、目的語文のj番目の単語が原言語文のa
j番目の単語へ対応する確率P
a(a
j|j,...)は、目的言語文の長さ|Y|、原言語文の長さ|X|に依存すると仮定する。
【0150】
【数13】
参考文献[1]に記載のモデルとして、最も単純なモデル1から最も複雑なモデル5までの順番に複雑になる5つのモデルがある。単語対応において使用されることが多いモデル4は、ある言語の一つの単語が別の言語のいくつの単語に対応するかを表す繁殖数(fertility)や、直前の単語の対応先と現在の単語の対応先の距離を表す歪み(distortion)を考慮する。
【0151】
また、HMMに基づく単語対応[25]では、単語対応確率は、目的言語文における直前の単語の単語対応に依存すると仮定する。
【0152】
【数14】
これらの統計的機械翻訳モデルでは、単語対応が付与されていない対訳文対の集合から、EMアルゴリズムを用いて単語対応確率を学習する。すなわち教師なし学習(unsupervised learning)により単語対応モデルを学習する。
【0153】
参考文献[1]に記載のモデルに基づく教師なし単語対応ツールとして、GIZA++[16]、MGIZA[8]、FastAlign[6]等がある。GIZA++とMGIZAは参考文献[1]に記載のモデル4に基づいており、FastAlignは参考文献[1]に記載のモデル2に基づいている。
【0154】
<再帰ニューラルネットワークに基づく単語対応>
次に、再帰ニューラルネットワークに基づく単語対応について説明する。ニューラルネットワークに基づく教師なし単語対応の方法として、HMMに基づく単語対応にニューラルネットワークを適用する方法[26,21]と、ニューラル機械翻訳における注意(attention)に基づく方法がある[27,9]。
【0155】
HMMに基づく単語対応にニューラルネットワークを適用する方法について、例えば田村ら[21]は、再帰ニューラルネットワーク(Recurrent Neural Network,RNN)を用いることにより、直前の単語対応だけでなく、文頭からの単語対応の履歴a<j=a1:j-1を考慮して現在の単語の対応先を決定し、かつ、語彙翻訳確率と単語対応確率を別々にモデル化するのではなく一つのモデルとして単語対応を求める方法を提案している。
【0156】
【数15】
再帰ニューラルネットワークに基づく単語対応は、単語対応モデルを学習するために大量の教師データ(単語対応が付与された対訳文)を必要とする。しかし、一般に人手で作成した単語対応データは大量には存在しない。教師なし単語対応ソフトウェアGIZA++を用いて自動的に単語対応を付与した対訳文を学習データとした場合、再起ニューラルネットワークに基づく単語対応は、GIZA++と同等又はわずかに上回る程度の精度であると報告されている。
【0157】
<ニューラル機械翻訳モデルに基づく教師なし単語対応>
次に、ニューラル機械翻訳モデルに基づく教師なし単語対応について説明する。ニューラル機械翻訳は、エンコーダデコーダモデル(encoder-decoder model,符号器復号器モデル)に基づいて、原言語文から目的言語文への変換を実現する。
【0158】
エンコーダ(encoder,符号器)は、ニューラルネットワークを用いた非線形変換を表す関数encにより長さ|X|の原言語文X=x1:|X|=x1,...,x|X|を、長さ|X|の内部状態の系列s1:|X|=s1,...,s|X|に変換する。各単語に対応する内部状態の次元数をdとすれば、s1:|X|は|X|×dの行列である。
【0159】
【数16】
デコーダ(decoder,復号器)は、エンコーダの出力s
1:|X|を入力として、ニューラルネットワークを用いた非線形変換を表す関数decにより目的言語文のj番目の単語y
jを文頭から一つずつ生成する。
【0160】
【数17】
ここでデコーダが長さ|Y|の目的言語文Y=y
1:|Y|=y
1,...,y
|Y|を生成するとき、デコーダの内部状態の系列をt
1:|Y|=t
1,...,t
|Y|と表現する。各単語に対応する内部状態の次元数をdとすれば、t
1:|Y|は|Y|×dの行列である。
【0161】
ニューラル機械翻訳では、注意(attention)機構を導入することにより、翻訳精度が大きく向上した。注意機構は、デコーダにおいて目的言語文の各単語を生成する際に、エンコーダの内部状態に対する重みを変えることで原言語文のどの単語の情報を利用するかを決定する機構である。この注意の値を、二つの単語が互いに翻訳である確率とみなすのが、ニューラル機械翻訳の注意に基づく教師なし単語対応の基本的な考え方である。
【0162】
例として、代表的なニューラル機械翻訳モデルであるTransformer[23]における、原言語文と目的言語文の間の注意(source-target attention,原言語目的言語注意)を説明する。Transformerは、自己注意(self-attention)と順伝播型ニューラルネットワーク(feed-forward neural network)を組み合わせてエンコーダやデコーダを並列化したエンコーダデコーダモデルである。Transformerにおける原言語文と目的言語文の間の注意は、自己注意と区別するためにクロス注意(cross attention)と呼ばれる。
【0163】
Transformerは注意として縮小付き内積注意(scaled dot-product attention)を用いる。縮小付き内積注意は、クエリQ∈Rlq×dk、キーK∈Rlk×dk、値V∈Rlk×dvに対して次式のように定義される。
【0164】
【数18】
ここでl
qはクエリの長さ、l
kはキーの長さ、d
kはクエリとキーの次元数、d
vは値の次元数である。
【0165】
クロス注意において、Q,K,Vは、WQ∈Rd×dk,WK∈Rd×dk,WV∈Rd×dvを重みとして以下のように定義される。
【0166】
【0167】
【0168】
【数21】
ここでt
jは、デコーダにおいてj番目の目的言語文の単語を生成する際の内部状態である。また[]
Tは転置行列を表す。
【0169】
このときQ=[t1:|Y|]TWQとして原言語文と目的言語文の間のクロス注意の重み行列A|Y|×|X|を定義する。
【0170】
【0171】
【数23】
これは目的言語文のj番目の単語y
jの生成に対して原言語文の単語x
iが寄与した割合を表すので、目的言語文の各単語y
jについて原言語文の単語x
iが対応する確率の分布を表すとみなすことができる。
【0172】
一般にTransformerは複数の層(layer)及び複数のヘッド(head,異なる初期値から学習された注意機構)を使用するが、ここでは説明を簡単にするために層及びヘッドの数を1とした。
【0173】
Gargらは、上から2番目の層において全てのヘッドのクロス注意を平均したものが単語対応の正解に最も近いと報告し、こうして求めた単語対応分布Gpを用いて複数ヘッドのうちの特定の一つのヘッドから求めた単語対応に対して以下のようなクロスエントロピー損失を定義し、
【0174】
【数24】
この単語対応の損失と機械翻訳の損失の重み付き線形和を最小化するようなマルチタスク学習(multi-task learning)を提案した[9]。式(15)は、単語対応を、目的言語文の単語に対して原言語文のどの単語が対応しているかを決定する多値分類の問題とみなしていることを表す。
【0175】
Gargらの方法は、単語対応の損失を計算する際には式(10)において、文頭からj番目の単語の直前までt1:i-1ではなく、目的言語文全体t1:|Y|を使用する。また単語対応の教師データGpとして、Transformerに基づくself-trainingではなく、GIZA++から得られた単語対応を用いる。これらにより、GIZA++を上回る単語対応精度を得られると報告している[9]。
【0176】
<ニューラル機械翻訳モデルに基づく教師あり単語対応>
次に、ニューラル機械翻訳モデルに基づく教師あり単語対応について説明する。原言語文X=x1:|X|と目的言語文Y=y1:|Y|に対して、単語位置の直積集合の部分集合を単語対応Aと定義する。
【0177】
【数25】
単語対応は、原言語文の単語から目的言語文の単語への多対多の離散的な写像と考えることができる。
【0178】
識別的(discriminative)な単語対応では、原言語文と目的言語文から単語対応を直接的にモデル化する。
【0179】
【数26】
例えば、Stengel-Eskinらは、ニューラル機械翻訳の内部状態を用いて識別的に単語対応を求める方法を提案した[20]。Stengel-Eskinらの方法では、まずニューラル機械翻訳モデルにおけるエンコーダの内部状態の系列をs
1,...,s
|X|、デコーダの内部状態の系列をt
1,...,t
|Y|とするとき、パラメータを共有する3層の順伝播ニューラルネットワークを用いて、これらを共通のベクトル空間に射影する。
【0180】
【0181】
【数28】
共通空間に射影された原言語文の単語系列と目的言語の単語系列の行列積を、s′
iとt′
jの正規化されていない距離尺度として用いる。
【0182】
【数29】
更に単語対応が前後の単語の文脈に依存するように、3×3のカーネルW
convを用いて畳み込み演算を行って、a
ijを得る。
【0183】
【数30】
原言語文の単語と目的言語文の単語の全ての組み合わせについて、それぞれの対が対応するか否かを判定する独立した二値分類問題として、二値クロスエントロピー損失を用いる。
【0184】
【数31】
ここで^a
ijは、原言語文の単語x
iと目的言語文の単語y
jが正解データにおいて対応しているか否かを表す。なお、本明細書のテキストにおいては、便宜上、文字の頭の上に置かれるべきハット"^"を文字の前に記載している。
【0185】
【数32】
Stengel-Eskinらは、約100万文の対訳データを用いて翻訳モデルを事前に学習した上で、人手で作成した単語対応の正解データ(1,700文から5,000文)を用いることにより、FastAlignを大きく上回る精度を達成できたと報告している。
【0186】
<事前学習済みモデルBERT>
単語対応についても、実施例1に文対応と同様に、事前訓練済みモデルBERTを使用するが、これについては、実施例1で説明したとおりである。
【0187】
(実施例2:課題について)
参考技術として説明した従来の再帰ニューラルネットワークに基づく単語対応やニューラル機械翻訳モデルに基づく教師なし単語対応では、統計的機械翻訳モデルに基づく教師なし単語対応と同等又は僅かに上回る精度しか達成できていない。
【0188】
従来のニューラル機械翻訳モデルに基づく教師あり単語対応は、統計的機械翻訳モデルに基づく教師なし単語対応に比べて精度が高い。しかし、統計的機械翻訳モデルに基づく方法も、ニューラル機械翻訳モデルに基づく方法も、翻訳モデルの学習のために大量(数百万文程度)の対訳データを必要とするという問題点があった。
【0189】
以下、上記の問題点を解決した実施例2に係る技術を説明する。
【0190】
(実施例2に係る技術の概要)
実施例2では、単語対応を言語横断スパン予測の問題から回答を算出する処理として実現している。まず、少なくとも単語対応を付与する言語対に関するそれぞれの単言語データから学習された事前学習済み多言語モデルを、人手による単語対応の正解から作成された言語横断スパン予測の正解データを用いてファインチューンすることにより、言語横断スパン予測モデルを学習する。次に、学習された言語横断スパン予測モデルを用いて単語対応の処理を実行する。
【0191】
上記のような方法により、実施例2では、単語対応を実行するためのモデルの事前学習に対訳データを必要とせず、少量の人手により作成された単語対応の正解データから高精度な単語対応を実現することが可能である。以下、実施例2に係る技術をより具体的に説明する。
【0192】
(装置構成例)
図11に、実施例2における単語対応装置300と事前学習装置400を示す。単語対応装置300は、実施例2に係る技術により、単語対応処理を実行する装置である。事前学習装置400は、多言語データから多言語モデルを学習する装置である。
【0193】
図11に示すように、単語対応装置300は、言語横断スパン予測モデル学習部310と単語対応実行部320とを有する。
【0194】
言語横断スパン予測モデル学習部310は、単語対応正解データ格納部311、言語横断スパン予測問題回答生成部312、言語横断スパン予測正解データ格納部313、スパン予測モデル学習部314、及び言語横断スパン予測モデル格納部315を有する。なお、言語横断スパン予測問題回答生成部312を問題回答生成部と呼んでもよい。
【0195】
単語対応実行部320は、言語横断スパン予測問題生成部321、スパン予測部322、単語対応生成部323を有する。なお、言語横断スパン予測問題生成部321を問題生成部と呼んでもよい。
【0196】
事前学習装置400は、既存技術に係る装置である。事前学習装置400は、多言語データ格納部410、多言語モデル学習部420、事前学習済み多言語モデル格納部430を有する。多言語モデル学習部420が、少なくとも単語対応を求める対象となる二つの言語の単言語テキストを多言語データ格納部410から読み出すことにより、言語モデルを学習し、当該言語モデルを事前学習済み多言語モデルとして、事前学習済み多言語モデル格納部230に格納する。
【0197】
なお、実施例2では、何等かの手段で学習された事前学習済みの多言語モデルが言語横断スパン予測モデル学習部310に入力されればよいため、事前学習装置400を備えずに、例えば、一般に公開されている汎用の事前学習済みの多言語モデルを用いることとしてもよい。
【0198】
実施例2における事前学習済み多言語モデルは、少なくとも単語対応を求める対象となる二つの言語の単言語テキストを用いて事前に訓練された言語モデルである。実施例2では、当該言語モデルとして、multilingual BERTを使用するが、それに限定されない。XLM-RoBERTa等、多言語テキストに対して文脈を考慮した単語埋め込みベクトルを出力できる事前学習済み多言語モデルであればどのような言語モデルを使用してもよい。
【0199】
なお、単語対応装置300を学習装置と呼んでもよい。また、単語対応装置300は、言語横断スパン予測モデル学習部310を備えずに、単語対応実行部320を備えてもよい。また、言語横断スパン予測モデル学習部310が単独で備えられた装置を学習装置と呼んでもよい。
【0200】
(単語対応装置300の動作概要)
図12は、単語対応装置300の全体動作を示すフローチャートである。S300において、言語横断スパン予測モデル学習部310に、事前学習済み多言語モデルが入力され、言語横断スパン予測モデル学習部310は、事前学習済み多言語モデルに基づいて、言語横断スパン予測モデルを学習する。
【0201】
S400において、単語対応実行部320に、S300で学習された言語横断スパン予測モデルが入力され、単語対応実行部320は、言語横断スパン予測モデルを用いて、入力文対(互いに翻訳である二つの文)における単語対応を生成し、出力する。
【0202】
<S300>
図13のフローチャートを参照して、上記のS300における言語横断スパン予測モデルを学習する処理の内容を説明する。ここでは、事前学習済み多言語モデルが既に入力され、スパン予測モデル学習部324の記憶装置に事前学習済み多言語モデルが格納されているとする。また、単語対応正解データ格納部311には、単語対応正解データが格納されている。
【0203】
S301において、言語横断スパン予測問題回答生成部312は、単語対応正解データ格納部311から、単語対応正解データを読み出し、読み出した単語対応正解データから言語横断スパン予測正解データを生成し、言語横断スパン予測正解データ格納部313に格納する。言語横断スパン予測正解データは、言語横断スパン予測問題(質問と文脈)とその回答の対の集合からなるデータである。
【0204】
S302において、スパン予測モデル学習部314は、言語横断スパン予測正解データ及び事前学習済み多言語モデルから言語横断スパン予測モデルを学習し、学習した言語横断スパン予測モデルを言語横断スパン予測モデル格納部315に格納する。
【0205】
<S400>
次に、
図14のフローチャートを参照して、上記のS400における単語対応を生成する処理の内容を説明する。ここでは、スパン予測部322に言語横断スパン予測モデルが既に入力され、スパン予測部322の記憶装置に格納されているものとする。
【0206】
S401において、言語横断スパン予測問題生成部321に、第一言語文と第二言語文の対を入力する。S402において、言語横断スパン予測問題生成部321は、入力された文の対から言語横断スパン予測問題(質問と文脈)を生成する。
【0207】
次に、S403において、スパン予測部322は、言語横断スパン予測モデルを用いて、S402で生成された言語横断スパン予測問題に対してスパン予測を行って回答を得る。
【0208】
S404において、単語対応生成部323は、S403で得られた言語横断スパン予測問題の回答から、単語対応を生成する。S405において、単語対応生成部323は、S404で生成した単語対応を出力する。
【0209】
(実施例2:具体的な処理内容の説明)
以下、実施例2における単語対応装置300の処理内容をより具体的に説明する。
【0210】
<単語対応からスパン予測への定式化>
前述したように、実施例2では、単語対応の処理を言語横断スパン予測問題の処理として実行することとしている。そこで、まず、単語対応からスパン予測への定式化について、例を用いて説明する。単語対応装置300との関連では、ここでは主に言語横断スパン予測モデル学習部310について説明する。
【0211】
――単語対応データについて――
図15に、日本語と英語の単語対応データの例を示す。これは一つの単語対応データの例である。
図15に示すとおり、一つの単語対応データは、第一言語(日本語)のトークン(単語)列、第二言語(英語)のトークン列、対応するトークン対の列、第一言語の原文、第二言語の原文の5つデータから構成される。
【0212】
第一言語(日本語)のトークン列、第二言語(英語)のトークン列はいずれもインデックス付けされている。トークン列の最初の要素(最も左にあるトークン)のインデックスである0から始まり、1、2、3、...のようにインデックス付けされている。
【0213】
例えば、3つ目のデータの最初の要素"0-1"は、第一言語の最初の要素"足利"が、第二言語の二番目の要素"ashikaga"に対応することを表す。また、"24-2 25-2 26-2"は、"で"、"あ"、"る"がいずれも"was"に対応することを表す。
【0214】
実施例2では、単語対応を、SQuAD形式の質問応答タスク[18]と同様の言語横断スパン予測問題として定式化している。
【0215】
SQuAD形式の質問応答タスクを行う質問応答システムには、Wikipediaから選択された段落等の「文脈(context)」と「質問(question)」が与えられ、質問応答システムは、文脈の中の「スパン(span,部分文字列)」を「回答(answer)」として予測する。
【0216】
上記のスパン予測と同様にして、実施例2の単語応答装置300における単語対応実行部320は、目的言語文を文脈と見なし、原言語文の単語を質問と見なして、原言語文の単語の翻訳となっている、目的言語文の中の単語又は単語列を、目的言語文のスパンとして予測する。この予測には、実施例2における言語横断スパン予測モデルが用いられる。
【0217】
――言語横断スパン予測問題回答生成部312について――
実施例2では、単語対応装置300の言語横断スパン予測モデル学習部310において言語横断スパン予測モデルの教師あり学習を行うが、学習のためには正解データが必要である。
【0218】
実施例2では、
図15に例示したような単語対応データが複数個、言語横断スパン予測モデル学習部310の単語対応正解データ格納部311に正解データとして格納され、言語横断スパン予測モデルの学習に使用される。
【0219】
ただし、言語横断スパン予測モデルは、言語横断で質問から回答(スパン)を予測するモデルであるため、言語横断で質問から回答(スパン)を予測する学習を行うためのデータ生成を行う。具体的には、単語対応データを言語横断スパン予測問題回答生成部312への入力とすることで、言語横断スパン予測問題回答生成部312が、単語対応データから、SQuAD形式の言語横断スパン予測問題(質問)と回答(スパン、部分文字列)の対を生成する。以下、言語横断スパン予測問題回答生成部312の処理の例を説明する。
【0220】
図16に、
図15に示した単語対応データをSQuAD形式のスパン予測問題に変換する例を示す。
【0221】
まず、
図16の(a)で示す上半分の部分について説明する。
図16における上半分(文脈、質問1、回答の部分)には、単語対応データの第一言語(日本語)の文が文脈として与えられ、第二言語(英語)のトークン"was"が質問1として与えられ、その回答が第一言語の文のスパン"である"であることが示されている。この"である"と"was"との対応は、
図15の3つ目のデータの対応トークン対"24-2 25-2 26-2"に相当する。つまり、言語横断スパン予測問題回答生成部312は、正解の対応トークン対に基づいて、SQuAD形式のスパン予測問題(質問と文脈)と回答の対を生成する。
【0222】
後述するように、実施例2では、単語対応実行部320のスパン予測部322が、言語横断スパン予測モデルを用いて、第一言語文(質問)から第二言語文(回答)への予測と、第二言語文(質問)から第一言語文(回答)への予測のそれぞれの方向についての予測を行う。従って、言語横断スパン予測モデルの学習時にも、このように双方向で予測を行うように学習を行う。
【0223】
なお、上記のように双方向で予測を行うことは一例である。第一言語文(質問)から第二言語文(回答)への予測のみ、又は、第二言語文(質問)から第一言語文(回答)への予測のみの片方向だけの予測を行うこととしてもよい。例えば、英語教育等において、英語文と日本語文が同時に表示されていて、英語文の任意の文字列(単語列)をマウス等で選択してその対訳となる日本語文の文字列(単語列)をその場で計算して表示する処理などの場合には、片方向だけの予測でよい。
【0224】
そのため、実施例2の言語横断スパン予測問題回答生成部312は、一つの単語対応データを、第一言語の各トークンから第二言語の文の中のスパンを予測する質問の集合と、第二言語の各トークンから第一言語の文の中のスパンを予測する質問の集合に変換する。つまり、言語横断スパン予測問題回答生成部312は、一つの単語対応データを、第一言語の各トークンからなる質問の集合及びそれぞれの回答(第二言語の文の中のスパン)と、第二言語の各トークンからなる質問の集合及びそれぞれの回答(第一言語の文の中のスパン)とに変換する。
【0225】
もしも一つのトークン(質問)が複数のスパン(回答)に対応する場合は、その質問は複数の回答を持つと定義する。つまり、言語横断スパン予測問題回答生成部112は、その質問に対して複数の回答を生成する。また、もしも、あるトークンに対応するスパンがない場合、その質問は回答がないと定義する。つまり、言語横断スパン予測問題回答生成部312は、その質問に対する回答をなしとする。
【0226】
実施例2では、質問の言語を原言語と呼び、文脈と回答(スパン)の言語を目的言語と呼んでいる。
図16に示す例では、原言語は英語であり、目的言語は日本語であり、この質問を「英語から日本語(English-to-Japanese)」への質問と呼ぶ。
【0227】
もしも質問が"of"のような高頻度の単語であった場合、原言語文に複数回出現する可能性があるので、原言語文におけるその単語の文脈を考慮しなければ、目的言語文の対応するスパンを見つけることが難しくなる。そこで、実施例2の言語横断スパン予測問題回答生成部312は、文脈付きの質問を生成することとしている。
【0228】
図16の(b)で示す下半分の部分に、原言語文の文脈付きの質問の例を示す。質問2では、質問である原言語文のトークン"was"に対して、文脈の中の直前の二つのトークン"Yoshimitsu ASHIKAGA"と直後の二つのトークン"the 3rd"が'¶'を境界記号(boundary marker)として付加されている。
【0229】
また、質問3では、原言語文全体を文脈として使用し、2つの境界記号で質問となるトークンを挟むようにしている。実験で後述するように、質問に付加される文脈は長ければ長いほどよいので、実施例2では、質問3のように原言語文全体を質問の文脈として使用している。
【0230】
上記のとおり、実施例2では、境界記号として段落記号(paragraph mark)'¶'を使用している。この記号は英語ではピルクロウ(pilcrow)と呼ばれる。ピルクロウは、ユニコード文字カテゴリ(Unicode character category)の句読点(punctuation)に所属し、多言語BERTの語彙の中に含まれ、通常のテキストにはほとんど出現しないことから、実施例2において、質問と文脈を分ける境界記号としている。同様の性質を満足する文字又は文字列であれば、境界記号は何を使用してもよい。
【0231】
また、単語対応データの中には、空対応(null alignment,対応先がないこと)が多く含まれている。そこで、実施例2では、SQuADv2.0[17]の定式化を使用している。SQuADv1.1とSQuADV2.0の違いは、質問に対する回答が文脈の中に存在しない可能性を明示的に扱うことである。
【0232】
つまり、SQuADV2.0の形式では、回答できない質問には回答できないことが明示的に示されるため、単語対応データの中の空対応(null alignment,対応先がないこと)に対して、適切に質問と回答(回答できないこと)を生成できる。
【0233】
単語対応データに依存して、単語分割を含むトークン化(tokenization)や大文字小文字(casing)の扱いが異なるので、実施例2では、原言語文のトークン列は、質問を作成する目的だけに使用することとしている。
【0234】
そして、言語横断スパン予測問題回答生成部312が、単語対応データをSQuAD形式に変換する際には、質問と文脈には、トークン列ではなく、原文を使用する。すなわち、言語横断スパン予測問題回答生成部312は、回答として、目的言語文(文脈)からスパンの単語又は単語列とともに、スパンの開始位置と終了位置を生成するが、その開始位置と終了位置は、目的言語文の原文の文字位置へのインデックスとなる。
【0235】
なお、従来技術における単語対応手法は、トークン列を入力とする場合が多い。すなわち、
図15の単語対応データの例でいえば、最初の2つのデータが入力であることが多い。それに対して実施例2では、原文とトークン列の両方を言語横断スパン予測問題回答生成部312への入力とすることにより、任意のトークン化に対して柔軟に対応できるシステムになっている。
【0236】
言語横断スパン予測問題回答生成部312により生成された、言語横断スパン予測問題(質問と文脈)と回答の対のデータは、言語横断スパン予測正解データ格納部313に格納される。
【0237】
――スパン予測モデル学習部314について――
スパン予測モデル学習部314は、言語横断スパン予測正解データ格納部313から読み出した正解データを用いて、言語横断スパン予測モデルの学習を行う。すなわち、スパン予測モデル学習部314は、言語横断スパン予測問題(質問と文脈)を言語横断スパン予測モデルに入力し、言語横断スパン予測モデルの出力が正解の回答になるように、言語横断スパン予測モデルのパラメータを調整する。この学習は、第一言語文から第二言語文への言語横断スパン予測と、第二言語文から第一言語文への言語横断スパン予測のそれぞれで行われる。
【0238】
学習された言語横断スパン予測モデルは、言語横断スパン予測モデル格納部315に格納される。また、単語対応実行部320により、言語横断スパン予測モデル格納部315から言語横断スパン予測モデルが読み出され、スパン予測部322に入力される。
【0239】
言語横断スパン予測モデルの詳細を以下で説明する。また、単語対応実行部320の処理の詳細も以下で説明する。
【0240】
<多言語BERTを用いた言語横断スパン予測>
既に説明したとおり、実施例2における単語対応実行部320のスパン予測部322は、言語横断スパン予測モデル学習部310により学習された言語横断スパン予測モデルを用いて、入力された文の対から単語対応を生成する。つまり、入力された文の対に対して言語横断スパン予測を行うことで、単語対応を生成する。
【0241】
――言語横断スパン予測モデルについて――
実施例2において、言語横断スパン予測のタスクは次のように定義される。
【0242】
長さ|X|文字の原言語文X=x1x2...x|X|、及び、長さ|Y|文字の目的言語文Y=y1y2...y|Y|があるとする。原言語文において文字位置iから文字位置jまでの原言語トークンxi:j=xi...xjに対して、目的言語文において文字位置kから文字位置lまでの目的言語スパンyk:l=yk...ylを抽出することが言語横断スパン予測のタスクである。
【0243】
単語対応実行部320のスパン予測部322は、言語横断スパン予測モデル学習部310により学習された言語横断スパン予測モデルを用いて、上記のタスクを実行する。実施例2でも、言語横断スパン予測モデルとして多言語BERT[5]を用いている。
【0244】
BERTは、実施例2における言語横断タスクに対しても非常に良く機能する。なお、実施例2において使用する言語モデルはBERTに限定されるわけではない。
【0245】
より具体的には、実施例2においては、一例として、文献[5]に開示されたSQuADv2.0タスク用のモデルと同様のモデルを言語横断スパン予測モデルとして使用している。これらのモデル(SQuADv2.0タスク用のモデル、言語横断スパン予測モデル)は、事前訓練されたBERTに文脈中の開始位置と終了位置を予測する二つの独立した出力層を加えたモデルである。
【0246】
言語横断スパン予測モデルにおいて、目的言語文の各位置が回答スパンの開始位置と終了位置になる確率をpstart及びpendとし、原言語スパンxi:jが与えられた際の目的言語スパンyk:lのスコアωX→Y
ijklを開始位置の確率と終了位置の確率の積と定義し、この積を最大化する(^k,^l)を最良回答スパン(best answer span)としている。
【0247】
【0248】
【数34】
SQuADv2.0タスク用のモデル及び言語横断スパン予測モデルのようなBERTのSQuADモデルでは、まず質問と文脈が連結された"[CLS]question[SEP]context[SEP]"という系列を入力とする。ここで[CLS]と[SEP]は、それぞれ分類トークン(classification token)と分割トークン(separator token)と呼ぶ。そして開始位置と終了位置はこの系列に対するインデックスとして予測される。回答が存在しない場合を想定するSQuADv2.0モデルでは、回答が存在しない場合、開始位置と終了位置は[CLS]へのインデックスとなる。
【0249】
実施例2における言語横断スパン予測モデルと、文献[5]に開示されたSQuADv2.0タスク用のモデルとは、ニューラルネットワークとしての構造は基本的には同じであるが、SQuADv2.0タスク用のモデルは単言語の事前学習済み言語モデルを使用し、同じ言語の間でスパンを予測するようなタスクの学習データでfine-tune(追加学習/転移学習/微調整/ファインチューン)するのに対して、実施例2の言語横断スパン予測モデルは、言語横断スパン予測に係る二つの言語を含む事前学習済み多言語モデルを使用し、二つの言語の間でスパンを予測するようなタスクの学習データでfine-tuneする点が異なっている。
【0250】
なお、既存のBERTのSQuADモデルの実装では、回答文字列を出力するだけであるが、実施例2の言語横断スパン予測モデルは、開始位置と終了位置を出力することができるように構成されている。
【0251】
BERTの内部において、つまり、実施例2の言語横断スパン予測モデルの内部において、入力系列は最初にトークナイザ(例:WordPiece)によりトークン化され、次にCJK文字(漢字)は一つの文字を単位として分割される。
【0252】
既存のBERTのSQuADモデルの実装では、開始位置や終了位置はBERT内部のトークンへのインデックスであるが、実施例2の言語横断スパン予測モデルではこれを文字位置へのインデックスとしている。これにより単語対応を求める入力テキストのトークン(単語)とBERT内部のトークンとを独立に扱うことを可能としている。
【0253】
図17は、実施例2の言語横断スパン予測モデルを用いて、質問となる原言語文(英語)の中のトークン"Yoshimitsu"に対して、目的言語文(日本語)の文脈から、回答となる目的言語(日本語)スパンを予測した処理を示している。
図17に示すとおり、"Yoshimitsu"は4つのBERTトークンから構成されている。なお、BERT内部のトークンであるBERTトークンには、前の語彙との繋がりを表す「##」(接頭辞)が追加されている。また、入力トークンの境界は点線で示されている。なお、本実施の形態では、「入力トークン」と「BERTトークン」を区別している。前者は学習データにおける単語区切りの単位であり、
図17において破線で示されている単位である。後者はBERTの内部で使用されている区切りの単位であり、
図17において空白で区切られている単位である。
【0254】
図17に示す例では、回答として、"義満","義満(あしかがよしみつ","足利義満","義満(","義満(あしかがよし"の5つの候補が示され、"義満"が正解である。
【0255】
BERTにおいては、BERT内部のトークンを単位としてスパンを予測するので、予測されたスパンは、必ずしも入力のトークン(単語)の境界と一致しない。そこで、実施例2では、"義満(あしかがよし"のように目的言語のトークン境界と一致しない目的言語スパンに対しては、予測された目的言語スパンに完全に含まれている目的言語の単語、すなわちこの例では"義満","(","あしかが"を原言語トークン(質問)に対応させる処理を行っている。この処理は、予測時だけに行われるものであり、単語対応生成部323により行われる。学習時には、スパン予測の第1候補と正解を開始位置及び終了位置に関して比較する損失関数に基づく学習が行われる。
【0256】
――言語横断スパン予測問題生成部321、スパン予測部322について――
言語横断スパン予測問題生成部321は、入力された第一言語文と第二言語文のそれぞれに対し、質問と文脈が連結された"[CLS]question[SEP]context[SEP]"の形式のスパン予測問題を質問(入力トークン(単語))毎に作成し、スパン予測部122へ出力する。ただし、questionは、前述したように、「"Yoshimitsu ASHIKAGA ¶ was ¶ the 3rd Seii Taishogun of the Muromachi Shogunate and reigned from 1368 to1394.」のように、¶を境界記号に使用した文脈付きの質問としている。
【0257】
言語横断スパン予測問題生成部321により、第一言語文(質問)から第二言語文(回答)へのスパン予測の問題と、第二言語文(質問)から第一言語文(回答)へのスパン予測の問題が生成される。
【0258】
スパン予測部322は、言語横断スパン予測問題生成部121により生成された各問題(質問と文脈)を入力することで、質問毎に回答(予測されたスパン)と確率を算出し、質問毎の回答(予測されたスパン)と確率を単語対応生成部323に出力する。
【0259】
なお、上記の確率は、最良回答スパンにおける開始位置の確率と終了位置の確率の積である。単語対応生成部323の処理については以下で説明する。
【0260】
<単語対応の対称化>
実施例2の言語横断スパン予測モデルを用いたスパン予測では、原言語トークンに対して目的言語スパンを予測するので、参考文献[1]に記載のモデルと同様に、原言語と目的言語は非対称である。実施例2では、スパン予測に基づく単語対応の信頼性を高めるために、双方向の予測を対称化する方法を導入している。
【0261】
まず、参考として、単語対応を対称化する従来例を説明する。参考文献[1]に記載のモデルに基づく単語対応を対称化する方法は、文献[16]により最初に提案された。代表的な統計翻訳ツールキットMoses[11]では、集合積(intersection)、集合和(union)、grow-diag-final等のヒューリスティクスが実装され、grow-diag-finalがデフォールトである。二つの単語対応の集合積(共通集合)は、適合率(precision)が高く、再現率(recall)が低い。二つの単語対応の集合和(和集合)は、適合率が低く、再現率が高い。grow-diag-finalは集合積と集合和の中間的な単語対応を求める方法である。
【0262】
――単語対応生成部323について――
実施例2では、単語対応生成部323が、各トークンに対する最良スパンの確率を、二つの方向について平均し、これが予め定めた閾値以上であれば、対応しているとみなす。この処理は、単語対応生成部323が、スパン予測部322(言語横断スパン予測モデル)からの出力を用いて実行する。なお、
図17を参照して説明したとおり、回答として出力される予測されたスパンは必ずしも単語区切りと一致しないので、単語対応生成部323は、予測スパンを片方向の単語単位の対応になるよう調整する処理も実行する。単語対応の対称化について、具体的には下記のとおりである。
【0263】
文Xにおいて開始位置i、終了位置jのスパンをxi:jとする。文Yにおいて開始位置k、終了位置lのスパンをyk:lとする。トークンxi:jがスパンyk:lを予測する確率をωX→Y
ijklとし、トークンyk:lがスパンxi:jを予測する確率をωY→X
ijklとする。トークンxi:jとトークンyk:lの対応aijklの確率をωijklとするとき、本実施の形態では、ωijklを、xi:jから予測した最良スパンy^k:^lの確率ωX→Y
ij^k^lと、yk:lから予測した最良スパンx^i:^jの確率ωY→X
^i^jklの平均として算出する。
【0264】
【数35】
ここでI
A(x)は指標関数(indicator function)である。I
A(x)は、Aが真のときxを返し、それ以外は0を返す関数である。本実施の形態では、ω
ijklが閾値以上のときにx
i:jとy
k:lが対応するとみなす。ここでは閾値を0.4とする。ただし、0.4は例であり、0.4以外の値を閾値として使用してもよい。
【0265】
実施例2で使用する対称化の方法を双方向平均(bidirectional average,bidi-avg)と呼ぶことにする。双方向平均は、実装が簡単であり、集合和と集合積の中間となる単語対応を求めるという点では、grow-diag-finalと同等の効果がある。なお、平均を用いることは一例である。例えば、確率ωX→Y
ij^k^lと確率ωY→X
^i^jklの重み付き平均を用いてもよいし、これらのうちの最大値を用いてもよい。
【0266】
図18に、日本語から英語へのスパン予測(a)と英語から日本語へのスパン予測(b)を双方向平均により対称化したもの(c)を示す。
【0267】
図18の例において、例えば、"言語"から予測した最良スパン"language"の確率ω
X→Y
ij^k^lが0.8であり、"language"から予測した最良スパン"言語"の確率ω
Y→X
^i^jklが0.6であり、その平均が0.7である。0.7は閾値以上であるので、"言語"と"language"は対応すると判断できる。よって、単語対応生成部123は、"言語"と"language"の単語対を、単語対応の結果の1つとして生成し、出力する。
【0268】
図18の例において、"is"と"で"という単語対は、片方向(英語から日本語)からしか予測されていないが、双方向平均確率が閾値以上なので対応しているとみなされる。
【0269】
閾値0.4は、後述する日本語と英語の単語対応の学習データを半分に分け、片方を訓練データ、もう片方をテストデータとする予備実験により決定した閾値である。後述する全ての実験でこの値を使用した。各方向のスパン予測は独立に行われるので、対称化のためにスコアを正規化する必要が生じる可能性があるが、実験では双方向を一つのモデルで学習しているので正規化の必要はなかった。
【0270】
(実施例2:実施の形態の効果)
実施例2で説明した単語対応装置300により、単語対応を付与する言語対に関する大量の対訳データを必要とせず、従来よりも少量の教師データ(人手により作成された正解データ)から、従来よりも高精度な教師あり単語対応を実現できる。
【0271】
(実施例2:実験について)
実施例2に係る技術を評価するために、単語対応の実験を行ったので、以下、実験方法と実験結果について説明する。
【0272】
<実施例2:実験データについて>
図19に、中国語-英語(Zh-En)、日本語-英語(Ja-En)、ドイツ語-英語(De-En)、ルーマニア語-英語(Ro-En)、英語-フランス語(En-Fr)の5つの言語対について、人手により作成した単語対応の正解(gold word alignment)の訓練データとテストデータの文数を示す。また、
図19の表にはリザーブしておくデータの数も示されている。
【0273】
従来技術[20]を用いた実験では、Zh-Enデータを使用し、従来技術[9]の実験では、De-En,Ro-En,En-Frのデータを使用した。本実施の形態の技術に係る実験では、世界で最も遠い(distant)言語対の一つであるJa-Enデータを加えた。
【0274】
Zh-Enデータは、GALE Chinese-English Parallel Aligned Treebank[12]から得たもので、ニュース放送(broadcasting news)、ニュース配信(news wire)、Webデータ等を含む。文献[20]に記載されている実験条件にできるだけ近付けるために、中国語が文字単位で分割された(character tokenized)対訳テキストを使用し、対応誤りやタイムスタンプ等を取り除いてクリーニングし、無作為に訓練データ80%,テストデータ10%,リザーブ10%に分割した。
【0275】
日本語-英語データとして、KFTT単語対応データ[14]を用いた。Kyoto Free Translation Task (KFTT)(http://www.phontron.com/kftt/index.html)は、京都に関する日本語Wikipediaの記事を人手により翻訳したものであり、44万文の訓練データ、1166文の開発データ、1160文のテストデータから構成される。KFTT単語対応データは、KFTTの開発データとテストデータの一部に対して人手で単語対応を付与したもので、開発データ8ファイルとテストデータ7ファイルからなる。本実施の形態に係る技術の実験では、開発データ8ファイルを訓練に使用し、テストデータのうち4ファイルをテストに使用して、残りはリザーブとした。
【0276】
De-En,Ro-En,En-Frデータは、文献[27]に記載されているものである、著者らは前処理と評価のためのスクリプトを公開している(https://github.com/lilt/alignment-scripts)。従来技術[9]では、これらのデータを実験に使用している。De-Enデータは文献[24](https://www-i6.informatik.rwth-aachen.de/goldAlignment/)に記載されている。Ro-EnデータとEn-Frデータは、HLT-NAACL-2003 workshop on Building and Using Parallel Texts[13](https://eecs.engin.umich.edu/)の共通タスクとして提供されたものである。En-Frデータは、もともと文献[15]に記載されている。De-En,Ro-En,En-Frデータの文数は508,248,447である。De-EnとEn-Frについて、本実施の形態では300文を訓練に使用し、Ro-Enについては150 文を訓練に使用した。残りの文はテストに使用した。
【0277】
<単語対応の精度の評価尺度>
単語対応の評価尺度として、実施例2では、適合率(precision)と再現率(recall)に対して等しい重みをもつF1スコアを用いる。
【0278】
【数36】
一部の従来研究はAER(alignment error rate,単語誤り率)[16]しか報告していないので、従来技術と本実施の形態に係る技術との比較のためにAERも使用する。
【0279】
人手で作成した正解単語対応(gold word alignment)が確実な対応(sure,S)と可能な対応(possible,P)から構成されるとする。ただしS⊆Pである。単語対応Aの適合率(precision)、再現率(recall)、AERを以下のように定義する。
【0280】
【0281】
【0282】
【数39】
文献[7]では、AERは適合率を重視し過ぎるので欠陥があると指摘している。つまり、システムにとって確信度が高い少数の対応点だけを出力すると、不当に小さい(=良い)値を出すことができる。従って、本来、AERは使用すべきではない。しかし、従来手法では、文献[9]がAERを使用している。もしも、sureとpossibleの区別をすると、再現率と適合率は、sureとpossibleの区別をしない場合と異なることに注意が必要である。5つのデータのうち、De-EnとEn-Frにはsure とpossibleの区別がある。
【0283】
<単語対応の精度の比較>
図20に、実施例2に係る技術と従来技術との比較を示す。5つの全てのデータについて実施例2に係る技術は全ての従来技術よりも優れている。
【0284】
例えばZh-Enデータでは、実施例2に係る技術はF1スコア86.7を達成し、教師あり学習による単語対応の現在最高精度(state-of-the-art)である文献[20]に報告されているDiscAlignのF1スコア73.4より13.3ポイント高い。文献[20]の方法は、翻訳モデルを事前訓練するために4百万文対の対訳データを使用しているのに対して、実施例2に係る技術では事前訓練に対訳データを必要としない。Ja-Enデータでは、実施例2はF1スコア77.6を達成し、これはGIZA++のF1スコア57.8より20ポイント高い。
【0285】
De-EN,Ro-EN,En-Frデータについては、教師なし学習による単語対応の現在最高精度を達成している文献[9]の方法がAERのみを報告しているので、本実施の形態でもAERで評価する。比較のために同じデータに対するMGIZAのAERや従来の他の手法のAERも記載する[22,10]。
【0286】
実験に際して、De-Enデータはsureとpossibleの両方の単語対応点を本実施の形態の学習に使用したが、En-Frデータはとても雑音が多いのでsureだけを使用した。De-En,Ro-En,En-Frデータに対する本実施の形態のAERは、11.4,12.2,4.0であり、文献[9]の方法より明らかに低い。
【0287】
教師あり学習の精度と教師なし学習の精度の精度を比較することは、機械学習の評価としては明らかに不公平である。もともと評価用に人手で作成された正解データよりも少ない量の正解データ(150文から300文程度)を使って、従来報告されている最高精度を上回る精度を達成できることができるので、教師あり単語対応は高い精度を得るための実用的な方法であることを示すことがこの実験の目的である。
【0288】
<実施例2:対称化の効果>
実施例2における対称化の方法である双方向平均(bidi-avg)の有効性を示すために、
図21に二方向の予測、集合積、集合和、grow-diag-final,bidi-avgの単語対応精度を示す。alignment単語対応精度は目的言語の正書法に大きく影響される。日本語や中国語のように単語と単語の間にスペースを入れない言語では、英語への(to-English)スパン予測精度は、英語からの(from-English)スパン予測精度より大きく高い。このような場合、grow-diag-finalの方がbidi-avgより良い。一方、ドイツ語、ルーマニア語、フランス語のように単語間にスペースを入れる言語では、英語へのスパン予測と英語からのスパン予測に大きな違いはなく、bidi-avgよりgrow-diag-finalの方がよい。En-Frデータでは集合積が、一番精度が高いが、これはもともとデータに雑音が多いためであると思われる。
【0289】
<原言語文脈の重要性>
図22に、原言語単語の文脈の大きさを変えた際の単語対応精度の変化を示す。ここではJa-Enデータを使用した。原言語単語の文脈は目的言語スパンの予測に非常に重要であることがわかる。
【0290】
文脈がない場合、実施例2のF1スコアは59.3であり、GIZA++のF1スコア57.6よりわずかに高い程度である。しかし前後2単語の文脈を与えるだけで72.0になり、文全体を文脈として与えると77.6になる。
【0291】
<学習曲線>
図23に、Zh-Enデータを使った場合における実施例2の単語対応手法の学習曲線を示す。学習データが多ければ多いほど精度が高いのは当然であるが、少ない学習データでも従来の教師あり学習手法より精度が高い。学習データが300文の際の本実施の形態に係る技術のF1スコア79.6は、現在最高精度である文献[20]の手法が4800文を使って学習した際のF1スコア73.4より6.2ポイント高い。
【0292】
(実施例2のまとめ)
以上説明したように、実施例2では、互いに翻訳になっている二つの文において単語対応を求める問題を、ある言語の文の各単語に対応する別の言語の文の単語又は連続する単語列(スパン)を独立に予測する問題(言語横断スパン予測)の集合として捉え、人手により作成された少数の正解データからニューラルネットワークを用いて言語横断スパン予測器を学習(教師あり学習)することにより、高精度な単語対応を実現している。
【0293】
言語横断スパン予測モデルは、複数の言語についてそれぞれの単言語テキストだけを使って作成された事前学習済み多言語モデルを、人手により作成された少数の正解データを用いてファインチューニングすることにより作成する。Transformer等の機械翻訳モデルをベースとする従来手法が翻訳モデルの事前学習に数百万文対の対訳データを必要とするのと比較すると、利用できる対訳文の量が少ない言語対や領域に対しても本実施の形態に係る技術を適用することができる。
【0294】
実施例2では、人手により作成された正解データが300文程度あれば、従来の教師あり学習や教師なし学習を上回る単語対応精度を達成することができる。文献[20]によれば、300文程度の正解データは数時間で作成することができるので、本実施の形態により、現実的なコストで高い精度の単語対応を得ることができる。
【0295】
また、実施例2では、単語対応を、SQuADv2.0形式の言語横断スパン予測タスクという汎用的な問題に変換したことにより、多言語の事前学習済みモデルや質問応答に関する最先端の技術を容易に取り入れて性能向上を図ることができる。例えば、より高い精度のモデルを作るためにXLM-RoBERTa[2]を用いたり、より少ない計算機資源で動くコンパクトなモデルを作るためにdistilmBERT[19]を使うことが可能である。
【0296】
[実施例2の参考文献]
[1] Peter F. Brown, Stephen A. Della Pietra, Vincent J. Della Pietra, and Robert L. Mercer. The Mathematics of Statistical Machine Translation: Parameter Estimation. Computational Linguistics,Vol. 19, No. 2, pp. 263-311, 1993.
[2] Alexis Conneau, Kartikay Khandelwal, Naman Goyal, Vishrav Chaudhary, Guillaume Wenzek, Francisco Guzm´an, Edouard Grave, Myle Ott, Luke Zettlemoyer, and Veselin Stoyanov. Unsupervised Cross-lingual Representation Learning at Scale. arXiv:1911.02116, 2019.
[3] Alexis Conneau and Guillaume Lample. Cross-lingual Language Model Pretraining. In Proceedings of NeurIPS-2019, pp. 7059-7069, 2019.
[4] John DeNero and Dan Klein. The Complexity of Phrase Alignment Problems. In Proceedings of the ACL-2008, pp. 25-28, 2008.
[5] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. In Proceedings of the NAACL-2019, pp. 4171-4186, 2019.
[6] Chris Dyer, Victor Chahuneau, and Noah A. Smith. A Simple, Fast, and Effective Reparameterization of IBM Model 2. In Proceedings of the NAACL-HLT-2013, pp. 644-648, 2013.
[7] Alexander Fraser and Daniel Marcu. MeasuringWord Alignment Quality for Statistical Machine Translation. Computational Linguistics, Vol. 33, No. 3, pp. 293-303, 2007.
[8] Qin Gao and Stephan Vogel. Parallel Implementations of Word Alignment Tool. In Proceedings of ACL 2008 workshop on Software Engineering, Testing, and Quality Assurance for Natural Language Processing, pp. 49-57, 2008.
[9] Sarthak Garg, Stephan Peitz, Udhyakumar Nallasamy, and Matthias Paulik. Jointly Learning to Align and Translate with Transformer Models. In Proceedings of the EMNLP-IJCNLP-2019, pp.4452-4461, 2019.
[10] Aria Haghighi, John Blitzer, John DeNero, and Dan Klein. Better Word Alignments with Supervised ITG Models. In Proceedings of the ACL-2009, pp. 923-931, 2009.
[11] Philipp Koehn, Hieu Hoang, Alexandra Birch, Chris Callison-Burch, Marcello Federico, Nicola Bertoldi, Brooke Cowan, Wade Shen, Christine Moran, Richard Zens, Chris Dyer, Ondrej Bojar, Alexandra Constantin, and Evan Herbst. Moses: Open Source Toolkit for Statistical Machine Translation. In Proceedings of the ACL-2007, pp. 177-180, 2007.
[12] Xuansong Li, Stephen Grimes, Stephanie Strassel, Xiaoyi Ma, Nianwen Xue, Mitch Marcus, and Ann Taylor. GALE Chinese-English Parallel Aligned Treebank - Training. Web Download, 2015. LDC2015T06.
[13] Rada Mihalcea and Ted Pedersen. An Evaluation Exercise for Word Alignment. In Proceedings of the HLT-NAACL 2003 Workshop on Building and Using Parallel Texts: Data Driven Machine Translation and Beyond, pp. 1-10, 2003.
[14] Graham Neubig. Kyoto Free Translation Task alignment data package. http://www.phontron.com/kftt/, 2011.
[15] Franz Josef Och and Hermann Ney. Improved Statistical Alignment Models. In Proceedings of ACL-2000, pp. 440-447, 2000.
[16] Franz Josef Och and Hermann Ney. A Systematic Comparison of Various Statistical Alignment Models. Computational Linguistics, Vol. 29, No. 1, pp. 19-51, 2003.
[17] Pranav Rajpurkar, Robin Jia, and Percy Liang. Know What You Don't Know: Unanswerable Questions for SQuAD. In Proceedings of the ACL-2018, pp. 784-789, 2018.
[18] Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and Percy Liang. SQuAD: 100,000+ Questions for Machine Comprehension of Text. In Proceedings of EMNLP-2016, pp. 2383-2392, 2016.
[19] Victor Sanh, Lysandre Debut, Julien Chaumond, and Thomas Wolf. DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter. arXiv:1910.01108, 2019.
[20] Elias Stengel-Eskin, Tzu ray Su, Matt Post, and Benjamin Van Durme. A Discriminative Neural Model for Cross-Lingual Word Alignment. In Proceedings of the EMNLP-IJCNLP-2019, pp. 910-920, 2019.
[21] Akihiro Tamura, Taro Watanabe, and Eiichiro Sumita. Recurrent Neural Networks for Word Alignment Model. In Proceedings of the ACL-2014, pp. 1470-1480, 2014.
[22] Ben Taskar, Simon Lacoste-Julien, and Dan Klein. A Discriminative Matching Approach to Word Alignment. In Proceedings of the HLT-EMNLP-2005, pp. 73-80, 2005.
[23] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention Is All You Need. In Proceedings of the NIPS 2017, pp. 5998-6008, 2017.
[24] David Vilar, Maja Popovi´c, and Hermann Ney. AER: Do we need to "improve" our alignments? In Proceedings of IWSLT-2006, pp. 2005-212, 2006.
[25] Stephan Vogel, Hermann Ney, and Christoph Tillmann. HMM-Based Word Alignment in Statistical Translation. In Proceedings of COLING-1996, 1996.
[26] Nan Yang, Shujie Liu, Mu Li, Ming Zhou, and Nenghai Yu. Word Alignment Modeling with Context Dependent Deep Neural Network. In Proceedings of the ACL-2013, pp. 166-175, 2013.
[27] Thomas Zenkel, Joern Wuebker, and John DeNero. Adding Interpretable Attention to Neural Translation Models Improves Word Alignment. arXiv:1901.11359, 2019.
(付記)
本明細書には、少なくとも下記付記各項の対応装置、学習装置、対応方法、プログラム、及び記憶媒体が開示されている。なお、下記の付記項1、6、10の「ドメイン横断のスパン予測問題とその回答からなるデータを用いて作成したスパン予測モデルを用いて、前記スパン予測問題の回答となるスパンを予測する」について、「ドメイン横断のスパン予測問題とその回答からなる」は「データ」に係り、「....データを用いて作成した」は「スパン予測モデル」に係る。
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
第一ドメイン系列情報と第二ドメイン系列情報とを入力とし、前記第一ドメイン系列情報と前記第二ドメイン系列情報との間のスパン予測問題を生成し、
ドメイン横断のスパン予測問題とその回答からなるデータを用いて作成したスパン予測モデルを用いて、前記スパン予測問題の回答となるスパンを予測する
対応装置。
(付記項2)
前記スパン予測モデルは、前記データを用いて事前学習済みモデルの追加学習を行うことにより得られたモデルである
付記項1に記載の対応装置。
(付記項3)
前記第一ドメイン系列情報及び前記第二ドメイン系列情報における系列情報は文書であり、
前記プロセッサは、前記第一ドメイン系列情報から前記第二ドメイン系列情報へのスパン予測における第一スパンの質問により第二スパンを予測する確率と、前記第二ドメイン系列情報から前記第一ドメイン系列情報へのスパン予測における、前記第二スパンの質問により前記第一スパンを予測する確率とに基づいて、前記第一スパンの文集合と前記第二スパンの文集合とが対応するか否かを判断する
付記項1又は2に記載の対応装置。
(付記項4)
前記プロセッサは、前記第一ドメイン系列情報と前記第二ドメイン系列情報との間の文集合の対応関係のコストの和が最小となるように、整数線形計画問題を解くことによって、前記第一ドメイン系列情報と前記第二ドメイン系列情報との間の文集合の対応を生成する
付記項3に記載の対応装置。
(付記項5)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
第一ドメイン系列情報と第二ドメイン系列情報とを有する対応データから、スパン予測問題とその回答とを有するデータを生成し、
前記データを用いて、スパン予測モデルを生成する
学習装置。
(付記項6)
コンピュータが、
第一ドメイン系列情報と第二ドメイン系列情報とを入力とし、前記第一ドメイン系列情報と前記第二ドメイン系列情報との間のスパン予測問題を生成する問題生成ステップと、
ドメイン横断のスパン予測問題とその回答からなるデータを用いて作成したスパン予測モデルを用いて、前記スパン予測問題の回答となるスパンを予測するスパン予測ステップと
を行う対応方法。
(付記項7)
コンピュータが、
第一ドメイン系列情報と第二ドメイン系列情報とを有する対応データから、スパン予測問題とその回答とを有するデータを生成する問題回答生成ステップと、
前記データを用いて、スパン予測モデルを生成する学習ステップと
を行う学習方法。
(付記項8)
コンピュータを、付記項1ないし4のうちいずれか1項に記載の対応装置として機能させるためのプログラム。
(付記項9)
コンピュータを、付記項5に記載の学習装置として機能させるためのプログラム。
(付記項10)
対応処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記対応処理は、
第一ドメイン系列情報と第二ドメイン系列情報とを入力とし、前記第一ドメイン系列情報と前記第二ドメイン系列情報との間のスパン予測問題を生成し、
ドメイン横断のスパン予測問題とその回答からなるデータを用いて作成したスパン予測モデルを用いて、前記スパン予測問題の回答となるスパンを予測する
非一時的記憶媒体。
(付記項11)
学習処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記学習処理は、
第一ドメイン系列情報と第二ドメイン系列情報とを有する対応データから、スパン予測問題とその回答とを有するデータを生成し、
前記データを用いて、スパン予測モデルを生成する
非一時的記憶媒体。
【0297】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0298】
100 文対応装置
110 言語横断スパン予測モデル学習部
111 文対応データ格納部
112 文対応生成部
113 文対応疑似正解データ格納部
114 言語横断スパン予測問題回答生成部
115 言語横断スパン予測疑似正解データ格納部
116 スパン予測モデル学習部
117 言語横断スパン予測モデル格納部
120 文対応実行部
121 単言語横断スパン予測問題生成部
122 スパン予測部
123 文対応生成部
200 事前学習装置
210 多言語データ格納部
220 多言語モデル学習部
230 事前学習済み多言語モデル格納部
300 単語対応装置
310 言語横断スパン予測モデル学習部
311 単語対応正解データ格納部
312 言語横断スパン予測問題回答生成部
313 言語横断スパン予測正解データ格納部
314 スパン予測モデル学習部
315 言語横断スパン予測モデル格納部
320 単語対応実行部
321 単言語横断スパン予測問題生成部
322 スパン予測部
323 単語対応生成部
400 事前学習装置
410 多言語データ格納部
420 多言語モデル学習部
430 事前学習済み多言語モデル格納部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置