(57)【要約】【課題】有用なナレッジデータベースを提供すること。【解決手段】本願に係る決定装置は、ネットワーク上のコンテンツから、第１対象と第２対象と対象間の関係を示す関係情報とを含むトリプルの候補を取得する取得部と、前記取得部により取得された候補に対し、当該候補の取得元となるコンテンツと対応する取得元情報を紐付ける紐付部と、前記候補に対して紐付られた取得元情報に基づいて、登録対象とするトリプルを決定する決定部とを有することを特徴とする。【選択図】図１
2020190997.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上のコンテンツから、第１対象と第２対象と対象間の関係を示す関係情報とを含むトリプルの候補を取得する取得部と、
前記取得部により取得された候補に対し、当該候補の取得元となるコンテンツと対応する取得元情報を紐付ける紐付部と、
前記候補に対して紐付られた取得元情報に基づいて、登録対象とするトリプルを決定する決定部と
を有することを特徴とする決定装置。
【請求項２】
前記紐付部は、前記取得元情報として、前記コンテンツに対する信頼性を示す数値である信頼度を紐付ける
ことを特徴とする請求項１に記載の決定装置。
【請求項３】
前記紐付部は、前記取得元情報として、前記コンテンツのドメインに応じた信頼度を紐付ける
ことを特徴とする請求項２に記載の決定装置。
【請求項４】
前記決定部は、前記トリプルの候補に紐付られた信頼度が所定の条件を満たす場合は、当該トリプルの候補を登録対象とする
ことを特徴とする請求項２または３に記載の決定装置。
【請求項５】
前記決定部は、それぞれ異なるコンテンツから取得された複数の候補であって、前記第１対象と、前記第２対象と、前記関係情報とが一致する複数の候補のそれぞれと紐付られた信頼度が所定の条件を満たす場合は、当該第１対象と、当該第２対象と、当該関係情報とを含むトリプルを登録対象とする
ことを特徴とする請求項２〜４のうちいずれか１つに記載の決定装置。
【請求項６】
前記決定部は、前記第１対象と、前記第２対象と、前記関係情報とが一致する複数の候補に紐付られた信頼度の荷重和が所定の閾値を超える場合は、当該第１対象と、当該第２対象と、当該関係情報とを含むトリプルを登録対象とする
ことを特徴とする請求項５に記載の決定装置。
【請求項７】
前記決定部は、各候補の取得元となるコンテンツ同士の関連性に応じた重みを用いて、前記第１対象と、前記第２対象と、前記関係情報とが一致する複数の候補に紐付られた信頼度の荷重和を算出する
ことを特徴とする請求項６に記載の決定装置。
【請求項８】
前記取得部は、前記ネットワーク上のコンテンツとして、対象間の関係性があらかじめ定義されている構造化データ、若しくは、データの属性が設定された半構造化データから、前記トリプルの候補を取得する
ことを特徴とする請求項１〜７のうちいずれか１つに記載の決定装置。
【請求項９】
前記紐付部は、前記構造化データから取得したトリプルの候補に対し、所定の閾値よりも高い値の信頼度を紐付け、前記半構造化データから取得したトリプルの候補に対し、前記所定の閾値よりも低い値の信頼度を紐付ける
ことを特徴とする請求項８に記載の決定装置。
【請求項１０】
異なるコンテンツから取得されたトリプルの候補が、同一の第１対象を示す第１要素と、同一の第２対象を示す第２要素と、同一の関係を示す関係情報とを含むか否かを判定する判定部
を有し、
前記決定部は、同一の第１対象を示す第１要素と、同一の第２対象を示す第２要素と、同一の関係を示す関係情報とを含むと判定された複数のトリプルの候補に紐付られた取得元情報に基づいて、当該候補を登録対象とするか否かを決定する
ことを特徴とする請求項１〜９のうちいずれか１つに記載の決定装置。
【請求項１１】
前記決定部は、前記取得元情報が所定の条件を満たす場合は、前記第１対象を示す第１要素と、前記第２対象を示す第２要素と、前記関係を示す関係情報とを含むトリプルを登録対象とする
ことを特徴とする請求項１０に記載の決定装置。
【請求項１２】
前記決定部が登録対象としたトリプルと前記取得元情報とを対応付けてデータベースに登録する登録部
を有することを特徴とする請求項１〜１１のうちいずれか１つに記載の決定装置。
【請求項１３】
決定装置が実行する決定方法であって、
ネットワーク上のコンテンツから、第１対象と第２対象と対象間の関係を示す関係情報とを含むトリプルの候補を取得する取得工程と、
前記取得工程により取得された候補に対し、当該候補の取得元となるコンテンツと対応する取得元情報を紐付ける紐付工程と、
前記候補に対して紐付られた取得元情報に基づいて、登録対象とするトリプルを決定する決定工程と
を含むことを特徴とする決定方法。
【請求項１４】
ネットワーク上のコンテンツから、第１対象と第２対象と対象間の関係を示す関係情報とを含むトリプルの候補を取得する取得手順と、
前記取得手順により取得された候補に対し、当該候補の取得元となるコンテンツと対応する取得元情報を紐付ける紐付手順と、
前記候補に対して紐付られた取得元情報に基づいて、登録対象とするトリプルを決定する決定手順と
をコンピュータに実行させるための決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、決定装置、決定方法、および決定プログラムに関する。
【背景技術】
【０００２】
従来、人物や事象等の概念をエンティティとし、エンティティ間の関係性を構造化したナレッジベースと呼ばれる技術が知られている。また、このようなナレッジデータベースを効率的に作成するため、エンティティのクラスタリングを行い、クラスタリングの結果に基づいて、エンティティ間の関係性を更新する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６０８８０９１号公報
【非特許文献】
【０００４】
【非特許文献１】”On  Emerging  Entity  Detection”  Michael  Farber,  Achim  Rettinger,  Boulos  El  Asmar
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した技術では、有用なナレッジデータベースを提供しているとは言えない場合があった。
【０００６】
例えば、ナレッジデータベースにエンティティを登録する手法として、インターネット等のネットワーク上に投稿されたコンテンツから新たなエンティティと、エンティティ間の関係性を抽出し、抽出したエンティティと関係性とを登録する手法が考えられる。しかしながら、ネットワーク上のコンテンツを用いた場合、エンティティ間の関連性として誤った情報を登録してしまう恐れがある。
【０００７】
本願は、上記に鑑みてなされたものであって、有用なナレッジデータベースを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願に係る決定装置は、ネットワーク上のコンテンツから、第１対象と第２対象と対象間の関係を示す関係情報とを含むトリプルの候補を取得する取得部と、前記取得部により取得された候補に対し、当該候補の取得元となるコンテンツと対応する取得元情報を紐付ける紐付部と、前記候補に対して紐付られた取得元情報に基づいて、登録対象とするトリプルを決定する決定部とを有することを特徴とする。
【発明の効果】
【０００９】
実施形態の一態様によれば、有用なナレッジデータベースを生成することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る情報提供装置が実行する決定処理の一例を示す図である。
【図２】図２は、実施形態にかかる情報提供装置が実行する検索処理の一例を示す図である。
【図３】図３は、実施形態に係る情報提供装置が実行する処理の流れの一例を説明する図である。
【図４】図４は、実施形態に係る情報提供装置の構成例を示す図である。
【図５】図５は、実施形態に係るエンティティデータベースに登録される情報の一例を示す図である。
【図６】図６は、実施形態に係るトリプルデータベースに登録される情報の一例を示す図である。
【図７】図７は、実施形態に係る信頼度テーブルに登録される情報の一例を示す図である。
【図８】図８は、実施形態に係る情報提供装置が実行する決定処理の流れの一例を示すフローチャートである。
【図９】図９は、実施形態に係る情報提供装置が実行する検索処理の流れの一例を示すフローチャートである。
【図１０】図１０は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願に係る決定装置、決定方法、および決定プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る決定装置、決定方法、および決定プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１２】
〔１．情報提供装置について〕
まず、図１を用いて、決定装置の一例である情報提供装置１０が実行する処理の一例について説明する。図１は、実施形態に係る情報提供装置が実行する決定処理の一例を示す図である。図１では、情報提供装置１０が実行する処理として、知識を体系化、組織化した情報が登録されるナレッジデータベースに登録する新たなトリプルを決定する決定処理の一例について説明する。
【００１３】
〔１−１．情報提供装置の概要〕
情報提供装置１０は、インターネット等の所定のネットワークＮ（例えば、図４を参照。）を介して、データサーバ１００および端末装置２００と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置１０は、ネットワークＮを介して、任意の数のデータサーバ１００や端末装置２００と通信可能であってよい。
【００１４】
データサーバ１００は、各種の情報を管理する情報処理装置であり、例えば、サーバ装置やクラウドシステムにより実現される。例えば、データサーバ１００は、予め情報間の関係性が構造として定義され、このような構造を有するデータが登録されたウィキデータや既に構築済みのナレッジデータベース等の構造化データが登録されている。また、データサーバ１００は、ＨＴＭＬ(Hyper  Text  Markup  Language)やＸＭＬ（Extensible  Markup  Language）等のタグ言語等を用いて、各種のデータに対して属性を示す情報が付与された半構造化データが登録されている。
【００１５】
なお、データサーバ１００は、任意の内容の情報を含む構造化データや半構造化データを管理していてよい。例えば、データサーバ１００は、ウェブ検索、路線検索、電子商店街における取引対象の検索、地図検索、コンテンツ検索等、任意の検索における検索クエリのログ等を含むデータを管理してもよい。また、例えば、データサーバ１００は、ウェブサイト上に投稿されたニュース、ブログ、ＳＮＳ（Social  Networking  Service）等を管理していてもよい。また、データサーバ１００は、人物、物体、建築物、コンテンツ、事象等、各種の対象を説明する説明コンテンツの管理を行っていてもよい。また、例えば、データサーバ１００は、ウィキペディア（登録商標）やインターネットを介した辞書サービス等、ナレッジデータベースにおいてエンティティの対象となりえる各種の対象を説明するコンテンツである説明コンテンツの管理を行っていてもよい。
【００１６】
端末装置２００は、利用者が利用する端末装置であり、例えば、ＰＣ（Personal  Computer）やサーバ装置、各種のスマートデバイス等により実現される。例えば、端末装置２００は、利用者から各種の情報の入力を受付けると、情報提供装置１０と通信を行い、通信結果となる情報を出力する機能を有する。
【００１７】
このような構成の元、例えば、情報提供装置１０は、端末装置２００からの要求に基づいて、ナレッジデータベースに登録された各種情報の提供を行う。例えば、端末装置２００は、ナレッジデータベースの検索を行う際の検索クエリを情報提供装置１０に送信する。このような場合、情報提供装置１０は、検索クエリと対応する情報をナレッジデータベースから検索し、検索結果を利用者端末へと提供する。
【００１８】
〔１−２．ナレッジデータベースの概要〕
ここで、情報提供装置１０が検索するナレッジデータベースについて説明する。ナレッジデータベースには、各種の知識が体系化、組織化された状態で登録されている。例えば、ナレッジデータベースには、登録される２つのエンティティと、エンティティが示す対象間の関係性を示す情報（以下、「関係情報」と記載する。）との組であるトリプルが登録されている。
【００１９】
ここで、エンティティは、実世界における人物、物体、建築物等の主語となりうる各種の物、職業や国籍等といった属性、各種の状態や事象等、世の中における各種の物事に対応する情報である。なお、以下の説明では、エンティティに対応する各種の物事を「対象」と記載する場合がある。
【００２０】
また、関係情報は、２つのエンティティ間の関係性を示す情報である。より具体的には、関係情報は、第１エンティティが示す第１対象と、第２エンティティが示す第２対象との間の関係性を示す情報である。例えば、情報提供装置１０は、第１対象が人物であり、第２対象が書籍であり、第１対象が第２対象の著者である場合は、関係情報として「著者」や「ａｕｔｈｅｒ」といった情報の登録を受付けることとなる。
【００２１】
なお、情報提供装置１０が有するナレッジデータベースにおけるエンティティは、任意の物事や事象と対応していてよい。例えば、情報提供装置１０は、第１対象と第２対象が人物であり、第１対象が第２対象の親や伴侶であるといったトリプルを管理していてもよい。また、情報提供装置１０は、第１対象と第２対象とが食品であり、第１対象が第２対象の材料であるといったトリプルを管理してもよい。すなわち、情報提供装置１０は、任意の対象間における任意の関係性を示すトリプルを管理することで、対象間の関連性や事象を示す情報、すなわち、知識ベースを管理することとなる。
【００２２】
〔１−３．決定処理について〕
ここで、ナレッジデータベースに新たなトリプルを登録する処理を考える。このようなナレッジデータベースに新たなトリプルを登録するには、各対象を示す文字列のみならず、対象が他の対象とどのような関係を有するかを示す関係情報が必要となる。このようなトリプルを効率よくナレッジデータベースに追加するため、ニュース記事等、インターネット上に投稿されたコンテンツからトリプルを抽出するといった手法が考えられる。しかしながら、このようなインターネット上に投稿されたコンテンツには、誤った情報も含まれるため、必ずしも正しいトリプルを抽出することができるとは言えない場合がある。
【００２３】
そこで、情報提供装置１０は、以下の決定処理を実行する。まず、情報提供装置１０は、ネットワーク上のコンテンツから、第１対象と第２対象と対象間の関係を示す関係情報とを含むトリプルの候補を取得する。続いて、情報提供装置１０は、取得された候補に対し、候補の取得元となるコンテンツと対応する取得元情報を紐付ける。そして、情報提供装置１０は、各候補に対して紐付られた取得元情報に基づいて、候補の中から登録対象とするトリプルを決定する。
【００２４】
例えば、ウィキペディア等、複数の利用者によって内容の正確性が検証されるドメインのコンテンツから抽出されるトリプルは、個人のブログやＳＮＳ等のドメインに投稿されたコンテンツから抽出したトリプルよりも正確性が高いと推定される。そこで、情報提供装置１０は、各トリプルの候補の取得元となる取得元情報を各トリプルの候補に紐付けておく。そして、情報提供装置１０は、あるトリプルの候補に紐付られた取得元情報が信頼できる取得元を示す場合は、かかるトリプルの候補を登録対象とする。
【００２５】
ここで、個人のブログやＳＮＳ等に投稿されたコンテンツから抽出したトリプルであっても、多くのコンテンツに同一内容のトリプル、すなわち、同一の対象間における同一の関係性を示すトリプルが含まれる場合、かかるトリプルは、正しい情報を示していると推定される。そこで、情報提供装置１０は、同一内容のトリプルの候補であって、各トリプルに紐付られた取得元情報が所定の条件を満たす場合は、各トリプルの候補と同一内容のトリプルを登録対象とする。すなわち、情報提供装置１０は、各トリプルの候補に紐付られた取得元情報に基づいて、各トリプルの候補が示す内容の信頼性が所定の閾値を超えるか否かを判定し、信頼性が所定の閾値を超える場合は、各トリプルの候補が示す内容のトリプルを登録対象とする。
【００２６】
例えば、情報提供装置１０は、各トリプルの候補に対し、各トリプルの候補の取得元となるコンテンツの信頼性を示す数値である信頼度を紐付ける。より具体的な例を挙げると、情報提供装置１０は、各トリプルの候補の取得元となるドメインに応じた信頼度を紐付ける。すなわち、情報提供装置１０は、各トリプルの候補に対し、各トリプルの取得元に対応する情報である取得元情報として、取得元のドメインに応じた信頼度を紐付ける。
【００２７】
また、情報提供装置１０は、各トリプルの候補から、同一の対象間における同一の関係性を示す複数のトリプルの候補を特定する。例えば、情報提供装置１０は、各種正規化等の技術を用いて、同一の第１対象を示す第１エンティティ、同一の第２対象を示す第２エンティティ、および同一の関係性を示す関係性情報を含むトリプルの候補を特定する。
【００２８】
そして、情報提供装置１０は、特定したトリプルの候補に紐付られた信頼度が所定の条件を満たすか否かを判定し、信頼度が所定の条件を満たす場合は、特定したトリプルの候補と同一の対象間における同一の関係性を示すトリプルを登録候補とする。例えば、情報提供装置１０は、特定したトリプルの候補と紐付られた信頼度の合計が所定の閾値を超える場合は、特定したトリプルの候補と同一内容のトリプルを登録候補とする。なお、情報提供装置１０は、特定したトリプルの候補が１つだけであっても、信頼度が所定の閾値を超える場合は、かかるトリプルの候補を登録対象として決定してもよい。
【００２９】
このように、情報提供装置１０は、各トリプルの候補の取得元と対応する取得元情報を各トリプルの候補に対して紐付ける。そして、情報提供装置１０は、ある対象間のある関連性を示すトリプルの候補に紐付られた取得元情報が所定の条件を満たす場合は、かかるトリプルの候補、若しくは、かかるトリプルの候補と同一内容のトリプルをナレッジデータベースへの登録対象とする。このような処理の結果、情報提供装置１０は、内容の信頼性が高いトリプルをナレッジデータベースに登録することができるので、ナレッジデータベースの精度を向上させる結果、利用者に有用な情報を提供することができる。
【００３０】
なお、上述した例では、情報提供装置１０は、トリプルの候補に対して取得元のドメインに応じた信頼度を紐付けたが、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、取得元情報として、取得元のドメインをトリプルの候補に対して紐付けてもよい。このような場合、情報提供装置１０は、トリプルの候補に対して紐付られたドメインが、予め信頼性の高いドメインとして設定されたものであれば、このトリプルの候補を登録対象としてもよい。また、情報提供装置１０は、同一内容を示す複数のトリプルの候補に対して紐付られた各ドメインが、予め信頼性の低いドメインとして設定されたものであっても、同一内容を示すトリプルの候補の数が所定の閾値を超える場合、信頼性が担保されるものとして、係るトリプルの候補や同一内容のトリプルの候補を登録対象としてもよい。すなわち、情報提供装置１０は、トリプルの候補の取得元の信頼性に応じて、トリプルの候補のうち登録対象とするトリプルを決定するのであれば、任意の情報を取得元情報としてトリプルの候補に紐付けてよい。
【００３１】
〔１−４．決定処理について〕
以下、図１を用いて、情報提供装置１０が実行する処理の流れの一例について説明する。なお、以下の説明では、コンテンツから取得されたトリプルの候補を単に「トリプル」と記載し、登録対象となるトリプルを「登録トリプル」と記載する場合がある。また、以下の説明では、同一の第１対象を示す第１エンティティ、同一の第２対象を示す第２エンティティ、および同一の関係性を示す関係性情報を含む複数のトリプルを「同一トリプル」と記載する場合がある。
【００３２】
まず、情報提供装置１０は、データサーバ１００から、各種のコンテンツを収集する（ステップＳ１）。例えば、情報提供装置１０は、既に構築済みのナレッジデータベースや、投稿された各種のコンテンツを収集する。
【００３３】
続いて、情報提供装置１０は、各コンテンツからトリプルを取得する（ステップＳ２）。例えば、情報提供装置１０は、取得元のコンテンツが構築済みのナレッジデータベースである場合、ナレッジデータベースに登録されたトリプルを取得する。また、情報提供装置１０は、取得元のコンテンツがＳＮＳに投稿されたコンテンツやウィキペディアのコンテンツ等、テキストベースのコンテンツである場合、形態素解析や意図解析等を用いて、トリプルの抽出を行う。例えば、情報提供装置１０は、テキストに含まれる主語と述語と目的語とを抽出し、主語を第１エンティティ、目的語を第２エンティティ、述語を関係性情報とするトリプルを生成する。なお、このようなテキストからトリプルを生成する技術については、各種の公知技術が採用可能であるものとし、詳細な説明については、省略する。
【００３４】
例えば、図１に示す例では、情報提供装置１０は、ドメイン＃１に属するコンテンツ＃１−１から、エンティティ＃１−１Ａ、エンティティ＃１−１Ｂ、および関係情報＃１−１を含むトリプル＃１−１を取得する。また、情報提供装置１０は、ドメイン＃２に属するコンテンツ＃２−１から、エンティティ＃２−１Ａ、エンティティ＃２−１Ｂ、および関係情報＃２−１を含むトリプル＃２−１を取得する。情報提供装置１０は、ドメイン＃３に属するコンテンツ＃３−１から、エンティティ＃３−１Ａ、エンティティ＃３−１Ｂ、および関係情報＃３−１を含むトリプル＃３−１を取得する。なお、ドメイン＃１に含まれるコンテンツ＃１−１は、構造化データであり、ドメイン＃２に含まれるコンテンツ＃２−１およびドメイン＃３に含まれるコンテンツ＃３−１は、反構造化データであるものとする。
【００３５】
続いて、情報提供装置１０は、各トリプルに倒して取得元情報を紐付ける（ステップＳ３）。例えば、情報提供装置１０は、トリプル＃１−１に対してドメイン＃１を取得元情報として紐付け、トリプル＃２−１に対してドメイン＃２を取得元情報として紐付け、トリプル＃３−１に対してドメイン＃３を取得元情報として紐付ける。なお、情報提供装置１０は、ステップＳ３において、取得元情報として、各ドメイン＃１〜＃３に対応する信頼度を紐付けてもよい。
【００３６】
続いて、情報提供装置１０は、取得したトリプルから同一の関係性を示すトリプルを特定し、特定したトリプルに付与された取得元情報が示す取得元の信頼度の合計に基づいて、登録対象となる登録トリプルを決定する（ステップＳ４）。例えば、情報提供装置１０は、取得したトリプルの中から、エンティティ＃１−１Ａと同じ対象と示す文字列（例えば、エンティティ＃１−１Ａと同義語）を第１エンティティとし、エンティティ＃１−１Ｂとと同じ対象と示す文字列を第２エンティティとし、関係情報＃１−１と同じ関係性を示す文字列を関係情報とする他のトリプル、すなわち、同一トリプルを検索する。同様に、情報提供装置１０は、トリプル＃２−１との同一トリプルやトリプル＃３−１との同一トリプルを検索する。
【００３７】
例えば、情報提供装置１０は、エンティティ＃２−１Ａが示す対象とエンティティ＃３−１Ａが示す対象とが一致し、エンティティ＃２−１Ｂが示す対象とエンティティ＃３−１Ｂが示す対象とが一致し、関係情報＃２−１が示す関係性と関係情報＃３−１が示す関係性とが一致する場合、各エンティティや関係情報の文字列が異なるとしても、トリプル＃２−１とトリプル＃３−１が同一トリプルであると判定する。
【００３８】
より具体的な例を挙げて説明する。例えば、トリプル＃２−１に含まれるエンティティ＃２−１Ａが日本語表記の「シェイクスピア」であり、エンティティ＃２−２が日本語表記の「リア王」であり、関係情報＃１−１が日本語表記の「著者」であるものとする。また、トリプル＃３−１に含まれるエンティティ＃３−１Ａが日本語表記の「ウィリアム＝シェイクスピア」であり、エンティティ＃２−２が日本語表記の「リア王」であり、関係情報＃１−１が英語表記の「ａｕｔｈｅｒ」であるものとする。
【００３９】
このような場合、トリプル＃２−１に含まれるエンティティ「シェイクスピア」とトリプル＃３−１に含まれるエンティティ「ウィリアム＝シェイクスピア」とは、文字列が異なるが、同一の人物（所謂１６世紀における英国人であるシェイクスピア）を示していると認められる。また、トリプル＃２−１に含まれる関係情報「著者」とトリプル＃３−１に含まれる関係情報「ａｕｔｈｅｒ」とは、文字列が異なるが、同一の関係性（すなわち、第１エンティティが示す人物が第２エンティティが示す作品を著したという関係性）を示していると認められる。そこで、情報提供装置１０は、トリプル＃２−１とトリプル＃３−１とが、同一の関係性を示すトリプル、すなわち、同一トリプルであるものとする。
【００４０】
このように、情報提供装置１０は、異なるコンテンツから取得されたトリプルの候補が、同一の第１対象を示す第１エンティティと、同一の第２対象を示す第２エンティティと、同一の関係を示す関係情報とを含むか否かを判定し、同一の第１対象を示す第１エンティティと、同一の第２対象を示す第２エンティティと、同一の関係を示す関係情報とを含むと判定された複数のトリプルの候補に紐付られた取得元情報に基づいて、候補を登録対象とするか否かを決定することとなる。
【００４１】
なお、このような処理は、例えば、予め作成されたリストであって、同一の対象を示すエンティティの候補をまとめたリストを参照することにより実現可能である。また、例えば、情報提供装置１０は、連想記憶や同義語辞書、同義語同士を対応付けたナレッジデータベースを参照することにより、このような同一トリプルの検索を実現することができる。また、このような処理以外も、情報提供装置１０は、例えば、各種正規化の公知技術を用いて、同一トリプルの検索を行ってよい。
【００４２】
そして、情報提供装置１０は、各同一トリプルの取得元情報に基づいて、登録トリプルを決定する。例えば、情報提供装置１０は、トリプル＃１−１に同一トリプルが存在しない場合、トリプル＃１−１に紐付られた取引元情報「ドメイン＃１」を特定する。ここで、ドメイン＃１に登録されているコンテンツは、構造化データであるため、ある程度の信頼性が担保されていると考えらえる。そこで、情報提供装置１０は、ドメイン＃１に対して、所定の閾値（例えば、「５０」）よりも高い信頼度「８０」を付与する。
【００４３】
また、例えば、情報提供装置１０は、同一トリプルであるトリプル＃２−１とトリプル＃３−１に紐付られた取引元情報「ドメイン＃２」および「ドメイン＃３」を特定する。ここで、ドメイン＃２およびドメイン＃３に登録されているコンテンツは、半構造化データであるため、内容の信頼性がドメイン＃１のコンテンツと比較して低いと考えられる。そこで、情報提供装置１０は、ドメイン＃２に対して、信頼度「５０」を付与し、ドメイン＃３に対して、信頼度「３０」を付与する。なお、どのドメインのコンテンツに対してどのような信頼度を付与するかについては、予め任意の設定が可能であるが、例えば、情報提供装置１０は、構造化データのコンテンツに対して半構造化データのコンテンツよりも高い信頼度を付し、複数の利用者により内容が精査されるドメインのコンテンツに対して、単一の利用者の行動により投稿が可能なドメインのコンテンツよりも高い信頼度を付してもよい。
【００４４】
そして、情報提供装置１０は、各同一トリプルの信頼度の合計が所定の値（例えば、「８０」）を超えるか否かを判定し、超えた場合には、同一トリプルのいずれか、若しくは、これら同一トリプルと同一内容のトリプルを登録トリプルとする。例えば、情報提供装置１０は、トリプル＃１−１の信頼度が「８０」であるので、エンティティ＃１−１Ａをエンティテイ＃１Ａとし、エンティティ＃１−１Ｂをエンティテイ＃１Ｂとし、関係情報＃１−１を関係情報＃１とするトリプルを登録トリプル＃１とする。すなわち、情報提供装置１０は、トリプル＃１−１を登録トリプル＃１とする。
【００４５】
一方、情報提供装置１０は、トリプル＃２−１の信頼度「５０」とトリプル＃３−１の信頼度「３０」との合計が「８０」となるので、トリプル＃２−１およびトリプル＃３−１の内容と同一内容のトリプルを登録トリプル＃２とする。例えば、情報提供装置１０は、エンティティ＃２−１Ａやエンティティ＃３−１Ａと同一の対象を示すエンティティ＃２Ａ、エンティティ＃２−１Ｂやエンティティ＃３−１Ｂと同一の対象を示すエンティティ＃２Ｂ、および関係情報＃２−１や関係情報＃３−１と同一の関係性を示す関係情報＃２を含むトリプルを登録トリプル＃２とする。すなわち、情報提供装置１０は、最終的に生成するナレッジデータベースにおけるルールに従って、同一トリプルの内容を正規化したトリプルを生成し、生成したトリプルを登録トリプルとする。
【００４６】
例えば、トリプル＃２−１やトリプル＃３−１が上述した文字列を含む場合、情報提供装置１０は、エンティティ＃２Ａとして日本語表記の「ウィリアム＝シェイクスピア」を含み、エンティテイィ＃２Ｂとして日本語表記の「リア王」を含み、関係情報＃２として日本語表記の「著者」を含むトリプルを登録トリプル＃２とする。
【００４７】
そして、情報提供装置１０は、各登録トリプル＃１、＃２に対し、取得元と対応する取得元情報を付与して、ナレッジデータベースに登録する。例えば、情報提供装置１０は、登録トリプル＃１に対し、登録トリプル＃１の元となったトリプル＃１−１の取得元情報「ドメイン＃１」を紐付けてナレッジデータベースに登録する。また、情報提供装置１０は、登録トリプル＃２に対し、元となったトリプル＃２−１の取得元情報「ドメイン＃２」およびトリプル＃３−１の取得元情報「ドメイン＃３」を紐付けてナレッジデータベースに登録する。
【００４８】
また、情報提供装置１０は、端末装置２００から検索クエリを受付ける（ステップＳ５）。このような場合、情報提供装置１０は、検索クエリと対応する情報をナレッジデータベースから検索し、検索結果を端末装置２００へと提供する（ステップＳ６）。この際、情報提供装置１０は、各登録トリプルに紐付けた取得元情報を用いて、検索対象とするトリプルやエンティティ、関係情報の絞り込みを行うこととなる。
【００４９】
〔１−５．検索処理について〕
続いて、図２を用いて、情報提供装置１０が実行する検索処理について説明する。図２は、実施形態にかかる情報提供装置が実行する検索処理の一例を示す図である。なお、かかる検索処理は、図１に示すステップＳ５およびステップＳ６に対応する。また、図２に示す例では、図１のステップＳ４に示すように、ナレッジデータベース内のトリプルに対して取得元を示す取得元情報が紐付けられているものとする。
【００５０】
例えば、情報提供装置１０は、第１の利用者が利用する端末装置２０１から検索クエリを受付ける（ステップＳ１）。より具体的には、情報提供装置１０は、検索クエリと、検索対象となるドメインの指定とを受付ける。このような場合、情報提供装置１０は、指定されたドメインが紐付られたトリプルを用いて、検索クエリに対応する情報の検索を行う（ステップＳ２）。
【００５１】
例えば、図２に示す例では、エンティティ＃１とエンティティ＃２とを含む登録トリプル＃１に対し、ドメイン＃１が紐付けられており、エンティティ＃１とエンティティ＃３とを含む登録トリプル＃２にドメイン＃２、＃３が紐付けられており、エンティティ＃１とエンティティ＃４とを含む登録トリプル＃３に、ドメイン＃１、＃２が紐付けられているものとする。ここで、情報提供装置１０は、第１の利用者から検索クエリとして「エンティティ＃１」と検索対象「ドメイン＃１」とを受付けていた場合、登録トリプル＃１〜＃３のうち、「ドメイン＃１」が紐付られた登録トリプル＃１、＃３から、「エンティティ＃１」と所定の関連性を有する他のエンティティ（例えば、エンティティ＃２やエンティティ＃４等）を検索する。そして、情報提供装置１０は、検索結果を端末装置２０１に送信する。
【００５２】
一方、情報提供装置１０は、例えば、第２の利用者が利用する端末装置２０２から検索クエリ「エンティティ＃１」と検索対象「ドメイン＃２」とを受付けていた場合、登録トリプル＃１〜＃３のうち、「ドメイン＃２」が紐付られた登録トリプル＃２、＃３から、「エンティティ＃１」と所定の関連性を有する他のエンティティ（例えば、エンティティ＃３やエンティティ＃４等）を検索する。そして、情報提供装置１０は、検索結果を端末装置２０２に送信する。
【００５３】
すなわち、情報提供装置１０は、取得元情報をトリプルに紐付けることで、ナレッジデータベースを取得元ごとに多重化する。より具体的には、情報提供装置１０は、取得元となるドメインをトリプルに紐付けることで、ドメインごとに多重化したナレッジデータベース、すなわち、マルチドメインナレッジデータベースを生成する。そして、情報提供装置１０は、利用者から受付けた検索クエリと対応する情報を、指定された取得元と対応する取得元情報が対応付けられたトリプルを用いて検索する。
【００５４】
なお、図２に示す例では、情報提供装置１０は、取引元情報として、トリプルの取得元となるドメインを紐付けたが、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、各トリプルに対して信頼度を紐付けてもよい。より具体的には、情報提供装置１０は、登録トリプル＃１に対して、ドメイン＃１と対応する信頼度「８０」を付与し、登録トリプル＃２に対して、ドメイン＃２と対応する信頼度「５０」とドメイン＃３と対応する信頼度「３０」との合計である信頼度「８０」を付与し、登録トリプル＃３に対して、ドメイン＃１と対応する信頼度「８０」とドメイン＃２と対応する信頼度「５０」との合計である信頼度「１３０」を付与する。
【００５５】
そして、情報提供装置１０は、例えば、利用者から指定された信頼度が「８０」である場合、信頼度が「８０」以上となる登録トリプル＃１、＃３を検索対象とし、利用者から指定された信頼度が「１００」である場合、信頼度が「１００」以上となる登録トリプル＃３を検索対象としてもよい。また、例えば、情報提供装置１０は、各トリプルに対して、取得元となるドメインを紐付けて登録しておき、利用者から信頼度の指定を受付けた場合は、各トリプルのうち、紐付られたドメインと対応する信頼度の和が指定された信頼度を超えるトリプルを検索対象としてもよい。
【００５６】
〔１−６．信頼度の合計手法について〕
上述した例では、情報提供装置１０は、トリプルの取得元に応じた信頼度の和が所定の閾値を超えるか否かに応じて、登録トリプルを決定した。ここで、情報提供装置１０は、各種の重みづけを考慮した信頼度の値が所定の閾値を超えるか否かに応じて、登録トリプルを検索してもよい。
【００５７】
例えば、情報提供装置１０は、同一トリプルに紐付られた信頼度の荷重和が所定の閾値を超える場合は、これら同一トリプルと同じ関係性を有するトリプルを登録トリプルとしてもよい。なおこのような重みは、例えば、任意の情報に応じて調整可能であってよい。例えば、情報提供装置１０は、トリプルの抽出元となるコンテンツの登録時期が古いほど、他の利用者からの評価が高い程、若しくは閲覧回数が多いほど、より大きい重みを設定してもよい。また、情報提供装置１０は、トリプルの抽出元となるコンテンツの登録時期が新しい程、他の利用者からの評価が低いほど、若しくは、閲覧回数が低いほど、より小さい重みを設定してもよい。また、情報提供装置１０は、トリプルに含まれる各エンティティの文字列や関係情報の文字列と、基準となる辞書情報に登録された文字列との一致度が高ければ高いほど、より大きい重みを設定してもよい。
【００５８】
また、例えば、各ドメインに対する信頼度は、絶対的に決定されるもの以外にも、相対的に決定されるものが存在すると考えられる。そこで、情報提供装置１０は、各トリプルの取得元となるコンテンツ同士の関連性に応じた重みを用いて、同一トリプルに紐付られた信頼度の荷重和を算出してもよい。例えば、情報提供装置１０は、ドメイン＃４よりもドメイン＃５の方が、相対的に信頼度が高い場合、ドメイン＃４から取得したトリプルよりも、ドメイン＃５から取得したトリプルに対してより高い値の信頼度や重みを付与して、信頼度の合計を算出してもよい。また、例えば、情報提供装置１０は、ドメイン＃５よりおドメイン＃６の方が、相対的に信頼度が高い場合、ドメイン＃５から取得したトリプルよりも、ドメイン＃６から取得したトリプルに対してより高い値の信頼度や重みを付与して、信頼度の合計を算出してもよい。すなわち、情報提供装置１０は、同一トリプルの取得元となる各ドメイン間の相対的な信頼性に応じて、各同一トリプルの信頼度の合計を算出する際の重みを変動させてもよい。
【００５９】
また、情報提供装置１０は、構造化データから取得したトリプルに対し、所定の閾値よりも高い値の信頼度を紐付け、半構造化データから取得したトリプルに対し、所定の閾値よりも低い値の信頼度を紐付けてもよい。すなわち、情報提供装置１０は、構造化データから取得したトリプルに対し、半構造化データから取得したトリプルよりも高い値の信頼度を紐付けてもよい。
【００６０】
また、情報提供装置１０は、取得元のドメインと、取得したトリプルに含まれる関係情報が示す関係とに応じた信頼度をトリプルに紐付けてもよい。例えば、情報提供装置１０は、書籍に関する情報の信頼性が高い第１ドメインから取得したトリプルに含まれる関係情報が「著者」等、書籍との関連性が高い関係を示す場合は、比較的高い値の信頼性をトリプルに紐付けし、第１ドメインから取得したトリプルに含まれる関係情報が「所在地」等、書籍との関連性が低い関係を示す場合は、比較的低い値の信頼性をトリプルに紐付けしてもよい。
【００６１】
〔１−７．具体的な処理の一例について〕
上述した例では、情報提供装置１０は、コンテンツから取得したトリプルに対して取得元情報を紐付けし、トリプルに紐付られた取得元情報に基づいて、登録トリプルの決定を行った。ここで、情報提供装置１０は、上述した処理以外にも、各種の処理を実行することで、ナレッジデータベースの精度を向上させてもよい。
【００６２】
例えば、上述したように、ウェブ上には、同一対象間における同一の関係性を異なる言葉で表現したコンテンツが含まれる場合がある。そこで、情報提供装置１０は、各種の正規化を行うことで、各エンティティとエンティティが示す対象とのマッピングを行ってもよい。また、情報提供装置１０は、ナレッジデータベースの多様性を担保するため、構造化データのみならず、半構造化データからもトリプルを取得するが、このように半構造化データからトリプルを取得するために必要な機能（例えば、どのタグが付された情報からトリプルを抽出するか等）を有していてもよい。また、情報提供装置１０は、人手で入力された情報を参考に用いることで、ナレッジデータベースの精度をさらに向上させてもよい。
【００６３】
以下、図３を用いて、情報提供装置１０がナレッジデータベースを生成する処理の具体例について説明する。図３は、実施形態に係る情報提供装置が実行する処理の流れの一例を説明する図である。図３に示すように、情報提供装置１０は、システムＳで示される一連の処理を実行することで、構造化データや被構造化データからナレッジデータベースを生成する。
【００６４】
例えば、情報提供装置１０が実行するシステムＳには、ＩｍｐｏｒｔｅｒＳ１、Ｉｎｆｏｒｍａｔｉｏｎ  ＥｘｔｒａｃｔｏｒＳ２、Ａｔｔｒｉｂｕｔｅ  ＣｏｎｖｅｒｔｅｒＳ３、Ｅｎｔｉｔｉｙ  ＭａｔｃｈｅｒＳ４、Ｅｎｔｉｔｉｙ  ＣｏｎｎｅｃｔｏｒＳ５、Ｉｄ  ＡｓｓｉｇｎｅｒＳ６、Ａｄｄｉｔｉｏｎａｌ  Ｄａｔａ  ＣｏｍｂｉｎｅｒＳ７、Ｅｎｔｉｔｙ  ＭｅｒｇｅｒＳ８、Ｏｂｊｅｃｔ  ＣｏｎｖｅｒｔｅｒＳ９、Ａｔｔｒｉｂｕｔｅ  ＣｏｍｐｌｅｔｅｒＳ１０、ＶａｌｉｄａｔｏｒＳ１１、およびＥｘｐｏｒｔｅｒＳ１２（以下、「各処理Ｓ１〜Ｓ１２」と総称する場合がある。）といった処理が含まれる。なお、システムＳは、各処理Ｓ１〜Ｓ１２を実行する機能構成を含むハードウェアであってもよく、ニューラルネットワーク等の各種モデルであってもよい。
【００６５】
以下、各処理Ｓ１〜Ｓ１２における処理の一例を説明する。ＩｍｐｏｒｔｅｒＳ１は、様々なスキーマのデータから、最終的に作成するナレッジデータベースのスキーマに合致するようにエンティティとして取り込む。例えば、ＩｍｐｏｒｔｅｒＳ１は、既にエンティティ間の関係性が設定されているような構造化データから、トリプルを抽出し、抽出したトリプルに対して、取得元情報を付与したデータを生成する。
【００６６】
例えば、ＩｍｐｏｒｔｅｒＳ１は、構造化データのトリプルに含まれる関係情報が、どのような関係性を示しているかを特定し、最終的に生成するナレッジデータベースにおいて、特定した関係性を示す関係情報を特定する。例えば、ＩｍｐｏｒｔｅｒＳ１は、主語を示す第１エンティティ、目的語を示す第２エンティティ、および述語を示す関係性情報として含むトリプルを特定する。なお、各エンティティや関係性情報は、同一の対象や関係性を示すものであっても、それぞれ文字列が異なる場合がある。この結果、ＩｍｐｏｒｔｅｒＳ１は、実世界において同一の対象間における同一の関係性を示すトリプルとして、エンティティや関係性情報の文字列が異なる複数のトリプルを特定することとなる。また、ＩｍｐｏｒｔｅｒＳ１は、取得したトリプルに対して取得元情報を紐付けるとともに、各トリプルに対して一意な仮ＩＤを付与する。
【００６７】
Ｉｎｆｏｒｍａｔｉｏｎ  ＥｘｔｒａｃｔｏｒＳ２は、ウェブ文章等の半構造化データからトリプルを取得する。例えば、Ｉｎｆｏｒｍａｔｉｏｎ  ＥｘｔｒａｃｔｏｒＳ２は、タグの解析や形態素解析等の技術を用いて、半構造化データからトリプルを取得する。また、Ｉｎｆｏｒｍａｔｉｏｎ  ＥｘｔｒａｃｔｏｒＳ２は、ナレッジデータベースに登録済みのエンティティと、取得したトリプルに含まれるエンティティとを比較し、同一の対象を示すエンティティ同士の紐付けを行う。
【００６８】
Ａｔｔｒｉｂｕｔｅ  ＣｏｎｖｅｒｔｅｒＳ３は、入力データのクラスをナレッジデータベースのクラスに変換する。例えば、Ａｔｔｒｉｂｕｔｅ  ＣｏｎｖｅｒｔｅｒＳ３は、トリプルの取得元となる構造化データにおいて各エンティティに付与されたクラス（すなわち、エンティティが示す対象の属性を示す情報）と、ナレッジデータベースにおける各エンティティのクラスとを対応付けたマッピング情報を参照し、取得したトリプルに含まれる各エンティティのクラスをナレッジデータベースのクラスに変換する。例えば、Ａｔｔｒｉｂｕｔｅ  ＣｏｎｖｅｒｔｅｒＳ３は、同一の対象を示すエンティティの文字列を正規化するとともに、同一の関係性を示す関係性情報の正規化を行う。例えば、Ａｔｔｒｉｂｕｔｅ  ＣｏｎｖｅｒｔｅｒＳ３は、英語表記の関係情報「ａｕｔｅｒ」を日本語表記の関係情報「著者」に変換したトリプルを取得する。
【００６９】
Ｅｎｔｉｔｙ  ＭａｔｃｈｅｒＳ４は、同じ対象を示すエンティティをマッチングし、同一エンティティのグループを生成する。例えば、Ｅｎｔｉｔｙ  ＭａｔｃｈｅｒＳ４は、各トリプルに含まれるエンティティを比較し、同一対象の同一関係を示すと推定されるエンティティを特定する。そして、Ｅｎｔｉｔｙ  ＭａｔｃｈｅｒＳ４は、特定したエンティティに対して、グループＩＤを付与する。なお、Ｅｎｔｉｔｙ  ＭａｔｃｈｅｒＳ４は、各エンティティのクラス（属性）について矛盾がないように同一トリプルの特定を行ってもよい。また、Ｅｎｔｉｔｙ  ＭａｔｃｈｅｒＳ４は、属性について矛盾がないエンティティ同士を紐付けた場合に、エンティティ同士を結ぶグラフ構造においてクリーク構造を満たすエンティティを同一のエンティティと見做してもよい。
【００７０】
Ｅｎｔｉｔｙ  ＣｏｎｎｅｃｔｏｒＳ５は、クラスが異なるが互いに関連するエンティティのグループ同士を紐付ける。すなわち、Ｅｎｔｉｔｙ  ＣｏｎｎｅｃｔｏｒＳ５は、クラスが異なるが、互いに同一の対象を示すと推定されるエンティティのグループ同士の紐付けを行う。
【００７１】
Ｉｄ  ＡｓｓｉｇｎｅｒＳ６は、各エンティティのグループに対し、最終的なナレッジデータベースにおいてエンティティに付与されるＩＤ（Identifier）を紐付ける。例えば、Ｉｄ  ＡｓｓｉｇｎｅｒＳ６は、登録済みのエンティティのうち、グループ化されたエンティティと同一の対象を示すエンティティを特定し、特定したエンティティに付与されたＩＤをグループ化されたエンティティに対して付与する。
【００７２】
Ａｄｄｉｔｉｏｎａｌ  Ｄａｔａ  ＣｏｍｂｉｎｅｒＳ７は、人手によりＩｄ  ＡｓｓｉｇｎｅｒＳ６によって付与されたＩＤの修正を反映させる。また、Ａｄｄｉｔｉｏｎａｌ  Ｄａｔａ  ＣｏｍｂｉｎｅｒＳ７は、Ｉｎｆｏｒｍａｔｉｏｎ  ＥｘｔｒａｃｔｏｒＳ２により取得されたエンティティに対し、同一対象を示す登録済みのエンティティに付与されたＩＤを紐付ける。
【００７３】
Ｅｎｔｉｔｙ  ＭｅｒｇｅｒＳ８は、同一の対象を示す複数のエンティティ、すなわち、同一エンティティを１つのエンティティに統合する。この際、Ｅｎｔｉｔｙ  ＭｅｒｇｅｒＳ８は、エンティティに紐付られた取得元情報に応じた信頼度の足し合わせや荷重和の算出を行う。
【００７４】
Ｏｂｊｅｃｔ  ＣｏｎｖｅｒｔｅｒＳ９は、トリプルに含まれるエンティティのうち、目的語となるエンティティと同一の対象を示す登録済みエンティティのＩＤとを紐付ける。
【００７５】
Ａｔｔｒｉｂｕｔｅ  ＣｏｍｐｌｅｔｅｒＳ１０は、エンティティに新たな情報の追加を行う。例えば、Ａｔｔｒｉｂｕｔｅ  ＣｏｍｐｌｅｔｅｒＳ１０は、予め設定されたオントロジに基づいて、情報の追加を行う。また、Ａｔｔｒｉｂｕｔｅ  ＣｏｍｐｌｅｔｅｒＳ１０は、オントロジに基づいて、欠損しているトリプルの発見や追加を行ってもよい。なお、このようなトリプルの発見や追加や、ルールベース、機械学習等、任意の手法により実現可能である。
【００７６】
ＶａｌｉｄａｔｏｒＳ１１は、取得元情報に基づいて、信頼度が低いトリプルの削除や修正を行う。例えば、ＶａｌｉｄａｔｏｒＳ１１は、Ｅｎｔｉｔｙ  ＭｅｒｇｅｒＳ８によって算出された信頼度の和が所定の閾値を超える場合にのみ、登録トリプルとする。なお、ＶａｌｉｄａｔｏｒＳ１１は、あらかじめ人手で設定されたブラックリストと一致するトリプルについては、信頼度によらず、登録対象から除外してもよい。
【００７７】
ＥｘｐｏｒｔｅｒＳ１２は、信頼度が所定の閾値を超えるトリプルを所定のフォーマットでナレッジデータベースに登録する。なお、ＥｘｐｏｒｔｅｒＳ１２は、トリプルの各エンティティに付与された情報のうち、予め設定された情報以外の情報を削除してもよい。
【００７８】
〔２．情報提供装置の構成〕
以下、上記した情報提供装置１０が有する機能構成の一例について説明する。図４は、実施形態に係る情報提供装置の構成例を示す図である。図４に示すように、情報提供装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００７９】
通信部２０は、例えば、ＮＩＣ（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）」は、「手段」や「回路」などに読み替えることができる。例えば、付与部は、特定手段や特定回路に読み替えることができる。
【符号の説明】
【０１２４】
１０  情報提供装置
２０  通信部
３０  記憶部
３１  エンティティデータベース
３２  トリプルデータベース
３３  信頼度テーブル
４０  制御部
４１  取得部
４２  紐付部
４３  判定部
４４  決定部
４５  登録部
４６  検索部
１００  データサーバ
２００、２０１、２０２  端末装置
【図１】
2020190997.tif 000003
【図２】
2020190997.tif 000004
【図３】
2020190997.tif 000005
【図４】
2020190997.tif 000006
【図５】
2020190997.tif 000007
【図６】
2020190997.tif 000008
【図７】
2020190997.tif 000009
【図８】
2020190997.tif 000010
【図９】
2020190997.tif 000011
【図１０】
2020190997.tif 000012