(57)【要約】【課題】ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成すること。【解決手段】本願に係る生成装置は、取得部と、生成部とを有する。取得部は、ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含む第１グラフであって、各ノードに属性情報が対応付けられた第１グラフを取得する。生成部は、取得部により取得された第１グラフに含まれる複数のノードを分類した所定のクラスタに属するノードの属性情報に基づいて、エッジを変更した第２グラフを生成する。【選択図】図３
2019071102.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含む第１グラフであって、各ノードに属性情報が対応付けられた第１グラフを取得する取得部と、
前記取得部により取得された前記第１グラフに含まれる複数のノードを分類した所定のクラスタに属するノードの属性情報に基づいて、前記エッジを変更した第２グラフを生成する生成部と、
を備えたことを特徴とする生成装置。
【請求項２】
前記生成部は、
前記第１グラフに含まれる前記所定のクラスタに属するノードの属性情報に基づいて、属性情報に対応するカテゴリを変更したカテゴリ情報に基づいて、前記エッジを変更した第２グラフを生成する
ことを特徴とする請求項１に記載の生成装置。
【請求項３】
前記生成部は、
前記第１グラフに含まれる前記所定のクラスタに属するノードに共通する属性情報が複数ある場合、当該属性情報に対応するカテゴリを統合したカテゴリ情報に基づいて、前記エッジを変更した第２グラフを生成する
ことを特徴とする請求項２に記載の生成装置。
【請求項４】
前記生成部は、
前記第１グラフに含まれる複数の前記クラスタの各々に属するノードに共通する属性情報がある場合、当該属性情報に対応するカテゴリを分割したカテゴリ情報に基づいて、前記エッジを変更した第２グラフを生成する
ことを特徴とする請求項２または請求項３に記載の生成装置。
【請求項５】
前記取得部は、
属性情報として前記各ノードに対応するユーザと所定の関係を有する対象のカテゴリ情報が前記各ノードに対応付けられた前記第１グラフを取得する
ことを特徴とする請求項１〜４のいずれか１項に記載の生成装置。
【請求項６】
前記取得部は、
属性情報として前記各ノードに対応するユーザが購入した商品のカテゴリ情報が前記各ノードに対応付けられた前記第１グラフを取得する
ことを特徴とする請求項５に記載の生成装置。
【請求項７】
前記取得部は、
属性情報として前記各ノードに対応するユーザの属性情報が前記各ノードに対応付けられた前記第１グラフを取得する
ことを特徴とする請求項５に記載の生成装置。
【請求項８】
前記取得部は、
属性情報として前記各ノードに対応するユーザの職業のカテゴリ情報が前記各ノードに対応付けられた前記第１グラフを取得する
ことを特徴とする請求項７に記載の生成装置。
【請求項９】
前記取得部は、
属性情報として前記対象を分類する階層構造に応じてカテゴリを変更したカテゴリ情報が前記各ノードに対応付けられた前記第１グラフを取得する
ことを特徴とする請求項５〜８のいずれか１項に記載の生成装置。
【請求項１０】
前記生成部は、
前記取得部により取得された前記第１グラフにおける前記複数のノードのうち、第１ノード及び第２ノードと第３ノードとの関係性に基づいて、前記第１ノードと前記第２ノードとの間のエッジを変更した前記第２グラフを生成する
ことを特徴とする請求項１〜９のいずれか１項に記載の生成装置。
【請求項１１】
前記生成部は、
前記第１ノード及び前記第２ノードとの間がエッジで連結された第３ノードとの関係性に基づいて、前記第２グラフを生成する
ことを特徴とする請求項１０に記載の生成装置。
【請求項１２】
前記生成部は、
前記第１ノードと前記第３ノードとの類似度と、前記第２ノードと前記第３ノードとの類似度とに基づいて、前記第２グラフを生成する
ことを特徴とする請求項１１に記載の生成装置。
【請求項１３】
前記生成部は、
前記第１ノード及び前記第２ノードとの間がエッジで連結された前記第３ノードの数に基づいて、前記第２グラフを生成する
ことを特徴とする請求項１２に記載の生成装置。
【請求項１４】
前記生成部は、
前記第１ノードの属性情報及び前記第２ノードの属性情報と前記第３ノードの属性情報との関係性に基づいて、前記第２グラフを生成する
ことを特徴とする請求項１０〜１３のいずれか１項に記載の生成装置。
【請求項１５】
前記取得部は、
各ノードに第１カテゴリの属性情報と第２カテゴリの属性情報とが対応付けられた第１グラフを取得し、
前記生成部は、
第１ノードの第１カテゴリの属性情報及び第２ノードの第１カテゴリの属性情報と第３ノードの第１カテゴリの属性情報との関係性に基づいて、第１カテゴリの第２グラフを生成し、第１ノードの第２カテゴリの属性情報及び第２ノードの第２カテゴリの属性情報と第３ノードの第２カテゴリの属性情報との関係性に基づいて、第２カテゴリの第２グラフを生成し、前記第１カテゴリの第２グラフと前記第２カテゴリの第２グラフとに基づいて、第２グラフを生成する
ことを特徴とする請求項１０〜１４のいずれか１項に記載の生成装置。
【請求項１６】
前記取得部は、
各第１の主体と所定の関係を有する第２の主体が所定の条件を満たす第１の主体に対応するノード間をエッジで連結した前記第１グラフを取得する
ことを特徴とする請求項１〜１５のいずれか１項に記載の生成装置。
【請求項１７】
前記取得部は、
前記第１の主体である買主と取引を行った第２の主体である売主に関する情報が所定の条件を満たす買主に対応するノード間を連結した前記第１グラフを取得する
ことを特徴とする請求項１６に記載の生成装置。
【請求項１８】
前記取得部は、
前記第１の主体である買主と所定の関係を有する前記第２の主体である売主の集合が所定の条件を満たす買主に対応するノード間をエッジで連結した前記第１グラフを取得する
ことを特徴とする請求項１７に記載の生成装置。
【請求項１９】
前記取得部は、
買主に対応するノードのうち、所定の回数以上の取引を行った売主の集合間の類似度が所定の閾値以上となるノード間をエッジで連結した前記第１グラフを取得する
ことを特徴とする請求項１８に記載の生成装置。
【請求項２０】
コンピュータが実行する生成方法であって、
ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含む第１グラフであって、各ノードに属性情報が対応付けられた第１グラフを取得する取得工程と、
前記取得工程により取得された前記第１グラフに含まれる複数のノードを分類した所定のクラスタに属するノードの属性情報に基づいて、前記エッジを変更した第２グラフを生成する生成工程と、
を含むことを特徴とする生成方法。
【請求項２１】
ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含む第１グラフであって、各ノードに属性情報が対応付けられた第１グラフを取得する取得手順と、
前記取得手順により取得された前記第１グラフに含まれる複数のノードを分類した所定のクラスタに属するノードの属性情報に基づいて、前記エッジを変更した第２グラフを生成する生成手順と、
をコンピュータに実行させることを特徴とする生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成装置、生成方法、及び生成プログラムに関する。
【背景技術】
【０００２】
従来、グラフにおけるノード間のエッジ（連結）の有無に基づいて、クラスタリングを行う技術が提供されている。例えば、グラフ中のあるノードおよびそのノードに接続したノードの集合に基づいて、クラスタ構造を抽出する技術が提供されている。例えば、グラフ中のあるノードに接続したノードの集合と他のノードに接続したノードの集合とにおいて共通するノードの数に基づいて、局所的にクラスタリングを行う技術が提供されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１５６１６３号公報
【非特許文献】
【０００４】
【非特許文献１】T. Uno et al. Micro-clustering，“Finding small clusters in  large diversity.”CoRR, 2015.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、ネットワーク上における主体（例えば、ユーザ）を所望の関係性に基づいて連結するグラフを適切に生成できるとは限らない。例えば、あるノードに接続したノードの集合と他のノードに接続したノードの集合とにおいて共通するノードの数に基づいて、クラスタリングを行う場合、共通するノードの数によりクラスタリングを行うかを決定することとなる。このような場合、各ノードを所望の関係性に基づいて連結するグラフを適切に生成することは難しい。
【０００６】
本願は、上記に鑑みてなされたものであって、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成する生成装置、生成方法、及び生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る生成装置は、ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含む第１グラフであって、各ノードに属性情報が対応付けられた第１グラフを取得する取得部と、前記取得部により取得された前記第１グラフに含まれる複数のノードを分類した所定のクラスタに属するノードの属性情報に基づいて、前記エッジを変更した第２グラフを生成する生成部と、を備えたことを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る生成処理の一例を示す図である。
【図２】図２は、実施形態に係る生成処理の一例を示す図である。
【図３】図３は、実施形態に係る生成装置の構成例を示す図である。
【図４】図４は、実施形態に係る取引情報記憶部の一例を示す図である。
【図５】図５は、実施形態に係る第１グラフ情報記憶部の一例を示す図である。
【図６】図６は、実施形態に係るカテゴリ情報記憶部の一例を示す図である。
【図７】図７は、実施形態に係る属性情報記憶部の一例を示す図である。
【図８】図８は、実施形態に係るスコア情報記憶部の一例を示す図である。
【図９】図９は、実施形態に係る第２グラフ情報記憶部の一例を示す図である。
【図１０】図１０は、実施形態に係る生成処理手順を示すフローチャートである。
【図１１】図１１は、変形例に係る生成装置の構成例を示す図である。
【図１２】図１２は、変形例に係る属性情報記憶部の一例を示す図である。
【図１３】図１３は、カテゴリの統合の一例を示す図である。
【図１４】図１４は、カテゴリの分割の一例を示す図である。
【図１５】図１５は、複数の第２グラフを統合した第２グラフの生成の一例を示す図である。
【図１６】図１６は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る生成装置、生成方法、及び生成プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法、及び生成プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１１】
（実施形態）
〔１−１．生成処理（第１グラフ）〕
図１及び図２では、電子商取引（例えば、インターネットショッピング）における買主（ユーザ）をノードとし、買主（ノード）間をエッジで連結したグラフを生成する場合を示す。図１では、生成装置１００（図３参照）が、買主が商品を購入した売主の共通性に基づいて、買主間をエッジで連結したグラフ（以下、「第１グラフ」ともいう）を生成する場合を示す。また、図２では、生成装置１００が、第１グラフに含まれるノード間のエッジを変更したグラフ（以下、「第２グラフ」ともいう）を生成する場合を示す。
【００１２】
まず、図１を用いて、実施形態に係る生成処理の一例について説明する。図１は、実施形態に係る生成処理の一例を示す図である。具体的には、図１は、第１グラフの生成処理の一例を示す図である。
【００１３】
図１に示す例においては、生成装置１００は、取引一覧表ＴＬ１１に示すような電子商取引における買主と売主（ユーザ）との対応に基づいて第１グラフＧ１１を生成する（ステップＳ１）。なお、各ユーザは、買主と売主との一方に含まれてもよいし、両方に含まれてもよい。例えば、取引一覧表ＴＬ１１は、図４に示す取引情報記憶部１２１に記憶された取引情報に基づいて導出される。取引一覧表ＴＬ１１に示すように、買主（ノード）は、買主ＩＤ（ノードＩＤ）「Ｎ１１」〜「Ｎ１４」や「Ｎ２１」〜「Ｎ２４」等により識別される買主（ノード）が含まれる。以下では、買主ＩＤ「Ｎ１１」により識別されるノードをノードＮ１１と記載する。他の買主ＩＤにより識別されるノードも同様に記載する。例えば、買主ＩＤ「Ｎ２１」により識別されるノードをノードＮ２１と記載する。なお、図１に示す例において、説明のために取引一覧表ＴＬ１１中の８個のノードＮ１１〜Ｎ１４、Ｎ２１〜Ｎ２４のみを図示するが、取引一覧表ＴＬ１１には、電子商取引における買主の数、例えば１００万のノードが含まれてもよい。
【００１４】
また、取引一覧表ＴＬ１１に示すように、売主は、売主ＩＤ「ＳＲ１１」〜「ＳＲ１４」や「ＳＲ２１」〜「ＳＲ２４」等により識別される売主が含まれる。以下では、売主ＩＤ「ＳＲ１１」により識別される売主を売主ＳＲ１１と記載する。他の売主ＩＤにより識別される売主も同様に記載する。例えば、売主ＩＤ「ＳＲ２１」により識別される売主を売主ＳＲ２１と記載する。
【００１５】
取引一覧表ＴＬ１１において、縦の行に示すノードＮ１１〜Ｎ１４、Ｎ２１〜Ｎ２４等と、横の列に示す売主ＳＲ１１〜ＳＲ１４、ＳＲ２１〜ＳＲ２４との各々が交差するマス目の数値は、対応する買主と売主とが商取引を行った回数を示す。例えば、ノードＮ１１と売主ＳＲ１１とが交差するマス目（左上のマス目）の数値「５」は、ノードＮ１１に対応する買主と、売主ＳＲ１１に対応する売主とが５回取引を行ったことを示す。また、例えば、ノードＮ２２と売主ＳＲ２２とが交差するマス目の数値「１０」は、ノードＮ２２に対応する買主と、売主ＳＲ２２に対応する売主とが１０回取引を行ったことを示す。
【００１６】
ここで、生成装置１００は、第１の主体である買主に対応するノードのうち、所定の回数以上の取引を行った第２の主体である売主の集合間の類似度が所定の閾値以上となるノード間をエッジで連結した第１グラフを生成する。図１では、生成装置１００は、買主に対応するノードのうち、５回以上の取引を行った売主の集合間のジャッカード係数が０．２以上となるノード間をエッジで連結した第１グラフＧ１１を生成する。すなわち、図１では、所定の閾値を５回とし、売主の集合間の類似度を示す指標値としてジャッカード係数を用いた場合を示す。
【００１７】
図１に示す第１グラフＧ１１には、８個のノードＮ１１〜Ｎ１４、Ｎ２１〜Ｎ２４を図示する。各ノードＮ１１〜Ｎ１４、Ｎ２１〜Ｎ２４は、取引一覧表ＴＬ１１中に含まれる買主に対応する。例えば、第１グラフＧ１１中のノードＮ１１は、取引一覧表ＴＬ１１中の買主ＩＤ「Ｎ１１」により識別されるノード（買主）に対応する。なお、図１に示す例において、説明のために第１グラフＧ１１中の８個のノードＮ１１〜Ｎ１４、Ｎ２１〜Ｎ２４のみを図示するが、第１グラフＧ１１には、取引一覧表ＴＬ１１に含まれる買主の数、例えば１００万のノードが含まれてもよい。
【００１８】
図１の例では、取引一覧表ＴＬ１１に示すように、ノードＮ１１に対応する買主は、売主ＳＲ１１に対応する売主から商品を購入した回数（以下、「取引数」ともいう）が５回である。すなわち、ノードＮ１１に対応する買主は、売主ＳＲ１１に対応する売主から商品を購入した回数（取引数）が所定の閾値以上となる買主である。また、ノードＮ１１に対応する買主は、売主ＳＲ１３に対応する売主から商品を購入した回数が７回である。すなわち、ノードＮ１１に対応する買主は、売主ＳＲ１３に対応する売主から商品を購入した回数が所定の閾値以上となる買主である。すなわち、ノードＮ１１に対応する買主について、取引数が所定の閾値以上の売主の集合（以下、「ノードＮ１１の売主集合」ともいう）には、売主ＳＲ１１や売主ＳＲ１３等が含まれる。また、取引一覧表ＴＬ１１に示すように、ノードＮ１３に対応する買主は、売主ＳＲ１１に対応する売主から商品を購入した回数が６回である。すなわち、ノードＮ１３に対応する買主は、売主ＳＲ１１に対応する売主から商品を購入した回数が所定の閾値以上となる買主である。また、ノードＮ１３に対応する買主は、売主ＳＲ１４に対応する売主から商品を購入した回数が７回である。すなわち、ノードＮ１３に対応する買主は、売主ＳＲ１４に対応する売主から商品を購入した回数が所定の閾値以上となる買主である。すなわち、ノードＮ１３に対応する買主について、取引数が所定の閾値以上の売主の集合（以下、「ノードＮ１３の売主集合」ともいう）には、売主ＳＲ１１や売主ＳＲ１４等が含まれる。ここで、生成装置１００は、ノードＮ１１の売主集合とノードＮ１３の売主集合とのジャッカード係数が０．２以上となる場合、ノードＮ１１とノードＮ１３との間をエッジで連結する。ここで、上述の例において、ノードＮ１１の売主集合に含まれる売主を売主ＳＲ１１、売主ＳＲ１３とし、ノードＮ１３の売主集合に含まれる売主を売主ＳＲ１１、売主ＳＲ１４とした場合を例に説明する。この場合、ノードＮ１１とノードＮ１３との売主集合間のジャッカード係数（ｓｉｍ）は、「ｓｉｍ＝（ノードＮ１１の売主集合とノードＮ１３の売主集合との積集合）／（ノードＮ１１の売主集合とノードＮ１３の売主集合との和集合）」により算出される。すなわち、ノードＮ１１とノードＮ１３との売主集合間のジャッカード係数（ｓｉｍ）は、「ｓｉｍ＝１／３（０．３３・・・）」となる。具体的には、ノードＮ１１とノードＮ１３との売主集合間のジャッカード係数（ｓｉｍ）の分母は、ノードＮ１１の売主集合とノードＮ１３の売主集合との和集合の要素数、すなわち売主ＳＲ１１、ＳＲ１３、ＳＲ１４の「３」となる。また、ノードＮ１１とノードＮ１３との売主集合間のジャッカード係数（ｓｉｍ）の分子は、ノードＮ１１の売主集合とノードＮ１３の売主集合との積集合の要素数、すなわち売主ＳＲ１１の「１」となる。このように、ノードＮ１１の売主集合とノードＮ１３の売主集合との間のジャッカード係数（ｓｉｍ）は、「０．３３・・・」となり、閾値「０．２」以上となるため、生成装置１００は、ノードＮ１１とノードＮ１３とをエッジで連結した第１グラフＧ１１を生成する。なお、ジャッカード係数（ｓｉｍ）の算出を例示するために、上記のノードＮ１１の売主集合やノードＮ１３の売主集合は、２つの要素のみを含む場合を例示したが、ノードＮ１１の売主集合やノードＮ１３の売主集合は、多数の要素が含まれてもよい。
【００１９】
また、図１の例では、取引一覧表ＴＬ１１に示すように、ノードＮ２１に対応する買主は、売主ＳＲ２２に対応する売主から商品を購入した回数が６回である。そのため、ノードＮ２１に対応する買主について、取引数が所定の閾値以上の売主の集合（以下、「ノードＮ２１の売主集合」ともいう）には、売主ＳＲ２２等が含まれる。また、取引一覧表ＴＬ１１に示すように、ノードＮ２２に対応する買主は、売主ＳＲ２２に対応する売主から商品を購入した回数が１０回である。そのため、ノードＮ２１に対応する買主について、取引数が所定の閾値以上の売主の集合（以下、「ノードＮ２２の売主集合」ともいう）には、売主ＳＲ２２等が含まれる。また、取引一覧表ＴＬ１１に示すように、ノードＮ２４に対応する買主は、売主ＳＲ２２に対応する売主から商品を購入した回数が８回である。そのため、ノードＮ２１に対応する買主について、取引数が所定の閾値以上の売主の集合（以下、「ノードＮ２４の売主集合」ともいう）には、売主ＳＲ２２等が含まれる。また、図１の例では、ノードＮ２１の売主集合とノードＮ２２の売主集合との間のジャッカード係数（ｓｉｍ）は、０．２以上であるものとする。また、ノードＮ２１の売主集合とノードＮ２４の売主集合との間のジャッカード係数（ｓｉｍ）は、０．２以上であるものとする。また、ノードＮ２２の売主集合とノードＮ２４の売主集合との間のジャッカード係数（ｓｉｍ）は、０．２以上であるものとする。これにより、生成装置１００は、ノードＮ２１とノードＮ２２とノードＮ２４との各々をエッジで連結した第１グラフＧ１１を生成する。このように、生成装置１００は、図１に示すような第１グラフＧ１１を生成する。なお、生成装置１００は、ジャッカード係数に限らず、種々の指標に基づいて第１グラフを生成してもよい。例えば、生成装置１００は、買主に対応するノードのうち、所定の回数以上の取引を行った売主の集合の積集合に含まれる売主の数が所定の閾値（例えば「２」等）以上となるノード間をエッジで連結した第１グラフを生成してもよい。
【００２０】
〔１−２．生成処理（第２グラフ）〕
次に、図２を用いて、実施形態に係る生成処理の一例について説明する。図２は、実施形態に係る生成処理の一例を示す図である。具体的には、図２は、第２グラフの生成処理の一例を示す図である。なお、図２では、生成装置１００が図１に示す第１グラフの生成処理により第１グラフを生成するか、外部装置から第１グラフを取得済みである場合を例に説明する。なお、図２に示す例では、ノードの属性情報として、各ノードに対応する買主（ユーザ）が購入した商品のカテゴリ情報が用いられた場合を示す。
【００２１】
また、図２に示す例では、商品のカテゴリ情報として、図６に示すカテゴリ情報記憶部１２３に示すカテゴリのうち第２階層が用いられた場合を示す。すなわち、図２に示す例では、生成装置１００は、属性情報記憶部１２４に示すような各ノードＮ１１〜Ｎ１４、Ｎ２１〜Ｎ２４が購入した商品のカテゴリ情報を属性情報として用いる。具体的には、属性情報記憶部１２４に示す横の列のカテゴリＣ１１は、第１階層である「本、雑誌」のカテゴリＣ１の下位の第２階層である「文芸」（図６参照）に対応する。すなわち、図２に示す例では、ノードＮ１１に対応する買主は、「文芸」のカテゴリＣ１１に属する商品を５回購入したことを示す。また、具体的には、属性情報記憶部１２４に示す横の列のカテゴリＣ２１は、第１階層である「ファッション」のカテゴリＣ２の下位の第２階層である「レディース」（図６参照）に対応する。すなわち、図２に示す例では、ノードＮ２２に対応する買主は、「レディース」のカテゴリＣ２１に属する商品を７回購入したことを示す。例えば、各ノードＮ１１〜Ｎ１４、Ｎ２１〜Ｎ２４が購入した商品のカテゴリ情報は、横の列がｋ列、すなわちｋ次元のベクトルで表現される。この場合、各ノードＮ１１〜Ｎ１４、Ｎ２１〜Ｎ２４の属性情報は、横の列がｋ列、すなわちｋ次元のベクトルで表現される。
【００２２】
図２では、生成装置１００は、第１グラフＧ１１から第２グラフＧ１２を生成する（ステップＳ２）。ここで、生成装置１００は、第１グラフＧ１１における一のノード（以下、「第１ノード」ともいう）と他のノード（以下、「第２ノード」ともいう）との間をエッジで連結するかの基準となるスコアを算出する。以下、スコアを算出する対象とする第１ノード及び第２ノード以外のノードを第３ノードとする場合がある。例えば、生成装置１００は、第１グラフＧ１１において第１ノードに連結された第３ノードと第１ノードとの類似度や、第１グラフＧ１１において第２ノードに連結された第３ノードと第２ノードとの類似度に基づいて、スコアを算出する。例えば、生成装置１００は、以下のような式（１）を用いて、第１ノードと第２ノードとの組み合わせにおけるスコアを算出する。
【００２３】
【数１】
2019071102.tif 000003
【００２４】
上記式（１）中の左辺に示すｆ（ｕ，ｖ）は、ノードｕとノードｖとの組み合わせにおけるスコアを示す。また、上記式（１）中の右辺に示すＪ（Ｕ，ｎａ）は、ノードｕと第３ノード（例えばノードｎ）との属性情報の類似度を示す。すなわち、上記式（１）中の「Ｕ」は、ノードｕの属性情報のベクトル（例えば、ｋ次元のベクトル）を示す。また、上記式（１）中の「ｎａ」は、ノードｎの属性情報のベクトル（例えば、ｋ次元のベクトル）を示す。また、上記式（１）中の右辺に示すＪ（Ｖ，ｎａ）は、ノードｖと第３ノード（例えばノードｎ）との属性情報の類似度を示す。すなわち、上記式（１）中の「Ｖ」は、ノードｖの属性情報のベクトル（例えば、ｋ次元のベクトル）を示す。ここで、関数Ｊは、例えばジャッカード類似度に対応する。例えば、関数Ｊの値は、以下の式（２）のように算出される。
【００２５】
【数２】
2019071102.tif 000004
【００２６】
上記の式（２）では、説明のために、Ｊ（Ｕ，Ｖ）とし、ノードｕとノードｖとの属性情報の類似度を示す。すなわち、上記式（２）中の「Ｕ」は、ノードｕの属性情報のベクトル（例えば、ｋ次元のベクトル）を示し、「Ｖ」は、ノードｖの属性情報のベクトル（例えば、ｋ次元のベクトル）を示す。例えば、上記式（２）中の右辺に示すｕｉ（以下、「第１指数」ともいう）は、ノードｕの属性情報のｉ次元の要素に対応する値を示す。例えば、ｕｉは、属性情報記憶部１２４に示す情報中において、ノードｕの属性情報のｉ次元の要素に対応する商品の購入回数が所定の基準値以上である場合に「１」であり、所定の基準値未満である場合に「０」であるような値となる。また、例えば、上記式（２）中の右辺に示すｖｉ（以下、「第２指数」ともいう）は、ノードｖの属性情報のｉ次元の要素に対応する値を示す。
【００２７】
例えば、ノードｕがノードＮ１１であり、ｉが１である場合、ｕ１は、ノードＮ１１の属性情報の１次元の要素、例えばカテゴリＣ１１に対応する値を示す。例えば、ノードｕがノードＮ１１であり、ｉが１であり、所定の基準値を３とした場合、ｕ１は、属性情報記憶部１２４に示す情報中において、ノードｕの属性情報の１次元の要素、例えばカテゴリＣ１１に対応する商品の購入回数が５であり、所定の基準値以上であるため、「１」となる。上記式（２）中の右辺における分母は、属性情報の各次元（例えば、１〜ｋ次元）における第１指数ｕｉと第２指数ｖｉとのうち最大値の合計を示す。また、上記式（２）中の右辺における分子は、属性情報の各次元（例えば、１〜ｋ次元）における第１指数ｕｉと第２指数ｖｉとのうち最小値の合計を示す。例えば、上記の式（２）のＪ（Ｕ，Ｖ）は、０〜１の値となる。なお、第１指数ｕｉや第２指数ｖｉには、対応するノードｕやノードｖの属性情報における商品の購入回数の値が用いられてもよい。
【００２８】
ここから、上記式（１）に戻って説明する。上記式（１）中のＮ（ｕ）は、ノードｕに連結する第３ノードの集合を示す。なお、ここでいう、ノードｕに連結する第３ノードには、ノードｕに直接エッジにより連結されるノードに限らず、他の第３ノードを経由して間接的にノードｕに連結されるノードも含まれるものとする。なお、どの範囲までのノードをＮ（ｕ）に含めるかは、目的等に応じて適宜設定されてもよい。例えば、上記式（１）中のＮ（ｕ）には、ノードｕにエッジで連結されたノードに連結されるノードまでを含めてもよい。上記式（１）中のＮ（ｖ）は、ノードｖに連結する第３ノードの集合を示す。なお、どの範囲までのノードをＮ（ｖ）に含めるかは、上述したＮ（ｕ）と同様に目的等に応じて適宜設定されてもよい。
【００２９】
上記式（１）中の右辺における分母は、ノードｕに連結する第３ノードとノードｖに連結する第３ノードとの和集合における、各第３ノードとノードｕとの属性類似度と、各第３ノードとノードｖとの属性類似度とのうち値が最大の属性類似度の値の合計を示す。上記式（１）中の右辺における分子は、ノードｕに連結する第３ノードとノードｖに連結する第３ノードとの積集合における、各第３ノードとノードｕとの属性類似度と、各第３ノードとノードｖとの属性類似度とのうち値が最小の属性類似度の値の合計を示す。例えば、上記の式（１）のｆ（ｕ，ｖ）は、０〜１の値となる。
【００３０】
生成装置１００は、上記式（１）により算出されたスコアと、所定の閾値とに基づいて、第１ノードと第２ノードとの間のエッジを変更した第２グラフＧ１２を生成する。例えば、生成装置１００は、上記式（１）により算出されたスコアと、所定の閾値とに基づいて、第１グラフＧ１１においてノード間を連結したエッジを解除したり、ノード間を新たなエッジにより連結したりすることにより、第２グラフＧ１２を生成する。
【００３１】
例えば、所定の閾値を０．５とするものとする。この場合、生成装置１００は、例えば、上記式（１）により算出されたスコアが０．５以上である場合、スコアに対応する第１ノードと第２ノードとの間をエッジで連結する。例えば、生成装置１００は、第１グラフＧ１１においてエッジで連結された第１ノードと第２ノードのスコアが０．５以上である場合、スコアに対応する第１ノードと第２ノードとの間を連結するエッジを維持する。また、例えば、生成装置１００は、第１グラフＧ１１においてエッジで連結されていない第１ノードと第２ノードのスコアが０．５以上である場合、スコアに対応する第１ノードと第２ノードとの間をエッジで連結する。また、例えば、生成装置１００は、第１グラフＧ１１においてエッジで連結された第１ノードと第２ノードのスコアが０．５未満である場合、スコアに対応する第１ノードと第２ノードとの間を連結するエッジを解除する。
【００３２】
図２の例では、生成装置１００は、第１グラフＧ１１においてエッジで連結されていないノードＮ１１とノードＮ１２のスコアが０．８であり閾値以上であるため、第２グラフＧ１２において、ノードＮ１１とノードＮ１２との間をエッジで連結する。また、図２の例では、生成装置１００は、第１グラフＧ１１においてエッジで連結されたノードＮ１１とノードＮ１３のスコアが０．７であり閾値以上であるため、第２グラフＧ１２においても、ノードＮ１１とノードＮ１３との間を連結するエッジを維持する。また、図２の例では、生成装置１００は、第１グラフＧ１１においてエッジで連結されたノードＮ２１とノードＮ２２のスコアが０．２であり閾値未満であるため、第２グラフＧ１２において、ノードＮ２１とノードＮ２２との間を連結するエッジを解除する。
【００３３】
このように、生成装置１００は、第１グラフＧ１１における複数のノードのうち、第１ノードの属性情報及び第２ノードの属性情報と第３ノードの属性情報との関係性に基づいて、第１ノードと第２ノードとの間のエッジを変更した第２グラフＧ１２を生成する。これにより、生成装置１００は、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【００３４】
また、例えば、生成装置１００は、第２グラフＧ１２に含まれるクリーク（極大クリーク）等に基づいて、ノードをクラスタリングしてもよい。例えば、ここでいうクリークとは、そのクリークに含まれる各ノード間が全て連結されたノード群を意味する。なお、生成装置１００は、マイクロクラスタリング等の従来手法を適宜用いてノードをクラスタリングしてもよい。例えば、生成装置１００は、非特許文献１に記載されたクリーク計算処理を用いて、ノードをクラスタリングしてもよい。また、例えば、生成装置１００は、グラフのクリーク・極大クリークを抽出する処理（プログラム）、例えばＭＡＣＥ（MAximal  Clique  Enumerater）を用いてもよい。なお、上記は一例であり、生成装置１００は、どのような手段によりノードをクラスタリングしてもよい。
【００３５】
例えば、生成装置１００は、第２グラフＧ１２において各ノード間がエッジで連結されたノード群を１つのクラスタとしてクラスタリングしてもよい。例えば、生成装置１００は、第２グラフＧ１２に含まれるノードＮ１１とノードＮ１２とノードＮ１３とは、全てのノードがエッジで連結されたクリークである。例えば、生成装置１００は、第２グラフＧ１２に含まれるノードＮ１１とノードＮ１２とノードＮ１３とを１つのクラスタとしてクラスタリングしてもよい。また、例えば、生成装置１００は、第２グラフＧ１２に含まれるノードＮ１１とノードＮ１２とノードＮ１４とを１つのクラスタとしてクラスタリングしてもよい。また、第２グラフＧ１２において、ノードＮ１３とノードＮ１４とがエッジで連結される場合、生成装置１００は、ノードＮ１１とノードＮ１２とノードＮ１３とノードＮ１４とを１つのクラスタとしてクラスタリングしてもよい。
【００３６】
なお上述した例では、買主に対応するノード間をエッジで連結した第１グラフを用いる場合を示したが、生成装置１００は、買主に限らず種々の主体に対応するノード間をエッジで連結した第１グラフを用いてもよい。例えば、生成装置１００は、所定のＳＮＳ（Social  Networking  Service）における主体（ユーザ）に対応するノード間をエッジで連結した第１グラフを用いてもよい。例えば、生成装置１００は、ネットワーク（Ｗｅｂ）上におけるユーザ（人間）の相関関係を示すソーシャルグラフを第１グラフとしても用いてもよい。すなわち、生成装置１００は、ネットワーク上におけるユーザの相関関係を示すグラフを第１グラフとして用いてもよい。なお、ノードには、ソーシャルグラフに含まれる主体（ユーザ）全体が含まれてもよいし、所定の条件を満たす一部の主体（ユーザ）が含まれてもよい。また、例えば、ノードには実空間上に対象物（主体）であれば、ユーザに限らず、種々の対象物に対応付けられてもよい。例えば、いわゆるＩｏＴ（Internet  of  Things）等に関する種々の技術により電子機器同士が相互に通信可能な場合、例えばウェアラブル端末等の各電子機器を１つの主体として、各電子機器をノードに対応付けてもよい。この場合、主体（ユーザ）に対応する概念には、ユーザが使用する電子機器やユーザに操作に依らず自律的に動作する電子機器等、人間以外の種々の行動主体が含まれてもよい。上述のように、生成装置１００は、ユーザに限らず、種々の対象物（主体）に対応づけられたノード間をエッジで連結した第１グラフを用いて、第２グラフを生成してもよい。すなわち、生成装置１００は、ユーザや電子機器が混在した第１グラフを用いて、第２グラフを生成してもよい。例えば、生成装置１００は、ユーザに対応するノードと電子機器に対応するノードとがエッジで連結された第１グラフを用いて、第２グラフを生成してもよい。このように、生成装置１００は、どのような主体に対応するノード間をエッジで連結した第１グラフを用いてもよい。すなわち、生成装置１００は、どのような第１グラフを用いて、第２グラフを生成してもよい。
【００３７】
〔２．生成装置の構成〕
次に、図３を用いて、実施形態に係る生成装置１００の構成について説明する。図３は、実施形態に係る生成装置の構成例を示す図である。生成装置１００は、第１グラフに基づいて、第２グラフを生成する情報処理装置である。図３に示すように、生成装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、生成装置１００は、各種の情報を表示する表示部や、各種の情報を入力する入力部を有してもよい。
【００３８】
（通信部１１０）
通信部１１０は、例えば、ＮＩＣ等によって実現される。そして、通信部１１０は、所定のネットワークと有線または無線で接続され、外部の情報処理装置との間で情報の送受信を行う。
【００３９】
（記憶部１２０）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部１２０は、図３に示すように、取引情報記憶部１２１と、第１グラフ情報記憶部１２２と、カテゴリ情報記憶部１２３と、属性情報記憶部１２４と、スコア情報記憶部１２５と、第２グラフ情報記憶部１２６とを有する。
【００４０】
（取引情報記憶部１２１）
実施形態に係る取引情報記憶部１２１は、取引情報を記憶する。図４は、実施形態に係る取引情報記憶部の一例を示す図である。図４に示す例においては、取引情報として、電子商取引における取引のログ情報が記憶される。例えば、取引情報記憶部１２１に記憶された取引情報は、第１グラフの生成に用いられる。図４に示すように、取引情報記憶部１２１は、取引情報として、「取引ＩＤ」、「買主ＩＤ（ノードＩＤ）」、「売主ＩＤ」、「商品ＩＤ」、「日時」等の項目を有する。なお、項目は上記に限らず、取引情報記憶部１２１は、取引された商品が属するカテゴリに関する項目や取引金額等に関する項目など、目的に応じて種々の項目を有してもよい。
【００４１】
「取引ＩＤ」は、電子商取引における各取引を識別するための識別情報を示す。「買主ＩＤ（ノードＩＤ）」は、対応する取引ＩＤにより識別される取引における買主である主体（ユーザ）を識別するための識別情報を示す。また、「売主ＩＤ」は、対応する取引ＩＤにより識別される取引における売主である主体（ユーザ）を識別するための識別情報を示す。なお、図４に示す例においては、買主ＩＤとして、ノードＩＤを用いた場合を示すが、ノードＩＤと対応付けられたユーザＩＤやショップＩＤを用いてもよい。また、ノードＩＤは、図１に示す各ノードの符号に対応する。例えば、ノードＩＤ「Ｎ１１」により識別される買主は、図１に示すノードＮ１１に対応する。すなわち、ノードＩＤ「Ｎ１１」により識別されるノードと、図１中のノードＮ１１とは同じノードを示し、図１に示す他のノードについても同様である。また、「商品ＩＤ」は、対応する取引ＩＤにより識別される取引において売買された商品を識別するための識別情報を示す。また、「日時」は、対応する取引ＩＤにより識別される取引が成立した日時を示す。
【００４２】
例えば、図４に示す例において、取引ＩＤ「Ｔ１１」により識別される取引は、買主ＩＤ（ノードＩＤ）「Ｎ１１」により識別されるノードに対応する買主が、売主ＩＤ「ＳＲ１１」により識別される売主から、商品ＩＤ「Ｇ１１」により識別される商品を、日時「２０１６/２/２２  １３:０５」に購入したことを示す。
【００４３】
（第１グラフ情報記憶部１２２）
実施形態に係る第１グラフ情報記憶部１２２は、第１グラフに関する情報（以下、「第１グラフ情報」や単に「第１グラフ」ともいう）を記憶する。図５は、実施形態に係る第１グラフ情報記憶部の一例を示す図である。図５に示すように、第１グラフ情報記憶部１２２は、第１グラフ情報として、ノードＩＤ（買主ＩＤ）により識別される買主に対応するノード間を連結するエッジの有無を記憶する。例えば、ノード間を連結するエッジが有る場合は「１」を記憶し、ノード間を連結するエッジが無い場合は「０」を記憶する。
【００４４】
例えば、図５に示す例において、ノードＩＤ「Ｎ１１」の行とノードＩＤ「Ｎ１２」の列とが交差する領域には、ノードＩＤ「Ｎ１１」により識別される買主に対応するノードとノードＩＤ「Ｎ１２」により識別される買主に対応するノードとの間におけるエッジの有無が記憶される。図５に示す例においては、ノードＩＤ「Ｎ１１」の行とノードＩＤ「Ｎ１２」の列とが交差する領域には、「０」が記憶される。つまり、ノードＩＤ「Ｎ１１」により識別される買主に対応するノードとノードＩＤ「Ｎ１２」により識別される買主に対応するノードとの間にはエッジが連結されていないことを示す。また、図５に示す例においては、ノードＩＤ「Ｎ１１」の行とノードＩＤ「Ｎ１３」の列とが交差する領域には、「１」が記憶される。つまり、ノードＩＤ「Ｎ１１」により識別される買主に対応するノードとノードＩＤ「Ｎ１３」により識別される買主に対応するノードとの間にはエッジが連結されていることを示す。このように、第１グラフ情報記憶部１２２において「１」が記憶された領域に対応するノード間にはエッジが連結されていることを示す。
【００４５】
また、図５に示す例において、ノードＩＤ「Ｎ１２」の行とノードＩＤ「Ｎ１１」の列とが交差する領域には、ノードＩＤ「Ｎ１１」の行とノードＩＤ「Ｎ１２」の列とが交差する領域と同様の情報が記憶される。なお、生成装置１００は、ノードＩＤ「Ｎ１１」の行とノードＩＤ「Ｎ１２」の列とが交差する領域かノードＩＤ「Ｎ１２」の行とノードＩＤ「Ｎ１１」の列とが交差する領域かのいずれか一方のみを記憶してもよい。なお、ノードＩＤ「Ｎ１１」の行とノードＩＤ「Ｎ１１」の列とが交差する領域には、「０」を記憶してもよい。他のノードＩＤ「Ｎ１２」等についても同様である。また、図５に示す例においては、ノードＩＤとノードＩＤとの行列（マトリクス）の形状で記憶される場合を一例として図示したが、第１グラフ情報を記憶できれば、どのように記憶されてもよい。例えば、第１グラフ情報は、各ノードＩＤに対してエッジが張られているノードＩＤ、すなわち各ノードＩＤと連結されているノードＩＤのリストを保存する辞書の形状で記憶されてもよい。
【００４６】
（カテゴリ情報記憶部１２３）
実施形態に係るカテゴリ情報記憶部１２３は、カテゴリに関する情報（以下、「カテゴリ情報」ともいう）を記憶する。図６は、実施形態に係るカテゴリ情報記憶部の一例を示す図である。図６に示す例においては、取引される商品を分類するカテゴリに関する情報が記憶される。図６に示すように、カテゴリ情報記憶部１２３は、カテゴリ情報として、「第１階層」、「第２階層」、「第３階層」の項目を有する。なお、項目は上記に限らず、カテゴリ情報記憶部１２３は、カテゴリの階層構造に応じて「第４階層」や「第５階層」等の項目を有してもよい。
【００４７】
「第１階層」には、「本、雑誌」のカテゴリＣ１や「ファッション」のカテゴリＣ２等が含まれる。また、第１階層である「本、雑誌」のカテゴリＣ１の下位の「第２階層」には、「文芸」のカテゴリＣ１１や「子ども」のカテゴリＣ１２等が含まれる。また、第２階層である「文芸」のカテゴリＣ１１の下位の「第３階層」には、「ファンタジー」のカテゴリＣ１１１や「ノンフィクション」のカテゴリＣ１１２や「歴史」のカテゴリＣ１１３等が含まれる。なお、上記のカテゴリ階層は一例であり、目的に応じて種々のカテゴリ階層が構成されてもよい。また、カテゴリ情報記憶部１２３に記憶されるカテゴリ情報は、適宜変更されてもよい。この点については後述する。
【００４８】
（属性情報記憶部１２４）
実施形態に係る属性情報記憶部１２４は、買主（ユーザ）の属性に関する情報（以下、「属性情報」ともいう）を記憶する。図７は、実施形態に係る属性情報記憶部の一例を示す図である。図７に示す例においては、属性情報記憶部１２４には、買主（ユーザ）が購入した商品のカテゴリ情報が属性情報として記憶される。図７に示すように、属性情報記憶部１２４は、属性情報として、ノードＩＤ（買主ＩＤ）により識別される買主が購入した商品のカテゴリごとにその購入回数を記憶する。
【００４９】
例えば、図７に示す例においては、ノードＮ１１に対応する買主は、「文芸」のカテゴリＣ１１に属する商品を５回購入し、「子ども」のカテゴリＣ１２に属する商品を購入したことがないことを示す。また、例えば、図７に示す例においては、ノードＮ１２に対応する買主は、「文芸」のカテゴリＣ１１に属する商品を４回購入し、「子ども」のカテゴリＣ１２に属する商品を１回購入したことを示す。
【００５０】
（スコア情報記憶部１２５）
実施形態に係るスコア情報記憶部１２５は、各ノードの組み合わせにおけるスコアに関する情報（以下、「スコア情報」ともいう）を記憶する。図８は、実施形態に係るスコア情報記憶部の一例を示す図である。図８に示す例においては、第１ノードと第２ノードとの組み合わせごとに算出されたスコアが記憶される。図８に示すように、スコア情報記憶部１２５は、スコア情報として、「買主ＩＤ（ノードＩＤ）」、「スコア」の項目を有する。また、「買主ＩＤ（ノードＩＤ）」には、「第１ノード」、「第２ノード」の項目が含まれる。なお、項目は上記に限らず、スコア情報記憶部１２５は、目的に応じて種々の項目を有してもよい。
【００５１】
「第１ノード」及び「第２ノード」は、対応するスコアを算出する対象となった一組のノードを示す。「スコア」は、対応する一組のノードについて算出されたスコアを示す。
【００５２】
例えば、図８に示す例においては、ノードＮ１１とノードＮ１２との一組のノードについて算出されたスコアが「０．８」であることを示す。また、例えば、図８に示す例においては、ノードＮ１１とノードＮ１３との一組のノードについて算出されたスコアが「０．７」であることを示す。また、例えば、図８に示す例においては、ノードＮ２１とノードＮ２２との一組のノードについて算出されたスコアが「０．２」であることを示す。
【００５３】
（第２グラフ情報記憶部１２６）
実施形態に係る第２グラフ情報記憶部１２６は、第２グラフに関する情報（以下、「第２グラフ情報」や単に「第２グラフ」ともいう）を記憶する。図９は、実施形態に係る第２グラフ情報記憶部の一例を示す図である。図９に示すように、第２グラフ情報記憶部１２６は、第２グラフ情報として、ノードＩＤ（買主ＩＤ）により識別される買主に対応するノード間を連結するエッジの有無を記憶する。具体的には、第２グラフ情報記憶部１２６は、第１グラフ情報記憶部１２２に記憶された第１グラフ情報に基づいて生成された第２グラフ情報を記憶する。例えば、ノード間を連結するエッジが有る場合は「１」を記憶し、ノード間を連結するエッジが無い場合は「０」を記憶する。
【００５４】
例えば、図９に示す例において、ノードＩＤ「Ｎ１１」の行とノードＩＤ「Ｎ１２」の列とが交差する領域には、ノードＩＤ「Ｎ１１」により識別される買主に対応するノードとノードＩＤ「Ｎ１２」により識別される買主に対応するノードとの間におけるエッジの有無が記憶される。図９に示す例においては、ノードＩＤ「Ｎ１１」の行とノードＩＤ「Ｎ１２」の列とが交差する領域には、「１」が記憶される。つまり、ノードＩＤ「Ｎ１１」により識別される買主に対応するノードとノードＩＤ「Ｎ１２」により識別される買主に対応するノードとの間にはエッジが連結されていることを示す。このように、第２グラフ情報記憶部１２６に記憶された第２グラフ情報には、第１グラフ情報記憶部１２２に記憶された第１グラフ情報においてエッジが連結されていなかったノードＮ１１とノードＮ１２との間にエッジが連結されたことを示す。
【００５５】
例えば、図９に示す例において、ノードＩＤ「Ｎ２１」の行とノードＩＤ「Ｎ２２」の列とが交差する領域には、ノードＩＤ「Ｎ２１」により識別される買主に対応するノードとノードＩＤ「Ｎ２２」により識別される買主に対応するノードとの間におけるエッジの有無が記憶される。図９に示す例においては、ノードＩＤ「Ｎ２１」の行とノードＩＤ「Ｎ２２」の列とが交差する領域には、「０」が記憶される。つまり、ノードＩＤ「Ｎ２１」により識別される買主に対応するノードとノードＩＤ「Ｎ２２」により識別される買主に対応するノードとの間にはエッジが連結されていないことを示す。このように、第２グラフ情報記憶部１２６に記憶された第２グラフ情報には、第１グラフ情報記憶部１２２に記憶された第１グラフ情報においてエッジが連結されていたノードＮ２１とノードＮ２２との間のエッジが解除されたことを示す。
【００５６】
また、図９に示す例において、ノードＩＤ「Ｎ１２」の行とノードＩＤ「Ｎ１１」の列とが交差する領域には、ノードＩＤ「Ｎ１１」の行とノードＩＤ「Ｎ１２」の列とが交差する領域と同様の情報が記憶される。なお、生成装置１００は、ノードＩＤ「Ｎ１１」の行とノードＩＤ「Ｎ１２」の列とが交差する領域かノードＩＤ「Ｎ１２」の行とノードＩＤ「Ｎ１１」の列とが交差する領域かのいずれか一方のみを記憶してもよい。なお、ノードＩＤ「Ｎ１１」の行とノードＩＤ「Ｎ１１」の列とが交差する領域には、「０」を記憶してもよい。他のノードＩＤ「Ｎ１２」等についても同様である。また、図９に示す例においては、ノードＩＤとノードＩＤとの行列（マトリクス）の形状で記憶される場合を一例として図示したが、第２グラフ情報を記憶できれば、どのように記憶されてもよい。例えば、第２グラフ情報は、各ノードＩＤに対してエッジが張られているノードＩＤ、すなわち各ノードＩＤと連結されているノードＩＤのリストを保存する辞書の形状で記憶されてもよい。
【００５７】
（制御部１３０）
図３の説明に戻って、制御部１３０は、例えば、コントローラ（Controller）であり、ＣＰＵやＭＰＵ等によって、生成装置１００内部の記憶装置に記憶されている各種プログラム（生成プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、コントローラ（Controller）であり、ＡＳＩＣやＦＰＧＡ等の集積回路により実現される。
【００５８】
図３に示すように、制御部１３０は、取得部１３１と、第１生成部１３２と、第２生成部１３３と、送信部１３４とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図３に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部１３０が有する各処理部の接続関係は、図３に示した接続関係に限られず、他の接続関係であってもよい。
【００５９】
（取得部１３１）
取得部１３１は、各種情報を取得する。取得部１３１は、取引情報や第１グラフ情報等を取得する。例えば、取得部１３１は、電子商取引のサービスを提供する外部装置から取引情報を取得してもよい。また、取得部１３１は、電子商取引のサービスを提供する外部装置から取得した取引情報を取引情報記憶部１２１に格納する。また、例えば、取得部１３１は、属性情報記憶部１２４から属性情報を取得する。
【００６０】
また、取得部１３１は、第１グラフ情報等を取得する。例えば、取得部１３１は、各第１の主体と所定の関係を有する第２の主体が所定の条件を満たす第１の主体に対応するノード間をエッジで連結した第１グラフを取得する。例えば、取得部１３１は、各買主と所定の関係を有する売主の集合が所定の条件を満たす買主に対応するノード間をエッジで連結した第１グラフを取得する。例えば、取得部１３１は、買主に対応するノードのうち、所定の回数以上の取引を行った売主の集合間の類似度が所定の閾値以上となるノード間をエッジで連結した第１グラフを取得する。例えば、取得部１３１は、買主に対応するノードのうち、５回以上の取引を行った売主の集合間のジャッカード係数が０．２以上となるノード間をエッジで連結した第１グラフを取得する。例えば、取得部１３１は、各ノードに属性情報が対応付けられた第１グラフを取得する。例えば、取得部１３１は、属性情報として各ノードに対応するユーザと所定の関係を有する商品のカテゴリ情報が各ノードに対応付けられた第１グラフを取得する。例えば、取得部１３１は、属性情報として各ノードに対応するユーザが購入した商品のカテゴリ情報が各ノードに対応付けられた第１グラフを取得する。例えば、取得部１３１は、第１グラフ情報記憶部１２２から第１グラフ情報を取得する。また、例えば、取得部１３１は、外部装置から第１グラフ情報を取得してもよい。また、取得部１３１は外部装置から取得した第１グラフ情報を第１グラフ情報記憶部１２２に格納してもよい。また、取得部１３１は、属性情報として各ノードに対応するユーザの属性情報が各ノードに対応付けられた第１グラフを取得してもよい。取得部１３１は、各ノードに第１カテゴリの属性情報と第２カテゴリの属性情報とが対応付けられた第１グラフを取得する。なお、これらの点については後述する。
【００６１】
（第１生成部１３２）
第１生成部１３２は、取引情報に基づいて第１グラフを生成する。例えば、第１生成部１３２は、各買主と所定の関係を有する売主の集合が所定の条件を満たす買主に対応するノード間をエッジで連結した第１グラフを生成する。例えば、第１生成部１３２は、取引情報記憶部１２１に記憶された取引情報に基づいて、第１グラフを生成する。図１では、第１生成部１３２は、取引一覧表ＴＬ１１に示すような電子商取引における買主と売主（ユーザ）との対応に基づいて第１グラフＧ１１を生成する。例えば、第１生成部１３２は、買主に対応するノードのうち、所定の回数以上の取引を行った売主の集合間の類似度が所定の閾値以上となるノード間をエッジで連結した第１グラフを生成する。図１では、第１生成部１３２は、買主に対応するノードのうち、５回以上の取引を行った売主の集合間のジャッカード係数が０．２以上となるノード間をエッジで連結した第１グラフＧ１１を生成する。例えば、第１生成部１３２は、ノードＮ１１とノードＮ１３とをエッジで連結した第１グラフＧ１１を生成する。例えば、第１生成部１３２は、ノードＮ２１とノードＮ２２とノードＮ２４との各々をエッジで連結した第１グラフＧ１１を生成する。
【００６２】
なお、生成装置１００は、外部装置から第１グラフ情報を取得する場合、第１生成部１３２を有しなくてもよい。
【００６３】
（第２生成部１３３）
第２生成部１３３は、第１グラフに基づいて第２グラフを生成する生成部である。例えば、第２生成部１３３は、取得部１３１により取得された第１グラフにおける複数のノードのうち、第１ノード及び第２ノードと第３ノードとの関係性に基づいて、第１ノードと第２ノードとの間のエッジを変更した第２グラフを生成する。
【００６４】
また、第２生成部１３３は、第１ノード及び第２ノードとの間がエッジで連結された第３ノードとの関係性に基づいて、第２グラフを生成する。例えば、第２生成部１３３は、第１ノードと第３ノードとの類似度と、第２ノードと第３ノードとの類似度とに基づいて、第２グラフを生成する。例えば、第２生成部１３３は、第１ノード及び第２ノードとの間がエッジで連結された第３ノードの数に基づいて、第２グラフを生成する。
【００６５】
また、第２生成部１３３は、第１ノードの属性情報及び第２ノードの属性情報と第３ノードの属性情報との関係性に基づいて、第２グラフを生成する。また、例えば、第２生成部１３３は、属性情報として各ノードに対応するユーザが購入した商品のカテゴリ情報が各ノードに対応付けられた第１グラフに基づいて、第２グラフを生成する。
【００６６】
図２では、第２生成部１３３は、第１グラフＧ１１から第２グラフＧ１２を生成する。例えば、第２生成部１３３は、第１グラフＧ１１において第１ノードに連結された第３ノードと第１ノードとの類似度や、第１グラフＧ１１において第２ノードに連結された第３ノードと第２ノードとの類似度に基づいて、スコアを算出する。例えば、第２生成部１３３は、上記式（１）を用いて、第１ノードと第２ノードとの組み合わせにおけるスコアを算出する。
【００６７】
例えば、第２生成部１３３は、上記式（１）により算出されたスコアと、所定の閾値とに基づいて、第１ノードと第２ノードとの間のエッジを変更した第２グラフＧ１２を生成する。例えば、第２生成部１３３は、上記式（１）により算出されたスコアと、所定の閾値とに基づいて、第１グラフＧ１１においてノード間を連結したエッジを解除したり、ノード間を新たなエッジにより連結したりすることにより、第２グラフＧ１２を生成する。
【００６８】
例えば、図２の例では、第２生成部１３３は、上記式（１）により算出されたスコアが０．５以上である場合、スコアに対応する第１ノードと第２ノードとの間をエッジで連結する。例えば、第２生成部１３３は、第１グラフＧ１１においてエッジで連結された第１ノードと第２ノードのスコアが０．５以上である場合、スコアに対応する第１ノードと第２ノードとの間を連結するエッジを維持する。また、例えば、第２生成部１３３は、第１グラフＧ１１においてエッジで連結されていない第１ノードと第２ノードのスコアが０．５以上である場合、スコアに対応する第１ノードと第２ノードとの間をエッジで連結する。また、例えば、第２生成部１３３は、第１グラフＧ１１においてエッジで連結された第１ノードと第２ノードのスコアが０．５未満である場合、スコアに対応する第１ノードと第２ノードとの間を連結するエッジを解除する。
【００６９】
例えば、第２生成部１３３は、第１グラフＧ１１においてエッジで連結されていないノードＮ１１とノードＮ１２のスコアが０．８であり閾値以上であるため、第２グラフＧ１２において、ノードＮ１１とノードＮ１２との間をエッジで連結する。また、例えば、第２生成部１３３は、第１グラフＧ１１においてエッジで連結されたノードＮ１１とノードＮ１３のスコアが０．７であり閾値以上であるため、第２グラフＧ１２においても、ノードＮ１１とノードＮ１３との間を連結するエッジを維持する。また、例えば、第２生成部１３３は、第１グラフＧ１１においてエッジで連結されたノードＮ２１とノードＮ２２のスコアが０．２であり閾値未満であるため、第２グラフＧ１２において、ノードＮ２１とノードＮ２２との間を連結するエッジを解除する。
【００７０】
なお、第２生成部１３３は、上記の第２グラフの生成に限らず、以下のような各種処理を行ってもよい。例えば、第２生成部１３３は、第２グラフに含まれる所定のクラスタに属するノードの属性情報に基づいて、属性情報に対応するカテゴリを変更する。また、例えば、第２生成部１３３は、第２グラフに含まれる所定のクラスタに属するノードに共通する属性情報が複数ある場合、当該属性情報に対応するカテゴリを統合する。また、例えば、第２生成部１３３は、第２グラフに含まれる複数のクラスタの各々に属するノードに共通する属性情報がある場合、当該属性情報に対応するカテゴリを分割する。また、例えば、第２生成部１３３は、属性情報として各ノードに対応するユーザの属性情報が各ノードに対応付けられた第１グラフに基づいて、第２グラフを生成してもよい。また、例えば、第２生成部１３３は、第１ノードの第１カテゴリの属性情報及び第２ノードの第１カテゴリの属性情報と第３ノードの第１カテゴリの属性情報との関係性に基づいて、第１カテゴリの第２グラフを生成する。また、例えば、第２生成部１３３は、第１ノードの第２カテゴリの属性情報及び第２ノードの第２カテゴリの属性情報と第３ノードの第２カテゴリの属性情報との関係性に基づいて、第２カテゴリの第２グラフを生成する。また、例えば、第２生成部１３３は、第１カテゴリの第２グラフと第２カテゴリの第２グラフとに基づいて、第２グラフを生成する。なお、これらの点については後述する。
【００７１】
（送信部１３４）
送信部１３４は、各種情報を外部装置へ送信する。例えば、送信部１３４は、外部の情報処理装置に第２生成部１３３により生成された第２グラフ情報を送信してもよい。
【００７２】
〔３．生成処理のフロー〕
次に、図１０を用いて、実施形態に係る生成装置１００による生成処理の手順について説明する。図１０は、実施形態に係る生成装置１００による生成処理手順を示すフローチャートである。
【００７３】
図１０に示すように、生成装置１００の取得部１３１は、取引情報を取得する（ステップＳ１０１）。例えば、取得部１３１は、取引情報記憶部１２１から取引情報を取得する。そして、生成装置１００の第１生成部１３２は、取得部１３１により取得された取引情報に基づいて第１グラフを生成する（ステップＳ１０２）。例えば、第１生成部１３２は、第１グラフＧ１１を生成する。
【００７４】
その後、取得部１３１は、属性情報を取得する（ステップＳ１０３）。例えば、取得部１３１は、属性情報記憶部１２４から属性情報を取得する。そして、生成装置１００の第２生成部１３３は、ステップＳ１０２において生成された第１グラフとステップＳ１０３において取得された属性情報に基づいて、ノードの組み合わせごとにスコアを算出する（ステップＳ１０４）。例えば、第２生成部１３３は、上記式（１）を用いて、第１ノードと第２ノードとの組み合わせにおけるスコアを算出する。
【００７５】
そして、第２生成部１３３は、ステップＳ１０４において算出したスコアに基づいて、第２グラフを生成する（ステップＳ１０５）。例えば、第２生成部１３３は、第２グラフＧ１２を生成する。なお、ステップＳ１０４とステップＳ１０５は、繰り返し行われてもよい。例えば、生成装置１００は、各ノードの組み合わせごとにスコアを算出し、そのノード間のエッジを解除したり、そのノード間をエッジで連結したりする処理を繰り返してもよい。
【００７６】
〔４．変形例〕
上述した実施形態に係る生成装置１００は、上記実施形態以外にも種々の異なる形態にて実施されてもよい。そこで、以下では、生成装置１００の他の実施形態について説明する。
【００７７】
〔５．他の属性情報を有する生成装置の構成〕
上記例においては、ユーザ（買主）の属性情報として、買主が購入した商品のカテゴリ情報が用いられる場合を示したが、買主の属性情報は商品のカテゴリ情報に限らず種々の情報が用いられてもよい。すなわち、属性情報には種々の異なるカテゴリの属性情報が適宜用いられてもよい。この点について、図１１を用いて、変形例に係る生成装置１００Ａの構成について説明する。図１１は、変形例に係る生成装置の構成例を示す図である。なお、生成装置１００Ａにおいて、実施形態に係る生成装置１００と同様の構成は、同一の符号を付して説明を省略する。
【００７８】
図１１に示すように、生成装置１００Ａは、記憶部１２０Ａに属性情報記憶部１２４Ａやスコア情報記憶部１２５Ａや第２グラフ情報記憶部１２６Ａを有する点において生成装置１００と相違する。なお、図１１に示す例では、カテゴリ情報記憶部を図示しないが、生成装置１００Ａは、カテゴリ情報記憶部を有してもよい。
【００７９】
（属性情報記憶部１２４Ａ）
変形例に係る属性情報記憶部１２４Ａは、買主（ユーザ）の属性情報を記憶する。図１２は、変形例に係る属性情報記憶部の一例を示す図である。図１２に示す例においては、属性情報記憶部１２４Ａには、買主の人口統計学的属性（デモグラフィック属性）が属性情報として記憶される。図１２に示すように、属性情報記憶部１２４Ａは、属性情報として、ノードＩＤ（買主ＩＤ）により識別される買主の性別や年齢等に関するデモグラフィック属性を記憶する。なお、属性情報には、デモグラフィック属性に限らず、目的に応じて種々の情報が含まれてもよい。例えば、属性情報には、心理学的属性（サイコグラフィック属性）に関する情報が含まれてもよい。
【００８０】
例えば、図１２に示す例においては、縦の行の各ノードに対応する買主が、横の列の各属性情報に該当する場合には「１」を、属性情報に該当しない場合には「０」を記憶する。例えば、ノードＮ１１に対応する買主は、属性情報「男性」が「０」であり、属性情報「女性」が「１」であり、属性情報「２０代」が「１」であり、属性情報「３０代」が「０」である。すなわち、ノードＮ１１に対応する買主は、２０代女性のユーザであることを示す。
【００８１】
また、スコア情報記憶部１２５Ａや第２グラフ情報記憶部１２６Ａには、上記の属性情報記憶部１２４Ａに記憶された属性情報に基づいて算出されたスコアや第２グラフが記憶されるが、図示を省略する。
【００８２】
変形例に係る第２生成部１３３は、上記式（２）の第１指数ｕｉや第２指数ｖｉには、属性情報記憶部１２４Ａに示す情報中において、ノードｕの属性情報のｉ次元の領域に記憶された値を用いて、スコアを算出してもよい。
【００８３】
例えば、ノードｕがノードＮ１１であり、ｉが１である場合、ｕ１は、ノードＮ１１の属性情報の１次元の要素、例えば属性情報「男性」に対応する値を示す。例えば、ノードｕがノードＮ１１であり、ｉが１である場合、ｕ１は、属性情報記憶部１２４Ａに示す情報中において、ノードｕの属性情報の１次元の要素、例えば属性情報「男性」に対応する値「０」となる。また、例えば、ノードｕがノードＮ１１であり、ｉが２である場合、ｕ２は、属性情報記憶部１２４Ａに示す情報中において、ノードｕの属性情報の２次元の要素、例えば属性情報「女性」に対応する値「１」となる。変形例に係る第２生成部１３３は、上述したように属性情報記憶部１２４Ａに記憶された値を用いて、スコアを算出し、第２グラフを生成してもよい。
【００８４】
なお、生成装置１００Ａは、属性情報に対応するカテゴリ情報を記憶してもよい。例えば、生成装置１００Ａは、属性情報にユーザの職業等が含まれる場合、職業の階層構造を示すカテゴリ情報等を記憶するカテゴリ情報記憶部を有してもよい。また、上述した例では、生成装置１００Ａは、記憶部１２０Ａにカテゴリ情報記憶部１２３や属性情報記憶部１２４を有しない例を示したが、生成装置１００Ａは、記憶部１２０Ａにカテゴリ情報記憶部１２３や属性情報記憶部１２４を有してもよい。また、生成装置１００Ａは、カテゴリ情報記憶部１２３や属性情報記憶部１２４に対応するスコア情報記憶部１２５や第２グラフ情報記憶部１２６を有してもよい。すなわち、実施形態に係る生成装置１００と変形例に係る生成装置１００Ａとは統合されて１つの生成装置として用いられてもよい。
【００８５】
〔６．カテゴリの変更〕
なお、生成装置１００や生成装置１００Ａは、例えば、第２グラフに含まれるノードのクラスタリングの結果に応じて、カテゴリの変更を行ってもよい。この点について、図１３及び図１４を用いて説明する。例えば、以下のようなカテゴリの変更処理は、生成装置１００や生成装置１００Ａの第２生成部１３３が行ってもよい。なお、以下では、生成装置１００が処理を行う場合を例に示す。
【００８６】
〔６−１．カテゴリの統合〕
まず、図１３を用いて、カテゴリの統合について説明する。図１３は、カテゴリの統合の一例を示す図である。例えば、生成装置１００の第２生成部１３３は、第２グラフに含まれる所定のクラスタに属するノードに共通する属性情報が複数ある場合、当該属性情報に対応するカテゴリを統合する。
【００８７】
図１３に示す例では、生成装置１００は、カテゴリ情報ＣＬＴ１１−１に示すようなカテゴリ情報を用いる。カテゴリ情報ＣＬＴ１１−１中の「第１階層」には、「第１分類Ｃ」のカテゴリＣ３等が含まれる。また、第１階層である「第１分類Ｃ」のカテゴリＣ３の下位の「第２階層」には、「第２分類＿１」のカテゴリＣ３１等が含まれる。また、第２階層である「第２分類＿１」のカテゴリＣ３１の下位の「第３階層」には、「第３分類＿１」のカテゴリＣ３１１や「第３分類＿２」のカテゴリＣ３１２や「第３分類＿３」のカテゴリＣ３１３や「第３分類＿４」のカテゴリＣ３１４等が含まれる。
【００８８】
図１３に示す例では、生成装置１００は、生成した第２グラフにおけるノード間の連結に基づいて、各ノードをクラスタリングする。例えば、生成装置１００は、クラスタ一覧ＬＴ１１に示すように、生成した第２グラフにおいてエッジで連結されたノードＮ１１１やノードＮ１１２やノードＮ１１３をクラスタＣＬ１１としてクラスタリングする。また、例えば、生成装置１００は、生成した第２グラフにおいてエッジで連結された他のノード群をクラスタＣＬ１２としてクラスタリングする。
【００８９】
図１３に示す例では、クラスタ一覧ＬＴ１１に示すように、クラスタＣＬ１１に属するノードＮ１１１やノードＮ１１２やノードＮ１１３は、カテゴリＣ３１１とカテゴリＣ３１３との値が大きい点で共通する。そこで、生成装置１００は、カテゴリＣ３１１とカテゴリＣ３１３とを１つのカテゴリに統合する（ステップＳ２１）。例えば、生成装置１００は、図１３中のカテゴリ情報ＣＬＴ１１−２に示すように、カテゴリＣ３１１とカテゴリＣ３１３とを新たなカテゴリである「第３分類＿Ｉ−３」のカテゴリＣ３１１−３に統合する。
【００９０】
これにより、生成装置１００は、クラスタリングの結果に基づいてカテゴリを変更したカテゴリ情報を用いることにより、ノードの属性情報を反映した第２グラフを生成することができる。したがって、生成装置１００は、より適切なクラスタリングを行うことが可能となる。なお、図１３の例では、説明を簡単にするために、同じ第２階層である第２分類＿１であるカテゴリＣ３１の下位階層を統合する例を示したが、生成装置１００は、同じクラスタにクラスタリングされたノードの属性情報の類似性に基づいて、上位階層が異なるカテゴリを統合してもよい。また、上記の統合は一例であり、生成装置１００は、種々の条件に基づいて、カテゴリを統合してもよい。例えば、生成装置１００は、あるクラスタ中の半分（５０％）以上の買主が同じ２つのカテゴリの商品を購入している場合には、２つのカテゴリを統合してもよい。
【００９１】
〔６−２．カテゴリの分割〕
次に、図１４を用いて、カテゴリの分割について説明する。図１４は、カテゴリの分割の一例を示す図である。例えば、生成装置１００の第２生成部１３３は、第２グラフに含まれる複数のクラスタの各々に属するノードに共通する属性情報がある場合、当該属性情報に対応するカテゴリを分割する。
【００９２】
図１４に示す例では、生成装置１００は、カテゴリ情報ＣＬＴ２１−１に示すようなカテゴリ情報を用いる。カテゴリ情報ＣＬＴ２１−１中の「第１階層」には、「第１分類Ｃ」のカテゴリＣ４等が含まれる。また、第１階層である「第１分類Ｃ」のカテゴリＣ４の下位の「第２階層」には、「第２分類＿１」のカテゴリＣ４１等が含まれる。また、第２階層である「第２分類＿１」のカテゴリＣ４１の下位の「第３階層」には、「第３分類＿１」のカテゴリＣ４１１や「第３分類＿２」のカテゴリＣ４１２や「第３分類＿３」のカテゴリＣ４１３等が含まれる。
【００９３】
図１４に示す例では、生成装置１００は、生成した第２グラフにおけるノード間の連結に基づいて、各ノードをクラスタリングする。例えば、生成装置１００は、クラスタ一覧ＬＴ２１に示すように、生成した第２グラフにおいてエッジで連結されたノードＮ２１１やノードＮ２１２やノードＮ２１３をクラスタＣＬ２１としてクラスタリングする。また、例えば、生成装置１００は、クラスタ一覧ＬＴ２１に示すように、生成した第２グラフにおいてエッジで連結されたノードＮ２２１やノードＮ２２２をクラスタＣＬ２２としてクラスタリングする。
【００９４】
図１４に示す例では、クラスタ一覧ＬＴ２１に示すように、クラスタＣＬ２１に属するノードＮ２１１〜Ｎ２１３とクラスタＣＬ２２に属するノードＮ２２１〜Ｎ２２２とは、カテゴリＣ４１１の値が大きい点で共通する。そこで、生成装置１００は、カテゴリＣ４１１を２つのカテゴリに分割する（ステップＳ２６）。例えば、生成装置１００は、図１４中のカテゴリ情報ＣＬＴ２１−２に示すように、「第３分類＿Ｉ−１」のカテゴリＣ４１１−１と「第３分類＿Ｉ−２」のカテゴリＣ４１１−２との２つの新たなカテゴリに、カテゴリＣ４１１を分割する。例えば、生成装置１００は、「第３分類＿Ｉ−１」のカテゴリＣ４１１−１にクラスタＣＬ２１に属するノードＮ２１１〜Ｎ２１３の属性情報が含まれ、「第３分類＿Ｉ−２」のカテゴリＣ４１１−２にクラスタＣＬ２２に属するノードＮ２２１〜Ｎ２２２の属性情報が含まれるように、カテゴリＣ４１１を分割する。
【００９５】
これにより、生成装置１００は、クラスタリングの結果に基づいてカテゴリを変更したカテゴリ情報を用いることにより、ノードの属性情報を反映した第２グラフを生成することができる。したがって、生成装置１００は、より適切なクラスタリングを行うことが可能となる。なお、図１４の例では、説明を簡単にするために、同じ第２階層である第２分類＿１であるカテゴリＣ４１の下位階層に分割したカテゴリを配置する例を示したが、生成装置１００は、分割したカテゴリを分割前の上位階層とは異なる上位階層の下位階層のカテゴリとして配置してもよい。
【００９６】
〔７．アンサンブル〕
上述した例では、生成装置１００や生成装置１００Ａは、１つの属性情報に基づいて第２グラフを生成する場合を示したが、生成装置１００や生成装置１００Ａは、例えば、複数のカテゴリの属性情報に基づいて第２グラフを生成してもよい。言い換えると、生成装置１００や生成装置１００Ａは、ノードに複数の属性情報（ベクトル）が存在する場合に、それらを結合して１つのベクトルとして扱うのではなく、各属性情報に対応するクラスタリングをそれぞれ行い、それらを統合してひとつの結果（第２グラフやクラスタ）を生成してもよい。例えば、複数のカテゴリの属性情報に基づいて第２グラフを生成する処理は、生成装置１００や生成装置１００Ａの第２生成部１３３が行ってもよい。この点について、図１５を用いて説明する。図１５は、複数の第２グラフを統合した第２グラフの生成の一例を示す図である。なお、以下では、生成装置１００が処理を行う場合を例に示す。図１５の例では、生成装置１００は、第１カテゴリの属性情報Ａとして、例えば、各ノードに対応する買主（ユーザ）が購入した商品のカテゴリ情報を用いる。また、図１５では、生成装置１００は、第２カテゴリの属性情報Ｂとして、例えば、各ノードに対応する買主（ユーザ）のデモグラフィック属性に関する情報を用いる。
【００９７】
図１５に示す例では、生成装置１００は、第１グラフ情報ＮＬ３１に示すような第１グラフ情報を用いる。例えば、図１５に示す例において、ノードＩＤ「Ｎ３１１」の行とノードＩＤ「Ｎ３１２」の列とが交差する領域には、「０」が記憶される。つまり、ノードＩＤ「Ｎ３１１」により識別される買主に対応するノードとノードＩＤ「Ｎ３１２」により識別される買主に対応するノードとの間にはエッジが連結されていない。また、図１５に示す例においては、ノードＩＤ「Ｎ３１１」により識別される買主に対応するノードとノードＩＤ「Ｎ３１３」により識別される買主に対応するノードとの間にはエッジが連結されている。
【００９８】
図１５では、生成装置１００は、第１グラフ情報ＮＬ３１と属性情報Ａとを用いて第２グラフを生成する（ステップＳ３１）。そして、図１５に示す例では、生成装置１００は、生成した属性情報Ａの第２グラフにおけるノード間の連結に基づいて、各ノードをクラスタリングする。例えば、生成装置１００は、クラスタ一覧ＬＴ３１１に示すように、生成した第２グラフにおいてエッジで連結されたノードＮ３１１やノードＮ３１２やノードＮ３１３をクラスタＣＬ３１１としてクラスタリングする。
【００９９】
また、図１５では、生成装置１００は、第１グラフ情報ＮＬ３１と属性情報Ｂとを用いて第２グラフを生成する（ステップＳ３２）。そして、図１５に示す例では、生成装置１００は、生成した属性情報Ｂの第２グラフにおけるノード間の連結に基づいて、各ノードをクラスタリングする。例えば、生成装置１００は、クラスタ一覧ＬＴ３１２に示すように、生成した第２グラフにおいてエッジで連結されたノードＮ３１１やノードＮ３１２をクラスタＣＬ３２１としてクラスタリングする。また、例えば、生成装置１００は、クラスタ一覧ＬＴ３１２に示すように、生成した第２グラフにおいてエッジで連結されたノードＮ３１４やノードＮ３１５をクラスタＣＬ３２２としてクラスタリングする。
【０１００】
そして、生成装置１００は、第１カテゴリの第２グラフと第２カテゴリの第２グラフとに基づいて、第２グラフ（以下、「統合第２グラフ」ともいう）を生成する（ステップＳ３３）。図１５では、生成装置１００は、属性情報Ａの第２グラフと属性情報Ｂの第２グラフとに基づいて、統合第２グラフを生成する。具体的には、生成装置１００は、クラスタ一覧ＬＴ３１１に示すようなクラスタと、クラスタ一覧ＬＴ３１２に示すようなクラスタとに基づいて、クラスタ一覧ＬＴ３１に示すようなクラスタを含む統合第２グラフを生成する。
【０１０１】
図１５の例では、生成装置１００は、クラスタ一覧ＬＴ３１１に示すようなクラスタと、クラスタ一覧ＬＴ３１２に示すようなクラスタとの積集合を求める処理により、統合第２グラフを生成する。例えば、生成装置１００は、クラスタ一覧ＬＴ３１に示すように、ノードＮ３１１やノードＮ３１２が１つのクラスタＣＬ３１としてクラスタリングされた統合第２グラフを生成する。すなわち、生成装置１００は、ノードＮ３１１とノードＮ３１２とがエッジで連結された統合第２グラフを生成する。
【０１０２】
なお、生成装置１００は、クラスタ一覧ＬＴ３１１に示すようなクラスタと、クラスタ一覧ＬＴ３１２に示すようなクラスタとの和集合を求める処理により、統合第２グラフを生成してもよい。この場合、生成装置１００は、ノードＮ３１１やノードＮ３１２やノードＮ３１３が１つのクラスタとしてクラスタリングされ、ノードＮ３１４やノードＮ３１５が１つのクラスタとしてクラスタリングされた統合第２グラフを生成する。すなわち、生成装置１００は、ノードＮ３１１とノードＮ３１２とノードＮ３１３とがエッジで連結され、ノードＮ３１４とノードＮ３１５とがエッジで連結された統合第２グラフを生成する。
【０１０３】
このように、生成装置１００は、複数のカテゴリの属性情報を用いて統合第２グラフを生成することにより、各ノードの複数の属性情報を反映した第２グラフを生成することができる。したがって、生成装置１００は、より適切なクラスタリングを行うことが可能となる。上述した複数の第２グラフを統合する処理を行う場合、生成装置１００や生成装置１００Ａは、各カテゴリに対応するカテゴリ情報記憶部や、各属性情報に対応する属性情報記憶部やスコア情報記憶部や第２グラフ情報記憶部を有してもよい。また、生成装置１００や生成装置１００Ａは、統合した第２グラフを記憶する統合第２グラフ情報記憶部を有してもよい。
【０１０４】
なお、上述した統合第２グラフの生成は一例であり、生成装置１００は、種々の目的に応じて適宜の手法により統合第２グラフを生成してもよい。例えば、生成装置１００は、属性情報ごとの第２グラフにおいてクラスタに属するか否かの０，１のビットを立てて、全属性情報の第２グラフにおけるクラスタリングの結果を合算することでヒートマップを作成してもよい。この場合、生成装置１００は、所定の閾値を用いて各属性情報に対応する第２グラフのクラスタを統合した統合クラスタを抽出してもよい。また、生成装置１００は、属性情報ごとの第２グラフにおけるクラスタリングの結果に基づいて、クラスタの重心を求めて、重心に近いほど高いスコアをノードに付与することにより、ヒートマップを作成して統合クラスタを抽出してもよい。このように、例えば、生成装置１００は、各属性情報の第２グラフにおけるクラスタリングの結果を用いて、統合クラスタを抽出してもよい。例えば、生成装置１００は、ある属性情報の第２グラフ中のクラスタのうち、他の属性情報の第２グラフ中のクラスタと所定の閾値以上のノードが重複する場合、その重複するノード群を、統合クラスタとして抽出してもよい。このような統合クラスタを抽出する処理により、生成装置１００は、統合第２グラフを生成してもよい。なお、上記は一例であり、生成装置１００は、どのような基準により統合第２グラフを生成してもよい。
【０１０５】
〔８．効果〕
上述してきたように、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、取得部１３１と、生成部（実施形態においては、「第２生成部１３３」。以下、同じ）とを有する。取得部１３１は、ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含む第１グラフを取得する。生成部は、取得部１３１により取得された第１グラフにおける複数のノードのうち、第１ノード及び第２ノードと第３ノードとの関係性に基づいて、第１ノードと第２ノードとの間のエッジを変更した第２グラフを生成する。
【０１０６】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、第１ノード及び第２ノードと第３ノードとの関係性に基づいて、第１ノードと第２ノードとの間のエッジを変更した第２グラフを生成することにより、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１０７】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、生成部は、第１ノード及び第２ノードとの間がエッジで連結された第３ノードとの関係性に基づいて、第２グラフを生成する。
【０１０８】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、第１ノード及び第２ノードとの間がエッジで連結された第３ノードとの関係性に基づいて、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１０９】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、生成部は、第１ノードと第３ノードとの類似度と、第２ノードと第３ノードとの類似度とに基づいて、第２グラフを生成する。
【０１１０】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、第１ノードと第３ノードとの類似度と、第２ノードと第３ノードとの類似度とに基づいて、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１１１】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、生成部は、第１ノード及び第２ノードとの間がエッジで連結された第３ノードの数に基づいて、第２グラフを生成する。
【０１１２】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、第１ノード及び第２ノードとの間がエッジで連結された第３ノードの数に基づいて、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１１３】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、取得部１３１は、各第１の主体と所定の関係を有する第２の主体が所定の条件を満たす第１の主体に対応するノード間をエッジで連結した第１グラフを取得する。
【０１１４】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、各第１の主体と所定の関係を有する第２の主体が所定の条件を満たす第１の主体に対応するノード間をエッジで連結した第１グラフから、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１１５】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、取得部１３１は、第１の主体である買主と所定の関係を有する第２の主体である売主の集合が所定の条件を満たす買主に対応するノード間をエッジで連結した第１グラフを取得する。
【０１１６】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、買主に対応するノードのうち、各買主と所定の関係を有する売主の集合が所定の条件を満たす買主に対応するノード間をエッジで連結した第１グラフから、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１１７】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、取得部１３１は、買主に対応するノードのうち、所定の回数以上の取引を行った売主の集合間の類似度が所定の閾値以上となるノード間をエッジで連結した第１グラフを取得する。
【０１１８】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、買主に対応するノードのうち、所定の回数以上の取引を行った売主の集合間の類似度が所定の閾値以上となるノード間をエッジで連結した第１グラフから、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１１９】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、取得部１３１は、各ノードに属性情報が対応付けられた第１グラフを取得する。また、生成部は、第１ノードの属性情報及び第２ノードの属性情報と第３ノードの属性情報との関係性に基づいて、第２グラフを生成する。
【０１２０】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、第１ノードの属性情報及び第２ノードの属性情報と第３ノードの属性情報との関係性に基づいて、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１２１】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、取得部１３１は、属性情報として各ノードに対応するユーザと所定の関係を有する商品のカテゴリ情報が各ノードに対応付けられた第１グラフを取得する。
【０１２２】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、属性情報として各ノードに対応するユーザと所定の関係を有する商品のカテゴリ情報が各ノードに対応付けられた第１グラフから、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１２３】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、取得部１３１は、属性情報として各ノードに対応するユーザが購入した商品のカテゴリ情報が各ノードに対応付けられた第１グラフを取得する。
【０１２４】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、属性情報として各ノードに対応するユーザが購入した商品のカテゴリ情報が各ノードに対応付けられた第１グラフから、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１２５】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、取得部１３１は、属性情報として各ノードに対応するユーザの属性情報が各ノードに対応付けられた第１グラフを取得する。
【０１２６】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、属性情報として各ノードに対応するユーザの属性情報が各ノードに対応付けられた第１グラフから、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１２７】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、生成部は、第２グラフに含まれる所定のクラスタに属するノードの属性情報に基づいて、属性情報に対応するカテゴリを変更する。
【０１２８】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、第２グラフに含まれる所定のクラスタに属するノードの属性情報に基づいて、属性情報に対応するカテゴリを変更することにより、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１２９】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、生成部は、第２グラフに含まれる所定のクラスタに属するノードに共通する属性情報が複数ある場合、当該属性情報に対応するカテゴリを統合する。
【０１３０】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、クラスタリングの結果に基づいてカテゴリを変更したカテゴリ情報を用いることにより、ノードの属性情報を反映した第２グラフを生成することができる。したがって、生成装置１００，１００Ａは、より適切なクラスタリングを行うことが可能となる。これにより、生成装置１００，１００Ａは、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１３１】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、生成部は、第２グラフに含まれる複数のクラスタの各々に属するノードに共通する属性情報がある場合、当該属性情報に対応するカテゴリを分割する。
【０１３２】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、クラスタリングの結果に基づいてカテゴリを変更したカテゴリ情報を用いることにより、ノードの属性情報を反映した第２グラフを生成することができる。したがって、生成装置１００，１００Ａは、より適切なクラスタリングを行うことが可能となる。これにより、生成装置１００，１００Ａは、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１３３】
また、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａにおいて、取得部１３１は、各ノードに第１カテゴリの属性情報と第２カテゴリの属性情報とが対応付けられた第１グラフを取得する。また、生成部は、第１ノードの第１カテゴリの属性情報及び第２ノードの第１カテゴリの属性情報と第３ノードの第１カテゴリの属性情報との関係性に基づいて、第１カテゴリの第２グラフを生成し、第１ノードの第２カテゴリの属性情報及び第２ノードの第２カテゴリの属性情報と第３ノードの第２カテゴリの属性情報との関係性に基づいて、第２カテゴリの第２グラフを生成し、第１カテゴリの第２グラフと第２カテゴリの第２グラフとに基づいて、第２グラフを生成する。
【０１３４】
これにより、実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、複数のカテゴリの属性情報を用いて統合第２グラフを生成することにより、各ノードの複数の属性情報を反映した第２グラフを生成することができる。したがって、生成装置１００，１００Ａは、より適切なクラスタリングを行うことが可能となる。つまり、生成装置１００，１００Ａは、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【０１３５】
〔９．ハードウェア構成〕
上述してきた実施形態に係る生成装置１００及び変形例に係る生成装置１００Ａは、例えば図１６に示すような構成のコンピュータ１０００によって実現される。図１６は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ１３００、ＨＤＤ１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０１３６】
ＣＰＵ１１００は、ＲＯＭ１３００またはＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１３７】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス１５００は、所定のネットワークＮを介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータを所定のネットワークＮを介して他の機器へ送信する。
【０１３８】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、生成したデータを入出力インターフェイス１６００を介して出力装置へ出力する。
【０１３９】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラムまたはデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１４０】
例えば、コンピュータ１０００が実施形態に係る生成装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部１３０の機能を実現する。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置から所定のネットワークＮを介してこれらのプログラムを取得してもよい。
【０１４１】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１４２】
〔１０．その他〕
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１４３】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第１グラフを生成する装置と、第２グラフを生成する装置は別体であってもよい。
【０１４４】
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１４５】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【０１４６】
１００  生成装置
１２１  取引情報記憶部
１２２  第１グラフ情報記憶部
１２３  カテゴリ情報記憶部
１２４  属性情報記憶部
１２５  スコア情報記憶部
１２６  第２グラフ情報記憶部
１３０  制御部
１３１  取得部
１３２  第１生成部
１３３  第２生成部
１３４  送信部
【図１】
2019071102.tif 000005
【図２】
2019071102.tif 000006
【図３】
2019071102.tif 000007
【図４】
2019071102.tif 000008
【図５】
2019071102.tif 000009
【図６】
2019071102.tif 000010
【図７】
2019071102.tif 000011
【図８】
2019071102.tif 000012
【図９】
2019071102.tif 000013
【図１０】
2019071102.tif 000014
【図１１】
2019071102.tif 000015
【図１２】
2019071102.tif 000016
【図１３】
2019071102.tif 000017
【図１４】
2019071102.tif 000018
【図１５】
2019071102.tif 000019
【図１６】
2019071102.tif 000020