KR101572719B1 - Data Imputation Using a Trust Network for Recommendation via Matrix Factorization - Google Patents

Data Imputation Using a Trust Network for Recommendation via Matrix Factorization Download PDF

Info

Publication number
KR101572719B1
KR101572719B1 KR1020130107136A KR20130107136A KR101572719B1 KR 101572719 B1 KR101572719 B1 KR 101572719B1 KR 1020130107136 A KR1020130107136 A KR 1020130107136A KR 20130107136 A KR20130107136 A KR 20130107136A KR 101572719 B1 KR101572719 B1 KR 101572719B1
Authority
KR
South Korea
Prior art keywords
rating
user
item
neighboring
particular user
Prior art date
Application number
KR1020130107136A
Other languages
Korean (ko)
Other versions
KR20150028497A (en
Inventor
김상욱
황원석
이소우
Original Assignee
한양대학교 산학협력단
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 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020130107136A priority Critical patent/KR101572719B1/en
Publication of KR20150028497A publication Critical patent/KR20150028497A/en
Application granted granted Critical
Publication of KR101572719B1 publication Critical patent/KR101572719B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0278Product appraisal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Mathematical Physics (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Tourism & Hospitality (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

특정 사용자가 평가하지 않은 아이템에 대한 평점을 신뢰 네트워크를 통해 연결된 이웃 사용자의 평점으로 대치하는 평점 결측치 대치 장치가 개시된다. 신뢰 네트워크 상에서 특정 사용자와 에지(edge)의 정방향을 통해 도달할 수 있는 사용자 및 에지(edge)의 역방향을 통해 도달할 수 있는 사용자를 이웃 사용자로 결정하는 단계, 특정 사용자의 평점 행렬 중 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자의 평점을 획득하는 단계, 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 특정 사용자의 평점이 없는 아이템에 대한 특정 사용자의 평점을 대치(impute)하는 단계를 통해 평점을 대치할 수 있다.A rating missing value replacement apparatus is disclosed which replaces a rating for an item that a particular user has not evaluated with a rating of a neighboring user connected through a trust network. Determining a user that can be reached via a forward direction of a particular user and an edge on a trust network and a user who can be reached through a reverse direction of an edge as a neighbor user, Obtaining a rating of a neighboring user for an item having no rating, replacing a rating of a specific user for an item that does not have a particular user's rating as a value calculated from a rating of a neighboring user for an item having no rating of a particular user ), It is possible to replace the rating.

Description

행렬 분해 기반 추천 방법을 위한 신뢰 네트워크를 이용하는 데이터 대치 방법{Data Imputation Using a Trust Network for Recommendation via Matrix Factorization}Technical Field [0001] The present invention relates to a method of data substitution using a trust network for matrix decomposition based recommendation method,

아래의 설명은 신뢰 네트워크에 관한 것으로, 보다 구체적으로 신뢰 네트워크를 이용하여 아이템에 대한 평점 결측치를 대치하는 방법 및 장치에 관한 것이다.The following description relates to a trust network, and more particularly to a method and apparatus for replacing a rating missing value for an item using a trust network.

협업 필터링 기술(collaborative filtering) 중 행렬 분해(matrix factorization)를 이용한 몇몇 추천 방법들이 제안되어 왔다. 이 방법들은 더 나은 평점 예측을 위하여 평점 행렬에 낮은 계수 근사법(low-rank approximation)을 적용하여 낮은 계수 요소(low-rank factor) 모델을 생성한다. 이 방법들은 평점 행렬에서 가장 큰 영향을 지닌 소수의 요소만이 평점 예측에 도움이 된다는 가정에 기반한 것이다. 이 방법들에서 사용자의 선호도는 해당 사용자의 모델링된 요소들에 의하여 결정된다.Several recommendation methods using matrix factorization have been proposed among collaborative filtering techniques. These methods generate a low-rank factor model by applying a low-rank approximation to the rating matrix for better rating prediction. These methods are based on the assumption that only a small number of elements with the greatest influence on the rating matrix are useful for rating prediction. In these methods, user preferences are determined by the modeled elements of the user.

그러나, 이러한 추천 방법은, 대부분의 사용자들이 아주 작은 부분 집합의 아이템을 평가하는 경우의 데이터 부족 문제가 있기 때문에, 정확도가 매우 떨어진다. 또한, 대부분의 사용자들이 그러하듯이, 콜드 스타트 사용자들(cold start users)은 매우 적은 아이템을 평가하기 때문에 낮은 계수 근사법을 이용한 평점 예측은 정확도가 더 낮아지게 된다.However, this recommendation method is very inaccurate because of the lack of data when most users are evaluating a very small subset of items. Also, as with most users, the cold start users rate very few items, so the prediction of scores using a low coefficient approximation becomes less accurate.

일 실시예에 따르면, 평점 결측치(rate missing values)를 대치(impute)하는 방법이 개시된다. 상기 평점 결측치 대치 방법은, 신뢰 네트워크 상에서 특정 사용자와 에지(edge)의 정방향을 통해 도달할 수 있는 사용자 및 에지(edge)의 역방향을 통해 도달할 수 있는 사용자를 이웃 사용자로 결정하는 단계, 특정 사용자의 평점 행렬 중 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자의 평점을 획득하는 단계, 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 특정 사용자의 평점이 없는 아이템에 대한 특정 사용자의 평점을 대치(impute)하는 단계를 포함할 수 있다.According to one embodiment, a method of imputing rate missing values is disclosed. Wherein the rating missing value replacement method comprises the steps of: determining a user who can reach through a forward direction of a particular user and an edge on a trust network and a user who can reach through a reverse direction of an edge as a neighbor user; Obtaining a rating of a neighboring user for an item that does not have a particular user's rating among the rating matrices of the specific user; And imputing the user's rating.

일 실시예에 따르면, 상기 이웃 사용자로 결정하는 단계는, 신뢰 네트워크 상에서 특정 사용자로부터의 거리가 미리 결정된 거리를 초과하는 사용자를 이웃 사용자로부터 배제하는 단계를 포함할 수 있다.According to one embodiment, the step of determining the neighboring user may comprise excluding a user from a neighboring user whose distance from a particular user on the trust network exceeds a predetermined distance.

일 실시예에 따르면, 상기 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 특정 사용자의 평점이 없는 아이템에 대한 특정 사용자의 평점을 대치하는 단계는, 아이템에 대한 이웃 사용자의 평점이 미리 결정된 개수 이상인 경우, 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 아이템에 대한 특정 사용자의 평점을 대치하는 단계를 포함할 수 있다.According to one embodiment, replacing a particular user's rating for an item with no rating of a particular user with a value calculated from a rating of a neighboring user for an item with no rating of the particular user, And replacing a particular user's rating for the item with a value calculated from the rating of the neighboring user for the item if the rating is greater than or equal to the predetermined number.

일 실시예에 따르면, 상기 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 특정 사용자의 평점이 없는 아이템에 대한 특정 사용자의 평점을 대치하는 단계는, 아이템에 대한 이웃 사용자의 평점이 미리 결정된 개수 미만인 경우, 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 아이템에 대한 특정 사용자의 평점을 대치하지 않는 단계를 포함할 수 있다.According to one embodiment, replacing a particular user's rating for an item with no rating of a particular user with a value calculated from a rating of a neighboring user for an item with no rating of the particular user, And not replacing a particular user's rating for the item with a value calculated from the rating of the neighboring user for the item if the rating is less than a predetermined number.

일 실시예에 따르면, 상기 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 특정 사용자의 평점이 없는 아이템에 대한 특정 사용자의 평점을 대치하는 단계는, 특정 사용자로부터 이웃 사용자 사이의 거리에 따라 이웃 사용자의 평점에 가중치를 부여하는 단계를 포함할 수 있다.According to one embodiment, replacing a particular user's rating for an item with no rating of a particular user with a value calculated from a rating of a neighboring user for an item without a particular rating of the particular user, And weighting the rating of the neighboring user according to the distance of the neighboring user.

일 실시예에 따르면 평점이 대치된 평점 행렬에 협업 필터링을 적용하는 단계를 더 포함하는 평점 결측치 대치 방법이 제공될 수 있다.According to an embodiment of the present invention, a rating missing value replacement method can be provided that further includes applying collaborative filtering to a rating matrix with a rating replaced.

일 실시예에 따르면 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 특정 사용자의 평점이 없는 아이템에 대한 특정 사용자의 평점을 대치(impute)하는 단계는, 특정 사용자의 평점이 없는 M개의 아이템 중 이웃 사용자의 평점의 개수가 많은 순으로 N개의 아이템을 결정하는 단계, N개의 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 특정 사용자의 N개의 아이템에 대한 특정 사용자의 평점을 대치(impute)하는 단계를 포함하는 평점 결측치 대치 방법이 제공될 수 있다.According to one embodiment, the step of imputing a particular user's rating for an item that does not have a particular user's rating to a value calculated from a rating of a neighboring user for an item that does not have a particular user's rating, Determining N items in descending order of the number of neighboring users among the M items having no neighboring users, calculating a rating of a specific user for N items of a specific user as a value calculated from the ratings of neighboring users for N items A point missing value replacement method including a step of imputing may be provided.

일 실시예에 따르면 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 특정 사용자의 평점이 없는 아이템에 대한 특정 사용자의 평점을 대치(impute)하는 단계는, 수학식 1에 의하여 특정 사용자의 평점을 계산하는 단계를 포함할 수 있다. 여기서,

Figure 112013081667646-pat00001
는 특정 사용자 u의 아이템 i에 대한 대치된 평점일 수 있다.
Figure 112013081667646-pat00002
는 특정 사용자 u가 남긴 아이템 i에 부여한 평점일 수 있다.
Figure 112013081667646-pat00003
는 특정 사용자 u가 남긴 평점의 평균일 수 있다.
Figure 112013081667646-pat00004
는 특정 사용자 u의 아이템들 중 평점을 대치할 후보 아이템의 집합일 수 있다.
Figure 112013081667646-pat00005
는 신뢰 네트워크를 통해 찾은 특정 사용자 u와 유사한 이웃 사용자들의 집합일 수 있다.
Figure 112013081667646-pat00006
는 특정 사용자 u와 이웃 사용자 v의 신뢰 값인 평점 결측치 대치 방법일 수 있다.According to one embodiment, the step of imputing a particular user's rating for an item that does not have a particular user's rating to a value calculated from a rating of a neighboring user for an item that does not have a particular user's rating, And calculating a rating of a particular user. here,
Figure 112013081667646-pat00001
May be a substituted rating for item i of a particular user u.
Figure 112013081667646-pat00002
May be a rating given to item i left by a particular user u.
Figure 112013081667646-pat00003
May be the average of the ratings left by a particular user u.
Figure 112013081667646-pat00004
May be a set of candidate items to replace rating points among the items of the specific user u.
Figure 112013081667646-pat00005
Lt; / RTI > may be a collection of neighbor users similar to a particular user u found through the trust network.
Figure 112013081667646-pat00006
May be a rating missing value replacement method that is a confidence value of a particular user u and a neighboring user v.

Figure 112013081667646-pat00007
Figure 112013081667646-pat00007

일 실시예에 따르면 신뢰 네트워크 상에서 특정 사용자와 에지(edge)의 정방향을 통해 도달할 수 있는 사용자 및 에지(edge)의 역방향을 통해 도달할 수 있는 사용자를 이웃 사용자로 결정하는 이웃 결정부, 특정 사용자의 평점 행렬 중 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자의 평점을 획득하는 평점 획득부, 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 특정 사용자의 평점이 없는 아이템에 대한 특정 사용자의 평점을 대치(impute)하는 평점 대치부를 포함하는 평점 결측치 대치 장치가 제공될 수 있다.According to an exemplary embodiment, a neighbor determination unit determines a user who can reach through a forward direction of a certain user and a forward direction on a trust network and a user who can reach through a reverse direction of an edge as a neighboring user, A score obtaining unit for obtaining a rating of a neighboring user for an item having no rating of a specific user among the rating matrices of a specific user, an item having no rating of a specific user as a value calculated from a rating of a neighboring user for a non- A rating missing value substitution device may be provided that includes a rating substitution section that imputes the rating of a particular user to the rating difference.

일 실시예에 따르면 이웃 결정부는, 신뢰 네트워크 상에서 특정 사용자로부터 거리가 미리 결정된 거리를 초과하는 사용자를 이웃 사용자로부터 배제할 수 있다.According to one embodiment, the neighbor determination unit may exclude a neighbor from a user whose distance from a particular user on the trust network exceeds a predetermined distance.

일 실시예에 따르면 평점 대치부는, 수학식 1에 의하여 특정 사용자의 평점을 계산할 수 있다. 여기서

Figure 112013081667646-pat00008
는 특정 사용자 u의 아이템 i에 대한 대치된 평점일 수 있다.
Figure 112013081667646-pat00009
는 특정 사용자 u가 남긴 아이템 i에 부여한 평점 일 수 있다.
Figure 112013081667646-pat00010
는 특정 사용자 u가 남긴 평점의 평균 일 수 있다.
Figure 112013081667646-pat00011
는 특정 사용자 u의 아이템들 중 평점을 대치할 후보 아이템의 집합 일 수 있다.
Figure 112013081667646-pat00012
는 신뢰 네트워크를 통해 찾은 특정 사용자 u와 유사한 이웃 사용자들의 집합 일 수 있다.
Figure 112013081667646-pat00013
는 특정 사용자 u와 이웃 사용자 v의 신뢰 값 일 수 있다.According to one embodiment, the rating substitution unit can calculate the rating of a specific user by Equation (1). here
Figure 112013081667646-pat00008
May be a substituted rating for item i of a particular user u.
Figure 112013081667646-pat00009
May be a rating given to item i left by a particular user u.
Figure 112013081667646-pat00010
May be the average of the ratings left by a particular user u.
Figure 112013081667646-pat00011
May be a set of candidate items to replace rating points among the items of the specific user u.
Figure 112013081667646-pat00012
Lt; / RTI > may be a collection of neighbor users similar to a particular user u found through the trust network.
Figure 112013081667646-pat00013
May be the trust value of a particular user u and a neighboring user v.

본 발명에 따르면, 신뢰 네트워크를 이용하여 유저가 평가하지 않은 아이템들에 대한 평가를 예측함으로써 평점 행렬에 더 많은 값을 채워 넣을 수 있다.In accordance with the present invention, the trust matrix can be populated with more values by predicting an evaluation of items that the user has not evaluated using the trust network.

또한, 본 발명에 따르면, 비어 있는 평점이 이웃 사용자의 평점으로 대치된 행렬을, 행렬 분해를 이용한 추천 방법에 적용함으로써, 평점 예측의 정확도를 크게 향상 시킬 수 있다. 또한, 소수의 아이템만을 평가하였던 사용자에 대한 평점 예측의 정확도를 크게 향상 시킬 수 있다.Further, according to the present invention, the accuracy of rating prediction can be greatly improved by applying a matrix in which empty scores are replaced with ratings of neighboring users to a recommendation method using matrix decomposition. In addition, the accuracy of rating prediction for a user who has only evaluated a small number of items can be greatly improved.

도 1은 일 실시예에 따라 평점 행렬에서 사용자가 평가하지 않은 평점을 대치하는 방법을 설명하기 위한 도면이다.
도 2는 일 실시예에 따라 평점 결측치를 대치하는 방법의 흐름도이다.
도 3은 일 실시예에 따른 신뢰 네트워크(Trust Network)의 일 예를 도시한 도면이다.
도 4는 일 실시예에 따라 신뢰 네트워크(Trust Network)를 이용해 사용자의 아이템의 평점을 대치하는 방법을 설명하기 위한 도면이다.
도 5는 일 실시예에 따라 평점이 대치된 행렬을 협업 필터링에 적용하는 방법을 설명하기 위한 도면이다.
도 6은 일 실시에에 따라 평점 결측치 대치 장치의 구성을 도시한 블록도이다.
1 is a diagram for explaining a method of replacing a rating point not evaluated by a user in a rating matrix according to an exemplary embodiment.
2 is a flow diagram of a method for replacing a rating missing value in accordance with one embodiment.
FIG. 3 is a diagram illustrating an example of a trust network according to an embodiment.
4 is a diagram for explaining a method of replacing a rating of a user item using a trust network according to an exemplary embodiment.
FIG. 5 is a diagram for explaining a method of applying a matrices whose ratings are replaced according to an embodiment to collaborative filtering.
6 is a block diagram showing a configuration of a rated missing value substitution device according to one embodiment.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

도 1은 일 실시예에 따라 평점 행렬에서 사용자가 평가하지 않은 평점을 대치하는 방법을 설명하기 위한 도면이다.1 is a diagram for explaining a method of replacing a rating point not evaluated by a user in a rating matrix according to an exemplary embodiment.

도 1에 도시된 평점 행렬(110)을 살펴보면, 행렬에서 행(111)은 사용자에 대한 좌표이며, 열(112)은 각 아이템에 대한 좌표이다. 예를 들어, 첫 번째 사용자의 7번째 아이템에 대한 평점은 1행 7열에 위치한 3점이며, 세 번째 사용자의 4번째 아이템에 대한 평점은 3행 4열에 위치한 1점이다. 4번째 사용자는 1, 2, 3, 4, 5, 6, 7번째 아이템들에 대해 평점을 입력하지 않았고, 8번째 아이템에 대해서만 5점을 부여했다. 이 때, 소수의 아이템만을 평가한 사용자인 2, 3, 4 번째 사용자(120)는 콜드-스타트(cold-start) 사용자(User) 라고 부른다. 이러한 콜드-스타트 사용자들(120)은 소수의 아이템들에만 평점을 평가하기 때문에 평점 정보가 매우 적으며, 이로 인해 발생하는 데이터 부족 문제로 인해 행렬 분해 기법을 사용한 아이템 추천 방법들의 정확도는 매우 낮아지게 된다.Looking at the rating matrix 110 shown in FIG. 1, row 111 in the matrix is the coordinates for the user, and column 112 is the coordinates for each item. For example, the rating for the seventh item in the first user is 3 points in row 1 and 7, and the rating for the fourth item in the third user is 1 point in row 3 and row 4. The fourth user did not enter a rating for items 1, 2, 3, 4, 5, 6, and 7, and only gave 5 points for the eighth item. At this time, the second, third, and fourth users 120, which are users who have evaluated only a small number of items, are called a cold-start user. Since the cold-start users 120 evaluate the scores only on a small number of items, the rating information is very small, and due to the lack of data, the accuracy of the item recommendation methods using the matrix decomposition technique becomes very low do.

다음으로, 사용자가 평가하지 않은 아이템의 평점을 대치하는 방법을 설명한다. 일 예에 따르면, 평가하지 않은 아이템의 평점은 고정된 값(예를 들어, 평점의 중간 값)으로 채워 넣을 수 있다. 다른 일 예에 따르면, 평가하지 않은 아이템의 평점은 각 사용자가 남긴 평점의 평균 값으로 채워 넣을 수 있다. 도 1에서 첫 번째 사용자의 경우에 적용하면, 사용자가 평가하지 않은 6번째 아이템과 8번째 아이템에 대한 평점은 나머지 아이템들에 대한 평점인 5점, 4점, 1점, 1점, 4점, 3점의 평균 값인 3점으로 대치할 수 있다. 그러나, 이러한 대치 방법은 정확도가 매우 낮을 수 있다. 따라서 특정 사용자는 신뢰 네트워크(trust network)를 통해서 각 사용자와 이웃인 사용자들과 유사한 취향을 가지고 있을 것으로 가정하여, 이웃 사용자들이 남긴 평점을 통해 해당 사용자의 평점을 대치하는 방법을 채택할 수 있다. 본 발명의 일 실시예에 따른 대치 방법에서는, 신뢰 네트워크를 통해 각 사용자로부터 에지(edge)의 방향에 무관하게 연결된 사용자들을 그의 이웃으로 간주하며, 사용자와 너무 멀리 떨어져 있는 이웃 사용자는 배제하여 사용자가 평가하지 않은 아이템에 대한 평점을 대치할 수 있다. 상기 대치된 평점으로 대치된 평점 행렬을 만들고, 행렬 분해 기법을 통해 사용자가 평가하지 않은 아이템에 대한 평점 예측을 수행할 수 있다.Next, a method of replacing a rating of an item that the user has not evaluated will be described. According to one example, the rating of an item that has not been evaluated may be filled with a fixed value (e.g., the median of the rating). According to another example, the rating of an unevaluated item may be filled with an average value of the ratings left by each user. In the case of the first user in FIG. 1, the ratings for the sixth item and the eighth item that the user has not evaluated are 5 points, 4 points, 1 point, 1 point, 4 points, It can be replaced by 3 points which is an average value of three points. However, this method of substitution can be very inaccurate. Therefore, it is assumed that a specific user has similar tastes to each user and neighboring users through a trust network, and a method of replacing the rating of a user with a rating of a neighboring user may be adopted. In the substitution method according to an embodiment of the present invention, users who are connected regardless of the direction of the edge from each user through the trust network are regarded as its neighbors, and neighboring users who are far away from the user are excluded, You can replace the rating for unrated items. A rating matrix is substituted with the replaced rating points, and a rating prediction is performed on items that the user has not evaluated through the matrix decomposition technique.

도 2는 일 실시예에 따라 평점 결측치를 대치하는 방법의 흐름도이다.2 is a flow diagram of a method for replacing a rating missing value in accordance with one embodiment.

단계(210)에서 평점 결측치 대치 장치는 신뢰 네트워크 상에서 이웃 사용자를 결정할 수 있다. 예를 들어, 평점 결측치 대치 장치는 신뢰 네트워크의 에지 방향과 무관하게 특정 사용자와 연결된 사용자를 이웃 사용자로 결정할 수 있다. 일 실시예에 따르면, 신뢰 네트워크는 일종의 사회 연결망으로 유저간의 신뢰 관계를 나타낸 그래프일 수 있다. 평점 행렬에서 특정 사용자가 아직 평가하지 않은 아이템의 평점을 특정 사용자와 유사한 이웃 사용자들(similar users)이 그 아이템에 부여한 평점을 통해 대치(impute)한다. 평점 결측치(rate missing values)를 대치(impute)하는 방법의 일 실시예에 따르면, 신뢰 네트워크 상에서 특정 사용자와 에지(edge)의 정방향을 통해 도달할 수 있는 사용자 및 에지(edge)의 역방향을 통해 도달할 수 있는 사용자를 이웃 사용자로 결정할 수 있다. 여기서 에지는 사용자와 사용자 간에 연결된 선을 말하며, 신뢰를 하는 경우와 신뢰를 받는 경우에 따라서 방향성이 생기게 된다. 예를 들어, 특정 사용자가 이웃 사용자를 신뢰하는 경우를 신뢰 네트워크 에지의 정방향이고, 특정 사용자를 이웃 사용자가 신뢰하는 경우는 특정 사용자의 입장에서 신뢰 네트워크 에지의 역방향에 해당할 수 있다. 일 실시예에 따르면, 신뢰 네트워크의 에지 방향에 무관하게 특정 사용자를 신뢰하는 사용자와 특정 사용자가 신뢰하는 사용자 모두를 이웃 사용자로 결정할 수 있다. 이것은 특정 사용자가 신뢰하는 사용자만을 이웃 사용자로 정하는 기존의 방법에 비해 데이터 부족 문제를 해결하고 평가한 아이템의 개수가 적은 콜드 스타트 사용자의 경우에도 추천 방법의 정확도를 높여주는 효과가 있다.In step 210, the rating missing replacement device may determine the neighboring user on the trust network. For example, the rating missing replacement device may determine a user associated with a particular user as a neighbor, regardless of the edge direction of the trust network. According to one embodiment, the trust network may be a graph showing a trust relationship between users with a social network of a kind. The rating of an item that a particular user has not yet rated in the rating matrix is imputed to a rating given to that item by similar users similar to a particular user. According to one embodiment of a method of imputing rate missing values, a user can be reached via a positive direction of the edge with a particular user on the trust network, The user who can do so can be determined as a neighbor user. Here, edge refers to a line connected between a user and a user, and a direction is generated depending on whether the user is trusting or trusting. For example, if a particular user trusts a neighboring user, it is a forward direction of the trust network edge, and if a particular user trusts a neighboring user, it may correspond to a reverse direction of the trusting network edge from a specific user's standpoint. According to one embodiment, both a user who trusts a specific user and a user who is trusted by a particular user can be determined as a neighbor, regardless of the edge direction of the trust network. This has the effect of improving the accuracy of the recommendation method even in the case of a cold start user who has solved the data shortage problem and has a small number of items to be evaluated, compared to the conventional method of setting only a user who is trusted by a specific user as a neighbor user.

일 실시예에 따르면, 이웃 사용자를 결정할 때, 신뢰 네트워크 상에서 특정 사용자로부터의 거리가 미리 결정된 거리를 초과하는 사용자는 이웃 사용자로부터 배제할 수 있다. 이 때, 미리 결정된 거리는 특정 사용자가 신뢰하는 사용자가 신뢰하는 2단계 이웃 사용자이거나, 특정 사용자가 신뢰하는 사용자가 신뢰하는 사용자가 신뢰하는 3단계 이웃 사용자가 될 수 있다. 특정 사용자로부터 거리가 멀어질수록 특정 사용자와 취향이 달라질 수 있기 때문에 거리에 따른 가중치를 주는 방법을 통해 정확도 문제를 해결할 수 있다.According to one embodiment, when determining a neighboring user, a user whose distance from a particular user on the trust network exceeds a predetermined distance may be excluded from the neighboring user. In this case, the predetermined distance may be a two-level neighbor user trusted by a user trusted by a specific user, or a three-level neighbor user trusted by a user trusted by a specific user. As the distance from a specific user increases, the preference may be different from that of a specific user. Therefore, the accuracy problem can be solved by weighting the distance.

단계(220)에서 평점 결측치 대치 장치는 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자들의 평점을 획득할 수 있다. 일 실시예에 따르면, 특정 사용자가 평가하지 않은 아이템의 평점으로 대치하기 위해 단계(210)에서 결정된 이웃 사용자들의 평점을 획득할 수 있다.In step 220, the rating missing value substitution device may obtain ratings of neighboring users for items that are not rated for a particular user. According to one embodiment, a rating of the neighboring users determined in step 210 may be obtained to replace the rating of items that the particular user has not evaluated.

단계(230)에서 평점 결측치 대치 장치는 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 특정 사용자의 평점이 없는 아이템에 대한 특정 사용자의 평점을 대치(impute)할 수 있다. 일 실시예에 따르면, 단계(220)에서 획득된 이웃 사용자들의 평점에 거리에 따른 가중치를 곱한 뒤 계산된 값을 특정 사용자의 평점으로 대치할 수 있다. 예를 들어, 특정 사용자가 신뢰하는 이웃 사용자가 평가한 평점은 가중치를 높게 주고, 특정 사용자를 신뢰하는 이웃 사용자가 평가한 평점은 그 다음으로 높게 주며, 특정 사용자가 신뢰하는 사용자가 신뢰하는 이웃 사용자가 평가한 평점에는 가중치를 낮게 주는 방법이 있을 수 있다. 이렇게 특정 사용자가 평가하지 않은 아이템의 평점을 이웃 사용자의 평점으로부터 계산된 값으로 대치하는 것은 특정 사용자는 아직 아이템에 대해 평점을 매기지 않았지만 특정 사용자가 신뢰하는 이웃 사용자 또는 특정 사용자를 신뢰하는 이웃 사용자는 특정 사용자와 유사한 취향을 가지고 있을 것이고, 이러한 이웃 사용자가 매긴 평점을 특정 사용자의 평점으로 보는 것이 다른 일반적인 대치 방법에 비해 훨씬 더 정확할 수 있기 때문이다.In step 230, the rating missing value substitution device may impute a particular user's rating for an item that does not have a particular user rating, calculated from a rating of a neighboring user for an item that does not have a particular user rating. According to an exemplary embodiment, the score of the neighboring users obtained in step 220 may be multiplied by a weight according to distance, and the calculated value may be replaced with a rating of a specific user. For example, a rating of a neighboring user that a particular user trusts may be weighted higher, a rating of a neighboring user who trusts a particular user may be higher next, and a neighboring user There may be a way to give a lower weight to the rating you have rated. Replacing the rating of an item that is not evaluated by a particular user with a value calculated from the rating of a neighboring user means that a particular user has not yet rated the item but neighbors that a particular user trusts or a neighbor who trusts a particular user Is likely to have similar tastes to a particular user and it may be much more accurate to view the ratings of these neighbors as a particular user's rating than other common substitution methods.

일 실시예에 따르면, 단계(230)은, 아이템에 대한 이웃 사용자의 평점이 미리 결정된 개수 이상인 경우, 상기 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 상기 아이템에 대한 상기 특정 사용자의 평점을 대치하는 단계 및 상기 아이템에 대한 상기 이웃 사용자의 평점이 미리 결정된 개수 미만인 경우, 상기 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 아이템에 대한 상기 특정 사용자의 평점을 대치하지 않는 단계를 더 포함할 수 있다. 특정 사용자가 평가하지 않은 특정 아이템에 대해 평가를 한 이웃 사용자의 수가 적을 경우에는 특정 사용자와 이웃 사용자의 취향이 유사하다고 할 지라도 데이터의 부족으로 인해 대치할 평점이 부정확해질 수 있기 때문이다.According to one embodiment, step 230 replaces the rating of the particular user for the item with a value calculated from the rating of the neighboring user for the item, if the rating of the neighboring user for the item is greater than or equal to a predetermined number And not replacing the rating of the particular user for the item with a value calculated from the rating of the neighboring user for the item if the rating of the neighboring user for the item is less than a predetermined number can do. If the number of neighbors who have evaluated a specific item that a particular user has not evaluated is small, the rating may be inaccurate due to the lack of data, even if the taste of the particular user is similar to that of the neighboring user.

일 실시예에 따르면, 단계(230)은 특정 사용자의 평점이 없는 M개의 아이템 중 이웃 사용자의 평점의 개수가 많은 순으로 N개의 아이템을 결정하는 단계 및 상기 N개의 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 특정 사용자의 N개의 아이템에 대한 상기 특정 사용자의 평점을 대치(impute)하는 단계를 포함할 수 있다. 이 때, M 및 N은 0보다 큰 정수이고, N은 M보다 작을 수 있다. 즉, 협업 필터링을 적용하기 위해서 데이터의 양이 필요한 만큼 N개의 데이터를 대치할 수 있다. 따라서 협업 필터링을 적용하기에 적합한 숫자 이상의 데이터 양을 데이터 대치 방법을 통해 맞춰 놓을 수 있다.According to one embodiment, step 230 includes the steps of determining N items in descending order of the number of ratings of neighbors among the M items with no rating of a particular user, And impute the rating of the particular user for the N items of the particular user with a value calculated from the specific user. Where M and N are integers greater than 0, and N may be less than M. That is, in order to apply collaborative filtering, it is possible to replace N data as much as necessary. Therefore, the amount of data that is more than adequate to apply collaborative filtering can be tailored through the data replacement method.

일 실시예에 따르면, 단계(230)은 하기 수학식 1에 의하여 특정 사용자의 평점을 계산하는 단계를 포함할 수 있다.According to one embodiment, step 230 may include calculating a rating of a particular user by: < EMI ID = 1.0 >

Figure 112013081667646-pat00014
Figure 112013081667646-pat00014

여기서

Figure 112013081667646-pat00015
는 특정 사용자 u의 특정 아이템 i에 대해 대치된 평점이고,
Figure 112013081667646-pat00016
는 특정 사용자 u가 남긴 아이템 i에 부여한 평점이고,
Figure 112013081667646-pat00017
는 특정 사용자 u가 남긴 평점의 평균이고,
Figure 112013081667646-pat00018
는 이웃 사용자 v가 남긴 평점의 평균이고,
Figure 112013081667646-pat00019
는 특정 사용자 u의 아이템들 중 평점을 대치할 후보 아이템의 집합이고,
Figure 112013081667646-pat00020
는 신뢰 네트워크를 통해 찾은 특정 사용자 u와 유사한 이웃 사용자들의 집합이고,
Figure 112013081667646-pat00021
는 특정 사용자 u와 이웃 사용자 v간의 거리에 따른 신뢰 값이다. 상기 수학식 1을 통해 최적화 된 대치될 평점을 구할 수 있다.here
Figure 112013081667646-pat00015
Is a replaced rating for a particular item i of a particular user u,
Figure 112013081667646-pat00016
Is a rating given to item i left by a specific user u,
Figure 112013081667646-pat00017
Is the average of the ratings left by a particular user u,
Figure 112013081667646-pat00018
Is the average of the scores left by the neighboring user v,
Figure 112013081667646-pat00019
Is a set of candidate items to replace rating points among the items of the specific user u,
Figure 112013081667646-pat00020
Is a set of neighbors similar to a particular user u found through the trust network,
Figure 112013081667646-pat00021
Is a confidence value according to the distance between a specific user u and a neighboring user v. It is possible to obtain an optimized substitute score through the equation (1).

일 실시예에 따르면, 단계(230)은 이웃 사용자의 평점이 비어있는 경우에, 신뢰 네트워크 상에서 이웃 사용자와 에지(edge)의 정방향을 통해 도달할 수 있는 사용자 및 에지(edge)의 역방향을 통해 도달할 수 있는 사용자를 제2 이웃 사용자로 결정하는 단계 및 평점 행렬이 비어있는 이웃 사용자의 평점을 제2 이웃 사용자의 평점으로 대치하는 단계를 통해 대치된 평점을 다시 대치할 수 있다.According to one embodiment, step 230 is performed in the reverse direction of the user and edge that can reach through the forward direction of the edge with the neighboring user on the trust network if the neighboring user's rating is empty Determining a user who can be a second neighbor user and replacing the rating of a neighboring user with a rating matrix with a rating of a second neighboring user.

단계(240)에서 평점 결측치 대치 장치는 평점이 대치된 평점 행렬에 협업 필터링을 적용할 수 있다. 일 실시예에 따르면, 협업 필터링은 user-based recommendation method, item-based recommendation method, PMF(Probabilistic Matrix Factorization) 중 적어도 하나일 수 있다. 이 때, 협업 필터링이란 고객들의 선호도와 관심 표현을 바탕으로 선호도, 관심에서 비슷한 패턴을 가진 고객들을 식별해 내는 기법으로 비슷한 취향을 가진 고객들에게 서로 아직 구매하지 않은 상품들은 교차 추천하거나 분류된 고객의 취향이나 생활 형태에 따라 관련 상품을 추천하는 형태의 서비스를 제공하기 위해 사용된다. 본 발명의 일 실시예에 따르면, 단계(230)에서 대치된 평점을 협업 필터링에 적용하여, 특정 사용자 및 그 외의 사용자들이 남긴 평점을 이용하여 추천 방법에 있어서 정확도를 높일 수 있다.In step 240, the rating missing value substitution device may apply collaborative filtering to the rating matrix with the rating replaced. According to one embodiment, the cooperative filtering may be at least one of a user-based recommendation method, an item-based recommendation method, and a probabilistic matrix factorization (PMF). Collaborative filtering is a technique that identifies customers with similar patterns of preference and interest based on customer preferences and interest expressions. For customers with similar tastes, products that have not yet purchased each other are cross- It is used to provide services in the form of recommending related products according to taste and lifestyle. According to an exemplary embodiment of the present invention, it is possible to increase the accuracy of the recommendation method by applying the replaced score in step 230 to collaborative filtering, using the ratings of the specific user and other users.

도 3은 일 실시예에 따른 신뢰 네트워크(Trust Network)의 일 예를 도시한 도면이다.FIG. 3 is a diagram illustrating an example of a trust network according to an embodiment.

일 실시예에 따르면, 특정 사용자가 평가하지 않은 아이템에 대한 평점은 특정 사용자와 유사한 사용자들이 남긴 특정 아이템에 대한 평점을 특정 사용자의 특정 아이템에 대한 평점으로 대치할 수 있다. 이때, 유사한 사용자를 정하기 위해 신뢰 네트워크를 통해 이웃 사용자를 결정한다. 신뢰 네트워크(Trust network)는 사용자간의 신뢰 관계를 나타내는 네트워크를 말한다. 일 실시예에 따르면, 이웃 사용자는 특정 사용자와 신뢰 네트워크 안에서 링크의 방향과 무관하게 연결된 사용자가 될 수 있다. 다른 표현으로, 에지(edge)의 방향과 무관하다고 할 수 있다. 링크의 방향은 특정 사용자가 신뢰하는 사용자에 대한 방향과 특정 사용자를 신뢰하는 사용자에 대한 방향이 있다. 특정 사용자가 신뢰하고 있지 않으나, 다른 사용자가 특정 사용자를 신뢰하고 있다면, 그 사용자도 이웃 사용자가 될 수 있다. 유사도 관계는 대칭을 이루기 때문에 이러한 사용자들도 이웃 사용자로 결정할 수 있으며, 이 방법을 통해 더 많은 사용자를 통한 대치가 가능하다.According to one embodiment, a rating for an item that a particular user has not rated may replace a rating for a particular item left by users similar to a particular user, with a rating for a particular item of a particular user. At this time, the neighboring user is determined through the trust network to determine a similar user. A trust network is a network that represents trust relationships between users. According to one embodiment, a neighboring user may be a user connected to a particular user regardless of the direction of the link within the trust network. In other words, it can be said to be independent of the direction of the edge. The direction of a link is a direction for a user that a particular user trusts and a direction for a user who trusts a particular user. If a particular user does not trust, but another user trusts a particular user, that user can also become a neighbor. Since the similarity relationship is symmetrical, such users can also be determined as a neighboring user, and this method allows substitution through more users.

도 3을 참고하면, U1은 특정 사용자로 평가하지 않은 아이템의 평점을 대치 받을 사용자이고, U3은 특정 사용자 U1을 신뢰하는 이웃 사용자이다. 화살표의 방향(310, 320)은 신뢰를 하는 방향을 나타내며, U2는 U3을 신뢰하고 U1은 U3의 신뢰를 받는다. 본 발명의 일 실시예에 따르면, 신뢰 네트워크 안에서 특정 사용자(U1)와 에지의 정방향을 통해서 도달할 수 있는 사용자(U4, U8) 및 에지의 역방향을 통해 도달할 수 있는 사용자(U3, U7)를 이웃 사용자로 결정할 수 있다. 여기서, 에지의 정방향은 신뢰를 하는 방향을 말하고 에지의 역방향은 신뢰를 받는 방향을 말한다. 도 3을 참고하면, 사용자 U3의 입장에서 화살표(310)은 U2의 신뢰를 받는 방향이므로 에지의 역방향에 해당하고, 사용자 U3의 입장에서 화살표(320)은 U1를 신뢰하는 방향이므로 에지의 정방향에 해당한다.Referring to FIG. 3, U 1 is a user to be replaced with a rating of an item not evaluated as a specific user, and U 3 is a neighbor user who trusts a specific user U 1 . The direction of the arrows 310, 320 represents the direction of trust, U 2 trusts U 3 , and U 1 trusts U 3 . According to an embodiment of the present invention, a user U 1 and a user U 4, U 8 , which can be reached through the forward direction of the edge, and a user U 3 , U 7 ) can be determined as a neighboring user. Here, the forward direction of the edge refers to the direction of trust, and the reverse direction of the edge refers to the direction of receiving the trust. Referring to FIG 3, since the arrow 310, from the perspective of the user U 3 is a direction trusted of U 2 corresponds to the direction opposite to the edge, and the arrow 320 from the perspective of the user U 3 is because the direction of trust U 1 Corresponds to the forward direction of the edge.

일 실시예에 따르면, 이웃 사용자를 결정할 때, 신뢰 네트워크 안에서 특정 사용자로부터의 거리가 미리 결정된 거리를 초과하는 사용자는 이웃 사용자로부터 배제할 수 있다. 이 때, 미리 결정된 거리는 특정 사용자가 신뢰하는 사용자가 신뢰하는 2단계 이웃 사용자이거나, 특정 사용자가 신뢰하는 사용자가 신뢰하는 사용자가 신뢰하는 3단계 이웃 사용자가 될 수 있다. 특정 사용자로부터 거리가 멀어질수록 특정 사용자와 취향이 달라질 수 있기 때문에 거리에 따른 가중치를 주는 방법을 통해 정확도 문제를 해결할 수 있다. 도 3을 참고하면, 특정 사용자 U1으로부터 1단계 이웃에 해당하는 이웃 사용자 U3, U4, U7, U8은 가중치를 높게 주고, 특정 사용자 U1으로부터 2단계 이웃에 해당하는 이웃 사용자 U2, U5, U6, U9는 가중치를 그보다 낮게 주어 평점을 대치할 수 있다. 또한 에지의 방향에 따른 가중치를 줄 수도 있다. 도 3을 참고하면, 특정 사용자 U1이 신뢰하는 이웃 사용자 U4와 U8은 가중치를 높게 주고, 특정 사용자 U1을 신뢰하는 이웃 사용자 U3와 U7은 가중치를 낮게 주어 평점을 대치할 수 있다.According to one embodiment, when determining a neighboring user, a user whose distance from a particular user in the trust network exceeds a predetermined distance may be excluded from the neighboring user. In this case, the predetermined distance may be a two-level neighbor user trusted by a user trusted by a specific user, or a three-level neighbor user trusted by a user trusted by a specific user. As the distance from a specific user increases, the preference may be different from that of a specific user. Therefore, the accuracy problem can be solved by weighting the distance. Referring to Figure 3, corresponding to a step adjacent neighbors from a specific user U first user U 3, U 4, U 7, U 8 give higher weights, adjacent to the two-step neighbor from a specific user U first user U 2 , U 5 , U 6 , and U 9 can be replaced by lower weights. It is also possible to reduce the weight according to the direction of the edge. Referring to Figure 3, a specific user U 1 of trusted neighborhood user U 4 and U 8 is giving higher weights, adjacent to trust a specific user U 1 user U 3 and U 7 can replace the rating given low weights have.

도 4는 일 실시예에 따라 신뢰 네트워크(Trust Network)를 이용해 사용자의 아이템의 평점을 대치하는 방법을 설명하기 위한 도면이다.4 is a diagram for explaining a method of replacing a rating of a user item using a trust network according to an exemplary embodiment.

일 실시예에 따르면, 적은 수의 이웃 사용자들이 평가한 아이템에 대한 평점으로 대치하는 것은 부정확할 수 있기 때문에, 특정 사용자가 평가하지 않은 아이템 전체의 평점을 대치하는 것이 아니라 이웃 사용자들 중 다수가 평가한 상위 N개의 아이템의 평점을 특정 사용자가 평가하지 않은 아이템의 평점으로 대치한다. 사용자의 아이템의 평점을 대치하는 방법은 특정 사용자의 평점이 없는 M개의 아이템 중 이웃 사용자의 평점의 개수가 많은 순으로 N개의 아이템을 결정하는 단계 및 상기 N개의 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 특정 사용자의 N개의 아이템에 대한 상기 특정 사용자의 평점을 대치(impute)하는 단계를 포함할 수 있다. 이 때, M 및 N은 0보다 큰 정수이고, N은 M보다 작다. 즉, 협업 필터링을 적용하기 위해서 데이터의 양이 필요한 만큼 N개의 데이터를 대치할 수 있다. 특정 사용자가 평가하지 않은 특정 아이템에 대해 평가를 한 이웃 사용자의 수가 적을 경우에는 데이터 대치 방법 보다는 협업 필터링을 통해 특정 사용자의 평점을 예측하는 것이 더 정확하기 때문이다. 따라서 협업 필터링을 적용하기에 적합한 숫자 이상의 데이터 양을 데이터 대치 방법을 통해 맞춰 놓을 수 있다.According to one embodiment, replacing ratings with items rated by a small number of neighbors may be inaccurate, so instead of replacing the rating of an item as a whole that is not evaluated by a particular user, Replace the rating of the top N items with the rating of the item that the particular user did not evaluate. A method for replacing a rating of a user item includes the steps of determining N items in descending order of the number of ratings of neighboring users among M items having no rating of a specific user, And impute the rating of the particular user for the N items of the particular user with the calculated value. At this time, M and N are integers larger than 0, and N is smaller than M. That is, in order to apply collaborative filtering, it is possible to replace N data as much as necessary. This is because it is more accurate to predict the rating of a specific user through collaborative filtering rather than a data substitution method when the number of neighbors who have evaluated a specific item not evaluated by a particular user is small. Therefore, the amount of data that is more than adequate to apply collaborative filtering can be tailored through the data replacement method.

도 4를 참고하면, 특정 사용자 U1의 표(410)에서 U1이 평가하지 않은 아이템은 I2, I3, I4, I5으로 총 4개의 아이템이 있다. 이 중에서, I2는 이웃 사용자 8명이 모두 평가를 했으며, I3은 7명의 이웃 사용자가 평가했고, I4는 4명의 이웃 사용자가 평가했으며, I5는 1명만 평점을 평가하였다. 이때, 1명과 4명의 이웃 사용자가 평가한 I4와 I5의 경우 정확도가 떨어질 수 있기 때문에 상위 2개에 해당하는 I2과 I3에 대한 평점만을 획득하여 계산한 값으로 대치하는 방법이 있을 수 있다.Referring to FIG. 4, items that are not U 1 rating in the table 410 for a particular user U 1 has a total of four items as I 2, I 3, I 4 , I 5. Of these, I 2 was evaluated by all 8 neighbors, I 3 by 7 neighbors, I 4 by 4 neighbors, and I 5 by 1. In this case, since the accuracy of I 4 and I 5 evaluated by one and four neighboring users may be lowered, there is a method of substituting the calculated values by acquiring only ratings of I 2 and I 3 corresponding to the upper two .

도 5는 일 실시예에 따라 평점이 대치된 행렬을 협업 필터링에 적용하는 방법을 설명하기 위한 도면이다.FIG. 5 is a diagram for explaining a method of applying a matrices whose ratings are replaced according to an embodiment to collaborative filtering.

일 실시예에 따르면, 대치된 행렬을 PMF(Probabilistic Matrix Factorization)에 적용할 수 있다. PMF는 특정 사용자가 아이템에 부여한 평점을 행렬로 구성하고, 이를 행렬 분해한다. 이 때, 행렬 분해는 사용자의 성분(521)으로 구성된 행(520)과 아이템의 성분(531)으로 구성된 열(530)의 내적(540)을 통해 평점을 예측한다.According to one embodiment, the replaced matrix may be applied to a probabilistic matrix factorization (PMF). The PMF constructs a matrix of scores given by a particular user to an item and decomposes it into a matrix. At this time, the matrix decomposition predicts the rating through the inner product 540 of the column 530, which consists of a row 520 of elements of the user's component 521 and a component 531 of the item.

도 6은 일 실시에에 따라 평점 결측치 대치 장치의 구성을 도시한 블록도이다.6 is a block diagram showing a configuration of a rated missing value substitution device according to one embodiment.

도 6을 참고하면, 평점 결측치 대치 장치(600)는 이웃 결정부(610), 평점 획득부(620), 평점 대치부(630)를 포함할 수 있다. 일 실시예에 따르면, 평점 결측치 대치 장치(600)의 이웃 결정부(610)는 신뢰 네트워크의 에지 방향과 무관하게 특정 사용자와 연결된 사용자를 이웃 사용자로 결정할 수 있다. 일 실시예에 따르면, 신뢰 네트워크는 일종의 사회 연결망으로 유저간의 신뢰 관계를 나타낸 그래프일 수 있다. 평점 행렬에서 특정 사용자가 아직 평가하지 않은 아이템의 평점을 특정 사용자와 유사한 이웃 사용자들(similar users)이 그 아이템에 부여한 평점을 통해 대치한다. 평점 결측치(rate missing values) 대치(impute) 장치의 일 실시예에 따르면, 신뢰 네트워크 상에서 특정 사용자와 에지(edge)의 정방향을 통해 도달할 수 있는 사용자 및 에지(edge)의 역방향을 통해 도달할 수 있는 사용자를 이웃 사용자로 결정할 수 있다. 여기서 에지는 사용자와 사용자 간에 연결된 선을 말하며, 신뢰를 하는 경우와 신뢰를 받는 경우에 따라서 방향성이 생기게 된다. 예를 들어, 특정 사용자가 이웃 사용자를 신뢰하는 경우를 신뢰 네트워크 에지의 정방향이고, 특정 사용자를 이웃 사용자가 신뢰하는 경우는 특정 사용자의 입장에서 신뢰 네트워크 에지의 역방향에 해당한다. 일 실시예에 따르면, 신뢰 네트워크의 에지 방향에 무관하게 특정 사용자를 신뢰하는 사용자와 특정 사용자가 신뢰하는 사용자 모두를 이웃 사용자로 결정할 수 있다. 이것은 특정 사용자가 신뢰하는 사용자만을 이웃 사용자로 정하는 기존의 방법에 비해 데이터 부족 문제를 해결하고 평가한 아이템의 개수가 적은 콜드 스타트 사용자의 경우에도 추천 방법의 정확도를 높여주는 효과가 있다.Referring to FIG. 6, the rating missing value substitution device 600 may include a neighbor determination unit 610, a rating acquisition unit 620, and a rating substitution unit 630. According to one embodiment, the neighborhood determination unit 610 of the rating missing value substitution device 600 can determine a user connected to a specific user as a neighbor, irrespective of the edge direction of the trust network. According to one embodiment, the trust network may be a graph showing a trust relationship between users with a social network of a kind. The ratings of the items that a particular user has not yet rated in the rating matrix are replaced by the rating given to that item by similar users who are similar to a particular user. According to one embodiment of a rate missing values impute device, a user can be reached via a positive direction of the edge with a particular user on the trust network and can be reached via a reverse direction of the edge The neighboring user can be determined as the neighboring user. Here, edge refers to a line connected between a user and a user, and a direction is generated depending on whether the user is trusting or trusting. For example, if a particular user trusts a neighboring user, it is a forward direction of the trust network edge, and if a particular user trusts a neighboring user, it corresponds to a reverse direction of the trusting network edge from a specific user's standpoint. According to one embodiment, both a user who trusts a specific user and a user who is trusted by a particular user can be determined as a neighbor, regardless of the edge direction of the trust network. This has the effect of improving the accuracy of the recommendation method even in the case of a cold start user who has solved the data shortage problem and has a small number of items to be evaluated, compared to the conventional method of setting only a user who is trusted by a specific user as a neighbor user.

일 실시예에 따르면, 이웃 사용자 결정부(610)는, 신뢰 네트워크 상에서 특정 사용자로부터의 거리가 미리 결정된 거리를 초과하는 사용자를 이웃 사용자로부터 배제할 수 있다. 이 때, 미리 결정된 거리는 특정 사용자가 신뢰하는 사용자가 신뢰하는 2단계 이웃 사용자이거나, 특정 사용자가 신뢰하는 사용자가 신뢰하는 사용자가 신뢰하는 3단계 이웃 사용자가 될 수 있다. 특정 사용자로부터 거리가 멀어질수록 특정 사용자와 이웃 사용자와의 취향이 달라질 수 있기 때문에 거리에 따른 가중치를 주는 방법을 통해 정확도 문제를 해결할 수 있다.According to one embodiment, the neighboring user determination unit 610 may exclude a neighbor from a user whose distance from a particular user on the trust network exceeds a predetermined distance. In this case, the predetermined distance may be a two-level neighbor user trusted by a user trusted by a specific user, or a three-level neighbor user trusted by a user trusted by a specific user. As the distance from a specific user increases, the preference between a specific user and a neighbor may be different. Therefore, the accuracy problem can be solved by weighting the distance.

평점 결측치 대치 장치(600)의 평점 획득부(620)는 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자들의 평점을 획득할 수 있다. 일 실시예에 따르면, 특정 사용자가 평가하지 않은 아이템의 평점으로 대치하기 위해 이웃 사용자 결정부(610)에서 결정된 이웃 사용자들의 평점을 획득할 수 있다.The rating acquiring unit 620 of the rating missing value substitution apparatus 600 may acquire the ratings of the neighboring users for an item having no rating of a specific user. According to an exemplary embodiment, a rating of a neighboring user determined in the neighboring user determination unit 610 may be acquired to replace a rating of an item that the particular user has not evaluated.

평점 결측치 대치 장치(600)의 평점 대치부(630)는 특정 사용자의 평점이 없는 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 특정 사용자의 평점이 없는 아이템에 대한 특정 사용자의 평점을 대치(impute)할 수 있다. 일 실시예에 따르면, 평점 획득부(620)에서 획득된 이웃 사용자들의 평점에 거리에 따른 가중치를 곱한 뒤 계산된 값을 특정 사용자의 평점으로 대치할 수 있다. 예를 들어, 특정 사용자가 신뢰하는 이웃 사용자가 평가한 평점은 가중치를 높게 주고, 특정 사용자를 신뢰하는 이웃 사용자가 평가한 평점은 그 다음으로 높게 주며, 특정 사용자가 신뢰하는 사용자가 신뢰하는 이웃 사용자가 평가한 평점에는 가중치를 낮게 주는 방법이 있을 수 있다. 이렇게 특정 사용자가 평가하지 않은 아이템의 평점을 이웃 사용자의 평점으로부터 계산된 값으로 대치하는 것은 특정 사용자는 아직 아이템에 대해 평점을 매기지 않았지만 특정 사용자가 신뢰하는 이웃 사용자 또는 특정 사용자를 신뢰하는 이웃 사용자는 특정 사용자와 유사한 취향을 가지고 있을 것이고, 이러한 이웃 사용자가 매긴 평점을 특정 사용자의 평점으로 보는 것이 다른 일반적인 대치 방법에 비해 훨씬 더 정확할 수 있기 때문이다.The rating substitution unit 630 of the rating missing value substitution apparatus 600 substitutes the rating of a specific user for an item having no rating of a specific user as a value calculated from a rating of a neighboring user for an item having no rating of a particular user )can do. According to an exemplary embodiment, the score of the neighboring users obtained in the score acquiring unit 620 may be multiplied by a weight according to distance, and the calculated value may be replaced with a rating of a specific user. For example, a rating of a neighboring user that a particular user trusts may be weighted higher, a rating of a neighboring user who trusts a particular user may be higher next, and a neighboring user There may be a way to give a lower weight to the rating you have rated. Replacing the rating of an item that is not evaluated by a particular user with a value calculated from the rating of a neighboring user means that a particular user has not yet rated the item but neighbors that a particular user trusts or a neighbor who trusts a particular user Is likely to have similar tastes to a particular user and it may be much more accurate to view the ratings of these neighbors as a particular user's rating than other common substitution methods.

일 실시예에 따르면, 평점 대치부(630)는, 아이템에 대한 이웃 사용자의 평점이 미리 결정된 개수 이상인 경우, 상기 아이템에 대한 이웃 사용자의 평점으로부터 계산된 값으로 상기 아이템에 대한 상기 특정 사용자의 평점을 대치하고 상기 아이템에 대한 상기 이웃 사용자의 평점이 미리 결정된 개수 미만인 경우, 상기 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 아이템에 대한 상기 특정 사용자의 평점을 대치할 수 있다. 특정 사용자가 평가하지 않은 특정 아이템에 대해 평가를 한 이웃 사용자의 수가 적을 경우에는 특정 사용자와 이웃 사용자의 취향이 유사하다고 할 지라도 데이터의 부족으로 인해 대치할 평점이 부정확해질 수 있기 때문이다.According to one embodiment, the rating substitution unit 630 may be configured to replace the rating of the particular user for the item with a value calculated from the rating of the neighboring user for the item if the rating of the neighboring user for the item is greater than or equal to the predetermined number And substitute the rating of the particular user for the item with a value calculated from the rating of the neighboring user for the item if the rating of the neighboring user for the item is less than a predetermined number. If the number of neighbors who have evaluated a specific item that a particular user has not evaluated is small, the rating may be inaccurate due to the lack of data, even if the taste of the particular user is similar to that of the neighboring user.

일 실시예에 따르면, 평점 대치부(630)는 특정 사용자의 평점이 없는 M개의 아이템 중 이웃 사용자의 평점의 개수가 많은 순으로 N개의 아이템을 결정하는 단계 및 상기 N개의 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 특정 사용자의 N개의 아이템에 대한 상기 특정 사용자의 평점을 대치(impute)할 수 있다. 이 때, M 및 N은 0보다 큰 정수이고, N은 M보다 작다. 즉, 협업 필터링을 적용하기 위해서 데이터의 양이 필요한 만큼 N개의 데이터를 대치할 수 있다. 특정 사용자가 평가하지 않은 특정 아이템에 대해 평가를 한 이웃 사용자의 수가 적을 경우에는 데이터 대치 방법 보다는 협업 필터링을 통해 특정 사용자의 평점을 예측하는 것이 더 정확하기 때문이다. 따라서 협업 필터링을 적용하기에 적합한 숫자 이상의 데이터 양을 데이터 대치 방법을 통해 맞춰 놓을 수 있다.According to one embodiment, the rating substitution unit 630 may include the steps of determining N items in descending order of the number of ratings of neighboring users among M items having no rating of a particular user, The rating of the specific user for the N items of the particular user may be imputed to the value calculated from the rating of the particular user. At this time, M and N are integers larger than 0, and N is smaller than M. That is, in order to apply collaborative filtering, it is possible to replace N data as much as necessary. This is because it is more accurate to predict the rating of a specific user through collaborative filtering rather than a data substitution method when the number of neighbors who have evaluated a specific item not evaluated by a particular user is small. Therefore, the amount of data that is more than adequate to apply collaborative filtering can be tailored through the data replacement method.

일 실시예에 따르면, 평점 대치부(630)는 수학식 2에 의하여 특정 사용자의 평점을 계산하여 대치할 수 있다.According to one embodiment, the rating substitution unit 630 may calculate and substitute the rating of a particular user according to Equation (2).

Figure 112013081667646-pat00022
Figure 112013081667646-pat00022

여기서

Figure 112013081667646-pat00023
는 특정 사용자 u의 특정 아이템 i에 대해 대치된 평점이고,
Figure 112013081667646-pat00024
는 특정 사용자 u가 남긴 아이템 i에 부여한 평점이고,
Figure 112013081667646-pat00025
는 특정 사용자 u가 남긴 평점의 평균이고,
Figure 112013081667646-pat00026
는 이웃 사용자 v가 남긴 평점의 평균이고,
Figure 112013081667646-pat00027
는 특정 사용자 u의 아이템들 중 평점을 대치할 후보 아이템의 집합이고,
Figure 112013081667646-pat00028
는 신뢰 네트워크를 통해 찾은 특정 사용자 u와 유사한 이웃 사용자들의 집합이고,
Figure 112013081667646-pat00029
는 특정 사용자 u와 이웃 사용자 v간의 거리에 따른 신뢰 값이다. 상기 수학식 1을 통해 최적화 된 대치될 평점을 구할 수 있다.here
Figure 112013081667646-pat00023
Is a replaced rating for a particular item i of a particular user u,
Figure 112013081667646-pat00024
Is a rating given to item i left by a specific user u,
Figure 112013081667646-pat00025
Is the average of the ratings left by a particular user u,
Figure 112013081667646-pat00026
Is the average of the scores left by the neighboring user v,
Figure 112013081667646-pat00027
Is a set of candidate items to replace rating points among the items of the specific user u,
Figure 112013081667646-pat00028
Is a set of neighbors similar to a particular user u found through the trust network,
Figure 112013081667646-pat00029
Is a confidence value according to the distance between a specific user u and a neighboring user v. It is possible to obtain an optimized substitute score through the equation (1).

평점 결측치 대치 장치(600)는 평점이 대치된 평점 행렬에 협업 필터링을 적용할 수 있다. 일 실시예에 따르면, 협업 필터링은 사용자 기반 추천 방법(user-based recommendation method), 아이템 기반 추천 방법(item-based recommendation method), PMF(Probabilistic Matrix Factorization) 중 적어도 하나일 수 있다. 이 때, 협업 필터링이란 고객들의 선호도와 관심 표현을 바탕으로 선호도, 관심에서 비슷한 패턴을 가진 고객들을 식별해 내는 기법으로 비슷한 취향을 가진 고객들에게 서로 아직 구매하지 않은 상품들은 교차 추천하거나 분류된 고객의 취향이나 생활 형태에 따라 관련 상품을 추천하는 형태의 서비스를 제공하기 위해 사용된다. 본 발명의 일 실시예에 따르면, 평점 대치부(630)에서 대치된 평점을 협업 필터링에 적용하여, 특정 사용자 및 그 외의 사용자들이 남긴 평점을 이용하여 추천 방법에 있어서 정확도를 높일 수 있다.The rating missing value substitution device 600 may apply the collaborative filtering to the rating matrix with the rating replaced. According to one embodiment, the collaborative filtering may be at least one of a user-based recommendation method, an item-based recommendation method, and a probabilistic matrix factorization (PMF). Collaborative filtering is a technique that identifies customers with similar patterns of preference and interest based on customer preferences and interest expressions. For customers with similar tastes, products that have not yet purchased each other are cross- It is used to provide services in the form of recommending related products according to taste and lifestyle. According to an exemplary embodiment of the present invention, a rating point replaced in the rating substitution unit 630 may be applied to collaborative filtering to increase the accuracy of the recommendation method by using a rating score of a specific user and other users.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

600: 평점 결측치 대치 장치
610: 이웃 결정부
620: 평점 획득부
630: 평점 대치부
600: Rating missing value replacement device
610: Neighbor decision unit
620:
630: Rating substitution part

Claims (10)

평점 결측치(rate missing values)를 대치(impute)하는 방법에 있어서,
신뢰 네트워크 상에서 특정 사용자와 에지(edge)의 정방향을 통해 도달할 수 있는 사용자 및 에지(edge)의 역방향을 통해 도달할 수 있는 사용자를 이웃 사용자로 결정하는 단계;
상기 특정 사용자의 평점 행렬 중 상기 특정 사용자의 평점이 없는 아이템에 대한 상기 이웃 사용자의 평점을 획득하는 단계;
상기 특정 사용자의 평점이 없는 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 특정 사용자의 평점이 없는 아이템에 대한 상기 특정 사용자의 평점을 대치(impute)하는 단계; 및
상기 평점이 대치된 평점 행렬에 협업 필터링을 적용하는 단계
를 포함하고,
상기 특정 사용자의 평점이 없는 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 특정 사용자의 평점이 없는 아이템에 대한 상기 특정 사용자의 평점을 대치(impute)하는 단계는,
상기 특정 사용자의 평점이 없는 M개의 아이템 중 상기 이웃 사용자의 평점의 개수가 많은 순으로 N개의 아이템을 결정하는 단계; 및
상기 N개의 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 특정 사용자의 N개의 아이템에 대한 상기 특정 사용자의 평점을 대치(impute)하는 단계
를 포함하고,
M 및 N은 0보다 큰 정수이고, N은 M보다 작은
평점 결측치 대치 방법.
In a method for impute rate missing values,
Determining, as a neighboring user, a user that can be reached through a forward direction of a particular user and an edge on a trust network, and a user that can be reached through a reverse direction of an edge;
Obtaining a rating of the neighboring user for an item having no rating of the particular user among the rating matrices of the specific user;
Impute the rating of the particular user for an item having no rating of the particular user with a value calculated from a rating of the neighboring user for the item with no rating of the particular user; And
Applying collaborative filtering to the rating matrix with the rating replaced;
Lt; / RTI >
The step of imputing the rating of the particular user for the item with no rating of the particular user to a value calculated from the rating of the neighboring user for the item with no rating of the particular user,
Determining N items in descending order of the number of ratings of the neighboring users among M items having no rating of the specific user; And
Impute the rating of the particular user for the N items of the particular user to a value calculated from the rating of the neighboring user for the N items
Lt; / RTI >
M and N are integers greater than 0, N is less than M
Method of replacing point missing values.
제1항에 있어서,
상기 이웃 사용자로 결정하는 단계는,
상기 신뢰 네트워크 상에서 상기 특정 사용자로부터의 거리가 미리 결정된 거리를 초과하는 사용자를 상기 이웃 사용자로부터 배제하는 단계
를 포함하는 평점 결측치 대치 방법.
The method according to claim 1,
Wherein the determining of the neighboring user comprises:
Excluding from the neighboring user a user whose distance from the particular user on the trust network exceeds a predetermined distance
Wherein the method further comprises:
제1항에 있어서,
상기 특정 사용자의 평점이 없는 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 특정 사용자의 평점이 없는 아이템에 대한 상기 특정 사용자의 평점을 대치하는 단계는,
상기 아이템에 대한 상기 이웃 사용자의 평점이 미리 결정된 개수 이상인 경우, 상기 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 아이템에 대한 상기 특정 사용자의 평점을 대치하는 단계; 및
상기 아이템에 대한 상기 이웃 사용자의 평점이 미리 결정된 개수 미만인 경우, 상기 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 아이템에 대한 상기 특정 사용자의 평점을 대치하지 않는 단계
를 포함하는 평점 결측치 대치 방법.
The method according to claim 1,
And replacing the rating of the particular user with respect to the item with no rating of the particular user with a value calculated from the rating of the neighboring user for the item with no rating of the particular user,
Replacing the rating of the particular user for the item with a value calculated from a rating of the neighboring user for the item if the rating of the neighboring user for the item is greater than or equal to a predetermined number; And
Not replacing the rating of the particular user for the item with a value calculated from the rating of the neighboring user for the item if the rating of the neighboring user for the item is less than a predetermined number
Wherein the method further comprises:
제1항에 있어서,
상기 특정 사용자의 평점이 없는 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 특정 사용자의 평점이 없는 아이템에 대한 상기 특정 사용자의 평점을 대치하는 단계는,
상기 특정 사용자로부터 상기 이웃 사용자 사이의 거리에 따라 상기 이웃 사용자의 상기 평점에 가중치를 부여하는 단계
를 포함하는 평점 결측치 대치 방법.
The method according to claim 1,
And replacing the rating of the particular user with respect to the item with no rating of the particular user with a value calculated from the rating of the neighboring user for the item with no rating of the particular user,
Weighting the rating of the neighboring user according to the distance between the specific user and the neighboring user
Wherein the method further comprises:
삭제delete 삭제delete 제1항에 있어서,
상기 특정 사용자의 평점이 없는 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 특정 사용자의 평점이 없는 아이템에 대한 상기 특정 사용자의 평점을 대치(impute)하는 단계는,
하기 수학식
Figure 112013081667646-pat00030

에 의하여 상기 특정 사용자의 평점을 계산하는 단계
를 포함하고,
Figure 112013081667646-pat00031
는 특정 사용자 u의 아이템 i에 대한 대치된 평점이고,
Figure 112013081667646-pat00032
는 특정 사용자 u가 남긴 아이템 i에 부여한 평점이고,
Figure 112013081667646-pat00033
는 특정 사용자 u가 남긴 평점의 평균이고,
Figure 112013081667646-pat00034
는 특정 사용자 u의 아이템들 중 평점을 대치할 후보 아이템의 집합이고,
Figure 112013081667646-pat00035
는 신뢰 네트워크를 통해 찾은 특정 사용자 u와 유사한 이웃 사용자들의 집합이고,
Figure 112013081667646-pat00036
는 특정 사용자 u와 이웃 사용자 v의 신뢰 값인
평점 결측치 대치 방법.
The method according to claim 1,
The step of imputing the rating of the particular user for the item with no rating of the particular user to a value calculated from the rating of the neighboring user for the item with no rating of the particular user,
The following equation
Figure 112013081667646-pat00030

Calculating a rating of the particular user by the user
Lt; / RTI >
Figure 112013081667646-pat00031
Is a substituted rating for item i of a particular user u,
Figure 112013081667646-pat00032
Is a rating given to item i left by a specific user u,
Figure 112013081667646-pat00033
Is the average of the ratings left by a particular user u,
Figure 112013081667646-pat00034
Is a set of candidate items to replace rating points among the items of the specific user u,
Figure 112013081667646-pat00035
Is a set of neighbors similar to a particular user u found through the trust network,
Figure 112013081667646-pat00036
Is a trust value of a specific user u and a neighbor user v
Method of replacing point missing values.
평점 결측치(rate missing values) 대치(impute) 장치에 있어서,
신뢰 네트워크 상에서 특정 사용자와 에지(edge)의 정방향을 통해 도달할 수 있는 사용자 및 에지(edge)의 역방향을 통해 도달할 수 있는 사용자를 이웃 사용자로 결정하는 이웃 결정부;
상기 특정 사용자의 평점 행렬 중 상기 특정 사용자의 평점이 없는 아이템에 대한 상기 이웃 사용자의 평점을 획득하는 평점 획득부;
상기 특정 사용자의 평점이 없는 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 특정 사용자의 평점이 없는 아이템에 대한 상기 특정 사용자의 평점을 대치(impute)하는 평점 대치부
를 포함하고,
상기 평점 결측치 대치 장치는,
상기 평점이 대치된 평점 행렬에 협업 필터링을 적용하고,
상기 평점 대치부는,
상기 특정 사용자의 평점이 없는 M개의 아이템 중 상기 이웃 사용자의 평점의 개수가 많은 순으로 N개의 아이템을 결정하고,
상기 N개의 아이템에 대한 상기 이웃 사용자의 평점으로부터 계산된 값으로 상기 특정 사용자의 N개의 아이템에 대한 상기 특정 사용자의 평점을 대치(impute)하고, M 및 N은 0보다 큰 정수이고, N은 M보다 작은
평점 결측치 대치 장치.
An apparatus for rate missing values impute,
A neighbor determination unit that determines a user who can reach through a forward direction of an edge with a specific user on a trust network and a user who can reach through a reverse direction of an edge as a neighboring user;
A rating acquiring unit for acquiring a rating of the neighboring user for an item having no rating of the specific user among the rating matrices of the specific user;
A rating substitution unit that imputes the rating of the specific user with respect to an item having no rating of the specific user from a value calculated from a rating of the neighboring user for an item having no rating of the specific user,
Lt; / RTI >
The rated missing value substitution device comprises:
Applying collaborative filtering to the rating matrix with the rating replaced,
The rating substitution unit,
Determining N items in descending order of the number of ratings of the neighboring users among the M items having no rating of the specific user,
Wherein M and N are integers greater than 0 and N is an integer greater than or equal to M, lesser
Rating missing value replacement device.
제8항에 있어서,
상기 이웃 결정부는,
상기 신뢰 네트워크 상에서 상기 특정 사용자로부터 거리가 미리 결정된 거리를 초과하는 사용자를 상기 이웃 사용자로부터 배제하는,
평점 결측치 대치 장치.
9. The method of claim 8,
The neighborhood determining unit may determine,
And excluding from the neighboring user a user whose distance from the particular user on the trust network exceeds a predetermined distance,
Rating missing value replacement device.
제8항에 있어서,
상기 평점 대치부는,
하기 수학식
Figure 112013081667646-pat00037

에 의하여 상기 특정 사용자의 평점을 계산하고,
Figure 112013081667646-pat00038
는 특정 사용자 u의 아이템 i에 대한 대치된 평점이고,
Figure 112013081667646-pat00039
는 특정 사용자 u가 남긴 아이템 i에 부여한 평점이고,
Figure 112013081667646-pat00040
는 특정 사용자 u가 남긴 평점의 평균이고,
Figure 112013081667646-pat00041
는 특정 사용자 u의 아이템들 중 평점을 대치할 후보 아이템의 집합이고,
Figure 112013081667646-pat00042
는 신뢰 네트워크를 통해 찾은 특정 사용자 u와 유사한 이웃 사용자들의 집합이고,
Figure 112013081667646-pat00043
는 특정 사용자 u와 이웃 사용자 v의 신뢰 값인 평점 결측치 대치 장치.
9. The method of claim 8,
The rating substitution unit,
The following equation
Figure 112013081667646-pat00037

Calculates a rating of the specific user by the user,
Figure 112013081667646-pat00038
Is a substituted rating for item i of a particular user u,
Figure 112013081667646-pat00039
Is a rating given to item i left by a specific user u,
Figure 112013081667646-pat00040
Is the average of the ratings left by a particular user u,
Figure 112013081667646-pat00041
Is a set of candidate items to replace rating points among the items of the specific user u,
Figure 112013081667646-pat00042
Is a set of neighbors similar to a particular user u found through the trust network,
Figure 112013081667646-pat00043
Is a confidence value of a particular user u and a neighboring user v.
KR1020130107136A 2013-09-06 2013-09-06 Data Imputation Using a Trust Network for Recommendation via Matrix Factorization KR101572719B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130107136A KR101572719B1 (en) 2013-09-06 2013-09-06 Data Imputation Using a Trust Network for Recommendation via Matrix Factorization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130107136A KR101572719B1 (en) 2013-09-06 2013-09-06 Data Imputation Using a Trust Network for Recommendation via Matrix Factorization

Publications (2)

Publication Number Publication Date
KR20150028497A KR20150028497A (en) 2015-03-16
KR101572719B1 true KR101572719B1 (en) 2015-12-01

Family

ID=53023354

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130107136A KR101572719B1 (en) 2013-09-06 2013-09-06 Data Imputation Using a Trust Network for Recommendation via Matrix Factorization

Country Status (1)

Country Link
KR (1) KR101572719B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200030303A (en) * 2018-09-12 2020-03-20 삼성에스디에스 주식회사 Method and apparatus for compensating a missing value in data

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101924832B1 (en) * 2016-12-29 2018-12-05 서울대학교 산학협력단 Apparatus and method for classifying nodes
KR20180082037A (en) * 2017-01-09 2018-07-18 한양대학교 산학협력단 Method and apparatus for estimating ratings for items
KR102129583B1 (en) * 2018-02-12 2020-07-03 한양대학교 산학협력단 Method and apparatus for recommending items based on deep learning
KR102323424B1 (en) * 2018-05-31 2021-11-09 한국과학기술원 Rating Prediction Method for Recommendation Algorithm Based on Observed Ratings and Similarity Graphs
CN110955829B (en) * 2019-11-19 2023-05-23 江西财经大学 Point-of-interest recommendation method and system integrating trust and metric factor matrix decomposition

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101030653B1 (en) 2009-01-22 2011-04-20 성균관대학교산학협력단 User-based collaborative filtering recommender system amending similarity using information entropy

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101030653B1 (en) 2009-01-22 2011-04-20 성균관대학교산학협력단 User-based collaborative filtering recommender system amending similarity using information entropy

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200030303A (en) * 2018-09-12 2020-03-20 삼성에스디에스 주식회사 Method and apparatus for compensating a missing value in data
KR102461631B1 (en) 2018-09-12 2022-10-31 삼성에스디에스 주식회사 Method and apparatus for compensating a missing value in data

Also Published As

Publication number Publication date
KR20150028497A (en) 2015-03-16

Similar Documents

Publication Publication Date Title
KR101572719B1 (en) Data Imputation Using a Trust Network for Recommendation via Matrix Factorization
KR101030653B1 (en) User-based collaborative filtering recommender system amending similarity using information entropy
JP5143879B2 (en) Ranking-oriented collaborative filtering recommendation method and apparatus
KR101062927B1 (en) Method, system and computer-readable recording medium for recommending other users or objects by considering at least one user's preference
CN109471982B (en) Web service recommendation method based on QoS (quality of service) perception of user and service clustering
US20150248721A1 (en) Recommendation engine with profile analysis
JP2008134958A (en) Event type estimation system, event type estimation method, and event type estimation program
KR102005971B1 (en) Influence determination system and method thereof for social network user
KR101567684B1 (en) Method for selecting recommendation type in product recommeding system
KR101116026B1 (en) Collaborative filtering recommender system based on similarity measures using the origin moment of difference random variable
Zheng et al. Deviation-based contextual SLIM recommenders
Forsati et al. Web page personalization based on weighted association rules
KR101725510B1 (en) Method and apparatus for recommendation of social event based on users preference
KR102111843B1 (en) Alternating AutoencoderMethod and System for recommendation System
CN110347935A (en) Personalized film and television project recommended method and system based on user interest variation
Shi et al. Long-term effects of user preference-oriented recommendation method on the evolution of online system
KR101620659B1 (en) Method for selecting similar users for collaborative filtering based on earth movers distance
Kwon Improving top-n recommendation techniques using rating variance
KR102170535B1 (en) Apparatus and method for searching based on user preference using sentiment analysis
CN113051487B (en) Travel group recommendation method based on user trust and social influence
Bedi et al. Handling cold start problem in Recommender Systems by using Interaction Based Social Proximity factor
KR20160075103A (en) Method and Device for Predicting Preference of New Content
KR101323535B1 (en) Method for estimating trust level of e-commerce
Regi et al. A survey on recommendation techniques in E-Commerce
EP2312516A1 (en) Denoising explicit feedback for recommender systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee