【国等の委託研究の成果に係る記載事項】(出願人による申告)平成29年度総務省「グローバルコミュニケーション計画の推進−多言語音声翻訳技術の研究開発及び社会実証−1.多言語音声翻訳技術の研究開発」委託事業、産業技術力強化法第19条の適用を受ける特許出願
(58)【調査した分野】(Int.Cl.,DB名)
前記評価部では、前記名詞への各カテゴリ仮付与のもとでの各変換結果を、前記正解との類似度によって評価することを特徴とする請求項1または2に記載の学習データ作成装置。
【発明を実施するための形態】
【0013】
図1は、一実施形態に係る学習データ作成装置10の機能ブロック図である。図示するように、学習データ作成装置10は、検索部1、仮付与部2、変換部3、評価部4及び出力部5を備える。学習データ作成装置10は、その全体的な動作として、互いに対応関係を有する第一コーパス及び第二コーパスを参照することにより、ユーザ等が指定した固有名詞W(より一般には名詞W)に対して、そのカテゴリC(W,j_max)及び対応する第一コーパスにおける用例EX1(W,i)を紐づけて学習データとして出力するものである。(なお、当該Wやj_maxやi等のインデクスに関しては、各部1〜5の説明を後述する際に詳述する。)
【0014】
以下、各部1〜5の動作の詳細を説明することにより、学習データ作成装置10の動作の詳細を説明する。なお、以下の説明では一例として、固有名詞Wに対してカテゴリC(W,j_max)及び対応する第一コーパスにおける用例EX1(W,i)を紐づけて出力する場合を説明するが、固有名詞Wに限らず一般名詞Wに関しても全く同様に、本発明を適用可能である。すなわち、学習データ作成装置10は一般に名詞W(固有名詞又は一般名詞等)を対象として動作することが可能である。
【0015】
図示する通り、ユーザ等が学習データの取得対象として指定する固有名詞Wは検索部1及び仮付与部2へと入力される。検索部1では、互いの対応関係が予め与えられている第一コーパス及び第二コーパスを参照し、当該指定された固有名詞Wが含まれるペアとしての第一用例EX1(W,i)及び第二用例EX(W,i)を各コーパスからそれぞれ検索して取得して、第一コーパスから取得した第一用例EX1(W,i)を変換部3へと出力し、第二コーパスから取得した第二用例EX2(W,i)を評価部4へと出力する。
【0016】
一実施形態において、検索部1での当該検索対象としての第一コーパス及び第二コーパスは、第一用例及び第二用例が構成される単位となる所定のテキスト単位(1つ以上のセンテンスで構成されていてもよい)で相互に対訳が与えられている第一言語のコーパス及び第二言語のコーパスによって実現することができる。例えば、第一言語は日本語であり、第二言語は英語であり、テキスト単位で日英翻訳の対応関係が与えられているものとして、第一コーパス及び第二コーパスを実現することができる。このようなテキスト単位で相互に対応している第一コーパス及び第二コーパスは、人手及び/又は自動で用意しておいたものを利用すればよい。
【0017】
以下、説明のための具体例として上記のような、日英翻訳コーパスとして第一コーパス(日本語コーパス)及び第二コーパス(英語コーパス)が構成されている場合に関して説明する。
【0018】
例えば、インデクスWで区別されるある固有名詞W=1として具体的に、ユーザが固有名詞「ヒルトン札幌ホテル」(W=1)を入力した場合、インデクスiで区別される日英翻訳の用例として、i=1での第一用例EX1(1,1)「ヒルトン札幌ホテルに泊まっています。」と、同インデクスi=1においてペアとして対応するその英訳としての第二用例EX2(1,1)「I am staying at the Hilton Sapporo hotel.」と、が検索されたものとする。以下でもこのようなW=1,i=1の具体例を説明のための模式例として用いる。なお、インデクスi=2以降のその他の所定数の互いに対応する日英翻訳文も検索されることとなるが、以下の各処理に関しては同様に可能である。また、インデクスW=2以降で指定されるその他のユーザ指定の固有名詞に関しても、以下の各処理は同様に可能である。
【0019】
仮付与部2では、ユーザ指定の固有名詞Wに関して、インデクスjで指定される所定の複数のカテゴリC(W,j)を仮のものとして付与して、当該仮付与されたカテゴリC(W,j)を変換部3へと出力する。ここで、当該仮に付与される複数のカテゴリC(W,j)の中から、後述する出力部5において学習データとして固有名詞Wに対応するカテゴリが決定されることから、仮付与部2では「仮」付与するものである。
【0020】
例えば、前述の模式例としての固有名詞「ヒルトン札幌ホテル」(W=1)に対して、インデクスj=1,2,3,…で区別される仮付与されるカテゴリC(W,j)としてC(1,1)「宿泊施設」、C(1,2)「食べ物」、C(1,3)「ランドマーク」、…等を仮付与部2において与えることができる。
【0021】
変換部3では、検索部1より得た第一用例EX1(W,i)(第一コーパスにおける文例)を、クラスベースの言語モデルを用いることにより、仮付与部2より得た仮のカテゴリC(W,j)のそれぞれのもとにおいて第二コーパスでの表現の文例へと変換することで各カテゴリC(W,j)における変換結果TR1(W,i,j)を得て、当該変換結果TR1(W,i,j)を評価部4へと出力する。
【0022】
変換部3における当該クラスベースの言語モデルを用いた自動での変換処理は、第一コーパス及び第二コーパスが与えられている具体的な態様に応じたものとすることができる。例えば、第一コーパスが日本語コーパスであり第二コーパスが英語コーパスであれば、変換部3は日本語から英語への自動翻訳処理を行うものとすればよく、既存手法の日英機械翻訳の処理をクラスベースの言語モデルを用いて行うものとして変換部3を実現することができる。
【0023】
例えば、前述の固有名詞インデクスW=1及び検索結果インデクスi=1で指定される第一用例EX1(1,1)「ヒルトン札幌ホテルに泊まっています」を、カテゴリインデクスj=1,2,3,…で指定されるC(1,1)「宿泊施設」、C(1,2)「食べ物」、C(1,3)「ランドマーク」、…等の各カテゴリにおいて日英機械翻訳した結果TR1(W=1,i=1,j=1,2,3,…)として、変換部3は以下を得ることができる。
TR1(1,1,1):I am staying at the Hilton Sapporo hotel
TR1(1,1,2):I am staying to a Hilton Sapporo hotel
TR1(1,1,3):I am staying at in Hilton Sapporo hotel
…
【0024】
評価部4では、変換部3からカテゴリC(W,j)毎に得た変換結果TR1(W,i,j)をそれぞれ、検索部1で検索した(同じインデクスi(及びW)において)対応する第二用例EX2(W,i)が当該変換結果における正解に該当するものとして評価することにより、そのスコアSC(W,i,j)を求め、当該スコアSC(W,i,j)を出力部5へと出力する。
【0025】
日英翻訳コーパス等として第一コーパス及び第二コーパスが与えられている場合であれば、前掲の非特許文献1,2等に開示のBLEUやRIBESなどの手法を用いることで、正解翻訳としての第二用例EX2(W,i)と、各カテゴリC(W,j)における機械翻訳結果としての変換結果TR1(W,i,j)と、の語順や単語の一致率(すなわち、当該両者のテキストとしての類似度)を自動評価値として計算することにより、当該自動評価値に基づいたスコアSC(W,i,j)を得ることができる。自動評価値とスコアSC(W,i,j)は同じ値としてもよいし、自動評価値に所定関数(増加関数)を適用したものをスコアSC(W,i,j)としてもよい。
【0026】
具体的には、BLEUでは、ハイパーパラメータである最大n-gram長を4とした場合、次式により、自動評価値(S
BLEU)の計算を行なうことができる。
S
BLEU=min(1, exp(1 - r/h))×(P
1 P
2 P
3 P
4)
1/4
ここで、rとhはそれぞれ正解訳と機械翻訳結果に含まれる単語数を表わし、P
nは正解訳と機械翻訳結果を比較した場合のn-gramの適合率を表わす。
【0027】
また、RIBESにおいては、次式により、自動評価値(S
RIBES)の計算を行なうことができる。
S
RIBES=Cor×(k/h)
α
ここで、kは正解訳と機械翻訳結果との間の共通の単語の数を表わし、hは上記BLEUにおいて説明した通りであり、Corは正解訳と機械翻訳結果の共通の単語の語順の順位相関係数を表わす。また、α(0≦α≦1)はペナルティに対するハイパーパラメータである。
【0028】
出力部5は、評価部4より得たカテゴリC(W,j)毎のスコアSC(W,i,j)を最大にするもののカテゴリのインデクスj=j_maxを求めることにより、ユーザ指定された固有名詞Wと、対応する当該スコア最大値を与えるカテゴリC(W,j_max)と、対応する第一用例EX1(W,i)と、を紐づけて、学習データ作成装置10からの最終的な結果としての学習データW,C(W,j_max),EX1(W,i)を出力する。なお、最大スコアを与えるカテゴリのインデクスj=j_maxは式で書けば以下の通りである。
【0030】
例えば、前述の例における日英機械翻訳した結果TR1(W=1,i=1,j=1,2,3,…)に関して、評価部4ではスコアがSC(1,1,1)=0.9, SC(1,1,2)=0.7, SC(1,1,3)=0.8,…等として求まることにより、出力部5では最大スコアを与えるもの(すなわち、変換部3での日英翻訳結果が最も高品質であったと評価部4で自動評価されたもの)がj=1の場合のSC(1,1,1)=0.9である旨を特定することができる。そして、出力部5では学習データとして、「ヒルトン札幌ホテル」(インデクスW=1の固有名詞)と、「宿泊施設」(当該W=1における最大値スコアを与えたインデクスj=1のカテゴリC(1,1))と、「ヒルトン札幌ホテルに泊まっています」(当該対応する第一用例EX(1,1))と、を紐づけた学習データを得ることができる。
【0031】
なお、「ヒルトン札幌ホテル」(インデクスW=1の固有名詞)の場合であっても、i=2以降で指定され検索部1で検索された別の第一用例EX1(W=1,i≧2)及び第二用例EX2(W=1,i≧2)のペアに関しては、その用例ペアの文脈(内容)によって、j=1の「宿泊施設」以外のカテゴリが対応カテゴリであるものとして、例えば道案内の文脈の用例において、j=3の「ランドマーク」のカテゴリに該当するものとして、学習データが得られることもありうる。
【0032】
以上、
図1の学習データ作成装置10の一実施形態に係る各部1〜5の説明より明らかなように、本発明においてはユーザ指定される固有名詞Wに対して、カテゴリC(W,j_max)及び第一用例EX1(W,i)を紐づけた学習データを自動で得ることが可能である。特に、当該指定する固有名詞Wを予め複数リストアップして与えておきそれぞれ学習データ作成装置10に入力することにより、一連の学習データを自動で得ることが可能である。
【0033】
図2は、以上の
図1の学習データ作成装置10に基づく、一実施形態に係るカテゴリ付与装置の機能ブロック図である。図示する通り、カテゴリ付与装置30は
図1で説明した学習データ作成装置10と、学習部6と、用例取得部7と、付与部8と、を備える。カテゴリ付与装置30はその全体的な動作として、学習データ作成装置10で作成した学習データを用いることにより、ユーザ指定される固有名詞X(第一コーパスにおける固有名詞)に対し、第一コーパスと同形式のデータベース(例えば第一コーパスが日本語コーパスであれば、日本語コーパスとしてのデータベース)を参照して第三用例EX3(X,k)を取得したうえで、当該固有名詞Xの第三用例EX3(X,k)におけるカテゴリC(X,k)を自動付与して出力することができる。なお、説明例として固有名詞Xを用いるが、
図1の場合と同様に、一般の名詞X(固有名詞、一般名詞等)を対象としてカテゴリ付与装置30は動作が可能である。
【0034】
なお、
図2に示すように、カテゴリ付与装置30のうち学習データ作成装置10及び学習部6の部分は、分類モデル学習装置20を構成しているものとみなすことができる。
【0035】
以下、カテゴリ付与装置30における上記の全体的な動作を実現する各部6〜8の動作の詳細を説明する。
【0036】
学習部6は、図示する通り、学習データ作成装置10の作成した学習データW,C(W,j_max),EX1(W,i)を読み込んで学習することにより、分類モデルを構築して付与部8へと出力する。なお、ここで、学習部6で読み込む学習データはインデクスWで区別される複数の固有名詞Wにつきそれぞれ、検索部1でヒットしたインデクスiでそれぞれ区別される複数の第一用例EX1(W,i)と、当該第一用例のインデクスi毎に(前述の数1より明らかなようにj_max=jmax(i)の形で)1つが対応しているカテゴリC(W,j_max(i))と、が紐づけられることで、一般に大量のデータとして与えられているものである。
【0037】
学習部6における当該学習は、非特許文献3,4,5(非特許文献5は以下参照)等でなされているのと同様に、CRF(条件付き確率場)や、深層学習を用いればよく、当該学習結果としての分類モデルが付与部8へと出力される。学習部6で得られる当該分類モデルを参照することで後述する付与部8はカテゴリ自動付与が可能となるものであり、当該分類モデルはすなわち、固有名詞が含まれる用例を入力として、当該固有名詞の当該用例におけるカテゴリを出力するためのモデルである。
[非特許文献5] 安田圭志, 高井公一,服部元, イラクレウスパニコス, 石川彰夫, 松本一則, 菅谷史昭"翻訳精度に基づく単語クラス自動推定手法",言語処理学会第24回年次大会,2018年3月(発表予定)
【0038】
用例取得部7は、ユーザ指定される固有名詞X(ここでは、
図1の学習データ作成装置10におけるユーザ指定の固有名詞Wと区別してインデクスXとしている。)に対し、第一コーパスと同種の外部のデータベース等を検索し、当該固有名詞を含みインデクスkで互いに区別される第三用例EX3(X,k)を取得し、付与部8へと当該第三用例EX3(X,k)を出力する。
【0039】
なお、用例取得部7では上記のように外部データベース等を検索するのではなく、ユーザが独自に指定した固有名詞X及び当該固有名詞Xを含む第三用例EX3(X,k)を取得するようにしてもよい。
【0040】
付与部8では、非特許文献3,4,5等でなされているのと同様に、学習部6で構築された分類モデルを付与部8から得た第三用例EX3(X,k)(及びここで指定されている固有名詞X)に適用することで、当該第三用例EX3(X,k)における固有名詞XのカテゴリC(X,k)を自動付与し、カテゴリ付与装置30からの最終的な結果として出力する。
【0041】
例えば、インデクスX=1で指定される固有名詞「シェラトン沖縄ホテル」に関して、インデクスk=1で指定される第三用例EX3(1,1)「シェラトン沖縄ホテルに泊まりたいです。」におけるカテゴリC(1,1)「宿泊施設」を、付与部8が自動出力することが可能である。なお、別のインデクスk=2で指定される別の第三用例EX3(1,2)に関しては、カテゴリC(1,2)が出力されることとなるが、用例の文脈によりカテゴリC(1,1)「宿泊施設」と一致するとは限らず、例えばC(1,2)として「ランドマーク」が出力されるような場合もありうる。
【0042】
以下、本発明における補足事項を説明する。
【0043】
(1)検索部1において、対応関係を有する第一コーパス及び第二コーパスより、固有名詞Wが含まれ互いに対応している第一用例EX1(W,i)及び第二用例EX2(W,i)をそれぞれ検索する際は、固有名詞Wは第一コーパスにおけるものとして検索してもよいし、第二コーパスにおけるものとして検索してもよい。例えば、第一コーパスにおける固有名詞Wで第一用例EX1(W,i)を検索してから、コーパス間でのテキスト同士の対応関係に基づいて対応する第二用例EX2(W,i)を取得するようにしてもよいし、この逆に第二コーパスにおける固有名詞Wで第二用例EX2(W,i)を検索してから対応する第一用例EX1(W,i)を取得するようにしてもよい。前述の例であれば、日本語(第一コーパス)での固有名詞W「ヒルトン札幌ホテル」で検索してもよいし、英語(第二コーパス)での対応する固有名詞W「Hilton Sapporo hotel」で検索してもよい。なお、各固有名詞Wに関して第一コーパス及び第二コーパスでの表現を併記した固有名詞の対訳辞書を予め用意しておくことで、以上のいずれの手法においても検索及び取得が可能となる。
【0044】
(2)第一コーパス及び第二コーパスは、説明例として用いた日本語及び英語に限らず、テキスト単位で対応関係(すなわち、テキスト単位での対訳の関係)が与えられている任意の第一言語コーパス及び第二言語コーパスを利用することができる。変換部3は、当該任意の第一言語から第二言語へとクラスベースの言語モデルで機械翻訳するものとして実現すればよい。例えば説明例とは逆に、第一コーパスを英語、第二コーパスを日本語としてもよい。
【0045】
(3)
図1及び
図2に示した学習データ作成装置10並びに分類モデル学習装置20及びカテゴリ付与装置30はそれぞれ、一般的な構成のコンピュータとして実現可能である。すなわち、CPU(中央演算装置)、当該CPUにワークエリアを提供する主記憶装置、ハードディスクやSSDその他で構成可能な補助記憶装置、キーボード、マウス、タッチパネルその他といったユーザからの入力を受け取る入力インタフェース、ネットワークに接続して通信を行うための通信インタフェース、表示を行うディスプレイ、カメラ及びこれらを接続するバスを備えるような、一般的なコンピュータによって各装置10,20,30を構成することができる。さらに、各装置10,20,30の各部の処理はそれぞれ、当該処理を実行させるプログラムを読み込んで実行するCPUによって実現することができるが、任意の一部の処理を別途の専用回路等において実現するようにしてもよい。