KR102323424B1 - 관측평점과 유사도 그래프를 활용한 추천 알고리즘의 평점 예측 방법 - Google Patents
관측평점과 유사도 그래프를 활용한 추천 알고리즘의 평점 예측 방법 Download PDFInfo
- Publication number
- KR102323424B1 KR102323424B1 KR1020190060316A KR20190060316A KR102323424B1 KR 102323424 B1 KR102323424 B1 KR 102323424B1 KR 1020190060316 A KR1020190060316 A KR 1020190060316A KR 20190060316 A KR20190060316 A KR 20190060316A KR 102323424 B1 KR102323424 B1 KR 102323424B1
- Authority
- KR
- South Korea
- Prior art keywords
- cluster
- user
- item
- rating
- target
- Prior art date
Links
Images
Classifications
-
- 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
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Algebra (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 관측평점과 유사도 그래프를 활용한 추천 알고리즘의 평점 예측 방법에 관한 것으로서, 다양한 분야의 추천 시스템, 또는 그에 구비된 평점 예측 장치에서 실행될 수 있는, 본 발명의 평점 예측 방법은, 관측평점 이외에도 관측평점으로 주어진 정보가 부족한 경우에 추가로 주어진 유사도 그래프(Similarity Graph)를 더 이용하여 평점 예측의 정확도를 높이고 평점 예측의 성능을 극대화시키는 추천 알고리즘의 평점 예측 방법을 제공한다.
Description
본 발명은 다수의 항목들에 대해 사용자들의 관측 평점을 기초로 각 사용자에게 맞춤형 항목을 추천하는 추천 알고리즘의 평점 예측 방법에 관한 것으로서, 특히, 관측평점과 유사도 그래프를 통한 높은 정확도로 평점을 예측하는 평점 예측 방법에 관한 것이다.
많은 수의 사용자가 다양한 항목들에 대해 평가한 평점 정보가 주어졌을 때, 이를 기반으로 각각의 사용자에게 맞춤형 항목을 추천해주는 것을 추천 알고리즘이라 한다. 종래의 추천 알고리즘 중 어느정도 성능을 보이는 행렬 채움(Matrix Completion or Matrix Factorization) 기반 추천 알고리즘은, 각 사용자를 하나의 행으로 각 항목을 하나의 열로 간주하고, 사용자가 항목을 평가한 점수를 행렬의 숫자로 볼 경우, 행렬의 비어 있는 칸의 값을 채우는 것을 아직 평가가 되지 않은 사용자/항목 쌍에 대해 예상평가 점수를 찾아 나간다. 행렬 채움 기반 추천 알고리즘이란 이처럼 주어진 데이터를 부분적으로 관측된 행렬로 보고, 이를 통해 행렬의 비어 있는 칸을 채움으로써 맞춤형 항목 추천을 가능케 하는 알고리즘이다.
그러나, 이러한 행렬 채움 알고리즘은 관측이 많이 되지 않은 행이나 열에 대해서는 예측이 불가능하다는 문제점이 있다.
따라서, 본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은, 관측평점 이외에도 관측평점으로 주어진 정보가 부족한 경우에 추가로 주어진 유사도 그래프(Similarity Graph)를 더 이용하여 평점 예측의 정확도를 높이고 평점 예측의 성능을 극대화시키는 추천 알고리즘의 평점 예측 방법을 제공하는 데 있다.
먼저, 본 발명의 특징을 요약하면, 상기의 목적을 달성하기 위한 본 발명의 일면에 따른 사용자에게 맞춤형 항목을 추천하기 위한 추천 시스템에서의 평점 예측 방법은, n수의 사용자들 중 사용자 i의 m개의 항목들 중 항목 j에 대한 각각의 평점 M(i, j) 및 상기 사용자들 간의 친구관계에 대한 유사도그래프를 포함하는 입력 정보를 수신하는 단계(여기서, n, m은 2 이상의 자연수, i∈{1,2,3,...,n}, j∈{1,2,3,...,m}); 상기 입력 정보에 대해 K개의 군집 Cg으로 분류하는 단계(여기서, K는 2 이상의 자연수, g∈{1,2,3,...,K}); 각각의 군집 Cg에 속한 사용자들의 각각의 항목 j에 대한 평균평점 R(g,j)을 산출하는 단계; 상기 평균평점 R(g,j)을 이용하여 각각의 사용자가 속한 군집의 적합도를 판단해 각각의 사용자가 속하는 군집(x)을 결정하는 단계; 및 결정된 상기 군집(x)의 항목별 평균평점 R(x,:)을 이용하여 해당 군집에 속한 사용자의 평점을 업데이트하는 단계를 포함한다.
상기 업데이트하는 단계에서, 상기 해당 군집(x)에 속한 사용자(w)의 평점 M(w, j) 중 데이터가 비어있는 대상 항목의 평점 M(w,:)을 R(x,:) 중 대응 항목의 평균평점으로 업데이트할 수 있다.
상기 유사도그래프는, 친구관계라면 '1'의 값, 아니라면 '0'의 값으로 이루어지는 원소값들로 구성된 n×n 인접행렬 형태일 수 있다.
상기 결정하는 단계에서, 상기 각각의 사용자에 대하여 상기 군집의 적합도가 최대가 되는 상기 군집(x)이 되도록 결정할 수 있다.
상기 결정하는 단계에서, n수의 상기 사용자 각각에 대하여, 상기 군집의 적합도 F(g)를 식 F(g) = c1*NL1 + c2*NL2 + c3*S에 따라 K개의 상기 군집 Cg 각각에 대하여 산출하여 상기 결정에 이용하되, 여기서, c1,c2,c3는 가중치 계수, NL1은 대상 군집 Cg의 사용자들과 대상 사용자 간의 연결 엣지수, NL2는 대상 군집 Cg 이외의 사용자들과 대상 사용자 간의 연결 엣지수, S는 대상 사용자와 대상 군집 Cg 사이의 유사도이다.
상기 연결 엣지수는 해당 사용자들과 대상 사용자가 친구관계인 경우의 수일수 있다.
상기 S는 대상 사용자의 항목별 평점 M(i,:)과 대상 군집 Cg의 항목별 평균평점 R(g,:) 간의 유사도를 기초로 산출될 수 있다.
그리고, 본 발명의 다른 일면에 따른 사용자에게 맞춤형 항목을 추천하기 위한 추천 시스템에서의 평점 예측을 위한, 컴퓨터로 판독 가능한 코드로 구현된 기록 매체는, n수의 사용자들 중 사용자 i의 m개의 항목들 중 항목 j에 대한 각각의 평점 M(i, j) 및 상기 사용자들 간의 친구관계에 대한 유사도그래프를 포함하는 입력 정보를 수신하는 기능(여기서, n, m은 2 이상의 자연수, i∈{1,2,3,...,n}, j∈{1,2,3,...,m}); 상기 입력 정보에 대해 K개의 군집 Cg으로 분류하는 기능(여기서, g∈{1,2,3,...,K}); 각각의 군집 Cg에 속한 사용자들의 각각의 항목 j에 대한 평균평점 R(g,j)을 산출하는 기능; 상기 평균평점 R(g,j)을 이용하여 각각의 사용자가 속한 군집의 적합도를 판단해 각각의 사용자가 속하는 군집(x)을 결정하는 기능; 및 결정된 상기 군집(x)의 항목별 평균평점 R(x,:)을 이용하여 해당 군집에 속한 사용자의 평점을 업데이트하는 기능을 수행할 수 있다.
본 발명에 따른 사용자에게 맞춤형 항목을 추천하기 위한 추천 알고리즘의 평점 예측 방법은, 관측평점으로 주어진 정보가 부족한 경우에 추가로 주어진 유사도 그래프를 더 이용하여 평점 예측의 정확도를 높이고 평점 예측의 성능을 극대화시킬 수 있다. 종래의 방법에서는 대부분 휴리스틱에 기반한 알고리즘이기 때문에 이론적인 성능이 보장되지 않거나 또는 실제 데이터에서 잘 동작하지 않는 문제점이 있지만, 본 발명에서는 이러한 문제점들을 극복하고 이론적으로 최적의 성능을 달성하는 새로운 알고리즘을 제시한다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는 첨부도면은, 본 발명에 대한 실시예를 제공하고 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 본 발명의 일 실시예에 따른 다양한 응용 분야의 추천 시스템에 적용을 위한 평점 예측 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 사용자의 평점 M(i,j)를 설명하기 위한 도면이다.
도 3은 본 발명의 유사도그래프의 원소 A(i,j)를 설명하기 위한 도면이다.
도 4는 본 발명의 군집화의 예시를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 다양한 응용 분야의 추천 시스템에 적용을 위한 평점 예측 장치의 구현 방법을 설명하기 위한 블록도이다.
도 1은 본 발명의 일 실시예에 따른 다양한 응용 분야의 추천 시스템에 적용을 위한 평점 예측 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 사용자의 평점 M(i,j)를 설명하기 위한 도면이다.
도 3은 본 발명의 유사도그래프의 원소 A(i,j)를 설명하기 위한 도면이다.
도 4는 본 발명의 군집화의 예시를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 다양한 응용 분야의 추천 시스템에 적용을 위한 평점 예측 장치의 구현 방법을 설명하기 위한 블록도이다.
이하에서는 첨부된 도면들을 참조하여 본 발명에 대해서 자세히 설명한다. 이때, 각각의 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타낸다. 또한, 이미 공지된 기능 및/또는 구성에 대한 상세한 설명은 생략한다. 이하에 개시된 내용은, 다양한 실시 예에 따른 동작을 이해하는데 필요한 부분을 중점적으로 설명하며, 그 설명의 요지를 흐릴 수 있는 요소들에 대한 설명은 생략한다. 또한 도면의 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시될 수 있다. 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니며, 따라서 각각의 도면에 그려진 구성요소들의 상대적인 크기나 간격에 의해 여기에 기재되는 내용들이 제한되는 것은 아니다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시 예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되는 것은 아니며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하에서 다수의 항목들에 대해 사용자들의 관측 평점을 기초로 각 사용자에게 맞춤형 항목을 추천하는 추천 알고리즘이 적용되는 다양한 분야의 추천 시스템에서, 본 발명의 평점 예측 방법에 따라 평점 예측의 정확도를 높이고 평점 예측의 성능을 극대화시킬 수 있도록 하였다.
추천 알고리즘이 적용되는 다양한 응용 분야의 추천 시스템으로서, 다음과 같은 예를 들 수 있다. 예를 들어, 검색 엔진(ex: 구글, 네이버, 다음 등)에서 검색어를 입력하였을 때 사용자의 기존 활동 이력을 기반으로 맞춤화된 검색 결과를 보여줄 수 있다. 다른 예로서, 온라인 동영상 스트리밍 서비스 시스템(ex: 넷플릭스, 왓챠 등)에서 사용자들이 문화 컨텐츠(영화, 음악, 도서)를 평가한 내역을 기반으로 하여 각 사용자에게 맞춤형 컨텐츠를 추천해 줄 수도 있다. 또한, 소셜 네트워크 서비스(SNS) 시스템(ex: 페이스북, 카카오톡 등)에 적용 시에는, 사용자들의 활동 내역을 기반으로 하여 가장 관심도가 높은 광고를 표시해 줄 수도 있다. 나아가, 차세대 교육 플랫폼(ex: 칸아카데미, 뤼이드 등)에서 학생의 학습 내역을 기반으로 하여 맞춤형 교육 컨텐츠를 제공해 줄 수도 있다.
이와 같은 다양한 응용 분야의 추천 시스템에 적용을 위한 본 발명의 일 실시예에 따른 평점 예측 방법을 자세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 다양한 응용 분야의 추천 시스템에 적용을 위한 평점 예측 방법을 설명하기 위한 흐름도이다.
다양한 응용 분야의 추천 시스템에 적용을 위한 본 발명의 일 실시예에 따른 평점 예측 장치의 각 기능은, 하기하는 바와 같이 컴퓨팅 시스템이나 그에 구비된 프로세서를 통해 구현되거나, 각 기능을 수행하기 위한 컴퓨터로 판독 가능한 코드로 구현된 기록 매체를 통하여 구현될 수 있다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 추천 시스템, 또는 그에 구비된 평점 예측 장치는, 먼저, n수의 사용자들 중 사용자 i의 m개의 항목들 중 항목 j에 대한 각각의 평점 M(i, j) 및 상기 사용자들 간의 친구관계에 대한 유사도그래프를 포함하는 입력 정보를 수신한다(여기서, n, m은 2 이상의 자연수, i∈{1,2,3,...,n}, j∈{1,2,3,...,m})(S110).
사용자들의 각 평점에 대한 데이터 M(i, j)는 도 2와 같이 n×m 행렬 형태로 입력 받을 수 있으며 각각의 원소값은 예를 들어 1~10 사이의 실수 형태일 수 있다. 예를 들어, 사용자들의 평점은, 문화 컨텐츠(영화, 음악, 도서) 사이트, 검색/SNS 사이트, 교육 플랫폼 등 다양한 분야의 추천 시스템으로부터 수집될 수 있으며, 또한 연동하는 다양한 다른 사이트들로부터도 수집될 수 있다. 이때 사용자들의 각 평점에 대한 데이터 M(i, j) 중 원소값이 없는 경우(평점 데이터가 비어있는 경우)에 해당 원소값은 미리 정한 숫자, 기호 등(예, ? 등)으로 입력될 수 있으며, 하기하는 바와 같은 본 발명의 평점 예측 방법에 따라 해당 원소값들이 예측되어 출력될 수 있다.
사용자들 간의 친구관계에 대한 유사도그래프는 도 3과 같이 친구관계라면 '1'의 값, 아니라면 '0'의 값으로 이루어지는 원소값들로 구성된 n×n 인접행렬 A(i, j) 형태로 입력 받을 수 있다.
다음에, 본 발명의 일 실시예에 따른 추천 시스템, 또는 그에 구비된 평점 예측 장치는, 사용자들의 평점 M(i, j), 친구관계의 유사도그래프 A(i, j)와 본 발명의 평점 예측에 필요한 부수적인 파라미터 등을 포함한 상기 입력 정보에 대해 K개의 군집 Cg으로 분류한다(여기서, K는 2 이상의 자연수, g∈{1,2,3,...,K})(S120).
여기서, 친구관계의 유사도그래프 A(i, j) 및 사용자 i의 항목 j에 대한 평점 M(i, j)을 이용하여, 입력 정보에 대해 해당 성향들을 기초로 K개의 군집 Cg 으로 분류하기 위한 군집화 그래프를 생성하는 알고리즘은, Spectral 기법, Nonbacktracking Matrix 에 기반한 기법, Semidefinite Programming에 기반한 기법 등 다양한 방법이 사용될 수 있다. 이와 같은 군집화 그래프를 생성하는 알고리즘에 대하여는 기존의 논문 등을 통해 잘 알려져 있으므로 해당 문헌을 참조할 수 있다. 이와 같은 군집화를 통해 도 4와 같이 친구관계 여부와 평점(예, M1, M2)의 유클리드 거리 등에 기초한 유사도를 산출함으로써 유사한 성향의 사용자들의 정보(예, 도 4에서 (A,B), (C,D), (E,F))에 대하여 같은 군집으로 군집화한 K개의 군집 Cg 이 정해질 수 있다.
이와 같이 K개의 군집 Cg 이 획득되면, 본 발명의 일 실시예에 따른 추천 시스템, 또는 그에 구비된 평점 예측 장치는, 각각의 군집 Cg에 속한 사용자들의 각각의 항목 j에 대한 평균평점 R(g,j)을 산출한다(S130). 즉, R(g,j)는 각 군집 Cg 에 속한 사용자들의 항목 j에 대하여 평가한 평점들의 평균이다. 이는 군집별 평균 성향을 나타낸다.
이에 따라 본 발명의 일 실시예에 따른 추천 시스템, 또는 그에 구비된 평점 예측 장치는, 평균평점 R(g,j)을 이용하여 하기하는 바와 같이 각각의 사용자가 속한 군집의 적합도 F(g)를 판단해 각각의 사용자가 속하는 군집(x)을 결정한다(S140). 즉, 각각의 사용자에 대하여 상기 군집의 적합도 F(g)가 최대가 되는 군집(x)이 되도록 사용자가 속하는 군집을 결정할 수 있다.
이와 같이 사용자가 속하는 군집이 결정되면, 결정된 상기 군집(x)의 항목별 평균평점 R(x,:)을 이용하여 해당 군집에 속한 사용자의 평점을 업데이트할 수 있게된다(S150). 예를 들어, 상기 해당 군집(x)에 속한 사용자(w)의 평점 M(w, j) 중 데이터가 비어있는 대상 항목의 평점 M(w,:)을 R(x,:) 중 대응 항목의 평균평점으로 업데이트할 수 있다.
S140 단계에서, n수의 상기 사용자 각각에 대하여, 상기 군집의 적합도 F(g)를 [수학식1]에 따라 K개의 상기 군집 Cg 각각에 대하여 산출하여, 각 사용자가 속하는 군집(x)을 결정하는 데 이용할 수 있다. S140 단계에서 군집의 적합도 F(g)를 나타내는 [수학식1]은 소정의 임계치 내에서 더 이상 변화가 없을 때까지 복수회 반복하여 수행될 수 있다.
[수학식1]
F(g) = c1*NL1 + c2*NL2 + c3*S
여기서, 하이퍼 파라미터 c1,c2,c3는 가중치 계수, NL1은 대상 군집 Cg의 사용자들과 대상 사용자 간의 연결 엣지수, NL2는 대상 군집 Cg 이외의 사용자들과 대상 사용자 간의 연결 엣지수, S는 대상 사용자와 대상 군집 Cg 사이의 유사도이다.
상기 연결 엣지수는 Spectral 기법, Nonbacktracking Matrix 에 기반한 기법, Semidefinite Programming에 기반한 기법 등 다양한 군집화 그래프를 생성하는 알고리즘을 수행하는 동안 산출될 수 있으며, 해당 사용자들과 대상 사용자가 친구관계인 경우의 수이며, 친구관계의 유사도그래프 A(i, j)을 참조하여 산출될 수 있다. 또한, S는 대상 사용자(i)의 항목별 평점 M(i,:)과 대상 군집 Cg의 항목별 평균평점 R(g,:) 간의 유사도를 기초로 산출될 수 있다. 유사도는 유클리드 거리 등을 기초로 산출될 수 있다.
이에 따라, 각각의 사용자에 대하여 상기 군집의 적합도 F(g)가 최대가 되는 군집(x)이 되도록 사용자가 속하는 군집(x)을 결정할 수 있으며, S150 단계에서 사용자 w가 속한 군집이 x라면, 사용자 w의 업데이트 대상 항목의 평점 M(w,:)은 군집 x의 항목별 평균평점 R(x,:) 중 대응 항목의 평균평점으로 업데이트될 수 있다. 사용자 w의 평점 데이터가 존재하는 항목도 업데이트될 수 있지만, 특히, 해당 군집(x)에 속한 사용자(w)의 평점 M(w, j) 중 데이터가 비어있는 대상 항목의 평점 M(w,:)을 R(x,:) 중 대응 항목의 평균평점으로 업데이트할 수 있다.
예를 들어, 사용자들의 평점은, 문화 컨텐츠(영화, 음악, 도서) 사이트, 검색/SNS 사이트, 교육 플랫폼 등 다양한 분야의 추천 시스템을 통하여 획득될 수 있는, 문화 컨텐츠별 평점, 검색/SNS에서 활동내역에 따른 관심항목별 평점, 교육 플랫폼에서 학습내역에 따른 학습과목별 평점 등일 수 있다.
좀 더 부연하면, [수학식1]에서, 만일, 사용자 i가 확실히 군집 Cg에 속한다면, 군집 Cg의 사용자들과 사용자 i를 연결하는 연결 엣지수는 많을 것이고, 군집 Cg를 제외한 사용자들과 사용자 i를 연결하는 연결 엣지수는 적을 것이다. 따라서 첫 번째 항과 두 번째 항의 합 c1*NL1 + c2*NL2을, 사용자 i가 군집 Cg에 속하는 경우와 그렇지 경우에 대해 비교하면, 전자의 경우에 후자의 경우보다 더 큰 값을 갖는다. 마지막 세번째 항은 대상 군집 Cg의 대표적인 평점 분포와 얼마나 비슷한지를 나타내는 항이기 때문에 마찬가지로 c3*S 은 사용자 i가 군집 Cg에 속하는 경우에 그렇지 않은 경우보다 큰 값을 갖게 된다.
위와 같은 유사도 S를 측정하는 방법은 데이터에 따라 다르게 측정할 수 있는데, 만약 평점이 디스크리트(discrete)하다면 두 벡터가 같은 값을 가지는 원소의 개수를 유사도로 사용할 수 있다. 만약 평점이 discrete하지 않다면 두 벡터의 차의 절대값을 측정한 뒤에, 이것의 역수를 취하여 유사도를 측정하는 것도 가능하며, 측정값에 코사인을 취하여 코사인 유사도(cosine similarity) 등을 사용할 수도 있다.
따라서, 사용자 i는 군집의 적합도 F(g)가 가장 크게 나오는 군집에 속할 가능성이 가장 크게 되며, S140 과정을 수렴할때까지 반복함으로써 잘못된 군집화 결과를 수정하여, 사용자가 속하는 군집을 결정할 수 있으며, 이와 같이 사용자가 속하는 군집이 결정되면, 결정된 군집(x)의 항목별 평균평점 R(x,:)을 이용하여 해당 군집에 속한 사용자의 평점을 업데이트할 수 있게 된다. 예를 들어, 상기 해당 군집(x)에 속한 사용자(w)의 평점 M(w, j) 중 사용자 w의 업데이트 대상 항목의 평점 M(w,:)은 군집 x의 항목별 평균평점 R(x,:) 중 대응 항목의 평균평점으로 업데이트될 수 있다. 즉, 해당 군집(x)에 속한 사용자(w)의 평점 M(w, j) 중 데이터가 비어있는 대상 항목의 평점 M(w,:)을 R(x,:) 중 대응 항목의 평균평점으로 업데이트할 수 있다.
도 5는 본 발명의 일 실시예에 따른 다양한 응용 분야의 추천 시스템에 적용을 위한 평점 예측 장치의 구현 방법을 설명하기 위한 블록도이다. 본 발명의 일 실시예에 따른 다양한 응용 분야의 추천 시스템에 적용을 위한 평점 예측 장치는 하드웨어, 소프트웨어, 또는 이들의 결합으로 이루어질 수 있다. 예를 들어, 본 발명의 평점 예측 장치는 도 5와 같은 컴퓨팅 시스템(1000)으로 구현될 수 있다.
컴퓨팅 시스템(1000)은 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다. 프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory)(1310) 및 RAM(Random Access Memory)(1320)을 포함할 수 있다.
따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
또한, 이와 같은 본 발명의 일 실시예에 따른 다양한 응용 분야의 추천 시스템에 적용을 위한 평점 예측 장치에서 수행되는 기능은 컴퓨터 등 장치로 읽을 수 있는 기록 매체에 컴퓨터가 판독 가능한 코드로서 구현하는 것이 가능하며, 이와 같은 기록 매체와 컴퓨터 등 장치의 결합으로 기능 수행에 필요한 데이터나 정보를 입력하거나 출력하고 디스플레이하도록 구현할 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치, 하드 디스크, 이동형 저장장치 등의 저장 매체를 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크(예, 인터넷, 이동통신 네트워크 등)로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장된 형태가 가능하며 네트워크를 통해 실행될 수도 있다.
상술한 바와 같이, 본 발명에 따른 사용자에게 맞춤형 항목을 추천하기 위한 추천 알고리즘의 평점 예측 방법은, 관측평점으로 주어진 정보가 부족한 경우에 추가로 주어진 유사도 그래프를 더 이용하여 평점 예측의 정확도를 높이고 평점 예측의 성능을 극대화시킬 수 있다. 종래의 방법에서는 대부분 휴리스틱에 기반한 알고리즘이기 때문에 이론적인 성능이 보장되지 않거나 또는 실제 데이터에서 잘 동작하지 않는 문제점이 있지만, 본 발명에서는 이러한 문제점들을 극복하고 이론적으로 최적의 성능을 달성하는 새로운 알고리즘을 제공할 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (8)
- 사용자에게 맞춤형 항목을 추천하기 위한 추천 시스템에서의 평점 예측 방법에 있어서,
n수의 사용자들 중 사용자 i의 m개의 항목들 중 항목 j에 대한 각각의 평점 M(i, j) 및 상기 사용자들 간의 친구관계에 대한 유사도그래프를 포함하는 입력 정보를 수신하는 단계(여기서, n, m은 2 이상의 자연수, i∈{1,2,3,...,n}, j∈{1,2,3,...,m});
상기 입력 정보에 대해 상기 사용자들의 성향의 유사도를 기초로 K개의 군집 Cg으로 분류하는 단계(여기서, K는 2 이상의 자연수, g∈{1,2,3,...,K});
각각의 군집 Cg에 속한 사용자들의 각각의 항목 j에 대한 평균평점 R(g,j)을 산출하는 단계;
상기 평균평점 R(g,j)을 기초로 각각의 사용자가 속한 군집의 적합도를 판단해 각각의 사용자가 속하는 군집(x)을 결정하는 단계; 및
상기 군집(x)의 항목별 평균평점 R(x,:)을 이용하여 해당 군집에 속한 사용자의 업데이트 대상 항목의 평점을 업데이트하는 단계를 포함하고,
상기 유사도그래프는, 친구관계라면 '1'의 값, 아니라면 '0'의 값으로 이루어지는 원소값들로 구성된 n×n 인접행렬 형태이고,
상기 결정하는 단계에서, n수의 상기 사용자 각각에 대하여, 상기 군집의 적합도 F(g)를 식 F(g) = c1*NL1 + c2*NL2 + c3*S(기호의 설명은 하기와 같음)에 따라 K개의 상기 군집 Cg 각각에 대하여 산출하되, 소정의 임계치 내에서 수렴할 때까지 복수회 반복하여, 상기 각각의 사용자에 대하여 상기 군집의 적합도가 최대가 되는 상기 군집(x)에 속하도록 결정하며,
상기 업데이트하는 단계에서, 상기 해당 군집(x)에 속한 사용자(w)의 평점 M(w, j) 중 업데이트 대상 항목에 대해 상기 해당 군집(x)의 항목별 평균평점 R(x,:) 중 대응 항목의 평균평점으로 업데이트하되, 상기 해당 군집(x)에 속한 사용자(w)의 평점 M(w, j) 중 데이터가 비어있는 대상 항목에 대해 R(x,:) 중 대응 항목의 평균평점으로 업데이트하는, 평점 예측 방법.
여기서, c1,c2,c3는 가중치 계수, NL1은 대상 군집 Cg의 사용자들과 대상 사용자 간의 연결 엣지수, NL2는 대상 군집 Cg 이외의 사용자들과 대상 사용자 간의 연결 엣지수, S는 대상 사용자와 대상 군집 Cg 사이의 유사도이며, 상기 S는 대상 사용자의 항목별 평점 M(i,:)과 대상 군집 Cg의 항목별 평균평점 R(g,:) 간의 유사도를 기초로 산출되고, 상기 연결 엣지수는 해당 사용자들과 대상 사용자가 친구관계인 경우의 수임. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- n수의 사용자들 중 사용자 i의 m개의 항목들 중 항목 j에 대한 각각의 평점 M(i, j) 및 상기 사용자들 간의 친구관계에 대한 유사도그래프를 포함하는 입력 정보를 수신하는 기능(여기서, n, m은 2 이상의 자연수, i∈{1,2,3,...,n}, j∈{1,2,3,...,m});
상기 입력 정보에 대해 상기 사용자들의 성향의 유사도를 기초로 K개의 군집 Cg으로 분류하는 기능(여기서, g∈{1,2,3,...,K});
각각의 군집 Cg에 속한 사용자들의 각각의 항목 j에 대한 평균평점 R(g,j)을 산출하는 기능;
상기 평균평점 R(g,j)을 기초로 각각의 사용자가 속한 군집의 적합도를 판단해 각각의 사용자가 속하는 군집(x)을 결정하는 기능; 및
상기 군집(x)의 항목별 평균평점 R(x,:)을 이용하여 해당 군집에 속한 사용자의 업데이트 대상 항목의 평점을 업데이트하는 기능을 수행하되,
상기 유사도그래프는, 친구관계라면 '1'의 값, 아니라면 '0'의 값으로 이루어지는 원소값들로 구성된 n×n 인접행렬 형태이고,
상기 결정하는 기능에서, n수의 상기 사용자 각각에 대하여, 상기 군집의 적합도 F(g)를 식 F(g) = c1*NL1 + c2*NL2 + c3*S(기호의 설명은 하기와 같음)에 따라 K개의 상기 군집 Cg 각각에 대하여 산출하되, 소정의 임계치 내에서 수렴할 때까지 복수회 반복하여, 상기 각각의 사용자에 대하여 상기 군집의 적합도가 최대가 되는 상기 군집(x)에 속하도록 결정하며,
상기 업데이트하는 기능에서, 상기 해당 군집(x)에 속한 사용자(w)의 평점 M(w, j) 중 업데이트 대상 항목에 대해 상기 해당 군집(x)의 항목별 평균평점 R(x,:) 중 대응 항목의 평균평점으로 업데이트하되, 상기 해당 군집(x)에 속한 사용자(w)의 평점 M(w, j) 중 데이터가 비어있는 대상 항목에 대해 R(x,:) 중 대응 항목의 평균평점으로 업데이트하는, 사용자에게 맞춤형 항목을 추천하기 위한 추천 시스템에서의 평점 예측을 위한, 컴퓨터로 판독 가능한 코드가 기록된 기록 매체.
여기서, c1,c2,c3는 가중치 계수, NL1은 대상 군집 Cg의 사용자들과 대상 사용자 간의 연결 엣지수, NL2는 대상 군집 Cg 이외의 사용자들과 대상 사용자 간의 연결 엣지수, S는 대상 사용자와 대상 군집 Cg 사이의 유사도이며, 상기 S는 대상 사용자의 항목별 평점 M(i,:)과 대상 군집 Cg의 항목별 평균평점 R(g,:) 간의 유사도를 기초로 산출되고, 상기 연결 엣지수는 해당 사용자들과 대상 사용자가 친구관계인 경우의 수임.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20180062296 | 2018-05-31 | ||
KR1020180062296 | 2018-05-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190136941A KR20190136941A (ko) | 2019-12-10 |
KR102323424B1 true KR102323424B1 (ko) | 2021-11-09 |
Family
ID=69002994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190060316A KR102323424B1 (ko) | 2018-05-31 | 2019-05-22 | 관측평점과 유사도 그래프를 활용한 추천 알고리즘의 평점 예측 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102323424B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015774B (zh) * | 2020-09-25 | 2023-08-29 | 北京百度网讯科技有限公司 | 一种图表推荐方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140140309A (ko) * | 2013-05-29 | 2014-12-09 | (주) 다이퀘스트 | 사용자 간의 유사도 계산방법 및 이를 이용한 아이템 추천방법 |
KR101572719B1 (ko) * | 2013-09-06 | 2015-12-01 | 한양대학교 산학협력단 | 행렬 분해 기반 추천 방법을 위한 신뢰 네트워크를 이용하는 데이터 대치 방법 |
KR101630642B1 (ko) * | 2014-10-27 | 2016-06-15 | 서울대학교 산학협력단 | 사용자 맞춤형 항목 추천 방법 및 장치 |
KR101864822B1 (ko) * | 2016-09-12 | 2018-06-05 | 고려대학교 산학협력단 | 사용자를 위한 항목을 추천하는 장치 및 방법 |
-
2019
- 2019-05-22 KR KR1020190060316A patent/KR102323424B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20190136941A (ko) | 2019-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297848B (zh) | 基于联邦学习的推荐模型训练方法、终端及存储介质 | |
US20190179615A1 (en) | Community discovery method, device, server and computer storage medium | |
Sim et al. | Missing values and optimal selection of an imputation method and classification algorithm to improve the accuracy of ubiquitous computing applications | |
US10878029B2 (en) | Incorporating social-network connections information into estimated user-ratings of videos for video recommendations | |
CN109993627B (zh) | 推荐方法、推荐模型的训练方法、装置和存储介质 | |
CN110033097B (zh) | 基于多个数据域确定用户与物品的关联关系的方法及装置 | |
CN112989169B (zh) | 目标对象识别方法、信息推荐方法、装置、设备及介质 | |
CN110162692B (zh) | 用户标签确定方法、装置、计算机设备和存储介质 | |
US20190311418A1 (en) | Trend identification and modification recommendations based on influencer media content analysis | |
CN110489574B (zh) | 一种多媒体信息推荐方法、装置和相关设备 | |
CN110909868A (zh) | 基于图神经网络模型的节点表示方法和装置 | |
CN107203558A (zh) | 对象推荐方法和装置、推荐信息处理方法和装置 | |
KR20130134046A (ko) | 하이브리드 협업적 여과 방법을 이용한 코사인 유사도 기반 전문가 추천 장치 및 방법 | |
KR101953802B1 (ko) | 내연적 및 외연적 신뢰 관계를 이용한 아이템 추천 방법 및 장치 | |
CN110598126B (zh) | 基于行为习惯的跨社交网络用户身份识别方法 | |
CN111666481B (zh) | 数据挖掘方法、装置、计算机可读介质及电子设备 | |
CN113591986B (zh) | 用于生成推荐模型的对象权值的方法和个性化推荐方法 | |
CN112733034B (zh) | 内容推荐方法、装置、设备及存储介质 | |
KR102323424B1 (ko) | 관측평점과 유사도 그래프를 활용한 추천 알고리즘의 평점 예측 방법 | |
US12111881B2 (en) | Item recommendation with application to automated artificial intelligence | |
CN114756758B (zh) | 一种混合推荐方法和系统 | |
CN115690465A (zh) | 图像多标签分类方法、装置、计算机设备和存储介质 | |
JP2023170924A (ja) | 情報処理方法、情報処理装置およびプログラム | |
CN113094584A (zh) | 推荐学习资源的确定方法和装置 | |
CN111831890A (zh) | 用户相似度生成方法、装置、存储介质和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |