(57)【要約】【課題】より効率的かつ高精度に質問の答えを導出できるようにすることが可能な情報処理装置、情報処理方法、およびプログラムを提供すること。【解決手段】複数のエンティティから選択された、第１エンティティの特徴量に、第１エンティティと第２エンティティとの関係を示す第１リレーションの特徴量を加算した特徴量が、第２エンティティの特徴量に近づくように学習された特徴量群を含む第２データベースを参照し、質問の特徴量を導出する導出器を学習する導出器学習部を備え、質問の特徴量と、第２エンティティの特徴量との差分を小さくし、質問の特徴量と、第２エンティティ以外のサンプリングされたエンティティの特徴量との差分を大きくするように、導出器を学習する。【選択図】図１
2019164669.tif 000002
【特許請求の範囲】
【請求項１】
複数のエンティティと、エンティティ間の関係を示すリレーションとが登録された第１データベースに基づいて、前記複数のエンティティから選択された、第１エンティティの特徴量に、前記第１エンティティと第２エンティティとの関係を示す第１リレーションの特徴量を加算した特徴量が、前記第２エンティティの特徴量に近づくように学習された特徴量群を含む第２データベースを参照し、前記質問の特徴量を導出する導出器を学習する導出器学習部を備え、
前記導出器学習部は、
前記質問の特徴量と、前記第２エンティティの特徴量との差分を小さくし、
前記質問の特徴量と、前記第２エンティティ以外のサンプリングされたエンティティの特徴量との差分を大きくするように、前記導出器を学習する、
情報処理装置。
【請求項２】
前記導出器学習部は、更に、
前記質問の特徴量と、前記第１エンティティの特徴量と前記第１リレーションの特徴量の和、との差分を小さくし、
前記質問の特徴量と、前記第１エンティティ以外のサンプリングされたエンティティの特徴量と前記第１リレーション以外のサンプリングされたリレーションの特徴量の和、との差分を大きくするように、前記導出器を学習する、
請求項１記載の情報処理装置。
【請求項３】
前記質問の特徴量は、前記第１エンティティの特徴量、前記第１リレーションの特徴量、および前記第２エンティティの特徴量と同じ空間上にある特徴量である、
請求項１または２記載の情報処理装置。
【請求項４】
前記第１データベースには、エンティティの性質に関する情報が付与されており、
前記導出器学習部は、第１期間においては、前記性質を問わず前記第２エンティティ以外のエンティティをサンプリングし、前記第１期間よりも後の第２期間においては、前記性質が前記第２エンティティと共通するエンティティの中から前記第２エンティティ以外のエンティティをサンプリングする、
請求項１から３のうちいずれか１項記載の情報処理装置。
【請求項５】
前記導出器は、前記質問を分割したワードが順次入力されるＲＮＮ（Recurrent Neural Networks）に基づいて構成され、
前記導出部学習部は、前記ＲＮＮのパラメータを学習する、
請求項１から４のうちいずれか１項記載の情報処理装置。
【請求項６】
複数のエンティティと、エンティティ間の関係を示すリレーションとが登録された第１データベースに基づいて、前記複数のエンティティから選択された、第１エンティティの特徴量に、前記第１エンティティと第２エンティティとの関係を示す第１リレーションの特徴量を加算した特徴量が、前記第２エンティティの特徴量に近づくように特徴量を学習する特徴量学習部を更に備える、
請求項１から５のうちいずれか１項記載の情報処理装置。
【請求項７】
質問を取得する取得部と、
前記取得部により取得された質問を前記導出器に入力することで得られる前記質問の特徴量に近いエンティティを前記第１データベースから抽出し、前記質問の回答として出力する回答出力部と、を更に備える、
請求項１から６のうちいずれか１項記載の情報処理装置。
【請求項８】
コンピュータが、
複数のエンティティと、エンティティ間の関係を示すリレーションとが登録された第１データベースに基づいて、前記複数のエンティティから選択された、第１エンティティの特徴量に、前記第１エンティティと第２エンティティとの関係を示す第１リレーションの特徴量を加算した特徴量が、前記第２エンティティの特徴量に近づくように学習された特徴量群を含む第２データベースを参照し、前記質問の特徴量を導出する導出器を学習し、
前記学習する際に、
前記質問の特徴量と、前記第２エンティティの特徴量との差分を小さくし、
前記質問の特徴量と、前記第２エンティティ以外のサンプリングされたエンティティの特徴量との差分を大きくするように、前記導出器を学習する、
情報処理方法。
【請求項９】
コンピュータに、
複数のエンティティと、エンティティ間の関係を示すリレーションとが登録された第１データベースに基づいて、前記複数のエンティティから選択された、第１エンティティの特徴量に、前記第１エンティティと第２エンティティとの関係を示す第１リレーションの特徴量を加算した特徴量が、前記第２エンティティの特徴量に近づくように学習された特徴量群を含む第２データベースを参照させ、前記質問の特徴量を導出する導出器を学習させ、
前記学習させる際に、
前記質問の特徴量と、前記第２エンティティの特徴量との差分を小さくし、
前記質問の特徴量と、前記第２エンティティ以外のサンプリングされたエンティティの特徴量との差分を大きくするように、前記導出器を学習させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、自然文で入力される質問に対して自動応答するための仕組みについて研究および実用化が進められている。これに関連し、１つまたは複数の単語を有するクエリーを受信するステップと、名称または別名がサブジェクトチャンクと同一の表層形式を有する少なくとも１つの候補サブジェクトを検出するようにデータベースにクエリーするステップと、前記少なくとも１つの候補サブジェクトと関連する１つまたは複数の関係を表現する１つまたは複数の関係ベクトルを検出するようにデータベースにクエリーするステップと、前記１つまたは複数の関係の、それぞれ前記クエリーと対応関係との意味類似性を示すランキングスコアを決定するステップと、前記１つまたは複数の関係から最も高いランキングスコアを有する関係を予測関係として選択し、且つ前記少なくとも１つの候補サブジェクトを予測トピックサブジェクトとして選択するステップと、前記予測関係と前記予測トピックサブジェクトでデータベースにクエリーして前記クエリーの解答を検出するステップと、を含んでおり、ここで、前記１つまたは複数の単語が前記クエリーのトピックサブジェクトを記述するサブジェクトチャンクを含むことを特徴とするクエリーに解答を提供するためのコンピュータ実施方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−７６４０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の技術では、効率的に処理を進められなかったり、精度が不十分になる場合があった。
本発明は、このような事情を考慮してなされたものであり、より効率的かつ高精度に質問の答えを導出できるようにすることが可能な情報処理装置、情報処理方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【０００５】
本発明の一態様は、質問を取得する取得部と、複数のエンティティと、エンティティ間の関係を示すリレーションとが登録された第１データベースに基づいて、前記複数のエンティティから選択された、第１エンティティの特徴量に、前記第１エンティティと第２エンティティとの関係を示す第１リレーションの特徴量を加算した特徴量が、前記第２エンティティの特徴量に近づくように学習された特徴量群を含む第２データベースを参照し、前記質問の特徴量を導出する導出器を学習する導出器学習部と、を備え、前記導出器学習部は、前記質問の特徴量と、前記第２エンティティの特徴量との差分を小さくし、前記質問の特徴量と、前記第２エンティティ以外のサンプリングされたエンティティの特徴量との差分を大きくするように、前記導出器を学習する、情報処理装置である。
【発明の効果】
【０００６】
本発明の一態様によれば、より効率的かつ高精度に質問の答えを導出できるようにすることができる。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置１００の構成の一例を示す図である。
【図２】トリプレットを構成する二つのエンティティとリレーションの関係を例示した図である。
【図３】ナレッジベース５０に登録されるデータの内容を模式的に示すイメージ図である。
【図４】ヘッドエンティティのベクトルＶｈｒ、リレーションのベクトルＶｒ、およびテイルエンティティのベクトルＶｇｔの幾何的関係を模式的に示す図である。
【図５】エンティティ・リレーションベクトルＤＢ６０に登録されるデータの内容を模式的に示すイメージ図である。
【図６】導出器の機能を概念的に示すイメージ図である。
【図７】第２学習部３０による処理の内容を概念的に示すイメージ図である。
【図８】比較例による処理の内容を模式的に示すイメージ図である。
【発明を実施するための形態】
【０００８】
［概要］
以下、図面を参照し、本発明の情報処理装置、情報処理方法、およびプログラムの実施形態について説明する。情報処理装置は、一以上のプロセッサにより実現される。情報処理装置は、クラウドサービスを提供する装置であってもよいし、ツールやファームウェアなどのプログラムがインストールされ、単体で処理を実行可能な装置であってもよい。情報処理装置は、インターネットやＷＡＮなどのネットワークに接続されていてもよいし、接続されていなくてもよい。すなわち、情報処理装置を実現するためのコンピュータ装置について特段の制約は存在せず、以下に説明する処理を実行可能なものであれば、如何なるコンピュータ装置によって情報処理装置が実現されてもよい。
【０００９】
情報処理装置は、例えば、人またはコンピュータによるテキストまたは音声の形式で入力される質問に対して、自動的に応答する装置ないしシステムに利用される。自動的に応答する装置とは、会話形式のインターフェースを備えるものであってもよいし、検索装置に包含され、クエリを質問と解釈し、回答を検索結果と共にクエリ入力者の端末装置に返すものであってもよい。
【００１０】
情報処理装置は、質問の特徴量を導出し、質問から得られた特徴量に近い特徴量を持つエンティティを、質問の回答として選択する。以下の説明では、特徴量は、ユークリッド空間上のベクトルであるものとするが、特徴量は、距離が定義でき、加減算が可能なものであれば、ベクトルでなくてもよい。以下に登場するベクトルは、Ｌ２ノルムが０から１の間になるように正規化されているものとする。
【００１１】
［構成］
図１は、情報処理装置１００の構成の一例を示す図である。情報処理装置１００は、例えば、質問取得部１０と、第１学習部２０と、第２学習部３０（「導出器学習部」の一例）と、回答出力部４０とを備える。これらの構成要素は、例えば、ＣＰＵ（Central Processing Unit）などのハードウェアプロセッサがプログラム（ソフトウェア）を実行することにより実現される。これらの構成要素のうち一部または全部は、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、ＧＰＵ（Graphics Processing Unit）などのハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの記憶装置に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
【００１２】
また、情報処理装置１００は、ＨＤＤやフラッシュメモリなどの記憶装置に、ナレッジベース５０、エンティティ・リレーションベクトルＤＢ（データベース）６０、導出器情報７０などの情報を格納する。これらの情報は、情報処理装置１００とは別体のデータベースサーバなどによって保持されてもよい。すなわち、情報処理装置１００は、これらの情報を保持するための記憶装置を備えなくてもよい。
【００１３】
質問取得部１０は、例えば、ネットワークＮＷを介して他装置から質問を取得する。ネットワークＮＷは、例えば、インターネット、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、セルラー網などを含む。質問は、テキストの形式で取得されてもよいし、音声の形式で取得されてもよい。後者の場合、情報処理装置１は音声認識部を備えてよい。いずれの場合も、質問は自然文で構成され、抽象化された符号では無いものとする。
【００１４】
第１学習部２０は、複数のエンティティと、エンティティ間の関係を示すリレーションとが登録されたナレッジベース５０に基づいて、エンティティとリレーションのベクトル（以下、それぞれをエンティティベクトル、リレーションベクトルと称する）を学習し、エンティティ・リレーションベクトルＤＢ６０に登録する。
【００１５】
［ナレッジベース］
ここで、ナレッジベース５０について説明する。ナレッジベース５０とは、事物に関する情報および事物間の意味的関係に関する情報をグラフとして記述したデータベースである。ナレッジベース５０における事物とは、例えば、「人間」、「機械」、「建物」、「組織」、「美」、「学問」、「旅行」といった抽象的な概念と、例えば特定の人間、特定の建物、特定の組織等の、それらの個体（以下、「インスタンス」)を含む。本実施形態では、事物のうち、ナレッジベース５０で情報を記述する対象事物のことを、特に「エンティティ」と称して説明する。
【００１６】
エンティティは、例えば、ある対象事物のインスタンスの実体（例えば実世界で存在している物体）を表していてもよいし、ある対象事物の概念（例えば実世界または仮想世界の中で定義された概念）を表していてもよい。例えば「建物」のように概念を表すエンティティもあれば、「○○タワー」のように「建物」という概念のインスタンスの実体を表すエンティティもある。
【００１７】
ナレッジベース５０は、計算機による意味処理を可能とするため、オントロジーという語彙体系で定められたクラスとリレーションを用いて記述される。オントロジーとは、事物のクラスおよびリレーションを定義したものであり、クラスとリレーションとの間に成り立つ制約を集めたものである。
【００１８】
クラスとは、オントロジーにおいて、同じ性質を持つ事物同士を一つのグループにしたものである。クラスの性質や事物の性質は後述するリレーションにより記述される。
【００１９】
例えば、くちばしを持ち、卵生の脊椎動物であり、前肢が翼になっている、という性質を持つ事物は、「鳥」というクラスあるいはその下位のクラスに分類される。また、「鳥」というクラスの中で、飛べない、という性質を持つ事物は、例えば、「ペンギン」や「ダチョウ」という、より下位のクラスに分類される。このように、クラスの体系は、上位と下位の関係を有する階層構造をなし、上位のクラスの性質は、下位のクラスに継承される。上述した例では、「鳥」というクラスの、「くちばしを持ち、卵生の脊椎動物であり、前肢が翼になっている」という性質は、「ペンギン」や「ダチョウ」という下位のクラスの性質にも含まれることになる。クラスを識別するためのクラス名自体は必ずしもクラスの意味を表している必要はないが、以下の説明では簡略化のためにクラスの意味を表すクラス名が与えられていることとする。
【００２０】
リレーションとは、事物の性質や特徴、クラス間の関係を記述する属性である。この結果、リレーションは、エンティティ間の関係を表す情報となる。例えば、リレーションは、「〜を体の構成要素としてもつ」という性質や、「〜に生息する」という性質を示す属性であってもよいし、「あるクラスが上位クラスであり、あるクラスが下位クラスである」というクラス間の上位下位の関係を示す属性であってもよい。リレーションを識別するためのリレーション名自体は必ずしもリレーションの意味を表している必要はないが、以下の説明では簡略化のためにリレーションの意味を表すリレーション名が与えられていることとする。
【００２１】
ナレッジベース５０の基本的な単位は、エンティティ間をリレーションで接続した３つの情報の組（以下、トリプレットと称する）である。図２は、トリプレットを構成する二つのエンティティとリレーションの関係を例示した図である。図示する例では、［エンティティ「日本」、リレーション「首都」、エンティティ「東京」］というトリプレットが挙げられている。このようなトリプレットから、「日本の首都は東京である」という意味情報を取得することができる。ナレッジベース５０を用いることで、エンティティに関する情報やエンティティ間の関係が明確に表現され、各種の機械処理が可能になる。以下、図２における「日本」すなわちトリプレットにおけるリレーションの意味的な方向性に関して元側にあるエンティティをヘッドエンティティ、図２における「東京」すなわちトリプレットにおけるリレーションの意味的な方向性に関して先側にあるエンティティをテールエンティティと称する。ナレッジベース５０は、トリプレットを複数備えるものである。あるヘッドエンティティが、他のヘッドエンティティにとってのテイルエンティティになることも、その逆もあり得る。図３は、ナレッジベース５０に登録されるデータの内容を模式的に示すイメージ図である。図中、矢印はリレーションを示し、破線の楕円はトリプレットを示している。図中のエンティティ１は、エンティティ２に対してヘッドエンティティであると共に、エンティティ３に対してはテイルエンティティである。
【００２２】
［第１学習部］
第１学習部２０は、ナレッジベース５０からサンプリングされた複数のトリプレット（既知情報）のそれぞれについて、ヘッドエンティティのベクトルにリレーションのベクトルを加算したベクトルが、テイルエンティティのベクトルに近づくように、ナレッジベース５０に含まれる各エンティティおよび各リレーションのベクトルを学習する。
【００２３】
ここで、ヘッドエンティティのベクトルをＶｈ、リレーションのベクトルをＶｒ、テイルエンティティのベクトルをＶｔと表す。なお、エンティティ空間はリレーション空間よりも多くの情報量を包含するため、例えば、エンティティのベクトルはリレーションのベクトルＶｒの次元数（ｄ）よりも高い次元数（ｋ）で生成される。以下の説明では、ヘッドエンティティのベクトルＶｈとテイルエンティティのベクトルＶｔのそれぞれにｋ×ｄ行列Ｍｋ×ｄを乗算してリレーションのベクトルＶｒの属する空間に写像したベクトルＶｈｒおよびＶｔｒを、ヘッドエンティティおよびテイルエンティティのベクトルと称する（式（１）（２）参照；Ｍは行列）。ヘッドエンティティのベクトルＶｈｒは「第１エンティティの特徴量」の一例であり、テイルエンティティのベクトルＶｔｒは「第２エンティティの特徴量」の一例であり、それらを接続するリレーションのベクトルＶｒは「第１リレーションのベクトル」の一例である。図中、Ｏはベクトル空間の原点である。
【００２４】
Ｖｈｒ＝Ｖｈ×Ｍｋ×ｄ  …（１）
Ｖｔｒ＝Ｖｔ×Ｍｋ×ｄ  …（２）
【００２５】
理想的には、ヘッドエンティティのベクトルＶｈｒとリレーションのベクトルＶｒとのベクトル和は、テイルエンティティのベクトルＶｇｔと一致する。図４は、ヘッドエンティティのベクトルＶｈｒ、リレーションのベクトルＶｒ、およびテイルエンティティのベクトルＶｇｔの幾何的関係を模式的に示す図である。
【００２６】
第１学習部２０は、式（３）で表される目的関数ｆｒに基づくスコアＣが十分に小さくなり収束するように、ヘッドエンティティのベクトルＶｈｒ、リレーションのベクトルＶｒ、およびテイルエンティティのベクトルＶｇｔを学習する。式中、||Ａ||２はベクトルＡのＬ２ノルムを表している。目的関数ｆｒは、図３の幾何的関係が成立している場合にゼロとなる。
【００２７】
ｆｒ（ｈ，ｔ）＝｛||Ｖｈｒ＋Ｖｒ−Ｖｔｒ||２｝２  …（３）
【００２８】
スコアＣは、式（４）で表される。式中、Ｓは正しいトリプレットを構成するヘッドエンティティ、リレーション、およびテイルエンティティの組み合わせであり、Ｓ＊は正しいトリプレットを構成しないヘッドエンティティ、リレーション、およびテイルエンティティの組み合わせである。γは、任意に定められるマージンパラメータである。
【数１】
2019164669.tif 000003
【００２９】
第１学習部２０によって学習されたエンティティおよびリレーションのベクトルは、エンティティ・リレーションベクトルＤＢ６０に登録され、第２学習部３０によって使用される。図５は、エンティティ・リレーションベクトルＤＢ６０に登録されるデータの内容を模式的に示すイメージ図である。エンティティ１とエンティティ２を含むトリプレットに着目すると、エンティティ１のベクトルＶ１ｒがＶｈｒに、エンティティ２のベクトルＶ２ｒがＶｔｒに、それらを繋ぐリレーションのベクトルＶ１２ｒがＶｒに、それぞれ該当する。また、エンティティ１とエンティティ３を含むトリプレットに着目すると、エンティティ１のベクトルＶ１ｒがＶｔｒに、エンティティ３のベクトルＶ３ｒがＶｈｒに、それらを繋ぐリレーションのベクトルＶ３１ｒがＶｒに、それぞれ該当する。
【００３０】
［第２学習部］
第２学習部３０は、導出器情報７０によって表現される導出器のパラメータ等を学習する。導出器は、質問を構成するテキストのベクトル（以下、質問のベクトルＶｑ）を生成するものである。第２学習部３０の処理を意味的に分解すると、ヘッドエンティティ、リレーション、およびテイルエンティティとの関係に応じた質問のベクトルＶｑ自体の学習と、質問を構成するテキストを質問のベクトルＶｑにする規則の学習とが含まれている。質問のベクトルＶｑは、ベクトルＶｈｒ、Ｖｒ、Ｖｔｒと同じベクトル空間にあるベクトル、すなわちこれらと次元数が同じベクトルである。
【００３１】
以下の説明において、第２学習部３０には、質問と、質問の意味を表すと考えられるヘッドエンティティおよびリレーション、並びに質問の正解であるテイルエンティティを含むトリプレットと、を対応付けた情報が、教師データとして与えられるものとする。例えば、［質問「日本の首都はどこ」、ヘッドエンティティ「日本」、リレーション「首都」、テイルエンティティ「東京」］を一つのレコードとし、複数のレコードを含むデータが教師データとして第２学習部３０に与えられる。
【００３２】
第２学習部３０は、上記の教師データと、エンティティ・リレーションベクトルＤＢ６０とに基づいて、質問のベクトルＶｑと、テイルエンティティのベクトルＶｔｒとの差分（距離）を小さくし、質問のベクトルＶｑと、テイルエンティティ以外のサンプリングされたエンティティのベクトルＶｔｒ＊との差分（距離）を大きくするように、質問のベクトルＶｑを学習する。すなわち、第２学習部３０は、式（５）の目的関数ｇ１を小さくするように質問のベクトルＶｑを学習する。
【００３３】
ｇ１＝｛||Ｖｔ−Ｖｑ||２｝２  …（５）
【００３４】
また、第２学習部３０は、更に、質問のベクトルＶｑと、ヘッドエンティティのベクトルＶｈｒとリレーションのベクトルＶｒとの和、との差分を小さくし、質問のベクトルＶｑと、ヘッドエンティティ以外のサンプリングされたエンティティのベクトルＶｈｒ＊と上記リレーション以外のサンプリングされたリレーションのベクトルＶｒ＊の和、との差分を大きくするように、質問のベクトルＶｑを学習する。すなわち、第２学習部３０は、式（６）の目的関数ｇ２を小さくするように質問のベクトルＶｑを学習する。
【００３５】
ｇ２＝｛||Ｖｈｒ＋Ｖｒ−Ｖｑ||２｝２  …（６）
【００３６】
より具体的に、第２学習部３０は、目的関数ｇ１と目的関数ｇ２の和に基づくスコアＬが十分に小さくなり収束するように、質問のベクトルＶｑを学習する。スコアＬは、式（７）で表される。式中、Ｓは正しいトリプレットを構成するヘッドエンティティ、リレーション、およびテイルエンティティと、対応する質問との組み合わせであり、Ｓ＊は正しいトリプレットを構成せず、或いは質問とその他の情報とが対応しない、ヘッドエンティティ、リレーション、テイルエンティティ、および質問の組み合わせである。γは、任意に定められるマージンパラメータである。
【００３７】
【数２】
2019164669.tif 000004
【００３８】
第２学習部３０は、自然文であるテキストから質問のベクトルＶｑを導出する導出器のパラメータ等を学習する。図６は、導出器の機能を概念的に示すイメージ図である。図示するように、導出器は、例えば、ＲＮＮに基づいて生成される。導出器には、例えば、質問を一文字ごとに区切った語のコード等が順次入力される。ＲＮＮは、各時点における暫定的な質問のベクトルＶｑ（１）、Ｖｑ（２）、…を出力すると共に、計算結果の少なくとも一部を次の時点に伝播させる。質問のすべての語のコード等が入力された時点のＲＮＮの出力が、質問のベクトルＶｑとなる。第２学習部３０は、ある質問について、対応する既知のヘッドエンティティ、リレーション、テイルエンティティのそれぞれのベクトルＶｈｒ、Ｖｒ、Ｖｔｒに基づくスコアＬを小さくするように学習された質問のベクトルＶｑが導出されるように、ＲＮＮのパラメータを学習する。このパラメータは、導出器情報７０として保持される。
【００３９】
なお、質問が英文である場合、スペースで区切られたワードが各時点のＲＮＮに順次入力されてもよいし、和文その他である場合、形態素解析によって区切られたワードが各時点のＲＮＮに順次入力されてもよい。第２学習部３０は、それらの態様に即した学習を行う。
【００４０】
図７は、第２学習部３０による処理の内容を概念的に示すイメージ図である。図示するように、質問が導出器に入力されることで質問のベクトルＶｑが得られる。第２学習部３０は、質問のベクトルＶｑとテイルエンティティのベクトルＶｔｒとの距離ｄ１、および、質問のベクトルＶｑとヘッドエンティティのベクトルＶｈｒとリレーションのベクトルＶｒとの和との距離ｄ２の双方が十分に小さくなるように、導出器のパラメータを学習する。
【００４１】
また、前述したようにナレッジベース５０には、エンティティの性質に関する情報（例えばクラス）が付与されている。第２学習部３０は、学習開始からある程度の時間が経過するまでの第１期間においては、ネガティブサンプリングするエンティティを、クラスを問わずサンプリングし、第１期間よりも後の第２期間においては、ネガティブサンプリングするエンティティを、正解のエンティティとクラスが同じエンティティの中からサンプリングする。これによって、効率的な学習を行い、収束を早めることができる。
【００４２】
回答出力部４０は、例えばネットワークＮＷを介して他装置から取得した質問を、導出器情報７０によって規定される導出器に入力し、出力された質問のベクトルＶｑに最も近いエンティティのベクトルをエンティティ・リレーションベクトルＤＢ６０から抽出する。この際に、回答出力部４０は、例えば１ＮＮ（Nearest Neighbor）の手法によって質問のベクトルＶｑに最も近いエンティティのベクトルを抽出する。回答出力部４０は、最も近いエンティティのベクトルに対応するエンティティの内容を、質問の回答として、例えばネットワークＮＷを介して他装置に返信する。なお、情報処理装置が単体で処理をする場合、情報処理装置は、図示しない入力部に対して入力された質問に対して処理を行い、出力部に回答を出力させる。
【００４３】
以上説明した情報処理装置によれば、より効率的かつ高精度に質問の答えを導出できるようにすることができる。
【００４４】
ここで、比較対象として、質問のベクトルＶｑを、単にベクトルＶｈｒ＋Ｖｒに近づけるように学習する場合（以下、比較例）を考える。図８は、比較例による処理の内容を模式的に示すイメージ図である。比較例では、ＶｑをＶｈｒ＋Ｖｒに近づける（距離ｄ２を小さくする）学習と、Ｖｈｒ＋ＶｒをＶｔｒに近づける（距離ｄ３を小さくする）学習との二段階の学習（推論）を経て回答を導出することになるが、実施形態の情報処理装置では、ＶｑをＶｔｒに直接近づける学習を処理内容に含んでいるため、回答を導出する精度を向上させることができる。
【００４５】
情報量の圧縮の観点からも同じことが言える。ＶｑをＶｈｒ＋Ｖｒに近づける学習においては、一種の次元圧縮が行われる。なぜなら、質問の自然文には、ヘッドエンティティやリレーションで表される抽象化された意味情報以上の情報（以下、付加情報）が含まれているからである。比較例では、付加情報が削除された状態でＶｈｒ＋Ｖｒに近づける学習が行われるのに対し、実施形態の情報処理装置では、付加情報を含んだ状態でＶｔｒに近づける学習が行われるため、そもそもＶｈｒ＋ＶｒをＶｔｒに近づける学習よりも高精度が結果を得ることができる。
【００４６】
また、実施形態の情報処理装置によれば、式（７）に示すように、ＶｑをＶｔｒに近づけるという制約と、ＶｑをＶｈｒ＋Ｖｒに近づけるという制約の二つの制約の上でＶｑを学習する。このため、学習における自由度を下げることで、処理の収束を早めることができる。この結果、比較例よりも高速に処理を行うことができる。
【００４７】
また、実施形態の情報処理装置によれば、式（７）に示すように、ポジティブサンプルに対する距離を最小化すると共に、ネガティブサンプルに対する距離を最大化する問題を解く際に、最大化する項の符号をマイナスにすることで、全体を最小化問題にしている。ディープラーニング等の処理は、目的関数を最小化する問題を解くのに適しているため、実施形態の処理は、コンピュータを用いて好適に実現することができる。
【００４８】
なお、上記の説明において、情報処理装置は、質問を区切った語のコード等がＲＮＮに順次入力されるものとしたが、類義語辞書等を使用して、ある程度正規表現にしてからＲＮＮに入力してもよい。
【００４９】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【００５０】
１  情報処理装置
１０  質問取得部
２０  第１学習部
３０  第２学習部
４０  回答出力部
５０  ナレッジベース
６０  エンティティ・リレーションベクトルＤＢ
７０  導出器情報
【図１】
2019164669.tif 000005
【図２】
2019164669.tif 000006
【図３】
2019164669.tif 000007
【図４】
2019164669.tif 000008
【図５】
2019164669.tif 000009
【図６】
2019164669.tif 000010
【図７】
2019164669.tif 000011
【図８】
2019164669.tif 000012