JP2009146314A - Similar user detection system, similar user detection method, and similar user detection program - Google Patents

Similar user detection system, similar user detection method, and similar user detection program Download PDF

Info

Publication number
JP2009146314A
JP2009146314A JP2007325228A JP2007325228A JP2009146314A JP 2009146314 A JP2009146314 A JP 2009146314A JP 2007325228 A JP2007325228 A JP 2007325228A JP 2007325228 A JP2007325228 A JP 2007325228A JP 2009146314 A JP2009146314 A JP 2009146314A
Authority
JP
Japan
Prior art keywords
user
vector space
group
similar
vector
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.)
Granted
Application number
JP2007325228A
Other languages
Japanese (ja)
Other versions
JP5364996B2 (en
Inventor
Koji Tamano
浩嗣 玉野
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2007325228A priority Critical patent/JP5364996B2/en
Publication of JP2009146314A publication Critical patent/JP2009146314A/en
Application granted granted Critical
Publication of JP5364996B2 publication Critical patent/JP5364996B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To correctly detect an unknown similar user in the presence of a plurality of groups handling the same theme. <P>SOLUTION: The system includes a representative group extraction means which extracts a representative group representing a predetermined group based on information showing a link relation between groups; a transform matrix generation means which generates a transform matrix mapping the source of a first vector space having a group as a base to a second vector space having the representative group as a base by approximating the group using the representative group; a transform means which transforms the source of the first vector space showing a user's vector expression to the source of the second vector space by use of the transform matrix generated by the transform matrix generation means; and a similarity calculation means which calculates a similarity between users based on the source of the second vector space transformed by the transform means. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、ソーシャルネットワーキングサービスに代表される、ユーザとグループ(コミュニティ)が存在し、グループ間に関連するもの同士のリンクをもつシステムにおいて、あるユーザに対してそのユーザと類似するユーザを発見する類似ユーザ発見システム、類似ユーザ発見方法および類似ユーザ発見プログラムに関する。   The present invention finds a user similar to a user for a user in a system in which a user and a group (community) represented by a social networking service exist and a link between related items exists between the groups. The present invention relates to a similar user discovery system, a similar user discovery method, and a similar user discovery program.

ソーシャルネットワーキングサービスに代表されるような、ユーザとグループ(コミュニティ)が存在するシステムにおいて、コンテンツをユーザに推薦する様々な方法がある。例えば、ユーザ間に友人関係が定義される場合に、友人関係にあるユーザのコンテンツを推薦する方法や同じグループに所属するユーザのコンテンツを推薦する方法などである。   There are various methods for recommending content to users in a system in which users and groups (communities) exist, as represented by social networking services. For example, when a friendship is defined between users, there are a method for recommending the content of a user who is in a friendship, a method for recommending the content of a user belonging to the same group, and the like.

ユーザは、自分の友人の情報に関心を持ち、また同じグループに所属する他のユーザとは同じ関心を共有しているため、友人関係にあるユーザや同じグループに所属するユーザのコンテンツは、推薦コンテンツとして適切である。さらに、自分といくつかの同じ興味関心を共有する他のユーザを考えた場合、そのユーザは自分がまだ知らない、興味を持つであろう別の事柄について既に知っているかもしれない。そういった意味で自分と同じ興味関心をもつ他のユーザを探すことによってユーザは思わぬ良い情報を手に入れることができる可能性がある。   Users are interested in the information of their friends and share the same interests with other users who belong to the same group, so the content of users who are friends or who belong to the same group is recommended Suitable as content. In addition, if you consider another user who shares some of the same interests with you, that user may already know about other things that you may not know yet that you may be interested in. In that sense, the user may be able to obtain unexpectedly good information by searching for other users who have the same interest and interest as him.

ユーザと似たユーザを見つける方法として、ユーザをベクトルで表現し、ユーザ間の類似度をベクトル間の角度の余弦の値で表すことにより、似たユーザを見つける方法が知られている。ユーザは自分の興味関心のあるグループに所属していると考えられるため、ユーザと似た興味関心を持つユーザを見つける場合には、ベクトルの各要素をグループへ対応させればよい。ユーザはグループ数NのN次元のベクトルで表現されて、各要素はそのグループへの所属の有無を1,0で表す。以上の方法で、容易に似た興味関心を持つユーザを発見することができる。   As a method of finding a user similar to the user, there is known a method of finding a similar user by expressing the user by a vector and expressing the similarity between the users by a cosine value of an angle between the vectors. Since the user is considered to belong to a group in which he / she is interested, in order to find a user having an interest and interest similar to the user, each element of the vector may be associated with the group. The user is represented by an N-dimensional vector with N groups, and each element represents the presence / absence of belonging to the group by 1, 0. By the above method, users with similar interests can be easily found.

なお、利用者間における関心ある分野の類似度を、各単語に与えられたベクトル間の余弦で表すことにより、精度高く測定することができる類似度測定装置が提案されている(例えば、特許文献1参照)。   In addition, a similarity measuring device that can measure with high accuracy by expressing the similarity in a field of interest between users with a cosine between vectors given to each word has been proposed (for example, Patent Documents). 1).

特開2004−240505号公報(段落0027−0029)JP 2004-240505 A (paragraphs 0027-0029)

しかし、上述した方法を用いた類似ユーザの発見では、通常似ていると判断されるべきものが、似ていると判断されないという問題がある。これは同じテーマのグループが複数存在してしまう場合に起こる問題である。例えば、グループ名が「Java(登録商標)でプログラム」、「J2SE」、「Java&Eclipse」であるグループは、同じJavaをテーマとしたグループと考えられる。このような場合に、Aさんが「Javaでプログラム」グループに所属して、Bさんが「J2SE」グループに所属する場合には、お互いJavaに興味があるにも関わらず、上述した方法ではAさんとBさんは別の属性を持つと判断されてしまう。従って、Aさんに似た興味を持つユーザを探しても、Bさんは見つからない。   However, in finding similar users using the method described above, there is a problem that what is normally determined to be similar cannot be determined to be similar. This is a problem that occurs when multiple groups of the same theme exist. For example, a group whose group name is “Java (registered trademark) program”, “J2SE”, “Java & Eclipse” is considered to be a group with the same Java theme. In such a case, if Mr. A belongs to the “Program in Java” group and Mr. B belongs to the “J2SE” group, the above-described method is applicable to A. And Mr. B are judged to have different attributes. Therefore, even when searching for a user who has an interest similar to Mr. A, Mr. B cannot be found.

また、上述した方法で得られる結果は、既知のユーザであったり、または容易に発見可能なユーザとなる可能性が高いという問題がある。一般的な方法で発見できる類似ユーザは、完全に自分と同じグループに所属する他のユーザである。自分と同じグループに所属するユーザは、比較的リンク関係が近く、既知であったり、グループをたどるだけで容易に発見できる場合が多い。   In addition, there is a problem that the result obtained by the above-described method is likely to be a known user or an easily discoverable user. Similar users that can be found by a general method are other users who belong to the same group as themselves. Users who belong to the same group as themselves often have a relatively close link relationship, and are often known or easily found by simply following the group.

そこで、本発明は、同じテーマを扱うグループが複数存在する場合にも、正しく類似ユーザを発見できる類似ユーザ発見システム、類似ユーザ発見方法および類似ユーザ発見プログラムを提供することを目的とする。   Therefore, an object of the present invention is to provide a similar user discovery system, a similar user discovery method, and a similar user discovery program that can correctly discover similar users even when there are a plurality of groups that handle the same theme.

本発明による類似ユーザ発見システムは、グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出手段と、グループを代表グループを用いて近似することにより、グループを基底とする第1のベクトル空間の元を代表グループを基底とする第2のベクトル空間に写像する変換行列を生成する変換行列生成手段と、ユーザのベクトル表現を示す第1のベクトル空間の元を、変換行列生成手段が生成した変換行列を用いて第2のベクトル空間の元に変換する変換手段と、変換手段が変換した第2のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算手段とを備えたことを特徴とする。   The similar user discovery system according to the present invention is based on information indicating a link relationship between groups, representative group extracting means for extracting a representative group representing a predetermined group, and approximating the group using the representative group, A transform matrix generating means for generating a transform matrix for mapping an element of the first vector space having a group as a base to a second vector space having a representative group as a base, and a first vector space indicating a user's vector expression The conversion means for converting the element into the element of the second vector space using the conversion matrix generated by the conversion matrix generation means, and the similarity between the users based on the element of the second vector space converted by the conversion means And a similarity calculation means for calculating.

本発明による類似ユーザ発見方法は、グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出ステップと、グループを代表グループを用いて近似することにより、グループを基底とする第1のベクトル空間の元を代表グループを基底とする第2のベクトル空間に写像する変換行列を生成する変換行列生成ステップと、ユーザのベクトル表現を示す第1のベクトル空間の元を、変換行列生成ステップで生成した変換行列を用いて第2のベクトル空間の元に変換する変換ステップと、変換ステップで変換した第2のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算ステップとを含むことを特徴とする。   The similar user discovery method according to the present invention includes a representative group extraction step of extracting a representative group representing a predetermined group based on information indicating a link relationship between groups, and approximating the group using the representative group. A transformation matrix generating step for generating a transformation matrix for mapping an element of the first vector space based on the group to a second vector space based on the representative group; and a first vector space indicating a user vector representation A transformation step for transforming the element into an element in the second vector space using the transformation matrix generated in the transformation matrix generation step, and similarity between users based on the element in the second vector space transformed in the transformation step And a similarity calculation step for calculating.

本発明による類似ユーザ発見プログラムは、コンピュータに、グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出処理と、グループを代表グループを用いて近似することにより、グループを基底とする第1のベクトル空間の元を代表グループを基底とする第2のベクトル空間に写像する変換行列を生成する変換行列生成処理と、ユーザのベクトル表現を示す第1のベクトル空間の元を、変換行列生成処理で生成した変換行列を用いて第2のベクトル空間の元に変換する変換処理と、変換処理で変換した第2のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算処理とを実行させることを特徴とする。   The similar user finding program according to the present invention approximates a group using a representative group, and a representative group extraction process for extracting a representative group representing a predetermined group based on information indicating a link relationship between groups. Thus, a transformation matrix generation process for generating a transformation matrix for mapping an element of the first vector space having a group as a base to a second vector space having a representative group as a base, and a first representing a user vector expression A conversion process for converting an element of the vector space into an element of the second vector space using the conversion matrix generated by the conversion matrix generation process, and a user based on the element of the second vector space converted by the conversion process A similarity calculation process for calculating the similarity is executed.

本発明によれば、同じテーマを扱うグループが複数存在する場合にも、正しく類似ユーザを発見できるという効果がある。   According to the present invention, there is an effect that a similar user can be found correctly even when there are a plurality of groups that handle the same theme.

