(57)【要約】【課題】固有表現を適切に翻訳すること。【解決手段】翻訳装置１０は、第１の言語で書かれた文を、文の中の固有表現を所定のプレースホルダに置き換えた置換文に変換する。翻訳装置１０は、エンコーダ、デコーダ及びアテンション機構を備えたエンコーダデコーダ型のニューラルネットワークである文翻訳モデルを用いて、置換文を第２の言語に翻訳する。翻訳装置１０は、ニューラルネットワークである固有表現翻訳モデルを用いて、置換文の中のプレースホルダに対応する固有表現を第２の言語に翻訳する。【選択図】図１
2020166672.tif 000002
【特許請求の範囲】
【請求項１】
第１の言語で書かれた文を、前記文の中の固有表現を所定の文字列に置き換えた置換文に変換し、
ニューラルネットワークである文翻訳モデルを用いて、前記置換文を第２の言語に翻訳し、
ニューラルネットワークである固有表現翻訳モデルを用いて、前記置換文の中の前記所定の文字列に対応する固有表現を前記第２の言語に翻訳する
処理をコンピュータが実行することを特徴とする翻訳方法。
【請求項２】
前記置換文を前記第２の言語に翻訳する処理は、
前記置換文を、中間表現である文脈ベクトルに変換するエンコーダと、
前記文脈ベクトルを基に、前記第２の言語の単語及び前記所定の文字列のいずれかを再帰的に出力するデコーダと、
前記文脈ベクトルに基づくアテンションスコアを基に、前記デコーダが出力した前記所定の文字列に対応する固有表現を特定するアテンション機構と、
を備えた文翻訳モデルを用いて翻訳を行い、
前記固有表現を前記第２の言語に翻訳する処理は、
前記アテンション機構によって特定された固有表現の翻訳を行う
ことを特徴とする請求項１に記載の翻訳方法。
【請求項３】
前記置換文を前記第２の言語に翻訳する処理は、
前記置換文に含まれる単語を出現順に並べた系列を入力とするＬＳＴＭ（Long  Short  Term  Memory）を用いて翻訳を行う
ことを特徴とする請求項１又は２に記載の翻訳方法。
【請求項４】
前記第１の言語で書かれた文の中の固有表現と、前記固有表現を翻訳する処理によって前記第２の言語に翻訳された固有表現とを対応付けて抽出する
処理をさらに実行することを特徴とする請求項１から３のいずれか１項に記載の翻訳方法。
【請求項５】
第１の言語で書かれた文を、前記文の中の固有表現を所定の文字列に置き換えた置換文に変換し、
ニューラルネットワークである文翻訳モデルを用いて、前記置換文を第２の言語に翻訳し、
ニューラルネットワークである固有表現翻訳モデルを用いて、前記置換文の中の前記所定の文字列に対応する固有表現を第２の言語に翻訳する
処理をコンピュータに実行させることを特徴とする翻訳プログラム。
【請求項６】
第１の言語で書かれた文の中の固有表現を所定の文字列に置き換えた置換文が入力された場合に、前記置換文を第２の言語に翻訳した文を出力するように、ニューラルネットワークである文翻訳モデルの学習を行い、
前記所定の文字列に置き換えられた固有表現が入力された場合に、前記固有表現を前記第２の言語に翻訳した表現を出力するように、ニューラルネットワークである固有表現翻訳モデルの学習を行う
ことを特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、翻訳方法、翻訳プログラム及び学習方法に関する。
【背景技術】
【０００２】
従来、ニューラルネットワークを用いて翻訳を行うニューラル機械翻訳が知られている。ニューラル機械翻訳で用いられるニューラルネットワークは、ある言語で書かれた原文と他の言語で書かれた対訳文の組を教師データとして訓練される。また、ニューラル機械翻訳では、アテンション機構を備えたエンコーダ・デコーダモデルが使われる場合がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６-０９９６７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の技術には、固有表現を適切に翻訳できない場合があるという問題がある。ここで、固有表現とは、人名や組織名等の固有名詞、日付や時間等の数的表現等を表す。また、固有表現とは、化学物質名や遺伝子名、薬品名等といった専門用語を含む拡張固有表現である。
【０００５】
固有表現は、その種類が多いことに起因して、一般名詞や動詞、助詞等と比較して教師データにおける出現頻度が低くなる傾向があり、十分に学習されない場合がある。また、あらかじめ固有表現との対訳辞書を用意しておくことも考えられるが、その場合、対訳辞書に載っていない固有表現を翻訳することは難しく、また、全ての固有表現を網羅することは困難である。
【０００６】
１つの側面では、固有表現を適切に翻訳することを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、翻訳方法は、第１の言語で書かれた文を、文の中の固有表現を所定の文字列に置き換えた置換文に変換する処理をコンピュータが実行する。また、翻訳方法は、ニューラルネットワークである文翻訳モデルを用いて、置換文を第２の言語に翻訳する処理をコンピュータが実行する。また、翻訳方法は、ニューラルネットワークである固有表現翻訳モデルを用いて、置換文の中の所定の文字列に対応する固有表現を第２の言語に翻訳する処理をコンピュータが実行する。
【発明の効果】
【０００８】
１つの側面では、固有表現を適切に翻訳することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例に係る翻訳装置の機能構成の一例を示す図である。
【図２】図２は、学習処理を説明するための図である。
【図３】図３は、翻訳処理を説明するための図である。
【図４】図４は、特定モデルを説明するための図である。
【図５】図５は、エンコーダデコーダを説明するための図である。
【図６】図６は、単語の出力について説明するための図である。
【図７】図７は、固有表現の翻訳処理を説明するための図である。
【図８】図８は、固有表現の翻訳処理を説明するための図である。
【図９】図９は、辞書情報の抽出について説明するための図である。
【図１０】図１０は、学習処理の流れを示すフローチャートである。
【図１１】図１１は、翻訳処理の流れを示すフローチャートである。
【図１２】図１２は、モデルによる処理の流れを示すフローチャートである。
【図１３】図１３は、ハードウェア構成例を説明する図である。
【図１４】図１４は、従来の翻訳結果を示す図である。
【図１５】図１５は、従来の翻訳結果を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本発明に係る翻訳方法、翻訳プログラム及び学習方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。翻訳方法及び学習方法は翻訳装置により実行される。また、翻訳プログラムは翻訳装置において実行される。
【実施例１】
【００１１】
［機能構成］
図１を用いて、実施例に係る翻訳装置の機能構成について説明する。図１は、実施例に係る翻訳装置の機能構成の一例を示す図である。図１に示すように、翻訳装置１０は、インタフェース部１１、記憶部１２及び制御部１３を有する。
【００１２】
インタフェース部１１は、他の装置との間のデータの入出力、及び他の装置との間でのデータの通信を行うためのインタフェースである。例えば、インタフェース部１１は、キーボードやマウス等の入力装置、ディスプレイやスピーカ等の出力装置、ＵＳＢメモリ等の外部記憶装置との間でデータの入出力を行う。また、例えば、インタフェース部１１はＮＩＣ（Network  Interface  Card）であり、インターネットを介してデータの通信を行う。
【００１３】
記憶部１２は、データや制御部１３が実行するプログラム等を記憶する記憶装置の一例であり、例えばハードディスクやメモリ等である。記憶部１２は、特定モデル情報１２１、文翻訳モデル情報１２２、固有表現翻訳モデル情報１２３及び辞書情報１２４を記憶する。
【００１４】
特定モデル情報１２１は、特定モデルを構築するための情報である。特定モデルは、第１の言語で書かれた文から固有表現を特定するためのモデルである。例えば、特定モデルは学習済みのニューラルネットワークである。この場合、特定モデル情報１２１は、ニューラルネットワークの重みやバイアスである。例えば、第１の言語は英語である。
【００１５】
文翻訳モデル情報１２２は、文翻訳モデルを構築するための情報である。文翻訳モデルは、第１の言語で書かれた入力文を第２の言語に翻訳した出力文を出力する。また、入力文は、固有表現がプレースホルダに置き換えられた置換文であってもよい。例えば、文翻訳モデルは学習済みのニューラルネットワークである。このとき、文翻訳モデル情報１２２は、ニューラルネットワークの重みやバイアスである。例えば、第２の言語は日本語である。
【００１６】
固有表現翻訳モデル情報１２３は、固有表現翻訳モデルを構築するための情報である。固有表現翻訳モデルは、第１の言語で書かれた固有表現を第２の言語に翻訳した表現を出力する。例えば、固有表現翻訳モデルは学習済みのニューラルネットワークである。このとき、固有表現翻訳モデル情報１２３は、ニューラルネットワークの重みやバイアスである。
【００１７】
前述の通り、固有表現とは、人名や組織名等の固有名詞、日付や時間等の数的表現、化学物質名や遺伝子名、薬品名といった技術用語等である。なお、「表現」は、「語句（expression）」と言い換えてもよい。
【００１８】
辞書情報１２４は、第１の言語で書かれた固有表現と、当該固有表現を第２の言語に翻訳した表現とを対応付けた情報である。辞書情報１２４は、外部から収集された情報であってもよいし、翻訳装置１０における各処理の過程で得られた情報であってもよい。例えば、辞書情報１２４は、固有表現翻訳モデルの学習に用いられる。
【００１９】
制御部１３は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。制御部１３は、変換部１３１、学習部１３２、翻訳部１３３及び抽出部１３４を有する。
【００２０】
変換部１３１は、第１の言語で書かれた文を、文の中の固有表現をプレースホルダに置き換えた置換文に変換する。このとき、変換部１３１は、特定モデル情報１２１を基に構築された特定モデルを使って固有表現を特定する。また、プレースホルダは、所定の文字列の一例である。
【００２１】
学習部１３２は、第１の言語で書かれた文の中の固有表現を所定のプレースホルダに置き換えた置換文が入力された場合に、置換文を第２の言語に翻訳した文を出力するように、ニューラルネットワークである文翻訳モデルの学習を行う。また、学習部１３２は、プレースホルダに置き換えられた固有表現が入力された場合に、固有表現を第２の言語に翻訳した表現を出力するように、ニューラルネットワークである固有表現翻訳モデルの学習を行う。
【００２２】
翻訳部１３３は、ニューラルネットワークである文翻訳モデルを用いて、置換文を第２の言語に翻訳する。このとき、翻訳部１３３は、置換文に含まれるプレースホルダは翻訳せずにそのまま出力する。そして、翻訳部１３３は、ニューラルネットワークである固有表現翻訳モデルを用いて、置換文の中のプレースホルダに対応する固有表現を第２の言語に翻訳する。
【００２３】
抽出部１３４は、第１の言語で書かれた文の中の固有表現と、翻訳部１３３によって第２の言語に翻訳された固有表現とを対応付けて抽出する。抽出部１３４は、抽出した情報を辞書情報１２４として記憶部１２に格納する。
【００２４】
[学習処理]
以降、翻訳装置１０による処理を詳細に説明する。まず、図２を用いて、翻訳装置１０による学習処理について説明する。図２は、学習処理を説明するための図である。まず、教師データとして対訳文が用意されているものとする。対訳文は、第１の言語の文である原言語文と、当該原言語文を第２の言語に翻訳した目的言語文を含む。対訳文の目的言語文は人手で翻訳されたものであってもよい。
【００２５】
変換部１３１は、対訳文の固有表現を特定し、特定した固有表現にタグを付けた固有表現タグ付き文を生成する（ステップＳ１ａ）。さらに、変換部１３１は、固有表現タグ付き文のタグが付いた表現をプレースホルダに置き換え、置換文に変換する（ステップＳ２ａ）。
【００２６】
図２の例では、例えば、変換部１３１は、対訳文の原言語文の「demister」及び対訳文の目的言語文の「デミスタ」に「TECHNICAL」というタグを付け、「_technical1_」というプレースホルダに置き換える。変換部１３１は、技術用語を表すタグ「TECHNICAL」、サイズを表すタグ「SIZE」、数値を表すタグ「NUM」等を付ける。なお、タグは「<TECHNICAL>…</TECHNICAL>」のようなXMLタグであってよい。また、「_technical1_」、「_size1_」、「_num1_」等はプレースホルダの一例である。
【００２７】
学習部１３２は、置換文を教師データとして文翻訳モデルの学習を行う（ステップＳ３ａ）。このため、文翻訳モデルは、固有表現をプレースホルダに置き換えた原言語文を、固有表現をプレースホルダに置き換えた目的言語文に翻訳できるようになる。一方で、文翻訳モデルは、プレースホルダに対応する固有表現は翻訳せずにそのまま出力する。
【００２８】
学習部１３２は、フレーズ対訳文を教師データとして固有表現翻訳モデルの学習を行う（ステップＳ４ａ）。ここで、フレーズ対訳文とは、対訳文から特定された原言語文の固有表現と目的言語文の固有表現を対にした情報である。図２の例では、フレーズ対訳文には、「demister」と「デミスタ」を対にした「demister:デミスタ」といった情報が含まれる。これにより、文翻訳モデルは、原言語の固有表現を目的言語の固有表現に翻訳できるようになる。また、学習部１３２は、適宜外部辞書の情報を取り入れて固有表現翻訳モデルの精度を向上させることができる。
【００２９】
［翻訳処理］
次に、図３を用いて、翻訳装置１０による翻訳処理について説明する。図３は、翻訳処理を説明するための図である。文翻訳モデル及び固有表現翻訳モデルは前述の学習処理において学習済みであるものとする。
【００３０】
変換部１３１は、入力文の固有表現を特定し、特定した固有表現にタグを付けた固有表現タグ付き文を生成する（ステップＳ１ｂ）。さらに、変換部１３１は、固有表現タグ付き文のタグが付いた表現をプレースホルダに置き換え、置換文に変換する（ステップＳ２ｂ）。入力文は、第１の言語の文である原言語文である。ここでは、入力文は被翻訳文であり、入力文に対する翻訳文は未知であるものとする。
【００３１】
図３の例では、例えば、変換部１３１は、対訳文の原言語文の「4cm2」に「SIZE」というタグを付け、「_size1_」というプレースホルダに置き換える。また、変換部１３１は、固有表現とプレースホルダをリスト化したプレースホルダリストを生成する。例えば、プレースホルダリストには、「_size1_:4cm2」、「_technical1_:active area」、「_technical3_:Pd foil」といった情報が含まれる。
【００３２】
翻訳部１３３は、文翻訳モデルを用いて、置換文を翻訳する（ステップＳ３ｂ）。このとき、プレースホルダは、文翻訳モデルによっては翻訳されずにプレースホルダとして出力される。そのため、翻訳部１３３は、固有表現翻訳モデルを用いてプレースホルダを翻訳する（ステップＳ５ｂ）。
【００３３】
ただし、文翻訳モデルから出力されたプレースホルダが、どの固有表現に対応しているかは不明である。このため、翻訳部１３３は、文翻訳モデルから出力されたプレースホルダが、どの固有表現に対応するプレースホルダであるかを、アテンション機構を用いて特定する（ステップＳ４ｂ）。これにより、翻訳部１３３は、プレースホルダリストを参照し、どの固有表現を翻訳すればよいかを特定することができる。例えば、アテンション機構（attention  mechanism）は、エンコーダの中間表現に基づき、デコーダの出力に重み付けを行う仕組みであるといえる。なお、以降の説明では、アテンション機構が文翻訳モデルに含まれるものとする。
【００３４】
例えば、文翻訳モデルがプレースホルダを出力したとする。このとき、翻訳部１３３は、アテンション機構によって計算されるアテンションスコアを基に、出力されたプレースホルダが「_technical1_」であることを特定する。そして、プレースホルダリストを参照すると「_technical1_」が「active  area」に対応していることがわかるので、翻訳部１３３は、固有表現翻訳モデルを用いて、「active area」を「活性面積」に翻訳する。
【００３５】
図３の例では、翻訳装置１０は、「The 4 cm2 active area permselective separator membrane was a 25 micron thick Pd foil.」という入力文から、「4cm2の活性面積であった選択透過セパレータ膜は25ミクロン厚のPdフォイルであった。」という出力文を得る。
【００３６】
［各モデルの詳細］
特定モデル、文翻訳モデル、固有表現翻訳モデルの詳細を説明する。実施例では、各モデルはいずれもニューラルネットワークであるものとする。
【００３７】
図４を用いて特定モデルを説明する。図４は、特定モデルを説明するための図である。図４に示すように、特定モデルは、固有表現タグ付き文にBIOタグを付与する。BIOタグは入力された各単語に対して付与され、「B-*」は固有表現開始を意味し、「I-*」は固有表現継続を意味し、「O」はそれ以外、すなわち固有表現ではないことを意味する。なお、*には「TECH」、「NUM」等のカテゴリを表す文字列が入る。また、BIOタグとXMLタグは一対一に対応するので、変換部１３１は、特定モデルによって付与されたBIOタグをXMLタグに変換することができる。また、「
」は入力文の先頭を意味し、「
」は入力文の末尾を意味する。
【００３８】
また、例えば、図２の学習処理において固有表現タグ付き文が人手で作成されていれば、学習部１３２は、当該固有表現タグ付き文と対訳文とを教師データとして特定モデルの学習を行うことができる。
【００３９】
具体的には、変換部１３１は、（１）式によりBIOタグが付与された文ytagを得る。
【００４０】
【数１】
2020166672.tif 000003
【００４１】
ここで、vは、中間状態hを（２）式により確率分布へ変換したものである。
【００４２】
【数２】
2020166672.tif 000004
【００４３】
また、中間状態hは、（３）式によりH次元からO次元に変換される。
【００４４】
【数３】
2020166672.tif 000005
【００４５】
また、特定モデルの再帰ユニットでは、（４）式のように中間状態hiが計算される。
【００４６】
【数４】
2020166672.tif 000006
【００４７】
また、入力文の単語の埋め込みは、（５−１）式及び（５−２）式により行われる。
【００４８】
【数５】
2020166672.tif 000007
【００４９】
ここで、実施例において、文翻訳モデルはエンコーダデコーダであるものとする。図５を用いて、エンコーダデコーダを説明する。図５は、エンコーダデコーダを説明するための図である。
【００５０】
図５に示すように、エンコーダには、固有の整数値に変換された入力文が入力される。そして、入力文は単語埋め込み層において固定長の小数ベクトルに変換される（（５−１）式及び（５−２）式を参照）。
【００５１】
エンコーダは、分散表現を、翻訳に必要な特徴量を有する中間表現へ変換する。デコーダは、中間表現と出力文から、次に生成される単語の生成確率を予測し、確率が最大になる単語を特定するID等を再帰的に出力する。なお、ここでの出力文は、生成されている途中の文であってもよい。また、デコーダはアテンション機構を備えている。
【００５２】
翻訳部１３３は、文翻訳モデルを用いて、第１の言語で書かれた文を翻訳する。翻訳モデルは、エンコーダとデコーダとアテンション機構とを備える。エンコーダは、置換文を、中間表現である文脈ベクトルに変換する。デコーダは、文脈ベクトルを基に、第２の言語の単語及びプレースホルダのいずれかを再帰的に出力する。アテンション機構は、文脈ベクトルに基づくアテンションスコアを基に、デコーダが出力したプレースホルダに対応する固有表現を特定する。翻訳部１３３は、固有表現翻訳モデルを用いて、アテンション機構によって特定された固有表現の翻訳を行う。文翻訳モデルの一例としては、置換文に含まれる単語を出現順に並べた系列を入力とするＬＳＴＭ（Long  Short  Term  Memory）である。
【００５３】
図６から図８を用いて、文翻訳モデル及び固有表現翻訳モデルについて説明する。図６は、単語の出力について説明するための図である。図６に示すように、翻訳部１３３は、文翻訳モデルのエンコーダに、第１の言語の文を表す整数値として、単語系列（1,  7,  3,  4,  27,…,  2）を入力する。図６に示すように、各整数は、記号、単語、プレースホルダ等に対応している。
【００５４】
エンコーダは、中間表現である入力文脈ベクトルを生成する。また、翻訳部１３３は、デコーダに、文の先頭を意味する記号「
」に対応する整数1を入力する。そして、デコーダは出力文脈ベクトルを生成する。
【００５５】
ここで、デコーダは、入力文脈ベクトル及び出力文脈ベクトルから、（６）式によりアテンションスコアを計算する。
【００５６】
【数６】
2020166672.tif 000008
【００５７】
さらに、デコーダは、（７）式によりアテンションスコアを正規化する。
【００５８】
【数７】
2020166672.tif 000009
【００５９】
そして、デコーダは、（８）式により入力文脈ベクトルの加重平均を計算する。
【００６０】
【数８】
2020166672.tif 000010
【００６１】
デコーダは、入力文脈ベクトルの加重平均を確率分布に変換し、最も確率が高い単語又はプレースホルダを選択する。ここでは、デコーダは、単語「この」に対応する整数8を選択し出力する。さらに、翻訳部１３３は、出力された整数8を再帰的にデコーダに入力する。
【００６２】
ここで、デコーダは、整数8の入力に対し、プレースホルダを選択したものとする。つまり、デコーダは、「この」の後に固有表現が続くと判断した。この場合のアテンション機構による処理を、図７を用いて説明する。図７は、固有表現の翻訳処理を説明するための図である。
【００６３】
このとき、アテンション機構は、アテンションスコアが最大となるプレースホルダを特定する。図７の例では、アテンション機構は、中間表現ｈｘ３に対応するプレースホルダ、すなわち整数3で表される「_tech_」を特定する。そして、翻訳部１３３は、プレースホルダリストからプレースホルダ「_tech_」に対応する固有表現「demister」を取得し、固有表現「demister」を固有表現翻訳モデルに入力する。そして、固有表現翻訳モデルは、「demister」を第２の言語に翻訳した「デミスタ」に対応する整数287を出力する。
【００６４】
さらに、図８に示すように、翻訳部１３３は、「デミスタ」に対応する整数287をデコーダに入力する。図８は、固有表現の翻訳処理を説明するための図である。このとき、デコーダは、プレースホルダを選択する。そして、アテンション機構は、プレースホルダが固有表現「40」に対応する「_size_」であることを特定する。そして、固有表現翻訳モデルは、固有表現「40」を第２の言語に翻訳した「40」を出力する。なお、この場合、「40」は第１の言語と第２の言語で共通した単語であるため、翻訳しても文字列としては変化しない。
【００６５】
この時点で、翻訳部１３３は、「このデミスタ４０」という出力文を得ており、固有表現を正確に翻訳できている。
【００６６】
図９は、辞書情報の抽出について説明するための図である。図９に示すように、抽出部１３４は、学習処理において、固有表現タグ付き文からプレースホルダへの置換が行われる過程で辞書情報１２４を抽出することができる。変換部１３１は、第１の言語の単語と第２の言語の単語の対応付けを、例えばIBMモデルを用いて行う。例えば、図９に示すように、タグ「TECHNICAL」が付された第１の言語の単語「demister」は、第２の言語の単語「デミスタ」に対応付けられ、プレースホルダ「_tech_」に置き換えられる。このため、抽出部１３４は、「demister:デミスタ」という情報を抽出することができる。
【００６７】
［処理の流れ］
図１０を用いて、翻訳装置１０による学習処理の流れを説明する。図１０は、学習処理の流れを示すフローチャートである。図１０に示すように、まず、翻訳装置１０は、原言語文と目的言語文から固有表現を特定しタグ付けする（ステップＳ１１）。次に、翻訳装置１０は、原言語文の固有表現をプレースホルダに置換する（ステップＳ１２）。
【００６８】
翻訳装置１０は、文翻訳モデルで置換文を翻訳する（ステップＳ１３）。また、翻訳装置１０は、固有表現翻訳モデルで固有表現を翻訳する（ステップＳ１４）。そして、翻訳装置１０は、翻訳結果を目的言語文と比較し、各モデルを更新する（ステップＳ１５）。
【００６９】
図１１を用いて、翻訳装置１０による翻訳処理の流れを説明する。図１１は、翻訳処理の流れを示すフローチャートである。図１１に示すように、まず、翻訳装置１０は、入力文から固有表現を特定しタグ付けする（ステップＳ２１）。次に、翻訳装置１０は、入力文の固有表現をプレースホルダに置換する（ステップＳ２２）。ここで、翻訳装置１０は、各モデルを使って入力文を翻訳し（ステップＳ２３）、翻訳文を出力する（ステップＳ２４）。
【００７０】
図１２を用いて、モデルによる処理の流れを説明する。図１２は、モデルによる処理の流れを示すフローチャートである。図１２の処理は、図１１のステップＳ２３に対応する。まず、文翻訳モデルのエンコーダは、入力文の単語系列を中間表現に変換する（ステップＳ２３１）。次に、文翻訳モデルのデコーダは、中間表現を基に単語及びプレースホルダのいずれかを出力する（ステップＳ２３２）。
【００７１】
デコーダがプレースホルダを出力した場合（ステップＳ２３３、Ｙｅｓ）、文翻訳モデルのアテンション機構は、アテンションスコアによりプレースホルダを特定する（ステップＳ２３４）。そして、固有表現翻訳モデルは、特定されたプレースホルダに対応する固有表現を翻訳する（ステップＳ２３５）。デコーダが単語を出力した場合は（ステップＳ２３３、Ｎｏ）、固有表現翻訳モデルは翻訳を行わない。
【００７２】
デコーダによる出力が完了していない場合（ステップＳ２３６、Ｎｏ）、デコーダは、ステップＳ２３２に戻りさらに処理を実行する。デコーダによる出力が完了した場合（ステップＳ２３６、Ｙｅｓ）、翻訳装置１０はモデルによる処理を終了する。
【００７３】
［効果］
上述したように、翻訳装置１０は、第１の言語で書かれた文を、文の中の固有表現を所定の文字列（プレースホルダ）に置き換えた置換文に変換する。翻訳装置１０は、ニューラルネットワークである文翻訳モデルを用いて、置換文を第２の言語に翻訳する。翻訳装置１０は、ニューラルネットワークである固有表現翻訳モデルを用いて、置換文の中の所定の文字列に対応する固有表現を第２の言語に翻訳する。このように、翻訳装置１０は、文全体の翻訳を行うモデルと、固有表現の翻訳を行うモデルの両方を使って翻訳を行う。また、文翻訳モデルが単語、サブワードを処理単位として文全体の翻訳を行うのに対し、固有表現翻訳モデルは、より短いサブワード、文字を処理単位として、単語及びフレーズの翻訳を翻字又は文字レベルで行う。このため、実施例によれば、固有表現を適切に翻訳することができる。
【００７４】
図１４は、従来の翻訳結果を示す図である。図１４に示すように、従来の翻訳モデルは、「カタルーニャ語」を意味する「Catalan」の翻訳が、「スペイン語」である確率が、「カタルーニャ語」である確率よりも高いという結果を出力する場合がある。このような誤訳は、同様の文脈の教師データにおける「スペイン語」の出現頻度が「カタルーニャ語」の出現頻度に比べて多い場合に起こり得る。
【００７５】
これに対し、実施例の翻訳装置１０は、「Catalan」をプレースホルダに置き換えた上で、固有表現翻訳モデルを使って翻訳するため、従来よりも正確に翻訳できると考えられる。
【００７６】
図１５は、従来の翻訳結果を示す図である。ここで、「permselective separator」は、正しくは「選択透過セパレータ膜」と翻訳されるものとする。また、「Pd foil」は、正しくは「Pdフォイル」と翻訳されるものとする。
【００７７】
これに対し、図１５に示すように、従来の翻訳モデルは、「permselective separator」を無視して翻訳する場合がある。また、従来の翻訳モデルは、「Pd foil」を「機能箔」と翻訳する場合がある。このような誤訳や翻訳漏れは、翻訳モデルがそもそもこれらの固有表現を学習していない場合に起こり得る。
【００７８】
これに対し、実施例の翻訳装置１０は、固有表現そのものを学習していない場合であっても、学習済みの固有表現翻訳モデルにより、当該固有表現をある程度正確に翻訳できると考えられる。
【００７９】
例えば、文翻訳モデルについては、固有表現を含んだ対訳文による学習に比べて、語彙サイズや文長（トークン数）が減少することにより文脈パターンの学習が容易になり、結果的に語順や機能語配置の精度が改善される。一方、固有表現翻訳モデルについては、固有表現のフレーズの翻訳のみに徹底すればよく、文脈の考慮が不要なため、文字レベル等のより細かい粒度で高精度な翻訳が可能になる。
【００８０】
また、翻訳装置１０は、文翻訳モデルを用いて、第１の言語で書かれた文を翻訳する。文翻訳モデルは、エンコーダとデコーダとアテンション機構とを備える。エンコーダは、置換文を、中間表現である文脈ベクトルに変換する。デコーダは、文脈ベクトルを基に、第２の言語の単語及び所定の文字列（プレースホルダ）のいずれかを再帰的に出力する。アテンション機構は、文脈ベクトルに基づくアテンションスコアを基に、デコーダが出力した所定の文字列に対応する固有表現を特定する。翻訳装置１０は、固有表現翻訳モデルを用いて、アテンション機構によって特定された固有表現の翻訳を行う。これにより、翻訳装置１０は所定の文字列に対応する固有表現を特定することが可能になり、固有表現の翻訳精度をより向上させることができる。
【００８１】
文翻訳モデルのデコーダは、置換文に含まれる単語を出現順に並べた系列を入力とすることで出力文脈ベクトルを更新する。これにより、翻訳装置１０は、文脈に沿った翻訳を行うことが可能になる。文翻訳モデルのデコーダは、例えば、ＬＳＴＭである。
【００８２】
翻訳装置１０は、第１の言語で書かれた文の中の固有表現と、第２の言語に翻訳された固有表現とを対応付けて抽出する。これにより、翻訳装置１０は、辞書情報を抽出し、当該抽出した辞書情報を利用して固有表現の翻訳精度をより向上させることができる。
【００８３】
翻訳装置１０は、第１の言語で書かれた文の中の固有表現を所定の文字列（プレースホルダ）に置き換えた置換文が入力された場合に、置換文を第２の言語に翻訳した文を出力するように、ニューラルネットワークである文翻訳モデルの学習を行う。また、翻訳装置１０は、所定の文字列に置き換えられた固有表現が入力された場合に、固有表現を第２の言語に翻訳した表現を出力するように、ニューラルネットワークである固有表現翻訳モデルの学習を行う。このように、翻訳装置１０は、対訳文を使って文翻訳モデルと固有表現翻訳モデルの両方の学習を行うことができる。このため、実施例によれば、対訳文を用いた学習により、文の翻訳の精度と、固有表現の翻訳精度の両方を向上させることができる。
【００８４】
ここで、専門分野の文書を想定し、90%の文章に固有表現が含まれるとする。また、文書全体の単語のうち、20%が固有表現を構成するとする。また、特定モデルによる固有表現の特定精度は90%とする。また、文中の固有表現情報が与えられた場合、固有表現翻訳モデルの固有表現翻訳の完全一致精度は98%とする。また、従来の翻訳モデルの場合、固有表現を含む文の25%は誤訳を含むとする。また、文翻訳モデルは、固有表現を含む文の90%以上で適切な翻訳対象の固有表現を選択可能とする。
【００８５】
固有表現は一般的に重要なキーワードとなるため、固有表現で1つでも誤訳がある場合、翻訳の質は低いとみなす。従来の翻訳モデルの場合、固有表現の誤訳を含む文の割合は、90%  ×  25%  =  22.5%  となる。一方、実施例のように文翻訳モデルと固有表現翻訳モデルを併用した場合、固有表現の誤訳を含む文の割合は、90%  ×  (90%  ×  2%  +  10%  ×  25%)  =  3.87%  となり、約18.63%の誤訳を防止できる。つまり、固有表現の正解率は75%から95.7%となり、精度が約20.7%向上する。
【００８６】
また、翻訳装置１０は、特定モデル、文翻訳モデル、固有表現翻訳モデルをいずれもエンコーダデコーダとし、各モデルの学習をマルチタスク学習により行い、エンコーダの中間表現を共有するようにしてもよい。これにより、各モデルの性能はさらに向上する。
【００８７】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。
【００８８】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８９】
［ハードウェア］
図１３は、ハードウェア構成例を説明する図である。図１３に示すように、翻訳装置１０は、通信インタフェース１０ａ、ＨＤＤ（Hard  Disk  Drive）１０ｂ、メモリ１０ｃ、プロセッサ１０ｄを有する。また、図１４に示した各部は、バス等で相互に接続される。
【００９０】
通信インタフェース１０ａは、ネットワークインタフェースカード等であり、他のサーバとの通信を行う。ＨＤＤ１０ｂは、図１に示した機能を動作させるプログラムやＤＢを記憶する。
【００９１】
プロセッサ１０ｄは、図１に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１０ｂ等から読み出してメモリ１０ｃに展開することで、図１等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、翻訳装置１０が有する各処理部と同様の機能を実行する。具体的には、プロセッサ１０ｄは、変換部１３１、学習部１３２、翻訳部１３３及び抽出部１３４と同様の機能を有するプログラムをＨＤＤ１０ｂ等から読み出す。そして、プロセッサ１０ｄは、変換部１３１、学習部１３２、翻訳部１３３及び抽出部１３４等と同様の処理を実行するプロセスを実行する。プロセッサ１０ｄは、例えば、ＣＰＵ、ＭＰＵ、ＡＳＩＣ等のハードウェア回路である。
【００９２】
このように翻訳装置１０は、プログラムを読み出して実行することで分類方法を実行する情報処理装置として動作する。また、翻訳装置１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、翻訳装置１０によって実行されることに限定されるものではない。例えば、他のコンピュータ又はサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【００９３】
このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ（Magneto−Optical  disk）、ＤＶＤ（Digital  Versatile  Disc）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【００９４】
１０  翻訳装置
１１  インタフェース部
１２  記憶部
１３  制御部
１３１  変換部
１３２  学習部
１３３  翻訳部
１３４  抽出部
１２１  特定モデル情報
１２２  文翻訳モデル情報
１２３  固有表現翻訳モデル情報
１２４  辞書情報
【図１】
2020166672.tif 000011
【図２】
2020166672.tif 000012
【図３】
2020166672.tif 000013
【図４】
2020166672.tif 000014
【図５】
2020166672.tif 000015
【図６】
2020166672.tif 000016
【図７】
2020166672.tif 000017
【図８】
2020166672.tif 000018
【図９】
2020166672.tif 000019
【図１０】
2020166672.tif 000020
【図１１】
2020166672.tif 000021
【図１２】
2020166672.tif 000022
【図１３】
2020166672.tif 000023
【図１４】
2020166672.tif 000024
【図１５】
2020166672.tif 000025