JP2011034379A - Cooperative filtering system, method and program - Google Patents

Cooperative filtering system, method and program Download PDF

Info

Publication number
JP2011034379A
JP2011034379A JP2009180407A JP2009180407A JP2011034379A JP 2011034379 A JP2011034379 A JP 2011034379A JP 2009180407 A JP2009180407 A JP 2009180407A JP 2009180407 A JP2009180407 A JP 2009180407A JP 2011034379 A JP2011034379 A JP 2011034379A
Authority
JP
Japan
Prior art keywords
user
pairs
relationship
item
calculating
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.)
Pending
Application number
JP2009180407A
Other languages
Japanese (ja)
Inventor
Takashi Shiraki
孝 白木
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 JP2009180407A priority Critical patent/JP2011034379A/en
Publication of JP2011034379A publication Critical patent/JP2011034379A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a cooperative filtering system which enables cooperative filtering considering asymmetry in the strength of relationship between pairs for calculating the relationship. <P>SOLUTION: A user action history DB 321 stores history of action applied to an item by a user. A user pair relationship calculation means 323 refers to the user action history DB 321 and calculates relationship between user pairs in which one-to-one asymmetry is allowed (for U2UCF). An item score calculation means 325 calculates an item score by using the relationship between the user pairs and the user's action history information. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、協調フィルタリングシステム、方法、及び、プログラムに関し、更に詳しくは、情報推薦技術に用いられる協調フィルタリングシステム、方法、及び、プログラムに関する。   The present invention relates to a collaborative filtering system, method, and program, and more particularly to a collaborative filtering system, method, and program used for information recommendation technology.

協調フィルタリング(以下、CF(CF:Collaborative Filtering)とも呼ぶ)と呼ばれる技術がある。CFには、ユーザ間(U2U:User to User)の相関を取るU2UCFと、アイテムや情報間(I2I:Item to Item)の相関を取るI2ICFとがある。CFは、AmazonやNetflixなどにおいて、コンテンツ推薦に実用化されている。   There is a technique called collaborative filtering (hereinafter also referred to as CF (Collaborative Filtering)). The CF includes a U2UCF that correlates between users (U2U: User to User) and an I2ICF that correlates between items and information (I2I: Item to Item). CF is practically used for content recommendation in Amazon, Netflix, and the like.

図4(a)及び(b)に、U2UCFとI2ICFにおける原理を示す。図4(a)は、U2UCFにおけるユーザとアイテムの関係を示している。ユーザ11には、アイテム13を参照した履歴がある。ユーザ12には、アイテム13とアイテム14とを参照した履歴がある。CFは、ユーザ11の履歴とユーザ12の履歴とを入力する。アイテム13に対して、ユーザ11とユーザ12とは共通であり、ユーザ間の相関が得られる。従って、ユーザ11とユーザ12とは、互いに嗜好が似ているユーザという仮説が成り立つ。そこで、ユーザ12にのみ履歴があるアイテム14が、相関のあるユーザ11にも好まれるという推測のもと、ユーザ11にアイテム14を推薦する。   4A and 4B show the principle in U2UCF and I2ICF. FIG. 4A shows the relationship between users and items in U2UCF. The user 11 has a history referring to the item 13. The user 12 has a history referring to the item 13 and the item 14. The CF inputs the history of the user 11 and the history of the user 12. For the item 13, the user 11 and the user 12 are common, and a correlation between the users is obtained. Therefore, the hypothesis that the user 11 and the user 12 are users having similar preferences is established. Therefore, the item 14 having a history only for the user 12 is recommended to the user 11 on the assumption that the correlated user 11 is also preferred.

図4(b)は、I2ICFにおけるユーザとアイテムの関係を示している。ユーザ11には、アイテム13を参照した履歴があり、ユーザ12には、アイテム13とアイテム14とを参照した履歴がある。CFは、ユーザ11とユーザ12の履歴とを入力する。ユーザ12に対して、アイテム13とアイテム14とは共通であり、アイテムの相関が得られる。従って、アイテム13とアイテム14とは、互いに似ているアイテムという仮説が成り立つ。そこで、アイテム14が、アイテム14と相関があるアイテム13にのみ履歴があるユーザ11にも好まれるという推測のもと、ユーザ11に、アイテム14を推薦する。   FIG. 4B shows the relationship between users and items in I2ICF. The user 11 has a history that refers to the item 13, and the user 12 has a history that refers to the item 13 and the item 14. The CF inputs the user 11 and the history of the user 12. For the user 12, the item 13 and the item 14 are common, and the item correlation is obtained. Therefore, the hypothesis that the item 13 and the item 14 are similar to each other holds. Therefore, the item 14 is recommended to the user 11 on the assumption that the item 14 is also favored by the user 11 who has a history only in the item 13 correlated with the item 14.

CFでは、ユーザ間又はアイテム間の相関(関係性)を算出する。相関算出には、Pearson相関係数やSpearman順位相関係数などが用いられる。以下、関係性算出の手法として、Pearsonを例に挙げて説明する。なお、以下では、冗長性を避けるために、U2UCFにおける関係性算出について説明するが、I2ICFでも、同様の手法で関係性を算出できる。   In CF, a correlation (relationship) between users or items is calculated. For the correlation calculation, a Pearson correlation coefficient, a Spearman rank correlation coefficient, or the like is used. Hereinafter, Pearson will be described as an example of the relationship calculation method. In the following, in order to avoid redundancy, the relationship calculation in the U2UCF will be described, but the relationship can also be calculated in the same manner in the I2ICF.

相関を算出するユーザペアを、ユーザ1、ユーザ2とする。ユーザ1のユーザ行動履歴をXとし、ユーザ2のユーザ行動履歴をXとする。行動履歴Xは、各アイテムに対してユーザが行った行動の履歴を要素とするベクトルで表される。ユーザ行動履歴X、Xの要素をx(i)、x(i)(i=1〜n)とする。nはアイテムの総数である。要素x(i)、x(i)は、それぞれ、i番目のアイテムに対するユーザの行動履歴を表す。ここでは、要素x(i)、x(i)の値を、ユーザがi番目のアイテムを履歴に含むときは1、含まない時は0と定義する。要素x(i)の値は、参照したか否かを示す値だけでなく、ユーザがアイテムに対して下した評価や、アイテムを参照した時間など、アイテムに対する行動を示すその他の値でもよい。 A user pair whose correlation is to be calculated is user 1 and user 2. The user behavior history of the user 1 and X 1, the user behavior history of the user 2 and X 2. The action history X is represented by a vector having an action history performed by the user for each item as an element. The elements of the user behavior histories X 1 and X 2 are x 1 (i) and x 2 (i) (i = 1 to n). n is the total number of items. Elements x 1 (i) and x 2 (i) each represent a user's action history for the i-th item. Here, the values of the elements x 1 (i) and x 2 (i) are defined as 1 when the user includes the i-th item in the history, and 0 when not included. The value of the element x (i) is not limited to a value indicating whether or not the element is referenced, but may be another value indicating an action on the item such as an evaluation performed by the user on the item or a time when the item is referred to.

ユーザペア間の相関C(X,X)は、下記式で求められる。

Figure 2011034379
The correlation C (X 1 , X 2 ) between user pairs is obtained by the following equation.
Figure 2011034379

Xiaodan Song, Yun Chi, Koji Hino, Belle L. Tseng, “Identifying Opinion Leaders in the Blogosphere”, CIKM ’07, November 2007.Xiaodan Song, Yun Chi, Koji Hino, Belle L. Tseng, “Identifying Opinion Leaders in the Blogosphere”, CIKM ’07, November 2007.

U2UCFでは、ユーザ間の関係性は、ユーザが行ったアイテム参照履歴などに基づいて、ユーザペア間の共通部分からその共通項の大きさやアイテムに対して下した評価内容の近さを指標に導出している。この関係性の大きさは、双方向に同じ大きさになる。つまり、ユーザXからみたユーザYの関係性の強さは、ユーザYから見たユーザXの関係性の強さと等しい。しかし、一般に、人間関係は、同じ強さの関係にならないことが多い。協調フィルタリングでは、ペア間の相関を双方向に同じ強さの相関で算出するため、実際のペア間の関係性を反映させた協調フィルタリングを行うことができない。   In U2UCF, the relationship between users is derived from the common part between user pairs based on the item reference history etc. performed by the user, using the size of the common term and the closeness of the evaluation content made for the item as an index. is doing. The magnitude of this relationship is the same in both directions. That is, the strength of the relationship of the user Y viewed from the user X is equal to the strength of the relationship of the user X viewed from the user Y. However, in general, human relationships often do not have the same strength. In collaborative filtering, since the correlation between pairs is calculated with the same strength in both directions, collaborative filtering that reflects the actual relationship between pairs cannot be performed.

ユーザ間の関係性について、非特許文献1では、早期に履歴を残した者をOpinionLeaderとして発見し、重要視している。しかし、これは、CFに適応したものではない。また、非特許文献1では、時間的な関係性にのみ焦点を絞っており、例えば、行動が早かった順にユーザA、B、Cの3人がいるとき、重要性は、「A>B」、「B>C」となる。従って、「A>C」である。しかし、実際には、「A>B」、「B>C」、「A<C」という関係も考えられる。非特許文献1では、そのような関係には対応できない。また、非特許文献1では、関係性は時間的なものしか具体例になっておらず、ユーザの行動履歴の量や、ある嗜好の履歴がそのユーザの行動履歴全体の中での割合を考慮したものではなかった。   Regarding the relationship between users, Non-Patent Document 1 places importance on a person who has left an early history as an Opinion Leader. However, this is not adapted for CF. Non-Patent Document 1 focuses only on temporal relationships. For example, when there are three users A, B, and C in the order of early action, the importance is “A> B”. , “B> C”. Therefore, “A> C”. However, in practice, relationships such as “A> B”, “B> C”, and “A <C” are also conceivable. Non-Patent Document 1 cannot cope with such a relationship. In Non-Patent Document 1, the relationship is only a specific example in terms of time, and the amount of the user's behavior history and the ratio of a certain preference history in the user's entire behavior history are taken into account. It was not what I did.

本発明は、関係性算出するペア間での関係性の強さの非対称性を考慮した協調フィルタリングを可能にする協調フィルタリングシステム、方法、及び、プログラムを提供することを目的とする。   It is an object of the present invention to provide a collaborative filtering system, method, and program that enable collaborative filtering in consideration of the asymmetry of the strength of the relationship between pairs for calculating the relationship.

上記目的を達成するために、本発明は、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴DBを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出する関係性算出手段と、前記ペア間の関係性と前記行動履歴情報とを用いて、アイテムスコアを算出するアイテムスコア算出手段とを備える協調フィルタリングシステムを提供する。   In order to achieve the above object, the present invention refers to a user action history DB that stores history information of actions performed by a user on an item, and allows one-to-one asymmetry to be allowed. Collaborative filtering comprising relationship calculation means for calculating the relationship between pairs or context pairs, and item score calculation means for calculating an item score using the relationship between the pairs and the action history information Provide a system.

本発明は、コンピュータが、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴DBを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出するステップと、前記コンピュータが、前記ペア間の関係性と前記行動履歴情報とを用いて、アイテムスコアを算出するステップとを有する協調フィルタリング方法を提供する。   The present invention refers to a user behavior history DB in which a computer stores history information of behavior performed by an user on an item, and a one-to-one asymmetry is allowed, between user pairs, between item pairs, or There is provided a collaborative filtering method including a step of calculating a relationship between context pairs, and a step of calculating an item score using the relationship between the pair and the action history information.

本発明は、コンピュータに、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴DBを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出する処理と、前記ペア間の関係性と前記行動履歴情報とを用いて、アイテムスコアを算出する処理とを実行させるプログラムを提供する。   The present invention refers to a user action history DB that stores history information of actions performed by a user on an item in a computer, and allows one-to-one asymmetry, between user pairs, between item pairs, or A program for executing a process for calculating a relationship between context pairs and a process for calculating an item score using the relationship between the pairs and the action history information is provided.

本発明の協調フィルタリングシステム、方法、及び、プログラムは、関係性算出するペア間での関係性の強さの非対称性を考慮した協調フィルタリングが可能である。   The collaborative filtering system, method, and program of the present invention can perform collaborative filtering in consideration of the asymmetry of the strength of the relationship between the pairs for calculating the relationship.

本発明の第1実施形態の協調フィルタリングシステムを示すブロック図。The block diagram which shows the collaborative filtering system of 1st Embodiment of this invention. 動作手順を示すフローチャート。The flowchart which shows an operation | movement procedure. ユーザペア関係性保存DBのデータ例を示す図。The figure which shows the example of data of user pair relationship preservation | save DB. (a)及び(b)は、それぞれU2UCFとI2ICFの原理を示すブロック図。(a) And (b) is a block diagram which shows the principle of U2UCF and I2ICF, respectively.

実施形態の説明に先立って、関係性に非対称性を持たせることの意義について説明する。ユーザペアとして、参照したアイテムの数が大きく異なる二人のユーザ(ユーザ1、ユーザ2)を考える。すなわち、ユーザ1の行動履歴の総数Σx(i)とユーザ2の行動履歴Σx(i)とを比較したとき、
Σx(i)<<Σx(i)
であったとする。
Prior to the description of the embodiment, the significance of giving asymmetry to the relationship will be described. As a user pair, two users (user 1 and user 2) having a significantly different number of referenced items are considered. That is, when the total number Σx 1 (i) of user 1's action history and the action history Σx 2 (i) of user 2 are compared,
Σx 1 (i) << Σx 2 (i)
Suppose that

ユーザ1の行動履歴の総数が110で、ユーザ2の行動履歴の総数が10100で、行動履歴の共通部分の総数が100であったとする。ユーザ1とユーザ2とが共通に参照したアイテムの数は、アイテムの総数をnとして、

Figure 2011034379
となる。ユーザ1が参照し、ユーザ2は参照しなかったアイテムの数は、
Figure 2011034379
となる。ユーザ1は参照せず、ユーザ2が参照したアイテムの数は、
Figure 2011034379
となる。ユーザ1もユーザ2も参照しなかったアイテムの数は、
Figure 2011034379
となる。 Assume that the total number of action histories of user 1 is 110, the total number of action histories of user 2 is 10100, and the total number of common parts of the action histories is 100. The number of items commonly referred to by user 1 and user 2 is n as the total number of items.
Figure 2011034379
It becomes. The number of items that user 1 references and user 2 does not reference is:
Figure 2011034379
It becomes. The number of items that user 1 did not refer to and user 2 referred to is
Figure 2011034379
It becomes. The number of items that neither user 1 nor user 2 referred to is
Figure 2011034379
It becomes.

ユーザ1とユーザ2とで共通に参照したアイテムは100アイテムあるので、ユーザ1とユーザ2とは相関を持つ。しかし、ユーザ2が参照したアイテムの総数と共通に参照したアイテム数とを比較すると、アイテム総数に比して共通に参照したアイテムの数は少ない。つまり、ユーザ2は、ユーザ1が参照履歴を残していないアイテムへの参照履歴を多数有している、ユーザ2が多種多様なアイテムへの参照履歴を持つユーザであるとした場合、ユーザ2が参照した多種多様なアイテムのうちの100アイテムが、たまたまユーザ1が参照したアイテムと重なったに過ぎないと考えられる。従って、ユーザ2が参照履歴を持つ残りの10000のアイテムについては、ユーザ1の参考にはならず、ユーザ1に推薦すべきではない。   Since there are 100 items commonly referred to by user 1 and user 2, user 1 and user 2 have a correlation. However, when the total number of items referred to by the user 2 is compared with the number of items commonly referred to, the number of items commonly referred to is smaller than the total number of items. In other words, if the user 2 has a large number of reference histories for items for which the user 1 does not leave a reference history, and the user 2 is a user who has a reference history for various items, the user 2 It is thought that 100 items out of the various items referred to only coincide with the items that the user 1 referred to. Therefore, the remaining 10,000 items for which the user 2 has a reference history are not used as a reference for the user 1 and should not be recommended to the user 1.

一方、ユーザ1が参照したアイテムの総数は110で、ユーザ2と共通に参照したアイテムの数は100であるので、ユーザ1が参照したアイテムの総数に占める共通に参照したアイテムの割合は高い。従って、ユーザ2にとっては、ユーザ1が参照し、自身が参照していないアイテムは参考になり、残りの10アイテムをユーザ2に推薦すべきである。このように、ユーザ1にとってユーザ2は参考にならないが、ユーザに2にとってはユーザ1が参考になるという例は、現実に存在する。しかし、ユーザペア間の相関が対称性を持つ場合は、このようなケースには対応できない。   On the other hand, the total number of items referred to by the user 1 is 110, and the number of items referred to in common with the user 2 is 100. Therefore, the ratio of the commonly referred items in the total number of items referred to by the user 1 is high. Therefore, for the user 2, the items that the user 1 refers to and the items that the user 1 does not refer to should be helpful, and the remaining 10 items should be recommended to the user 2. Thus, the user 2 is not helpful for the user 1, but the user 1 is actually helpful for the user 2. However, such a case cannot be handled when the correlation between user pairs has symmetry.

そこで、本発明では、ユーザ行動履歴DBを参照し、ユーザペア間、アイテムペア間、又は、コンテキストペア間で、一対一の非対称性が許容される関係性を算出する関係性算出手段を用いる。この関係性算出手段に、ペア間の関係性とユーザ行動履歴DBに記憶された行動履歴情報とを用いて、アイテムスコアを算出するアイテムスコア算出手段を加えたものが本発明の最小構成となる。関係性算出手段で、ペア間で非対称性が許容される関係性を算出し、その関係性を用いてアイテムスコアを計算することで、ペア間での関係性の強さの非対称性を考慮した協調フィルタリングが可能になる。例えば、上記のケースでは、ユーザ1から見たユーザ2の関係性を弱く、ユーザ2から見たユーザ1の関係性を強くすることで、ユーザ1にのみ参照履歴があるアイテムをユーザ2に推薦しつつ、ユーザ1には、ユーザ2にのみ参照履歴があるアイテムを推薦しないようにできる。   Therefore, in the present invention, a relationship calculation unit that refers to the user behavior history DB and calculates a relationship in which one-to-one asymmetry is allowed between user pairs, item pairs, or context pairs is used. A minimum configuration of the present invention is obtained by adding an item score calculating means for calculating an item score using the relationship between the pair and the action history information stored in the user action history DB to the relationship calculating means. . The relationship calculation means calculates the relationship in which asymmetry is allowed between the pairs, and calculates the item score using the relationship, taking into account the asymmetry of the strength of the relationship between the pairs. Collaborative filtering is possible. For example, in the above case, the user 2 viewed from the user 1 is weakened, and the user 1 viewed from the user 2 is strengthened so that the user 1 only recommends an item having a reference history to the user 2. However, it is possible to prevent the user 1 from recommending items that have a reference history only to the user 2.

以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の第1実施形態の協調フィルタリングシステムを示している。協調フィルタリングシステムは、推薦エンジン30を有する。推薦エンジン30は、サーバなどのコンピュータシステムである。推薦エンジン30は、ネットワークなどを介して、ユーザ端末(21、22、23)と接続される。推薦エンジン30は、ユーザの行動履歴の受付と保持、ユーザの検索要求受付、推薦アイテムの出力、スコア計算などを実施する。なお、図1では、ユーザ端末の数を3台としているが、これには限られない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 shows a collaborative filtering system according to a first embodiment of the present invention. The collaborative filtering system has a recommendation engine 30. The recommendation engine 30 is a computer system such as a server. The recommendation engine 30 is connected to the user terminals (21, 22, 23) via a network or the like. The recommendation engine 30 carries out reception and holding of user behavior history, reception of user search requests, output of recommended items, score calculation, and the like. In FIG. 1, the number of user terminals is three, but is not limited thereto.

ユーザ端末21、22、23は、携帯電話機やPC(Personal Computer)などのユーザが使用する端末装置である。ユーザは、ユーザ端末21、22、23を操作し、推薦エンジン30に対して、アイテム(情報)を推薦することを要求することができる。推薦エンジン30は、要求に従って、アイテムの推薦を行う。ユーザ端末21、22、23は、推薦内容の表示などを行う。また、ユーザは、ユーザ端末21、22、23を用いて、自身のアイテム参照行動などの行動情報を推薦エンジン30に送信することができる。   The user terminals 21, 22, and 23 are terminal devices used by users such as mobile phones and PCs (Personal Computers). The user can operate the user terminals 21, 22, and 23 to request the recommendation engine 30 to recommend items (information). The recommendation engine 30 recommends items according to the request. The user terminals 21, 22, and 23 display recommended contents. In addition, the user can use the user terminals 21, 22, and 23 to transmit behavior information such as his / her item reference behavior to the recommendation engine 30.

推薦エンジン30は、ユーザIF31、スコアリング部32、アイテムデータ保存DB34、及び、ユーザデータ保存DB35を有する。ユーザIF31は、ユーザ行動入力IF311、推薦要求受付IF312、推薦アイテム出力IF313を有する。スコアリング部32は、ユーザ行動履歴DB321、重み算出手段322、ユーザペア関係性算出手段323、ユーザペア関係性保存DB324、アイテムスコア算出手段325、及び、相関算出手段326を有する。   The recommendation engine 30 includes a user IF 31, a scoring unit 32, an item data storage DB 34, and a user data storage DB 35. The user IF 31 includes a user behavior input IF 311, a recommendation request reception IF 312, and a recommended item output IF 313. The scoring unit 32 includes a user behavior history DB 321, a weight calculation unit 322, a user pair relationship calculation unit 323, a user pair relationship storage DB 324, an item score calculation unit 325, and a correlation calculation unit 326.

ユーザIF31は、ユーザ端末21、22、23とスコアリング部32との間で情報の伝達を行う部分である。スコアリング部32は、アイテムスコアを算出し、その結果をユーザIF31に返す。アイテムデータ保存DB34は、アイテムの名称、IDなど、アイテムに関する情報を保存する。ユーザデータ保存DB35は、ユーザの名前、IDなど、ユーザに関する情報を保存する。アイテムデータ保存DB34及びユーザデータ保存DB35は、推薦エンジン30内にある必要はなく、外部のデータベースでも構わない。また、スコアリング部32のユーザ行動履歴DB321及びユーザペア関係性保存DB324も、スコアリング部32内にある必要はなく、外部のデータベースでも構わない。   The user IF 31 is a part that transmits information between the user terminals 21, 22, and 23 and the scoring unit 32. The scoring unit 32 calculates an item score and returns the result to the user IF 31. The item data storage DB 34 stores information about items such as item names and IDs. The user data storage DB 35 stores information about the user such as the user name and ID. The item data storage DB 34 and the user data storage DB 35 do not have to be in the recommendation engine 30 and may be external databases. Further, the user behavior history DB 321 and the user pair relationship storage DB 324 of the scoring unit 32 do not need to be in the scoring unit 32 and may be an external database.

ユーザ行動入力IF311は、ユーザ端末21、22、23から、ユーザの行動履歴を受け取る。ユーザの行動履歴は、ユーザが実行したアイテムの参照履歴などの情報を含む。ユーザ行動入力IF311は、受け取ったユーザの行動履歴を、ユーザ行動履歴DB321に保存する。ユーザ行動履歴DB321は、ユーザID、アイテムのID、参照やブックマークなどの行動、日時などのデータ項目を有する。   The user behavior input IF 311 receives user behavior histories from the user terminals 21, 22, and 23. The user's action history includes information such as a reference history of items executed by the user. The user behavior input IF 311 stores the received user behavior history in the user behavior history DB 321. The user action history DB 321 includes data items such as user ID, item ID, action such as reference and bookmark, and date and time.

推薦エンジン30は、ユーザからのアイテム参照要求などを受け付けるアクション実行手段を有してもよい。アクション実行手段は、アイテム詳細参照手段、アイテム詳細データ保存DB、アイテムブックマーク手段、アイテムブックマークDBなどを含む。アイテム詳細参照手段は、ユーザIF31を介して、ユーザ端末からアイテム詳細参照要求を受ける。アイテム詳細参照手段は、アイテム詳細データ保存DBに、参照したアイテムの詳細なデータを保存する。アイテムブックマーク手段は、ユーザIF31を介して、ユーザ端末からアイテムブックマーク要求を受ける。アイテムブックマーク手段は、要求されたアイテムを、アイテムブックマークDBに保存する。このような構成の場合、アクション実行手段が、ユーザが詳細データを参照したという行動履歴、及び、ユーザがアイテムをブックマークしたという行動履歴を、ユーザ行動履歴DB321に保存する構成としてもよい。   The recommendation engine 30 may have action execution means for receiving an item reference request from a user. The action execution means includes item detail reference means, item detail data storage DB, item bookmark means, item bookmark DB, and the like. The item detail reference means receives an item detail reference request from the user terminal via the user IF 31. The item detail reference means stores detailed data of the referenced item in the item detail data storage DB. The item bookmark means receives an item bookmark request from the user terminal via the user IF 31. The item bookmark means stores the requested item in the item bookmark DB. In the case of such a configuration, the action execution means may store in the user behavior history DB 321 the behavior history that the user referred to the detailed data and the behavior history that the user bookmarked the item.

推薦要求受付IF312は、ユーザ端末が送信するアイテムの推薦要求を受け付ける。ユーザは、例えば検索キーワードなどを用いて、推薦を要求するアイテムの条件を指定することができる。推薦要求受付IF312は、推薦要求を受けると、受け取った推薦要求をアイテムスコア算出手段325に伝達する。推薦アイテム出力IF313は、アイテムスコア算出手段325から、推薦するアイテムのリストとそのスコアとを受け取る。推薦アイテム出力IF313は、推薦アイテムのリストとそのスコアとを、アイテムの推薦要求を送信したユーザのユーザ端末に送信する。   The recommendation request reception IF 312 receives an item recommendation request transmitted by the user terminal. The user can specify the condition of the item for which recommendation is requested using, for example, a search keyword. When receiving the recommendation request, the recommendation request reception IF 312 transmits the received recommendation request to the item score calculation unit 325. The recommended item output IF 313 receives a list of recommended items and its score from the item score calculation means 325. The recommended item output IF 313 transmits the list of recommended items and the score thereof to the user terminal of the user who transmitted the item recommendation request.

ユーザペア関係性算出手段323は、ユーザ行動履歴DB321を参照し、一対一の非対称性が許容されるユーザペア間の関係性を算出する。ユーザペア関係性算出手段323は、重み算出手段322と相関算出手段326とを含む。重み算出手段322は、ユーザ行動履歴DB321を参照し、ユーザペア間の重みを算出する。重み算出手段322が算出する重みは、各ユーザペアの双方向で異なることが許容される。つまり、あるユーザpから見た別のユーザqの重みと、ユーザqから見たユーザpの重みとが異なることが許容される。重み算出手段322は、例えば、ペアの一方から見た他方への重みを、ペアの他方のみに存在する行動履歴の量に基づいて決定する。或いは、重み算出手段322は、ペア間での行動履歴の時刻の前後関係に基づいて、重みを決定してもよい。   The user pair relationship calculation means 323 refers to the user behavior history DB 321 and calculates the relationship between user pairs that allows one-to-one asymmetry. The user pair relationship calculation unit 323 includes a weight calculation unit 322 and a correlation calculation unit 326. The weight calculation unit 322 refers to the user action history DB 321 and calculates a weight between user pairs. The weights calculated by the weight calculation unit 322 are allowed to be different in each user pair in both directions. That is, the weight of another user q viewed from a certain user p and the weight of the user p viewed from the user q are allowed to be different. For example, the weight calculation unit 322 determines the weight to the other viewed from one of the pairs based on the amount of behavior history existing only in the other of the pair. Alternatively, the weight calculation unit 322 may determine the weight based on the order of the time of the action history between the pairs.

相関算出手段326は、ユーザ行動履歴DB321を参照して、ユーザペア間の相関を示す相関係数を算出する。相関係数には、任意の相関係数を用いることができる。相関算出手段326は、例えばPearson相関係数を算出する。ユーザペア関係性算出手段323は、重み算出手段322が算出したユーザペア間の重みと、相関算出手段326が算出したユーザペア間の相関係数とから、ユーザペア間の関係性を算出する。ユーザペア関係性算出手段323は、算出したユーザペア間の関係性を、ユーザペア関係性保存DB324に保存する。   The correlation calculation unit 326 refers to the user action history DB 321 and calculates a correlation coefficient indicating the correlation between the user pairs. Any correlation coefficient can be used as the correlation coefficient. The correlation calculation unit 326 calculates, for example, a Pearson correlation coefficient. The user pair relationship calculation unit 323 calculates the relationship between user pairs from the weight between user pairs calculated by the weight calculation unit 322 and the correlation coefficient between user pairs calculated by the correlation calculation unit 326. The user pair relationship calculation unit 323 stores the calculated relationship between user pairs in the user pair relationship storage DB 324.

アイテムスコア算出手段325は、ユーザ行動履歴DB321とユーザペア関係性保存DB324とを参照し、ユーザの行動履歴とユーザペア間の関係性とに基づいて、アイテムスコアを算出する。アイテムスコアの算出は、ユーザペア間の関係性が非対称性を有することが許容されている点を除けば、通常のアイテムスコアの算出と同様な手法で行うことができる。アイテムスコア算出手段325は、算出したアイテムスコアを推薦アイテム出力IF313へ伝達する。   The item score calculation means 325 refers to the user behavior history DB 321 and the user pair relationship storage DB 324, and calculates an item score based on the user behavior history and the relationship between the user pairs. The calculation of the item score can be performed by the same method as the calculation of the normal item score, except that the relationship between the user pairs is allowed to be asymmetric. The item score calculation means 325 transmits the calculated item score to the recommended item output IF 313.

重みの算出について説明する。ユーザペアをユーザpとユーザqとしたとき、ユーザpから見たユーザqの重みをwpqと定義する。ユーザqが参照したアイテムの総数に占める、ユーザpとユーザqが共通に参照したアイテム数が多いとき、すなわち、ユーザqのみが参照したアイテム数が少ないとき、ユーザqは、ユーザpにとって参考になるユーザであると言える。逆に、ユーザqが参照したアイテムの総数に占める、ユーザpとユーザqが共通に参照したアイテム数が少ないとき、すなわち、ユーザqのみが参照したアイテムの数が多いときは、ユーザqは、ユーザpにとってそれほど参考になるユーザではないと言える。そこで、重みwpqは、ユーザqが参照したアイテムのうち、ユーザpが参照したアイテムと重複しないアイテムの数が多いほど、重みが小さくなるように設定する。 The calculation of the weight will be described. When the user pair is a user p and a user q, the weight of the user q viewed from the user p is defined as w pq . When the number of items commonly referred to by the user p and the user q in the total number of items referred to by the user q is large, that is, when the number of items referred only by the user q is small, the user q is helpful for the user p. It can be said that it is a user. Conversely, when the number of items commonly referred to by the user p and the user q in the total number of items referred to by the user q is small, that is, when the number of items referred only by the user q is large, the user q It can be said that the user p is not a very helpful user. Therefore, the weight w pq is set so that the weight decreases as the number of items that do not overlap with the item referred to by the user p among the items referenced by the user q increases.

具体的には、重みwpqを下記式1で定義する。

Figure 2011034379
上記式1におけるx(i)は、ユーザの行動履歴Xの要素であり、ユーザxがi番目のアイテムを参照したときは1、参照していないときは0となる関数である。また、nは、アイテムの総数を表している。式1で定義される重みは、アイテムの総数をユーザqのみが参照したアイテム数で割った値に相当する。ユーザqから見たユーザpの重みwqpは、式1にて、pとqを入れ替えることで算出できる。重み算出手段322は、ユーザ行動履歴DB321からユーザp、ユーザqの行動履歴を取得し、式1に基づいて、ユーザペア間の重みを算出する。 Specifically, the weight w pq is defined by the following formula 1.
Figure 2011034379
X (i) in the above equation 1 is an element of the user's behavior history X, and is a function that becomes 1 when the user x refers to the i-th item and 0 when it does not refer to it. N represents the total number of items. The weight defined by Equation 1 corresponds to a value obtained by dividing the total number of items by the number of items referenced only by the user q. The weight w qp of the user p viewed from the user q can be calculated by exchanging p and q in Equation 1. The weight calculation unit 322 acquires the action history of the users p and q from the user action history DB 321, and calculates the weight between the user pairs based on Equation 1.

相関算出手段326は、ユーザ行動履歴から、ユーザペア間の相関係数を算出する。ここでは、相関係数は、Pearson相関係数とする。相関係数自体は、対称性を有する。ユーザペア関係性算出手段323は、重み算出手段322が算出した非対称性が許容される重みと、相関算出手段326が算出した対称性を有する相関係数との積を、ユーザペア間の関係性とする。具体的には、ユーザペア関係性算出手段323は、下記式2を用いて、ユーザpから見たユーザqの関係性を算出する。

Figure 2011034379
The correlation calculation unit 326 calculates a correlation coefficient between the user pairs from the user action history. Here, the correlation coefficient is a Pearson correlation coefficient. The correlation coefficient itself has symmetry. The user pair relationship calculating unit 323 calculates the product of the weight that the asymmetry calculated by the weight calculating unit 322 is allowed and the correlation coefficient having the symmetry calculated by the correlation calculating unit 326, and the relationship between the user pairs. And Specifically, the user pair relationship calculating unit 323 calculates the relationship of the user q viewed from the user p using the following formula 2.
Figure 2011034379

図2は、動作手順を示している。ユーザ行動履歴DB321には、ユーザの行動履歴情報が記憶されている。重み算出手段322は、ユーザ行動履歴DB321を参照し、行動履歴情報に基づいて、ユーザペア間の重みを算出する(ステップS1)。また、相関算出手段326は、ユーザ行動履歴DB321を参照して、行動履歴情報に基づいて、ユーザペア間の相関を示す相関係数を算出する(ステップS2)。   FIG. 2 shows an operation procedure. The user action history DB 321 stores user action history information. The weight calculation unit 322 refers to the user action history DB 321 and calculates the weight between the user pairs based on the action history information (step S1). Further, the correlation calculating unit 326 refers to the user action history DB 321 and calculates a correlation coefficient indicating the correlation between the user pairs based on the action history information (step S2).

ユーザペア関係性算出手段323は、重みと相関係数との積をユーザペア間の関係性として、ユーザペア関係性保存DB324に保存する(ステップS3)。ユーザペア関係性算出手段323は、例えば、ユーザ行動履歴DB321にユーザの行動履歴情報が記憶されるごとに、関係性の算出を行う。或いは、ユーザペア関係性算出手段323は、所定の時間間隔で周期的に関係性の算出を行ってもよい。   The user pair relationship calculation unit 323 stores the product of the weight and the correlation coefficient in the user pair relationship storage DB 324 as the relationship between the user pairs (step S3). For example, the user pair relationship calculation unit 323 calculates the relationship each time user behavior history information is stored in the user behavior history DB 321. Alternatively, the user pair relationship calculation unit 323 may calculate the relationship periodically at a predetermined time interval.

アイテムスコア算出手段325は、推薦要求受付IF312を介して、推薦要求を受け付ける(ステップS4)。アイテムスコア算出手段325は、ユーザ行動履歴DB321とユーザペア関係性保存DB324とを参照し、ユーザの行動履歴とユーザペア間の関係性とに基づいて、アイテムスコアを算出する(ステップS5)。アイテムスコア算出手段325は、推薦するアイテムのリストとそのスコアとを、推薦アイテム出力IF313を介して要求出力元のユーザ端末へ送信する(ステップS6)。   The item score calculation means 325 receives a recommendation request via the recommendation request reception IF 312 (step S4). The item score calculation means 325 refers to the user behavior history DB 321 and the user pair relationship storage DB 324, and calculates an item score based on the user behavior history and the relationship between the user pairs (step S5). The item score calculation means 325 transmits the list of recommended items and the score to the request output source user terminal via the recommended item output IF 313 (step S6).

以下、具体的数値例を用いて説明する。ユーザ端末21のユーザをユーザ1、ユーザ端末22のユーザをユーザ2、ユーザ端末23のユーザをユーザ3とする。ユーザペア(ユーザ1,ユーザ2)について、ユーザ行動履歴DB321に記憶されたユーザ1の行動履歴Xとユーザ2の行動履歴Xとから、ユーザ1とユーザ2とが共通に参照したアイテム数、ユーザ1のみが参照したアイテム数、ユーザ2のみが参照したアイテム数、双方が参照しなかったアイテム数を求めると、下記のようになったとする。
・ユーザ1とユーザ2とが共通に参照したアイテム

Figure 2011034379
・ユーザ1が参照し、ユーザ2は参照しなかったアイテム
Figure 2011034379
・ユーザ1は参照せず、ユーザ2が参照したアイテム
Figure 2011034379
・ユーザ1もユーザ2も参照しなかったアイテム
Figure 2011034379
Hereinafter, description will be made using specific numerical examples. The user of the user terminal 21 is user 1, the user of the user terminal 22 is user 2, and the user of the user terminal 23 is user 3. For the user pair (user 1, user 2), the number of items that the user 1 and the user 2 refer to in common from the action history X 1 of the user 1 and the action history X 2 of the user 2 stored in the user action history DB 321. Suppose that the number of items referred to only by the user 1, the number of items referred only by the user 2, and the number of items not referenced by both are as follows.
-Items that user 1 and user 2 have commonly referred to
Figure 2011034379
Items that user 1 refers to, but not user 2
Figure 2011034379
-Item that user 2 referred to without referring to user 1
Figure 2011034379
・ Items that neither user 1 nor user 2 referred to
Figure 2011034379

また、ユーザペア(ユーザ1,ユーザ3)について、ユーザ行動履歴DB321に記憶されたユーザ1の行動履歴Xとユーザ3の行動履歴Xとから、ユーザ1とユーザ3とが共通に参照したアイテム数、ユーザ1のみが参照したアイテム数、ユーザ3のみが参照したアイテム数、双方が参照しなかったアイテム数を求めると、下記のようになったとする。
・ユーザ1とユーザ3とが共通に参照したアイテム

Figure 2011034379
・ユーザ1が参照し、ユーザ3は参照しなかったアイテム
Figure 2011034379
・ユーザ1は参照せず、ユーザ3が参照したアイテム
Figure 2011034379
・ユーザ1もユーザ3も参照しなかったアイテム
Figure 2011034379
In addition, regarding the user pair (user 1, user 3), the user 1 and the user 3 commonly referred to the user 1 from the action history X 1 and the action history X 3 of the user 3 stored in the user action history DB 321. Assume that the number of items, the number of items referenced only by user 1, the number of items referenced only by user 3, and the number of items not referenced by both are as follows.
-Items that user 1 and user 3 commonly referred to
Figure 2011034379
Items that user 1 refers to, but user 3 does not
Figure 2011034379
・ Items referenced by user 3 but not by user 1
Figure 2011034379
・ Items that neither user 1 nor user 3 referred to
Figure 2011034379

ユーザペア(ユーザ2,ユーザ3)について、ユーザ行動履歴DB321に記憶されたユーザ2の行動履歴Xとユーザ3の行動履歴Xとから、ユーザ2とユーザ3とが共通に参照したアイテム数、ユーザ2のみが参照したアイテム数、ユーザ3のみが参照したアイテム数、双方が参照しなかったアイテム数を求めると、下記のようになったとする。
・ユーザ2とユーザ3とが共通に参照したアイテム

Figure 2011034379
・ユーザ2が参照し、ユーザ3は参照しなかったアイテム
Figure 2011034379
・ユーザ2は参照せず、ユーザ3が参照したアイテム
Figure 2011034379
・ユーザ2もユーザ3も参照しなかったアイテム
Figure 2011034379
For the user pair (user 2, user 3), the number of items commonly referred to by the user 2 and the user 3 from the action history X 2 of the user 2 and the action history X 3 of the user 3 stored in the user action history DB 321 Suppose that the number of items that only the user 2 refers to, the number of items that only the user 3 refers to, and the number of items that both do not refer to are as follows.
-Items commonly referred to by user 2 and user 3
Figure 2011034379
-Items referenced by user 2 but not by user 3
Figure 2011034379
・ Items referenced by user 3 without referring to user 2
Figure 2011034379
・ Items that neither user 2 nor user 3 referred to
Figure 2011034379

上記をまとめると、ユーザペア間のアイテム参照状況は、下記表1で表される。

Figure 2011034379
In summary, the item reference status between user pairs is shown in Table 1 below.
Figure 2011034379

重み算手段322は、式1を用いて各ユーザペアの双方向の重みを求める。アイテムの総数nは、n=100000であるとする。各ユーザペア間の重みは、
12=10、w21=10000
13=1000、w31=1000
23=100000/60、w32=100000/10050
となる。ユーザ1とユーザ2のペアを見ると、ユーザ1のみが参照したアイテム数が10で、ユーザ2のみが参照したアイテム数が10000あるので、ユーザ1から見たユーザ2の重みw12は、ユーザ2から見たユーザ1の重みw21よりも軽くなっている。一方、ユーザ1とユーザ3とのペアでは、ユーザ1のみが参照したアイテム数とユーザ3のみが参照したアイテム数が同数であるので、w13とw31とは同じ重みになっている。
The weight calculation means 322 calculates the bidirectional weight of each user pair using Equation 1. The total number n of items is assumed to be n = 100000. The weight between each user pair is
w 12 = 10, w 21 = 10000
w 13 = 1000, w 31 = 1000
w 23 = 100,000 / 60, w 32 = 100,000 / 10050
It becomes. Looking at the pair of users 1 and 2, the number of items that only the user 1 is referenced 10, the number of items that only the user 2 has reference is 10000, the weight w 12 of the user 2 as seen from the user 1, the user The weight w 21 of the user 1 viewed from 2 is lighter. On the other hand, the pair of the users 1 and 3, since the number of items that only the number of items and the user 3 to only the user 1 is referenced referenced is the same number, has the same weight as the w 13 and w 31.

ユーザペア関係性算出手段323は、式2で、ユーザペア間の関係を算出する。ユーザ1〜3の行動履歴の平均は、それぞれ、

Figure 2011034379
であったとする。各ユーザペア間の関係性は、以下のように求まる。
Figure 2011034379
The user pair relationship calculation means 323 calculates the relationship between user pairs using Equation 2. The average of the action histories of users 1 to 3 is
Figure 2011034379
Suppose that The relationship between each user pair is obtained as follows.
Figure 2011034379

ユーザペア関係性算出手段323は、求めたユーザペア間の関係性を、ユーザペア関係性保存DB324に保存する。図3は、ユーザペア関係性保存DB324に保存する関係性のデータを示している。ユーザペア間の関係は、行及び列にユーザを並べた正方行列で表すことができる。ただし、対角成分の値は存在しない。   The user pair relationship calculation unit 323 stores the obtained relationship between user pairs in the user pair relationship storage DB 324. FIG. 3 shows relationship data stored in the user pair relationship storage DB 324. The relationship between user pairs can be represented by a square matrix in which users are arranged in rows and columns. However, there is no diagonal component value.

例えば、ユーザ1が、ユーザ端末21を用いて、推薦要求受付IF312に推薦要求を発行したとする。推薦要求受付IF312は、アイテムスコア算出手段325に対し、アイテムスコア算出を指示する。アイテムスコア算出手段325は、ユーザ行動履歴DB321とユーザペア関係性保存DB324とを参照し、アイテムスコアを算出する。具体的には、アイテムスコア算出手段325は、下記式3に従って、アイテムスコアを算出する。

Figure 2011034379
なお、推薦を要求するアイテムの条件が指定されている場合は、アイテムスコア算出に先立って、その条件に従って、条件に合致しないアイテムを除外しておいてもよい。その場合、スコア算出対象となるアイテムについて、アイテムスコアを算出する。 For example, it is assumed that the user 1 issues a recommendation request to the recommendation request reception IF 312 using the user terminal 21. The recommendation request reception IF 312 instructs the item score calculation unit 325 to calculate an item score. The item score calculation means 325 refers to the user action history DB 321 and the user pair relationship storage DB 324 to calculate an item score. Specifically, the item score calculation means 325 calculates an item score according to the following formula 3.
Figure 2011034379
In addition, when the condition of the item for which recommendation is requested is specified, an item that does not meet the condition may be excluded according to the condition before calculating the item score. In that case, an item score is calculated for the item to be scored.

