(57)【要約】【課題】アイテムを適切に抽出する。【解決手段】本願に係る情報処理装置は、取得部と、検索部とを有する。取得部は、複数のアイテムの各々に対応する複数のノードが、複数のアイテムの類似性に応じて連結されたグラフ情報と、アイテムに関するクエリ情報を取得する。検索部は、取得部により取得されたグラフ情報の複数のノードのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ノードを起点として、グラフ情報を検索することにより、複数のアイテムのうち、クエリ情報と類似性を有するアイテムである類似アイテムを対象アイテムとして抽出し、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、対象アイテムの抽出基準を変更して対象アイテムを抽出する。【選択図】図６
2019159966.tif 000002
【特許請求の範囲】
【請求項１】
複数のアイテムの各々に対応する複数のノードが、前記複数のアイテムの類似性に応じて連結されたグラフ情報と、アイテムに関するクエリ情報を取得する取得部と、
前記取得部により取得された前記グラフ情報の前記複数のノードのうち、所定の基準に基づいて決定された前記グラフ情報の検索の起点となる起点ノードを起点として、前記グラフ情報を検索することにより、前記複数のアイテムのうち、前記クエリ情報と類似性を有するアイテムである類似アイテムを対象アイテムとして抽出し、前記グラフ情報の検索時において前記対象アイテムに関する所定の条件を満たす場合、前記対象アイテムの抽出基準を変更して前記対象アイテムを抽出する検索部と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記決定部は、
前記起点ノードの決定に用いるインデックス情報に基づいて、前記起点ノードを決定し、
前記検索部は、
前記決定部により決定された前記起点ノードを起点として、前記対象アイテムを抽出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定部は、
木構造型の前記インデックス情報に基づいて、前記起点ノードを決定する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記取得部は、
前記複数のアイテムの各々に対応する複数のベクトルの類似性に応じて、前記複数のノードが連結されたグラフ情報を取得する
ことを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記取得部は、
前記複数のアイテムの各々の特徴を示す前記複数のベクトルが類似性に応じて連結された前記グラフ情報を取得する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記取得部は、
前記複数のアイテムの各々から抽出された特徴量を要素とする前記複数のベクトルが、類似性に応じて連結された前記グラフ情報を取得する
ことを特徴とする請求項４または請求項５に記載の情報処理装置。
【請求項７】
前記取得部は、
所定のモデルの特徴量と重みとに基づく前記複数のベクトルが類似性に応じて連結された前記グラフ情報を取得する
ことを特徴とする請求項４〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記検索部は、
前記グラフ情報の検索時において前記対象アイテムに関する所定の条件を満たす場合、前記重みを変更し、前記対象アイテムを抽出する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記取得部は、
複数の観点の各々に対応する複数のエッジ群であって、各エッジ群に対応する観点に基づく前記複数のアイテムの類似性に応じて前記複数のノードを連結する複数のエッジ群を含む前記グラフ情報を取得する
ことを特徴とする請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記取得部は、
前記複数のアイテムのユーザビリティに関する類似性に応じて前記複数のアイテムを連結するエッジ群を含む前記複数のエッジ群を取得する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記取得部は、
前記複数のアイテムの収益性に関する類似性に応じて前記複数のアイテムを連結するエッジ群を含む前記複数のエッジ群を取得する
ことを特徴とする請求項９または請求項１０に記載の情報処理装置。
【請求項１２】
前記決定部は、
前記複数のエッジ群のうち、検索に用いるエッジ群を決定し、
前記検索部は、
前記決定部により決定された前記エッジ群を用いて前記対象アイテムを抽出する
ことを特徴とする請求項９〜１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記検索部は、
前記グラフ情報の検索時において前記対象アイテムに関する所定の条件を満たす場合、前記検索に用いる前記エッジ群から他のエッジ群に変更し、前記対象アイテムを抽出する
ことを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記検索部は、
前記グラフ情報の検索時において前記対象アイテムに関する所定の条件を満たす場合、グラフ以外の情報を用いて前記対象アイテムを抽出する
ことを特徴とする請求項１〜１２のいずれか１項に記載の情報処理装置。
【請求項１５】
前記検索部は、
前記グラフ情報の検索時において所定の要素が共通する前記対象アイテムの数が所定の閾値以上となる場合、グラフ以外の情報を用いて前記対象アイテムを抽出する
ことを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記検索部は、
前記グラフ情報の検索時においてカテゴリが共通する前記対象アイテムの数が所定の閾値以上となる場合、グラフ以外の情報を用いて前記カテゴリとは異なるカテゴリのアイテムを前記対象アイテムとして抽出する
ことを特徴とする請求項１５に記載の情報処理装置。
【請求項１７】
前記取得部は、
一のアイテムに関するアイテム情報を前記クエリ情報として取得する
ことを特徴とする請求項１〜１６のいずれか１項に記載の情報処理装置。
【請求項１８】
前記取得部は、
ユーザに関するユーザ情報を前記クエリ情報として取得する
ことを特徴とする請求項１〜１６のいずれか１項に記載の情報処理装置。
【請求項１９】
前記検索部により抽出された前記対象アイテムに基づいて、所定のサービスを提供する提供部、
をさらに備えたことを特徴とする請求項１〜１８のいずれか１項に記載の情報処理装置。
【請求項２０】
前記提供部は、
前記対象アイテムに基づいて、情報提供サービスを提供する
ことを特徴とする請求項１９に記載の情報処理装置。
【請求項２１】
コンピュータが実行する情報処理方法であって、
複数のアイテムの各々に対応する複数のノードが、前記複数のアイテムの類似性に応じて連結されたグラフ情報と、アイテムに関するクエリ情報を取得する取得工程と、
前記取得工程により取得された前記グラフ情報の前記複数のノードのうち、所定の基準に基づいて決定された前記グラフ情報の検索の起点となる起点ノードを起点として、前記グラフ情報を検索することにより、前記複数のアイテムのうち、前記クエリ情報と類似性を有するアイテムである類似アイテムを対象アイテムとして抽出し、前記グラフ情報の検索時において前記対象アイテムに関する所定の条件を満たす場合、前記対象アイテムの抽出基準を変更して前記対象アイテムを抽出する検索工程と、
を含んだことを特徴とする情報処理方法。
【請求項２２】
複数のアイテムの各々に対応する複数のノードが、前記複数のアイテムの類似性に応じて連結されたグラフ情報と、アイテムに関するクエリ情報を取得する取得手順と、
前記取得手順により取得された前記グラフ情報の前記複数のノードのうち、所定の基準に基づいて決定された前記グラフ情報の検索の起点となる起点ノードを起点として、前記グラフ情報を検索することにより、前記複数のアイテムのうち、前記クエリ情報と類似性を有するアイテムである類似アイテムを対象アイテムとして抽出し、前記グラフ情報の検索時において前記対象アイテムに関する所定の条件を満たす場合、前記対象アイテムの抽出基準を変更して前記対象アイテムを抽出する検索手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
従来、ニュース記事等のコンテンツや商品等の種々のアイテムを抽出する技術が提供されている。例えば、他のカテゴリに属する概念間の相対的な関係を考慮した上で、概念間の類似性を推定する技術が提供されている。このような技術において推定された概念間の類似性に基づいて、アイテムの配信等の種々のサービスが提供される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２１３１５１号公報
【非特許文献】
【０００４】
【非特許文献１】岩崎雅二郎  "木構造型インデックスを利用した近似k最近傍グラフによる近傍検索",  情報処理学会論文誌,  2011/2,  Vol.  52,  No.  2.  pp.817-828.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、アイテムを適切に抽出することが難しい場合がある。例えば、他のカテゴリに属する概念間の類似性を推定するだけでは、所望の情報を抽出することが難しい。例えば、同じカテゴリに属する情報の類似性を推定することができるとは限らず、このような場合、所望の情報を抽出することが難しい。
【０００６】
本願は、上記に鑑みてなされたものであって、アイテムを適切に抽出する情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る情報処理装置は、複数のアイテムの各々に対応する複数のノードが、前記複数のアイテムの類似性に応じて連結されたグラフ情報と、アイテムに関するクエリ情報を取得する取得部と、前記取得部により取得された前記グラフ情報の前記複数のノードのうち、所定の基準に基づいて決定された前記グラフ情報の検索の起点となる起点ノードを起点として、前記グラフ情報を検索することにより、前記複数のアイテムのうち、前記クエリ情報と類似性を有するアイテムである類似アイテムを対象アイテムとして抽出し、前記グラフ情報の検索時において前記類似アイテムに関する所定の条件を満たす場合、前記対象アイテムの抽出基準を変更して前記対象アイテムを抽出する検索部と、を備えたことを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、アイテムを適切に抽出することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る情報処理の一例を示す図である。
【図２】図２は、実施形態に係る情報処理の一例を示す図である。
【図３】図３は、実施形態に係るグラフ情報を概念的に示す図である。
【図４】図４は、実施形態に係る情報の抽出の一例に示す図である。
【図５】図５は、実施形態に係る情報処理システムの構成例を示す図である。
【図６】図６は、実施形態に係る情報処理装置の構成例を示す図である。
【図７】図７は、実施形態に係るアイテム記憶部の一例を示す図である。
【図８】図８は、実施形態に係るインデックス情報記憶部の一例を示す図である。
【図９】図９は、実施形態に係るグラフ情報記憶部の一例を示す図である。
【図１０】図１０は、実施形態に係るモデル情報記憶部の一例を示す図である。
【図１１】図１１は、実施形態に係る情報処理の一例を示すフローチャートである。
【図１２】図１２は、実施形態に係る生成処理の一例を示すフローチャートである。
【図１３】図１３は、実施形態に係るベクトルデータの生成の一例を示す図である。
【図１４】図１４は、グラフ情報を用いた検索処理の一例を示すフローチャートである。
【図１５】図１５は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１１】
（実施形態）
〔１．情報処理〕
図１及び図２を用いて、実施形態に係る情報処理の一例について説明する。図１及び図２は、実施形態に係る情報処理の一例を示す図である。図１及び図２では、情報処理装置１００がアイテムの一例として記事コンテンツをグラフ構造化したグラフデータ（グラフ情報）を検索することにより、類似するアイテムである類似アイテムを対象アイテムとして抽出する場合を示す。また、図１及び図２では、情報処理装置１００がグラフ情報の検索時において対象類似アイテムに関する所定の条件を満たす場合、対象アイテムの抽出基準を変更して対象アイテムを抽出する場合を示す。図１及び図２では、情報処理装置１００は、各アイテムに対応するベクトルデータ（「ベクトル情報」や、単に「ベクトル」ともいう）を用いてアイテムをグラフ構造化したグラフ情報を用いる。なお、情報処理装置１００が用いる情報は、ベクトルに限らず、各アイテムの類似性を表現可能な情報であれば、どのような形式の情報であってもよい。例えば、情報処理装置１００は、各アイテムに対応する所定のデータや値を用いてアイテムをグラフ構造化したグラフ情報を用いてもよい。例えば、情報処理装置１００は、各アイテムから生成された所定の数値（例えば２進数の値や１６進数の値）を用いてアイテムをグラフ構造化したグラフ情報を用いてもよい。また、図１及び図２の例では、記事コンテンツをアイテムの一例として示すが、アイテムは、記事コンテンツに限らず、商品や動画コンテンツ等の種々の対象であってもよい。例えば、アイテムは、所定の電子商取引で提供される商品等であってもよい。すなわち、対象とするアイテム（オブジェクト）は、各アイテム間の類似性を表現可能であれば、どのようなアイテム（情報）であってもよい。
【００１２】
〔１−１．グラフ情報について〕
詳細は図１及び図２において詳述するが、情報処理装置１００は、複数の観点（以下、「ターゲット」ともいう）の各々に対応する複数のエッジ群により複数のノードが連結されたグラフ情報を用いて処理を行う。以下では、異なる２つの観点の各々に対応する２つのエッジ群により複数のノードが連結されたグラフ情報を用いて処理を行う場合を示す。具体的には、２つのエッジ群のうち、第１のエッジ群は、ユーザビリティの観点でのアイテムの類似度に応じて、アイテム(ノード)を連結するエッジ群（以下、「エッジ群ＥＧ１１」と記載する場合がある）である。また、２つのエッジ群のうち、第２のエッジ群は、収益性の観点でのアイテムの類似度に応じて、アイテム(ノード)を連結するエッジ群（以下、「エッジ群ＥＧ１２」と記載する場合がある）である。なお、エッジ群は２つに限らず、３つ以上の観点の各々に対応する３つ以上のエッジ群であってもよい。
【００１３】
また、各エッジ群は、対応する観点におけるノード（ベクトル）の類似度に応じて、ノードを連結するが、各ノードに対応するベクトルは、各観点に応じて値が変動する。例えば、エッジ群ＥＧ１１に対応するユーザビリティの観点での各アイテムのベクトルと、エッジ群ＥＧ１２に対応する収益性の観点での各アイテムのベクトルとは値が異なる。このように、アイテムを捉える観点に応じてノード間の距離が変動し、複数の観点での類似関係（近接関係）を同時に図示することができないため、各観点での類似関係をノードの位置で示す場合は、観点ごとに図示する。例えば、図１及び図２の例では、グラフ情報ＧＲ１１−１は、ユーザビリティの観点での各アイテムの類似関係を位置で示し、グラフ情報ＧＲ１１−２は、収益性の観点での各アイテムの類似関係を位置で示す。なお、ノードの類似関係を考慮せず、ノード間のエッジによる連結関係を図示する場合は、図３中のグラフ情報ＧＲ１１−０のように図示するが、詳細は後述する。
【００１４】
また、以下では、各観点に対応する各アイテム（ノード）のベクトル及び各エッジ群によるアイテム（ノード）間の連結等の情報を含むグラフ情報をグラフ情報ＧＲ１１と記載する。なお、グラフ情報ＧＲ１１には、各エッジ群に含まれるエッジの距離（長さ）の情報が含まれてもよい。例えば、以下の説明において、グラフ情報ＧＲ１１と記載した場合、図３中のグラフ情報ＧＲ１１−０、ＧＲ１１−１、ＧＲ１１−２の情報を含んだグラフ情報であるものとする。例えば、グラフ情報ＧＲ１１は、各ノードに、観点ごとのベクトルやエッジの連結を示す情報を対応付けた情報を含んでもよい。例えば、グラフ情報ＧＲ１１は、各ノードに、ユーザビリティに対応するベクトルと収益性に対応するベクトルや、エッジ群ＥＧ１１、ＥＧ１２による連結関係を示す情報を対応付けた情報を含んでもよい。
【００１５】
まず、ユーザビリティの観点でノードが連結されたグラフ情報ＧＲ１１−１を一例として、図１及び図２で用いるグラフ情報の概要について説明する。グラフ情報ＧＲ１１−１は、複数の基準のうち、ユーザビリティをターゲットとしてアイテム情報（アイテムデータ）をグラフ構造化したグラフ情報である。ここでいう、ターゲットとは、モデルやグラフ情報を生成する際の観点であってもよい。すなわち、ターゲットとは、モデルやグラフ情報がどのような観点でアイテム情報の類似性を見出すかを示す情報であってもよい。例えば、ターゲットとは、モデルやグラフ情報が何を対象とするものであるかを示す情報であってもよい。また、ターゲットとは、モデルやグラフ情報が用いられる目的や用途であってもよい。
【００１６】
グラフ情報ＧＲ１１−１は、ユーザビリティの観点に基づいてアイテム情報（アイテムデータ）をグラフ構造化したグラフ情報である。グラフ情報ＧＲ１１−１には、各アイテムに対応するノードやユーザビリティに対応するエッジ群ＥＧ１１のエッジが含まれる。例えば、情報処理装置１００は、図２中のグラフ情報ＧＲ１１−１に示すように、各ベクトル（ノード）が有向エッジにより連結されたグラフデータを対象に情報処理を行う。なお、図２中のグラフ情報ＧＲ１１−１に示すようなグラフ情報は、情報処理装置１００が生成してもよいし、情報処理装置１００は、図２中のグラフ情報ＧＲ１１−１に示すようなグラフ情報を情報提供装置５０（図５参照）等の他の外部装置から取得してもよい。
【００１７】
また、ここでいう、有向エッジとは、一方向にしかデータを辿れないエッジを意味する。以下では、エッジにより辿る元、すなわち始点となるノードを参照元とし、エッジにより辿る先、すなわち終点となるノードを参照先とする。例えば、所定のノード「Ａ」から所定のノード「Ｂ」に連結される有向エッジとは、参照元をノード「Ａ」とし、参照先をノード「Ｂ」とするエッジであることを示す。なお、各ノードを連結するエッジは、有向エッジに限らず、種々のエッジであってもよい。例えば、各ノードを連結するエッジは、ノードを連結する方向のないエッジであってもよい。例えば、各ノードを連結するエッジは、相互に参照可能なエッジであってもよい。例えば、各ノードを連結するエッジは、全て双方向エッジであってもよい。
【００１８】
例えば、このようにノード「Ａ」を参照元とするエッジをノード「Ａ」の出力エッジという。また、例えば、このようにノード「Ｂ」を参照先とするエッジをノード「Ｂ」の入力エッジという。すなわち、ここでいう出力エッジ及び入力エッジとは、一の有向エッジをその有向エッジが連結する２つのノードのうち、いずれのノードを中心として捉えるかの相違であり、一の有向エッジが出力エッジ及び入力エッジになる。すなわち、出力エッジ及び入力エッジは、相対的な概念であって、一の有向エッジについて、参照元となるノードを中心として捉えた場合に出力エッジとなり、参照先となるノードを中心として捉えた場合に入力エッジとなる。なお、本実施形態においては、エッジについては、出力エッジや入力エッジ等の有向エッジを対象とするため、以下では、有向エッジを単に「エッジ」と記載する場合がある。
【００１９】
例えば、情報処理装置１００は、数百万〜数億単位のアイテムに対応するノードを対象に処理を行うが、図面においてはその一部のみを図示する。図２の例では、説明を簡単にするために、９個のノードを図示して処理の概要を説明する。例えば、情報処理装置１００は、図２中のグラフ情報ＧＲ１１−１に示すように、ノードＮ１、Ｎ２、Ｎ３等に示すような複数のノード（ベクトル）を含むグラフ情報を取得する。また、図２の例では、グラフ情報ＧＲ１１−１における各ノードは、そのノードとの間の距離が近い方から所定数のノードへのエッジ（出力エッジ）が連結される。例えば、所定数は、目的や用途等に応じて、２や５や１０や１００等の種々の値であってもよい。例えば、所定数が２である場合、ノードＮ１からは、ノードＮ１からの距離が最も近いノード及び２番目に距離が近い２つのノードに出力エッジが連結される。なお、類似度を示す指標としての距離は、ベクトル（Ｎ次元ベクトル）間の距離として適用可能であれば、どのような距離であってもよく、例えば、ユークリッド距離やマハラノビス距離やコサイン距離等の種々の距離が用いられてもよい。例えば、情報処理装置１００は、下記の式（１）を用いてベクトル間の距離を算出してもよい。
【００２０】
また、このように「ノードＮ＊（＊は任意の数値）」と記載した場合、そのノードはノードＩＤ「Ｎ＊」により識別されるノードであることを示す。例えば、「ノードＮ１」と記載した場合、そのノードはノードＩＤ「Ｎ１」により識別されるノードである。
【００２１】
また、図２中のグラフ情報ＧＲ１１−１では、ノードＮ１は、ノードＮ３１２へ向かう有向エッジであるエッジＥ１２が連結される。すなわち、ノードＮ１は、ノードＮ３１２とエッジＥ１２により連結される。このように「エッジＥ＊（＊は任意の数値）」と記載した場合、そのエッジはエッジＩＤ「Ｅ＊」により識別されるエッジであることを示す。例えば、「エッジＥ１２」と記載した場合、そのエッジはエッジＩＤ「Ｅ１２」により識別されるエッジである。例えば、ノードＮ１を参照元とし、ノードＮ３１２を参照先として連結されるエッジＥ１２により、ノードＮ１からノードＮ３１２に辿ることが可能となる。この場合、有向エッジであるエッジＥ１２は、ノードＮ１を中心として識別される場合、出力エッジとなり、ノードＮ３１２を中心として識別される場合、入力エッジとなる。また、図２のグラフ情報ＧＲ１１−１中の双方向矢印は、両方のノードから他方のノードへの有向エッジが連結されることを示す。例えば、グラフ情報ＧＲ１１−１中のノードＮ８３とノードＮ６９３との間の双方向矢印は、ノードＮ８３からノードＮ６９３へ向かう有向エッジと、ノードＮ６９３からノードＮ８３へ向かう有向エッジとの２つのエッジが連結されることを示す。
【００２２】
また、図２中のグラフ情報ＧＲ１１−１は、ユークリッド空間であってもよい。また、図２に示すグラフ情報ＧＲ１１−１は、各ベクトル間の距離等の説明のための概念的な図であり、グラフ情報ＧＲ１１−１は、多次元空間である。例えば、図２に示すグラフ情報ＧＲ１１−１は、平面上に図示するため２次元の態様にて図示されるが、例えば１００次元や１０００次元等の多次元空間であるものとする。
【００２３】
ここで、ベクトルデータ間の距離は、アイテムの類似性を示し、距離が近いほど類似している。本実施形態においては、グラフ情報ＧＲ１１−１における各ノードの距離を対応する各オブジェクト間の類似度とする。例えば、各ノードに対応する対象（アイテム）の類似性が、グラフ情報ＧＲ１１−１内におけるノード間の距離として写像されているものとする。例えば、各ノードに対応する概念間の類似度が各ノード間の距離に写像されているものとする。ここで、図２に示す例においては、グラフ情報ＧＲ１１−１における各ノード間の距離が短いオブジェクト同士の類似度が高く、グラフ情報ＧＲ１１−１における各ノード間の距離が長いオブジェクト同士の類似度が低い。例えば、図２中のグラフ情報ＧＲ１１−１において、ノードＩＤ「Ｎ３」により識別されるノードと、ノードＩＤ「Ｎ６９３」により識別されるノードとは近接している、すなわち距離が短い。そのため、ノードＩＤ「Ｎ３」により識別されるノードに対応するオブジェクトと、ノードＩＤ「Ｎ６９３」により識別されるノードに対応するオブジェクトとは類似度が高いことを示す。この場合、例えば、ノードＩＤ「Ｎ３」により識別されるノードに対応するオブジェクトと、ノードＩＤ「Ｎ６９３」により識別されるノードに対応するオブジェクトとは、ユーザビリティの観点においては類似度が高いことを示す。
【００２４】
また、例えば、図２中のグラフ情報ＧＲ１１−１において、ノードＩＤ「Ｎ３１２」により識別されるノードと、ノードＩＤ「Ｎ２」により識別されるノードとは遠隔にある、すなわち距離が長い。そのため、ノードＩＤ「Ｎ３１２」により識別されるノードに対応するオブジェクトと、ノードＩＤ「Ｎ２」により識別されるノードに対応するオブジェクトとは類似度が低いことを示す。この場合、例えば、ノードＩＤ「Ｎ２」により識別されるノードに対応するオブジェクトと、ノードＩＤ「Ｎ３１２」により識別されるノードに対応するオブジェクトとは、ユーザビリティの観点においては類似度が低いことを示す。
【００２５】
〔１−２．ベクトルの生成例〕
また、ここでいう、各ノード（ベクトル）は、各オブジェクト（アイテム）に対応する。アイテム情報が様々な観点に対応するアイテムの状態を示す数値データであれば、それをベクトルデータとして、そのまま扱うことも可能である。しかし、アイテム情報が、テキスト、画像、または、音声であったりする場合には、ベクトルデータへの変換が必要となる。そこで、図１の例では、各アイテムのアイテム情報から抽出された特徴量により生成された多次元（Ｎ次元）のベクトルがオブジェクトであってもよい。図１及び図２の例では、各アイテムのアイテムデータ（アイテム情報）から抽出された特徴量により生成された多次元（Ｎ次元）のベクトルがオブジェクトであってもよい。図１及び図２の例では、情報処理装置１００は、複数の基準ごとに生成されるベクトルを用いる。例えば、情報処理装置１００は、各アイテムについて、ユーザビリティ、収益性等の観点ごとに生成された多次元（Ｎ次元）のベクトルを用いる。例えば、図１中のグラフ情報ＧＲ１１−１は、各ノード（アイテム）についてターゲット「ユーザビリティ」の観点で生成されたベクトルの類似度に応じてノードがエッジ群ＥＧ１１により連結されたグラフ構造を示す。例えば、図１中のグラフ情報ＧＲ１１−２は、各ノード（アイテム）についてターゲット「収益性」の観点で生成されたベクトルの類似度に応じてノードがエッジ群ＥＧ１２により連結されたグラフ構造を示す。なお、情報処理装置１００は、ターゲット「ユーザビリティ」やターゲット「収益性」に限らず、種々の観点で処理を行ってもよいが、この点については後述する。
【００２６】
例えば、情報処理装置１００は、ターゲットごとに生成されたモデルを用いて各アイテム情報からＮ次元ベクトルを生成してもよい。図１及び図２の例では、情報処理装置１００は、モデル情報記憶部１２４（図１０参照）に示すように、モデルＩＤ「Ｍ１」により識別されるモデル（モデルＭ１）を用いて、各アイテムのアイテムデータからベクトルを生成する。上記のように、「モデルＭ＊（＊は任意の数値）」と記載した場合、そのモデルはモデルＩＤ「Ｍ＊」により識別されるモデルであることを示す。例えば、「モデルＭ１」と記載した場合、そのモデルはモデルＩＤ「Ｍ１」により識別されるモデルである。また、モデル情報記憶部１２４に示すように、モデルＭ１はターゲット「ユーザビリティ」、すなわちユーザビリティの観点での各特徴量の重みの導出（生成）のために用いられるモデルである。
【００２７】
例えば、情報処理装置１００は、各アイテム情報と各ターゲットに対応するモデルとを用いて、各ターゲットに対応する各アイテムのベクトルデータを生成してもよい。情報処理装置１００は、アイテム＃１のアイテム情報ＩＭＤ１と、ターゲット「ユーザビリティ」に対応するモデルＭ１とを用いて、ターゲット「ユーザビリティ」に対応するアイテム＃１のＮ次元のベクトルデータを生成してもよい。
【００２８】
ここで、図１３を用いて、各アイテムのアイテムに対応するベクトルデータの生成の一例を示す。図１３は、実施形態に係るベクトルデータの生成の一例を示す図である。図１３中のモデル式ＭＦＭに示す「ｙ＝ｗ１＊ｘ１＋ｗ２＊ｘ２＋・・・＋ｗｎ＊ｘｎ」（ｎは任意の数値、Ｎ次元ベクトルの場合、ｎ＝Ｎ）の式は、ｎ個の特徴量（素性）とその重みとを含むモデルの式を示す。例えば、モデルＭ１、Ｍ２等は、モデル式ＭＦＭの形式により表現される。例えば、情報処理装置１００は、モデル式ＭＦＭ中の各特徴量とその重みとの組合せをベクトルの各次元の要素として、Ｎ次元ベクトルを生成する。例えば、情報処理装置１００は、図１３中のベクトル形式ＶＦＭに示すように、「ｗ１＊ｘ１」をベクトルの１次元目の要素とし、「ｗ２＊ｘ２」をベクトルの２次元目の要素とし、「ｗｎ＊ｘｎ」をベクトルのｎ次元目の要素としたＮ次元ベクトルを生成する。
【００２９】
次に、アイテムのアイテム情報と各ターゲットに対応するモデルとを用いたベクトルの生成の例を説明する。具体的には、情報処理装置１００がアイテム＃１について、ターゲット「ユーザビリティ」に対応するベクトルデータＶＤ１−１と、ターゲット「ユーザビリティ」に対応するベクトルデータＶＤ１−２を生成する場合を示す。
【００３０】
まず、図１３中のモデル情報記憶部１２４について説明する。「ターゲットＩＤ」は、どのような観点をターゲット（目的）とするかを識別するための識別情報を示す。また、「ターゲット」は、ターゲットＩＤにより識別されるターゲットの具体的な名称や内容等を示す。すなわい、「ターゲット」は、対応するモデルがどのような観点に基づくかを示す。「特徴量＃１」〜「特徴量＃３」の各々は、各モデルの一つの特徴量（要素）を示す。なお、図１３の例では、説明のために、各特徴量の項目に括弧書きで各特徴量に対応する対象を示す。例えば、「特徴量＃１」の下に示す「（単語＃１）」は、「特徴量＃１」に対応する対象が単語＃１であることを示す。例えば、「特徴量＃１」〜「特徴量＃３」等に対応する特徴については、予め設定されたものであってもよい。なお、図１３では、「特徴量＃３」までを図示するが、特徴量がｎ個（ｎは任意の数値）である場合、各モデルには、「特徴量＃１」〜「特徴量＃ｎ」のｎ個の特徴量が含まれる。例えば、特徴量が５千個である場合、各モデルには、「特徴量＃１」〜「特徴量＃５０００」の５千個の特徴量が含まれる。例えば、「特徴量＃１」〜「特徴量＃３」等に対応する特徴については、情報処理装置１００の管理者等が設定してもよい。例えば、情報処理装置１００は、「特徴量＃１」を「単語＃１」と設定され、「特徴量＃２」を「単語＃２」と設定され、「特徴量＃３」を「画像」と設定されたことを示す設定情報を、情報処理装置１００の管理者等の入力により取得してもよい。また、例えば、情報処理装置１００は、上記のような設定情報を、外部の情報処理装置（情報提供装置５０等）から取得してもよい。
【００３１】
例えば、図１３に示す例において、モデルＭ１は、ターゲット「ユーザビリティ」に対応するモデルであることを示す。また、例えば、図１３に示す例において、モデルＭ２は、ターゲット「収益性」に対応するモデルであることを示す。
【００３２】
例えば、図１３に示す例において、各モデルの特徴量＃１は単語＃１に対応する特徴量（素性）であることを示す。また、例えば、図１３に示す例において、各モデルの特徴量＃２は単語＃２に対応する特徴量であることを示す。また、例えば、図１３に示す例において、各モデルの特徴量＃３は画像に対応する特徴量であることを示す。
【００３３】
また、図１３中のアイテム情報一覧ＩＬＴは、アイテム情報から生成される情報であって、ベクトルの生成に用いられる情報（以下、「ベクトル用情報」ともいう）を示す。アイテム＃１における単語＃１の値（ｘ１）は「１」であることを示す。例えば、情報処理装置１００は、アイテム＃１における単語＃１の出現頻度が所定の閾値（例えば５回等）以上である場合、アイテム＃１における単語＃１（特徴量＃１）の値（ｘ１）を「１」と決定する。また、アイテム＃１における単語＃２の値（ｘ２）は「０」であることを示す。例えば、情報処理装置１００は、アイテム＃１における単語＃２の出現頻度が所定の閾値（例えば３回等）未満である場合、アイテム＃１における単語＃２（特徴量＃２）の値（ｘ２）を「０」と決定する。また、アイテム＃１における画像の値（ｘ３）は「１」であることを示す。例えば、情報処理装置１００は、アイテム＃１に画像が含まれる場合、アイテム＃１における画像（特徴量＃３）の値（ｘ３）を「１」と決定する。
【００３４】
この場合、情報処理装置１００は、ベクトル用情報一覧ＶＬＴ１に示すように、「ｘ１＝１」、「ｘ２＝０」、「ｘ３＝１」等の各次元の変数（変項）に入力される値を決定する。例えば、情報処理装置１００は、アイテム＃１のアイテム情報ＩＭＤ１等に含まれる文字情報を形態素解析等の自然言語処理技術を適宜用いて解析することにより、単語（キーワード）を抽出し、各単語の出現頻度を計数（カウント）してもよい。例えば、情報処理装置１００は、アイテム＃１のアイテム情報ＩＭＤ１から抽出された単語の情報に基づいて、アイテム＃１における各単語の出現頻度を計数する。また、情報処理装置１００は、アイテム＃１のアイテム情報ＩＭＤ１等に含まれる画像情報に基づいて、画像情報の有無を判定してもよい。
【００３５】
また、図１３に示す例において、モデルＭ１は、特徴量＃１の重みが「０．０２」、特徴量＃２の重みが「０．０５」、特徴量＃３の重みが「０．０１」等であることを示す。この場合、情報処理装置１００は、重み情報一覧ＷＬＴ１に示すように、「ｗ１＝０．０２」、「ｗ２＝０．０５」、「ｗ３＝０．０１」等、ターゲット「ユーザビリティ」に対応する各次元の重みの値を決定する。
【００３６】
そして、情報処理装置１００は、「ｗ１」を「０．０２」とし、「ｘ１」を「１」とし、「ｗ２」を「０．０５」とし、「ｘ２」を「０」とし、「ｗ３」を「０．０１」とし、「ｘ３」を「１」とした中間ベクトルＳＢ１−１を生成する。そして、情報処理装置１００は、次元ごとに特徴量と重みとを乗算することにより、各次元の要素を算出する。これにより、情報処理装置１００は、１次元目の値が「０．０２」であり、２次元目の値が「０」であり、３次元目の値が「０．０１」であるベクトルＶＤ１−１を生成する。すなわち、情報処理装置１００は、図１３中に示すように「０．０２，０，０．０１，…」のような、ターゲット「ユーザビリティ」に対応するベクトルＶＤ１−１を生成する。
【００３７】
また、モデルＭ２は、特徴量＃１の重みが「０．０１」、特徴量＃２の重みが「０」、特徴量＃３の重みが「０．０６」等であることを示す。この場合、情報処理装置１００は、重み情報一覧ＷＬＴ２に示すように、「ｗ１＝０．０１」、「ｗ２＝０」、「ｗ３＝０．０６」等、ターゲット「収益性」に対応する各次元の重みの値を決定する。
【００３８】
そして、情報処理装置１００は、「ｗ１」を「０．０１」とし、「ｘ１」を「１」とし、「ｗ２」を「０」とし、「ｘ２」を「０」とし、「ｗ３」を「０．０６」とし、「ｘ３」を「１」とした中間ベクトルＳＢ１−２を生成する。そして、情報処理装置１００は、次元ごとに特徴量と重みとを乗算することにより、各次元の要素を算出する。これにより、情報処理装置１００は、１次元目の値が「０．０１」であり、２次元目の値が「０」であり、３次元目の値が「０．０６」であるベクトルＶＤ１−２を生成する。すなわち、情報処理装置１００は、図１３中に示すように「０．０１，０，０．０６，…」のような、ターゲット「収益性」に対応するベクトルＶＤ１−２を生成する。
【００３９】
このように、情報処理装置１００は、１つのアイテムについて、複数の基準の各々に基づく複数のベクトルを生成する。なお、上記は一例であり、情報処理装置１００は、種々の情報を適宜用いて、１つのアイテムについて、複数の各々に基づく複数のベクトルを生成してもよい。なお、情報処理装置１００は、情報提供装置５０等の他の外部装置からモデルＭ１、Ｍ２等を取得してもよい。
【００４０】
また、情報処理装置１００は、生成したベクトルをアイテム情報記憶部１２１（図７参照）等の記憶部１２０（図６参照）に記憶してもよいし、ベクトルを用いる際に随時生成してもよい。例えば、情報処理装置１００は、ベクトル間の距離計算等のベクトルを用いた処理を行う際に、アイテム情報記憶部１２１に記憶されたベクトル用情報やモデル情報記憶部１２４（図１０参照）に重み情報を含むモデルを用いて、ベクトルを生成してもよい。情報処理装置１００は、ベクトル間の距離計算時に、ベクトル用情報とモデルとを用いて、ベクトルを生成してもよい。また、情報処理装置１００は、ベクトル用情報をベクトルとして用いてもよい。
【００４１】
また、例えば、情報処理装置１００は、オートエンコーダ等の種々のモデルを用いて、アイテム情報からの特徴抽出を行い、その特徴を用いてベクトルの生成を行なってもよい。例えば、情報処理装置１００は、ターゲット「ユーザビリティ」に適したアイテム情報からオートエンコーダにより特徴抽出を行い、その特徴を用いてターゲット「ユーザビリティ」に対応するベクトルの生成を行なってもよい。例えば、情報処理装置１００は、ターゲット「収益性」に適したアイテム情報からオートエンコーダにより特徴抽出を行い、その特徴を用いてターゲット「収益性」に対応するベクトルの生成を行なってもよい。例えば、所定の目的に適したアイテム情報と適さないアイテム情報を識別するように学習させたモデルを生成して、その中間層をベクトルデータとして抽出しても良い。また、例えば、トリプレットロス（triplet  loss）といった類似性を学習する方法によりモデルを生成してもよい。例えば、情報処理装置１００は、記事コンテンツの特徴（素性）に対応する情報をアイテム情報から抽出し、ベクトルを生成してもよい。
【００４２】
なお、情報処理装置１００は、アイテム情報記憶部１２１（図７参照）に記憶された各アイテムのアイテム情報ＩＭＤ１、ＩＭＤ２、ＩＭＤ８３等を入力として、モデルを生成してもよい。情報処理装置１００は、各アイテムのアイテム情報ＩＭＤ１、ＩＭＤ２、ＩＭＤ８３等を入力とし、各ターゲットに対応する正解情報にモデルの出力値が近づくように学習することにより、各ターゲットに対応するモデルを生成してもよい。情報処理装置１００は、各アイテムのアイテム情報ＩＭＤ１、ＩＭＤ２、ＩＭＤ８３等を入力とし、ターゲット「ユーザビリティ」に対応する正解情報にモデルの出力値が近づくように学習することにより、ターゲット「ユーザビリティ」に対応するモデルを生成してもよい。例えば、アイテム情報ＩＭＤ１、ＩＭＤ２、ＩＭＤ８３等は、対応するアイテム中の記事コンテンツ全体であってもよい。また、例えば、アイテム情報ＩＭＤ１、ＩＭＤ２、ＩＭＤ８３等は、対応するアイテムのタイトルや本文等の文章から抽出された各要素、例えばアイテムに含まれる単語の一覧や単語の出現頻度等を示す情報であってもよい。また、例えば、アイテム情報ＩＭＤ１、ＩＭＤ２、ＩＭＤ８３等が、文章や単語群である場合、情報処理装置１００は、Ｗｏｒｄ２ＶｅｃやＤｏｃ２Ｖｅｃのようなアルゴリズム等を用いて、ベクトルを生成してもよい。例えば、情報処理装置１００は、アイテム情報ＩＭＤ１、ＩＭＤ２、ＩＭＤ８３等から、Ｄｏｃ２Ｖｅｃを用いてベクトルを生成してもよい。
【００４３】
情報処理装置１００は、アイテムのアイテム情報（アイテムデータ）が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力されたログ情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、所定のターゲット（目的）に適したアイテムかどうかを示すスコアの値を出力層から出力するモデルを生成してもよい。また、情報処理装置１００は、ベクトル生成に用いるモデルを情報提供装置５０等の他の外部装置から取得してもよい。
【００４４】
〔１−３．処理例〕
ここから、情報処理装置１００は、ユーザが閲覧した記事コンテンツである一のアイテムのアイテム情報を取得し、一のアイテムに対応する対象アイテムを抽出し、対象アイテムの情報をユーザに提供する場合を一例として説明する。図１の例では、端末装置１０は、記事コンテンツを閲覧するユーザＵ１が利用する。
【００４５】
例えば、ユーザＵ１は、端末装置１０を操作することにより、所定の記事コンテンツであるアイテムＸを端末装置１０に表示させ、アイテムＸを閲覧する。例えば、ユーザＵ１は、アイテムＸのタイトルを選択（クリック）することにより、端末装置１０にアイテムＸの記事全体を含む情報を端末装置１０に表示させ、アイテムＸを閲覧する。そして、端末装置１０は、ユーザＵ１がアイテムＸを選択（クリック）したことに応じて、アイテムＸに関する情報をクエリ情報として情報処理装置１００へ送信する。なお、端末装置１０は、ユーザＵ１がアイテムＸを選択（クリック）したことを示す履歴情報を情報処理装置１００に送信してもよい。そして、端末装置１０からユーザＵ１がアイテムＸを選択したことを示す情報を受信した情報処理装置１００は、アイテムＸに関する情報をユーザＵ１への対象アイテムを抽出するためのクエリ情報として用いてもよい。
【００４６】
図１の例では、端末装置１０は、アイテムＸのアイテム情報ＩＭＤ１１を、クエリ情報として情報処理装置１００へ送信する。例えば、アイテム情報ＩＭＤ１１は、アイテムＸの記事全体の情報であってもよい。また、例えば、端末装置１０は、アイテムＸを特定する情報と、アイテムＸのアイテムの文章から抽出された各要素、例えばアイテムＸのアイテムに含まれる単語の一覧や単語の出現頻度や画像の有無等を示す情報（ベクトル用情報）を、クエリ情報として情報処理装置１００へ送信してもよい。なお、端末装置１０は、アイテムＸをユーザＵ１が選択（クリック）したことを示す情報のみを情報処理装置１００へ送信してもよい。そして、ユーザＵ１が選択（クリック）を取得した情報処理装置１００は、その情報と記憶部１２０（図６参照）や他の外部装置（情報提供装置５０等）から取得した情報を基に対象アイテムを抽出してもよい。
【００４７】
そして、情報処理装置１００は、アイテムに関するクエリ情報を取得する（ステップＳ１１）。図１の例では、情報処理装置１００は、端末装置１０からアイテムＸに関するアイテム情報ＩＭＤ１１を、クエリ情報として取得する。
【００４８】
そして、情報処理装置１００は、ターゲットを決定する（ステップＳ１２）。図１の例では、ユーザが選択（クリック）したアイテムを基に類似アイテムを抽出するため、情報処理装置１００は、ターゲットをユーザビリティと決定する。例えば、情報処理装置１００は、ユーザが選択したくなるようなアイテムをユーザに提供し、ユーザのユーザビリティを向上させるために、ターゲットをユーザビリティと決定する。例えば、情報処理装置１００は、提供する記事コンテンツがユーザにとって適切なものである可能性が高くなり、ユーザのユーザビリティを向上させるために、ターゲットをユーザビリティと決定する。情報処理装置１００は、ユーザＵ１が選択したアイテムＸに類似するようなアイテムをユーザＵ１に推奨するために、ターゲットをユーザビリティと決定する。情報処理装置１００は、種々の情報を適宜用いてターゲットを決定する。情報処理装置１００は、種々の基準に基づいてターゲットを決定する。例えば、情報処理装置１００は、収益性を向上させる場合、ターゲットを収益性と決定する。なお、情報処理装置１００は、ターゲットを決定しなくてもよい。例えば、情報処理装置１００は、ターゲットを決定せずに、適宜の方法により検索の起点となるノード（以下、「起点ノード」や「起点ベクトル」ともいう）を決定し、各観点に基づいた類似アイテムを抽出してもよい。
【００４９】
そして、情報処理装置１００は、インデックスを決定する（ステップＳ１３）。情報処理装置１００は、ターゲット「ユーザビリティ」に対応するインデックスＩＮＤ１１やターゲット「収益性」に対応するインデックスＩＮＤ１２のうち、起点ノードの決定に用いるインデックスを決定する。図１の例では、情報処理装置１００は、複数グラフ情報群ＧＩＮＦに示すように、ターゲット「ユーザビリティ」に対応する検索用情報群ＩＮＦ１１中のインデックスＩＮＤ１１やターゲット「収益性」に対応する検索用情報群ＩＮＦ１２中のインデックスＩＮＤ１２のうち、検索に用いる情報を決定する。図１の例では、情報処理装置１００は、ターゲット「ユーザビリティ」に対応するインデックスＩＮＤ１１を用いると決定する。
【００５０】
なお、情報処理装置１００は、上記に限らず、種々のインデックス情報を用いてもよい。情報処理装置１００は、ベクトル用情報を対象としたインデックス情報を用いてもよい。例えば、情報処理装置１００は、各観点の重みを加味する前の各アイテムの素性（特徴量）のみの情報であるベクトル用情報を対象としたインデックス情報を用いてもよい。この場合、情報処理装置１００は、各観点の重みを各アイテムの素性（特徴量）のみに基づいて起点ノードを決定することができる。
【００５１】
そして、情報処理装置１００は、類似アイテムを抽出する抽出処理を行う（ステップＳ１４）。情報処理装置１００は、取得したアイテムＸのアイテム情報ＩＭＤ１１に基づいて、アイテムに類似する類似アイテムを抽出する抽出処理を行う。図１の例では、情報処理装置１００は、アイテム情報ＩＭＤ１１を用いて抽出処理を行う。
【００５２】
ここから、図２を用いて、抽出処理の具体例を説明する。図２に示すように、情報処理装置１００は、アイテムＸの情報からグラフ情報の探索に用いるベクトルを生成する。図２の例では、情報処理装置１００は、処理群ＰＳ１１に示すような処理により、アイテムＸに対応するベクトルを生成する。
【００５３】
まず、情報処理装置１００は、アイテムＸのベクトル用情報を生成する（ステップＳ１４−１）。情報処理装置１００は、アイテムＸのアイテム情報ＩＭＤ１１からアイテムＸのベクトル用情報を生成する。
【００５４】
例えば、情報処理装置１００は、アイテムＸのアイテム情報ＩＭＤ１１等に含まれる文字情報を形態素解析等の自然言語処理技術を適宜用いて解析することにより、単語（キーワード）を抽出し、各単語の出現頻度を計数（カウント）してもよい。また、情報処理装置１００は、アイテムＸのアイテム情報ＩＭＤ１１等に含まれる画像情報に基づいて、画像情報の有無を判定してもよい。
【００５５】
例えば、情報処理装置１００は、アイテムＸのアイテム情報ＩＭＤ１１から抽出された単語の情報に基づいて、アイテムＸにおける各単語の出現頻度を計数する。情報処理装置１００は、アイテムＸにおける単語＃１の出現頻度を５回であると計数する。そして、情報処理装置１００は、アイテムＸにおける単語＃１の出現頻度を１０回が所定の閾値（例えば５回等）以上であると判定し、アイテムＸにおける単語＃１（特徴量＃１）の値（ｘ１）を「１」と決定する。
【００５６】
また、情報処理装置１００は、アイテムＸにおける単語＃２の出現頻度を４回であると計数する。そして、情報処理装置１００は、アイテムＸにおける単語＃２の出現頻度を５回が所定の閾値（例えば３回等）以上であると判定し、アイテムＸにおける単語＃２（特徴量＃２）の値（ｘ２）を「１」と決定する。また、情報処理装置１００は、アイテム情報ＩＭＤ１１に画像情報が含まれているかどうかを判定する。図２の例では、情報処理装置１００は、アイテムＸには画像情報が含まれないと判定し、アイテムＸにおける単語＃３（特徴量＃３）の値（ｘ３）を「０」と決定する。このように、情報処理装置１００は、「ｘ１＝１」、「ｘ２＝１」、「ｘ３＝０」等の各次元の変数に入力される値を決定する。
【００５７】
そして、情報処理装置１００は、図２中のベクトル用情報一覧ＦＶＤ１１に示すように、「（１，１，０，…）」であるアイテムＸのベクトル用情報を生成する。情報処理装置１００は、１次元目に対応する値が「１」、２次元目に対応する値が「１」、３次元目に対応する値が「０」等であるベクトル用情報を生成する。
【００５８】
そして、情報処理装置１００は、ベクトル用情報と、各ターゲットに対応するモデルの重み情報とを用いて、ベクトルを生成する（ステップＳ１４−２）。図２の例では、情報処理装置１００は、ターゲット「ユーザビリティ」に対応するモデルＭ１の重み情報やターゲット「収益性」に対応するモデルＭ２の重み情報を用いて、複数の観点（ターゲット）の各々に対応する複数のベクトルを生成する。なお、以下では、情報処理装置１００がターゲット「ユーザビリティ」及びターゲット「収益性」の２つの観点に各々対応する２つのベクトルを生成する場合を示すが、情報処理装置１００は、各観点のベクトルを必要に応じて随時生成してもよい。例えば、図２の例では、情報処理装置１００は、検索に用いるターゲット「ユーザビリティ」に対応するベクトルのみを生成し、処理を行い、抽出基準がターゲット「収益性」に変更された際にターゲット「収益性」に対応するベクトルを生成してもよい。
【００５９】
まず、情報処理装置１００は、アイテムＸのベクトル用情報と、ターゲット「ユーザビリティ」に対応するモデルＭ１の重み情報とを用いて、アイテムＸのベクトル（以下、「ベクトルＶＤ１１」ともいう）を生成する。情報処理装置１００は、図２中の重み情報一覧ＷＤＴ１に示すように、「（０．０２，０．０５，０．０１，…）」であるモデルＭ１の重み情報を用いて、アイテムＸのベクトルＶＤ１１を生成する。情報処理装置１００は、１次元目に対応する値が「０．０２」、２次元目に対応する値が「０．０５」、３次元目に対応する値が「０．０１」等である重み情報を用いて、ベクトルＶＤ１１を生成する。すなわち、情報処理装置１００は、「ｗ１＝０．０２」、「ｗ２＝０．０５」、「ｗ３＝０．０１」等のモデルＭ１の重み情報を用いて、ベクトルＶＤ１１を生成する。
【００６０】
具体的には、情報処理装置１００は、図１３中のベクトル形式ＶＦＭに示すように、「ｗ１＊ｘ１」をベクトルの１次元目の要素とし、「ｗ２＊ｘ２」をベクトルの２次元目の要素とし、「ｗｎ＊ｘｎ」をベクトルのｎ次元目の要素としたベクトルＶＤ１１を生成する。情報処理装置１００は、「ｗ１」を「０．０２」とし、「ｘ１」を「１」とし、「ｗ２」を「０．０５」とし、「ｘ２」を「１」とし、「ｗ３」を「０．０１」とし、「ｘ３」を「０」として、ベクトルＶＤ１１を生成する。そして、情報処理装置１００は、次元ごとに特徴量と重みとを乗算することにより、各次元の要素を算出する。これにより、情報処理装置１００は、１次元目の値が「０．０２」であり、２次元目の値が「０．０５」であり、３次元目の値が「０」であるベクトルＶＤ１１を生成する。すなわち、情報処理装置１００は、「０．０２，０．０５，０，…」のような、ターゲット「ユーザビリティ」に対応するアイテムＸのベクトルＶＤ１１を生成する。
【００６１】
また、情報処理装置１００は、アイテムＸのベクトル用情報と、ターゲット「収益性」に対応するモデルＭ２の重み情報とを用いて、アイテムＸのベクトル（以下、「ベクトルＶＤ１２」ともいう）を生成する。情報処理装置１００は、図２中の重み情報一覧ＷＤＴ２に示すように、「（０．０１，０，０．０６，…）」であるモデルＭ２の重み情報を用いて、アイテムＸのベクトルＶＤ１２を生成する。情報処理装置１００は、１次元目に対応する値が「０．０１」、２次元目に対応する値が「０」、３次元目に対応する値が「０．０６」等である重み情報を用いて、ベクトルＶＤ１２を生成する。すなわち、情報処理装置１００は、「ｗ１＝０．０１」、「ｗ２＝０」、「ｗ３＝０．０６」等のモデルＭ２の重み情報を用いて、ベクトルＶＤ１２を生成する。情報処理装置１００は、「０．０１，０，０，…」のような、ターゲット「収益性」に対応するアイテムＸのベクトルＶＤ１２を生成する。なお、図２の例では、情報処理装置１００は、ターゲット「収益性」に対応するアイテムＸのベクトルＶＤ１２を生成しなくてもよい。
【００６２】
そして、情報処理装置１００は、アイテムＸに類似するアイテム（類似アイテム）を検索する（ステップＳ１４−３）。例えば、情報処理装置１００は、非特許文献１に開示されるような近傍検索の技術等の種々の従来技術を適宜用いて、アイテムＸの類似アイテムを検索してもよい。
【００６３】
図２の例では、情報処理装置１００は、グラフ情報ＧＲ１１（グラフ情報ＧＲ１１−１のみ図示）を用いてアイテムＸの類似アイテムを検索する。情報処理装置１００は、記憶部１２０（図６参照）からグラフ情報ＧＲ１１に必要な各種情報を取得する。例えば、情報処理装置１００は、グラフ情報記憶部１２３（図９参照）からターゲット「ユーザビリティ」に対応するグラフ情報ＧＲ１１−１を取得する。
【００６４】
また、情報処理装置１００は、検索用情報群ＩＮＦ１１に示すように、インデックス情報ＩＮＤ１１を用いて起点ノードを決定する。また、例えば、情報処理装置１００は、インデックス情報記憶部１２２（図８参照）から、グラフ情報ＧＲ１１における検索の起点となるノード（起点ベクトル）の決定に用いるインデックス情報ＩＮＤ１１を取得する。具体的には、情報処理装置１００は、インデックスデータセット１２２−１（図８参照）からターゲット「ユーザビリティ」に対応するインデックス情報ＩＮＤ１１を取得する。なお、インデックス情報ＩＮＤ１１は、情報処理装置１００が生成してもよいし、情報処理装置１００は、インデックス情報ＩＮＤ１１を情報提供装置５０等の他の外部装置から取得してもよい。
【００６５】
そして、情報処理装置１００は、一のアイテム（クエリ）に対応する起点ベクトルを決定（特定）するために、インデックス情報ＩＮＤ１１を用いる。図２の例では、情報処理装置１００は、アイテムＸのベクトルＶＤ１１に対応する起点ベクトルを決定（特定）するために、インデックス情報ＩＮＤ１１を用いる。すなわち、情報処理装置１００は、ベクトルＶＤ１１とインデックス情報ＩＮＤ１１とを用いて、グラフ情報ＧＲ１１における起点ベクトルを決定する。
【００６６】
図２中のインデックス情報ＩＮＤ１１は、図８中のインデックス情報記憶部１２２に示す階層構造を有する。例えば、インデックス情報ＩＮＤ１１は、ルートＲＴの直下に位置する第１階層のノード（ベクトル）が、節点ＶＴ１、ＶＴ２等であることを示す。また、例えば、インデックス情報ＩＮＤ１１は、節点ＶＴ２の直下の第２階層のノードが、節点ＶＴ２−１〜ＶＴ２−４（図示せず）であることを示す。また、例えば、インデックス情報ＩＮＤ１１は、節点ＶＴ２−２の直下の第３階層のノードが、ノードＮ８３、ノードＮ５１６、すなわちグラフ情報ＧＲ１１中のノード（ベクトル）であることを示す。
【００６７】
例えば、情報処理装置１００は、図２中のインデックス情報ＩＮＤ１１に示すような木構造型のインデックス情報を用いて、グラフ情報ＧＲ１１における起点ベクトルを決定する（ステップＳ１４−４）。図２の例では、情報処理装置１００は、ベクトルＶＤ１１を生成した後、インデックス情報ＩＮＤ１１を上から下へ辿ることにより、インデックス情報ＩＮＤ１１の近傍候補となる起点ベクトルを特定することにより、効率的に検索クエリ（一のアイテム）に対応する起点ベクトルを決定することができる。
【００６８】
例えば、情報処理装置１００は、インデックス情報ＩＮＤ１１をルートＲＴからリーフノード（グラフ情報ＧＲ１１中のノード（ベクトル））まで辿ることにより、ベクトルＶＤ１１に対応する起点ベクトルを決定してもよい。図２の例では、例えば、情報処理装置１００は、インデックス情報ＩＮＤ１１をルートＲＴからノードＮ８３まで辿ることにより、ノードＮ８３を起点ベクトルとして決定する。例えば、情報処理装置１００は、木構造に関する種々の従来技術を適宜用いて、インデックス情報ＩＮＤ１１をルートＲＴからリーフノードまで辿ることにより、辿りついたリーフノードを起点ベクトルとして決定してもよい。例えば、情報処理装置１００は、ベクトルＶＤ１１との類似度に基づいて、インデックス情報ＩＮＤ１１を下へ辿ることにより、起点ベクトルを決定してもよい。
【００６９】
例えば、情報処理装置１００は、ルートＲＴから節点ＶＴ１、ＶＴ２等のいずれの節点に辿るかを、ベクトルＶＤ１１と節点ＶＴ１、ＶＴ２との類似度に基づいて決定してもよい。例えば、情報処理装置１００は、ルートＲＴから節点ＶＴ１、ＶＴ２等のうち、ベクトルＶＤ１１との類似度が最も高い節点ＶＴ２へ辿ると決定してもよい。また、例えば、情報処理装置１００は、節点ＶＴ２から節点ＶＴ２−１〜ＶＴ２−４等のうち、ベクトルＶＤ１１との類似度が最も高い節点ＶＴ２−２へ辿ると決定してもよい。また、例えば、情報処理装置１００は、節点ＶＴ２−２からノードＮ８３、ノードＮ５１６等のうち、ベクトルＶＤ１１との類似度が最も高い節点ノードＮ８３へ辿ると決定してもよい。
【００７０】
なお、図２の例では、説明を簡単にするために、起点ベクトルを１つ決定する場合を示すが、情報処理装置１００は、複数個の起点ベクトルを決定してもよい。例えば、情報処理装置１００は、ノードＮ８３、ノードＮ５１６、ノードＮ１０等の複数個のベクトル（ノード）を起点ベクトルとして決定してもよい。なお、インデックス情報ＩＮＤ１１を用いずに、検索開始時にグラフ情報ＧＲ１１からランダムに１つ以上のノードを選択し、それを起点ベクトルとしてもよいし、または、予め指定された１つ以上のノードを起点ベクトルとしてもよい。
【００７１】
そして、情報処理装置１００は、グラフ情報ＧＲ１１を検索することにより、アイテムＸの対象アイテムを抽出する（ステップＳ１４−５）。例えば、情報処理装置１００は、ノードＮ８３の近傍に位置するノードを類似コンテンツとして抽出する。例えば、情報処理装置１００は、ノードＮ８３からの距離が近いノードを類似コンテンツとして抽出する。例えば、情報処理装置１００は、ノードＮ８３を起点として、エッジを辿ることにより、ノードＮ８３から到達可能なノードを類似コンテンツとして抽出する。例えば、情報処理装置１００は、所定数（例えば、２個や１０個等）のノードを類似コンテンツとして抽出する。例えば、情報処理装置１００は、図１４に示すような検索処理により、コンテンツＸの類似コンテンツを抽出してもよい。図２の例では、情報処理装置１００は、ノードＮ８３を起点として、グラフ情報ＧＲ１１を探索することにより、ノードＮ８３やノードＮ６７やノードＮ９を対象コンテンツとして順次抽出する。
【００７２】
ここで、情報処理装置１００は、対象コンテンツを抽出した場合に、抽出済みの対象アイテムが対象アイテムに関する所定の条件（以下、「基準変更条件」とする）を満たすかどうかを判定する（ステップＳ１４−６）。図２の例では、情報処理装置１００は、ノードＮ８３やノードＮ６７やノードＮ９を抽出する毎に、抽出済みの対象アイテムが基準変更条件を満たすかどうかを判定する。すなわち、情報処理装置１００は、対象アイテムを１つ抽出する毎にステップＳ１４−６を行う。
【００７３】
図２の例では、情報処理装置１００は、同一カテゴリのアイテム数が２より大きいことを基準変更条件として用いる。なお、情報処理装置１００は、基準変更条件として種々の条件を用いてもよいが、詳細は後述する。
【００７４】
まず、情報処理装置１００は、ステップＳ１４−５において抽出済みの対象アイテム一覧ＥＴＬ１１に示すようにノードＮ８３を抽出した際に、基準変更条件を満たすかどうかを判定する。情報処理装置１００は、抽出済みの対象アイテムがノードＮ８３の１つであり、基準変更条件を満たさないと判定する。
【００７５】
次に、情報処理装置１００は、ステップＳ１４−５において抽出済みの対象アイテム一覧ＥＴＬ１１に示すようにノードＮ６７を抽出した際に、基準変更条件を満たすかどうかを判定する。情報処理装置１００は、抽出済みの対象アイテムがノードＮ８３とノードＮ６７の２つであり、カテゴリが同じカテゴリ「経済」であるが、アイテムの数が２であるため、基準変更条件を満たさないと判定する。
【００７６】
次に、情報処理装置１００は、ステップＳ１４−５において抽出済みの対象アイテム一覧ＥＴＬ１１に示すようにノードＮ９を抽出した際に、基準変更条件を満たすかどうかを判定する。情報処理装置１００は、抽出済みの対象アイテムがノードＮ８３、ノードＮ６７、ノードＮ９の３つであり、カテゴリが同じカテゴリ「経済」であり、アイテムの数が３、すなわち２より大きいため、基準変更条件を満たすと判定する。
【００７７】
そのため、情報処理装置１００は、対象アイテムの抽出基準を変更して対象アイテムを抽出する（ステップＳ１４−７）。図２の例では、情報処理装置１００は、対象アイテムの抽出基準をグラフ以外の情報を用いることに変更して対象アイテムを抽出する。すなわち、情報処理装置１００は、対象アイテムの抽出基準を変更して、グラフ以外の情報を用いて対象アイテムを抽出する。このように、情報処理装置１００は、グラフ情報の検索時において所定の要素が共通する対象アイテムの数が所定の閾値以上となる場合、グラフ以外の情報を用いて対象アイテムを抽出する。具体的には、情報処理装置１００は、抽出済みの対象アイテム一覧ＥＴＬ１１に示すように、カテゴリが共通する抽出済みの対象アイテムの数が所定の閾値以上となる場合、グラフ以外の情報を用いてカテゴリとは異なる別カテゴリのアイテムを対象アイテムとして抽出する。
【００７８】
例えば、情報処理装置１００は、アイテム情報記憶部１２１（図７参照）から残りの対象アイテムをカテゴリに基づいて抽出する。図１及び図２の例では、情報処理装置１００は、アイテム群ＩＴＬ１１からカテゴリ「経済」と異なる別カテゴリのアイテムを抽出する。情報処理装置１００は、アイテム群ＩＴＬ１１からカテゴリ「経済」と異なる別カテゴリ「スポーツ」のアイテム＃１等を対象アイテムとして抽出する。また、情報処理装置１００は、抽出する対象アイテムの数を規定する所定数に達するまで、アイテム群ＩＴＬ１１からカテゴリ「経済」と異なる別カテゴリのアイテムを対象アイテムとして抽出する。
【００７９】
そして、情報処理装置１００は、抽出した対象アイテムに関する情報を提供する（ステップＳ１５）。図１及び図２の例では、情報処理装置１００は、ノードＮ８３に対応するアイテム＃８３や、ノードＮ６７に対応するアイテム＃６７や、ノードＮ９に対応するアイテム＃９や、ノードＮ１に対応するアイテム＃１等を対象アイテムとしてユーザＵ１が利用する端末装置１０に提供する。すなわち、情報処理装置１００は、カテゴリ「経済」に対応するアイテム＃８３、＃６７、＃９や、カテゴリ「経済」以外のカテゴリのアイテム＃１等の多様なカテゴリのアイテムを対象アイテムとして端末装置１０に提供する。
【００８０】
上述したように、情報処理装置１００は、グラフ情報ＧＲ１１−１やインデックス情報ＩＮＤ１１を用いて、ユーザＵ１から取得したアイテムＸの対象アイテムを抽出する。具体的には、情報処理装置１００は、グラフ情報ＧＲ１１−１のターゲット「ユーザビリティ」のエッジ群ＥＧ１１で連結されたノード間を辿ることにより、対象アイテムを抽出する。そして、情報処理装置１００は、抽出した対象アイテムが基準変更条件を満たした場合、抽出基準を変更して、グラフ以外の情報を用いて対象アイテムを抽出する。これにより、情報処理装置１００は、偏ったカテゴリのアイテムが抽出された場合に、抽出基準を変更して、他のカテゴリのアイテムを対象アイテムとして抽出することができる。そのため、情報処理装置１００は、複数のカテゴリのアイテムが含まれるようにアイテムを抽出することができるため、アイテムを適切に抽出することができる。上記のように、情報処理装置１００は、グラフ情報ＧＲ１１を探索することにより、類似するアイテムを高速に抽出しつつ、抽出するアイテムに偏りが生じた場合に他の基準で対象アイテムを抽出することにより、アイテムを適切に抽出することができる。
【００８１】
そして、情報処理装置１００は、抽出した対象アイテムに関する情報を端末装置１０に送信する。これにより、情報処理装置１００は、ユーザに対して適切なアイテムの推奨を行うことができる。
【００８２】
例えば、情報処理装置１００は、アイテムＸと類似性を有するアイテム（対象アイテム）が、例えばアイテムＸと一見関係が無いように見える場合であっても、グラフ情報を用いることで、アイテムＸの対象アイテムとして抽出でき、アイテムを適切に抽出することができる。例えば、ディープラーニングといった手法で、特定のアイテムＹＹに類似する等の所定の目的に適したアイテムを識別するという方法もあるが、所定の目的に適するかに影響する多種多様な要素が存在する場合においては、各要素の事例が少ないので、学習ができずに識別精度を向上させることが難しいという問題がある。例えば、ディープラーニングといった学習手法で生成したモデルを用いて、そのモデルにアイテムの情報を入力し、出力されたスコアからそのアイテムが所定の目的に適するかを識別するという方法もあるが、多種多様な要素が存在する場合においては、各要素の事例が少ないため、モデルの精度を向上させることが難しく、識別精度を向上させることが難しい。一方で、情報処理装置１００は、各アイテムから抽出した特徴を基に生成した複数のベクトルのグラフ構造化したグラフ情報を用いて検索を行うことにより、アイテムのベクトルの比較によりアイテム間の類似度を判定し、一のアイテムが複数のアイテムに含まれるかどうかを適切に判定することができる。
【００８３】
〔１−４．検索の基準（条件）〕
なお、上述した例では、情報処理装置１００がユーザビリティ（ＴＩＤ１）のエッジ群ＥＧ１１で連結されたノード間を辿ることにより、対象アイテムを抽出する場合を示したが、情報処理装置１００は、種々の条件に基づいて辿るノードを決定してもよい。例えば、情報処理装置１００は、複数の観点エッジにより連結されたノード間のみを辿ることにより、対象アイテムを抽出してもよい。
【００８４】
例えば、情報処理装置１００は、複数のエッジ群のうち、所定の閾値以上の複数のエッジ群のエッジが連結されるノード間を辿ることにより、対象アイテムを抽出する。情報処理装置１００は、複数のエッジ群ＥＧ１１、ＥＧ１２の２つのエッジ群のうち、２つ以上の複数のエッジ群のエッジが連結されるノード間を辿ることにより、対象アイテムを抽出する。すなわち、図２の例では、情報処理装置１００は、複数のエッジ群ＥＧ１１、ＥＧ１２の２つのエッジ群の両方のエッジが連結されるノード間を辿ることにより、対象アイテムを抽出する。情報処理装置１００は、複数のエッジ群ＥＧ１１、ＥＧ１２の各々に対応する複数のエッジが連結されるノード間を辿ることにより、対象アイテムを抽出する。
【００８５】
例えば、情報処理装置１００は、図３に示すようなグラフ情報ＧＲ１１−０〜ＧＲ１１−２等を含むグラフ情報ＧＲ１１に基づいて、複数のエッジ群ＥＧ１１、ＥＧ１２の２つのエッジ群の両方のエッジが連結されるノード間を辿る。図３は、実施形態に係るグラフ情報を概念的に示す図である。図３中のグラフ情報ＧＲ１１では、エッジ群ＥＧ１１を実線で示し、エッジ群ＥＧ１２を点線で示す。
【００８６】
図３中のグラフ情報ＧＲ１１−０は、グラフ情報記憶部１２３（図９参照）に記憶された情報に基づく、各ノードと各エッジ群のエッジによる連結関係を視覚的に示す情報である。グラフ情報ＧＲ１１−０は、ノードＮ１からの出力エッジであり、ユーザビリティ（ＴＩＤ１）に対応するエッジであるエッジＥ１１が、ノードＮ７に連結されることを示す。すなわち、ノードＮ１のアイテム＃１は、ユーザビリティの観点でノードＮ７のアイテム＃７に類似することを示す。
【００８７】
また、グラフ情報ＧＲ１１−０は、ノードＮ２からの出力エッジであり、収益性（ＴＩＤ２）に対応するエッジであるエッジＥ２１−２が、ノードＮ３に連結されることを示す。すなわち、ノードＮ２のアイテム＃２は、収益性の観点でノードＮ３のアイテム＃３に類似することを示す。
【００８８】
また、グラフ情報ＧＲ１１−０は、ノードＮ８３からの出力エッジであり、ユーザビリティ（ＴＩＤ１）に対応するエッジであるエッジＥ８３１が、ノードＮ６７に連結されることを示す。すなわち、ノードＮ８３１のアイテム＃８３１は、ユーザビリティの観点でノードＮ６７のアイテム＃６７に類似することを示す。また、グラフ情報ＧＲ１１−０は、ノードＮ８３からの出力エッジであり、収益性（ＴＩＤ２）に対応するエッジであるエッジＥ８３１−２が、ノードＮ６７に連結されることを示す。すなわち、ノードＮ８３１のアイテム＃８３１は、収益性の観点でノードＮ６７のアイテム＃６７に類似することを示す。このように、グラフ情報ＧＲ１１−０は、ノードＮ８３からは、ユーザビリティ（ＴＩＤ１）及び収益性（ＴＩＤ２）の２つの観点に対応する２つの出力エッジがノードＮ６７に連結されていることを示す。
【００８９】
なお、グラフ情報ＧＲ１１−０は、各ノード間のエッジの連結関係を示すための図であり、ノードの位置関係は、ノードに対応するアイテムの類似関係を示すものではない。例えば、グラフ情報ＧＲ１１−０中に示すエッジＥ２１やエッジＥ８３１等の長さは、連結するノード間の類似度を示すものではない。言い換えると、グラフ情報ＧＲ１１−０中に示すエッジＥ２１がエッジＥ８３１よりも短いことは、ノードＮとノードＮ３６との類似度が、ノードＮ６７とノードＮ８３との類似度より大きいことを示すものではない。
【００９０】
図３中のグラフ情報ＧＲ１１−１やグラフ情報ＧＲ１１−２は、アイテム情報記憶部１２１（図７参照）に記憶された情報やモデル情報記憶部１２１（図１０参照）に記憶された情報に基づく、各ノード間の距離関係を反映した連結関係を視覚的に示す情報である。
【００９１】
グラフ情報ＧＲ１１−１は、アイテム情報記憶部１２１に記憶された各アイテムのベクトル用情報やモデル情報記憶部１２１に記憶されたモデルＭ１の重み情報に基づく、ユーザビリティ（ＴＩＤ１）の観点における各ノードの関係を視覚的に示す情報である。すなわち、グラフ情報ＧＲ１１−１は、ユーザビリティ（ＴＩＤ１）の観点での各ノード（アイテム）のベクトルに基づくノードの位置関係やエッジ群ＥＧ１１での連結関係を示す。言い換えると、グラフ情報ＧＲ１１−１は、グラフ情報ＧＲ１１−０にユーザビリティ（ＴＩＤ１）の観点での距離概念を導入し、複数のエッジ群のうち、ユーザビリティ（ＴＩＤ１）に対応するエッジ群ＥＧ１１のみを図示したものである。
【００９２】
例えば、情報処理装置１００は、グラフ情報ＧＲ１１−０の情報の一部や各アイテムのベクトル用情報やモデル情報ＭＬＴ１に示すようなモデルＭ１の情報により、グラフ情報ＧＲ１１−１に示すような情報を生成する。グラフ情報ＧＲ１１−１は、ノードＮ２からの出力エッジであり、ユーザビリティ（ＴＩＤ１）に対応するエッジであるエッジＥ２１が、ノードＮ３６に連結されることを示す。すなわち、ノードＮ２のアイテム＃２は、ユーザビリティの観点でノードＮ３６のアイテム＃３６に類似することを示す。
【００９３】
グラフ情報ＧＲ１１−２は、アイテム情報記憶部１２１に記憶された各アイテムのベクトル用情報やモデル情報記憶部１２１に記憶されたモデルＭ２の重み情報に基づく、収益性（ＴＩＤ２）の観点における各ノードの関係を視覚的に示す情報である。すなわち、グラフ情報ＧＲ１１−２は、収益性（ＴＩＤ２）の観点での各ノード（アイテム）のベクトルに基づくノードの位置関係やエッジ群ＥＧ１２での連結関係を示す。言い換えると、グラフ情報ＧＲ１１−２は、グラフ情報ＧＲ１１−０に収益性（ＴＩＤ２）の観点での距離概念を導入し、複数のエッジ群のうち、収益性（ＴＩＤ２）に対応するエッジ群ＥＧ１２のみを図示したものである。
【００９４】
例えば、情報処理装置１００は、グラフ情報ＧＲ１１−０の情報の一部や各アイテムのベクトル用情報やモデル情報ＭＬＴ２に示すようなモデルＭ２の情報により、グラフ情報ＧＲ１１−２に示すような情報を生成する。グラフ情報ＧＲ１１−２は、ノードＮ１からの出力エッジであり、収益性（ＴＩＤ２）に対応するエッジであるエッジＥ１１−２が、ノードＮ２５に連結されることを示す。すなわち、ノードＮ１のアイテム＃１は、収益性の観点でノードＮ２５のアイテム＃２５に類似することを示す。
【００９５】
情報処理装置１００は、図３に示すようなグラフ情報ＧＲ１１を用いて、アイテムＸの対象アイテムを抽出する。図２の例では、情報処理装置１００は、複数のエッジ群ＥＧ１１、ＥＧ１２の２つのエッジ群の両方のエッジ（以下、「両観点エッジ」とする場合がある）が連結されるノード間を辿ることにより、ノードＮ８３の近傍に位置するノードを対象アイテムとして抽出する。例えば、情報処理装置１００は、ノードＮ８３からの両観点エッジが連結されたノードを対象アイテムとして抽出する。例えば、情報処理装置１００は、ノードＮ８３を起点として、両観点エッジが連結されたノードを辿ることにより、ノードＮ８３から到達可能なノードを対象アイテムとして抽出する。この場合、情報処理装置１００は、ノードＮ８３から両観点エッジが連結されたノードを辿ることにより、ノードＮ８３やノードＮ６７等を対象アイテムとして抽出する。例えば、情報処理装置１００は、ノードＮ９がノードＮ８３やノードＮ６７から両観点エッジが連結されていない場合、ノードＮ９を対象アイテムとして抽出しない。
【００９６】
〔１−４―１．距離〕
例えば、情報処理装置１００は、ノード間の距離を算出し、算出した距離に応じて、辿るノードを決定してもよい。例えば、情報処理装置１００は、下記の式（１）を用いて、２つのベクトル間の距離を算出してもよい。
【００９７】
ｄ  ＝  （（ａ１−ａ２）２＋（ｂ１−ｂ２）２＋（ｃ１−ｃ２）２＋…）１／２  …（１）
【００９８】
ここで、上記式（１）の左辺中の距離「ｄ」は、２つのベクトル間の距離を示す。上記式（１）の右辺中の「ａ１」は、一方のベクトルの１次元目に対応する。上記式（１）の右辺中の「ａ２」は、他方のベクトルの１次元目に対応する。また、上記式（１）の右辺中の「ｂ１」は、一方のベクトルの２次元目に対応する。上記式（１）の右辺中の「ｂ２」は、他方のベクトルの２次元目に対応する。上記式（１）では、次元ごとの差分の二乗の総和を二分の一乗することにより距離「ｄ」を算出する。上記式（１）により算出される距離「ｄ」が小さい（０に近い）程、２つのベクトルが類似する。
【００９９】
例えば、情報処理装置１００は、ユーザビリティ（ＴＩＤ１）の観点で、アイテムＸとアイテム＃８３との間の距離を算出する場合、上記式（１）に基づいて以下の式（２）のように算出する。
【０１００】
ｄ１  ＝  （（０．０２−０．０２）２＋（０．０５−０）２＋（０−０．０１）２＋…）１／２  …（２）
【０１０１】
ここで、上記式（２）の左辺中の距離「ｄ１」（以下、「第１距離ｄ１」とする）は、ユーザビリティ（ＴＩＤ１）の観点におけるアイテムＸのベクトルＶＤ１１とアイテム＃８３のベクトルＶＤ１−１との間の距離を示す。上記式（２）のように、情報処理装置１００は、ユーザビリティ（ＴＩＤ１）の観点におけるアイテムＸとアイテム＃８３との間の距離を算出する。以下、ユーザビリティ（ＴＩＤ１）の観点におけるノード間の距離を「第１距離」とする。
【０１０２】
また、例えば、情報処理装置１００は、収益性（ＴＩＤ２）の観点で、アイテムＸとアイテム＃８３との間の距離を算出する場合、上記式（１）に基づいて以下の式（３）のように算出する。
【０１０３】
ｄ２  ＝  （（０．０１−０．０１）２＋（０−０）２＋（０−０．０６）２＋…）１／２  …（３）
【０１０４】
ここで、上記式（３）の左辺中の距離「ｄ２」は、収益性（ＴＩＤ２）の観点におけるアイテムＸのベクトルＶＤ１１とアイテム＃８３のベクトルＶＤ１−１との間の距離を示す。上記式（２）のように、情報処理装置１００は、収益性（ＴＩＤ２）の観点におけるアイテムＸとアイテム＃８３との間の距離を算出する。以下、収益性（ＴＩＤ２）の観点におけるノード間の距離を「第２距離」とする。
【０１０５】
例えば、情報処理装置１００は、各観点で算出した距離に基づく距離（以下、「判定用距離」とする）が所定の条件を満たす場合、そのノード間を辿ると決定してもよい。情報処理装置１００は、判定用距離が所定の閾値未満であれば、そのノード間を辿ると決定してもよい。例えば、情報処理装置１００は、第１距離と第２距離の平均を判定用距離として算出してもよい。
【０１０６】
また、情報処理装置１００は、下記の式（１）と同等である下記の式（４）を用いて、２つのベクトル間の距離を算出してもよい。
【０１０７】
ｄ  ＝  （（ｗ１（ｘ１１−ｘ１２））２＋（ｗ２（ｘ２１−ｘ２２））２＋…）１／２    …（４）
【０１０８】
ここで、上記式（４）の左辺中の距離「ｄ」は、２つのベクトル間の距離を示す。上記式（４）の右辺中の「ｗ１」は、ベクトルの１次元目に対応する特徴量の重みに対応する。上記式（４）の右辺中の「ｘ１１」は、一方のベクトル用情報の１次元目に対応する。上記式（４）の右辺中の「ｘ１２」は、他方のベクトル用情報の１次元目に対応する。上記式（４）の右辺中の「ｗ２」は、ベクトルの２次元目に対応する特徴量の重みに対応する。上記式（４）の右辺中の「ｘ２１」は、一方のベクトル用情報の２次元目に対応する。上記式（４）の右辺中の「ｘ２２」は、他方のベクトル用情報の２次元目に対応する。上記式（４）では、次元ごとの差分に重みを乗算した値の二乗の総和を二分の一乗することにより距離「ｄ」を算出する。上記式（１）により算出される距離「ｄ」が小さい（０に近い）程、２つのベクトルが類似する。なお、上記距離の算出は一例であり、情報処理装置１００は、種々の方法により２つのベクトル間の距離を算出してもよい。すなわち、情報処理装置１００は、種々の距離関数を用いて２つのベクトル間の距離を算出してもよい。例えば、下記の式（５）により距離を算出してもよい。下記の式（５）では、次元ごとの差分の二乗に重みを乗算した値の総和を二分の一乗することにより距離「ｄ」を算出する。
【０１０９】
ｄ  ＝  （ｗ１（ｘ１１−ｘ１２）２＋ｗ２（ｘ２１−ｘ２２）２＋…）１／２  …（５）
【０１１０】
また、情報処理装置１００は、１つのエッジのみが連結されたノード間であっても、距離を算出し、算出した距離に基づく距離（判定用距離）が所定の閾値未満であれば、そのノード間を辿ってもよい。
【０１１１】
〔１−４―２．エッジ数〕
また、情報処理装置１００は、複数のエッジ群のエッジが所定閾値以上連結されるノード間を辿ってもよい。すなわち、情報処理装置１００は、複数のエッジ群のうち、所定閾値以上の複数のエッジ群のエッジが連結されるノード間を辿ることにより、対象アイテムを抽出してもよい。このように、情報処理装置１００は、ノードを辿る条件として、ノード間を連結するエッジの数を用いてもよい。
【０１１２】
上記の例では、情報処理装置１００は、２つの観点に対応するエッジ群ＥＧ１１、ＥＧ１２を含むグラフ情報ＧＲ１１を用いて、ユーザビリティ（ＴＩＤ１）のエッジと収益性（ＴＩＤ２）のエッジとが連結されるノード間を辿ることにより、対象アイテムを抽出する。このように、情報処理装置１００は、２つの観点に対応するエッジ群ＥＧ１１、ＥＧ１２を含むグラフ情報ＧＲ１１において、２つの観点に対応する２つのエッジが連結されるノード間を辿ることにより、対象アイテムを抽出する。情報処理装置１００は、複数のエッジ群の各々に対応する複数のエッジが連結されるノード間を辿ることにより、対象アイテムを抽出する。情報処理装置１００は、グラフに含まれる全観点のエッジが連結されるノード間を辿ることにより、対象アイテムを抽出する。
【０１１３】
例えば、情報処理装置１００は、３つの観点に対応するエッジ群を含むグラフにおいて、所定の閾値（例えば「２」等）以上の観点に対応するエッジが連結されるノード間を辿ることにより、対象アイテムを抽出する。例えば、情報処理装置１００は、５つの観点に対応するエッジ群を含むグラフにおいて、３つ以上の観点に対応するエッジが連結されるノード間を辿ることにより、対象アイテムを抽出する。
【０１１４】
また、例えば、情報処理装置１００は、ノードを辿る条件として、ノード間を連結するエッジの割合を用いてもよい。例えば、情報処理装置１００は、複数の観点に対応する複数のエッジ群を含むグラフにおいて、ノード間を連結するエッジ数が所定の割合（例えば５０％以上等）以上である場合、そのノード間を辿ることにより、対象アイテムを抽出する。例えば、情報処理装置１００は、１０の観点に対応する複数のエッジ群を含むグラフにおいて、ノード間を連結するエッジ数が６である場合、ノード間を連結するエッジの割合が「６０％（＝６／１０＊１００）であり条件「５０％」以上であるため、そのノード間を辿ると決定する。
【０１１５】
なお、上記は一例であり、情報処理装置１００は、種々の条件を適宜用いて、ノード間のみを辿ることにより、対象アイテムを抽出してもよい。例えば、情報処理装置１００は、ノード間を連結するエッジの数や、ノード間の距離等を組み合わせた条件を満たす場合に、そのノード間を辿ると決定してもよい。例えば、グラフに４つの観点の各々に対応する４つのエッジ群が含まれる場合、情報処理装置１００は、ノード間を連結するエッジの数が第１閾値（例えば、「３」等）以上であり、４つの観点ごとに算出したノード間の距離に基づくノード間の判定用距離が第２閾値（例えば、「１」等）未満であることを示す条件（複数条件）を満たす場合に、そのノード間を辿ると決定してもよい。
【０１１６】
〔１−５．基準変更〕
図１及び図２の例では、所定の条件を満たしたカテゴリと異なる別カテゴリのアイテムを抽出するように抽出基準を変更し、別カテゴリのアイテムを対象アイテムとして抽出する例を示したが、情報処理装置１００は、種々の変更を行ってもよい。情報処理装置１００による抽出基準の変更は上記に限らず、種々の態様であってもよい。この点について、図４を用いて説明する。図４は、実施形態に係る情報の抽出の一例に示す図である。なお、図１〜図３と同様の点については、説明を適宜省略する。図４の例では、情報処理装置１００は、アイテムＹを対象（クエリ情報）として処理を行うものとする。
【０１１７】
図４中のグラフ情報ＧＲ５０、ＧＲ５０−１、ＧＲ５０−２は、例えばグラフ情報記憶部１２３（図９参照）に記憶された情報に基づく、各ノードと各エッジ群のエッジによる連結関係を視覚的に示す情報である。グラフ情報ＧＲ５０は、ノードＮ５１からの出力エッジであり、ユーザビリティ（ＴＩＤ１）に対応するエッジであるエッジＥ５１１が、ノードＮ５２に連結されることを示す。すなわち、ノードＮ５１のアイテム＃５１は、ユーザビリティの観点でノードＮ５２のアイテム＃５２に類似することを示す。
【０１１８】
また、グラフ情報ＧＲ５０は、ノードＮ５３からの出力エッジであり、収益性（ＴＩＤ２）に対応するエッジであるエッジＥ５３−２が、ノードＮ５５に連結されることを示す。すなわち、ノードＮ５３のアイテム＃５３は、収益性の観点でノードＮ５５のアイテム＃５５に類似することを示す。
【０１１９】
なお、図４の例では、説明を簡単にするために、グラフ情報ＧＲ５０においては、ノードの位置関係がノードに対応するアイテムの類似関係を示すものとする。すなわち、グラフ情報ＧＲ５０においては、各観点に対応するエッジの長さがアイテム間の類似度を示すものとする。すなわち、アイテム間の距離が短い程、その２つのアイテムが類似し、アイテム間のエッジの長さが短い程、その２つのアイテムが類似しているものとする。
【０１２０】
図４の例では、情報処理装置１００は、色＃１に関する同一の特徴量の値が「１」であるアイテム数が２より大きいことを基準変更条件として用いる。
【０１２１】
図４の例では、情報処理装置１００は、グラフ情報ＧＲ５０を検索することにより、アイテムＹの対象アイテムを抽出する（ステップＳ５１）。情報処理装置１００は、ターゲット「ユーザビリティ（ＴＩＤ１）」の観点に基づいて、アイテムＹの対象アイテムを抽出する。情報処理装置１００は、ノード間がターゲット「ユーザビリティ（ＴＩＤ１）」の観点のエッジ群ＥＧ１１により連結されたノードを辿る。図４の例では、エッジＥ５１１、Ｅ５２１等に示すような実線で示すエッジ群ＥＧ１１のエッジを辿ることにより、対象アイテムを抽出する。例えば、情報処理装置１００は、ノードＮ５１を起点として、エッジ群ＥＧ１１のエッジを辿ることにより、ノードＮ５１から到達可能なノードを類似コンテンツとして抽出する。そして、情報処理装置１００は、対象アイテムを抽出する度に、基準変更条件を満たすかどうかを判定する（ステップＳ５２）。
【０１２２】
まず、情報処理装置１００は、抽出済みの対象アイテム一覧ＥＴＬ５１に示すようにノードＮ５１を抽出した際に、基準変更条件を満たすかどうかを判定する。情報処理装置１００は、抽出済みの対象アイテムがノードＮ５１の１つであり、基準変更条件を満たさないと判定する。
【０１２３】
次に、情報処理装置１００は、抽出済みの対象アイテム一覧ＥＴＬ５１に示すようにノードＮ５２を抽出した際に、基準変更条件を満たすかどうかを判定する。情報処理装置１００は、抽出済みの対象アイテムがノードＮ５１とノードＮ５２の２つであり、色＃１に関する特徴量＃Ｘの値が「１」であるが、アイテムの数が２であるため、基準変更条件を満たさないと判定する。
【０１２４】
次に、情報処理装置１００は、抽出済みの対象アイテム一覧ＥＴＬ５１に示すようにノードＮ５３を抽出した際に、基準変更条件を満たすかどうかを判定する。情報処理装置１００は、抽出済みの対象アイテムがノードＮ５１、ノードＮ５２、ノードＮ５３の３つであり、色＃１に関する特徴量＃Ｘの値が「１」であり、アイテムの数が３、すなわち２より大きいため、基準変更条件を満たすと判定する。
【０１２５】
そのため、情報処理装置１００は、対象アイテムの抽出基準を変更して対象アイテムを抽出する。図４の例では、ステップＳ５３〜Ｓ５６は、変更態様が異なる２つの抽出基準の変更例を示す。
【０１２６】
まず、抽出基準の変更の一例として、観点（ターゲット）に関する変更について説明する。図４中のステップＳ５３、Ｓ５４は、抽出基準の変更として、観点を変更する場合を示す。この場合、情報処理装置１００は、対象アイテムの抽出基準をターゲット「ユーザビリティ（ＴＩＤ１）」からターゲット「収益性（ＴＩＤ２）」に変更する（ステップＳ５３）。
【０１２７】
そして、情報処理装置１００は、ターゲット「収益性（ＴＩＤ２）」の観点に基づいて対象アイテムの抽出を行う。情報処理装置１００は、ノード間がターゲット「収益性（ＴＩＤ２）」の観点のエッジ群ＥＧ１２により連結されたノードを辿る。図４の例では、情報処理装置１００は、エッジＥ５３−２のような点線で示すエッジ群ＥＧ１２のエッジを辿ることにより、対象アイテムを抽出する。例えば、情報処理装置１００は、ターゲット「収益性（ＴＩＤ２）」の観点に基づいて、エッジＥ５３−２によりノードＮ５３からノードＮ５５に辿ることにより、ノードＮ５５を対象アイテムとして抽出する（ステップＳ５４）。これにより、情報処理装置１００は、異なる観点を反映した対象アイテムを抽出することができる。なお、情報処理装置１００は、観点に関する基準変更を行った場合、ノードＮ５１を起点として、変更した観点での対象アイテムの抽出を行ってもよい。
【０１２８】
次に、抽出基準の変更の一例として、特徴量（素性）に関する変更について説明する。図４中のステップＳ５５、Ｓ５６は、抽出基準の変更として、特徴量の重みを変更する場合を示す。この場合、情報処理装置１００は、抽出基準の変更として、対象アイテムの抽出における色＃１の影響が小さくなるように特徴量＃Ｘの重みを変更する（ステップＳ５５）。例えば、情報処理装置１００は、色＃１に関する特徴量＃Ｘの重みを「０」に変更する。
【０１２９】
そして、情報処理装置１００は、特徴量＃Ｘの重みが「０」、すなわち対象アイテムの抽出における色＃１の影響がなくなった状態に基づいて対象アイテムの抽出を行う。情報処理装置１００は、ノード間がターゲット「ユーザビリティ」の観点のエッジ群ＥＧ１１により連結されたノードを辿る。図４の例では、情報処理装置１００は、ノードＮ５３から実線で示すエッジＥ５３１、Ｅ５３２のうち、短い方を辿ることにより、対象アイテムを抽出する。例えば、情報処理装置１００は、ノードＮ５５とノードＮ５６とのうち、アイテムＹとより類似する方を対象アイテムとして抽出する。
【０１３０】
ここで、情報処理装置１００は、特徴量＃Ｘの重みを「０」にした状態において、ノードＮ５４とノードＮ５６とのうち、アイテムＹとより類似する方を対象アイテムとして抽出する。情報処理装置１００は、モデルＭ１における特徴量＃Ｘの重みを「０」にした状態において、アイテムＹとノードＮ５４との間の距離（「距離ｄ５４」とする）を算出する。また、情報処理装置１００は、モデルＭ１における特徴量＃Ｘの重みを「０」にした状態において、アイテムＹとノードＮ５６との間の距離（「距離ｄ５６」とする）を算出する。そして、情報処理装置１００は、距離ｄ５４と距離ｄ５６とを比較し、値が小さい（距離が短い）方に対応するノードを対象アイテムとして抽出する。図４の例では、情報処理装置１００は、距離ｄ５６の方が距離ｄ５４よりも小さいと判定し、距離ｄ５６に対応するノードＮ５６を対象アイテムとして抽出する（ステップＳ５６）。これにより、情報処理装置１００は、色＃１の影響を除いた状態で対象アイテムを抽出することができる。
【０１３１】
例えば、図４の例では、アイテムが所定の電子商取引サービスで提供される商品（商品情報）である場合、情報処理装置１００は、同じ色＃１（例えば黄色等）の商品ばかりが対象アイテムとして抽出されること抑制することができる。そのため、情報処理装置１００は、同じ色＃１（例えば黄色等）の商品ばかりがユーザに提供されること抑制することができる。例えば、情報処理装置１００は、ユーザに商品の一覧情報を提供する場合に、同じ色＃１（例えば黄色等）が並ぶ一覧情報をユーザに提供すること抑制できる。なお、情報処理装置１００は、上記の抽出基準の変更に限らず、種々の抽出基準の変更を行い、対象アイテムの抽出を行ってもよい。
【０１３２】
〔１−６．クエリ情報〕
図１の例では、説明を簡単にするために、ユーザＵ１が選択（クリック）したアイテムＸのアイテム情報をクエリ情報として、対象アイテムを検索する場合を示したが、クエリ情報は、種々の情報であってもよい。なお、クエリ情報は、ユーザの端末装置１０から取得する場合に限らず、検索処理に用いられる情報であればどのように取得されてもよく、情報処理装置１００が記憶部１２０（図６参照）に記憶した情報等を用いてもよい。例えば、情報処理装置１００は、ユーザの端末装置１０からアイテムの要求があった場合に、そのユーザの行動履歴に含まれるアイテムに関する情報をクエリ情報として、ユーザへの対象アイテムを抽出してもよい。例えば、情報処理装置１００は、ユーザの端末装置１０から記事コンテンツであるアイテムの要求があった場合に、そのユーザが過去に閲覧したアイテムに関する情報をクエリ情報として、ユーザへの対象アイテムを抽出してもよい。
【０１３３】
〔１−６−１．ユーザ情報〕
例えば、クエリ情報は、対象アイテムを提供するユーザ（提供先ユーザ）のユーザ情報であってもよい。例えば、情報処理装置１００は、ユーザについて、各特徴量に対応する対象に対する関心の有無に応じて、ユーザのベクトル用情報を生成してもよい。
【０１３４】
例えば、情報処理装置１００は、「単語＃１」に対応する対象に提供先ユーザが関心を有する場合、その提供先ユーザのベクトル用情報中の「ｘ１」の値を「１」としてもよい。例えば、「単語＃１」が「サッカー」である場合、情報処理装置１００は、サッカーに提供先ユーザが関心を有する場合、その提供先ユーザのベクトル用情報中の「ｘ１」の値を「１」としてもよい。
【０１３５】
例えば、情報処理装置１００は、記憶部１２０（図６参照）に各ユーザのユーザ情報を記憶してもよい。例えば、情報処理装置１００は、記憶部１２０に各ユーザのユーザ情報を記憶してもよい。情報処理装置１００は、記憶部１２０に各ユーザの属性情報を記憶してもよい。情報処理装置１００は、記憶部１２０に各ユーザのサイコグラフィック属性やデモグラフィック属性を記憶してもよい。情報処理装置１００は、記憶部１２０に各ユーザの関心のある対象を示す情報やユーザの価値観、ライフスタイル、性格、嗜好等の情報を記憶してもよい。情報処理装置１００は、記憶部１２０に各ユーザの年齢、性別、居住地等の情報を記憶してもよい。
【０１３６】
例えば、情報処理装置１００は、「単語＃２」に対応する対象に提供先ユーザが関心を有しない場合、その提供先ユーザのベクトル用情報中の「ｘ２」の値を「０」としてもよい。例えば、「単語＃２」が「野球」である場合、情報処理装置１００は、野球に提供先ユーザが関心を有しない場合、その提供先ユーザのベクトル用情報中の「ｘ２」の値を「０」としてもよい。
【０１３７】
そして、情報処理装置１００は、「ｘ１」の値「１」や「ｘ２」の値「０」等の情報と、用いるモデルの重みとに基づいて、提供先ユーザに対応するベクトルデータを生成する。そして、情報処理装置１００は、そのベクトルデータを用いてグラフ情報を検索することにより、提供先ユーザに類似性を有する対象アイテムを抽出する。そして、情報処理装置１００は、抽出した対象アイテムを提供先ユーザへ提供する。これにより、情報処理装置１００は、ユーザの情報をクエリ情報として、ユーザに適切な対象アイテムに関する情報を提供することができる。
【０１３８】
〔１−６−２．新規追加アイテム〕
例えば、クエリ情報は、新規追加されたアイテムのアイテム情報であってもよい。この場合、例えば、情報処理装置１００は、新たなアイテム（以下、「新規アイテムＹＹ」とする）が追加された場合、新規アイテムＹＹのアイテム情報をクエリ情報として、新規アイテムＹＹの対象アイテムを抽出してもよい。
【０１３９】
例えば、情報処理装置１００は、対象アイテムについて閲覧した履歴があるユーザに対して、新規アイテムＹＹを推奨してもよい。例えば、情報処理装置１００は、記憶部１２０に各ユーザのアイテムの閲覧履歴を記憶してもよい。例えば、情報処理装置１００は、所定期間内に新規アイテムＹＹの対象アイテムを閲覧した履歴があるユーザに対して、新規アイテムＹＹを推奨してもよい。
【０１４０】
上記のように、情報処理装置１００は、抽出された対象アイテムを基に、対象アイテムを提供するユーザを決定することができる。したがって、情報処理装置１００は、対象アイテムの提供に適したユーザを決定することができる。これにより、情報処理装置１００は、新規追加されたアイテムのアイテム情報をクエリ情報として、ユーザに適切な対象アイテムに関する情報を提供することができる。
【０１４１】
〔１−７．インデックス情報〕
図１及び図２の例に示すインデックス情報（インデックスデータ）は一例であり、情報処理装置１００は、種々のインデックス情報を用いて、グラフ情報を検索してもよい。また、例えば、情報処理装置１００は、検索時に用いるインデックスデータを生成してもよい。例えば、情報処理装置１００は、高次元ベクトルを検索する検索インデックスをインデックスデータとして生成する。ここでいう高次元ベクトルとは、例えば、数百次元から数千次元のベクトルであってもよいし、それ以上の次元のベクトルであってもよい。
【０１４２】
例えば、情報処理装置１００は、図１に示すようなツリー構造（木構造）に関する検索インデックスをインデックスデータとして生成してもよい。例えば、情報処理装置１００は、ｋｄ木（k-dimensional  tree）に関する検索インデックスをインデックスデータとして生成してもよい。例えば、情報処理装置１００は、ＶＰ木（Vantage-Point  tree）に関する検索インデックスをインデックスデータとして生成してもよい。
【０１４３】
また、例えば、情報処理装置１００は、その他の木構造を有するインデックスデータとして生成してもよい。例えば、情報処理装置１００は、木構造のインデックスデータのリーフがグラフデータに接続する種々のインデックスデータを生成してもよい。例えば、情報処理装置１００は、木構造のインデックスデータのリーフがグラフデータ中のノードに対応する種々のインデックスデータを生成してもよい。また、情報処理装置１００は、このようなインデックスデータを用いて検索を行う場合、インデックスデータを辿って到達したリーフ（ノード）からグラフデータを探索してもよい。
【０１４４】
なお、上述したようなインデックスデータは一例であり、情報処理装置１００は、グラフデータ中のクエリを高速に特定することが可能であれば、どのようなデータ構造のインデックスデータを生成してもよい。例えば、情報処理装置１００は、クエリに対応するグラフ情報中のノードを高速に特定することが可能であれば、バイナリ空間分割に関する技術等の種々の従来技術を適宜用いて、インデックスデータを生成してもよい。例えば、情報処理装置１００は、高次元ベクトルの検索に対応可能なインデックスであれば、どのようなデータ構造のインデックスデータを生成してもよい。例えば、情報処理装置１００は、非特許文献１に記載されるようなグラフ型の検索インデックスに関する情報をインデックス情報として用いてもよい。情報処理装置１００は、上述のようなインデックスデータとグラフデータとを用いることにより、所定の対象に関するより効率的な検索を可能にすることができる。
【０１４５】
〔１−８．ターゲット（観点）〕
図１及び図２の例では、ターゲット「ユーザビリティ」とターゲット「収益性」との２つのターゲット（観点）を一例として示したが、ターゲット（観点）は種々の観点であってもよい。例えば、図１及び図２の例では、ターゲット（観点）としてのユーザビリティがユーザの興味や関心の観点である場合を示した。すなわち、図１及び図２の例では、ターゲット「ユーザビリティ」はユーザの興味や関心に関する観点であり、情報処理装置１００は、複数のアイテムに対するユーザの興味や関心に関する類似性に応じて、複数のアイテムが連結されたグラフ情報ＧＲ１１−１を用いて処理を行う場合を示した。しかしながら、ターゲット「ユーザビリティ」は、ユーザの関心や興味に限らず、ユーザの操作性や視認性などユーザの利便性に関する観点であってもよい。例えば、情報処理装置１００は、ターゲット「関心・興味」やターゲット「操作性」等の複数のユーザビリティの観点ごとに生成されたグラフ情報やインデックス情報を用いてもよい。
【０１４６】
また、ターゲット（観点）は、上記に限らず、時間的な観点や地理的な観点等の種々の観点であってもよい。例えば、情報処理装置１００は、複数の時間帯の各々に対応する複数のグラフを用いて、処理を行ってもよい。例えば、情報処理装置１００は、昼の時間帯に対応するグラフ（「昼用グラフ」とする）や夜の時間帯に対応するグラフ（「夜用グラフ」とする）等の複数のグラフを用いて、処理を行ってもよい。例えば、情報処理装置１００は、１２時から１８時迄の時間帯用の昼用グラフや１８時から２４時迄の時間帯用の夜用グラフやその他の時間帯（０時から１２時迄）用の他のグラフ等の複数のグラフを用いて、処理を行ってもよい。例えば、情報処理装置１００は、１４時においてユーザへの対象アイテムに関するサービスを提供する場合、昼用グラフを用いて検索処理を行って、対象アイテムを抽出してもよい。
【０１４７】
また、例えば、情報処理装置１００は、Ａ地域（「Ａ地域用グラフ」とする）に対応するグラフやＢ地域に対応するグラフ（「Ｂ地域用グラフ」とする）等の複数のグラフを用いて、処理を行ってもよい。例えば、情報処理装置１００は、Ａ地域に位置するユーザへの対象アイテムに関するサービスを提供する場合、Ａ地域用グラフを用いて検索処理を行って、対象アイテムを抽出してもよい。例えば、情報処理装置１００は、Ｂ地域に位置するユーザへの対象アイテムに関するサービスを提供する場合、Ｂ地域用グラフを用いて検索処理を行って、対象アイテムを抽出してもよい。
【０１４８】
〔１−９．アイテム〕
図１及び図２の例では、記事コンテンツをアイテムの一例として示したが、アイテムは、記事コンテンツに限らず、種々の対象であってもよい。例えば、アイテムは、商品またはサービス（「商品等」とする）や楽曲（音楽コンテンツ）等の種々の対象であってもよい。例えば、アイテムは、所定の電子商取引で提供される商品等であってもよい。
【０１４９】
例えば、情報処理装置１００は、所定の電子商取引で提供される商品等がアイテムである場合、商品等に関する情報（「商品情報」とする）を入力とするモデルを用いて、各商品等のベクトルを生成してもよい。例えば、情報処理装置１００は、各商品等の商品情報を入力として、モデルを生成してもよい。例えば、商品等がアイテムである場合におけるアイテム情報である商品情報は、商品カテゴリ、タイトル、説明文、画像情報、製造元、サイズ等に関する情報を含んでもよい。例えば、商品情報の商品情報は、対応する商品の商品カテゴリが飲料水や酒類や調味料等のいずれであるかを示す情報を含んでもよい。例えば、商品情報の商品情報は、対応する商品の商品カテゴリがビールやワインやケッチャプやソース等のいずれであるかを示す詳細な商品カテゴリを示す情報を含んでもよい。
【０１５０】
また、例えば、商品情報は、対応する商品が撮像された画像情報を含んでもよい。例えば、商品情報は、対応する商品の製造元がどのメーカであるかを示す情報を含んでもよい。例えば、商品情報は、対応する商品の内容量等どのようなサイズであるかを示す情報を含んでもよい。例えば、商品情報は、対応する商品のターゲットとするユーザが２０代であることを示す情報や対応する商品のターゲットとするユーザが女性であることを示す情報等の商品のターゲットを示す情報を含んでもよい。なお、上記は一例であり、アイテム情報である商品情報には、どのような情報が含まれてもよい。すなわち、情報処理装置１００は、アイテムとなる対象に応じて、アイテム情報を適宜用いて、処理を行ってもよい。
【０１５１】
〔２．情報処理システムの構成〕
図５に示すように、情報処理システム１は、端末装置１０と、情報提供装置５０と、情報処理装置１００とが含まれる。端末装置１０と、情報提供装置５０と、情報処理装置１００とは所定のネットワークＮを介して、有線または無線により通信可能に接続される。図５は、実施形態に係る情報処理システムの構成例を示す図である。なお、図５に示した情報処理システム１には、複数台の端末装置１０や、複数台の情報提供装置５０や、複数台の情報処理装置１００が含まれてもよい。
【０１５２】
端末装置１０は、ユーザによって利用される情報処理装置である。端末装置１０は、ユーザによる種々の操作を受け付ける。なお、以下では、端末装置１０をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置１０と読み替えることもできる。なお、上述した端末装置１０は、例えば、スマートフォンや、タブレット型端末や、ノート型ＰＣ（Personal  Computer）や、デスクトップＰＣや、携帯電話機や、ＰＤＡ（Personal  Digital  Assistant）等により実現される。例えば、端末装置１０は、アイテム情報を収集し、アイテム情報を情報処理装置１００へ送信する。
【０１５３】
情報処理装置１００は、起点ベクトルを起点としてグラフ情報を検索することにより、複数のアイテムのうち、一のアイテムに類似するアイテムである対象アイテムを抽出する情報処理装置である。例えば、情報処理装置１００は、一のアイテムに関するアイテム情報を取得し、アイテムに対応するグラフ情報を取得する。例えば、情報処理装置１００は、一のアイテムに関するアイテム情報を取得し、アイテム情報と、グラフ情報の検索の起点となる起点ベクトルに関する情報とに基づいて、起点ベクトルを決定する。
【０１５４】
情報処理装置１００は、種々の情報処理を行う情報処理装置である。情報処理装置１００は、グラフ情報を検索することにより、複数のアイテムのうち、クエリ情報と類似性を有するアイテムである類似アイテムを対象アイテムとして抽出する情報処理装置である。情報処理装置１００は、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、対象アイテムの抽出基準を変更して対象アイテムを抽出する。情報処理装置１００は、ユーザ等に種々の情報提供を行うための情報が格納された情報処理装置である。情報処理装置１００は、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、対象アイテムの抽出基準を変更して対象アイテムを抽出する。例えば、情報処理装置１００は、端末装置１０から一のアイテムのアイテム情報（以下、「クエリ情報」や「クエリ」ともいう）を取得すると、クエリに類似するアイテム（ベクトル情報等）を検索し、検索結果に基づく情報を端末装置１０に提供する。図１の例では、情報処理装置１００は、端末装置１０から一のアイテムのアイテム情報を取得すると、一のアイテムに類似するアイテムを検索し、検索結果を端末装置１０に提供する。また、例えば、情報処理装置１００が端末装置１０に提供するデータは、アイテムの名称やアイテム自体であってもよいし、ＵＲＬ（Uniform  Resource  Locator）等の対応するデータを参照するための情報であってもよい。
【０１５５】
また、情報処理装置１００は、ベクトルデータ等の種々のデータを生成する。情報処理装置１００は、文字情報を形態素解析等の自然言語処理技術を適宜用いて解析することにより、文字情報から重要な単語（キーワード）を抽出する。
【０１５６】
情報提供装置５０は、情報処理装置１００に種々の情報提供を行うための情報が格納された情報処理装置である。例えば、情報提供装置５０は、ウェブサーバ等の種々の外部装置から収集したアイテム等が格納されてもよい。例えば、情報提供装置５０は、グラフ情報やインデックス情報やモデル等の種々の情報を情報処理装置１００に提供する情報処理装置である。
【０１５７】
〔３．情報処理装置の構成〕
次に、図６を用いて、実施形態に係る情報処理装置１００の構成について説明する。図６は、実施形態に係る情報処理装置の構成例を示す図である。図６に示すように、情報処理装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、情報処理装置１００は、情報処理装置１００の管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【０１５８】
（通信部１１０）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部１１０は、ネットワーク（例えば図５中のネットワークＮ）と有線または無線で接続され、端末装置１０や情報提供装置５０との間で情報の送受信を行う。
【０１５９】
（記憶部１２０）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部１２０は、図６に示すように、アイテム情報記憶部１２１と、インデックス情報記憶部１２２と、グラフ情報記憶部１２３と、モデル情報記憶部１２４とを有する。なお、記憶部１２０は、各ユーザの属性情報等を含むユーザ情報を記憶してもよい。また、記憶部１２０は、各ユーザの記事コンテンツであるアイテムの閲覧履歴等の各ユーザの行動情報を記憶してもよい。
【０１６０】
（アイテム情報記憶部１２１）
実施形態に係るアイテム情報記憶部１２１は、アイテム（オブジェクト）に関する各種情報を記憶する。例えば、アイテム情報記憶部１２１は、アイテム情報を記憶する。また、例えば、アイテム情報記憶部１２１は、モデルの生成に用いる情報（学習データ）を記憶する。図７は、実施形態に係るアイテム記憶部の一例を示す図である。図７に示すアイテム情報記憶部１２１は、「アイテムＩＤ」、「アイテム」、「アイテム情報」、「ベクトル用情報」、「正解情報」といった項目が含まれる。なお、図示を省略するが、アイテム情報記憶部１２１は、各アイテムのカテゴリを示す情報を各アイテムに対応付けて記憶する。
【０１６１】
図７の例では、「ベクトル用情報」には、「単語＃１」、「単語＃２」、「画像」といった項目が含まれる。なお、図７の例では、対象を「単語＃１」、「単語＃２」といった抽象的な符号で示すが、各対象は、具体的な名前、名称等であってもよい。例えば、「単語＃１」や「単語＃２」等は、「○○棋士」、「ダイエット」、「サッカー」等の具体的な対象を示す情報（文字列）であってもよい。
【０１６２】
また、「単語＃１」には、「出現頻度」、「値（ｘ１）」といった項目が含まれる。また、「単語＃２」には、「出現頻度」、「値（ｘ２）」といった項目が含まれる。また、「画像」には、「有無」、「値（ｘ３）」といった項目が含まれる。また、「正解情報」には、「ユーザビリティ（ＴＩＤ１）」、「収益性（ＴＩＤ２）」といった項目が含まれる。
【０１６３】
「アイテムＩＤ」は、アイテム（オブジェクト）を識別するための識別情報を示す。また、「アイテム」は、アイテムＩＤにより識別されるアイテムの具体的な名称や内容等を示す。なお、図７の例では、アイテムを「アイテム＃１」といった抽象的な符号で示すが、各アイテムは、アイテムの名称等が含まれてもよい。
【０１６４】
「アイテム情報」は、アイテムＩＤにより識別されるアイテムの情報を示す。なお、図７の例では、アイテム情報を「ＩＭＤ１」といった抽象的な符号で示すが、実際には、アイテム情報、または、その格納場所を示すファイルパス名などが格納される。例えば、アイテムが記事コンテンツである場合、「アイテム情報」には、文字情報や画像情報を含む記事自体、または、その格納場所を示すファイルパス名などが格納される。また、「アイテム情報」には、アイテムの文章やアイテムの文章から抽出された各要素、例えばアイテムに含まれる単語の一覧や単語の出現頻度等を示す情報等が含まれてもよい。
【０１６５】
「ベクトル用情報」は、ベクトルデータの生成の基となる情報を示す。例えば、「ベクトル用情報」には、アイテム情報から抽出されたアイテムの特徴を示す情報が含まれる。例えば、「ベクトル用情報」には、モデルの各特徴量に対応する情報が含まれる。例えば、「ベクトル用情報」には、「ｙ＝ｗ１＊ｘ１＋ｗ２＊ｘ２＋・・・＋ｗｎ＊ｘｎ」で示されるモデルの各特徴量に対応するｘ１やｘ２等といった変数に入力される値を示す情報が含まれる。
【０１６６】
「正解情報」は、モデルの生成時に用いられる正解情報を示す。「正解情報」には、各ターゲットに対応するモデルの生成時に用いられる各ターゲットに対応する正解情報が含まれる。例えば、「ユーザビリティ（ＴＩＤ１）」には、ターゲット「ユーザビリティ」に対応するモデルＭ１の生成に用いられる正解情報を示す。例えば、「収益性（ＴＩＤ２）」には、ターゲット「収益性」に対応するモデルＭ２の生成に用いられる正解情報を示す。
【０１６７】
例えば、図７の例では、アイテムＩＤ「ＩＭ１」により識別されるアイテム（オブジェクト）は、アイテム＃１であることを示す。また、アイテム＃１のアイテム情報は、アイテム情報ＩＭＤ１であることを示す。
【０１６８】
また、アイテム＃１における単語＃１の出現頻度は「ＦＲ１−１」であることを示す。なお、図７の例では、出現頻度を「ＦＲ１−１」といった抽象的な符号で示すが、出現頻度ＦＲ１−１は、具体的な数値等であってもよい。例えば、出現頻度ＦＲ１−１は、「３」や「１０」等の具体的な回数を示す情報（数値）であってもよい。また、アイテム＃１における単語＃１の値（ｘ１）は「１」であることを示す。アイテム＃１の場合、「ｙ＝ｗ１＊ｘ１＋ｗ２＊ｘ２＋・・・＋ｗｎ＊ｘｎ」における変数「ｘ１」の値が「１」になることを示す。
【０１６９】
また、アイテム＃１における単語＃２の出現頻度は「ＦＲ１−２」であることを示す。なお、図７の例では、出現頻度を「ＦＲ１−２」といった抽象的な符号で示すが、出現頻度ＦＲ１−２は、具体的な数値等であってもよい。例えば、出現頻度ＦＲ１−２は、「１」や「５」等の具体的な回数を示す情報（数値）であってもよい。また、アイテム＃１における単語＃２の値（ｘ２）は「０」であることを示す。アイテム＃１の場合、「ｙ＝ｗ１＊ｘ１＋ｗ２＊ｘ２＋・・・＋ｗｎ＊ｘｎ」における変数「ｘ２」の値が「０」になることを示す。
【０１７０】
また、アイテム＃１における画像の有無は「ＥＸ１」であることを示す。なお、図７の例では、有無を「ＥＸ１」といった抽象的な符号で示すが、有無ＥＸ１は、画像の有り無しを示す具体的な情報であってもよい。例えば、有無ＥＸ１は、「有」や「無」等の具体的な情報であってもよい。例えば、有無ＥＸ１は、画像有りを示す「１」や画像無しを示す「０」等の情報（数値）であってもよい。また、アイテム＃１における画像の値（ｘ３）は「１」であることを示す。アイテム＃１の場合、「ｙ＝ｗ１＊ｘ１＋ｗ２＊ｘ２＋・・・＋ｗｎ＊ｘｎ」における変数「ｘ３」の値が「１」になることを示す。
【０１７１】
また、アイテム＃１のターゲット「ユーザビリティ」に対応する正解情報が「０」であることを示す。アイテム＃１のアイテム情報ＩＭＤ１が、ターゲット「ユーザビリティ」に対応するモデルＭ１の学習データとして用いられる場合、その正解情報が「０」であることを示す。アイテム＃１のクリック率（ＣＴＲ：Click  Through  Rate）が所定の閾値（例えば１％等）未満である場合、記事コンテンツであるアイテム＃１のターゲット「ユーザビリティ」に対応する正解情報を「０」としてもよい。また、記事コンテンツであるアイテム＃１のクリック率が所定の閾値以上である場合、アイテム＃１のターゲット「ユーザビリティ」に対応する正解情報を「１」としてもよい。なお、情報処理装置１００は、アイテムのクリック率が所定の閾値未満である場合、アイテムのクリック率の比率を正解情報としてもよい。例えば、情報処理装置１００は、アイテム＃８３のクリック率が「０．３％」であり、所定の閾値が「０．５％」未満である場合、ターゲット「ユーザビリティ」に対応するアイテム＃８３の正解情報を「０．６（＝０．３／０．５）」とする。
【０１７２】
なお、上記は一例であり、各正解情報は適宜の手段により決定されてもよい。例えば、ユーザビリティの基準は、ＣＴＲに限らず、ユーザがアイテム（記事コンテンツ）を閲覧した時間等であってもよい。例えば、ユーザがアイテムを閲覧した時間が所定の閾値（例えば５分等）未満である場合、正解情報を「０」とし、ユーザがアイテムを閲覧した時間が所定の閾値以上である場合、正解情報を「１」としてもよい。
【０１７３】
また、アイテム＃１のターゲット「収益性」に対応する正解情報が「０」であることを示す。アイテム＃１のアイテム情報ＩＭＤ１が、ターゲット「収益性」に対応するモデルＭ１の学習データとして用いられる場合、その正解情報が「０」であることを示す。アイテム＃１の顧客転換率（ＣＶＲ：Conversion  Rate）が所定の閾値（例えば０．１％等）未満である場合、アイテム＃１のターゲット「収益性」に対応する正解情報を「０」としてもよい。また、アイテム＃１の顧客転換率が所定の閾値以上である場合、アイテム＃１のターゲット「収益性」に対応する正解情報を「１」としてもよい。なお、情報処理装置１００は、アイテムの顧客転換率が所定の閾値未満である場合、アイテムの顧客転換率の比率を正解情報としてもよい。例えば、情報処理装置１００は、アイテム＃８３の顧客転換率が「０．０２％」であり、所定の閾値が「０．１％」未満である場合、ターゲット「収益性」に対応するアイテム＃８３の正解情報を「０．２（＝０．０２／０．１）」とする。
【０１７４】
例えば、収益性の基準は、ＣＶＲに限らず、アイテム（記事コンテンツ）の配信により得られる広告収入等であってもよい。例えば、アイテムの配信による広告収入が所定の閾値（例えばＸ円等）未満である場合、正解情報を「０」とし、アイテムの配信による広告収入が所定の閾値以上である場合、正解情報を「１」としてもよい
【０１７５】
なお、上記は一例であり、各正解情報は適宜の手段により決定されてもよい。また、正解情報は「０」、「１」に限らず、例えば「０．２」や「０．５６７」等の小数点以下を含む数値であってもよい。
【０１７６】
また、アイテム情報記憶部１２１は、上記に限らず、目的に応じて種々の情報を記憶してもよい。アイテム情報記憶部１２１は、各アイテムのカテゴリを示す情報を記憶してもよい。アイテム情報記憶部１２１は、記事コンテンツであるアイテムのカテゴリが「経済」、「スポーツ」、「芸能」等のいずれであるかを示す情報を記憶してもよい。
【０１７７】
また、例えば、アイテム情報記憶部１２１は、各アイテムと各ターゲットとの組合せごとにベクトル情報（ベクトルデータ）を記憶してもよい。例えば、アイテム情報記憶部１２１は、図１３に示すような処理により生成された各アイテムと各ターゲットとの組合せごとにベクトル情報（ベクトルデータ）を記憶してもよい。この場合、アイテムＩＤにより識別されるアイテム（オブジェクト）のアイテムには、各ターゲットに対応するベクトル情報が対応付けられて記憶される。すなわち、アイテム（オブジェクト）を識別するアイテムＩＤに対して、オブジェクトに対応するアイテムの複数のベクトルデータであって、複数のターゲットの各々に対応する複数のベクトルデータが対応付けられて登録されている。
【０１７８】
（インデックス情報記憶部１２２）
実施形態に係るインデックス情報記憶部１２２は、インデックスに関する各種情報を記憶する。図８は、実施形態に係るインデックス情報記憶部の一例を示す図である。具体的には、図８の例では、インデックス情報記憶部１２２は、ツリー構造のインデックス情報を示す。図８の例では、インデックス情報記憶部１２２は、インデックスデータセット１２２−１やインデックスデータセット１２２−２等のようにターゲットごとに情報（テーブル）を記憶する。図８に示すインデックスデータセット１２２、１２２−２等は、「ターゲット」、「ルート階層」、「第１階層」、「第２階層」、「第３階層」等といった項目を含む。なお、「第１階層」〜「第３階層」に限らず、インデックスの階層数に応じて、「第４階層」、「第５階層」、「第６階層」等が含まれてもよい。
【０１７９】
図８の例では、インデックスデータセット１２２−１は、ターゲットＩＤ「ＴＩＤ１」により識別されるターゲット「ユーザビリティ」に対応し、インデックスデータセット１２２−２は、ターゲットＩＤ「ＴＩＤ２」により識別されるターゲット「収益性」に対応する。例えば、ターゲット「ユーザビリティ」は、ユーザビリティをターゲット（目的）とするグラフ情報のインデックス情報であることを示す。例えば、ターゲット「収益性」は、収益性をターゲット（目的）とするグラフ情報のインデックス情報であることを示す。
【０１８０】
具体的には、インデックスデータセット１２２−１には、ターゲット「ユーザビリティ」に対応するインデックスに関する情報（インデックス情報ＩＮＤ１１）が記憶される。また、インデックスデータセット１２２−２には、ターゲット「収益性」に対応するインデックスに関する情報（インデックス情報ＩＮＤ１２）が記憶される。
【０１８１】
「ターゲット」は、対応するインデックスデータセットが対象とする観点（ターゲット）を示す。「ルート階層」は、インデックスを用いた起点ノードの決定の開始点となるルート（最上位）の階層を示す。「第１階層」は、インデックスの第１階層に属するノード（節点またはグラフ情報中のベクトル）を識別（特定）する情報が格納される。「第１階層」に格納されるノードは、インデックスの根（ルート）に直接結ばれる階層に対応するノードとなる。
【０１８２】
「第２階層」は、インデックスの第２階層に属するノード（節点またはグラフ情報中のベクトル）を識別（特定）する情報が格納される。「第２階層」に格納されるノードは、第１階層のノードに結ばれる直下の階層に対応するノードとなる。「第３階層」は、インデックスの第３階層に属するノード（節点またはグラフ情報中のベクトル）を識別（特定）する情報が格納される。「第３階層」に格納されるノードは、第２階層のノードに結ばれる直下の階層に対応するノードとなる。
【０１８３】
例えば、図８に示す例においては、インデックス情報記憶部１２２のうち、インデックスデータセット１２２−１には、図１中のインデックス情報ＩＮＤ１１に対応する情報が記憶される。例えば、インデックスデータセット１２２−１は、第１階層のノードが、節点ＶＴ１〜ＶＴ３等であることを示す。なお、インデックスデータセット１２２、１２２−２等には、各節点に対応するベクトルの値が記憶されてもよい。
【０１８４】
また、例えば、インデックスデータセット１２２−１は、節点ＶＴ２の直下の第２階層のノードが、節点ＶＴ２−１〜ＶＴ２−４であることを示す。また、例えば、インデックスデータセット１２２−１は、節点ＶＴ２−２の直下の第３階層のノードが、ノードＮ８３、ノードＮ５１６のグラフ情報ＧＲ１１中のノード（ベクトル）であることを示す。
【０１８５】
なお、インデックス情報記憶部１２２は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【０１８６】
（グラフ情報記憶部１２３）
実施形態に係るグラフ情報記憶部１２３は、グラフ情報に関する各種情報を記憶する。図９は、実施形態に係るグラフ情報記憶部の一例を示す図である。図９の例では、グラフ情報記憶部１２３は、「ノードＩＤ」、「アイテムＩＤ」、および「エッジ情報」といった項目を有する。また、「エッジ情報」には、「ユーザビリティ(ＴＩＤ１)」や「収益性（ＴＩＤ２）」といった各観点（ターゲット）に対応する項目を有する。「ユーザビリティ(ＴＩＤ１)」や「収益性（ＴＩＤ２）」は、「エッジＩＤ」や「参照先」といった項目を有する。
【０１８７】
図９の例では、項目「ユーザビリティ(ＴＩＤ１)」に対応して記憶されるエッジ群（エッジ群ＥＧ１１）が、ターゲット「ユーザビリティ」に対応するエッジ群を示す。例えば、項目「ユーザビリティ(ＴＩＤ１)」に対応するエッジ群ＥＧ１１は、「−」以下の文字列を含まないエッジＩＤにより識別される。例えば、エッジ群ＥＧ１１には、エッジＩＤ「Ｅ１１」や「Ｅ２２」等のエッジＩＤにより識別されるエッジが含まれる。例えば、ターゲット「ユーザビリティ」は、ユーザビリティの観点でノードを連結するエッジ群（グラフ情報）であることを示す。すなわち、エッジ群ＥＧ１１は、ユーザビリティに関するモデル（モデルＭ１）を用いてアイテムがベクトル化された場合のアイテム間の類似性に基づいて、アイテム（ノード）を連結するエッジ群であることを示す。
【０１８８】
また、図９の例では、項目「収益性（ＴＩＤ２）」に対応して記憶されるエッジ群（エッジ群ＥＧ１２）が、ターゲット「収益性」に対応するエッジ群を示す。例えば、項目「収益性（ＴＩＤ２）」に対応するエッジ群ＥＧ１２は、「−」に続く文字列（数値）が「２」であるエッジＩＤにより識別される。例えば、エッジ群ＥＧ１２には、エッジＩＤ「Ｅ１１−２」や「Ｅ２２−２」等のエッジＩＤにより識別されるエッジが含まれる。例えば、ターゲット「収益性」は、収益性の観点でノードを連結するエッジ群（グラフ情報）であることを示す。すなわち、エッジ群ＥＧ１２は、収益性に関するモデル（モデルＭ２）を用いてアイテムがベクトル化された場合のアイテム間の類似性に基づいて、アイテム（ノード）を連結するエッジ群であることを示す。
【０１８９】
「ノードＩＤ」は、グラフデータにおける各ノード（対象）を識別するための識別情報を示す。また、「アイテムＩＤ」は、アイテムを識別するための識別情報を示す。
【０１９０】
また、「エッジ情報」は、対応するノードに接続されるエッジに関する情報を示す。図９の例では、「エッジ情報」は、エッジが有向エッジである場合を示し、対応するノードから出力される出力エッジに関する情報を示す。また、「エッジＩＤ」は、ノード間を連結するエッジを識別するための識別情報を示す。「ユーザビリティ(ＴＩＤ１)」や「収益性（ＴＩＤ２）」は、エッジを連結する観点を示す。また、「参照先」は、エッジにより連結された参照先（ノード）を示す情報を示す。すなわち、図９の例では、ノードを識別するノードＩＤに対して、そのノードに対応するオブジェクト（対象）を識別する情報やそのノードからの有向エッジ（出力エッジ）が連結される参照先（ノード）が対応付けられて登録されている。
【０１９１】
例えば、図９の例では、ノードＩＤ「Ｎ１」により識別されるノード（ベクトル）は、アイテムＩＤ「ＩＭ１」により識別されるアイテム（オブジェクト）に対応することを示す。
【０１９２】
ユーザビリティ(ＴＩＤ１)に対応するエッジ群ＥＧ１１では、ノードＩＤ「Ｎ１」により識別されるノードからは、エッジＩＤ「Ｅ１２」により識別されるエッジが、ノードＩＤ「Ｎ３１２」により識別されるノード（ベクトル）に連結されることを示す。すなわち、図９の例では、ターゲット「ユーザビリティ」の観点でノードを連結するエッジ群ＥＧ１１では、ノードＩＤ「Ｎ１」により識別されるノード（ベクトル）からはノードＩＤ「Ｎ３１２」により識別されるノード（ベクトル）に辿ることができることを示す。
【０１９３】
また、収益性（ＴＩＤ２）に対応するエッジ群ＥＧ１２では、ノードＩＤ「Ｎ１」により識別されるノードからは、エッジＩＤ「Ｅ１２−２」により識別されるエッジが、ノードＩＤ「Ｎ３」により識別されるノード（ベクトル）に連結されることを示す。すなわち、図９の例では、ターゲット「収益性」の観点でノードを連結するエッジ群ＥＧ１２では、ノードＩＤ「Ｎ１」により識別されるノード（ベクトル）からはノードＩＤ「Ｎ３」により識別されるノード（ベクトル）に辿ることができることを示す。
【０１９４】
なお、グラフ情報記憶部１２３は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、グラフ情報記憶部１２３は、各ノード（ベクトル）間を連結するエッジの長さが記憶されてもよい。すなわち、グラフ情報記憶部１２３は、各ノード（ベクトル）間の距離を示す情報が記憶されてもよい。
【０１９５】
（モデル情報記憶部１２４）
実施形態に係るモデル情報記憶部１２４は、モデルに関する情報を記憶する。例えば、モデル情報記憶部１２４は、生成処理により生成されたモデル情報（モデルデータ）を記憶する。図１０は、実施形態に係るモデル情報記憶部の一例を示す図である。図１０に示すモデル情報記憶部１２４では、各ターゲットに対応するモデルが記憶される。図１０に示すモデル情報記憶部１２４は、モデル情報として、各モデルＭ１、Ｍ２等に対応させて「特徴量＃１」〜「特徴量＃３」等といった項目を有する。モデル情報記憶部１２４には、モデルＭ１、Ｍ２の２つのモデルに限らず、各ターゲット等に応じて多数（例えば１０や１００等）のモデルが記憶されてもよい。
【０１９６】
「ターゲットＩＤ」は、ターゲット（目的）を識別するための識別情報を示す。また、「ターゲット」は、ターゲットＩＤにより識別されるターゲットの具体的な名称や内容等を示す。例えば、「ターゲット」は、どのような観点をターゲットにするかを示す具体的な情報であってもよい。「特徴量＃１」〜「特徴量＃３」の各々は、各モデルの一つの特徴量（要素）を示す。なお、図１０の例では、説明のために、各特徴量の項目に括弧書きで各特徴量に対応する対象を示す。例えば、「特徴量＃１」の下に示す「（単語＃１）」は、「特徴量＃１」に対応する対象が単語＃１であることを示す。なお、図１０の例では、対象を「単語＃１」、「単語＃２」といった抽象的な符号で示すが、各対象は、具体的な名前、名称等であってもよい。例えば、「単語＃１」や「単語＃２」等は、「○○棋士」、「ダイエット」、「サッカー」等の具体的な対象を示す情報（文字列）であってもよい。なお、各特徴量に対応する対象が不明であってもよい。
【０１９７】
例えば、図１０に示す例において、モデルＭ１は、ターゲット「ユーザビリティ」に対応するモデルであることを示す。また、例えば、図１０に示す例において、モデルＭ２は、ターゲット「収益性」に対応するモデルであることを示す。
【０１９８】
例えば、図１０に示す例において、各モデルの特徴量＃１は単語＃１に対応する特徴量（素性）であることを示す。また、例えば、図１０に示す例において、各モデルの特徴量＃２は単語＃２に対応する特徴量であることを示す。また、例えば、図１０に示す例において、各モデルの特徴量＃３は画像に対応する特徴量であることを示す。
【０１９９】
例えば、モデルＭ１、Ｍ２等は「ｙ＝ｗ１＊ｘ１＋ｗ２＊ｘ２＋・・・＋ｗｎ＊ｘｎ」で示す回帰モデルで実現される。図１０における各特徴量に対応するｘ１やｘ２等といった入力データ（ｘｎ）に対応する。また、各特徴量の重みは、ｘｎに対応する係数ｗｎに対応する。この場合、例えば、モデルＭ１、Ｍ２等の特徴量＃１がｘ１に対応し、特徴量＃１に格納された値がｗ１に対応する。また、ｘ１には、入力されたアイテムデータにおける特徴量＃１を示す情報に基づく値が対応する。例えば、モデルＭ１、Ｍ２等の特徴量＃２がｘ２に対応し、特徴量＃２に格納された値がｗ２に対応する。また、ｘ２には、入力されたアイテムデータにおける特徴量＃２を示す情報に基づく値が対応する。
【０２００】
例えば、図１０に示す例において、モデルＭ１は、特徴量＃１の重みが「０．０２」、特徴量＃２の重みが「０．０５」、特徴量＃３の重みが「０．０１」等であることを示す。例えば、モデルＭ１に対応するターゲット「ユーザビリティ」においては、特徴量＃１〜特徴量＃３のうちでは、重みが最大である特徴量＃２に対応する単語＃２が、最も影響が大きいことを示す。また、モデルＭ２は、特徴量＃１の重みが「０．０１」、特徴量＃２の重みが「０」、特徴量＃３の重みが「０．０６」等であることを示す。例えば、モデルＭ２に対応するターゲット「収益性」においては、特徴量＃１〜特徴量＃３のうちでは、重みが最大である特徴量＃２に対応する単語＃２が、最も影響が小さいことを示す。
【０２０１】
例えば、モデルの特徴量（素性）がｍ次元のベクトルで表現される場合、特徴量数はｍ個になり、特徴量＃１〜特徴量＃ｍの重みが記憶される。
【０２０２】
なお、モデル情報記憶部１２４には上記に限らず、種々の情報が記憶されてもよい。例えば、モデル情報記憶部１２４には、多層のモデルの情報が記憶されてもよい。例えば、モデル情報記憶部１２４には、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報が含まれるモデルデータが記憶されてもよい。
【０２０３】
例えば、モデル情報記憶部１２４には、アイテムのアイテム情報（アイテムデータ）が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力されたアイテム情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、所定の目的に適したアイテムかどうかを示すスコアの値を出力層から出力するよう、コンピュータを機能させるためのモデル（「モデルＸ」とする）の情報（モデルデータ）が記憶されてもよい。
【０２０４】
例えば、モデルＸがＤＮＮ（Deep  Neural  Network）等、１つまたは複数の中間層を有するニューラルネットワークで実現される場合、例えば、モデルＸが含む第１要素は、入力層または中間層が有するいずれかのノードに対応する。また、第２要素は、第１要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第１要素の重みは、第１要素と対応するノードから第２要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。例えば、上記のような回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第１要素は、入力層が有するいずれかのノードに対応し、第２要素は、出力層が有するノードと見做すことができる。
【０２０５】
なお、モデル情報記憶部１２４は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。
【０２０６】
（制御部１３０）
図６の説明に戻って、制御部１３０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、情報処理装置１００内部の記憶装置に記憶されている各種プログラム（情報処理プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、コントローラであり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。例えば、制御部１３０は、モデル情報記憶部１２４に記憶されているモデルＭ１に従った情報処理により、アイテムのアイテム情報（アイテムデータ）が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力されたアイテム情報情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、所定の目的に適したアイテムかどうかを示すスコアの値を出力層から出力する。
【０２０７】
図６に示すように、制御部１３０は、取得部１３１と、生成部１３２と、決定部１３３と、検索部１３４と、提供部１３５とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図６に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【０２０８】
（取得部１３１）
取得部１３１は、各種情報を取得する。例えば、取得部１３１は、記憶部１２０から各種情報を取得する。例えば、取得部１３１は、アイテム情報記憶部１２１や、インデックス情報記憶部１２２や、グラフ情報記憶部１２３や、モデル情報記憶部１２４等から各種情報を取得する。また、取得部１３１は、各種情報を外部の情報処理装置から取得する。取得部１３１は、端末装置１０や情報提供装置５０から各種情報を取得する。
【０２０９】
取得部１３１は、複数のアイテムの各々に対応する複数のノードが、複数のアイテムの類似性に応じて連結されたグラフ情報と、アイテムに関するクエリ情報を取得する。取得部１３１は、複数のアイテムの各々に対応する複数のベクトルの類似性に応じて、複数のノードが連結されたグラフ情報を取得する。取得部１３１は、複数のアイテムの各々の特徴を示す複数のベクトルが類似性に応じて連結されたグラフ情報を取得する。取得部１３１は、複数のアイテムの各々から抽出された特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得する。取得部１３１は、所定のモデルの特徴量と重みとに基づく複数のベクトルが類似性に応じて連結されたグラフ情報を取得する。
【０２１０】
取得部１３１は、複数の観点の各々に対応する複数のエッジ群であって、各エッジ群に対応する観点に基づく複数のアイテムの類似性に応じて複数のノードを連結する複数のエッジ群を含むグラフ情報を取得する。取得部１３１は、複数のアイテムのユーザビリティに関する類似性に応じて複数のアイテムを連結するエッジ群を含む複数のエッジ群を取得する。取得部１３１は、複数のアイテムの収益性に関する類似性に応じて複数のアイテムを連結するエッジ群を含む複数のエッジ群を取得する。
【０２１１】
取得部１３１は、複数のアイテムの各々に対応する複数のノードと、複数の観点の各々に対応する複数のエッジ群であって、各エッジ群に対応する観点に基づく複数のアイテムの類似性に応じて複数のノードを連結する複数のエッジ群とを含むグラフ情報を取得する。取得部１３１は、複数のアイテムの各々に対応する複数のベクトルの類似性であって、一の観点に基づく複数のベクトルの類似性に応じて複数のノードを連結する一のエッジ群を含む複数のエッジ群を取得する。
【０２１２】
取得部１３１は、複数のアイテムの各々の特徴を示す複数のベクトルであって、一の観点に基づく複数のベクトルの類似性に応じて複数のノードを連結する一のエッジ群を含む複数のエッジ群を取得する。取得部１３１は、複数のアイテムの各々から抽出された特徴量を要素とする複数のベクトルであって、一の観点に基づく複数のベクトルの類似性に応じて複数のノードを連結する一のエッジ群を含む複数のエッジ群を取得する。取得部１３１は、一の観点に対応する所定のモデルの特徴量と重みとに基づく複数のベクトルの類似性であって、一の観点に基づく複数のベクトルの類似性に応じて複数のノードを連結する一のエッジ群を含む複数のエッジ群を取得する。
【０２１３】
取得部１３１は、複数のアイテムの各々に対応する複数のベクトルと、複数の観点の各々に対応する複数のエッジ群であって、各エッジ群に対応する観点に基づく複数のアイテムの類似性に応じて複数のベクトルを連結する複数のエッジ群とを含むグラフ情報を取得する。
【０２１４】
また、取得部１３１は、ユーザが利用する端末装置１０から情報を取得する。また、取得部１３１は、一のアイテムに関するアイテム情報をクエリ情報として取得する。取得部１３１は、ユーザに関するユーザ情報をクエリ情報として取得する。取得部１３１は、記憶部１２０（図６参照）や外部装置からクエリ情報を取得する。取得部１３１は、ユーザが利用する端末装置１０からクエリ情報を取得する。
【０２１５】
例えば、取得部１３１は、データ検索の対象となる複数のノード（ベクトル）を取得する。例えば、取得部１３１は、複数のノードと、複数のノードの各々を連結する複数の有向エッジを含む有向エッジ群を取得する。
【０２１６】
例えば、取得部１３１は、外部の情報処理装置からグラフ情報（グラフデータ）を取得する。例えば、取得部１３１は、グラフ情報記憶部１２３からグラフ情報を取得する。例えば、取得部１３１は、グラフ情報を取得する。図１及び図２の例では、取得部１３１は、グラフ情報ＧＲ１１を取得する。
【０２１７】
例えば、取得部１３１は、外部の情報処理装置からインデックス情報（インデックスデータ）を取得する。例えば、取得部１３１は、インデックス情報記憶部１２２からインデックス情報を取得する。例えば、取得部１３１は、木構造型のインデックス情報を取得する。図１及び図２の例では、取得部１３１は、インデックス情報ＩＮＤ１１を取得する。
【０２１８】
また、取得部１３１は、ユーザが利用する端末装置１０からアイテムを取得する。例えば、取得部１３１は、検索クエリとして、一のアイテムのアイテム情報を取得する。
【０２１９】
取得部１３１は、一のアイテムに関するアイテム情報（アイテム情報）を取得する。図１及び図２の例では、取得部１３１は、アイテムに関するクエリ情報を取得する。取得部１３１は、端末装置１０からアイテムＸに関するアイテム情報ＩＭＤ１１を、クエリ情報として取得する。取得部１３１は、端末装置１０からアイテムＸに関するアイテム情報を取得する。例えば、取得部１３１は、アイテムに関する検索クエリを取得する。取得部１３１は、ユーザＵ１がアイテムＸを閲覧したことを示す情報を取得する。
【０２２０】
図１及び図２の例では、記憶部１２０（図６参照）からグラフ情報ＧＲ１１に必要な各種情報を取得する。例えば、取得部１３１は、アイテム情報記憶部１２１（図７参照）やグラフ情報記憶部１２３（図９参照）やモデル情報記憶部１２１（図１０参照）からグラフ情報ＧＲ１１に必要な各種情報を取得する。例えば、取得部１３１は、グラフ情報記憶部１２３（図９参照）からターゲット「ユーザビリティ」に対応するエッジ群やターゲット「収益性」に対応するエッジ群を含むグラフ情報を取得する。
【０２２１】
また、例えば、取得部１３１は、インデックス情報記憶部１２２（図８参照）から、グラフ情報ＧＲ１１における検索の起点となるノードの決定に用いるインデックス情報ＩＮＤ１１を取得する。具体的には、取得部１３１は、インデックスデータセット１２２−１（図８参照）からターゲット「ユーザビリティ」に対応するインデックス情報ＩＮＤ１１を取得する。なお、インデックス情報ＩＮＤ１１は、取得部１３１が生成してもよいし、取得部１３１は、インデックス情報ＩＮＤ１１を情報提供装置５０等の他の外部装置から取得してもよい。
【０２２２】
（生成部１３２）
生成部１３２は、各種情報を生成する。例えば、生成部１３２は、記憶部１２０に記憶された情報）を用いて、モデル情報記憶部１２４に示すようなモデルを生成する。例えば、生成部１３２は、アイテム情報記憶部１２１に記憶された情報（学習データ）を用いて、モデル情報記憶部１２４に示すようなモデルを生成する。生成部１３２は、アイテム情報に基づいてターゲットごとのモデルを生成する。例えば、生成部１３２は、アイテム情報に基づいて生成したベクトル用情報と、正解情報とに基づいて、ターゲットごとのモデルを生成する。例えば、生成部１３２は、決定部１３３により決定された情報を用いて、モデルを生成する。例えば、生成部１３２は、検索部１３４により検索（抽出）された情報を用いて、モデルを生成する。
【０２２３】
生成部１３２は、「単語＃１」、「単語＃２」、「画像」等のアイテム情報に含まれる要素を特徴量（素性）とするモデルを生成する。例えば、生成部１３２は、ターゲット「ユーザビリティ」に対応するモデルＭ１を生成する場合、ユーザに選択（クリック）されたアイテムに多く含まれていた要素の重みが重くなるように学習し、モデルを生成する。
【０２２４】
生成部１３２は、ターゲット「ユーザビリティ」に対応する正解情報との組合せを学習データとしてターゲット「ユーザビリティ」に対応するモデルＭ１を生成する。例えば、生成部１３２は、ターゲット「ユーザビリティ」に対応するモデルＭ１を生成する場合、単語＃１の出現頻度が所定の閾値以上であるアイテムが、ユーザに選択（クリック）されている場合、「特徴量＃１（単語＃１）」の重みが重くなるように学習し、モデルＭ１を生成する。なお、生成部１３２は、各モデルが出力する値が０〜１の範囲になるように各モデルを正規化してもよい。図１及び図２の例では、生成部１３２は、各モデルが出力する値が０〜１の範囲になるように正規化された各モデルを用いてもよい。
【０２２５】
例えば、生成部１３２は、アイテム＃１やアイテム＃２のベクトル用情報と、ターゲット「ユーザビリティ」に対応する正解情報とを用いてモデルＭ１を生成する。例えば、生成部１３２は、アイテム＃１やアイテム＃２のベクトル用情報をモデルＭ１中の対応する変数「ｘ１」〜「ｘｎ」に入力し、出力値「ｙ」が正解情報の値に近づくように、各重み「ｗ１」〜「ｗｎ」の値を学習する。
【０２２６】
生成部１３２は、図７中のアイテム情報記憶部１２１に示すユーザビリティ（ＴＩＤ１）に対応する正解情報が「１」であるアイテム（「正例アイテム」とする）については、モデルＭ１に正例アイテムの情報（ベクトル用情報）が入力された場合に、モデルＭ１が出力するスコアが「１」に近づくように、学習処理を行う。例えば、生成部１３２は、ユーザビリティ（ＴＩＤ１）について、正例アイテムであるアイテム＃２の情報（ベクトル用情報）が入力された場合に、モデルＭ１が出力するスコアが「１」に近づくように、学習処理を行う。
【０２２７】
生成部１３２は、図７中のアイテム情報記憶部１２１に示すユーザビリティ（ＴＩＤ１）に対応する正解情報が「０」であるアイテム（「負例アイテム」とする）については、モデルＭ１に負例アイテムの情報（ベクトル用情報）が入力された場合に、モデルＭ１が出力するスコアが「０」に近づくように、学習処理を行う。例えば、生成部１３２は、ユーザビリティ（ＴＩＤ１）について、正例アイテムであるアイテム＃１の情報（ベクトル用情報）が入力された場合に、モデルＭ１が出力するスコアが「０」に近づくように、学習処理を行う。
【０２２８】
生成部１３２は、図７中のアイテム情報記憶部１２１に示す収益性（ＴＩＤ２）に対応する正解情報が「１」である正例アイテムについては、モデルＭ２に正例アイテムの情報（ベクトル用情報）が入力された場合に、モデルＭ２が出力するスコアが「１」に近づくように、学習処理を行う。例えば、生成部１３２は、収益性（ＴＩＤ２）について、正例アイテムであるアイテム＃１の情報（ベクトル用情報）が入力された場合に、モデルＭ２が出力するスコアが「１」に近づくように、学習処理を行う。
【０２２９】
生成部１３２は、図７中のアイテム情報記憶部１２１に示す収益性（ＴＩＤ２）に対応する正解情報が「０」である負例アイテムについては、モデルＭ２に負例アイテムの情報（ベクトル用情報）が入力された場合に、モデルＭ２が出力するスコアが「０」に近づくように、学習処理を行う。例えば、生成部１３２は、収益性（ＴＩＤ２）について、正例アイテムであるアイテム＃２の情報（ベクトル用情報）が入力された場合に、モデルＭ２が出力するスコアが「０」に近づくように、学習処理を行う。
【０２３０】
なお、生成部１３２は、図７中のアイテム情報記憶部１２１に示すように、「０」や「１」以外の値の正解情報を用いてモデルを学習してもよい。例えば、生成部１３２は、アイテム＃８３に対応する正解情報のように、「０．６」や「０．２」のような０から１の範囲の値の正解情報を用いてモデルを学習してもよい。例えば、生成部１３２は、ユーザビリティ（ＴＩＤ１）について、正解情報が「０．６」であるアイテム＃８３の情報（ベクトル用情報）が入力された場合に、モデルＭ１が出力するスコアが「０．６」に近づくように、学習処理を行う。また、例えば、生成部１３２は、収益性（ＴＩＤ２）について、正解情報が「０．２」であるアイテム＃８３の情報（ベクトル用情報）が入力された場合に、モデルＭ１が出力するスコアが「０．２」に近づくように、学習処理を行う。
【０２３１】
生成部１３２は、モデルＭ１、Ｍ２等を生成し、生成したモデルＭ１、Ｍ２等をモデル情報記憶部１２４に格納する。生成部１３２は、上記に限らず、いかなる学習アルゴリズムを用いてモデルＭ１を生成してもよい。
【０２３２】
なお、生成部１３２は、モデルＭ１、Ｍ２に限らず、他のターゲットに対応するモデルＭ３、Ｍ４等を生成してもよい。例えば、生成部１３２は、種々の学習アルゴリズムを用いてモデルを生成してもよい。例えば、生成部１３２は、ニューラルネットワーク（neural  network）、サポートベクターマシン（ＳＶＭ）、クラスタリング、強化学習等の学習アルゴリズムを用いてモデルを生成する。一例として、生成部１３２がニューラルネットワークを用いてモデル等を生成する場合、モデル等は、一以上のニューロンを含む入力層と、一以上のニューロンを含む中間層と、一以上のニューロンを含む出力層とを有する。
【０２３３】
例えば、生成部１３２は、取得部１３１により取得された学習データに基づいて、入力したログ情報と同様の情報を出力するモデル（オートエンコーダ）を生成してもよい。例えば、生成部１３２は、入力するログ情報自体を正解情報として、入力したログ情報と同様の情報を出力するモデル（オートエンコーダ）を生成してもよい。例えば、生成部１３２は、ニューラルネットワーク（neural  network）等の学習アルゴリズムを用いてモデルＭ１を生成する。一例として、生成部１３２がニューラルネットワークを用いてモデルＭ１等を生成する場合、モデルＭ１等は、一以上のニューロンを含む入力層と、一以上のニューロンを含む中間層と、一以上のニューロンを含む出力層とを有する。
【０２３４】
生成部１３２は、アイテムに関する情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力されたアイテム情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、所定の目的に適したアイテムかどうかを示すスコアの値を出力層から出力するモデルを生成する。
【０２３５】
例えば、生成部１３２は、学習データに基づいてモデルを生成する。例えば、生成部１３２は、学習データに基づいてモデルを生成する。例えば、生成部１３２は、アイテム情報記憶部１２１中のアイテム情報ＩＭＤ１、ＩＭＤ２等を学習データ（教師データ）として、学習を行なうことにより、モデルを生成する。
【０２３６】
例えば、生成部１３２は、アイテム情報ＩＭＤ１が入力された場合に、モデルＭ１がアイテム情報ＩＭＤ１と同様の情報を出力するように、学習処理を行う。例えば、生成部１３２は、アイテム情報ＩＭＤ２が入力された場合に、モデルＭ１がアイテム情報ＩＭＤ２と同様の情報を出力するように、学習処理を行う。生成部１３２は、モデルを生成し、生成したモデルをモデル情報記憶部１２４に格納する。なお、情報処理装置１００は、情報提供装置５０等の他の外部装置からモデルを取得する場合、生成部１３２を有しなくてもよい。
【０２３７】
生成部１３２は、図１３中のモデル式ＭＦＭ中の各特徴量とその重みとの組合せをベクトルの各次元の要素として、Ｎ次元ベクトルを生成する。例えば、生成部１３２は、図１３中のベクトル形式ＶＦＭに示すように、「ｗ１＊ｘ１」をベクトルの１次元目の要素とし、「ｗ２＊ｘ２」をベクトルの２次元目の要素とし、「ｗｎ＊ｘｎ」をベクトルのｎ次元目の要素としたＮ次元ベクトルを生成する。
【０２３８】
生成部１３２がアイテム＃１について、ターゲット「ユーザビリティ」に対応するベクトルデータＶＤ１−１と、ターゲット「ユーザビリティ」に対応するベクトルデータＶＤ１−２を生成する。
【０２３９】
生成部１３２は、「ｗ１」を「０．０２」とし、「ｘ１」を「１」とし、「ｗ２」を「０．０５」とし、「ｘ２」を「０」とし、「ｗ３」を「０．０１」とし、「ｘ３」を「１」とした中間ベクトルＳＢ１−１を生成する。そして、生成部１３２は、次元ごとに特徴量と重みとを乗算することにより、各次元の要素を算出する。これにより、生成部１３２は、１次元目の値が「０．０２」であり、２次元目の値が「０」であり、３次元目の値が「０．０１」であるベクトルＶＤ１−１を生成する。すなわち、生成部１３２は、図１３中に示すように「０．０２，０，０．０１，…」のような、ターゲット「ユーザビリティ」に対応するベクトルＶＤ１−１を生成する。
【０２４０】
生成部１３２は、「ｗ１」を「０．０１」とし、「ｘ１」を「１」とし、「ｗ２」を「０」とし、「ｘ２」を「０」とし、「ｗ３」を「０．０６」とし、「ｘ３」を「１」とした中間ベクトルＳＢ１−２を生成する。そして、生成部１３２は、次元ごとに特徴量と重みとを乗算することにより、各次元の要素を算出する。これにより、生成部１３２は、１次元目の値が「０．０１」であり、２次元目の値が「０」であり、３次元目の値が「０．０６」であるベクトルＶＤ１−２を生成する。すなわち、生成部１３２は、図１３中に示すように「０．０１，０，０．０６，…」のような、ターゲット「収益性」に対応するベクトルＶＤ１−２を生成する。
【０２４１】
図１及び図２の例では、生成部１３２は、アイテムＸの情報からグラフ情報の探索に用いるベクトルを生成する。図２の例では、生成部１３２は、処理群ＰＳ１１に示すような処理により、アイテムＸに対応するベクトルを生成する。生成部１３２は、アイテムＸのベクトル用情報を生成する。生成部１３２は、アイテムＸのアイテム情報ＩＭＤ１１からアイテムＸのベクトル用情報を生成する。生成部１３２は、図２中のベクトル用情報一覧ＦＶＤ１１に示すように、「（１，１，０，…）」であるアイテムＸのベクトル用情報を生成する。生成部１３２は、１次元目に対応する値が「１」、２次元目に対応する値が「１」、３次元目に対応する値が「０」等であるベクトル用情報を生成する。
【０２４２】
そして、生成部１３２は、ベクトル用情報と、ターゲットに対応するモデルの重み情報とを用いて、ベクトルを生成する。図２の例では、生成部１３２は、アイテムＸのベクトル用情報と、ターゲット「ユーザビリティ」に対応するモデルＭ１の重み情報とを用いて、アイテムＸのベクトル（以下、「ベクトルＶＤ１１」ともいう）を生成する生成部１３２は、図２中の重み情報一覧ＷＤＴ１に示すように、「（０．０２，０．０５，０．０１，…）」であるモデルＭ１の重み情報を用いて、アイテムＸのベクトルＶＤ１１を生成する。生成部１３２は、１次元目に対応する値が「０．０２」、２次元目に対応する値が「０．０５」、３次元目に対応する値が「０．０１」等である重み情報を用いて、ベクトルＶＤ１１を生成する。すなわち、生成部１３２は、「ｗ１＝０．０２」、「ｗ２＝０．０５」、「ｗ３＝０．０１」等のモデルＭ１の重み情報を用いて、ベクトルＶＤ１１を生成する。
【０２４３】
具体的には、生成部１３２は、図１３中のベクトル形式ＶＦＭに示すように、「ｗ１＊ｘ１」をベクトルの１次元目の要素とし、「ｗ２＊ｘ２」をベクトルの２次元目の要素とし、「ｗｎ＊ｘｎ」をベクトルのｎ次元目の要素としたベクトルＶＤ１１を生成する。生成部１３２は、「ｗ１」を「０．０２」とし、「ｘ１」を「１」とし、「ｗ２」を「０．０５」とし、「ｘ２」を「１」とし、「ｗ３」を「０．０１」とし、「ｘ３」を「０」として、ベクトルＶＤ１１を生成する。そして、生成部１３２は、次元ごとに特徴量と重みとを乗算することにより、各次元の要素を算出する。これにより、生成部１３２は、１次元目の値が「０．０２」であり、２次元目の値が「０．０５」であり、３次元目の値が「０」であるベクトルＶＤ１１を生成する。すなわち、生成部１３２は、「０．０２，０．０５，０，…」のような、ターゲット「ユーザビリティ」に対応するアイテムＸのベクトルＶＤ１１を生成する。
【０２４４】
（決定部１３３）
決定部１３３は、各種情報を決定する。決定部１３３は、取得部１３１により取得された情報を用いて種々の情報を決定する。決定部１３３は、生成部１３２により生成された情報を用いて種々の情報を決定する。決定部１３３は、検索部１３４により検索（抽出）された情報を用いて種々の情報を決定する。決定部１３３は、起点ノードの決定に用いるインデックス情報に基づいて、起点ノードを決定する。決定部１３３は、木構造型のインデックス情報に基づいて、起点ノードを決定する。例えば、決定部１３３は、取得部１３１により取得された一のアイテムに関する情報と、グラフ情報の検索の起点となる起点ベクトルに関する情報とに基づいて、起点ベクトルを決定する。また、決定部１３３は、起点ベクトルの決定に用いるインデックス情報に基づいて、起点ベクトルを決定する。また、決定部１３３は、木構造型のインデックス情報に基づいて、起点ベクトルを決定する。例えば、決定部１３３は、アイテム情報と、グラフ情報の検索の起点ベクトルの決定の基準となる情報とに基づいて、起点ベクトルを決定する。決定部１３３は、複数のエッジ群のうち、検索に用いるエッジ群を決定する。
【０２４５】
図１及び図２の例では、決定部１３３は、一のアイテム（クエリ）に対応する起点ベクトルを決定（特定）するために、インデックス情報ＩＮＤ１１を用いる。図１及び図２の例では、決定部１３３は、アイテムＸのベクトルＶＤ１１に対応する起点ベクトルを決定（特定）するために、インデックス情報ＩＮＤ１１を用いる。すなわち、決定部１３３は、ベクトルＶＤ１１とインデックス情報ＩＮＤ１１とを用いて、グラフ情報ＧＲ１１における起点ベクトルを決定する。
【０２４６】
例えば、決定部１３３は、図２中のインデックス情報ＩＮＤ１１に示すような木構造型のインデックス情報を用いて、グラフ情報ＧＲ１１における起点ベクトルを決定する。図１及び図２の例では、決定部１３３は、ベクトルＶＤ１１を生成した後、インデックス情報ＩＮＤ１１を上から下へ辿ることにより、インデックス情報ＩＮＤ１１の近傍候補となる起点ベクトルを特定することにより、効率的に検索クエリ（一のアイテム）に対応する起点ベクトルを決定することができる。
【０２４７】
例えば、決定部１３３は、インデックス情報ＩＮＤ１１をルートＲＴからリーフノード（グラフ情報ＧＲ１１中のノード（ベクトル））まで辿ることにより、ベクトルＶＤ１１に対応する起点ベクトルを決定してもよい。図１及び図２の例では、例えば、決定部１３３は、インデックス情報ＩＮＤ１１をルートＲＴからノードＮ８３まで辿ることにより、ノードＮ８３を起点ベクトルとして決定する。
【０２４８】
決定部１３３は、複数の観点の各々に対応する複数のインデックス情報のうち、一の観点に対応するインデックス情報に基づいて、起点ノードを決定する。決定部１３３は、ターゲット「ユーザビリティ」に対応するインデックスＩＮＤ１１を、検索に用いるインデックスに決定する。
【０２４９】
図１の例では、決定部１３３は、ターゲットを決定する。決定部１３３は、ターゲットをユーザビリティと決定する。例えば、決定部１３３は、ユーザが選択したくなるようなアイテムをユーザに提供し、ユーザのユーザビリティを向上させるために、ターゲットをユーザビリティと決定する。例えば、決定部１３３は、提供する記事コンテンツがユーザにとって適切なものである可能性が高くなり、ユーザのユーザビリティを向上させるために、ターゲットをユーザビリティと決定する。決定部１３３は、ユーザＵ１が選択したアイテムＸに類似するようなアイテムをユーザＵ１に推奨するために、ターゲットをユーザビリティと決定する。決定部１３３は、種々の情報を適宜用いてターゲットを決定する。決定部１３３は、種々の基準に基づいてターゲットを決定する。例えば、決定部１３３は、収益性を向上させる場合、ターゲットを収益性と決定する。なお、決定部１３３は、ターゲットを決定しなくてもよい。例えば、決定部１３３は、ターゲットを決定せずに、適宜の方法により検索の起点となる起点ノードを決定し、各観点に基づいた対象アイテムを抽出してもよい。
【０２５０】
決定部１３３は、インデックスを決定する。決定部１３３は、ターゲット「ユーザビリティ」に対応するインデックスＩＮＤ１１やターゲット「収益性」に対応するインデックスＩＮＤ１２のうち、起点ノードの決定に用いるインデックスを決定する。図１の例では、決定部１３３は、複数グラフ情報群ＧＩＮＦに示すように、ターゲット「ユーザビリティ」に対応する検索用情報群ＩＮＦ１１中のインデックスＩＮＤ１１やターゲット「収益性」に対応する検索用情報群ＩＮＦ１２中のインデックスＩＮＤ１２のうち、検索に用いる情報を決定する。決定部１３３は、ターゲット「ユーザビリティ」に対応するインデックスＩＮＤ１１を用いると決定する。
【０２５１】
例えば、決定部１３３は、アイテムＸのアイテム情報ＩＭＤ１１から抽出された単語の情報に基づいて、アイテムＸにおける各単語の出現頻度を計数する。決定部１３３は、アイテムＸにおける単語＃１の出現頻度を５回であると計数する。そして、決定部１３３は、アイテムＸにおける単語＃１の出現頻度を１０回が所定の閾値（例えば５回等）以上であると判定し、アイテムＸにおける単語＃１（特徴量＃１）の値（ｘ１）を「１」と決定する。
【０２５２】
また、決定部１３３は、アイテムＸにおける単語＃２の出現頻度を４回であると計数する。そして、決定部１３３は、アイテムＸにおける単語＃２の出現頻度を５回が所定の閾値（例えば３回等）以上であると判定し、アイテムＸにおける単語＃２（特徴量＃２）の値（ｘ２）を「１」と決定する。また、決定部１３３は、アイテム情報ＩＭＤ１１に画像情報が含まれているかどうかを判定する。図２の例では、決定部１３３は、アイテムＸには画像情報が含まれないと判定し、アイテムＸにおける単語＃３（特徴量＃３）の値（ｘ３）を「０」と決定する。このように、決定部１３３は、「ｘ１＝１」、「ｘ２＝１」、「ｘ３＝０」等の各次元の変数に入力される値を決定する。
【０２５３】
（検索部１３４）
検索部１３４は、各種情報を抽出する。例えば、検索部１３４は、各種判定処理を行う。例えば、検索部１３４は、取得部１３１により取得された情報を用いて、各種情報を判定する。例えば、検索部１３４は、記憶部１２０に記憶された各種情報を検索する。例えば、検索部１３４は、各種情報を用いて算出処理を行う。例えば、検索部１３４は、ベクトルに関する情報を用いて、ベクトル間の距離を算出する。検索部１３４は、取得部１３１により取得されたグラフ情報の複数のノードのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ノードを起点としてグラフ情報を検索することにより、複数のアイテムのうち、一のアイテムに類似するアイテムである類似アイテム（対象アイテム）を抽出する。検索部１３４は、決定部１３３により決定された起点ノードを起点として、対象アイテムを抽出する。検索部１３４は、取得部１３１により取得されたグラフ情報の複数のベクトルのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ベクトルを起点としてグラフ情報を検索することにより、複数のアイテムのうち、一のアイテムに類似するアイテムである対象アイテムを抽出する。例えば、検索部１３４は、決定部１３３により決定された起点ベクトルを起点としてグラフ情報を検索することにより、複数のアイテムのうち、一のアイテムに類似するアイテムである対象アイテムを抽出する。例えば、検索部１３４は、グラフ情報記憶部１２３に記憶された各ノード（ベクトル）間を連結するエッジの長さ（距離）の情報を用いてもよいし、各ノードのベクトル情報から各ノード（ベクトル）間を連結するエッジの長さ（距離）の情報を算出し、算出した長さ（距離）の情報を用いてもよい。
【０２５４】
検索部１３４は、取得部１３１により取得されたグラフ情報の複数のノードのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ノードを起点として、グラフ情報を検索することにより、複数のアイテムのうち、クエリ情報と類似性を有するアイテムである対象アイテムを対象アイテムとして抽出し、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、対象アイテムの抽出基準を変更して対象アイテムを抽出する。検索部１３４は、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、重みを変更し、対象アイテムを抽出する。
【０２５５】
検索部１３４は、決定部１３３により決定されたエッジ群を用いて対象アイテムを抽出する。検索部１３４は、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、検索に用いるエッジ群から他のエッジ群に変更し、対象アイテムを抽出する。検索部１３４は、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、グラフ以外の情報を用いて対象アイテムを抽出する。検索部１３４は、グラフ情報の検索時において所定の要素が共通する対象アイテムの数が所定の閾値以上となる場合、グラフ以外の情報を用いて対象アイテムを抽出する。検索部１３４は、グラフ情報の検索時においてカテゴリが共通する対象アイテムの数が所定の閾値以上となる場合、グラフ以外の情報を用いてカテゴリとは異なるカテゴリのアイテムを対象アイテムとして抽出する。
【０２５６】
検索部１３４は、取得部１３１により取得されたグラフ情報の複数のノードのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ノードを起点として、グラフ情報を検索することにより、複数のアイテムのうち、クエリ情報と類似性を有するアイテムである対象アイテムを抽出する。検索部１３４は、取得部１３１により取得されたグラフ情報の複数のノードのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ノードを起点として、グラフ情報を複数のエッジ群によるノード間の連結に基づいて検索することにより、複数のアイテムのうち、クエリ情報と類似性を有するアイテムである類似アイテムを対象アイテムとして抽出する。検索部１３４は、決定部１３３により決定された一のグラフ情報を用いて、対象アイテムを抽出する。
【０２５７】
検索部１３４は、取得部１３１により取得されたグラフ情報の複数のベクトルのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ベクトルを起点としてグラフ情報を検索することにより、複数のアイテムのうち、一のアイテムに類似するアイテムである対象アイテムを対象アイテムとして抽出する。検索部１３４は、各種情報を抽出する。例えば、検索部１３４は、決定部１３３により決定された起点ベクトルを起点としてグラフ情報を検索することにより、複数のアイテムのうち、一のアイテムに類似するアイテムである対象アイテムを抽出する。
【０２５８】
検索部１３４は、複数のエッジ群のうち、所定の閾値以上の複数のエッジ群のエッジが連結されるノード間を辿ることにより、対象アイテムを抽出する。検索部１３４は、複数のエッジ群の各々に対応する複数のエッジが連結されるノード間を辿ることにより、対象アイテムを抽出する。
【０２５９】
図１及び図２の例では、検索部１３４は、ノードＮ８３の近傍に位置するノードを類似コンテンツとして抽出する。例えば、検索部１３４は、ノードＮ８３からの距離が近いノードを類似コンテンツとして抽出する。例えば、検索部１３４は、ノードＮ８３を起点として、エッジを辿ることにより、ノードＮ８３から到達可能なノードを類似コンテンツとして抽出する。例えば、検索部１３４は、所定数（例えば、２個や１０個等）のノードを類似コンテンツとして抽出する。例えば、検索部１３４は、図１４に示すような検索処理により、コンテンツＸの類似コンテンツを抽出してもよい。図２の例では、検索部１３４は、ノードＮ８３を起点として、グラフ情報ＧＲ１１を探索することにより、ノードＮ８３やノードＮ６７やノードＮ９を対象コンテンツとして順次抽出する。
【０２６０】
ここで、検索部１３４は、対象コンテンツを抽出した場合に、抽出済みの対象アイテムが対象アイテムに関する基準変更条件を満たすかどうかを判定する。図２の例では、検索部１３４は、ノードＮ８３やノードＮ６７やノードＮ９を抽出する毎に、抽出済みの対象アイテムが基準変更条件を満たすかどうかを判定する。検索部１３４は、同一カテゴリのアイテム数が２より大きいことを基準変更条件として用いる。
【０２６１】
検索部１３４は、抽出済みの対象アイテム一覧ＥＴＬ１１に示すようにノードＮ８３を抽出した際に、基準変更条件を満たすかどうかを判定する。検索部１３４は、抽出済みの対象アイテムがノードＮ８３の１つであり、基準変更条件を満たさないと判定する。検索部１３４は、抽出済みの対象アイテム一覧ＥＴＬ１１に示すようにノードＮ６７を抽出した際に、基準変更条件を満たすかどうかを判定する。検索部１３４は、抽出済みの対象アイテムがノードＮ８３とノードＮ６７の２つであり、カテゴリが同じカテゴリ「経済」であるが、アイテムの数が２であるため、基準変更条件を満たさないと判定する。
【０２６２】
検索部１３４は、抽出済みの対象アイテム一覧ＥＴＬ１１に示すようにノードＮ９を抽出した際に、基準変更条件を満たすかどうかを判定する。検索部１３４は、抽出済みの対象アイテムがノードＮ８３、ノードＮ６７、ノードＮ９の３つであり、カテゴリが同じカテゴリ「経済」であり、アイテムの数が３、すなわち２より大きいため、基準変更条件を満たすと判定する。この場合、検索部１３４は、対象アイテムの抽出基準を変更して対象アイテムを抽出する。図２の例では、検索部１３４は、対象アイテムの抽出基準をグラフ以外の情報を用いることに変更して対象アイテムを抽出する。検索部１３４は、抽出済みの対象アイテム一覧ＥＴＬ１１に示すようにカテゴリが共通する抽出済みの対象アイテムの数が所定の閾値以上となる場合、グラフ以外の情報を用いてカテゴリとは異なる別カテゴリのアイテムを対象アイテムとして抽出する。
【０２６３】
例えば、検索部１３４は、アイテム情報記憶部１２１（図７参照）から残りの対象アイテムをカテゴリに基づいて抽出する。図１及び図２の例では、検索部１３４は、アイテム群ＩＴＬ１１からカテゴリ「経済」と異なる別カテゴリのアイテムを抽出する。検索部１３４は、アイテム群ＩＴＬ１１からカテゴリ「経済」と異なる別カテゴリ「スポーツ」のアイテム＃１等を対象アイテムとして抽出する。また、検索部１３４は、抽出する対象アイテムの数を規定する所定数に達するまで、アイテム群ＩＴＬ１１からカテゴリ「経済」と異なる別カテゴリのアイテムを対象アイテムとして抽出する。
【０２６４】
（提供部１３５）
提供部１３５は、各種情報を提供する。例えば、提供部１３５は、端末装置１０や情報提供装置５０に各種情報を送信する。例えば、提供部１３５は、端末装置１０や情報提供装置５０に各種情報を配信する。例えば、提供部１３５は、端末装置１０や情報提供装置５０に各種情報を提供する。提供部１３５は、検索部１３４により抽出された対象アイテムに基づいて、所定のサービスを提供する。また、提供部１３５は、対象アイテムに関する情報提供サービスを提供する。提供部１３５は、端末装置１０に対象アイテムに関する情報を提供する。
【０２６５】
提供部１３５は、検索部１３４により抽出された対象アイテムに基づいて、所定のサービスを提供する。提供部１３５は、対象アイテムに基づいて、情報提供サービスを提供する。提供部１３５は、対象アイテムに関する情報を端末装置１０に配信する。提供部１３５は、対象アイテムに関する情報を端末装置１０に送信する。
【０２６６】
図１及び図２の例では、提供部１３５は、検索部１３４により抽出された対象アイテムに関する情報を提供する。提供部１３５は、ノードＮ８３に対応するアイテム＃８３や、ノードＮ６７に対応するアイテム＃６７や、ノードＮ９に対応するアイテム＃９や、ノードＮ１に対応するアイテム＃１等を対象アイテムとしてユーザＵ１が利用する端末装置１０に提供する。提供部１３５は、カテゴリ「経済」に対応するアイテム＃８３、＃６７、＃９や、カテゴリ「経済」以外のカテゴリのアイテム＃１等の多様なカテゴリのアイテムを対象アイテムとして端末装置１０に提供する。
【０２６７】
例えば、提供部１３５は、クエリに対応するオブジェクトＩＤを検索結果として提供する。例えば、提供部１３５は、検索部１３４により選択されたオブジェクトＩＤを情報提供装置５０へ提供する。提供部１３５は、検索部１３４により選択されたオブジェクトＩＤをクエリに対応するベクトルを示す情報として情報提供装置５０に提供する。また、提供部１３５は、生成部１３２により生成されたモデルを外部の情報処理装置へ提供してもよい。
【０２６８】
〔４．情報処理のフロー〕
次に、図１１を用いて、実施形態に係る情報処理システム１による情報処理の手順について説明する。図１１は、実施形態に係る情報処理の一例を示すフローチャートである。
【０２６９】
図１１に示すように、情報処理装置１００は、アイテムに関するクエリ情報を取得する（ステップＳ１０１）。例えば、情報処理装置１００は、アイテムの検索に関するクエリ情報を取得する。例えば、情報処理装置１００は、一のアイテムに関するアイテム情報をクエリ情報として取得する。図１及び図２の例では、情報処理装置１００は、端末装置１０からアイテムＸに関するアイテム情報ＩＭＤ１１を取得する。
【０２７０】
情報処理装置１００は、所定の基準に基づいて、インデックスを決定する（ステップＳ１０２）。情報処理装置１００は、インデックスをターゲット「ユーザビリティ」に対応するインデックスに決定する。例えば、情報処理装置１００は、インデックス情報記憶部１２２のうち、ターゲット「ユーザビリティ」に対応するインデックスＩＮＤ１１を取得する。
【０２７１】
そして、情報処理装置１００は、モデルを用いてクエリ情報からベクトルを生成する（ステップＳ１０３）。例えば、情報処理装置１００は、モデルを用いてクエリ情報に対応する一のアイテムのアイテム情報からベクトルを生成する。例えば、情報処理装置１００は、モデル情報記憶部１２４（図１０参照）に記憶されたモデルＭ１を用いて、アイテム情報ＩＭＤ１１からベクトルＶＤ１１を生成する。
【０２７２】
そして、情報処理装置１００は、生成したベクトルとインデックス情報を用いて起点ベクトルを決定する（ステップＳ１０４）。図１及び図２の例では、情報処理装置１００は、ベクトルＶＤ１１と、インデックス情報ＩＮＤ１１とを用いて、起点ベクトルをノードＮ８３に決定する。
【０２７３】
そして、情報処理装置１００は、グラフ情報を検索することにより、クエリ情報の対象アイテムを抽出し、検索時において対象アイテムに関する所定の条件を満たす場合、対象アイテムの抽出基準を変更して対象アイテムを抽出する（ステップＳ１０５）。図１及び図２の例では、情報処理装置１００は、ノードＮ８３を起点として、グラフ情報ＧＲ１１を探索することにより、ノードＮ８３やノードＮ６７やノードＮ９を対象アイテムとして抽出する。また、情報処理装置１００は、抽出済みの対象アイテムがノードＮ８３、ノードＮ６７、ノードＮ９の３つであり、カテゴリが同じカテゴリ「経済」であり、アイテムの数が３、すなわち２より大きいため、基準変更条件を満たすと判定する。そして、情報処理装置１００は、アイテム群ＩＴＬ１１からカテゴリ「経済」と異なる別カテゴリ「スポーツ」のアイテム＃１等を対象アイテムとして抽出する。
【０２７４】
そして、情報処理装置１００は、抽出した対象アイテムに関する情報を提供する（ステップＳ１０６）。図１及び図２の例では、情報処理装置１００は、例えばアイテム＃８３やアイテム＃６７やアイテム＃９やアイテム＃１を示す情報をユーザＵ１が利用する端末装置１０に提供する。
【０２７５】
〔５．生成処理のフロー〕
次に、図１２を用いて、実施形態に係る情報処理システム１による生成処理の手順について説明する。図１２は、実施形態に係る生成処理の一例を示すフローチャートである。
【０２７６】
図１２に示すように、情報処理装置１００は、学習データを取得する（ステップＳ２０１）。例えば、情報処理装置１００は、アイテム情報記憶部１２１から学習データを取得する。例えば、情報処理装置１００は、アイテム情報記憶部１２１からアイテム＃１やアイテム＃２のベクトル用情報や正解情報等を学習データとして取得する。
【０２７７】
その後、情報処理装置１００は、学習データに基づきモデルを生成する（ステップＳ２０２）。例えば、情報処理装置１００は、アイテム＃１やアイテム＃２のベクトル用情報と、ターゲット「ユーザビリティ」に対応する正解情報とを用いてモデルＭ１を生成する。例えば、情報処理装置１００は、アイテム＃１やアイテム＃２のベクトル用情報をモデルＭ１中の対応する変数「ｘ１」〜「ｘｎ」に入力し、出力値「ｙ」が正解情報の値に近づくように、各重み「ｗ１」〜「ｗｎ」の値を学習する。
【０２７８】
〔６．検索例〕
ここで、上述したグラフ情報を用いた検索の一例を示す。なお、グラフ情報（グラフデータ）を用いた検索は下記に限らず、種々の手順により行われてもよい。この点について、図１２を一例として説明する。図１２は、グラフデータ（グラフ情報）を用いた検索処理の一例を示すフローチャートである。また、以下でいうオブジェクトは、ベクトルやノードと読み替えてもよい。以下に説明する検索処理は、例えば情報処理装置１００の検索部１３４によって行われる。なお、以下では、情報処理装置１００が検索処理を行うものとして説明するが、検索処理は他の装置により行われてもよい。例えば、情報処理装置１００は、検索クエリとして、一のアイテムのアイテム情報（アイテムデータ）から生成されたベクトルデータを用いる。例えば、情報処理装置１００は、一のアイテムのアイテム情報（アイテムデータ）から生成されたベクトルデータとインデックス情報とに基づいて決定された起点ベクトルを起点としてグラフデータを検索する。図１及び図２の例では、情報処理装置１００は、アイテムＸのベクトルＶＤ１１とインデックス情報ＩＮＤ１１とに基づいて決定された起点ベクトルであるノードＮ８３を起点としてグラフ情報ＧＲ１１を検索する。
【０２７９】
ここでは、近傍オブジェクト集合Ｎ（Ｇ，ｙ）は、ノードｙに付与されているエッジにより関連付けられている近傍のオブジェクトの集合である。「Ｇ」は、所定のグラフデータ（例えば、グラフ情報ＧＲ１１等）であってもよい。例えば、情報処理装置１００は、ｋ近傍検索処理を実行する。
【０２８０】
例えば、情報処理装置１００は、超球の半径ｒを∞（無限大）に設定し（ステップＳ３００）、既存のオブジェクト集合から部分集合Ｓを抽出する（ステップＳ３０１）。例えば、情報処理装置１００は、ルートノード（起点ベクトル）として選択されたオブジェクト（ノード）を部分集合Ｓとして抽出してもよい。図１及び図２の例では、情報処理装置１００は、起点ベクトルであるノードＮ８３等を部分集合Ｓとして抽出してもよい。また、例えば、超球とは、検索範囲を示す仮想的な球である。なお、ステップＳ３０１において抽出されたオブジェクト集合Ｓに含まれるオブジェクトは、同時に検索結果のオブジェクト集合Ｒの初期集合にも含められる。
【０２８１】
次に、情報処理装置１００は、オブジェクト集合Ｓに含まれるオブジェクトの中で、検索クエリオブジェクトをｙとするとオブジェクトｙとの距離が最も短いオブジェクトを抽出し、オブジェクトｓとする（ステップＳ３０２）。図１及び図２の例では、情報処理装置１００は、オブジェクト集合Ｓに含まれるオブジェクトの中で、検索クエリオブジェクトであるベクトルＶＤ１１との距離が最も短いオブジェクトを抽出し、オブジェクトｓとする。例えば、情報処理装置１００は、オブジェクト集合Ｓに含まれるオブジェクトの中で、ベクトルＶＤ１１との距離が最も短いノードＮ８３を抽出し、オブジェクトｓとする。例えば、情報処理装置１００は、ルートノード（起点ベクトル）として選択されたオブジェクト（ノード）のみがオブジェクト集合Ｓの要素の場合には、結果的にルートノード（起点ベクトル）がオブジェクトｓとして抽出される。次に、情報処理装置１００は、オブジェクトｓをオブジェクト集合Ｓから除外する（ステップＳ３０３）。
【０２８２】
次に、情報処理装置１００は、オブジェクトｓとオブジェクトｙとの距離ｄ（ｓ，ｙ）がｒ（１＋ε）をこえる（超える）か否かを判定する（ステップＳ３０４）。ここで、εは拡張要素であり、ｒ（１＋ε）は、探索範囲（この範囲内のノードのみを探索する。検索範囲よりも大きくすることで精度を高めることができる）の半径を示す値である。オブジェクトｓとオブジェクトｙとの距離ｄ（ｓ，ｙ）がｒ（１＋ε）を超える場合（ステップＳ３０４：Ｙｅｓ）、情報処理装置１００は、オブジェクト集合Ｒをオブジェクトｙの近傍オブジェクト集合として出力し（ステップＳ３０５）、処理を終了する。
【０２８３】
オブジェクトｓと検索クエリオブジェクトｙとの距離ｄ（ｓ，ｙ）がｒ（１＋ε）を超えない場合（ステップＳ３０４：Ｎｏ）、情報処理装置１００は、オブジェクトｓの近傍オブジェクト集合Ｎ（Ｇ，ｓ）の要素であるオブジェクトの中からオブジェクト集合Ｃに含まれないオブジェクトを一つ選択し、選択したオブジェクトｕを、オブジェクト集合Ｃに格納する（ステップＳ３０６）。オブジェクト集合Ｃは、重複検索を回避するために便宜上設けられるものであり、処理開始時には空集合に設定される。
【０２８４】
次に、情報処理装置１００は、オブジェクトｕとオブジェクトｙとの距離ｄ（ｕ，ｙ）がｒ（１＋ε）以下であるか否かを判定する（ステップＳ３０７）。オブジェクトｕとオブジェクトｙとの距離ｄ（ｕ，ｙ）がｒ（１＋ε）以下である場合（ステップＳ３０７：Ｙｅｓ）、情報処理装置１００は、オブジェクトｕをオブジェクト集合Ｓに追加する（ステップＳ３０８）。また、オブジェクトｕとオブジェクトｙとの距離ｄ（ｕ，ｙ）がｒ（１＋ε）以下ではない場合（ステップＳ３０７：Ｎｏ）、情報処理装置１００は、ステップＳ３０９の判定（処理）を行う。
【０２８５】
次に、情報処理装置１００は、オブジェクトｕとオブジェクトｙとの距離ｄ（ｕ，ｙ）がｒ以下であるか否かを判定する（ステップＳ３０９）。オブジェクトｕとオブジェクトｙとの距離ｄ（ｕ，ｙ）がｒを超える場合（ステップＳ３０９：Ｎｏ）、情報処理装置１００は、ステップＳ３１５の判定（処理）を行う。すなわち、オブジェクトｕとオブジェクトｙとの距離ｄ（ｕ，ｙ）がｒ以下ではない場合（ステップＳ３０９：Ｎｏ）、情報処理装置１００は、ステップＳ３１５の判定（処理）を行う。
【０２８６】
オブジェクトｕとオブジェクトｙとの距離ｄ（ｕ，ｙ）がｒ以下である場合（ステップＳ３０９：Ｙｅｓ）、情報処理装置１００は、オブジェクトｕをオブジェクト集合Ｒに追加する（ステップＳ３１０）。そして、ステップＳ３１０でのオブジェクトｕのオブジェクト集合Ｒへの追加後において、情報処理装置１００は、オブジェクト集合Ｒが所定の条件を満たすかどうかを判定する。情報処理装置１００は、オブジェクト集合Ｒが所定の条件を満たす場合、抽出基準を変更する。図１及び図２の例では、情報処理装置１００は、オブジェクト集合Ｒに含まれるノードＮ８３、Ｎ６７、Ｎ９のカテゴリが３つ全て経済であり、同一カテゴリ数の条件「２」よりも大きい３となったため、抽出基準を変更する。具体的には、情報処理装置１００は、グラフ以外の情報を用いて対象アイテムとして抽出すると決定する。そのため、情報処理装置１００は、オブジェクト集合Ｒに含まれるノード（アイテム）を対象アイテムとし、グラフ情報の検索を終了する。そして、情報処理装置１００は、アイテム情報記憶部１２１（図７参照）から残りの対象アイテムをカテゴリに基づいて抽出する。図１及び図２の例では、情報処理装置１００は、アイテム群ＩＴＬ１１からカテゴリ「経済」と異なる別カテゴリのアイテムを抽出する。情報処理装置１００は、アイテム群ＩＴＬ１１からカテゴリ「経済」と異なる別カテゴリ「スポーツ」のアイテム＃１等を対象アイテムとして抽出し、処理を終了する。また、オブジェクト集合Ｒが所定の条件を満たさない場合、情報処理装置１００は、オブジェクト集合Ｒに含まれるオブジェクト数がｋｓを超えるか否かを判定する（ステップＳ３１１）。所定数ｋｓは、任意に定められる自然数である。例えば、ｋｓ＝２やｋｓ＝１０等の種々の設定であってもよい。オブジェクト集合Ｒに含まれるオブジェクト数がｋｓを超えない場合（ステップＳ３１１：Ｎｏ）、情報処理装置１００は、ステップＳ３１３の判定（処理）を行う。
【０２８７】
オブジェクト集合Ｒに含まれるオブジェクト数がｋｓを超える場合（ステップＳ３１１：Ｙｅｓ）、情報処理装置１００は、オブジェクト集合Ｒに含まれるオブジェクトの中でオブジェクトｙとの距離が最も長い（遠い）オブジェクトを、オブジェクト集合Ｒから除外する（ステップＳ３１２）。
【０２８８】
次に、情報処理装置１００は、オブジェクト集合Ｒに含まれるオブジェクト数がｋｓと一致するか否かを判定する（ステップＳ３１３）。オブジェクト集合Ｒに含まれるオブジェクト数がｋｓと一致しない場合（ステップＳ３１３：Ｎｏ）、情報処理装置１００は、ステップＳ３１５の判定（処理）を行う。また、オブジェクト集合Ｒに含まれるオブジェクト数がｋｓと一致する場合（ステップＳ３１３：Ｙｅｓ）、情報処理装置１００は、オブジェクト集合Ｒに含まれるオブジェクトの中でオブジェクトｙとの距離が最も長い（遠い）オブジェクトと、オブジェクトｙとの距離を、新たなｒに設定する（ステップＳ３１４）。
【０２８９】
そして、情報処理装置１００は、オブジェクトｓの近傍オブジェクト集合Ｎ（Ｇ，ｓ）の要素であるオブジェクトから全てのオブジェクトを選択してオブジェクト集合Ｃに格納し終えたか否かを判定する（ステップＳ３１５）。オブジェクトｓの近傍オブジェクト集合Ｎ（Ｇ，ｓ）の要素であるオブジェクトから全てのオブジェクトを選択してオブジェクト集合Ｃに格納し終えていない場合（ステップＳ３１５：Ｎｏ）、情報処理装置１００は、ステップＳ３０６に戻って処理を繰り返す。
【０２９０】
オブジェクトｓの近傍オブジェクト集合Ｎ（Ｇ，ｓ）の要素であるオブジェクトから全てのオブジェクトを選択してオブジェクト集合Ｃに格納し終えた場合（ステップＳ３１５：Ｙｅｓ）、情報処理装置１００は、オブジェクト集合Ｓが空集合であるか否かを判定する（ステップＳ３１６）。オブジェクト集合Ｓが空集合でない場合（ステップＳ３１６：Ｎｏ）、情報処理装置１００は、ステップＳ３０２に戻って処理を繰り返す。また、オブジェクト集合Ｓが空集合である場合（ステップＳ３１６：Ｙｅｓ）、情報処理装置１００は、オブジェクト集合Ｒを出力し、処理を終了する（ステップＳ３１７）。例えば、情報処理装置１００は、オブジェクト集合Ｒに含まれるオブジェクト（ノード）や変更した基準により抽出したオブジェクト（ノード）を検索クエリ（入力オブジェクトｙ）に対応する検索結果として、検索を行った端末装置１０等へ提供してもよい。図１及び図２の例では、情報処理装置１００は、オブジェクト集合Ｒに含まれるノードＮ８３やノードＮ６７やノードＮ９や、変更した基準により抽出したノードＮ１を検索クエリ（アイテムＸ）に対応する検索結果として、ユーザＵ１が利用する端末装置１０等へ提供してもよい。例えば、情報処理装置１００は、ノードＮ８３に対応するアイテム＃８３や、ノードＮ６７に対応するアイテム＃６７や、ノードＮ９に対応するアイテム＃９や、ノードＮ１に対応するアイテム＃１等をアイテムＸの対象アイテムとしてユーザＵ１が利用する端末装置１０に提供する。
【０２９１】
〔７．効果〕
上述してきたように、実施形態に係る情報処理装置１００は、取得部１３１と、検索部１３４とを有する。取得部１３１は、複数のアイテムの各々に対応する複数のノードが、複数のアイテムの類似性に応じて連結されたグラフ情報と、アイテムに関するクエリ情報を取得する。検索部１３４は、取得部１３１により取得されたグラフ情報の複数のノードのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ノードを起点として、グラフ情報を検索することにより、複数のアイテムのうち、クエリ情報と類似性を有するアイテムである類似アイテムを対象アイテムとして抽出し、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、対象アイテムの抽出基準を変更して対象アイテムを抽出する。
【０２９２】
このように、実施形態に係る情報処理装置１００は、複数のアイテムのうち、クエリ情報と類似性を有するアイテムである類似アイテムを対象アイテムとして抽出し、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、対象アイテムの抽出基準を変更して対象アイテムを抽出することにより、アイテムを適切に抽出することができる。
【０２９３】
また、実施形態に係る情報処理装置１００は、決定部１３３を有する。決定部１３３は、起点ノードの決定に用いるインデックス情報に基づいて、起点ノードを決定する。検索部１３４は、決定部１３３により決定された起点ノードを起点として、対象アイテムを抽出する。
【０２９４】
このように、実施形態に係る情報処理装置１００は、起点ノードの決定に用いるインデックス情報に基づいて、起点ノードを決定することにより、アイテムを適切に抽出することができる。
【０２９５】
また、実施形態に係る情報処理装置１００において、決定部１３３は、木構造型のインデックス情報に基づいて、起点ノードを決定する。
【０２９６】
このように、実施形態に係る情報処理装置１００は、木構造型のインデックス情報に基づいて、起点ノードを決定することにより、アイテムを適切に抽出することができる。
【０２９７】
また、実施形態に係る情報処理装置１００において、取得部１３１は、複数のアイテムの各々に対応する複数のベクトルの類似性に応じて、複数のノードが連結されたグラフ情報を取得する。
【０２９８】
このように、実施形態に係る情報処理装置１００は、複数のアイテムの各々に対応する複数のベクトルの類似性に応じて、複数のノードが連結されたグラフ情報を取得することにより、アイテムを適切に抽出することができる。
【０２９９】
また、実施形態に係る情報処理装置１００において、取得部１３１は、複数のアイテムの各々の特徴を示す複数のベクトルが類似性に応じて連結されたグラフ情報を取得する。
【０３００】
このように、実施形態に係る情報処理装置１００は、複数のアイテムの各々の特徴を示す複数のベクトルが類似性に応じて連結されたグラフ情報を取得することにより、アイテムを適切に抽出することができる。
【０３０１】
また、実施形態に係る情報処理装置１００において、取得部１３１は、複数のアイテムの各々から抽出された特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得する。
【０３０２】
このように、実施形態に係る情報処理装置１００は、複数のアイテムの各々から抽出された特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得することにより、アイテムを適切に抽出することができる。
【０３０３】
また、実施形態に係る情報処理装置１００において、取得部１３１は、所定のモデルの特徴量と重みとに基づく複数のベクトルが類似性に応じて連結されたグラフ情報を取得する。
【０３０４】
このように、実施形態に係る情報処理装置１００は、所定のモデルの特徴量と重みとに基づく複数のベクトルが類似性に応じて連結されたグラフ情報を取得することにより、異なる複数の基準に応じてアイテムを適切に抽出することができる。
【０３０５】
また、実施形態に係る情報処理装置１００において、検索部１３４は、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、重みを変更し、対象アイテムを抽出する。
【０３０６】
このように、実施形態に係る情報処理装置１００は、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、重みを変更し、対象アイテムを抽出することにより、アイテムを適切に抽出することができる。
【０３０７】
また、実施形態に係る情報処理装置１００において、取得部１３１は、複数の観点の各々に対応する複数のエッジ群であって、各エッジ群に対応する観点に基づく複数のアイテムの類似性に応じて複数のノードを連結する複数のエッジ群を含むグラフ情報を取得する。
【０３０８】
このように、実施形態に係る情報処理装置１００は、複数の観点の各々に対応する複数のエッジ群であって、各エッジ群に対応する観点に基づく複数のアイテムの類似性に応じて複数のノードを連結する複数のエッジ群を含むグラフ情報を取得することにより、アイテムを適切に抽出することができる。
【０３０９】
また、実施形態に係る情報処理装置１００において、取得部１３１は、複数のアイテムのユーザビリティに関する類似性に応じて複数のアイテムを連結するエッジ群を含む複数のエッジ群を取得する。
【０３１０】
このように、実施形態に係る情報処理装置１００は、複数のアイテムのユーザビリティに関する類似性に応じて複数のアイテムを連結するエッジ群を含む複数のエッジ群を取得することにより、各アイテムのユーザビリティに応じてアイテムを適切に抽出することができる。
【０３１１】
また、実施形態に係る情報処理装置１００において、取得部１３１は、複数のアイテムの収益性に関する類似性に応じて複数のアイテムを連結するエッジ群を含む複数のエッジ群を取得する。
【０３１２】
このように、実施形態に係る情報処理装置１００は、複数のアイテムの収益性に関する類似性に応じて複数のアイテムを連結するエッジ群を含む複数のエッジ群を取得することにより、各アイテムの収益性に応じてアイテムを適切に抽出することができる。
【０３１３】
また、実施形態に係る情報処理装置１００において、決定部１３３は、複数のエッジ群のうち、検索に用いるエッジ群を決定する。検索部１３４は、決定部１３３により決定されたエッジ群を用いて対象アイテムを抽出する。
【０３１４】
このように、実施形態に係る情報処理装置１００は、複数のエッジ群のうち、検索に用いるエッジ群を決定し、決定したエッジ群を用いて対象アイテムを抽出することにより、複数の観点に応じてアイテムを適切に抽出することができる。
【０３１５】
また、実施形態に係る情報処理装置１００において、検索部１３４は、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、検索に用いるエッジ群から他のエッジ群に変更し、対象アイテムを抽出する。
【０３１６】
このように、実施形態に係る情報処理装置１００は、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、検索に用いるエッジ群から他のエッジ群に変更し、対象アイテムを抽出することにより、各アイテムのユーザビリティに応じてアイテムを適切に抽出することができる。
【０３１７】
また、実施形態に係る情報処理装置１００において、検索部１３４は、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、グラフ以外の情報を用いて対象アイテムを抽出する。
【０３１８】
このように、実施形態に係る情報処理装置１００は、グラフ情報の検索時において対象アイテムに関する所定の条件を満たす場合、グラフ以外の情報を用いて対象アイテムを抽出することにより、各アイテムのユーザビリティに応じてアイテムを適切に抽出することができる。
【０３１９】
また、実施形態に係る情報処理装置１００において、検索部１３４は、グラフ情報の検索時において所定の要素が共通する対象アイテムの数が所定の閾値以上となる場合、グラフ以外の情報を用いて対象アイテムを抽出する。
【０３２０】
このように、実施形態に係る情報処理装置１００は、グラフ情報の検索時において所定の要素が共通する対象アイテムの数が所定の閾値以上となる場合、グラフ以外の情報を用いて対象アイテムを抽出することにより、各アイテムのユーザビリティに応じてアイテムを適切に抽出することができる。
【０３２１】
また、実施形態に係る情報処理装置１００において、検索部１３４は、グラフ情報の検索時においてカテゴリが共通する対象アイテムの数が所定の閾値以上となる場合、グラフ以外の情報を用いてカテゴリとは異なるカテゴリのアイテムを対象アイテムとして抽出する。
【０３２２】
このように、実施形態に係る情報処理装置１００は、グラフ情報の検索時においてカテゴリが共通する対象アイテムの数が所定の閾値以上となる場合、グラフ以外の情報を用いてカテゴリとは異なるカテゴリのアイテムを対象アイテムとして抽出することにより、各アイテムのユーザビリティに応じてアイテムを適切に抽出することができる。
【０３２３】
また、実施形態に係る情報処理装置１００において、取得部１３１は、一のアイテムに関するアイテム情報をクエリ情報として取得する。
【０３２４】
このように、実施形態に係る情報処理装置１００は、一のアイテムに関するアイテム情報をクエリ情報として取得することにより、アイテムを適切に抽出することができる。
【０３２５】
また、実施形態に係る情報処理装置１００において、取得部１３１は、ユーザに関するユーザ情報をクエリ情報として取得する。
【０３２６】
このように、実施形態に係る情報処理装置１００は、ユーザに関するユーザ情報をクエリ情報として取得することにより、アイテムを適切に抽出することができる。
【０３２７】
また、実施形態に係る情報処理装置１００は、提供部１３５を有する。提供部１３５は、検索部１３４により抽出された対象アイテムに基づいて、所定のサービスを提供する。
【０３２８】
このように、実施形態に係る情報処理装置１００は対象アイテムに基づいて、所定のサービスを提供することにより、対象アイテムに関する情報を用いたサービスを適切に提供することができる。
【０３２９】
また、実施形態に係る情報処理装置１００において、提供部１３５は、対象アイテムに基づいて、情報提供サービスを提供する。
【０３３０】
このように、実施形態に係る情報処理装置１００は、対象アイテムに基づいて、情報提供サービスを提供することにより、対象アイテムに関する情報を用いたサービスを適切に提供することができる。
【０３３１】
〔８．ハードウェア構成〕
上述してきた実施形態に係る情報処理装置１００は、例えば図１５に示すような構成のコンピュータ１０００によって実現される。図１５は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read  Only  Memory）１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０３３２】
ＣＰＵ１１００は、ＲＯＭ１３００またはＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０３３３】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス１５００は、ネットワークＮを介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータをネットワークＮを介して他の機器へ送信する。
【０３３４】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、生成したデータを入出力インターフェイス１６００を介して出力装置へ出力する。
【０３３５】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラムまたはデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０３３６】
例えば、コンピュータ１０００が実施形態に係る情報処理装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムまたはデータ（例えば、モデルＭ１（モデルデータＭＤＴ１））を実行することにより、制御部１３０の機能を実現する。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムまたはデータ（例えば、モデルＭ１（モデルデータＭＤＴ１））を記録媒体１８００から読み取って実行するが、他の例として、他の装置からネットワークＮを介してこれらのプログラムを取得してもよい。
【０３３７】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０３３８】
〔９．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０３３９】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０３４０】
また、上述してきた各実施形態に記載された各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０３４１】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【０３４２】
１  情報処理システム
１００  情報処理装置
１２１  アイテム情報記憶部
１２２  インデックス情報記憶部
１２３  グラフ情報記憶部
１２４  モデル情報記憶部
１３０  制御部
１３１  取得部
１３２  生成部
１３３  決定部
１３４  検索部
１３５  提供部
１０  端末装置
５０  情報提供装置
Ｎ  ネットワーク
【図１】
2019159966.tif 000003
【図２】
2019159966.tif 000004
【図３】
2019159966.tif 000005
【図４】
2019159966.tif 000006
【図５】
2019159966.tif 000007
【図６】
2019159966.tif 000008
【図７】
2019159966.tif 000009
【図８】
2019159966.tif 000010
【図９】
2019159966.tif 000011
【図１０】
2019159966.tif 000012
【図１１】
2019159966.tif 000013
【図１２】
2019159966.tif 000014
【図１３】
2019159966.tif 000015
【図１４】
2019159966.tif 000016
【図１５】
2019159966.tif 000017