JP5350319B2 - Friend recommendation device, method and program - Google Patents

Friend recommendation device, method and program 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
Japanese (ja)
Other versions
JP2011243113A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010116542A priority Critical patent/JP5350319B2/en
Publication of JP2011243113A publication Critical patent/JP2011243113A/en
Application granted granted Critical
Publication of JP5350319B2 publication Critical patent/JP5350319B2/en
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サイト等の、ネットワーク上で提供されるユーザ間のコミュニケーションにおいて、ユーザの集合であるコミュニティ内のコミュニケーションを活性化させるために、コミュニティの友人を紹介する友人推薦装置及び方法及びプログラムに関する。   The present invention relates to a friend recommendation device, method and program, and in particular, in communication between users provided on a network, such as BBS (Bulletin Boad System), SNS (Social Network Service), QA site, etc. The present invention relates to a friend recommendation device, method and program for introducing friends in a community in order to activate communication within the community.

近年、インターネットの発展に伴い、ネットワークを介したコミュニケーションが普及している。中でも、メーリングリストや掲示板、チャット、ブログ、QAサイト、ソーシャルネットワーキングサービスなどにおいて、ユーザ間の面識の有無に関わらず、コミュニティを形成し、活発なコミュニケーションおよび情報交換が行われている。   In recent years, with the development of the Internet, communication via a network has become widespread. In particular, a mailing list, a bulletin board, a chat, a blog, a QA site, a social networking service, and the like form a community and actively communicate and exchange information regardless of whether or not there is an acquaintance between users.

このようなネットワーク上のコミュニティにおいて、さまざまな企業が商品やサービスを宣伝し、さらに消費者の生の声を収集するのに利活用している。ユーザは、自身の趣味や興味に関して、情報交換や情報収集をし、また新たな人との出会いの場として活用している。   In such a networked community, various companies use it to advertise products and services and to collect consumer voices. Users exchange information and collect information about their hobbies and interests, and use it as a place to meet new people.

そういったコミュニティを活性化する手法は、これまでいくつも提案されてきた。例えば、新旧問わず様々なユーザとコミュニケーションをとっている重要ユーザを発見し、その所属するコミュニティを活性コミュニティとしてユーザに提示する装置が開示されている(例えば、特許文献1参照)。これは、重要ユーザの存在が、ユーザにおける見ず知らずの相手とのコミュニケーションに感じる不安を軽減し、コミュニケーションしやすい環境を作るという仮説に基づいた手法である。   A number of methods for activating such communities have been proposed. For example, an apparatus that discovers an important user who is communicating with various users regardless of old or new and presents the community to which the user belongs as an active community is disclosed (for example, see Patent Document 1). This is a method based on the hypothesis that the presence of an important user reduces the anxiety felt in communication with a stranger in the user and creates an environment where communication is easy.

また、友人である可能性の高い2ユーザを発見し、それらにコミュニケーションをとらせる手法も提案されている。友人関係は、離散数学でいうところのグラフにモデル化できる。例えば、ユーザAがユーザBを友人と認識している場合に、A、Bそれぞれをノードとみなし、Aを始点、Bを終点とする有向枝が存在するとみなせば、有向グラフにモデル化できる。このとき、一般のグラフには成長に制約があり、それを利用することでエッジの発生する可能性の高い2ノード、つまり友人になる可能性の高い2ユーザを発見するものがある(例えば、非特許文献1参照)。この手法を用いて友人になる可能性の高い2ユーザにコミュニケーションをとらせることでコミュニティを活性化することができる。   In addition, a method of finding two users who are likely to be friends and allowing them to communicate with each other has been proposed. Friendship can be modeled as a graph in discrete mathematics. For example, when user A recognizes user B as a friend, A and B are regarded as nodes, and if a directional branch having A as a start point and B as an end point exists, it can be modeled as a directed graph. At this time, there is a growth limitation in a general graph, and there are those that find two nodes that are likely to generate edges, that is, two users who are likely to be friends (for example, Non-patent document 1). A community can be activated by having two users who are likely to become friends using this method communicate.

特開2005−235118号公報JP-A-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.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人のユーザで行われるものである。   Conventional online community activation techniques focus only on the nature of the community itself or the nature of a single user belonging to the community. However, communication is originally performed by two users.

例えば、特許文献1に記載の手法では、コミュニティの性質からユーザにとってどのコミュニティが参加しやすいかはわかるが、ユーザの性質に着目していないためそのコミュニティのどのメンバとコミュニケーションがとりやすいかはわからない。従って、十分にコミュニティを活性化することはできないと考えられる。   For example, in the technique described in Patent Document 1, it is possible to know which community is easy for the user to participate from the nature of the community, but since it does not focus on the nature of the user, it is not known which member of the community can easily communicate with. . Therefore, it is considered that the community cannot be fully activated.

また、非特許文献1記載の、グラフに基づく友人である2ユーザを発見する手法は、一般的なグラフに適用される手法に基づいており、個々のグラフの特性は考慮しない。そのため、十分な精度で友人である2ユーザを発見できないという問題点があった。   Further, the method described in Non-Patent Document 1 for finding two users who are friends based on a graph is based on a method applied to a general graph, and does not consider the characteristics of individual graphs. Therefore, there is a problem that it is not possible to find two friends who are friends with sufficient accuracy.

本発明は、このような問題に鑑みてなされたもので、その目的とするところは、コミュニティ内のユーザ間の友人関係をグラフにモデル化した際に、そのグラフの特性に基づいて将来友人となる可能性の高い2ユーザを発見し、友人として推薦することによりコミュニケーションを促進することが可能な友人推薦装置及び方法及びプログラムを提供することである。   The present invention has been made in view of such a problem, and the purpose of the present invention is to create a graph of friendships between users in a community, and based on the characteristics of the graph, It is an object to provide a friend recommendation device, method, and program capable of facilitating communication by finding two users who are likely to become and recommending them as friends.

上記の課題を解決するために、本発明(請求項1)は、各ユーザがIDを持ち、ユーザ間でコミュニケーションをとることを目的とするオンラインコミュニティシステムにおいて、友人を推薦するための友人推薦装置であって、
オンラインコミュニティにおけるユーザを取得し、コミュニケーション記憶手段に格納するコミュニケーション情報取得手段と、
コミュニケーション記憶手段のコミュニケーション情報から、オンラインコミュニティにおける3ユーザをコミュニケーションの有無のパターンから分類し、3−ノードのグラフ情報として3−部分グラフ記憶手段に格納する3−部分グラフ情報取得手段と、
コミュニケーション記憶手段のコミュニケーション情報から、オンラインコミュニティにおける2ユーザについて、コミュニケーションの有無に関する情報と、3−部分グラフ記憶手段の3−部分グラフ情報から、オンラインコミュニティにおける2ユーザについて、2ユーザ以外の別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの頻度を取得し、エッジタイプ記憶手段に格納するエッジタイプ情報取得手段と、
オンラインコミュニティにおける2ユーザについて、エッジタイプ記憶手段に格納されているコミュニケーションの有無に関する情報と、別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とを用いて、重みパラメータを算出し、重みパラメータ記憶手段に格納する重みパラメータ取得手段と、
ユーザの識別子が与えられると、前記コミュニケーションの有無に関する情報と、別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数と、重みパラメータ記憶手段の重みパラメータとを用いて、該ユーザに対して別ユーザを友人として推薦する友人推薦手段と、を有する。
In order to solve the above-mentioned problems, the present invention (Claim 1) is directed to a friend recommendation device for recommending friends in an online community system in which each user has an ID and aims to communicate with each other. Because
Communication information acquisition means for acquiring users in an online community and storing them in a communication storage means;
3-partial graph information acquisition means for classifying the three users in the online community from the communication information of the communication storage means based on the presence / absence pattern of communication, and storing it in the 3-partial graph storage means as 3-node graph information;
From the communication information in the communication storage means, information about the presence or absence of communication for two users in the online community, and from the 3-partial graph information in the three-part graph storage means, for two users in the online community, another one other than two users Edge type information acquisition means for acquiring the frequency of which each user is classified according to the pattern of presence / absence of communication of three users, and storing in the edge type storage means;
For the two users in the online community, using the information on the presence / absence of communication stored in the edge type storage means and the number of other users classified into the pattern of presence / absence of communication of three users, respectively. , Weight parameter acquisition means for calculating weight parameters and storing them in weight parameter storage means;
When a user identifier is given, information on the presence / absence of communication, the number of another user classified as a pattern of presence / absence of communication of three users, and the weight parameter of the weight parameter storage means And a friend recommendation means for recommending another user as a friend to the user.

