特開2017-162237(P2017-162237A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

▶ ヤフー株式会社の特許一覧
特開2017-162237生成装置、生成方法、及び生成プログラム
<>
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000005
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000006
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000007
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000008
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000009
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000010
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000011
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000012
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000013
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000014
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000015
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000016
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000017
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000018
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000019
  • 特開2017162237-生成装置、生成方法、及び生成プログラム 図000020
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2017-162237(P2017-162237A)
(43)【公開日】2017年9月14日
(54)【発明の名称】生成装置、生成方法、及び生成プログラム
(51)【国際特許分類】
   G06F 17/30 20060101AFI20170818BHJP
【FI】
   G06F17/30 419B
【審査請求】有
【請求項の数】17
【出願形態】OL
【全頁数】31
(21)【出願番号】特願2016-46694(P2016-46694)
(22)【出願日】2016年3月10日
(71)【出願人】
【識別番号】500257300
【氏名又は名称】ヤフー株式会社
【住所又は居所】東京都千代田区紀尾井町1番3号
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】山崎 朋哉
【住所又は居所】東京都港区赤坂九丁目7番1号 ヤフー株式会社内
(72)【発明者】
【氏名】清水 伸幸
【住所又は居所】東京都港区赤坂九丁目7番1号 ヤフー株式会社内
(72)【発明者】
【氏名】小林 隼人
【住所又は居所】東京都港区赤坂九丁目7番1号 ヤフー株式会社内
(72)【発明者】
【氏名】山内 智
【住所又は居所】東京都港区赤坂九丁目7番1号 ヤフー株式会社内
(57)【要約】
【課題】ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成すること。
【解決手段】本願に係る生成装置は、取得部と、生成部とを有する。取得部は、ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含む第1グラフを取得する。生成部は、取得部により取得された第1グラフにおける複数のノードのうち、第1ノード及び第2ノードと第3ノードとの関係性に基づいて、第1ノードと第2ノードとの間のエッジを変更した第2グラフを生成する。
【選択図】図3
【特許請求の範囲】
【請求項1】
ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含む第1グラフを取得する取得部と、
前記取得部により取得された前記第1グラフにおける前記複数のノードのうち、第1ノード及び第2ノードと第3ノードとの関係性に基づいて、前記第1ノードと前記第2ノードとの間のエッジを変更した第2グラフを生成する生成部と、
を備えたことを特徴とする生成装置。
【請求項2】
前記生成部は、
前記第1ノード及び前記第2ノードとの間がエッジで連結された第3ノードとの関係性に基づいて、前記第2グラフを生成する
ことを特徴とする請求項1に記載の生成装置。
【請求項3】
前記生成部は、
前記第1ノードと前記第3ノードとの類似度と、前記第2ノードと前記第3ノードとの類似度とに基づいて、前記第2グラフを生成する
ことを特徴とする請求項2に記載の生成装置。
【請求項4】
前記生成部は、
前記第1ノード及び前記第2ノードとの間がエッジで連結された前記第3ノードの数に基づいて、前記第2グラフを生成する
ことを特徴とする請求項3に記載の生成装置。
【請求項5】
前記取得部は、
各第1の主体と所定の関係を有する第2の主体が所定の条件を満たす第1の主体に対応するノード間をエッジで連結した前記第1グラフを取得する
ことを特徴とする請求項1〜4のいずれか1項に記載の生成装置。
【請求項6】
前記取得部は、
前記第1の主体である買主と所定の関係を有する前記第2の主体である売主の集合が所定の条件を満たす買主に対応するノード間をエッジで連結した前記第1グラフを取得する
ことを特徴とする請求項5に記載の生成装置。
【請求項7】
前記取得部は、
買主に対応するノードのうち、所定の回数以上の取引を行った売主の集合間の類似度が所定の閾値以上となるノード間をエッジで連結した前記第1グラフを取得する
ことを特徴とする請求項6に記載の生成装置。
【請求項8】
前記取得部は、
各ノードに属性情報が対応付けられた前記第1グラフを取得し、
前記生成部は、
前記第1ノードの属性情報及び前記第2ノードの属性情報と前記第3ノードの属性情報との関係性に基づいて、前記第2グラフを生成する
ことを特徴とする請求項1〜7のいずれか1項に記載の生成装置。
【請求項9】
前記取得部は、
属性情報として前記各ノードに対応するユーザと所定の関係を有する商品のカテゴリ情報が前記各ノードに対応付けられた前記第1グラフを取得する
ことを特徴とする請求項8に記載の生成装置。
【請求項10】
前記取得部は、
属性情報として前記各ノードに対応するユーザが購入した商品のカテゴリ情報が前記各ノードに対応付けられた前記第1グラフを取得する
ことを特徴とする請求項9に記載の生成装置。
【請求項11】
前記取得部は、
属性情報として前記各ノードに対応するユーザの属性情報が前記各ノードに対応付けられた前記第1グラフを取得する
ことを特徴とする請求項8〜10のいずれか1項に記載の生成装置。
【請求項12】
前記生成部は、
前記第2グラフに含まれる所定のクラスタに属するノードの属性情報に基づいて、属性情報に対応するカテゴリを変更する
ことを特徴とする請求項8〜11のいずれか1項に記載の生成装置。
【請求項13】
前記生成部は、
前記第2グラフに含まれる所定のクラスタに属するノードに共通する属性情報が複数ある場合、当該属性情報に対応するカテゴリを統合する
ことを特徴とする請求項12に記載の生成装置。
【請求項14】
前記生成部は、
前記第2グラフに含まれる複数のクラスタの各々に属するノードに共通する属性情報がある場合、当該属性情報に対応するカテゴリを分割する
ことを特徴とする請求項12または請求項13に記載の生成装置。
【請求項15】
前記取得部は、
各ノードに第1カテゴリの属性情報と第2カテゴリの属性情報とが対応付けられた第1グラフを取得し、
前記生成部は、
第1ノードの第1カテゴリの属性情報及び第2ノードの第1カテゴリの属性情報と第3ノードの第1カテゴリの属性情報との関係性に基づいて、第1カテゴリの第2グラフを生成し、第1ノードの第2カテゴリの属性情報及び第2ノードの第2カテゴリの属性情報と第3ノードの第2カテゴリの属性情報との関係性に基づいて、第2カテゴリの第2グラフを生成し、前記第1カテゴリの第2グラフと前記第2カテゴリの第2グラフとに基づいて、第2グラフを生成する
ことを特徴とする請求項8〜14のいずれか1項に記載の生成装置。
【請求項16】
コンピュータが実行する生成方法であって、
ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含む第1グラフを取得する取得工程と、
前記取得工程により取得された前記第1グラフにおける前記複数のノードのうち、第1ノード及び第2ノードと第3ノードとの関係性に基づいて、前記第1ノードと前記第2ノードとの間のエッジを変更した第2グラフを生成する生成工程と、
を含むことを特徴とする生成方法。
【請求項17】
ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含む第1グラフを取得する取得手順と、
前記取得手順により取得された前記第1グラフにおける前記複数のノードのうち、第1ノード及び第2ノードと第3ノードとの関係性に基づいて、前記第1ノードと前記第2ノードとの間のエッジを変更した第2グラフを生成する生成手順と、
をコンピュータに実行させることを特徴とする生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生成装置、生成方法、及び生成プログラムに関する。
【背景技術】
【0002】
従来、グラフにおけるノード間のエッジ(連結)の有無に基づいて、クラスタリングを行う技術が提供されている。例えば、グラフ中のあるノードおよびそのノードに接続したノードの集合に基づいて、クラスタ構造を抽出する技術が提供されている。例えば、グラフ中のあるノードに接続したノードの集合と他のノードに接続したノードの集合とにおいて共通するノードの数に基づいて、局所的にクラスタリングを行う技術が提供されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2015−156163号公報
【非特許文献】
【0004】
【非特許文献1】T. Uno et al. Micro-clustering,“Finding small clusters in large diversity.”CoRR, 2015.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来技術では、ネットワーク上における主体(例えば、ユーザ)を所望の関係性に基づいて連結するグラフを適切に生成できるとは限らない。例えば、あるノードに接続したノードの集合と他のノードに接続したノードの集合とにおいて共通するノードの数に基づいて、クラスタリングを行う場合、共通するノードの数によりクラスタリングを行うかを決定することとなる。このような場合、各ノードを所望の関係性に基づいて連結するグラフを適切に生成することは難しい。
【0006】
本願は、上記に鑑みてなされたものであって、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成する生成装置、生成方法、及び生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本願に係る生成装置は、ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含む第1グラフを取得する取得部と、前記取得部により取得された前記第1グラフにおける前記複数のノードのうち、第1ノード及び第2ノードと第3ノードとの関係性に基づいて、前記第1ノードと前記第2ノードとの間のエッジを変更した第2グラフを生成する生成部と、を備えたことを特徴とする。
【発明の効果】
【0008】
実施形態の一態様によれば、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができるという効果を奏する。
【図面の簡単な説明】
【0009】
図1図1は、実施形態に係る生成処理の一例を示す図である。
図2図2は、実施形態に係る生成処理の一例を示す図である。
図3図3は、実施形態に係る生成装置の構成例を示す図である。
図4図4は、実施形態に係る取引情報記憶部の一例を示す図である。
図5図5は、実施形態に係る第1グラフ情報記憶部の一例を示す図である。
図6図6は、実施形態に係るカテゴリ情報記憶部の一例を示す図である。
図7図7は、実施形態に係る属性情報記憶部の一例を示す図である。
図8図8は、実施形態に係るスコア情報記憶部の一例を示す図である。
図9図9は、実施形態に係る第2グラフ情報記憶部の一例を示す図である。
図10図10は、実施形態に係る生成処理手順を示すフローチャートである。
図11図11は、変形例に係る生成装置の構成例を示す図である。
図12図12は、変形例に係る属性情報記憶部の一例を示す図である。
図13図13は、カテゴリの統合の一例を示す図である。
図14図14は、カテゴリの分割の一例を示す図である。
図15図15は、複数の第2グラフを統合した第2グラフの生成の一例を示す図である。
図16図16は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る生成装置、生成方法、及び生成プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法、及び生成プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
(実施形態)
〔1−1.生成処理(第1グラフ)〕
図1及び図2では、電子商取引(例えば、インターネットショッピング)における買主(ユーザ)をノードとし、買主(ノード)間をエッジで連結したグラフを生成する場合を示す。図1では、生成装置100(図3参照)が、買主が商品を購入した売主の共通性に基づいて、買主間をエッジで連結したグラフ(以下、「第1グラフ」ともいう)を生成する場合を示す。また、図2では、生成装置100が、第1グラフに含まれるノード間のエッジを変更したグラフ(以下、「第2グラフ」ともいう)を生成する場合を示す。
【0012】
まず、図1を用いて、実施形態に係る生成処理の一例について説明する。図1は、実施形態に係る生成処理の一例を示す図である。具体的には、図1は、第1グラフの生成処理の一例を示す図である。
【0013】
図1に示す例においては、生成装置100は、取引一覧表TL11に示すような電子商取引における買主と売主(ユーザ)との対応に基づいて第1グラフG11を生成する(ステップS1)。なお、各ユーザは、買主と売主との一方に含まれてもよいし、両方に含まれてもよい。例えば、取引一覧表TL11は、図4に示す取引情報記憶部121に記憶された取引情報に基づいて導出される。取引一覧表TL11に示すように、買主(ノード)は、買主ID(ノードID)「N11」〜「N14」や「N21」〜「N24」等により識別される買主(ノード)が含まれる。以下では、買主ID「N11」により識別されるノードをノードN11と記載する。他の買主IDにより識別されるノードも同様に記載する。例えば、買主ID「N21」により識別されるノードをノードN21と記載する。なお、図1に示す例において、説明のために取引一覧表TL11中の8個のノードN11〜N14、N21〜N24のみを図示するが、取引一覧表TL11には、電子商取引における買主の数、例えば100万のノードが含まれてもよい。
【0014】
また、取引一覧表TL11に示すように、売主は、売主ID「SR11」〜「SR14」や「SR21」〜「SR24」等により識別される売主が含まれる。以下では、売主ID「SR11」により識別される売主を売主SR11と記載する。他の売主IDにより識別される売主も同様に記載する。例えば、売主ID「SR21」により識別される売主を売主SR21と記載する。
【0015】
取引一覧表TL11において、縦の行に示すノードN11〜N14、N21〜N24等と、横の列に示す売主SR11〜SR14、SR21〜SR24との各々が交差するマス目の数値は、対応する買主と売主とが商取引を行った回数を示す。例えば、ノードN11と売主SR11とが交差するマス目(左上のマス目)の数値「5」は、ノードN11に対応する買主と、売主SR11に対応する売主とが5回取引を行ったことを示す。また、例えば、ノードN22と売主SR22とが交差するマス目の数値「10」は、ノードN22に対応する買主と、売主SR22に対応する売主とが10回取引を行ったことを示す。
【0016】
ここで、生成装置100は、第1の主体である買主に対応するノードのうち、所定の回数以上の取引を行った第2の主体である売主の集合間の類似度が所定の閾値以上となるノード間をエッジで連結した第1グラフを生成する。図1では、生成装置100は、買主に対応するノードのうち、5回以上の取引を行った売主の集合間のジャッカード係数が0.2以上となるノード間をエッジで連結した第1グラフG11を生成する。すなわち、図1では、所定の閾値を5回とし、売主の集合間の類似度を示す指標値としてジャッカード係数を用いた場合を示す。
【0017】
図1に示す第1グラフG11には、8個のノードN11〜N14、N21〜N24を図示する。各ノードN11〜N14、N21〜N24は、取引一覧表TL11中に含まれる買主に対応する。例えば、第1グラフG11中のノードN11は、取引一覧表TL11中の買主ID「N11」により識別されるノード(買主)に対応する。なお、図1に示す例において、説明のために第1グラフG11中の8個のノードN11〜N14、N21〜N24のみを図示するが、第1グラフG11には、取引一覧表TL11に含まれる買主の数、例えば100万のノードが含まれてもよい。
【0018】
図1の例では、取引一覧表TL11に示すように、ノードN11に対応する買主は、売主SR11に対応する売主から商品を購入した回数(以下、「取引数」ともいう)が5回である。すなわち、ノードN11に対応する買主は、売主SR11に対応する売主から商品を購入した回数(取引数)が所定の閾値以上となる買主である。また、ノードN11に対応する買主は、売主SR13に対応する売主から商品を購入した回数が7回である。すなわち、ノードN11に対応する買主は、売主SR13に対応する売主から商品を購入した回数が所定の閾値以上となる買主である。すなわち、ノードN11に対応する買主について、取引数が所定の閾値以上の売主の集合(以下、「ノードN11の売主集合」ともいう)には、売主SR11や売主SR13等が含まれる。また、取引一覧表TL11に示すように、ノードN13に対応する買主は、売主SR11に対応する売主から商品を購入した回数が6回である。すなわち、ノードN13に対応する買主は、売主SR11に対応する売主から商品を購入した回数が所定の閾値以上となる買主である。また、ノードN13に対応する買主は、売主SR14に対応する売主から商品を購入した回数が7回である。すなわち、ノードN13に対応する買主は、売主SR14に対応する売主から商品を購入した回数が所定の閾値以上となる買主である。すなわち、ノードN13に対応する買主について、取引数が所定の閾値以上の売主の集合(以下、「ノードN13の売主集合」ともいう)には、売主SR11や売主SR14等が含まれる。ここで、生成装置100は、ノードN11の売主集合とノードN13の売主集合とのジャッカード係数が0.2以上となる場合、ノードN11とノードN13との間をエッジで連結する。ここで、上述の例において、ノードN11の売主集合に含まれる売主を売主SR11、売主SR13とし、ノードN13の売主集合に含まれる売主を売主SR11、売主SR14とした場合を例に説明する。この場合、ノードN11とノードN13との売主集合間のジャッカード係数(sim)は、「sim=(ノードN11の売主集合とノードN13の売主集合との積集合)/(ノードN11の売主集合とノードN13の売主集合との和集合)」により算出される。すなわち、ノードN11とノードN13との売主集合間のジャッカード係数(sim)は、「sim=1/3(0.33・・・)」となる。具体的には、ノードN11とノードN13との売主集合間のジャッカード係数(sim)の分母は、ノードN11の売主集合とノードN13の売主集合との和集合の要素数、すなわち売主SR11、SR13、SR14の「3」となる。また、ノードN11とノードN13との売主集合間のジャッカード係数(sim)の分子は、ノードN11の売主集合とノードN13の売主集合との積集合の要素数、すなわち売主SR11の「1」となる。このように、ノードN11の売主集合とノードN13の売主集合との間のジャッカード係数(sim)は、「0.33・・・」となり、閾値「0.2」以上となるため、生成装置100は、ノードN11とノードN13とをエッジで連結した第1グラフG11を生成する。なお、ジャッカード係数(sim)の算出を例示するために、上記のノードN11の売主集合やノードN13の売主集合は、2つの要素のみを含む場合を例示したが、ノードN11の売主集合やノードN13の売主集合は、多数の要素が含まれてもよい。
【0019】
また、図1の例では、取引一覧表TL11に示すように、ノードN21に対応する買主は、売主SR22に対応する売主から商品を購入した回数が6回である。そのため、ノードN21に対応する買主について、取引数が所定の閾値以上の売主の集合(以下、「ノードN21の売主集合」ともいう)には、売主SR22等が含まれる。また、取引一覧表TL11に示すように、ノードN22に対応する買主は、売主SR22に対応する売主から商品を購入した回数が10回である。そのため、ノードN21に対応する買主について、取引数が所定の閾値以上の売主の集合(以下、「ノードN22の売主集合」ともいう)には、売主SR22等が含まれる。また、取引一覧表TL11に示すように、ノードN24に対応する買主は、売主SR22に対応する売主から商品を購入した回数が8回である。そのため、ノードN21に対応する買主について、取引数が所定の閾値以上の売主の集合(以下、「ノードN24の売主集合」ともいう)には、売主SR22等が含まれる。また、図1の例では、ノードN21の売主集合とノードN22の売主集合との間のジャッカード係数(sim)は、0.2以上であるものとする。また、ノードN21の売主集合とノードN24の売主集合との間のジャッカード係数(sim)は、0.2以上であるものとする。また、ノードN22の売主集合とノードN24の売主集合との間のジャッカード係数(sim)は、0.2以上であるものとする。これにより、生成装置100は、ノードN21とノードN22とノードN24との各々をエッジで連結した第1グラフG11を生成する。このように、生成装置100は、図1に示すような第1グラフG11を生成する。なお、生成装置100は、ジャッカード係数に限らず、種々の指標に基づいて第1グラフを生成してもよい。例えば、生成装置100は、買主に対応するノードのうち、所定の回数以上の取引を行った売主の集合の積集合に含まれる売主の数が所定の閾値(例えば「2」等)以上となるノード間をエッジで連結した第1グラフを生成してもよい。
【0020】
〔1−2.生成処理(第2グラフ)〕
次に、図2を用いて、実施形態に係る生成処理の一例について説明する。図2は、実施形態に係る生成処理の一例を示す図である。具体的には、図2は、第2グラフの生成処理の一例を示す図である。なお、図2では、生成装置100が図1に示す第1グラフの生成処理により第1グラフを生成するか、外部装置から第1グラフを取得済みである場合を例に説明する。なお、図2に示す例では、ノードの属性情報として、各ノードに対応する買主(ユーザ)が購入した商品のカテゴリ情報が用いられた場合を示す。
【0021】
また、図2に示す例では、商品のカテゴリ情報として、図6に示すカテゴリ情報記憶部123に示すカテゴリのうち第2階層が用いられた場合を示す。すなわち、図2に示す例では、生成装置100は、属性情報記憶部124に示すような各ノードN11〜N14、N21〜N24が購入した商品のカテゴリ情報を属性情報として用いる。具体的には、属性情報記憶部124に示す横の列のカテゴリC11は、第1階層である「本、雑誌」のカテゴリC1の下位の第2階層である「文芸」(図6参照)に対応する。すなわち、図2に示す例では、ノードN11に対応する買主は、「文芸」のカテゴリC11に属する商品を5回購入したことを示す。また、具体的には、属性情報記憶部124に示す横の列のカテゴリC21は、第1階層である「ファッション」のカテゴリC2の下位の第2階層である「レディース」(図6参照)に対応する。すなわち、図2に示す例では、ノードN22に対応する買主は、「レディース」のカテゴリC21に属する商品を7回購入したことを示す。例えば、各ノードN11〜N14、N21〜N24が購入した商品のカテゴリ情報は、横の列がk列、すなわちk次元のベクトルで表現される。この場合、各ノードN11〜N14、N21〜N24の属性情報は、横の列がk列、すなわちk次元のベクトルで表現される。
【0022】
図2では、生成装置100は、第1グラフG11から第2グラフG12を生成する(ステップS2)。ここで、生成装置100は、第1グラフG11における一のノード(以下、「第1ノード」ともいう)と他のノード(以下、「第2ノード」ともいう)との間をエッジで連結するかの基準となるスコアを算出する。以下、スコアを算出する対象とする第1ノード及び第2ノード以外のノードを第3ノードとする場合がある。例えば、生成装置100は、第1グラフG11において第1ノードに連結された第3ノードと第1ノードとの類似度や、第1グラフG11において第2ノードに連結された第3ノードと第2ノードとの類似度に基づいて、スコアを算出する。例えば、生成装置100は、以下のような式(1)を用いて、第1ノードと第2ノードとの組み合わせにおけるスコアを算出する。
【0023】
【数1】
【0024】
上記式(1)中の左辺に示すf(u,v)は、ノードuとノードvとの組み合わせにおけるスコアを示す。また、上記式(1)中の右辺に示すJ(U,na)は、ノードuと第3ノード(例えばノードn)との属性情報の類似度を示す。すなわち、上記式(1)中の「U」は、ノードuの属性情報のベクトル(例えば、k次元のベクトル)を示す。また、上記式(1)中の「na」は、ノードnの属性情報のベクトル(例えば、k次元のベクトル)を示す。また、上記式(1)中の右辺に示すJ(V,na)は、ノードvと第3ノード(例えばノードn)との属性情報の類似度を示す。すなわち、上記式(1)中の「V」は、ノードvの属性情報のベクトル(例えば、k次元のベクトル)を示す。ここで、関数Jは、例えばジャッカード類似度に対応する。例えば、関数Jの値は、以下の式(2)のように算出される。
【0025】
【数2】
【0026】
上記の式(2)では、説明のために、J(U,V)とし、ノードuとノードvとの属性情報の類似度を示す。すなわち、上記式(2)中の「U」は、ノードuの属性情報のベクトル(例えば、k次元のベクトル)を示し、「V」は、ノードvの属性情報のベクトル(例えば、k次元のベクトル)を示す。例えば、上記式(2)中の右辺に示すu(以下、「第1指数」ともいう)は、ノードuの属性情報のi次元の要素に対応する値を示す。例えば、uは、属性情報記憶部124に示す情報中において、ノードuの属性情報のi次元の要素に対応する商品の購入回数が所定の基準値以上である場合に「1」であり、所定の基準値未満である場合に「0」であるような値となる。また、例えば、上記式(2)中の右辺に示すv(以下、「第2指数」ともいう)は、ノードvの属性情報のi次元の要素に対応する値を示す。
【0027】
例えば、ノードuがノードN11であり、iが1である場合、uは、ノードN11の属性情報の1次元の要素、例えばカテゴリC11に対応する値を示す。例えば、ノードuがノードN11であり、iが1であり、所定の基準値を3とした場合、uは、属性情報記憶部124に示す情報中において、ノードuの属性情報の1次元の要素、例えばカテゴリC11に対応する商品の購入回数が5であり、所定の基準値以上であるため、「1」となる。上記式(2)中の右辺における分母は、属性情報の各次元(例えば、1〜k次元)における第1指数uと第2指数vとのうち最大値の合計を示す。また、上記式(2)中の右辺における分子は、属性情報の各次元(例えば、1〜k次元)における第1指数uと第2指数vとのうち最小値の合計を示す。例えば、上記の式(2)のJ(U,V)は、0〜1の値となる。なお、第1指数uや第2指数vには、対応するノードuやノードvの属性情報における商品の購入回数の値が用いられてもよい。
【0028】
ここから、上記式(1)に戻って説明する。上記式(1)中のN(u)は、ノードuに連結する第3ノードの集合を示す。なお、ここでいう、ノードuに連結する第3ノードには、ノードuに直接エッジにより連結されるノードに限らず、他の第3ノードを経由して間接的にノードuに連結されるノードも含まれるものとする。なお、どの範囲までのノードをN(u)に含めるかは、目的等に応じて適宜設定されてもよい。例えば、上記式(1)中のN(u)には、ノードuにエッジで連結されたノードに連結されるノードまでを含めてもよい。上記式(1)中のN(v)は、ノードvに連結する第3ノードの集合を示す。なお、どの範囲までのノードをN(v)に含めるかは、上述したN(u)と同様に目的等に応じて適宜設定されてもよい。
【0029】
上記式(1)中の右辺における分母は、ノードuに連結する第3ノードとノードvに連結する第3ノードとの和集合における、各第3ノードとノードuとの属性類似度と、各第3ノードとノードvとの属性類似度とのうち値が最大の属性類似度の値の合計を示す。上記式(1)中の右辺における分子は、ノードuに連結する第3ノードとノードvに連結する第3ノードとの積集合における、各第3ノードとノードuとの属性類似度と、各第3ノードとノードvとの属性類似度とのうち値が最小の属性類似度の値の合計を示す。例えば、上記の式(1)のf(u,v)は、0〜1の値となる。
【0030】
生成装置100は、上記式(1)により算出されたスコアと、所定の閾値とに基づいて、第1ノードと第2ノードとの間のエッジを変更した第2グラフG12を生成する。例えば、生成装置100は、上記式(1)により算出されたスコアと、所定の閾値とに基づいて、第1グラフG11においてノード間を連結したエッジを解除したり、ノード間を新たなエッジにより連結したりすることにより、第2グラフG12を生成する。
【0031】
例えば、所定の閾値を0.5とするものとする。この場合、生成装置100は、例えば、上記式(1)により算出されたスコアが0.5以上である場合、スコアに対応する第1ノードと第2ノードとの間をエッジで連結する。例えば、生成装置100は、第1グラフG11においてエッジで連結された第1ノードと第2ノードのスコアが0.5以上である場合、スコアに対応する第1ノードと第2ノードとの間を連結するエッジを維持する。また、例えば、生成装置100は、第1グラフG11においてエッジで連結されていない第1ノードと第2ノードのスコアが0.5以上である場合、スコアに対応する第1ノードと第2ノードとの間をエッジで連結する。また、例えば、生成装置100は、第1グラフG11においてエッジで連結された第1ノードと第2ノードのスコアが0.5未満である場合、スコアに対応する第1ノードと第2ノードとの間を連結するエッジを解除する。
【0032】
図2の例では、生成装置100は、第1グラフG11においてエッジで連結されていないノードN11とノードN12のスコアが0.8であり閾値以上であるため、第2グラフG12において、ノードN11とノードN12との間をエッジで連結する。また、図2の例では、生成装置100は、第1グラフG11においてエッジで連結されたノードN11とノードN13のスコアが0.7であり閾値以上であるため、第2グラフG12においても、ノードN11とノードN13との間を連結するエッジを維持する。また、図2の例では、生成装置100は、第1グラフG11においてエッジで連結されたノードN21とノードN22のスコアが0.2であり閾値未満であるため、第2グラフG12において、ノードN21とノードN22との間を連結するエッジを解除する。
【0033】
このように、生成装置100は、第1グラフG11における複数のノードのうち、第1ノードの属性情報及び第2ノードの属性情報と第3ノードの属性情報との関係性に基づいて、第1ノードと第2ノードとの間のエッジを変更した第2グラフG12を生成する。これにより、生成装置100は、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0034】
また、例えば、生成装置100は、第2グラフG12に含まれるクリーク(極大クリーク)等に基づいて、ノードをクラスタリングしてもよい。例えば、ここでいうクリークとは、そのクリークに含まれる各ノード間が全て連結されたノード群を意味する。なお、生成装置100は、マイクロクラスタリング等の従来手法を適宜用いてノードをクラスタリングしてもよい。例えば、生成装置100は、非特許文献1に記載されたクリーク計算処理を用いて、ノードをクラスタリングしてもよい。また、例えば、生成装置100は、グラフのクリーク・極大クリークを抽出する処理(プログラム)、例えばMACE(MAximal Clique Enumerater)を用いてもよい。なお、上記は一例であり、生成装置100は、どのような手段によりノードをクラスタリングしてもよい。
【0035】
例えば、生成装置100は、第2グラフG12において各ノード間がエッジで連結されたノード群を1つのクラスタとしてクラスタリングしてもよい。例えば、生成装置100は、第2グラフG12に含まれるノードN11とノードN12とノードN13とは、全てのノードがエッジで連結されたクリークである。例えば、生成装置100は、第2グラフG12に含まれるノードN11とノードN12とノードN13とを1つのクラスタとしてクラスタリングしてもよい。また、例えば、生成装置100は、第2グラフG12に含まれるノードN11とノードN12とノードN14とを1つのクラスタとしてクラスタリングしてもよい。また、第2グラフG12において、ノードN13とノードN14とがエッジで連結される場合、生成装置100は、ノードN11とノードN12とノードN13とノードN14とを1つのクラスタとしてクラスタリングしてもよい。
【0036】
なお上述した例では、買主に対応するノード間をエッジで連結した第1グラフを用いる場合を示したが、生成装置100は、買主に限らず種々の主体に対応するノード間をエッジで連結した第1グラフを用いてもよい。例えば、生成装置100は、所定のSNS(Social Networking Service)における主体(ユーザ)に対応するノード間をエッジで連結した第1グラフを用いてもよい。例えば、生成装置100は、ネットワーク(Web)上におけるユーザ(人間)の相関関係を示すソーシャルグラフを第1グラフとしても用いてもよい。すなわち、生成装置100は、ネットワーク上におけるユーザの相関関係を示すグラフを第1グラフとして用いてもよい。なお、ノードには、ソーシャルグラフに含まれる主体(ユーザ)全体が含まれてもよいし、所定の条件を満たす一部の主体(ユーザ)が含まれてもよい。また、例えば、ノードには実空間上に対象物(主体)であれば、ユーザに限らず、種々の対象物に対応付けられてもよい。例えば、いわゆるIoT(Internet of Things)等に関する種々の技術により電子機器同士が相互に通信可能な場合、例えばウェアラブル端末等の各電子機器を1つの主体として、各電子機器をノードに対応付けてもよい。この場合、主体(ユーザ)に対応する概念には、ユーザが使用する電子機器やユーザに操作に依らず自律的に動作する電子機器等、人間以外の種々の行動主体が含まれてもよい。上述のように、生成装置100は、ユーザに限らず、種々の対象物(主体)に対応づけられたノード間をエッジで連結した第1グラフを用いて、第2グラフを生成してもよい。すなわち、生成装置100は、ユーザや電子機器が混在した第1グラフを用いて、第2グラフを生成してもよい。例えば、生成装置100は、ユーザに対応するノードと電子機器に対応するノードとがエッジで連結された第1グラフを用いて、第2グラフを生成してもよい。このように、生成装置100は、どのような主体に対応するノード間をエッジで連結した第1グラフを用いてもよい。すなわち、生成装置100は、どのような第1グラフを用いて、第2グラフを生成してもよい。
【0037】
〔2.生成装置の構成〕
次に、図3を用いて、実施形態に係る生成装置100の構成について説明する。図3は、実施形態に係る生成装置の構成例を示す図である。生成装置100は、第1グラフに基づいて、第2グラフを生成する情報処理装置である。図3に示すように、生成装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、生成装置100は、各種の情報を表示する表示部や、各種の情報を入力する入力部を有してもよい。
【0038】
(通信部110)
通信部110は、例えば、NIC等によって実現される。そして、通信部110は、所定のネットワークと有線または無線で接続され、外部の情報処理装置との間で情報の送受信を行う。
【0039】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図3に示すように、取引情報記憶部121と、第1グラフ情報記憶部122と、カテゴリ情報記憶部123と、属性情報記憶部124と、スコア情報記憶部125と、第2グラフ情報記憶部126とを有する。
【0040】
(取引情報記憶部121)
実施形態に係る取引情報記憶部121は、取引情報を記憶する。図4は、実施形態に係る取引情報記憶部の一例を示す図である。図4に示す例においては、取引情報として、電子商取引における取引のログ情報が記憶される。例えば、取引情報記憶部121に記憶された取引情報は、第1グラフの生成に用いられる。図4に示すように、取引情報記憶部121は、取引情報として、「取引ID」、「買主ID(ノードID)」、「売主ID」、「商品ID」、「日時」等の項目を有する。なお、項目は上記に限らず、取引情報記憶部121は、取引された商品が属するカテゴリに関する項目や取引金額等に関する項目など、目的に応じて種々の項目を有してもよい。
【0041】
「取引ID」は、電子商取引における各取引を識別するための識別情報を示す。「買主ID(ノードID)」は、対応する取引IDにより識別される取引における買主である主体(ユーザ)を識別するための識別情報を示す。また、「売主ID」は、対応する取引IDにより識別される取引における売主である主体(ユーザ)を識別するための識別情報を示す。なお、図4に示す例においては、買主IDとして、ノードIDを用いた場合を示すが、ノードIDと対応付けられたユーザIDやショップIDを用いてもよい。また、ノードIDは、図1に示す各ノードの符号に対応する。例えば、ノードID「N11」により識別される買主は、図1に示すノードN11に対応する。すなわち、ノードID「N11」により識別されるノードと、図1中のノードN11とは同じノードを示し、図1に示す他のノードについても同様である。また、「商品ID」は、対応する取引IDにより識別される取引において売買された商品を識別するための識別情報を示す。また、「日時」は、対応する取引IDにより識別される取引が成立した日時を示す。
【0042】
例えば、図4に示す例において、取引ID「T11」により識別される取引は、買主ID(ノードID)「N11」により識別されるノードに対応する買主が、売主ID「SR11」により識別される売主から、商品ID「G11」により識別される商品を、日時「2016/2/22 13:05」に購入したことを示す。
【0043】
(第1グラフ情報記憶部122)
実施形態に係る第1グラフ情報記憶部122は、第1グラフに関する情報(以下、「第1グラフ情報」や単に「第1グラフ」ともいう)を記憶する。図5は、実施形態に係る第1グラフ情報記憶部の一例を示す図である。図5に示すように、第1グラフ情報記憶部122は、第1グラフ情報として、ノードID(買主ID)により識別される買主に対応するノード間を連結するエッジの有無を記憶する。例えば、ノード間を連結するエッジが有る場合は「1」を記憶し、ノード間を連結するエッジが無い場合は「0」を記憶する。
【0044】
例えば、図5に示す例において、ノードID「N11」の行とノードID「N12」の列とが交差する領域には、ノードID「N11」により識別される買主に対応するノードとノードID「N12」により識別される買主に対応するノードとの間におけるエッジの有無が記憶される。図5に示す例においては、ノードID「N11」の行とノードID「N12」の列とが交差する領域には、「0」が記憶される。つまり、ノードID「N11」により識別される買主に対応するノードとノードID「N12」により識別される買主に対応するノードとの間にはエッジが連結されていないことを示す。また、図5に示す例においては、ノードID「N11」の行とノードID「N13」の列とが交差する領域には、「1」が記憶される。つまり、ノードID「N11」により識別される買主に対応するノードとノードID「N13」により識別される買主に対応するノードとの間にはエッジが連結されていることを示す。このように、第1グラフ情報記憶部122において「1」が記憶された領域に対応するノード間にはエッジが連結されていることを示す。
【0045】
また、図5に示す例において、ノードID「N12」の行とノードID「N11」の列とが交差する領域には、ノードID「N11」の行とノードID「N12」の列とが交差する領域と同様の情報が記憶される。なお、生成装置100は、ノードID「N11」の行とノードID「N12」の列とが交差する領域かノードID「N12」の行とノードID「N11」の列とが交差する領域かのいずれか一方のみを記憶してもよい。なお、ノードID「N11」の行とノードID「N11」の列とが交差する領域には、「0」を記憶してもよい。他のノードID「N12」等についても同様である。また、図5に示す例においては、ノードIDとノードIDとの行列(マトリクス)の形状で記憶される場合を一例として図示したが、第1グラフ情報を記憶できれば、どのように記憶されてもよい。例えば、第1グラフ情報は、各ノードIDに対してエッジが張られているノードID、すなわち各ノードIDと連結されているノードIDのリストを保存する辞書の形状で記憶されてもよい。
【0046】
(カテゴリ情報記憶部123)
実施形態に係るカテゴリ情報記憶部123は、カテゴリに関する情報(以下、「カテゴリ情報」ともいう)を記憶する。図6は、実施形態に係るカテゴリ情報記憶部の一例を示す図である。図6に示す例においては、取引される商品を分類するカテゴリに関する情報が記憶される。図6に示すように、カテゴリ情報記憶部123は、カテゴリ情報として、「第1階層」、「第2階層」、「第3階層」の項目を有する。なお、項目は上記に限らず、カテゴリ情報記憶部123は、カテゴリの階層構造に応じて「第4階層」や「第5階層」等の項目を有してもよい。
【0047】
「第1階層」には、「本、雑誌」のカテゴリC1や「ファッション」のカテゴリC2等が含まれる。また、第1階層である「本、雑誌」のカテゴリC1の下位の「第2階層」には、「文芸」のカテゴリC11や「子ども」のカテゴリC12等が含まれる。また、第2階層である「文芸」のカテゴリC11の下位の「第3階層」には、「ファンタジー」のカテゴリC111や「ノンフィクション」のカテゴリC112や「歴史」のカテゴリC113等が含まれる。なお、上記のカテゴリ階層は一例であり、目的に応じて種々のカテゴリ階層が構成されてもよい。また、カテゴリ情報記憶部123に記憶されるカテゴリ情報は、適宜変更されてもよい。この点については後述する。
【0048】
(属性情報記憶部124)
実施形態に係る属性情報記憶部124は、買主(ユーザ)の属性に関する情報(以下、「属性情報」ともいう)を記憶する。図7は、実施形態に係る属性情報記憶部の一例を示す図である。図7に示す例においては、属性情報記憶部124には、買主(ユーザ)が購入した商品のカテゴリ情報が属性情報として記憶される。図7に示すように、属性情報記憶部124は、属性情報として、ノードID(買主ID)により識別される買主が購入した商品のカテゴリごとにその購入回数を記憶する。
【0049】
例えば、図7に示す例においては、ノードN11に対応する買主は、「文芸」のカテゴリC11に属する商品を5回購入し、「子ども」のカテゴリC12に属する商品を購入したことがないことを示す。また、例えば、図7に示す例においては、ノードN12に対応する買主は、「文芸」のカテゴリC11に属する商品を4回購入し、「子ども」のカテゴリC12に属する商品を1回購入したことを示す。
【0050】
(スコア情報記憶部125)
実施形態に係るスコア情報記憶部125は、各ノードの組み合わせにおけるスコアに関する情報(以下、「スコア情報」ともいう)を記憶する。図8は、実施形態に係るスコア情報記憶部の一例を示す図である。図8に示す例においては、第1ノードと第2ノードとの組み合わせごとに算出されたスコアが記憶される。図8に示すように、スコア情報記憶部125は、スコア情報として、「買主ID(ノードID)」、「スコア」の項目を有する。また、「買主ID(ノードID)」には、「第1ノード」、「第2ノード」の項目が含まれる。なお、項目は上記に限らず、スコア情報記憶部125は、目的に応じて種々の項目を有してもよい。
【0051】
「第1ノード」及び「第2ノード」は、対応するスコアを算出する対象となった一組のノードを示す。「スコア」は、対応する一組のノードについて算出されたスコアを示す。
【0052】
例えば、図8に示す例においては、ノードN11とノードN12との一組のノードについて算出されたスコアが「0.8」であることを示す。また、例えば、図8に示す例においては、ノードN11とノードN13との一組のノードについて算出されたスコアが「0.7」であることを示す。また、例えば、図8に示す例においては、ノードN21とノードN22との一組のノードについて算出されたスコアが「0.2」であることを示す。
【0053】
(第2グラフ情報記憶部126)
実施形態に係る第2グラフ情報記憶部126は、第2グラフに関する情報(以下、「第2グラフ情報」や単に「第2グラフ」ともいう)を記憶する。図9は、実施形態に係る第2グラフ情報記憶部の一例を示す図である。図9に示すように、第2グラフ情報記憶部126は、第2グラフ情報として、ノードID(買主ID)により識別される買主に対応するノード間を連結するエッジの有無を記憶する。具体的には、第2グラフ情報記憶部126は、第1グラフ情報記憶部122に記憶された第1グラフ情報に基づいて生成された第2グラフ情報を記憶する。例えば、ノード間を連結するエッジが有る場合は「1」を記憶し、ノード間を連結するエッジが無い場合は「0」を記憶する。
【0054】
例えば、図9に示す例において、ノードID「N11」の行とノードID「N12」の列とが交差する領域には、ノードID「N11」により識別される買主に対応するノードとノードID「N12」により識別される買主に対応するノードとの間におけるエッジの有無が記憶される。図9に示す例においては、ノードID「N11」の行とノードID「N12」の列とが交差する領域には、「1」が記憶される。つまり、ノードID「N11」により識別される買主に対応するノードとノードID「N12」により識別される買主に対応するノードとの間にはエッジが連結されていることを示す。このように、第2グラフ情報記憶部126に記憶された第2グラフ情報には、第1グラフ情報記憶部122に記憶された第1グラフ情報においてエッジが連結されていなかったノードN11とノードN12との間にエッジが連結されたことを示す。
【0055】
例えば、図9に示す例において、ノードID「N21」の行とノードID「N22」の列とが交差する領域には、ノードID「N21」により識別される買主に対応するノードとノードID「N22」により識別される買主に対応するノードとの間におけるエッジの有無が記憶される。図9に示す例においては、ノードID「N21」の行とノードID「N22」の列とが交差する領域には、「0」が記憶される。つまり、ノードID「N21」により識別される買主に対応するノードとノードID「N22」により識別される買主に対応するノードとの間にはエッジが連結されていないことを示す。このように、第2グラフ情報記憶部126に記憶された第2グラフ情報には、第1グラフ情報記憶部122に記憶された第1グラフ情報においてエッジが連結されていたノードN21とノードN22との間のエッジが解除されたことを示す。
【0056】
また、図9に示す例において、ノードID「N12」の行とノードID「N11」の列とが交差する領域には、ノードID「N11」の行とノードID「N12」の列とが交差する領域と同様の情報が記憶される。なお、生成装置100は、ノードID「N11」の行とノードID「N12」の列とが交差する領域かノードID「N12」の行とノードID「N11」の列とが交差する領域かのいずれか一方のみを記憶してもよい。なお、ノードID「N11」の行とノードID「N11」の列とが交差する領域には、「0」を記憶してもよい。他のノードID「N12」等についても同様である。また、図9に示す例においては、ノードIDとノードIDとの行列(マトリクス)の形状で記憶される場合を一例として図示したが、第2グラフ情報を記憶できれば、どのように記憶されてもよい。例えば、第2グラフ情報は、各ノードIDに対してエッジが張られているノードID、すなわち各ノードIDと連結されているノードIDのリストを保存する辞書の形状で記憶されてもよい。
【0057】
(制御部130)
図3の説明に戻って、制御部130は、例えば、コントローラ(Controller)であり、CPUやMPU等によって、生成装置100内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、コントローラ(Controller)であり、ASICやFPGA等の集積回路により実現される。
【0058】
図3に示すように、制御部130は、取得部131と、第1生成部132と、第2生成部133と、送信部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図3に示した接続関係に限られず、他の接続関係であってもよい。
【0059】
(取得部131)
取得部131は、各種情報を取得する。取得部131は、取引情報や第1グラフ情報等を取得する。例えば、取得部131は、電子商取引のサービスを提供する外部装置から取引情報を取得してもよい。また、取得部131は、電子商取引のサービスを提供する外部装置から取得した取引情報を取引情報記憶部121に格納する。また、例えば、取得部131は、属性情報記憶部124から属性情報を取得する。
【0060】
また、取得部131は、第1グラフ情報等を取得する。例えば、取得部131は、各第1の主体と所定の関係を有する第2の主体が所定の条件を満たす第1の主体に対応するノード間をエッジで連結した第1グラフを取得する。例えば、取得部131は、各買主と所定の関係を有する売主の集合が所定の条件を満たす買主に対応するノード間をエッジで連結した第1グラフを取得する。例えば、取得部131は、買主に対応するノードのうち、所定の回数以上の取引を行った売主の集合間の類似度が所定の閾値以上となるノード間をエッジで連結した第1グラフを取得する。例えば、取得部131は、買主に対応するノードのうち、5回以上の取引を行った売主の集合間のジャッカード係数が0.2以上となるノード間をエッジで連結した第1グラフを取得する。例えば、取得部131は、各ノードに属性情報が対応付けられた第1グラフを取得する。例えば、取得部131は、属性情報として各ノードに対応するユーザと所定の関係を有する商品のカテゴリ情報が各ノードに対応付けられた第1グラフを取得する。例えば、取得部131は、属性情報として各ノードに対応するユーザが購入した商品のカテゴリ情報が各ノードに対応付けられた第1グラフを取得する。例えば、取得部131は、第1グラフ情報記憶部122から第1グラフ情報を取得する。また、例えば、取得部131は、外部装置から第1グラフ情報を取得してもよい。また、取得部131は外部装置から取得した第1グラフ情報を第1グラフ情報記憶部122に格納してもよい。また、取得部131は、属性情報として各ノードに対応するユーザの属性情報が各ノードに対応付けられた第1グラフを取得してもよい。取得部131は、各ノードに第1カテゴリの属性情報と第2カテゴリの属性情報とが対応付けられた第1グラフを取得する。なお、これらの点については後述する。
【0061】
(第1生成部132)
第1生成部132は、取引情報に基づいて第1グラフを生成する。例えば、第1生成部132は、各買主と所定の関係を有する売主の集合が所定の条件を満たす買主に対応するノード間をエッジで連結した第1グラフを生成する。例えば、第1生成部132は、取引情報記憶部121に記憶された取引情報に基づいて、第1グラフを生成する。図1では、第1生成部132は、取引一覧表TL11に示すような電子商取引における買主と売主(ユーザ)との対応に基づいて第1グラフG11を生成する。例えば、第1生成部132は、買主に対応するノードのうち、所定の回数以上の取引を行った売主の集合間の類似度が所定の閾値以上となるノード間をエッジで連結した第1グラフを生成する。図1では、第1生成部132は、買主に対応するノードのうち、5回以上の取引を行った売主の集合間のジャッカード係数が0.2以上となるノード間をエッジで連結した第1グラフG11を生成する。例えば、第1生成部132は、ノードN11とノードN13とをエッジで連結した第1グラフG11を生成する。例えば、第1生成部132は、ノードN21とノードN22とノードN24との各々をエッジで連結した第1グラフG11を生成する。
【0062】
なお、生成装置100は、外部装置から第1グラフ情報を取得する場合、第1生成部132を有しなくてもよい。
【0063】
(第2生成部133)
第2生成部133は、第1グラフに基づいて第2グラフを生成する生成部である。例えば、第2生成部133は、取得部131により取得された第1グラフにおける複数のノードのうち、第1ノード及び第2ノードと第3ノードとの関係性に基づいて、第1ノードと第2ノードとの間のエッジを変更した第2グラフを生成する。
【0064】
また、第2生成部133は、第1ノード及び第2ノードとの間がエッジで連結された第3ノードとの関係性に基づいて、第2グラフを生成する。例えば、第2生成部133は、第1ノードと第3ノードとの類似度と、第2ノードと第3ノードとの類似度とに基づいて、第2グラフを生成する。例えば、第2生成部133は、第1ノード及び第2ノードとの間がエッジで連結された第3ノードの数に基づいて、第2グラフを生成する。
【0065】
また、第2生成部133は、第1ノードの属性情報及び第2ノードの属性情報と第3ノードの属性情報との関係性に基づいて、第2グラフを生成する。また、例えば、第2生成部133は、属性情報として各ノードに対応するユーザが購入した商品のカテゴリ情報が各ノードに対応付けられた第1グラフに基づいて、第2グラフを生成する。
【0066】
図2では、第2生成部133は、第1グラフG11から第2グラフG12を生成する。例えば、第2生成部133は、第1グラフG11において第1ノードに連結された第3ノードと第1ノードとの類似度や、第1グラフG11において第2ノードに連結された第3ノードと第2ノードとの類似度に基づいて、スコアを算出する。例えば、第2生成部133は、上記式(1)を用いて、第1ノードと第2ノードとの組み合わせにおけるスコアを算出する。
【0067】
例えば、第2生成部133は、上記式(1)により算出されたスコアと、所定の閾値とに基づいて、第1ノードと第2ノードとの間のエッジを変更した第2グラフG12を生成する。例えば、第2生成部133は、上記式(1)により算出されたスコアと、所定の閾値とに基づいて、第1グラフG11においてノード間を連結したエッジを解除したり、ノード間を新たなエッジにより連結したりすることにより、第2グラフG12を生成する。
【0068】
例えば、図2の例では、第2生成部133は、上記式(1)により算出されたスコアが0.5以上である場合、スコアに対応する第1ノードと第2ノードとの間をエッジで連結する。例えば、第2生成部133は、第1グラフG11においてエッジで連結された第1ノードと第2ノードのスコアが0.5以上である場合、スコアに対応する第1ノードと第2ノードとの間を連結するエッジを維持する。また、例えば、第2生成部133は、第1グラフG11においてエッジで連結されていない第1ノードと第2ノードのスコアが0.5以上である場合、スコアに対応する第1ノードと第2ノードとの間をエッジで連結する。また、例えば、第2生成部133は、第1グラフG11においてエッジで連結された第1ノードと第2ノードのスコアが0.5未満である場合、スコアに対応する第1ノードと第2ノードとの間を連結するエッジを解除する。
【0069】
例えば、第2生成部133は、第1グラフG11においてエッジで連結されていないノードN11とノードN12のスコアが0.8であり閾値以上であるため、第2グラフG12において、ノードN11とノードN12との間をエッジで連結する。また、例えば、第2生成部133は、第1グラフG11においてエッジで連結されたノードN11とノードN13のスコアが0.7であり閾値以上であるため、第2グラフG12においても、ノードN11とノードN13との間を連結するエッジを維持する。また、例えば、第2生成部133は、第1グラフG11においてエッジで連結されたノードN21とノードN22のスコアが0.2であり閾値未満であるため、第2グラフG12において、ノードN21とノードN22との間を連結するエッジを解除する。
【0070】
なお、第2生成部133は、上記の第2グラフの生成に限らず、以下のような各種処理を行ってもよい。例えば、第2生成部133は、第2グラフに含まれる所定のクラスタに属するノードの属性情報に基づいて、属性情報に対応するカテゴリを変更する。また、例えば、第2生成部133は、第2グラフに含まれる所定のクラスタに属するノードに共通する属性情報が複数ある場合、当該属性情報に対応するカテゴリを統合する。また、例えば、第2生成部133は、第2グラフに含まれる複数のクラスタの各々に属するノードに共通する属性情報がある場合、当該属性情報に対応するカテゴリを分割する。また、例えば、第2生成部133は、属性情報として各ノードに対応するユーザの属性情報が各ノードに対応付けられた第1グラフに基づいて、第2グラフを生成してもよい。また、例えば、第2生成部133は、第1ノードの第1カテゴリの属性情報及び第2ノードの第1カテゴリの属性情報と第3ノードの第1カテゴリの属性情報との関係性に基づいて、第1カテゴリの第2グラフを生成する。また、例えば、第2生成部133は、第1ノードの第2カテゴリの属性情報及び第2ノードの第2カテゴリの属性情報と第3ノードの第2カテゴリの属性情報との関係性に基づいて、第2カテゴリの第2グラフを生成する。また、例えば、第2生成部133は、第1カテゴリの第2グラフと第2カテゴリの第2グラフとに基づいて、第2グラフを生成する。なお、これらの点については後述する。
【0071】
(送信部134)
送信部134は、各種情報を外部装置へ送信する。例えば、送信部134は、外部の情報処理装置に第2生成部133により生成された第2グラフ情報を送信してもよい。
【0072】
〔3.生成処理のフロー〕
次に、図10を用いて、実施形態に係る生成装置100による生成処理の手順について説明する。図10は、実施形態に係る生成装置100による生成処理手順を示すフローチャートである。
【0073】
図10に示すように、生成装置100の取得部131は、取引情報を取得する(ステップS101)。例えば、取得部131は、取引情報記憶部121から取引情報を取得する。そして、生成装置100の第1生成部132は、取得部131により取得された取引情報に基づいて第1グラフを生成する(ステップS102)。例えば、第1生成部132は、第1グラフG11を生成する。
【0074】
その後、取得部131は、属性情報を取得する(ステップS103)。例えば、取得部131は、属性情報記憶部124から属性情報を取得する。そして、生成装置100の第2生成部133は、ステップS102において生成された第1グラフとステップS103において取得された属性情報に基づいて、ノードの組み合わせごとにスコアを算出する(ステップS104)。例えば、第2生成部133は、上記式(1)を用いて、第1ノードと第2ノードとの組み合わせにおけるスコアを算出する。
【0075】
そして、第2生成部133は、ステップS104において算出したスコアに基づいて、第2グラフを生成する(ステップS105)。例えば、第2生成部133は、第2グラフG12を生成する。なお、ステップS104とステップS105は、繰り返し行われてもよい。例えば、生成装置100は、各ノードの組み合わせごとにスコアを算出し、そのノード間のエッジを解除したり、そのノード間をエッジで連結したりする処理を繰り返してもよい。
【0076】
〔4.変形例〕
上述した実施形態に係る生成装置100は、上記実施形態以外にも種々の異なる形態にて実施されてもよい。そこで、以下では、生成装置100の他の実施形態について説明する。
【0077】
〔5.他の属性情報を有する生成装置の構成〕
上記例においては、ユーザ(買主)の属性情報として、買主が購入した商品のカテゴリ情報が用いられる場合を示したが、買主の属性情報は商品のカテゴリ情報に限らず種々の情報が用いられてもよい。すなわち、属性情報には種々の異なるカテゴリの属性情報が適宜用いられてもよい。この点について、図11を用いて、変形例に係る生成装置100Aの構成について説明する。図11は、変形例に係る生成装置の構成例を示す図である。なお、生成装置100Aにおいて、実施形態に係る生成装置100と同様の構成は、同一の符号を付して説明を省略する。
【0078】
図11に示すように、生成装置100Aは、記憶部120Aに属性情報記憶部124Aやスコア情報記憶部125Aや第2グラフ情報記憶部126Aを有する点において生成装置100と相違する。なお、図11に示す例では、カテゴリ情報記憶部を図示しないが、生成装置100Aは、カテゴリ情報記憶部を有してもよい。
【0079】
(属性情報記憶部124A)
変形例に係る属性情報記憶部124Aは、買主(ユーザ)の属性情報を記憶する。図12は、変形例に係る属性情報記憶部の一例を示す図である。図12に示す例においては、属性情報記憶部124Aには、買主の人口統計学的属性(デモグラフィック属性)が属性情報として記憶される。図12に示すように、属性情報記憶部124Aは、属性情報として、ノードID(買主ID)により識別される買主の性別や年齢等に関するデモグラフィック属性を記憶する。なお、属性情報には、デモグラフィック属性に限らず、目的に応じて種々の情報が含まれてもよい。例えば、属性情報には、心理学的属性(サイコグラフィック属性)に関する情報が含まれてもよい。
【0080】
例えば、図12に示す例においては、縦の行の各ノードに対応する買主が、横の列の各属性情報に該当する場合には「1」を、属性情報に該当しない場合には「0」を記憶する。例えば、ノードN11に対応する買主は、属性情報「男性」が「0」であり、属性情報「女性」が「1」であり、属性情報「20代」が「1」であり、属性情報「30代」が「0」である。すなわち、ノードN11に対応する買主は、20代女性のユーザであることを示す。
【0081】
また、スコア情報記憶部125Aや第2グラフ情報記憶部126Aには、上記の属性情報記憶部124Aに記憶された属性情報に基づいて算出されたスコアや第2グラフが記憶されるが、図示を省略する。
【0082】
変形例に係る第2生成部133は、上記式(2)の第1指数uや第2指数vには、属性情報記憶部124Aに示す情報中において、ノードuの属性情報のi次元の領域に記憶された値を用いて、スコアを算出してもよい。
【0083】
例えば、ノードuがノードN11であり、iが1である場合、uは、ノードN11の属性情報の1次元の要素、例えば属性情報「男性」に対応する値を示す。例えば、ノードuがノードN11であり、iが1である場合、uは、属性情報記憶部124Aに示す情報中において、ノードuの属性情報の1次元の要素、例えば属性情報「男性」に対応する値「0」となる。また、例えば、ノードuがノードN11であり、iが2である場合、uは、属性情報記憶部124Aに示す情報中において、ノードuの属性情報の2次元の要素、例えば属性情報「女性」に対応する値「1」となる。変形例に係る第2生成部133は、上述したように属性情報記憶部124Aに記憶された値を用いて、スコアを算出し、第2グラフを生成してもよい。
【0084】
なお、生成装置100Aは、属性情報に対応するカテゴリ情報を記憶してもよい。例えば、生成装置100Aは、属性情報にユーザの職業等が含まれる場合、職業の階層構造を示すカテゴリ情報等を記憶するカテゴリ情報記憶部を有してもよい。また、上述した例では、生成装置100Aは、記憶部120Aにカテゴリ情報記憶部123や属性情報記憶部124を有しない例を示したが、生成装置100Aは、記憶部120Aにカテゴリ情報記憶部123や属性情報記憶部124を有してもよい。また、生成装置100Aは、カテゴリ情報記憶部123や属性情報記憶部124に対応するスコア情報記憶部125や第2グラフ情報記憶部126を有してもよい。すなわち、実施形態に係る生成装置100と変形例に係る生成装置100Aとは統合されて1つの生成装置として用いられてもよい。
【0085】
〔6.カテゴリの変更〕
なお、生成装置100や生成装置100Aは、例えば、第2グラフに含まれるノードのクラスタリングの結果に応じて、カテゴリの変更を行ってもよい。この点について、図13及び図14を用いて説明する。例えば、以下のようなカテゴリの変更処理は、生成装置100や生成装置100Aの第2生成部133が行ってもよい。なお、以下では、生成装置100が処理を行う場合を例に示す。
【0086】
〔6−1.カテゴリの統合〕
まず、図13を用いて、カテゴリの統合について説明する。図13は、カテゴリの統合の一例を示す図である。例えば、生成装置100の第2生成部133は、第2グラフに含まれる所定のクラスタに属するノードに共通する属性情報が複数ある場合、当該属性情報に対応するカテゴリを統合する。
【0087】
図13に示す例では、生成装置100は、カテゴリ情報CLT11−1に示すようなカテゴリ情報を用いる。カテゴリ情報CLT11−1中の「第1階層」には、「第1分類C」のカテゴリC3等が含まれる。また、第1階層である「第1分類C」のカテゴリC3の下位の「第2階層」には、「第2分類_1」のカテゴリC31等が含まれる。また、第2階層である「第2分類_1」のカテゴリC31の下位の「第3階層」には、「第3分類_1」のカテゴリC311や「第3分類_2」のカテゴリC312や「第3分類_3」のカテゴリC313や「第3分類_4」のカテゴリC314等が含まれる。
【0088】
図13に示す例では、生成装置100は、生成した第2グラフにおけるノード間の連結に基づいて、各ノードをクラスタリングする。例えば、生成装置100は、クラスタ一覧LT11に示すように、生成した第2グラフにおいてエッジで連結されたノードN111やノードN112やノードN113をクラスタCL11としてクラスタリングする。また、例えば、生成装置100は、生成した第2グラフにおいてエッジで連結された他のノード群をクラスタCL12としてクラスタリングする。
【0089】
図13に示す例では、クラスタ一覧LT11に示すように、クラスタCL11に属するノードN111やノードN112やノードN113は、カテゴリC311とカテゴリC313との値が大きい点で共通する。そこで、生成装置100は、カテゴリC311とカテゴリC313とを1つのカテゴリに統合する(ステップS21)。例えば、生成装置100は、図13中のカテゴリ情報CLT11−2に示すように、カテゴリC311とカテゴリC313とを新たなカテゴリである「第3分類_I−3」のカテゴリC311−3に統合する。
【0090】
これにより、生成装置100は、クラスタリングの結果に基づいてカテゴリを変更したカテゴリ情報を用いることにより、ノードの属性情報を反映した第2グラフを生成することができる。したがって、生成装置100は、より適切なクラスタリングを行うことが可能となる。なお、図13の例では、説明を簡単にするために、同じ第2階層である第2分類_1であるカテゴリC31の下位階層を統合する例を示したが、生成装置100は、同じクラスタにクラスタリングされたノードの属性情報の類似性に基づいて、上位階層が異なるカテゴリを統合してもよい。また、上記の統合は一例であり、生成装置100は、種々の条件に基づいて、カテゴリを統合してもよい。例えば、生成装置100は、あるクラスタ中の半分(50%)以上の買主が同じ2つのカテゴリの商品を購入している場合には、2つのカテゴリを統合してもよい。
【0091】
〔6−2.カテゴリの分割〕
次に、図14を用いて、カテゴリの分割について説明する。図14は、カテゴリの分割の一例を示す図である。例えば、生成装置100の第2生成部133は、第2グラフに含まれる複数のクラスタの各々に属するノードに共通する属性情報がある場合、当該属性情報に対応するカテゴリを分割する。
【0092】
図14に示す例では、生成装置100は、カテゴリ情報CLT21−1に示すようなカテゴリ情報を用いる。カテゴリ情報CLT21−1中の「第1階層」には、「第1分類C」のカテゴリC4等が含まれる。また、第1階層である「第1分類C」のカテゴリC4の下位の「第2階層」には、「第2分類_1」のカテゴリC41等が含まれる。また、第2階層である「第2分類_1」のカテゴリC41の下位の「第3階層」には、「第3分類_1」のカテゴリC411や「第3分類_2」のカテゴリC412や「第3分類_3」のカテゴリC413等が含まれる。
【0093】
図14に示す例では、生成装置100は、生成した第2グラフにおけるノード間の連結に基づいて、各ノードをクラスタリングする。例えば、生成装置100は、クラスタ一覧LT21に示すように、生成した第2グラフにおいてエッジで連結されたノードN211やノードN212やノードN213をクラスタCL21としてクラスタリングする。また、例えば、生成装置100は、クラスタ一覧LT21に示すように、生成した第2グラフにおいてエッジで連結されたノードN221やノードN222をクラスタCL22としてクラスタリングする。
【0094】
図14に示す例では、クラスタ一覧LT21に示すように、クラスタCL21に属するノードN211〜N213とクラスタCL22に属するノードN221〜N222とは、カテゴリC411の値が大きい点で共通する。そこで、生成装置100は、カテゴリC411を2つのカテゴリに分割する(ステップS26)。例えば、生成装置100は、図14中のカテゴリ情報CLT21−2に示すように、「第3分類_I−1」のカテゴリC411−1と「第3分類_I−2」のカテゴリC411−2との2つの新たなカテゴリに、カテゴリC411を分割する。例えば、生成装置100は、「第3分類_I−1」のカテゴリC411−1にクラスタCL21に属するノードN211〜N213の属性情報が含まれ、「第3分類_I−2」のカテゴリC411−2にクラスタCL22に属するノードN221〜N222の属性情報が含まれるように、カテゴリC411を分割する。
【0095】
これにより、生成装置100は、クラスタリングの結果に基づいてカテゴリを変更したカテゴリ情報を用いることにより、ノードの属性情報を反映した第2グラフを生成することができる。したがって、生成装置100は、より適切なクラスタリングを行うことが可能となる。なお、図14の例では、説明を簡単にするために、同じ第2階層である第2分類_1であるカテゴリC41の下位階層に分割したカテゴリを配置する例を示したが、生成装置100は、分割したカテゴリを分割前の上位階層とは異なる上位階層の下位階層のカテゴリとして配置してもよい。
【0096】
〔7.アンサンブル〕
上述した例では、生成装置100や生成装置100Aは、1つの属性情報に基づいて第2グラフを生成する場合を示したが、生成装置100や生成装置100Aは、例えば、複数のカテゴリの属性情報に基づいて第2グラフを生成してもよい。言い換えると、生成装置100や生成装置100Aは、ノードに複数の属性情報(ベクトル)が存在する場合に、それらを結合して1つのベクトルとして扱うのではなく、各属性情報に対応するクラスタリングをそれぞれ行い、それらを統合してひとつの結果(第2グラフやクラスタ)を生成してもよい。例えば、複数のカテゴリの属性情報に基づいて第2グラフを生成する処理は、生成装置100や生成装置100Aの第2生成部133が行ってもよい。この点について、図15を用いて説明する。図15は、複数の第2グラフを統合した第2グラフの生成の一例を示す図である。なお、以下では、生成装置100が処理を行う場合を例に示す。図15の例では、生成装置100は、第1カテゴリの属性情報Aとして、例えば、各ノードに対応する買主(ユーザ)が購入した商品のカテゴリ情報を用いる。また、図15では、生成装置100は、第2カテゴリの属性情報Bとして、例えば、各ノードに対応する買主(ユーザ)のデモグラフィック属性に関する情報を用いる。
【0097】
図15に示す例では、生成装置100は、第1グラフ情報NL31に示すような第1グラフ情報を用いる。例えば、図15に示す例において、ノードID「N311」の行とノードID「N312」の列とが交差する領域には、「0」が記憶される。つまり、ノードID「N311」により識別される買主に対応するノードとノードID「N312」により識別される買主に対応するノードとの間にはエッジが連結されていない。また、図15に示す例においては、ノードID「N311」により識別される買主に対応するノードとノードID「N313」により識別される買主に対応するノードとの間にはエッジが連結されている。
【0098】
図15では、生成装置100は、第1グラフ情報NL31と属性情報Aとを用いて第2グラフを生成する(ステップS31)。そして、図15に示す例では、生成装置100は、生成した属性情報Aの第2グラフにおけるノード間の連結に基づいて、各ノードをクラスタリングする。例えば、生成装置100は、クラスタ一覧LT311に示すように、生成した第2グラフにおいてエッジで連結されたノードN311やノードN312やノードN313をクラスタCL311としてクラスタリングする。
【0099】
また、図15では、生成装置100は、第1グラフ情報NL31と属性情報Bとを用いて第2グラフを生成する(ステップS32)。そして、図15に示す例では、生成装置100は、生成した属性情報Bの第2グラフにおけるノード間の連結に基づいて、各ノードをクラスタリングする。例えば、生成装置100は、クラスタ一覧LT312に示すように、生成した第2グラフにおいてエッジで連結されたノードN311やノードN312をクラスタCL321としてクラスタリングする。また、例えば、生成装置100は、クラスタ一覧LT312に示すように、生成した第2グラフにおいてエッジで連結されたノードN314やノードN315をクラスタCL322としてクラスタリングする。
【0100】
そして、生成装置100は、第1カテゴリの第2グラフと第2カテゴリの第2グラフとに基づいて、第2グラフ(以下、「統合第2グラフ」ともいう)を生成する(ステップS33)。図15では、生成装置100は、属性情報Aの第2グラフと属性情報Bの第2グラフとに基づいて、統合第2グラフを生成する。具体的には、生成装置100は、クラスタ一覧LT311に示すようなクラスタと、クラスタ一覧LT312に示すようなクラスタとに基づいて、クラスタ一覧LT31に示すようなクラスタを含む統合第2グラフを生成する。
【0101】
図15の例では、生成装置100は、クラスタ一覧LT311に示すようなクラスタと、クラスタ一覧LT312に示すようなクラスタとの積集合を求める処理により、統合第2グラフを生成する。例えば、生成装置100は、クラスタ一覧LT31に示すように、ノードN311やノードN312が1つのクラスタCL31としてクラスタリングされた統合第2グラフを生成する。すなわち、生成装置100は、ノードN311とノードN312とがエッジで連結された統合第2グラフを生成する。
【0102】
なお、生成装置100は、クラスタ一覧LT311に示すようなクラスタと、クラスタ一覧LT312に示すようなクラスタとの和集合を求める処理により、統合第2グラフを生成してもよい。この場合、生成装置100は、ノードN311やノードN312やノードN313が1つのクラスタとしてクラスタリングされ、ノードN314やノードN315が1つのクラスタとしてクラスタリングされた統合第2グラフを生成する。すなわち、生成装置100は、ノードN311とノードN312とノードN313とがエッジで連結され、ノードN314とノードN315とがエッジで連結された統合第2グラフを生成する。
【0103】
このように、生成装置100は、複数のカテゴリの属性情報を用いて統合第2グラフを生成することにより、各ノードの複数の属性情報を反映した第2グラフを生成することができる。したがって、生成装置100は、より適切なクラスタリングを行うことが可能となる。上述した複数の第2グラフを統合する処理を行う場合、生成装置100や生成装置100Aは、各カテゴリに対応するカテゴリ情報記憶部や、各属性情報に対応する属性情報記憶部やスコア情報記憶部や第2グラフ情報記憶部を有してもよい。また、生成装置100や生成装置100Aは、統合した第2グラフを記憶する統合第2グラフ情報記憶部を有してもよい。
【0104】
なお、上述した統合第2グラフの生成は一例であり、生成装置100は、種々の目的に応じて適宜の手法により統合第2グラフを生成してもよい。例えば、生成装置100は、属性情報ごとの第2グラフにおいてクラスタに属するか否かの0,1のビットを立てて、全属性情報の第2グラフにおけるクラスタリングの結果を合算することでヒートマップを作成してもよい。この場合、生成装置100は、所定の閾値を用いて各属性情報に対応する第2グラフのクラスタを統合した統合クラスタを抽出してもよい。また、生成装置100は、属性情報ごとの第2グラフにおけるクラスタリングの結果に基づいて、クラスタの重心を求めて、重心に近いほど高いスコアをノードに付与することにより、ヒートマップを作成して統合クラスタを抽出してもよい。このように、例えば、生成装置100は、各属性情報の第2グラフにおけるクラスタリングの結果を用いて、統合クラスタを抽出してもよい。例えば、生成装置100は、ある属性情報の第2グラフ中のクラスタのうち、他の属性情報の第2グラフ中のクラスタと所定の閾値以上のノードが重複する場合、その重複するノード群を、統合クラスタとして抽出してもよい。このような統合クラスタを抽出する処理により、生成装置100は、統合第2グラフを生成してもよい。なお、上記は一例であり、生成装置100は、どのような基準により統合第2グラフを生成してもよい。
【0105】
〔8.効果〕
上述してきたように、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、取得部131と、生成部(実施形態においては、「第2生成部133」。以下、同じ)とを有する。取得部131は、ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含む第1グラフを取得する。生成部は、取得部131により取得された第1グラフにおける複数のノードのうち、第1ノード及び第2ノードと第3ノードとの関係性に基づいて、第1ノードと第2ノードとの間のエッジを変更した第2グラフを生成する。
【0106】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、第1ノード及び第2ノードと第3ノードとの関係性に基づいて、第1ノードと第2ノードとの間のエッジを変更した第2グラフを生成することにより、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0107】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、生成部は、第1ノード及び第2ノードとの間がエッジで連結された第3ノードとの関係性に基づいて、第2グラフを生成する。
【0108】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、第1ノード及び第2ノードとの間がエッジで連結された第3ノードとの関係性に基づいて、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0109】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、生成部は、第1ノードと第3ノードとの類似度と、第2ノードと第3ノードとの類似度とに基づいて、第2グラフを生成する。
【0110】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、第1ノードと第3ノードとの類似度と、第2ノードと第3ノードとの類似度とに基づいて、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0111】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、生成部は、第1ノード及び第2ノードとの間がエッジで連結された第3ノードの数に基づいて、第2グラフを生成する。
【0112】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、第1ノード及び第2ノードとの間がエッジで連結された第3ノードの数に基づいて、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0113】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、取得部131は、各第1の主体と所定の関係を有する第2の主体が所定の条件を満たす第1の主体に対応するノード間をエッジで連結した第1グラフを取得する。
【0114】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、各第1の主体と所定の関係を有する第2の主体が所定の条件を満たす第1の主体に対応するノード間をエッジで連結した第1グラフから、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0115】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、取得部131は、第1の主体である買主と所定の関係を有する第2の主体である売主の集合が所定の条件を満たす買主に対応するノード間をエッジで連結した第1グラフを取得する。
【0116】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、買主に対応するノードのうち、各買主と所定の関係を有する売主の集合が所定の条件を満たす買主に対応するノード間をエッジで連結した第1グラフから、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0117】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、取得部131は、買主に対応するノードのうち、所定の回数以上の取引を行った売主の集合間の類似度が所定の閾値以上となるノード間をエッジで連結した第1グラフを取得する。
【0118】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、買主に対応するノードのうち、所定の回数以上の取引を行った売主の集合間の類似度が所定の閾値以上となるノード間をエッジで連結した第1グラフから、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0119】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、取得部131は、各ノードに属性情報が対応付けられた第1グラフを取得する。また、生成部は、第1ノードの属性情報及び第2ノードの属性情報と第3ノードの属性情報との関係性に基づいて、第2グラフを生成する。
【0120】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、第1ノードの属性情報及び第2ノードの属性情報と第3ノードの属性情報との関係性に基づいて、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0121】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、取得部131は、属性情報として各ノードに対応するユーザと所定の関係を有する商品のカテゴリ情報が各ノードに対応付けられた第1グラフを取得する。
【0122】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、属性情報として各ノードに対応するユーザと所定の関係を有する商品のカテゴリ情報が各ノードに対応付けられた第1グラフから、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0123】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、取得部131は、属性情報として各ノードに対応するユーザが購入した商品のカテゴリ情報が各ノードに対応付けられた第1グラフを取得する。
【0124】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、属性情報として各ノードに対応するユーザが購入した商品のカテゴリ情報が各ノードに対応付けられた第1グラフから、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0125】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、取得部131は、属性情報として各ノードに対応するユーザの属性情報が各ノードに対応付けられた第1グラフを取得する。
【0126】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、属性情報として各ノードに対応するユーザの属性情報が各ノードに対応付けられた第1グラフから、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0127】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、生成部は、第2グラフに含まれる所定のクラスタに属するノードの属性情報に基づいて、属性情報に対応するカテゴリを変更する。
【0128】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、第2グラフに含まれる所定のクラスタに属するノードの属性情報に基づいて、属性情報に対応するカテゴリを変更することにより、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0129】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、生成部は、第2グラフに含まれる所定のクラスタに属するノードに共通する属性情報が複数ある場合、当該属性情報に対応するカテゴリを統合する。
【0130】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、クラスタリングの結果に基づいてカテゴリを変更したカテゴリ情報を用いることにより、ノードの属性情報を反映した第2グラフを生成することができる。したがって、生成装置100,100Aは、より適切なクラスタリングを行うことが可能となる。これにより、生成装置100,100Aは、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0131】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、生成部は、第2グラフに含まれる複数のクラスタの各々に属するノードに共通する属性情報がある場合、当該属性情報に対応するカテゴリを分割する。
【0132】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、クラスタリングの結果に基づいてカテゴリを変更したカテゴリ情報を用いることにより、ノードの属性情報を反映した第2グラフを生成することができる。したがって、生成装置100,100Aは、より適切なクラスタリングを行うことが可能となる。これにより、生成装置100,100Aは、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0133】
また、実施形態に係る生成装置100及び変形例に係る生成装置100Aにおいて、取得部131は、各ノードに第1カテゴリの属性情報と第2カテゴリの属性情報とが対応付けられた第1グラフを取得する。また、生成部は、第1ノードの第1カテゴリの属性情報及び第2ノードの第1カテゴリの属性情報と第3ノードの第1カテゴリの属性情報との関係性に基づいて、第1カテゴリの第2グラフを生成し、第1ノードの第2カテゴリの属性情報及び第2ノードの第2カテゴリの属性情報と第3ノードの第2カテゴリの属性情報との関係性に基づいて、第2カテゴリの第2グラフを生成し、第1カテゴリの第2グラフと第2カテゴリの第2グラフとに基づいて、第2グラフを生成する。
【0134】
これにより、実施形態に係る生成装置100及び変形例に係る生成装置100Aは、複数のカテゴリの属性情報を用いて統合第2グラフを生成することにより、各ノードの複数の属性情報を反映した第2グラフを生成することができる。したがって、生成装置100,100Aは、より適切なクラスタリングを行うことが可能となる。つまり、生成装置100,100Aは、ネットワーク上における主体を所望の関係性に基づいて連結するグラフを適切に生成することができる。
【0135】
〔9.ハードウェア構成〕
上述してきた実施形態に係る生成装置100及び変形例に係る生成装置100Aは、例えば図16に示すような構成のコンピュータ1000によって実現される。図16は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0136】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0137】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定のネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定のネットワークNを介して他の機器へ送信する。
【0138】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0139】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0140】
例えば、コンピュータ1000が実施形態に係る生成装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定のネットワークNを介してこれらのプログラムを取得してもよい。
【0141】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0142】
〔10.その他〕
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0143】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第1グラフを生成する装置と、第2グラフを生成する装置は別体であってもよい。
【0144】
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0145】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0146】
100 生成装置
121 取引情報記憶部
122 第1グラフ情報記憶部
123 カテゴリ情報記憶部
124 属性情報記憶部
125 スコア情報記憶部
126 第2グラフ情報記憶部
130 制御部
131 取得部
132 第1生成部
133 第2生成部
134 送信部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16