縦ベクトルIを、下記のように定義する。

Figure 2011034379
アイテムスコア算出手段325は、式3で求めたアイテムスコアのベクトルと、I−X とをかけたものを求める。
Figure 2011034379
上記演算を行うことで、ユーザ1がまだ参照していないアイテムにアイテムスコアが残る。アイテムスコア算出手段325は、式4で求めたアイテムスコアの中からスコアが大きいアイテムのアイテム名とスコアとを推薦アイテム出力IF313に渡す。 The vertical vector I is defined as follows.
Figure 2011034379
The item score calculation means 325 obtains a product of the item score vector obtained by Expression 3 and I-X 1 T.
Figure 2011034379
By performing the above calculation, an item score remains on an item that the user 1 has not yet referred to. The item score calculation means 325 passes the item name and score of an item having a higher score from the item scores obtained by Expression 4 to the recommended item output IF 313.

推薦アイテム出力IF313は、アイテムスコア算出手段325から、推薦するアイテムのリストとそのスコアとを受け取る。推薦アイテム出力IF313は、推薦アイテムのリストとそのスコアとを、アイテムの推薦要求を送信したユーザ1のユーザ端末21に送信する。ユーザ1は、ユーザ端末21を操作して、表示画面上などに推薦アイテムのリストを表示する。   The recommended item output IF 313 receives a list of recommended items and its score from the item score calculation means 325. The recommended item output IF 313 transmits the list of recommended items and the score thereof to the user terminal 21 of the user 1 who transmitted the item recommendation request. The user 1 operates the user terminal 21 to display a list of recommended items on a display screen or the like.

ユーザ1が、ユーザ端末21を操作し、推薦リストの中から好みのアイテムiを参照したとする。アイテムiの参照は、外部に設けたアクション実行手段が行ってもよく、或いは、推薦エンジン30内のアクション実行手段が行ってもよい。ユーザ端末21は、ユーザ行動入力IF311に、ユーザ1がアイテムiを参照したことを伝達する。ユーザ行動入力IF311は、ユーザ行動履歴DB321のユーザ1の行動履歴Xの該当する要素(i番目の要素)を1に変更し、重み算出手段322へ伝達する。 It is assumed that the user 1 operates the user terminal 21 and refers to a favorite item i from the recommendation list. The reference to the item i may be performed by an action execution unit provided outside, or may be performed by an action execution unit in the recommendation engine 30. The user terminal 21 notifies the user action input IF 311 that the user 1 referred to the item i. The user action input IF 311 changes the corresponding element (i-th element) of the action history X 1 of the user 1 in the user action history DB 321 to 1 and transmits it to the weight calculation means 322.

重み算出手段322は、ユーザ行動履歴DB321を参照して重みを計算する。また、相関算出手段326は、ユーザ行動履歴DB321を参照して、ユーザペア間の相関係数を算出する。ユーザペア関係性算出手段323は、重み算出手段322が算出した重みと、相関算出手段326が算出した相関係数との積を演算し、これをユーザペア間の関係とする。ユーザ行動履歴DB321に記憶されるユーザ1の行動履歴が変更されることで、重み算出手段322が算出する重み、及び、相関算出手段326が算出する相関係数が変化し、それらの積であるユーザペア間の関係性が変化する。重み及び関係性の再計算は、ユーザの行動履歴が変化するたびに行ってもよく、或いは、ある程度の変更が蓄積された段階で行ってもよい。または、定期的に行ってもよい。   The weight calculation unit 322 calculates the weight with reference to the user action history DB 321. Further, the correlation calculation unit 326 refers to the user action history DB 321 and calculates a correlation coefficient between the user pairs. The user pair relationship calculation unit 323 calculates the product of the weight calculated by the weight calculation unit 322 and the correlation coefficient calculated by the correlation calculation unit 326, and sets this as the relationship between the user pairs. As the user 1 action history stored in the user action history DB 321 is changed, the weight calculated by the weight calculating unit 322 and the correlation coefficient calculated by the correlation calculating unit 326 change and are the product of them. The relationship between user pairs changes. The recalculation of weights and relationships may be performed every time the user's action history changes, or may be performed when a certain amount of change has been accumulated. Or you may perform regularly.

本実施形態では、ユーザペア関係性算出手段323は、ユーザ行動履歴DB321を参照し、ユーザペア間で非対称性が許容されるペア間の関係性を算出する。本実施形態では、ユーザペア間で非対称が許容される関係性を用いてアイテムスコアを算出しているので、ユーザペア間の関係性をより正しく反映した協調フィルタリングが可能になる。   In the present embodiment, the user pair relationship calculating unit 323 refers to the user behavior history DB 321 and calculates a relationship between pairs in which asymmetry is allowed between user pairs. In this embodiment, since the item score is calculated using the relationship in which asymmetry is allowed between user pairs, collaborative filtering that more accurately reflects the relationship between user pairs is possible.

本実施形態では、重み算出手段322は、ユーザペア間で非対称性を有する重みを算出し、相関算出手段326は、ユーザペア間で対称性を有する相関係数を算出している。重みと相関係数との積をユーザペア間の関係性とすることで、ユーザペア間の関係性を非対称性にできる。   In this embodiment, the weight calculation unit 322 calculates a weight having asymmetry between user pairs, and the correlation calculation unit 326 calculates a correlation coefficient having symmetry between user pairs. By making the product of the weight and the correlation coefficient the relationship between the user pairs, the relationship between the user pairs can be made asymmetric.

重みは、ユーザペアの一方から見て、他方のユーザの参照アイテムが参考になると考えられるときは、一方のユーザから見た他方のユーザへの重みを重くし、逆に、他方のユーザから見て一方のユーザの参照アイテムが参考にならないと考えられるときは、他方のユーザから見た一方のユーザへの重みを軽くすればよい。本実施形態では、あるユーザから見て、ペアの他方のユーザのみが参照したアイテムが多いときは重みを軽くし、他方のユーザのみが参照したアイテム数が少ないときは重みを重くしている。このような重み設定を行うことで、多種多様なアイテムに行動履歴を有するユーザのような、誰とでも関係性が強く出るユーザの影響度を抑えることが可能になる。   When weights are viewed from one side of a user pair and the other user's reference item is considered to be helpful, the weight to the other user as viewed from one user is increased, and vice versa. When it is considered that the reference item of one user is not helpful, the weight to one user viewed from the other user may be reduced. In this embodiment, when viewed from a certain user, the weight is reduced when there are many items that only the other user of the pair refers to, and the weight is increased when the number of items referenced only by the other user is small. By performing such weight setting, it is possible to suppress the degree of influence of a user who has a strong relationship with anyone, such as a user who has an action history in various items.

例えば、前述のユーザ1とユーザ2のペアを考えると、ユーザ1の行動履歴の数は110で、ユーザ2の行動履歴の数は10010である。ユーザ1は、特定の分野のアイテムを参照するユーザであり、ユーザ2は、多種多様なアイテムを参照するユーザであると考えられる。関係の非対称性を考慮しない場合、ユーザ1にのみ行動履歴があるアイテムのアイテムスコアと、ユーザ2にのみ行動履歴があるアイテムのアイテムスコアとが同程度になる。ユーザ1の嗜好(参照範囲)は、ユーザ2の嗜好と重複部分が大きいので、ユーザ1にのみ行動履歴があるアイテムは、ユーザ2に推薦すべきである。しかし、ユーザ2は、ユーザ1とは異なる嗜好に多くの行動履歴を有しており、ユーザ2のみに行動履歴があるアイテムは、ユーザ1にとっては、推薦されてもあまり意味がない。本実施形態では、ユーザペア間の関係性を非対称にし、ユーザ1から見たユーザ2の関係性を弱くすると共に、ユーザ2から見たユーザ1の関係性を強くできる。従って、ユーザ2に対してユーザ1にのみ行動履歴があるアイテムを推薦できると共に、ユーザ1に対しては、ユーザ2にのみ行動履歴があるアイテムを推薦しないようにできる。   For example, considering the above-described pair of user 1 and user 2, the number of action histories of user 1 is 110, and the number of action histories of user 2 is 10010. The user 1 is considered to be a user who refers to an item in a specific field, and the user 2 is considered to be a user who refers to various items. When the asymmetry of the relationship is not taken into account, the item score of an item having an action history only for the user 1 and the item score of an item having an action history only for the user 2 are approximately the same. Since the preference (reference range) of the user 1 has a large overlap with the preference of the user 2, an item having an action history only in the user 1 should be recommended to the user 2. However, the user 2 has many action histories with different preferences from the user 1, and an item having an action history only for the user 2 is not so meaningful to the user 1 even if it is recommended. In the present embodiment, the relationship between the user pairs is asymmetrical, the relationship of the user 2 viewed from the user 1 is weakened, and the relationship of the user 1 viewed from the user 2 can be strengthened. Therefore, it is possible to recommend an item having an action history only to the user 1 to the user 2 and not to recommend an item having an action history only to the user 2 to the user 1.

なお、以上では、重みをユーザペアの相手側にのみ行動履歴があるアイテムの数に応じた重みとしたが、重みはこれには限定されない。例えば、アイテムへの参照が早い方の重みを重くするという手法でもよい。具体的には、アイテムごとに、apq(i)を、

Figure 2011034379

と定義し、重み算出手段322は、
Figure 2011034379
を用いて重みを算出してもよい。例えば、ユーザpとユーザqとが共通に参照したアイテムが100あるとして、そのうち、pが先に参照したアイテム数が30で、qが先に参照したアイテム数が70であれば、
pq=85、wqp=65
となる。このような重みを用いる場合、ユーザペア間で共通に参照したアイテムについて、より早くアイテムを参照したユーザが重要視され、影響力を持つことになる。 In the above, the weight is set to the weight according to the number of items having an action history only on the other side of the user pair, but the weight is not limited to this. For example, a method of increasing the weight of the earlier reference to the item may be used. Specifically, for each item, a pq (i)
Figure 2011034379

The weight calculation means 322 is defined as
Figure 2011034379
The weight may be calculated using For example, if there are 100 items commonly referred to by the user p and the user q, if the number of items referred to by p is 30 and the number of items referred to by q is 70,
w pq = 85, w qp = 65
It becomes. When such a weight is used, the user who referred to the item earlier is emphasized and has an influence on the item commonly referred to between the user pairs.

第1実施形態では、協調フィルタリングをU2UCFとしたが、I2ICFなどの他の関係性に適用することもできる。例えば、I2ICFであれば、ユーザペア間で重みを算出したのと同様な手法でアイテムペア間の重みを算出し、これを用いてアイテムペア間で、一対一の非対称性が許容される関係性を算出すればよい。また、ユーザのプレゼンス(所在、位置などの情報)などを用い、コンテキストペア間で重みを算出し、これを用いてコンテキストペア間の関係性を算出してもよい。例えば、ユーザ1について、職場にいるというプレゼンスをコンテキスト1とし、プライベートプレゼンスをコンテキスト2とする。また、ユーザ2について、職場にいるというプレゼンスをコンテキスト3とし、プライベートプレゼンスをコンテキスト4とする。コンテキストを用いる場合、例えば、コンテキスト1(職場のユーザ1)は、コンテキスト2(プライベートのユーザ1)に対して大きな影響を与えるが、その逆はそうでもないといった関係性を用いた協調フィルタリングが可能になる。   In the first embodiment, collaborative filtering is U2UCF, but it can also be applied to other relationships such as I2ICF. For example, in the case of I2ICF, the weight between item pairs is calculated in the same manner as the weight between user pairs, and this is used to allow a one-to-one asymmetry between item pairs. May be calculated. Alternatively, the user's presence (information such as location and position) may be used to calculate the weight between the context pairs, and this may be used to calculate the relationship between the context pairs. For example, for user 1, the presence at work is context 1 and the private presence is context 2. Further, for the user 2, the presence of being at work is defined as context 3, and the private presence is defined as context 4. When using context, for example, context 1 (working user 1) has a great influence on context 2 (private user 1), but the reverse is not true, and collaborative filtering using relationships is possible. become.

続いて、第2実施形態について説明する。本発明の第2実施形態の協調フィルタリングシステムの構成は、図1に示す第1実施形態の協調フィルタリングシステムと同様な構成である。本実施形態の協調フィルタリングシステムは、相関算出手段326が、ペア間の相関係数の算出元となる要素に対し、要素がペア間の相関係数の算出に与える影響を要素に応じて設定した上で相関係数を算出する点で、第1実施形態と異なる。すなわち、第1実施形態では、相関算出手段326は、式2を用いて相関係数を算出しており、個々のアイテムが相関係数に与える影響は、アイテム間で一定であった。本実施形態では、アイテムに応じて、アイテムが関係性の算出結果に与える影響を設定可能とする。   Next, the second embodiment will be described. The configuration of the collaborative filtering system of the second embodiment of the present invention is the same as that of the collaborative filtering system of the first embodiment shown in FIG. In the collaborative filtering system of the present embodiment, the correlation calculation unit 326 sets the influence of the element on the calculation of the correlation coefficient between the pairs according to the element with respect to the element that is the calculation source of the correlation coefficient between the pairs. This is different from the first embodiment in that the correlation coefficient is calculated above. That is, in the first embodiment, the correlation calculation unit 326 calculates the correlation coefficient using Equation 2, and the influence of individual items on the correlation coefficient is constant between items. In the present embodiment, it is possible to set the influence of the item on the calculation result of the relationship according to the item.

相関算出手段326は、下記式5を用いて、ユーザペア(ユーザp,ユーザq)の相関係数を算出する。

Figure 2011034379
式5におけるk(i)は、i番目のアイテムが関係性算出に与える影響を表す値(係数)である。k(i)は、例えば、0≦k(i)≦1の値を採る。k(i)の値が大きいほど、i番目のアイテムが相関係数に与える影響は大きくなり、k(i)=0のとき、i番目のアイテムは、相関係数の計算に影響しない。全てのk(i)がk(i)=1のとき、式5を用いて計算した相関係数は、Pearson相関係数と等しくなる。なお、上記では、Pearson相関係数の算出式にk(i)を導入しているが、ベースとなる相関係数の算出式は任意であり、Pearson相関係数の算出式には限定されない。 The correlation calculation means 326 calculates the correlation coefficient of the user pair (user p, user q) using the following formula 5.
Figure 2011034379
K (i) in Equation 5 is a value (coefficient) representing the influence of the i-th item on the relationship calculation. For example, k (i) takes a value of 0 ≦ k (i) ≦ 1. The larger the value of k (i), the greater the influence of the i-th item on the correlation coefficient. When k (i) = 0, the i-th item does not affect the calculation of the correlation coefficient. When all k (i) are k (i) = 1, the correlation coefficient calculated using Equation 5 is equal to the Pearson correlation coefficient. In the above description, k (i) is introduced into the Pearson correlation coefficient calculation formula, but the base correlation coefficient calculation formula is arbitrary, and is not limited to the Pearson correlation coefficient calculation formula.

k(i)の値は、例えば、次のように決定する。アイテムデータ保存DB34に、メタ情報として、アイテムが属するカテゴリなどの情報を記憶しておく。相関算出手段326は、アイテムのカテゴリに応じて、k(i)の値を決定する。例えば、ユーザは、推薦要求受付手段312にアイテムの推薦要求を送信する際に、より重視するアイテムのカテゴリを指定する。相関算出手段326は、ユーザが重視するカテゴリのアイテムに対してk(i)を1とし、類似するカテゴリのアイテムに対してk(i)の値を1/2とし、関連がないカテゴリのアイテムに対してk(i)を0に設定する。ここで記載したk(i)の値は、一例にすぎず、i番目のアイテムに対するk(i)の値の設定方法は任意である。   The value of k (i) is determined as follows, for example. Information such as a category to which the item belongs is stored as meta information in the item data storage DB 34. Correlation calculation means 326 determines the value of k (i) according to the category of the item. For example, when transmitting a recommendation request for an item to the recommendation request receiving unit 312, the user designates an item category that is more important. Correlation calculation means 326 sets k (i) to 1 for items in categories that the user places importance on, and halves the value of k (i) for items in similar categories. K (i) is set to 0. The value of k (i) described here is merely an example, and the method of setting the value of k (i) for the i-th item is arbitrary.

重み算出手段322が行う重みwpqの計算は、第1実施形態と同様である。つまり、重み算出手段322は、非対称性が許容される重みを算出する。関係性算出手段323は、重み算出手段322が算出した重みと、相関算出手段326が算出した相関係数とを用いて、下記式6で、ユーザペア間の関係性を算出する。

Figure 2011034379
The calculation of the weight w pq performed by the weight calculation unit 322 is the same as in the first embodiment. That is, the weight calculation unit 322 calculates a weight that allows asymmetry. The relationship calculating unit 323 calculates the relationship between the user pairs by the following equation 6 using the weight calculated by the weight calculating unit 322 and the correlation coefficient calculated by the correlation calculating unit 326.
Figure 2011034379

本実施形態では、相関算出手段326は、ペア間の相関係数の算出元となる要素に対し、要素がペア間の相関係数の算出に与える影響を要素に応じて設定した上で、相関係数を算出する。このようにすることで、特定のアイテムについて、そのアイテムに対する行動情報がユーザペア間の関係性の算出に与える影響を大きくすることができ、特定の他のアイテムについて、そのアイテムに対する行動情報がユーザペア間の関係性の算出に与える影響を小さくすることができる。本実施形態においても、重み算出手段322が算出しwpqを用いてユーザpから見たユーザqとの関係性C(X,X)を算出しており、第1実施形態と同様に、ユーザ間の非対称性を反映した関係性の算出が可能である。 In the present embodiment, the correlation calculation unit 326 sets the influence of the element on the calculation of the correlation coefficient between the pairs for the element that is the calculation source of the correlation coefficient between the pairs, Calculate the number of relationships. By doing in this way, about the specific item, the influence which the action information with respect to the item has on the calculation of the relationship between the user pairs can be increased. The influence on the calculation of the relationship between the pairs can be reduced. Also in the present embodiment, the weight calculation means 322 calculates the relationship C (X p , X q ) with the user q as viewed from the user p using w pq , as in the first embodiment. It is possible to calculate the relationship reflecting the asymmetry between users.

なお、第2実施形態では、協調フィルタリングをU2UCFとしたが、第1実施形態と同様に、I2ICFなどの他の関係性に適用することもできる。例えば、I2ICFであれば、相関算出手段326は、相関係数の算出元の要素であるユーザに対し、ユーザがアイテムペア間の相関係数の算出に与える影響をユーザに応じて設定した上で相関係数を算出すればよい。また、コンテキストペア間の関係性を算出する場合、相関算出手段326は、相関係数の算出元の要素であるアイテムに対し、アイテムがコンテキストペア間の相関係数の算出に与える影響をアイテムに応じて設定した上で相関係数を算出すればよい。重みの算出については、第1実施形態で説明した通りである。   In the second embodiment, the collaborative filtering is U2UCF. However, as in the first embodiment, it can be applied to other relationships such as I2ICF. For example, in the case of I2ICF, the correlation calculation unit 326 sets the influence of the user on the calculation of the correlation coefficient between item pairs according to the user for the user who is the element from which the correlation coefficient is calculated. What is necessary is just to calculate a correlation coefficient. Also, when calculating the relationship between context pairs, the correlation calculation means 326 uses the item as an element that is the element from which the correlation coefficient is calculated. The correlation coefficient may be calculated after setting it accordingly. The calculation of the weight is as described in the first embodiment.

本発明の第3実施形態について説明する。本発明の第3実施形態の協調フィルタリングシステムの構成は、図1に示す第1実施形態の協調フィルタリングシステムと同様な構成である。第2実施形態では、相関算出手段326は、要素がペア間の相関係数の算出に与える影響をアイテムに応じて設定可能とした。本実施形態は、要素がペア間の相関係数の算出に与える影響の大きさが、ペア間で非対称性が許容される点で、第2実施形態と相違する。本実施形態では、重み算出手段322が算出する重みだけでなく、相関算出手段326が算出する相関係数にも非対称性が許容される。   A third embodiment of the present invention will be described. The configuration of the collaborative filtering system of the third embodiment of the present invention is the same as that of the collaborative filtering system of the first embodiment shown in FIG. In the second embodiment, the correlation calculation unit 326 can set the influence of the element on the calculation of the correlation coefficient between the pairs according to the item. This embodiment is different from the second embodiment in that the magnitude of the influence of elements on the calculation of the correlation coefficient between pairs allows asymmetry between the pairs. In the present embodiment, asymmetry is allowed not only in the weight calculated by the weight calculation unit 322 but also in the correlation coefficient calculated by the correlation calculation unit 326.

相関算出手段326は、下記式7を用いて、ユーザpから見たユーザqの相関係数を算出する。

Figure 2011034379
式7におけるkpq(i)は、i番目のアイテムが関係性算出に与える影響を表す値(係数)である。i番目のアイテムについて、ユーザpから見たユーザqの相関係数を算出するときと、ユーザqから見たユーザpの相関係数を算出するときとで、i番目のアイテムが相関係数の算出に与える影響は相互に異なることが許容される。すなわち、kpq(i)≠kqp(i)となることが許容される。kpq(i)は、例えば、0≦kpq(i)≦1の値を採る。kpq(i)の値が大きいほど、i番目のアイテムが相関係数に与える影響は大きくなり、kpq(i)=0のとき、i番目のアイテムは、相関係数の計算に影響しない。全てのkpq(i)がkpq(i)=1のとき、式7を用いて計算した相関係数は、Pearson相関係数と等しくなる。また、全てのアイテムについて、kpq(i)=kqp(i)のとき、ユーザpから見たユーザqの相関係数と、ユーザqから見たユーザpの相関係数とは等しくなる。 The correlation calculation unit 326 calculates the correlation coefficient of the user q viewed from the user p using the following equation (7).
Figure 2011034379
K pq (i) in Expression 7 is a value (coefficient) representing the influence of the i-th item on the relationship calculation. For the i-th item, when the correlation coefficient of the user q viewed from the user p is calculated and when the correlation coefficient of the user p viewed from the user q is calculated, the i-th item is the correlation coefficient The influence on the calculation is allowed to be different from each other. That is, k pq (i) ≠ k qp (i) is allowed. k pq (i) is, for example, takes a value of 0 ≦ k pq (i) ≦ 1. The larger the value of k pq (i), the greater the influence of the i-th item on the correlation coefficient. When k pq (i) = 0, the i-th item does not affect the calculation of the correlation coefficient. . When all k pq (i) are k pq (i) = 1, the correlation coefficient calculated using Equation 7 is equal to the Pearson correlation coefficient. For all items, when k pq (i) = k qp (i), the correlation coefficient of the user q viewed from the user p is equal to the correlation coefficient of the user p viewed from the user q.