また、本発明(請求項2)は、重みパラメータ算出手段において、
コミュニケーションの有無に関する情報と、別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とに基づいて、ロジスティック回帰分析によって重みパラメータを算出する手段を含む。
Further, the present invention (Claim 2) is a weight parameter calculating means,
Means for calculating a weight parameter by logistic regression analysis based on information on the presence / absence of communication and the number of another user classified into each of the patterns of presence / absence of communication of three users.

また、本発明(請求項3)は、各ユーザがIDを持ち、ユーザ間でコミュニケーションをとることを目的とするオンラインコミュニティシステムにおいて、友人を推薦するための友人推薦方法であって、
コミュニケーション記憶手段、3−部分グラフ記憶手段、エッジタイプ記憶手段、重みパラメータ記憶手段を格納し、コミュニケーション情報取得手段、3−部分グラフ情報取得手段、エッジタイプ情報取得手段、重みパラメータ取得手段、友人推薦手段とを有する装置において、
コミュニケーション情報取得手段が、オンラインコミュニティにおけるユーザを取得し、コミュニケーション記憶手段に格納するコミュニケーション情報取得ステップと、
3−部分グラフ情報取得手段が、コミュニケーション記憶手段のコミュニケーション情報から、オンラインコミュニティにおける3ユーザをコミュニケーションの有無のパターンから分類し、3−ノードのグラフ情報として3−部分グラフ記憶手段に格納する3−部分グラフ情報取得ステップと、
エッジタイプ情報取得手段が、コミュニケーション記憶手段のコミュニケーション情報から、オンラインコミュニティにおける2ユーザについて、コミュニケーションの有無に関する情報と、3−部分グラフ記憶手段の3−部分グラフ情報から、オンラインコミュニティにおける2ユーザについて、2ユーザ以外の別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの頻度を取得し、エッジタイプ記憶手段に格納するエッジタイプ情報取得ステップと、
重みパラメータ取得手段が、オンラインコミュニティにおける2ユーザについて、エッジタイプ記憶手段に格納されているコミュニケーションの有無に関する情報と、別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とを用いて、重みパラメータを算出し、重みパラメータ記憶手段に格納する重みパラメータ取得ステップと、
友人推薦手段が、ユーザの識別子が与えられると、3−部分グラフ記憶手段のコミュニケーションの有無に関する情報と、エッジタイプ記憶手段の別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数と、重みパラメータ記憶手段の重みパラメータとを用いて、該ユーザに対して別ユーザを友人として推薦する友人推薦ステップと、を行う。
Further, the present invention (Claim 3) is a friend recommendation method for recommending a friend in an online community system for which each user has an ID and aims to communicate between users,
Communication storage means, 3-part graph storage means, edge type storage means, weight parameter storage means are stored, communication information acquisition means, 3-part graph information acquisition means, edge type information acquisition means, weight parameter acquisition means, friend recommendation A device having means for:
A communication information acquisition means for acquiring a user in an online community and storing it in a communication storage means;
The 3-partial graph information acquisition unit classifies the three users in the online community from the communication presence / absence pattern based on the communication information stored in the communication storage unit, and stores the information in the 3-partial graph storage unit as 3-node graph information. A subgraph information acquisition step;
The edge type information acquisition means, from the communication information of the communication storage means, about two users in the online community, information about the presence or absence of communication, from the 3-partial graph information of the 3-partial graph storage means, about two users in the online community, An edge type information acquisition step of acquiring the frequency of which one user other than the two users is classified according to the pattern of presence / absence of communication of each of the three users, and storing the frequency in an edge type storage unit;
For the two users in the online community, the weight parameter acquisition means is classified into the information on the presence / absence of communication stored in the edge type storage means and the pattern of the presence / absence of communication of another one user for each of the three users. A weight parameter obtaining step of calculating a weight parameter using the number of and storing the weight parameter in a weight parameter storage means;
When the friend recommendation means is given a user identifier, the information about the presence / absence of communication of the 3-partial graph storage means and another user of the edge type storage means are classified into the patterns of presence / absence of communication of 3 users respectively. The friend recommendation step of recommending another user as a friend to the user is performed using the number of the received parameters and the weight parameter of the weight parameter storage means.

また、本発明(請求項4)は、重みパラメータ算出ステップにおいて、
コミュニケーションの有無に関する情報と、別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とに基づいて、ロジスティック回帰分析によって重みパラメータを算出する。
Further, the present invention (Claim 4) is the weight parameter calculating step,
A weight parameter is calculated by logistic regression analysis based on information on the presence / absence of communication and the number of another user classified into the pattern of presence / absence of communication of three users.

また、本発明(請求項5)は、請求項1乃至請求項2のいずれか1項に記載の友人推薦装置を構成する各手段としてコンピュータを機能させるための友人推薦プログラムである。   Moreover, this invention (Claim 5) is a friend recommendation program for functioning a computer as each means which comprises the friend recommendation apparatus of any one of Claim 1 thru | or 2.

本発明はコミュニティの成長過程において、特に3ユーザに注目しその中での友人関係の構造の典型的な変化を発見し、その情報を用いることでそのコミュニティ中で友人となる可能性の高い2ユーザを発見する。友人関係の構造の典型的な変化はコミュニティ毎に抽出されるため、これまでの一般的なネットワークの成長パターンに基づく手法よりも高精度にユーザに友人を推薦できるようになる。   The present invention finds a typical change in the structure of friendships in the growth process of a community, particularly paying attention to three users, and using the information 2 is likely to be friends in the community. Discover users. Since typical changes in the structure of friendship are extracted for each community, it becomes possible to recommend friends to users with higher accuracy than the conventional method based on the growth pattern of the network.

本発明の一実施の形態における友人推薦装置の構成図である。It is a block diagram of the friend recommendation apparatus in one embodiment of this invention. 本発明の一実施の形態におけるコミュニケーション情報テーブルの例である。It is an example of the communication information table in one embodiment of this invention. 本発明の一実施の形態における図2の友人関係を表すグラフである。It is a graph showing the friend relationship of FIG. 2 in one embodiment of this invention. 本発明の一実施の形態における3−部分グラフ情報テーブルの例である。It is an example of the 3-partial graph information table in one embodiment of this invention. 本発明の一実施の形態における3−部分グラフにおける各ノードのポジションである。It is the position of each node in the 3-partial graph in one embodiment of this invention. 本発明の一実施の形態における3ノード連結有向グラフの全パターンである。It is all the patterns of the 3 node connection directed graph in one embodiment of this invention. 本発明の一実施の形態におけるエッジタイプ出現頻度テーブルの例である。It is an example of the edge type appearance frequency table in one embodiment of this invention. 本発明の一実施の形態における3−ノード連結有向グラフにより決定されるエッジタイプである。It is an edge type determined by the 3-node connected directed graph in one embodiment of the present invention. 本発明の一実施の形態における友人推薦時の処理のフローチャートである。It is a flowchart of the process at the time of friend recommendation in one embodiment of this invention. 本発明の一実施の形態における図0のステップ200の詳細な処理のフローチャートである。It is a flowchart of the detailed process of step 200 of FIG. 0 in one embodiment of this invention. 本発明の一実施の形態における図10のステップ220の詳細な処理のフローチャートである。It is a flowchart of the detailed process of step 220 of FIG. 10 in one embodiment of this invention. 本発明の一実施の形態における各3−部分グラフに対応するコミュニケーション行列である。It is a communication matrix corresponding to each 3-subgraph in one embodiment of the present invention. 本発明の一実施の形態における図9のステップ300の詳細な処理のフローチャートである。It is a flowchart of the detailed process of step 300 of FIG. 9 in one embodiment of this invention. 本発明の一実施の形態における図13のステップ340の詳細な処理のフローチャートである。It is a flowchart of the detailed process of step 340 of FIG. 13 in one embodiment of this invention. 本発明の一実施の形態におけるエッジタイプ決定ルール表(fu,v=0の場合)である。It is an edge type determination rule table (in the case of f u, v = 0) in an embodiment of the present invention. 本発明の一実施の形態におけるエッジタイプ決定ルール表(fu,v=1の場合)である。It is an edge type determination rule table (in the case of f u, v = 1) in an embodiment of the present invention. 本発明の一実施の形態における図9のステップ400の詳細な処理のフローチャートである。It is a flowchart of the detailed process of step 400 of FIG. 9 in one embodiment of this invention. 本発明の一実施の形態における重みパラメータ更新時の処理のフローチャートである。It is a flowchart of the process at the time of the weight parameter update in one embodiment of this invention.

