(57)【要約】【課題】トリプルから生成する分散表現の精度を改善すること。【解決手段】本願に係る生成装置は、所定のトリプルに含まれる第１要素と関係情報とを抽出する抽出部と、第２要素の選択元を限定するか否かを確率的に決定する決定部と、前記決定結果に基づいて、任意のトリプルに含まれる第２要素のうち前記所定のトリプルに含まれない第２要素を少なくとも選択する選択部と、抽出した第１要素の分散表現と関係情報の分散表現との和と、選択された第２要素の分散表現とが類似しないように、各分散表現を生成する生成部とを有することを特徴とする。【選択図】図１
2018156332.tif 000002
【特許請求の範囲】
【請求項１】
所定のトリプルに含まれる第１要素と関係情報とを抽出する抽出部と、
第２要素の選択元を限定するか否かを確率的に決定する決定部と、
前記決定結果に基づいて、任意のトリプルに含まれる第２要素のうち前記所定のトリプルに含まれない第２要素を少なくとも選択する選択部と、
抽出した第１要素の分散表現と関係情報の分散表現との和と、選択された第２要素の分散表現とが類似しないように、各分散表現を生成する生成部と
を有することを特徴とする生成装置。
【請求項２】
前記選択部は、前記第２要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第２要素のうち前記所定のトリプルに含まれない第２要素であって、所定の分野に属する第２要素を選択する
ことを特徴とする請求項１に記載の生成装置。
【請求項３】
前記選択部は、前記第２要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第２要素のうち、前記所定のトリプルに含まれる第２要素と同一または類似する分野に属する第２要素であって、前記所定のトリプルに含まれない第２要素を選択する
ことを特徴とする請求項２に記載の生成装置。
【請求項４】
前記選択部は、前記第２要素の選択元を限定しないと決定した場合は、任意のトリプルに含まれる第２要素のうち前記所定のトリプルに含まれない第２要素を選択する
ことを特徴とする請求項１〜３のうちいずれか１つに記載の生成装置。
【請求項５】
前記決定部は、前記分散表現の精度が所定の条件を満たす場合は、前記選択元を限定するか否かを確率的に決定し、前記分散表現の精度が所定の条件を満たさない場合は、前記選択元を限定しないと決定する
ことを特徴とする請求項１〜４のうちいずれか１つに記載の生成装置。
【請求項６】
前記決定部は、前記分散表現の精度の上昇率が所定の期間だけ変化しない場合は、前記選択元を限定するか否かを確率的に決定する
ことを特徴とする請求項５に記載の生成装置。
【請求項７】
前記決定部は、前記分散表現の精度が所定の閾値を超えた場合は、前記選択元を限定するか否かを確率的に決定する
ことを特徴とする請求項５または６に記載の生成装置。
【請求項８】
トリプルに含まれる第２要素同士の類似度を示す確度を算出する算出部
を有し、
前記選択部は、前記第２要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第２要素のうち前記所定のトリプルに含まれない第２要素であって、前記所定のトリプルに含まれる第２要素との間の確度が所定の範囲に含まれる第２要素を選択する
ことを特徴とする請求項１〜７のうちいずれか１つに記載の生成装置。
【請求項９】
前記算出部は、前記第２要素同士の意味的な類似度を示す確度を算出する
ことを特徴とする請求項８に記載の生成装置。
【請求項１０】
前記選択部は、前記分散表現の精度が上昇するにつれて前記所定のトリプルに含まれる第２要素が属する分野とより類似する分野に属する第２要素を選択する
ことを特徴とする請求項１〜９のうちいずれか１つに記載の生成装置。
【請求項１１】
前記選択部は、属する第２要素の数が他の分野よりも少ない分野に属する第２要素を選択する
ことを特徴とする請求項１〜１０のうちいずれか１つに記載の生成装置。
【請求項１２】
前記抽出部は、前記第１要素として、前記トリプルに主語と対応する情報として含まれる要素を抽出し、前記関係情報として、前記トリプルに述語と対応する情報として含まれる要素を抽出し、
前記選択部は、前記第２要素として、前記トリプルに目的と対応する情報として含まれる要素を選択する
ことを特徴とする請求項１〜１１のうちいずれか１つに記載の生成装置。
【請求項１３】
前記選択部は、前記第２要素の選択元を限定すると決定した場合は、前記抽出部が抽出した関係情報を含む任意のトリプルに含まれる第２要素のうち前記所定のトリプルに含まれない第２要素を選択する
ことを特徴とする請求項１〜１２のうちいずれか１つに記載の生成装置。
【請求項１４】
生成装置が実行する生成方法であって、
所定のトリプルに含まれる第１要素と関係情報とを抽出する抽出工程と、
第２要素の選択元を限定するか否かを確率的に決定する決定工程と、
前記決定結果に基づいて、任意のトリプルに含まれる第２要素のうち前記所定のトリプルに含まれない第２要素を少なくとも選択する選択工程と、
抽出した第１要素の分散表現と関係情報の分散表現との和と、選択された第２要素の分散表現とが類似しないように、各分散表現を生成する生成工程と
を含むことを特徴とする生成方法。
【請求項１５】
所定のトリプルに含まれる第１要素と関係情報とを抽出する抽出手順と、
第２要素の選択元を限定するか否かを確率的に決定する決定手順と、
前記決定結果に基づいて、任意のトリプルに含まれる第２要素のうち前記所定のトリプルに含まれない第２要素を少なくとも選択する選択手順と、
抽出した第１要素の分散表現と関係情報の分散表現との和と、選択された第２要素の分散表現とが類似しないように、各分散表現を生成する生成手順と
をコンピュータに実行させるための生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成装置、生成方法および生成プログラムに関する。
【背景技術】
【０００２】
従来、ＲＤＦ（Resource  Description  Framework）等、関連性を有する２つの要素と要素間の関係性を示す関係情報とを含むトリプルと呼ばれるデータを構成する技術が知られている。このようなトリプルの検索を容易にするため、第１要素の分散表現と関係情報の分散表現との和が第２要素の分散表現となるように、各要素および関係情報の分散表現を学習し、第１要素と関係情報とを検索クエリとして受付けた場合に、分散表現の和を算出することでトリプルを構成する第２要素を検索する技術が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】"Translating  Embeddings  for  Modeling  Multi-relational  Data"Antoine  Bordes  Et  al.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、分散表現の精度を担保出来ない場合がある。
【０００５】
例えば、従来技術では、あるトリプルの第１要素の分散表現と関係情報の分散情報との和が、そのトリプルの第２要素の分散表現と類似し、他のトリプルの第２要素の分散表現とは類似しないように、各要素および関係情報の分散表現を学習する。このため、学習対象となるトリプルが属する分野に偏りが存在する場合は、トリプルの数が少ない分野における学習が進まないため、最終的に得られる分散表現の精度が低下してしまう。
【０００６】
本願は、上記に鑑みてなされたものであって、トリプルから生成する分散表現の精度を改善することを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る生成装置は、所定のトリプルに含まれる第１要素と関係情報とを抽出する抽出部と、第２要素の選択元を限定するか否かを確率的に決定する決定部と、前記決定結果に基づいて、任意のトリプルに含まれる第２要素のうち前記所定のトリプルに含まれない第２要素を少なくとも選択する選択部と、抽出した第１要素の分散表現と関係情報の分散表現との和と、選択された第２要素の分散表現とが類似しないように、各分散表現を生成する生成部とを有することを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、トリプルから生成する分散表現の精度を改善できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。
【図２】図２は、実施形態に係る情報提供装置の構成例を示す図である。
【図３】図３は、実施形態に係るエンティティデータベースに登録される情報の一例を示す図である。
【図４】図４は、実施形態に係る関係情報データベースに登録される情報の一例を示す図である。
【図５】図５は、実施形態に係る分散表現データベースに登録される情報の一例を示す図である。
【図６】図６は、実施形態に係る情報提供装置が不正解データとして選択する第２要素の一例を示す図である。
【図７】図７は、実施形態に係る情報提供装置が実行する生成処理の流れの一例を示すフローチャートである。
【図８】図８は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る生成装置、生成方法および生成プログラムを実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法および生成プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【００１１】
［実施形態］
〔１．情報提供装置が提供する処理について〕
まず、図１を用いて、生成装置の一例となる情報提供装置が実行する生成処理の一例について説明する。図１は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。なお、以下の説明では、情報提供装置１０が実行する処理として、トリプルとして登録された情報の分散表現を生成する生成処理と、生成処理によって生成した分散表現を用いて、情報の検索を行う検索処理とについて説明する。なお、以下の説明では、情報提供装置１０が各情報の分散表現を「生成」する処理について説明するが、かかる処理は、各データに対応する適切な分散表現の値を適宜「学習」することで、分散表現を「生成」する処理であるものとする。
【００１２】
〔１−１．情報提供装置の概要〕
情報提供装置１０は、インターネット等の所定のネットワークＮ（例えば、図２を参照。）を介して、利用者端末１００と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置１０は、ネットワークＮを介して、任意の数の利用者端末１００と通信可能であってよい。
【００１３】
利用者端末１００は、情報の検索を要求する利用者が使用する情報処理装置であり、ＰＣ（Personal  Computer）、サーバ装置、スマートデバイスといった情報処理装置により実現される。例えば、利用者端末１００は、情報の検索を行う際の検索クエリを情報提供装置１０に送信する。このような場合、情報提供装置１０は、ＲＤＦの形式で保存された情報、すなわち、トリプルの中から検索クエリに対応する情報を検索し、検索結果を利用者端末１００へと提供する。
【００１４】
ここで、情報提供装置１０が検索するトリプルについて説明する。例えば、情報提供装置１０は、エンティティ等と呼ばれる第１要素および第２要素と、要素間の関係性を示す関係情報とで構成される三つ組みの情報をトリプルとして記憶する。例えば、情報提供装置１０は、第１要素である主語（Ｓ：Subject）のエンティティ、第２要素である目的語（Ｏ：Object）となるエンティティ、および述語（Ｐ：Predicate）となる関係情報の組をトリプルとして記憶する。
【００１５】
例えば、情報提供装置１０は、エンティティとして、実世界における人物、物体、建築物等の主語となりうる各種の物、職業や国籍等といった属性、各種の状態や事象等、世の中における各種の物事に対応する情報を記憶し、エンティティ間の関係情報を記憶することで、様々な知識を体系的に管理することができる。例えば、所定の人物＃Ａに対応するエンティティ＃１と、職業「政治家」に対応するエンティティ＃２と、「職業」を示す関係情報とをトリプルとした場合、かかるトリプルは、「人物＃Ａ」の「職業」が「政治家」である旨を示すことができる。このように、情報提供装置１０は、トリプルを用いて、知識を体系的に管理する。
【００１６】
なお、人物に対応するエンティティと人名に対応するエンティティとは別のエンティティであってもよい。このような場合、人物に対応するエンティティと、「名前」を示す関係情報と、人名に対応するエンティティとをトリプルとして記憶することで、ある人物の名前を保持することができる。このようなトリプルを用いた知識の体系的な管理は、例えば、ナレッジデータベース等に用いられている。
【００１７】
なお、エンティティは、物事を示すテキストのみならず、物事を示す静止画像、動画像、音声、ウェブコンテンツ、ウェブコンテンツのＵＲＬ（Uniform  Resource  Locator）等、任意の情報であってもよい。また、エンティティは、物事を示す情報そのものである必要はなく、概念を示すエンティティとして設定されたものであってもよい。
【００１８】
〔１−２．生成処理について〕
ここで、トリプルの検索を容易にするため、第１要素の分散表現と関係情報の分散表現との和が第２要素の分散表現となるように、各要素および関係情報の分散表現を生成し、第１要素と関係情報とを検索クエリとして受付けた場合に、分散表現の和を算出することでトリプルを構成する第２要素を検索する技術が知られている。このような分散表現を生成した場合、情報提供装置１０は、第１要素と関係情報とを検索クエリとして受付けた場合に、第１要素の分散表現と関係情報の分散表現との和を算出し、算出した分散表現と類似する分散表現を検索することで、検索クエリとして受付けた第１要素および関係情報を含むトリプルの第２要素を近傍検索により検索することができる。
【００１９】
しかしながら、従来技術では、分散表現の精度を担保出来ない場合がある。例えば、従来技術では、あるトリプルに含まれる第１要素の分散表現と関係情報の分散表現との和が、そのトリプルに含まれる第２要素、すなわち正解データの分散表現に類似し、そのトリプルに含まれない第２要素の分散表現、すなわち不正解データに類似しないように分散表現を学習する。しかしながら、このような従来技術では、分散表現空間において、第１要素の分散表現と関係情報の分散表現との和の最近傍に、正解データとなる第２要素と類似する他の第２要素の分散表現が配置される可能性がある。このため、従来技術では、分散表現の精度を所定の精度までしか保証することができない。
【００２０】
また、不正解データを選択する場合には、記憶するトリプルの中からランダムに第２要素を選択する。このため、第２要素が属する分野（人物の名前や職業等といった第２要素を分類することができる任意の基準）を設定した際に、各分野に属する第２要素の数に偏りが存在する場合は、属する第２要素の数が少ない分野における分散表現の学習が進まず、精度が悪化する恐れがある。
【００２１】
そこで、情報提供装置１０は、以下の生成処理を実行することで、各要素の分散表現を生成する。まず、情報提供装置１０は、所定のトリプルに含まれる第１要素と関係情報とを抽出する。続いて、情報提供装置１０は、第２要素の選択元を限定するか否かを確率的に決定する。
【００２２】
そして、情報提供装置１０は、決定結果に基づいて、任意のトリプルに含まれる第２要素のうち所定のトリプルに含まれない第２要素を少なくとも選択する。例えば、情報提供装置１０は、第２要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第２要素のうち所定のトリプルに含まれない第２要素であって、所定の分野に属する第２要素を選択する。
【００２３】
より具体的な例を挙げると、情報提供装置１０は、第２要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第２要素のうち、所定のトリプルに含まれる第２要素と同一または類似する分野に属する第２要素であって、所定のトリプルに含まれない第２要素を選択する。一方、情報提供装置１０は、第２要素の選択元を限定しないと決定した場合は、任意のトリプルに含まれる第２要素のうち所定のトリプルに含まれない第２要素を選択する。そして、情報提供装置１０は、抽出した第１要素の分散表現と関係情報の分散表現との和と、選択された第２要素の分散表現とが類似しないように、各要素および関係情報の分散表現を生成する。
【００２４】
より具体的には、情報提供装置１０は、分散表現を生成する際に、ポジティブサンプリングとネガティブサンプリングとを行う。ここで、ポジティブサンプリングとは、分散表現の学習に用いる正例を選択する処理であり、例えば、所定のトリプルに含まれる第１要素および関係情報と、その所定のトリプルに含まれる第２要素（すなわち、正解データ）とを正解ペアとして選択する処理である。また、ネガティブサンプリングとは、分散表現の学習に用いる負例を選択する処理であり、例えば、所定のトリプルに含まれる第１要素および関係情報と、その所定のトリプルに含まれない第２要素（すなわち、不正解データ）とを不正解ペアとして選択する処理である。
【００２５】
このようなネガティブサンプリングを行う際、情報提供装置１０は、第２要素の選択先を限定するか否かを確率的に決定する。すなわち、情報提供装置１０は、分散表現の生成（すなわち、分散表現のトレーニング）において、トレーニング対象となる第２要素の選択先に確率的なバイアスを設定する。そして、情報提供装置１０は、第２要素の選択先を限定しないと決定した場合には、記憶する全てのトリプルに含まれる第２要素のうち、所定のトリプルに含まれない第２要素を不正解データとしてランダムに選択する。一方、情報提供装置１０は、第２要素の選択先を限定すると決定した場合は、所定のトリプルに含まれる第２要素と同一または類似する分野に属する第２要素であって、所定のトリプルに含まれない第２要素を不正解データとしてランダムに選択する。
【００２６】
このような処理の結果、情報提供装置１０は、ネガティブサンプリングにおいて、正解データと同じまたは類似する分野の異なるデータを不正解データとして選択する。すると、情報提供装置１０は、意味的に正解データと近いが、誤りであるデータを不正解データとして選択することができる。このような不正解データを用いて分散表現を学習した場合、同一または類似する分野内に属する第２要素間の関係を分散表現空間に落とし込むことができる。換言すると、ある第１要素と関係情報との組に対し、正解データとなる第２要素と、正解データに類似するが不正解データである第２要素との関係を分散表現空間に落とし込むことができる。この結果、情報提供装置１０は、生成する分散表現の精度を向上させることができる。
【００２７】
〔１−３．生成処理の一例について〕
続いて、図１を用いて、情報提供装置１０が実行する生成処理の一例について説明する。なお、以下の説明では、正解データとなる第２要素を含むトリプル、すなわち、処理対象となる所定のトリプルを正解トリプルと記載する。
【００２８】
まず、情報提供装置１０は、記憶するトリプルから正解トリプルを選択し、正解トリプルに含まれる第１要素と関係情報とを抽出する（ステップＳ１）。例えば、情報提供装置１０は、第１要素「Ｓ１」、関係情報「Ｐ１」、および第２要素「Ｏ１」を含むトリプルＴ１を正解トリプルとした場合、第１要素「Ｓ１」および関係情報「Ｐ１」を抽出する。
【００２９】
続いて、情報提供装置１０は、第２要素同士の類似度を示す確度ｄを算出する（ステップＳ２）。例えば、情報提供装置１０は、正解トリプルに含まれる第２要素「Ｏ１」を基準として、他のトリプルに含まれる第２要素「Ｏ２」、「Ｏ３」、「Ｏ４」を抽出する。そして、情報提供装置１０は、「Ｏ１」と「Ｏ２」との類似度を示す確度ｄ１２、「Ｏ１」と「Ｏ３」との確度ｄ１３、および「Ｏ１」と「Ｏ４」との確度ｄ１４を算出する。
【００３０】
なお、情報提供装置１０は、意味的な類似度、すなわち、セマンティックな類似度を確度として算出するのであれば、任意の指標に基づいて確度を算出してよい。例えば、情報提供装置１０は、第２要素が名前であるか、職業であるか、立場であるか等、第２要素の種別の類似性を示す確度を算出してもよい。また、情報提供装置１０は、第２要素に予め付与される分野に基づいて確度を算出してもよい。また、情報提供装置１０は、第２要素とともにトリプルに含まれる関係情報の同一性に基づいて、確度を算出してもよい。例えば、情報提供装置１０は、第２要素とともにトリプルに含まれる関係情報が同一である場合は、類似する或いは同じ分野に属する旨を示す確度を算出してもよい。すなわち、情報提供装置１０は、不正解データとなる第２要素が正解データとなる第２要素と同じ分野に属するか否か（類似するか否か）を示すことができるのであれば、任意の情報に基づいて、任意の情報を確度ｄとして算出してよい。
【００３１】
続いて、情報提供装置１０は、不正解データの選択元となる分野を限定するか否かを確率的に決定する（ステップＳ３）。例えば、情報提供装置１０は、分散表現の学習を行う度に、確率「β」で分野を限定するか否かを決定する。より具体的な例を挙げると、情報提供装置１０は、確率「β」の値が「０．４」である場合、４０パーセント（すなわち、４割）の確率で分野を限定すると判定する。なお、例えば、情報提供装置１０は、確率「β」の値として、「０」から「０．４」の範囲において予め定められた値を採用してもよく、任意の値（例えば、「０」から「１」の範囲等）において、分散表現の学習に伴い動的に値を変更してもよい。
【００３２】
例えば、図１に示す例では、全カテゴリＣＡには、第２要素「Ｏ１」〜「Ｏ５」が含まれている。このような場合、情報提供装置１０は、算出した確度ｄに基づいて、各第２要素のカテゴリ分けを行う。例えば、「Ｏ１」と「Ｏ２」との間の確度ｄ１２、および「Ｏ１」と「Ｏ４」との間の確度ｄ１４が所定の閾値よりも高い場合、情報提供装置１０は、第２要素「Ｏ１」、「Ｏ２」、「Ｏ４」をカテゴリＣ１に分類する。なお、同じ分野に属するか否かを判定するための確度ｄの閾値は、所定の値を採用してもよく、学習に応じて動的に変化させてもよい。
【００３３】
そして、情報提供装置１０は、不正解ペアと正解ペアとを生成し、分散表現の学習を行う（ステップＳ４）。例えば、情報提供装置１０は、正解データとして、正解トリプルに含まれる第２要素を選択する。また、例えば、情報提供装置１０は、分野を限定しない旨を決定した場合は、全カテゴリＣＡに属する第２要素「Ｏ１」〜「Ｏ５」のうち、正解トリプルに含まれない第２要素「Ｏ２」〜「Ｏ５」の中から、不正解データとなる第２要素をランダムに選択する。一方、情報提供装置１０は、分野を限定する旨を決定した場合は、所定のカテゴリに属する第２要素の中から、正解トリプルに含まれない第２要素をランダムに選択する。より具体的には、情報提供装置１０は、正解データと同じカテゴリＣ１に属する第２要素「Ｏ２」、「Ｏ４」の中から、不正解データをランダムに選択する。
【００３４】
そして、情報提供装置１０は、分散表現の学習を行う。例えば、情報提供装置１０は、正解ペアとして、第１要素「Ｓ１」と関係情報「Ｐ１」との組、および、第２要素「Ｏ１」を生成する。また、情報提供装置１０は、不正解ペアとして、第１要素「Ｓ１」と関係情報「Ｐ１」との組、および、第２要素「Ｏ４」を生成する。そして、情報提供装置１０は、第１要素「Ｓ１」の分散表現Ｓ１と関係情報「Ｐ１」の分散表現Ｐ１との和が、第２要素「Ｏ１」の分散表現Ｏ１と類似し、第１要素「Ｓ１」の分散表現Ｓ１と関係情報「Ｐ１」の分散表現Ｐ１との和が、第２要素「Ｏ４」の分散表現Ｏ４と類似しないように、各分散表現の値を学習する。
【００３５】
また、情報提供装置１０は、ステップＳ１〜Ｓ４の処理を繰り返し実行する。この結果、情報提供装置１０は、確率的に、正解データと類似する不正解データの存在を反映させた分散表現を生成することができるので、各要素および各関係情報の分散表現の精度を向上させることができる。
【００３６】
続いて、情報提供装置１０が実行する検索処理の一例について説明する。まず、情報提供装置１０は、利用者端末１００から検索クエリを受付ける（ステップＳ５）。例えば、情報提供装置１０は、利用者端末１００から検索クエリとして、第１要素「Ｓ１」、および関係情報「Ｐ１」を受付ける。
【００３７】
このような場合、情報提供装置１０は、検索クエリの分散表現を足し合わせて、類似する分散表現を検索する（ステップＳ６）。例えば、情報提供装置１０は、生成した分散表現の中から、第１要素「Ｓ１」の分散表現「Ｓ１」と関係情報「Ｐ１」の分散表現「Ｐ１」とを特定し、特定した分散表現の和を算出する。そして、情報提供装置１０は、生成した和の値と類似する分散表現を近傍検索する。
【００３８】
ここで、上述した生成処理により、情報提供装置１０は、正解データと、正解データと類似する不正解データとの関係を分散表現に落とし込むことができる。この結果、例えば、分散表現「Ｓ１」と分散表現「Ｐ１」との和に最も類似する分散表現は、分散表現「Ｓ１」に対応する第１要素「Ｓ１」と、分散表現「Ｐ１」に対応する関係情報「Ｐ１」とを含む正解トリプルの第２要素に対応する分散表現である確率が高い。
【００３９】
そこで、情報提供装置１０は、分散表現「Ｓ１」と分散表現「Ｐ１」との和に最も類似する分散表現（例えば、分散表現「Ｏ１」）を検索し、検索した分散表現と対応する第２要素を特定する。そして、情報提供装置１０は、特定した第２要素を検索結果として利用者端末１００に出力する（ステップＳ７）。なお、例えば、情報提供装置１０は、分散表現「Ｓ１」と分散表現「Ｐ１」との和に近い順に、所定の数の分散表現を特定し、特定した各分散表現に対応する第２要素をランキング形式（すなわち、分散表現が和に近い順）で出力してもよい。
【００４０】
〔１−４．動的な確率の設定について〕
上述した説明では、情報提供装置１０は、不正解データの選択元となる分野を限定するか否かを所定の確率「β」で決定した。ここで、情報提供装置１０は、確率「β」の値を学習の進捗に応じて動的に変更してもよい。例えば、情報提供装置１０は、所定の回数、分散表現の学習を行うまでは、「β」の値を「０」に設定し、所定の回数だけ学習を行った後は、「β」の値を上昇させてもよい。すなわち、情報提供装置１０は、学習回数が所定の閾値を超えた際に、不正解データの選択元となる分野を限定するか否かを確率的に決定してもよい。また、情報提供装置１０は、学習回数が増えるにつれて、「β」の値を上昇させてもよい。
【００４１】
また、情報提供装置１０は、分散表現の精度に応じて、不正解データの選択元となる分野を限定するか否かを確率的に決定してもよい。例えば、情報提供装置１０は、正解トリプルに含まれる第２要素の分散表現が、正解トリプルに含まれる第１要素および関係情報の分散表現の和に最も近い分散表現となる割合を分散表現の精度として算出し、学習を行う度に精度の値を算出する。そして、情報提供装置１０は、算出した精度が所定の条件を満たす場合には、不正解データの選択元となる分野を限定するか否かを確率的に決定し、精度が所定の条件を満たさない場合は、選択元を限定せずともよい。
【００４２】
例えば、情報提供装置１０は、分散表現の学習を継続して行っているにも関わらず、精度が所定の閾値を超えない場合には、不正解データの選択元となる分野を限定するか否かを確率的に決定してもよい。また、情報提供装置１０は、精度が所定の閾値を超えた場合に、不正解データの選択元となる分野を限定するか否かを確率的に決定してもよい。また、情報提供装置１０は、学習を継続したにも関わらず、精度の上昇率が所定の期間だけ変化しない場合は、不正解データの選択元となる分野を限定するか否かを確率的に決定してもよい。
【００４３】
〔１−５．確度の設定について〕
また、上述した説明では、情報提供装置１０は、不正解データの選択元となる分野を限定する場合に、正解データとの確度が所定の閾値よりも高い第２要素を不正解データとして選択した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、正解データとなる第２要素と同じ種別の第２要素（例えば、名前や顔写真等のエンティティ）から不正解データを選択してもよい。
【００４４】
また、情報提供装置１０は、任意の基準に基づく分類を採用してもよい。例えば、情報提供装置１０は、正解データが「政治家の夫人の名前」を示す場合は、「名前」を示す第２要素を正解データと同じ分野に属する第２要素としてもよく、「夫人の名前」を示す第２要素を正解データと同じ分野に属する第２要素としてもよく、「政治家の夫人の名前」を示す第２要素を正解データと同じ分野に属する第２要素としてもよい。すなわち、情報提供装置１０は、正解データである第２要素と同一または類似の分野に属する第２要素を不正解データとするのであれば、任意の基準で設定された分野を作用してよい。
【００４５】
また、例えば、情報提供装置１０は、学習が進むたびに、あるいは、分類情報の精度の上昇率が滞った場合等に、不正解データを選択する分野を狭めてもよい。すなわち、情報提供装置１０は、不正解データを選択する分野の広さを動的に設定してもよい。
【００４６】
また、情報提供装置１０は、これらの分野を、各第２要素と共にトリプルに含まれる関係情報の同一性に基づいて設定してもよい。例えば、情報提供装置１０は、第１要素の「名前」を示す関係情報を含む複数のトリプルに含まれる第２要素については、同一の分野（例えば、分野「名前」）に属する第２要素と取り扱ってもよい。また、情報提供装置１０は、正解トリプルに含まれる関係情報と類似する関係情報を含む他のトリプルに含まれる第２要素を、正解データと類似する分野に属する第２要素としてもよい。すなわち、情報提供装置１０は、選択元を限定すると決定した場合は、正解トリプルの関係情報と同じ関係情報を含む任意のトリプルに含まれる第２要素のうち、正解トリプルに含まれない第２要素を不正解データとして選択してもよい。
【００４７】
なお、情報提供装置１０は、上述した各種の処理を、第２要素同士の確度を算出することにより実現してもよい。例えば、情報提供装置１０は、同一の分野に属するか否かを示す二値の確度を設定してもよい。また、情報提供装置１０は、第２要素の種別の同一性や類似性、第２要素と共にトリプルに含まれる関係情報の同一性や類似性等に基づいて、確度の算出を行い、算出した確度が所定の閾値を超えるか否かに基づいて、第２要素同士が同一または類似する分野に属するか否かを判定してもよい。例えば、情報提供装置１０は、第２要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第２要素のうち正解トリプルに含まれない第２要素であって、正解トリプルに含まれる第２要素との間の確度が所定の範囲に含まれる第２要素を選択してもよい。
【００４８】
また、情報提供装置１０は、第２要素同士の意味的（セマンティック）な類似度を示す確度を算出するのであれば、任意の手法により確度の算出を行ってよい。例えば、情報提供装置１０は、第２要素の種別や、第２要素と共にトリプルに含まれる関係情報のみならず、第２要素同士の意味的な類似度に基づいて確度を算出するのであれば、任意の手法により確度を算出してもよい。
【００４９】
また、情報提供装置１０は、選択元を限定する旨を決定した場合は、分散表現の精度が上昇するにつれて正解トリプルに含まれる第２要素が属する分野とより類似する分野に属する第２要素を不正解データとして選択してもよい。すなわち、情報提供装置１０は、分散表現の精度が上昇するにつれて、正解データとなる第２要素と同じ分類であるか否かを判定する際の確度の閾値を上昇させることで、不正解データを選択する分野を徐々に狭めてもよい。
【００５０】
また、情報提供装置１０は、属する第２要素の数が他の分野よりも少ない分野に属する第２要素を不正解データとして選択してもよい。例えば、情報提供装置１０は、正解トリプルに含まれる関係情報と同じ関係情報が含まれるトリプルの第２要素を、正解データと同じ分類に属する第２要素として特定する。このような場合、情報提供装置１０は、特定した第２要素が属する分野を所定の粒度で特定し、特定した分野に属する第２要素の数を計数する。そして、情報提供装置１０は、計数した数が最も少ない分野に属する第２要素の中から、不正解データを選択することで、選択機会が少ない分野を優先的に学習してもよい。
【００５１】
〔２．情報提供装置の構成〕
以下、上記した情報提供装置１０が有する機能構成の一例について説明する。図２は、実施形態に係る情報提供装置の構成例を示す図である。図２に示すように、情報提供装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００５２】
通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、利用者端末１００との間で情報の送受信を行う。
【００５３】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部３０は、エンティティデータベース３１、関係情報データベース３２、および分散表現データベース３３を記憶する。
【００５４】
以下、図３〜５を用いて、各データベース３１〜３３に登録される情報の一例を説明する。エンティティデータベース３１には、エンティティ、すなわち、トリプルに含まれる第１要素および第２要素に関する情報が登録される。例えば、図３は、実施形態に係るエンティティデータベースに登録される情報の一例を示す図である。図３に示すように、エンティティデータベース３１には、「エンティティＩＤ」、「データ種別」および「データ」といった項目を有する情報が登録される。
【００５５】
ここで、「エンティティＩＤ」とは、エンティティの識別子である。また、「データ種別」とは、対応付けられた「エンティティＩＤ」が示すエンティティと対応する情報の種別を示す情報である。また、「データ」とは、対応付けられた「エンティティＩＤ」が示すエンティティと対応する情報である。
【００５６】
例えば、図３に示す例では、エンティティＩＤ「Ｓ１」、データ種別「人名」、およびデータ「名前＃１」が対応付けて登録されている。このような情報は、エンティティＩＤ「Ｓ１」が示すエンティティが、「人名」に対応するエンティティであり、その人名が「名前＃１」である旨を示す。なお、図３に示す例では、「名前＃１」等といった概念的な値を記載したが、実際には、エンティティデータベース３１には、対応付けられたエンティティと対応する人物の名前、写真、生年月日等を示す各種の情報がデータとして登録されることとなる。
【００５７】
関係情報データベース３２には、エンティティ間の関係情報、すなわち、トリプルに含まれる第１要素および第２要素の関係性を示す関係情報が登録される。例えば、図４は、実施形態に係る関係情報データベースに登録される情報の一例を示す図である。図４に示す例では、関係情報データベース３２には、「関係情報ＩＤ」、「種別」、「第１要素」、および「第２要素」といった項目を有する情報が登録される。
【００５８】
ここで、「関係情報ＩＤ」とは、関係情報を識別する識別子である。また、「種別」とは、「関係情報ＩＤ」が示す関係情報が、要素間のどのような関係を示しているかを示す情報である。また、「第１要素」および「第２要素」とは、対応付けられた「関係情報ＩＤ」が示す関係情報が関係性を示す第１要素および第２要素である。
【００５９】
例えば、図４に示す例では、関係情報ＩＤ「Ｐ１」、種別「配偶者」、第１要素「Ｓ１」、および第２要素「Ｏ１」が対応付けて登録されている。このような情報は、関係情報ＩＤ「Ｐ１」が示す関係情報が、第１要素「Ｓ１」および第２要素「Ｏ１」間の関係を示す情報であり、第２要素「Ｏ１」が第１要素「Ｓ１」の「配偶者」である旨を示す。すなわち、このような情報は、関係情報ＩＤ「Ｐ１」が示す関係情報と、第１要素「Ｓ１」および第２要素「Ｏ１」がトリプルを構成する旨を示す。
【００６０】
分散表現データベース３３には、各エンティティや関係情報の分散表現が登録される。例えば、図５は、実施形態に係る分散表現データベースに登録される情報の一例を示す図である。図５に示すように、分散表現データベース３３には、「要素ＩＤ／関係情報ＩＤ」および「分散表現」といった項目が登録される。「要素ＩＤ／関係情報ＩＤ」とは、分散表現と対応するエンティティＩＤまたは関係情報ＩＤである。また、「分散表現」とは、対応付けられた「要素ＩＤ／関係情報ＩＤ」が示すエンティティまたは関係情報の分散表現である。
【００６１】
例えば、図５に示す例では、分散表現データベース３３には、要素ＩＤ／関係情報ＩＤ「Ｓ１」および分散表現「分散表現＃１」が対応付けて登録されている。このような情報は、要素ＩＤ／関係情報ＩＤ「Ｓ１」が示す要素の分散表現が、分散表現「分散表現＃１」である旨を示す。なお、図５に示す例では「分散表現＃１」といった概念的な値を記載したが、実際には、分散表現データベース３３には、分散表現である多次元量が登録されることとなる。
【００６２】
図２に戻り、説明を続ける。制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、情報提供装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００６３】
図２に示すように、制御部４０は、算出部４１、抽出部４２、決定部４３、選択部４４、生成部４５、および検索部４６を有する。算出部４１は、トリプルに含まれる第２要素同士の類似度を示す確度を算出する。より具体的には、算出部４１は、第２要素同士の意味的な類似度を示す確度を算出する。例えば、算出部４１は、関係情報データベース３２を参照し、第２要素として登録されているエンティティを特定する。また、算出部４１は、特定したエンティティと対応するデータの種別やデータをエンティティデータベース３１から特定するとともに、特定したエンティティとともにトリプルに含まれる関係情報を関係情報データベース３１から特定する。
【００６４】
そして、算出部４１は、エンティティと対応するデータの種別の同一性や類似性、特定したエンティティとともにトリプルに含まれる関係情報の種別の同一性や類似性等に基づいて、各第２要素同士の意味的な類似度を示す確度を算出する。なお、算出部４１は、抽出部４２によって正解トリプルとして選択されたトリプルに含まれる第２要素と他の第２要素との確度を算出してもよい。
【００６５】
抽出部４２は、所定のトリプルに含まれる第１要素と関係情報とを抽出する。例えば、抽出部４２は、関係情報データベース３２を参照し、トリプルの中から処理対象となるトリプルを正解トリプルとして１つ選択する。そして、抽出部４２は、選択した正解トリプルに含まれる第１要素のエンティティと関係情報とを特定する。すなわち、抽出部４２は、第１要素として、正解トリプルに主語と対応する情報として含まれるエンティティを抽出し、関係情報として、正解トリプルに述語と対応する情報として含まれる要素を抽出する。
【００６６】
決定部４３は、不正解データとなる第２要素の選択元を限定するか否かを確率的に決定する。例えば、決定部４３は、抽出部４２が正解トリプルを選択する度に、不正解データとなる第２要素の選択元を限定するか否かを確率的に決定する。なお、決定部４３は、学習処理が継続して行われた場合は、分散表現データベース３３を参照し、分散表現の精度を算出する。そして、決定部４３は、分散表現の精度が所定の条件を満たす場合は、選択元を限定するか否かを確率的に決定し、分散表現の精度が所定の条件を満たさない場合は、選択元を限定しないと決定してもよい。例えば、決定部４３は、分散表現の精度の上昇率が所定の期間だけ変化しない場合は、選択元を限定するか否かを確率的に決定してもよい。なお、決定部４３は、例えば、４割以下の確率で、第２要素の選択元を限定する旨を決定してよい。
【００６７】
選択部４４は、第２要素の選択元を限定しないと決定した場合は、任意のトリプルに含まれる第２要素のうち正解トリプルに含まれない第２要素を不正解データとして選択する。また、選択部４４は、第２要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第２要素のうち正解トリプルに含まれない第２要素であって、所定の分野に属する第２要素を選択する。より具体的には、選択部４４は、不正解データとなる第２要素として、トリプルに述語と対応する情報として含まれる要素を選択する。
【００６８】
例えば、選択部４４は、第２要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第２要素のうち、正解トリプルに含まれる第２要素と同一または類似する分野に属する第２要素であって、正解トリプルに含まれない第２要素を選択する。また、選択部４４は、選択元を限定すると決定した場合は、正解トリプルの含まれる関係情報と同じ関係情報を含む任意のトリプルに含まれる第２要素のうち、正解トリプルに含まれない第２要素を選択する。
【００６９】
より具体的な例を挙げると、選択部４４は、決定部４３が不正解データとなる第２要素の選択元を限定しないと決定した場合には、関係情報データベース３２を参照し、正解トリプルに含まれる第２要素以外の第２要素の中から、ランダムに不正解データとなる第２要素を選択する。一方、選択部４４は、決定部４３が不正解データとなる第２要素の選択元を限定すると決定した場合には、算出部４１が算出した確度を用いて、正解トリプルに含まれる第２要素、すなわち、正解データとなる第２要素との間の確度が所定の範囲内となる他の第２要素を特定する。そして、選択部４４は、特定した第２要素の中から、ランダムに不正解データとなる第２要素を選択する。
【００７０】
なお、選択部４４は、学習処理が継続して行われた場合は、分散表現データベース３３を参照し、分散表現の精度を算出する。そして、選択部４４は、分散表現の精度が上昇するにつれて、正解データとなる第２要素が属する分野とより類似する分野に属する第２要素を不正解データとして選択してもよい。例えば、選択部４４は、分散表現の精度が上昇するにつれて、正解データとなる第２要素との間の確度がより高い値となる第２要素の中から、不正解データとなる第２要素を選択してもよい。また、選択部４４は、属する第２要素の数が他の分野よりも少ない分野に属する第２要素を選択してもよい。
【００７１】
ここで、図６は、実施形態に係る情報提供装置が不正解データとして選択する第２要素の一例を示す図である。なお、図６には、各第２要素「Ｏ１」〜「Ｏ５」が属する分野とともに、各分野に属する第２要素の数（データ量）の一例について記載した。
【００７２】
図６に示す例では、第２要素「Ｏ１」は、関係情報「Ｐ１」とともに、同一のトリプルに含まれている。また、第２要素「Ｏ２」は、他の第２要素「Ｏ１」、「Ｏ３」、「Ｏ４」と種別が異なるエンティティであり、関係情報「Ｐ１」と同一の関係情報を含むトリプルに含まれていないものとする。また、第２要素「Ｏ３」、「Ｏ５」は、第２要素「Ｏ１」と同一種別のエンティティであり、関係情報「Ｐ１」と同一の関係情報を含むトリプルに含まれているものとする。また、第２要素「Ｏ４」は、関係情報「Ｐ１」と類似する他の関係情報「Ｐ２」とともにトリプルに含まれているものとする。
【００７３】
このような場合、抽出部４２は、第１要素「Ｓ」と、関係情報「Ｐ１」と、第２要素「Ｏ１」とを含むトリプルを正解トリプルＣＴとして選択する。そして、選択部４４は、正解トリプルＣＴに含まれる第２要素「Ｏ１」を正解データＣＳ１として選択する。
【００７４】
続いて、選択部４４は、決定部４３が選択元を限定しない旨を決定した場合は、全カテゴリＣＡに属する第２要素「Ｏ１」〜「Ｏ５」のうち、正解トリプルＣＴに含まれない第２要素「Ｏ２」〜「Ｏ５」の中から、ランダムに１つの第２要素を不正解データとして選択する。例えば、選択部４４は、第２要素「Ｏ２」を不正解データＮＳ１として選択する。
【００７５】
一方、選択部４４は、決定部４３が選択元を限定する旨を決定した場合は、所定の分野として、正解データとして選択した第２要素「Ｏ１」と同一または類似する分野の他の第２要素を特定する。例えば、選択部４４は、正解トリプルＣＴと同様に、関係情報「Ｐ１」を含むトリプルに含まれている第２要素「Ｏ３」、「Ｏ５」を特定する。
【００７６】
ここで、選択部４４は、第２要素「Ｏ３」および「Ｏ５」が属する分野のデータ量をそれぞれ計数する。図６に示す例では、第２要素「Ｏ３」が属するカテゴリＣＸのデータ量は、第２要素「Ｏ５」が属するカテゴリＣＺのデータ量よりも少ない。そこで、選択部４４は、よりデータ量が少ない分野に属する第２要素「Ｏ３」を不正解データＮＳ２として選択する。
【００７７】
なお、選択部４４は、正解トリプルの関係情報「Ｐ１」と類似する関係情報「Ｐ２」を含むトリプルから第２要素を選択することで、選択対象となるトリプルを拡張してもよい。例えば、選択部４４は、正解トリプルの関係情報「Ｐ１」と類似する関係情報「Ｐ２」を含むトリプルを特定し、特定したトリプルに含まれる第２要素「Ｏ４」を不正解データＮＳ３として選択してもよい。
【００７８】
図２に戻り、説明を続ける。生成部４５は、抽出した第１要素の分散表現と関係情報の分散表現との和と、選択された第２要素の分散表現とが類似しないように、各分散表現を生成する。例えば、生成部４５は、正解トリプルに含まれる第１要素の分散表現と、正解トリプルに含まれる関係情報の分散表現との和が、正解データである第２要素の分散表現となり、正解トリプルに含まれる第１要素の分散表現と、正解トリプルに含まれる関係情報の分散表現との和が、不正解データである第２要素の分散表現とは異なるように、各要素および関係情報の分散表現を生成する。そして、生成部４５は、生成した分散表現を分散表現データベース３３に登録する。
【００７９】
なお、分散表現を生成する際の具体的な手法については、ネガティブサンプリングを用いた分散表現の生成手法であれば、任意の手法が適用可能であるものとする。
【００８０】
検索部４６は、分散表現を用いた検索処理を実行する。例えば、検索部４６は、利用者端末１００から検索クエリとして第１要素と関係情報とを受付ける。このような場合、検索部４６は、分散表現データベース３３を参照し、検索クエリとして受付けた第１要素の分散表現と関係情報の分散表現とを特定する。そして、検索部４６は、特定した分散表現の和を算出し、算出した和と分散表現空間上における距離が最も近い分散表現を分散表現データベース３３から特定する。そして、検索部４６は、特定した分散表現と対応するエンティティのデータをエンティティデータベース３１から読出し、読み出したデータを利用者端末１００へと送信する。
【００８１】
なお、検索部４６は、エンティティデータベース３１や分散表現データベース３３に登録されていない第１要素や関係情報を検索クエリとして受付けた場合は、検索クエリとして受付けた第１要素と最も類似する他の第１要素や、検索クエリとして受付けた関係情報と最も類似する他の関係情報を検索し、検索した第１要素の分散表現および関係情報の分散表現を用いて、対応する第２要素を検索すればよい。
【００８２】
〔３．情報提供装置が実行する処理の流れの一例〕
続いて、図７を用いて、情報提供装置１０が実行する生成処理の流れについて説明する。図７は、実施形態に係る情報提供装置が実行する生成処理の流れの一例を示すフローチャートである。なお、情報提供装置１０は、図７に示す処理を、任意の単位で、任意のタイミングにより実行可能である。
【００８３】
まず、情報提供装置１０は、正解トリプルから第１要素と関係情報とを抽出し、正解トリプルの第２要素を正解データとする（ステップＳ１０１）。続いて、情報提供装置１０は、不正解データの選択元を限定するか否かを確率的に決定する（ステップＳ１０２）。そして、情報提供装置１０は、限定しないと決定した場合は（ステップＳ１０３：Ｎｏ）、所定のトリプル以外のトリプルの第２要素から不正解データをランダムに選択する（ステップＳ１０４）。一方、情報提供装置１０は、限定すると決定した場合は（ステップＳ１０３：Ｙｅｓ）、確度に応じた所定の分野に属する第２要素から不正解データを選択する（ステップＳ１０５）。
【００８４】
そして、情報提供装置１０は、正解データ、不正解データ、抽出した第１要素および関係情報を用いて、正解ペアと不正解ペアとを生成し（ステップＳ１０６）、正解ペアと不正解ペアとを用いて分散表現を学習し（ステップＳ１０７）、処理を終了する。
【００８５】
〔４．変形例〕
上記では、情報提供装置１０による生成処理や検索処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置１０が実行する生成処理や検索処理のバリエーションについて説明する。
【００８６】
〔４−１．エンティティの種別について〕
上述した例では、情報提供装置１０は、人物と人物の名前とを関連付けたトリプルについて説明した。しかしながら、実施形態は、これに限定されるものではない。すなわち、情報提供装置１０は、任意の事象を示すエンティティが関連づけられたトリプルについて、上述した生成処理を実行することで、分散表現の生成を行ってよい。
【００８７】
〔４−２．装置構成〕
記憶部３０に登録された各データベース３１〜３３は、外部のストレージサーバに保持されていてもよい。また、情報提供装置１０は、検索処理を実現するフロントエンドサーバと、生成処理を実現するバックエンドサーバとで実現されてもよい。このような場合、フロントエンドサーバには、図２に示す検索部４６が配置され、バックエンドサーバには、算出部４１、抽出部４２、決定部４３、選択部４４、および生成部４５が配置される。
【００８８】
〔４−３．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００８９】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００９０】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００９１】
〔４−４．プログラム〕
また、上述した実施形態に係る情報提供装置１０は、例えば図８に示すような構成のコンピュータ１０００によって実現される。図８は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【００９２】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリ等により実現される。
【００９３】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（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）」は、「手段」や「回路」などに読み替えることができる。例えば、決定部は、決定手段や決定回路に読み替えることができる。
【符号の説明】
【０１１１】
１０  情報提供装置
２０  通信部
３０  記憶部
３１  エンティティデータベース
３２  関係情報データベース
３３  分散表現データベース
４０  制御部
４１  算出部
４２  抽出部
４３  決定部
４４  選択部
４５  生成部
４６  検索部
１００  利用者端末
【図１】
2018156332.tif 000003
【図２】
2018156332.tif 000004
【図３】
2018156332.tif 000005
【図４】
2018156332.tif 000006
【図５】
2018156332.tif 000007
【図６】
2018156332.tif 000008
【図７】
2018156332.tif 000009
【図８】
2018156332.tif 000010