Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5350319B2 - 友人推薦装置及び方法及びプログラム - Google Patents
[go: Go Back, main page]

JP5350319B2 - 友人推薦装置及び方法及びプログラム - Google Patents

友人推薦装置及び方法及びプログラム Download PDF

Info

Publication number
JP5350319B2
JP5350319B2 JP2010116542A JP2010116542A JP5350319B2 JP 5350319 B2 JP5350319 B2 JP 5350319B2 JP 2010116542 A JP2010116542 A JP 2010116542A JP 2010116542 A JP2010116542 A JP 2010116542A JP 5350319 B2 JP5350319 B2 JP 5350319B2
Authority
JP
Japan
Prior art keywords
communication
users
user
information
weight parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010116542A
Other languages
English (en)
Other versions
JP2011243113A (ja
Inventor
優 甲谷
考 藤村
京介 西田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010116542A priority Critical patent/JP5350319B2/ja
Publication of JP2011243113A publication Critical patent/JP2011243113A/ja
Application granted granted Critical
Publication of JP5350319B2 publication Critical patent/JP5350319B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、友人推薦装置及び方法及びプログラムに係り、特に、BBS(Bulletin Boad System)、SNS(Social Network Service)、QAサイト等の、ネットワーク上で提供されるユーザ間のコミュニケーションにおいて、ユーザの集合であるコミュニティ内のコミュニケーションを活性化させるために、コミュニティの友人を紹介する友人推薦装置及び方法及びプログラムに関する。
近年、インターネットの発展に伴い、ネットワークを介したコミュニケーションが普及している。中でも、メーリングリストや掲示板、チャット、ブログ、QAサイト、ソーシャルネットワーキングサービスなどにおいて、ユーザ間の面識の有無に関わらず、コミュニティを形成し、活発なコミュニケーションおよび情報交換が行われている。
このようなネットワーク上のコミュニティにおいて、さまざまな企業が商品やサービスを宣伝し、さらに消費者の生の声を収集するのに利活用している。ユーザは、自身の趣味や興味に関して、情報交換や情報収集をし、また新たな人との出会いの場として活用している。
そういったコミュニティを活性化する手法は、これまでいくつも提案されてきた。例えば、新旧問わず様々なユーザとコミュニケーションをとっている重要ユーザを発見し、その所属するコミュニティを活性コミュニティとしてユーザに提示する装置が開示されている(例えば、特許文献1参照)。これは、重要ユーザの存在が、ユーザにおける見ず知らずの相手とのコミュニケーションに感じる不安を軽減し、コミュニケーションしやすい環境を作るという仮説に基づいた手法である。
また、友人である可能性の高い2ユーザを発見し、それらにコミュニケーションをとらせる手法も提案されている。友人関係は、離散数学でいうところのグラフにモデル化できる。例えば、ユーザAがユーザBを友人と認識している場合に、A、Bそれぞれをノードとみなし、Aを始点、Bを終点とする有向枝が存在するとみなせば、有向グラフにモデル化できる。このとき、一般のグラフには成長に制約があり、それを利用することでエッジの発生する可能性の高い2ノード、つまり友人になる可能性の高い2ユーザを発見するものがある(例えば、非特許文献1参照)。この手法を用いて友人になる可能性の高い2ユーザにコミュニケーションをとらせることでコミュニティを活性化することができる。
特開2005−235118号公報
Liben-Nowell, D. et al, ``The link prediction problem for social networks'', CIKM '03* Proceedings of the twelfth international conference on Information and knowledge management, ACM Press New York, 2003.
従来のオンラインコミュニティ活性化手法は、コミュニティそのものの性質か、あるいはコミュニティに属する1人のユーザの性質しか着目していない。しかしながら、コミュニケーションは本来2人のユーザで行われるものである。
例えば、特許文献1に記載の手法では、コミュニティの性質からユーザにとってどのコミュニティが参加しやすいかはわかるが、ユーザの性質に着目していないためそのコミュニティのどのメンバとコミュニケーションがとりやすいかはわからない。従って、十分にコミュニティを活性化することはできないと考えられる。
また、非特許文献1記載の、グラフに基づく友人である2ユーザを発見する手法は、一般的なグラフに適用される手法に基づいており、個々のグラフの特性は考慮しない。そのため、十分な精度で友人である2ユーザを発見できないという問題点があった。
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、コミュニティ内のユーザ間の友人関係をグラフにモデル化した際に、そのグラフの特性に基づいて将来友人となる可能性の高い2ユーザを発見し、友人として推薦することによりコミュニケーションを促進することが可能な友人推薦装置及び方法及びプログラムを提供することである。
上記の課題を解決するために、本発明(請求項1)は、各ユーザがIDを持ち、ユーザ間でコミュニケーションをとることを目的とするオンラインコミュニティシステムにおいて、友人を推薦するための友人推薦装置であって、
オンラインコミュニティにおけるユーザを取得し、コミュニケーション記憶手段に格納するコミュニケーション情報取得手段と、
コミュニケーション記憶手段のコミュニケーション情報から、オンラインコミュニティにおける3ユーザをコミュニケーションの有無のパターンから分類し、3−ノードのグラフ情報として3−部分グラフ記憶手段に格納する3−部分グラフ情報取得手段と、
コミュニケーション記憶手段のコミュニケーション情報から、オンラインコミュニティにおける2ユーザについて、コミュニケーションの有無に関する情報と、3−部分グラフ記憶手段の3−部分グラフ情報から、オンラインコミュニティにおける2ユーザについて、2ユーザ以外の別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの頻度を取得し、エッジタイプ記憶手段に格納するエッジタイプ情報取得手段と、
オンラインコミュニティにおける2ユーザについて、エッジタイプ記憶手段に格納されているコミュニケーションの有無に関する情報と、別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とを用いて、重みパラメータを算出し、重みパラメータ記憶手段に格納する重みパラメータ取得手段と、
ユーザの識別子が与えられると、前記コミュニケーションの有無に関する情報と、別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数と、重みパラメータ記憶手段の重みパラメータとを用いて、該ユーザに対して別ユーザを友人として推薦する友人推薦手段と、を有する。
また、本発明(請求項2)は、重みパラメータ算出手段において、
コミュニケーションの有無に関する情報と、別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とに基づいて、ロジスティック回帰分析によって重みパラメータを算出する手段を含む。
また、本発明(請求項3)は、各ユーザがIDを持ち、ユーザ間でコミュニケーションをとることを目的とするオンラインコミュニティシステムにおいて、友人を推薦するための友人推薦方法であって、
コミュニケーション記憶手段、3−部分グラフ記憶手段、エッジタイプ記憶手段、重みパラメータ記憶手段を格納し、コミュニケーション情報取得手段、3−部分グラフ情報取得手段、エッジタイプ情報取得手段、重みパラメータ取得手段、友人推薦手段とを有する装置において、
コミュニケーション情報取得手段が、オンラインコミュニティにおけるユーザを取得し、コミュニケーション記憶手段に格納するコミュニケーション情報取得ステップと、
3−部分グラフ情報取得手段が、コミュニケーション記憶手段のコミュニケーション情報から、オンラインコミュニティにおける3ユーザをコミュニケーションの有無のパターンから分類し、3−ノードのグラフ情報として3−部分グラフ記憶手段に格納する3−部分グラフ情報取得ステップと、
エッジタイプ情報取得手段が、コミュニケーション記憶手段のコミュニケーション情報から、オンラインコミュニティにおける2ユーザについて、コミュニケーションの有無に関する情報と、3−部分グラフ記憶手段の3−部分グラフ情報から、オンラインコミュニティにおける2ユーザについて、2ユーザ以外の別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの頻度を取得し、エッジタイプ記憶手段に格納するエッジタイプ情報取得ステップと、
重みパラメータ取得手段が、オンラインコミュニティにおける2ユーザについて、エッジタイプ記憶手段に格納されているコミュニケーションの有無に関する情報と、別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とを用いて、重みパラメータを算出し、重みパラメータ記憶手段に格納する重みパラメータ取得ステップと、
友人推薦手段が、ユーザの識別子が与えられると、3−部分グラフ記憶手段のコミュニケーションの有無に関する情報と、エッジタイプ記憶手段の別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数と、重みパラメータ記憶手段の重みパラメータとを用いて、該ユーザに対して別ユーザを友人として推薦する友人推薦ステップと、を行う。
また、本発明(請求項4)は、重みパラメータ算出ステップにおいて、
コミュニケーションの有無に関する情報と、別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とに基づいて、ロジスティック回帰分析によって重みパラメータを算出する。
また、本発明(請求項5)は、請求項1乃至請求項2のいずれか1項に記載の友人推薦装置を構成する各手段としてコンピュータを機能させるための友人推薦プログラムである。
本発明はコミュニティの成長過程において、特に3ユーザに注目しその中での友人関係の構造の典型的な変化を発見し、その情報を用いることでそのコミュニティ中で友人となる可能性の高い2ユーザを発見する。友人関係の構造の典型的な変化はコミュニティ毎に抽出されるため、これまでの一般的なネットワークの成長パターンに基づく手法よりも高精度にユーザに友人を推薦できるようになる。
本発明の一実施の形態における友人推薦装置の構成図である。 本発明の一実施の形態におけるコミュニケーション情報テーブルの例である。 本発明の一実施の形態における図2の友人関係を表すグラフである。 本発明の一実施の形態における3−部分グラフ情報テーブルの例である。 本発明の一実施の形態における3−部分グラフにおける各ノードのポジションである。 本発明の一実施の形態における3ノード連結有向グラフの全パターンである。 本発明の一実施の形態におけるエッジタイプ出現頻度テーブルの例である。 本発明の一実施の形態における3−ノード連結有向グラフにより決定されるエッジタイプである。 本発明の一実施の形態における友人推薦時の処理のフローチャートである。 本発明の一実施の形態における図0のステップ200の詳細な処理のフローチャートである。 本発明の一実施の形態における図10のステップ220の詳細な処理のフローチャートである。 本発明の一実施の形態における各3−部分グラフに対応するコミュニケーション行列である。 本発明の一実施の形態における図9のステップ300の詳細な処理のフローチャートである。 本発明の一実施の形態における図13のステップ340の詳細な処理のフローチャートである。 本発明の一実施の形態におけるエッジタイプ決定ルール表(fu,v=0の場合)である。 本発明の一実施の形態におけるエッジタイプ決定ルール表(fu,v=1の場合)である。 本発明の一実施の形態における図9のステップ400の詳細な処理のフローチャートである。 本発明の一実施の形態における重みパラメータ更新時の処理のフローチャートである。
以下図面と共に、本発明の実施の形態を説明する。
本発明も、非特許文献1と同様、ユーザ間の友人関係をグラフにモデル化し、そのグラフの成長の制約に基づいて友人になる可能性の高い2ユーザを発見する。グラフの成長の制約といっても、ネットワークモチーフ(Milo, R. et al., "Network motifs: simple building blocks of complex networks," 2002)と呼ばれるグラフの局所構造に頻繁に出現する部分グラフの形状に着目した手法である。ネットワークモチーフはグラフの種類によって異なることが知られている。そのため、スケールフリー性のような一般的なグラフの成長の制約よりは、より高精度に将来友人となる可能性の高い2ユーザを発見可能であると考えた。
具体的には、一般にグラフにはそれぞれ出現しやすい部分グラフの形状は決まっている。したがって出現しやすい部分グラフを発見できれば、その出現しやすい部分グラフをさらに出現させる2ノード間、すなわちエッジが発生しそうな2ノードを発見することができる。
本発明では、部分グラフでも、特に3ノードのものに着目した。これは、ノード数が増えれば増えるほど計算のコストがかかるためである。2ノード間にエッジが発生するかどうかについて、別のもう1つのノードからなる部分グラフの形状に着目すると、その部分グラフの形状はエッジの有無、方向性、対称性から24種類しか存在しない。つまり着目している2ノードに対して、それ以外の1ノードからなる部分グラフの形状が24種類のどれに分類されるかをカウントする。すると、2ノードは24次元の、各成分が自然数のベクトルとみなせる。
現在のグラフの各2ノード間のエッジの有無を訓練データとし、エッジの無い2ノード間をテストデータとみなせば、従来のベクトル識別モデルの利用が可能となる。すなわち、訓練データからグラフに出現しやすい部分グラフの形状を学習し、その部分グラフの形状に基づきエッジの発生しやすい2ノードを高精度に発見する。その2ノードにあたる2ユーザ間でコミュニケーションを推薦することにより、コミュニティの活性化を図る。
以下に具体的に説明する。
図1は、本発明の一実施の形態における友人推薦装置の構成を示す。
同図に示す友人推薦装置1は、コミュニケーション情報抽出部10、3−部分グラフ情報テーブル構築部20、エッジタイプ出現頻度テーブル構築部30、友人推薦部40、重みパラメータ更新部50、記憶部60、通信部70、入出力部80から構成され、通信部70はネットワーク3に接続されており、入出力部80は、入力装置や表示装置等の外部装置4に接続されている。
3―部分グラフ情報テーブル構築部20は、3−部分グラフマッチング部21から構成される。
記憶部60は、コミュニケーション情報テーブル61、3−部分グラフ情報テーブル62、エッジタイプ出現頻度テーブル63、重みパラメータ記憶部64を格納する記憶媒体である。以下に記憶部60内の各テーブルについて説明する。
<コミュニケーション情報テーブル>
コミュニケーション情報テーブル61には、図2に示すように、ユーザIDフィールド、友人IDフィールドが含まれる。
ユーザIDフィールドは、ユーザを特定する識別子が、コミュニケーション情報抽出部10により設定される。
友人IDフィールドは、当該行のユーザの友人にあたる別のユーザのユーザIDが、コミュニケーション情報抽出部10により設定される。
コミュニケーション情報テーブル61に記載されているユーザ間の友人関係は、各ユーザをノードとし、ユーザIDフィールド記載のユーザに対応するノードから友人IDフィールド記載のユーザに対応するノードへ有向枝を張ると、離散数学で扱う有向グラフにモデル化することができる。図3に、図2のコミュニケーション情報テーブル61の例を有向グラフにモデル化したものを示す。
<3−部分グラフ情報テーブル>
3−部分グラフ情報テーブル62には、図3に示すように、ポジション1ユーザIDフィールド、ポジション2ユーザIDフィールド、ポジション3ユーザIDフィールド、3−部分グラフパターンフィールドが含まれる。
ポジション1〜3フィールドには、当該行の3ユーザの友人関係をグラフで表したときのそれぞれのノードに対応するユーザを特定する識別子が、3?部分グラフ情報テーブル構築部20により設定される。また、図4に3?部分グラフにおける各ノードのポジションを示す。
3−部分グラフパターンフィールドには、当該行の3−部分グラフのパターンを表す数値が、3−部分グラフ情報テーブル構築部20により設定される。
ここで、3−部分グラフのパターンについて説明する。まず、3−部分グラフ情報テーブル62には、連結でない3−部分グラフは設定されない。すなわち、他の2ノードとまったく枝を共有しないノードが存在するような3−部分グラフは設定されない。このような3ノードからなる連結な有向グラフを同型なものは同じパターンとして全て分類すると、図5に示すように13通りしか存在しない。ここで「グラフGがG'と同型である」とは、Gの任意の枝 e=(v,w) について、(f(v),f(w)) がG'に属するような全単射な写像fが存在する、すなわちノードを入れ換えることで全く同じものになることを意味する。
<エッジタイプ出現頻度テーブル>
エッジタイプ出現頻度テーブル63には、図6に示すように、ユーザ1IDフィールド、ユーザ2IDフィールド、友人フィールド、エッジタイプ1〜24出現頻度フィールド が含まれる。
ユーザ1IDフィールド、ユーザ2IDフィールドには、それぞれコミュニケーション情報テーブル61のユーザIDフィールド、もしくは友人IDフィールドに出現するユーザを特定する識別子の、すべての順列がエッジタイプ出現頻度テーブル構築部30により設定される。ただし、ユーザ1IDフィールドとユーザ2IDフィールドが同じ値をとることはない。
友人フィールドは、コミュニケーション情報テーブル61に、ユーザIDフィールドが当該行のユーザ1IDフィールドの値で、かつ友人IDフィールドが当該行のユーザ2IDフィールドの値を持つ行が存在する場合には"1"が、そうでない場合には"0"が、エッジタイプ出現頻度テーブル構築部30により設定される。
次に、エッジタイプについて説明する。グラフに含まれる全ての2ノードの順列(u、v とする)を考える。また、u,vを含む3−部分グラフ全てを抽出する。このとき、uを始点とし、vを終点とする枝がないと仮定した場合でも連結であるような3−部分グラフのみを考える。そのような3−部分グラフの u, v以外のもう1つのノードを今 wとする。このとき、uを始点とし vを終点とするエッジが存在しないと仮定したときの3−部分グラフでの u, v, wの入次数(何本の枝の終点か)と出次数(何本の枝の始点か)と、u を始点とし vを終点とするエッジが存在すると仮定したときの u, v, wの入次数と出次数の取り得る値は全部で24通りしかない。簡単のために図示すると、図8のようになる。
このとき、エッジタイプ1〜24出現頻度フィールドは、当該行のユーザ1 u、ユーザ2 vに対して、エッジタイプ1?24に分類されるような wが何個存在するかが、エッジタイプ出現頻度テーブル構築部30により設定される。
次に、本発明の一実施の形態における友人登録時の処理の流れについて説明する。ユーザ uがユーザ vを友人として登録すると、コミュニケーション情報抽出部10がコミュニケーション情報テーブル61にユーザIDフィールドの値が u、友人IDフィールドの値が vである行を追加する。
次に、図9を用いて本発明の一実施の形態における友人推薦時の流れについて説明する。友人を推薦するタイミングは、ユーザがシステムにログインしたときや、システム管理者側が明示的に友人を推薦する命令をシステムに送ったときが考えられる。
ステップ100)コミュニケーション情報抽出部10が、コミュニケーション情報テーブル61に記載された情報を記憶部60より抽出し、それを3−部分グラフ情報テーブル構築部20とエッジタイプ出現頻度テーブル構築部30、友人推薦部40に受け渡す。
ステップ200)3−部分グラフ情報テーブル構築部20が、コミュニケーション情報抽出部10より受け渡されたコミュニケーション情報テーブル61に記載の情報より3−部分グラフ情報テーブル62を記憶部60に構築し、エッジタイプ出現頻度テーブル構築部30に受け渡す。
ステップ300)エッジタイプ出現頻度テーブル構築部30が、コミュニケーション情報テーブル構築部10により受け渡されたコミュニケーション情報テーブル61記載の情報と、3−部分グラフ情報テーブル構築部20により受け渡された3−部分グラフ情報テーブル62に記載の情報を用いてエッジタイプ情報テーブル63を記憶部60に構築し、友人推薦部40に受け渡す。
ステップ400)友人推薦部40が、コミュニケーション情報テーブル構築部10により受け渡されたコミュニケーション情報テーブル61記載の情報と、エッジタイプ出現頻度テーブル構築部30により受け渡されたエッジタイプ出現頻度テーブル63記載の情報を用いてユーザに友人を推薦する。
次に、上記の図9のステップ200の処理を詳細に説明する。
図10は、本発明の一実施の形態における図9のステップ200の詳細な処理のフローチャートである。
ステップ210)3−部分グラフ情報テーブル構築部20が、コミュニケーション情報テーブル抽出部10より受け渡されたコミュニケーション情報テーブル61の情報中に出現する、ユーザIDフィールド、友人IDフィールドのとりうる値の3つの全組合せを取得する。
ステップ220)3−部分グラフマッチング部21が、3−部分グラフ情報テーブル構築部20より受け渡された前記ユーザIDフィールドの組合せ (u1,u2,u3) をもとに、ユーザIDの組合せ (u1,u2,u3) に対応する3−部分グラフが13種類のパターンのうちどれと一致するかを判別したもの patternu1,u2,u3 と、(u1,u2,u3)のうち3−部分グラフのポジション1、ポジション2、ポジション3にあてはまるユーザIDp1, p2, p3を取得する。
ステップ230)3−部分グラフ情報テーブル構築部22が、ポジション1ユーザIDフィールドの値がp1、ポジション2ユーザIDフィールドの値がp2、ポジション3ユーザIDフィールドの値がp3、3−部分グラフパターンフィールドの値がpatternu1,u2,u3であるような行を3−部分グラフ情報テーブル62に挿入する。
次に、上記の図10のステップ220の処理を詳細に説明する。
図11は、本発明の一実施の形態における図10のステップ220の詳細な処理のフローチャートである。
ステップ221)3−部分グラフマッチング部21が、ユーザIDフィールドの組合せ(u1,u2,u3)に対応する全6通りの順序(u1,u2,u3)、(u1,u3,u2)、(u2,u1,u3)、(u2,u3,u1)、(u3,u1,u2)、(u3,u2,u1)を取得する。
ステップ222)3−部分グラフマッチング部21が、3−部分グラフ情報テーブル構築部20より受け渡されたコミュニケーション情報テーブル61の情報をもとに、ユーザIDフィールドの順序(p1,p2,p3)に対応する3行3列のコミュニケーション行列Mp1,p2,p3を作成する。具体的には、コミュニケーション行列Mp1,p2,p3の各成分は、対角成分の値を*、x行y列の値がユーザIDフィールドの値がpxであり、かつ友人IDフィールドの値がpyであるような行がコミュニケーション情報テーブル61に存在する場合は"1"、ない場合は"0"で与える。なお、コミュニケーション行列Mp1,p2,p3の対角成分の値を*で与えたが、これは他のどのような値でも良い。
図12に、3−部分グラフマッチング処理のための、13種類の各パターンにおけるコミュニケーション行列Mk(k=1,…,13)を示す。各コミュニケーション行列の各成分は、対角成分の値を*、x 行 y 列の値をx番目のノードからy番目のノードにエッジがある場合は"1"、ない場合は"0"で与える。なお、Mkの対角成分の値は、Mp1,p2,p3と一致するように設定する。
ステップ223)3−部分グラフマッチング部21が、一時変数kを用意し、その値を1に初期化する。
ステップ224)3−部分グラフマッチング部21が、ユーザIDフィールドの順列 (p1,p2,p3) に対応する3行3列のコミュニケーション行列 Mp1,p2,p3 とk番目のパターンを表すコミュニケーション行列Mkが一致するかどうかを判別する。
ステップ225)3−部分グラフマッチング部21が、ユーザIDフィールドの順列 (u1,u2,u3) に対応する3−部分グラフパターンフィールドの値 patternu1,u2,u3 をkとし、3−部分グラフ情報データベース構築部22に受け渡す。
ステップ226)3−部分グラフマッチング部21が、一時変数kをインクリメントする。
次に、上記の図9のステップ300の処理を詳細に説明する。
図13は、本発明の一実施の形態における図9のステップ300の詳細な処理のフローチャートである。
ステップ310)エッジタイプ出現頻度テーブル構築部30が、コミュニケーション情報テーブル抽出部10より受け渡されたコミュニケーション情報テーブル61記載の情報中に出現する、ユーザIDフィールド、友人IDフィールドのとりうる値の2つの全順列を取得する。
ステップ320)エッジタイプ出現頻度テーブル構築部30が、コミュニケーション情報テーブル抽出部10より受け渡された前記2ユーザIDの順列(u, v)について、コミュニケーション情報テーブル61にユーザIDフィールドの値が u、友人IDフィールドの値が v であるような行が存在する場合はfu,v=1、存在しない場合は fu,v=0とする。
ステップ330)エッジタイプ出現頻度テーブル構築部30が、3−部分グラフ情報テーブル構築部20より受け渡された3−部分グラフ情報テーブル62中で、ポジション1〜3ユーザIDフィールドに u、v を共に含む行集合Tu,vを取得する。
ステップ340)エッジタイプ出現頻度テーブル構築部30が、u、v、fu,v、Tu,v をもとにエッジタイプ出現頻度テーブル63を更新する。
次に、上記の図13のステップ340の処理を詳細に説明する。
図14は、本発明の一実施の形態における図13のステップ340の詳細な処理のフローチャートである。
ステップ341)エッジタイプ出現頻度テーブル構築部30が、未処理の3−部分グラフ情報 tu,v∈Tu,v のそれぞれについて、当該行tu,vでは3−部分グラフパターンフィールドの値が patternu,v で、ポジション pu(∈{1,2,3}) ユーザIDフィールドの値がuであり、ポジション pv(∈{1,2,3})、ユーザIDフィールドの値がvであるとする。
ステップ342)エッジタイプ出現頻度テーブル構築部30が、fu,v、pu、pv、patternu,v を元に図15、16に示すエッジタイプ決定ルールにてu,vのエッジタイプeu,vを決定する。なお、本実施の形態では、当該エッジタイプ決定ルールは予めメモリ(図示せず)に格納されているものとする。
図15、16に、図13のステップ340におけるエッジタイプ決定ルールを示す。図15は、fu,v =0の場合のエッジタイプ決定ルールである。例えば、2行目7列目は、fu,v =0 かつpu=3かつ pv=2かつ patternu,v=1 のときエッジタイプeu,vが"2"に決まることを表す。同様に、図16は fu,v =1の場合のエッジタイプ決定ルールである。
ステップ343)エッジタイプ出現頻度テーブル構築部30が、エッジタイプ出現頻度テーブル63に、ユーザ1IDフィールドがu 、ユーザ2IDフィールドがvの行が存在しない場合、ユーザ1IDフィールドの値がu、ユーザ2IDフィールドの値がv、友人フィールドの値がfu,v、エッジタイプ1〜24フィールドの値が0の行をエッジタイプ出現頻度テーブル63に挿入する。
ステップ344)エッジタイプ出現頻度テーブル構築部30が、エッジタイプ出現頻度テーブル63記載の情報でユーザ1IDフィールドの値がuで、ユーザ2IDフィールドの値がvの行を取得し、エッジタイプeu,vフィールドの値をインクリメントする。
次に、上記の図9のステップ400の処理を詳細に説明する。
図17は、本発明の一実施の形態における図9のステップ400の詳細な処理のフローチャートである。
ステップ410)友人推薦部40が、コミュニケーション情報抽出部10より受け渡されたコミュニケーション情報テーブル61記載の情報中に出現する、ユーザIDフィールド、友人IDフィールドのとりうる値の2つの全順列を取得する。
ステップ420)友人推薦部40が、コミュニケーション情報抽出部10より受け渡されたコミュニケーション情報テーブル61中にユーザIDフィールドの値がu、かつ友人IDフィールドの値がvの行が存在するか否か判定する。
ステップ430)友人推薦部40が、エッジタイプ出現頻度テーブル62中でユーザ1IDフィールドの値がuで、かつユーザ2IDフィールドの値が v の行のエッジタイプi (i=1,…,24) 出現頻度フィールドの値xu,v,i を取得する。
ステップ440)友人推薦部40が、重みパラメータ記憶部64から重みパラメータλi (i=1,…,24) を取得する。
ステップ450)友人推薦部40が、ユーザ u に対する v の推薦スコア scoreu,v を以下に示す式(1)を用いて算出する。
Figure 0005350319
ステップ460)友人推薦部40が、前記ユーザuに対するvの推薦スコア scoreu,v を用いてユーザuにvを友人として推薦すべきかどうか決定する。その際、推薦スコアの値が大きいものから順に予め設定した任意の人数N(N=1,2,3,…) 人を推薦すべき友人としてもよいし、推薦スコアに対し、ある閾値を設けて、推薦スコアがその値を超えるものを推薦するべき友人としてもよい。
次に、重みパラメータ更新時の処理の詳細について説明する。
図18は、本発明の一実施の形態における重みパラメータ更新時の処理のフローチャートである。重みパラメータは、本実施の形態のように、文献2(Hosmer, D.W. et al., "Applied logistic regression", 2000)記載のロジスティック回帰モデルを用いて自動で算出してもよいし、文献3(Cristianini, N. et al., "An introduction to Support Vector Machines: and other kernel-based learning methods", 2000)記載のサポートベクトルマシン等を用いて自動で算出してもよいし、人手にて適当な重みパラメータを設定してもよい。重みパラメータの更新は、システムの管理者の明示的な入力で開始するようにしてもよいし、定期的にバッチ処理するようにしてもよい。
ステップ510)重みパラメータ更新部50が、コミュニケーション情報抽出部10より受け渡されたコミュニケーション情報テーブル61中のユーザIDフィールド、友人IDフィールドに出現する全2ユーザの順列を取得する。
ステップ520)重みパラメータ更新部50が、前記各2ユーザの順列(u, v)について、エッジタイプ出現頻度テーブル63中でユーザ1IDフィールドの値がuで、かつユーザ2IDフィールドの値がvの行の友人フィールドの値fu,vと、エッジタイプi、出現頻度フィールドの値xu,v,iを取得する。
ステップ530)重みパラメータ更新部50が、前記2ユーザの順列 (u, v)について、以下に示す式(2)を用いてuがvを友人にする確率P(fu,v=1|u,v)を算出する。
Figure 0005350319
上記の式(2)は式(1)の値を確率化したもので、式(1)の値が高ければ高いほど値が1に近づき、式(1)の値が低ければ低いほど値が0に近づく。
ステップ540)重みパラメータ更新部50が、前記全2ユーザの順列 (u, v) について、u が v を友人にする確率から、データに対する重みパラメータ λi (i=0,…,24) の尤度 L(λ)を以下に示す式(3)を用いて算出する。
Figure 0005350319
上記の式(3)は、重みパラメータが与えられたデータ(本実施の形態の場合、u、v、fu,v)にどれだけ適合しているかを表す尺度であり、式(3)で算出される値を最大にするλi が最も適切な重みパラメータとなる。
ステップ550)重みパラメータ更新部50が、文献4(Liu, D.C. et al., "On the limited memory BFGS method for large scale optimization", 1989)記載の準ニュートン法等による最適化手法により、式(3)で表されるL(λ)を最大にするλiを算出する。
ステップ560)重みパラメータ更新部50が、算出した重みパラメータλiを重みパラメータ記憶部64に記録する。
上記のように、本実施の形態によれば、3ユーザ(ノード)に限定して計算コストを抑え、その3ノードのエッジ、方向性、対象性に着目すると24種類に分類することができる。この24種類の各パターンで発生する実際の友人関係の頻度を求めることで、どのパターンで友人関係が発生しやすいかが判別できる。友人関係の発生しやすいパターンを検出し、推薦スコアを算出し、推薦スコアが大きいユーザを推薦すべき友人として出力することができる。
なお、上記の実施の形態の図1に示す友人推薦装置の各構成要素の動作をプログラムとして構築し、友人推薦装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
また、構築されたプログラムをハードディスクや、フレキシブルディスク、CD−ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
1 友人推薦装置
2 外部端末
3 ネットワーク
4 外部装置
10 コミュニケーション情報抽出部
20 3−部分グラフ情報テーブル構築部
21 3−部分グラフマッチング部
30 エッジタイプ出現頻度テーブル構築部
40 友人推薦部
50 重みパラメータ更新部
60 記憶部
61 コミュニケーション情報テーブル
62 3−部分グラフ情報テーブル
63 エッジタイプ出現頻度テーブル
64 重みパラメータ記憶部
70 通信部
80 入出力部

Claims (5)

  1. 各ユーザがIDを持ち、ユーザ間でコミュニケーションをとることを目的とするオンラインコミュニティシステムにおいて、友人を推薦するための友人推薦装置であって、
    前記オンラインコミュニティにおけるユーザを取得し、コミュニケーション記憶手段に格納するコミュニケーション情報取得手段と、
    前記コミュニケーション記憶手段のコミュニケーション情報から、オンラインコミュニティにおける3ユーザをコミュニケーションの有無のパターンから分類し、3−ノードのグラフ情報として3−部分グラフ記憶手段に格納する3−部分グラフ情報取得手段と、
    前記コミュニケーション記憶手段の前記コミュニケーション情報から、オンラインコミュニティにおける2ユーザについて、コミュニケーションの有無に関する情報と、前記3−部分グラフ記憶手段の前記3−部分グラフ情報から、オンラインコミュニティにおける2ユーザについて、2ユーザ以外の別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの頻度を取得し、エッジタイプ記憶手段に格納するエッジタイプ情報取得手段と、
    オンラインコミュニティにおける2ユーザについて、前記エッジタイプ記憶手段に格納されている前記コミュニケーションの有無に関する情報と、前記別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とを用いて、重みパラメータを算出し、重みパラメータ記憶手段に格納する重みパラメータ取得手段と、
    ユーザの識別子が与えられると、前記コミュニケーションの有無に関する情報と、前記別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数と、前記重みパラメータ記憶手段の前記重みパラメータとを用いて、該ユーザに対して別ユーザを友人として推薦する友人推薦手段と、
    を有することを特徴とする友人推薦装置。
  2. 前記重みパラメータ算出手段は、
    前記コミュニケーションの有無に関する情報と、前記別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とに基づいて、ロジスティック回帰分析によって重みパラメータを算出する手段を含む
    請求項1記載の友人推薦装置。
  3. 各ユーザがIDを持ち、ユーザ間でコミュニケーションをとることを目的とするオンラインコミュニティシステムにおいて、友人を推薦するための友人推薦方法であって、
    コミュニケーション記憶手段、3−部分グラフ記憶手段、エッジタイプ記憶手段、重みパラメータ記憶手段を格納し、コミュニケーション情報取得手段、3−部分グラフ情報取得手段、エッジタイプ情報取得手段、重みパラメータ取得手段、友人推薦手段とを有する装置において、
    前記コミュニケーション情報取得手段が、前記オンラインコミュニティにおけるユーザを取得し、前記コミュニケーション記憶手段に格納するコミュニケーション情報取得ステップと、
    前記3−部分グラフ情報取得手段が、前記コミュニケーション記憶手段のコミュニケーション情報から、オンラインコミュニティにおける3ユーザをコミュニケーションの有無のパターンから分類し、3−ノードのグラフ情報として前記3−部分グラフ記憶手段に格納する3−部分グラフ情報取得ステップと、
    前記エッジタイプ情報取得手段が、前記コミュニケーション記憶手段の前記コミュニケーション情報から、オンラインコミュニティにおける2ユーザについて、コミュニケーションの有無に関する情報と、前記3−部分グラフ記憶手段の前記3−部分グラフ情報から、オンラインコミュニティにおける2ユーザについて、2ユーザ以外の別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの頻度を取得し、前記エッジタイプ記憶手段に格納するエッジタイプ情報取得ステップと、
    前記重みパラメータ取得手段が、オンラインコミュニティにおける2ユーザについて、前記エッジタイプ記憶手段に格納されている前記コミュニケーションの有無に関する情報と、前記別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とを用いて、重みパラメータを算出し、前記重みパラメータ記憶手段に格納する重みパラメータ取得ステップと、
    前記友人推薦手段が、ユーザの識別子が与えられると、前記3−部分グラフ記憶手段の前記コミュニケーションの有無に関する情報と、前記エッジタイプ記憶手段の前記別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数と、重みパラメータ記憶手段の前記重みパラメータとを用いて、該ユーザに対して別ユーザを友人として推薦する友人推薦ステップと、
    を行うことを特徴とする友人推薦方法。
  4. 前記重みパラメータ算出ステップにおいて、
    前記コミュニケーションの有無に関する情報と、前記別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とに基づいて、ロジスティック回帰分析によって重みパラメータを算出する
    請求項3記載の友人推薦方法。
  5. 請求項1乃至請求項2のいずれか1項に記載の友人推薦装置を構成する各手段としてコンピュータを機能させるための友人推薦プログラム。
