(57)【特許請求の範囲】
【請求項１】
関連性の判定対象となる３つの単語を分散表現空間上に対応付ける対応部と、
前記３つの単語が有する関連性を、前記分散表現空間上に対応付けられた前記３つの単語により定義づけられる角度として判定する判定部と
を有することを特徴とする判定装置。
【請求項２】
前記判定部は、前記３つの単語が有する関連性を、前記分散表現空間上に対応付けられた前記３つの単語のうち、いずれか１つの単語を頂点とした他の２つの単語間の角度として判定する
ことを特徴とする請求項１に記載の判定装置。
【請求項３】
関連性の判定対象となる４つの単語を分散表現空間上に対応付ける対応部と、
前記４つの単語が有する関連性を、前記分散表現空間上に対応付けられた前記４つの単語により定義づけられる二面角の角度として判定する判定部と
を有することを特徴とする判定装置。
【請求項４】
前記判定部は、前記４つの単語が有する関連性を、前記分散表現空間上に対応付けられた前記４つの単語のうち、いずれか２つの基準単語を含む線を交線とする２つの面であって、前記基準単語以外の単語のうち、それぞれ異なる単語を含む面が有する角度として判定する
ことを特徴とする請求項３に記載の判定装置。
【請求項５】
前記判定部はさらに、前記４つの単語のうちいずれか３つの単語が有する関連性を、前記分散表現空間上に対応付けられた当該３つの単語により定義づけられる角度として判定する
ことを特徴とする請求項３または４に記載の判定装置。
【請求項６】
前記判定部はさらに、関連性の判定対象となる複数の単語のうち、任意の２つの単語間の関連性を、前記分散表現空間上に対応付けられた当該２つの単語間のコサイン距離として判定する
ことを特徴とする請求項１〜５のうちいずれか１つに記載の判定装置。
【請求項７】
前記判定部による判定結果を用いて、複数の単語が有する関連性を判定する学習器の学習を行う学習部
をさらに有することを特徴とする請求項１〜６のうちいずれか１つに記載の判定装置。
【請求項８】
前記学習部は、前記学習器として、複数の中間層を有するニューラルネットワークを学習する
ことを特徴とする請求項７に記載の判定装置。
【請求項９】
判定装置が実行する判定方法であって、
関連性の判定対象となる３つの単語を分散表現空間上に対応付ける対応工程と、
前記３つの単語が有する関連性を、前記分散表現空間上に対応付けられた前記３つの単語により定義づけられる角度として判定する判定工程と
を含むことを特徴とする判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、判定装置、および判定方法に関する。
【背景技術】
【０００２】
従来、入力された情報の解析結果に基づいて、入力された情報と関連する情報を検索もしくは生成し、検索もしくは生成した情報を応答として出力する技術が知られている。このような技術の一例として、入力されたテキストに含まれる単語、文章、文脈を多次元ベクトルに変換して解析し、解析結果に基づいて、入力されたテキストと類似するテキストや、入力されたテキストに続くテキストを類推し、類推結果を出力する自然言語処理の技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１７０１６８号公報
【非特許文献】
【０００４】
【非特許文献１】「生体分子の分子動力学シミュレーション(1)方法」、古明地勇人、上林正巳、長嶋雲兵、J.  Chem.  Software,  Vol.  6,  No.  1,  p.  1-36  (2000)、インターネット＜http://www.sccj.net/CSSJ/jcs/v6n1/a1/document.pdf＞（２０１６年２月２９日検索）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、２つの単語間の関連性を利用して、テキストを多次元ベクトルに変換したり、入力されたテキストと類似するテキストを類推しているに過ぎず、３つ以上の単語間の関連性を利用する手法については、提案されていなかった。
【０００６】
本願は、上記に鑑みてなされたものであって、３つ以上の単語間の関連性を利用することで、自然言語処理の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る判定装置は、関連性の判定対象となる３つの単語を分散表現空間上に対応付ける対応部と、前記３つの単語が有する関連性を、前記分散表現空間上に対応付けられた前記３つの単語により定義づけられる角度として判定する判定部とを有することを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、自然言語処理の精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る判定処理の一例を示す図である。
【図２】図２は、実施形態に係る判定装置が有する機能構成の一例を示す図である。
【図３】図３は、実施形態に係る単語データベースに登録される情報の一例を示す図である。
【図４】図４は、実施形態に係る判定装置が実行する処理の流れの一例を説明する図である。
【図５】図５は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る判定装置、判定装置、および判定方法を実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る判定装置、判定装置、および判定方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１１】
〔１．判定装置〕
まず、図１を用いて、実施形態に係る判定処理の一例について説明する。図１は、実施形態に係る判定処理の一例を示す図である。図１では、所定の学習データＣ１０を用いて、単語が有する意味の関連性（以下、「単語間の関連性」と記載する場合がある。）を判定する判定処理の一例について説明する。また、以下の説明では、判定処理の結果に基づいて、単語間の関連性を学習するとともに、学習結果に基づいて、入力された単語と類似する単語を出力する処理の一例について説明する。
【００１２】
判定装置１０は、単語間の関連性を判定し、判定結果に基づく学習処理や判定処理を実行する装置である。例えば、判定装置１０は、サーバ装置やクラウドシステム等により実現される。このような判定装置１０は、単語間の関連性を判定する判定処理、判定処理の結果に基づいて単語間の関連性を学習した学習処理、及び判定結果に基づいて入力された単語と類似する単語等を出力する出力処理を実行する。
【００１３】
〔１−１．判定処理および学習処理〕
ここで、単語間の関連性を判定する手法の一つとして、Ｗ２Ｖ（Word  to  Vector）等、判定対象となる単語を複数次元の数値、すなわち分散表現に変換し、変換後の分散表現を分散表現空間上にマッピングすることで、単語間の関連性を判定する技術が知られている。例えば、このような分散表現を用いた従来技術では、学習データＣ１０から単語を抽出し、抽出した単語を分散表現空間上にマッピングし、各単語の出現頻度や、学習データＣ１０内における各単語の関係等に従って、分散表現空間上における各単語間のコサイン距離（内積、又はコサイン類似度とも呼ばれる。）を調整することで、各単語間の関連性を学習する。そして、従来技術では、最終的に得られた各単語間のコサイン距離等に基づいて、各単語が類似する単語であるか否かを判定する。すなわち、従来技術では、各単語間のコサイン距離に基づいて、単語間の関連性を判定する。
【００１４】
しかしながら、単語間のコサイン距離に基づいて、各単語が類似する単語であるか否かの判定を行った場合、２つの単語間の類似度を判定することができるものの、３つの単語が有する関連性に基づいた判定を行うことができない。すなわち、従来技術においては、２つの単語間の関連性を判定しているに過ぎず、３つ以上の単語間の関連性を精度良く判定することができなかった。例えば、従来技術では、単語＃１、単語＃２、および単語＃３が有する関連性を判定する際に、単語＃１と単語＃２との関連性や、単語＃２と単語＃３との関連性を判定しているに過ぎず、単語＃１を中心とした単語＃２および単語＃３の関係等、３つの単語が全体として有する関連性を判定することができない。この結果、従来技術では、３つ以上の単語が有する関連性を分散表現空間上に反映させることができず、学習精度を向上させることができなかった。
【００１５】
そこで、判定装置１０は、以下の判定処理を実行する。まず、判定装置１０は、学習データＣ１０として、小説や特許明細書等の文章を取得する（ステップＳ１）。このような場合、判定装置１０は、学習データＣ１０に含まれるテキストの形態素解析を行い、判定対象とする単語を抽出する。例えば、判定装置１０は、学習データＣ１０に含まれる名詞を抽出する。また、判定装置１０は、抽出した単語間の関連性を、分散表現空間上の距離および角度に落とし込んで判定する（ステップＳ２）。そして、判定装置１０は、２単語間のコサイン距離、３単語間の角度、および４単語間の二面角をパラメータとすることで、単語間の関連性を学習したモデルを生成する学習処理を実行する。すなわち、判定装置１０は、ステップＳ２に示した判定処理による判定結果に基づいて、単語間の関連性を判定するための学習器の学習を行う。
【００１６】
例えば、判定装置１０は、２単語間の共起性をコサイン距離として判定する（ステップＳ３）。具体的な例を挙げると、判定装置１０は、「バナナ」という単語と「リンゴ」という単語とを分散表現に変換する。そして、判定装置１０は、学習データＣ１０内で、「バナナ」という単語と「リンゴ」という単語とが出現する頻度や、「バナナ」という単語と「リンゴ」という単語が出現する近さ等に基づいて、「バナナ」という単語の分散表現と、「リンゴ」という単語の分散表現との間のコサイン距離を調整する。すなわち、判定装置１０は、分散表現空間上のコサイン距離をパラメータとして、２単語間の関連性を学習する。
【００１７】
また、判定装置１０は、３単語間の関連性を、基準単語を中心とする角度として判定する（ステップＳ４）。具体的には、判定装置１０は、分散表現空間上にマッピングされた３単語によって定義づけられる角度として、３単語が有する関連性を判定する。例えば、判定装置１０は、３単語のうちいずれか１つの単語を基準単語として選択する。また、判定装置１０は、分散表現空間上において、基準単語を中心（頂点）とする他の２つの単語間の角度を算出する。例えば、判定装置１０は、「バナナ」、「トマト」、「リンゴ」の関連性を判定する場合、分散表現空間上において「トマト」を頂点とする「バナナ」と「リンゴ」との間の角度θを、「バナナ」、「トマト」、「リンゴ」の関連性を示す情報として判定する。そして、判定装置１０は、学習データＣ１０内において各３単語が出現する頻度や近さ等に応じて、算出した角度θを調整する。すなわち、判定装置１０は、分散表現空間上で３単語により生じる角度θをパラメータとして、３単語間の関連性を学習する。
【００１８】
また、判定装置１０は、４単語間の関連性を、基準となる２つの単語を交線とする二面角として判定する（ステップＳ５）。具体的には、判定装置１０は、分散表現空間上にマッピングされた４単語によって定義づけられる二面角として、４単語間の関連性を判定する。例えば、判定装置１０は、４単語のうちいずれか２つを基準単語として選択する。そして、判定装置１０は、選択した２つの基準単語を含む線を交線とする２つの面であって、基準単語以外の単語のうちそれぞれ異なる単語を含む面が有する角度φを算出する。例えば、判定装置１０は、「バナナ」、「トマト」、「リンゴ」、および「オレンジ」の関連性を判定する場合、「リンゴ」と「トマト」を基準単語として選択する。なお、判定装置１０は、任意の単語を基準単語として選択してよい。そして、判定装置１０は、基準単語である「リンゴ」および「トマト」と、「バナナ」とを含む平面と、基準単語である「リンゴ」および「トマト」と、「オレンジ」とを含む平面との間の角度φを「バナナ」、「トマト」、「リンゴ」、および「オレンジ」の関連性を示す情報として判定する。そして、判定装置１０は、学習データＣ１０内において各４単語が出現する頻度や近さ等に応じて、算出した角度φを調整する。すなわち、判定装置１０は、分散表現空間上で４単語により生じる角度φをパラメータとして、４単語間の関連性を学習する。
【００１９】
このように、判定装置１０は、学習データＣ１０から抽出される各単語から、２単語の組、３単語の組、及び４単語の組を生成し、生成した各組について、２単語間のコサイン距離、３単語間の角度、および４単語間の二面角をパラメータとして算出する。そして、判定装置１０は、算出した各パラメータを、２単語間の関連性、３単語間の関連性、および４単語間の関連性として、学習データＣ１０に基づいて調整することで、各単語間の関連性を学習した学習器を生成する（ステップＳ６）。
【００２０】
なお、判定装置１０は、単語間の関連性を学習した学習器として、任意の態様の学習器を生成してよい。例えば、判定装置１０は、複数の中間層を有するニューラルネットワーク等を用いて（いわゆるディープラーニングと呼ばれる技術を用いて）、各単語間の関連性を学習する。なお、判定装置１０は、Ｗ２Ｖの学習を行う学習器において、２単語間のコサイン距離、３単語間の角度、および４単語間の二面角をパラメータとして学習させてもよい。
【００２１】
なお、例えば、判定装置１０は、４単語間の二面角をパラメータとして学習するとともに、４単語に含まれる３単語間の角度をパラメータとして学習してもよい。また、判定装置１０は、重複する単語について角度や二面角を判定してもよい。例えば、判定装置１０は、「バナナ」を頂点とした「トマト」と「リンゴ」との間の角度と「トマト」を頂点とした「バナナ」と「リンゴ」との間の角度とを両方ともにパラメータにしてもよい。また、例えば、判定装置１０は、「リンゴ」、「トマト」、「バナナ」を含む平面と、「リンゴ」、「トマト」「オレンジ」を含む平面との間の角度を算出するとともに、「オレンジ」、「トマト」、「バナナ」を含む平面と、「オレンジ」、「トマト」「リンゴ」を含む平面との角度を算出し、両角度をパラメータにしてもよい。すなわち、判定装置１０は、上述した処理を適宜組み合わせた学習を行ってもよい。
【００２２】
〔１−２．出力処理〕
次に、判定装置１０が判定結果に基づいて実行する出力処理について説明する。まず、判定装置１０は、利用者Ｕ０１が使用する端末装置１００から、判定対象データを受付ける（ステップＳ７）。例えば、判定装置１０は、判定対象データとして単語「バナナ」を受付ける。このような場合、判定装置１０は、学習済みの２単語間のコサイン距離、３単語間の角度、４単語間の二面角をパラメータとして、判定対象データである単語「バナナ」と類似する単語を判定する。すなわち、判定装置１０は、２単語間のコサイン距離、３単語間の角度、４単語間の二面角をパラメータとして、各単語をマッピングした分散表現空間を用いて、単語「バナナ」と類似する単語を判定する（ステップＳ８）。例えば、判定装置１０は、「バナナ」とのコサイン距離が近い単語や、「バナナ」と角度が近い他の単語を抽出する。そして、判定装置１０は、判定結果を端末装置１００に出力する（ステップＳ９）。例えば、判定装置１０は、分散表現空間上において単語「バナナ」と類似する単語が「リンゴ」である場合には、単語「リンゴ」を端末装置１００に出力する。
【００２３】
なお、判定装置１０は、判定結果に基づく処理であれば、任意の処理を出力処理として実行してもよい。例えば、判定装置１０は、端末装置１００から判定対象データとして３つの単語を受付けた場合には、分散表現空間上において、判定対象データとして受付けた３つの単語により定義づけられる角度θを算出する。そして、判定装置１０は、算出した角度θの値に基づいて、判定対象データとして受付けた３つの単語が関連性を有するか否か、どのような関連性を有するか等を示す情報を判定結果として出力してもよい。同様に、判定装置１０は、端末装置１００から判定対象データとして４つの単語を受付けた場合には、分散表現空間上において、判定対象データとして受付けた４つの単語により定義づけられる二面角φを算出する。そして、判定装置１０は、算出した二面角φの値に基づいて、判定対象データとして受付けた４つの単語が関連性を有するか否か、どのような関連性を有するか等を示す情報を判定結果として出力してもよい。
【００２４】
〔２．判定装置の構成〕
次に、上述した実施形態にかかる判定装置１０の構成について説明する。図２は、実施形態に係る判定装置が有する機能構成の一例を示す図である。図２に示すように、判定装置１０は、通信部２０、記憶部３０、および制御部４０を有する。通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、端末装置１００や、データサーバ５０の間で情報の送受信を行う。なお、データサーバ５０は、各種の小説やニュース等の記事、論文データベースや特許明細書のデータベース等、学習データＣ１０として利用可能な任意のテキストデータを配信する情報処理装置であり、サーバ装置やクラウドシステム等により実現される。
【００２５】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部３０は、学習データデータベース３１、単語データベース３２、およびモデルデータベース３３（以下、「各データベース３１〜３３」と総称する場合がある。）を有する。
【００２６】
学習データデータベース３１には、学習データＣ１０が登録される。例えば、学習データデータベース３１には、データサーバ５０から学習データとして取得された小説、記事、論文、特許明細書等のテキストデータが登録されている。
【００２７】
単語データベース３２には、学習データデータベース３１に登録された学習データＣ１０から抽出された単語が登録されている。例えば、図３は、実施形態に係る単語データベースに登録される情報の一例を示す図である。例えば、図３に示す例では、単語データベース３２には、「組種別」、「単語＃１」〜「単語＃４」といった項目を有する情報が登録されている。
【００２８】
ここで、「組種別」とは、対応付けられた単語の数を示す情報である。例えば、単語データベース３２には、組種別「２単語」に対し、２つの異なる単語を対応付けた情報が対応付けて登録され、組種別「３単語」に対し、３つの異なる単語を対応付けた情報が対応付けて登録されている。また、単語データベース３２には、組種別「４単語」に対し、４つの異なる単語を対応付けた情報が対応付けて登録されている。なお、図３に示す例では、学習データＣ１０から抽出された単語として、「リンゴ」や「バナナ」等といった単語が登録される例について記載したが、実施形態は、これに限定されるものではない。すなわち、単語データベース３２には、学習データＣ１０から抽出された任意の単語が登録されているものとする。
【００２９】
図２に戻り、説明を続ける。モデルデータベース３３には、判定処理の結果である判定結果に基づいて学習されたモデルのデータが登録される。例えば、モデルデータベース３３には、学習データＣ１０に含まれる単語を、単語間の関係に基づいて分散表現空間上にマッピングしたモデル、すなわち、Ｗ２Ｖの処理に用いられるモデル等が登録される。なお、モデルデータベース３３には、所謂ディープラーニング等に用いられる複数の中間層を有するニューラルネットワークのデータが登録されていてもよい。
【００３０】
制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、判定装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００３１】
図２に示すように、制御部４０は、取得部４１、解析部４２、対応部４３、判定部４４、学習部４５、および提供部４６を有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部４０の内部構成は、図２に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００３２】
取得部４１は、判定対象となる単語を含む学習データＣ１０を取得する。例えば、取得部４１は、データサーバ５０等から学習データＣ１０を取得する。そして、取得部４１は、取得した学習データＣ１０を学習データデータベース３１に登録する。なお、取得部４１は、データサーバ５０以外にも、例えば、ウェブ上に存在する任意のテキストを学習データＣ１０として収集し、収集した学習データＣ１０を学習データデータベース３１に登録してもよい。また、取得部４１は、利用者Ｕ０１が使用する端末装置１００等から、学習用のテキストデータを含む学習データＣ１０を取得し、取得した学習データＣ１０を学習データデータベース３１に登録してもよい。
【００３３】
解析部４２は、学習データデータベース３１に登録された学習データＣ１０の解析を行い、判定対象となる単語、すなわち、学習対象となる単語を抽出する。例えば、解析部４２は、学習データデータベース３１から学習データＣ１０を読み出すと、学習データＣ１０の形態素解析を行う。そして、解析部４２は、学習データＣ１０から判定対象となる単語を抽出する。
【００３４】
また、解析部４２は、抽出した単語から２つの単語の組（以下、「２単語」と記載する。）と、３つの単語の組（以下、「３単語」と記載する。）と、４つの単語の組（以下、「４単語」と記載する。）とを生成する。例えば、解析部４２は、抽出した単語を総当たり的に組み合わせることで、２単語、３単語および４単語を生成し、生成した２単語、３単語および４単語を単語データベース３２に登録する。
【００３５】
対応部４３は、関連性の判定対象となる２単語、３単語および４単語を分散表現空間上に対応付ける。また、判定部４４は、単語間の関連性を、分散表現空間上におけるコサイン距離、３単語により定義づけられる角度、および４単語により定義づけられる二面角として判定する。そして、学習部４５は、判定部４４による判定結果に基づいて、複数の単語が有する関連性を学習するモデルを生成し、生成したモデルをモデルデータベース３３に登録する。
【００３６】
例えば、対応部４３は、単語データベース３２に登録された各単語を分散表現に変換する。続いて、判定部４４は、単語データベース３２に登録された各２単語について、以下の処理を実行する。まず、判定部４４は、判定対象となる２単語の分散表現空間上におけるコサイン距離を、２単語が有する関連性のパラメータとして算出する。また、判定部４４は、学習データデータベース３１に登録された学習データＣ１０を参照し、判定対象となる２単語が出現する頻度や、出現する文脈の同一性、学習データＣ１０内で２単語が出現する近さ等を、２単語が有する関連性の指標として取得する。そして、学習部４５は、２単語が有する関連性のパラメータとして判定部４４が算出したコサイン距離をパラメータとし、判定部４４が学習データＣ１０から取得した指標に従って、判定対象となる２単語の分散表現を調整する。例えば、学習部４５は、判定対象となる２単語が学習データＣ１０上において類似する単語であるならば、コサイン距離の値がより大きくなるように、２単語の分散表現を調整する。
【００３７】
すなわち、判定部４４は、２単語間の関連性を、分散表現空間上におけるコサイン距離として判定する。そして、学習部４５は、判定結果に基づいて、判定対象となる２単語間の分散表現を学習する。このような調整を単語データベース３２に登録された各２単語について実行することで、判定装置１０は、各２単語間の関連性をコサイン距離に落とし込んだ、各単語の分散表現を取得することができる。なお、このようなコサイン距離を用いた学習手法については、Ｗ２Ｖ等の公知の技術を適用可能であるものとする。
【００３８】
また、判定部４４は、３単語間の関連性および４単語間の関連性を分散表現空間上の角度や二面角に落とし込むことで、より精度の高い単語間の関連性を含む分散表現を取得する。例えば、判定部４４は、判定対象となる３単語により定義づけられる分散表現空間上の角度を、３単語が有する関連性のパラメータとして算出する。より具体的には、判定部４４は、判定対象となる３単語のうちいずれか１つの単語を基準単語として選択し、基準単語を頂点とした、他の２つの単語間の分散表現空間上における角度を算出する。また、判定部４４は、学習データデータベース３１に登録された学習データＣ１０を参照し、判定対象となる３単語が出現する頻度や、出現する文脈の同一性、学習データＣ１０内で３単語が出現する近さ等を、３単語が有する関連性の指標として取得する。そして、学習部４５は、３単語が有する関連性のパラメータとして判定部４４が算出した角度をパラメータとし、判定部４４が学習データＣ１０から取得した指標に従って、判定対象となる３単語の分散表現を調整する。例えば、学習部４５は、判定対象となる３単語が学習データＣ１０上において類似する単語であるならば、角度の値がより小さくなるように、３単語の分散表現を調整する。
【００３９】
また、例えば、判定部４４は、判定対象となる４単語により定義づけられる分散表現空間上の二面角の角度を、４単語が有する関連性のパラメータとして算出する。より具体的には、判定部４４は、判定対象となる４単語のうちいずれか２つの単語を基準単語として選択する。そして、判定部４４は、分散表現空間上において、基準単語として選択した２つの単語を含む線を交線とする２つの面であって、判定対象となる４単語のうち基準単語以外の単語を含む２つの面が有する角度を算出する。すなわち、判定部４４は、４単語に含まれる単語＃１〜＃４のうち、基準単語として単語＃１、単語＃２を選択した場合には、単語＃１〜＃３を含む分散表現空間上の面と、単語＃１、単語＃２、および単語＃４を含む分散表現空間上の面との間の角度、すなわち、二面角の角度を算出する。
【００４０】
また、判定部４４は、２単語や３単語と同様に、学習データＣ１０に判定対象となる４単語が出現する頻度等、４単語が有する関連性の指標を取得する。そして、学習部４５は、４単語が有する関連性のパラメータとして判定部４４が算出した二面角の角度をパラメータとし、判定部４４が学習データＣ１０から取得した指標に従って、判定対象となる４単語の分散表現を調整する。例えば、学習部４５は、判定対象となる４単語が学習データＣ１０上において類似する単語であるならば、二面角の角度の値がより小さくなるように、４単語の分散表現を調整する。
【００４１】
なお、上述した説明では、２単語間の関連性、３単語間の関連性、および４単語間の関連性をそれぞれ独立に学習するように記載したが、実施形態は、これに限定されるものではない。すなわち、学習部４５は、コサイン距離を２単語間の関連性を示すパラメータとし、分散表現空間上の角度を３単語間の関連性を示すパラメータとし、分散表現空間上の二面角の角度を４単語間の関連性を示すパラメータとし、各パラメータの値に学習データＣ１０から取得された指標が反映されるように、各単語の分散表現を調整すればよい。
【００４２】
なお、判定部４４は、判定対象とした４単語に含まれる３つの単語が有する関連性を、分散表現空間上におけるその３つの単語により定義づけられる角度として判定してもよい。すなわち、判定部４４は、学習データＣ１０から総当たり的に抽出された２単語、３単語、および４単語のそれぞれの関連性を、コサイン距離、角度、および二面角の角度として判定してもよい。
【００４３】
このように、判定部４４は、３単語間の関連性を、分散表現空間上において３つの単語により定義づけられる角度として判定する。また、判定部４４は、４単語間の関連性を、分散表現空間上において４つの単語により定義づけられる二面角の角度として判定する。このように、判定装置１０は、２単語間の関連性のみならず、３単語間および４単語間の関連性をパラメータとして有するので、単語間の関連性をより精度良く反映させた分散表現空間を得ることができる。
【００４４】
提供部４６は、判定結果を用いて学習された分散表現空間を用いて、利用者Ｕ０１に対する各種のサービスを提供する。例えば、提供部４６は、判定対象データを端末装置１００から受付けると、モデルデータベース３３に登録されたモデル、すなわち、学習部４５によって学習されたモデルを読出し、読み出したモデルを用いて、判定対象データに基づき、利用者Ｕ０１に対して提供する情報を生成する。例えば、学習部４５は、モデルデータベース３３に登録されたモデルを用いて、判定対象データとして受付けた単語と類似する単語を分散表現空間上から選択する。すなわち、提供部４６は、２単語間のコサイン距離、３単語間の角度、および４単語間の二面角をパラメータとして、判定対象データとして受付けた単語と類似する単語を選択する。そして、提供部４６は、選択した単語を利用者Ｕ０１に対して提供する。
【００４５】
なお、判定対象データは、例えば、Ｗ２Ｖ等と同様に、単語間の演算を行う演算式であってもよい。このような場合、提供部４６は、演算式の解に最も類似する単語を選択して提供することとなる。
【００４６】
〔３．算出手法の一例〕
次に、数式を用いて、判定装置１０が、各種パラメータとして用いる情報を算出する処理の一例について説明する。なお、以下に示す例では、３単語間および４単語間の関連性を、分子動力学のシミュレーション手法を応用した数式を用いて実現する例について記載したが、実施形態は、これに限定されるものではない。
【００４７】
まず、２単語のコサイン類似度を算出する処理の一例について説明する。例えば、分散表現空間上にマッピングした単語＃１をｑ、単語＃２をｄとした場合、単語＃１と単語＃２とのコサイン類似度は、以下の式（１）で表すことができる。なお、分散表現空間上においては、ｑおよびｄは、多次元量（すなわち、ベクトル）である。なお、式（１）では、ベクトルとなるｑおよびｄを、上付き矢印を付したｑおよびｄで表した。
【００４８】
【数１】
0006400037.tif 000002
【００４９】
ここで、単語＃１と単語＃２とが類似する単語であるならば、分散表現空間上における単語＃１と単語＃２とのコサイン類似度の値は増加すると考えられる。そこで、判定装置１０は、式（１）で示されるコサイン類似度の値をパラメータとして、単語間の関連性を分散表現空間上に落とし込む。例えば、判定装置１０は、単語＃１と単語＃２との間のコサイン類似度と、単語＃１と単語＃３との間のコサイン類似度とを算出する。そして、判定装置１０は、学習データＣ１０において、単語＃１と単語＃２との関連性が、単語＃１と単語＃３との関連性よりも高いと判定される場合には、単語＃１と単語＃２との間のコサイン類似度の値が、単語＃１と単語＃３との間のコサイン類似度の値よりも大きくなるように、各単語＃１〜＃３の分散表現を調整する。
【００５０】
次に、３単語間の角度を算出する処理の一例について説明する。例えば、単語＃１の分散表現を「ｉ」、単語＃２の分散表現を「ｊ」、単語＃３の分散表現を「ｋ」とし、単語＃２を中心として単語＃１および単語＃３との間の角度を「θｉｊｋ」とする。このような場合、「θｉｊｋ」の余弦である「ｃｏｓθｉｊｋ」は、以下の式（２）で表すことができる。ここで、式（２）の右辺の分母に示す太字の「ｒｉｊ」は、「ｉ」から「ｊ」までのベクトルを示し、太字の「ｒkｊ」は、「ｋ」から「ｊ」までのベクトルを示す。また、式（２）の右辺の分子に示す「ｒｉｊ」は、「ｉ」から「ｊ」までのベクトルのノルムを示し、「ｒｊｋ」は、「ｊ」から「ｋ」までのベクトルのノルムを示す。
【００５１】
【数２】
0006400037.tif 000003
【００５２】
このため、判定装置１０は、式（２）で示される「θｉｊｋ」の余弦を算出し、算出した値を逆三角関数（arccos）により算出することができる。
【００５３】
判定装置１０は、逆三角関数を用いて、式（２）の値から分散表現空間上における単語＃１〜＃３の間の角度を算出する。また、判定装置１０は、式（２）を用いて、分散表現空間上における単語＃１、単語＃２、および単語＃４の間の角度を算出する。そして、判定装置１０は、学習データＣ１０における単語＃１〜＃３の間の関連性と、学習データＣ１０における単語＃１、単語＃２、および単語＃４の間の関連性を比較し、学習データＣ１０における単語＃１〜＃３の間の関連性がより高い場合には、分散表現空間上における単語＃１〜＃３の間の角度を、分散表現空間上における単語＃１、単語＃２、および単語＃４の間の角度よりも小さくなるように、各単語＃１〜＃４の分散表現を調整する。
【００５４】
次に、４単語間の二面角の角度を算出する処理の一例について説明する。例えば、単語＃１の分散表現を「ｉ」、単語＃２の分散表現を「ｊ」、単語＃３の分散表現を「ｋ」、単語＃４の分散表現を「ｌ」とする。ここで、単語＃２と単語＃３とを基準単語として選択すると、二面角の角度「φ」は、「ｉ」、「ｊ」、および「ｋ」を含む面と、「ｌ」、「ｊ」、および「ｋ」を含む面との間の角度で表すことができる。
【００５５】
ここで、「ｉ」、「ｊ」、および「ｋ」を含む面の法線を太字の「ｎ１」、「ｌ」、「ｊ」、および「ｋ」を含む面の法線を太字の「ｎ２」とすると、太字の「ｎ１」および太字の「ｎ２」は、以下の式（３）で表すことができる。ここで、太字の「ｒｉｊ」は、「ｉ」から「ｊ」までのベクトル、太字の「ｒｋｊ」は、「ｋ」から「ｊ」までのベクトル、太字の「ｒｋｌ」は、「ｋ」から「ｌ」までのベクトルを示す。
【００５６】
【数３】
0006400037.tif 000004
【００５７】
すると、単語＃１〜＃４によって定義づけられる二面角の角度を「φ」とすると、「φ」の余弦である「ｃｏｓφ」は、以下の式（４）で表すことができる。ここで、「ｎ１」および「ｎ２」は、太字の「ｎ１」および太字の「ｎ２」のノルムである。
【００５８】
【数４】
0006400037.tif 000005
【００５９】
このため、−π＜φ≦πの範囲でφの値を求めると、式（５）で表すことができる。
【００６０】
【数５】
0006400037.tif 000006
【００６１】
なお、判定装置１０は、分子ポテンシャル計算の手法に基づいて、分散表現空間上における単語間のエネルギーを算出し、算出したエネルギーをパラメータとして学習してもよい。例えば、上述した式（１）〜式（５）によって各単語間のコサイン距離、角度、および二面角の角度が定義づけられる場合、各単語間のエネルギーは、以下の式で表すことができる。例えば、単語＃１、単語＃２、単語＃３間のエネルギー「Ｖ１，２，３ａｎｇｌｅ」は、以下の式（６）で表すことができる。
【００６２】
【数６】
0006400037.tif 000007
【００６３】
また、例えば、単語＃１〜＃４間のエネルギー「Ｖ１，２，３，４ｄｉｈｅｄｒａｌ」は、以下の式（７）で表すことができる。
【００６４】
【数７】
0006400037.tif 000008
【００６５】
また、例えば、単語＃１および単語＃２間のエネルギー「Ｖ１，２ｂｏｎｄ」は、以下の式（８）で表すことができる。
【００６６】
【数８】
0006400037.tif 000009
【００６７】
このような分子ポテンシャル計算の手法に基づいて、各単語間に仮想的に生じるエネルギーの値をパラメータとして導入することで、単語間の関連性の判定精度をさらに向上させてもよい。
【００６８】
なお、判定装置１０は、上述したパラメータや分散表現を調整する際に用いる指標、すなわち、学習データＣ１０における各単語間の関連性を任意の手法で算出してよい。例えば、判定装置１０は、学習データＣ１０において、各単語間の関連性を判定する場合には、例えば、ＴＦ−ＩＤＦ（Term  Frequency-Inverse  Document  Frequency）の技術等に基づいて、関連性を示すスコアを算出し、算出したスコアに基づいて、各単語間の関連性を相対的に示せばよい。同様に、判定装置１０は、ＴＦ−ＩＤＦの技術を用いて、複数の単語間の関連性を示すスコアを算出し、算出したスコアに基づいて、各単語間の関連性を相対的に示せばよい。
【００６９】
〔４．処理の流れの一例〕
次に、図４を用いて、判定装置１０が実行する処理の流れの一例について説明する。図４は、実施形態に係る判定装置が実行する処理の流れの一例を説明する図である。例えば、判定装置１０は、学習データＣ１０を取得し（ステップＳ１０１）、学習データＣ１０に含まれるテキストの形態素解析を行い、単語の抽出を行う（ステップＳ１０２）。次に、判定装置１０は、抽出した単語を分散表現に変換し（ステップＳ１０３）、２単語間の関連性を分散表現空間上の距離として、単語間の関連性を判定する（ステップＳ１０４）。また、判定装置１０は、３単語間の関連性を分散表現空間上に対応付けられた３単語により定義づけられる角度として判定する（ステップＳ１０５）。また、判定装置１０は、４単語間の関連性を分散表現空間上に対応付けられた４単語により定義づけられる二面角の角度として判定する（ステップＳ１０６）。なお、判定装置１０は、ステップＳ１０４〜Ｓ１０６の処理を任意の順番で実行してもよく、同時並行的に実行してもよい。そして、判定装置１０は、判定結果が正解データに近づくように、判定結果に基づくモデルの学習を行って（ステップＳ１０７）、処理を終了する。
【００７０】
〔５．変形例〕
上述した実施形態に係る判定装置１０は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の判定装置１０の他の実施形態について説明する。
【００７１】
〔５−１．パラメータを用いた処理について〕
例えば、上述した判定装置１０は、複数の単語間のコサイン距離、角度、および二面角の角度をパラメータとして、各単語間の関連性を学習したモデルを生成した。しかしながら、実施形態は、これに限定されるものではない。すなわち、判定装置１０は、複数の単語間のコサイン距離、角度、および二面角の角度をパラメータとして、指定された単語や単語群と類似する単語や単語群等を検索して出力してもよい。
【００７２】
また、判定装置１０は、学習データＣ１０における各単語間の関連性、すなわち、各単語の分散表現を調整する際の指標を任意の態様で特定してもよい。例えば、判定装置１０は、ＴＦ−ＩＤＦを用いたスコアリング等の技術を提供してもよく、人によるスコアリングに基づいて分散表現を調整してもよい。このような分散表現を調整する際の指標については、任意の公知技術を適用可能である。
【００７３】
〔５−２．ハードウェア構成について〕
また、上述してきた実施形態に係る判定装置１０は、例えば図５に示すような構成のコンピュータ１０００によって実現される。図５は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【００７４】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一時的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ、フラッシュメモリ等により実現される。
【００７５】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【００７６】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【００７７】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【００７８】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【００７９】
例えば、コンピュータ１０００が判定装置１０として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムを実行することにより、制御部４０の機能を実現する。
【００８０】
〔６．効果〕
このように、判定装置１０は、関連性の判定対象となる３つの単語を分散表現空間上に対応付け、３つの単語が有する関連性を、分散表現空間上に対応付けられた３つの単語により定義づけられる角度として判定する。より具体的には、判定装置１０は、３つの単語が有する関連性を、分散表現空間上に対応付けられた３つの単語のうち、いずれか１つの単語を頂点とした他の２つの単語間の角度として判定する。このように、判定装置１０は、３つ以上の単語間の関連性を分散表現空間上の角度に落とし込んで学習または利用することができるので、自然言語処理の精度を向上させることができる。
【００８１】
また、判定装置１０は、関連性の判定対象となる４つの単語を分散表現空間上に対応付け、４つの単語が有する関連性を、分散表現空間上に対応付けられた４つの単語により定義づけられる二面角の角度として判定する。より具体的には、判定装置１０は、４つの単語が有する関連性を、分散表現空間上に対応付けられた４つの単語のうち、いずれか２つの基準単語を含む線を交線とする２つの面であって、基準単語以外の単語のうち、それぞれ異なる単語を含む面が有する角度として判定する。このように、判定装置１０は、４つ以上の単語間の関連性を分散表現空間上の角度に落とし込んで学習または利用することができるので、自然言語処理の精度を向上させることができる。
【００８２】
また、判定装置１０は、４つの単語のうちいずれか３つの単語が有する関連性を、分散表現空間上に対応付けられた３つの単語により定義づけられる角度として判定する。このため、判定装置１０は、自然言語処理の精度をさらに向上させることができる。
【００８３】
また、判定装置１０は、関連性の判定対象となる複数の単語のうち、任意の２つの単語間の関連性を、分散表現空間上に対応付けられた２つの単語間のコサイン距離として判定する。このため、判定装置１０は、自然言語処理の精度をさらに向上させることができる。
【００８４】
また、判定装置１０は、判定結果を用いて、複数の単語が有する関連性を判定する学習器の学習を行う。例えば、判定装置１０は、複数の中間層を有するニューラルネットワークの学習を行う。このため、例えば、判定装置１０は、３つ以上または４つ以上の単語が有する関連性を考慮した分散表現空間の学習を行うことができるので、自然言語処理の精度をさらに向上させることができる。
【００８５】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【００８６】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、判定部は、判定手段や判定回路に読み替えることができる。
【符号の説明】
【００８７】
１０  判定装置
２０  通信部
３０  記憶部
３１  学習データデータベース
３２  単語データベース
３３  モデルデータベース
４０  制御部
４１  取得部
４２  解析部
４３  対応部
４４  判定部
４５  学習部
４６  提供部
５０  データサーバ
１００  端末装置
【図１】
0006400037.tif 000010
【図２】
0006400037.tif 000011
【図３】
0006400037.tif 000012
【図４】
0006400037.tif 000013
【図５】
0006400037.tif 000014