特許第6979909号(P6979909)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧

特許6979909情報処理装置、情報処理方法、およびプログラム
<>
  • 特許6979909-情報処理装置、情報処理方法、およびプログラム 図000004
  • 特許6979909-情報処理装置、情報処理方法、およびプログラム 図000005
  • 特許6979909-情報処理装置、情報処理方法、およびプログラム 図000006
  • 特許6979909-情報処理装置、情報処理方法、およびプログラム 図000007
  • 特許6979909-情報処理装置、情報処理方法、およびプログラム 図000008
  • 特許6979909-情報処理装置、情報処理方法、およびプログラム 図000009
  • 特許6979909-情報処理装置、情報処理方法、およびプログラム 図000010
  • 特許6979909-情報処理装置、情報処理方法、およびプログラム 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6979909
(24)【登録日】2021年11月18日
(45)【発行日】2021年12月15日
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
   G06F 16/20 20190101AFI20211202BHJP
   G06F 16/28 20190101ALI20211202BHJP
   G06F 16/90 20190101ALI20211202BHJP
   G06N 3/04 20060101ALI20211202BHJP
【FI】
   G06F16/20
   G06F16/28
   G06F16/90 100
   G06N3/04
【請求項の数】9
【全頁数】12
(21)【出願番号】特願2018-52879(P2018-52879)
(22)【出願日】2018年3月20日
(65)【公開番号】特開2019-164669(P2019-164669A)
(43)【公開日】2019年9月26日
【審査請求日】2020年3月13日
【新規性喪失の例外の表示】特許法第30条第2項適用 ウェブサイトの掲載日 平成29年11月24日 http://ijcnlp2017.org/site/page.aspx?pid=901&sid=1133&lang=en https://aclanthology.coli.uni−saarland.de/events/ijcnlp−2017 https://aclanthology.coli.uni−saarland.de/papers/I17−2037/i17−2037 http://aclweb.org/anthology/I17−2037 公開者 クルカニカウステューブ
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100181124
【弁理士】
【氏名又は名称】沖田 壮男
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】クルカルニ カウステューブ
【審査官】 三橋 竜太郎
(56)【参考文献】
【文献】 特開2017−076403(JP,A)
【文献】 特開2000−105768(JP,A)
【文献】 特開2008−282366(JP,A)
【文献】 特開2016−133919(JP,A)
【文献】 特開2017−173864(JP,A)
【文献】 米国特許出願公開第2015/0339577(US,A1)
【文献】 米国特許出願公開第2016/0155058(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00−16/958
G06N 3/04
(57)【特許請求の範囲】
【請求項1】
複数のエンティティと、エンティティ間の関係を示すリレーションとが登録された第1データベースに基づいて、前記複数のエンティティから選択された、第1エンティティの特徴量に、前記第1エンティティと第2エンティティとの関係を示す第1リレーションの特徴量を加算した特徴量が、前記第2エンティティの特徴量に近づくように学習された特徴量群を含む第2データベースを参照し、質問を構成するテキストの特徴量を導出する導出器を学習する導出器学習部を備え、
前記導出器学習部は、
前記質問の特徴量と、前記第2エンティティの特徴量との差分を小さくし、
前記質問の特徴量と、前記第2エンティティ以外のサンプリングされたエンティティの特徴量との差分を大きくするように、前記導出器を学習する、
情報処理装置。
【請求項2】
前記導出器学習部は、更に、
前記質問の特徴量と、前記第1エンティティの特徴量と前記第1リレーションの特徴量の和、との差分を小さくし、
前記質問の特徴量と、前記第1エンティティ以外のサンプリングされたエンティティの特徴量と前記第1リレーション以外のサンプリングされたリレーションの特徴量の和、との差分を大きくするように、前記導出器を学習する、
請求項1記載の情報処理装置。
【請求項3】
前記質問の特徴量は、前記第1エンティティの特徴量、前記第1リレーションの特徴量、および前記第2エンティティの特徴量と同じ空間上にある特徴量である、
請求項1または2記載の情報処理装置。
【請求項4】
前記第1データベースには、エンティティの性質に関する情報が付与されており、
前記導出器学習部は、第1期間においては、前記性質を問わず前記第2エンティティ以外のエンティティをサンプリングし、前記第1期間よりも後の第2期間においては、前記性質が前記第2エンティティと共通するエンティティの中から前記第2エンティティ以外のエンティティをサンプリングする、
請求項1から3のうちいずれか1項記載の情報処理装置。
【請求項5】
前記導出器は、前記質問を分割したワードが順次入力されるRNN(Recurrent Neural Networks)に基づいて構成され、
前記導出器学習部は、前記RNNのパラメータを学習する、
請求項1から4のうちいずれか1項記載の情報処理装置。
【請求項6】
複数のエンティティと、エンティティ間の関係を示すリレーションとが登録された第1データベースに基づいて、前記複数のエンティティから選択された、第1エンティティの特徴量に、前記第1エンティティと第2エンティティとの関係を示す第1リレーションの特徴量を加算した特徴量が、前記第2エンティティの特徴量に近づくように特徴量を学習する特徴量学習部を更に備える、
請求項1から5のうちいずれか1項記載の情報処理装置。
【請求項7】
質問を取得する取得部と、
前記取得部により取得された質問を前記導出器に入力することで得られる前記質問の特徴量に近いエンティティを前記第1データベースから抽出し、前記質問の回答として出力する回答出力部と、を更に備える、
請求項1から6のうちいずれか1項記載の情報処理装置。
【請求項8】
コンピュータが、
複数のエンティティと、エンティティ間の関係を示すリレーションとが登録された第1データベースに基づいて、前記複数のエンティティから選択された、第1エンティティの特徴量に、前記第1エンティティと第2エンティティとの関係を示す第1リレーションの特徴量を加算した特徴量が、前記第2エンティティの特徴量に近づくように学習された特徴量群を含む第2データベースを参照し、質問を構成するテキストの特徴量を導出する導出器を学習し、
前記学習する際に、
前記質問の特徴量と、前記第2エンティティの特徴量との差分を小さくし、
前記質問の特徴量と、前記第2エンティティ以外のサンプリングされたエンティティの特徴量との差分を大きくするように、前記導出器を学習する、
情報処理方法。
【請求項9】
コンピュータに、
複数のエンティティと、エンティティ間の関係を示すリレーションとが登録された第1データベースに基づいて、前記複数のエンティティから選択された、第1エンティティの特徴量に、前記第1エンティティと第2エンティティとの関係を示す第1リレーションの特徴量を加算した特徴量が、前記第2エンティティの特徴量に近づくように学習された特徴量群を含む第2データベースを参照させ、質問を構成するテキストの特徴量を導出する導出器を学習させ、
前記学習させる際に、
前記質問の特徴量と、前記第2エンティティの特徴量との差分を小さくし、
前記質問の特徴量と、前記第2エンティティ以外のサンプリングされたエンティティの特徴量との差分を大きくするように、前記導出器を学習させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
従来、自然文で入力される質問に対して自動応答するための仕組みについて研究および実用化が進められている。これに関連し、1つまたは複数の単語を有するクエリーを受信するステップと、名称または別名がサブジェクトチャンクと同一の表層形式を有する少なくとも1つの候補サブジェクトを検出するようにデータベースにクエリーするステップと、前記少なくとも1つの候補サブジェクトと関連する1つまたは複数の関係を表現する1つまたは複数の関係ベクトルを検出するようにデータベースにクエリーするステップと、前記1つまたは複数の関係の、それぞれ前記クエリーと対応関係との意味類似性を示すランキングスコアを決定するステップと、前記1つまたは複数の関係から最も高いランキングスコアを有する関係を予測関係として選択し、且つ前記少なくとも1つの候補サブジェクトを予測トピックサブジェクトとして選択するステップと、前記予測関係と前記予測トピックサブジェクトでデータベースにクエリーして前記クエリーの解答を検出するステップと、を含んでおり、ここで、前記1つまたは複数の単語が前記クエリーのトピックサブジェクトを記述するサブジェクトチャンクを含むことを特徴とするクエリーに解答を提供するためのコンピュータ実施方法が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017−76403号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の技術では、効率的に処理を進められなかったり、精度が不十分になる場合があった。
本発明は、このような事情を考慮してなされたものであり、より効率的かつ高精度に質問の答えを導出できるようにすることが可能な情報処理装置、情報処理方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【0005】
本発明の一態様は、質問を取得する取得部と、複数のエンティティと、エンティティ間の関係を示すリレーションとが登録された第1データベースに基づいて、前記複数のエンティティから選択された、第1エンティティの特徴量に、前記第1エンティティと第2エンティティとの関係を示す第1リレーションの特徴量を加算した特徴量が、前記第2エンティティの特徴量に近づくように学習された特徴量群を含む第2データベースを参照し、前記質問の特徴量を導出する導出器を学習する導出器学習部と、を備え、前記導出器学習部は、前記質問の特徴量と、前記第2エンティティの特徴量との差分を小さくし、前記質問の特徴量と、前記第2エンティティ以外のサンプリングされたエンティティの特徴量との差分を大きくするように、前記導出器を学習する、情報処理装置である。
【発明の効果】
【0006】
本発明の一態様によれば、より効率的かつ高精度に質問の答えを導出できるようにすることができる。
【図面の簡単な説明】
【0007】
図1】情報処理装置100の構成の一例を示す図である。
図2】トリプレットを構成する二つのエンティティとリレーションの関係を例示した図である。
図3】ナレッジベース50に登録されるデータの内容を模式的に示すイメージ図である。
図4】ヘッドエンティティのベクトルVhr、リレーションのベクトルVr、およびテイルエンティティのベクトルVgtの幾何的関係を模式的に示す図である。
図5】エンティティ・リレーションベクトルDB60に登録されるデータの内容を模式的に示すイメージ図である。
図6】導出器の機能を概念的に示すイメージ図である。
図7】第2学習部30による処理の内容を概念的に示すイメージ図である。
図8】比較例による処理の内容を模式的に示すイメージ図である。
【発明を実施するための形態】
【0008】
[概要]
以下、図面を参照し、本発明の情報処理装置、情報処理方法、およびプログラムの実施形態について説明する。情報処理装置は、一以上のプロセッサにより実現される。情報処理装置は、クラウドサービスを提供する装置であってもよいし、ツールやファームウェアなどのプログラムがインストールされ、単体で処理を実行可能な装置であってもよい。情報処理装置は、インターネットやWANなどのネットワークに接続されていてもよいし、接続されていなくてもよい。すなわち、情報処理装置を実現するためのコンピュータ装置について特段の制約は存在せず、以下に説明する処理を実行可能なものであれば、如何なるコンピュータ装置によって情報処理装置が実現されてもよい。
【0009】
情報処理装置は、例えば、人またはコンピュータによるテキストまたは音声の形式で入力される質問に対して、自動的に応答する装置ないしシステムに利用される。自動的に応答する装置とは、会話形式のインターフェースを備えるものであってもよいし、検索装置に包含され、クエリを質問と解釈し、回答を検索結果と共にクエリ入力者の端末装置に返すものであってもよい。
【0010】
情報処理装置は、質問の特徴量を導出し、質問から得られた特徴量に近い特徴量を持つエンティティを、質問の回答として選択する。以下の説明では、特徴量は、ユークリッド空間上のベクトルであるものとするが、特徴量は、距離が定義でき、加減算が可能なものであれば、ベクトルでなくてもよい。以下に登場するベクトルは、L2ノルムが0から1の間になるように正規化されているものとする。
【0011】
[構成]
図1は、情報処理装置100の構成の一例を示す図である。情報処理装置100は、例えば、質問取得部10と、第1学習部20と、第2学習部30(「導出器学習部」の一例)と、回答出力部40とを備える。これらの構成要素は、例えば、CPU(Central Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリなどの記憶装置に格納されていてもよいし、DVDやCD−ROMなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
【0012】
また、情報処理装置100は、HDDやフラッシュメモリなどの記憶装置に、ナレッジベース50、エンティティ・リレーションベクトルDB(データベース)60、導出器情報70などの情報を格納する。これらの情報は、情報処理装置100とは別体のデータベースサーバなどによって保持されてもよい。すなわち、情報処理装置100は、これらの情報を保持するための記憶装置を備えなくてもよい。
【0013】
質問取得部10は、例えば、ネットワークNWを介して他装置から質問を取得する。ネットワークNWは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、セルラー網などを含む。質問は、テキストの形式で取得されてもよいし、音声の形式で取得されてもよい。後者の場合、情報処理装置1は音声認識部を備えてよい。いずれの場合も、質問は自然文で構成され、抽象化された符号では無いものとする。
【0014】
第1学習部20は、複数のエンティティと、エンティティ間の関係を示すリレーションとが登録されたナレッジベース50に基づいて、エンティティとリレーションのベクトル(以下、それぞれをエンティティベクトル、リレーションベクトルと称する)を学習し、エンティティ・リレーションベクトルDB60に登録する。
【0015】
[ナレッジベース]
ここで、ナレッジベース50について説明する。ナレッジベース50とは、事物に関する情報および事物間の意味的関係に関する情報をグラフとして記述したデータベースである。ナレッジベース50における事物とは、例えば、「人間」、「機械」、「建物」、「組織」、「美」、「学問」、「旅行」といった抽象的な概念と、例えば特定の人間、特定の建物、特定の組織等の、それらの個体(以下、「インスタンス」)を含む。本実施形態では、事物のうち、ナレッジベース50で情報を記述する対象事物のことを、特に「エンティティ」と称して説明する。
【0016】
エンティティは、例えば、ある対象事物のインスタンスの実体(例えば実世界で存在している物体)を表していてもよいし、ある対象事物の概念(例えば実世界または仮想世界の中で定義された概念)を表していてもよい。例えば「建物」のように概念を表すエンティティもあれば、「○○タワー」のように「建物」という概念のインスタンスの実体を表すエンティティもある。
【0017】
ナレッジベース50は、計算機による意味処理を可能とするため、オントロジーという語彙体系で定められたクラスとリレーションを用いて記述される。オントロジーとは、事物のクラスおよびリレーションを定義したものであり、クラスとリレーションとの間に成り立つ制約を集めたものである。
【0018】
クラスとは、オントロジーにおいて、同じ性質を持つ事物同士を一つのグループにしたものである。クラスの性質や事物の性質は後述するリレーションにより記述される。
【0019】
例えば、くちばしを持ち、卵生の脊椎動物であり、前肢が翼になっている、という性質を持つ事物は、「鳥」というクラスあるいはその下位のクラスに分類される。また、「鳥」というクラスの中で、飛べない、という性質を持つ事物は、例えば、「ペンギン」や「ダチョウ」という、より下位のクラスに分類される。このように、クラスの体系は、上位と下位の関係を有する階層構造をなし、上位のクラスの性質は、下位のクラスに継承される。上述した例では、「鳥」というクラスの、「くちばしを持ち、卵生の脊椎動物であり、前肢が翼になっている」という性質は、「ペンギン」や「ダチョウ」という下位のクラスの性質にも含まれることになる。クラスを識別するためのクラス名自体は必ずしもクラスの意味を表している必要はないが、以下の説明では簡略化のためにクラスの意味を表すクラス名が与えられていることとする。
【0020】
リレーションとは、事物の性質や特徴、クラス間の関係を記述する属性である。この結果、リレーションは、エンティティ間の関係を表す情報となる。例えば、リレーションは、「〜を体の構成要素としてもつ」という性質や、「〜に生息する」という性質を示す属性であってもよいし、「あるクラスが上位クラスであり、あるクラスが下位クラスである」というクラス間の上位下位の関係を示す属性であってもよい。リレーションを識別するためのリレーション名自体は必ずしもリレーションの意味を表している必要はないが、以下の説明では簡略化のためにリレーションの意味を表すリレーション名が与えられていることとする。
【0021】
ナレッジベース50の基本的な単位は、エンティティ間をリレーションで接続した3つの情報の組(以下、トリプレットと称する)である。図2は、トリプレットを構成する二つのエンティティとリレーションの関係を例示した図である。図示する例では、[エンティティ「日本」、リレーション「首都」、エンティティ「東京」]というトリプレットが挙げられている。このようなトリプレットから、「日本の首都は東京である」という意味情報を取得することができる。ナレッジベース50を用いることで、エンティティに関する情報やエンティティ間の関係が明確に表現され、各種の機械処理が可能になる。以下、図2における「日本」すなわちトリプレットにおけるリレーションの意味的な方向性に関して元側にあるエンティティをヘッドエンティティ、図2における「東京」すなわちトリプレットにおけるリレーションの意味的な方向性に関して先側にあるエンティティをテールエンティティと称する。ナレッジベース50は、トリプレットを複数備えるものである。あるヘッドエンティティが、他のヘッドエンティティにとってのテイルエンティティになることも、その逆もあり得る。図3は、ナレッジベース50に登録されるデータの内容を模式的に示すイメージ図である。図中、矢印はリレーションを示し、破線の楕円はトリプレットを示している。図中のエンティティ1は、エンティティ2に対してヘッドエンティティであると共に、エンティティ3に対してはテイルエンティティである。
【0022】
[第1学習部]
第1学習部20は、ナレッジベース50からサンプリングされた複数のトリプレット(既知情報)のそれぞれについて、ヘッドエンティティのベクトルにリレーションのベクトルを加算したベクトルが、テイルエンティティのベクトルに近づくように、ナレッジベース50に含まれる各エンティティおよび各リレーションのベクトルを学習する。
【0023】
ここで、ヘッドエンティティのベクトルをVh、リレーションのベクトルをVr、テイルエンティティのベクトルをVtと表す。なお、エンティティ空間はリレーション空間よりも多くの情報量を包含するため、例えば、エンティティのベクトルはリレーションのベクトルVrの次元数(d)よりも高い次元数(k)で生成される。以下の説明では、ヘッドエンティティのベクトルVhとテイルエンティティのベクトルVtのそれぞれにk×d行列Mk×dを乗算してリレーションのベクトルVrの属する空間に写像したベクトルVhrおよびVtrを、ヘッドエンティティおよびテイルエンティティのベクトルと称する(式(1)(2)参照;Mは行列)。ヘッドエンティティのベクトルVhrは「第1エンティティの特徴量」の一例であり、テイルエンティティのベクトルVtrは「第2エンティティの特徴量」の一例であり、それらを接続するリレーションのベクトルVrは「第1リレーションのベクトル」の一例である。図中、Oはベクトル空間の原点である。
【0024】
Vhr=Vh×Mk×d …(1)
Vtr=Vt×Mk×d …(2)
【0025】
理想的には、ヘッドエンティティのベクトルVhrとリレーションのベクトルVrとのベクトル和は、テイルエンティティのベクトルVgtと一致する。図4は、ヘッドエンティティのベクトルVhr、リレーションのベクトルVr、およびテイルエンティティのベクトルVgtの幾何的関係を模式的に示す図である。
【0026】
第1学習部20は、式(3)で表される目的関数frに基づくスコアCが十分に小さくなり収束するように、ヘッドエンティティのベクトルVhr、リレーションのベクトルVr、およびテイルエンティティのベクトルVgtを学習する。式中、||A||はベクトルAのL2ノルムを表している。目的関数frは、図3の幾何的関係が成立している場合にゼロとなる。
【0027】
fr(h,t)={||Vhr+Vr−Vtr|| …(3)
【0028】
スコアCは、式(4)で表される。式中、Sは正しいトリプレットを構成するヘッドエンティティ、リレーション、およびテイルエンティティの組み合わせであり、S*は正しいトリプレットを構成しないヘッドエンティティ、リレーション、およびテイルエンティティの組み合わせである。γは、任意に定められるマージンパラメータである。
【数1】
【0029】
第1学習部20によって学習されたエンティティおよびリレーションのベクトルは、エンティティ・リレーションベクトルDB60に登録され、第2学習部30によって使用される。図5は、エンティティ・リレーションベクトルDB60に登録されるデータの内容を模式的に示すイメージ図である。エンティティ1とエンティティ2を含むトリプレットに着目すると、エンティティ1のベクトルV1rがVhrに、エンティティ2のベクトルV2rがVtrに、それらを繋ぐリレーションのベクトルV12rがVrに、それぞれ該当する。また、エンティティ1とエンティティ3を含むトリプレットに着目すると、エンティティ1のベクトルV1rがVtrに、エンティティ3のベクトルV3rがVhrに、それらを繋ぐリレーションのベクトルV31rがVrに、それぞれ該当する。
【0030】
[第2学習部]
第2学習部30は、導出器情報70によって表現される導出器のパラメータ等を学習する。導出器は、質問を構成するテキストのベクトル(以下、質問のベクトルVq)を生成するものである。第2学習部30の処理を意味的に分解すると、ヘッドエンティティ、リレーション、およびテイルエンティティとの関係に応じた質問のベクトルVq自体の学習と、質問を構成するテキストを質問のベクトルVqにする規則の学習とが含まれている。質問のベクトルVqは、ベクトルVhr、Vr、Vtrと同じベクトル空間にあるベクトル、すなわちこれらと次元数が同じベクトルである。
【0031】
以下の説明において、第2学習部30には、質問と、質問の意味を表すと考えられるヘッドエンティティおよびリレーション、並びに質問の正解であるテイルエンティティを含むトリプレットと、を対応付けた情報が、教師データとして与えられるものとする。例えば、[質問「日本の首都はどこ」、ヘッドエンティティ「日本」、リレーション「首都」、テイルエンティティ「東京」]を一つのレコードとし、複数のレコードを含むデータが教師データとして第2学習部30に与えられる。
【0032】
第2学習部30は、上記の教師データと、エンティティ・リレーションベクトルDB60とに基づいて、質問のベクトルVqと、テイルエンティティのベクトルVtrとの差分(距離)を小さくし、質問のベクトルVqと、テイルエンティティ以外のサンプリングされたエンティティのベクトルVtr*との差分(距離)を大きくするように、質問のベクトルVqを学習する。すなわち、第2学習部30は、式(5)の目的関数g1を小さくするように質問のベクトルVqを学習する。
【0033】
g1={||Vt−Vq|| …(5)
【0034】
また、第2学習部30は、更に、質問のベクトルVqと、ヘッドエンティティのベクトルVhrとリレーションのベクトルVrとの和、との差分を小さくし、質問のベクトルVqと、ヘッドエンティティ以外のサンプリングされたエンティティのベクトルVhr*と上記リレーション以外のサンプリングされたリレーションのベクトルVr*の和、との差分を大きくするように、質問のベクトルVqを学習する。すなわち、第2学習部30は、式(6)の目的関数g2を小さくするように質問のベクトルVqを学習する。
【0035】
g2={||Vhr+Vr−Vq|| …(6)
【0036】
より具体的に、第2学習部30は、目的関数g1と目的関数g2の和に基づくスコアLが十分に小さくなり収束するように、質問のベクトルVqを学習する。スコアLは、式(7)で表される。式中、Sは正しいトリプレットを構成するヘッドエンティティ、リレーション、およびテイルエンティティと、対応する質問との組み合わせであり、S*は正しいトリプレットを構成せず、或いは質問とその他の情報とが対応しない、ヘッドエンティティ、リレーション、テイルエンティティ、および質問の組み合わせである。γは、任意に定められるマージンパラメータである。
【0037】
【数2】
【0038】
第2学習部30は、自然文であるテキストから質問のベクトルVqを導出する導出器のパラメータ等を学習する。図6は、導出器の機能を概念的に示すイメージ図である。図示するように、導出器は、例えば、RNNに基づいて生成される。導出器には、例えば、質問を一文字ごとに区切った語のコード等が順次入力される。RNNは、各時点における暫定的な質問のベクトルVq(1)、Vq(2)、…を出力すると共に、計算結果の少なくとも一部を次の時点に伝播させる。質問のすべての語のコード等が入力された時点のRNNの出力が、質問のベクトルVqとなる。第2学習部30は、ある質問について、対応する既知のヘッドエンティティ、リレーション、テイルエンティティのそれぞれのベクトルVhr、Vr、Vtrに基づくスコアLを小さくするように学習された質問のベクトルVqが導出されるように、RNNのパラメータを学習する。このパラメータは、導出器情報70として保持される。
【0039】
なお、質問が英文である場合、スペースで区切られたワードが各時点のRNNに順次入力されてもよいし、和文その他である場合、形態素解析によって区切られたワードが各時点のRNNに順次入力されてもよい。第2学習部30は、それらの態様に即した学習を行う。
【0040】
図7は、第2学習部30による処理の内容を概念的に示すイメージ図である。図示するように、質問が導出器に入力されることで質問のベクトルVqが得られる。第2学習部30は、質問のベクトルVqとテイルエンティティのベクトルVtrとの距離d1、および、質問のベクトルVqとヘッドエンティティのベクトルVhrとリレーションのベクトルVrとの和との距離d2の双方が十分に小さくなるように、導出器のパラメータを学習する。
【0041】
また、前述したようにナレッジベース50には、エンティティの性質に関する情報(例えばクラス)が付与されている。第2学習部30は、学習開始からある程度の時間が経過するまでの第1期間においては、ネガティブサンプリングするエンティティを、クラスを問わずサンプリングし、第1期間よりも後の第2期間においては、ネガティブサンプリングするエンティティを、正解のエンティティとクラスが同じエンティティの中からサンプリングする。これによって、効率的な学習を行い、収束を早めることができる。
【0042】
回答出力部40は、例えばネットワークNWを介して他装置から取得した質問を、導出器情報70によって規定される導出器に入力し、出力された質問のベクトルVqに最も近いエンティティのベクトルをエンティティ・リレーションベクトルDB60から抽出する。この際に、回答出力部40は、例えば1NN(Nearest Neighbor)の手法によって質問のベクトルVqに最も近いエンティティのベクトルを抽出する。回答出力部40は、最も近いエンティティのベクトルに対応するエンティティの内容を、質問の回答として、例えばネットワークNWを介して他装置に返信する。なお、情報処理装置が単体で処理をする場合、情報処理装置は、図示しない入力部に対して入力された質問に対して処理を行い、出力部に回答を出力させる。
【0043】
以上説明した情報処理装置によれば、より効率的かつ高精度に質問の答えを導出できるようにすることができる。
【0044】
ここで、比較対象として、質問のベクトルVqを、単にベクトルVhr+Vrに近づけるように学習する場合(以下、比較例)を考える。図8は、比較例による処理の内容を模式的に示すイメージ図である。比較例では、VqをVhr+Vrに近づける(距離d2を小さくする)学習と、Vhr+VrをVtrに近づける(距離d3を小さくする)学習との二段階の学習(推論)を経て回答を導出することになるが、実施形態の情報処理装置では、VqをVtrに直接近づける学習を処理内容に含んでいるため、回答を導出する精度を向上させることができる。
【0045】
情報量の圧縮の観点からも同じことが言える。VqをVhr+Vrに近づける学習においては、一種の次元圧縮が行われる。なぜなら、質問の自然文には、ヘッドエンティティやリレーションで表される抽象化された意味情報以上の情報(以下、付加情報)が含まれているからである。比較例では、付加情報が削除された状態でVhr+Vrに近づける学習が行われるのに対し、実施形態の情報処理装置では、付加情報を含んだ状態でVtrに近づける学習が行われるため、そもそもVhr+VrをVtrに近づける学習よりも高精度が結果を得ることができる。
【0046】
また、実施形態の情報処理装置によれば、式(7)に示すように、VqをVtrに近づけるという制約と、VqをVhr+Vrに近づけるという制約の二つの制約の上でVqを学習する。このため、学習における自由度を下げることで、処理の収束を早めることができる。この結果、比較例よりも高速に処理を行うことができる。
【0047】
また、実施形態の情報処理装置によれば、式(7)に示すように、ポジティブサンプルに対する距離を最小化すると共に、ネガティブサンプルに対する距離を最大化する問題を解く際に、最大化する項の符号をマイナスにすることで、全体を最小化問題にしている。ディープラーニング等の処理は、目的関数を最小化する問題を解くのに適しているため、実施形態の処理は、コンピュータを用いて好適に実現することができる。
【0048】
なお、上記の説明において、情報処理装置は、質問を区切った語のコード等がRNNに順次入力されるものとしたが、類義語辞書等を使用して、ある程度正規表現にしてからRNNに入力してもよい。
【0049】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0050】
1 情報処理装置
10 質問取得部
20 第1学習部
30 第2学習部
40 回答出力部
50 ナレッジベース
60 エンティティ・リレーションベクトルDB
70 導出器情報
図1
図2
図3
図4
図5
図6
図7
図8