以下図面と共に、本発明の実施の形態を説明する。   Embodiments of the present invention will be described below with reference to the drawings.

本発明も、非特許文献1と同様、ユーザ間の友人関係をグラフにモデル化し、そのグラフの成長の制約に基づいて友人になる可能性の高い2ユーザを発見する。グラフの成長の制約といっても、ネットワークモチーフ(Milo, R. et al., "Network motifs: simple building blocks of complex networks," 2002)と呼ばれるグラフの局所構造に頻繁に出現する部分グラフの形状に着目した手法である。ネットワークモチーフはグラフの種類によって異なることが知られている。そのため、スケールフリー性のような一般的なグラフの成長の制約よりは、より高精度に将来友人となる可能性の高い2ユーザを発見可能であると考えた。   In the present invention, similar to Non-Patent Document 1, a friendship between users is modeled in a graph, and two users who are likely to be friends are found based on the growth constraint of the graph. The shape of a subgraph that frequently appears in the local structure of a graph called network motifs (Milo, R. et al., "Network motifs: simple building blocks of complex networks," 2002) It is a method that pays attention to. It is known that network motifs differ depending on the type of graph. Therefore, we considered that it is possible to find two users who are more likely to be friends in the future with higher accuracy than the restriction of general graph growth such as scale-freeness.

具体的には、一般にグラフにはそれぞれ出現しやすい部分グラフの形状は決まっている。したがって出現しやすい部分グラフを発見できれば、その出現しやすい部分グラフをさらに出現させる2ノード間、すなわちエッジが発生しそうな2ノードを発見することができる。   Specifically, in general, the shape of a subgraph that is likely to appear in each graph is determined. Therefore, if a subgraph that is likely to appear can be found, it is possible to find a node between two nodes that cause the subgraph that is likely to appear, that is, two nodes that are likely to generate an edge.

本発明では、部分グラフでも、特に3ノードのものに着目した。これは、ノード数が増えれば増えるほど計算のコストがかかるためである。2ノード間にエッジが発生するかどうかについて、別のもう1つのノードからなる部分グラフの形状に着目すると、その部分グラフの形状はエッジの有無、方向性、対称性から24種類しか存在しない。つまり着目している2ノードに対して、それ以外の1ノードからなる部分グラフの形状が24種類のどれに分類されるかをカウントする。すると、2ノードは24次元の、各成分が自然数のベクトルとみなせる。   In the present invention, attention is paid particularly to a subgraph having three nodes. This is because the calculation cost increases as the number of nodes increases. As to whether or not an edge is generated between two nodes, paying attention to the shape of a subgraph consisting of another node, there are only 24 types of subgraphs due to the presence / absence of edges, directionality, and symmetry. That is, it counts to which of 24 types the shape of the subgraph consisting of one node other than the two nodes of interest is classified. Then, the two nodes can be regarded as 24-dimensional, each component being a natural number vector.

現在のグラフの各2ノード間のエッジの有無を訓練データとし、エッジの無い2ノード間をテストデータとみなせば、従来のベクトル識別モデルの利用が可能となる。すなわち、訓練データからグラフに出現しやすい部分グラフの形状を学習し、その部分グラフの形状に基づきエッジの発生しやすい2ノードを高精度に発見する。その2ノードにあたる2ユーザ間でコミュニケーションを推薦することにより、コミュニティの活性化を図る。   If the presence or absence of an edge between each two nodes of the current graph is used as training data, and the two nodes without an edge are regarded as test data, the conventional vector identification model can be used. That is, the shape of a subgraph that is likely to appear in the graph is learned from the training data, and two nodes that are likely to generate edges are found with high accuracy based on the shape of the subgraph. The community is activated by recommending communication between two users corresponding to the two nodes.

以下に具体的に説明する。   This will be specifically described below.

図1は、本発明の一実施の形態における友人推薦装置の構成を示す。   FIG. 1 shows a configuration of a friend recommendation device according to an embodiment of the present invention.

同図に示す友人推薦装置1は、コミュニケーション情報抽出部10、3−部分グラフ情報テーブル構築部20、エッジタイプ出現頻度テーブル構築部30、友人推薦部40、重みパラメータ更新部50、記憶部60、通信部70、入出力部80から構成され、通信部70はネットワーク3に接続されており、入出力部80は、入力装置や表示装置等の外部装置4に接続されている。   The friend recommendation device 1 shown in the figure includes a communication information extraction unit 10, a 3-part graph information table construction unit 20, an edge type appearance frequency table construction unit 30, a friend recommendation unit 40, a weight parameter update unit 50, a storage unit 60, The communication unit 70 includes an input / output unit 80. The communication unit 70 is connected to the network 3, and the input / output unit 80 is connected to an external device 4 such as an input device or a display device.

3―部分グラフ情報テーブル構築部20は、3−部分グラフマッチング部21から構成される。   The 3-partial graph information table construction unit 20 includes a 3-partial graph matching unit 21.

記憶部60は、コミュニケーション情報テーブル61、3−部分グラフ情報テーブル62、エッジタイプ出現頻度テーブル63、重みパラメータ記憶部64を格納する記憶媒体である。以下に記憶部60内の各テーブルについて説明する。   The storage unit 60 is a storage medium that stores a communication information table 61, a 3-partial graph information table 62, an edge type appearance frequency table 63, and a weight parameter storage unit 64. Each table in the storage unit 60 will be described below.

<コミュニケーション情報テーブル>
コミュニケーション情報テーブル61には、図2に示すように、ユーザIDフィールド、友人IDフィールドが含まれる。
<Communication information table>
As shown in FIG. 2, the communication information table 61 includes a user ID field and a friend ID field.

ユーザIDフィールドは、ユーザを特定する識別子が、コミュニケーション情報抽出部10により設定される。   In the user ID field, an identifier for identifying a user is set by the communication information extraction unit 10.

友人IDフィールドは、当該行のユーザの友人にあたる別のユーザのユーザIDが、コミュニケーション情報抽出部10により設定される。   In the friend ID field, the communication information extraction unit 10 sets a user ID of another user who is a friend of the user in the row.

コミュニケーション情報テーブル61に記載されているユーザ間の友人関係は、各ユーザをノードとし、ユーザIDフィールド記載のユーザに対応するノードから友人IDフィールド記載のユーザに対応するノードへ有向枝を張ると、離散数学で扱う有向グラフにモデル化することができる。図3に、図2のコミュニケーション情報テーブル61の例を有向グラフにモデル化したものを示す。   The friend relationship between users described in the communication information table 61 is that each user is a node, and a directional branch is extended from a node corresponding to the user described in the user ID field to a node corresponding to the user described in the friend ID field. Can be modeled as a directed graph in discrete mathematics. FIG. 3 shows an example of the communication information table 61 of FIG. 2 modeled as a directed graph.

<3−部分グラフ情報テーブル>
3−部分グラフ情報テーブル62には、図3に示すように、ポジション1ユーザIDフィールド、ポジション2ユーザIDフィールド、ポジション3ユーザIDフィールド、3−部分グラフパターンフィールドが含まれる。
<3-Partial graph information table>
As shown in FIG. 3, the 3-part graph information table 62 includes a position 1 user ID field, a position 2 user ID field, a position 3 user ID field, and a 3-part graph pattern field.

ポジション1〜3フィールドには、当該行の3ユーザの友人関係をグラフで表したときのそれぞれのノードに対応するユーザを特定する識別子が、3?部分グラフ情報テーブル構築部20により設定される。また、図4に3?部分グラフにおける各ノードのポジションを示す。   In the positions 1 to 3 fields, an identifier for identifying a user corresponding to each node when the friend relationship of the three users in the row is represented by a graph is set by the 3? Partial graph information table construction unit 20. FIG. 4 shows the position of each node in the 3? Subgraph.

3−部分グラフパターンフィールドには、当該行の3−部分グラフのパターンを表す数値が、3−部分グラフ情報テーブル構築部20により設定される。   In the 3-partial graph pattern field, a numerical value representing the pattern of the 3-partial graph of the row is set by the 3-partial graph information table construction unit 20.

ここで、3−部分グラフのパターンについて説明する。まず、3−部分グラフ情報テーブル62には、連結でない3−部分グラフは設定されない。すなわち、他の2ノードとまったく枝を共有しないノードが存在するような3−部分グラフは設定されない。このような3ノードからなる連結な有向グラフを同型なものは同じパターンとして全て分類すると、図5に示すように13通りしか存在しない。ここで「グラフGがG'と同型である」とは、Gの任意の枝 e=(v,w) について、(f(v),f(w)) がG'に属するような全単射な写像fが存在する、すなわちノードを入れ換えることで全く同じものになることを意味する。   Here, the pattern of the 3-part graph will be described. First, a 3-partial graph that is not connected is not set in the 3-partial graph information table 62. That is, a 3-partial graph in which there is a node that does not share any branches with the other two nodes is not set. If all of the same types of such directed three-node connected graphs are classified as the same pattern, there are only 13 patterns as shown in FIG. Here, “the graph G is isomorphic to G ′” means that for any branch e = (v, w) of G, all units such that (f (v), f (w)) belong to G ′. This means that there is a projective map f, that is, it becomes exactly the same by exchanging nodes.

<エッジタイプ出現頻度テーブル>
エッジタイプ出現頻度テーブル63には、図6に示すように、ユーザ1IDフィールド、ユーザ2IDフィールド、友人フィールド、エッジタイプ1〜24出現頻度フィールド が含まれる。
<Edge type appearance frequency table>
As shown in FIG. 6, the edge type appearance frequency table 63 includes a user 1 ID field, a user 2 ID field, a friend field, and edge type 1 to 24 appearance frequency fields.

ユーザ1IDフィールド、ユーザ2IDフィールドには、それぞれコミュニケーション情報テーブル61のユーザIDフィールド、もしくは友人IDフィールドに出現するユーザを特定する識別子の、すべての順列がエッジタイプ出現頻度テーブル構築部30により設定される。ただし、ユーザ1IDフィールドとユーザ2IDフィールドが同じ値をとることはない。   In the user 1 ID field and the user 2 ID field, all permutations of identifiers that identify users appearing in the user ID field or the friend ID field of the communication information table 61 are set by the edge type appearance frequency table construction unit 30, respectively. . However, the user 1 ID field and the user 2 ID field do not take the same value.

友人フィールドは、コミュニケーション情報テーブル61に、ユーザIDフィールドが当該行のユーザ1IDフィールドの値で、かつ友人IDフィールドが当該行のユーザ2IDフィールドの値を持つ行が存在する場合には"1"が、そうでない場合には"0"が、エッジタイプ出現頻度テーブル構築部30により設定される。   The friend field is “1” when there is a row in the communication information table 61 where the user ID field has the value of the user 1 ID field of the row and the friend ID field has the value of the user 2 ID field of the row. Otherwise, “0” is set by the edge type appearance frequency table construction unit 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のようになる。   Next, the edge type will be described. Consider all 2-node permutations (u, v) in the graph. Also, all 3-partial graphs including u and v are extracted. At this time, only a 3-partial graph that is connected even if it is assumed that there is no branch starting from u and ending at v is considered. Let another node other than u and v in such a 3-partial graph be now w. In this case, assuming that there is no edge with u as the start point and v as the end point, the entry order (how many branches end) of u, v, and w in the 3-partial graph and the output order (how many) There are only 24 possible values for the input and output orders of u, v, and w, assuming that there is an edge with u as the start point and v as the end point. For simplicity, it is as shown in FIG.

このとき、エッジタイプ1〜24出現頻度フィールドは、当該行のユーザ1 u、ユーザ2 vに対して、エッジタイプ1?24に分類されるような wが何個存在するかが、エッジタイプ出現頻度テーブル構築部30により設定される。   At this time, the edge type 1-24 appearance frequency field indicates the number of ws classified as edge types 1-24 for the user 1 u and the user 2 v in the row. It is set by the frequency table construction unit 30.

次に、本発明の一実施の形態における友人登録時の処理の流れについて説明する。ユーザ uがユーザ vを友人として登録すると、コミュニケーション情報抽出部10がコミュニケーション情報テーブル61にユーザIDフィールドの値が u、友人IDフィールドの値が vである行を追加する。   Next, the flow of processing at the time of friend registration in an embodiment of the present invention will be described. When the user u registers the user v as a friend, the communication information extraction unit 10 adds a line in the communication information table 61 where the value of the user ID field is u and the value of the friend ID field is v.

次に、図9を用いて本発明の一実施の形態における友人推薦時の流れについて説明する。友人を推薦するタイミングは、ユーザがシステムにログインしたときや、システム管理者側が明示的に友人を推薦する命令をシステムに送ったときが考えられる。   Next, the flow at the time of friend recommendation in one embodiment of the present invention will be described with reference to FIG. The timing of recommending a friend may be when the user logs in to the system or when the system administrator explicitly sends a command to recommend a friend to the system.

ステップ100)コミュニケーション情報抽出部10が、コミュニケーション情報テーブル61に記載された情報を記憶部60より抽出し、それを3−部分グラフ情報テーブル構築部20とエッジタイプ出現頻度テーブル構築部30、友人推薦部40に受け渡す。   Step 100) The communication information extraction unit 10 extracts information described in the communication information table 61 from the storage unit 60, and extracts it from the 3-part graph information table construction unit 20, the edge type appearance frequency table construction unit 30, and friend recommendation. Delivered to part 40.

ステップ200)3−部分グラフ情報テーブル構築部20が、コミュニケーション情報抽出部10より受け渡されたコミュニケーション情報テーブル61に記載の情報より3−部分グラフ情報テーブル62を記憶部60に構築し、エッジタイプ出現頻度テーブル構築部30に受け渡す。   Step 200) The 3-partial graph information table construction unit 20 constructs the 3-partial graph information table 62 in the storage unit 60 from the information described in the communication information table 61 delivered from the communication information extraction unit 10, and the edge type. Delivered to the appearance frequency table construction unit 30.

ステップ300)エッジタイプ出現頻度テーブル構築部30が、コミュニケーション情報テーブル構築部10により受け渡されたコミュニケーション情報テーブル61記載の情報と、3−部分グラフ情報テーブル構築部20により受け渡された3−部分グラフ情報テーブル62に記載の情報を用いてエッジタイプ情報テーブル63を記憶部60に構築し、友人推薦部40に受け渡す。   Step 300) The information described in the communication information table 61 passed by the communication information table construction unit 10 by the edge type appearance frequency table construction unit 30 and the three parts delivered by the three-part graph information table construction unit 20 Using the information described in the graph information table 62, an edge type information table 63 is constructed in the storage unit 60 and transferred to the friend recommendation unit 40.

ステップ400)友人推薦部40が、コミュニケーション情報テーブル構築部10により受け渡されたコミュニケーション情報テーブル61記載の情報と、エッジタイプ出現頻度テーブル構築部30により受け渡されたエッジタイプ出現頻度テーブル63記載の情報を用いてユーザに友人を推薦する。   Step 400) The friend recommendation unit 40 includes the information described in the communication information table 61 delivered by the communication information table construction unit 10 and the information described in the edge type appearance frequency table 63 delivered by the edge type appearance frequency table construction unit 30. Recommend friends to the user using the information.

