(57)【要約】【課題】利用者の意図に沿ったナレッジベースの検索を実現する。【解決手段】本願に係る付与装置は、第１要素と第２要素と要素間の関係を示す関係情報とを有する複数のトリプルを参照し、第１要素と第２要素とを抽出する抽出部と、第１要素を示す単語を含む文章から、第１要素の分散表現と第２要素の分散表現とをそれぞれ生成する生成部と、前記トリプルに対し、第１要素の分散表現と第２要素の分散表現との類似度に応じたスコアを付与する付与部とを有することを特徴とする。【選択図】図１
2018151800.tif 000002
【特許請求の範囲】
【請求項１】
第１要素と第２要素と要素間の関係を示す関係情報とを有する複数のトリプルを参照し、第１要素と第２要素とを抽出する抽出部と、
第１要素を示す単語を含む文章から、第１要素の分散表現と第２要素の分散表現とをそれぞれ生成する生成部と、
前記トリプルに対し、第１要素の分散表現と第２要素の分散表現との類似度に応じたスコアを付与する付与部と
を有することを特徴とする付与装置。
【請求項２】
前記生成部は、前記第１要素を示す単語を含む文章から当該第１要素の分散表現を生成し、所定の第２要素と共にトリプルに含まれる第１要素の分散表現から、当該所定の第２要素の分散表現を生成する
ことを特徴とする請求項１に記載の付与装置。
【請求項３】
前記生成部は、前記所定の第２要素とともにトリプルに含まれる第１要素の分散表現の平均値を算出し、算出した平均値を当該所定の第２要素の分散表現とする
ことを特徴とする請求項２に記載の付与装置。
【請求項４】
前記生成部は、前記所定の第２要素と共にトリプルに含まれる第１要素であって、他の第２要素と共にトリプルに含まれていない第１要素を特定し、特定した第１要素の分散表現の平均値を前記所定の第２要素の分散表現とする
ことを特徴とする請求項３に記載の付与装置。
【請求項５】
前記生成部は、前記所定の第２要素を含むトリプルを特定し、特定したトリプルに含まれる前記第１要素を示す単語と前記所定の第２要素を示す単語とが同一の文章中に出現する頻度に応じた重みづけを用いて、特定したトリプルに含まれる第１要素の分散表現の平均値を算出する
ことを特徴とする請求項３に記載の付与装置。
【請求項６】
前記生成部は、前記第１要素を示す単語を含む複数の文章において、当該単語と共に出現する他の単語の出現頻度に基づいて、当該第１要素の分散表現を生成する
ことを特徴とする請求項１〜５のうちいずれか１つに記載の付与装置。
【請求項７】
前記生成部は、文章中に含まれる単語のうち、前記第１要素を示す複数の単語を所定の単語に変換し、変換後の文章から、当該第１要素の分散表現を生成する
ことを特徴とする請求項１〜６のうちいずれか１つに記載の付与装置。
【請求項８】
前記第１要素のうち所定の種別に属する第１要素を特定し、特定した第１要素の分散表現の平均値である分散平均値を算出する算出部
を有し、
前記付与部は、所定のトリプルに含まれる第１要素の分散表現から前記分散平均値を減算した値と、当該所定のトリプルに含まれる第２要素の分散表現から前記分散平均値を減算した値との類似度に応じたスコアを算出し、算出したスコアを当該所定のトリプルに付与する
ことを特徴とする請求項１〜７のうちいずれか１つに記載の付与装置。
【請求項９】
前記付与部は、所定の第１要素を含む全てのトリプルについて前記類似度を算出し、算出した類似度の最低値と最大値との範囲に応じたスコアを各トリプルに付与する
ことを特徴とする請求項１〜８のうちいずれか１つに記載の付与装置。
【請求項１０】
前記付与部は、所定の第１要素を含むトリプルのうち、前記類似度が最も大きいトリプルに対し、所定の値のスコアを付与する
ことを特徴とする請求項９に記載の付与装置。
【請求項１１】
前記抽出部は、人物を示す第１要素と、当該人物の属性を示す第２要素と、当該属性の種別を示す関係情報とを有する複数のトリプルから、前記第１要素と前記第２要素とを抽出する
ことを特徴とする請求項１〜１０のうちいずれか１つに記載の付与装置。
【請求項１２】
前記抽出部は、前記人物の職業または国籍を示す第２要素を抽出する
ことを特徴とする請求項１１に記載の付与装置。
【請求項１３】
検索クエリとして第１要素と関係情報との組を受付けた場合は、当該第１要素と関係情報との組を含むトリプルのうち、付与されたスコアが所定の条件を満たすトリプルを検索する検索部
を有することを特徴とする請求項１〜１２のうちいずれか１つに記載の付与装置。
【請求項１４】
付与装置が実行する付与方法であって、
第１要素と第２要素と要素間の関係を示す関係情報とを有する複数のトリプルを参照し、第１要素と第２要素とを抽出する抽出工程と、
第１要素を示す単語を含む文章から、第１要素の分散表現と第２要素の分散表現とをそれぞれ生成する生成工程と、
前記トリプルに対し、第１要素の分散表現と第２要素の分散表現との類似度に応じたスコアを付与する付与工程と
を含むことを特徴とする付与方法。
【請求項１５】
第１要素と第２要素と要素間の関係を示す関係情報とを有する複数のトリプルを参照し、第１要素と第２要素とを抽出する抽出手順と、
第１要素を示す単語を含む文章から、第１要素の分散表現と第２要素の分散表現とをそれぞれ生成する生成手順と、
前記トリプルに対し、第１要素の分散表現と第２要素の分散表現との類似度に応じたスコアを付与する付与手順と
をコンピュータに実行させるための付与プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、付与装置、付与方法および付与プログラムに関する。
【背景技術】
【０００２】
従来、人物や事象等の概念をエンティティとし、エンティティ間の関係性を構造化したナレッジベースと呼ばれる技術が知られている。このようなナレッジベースにおいては、２つのエンティティと、２つのエンティティ間の関係性を示す情報とを有するトリプルが構成されることにより、エンティティをグラフ構造化している。このようなトリプルの検索を行う場合に、類似度スコアに基づくエンティティのリストを生成することで、検索対象となるエンティティのリストを取得する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１７９５１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、利用者が意図しない検索結果を出力する恐れがある。
【０００５】
例えば、ナレッジデータベースを生成する場合は、実際に関係性がある概念がトリプルとして登録されるため、利用者が良く知っている関係性だけではなく、利用者があまり知らない関係性についてもトリプルとして登録が行われる。例えば、役者として有名な人物Ａが書籍を出版しているが作家としては有名ではないものとする。このような場合、ナレッジデータベースには、「人物Ａ」のエンティティと、「職業」という関係と、「役者」のエンティティとを含むトリプルが登録されるとともに、「人物Ａ」のエンティティと、「職業」という関係と、「作家」のエンティティとを含むトリプルが登録される。このため、従来技術では、利用者が「役者」としての「人物Ａ」を検索しているにも関わらず、「人物Ａ」が「作家」であるといった一見不適当な検索結果を出力する恐れがある。
【０００６】
本願は、上記に鑑みてなされたものであって、利用者の意図に沿ったナレッジベースの検索を実現することを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る付与装置は、第１要素と第２要素と要素間の関係を示す関係情報とを有する複数のトリプルを参照し、第１要素と第２要素とを抽出する抽出部と、第１要素を示す単語を含む文章から、第１要素の分散表現と第２要素の分散表現とをそれぞれ生成する生成部と、前記トリプルに対し、第１要素の分散表現と第２要素の分散表現との類似度に応じたスコアを付与する付与部とを有することを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、利用者の意図に沿ったナレッジベースの検索を実現できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。
【図２】図２は、実施形態に係る情報提供装置の構成例を示す図である。
【図３】図３は、実施形態に係るエンティティデータベースに登録される情報の一例を示す図である。
【図４】図４は、実施形態に係るトリプルデータベースに登録される情報の一例を示す図である。
【図５】図５は、実施形態に係る分散表現データベースに登録される情報の一例を示す図である。
【図６】図６は、実施形態に係るスコアデータベースに登録される情報の一例を示す図である。
【図７】図７は、実施形態に係る情報提供装置が生成する分散表現空間の一例を示す図である。
【図８】図８は、実施形態に係る情報提供装置が実行する付与処理の流れの一例を示すフローチャートである。
【図９】図９は、実施形態に係る情報提供装置が実行する検索処理の流れの一例を示すフローチャートである。
【図１０】図１０は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る付与装置、付与方法および付与プログラムを実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る付与装置、付与方法および付与プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【００１１】
［実施形態］
〔１．情報提供装置が提供する処理について〕
まず、図１を用いて、付与装置の一例となる情報提供装置が実行する付与処理の一例について説明する。図１は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。なお、以下の説明では、情報提供装置１０が実行する処理として、知識を体系化、組織化した情報が登録されるナレッジデータベースの検索を行う検索処理と、利用者の意図を検索処理に反映させるためのスコアをナレッジデータベースの情報に付与する付与処理とについて説明する。
【００１２】
〔１−１．情報提供装置の概要〕
情報提供装置１０は、インターネット等の所定のネットワークＮ（例えば、図２を参照。）を介して、利用者端末１００と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置１０は、ネットワークＮを介して、任意の数の利用者端末１００と通信可能であってよい。
【００１３】
利用者端末１００は、ナレッジデータベースの検索を要求する利用者が使用する情報処理装置であり、ＰＣ（Personal  Computer）、サーバ装置、スマートデバイスといった情報処理装置により実現される。例えば、利用者端末１００は、ナレッジデータベースの検索を行う際の検索クエリを情報提供装置１０に送信する。このような場合、情報提供装置１０は、検索クエリと対応する情報をナレッジデータベースから検索し、検索結果を利用者端末１００へと提供する。
【００１４】
ここで、情報提供装置１０が検索するナレッジデータベースについて説明する。ナレッジデータベースには、各種の知識が体系化、組織化された状態で登録されている。例えば、ナレッジデータベースには、登録される要素であるエンティティと、エンティティ間の関係性を示す情報（以下、「関係情報」と記載する。）とが登録されている。エンティティは、実世界における人物、物体、建築物等の主語となりうる各種の物、職業や国籍等といった属性、各種の状態や事象等、世の中における各種の物事に対応する情報である。また、関係情報は、２つのエンティティ間の関係性を示す情報である。
【００１５】
例えば、図１に示す例では、情報提供装置１０は、黒丸で示す複数のエンティティＥ１１〜Ｅ１４、Ｅ２１、Ｅ２２を記憶する。各エンティティには、エンティティに対応する物事の名称や写真等、エンティティに関する各種の情報と対応するノードが対応付けられている。
【００１６】
例えば、エンティティＥ１１が所定の人物＃Ａに対応するエンティティである場合、人物＃Ａの名前である「人名＃１」等がアイテムＩ１１１としてエンティティＥ１１と対応付けた状態で登録される。また、例えば、エンティティＥ２１が職業「俳優」と対応するエンティティである場合、職業名「俳優」といった情報がアイテムＩ２１１としてエンティティＥ２１と対応付けられた状態で登録される。すなわち、エンティティとは、各種物事の概念そのものと対応する情報であり、エンティティと対応付けられたノードが示す各種の情報によって示される概念と対応する情報である。
【００１７】
ここで、例えば、エンティティＥ１１とエンティティＥ２１とは、「職業」を示す関係情報Ｃ１によって関連付けられている。このような２つのエンティティとエンティティ間の関係性を示す関係情報とからなる３つ組の情報（以下、「トリプル」と記載する。）は、例えば、エンティティＥ１１と対応する人物＃Ａ（すなわち、名前が「人名＃１」である人物）の職業が、エンティティＥ２１が示す職業（すなわち職業名「俳優」）である旨を示すことができる。
【００１８】
このように、図１に示すナレッジデータベースにおいては、２つのエンティティとエンティティ間の関係性を示す関係情報とからなるトリプルと呼ばれる情報が登録されることにより、各種の知識が体系化されている。換言すると、ナレッジデータベースにおいては、主語（Ｓ）となるエンティティと、目的語（Ｏ）となるエンティティと、述語（Ｐ）となる関係情報とからなるトリプルによって、様々な知識が体系的に表されている。
【００１９】
このようなナレッジデータベースに登録された知識を検索する場合、情報提供装置１０は、以下の処理を実行する。まず、情報提供装置１０は、利用者端末１００から検索クエリとして主語と動詞を受付ける。このような場合、情報提供装置１０は、検索クエリとして受付けた主語と動詞とを含むトリプルを検索し、検索したトリプルを利用者端末１００に提供する。例えば、情報提供装置１０は、検索クエリとして、主語「人名＃１」と述語「職業」とを受付けた場合、主語「人名＃１」をノードとするエンティティＥ１１と、述語「職業」を示す関係情報Ｃ１とを特定し、特定した、エンティティＥ１１と、関係情報Ｃ１とを含むトリプルとして、エンティティＥ１１、エンティティＥ２１、および関係情報Ｃ１を特定する。そして、情報提供装置１０は、特定したトリプルの内容を出力する。例えば、情報提供装置１０は、名前が「人名＃１」である人物の職業が「俳優」である旨を検索結果として出力する。
【００２０】
なお、以下の説明では、人物に対応するエンティティＥ１１〜Ｅ１４と、職業に対応するエンティティＥ２１、Ｅ２２がナレッジデータベースに登録されている例について記載するが、実施形態は、これに限定されるものではない。以下に説明する付与処理や検索処理は、任意の物事や事象と対応するエンティティが登録されているナレッジデータベースに適用可能である。また、「エンティティ」や「関係情報」という名称は、以下に説明する付与処理や検索処理を限定するものではなく、ナレッジデータベースに登録される要素（すなわち、エンティティ）や、要素間の関係性を示す情報（すなわち、関係情報）であれば、任意の名称が採用されてよい。
【００２１】
〔１−２．付与処理について〕
ここで、ナレッジデータベースにおいては、１つのエンティティに対して、複数のエンティティが同一種別の関係情報によって対応付けられている場合がある。すなわち、ナレッジデーターベースには、同一のエンティティと、同一種別の関係情報とを含む複数のトリプルが登録されている場合がある。例えば、人物＃Ａが俳優でもあるが書籍を出版したこともある場合、人物＃ＡのエンティティＥ１１には、俳優に対応するエンティティＥ２１と、作家に対応するエンティティＥ２２とが、職業を示す関係情報Ｃ１、Ｃ２によって対応付けられることとなる。
【００２２】
このような状態において、従来技術では、検索クエリ「人物Ａ、職業」を受付けると、、人物Ａの職業として「俳優」のみならず、「作家」をも検索結果として出力する。しかしながら、人物Ａが「作家」としてあまり有名ではなかった場合、このような検索結果は利用者の検索意図を反映していないとも言える。
【００２３】
そこで、情報提供装置１０は、以下の付与処理を実行する。まず情報提供装置１０は、第１要素と第２要素と要素間の関係を示す関係情報とを有する複数のトリプルを参照し、第１要素と第２要素とを抽出する。すなわち、情報提供装置１０は、トリプルを構成する第１のエンティティと第２のエンティティとを抽出する。続いて、情報提供装置１０は、第１要素を示す単語を含む文章から、第１要素の分散表現と第２要素の分散表現とをそれぞれ生成する。そして、情報提供装置１０は、トリプルに対し、第１要素の分散表現と第２要素の分散表現との類似度に応じたスコアを付与する。
【００２４】
例えば、情報提供装置１０は、トリプルを構成する第１要素（例えば、人物と対応するエンティティ）を抽出し、抽出した第１要素に対応する単語（例えば、人名等）を含む複数の文章においてその単語とともに出現する他の単語の出現頻度に基づいて、抽出した第１要素の分散表現を生成する。より具体的な例を挙げると、情報提供装置１０は、ｗ２ｖ（word2vec）等、単語の概念（すなわち、エンティティと対応する概念）を示す分散表現を生成する周知の技術を用いて、トリプルを構成する主語のエンティティの分散表現を生成する。
【００２５】
続いて、情報提供装置１０は、判定対象となる第２要素を１つ選択し、選択した第２要素とともにトリプルに含まれる全ての第１要素の分散表現を収集する。そして、情報提供装置１０は、収集した分散表現から、選択した第２要素の分散表現を生成する。例えば、情報提供装置１０は、収集した分散表現の平均値を、選択した第２要素の分散表現とする。すなわち、情報提供装置１０は、所定の職業の人物を全て抽出し、抽出した人物の分散表現の平均値を、その所定の職業の分散表現とする。
【００２６】
そして、情報提供装置１０は、同一のトリプルに含まれる２つのエンティティの分散表現のコサイン類似度を算出し、算出したコサイン類似度の値に応じたスコアを算出する。例えば、情報提供装置１０は、算出したコサイン類似度の値が「１」に近づく程、大きな値のスコアを算出する。そして、情報提供装置１０は、算出したスコアをトリプルに付与する。
【００２７】
このようにしてトリプルに付与されたスコアは、トリプルに含まれるエンティティ同士の関係性の確度を示すこととなる。例えば、情報提供装置１０は、人物のエンティティの分散表現を一般的な文章を用いたｗ２ｖにより生成する。このような処理を行った場合、属性が類似する人物（すなわち、同じ職業の人物や同じ国籍の人物等）のエンティティの分散表現は、類似することとなる。この結果、人物のエンティティの分散表現には、職業や国籍等といった属性が暗に反映されることとなる。
【００２８】
そして、情報提供装置１０は、職業や国籍等といった属性のエンティティの分散表現を生成する際、その属性を有する人物のエンティティの分散表現の平均値を用いる。この結果、ある属性を有する人物のエンティティの分散表現と、その属性のエンティティの分散表現とは、類似することとなる。この結果、情報提供装置１０は、トリプルに含まれる人物のエンティティの分散表現と、属性のエンティティの分散表現との類似度を算出することで、トリプルが示す知識の確かさや有名さといった各種の確度を得ることができる。
【００２９】
その後、情報提供装置１０は、検索クエリとして第１要素と関係情報との組を受付けた場合は、第１要素と関係情報との組を含むトリプルのうち、付与されたスコアが所定の条件を満たすトリプルを検索する。例えば、情報提供装置１０は、スコアが最も高い値のトリプルを検索する。この結果、情報提供装置１０は、検索クエリに対応する知識のうち、確かさや有名さといった確度が最も高い知識、すなわち、利用者の検索意図を反映させた知識を検索結果として出力することができる。
【００３０】
〔１−３．付与処理の一例について〕
次に、図１を用いて、付与処理の一例について説明する。なお、図１に示す例では、エンティティＥ１１〜Ｅ１４は、人物と対応するエンティティであるものとする。また、図１に示す例では、ノードＩ１１１、Ｉ１２１、Ｉ１３１、Ｉ１４１は、エンティティＥ１１〜Ｅ１４に対応する人物の人名＃１〜＃４を示すものとする。また、図１に示す例では、エンティティＥ２１〜Ｅ２２は、職業を示すエンティティであるものとする。また、図１に示す例では、関係情報Ｃ１〜Ｃ５は、エンティティ間の関係として「職業」を示す情報であるものとする。また、以下の説明では、トリプルを構成する第１要素として、人物のエンティティが登録され、第２要素として、職業のエンティティが登録されている例について説明する。
【００３１】
まず、情報提供装置１０は、トリプルに含まれる人物のエンティティを示す分散表現を生成する（ステップＳ１）。例えば、情報提供装置１０は、エンティティＥ１１〜Ｅ１４をそれぞれ特定する。続いて、情報提供装置１０は、エンティティＥ１１〜Ｅ１４に紐付られたノードＩ１１１、Ｉ１２１、Ｉ１３１、Ｉ１４１を参照することで、エンティティＥ１１〜Ｅ１４と対応する人物の人名＃１〜＃４を特定する。そして、情報提供装置１０は、ｗ２ｖを用いて、人名＃１〜＃４の分散表現＃１１〜＃１４をそれぞれ生成する。
【００３２】
続いて、情報提供装置１０は、所定の職業に属する人物のエンティティの分散表現の平均値を、その所定の職業のエンティティの分散表現とする（ステップＳ２）。例えば、情報提供装置１０は、職業のエンティティＥ２１を選択する。このような場合、情報提供装置１０は、エンティティＥ２１と、エンティティ間の関係として「職業」を示す関係情報Ｃ１〜Ｃ５とともにトリプルを構成する人物のエンティティＥ１１、Ｅ１３、Ｅ１４を抽出する。すなわち、情報提供装置１０は、ナレッジデータベースにおいて、エンティティＥ２１と関係情報Ｃ１、Ｃ４、Ｃ５を介して関連付けられたエンティティＥ１１、Ｅ１３、Ｅ１４を抽出する。そして、情報提供装置１０は、エンティティＥ１１の分散表現＃１１、エンティティＥ１３の分散表現＃１３、およびエンティティＥ１４の分散表現＃１４の平均値を算出し、算出した平均値をエンティティＥ２１の分散表現＃２１とする。
【００３３】
そして、情報提供装置１０は、トリプルを構成するエンティティの分散表現の類似度に基づくスコアを算出する（ステップＳ３）。例えば、図１に示すナレッジデータベースにおいては、エンティティＥ１１、エンティティＥ２１、および関係情報Ｃ１を含むトリプル＃１が登録されている。このような場合、情報提供装置１０は、エンティティＥ１１の分散表現＃１１と、エンティティＥ２１の分散表現＃２１とのコサイン類似度を算出し、算出したコサイン類似度に基づくスコア＃１をトリプル＃１のスコアとして算出する。また、情報提供装置１０は、ナレッジデータベースに登録される全てのトリプルについて、同様の処理を行うことでスコアの算出を行う。
【００３４】
ここで、情報提供装置１０は、利用者端末１００から「人名＃１」および「職業」といった検索クエリを受けつけたものとする（ステップＳ４）。このような場合、情報提供装置１０は、検索クエリと対応するエンティティと関係情報とを特定する（ステップＳ５）。例えば、情報提供装置１０は、「人名＃１」と対応するエンティティＥ１１を特定するとともに、エンティティ間の関係として「職業」を示す関係情報Ｃ１〜Ｃ５を特定する。
【００３５】
そして、情報提供装置１０は、検索クエリと対応するトリプルのうち、スコアが高いトリプルを特定する（ステップＳ６）。例えば、情報提供装置１０は、特定したエンティティＥ１１と、各関係情報Ｃ１〜Ｃ５とを含むトリプルとして、エンティティＥ１１、エンティティＥ２１、および関係情報Ｃ１を含むトリプル＃１と、エンティティＥ１１、エンティティＥ２２、および関係情報Ｃ２を含むトリプル＃２とを特定する。このような場合、情報提供装置１０は、トリプル＃１のスコア＃１とトリプル＃２のスコア＃２とを比較し、スコアがより大きいトリプル、例えば、トリプル＃１を選択する。そして、情報提供装置１０は、選択したトリプル＃１を検索結果として、利用者端末１００へと出力する。
【００３６】
〔１−４．分散表現の生成について〕
上述した説明では、情報提供装置１０は、第１要素の分散表現をｗ２ｖで生成し、生成した第１要素の分散表現を用いて、第２要素の分散表現を生成した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、ある主語とその主語に関連性が高い目的語との分散表現が類似することが保証される手法により、単語を分散表現へと変換することができるのであれば、第２要素の分散表現についても、第１要素と同様に、ｗ２ｖで生成してもよい。また、例えば、情報提供装置１０は、バグオブワーズ等の各種文字解析技術を用いて、分散表現の生成を行ってもよい。また、情報提供装置１０は、ＴＦ−ＩＤＦ（Term  Frequency  -  Inverse  Document  Frequency）を用いて、分散表現の生成を行ってもよい。
【００３７】
また、情報提供装置１０は、第２要素の分散表現を生成する際に、生成元となる第１要素の限定を行ってもよい。例えば、ナレッジデータベースにおいては、１人の人物に対して主な職業だけではなく、副業や過去の職業等といった複数の職業が関連付けられる場合がある。このように複数の職業が関連付けられた人物と対応する分散表現には、例えば、第１の職業の概念以外にも、第２の職業の概念が含まれることとなる。このような人物の分散表現を用いて、第１の職業の分散表現を生成した場合、第２の職業の概念がノイズとして入り込む結果、トリプルに付与するスコアの精度が低下すると考えられる。
【００３８】
そこで、情報提供装置１０は、所定の第２要素と共にトリプルに含まれる第１要素であって、他の第２要素と共にトリプルに含まれていない第１要素を特定し、特定した第１要素の分散表現の平均値を所定の第２要素の分散表現としてもよい。例えば、情報提供装置１０は、ある職業のエンティティと関連付けられた人物のエンティティのうち、他の職業のエンティティとは関連付けられていないエンティティを抽出する。より具体的には、情報提供装置１０は、処理対象となる職業のエンティティとトリプルを構成する人物のエンティティのうち、処理対象となる職業以外の職業のエンティティとトリプルを構成していない人物のエンティティを抽出する。そして、情報提供装置１０は、抽出したエンティティの分散表現の平均値を算出し、算出した平均値を処理対象となる職業のエンティティの分散表現とする。この結果、情報提供装置１０は、第２要素の分散表現の生成精度を向上させることができる。
【００３９】
なお、情報提供装置１０は、より複雑な処理を実行してもよい。例えば、情報提供装置１０は、所定の第２要素を含むトリプルを特定し、特定したトリプルに含まれる第１要素を示す単語と所定の第２要素を示す単語とが同一の文章中に出現する頻度に応じた重みづけを用いて、特定したトリプルに含まれる第１要素の分散表現の平均値を算出してもよい。例えば、情報提供装置１０は、所定の職業のエンティティと関連付けられたすべての人物のエンティティを特定する。続いて、情報提供装置１０は、特定した人物のエンティティごとに、その人物を示す単語と、所定の職業を示す単語とが同一の文章中に出現する頻度に基づく係数を算出する。そして、情報提供装置１０は、特定した各人物のエンティティの分散表現に対し、そのエンティティに対応する係数を積算し、積算した値の平均値を算出してもよい。
【００４０】
また、情報提供装置１０は、分散表現が示す概念をより一般化することで、スコアの算出精度を向上させてもよい。例えば、情報提供装置１０は、第１要素のうち所定の種別に属する第１要素を特定し、特定した第１要素の分散表現の平均値である分散平均値を算出する。そして、情報提供装置１０は、所定のトリプルに含まれる第１要素の分散表現から分散平均値を減算した値と、所定のトリプルに含まれる第２要素の分散表現から分散平均値を減算した値との類似度に応じたスコアを算出し、算出したスコアを所定のトリプルに付与してもよい。
【００４１】
例えば、情報提供装置１０は、人物のエンティティを全て特定し、特定したエンティティの分散表現の平均値を算出することで、例えば、人類の概念を示す分散表現を分散平均値として算出する。続いて、情報提供装置１０は、処理対象となるトリプルを構成する人物のエンティティおよび職業のエンティティを抽出し、抽出した人物のエンティティの分散表現から分散平均値を減算した分散表現と、抽出した職業のエンティティから分散平均値を減算した分散表現とを生成する。そして、情報提供装置１０は、生成した分散表現同士の類似度に基づくスコアを算出する。このような処理の結果、情報提供装置１０は、各エンティティが示す概念のうち共通する概念の影響を軽減できるので、スコアの算出精度を向上させることができる。
【００４２】
なお、情報提供装置１０は、人物以外にも、任意の種別に分類されるエンティティの分散表現の平均値を分散平均値として良い。すなわち、情報提供装置１０は、スコアの算出に考慮したくない概念と対応する分類のエンティティを特定し、特定したエンティティの分散表現の平均値を分散平均値とすることで、スコアの算出に考慮したくない概念を示す分散平均値を算出してもよい。
【００４３】
〔１−５．正規化について〕
また、情報提供装置１０は、分散表現を生成する際に各種の正規化を行ってもよい。例えば、情報提供装置１０は、第１要素の分散表現を生成する際、文章中に含まれる単語のうち、第１要素を示す複数の単語を所定の単語に変換し、変換後の文章から、第１要素の分散表現を生成してもよい。例えば、情報提供装置１０は、ある人物を示す文字列として、複数種類の文字列が文章中に含まれている場合、各文字列をナレッジデータベースに登録されたその人物の人名に変換し、変換後の文章を用いて、その人物のエンティティを示す分散表現を生成してもよい。
【００４４】
また、情報提供装置１０は、正規化の際に、他のエンティティに対応する概念が欠損しないように、例えば、共参照解析といった各種の文字解析技術を採用してもよい。例えば、情報提供装置１０は、ある人物の名前が「ＡＢＣＤ」であり、その人物が議員である場合、「ＡＢ議員」といった単語を「ＡＢＣＤ」とはせず、「議員であるＡＢＣＤ」といった文字列に変換することで、その人物が議員であるという概念の欠損を防いでもよい。すなわち、情報提供装置１０は、エンティティと対応する分散表現が、そのエンティティの概念を相対的に精度良く示すことができるのであれば、任意の文字解析技術を用いた正規化を行ってよい。
【００４５】
〔１−６．スコアリングについて〕
ここで、情報提供装置１０は、トリプルを構成するエンティティの分散表現同士の類似度に基づいて、トリプルのスコアを算出するのであれば、任意の手法でスコアの算出を行ってよい。例えば、情報提供装置１０は、分散表現のコサイン類似度の値をそのままスコアとして採用してもよい。
【００４６】
また、情報提供装置１０は、スコアの正規化を行ってもよい。例えば、情報提供装置１０は、所定の第１要素を含む全てのトリプルについて類似度を算出し、算出した類似度の最低値と最大値との範囲に応じたスコアを各トリプルに付与してもよい。また、例えば、情報提供装置１０は、所定の第１要素を含むトリプルのうち、類似度が最も大きいトリプルに対し、所定の値のスコアを付与してもよい。
【００４７】
例えば、情報提供装置１０は、ある人物のエンティティを含むトリプルを全て特定し、特定したトリプルごとに、エンティティ同士の分散表現のコサイン類似度を算出する。そして、情報提供装置１０は、算出したコサイン類似度の値の分布、最大値、最小値、中央値、標準偏差等に応じて、算出した各コサイン類似度を所定の範囲（例えば０〜７）のスコアへと投影する。例えば、情報提供装置１０は、類似度が最も大きいトリプルに対してスコア「７」を付与し、類似度が最も小さいトリプルに対してスコア「０」を付与する。また、例えば、情報提供装置１０は、類似度が中央値に近いトリプルに対しては、スコア「３」や「４」を付与する。
【００４８】
なお、情報提供装置１０は、クラウドソーシングを用いて、不特定多数の利用者の印象を考慮したスコアリングを行ってもよい。例えば、情報提供装置１０は、トリプルを利用者に提供し、提供したトリプルの関係性の強弱に応じた所定の範囲のスコアを利用者から受付ける。そして、情報提供装置１０は、受付けたスコアを考慮して、トリプルに付与するスコアを算出してもよい。
【００４９】
また、情報提供装置１０は、トリプルを利用者に提供する際に、提供先となる人物の属性に応じて異なるトリプルを提示してもよい。また、情報提供装置１０は、利用者の属性とトリプルの内容とに応じた重みづけを考慮して、利用者から受付けたスコアの値を修正し、修正したスコアを用いて、トリプルのスコアリングを行ってもよい。例えば、情報提供装置１０は、提示されたトリプルと関係性が高い人物（例えば、トリプルが示す職業と同じ職業の人物等）が付与したスコアについては、他のスコアよりも優先的にトリプルに反映させてもよい。また、情報提供装置１０は、利用者の閲覧履歴に応じてトリプルに付与するスコアを変動させてもよい。また、情報提供装置１０は、利用者に応じてトリプルのコーパスを変化させてもよい。
【００５０】
〔１−７．要素について〕
上述した処理では、情報提供装置１０は、人物を示す第１要素と、その人物の職業を示す第２要素とを有するトリプルについて、スコアの付与を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、人物の職業のみならず、国籍や趣味等といったその人物の属性を示す任意のエンティティを第２要素としてもよい。すなわち、情報提供装置１０は、人物を示す第１要素と、その人物の属性を示す第２要素と、属性の種別を示す関係情報（例えば、「職業」、「国籍」、「趣味」等）とを有する複数のトリプルから、第１要素と第２要素とを抽出し、抽出した各要素の分散表現から、トリプルのスコアを算出してもよい。
【００５１】
また、情報提供装置１０は、人物以外にも、主語を示す任意のエンティティを第１要素とし、目的語を示す任意のエンティティを第２要素とし、上述した算出処理を実行することで、これら第１要素および第２要素を含むトリプルのスコアを算出してよい。また、情報提供装置１０は、例えば、目的語となるエンティティを第１要素とし、主語となるエンティティを第２要素としてもよい。すなわち、情報提供装置１０は、２つの要素と要素間の関係性を示す関係情報とからなるトリプルが登録されたナレッジデータベースにおいて、各要素の分散表現を生成し、生成した分散表現間の類似度に応じたスコアをトリプルに付与するのであれば、任意の種別のエンティティを各要素として採用して良い。
【００５２】
また、上述した分散平均値は、トリプルを構成する各要素の種別に応じた分類に基づく分散表現の平均値であってもよい。例えば、情報提供装置１０は、職業「議員」と対応付けられた人物のエンティティの分散表現の平均値を分散平均値としてもよい。すなわち、情報提供装置１０は、トリプルを構成する各エンティティが示す概念の種別や検索目的等に応じて、トリプルを構成するエンティティの分類を行い、分類結果に応じた分散平均値の値を算出してもよい。
【００５３】
〔１−８．スコアの利用態様について〕
また、情報提供装置１０は、スコアを検索以外の処理に用いてもよい。例えば、あるトリプルについて付与されたスコアが他のトリプルについて付与されたスコアよりも著しく低い場合や、所定の閾値よりも低い場合等は、そのトリプルが誤りである可能性がある。そこで、情報提供装置１０は、スコアを用いてトリプルが誤りであるか否かを判定することで、ナレッジデータベースの精査を行ってもよい。
【００５４】
例えば、ナレッジデータベースには「人物＃Ａ」の職業として「職業＃Ａ」が登録されているが、実際には、ナレッジデータベースに登録されていない「職業＃Ｂ」（例えば、既存の職業にカテゴライズされない新規な職業）が「人物＃Ａ」の職業としてよりふさわしいといった状況が予測される。このような場合、「人物＃Ａ」の職業が「職業＃Ａ」であるといったトリプルのスコアは、所定の閾値を下回る可能性がある。そこで、情報提供装置１０は、あるトリプルのスコアが所定の閾値を下回る場合は、新たな職業の登録を管理者に要請するといった処理を実行してもよい。
【００５５】
また、トリプルに付与されるスコアは、ナレッジデータベースの内容や、分散表現を生成する際に用いる文章に応じて変化すると考えられる。このようなナレッジデータベースの内容や、分散表現を生成する際の文章は、時間の経過とともに変化するため、トリプルに付与されるスコアも変化する。そこで、情報提供装置１０は、スコアの変遷に応じた各種の処理を実行してもよい。
【００５６】
例えば、マイクロブログの投稿やニュース記事等を用いて分散表現を生成した場合は、一般的な利用者の印象の変化がスコアに反映されると考えられる。そこで、情報提供装置１０は、例えば、スコアが急に上昇したトリプルについては、所謂バズワードに対応する知識を示すトリプルとして利用者に提供してもよい。また、情報提供装置１０は、スコアが急に上昇したトリプルについては、所謂虚偽の疑義がある情報として利用者に提供してもよい。
【００５７】
〔２．情報提供装置の構成〕
以下、上記した情報提供装置１０が有する機能構成の一例について説明する。図２は、実施形態に係る情報提供装置の構成例を示す図である。図２に示すように、情報提供装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００５８】
通信部２０は、例えば、ＮＩＣ（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）」は、「手段」や「回路」などに読み替えることができる。例えば、付与部は、付与手段や付与回路に読み替えることができる。
【符号の説明】
【０１１５】
１０  情報提供装置
２０  通信部
３０  記憶部
３１  エンティティデータベース
３２  トリプルデータベース
３３  分散表現データベース
３４  スコアデータベース
４０  制御部
４１  抽出部
４２  生成部
４３  算出部
４４  付与部
４５  検索部
１００  利用者端末
【図１】
2018151800.tif 000003
【図２】
2018151800.tif 000004
【図３】
2018151800.tif 000005
【図４】
2018151800.tif 000006
【図５】
2018151800.tif 000007
【図６】
2018151800.tif 000008
【図７】
2018151800.tif 000009
【図８】
2018151800.tif 000010
【図９】
2018151800.tif 000011
【図１０】
2018151800.tif 000012
【手続補正書】
【提出日】平成29年12月4日(2017.12.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１要素と第２要素と要素間の関係を示す関係情報とを有する複数のトリプルを参照し、所定の第２要素と、当該所定の第２要素とともにトリプルに含まれる複数の第１要素とを抽出する抽出部と、
抽出された各第１要素を示す単語を含む文章から、各第１要素の分散表現を生成し、生成された各第１要素の分散表現から、前記所定の第２要素の分散表現を生成する生成部と、
前記所定の第２要素を含むトリプルに対し、当該トリプルに含まれる第１要素の分散表現と前記所定の第２要素の分散表現との類似度に応じたスコアを付与する付与部と
を有することを特徴とする付与装置。
【請求項２】
前記生成部は、前記所定の第２要素とともにトリプルに含まれる第１要素の分散表現の平均値を算出し、算出した平均値を当該所定の第２要素の分散表現とする
ことを特徴とする請求項１に記載の付与装置。
【請求項３】
前記生成部は、前記所定の第２要素と共にトリプルに含まれる第１要素であって、他の第２要素と共にトリプルに含まれていない第１要素を特定し、特定した第１要素の分散表現の平均値を前記所定の第２要素の分散表現とする
ことを特徴とする請求項２に記載の付与装置。
【請求項４】
前記生成部は、前記所定の第２要素を含むトリプルを特定し、特定したトリプルに含まれる前記第１要素を示す単語と前記所定の第２要素を示す単語とが同一の文章中に出現する頻度に応じた重みづけを用いて、特定したトリプルに含まれる第１要素の分散表現の平均値を算出する
ことを特徴とする請求項２に記載の付与装置。
【請求項５】
前記生成部は、前記第１要素を示す単語を含む複数の文章において、当該単語と共に出現する他の単語の出現頻度に基づいて、当該第１要素の分散表現を生成する
ことを特徴とする請求項１〜４のうちいずれか１つに記載の付与装置。
【請求項６】
前記生成部は、文章中に含まれる単語のうち、前記第１要素を示す複数の単語を所定の単語に変換し、変換後の文章から、当該第１要素の分散表現を生成する
ことを特徴とする請求項１〜５のうちいずれか１つに記載の付与装置。
【請求項７】
前記第１要素のうち所定の種別に属する第１要素を特定し、特定した第１要素の分散表現の平均値である分散平均値を算出する算出部
を有し、
前記付与部は、所定のトリプルに含まれる第１要素の分散表現から前記分散平均値を減算した値と、当該所定のトリプルに含まれる第２要素の分散表現から前記分散平均値を減算した値との類似度に応じたスコアを算出し、算出したスコアを当該所定のトリプルに付与する
ことを特徴とする請求項１〜６のうちいずれか１つに記載の付与装置。
【請求項８】
前記付与部は、所定の第１要素を含む全てのトリプルについて前記類似度を算出し、算出した類似度の最低値と最大値との範囲に応じたスコアを各トリプルに付与する
ことを特徴とする請求項１〜７のうちいずれか１つに記載の付与装置。
【請求項９】
前記付与部は、所定の第１要素を含むトリプルのうち、前記類似度が最も大きいトリプルに対し、所定の値のスコアを付与する
ことを特徴とする請求項８に記載の付与装置。
【請求項１０】
前記抽出部は、人物を示す第１要素と、当該人物の属性を示す第２要素と、当該属性の種別を示す関係情報とを有する複数のトリプルから、前記第１要素と前記第２要素とを抽出する
ことを特徴とする請求項１〜９のうちいずれか１つに記載の付与装置。
【請求項１１】
前記抽出部は、前記人物の職業または国籍を示す第２要素を抽出する
ことを特徴とする請求項１０に記載の付与装置。
【請求項１２】
検索クエリとして第１要素と関係情報との組を受付けた場合は、当該第１要素と関係情報との組を含むトリプルのうち、付与されたスコアが所定の条件を満たすトリプルを検索する検索部
を有することを特徴とする請求項１〜１１のうちいずれか１つに記載の付与装置。
【請求項１３】
付与装置が実行する付与方法であって、
第１要素と第２要素と要素間の関係を示す関係情報とを有する複数のトリプルを参照し、所定の第２要素と、当該所定の第２要素とともにトリプルに含まれる複数の第１要素とを抽出する抽出工程と、
抽出された各第１要素を示す単語を含む文章から、各第１要素の分散表現を生成し、生成された各第１要素の分散表現から、前記所定の第２要素の分散表現を生成する生成工程と、
前記所定の第２要素を含むトリプルに対し、当該トリプルに含まれる第１要素の分散表現と前記所定の第２要素の分散表現との類似度に応じたスコアを付与する付与工程と
を含むことを特徴とする付与方法。
【請求項１４】
第１要素と第２要素と要素間の関係を示す関係情報とを有する複数のトリプルを参照し、所定の第２要素と、当該所定の第２要素とともにトリプルに含まれる複数の第１要素とを抽出する抽出手順と、
抽出された各第１要素を示す単語を含む文章から、各第１要素の分散表現を生成し、生成された各第１要素の分散表現から、前記所定の第２要素の分散表現を生成する生成手順と、
前記所定の第２要素を含むトリプルに対し、当該トリプルに含まれる第１要素の分散表現と前記所定の第２要素の分散表現との類似度に応じたスコアを付与する付与手順と
をコンピュータに実行させるための付与プログラム。