また、本発明によれば、ユーザが既知である可能性が低い類似ユーザを発見することができる。複数の同一テーマを扱うグループを代表グループにより同一視できることによって、自分と同じようなテーマのグループに所属しているが、まったく同じではないグループに所属するユーザも発見することができるためである。   Further, according to the present invention, it is possible to find a similar user who is unlikely to be known. This is because a plurality of groups that handle the same theme can be identified by the representative group, so that a user who belongs to a group of the same theme as that of the user but who belongs to a group that is not exactly the same can be found.

まず、本発明の概要について図面を参照して説明する。図1は、本発明による類似ユーザ発見システムの最小の構成例を示すブロック図である。図1に例示する類似ユーザ発見システムは、代表グループ抽出手段101と、変換行列生成手段102と、変換手段200と、類似度計算手段201とを備える。   First, an outline of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a minimum configuration example of a similar user discovery system according to the present invention. The similar user discovery system illustrated in FIG. 1 includes a representative group extraction unit 101, a conversion matrix generation unit 102, a conversion unit 200, and a similarity calculation unit 201.

代表グループ抽出手段101は、グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する。   The representative group extracting unit 101 extracts a representative group representing a predetermined group based on information indicating a link relationship between groups.

変換行列生成手段102は、グループを代表グループを用いて近似することにより、グループを基底とする第1のベクトル空間の元を代表グループを基底とする第2のベクトル空間に写像する変換行列を生成する。   The transformation matrix generation means 102 generates a transformation matrix that maps the element of the first vector space based on the group to the second vector space based on the representative group by approximating the group using the representative group. To do.

変換手段200は、ユーザのベクトル表現を示す第1のベクトル空間の元を、変換行列生成手段102が生成した変換行列を用いて第2のベクトル空間の元に変換する。   The conversion unit 200 converts the element of the first vector space indicating the user's vector expression into the element of the second vector space using the conversion matrix generated by the conversion matrix generation unit 102.

類似度計算手段201は、変換手段200が変換した第2のベクトル空間の元に基づいてユーザ間の類似度を計算する。   The similarity calculation unit 201 calculates the similarity between users based on the elements of the second vector space converted by the conversion unit 200.

図1に示すように構成すれば、同じテーマを扱うグループが複数存在する場合にも、既知でない類似ユーザを正しく発見することができる。   If configured as shown in FIG. 1, even when there are a plurality of groups that handle the same theme, it is possible to correctly find an unknown similar user.

本発明による類似ユーザ発見システムは、ユーザがグループに所属するソーシャルネットワーキングサービス等のシステムにおいて、あるユーザと類似するユーザを抽出するシステムである。本発明では、ユーザを、所属しているグループに特徴づけて表現する。グループはN個あるとして、それぞれ、グループ1,・・・,グループNと名前をつけて参照するとする。   The similar user discovery system according to the present invention is a system for extracting a user similar to a certain user in a system such as a social networking service in which the user belongs to a group. In the present invention, a user is expressed by being characterized by a group to which the user belongs. It is assumed that there are N groups, and each group is referred to as a group 1,.

ユーザは、各グループを表す基底ベクトルe,・・・,eで張られるN次元のベクトル空間Uの元として表される(ただし、eはi番目の要素のみ1でその他は0)。すなわち、グループjをN次元のベクトル空間Uの基底ベクトルeで表すと、ユーザは、所属しているグループを表す基底ベクトルの係数を1とし、所属していないグループを表す基底ベクトルの係数を0として、ベクトル空間U上の元として表される。例えば、グループ1およびグループ3に所属しているユーザusrは、以下の式のように表される。 The user is represented as an element of an N-dimensional vector space U N spanned by basis vectors e 1 ,..., E N representing each group (where e i is 1 only for the i-th element, and the others are 0) ). That is, when the group j is represented by the basis vector e j of the N-dimensional vector space U N , the user sets the coefficient of the basis vector representing the group to which the user belongs to 1 and the coefficient of the basis vector representing the group to which the group does not belong. 0, and it is expressed as the original on the vector space U N. For example, the user usr 1 belonging to the group 1 and the group 3 is represented by the following expression.

usr=1*e+0*e+1*e+0*e+・・・+0*e usr 1 = 1 * e 1 + 0 * e 2 + 1 * e 3 + 0 * e 4 + ... + 0 * e N

以下、ユーザのベクトル空間U上の元としての表現、すなわち、ユーザのベクトル表現を示すベクトル空間Uの元を、「ベクトル空間Uのユーザ表現」と表記する場合がある。 Hereinafter, representation as the original on the vector space U N users, that is, the original vector space U N indicating a vector representation of the user, may be referred to as "user representation of the vector space U N".

このようにしてユーザをベクトル表現し、ベクトル表現を用いてユーザの類似度を計算すると、前述の異なるグループに所属するユーザは類似しないと判断されるという問題がおこる。主たる原因は、同じテーマを扱うグループが複数存在しているためである。   When the user is expressed in vector in this way and the similarity of the user is calculated using the vector expression, there arises a problem that the users belonging to the different groups are determined not to be similar. The main reason is that there are multiple groups that handle the same theme.

そこで、本発明では、グループの中からそれぞれのテーマの代表グループを選び出し、すべてのグループをそれらの代表グループのみによって表すことを考える。代表グループとは、例えば、同じテーマを扱う複数のグループを代表するグループである。こうすることにより、複数あった同じテーマを扱うグループは、関係する同一の代表グループによって表現されるようになる。そのため、第1の問題は起こらなくなり、異なるグループに所属するユーザであっても、類似度が正しく判断される。   Therefore, in the present invention, it is considered that representative groups of each theme are selected from the groups and all groups are represented only by those representative groups. The representative group is, for example, a group that represents a plurality of groups that handle the same theme. By doing so, a plurality of groups that handle the same theme are expressed by the same representative group concerned. Therefore, the first problem does not occur, and the similarity is correctly determined even for users belonging to different groups.

また、第2の問題についても、同一テーマを扱う複数のグループを代表グループにより同一視できることによって、自分が所属するグループと同じようなテーマを扱っているがまったく同じではないグループに所属する人も発見できるため、得られるユーザが既知である可能性は低くなる。   As for the second problem, some groups who handle the same theme can be identified by the representative group, so some people who belong to a group that handles the same theme as their group but is not exactly the same Because it can be discovered, the possibility that the resulting user is known is low.

代表グループ計算手段11は、複数のグループの中から代表グループを見つけ出し(抽出し)、変換行列生成手段12は、ユーザ(ベクトル空間Uの元)を、通常のベクトル表現から代表グループを使ったベクトル表現に変換する変換行列を生成する。 Representative Group calculation means 11 finds a representative group from among the plurality of groups (extracted), the transformation matrix generating means 12, the user (the original vector space U N), with a representative group from the normal vector representation Generate a transformation matrix to convert to a vector representation.

まず、代表グループ計算手段11がグループの中から代表グループを見つけ出す方法を説明する。本発明で扱うシステムにおけるグループは、関連するもの同士がリンクをもつ。関連するグループ同士が有するリンク構造にページランクアルゴリズムを適用する。   First, a method in which the representative group calculation unit 11 finds a representative group from among the groups will be described. The groups in the system handled by the present invention have links between related ones. A page rank algorithm is applied to the link structure of related groups.