次に、上記の図9のステップ200の処理を詳細に説明する。   Next, the process of step 200 in FIG. 9 will be described in detail.

図10は、本発明の一実施の形態における図9のステップ200の詳細な処理のフローチャートである。   FIG. 10 is a flowchart of detailed processing of step 200 in FIG. 9 according to the embodiment of the present invention.

ステップ210)3−部分グラフ情報テーブル構築部20が、コミュニケーション情報テーブル抽出部10より受け渡されたコミュニケーション情報テーブル61の情報中に出現する、ユーザIDフィールド、友人IDフィールドのとりうる値の3つの全組合せを取得する。   Step 210) The 3-part graph information table construction unit 20 has three possible values of the user ID field and friend ID field that appear in the information of the communication information table 61 delivered from the communication information table extraction unit 10. Get all combinations.

ステップ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を取得する。 Step 220) The 3-partial graph matching unit 21 uses the user ID field combination (u 1 , u 2 , u 3 ) passed from the 3-partial graph information table construction unit 20 to determine the user ID. A pattern u1, u2, u3 obtained by discriminating which of the 13 types of patterns the 3-partial graph corresponding to the combination (u 1 , u 2 , u 3 ) matches (u 1 , u 2 , u In 3 ), user IDs p 1 , p 2 , and p 3 corresponding to position 1, position 2, and position 3 of the 3-part graph are acquired.

ステップ230)3−部分グラフ情報テーブル構築部22が、ポジション1ユーザIDフィールドの値がp1、ポジション2ユーザIDフィールドの値がp2、ポジション3ユーザIDフィールドの値がp3、3−部分グラフパターンフィールドの値がpatternu1,u2,u3であるような行を3−部分グラフ情報テーブル62に挿入する。 Step 230) The 3-part graph information table construction unit 22 determines that the value of the position 1 user ID field is p 1 , the value of the position 2 user ID field is p 2 , and the value of the position 3 user ID field is p 3 . A row in which the value of the graph pattern field is pattern u1, u2, u3 is inserted into the 3-partial graph information table 62.

次に、上記の図10のステップ220の処理を詳細に説明する。
図11は、本発明の一実施の形態における図10のステップ220の詳細な処理のフローチャートである。
Next, the process of step 220 in FIG. 10 will be described in detail.
FIG. 11 is a flowchart of detailed processing of step 220 in FIG. 10 according to the embodiment of the present invention.

ステップ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)を取得する。 Step 221) The 3-partial graph matching unit 21 makes all six orders (u 1 , u 2 , u 3 ), (u 1 , u 3 ) corresponding to the combinations (u 1 , u 2 , u 3 ) of the user ID fields. u 3 , u 2 ), (u 2 , u 1 , u 3 ), (u 2 , u 3 , u 1 ), (u 3 , u 1 , u 2 ), (u 3 , u 2 , u 1 ) To get.

ステップ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の対角成分の値を*で与えたが、これは他のどのような値でも良い。 Step 222) Based on the information in the communication information table 61 passed from the 3-partial graph information table construction unit 20, the 3-partial graph matching unit 21 orders the user ID fields (p 1 , p 2 , p 3 ) A 3 × 3 communication matrix M p1, p2, p3 corresponding to 3 ) is created. Specifically, each component of the communication matrix M p1, p2, p3 is the value of the diagonal elements *, the value of the user ID field the value of x row y column is the p x, and the value of friends ID field If is the line such that p y are present in the communication information table 61 provides "1", if not "0". Note that the value of the diagonal component of the communication matrix M p1, p2, p3 is given by *, but this may be any other value.

図12に、3−部分グラフマッチング処理のための、13種類の各パターンにおけるコミュニケーション行列Mk(k=1,…,13)を示す。各コミュニケーション行列の各成分は、対角成分の値を*、x 行 y 列の値をx番目のノードからy番目のノードにエッジがある場合は"1"、ない場合は"0"で与える。なお、Mkの対角成分の値は、Mp1,p2,p3と一致するように設定する。 FIG. 12 shows communication matrices M k (k = 1,..., 13) in 13 types of patterns for the 3-partial graph matching process. For each component of each communication matrix, the value of the diagonal component is given as *, and the value of x rows and y columns is given as “1” when there is an edge from the xth node to the yth node, and “0” when there is no edge. . Note that the value of the diagonal component of M k is set to match M p1, p2, p3 .

ステップ223)3−部分グラフマッチング部21が、一時変数kを用意し、その値を1に初期化する。   Step 223) The 3-partial graph matching unit 21 prepares a temporary variable k and initializes its value to 1.

ステップ224)3−部分グラフマッチング部21が、ユーザIDフィールドの順列 (p1,p2,p3) に対応する3行3列のコミュニケーション行列 Mp1,p2,p3 とk番目のパターンを表すコミュニケーション行列Mkが一致するかどうかを判別する。 Step 224) The 3-partial graph matching unit 21 represents the k-th pattern and the 3 × 3 communication matrix M p1, p2, p3 corresponding to the permutation (p 1 , p 2 , p 3 ) of the user ID field. It is determined whether or not the communication matrix M k matches.

ステップ225)3−部分グラフマッチング部21が、ユーザIDフィールドの順列 (u1,u2,u3) に対応する3−部分グラフパターンフィールドの値 patternu1,u2,u3 をkとし、3−部分グラフ情報データベース構築部22に受け渡す。 Step 225) The 3-partial graph matching unit 21 sets the value pattern u1, u2, u3 of the 3-partial graph pattern field corresponding to the permutation (u 1 , u 2 , u 3 ) of the user ID field to k, The data is transferred to the subgraph information database construction unit 22.

ステップ226)3−部分グラフマッチング部21が、一時変数kをインクリメントする。   Step 226) The 3-partial graph matching unit 21 increments the temporary variable k.

次に、上記の図9のステップ300の処理を詳細に説明する。   Next, the processing of step 300 in FIG. 9 will be described in detail.

図13は、本発明の一実施の形態における図9のステップ300の詳細な処理のフローチャートである。   FIG. 13 is a flowchart of detailed processing of step 300 in FIG. 9 according to the embodiment of the present invention.

ステップ310)エッジタイプ出現頻度テーブル構築部30が、コミュニケーション情報テーブル抽出部10より受け渡されたコミュニケーション情報テーブル61記載の情報中に出現する、ユーザIDフィールド、友人IDフィールドのとりうる値の2つの全順列を取得する。   Step 310) The edge type appearance frequency table construction unit 30 appears in the information described in the communication information table 61 delivered from the communication information table extraction unit 10, and includes two possible values of the user ID field and the friend ID field. Get all permutations.

ステップ320)エッジタイプ出現頻度テーブル構築部30が、コミュニケーション情報テーブル抽出部10より受け渡された前記2ユーザIDの順列(u, v)について、コミュニケーション情報テーブル61にユーザIDフィールドの値が u、友人IDフィールドの値が v であるような行が存在する場合はfu,v=1、存在しない場合は fu,v=0とする。 Step 320) For the permutation (u, v) of the two user IDs passed from the communication information table extraction unit 10 by the edge type appearance frequency table construction unit 30, the value of the user ID field in the communication information table 61 is u, If there is a row where the value of the friend ID field is v, then f u, v = 1, and if there is no row , f u, v = 0.

ステップ330)エッジタイプ出現頻度テーブル構築部30が、3−部分グラフ情報テーブル構築部20より受け渡された3−部分グラフ情報テーブル62中で、ポジション1〜3ユーザIDフィールドに u、v を共に含む行集合Tu,vを取得する。 Step 330) The edge type appearance frequency table construction unit 30 sets u and v in the position 1 to 3 user ID fields in the 3-partial graph information table 62 delivered from the 3-partial graph information table construction unit 20. Get the row set Tu, v that contains it.

ステップ340)エッジタイプ出現頻度テーブル構築部30が、u、v、fu,v、Tu,v をもとにエッジタイプ出現頻度テーブル63を更新する。 Step 340) The edge type appearance frequency table construction unit 30 updates the edge type appearance frequency table 63 based on u, v, f u, v , and Tu, v .

