(57)【特許請求の範囲】
【請求項１】
コンピュータに、
第１の言語における単語空間に含まれる単語の分散表現を、前記分散表現を学習する学習器を用いて学習し、
前記第１の言語と異なる第２の言語における単語空間の中で、前記第１の言語における単語空間に含まれる単語と共通する単語および共通しない単語を分類し、
前記第２の言語における単語空間の中の前記共通する単語の分散表現を、前記共通する単語に対応する前記第１の言語の単語の分散表現に替えて、前記学習器のパラメータを調整する
処理を実行させることを特徴とする学習プログラム。
【請求項２】
前記調整する処理によって調整されたパラメータを前記学習器に入力し、前記第２の言語における単語空間の中の前記共通しない単語の分散表現を、前記学習器を用いて学習する
ことを特徴とする請求項１に記載の学習プログラム。
【請求項３】
該学習した結果、前記共通する単語および前記共通しない単語の分散表現を出力する
ことを特徴とする請求項２に記載の学習プログラム。
【請求項４】
前記第１の言語における単語空間は、言語資源が規定量より多い単語空間であり、前記第２の言語における単語空間は、言語資源が前記規定量より少ない単語空間である
ことを特徴とする請求項１または請求項２に記載の学習プログラム。
【請求項５】
前記学習器は、Ｗｏｒｄ２Ｖｅｃを含む単語の分散表現を学習するプログラムの１つのアルゴリズムにより前記単語の分散表現を学習する
ことを特徴とする請求項１または請求項２に記載の学習プログラム。
【請求項６】
第１の言語における単語空間に含まれる単語の分散表現を、前記分散表現を学習する学習器を用いて学習する学習部と、
前記第１の言語と異なる第２の言語における単語空間の中で、前記第１の言語における単語空間に含まれる単語と共通する単語および共通しない単語を分類する分類部と、
前記第２の言語における単語空間の中の前記共通する単語の分散表現を、前記共通する単語に対応する前記第１の言語の単語の分散表現に替えて、前記学習器のパラメータを調整する調整部と、
を有することを特徴とする情報処理装置。
【請求項７】
コンピュータが、
第１の言語における単語空間に含まれる単語の分散表現を、前記分散表現を学習する学習器を用いて学習し、
前記第１の言語と異なる第２の言語における単語空間の中で、前記第１の言語における単語空間に含まれる単語と共通する単語および共通しない単語を分類し、
前記第２の言語における単語空間の中の前記共通する単語の分散表現を、前記共通する単語に対応する前記第１の言語の単語の分散表現に替えて、前記学習器のパラメータを調整する
各処理を実行することを特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習プログラムなどに関する。
【背景技術】
【０００２】
文章処理において、高精度な単語の表現を如何に獲得するかが、重要であり、従来から多くの研究がなされている。近年では、単語の表現を獲得する技術として、Ｗｏｒｄ２Ｖｅｃがよく知られている（例えば、非特許文献１参照）。【０００３】
Ｗｏｒｄ２Ｖｅｃは、「似た単語は同じような文に登場する」という考え方（Distribution  hypothesis）に基づいて単語の分散表現を獲得する仕組みである。ここでいう単語の分散表現とは、単語間の意味的な関係をベクトルで表現したものである。Ｗｏｒｄ２Ｖｅｃは、入力層、隠れ層および出力層からなるニューラルネットワークの教師付き学習方法を活用し、文中に現れる単語であって与えられた単語と周辺の単語との関係および与えられた単語の分散表現を学習する。Ｗｏｒｄ２Ｖｅｃには、Ｃｏｎｔｉｎｕｏｕｓ−Ｂａｇ−ｏｆ−ＷｏｒｄｓモデルとＳｋｉｐ−ｇｒａｍモデルが提案されている。ここでいうＳｋｉｐ−ｇｒａｍモデルとは、与えられた単語に対応するベクトルを入力し、周辺の単語を予測するモデルである。【０００４】
図８は、Ｗｏｒｄ２ＶｅｃのＳｋｉｐ−ｇｒａｍモデルを示す図である。図８に示すように、Ｓｋｉｐ−ｇｒａｍモデルに対して、Input  layer（入力層）、Hidden  layer（隠れ層）およびOutput  layer（出力層）からなるニューラルネットワークが構築される。【０００５】
入力層には、文中に現れる単語であって与えられた単語に対応するＶ次元の入力ベクトルｘが入力される。入力ベクトルｘは、Ｖ次元のｏｎｅ−ｈｏｔベクトルである。Ｖは、文中の単語数である。ｏｎｅ−ｈｏｔベクトルとは、与えられた単語に対応する要素を１、他の要素を０とするベクトルのことをいう。【０００６】
隠れ層には、与えられた単語のＮ次元の単語ベクトルｈが生成される。ＷＶ×Ｎは、入力層と隠れ層との間の重みであり、Ｖ×Ｎの行列により表わされる。出力層には、Ｃ個のパネルにそれぞれＶ次元の出力ベクトルｙＣが生成される。かかるＣは、パネル数であり、ｙＣは、与えられた単語の前後にある単語に対応する出力ベクトルである。Ｗ´Ｎ×Ｖは、隠れ層と出力層との間の重みであり、Ｎ×Ｖの行列により表わされる。【０００７】
Ｓｋｉｐ−ｇｒａｍモデルは、入力層（Input  layer）に入力する入力ベクトルとしてＶ次元のｏｎｅ―ｈｏｔベクトルｘｖを入力する。そして、Ｓｋｉｐ−ｇｒａｍモデルは、入力したｏｎｅ−ｈｏｔベクトルｘｖをＮ次元の隠れ層（Hidden  layer）に写像した後、Ｃ個の単語に対応するそれぞれのＶ次元の出力ベクトルを出力層（Output  layer）に出力する。【０００８】
そして、Ｓｋｉｐ−ｇｒａｍモデルは、出力されたＣ個の出力ベクトルがそれぞれ予め定められた予測ベクトルと異なれば、その差分を学習すべく、隠れ層と出力層との間の重みＷ´Ｎ×Ｖ、入力層と隠れ層との間の重みＷＶ×Ｎの順にパラメータである重みを更新する。このようなパラメータの更新は、例えばバックプロパゲーションで行われる。【０００９】
そして、繰り返し学習して得られた隠れ層の単語ベクトルｈが、与えられた単語（入力ベクトルｘ）の分散表現となる。【００１０】
このような単語の分散表現を異なる２つのタスクでそれぞれ学習し、学習された単語の分散表現を用いてタスク間のベクトル変換を学習する技術が知られている（例えば、非特許文献２参照）。かかる技術では、あるタスクでの未知語の分散表現を獲得するために、別のタスクで学習された分散表現から目的関数を経由して変換する。【００１１】
図９は、単語の分散表現を用いたタスク間のベクトル変換の一例を示す図である。図９に示すように、タスクとして変換元の単語空間およびタスクとして変換先の単語空間がある場合に、異なるタスク間のペアの単語のそれぞれの分散表現から変換関数（mapping  function）を学習する。そして、変換元の単語のペアとなる単語が変換先に存在しない場合には、すなわち、変換先の単語が未知語である場合には、変換元の単語の分散表現と変換関数とから変換先の未知語の分散表現を獲得する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特表２００８−５４７０３８号公報
【特許文献２】特開２００９−３８８８号公報
【特許文献３】特開２００８−６５４６８号公報
【非特許文献】
【００１３】
【非特許文献１】Tomas  Mikolov,  Kai  Chen,  Greg  Corrado,  and  Jeffrey  Dean.  Efficient  Estimation  of  Word  Representations  in  Vector  Space.  In  Proceedings  of  Workshop  at  ICLR,  2013.
【非特許文献２】Madhyastha,  Pranava  Swaroop,  et  al.  “Mapping  Unseen  Words  to  Task-Tranined  Embedding  Spaces”
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかしながら、従来技術では、変換元に存在するが変換先に存在しない単語の分散表現を学習するが、変換先に存在するが変換元に存在しない単語の分散表現を学習することはできない。また、単語の分散表現の学習は、そもそも言語資源が十分である場合を想定し、言語資源が十分でない場合を想定していない。したがって、変換先の単語空間の言語資源が十分でない場合に、変換先の単語の分散表現を学習することができない。【００１５】
本発明は、１つの側面では、単語空間の言語資源が十分でない場合であっても、高精度の分散表現の学習を実現することを目的とする。
【課題を解決するための手段】
【００１６】
１つの態様では、学習プログラムは、コンピュータに、第１の言語における単語空間に含まれる単語の分散表現を、前記分散表現を学習する学習器を用いて学習し、前記第１の言語と異なる第２の言語における単語空間の中で、前記第１の言語における単語空間に含まれる単語と共通する単語および共通しない単語を分類し、前記第２の言語における単語空間の中の前記共通する単語の分散表現を、前記共通する単語に対応する前記第１の言語の単語の分散表現に替えて、前記学習器のパラメータを調整する、処理を実行させる。
【発明の効果】
【００１７】
１実施態様によれば、単語空間の言語資源が十分でない場合であっても、高精度の分散表現の学習を実現することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、実施例に係る情報処理装置の構成を示す機能ブロック図である。
【図２】図２は、実施例に係る単語の分散表現の学習の概要を説明する図である。
【図３Ａ】図３Ａは、実施例に係る分散表現学習処理の一例を示す図（１）である。
【図３Ｂ】図３Ｂは、実施例に係る分散表現学習処理の一例を示す図（２）である。
【図３Ｃ】図３Ｃは、実施例に係る分散表現学習処理の一例を示す図（３）である。
【図４】図４は、実施例に係るパラメータ調整処理の一例を示す図である。
【図５】図５は、実施例に係るパラメータ調整済分散表現学習処理の一例を示す図である。
【図６】図６は、実施例に係る学習処理のフローチャートの一例を示す図である。
【図７】図７は、情報処理装置のハードウェアの構成の一例を示す図である。
【図８】図８は、Ｗｏｒｄ２ＶｅｃのＳｋｉｐ−ｇｒａｍモデルを示す図である。
【図９】図９は、単語の分散表現を用いたタスク間のベクトル変換の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下に、本願の開示する学習プログラム、情報処理装置および学習方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
【実施例】
【００２０】
［実施例に係る情報処理装置の構成］
図１は、実施例に係る情報処理装置の構成を示す機能ブロック図である。図１に示す情報処理装置１は、言語資源が規定量より多い言語を基準言語とし、当該基準言語における単語の分散表現を利用して、言語資源が規定量より少ない言語における単語の分散表現を学習する。ここでいう単語の分散表現とは、単語間の意味的な関係をベクトルで表現したものである。なお、以降では、言語資源が規定量より多い言語を基準言語として、言語資源が規定量より少ない言語を対象言語として説明する。【００２１】
ここで、情報処理装置１によって行われる単語の分散表現の学習の概要を、図２を参照して説明する。図２は、実施例に係る単語の分散表現の学習の概要を説明する図である。図２に示すように、基準言語の単語空間Ｗ０と対象言語の単語空間Ｗ１が存在する。基準言語の単語空間Ｗ０は、言語資源が多い言語の単語空間であり、例えば、英語の単語空間である。対象言語の単語空間Ｗ１は、言語資源が少ない言語の単語空間であり、例えば、日本語の単語空間である。【００２２】
情報処理装置１は、基準言語の単語空間Ｗ０を対象にして、単語の分散表現を獲得する技術を用いて、単語空間Ｗ０に含まれる単語の分散表現を獲得する。なお、単語の分散表現を獲得する技術は、単語の分散表現を学習するプログラムの１つのアルゴリズムであれば良く、例えば、Ｗｏｒｄ２ＶｅｃのＳｋｉｐ−ｇｒａｍモデルである。【００２３】
情報処理装置１は、対象言語の単語空間Ｗ１の中で、基準言語の単語空間Ｗ０に含まれる単語と共通する単語の単語群（ａ群）と、基準言語の単語空間Ｗ０に含まれる単語と共通しない単語の単語群（ｂ群）とを分類する。ここでは、対象言語の単語空間Ｗ１の中の「リンゴ」、「バナナ」、「オレンジ」および「カッター」は、基準言語の単語空間Ｗ０に含まれる単語「apple」、「banana」、「orange」および「cutter」とそれぞれ共通するので、ａ群として分類される。一方、対象言語の単語空間Ｗ１の中の「刀」は、基準言語の単語空間Ｗ０に含まれる単語と共通しないので、ｂ群として分類される。【００２４】
そして、情報処理装置１は、ａ群の場合には、対象言語におけるａ群の単語の分散表現に、基準言語における、当該単語と共通する単語の分散表現を流用し、Ｗｏｒｄ２Ｖｅｃを含む単語の分散表現を学習するプログラムの１つのアルゴリズムの所定のパラメータを調整する。ここでは、例えば、ａ群の単語「リンゴ」の分散表現は、「apple」の分散表現として流用される。ａ群の単語「バナナ」の分散表現は、「banana」の分散表現として流用される。【００２５】
そして、情報処理装置１は、ｂ群の場合には、調整された所定のパラメータを、Ｗｏｒｄ２Ｖｅｃを含む単語の分散表現を学習するプログラムの１つのアルゴリズムに入力し、対象言語におけるｂ群の単語の分散表現を学習する。すなわち、情報処理装置１は、対象言語における共通しない単語を、ａ群の単語の位置に合わせて、共通しない単語の相対的な分散表現を学習する。ここでは、例えば、ｂ群の単語「刀」の分散表現は、ａ群の単語の位置に合わせて相対的に学習される。【００２６】
これにより、情報処理装置１は、対象言語における単語空間の言語資源が十分でない場合であっても、高精度の分散表現の学習を実現することが可能となる。つまり、単語の分散表現の学習は、言語資源が十分でない場合を想定しておらず、言語資源が十分でない場合には当該言語資源の単語の分散表現を学習することができなかった。しかしながら、情報処理装置１は、言語資源が十分でない場合であっても、高精度の分散表現の学習を実現することが可能となる。【００２７】
図１に戻って、情報処理装置１は、学習部１０と、記憶部２０とを有する。学習部１０は、ＣＰＵ（Central  Processing  Unit）などの電子回路に対応する。そして、学習部１０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。学習部１０は、分散表現学習部１１、単語分類部１２、パラメータ調整部１３、パラメータ調整済分散表現学習部１４および学習終了判定部１５を有する。【００２８】
記憶部２０は、例えば、ＲＡＭ、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部２０は、基準言語学習用コーパス２１、対象言語学習用コーパス２２およびアライメント辞書２３を有する。【００２９】
基準言語学習用コーパス２１は、基準言語の学習に用いられる基準言語で書かれたコーパスである。対象言語学習用コーパス２２は、対象言語の学習に用いられる対象言語で書かれたコーパスである。なお、コーパスとは、文章の集まりのことをいう。【００３０】
アライメント辞書２３は、基準言語の表現、対象言語の表現において、単語の対応関係を有する辞書である。例えば、基準言語が英語、対象言語が日本語である場合には、アライメント辞書２３は、英語の表現、日本語の表現において、単語の対応関係を有する。アライメント辞書２３には、一例として、日本におけるオンライン英語辞書サービスであるｗｅｂｌｉｏ辞書が挙げられる。【００３１】
分散表現学習部１１は、基準言語における単語空間に含まれる単語の分散表現を、単語の分散表現を獲得する技術を用いて学習する。例えば、分散表現学習部１１は、基準言語学習用コーパス２１を受け取り、基準言語学習用コーパス２１に含まれる単語の分散表現を、例えば、Ｗｏｒｄ２ＶｅｃのＳｋｉｐ−ｇｒａｍモデルを用いて学習する。なお、Ｗｏｒｄ２ＶｅｃのＳｋｉｐ−ｇｒａｍモデルでの学習は、既存の技術を使って行われる。かかる学習は、“Tomas  Mikolov,  Kai  Chen,  Greg  Corrado,  and  Jeffrey  Dean.  Efficient  Estimation  of  Word  Representations  in  Vector  Space.  In  Proceedings  of  Workshop  at  ICLR,  2013.”に開示されている技術を使って行えば良い。また、“Xin  Rong.  word2vec  Parameter  Learning  Explained”に開示されている技術を使って行えば良い。【００３２】
ここで、分散表現学習部１１によって行われる分散表現学習処理を、図３Ａ〜図３Ｃを参照して説明する。図３Ａ〜図３Ｃは、実施例に係る分散表現学習処理の一例を示す図である。図３Ａ〜図３Ｃでは、単語の分散表現を獲得する技術をＷｏｒｄ２ＶｅｃのＳｋｉｐ−ｇｒａｍモデルとして説明する。なお、基準言語は、英語であるとし、対象言語は、日本語であるとする。また、基準言語学習用コーパス２１は、「I  drink  apple  juice.・・・」であるとする。【００３３】
分散表現学習部１１は、Ｓｋｉｐ−ｇｒａｍモデルに対して、Input  layer（入力層）、Hidden  layer（隠れ層）およびOutput  layer（出力層）からなるニューラルネットワークを構築する。【００３４】
まず、入力層、隠れ層および出力層について説明する。Input  layer（入力層）には、与えられた単語に対応するＶ次元の入力ベクトルｘが入力される。入力ベクトルｘは、ｏｎｅ−ｈｏｔベクトルである。Ｖは、基準言語学習用コーパス２１に含まれる単語の数である。なお、ｏｎｅ−ｈｏｔベクトルとは、与えられた単語に対応する要素を１、他の要素を０とするベクトルのことをいう。【００３５】
また、Hidden  layer（隠れ層）には、最終的には、与えられた単語「apple」の分散表現であるＮ次元の単語ベクトルｈが生成される。Ｗｖ×Ｎは、入力層と隠れ層との間の重みであり、Ｖ×Ｎの行列により表わされる。Ｗｖ×Ｎの各要素の初期状態として、例えば、ランダムな値が与えられる。【００３６】
また、Output  layer（出力層）には、図示しないＣ個のパネルにそれぞれＶ次元の出力ベクトルｙｃが生成される。かかるＣは、予め定められるパネル数であり、ｙｃは、与えられた単語の前後にある単語に対応する出力ベクトルである。Ｗ´Ｎ×Ｖは、隠れ層と出力層との間の重みであり、Ｎ×Ｖの行列により表わされる。Ｗ´Ｎ×Ｖの各要素の初期状態として、例えば、ランダムな値が与えられる。【００３７】
図３Ａに示すように、このような入力層、隠れ層および出力層からなるニューラルネットワークを活用したＳｋｉｐ−ｇｒａｍモデルにより、分散表現学習部１１は、与えられた単語の分散表現を学習する。例えば、入力ベクトルｘが、基準言語学習用コーパス２１内の与えられた単語「apple」に対応する要素を１、他の要素を０とするｏｎｅ−ｈｏｔベクトルであるとする。すると、分散表現学習部１１は、与えられた単語「apple」に対応する入力ベクトルｘを受け付けると、入力ベクトルｘにＷＶ×Ｎの重みをかけて隠れ層の単語ベクトルｈを生成する。そして、分散表現学習部１１は、単語ベクトルｈにＷ´Ｎ×Ｖの重みをかけて出力層の出力ベクトルｙを生成する。すなわち、分散表現学習部１１は、初期状態のＷｖ×Ｎ、Ｗｖ×Ｎを使って予測する。この結果、単語「drink」である確率が０．１２３０、単語「juice」である確率が０．１２７７と予測される。【００３８】
次に、図３Ｂに示すように、分散表現学習部１１は、実際に算出された出力ベクトルｙが予め定められた予測ベクトルと異なれば、その差分に基づいてＷ´Ｎ×ＶおよびＷＶ×Ｎの順にパラメータである重みを更新する。このようなパラメータの更新は、例えば、バックプロパゲーションという。そして、分散表現学習部１１は、入力ベクトルｘに、更新されたＷＶ×Ｎの重みをかけて隠れ層の単語ベクトルｈを生成する。そして、分散表現学習部１１は、単語ベクトルｈに、更新されたＷ´Ｎ×Ｖの重みをかけて出力層の出力ベクトルｙを生成する。すなわち、分散表現学習部１１は、更新状態のＷｖ×Ｎ、Ｗ´Ｎ×Ｖを使って予測する。この結果、単語「drink」である確率が０．１２３６、単語「juice」である確率が０．１２８９と予測され、前回の予測値より微増している。【００３９】
次に、図３Ｃに示すように、分散表現学習部１１は、バックプロパゲーションのアルゴリズムを用いて、出力ベクトルが最適になるまで繰り返す（イテレーションする）。出力ベクトルが最適であるとは、与えられた単語の周辺の各単語における出現確率の同時確率を最大になることである。すなわち、与えられた単語の周辺の各単語における出現確率が、同時に１．０に近似することである。例えば、分散表現学習部１１は、予め定められた回数だけ繰り返すようにすれば良い。予め定められた回数は、一例として、５００回であるが、最適となる回数を実験によって求めれば良い。この結果、分散表現学習部１１は、隠れ層に現れる単語ベクトルｈを、与えられた単語「apple」の分散表現として獲得する。【００４０】
同様に、分散表現学習部１１は、与えられる単語を替えることで、与えられる単語の分散表現を獲得すれば良い。【００４１】
図１に戻って、単語分類部１２は、基準言語と異なる対象言語における単語空間の中で、基準言語における単語空間に含まれる単語と共通する単語および共通しない単語を分類する。例えば、単語分類部１２は、対象言語学習用コーパス２２を形態素解析し、解析した結果の単語を出力する。そして、単語分類部１２は、解析した結果の単語およびアライメント辞書２３を用いて、対象言語および基準言語の間の単語の対応関係を獲得する。すなわち、単語分類部１２は、対象言語の中で、基準言語における単語と共通する単語および共通しない単語を分類する。ここでいう共通する単語とは、対象言語の中で、基準言語と同じ意味を持つ単語のことをいい、共通しない単語とは、基準言語に同じ意味を持つ単語がない単語のことをいう。一例として、対象言語における「りんご」は、基準言語における「apple」と同じ意味を持つ単語であるので、共通する単語である。対象言語における「刀」は、基準言語に同じ意味を持つ単語がない単語であるので、共通しない単語である。【００４２】
パラメータ調整部１３は、対象言語における単語空間の中の共通する単語の分散表現を、共通する単語に対応する基準言語の単語の分散表現に置き換えて、単語の分散表現を獲得する技術のパラメータを調整する。例えば、パラメータ調整部１３は、対象言語学習用コーパス２２を受け取り、対象言語学習用コーパス２２に含まれる単語であって共通する単語を選択し、選択した単語の分散表現を基準言語の単語の分散表現に置き換える。すなわち、パラメータ調整部１３は、Ｓｋｉｐ−ｇｒａｍにおける隠れ層を基準言語の単語の分散表現に置き換える。そして、パラメータ調整部１３は、隠れ層と出力層との間のパラメータである重みＷ´Ｎ×Ｖを調整する。パラメータ調整部１３は、全ての共通する単語を順次選択し、選択した単語について、かかるパラメータ調整処理を行う。【００４３】
ここで、パラメータ調整部１３によって行われるパラメータ調整処理を、図４を参照して説明する。図４は、実施例に係るパラメータ調整処理の一例を示す図である。なお、基準言語は、英語であるとし、対象言語は、日本語であるとする。また、対象言語学習用コーパス２２は、「・・・赤いリンゴを食べた・・・」であるとする。対象言語学習用コーパス２２内で、共通する単語が「リンゴ」であるとする。そして、図４では、共通する単語「リンゴ」を用いてパラメータの調整をする場合を説明する。【００４４】
図４に示すように、パラメータ調整部１３は、基準言語と対象言語との間で共通して出現する単語「リンゴ」を用いて、隠れ層と出力層との間のパラメータである重みＷ´Ｎ×Ｖを調整する。【００４５】
例えば、パラメータ調整部１３は、隠れ層の単語ベクトルｈｉを「apple」の分散表現に置き換える。そして、パラメータ調整部１３は、隠れ層を固定して、隠れ層と出力層との間のパラメータである重みＷ´Ｎ×Ｖを調整する。すなわち、パラメータ調整部１３は、隠れ層の単語ベクトルｈｉおよび出力層の出力ベクトルｙ１〜Ｃ，ｊの値を使って重みＷ´Ｎ×Ｖを調整する。【００４６】
なお、ｈｉのｉは、隠れ層の単語ベクトルのｉ番目の要素を指すインデックスである。ｘｋのｋは、入力する単語に対応するＶ次元のｏｎｅ−ｈｏｔベクトルのｋ番目の要素を指すインデックスである。ｙ１〜Ｃ，ｊのＣは、予め定められるパネルの数であり、入力する単語の前後を表す単語の最大数である。ｙ１〜Ｃ，ｊのｊは、出力層のＣ番目の単語に対応する出力ベクトルのｊ番目の要素を示すインデックスである。【００４７】
そして、パラメータ調整部１３は、実際に算出された出力ベクトルｙ１〜Ｃ，ｊが予め定められた予測ベクトルと異なれば、その差分に基づいてパラメータである重みＷ´Ｎ×Ｖを更新する。パラメータの更新は、分散表現学習部１１により行われる場合と同様の方法で行われる。すなわち、パラメータの更新方法は、例えば、バックプロパゲーションを用いれば良い。【００４８】
図１に戻って、パラメータ調整済分散表現学習部１４は、パラメータ調整部１３によって調整されたパラメータを用いて、対象言語における単語空間の中の共通しない単語の分散表現を学習する。例えば、パラメータ調整済分散表現学習部１４は、対象言語学習用コーパス２２を受け取り、対象言語学習用コーパス２２に含まれる単語であって共通しない単語である場合には、以下の処理を行う。パラメータ調整済分散表現学習部１４は、パラメータ調整部１３によって調整済みのパラメータである重みＷ´Ｎ×Ｖを設定する。そして、パラメータ調整済分散表現学習部１４は、共通しない単語のＯｎｅ−ｈｏｔベクトルを入力層に入力し、共通しない単語の分散表現をＷｏｒｄ２ＶｅｃのＳｋｉｐ−ｇｒａｍモデルを用いて学習する。【００４９】
ここで、パラメータ調整済分散表現学習部１４によって行われるパラメータ調整済分散表現学習処理を、図５を参照して説明する。図５は、実施例に係るパラメータ調整済分散表現学習処理の一例を示す図である。なお、基準言語は、英語であるとし、対象言語は、日本語であるとする。また、対象言語学習用コーパス２２は、「・・・赤いリンゴを食べた・・・」であるとする。対象言語学習用コーパス２２内で、共通しない単語が「赤い」、「を」、「食べた」であり、共通する単語が「リンゴ」であるとする。そして、図５では、共通しない単語「赤い」の分散表現の学習をする場合を説明する。【００５０】
図５に示すように、パラメータ調整済分散表現学習部１４は、Ｓｋｉｐ−ｇｒａｍモデルにパラメータ調整部１３によって調整されたパラメータである重みＷ´Ｎ×Ｖを設定したうえで、共通しない単語の分散表現を学習する。なお、分散表現の学習方法は、分散表現学習部１１で説明した方法と同様である。例えば、入力ベクトルｘが入力する単語として共通しない単語「赤い」に対応する要素を１、他の要素を０とするｏｎｅ−ｈｏｔベクトルであるとする。すると、パラメータ調整済分散表現学習部１４は、入力する単語「赤い」に対応する入力ベクトルｘを受け付けると、入力ベクトルｘにＷＶ×Ｎの重みをかけて隠れ層の単語ベクトルｈを生成する。そして、分散表現学習部１１は、単語ベクトルｈにＷ´Ｎ×Ｖの重みをかけて出力層の出力ベクトルｙを生成する。そして、パラメータ調整済分散表現学習部１４は、実際に算出された出力ベクトルｙが予め定められた予測ベクトルと異なれば、その差分に基づいてＷ´Ｎ×ＶおよびＷＶ×Ｎの順にパラメータである重みを更新する。そして、パラメータ調整済分散表現学習部１４は、繰り返し、入力する単語「赤い」の分散表現の学習を通じてパラメータを調整する。【００５１】
図１に戻って、学習終了判定部１５は、学習の終了を判定する。【００５２】
例えば、学習終了判定部１５は、パラメータである重みＷ´Ｎ×Ｖの更新前後の差が閾値より小さくなった場合には、学習を終了する。重みＷ´Ｎ×Ｖの更新前とは、パラメータ調整部１３の終了時の重み、すなわち、パラメータ調整済分散表現学習部１４の開始時の重みである。重みＷ´Ｎ×Ｖの更新後とは、パラメータ調整済分散表現学習部１４の終了時の重みである。すなわち、学習の終了条件は、式（１）で示される。なお、Ｗ´Ｎ×Ｖｎｅｗは、Ｗ´Ｎ×Ｖの更新後である。Ｗ´Ｎ×Ｖｏｌｄは、Ｗ´Ｎ×Ｖの更新前である。εは、閾値である。閾値は、更新前後の差が十分小さいと判断できる値であれば良い。
Ｗ´Ｎ×Ｖｎｅｗ−Ｗ´Ｎ×Ｖｏｌｄ＜ε・・・式（１）【００５３】
そして、学習終了判定部１５は、パラメータである重みＷ´Ｎ×Ｖの更新前後の差が閾値以上である場合には、パラメータ調整部１３およびパラメータ調整済分散表現学習部１４を繰り返す。【００５４】
なお、学習終了判定部１５は、学習の終了条件として重みＷ´Ｎ×Ｖの更新前後の差が閾値より小さくなった場合であると説明したが、これに限定されない。学習終了判定部１５は、所定の繰り返し（イテレーション）回数分繰り返した場合であっても良い。【００５５】
［学習処理のフローチャート］
図６は、実施例に係る学習処理のフローチャートの一例を示す図である。なお、言語資源が規定量より多い、基準言語の単語空間および言語資源が規定量より少ない、対象言語の単語空間が存在するものとする。【００５６】
図６に示すように、学習部１０は、学習処理要求を受け付けたか否かを判定する（ステップＳ１０）。学習処理要求を受け付けていないと判定した場合には（ステップＳ１０；Ｎｏ）、学習部１０は、学習処理要求を受け付けるまで、判定処理を繰り返す。【００５７】
一方、学習処理要求を受け付けたと判定した場合には（ステップＳ１０；Ｙｅｓ）、分散表現学習部１１は、基準言語の分散表現を学習する（ステップＳ２０）。例えば、分散表現学習部１１は、基準言語における単語の分散表現をｗｏｒｄ２ＶｅｃのＳｋｉｐ−ｇｒａｍモデルを用いて学習する。【００５８】
そして、単語分類部１２は、両言語間で、共通して出現する単語群と共通しない単語群とを分類する（ステップＳ３０）。例えば、単語分類部１２は、対象言語学習用コーパス２２を形態素解析し、解析した結果の単語を出力する。単語分類部１２は、解析した結果の単語およびアライメント辞書２３を用いて、対象言語および基準言語の間の単語の対応関係を獲得する。そして、単語分類部１２は、対応関係を用いて、対象言語の中で、基準言語における単語と共通する単語群および共通しない単語群を分類する。【００５９】
続いて、パラメータ調整部１３は、共通して出現する対象言語の単語群について、分散表現学習の学習パラメータＷ´を調整する（ステップＳ４０）。例えば、パラメータ調整部１３は、共通する単語群から順次単語を選択し、選択した単語の分散表現を基準言語の単語の分散表現に置き換える。すなわち、パラメータ調整部１３は、Ｓｋｉｐ−ｇｒａｍモデルにおける隠れ層を基準言語の単語の分散表現に置き換える。そして、パラメータ調整部１３は、隠れ層と出力層との間のパラメータである重みＷ´Ｎ×Ｖを調整する。【００６０】
続いて、パラメータ調整済分散表現学習部１４は、調整した学習パラメータＷ´を入力し、共通しない対象言語の単語群について、分散表現を学習する（ステップＳ５０）。例えば、パラメータ調整済分散表現学習部１４は、パラメータ調整部１３によって調整されたパラメータである重みＷ´Ｎ×ＶをＳｋｉｐ−ｇｒａｍモデルに設定する。パラメータ調整済分散表現学習部１４は、共通しない対象言語の単語群から順次単語を選択し、選択した単語のＯｎｅ−ｈｏｔベクトルを入力層に入力し、選択した単語の分散表現をＳｋｉｐ−ｇｒａｍモデルを用いて学習する。【００６１】
そして、学習終了判定部１５は、学習の終了条件を満たすか否かを判定する（ステップＳ６０）。例えば、学習終了判定部１５は、パラメータである重みＷ´Ｎ×Ｖの更新前後の差が閾値より小さくなったか否かを判定する。ここでいう重みＷ´Ｎ×Ｖの更新前とは、パラメータ調整部１３によって調整されたパラメータである重みである。重みＷ´Ｎ×Ｖの更新後とは、パラメータ調整済分散表現学習部１４によって調整されたパラメータである重みである。学習の終了条件を満たさないと判定した場合には（ステップＳ６０；Ｎｏ）、学習終了判定部１５は、更新後の重みＷ´Ｎ×Ｖをさらに調整すべく、ステップＳ４０に移行する。【００６２】
一方、学習の終了条件を満たすと判定した場合には（ステップＳ６０；Ｙｅｓ）、学習終了判定部１５は、学習処理を終了する。【００６３】
なお、実施例に係る学習処理は、単語の分散表現を獲得することで、単語の意味を解釈できるようになり、文書検索や文の類似関係の検索を高精度に行うことができるようになる。また、実施例に係る学習処理は、Ｑ／Ａ（Question／Answer）サイトに適用されることで、過去の膨大な問合せ（Question）の中から適切な回答（Answer）を高精度に検索することができるようになる。特に、コンピュータに関連するＱ／Ａサイトは英語のサイトが多いものの、英語から日本語など多言語に展開されつつある。Ｑ／Ａが膨大になるにつれて、機械学習を用いて学習することが望まれるが、機械学習を用いるには、膨大な言語資源が必要となる。英語に比べて日本語では言語資源が少ないため、実施例に係る学習処理を利用することで、英語の情報を有効に活用できるようになる。【００６４】
［実施例の効果］
上記実施例によれば、情報処理装置１は、第１の言語における単語空間に含まれる単語の分散表現を、分散表現を学習する学習器を用いて学習する。情報処理装置１は、第１の言語と異なる第２の言語における単語空間の中で、第１の言語における単語空間に含まれる単語と共通する単語および共通しない単語を分類する。情報処理装置１は、第２の言語における単語空間の中の共通する単語の分散表現を、共通する単語に対応する第１の言語の単語の分散表現に替えて、学習器のパラメータを調整する。かかる構成によれば、情報処理装置１は、第２の言語における言語資源の分散表現を学習する際に、第１の言語における言語資源の分散表現を利用することで、第２の言語における言語資源の分散表現を高精度に獲得できる。すなわち、情報処理装置１は、第２の言語における言語資源が十分でない場合であっても、十分な言語資源を有する第１の言語における言語資源の分散表現を利用することで、分散表現を高精度に獲得できる。【００６５】
また、上記実施例によれば、情報処理装置１は、調整されたパラメータを学習器に入力し、第２の言語における単語空間の中の共通しない単語の分散表現を、学習器を用いて学習する。かかる構成によれば、情報処理装置１は、第２の言語における単語空間にあって第１の言語における単語空間にないような単語の分散表現の学習を実現することが可能となる。【００６６】
また、上記実施例によれば、情報処理装置１は、該学習した結果、共通する単語および共通しない単語の分散表現を出力する。かかる構成によれば、情報処理装置１は、第２の言語における単語空間について、単語の意味を解釈できるようになり、文書検索や文の類似関係の検索を高精度に行うことができる。【００６７】
また、上記実施例によれば、情報処理装置１は、第１の言語における単語空間は、言語資源が規定量より多い単語空間であり、第２の言語における単語空間は、言語資源が規定量より少ない単語空間である。かかる構成によれば、情報処理装置１は、単語空間の言語資源が十分でない場合であっても、高精度の分散表現の学習を実現することが可能となる。【００６８】
［その他］
なお、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、パラメータ調整部１３およびパラメータ調整済分散表現学習部１４を併合しても良い。また、記憶部２０を情報処理装置１の外部装置としてネットワーク経由で接続するようにしても良い。【００６９】
図７は、情報処理装置のハードウェア構成の一例を示す図である。図７に示すように、コンピュータ５００は、各種演算処理を実行するＣＰＵ５０１と、ユーザからのデータ入力を受け付ける入力装置５０２と、モニタ５０３とを有する。また、コンピュータ５００は、記憶媒体からプログラムなどを読み取る媒体読取装置５０４と、他の装置と接続するためのインターフェース装置５０５と、他の装置と無線により接続するための無線通信装置５０６とを有する。また、コンピュータ５００は、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）５０７と、ハードディスク装置５０８とを有する。また、各装置５０１〜５０８は、バス５０９に接続される。【００７０】
ハードディスク装置５０８には、図１に示した学習部１０と同様の機能を有する学習プログラムが記憶される。また、ハードディスク装置５０８には、学習プログラムを実現するための各種データが記憶される。各種データには、図１に示した記憶部２０内のデータが含まれる。【００７１】
ＣＰＵ５０１は、ハードディスク装置５０８に記憶された各プログラムを読み出して、ＲＡＭ５０７に展開して実行することで、各種の処理を行う。これらのプログラムは、コンピュータ５００を図１に示した各機能部として機能させることができる。【００７２】
なお、上記の学習プログラムは、必ずしもハードディスク装置５０８に記憶されている必要はない。例えば、コンピュータ５００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ５００が読み出して実行するようにしてもよい。コンピュータ５００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリなどの可搬型記録媒体、フラッシュメモリなどの半導体メモリ、ハードディスクドライブなどが対応する。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）などに接続された装置にこれらのプログラムを記憶させておき、コンピュータ５００がこれらからこれらのプログラムを読み出して実行するようにしても良い。
【符号の説明】
【００７３】
１  情報処理装置
１０  学習部
１１  分散表現学習部
１２  単語分類部
１３  パラメータ調整部
１４  パラメータ調整済分散表現学習部
１５  学習終了判定部
２０  記憶部
２１  基準言語学習用コーパス
２２  対象言語学習用コーパス
２３  アライメント辞書
【図１】
0006705506.tif 000002
【図２】
0006705506.tif 000003
【図３Ａ】
0006705506.tif 000004
【図３Ｂ】
0006705506.tif 000005
【図３Ｃ】
0006705506.tif 000006
【図４】
0006705506.tif 000007
【図５】
0006705506.tif 000008
【図６】
0006705506.tif 000009
【図７】
0006705506.tif 000010
【図８】
0006705506.tif 000011
【図９】
0006705506.tif 000012