【新規性喪失の例外の表示】特許法第30条第2項適用 投稿日 平成29年1月9日 平成29年1月9日に投稿した論文 http://www.wsdm―conference.org/2017/ 投稿日 平成29年1月9日 平成29年4月13日時点におけるWSDM2017の論文投稿に関するページ http://www.wsdm―conference.org/2017/calls/wsdm―cup/
【文献】
Ruobing Xie, 外3名,“Representation Learning of Knowledge Graphs with Hierarchical Types”,[online],Proceedings of IJCAI,2016年 7月15日,URL,htthttps://www.ijcai.org/Proceedings/16/Papers/421.pdf
【文献】
大貫陽平,外6名,「DNNによるRDF上の単語間の関係の予測」,一般財団法人人工知能学会 研修会 SWO:セマンティックウェブとオントロジー研究会 [online],2017年10月17日,02-01〜02-08
(58)【調査した分野】(Int.Cl.,DB名)
前記選択部は、前記第2要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第2要素のうち前記所定のトリプルに含まれない第2要素であって、所定の分野に属する第2要素を選択する
ことを特徴とする請求項1に記載の生成装置。
前記選択部は、前記第2要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第2要素のうち、前記所定のトリプルに含まれる第2要素と同一または類似する分野に属する第2要素であって、前記所定のトリプルに含まれない第2要素を選択する
ことを特徴とする請求項2に記載の生成装置。
前記決定部は、前記分散表現の精度が所定の条件を満たす場合は、前記選択元を限定するか否かを確率的に決定し、前記分散表現の精度が所定の条件を満たさない場合は、前記選択元を限定しないと決定する
ことを特徴とする請求項1〜4のうちいずれか1つに記載の生成装置。
前記抽出部は、前記第1要素として、前記トリプルに主語と対応する情報として含まれる要素を抽出し、前記関係情報として、前記トリプルに述語と対応する情報として含まれる要素を抽出し、
前記選択部は、前記第2要素として、前記トリプルに目的と対応する情報として含まれる要素を選択する
ことを特徴とする請求項1〜11のうちいずれか1つに記載の生成装置。
前記選択部は、前記第2要素の選択元を限定すると決定した場合は、前記抽出部が抽出した関係情報を含む任意のトリプルに含まれる第2要素のうち前記所定のトリプルに含まれない第2要素を選択する
ことを特徴とする請求項1〜12のうちいずれか1つに記載の生成装置。
【発明を実施するための形態】
【0010】
以下に、本願に係る生成装置、生成方法および生成プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法および生成プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【0011】
[実施形態]
〔1.情報提供装置が提供する処理について〕
まず、
図1を用いて、生成装置の一例となる情報提供装置が実行する生成処理の一例について説明する。
図1は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。なお、以下の説明では、情報提供装置10が実行する処理として、トリプルとして登録された情報の分散表現を生成する生成処理と、生成処理によって生成した分散表現を用いて、情報の検索を行う検索処理とについて説明する。なお、以下の説明では、情報提供装置10が各情報の分散表現を「生成」する処理について説明するが、かかる処理は、各データに対応する適切な分散表現の値を適宜「学習」することで、分散表現を「生成」する処理であるものとする。
【0012】
〔1−1.情報提供装置の概要〕
情報提供装置10は、インターネット等の所定のネットワークN(例えば、
図2を参照。)を介して、利用者端末100と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置10は、ネットワークNを介して、任意の数の利用者端末100と通信可能であってよい。
【0013】
利用者端末100は、情報の検索を要求する利用者が使用する情報処理装置であり、PC(Personal Computer)、サーバ装置、スマートデバイスといった情報処理装置により実現される。例えば、利用者端末100は、情報の検索を行う際の検索クエリを情報提供装置10に送信する。このような場合、情報提供装置10は、RDFの形式で保存された情報、すなわち、トリプルの中から検索クエリに対応する情報を検索し、検索結果を利用者端末100へと提供する。
【0014】
ここで、情報提供装置10が検索するトリプルについて説明する。例えば、情報提供装置10は、エンティティ等と呼ばれる第1要素および第2要素と、要素間の関係性を示す関係情報とで構成される三つ組みの情報をトリプルとして記憶する。例えば、情報提供装置10は、第1要素である主語(S:Subject)のエンティティ、第2要素である目的語(O:Object)となるエンティティ、および述語(P:Predicate)となる関係情報の組をトリプルとして記憶する。
【0015】
例えば、情報提供装置10は、エンティティとして、実世界における人物、物体、建築物等の主語となりうる各種の物、職業や国籍等といった属性、各種の状態や事象等、世の中における各種の物事に対応する情報を記憶し、エンティティ間の関係情報を記憶することで、様々な知識を体系的に管理することができる。例えば、所定の人物#Aに対応するエンティティ#1と、職業「政治家」に対応するエンティティ#2と、「職業」を示す関係情報とをトリプルとした場合、かかるトリプルは、「人物#A」の「職業」が「政治家」である旨を示すことができる。このように、情報提供装置10は、トリプルを用いて、知識を体系的に管理する。
【0016】
なお、人物に対応するエンティティと人名に対応するエンティティとは別のエンティティであってもよい。このような場合、人物に対応するエンティティと、「名前」を示す関係情報と、人名に対応するエンティティとをトリプルとして記憶することで、ある人物の名前を保持することができる。このようなトリプルを用いた知識の体系的な管理は、例えば、ナレッジデータベース等に用いられている。
【0017】
なお、エンティティは、物事を示すテキストのみならず、物事を示す静止画像、動画像、音声、ウェブコンテンツ、ウェブコンテンツのURL(Uniform Resource Locator)等、任意の情報であってもよい。また、エンティティは、物事を示す情報そのものである必要はなく、概念を示すエンティティとして設定されたものであってもよい。
【0018】
〔1−2.生成処理について〕
ここで、トリプルの検索を容易にするため、第1要素の分散表現と関係情報の分散表現との和が第2要素の分散表現となるように、各要素および関係情報の分散表現を生成し、第1要素と関係情報とを検索クエリとして受付けた場合に、分散表現の和を算出することでトリプルを構成する第2要素を検索する技術が知られている。このような分散表現を生成した場合、情報提供装置10は、第1要素と関係情報とを検索クエリとして受付けた場合に、第1要素の分散表現と関係情報の分散表現との和を算出し、算出した分散表現と類似する分散表現を検索することで、検索クエリとして受付けた第1要素および関係情報を含むトリプルの第2要素を近傍検索により検索することができる。
【0019】
しかしながら、従来技術では、分散表現の精度を担保出来ない場合がある。例えば、従来技術では、あるトリプルに含まれる第1要素の分散表現と関係情報の分散表現との和が、そのトリプルに含まれる第2要素、すなわち正解データの分散表現に類似し、そのトリプルに含まれない第2要素の分散表現、すなわち不正解データに類似しないように分散表現を学習する。しかしながら、このような従来技術では、分散表現空間において、第1要素の分散表現と関係情報の分散表現との和の最近傍に、正解データとなる第2要素と類似する他の第2要素の分散表現が配置される可能性がある。このため、従来技術では、分散表現の精度を所定の精度までしか保証することができない。
【0020】
また、不正解データを選択する場合には、記憶するトリプルの中からランダムに第2要素を選択する。このため、第2要素が属する分野(人物の名前や職業等といった第2要素を分類することができる任意の基準)を設定した際に、各分野に属する第2要素の数に偏りが存在する場合は、属する第2要素の数が少ない分野における分散表現の学習が進まず、精度が悪化する恐れがある。
【0021】
そこで、情報提供装置10は、以下の生成処理を実行することで、各要素の分散表現を生成する。まず、情報提供装置10は、所定のトリプルに含まれる第1要素と関係情報とを抽出する。続いて、情報提供装置10は、第2要素の選択元を限定するか否かを確率的に決定する。
【0022】
そして、情報提供装置10は、決定結果に基づいて、任意のトリプルに含まれる第2要素のうち所定のトリプルに含まれない第2要素を少なくとも選択する。例えば、情報提供装置10は、第2要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第2要素のうち所定のトリプルに含まれない第2要素であって、所定の分野に属する第2要素を選択する。
【0023】
より具体的な例を挙げると、情報提供装置10は、第2要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第2要素のうち、所定のトリプルに含まれる第2要素と同一または類似する分野に属する第2要素であって、所定のトリプルに含まれない第2要素を選択する。一方、情報提供装置10は、第2要素の選択元を限定しないと決定した場合は、任意のトリプルに含まれる第2要素のうち所定のトリプルに含まれない第2要素を選択する。そして、情報提供装置10は、抽出した第1要素の分散表現と関係情報の分散表現との和と、選択された第2要素の分散表現とが類似しないように、各要素および関係情報の分散表現を生成する。
【0024】
より具体的には、情報提供装置10は、分散表現を生成する際に、ポジティブサンプリングとネガティブサンプリングとを行う。ここで、ポジティブサンプリングとは、分散表現の学習に用いる正例を選択する処理であり、例えば、所定のトリプルに含まれる第1要素および関係情報と、その所定のトリプルに含まれる第2要素(すなわち、正解データ)とを正解ペアとして選択する処理である。また、ネガティブサンプリングとは、分散表現の学習に用いる負例を選択する処理であり、例えば、所定のトリプルに含まれる第1要素および関係情報と、その所定のトリプルに含まれない第2要素(すなわち、不正解データ)とを不正解ペアとして選択する処理である。
【0025】
このようなネガティブサンプリングを行う際、情報提供装置10は、第2要素の選択先を限定するか否かを確率的に決定する。すなわち、情報提供装置10は、分散表現の生成(すなわち、分散表現のトレーニング)において、トレーニング対象となる第2要素の選択先に確率的なバイアスを設定する。そして、情報提供装置10は、第2要素の選択先を限定しないと決定した場合には、記憶する全てのトリプルに含まれる第2要素のうち、所定のトリプルに含まれない第2要素を不正解データとしてランダムに選択する。一方、情報提供装置10は、第2要素の選択先を限定すると決定した場合は、所定のトリプルに含まれる第2要素と同一または類似する分野に属する第2要素であって、所定のトリプルに含まれない第2要素を不正解データとしてランダムに選択する。
【0026】
このような処理の結果、情報提供装置10は、ネガティブサンプリングにおいて、正解データと同じまたは類似する分野の異なるデータを不正解データとして選択する。すると、情報提供装置10は、意味的に正解データと近いが、誤りであるデータを不正解データとして選択することができる。このような不正解データを用いて分散表現を学習した場合、同一または類似する分野内に属する第2要素間の関係を分散表現空間に落とし込むことができる。換言すると、ある第1要素と関係情報との組に対し、正解データとなる第2要素と、正解データに類似するが不正解データである第2要素との関係を分散表現空間に落とし込むことができる。この結果、情報提供装置10は、生成する分散表現の精度を向上させることができる。
【0027】
〔1−3.生成処理の一例について〕
続いて、
図1を用いて、情報提供装置10が実行する生成処理の一例について説明する。なお、以下の説明では、正解データとなる第2要素を含むトリプル、すなわち、処理対象となる所定のトリプルを正解トリプルと記載する。
【0028】
まず、情報提供装置10は、記憶するトリプルから正解トリプルを選択し、正解トリプルに含まれる第1要素と関係情報とを抽出する(ステップS1)。例えば、情報提供装置10は、第1要素「S1」、関係情報「P1」、および第2要素「O1」を含むトリプルT1を正解トリプルとした場合、第1要素「S1」および関係情報「P1」を抽出する。
【0029】
続いて、情報提供装置10は、第2要素同士の類似度を示す確度dを算出する(ステップS2)。例えば、情報提供装置10は、正解トリプルに含まれる第2要素「O1」を基準として、他のトリプルに含まれる第2要素「O2」、「O3」、「O4」を抽出する。そして、情報提供装置10は、「O1」と「O2」との類似度を示す確度d12、「O1」と「O3」との確度d13、および「O1」と「O4」との確度d14を算出する。
【0030】
なお、情報提供装置10は、意味的な類似度、すなわち、セマンティックな類似度を確度として算出するのであれば、任意の指標に基づいて確度を算出してよい。例えば、情報提供装置10は、第2要素が名前であるか、職業であるか、立場であるか等、第2要素の種別の類似性を示す確度を算出してもよい。また、情報提供装置10は、第2要素に予め付与される分野に基づいて確度を算出してもよい。また、情報提供装置10は、第2要素とともにトリプルに含まれる関係情報の同一性に基づいて、確度を算出してもよい。例えば、情報提供装置10は、第2要素とともにトリプルに含まれる関係情報が同一である場合は、類似する或いは同じ分野に属する旨を示す確度を算出してもよい。すなわち、情報提供装置10は、不正解データとなる第2要素が正解データとなる第2要素と同じ分野に属するか否か(類似するか否か)を示すことができるのであれば、任意の情報に基づいて、任意の情報を確度dとして算出してよい。
【0031】
続いて、情報提供装置10は、不正解データの選択元となる分野を限定するか否かを確率的に決定する(ステップS3)。例えば、情報提供装置10は、分散表現の学習を行う度に、確率「β」で分野を限定するか否かを決定する。より具体的な例を挙げると、情報提供装置10は、確率「β」の値が「0.4」である場合、40パーセント(すなわち、4割)の確率で分野を限定すると判定する。なお、例えば、情報提供装置10は、確率「β」の値として、「0」から「0.4」の範囲において予め定められた値を採用してもよく、任意の値(例えば、「0」から「1」の範囲等)において、分散表現の学習に伴い動的に値を変更してもよい。
【0032】
例えば、
図1に示す例では、全カテゴリCAには、第2要素「O1」〜「O5」が含まれている。このような場合、情報提供装置10は、算出した確度dに基づいて、各第2要素のカテゴリ分けを行う。例えば、「O1」と「O2」との間の確度d12、および「O1」と「O4」との間の確度d14が所定の閾値よりも高い場合、情報提供装置10は、第2要素「O1」、「O2」、「O4」をカテゴリC1に分類する。なお、同じ分野に属するか否かを判定するための確度dの閾値は、所定の値を採用してもよく、学習に応じて動的に変化させてもよい。
【0033】
そして、情報提供装置10は、不正解ペアと正解ペアとを生成し、分散表現の学習を行う(ステップS4)。例えば、情報提供装置10は、正解データとして、正解トリプルに含まれる第2要素を選択する。また、例えば、情報提供装置10は、分野を限定しない旨を決定した場合は、全カテゴリCAに属する第2要素「O1」〜「O5」のうち、正解トリプルに含まれない第2要素「O2」〜「O5」の中から、不正解データとなる第2要素をランダムに選択する。一方、情報提供装置10は、分野を限定する旨を決定した場合は、所定のカテゴリに属する第2要素の中から、正解トリプルに含まれない第2要素をランダムに選択する。より具体的には、情報提供装置10は、正解データと同じカテゴリC1に属する第2要素「O2」、「O4」の中から、不正解データをランダムに選択する。
【0034】
そして、情報提供装置10は、分散表現の学習を行う。例えば、情報提供装置10は、正解ペアとして、第1要素「S1」と関係情報「P1」との組、および、第2要素「O1」を生成する。また、情報提供装置10は、不正解ペアとして、第1要素「S1」と関係情報「P1」との組、および、第2要素「O4」を生成する。そして、情報提供装置10は、第1要素「S1」の分散表現S1と関係情報「P1」の分散表現P1との和が、第2要素「O1」の分散表現O1と類似し、第1要素「S1」の分散表現S1と関係情報「P1」の分散表現P1との和が、第2要素「O4」の分散表現O4と類似しないように、各分散表現の値を学習する。
【0035】
また、情報提供装置10は、ステップS1〜S4の処理を繰り返し実行する。この結果、情報提供装置10は、確率的に、正解データと類似する不正解データの存在を反映させた分散表現を生成することができるので、各要素および各関係情報の分散表現の精度を向上させることができる。
【0036】
続いて、情報提供装置10が実行する検索処理の一例について説明する。まず、情報提供装置10は、利用者端末100から検索クエリを受付ける(ステップS5)。例えば、情報提供装置10は、利用者端末100から検索クエリとして、第1要素「S1」、および関係情報「P1」を受付ける。
【0037】
このような場合、情報提供装置10は、検索クエリの分散表現を足し合わせて、類似する分散表現を検索する(ステップS6)。例えば、情報提供装置10は、生成した分散表現の中から、第1要素「S1」の分散表現「S1」と関係情報「P1」の分散表現「P1」とを特定し、特定した分散表現の和を算出する。そして、情報提供装置10は、生成した和の値と類似する分散表現を近傍検索する。
【0038】
ここで、上述した生成処理により、情報提供装置10は、正解データと、正解データと類似する不正解データとの関係を分散表現に落とし込むことができる。この結果、例えば、分散表現「S1」と分散表現「P1」との和に最も類似する分散表現は、分散表現「S1」に対応する第1要素「S1」と、分散表現「P1」に対応する関係情報「P1」とを含む正解トリプルの第2要素に対応する分散表現である確率が高い。
【0039】
そこで、情報提供装置10は、分散表現「S1」と分散表現「P1」との和に最も類似する分散表現(例えば、分散表現「O1」)を検索し、検索した分散表現と対応する第2要素を特定する。そして、情報提供装置10は、特定した第2要素を検索結果として利用者端末100に出力する(ステップS7)。なお、例えば、情報提供装置10は、分散表現「S1」と分散表現「P1」との和に近い順に、所定の数の分散表現を特定し、特定した各分散表現に対応する第2要素をランキング形式(すなわち、分散表現が和に近い順)で出力してもよい。
【0040】
〔1−4.動的な確率の設定について〕
上述した説明では、情報提供装置10は、不正解データの選択元となる分野を限定するか否かを所定の確率「β」で決定した。ここで、情報提供装置10は、確率「β」の値を学習の進捗に応じて動的に変更してもよい。例えば、情報提供装置10は、所定の回数、分散表現の学習を行うまでは、「β」の値を「0」に設定し、所定の回数だけ学習を行った後は、「β」の値を上昇させてもよい。すなわち、情報提供装置10は、学習回数が所定の閾値を超えた際に、不正解データの選択元となる分野を限定するか否かを確率的に決定してもよい。また、情報提供装置10は、学習回数が増えるにつれて、「β」の値を上昇させてもよい。
【0041】
また、情報提供装置10は、分散表現の精度に応じて、不正解データの選択元となる分野を限定するか否かを確率的に決定してもよい。例えば、情報提供装置10は、正解トリプルに含まれる第2要素の分散表現が、正解トリプルに含まれる第1要素および関係情報の分散表現の和に最も近い分散表現となる割合を分散表現の精度として算出し、学習を行う度に精度の値を算出する。そして、情報提供装置10は、算出した精度が所定の条件を満たす場合には、不正解データの選択元となる分野を限定するか否かを確率的に決定し、精度が所定の条件を満たさない場合は、選択元を限定せずともよい。
【0042】
例えば、情報提供装置10は、分散表現の学習を継続して行っているにも関わらず、精度が所定の閾値を超えない場合には、不正解データの選択元となる分野を限定するか否かを確率的に決定してもよい。また、情報提供装置10は、精度が所定の閾値を超えた場合に、不正解データの選択元となる分野を限定するか否かを確率的に決定してもよい。また、情報提供装置10は、学習を継続したにも関わらず、精度の上昇率が所定の期間だけ変化しない場合は、不正解データの選択元となる分野を限定するか否かを確率的に決定してもよい。
【0043】
〔1−5.確度の設定について〕
また、上述した説明では、情報提供装置10は、不正解データの選択元となる分野を限定する場合に、正解データとの確度が所定の閾値よりも高い第2要素を不正解データとして選択した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、正解データとなる第2要素と同じ種別の第2要素(例えば、名前や顔写真等のエンティティ)から不正解データを選択してもよい。
【0044】
また、情報提供装置10は、任意の基準に基づく分類を採用してもよい。例えば、情報提供装置10は、正解データが「政治家の夫人の名前」を示す場合は、「名前」を示す第2要素を正解データと同じ分野に属する第2要素としてもよく、「夫人の名前」を示す第2要素を正解データと同じ分野に属する第2要素としてもよく、「政治家の夫人の名前」を示す第2要素を正解データと同じ分野に属する第2要素としてもよい。すなわち、情報提供装置10は、正解データである第2要素と同一または類似の分野に属する第2要素を不正解データとするのであれば、任意の基準で設定された分野を作用してよい。
【0045】
また、例えば、情報提供装置10は、学習が進むたびに、あるいは、分類情報の精度の上昇率が滞った場合等に、不正解データを選択する分野を狭めてもよい。すなわち、情報提供装置10は、不正解データを選択する分野の広さを動的に設定してもよい。
【0046】
また、情報提供装置10は、これらの分野を、各第2要素と共にトリプルに含まれる関係情報の同一性に基づいて設定してもよい。例えば、情報提供装置10は、第1要素の「名前」を示す関係情報を含む複数のトリプルに含まれる第2要素については、同一の分野(例えば、分野「名前」)に属する第2要素と取り扱ってもよい。また、情報提供装置10は、正解トリプルに含まれる関係情報と類似する関係情報を含む他のトリプルに含まれる第2要素を、正解データと類似する分野に属する第2要素としてもよい。すなわち、情報提供装置10は、選択元を限定すると決定した場合は、正解トリプルの関係情報と同じ関係情報を含む任意のトリプルに含まれる第2要素のうち、正解トリプルに含まれない第2要素を不正解データとして選択してもよい。
【0047】
なお、情報提供装置10は、上述した各種の処理を、第2要素同士の確度を算出することにより実現してもよい。例えば、情報提供装置10は、同一の分野に属するか否かを示す二値の確度を設定してもよい。また、情報提供装置10は、第2要素の種別の同一性や類似性、第2要素と共にトリプルに含まれる関係情報の同一性や類似性等に基づいて、確度の算出を行い、算出した確度が所定の閾値を超えるか否かに基づいて、第2要素同士が同一または類似する分野に属するか否かを判定してもよい。例えば、情報提供装置10は、第2要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第2要素のうち正解トリプルに含まれない第2要素であって、正解トリプルに含まれる第2要素との間の確度が所定の範囲に含まれる第2要素を選択してもよい。
【0048】
また、情報提供装置10は、第2要素同士の意味的(セマンティック)な類似度を示す確度を算出するのであれば、任意の手法により確度の算出を行ってよい。例えば、情報提供装置10は、第2要素の種別や、第2要素と共にトリプルに含まれる関係情報のみならず、第2要素同士の意味的な類似度に基づいて確度を算出するのであれば、任意の手法により確度を算出してもよい。
【0049】
また、情報提供装置10は、選択元を限定する旨を決定した場合は、分散表現の精度が上昇するにつれて正解トリプルに含まれる第2要素が属する分野とより類似する分野に属する第2要素を不正解データとして選択してもよい。すなわち、情報提供装置10は、分散表現の精度が上昇するにつれて、正解データとなる第2要素と同じ分類であるか否かを判定する際の確度の閾値を上昇させることで、不正解データを選択する分野を徐々に狭めてもよい。
【0050】
また、情報提供装置10は、属する第2要素の数が他の分野よりも少ない分野に属する第2要素を不正解データとして選択してもよい。例えば、情報提供装置10は、正解トリプルに含まれる関係情報と同じ関係情報が含まれるトリプルの第2要素を、正解データと同じ分類に属する第2要素として特定する。このような場合、情報提供装置10は、特定した第2要素が属する分野を所定の粒度で特定し、特定した分野に属する第2要素の数を計数する。そして、情報提供装置10は、計数した数が最も少ない分野に属する第2要素の中から、不正解データを選択することで、選択機会が少ない分野を優先的に学習してもよい。
【0051】
〔2.情報提供装置の構成〕
以下、上記した情報提供装置10が有する機能構成の一例について説明する。
図2は、実施形態に係る情報提供装置の構成例を示す図である。
図2に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
【0052】
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、利用者端末100との間で情報の送受信を行う。
【0053】
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、エンティティデータベース31、関係情報データベース32、および分散表現データベース33を記憶する。
【0054】
以下、
図3〜5を用いて、各データベース31〜33に登録される情報の一例を説明する。エンティティデータベース31には、エンティティ、すなわち、トリプルに含まれる第1要素および第2要素に関する情報が登録される。例えば、
図3は、実施形態に係るエンティティデータベースに登録される情報の一例を示す図である。
図3に示すように、エンティティデータベース31には、「エンティティID」、「データ種別」および「データ」といった項目を有する情報が登録される。
【0055】
ここで、「エンティティID」とは、エンティティの識別子である。また、「データ種別」とは、対応付けられた「エンティティID」が示すエンティティと対応する情報の種別を示す情報である。また、「データ」とは、対応付けられた「エンティティID」が示すエンティティと対応する情報である。
【0056】
例えば、
図3に示す例では、エンティティID「S1」、データ種別「人名」、およびデータ「名前#1」が対応付けて登録されている。このような情報は、エンティティID「S1」が示すエンティティが、「人名」に対応するエンティティであり、その人名が「名前#1」である旨を示す。なお、
図3に示す例では、「名前#1」等といった概念的な値を記載したが、実際には、エンティティデータベース31には、対応付けられたエンティティと対応する人物の名前、写真、生年月日等を示す各種の情報がデータとして登録されることとなる。
【0057】
関係情報データベース32には、エンティティ間の関係情報、すなわち、トリプルに含まれる第1要素および第2要素の関係性を示す関係情報が登録される。例えば、
図4は、実施形態に係る関係情報データベースに登録される情報の一例を示す図である。
図4に示す例では、関係情報データベース32には、「関係情報ID」、「種別」、「第1要素」、および「第2要素」といった項目を有する情報が登録される。
【0058】
ここで、「関係情報ID」とは、関係情報を識別する識別子である。また、「種別」とは、「関係情報ID」が示す関係情報が、要素間のどのような関係を示しているかを示す情報である。また、「第1要素」および「第2要素」とは、対応付けられた「関係情報ID」が示す関係情報が関係性を示す第1要素および第2要素である。
【0059】
例えば、
図4に示す例では、関係情報ID「P1」、種別「配偶者」、第1要素「S1」、および第2要素「O1」が対応付けて登録されている。このような情報は、関係情報ID「P1」が示す関係情報が、第1要素「S1」および第2要素「O1」間の関係を示す情報であり、第2要素「O1」が第1要素「S1」の「配偶者」である旨を示す。すなわち、このような情報は、関係情報ID「P1」が示す関係情報と、第1要素「S1」および第2要素「O1」がトリプルを構成する旨を示す。
【0060】
分散表現データベース33には、各エンティティや関係情報の分散表現が登録される。例えば、
図5は、実施形態に係る分散表現データベースに登録される情報の一例を示す図である。
図5に示すように、分散表現データベース33には、「要素ID/関係情報ID」および「分散表現」といった項目が登録される。「要素ID/関係情報ID」とは、分散表現と対応するエンティティIDまたは関係情報IDである。また、「分散表現」とは、対応付けられた「要素ID/関係情報ID」が示すエンティティまたは関係情報の分散表現である。
【0061】
例えば、
図5に示す例では、分散表現データベース33には、要素ID/関係情報ID「S1」および分散表現「分散表現#1」が対応付けて登録されている。このような情報は、要素ID/関係情報ID「S1」が示す要素の分散表現が、分散表現「分散表現#1」である旨を示す。なお、
図5に示す例では「分散表現#1」といった概念的な値を記載したが、実際には、分散表現データベース33には、分散表現である多次元量が登録されることとなる。
【0062】
図2に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0063】
図2に示すように、制御部40は、算出部41、抽出部42、決定部43、選択部44、生成部45、および検索部46を有する。算出部41は、トリプルに含まれる第2要素同士の類似度を示す確度を算出する。より具体的には、算出部41は、第2要素同士の意味的な類似度を示す確度を算出する。例えば、算出部41は、関係情報データベース32を参照し、第2要素として登録されているエンティティを特定する。また、算出部41は、特定したエンティティと対応するデータの種別やデータをエンティティデータベース31から特定するとともに、特定したエンティティとともにトリプルに含まれる関係情報を関係情報データベース31から特定する。
【0064】
そして、算出部41は、エンティティと対応するデータの種別の同一性や類似性、特定したエンティティとともにトリプルに含まれる関係情報の種別の同一性や類似性等に基づいて、各第2要素同士の意味的な類似度を示す確度を算出する。なお、算出部41は、抽出部42によって正解トリプルとして選択されたトリプルに含まれる第2要素と他の第2要素との確度を算出してもよい。
【0065】
抽出部42は、所定のトリプルに含まれる第1要素と関係情報とを抽出する。例えば、抽出部42は、関係情報データベース32を参照し、トリプルの中から処理対象となるトリプルを正解トリプルとして1つ選択する。そして、抽出部42は、選択した正解トリプルに含まれる第1要素のエンティティと関係情報とを特定する。すなわち、抽出部42は、第1要素として、正解トリプルに主語と対応する情報として含まれるエンティティを抽出し、関係情報として、正解トリプルに述語と対応する情報として含まれる要素を抽出する。
【0066】
決定部43は、不正解データとなる第2要素の選択元を限定するか否かを確率的に決定する。例えば、決定部43は、抽出部42が正解トリプルを選択する度に、不正解データとなる第2要素の選択元を限定するか否かを確率的に決定する。なお、決定部43は、学習処理が継続して行われた場合は、分散表現データベース33を参照し、分散表現の精度を算出する。そして、決定部43は、分散表現の精度が所定の条件を満たす場合は、選択元を限定するか否かを確率的に決定し、分散表現の精度が所定の条件を満たさない場合は、選択元を限定しないと決定してもよい。例えば、決定部43は、分散表現の精度の上昇率が所定の期間だけ変化しない場合は、選択元を限定するか否かを確率的に決定してもよい。なお、決定部43は、例えば、4割以下の確率で、第2要素の選択元を限定する旨を決定してよい。
【0067】
選択部44は、第2要素の選択元を限定しないと決定した場合は、任意のトリプルに含まれる第2要素のうち正解トリプルに含まれない第2要素を不正解データとして選択する。また、選択部44は、第2要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第2要素のうち正解トリプルに含まれない第2要素であって、所定の分野に属する第2要素を選択する。より具体的には、選択部44は、不正解データとなる第2要素として、トリプルに述語と対応する情報として含まれる要素を選択する。
【0068】
例えば、選択部44は、第2要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第2要素のうち、正解トリプルに含まれる第2要素と同一または類似する分野に属する第2要素であって、正解トリプルに含まれない第2要素を選択する。また、選択部44は、選択元を限定すると決定した場合は、正解トリプルの含まれる関係情報と同じ関係情報を含む任意のトリプルに含まれる第2要素のうち、正解トリプルに含まれない第2要素を選択する。
【0069】
より具体的な例を挙げると、選択部44は、決定部43が不正解データとなる第2要素の選択元を限定しないと決定した場合には、関係情報データベース32を参照し、正解トリプルに含まれる第2要素以外の第2要素の中から、ランダムに不正解データとなる第2要素を選択する。一方、選択部44は、決定部43が不正解データとなる第2要素の選択元を限定すると決定した場合には、算出部41が算出した確度を用いて、正解トリプルに含まれる第2要素、すなわち、正解データとなる第2要素との間の確度が所定の範囲内となる他の第2要素を特定する。そして、選択部44は、特定した第2要素の中から、ランダムに不正解データとなる第2要素を選択する。
【0070】
なお、選択部44は、学習処理が継続して行われた場合は、分散表現データベース33を参照し、分散表現の精度を算出する。そして、選択部44は、分散表現の精度が上昇するにつれて、正解データとなる第2要素が属する分野とより類似する分野に属する第2要素を不正解データとして選択してもよい。例えば、選択部44は、分散表現の精度が上昇するにつれて、正解データとなる第2要素との間の確度がより高い値となる第2要素の中から、不正解データとなる第2要素を選択してもよい。また、選択部44は、属する第2要素の数が他の分野よりも少ない分野に属する第2要素を選択してもよい。
【0071】
ここで、
図6は、実施形態に係る情報提供装置が不正解データとして選択する第2要素の一例を示す図である。なお、
図6には、各第2要素「O1」〜「O5」が属する分野とともに、各分野に属する第2要素の数(データ量)の一例について記載した。
【0072】
図6に示す例では、第2要素「O1」は、関係情報「P1」とともに、同一のトリプルに含まれている。また、第2要素「O2」は、他の第2要素「O1」、「O3」、「O4」と種別が異なるエンティティであり、関係情報「P1」と同一の関係情報を含むトリプルに含まれていないものとする。また、第2要素「O3」、「O5」は、第2要素「O1」と同一種別のエンティティであり、関係情報「P1」と同一の関係情報を含むトリプルに含まれているものとする。また、第2要素「O4」は、関係情報「P1」と類似する他の関係情報「P2」とともにトリプルに含まれているものとする。
【0073】
このような場合、抽出部42は、第1要素「S」と、関係情報「P1」と、第2要素「O1」とを含むトリプルを正解トリプルCTとして選択する。そして、選択部44は、正解トリプルCTに含まれる第2要素「O1」を正解データCS1として選択する。
【0074】
続いて、選択部44は、決定部43が選択元を限定しない旨を決定した場合は、全カテゴリCAに属する第2要素「O1」〜「O5」のうち、正解トリプルCTに含まれない第2要素「O2」〜「O5」の中から、ランダムに1つの第2要素を不正解データとして選択する。例えば、選択部44は、第2要素「O2」を不正解データNS1として選択する。
【0075】
一方、選択部44は、決定部43が選択元を限定する旨を決定した場合は、所定の分野として、正解データとして選択した第2要素「O1」と同一または類似する分野の他の第2要素を特定する。例えば、選択部44は、正解トリプルCTと同様に、関係情報「P1」を含むトリプルに含まれている第2要素「O3」、「O5」を特定する。
【0076】
ここで、選択部44は、第2要素「O3」および「O5」が属する分野のデータ量をそれぞれ計数する。
図6に示す例では、第2要素「O3」が属するカテゴリCXのデータ量は、第2要素「O5」が属するカテゴリCZのデータ量よりも少ない。そこで、選択部44は、よりデータ量が少ない分野に属する第2要素「O3」を不正解データNS2として選択する。
【0077】
なお、選択部44は、正解トリプルの関係情報「P1」と類似する関係情報「P2」を含むトリプルから第2要素を選択することで、選択対象となるトリプルを拡張してもよい。例えば、選択部44は、正解トリプルの関係情報「P1」と類似する関係情報「P2」を含むトリプルを特定し、特定したトリプルに含まれる第2要素「O4」を不正解データNS3として選択してもよい。
【0078】
図2に戻り、説明を続ける。生成部45は、抽出した第1要素の分散表現と関係情報の分散表現との和と、選択された第2要素の分散表現とが類似しないように、各分散表現を生成する。例えば、生成部45は、正解トリプルに含まれる第1要素の分散表現と、正解トリプルに含まれる関係情報の分散表現との和が、正解データである第2要素の分散表現となり、正解トリプルに含まれる第1要素の分散表現と、正解トリプルに含まれる関係情報の分散表現との和が、不正解データである第2要素の分散表現とは異なるように、各要素および関係情報の分散表現を生成する。そして、生成部45は、生成した分散表現を分散表現データベース33に登録する。
【0079】
なお、分散表現を生成する際の具体的な手法については、ネガティブサンプリングを用いた分散表現の生成手法であれば、任意の手法が適用可能であるものとする。
【0080】
検索部46は、分散表現を用いた検索処理を実行する。例えば、検索部46は、利用者端末100から検索クエリとして第1要素と関係情報とを受付ける。このような場合、検索部46は、分散表現データベース33を参照し、検索クエリとして受付けた第1要素の分散表現と関係情報の分散表現とを特定する。そして、検索部46は、特定した分散表現の和を算出し、算出した和と分散表現空間上における距離が最も近い分散表現を分散表現データベース33から特定する。そして、検索部46は、特定した分散表現と対応するエンティティのデータをエンティティデータベース31から読出し、読み出したデータを利用者端末100へと送信する。
【0081】
なお、検索部46は、エンティティデータベース31や分散表現データベース33に登録されていない第1要素や関係情報を検索クエリとして受付けた場合は、検索クエリとして受付けた第1要素と最も類似する他の第1要素や、検索クエリとして受付けた関係情報と最も類似する他の関係情報を検索し、検索した第1要素の分散表現および関係情報の分散表現を用いて、対応する第2要素を検索すればよい。
【0082】
〔3.情報提供装置が実行する処理の流れの一例〕
続いて、
図7を用いて、情報提供装置10が実行する生成処理の流れについて説明する。
図7は、実施形態に係る情報提供装置が実行する生成処理の流れの一例を示すフローチャートである。なお、情報提供装置10は、
図7に示す処理を、任意の単位で、任意のタイミングにより実行可能である。
【0083】
まず、情報提供装置10は、正解トリプルから第1要素と関係情報とを抽出し、正解トリプルの第2要素を正解データとする(ステップS101)。続いて、情報提供装置10は、不正解データの選択元を限定するか否かを確率的に決定する(ステップS102)。そして、情報提供装置10は、限定しないと決定した場合は(ステップS103:No)、所定のトリプル以外のトリプルの第2要素から不正解データをランダムに選択する(ステップS104)。一方、情報提供装置10は、限定すると決定した場合は(ステップS103:Yes)、確度に応じた所定の分野に属する第2要素から不正解データを選択する(ステップS105)。
【0084】
そして、情報提供装置10は、正解データ、不正解データ、抽出した第1要素および関係情報を用いて、正解ペアと不正解ペアとを生成し(ステップS106)、正解ペアと不正解ペアとを用いて分散表現を学習し(ステップS107)、処理を終了する。
【0085】
〔4.変形例〕
上記では、情報提供装置10による生成処理や検索処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する生成処理や検索処理のバリエーションについて説明する。
【0086】
〔4−1.エンティティの種別について〕
上述した例では、情報提供装置10は、人物と人物の名前とを関連付けたトリプルについて説明した。しかしながら、実施形態は、これに限定されるものではない。すなわち、情報提供装置10は、任意の事象を示すエンティティが関連づけられたトリプルについて、上述した生成処理を実行することで、分散表現の生成を行ってよい。
【0087】
〔4−2.装置構成〕
記憶部30に登録された各データベース31〜33は、外部のストレージサーバに保持されていてもよい。また、情報提供装置10は、検索処理を実現するフロントエンドサーバと、生成処理を実現するバックエンドサーバとで実現されてもよい。このような場合、フロントエンドサーバには、
図2に示す検索部46が配置され、バックエンドサーバには、算出部41、抽出部42、決定部43、選択部44、および生成部45が配置される。
【0088】
〔4−3.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0089】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0090】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0091】
〔4−4.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば
図8に示すような構成のコンピュータ1000によって実現される。
図8は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0092】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
【0093】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0094】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0095】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0096】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0097】
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
【0098】
〔5.効果〕
上述したように、情報提供装置10は、正解トリプルに含まれる第1要素と関係情報とを抽出する。また、情報提供装置10は、不正解データとなる第2要素の選択元を限定するか否かを確率的に決定する。そして、情報提供装置10は、決定結果に基づいて、任意のトリプルに含まれる第2要素のうち所定のトリプルに含まれない第2要素を少なくとも選択し、抽出した第1要素の分散表現と関係情報の分散表現との和と、選択された第2要素の分散表現とが類似しないように、各分散表現を生成する。
【0099】
例えば、情報提供装置10は、不正解データとなる第2要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第2要素のうち正解トリプルに含まれない第2要素であって、所定の分野に属する第2要素を選択する。より具体的な例を挙げると、情報提供装置10は、不正解データとなる第2要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第2要素のうち、正解トリプルに含まれる第2要素と同一または類似する分野に属する第2要素であって、正解トリプルに含まれない第2要素を不正解データとして選択する。一方、情報提供装置10は、不正解データとなる第2要素の選択元を限定しないと決定した場合は、任意のトリプルに含まれる第2要素のうち正解トリプルに含まれない第2要素を不正解データとして選択する。
【0100】
このように、情報提供装置10は、確率的に所定の分野に属する不正解データを用いて分散表現を学習する。この結果、情報提供装置10は、正解データとなる第2要素と類似する第2要素を不正解データとして分散表現の学習を行うことができる。この結果、情報提供装置10は、生成する分散表現の精度を向上させることができる。
【0101】
また、情報提供装置10は、分散表現の精度が所定の条件を満たす場合は、選択元を限定するか否かを確率的に決定し、分散表現の精度が所定の条件を満たさない場合は、選択元を限定しないと決定する。例えば、情報提供装置10は、分散表現の精度の上昇率が所定の期間だけ変化しない場合は、選択元を限定するか否かを確率的に決定する。また、例えば、情報提供装置10は、分散表現の精度が所定の閾値を超えた場合は、選択元を限定するか否かを確率的に決定する。このため、情報提供装置10は、分散表現の学習において、初期の段階においては従来と同様の学習処理を実行し、従来の学習で達成可能と推定される精度を超えた場合や、従来の学習では精度が上がらなくなった場合に、確率的に所定分野の不正解データを選択することで、精度をより向上させる学習を行う。この結果、情報提供装置10は、より効率的な学習を実現することができる。
【0102】
また、情報提供装置10は、トリプルに含まれる第2要素同士の類似度を示す確度を算出する。そして、情報提供装置10は、不正解データとなる第2要素の選択元を限定すると決定した場合は、任意のトリプルに含まれる第2要素のうち正解トリプルに含まれない第2要素であって、正解トリプルに含まれる第2要素との間の確度が所定の範囲に含まれる第2要素を不正解データとして選択する。このため、情報提供装置10は、例えば、正解データとなる第2要素と類似する第2要素を不正解データとすることができるので、生成する分散表現の精度を向上させることができる。
【0103】
また、情報提供装置10は、第2要素同士の意味的な類似度を示す確度を算出する。このため、情報提供装置10は、意味的な類似性を分散表現空間上に落とし込むことができるので、例えば、セマンティックな検索処理を実現することができる。
【0104】
また、情報提供装置10は、所定の分野に属する第2要素として、分散表現の精度が上昇するにつれて正解トリプルに含まれる第2要素が属する分野とより類似する分野に属する第2要素を不正解データとして選択する。このため、情報提供装置10は、学習を進めるにつれて、細かな類似性を分散表現に反映させていくので、分散表現の精度を改善するとともに、効率的な分散表現の生成を実現できる。
【0105】
また、情報提供装置10は、属する第2要素の数が他の分野よりも少ない分野に属する第2要素を不正解データとして選択する。このため、情報提供装置10は、第2要素が属する分野に偏りが存在する場合にも、分散表現の精度の悪化を防ぐことができる。
【0106】
また、情報提供装置10は、第1要素として、トリプルに主語と対応する情報として含まれる要素を抽出し、関係情報として、トリプルに述語と対応する情報として含まれる要素を抽出する。そして、情報提供装置10は、第2要素として、トリプルに目的と対応する情報として含まれる要素を選択する。このため、情報提供装置10は、RDF等、S、P、Oに対応する情報からなるトリプルから分散表現を生成することができる。
【0107】
また、情報提供装置10は、4割以下の確率で、第2要素の選択元を限定する旨を決定する。このため、情報提供装置10は、生成する分散表現の精度を向上させることができる。
【0108】
また、情報提供装置10は、第2要素の選択元を限定すると決定した場合は、正解トリプルの関係情報を含む任意のトリプルに含まれる第2要素のうち正解トリプルに含まれない第2要素を選択する。この結果、情報提供装置10は、不正解データの選択範囲を拡張することができるので、データ量が少ない場合にも、分散表現の精度の悪化を防ぐことができる。
【0109】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0110】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、決定部は、決定手段や決定回路に読み替えることができる。