次に、上記の図13のステップ340の処理を詳細に説明する。   Next, the process of step 340 in FIG. 13 will be described in detail.

図14は、本発明の一実施の形態における図13のステップ340の詳細な処理のフローチャートである。   FIG. 14 is a flowchart of detailed processing of step 340 in FIG. 13 according to the embodiment of the present invention.

ステップ341)エッジタイプ出現頻度テーブル構築部30が、未処理の3−部分グラフ情報 tu,v∈Tu,v のそれぞれについて、当該行tu,vでは3−部分グラフパターンフィールドの値が patternu,v で、ポジション pu(∈{1,2,3}) ユーザIDフィールドの値がuであり、ポジション pv(∈{1,2,3})、ユーザIDフィールドの値がvであるとする。 Step 341) Edge Type frequency table constructing unit 30, unprocessed 3- subgraph information t u, v ∈T u, for each v, the value of the row t u, v in 3 subgraph pattern field In pattern u, v , the position p u (∈ {1,2,3}) the value of the user ID field is u, the position p v (∈ {1,2,3}), the value of the user ID field is v Suppose that

ステップ342)エッジタイプ出現頻度テーブル構築部30が、fu,v、pu、pv、patternu,v を元に図15、16に示すエッジタイプ決定ルールにてu,vのエッジタイプeu,vを決定する。なお、本実施の形態では、当該エッジタイプ決定ルールは予めメモリ(図示せず)に格納されているものとする。 Step 342) The edge type appearance frequency table construction unit 30 uses the edge type determination rules shown in FIGS. 15 and 16 based on f u, v , p u , p v , pattern u, v to determine the edge type e of u, v. u and v are determined. In this embodiment, it is assumed that the edge type determination rule is stored in advance in a memory (not shown).

図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の場合のエッジタイプ決定ルールである。 15 and 16 show the edge type determination rule in step 340 of FIG. FIG. 15 shows an edge type determination rule when f u, v = 0. For example, the second row and the seventh column indicate that the edge type e u, v is determined to be “2” when f u, v = 0, p u = 3, p v = 2 and pattern u, v = 1. . Similarly, FIG. 16 shows an edge type determination rule when f u, v = 1.

ステップ343)エッジタイプ出現頻度テーブル構築部30が、エッジタイプ出現頻度テーブル63に、ユーザ1IDフィールドがu 、ユーザ2IDフィールドがvの行が存在しない場合、ユーザ1IDフィールドの値がu、ユーザ2IDフィールドの値がv、友人フィールドの値がfu,v、エッジタイプ1〜24フィールドの値が0の行をエッジタイプ出現頻度テーブル63に挿入する。 Step 343) When the edge type appearance frequency table construction unit 30 does not include a row in the edge type appearance frequency table 63 where the user 1 ID field is u and the user 2 ID field is v, the value of the user 1 ID field is u, the user 2 ID field Is inserted in the edge type appearance frequency table 63. The row of the friend field value is f u, v and the edge type 1 to 24 field value is 0.

ステップ344)エッジタイプ出現頻度テーブル構築部30が、エッジタイプ出現頻度テーブル63記載の情報でユーザ1IDフィールドの値がuで、ユーザ2IDフィールドの値がvの行を取得し、エッジタイプeu,vフィールドの値をインクリメントする。 Step 344) The edge type appearance frequency table construction unit 30 obtains a row in which the value of the user 1 ID field is u and the value of the user 2 ID field is v in the information described in the edge type appearance frequency table 63, and the edge type e u, v Increment the value of the field.

次に、上記の図9のステップ400の処理を詳細に説明する。   Next, the process of step 400 in FIG. 9 will be described in detail.

図17は、本発明の一実施の形態における図9のステップ400の詳細な処理のフローチャートである。   FIG. 17 is a flowchart of detailed processing of step 400 in FIG. 9 according to the embodiment of the present invention.

ステップ410)友人推薦部40が、コミュニケーション情報抽出部10より受け渡されたコミュニケーション情報テーブル61記載の情報中に出現する、ユーザIDフィールド、友人IDフィールドのとりうる値の2つの全順列を取得する。   Step 410) The friend recommendation unit 40 acquires all two permutations of the values that can be taken by the user ID field and the friend ID field that appear in the information described in the communication information table 61 delivered from the communication information extraction unit 10. .

ステップ420)友人推薦部40が、コミュニケーション情報抽出部10より受け渡されたコミュニケーション情報テーブル61中にユーザIDフィールドの値がu、かつ友人IDフィールドの値がvの行が存在するか否か判定する。   Step 420) The friend recommendation unit 40 determines whether or not there exists a row in which the value of the user ID field is u and the value of the friend ID field is v in the communication information table 61 delivered from the communication information extraction unit 10. To do.

ステップ430)友人推薦部40が、エッジタイプ出現頻度テーブル62中でユーザ1IDフィールドの値がuで、かつユーザ2IDフィールドの値が v の行のエッジタイプi (i=1,…,24) 出現頻度フィールドの値xu,v,i を取得する。 Step 430) The friend recommendation unit 40 generates an edge type i (i = 1,..., 24) in the row where the value of the user 1 ID field is u and the value of the user 2 ID field is v in the edge type appearance frequency table 62. Get the value x u, v, i of the frequency field.

ステップ440)友人推薦部40が、重みパラメータ記憶部64から重みパラメータλi (i=1,…,24) を取得する。 Step 440) The friend recommendation unit 40 acquires the weight parameter λ i (i = 1,..., 24) from the weight parameter storage unit 64.

ステップ450)友人推薦部40が、ユーザ u に対する v の推薦スコア scoreu,v を以下に示す式(1)を用いて算出する。 Step 450) The friend recommendation unit 40 calculates a recommendation score score u, v of v for the user u using the following equation (1).

Figure 0005350319
ステップ460)友人推薦部40が、前記ユーザuに対するvの推薦スコア scoreu,v を用いてユーザuにvを友人として推薦すべきかどうか決定する。その際、推薦スコアの値が大きいものから順に予め設定した任意の人数N(N=1,2,3,…) 人を推薦すべき友人としてもよいし、推薦スコアに対し、ある閾値を設けて、推薦スコアがその値を超えるものを推薦するべき友人としてもよい。
Figure 0005350319
Step 460) The friend recommendation unit 40 determines whether or not to recommend v to the user u as a friend using the recommendation score score u, v of v for the user u. At that time, an arbitrary number N (N = 1,2,3, ...) set in advance in descending order of the recommendation score value may be recommended friends, and a certain threshold is set for the recommendation score. A friend whose recommendation score exceeds that value may be recommended.

次に、重みパラメータ更新時の処理の詳細について説明する。   Next, details of the processing at the time of updating the weight parameter will be described.

図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)記載のサポートベクトルマシン等を用いて自動で算出してもよいし、人手にて適当な重みパラメータを設定してもよい。重みパラメータの更新は、システムの管理者の明示的な入力で開始するようにしてもよいし、定期的にバッチ処理するようにしてもよい。   FIG. 18 is a flowchart of processing when updating the weight parameter according to the embodiment of the present invention. The weight parameter may be automatically calculated using a logistic regression model described in Reference 2 (Hosmer, DW et al., “Applied logistic regression”, 2000) as in the present embodiment, or Reference 3 ( Cristianini, N. et al., "An introduction to Support Vector Machines: and other kernel-based learning methods", 2000) A weight parameter may be set. The update of the weight parameter may be started by an explicit input from the system administrator, or may be periodically batch processed.

ステップ510)重みパラメータ更新部50が、コミュニケーション情報抽出部10より受け渡されたコミュニケーション情報テーブル61中のユーザIDフィールド、友人IDフィールドに出現する全2ユーザの順列を取得する。   Step 510) The weight parameter updating unit 50 acquires the permutation of all two users appearing in the user ID field and friend ID field in the communication information table 61 delivered from the communication information extracting unit 10.

