KR101708440B1 - 분산 환경에서 lda 및 능동 학습 기법을 융합한 적응형 아이템 추천 방법 - Google Patents

분산 환경에서 lda 및 능동 학습 기법을 융합한 적응형 아이템 추천 방법 Download PDF

Info

Publication number
KR101708440B1
KR101708440B1 KR1020150185418A KR20150185418A KR101708440B1 KR 101708440 B1 KR101708440 B1 KR 101708440B1 KR 1020150185418 A KR1020150185418 A KR 1020150185418A KR 20150185418 A KR20150185418 A KR 20150185418A KR 101708440 B1 KR101708440 B1 KR 101708440B1
Authority
KR
South Korea
Prior art keywords
item
user
profile
lda
information
Prior art date
Application number
KR1020150185418A
Other languages
English (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 KR1020150185418A priority Critical patent/KR101708440B1/ko
Application granted granted Critical
Publication of KR101708440B1 publication Critical patent/KR101708440B1/ko

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/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • G06F15/18
    • G06F17/30702
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Marketing (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 사용자에게 아이템을 추천하는 방법에 관한 것으로서, 보다 구체적으로는 LDA(LATENT DIRICHLET ALLOCATION) 및 능동 학습 기법을 융합하여 보다 효과적으로 사용자에게 아이템을 추천해 줄 수 있도록 하는 분산 환경에서 LDA 및 능동 학습 기법을 융합한 적응형 아이템을 추천하는 방법에 관한 것이다.
본 발명에 따른 아이템 추천 방법은 사용자 단말이 사용자에게 제1 아이템을 제시하는 아이템 제시 단계; 제시된 제1 아이템에 대한 평점 정보를 이용하여 사용자 정보를 산출하는 사용자 정보 산출 단계; 상기 사용자 정보를 고려하여, 상기 사용자를 LDA(LATENT DIRICHLET ALLOCATION)를 이용하여 모델링된 프로필 중 어느 하나에 할당하는 프로필 할당 단계; 할당된 프로필에 대한 정보를 고려하여, 협업 필터링에 의한 제2 아이템을 추천하는 아이템 추천 단계; 및 상기 제2 아이템에 대한 사용자의 평점을 이용한 성능지표가 소정의 조건을 만족하는지 여부를 판단하는 단계를 더 포함하며, 상기 소정의 조건을 만족하는 경우에는 상기 방법을 종료하고, 상기 소정의 조건을 만족하지 않는 경우에는 상기 소정의 조건을 만족할 때까지 각 단계를 반복 수행하는 것을 개시한다.

Description

분산 환경에서 LDA 및 능동 학습 기법을 융합한 적응형 아이템 추천 방법{ADAPTIVE ITEM RECOMMENDER METHOD COMBINED LATENT DIRICHLET ALLOCATION AND ACTIVE LEARNING IN DISTRIBUTED ENVIRONMENT}
본 발명은 사용자에게 아이템을 추천하는 방법에 관한 것으로서, 보다 구체적으로는 LDA(LATENT DIRICHLET ALLOCATION) 및 능동 학습 기법을 융합하여 보다 효과적으로 사용자에게 아이템을 추천해 줄 수 있도록 하는 분산 환경에서 LDA 및 능동 학습 기법을 융합한 적응형 아이템을 추천하는 방법에 관한 것이다.
인터넷(World Wide Web)에는 많은 웹 서비스들이 존재한다. 서비스들은 각자 자기들 고유의 아이템을 가지고 있고, 그 웹 서비스의 사용자들은 서비스에 존재하는 아이템들을 소비한다. 사용자들이 아이템을 소비한다는 것은 해당 웹 서비스에 오래 머무른다는 것이고, 그것은 웹 서비스의 수익으로 이어진다. 따라서 웹 서비스 운영자들은 어떻게 해야 사용자들을 자신의 웹 서비스에 오랫동안 머물 수 있도록 할 것인지에 대해 고민한다. 가장 간단하면서도 확실한 방법은 ‘추천’ 이다. 웹 서비스 내에서 각각의 사용자가 좋아할 만한 아이템을 선별하여 제공해 주는 것이다. 그렇게 함으로써 사용자들이 힘들게 웹 서비스 내부를 탐색하지 않고 보다 쉽게 아이템을 소비할 수 있다. 예를 들면, 구글의 YouTube 서비스는 각 동영상이 끝나고 난 이후에 관련된 동영상의 리스트를 보여주고, 사용자가 관심을 가질만한 동영상을 모아서 보여주기도 한다. 이러한 과정들은 사람들이 계속 YouTube에 존재하는 동영상을 볼 수 있도록 유도하고, 그것은 구글의 광고 수익으로 이어진다. 이러한 과정을 가능케 하는 추천은 다양한 데이터를 이용하여 이루어진다. 사용자나 아이템의 속성 자체를 분석하여 사용자가 좋아할만한 아이템을 추천해 주는 방법(예: Last.fm의 음악 추천)도 있고, 그러한 속성 정보 없이 단순히 사용자들의 행동 기록만을 기반으로 하여 추천해 주는 방법(예: Netflix의 영화 추천)도 있다.
그러나, 현재 여러 추천 방법에 있어서, 문제가 되는 부분 중 하나는 바로 초기 사용자 문제이다. 초기 사용자 문제는 서비스를 처음 사용하거나, 이용 기록이 별로 없는 사용자에게는 어떤 아이템을 추천해 주는 것이 좋을지를 판단하기 위한 근거 데이터가 없어 효과적으로 아이템을 추천해 줄 수 없는 문제점이 있다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위해 창안된 것으로, 분산 환경에서 LDA(LATENT DIRICHLET ALLOCATION) 및 능동 학습 기법이 융합된 추천 방법이다. 본 발명에서는 LDA를 이용하여 기존에 서비스를 사용한 사용자들을 효과적으로 그룹화하여 모델링하고, 능동 학습 기법을 이용하여 사용자들이 적은 수의 아이템에 평가를 내렸더라도 최소한의 데이터를 이용하여 효과적으로 아이템을 추천해줄 수 있도록 하는 사용자 친화적인 아이템 추천 방법을 제공하고자 한다.
상기한 과제를 해결하기 위한 본 발명에 따른 아이템 추천 방법에 있어서,
사용자 단말이 사용자에게 제1 아이템을 제시하는 아이템 제시 단계; 제시된 제1 아이템에 대한 평점 정보를 이용하여 사용자 정보를 산출하는 사용자 정보 산출 단계; 상기 사용자 정보를 고려하여, 상기 사용자를 LDA(LATENT DIRICHLET ALLOCATION)를 이용하여 모델링된 프로필 중 어느 하나에 할당하는 프로필 할당 단계; 할당된 프로필에 대한 정보를 고려하여, 협업 필터링에 의한 제2 아이템을 추천하는 아이템 추천 단계; 를 포함할 수 있다.
또한, 상기 방법은, 추천된 제2 아이템에 대한 평점 정보를 평점 데이터 베이스에 저장하는 저장 단계를 더 포함할 수 있다.
또한, 상기 프로필 할당 단계에서, LDA를 이용한 프로필 모델링은 상기 평점 데이터 베이스에 저장된 정보를 이용하여 수행될 수 있다.
또한, 상기 방법은, 상기 아이템 추천 단계 후에, 상기 제2 아이템에 대한 사용자의 평점을 이용한 성능지표가 소정의 조건을 만족하는지 여부를 판단하는 단계를 더 포함하며, 상기 소정의 조건을 만족하는 경우에는 상기 방법을 종료하고, 상기 소정의 조건을 만족하지 않는 경우에는 상기 소정의 조건을 만족할 때까지 각 단계를 반복 수행할 수 있다.
또한, 상기 아이템 제시 단계에서, 상기 제1 아이템은, 능동 학습 기법을 이용하여 산출된 아이템일 수 있다.
또한, 상기 능동 학습 기법은, 상기 LDA를 이용하여 모델링된 프로필을 이용하여 수행될 수 있다.
또한, 상기 협업 필터링은, 상기 LDA를 이용하여 모델링된 프로필을 이용하여 수행될 수 있다.
본 발명은 기존의 능동 학습 기법만을 이용한 추천 방법에서는 단순하게 자체적인 사용자 모델을 구성하여 추천을 수행했지만, 본 발명에서 제시하는 추천 방법은 LDA(Latent Dirichlet Allocation)를 이용한 토픽 모델링을 적용하여 사용자 프로필의 모델을 추출함으로써, 초기 사용자에게 추천할 아이템을 판단하는 문제를 효과적으로 해결할 수 있고,
또한, 일반적인 추천 알고리즘과 LDA는 대용량 데이터를 처리하는 데에 어려움이 있지만, 본 발명에서 제안하는 추천 방법은 분산 환경에서 수행 가능하도록 구현하여 데이터 량이 많은 경우에도 효과적으로 추천을 수행할 수 있도록 하였다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 일반적인 능동 학습이 수행되는 과정을 도시한 것이다.
도 2는 LDA 확률 모형을 도시한 것이다.
도 3은 본 발명을 설명하기 위해 사용되는 표기들의 용도이다.
도 4는 본 발명에 따른 아이템 추천 시스템의 구조도를 도시한 것이다.
도 5는 본 발명에 따른 아이템 추천 알고리즘을 도시한 것이다.
도 6는 사용자 모델링 알고리즘에 따른 Precision 차이를 나타낸 것이다.
도 7은 사용자 모델링 알고리즘에 따른 Recall 차이를 나타낸 것이다.
도 8은 본 발명에 따른 아이템 추천 알고리즘과 다른 추천 알고리즘과의 Precision 값을 비교한 그래프이다.
도 9는 본 발명에 따른 능동 학습 기법에 대한 평가 그래프이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 이하에서는 특정 실시예들을 첨부된 도면을 기초로 상세히 설명하고자 한다.
이하의 실시예는 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시 예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되는 것은 아니며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하에서는, 본 발명에 따른 아이템 추천 방법을 예시적인 실시 형태들을 첨부된 도면을 참조하여 상세히 설명한다.
먼저, 본 발명에서 이용되는 주요 개념인 협업 필터링, 능동 학습 기법, LDA(Latent Dirichlet Allocation)에 대하여 설명한다.
-협업 필터링
협업 필터링(Collaborative Filtering)은 아이템 추천 시스템을 구성하는 과정에서 가장 많이 사용되는 방법 중 하나이다. 예를 들어, 기억기반 방식, 모델기반 방식, 하이브리드 방식이 있다.
기억기반 방식은 사용자들의 행동 기록을 사용자-아이템 매트릭스로 표현하여 그것을 이용하는 방법이다. 이 방법을 사용할 때는 사용자-사용자 사이의 유사도나 아이템-아이템 사이의 유사도를 계산하는데, 이때 피어슨 상관관계, 코사인 유사도, 자카드 유사도 등이 사용된다. 각각의 사용자나 아이템을 기준으로 하여 가장 비슷한 패턴을 갖는 것을 찾고, 그 패턴을 이용하여 현재 추천 시스템을 이용하고 있는 사용자에게 아이템을 추천해준다.
모델기반 방식은 추천을 수행하기 위하여 하나의 모델을 형성하는 것이다. 주로 확률적인 모델, 예를 들면 베이지안 네트워크, 뉴럴 네트워크, 행렬 분해 등의 모델을 형성한다. 특히 행렬 분해 방식은 추천 시스템의 데이터베이스의 희소성을 감소시키는 방식의 기초가 된다. 본 발명에서 제안하는 추천시스템은 사용자 기반의 방식을 기초로 하여 구성하고 있다. 추천시스템을 사용하고 있는 사용자의 정보와, 평점 데이터베이스에 존재하는 사용자들의 그룹에 대한 확률 모델과의 확률분포를 이용하여 사용자가 좋아할만한 아이템을 계산해내는 방식으로 진행된다.
이런 다양한 방법들을 이용하여 추천 시스템을 구성할 때, 부딪히는 가장 큰 문제점은 신규 사용자 문제이다. 신규 사용자 문제는 추천 시스템에 데이터가 존재하지 않는 사용자가 시스템에 왔을 때 발생한다. 아무 데이터가 존재하지 않기 때문에 어떤 아이템을 그 사용자에게 추천해 주어야 할지 어렵다는 것이다. 이러한 문제를 해결하는 한 가지 전략은 처음 등장한 사용자에게 추천을 해 주기 위한 최소 정보를 사용자가 입력하도록 유도하는 것이다. 예를 들면, 영화 추천 시스템과 같이, 처음 가입한 사용자에 대해 추천을 해 주기 위해 일련의 영화를 반드시 평점을 남겨야 하도록 유도하는 것이다. 본 발명에서 제시하는 아이템 추천 시스템도 마찬가지로 같은 방식으로 새로운 사용자에 대해 아이템에 대해 평점을 남기도록 유도한다.
-능동 학습 기법
신규 사용자 문제를 해결하기 위해 여러 가지 접근법들이 시도되었는데, 그 중 한 가지 방법은 처음 시스템에 접근한 사용자가 자신이 직접 아이템을 검색하고, 그 아이템에 대해 평점을 남기도록 하는 것 대신에 사용자가 평가를 남길만한 몇 가지 아이템들을 시스템이 제시하여 사용자의 추가적인 행동(검색 등) 없이 손쉽게 평점을 남길 수 있도록 유도하는 것이다. 이 과정이 순조롭게 진행된다면 이러한 방식을 사용하고 있지 않은 추천 시스템에 비해 새로운 사용자로부터 데이터를 얻기가 수월할 것이다. 유사한 연구로는 사용자들로부터 피드백을 받고, 그것을 신규 사용자 문제를 해결하는 방법으로 이용한 추천 시스템들이 존재한다.
사용자로부터 피드백을 받아 신규 사용자 문제를 해결하고자 할 때는 몇 가지 주의해야 할 부분들이 있다. 첫 번째로, 처음에 제공해주는 아이템의 목록이 매우 중요하다는 것이다. 처음 제공해주는 아이템의 목록이 적절치 않다면 이후의 질의-응답 과정이 효과적으로 진행되지 않을 것이다. 그렇게 되면 사용자가 적절한 추천을 받기 위해 수행해야 할 반복 횟수가 증가함을 얘기하며 그것은 사용자가 시스템에 오래 머무는 것을 방해한다. 두 번째는 사용자는 모르는 아이템을 평가할 수 없다는 것이다. 사용자가 어떤 아이템에 평점을 남겼을 때, 효과적인 추천 결과를 보일 수 있다 하더라도 사용자가 그 아이템을 모르고 있다면 전혀 평점을 내릴 수 없다. 때문에 사용자가 그 아이템을 알고 있을지 여부도 매우 중요하다. 마지막으로, 어떤 아이템에 대한 정보는 매우 유용할 수 있지만 반대로 어떤 아이템에 대한 평가 결과는 도움이 되지 않는 경우도 있다. 따라서 사용자의 피드백을 반복적으로 받고, 그것을 추천에 반영하는 과정은 쉬운 것은 아니다.
여기서 능동 학습이 적용될 수 있다. 능동 학습은 데이터를 훈련하는 과정에서 사용자로부터 피드백을 받아 효과적으로 모델을 훈련시키는 방법으로 많이 사용되어왔다. 또한, 검색 시스템에서도 많이 사용되었다. 일반적인 능동 학습은 도 1과 같이 사용자의 피드백을 기반으로 한 훈련을 수행할 때, 훈련 모델을 효과적으로 훈련시킬 수 있도록 사용자가 선택 가능한 트레이닝 데이터의 범위를 좁혀 사용자에게 제공하는 방식으로 수행된다.
능동 학습을 이용하여 트레이닝을 수행하는 방법은 불확실성 감소기반, 오차 감소기반, 앙상블기반 세 가지 방법으로 나뉜다. 불확실성 감소기반 방식은 사용자가 평점을 매기는 값을 추정하거나, 결정을 내릴 수 있는 범위를 감소시키거나, 모델에서 사용되는 여러 파라미터의 불확실성을 감소시키는 방법이다. 오차 감소기반 방식은 사용자의 행동으로 인하여 예측되는 오차를 감소시키는 방향으로 진행되는 방법이다. 앙상블기반 방식은 하나의 모델만을 사용하는 것이 아니라 여러 가지 모델을 혼합하여 사용하는 방식이다. 본 발명에서 제시하는 추천 알고리즘은 능동 학습의 불확실성 감소기반, 오차 감소기반, 앙상블기반 방식 중에 불확실성 감소기반 방식을, 그리고 그 중에서도 엔트로피 축소 방법을 이용하였다.
-토픽 모델링(LDA: Latent Dirichlet Allocation)
토픽 모델링은 여러 문서 내에 존재하는 단어를 분석하고, 이를 통계적인 모델에 적용시켜 각 문서가 어떤 주제를 가지고 있는가를 분석하는 방법이다. 토픽 모델링을 수행하는 방법으로는 여러 가지 접근법이 있다. 본 발명에서는 그 중 하나인 LDA를 이용하였다.
토픽 모델링의 한 종류인 LDA(Latent Dirichlet Allocation)는 베이지안 추론을 활용한 확률적 생성 모델(Generative Probabilistic Model)로써 문서를 주제들의 혼합모델로 생각하고, 이러한 주제들이 단어들의 확률분포로 이루어져있다고 가정한다. 다시 말해, 사람이 글을 작성할 때 어떤 주제를 가지고 작성하게 되는데 자신이 말하고자 하는 주제와 해당 주제에 관련된 단어들을 확률적으로 선택해서 글을 쓴다고 가정하면, 역으로 수많은 문서집단에서 단어들의 구성으로부터 주제를 추론할 수 있고, 문서 간의 유사도 계산이나 분류 작업을 효율적으로 정확하게 해낼 수 있다. 추론 과정에서는 변형된 기댓값 최대화 알고리즘(Variational Expectation-Maximization)이나 마르코프 연쇄 몬테 카를로 깁스 샘플링(Markov Chain Monte Carlo Gibbs Sampling)이 활용된다. 이를 텍스트나 이미지, 사용자 행동 패턴 등 벡터 화된 데이터에 적용하면 해당 데이터들 사이에 연관된 주제를 추론해낼 수 있게 된다.
LDA는 문서 집단을 생성하는 확률적 생성 모델이다. 문서들을 확률적으로 생성된 임의의 확률 혼합 모델인 토픽으로 표현된다고 가정하고, 각 토픽은 단어들의 확률분포로 이루어지도록 모델링한다. 생성 모델이 3단계의 계층적인 베이지안 추론을 거치기 때문에, 토픽이 특수한 켤레사전확률 특성인 디리클레 분포로 표현되게 된다. 따라서 사전에 알고 있는 디리클레 분포를 활용하여 기존에 복잡했던 계산 과정을 단순화시킬 수 있다.
도 2는 LDA를 이용한 토픽 모델에 대한 확률모형이다. α와 β는 디리클레 분포를 표현하는 파라미터이며 θ는 파라미터 α로부터 생성된 각 문서의 주제 확률 분포를 나타낸다. z는 주제 확률 분포 로부터 생성된 하나의 단어에 할당된 주제이며, ω는 해당 단어에 할당된 주제로부터 β에서 특정 단어를 확률적으로 선택하게 된다. LDA를 이용한 토픽 모델은 발명이나 책과 같은 정형화된 문서 데이터에 대해서 효과적으로 주제들을 추론할 뿐만 아니라 최근에는 추천 시스템에서 유사한 아이템들을 그룹핑 하거나, 유사한 사용자들을 그룹핑하는 방법으로도 자주 사용되고 있는 추세이다.
이하에서는, 상기 설명된 협업 필터링, 능동 학습 기법, LDA(Latent Dirichlet Allocation)를 이용한 본 발명에 따른 아이템 추천 방법을 구체적으로 설명한다. 도 3은 본 발명을 설명하기 위해 사용되는 표기들의 용도로서, 이하 설명에서 이용되는 표기들의 설명과 이해에 참조한다.
도 4는 본 발명에서 제안하는 아이템 추천 시스템의 구조이다.
사용자는 웹 기반의 어플리케이션을 기반으로 추천 시스템과 상호작용한다. 이 웹 어플리케이션을 통하여 추천 시스템으로부터 추천을 받고, 평가 결과를 입력한다. 이 웹 어플리케이션에 출력되는 데이터는 분산 환경에서 수행된 결과들이다. 본 발명에서 구성한 분산 환경의 내부에는 크게 세 가지 요소가 존재한다. 첫 번째 요소는 실제 추천 알고리즘이 동작하는 추천 엔진이다. 추천 엔진은 Spark로 구현될 수 있으며, 이것은 분산 환경에서 사용되고 있는 Hadoop 프레임워크 기반으로 수행된다. 두 번째 요소는 추천 엔진이 실제 데이터에 용이하게 접근할 수 있도록 도와주는 데이터베이스 층이다. 데이터베이스는 NoSQL중 하나인 HBase를 사용하고 있으며, 이 HBase는 Hadoop 분산 파일 시스템의 위에 자리 잡고 있으며 결과적으로 실제 데이터는 Hadoop 분산 파일 시스템 위에 존재하게 된다. 이렇게 총 세 가지의 요소가 분산 환경에 존재하고, 웹 어플리케이션은 이 분산 환경에서 수행한 결과를 사용자에게 보여주는 형태로 구성될 수 있다.
도 5는 본 발명에 따른 아이템 추천 알고리즘을 도시한 것이다.
본 발명에 따른 아이템 추천 방법은 아이템 제시 단계(S110), 사용자 정보 산출 단계(S120), 프로필 할당 단계(S130), 아이템 추천 단계(S140), 소정의 조건을 만족하는지 여부를 판단하는 단계(S150)를 포함할 수 있고, 각 단계를 수행하기 위한 아이템 추천 엔진 내의 협업 필터링을 이용한 추천 알고리즘부(210), 능동 학습 기법을 고려한 질의 최적화부(220), LDA를 이용한 사용자 프로필 모델링부(230) 및 평점 데이터 베이스(240)를 더 포함할 수 있다.
먼저, 현재 아이템 추천 시스템을 사용하고 있는 사용자에게 추천을 효과적으로 수행할 수 있도록 능동 학습을 위한 아이템을 제시한다. 사용자는 이 제안 받은 아이템에 대해 평점을 매기고, 시스템은 그것을 이용해 사용자의 정보를 학습한다. 학습된 사용자의 정보를 기반으로 추천 엔진에 존재하는 프로필 중 적절한 프로필에 사용자를 할당하고, 할당된 프로필 정보를 이용해 협업 필터링을 기반으로 아이템을 추천한다. 사용자는 최종적으로 추천된 아이템에 평점을 매기고, 그 데이터는 시스템의 평점 데이터베이스에 저장된다. 이 과정이 능동 학습에서 측정되는 지표가 소정의 조건을 만족할 때까지 반복 수행된다.
평점 데이터베이스에 저장된 사용자들의 평점 데이터는 LDA를 이용해 사용자 그룹 모델링을 수행하는데 이용되며, 그 정보는 앞의 과정에서 사용자에게 초기 아이템을 제시하는 과정과 협업 필터링을 이용해 아이템을 추천해 주는 과정에서 이용된다.
먼저, S110 단계에서는 능동 학습을 위한 아이템을 사용자에게 제시한다. 상기 능동 학습 기법을 수행하기 위하여 사용자에 대한 최소한의 정보를 획득하기 위함이다.
S120 단계에서는 상기 S110 단계에서 제시된 아이템에 대하여 사용자가 평점을 매기고, 해당 평점 정보로부터 사용자에 대한 정보를 산출하는 단계이다.
S130 단계에서는 상기 S120 단계에서 수집된 사용자 정보를 고려하여, 상기 사용자를 LDA를 이용한 사용자 프로필 모델링부(230)에서 모델링된 프로필 중 매칭되는 어느 하나에 할당한다.
S140 단계에서는 상기 S130 단계에서 할당된 프로필에 대응되는 아이템을 협업 필터링을 이용한 추천 알고리즘부(210)에서 사용자에게 추천한다.
S150 단계에서는 상기 사용자에게 아이템을 제시하고 평점을 받고, 그에 따른 정보로 다시 아이템을 추천하는 일련의 단계(S110 내지 S140)가 소정의 조건을 만족하였는지를 판단한다(상기 소정의 조건은 이하, 능동 학습 기법을 활용한 질의 최적화 내용에서 보다 구체적으로 설명함). 만약, 상기 소정의 조건을 만족하였다면 사용자에게 적절한 아이템 추천을 수행한 것이므로 종료하고, 상기 소정의 조건을 만족하지 못하였다면 소정의 조건이 만족될 때까지 상기 일련의 단계(S110 내지 S140)를 반복 수행한다.
이하에서는, 상기 도 5에서의 협업 필터링을 이용한 추천 알고리즘부(210), 능동 학습 기법을 고려한 질의 최적화부(220), LDA를 이용한 사용자 프로필 모델링부(230) 및 평점 데이터 베이스(240)를 포함하는 아이템 추천 엔진이 본 발명에 따른 상기 일련의 단계(S110 내지 S140)를 수행하는 구체적 방법을 설명한다. 이하, 설명함에 있어서 사용되는 표기들의 용도는 도 3을 참조한다.
-확률 모델 기반의 협업 필터링
본 발명에서는 평가 데이터 베이스를 사용자 기준으로 클러스터링하며 수행한다. 본 발명에서는 전체 사용자 수를 U와, 전체 아이템 수 N에 대한 평점 데이터 셋 R이 있다고 가정한다. 여기서 R의 원소 ru,i ∈ R은 평가 데이터 셋에 존재하는 사용자 u의 아이템 i에 대한 평점을 나타내고, 전체 데이터 셋 R의 크기는 U
Figure 112015126593983-pat00001
N이다. 그리고 Ru는 사용자 u가 평가를 내린 모든 아이템에 대한 평점의 집합이라 가정한다. 이 가정을 따르면 데이터 셋 R에는 사용자가 평가를 내린 아이템이 있고, 평가를 내리지 않은 아이템이 있는데, 평가를 내리지 않은 아이템은 중립 평가 수치 mu를 계산하여 각각의 사용자마다 mu의 평가를 내렸다고 가정한다. 그러면 데이터 셋 R에 존재하는 모든 원소에는 평가 점수가 부여되며, Ru,i=ru,i라 가정한다. 또한, 벡터 ru는 사용자 u의 모든 평가 수치에 대한 벡터이며, 이것은 사용자 u의 프로필로 정의한다. 그리고 추천 시스템은 전체 데이터 셋 R에서 토픽 모델링(LDA)을 이용해 사용자들의 모델을 추출하는데, 그 모델의 집합을 M으로 정의한다.
일반적인 협업 필터링을 기반으로 하는 추천 시스템에서는 활동 사용자라는 용어가 등장한다. 활동 사용자는 현재 추천 시스템을 사용하고 있는 사용자로써, 본 발명에서는 n이라 정의하고, 아이템을 추천받기 위해 추천 시스템에 평점 데이터를 입력하는 사용자이다. 여기서 ar은 현재 추천 시스템을 사용하고 있는 활동 사용자가 평점을 매긴 아이템들이며, au는 활동 사용자가 평가하지 않은 아이템들의 집합이다. 따라서 활동 사용자의 아이템에 대한 평점 벡터 a는 ar과 au의 합집합이다.
앞에서 언급하였듯이, 중립 평가 수치로 각각의 사용자 u의 중립 평가 수치 mu를 정의하였는데, 이 값은 사용자 전체의 평가 수치에 대한 평균 R0로부터 가우시안 분포를 이룰 것이라 가정한다. 따라서 mu를 다음과 같이 정의한다.
Figure 112015126593983-pat00002
(1)
여기서 V는 전체 평가 수치와 사용자의 평점의 비율을 나타내며, 본 발명에 따른 실험에서는 9로 정의하여 사용하였다. μ는 전체 평점 정보의 평균을 나타내며, 위 수식 (1)로부터 계산된 사용자 u의 중립평가수치 mu를 사용자가 평점을 내리지 않은 아이템의 평점 값으로 추정한다.
다음으로 정의되는 부분은 현재 추천 시스템을 사용하고 있는 활동 사용자 n 의 확률적 모델이다. 본 발명에서는 활동 사용자 n의 확률 모델을 다음 식 (2)와 같은 모델을 따를 것이라 가정한다.
Figure 112015126593983-pat00003
(2)
여기서의 p(n|M)은 활동 사용자 n이 프로필 공간 M에서 k번째 프로필과 가장 유사하다고 판단될 때의 우도(likelihood) 값의 평균이다. 여기서 우도 확률을 계산하기 위해 가우시안 밀도 함수를 이용하였다. 각각의 아이템에 대한 평점의 분포가 독립적이라는 가정하고, 다음 식 (3)과 같은 함수를 정의하였다.
Figure 112015126593983-pat00004
Figure 112015126593983-pat00005
(3)
여기서의
Figure 112015126593983-pat00006
는 프로필 k의 아이템 i에 대한 평가 수치이며,
Figure 112015126593983-pat00007
는 프로필 k의 아이템 i가 아이템 i에 최대로 부여될 수 있는 평점 수치 대비 얼마의 평점을 받았는가에 대한 값이다. 이 식 (2)와 (3)을 이용하여, 프로필 공간 M에 존재하는 k번째 프로필
Figure 112015126593983-pat00008
와, 현재 시스템을 사용하고 있는 활동 사용자 n의 평점 정보 nr가 얼마만큼의 유사도를 갖고 있는지 계산할 수 있다. 그것은 다음 식 (4)와 같이 계산되며, 활동 사용자 n의 평가를 내린 아이템 nr이 주어졌을 때, 그 정보가 k번째 프로필
Figure 112015126593983-pat00009
정도를 나타낸다.
Figure 112015126593983-pat00010
(4)
앞서 정의된 수식들을 이용하면 현재 활동 사용자 n이 평가하지 않은 아이템 nu에 대한 확률 밀도를 nr을 이용해서 계산할 수 있다. 사용자 평점의 확률밀도와, 사용자 n과 프로필
Figure 112015126593983-pat00011
사이의 유사도를 이용하여 다음과 같은 형태로 계산이 가능하다.
Figure 112015126593983-pat00012
(5)
Figure 112015126593983-pat00013
, (6)
Figure 112015126593983-pat00014
(7)
한마디로, 본 발명에서는 활동 사용자 n에게 아이템을 추천할 때, 프로필 공간에 존재하는 프로필
Figure 112015126593983-pat00015
와 얼마나 유사한지 확률적으로 계산하여 그 수치를 가중치로 활용한다고 할 수 있다.
- 능동 학습 기법을 활용한 질의 최적화
협업 필터링 부분에서는 어떻게 활동 사용자 n에 대한 추천 아이템의 예측이 계산되는지에 대해 설명하였다. 능동 학습 기법을 활용하여 사용자에게 아이템을 질의할 때, 어떤 아이템을 질의하고, 응답 받아야 하며, 그 과정은 얼마나 진행되어야 하는지 결정하는 과정에 대해 설명한다.
본 발명에서는 활동 사용자의 프로필을 효과적으로 얻기 위해 질의 아이템을 선택하는 과정을 설명한다. 새로운 아이템을 질의하기 이전의 시스템 성능에 대한 지표 Loss Function λ는
Figure 112015126593983-pat00016
로 정의하고, 사용자에게 아이템 j를 질의한 이후에 얻은 평점 nj를 이용하여, 질의 이후의 성능지표를
Figure 112015126593983-pat00017
로 정의한다. 여기서 Loss Function을 정의한 목표는 적절한 질의 아이템 j를 선택하기 위함이며, 다음 기댓값을 최소화하는 j를 선택하는 방향으로 능동 학습이 진행된다.
Figure 112015126593983-pat00018
(8)
이 기댓값을 계산하는 과정에서 가장 중요한 요소는 Loss Function
Figure 112015126593983-pat00019
이다. 본 발명에서는 이 Loss Function을 활동 사용자 n과 프로필 공간 M의 프로필과의 유사도인
Figure 112015126593983-pat00020
으로 활용하였다.
Figure 112015126593983-pat00021
은 프로필 공간에 있는 k번째 프로필
Figure 112015126593983-pat00022
가 활동 사용자 n과 n의 평점 정보 nr이 주어졌을 때 얼마만큼의 유사도를 갖는지 나타낸다. 이 때,
Figure 112015126593983-pat00023
가 k의 값에 따라 갖는 분포는 프로필 공간에서 어떤 프로필과 활동 사용자 n과의 관계가 유사한지를 나타내는 분포가 된다. 따라서
Figure 112015126593983-pat00024
가 균등분포를 나타낸다면 활동 사용자 n은 모든 프로필과 유사도가 같다고 할 수 있다. 반대로 이 분포에 어떤 극점이 존재한다면, 그 극점에 해당하는 k번째 프로필과 활동 사용자 n이 가장 높은 유사도를 갖는 것으로 해석할 수 있다.
Figure 112015126593983-pat00025
(9)
이를 활용하여 위 식에서 정의한 Loss Function을 이용해 사용자에게 보여줄 질의 아이템을 가장 엔트로피가 낮은 아이템을 선택하는 과정으로 변경할 수 있다. 또한,
Figure 112015126593983-pat00026
을 방금 막 아이템 j에 대해 평점을 남기고, 그 정보가 업데이트 된 활동 사용자와
Figure 112015126593983-pat00027
가 갖는 유사도로 정의하였기 때문에 다음 식과 같이 사용자에게 보여줄 질의 아이템 j에 대한 기대치를 계산할 수 있다. 사용자에게 질의 아이템을 보여주고, 사용자로부터 질의에 대한 응답을 받는 과정은 이 기대치가 일정 기준점보다 적어질 때까지 반복한다.
Figure 112015126593983-pat00028
(10)
하지만, 여기서 소개하는 방법을 그대로 적용시키면 사용자는 앞서 언급한 모르는 아이템에 대해 질의 받는 경우가 많이 생긴다. 협업 필터링이 가지고 있는 문제점 중 하나는 데이터가 너무 듬성듬성 있다는 문제점이 있고, 추천 시스템을 사용하는 사용자 역시 모든 아이템에 대해 알고 있는 것이 아니라 전체 아이템 중 소수의 아이템에 대해서만 알고 있을 확률이 매우 높다. 예를 들면, 어떤 사용자가 능동 학습을 기반으로 하고 있는 영화 추천 시스템을 사용한다고 할 때, 그 사용자는 추천 시스템에 존재하는 모든 영화를 봤을 가능성은 매우 희박하다. 때문에 그 사용자에게 질의 아이템을 보여줄 때, 그 사용자가 보지 않은 영화를 질의 아이템으로 제시하면 그 사용자는 질의 아이템에 대해 응답을 할 수 없을 것이다. 때문에 앞서 제시한 방식에 사용자가 그 아이템에 대해 알고 있을 확률을 고려하여 질의 아이템의 리스트를 구성해야 한다. 따라서 질의 아이템의 리스트를 구성할 때는 다음 식과 같이 사용자 n이 아이템 j에 대해 평가하고자 할 때의 확률을 사용자 n이 그 동안 평가한 내용 nr과 n과 유사한 프로필 공간의 프로필
Figure 112015126593983-pat00029
의 관계를 고려해야 한다.
Figure 112015126593983-pat00030
(11)
위 식 (11)에서
Figure 112015126593983-pat00031
는 사용자가
Figure 112015126593983-pat00032
의 평가 기록과 유사하게 행동한다고 가정하였을 때 아이템 j에 대해 평가를 내릴 수 있는 확률을 나타낸다. 본 발명에서는 프로필 공간에 존재하는 각각의 프로필
Figure 112015126593983-pat00033
가 실제 사용자의 프로필이 아닌, 사용자 모델링을 통해 생성된 각 모델의 대표 프로필이기 때문에 다음 식 (12)와 같이 각 프로필이 가지고 있는 평가 점수의 확률을 이용하여 계산하였다.
Figure 112015126593983-pat00034
(12)
이 식 (12)는 사용자
Figure 112015126593983-pat00035
이 프로필
Figure 112015126593983-pat00036
와 유사한 행동 패턴을 띈다고 했을 때, 사용자가 아이템 j에 대해 평가를 내릴 수 있는지 여부에 대한 확률이다. 전체 평점 데이터에서 등장할 수 있는 최댓값으로 프로필에 존재하는 평점 값을 나누어 0에서 1사이의 값을 갖도록 한다.
- 토픽 모델링을 이용한 사용자 그룹 모델링
앞서 설명한 과정들은 아이템 추천 시스템에 존재하는 데이터가 프로필 공간으로 구성되어 있을 때를 가정하고 있다. 때문에 위 수식들은 데이터가 어떻게 프로필 공간을 구성하고 있으며, 아이템을 추천하기 전에 토픽 모델링의 파라미터를 어떻게 조정하고, 그 결과로 어떻게 사용자들이 모델링 되는지에 따라 다른 결과를 나타낸다. 본 발명에서는 LDA를 이용하여 프로필 공간을 구성한다. K를 잠재 클래스의 수라고 가정하였을 때,
Figure 112015126593983-pat00037
는 K개의 잠재 클래스라 가정한다.
앞서 설명한 바와 같이, LDA는 주로 사용된 분야는 텍스트 문서를 분석하는 분야였다. 하지만 최근에는 어떤 데이터를 유사한 그룹끼리 그룹핑을 하는 과정에서도 토픽 모델링이 사용되는 경향을 보여 왔다. 마찬가지로 본 발명에서도 각각의 사용자를 하나의 도큐먼트로 가정하고, 생성되는 토픽을 프로필 공간의
Figure 112015126593983-pat00038
로 간주한다. 이와 같은 가정으로 LDA를 수행하면, 모든 사용자 데이터를 K개의 클래스로 클러스터링 할 수 있다.
또한, 일반적인 LDA의 수행 결과는 K개 각각의 잠재 클래스 별로 전체 데이터 셋에서 등장한 모든 단어의 분포가 존재한다. 만약 이러한 LDA가 평점 데이터를 기반으로 각각의 도큐먼트가 한 사용자가 평점을 남긴 아이템의 리스트를 기반으로 수행되었다면, K개 각각의 잠재 클래스는 평점 데이터에 존재하는 N개의 모든 아이템에 대한 확률 분포를 갖고 있게 된다. 따라서 각각의 잠재 클래스들을 프로필 공간으로 간주할 수 있으며, 각각의 프로필에 존재하는 확률분포를 각 프로필의 아이템에 대한 평점으로 변환할 수 있다. 본 발명에서는 이와 같은 과정을 통해 LDA를 이용한 사용자 모델링을 수행하였다.
그리고 최종적으로 사용자에게 아이템을 추천해 줄 때는 LDA를 이용하여 그룹화된 결과를 이용하여 기억 기반 협업 필터링을 수행한다.
이하에서는, 본 발명에 따른 아이템 추천 방법에 대한 실험 결과를 설명한다.
본 발명에서 제안하는 아이템 추천 방법을 실험하기 위해 무비렌즈 데이터 셋을 사용하였다. 무비렌즈 데이터 셋은 사용자들의 영화에 대한 평점을 수집한 것으로서 10만개, 100만개, 1000만개의 사용자 평점 데이터가 공개되어 있다. 본 발명에서는 10만개의 데이터 셋을 이용하여 추천 알고리즘의 성능을 테스트 하였다. 사용한 데이터 셋에는 1000명의 사용자가 1700개의 영화에 대해 평점을 남긴 기록이 담겨있다.
본 발명에서 제안하는 추천 알고리즘을 크게 두 가지 관점에서 평가하였다. 첫 번째는 사용자 모델링을 구성할 때 LDA를 이용한 방식이 어느 정도 효과를 갖는가에 대해 성능을 평가한다. 두 번째는 능동 학습의 효과에 대한 평가이다.
일반적으로 추천 시스템의 성능을 측정할 때, 가장 많이 사용하는 방법 중 하나는 Precision과 Recall을 계산하여 평가하는 방법이다. 실험을 수행하기 위하여 전체 데이터 중 전체 사용자의 평점 정보 중 20%를 무작위로 추출하여 테스트 데이터로 분류하였으며, 나머지 데이터는 훈련 데이터로 활용하였다. 추천을 수행한 결과 중 추천 아이템의 개수에 따라 Precision을 구하였고, Recall은 테스트 데이터 전부에 대한 값을 구하였다. 또한, 사용된 사용자 모델링 알고리즘들은 랜덤 성을 띄고 있어, 10번의 수행을 거친 이후에 평균을 구하였다. 각각을 계산하는 식은 다음과 같다.
Figure 112015126593983-pat00039
Figure 112015126593983-pat00040
(13)
Precision은 현재 추천해 준 아이템의 리스트 중에 몇 개나 현재 추천 시스템을 사용하고 있는 사용자가 좋아할 만한 아이템인가를 측정하는 수치이다. 반면에 Recall은 현재 추천 시스템을 사용하고 있는 사용자가 좋아할만한 아이템 중에, 몇 개가 추천된 결과인지 판단하는 지표이다. 두 지표를 측정하는 과정에서 사용자가 좋아할 만한 아이템을 판별해야 하는데, 그 판별은 테스트 데이터에서 평점이 4점 이상인 아이템만을 해당 사용자가 좋아하는 아이템이라고 가정하였다.
본 발명에서 구성한 추천 시스템의 성능을 측정하기 위해 추천 결과에 대해 Precision과 Recall을 계산하여 총 세 가지 방법의 실험을 수행하였다. 첫 번째 실험은 사용자 모델링 기법을 다양하게 적용하여 일반적인 클러스터링 알고리즘을 이용하였을 때보다, 본 발명에서 제안하는 LDA를 이용하였을 때 얼마만큼의 성능 차이가 있는지 평가하였다. 이 과정에서 다른 사용자 모델링 방법으로 K-평균 클러스터링 방법을 이용하였다. 두 번째 실험은 다른 추천 알고리즘과는 어떤 성능 차이가 있는지 측정한 실험이다. 이 발명에서 제안하는 방식과 유사한 방법인 사용자기반의 추천 알고리즘 중 세 가지와 비교하여 성능을 측정하였다. 2장에서 설명하였듯 능동 학습의 효과는 신규 사용자 문제를 다른 알고리즘들에 비해 효과적으로 해결하는 것이라고 설명하였다. 이에 대해 실제 알고리즘이 어느 정도 효과를 갖는지 세 번째 실험으로 측정하였다. 테스트 데이터에 존재하는 사용자 중 10개 이상의 아이템이 테스트 데이터에 남아있는 사용자에 대해서 추천 시스템이 반복적으로 사용자에게 질의하고 응답을 받는 것을 가정한 후, 10번의 반복 동안 Precision을 측정한다. 그리고 능동 학습을 사용하였을 때와, 그렇지 않았을 때의 Precision 값의 변화를 비교하였다.
도 6은 사용자 모델을 형성할 때, 다양한 사용자 모델링 알고리즘을 이용해 Precision의 성능을 측정한 결과이다. 진하게 표시된 수치는 각각의 프로필 공간의 크기 별, 상위 N개 별로 가장 높은 값을 갖는 수치이다. 가장 먼저 표에 나타난 값의 분포 경향을 살펴보면, 프로필 공간의 크기 K의 값이 바뀜에 따라 추천 시스템의 성능이 달라지며, K가 20 일 때를 기점으로 값이 감소한다. 따라서 테스트를 수행한 데이터에서는 프로필 공간의 크기가 20 이상이 되는 경우에 과도적합이 발생함을 예측할 수 있다. 때문에 비록 K가 5 일 때와 25일 때, 30일 때에 LDA를 이용한 사용자 모델링 결과가 가장 좋지 않은 부분이 있지만 최적의 K값인 20 부근에서 LDA를 이용한 사용자 모델링 결과가 가장 좋으므로, 사용자 모델링을 수행하는 과정에서 LDA가 가장 효과적으로 동작했다는 것을 알 수 있다.
도 7은 사용자 모델링 알고리즘에 따른 Recall 차이를 나타낸 것이다. 상기 도 6과 마찬가지로 LDA가 사용자 모델링 과정에서 가장 효과적으로 동작했다는 것을 알 수 있다.
도 8은 본 발명에 따른 아이템 추천 알고리즘과 다른 추천 알고리즘과의 Precision 값을 비교한 그래프이다. 이 과정에서 세 가지 알고리즘을 이용하여 성능을 비교하였다. 본 발명에서의 아이템 추천 방법은 사용자 기반의 협업 필터링을 기반으로 하고 있다. 따라서 가장 널리 쓰이는 사용자기반의 협업 필터링 중 피어슨 상관계수, 코사인 유사도, 유클리드 거리를 사용한 추천 알고리즘과 성능을 비교하였다. 그 결과 본 발명에서 제안하는 추천 알고리즘이 다른 사용자기반의 협업 필터링 알고리즘보다 좋은 성능을 내고 있음을 알 수 있다.
도 9는 본 발명에 따른 능동 학습 기법에 대한 평가 그래프이다. 이 그래프는 앞서 설명하였듯이 테스트 데이터에 대해서 무작위로 데이터를 가리고, 사용자에게 질의를 던지고 반응을 받는 과정에서 어떤 방식을 이용했는지에 따른 결과이다. 테스트 데이터에서 각 사용자마다 10개의 데이터를 무작위로 가리고, 각 반복마다 상위 10개의 아이템을 추천해준다. 이 때 능동 학습을 이용하여 10개의 아이템을 사용자에게 추천 해 준 후 사용자가 가장 높은 추천도를 갖는 아이템을 선택한 경우와, 10개의 아이템을 무작위로 추천해준 후 그 아이템에 대한 전체 평점의 평균이 높은 아이템을 하나 선택하는 방식으로 하여, 각각의 반복마다 Precision 값을 측정하였다.
주황색 그래프는 반복 과정에서 다음 아이템을 선택할 때 무작위로 선택한 결과이다. 9번의 반복 과정 동안에 가장 평균 평점이 높은 아이템을 선택함으로써 Precision 값이 증가는 하였지만 거의 않았음을 알 수 있다. 반면 파란색 그래프로 나타나는 능동 학습을 활용한 반복 과정에서는 반복 횟수가 증가할수록 Precision 값도 증가하는 것을 알 수 있다. 이를 통하여 능동 학습 기법이 적은 신규 사용자 문제를 효과적으로 해결하였음을 알 수 있다.
앞서 살펴본 바와 같이, 본 발명은 기존에 존재하던 여러 능동 학습 방법이 사용된 추천 시스템에 LDA를 이용한 토픽 모델링 기법을 효과적으로 접목시켰다는 것이다. 두 가지를 효과적으로 결합함으로써 능동 학습의 장점과 토픽 모델링의 장점을 모두 취할 수 있게 되었다. 그 결과로 다른 클러스터링 알고리즘을 기반으로 한 추천 알고리즘보다 추천 성능이 좋았으며, 능동 학습을 적용시켰을 때가 적용시키지 않았을 때보다 신규 사용자 문제를 효과적으로 해결하는 결과를 보였다. 또한, 데이터의 확장 가능성을 고려하여 분산 환경 기반의 프레임워크를 기반으로 작성하였기 때문에 데이터의 확장성에 대한 문제를 해결한 추천 시스템이다.
그러나 본 발명에서 제안하는 방식이 신규 사용자 문제를 완벽하게 해결해주지는 못한다. 단순하게 사용자가 아이템에 대한 평점을 매길 때 수월하게 할 수 있도록 도와준다는 것은 완벽한 해결책이 아니다. 따라서 본 발명에서 제안하는 추천 시스템 보다 더욱 효과적으로 신규 사용자 문제를 해결하기 위해선 지금의 방식에 추가적인 과정이 필요하다. 예를 들어, 신규 사용자로부터 소셜 네트워크 서비스의 계정 정보 등을 입력 받아 그 정보로부터 사용자가 갖고 있는 관심사 등을 미리 추출하여 그것을 기반으로 초기 추천을 진행하면 제안하는 방식을 추가한다면 더욱 효과적인 아이템 추천 시스템이 될 것이다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (8)

  1. 사용자 단말이 사용자에게 제1 아이템을 제시하는 아이템 제시 단계;
    제시된 제1 아이템에 대한 평점 정보를 이용하여 사용자 정보를 산출하는 사용자 정보 산출 단계;
    상기 사용자 정보를 고려하여, 상기 사용자를 LDA(LATENT DIRICHLET ALLOCATION)를 이용하여 모델링된 프로필 중 어느 하나에 할당하는 프로필 할당 단계;
    할당된 프로필에 대한 정보를 고려하여, 협업 필터링에 의한 제2 아이템을 추천하는 아이템 추천 단계;를 포함하며,
    상기 아이템 제시 단계는,
    상기 LDA를 이용하여 모델링된 프로필에 따라 수행되는 능동 학습 기법을 이용하여, 상기 사용자가 아이템에 대하여 평점 정보를 매길 수 있는지 여부에 대한 확률을 산출하고, 해당 확률이 기 설정된 기준값 이상이 되도록 하는 하나 이상의 제1 아이템을 제시하는 것을 특징으로 하는 아이템 추천 방법.
  2. 제1항에 있어서,
    상기 방법은,
    추천된 제2 아이템에 대한 평점 정보를 평점 데이터 베이스에 저장하는 저장 단계를 더 포함하는 것을 특징으로 하는 아이템 추천 방법.
  3. 제2항에 있어서,
    상기 프로필 할당 단계에서,
    LDA를 이용한 프로필 모델링은 상기 평점 데이터 베이스에 저장된 정보를 이용하여 수행되는 것을 특징으로 하는 아이템 추천 방법.
  4. 제1항에 있어서,
    상기 방법은,
    상기 아이템 추천 단계 후에, 상기 제2 아이템에 대한 사용자의 평점을 이용한 성능지표가 소정의 조건을 만족하는지 여부를 판단하는 단계를 더 포함하며,
    상기 소정의 조건을 만족하는 경우에는 상기 방법을 종료하고,
    상기 소정의 조건을 만족하지 않는 경우에는 상기 소정의 조건을 만족할 때까지 각 단계를 반복 수행하는 것을 특징으로 하는 아이템 추천 방법.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 협업 필터링은,
    상기 LDA를 이용하여 모델링된 프로필을 이용하여 수행되는 것을 특징으로 하는 아이템 추천 방법.
  8. 컴퓨터에서 제1항 내지 제4항 및 제7항 중 어느 한 항에 기재된 각 단계를 실행하기 위한 컴퓨터로 읽을 수 있는 매체에 저장된 프로그램.
KR1020150185418A 2015-12-23 2015-12-23 분산 환경에서 lda 및 능동 학습 기법을 융합한 적응형 아이템 추천 방법 KR101708440B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150185418A KR101708440B1 (ko) 2015-12-23 2015-12-23 분산 환경에서 lda 및 능동 학습 기법을 융합한 적응형 아이템 추천 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150185418A KR101708440B1 (ko) 2015-12-23 2015-12-23 분산 환경에서 lda 및 능동 학습 기법을 융합한 적응형 아이템 추천 방법

Publications (1)

Publication Number Publication Date
KR101708440B1 true KR101708440B1 (ko) 2017-02-21

Family

ID=58313917

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150185418A KR101708440B1 (ko) 2015-12-23 2015-12-23 분산 환경에서 lda 및 능동 학습 기법을 융합한 적응형 아이템 추천 방법

Country Status (1)

Country Link
KR (1) KR101708440B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190016236A (ko) * 2017-08-08 2019-02-18 한국과학기술원 보조정보를 이용하는 조건부 변분 오토인코더 기반의 협업 필터링 방법 및 장치
KR20200129765A (ko) * 2019-05-10 2020-11-18 (주)버즈빌 광고 관련 부정 사용자 필터링을 위한 서비스 제공 장치 및 방법
KR20200135750A (ko) * 2020-11-19 2020-12-03 (주)버즈빌 광고 관련 부정 사용자 필터링을 위한 서비스 제공 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130204825A1 (en) * 2012-02-02 2013-08-08 Jiawen Su Content Based Recommendation System
JP2014146218A (ja) * 2013-01-30 2014-08-14 Nec Corp 情報提供装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130204825A1 (en) * 2012-02-02 2013-08-08 Jiawen Su Content Based Recommendation System
JP2014146218A (ja) * 2013-01-30 2014-08-14 Nec Corp 情報提供装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190016236A (ko) * 2017-08-08 2019-02-18 한국과학기술원 보조정보를 이용하는 조건부 변분 오토인코더 기반의 협업 필터링 방법 및 장치
KR102070049B1 (ko) 2017-08-08 2020-04-01 한국과학기술원 보조정보를 이용하는 조건부 변분 오토인코더 기반의 협업 필터링 방법 및 장치
KR20200129765A (ko) * 2019-05-10 2020-11-18 (주)버즈빌 광고 관련 부정 사용자 필터링을 위한 서비스 제공 장치 및 방법
WO2020231000A3 (ko) * 2019-05-10 2021-01-07 (주)버즈빌 광고 관련 부정 사용자 필터링을 위한 서비스 제공 장치 및 방법
KR102217211B1 (ko) * 2019-05-10 2021-02-18 (주)버즈빌 광고 관련 부정 사용자 필터링을 위한 서비스 제공 장치 및 방법
KR20200135750A (ko) * 2020-11-19 2020-12-03 (주)버즈빌 광고 관련 부정 사용자 필터링을 위한 서비스 제공 장치 및 방법
KR102217212B1 (ko) 2020-11-19 2021-02-19 (주)버즈빌 광고 관련 부정 사용자 필터링을 위한 서비스 제공 장치 및 방법

Similar Documents

Publication Publication Date Title
Symeonidis et al. Product recommendation and rating prediction based on multi-modal social networks
Kumar et al. Social popularity based SVD++ recommender system
Gohari et al. A new confidence-based recommendation approach: Combining trust and certainty
Li et al. A novel collaborative filtering recommendation approach based on soft co-clustering
Gras et al. Identifying grey sheep users in collaborative filtering: a distribution-based technique
Leite Dantas Bezerra et al. Symbolic data analysis tools for recommendation systems
De Maio et al. Social media marketing through time‐aware collaborative filtering
KR101708440B1 (ko) 분산 환경에서 lda 및 능동 학습 기법을 융합한 적응형 아이템 추천 방법
Valcarce et al. Language models for collaborative filtering neighbourhoods
Doerfel et al. An analysis of tag-recommender evaluation procedures
Modani et al. Fairness aware recommendations on behance
Yang et al. A collaborative filtering method based on forgetting theory and neural item embedding
CN110059257B (zh) 基于评分修正的项目推荐方法
Chen et al. DPM-IEDA: dual probabilistic model assisted interactive estimation of distribution algorithm for personalized search
WO2010044712A1 (en) Method and apparatus for default rating estimation
CN110598126A (zh) 基于行为习惯的跨社交网络用户身份识别方法
CN110543601B (zh) 一种基于中智集的上下文感知兴趣点推荐方法及系统
Nadee et al. Acquiring user information needs for recommender systems
Abdel-Hafez et al. Exploiting the beta distribution-based reputation model in recommender system
El Alami et al. Improving Neighborhood-Based Collaborative Filtering by a Heuristic Approach and an Adjusted Similarity Measure.
Zhi-Gang et al. Improved FC-lfm algorithm integrating time decay factor
Rastin et al. Using content features to enhance performance of user-based collaborative filtering performance of user-based collaborative filtering
El Alami et al. Toward an effective hybrid collaborative filtering: a new approach based on matrix factorization and heuristic-based neighborhood
Wang A collaborative filtering systems based on personality information
CN111460318A (zh) 基于显性和隐性信任的协同过滤推荐方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 4