(57)【特許請求の範囲】
【請求項１】
コンピュータに、
学習で用いられる文書に含まれる各単語の多様度を測定し、前記各単語を前記多様度が所定の規定値より高い第１の単語群および前記規定値より低い第２の単語群に分類し、
前記第１の単語群に含まれる単語の分散表現を、前記分散表現を学習する第１の学習アルゴリズムを用いて学習し、
前記分散表現を学習する第２の学習アルゴリズムにより用いられる単語が前記第１の単語群に含まれる場合には、該含まれる単語の分散表現を前記第２の学習アルゴリズムに設定し、前記第２の学習アルゴリズムを用いて、前記第２の単語群に含まれる単語の分散表現を学習する
処理を実行させることを特徴とする分析プログラム。
【請求項２】
前記第１の学習アルゴリズムを用いて学習された単語の分散表現を、前記第２の学習アルゴリズムを用いて補正する
ことを特徴とする請求項１に記載の分析プログラム。
【請求項３】
前記分類する処理は、
前記文書に含まれる単語について、当該単語が出現する文における当該単語と周辺の単語との共起関係を表わす出現ベクトルを算出し、
算出した出現ベクトルの数に基づいて、当該単語の多様度を測定し、
測定した多様度に基づいて、当該単語を前記第１の単語群および前記第２の単語群に分類する
ことを特徴とする請求項１に記載の分析プログラム。
【請求項４】
前記分類する処理は、
前記文書に含まれる単語について、当該単語が出現する文における当該単語と周辺の単語との共起関係を表わす出現ベクトルを算出し、
算出した出現ベクトルが複数存在する場合には、算出した出現ベクトルを用いて出現ベクトルの類似度を算出し、
算出した出現ベクトルの類似度に基づいて、当該単語の多様度を測定し、
測定した多様度に基づいて、当該単語を前記第１の単語群および前記第２の単語群に分類する
ことを特徴とする請求項１に記載の分析プログラム。
【請求項５】
前記分類する処理は、
前記文書に含まれる単語について、当該単語が示す意味が予め定められた辞書に複数存在する場合には、意味の数に基づいて、該測定した多様度を補正する
ことを特徴とする請求項３または請求項４に記載の分析プログラム。
【請求項６】
学習で用いられる文書に含まれる各単語の多様度を測定し、前記各単語を前記多様度が所定の規定値より高い第１の単語群および前記規定値より低い第２の単語群に分類する分類部と、
前記第１の単語群に含まれる単語の分散表現を、前記分散表現を学習する第１の学習アルゴリズムを用いて学習する第１の学習部と、
前記分散表現を学習する第２の学習アルゴリズムにより用いられる単語が前記第１の単語群に含まれる場合には、該含まれる単語の分散表現を前記第２の学習アルゴリズムに設定し、前記第２の学習アルゴリズムを用いて、前記第２の単語群に含まれる単語の分散表現を学習する第２の学習部と、
を有することを特徴とする情報処理装置。
【請求項７】
コンピュータが、
学習で用いられる文書に含まれる各単語の多様度を測定し、前記各単語を前記多様度が所定の規定値より高い第１の単語群および前記規定値より低い第２の単語群に分類し、
前記第１の単語群に含まれる単語の分散表現を、前記分散表現を学習する第１の学習アルゴリズムを用いて学習し、
前記分散表現を学習する第２の学習アルゴリズムにより用いられる単語が前記第１の単語群に含まれる場合には、該含まれる単語の分散表現を前記第２の学習アルゴリズムに設定し、前記第２の学習アルゴリズムを用いて、前記第２の単語群に含まれる単語の分散表現を学習する
各処理を実行することを特徴とする分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析プログラムなどに関する。
【背景技術】
【０００２】
文章処理において、高精度な単語の表現を如何に獲得するかが、重要であり、従来から多くの研究がなされている。近年では、単語の表現を獲得する技術として、Ｗｏｒｄ２Ｖｅｃがよく知られている（例えば、非特許文献１参照）。【０００３】
Ｗｏｒｄ２Ｖｅｃは、ニューラルランゲ―ジモデルの一つで「似た単語は同じような文に登場する」という考え方（Distribution  hypothesis）に基づいて単語の分散表現を獲得する仕組みである。ニューラルランゲージモデルとは、Ｂｅｎｇｉｏらによって考案されたニュラルネットモデルを使って単語の分散表現を学習する方法である。ここでいう単語の分散表現とは、単語間の意味的な関係をベクトルで表現したものである。Ｗｏｒｄ２Ｖｅｃは、入力層、隠れ層および出力層からなるニューラルネットワークの教師付き学習方法を活用し、文中に現れる単語であって与えられた単語と周辺の単語との関係および与えられた単語の分散表現を学習する。Ｗｏｒｄ２Ｖｅｃには、Ｃｏｎｔｉｎｕｏｕｓ−Ｂａｇ−ｏｆ−ＷｏｒｄｓモデルとＳｋｉｐ−ｇｒａｍモデルが提案されている。ここでいうＳｋｉｐ−ｇｒａｍモデルとは、与えられた単語に対応するベクトルを入力し、周辺の単語を予測するモデルである。【０００４】
図６は、Ｗｏｒｄ２ＶｅｃのＳｋｉｐ−ｇｒａｍモデルを示す図である。図６に示すように、Ｓｋｉｐ−ｇｒａｍモデルに対して、Input  layer（入力層）、Hidden  layer（隠れ層）およびOutput  layer（出力層）からなるニューラルネットワークが構築される。【０００５】
入力層には、文中に現れる単語であって与えられた単語に対応するＺ次元の入力ベクトルｘが入力される。入力ベクトルｘは、Ｚ次元のｏｎｅ−ｈｏｔベクトルである。Ｚは、文中の単語数である。ｏｎｅ−ｈｏｔベクトルとは、ｏｎｅ−ｈｏｔ(ワン・ホット)は１つだけＨｉｇｈ（１）であり、他はＬｏｗ（０）であるようなビット列のことを指す。【０００６】
隠れ層には、与えられた単語のＭ次元の単語ベクトルｗが生成される。ＷＺ×Ｍは、入力層と隠れ層との間の重みであり、Ｚ×Ｍの行列により表わされる。出力層には、Ｃ個のパネルにそれぞれＺ次元の出力ベクトルｙＣが生成される。ここでいうパネルとは、ウィンドウ（window）と同義である。かかるＣは、パネル数であり、ｙＣは、与えられた単語の前後にある単語に対応する出力ベクトルである。Ｗ´Ｍ×Ｚは、隠れ層と出力層との間の重みであり、Ｍ×Ｚの行列により表わされる。【０００７】
Ｓｋｉｐ−ｇｒａｍモデルは、入力層（Input  layer）に入力する入力ベクトルとしてＺ次元のｏｎｅ−ｈｏｔベクトルｘＺを入力する。そして、Ｓｋｉｐ−ｇｒａｍモデルは、入力したｏｎｅ−ｈｏｔベクトルｘＺをＭ次元の隠れ層（Hidden  layer）に写像した後、Ｃ個のパネルに対応するそれぞれのＺ次元の出力ベクトルを出力層（Output  layer）に出力する。【０００８】
そして、Ｓｋｉｐ−ｇｒａｍモデルは、出力されたＣ個の出力ベクトルがそれぞれ予め定められた予測ベクトルと異なれば、その差分を学習すべく、隠れ層と出力層との間の重みＷ´Ｍ×Ｚ、入力層と隠れ層との間の重みＷＺ×Ｍの順にパラメータである重みを更新する。このようなパラメータの更新は、例えば、バックプロパゲーションといわれる。【０００９】
そして、繰り返し学習して得られた隠れ層の単語ベクトルｗが、与えられた単語（入力ベクトルｘ）の分散表現となる。【００１０】
単語の分散表現の精度向上のために、既存知識の活用が多くなされている。かかる既存知識には、例えば、類語、反対語、英語でいう原形、比較級および最上級の関係が挙げられる。例えば、既存知識を活用した分散表現の学習としてＲＣ-ＮＥＴの技術が知られている（例えば、非特許文献２参照）。ＲＣ-ＮＥＴの技術について、図７〜図９を参照して簡単に説明する。【００１１】
図７は、ＲＣ-ＮＥＴで用いられる知識の一例を示す図である。図７に示すように、知識グラフは、２つの知識の型を含んでいる。１つの知識は、関係の知識（Relational  Knowledge）であり、もう１つの知識は、カテゴリの知識（Categorical  Knowledge）である。例えば、単語間の関係の知識として、「Elizabeth２世」は、「UK」との関係について、「UK」の女王（Queen_of  「UK」）という関係を持つ。単語のカテゴリの知識として、「UK」の類義語は、「Britain」「United  Kingdom」を含む。【００１２】
図８は、ＲＣ-ＮＥＴで用いられる知識の位置関係のイメージを示す図である。図８に示すように、関係の知識（Relational  Knowledge）として、任意の関係にある２つの単語は、距離的に近い関係にある。カテゴリの知識（Categorical  Knowledge）として、任意のカテゴリに含まれる単語同士は、距離的に近い関係にある。単語表現の質を向上させるために、関係の知識およびカテゴリの知識が活用される。【００１３】
図９は、ＲＣ-ＮＥＴのアーキテクチャを示す図である。ＲＣ-ＮＥＴの目的は、テキストストリーム、関係の知識およびカテゴリの知識に基づいて単語の表現や関係表現を学習することである。図９に示すように、ＲＣ-ＮＥＴは、Ｓｋｉｐ−ｇｒａｍモデルをベースにして、関係の知識およびカテゴリの知識を活用して単語表現の質を向上させる。ここでいう関係の知識がＲ−ＮＥＴに対応する。ここでいうカテゴリの知識がＣ−ＮＥＴに対応する。Ｒ-ＮＥＴは、学習したい単語の分散表現ｗｋと関係の埋め込み（Relation  embedding）ｒを用いてｗ’ｋ，ｒを求め、学習したい単語が関係の知識から取得される関係先の単語ｗｋ，ｒと距離的に近いように学習する。Ｃ−ＮＥＴは、同じカテゴリに属するｗｋと、ｗ１，ｗ２，・・・，ｗＶとそれぞれ距離的に近いように学習する。学習には、バックプロパゲーションが用いられる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特表２００５−５３５００７号公報
【特許文献２】特開平７−３３４４７７号公報
【特許文献３】特開２００５−２０８７８２号公報
【非特許文献】
【００１５】
【非特許文献１】Tomas  Mikolov,  Kai  Chen,  Greg  Corrado,  and  Jeffrey  Dean.  “Efficient  Estimation  of  Word  Representations  in  Vector  Space.”  In  Proceedings  of  Workshop  at  ICLR,  2013.
【非特許文献２】Xu  Chang  et  al.“  Rc-net:A  general  framework  for  incorporating  knowledge  into  word  representations.”  Proceeding  of  the  ２３rd  ACM  International  Conference  on  Conference  on  Information  and  knowledge  Management.  ACM,  2014.
【非特許文献３】Bengio,  Yoshua,  et  al.  "A  neural  probabilistic  language  model."  Journal  of  machine  learning  research  3.Feb  (2003):  1137-1155.
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、ＲＣ-ＮＥＴの技術では、単語の分散表現の学習を高精度に行うことができないという問題がある。すなわち、ＲＣ−ＮＥＴでは、関係の知識およびカテゴリの知識に含まれる単語が基準となるため、これら単語の場所が適切な箇所でなければ、学習自体が適切に行われない。ところが、関係の知識に含まれる単語やカテゴリの知識に含まれる単語の分散表現が十分に学習されたかどうかを考慮することなく、学習が行われる場合がある。かかる場合には、単語の分散表現の学習を高精度に行うことができない。【００１７】
本発明は、１つの側面では、単語の分散表現の学習を高精度に行うことを目的とする。
【課題を解決するための手段】
【００１８】
１つの態様では、分析プログラムは、コンピュータに、学習で用いられる文書に含まれる各単語の多様度を測定し、前記各単語を前記多様度が所定の規定値より高い第１の単語群および前記規定値より低い第２の単語群に分類し、前記第１の単語群に含まれる単語の分散表現を、前記分散表現を学習する第１の学習アルゴリズムを用いて学習し、前記分散表現を学習する第２の学習アルゴリズムにより用いられる単語が前記第１の単語群に含まれる場合には、該含まれる単語の分散表現を前記第２の学習アルゴリズムに設定し、前記第２の学習アルゴリズムを用いて、前記第２の単語群に含まれる単語の分散表現を学習する、処理を実行させる。
【発明の効果】
【００１９】
１実施態様によれば、単語の分散表現の学習を高精度に行うことができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、実施例に係る情報処理装置の構成を示す機能ブロック図である。
【図２Ａ】図２Ａは、実施例に係る分散表現学習処理の一例を示す図（１）である。
【図２Ｂ】図２Ｂは、実施例に係る分散表現学習処理の一例を示す図（２）である。
【図２Ｃ】図２Ｃは、実施例に係る分散表現学習処理の一例を示す図（３）である。
【図３】図３は、実施例に係る知識利用型分散表現学習処理の一例を示す図である。
【図４】図４は、実施例に係る分析処理のフローチャートの一例を示す図である。
【図５】図５は、情報処理装置のハードウェア構成の一例を示す図である。
【図６】図６は、Ｗｏｒｄ２ＶｅｃのＳｋｉｐ−ｇｒａｍモデルを示す図である。
【図７】図７は、ＲＣ-ＮＥＴで用いられる知識の一例を示す図である。
【図８】図８は、ＲＣ-ＮＥＴで用いられる知識の位置関係のイメージを示す図である。
【図９】図９は、ＲＣ-ＮＥＴのアーキテクチャを示す図である。
【発明を実施するための形態】
【００２１】
以下に、本願の開示する分析プログラム、情報処理装置および分析方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
【実施例】
【００２２】
［実施例に係る情報処理装置の構成］
図１は、実施例に係る情報処理装置の構成を示す機能ブロック図である。図１に示す情報処理装置１は、知識を活用した分散表現学習において、学習で用いられる文書に含まれる単語の多様性を考慮して単語の分散表現を学習する。ここでいう単語の分散表現とは、単語間の意味的な関係をベクトルで表現したものをいう。ここでいう単語の多様性とは、単語が異なる表現の文で現れることをいう。異なる表現の文とは、ある単語が現れる文において、其々で共起する単語が異なっていることをいう。例えば、ある単語に注目したとき、その単語の多様性が高い場合、様々な異なる表現の文に現れることをいう。この多様性の度合いを多様度という。【００２３】
情報処理装置１は、分析部１０と、記憶部２０とを有する。分析部１０は、ＣＰＵ（Central  Processing  Unit）などの電子回路に対応する。そして、分析部１０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。分析部１０は、単語多様度測定部１１、単語分類部１２、学習振分部１３、分散表現学習部１４、知識利用型分散表現学習部１５および学習終了判定部１６を有する。【００２４】
記憶部２０は、例えば、ＲＡＭ、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部２０は、学習用コーパス２１、第１単語群２２、第２単語群２３および知識情報２４を有する。【００２５】
学習用コーパス２１は、学習に用いられるコーパスである。なお、コーパスとは、文章の集まりのことをいう。【００２６】
第１単語群２２は、多様度が規定値より高い単語の集まりであり、偏りがない複数の文に存在する単語の集まりである。言い換えれば、第１単語群２２とは、学習が十分にできる単語の集まりである。【００２７】
第２単語群２３は、多様度が規定値より低い単語の集まりであり、偏りがある単数または複数の文に存在する単語の集まりである。言い換えれば、第２単語群２３とは、学習が十分にできない単語の集まりである。なお、規定値は、多様度の高低を判別する際に用いる境界値であれば良く、多様度が規定値と一致する場合には多様度が高いとしても良いし、低いとしても良い。【００２８】
知識情報２４は、学習で活用される知識の情報である。例えば、知識情報２４は、既存知識を活用して単語の分散表現を学習するＲＣ−ＮＥＴで用いられる知識の情報であり、関係の知識の情報を示す関係知識情報およびカテゴリの知識の情報を示すカテゴリ知識情報を含む。関係知識情報は、ＲＣ−ＮＥＴにおけるＲ−ＮＥＴで用いられる知識の情報である。カテゴリ知識情報は、ＲＣ−ＮＥＴにおけるＣ−ＮＥＴで用いられる知識の情報である。関係知識情報には、関係の知識で用いられる単語と分散表現とが予め対応づけられていても良い。知識情報２４のカテゴリ知識情報には、カテゴリの知識で用いられる単語と分散表現とが予め対応づけられていても良い。なお、ＲＣ−ＮＥＴの学習は、「Xu  Chang  et  al.“Rc-net:A  general  framework  for  incorporating  knowledge  into  word  representations.”」に開示されている技術を使って行われる。【００２９】
単語多様度測定部１１は、学習用コーパス２１に含まれる単語の多様度を測定する。【００３０】
第１の例として、単語多様度測定部１１は、学習用コーパス２１に含まれる単語について、当該単語が出現する文における当該単語と周辺の単語との共起を表す関係（共起関係）を表わす出現ベクトルを生成する。ここでいう共起関係とは、ある文においてある単語とある単語とが同時に出現する関係を意味する。単語と出現ベクトルは、文ごとに当該単語の周辺の単語とその位置とから生成される。当該単語の周辺の単語の数は、Ｓｋｉｐ−ｇｒａｍモデルの出力層で用いられるパラメータであるパネルのサイズと一致する。そして、単語多様度測定部１１は、当該単語について生成された出現ベクトルの種類数に基づいて、当該単語の多様度を測定する。つまり、当該単語を含む単語から生成される出現ベクトルの種類数が多ければ、当該単語が偏っていない複数の文に存在すると推測され、学習が十分にできると推測される。当該単語を含む単語から生成される出現ベクトルの種類数が少なければ、当該単語が偏っている単数または複数の文に存在すると推測され、学習が十分にできないと推測される。【００３１】
具体的には、単語“apple”の多様度を測定することとする。例えば、学習用コーパス２１に文１、文２、文３が含まれている。文１は“She  cut  an  apple  with  a  knife”であり、文２は“I  eat  an  apple”であり、文３は“You  eat  an  apple”である。かかる場合には、単語の辞書は、（she，cut，an，apple，with，knife，I，eat，you）であるとする。このような状況の下、パネルの数が２であるとすると、文１では、単語“apple”と当該単語の周辺の単語との関係を表す出現ベクトルとして（０，１，１，０，１，０，０，０，０）が生成される。文２および文３では、単語“apple”と当該単語の周辺の単語との関係を表す出現ベクトルとして（０，０，１，０，０，０，０，１，０）が生成される。したがって、出現ベクトルの種類数として２が得られる。ここでは、出現ベクトルの種類数２が単語“apple”の多様度として測定される。【００３２】
第２の例として、単語多様度測定部１１は、学習用コーパス２１に含まれる単語について、当該単語が出現する文における当該単語と周辺の単語との関係を表わす出現ベクトルを生成する。出現ベクトルは、文ごとに当該単語の周辺の単語とその位置とから生成される。当該単語の周辺の単語の数は、Ｓｋｉｐ−ｇｒａｍモデルの出力層で用いられるパラメータであるパネルの数と一致する。そして、単語多様度測定部１１は、当該単語について生成された出現ベクトルが複数存在する場合には、生成された出現ベクトル間で出現ベクトルの類似度の平均や分散を算出する。出現ベクトルの類似度は、例えば、出現ベクトル間の内積で算出される。そして、単語多様度測定部１１は、当該単語について算出された出現ベクトルの類似度の平均や分散に基づいて、当該単語の多様度を測定する。つまり、当該単語を含む単語から生成される出現ベクトル同士の類似度が低ければ、当該単語の分散は大きくなり、当該単語が偏っていない複数の文に存在すると推測され、学習が十分にできると推測される。当該単語を含む単語から生成される出現ベクトル同士の類似度が高ければ、当該単語の分散は小さくなり、当該単語が偏っている単数または複数の文に存在すると推測され、学習が十分にできないと推測される。【００３３】
具体的には、単語“apple”の多様度を測定することとする。第２の例も、第１の例と同様に、例えば、学習用コーパス２１に文１、文２、文３が含まれている。文１は“She  cut  an  apple  with  a  knife”であり、文２は“I  eat  an  apple”であり、文３は“You  eat  an  apple”である。かかる場合には、単語の辞書は、（she，cut，an，apple，with，knife，I，eat，you）であるとする。このような状況の下、パネルの数が２であるとすると、文１では、単語“apple”と当該単語の周辺の単語との関係を表す出現ベクトルとして（０，１，１，０，１，０，０，０，０）が生成される。文２および文３では、単語“apple”と当該単語の周辺の単語との関係を表す出現ベクトルとして（０，０，１，０，０，０，０，１，０）が生成される。そして、文１と文２との間の出現ベクトルの類似度は、内積により１／√６と算出される。文１と文３との間の出現ベクトルの類似度も、内積により１／√６と算出される。文２と文３との間の出現ベクトルの類似度は、内積により１と算出される。そして、出現ベクトルの類似度の平均は、（１／√６＋１／√６＋１）／３の式により約０．６０５と算出される。出現ベクトルの類似度の分散は、約０．０７７６と算出される。ここでは、単語の多様度を平均とする場合には、出現ベクトルの類似度の平均０．６０５が単語“apple”の多様度として測定される。単語の多様度を分散とする場合には、出現ベクトルの類似度の分散０．０７７６が単語“apple”の多様度として測定される。【００３４】
第３の例として、単語多様度測定部１１は、学習用コーパス２１に含まれる単語について、当該単語が示す意味が複数存在する場合には、意味の数に基づいて、測定した多様度を補正する。これは、ある単語について同じ表記であっても別の意味を表す多義語が多い場合には、ある単語の多様度が上がりすぎるため、上がりすぎた多様度を補正するためである。【００３５】
具体的には、単語“apple”の多様度を測定することとする。このような前提の下、単語“apple”には、果物の「リンゴ」という意味と、米国企業「apple（登録商標）」という意味とがある。したがって、単語に意味が２つ存在すれば、意味が１つである場合よりも多様度が２倍に上がりやすいと推定されるため、上がりすぎた多様度が補正される。例えば、第１の例では、多様度が２であったが、２倍に推定された多様度を単純に１／２にすべく、１の値に補正される。【００３６】
このようにして、単語多様度測定部１１は、単語の多様度を測定することができる。【００３７】
単語分類部１２は、多様度が測定された単語を、第１単語群２２および第２単語群２３のいずれかに分類する。例えば、単語分類部１２は、単語多様度測定部１１によって測定された多様度が規定値より高い場合には、多様度が測定された単語を第１単語群２２に分類する。すなわち、単語分類部１２は、当該単語を、学習が十分にできる単語の集まりである第１単語群２２に分類する。そして、単語分類部１２は、単語多様度測定部１１によって測定された多様度が規定値より低い場合には、多様度が測定された単語を第２単語群２３に分類する。すなわち、単語分類部１２は、当該単語を、学習が十分にできない単語の集まりである第２単語群２３に分類する。【００３８】
学習振分部１３は、第１単語群２２を、知識を活用しない分散表現学習に振り分ける。例えば、学習振分部１３は、第１単語群２２を、分散表現学習部１４に出力する。また、学習振分部１３は、第２単語群２３を、知識を活用する分散表現学習に振り分ける。例えば、学習振分部１３は、第２単語群２３を、知識利用型分散表現学習部１５に出力する。【００３９】
分散表現学習部１４は、第１単語群２２に含まれる単語の分散表現を、単語の分散表現を学習する技術を用いて学習する。例えば、分散表現学習部１４は、学習用コーパス２１を受け取ると、第１単語群２２に含まれる単語の分散表現を、Ｗｏｒｄ２ＶｅｃのＳｋｉｐ−ｇｒａｍモデルを用いて学習する。なお、Ｗｏｒｄ２ＶｅｃのＳｋｉｐ−ｇｒａｍモデルでの学習は、既存の技術を使って行われる。かかる学習は、「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」の分散表現として獲得する。【００４８】
同様に、分散表現学習部１４は、第１単語群２２の与えられる単語を替えることで、与えられる単語の分散表現を獲得すれば良い。【００４９】
図１に戻って、知識利用型分散表現学習部１５は、学習対象が第１単語群２２である場合には、第１単語群２２に含まれる単語の分散表現を、知識利用型の単語の分散表現を学習する技術を用いて補正する。知識利用型の単語の分散表現を学習する技術は、例えば、ＲＣ−ＮＥＴである。例えば、知識利用型分散表現学習部１５は、ＲＣ−ＮＥＴにおけるＲ−ＮＥＴに第１単語群２２の単語が属している場合には、属している単語について分散表現学習部１４によって学習済みの単語の分散表現をＲ−ＮＥＴで用いるように設定する。知識利用型分散表現学習部１５は、ＲＣ−ＮＥＴにおけるＣ−ＮＥＴに第１単語群２２の単語が属している場合には、属している単語について分散表現学習部１４によって学習済みの単語の分散表現をＣ−ＮＥＴで用いるように設定する。そして、知識利用型分散表現学習部１５は、学習用コーパス２１を受け取ると、第１単語群２２に含まれる単語の分散表現を、ＲＣ−ＮＥＴを用いて補正する。一例として、知識利用型分散表現学習部１５は、第１単語群２２に含まれる単語について、学習済みの単語の分散表現を隠れ層の単語ベクトルｗに設定し、学習済みのＷＺ×Ｍの重みおよびＷ´Ｍ×Ｚの重みを初期状態として設定し、ＲＣ−ＮＥＴを用いて学習すれば良い。【００５０】
また、知識利用型分散表現学習部１５は、学習対象が第２単語群２３である場合には、第２単語群２３に含まれる単語の分散表現を、知識利用型の単語の分散表現を学習する技術を用いて学習する。知識利用型の単語の分散表現を学習する技術は、例えば、ＲＣ−ＮＥＴである。例えば、知識利用型分散表現学習部１５は、ＲＣ−ＮＥＴにおけるＲ−ＮＥＴに第１単語群２２の単語が属している場合には、属している単語について分散表現学習部１４によって学習済みの単語の分散表現をＲ−ＮＥＴで用いるように設定する。知識利用型分散表現学習部１５は、ＲＣ−ＮＥＴにおけるＣ−ＮＥＴに第１単語群２２の単語が属している場合には、属している単語について分散表現学習部１４によって学習済みの単語の分散表現をＣ−ＮＥＴで用いるように設定する。そして、知識利用型分散表現学習部１５は、学習用コーパス２１を受け取ると、第２単語群２３に含まれる単語の分散表現を、ＲＣ−ＮＥＴを用いて学習する。一例として、知識利用型分散表現学習部１５は、第２単語群２３に含まれる単語について、分散表現学習部１４によって学習済みの単語の分散表現がないため、以下のように学習する。すなわち、知識利用型分散表現学習部１５は、当該単語に対応する要素を１、他の要素を０とするｏｎｅ−ｈｏｔベクトルを入力ベクトルｘとし、ランダムなＷＺ×Ｍの重みおよびランダムなＷ´Ｍ×Ｚの重みを初期状態として設定し、ＲＣ−ＮＥＴを用いて学習すれば良い。【００５１】
学習終了判定部１６は、学習の終了を判定する。ここでいう終了を判定する学習とは、分散表現学習部１４による学習および知識利用型分散表現学習部１５による学習のことをいう。【００５２】
例えば、学習終了判定部１６は、学習するたびに更新される単語ベクトルｗの更新前後の差が閾値より小さくなった場合には、学習を終了する。単語ベクトルｗの更新前とは、１回学習した後の単語ベクトルである。単語ベクトルｗの更新後とは、１回学習してバックプロパゲーションした後に次回学習した後の単語ベクトルである。すなわち、学習の終了条件は、式（１）で示される。なお、ｗｋｏｌｄは、単語ベクトルｗｋの更新前である。ｗｋｎｅｗは、単語ベクトルｗｋの更新後である。ｋは、隠れ層の単語ベクトルのｋ番目の要素を指すインデックスである。εは、閾値である。閾値は、更新前後の差が十分小さいと判断できる値であれば良い。
ｗｋｏｌｄ−ｗｋｎｅｗ＜ε・・・式（１）【００５３】
そして、学習終了判定部１６は、単語ベクトルｗの更新前後の差が閾値以上である場合には、学習を繰り返す。【００５４】
なお、学習終了判定部１６は、学習の終了条件として単語ベクトルｗの更新前後の差が閾値より小さくなった場合であると説明したが、これに限定されない。学習終了判定部１６は、所定の繰り返し（イテレーション）回数分繰り返した場合であっても良い。【００５５】
ここで、知識利用型分散表現学習部１５によって行われる知識利用型分散表現学習処理を、図３を参照して説明する。図３は、実施例に係る知識利用型分散表現学習処理の一例を示す図である。図３では、知識利用型の単語の分散表現を学習する技術を、ＲＣ−ＮＥＴとして説明する。なお、知識情報２４の関係知識情報には、関係の知識で用いられる単語と分散表現とが予め対応づけられているとする。知識情報２４のカテゴリ知識情報には、カテゴリの知識で用いられる単語と分散表現とが予め対応づけられているとする。【００５６】
知識利用型分散表現学習部１５は、Ｓｋｉｐ−ｇｒａｍをベースにＲ−ＮＥＴおよびＣ−ＮＥＴを拡張したニューラルネットワークを構築する。なお、Ｓｋｉｐ−ｇｒａｍは、分散表現学習部１４で説明したので、その説明を省略する。【００５７】
まず、知識利用型分散表現学習部１５は、知識情報２４の関係知識情報に第１単語群２２の単語が属している場合には、属している単語に当該単語の学習済みの分散表現を対応づけて設定する。知識利用型分散表現学習部１５は、知識情報２４のカテゴリ知識情報に第１単語群２２の単語が属している場合には、属している単語に当該単語の学習済みの分散表現を対応づけて設定する。【００５８】
また、知識利用型分散表現学習部１５は、Ｓｋｉｐ−ｇｒａｍに、与えられた単語に対応する入力ベクトルｘが入力されるとする。すると、知識利用型分散表現学習部１５は、与えられた単語に対応する関係の埋め込み（Relation  embedding）ｒと関係先の単語の分散表現ｗｋ，ｒとを知識情報２４から取得する。一例として、与えられた単語が「Ｇｅｏｒｇｅ６世」である場合に、関係の埋め込みとして「Ｋｉｎｇ＿ｏｆ」、関係先の単語の分散表現として「Ｕｎｉｔｅｄ  Ｋｉｎｇｄｏｍ」の分散表現が知識情報２４内の関係知識情報から取得される。ここで、関係先の単語が第１単語群２２に属している場合には、関係先の単語の分散表現として学習済みの分散表現が用いられることになる。【００５９】
そして、知識利用型分散表現学習部１５は、与えられた単語の分散表現ｗｋと関係の埋め込みｒを用いてｗ´ｋ，ｒを求め、求められたｗ´ｋ，ｒが関係先の単語の分散表現ｗｋ，ｒと距離的に近いように学習する。すなわち、知識利用型分散表現学習部１５は、与えられた単語が関係先の単語と距離的に近いように学習する。そして、知識利用型分散表現学習部１５は、ｗ´ｋ，ｒと、関係先の単語の分散表現ｗｋ，ｒとの距離ｄ（ｗｋ，ｒ，ｗ´ｋ，ｒ）が予め定められた距離以上であれば、収束していないので、パラメータである重みＷ´およびＷを更新する。パラメータの更新は、例えば、バックプロパゲーションを用いれば良い。【００６０】
加えて、知識利用型分散表現学習部１５は、Ｓｋｉｐ−ｇｒａｍに、与えられた単語に対応する入力ベクトルｘが入力されるとする。すると、知識利用型分散表現学習部１５は、与えられた単語と同じカテゴリに属する単語の分散表現を知識情報２４から取得する。一例として、与えられた単語が「Ｇｅｏｒｇｅ６世」である場合に、当該単語と同じカテゴリ「Ｍａｌｅ」に属する単語「Ｐｒｉｎｃｅ  Ｐｈｉｌｉｐ」「Ｃｈａｒｌｅｓ」のそれぞれの分散表現が知識情報２４内のカテゴリ知識情報から取得される。ここで、同じカテゴリに属する単語が第１単語群２２に属している場合には、同じカテゴリに属する単語の分散表現として学習済みの分散表現が用いられることになる。【００６１】
そして、知識利用型分散表現学習部１５は、与えられた単語の分散表現ｗｋと、与えられた単語と同じカテゴリに属する単語の分散表現ｗ１，ｗ２，・・・，ｗＶとそれぞれ距離的に近いように学習する。そして、知識利用型分散表現学習部１５は、ｗｋと、ｗ１，ｗ２，・・・，ｗＶとのそれぞれの距離ｄ（ｗｋ，ｗ１），ｄ（ｗｋｗ２），・・・，ｄ（ｗｋ，ｗＶ）のいずれかが予め定められた距離以上であれば、収束していないので、パラメータである重みＷ´およびＷを更新する。パラメータの更新は、例えば、バックプロパゲーションを用いれば良い。【００６２】
なお、学習対象の単語（与えられた単語）が第１単語群２２である場合には、知識利用型分散表現学習部１５は、ＲＣ−ＮＥＴのＳｋｉｐ−ｇｒａｍに初期状態として、以下を設定すれば良い。すなわち、知識利用型分散表現学習部１５は、与えられた単語に対応する要素を１、他の要素を０とするｏｎｅ−ｈｏｔベクトルを入力ベクトルｘとして設定する。知識利用型分散表現学習部１５は、隠れ層に分散表現学習部１４により学習された学習済みの分散表現ｗｋを設定する。知識利用型分散表現学習部１５は、重みに学習済みのＷＺ×ＭおよびＷ´Ｍ×Ｚを設定すれば良い。【００６３】
学習対象の単語（与えられた単語）が第２単語群２３である場合には、知識利用型分散表現学習部１５は、ＲＣ−ＮＥＴのＳｋｉｐ−ｇｒａｍに初期状態として、以下を設定すれば良い。すなわち、知識利用型分散表現学習部１５は、与えられた単語に対応する要素を１、他の要素を０とするｏｎｅ−ｈｏｔベクトルを入力ベクトルｘとして設定する。知識利用型分散表現学習部１５は、重みにランダムなＷＺ×ＭおよびＷ´Ｍ×Ｚを設定すれば良い。【００６４】
［分析処理のフローチャート］
図４は、実施例に係る分析処理のフローチャートの一例を示す図である。【００６５】
図４に示すように、分析部１０は、分析処理要求を受け付けたか否かを判定する（ステップＳ１０）。分析処理要求を受け付けていないと判定した場合には（ステップＳ１０；Ｎｏ）、分析部１０は、分析処理要求を受け付けるまで、判定処理を繰り返す。【００６６】
一方、分析処理要求を受け付けたと判定した場合には（ステップＳ１０；Ｙｅｓ）、単語多様度測定部１１は、学習用コーパス２１に含まれる単語の多様度を測定する（ステップＳ２０）。例えば、単語多様度測定部１１は、学習用コーパス２１に含まれる単語について、当該単語と、当該単語の前方のＮ個の単語および当該単語の後方のＮ個の単語との関係を示す出現ベクトルを生成する。そして、単語多様度測定部１１は、生成した出現ベクトルの種類数に基づいて、当該単語の多様度を測定する。ここでいうＮは、Ｓｋｉｐ−ｇｒａｍモデルの出力層で用いられるパラメータであるパネルのサイズである。なお、単語多様度測定部１１は、単語の多様度を当該単語の出現ベクトルの種類数と説明したが、これに限定されず、当該単語の多様度を当該単語の出現ベクトルの類似度の平均や分散の値としても良い。【００６７】
単語分類部１２は、測定された多様度に基づいて、各単語を第１単語群２２および第２の単語群のいずれかに分類する（ステップＳ３０）。例えば、単語分類部１２は、測定された多様度が規定値より高い場合には、この多様度の単語を第１単語群２２に分類する。単語分類部１２は、測定された多様度が規定値より低い場合には、この多様度の単語を第２単語群２３に分類する。【００６８】
そして、分散表現学習部１４は、第１単語群２２に含まれる各単語について、それぞれ分散表現を学習する（ステップＳ４０）。例えば、分散表現学習部１４は、第１単語群２２に含まれる各単語の分散表現を、Ｗｏｒｄ２ＶｅｃのＳｋｉｐ−ｇｒａｍモデルを用いて学習する。【００６９】
そして、学習終了判定部１６は、学習終了条件を満たすか否かを判定する（ステップＳ５０）。例えば、学習終了判定部１６は、単語ベクトルｗの更新前後の差が閾値より小さくなったか否かを判定する。ここでいう単語ベクトルｗの更新前とは、１回学習した後の単語ベクトルである。単語ベクトルｗの更新後とは、１回学習してバックプロパゲーションした後に次回学習した後の単語ベクトルである。学習終了条件を満たさないと判定した場合には（ステップＳ５０；Ｎｏ）、学習終了判定部１６は、さらに学習すべく、ステップＳ４０に移行する。【００７０】
一方、学習終了条件を満たすと判定した場合には（ステップＳ５０；Ｙｅｓ）、学習終了判定部１６は、知識を活用した学習に遷移すべく、ステップＳ６０に移行する。【００７１】
ステップＳ６０において、知識利用型分散表現学習部１５は、ＲＣ−ＮＥＴにおけるＲ−ＮＥＴおよびＣ−ＮＥＴに第１単語群の分散表現を設定する（ステップＳ６０）。例えば、知識利用型分散表現学習部１５は、ＲＣ−ＮＥＴにおけるＲ−ＮＥＴに第１単語群２２の単語が属している場合には、属している単語について学習済みの単語の分散表現をＲ−ＮＥＴで用いるように設定する。知識利用型分散表現学習部１５は、ＲＣ−ＮＥＴにおけるＣ−ＮＥＴに第１単語群２２の単語が属している場合には、属している単語について学習済みの単語の分散表現をＣ−ＮＥＴで用いるように設定する。【００７２】
そして、知識利用型分散表現学習部１５は、第１単語群２２に含まれる各単語について、それぞれ知識を利用して分散表現を学習する（ステップＳ７０）。例えば、知識利用型分散表現学習部１５は、第１単語群２２に含まれる各単語の学習済みの分散表現を、さらにＲＣ−ＮＥＴを用いて補正する。【００７３】
そして、学習終了判定部１６は、学習終了条件を満たすか否かを判定する（ステップＳ８０）。学習終了条件を満たさないと判定した場合には（ステップＳ８０；Ｎｏ）、学習終了判定部１６は、さらに学習すべく、ステップＳ７０に移行する。【００７４】
一方、学習終了条件を満たすと判定した場合には（ステップＳ８０；Ｙｅｓ）、学習終了判定部１６は、第２単語群２３の学習に遷移すべく、ステップＳ９０に移行する。【００７５】
ステップＳ９０において、知識利用型分散表現学習部１５は、ＲＣ−ＮＥＴにおけるＲ−ＮＥＴおよびＣ−ＮＥＴに第１単語群２２の分散表現を設定する（ステップＳ９０）。例えば、知識利用型分散表現学習部１５は、ＲＣ−ＮＥＴにおけるＲ−ＮＥＴに第１単語群２２の単語が属している場合には、属している単語について学習済みの単語の分散表現をＲ−ＮＥＴで用いるように設定する。知識利用型分散表現学習部１５は、ＲＣ−ＮＥＴにおけるＣ−ＮＥＴに第１単語群２２の単語が属している場合には、属している単語について学習済みの単語の分散表現をＣ−ＮＥＴで用いるように設定する。【００７６】
そして、知識利用型分散表現学習部１５は、第２単語群２３に含まれる各単語について、それぞれ知識を利用して分散表現を学習する（ステップＳ１００）。例えば、知識利用型分散表現学習部１５は、第２単語群２３に含まれる各単語の分散表現を、ＲＣ−ＮＥＴを用いて学習する。【００７７】
そして、学習終了判定部１６は、学習終了条件を満たすか否かを判定する（ステップＳ１１０）。学習終了条件を満たさないと判定した場合には（ステップＳ１１０；Ｎｏ）、学習終了判定部１６は、さらに学習すべく、ステップＳ１００に移行する。【００７８】
一方、学習終了条件を満たすと判定した場合には（ステップＳ１１０；Ｙｅｓ）、学習終了判定部１６は、分析処理を終了する。これにより、分析部１０は、十分に学習した第１単語群２２の単語と単語間の関係などの知識とを活用することで、十分に学習できない第２単語群２３の単語を高精度に学習することが可能となる。【００７９】
なお、実施例に係る分析処理は、単語の分散表現を獲得することで、単語の意味を解釈できるようになり、文書検索や文の類似関係の検索を、単語の分散表現を用いることで高精度に行うことができるようになる。また、実施例に係る分析処理は、Ｑ／Ａ（Question／Answer）サイトに適用されることで、過去の膨大な問合せ（Question）の中から適切な回答（Answer）を、単語の分散表現を用いて高精度に検索することができるようになる。【００８０】
［実施例の効果］
上記実施例によれば、情報処理装置１は、学習で用いられる学習用コーパス２１に含まれる各単語の多様度を測定し、各単語を多様度が規定値より高い第１単語群２２および規定値より低い第２単語群２３に分類する。情報処理装置１は、第１単語群２２に含まれる単語の分散表現を、分散表現を学習する第１の学習アルゴリズムを用いて学習する。情報処理装置１は、分散表現を学習する第２の学習アルゴリズムにより用いられる単語が第１単語群２２に含まれる場合には、該含まれる単語の分散表現を第２の学習アルゴリズムに設定する。そして、情報処理装置１は、第２の学習アルゴリズムを用いて、第１単語群２２に含まれる単語の分散表現を補正する。かかる構成によれば、情報処理装置１は、多様度が規定値より高い単語の分散表現を第２の学習アルゴリズムで活用することで、多様度が規定値より低い単語であっても分散表現の学習を高精度に行うことができる。すなわち、情報処理装置１は、十分に学習した単語の分散表現を第２の学習アルゴリズムである例えばＲＣ−ＮＥＴで活用することで、十分に学習できない単語の分散表現の学習を高精度に行うことができる。【００８１】
また、上記実施例によれば、情報処理装置１は、第１の学習アルゴリズムを用いて学習された単語の分散表現を、第２の学習アルゴリズムを用いて補正する。かかる構成によれば、情報処理装置１は、既に学習された単語の分散表現を、多様度が規定値より高い単語の分散表現を活用した第２の学習アルゴリズムを用いてさらに学習することで、既に学習された単語の分散表現の学習を高精度に行うことができる。【００８２】
また、上記実施例によれば、情報処理装置１は、学習用コーパス２１に含まれる単語について、当該単語が出現する文における当該単語と周辺の単語との共起関係を表わす出現ベクトルを算出する。情報処理装置１は、算出した出現ベクトルの数に基づいて、当該単語の多様度を測定する。そして、情報処理装置１は、測定した多様度に基づいて、当該単語を第１単語群２２および第２単語群２３に分類する。かかる構成によれば、情報処理装置１は、学習用コーパス２１に含まれる単語を、出現ベクトルの数に基づいた多様度に応じて分類することができる。【００８３】
また、上記実施例によれば、情報処理装置１は、学習用コーパス２１に含まれる単語について、当該単語が出現する文における当該単語と周辺の単語との共起関係を表わす出現ベクトルを算出する。情報処理装置１は、算出した出現ベクトルが複数存在する場合には、算出した出現ベクトルを用いて出現ベクトルの類似度を算出する。情報処理装置１は、算出した出現ベクトルの類似度に基づいて、当該単語の多様度を測定する。そして、情報処理装置１は、測定した多様度に基づいて、当該単語を第１単語群２２および第２単語群２３に分類する。かかる構成によれば、情報処理装置１は、学習用コーパス２１に含まれる単語を、文の類似度に基づいた多様度に応じて分類することができる。【００８４】
また、上記実施例によれば、情報処理装置１は、学習用コーパス２１に含まれる単語について、当該単語が示す意味が予め定められた辞書に複数存在する場合には、意味の数に基づいて、該測定した多様度を補正する。かかる構成によれば、情報処理装置１は、意味の数に基づいて多様度を補正することで、多様度に応じた分類を精度良く行うことができる。【００８５】
［その他］
なお、上記実施例では、情報処理装置１は、ＲＣ−ＮＥＴやＳｋｉｐ−ｇｒａｍを用いて、知識を活用した分散表現学習について、学習で用いられる文書に含まれる単語の多様性を考慮した単語の分散表現を学習することについて説明した。しかしながら、ＲＣ−ＮＥＴやＳｋｉｐ−ｇｒａｍは、一例であって、これに限定されない。例えば、情報処理装置１は、Ｓｋｉｐ−ｇｒａｍに代えてＣｏｎｔｉｎｕｏｕｓ−Ｂａｇ−ｏｆ−Ｗｏｒｄｓモデルや、非特許文献３を発端とするニューラルランゲージモデルの派生形に適用することも可能である。また、例えば、情報処理装置１は、ＲＣ−ＮＥＴにおけるＲ−ＮＥＴの知識とＣ−ＮＥＴの知識を使って単語ベクトル間の距離を小さくなるように処理するが、これに限定されず、単語ベクトルの内積を−１になるように処理することも可能である。【００８６】
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、知識利用型分散表現学習部１５は、第１単語群２２の分散表現を補正する補正学習部と、第２単語群２３の分散表現を学習する学習部とに分散しても良い。また、学習終了判定部１６を分散表現学習部１４と併合しても良いし、学習終了判定部１６を知識利用型分散表現学習部１５と併合しても良い。また、記憶部２０を情報処理装置１の外部装置としてネットワーク経由で接続するようにしても良い。【００８７】
図５は、情報処理装置のハードウェア構成の一例を示す図である。図５に示すように、コンピュータ５００は、各種演算処理を実行するＣＰＵ５０１と、ユーザからのデータ入力を受け付ける入力装置５０２と、モニタ５０３とを有する。また、コンピュータ５００は、記憶媒体からプログラムなどを読み取る媒体読取装置５０４と、他の装置と接続するためのインターフェース装置５０５と、他の装置と無線により接続するための無線通信装置５０６とを有する。また、コンピュータ５００は、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）５０７と、ハードディスク装置５０８とを有する。また、各装置５０１〜５０８は、バス５０９に接続される。【００８８】
ハードディスク装置５０８には、図１に示した分析部１０と同様の機能を有する分析プログラムが記憶される。また、ハードディスク装置５０８には、分析プログラムを実現するための各種データが記憶される。各種データには、図１に示した記憶部２０内のデータが含まれる。【００８９】
ＣＰＵ５０１は、ハードディスク装置５０８に記憶された各プログラムを読み出して、ＲＡＭ５０７に展開して実行することで、各種の処理を行う。これらのプログラムは、コンピュータ５００を図１に示した各機能部として機能させることができる。【００９０】
なお、上記の分析プログラムは、必ずしもハードディスク装置５０８に記憶されている必要はない。例えば、コンピュータ５００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ５００が読み出して実行するようにしてもよい。コンピュータ５００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリなどの可搬型記録媒体、フラッシュメモリなどの半導体メモリ、ハードディスクドライブなどが対応する。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）などに接続された装置にこれらのプログラムを記憶させておき、コンピュータ５００がこれらのプログラムを読み出して実行するようにしても良い。
【符号の説明】
【００９１】
１  情報処理装置
１０  分析部
１１  単語多様度測定部
１２  単語分類部
１３  学習振分部
１４  分散表現学習部
１５  知識利用型分散表現学習部
１６  学習終了判定部
２０  記憶部
２１  学習用コーパス
２２  第１単語群
２３  第２単語群
２４  知識情報
【図１】
0006699753.tif 000002
【図２Ａ】
0006699753.tif 000003
【図２Ｂ】
0006699753.tif 000004
【図２Ｃ】
0006699753.tif 000005
【図３】
0006699753.tif 000006
【図４】
0006699753.tif 000007
【図５】
0006699753.tif 000008
【図６】
0006699753.tif 000009
【図７】
0006699753.tif 000010
【図８】
0006699753.tif 000011
【図９】
0006699753.tif 000012