ステップ520)重みパラメータ更新部50が、前記各2ユーザの順列(u, v)について、エッジタイプ出現頻度テーブル63中でユーザ1IDフィールドの値がuで、かつユーザ2IDフィールドの値がvの行の友人フィールドの値fu,vと、エッジタイプi、出現頻度フィールドの値xu,v,iを取得する。 Step 520) The weight parameter updating unit 50 sets the row of the user type 1 ID field to u and the value of the user 2 ID field to v in the edge type appearance frequency table 63 for the permutation (u, v) of each of the two users. The value f u, v of the friend field, the edge type i, and the value x u, v, i of the appearance frequency field are acquired.

ステップ530)重みパラメータ更新部50が、前記2ユーザの順列 (u, v)について、以下に示す式(2)を用いてuがvを友人にする確率P(fu,v=1|u,v)を算出する。 Step 530) The probability P (f u, v = 1 | u) that the weight parameter updating unit 50 uses the equation (2) shown below for the permutation (u, v) of the two users. , v).

Figure 0005350319
上記の式(2)は式(1)の値を確率化したもので、式(1)の値が高ければ高いほど値が1に近づき、式(1)の値が低ければ低いほど値が0に近づく。
Figure 0005350319
The above formula (2) is a probability value of the formula (1). The higher the value of the formula (1), the closer the value is to 1, and the lower the value of the formula (1), the lower the value. Approaching zero.

ステップ540)重みパラメータ更新部50が、前記全2ユーザの順列 (u, v) について、u が v を友人にする確率から、データに対する重みパラメータ λi (i=0,…,24) の尤度 L(λ)を以下に示す式(3)を用いて算出する。 Step 540) The weight parameter update unit 50 determines the likelihood of the weight parameter λ i (i = 0,..., 24) for the data from the probability that u makes v a friend for the permutation (u, v) of all two users. The degree L (λ) is calculated using the following equation (3).

Figure 0005350319
上記の式(3)は、重みパラメータが与えられたデータ(本実施の形態の場合、u、v、fu,v)にどれだけ適合しているかを表す尺度であり、式(3)で算出される値を最大にするλi が最も適切な重みパラメータとなる。
Figure 0005350319
The above equation (3) is a measure representing how much the weight parameter is matched with the given data (in this embodiment, u, v, f u, v ). Λ i that maximizes the calculated value is the most appropriate weight parameter.

ステップ550)重みパラメータ更新部50が、文献4(Liu, D.C. et al., "On the limited memory BFGS method for large scale optimization", 1989)記載の準ニュートン法等による最適化手法により、式(3)で表されるL(λ)を最大にするλiを算出する。 Step 550) The weight parameter updating unit 50 uses the quasi-Newton method or the like described in Reference 4 (Liu, DC et al., “On the limited memory BFGS method for large scale optimization”, 1989). Λ i that maximizes L (λ) represented by

ステップ560)重みパラメータ更新部50が、算出した重みパラメータλiを重みパラメータ記憶部64に記録する。 Step 560) The weight parameter updating unit 50 records the calculated weight parameter λ i in the weight parameter storage unit 64.

上記のように、本実施の形態によれば、3ユーザ(ノード)に限定して計算コストを抑え、その3ノードのエッジ、方向性、対象性に着目すると24種類に分類することができる。この24種類の各パターンで発生する実際の友人関係の頻度を求めることで、どのパターンで友人関係が発生しやすいかが判別できる。友人関係の発生しやすいパターンを検出し、推薦スコアを算出し、推薦スコアが大きいユーザを推薦すべき友人として出力することができる。   As described above, according to the present embodiment, the calculation cost is limited to three users (nodes), and the three nodes can be classified into 24 types by paying attention to the edge, directionality, and objectivity of the three nodes. By determining the frequency of actual friendships that occur in each of the 24 types of patterns, it is possible to determine which pattern is likely to cause friendships. It is possible to detect a pattern in which a friend relationship is likely to occur, calculate a recommendation score, and output a user having a high recommendation score as a friend to be recommended.

なお、上記の実施の形態の図1に示す友人推薦装置の各構成要素の動作をプログラムとして構築し、友人推薦装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。   In addition, the operation | movement of each component of the friend recommendation apparatus shown in FIG. 1 of said embodiment is constructed | assembled as a program, installed in the computer used as a friend recommendation apparatus, is performed, or distribute | circulates via a network. It is possible.

また、構築されたプログラムをハードディスクや、フレキシブルディスク、CD−ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。   In addition, the constructed program can be stored in a portable storage medium such as a hard disk, a flexible disk, or a CD-ROM, and can be installed or distributed in a computer.

本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.

1 友人推薦装置
2 外部端末
3 ネットワーク
4 外部装置
10 コミュニケーション情報抽出部
20 3−部分グラフ情報テーブル構築部
21 3−部分グラフマッチング部
30 エッジタイプ出現頻度テーブル構築部
40 友人推薦部
50 重みパラメータ更新部
60 記憶部
61 コミュニケーション情報テーブル
62 3−部分グラフ情報テーブル
63 エッジタイプ出現頻度テーブル
64 重みパラメータ記憶部
70 通信部
80 入出力部
DESCRIPTION OF SYMBOLS 1 Friend recommendation apparatus 2 External terminal 3 Network 4 External apparatus 10 Communication information extraction part 20 3-Partial graph information table construction part 21 3-Partial graph matching part 30 Edge type appearance frequency table construction part 40 Friend recommendation part 50 Weight parameter update part 60 Storage Unit 61 Communication Information Table 62 3-Partial Graph Information Table 63 Edge Type Appearance Frequency Table 64 Weight Parameter Storage Unit 70 Communication Unit 80 Input / Output Unit

Claims (5)