pq(i)の値は、例えば次のように決定する。ユーザqがi番目のアイテムに対して参照履歴を持つときはkpq(i)=1とし、それ以外はkpq(i)=1/2とする。この場合、ユーザqが参照履歴を持つアイテムが相関係数の算出に与える影響が大きくなる。或いは、ユーザqがユーザpよりも先にi番目のアイテムを参照しているときは、kpq(i)=1、それ以外はkpq(i)=1/2とする。この場合、ユーザqがユーザpよりも先に参照したアイテムが、ユーザpから見たユーザqの相関係数の算出に与える影響を大きくできる。ここで記載したkpq(i)の値は、一例にすぎず、i番目のアイテムに対するkpq(i)の値の設定方法は任意である。相関係数の算出に際しては、事前に、フィルタリングを行い、特定のカテゴリに属するアイテムについては、kpq(i)の値を0にしておいてもよい。 The value of k pq (i) is determined as follows, for example. When the user q has a reference history for the i-th item, k pq (i) = 1, otherwise k pq (i) = 1/2. In this case, the influence that the item having the reference history of the user q has on the calculation of the correlation coefficient is increased. Alternatively, when the user q refers to the i-th item before the user p, k pq (i) = 1, otherwise k pq (i) = 1/2. In this case, it is possible to increase the influence of the item referred to by the user q before the user p on the calculation of the correlation coefficient of the user q viewed from the user p. The value of k pq (i) described here is merely an example, and the method of setting the value of k pq (i) for the i-th item is arbitrary. When calculating the correlation coefficient, filtering may be performed in advance, and the value of k pq (i) may be set to 0 for items belonging to a specific category.

重み算出手段322が行う重みwpqの計算は、第1実施形態と同様である。つまり、重み算出手段322は、非対称性が許容される重みを算出する。関係性算出手段323は、重み算出手段322が算出した重みと、相関算出手段326が算出した相関係数とを用いて、下記式8で、ユーザペア間の関係性を算出する。

Figure 2011034379
The calculation of the weight w pq performed by the weight calculation unit 322 is the same as in the first embodiment. That is, the weight calculation unit 322 calculates a weight that allows asymmetry. The relationship calculating unit 323 calculates the relationship between the user pairs by the following equation 8 using the weight calculated by the weight calculating unit 322 and the correlation coefficient calculated by the correlation calculating unit 326.
Figure 2011034379

本実施形態では、相関係数の算出に際して、要素がペア間の相関係数の算出に与える影響の大きさが、ペア間で非対称性が許容される。このようにすることで、ペアの一方から他方を見たときと、他方から一方を見たときとで、アイテムに対する行動情報がユーザペア間の関係性の算出に与える影響を変えることができる。本実施形態においても、重み算出手段322が算出したwpqを用いてユーザpから見たユーザqとの関係性C(X,X)を算出しており、第1実施形態と同様に、ユーザ間の非対称性を反映した関係性の算出が可能である。 In the present embodiment, when calculating the correlation coefficient, the magnitude of the influence of the element on the calculation of the correlation coefficient between the pairs allows asymmetry between the pairs. By doing in this way, the influence which the action information with respect to an item has on the calculation of the relationship between user pairs can be changed when the other is viewed from one of the pairs and when the other is viewed from the other. Also in the present embodiment, the relationship C (X p , X q ) with the user q as viewed from the user p is calculated using w pq calculated by the weight calculation unit 322, and similarly to the first embodiment. It is possible to calculate the relationship reflecting the asymmetry between users.

なお、第3実施形態では、協調フィルタリングをU2UCFとしたが、第2実施形態と同様に、I2ICFなどの他の関係性に適用することもできる。例えば、I2ICFであれば、相関算出手段326は、相関係数の算出元の要素であるユーザに対し、ユーザがアイテムペア間の相関係数の算出に与える影響を非対称に設定し、相関係数を算出すればよい。また、コンテキストペア間の関係性を算出する場合、相関算出手段326は、相関係数の算出元の要素であるアイテムに対し、アイテムがコンテキストペア間の相関係数の算出に与える影響を非対称にして相関係数を算出すればよい。重みの算出については、第1実施形態で説明した通りである。   In the third embodiment, U2UCF is used for collaborative filtering, but it can also be applied to other relationships such as I2ICF as in the second embodiment. For example, in the case of I2ICF, the correlation calculation unit 326 sets the influence of the user on the calculation of the correlation coefficient between the item pairs asymmetrically with respect to the user who is the element from which the correlation coefficient is calculated. May be calculated. When calculating the relationship between the context pairs, the correlation calculating unit 326 makes the influence of the item on the calculation of the correlation coefficient between the context pairs asymmetrical with respect to the item that is the element from which the correlation coefficient is calculated. Thus, the correlation coefficient may be calculated. The calculation of the weight is as described in the first embodiment.

ところで、第1〜第3実施形態で、関係性を算出するペア間での重み、及び、アイテムが相関算出に与える影響を全て1に設定すれば、ペア間の関係は対称になる。すなわち、式2における重みwpqを全て1とし、式6における重みwpq及びk(i)を全て1とし、式8におけるwpq及びkpq(i)を全て1に設定すれば、ペア間の関係性は対称になる。これは、既存の協調フィルタリングと同等になることを意味する。従って、重み算出手段及び相関算出手段部分の動作を変更すれば、非対称性を有する関係性を用いた協調フィルタリングと、対称性を有する関係性を用いた協調フィルタリングとを切り換えることができる。 By the way, in the first to third embodiments, if the weight between the pair for calculating the relationship and the influence of the item on the correlation calculation are all set to 1, the relationship between the pair becomes symmetric. That is, if the weights w pq in equation 2 are all 1, the weights w pq and k (i) in equation 6 are all 1, and w pq and k pq (i) in equation 8 are all set to 1, The relationship is symmetric. This means that it is equivalent to existing collaborative filtering. Therefore, if the operations of the weight calculation means and the correlation calculation means are changed, it is possible to switch between collaborative filtering using a relationship having asymmetry and collaborative filtering using a relationship having symmetry.

以上、本発明をその好適な実施形態に基づいて説明したが、本発明の協調フィルタリングシステム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。   As mentioned above, although this invention was demonstrated based on the suitable embodiment, the collaborative filtering system of this invention, a method, and a program are not limited only to the said embodiment, Various from the structure of the said embodiment. Those modified and changed as described above are also included in the scope of the present invention.

最後に、本発明の最小構成について説明する。本発明の協調フィルタリングシステムは、最小構成として、関係性算出手段と、アイテムスコア算出手段とを有する。関係性算出手段は、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴DBを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出する。アイテムスコア算出手段は、ペア間の関係性と行動履歴情報とを用いて、アイテムスコアを算出する。   Finally, the minimum configuration of the present invention will be described. The collaborative filtering system of the present invention has a relationship calculation means and an item score calculation means as a minimum configuration. The relationship calculation means refers to the user action history DB that stores history information of actions performed by the user on the item, and a one-to-one asymmetry is allowed, between user pairs, between item pairs, or context Calculate the relationship between pairs. The item score calculation means calculates the item score using the relationship between the pair and the action history information.

本発明の協調フィルタリング方法の最小構成は、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴DBを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出するステップと、ペア間の関係性と行動履歴情報とを用いて、アイテムスコアを算出するステップとを有するという構成である。   The minimum configuration of the collaborative filtering method of the present invention refers to a user action history DB that stores history information of actions performed by a user on an item, and a one-to-one asymmetry is allowed. Or a step of calculating a relationship between context pairs, and a step of calculating an item score using the relationship between the pairs and action history information.

本発明のプログラムの最小構成は、コンピュータに、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴DBを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出する処理と、ペア間の関係性と行動履歴情報とを用いて、アイテムスコアを算出する処理とを実行させるという構成である。   The minimum configuration of the program of the present invention refers to a user action history DB that stores history information of actions performed by a user on an item in a computer, and a one-to-one asymmetry is allowed. In this configuration, a process for calculating the relationship between pairs or context pairs and a process for calculating an item score using the relationship between the pairs and the action history information are executed.

本発明では、非対称性が許容される関係性を算出し、その関係性を用いてアイテムスコアを算出する。ユーザ間の関係性は、一対一の非対称性が許容されており、ペア間で、一方から他方を見たときの関係性を強くし、他方から一方を見たときの関係性を弱くすることが可能である。従って、このような関係性を協調フィルタリングに用いることで、算出するペア間での関係性の強さの非対称性を考慮した協調フィルタリングが可能になる。   In the present invention, a relationship in which asymmetry is allowed is calculated, and an item score is calculated using the relationship. As for the relationship between users, one-to-one asymmetry is allowed, and between the pair, the relationship when looking from one to the other is strengthened, and the relationship when looking from the other to the other is weakened. Is possible. Therefore, by using such a relationship for collaborative filtering, collaborative filtering that considers asymmetry of the strength of the relationship between the calculated pairs becomes possible.

21〜23:ユーザ端末
30:推薦エンジン
31:ユーザIF
32:スコアリング部
34:アイテムデータ保存DB
35:ユーザデータ保存DB
311:ユーザ行動入力IF
312:推薦要求受付IF
313:推薦アイテム出力IF
321:ユーザ行動履歴DB
322:重み算出手段
323:ユーザペア関係性算出手段
324:ユーザペア関係性保存DB
325:アイテムスコア算出手段
326:相関算出手段
21 to 23: User terminal 30: Recommendation engine 31: User IF
32: Scoring unit 34: Item data storage DB
35: User data storage DB
311: User action input IF
312: Recommendation request reception IF
313: Recommended item output IF
321: User action history DB
322: Weight calculation unit 323: User pair relationship calculation unit 324: User pair relationship storage DB
325: Item score calculating means 326: Correlation calculating means

Claims (18)

ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴DBを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出する関係性算出手段と、
前記ペア間の関係性と前記行動履歴情報とを用いて、アイテムスコアを算出するアイテムスコア算出手段とを備える協調フィルタリングシステム。
Refer to the user action history DB that stores history information of actions performed by the user on the item, and the relationship between user pairs, between item pairs, or between context pairs, where one-to-one asymmetry is allowed A relationship calculating means for calculating;
A collaborative filtering system comprising an item score calculating means for calculating an item score using the relationship between the pair and the action history information.
前記関係性算出手段は、前記ユーザ行動履歴DBを参照し、関係性を算出するペアに対して非対称性が許容される重みを決定する重み算出手段と、前記ユーザ行動履歴DBを参照して、前記ペア間の相関を示す相関係数を算出する相関算出手段とを含み、前記重み算出手段が決定した重みと前記相関算出手段が算出した相関係数との積をペア間の関係性とする、請求項1に記載の協調フィルタリングシステム。   The relationship calculation means refers to the user action history DB, refers to the weight calculation means for determining a weight that allows asymmetry for a pair for calculating the relationship, and refers to the user action history DB, Correlation calculating means for calculating a correlation coefficient indicating the correlation between the pairs, and the product of the weight determined by the weight calculating means and the correlation coefficient calculated by the correlation calculating means is the relationship between the pairs The collaborative filtering system according to claim 1. 前記相関算出手段は、前記ペア間の相関係数の算出元となる要素に対し、要素がペア間の相関係数の算出に与える影響を要素に応じて設定した上で相関係数を算出する、請求項2に記載の協調フィルタリングシステム。   The correlation calculation means calculates a correlation coefficient after setting the influence of the element on the calculation of the correlation coefficient between the pairs according to the element with respect to the element from which the correlation coefficient between the pairs is calculated. The collaborative filtering system according to claim 2. 前記要素がペア間の相関係数の算出に与える影響の大きさが、前記ペア間で非対称性が許容される、請求項3に記載の協調フィルタリングシステム。   The collaborative filtering system according to claim 3, wherein the magnitude of the influence of the element on the calculation of the correlation coefficient between the pairs allows an asymmetry between the pairs. 前記重み算出手段は、前記関係性を算出するペア間で、ペアの一方から見たとき、ペアの他方のみに存在する行動履歴の量に基づいて、前記ペアの一方から見た他方への重みを決定する、請求項2乃至4の何れか一に記載の協調フィルタリングシステム。   The weight calculating means, when viewed from one of the pairs, between the pairs for calculating the relationship, the weight to the other viewed from one of the pairs based on the amount of behavior history existing only in the other of the pair The collaborative filtering system according to any one of claims 2 to 4, wherein: 前記重み算出手段は、前記関係性を算出するペア間での行動履歴の時刻の前後関係に基づいて、前記重みを決定する、請求項2乃至4の何れか一に記載の協調フィルタリングシステム。   The collaborative filtering system according to any one of claims 2 to 4, wherein the weight calculation unit determines the weight based on a time history relationship between pairs for calculating the relationship. コンピュータが、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴DBを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出するステップと、
前記コンピュータが、前記ペア間の関係性と前記行動履歴情報とを用いて、アイテムスコアを算出するステップとを有する協調フィルタリング方法。
A computer refers to a user behavior history DB that stores history information of actions performed on an item, and a one-to-one asymmetry is allowed, between user pairs, between item pairs, or between context pairs Calculating a relationship;
A collaborative filtering method comprising: a step of calculating an item score using the relationship between the pair and the action history information.
前記関係性を算出するステップが、
前記コンピュータが、前記ユーザ行動履歴DBを参照し、関係性を算出するペアに対して非対称性が許容される重みを決定する重み算出ステップと、
前記コンピュータが、前記ユーザ行動履歴DBを参照して、前記ペア間の相関を示す相関係数を算出する相関算出ステップと、
前記コンピュータが、前記重みと前記相関係数との積を演算し、前記ペア間の関係性とするステップとを含む、請求項7に記載の協調フィルタリング方法。
Calculating the relationship comprises:
A weight calculating step in which the computer refers to the user behavior history DB and determines a weight at which asymmetry is allowed for a pair for calculating a relationship;
A correlation calculation step in which the computer refers to the user behavior history DB and calculates a correlation coefficient indicating a correlation between the pairs;
The collaborative filtering method according to claim 7, further comprising: calculating the product of the weight and the correlation coefficient to obtain a relationship between the pairs.
前記相関算出ステップでは、前記コンピュータは、前記ペア間の相関係数の算出元となる要素に対し、要素がペア間の相関係数の算出に与える影響を要素に応じて設定した上で相関係数を算出する、請求項8に記載の協調フィルタリング方法。   In the correlation calculation step, the computer sets the influence of the element on the calculation of the correlation coefficient between the pairs according to the element with respect to the element from which the correlation coefficient between the pairs is calculated. The collaborative filtering method according to claim 8, wherein the number is calculated. 前記要素がペア間の相関係数の算出に与える影響の大きさが、前記ペア間で非対称性が許容される、請求項9に記載の協調フィルタリング方法。   The collaborative filtering method according to claim 9, wherein the magnitude of the influence of the element on the calculation of the correlation coefficient between the pairs allows an asymmetry between the pairs. 前記重み算出ステップでは、前記コンピュータは、前記関係性を算出するペア間で、ペアの一方から見たとき、ペアの他方のみに存在する行動履歴の量に基づいて、前記ペアの一方から見た他方への重みを決定する、請求項8乃至10の何れか一に記載の協調フィルタリング方法。   In the weight calculation step, the computer is viewed from one of the pairs based on the amount of behavior history existing only in the other of the pair, when viewed from one of the pair between the pairs for calculating the relationship. The collaborative filtering method according to claim 8, wherein a weight for the other is determined. 前記重み算出ステップでは、前記コンピュータは、前記関係性を算出するペア間での行動履歴の時刻の前後関係に基づいて、前記重みを決定する、請求項8乃至10の何れか一に記載の協調フィルタリング方法。   The cooperation according to any one of claims 8 to 10, wherein in the weight calculation step, the computer determines the weight based on a time history relationship between pairs of behavior history between the pairs for calculating the relationship. Filtering method. コンピュータに、
ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴DBを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出する処理と、
前記ペア間の関係性と前記行動履歴情報とを用いて、アイテムスコアを算出する処理とを実行させるプログラム。
On the computer,
Refer to the user action history DB that stores history information of actions performed by the user on the item, and the relationship between user pairs, between item pairs, or between context pairs, where one-to-one asymmetry is allowed Processing to calculate,
A program for executing a process of calculating an item score using the relationship between the pair and the action history information.
前記関係性を算出する処理が、
前記ユーザ行動履歴DBを参照し、関係性を算出するペアに対して非対称性が許容される重みを決定する重み算出処理と、
前記ユーザ行動履歴DBを参照して、前記ペア間の相関を示す相関係数を算出する相関算出処理と、
前記重みと前記相関係数との積を演算し、前記ペア間の関係性とする処理とを含む、請求項13に記載のプログラム。
The process of calculating the relationship
A weight calculation process that refers to the user behavior history DB and determines a weight at which asymmetry is allowed for a pair for calculating a relationship;
A correlation calculation process for calculating a correlation coefficient indicating a correlation between the pairs with reference to the user behavior history DB;
The program according to claim 13, further comprising: calculating a product of the weight and the correlation coefficient to obtain a relationship between the pairs.
前記相関算出処理では、前記ペア間の相関係数の算出元となる要素に対し、要素がペア間の相関係数の算出に与える影響を要素に応じて設定した上で相関係数を算出する、請求項14に記載のプログラム。   In the correlation calculation process, the correlation coefficient is calculated after setting the influence of the element on the calculation of the correlation coefficient between the pairs for the element that is the calculation source of the correlation coefficient between the pairs. The program according to claim 14. 前記要素がペア間の相関係数の算出に与える影響の大きさが、前記ペア間で非対称性が許容される、請求項15に記載のプログラム。   The program according to claim 15, wherein the magnitude of the influence of the element on the calculation of the correlation coefficient between the pairs allows an asymmetry between the pairs. 前記重み算出処理では、前記関係性を算出するペア間で、ペアの一方から見たとき、ペアの他方のみに存在する行動履歴の量に基づいて、前記ペアの一方から見た他方への重みを決定する、請求項14乃至16の何れか一に記載のプログラム。   In the weight calculation process, when viewed from one of the pairs between the pairs for calculating the relationship, the weight to the other viewed from one of the pairs based on the amount of behavior history existing only in the other of the pair The program according to claim 14, wherein the program is determined. 前記重みを算出する処理では、前記重みを、前記関係性を算出するペア間での行動履歴の時刻の前後関係に基づいて決定する、請求項14乃至16の何れか一に記載のプログラム。   The program according to any one of claims 14 to 16, wherein, in the process of calculating the weight, the weight is determined based on a time history of an action history between a pair for calculating the relationship.
JP2009180407A 2009-08-03 2009-08-03 Cooperative filtering system, method and program Pending JP2011034379A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009180407A JP2011034379A (en) 2009-08-03 2009-08-03 Cooperative filtering system, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009180407A JP2011034379A (en) 2009-08-03 2009-08-03 Cooperative filtering system, method and program

Publications (1)

Publication Number Publication Date
JP2011034379A true JP2011034379A (en) 2011-02-17

Family

ID=43763381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009180407A Pending JP2011034379A (en) 2009-08-03 2009-08-03 Cooperative filtering system, method and program

Country Status (1)

Country Link
JP (1) JP2011034379A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084208A (en) * 2011-10-12 2013-05-09 Nippon Telegr & Teleph Corp <Ntt> Method and device for analysis of degree of influence and program therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084208A (en) * 2011-10-12 2013-05-09 Nippon Telegr & Teleph Corp <Ntt> Method and device for analysis of degree of influence and program therefor

Similar Documents

Publication Publication Date Title
US10025860B2 (en) Search of sources and targets based on relative expertise of the sources
US20120239637A9 (en) System and method for determining quality of cited objects in search results based on the influence of citing subjects
AU2011305109B2 (en) Presenting social search results
US9946799B2 (en) Federated search page construction based on machine learning
US20110307464A1 (en) System And Method For Identifying Trending Targets Based On Citations
US20160283952A1 (en) Ranking information providers
US20120284253A9 (en) System and method for query suggestion based on real-time content stream
US10311072B2 (en) System and method for metadata transfer among search entities
US11132406B2 (en) Action indicators for search operation output elements
US20140365466A1 (en) Search result claiming
US10127322B2 (en) Efficient retrieval of fresh internet content
US20170323019A1 (en) Ranking information providers
JP2019500704A (en) Method and apparatus for providing notes using relevance calculation based on artificial intelligence
US20110313988A1 (en) System and method for search of sources and targets based on relative topicality specialization of the targets
JP2017068547A (en) Information providing device, program, and information providing method
US8825698B1 (en) Showing prominent users for information retrieval requests
US9152698B1 (en) Substitute term identification based on over-represented terms identification
JP2012059183A (en) Content recommendation device, content recommendation program and recording medium therefor
CN107851263B (en) Method for processing recommendation request and recommendation engine
JP2011034379A (en) Cooperative filtering system, method and program
US11113299B2 (en) System and method for metadata transfer among search entities
JP5696113B2 (en) Information recommendation apparatus, method and program
US10146852B1 (en) Search result claiming
WO2011159646A1 (en) A system and method for determining quality of cited objects in search results based on the influence of citing subjects
Ma et al. Mobile application search: a QoS-aware and tag-based approach