(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-29
(45)【発行日】2023-06-06
(54)【発明の名称】翻訳方法、翻訳プログラム及び学習方法
(51)【国際特許分類】
G06F 40/44 20200101AFI20230530BHJP
G06F 40/289 20200101ALI20230530BHJP
【FI】
G06F40/44
G06F40/289
(21)【出願番号】P 2019067666
(22)【出願日】2019-03-29
【審査請求日】2021-12-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】三浦 明波
(72)【発明者】
【氏名】岩倉 友哉
【審査官】木村 大吾
(56)【参考文献】
【文献】特開2016-099675(JP,A)
【文献】米国特許出願公開第2014/0163951(US,A1)
【文献】鵜川新 他4名,固有表現情報を用いたニューラル機械翻訳,言語処理学会第24回年次大会 発表論文集[online],日本,言語処理学会,2018年03月05日,25-28頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
第1の言語で書かれた文を、前記文の中の固有表現を所定の文字列に置き換えた置換文に変換し、
前記置換文を、中間表現である文脈ベクトルに変換するエンコーダと、前記文脈ベクトルを基に、第2の言語の単語及び前記所定の文字列のいずれかを再帰的に出力するデコーダと、前記文脈ベクトルに基づくアテンションスコアを基に、前記デコーダが出力した前記所定の文字列に対応する固有表現を特定するアテンション機構と、を備えたニューラルネットワークである文翻訳モデルを用いて、前記置換文を
前記第2の言語に翻訳し、
ニューラルネットワークである固有表現翻訳モデルを用いて、
前記アテンション機構によって特定された前記固有表現を前記第2の言語に翻訳する
処理をコンピュータが実行することを特徴とする翻訳方法。
【請求項2】
前記変換する処理は、前記第1の言語で書かれた文を、前記所定の文字列にタグを付けた置換文に変換し、
前記置換文を前記第2の言語に翻訳する処理は、前記固有表現を、前記タグを基に前記第2の言語に翻訳する
ことを特徴とする請求項1に記載の翻訳方法。
【請求項3】
前記置換文を前記第2の言語に翻訳する処理は、
前記置換文に含まれる単語を出現順に並べた系列を入力とするLSTM(Long Short Term Memory)を用いて翻訳を行う
ことを特徴とする請求項1又は2に記載の翻訳方法。
【請求項4】
前記第1の言語で書かれた文の中の固有表現と、前記固有表現を翻訳する処理によって前記第2の言語に翻訳された固有表現とを対応付けて抽出する
処理をさらに実行することを特徴とする請求項1から3のいずれか1項に記載の翻訳方法。
【請求項5】
第1の言語で書かれた文を、前記文の中の固有表現を所定の文字列に置き換えた置換文に変換し、
前記置換文を、中間表現である文脈ベクトルに変換するエンコーダと、前記文脈ベクトルを基に、第2の言語の単語及び前記所定の文字列のいずれかを再帰的に出力するデコーダと、前記文脈ベクトルに基づくアテンションスコアを基に、前記デコーダが出力した前記所定の文字列に対応する固有表現を特定するアテンション機構と、を備えたニューラルネットワークである文翻訳モデルを用いて、前記置換文を
前記第2の言語に翻訳し、
ニューラルネットワークである固有表現翻訳モデルを用いて、
前記アテンション機構によって特定された前記固有表現を第2の言語に翻訳する
処理をコンピュータに実行させることを特徴とする翻訳プログラム。
【請求項6】
第1の言語で書かれた文の中の固有表現を所定の文字列に置き換えた置換文が入力された場合に、前記置換文を第2の言語に翻訳した文を出力するように、
前記置換文を、中間表現である文脈ベクトルに変換するエンコーダと、前記文脈ベクトルを基に、前記第2の言語の単語及び前記所定の文字列のいずれかを再帰的に出力するデコーダと、前記文脈ベクトルに基づくアテンションスコアを基に、前記デコーダが出力した前記所定の文字列に対応する固有表現を特定するアテンション機構と、を備えたニューラルネットワークである文翻訳モデルの学習を行い、
前記所定の文字列に置き換えられた固有表現が入力された場合に、
前記アテンション機構によって特定された前記固有表現を前記第2の言語に翻訳した表現を出力するように、ニューラルネットワークである固有表現翻訳モデルの学習を行う
処理をコンピュータが実行することを特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、翻訳方法、翻訳プログラム及び学習方法に関する。
【背景技術】
【0002】
従来、ニューラルネットワークを用いて翻訳を行うニューラル機械翻訳が知られている。ニューラル機械翻訳で用いられるニューラルネットワークは、ある言語で書かれた原文と他の言語で書かれた対訳文の組を教師データとして訓練される。また、ニューラル機械翻訳では、アテンション機構を備えたエンコーダ・デコーダモデルが使われる場合がある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の技術には、固有表現を適切に翻訳できない場合があるという問題がある。ここで、固有表現とは、人名や組織名等の固有名詞、日付や時間等の数的表現等を表す。また、固有表現とは、化学物質名や遺伝子名、薬品名等といった専門用語を含む拡張固有表現である。
【0005】
固有表現は、その種類が多いことに起因して、一般名詞や動詞、助詞等と比較して教師データにおける出現頻度が低くなる傾向があり、十分に学習されない場合がある。また、あらかじめ固有表現との対訳辞書を用意しておくことも考えられるが、その場合、対訳辞書に載っていない固有表現を翻訳することは難しく、また、全ての固有表現を網羅することは困難である。
【0006】
1つの側面では、固有表現を適切に翻訳することを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様では、翻訳方法は、第1の言語で書かれた文を、文の中の固有表現を所定の文字列に置き換えた置換文に変換する処理をコンピュータが実行する。また、翻訳方法は、ニューラルネットワークである文翻訳モデルを用いて、置換文を第2の言語に翻訳する処理をコンピュータが実行する。また、翻訳方法は、ニューラルネットワークである固有表現翻訳モデルを用いて、置換文の中の所定の文字列に対応する固有表現を第2の言語に翻訳する処理をコンピュータが実行する。
【発明の効果】
【0008】
1つの側面では、固有表現を適切に翻訳することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施例に係る翻訳装置の機能構成の一例を示す図である。
【
図2】
図2は、学習処理を説明するための図である。
【
図3】
図3は、翻訳処理を説明するための図である。
【
図4】
図4は、特定モデルを説明するための図である。
【
図5】
図5は、エンコーダデコーダを説明するための図である。
【
図6】
図6は、単語の出力について説明するための図である。
【
図7】
図7は、固有表現の翻訳処理を説明するための図である。
【
図8】
図8は、固有表現の翻訳処理を説明するための図である。
【
図9】
図9は、辞書情報の抽出について説明するための図である。
【
図10】
図10は、学習処理の流れを示すフローチャートである。
【
図11】
図11は、翻訳処理の流れを示すフローチャートである。
【
図12】
図12は、モデルによる処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、本発明に係る翻訳方法、翻訳プログラム及び学習方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。翻訳方法及び学習方法は翻訳装置により実行される。また、翻訳プログラムは翻訳装置において実行される。
【実施例1】
【0011】
[機能構成]
図1を用いて、実施例に係る翻訳装置の機能構成について説明する。
図1は、実施例に係る翻訳装置の機能構成の一例を示す図である。
図1に示すように、翻訳装置10は、インタフェース部11、記憶部12及び制御部13を有する。
【0012】
インタフェース部11は、他の装置との間のデータの入出力、及び他の装置との間でのデータの通信を行うためのインタフェースである。例えば、インタフェース部11は、キーボードやマウス等の入力装置、ディスプレイやスピーカ等の出力装置、USBメモリ等の外部記憶装置との間でデータの入出力を行う。また、例えば、インタフェース部11はNIC(Network Interface Card)であり、インターネットを介してデータの通信を行う。
【0013】
記憶部12は、データや制御部13が実行するプログラム等を記憶する記憶装置の一例であり、例えばハードディスクやメモリ等である。記憶部12は、特定モデル情報121、文翻訳モデル情報122、固有表現翻訳モデル情報123及び辞書情報124を記憶する。
【0014】
特定モデル情報121は、特定モデルを構築するための情報である。特定モデルは、第1の言語で書かれた文から固有表現を特定するためのモデルである。例えば、特定モデルは学習済みのニューラルネットワークである。この場合、特定モデル情報121は、ニューラルネットワークの重みやバイアスである。例えば、第1の言語は英語である。
【0015】
文翻訳モデル情報122は、文翻訳モデルを構築するための情報である。文翻訳モデルは、第1の言語で書かれた入力文を第2の言語に翻訳した出力文を出力する。また、入力文は、固有表現がプレースホルダに置き換えられた置換文であってもよい。例えば、文翻訳モデルは学習済みのニューラルネットワークである。このとき、文翻訳モデル情報122は、ニューラルネットワークの重みやバイアスである。例えば、第2の言語は日本語である。
【0016】
固有表現翻訳モデル情報123は、固有表現翻訳モデルを構築するための情報である。固有表現翻訳モデルは、第1の言語で書かれた固有表現を第2の言語に翻訳した表現を出力する。例えば、固有表現翻訳モデルは学習済みのニューラルネットワークである。このとき、固有表現翻訳モデル情報123は、ニューラルネットワークの重みやバイアスである。
【0017】
前述の通り、固有表現とは、人名や組織名等の固有名詞、日付や時間等の数的表現、化学物質名や遺伝子名、薬品名といった技術用語等である。なお、「表現」は、「語句(expression)」と言い換えてもよい。
【0018】
辞書情報124は、第1の言語で書かれた固有表現と、当該固有表現を第2の言語に翻訳した表現とを対応付けた情報である。辞書情報124は、外部から収集された情報であってもよいし、翻訳装置10における各処理の過程で得られた情報であってもよい。例えば、辞書情報124は、固有表現翻訳モデルの学習に用いられる。
【0019】
制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部13は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部13は、変換部131、学習部132、翻訳部133及び抽出部134を有する。
【0020】
変換部131は、第1の言語で書かれた文を、文の中の固有表現をプレースホルダに置き換えた置換文に変換する。このとき、変換部131は、特定モデル情報121を基に構築された特定モデルを使って固有表現を特定する。また、プレースホルダは、所定の文字列の一例である。
【0021】
学習部132は、第1の言語で書かれた文の中の固有表現を所定のプレースホルダに置き換えた置換文が入力された場合に、置換文を第2の言語に翻訳した文を出力するように、ニューラルネットワークである文翻訳モデルの学習を行う。また、学習部132は、プレースホルダに置き換えられた固有表現が入力された場合に、固有表現を第2の言語に翻訳した表現を出力するように、ニューラルネットワークである固有表現翻訳モデルの学習を行う。
【0022】
翻訳部133は、ニューラルネットワークである文翻訳モデルを用いて、置換文を第2の言語に翻訳する。このとき、翻訳部133は、置換文に含まれるプレースホルダは翻訳せずにそのまま出力する。そして、翻訳部133は、ニューラルネットワークである固有表現翻訳モデルを用いて、置換文の中のプレースホルダに対応する固有表現を第2の言語に翻訳する。
【0023】
抽出部134は、第1の言語で書かれた文の中の固有表現と、翻訳部133によって第2の言語に翻訳された固有表現とを対応付けて抽出する。抽出部134は、抽出した情報を辞書情報124として記憶部12に格納する。
【0024】
[学習処理]
以降、翻訳装置10による処理を詳細に説明する。まず、
図2を用いて、翻訳装置10による学習処理について説明する。
図2は、学習処理を説明するための図である。まず、教師データとして対訳文が用意されているものとする。対訳文は、第1の言語の文である原言語文と、当該原言語文を第2の言語に翻訳した目的言語文を含む。対訳文の目的言語文は人手で翻訳されたものであってもよい。
【0025】
変換部131は、対訳文の固有表現を特定し、特定した固有表現にタグを付けた固有表現タグ付き文を生成する(ステップS1a)。さらに、変換部131は、固有表現タグ付き文のタグが付いた表現をプレースホルダに置き換え、置換文に変換する(ステップS2a)。
【0026】
図2の例では、例えば、変換部131は、対訳文の原言語文の「demister」及び対訳文の目的言語文の「デミスタ」に「TECHNICAL」というタグを付け、「_technical1_」というプレースホルダに置き換える。変換部131は、技術用語を表すタグ「TECHNICAL」、サイズを表すタグ「SIZE」、数値を表すタグ「NUM」等を付ける。なお、タグは「<TECHNICAL>…</TECHNICAL>」のようなXMLタグであってよい。また、「_technical1_」、「_size1_」、「_num1_」等はプレースホルダの一例である。
【0027】
学習部132は、置換文を教師データとして文翻訳モデルの学習を行う(ステップS3a)。このため、文翻訳モデルは、固有表現をプレースホルダに置き換えた原言語文を、固有表現をプレースホルダに置き換えた目的言語文に翻訳できるようになる。一方で、文翻訳モデルは、プレースホルダに対応する固有表現は翻訳せずにそのまま出力する。
【0028】
学習部132は、フレーズ対訳文を教師データとして固有表現翻訳モデルの学習を行う(ステップS4a)。ここで、フレーズ対訳文とは、対訳文から特定された原言語文の固有表現と目的言語文の固有表現を対にした情報である。
図2の例では、フレーズ対訳文には、「demister」と「デミスタ」を対にした「demister:デミスタ」といった情報が含まれる。これにより、文翻訳モデルは、原言語の固有表現を目的言語の固有表現に翻訳できるようになる。また、学習部132は、適宜外部辞書の情報を取り入れて固有表現翻訳モデルの精度を向上させることができる。
【0029】
[翻訳処理]
次に、
図3を用いて、翻訳装置10による翻訳処理について説明する。
図3は、翻訳処理を説明するための図である。文翻訳モデル及び固有表現翻訳モデルは前述の学習処理において学習済みであるものとする。
【0030】
変換部131は、入力文の固有表現を特定し、特定した固有表現にタグを付けた固有表現タグ付き文を生成する(ステップS1b)。さらに、変換部131は、固有表現タグ付き文のタグが付いた表現をプレースホルダに置き換え、置換文に変換する(ステップS2b)。入力文は、第1の言語の文である原言語文である。ここでは、入力文は被翻訳文であり、入力文に対する翻訳文は未知であるものとする。
【0031】
図3の例では、例えば、変換部131は、対訳文の原言語文の「4cm2」に「SIZE」というタグを付け、「_size1_」というプレースホルダに置き換える。また、変換部131は、固有表現とプレースホルダをリスト化したプレースホルダリストを生成する。例えば、プレースホルダリストには、「_size1_:4cm2」、「_technical1_:active area」、「_technical3_:Pd foil」といった情報が含まれる。
【0032】
翻訳部133は、文翻訳モデルを用いて、置換文を翻訳する(ステップS3b)。このとき、プレースホルダは、文翻訳モデルによっては翻訳されずにプレースホルダとして出力される。そのため、翻訳部133は、固有表現翻訳モデルを用いてプレースホルダを翻訳する(ステップS5b)。
【0033】
ただし、文翻訳モデルから出力されたプレースホルダが、どの固有表現に対応しているかは不明である。このため、翻訳部133は、文翻訳モデルから出力されたプレースホルダが、どの固有表現に対応するプレースホルダであるかを、アテンション機構を用いて特定する(ステップS4b)。これにより、翻訳部133は、プレースホルダリストを参照し、どの固有表現を翻訳すればよいかを特定することができる。例えば、アテンション機構(attention mechanism)は、エンコーダの中間表現に基づき、デコーダの出力に重み付けを行う仕組みであるといえる。なお、以降の説明では、アテンション機構が文翻訳モデルに含まれるものとする。
【0034】
例えば、文翻訳モデルがプレースホルダを出力したとする。このとき、翻訳部133は、アテンション機構によって計算されるアテンションスコアを基に、出力されたプレースホルダが「_technical1_」であることを特定する。そして、プレースホルダリストを参照すると「_technical1_」が「active area」に対応していることがわかるので、翻訳部133は、固有表現翻訳モデルを用いて、「active area」を「活性面積」に翻訳する。
【0035】
図3の例では、翻訳装置10は、「The 4 cm2 active area permselective separator membrane was a 25 micron thick Pd foil.」という入力文から、「4cm2の活性面積であった選択透過セパレータ膜は25ミクロン厚のPdフォイルであった。」という出力文を得る。
【0036】
[各モデルの詳細]
特定モデル、文翻訳モデル、固有表現翻訳モデルの詳細を説明する。実施例では、各モデルはいずれもニューラルネットワークであるものとする。
【0037】
図4を用いて特定モデルを説明する。
図4は、特定モデルを説明するための図である。
図4に示すように、特定モデルは、固有表現タグ付き文にBIOタグを付与する。BIOタグは入力された各単語に対して付与され、「B-*」は固有表現開始を意味し、「I-*」は固有表現継続を意味し、「O」はそれ以外、すなわち固有表現ではないことを意味する。なお、*には「TECH」、「NUM」等のカテゴリを表す文字列が入る。また、BIOタグとXMLタグは一対一に対応するので、変換部131は、特定モデルによって付与されたBIOタグをXMLタグに変換することができる。また、「<s>」は入力文の先頭を意味し、「</s>」は入力文の末尾を意味する。
【0038】
また、例えば、
図2の学習処理において固有表現タグ付き文が人手で作成されていれば、学習部132は、当該固有表現タグ付き文と対訳文とを教師データとして特定モデルの学習を行うことができる。
【0039】
具体的には、変換部131は、(1)式によりBIOタグが付与された文ytagを得る。
【0040】
【0041】
ここで、vは、中間状態hを(2)式により確率分布へ変換したものである。
【0042】
【0043】
また、中間状態hは、(3)式によりH次元からO次元に変換される。
【0044】
【0045】
また、特定モデルの再帰ユニットでは、(4)式のように中間状態hiが計算される。
【0046】
【0047】
また、入力文の単語の埋め込みは、(5-1)式及び(5-2)式により行われる。
【0048】
【0049】
ここで、実施例において、文翻訳モデルはエンコーダデコーダであるものとする。
図5を用いて、エンコーダデコーダを説明する。
図5は、エンコーダデコーダを説明するための図である。
【0050】
図5に示すように、エンコーダには、固有の整数値に変換された入力文が入力される。そして、入力文は単語埋め込み層において固定長の小数ベクトルに変換される((5-1)式及び(5-2)式を参照)。
【0051】
エンコーダは、分散表現を、翻訳に必要な特徴量を有する中間表現へ変換する。デコーダは、中間表現と出力文から、次に生成される単語の生成確率を予測し、確率が最大になる単語を特定するID等を再帰的に出力する。なお、ここでの出力文は、生成されている途中の文であってもよい。また、デコーダはアテンション機構を備えている。
【0052】
翻訳部133は、文翻訳モデルを用いて、第1の言語で書かれた文を翻訳する。翻訳モデルは、エンコーダとデコーダとアテンション機構とを備える。エンコーダは、置換文を、中間表現である文脈ベクトルに変換する。デコーダは、文脈ベクトルを基に、第2の言語の単語及びプレースホルダのいずれかを再帰的に出力する。アテンション機構は、文脈ベクトルに基づくアテンションスコアを基に、デコーダが出力したプレースホルダに対応する固有表現を特定する。翻訳部133は、固有表現翻訳モデルを用いて、アテンション機構によって特定された固有表現の翻訳を行う。文翻訳モデルの一例としては、置換文に含まれる単語を出現順に並べた系列を入力とするLSTM(Long Short Term Memory)である。
【0053】
図6から
図8を用いて、文翻訳モデル及び固有表現翻訳モデルについて説明する。
図6は、単語の出力について説明するための図である。
図6に示すように、翻訳部133は、文翻訳モデルのエンコーダに、第1の言語の文を表す整数値として、単語系列(1, 7, 3, 4, 27,…, 2)を入力する。
図6に示すように、各整数は、記号、単語、プレースホルダ等に対応している。
【0054】
エンコーダは、中間表現である入力文脈ベクトルを生成する。また、翻訳部133は、デコーダに、文の先頭を意味する記号「<s>」に対応する整数1を入力する。そして、デコーダは出力文脈ベクトルを生成する。
【0055】
ここで、デコーダは、入力文脈ベクトル及び出力文脈ベクトルから、(6)式によりアテンションスコアを計算する。
【0056】
【0057】
さらに、デコーダは、(7)式によりアテンションスコアを正規化する。
【0058】
【0059】
そして、デコーダは、(8)式により入力文脈ベクトルの加重平均を計算する。
【0060】
【0061】
デコーダは、入力文脈ベクトルの加重平均を確率分布に変換し、最も確率が高い単語又はプレースホルダを選択する。ここでは、デコーダは、単語「この」に対応する整数8を選択し出力する。さらに、翻訳部133は、出力された整数8を再帰的にデコーダに入力する。
【0062】
ここで、デコーダは、整数8の入力に対し、プレースホルダを選択したものとする。つまり、デコーダは、「この」の後に固有表現が続くと判断した。この場合のアテンション機構による処理を、
図7を用いて説明する。
図7は、固有表現の翻訳処理を説明するための図である。
【0063】
このとき、アテンション機構は、アテンションスコアが最大となるプレースホルダを特定する。
図7の例では、アテンション機構は、中間表現h
x3に対応するプレースホルダ、すなわち整数3で表される「_tech_」を特定する。そして、翻訳部133は、プレースホルダリストからプレースホルダ「_tech_」に対応する固有表現「demister」を取得し、固有表現「demister」を固有表現翻訳モデルに入力する。そして、固有表現翻訳モデルは、「demister」を第2の言語に翻訳した「デミスタ」に対応する整数287を出力する。
【0064】
さらに、
図8に示すように、翻訳部133は、「デミスタ」に対応する整数287をデコーダに入力する。
図8は、固有表現の翻訳処理を説明するための図である。このとき、デコーダは、プレースホルダを選択する。そして、アテンション機構は、プレースホルダが固有表現「40」に対応する「_size_」であることを特定する。そして、固有表現翻訳モデルは、固有表現「40」を第2の言語に翻訳した「40」を出力する。なお、この場合、「40」は第1の言語と第2の言語で共通した単語であるため、翻訳しても文字列としては変化しない。
【0065】
この時点で、翻訳部133は、「このデミスタ40」という出力文を得ており、固有表現を正確に翻訳できている。
【0066】
図9は、辞書情報の抽出について説明するための図である。
図9に示すように、抽出部134は、学習処理において、固有表現タグ付き文からプレースホルダへの置換が行われる過程で辞書情報124を抽出することができる。変換部131は、第1の言語の単語と第2の言語の単語の対応付けを、例えばIBMモデルを用いて行う。例えば、
図9に示すように、タグ「TECHNICAL」が付された第1の言語の単語「demister」は、第2の言語の単語「デミスタ」に対応付けられ、プレースホルダ「_tech_」に置き換えられる。このため、抽出部134は、「demister:デミスタ」という情報を抽出することができる。
【0067】
[処理の流れ]
図10を用いて、翻訳装置10による学習処理の流れを説明する。
図10は、学習処理の流れを示すフローチャートである。
図10に示すように、まず、翻訳装置10は、原言語文と目的言語文から固有表現を特定しタグ付けする(ステップS11)。次に、翻訳装置10は、原言語文の固有表現をプレースホルダに置換する(ステップS12)。
【0068】
翻訳装置10は、文翻訳モデルで置換文を翻訳する(ステップS13)。また、翻訳装置10は、固有表現翻訳モデルで固有表現を翻訳する(ステップS14)。そして、翻訳装置10は、翻訳結果を目的言語文と比較し、各モデルを更新する(ステップS15)。
【0069】
図11を用いて、翻訳装置10による翻訳処理の流れを説明する。
図11は、翻訳処理の流れを示すフローチャートである。
図11に示すように、まず、翻訳装置10は、入力文から固有表現を特定しタグ付けする(ステップS21)。次に、翻訳装置10は、入力文の固有表現をプレースホルダに置換する(ステップS22)。ここで、翻訳装置10は、各モデルを使って入力文を翻訳し(ステップS23)、翻訳文を出力する(ステップS24)。
【0070】
図12を用いて、モデルによる処理の流れを説明する。
図12は、モデルによる処理の流れを示すフローチャートである。
図12の処理は、
図11のステップS23に対応する。まず、文翻訳モデルのエンコーダは、入力文の単語系列を中間表現に変換する(ステップS231)。次に、文翻訳モデルのデコーダは、中間表現を基に単語及びプレースホルダのいずれかを出力する(ステップS232)。
【0071】
デコーダがプレースホルダを出力した場合(ステップS233、Yes)、文翻訳モデルのアテンション機構は、アテンションスコアによりプレースホルダを特定する(ステップS234)。そして、固有表現翻訳モデルは、特定されたプレースホルダに対応する固有表現を翻訳する(ステップS235)。デコーダが単語を出力した場合は(ステップS233、No)、固有表現翻訳モデルは翻訳を行わない。
【0072】
デコーダによる出力が完了していない場合(ステップS236、No)、デコーダは、ステップS232に戻りさらに処理を実行する。デコーダによる出力が完了した場合(ステップS236、Yes)、翻訳装置10はモデルによる処理を終了する。
【0073】
[効果]
上述したように、翻訳装置10は、第1の言語で書かれた文を、文の中の固有表現を所定の文字列(プレースホルダ)に置き換えた置換文に変換する。翻訳装置10は、ニューラルネットワークである文翻訳モデルを用いて、置換文を第2の言語に翻訳する。翻訳装置10は、ニューラルネットワークである固有表現翻訳モデルを用いて、置換文の中の所定の文字列に対応する固有表現を第2の言語に翻訳する。このように、翻訳装置10は、文全体の翻訳を行うモデルと、固有表現の翻訳を行うモデルの両方を使って翻訳を行う。また、文翻訳モデルが単語、サブワードを処理単位として文全体の翻訳を行うのに対し、固有表現翻訳モデルは、より短いサブワード、文字を処理単位として、単語及びフレーズの翻訳を翻字又は文字レベルで行う。このため、実施例によれば、固有表現を適切に翻訳することができる。
【0074】
図14は、従来の翻訳結果を示す図である。
図14に示すように、従来の翻訳モデルは、「カタルーニャ語」を意味する「Catalan」の翻訳が、「スペイン語」である確率が、「カタルーニャ語」である確率よりも高いという結果を出力する場合がある。このような誤訳は、同様の文脈の教師データにおける「スペイン語」の出現頻度が「カタルーニャ語」の出現頻度に比べて多い場合に起こり得る。
【0075】
これに対し、実施例の翻訳装置10は、「Catalan」をプレースホルダに置き換えた上で、固有表現翻訳モデルを使って翻訳するため、従来よりも正確に翻訳できると考えられる。
【0076】
図15は、従来の翻訳結果を示す図である。ここで、「permselective separator」は、正しくは「選択透過セパレータ膜」と翻訳されるものとする。また、「Pd foil」は、正しくは「Pdフォイル」と翻訳されるものとする。
【0077】
これに対し、
図15に示すように、従来の翻訳モデルは、「permselective separator」を無視して翻訳する場合がある。また、従来の翻訳モデルは、「Pd foil」を「機能箔」と翻訳する場合がある。このような誤訳や翻訳漏れは、翻訳モデルがそもそもこれらの固有表現を学習していない場合に起こり得る。
【0078】
これに対し、実施例の翻訳装置10は、固有表現そのものを学習していない場合であっても、学習済みの固有表現翻訳モデルにより、当該固有表現をある程度正確に翻訳できると考えられる。
【0079】
例えば、文翻訳モデルについては、固有表現を含んだ対訳文による学習に比べて、語彙サイズや文長(トークン数)が減少することにより文脈パターンの学習が容易になり、結果的に語順や機能語配置の精度が改善される。一方、固有表現翻訳モデルについては、固有表現のフレーズの翻訳のみに徹底すればよく、文脈の考慮が不要なため、文字レベル等のより細かい粒度で高精度な翻訳が可能になる。
【0080】
また、翻訳装置10は、文翻訳モデルを用いて、第1の言語で書かれた文を翻訳する。文翻訳モデルは、エンコーダとデコーダとアテンション機構とを備える。エンコーダは、置換文を、中間表現である文脈ベクトルに変換する。デコーダは、文脈ベクトルを基に、第2の言語の単語及び所定の文字列(プレースホルダ)のいずれかを再帰的に出力する。アテンション機構は、文脈ベクトルに基づくアテンションスコアを基に、デコーダが出力した所定の文字列に対応する固有表現を特定する。翻訳装置10は、固有表現翻訳モデルを用いて、アテンション機構によって特定された固有表現の翻訳を行う。これにより、翻訳装置10は所定の文字列に対応する固有表現を特定することが可能になり、固有表現の翻訳精度をより向上させることができる。
【0081】
文翻訳モデルのデコーダは、置換文に含まれる単語を出現順に並べた系列を入力とすることで出力文脈ベクトルを更新する。これにより、翻訳装置10は、文脈に沿った翻訳を行うことが可能になる。文翻訳モデルのデコーダは、例えば、LSTMである。
【0082】
翻訳装置10は、第1の言語で書かれた文の中の固有表現と、第2の言語に翻訳された固有表現とを対応付けて抽出する。これにより、翻訳装置10は、辞書情報を抽出し、当該抽出した辞書情報を利用して固有表現の翻訳精度をより向上させることができる。
【0083】
翻訳装置10は、第1の言語で書かれた文の中の固有表現を所定の文字列(プレースホルダ)に置き換えた置換文が入力された場合に、置換文を第2の言語に翻訳した文を出力するように、ニューラルネットワークである文翻訳モデルの学習を行う。また、翻訳装置10は、所定の文字列に置き換えられた固有表現が入力された場合に、固有表現を第2の言語に翻訳した表現を出力するように、ニューラルネットワークである固有表現翻訳モデルの学習を行う。このように、翻訳装置10は、対訳文を使って文翻訳モデルと固有表現翻訳モデルの両方の学習を行うことができる。このため、実施例によれば、対訳文を用いた学習により、文の翻訳の精度と、固有表現の翻訳精度の両方を向上させることができる。
【0084】
ここで、専門分野の文書を想定し、90%の文章に固有表現が含まれるとする。また、文書全体の単語のうち、20%が固有表現を構成するとする。また、特定モデルによる固有表現の特定精度は90%とする。また、文中の固有表現情報が与えられた場合、固有表現翻訳モデルの固有表現翻訳の完全一致精度は98%とする。また、従来の翻訳モデルの場合、固有表現を含む文の25%は誤訳を含むとする。また、文翻訳モデルは、固有表現を含む文の90%以上で適切な翻訳対象の固有表現を選択可能とする。
【0085】
固有表現は一般的に重要なキーワードとなるため、固有表現で1つでも誤訳がある場合、翻訳の質は低いとみなす。従来の翻訳モデルの場合、固有表現の誤訳を含む文の割合は、90% × 25% = 22.5% となる。一方、実施例のように文翻訳モデルと固有表現翻訳モデルを併用した場合、固有表現の誤訳を含む文の割合は、90% × (90% × 2% + 10% × 25%) = 3.87% となり、約18.63%の誤訳を防止できる。つまり、固有表現の正解率は75%から95.7%となり、精度が約20.7%向上する。
【0086】
また、翻訳装置10は、特定モデル、文翻訳モデル、固有表現翻訳モデルをいずれもエンコーダデコーダとし、各モデルの学習をマルチタスク学習により行い、エンコーダの中間表現を共有するようにしてもよい。これにより、各モデルの性能はさらに向上する。
【0087】
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。
【0088】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0089】
[ハードウェア]
図13は、ハードウェア構成例を説明する図である。
図13に示すように、翻訳装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、
図14に示した各部は、バス等で相互に接続される。
【0090】
通信インタフェース10aは、ネットワークインタフェースカード等であり、他のサーバとの通信を行う。HDD10bは、
図1に示した機能を動作させるプログラムやDBを記憶する。
【0091】
プロセッサ10dは、
図1に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、
図1等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、翻訳装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、変換部131、学習部132、翻訳部133及び抽出部134と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、変換部131、学習部132、翻訳部133及び抽出部134等と同様の処理を実行するプロセスを実行する。プロセッサ10dは、例えば、CPU、MPU、ASIC等のハードウェア回路である。
【0092】
このように翻訳装置10は、プログラムを読み出して実行することで分類方法を実行する情報処理装置として動作する。また、翻訳装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、翻訳装置10によって実行されることに限定されるものではない。例えば、他のコンピュータ又はサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0093】
このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【0094】
10 翻訳装置
11 インタフェース部
12 記憶部
13 制御部
131 変換部
132 学習部
133 翻訳部
134 抽出部
121 特定モデル情報
122 文翻訳モデル情報
123 固有表現翻訳モデル情報
124 辞書情報