各ユーザがIDを持ち、ユーザ間でコミュニケーションをとることを目的とするオンラインコミュニティシステムにおいて、友人を推薦するための友人推薦装置であって、
前記オンラインコミュニティにおけるユーザを取得し、コミュニケーション記憶手段に格納するコミュニケーション情報取得手段と、
前記コミュニケーション記憶手段のコミュニケーション情報から、オンラインコミュニティにおける3ユーザをコミュニケーションの有無のパターンから分類し、3−ノードのグラフ情報として3−部分グラフ記憶手段に格納する3−部分グラフ情報取得手段と、
前記コミュニケーション記憶手段の前記コミュニケーション情報から、オンラインコミュニティにおける2ユーザについて、コミュニケーションの有無に関する情報と、前記3−部分グラフ記憶手段の前記3−部分グラフ情報から、オンラインコミュニティにおける2ユーザについて、2ユーザ以外の別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの頻度を取得し、エッジタイプ記憶手段に格納するエッジタイプ情報取得手段と、
オンラインコミュニティにおける2ユーザについて、前記エッジタイプ記憶手段に格納されている前記コミュニケーションの有無に関する情報と、前記別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とを用いて、重みパラメータを算出し、重みパラメータ記憶手段に格納する重みパラメータ取得手段と、
ユーザの識別子が与えられると、前記コミュニケーションの有無に関する情報と、前記別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数と、前記重みパラメータ記憶手段の前記重みパラメータとを用いて、該ユーザに対して別ユーザを友人として推薦する友人推薦手段と、
を有することを特徴とする友人推薦装置。
A friend recommendation device for recommending friends in an online community system where each user has an ID and aims to communicate between users,
Communication information acquisition means for acquiring a user in the online community and storing it in a communication storage means;
3-partial graph information acquisition means for classifying the three users in the online community from the communication information in the communication storage means, based on the presence / absence pattern of communication, and storing it in the 3-partial graph storage means as 3-node graph information;
From the communication information in the communication storage means, information regarding the presence or absence of communication for two users in the online community, and from the 3-partial graph information in the 3-partial graph storage means, for two users in the online community, other than two users Edge type information acquisition means for acquiring the frequency of which one of the other users is classified according to the pattern of presence / absence of communication of three users, and storing it in the edge type storage means;
Information regarding the presence / absence of communication stored in the edge type storage means for two users in the online community, and the number of the other one user classified as a pattern of presence / absence of communication of three users, respectively A weight parameter obtaining means for calculating a weight parameter and storing the weight parameter in a weight parameter storage means,
When a user identifier is given, information on the presence / absence of communication, the number of which the other one user is classified by the pattern of presence / absence of communication of three users, and the weight of the weight parameter storage means Using a parameter, friend recommendation means for recommending another user as a friend to the user,
A friend recommendation device characterized by comprising:
前記重みパラメータ算出手段は、
前記コミュニケーションの有無に関する情報と、前記別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とに基づいて、ロジスティック回帰分析によって重みパラメータを算出する手段を含む
請求項1記載の友人推薦装置。
The weight parameter calculating means includes
A means for calculating a weight parameter by logistic regression analysis based on the information on the presence / absence of communication and the number of each of the other users classified according to the presence / absence pattern of the communication of three users. Item 3. The friend recommendation device according to Item 1.
各ユーザがIDを持ち、ユーザ間でコミュニケーションをとることを目的とするオンラインコミュニティシステムにおいて、友人を推薦するための友人推薦方法であって、
コミュニケーション記憶手段、3−部分グラフ記憶手段、エッジタイプ記憶手段、重みパラメータ記憶手段を格納し、コミュニケーション情報取得手段、3−部分グラフ情報取得手段、エッジタイプ情報取得手段、重みパラメータ取得手段、友人推薦手段とを有する装置において、
前記コミュニケーション情報取得手段が、前記オンラインコミュニティにおけるユーザを取得し、前記コミュニケーション記憶手段に格納するコミュニケーション情報取得ステップと、
前記3−部分グラフ情報取得手段が、前記コミュニケーション記憶手段のコミュニケーション情報から、オンラインコミュニティにおける3ユーザをコミュニケーションの有無のパターンから分類し、3−ノードのグラフ情報として前記3−部分グラフ記憶手段に格納する3−部分グラフ情報取得ステップと、
前記エッジタイプ情報取得手段が、前記コミュニケーション記憶手段の前記コミュニケーション情報から、オンラインコミュニティにおける2ユーザについて、コミュニケーションの有無に関する情報と、前記3−部分グラフ記憶手段の前記3−部分グラフ情報から、オンラインコミュニティにおける2ユーザについて、2ユーザ以外の別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの頻度を取得し、前記エッジタイプ記憶手段に格納するエッジタイプ情報取得ステップと、
前記重みパラメータ取得手段が、オンラインコミュニティにおける2ユーザについて、前記エッジタイプ記憶手段に格納されている前記コミュニケーションの有無に関する情報と、前記別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とを用いて、重みパラメータを算出し、前記重みパラメータ記憶手段に格納する重みパラメータ取得ステップと、
前記友人推薦手段が、ユーザの識別子が与えられると、前記3−部分グラフ記憶手段の前記コミュニケーションの有無に関する情報と、前記エッジタイプ記憶手段の前記別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数と、重みパラメータ記憶手段の前記重みパラメータとを用いて、該ユーザに対して別ユーザを友人として推薦する友人推薦ステップと、
を行うことを特徴とする友人推薦方法。
In an online community system where each user has an ID and aims to communicate between users, a friend recommendation method for recommending friends,
Communication storage means, 3-part graph storage means, edge type storage means, weight parameter storage means are stored, communication information acquisition means, 3-part graph information acquisition means, edge type information acquisition means, weight parameter acquisition means, friend recommendation A device having means for:
The communication information acquisition unit acquires a user in the online community, and stores the communication information in the communication storage unit;
The 3-partial graph information acquisition unit classifies the three users in the online community from the communication information in the communication storage unit, and stores them in the 3-partial graph storage unit as 3-node graph information. A 3-partial graph information acquisition step;
The edge type information acquisition means obtains information about the presence / absence of communication for two users in the online community from the communication information in the communication storage means, and the online community from the 3-partial graph information in the 3-partial graph storage means. An edge type information acquisition step of acquiring a frequency of whether another user other than the two users is classified according to a communication presence / absence pattern of the three users, and storing the frequency in the edge type storage unit ,
The weight parameter acquisition means is the information regarding the presence / absence of communication stored in the edge type storage means for the two users in the online community and the pattern of the presence / absence of communication of the other one user for each of the three users. A weight parameter obtaining step of calculating a weight parameter using the number of classification and storing it in the weight parameter storage means;
When the friend recommendation means is given a user identifier, information on the presence / absence of the communication in the 3-partial graph storage means, and whether the other one user in the edge type storage means is the presence / absence of communication of three users, respectively. A friend recommendation step of recommending another user as a friend to the user by using the number of the patterns classified into the pattern and the weight parameter of the weight parameter storage means;
Friend recommendation method characterized by performing.
前記重みパラメータ算出ステップにおいて、
前記コミュニケーションの有無に関する情報と、前記別の1ユーザがそれぞれ3ユーザのコミュニケーションの有無のパターンでいずれに分類されるかの数とに基づいて、ロジスティック回帰分析によって重みパラメータを算出する
請求項3記載の友人推薦方法。
In the weight parameter calculating step,
4. The weight parameter is calculated by logistic regression analysis based on the information on the presence / absence of communication and the number of each of the other users classified according to the pattern of presence / absence of communication of three users. Friend recommendation method.
請求項1乃至請求項2のいずれか1項に記載の友人推薦装置を構成する各手段としてコンピュータを機能させるための友人推薦プログラム。   The friend recommendation program for functioning a computer as each means which comprises the friend recommendation apparatus of any one of Claim 1 thru | or 2.
JP2010116542A 2010-05-20 2010-05-20 Friend recommendation device, method and program Expired - Fee Related JP5350319B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010116542A JP5350319B2 (en) 2010-05-20 2010-05-20 Friend recommendation device, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010116542A JP5350319B2 (en) 2010-05-20 2010-05-20 Friend recommendation device, method and program

Publications (2)

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

Family

ID=45409672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010116542A Expired - Fee Related JP5350319B2 (en) 2010-05-20 2010-05-20 Friend recommendation device, method and program

Country Status (1)

Country Link
JP (1) JP5350319B2 (en)

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 (en) * 2015-11-26 2019-10-02 富士通株式会社 Graph processing program, graph processing method, and information processing apparatus
CN110266583A (en) * 2019-06-12 2019-09-20 北京达佳互联信息技术有限公司 Session interface display method, device, terminal, server and storage medium
CN113297504A (en) * 2020-02-05 2021-08-24 北京达佳互联信息技术有限公司 Social account recommendation method and device, electronic equipment and storage medium
JP7328162B2 (en) * 2020-02-06 2023-08-16 Kddi株式会社 Model, program and device for generating latent graph and estimating graph variables, and method for generating the model

Also Published As

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

Similar Documents

Publication Publication Date Title
Song et al. Why are some plant–pollinator networks more nested than others?
Zhou et al. Structure based user identification across social networks
Pereira et al. Why so many people? explaining nonhabitual transport overcrowding with internet data
Ansari et al. Modeling multiple relationships in social networks
Zhang et al. A case study of sensor data collection and analysis in smart city: provenance in smart food supply chain
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
JP5350319B2 (en) Friend recommendation device, method and program
CN103563332A (en) Social media identity discovery and mapping
US9489638B2 (en) Method and apparatus for propagating user preference information in a communications network
JP5467062B2 (en) Information recommendation apparatus, method and program
JP2019101672A (en) Cyber attack information processing program, cyber attack information processing method and information processing device
CN111090807A (en) Knowledge graph-based user identification method and device
Guillera‐Arroita et al. Models for species‐detection data collected along transects in the presence of abundance‐induced heterogeneity and clustering in the detection process
Hexmoor Computational network science: an algorithmic approach
WO2018078761A1 (en) Clustering system, method, program, and recommendation system
Liu et al. A novel community detection method based on cluster density peaks
Fang et al. Signed network label propagation algorithm with structural balance degree for community detection
Nunes da Silva et al. Analysis of co-authorship networks among Brazilian graduate programs in computer science
Bhowmick et al. Effect of information propagation on business popularity: A case study on yelp
Wilkinson et al. Rank aggregation of local expert knowledge for conservation planning of the critically endangered saola
Gjoka et al. Estimating subgraph frequencies with or without attributes from egocentrically sampled data
KR101700838B1 (en) Method and system for managing business project step by step
Torabi et al. An ensemble classifier for link prediction in location based social network
Zhang et al. An opinion leaders detecting algorithm in multi-relationship online social networks

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