(57)【要約】【課題】トリプル情報を適切に分類し効率的な利用を可能にする。【解決手段】本願に係る情報処理装置は、取得部と、選択部とを有する。取得部は、３種類の要素に関する関係を示す複数の第１トリプル情報における概念体系に基づいて階層化された複数の第２トリプル情報と、複数の第２トリプル情報の各々に対応する第１トリプル情報の数を示す統計的情報とを取得する。選択部は、取得部により取得された統計的情報と、統計的情報に関する所定の基準とに基づいて、複数の第２トリプル情報のうち、クラスタリング処理に用いる複数の対象トリプル情報を選択する。【選択図】図４
2019215713.tif 000002
【特許請求の範囲】
【請求項１】
３種類の要素に関する関係を示す複数の第１トリプル情報における概念体系に基づいて階層化された複数の第２トリプル情報と、前記複数の第２トリプル情報の各々に対応する第１トリプル情報の数を示す統計的情報とを取得する取得部と、
前記取得部により取得された前記統計的情報と、前記統計的情報に関する所定の基準とに基づいて、前記複数の第２トリプル情報のうち、クラスタリング処理に用いる複数の対象トリプル情報を選択する選択部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記選択部は、
前記複数の第２トリプル情報の各々の前記統計的情報と、前記所定の基準である所定の閾値との比較に基づいて、前記複数の対象トリプル情報を選択する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記選択部は、
前記複数の第１トリプル情報の数とクラスタ数に関する値とにより算出される前記所定の閾値に基づいて、前記複数の対象トリプル情報を選択する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記選択部は、
一の第２トリプル情報の前記統計的情報が前記所定の閾値未満であり、前記一の第２トリプル情報の上位概念の階層の他の第２トリプル情報の前記統計的情報が前記所定の閾値以上である場合、前記一の第２トリプル情報を、前記対象トリプル情報として選択する
ことを特徴とする請求項２または請求項３に記載の情報処理装置。
【請求項５】
前記選択部は、
一の第２トリプル情報の前記統計的情報が前記所定の閾値未満であり、前記一の第２トリプル情報のノードに直接連結する前記他の第２トリプル情報の前記統計的情報が前記所定の閾値以上である場合、前記一の第２トリプル情報を、前記対象トリプル情報として選択する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記選択部により選択された前記複数の対象トリプル情報の各々に含まれる要素に基づいて、前記複数の対象トリプル情報間の関係性を示す関係性情報を生成する生成部、
をさらに備えることを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記生成部は、
前記複数の対象トリプル情報の各々に含まれる要素の共通性に基づいて、前記関係性情報を生成する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記生成部は、
前記複数の対象トリプル情報の各々の前記統計的情報に基づいて、前記関係性情報を生成する
ことを特徴とする請求項６または請求項７に記載の情報処理装置。
【請求項９】
前記生成部は、
前記複数の対象トリプル情報間の距離に関する情報を、前記関係性情報として生成する
ことを特徴とする請求項６〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記生成部は、
前記関係性情報に基づいて、前記複数の対象トリプル情報をクラスタリングしたクラスタ情報を生成する
ことを特徴とする請求項６〜９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記生成部は、
前記関係性情報に基づく関係性が近い対象トリプル情報同士が同じクラスタにクラスタリングされるように、前記クラスタ情報を生成する
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記生成部は、
前記複数の対象トリプル情報における３種類の要素のうち、所定の種類の要素を示すノードと、前記ノード間を連結するエッジとを含むグラフ情報に基づいて、前記関係性情報を生成する
ことを特徴とする請求項６〜１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記生成部は、
前記複数の対象トリプル情報における３種類の要素のうち、主語または目的語の要素を前記ノードとし、述語を前記エッジとした前記グラフ情報に基づいて、前記関係性情報を生成する
ことを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記生成部は、
一の対象トリプル情報の前記主語に対応する前記ノードと、前記一の対象トリプル情報の前記目的語に対応する前記ノードとを、前記一の対象トリプル情報の前記述語に対応する前記エッジで連結した前記グラフ情報に基づいて、前記関係性情報を生成する
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記生成部は、
前記ノードに対応する前記要素が所定の概念関係を有するノード間を連結する他のエッジを含む前記グラフ情報に基づいて、前記関係性情報を生成する
ことを特徴とする請求項１２〜１４のいずれか１項に記載の情報処理装置。
【請求項１６】
前記生成部は、
前記ノードに対応する前記要素が上位下位概念の関係を有するノード間を連結する前記他のエッジを含む前記グラフ情報に基づいて、前記関係性情報を生成する
ことを特徴とする請求項１５に記載の情報処理装置。
【請求項１７】
前記生成部は、
第１対象トリプル情報と、第２対象トリプル情報との連結関係に基づいて、前記第１対象トリプル情報と前記第２対象トリプル情報との関係性を示す前記関係性情報を生成する
ことを特徴とする請求項１２〜１６のいずれか１項に記載の情報処理装置。
【請求項１８】
前記生成部は、
前記第１対象トリプル情報と、前記第２対象トリプル情報との間に含まれるエッジ数が最小の経路に含まれる他の対象トリプル情報に基づいて、前記関係性情報を生成する
ことを特徴とする請求項１７に記載の情報処理装置。
【請求項１９】
前記生成部は、
前記第１対象トリプル情報の前記統計的情報と、前記第２対象トリプル情報の前記統計的情報と、前記他の対象トリプル情報の前記統計的情報とに基づいて、前記関係性情報を生成する
ことを特徴とする請求項１８に記載の情報処理装置。
【請求項２０】
前記生成部は、
前記他の対象トリプル情報の数に基づいて、前記関係性情報を生成する
ことを特徴とする請求項１８または請求項１９に記載の情報処理装置。
【請求項２１】
前記選択部により選択された前記複数の対象トリプル情報に基づく情報を提供する提供部、
をさらに備えたことを特徴とする請求項１〜２０のいずれか１項に記載の情報処理装置。
【請求項２２】
コンピュータが実行する情報処理方法であって、
３種類の要素に関する関係を示す複数の第１トリプル情報における概念体系に基づいて階層化された複数の第２トリプル情報と、前記複数の第２トリプル情報の各々に対応する第１トリプル情報の数を示す統計的情報とを取得する取得工程と、
前記取得工程により取得された前記統計的情報と、前記統計的情報に関する所定の基準とに基づいて、前記複数の第２トリプル情報のうち、クラスタリング処理に用いる複数の対象トリプル情報を選択する選択工程と、
を含むことを特徴とする情報処理方法。
【請求項２３】
３種類の要素に関する関係を示す複数の第１トリプル情報における概念体系に基づいて階層化された複数の第２トリプル情報と、前記複数の第２トリプル情報の各々に対応する第１トリプル情報の数を示す統計的情報とを取得する取得手順と、
前記取得手順により取得された前記統計的情報と、前記統計的情報に関する所定の基準とに基づいて、前記複数の第２トリプル情報のうち、クラスタリング処理に用いる複数の対象トリプル情報を選択する選択手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
従来、ネットワーク上のリソースを記述する枠組みとして、ＲＤＦ（Resource  Description  Framework）が知られている。また、ＲＤＦのデータモデルでは、トリプル（triple）と称される主語（subject）、述語（predicate）及び目的語（object）の３つの要素でリソースにおける関係を表現する。例えば、トリプルとしてエンコードされ格納されたグラフデータに対するトリプルデータ（トリプル情報）は、膨大な量になるため、複数のトリプル情報における概念体系を統計的に把握可能にする技術が提供されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６２８２７１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、トリプル情報を適切に分類可能にすることができるとは限らない。例えば、トリプル情報を効率よく利用するためには分割管理が必要となるが、既存のクラスタリング手法では分割に要する計算機コストが膨大になる。また、トリプル情報を分割する場合、関連性の高いトリプルを１つの分割単位（クラスタ）に集めた方が利用効率がよい場合が多い。例えば、複数のトリプル情報における概念体系を統計的に把握可能にするだけでは、その後の利用等について考慮されておらず、その情報を利用方法等については課題がある。このように、上記の従来技術では、トリプル情報を適切に分類可能にし、効率的に利用できるとは限らない。
【０００５】
本願は、上記に鑑みてなされたものであって、トリプル情報を適切に分類し効率的な利用を可能にする情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願に係る情報処理装置は、３種類の要素に関する関係を示す複数の第１トリプル情報における概念体系に基づいて階層化された複数の第２トリプル情報と、前記複数の第２トリプル情報の各々に対応する第１トリプル情報の数を示す統計的情報とを取得する取得部と、前記取得部により取得された前記統計的情報と、前記統計的情報に関する所定の基準とに基づいて、前記複数の第２トリプル情報のうち、クラスタリング処理に用いる複数の対象トリプル情報を選択する選択部と、を備えたことを特徴とする。
【発明の効果】
【０００７】
実施形態の一態様によれば、トリプル情報を適切に分類し効率的な利用を可能にすることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る情報処理の一例を示す図である。
【図２】図２は、実施形態に係る情報処理の一例を示す図である。
【図３】図３は、実施形態に係る情報処理システムの構成例を示す図である。
【図４】図４は、実施形態に係る情報処理装置の構成例を示す図である。
【図５】図５は、実施形態に係る第１トリプル情報記憶部の一例を示す図である。
【図６】図６は、実施形態に係る第２トリプル情報記憶部の一例を示す図である。
【図７】図７は、実施形態に係るオントロジ情報記憶部の一例を示す図である。
【図８】図８は、実施形態に係る対象トリプル情報記憶部の一例を示す図である。
【図９】図９は、実施形態に係るグラフ情報記憶部の一例を示す図である。
【図１０】図１０は、実施形態に係るクラスタ情報記憶部の一例を示す図である。
【図１１】図１１は、実施形態に係る対象トリプル情報の選択の一例を示す図である。
【図１２】図１２は、実施形態に係る統計的情報の生成の一例を示す図である。
【図１３】図１３は、実施形態に係る第２トリプル情報の抽出を示す図である。
【図１４】図１４は、実施形態に係るクラスタリングの一例を示す図である。
【図１５】図１５は、実施形態に係る情報処理の一例を示すフローチャートである。
【図１６】図１６は、実施形態に係る選択処理の一例を示すフローチャートである。
【図１７】図１７は、実施形態に係る選択処理の一例を示すフローチャートである。
【図１８】図１８は、実施形態に係る選択処理の一例を示すフローチャートである。
【図１９】図１９は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１０】
（実施形態）
〔１．情報処理〕
図１及び図２を用いて、実施形態に係る情報処理の一例について説明する。図１及び図２は、実施形態に係る情報処理の一例を示す図である。図１及び図２では、情報処理装置１００（図４参照）が第２トリプル情報記憶部１２２に記憶された第２トリプル情報に関する統計的情報を基に、クラスタリング処理を行う場合を示す。なお、ここでいうトリプル情報とは、ＲＤＦ（Resource  Description  Framework）のデータモデルに基づく情報であって、主語（subject）、述語（predicate）及び目的語（object）の３つの要素（トリプル：triple）でリソースにおける関係を表現する情報である。また、本実施例では、第１トリプル情報記憶部１２１に記憶されたトリプル情報を第１トリプル情報とし、第２トリプル情報記憶部１２２に記憶されたトリプル情報を第２トリプル情報とし、オントロジ情報記憶部１２３に記憶されたトリプル情報をオントロジ情報と記載する場合がある。まず、第１トリプル情報記憶部１２１や第２トリプル情報記憶部１２２やオントロジ情報記憶部１２３等について説明する。なお、以下の説明においては、適宜「<>」の記載を省略する場合がある。
【００１１】
例えば、第１トリプル情報記憶部１２１（図５参照）には、統計的情報の算出対象となり、クラスタリングの対象となるトリプル情報群が格納される。ここで、「第１トリプル情報ＦＩＤ＊（＊は任意の数値）」と記載した場合、その第１トリプル情報は第１トリプルＩＤ「ＦＩＤ＊」により識別されるトリプル情報であることを示す。例えば、「第１トリプル情報ＦＩＤ２１」と記載した場合、そのトリプル情報は第１トリプルＩＤ「ＦＩＤ２１」により識別されるトリプル情報（第１トリプル情報）である。
【００１２】
例えば、図５に示す第１トリプル情報記憶部１２１は、「第１トリプルＩＤ」、「Subject（主語）」、「Predicate（述語）」、「Object（目的語）」といった項目が含まれる。
【００１３】
「第１トリプルＩＤ」は、トリプル情報を識別するための識別情報を示す。また、「Subject（主語）」は、第１トリプルＩＤにより識別されるトリプル情報の主語に対応する値を示す。また、「Predicate（述語）」は、第１トリプルＩＤにより識別されるトリプル情報の述語に対応する値を示す。また、「Object（目的語）」は、第１トリプルＩＤにより識別されるトリプル情報の目的語に対応する値を示す。
【００１４】
図５の例では、第１トリプル情報ＦＩＤ１１は、主語が「<Jim>」、すなわち所定の人間「ジム」であることを示す。また、図５に示す例において、第１トリプル情報ＦＩＤ１１は、述語が「<worksAt>」、すなわち「〜で働いている」という意味の述語であることを示す。また、図５に示す例において、第１トリプル情報ＦＩＤ１１は、目的語が「<HOGE.inc>」、すなわち所定の会社「HOGE.inc」であることを示す。
【００１５】
図１の例では、情報処理装置１００は、上記のような第１トリプル情報を対象に、第２トリプル情報ごとに統計的情報を算出しており、その統計的情報を基に第２トリプル情報をクラスタリングする例を示す。情報処理装置１００は、オントロジ情報記憶部１２３（図７参照）に記憶された所定のオントロジ（概念体系）における各エンティティ（実体）等の定義に関する情報等に基づいて、第２トリプル情報ごとに統計的情報を算出する。が格納される。例えば、第２トリプル情報は、オントロジ情報記憶部１２３中のオントロジ情報に基づく概念的な分類構造を示すスキーマ情報である。例えば、第２トリプル情報は、オントロジ情報記憶部１２３中のオントロジ情報に基づくトリプル情報間における意味的な概念構造（グラフ構造）を示す情報である。なお、第２トリプル情報の抽出（生成）や統計的情報の算出についての詳細は後述する。以下では、上記のような第２トリプル情報及びその統計的情報が生成済みであるものとして説明する。
【００１６】
〔１−１．対象トリプル情報の選択〕
まず、情報処理装置１００は、情報を取得する（ステップＳ１１）。情報処理装置１００は、図１中の第２トリプル情報記憶部１２２に示すような第２トリプル情報を取得する。情報処理装置１００は、記憶部１２０（図４参照）から第２トリプル情報を取得してもよいし、情報提供装置５０（図３参照）から第２トリプル情報を取得してもよい。
【００１７】
図１中の第２トリプル情報記憶部１２２は、「第２トリプルＩＤ」、「Subject（主語）」、「Predicate（述語）」、「Object（目的語）」、「統計的情報」といった項目が含まれる。なお、図１中の第２トリプル情報記憶部１２２と図６中の第２トリプル情報記憶部１２２とは同じ第２トリプル情報記憶部１２２であり、図１中では、第２トリプル情報記憶部１２２の項目「階層情報」の図示を省略する。
【００１８】
「第２トリプルＩＤ」は、トリプル情報を識別するための識別情報を示す。また、「Subject（主語）」は、第２トリプルＩＤにより識別されるトリプル情報の主語に対応する値を示す。また、「Predicate（述語）」は、第２トリプルＩＤにより識別されるトリプル情報の述語に対応する値を示す。また、「Object（目的語）」は、第２トリプルＩＤにより識別されるトリプル情報の目的語に対応する値を示す。
【００１９】
また、「階層情報」には、「上位１」や「上位２」といった項目が含まれる。例えば、「上位１」や「上位２」は、第２トリプルＩＤにより識別されるトリプル情報の上位概念（上位クラス）に対応するトリプル情報を識別する情報が記憶される。なお、図６では、「上位１」及び「上位２」のみを図示するが、トリプル情報の上位クラスに対応する全トリプル情報が記憶されるように「上位３」や「上位４」等が含まれてもよい。
【００２０】
また、「統計的情報」には、「階層」や「カウント値」といった項目が含まれる。例えば、「階層」は、第２トリプルＩＤにより識別されるトリプル情報の第２トリプル情報における階層が記憶される。例えば、「カウント値」は、第２トリプルＩＤにより識別されるトリプル情報のカウント値が記憶される。例えば、「カウント値」は、第２トリプルＩＤにより識別されるトリプル情報に対応する第１トリプル情報の数に基づくカウント値が記憶される。
【００２１】
図１に示す例においては、第２トリプル情報記憶部１２２には、第２トリプルＩＤ「ＳＩＤ１」により識別される第２トリプル情報ＳＩＤ１や第２トリプルＩＤ「ＳＩＤ２１」により識別される第２トリプル情報ＳＩＤ２１等の種々のトリプル情報が記憶される。
【００２２】
なお、上述のように、「第２トリプル情報ＳＩＤ＊（＊は任意の数値）」と記載した場合、その第２トリプル情報ＳＩＤは第２トリプル情報ＩＤ「ＳＩＤ＊」により識別されるトリプル情報であることを示す。例えば、「第２トリプル情報ＳＩＤ２２」と記載した場合、そのトリプル情報は第２トリプルＩＤ「ＳＩＤ２２」により識別されるトリプル情報（第２トリプル情報）である。
【００２３】
図１に示す例において、第２トリプルＩＤ「ＳＩＤ１」により識別される第２トリプル情報ＳＩＤ１は、主語が「<owl:Thing>」であり、所定のクラス、例えばすべての個体の集合に対応するクラスであることを示す。また、図１に示す例において、第２トリプル情報ＳＩＤ１は、述語が「<rdf:Property>」であり、所定のクラス、例えばプロパティを表すクラスであることを示す。また、図１に示す例において、第２トリプル情報ＳＩＤ１は、目的語が「<owl:Thing>」であり、所定のクラス、例えばすべての個体の集合に対応するクラスであることを示す。例えば、第２トリプル情報ＳＩＤ１は、「あるものがあるものと関係がある」といった抽象的な意味（構造）に対応するトリプル情報である。
【００２４】
また、第２トリプル情報ＳＩＤ１は、上位階層の第２トリプル情報がないことを示す。また、第２トリプル情報ＳＩＤ１は、階層が「０」階層であり、カウント数が「１０００００」であることを示す。例えば、第２トリプル情報ＳＩＤ１は、最上位階層であり、それ以上抽象的な第２トリプル情報がない第２トリプル情報である。図１の例では、第２トリプル情報ＳＩＤ１は、他の第２トリプル情報の全ての上位概念となり、最上位の抽象的な意味に対応するトリプル情報である。
【００２５】
図１に示す例において、第２トリプルＩＤ「ＳＩＤ１１」により識別される第２トリプル情報ＳＩＤ１１は、主語が「<person>」、すなわち人間であることを示す。また、図１に示す例において、第２トリプル情報ＳＩＤ１１は、述語が「<worksAt>」、すなわち「〜で働いている」という意味の述語であることを示す。また、図１に示す例において、第２トリプル情報ＳＩＤ１１は、目的語が「<organization>」、すなわち組織であることを示す。このように、図１に示す例において、第２トリプル情報ＳＩＤ１１は、「人間は組織で働いている」という抽象的な意味に対応するトリプル情報である。
【００２６】
また、第２トリプル情報ＳＩＤ１１は、上位階層の第２トリプル情報が第２トリプル情報ＳＩＤ１であることを示す。また、第２トリプル情報ＳＩＤ１１は、階層が「Ｘ（Ｘは任意の数）」階層であり、カウント数が「１００００」であることを示す。例えば、第２トリプル情報ＳＩＤ１１は、最上位階層「０」の第２トリプル情報ＳＩＤ１の直下の階層「１」の第２トリプル情報である。
【００２７】
図１に示す例において、第２トリプルＩＤ「ＳＩＤ４１」により識別される第２トリプル情報ＳＩＤ４１は、主語が「<engineer>」、すなわち技術者であることを示す。また、図１に示す例において、第２トリプル情報ＳＩＤ４１は、述語が「<worksAt>」、すなわち「〜で働いている」という意味の述語であることを示す。また、図１に示す例において、第２トリプル情報ＳＩＤ４１は、目的語が「<company>」、すなわち会社であることを示す。このように、図１に示す例において、第２トリプル情報ＳＩＤ４１は、「技術者は会社で働いている」という抽象的な意味に対応するトリプル情報であってもよい。
【００２８】
また、第２トリプル情報ＳＩＤ４１は、上位階層の第２トリプル情報が第２トリプル情報ＳＩＤ３１や第２トリプル情報ＳＩＤ３２であることを示す。また、第２トリプル情報ＳＩＤ４１は、階層が「Ｘ＋３（Ｘは任意の数）」階層であり、カウント数が「８０」であることを示す。例えば、第２トリプル情報ＳＩＤ４１は、階層「３」の第２トリプル情報ＳＩＤ３１や第２トリプル情報ＳＩＤ３２の直下の階層「４」の第２トリプル情報であってもよい。
【００２９】
そして、情報処理装置１００は、第２トリプル情報間の階層関係を示す階層図を生成する（ステップＳ１２）。図１の例では、情報処理装置１００は、第２トリプル情報記憶部１２２中の情報を基に第２トリプル情報間の階層関係を示す階層図ＳＴＨ１−１を生成する。情報処理装置１００は、第２トリプル情報記憶部１２２中の階層情報を用いて、階層図ＳＴＨ１−１を生成する。
【００３０】
例えば、階層図ＳＴＨ１−１においては、各矢印線の接続関係が、第２トリプル情報間の上位下位の関係を示す。階層図ＳＴＨ１−１に示す各第２トリプル情報間を連結する矢印線は、連結される第２トリプル情報間に上位クラス（上位概念）と下位クラス（下位概念）との関係があることを示す。具体的には、矢印線の始点（矢元）側の「○」で示す第２トリプル情報が下位概念であり、終点（矢先）側の「○」で示す第２トリプル情報が上位概念であることを示す。すなわち、矢印線の矢元の第２トリプル情報が下位クラス（下位概念）に対応し、矢印線の矢先の第２トリプル情報が上位クラス（上位概念）する。例えば、第２トリプル情報ＳＩＤ１は、第２トリプル情報ＳＩＤ２や第２トリプル情報ＳＩＤ３の上位クラス（上位概念）であることを示す。
【００３１】
ここで、階層図ＳＴＨ１−１中の領域ＡＲ１１を例に簡単な具体例を説明する。例えば、図１中の領域ＡＲ１１においては、「人間は組織で働いている」という抽象的な意味を示す第２トリプル情報ＳＩＤ１１が最上位概念に位置する。例えば、図１中の領域ＡＲ１１においては、第２トリプル情報ＳＩＤ１１の下位概念には、主語が「<person>」、述語が「<worksAt>」、及び目的語が「<company>」である第２トリプル情報ＳＩＤ２１が位置する。このように、第２トリプル情報ＳＩＤ１１の下位概念には、主語及び述語が共通し、目的語が「<organization>」の下位クラスの「<company>」である第２トリプル情報ＳＩＤ２１が位置する。
【００３２】
また、例えば、図１中の領域ＡＲ１１においては、第２トリプル情報ＳＩＤ１１の下位概念には、主語が「<employee>」、述語が「<worksAt>」、及び目的語が「<organization>」である第２トリプル情報ＳＩＤ２２が位置する。このように、第２トリプル情報ＳＩＤ１１の下位概念には、述語及び目的語が共通し、主語が「<person>」の下位クラスの「<employee>」である第２トリプル情報ＳＩＤ２２が位置する。このように、階層図ＳＴＨ１−１においては、矢印線を矢元の方向（下方向）へ辿るごとに概念が具体化（下位概念化）されることを示す。言い換えると、階層図ＳＴＨ１−１においては、矢印線を矢先の方向（上方向）へ辿るごとに概念が抽象化（上位概念化）されることを示す。
【００３３】
そして、情報処理装置１００は、第２トリプル情報を探索する（ステップＳ１３）。情報処理装置１００は、図１中の階層図ＳＴＨ１−１を探索する。例えば、情報処理装置１００は、第２トリプル情報のうち、クラスタリング処理に用いる第２トリプル情報（以下「対象トリプル情報」ともいう）を選択するために階層図ＳＴＨ１−１を探索する。
【００３４】
情報処理装置１００は、ステップＳ１３の処理において対象トリプル情報を選択する（ステップＳ１４）。情報処理装置１００は、第２トリプル情報の統計的情報と所定の基準とに基づいて、対象トリプル情報を選択する。図１の例では、情報処理装置１００は、所定の基準として、閾値ＴＩＮＦに示すような閾値「１０００」を用いて、対象トリプル情報を選択する。なお、閾値は、第１トリプル情報の数やクラスタリング数等に基づいて適宜設定されてもよいが、この点の詳細は後述する。
【００３５】
例えば、情報処理装置１００は、第２トリプル情報のカウント値と閾値「１０００」である閾値ＴＩＮＦとを比較し、その比較結果に基づいて、対象トリプル情報を選択する。情報処理装置１００は、一の第２トリプル情報のカウント値が所定の閾値未満であり、一の第２トリプル情報のノードに直接連結する他の第２トリプル情報のカウント値が所定の閾値以上である場合、一の第２トリプル情報を、対象トリプル情報として選択する。情報処理装置１００は、一の第２トリプル情報のカウント値が所定の閾値未満であり、一の第２トリプル情報と矢印線で連結された一階層上の第２トリプル情報のカウント値が所定の閾値以上である場合、一の第２トリプル情報を、対象トリプル情報として選択する。
【００３６】
例えば、情報処理装置１００は、階層図ＳＴＨ１−１を最上位階層から順次探索し、カウント値が閾値ＴＩＮＦを下回った時点の第２トリプル情報を対象トリプル情報として選択する。例えば、情報処理装置１００は、階層図ＳＴＨ１−１を最上位階層から順次下位概念の方向（下方向）へ探索し、カウント値が閾値ＴＩＮＦを下回った時点の第２トリプル情報を対象トリプル情報として選択する。例えば、情報処理装置１００は、ある第２トリプル情報を対象トリプル情報として選択した場合、その第２トリプル情報と矢印線で連結される下位概念の方向への探索を終了する。
【００３７】
これにより、情報処理装置１００は、階層図ＳＴＨ１−２に示すように、第２トリプル情報の統計的情報と閾値ＴＩＮＦとに基づいて、対象トリプル情報を選択する。図１の例では、情報処理装置１００は、階層図ＳＴＨ１−２中のハッチングが付された「○」に対応する第２トリプル情報を、対象トリプル情報として選択する。具体的には、情報処理装置１００は、対象トリプル一覧ＳＩＮＦ１に示すように、第２トリプル情報ＳＩＤ２５や第２トリプル情報ＳＩＤ３１や第２トリプル情報ＳＩＤ３２や第２トリプル情報ＳＩＤ５５等を、対象トリプル情報として選択する。対象トリプル一覧ＳＩＮＦ１に示すように、情報処理装置１００は、カウント値が閾値「１０００」未満である第２トリプル情報を対象トリプル情報として選択する。
【００３８】
なお、上記処理は一例であり、情報処理装置１００は、所望の対象トリプル情報を選択可能であれば、どのようなアルゴリズムを用いて、対象トリプル情報を選択してもよい。また、階層図ＳＴＨ１−１が第２トリプル情報間の関係を視覚的に示すものであり、情報処理装置１００は、階層図ＳＴＨ１−１を生成することなく、第２トリプル情報記憶部１２２中の情報を探索することにより、対象トリプル情報を選択してもよい。情報処理装置１００は、第２トリプル情報記憶部１２２中の階層情報を用いて、第２トリプル情報を探索することにより、対象トリプル情報を選択してもよい。
【００３９】
上述したように、情報処理装置１００は、各第２トリプル情報の統計的情報であるカウント値と、所定の基準である閾値とに基づいて、第２トリプル情報のうち、クラスタリング処理に用いる対象トリプル情報を選択する。すなわち、情報処理装置１００は、第２トリプル情報に対応する第１トリプル情報の数を示すカウント値に基づいて、クラスタリング処理に用いる対象トリプル情報を選択する。例えば、情報処理装置１００は、上位から探索し、閾値を下回った時点の第２トリプル情報を対象トリプル情報として選択する。これにより、情報処理装置１００は、閾値未満であり、かつ閾値に近いカウント値の第２トリプル情報を対象トリプル情報として選択する。そのため、情報処理装置１００は、所定の基準（閾値）に基づいてカウント値がある程度、類似する第２トリプル情報を対象として、クラスタリングを行うことができる。したがって、情報処理装置１００は、トリプル情報を適切に分類可能にすることができる。このように、情報処理装置１００は、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【００４０】
〔１−２．クラスタリング〕
次に、情報処理装置１００は、選択した対象トリプル情報を用いてクラスタリング処理を行う。まず、情報処理装置１００は、情報を取得する（ステップＳ２１）。情報処理装置１００は、図２中の対象トリプル情報記憶部１２４に示すような対象トリプル情報を取得する。情報処理装置１００は、記憶部１２０（図４参照）から対象トリプル情報を取得してもよいし、情報提供装置５０（図３参照）から対象トリプル情報を取得してもよい。
【００４１】
図２に示す対象トリプル情報記憶部１２４は、「対象トリプルＩＤ（第２トリプルＩＤ）」、「Subject（ノードＩＤ）」、「Predicate（エッジＩＤ）」、「Object（ノードＩＤ）」、「統計的情報」といった項目が含まれる。例えば、対象トリプル情報記憶部１２４には、対象トリプル情報をグラフとして示すために用いる情報が記憶される。
【００４２】
「対象トリプルＩＤ（第２トリプルＩＤ）」は、トリプル情報を識別するための識別情報を示す。また、「Subject（ノードＩＤ）」は、対象トリプルＩＤにより識別されるトリプル情報の主語に対応する値やノードＩＤを示す。また、「Predicate（エッジＩＤ）」は、第２トリプルＩＤにより識別されるトリプル情報の述語に対応する値やエッジＩＤを示す。また、「Object（ノードＩＤ）」は、第２トリプルＩＤにより識別されるトリプル情報の目的語に対応する値やノードＩＤを示す。図２の例では、「Subject（ノードＩＤ）」、「Predicate（エッジＩＤ）」、「Object（ノードＩＤ）」に対応するデータ中のうち、「<」及び「>」で囲まれたものが各値に対応し、「（」及び「）」で囲まれたものが各ＩＤに対応する。
【００４３】
また、「統計的情報」には、「カウント値」といった項目が含まれる。「カウント値」は、第２トリプルＩＤにより識別されるトリプル情報に対応する第１トリプル情報の数に基づくカウント値が記憶される。
【００４４】
図２に示す例においては、対象トリプル情報記憶部１２４には、対象トリプルＩＤ「ＳＩＤ２５」により識別される第２トリプル情報ＳＩＤ２５や対象トリプルＩＤ「ＳＩＤ３１」により識別される第２トリプル情報ＳＩＤ３１等のトリプル情報が記憶される。
【００４５】
図２に示す例において、対象トリプルＩＤ「ＳＩＤ３２」により識別される第２トリプル情報ＳＩＤ３２は、主語が「<engineer>」、すなわち技術者であることを示す。また、第２トリプル情報ＳＩＤ３２の主語「<engineer>」のノードＩＤは「Ｎ１６」であることを示す。
【００４６】
また、第２トリプル情報ＳＩＤ３２は、述語が「<worksAt>」、すなわち「〜で働いている」という意味の述語であることを示す。また、第２トリプル情報ＳＩＤ３２の述語「<worksAt>」のエッジＩＤは「ｐ２０」であることを示す。
【００４７】
また、第２トリプル情報ＳＩＤ３２は、目的語が「<organization>」、すなわち組織であることを示す。また、第２トリプル情報ＳＩＤ３２の目的語「<organization>」のノードＩＤは「Ｎ２１」であることを示す。また、第２トリプル情報ＳＩＤ３２のカウント値は、「２００」であることを示す。
【００４８】
図２に示す例において、対象トリプルＩＤ「ＳＩＤ５５」により識別される第２トリプル情報ＳＩＤ５５は、目的語が「<engineer>」、すなわち技術者であることを示す。また、第２トリプル情報ＳＩＤ５５の目的語「<engineer>」のノードＩＤは「Ｎ１６」であることを示す。すなわち、図２の示すグラフ（以下「スケルトングラフ」ともいう）においては、第２トリプル情報ＳＩＤ３２の主語「<engineer>」と第２トリプル情報ＳＩＤ５５の目的語「<engineer>」とは同じノードＮ１６として表現されること示す。
【００４９】
そして、情報処理装置１００は、対象トリプル情報を用いてグラフ情報を生成する（ステップＳ２２）。図１の例では、情報処理装置１００は、対象トリプル情報記憶部１２４を基にスケルトングラフＧＩＮＦ１１を生成する。例えば、情報処理装置１００は、各対象トリプル情報中の主語及び目的語をノードとし、述語をエッジとしたスケルトングラフＧＩＮＦ１１を生成する。
【００５０】
なお、図２中のスケルトングラフＧＩＮＦ１１においては、適宜「ノードＮ＊（＊は任意の数値）」の図示を省略し、各ノードに対応する「○」内に「ノードＮ＊」の「＊」の値を付すことにより表現する。すなわち、「ノードＮ＊」の部分の「＊」が一致するノードに対応する。例えば、スケルトングラフＧＩＮＦ１１中の左上の「○」であって、内部に「１」が付された「○」は、ノードＩＤ「Ｎ１」により識別されるノード（ノードＮ１）に対応する。また、矢印線で示すエッジは、その近傍に付された符号に対応するエッジである。例えば、スケルトングラフＧＩＮＦ１１中の左上のノードＮ１に向かう矢印線は、エッジＩＤ「ｐ１」により識別されるエッジ（エッジｐ１）に対応する。
【００５１】
このように、スケルトングラフＧＩＮＦ１１においては、各対象トリプル情報が、２つのノード及びエッジのセットで表現されることを示す。すなわち、スケルトングラフＧＩＮＦ１１においては、１つの対象トリプル情報は、エッジの連結元となるノードが示す主語と、エッジが示す述語と、エッジの連結先となるノードが示す目的語とからなることを示す。具体的には、スケルトングラフＧＩＮＦ１１においては、対象トリプル情報である第２トリプル情報ＳＩＤ３１は、ノードＮ８とエッジｐ１０とノードＮ１３とからなることを示す。第２トリプル情報ＳＩＤ３１の主語「<engineer>」は、ノードＮ８に対応し、第２トリプル情報ＳＩＤ３１の述語「<worksAt>」は、エッジｐ１０に対応し、第２トリプル情報ＳＩＤ３１の主語「<company>」は、ノードＮ１３に対応することを示す。このように、スケルトングラフＧＩＮＦ１１において、各対象トリプル情報は２つのノードやエッジに分解された態様で表現されるが、情報処理装置１００は、各ノードではなく、２つのノードやエッジのセット、すなわち対象トリプル情報を対象としてクラスタリングを行う。
【００５２】
ここで、情報処理装置１００は、対象トリプル情報間の関係性を示す関係性情報を生成する。図２の例では、情報処理装置１００は、関係性情報として、対象トリプル情報間の距離を算出する。例えば、情報処理装置１００は、対象トリプル情報間のパス（経路）に関する情報（パス情報）に基づいて、距離を算出する。例えば、情報処理装置１００は、２つの対象トリプル情報間のパス情報に基づいて、その２つの対象トリプル情報間の距離を算出する。例えば、情報処理装置１００は、算出対象となる２つの対象トリプル情報間の経路上のエッジの本数に基づいて、その２つの対象トリプル情報間の距離を算出する。例えば、情報処理装置１００は、算出対象となる２つの対象トリプル情報間の経路上の対象トリプル情報のカウント値に基づいて、その２つの対象トリプル情報間の距離を算出する。
【００５３】
例えば、情報処理装置１００は、算出対象となる２つの対象トリプル情報間の経路上のエッジの本数を分母とする算出式に基づいて、その２つの対象トリプル情報間の距離を算出する。なお、２つの対象トリプル情報間の経路上のエッジには、その２つの対象トリプル情報のエッジが含まれてもよい。例えば、情報処理装置１００は、ノードＮ８とエッジｐ９とノードＮ１５とからなる第２トリプル情報と、第２トリプル情報ＳＩＤ３１との場合、経路上のエッジの本数を「２」として、距離を算出する。
【００５４】
例えば、情報処理装置１００は、算出対象となる２つの対象トリプル情報間の経路上の対象トリプル情報のカウント値の合計を分子とする算出式に基づいて、その２つの対象トリプル情報間の距離を算出する。なお、２つの対象トリプル情報間の経路上の対象トリプル情報には、その２つの対象トリプル情報自体が含まれてもよい。例えば、情報処理装置１００は、ノードＮ８とエッジｐ９とノードＮ１５とからなる第２トリプル情報（「第２トリプル情報ＳＩＤＸ」とする）と、第２トリプル情報ＳＩＤ３１との場合、第２トリプル情報ＳＩＤＸのカウント値及び第２トリプル情報ＳＩＤ３１のカウント値の合計値を用いて、距離を算出する。
【００５５】
例えば、情報処理装置１００は、第２トリプル情報ＳＩＤ３１と、第２トリプル情報ＳＩＤ３２との場合、経路上のエッジの本数を「４」として、距離を算出する。例えば、情報処理装置１００は、経路上のエッジの本数をエッジｐ１０、ｐ９、ｐ１５、ｐ２０の「４」として、距離を算出する。例えば、情報処理装置１００は、第２トリプル情報ＳＩＤ３１と、第２トリプル情報ＳＩＤ３２との場合、第２トリプル情報ＳＩＤ３１のカウント値、ノードＮ８とエッジｐ９とノードＮ１５とからなる第２トリプル情報のカウント値、ノードＮ１５とエッジｐ１５とノードＮ１６とからなる第２トリプル情報のカウント値、及び第２トリプル情報ＳＩＤ３２のカウント値の合計値を用いて、距離を算出する。
【００５６】
例えば、情報処理装置１００は、「距離＝−（カウント値の合計値／エッジの本数）」等の式を用いて距離を算出してもよい。例えば、情報処理装置１００は、カウント値の合計値をエッジの本数で除した値にマイナス１を乗算することにより、距離を算出してもよい。この場合、情報処理装置１００は、マイナス値が大きい程距離が短い（近い）ものとして、その後のクラスタリング処理を行う。また、例えば、情報処理装置１００は、２つの対象トリプル情報間の経路が無い場合、その２つの対象トリプル情報間の距離を所定の最大値と算出してもよい。例えば、情報処理装置１００は、２つの対象トリプル情報間の経路が無い場合、その２つの対象トリプル情報間の距離を「０」と算出してもよい。言い換えると、情報処理装置１００は、２つの対象トリプル情報間が連結されていない場合、その２つの対象トリプル情報間の距離を「０」と算出してもよい。
【００５７】
なお、情報処理装置１００は、距離の正規化が必要な場合は、距離の正規化を行った後、正規化後の距離に基づいて、クラスタリング処理を行ってもよい。例えば、情報処理装置１００は、距離が０以上の値を取るように正規化を行ってもよい。例えば、情報処理装置１００は、距離が０〜１の範囲になるように正規化してもよい。
【００５８】
また、上記は一例であり、情報処理装置１００は、種々の情報を適宜用いて、距離を算出してもよい。例えば、情報処理装置１００は、カウント値の合計値が大きい程距離が短くなるように、距離を算出する。また、情報処理装置１００は、エッジの本数が少ない距離が短くなるように、距離を算出する。なお、情報処理装置１００は、スケルトングラフＧＩＮＦ１１に各ノード間の概念関係を示す情報を追加して、距離を算出してもよいが、この点の詳細は後述する。
【００５９】
そして、情報処理装置１００は、クラスタリングを行う（ステップＳ２３）。情報処理装置１００は、選択した対象トリプル情報をクラスタリングしたクラスタ情報を生成する。情報処理装置１００は、対象トリプル情報をクラスタリングしたクラスタ情報ＣＬＩＮＦ１１を生成する。情報処理装置１００は、スケルトングラフＧＩＮＦ１１中の対象トリプル情報をクラスタリングする。図２の例では、情報処理装置１００は、所定のクラスタリング手法により、複数の対象トリプル情報をクラスタリングする。例えば、情報処理装置１００は、法等の種々の従来技術を適宜用いて、複数の対象トリプル情報をクラスタリングしてもよい。ｋ−ｍｅａｎｓやディリクレ過程を用いたロジスティック回帰等の種々のクラスタリング手法を用いてもよい。
【００６０】
例えば、情報処理装置１００は、所定のクラスタリング手法により、距離が所定の範囲内の対象トリプル情報が同じクラスタに分類されるように、複数の対象トリプル情報をクラスタリングしてもよい。例えば、情報処理装置１００は、所定のクラスタリング手法により、対象トリプル情報のカウント値の合計の差が均一になるように複数の対象トリプル情報をクラスタリングしてもよい。例えば、情報処理装置１００は、所定のクラスタリング手法により、対象トリプル情報のカウント値の合計の差が所定値以内になるように複数の対象トリプル情報をクラスタリングしてもよい。
【００６１】
図２の例では、情報処理装置１００は、各対象トリプル情報がクラスタＣＬ１〜ＣＬ３等に分類されるように、クラスタリングする。例えば、情報処理装置１００は、第２トリプル情報ＳＩＤ３１をクラスタＣＬ２にクラスタリングする。例えば、情報処理装置１００は、第２トリプル情報ＳＩＤ３２をクラスタＣＬ３にクラスタリングする。
【００６２】
上述したように、情報処理装置１００は、選択した対象トリプル情報を対象としたクラスタリング処理を行う。このように、情報処理装置１００は、閾値未満であり、かつ閾値に近いカウント値の第２トリプル情報を対象トリプル情報としてクラスタリングする。そのため、情報処理装置１００は、所定の基準（閾値）に基づいてカウント値がある程度、類似する第２トリプル情報を対象として、クラスタリングを行うことができる。したがって、情報処理装置１００は、トリプル情報を適切に分類し効率的な利用を可能にすることができる。例えば、情報処理装置１００が生成したクラスタ情報は、第１トリプル情報を分散して格納する場合において用いることができる。例えば、情報処理装置１００は、生成したクラスタ情報に基づいて、各クラスタに属する対象トリプル情報に対応する第１トリプル情報ごとに、分散して複数の記憶装置に格納してもよい。これにより、情報処理装置１００は、類似する概念に対応する第１トリプル情報を同じ記憶装置に格納することが可能となる。また、このようなトリプル情報を効率よく利用するためには分割管理が必要となるが、既存のクラスタリング手法では分割に要する計算機コスト（処理コスト）が膨大になる。一方で、情報処理装置１００は、選択した対象トリプル情報を対象としたクラスタリング処理を行うことにより、計算機コストの増大を抑制することができる。すなわち、情報処理装置１００は、従来に比べて計算機コストを大幅に削減する効果がある。また、このようなトリプル情報を分割する場合、関連性の高いトリプルを１つの分割単位（クラスタ）に集めた方が利用効率がよい場合が多い。そのため、情報処理装置１００は、関連性の高いトリプル情報が同じクラスタに分類されるようにクラスタリングすることにより、トリプル情報の利用効率を向上させることができる。すなわち、情報処理装置１００は、従来に比べて低い計算機コストで極力利用効率が向上するようトリプル情報を分割する効果がある。
【００６３】
〔１−３．対象トリプル情報の選択〕
なお、上述した例では、一の第２トリプル情報のカウント値が所定の閾値未満であり、一の第２トリプル情報と矢印線で連結された一階層上の第２トリプル情報のカウント値が所定の閾値以上である場合、一の第２トリプル情報を、情報処理装置１００が対象トリプル情報として選択する場合を示したが、情報処理装置１００は、種々の条件を適宜用いて、対象トリプル情報を選択してもよい。この点について、図１１を用いて説明する。図１１は、実施形態に係る対象トリプル情報の選択の一例を示す図である。なお、図１や図２と同様の点については適宜説明を省略する。
【００６４】
例えば、情報処理装置１００は、図１１に示すように、種々の条件を適宜用いて、対象トリプル情報を選択してもよい。図１１の例においても、情報処理装置１００は、所定の基準として、閾値ＴＩＮＦに示すような閾値「１０００」を用いて、対象トリプル情報を選択する場合を示す。図１１の例では、図１の階層図ＳＴＨ１−１中の領域ＡＲ１１に対応する部分である階層図ＳＴＨ５を例に簡単な具体例を説明する。図１１中の階層図ＳＴＨ５においては、第２トリプル情報ＳＩＤ１１のカウント値が「２０００」であり、第２トリプル情報ＳＩＤ２１のカウント値が「９００」であり、第２トリプル情報ＳＩＤ２２のカウント値が「１２００」であるものとする。また、図１１中の階層図ＳＴＨ５においては、第２トリプル情報ＳＩＤ３１のカウント値が「３００」であり、第２トリプル情報ＳＩＤ３２のカウント値が「２００」であるものとする。
【００６５】
図１１の例では、情報処理装置１００は、１つ上の階層の第２トリプル情報ＳＩＤ２２のカウント値が閾値「１０００」以上であり、自身のカウント値が閾値「１０００」未満である第２トリプル情報ＳＩＤ３１及び第２トリプル情報ＳＩＤ３２を対象トリプル情報に選択する。一方、情報処理装置１００は、１つ上の階層の第２トリプル情報ＳＩＤ１１のカウント値が閾値「１０００」以上であり、自身のカウント値が閾値「１０００」未満である第２トリプル情報ＳＩＤ２１については、対象トリプル情報として選択しない。具体的には、情報処理装置１００は、第２トリプル情報ＳＩＤ２１については、閾値の条件を満たすが、自身よりも下位の第２トリプル情報が対象トリプル情報として選択されているため、対象トリプル情報として選択しない。なお、上記は一例であり、情報処理装置１００は、種々の条件を適宜用いて、対象トリプル情報を選択してもよい。
【００６６】
例えば、情報処理装置１００は、以下のような処理により対象トリプル情報として選択する第２トリプル情報を決定してもよい。例えば、情報処理装置１００は、図１中のステップＳ１４において対象トリプル情報を選択した後、その選択した対象トリプル情報（「対象トリプル候補群」とする）を対象として精査処理を行うことにより、最終的に対象トリプル情報として選択する第２トリプル情報を決定してもよい。例えば、情報処理装置１００は、以下のような精査処理を行う。
【００６７】
まず、情報処理装置１００は、対象トリプル候補群から１つずつ要素（「精査対象トリプル」とする）を取り出す。情報処理装置１００は、取り出した精査対象トリプル（対象トリプル情報）よりも具体的である第２トリプル情報（スキーマトリプル）を集合ＳＴ２として収集する。そして、情報処理装置１００は、集合ＳＴ２中の各要素（第２トリプル情報）について、対象トリプル候補群に含まれるかどうかを判定する。情報処理装置１００は、集合ＳＴ２中のいずれかの要素が対象トリプル候補群に含まれる場合、精査対象トリプルを対象トリプル候補群（スケルトングラフ）から除外する。情報処理装置１００は、この処理を対象トリプル候補群に含まれる全対象トリプル情報に対して行う。
【００６８】
例えば、図１中のステップＳ１４において第２トリプル情報ＳＩＤ２１が対象トリプル情報として選択された場合であっても、情報処理装置１００は、上記の精査処理により第２トリプル情報ＳＩＤ２１が対象トリプル候補群（スケルトングラフ）から除外することができる。なお、上記は一例であり情報処理装置１００は、種々のアルゴリズムを適宜用いて精査処理を行ってもよい。
【００６９】
〔１−４．閾値〕
また、情報処理装置１００は、種々の情報を適宜用いて閾値を決定してもよい。情報処理装置１００は、所定の初期値を設定し、対象トリプル情報の選択結果に応じて、閾値を更新し、所望の対象トリプル情報が選択されるまで選択処理を繰り返し実行してもよい。例えば、情報処理装置１００は、所定の初期値を設定し、選択処理を繰り返しの度に所定の増加値分だけ閾値を増加させて、所望の対象トリプル情報が選択されるまで選択処理を繰り返し実行してもよい。
【００７０】
例えば、情報処理装置１００は、トリプル総数がＮ（任意の数）、分割数をＰ（任意の数）としたとき、Ｎ／Ｐを初期値として用いてもよい。例えば、情報処理装置１００は、第１トリプル情報の総数がＮ＝１億であり、分割数がＰ＝１００である場合、「１００万（１億／１００）」を閾値の初期値として用いてもよい。また、例えば、情報処理装置１００は、第２トリプル情報（スキーマトリプル）のカウント値（統計値）の平均値をＡとした場合、１０＊Ａを増加値として用いてもよい。例えば、情報処理装置１００は、第２トリプル情報（スキーマトリプル）のカウント値（統計値）の平均値が「５００」とした場合、「５０００（１０＊５００）」を増加値として用いてもよい。なお、上記は一例であり情報処理装置１００は、種々の情報を適宜用いて閾値を設定してもよい。
【００７１】
〔１−５．概念関係情報の追加〕
情報処理装置１００は、スケルトングラフに種々の情報を加味して、関係性情報を生成してもよい。情報処理装置１００は、種々の情報をスケルトングラフに追加して、各対象トリプル情報間の距離を算出してもよい。この点について図１４を用いて説明する。図１４は、実施形態に係るクラスタリングの一例を示す図である。なお、図１や図２と同様の点については適宜説明を省略する。
【００７２】
例えば、情報処理装置１００は、対象トリプル情報間の概念関係を加味して、対象トリプル情報間の距離を算出してもよい。情報処理装置１００は、対象トリプル情報間の上位下位概念関係を示すエッジ（以下「概念関係エッジ」とする）をスケルトングラフに追加して、対象トリプル情報間の距離を算出してもよい。
【００７３】
まず、情報処理装置１００は、概念関係エッジをスケルトングラフに追加する（ステップＳ５１）。例えば、情報処理装置１００は、オントロジ情報記憶部１２３（図７参照）に示す情報を用いて、対象トリプル情報間の上位下位概念関係を示す概念エッジをスケルトングラフに追加してもよい。
【００７４】
例えば、情報処理装置１００は、オントロジ情報記憶部１２３中に、対象トリプル情報の主語または目的語に対応する主語または目的語を含むオントロジ情報であって、概念の上位下位関係を示すオントロジ情報があるかを探索する。例えば、情報処理装置１００は、オントロジ情報記憶部１２３中に、対象トリプル情報の主語または目的語に対応する主語または目的語を含み、述語を「rdfs:subClassOf」とするオントロジ情報があるかを探索する。例えば、情報処理装置１００は、対象トリプル情報の主語または目的語に対応する全識別子を対象に探索を行う。情報処理装置１００は、対象トリプル情報の主語または目的語に対応する全識別子のうち、ある識別子が主語であり、他の識別子が目的語であり、述語を「rdfs:subClassOf」であるオントロジ情報があるかを探索する。
【００７５】
例えば、オントロジ情報記憶部１２３には、スケルトングラフに含まれるノードＮ１６に対応する「<engineer>」を主語とし、ノードＮ８に対応する「<employee>」を目的語とし、述語を「rdfs:subClassOf」とするオントロジ情報ＴＩＤ２２２が含まれる。すなわち、スケルトングラフに含まれるノードＮ１６に対応する「<engineer>」は、ノードＮ８に対応する「<employee>」の下位概念であることを示す。図１４の例では、情報処理装置１００は、「<engineer>」に対応するノードＮ１６と「<employee>」に対応するノードＮ８との間に概念的な上下関係が有ることを示す概念関係エッジＣＥ２等を追加する。
【００７６】
このように、情報処理装置１００は、スケルトングラフに含まれるノードに対応する主語または目的語間の概念関係を示す概念関係エッジを追加したスケルトングラフＧＩＮＦ２１を生成する。図１４の例では、情報処理装置１００は、ノードＮ１７とノードＮ５との間の概念関係を示す概念関係エッジＣＥ２やノードＮ１６とノードＮ８との間の概念関係を示す概念関係エッジＣＥ２等を追加する。
【００７７】
そして、情報処理装置１００は、概念関係エッジを追加したスケルトングラフＧＩＮＦ２１をもちいて、対象トリプル情報間の関係性を示す関係性情報を生成する。図１４の例では、情報処理装置１００は、関係性情報として、対象トリプル情報間の距離を算出する。例えば、情報処理装置１００は、図２と同様に、対象トリプル情報間のパス（経路）に関するパス情報に基づいて、距離を算出する。
【００７８】
例えば、情報処理装置１００は、図２と同様に、「距離＝−（カウント値の合計値／エッジの本数）」等の式を用いて距離を算出してもよい。なお、情報処理装置１００は、概念関係エッジをエッジの本数の算出の対象として、エッジの本数を算出する。一方、情報処理装置１００は、カウント値の合計の算出の対象として、概念関係エッジを利用しない。言い換えると、情報処理装置１００は、カウント値の合計の算出の対象として、概念関係エッジで連結されたトリプル情報を利用しない。すなわち、情報処理装置１００は、カウント値の合計の算出時においては、概念関係エッジを除いて、カウント値の合計を算出する。
【００７９】
そして、情報処理装置１００は、クラスタリングを行う（ステップＳ５２）。情報処理装置１００は、選択した対象トリプル情報をクラスタリングしたクラスタ情報を生成する。情報処理装置１００は、対象トリプル情報をクラスタリングしたクラスタ情報ＣＬＩＮＦ１１を生成する。情報処理装置１００は、スケルトングラフＧＩＮＦ１１中の対象トリプル情報をクラスタリングする。図１４の例では、情報処理装置１００は、所定のクラスタリング手法により、複数の対象トリプル情報をクラスタリングする。例えば、情報処理装置１００は、法等の種々の従来技術を適宜用いて、複数の対象トリプル情報をクラスタリングしてもよい。ｋ−ｍｅａｎｓやディリクレ過程を用いたロジスティック回帰等の種々のクラスタリング手法を用いてもよい。
【００８０】
図１４の例では、情報処理装置１００は、各対象トリプル情報がクラスタＣＬ５１〜ＣＬ５３等に分類されるように、クラスタリングする。例えば、情報処理装置１００は、ノードＮ５とエッジｐ３とノードＮ２とからなる第２トリプル情報がクラスタＣＬ５３にクラスタリングされる点で図２のクラスタリング結果と相違する。例えば、情報処理装置１００は、概念関係エッジＣＥ１が追加されたことにより、ノードＮ５とエッジｐ３とノードＮ２とからなる第２トリプル情報がクラスタＣＬ５３にクラスタリングする。
【００８１】
このように、情報処理装置１００は、スケルトングラフに各ノード間の概念関係を示す概念関係エッジを追加することにより、より適切にクラスタリングを行うことができる。
【００８２】
〔１−６．スケルトングラフ〕
なお、図２の例では、対象トリプル情報中の主語及び目的語をノードとし、述語をエッジとする場合を一例として説明したが、情報処理装置１００は、種々の態様のスケルトングラフを生成してもよい。例えば、情報処理装置１００は、対象トリプル情報中の全要素をノードとしたスケルトングラフを生成してもよい。すなわち、情報処理装置１００は、対象トリプル情報中の主語、述語及び目的語をノードとしたスケルトングラフを生成してもよい。
【００８３】
この場合、情報処理装置１００は、対象トリプル情報中の主語、述語及び目的語をノードとし、同じ対象トリプル情報に含まれる要素をエッジで連結したスケルトングラフを生成してもよい。例えば、情報処理装置１００は、１つの対象トリプル情報について、主語を連結元とし述語を連結先として第１エッジで連結し、述語を連結元とし目的語を連結先として第２エッジで連結してもよい。これにより、情報処理装置１００は、「主語→述語→目的語」の順でノードが連結されたスケルトングラフを生成してもよい。この場合、情報処理装置１００は、第１エッジと第２エッジとの対応付けを示す情報を記憶する。
【００８４】
〔１−６−１．述語間の概念関係情報の追加〕
また、例えば、情報処理装置１００は、述語間の概念関係を加味して、対象トリプル情報間の距離を算出してもよい。情報処理装置１００は、述語間の上位下位概念関係を示す概念関係エッジをスケルトングラフに追加して、対象トリプル情報間の距離を算出してもよい。
【００８５】
例えば、情報処理装置１００は、オントロジ情報記憶部１２３中に、対象トリプル情報の述語に対応する述語を含むオントロジ情報であって、概念の上位下位関係を示すオントロジ情報があるかを探索する。例えば、情報処理装置１００は、オントロジ情報記憶部１２３中に、対象トリプル情報の述語に対応する主語または目的語を含み、述語を「rdfs:SubPropertyOf」とするオントロジ情報があるかを探索する。オントロジ情報記憶部１２３中に、対象トリプル情報の述語に対応する主語または目的語を含み、述語を「rdfs:SubPropertyOf」とするオントロジ情報がある場合、情報処理装置１００は、その対象トリプル情報の述語に対応するノード間を概念関係エッジで連結してもよい。
【００８６】
〔２．情報処理システムの構成〕
図３に示すように、情報処理システム１は、端末装置１０と、情報提供装置５０と、情報処理装置１００とが含まれる。端末装置１０と、情報提供装置５０と、情報処理装置１００とは所定のネットワークＮを介して、有線または無線により通信可能に接続される。図３は、実施形態に係る情報処理システムの構成例を示す図である。なお、図３に示した情報処理システム１には、複数台の端末装置１０や、複数台の情報提供装置５０や、複数台の情報処理装置１００が含まれてもよい。
【００８７】
端末装置１０は、ユーザによって利用される情報処理装置である。端末装置１０は、ユーザによる種々の操作を受け付ける。なお、以下では、端末装置１０をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置１０と読み替えることもできる。なお、上述した端末装置１０は、例えば、スマートフォンや、タブレット型端末や、ノート型ＰＣ（Personal  Computer）や、デスクトップＰＣや、携帯電話機や、ＰＤＡ（Personal  Digital  Assistant）等により実現される。
【００８８】
情報提供装置５０は、ウェブサーバ等の種々の外部装置から収集した文字情報等に基づくトリプル情報が格納された情報処理装置である。例えば、情報提供装置５０は、ウェブサーバ等の種々の外部装置から収集したリソースに関する情報に基づいてトリプル情報を生成する。また、例えば、情報提供装置５０は、第１トリプル情報や第２トリプル情報やオントロジ情報を情報処理装置１００へ提供する。
【００８９】
情報処理装置１００は、統計的情報と統計的情報に関する所定の基準とに基づいて、複数の第２トリプル情報のうち、クラスタリング処理に用いる複数の対象トリプル情報を選択する情報処理装置である。情報処理装置１００は、選択した複数の対象トリプル情報の各々に含まれる要素に基づいて、複数の対象トリプル情報間の関係性を示す関係性情報を生成する。情報処理装置１００は、関係性情報に基づいて、複数の対象トリプル情報をクラスタリングしたクラスタ情報を生成する。また、情報処理装置１００は、端末装置１０に第１トリプル情報に関する統計的情報を提供する。また、情報処理装置１００は、各第２トリプル情報について、第１トリプル情報に関する統計的情報を生成してもよい。情報処理装置１００は、複数の第２トリプル情報の各々に対応する第１トリプル情報の数に基づいて、複数の第１トリプル情報に関する統計的情報を算出してもよい。なお、情報処理装置１００は、ウェブサーバ等の種々の外部装置から収集したリソースに関する情報に基づいて、トリプル情報を生成してもよい。例えば、情報処理装置１００は、ウェブサーバ等の種々の外部装置から収集したリソースに関する情報に基づいて、第１トリプル情報や第２トリプル情報やオントロジ情報を生成してもよい。
【００９０】
〔３．情報処理装置の構成〕
次に、図４を用いて、実施形態に係る情報処理装置１００の構成について説明する。図４は、実施形態に係る情報処理装置１００の構成例を示す図である。図４に示すように、情報処理装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、情報処理装置１００は、情報処理装置１００の管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【００９１】
（通信部１１０）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部１１０は、ネットワーク（例えば図３中のネットワークＮ）と有線または無線で接続され、端末装置１０との間で情報の送受信を行う。
【００９２】
（記憶部１２０）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部１２０は、図４に示すように、第１トリプル情報記憶部１２１と、第２トリプル情報記憶部１２２と、オントロジ情報記憶部１２３と、対象トリプル情報記憶部１２４と、グラフ情報記憶部１２５と、クラスタ情報記憶部１２６とを有する。
【００９３】
（第１トリプル情報記憶部１２１）
実施形態に係る第１トリプル情報記憶部１２１は、トリプルに関する各種情報を記憶する。例えば、第１トリプル情報記憶部１２１は、トリプル情報や関連付け情報を記憶する。図５は、実施形態に係る第１トリプル情報記憶部の一例を示す図である。図５に示す第１トリプル情報記憶部１２１は、「第１トリプルＩＤ」、「Subject（主語）」、「Predicate（述語）」、「Object（目的語）」といった項目が含まれる。
【００９４】
「第１トリプルＩＤ」は、トリプル情報を識別するための識別情報を示す。また、「Subject（主語）」は、第１トリプルＩＤにより識別されるトリプル情報の主語に対応する値を示す。また、「Predicate（述語）」は、第１トリプルＩＤにより識別されるトリプル情報の述語に対応する値を示す。また、「Object（目的語）」は、第１トリプルＩＤにより識別されるトリプル情報の目的語に対応する値を示す。
【００９５】
図５に示す例においては、第１トリプル情報記憶部１２１には、第１トリプルＩＤ「ＦＩＤ１１」により識別される第１トリプル情報ＦＩＤ１１や第１トリプルＩＤ「ＦＩＤ１１０５」により識別される第１トリプル情報ＦＩＤ１１０５等の多数（例えば、数十億や数百億等）のトリプル情報が記憶される。
【００９６】
図５に示す例において、第１トリプルＩＤ「ＦＩＤ１１」により識別される第１トリプル情報ＦＩＤ１１は、主語が「<Jim>」、すなわち所定の人間「ジム」であることを示す。また、図５に示す例において、第１トリプル情報ＦＩＤ１１は、述語が「<worksAt>」、すなわち「〜で働いている」という意味の述語であることを示す。また、図５に示す例において、第１トリプル情報ＦＩＤ１１は、目的語が「<HOGE.inc>」、すなわち所定の会社「HOGE.inc」であることを示す。このように、図５に示す例において、第１トリプル情報ＦＩＤ１１は、「ジムはHOGE.incで働いている」という具体的な意味に対応するトリプル情報である。
【００９７】
また、図５に示す例において、第１トリプルＩＤ「ＦＩＤ２１」により識別される第１トリプル情報ＦＩＤ２１は、主語が「<Jim>」であることを示す。また、図５に示す例において、第１トリプル情報ＦＩＤ２１は、述語が「<hasAge>」、すなわち「〜歳である」という意味の述語であることを示す。また、図５に示す例において、第１トリプル情報ＦＩＤ１１は、目的語が「32」、すなわち数値「３２」であることを示す。このように、図５に示す例において、第１トリプル情報ＦＩＤ２１は、「ジムは３２歳である」という具体的な意味に対応するトリプル情報である。
【００９８】
なお、第１トリプル情報記憶部１２１は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、第１トリプル情報記憶部１２１には、抽象的な意味に対応するトリプル情報が記憶されてもよい。例えば、第１トリプル情報記憶部１２１は、「Subject（主語）」、「Predicate（述語）」、「Object（目的語）」には、所定のプロパティが格納されてもよい。
【００９９】
（第２トリプル情報記憶部１２２）
実施形態に係る第２トリプル情報記憶部１２２は、第１トリプル情報記憶部１２１に記憶されたトリプル情報の参照に用いる各種情報を記憶する。図６は、実施形態に係る第２トリプル情報記憶部の一例を示す図である。図６に示す第２トリプル情報記憶部１２２は、「第２トリプルＩＤ」、「Subject（主語）」、「Predicate（述語）」、「Object（目的語）」、「階層情報」、「統計的情報」といった項目が含まれる。また、図示を省略するが、第２トリプル情報記憶部１２２は、各第２トリプル情報に対応する第１トリプル情報を示す情報を記憶する。例えば、第２トリプル情報記憶部１２２は、各第２トリプル情報としてカウントされた第１トリプル情報を示す情報を、第２トリプル情報に対応付けて記憶する。
【０１００】
「第２トリプルＩＤ」は、トリプル情報を識別するための識別情報を示す。また、「Subject（主語）」は、第２トリプルＩＤにより識別されるトリプル情報の主語に対応する値を示す。また、「Predicate（述語）」は、第２トリプルＩＤにより識別されるトリプル情報の述語に対応する値を示す。また、「Object（目的語）」は、第２トリプルＩＤにより識別されるトリプル情報の目的語に対応する値を示す。
【０１０１】
また、「階層情報」には、「上位１」や「上位２」といった項目が含まれる。例えば、「上位１」や「上位２」は、第２トリプルＩＤにより識別されるトリプル情報の上位概念（上位クラス）に対応するトリプル情報を識別する情報が記憶される。なお、図６では、「上位１」及び「上位２」のみを図示するが、トリプル情報の上位クラスに対応する全トリプル情報が記憶されるように「上位３」や「上位４」等が含まれてもよい。
【０１０２】
また、「統計的情報」には、「階層」や「カウント値」といった項目が含まれる。例えば、「階層」は、第２トリプルＩＤにより識別されるトリプル情報の第２トリプル情報における階層が記憶される。例えば、「カウント値」は、第２トリプルＩＤにより識別されるトリプル情報のカウント値が記憶される。例えば、「カウント値」は、第２トリプルＩＤにより識別されるトリプル情報に対応する第１トリプル情報の数に基づくカウント値が記憶される。
【０１０３】
図６に示す例においては、第２トリプル情報記憶部１２２には、第２トリプルＩＤ「ＳＩＤ２１」により識別される第２トリプル情報ＳＩＤ２１や第２トリプルＩＤ「ＳＩＤ４１」により識別される第２トリプル情報ＳＩＤ４１等のトリプル情報が記憶される。
【０１０４】
図６に示す例において、第２トリプルＩＤ「ＳＩＤ１」により識別される第２トリプル情報ＳＩＤ１は、主語が「<owl:Thing>」であり、所定のクラス、例えばすべての個体の集合に対応するクラスであることを示す。また、図６に示す例において、第２トリプル情報ＳＩＤ１は、述語が「<rdf:Property>」であり、所定のクラス、例えばプロパティを表すクラスであることを示す。また、図６に示す例において、第２トリプル情報ＳＩＤ１は、目的語が「<owl:Thing>」であり、所定のクラス、例えばすべての個体の集合に対応するクラスであることを示す。このように、図６に示す例において、第２トリプル情報ＳＩＤ１は、例えば「あるものがあるものと関係がある」という抽象的な意味に対応するトリプル情報である。例えば、第２トリプル情報ＳＩＤ１は、２つのものが関係が有ることのみを示す最上位の抽象的な意味に対応するトリプル情報である。
【０１０５】
また、第２トリプル情報ＳＩＤ１は、上位階層の第２トリプル情報がないことを示す。また、第２トリプル情報ＳＩＤ１は、階層が「０」階層であり、カウント数が「１０００００」であることを示す。例えば、第２トリプル情報ＳＩＤ１は、最上位階層であり、それ以上抽象的な第２トリプル情報がない第２トリプル情報である。
【０１０６】
図６に示す例において、第２トリプルＩＤ「ＳＩＤ１１」により識別される第２トリプル情報ＳＩＤ１１は、主語が「<person>」、すなわち人間であることを示す。また、図６に示す例において、第２トリプル情報ＳＩＤ１１は、述語が「<worksAt>」、すなわち「〜で働いている」という意味の述語であることを示す。また、図６に示す例において、第２トリプル情報ＳＩＤ１１は、目的語が「<organization>」、すなわち組織であることを示す。このように、図６に示す例において、第２トリプル情報ＳＩＤ１１は、「人間は組織で働いている」という抽象的な意味に対応するトリプル情報である。
【０１０７】
また、第２トリプル情報ＳＩＤ１１は、上位階層の第２トリプル情報が第２トリプル情報ＳＩＤ１であることを示す。また、第２トリプル情報ＳＩＤ１１は、階層が「Ｘ（Ｘは任意の数）」階層であり、カウント数が「１００００」であることを示す。例えば、第２トリプル情報ＳＩＤ１１は、最上位階層「０」の第２トリプル情報ＳＩＤ１の直下の階層「１」の第２トリプル情報である。
【０１０８】
図６に示す例において、第２トリプルＩＤ「ＳＩＤ４１」により識別される第２トリプル情報ＳＩＤ４１は、主語が「<engineer>」、すなわち技術者であることを示す。また、図６に示す例において、第２トリプル情報ＳＩＤ４１は、述語が「<worksAt>」、すなわち「〜で働いている」という意味の述語であることを示す。また、図６に示す例において、第２トリプル情報ＳＩＤ４１は、目的語が「<company>」、すなわち会社であることを示す。このように、図６に示す例において、第２トリプル情報ＳＩＤ４１は、「技術者は会社で働いている」という抽象的な意味に対応するトリプル情報であってもよい。
【０１０９】
また、第２トリプル情報ＳＩＤ４１は、上位階層の第２トリプル情報が第２トリプル情報ＳＩＤ３１や第２トリプル情報ＳＩＤ３２であることを示す。また、第２トリプル情報ＳＩＤ４１は、階層が「Ｘ＋３（Ｘは任意の数）」階層であり、カウント数が「８０」であることを示す。例えば、第２トリプル情報ＳＩＤ４１は、階層「３」の第２トリプル情報ＳＩＤ３１や第２トリプル情報ＳＩＤ３２の直下の階層「４」の第２トリプル情報であってもよい。
【０１１０】
なお、第２トリプル情報記憶部１２２は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、第２トリプル情報記憶部１２２には、具体的な意味に対応するトリプル情報が記憶されてもよい。例えば、第２トリプル情報記憶部１２２は、「Subject（主語）」、「Predicate（述語）」、「Object（目的語）」には、所定のプロパティが格納されてもよい。また、例えば、第２トリプル情報記憶部１２２は、「階層情報」に、「下位１」や「下位２」といったそのトリプル情報に対応する下位概念（下位クラス）を示す項目が含まれてもよい。
【０１１１】
（オントロジ情報記憶部１２３）
実施形態に係るオントロジ情報記憶部１２３は、所定の概念体系（オントロジ）に関する各種情報を記憶する。例えば、オントロジ情報記憶部１２３は、各エンティティ（実体）等の定義に関する情報等を記憶する。図７は、実施形態に係るオントロジ情報記憶部の一例を示す図である。図７に示すオントロジ情報記憶部１２３は、「オントロジＩＤ」、「Subject（主語）」、「Predicate（述語）」、「Object（目的語）」といった項目が含まれる。
【０１１２】
「オントロジＩＤ」は、トリプル情報を識別するための識別情報を示す。また、「Subject（主語）」は、オントロジＩＤにより識別されるトリプル情報の主語に対応する値を示す。また、「Predicate（述語）」は、オントロジＩＤにより識別されるトリプル情報の述語に対応する値を示す。また、「Object（目的語）」は、オントロジＩＤにより識別されるトリプル情報の目的語に対応する値を示す。
【０１１３】
図７に示す例において、オントロジＩＤ「ＴＩＤ１０１」により識別されるオントロジ情報ＴＩＤ１０１は、主語が「<worksAt>」であることを示す。また、図７に示す例において、オントロジ情報ＴＩＤ１０１は、述語が「rdfs:domain」、すなわち定義域を示す所定のプロパティであることを示す。この場合、述語「rdfs:domain」は、「<worksAt>」の主語になり得るクラスを示す。また、図７に示す例において、オントロジ情報ＴＩＤ１０１は、目的語が「<person>」、すなわち人間であることを示す。このように、図７に示す例において、オントロジ情報ＴＩＤ１０１は、「<worksAt>」の主語には、クラス「<person>」以下のクラスがなり得ることを定義する。
【０１１４】
図７に示す例において、オントロジＩＤ「ＴＩＤ１０２」により識別されるオントロジ情報ＴＩＤ１０２は、主語が「<worksAt>」であることを示す。また、図７に示す例において、オントロジ情報ＴＩＤ１０２は、述語が「rdfs:range」、すなわち値域を示す所定のプロパティであることを示す。この場合、述語「rdfs:range」は、「<worksAt>」の目的語になり得るクラスを示す。また、図７に示す例において、オントロジ情報ＴＩＤ１０２は、目的語が「<organization>」、すなわち組織であることを示す。このように、図７に示す例において、オントロジ情報ＴＩＤ１０２は、「<worksAt>」の目的語には、クラス「<organization>」以下のクラスがなり得ることを定義する。
【０１１５】
また、図７に示す例において、オントロジＩＤ「ＴＩＤ２０１」により識別されるオントロジ情報ＴＩＤ２０１は、主語が「<ceo>」、すなわち最高経営責任者であることを示す。また、図７に示す例において、オントロジ情報ＴＩＤ２０１は、述語が「rdfs:subClassOf」、すなわち所定のプロパティであることを示す。例えば、述語「rdfs:subClassOf」は、主語に対応する値が目的語に対応するクラスのメンバー、つまりサブクラス（下位クラス）であることを示す。また、図７に示す例において、オントロジ情報ＴＩＤ２０１は、目的語が「<officer>」、すなわち役員であることを示す。このように、図７に示す例において、オントロジ情報ＴＩＤ２０１は、「<officer>」は、「<ceo>」の下位クラス（下位概念）であることを定義する。
【０１１６】
また、図７に示す例において、オントロジＩＤ「ＴＩＤ５０１」により識別されるオントロジ情報ＴＩＤ５０１は、主語が「<Jim>」、すなわち所定の人間「ジム」であることを示す。また、図７に示す例において、オントロジ情報ＴＩＤ５０１は、述語が「rdf:type」、すなわち所定のプロパティであることを示す。例えば、述語「rdf:type」は、主語に対応する値が目的語に対応するクラスのインスタンスであることを示す。また、図７に示す例において、オントロジ情報ＴＩＤ５０１は、目的語が「<ceo>」、すなわち最高経営責任者であることを示す。このように、図７に示す例において、オントロジ情報ＴＩＤ５０１は、「<Jim>」は、「<ceo>」のインスタンスであること、すなわち「ジムは最高経営責任者である」ことを定義する。
【０１１７】
なお、オントロジ情報記憶部１２３は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、オントロジ情報記憶部１２３には、具体的な意味に対応するトリプル情報が記憶されてもよい。
【０１１８】
（対象トリプル情報記憶部１２４）
実施形態に係る対象トリプル情報記憶部１２４は、対象トリプルに関する各種情報を記憶する。例えば、第２トリプル情報ＳＩＤ３２は、選択処理で選択された第２トリプルを対象トリプルとして記憶する。図８に示す対象トリプル情報記憶部１２４は、「対象トリプルＩＤ（第２トリプルＩＤ）」、「Subject（ノードＩＤ）」、「Predicate（エッジＩＤ）」、「Object（ノードＩＤ）」、「統計的情報」といった項目が含まれる。
【０１１９】
「対象トリプルＩＤ（第２トリプルＩＤ）」は、トリプル情報を識別するための識別情報を示す。また、「Subject（ノードＩＤ）」は、対象トリプルＩＤにより識別されるトリプル情報の主語に対応する値やノードＩＤを示す。また、「Predicate（エッジＩＤ）」は、第２トリプルＩＤにより識別されるトリプル情報の述語に対応する値やエッジＩＤを示す。また、「Object（ノードＩＤ）」は、第２トリプルＩＤにより識別されるトリプル情報の目的語に対応する値やノードＩＤを示す。図８の例では、「Subject（ノードＩＤ）」、「Predicate（エッジＩＤ）」、「Object（ノードＩＤ）」に対応するデータ中のうち、「<」及び「>」で囲まれたものが各値に対応し、「（」及び「）」で囲まれたものが各ＩＤに対応する。
【０１２０】
また、「統計的情報」には、「カウント値」といった項目が含まれる。「カウント値」は、第２トリプルＩＤにより識別されるトリプル情報に対応する第１トリプル情報の数に基づくカウント値が記憶される。
【０１２１】
図８に示す例においては、対象トリプル情報記憶部１２４には、対象トリプルＩＤ「ＳＩＤ２５」により識別される第２トリプル情報ＳＩＤ２５や対象トリプルＩＤ「ＳＩＤ３１」により識別される第２トリプル情報ＳＩＤ３１等のトリプル情報が記憶される。
【０１２２】
図８に示す例において、対象トリプルＩＤ「ＳＩＤ３２」により識別される第２トリプル情報ＳＩＤ３２は、主語が「<engineer>」、すなわち技術者であることを示す。また、第２トリプル情報ＳＩＤ３２の主語「<engineer>」のノードＩＤは「Ｎ１６」であることを示す。
【０１２３】
また、第２トリプル情報ＳＩＤ３２は、述語が「<worksAt>」、すなわち「〜で働いている」という意味の述語であることを示す。また、第２トリプル情報ＳＩＤ３２の述語「<worksAt>」のエッジＩＤは「ｐ２０」であることを示す。
【０１２４】
また、第２トリプル情報ＳＩＤ３２は、目的語が「<organization>」、すなわち組織であることを示す。また、第２トリプル情報ＳＩＤ３２の目的語「<organization>」のノードＩＤは「Ｎ２１」であることを示す。また、第２トリプル情報ＳＩＤ３２のカウント値は、「２００」であることを示す。
【０１２５】
なお、対象トリプル情報記憶部１２４は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【０１２６】
（グラフ情報記憶部１２５）
実施形態に係るグラフ情報記憶部１２５は、グラフに関する各種情報を記憶する。図９は、実施形態に係るグラフ情報記憶部の一例を示す図である。図９に示すグラフ情報記憶部１２５は、「エッジＩＤ（述語エッジ）」、「ノードＩＤ」といった項目が含まれる。「ノードＩＤ」には、「主語ノード（連結元）」、「目的語ノード（連結先）」といった項目が含まれる。
【０１２７】
「エッジＩＤ（述語エッジ）」は、グラフに含まれるエッジを識別するための識別情報を示す。また、「主語ノード（連結元）」は、エッジの連結元となるノード（主語ノード）を識別するための識別情報を示す。また、「目的語ノード（連結先）」は、エッジの連結先となるノード（目的語ノード）を識別するための識別情報を示す。
【０１２８】
図９に示す例では、エッジＩＤ「ｐ１」により識別されるエッジｐ１は、ノードＮ３を主語ノードとし、ノードＮ１を目的語ノードとして連結することを示す。すなわち、ノードＮ３からはエッジｐ１がノードＮ１へ向けて連結される。
【０１２９】
なお、グラフ情報記憶部１２５は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【０１３０】
（クラスタ情報記憶部１２６）
実施形態に係るクラスタ情報記憶部１２６は、クラスタリングに関する各種情報を記憶する。図１０は、実施形態に係るクラスタ情報記憶部の一例を示す図である。図１０に示すクラスタ情報記憶部１２６は、「クラスタＩＤ」、「対象トリプルＩＤ」といった項目が含まれる。「対象トリプルＩＤ」には、「＃１」、「＃２」といった項目が含まれる。
【０１３１】
「クラスタＩＤ」は、クラスタを識別するための識別情報を示す。また、「対象トリプルＩＤ」は、対応するクラスタに属する第２トリプル情報を示す。
【０１３２】
図１０に示す例では、クラスタＩＤ「ＣＬ１」により識別されるクラスタＣＬ１には、第２トリプル情報ＳＩＤ５５等が属することを示す。また、クラスタＩＤ「ＣＬ２」により識別されるクラスタＣＬ２には、第２トリプル情報ＳＩＤ２５や第２トリプル情報ＳＩＤ３１等が属することを示す。
【０１３３】
なお、クラスタ情報記憶部１２６は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【０１３４】
（制御部１３０）
図４の説明に戻って、制御部１３０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、情報処理装置１００内部の記憶装置に記憶されている各種プログラム（情報処理プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、コントローラであり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【０１３５】
図４に示すように、制御部１３０は、取得部１３１と、選択部１３２と、生成部１３３と、提供部１３４とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図４に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【０１３６】
（取得部１３１）
取得部１３１は、各種情報を取得する。取得部１３１は、端末装置１０や情報提供装置５０等の外部の情報処理装置から各種情報を取得する。例えば、取得部１３１は、第１トリプル情報記憶部１２１、第２トリプル情報記憶部１２２、オントロジ情報記憶部１２３、対象トリプル情報記憶部１２４、グラフ情報記憶部１２５、クラスタ情報記憶部１２６等から各種情報を取得する。また、取得部１３１は、各種情報を外部の情報処理装置から取得してもよい。また、取得部１３１は、各トリプル情報に関する情報を情報提供装置５０から取得してもよい。
【０１３７】
取得部１３１は、３種類の要素に関する関係を示す複数の第１トリプル情報における概念体系に基づいて階層化された複数の第２トリプル情報と、複数の第２トリプル情報の各々に対応する第１トリプル情報の数を示す統計的情報とを取得する。
【０１３８】
例えば、取得部１３１は、３種類の要素に関する関係を示す複数の第１トリプル情報と、複数の第１トリプル情報における概念体系に基づく複数の第２トリプル情報とを取得する。例えば、取得部１３１は、第１トリプル情報記憶部１２１から複数の第１トリプル情報を取得する。また、例えば、取得部１３１は、第２トリプル情報記憶部１２２から複数の第２トリプル情報を取得する。例えば、取得部１３１は、所定の概念体系に関する情報に基づいて階層化された複数の第２トリプル情報を取得する。
【０１３９】
取得部１３１は、図１中の第２トリプル情報記憶部１２２に示すような第２トリプル情報を取得する。取得部１３１は、記憶部１２０（図４参照）から第２トリプル情報を取得してもよいし、情報提供装置５０（図３参照）から第２トリプル情報を取得してもよい。
【０１４０】
取得部１３１は、図２中の対象トリプル情報記憶部１２４に示すような対象トリプル情報を取得する。取得部１３１は、記憶部１２０（図４参照）から対象トリプル情報を取得してもよいし、情報提供装置５０（図３参照）から対象トリプル情報を取得してもよい。
【０１４１】
（選択部１３２）
選択部１３２は、種々の情報を選択する。例えば、選択部１３２は、第１トリプル情報記憶部１２１、第２トリプル情報記憶部１２２、オントロジ情報記憶部１２３、対象トリプル情報記憶部１２４、グラフ情報記憶部１２５、クラスタ情報記憶部１２６等に記憶された情報に基づいて、各種選択を行う。例えば、選択部１３２は、取得部１３１により取得された情報に基づいて、種々の選択処理を行う。選択部１３２は、各種情報を抽出する。例えば、選択部１３２は、トリプル情報を抽出する。
【０１４２】
選択部１３２は、取得部１３１により取得された統計的情報と、統計的情報に関する所定の基準とに基づいて、複数の第２トリプル情報のうち、クラスタリング処理に用いる複数の対象トリプル情報を選択する。選択部１３２は、複数の第２トリプル情報の各々の統計的情報と、所定の基準である所定の閾値との比較に基づいて、複数の対象トリプル情報を選択する。
【０１４３】
選択部１３２は、複数の第１トリプル情報の数とクラスタ数に関する値とにより算出される所定の閾値に基づいて、複数の対象トリプル情報を選択する。選択部１３２は、一の第２トリプル情報の統計的情報が所定の閾値未満であり、一の第２トリプル情報の上位概念の階層の他の第２トリプル情報の統計的情報が所定の閾値以上である場合、一の第２トリプル情報を、対象トリプル情報として選択する。選択部１３２は、一の第２トリプル情報の統計的情報が所定の閾値未満であり、一の第２トリプル情報のノードに直接連結する他の第２トリプル情報の統計的情報が所定の閾値以上である場合、一の第２トリプル情報を、対象トリプル情報として選択する。
【０１４４】
図１の例では、選択部１３２は、第２トリプル情報を探索する。選択部１３２は、図１中の階層図ＳＴＨ１−１を探索する。例えば、選択部１３２は、第２トリプル情報のうち、クラスタリング処理に用いる対象トリプル情報を選択するために階層図ＳＴＨ１−１を探索する。選択部１３２は、対象トリプル情報を選択する。選択部１３２は、第２トリプル情報の統計的情報と所定の基準とに基づいて、対象トリプル情報を選択する。図１の例では、選択部１３２は、所定の基準として、閾値ＴＩＮＦに示すような閾値「１０００」を用いて、対象トリプル情報を選択する。
【０１４５】
例えば、選択部１３２は、第２トリプル情報のカウント値と閾値「１０００」である閾値ＴＩＮＦとを比較し、その比較結果に基づいて、対象トリプル情報を選択する。例えば、選択部１３２は、階層図ＳＴＨ１−１を最上位階層から順次探索し、カウント値が閾値ＴＩＮＦを下回った時点の第２トリプル情報を対象トリプル情報として選択する。例えば、選択部１３２は、階層図ＳＴＨ１−１を最上位階層から順次下位概念の方向（下方向）へ探索し、カウント値が閾値ＴＩＮＦを下回った時点の第２トリプル情報を対象トリプル情報として選択する。
【０１４６】
選択部１３２は、階層図ＳＴＨ１−２に示すように、第２トリプル情報の統計的情報と閾値ＴＩＮＦとに基づいて、対象トリプル情報を選択する。図１の例では、選択部１３２は、対象トリプル一覧ＳＩＮＦ１に示すように、第２トリプル情報ＳＩＤ２５や第２トリプル情報ＳＩＤ３１や第２トリプル情報ＳＩＤ３２や第２トリプル情報ＳＩＤ５５等を、対象トリプル情報として選択する。対象トリプル一覧ＳＩＮＦ１に示すように、選択部１３２は、カウント値が閾値「１０００」未満である第２トリプル情報を対象トリプル情報として選択する。
【０１４７】
（生成部１３３）
生成部１３３は、種々の情報を生成する。生成部１３３は、第１トリプル情報記憶部１２１、第２トリプル情報記憶部１２２、オントロジ情報記憶部１２３、対象トリプル情報記憶部１２４、グラフ情報記憶部１２５、クラスタ情報記憶部１２６等に記憶された情報に基づいて、各種生成を行う。生成部１３３は、取得部１３１により取得された情報に基づいて、種々の生成処理を行う。生成部１３３は、各種情報を算出する。生成部１３３は、トリプル情報に関する統計的情報を算出する。
【０１４８】
生成部１３３は、選択部１３２により選択された複数の対象トリプル情報の各々に含まれる要素に基づいて、複数の対象トリプル情報間の関係性を示す関係性情報を生成する。生成部１３３は、複数の対象トリプル情報の各々に含まれる要素の共通性に基づいて、関係性情報を生成する。生成部１３３は、複数の対象トリプル情報の各々の統計的情報に基づいて、関係性情報を生成する。生成部１３３は、複数の対象トリプル情報間の距離に関する情報を、関係性情報として生成する。
【０１４９】
生成部１３３は、関係性情報に基づいて、複数の対象トリプル情報をクラスタリングしたクラスタ情報（クラスタリング情報）を生成する。生成部１３３は、関係性情報に基づく関係性が近い対象トリプル情報同士が同じクラスタにクラスタリングされるように、クラスタ情報を生成する。
【０１５０】
生成部１３３は、複数の対象トリプル情報における３種類の要素のうち、所定の種類の要素を示すノードと、ノード間を連結するエッジとを含むグラフ情報に基づいて、関係性情報を生成する。生成部１３３は、複数の対象トリプル情報における３種類の要素のうち、主語または目的語の要素をノードとし、述語をエッジとしたグラフ情報に基づいて、関係性情報を生成する。
【０１５１】
生成部１３３は、一の対象トリプル情報の主語に対応するノードと、一の対象トリプル情報の目的語に対応するノードとを、一の対象トリプル情報の述語に対応するエッジで連結したグラフ情報に基づいて、関係性情報を生成する。生成部１３３は、ノードに対応する要素が所定の概念関係を有するノード間を連結する他のエッジを含むグラフ情報に基づいて、関係性情報を生成する。生成部１３３は、ノードに対応する要素が上位下位概念の関係を有するノード間を連結する他のエッジを含むグラフ情報に基づいて、関係性情報を生成する。
【０１５２】
生成部１３３は、第１対象トリプル情報と、第２対象トリプル情報との連結関係に基づいて、第１対象トリプル情報と第２対象トリプル情報との関係性を示す関係性情報を生成する。生成部１３３は、第１対象トリプル情報と、第２対象トリプル情報との間に含まれるエッジ数が最小の経路に含まれる他の対象トリプル情報に基づいて、関係性情報を生成する。生成部１３３は、第１対象トリプル情報に対応する第１ノードと、第２対象トリプル情報に対応する第２ノードとの間に含まれるエッジ数が最小の経路に含まれる他の対象トリプル情報に基づいて、関係性情報を生成する。生成部１３３は、第１対象トリプル情報に対応する第１エッジと、第２対象トリプル情報に対応する第２エッジとの間に含まれるエッジ数が最小の経路に含まれる他の対象トリプル情報に基づいて、関係性情報を生成する。生成部１３３は、第１対象トリプル情報の統計的情報と、第２対象トリプル情報の統計的情報と、他の対象トリプル情報の統計的情報とに基づいて、関係性情報を生成する。生成部１３３は、他の対象トリプル情報の数に基づいて、関係性情報を生成する。
【０１５３】
生成部１３３は、複数の第２トリプル情報の各々に対応する第１トリプル情報の数に基づいて、複数の第１トリプル情報に関する統計的情報を算出する。生成部１３３は、一の第１トリプル情報における３種類の要素の各々のクラスまたは上位クラスである３種類の要素に関する関係を示す第２トリプル情報を、一の第１トリプル情報に対応する第２トリプル情報として、統計的情報を算出する。また、生成部１３３は、一の第１トリプル情報における一の要素のクラスであって、他の２つの要素の各々のクラスまたは上位クラスである３種類の要素に関する関係を示す第２トリプル情報を、一の第１トリプル情報に対応する第２トリプル情報として、統計的情報を算出する。
【０１５４】
生成部１３３は、一の第１トリプル情報における述語の要素のクラスであって、主語及び目的語の要素の各々のクラスまたは上位クラスである３種類の要素に関する関係を示す第２トリプル情報を、一の第１トリプル情報に対応する第２トリプル情報として、統計的情報を算出する。生成部１３３は、一の第１トリプル情報における述語に関する定義域及び値域を示す第３トリプル情報に基づいて、主語の要素が一の第１トリプル情報の主語のクラスから定義域の間に含まれ、目的語の要素が一の第１トリプル情報の目的語のクラスから値域の間に含まれる第２トリプル情報を、一の第１トリプル情報に対応する第２トリプル情報として、統計的情報を算出する。
【０１５５】
生成部１３３は、一の第１トリプル情報の主語の要素に対応するノードを含む複数のノードであって、各ノード間の階層関係に応じて連結された複数のノードのうち、主語の要素に対応するノードから定義域に対応するノードまでの間に含まれる各ノードに基づいて、複数の第１トリプル情報に関する統計的情報を算出する。また、生成部１３３は、各ノードのうち、定義域に対応するノードから所定の段数までに含まれるノードに基づいて、複数の第１トリプル情報に関する統計的情報を算出する。
【０１５６】
生成部１３３は、一の第１トリプル情報の目的語の要素に対応するノードを含む複数のノードであって、各ノード間の階層関係に応じて連結された複数のノードのうち、目的語の要素に対応するノードから値域に対応するノードまでの間に含まれる各ノードに基づいて、複数の第１トリプル情報に関する統計的情報を算出する。また、生成部１３３は、各ノードのうち、値域に対応するノードから所定の段数までに含まれるノードに基づいて、複数の第１トリプル情報に関する統計的情報を算出する。
【０１５７】
図１の例では、生成部１３３は、第２トリプル情報間の階層関係を示す階層図を生成する。生成部１３３は、第２トリプル情報記憶部１２２中の情報を基に第２トリプル情報間の階層関係を示す階層図ＳＴＨ１−１を生成する。生成部１３３は、第２トリプル情報記憶部１２２中の階層情報を用いて、階層図ＳＴＨ１−１を生成する。
【０１５８】
生成部１３３は、対象トリプル情報を用いてグラフ情報を生成する。生成部１３３は、対象トリプル情報記憶部１２４を基にスケルトングラフＧＩＮＦ１１を生成する。例えば、生成部１３３は、各対象トリプル情報中の主語及び目的語をノードとし、述語をエッジとしたスケルトングラフＧＩＮＦ１１を生成する。
【０１５９】
生成部１３３は、対象トリプル情報間の関係性を示す関係性情報を生成する。図２の例では、生成部１３３は、関係性情報として、対象トリプル情報間の距離を算出する。例えば、生成部１３３は、対象トリプル情報間のパス（経路）に関する情報（パス情報）に基づいて、距離を算出する。例えば、生成部１３３は、２つの対象トリプル情報間のパス情報に基づいて、その２つの対象トリプル情報間の距離を算出する。例えば、生成部１３３は、算出対象となる２つの対象トリプル情報間の経路上のエッジの本数に基づいて、その２つの対象トリプル情報間の距離を算出する。例えば、生成部１３３は、算出対象となる２つの対象トリプル情報間の経路上の対象トリプル情報のカウント値に基づいて、その２つの対象トリプル情報間の距離を算出する。
【０１６０】
例えば、生成部１３３は、算出対象となる２つの対象トリプル情報間の経路上のエッジの本数を分母とする算出式に基づいて、その２つの対象トリプル情報間の距離を算出する。なお、２つの対象トリプル情報間の経路上のエッジには、その２つの対象トリプル情報のエッジが含まれてもよい。例えば、生成部１３３は、ノードＮ８とエッジｐ９とノードＮ１５とからなる第２トリプル情報と、第２トリプル情報ＳＩＤ３１との場合、経路上のエッジの本数を「２」として、距離を算出する。
【０１６１】
例えば、生成部１３３は、算出対象となる２つの対象トリプル情報間の経路上の対象トリプル情報のカウント値の合計を分子とする算出式に基づいて、その２つの対象トリプル情報間の距離を算出する。なお、２つの対象トリプル情報間の経路上の対象トリプル情報には、その２つの対象トリプル情報自体が含まれてもよい。例えば、生成部１３３は、ノードＮ８とエッジｐ９とノードＮ１５とからなる第２トリプル情報（第２トリプル情報ＳＩＤＸ）と、第２トリプル情報ＳＩＤ３１との場合、第２トリプル情報ＳＩＤＸのカウント値及び第２トリプル情報ＳＩＤ３１のカウント値の合計値を用いて、距離を算出する。
【０１６２】
例えば、生成部１３３は、第２トリプル情報ＳＩＤ３１と、第２トリプル情報ＳＩＤ３２との場合、経路上のエッジの本数を「４」として、距離を算出する。例えば、生成部１３３は、経路上のエッジの本数をエッジｐ１０、ｐ９、ｐ１５、ｐ２０の「４」として、距離を算出する。例えば、生成部１３３は、第２トリプル情報ＳＩＤ３１と、第２トリプル情報ＳＩＤ３２との場合、第２トリプル情報ＳＩＤ３１のカウント値、ノードＮ８とエッジｐ９とノードＮ１５とからなる第２トリプル情報のカウント値、ノードＮ１５とエッジｐ１５とノードＮ１６とからなる第２トリプル情報のカウント値、及び第２トリプル情報ＳＩＤ３２のカウント値の合計値を用いて、距離を算出する。
【０１６３】
例えば、生成部１３３は、「距離＝−（カウント値の合計値／エッジの本数）」等の式を用いて距離を算出してもよい。例えば、生成部１３３は、カウント値の合計値をエッジの本数で除した値にマイナス１を乗算することにより、距離を算出してもよい。生成部１３３は、２つの対象トリプル情報間の経路が無い場合、その２つの対象トリプル情報間の距離を所定の最大値と算出してもよい。生成部１３３は、２つの対象トリプル情報間の経路が無い場合、その２つの対象トリプル情報間の距離を「０」と算出してもよい。生成部１３３は、２つの対象トリプル情報間が連結されていない場合、その２つの対象トリプル情報間の距離を「０」と算出してもよい。
【０１６４】
生成部１３３は、クラスタリングを行う。生成部１３３は、選択した対象トリプル情報をクラスタリングしたクラスタ情報を生成する。生成部１３３は、対象トリプル情報をクラスタリングしたクラスタ情報ＣＬＩＮＦ１１を生成する。生成部１３３は、スケルトングラフＧＩＮＦ１１中の対象トリプル情報をクラスタリングする。図２の例では、生成部１３３は、所定のクラスタリング手法により、複数の対象トリプル情報をクラスタリングする。例えば、生成部１３３は、法等の種々の従来技術を適宜用いて、複数の対象トリプル情報をクラスタリングしてもよい。ｋ−ｍｅａｎｓやディリクレ過程を用いたロジスティック回帰等の種々のクラスタリング手法を用いてもよい。
【０１６５】
図２の例では、生成部１３３は、各対象トリプル情報がクラスタＣＬ１〜ＣＬ３等に分類されるように、クラスタリングする。例えば、生成部１３３は、第２トリプル情報ＳＩＤ３１をクラスタＣＬ２にクラスタリングする。例えば、生成部１３３は、第２トリプル情報ＳＩＤ３２をクラスタＣＬ３にクラスタリングする。
【０１６６】
（提供部１３４）
提供部１３４は、各種情報を提供する。例えば、提供部１３４は、端末装置１０や情報提供装置５０等の外部の情報処理装置に各種情報を提供する。提供部１３４は、端末装置１０に各種情報を送信する。提供部１３４は、端末装置１０に各種情報を配信する。提供部１３４は、取得部１３１により取得された各種情報に基づいて、種々の情報を提供する。提供部１３４は、選択部１３２により選択された各種情報に基づいて、種々の情報を提供する。提供部１３４は、選択部１３２により選択された複数の対象トリプル情報に基づく情報を提供する。提供部１３４は、生成部１３３により生成された各種情報に基づいて、種々の情報を提供する。複数の対象トリプル情報に基づく情報を提供する。
【０１６７】
提供部１３４は、生成部１３３により生成された各種情報に基づいて、種々の情報を提供する。例えば、提供部１３４は、選択部１３２により選択された対象トリプル情報を示す情報を端末装置１０へ提供する。例えば、提供部１３４は、生成部１３３により算出された統計的情報を端末装置１０へ提供する。例えば、提供部１３４は、生成部１３３により生成されたクラスタ情報を端末装置１０へ提供する。
【０１６８】
〔４．統計的情報の生成〕
ここで、図１２を用いて、実施形態に係る統計的情報の生成の一例について説明する。図１２は、実施形態に係る統計的情報の生成の一例を示す図である。図１２では、情報処理装置１００（図４参照）が第１トリプル情報記憶部１２１に記憶されたトリプル情報に関する統計的情報を算出する場合を示す。図１２の例では、情報処理装置１００は、「ジムはHOGE.incで働いている」という具体的な意味に対応する第１トリプル情報ＦＩＤ１１を対象に統計的情報を算出する例を示す。なお、図１や図２と同様の点については適宜説明を省略する。
【０１６９】
まず、図１２に示すように、情報処理装置１００は、対象とする第１トリプル情報のクラスに関する情報を抽出する（ステップＳ３１）。図１２の例では、情報処理装置１００は、第１トリプル情報ＦＩＤ１１のクラスに関する情報を抽出する。例えば、情報処理装置１００は、第１トリプル情報ＦＩＤ１１のクラスに関する情報をオントロジ情報記憶部１２３から抽出する。
【０１７０】
図１２中のオントロジ情報記憶部１２３には、所定のオントロジ（概念体系）における各エンティティ（実体）等の定義に関する情報等が格納される。例えば、オントロジ情報記憶部１２３には、いわゆるＲＤＦスキーマ等の概念体系における語彙の定義に関する情報が記憶される。なお、図１２中のオントロジ情報記憶部１２３は、図７中のオントロジ情報記憶部１２３に対応し、図１２の説明に関する箇所のみを図示する。図１２の例では、説明に対応する箇所のみを図示するために、オントロジ情報記憶部１２３−１、１２３−２として２つ図示するが、図１２中のオントロジ情報記憶部１２３−１、１２３−２は、同じオントロジ情報記憶部１２３であるものとする。なお、オントロジ情報記憶部１２３−１、１２３−２を区別せずに説明する場合は、オントロジ情報記憶部１２３と記載する。
【０１７１】
例えば、図１２中のオントロジ情報記憶部１２３は、「オントロジＩＤ」、「Subject（主語）」、「Predicate（述語）」、「Object（目的語）」といった項目が含まれる。
【０１７２】
また、図１２中のオントロジ情報記憶部１２３−１に示すオントロジＩＤ「ＴＩＤ５０１」により識別されるオントロジ情報ＴＩＤ５０１は、主語が「<Jim>」であることを示す。また、例えば、図１２中のオントロジ情報記憶部１２３−１に示すオントロジ情報ＴＩＤ５０１は、述語が「rdf:type」、すなわち所定のプロパティであることを示す。例えば、述語「rdf:type」は、主語に対応する値が目的語に対応するクラスのインスタンスであることを示す。また、例えば、図１２中のオントロジ情報記憶部１２３−１に示すオントロジ情報ＴＩＤ５０１は、目的語が「<ceo>」、すなわち最高経営責任者であることを示す。このように、図１２に示す例において、オントロジ情報ＴＩＤ５０１は、「<Jim>」は、「<ceo>」のインスタンスであること、すなわち「ジムは最高経営責任者である」ことを定義する。
【０１７３】
また、図１２中のオントロジ情報記憶部１２３−１に示すオントロジＩＤ「ＴＩＤ５０２」により識別されるオントロジ情報ＴＩＤ５０２は、主語が「<Jim>」であることを示す。また、例えば、図１２中のオントロジ情報記憶部１２３−１に示すオントロジ情報ＴＩＤ５０２は、述語が「rdf:type」であることを示す。また、例えば、図１２中のオントロジ情報記憶部１２３−１に示すオントロジ情報ＴＩＤ５０２は、目的語が「<father>」、すなわち父親であることを示す。このように、図１２に示す例において、オントロジ情報ＴＩＤ５０２は、「<Jim>」は、「<father>」のインスタンスであること、すなわち「ジムは父親である」ことを定義する。
【０１７４】
また、図１２中のオントロジ情報記憶部１２３−１に示すオントロジＩＤ「ＴＩＤ５０５」により識別されるオントロジ情報ＴＩＤ５０５は、主語が「<HOGE.inc>」であることを示す。また、例えば、図１２中のオントロジ情報記憶部１２３−１に示すオントロジ情報ＴＩＤ５０５は、述語が「rdf:type」であることを示す。また、例えば、図１２中のオントロジ情報記憶部１２３−１に示すオントロジ情報ＴＩＤ５０５は、目的語が「<commercial  company>」、すなわち営利企業であることを示す。このように、図１２に示す例において、オントロジ情報ＴＩＤ５０５は、「<HOGE.inc>」は、「<commercial  company>」のインスタンスであること、すなわち「HOGE.incは営利企業である」ことを定義する。
【０１７５】
なお、上述のように、「オントロジ情報ＴＩＤ＊（＊は任意の数値）」と記載した場合、そのオントロジ情報はオントロジＩＤ「ＴＩＤ＊」により識別されるトリプル情報であることを示す。例えば、「オントロジ情報ＴＩＤ５０２」と記載した場合、そのトリプル情報はオントロジＩＤ「ＴＩＤ５０２」により識別されるトリプル情報である。
【０１７６】
また、オントロジ情報記憶部１２３に記憶されたオントロジ情報に含まれる対象（以下、「名辞」ともいう）は、図１２中のグラフ情報ＯＮ１１やグラフ情報ＯＮ２１に示すような階層的な概念体系を示すグラフ構造を有する。なお、ここでいう名辞は、概念の言語的表現であればどのような対象であってもよく、例えば抽象的対象や具体的対象及びその言語的表現が対応する品詞等に関わらずどのような対象であってもよい。また、例えば、ここでいう「名辞」は、ＲＤＦのデータモデルにおいては、「ＵＲＩ(Universal  Resource  Identifier)」として定義される。例えば、ＲＤＦのデータモデルにおいては、各概念に識別子（機械的なアドレス等）を対応付けることで、セマンティックウェブ技術における概念の唯一性を実現する。図１２中のグラフ情報ＯＮ１１に示すノードＮＤ１０１〜ＮＤ１１３やグラフ情報ＯＮ２１に示すノードＮＤ２０１〜ＮＤ２１２は、オントロジ情報記憶部１２３に記憶されたオントロジ情報の各名辞に対応する。以下、ノードＮＤ１０１〜ＮＤ１１３及びノードＮＤ２０１〜ＮＤ２１２を区別せずに説明する場合、「ノードＮＤ」と記載する。
【０１７７】
また、図１２では、主語「<Jim>」に関する探索を行うグラフ構造を示すグラフ情報ＯＮ１１と目的語「<HOGE.inc>」に関する探索を行うグラフ構造を示すグラフ情報ＯＮ２１とを分割して図示するが、グラフ情報ＯＮ１１、ＯＮ２１は、オントロジ情報記憶部１２３に記憶されたオントロジ情報に基づいて構成される概念体系の一部である。すなわち、グラフ情報ＯＮ１１とグラフ情報ＯＮ２１とには共通のノードＮＤが含まれてもよいし、グラフ情報ＯＮ１１中のノードＮＤとグラフ情報ＯＮ２１中のノードＮＤとは矢印により連結されてもよい。
【０１７８】
図１２中のグラフ情報ＯＮ１１やグラフ情報ＯＮ２１に示す各ノードＮＤ間を連結する矢印線は、連結されるノードに対応する名辞間に上位クラスと下位クラスとの関係があることを示す。具体的には、矢印線の始点側のノードに対応する名辞が下位クラスであり、矢先側のノードに対応する名辞が上位クラスであることを示す。例えば、ノードＮＤ１１０に対応する名辞「<person>」は、ノードＮＤ１１３に対応する名辞「<employee>」の上位クラスであることを示す。なお、図１２中においては適宜「<>」の記載を省略する。また、図１２中のグラフ情報ＯＮ１１やグラフ情報ＯＮ２１中のノードＮＤは、説明に必要な一部のみを図示する。例えば、名辞「<person>」に対応するノードＮＤ１１０には、ノードＮＤ１０９、ＮＤ１１３の２つのノードＮＤ以外にも種々の下位クラス（下位概念）に対応するノードＮＤが含まれてもよい。
【０１７９】
例えば、オントロジ情報記憶部１２３（図７参照）に記憶されたオントロジ情報ＴＩＤ２３１は、主語が「<employee>」、すなわち従業員であることを示す。また、例えば、オントロジ情報ＴＩＤ２３１は、述語が「rdfs:subClassOf」、すなわち所定のプロパティであることを示す。例えば、述語「rdfs:subClassOf」は、主語に対応する値が目的語に対応するクラスのメンバー、つまりサブクラス（下位クラス）であることを示す。また、例えば、オントロジ情報ＴＩＤ２３１は、目的語が「<person>」であることを示す。すなわち、オントロジ情報ＴＩＤ２３１は、「<employee>」は、「<person>」の下位クラスであることを示す。言い換えると、オントロジ情報ＴＩＤ２３１は、「従業員」は、「人間」の下位概念であることを示す。
【０１８０】
例えば、情報処理装置１００は、上述したオントロジ情報ＴＩＤ２３１に基づいて、グラフ情報ＯＮ１１中の名辞「<employee>」に対応するノードＮＤ１１３を始点とし、名辞「<person>」に対応するノードＮＤ１１０が矢先となる矢印の関係を抽出する。
【０１８１】
また、例えば、オントロジ情報記憶部１２３（図７参照）に記憶されたオントロジ情報ＴＩＤ２０１は、主語が「<ceo>」、すなわち最高経営責任者であることを示す。また、例えば、オントロジ情報ＴＩＤ２０１は、述語が「rdfs:subClassOf」であることを示す。また、例えば、オントロジ情報ＴＩＤ２０１は、目的語が「<officer>」、すなわち役員であることを示す。すなわち、オントロジ情報ＴＩＤ２０１は、「<officer>」は、「<ceo>」の下位クラスであることを示す。言い換えると、オントロジ情報ＴＩＤ２３１は、「最高経営責任者」は、「役員」の下位概念であることを示す。
【０１８２】
例えば、情報処理装置１００は、上述したオントロジ情報ＴＩＤ２０１に基づいて、グラフ情報ＯＮ１１中の名辞「<ceo>」に対応するノードＮＤ１０３を始点とし、名辞「<officer>」に対応するノードＮＤ１０８が矢先となる矢印の関係を抽出する。このように、情報処理装置１００は、オントロジ情報記憶部１２３に記憶されたオントロジ情報に基づいて、グラフ情報ＯＮ１１やグラフ情報ＯＮ２１に示すようなグラフ構造を抽出する。
【０１８３】
図１２の例では、情報処理装置１００は、第１トリプル情報ＦＩＤ１１の主語「<Jim>」が主語であり、述語が「rdf:type」であるオントロジ情報をオントロジ情報記憶部１２３から抽出する。また、図１２の例では、情報処理装置１００は、第１トリプル情報ＦＩＤ１１の目的語「<HOGE.inc>」が主語であり、述語が「rdf:type」であるオントロジ情報をオントロジ情報記憶部１２３から抽出する。具体的には、情報処理装置１００は、オントロジ情報ＴＩＤ５０１、ＴＩＤ５０２、ＴＩＤ５０５等をオントロジ情報記憶部１２３から抽出する。
【０１８４】
例えば、情報処理装置１００は、抽出したオントロジ情報ＴＩＤ５０１に基づいて、「<Jim>」が「<ceo>」のインスタンスであると特定する。これにより、情報処理装置１００は、オントロジ情報記憶部１２３から「<ceo>」が「<Jim>」のクラスであること示す情報を抽出する。また、例えば、情報処理装置１００は、抽出したオントロジ情報ＴＩＤ５０２に基づいて、「<Jim>」が「<father>」のインスタンスであると特定する。これにより、情報処理装置１００は、オントロジ情報記憶部１２３から「<father>」が「<Jim>」のクラスであること示す情報を抽出する。なお、図示を省略するが、情報処理装置１００は、抽出した他のオントロジ情報に基づいて、例えば「<American>」すなわちアメリカ人が「<Jim>」のクラスであること等を特定する。
【０１８５】
情報処理装置１００は、「<Jim>」のクラスに関する情報に対応するノードＮＤを抽出する。図１２の例では、情報処理装置１００は、「<Jim>」のクラスである「<ceo>」や「<father>」等に対応するノードＮＤを抽出する。図１２の例では、情報処理装置１００は、グラフ情報ＯＮ１１中の領域ＡＲ１１に示すように名辞「<ceo>」に対応するノードＮＤ１０３や名辞「<father>」に対応するノードＮＤ１０２を含む４つのノードＮＤ１０１〜ＮＤ１０４を抽出する。
【０１８６】
また、例えば、情報処理装置１００は、抽出したオントロジ情報ＴＩＤ５０５に基づいて、「<HOGE.inc>」が「<commercial  company>」のインスタンスであると特定する。これにより、情報処理装置１００は、オントロジ情報記憶部１２３から「<commercial  company>」が「<HOGE.inc>」のクラスであること示す情報を抽出する。
【０１８７】
情報処理装置１００は、「<HOGE.inc>」のクラスに関する情報に対応するノードＮＤを抽出する。図１２の例では、情報処理装置１００は、「<HOGE.inc>」のクラスである「<commercial  company>」等に対応するノードＮＤを抽出する。図１２の例では、情報処理装置１００は、グラフ情報ＯＮ２１中の領域ＡＲ２１に示すように名辞「<commercial  company>」に対応するノードＮＤ２０１を含む４つのノードＮＤ２０１〜ＮＤ２０４を抽出する。
【０１８８】
そして、情報処理装置１００は、グラフ情報ＯＮ１１中の４つのノードＮＤ１０１〜ＮＤ１０４から上位クラスを辿ることにより「<Jim>」のクラスに関する情報を抽出する。また、情報処理装置１００は、グラフ情報ＯＮ２１中の４つのノードＮＤ２０１〜ＮＤ２０４から上位クラスを辿ることにより「<HOGE.inc>」のクラスに関する情報を抽出する。
【０１８９】
ここで、情報処理装置１００は、グラフ情報ＯＮ１１中の４つのノードＮＤ１０１〜ＮＤ１０４やグラフ情報ＯＮ２１中の４つのノードＮＤ２０１〜ＮＤ２０４から探索する範囲を特定するための情報をオントロジ情報記憶部１２３から抽出する（ステップＳ３２）。図１２の例では、情報処理装置１００は、第１トリプル情報ＦＩＤ１１の述語「<worksAt>」に基づいて、グラフ情報ＯＮ１１中の４つのノードＮＤ１０１〜ＮＤ１０４やグラフ情報ＯＮ２１中の４つのノードＮＤ２０１〜ＮＤ２０４から探索する範囲を特定するための情報を抽出する。
【０１９０】
例えば、図１２中のオントロジ情報記憶部１２３−２に示すようにオントロジ情報ＴＩＤ１０１は、主語が「<worksAt>」であることを示す。また、例えば、オントロジ情報ＴＩＤ１０１は、述語が「rdfs:domain」、すなわち定義域を示す所定のプロパティであることを示す。この場合、述語「rdfs:domain」は、「<worksAt>」の主語になり得るクラスを示す。また、例えば、オントロジ情報ＴＩＤ１０１は、目的語が「<person>」、すなわち人間であることを示す。すなわち、オントロジ情報ＴＩＤ１０１は、「<worksAt>」の主語には、クラス「<person>」以下のクラスがなり得ることを示す。すなわち、「<worksAt>」の主語としては、名辞「<person>」が最上位概念であることを示す。なお、主語が「<worksAt>」であり、述語が「rdfs:domain」であるオントロジ情報、すなわち「<worksAt>」の定義域を示すオントロジ情報は複数あってもよい。
【０１９１】
そのため、情報処理装置１００は、グラフ情報ＯＮ１１中の４つのノードＮＤ１０１〜ＮＤ１０４から探索する範囲を名辞「<person>」に対応するノードＮＤ１１０までと決定する。すなわち、情報処理装置１００は、グラフ情報ＯＮ１１中の４つのノードＮＤ１０１〜ＮＤ１０４から名辞「<person>」に対応するノードＮＤ１１０までの間に位置するノードＮＤに対応する名辞を名辞「<Jim>」のクラスに関する情報として抽出する（ステップＳ３３）。
【０１９２】
図１２の例では、ノードＮＤ１０３、ＮＤ１０４から、ノードＮＤ１１０に到達できるため、ノードＮＤ１０３、ＮＤ１０４からノードＮＤ１１０までの間に含まれるノードＮＤは、名辞「<Jim>」のクラスに関する情報として抽出される対象となる。具体的には、ノードＮＤ１０３、ＮＤ１０４、ＮＤ１０８〜ＮＤ１１３の８つのノードＮＤが名辞「<Jim>」のクラスに関する情報として抽出される対象となる。なお、図１２の例では、情報処理装置１００は、最上位概念である名辞「<person>」に対応するノードＮＤ１１０から２つ下のクラスまでを統計的情報の算出対象として抽出する。
【０１９３】
すなわち、図１２の例では、情報処理装置１００は、ノードＮＤ１０８〜ＮＤ１１０、ＮＤ１１２及びＮＤ１１３の５つのノードＮＤに対応する名辞を統計的情報の算出対象として抽出する。なお、対象とするトリプル情報の主語に対応するとして抽出されたノードＮＤを「第１要素」と記載する場合がある。具体的には、情報処理装置１００は、ノードＮＤ１０８に対応する名辞「<officer>」、ノードＮＤ１０９に対応する名辞「<owner>」、ノードＮＤ１１０に対応する名辞「<person>」、ノードＮＤ１１２に対応する名辞「<engineer>」及びノードＮＤ１１３に対応する名辞「<employee>」の５つを統計的情報の算出対象とする。
【０１９４】
また、図１２の例では、ノードＮＤ１０１、ＮＤ１０２からは、ノードＮＤ１１０に到達できないため、ノードＮＤ１０１、ＮＤ１０２やその上位のクラスに対応するノードＮＤ１０５〜ＮＤ１０７は、名辞「<Jim>」のクラスに関する情報として抽出されない。なお、グラフ情報ＯＮ１１には、名辞「<person>」に対応するノードＮＤ１１０よりも上位のクラスに対応するノードが含まれてもよい。
【０１９５】
また、例えば、図１２中のオントロジ情報記憶部１２３−２に示すようにオントロジ情報ＴＩＤ１０２は、主語が「<worksAt>」であることを示す。また、例えば、オントロジ情報ＴＩＤ１０２は、述語が「rdfs:range」、すなわち値域を示す所定のプロパティであることを示す。この場合、述語「rdfs:range」は、「<worksAt>」の目的語になり得るクラスを示す。また、例えば、オントロジ情報ＴＩＤ１０２は、目的語が「<organization>」、すなわち組織であることを示す。すなわち、オントロジ情報ＴＩＤ１０２は、「<worksAt>」の目的語には、クラス「<organization>」以下のクラスがなり得ることを示す。すなわち、「<worksAt>」の目的語としては、名辞「<organization>」が最上位概念であることを示す。なお、主語が「<worksAt>」であり、述語が「rdfs:range」であるオントロジ情報、すなわち「<worksAt>」の値域を示すオントロジ情報は複数あってもよい。
【０１９６】
そのため、情報処理装置１００は、グラフ情報ＯＮ２１中の４つのノードＮＤ２０１〜ＮＤ２０４から探索する範囲を名辞「<organization>」に対応するノードＮＤ２０７までと決定する。すなわち、情報処理装置１００は、グラフ情報ＯＮ２１中の４つのノードＮＤ２０１〜ＮＤ２０４から名辞「<organization>」に対応するノードＮＤ２０７までの間に位置するノードＮＤに対応する名辞を「<HOGE.inc>」のクラスに関する情報として抽出する（ステップＳ３４）。
【０１９７】
図１２の例では、ノードＮＤ２０１から、ノードＮＤ２０７に到達できるため、ノードＮＤ２０１からノードＮＤ２０７までの間に含まれるノードＮＤは、名辞「<organization>」のクラスに関する情報として抽出される対象となる。具体的には、ノードＮＤ２０１、ＮＤ２０５〜ＮＤ２０７の４つのノードＮＤが名辞「<organization>」のクラスに関する情報として抽出される対象となる。なお、図１２の例では、情報処理装置１００は、最上位概念である名辞「<organization>」に対応するノードＮＤ２０７から２つ下のクラスまでを統計的情報の算出対象として抽出する。
【０１９８】
すなわち、図１２の例では、情報処理装置１００は、ノードＮＤ２０５〜ＮＤ２０７の３つのノードＮＤに対応する名辞を統計的情報の算出対象として抽出する。なお、対象とするトリプル情報の目的後に対応するとして抽出されたノードＮＤを「第２要素」と記載する場合がある。具体的には、情報処理装置１００は、ノードＮＤ２０５に対応する名辞「<company  limited>」、ノードＮＤ２０６に対応する名辞「<company>」及びノードＮＤ２０７に対応する名辞「<organization>」の３つを統計的情報の算出対象とする。
【０１９９】
また、図１２の例では、ノードＮＤ２０２〜ＮＤ２０４からは、ノードＮＤ２０７に到達できないため、ノードＮＤ２０２〜ＮＤ２０４やその上位のクラスに対応するノードＮＤ２０８〜ＮＤ２１１は、名辞「<organization>」のクラスに関する情報として抽出されない。なお、グラフ情報ＯＮ２１には、名辞「<organization>」に対応するノードＮＤ１１０よりも上位のクラスに対応するノードが含まれてもよい。
【０２００】
そして、情報処理装置１００は、抽出した第１要素及び第２要素に基づく組合せを抽出する（ステップＳ３５）。図１２の例では、情報処理装置１００は、第１要素であるノードＮＤ１０８〜ＮＤ１１０、ＮＤ１１２及びＮＤ１１３及び第２要素であるノードＮＤ２０５〜ＮＤ２０７に基づく組合せを抽出する。具体的には、情報処理装置１００は、第１要素の各々を主語とし、名辞「<worksAt>」を述語とし、第２要素の各々を目的語とした場合にとり得る組合せを抽出する。
【０２０１】
図１２の例では、情報処理装置１００は、ノードＮＤ１０８〜ＮＤ１１０、ＮＤ１１２及びＮＤ１１３の５つのノードに対応する名辞の各々を主語とし、名辞「<worksAt>」を述語とし、ノードＮＤ２０５〜ＮＤ２０７の３つのノードに対応する名辞の各々を目的語とした場合にとり得る組合せを抽出する。すなわち、情報処理装置１００は、ノードＮＤ１０８〜ＮＤ１１０、ＮＤ１１２及びＮＤ１１３の５つのノードに対応する名辞の各々を主語とし、名辞「<worksAt>」を述語とし、ノードＮＤ２０５〜ＮＤ２０７の３つのノードに対応する名辞の各々を目的語とした１５（＝５×３）通りの組合せを抽出する。図１２の例では、情報処理装置１００は、組合せ情報ＣＮ２１に示すような組合せを抽出する。
【０２０２】
例えば、情報処理装置１００は、組合せ情報ＣＮ２１に示すように、主語が「<person>」であり、述語が「<worksAt>」であり、目的語が「<organization>」である組合せを抽出する。また、例えば、情報処理装置１００は、組合せ情報ＣＮ２１に示すように、主語が「<employee>」であり、述語が「<worksAt>」であり、目的語が「<organization>」である組合せを抽出する。また、情報処理装置１００は、残りの１３通りの組合せについても抽出する。
【０２０３】
そして、情報処理装置１００は、抽出した組合せに基づいて統計的情報を算出する（ステップＳ３６）。図１２の例では、情報処理装置１００は、抽出した組合せに基づいて、第２トリプル情報記憶部１２２中の第２トリプル情報のカウント値を加算する。例えば、第２トリプル情報は、オントロジ情報記憶部１２３中のオントロジ情報に基づく概念的な分類構造を示すスキーマ情報である。例えば、第２トリプル情報は、オントロジ情報記憶部１２３中のオントロジ情報に基づくトリプル情報間における意味的な概念構造（グラフ構造）を示す情報である。なお、第２トリプル情報の抽出（生成）についての詳細は後述する。
【０２０４】
例えば、図１２中の第２トリプル情報記憶部１２２は、図６中の第２トリプル情報記憶部１２２と同様であるため、適宜説明を省略する。
【０２０５】
図１２の例では、情報処理装置１００は、組合せ情報ＣＮ２１に含まれる各組合せに対応する第２トリプル情報記憶部１２２中の第２トリプル情報に対応するカウント値を１増加させる。
【０２０６】
例えば、情報処理装置１００は、組合せ情報ＣＮ２１中の主語が「<person>」であり、述語が「<worksAt>」であり、目的語が「<organization>」である組合せに対応する第２トリプル情報ＳＩＤ１１のカウント値を１増加させる。図１２の例では、情報処理装置１００は、組合せ情報ＣＮ２１中の主語が「<person>」であり、述語が「<worksAt>」であり、目的語が「<organization>」である組合せに対応する第２トリプル情報ＳＩＤ１１のカウント値を「９９９９」から「１００００」に増加させる。
【０２０７】
また、例えば、情報処理装置１００は、組合せ情報ＣＮ２１中の主語が「<engineer>」であり、述語が「<worksAt>」であり、目的語が「<company>」である組合せに対応する第２トリプル情報ＳＩＤ４１のカウント値を１増加させる。図１２の例では、情報処理装置１００は、組合せ情報ＣＮ２１中の主語が「<engineer>」であり、述語が「<worksAt>」であり、目的語が「<company>」である組合せに対応する第２トリプル情報ＳＩＤ４１のカウント値を「７９」から「８０」に増加させる。
【０２０８】
情報処理装置１００は、上述したような処理を第１トリプル情報記憶部１２１に格納された各第１トリプル情報に対して行うことにより、第１トリプル情報記憶部１２１に格納された第１トリプル情報群に関する統計的情報を算出する。例えば、情報処理装置１００は、主語が「<Jim>」であり、述語が「<hasAge>」であり、目的語が「32」である第１トリプル情報ＦＩＤ２１や第１トリプル情報ＦＩＤ２０１、ＦＩＤ１１０５（図５参照）等に対しても、上述したような処理を行うことにより、第１トリプル情報記憶部１２１に格納された第１トリプル情報群に関する統計的情報を算出する。例えば、情報処理装置１００は、階層「０」の第２トリプル情報については、階層「１」の第２トリプル情報のカウント値の合計値をカウント値としても用いてもよい。
【０２０９】
上述したように、情報処理装置１００は、第２トリプル情報の各々に対応する第１トリプル情報の数に基づいて、第１トリプル情報に関する統計的情報を算出する。このように、情報処理装置１００は、所定の概念体系に関する第２トリプル情報に基づいて第１トリプル情報群に含まれる第１トリプル情報の傾向を示す統計的情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。なお、情報処理装置１００は、生成した統計的情報を端末装置１０（図３参照）に提供してもよい。なお、上述した例では、述語を「<worksAt>」とした場合を一例として示したが、述語にも上位概念（上位クラス）や下位概念（下位クラス）等の階層構造に関するオントロジ情報があれば、述語についても上記と同様の処理を行うことにより、統計的情報を算出してもよい。例えば、述語である名辞「<worksAt>」の上位概念として名辞「<belongsTo>」が定義され、名辞「<belongsTo>」の下位概念として名辞「<worksAt>」に加えて名辞「<studiesAt>」（〜で学ぶ）が定義されている場合、情報処理装置１００は、この概念体系に基づいて統計的情報を算出してもよい。例えば、情報処理装置１００は、名辞「<belongsTo>」について、下位概念である名辞「<worksAt>」に対応する第１トリプル情報や名辞「<studiesAt>」に対応する第１トリプル情報に基づいて、カウント値を算出することにより統計的情報を算出してもよい。
【０２１０】
〔５．第２トリプル情報の抽出について〕
例えば、情報処理装置１００は、種々の情報を適宜用いて、第２トリプル情報を抽出してもよい。この点について、図１３を用いて説明する。図１３は、実施形態に係る第２トリプル情報の抽出を示す図である。例えば、情報処理装置１００は、オントロジ情報記憶部１２３に記憶された情報に基づいて、第２トリプル情報を抽出してもよい。
【０２１１】
図１３では、述語が「<worksAt>」とした場合を例に、オントロジ情報記憶部１２３に記憶された情報に基づいて、第２トリプル情報を抽出する例を示す。
【０２１２】
図１３に示すように、情報処理装置１００は、述語「<worksAt>」の定義域を示すオントロジ情報ＴＩＤ１０１や述語「<worksAt>」の値域を示すオントロジ情報ＴＩＤ１０２やクラス情報ＣＩＮＦ４１に示すような情報を用いて第２トリプル情報を抽出する（ステップＳ４１）。
【０２１３】
例えば、情報処理装置１００は、「<worksAt>」の主語としては、名辞「<person>」が最上位概念であることを示すオントロジ情報ＴＩＤ１０１を用いて、述語が「<worksAt>」とした場合の主語を特定する。例えば、情報処理装置１００は、「<worksAt>」の目的語としては、名辞「<organization>」が最上位概念であることを示すオントロジ情報ＴＩＤ１０２を用いて、述語が「<worksAt>」とした場合の目的語を特定する。
【０２１４】
そして、情報処理装置１００は、クラス情報ＣＩＮＦ４１に示すような述語が「rdfs:subClassOf」であるオントロジ情報ＴＩＤ２２２、ＴＩＤ２３１、ＴＩＤ３２１等の種々の情報を用いて、名辞「<person>」の下位クラス（下位概念）や名辞「<organization>」の下位クラス（下位概念）と特定する。
【０２１５】
そして、情報処理装置１００は、上述のように特定した情報に基づいて第２トリプル情報を抽出する。図１３の例では、情報処理装置１００は、スキーマトリプル情報ＳＴＰ１１に示すような階層構造を有する第２トリプル情報を抽出する。
【０２１６】
図１３中のスキーマトリプル情報ＳＴＰ１１に示す各第２トリプル情報間を連結する矢印線は、連結される第２トリプル情報間に上位概念と下位概念との関係があることを示す。具体的には、矢印線の始点側のノードに対応する第２トリプル情報が下位概念であり、矢先側のノードに対応する第２トリプル情報が上位概念であることを示す。なお、図１３中においては適宜「<>」の記載を省略する。
【０２１７】
図１３中のスキーマトリプル情報ＳＴＰ１１においては、「人間は組織で働いている」という抽象的な意味を示す第２トリプル情報ＳＩＤ１１が最上位概念に位置する。第２トリプル情報ＳＩＤ１１は、オントロジ情報ＴＩＤ１０１に定義された「<worksAt>」の定義域（domain）である名辞「<person>」に対応し、オントロジ情報ＴＩＤ１０２に定義された「<worksAt>」の値域（range）である名辞「<organization>」に対応する。
【０２１８】
また、図１３中のスキーマトリプル情報ＳＴＰ１１においては、第２トリプル情報ＳＩＤ１１の下位概念には、主語が「<person>」、述語が「<worksAt>」、及び目的語が「<company>」である第２トリプル情報ＳＩＤ２１が位置する。このように、第２トリプル情報ＳＩＤ１１の下位概念には、主語及び述語が共通し、目的語が「<organization>」の下位クラスの「<company>」である第２トリプル情報ＳＩＤ２１が位置する。
【０２１９】
また、図１３中のスキーマトリプル情報ＳＴＰ１１においては、第２トリプル情報ＳＩＤ１１の下位概念には、主語が「<employee>」、述語が「<worksAt>」、及び目的語が「<organization>」である第２トリプル情報ＳＩＤ２２が位置する。このように、第２トリプル情報ＳＩＤ１１の下位概念には、述語及び目的語が共通し、主語が「<person>」の下位クラスの「<employee>」である第２トリプル情報ＳＩＤ２２が位置する。なお、図１３においては、説明を簡単にするために、第２トリプル情報ＳＩＤ１１、ＳＩＤ２１、ＳＩＤ２２、ＳＩＤ３１、ＳＩＤ３２、ＳＩＤ４１の６個の第２トリプル情報のみを図示するが、図１３中のスキーマトリプル情報ＳＴＰ１１には多数の第２トリプル情報が含まれてもよい。
【０２２０】
〔６．情報処理のフロー〕
次に、図１５を用いて、実施形態に係る情報処理システム１による情報処理の手順について説明する。図１５は、実施形態に係る情報処理の一例を示すフローチャートである。
【０２２１】
図１５に示すように、情報処理装置１００は、複数の第１トリプル情報における概念体系に基づいて階層化された複数の第２トリプル情報を取得する（ステップＳ１０１）。例えば、情報処理装置１００は、第２トリプル情報記憶部１２２から複数の第２トリプル情報を取得する。また、情報処理装置１００は、複数の第２トリプル情報の各々に対応する第１トリプル情報の数を示す統計的情報を取得する（ステップＳ１０２）。例えば、情報処理装置１００は、第２トリプル情報記憶部１２２から統計的情報を取得する。
【０２２２】
そして、情報処理装置１００は、統計的情報と、所定の基準とに基づいて、複数の第２トリプル情報のうち、クラスタリング処理に用いる複数の対象トリプル情報を選択する（ステップＳ１０３）。例えば、情報処理装置１００は、対象トリプル一覧ＳＩＮＦ１に示すように、第２トリプル情報ＳＩＤ２５や第２トリプル情報ＳＩＤ３１や第２トリプル情報ＳＩＤ３２や第２トリプル情報ＳＩＤ５５等を、対象トリプル情報として選択する。
【０２２３】
そして、情報処理装置１００は、複数の対象トリプル情報の各々に含まれる要素に基づいて、複数の対象トリプル情報間の関係性を示す関係性情報を生成する（ステップＳ１０４）。例えば、情報処理装置１００は、関係性情報として、対象トリプル情報間の距離を算出する。
【０２２４】
そして、情報処理装置１００は、関係性情報に基づいて、複数の対象トリプル情報をクラスタリングしたクラスタ情報を生成する（ステップＳ１０５）。例えば、情報処理装置１００は、対象トリプル情報をクラスタリングしたクラスタ情報ＣＬＩＮＦ１１を生成する。
【０２２５】
〔７．対象トリプル情報の選択処理のフロー〕
次に、図１６〜図１８を用いて、対象トリプル情報の選択処理手順の一例について説明する。図１６〜図１８は、実施形態に係る選択処理の一例を示すフローチャートである。例えば、情報処理装置１００は、下記のような処理手順のプログラム（選択プログラム）を実行することにより、対象トリプル情報を選択してもよい。なお、図１６〜図１８に示す選択処理は一例であり、情報処理装置１００は、種々のアルゴリズムを適用して選択処理を行ってもよい。
【０２２６】
図１６に示すように、まず、情報処理装置１００は、変数ｃｓに‘owl:Thing’を設定する（ステップＳ２０１）。例えば、情報処理装置１００は、変数ｃｓに主語に対応するもののうち、最上位階層の概念を設定する。また、情報処理装置１００は、変数ｐに‘rdf:Property’を設定する（ステップＳ２０２）。例えば、情報処理装置１００は、変数ｐに主語に対応するもののうち、最上位階層の概念を設定する。また、情報処理装置１００は、変数ｃｏに‘owl:Thing’を設定する（ステップＳ２０３）。例えば、情報処理装置１００は、変数ｃｏに目的語に対応するもののうち、最上位階層の概念を設定する。そして、情報処理装置１００は、変数ｃｓ、ｐ、ｃｏを引数とする関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＰＲＥＤを実行する（ステップＳ２０４）。そして、情報処理装置１００は、関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＰＲＥＤの戻り値を取得し、処理を終了する。
【０２２７】
図１７に示すように、まず、情報処理装置１００は、関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＰＲＥＤにおいて、変数ｃｓ、ｐ、ｃｏを引数とする関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＥＤＧＥを実行する（ステップＳ３０１）。そして、情報処理装置１００は、関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＥＤＧＥの戻り値が「ｔｒｕｅ」（ｔｒｕｅを示す所定値等）である場合（ステップＳ３０１：Ｙｅｓ）、「ｔｒｕｅ」を戻り値として返して（ステップＳ３０２）、関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＥＤＧＥの処理を終了する。
【０２２８】
また、情報処理装置１００は、関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＥＤＧＥの戻り値が「ｆａｌｓｅ」（ｆａｌｓｅを示す所定値等）である場合（ステップＳ３０１：Ｎｏ）、変数「ｄｏｎｅ」に「ｔｒｕｅ」（ｔｒｕｅを示す所定値等）を設定する（ステップＳ３０３）。そして、情報処理装置１００は、セットｓｐに変数ｐに対応する述語のすべてのｓｕｂ−ｐｒｏｐｅｒｔｙ（下位概念）を設定する（ステップＳ３０４）。そして、情報処理装置１００は、セットｓｐから１つのｐｒｏｐｅｒｔｙ（プロパティ）を選択し、そのプロパティを変数ｐ’に設定する（ステップＳ３０５）。
【０２２９】
そして、情報処理装置１００は、変数「ｄｏｎｅ」に「ｄｏｎｅ」（ｄｏｎｅを示す所定値等）を設定し、変数ｃｓ、ｐ’、ｃｏを引数とする関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＰＲＥＤを実行する（ステップＳ３０６）。
【０２３０】
そして、情報処理装置１００は、セットｓｐが空でない場合（ステップＳ３０７：Ｎｏ）、ステップＳ３０５に戻って処理を繰り返す。また、情報処理装置１００は、セットｓｐが空である場合（ステップＳ３０７：Ｙｅｓ）、変数「ｄｏｎｅ」を戻り値として返して（ステップＳ３０８）、関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＰＲＥＤの処理を終了する。
【０２３１】
図１８に示すように、まず、情報処理装置１００は、関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＥＤＧＥにおいて、変数ｃｓ、ｐ、ｃｏを引数とする関数ＳＴＡＴＩＳＴＩＣＳを実行する（ステップＳ４０１）。例えば、関数ＳＴＡＴＩＳＴＩＣＳは、変数ｃｓの値を主語とし、ｐの値を述語とし、ｃｏの値を目的語とするトリプル情報の統計的情報を返す関数である。関数ＳＴＡＴＩＳＴＩＣＳは、変数ｃｓの値を主語とし、ｐの値を述語とし、ｃｏの値を目的語とする第２トリプル情報のカウント値を返す関数である。
【０２３２】
そして、情報処理装置１００は、関数ＳＴＡＴＩＳＴＩＣＳの戻り値が閾値未満である場合（ステップＳ４０１：Ｙｅｓ）、変数ｃｓ、ｐ、ｃｏを引数とする関数ＡＤＤ−ＴＯ−ＳＫＥＬＥＴＯＮを実行する（ステップＳ４０２）。例えば、関数ＡＤＤ−ＴＯ−ＳＫＥＬＥＴＯＮは、変数ｃｓの値を主語とし、ｐの値を述語とし、ｃｏの値を目的語とするトリプル情報を対象トリプル情報として選択するための関数である。関数ＡＤＤ−ＴＯ−ＳＫＥＬＥＴＯＮは、変数ｃｓの値を主語とし、ｐの値を述語とし、ｃｏの値を目的語とする第２トリプル情報に対象トリプル情報として選択されたことを示す情報（フラグ等）を付加する。関数ＡＤＤ−ＴＯ−ＳＫＥＬＥＴＯＮは、変数ｃｓの値を主語とし、ｐの値を述語とし、ｃｏの値を目的語とする第２トリプル情報を対象トリプル情報として、所定の記憶領域に格納する。なお、関数ＡＤＤ−ＴＯ−ＳＫＥＬＥＴＯＮの処理は、対応するトリプル情報が対象トリプル情報として選択されたことが特定可能であれば、どのような処理であってもよい。そして、情報処理装置１００は、「ｔｒｕｅ」を戻り値として返して（ステップＳ４０３）、関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＥＤＧＥの処理を終了する。
【０２３３】
また、情報処理装置１００は、関数ＳＴＡＴＩＳＴＩＣＳの戻り値が閾値未満でない場合（ステップＳ４０１：Ｎｏ）、セットｓｓに変数ｃｓに対応する主語のすべてのｓｕｂ−ｃｌａｓｓ（下位概念）を設定する（ステップＳ４０４）。また、情報処理装置１００は、セットｓｏに変数ｃｏに対応する目的語のすべてのｓｕｂ−ｃｌａｓｓ（下位概念）を設定する（ステップＳ４０５）。
【０２３４】
そして、情報処理装置１００は、セットｓｓ及びセットｓｏが空である場合（ステップＳ４０６：Ｙｅｓ）、「ｆａｌｓｅ」を戻り値として返して（ステップＳ４０７）、関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＥＤＧＥの処理を終了する。
【０２３５】
また、情報処理装置１００は、セットｓｓまたはセットｓｏが空でない場合（ステップＳ４０６：Ｎｏ）、変数「ｄｏｎｅ」に「ｔｒｕｅ」を設定する（ステップＳ４０８）。
【０２３６】
そして、情報処理装置１００は、セットｓｓから１つのｐｒｏｐｅｒｔｙ（プロパティ）を選択し、そのプロパティを変数ｃｓ’に設定する（ステップＳ４０９）。
【０２３７】
そして、情報処理装置１００は、変数「ｄｏｎｅ」に「ｄｏｎｅ」を設定し、変数ｃｓ’、ｐ、ｃｏを引数とする関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＥＤＧＥを実行する（ステップＳ４１０）。
【０２３８】
そして、情報処理装置１００は、セットｓｓが空でない場合（ステップＳ４１１：Ｎｏ）、ステップＳ４０９に戻って処理を繰り返す。また、情報処理装置１００は、セットｓｐが空である場合（ステップＳ４１１：Ｙｅｓ）、変数「ｄｏｎｅ」が「ｔｒｕｅ」であるかどうかを判定する（ステップＳ４１２）。
【０２３９】
情報処理装置１００は、変数「ｄｏｎｅ」が「ｔｒｕｅ」である場合（ステップＳ４１２：Ｙｅｓ）、「ｔｒｕｅ」を戻り値として返して（ステップＳ４１３）、関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＥＤＧＥの処理を終了する。
【０２４０】
そして、情報処理装置１００は、変数「ｄｏｎｅ」が「ｔｒｕｅ」でない場合（ステップＳ４１２：Ｙｅｓ）、変数「ｄｏｎｅ」に「ｔｒｕｅ」を設定する（ステップＳ４１４）。
【０２４１】
そして、情報処理装置１００は、セットｓｏから１つのｐｒｏｐｅｒｔｙ（プロパティ）を選択し、そのプロパティを変数ｃｏ’に設定する（ステップＳ４１５）。
【０２４２】
そして、情報処理装置１００は、変数「ｄｏｎｅ」に「ｄｏｎｅ」を設定し、変数ｃｓ、ｐ、ｃｏ’を引数とする関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＥＤＧＥを実行する（ステップＳ４１６）。
【０２４３】
そして、情報処理装置１００は、セットｓｏが空でない場合（ステップＳ４１７：Ｎｏ）、ステップＳ４１５に戻って処理を繰り返す。また、情報処理装置１００は、セットｓｏが空である場合（ステップＳ４１７：Ｙｅｓ）、変数「ｄｏｎｅ」を戻り値として返して（ステップＳ４１８）、関数ＣＯＭＰＵＴＥ−ＳＫＥＬＥＴＯＮ−ＥＤＧＥの処理を終了する。
【０２４４】
〔８．効果〕
上述してきたように、実施形態に係る情報処理装置１００は、取得部１３１と、選択部１３２とを有する。取得部１３１は、３種類の要素に関する関係を示す複数の第１トリプル情報における概念体系に基づいて階層化された複数の第２トリプル情報と、複数の第２トリプル情報の各々に対応する第１トリプル情報の数を示す統計的情報とを取得する。選択部１３２は、取得部１３１により取得された統計的情報と、統計的情報に関する所定の基準とに基づいて、複数の第２トリプル情報のうち、クラスタリング処理に用いる複数の対象トリプル情報を選択する。
【０２４５】
これにより、実施形態に係る情報処理装置１００は、統計的情報と、統計的情報に関する所定の基準とに基づいて、複数の第２トリプル情報のうち、クラスタリング処理に用いる複数の対象トリプル情報を選択することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２４６】
また、実施形態に係る情報処理装置１００において、選択部１３２は、複数の第２トリプル情報の各々の統計的情報と、所定の基準である所定の閾値との比較に基づいて、複数の対象トリプル情報を選択する。
【０２４７】
これにより、実施形態に係る情報処理装置１００は、複数の第２トリプル情報の各々の統計的情報と、所定の基準である所定の閾値との比較に基づいて、複数の対象トリプル情報を選択することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２４８】
また、実施形態に係る情報処理装置１００において、選択部１３２は、複数の第１トリプル情報の数とクラスタ数に関する値とにより算出される所定の閾値に基づいて、複数の対象トリプル情報を選択する。
【０２４９】
これにより、実施形態に係る情報処理装置１００は、複数の第１トリプル情報の数とクラスタ数に関する値とにより算出される所定の閾値に基づいて、複数の対象トリプル情報を選択することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２５０】
また、実施形態に係る情報処理装置１００において、選択部１３２は、一の第２トリプル情報の統計的情報が所定の閾値未満であり、一の第２トリプル情報の上位概念の階層の他の第２トリプル情報の統計的情報が所定の閾値以上である場合、一の第２トリプル情報を、対象トリプル情報として選択する。
【０２５１】
これにより、実施形態に係る情報処理装置１００は、あるトリプル情報が条件を満たし、その上位概念の階層の他の第２トリプル情報が条件を満たさない場合に、そのトリプル情報を対象トリプル情報として選択することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２５２】
また、実施形態に係る情報処理装置１００において、選択部１３２は、一の第２トリプル情報の統計的情報が所定の閾値未満であり、一の第２トリプル情報のノードに直接連結する他の第２トリプル情報の統計的情報が所定の閾値以上である場合、一の第２トリプル情報を、対象トリプル情報として選択する。
【０２５３】
これにより、実施形態に係る情報処理装置１００は、あるトリプル情報が条件を満たし、その１つ上の階層の他の第２トリプル情報が条件を満たさない場合に、そのトリプル情報を対象トリプル情報として選択することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２５４】
また、実施形態に係る情報処理装置１００は、生成部１３３を有する。生成部１３３は、選択部１３２により選択された複数の対象トリプル情報の各々に含まれる要素に基づいて、複数の対象トリプル情報間の関係性を示す関係性情報を生成する。
【０２５５】
これにより、実施形態に係る情報処理装置１００は、選択した複数の対象トリプル情報の各々に含まれる要素に基づいて、複数の対象トリプル情報間の関係性を示す関係性情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２５６】
また、実施形態に係る情報処理装置１００において、生成部１３３は、複数の対象トリプル情報の各々に含まれる要素の共通性に基づいて、関係性情報を生成する。
【０２５７】
これにより、実施形態に係る情報処理装置１００は、複数の対象トリプル情報の各々に含まれる要素の共通性に基づいて、関係性情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２５８】
また、実施形態に係る情報処理装置１００において、生成部１３３は、複数の対象トリプル情報の各々の統計的情報に基づいて、関係性情報を生成する。
【０２５９】
これにより、実施形態に係る情報処理装置１００は、複数の対象トリプル情報の各々の統計的情報に基づいて、関係性情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２６０】
また、実施形態に係る情報処理装置１００において、生成部１３３は、複数の対象トリプル情報間の距離に関する情報を、関係性情報として生成する。
【０２６１】
これにより、実施形態に係る情報処理装置１００は、複数の対象トリプル情報間の距離に関する情報を、関係性情報として生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２６２】
また、実施形態に係る情報処理装置１００において、生成部１３３は、関係性情報に基づいて、複数の対象トリプル情報をクラスタリングしたクラスタ情報を生成する。
【０２６３】
これにより、実施形態に係る情報処理装置１００は、関係性情報に基づいて、複数の対象トリプル情報をクラスタリングしたクラスタ情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２６４】
また、実施形態に係る情報処理装置１００において、生成部１３３は、関係性情報に基づく関係性が近い対象トリプル情報同士が同じクラスタにクラスタリングされるように、クラスタ情報を生成する。
【０２６５】
これにより、実施形態に係る情報処理装置１００は、関係性情報に基づく関係性が近い対象トリプル情報同士が同じクラスタにクラスタリングされるように、クラスタ情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２６６】
また、実施形態に係る情報処理装置１００において、生成部１３３は、複数の対象トリプル情報における３種類の要素のうち、所定の種類の要素を示すノードと、ノード間を連結するエッジとを含むグラフ情報に基づいて、関係性情報を生成する。
【０２６７】
これにより、実施形態に係る情報処理装置１００は、複数の対象トリプル情報における３種類の要素のうち、所定の種類の要素を示すノードと、ノード間を連結するエッジとを含むグラフ情報に基づいて、関係性情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２６８】
また、実施形態に係る情報処理装置１００において、生成部１３３は、複数の対象トリプル情報における３種類の要素のうち、主語または目的語の要素をノードとし、述語をエッジとしたグラフ情報に基づいて、関係性情報を生成する。
【０２６９】
これにより、実施形態に係る情報処理装置１００は、複数の対象トリプル情報における３種類の要素のうち、主語または目的語の要素をノードとし、述語をエッジとしたグラフ情報に基づいて、関係性情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２７０】
また、実施形態に係る情報処理装置１００において、生成部１３３は、一の対象トリプル情報の主語に対応するノードと、一の対象トリプル情報の目的語に対応するノードとを、一の対象トリプル情報の述語に対応するエッジで連結したグラフ情報に基づいて、関係性情報を生成する。
【０２７１】
これにより、実施形態に係る情報処理装置１００は、一の対象トリプル情報の主語に対応するノードと、一の対象トリプル情報の目的語に対応するノードとを、一の対象トリプル情報の述語に対応するエッジで連結したグラフ情報に基づいて、関係性情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２７２】
また、実施形態に係る情報処理装置１００において、生成部１３３は、ノードに対応する要素が所定の概念関係を有するノード間を連結する他のエッジを含むグラフ情報に基づいて、関係性情報を生成する。
【０２７３】
これにより、実施形態に係る情報処理装置１００は、ノードに対応する要素が所定の概念関係を有するノード間を連結する他のエッジを含むグラフ情報に基づいて、関係性情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２７４】
また、実施形態に係る情報処理装置１００において、生成部１３３は、ノードに対応する要素が上位下位概念の関係を有するノード間を連結する他のエッジを含むグラフ情報に基づいて、関係性情報を生成する。
【０２７５】
これにより、実施形態に係る情報処理装置１００は、ノードに対応する要素が上位下位概念の関係を有するノード間を連結する他のエッジを含むグラフ情報に基づいて、関係性情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２７６】
また、実施形態に係る情報処理装置１００において、生成部１３３は、第１対象トリプル情報と、第２対象トリプル情報との連結関係に基づいて、第１対象トリプル情報と第２対象トリプル情報との関係性を示す関係性情報を生成する。
【０２７７】
これにより、実施形態に係る情報処理装置１００は、第１対象トリプル情報と、第２対象トリプル情報との連結関係に基づいて、第１対象トリプル情報と第２対象トリプル情報との関係性を示す関係性情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２７８】
また、実施形態に係る情報処理装置１００において、生成部１３３は、第１対象トリプル情報と、第２対象トリプル情報との間に含まれるエッジ数が最小の経路に含まれる他の対象トリプル情報に基づいて、関係性情報を生成する。
【０２７９】
これにより、実施形態に係る情報処理装置１００は、第１対象トリプル情報と、第２対象トリプル情報との間に含まれるエッジ数が最小の経路に含まれる他の対象トリプル情報に基づいて、関係性情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２８０】
また、実施形態に係る情報処理装置１００において、生成部１３３は、第１対象トリプル情報の統計的情報と、第２対象トリプル情報の統計的情報と、他の対象トリプル情報の統計的情報とに基づいて、関係性情報を生成する。
【０２８１】
これにより、実施形態に係る情報処理装置１００は、第１対象トリプル情報の統計的情報と、第２対象トリプル情報の統計的情報と、他の対象トリプル情報の統計的情報とに基づいて、関係性情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２８２】
また、実施形態に係る情報処理装置１００において、生成部１３３は、他の対象トリプル情報の数に基づいて、関係性情報を生成する。
【０２８３】
これにより、実施形態に係る情報処理装置１００は、他の対象トリプル情報の数に基づいて、関係性情報を生成することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２８４】
また、実施形態に係る情報処理装置１００は、提供部１３４を有する。提供部１３４は、選択部１３２により選択された複数の対象トリプル情報に基づく情報を提供する。
【０２８５】
これにより、実施形態に係る情報処理装置１００は、選択した複数の対象トリプル情報に基づく情報を提供することにより、トリプル情報を適切に分類し効率的な利用を可能にすることができる。
【０２８６】
〔９．ハードウェア構成〕
上述してきた実施形態に係る情報処理装置１００は、例えば図１９に示すような構成のコンピュータ１０００によって実現される。図１９は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read  Only  Memory）１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０２８７】
ＣＰＵ１１００は、ＲＯＭ１３００またはＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０２８８】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス１５００は、ネットワークＮを介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータをネットワークＮを介して他の機器へ送信する。
【０２８９】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、生成したデータを入出力インターフェイス１６００を介して出力装置へ出力する。
【０２９０】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラムまたはデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０２９１】
例えば、コンピュータ１０００が実施形態に係る情報処理装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部１３０の機能を実現する。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置からネットワークＮを介してこれらのプログラムを取得してもよい。
【０２９２】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０２９３】
〔１０．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０２９４】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０２９５】
また、上述してきた各実施形態に記載された各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０２９６】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【０２９７】
１  情報処理システム
１００  情報処理装置
１２１  第１トリプル情報記憶部
１２２  第２トリプル情報記憶部
１２３  オントロジ情報記憶部
１２４  対象トリプル情報記憶部
１２５  グラフ情報記憶部
１２６  クラスタ情報記憶部
１３０  制御部
１３１  取得部
１３２  選択部
１３３  生成部
１３４  提供部
１０  端末装置
５０  情報提供装置
Ｎ  ネットワーク
【図１】
2019215713.tif 000003
【図２】
2019215713.tif 000004
【図３】
2019215713.tif 000005
【図４】
2019215713.tif 000006
【図５】
2019215713.tif 000007
【図６】
2019215713.tif 000008
【図７】
2019215713.tif 000009
【図８】
2019215713.tif 000010
【図９】
2019215713.tif 000011
【図１０】
2019215713.tif 000012
【図１１】
2019215713.tif 000013
【図１２】
2019215713.tif 000014
【図１３】
2019215713.tif 000015
【図１４】
2019215713.tif 000016
【図１５】
2019215713.tif 000017
【図１６】
2019215713.tif 000018
【図１７】
2019215713.tif 000019
【図１８】
2019215713.tif 000020
【図１９】
2019215713.tif 000021