以下、添付図面を参照しながら本開示の実施形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
図1を参照して、一実施形態に係る生成装置10の構成を説明する。図1は、一実施形態に係る生成装置の機能ブロック図である。図1に示される生成装置10は、翻訳対象である第1言語の入力文から第2言語の翻訳文を生成する装置である。生成装置10は、第1言語と第2言語との対訳コーパス(以下、「第1対訳コーパス」と称する。)、及び第1言語と第3言語との対訳コーパス(以下、「第2対訳コーパス」と称する。)を利用して、翻訳文を生成する。対訳コーパスとは、機械翻訳の学習データとして利用するために構築された、互いに異なる言語の文と文とが対訳の形でまとめられた対訳データのコーパス(文のデータベース)である。つまり、第1対訳コーパスは、複数の対訳データ(第1対訳データ)を含み、各対訳データは、互いに対応付けられた第1言語の文と第2言語の文との組み合わせである。同様に、第2対訳コーパスは、複数の対訳データ(第2対訳データ)を含み、各対訳データは、互いに対応付けられた第1言語の文と第3言語の文との組み合わせである。
第1言語は、例えば日本語である。第2言語は、第1言語とは異なる言語であり、例えば中国語である。第3言語は、第1言語及び第2言語とは異なる言語であり、例えば英語である。第2対訳コーパスに含まれる対訳データのデータ量は、第1対訳コーパスに含まれる対訳データのデータ量よりも多い。このような関係を有する言語であれば、第1言語、第2言語、及び第3言語は、他のいかなる言語であってもよく、同じ言語の異なる方言であってもよい。言語は、自然言語に限らず、人工言語及び形式言語(コンピュータのプログラム言語)などであってもよい。
文は、形の上で完結した、一つの陳述によって統べられている言語表現の一単位である。文は、一つ以上の文からなるもの(例えば段落、又は文章など)に読み替えられてもよい。単語は、文法上の意味及び職能を有する、言語の最小単位であり、文の成分となる。単語は、一つ以上の単語からなるもの(例えば文節、又は表現など)に読み替えられてもよい。
生成装置10は、機能的には、取得部11と、正規化部12と、対訳コーパス記憶部13と、翻訳部14(第1翻訳部)と、対訳コーパス記憶部15と、出力部16と、を備える。
取得部11は、翻訳対象である第1言語の入力文を取得する。入力文は、例えば、ユーザが発した音声を音声認識した結果をテキスト化した文であってもよい。音声認識結果などが入力文として用いられる場合、入力文はフィラー、言い直し、及び言い淀みなどのノイズを含むことがある。入力文は、例えば、ユーザがキーボードなどの入力装置を用いて入力した文であってもよい。このような場合も、入力文は、入力間違いなどのノイズを含むことがある。取得部11は、入力文を正規化部12に出力する。
対訳コーパス記憶部13は、第2対訳コーパスを記憶(格納)する。第2対訳コーパスは、予め準備され、対訳コーパス記憶部13に格納されている。
正規化部12は、取得部11から入力文を受け取り、入力文を第1言語の正規化文に変換する。正規化文は、第1言語の文法的に正しい文である。文法的に正しい文とは、上述のノイズを含まない文であり、必ずしも主語及び述語などの文の構成要素を全て有していることを意味しない。正規化部12は、第2対訳コーパスを利用することによって、正規化文を生成する。具体的には、正規化部12は、対訳コーパス記憶部13に記憶されている第2対訳コーパスを用いて、入力文を第3言語に翻訳することによって、第3言語の翻訳文(以下、「正規化用翻訳文」と称する。)を生成するとともに、正規化用翻訳文を第1言語に翻訳することによって、正規化文を生成する。正規化部12は、翻訳部21(第2翻訳部)と、翻訳部22(第3翻訳部)と、を備える。
翻訳部21は、対訳コーパス記憶部13に記憶されている第2対訳データを利用して入力文を第3言語に翻訳することによって、正規化用翻訳文を生成する。翻訳部21は、入力文を入力として受け取り、正規化用翻訳文を出力するように、コンピュータを機能させるための機械翻訳モデルであってもよい。機械翻訳モデルの例としては、NMT(Neural Machine Translation)モデルが挙げられる。この場合、翻訳部21は、第2対訳コーパスに含まれる複数の対訳データのそれぞれを学習データとして用いた機械学習を実行することによって生成される。翻訳部21は、正規化用翻訳文を翻訳部22に出力する。
翻訳部22は、対訳コーパス記憶部13に記憶されている第2対訳データを利用して正規化用翻訳文を第1言語に翻訳することによって、正規化文を生成する。翻訳部22は、正規化用翻訳文を入力として受け取り、正規化文を出力するように、コンピュータを機能させるための機械翻訳モデル(例えば、NMT)であってもよい。この場合、翻訳部22は、第2対訳コーパスに含まれる複数の対訳データのそれぞれを学習データとして用いた機械学習を実行することによって生成される。翻訳部22は、正規化文を翻訳部14に出力する。
対訳コーパス記憶部15は、第1対訳コーパスを記憶(格納)する。第1対訳コーパスは、予め準備され、対訳コーパス記憶部15に格納されている。
翻訳部14は、正規化部12(翻訳部22)から正規化文を受け取り、正規化文を第2言語に翻訳することによって翻訳文を生成する。翻訳部14は、正規化文を入力として受け取り、翻訳文を出力するように、コンピュータを機能させるための機械翻訳モデル(例えば、NMT)であってもよい。この場合、翻訳部14は、対訳コーパス記憶部15に記憶されている第1対訳コーパスに含まれる複数の対訳データのそれぞれを学習データとして用いた機械学習を実行することによって生成される。翻訳部14は、翻訳文を出力部16に出力する。
出力部16は、翻訳文を出力する。出力部16は、例えば、翻訳部14から翻訳文を受け取ると、生成装置10の外部に翻訳文を出力する。出力部16は、例えば、ディスプレイ及びスピーカーなどの出力装置に翻訳文を出力してもよい。出力部16は、入力文と翻訳文との組み合わせを対訳データとして出力してもよい。
次に、図2~図4を参照して、生成装置10が行う生成方法について説明する。図2は、図1に示される生成装置が行う生成方法の一連の処理を示すフローチャートである。図3は、図2の正規化処理を詳細に示すフローチャートである。図4は、図1に示される生成装置による翻訳結果の一例を示す図である。図2に示される一連の処理は、例えば、ユーザが発話することによって開始される。図4に示される例では、第1言語として日本語が用いられ、第2言語として中国語が用いられ、第3言語として英語が用いられる。
図2に示されるように、まず、取得部11が、第1言語(ここでは、日本語)の入力文を取得する(ステップS01)。図4に示される例では、取得部11は、日本語の入力文Si1を取得する。この入力文Si1は、ユーザの発話を音声認識することによって得られた文であり、フィラー、言い直し、及び言い淀みなどのノイズを含む。そして、取得部11は、入力文を正規化部12に出力する。
続いて、正規化部12は、取得部11から入力文を受け取ると、入力文を正規化する(ステップS02)。ステップS02では、図3に示されるように、まず翻訳部21が、入力文を第3言語(ここでは、英語)に翻訳することによって、正規化用翻訳文を生成する(ステップS11)。図4に示される例では、英語の正規化用翻訳文Sm1が生成される。この正規化用翻訳文Sm1は、入力文Si1と同様の意味を有するが、入力文Si1に含まれていたノイズを含まない。そして、翻訳部21は、正規化用翻訳文を翻訳部22に出力する。
続いて、翻訳部22は、翻訳部21から正規化用翻訳文を受け取ると、正規化用翻訳文を第1言語に翻訳することによって、正規化文を生成する(ステップS12)。図4に示される例では、日本語の正規化文Sn1が生成される。この正規化文Sn1は、入力文Si1からノイズを除去した文であり、入力文Si1と同様の意味を有する。そして、翻訳部22は、正規化文を翻訳部14に出力する。
続いて、翻訳部14は、正規化部12から正規化文を受け取ると、正規化文を第2言語(ここでは、中国語)に翻訳することによって、翻訳文を生成する(ステップS03)。例えば、図4に示される例では、中国語の翻訳文St1が生成される。この翻訳文St1の意味は、「ITを活用することで、企業の業務効率化に成功します。」である。そして、翻訳部14は、翻訳文を出力部16に出力する。
続いて、出力部16は、翻訳部14から翻訳文を受け取ると、翻訳文を出力する(ステップS04)。出力部16は、例えば、生成装置10の外部に翻訳文を出力する。出力部16は、例えば、ディスプレイ及びスピーカーなどの出力装置に翻訳文を出力してもよい。
以上により、生成方法の一連の処理が終了する。
図5をさらに参照して、生成装置10の作用効果を説明する。図5は、比較例による翻訳結果を示す図である。フィラー、言い直し、及び言い淀みなどのノイズを含む入力文として入力文Si1を中国語に直接翻訳した場合、図5に示される翻訳文St100が生成される。この翻訳文St100の意味は、「企業の業務の効率化は良いですが、ITの活用はIT活用で成功します。」である。この例のように、第1対訳コーパスのデータ量が第2対訳コーパスのデータ量よりも少ないので、入力文にノイズが含まれていると、翻訳精度が低下する。
一方、生成装置10では、第1言語と第3言語との第2対訳コーパスを利用することによって第1言語の入力文が正規化文に変換される。正規化文は、第1言語の文法的に正しい文であるので、入力文を正規化文に変換することによって、フィラー、言い直し、言い淀み、及び入力間違いなどのノイズを除去することができる。そして、ノイズを含まない正規化文が第2言語に翻訳されることによって翻訳文が生成されるので、翻訳文に及ぼすノイズの影響を低減することができる。その結果、翻訳精度を向上させることが可能となる。
具体的には、翻訳部21が、第2対訳データを利用して入力文を第3言語に翻訳することによって、正規化用翻訳文を生成する。翻訳部22が、第2対訳データを利用して正規化用翻訳文を第1言語に翻訳することによって、正規化文を生成する。この構成によれば、第2対訳コーパスのデータ量が十分に多い場合には、入力文にノイズが含まれていたとしても、ノイズを含まない正規化用翻訳文、及び正規化文が得られる。例えば、図4に示されるように、正規化用翻訳文Sm1、及び正規化文Sn1には、ノイズが含まれていない。そして、ノイズを含まない正規化文が第2言語に翻訳されることによって翻訳文が生成されるので、翻訳文に及ぼすノイズの影響を低減することができる。
翻訳部21及び翻訳部22は、第2対訳コーパスを用いた機械学習を実行する機械翻訳モデルである。この構成によれば、翻訳部21及び翻訳部22を十分な量の第2対話コーパスを用いて学習させることによって、正規化文の精度を向上させることが可能となる。
図6~図8を参照して、別の実施形態に係る生成装置10Aの構成を説明する。図6は、別の実施形態に係る生成装置の機能ブロック図である。図7は、学習データを説明するための図である。図8は、誤り表現の検出処理を説明するための図である。図6に示される生成装置10Aは、正規化部12に代えて正規化部12Aを備える点、並びに生成部17及び正規化対訳コーパス記憶部18をさらに備える点において、生成装置10と主に相違する。なお、図7,8,10に示される例では、翻訳対象である第1言語の入力文として日本語の入力文が用いられるが、上述のように入力文は、日本語の入力文に限られず、英語及び中国語といった他の言語の入力文であってもよい。
生成部17は、後述する正規化モデル23を学習させるための学習データを生成する。生成部17は、原文コーパス記憶部71と、対訳コーパス記憶部72と、翻訳部73(第2翻訳部)と、翻訳部74(第3翻訳部)と、正規化対訳コーパス記憶部75と、を備える。
原文コーパス記憶部71は、原文コーパスを記憶する。原文コーパスは、第1言語の文である複数の学習用原文から構成されるデータベースである。学習用原文は、正規化される前の文であり、フィラー、言い直し、言い淀み、及び入力間違いなどのノイズを含み得る。学習用原文は、例えば、人間の自然な発話を音声認識によりテキスト化することによって得られる。複数の学習用原文は、予め準備され、原文コーパス記憶部71に格納されている。なお、取得部11によって取得された入力文が、学習用原文として原文コーパスに追加されてもよい。
対訳コーパス記憶部72は、対訳コーパス記憶部13と同様の機能を有しており、第2対訳コーパスを記憶(格納)する。第2対訳コーパスは、予め準備され、対訳コーパス記憶部72に格納されている。
翻訳部73は、翻訳部21と同様の機能を有しており、対訳コーパス記憶部72に記憶されている第2対訳データを利用して学習用原文を第3言語に翻訳することによって、第3言語の学習用翻訳文を生成する。翻訳部73は、学習用原文を入力として受け取り、学習用翻訳文を出力するように、コンピュータを機能させるための機械翻訳モデル(例えば、NMT)であってもよい。この場合、翻訳部73は、第2対訳コーパスに含まれる複数の対訳データのそれぞれを学習データとして用いた機械学習を実行することによって生成される。翻訳部73は、学習用翻訳文を学習用原文とともに翻訳部74に出力する。
翻訳部74は、翻訳部22と同様の機能を有しており、対訳コーパス記憶部72に記憶されている第2対訳データを利用して学習用翻訳文を第1言語に翻訳することによって、第1言語の学習用正規化文を生成する。学習用正規化文は、第1言語の文法的に正しい文であり、学習用原文を正規化することによって得られる。言い換えると、学習用正規化文は、学習用原文からノイズを除去することによって得られる。翻訳部74は、学習用翻訳文を入力として受け取り、学習用正規化文を出力するように、コンピュータを機能させるための機械翻訳モデル(例えば、NMT)であってもよい。この場合、翻訳部74は、第2対訳コーパスに含まれる複数の対訳データのそれぞれを学習データとして用いた機械学習を実行することによって生成される。翻訳部74は、学習用正規化文及び学習用原文の組み合わせを正規化対訳コーパス記憶部75に出力する。
正規化対訳コーパス記憶部75は、正規化対訳コーパスを記憶(格納)する。正規化対訳コーパスは、複数の正規化対訳データから構成されるデータベースである。各正規化対訳データは、互いに対応付けられた学習用原文と学習用正規化文との組み合わせである。正規化対訳コーパス記憶部75は、翻訳部74から学習用原文と当該学習用原文を正規化した学習用正規化文との組み合わせを受け取ると、この組み合わせを正規化対訳データとして正規化対訳コーパスに追加する。図7に示される例では、日本語の学習用原文Slo3と日本語の学習用正規化文Sln3とが対応付けられた正規化対訳データが示されている。学習用原文Slo3は、ノイズを含む。学習用正規化文Sln3は、学習用原文Slo3からノイズが除去された文である。この学習用正規化文Sln3の意味は、「ITの活用により企業の業務効率化を成功させることができる。」である。
正規化対訳コーパス記憶部18は、別の正規化対訳コーパスを記憶(格納)する。別の正規化対訳コーパスは、複数の正規化対訳データから構成されるデータベースである。各正規化対訳データは、タグ付き学習用原文と学習用正規化文との組み合わせである。タグ付き学習用原文は、学習用原文と同様に、正規化される前の文であり、フィラー、言い直し、言い淀み、及び入力間違いなどのノイズを含み得る。タグ付き学習用原文は、さらに除外表現の指定を含む。除外表現の指定には、原文と区別し得る記号が用いられる。例えば、<tab>に続く文字列が除外表現として指定される。つまり、タグ付き学習用原文は、「(原文)<tab>(除外表現)」といった構成を有する。
図7に示される例では、日本語のタグ付き学習用原文Stag1が示されている。このタグ付き学習用原文Stag1は、ノイズを含む原文So1と、除外表現Pe1と、を含む。同様に、日本語のタグ付き学習用原文Stag2は、ノイズを含む原文So2と、除外表現Pe2と、を含む。
学習用正規化文は、タグ付き学習用原文において指定されている除外表現を含まない第1言語の文法的に正しい文であり、タグ付き学習用原文を正規化することによって得られる。言い換えると、学習用正規化文は、タグ付き学習用原文からノイズが除去されるとともに、除外表現が含まれないように生成される。図7に示されるように、タグ付き学習用原文Stag1に対応付けられた日本語の学習用正規化文Sln1には、除外表現Pe1が含まれていない。この学習用正規化文Sln1の意味は、「そして、周波数においても協力を行っています。」である。同様に、タグ付き学習用原文Stag2に対応付けられた日本語の学習用正規化文Sln2には、除外表現Pe2が含まれていない。この学習用正規化文Sln2の意味は、「それから、KTのローミング生産の計画があります。」である。
正規化部12Aは、正規化部12と同様に、取得部11から入力文を受け取り、入力文を正規化文に変換する。正規化部12Aは、正規化モデル23と、検出部24と、を備える。
正規化モデル23は、入力文を入力として受け取り、正規化文を出力するように、コンピュータを機能させるための機械翻訳モデル(例えば、NMT)である。正規化モデル23は、第2対訳コーパスを用いて生成された学習データを用いた機械学習を実行することによって生成される。具体的には、図7に示されるように、正規化モデル23は、正規化対訳コーパス記憶部75に記憶されている正規化対訳コーパスに含まれる複数の正規化対訳データ、及び正規化対訳コーパス記憶部18に記憶されている別の正規化対訳コーパスに含まれる複数の正規化対訳データのそれぞれを学習データとして用いた機械学習を実行することによって生成される。正規化モデル23は、生成装置10Aを稼働させる前に学習させることによって生成される。正規化モデル23は、さらに、正規化対訳コーパス記憶部75又は正規化対訳コーパス記憶部18に記憶されている正規化対訳コーパスに新たな正規化対訳データが追加されるごとに上記学習データを学習してもよく、予め定められた時間が経過するごとに上記学習データを学習してもよい。
正規化モデル23は、取得部11又は検出部24から入力文を入力として受け取り、正規化文を出力する。正規化モデル23は、入力文に対し、正規化文を構成し得る候補となる単語である候補単語、及び各候補単語の尤度を生成する。正規化モデル23は、正規化文を構成し得る候補単語の中から最も尤度の高い単語を順次選択し、選択された単語を並べた文字列を正規化文として出力する。なお、検出部24から受け取る入力文においては除外表現が指定されているので、正規化モデル23は、候補単語から除外表現を除いて正規化文を生成する。一方、取得部11から受け取る入力文においては除外表現が指定されていないので、正規化モデル23は、除外表現を考慮することなく、通常通りに正規化文を生成する。正規化モデル23は、入力文及び正規化文を、当該正規化文を構成する各単語の尤度とともに検出部24に出力する。
図7に示されるように、正規化モデル23は、除外表現が指定されていない日本語の入力文Si2を受け取ると、日本語の正規化文Sn2を出力する。正規化モデル23は、除外表現Pe3が指定されている日本語の入力文Si3を受け取ると、除外表現Pe3が含まれていない日本語の正規化文Sn3を出力する。正規化文Sn2及び正規化文Sn3の意味はいずれも、「今から会議を始めます。」である。なお、入力文Si3に除外表現Pe3が指定されていない場合、正規化モデル23は、除外表現Pe3を含む日本語の正規化文Sn3aを出力する可能性がある。正規化文Sn3aの意味は、「今から鼻会議を始めます。」である。
検出部24は、正規化モデル23から入力文、正規化文、及び各単語の尤度を受け取り、正規化文に含まれている誤り表現を検出する。具体的には、検出部24は、正規化文に含まれる各単語の尤度と予め設定された閾値とを比較することによって、誤変換された単語を検出し、検出された単語に基づいて誤り表現を検出する。検出部24は、例えば、閾値よりも小さい尤度の単語を誤変換された単語として検出する。本実施形態では、検出部24は、検出された単語を含む句(例えば、名詞句)を誤り表現として検出する。検出部24は、誤り表現を検出した場合、入力文に誤り表現を除外表現として指定し、入力文として正規化モデル23に出力する。誤り表現が検出されなかった場合、検出部24は、正規化文を翻訳部14に出力する。
図8に示される例では、正規化文Sn4が正規化モデル23から出力される。単語W1の尤度は、0.2であり、単語W2~W6の尤度は、いずれも0.8である。閾値は、例えば、0.7以上に設定されている。検出部24は、各単語の尤度と閾値と、を比較し、閾値よりも小さい尤度を有する単語W1を検出する。検出部24は、単語W1を含む名詞句(図8の例では、単語W1+単語W2)を誤り表現E1として検出し、誤り表現E1を除外表現として入力文に指定して正規化モデル23に出力する。
次に、図2、図8~図10を参照して、生成装置10Aが行う生成方法について説明する。図9は、図6に示される生成装置が行う生成方法の正規化処理を詳細に示すフローチャートである。図10は、図6に示される生成装置が行う正規化処理の一例を示す図である。生成装置10Aが行う生成方法は、生成装置10が行う生成方法とステップS02の正規化処理において相違するので、正規化処理以外の処理については説明を省略する。
図9に示されるように、ステップS02では、まず正規化モデル23が入力文を正規化する(ステップS21)。具体的には、正規化モデル23は、取得部11から入力文を受け取り、入力文と当該入力文を正規化した正規化文とを、正規化文を構成する各単語の尤度とともに検出部24に出力する。
続いて、検出部24は、正規化モデル23から入力文、正規化文、及び各単語の尤度を受け取ると、正規化文に誤り表現が存在するか否かを判定する(ステップS22)。具体的には、検出部24は、正規化文に含まれる各単語の尤度と閾値とを比較し、閾値よりも小さい尤度が存在する場合には、誤り表現が存在すると判定する(ステップS22;YES)。そして、検出部24は、閾値よりも小さい尤度の単語に基づいて、誤り表現を検出(抽出)する。ここでは、検出部24は、検出された単語を含む句(例えば、名詞句)を誤り表現として検出する。そして、検出部24は、入力文に誤り表現を除外表現として指定し、入力文として正規化モデル23に出力する(ステップS23)。
続いて、正規化モデル23は、検出部24から入力文を受け取ると、入力文を正規化する(ステップS21)。このとき、正規化モデル23は、除外表現を含まない正規化文を生成する。そして、正規化モデル23は、入力文と当該入力文を正規化した正規化文とを、正規化文を構成する各単語の尤度とともに検出部24に出力する。そして、ステップS22の判定処理が再び行われる。
ステップS22において、正規化文を構成する全ての単語の尤度が閾値以上である場合には、検出部24は、正規化文に誤り表現が存在しないと判定する(ステップS22;NO)。そして、検出部24は、正規化文を翻訳部14に出力する。
図10に示される例では、日本語の入力文Si4が正規化され、日本語の正規化文Sn4が生成される。そして、正規化文Sn4を構成する単語のうち、単語W1の尤度が閾値よりも小さい(図8参照)ので、単語W1を含む名詞句(単語W1+単語W2)が誤り表現E1として検出される。そして、入力文Si4に誤り表現E1を除外表現Pe4として追加することによって、日本語の入力文Si4aが生成される。そして、入力文Si4aが正規化モデル23に出力される。入力文Si4aは、入力文Si4の最後尾に<tab>及び誤り表現E1が文字列として追加された文である。つまり、入力文Si4aでは、誤り表現E1が除外表現Pe4として指定されている。そして、誤り表現E1が含まれないように入力文Si4aが正規化され、日本語の正規化文Sn4aが生成される。この正規化文Sn4aを構成する全ての単語の尤度が閾値よりも大きいので、当該正規化文Sn4aが翻訳部14に出力される。なお、正規化文Sn4aの意味は、「それから、KTのローミング生産の計画があります。」である。
図11~図13を参照して、英語の文章を用いた例を説明する。図11は、学習データを説明するための図である。図12は、誤り表現の検出処理を説明するための図である。図13は、図6に示される生成装置が行う正規化処理の別の例を示す図である。なお、図11~図13は、図7,8,10にそれぞれ対応している。
図11に示される例では、正規化対訳コーパス記憶部18は、英語のタグ付き学習用原文Stag11と英語の学習用正規化文Sln11とが対応付けられた正規化対訳データと、英語のタグ付き学習用原文Stag12と英語の学習用正規化文Sln12とが対応付けられた正規化対訳データと、を記憶している。タグ付き学習用原文Stag11は、ノイズを含む原文So11と、除外表現Pe11と、を含む。同様に、タグ付き学習用原文Stag12は、ノイズを含む原文So12と、除外表現Pe12と、を含む。学習用正規化文Sln11は、タグ付き学習用原文Stag11において指定されている除外表現Pe11を含まない文であり、原文So11からノイズを除去することによって得られた文である。学習用正規化文Sln12は、タグ付き学習用原文Stag12において指定されている除外表現Pe12を含まない文であり、原文So12からノイズを除去することによって得られた文である。
正規化対訳コーパス記憶部75は、英語の学習用原文Slo13と英語の学習用正規化文Sln13とが対応付けられた正規化対訳データを記憶している。学習用原文Slo13は、ノイズを含む。学習用正規化文Sln13は、学習用原文Slo13からノイズが除去された文である。
正規化モデル23は、除外表現が指定されていない英語の入力文Si12を受け取ると、英語の正規化文Sn12を出力する。正規化文Sn12は、入力文Si12からノイズを除去することによって得られる文である。正規化モデル23は、除外表現Pe13が指定されている英語の入力文Si13を受け取ると、除外表現Pe13が含まれていない英語の正規化文Sn13を出力する。正規化文Sn13は、入力文Si13において指定されている除外表現Pe13を含まない文であり、入力文Si13からノイズを除去することによって得られた文である。なお、入力文Si13に除外表現Pe13が指定されていない場合、正規化モデル23は、除外表現Pe13を含む英語の正規化文Sn13aを出力する可能性がある。
図12に示される例では、正規化文Sn14が正規化モデル23から出力される。単語W11の尤度は、0.2であり、単語W12~W16の尤度は、いずれも0.8である。閾値は、例えば、0.7以上に設定されている。検出部24は、各単語の尤度と閾値と、を比較し、閾値よりも小さい尤度を有する単語W11を検出する。検出部24は、単語W11を含む名詞句(図12の例では、単語W1)を誤り表現E11として検出し、誤り表現E11を除外表現として入力文に指定して正規化モデル23に出力する。
図13に示される例では、英語の入力文Si14が正規化され、英語の正規化文Sn14が生成される。そして、正規化文Sn14を構成する単語のうち、単語W11の尤度が閾値よりも小さい(図12参照)ので、単語W11を含む名詞句(単語W11)が誤り表現E11として検出される。そして、入力文Si14に誤り表現E11を除外表現Pe14として追加することによって、英語の入力文Si14aが生成される。そして、入力文Si14aが正規化モデル23に出力される。入力文Si14aは、入力文Si14の最後尾に<tab>及び誤り表現E11が文字列として追加された文である。つまり、入力文Si14aでは、誤り表現E11が除外表現Pe14として指定されている。そして、誤り表現E11が含まれないように入力文Si14aが正規化され、英語の正規化文Sn14aが生成される。この正規化文Sn14aを構成する全ての単語の尤度が閾値よりも大きいので、当該正規化文Sn14aが翻訳部14に出力される。
以上のように、生成装置10Aにおいても、生成装置10と同様の効果が奏される。生成装置10Aでは、正規化部12Aは、第2対訳コーパスを用いて生成された学習データを用いた機械学習を実行することによって生成された機械翻訳モデルである正規化モデル23を備え、正規化モデル23は、入力文を受け取り、正規化文を出力する。この構成によれば、生成装置10と比較して、入力文から正規化文を生成するために用いられる機械翻訳モデルの数を半分(1つ)に減らすことができる。したがって、正規化処理に要する時間を短縮することができ、正規化処理の速度を向上させることが可能となる。生成装置10Aでは、生成装置10と比較して、ハードウェアの規模を縮小することができるので、コストを削減することが可能となる。
生成装置10Aでは、生成部17が、正規化モデル23を学習させるための学習データを生成する。具体的には、翻訳部73が、第2対訳データを利用して第1言語の学習用原文を第3言語に翻訳することによって、学習用翻訳文を生成する。翻訳部74が、第2対訳データを利用して学習用翻訳文を第1言語に翻訳することによって、第1言語の文法的に正しい学習用正規化文を生成する。学習用原文及び学習用正規化文が学習データとして生成される。この構成によれば、学習用原文を準備するだけで、翻訳部73及び翻訳部74によって学習用正規化文が生成されるので、学習データを容易に生成することができる。
翻訳部73及び翻訳部74は、第2対訳コーパスを用いた機械学習を実行することによって生成された機械翻訳モデルである。この構成によれば、翻訳部73及び翻訳部74を十分な量の第2対話コーパスによって学習させることによって、学習用正規化文の精度を向上させることが可能となる。その結果、正規化モデル23によって行われる正規化処理の精度を向上させることが可能となる。
検出部24は、正規化文に含まれる誤り表現を検出し、誤り表現に基づく除外表現の指定を入力文に付加して、除外表現の指定が付加された入力文を正規化モデル23に出力する。正規化モデル23は、除外表現の指定が付加された入力文を受け取り、除外表現を含まない正規化文を出力する。この構成によれば、正しく正規化することができなかった表現を誤り表現として検出することができ、誤り表現を含まない正規化文を得ることができる。したがって、正規化処理の精度を向上させることができるので、翻訳文に及ぼすノイズの影響をさらに低減することができる。その結果、翻訳精度をさらに向上させることが可能となる。
正規化モデル23は、正規化文とともに正規化文を構成する各単語の尤度を出力する。単語の尤度が低いほど、その単語は正しく正規化することができなかった単語である可能性が高い。したがって、検出部24は、各単語の尤度に基づいて誤り表現を検出する。この構成によれば、例えば、尤度の低い単語を含む句を誤り表現として検出することができる。その結果、誤り表現の検出精度を向上させることが可能となる。
正規化モデル23は、入力文を入力として受け取り、正規化文を出力するように、コンピュータを機能させるための機械翻訳モデルである。正規化モデル23は、学習用原文と学習用原文を第1言語の文法的に正しい文に変換することによって得られた学習用正規化文との組み合わせを学習データとして用いた機械学習を実行することによって生成される。この構成によれば、上記学習データにより正規化モデル23を学習させることによって、正規化処理の精度を向上させることが可能となる。
正規化モデル23は、除外表現の指定を含む別の学習用原文と、別の学習用原文を第1言語の文法的に正しい文であって除外表現を含まない文に変換することによって得られた別の学習用正規化文と、の組み合わせをさらに学習データとして用いた機械学習を実行することによって生成される。この構成によれば、正規化モデル23は、除外表現の指定を含む入力文を受け取った場合に、当該除外表現を含まない正規化文を出力することが可能となる。したがって、正規化処理の精度をさらに向上させることが可能となる。
以上、本開示の実施形態が説明されたが、本開示は上記実施形態に限定されない。
生成装置10,10Aは、物理的又は論理的に結合した1つの装置によって構成されていてもよく、互いに物理的又は論理的に分離している複数の装置によって構成されてもよい。例えば、生成装置10,10Aは、クラウドコンピューティングのようにネットワーク上に分散された複数のコンピュータによって実現されてもよい。以上のように、生成装置10,10Aの構成は、生成装置10,10Aの機能を実現し得るいかなる構成をも含み得る。
生成装置10は、対訳コーパス記憶部13を備えていなくてもよく、外部から第2対訳コーパスを取得してもよい。同様に、生成装置10Aは、対訳コーパス記憶部72を備えていなくてもよく、外部から第2対訳コーパスを取得してもよい。同様に、生成装置10,10Aは、対訳コーパス記憶部15を備えていなくてもよく、外部から第1対訳コーパスを取得してもよい。生成装置10Aは、生成部17を備えていなくてもよく、外部から正規化対訳コーパスを取得してもよい。生成装置10Aは、正規化対訳コーパス記憶部18を備えていなくてもよく、外部から別の正規化対訳コーパスを取得してもよい。
翻訳部21は、第2対訳コーパスを用いて入力文を正規化用翻訳文に変換する機能を有していればよく、機械翻訳モデルでなくてもよい。翻訳部22は、第2対訳コーパスを用いて正規化翻訳文を正規化文に変換する機能を有していればよく、機械翻訳モデルでなくてもよい。翻訳部14は、第1対訳コーパスを用いて正規化文を翻訳文に変換する機能を有していればよく、機械翻訳モデルでなくてもよい。翻訳部73は、第2対訳コーパスを用いて学習用原文を学習用翻訳文に変換する機能を有していればよく、機械翻訳モデルでなくてもよい。翻訳部74は、第2対訳コーパスを用いて学習用翻訳文を学習用正規化文に変換する機能を有していればよく、機械翻訳モデルでなくてもよい。
出力部16は、例えば、入力文と翻訳文との組み合わせを対訳データとして対訳コーパス記憶部15に記憶されている第1対訳コーパスに追加してもよい。この場合、翻訳部14は、第1対訳コーパスに対訳データが追加されるごとに学習してもよく、予め定められた時間が経過するごとに学習してもよい。この構成によれば、翻訳部14の翻訳精度を向上させることが可能となる。
なお、上記実施形態の説明に用いられたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、及び割り振り(assigning)などがあるが、これらの機能に限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)又は送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
例えば、本開示の一実施の形態における生成装置10,10Aは、本開示の処理を行うコンピュータとして機能してもよい。図14は、本開示の実施形態に係る生成装置10,10Aのハードウェア構成の一例を示す図である。上述の生成装置10,10Aは、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、及びバス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、及びユニットなどに読み替えることができる。生成装置10,10Aのハードウェア構成は、図に示された各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
生成装置10,10Aにおける各機能は、プロセッサ1001及びメモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、及びレジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述の生成装置10,10Aの各機能は、プロセッサ1001によって実現されてもよい。
プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、及びデータなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、生成装置10,10Aの各機能は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、及びRAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、又はメインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の実施形態に係る生成方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバ、その他の適切な媒体であってもよい。
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。通信装置1004は、例えば周波数分割複信(FDD:Frequency Division Duplex)及び時分割複信(TDD:Time Division Duplex)の少なくとも一方を実現するために、高周波スイッチ、デュプレクサ、フィルタ、周波数シンセサイザなどを含んで構成されてもよい。例えば、上述の取得部11、及び出力部16などは、通信装置1004によって実現されてもよい。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
プロセッサ1001及びメモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
生成装置10,10Aは、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
情報の通知は、本開示において説明された態様/実施形態に限られず、他の方法を用いて行われてもよい。
本開示において説明された各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明された方法については、例示的な順序を用いて様々なステップの要素が提示されており、提示された特定の順序に限定されない。
情報等は、上位レイヤ(又は下位レイヤ)から下位レイヤ(又は上位レイヤ)へ出力され得る。情報等は、複数のネットワークノードを介して入出力されてもよい。
入出力された情報等は、特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理されてもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本開示において説明された各態様/実施形態は単独で用いられてもよいし、組み合わせて用いられてもよいし、実行に伴って切り替えて用いられてもよい。所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行われる構成に限られず、暗黙的に(例えば、当該所定の情報の通知を行わないことによって)行われてもよい。
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とし、本開示に対して何ら制限的な意味を有しない。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
本開示において説明された情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本開示において説明された用語及び本開示の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えられてもよい。
本開示において使用される「システム」及び「ネットワーク」という用語は、互換的に使用される。
本開示において説明された情報、及びパラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
上述されたパラメータに使用される名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示された内容と異なる場合もある。
本開示で使用される「判断(determining)」、及び「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、及び「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。「判断」、及び「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。「判断」、及び「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、又は「みなす(considering)」などで読み替えられてもよい。
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含んでもよい。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で「接続」又は「結合」が使用される場合、接続又は結合される2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
本開示において使用される「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本開示において使用される「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
上記の各装置の構成における「部」は、「回路」、「デバイス」等に置き換えられてもよい。
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
本開示において、例えば、英語での「a」、「an」及び「the」のように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、及び「結合される」などの用語も、「異なる」と同様に解釈されてもよい。