ページランク(例えば、http://infolab.stanford.edu/~backrub/google.html参照。)は、ページ間のリンクをランダムにたどるウェブサーファーがいたとき、無限にページ遷移を続けた場合に各ページにいる(参照している)確率を表している。グループ間のリンク構造にも、ウェブのリンク構造と同じく権威のあるグループへリンクが集まる性質があると考えることができる。そのため、グループのリンク関係にページランクアルゴリズムを適用する。   The page rank (for example, see http://infolab.stanford.edu/~backrub/google.html) is the number of pages when there is a web surfer that randomly follows the link between pages and the page transition continues indefinitely. Represents the probability of being on (referring to) the page. It can be considered that the link structure between groups has the property that links are gathered to an authoritative group like the web link structure. Therefore, the page rank algorithm is applied to the group link relationship.

周辺に対し、確率が大きくなっている極大点を求め、極大点に対応するグループを、周辺のグループを代表するグループとしてみることができる。したがって、代表グループ計算手段11は、グループのリンク構造にページランクアルゴリズムを適用して、極大点を求め、求めた極大点に対応するグループを代表グループとして抽出する。   A local maximum point having a high probability is obtained for the periphery, and a group corresponding to the local maximum point can be regarded as a group representing the peripheral group. Therefore, the representative group calculation unit 11 applies a page rank algorithm to the link structure of the group to obtain a maximum point, and extracts a group corresponding to the obtained maximum point as a representative group.

次に、変換行列生成手段12が変換行列を生成する方法を説明する。代表グループ計算手段11がM個の代表グループを抽出したとして説明する。   Next, a method in which the conversion matrix generation unit 12 generates a conversion matrix will be described. A description will be given assuming that the representative group calculation unit 11 has extracted M representative groups.

代表グループについても、代表グループ1、...、代表グループMと名前を付けて参照するとする。ベクトル空間Uと同じように代表グループによってユーザを表現するベクトル空間Uを定義する。ベクトル空間Uは、各代表グループを表す基底ベクトルf,・・・,fで張られるベクトル空間である(ただし、fはi番目の要素のみ1でその他は0)。すなわち、代表グループiをM次元のベクトル空間Uの基底ベクトルfで表す。 For the representative group, representative group 1,. . . Suppose that the name is referred to as representative group M. Similar to the vector space U N , a vector space U M that represents users by representative groups is defined. The vector space U M is a vector space spanned by basis vectors f 1 ,..., F M representing each representative group (where f i is 1 only for the i-th element and 0 for others). That is, the representative group i is represented by a base vector f i of the M-dimensional vector space U M.

ここでベクトル空間UからUへの線形写像Tを考える。この線形写像Tは、以下のようにして定義され、ユーザ(ベクトル空間Uの元)をベクトル空間Uからベクトル空間Uへマップ(写像)する。以下の式は、線形写像Tによって写像されたベクトル空間U上の基底ベクトルe,・・・,e(グループ)が、ベクトル空間U上の基底ベクトルf,・・・,f(代表グループ)で表されることを示す。 Now consider a linear mapping T from the vector space U N to U M. This linear mapping T is defined as follows, and maps (maps) a user (an element of the vector space U N ) from the vector space U N to the vector space U M. The following formula, basis vectors e 1 on the linear map T vector space is mapped by the U N, ···, e N (group), basis vectors f 1 on the vector space U M, · · ·, f It is represented by M (representative group).

T(e)=a11+a21+・・・+aM1 (1−1)
・・・
T(e)=a1N+a2N+・・・+aMN (1−N)
T (e 1 ) = a 11 f 1 + a 21 f 2 +... + A M1 f M (1-1)
...
T (e N ) = a 1N f 1 + a 2N f 2 +... + A MN f M (1-N)

数式(1−1)は、グループ1を代表グループ1から代表グループMで近似することを意味している。近似には一次近似、二次近似、…といった近似の度合いが考えられる。一次近似の場合には、最もリンク関係が近い(つまり最短で到達できるステップ数が最も小さい)代表グループの係数のみ非ゼロ(0以外の値)が割り当てられ、その他の代表グループには0が割り当てられる。同じように、二次近似の場合には2番目に近い代表グループの係数までが非ゼロであり、その他の代表グループの係数は0である。近似の度合いは、本発明による類似ユーザ発見システムのパラメータである。近似の次数はあまり大きくなると、関係のないグループ同士が関連を持つようになってしまう。そのため、近似の度合いは低次でそのシステムにより最適なものを選ぶとする。   Formula (1-1) means that the group 1 is approximated from the representative group 1 to the representative group M. The degree of approximation such as primary approximation, secondary approximation,. In the case of the first approximation, non-zero (non-zero value) is assigned only to the coefficient of the representative group having the closest link relationship (that is, the smallest number of steps that can be reached in the shortest), and 0 is assigned to the other representative groups. It is done. Similarly, in the case of quadratic approximation, the coefficients up to the second closest representative group are non-zero, and the coefficients of the other representative groups are zero. The degree of approximation is a parameter of the similar user discovery system according to the present invention. When the order of approximation becomes too large, unrelated groups become related. For this reason, it is assumed that the degree of approximation is low and an optimum one is selected according to the system.

ijの意味は、グループjと代表グループiとのリンク上の関係度合いを表す数値である。グループjと代表グループiとの関係が近いほど大きい値になり、関係がなければ値はゼロになるとする。例えば、aijの値は、1/(lij+1)^2(ただし、lijはグループjから代表グループiへの最短ステップ数)などの式を用いて算出することができる。すなわち、1/(lij+1)^2を計算することにより、各グループを代表グループで近似することができる。なお、この式は例示に過ぎず、この式に限られるものではない。 The meaning of a ij is a numerical value representing the degree of relationship on the link between group j and representative group i. It is assumed that the closer the relationship between the group j and the representative group i is, the larger the value is. If there is no relationship, the value is zero. For example, the value of a ij can be calculated using an expression such as 1 / (l ij +1) ^ 2 (where l ij is the shortest number of steps from group j to representative group i). That is, each group can be approximated by a representative group by calculating 1 / (l ij +1) ^ 2. In addition, this formula is only an example, and is not limited to this formula.

次に、行列Aを以下のように定義する。   Next, the matrix A is defined as follows.

A=(aijA = (a ij )

行列Aは、基底e,・・・,eと基底f,・・・,fに関する線形写像Tの表現行列となる。ベクトル空間Uのユーザの表現に、行列Aをかけることによって、ベクトル空間Uのユーザ表現に容易に変換可能である。変換行列生成手段12は、行列Aを計算によって求め、変換行列記憶部32に保存する。 Matrix A, the base e 1, · · ·, e N and the base f 1, · · ·, a representation matrix of linear mapping T about f M. By multiplying the user's representation in the vector space U N by the matrix A, it can be easily converted into the user representation in the vector space U M. The transformation matrix generation means 12 obtains the matrix A by calculation and stores it in the transformation matrix storage unit 32.

以上に説明したように、ユーザの表現を、変換行列Aを使って代表グループによる表現に変換した後に、類似度を計算することによって、既知でない類似ユーザを正しく発見することができる。   As described above, after the user's expression is converted into the representation by the representative group using the conversion matrix A, similarities that are not known can be found correctly by calculating the similarity.

次に、本発明による第2の類似ユーザ発見システムについて説明する。   Next, a second similar user discovery system according to the present invention will be described.

一般に、あるユーザと類似するユーザを見つける場合、計算量が大きくなる。その理由は、ユーザとその他すべてのユーザとの類似度を計算しなければならないからである。あるユーザと似たユーザを探すには、あるユーザと、その他のすべてのユーザとの類似度の計算をしなければならない。本発明においては、ベクトル空間U上のユーザ表現を、一度ベクトル空間U上へ変換してから比較しなければならない。そのため、通常の場合よりさらに計算量が増えることになり、計算量の削減は重要である。本発明では、まず類似する可能性のあるユーザを絞りこみ、絞り込んだユーザとだけ類似度を計算することにより計算量を削減する。以下、類似する可能性のあるユーザの絞りこみ方法を説明する。 In general, when a user similar to a certain user is found, the amount of calculation increases. The reason is that the similarity between the user and all other users must be calculated. In order to find a user similar to a certain user, the similarity between the certain user and all other users must be calculated. In the present invention, the user representation on the vector space U N must be converted into the vector space U M and then compared. For this reason, the amount of calculation increases more than usual, and the reduction of the amount of calculation is important. In the present invention, first, users who are likely to be similar are narrowed down, and the calculation amount is reduced by calculating the similarity only with the narrowed-down users. Hereinafter, a method of narrowing down users who may be similar will be described.

ベクトル空間U上のあるユーザの表現usrと類似する他ユーザを求めることを考える。まず、usrをベクトル空間U上の表現usr’に変換行列Aを用いて変換する。 Consider the determination of the other users similar to the representation usr i users with on vector space U N. First, transformed using the transformation matrix A to usr i to represent usr i 'of a vector space U M.

usr’=A*usr=A*(u+u+・・・+u)=u’+u’+・・・+u’usr i '= A * us ri = A * (u 1 e 1 + u 2 e 2 +... + u N e N ) = u ′ 1 f 1 + u ′ 2 f 2 +... + u ′ M f M )

ここで、u’,・・・,u’の値を考える。u’,・・・,u’は、ベクトル空間Uの各基底ベクトルの係数である。u’,・・・,u’の値は、ユーザが所属しているグループを代表グループで近似した値である。ユーザが所属しているグループがすべてのテーマにわたっている場合を除いて、一般的にu’,・・・,u’のうちのいくつかは値が0となる。これは、係数の値が0となった代表グループ(係数が0である基底ベクトルが示す代表グループ)と関連があるグループにユーザが所属していないことを表す。また逆に、係数が非ゼロの値の場合には、代表グループと何らかの関わりがあるグループに、ユーザが所属していることを表している。 Here, the values of u ′ 1 ,..., U ′ M are considered. u ′ 1 ,..., u ′ M are coefficients of each basis vector of the vector space U M. The values of u ′ 1 ,..., u ′ M are values obtained by approximating the group to which the user belongs with a representative group. Generally, some of u ′ 1 ,..., U ′ M have a value of 0, except when the group to which the user belongs is across all themes. This indicates that the user does not belong to a group related to a representative group having a coefficient value of 0 (a representative group indicated by a base vector having a coefficient of 0). Conversely, if the coefficient is a non-zero value, it indicates that the user belongs to a group that has some relationship with the representative group.

ここで、係数が非ゼロの値の代表グループに着目する。あるユーザiと類似するユーザは、ユーザiが所属しているグループが扱うテーマに関係のあるグループに、少なくとも1つは所属しているべきである。したがって、ユーザiと類似するユーザを見つける場合には、ベクトル空間Uのユーザ表現に変換したときに、ユーザiが非ゼロのベクトル成分について、少なくとも1つは同様に非ゼロである必要がある。すなわち、ユーザiについてのベクトル空間Uのユーザ表現における0以外の成分のうちの少なくとも1つに対応する成分が、類似するユーザについてのベクトル空間Uのユーザ表現において、0以外である必要がある。 Here, attention is focused on a representative group whose coefficient is a non-zero value. At least one user who is similar to a certain user i should belong to a group related to the theme handled by the group to which the user i belongs. Thus, when finding a user similar to user i, at least one of the non-zero vector components must be similarly non-zero when converted to a user representation of vector space U M . That is, the component corresponding to at least one of the components other than 0 in the user representation of the vector space U M for the user i needs to be other than 0 in the user representation of the vector space U M for a similar user. is there.

以上の条件を満たす(あるユーザと類似するユーザを表す)ベクトル空間U上のベクトルを類似候補ベクトルと呼ぶとする。これらの類似候補ベクトルは、変換行列Aに基づいて容易に求めることができる。 Above satisfy the (representative of the user similar to a certain user) and a vector of a vector space U N is referred to as a similar candidate vector. These similar candidate vectors can be easily obtained based on the transformation matrix A.

あるユーザiのベクトル空間Uのユーザ表現で非ゼロの成分の行がr行,・・・,r行だった場合、変換行列Aのr行,・・・,r行のすべての行ベクトルを足し合わせ、行ベクトルRを生成する。以下、このベクトルRのことを類似候補マスクと呼ぶとする。 Row 1 row r nonzero components in the user representation of the vector space U M of a user i, · · ·, if it was r n rows, r 1 row of the transformation matrix A, · · ·, the r n rows All row vectors are added to generate a row vector R. Hereinafter, this vector R is referred to as a similar candidate mask.

この行ベクトル(類似候補マスク)の非ゼロの列がc列,・・・,c列の時、ベクトル空間Uのベクトルが類似候補ベクトルである必要十分条件は、c行,・・・,c行に少なくとも1つは非ゼロの値があることである。従って、ユーザの集合の中から類似する可能性のあるユーザを絞り込むには、変換行列Aから類似候補マスクを求め、その非ゼロの列に対応する行(成分)のうちの少なくとも1行が非ゼロであるベクトルで表されるユーザを求めればよい。後述する図6に示す候補検索手段61は、上述した処理によって、ユーザを類似する可能性のあるユーザに絞り込む。以上に説明した方法により、計算量の削減が実現される。 The row vector nonzero columns c 1 column (similar candidate mask), ..., when c m columns, necessary and sufficient condition vector is similar candidate vector vector space U N is, c 1 row - .., cm There are at least one non-zero value in the m line. Therefore, in order to narrow down users who may be similar from the set of users, a similar candidate mask is obtained from the transformation matrix A, and at least one of the rows (components) corresponding to the non-zero column is non-zero. What is necessary is just to obtain | require the user represented by the vector which is zero. Candidate search means 61 shown in FIG. 6 to be described later narrows down the users who may be similar by the above-described processing. The amount of calculation can be reduced by the method described above.

実施形態1.
以下、本発明の第1の実施形態を図面を参照して説明する。図2は、第1の実施形態の類似ユーザ発見システムの構成例を示すブロック図である。図2を参照すると、本発明の第1の実施形態による類似ユーザ発見システムは、プログラム制御により動作する変換行列生成装置1と、類似度計算装置2と、情報を記憶する記憶装置3と、ネットワークインターフェースやキーボードなどで実現される入力装置4と、ネットワークインターフェースやディスプレイ装置や印刷装置などで実現される出力装置5とを含む。なお、類似ユーザ発見システムは、具体的には、プログラムにしたがって動作するパーソナルコンピュータ等の情報処理装置によって実現される。
Embodiment 1. FIG.
A first embodiment of the present invention will be described below with reference to the drawings. FIG. 2 is a block diagram illustrating a configuration example of the similar user discovery system according to the first embodiment. Referring to FIG. 2, the similar user discovery system according to the first embodiment of the present invention includes a transformation matrix generation device 1 that operates under program control, a similarity calculation device 2, a storage device 3 that stores information, and a network. An input device 4 realized by an interface, a keyboard, and the like, and an output device 5 realized by a network interface, a display device, a printing device, and the like are included. The similar user discovery system is specifically realized by an information processing apparatus such as a personal computer that operates according to a program.

記憶装置3は、グループ情報記憶部31と、変換行列記憶部32と、ユーザ情報記憶部33とを備えている。   The storage device 3 includes a group information storage unit 31, a transformation matrix storage unit 32, and a user information storage unit 33.

グループ情報記憶部31は、グループの情報とグループ間のリンク情報とを記憶する。グループ間のリンク情報とは、例えば、グループ間のリンク関係を示す情報であって、代表グループ計算手段11が使用する情報である。グループの情報は、例えば、各グループのランクを示す情報であって、代表グループ計算手段11が記憶させる情報である。なお、グループ情報記憶部31が記憶する情報は、例えば、システム管理者によって予め登録され、更新される。   The group information storage unit 31 stores group information and link information between groups. The link information between groups is information indicating the link relationship between groups, for example, and is information used by the representative group calculation unit 11. The group information is information indicating the rank of each group, for example, and is information stored by the representative group calculation unit 11. The information stored in the group information storage unit 31 is registered and updated in advance by a system administrator, for example.

変換行列記憶部32は、変換行列生成装置1が生成した変換行列と、変換行列生成時のグループおよび代表グループを示す情報とを記憶する。変換行列生成時のグループを示す情報とは、例えば、変換行列生成の対象となるグループ、すなわち、ベクトル空間Uの基底ベクトルで表されるグループを示す情報である。変換行列生成時の代表グループを示す情報とは、例えば、変換行列生成の対象となる代表グループ、すなわち、ベクトル空間Uの基底ベクトルで表される代表グループを示す情報である。 The transformation matrix storage unit 32 stores the transformation matrix generated by the transformation matrix generation device 1 and information indicating the group and the representative group at the time of the transformation matrix generation. The information is shown group during the transformation matrix generator, for example, a group to be the transformation matrix generator, namely, information indicating a group represented by the basis vectors of the vector space U N. The information indicating the representative group at the time of generating the transformation matrix is, for example, information indicating the representative group that is the target of the transformation matrix generation, that is, the representative group represented by the basis vector of the vector space U M.

ユーザ情報記憶部33は、例えば、ユーザの情報と、グループ所属情報とを記憶する。ユーザの情報は、例えば、ユーザを識別可能な情報と、ベクトル空間U上の表現とを含む情報である。 The user information storage unit 33 stores, for example, user information and group affiliation information. Information of the user is, for example, information including identification information capable user, and a representation of a vector space U N.

変換行列生成装置1は、代表グループ計算手段11と、変換行列生成手段12とを備える。代表グループ計算手段11は、グループ情報記憶部31が記憶しているグループ間のリンク情報をもとに、ページランクアルゴリズムを使い代表グループを求める。また、変換行列生成手段12は、すべてのグループを代表グループによって表現することにより変換行列Aを求め、変換行列記憶部32に記憶させる。また、変換行列生成手段12は、この時点でのグループと代表グループについても合わせて変換行列記憶部32に記憶させる。   The transformation matrix generation device 1 includes a representative group calculation unit 11 and a transformation matrix generation unit 12. The representative group calculation unit 11 obtains a representative group using a page rank algorithm based on the link information between groups stored in the group information storage unit 31. Further, the transformation matrix generation means 12 obtains the transformation matrix A by expressing all groups by representative groups, and stores them in the transformation matrix storage unit 32. Further, the transformation matrix generation unit 12 stores the group and the representative group at this time together in the transformation matrix storage unit 32.

類似度計算装置2は、類似度計算手段21を備える。類似度計算手段21は、入力ユーザの表現と、比較対象のユーザの表現とを、それぞれベクトル空間U上でのユーザ表現からベクトル空間U上でのユーザ表現へ変換し、類似度を計算する。 The similarity calculation device 2 includes similarity calculation means 21. The similarity calculation means 21 converts the representation of the input user and the representation of the user to be compared from the user representation on the vector space U N to the user representation on the vector space U M to calculate the similarity. To do.

次に、図面を参照して、第1の実施形態の動作について説明する。図3は、第1の実施形態の動作を示すフローチャートである。   Next, the operation of the first embodiment will be described with reference to the drawings. FIG. 3 is a flowchart showing the operation of the first embodiment.

変換行列生成装置1と類似度計算装置2とは、独立して動作する装置である。変換行列生成装置1は、グループ情報記憶部31に変更があると変換行列の計算をし直し、変換行列記憶部32に記憶させることを繰り返す。類似度計算装置2は、変換行列記憶部32に記憶された変換行列を用いて類似度の計算を行う。   The transformation matrix generation device 1 and the similarity calculation device 2 are devices that operate independently. When there is a change in the group information storage unit 31, the conversion matrix generation device 1 repeats the calculation of the conversion matrix and stores it in the conversion matrix storage unit 32. The similarity calculation device 2 calculates the similarity using the transformation matrix stored in the transformation matrix storage unit 32.

まず、変換行列生成装置1の動作を説明する。図3(a)は、変換行列生成装置1の動作を示すフローチャートである。なお、変換行列生成装置1は、例えば、グループ情報記憶部31が記憶する情報が更新されたことを検出したことに基づいて、以下に示す変換行列生成処理を実行する。また、変換行列生成装置1は、以下に示す変換行列生成処理を、例えば所定期間毎に繰り返し実行し、変換行列を随時更新してもよい。   First, the operation of the transformation matrix generation device 1 will be described. FIG. 3A is a flowchart showing the operation of the transformation matrix generation device 1. Note that the conversion matrix generation device 1 executes the following conversion matrix generation processing based on, for example, detecting that the information stored in the group information storage unit 31 has been updated. Moreover, the conversion matrix production | generation apparatus 1 may perform the conversion matrix production | generation process shown below repeatedly, for example for every predetermined period, and may update a conversion matrix at any time.

代表グループ計算手段11は、グループ情報記憶部31からグループのリンク関係(グループ間のリンク情報)を取得し、ページランクアルゴリズムを用いてグループにランク付けを行う。次に、代表グループ計算手段11は、リンク元またはリンク先のグループのランクより高いランクを持つグループを選び、代表グループとする(ステップS11)。   The representative group calculation unit 11 obtains the group link relationship (link information between groups) from the group information storage unit 31 and ranks the groups using a page rank algorithm. Next, the representative group calculation means 11 selects a group having a rank higher than that of the link source group or the link destination group and sets it as a representative group (step S11).

図4は、各グループのランクを示す情報の例を示す説明図である。図4において、丸で囲まれた数字は、各グループを示す。また、グループ間の矢印は、グループ間のリンク関係を示す。例えば、図4に示すようなグループ間のリンク関係がある場合、代表グループ計算手段11は、各グループのランクとして、各ノード(グループ)の下に示す値を算出する(ただし、リンクの遷移確率は等確率としてページランクアルゴリズムのパラメータに0.85を使い計算)。代表グループ計算手段11は、算出したランクが高いグループを所定の個数選択し、代表グループとして決定する。図4に示す例では、代表グループ計算手段11は、グループ3とグループ8とを代表グループとして決定する。   FIG. 4 is an explanatory diagram illustrating an example of information indicating the rank of each group. In FIG. 4, the numbers surrounded by circles indicate each group. Moreover, the arrow between groups shows the link relationship between groups. For example, when there is a link relationship between groups as shown in FIG. 4, the representative group calculation means 11 calculates the value shown below each node (group) as the rank of each group (however, the link transition probability) Is calculated using 0.85 as the parameter of the page rank algorithm as an equal probability). The representative group calculation means 11 selects a predetermined number of groups with a high calculated rank and determines them as representative groups. In the example illustrated in FIG. 4, the representative group calculation unit 11 determines group 3 and group 8 as representative groups.

次に、計算された代表グループは変換行列生成手段12へ供給される。具体的には、代表グループ計算手段11が、決定した代表グループを示す情報をグループ情報記憶部31に記憶させ、変換行列生成手段12が、グループ情報記憶部31に記憶された代表グループを示す情報を抽出する。   Next, the calculated representative group is supplied to the transformation matrix generation means 12. Specifically, the representative group calculation unit 11 stores information indicating the determined representative group in the group information storage unit 31, and the transformation matrix generation unit 12 stores information indicating the representative group stored in the group information storage unit 31. To extract.

変換行列生成手段12は、すべてのグループを代表グループで表すことによって変換行列Aを生成する。具体的には、まず、変換行列生成手段12は、式(1−1),・・・,式(1−N)の係数aijを決定する。第1の実施形態では、一次近似を用い、係数aijの式に1/(lij+1)^2を使用する。すなわち、変換行列生成手段12は、1/(lij+1)^2を計算することにより、係数aijを算出する。ここで、lijは、例えばグループjから代表グループiへの最短ステップ数である。ただし、係数aijを算出するための式は例示に過ぎず、これに限られるものではない。 The transformation matrix generation means 12 generates the transformation matrix A by representing all groups as representative groups. Specifically, first, the transformation matrix generation means 12 determines the coefficients a ij of the expressions (1-1),..., Expression (1-N). In the first embodiment, first-order approximation is used, and 1 / (l ij +1) ^ 2 is used in the expression of the coefficient a ij . That is, the transformation matrix generation unit 12 calculates the coefficient a ij by calculating 1 / (l ij +1) ^ 2. Here, l ij is, for example, the shortest number of steps from the group j to the representative group i. However, the formula for calculating the coefficient a ij is merely an example, and is not limited thereto.

図4に示す例において算出した係数aijを適用すると、式(1−1),・・・,式(1−N)は以下のようになる。 When the coefficient a ij calculated in the example shown in FIG. 4 is applied, Expressions (1-1),..., Expression (1-N) are as follows.

T(e)=1/9*f+0*f
T(e)=1/4*f+0*f
T(e)=1*f+0*f
T(e)=1/4*f+0*f
T(e)=1/4*f+0*f
T(e)=1/9*f+1/9*f
T(e)=0*f+1/4*f
T(e)=0*f+1*f
T(e)=0*f+1/4*f
T(e10)=0*f+1/4*f
T (e 1 ) = 1/9 * f 1 + 0 * f 2
T (e 2 ) = 1/4 * f 1 + 0 * f 2
T (e 3 ) = 1 * f 1 + 0 * f 2
T (e 4 ) = 1/4 * f 1 + 0 * f 2
T (e 5 ) = 1/4 * f 1 + 0 * f 2
T (e 6 ) = 1/9 * f 1 + 1/9 * f 2
T (e 7 ) = 0 * f 1 + 1/4 * f 2
T (e 8 ) = 0 * f 1 + 1 * f 2
T (e 9 ) = 0 * f 1 + 1/4 * f 2
T (e 10 ) = 0 * f 1 + 1/4 * f 2

式(1−1),・・・,式(1−N)における基底ベクトルの係数を行列表現にしたものが変換行列Aである。すなわち、変換行列生成手段12は、算出した係数aijに基づいて変換行列Aを生成する。図5は、変換行列Aの例を示す説明図である。変換行列生成手段12は、生成した変換行列と、変換行列を求めるのに使用したグループと代表グループとを示す情報を変換行列記憶部32に記憶させる(ステップS12)。 The transformation matrix A is a matrix representation of the basis vector coefficients in the equations (1-1),..., Equation (1-N). That is, the conversion matrix generation unit 12 generates the conversion matrix A based on the calculated coefficient a ij . FIG. 5 is an explanatory diagram illustrating an example of the transformation matrix A. The transformation matrix generation means 12 stores in the transformation matrix storage unit 32 information indicating the generated transformation matrix, the group used to obtain the transformation matrix, and the representative group (step S12).

次に、類似度計算装置2の動作について説明する。図3(b)は、類似度計算装置2の動作を示すフローチャートである。なお、類似度計算装置2は、例えば、ユーザによる類似度計算の実行指示操作が行われたことをトリガとして、以下に示す類似度計算処理を実行する。   Next, the operation of the similarity calculation device 2 will be described. FIG. 3B is a flowchart showing the operation of the similarity calculation device 2. Note that the similarity calculation device 2 executes the similarity calculation processing shown below, triggered by, for example, a user performing a similarity calculation execution instruction operation.

類似度計算装置2の入力は、入力装置4から与えられるユーザのベクトル空間U上でのユーザ表現である。すなわち、類似度計算手段21は、ベクトル空間U上のユーザ表現を入力装置4から入力する。類似度計算手段21は、入力したベクトル空間U上でのユーザ表現に変換行列Aをかけることによって、ベクトル空間U上のユーザ表現に変換し、その他のユーザについても同様に変換する。具体的には、類似度計算手段21は、ベクトル空間Uの元を変換行列を用いてベクトル空間Uの元に変換する。 Input similarity calculation device 2 is a user representation in a vector space U N of the user supplied from the input device 4. In other words, the similarity calculation unit 21 inputs the user representation of a vector space U N from the input device 4. The similarity calculation means 21 converts the input user expression on the vector space U N to the user expression on the vector space U M by applying the conversion matrix A, and similarly converts other users. Specifically, the similarity calculation unit 21 converts an element of the vector space U N into an element of the vector space U M using a conversion matrix.

次に、類似度計算手段21は、それぞれのユーザ間の類似度を、ベクトル空間U上のユーザ表現に基づいて計算する(ステップS21)。第1の実施形態では、類似度の計算にベクトル間の角度の余弦の値を用いる。なお、類似度の計算に余弦の値を用いる方法は例示に過ぎずこの方法に限定するものではない。他にもベクトル間の距離を用いる方法など、さまざまな方法が適用可能である。 Next, the similarity calculation means 21 calculates the similarity between the respective users based on the user expression on the vector space U M (step S21). In the first embodiment, the cosine value of the angle between vectors is used for calculating the similarity. Note that the method of using the cosine value for calculating the similarity is merely an example, and is not limited to this method. In addition, various methods such as a method using a distance between vectors can be applied.

最後に、類似度計算手段21は、ステップS21で求めたそれぞれのグループ(ユーザの集合)に対する類似度を、類似度が高い順に出力装置5に出力する(ステップS22)。   Finally, the similarity calculation means 21 outputs the similarity to each group (user set) obtained in step S21 to the output device 5 in descending order of similarity (step S22).

ここで例として、図4に示すグループ間のリンク関係がある場合の類似度計算手段21の動作を説明する。以下、ユーザ1とユーザ2との類似度、ユーザ1とユーザ3との類似度を余弦の値を使い具体的に計算して、ユーザ1に類似するユーザを抽出する場合について説明する。   Here, as an example, the operation of the similarity calculation means 21 when there is a link relationship between groups shown in FIG. 4 will be described. Hereinafter, a case where the similarity between the user 1 and the user 2 and the similarity between the user 1 and the user 3 are specifically calculated using cosine values and a user similar to the user 1 is extracted will be described.

ユーザ1はグループ3と6に所属し、ユーザ2はグループ2と4に所属し、ユーザ3はグループ9と10に所属しているとする。この場合、ユーザ1,2,3のベクトル空間U上の表現はそれぞれ、[0; 0; 1; 0; 0; 1; 0; 0; 0; 0]、 [0; 1; 0; 1; 0; 0; 0; 0; 0; 0]、[0; 0; 0; 0; 0; 0; 0; 0; 1; 1]である(以下、列ベクトルを[a; b; c]と表記し、行ベクトルを[a, b, c]と表記する。)。 Assume that user 1 belongs to groups 3 and 6, user 2 belongs to groups 2 and 4, and user 3 belongs to groups 9 and 10. In this case, each expression a vector space U N users 1,2,3, [0; 0; 1; 0; 0; 1; 0; 0; 0; 0], [0; 1; 0; 1 ; 0; 0; 0; 0; 0; 0], [0; 0; 0; 0; 0; 0; 0; 0; 1; 1] (Hereafter, the column vector [a; b; c] And the row vector as [a, b, c].)

類似度計算手段21は、ユーザ1,2,3のベクトル空間U上の表現に、図5に例示する変換行列をかけることにより、ベクトル空間U上での表現[10/9; 1/9]、[1/2; 0]、[0; 1/2]を得る。類似度計算手段21は、算出したベクトル空間U上でのユーザ表現を使い、余弦の値を求める。例えば、ユーザ1とユーザ2とのベクトル間の角度の余弦の値は0.995であり、ユーザ1とユーザ3とのベクトル間の角度の余弦の値は0.0995となる。最後に、類似度計算手段21は、類似度を算出したグループ(ユーザ間)を識別する値と、類似度の値とを類似度が高い順に出力装置5へ出力する。この例では、ユーザ2、ユーザ3の順に類似度の値を出力装置5に出力する。 Similarity calculating means 21, the representation of a vector space U N users 1, 2, 3, by applying a transformation matrix illustrated in FIG. 5, represented in a vector space U M [10/9; 1 / 9], [1/2; 0], [0; 1/2] are obtained. The similarity calculation means 21 obtains a cosine value by using the user expression on the calculated vector space U M. For example, the value of the cosine of the angle between the vectors of the user 1 and the user 2 is 0.995, and the value of the cosine of the angle between the vectors of the user 1 and the user 3 is 0.0995. Finally, the similarity calculation means 21 outputs the value for identifying the group (between users) for which the similarity is calculated and the value of the similarity to the output device 5 in descending order of similarity. In this example, similarity values are output to the output device 5 in the order of user 2 and user 3.

次に、第1の実施形態の効果について説明する。第1の実施形態では、グループの中からそれぞれのテーマの代表グループを選び出し、代表グループによってすべてのグループを表現することにより、複数あった同じテーマのグループは関係する同一の代表グループによって表現されるようになる。従って、同じテーマを扱うグループが複数ある場合にも類似度の計算を正しく行うことができる。   Next, the effect of the first embodiment will be described. In the first embodiment, a representative group of each theme is selected from the groups, and all the groups are expressed by the representative group, so that a plurality of groups of the same theme are expressed by the same related representative group. It becomes like this. Therefore, even when there are a plurality of groups that handle the same theme, the similarity can be calculated correctly.

また、類似ユーザを発見する一般的な方法で得られる結果は、既知のユーザであったり、または容易に発見可能なユーザとなる可能性が高いという問題がある。一般的な方法で発見できる類似ユーザは、完全に自分と同じグループに所属する他のユーザである。自分と同じグループに所属するユーザは、比較的リンク関係が近く、既知であったり、グループをたどるだけで容易に発見できる場合が多い。これに対して、第1の実施形態では、複数の同一テーマを扱うグループを代表グループにより同一視できることによって、自分と同じようなテーマのグループに所属しているが、まったく同じではないグループに所属するユーザも発見することができる。従って、ユーザが既知である可能性が低い類似ユーザを発見することができる。   Further, there is a problem that a result obtained by a general method for finding a similar user is likely to be a known user or a user who can be easily found. Similar users that can be found by a general method are other users who belong to the same group as themselves. Users who belong to the same group as themselves often have a relatively close link relationship, and are often known or easily found by simply following the group. On the other hand, in the first embodiment, a group that handles a plurality of the same themes can be identified by the representative group, so that it belongs to a group of the same theme as itself but belongs to a group that is not exactly the same. Users can also discover. Therefore, it is possible to find a similar user who is unlikely to be known.

なお、上記の第1の実施形態では、類似度計算手段21がベクトルすべての次元(成分)を用いて余弦の値を計算する場合を例示したが、変形例として、以下の方法が考えられる。例えば、類似度計算手段21は、類似度計算手段21に入力された所定のユーザのユーザ表現を変換行列により変換したベクトルの非ゼロの次元(成分)のみを使って、類似度を計算してもよい。こうすることによって、入力ユーザ(所定のユーザ)の関心がある部分でのみ、他のユーザと比較ができるため精度があがることが期待できる。   In the first embodiment, the case where the similarity calculation unit 21 calculates the cosine value using all the dimensions (components) of the vector is exemplified. However, as a modification, the following method can be considered. For example, the similarity calculation unit 21 calculates the similarity by using only a non-zero dimension (component) of a vector obtained by converting the user representation of a predetermined user input to the similarity calculation unit 21 using a conversion matrix. Also good. By doing so, it can be expected that the accuracy can be improved because it can be compared with other users only in the portion of interest of the input user (predetermined user).

また、上記の第1の実施形態では、記憶装置3がグループ情報記憶部31、変換行列記憶部32、ユーザ情報記憶部33を備えるものとして説明を行ったが、ネットワークに接続された別装置が、グループ情報記憶部31およびユーザ情報記憶部33を備えている構成でもよい。また、他の機能手段についても、実質的に上記の各機能手段がネットワーク上に接続された装置のいずれかまたは複数により実現されていればよく、どの装置がどの機能手段を備えるかという点は、上記構成に限られるものではない。   In the first embodiment described above, the storage device 3 is described as including the group information storage unit 31, the transformation matrix storage unit 32, and the user information storage unit 33. However, another device connected to the network may be used. The group information storage unit 31 and the user information storage unit 33 may be provided. In addition, as for other functional means, it is only necessary that each functional means described above is realized by any one or a plurality of devices connected on a network, and which device has which functional means. The configuration is not limited to the above.

実施形態2.
本発明の第2の実施形態の構成について説明する。図6は、第2の実施形態の類似ユーザ発見システムの構成例を示すブロック図である。図6に示すように、第2の実施形態における類似ユーザ発見システムは、類似度計算装置6が、図2に示す類似度計算装置2の構成に加え、候補検索手段61を有する点で異なる。第1の実施形態と同様の構成要素については、同一の符号を付し、詳細な説明を省略する。
Embodiment 2. FIG.
The configuration of the second embodiment of the present invention will be described. FIG. 6 is a block diagram illustrating a configuration example of the similar user discovery system according to the second embodiment. As shown in FIG. 6, the similar user discovery system according to the second embodiment is different in that the similarity calculation device 6 includes candidate search means 61 in addition to the configuration of the similarity calculation device 2 shown in FIG. The same components as those in the first embodiment are denoted by the same reference numerals, and detailed description thereof is omitted.

第2の実施形態における類似度計算装置6は、候補検索手段61と、類似度計算手段21とを含む。候補検索手段61は、入力されたユーザと類似する可能性のあるユーザの絞り込みを行う。その後、類似度計算手段21は、候補検索手段61によって絞り込まれたユーザとのみ類似度を計算して結果を出力装置5へ出力する。   The similarity calculation device 6 in the second embodiment includes candidate search means 61 and similarity calculation means 21. Candidate search means 61 narrows down users who may be similar to the input user. Thereafter, the similarity calculation means 21 calculates the similarity only with the users narrowed down by the candidate search means 61 and outputs the result to the output device 5.

次に、第2の実施形態の動作について説明する。図7は、第2の実施形態の動作を示すフローチャートである。図7(a)は、変換行列生成装置1の動作を示すフローチャートである。図7(b)は、類似度計算装置6の動作を示すフローチャートである。第1の実施形態と同様の動作については、図3と同一の符号を付し、詳細な説明を省略する。   Next, the operation of the second embodiment will be described. FIG. 7 is a flowchart showing the operation of the second embodiment. FIG. 7A is a flowchart showing the operation of the transformation matrix generation device 1. FIG. 7B is a flowchart showing the operation of the similarity calculation device 6. About the operation | movement similar to 1st Embodiment, the code | symbol same as FIG. 3 is attached | subjected and detailed description is abbreviate | omitted.

第2の実施形態における類似度計算装置6は、候補検索手段61が類似度を計算する対象を絞りこみ、絞り込まれた対象だけと類似度を計算する点で第1の実施形態と異なる。   The similarity calculation device 6 in the second embodiment is different from the first embodiment in that the candidate search unit 61 narrows down the targets for calculating the similarity and calculates the similarity only with the narrowed-down target.

候補検索手段61は、入力として入力装置4からベクトル空間U上のユーザ表現usrを受け取る。候補検索手段61は、変換行列記憶部32から取得した変換行列Aとベクトルusrを掛け合わせることにより、ベクトル空間U上のユーザ表現usrをベクトル空間U上での表現usr’に変換する。 Candidate search means 61 receives the user representation usr of a vector space U N from the input device 4 as an input. Candidate search means 61 multiplies conversion matrix A acquired from conversion matrix storage unit 32 and vector usr to convert user expression usr on vector space U N into expression usr ′ on vector space U M.

次に、候補検索手段61は、usr’の非ゼロの行(成分)に対応する変換行列Aの行(行ベクトル)を、すべて足しあわせ、類似候補マスクを生成する。   Next, the candidate search unit 61 adds all the rows (row vectors) of the transformation matrix A corresponding to the non-zero rows (components) of usr ′ to generate a similar candidate mask.

ベクトル空間U上の元として表現されたユーザの集合から、類似する可能性のあるユーザを絞り込むために、候補検索手段61は、類似候補マスクの非ゼロの次元(成分)と対応する部分(行(成分))に、少なくとも1つは非ゼロの値があるかどうかを調べることによって、絞り込みを行う。そして、候補検索手段61は、絞り込みを行った結果を類似度計算手段21へ供給(出力)する(ステップS31)。 From the set of users is represented as the original on the vector space U N, in order to narrow down the users who may be similar, candidate retrieval section 61, a non-zero dimension (components) corresponding to those of the similar candidate mask ( Filtering is done by checking if there is at least one non-zero value in the row (component)). Then, the candidate search unit 61 supplies (outputs) the narrowed-down result to the similarity calculation unit 21 (step S31).

類似度計算手段21は、候補検索手段61が抽出したユーザのベクトル空間U上の表現を入力し、ベクトル空間U上のユーザ表現に変換する。類似度計算手段21は、ユーザ4と、候補検索手段61が抽出したユーザとの間の類似度を、ベクトル空間U上のユーザ表現に基づいて計算し(ステップS21)、類似度が高い順に出力装置5に出力する(ステップS22)。 Similarity calculation means 21 receives a representation of a vector space U N of users candidate searching unit 61 is extracted, converted into the user representation of a vector space U M. The similarity calculation means 21 calculates the similarity between the user 4 and the user extracted by the candidate search means 61 based on the user expression on the vector space U M (step S21), and the similarity is in descending order. It outputs to the output device 5 (step S22).

ここで、具体例を使って候補検索手段61の動作を説明する。図4に示すグループ間のリンク関係がある場合に、グループ2,4,5に所属するユーザ4に類似するユーザを見つけるとする。   Here, the operation of the candidate search means 61 will be described using a specific example. Assume that a user similar to the user 4 belonging to the groups 2, 4 and 5 is found when there is a link relationship between the groups shown in FIG.

ユーザ4のベクトル空間U上の表現(usr)は[0; 1; 0; 1; 1; 0; 0; 0; 0; 0]である。これに変換行列A(図5参照。)をかけて、ベクトル空間U上の表現(usr’)に変換すると、[3/4; 0]となる。よって、usr’の非ゼロの行は第1行である。第1行のみであるため、変換行列Aの行ベクトルの足し合わせは不要であり、変換行列Aの第1行が類似候補マスクとなる。すなわち、類似候補マスクは、[1/9; 1/4; 1; 1/4; 1/4; 1/9; 0; 0; 0; 0]となる。 Expression of a vector space U N users 4 (usr 4) is [0; 0 1; 0; 1; 1; 0; 0; 0; 0]. When this is multiplied by a transformation matrix A (see FIG. 5) and transformed into an expression (usr 4 ′) on the vector space U M , [3/4; 0] is obtained. Thus, the non-zero row of usr 4 ′ is the first row. Since there is only the first row, it is not necessary to add the row vectors of the transformation matrix A, and the first row of the transformation matrix A becomes a similar candidate mask. That is, the similar candidate mask is [1/9; 1/4; 1; 1/4; 1/4; 1/9; 0; 0; 0;

類似候補マスクの非ゼロの列は、第1列から第6列である。従って、ユーザ4と類似する可能性があるユーザは、ベクトル空間U上の表現における第1行から第6行に、少なくとも1つは非ゼロの値があるユーザとなる。候補検索手段61は、この条件を満たすユーザをユーザ情報記憶部33から抽出し、類似度計算手段21へ供給(出力)する。 The non-zero columns of similar candidate masks are the first through sixth columns. Thus, the user that may be similar to the user 4, the sixth row from the first row in the representation of a vector space U N, at least one is a user who has a non-zero value. The candidate search means 61 extracts users satisfying this condition from the user information storage unit 33 and supplies (outputs) them to the similarity calculation means 21.

次に、第2の実施形態の効果について説明する。一般に、あるユーザと類似するユーザを見つける場合、計算量が大きくなる。その理由は、ユーザとその他すべてのユーザとの類似度を計算しなければならないからである。これに対して、第2の実施形態では、変換行列Aから求めた類似候補マスクによって、類似する可能性のあるユーザを絞りこみ、絞り込んだユーザとだけ類似度の計算を行うため、類似度の計算において、計算量を減らすことができる。すなわち、第1の実施形態と異なり、候補検索手段61が類似する可能性のあるユーザを絞り込むため、類似度計算手段21において類似度を計算する数を削減することができる。   Next, effects of the second embodiment will be described. In general, when a user similar to a certain user is found, the amount of calculation increases. The reason is that the similarity between the user and all other users must be calculated. On the other hand, in the second embodiment, the similar candidate mask obtained from the transformation matrix A is used to narrow down users who may be similar, and the similarity is calculated only for the narrowed-down users. In calculation, the amount of calculation can be reduced. That is, unlike the first embodiment, the number of similarities calculated by the similarity calculation unit 21 can be reduced because the candidate search unit 61 narrows down the users who may be similar.

次に、第2の実施形態の変形例を説明する。変形例では、絞り込みに、ユーザAに類似するユーザは、ユーザAが関係していない代表グループには同じく関係していないという事実を利用する。この考えに基づいて、ユーザAのベクトル空間U上の表現(usr’)におけるゼロの行に注目する。候補検索手段61は、usr’におけるゼロの行に対応する変換行列の行を足し合わせ、類似候補マスクを生成する。 Next, a modification of the second embodiment will be described. In the modified example, the fact that the user similar to the user A is not related to the representative group not related to the user A is used for narrowing down. Based on this idea, attention is paid to the zero row in the expression (usr A ′) on the vector space U M of the user A. Candidate search means 61 adds the rows of the transformation matrix corresponding to the zero rows in usr A ′ to generate a similar candidate mask.

変形例における類似候補マスクを用いて類似候補を選ぶ場合、候補検索手段61は、類似候補マスクの非ゼロの要素(列)と対応する部分(行)が0であるユーザを選ぶ。こうすることによって、類似度を計算する対象を、ユーザAが興味のないものには同じく興味のない人に絞り込むことができる。   When selecting a similar candidate using the similar candidate mask in the modification, the candidate search means 61 selects a user whose portion (row) corresponding to a non-zero element (column) of the similar candidate mask is zero. By doing so, the objects whose similarity is calculated can be narrowed down to those who are also not interested in what the user A is not interested in.

なお、上記に示した実施形態では、以下の(1)〜(5)に示すような特徴的構成を備えた類似ユーザ発見システムが示されている。   In the embodiment described above, a similar user discovery system having characteristic configurations as shown in the following (1) to (5) is shown.

(1)グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出手段(例えば、代表グループ計算手段11で実現される)と、グループを代表グループを用いて近似することにより、グループを基底とする第1のベクトル空間の元を代表グループを基底とする第2のベクトル空間に写像する変換行列を生成する変換行列生成手段(例えば、変換行列生成手段12で実現される)と、ユーザのベクトル表現を示す第1のベクトル空間の元を、変換行列生成手段が生成した変換行列を用いて第2のベクトル空間の元に変換する変換手段(例えば、類似度計算手段21で実現される)と、変換手段が変換した第2のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算手段(例えば、類似度計算手段21で実現される)とを備えることを特徴とした類似ユーザ発見システム。   (1) Representative group extracting means for extracting a representative group representing a predetermined group based on information indicating a link relationship between groups (for example, realized by the representative group calculating means 11), and representing the group as a representative group Transformation matrix generating means for generating a transformation matrix that maps the element of the first vector space with the group as a base to the second vector space with the representative group as a base by using the approximation (for example, the transformation matrix generating means) And a conversion unit that converts an element of the first vector space indicating the user's vector representation into an element of the second vector space using the conversion matrix generated by the conversion matrix generation unit (for example, Similarity calculation means 21) and similarity calculation means for calculating similarity between users based on the elements of the second vector space converted by the conversion means For example, similar user finding system comprising: a to) and implemented by the similarity calculating unit 21.

(2)類似度計算手段は、所定のユーザのベクトル表現を示す第2のベクトル空間の元のうちゼロ以外の成分のみを用いて類似度を計算する類似ユーザ発見システム。そのように構成された類似ユーザ発見システムは、所定のユーザの関心がある部分のみを対象として他のユーザとの類似度を比較することができる。   (2) The similar user finding system, wherein the similarity calculating means calculates the similarity using only components other than zero among the elements of the second vector space indicating the vector representation of the predetermined user. The similar user discovery system configured as described above can compare the degree of similarity with other users only for a portion of interest of a predetermined user.

(3)変換手段が変換した所定のユーザのベクトル表現を示す第2のベクトル空間の元のゼロ以外の成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分のうち少なくとも1つがゼロ以外である第1のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する候補抽出手段(例えば、候補検索手段61で実現される)を備え、変換手段は、候補抽出手段が抽出した類似候補ユーザのベクトル表現を示す第1のベクトル空間の元を第2のベクトル空間の元に変換し、類似度計算手段は、変換手段が変換した第2のベクトル空間の元に基づいて、所定のユーザと類似候補ユーザとの間の類似度を計算する類似ユーザ発見システム。そのように構成された類似ユーザ発見システムは、あらかじめ類似する可能性のあるユーザを絞り込むため、類似度計算手段の処理を削減することができる。   (3) generating a similar candidate mask based on a row of a conversion matrix corresponding to the original non-zero component of the second vector space indicating the vector representation of the predetermined user converted by the conversion means, and generating the generated similar candidate mask Candidate extraction means (for example, realized by the candidate search means 61) that extracts the element of the first vector space in which at least one of the components corresponding to the non-zero component is non-zero as the vector representation of the similar candidate user The conversion means converts the element of the first vector space indicating the vector representation of the similar candidate user extracted by the candidate extraction means into the element of the second vector space, and the similarity calculation means The similar user discovery system which calculates the similarity between a predetermined user and a similar candidate user based on the element of the converted 2nd vector space. Since the similar user discovery system configured as described above narrows down the users who may be similar in advance, the processing of the similarity calculation means can be reduced.

(4)候補抽出手段は、変換手段が変換した所定のユーザのベクトル表現を示す第2のベクトル空間の元のゼロの成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分がゼロである第1のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する類似ユーザ発見システム。そのように構成された類似ユーザ発見システムは、関係していない代表グループが同一のユーザを類似候補として抽出することができる。   (4) The candidate extraction unit generates a similar candidate mask based on the row of the transformation matrix corresponding to the original zero component of the second vector space indicating the vector representation of the predetermined user transformed by the transformation unit, The similar user discovery system which extracts the element of the 1st vector space whose component corresponding to the non-zero component of the similar candidate mask is zero as a vector representation of a similar candidate user. The similar user discovery system configured as described above can extract, as similar candidates, users whose representative groups that are not related are the same.

(5)変換行列生成手段が生成した変換行列を記憶する変換行列記憶部を備えた類似ユーザ発見システム。   (5) A similar user discovery system including a transformation matrix storage unit that stores a transformation matrix generated by the transformation matrix generation unit.

本発明は、グループ間にリンク関係があるシステムにおいて、あるユーザに類似するユーザを発見するために効果的に適用できる。   The present invention can be effectively applied to find a user similar to a certain user in a system having a link relationship between groups.

本発明による類似ユーザ発見システムの最小の構成例を示すブロック図である。It is a block diagram which shows the minimum structural example of the similar user discovery system by this invention. 第1の実施形態の類似ユーザ発見システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the similar user discovery system of 1st Embodiment. 第1の実施形態の動作を示すフローチャートである。It is a flowchart which shows operation | movement of 1st Embodiment. 各グループのランクを示す情報の例を示す説明図である。It is explanatory drawing which shows the example of the information which shows the rank of each group. 変換行列Aの例を示す説明図である。It is explanatory drawing which shows the example of the conversion matrix A. 第2の実施形態の類似ユーザ発見システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the similar user discovery system of 2nd Embodiment. 第2の実施形態の動作を示すフローチャートである。It is a flowchart which shows operation | movement of 2nd Embodiment.

符号の説明Explanation of symbols

101 代表グループ抽出手段
102 変換行列生成手段
200 変換手段
201 類似度計算手段
101 representative group extraction means 102 conversion matrix generation means 200 conversion means 201 similarity calculation means

Claims (15)

グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出手段と、
グループを代表グループを用いて近似することにより、グループを基底とする第1のベクトル空間の元を代表グループを基底とする第2のベクトル空間に写像する変換行列を生成する変換行列生成手段と、
ユーザのベクトル表現を示す第1のベクトル空間の元を、前記変換行列生成手段が生成した変換行列を用いて第2のベクトル空間の元に変換する変換手段と、
前記変換手段が変換した第2のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算手段と
を備えたことを特徴とする類似ユーザ発見システム。
Representative group extraction means for extracting a representative group representing a predetermined group based on information indicating a link relationship between groups;
Transformation matrix generation means for generating a transformation matrix for mapping a group of elements in a first vector space based on the group to a second vector space based on the representative group by approximating the group using the representative group;
Conversion means for converting an element of a first vector space indicating a vector representation of a user into an element of a second vector space using the conversion matrix generated by the conversion matrix generation means;
A similarity user discovery system comprising: similarity calculation means for calculating a similarity between users based on an element of the second vector space converted by the conversion means.
類似度計算手段は、所定のユーザのベクトル表現を示す第2のベクトル空間の元のうちゼロ以外の成分のみを用いて類似度を計算する請求項1記載の類似ユーザ発見システム。   The similar user discovery system according to claim 1, wherein the similarity calculation means calculates the similarity using only a non-zero component of the elements of the second vector space indicating the vector representation of the predetermined user. 変換手段が変換した所定のユーザのベクトル表現を示す第2のベクトル空間の元のゼロ以外の成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分のうち少なくとも1つがゼロ以外である第1のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する候補抽出手段を備え、
変換手段は、前記候補抽出手段が抽出した類似候補ユーザのベクトル表現を示す第1のベクトル空間の元を第2のベクトル空間の元に変換し、
類似度計算手段は、前記変換手段が変換した第2のベクトル空間の元に基づいて、所定のユーザと類似候補ユーザとの間の類似度を計算する
請求項1または請求項2記載の類似ユーザ発見システム。
A similar candidate mask is generated based on the row of the conversion matrix corresponding to the original non-zero component of the second vector space indicating the vector representation of the predetermined user converted by the conversion means, and the generated similar candidate mask is not zero Candidate extraction means for extracting an element of the first vector space in which at least one of the components corresponding to the components of is non-zero as a vector representation of a similar candidate user,
The converting means converts an element of the first vector space indicating the vector representation of the similar candidate user extracted by the candidate extracting means into an element of the second vector space,
The similar user according to claim 1, wherein the similarity calculating unit calculates a similarity between the predetermined user and the similar candidate user based on an element of the second vector space converted by the converting unit. Discovery system.
候補抽出手段は、変換手段が変換した所定のユーザのベクトル表現を示す第2のベクトル空間の元のゼロの成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分がゼロである第1のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する請求項3記載の類似ユーザ発見システム。   The candidate extraction unit generates a similar candidate mask based on the row of the conversion matrix corresponding to the original zero component of the second vector space indicating the vector representation of the predetermined user converted by the conversion unit, and the generated similar candidate The similar user discovery system according to claim 3, wherein an element of the first vector space in which a component corresponding to a non-zero component of the mask is zero is extracted as a vector representation of similar candidate users. 変換行列生成手段が生成した変換行列を記憶する変換行列記憶部を備えた請求項1から請求項4のうちのいずれか1項に記載の類似ユーザ発見システム。   The similar user discovery system according to any one of claims 1 to 4, further comprising a transformation matrix storage unit that stores a transformation matrix generated by the transformation matrix generation unit. グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出ステップと、
グループを代表グループを用いて近似することにより、グループを基底とする第1のベクトル空間の元を代表グループを基底とする第2のベクトル空間に写像する変換行列を生成する変換行列生成ステップと、
ユーザのベクトル表現を示す第1のベクトル空間の元を、前記変換行列生成ステップで生成した変換行列を用いて第2のベクトル空間の元に変換する変換ステップと、
前記変換ステップで変換した第2のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算ステップと
を含むことを特徴とする類似ユーザ発見方法。
A representative group extracting step of extracting a representative group representing a predetermined group based on information indicating a link relationship between the groups;
A transformation matrix generating step for generating a transformation matrix for mapping the element of the first vector space based on the group to the second vector space based on the representative group by approximating the group using the representative group;
A conversion step of converting an element of a first vector space indicating a vector representation of a user into an element of a second vector space using the conversion matrix generated in the conversion matrix generation step;
A similarity calculation step of calculating a similarity between users based on an element of the second vector space converted in the conversion step.
類似度計算ステップで、所定のユーザのベクトル表現を示す第2のベクトル空間の元のうちゼロ以外の成分のみを用いて類似度を計算する請求項6記載の類似ユーザ発見方法。   7. The similar user finding method according to claim 6, wherein in the similarity calculation step, the similarity is calculated using only components other than zero among the elements of the second vector space indicating the vector expression of the predetermined user. 変換ステップで変換した所定のユーザのベクトル表現を示す第2のベクトル空間の元のゼロ以外の成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分のうち少なくとも1つがゼロ以外である第1のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する候補抽出ステップを含み、
変換ステップで、前記候補抽出ステップで抽出した類似候補ユーザのベクトル表現を示す第1のベクトル空間の元を第2のベクトル空間の元に変換し、
類似度計算ステップで、前記変換ステップで変換した第2のベクトル空間の元に基づいて、所定のユーザと類似候補ユーザとの間の類似度を計算する
請求項6または請求項7記載の類似ユーザ発見方法。
A similar candidate mask is generated based on the row of the conversion matrix corresponding to the original non-zero component of the second vector space indicating the vector representation of the predetermined user converted in the conversion step, and the generated similar candidate mask is non-zero A candidate extracting step of extracting an element of the first vector space in which at least one of the components corresponding to the components of is non-zero as a vector representation of the similar candidate user,
In the conversion step, the element of the first vector space indicating the vector representation of the similar candidate user extracted in the candidate extraction step is converted into the element of the second vector space,
The similarity user according to claim 6 or 7, wherein, in the similarity calculation step, the similarity between the predetermined user and the similar candidate user is calculated based on the element of the second vector space converted in the conversion step. Discovery method.
候補抽出ステップで、変換ステップで変換した所定のユーザのベクトル表現を示す第2のベクトル空間の元のゼロの成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分がゼロである第1のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する請求項8記載の類似ユーザ発見方法。   In the candidate extraction step, a similar candidate mask is generated based on the row of the conversion matrix corresponding to the original zero component of the second vector space indicating the vector representation of the predetermined user converted in the conversion step, and the generated similar candidate The similar user finding method according to claim 8, wherein an element of the first vector space in which a component corresponding to a non-zero component of the mask is zero is extracted as a vector representation of the similar candidate user. 変換行列生成ステップで生成した変換行列を変換行列記憶部に記憶させる変換行列登録ステップを含む請求項6から請求項9のうちのいずれか1項に記載の類似ユーザ発見方法。   The similar user discovery method according to any one of claims 6 to 9, further comprising a transformation matrix registration step of storing the transformation matrix generated in the transformation matrix generation step in a transformation matrix storage unit. コンピュータに、
グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出処理と、
グループを代表グループを用いて近似することにより、グループを基底とする第1のベクトル空間の元を代表グループを基底とする第2のベクトル空間に写像する変換行列を生成する変換行列生成処理と、
ユーザのベクトル表現を示す第1のベクトル空間の元を、前記変換行列生成処理で生成した変換行列を用いて第2のベクトル空間の元に変換する変換処理と、
前記変換処理で変換した第2のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算処理と
を実行させるための類似ユーザ発見プログラム。
On the computer,
Representative group extraction processing for extracting a representative group representing a predetermined group based on information indicating a link relationship between groups;
A transformation matrix generating process for generating a transformation matrix for mapping a group of elements in a first vector space based on the group to a second vector space based on the representative group by approximating the group using the representative group;
A conversion process for converting an element of a first vector space indicating a vector representation of a user into an element of a second vector space using the conversion matrix generated by the conversion matrix generation process;
A similar user finding program for executing a similarity calculation process for calculating a similarity between users based on an element of the second vector space converted by the conversion process.
コンピュータに、
類似度計算処理で、所定のユーザのベクトル表現を示す第2のベクトル空間の元のうちゼロ以外の成分のみを用いて類似度を計算する処理を実行させるための
請求項11記載の類似ユーザ発見プログラム。
On the computer,
The similar user discovery according to claim 11, wherein the similarity calculation process executes a process of calculating a similarity using only a non-zero component of elements of a second vector space indicating a vector representation of a predetermined user. program.
コンピュータに、
変換処理で変換した所定のユーザのベクトル表現を示す第2のベクトル空間の元のゼロ以外の成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分のうち少なくとも1つがゼロ以外である第1のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する候補抽出処理を実行させ、
変換処理で、前記候補抽出処理で抽出した類似候補ユーザのベクトル表現を示す第1のベクトル空間の元を第2のベクトル空間の元に変換する処理を実行させ、
類似度計算処理で、前記変換処理で変換した第2のベクトル空間の元に基づいて、所定のユーザと類似候補ユーザとの間の類似度を計算する処理を実行させるための
請求項11または請求項12記載の類似ユーザ発見プログラム。
On the computer,
A similar candidate mask is generated based on the row of the conversion matrix corresponding to the original non-zero component of the second vector space indicating the vector representation of the predetermined user converted by the conversion process, and the generated similar candidate mask is not zero A candidate extraction process for extracting an element of the first vector space in which at least one of the components corresponding to the components of is non-zero as a vector representation of a similar candidate user,
In the conversion process, the process of converting the element of the first vector space indicating the vector representation of the similar candidate user extracted in the candidate extraction process into the element of the second vector space is executed,
12. The similarity calculation process for executing a process for calculating a similarity between a predetermined user and a similar candidate user based on an element of the second vector space converted by the conversion process. Item 13. A similar user discovery program according to item 12.
コンピュータに、
候補抽出処理で、変換処理で変換した所定のユーザのベクトル表現を示す第2のベクトル空間の元のゼロの成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分がゼロである第1のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する処理を実行させるための
請求項13記載の類似ユーザ発見プログラム。
On the computer,
In the candidate extraction process, a similar candidate mask is generated based on the row of the conversion matrix corresponding to the original zero component of the second vector space indicating the vector representation of the predetermined user converted by the conversion process, and the generated similar candidate The similar user discovery program according to claim 13, for executing processing for extracting an element of a first vector space in which a component corresponding to a non-zero component of a mask is zero as a vector representation of a similar candidate user.
コンピュータに、
変換行列生成処理で生成した変換行列を変換行列記憶部に記憶させる変換行列登録処理を実行させるための
請求項11から請求項14のうちのいずれか1項に記載の類似ユーザ発見プログラム。
On the computer,
The similar user discovery program according to any one of claims 11 to 14, for executing a transformation matrix registration process for storing a transformation matrix generated by the transformation matrix generation process in a transformation matrix storage unit.
JP2007325228A 2007-12-17 2007-12-17 Similar user discovery system, similar user discovery method, and similar user discovery program Expired - Fee Related JP5364996B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007325228A JP5364996B2 (en) 2007-12-17 2007-12-17 Similar user discovery system, similar user discovery method, and similar user discovery program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007325228A JP5364996B2 (en) 2007-12-17 2007-12-17 Similar user discovery system, similar user discovery method, and similar user discovery program

Publications (2)

Publication Number Publication Date
JP2009146314A true JP2009146314A (en) 2009-07-02
JP5364996B2 JP5364996B2 (en) 2013-12-11

Family

ID=40916818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007325228A Expired - Fee Related JP5364996B2 (en) 2007-12-17 2007-12-17 Similar user discovery system, similar user discovery method, and similar user discovery program

Country Status (1)

Country Link
JP (1) JP5364996B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012141987A (en) * 2010-12-30 2012-07-26 Sony Corp System and method for social interaction regarding content items such as movies
JP2013068997A (en) * 2011-09-20 2013-04-18 Dainippon Printing Co Ltd Interchange supporting server device, interchange supporting system, and interchange supporting server program
JP2015022613A (en) * 2013-07-22 2015-02-02 富士通株式会社 Correlation extraction method, device, and program
JP2015038735A (en) * 2010-12-30 2015-02-26 ソニー株式会社 System and method for social interaction regarding content items such as movies
JP2016502709A (en) * 2012-10-24 2016-01-28 フェイスブック,インク. Method and system for determining PYMK usage and content based on a value model
JP2018055551A (en) * 2016-09-30 2018-04-05 富士通株式会社 Data conversion program, data conversion method, and data converter

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310094A (en) * 2003-10-06 2005-11-04 Nippon Telegr & Teleph Corp <Ntt> Keyword extension device and method, content retrieval system, content information providing system and method, and grouping condition determining device, method, and program
JP2007213401A (en) * 2006-02-10 2007-08-23 Kddi Corp Community site server and program for configurating community based on user preferable music data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310094A (en) * 2003-10-06 2005-11-04 Nippon Telegr & Teleph Corp <Ntt> Keyword extension device and method, content retrieval system, content information providing system and method, and grouping condition determining device, method, and program
JP2007213401A (en) * 2006-02-10 2007-08-23 Kddi Corp Community site server and program for configurating community based on user preferable music data

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG200201349003; 中越 智哉 他: '画像のグルーピングとグループ間類似度に基づく主観的類似検索' 情報処理学会論文誌 第42巻 第SIG1(TOD8)号, 20010115, pp.21-31, 社団法人情報処理学会 *
CSNG200400096013; 福地 健太郎 他: 'Web Community Browserにおける探索機構の実装と評価' 電子情報通信学会技術研究報告 第102巻 第209号, 20020712, pp.79-84, 社団法人電子情報通信学会 *
JPN6013001872; 中越 智哉 他: '画像のグルーピングとグループ間類似度に基づく主観的類似検索' 情報処理学会論文誌 第42巻 第SIG1(TOD8)号, 20010115, pp.21-31, 社団法人情報処理学会 *
JPN6013001873; 福地 健太郎 他: 'Web Community Browserにおける探索機構の実装と評価' 電子情報通信学会技術研究報告 第102巻 第209号, 20020712, pp.79-84, 社団法人電子情報通信学会 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012141987A (en) * 2010-12-30 2012-07-26 Sony Corp System and method for social interaction regarding content items such as movies
JP2015038735A (en) * 2010-12-30 2015-02-26 ソニー株式会社 System and method for social interaction regarding content items such as movies
US10390090B2 (en) 2010-12-30 2019-08-20 Sony Corporation System and method for social interaction about content items such as movies
JP2013068997A (en) * 2011-09-20 2013-04-18 Dainippon Printing Co Ltd Interchange supporting server device, interchange supporting system, and interchange supporting server program
JP2016502709A (en) * 2012-10-24 2016-01-28 フェイスブック,インク. Method and system for determining PYMK usage and content based on a value model
US10587705B2 (en) 2012-10-24 2020-03-10 Facebook, Inc. Methods and systems for determining use and content of PYMK based on value model
JP2015022613A (en) * 2013-07-22 2015-02-02 富士通株式会社 Correlation extraction method, device, and program
JP2018055551A (en) * 2016-09-30 2018-04-05 富士通株式会社 Data conversion program, data conversion method, and data converter

Also Published As

Publication number Publication date
JP5364996B2 (en) 2013-12-11

Similar Documents

Publication Publication Date Title
CN108959246B (en) Answer selection method and device based on improved attention mechanism and electronic equipment
CN109885692B (en) Knowledge data storage method, apparatus, computer device and storage medium
JP5364996B2 (en) Similar user discovery system, similar user discovery method, and similar user discovery program
US9087111B2 (en) Personalized tag ranking
Fontana et al. Individual‐level trait diversity concepts and indices to comprehensively describe community change in multidimensional trait space
JP5661813B2 (en) Characterization and retrieval of semantic objects
CN108292310A (en) For the relevant technology of digital entities
CN103959284A (en) Reranking using confident image samples
JP2005327299A (en) Method and system for determining similarity of object based on heterogeneous relation
WO2007119567A1 (en) Document processing device and document processing method
JPWO2015151162A1 (en) Similarity calculation system, similarity calculation method, and program
Nagasubramanian et al. How useful is active learning for image‐based plant phenotyping?
JP2017059031A (en) Information processing apparatus, information processing method, and program
JP2018077765A (en) Information processing device, information processing method, and information processing program
JP5563016B2 (en) Information search device, information search method and program
US8468163B2 (en) Ontology system providing enhanced search capability with ranking of results
JP2007334590A (en) Method, device and program for information ranking, and computer readable recording medium
JP6910873B2 (en) Specific device and specific method
JP5507620B2 (en) Synonym estimation device, synonym estimation method, and synonym estimation program
Shafi et al. [WiP] Web Services Classification Using an Improved Text Mining Technique
JP5533272B2 (en) Data output device, data output method, and data output program
JP5162215B2 (en) Data processing apparatus, data processing method, and program
JP6601888B1 (en) Information processing apparatus, information processing method, and information processing program
JP2013218627A (en) Method and device for extracting information from structured document and program
CN113392278A (en) Industrial internet-based equipment liquid pipeline flow detection method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130321

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: 20130826

R150 Certificate of patent or registration of utility model

Ref document number: 5364996

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees