KR20170097535A - Item recommendation method and apparatus thereof utilizing uninteresting item and apparatus - Google Patents
Item recommendation method and apparatus thereof utilizing uninteresting item and apparatus Download PDFInfo
- Publication number
- KR20170097535A KR20170097535A KR1020160084228A KR20160084228A KR20170097535A KR 20170097535 A KR20170097535 A KR 20170097535A KR 1020160084228 A KR1020160084228 A KR 1020160084228A KR 20160084228 A KR20160084228 A KR 20160084228A KR 20170097535 A KR20170097535 A KR 20170097535A
- Authority
- KR
- South Korea
- Prior art keywords
- item
- user
- items
- determining
- classified
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0254—Targeted advertisements based on statistics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
- G06Q30/0256—User search
Abstract
Description
본 발명은 사용자에게 아이템을 추천하는 아이템 추천 장치 및 아이템 추천 방법에 관한 것이다.The present invention relates to an item recommendation apparatus and an item recommendation method for recommending an item to a user.
아이템 추천 장치가 사용자가 선호할만한 아이템을 사용자에게 추천하기 위해서는, 사용자가 어떤 아이템을 선호하는지를 측정할 필요가 있다. (i) 사용자가 아이템에 대해 부여한 선호도를 수집하거나 또는 (ii) 사용자가 특정 아이템을 선택하였는지 여부를 수집함으로써, 아이템 추천 장치는 사용자가 어떤 아이템을 선호하는지를 측정할 수 있다.In order for the item recommending device to recommend the item that the user prefers to the user, it is necessary to measure which item the user prefers. The item recommendation device may measure which item the user prefers, by collecting (i) the user's preference for the item, or (ii) whether the user has selected a particular item.
(i) 사용자가 아이템에 대해 부여한 선호도를 수집하는 것의 예는 사용자가 아이템에 매긴 평점을 수집하는 것이다. 아이템 추천 장치는 수집된 평점의 높고 낮음을 통해 사용자가 특정 아이템을 선호하는지 또 선호하지 않는지를 알 수 있다. 더 나아가서, 아이템 추천 장치는 사용자가 평점을 매기지 않은 아이템이 있는 경우, 사용자가 그 아이템을 평가하지 않았다는 사실까지 알 수 있다.(i) An example of collecting the preferences the user has given for an item is to collect the user's rating for the item. The item recommendation device can know whether the user prefers or does not prefer a particular item through the high and low of the collected ratings. Furthermore, the item recommendation device may know that the user has not rated the item if the user does not rate the item.
(ii) 사용자가 특정 아이템을 선택하였는지 여부를 수집하는 것의 예는 사용자가 특정 아이템을 클릭하였는지 또는 특정 아이템을 북마크(bookmark)하였는지의 여부를 수집하는 것이다. 특정 아이템을 북마크하는 것은 단순히 북마크에 추가하는 것뿐만 아니라, 특정 아이템에 대한 좋아요(like) 버튼을 누르는 것 또는 특정 아이템을 구매 목록에 추가하는 것을 포함한다.(ii) An example of collecting whether a user has selected a particular item is to collect whether the user has clicked on a particular item or bookmarked a particular item. Bookmarking a particular item includes not only adding it to a bookmark, but also pressing a like button for a particular item or adding a particular item to a purchase list.
일반적으로, 사용자가 평점을 특정 아이템에 부여하는 경우보다는 사용자가 특정 아이템을 클릭하거나 또는 북마크하는 경우가 많기 때문에, 아이템 추천 장치는 사용자가 클릭하거나 또는 북마크한 아이템을 해석하여 사용자가 선호할만한 아이템을 계산할 필요가 있다.Generally, since the user often clicks or bookmarks a particular item rather than giving a rating to a particular item, the item recommendation device interprets the item that the user has clicked or bookmarked to determine the item that the user prefers It is necessary to calculate.
사용자가 클릭하거나 또는 북마크하여 선택한 아이템은 사용자가 관심을 가지는 아이템이라는 것이 분명하다. 하지만, 사용자가 선택하지 않은 아이템은 사용자가 선호하지 않는 아이템을 포함할 뿐만 아니라, 사용자가 평가하지 않은 아이템도 포함할 수 있다.It is obvious that the item selected by the user clicking or bookmarking is an item that the user is interested in. However, an item not selected by the user not only includes items that the user does not like, but may also include items that the user has not evaluated.
따라서, 아이템 추천 장치는 사용자가 선택하지 않은 아이템이 정말로 사용자가 선호하지 않아서 선택되지 않았는지 또는 사용자가 평가하지 않아서 선택되지 않았는지를 판단해야 한다. 아이템 추천 장치가 이를 명확하게 판단하지 못할 경우, 아이템에 대한 사용자의 선호도를 정확하게 예측할 수 없다. 아이템 추천 장치가 아이템에 대한 사용자의 선호도를 정확하게 예측하지 못할 경우, OCCF 문제(OCCF problem, One-Class Collaborative Filtering problem)가 발생될 수 있다.Accordingly, the item recommendation apparatus should determine whether an item that the user has not selected is indeed not selected because the user is not preferred or not selected because the user has not evaluated it. If the item recommendation device can not clearly determine this, the user's preference for the item can not be accurately predicted. OCCF problem (One-Class Collaborative Filtering problem) may occur when the item recommendation device can not accurately predict the user's preference for the item.
본 발명은 아이템에 대한 사용자의 선호도를 정확하게 예측함으로써, OCCF 문제를 해결하는 아이템 추천 장치 및 방법을 제안한다.The present invention proposes an item recommending apparatus and method for solving the OCCF problem by accurately predicting a user's preference for an item.
본 발명의 일실시예에 따르면, 사용자가 선호도를 표현한 평가 아이템 및 상기 사용자가 선호도를 표현하지 않은 비평가 아이템(unrated item)의 원-클래스 세팅(one-class setting)으로 분류된 아이템을 식별하는 단계, 상기 비평가 아이템의 비관심 점수(uninteresting score)를 결정하는 단계, 결정된 상기 비관심 점수에 기초하여, 상기 비평가 아이템 중에서 비관심 아이템(uninteresting item)을 결정함으로써, 상기 원-클래스 세팅으로 구분된 아이템을 상기 평가 아이템, 상기 비평가 아이템 및 상기 비관심 아이템의 바이너리-클래스 세팅(binary-class setting)으로 분류하는 단계 및 상기 바이너리-클래스 세팅으로 구분된 아이템에 기초하여, 상기 사용자에게 추천할 아이템을 결정하는 단계를 포함하는 아이템 추천 방법이 제공된다.According to an embodiment of the present invention, there is provided a method for identifying an item classified as a one-class setting of an evaluation item in which a user expresses a preference and an unrated item in which the user does not express a preference Determining an uninteresting score of the criterion item, determining an uninteresting item out of the criterion items based on the determined uninteresting score, Classifying the item into a binary-class setting of the evaluation item, the critic item and the un-interested item, and determining an item to be recommended to the user based on the item classified by the binary-class setting The item recommendation method is provided.
일실시예에 따르면, 상기 바이너리-클래스 세팅으로 분류하는 단계는, 복수의 비평가 아이템 중에서, 상기 비관심 점수가 낮은 일정 개수의 비평가 아이템을 상기 비관심 아이템으로 분류함으로써, 상기 원-클래스 세팅으로 구분된 아이템을 바이너리-클래스 세팅으로 분류하는 아이템 추천 방법이 제공된다.According to an embodiment, the step of classifying into a binary-class setting may include classifying a certain number of critic items with a low number of non-interest scores into the non-interest items among the plurality of critic items, Item recommendation method for classifying an item as a binary-class setting is provided.
일실시예에 따르면, 상기 바이너리-클래스 세팅으로 분류하는 단계는, 상기 비관심 아이템에 대응하는 원소 값을 포함하는 확장 매트릭스(augmented matrix)를 생성하는 아이템 추천 방법이 제공된다.According to an exemplary embodiment, the step of classifying into the binary-class setting may include an item recommendation method of generating an augmented matrix including an element value corresponding to the non-interest item.
일실시예에 따르면, 상기 사용자에게 추천할 아이템을 결정하는 단계는, 상기 확장 매트릭스로부터, 복수의 상기 사용자의 복수의 상기 아이템에 대한 선호도가 얼마나 유사한지를 나타내는 유사도를 계산하는 단계 및 상기 유사도에 기초하여, 상기 사용자에게 추천할 아이템을 결정하는 단계를 포함하고, 상기 유사도는, 복수의 상기 아이템들을 전부 평가 아이템으로 분류한 사용자 수, 복수의 상기 아이템들이 전부 비관심 아이템으로 분류된 사용자의 수 및 복수의 상기 아이템들이 전부 비평가 아이템으로 분류된 사용자의 수에 따라 결정되는 아이템 추천 방법이 제공된다.According to one embodiment, the step of determining an item to be recommended to the user comprises the steps of: calculating from the expansion matrix a degree of similarity indicating how similar the preferences for a plurality of items of the user are, And determining an item to be recommended to the user, the degree of similarity including a number of users who have classified a plurality of the items as the entire evaluation item, a number of users whose entirety of the plurality of items are classified as the non- An item recommendation method is provided in which a plurality of the items are all determined according to the number of users classified as criterion items.
일실시예에 따르면, 상기 사용자에게 추천할 아이템을 결정하는 단계는, 원소 값이 상기 원-클래스 세팅으로 분류된 아이템이 상기 원-클래스 세팅 중에서 어느 것으로 분류되었는지에 따라 결정되는 대상 매트릭스를 생성하는 단계, 상기 원-클래스 세팅으로 분류된 아이템에 대해 가중치를 할당함으로써, 상기 대상 매트릭스에 대응하는 가중치 매트릭스를 생성하는 단계, 상기 가중치 매트릭스를 이용하여 상기 대상 매트릭스에 대하여 매트릭스 분해를 수행하는 단계 및 상기 매트릭스 분해를 수행한 결과에 따라, 상기 사용자에게 추천할 아이템을 결정하는 단계를 포함하고, 상기 가중치는, 상기 원-클래스 세팅으로 분류된 아이템이 상기 바이너리-클래스 세팅 중에서 어느 것으로 분류되었는지에 따라 결정되는 아이템 추천 방법이 제공된다.According to one embodiment, the step of determining an item to be recommended to the user may include generating an object matrix whose element value is determined according to which of the one-class setting items classified into the one- Generating a weight matrix corresponding to the object matrix by assigning a weight to an item classified as the one-class setting; performing matrix decomposition on the object matrix using the weight matrix; Determining an item to be recommended to the user according to a result of performing matrix decomposition, wherein the weight is determined based on which of the binary-class setting items classified into the one-class setting is classified The item recommendation method is provided.
일실시예에 따르면, 상기 가중치 매트릭스를 생성하는 단계는, 상기 사용자가 상기 비평가 아이템을 선호하지 않을 확률을 이용하여 상기 가중치를 결정하는 아이템 추천 방법이 제공된다.According to one embodiment, the step of generating the weight matrix is provided with an item recommendation method for determining the weight using a probability that the user does not prefer the criterion item.
일실시예에 따르면, 상기 사용자에게 추천할 아이템을 결정하는 단계는, 상기 사용자 및 상기 평가 아이템을 연결하여 포지티브 그래프(positive graph)를 생성하는 단계, 상기 사용자 및 상기 비관심 아이템을 연결하여 네거티브 그래프(negative graph)를 생성하는 단계, 상기 포지티브 그래프 및 상기 네거티브 그래프를 이용하여 상기 사용자에 대한 상기 아이템의 관련성 점수를 결정하는 단계 및 상기 관련성 점수에 따라 상기 사용자에게 추천할 아이템을 결정하는 단계를 포함하는 아이템 추천 방법이 제공된다.According to one embodiment, the step of determining an item to be recommended to the user includes: generating a positive graph by linking the user and the evaluation item; linking the user and the un- determining a relevance score of the item to the user using the positive graph and the negative graph, and determining an item to recommend to the user according to the relevance score The item recommendation method is provided.
일실시예에 따르면, 상기 사용자에게 추천할 아이템을 결정하는 단계는, 상기 평가 아이템에 대한 선호 포텐셜(like-potential)을 결정하는 단계, 상기 비관심 아이템에 대한 비선호 포텐셜(dislike-potential)을 결정하는 단계, 신뢰도 확산(BP, Belief propagation)을 이용하여, 결정된 상기 선호 포텐셜 및 상기 비선호 포텐셜로부터 상기 사용자의 아이템의 선호도에 대한 확률을 결정하는 단계 및 결정된 상기 선호도에 대한 확률에 따라, 상기 사용자에게 추천할 아이템을 결정하는 단계를 포함하는 아이템 추천 방법이 제공된다.According to one embodiment, the step of determining an item to be recommended to the user comprises the steps of: determining a like-potential for the evaluation item; determining a dislike-potential for the un-interested item; , Determining a probability of the user's preference of the item from the determined preference potential and the non-preferential potential using BP (Belief propagation), and determining a probability of the preference of the user based on the determined probability of preference An item recommendation method is provided that includes a step of determining an item to be recommended.
본 발명의 일실시예에 따르면, 아이템에 대한 사용자의 선호도를 정확하게 예측함으로써, OCCF 문제를 해결할 수 있다.According to an embodiment of the present invention, an OCCF problem can be solved by accurately predicting a user's preference for an item.
도 1은 본 발명의 일실시예에 따른 아이템 추천 장치가 사용자에게 아이템을 추천하는 동작을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 아이템 추천 장치가 사용자에게 아이템을 추천하는 동작을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일실시예에 따른 아이템 추천 장치가 원-클래스 세팅으로 분류된 아이템을 바이너리-클래스 세팅으로 분류하는 동작을 설명하기 위한 예시적인 도면이다.
도 4는 본 발명의 일실시예에 따른 아이템 추천 장치가 아이템을 바이너리-클래스 세팅으로 분류하여 확장 매트릭스(augmented matrix)를 생성하는 동작을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일실시예에 따른 아이템 추천 장치가 비평가 아이템의 비관심 점수를 결정하여, 아이템을 바이너리-클래스 세팅으로 분류하는 동작을 설명하기 위한 예시적인 도면이다.
도 6은 일실시예에 따른 아이템 추천 장치가 협업 필터링(CF, Collaborative Filtering) 방법을 이용하여 사용자에게 추천할 아이템을 결정하는 동작을 설명하기 위한 흐름도이다.
도 7은 일실시예에 따른 아이템 추천 장치가 원-클래스 협업 필터링(OCCF, One-Class Collaborative Filtering) 방법을 이용하여 사용자에게 추천할 아이템을 결정하는 동작을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일실시예에 따른 아이템 추천 장치가 RWR(Random Walk with Restart) 방법을 이용하여 사용자에게 추천할 아이템을 결정하는 동작을 설명하기 위한 흐름도이다.
도 9는 본 발명의 일실시예에 따른 아이템 추천 장치가 신뢰도 확산(BP, Belief Propagation) 방법을 이용하여 사용자에게 추천할 아이템을 결정하는 동작을 설명하기 위한 흐름도이다.1 is a diagram for explaining an operation of recommending an item to a user by an item recommendation apparatus according to an embodiment of the present invention.
2 is a flowchart illustrating an operation of recommending an item to a user by an item recommendation apparatus according to an exemplary embodiment of the present invention.
3 is an exemplary diagram illustrating an operation of an item recommendation apparatus according to an embodiment of the present invention to classify an item classified as a one-class setting into a binary-class setting.
4 is a flowchart illustrating an operation of an item recommendation apparatus according to an exemplary embodiment of the present invention to classify an item into binary-class settings to generate an augmented matrix.
FIG. 5 is an exemplary diagram illustrating an operation for an item recommendation apparatus according to an embodiment of the present invention to determine an unattractive score of a criterion item and classify the item into a binary-class setting.
FIG. 6 is a flowchart illustrating an operation of an item recommendation apparatus according to an embodiment of the present invention to determine items to be recommended to a user using a collaborative filtering (CF) method.
FIG. 7 is a flowchart illustrating an operation of an item recommending apparatus according to an exemplary embodiment of the present invention to determine an item to be recommended to a user using a One-Class Collaborative Filtering (OCCF) method.
FIG. 8 is a flowchart illustrating an operation of an item recommendation apparatus according to an exemplary embodiment of the present invention to determine items to be recommended to a user using a random walk with restart (RWR) method.
9 is a flowchart illustrating an operation of an item recommendation apparatus according to an exemplary embodiment of the present invention to determine an item to be recommended to a user using a belief propagation (BP) method.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are presented for the purpose of describing embodiments only in accordance with the concepts of the present invention, May be embodied in various forms and are not limited to the embodiments described herein.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. However, it is not intended to limit the embodiments according to the concepts of the present invention to the specific disclosure forms, but includes changes, equivalents, or alternatives falling within the spirit and scope of the present invention.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Expressions that describe the relationship between components, for example, "between" and "immediately" or "directly adjacent to" should be interpreted as well.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms " comprises ", or " having ", and the like, are used to specify one or more of the features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.
도 1은 본 발명의 일실시예에 따른 아이템 추천 장치(120)가 사용자(110)에게 아이템을 추천하는 동작을 설명하기 위한 도면이다.1 is a diagram for explaining an operation of an
도 1을 참고하면, 사용자(110)는 아이템 리스트(130)를 제공받을 수 있다. 사용자(110)는 아이템 리스트(130)에 포함된 하나 이상의 아이템에 대한 선호도를 표현할 수 있다. 예를 들어, 사용자(110)는 하나 이상의 아이템에 평점을 부여하거나, 아이템을 클릭하거나, 또는 아이템을 북마크함으로써, 아이템에 대한 선호도를 표현할 수 있다. 도 1을 참고하면, 사용자(110)는 아이템 리스트(130)에 포함된 A 아이템 내지 G 아이템 중에서, A 아이템, C 아이템 및 D 아이템에 대한 선호도를 표현할 수 있다.Referring to FIG. 1, the
평가 아이템은 사용자(110)가 선호도를 표현한 아이템을 의미한다. 도 1을 참고하면, A 아이템, C 아이템 및 D 아이템은 평가 아이템이다. 비평가 아이템(unrated item)은 사용자(110)가 선호도를 표현하지 않은 아이템을 의미한다. 도 1을 참고하면, 평가 아이템을 제외한 나머지 아이템 - B 아이템, E 아이템 내지 G 아이템 - 이 비평가 아이템이다. 사용자(110)가 아이템 리스트(130)의 아이템 중 일부에 선호도를 표현함으로써, 아이템 리스트(130)의 아이템들은 평가 아이템 또는 비평가 아이템으로 분류될 수 있다.The evaluation item means an item in which the
도 1을 참고하면, 일실시예에 따른 아이템 추천 장치(120)가 제공될 수 있다. 아이템 추천 장치(120)는 사용자(110)로부터 수신한 아이템 리스트(130)로부터, 평가 아이템 및 비평가 아이템을 식별할 수 있다. 아이템 추천 장치(120)는 평점이 부여된 아이템을 평가 아이템으로, 평점이 부여되지 않은 아이템을 비평가 아이템으로 식별할 수 있다. 아이템 추천 장치(120)는 사용자가 클릭하거나 또는 북마크한 아이템을 평가 아이템으로, 사용자가 클릭 및 북마크하지 않은 아이템을 비평가 아이템으로 식별할 수 있다.Referring to FIG. 1, an
아이템 추천 장치(120)는 식별한 결과에 따라, 아이템 리스트(130)에 포함된 아이템을 평가 아이템 및 비평가 아이템의 원-클래스 세팅(one-class setting)으로 분류할 수 있다. 보다 구체적으로, 아이템 추천 장치(120)는 아이템 리스트(130)에 포함된 특정 아이템이 평가 아이템 및 비평가 아이템 중 어느 것에 대응하는지에 따라 특정 아이템에 값을 할당함으로써, 아이템을 원-클래스 세팅으로 분류할 수 있다. 예를 들어, 아이템 추천 장치(120)는 평가 아이템에 ‘1’을, 비평가 아이템에 ‘unknown’을 할당할 수 있다.The
이하에서는, 도 1을 참고하여, 사용자(110)가 아이템 리스트(130)에 포함된 아이템 들 중에서 A 아이템, C 아이템 및 D 아이템에 선호도를 표현한 것으로 가정한다. 특히, 사용자(110)는 A 아이템, C 아이템 및 D 아이템을 클릭 또는 북마크함으로써 선호도를 표현한 것으로 가정한다. 사용자가 A 아이템, C 아이템 및 D 아이템에 선호도를 표현하였으므로, 아이템 추천 장치(120)는 사용자가 A 아이템, C 아이템 및 D 아이템에 대한 관심이 있음을 탐지할 수 있다. 다시 말하면, 아이템 추천 장치(120)는 사용자가 평가 아이템에 대한 관심이 있음을 탐지할 수 있다.Hereinafter, with reference to FIG. 1, it is assumed that the
대조적으로, 사용자(110)가 클릭 또는 북마크하지 않은 비평가 아이템은, 사용자(110)가 선호하지 않아서 선호도를 표현하지 않아서 비평가 아이템이 되었거나 또는 사용자(110)가 관심이 없어서 선호도를 표현하지 않아서 비평가 아이템이 될 수 있다. 도 1을 참고하면, 비평가 아이템은 B 아이템, E 아이템 내지 G 아이템으로, 사용자(110)는 B 아이템을 선호하지 않아서 클릭 또는 북마크하지 않을 수 있다. 하지만, 사용자(110)는 E 아이템 내지 G 아이템에 대한 관심이 없어서, 이 아이템들을 클릭 또는 북마크하지 않을 수 있다.In contrast, a criterion item that the
일실시예에 따른 아이템 추천 장치(120)는 원-클래스 세팅에 네거티브 클래스(negative class)인 비관심 아이템(uninteresting item)을 추가한 바이너리-클래스 세팅(binary-class setting)을 이용하여 아이템을 분류할 수 있다. 아이템 추천 장치(120)는 비평가 아이템 중에서 사용자(110)가 선호하지 않아서 선호도를 표현하지 않은 비평가 아이템을 추정하고, 추정된 비평가 아이템을 비관심 아이템으로 분류할 수 있다. 예를 들어, 아이템 추천 장치(120)는 사용자(110)가 B 아이템을 선호하지 않아서 선호도를 표현하지 않은 것으로 결정한 다음, B 아이템을 비관심 아이템으로 분류할 수 있다. 이로써, 비평가 아이템 중 일부를 네거티브 클래스로 분류할 수 있다. 아이템 추천 장치(120)는 바이너리-클래스 세팅을 사용자에게 추천할 아이템을 결정하는데 활용함으로써, OCCF 문제를 해결할 수 있다.The
아이템 추천 장치(120)는 바이너리-클래스 세팅으로 구분된 아이템에 기초하여, 사용자(110)에게 추천할 아이템을 결정할 수 있다. 아이템 추천 장치(120)는 B 아이템이 비관심 아이템으로 분류되었으므로, B 아이템 및 B 아이템과 유사한 아이템을 사용자(110)에게 추천하지 않을 수 있다. 아이템 추천 장치(120)는 다른 사용자가 아이템을 평가한 결과를 이용하여, B 아이템과 유사한 아이템을 식별할 수 있다. E 아이템 내지 G 아이템은 비평가 아이템으로써 네거티브 클래스, 즉, 비관심 아이템으로 분류되지 않았으므로, 아이템 추천 장치(120)는 E 아이템 내지 G 아이템 중 적어도 하나를 사용자(110)에게 추천할 수 있다.The
도 1을 참고하면, 아이템 추천 장치(120)는 사용자(110)에게 추천하기로 결정된 아이템을 추천 아이템 리스트(140)의 형태로 사용자(110)에게 제공할 수 있다. 아이템 리스트(130)에 포함되지 않은 아이템이 추천 아이템 리스트(140)에 포함될 수 있다. 도 1을 참고하면, H 아이템 및 M 아이템은 아이템 리스트(130)에 포함되지 않았음에도 불구하고, 추천 아이템 리스트(140)에 포함될 수 있다.Referring to FIG. 1, the
비평가 아이템이더라도 네거티브 클래스로 분류되지 않았다면, 추천 아이템 리스트(140)에 포함될 수 있다. 도 1을 참고하면, 아이템 추천 장치(120)는 비평가 아이템인 F 아이템을 추천 아이템 리스트(140)에 포함시킬 수 있다.If the criterion item is not classified as a negative class, it can be included in the
도 1에는 한 명의 사용자(110)에 대한 실시예만이 도시되었지만, 아이템 추천 장치(120)는 복수의 아이템 리스트(130)를 복수의 사용자로부터 수신할 수 있다. 아이템 추천 장치(120)는 수신한 복수의 아이템 리스트에 기초하여, 아이템에 대한 사용자의 선호도가 얼마나 유사한지를 판단할 수 있다. 예를 들어, 복수의 사용자가 A 아이템 및 F 아이템에 대한 선호도를 표현한 것으로 가정하자. 사용자(110)가 A 아이템을 선택하였으므로, 사용자(110)가 아이템 리스트(130)에서 F 아이템을 선택하지 않았더라도, 아이템 추천 장치(120)는 F 아이템을 추천 아이템 리스트(140)에 포함시킬 수 있다.Although only one embodiment of the
아이템 추천 장치(120)는 사용자(110)가 선호도를 표현하지 않은 비평가 아이템들 중에서 일부를 네거티브 클래스로 분류함으로써, 사용자(110)에게 제공된 아이템들을 평가 아이템, 비평가 아이템 및 비관심 아이템의 바이너리-클래스 세팅으로 분류할 수 있으며, 바이너리-클래스 세팅으로 구분된 아이템에 기초하여, 사용자에게 추천할 아이템을 결정할 수 있다. 이로써 아이템 추천 장치(120)는 사용자(110)에게 추천할 아이템을 보다 정확하게 결정할 수 있다.The
도 2는 본 발명의 일실시예에 따른 아이템 추천 장치가 사용자에게 아이템을 추천하는 동작을 설명하기 위한 흐름도이다. 일실시예에 따른 아이템 추천 방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체가 제공될 수 있다. 상기 프로그램은 아이템 추천 방법을 저장한 응용 프로그램, 디바이스 드라이버, 펌웨어, 미들웨어, 동적 링크 라이브러리(DLL) 및 애플릿 중 적어도 하나를 포함할 수 있다. 본 발명의 일실시예에 따르면, 아이템 추천 장치는 프로세서를 포함하고, 프로세서는 아이템 추천 방법이 기록된 기록 매체를 판독함으로써, 아이템 추천 방법을 수행할 수 있다.2 is a flowchart illustrating an operation of recommending an item to a user by an item recommendation apparatus according to an exemplary embodiment of the present invention. A computer-readable recording medium on which a program for executing an item recommendation method according to an embodiment is recorded may be provided. The program may include at least one of an application program, a device driver, a firmware, a middleware, a dynamic link library (DLL), and an applet storing an item recommendation method. According to an embodiment of the present invention, the item recommendation apparatus includes a processor, and the processor can perform the item recommendation method by reading the recording medium on which the item recommendation method is recorded.
도 2를 참고하면, 단계(210)에서, 일실시예에 따른 아이템 추천 장치는 사용자가 선호도를 표현한 평가 아이템 및 사용자가 선호도를 표현하지 않은 비평가 아이템을 식별할 수 있다. 도 1에서 설명한 바를 참고하면, 사용자는 수신한 아이템 리스트의 하나 이상의 아이템에 대한 선호도를 표현할 수 있다. 사용자는 특정 아이템을 선호하지 않거나 또는 관심이 없음을 이유로 특정 아이템을 선택하지 않을 수 있다. 아이템 추천 장치는 사용자가 선택한 결과를 수신할 수 있다.Referring to FIG. 2, in
도 3은 본 발명의 일실시예에 따른 아이템 추천 장치가 원-클래스 세팅으로 분류된 아이템을 바이너리-클래스 세팅으로 분류하는 동작을 설명하기 위한 예시적인 도면이다. 이하에서는 도 3의 예시를 참고하여 도 2의 아이템 추천 장치가 수행하는 동작을 구체적으로 설명한다.3 is an exemplary diagram illustrating an operation of an item recommendation apparatus according to an embodiment of the present invention to classify an item classified as a one-class setting into a binary-class setting. Hereinafter, the operation performed by the item recommendation apparatus of FIG. 2 will be described in detail with reference to the example of FIG.
도 3을 참고하면, 아이템 추천 장치는 사용자로부터 아이템 리스트(310)를 수신할 수 있다. 도 3을 참고하면, 사용자는 A 아이템, C 아이템 내지 D 아이템에 대한 선호도를 표현하였으며(평가 아이템), B 아이템, E 아이템 내지 G 아이템에 대해서는 선호도를 표현하지 않았다(비평가 아이템).Referring to FIG. 3, the item recommendation apparatus may receive an
아이템 추천 장치는 사용자가 선호도를 평가하였는지에 따라 아이템에 값을 할당함으로써, 아이템을 평가 아이템 및 비평가 아이템의 원-클래스 세팅으로 분류할 수 있다. 도 3을 참고하면, 아이템 추천 장치는 평가 아이템에 1을 할당하고, 비평가 아이템에 ‘unknown’을 할당하여 아이템 리스트(320)를 생성할 수 있다.The item recommendation device may classify an item into a one-class setting of an evaluation item and a criterion item by assigning a value to the item depending on whether the user has evaluated the preference. Referring to FIG. 3, the item recommendation apparatus may generate
다시 도 2를 참고하면, 단계(220)에서, 일실시예에 따른 아이템 추천 장치는 비평가 아이템의 비관심 점수(uninteresting score)를 결정할 수 있다. 즉, 아이템 추천 장치는 비평가 아이템들 중에서, 사용자가 관심이 없어서 선호도를 표현하지 않은 아이템 및 사용자가 선호하지 않아서 선호도를 표현하지 않은 아이템을 구분할 수 있다. 아이템 추천 장치가 비평가 아이템의 비관심 점수를 결정하는 동작은 이후 구체적으로 설명한다.Referring again to FIG. 2, in
도 2를 참고하면, 단계(230)에서, 일실시예에 따른 아이템 추천 장치는 결정된 비관심 점수에 기초하여, 비평가 아이템 중에서 비관심 아이템을 결정함으로써, 원-클래스 세팅으로 구분된 아이템을 평가 아이템, 비평가 아이템 및 비관심 아이템의 바이너리-클래스 세팅으로 분류할 수 있다. 아이템 추천 장치는 비평가 아이템 중에서, 비관심 점수가 낮은 일정 개수의 비평가 아이템을 비관심 아이템으로 분류할 수 있다. 아이템 추천 장치는 비관심 아이템으로 분류된 비평가 아이템의 값을 ‘unknown’이 아닌 다른 값으로 변경할 수 있다.Referring to FIG. 2, in
도 3을 참고하면, 아이템 추천 장치가 비평가 아이템 중에서 일부를 비관심 아이템으로 분류한 아이템 리스트(330)가 도시된다. 아이템 추천 장치는 비평가 아이템인 B 아이템, E 아이템 내지 G 아이템 중에서, B 아이템 및 G 아이템을 비관심 아이템으로 분류할 수 있다. 아이템 추천 장치는 B 아이템 및 G 아이템에 할당된 값을 ‘unknown’에서 0으로 재설정함으로써, B 아이템 및 G 아이템을 비관심 아이템으로 분류할 수 있다. 아이템 추천 장치는 비평가 아이템의 전부 또는 일부를 비관심 아이템으로 분류할 수 있다. 따라서, 비평가 아이템 중 일부의 값은 ‘unknown’으로 유지될 수 있다.Referring to FIG. 3, an
결론적으로, 아이템 추천 장치는 원-클래스 세팅으로 분류된 아이템 리스트(310) 내지 아이템 리스트(320)로부터 바이너리-클래스 세팅으로 분류된 아이템 리스트(330)를 생성할 수 있다. 다시 말하면, 아이템 추천 장치는 원-클래스 세팅(1, ‘unknown’)에 네거티브 클래스(0)를 추가하여 바이너리-클래스 세팅(1, 0, ‘unknown’)으로 변환할 수 있다. 아이템 추천 장치는 아이템을 바이너리-클래스 세팅으로 분류한 결과를 이용하여 확장 매트릭스(augmented matrix)를 생성할 수 있다.As a result, the item recommendation apparatus can generate an
다시 도 2를 참고하면, 단계(240)에서, 일실시예에 따른 아이템 추천 장치는 바이너리-클래스 세팅으로 구분된 아이템에 기초하여, 사용자에게 추천할 아이템을 결정할 수 있다. 앞서 설명한 바와 같이, 사용자에게 제공된 아이템에 할당된 값은 바이너리-클래스 세팅에 따라 1, 0 및 ‘unknown’ 중 어느 하나일 수 있다. 선호도가 원-클래스 세팅에서 바이너리-클래스 세팅으로 변환되었으므로, 아이템 추천 장치는 비평가 아이템 중에서 사용자가 선호하지 않아서 선호도를 표현하지 않은 것으로 추정되는 아이템을 구분할 수 있다. 즉, 아이템 추천 장치는 바이너리-클래스 세팅으로 분류된 결과를 사용자가 아이템에 평점을 매긴것으로 가정하고, 사용자가 아이템에 평점을 부여하였을 때 사용되는 아이템 추천 방법을 적용할 수 있다.Referring again to FIG. 2, in
도 4는 본 발명의 일실시예에 따른 아이템 추천 장치가 아이템을 바이너리-클래스 세팅으로 분류하여 확장 매트릭스(augmented matrix)를 생성하는 동작을 설명하기 위한 흐름도이다. 도 5는 본 발명의 일실시예에 따른 아이템 추천 장치가 비평가 아이템의 비관심 점수를 결정하여, 아이템을 바이너리-클래스 세팅으로 분류하는 동작을 설명하기 위한 예시적인 도면이다. 이하에서는 도 4 및 도 5를 참고하여 아이템 추천 장치가 아이템을 바이너리-클래스 세팅으로 분류하는 동작을 설명한다.4 is a flowchart illustrating an operation of an item recommendation apparatus according to an exemplary embodiment of the present invention to classify an item into binary-class settings to generate an augmented matrix. FIG. 5 is an exemplary diagram illustrating an operation for an item recommendation apparatus according to an embodiment of the present invention to determine an unattractive score of a criterion item and classify the item into a binary-class setting. Hereinafter, the operation of the item recommending apparatus classifying items into binary-class settings will be described with reference to FIGS. 4 and 5. FIG.
도 4를 참고하면, 단계(410)에서, 일실시예에 따른 아이템 추천 장치는 비선호 아이템의 비관심 점수(uninteresting score)를 결정할 수 있다. 아이템 추천 장치는 사용자들이 선호도를 표현한 평가 아이템간의 유사성에 기초하여, 사용자가 비평가 아이템을 선호하는 정도를 결정할 수 있다. 아이템 추천 장치는 사용자가 이전에 선호도를 표현한 평가 아이템들을 참고하여, 사용자가 비평가 아이템을 선호하는 정도를 결정할 수 있다. 아이템 추천 장치는 비평가 아이템을 선호하는 정도를 비관심 점수를 이용해 표시할 수 있다.Referring to FIG. 4, in
도 5를 참고하면, 아이템 추천 장치가 아이템 리스트(510)에 포함된 비평가 아이템의 비관심 점수를 결정하여 생성한 아이템 리스트(520)가 도시된다. 비관심 점수가 높을수록, 사용자가 비평가 아이템을 선호할 확률이 높음을 의미한다. 도 5를 참고하면, F 아이템 보다 E 아이템의 비관심 점수가 높으므로, 아이템 추천 장치는 사용자가 F 아이템 보다 E 아이템을 선호할 확률이 높은 것으로 결정하였음을 알 수 있다. 또한, G 아이템의 비관심 점수가 가장 낮으므로, 사용자가 G 아이템을 선호할 확률은 B 아이템, E 아이템 내지 F 아이템을 선호할 확률보다 낮음을 알 수 있다.Referring to FIG. 5, an
다시 도 4를 참고하면, 단계(420)에서, 일실시예에 따른 아이템 추천 장치는 비관심 점수를 이용하여, 원-클래스 세팅으로 구분된 아이템을 바이너리-클래스 세팅으로 분류할 수 있다. 아이템 추천 장치는 비관심 점수가 낮은 일정 개수의 비평가 아이템을 비관심 아이템으로 분류할 수 있다. 예를 들어, 아이템 추천 장치는 비관심 점수가 0.5 보다 낮은 비평가 아이템을 비관심 아이템으로 분류할 수 있다. 도 5를 참고하면, 아이템 추천 장치는 비평가 아이템 중에서 결정된 비관심 점수가 미리 설정된 비관심 점수보다 낮은 비평가 아이템을 비관심 아이템으로 분류하여 아이템 리스트(530)를 생성할 수 있다. 도 5를 참고하면, 비관심 점수가 0.5보다 낮은 비평가 아이템을 비관심 아이템으로 분류함으로써, B 아이템 및 G 아이템에 네거티브 클래스에 대응하는 값(0)이 부여된다. 아이템 추천 장치는 비관심 아이템으로 분류되지 않은 비평가 아이템의 값을 ‘unknown’으로 유지할 수 있다.Referring again to FIG. 4, in
일실시예에 따르면, 아이템 추천 장치는 비평가 아이템 중 미리 설정된 비율의 아이템을 비관심 아이템으로 분류할 수 있다. 이 경우, 아이템 추천 장치는 결정된 비관심 점수가 가장 낮은 아이템부터 순차적으로 비관심 아이템으로 분류할 수 있다. 도 5를 참고하면, 비평가 아이템중 50%의 아이템을 비관심 아이템으로 분류하는 경우, 4개의 비평가 아이템 중에서 2개의 아이템을 비관심 아이템으로 분류하여야 한다. 따라서, 아이템 추천 장치는 결정된 비관심 점수가 가장 낮은 G 아이템 및 그 다음으로 비관심 점수가 낮은 B 아이템을 비관심 아이템으로 분류할 수 있다.According to one embodiment, the item recommendation device may classify a predetermined percentage of items of the criticism item as un-interested items. In this case, the item recommendation apparatus can classify the item having the lowest unconverted score as an uninterest item sequentially. Referring to FIG. 5, when 50% of the critic items are classified as uninterest items, two of the four critic items should be classified as uninterest items. Therefore, the item recommendation apparatus can classify the G item having the lowest unconverted score and the B item having the next lowest unconverted score as the uninterested item.
다시 도 4를 참고하면, 단계(430)에서, 일실시예에 따른 아이템 추천 장치는 비관심 아이템에 대응하는 원소 값을 포함하는 확장 매트릭스(augmented matrix)를 생성할 수 있다. 확장 매트릭스는 원소로써, 아이템을 바이너리-클래스 세팅으로 분류한 결과를 포함할 수 있다. 확장 매트릭스는 사용자에게 제공된 아이템 전체에 대한 원소값을, 바이너리-클래스 세팅에 따라 평가 아이템(1), 비관심 아이템(0) 및 비평가 아이템(unknown)으로 구분하여 포함할 수 있다. 아이템 추천 장치가 사용자에게 추천할 아이템을 결정할 때에, 생성된 확장 매트릭스가 이용될 수 있다.Referring again to FIG. 4, in
도 6은 일실시예에 따른 아이템 추천 장치가 협업 필터링(CF, Collaborative Filtering) 방법을 이용하여 사용자에게 추천할 아이템을 결정하는 동작을 설명하기 위한 흐름도이다. 아이템 추천 장치는 확장 매트릭스를 이용하여 협업 필터링 방법을 수행할 수 있다. 아이템 추천 장치는 사용자와 유사한 다른 사용자들이 아이템을 평가한 정보를 활용할 수 있다(UserKNN). 아이템 추천 장치는 사용자의 평가 아이템과 유사한 아이템을 평가한 다른 사용자의 정보를 활용할 수 있다(ItemKNN). 아이템 추천 장치는 행렬 분해시 발생되는 잠재 변수(latent factor)를 이용하여 사용자에게 추천할 아이템을 결정할 수 있다(SVD, SVD++, PureSVD).FIG. 6 is a flowchart illustrating an operation of an item recommendation apparatus according to an embodiment of the present invention to determine items to be recommended to a user using a collaborative filtering (CF) method. The item recommendation apparatus can perform a collaborative filtering method using an expansion matrix. The item recommendation device may utilize information that an item is evaluated by other users similar to the user (UserKNN). The item recommendation apparatus can utilize information of another user who has evaluated items similar to the user's evaluation item (ItemKNN). The item recommendation device can determine items to recommend to the user (SVD, SVD ++, PureSVD) by using latent factor generated in matrix decomposition.
도 6을 참고하면, 단계(610)에서, 일실시예에 따른 아이템 추천 장치는 확장 매트릭스로부터, 복수의 사용자의 복수의 아이템에 대한 선호도가 얼마나 유사한지를 나타내는 유사도를 계산할 수 있다. 이하에서는 표 1의 예시를 참고하여, 아이템 추천 장치가 유사도를 계산하는 실시예를 설명한다. 표 1은 아이템 1 및 아이템 2가 아이템 리스트를 통해 q 명의 사용자에게 제공되었을 때, 확장 매트릭스를 이용하여, 아이템 1 및 아이템 2에 대한 사용자의 선호도를 바이너리-클래스 세팅에 따라 집계한 것이다.Referring to FIG. 6, in
아이템2
Item 2
표 1을 참고하면, a는 아이템 1 및 아이템 2 전부에 선호도를 표현한 사용자의 수를 의미한다. b는 아이템 2에 선호도를 표현하고, 아이템 1이 아이템 추천 장치에 의해 비관심 아이템으로 분류된 사용자의 수를 의미한다. i는 아이템 1 및 아이템 2 전부가 비관심 아이템으로 분류된 사용자의 수를 의미한다. 확장 매트릭스가 복수의 사용자가 복수의 아이템에 대해 평가한 선호도를 바이너리-클래스 세팅에 따라 저장할 수 있으므로, 아이템 추천 장치는 확장 매트릭스를 이용하여 표 1처럼 복수의 아이템에 대한 사용자의 선호도를 바이너리-클래스 세팅에 따라 집계할 수 있다.Referring to Table 1, a denotes the number of users who express preferences in
아이템 추천 장치는 비평가 아이템을 네거티브 클래스를 이용하여 분류함으로써, 유사도를 보다 정확하게 계산할 수 있다. 일실시예에 따르면, 아이템 추천 장치는 복수의 아이템을 전부 평가 아이템으로 분류한 사용자의 수(a), 복수의 아이템들이 전부 비관심 아이템으로 분류된 사용자의 수(e), 및 복수의 아이템들이 전부 비평가 아이템으로 분류된 사용자의 수(i)에 따라 유사도를 결정할 수 있다. 아이템 추천 장치는 수학식 1을 이용하여 유사도를 결정할 수 있다.The item recommendation apparatus can classify the critic item using the negative class, thereby more accurately calculating the similarity. According to one embodiment, the item recommendation apparatus may include: a number of users (a) that classify a plurality of items into all evaluation items; a number (e) of users whose entirety of items are classified as non-interest items; The degree of similarity can be determined according to the number (i) of all users classified as criterion items. The item recommendation apparatus can determine the degree of similarity using Equation (1).
표 1을 참고하면, 수학식 1의 복수의 아이템이 동일하게 평가 아이템 또는 비관심 아이템으로 분류된 사용자의 수는, 아이템 1 및 아이템 2 전부를 평가 아이템으로 분류한 사용자의 수(a) 및 아이템 추천 장치에 의해 아이템 1 및 아이템 2 전부를 비관심 아이템으로 분류된 사용자의 수(e)의 합으로 결정될 수 있다(a+e). 수학식 1의 복수의 아이템 전부를 비평가 아이템으로 분류하지 않은 사용자의 수는 전체 사용자의 수 q에서 아이템 1 및 아이템 2 전부가 비평가 아이템으로 분류된 사용자의 수 i를 제외함으로써 결정될 수 있다(q-i).Referring to Table 1, the number of users in which a plurality of items in Equation (1) are classified as an evaluation item or a non-interest item equals to the number of users (a) All
아이템 추천 장치는 수학식 1에 따라 결정된 유사도를 이용하여, 복수의 사용자의 복수의 아이템에 대한 선호도가 유사한 정도를 계산할 수 있다. 특히, 아이템 추천 장치는 비관심 아이템으로 분류된 사용자의 수를 유사도를 계산하는 것에 이용할 수 있다. 이로써, 아이템 추천 장치는 비평가 아이템 중에서, 사용자가 선호하지 않을 확률이 높은 아이템을 고려하여 유사도를 계산할 수 있다. 따라서, 아이템 추천 장치는 보다 정확하게 유사도를 계산할 수 있다.The item recommendation apparatus can calculate the degree of similarity of preferences for a plurality of items of a plurality of users by using the degree of similarity determined according to Equation (1). In particular, the item recommendation device may use the number of users classified as un-interested items to calculate the similarity. As a result, the item recommendation apparatus can calculate the degree of similarity among the critic items in consideration of the items that the user is unlikely to prefer. Therefore, the item recommendation apparatus can calculate the degree of similarity more accurately.
도 6을 참고하면, 단계(620)에서, 일실시예에 따른 아이템 추천 장치는 결정된 유사도에 기초하여, 사용자에게 추천할 아이템을 결정할 수 있다. 아이템 추천 장치는 계산된 유사도에 기초하여 협업 필터링 방법을 수행함으로써, 사용자에게 추천할 아이템을 결정할 수 있다. 즉, 아이템 추천 장치는 복수의 아이템에 대한 선호도의 분포가 서로 유사한 사용자를 추출함으로써, 사용자에게 추천할 아이템을 결정할 수 있다.Referring to FIG. 6, in
도 7은 일실시예에 따른 아이템 추천 장치가 원-클래스 협업 필터링(OCCF, One-Class Collaborative Filtering) 방법을 이용하여 사용자에게 추천할 아이템을 결정하는 동작을 설명하기 위한 흐름도이다. 아이템 추천 장치는 WALS(weighted alternating least squares) 알고리즘을 사용하여 사용자에게 추천할 아이템을 결정할 수 있다. 아이템 추천 장치는 WALS 알고리즘을 적용하기 위하여, 대상 매트릭스 및 대상 매트릭스를 분해하는데 사용되는 가중치 매트릭스를 생성할 수 있다. 아이템 추천 장치는 가중치 매트릭스의 각 원소 값을, 각 아이템을 바이너리-클래스 세팅으로 분류한 결과에 따라 설정할 수 있다.FIG. 7 is a flowchart illustrating an operation of an item recommending apparatus according to an exemplary embodiment of the present invention to determine an item to be recommended to a user using a One-Class Collaborative Filtering (OCCF) method. The item recommendation apparatus can determine items to be recommended to the user by using a weighted alternating least squares (WALS) algorithm. The item recommendation device may generate a weighting matrix used to decompose the object matrix and the object matrix to apply the WALS algorithm. The item recommendation apparatus can set each element value of the weight matrix according to a result of classifying each item into a binary-class setting.
도 7을 참고하면, 단계(710)에서, 일실시예에 따른 아이템 추천 장치는, 원소 값이 원-클래스 세팅으로 분류된 아이템이 원-클래스 세팅 중에서 어느 것으로 분류되었는지에 따라 결정되는, 대상 매트릭스를 생성할 수 있다. 즉, 대상 매트릭스의 i 행 j 열의 원소값은, j 아이템이 i 사용자에 대하여 원-클래스 세팅 중에서 어느 것으로 분류되었는지에 따라 결정될 수 있다. 예를 들어, j 아이템이 i 사용자에 대하여 비평가 아이템으로 분류된 경우, i 행 j 열의 원소값은 0으로 설정될 수 있다. j 아이템이 i 사용자에 대하여 평가 아이템으로 분류된 경우, i 행 j 열의 원소값은 1로 설정될 수 있다. 표 2는 A 아이템 내지 D 아이템이 사용자 1 내지 사용자 3에 대하여 원-클래스 세팅 중에서 어느 것으로 분류되었는지에 따라 원소 값이 결정된 대상 매트릭스의 일례를 제시한다.Referring to FIG. 7, in
사용자item
user
표 2를 참고하면, 사용자 1은 A 아이템을 평가 아이템으로 분류하였으며, 사용자 2는 D 아이템에 대한 선호도를 표현하지 않았음을 알 수 있다.Referring to Table 2, it can be seen that the
도 7을 참고하면, 단계(720)에서, 일실시예에 따른 아이템 추천 장치는, 원-클래스 세팅으로 분류된 아이템에 대해 가중치를 할당함으로써, 대상 매트릭스에 대응하는 가중치 매트릭스를 생성할 수 있다. 가중치는, 원-클래스 세팅으로 분류된 아이템이 바이너리-클래스 세팅 중에서 어느 것으로 분류되었는지에 따라 결정될 수 있다.Referring to FIG. 7, in
일실시예에 따르면, 아이템 추천 장치는 비관심 아이템으로 분류된 아이템의 가중치를, 평가 아이템의 가중치와 동일하게 설정할 수 있다. 예를 들어, 아이템 추천 장치는 평가 아이템의 가중치를 1로 설정한 경우, 비관심 아이템으로 분류된 아이템의 가중치를 1로 설정할 수 있다.According to one embodiment, the item recommendation apparatus may set the weight of the item classified as the non-interest item to be equal to the weight of the evaluation item. For example, if the item recommendation apparatus sets the weight of the evaluation item to 1, the item recommendation apparatus can set the weight of the item classified as the non-interest item to 1.
아이템 추천 장치는 비평가 아이템의 가중치를 평가 아이템의 가중치인 1 보다 작은 값으로 설정할 수 있다. 예를 들어, 아이템 추천 장치는 비평가 아이템의 가중치를 0으로 설정할 수 있다. 아이템 추천 장치는 선호도가 비평가 아이템의 가중치를 1 보다 작고 0 보다 큰 상수로 설정할 수 있다.The item recommending apparatus can set the weight of the criterion item to a value smaller than 1, which is the weight of the evaluation item. For example, the item recommendation device may set the weight of the criterion item to zero. The item recommendation apparatus may set the weight of the criterion item to a constant smaller than 1 and greater than 0.
아이템 추천 장치는 사용자가 선호도를 표현한 평가 아이템의 개수에 따라, 비평가 아이템의 가중치를 설정할 수 있다. 특정 사용자가 선호도를 표현한 평가 아이템의 수가 다른 사용자의 평가 아이템보다 많은 경우, 특정 사용자가 선호도를 표현하지 않은 비평가 아이템을 선호하지 않을 확률은 다른 사용자가 비평가 아이템을 선호하지 않을 확률보다 높을 수 있다. 따라서, 아이템 추천 장치는 사용자의 평가 아이템의 수가 많은 경우, 비평가 아이템의 가중치를 상대적으로 높게 설정할 수 있다.The item recommendation apparatus can set the weight of the criterion item according to the number of the evaluation items expressing the user's preference. The probability that a particular user does not prefer a criterion item that does not express a preference may be higher than the probability that another user does not prefer a criterion item if the number of evaluation items expressing preference by a particular user is greater than that of another user. Accordingly, when the number of items to be evaluated by the user is large, the item recommendation apparatus can set the weight of the criterion item to a relatively high value.
아이템 추천 장치는 특정 사용자에 대한 비평가 아이템의 가중치를, 비평가 아이템에 대해 선호도를 표현한 다른 사용자의 수가 적을수록 높게 설정할 수 있다. 즉, 가중치는 사용자가 비평가 아이템을 선호하지 않을 확률이 높음을 의미할 수 있다. 표 3은 일실시예에 따른 아이템 추천 장치가 표 2의 대상 매트릭스에 대응하여 생성한 가중치 매트릭스의 일례를 제시한다.The item recommendation apparatus may set the weight of the criterion item for a specific user to a higher value as the number of other users expressing the preference for the criterion item is smaller. That is, the weight may mean that the probability that the user does not prefer the critic item is high. Table 3 shows an example of the weight matrix generated by the item recommendation apparatus according to one embodiment in correspondence with the target matrix of Table 2. [
사용자item
user
표 2를 참고하면, 사용자 1은 B 아이템 및 D 아이템에 대한 선호도를 표현하지 않았다. 도 3을 참고하면, 아이템 추천 장치는 B 아이템의 가중치를 D 아이템의 가중치보다 높게 설정하였다. 즉, 아이템 추천 장치는 사용자가 B 아이템을 선호하지 않을 확률이 사용자가 D 아이템을 선호하지 않을 확률보다 높은 것으로 결정하였음을 알 수 있다.Referring to Table 2, the
도 7을 참고하면, 단계(730)에서, 일실시예에 따른 아이템 추천 장치는 가중치 매트릭스를 이용하여, 대상 매트릭스에 대하여 매트릭스 분해(matrix factorization)를 수행할 수 있다. 아이템 추천 장치는 WALS 알고리즘을 적용하여 대상 매트릭스를 매트릭스 분해할 수 있다. 따라서, 아이템 추천 장치는 가중치 매트릭스의 원소에 할당된 가중치를 이용하여, 대상 매트릭스에 대하여 매트릭스 분해를 수행할 수 있다. 아이템 추천 장치는 가중치를 이용하여, 사용자의 어떤 아이템에 대한 선호도를 다른 아이템 보다 더 정확하게 예측할지를 결정할 수 있다.Referring to FIG. 7, in
도 7을 참고하면, 단계(740)에서, 일실시예에 따른 아이템 추천 장치는 매트릭스 분해를 수행한 결과에 따라, 사용자에게 추천할 아이템을 결정할 수 있다. 아이템 추천 장치는 원-클래스 협업 필터링 방법을 수행함으로써, 사용자에게 추천할 아이템을 결정할 수 있다. 즉, 높은 가중치가 할당된 평가 아이템 및 비관심 아이템으로 분류된 아이템이, 상대적으로 낮은 가중치가 할당된 비평가 아이템 보다 사용자에게 추천할 아이템을 결정하는데 더 큰 영향을 줄 수 있다.Referring to FIG. 7, in
도 8은 본 발명의 일실시예에 따른 아이템 추천 장치가 RWR(Random Walk with Restart) 방법을 이용하여 사용자에게 추천할 아이템을 결정하는 동작을 설명하기 위한 흐름도이다. 아이템 추천 장치는 사용자 및 아이템을 노드로 하고, 노드들을 사용자가 아이템에 대한 선호도를 표현하였는지에 따라 연결함으로써, 그래프를 생성할 수 있다. 아이템 추천 장치는 생성된 그래프에 대하여 RWR을 수행함으로써, 사용자에게 추천할 아이템을 결정할 수 있다. 아이템 추천 장치가 비평가 아이템의 전부 또는 일부를 비관심 아이템으로 분류하였으므로, 아이템 추천 장치는 사용자 및 평가 아이템을 연결하는 것뿐만 아니라, 사용자 및 비관심 아이템을 연결할 수 있다.FIG. 8 is a flowchart illustrating an operation of an item recommendation apparatus according to an exemplary embodiment of the present invention to determine items to be recommended to a user using a random walk with restart (RWR) method. The item recommendation apparatus can generate a graph by making users and items nodes, and connecting nodes according to whether the user expresses the preference for the item. The item recommendation apparatus can determine an item to be recommended to the user by performing RWR on the generated graph. Since the item recommending device classifies all or a part of the critic item as a non-interested item, the item recommending device can link the user and the unrecognized item, as well as connecting the user and the evaluation item.
도 8을 참고하면, 단계(810)에서, 일실시예에 따른 아이템 추천 장치는 사용자 및 평가 아이템을 연결하여 포지티브 그래프(positive graph)를 생성할 수 있다. 따라서, 사용자 및 아이템은 사용자가 그 아이템에 선호도를 표현한 경우에만 연결될 수 있다.Referring to FIG. 8, in
도 8을 참고하면, 단계(820)에서, 일실시예에 따른 아이템 추천 장치는 사용자 및 비관심 아이템을 연결하여 네거티브 그래프(negative graph)를 생성할 수 있다. 즉, 비평가 아이템 중에서 ‘unknown’이 부여된 아이템을 제외한 나머지 아이템이 사용자와 연결될 수 있다.Referring to FIG. 8, in
도 8을 참고하면, 단계(830)에서, 일실시예에 따른 아이템 추천 장치는 포지티브 그래프 및 네거티브 그래프를 이용하여 사용자에 대한 아이템의 관련성 점수를 결정할 수 있다. 아이템 추천 장치는 포지티브 그래프에 대하여 RWR을 수행함으로써 포지티브 점수를 결정할 수 있다. 아이템 추천 장치는 네거티브 그래프에 대하여 RWR을 수행함으로써 네거티브 점수를 결정할 수 있다. 아이템 추천 장치는 수학식 2에 따라 포지티브 그래프 및 네거티브 그래프 각각으로부터 포지티브 점수 및 네거티브 점수를 결정할 수 있다.Referring to FIG. 8, in
수학식 2를 참고하면, 은 랭킹 벡터로써, 결정되는 포지티브 점수 또는 네거티브 점수를 의미한다. c는 재시작 확률, 은 시작 벡터, 는 정규화된 가중치 그래프를 의미한다.Referring to Equation (2) Means a positive score or a negative score which is determined as a ranking vector. c is the restart probability, Is a start vector, Means a normalized weight graph.
아이템 추천 장치는 포지티브 점수에서 네거티브 점수를 제외하여 관련성 점수를 결정할 수 있다. 즉, 아이템 추천 장치는 사용자 및 평가 아이템간의 관련성뿐만 아니라, 사용자 및 비관심 아이템간의 관련성을 고려하여 관련성 점수를 결정할 수 있다.The item recommendation device can determine the relevance score by excluding the negative score from the positive score. That is, the item recommendation apparatus can determine the relevance score in consideration of the relevance between the user and the evaluation item as well as the relevance between the user and the non-interest item.
도 8을 참고하면, 단계(840)에서, 일실시예에 따른 아이템 추천 장치는 결정된 관련성 점수에 따라 상기 사용자에게 추천할 아이템을 결정할 수 있다. 따라서, 아이템 추천 장치는 사용자 및 평가 아이템간의 관련성, 그리고 사용자 및 낮은 선호도(0)가 부여된 아이템간의 관련성을 고려하여 사용자에게 추천할 아이템을 결정할 수 있다.Referring to FIG. 8, in
도 9는 본 발명의 일실시예에 따른 아이템 추천 장치가 신뢰도 확산(BP, Belief Propagation) 방법을 이용하여 사용자에게 추천할 아이템을 결정하는 동작을 설명하기 위한 흐름도이다. 아이템 추천 장치는 아이템에 대한 사용자의 선호도에 대한 확률을 결정하고, 결정된 확률을 사용자에게 아이템을 추천하는데 사용할 수 있다.9 is a flowchart illustrating an operation of an item recommendation apparatus according to an exemplary embodiment of the present invention to determine items to be recommended to a user using a belief propagation (BP) method. The item recommendation device may determine the probability of the user's preference for the item and may use the determined probability to recommend the item to the user.
도 9를 참고하면, 단계(910)에서, 일실시예에 따른 아이템 추천 장치는 평가 아이템에 대한 선호 포텐셜(like-potential)을 결정할 수 있다. 아이템 추천 장치는 평가 아이템의 선호 포텐셜에 높은 확률을 부여할 수 있다. 예를 들어, 아이템 추천 장치는 평가 아이템에 대한 선호 포텐셜을 0.9 또는 그 이상으로 부여할 수 있다.Referring to FIG. 9, in
도 9를 참고하면, 단계(920)에서, 일실시예에 따른 아이템 추천 장치는 비관심 아이템에 대한 비선호 포텐셜(dislike-potential)을 결정할 수 있다. 아이템 추천 장치는 비관심 아이템의 비선호 포텐셜에 높은 확률을 부여할 수 있다. 예를 들어, 아이템 추천 장치는 비관심 아이템에 대한 비선호 포텐셜을 0.9 또는 그 이상으로 부여할 수 있다. 이로써, 아이템 추천 장치는 아이템이 평가 아이템으로 분류되는지 또는 비관심 아이템으로 분류되는지에 따라 사용자 또는 아이템의 노드 포텐셜(node potential)을 다르게 설정할 수 있다.Referring to FIG. 9, in
도 9를 참고하면, 단계(930)에서, 일실시예에 따른 아이템 추천 장치는 신뢰도 확산(BP, Belief propagation)을 이용하여, 결정된 선호 포텐셜 및 비선호 포텐셜로부터 사용자의 아이템의 선호도에 대한 확률을 결정할 수 있다. 아이템 추천 장치가 평가 아이템에 대한 선호 포텐셜 뿐만 아니라, 비관심 아이템의 비선호 포텐셜까지 결정하였으므로, 비관심 아이템을 고려하여 신뢰도 확산을 적용할 수 있다. 따라서, 아이템 추천 장치는 보다 정확하게 사용자의 아이템의 선호도에 대한 확률을 결정할 수 있다.Referring to FIG. 9, in
아이템 추천 장치는 수학식 3을 이용하여 신뢰도 확산을 적용할 수 있다.The item recommendation apparatus can apply reliability spreading using Equation (3).
수학식 3을 참고하면, mij(xc)는 사용자(또는 아이템) vi 에서 아이템(또는 사용자) vj로의 메시지로써, vj가 xc상태(평가 아이템 상태 또는 비평가 아이템 상태)일 가능성에 대한 vi의 신뢰를 의미할 수 있다. 일실시예에 따르면, mij(xc)는 아이템(또는 사용자) vi 에서 사용자(또는 아이템) vj로의 메시지를 의미할 수 있다. 수학식 3을 참고하면, mij(xc)는 사용자(또는 아이템) vi가 아이템(또는 사용자) vi를 제외한 주변 사용자 또는 주변 아이템으로부터 수신한 메시지들의 곱으로부터 생성될 수 있다.Referring to Equation 3, m ij (x c ) is a message from the user (or item) v i to the item (or user) v j , where v j is the probability of being in the x c state (evaluation item state or criterion item state) Can be taken to mean the trust of v i to. According to one embodiment, m ij (x c ) may refer to a message from an item (or user) v i to a user (or item) v j . Referring to Equation (3), m ij (x c ) may be generated from a product of messages received from a user (or item) v i around the user (or user) v i except for v i .
수학식 3을 참고하면, 는 사용자(또는 아이템) vi의 상태가 xd 상태(평가 아이템 상태 또는 비평가 아이템 상태)인 경우, 그 이웃 사용자 또는 이웃 아이템 vj가 xc 상태일 가능성을 표시할 수 있다. 는 미리 설정된 파급 행렬을 통해 결정될 수 있다. 일실시예에 따르면, 파급 행렬은 표 4와 같이 설정될 수 있다.Referring to Equation 3, May indicate the likelihood that the neighboring user or neighbor item v j is in the x c state if the state of the user (or item) v i is x d state (evaluation item state or criterion item state). May be determined through a predetermined spreading matrix. According to one embodiment, the spreading matrix may be set as shown in Table 4.
표 4를 참고하면, 는 0 보다 크고 1 보다 작은 값으로 설정될 수 있다.Referring to Table 4, May be set to a value greater than zero and less than one.
수학식 3을 참고하면, 는 사용자 또는 아이템에게 할당된 초기 값으로, 사용자 vi의 상태가 xd 상태(평가 아이템 또는 비평가 아이템)일 확률을 나타낸다. 초기값은 단계(910) 또는 단계(920)에서 결정된 선호 포텐셜 또는 비선호 포텐셜에 따라 결정될 수 있다.Referring to Equation 3, Is an initial value assigned to a user or item, and represents the probability that the state of the user v i is x d state (an item to be evaluated or a criterion item). The initial value may be determined according to the preferential potential or non-preferential potential determined in
아이템 추천 장치는 수학식 3의 mij(xc)를 이용하여, 수학식 4에 따라 사용자 또는 아이템이 특정 상태에 속할 가능성을 계산할 수 있다.The item recommendation apparatus can calculate the possibility that the user or item belongs to a specific state according to Equation (4) using m ij (x c ) in Equation (3).
수학식 4를 참고하면, k는 신뢰 벡터의 각 요소의 합이 1이 되도록 정규화하기 위한 상수이다. 수학식 4에 따라 계산된 신뢰 벡터의 각 요소는 해당 노드(사용자 또는 아이템)가 특정 상태에 속할 가능성을 의미할 수 있다.Referring to Equation (4), k is a constant for normalizing the sum of each element of the confidence vector to be 1. Each element of the trust vector calculated according to Equation (4) can mean the possibility that the corresponding node (user or item) belongs to a particular state.
도 9를 참고하면, 단계(940)에서, 일실시예에 따른 아이템 추천 장치는 결정된 선호도에 대한 확률에 따라, 사용자에게 추천할 아이템을 결정할 수 있다. 선호도에 대한 확률이 비관심 아이템을 고려하여 결정되었으므로, 아이템 추천 장치는 보다 정확하게 사용자에게 추천할 아이템을 결정할 수 있다.Referring to FIG. 9, in
아이템 추천 장치가 비평가 아이템 중 적어도 일부를 비관심 아이템으로 분류하고, 비관심 아이템을 고려하여 사용자에게 아이템을 추천할 수 있다. 이로써, 아이템 추천 장치는 사용자에게 추천할 아이템을 보다 정확하게 결정할 수 있다. 또한, 아이템 추천 장치는 비관심 아이템을 고려하여 협업 필터링 방법, 단일-클래스 협업 필터링 방법, RWR 방법 및 신뢰도 확산 방법을 이용할 수 있다. 비평가 아이템 중 일부를 비관심 아이템으로 분류함으로써, 아이템 추천 장치는 OCCF 문제를 해결할 수 있다.The item recommending apparatus may classify at least a part of the critic items as a non-interest item, and recommend the item to the user in consideration of the non-interest item. Thus, the item recommendation apparatus can more accurately determine an item to be recommended to the user. In addition, the item recommendation apparatus can utilize a collaborative filtering method, a single-class collaborative filtering method, an RWR method, and a reliability spreading method in consideration of uninterest items. By categorizing some of the criticism items as non-interest items, the item recommendation device can solve the OCCF problem.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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.
110 : 사용자
120 : 아이템 추천 장치
130 : 아이템 리스트
140 : 추천 아이템 리스트110: User
120: Item recommendation device
130: Item list
140: Recommended Item List
Claims (8)
상기 비평가 아이템의 비관심 점수(uninteresting score)를 결정하는 단계;
상기 비관심 점수에 기초하여, 상기 비평가 아이템 중에서 비관심 아이템(uninteresting item)을 결정함으로써, 상기 원-클래스 세팅으로 구분된 아이템을 상기 평가 아이템, 상기 비평가 아이템 및 상기 비관심 아이템의 바이너리-클래스 세팅(binary-class setting)으로 분류하는 단계; 및
상기 바이너리-클래스 세팅으로 구분된 아이템에 기초하여, 상기 사용자에게 추천할 아이템을 결정하는 단계
를 포함하는 아이템 추천 방법.
Identifying an item classified by a user as an one-class setting of an evaluation item representing the preference and an unrated item for which the user has not expressed the preference;
Determining an uninteresting score of the criterion item;
Determining an uninteresting item from among the criterion items based on the non-interest score, and setting an item separated by the one-class setting as a binary-class setting of the evaluation item, the criterion item, and the non- classifying into a binary-class setting; And
Determining an item to be recommended to the user based on the item classified by the binary-class setting;
≪ / RTI >
상기 바이너리-클래스 세팅으로 분류하는 단계는, 복수의 비평가 아이템 중에서, 상기 비관심 점수가 낮은 일정 개수의 비평가 아이템을 상기 비관심 아이템으로 분류함으로써, 상기 원-클래스 세팅으로 구분된 아이템을 바이너리-클래스 세팅으로 분류하는 아이템 추천 방법.
The method according to claim 1,
Classifying the item classified by the one-class setting into a binary-class setting by classifying a certain number of critic items having a low non-interest score among the plurality of critic items into the non-interest item, How to recommend an item to sort by setting.
상기 바이너리-클래스 세팅으로 분류하는 단계는,
상기 비관심 아이템에 대응하는 원소 값을 포함하는 확장 매트릭스(augmented matrix)를 생성하는 아이템 추천 방법.
The method according to claim 1,
Classifying into the binary-class setting comprises:
And generating an augmented matrix including an element value corresponding to the non-interest item.
상기 사용자에게 추천할 아이템을 결정하는 단계는,
상기 확장 매트릭스로부터, 복수의 상기 사용자의 복수의 상기 아이템에 대한 선호도가 얼마나 유사한지를 나타내는 유사도를 계산하는 단계; 및
상기 유사도에 기초하여, 상기 사용자에게 추천할 아이템을 결정하는 단계
를 포함하고,
상기 유사도는,
복수의 상기 아이템들을 전부 평가 아이템으로 분류한 사용자 수, 복수의 상기 아이템들이 전부 비관심 아이템으로 분류된 사용자의 수 및 복수의 상기 아이템들이 전부 비평가 아이템으로 분류된 사용자의 수에 따라 결정되는 아이템 추천 방법.
The method of claim 3,
The step of determining an item to be recommended to the user comprises:
Calculating, from the expansion matrix, a degree of similarity that indicates how similar the preferences for a plurality of items of the plurality of users are; And
Determining an item to be recommended to the user based on the degree of similarity,
Lt; / RTI >
Preferably,
An item recommendation that is determined by the number of users who have allotted a plurality of the items to an evaluation item, the number of users whose entirety of the plurality of items is classified as a non-interest item, and the number of users whose entirety of the plurality of items is classified as a criterion item Way.
상기 사용자에게 추천할 아이템을 결정하는 단계는,
원소 값이 상기 원-클래스 세팅으로 분류된 아이템이 상기 원-클래스 세팅 중에서 어느 것으로 분류되었는지에 따라 결정되는 대상 매트릭스를 생성하는 단계;
상기 원-클래스 세팅으로 분류된 아이템에 대해 가중치를 할당함으로써, 상기 대상 매트릭스에 대응하는 가중치 매트릭스를 생성하는 단계;
상기 가중치 매트릭스를 이용하여 상기 대상 매트릭스에 대하여 매트릭스 분해를 수행하는 단계; 및
상기 매트릭스 분해를 수행한 결과에 따라, 상기 사용자에게 추천할 아이템을 결정하는 단계
를 포함하고,
상기 가중치는, 상기 원-클래스 세팅으로 분류된 아이템이 상기 바이너리-클래스 세팅 중에서 어느 것으로 분류되었는지에 따라 결정되는 아이템 추천 방법.
The method according to claim 1,
The step of determining an item to be recommended to the user comprises:
Generating an object matrix in which an element value is determined according to which one of the one-class setting items classified into the one-class setting is classified;
Generating a weight matrix corresponding to the object matrix by assigning weights to items classified as the one-class setting;
Performing matrix decomposition on the object matrix using the weight matrix; And
Determining an item to be recommended to the user according to a result of performing the matrix decomposition;
Lt; / RTI >
Wherein the weight is determined based on which of the binary-class settings the item classified as the one-class setting is classified as.
상기 가중치 매트릭스를 생성하는 단계는,
상기 사용자가 상기 비평가 아이템을 선호하지 않을 확률을 이용하여 상기 가중치를 결정하는 아이템 추천 방법.
6. The method of claim 5,
Wherein generating the weight matrix comprises:
And determining the weight using the probability that the user does not prefer the criterion item.
상기 사용자에게 추천할 아이템을 결정하는 단계는,
상기 사용자 및 상기 평가 아이템을 연결하여 포지티브 그래프(positive graph)를 생성하는 단계;
상기 사용자 및 상기 비관심 아이템을 연결하여 네거티브 그래프(negative graph)를 생성하는 단계;
상기 포지티브 그래프 및 상기 네거티브 그래프를 이용하여 상기 사용자에 대한 상기 아이템의 관련성 점수를 결정하는 단계; 및
상기 관련성 점수에 따라 상기 사용자에게 추천할 아이템을 결정하는 단계
를 포함하는 아이템 추천 방법.
The method according to claim 1,
The step of determining an item to be recommended to the user comprises:
Linking the user and the evaluation item to generate a positive graph;
Linking the user and the non-interest item to generate a negative graph;
Determining a relevance score of the item for the user using the positive graph and the negative graph; And
Determining an item to be recommended to the user according to the relevance score
≪ / RTI >
상기 사용자에게 추천할 아이템을 결정하는 단계는,
상기 평가 아이템에 대한 선호 포텐셜(like-potential)을 결정하는 단계;
상기 비관심 아이템에 대한 비선호 포텐셜(dislike-potential)을 결정하는 단계;
신뢰도 확산(BP, Belief propagation)을 이용하여, 결정된 상기 선호 포텐셜 및 상기 비선호 포텐셜로부터 상기 사용자의 아이템의 선호도에 대한 확률을 결정하는 단계; 및
결정된 상기 선호도에 대한 확률에 따라, 상기 사용자에게 추천할 아이템을 결정하는 단계
를 포함하는 아이템 추천 방법.
The method according to claim 1,
The step of determining an item to be recommended to the user comprises:
Determining a like-potential for the evaluation item;
Determining a dislike-potential for the un-interesting item;
Determining a probability of the user's preference of the item from the determined preference potential and the non-preferential potential using belief propagation (BP); And
Determining an item to be recommended to the user according to the determined probability of the preference;
≪ / RTI >
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20160019018 | 2016-02-18 | ||
KR1020160019018 | 2016-02-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170097535A true KR20170097535A (en) | 2017-08-28 |
KR101804170B1 KR101804170B1 (en) | 2017-12-05 |
Family
ID=59759720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160084228A KR101804170B1 (en) | 2016-02-18 | 2016-07-04 | Item recommendation method and apparatus thereof utilizing uninteresting item and apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101804170B1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102108683B1 (en) * | 2019-08-13 | 2020-05-07 | 주식회사 데이블 | Method for providing recommendation contents including non-interest contents |
WO2020175732A1 (en) * | 2019-02-26 | 2020-09-03 | 주식회사 틸투원 | Commercial product recommendation method and device therefor |
KR20200107389A (en) * | 2019-03-07 | 2020-09-16 | 네이버 주식회사 | Rating augmentation and item recommendation method and system based on generative adversarial networks |
CN112860880A (en) * | 2021-03-23 | 2021-05-28 | 辽宁工程技术大学 | Comment text and feature weighting fused four-dimensional tensor decomposition recommendation method |
KR20220039299A (en) * | 2020-09-22 | 2022-03-29 | 한양대학교 산학협력단 | Item recommendation method and device based on the distance from the user |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200087318A (en) | 2018-12-28 | 2020-07-21 | 한양대학교 산학협력단 | Method and device for recommending item through collaborative filtering, and using gan and positive item generator |
KR102280301B1 (en) | 2019-06-13 | 2021-07-21 | 한양대학교 산학협력단 | Method and apparatus for recommending items using explicit and implicit feedback |
KR20210012730A (en) | 2019-07-26 | 2021-02-03 | 삼성전자주식회사 | Learning method of artificial intelligence model and electronic apparatus |
-
2016
- 2016-07-04 KR KR1020160084228A patent/KR101804170B1/en active IP Right Grant
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020175732A1 (en) * | 2019-02-26 | 2020-09-03 | 주식회사 틸투원 | Commercial product recommendation method and device therefor |
KR20200107389A (en) * | 2019-03-07 | 2020-09-16 | 네이버 주식회사 | Rating augmentation and item recommendation method and system based on generative adversarial networks |
KR102108683B1 (en) * | 2019-08-13 | 2020-05-07 | 주식회사 데이블 | Method for providing recommendation contents including non-interest contents |
KR20220039299A (en) * | 2020-09-22 | 2022-03-29 | 한양대학교 산학협력단 | Item recommendation method and device based on the distance from the user |
CN112860880A (en) * | 2021-03-23 | 2021-05-28 | 辽宁工程技术大学 | Comment text and feature weighting fused four-dimensional tensor decomposition recommendation method |
CN112860880B (en) * | 2021-03-23 | 2024-03-08 | 辽宁工程技术大学 | Four-dimensional tensor decomposition recommendation method integrating comment text and feature weighting |
Also Published As
Publication number | Publication date |
---|---|
KR101804170B1 (en) | 2017-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101804170B1 (en) | Item recommendation method and apparatus thereof utilizing uninteresting item and apparatus | |
US20200065956A1 (en) | Utilizing deep learning to rate attributes of digital images | |
CN102262647B (en) | Signal conditioning package, information processing method and program | |
JP6839342B2 (en) | Information processing equipment, information processing methods and programs | |
US20180365522A1 (en) | Methods and apparatuses for building data identification models | |
CN107153656B (en) | Information searching method and device | |
WO2010010654A1 (en) | Usage estimation device | |
US20110238605A1 (en) | Information processing apparatus, information processing method, and program | |
CN106599047B (en) | Information pushing method and device | |
CN103383702A (en) | Method and system for recommending personalized news based on ranking of votes of users | |
CN111160959B (en) | User click conversion prediction method and device | |
US20230004608A1 (en) | Method for content recommendation and device | |
US11036818B2 (en) | Method and system for detecting graph based event in social networks | |
CN110472742B (en) | Model variable determination method, device and equipment | |
KR20200049193A (en) | Method for providing contents and service device supporting the same | |
US9201967B1 (en) | Rule based product classification | |
CN112287225B (en) | Object recommendation method and device | |
KR102299525B1 (en) | Product Evolution Mining Method And Apparatus Thereof | |
CN111784384B (en) | Payment service data processing method, device, equipment and system | |
KR101620659B1 (en) | Method for selecting similar users for collaborative filtering based on earth movers distance | |
KR101958555B1 (en) | Apparatus and method for providing search result | |
CN112925924A (en) | Multimedia file recommendation method and device, electronic equipment and storage medium | |
KR101122335B1 (en) | Apparatus and method for analyzing information diffusion of topic based in the blog world | |
US11842299B2 (en) | System and method using deep learning machine vision to conduct product positioning analyses | |
US20200005182A1 (en) | Selection method, selection apparatus, and recording medium |
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) |