JP2010116542A 2010-05-20 2010-05-20 友人推薦装置及び方法及びプログラム Expired - Fee Related JP5350319B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010116542A JP5350319B2 (ja) 2010-05-20 2010-05-20 友人推薦装置及び方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010116542A JP5350319B2 (ja) 2010-05-20 2010-05-20 友人推薦装置及び方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2011243113A JP2011243113A (ja) 2011-12-01
JP5350319B2 true JP5350319B2 (ja) 2013-11-27

Family

ID=45409672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010116542A Expired - Fee Related JP5350319B2 (ja) 2010-05-20 2010-05-20 友人推薦装置及び方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5350319B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104681B2 (en) * 2011-12-27 2015-08-11 Nhn Corporation Social network service system and method for recommending friend of friend based on intimacy between users
JP6582922B2 (ja) * 2015-11-26 2019-10-02 富士通株式会社 グラフ処理プログラム、グラフ処理方法、および情報処理装置
CN110266583A (zh) * 2019-06-12 2019-09-20 北京达佳互联信息技术有限公司 会话界面显示方法、装置、终端、服务器及存储介质
CN113297504A (zh) * 2020-02-05 2021-08-24 北京达佳互联信息技术有限公司 一种社交账户推荐方法、装置、电子设备和存储介质
JP7328162B2 (ja) * 2020-02-06 2023-08-16 Kddi株式会社 潜在グラフを生成してグラフ変数を推定するモデル、プログラム及び装置、並びに当該モデルの生成方法

Also Published As

Publication number Publication date
JP2011243113A (ja) 2011-12-01

Similar Documents

Publication Publication Date Title
Song et al. Why are some plant–pollinator networks more nested than others?
Pereira et al. Why so many people? explaining nonhabitual transport overcrowding with internet data
Shi et al. Network structure and observational learning: Evidence from a location-based social network
Gilbertson et al. Trade‐offs with telemetry‐derived contact networks for infectious disease studies in wildlife
CN112613917A (zh) 基于用户画像的信息推送方法、装置、设备及存储介质
Vijayan et al. Alignment of dynamic networks
JP5350319B2 (ja) 友人推薦装置及び方法及びプログラム
CN108257070A (zh) 犯罪嫌疑人定位方法、装置、电子设备和存储介质
JP2012150561A (ja) 情報推薦装置及び方法及びプログラム
Hamid et al. A cohesion-based friend-recommendation system
CN110909258B (zh) 一种信息推荐方法、装置、设备及存储介质
US20150379112A1 (en) Creating an on-line job function ontology
Schwarze et al. Structural robustness and vulnerability of networks
CN113205129A (zh) 一种作弊团伙识别方法、装置、电子设备及存储介质
Bordel et al. An agent-based method for trust graph calculation in resource constrained environments
Zheng et al. Friend recommendation in online social networks: Perspective of social influence maximization
Liu et al. Detecting multiple stochastic network motifs in network data
Liu et al. A novel community detection method based on cluster density peaks
CN111626887B (zh) 一种社交关系评估方法及装置
Berger-Wolf et al. Dynamic community identification
Bidgolya et al. A robust opinion spam detection method against malicious attackers in social media
Chakraborty et al. An author is known by the context she keeps: significance of network motifs in scientific collaborations
KR20200020223A (ko) 적합도 기반의 온라인 광고 효과 계산 방법 및 장치
Dhanalakshmi et al. A new method for centrality measurement using generalized fuzzy graphs
Priyambada et al. Curriculum assessment of higher educational institution using trace-segmented clustering

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130805

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130821

R150 Certificate of patent or registration of utility model

Ref document number: 5350319

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees