KR20130022322A - 높은 연관성을 가지는 아이템을 추천하는 아이템 기반의 추천 엔진 - Google Patents

높은 연관성을 가지는 아이템을 추천하는 아이템 기반의 추천 엔진 Download PDF

Info

Publication number
KR20130022322A
KR20130022322A KR1020110085780A KR20110085780A KR20130022322A KR 20130022322 A KR20130022322 A KR 20130022322A KR 1020110085780 A KR1020110085780 A KR 1020110085780A KR 20110085780 A KR20110085780 A KR 20110085780A KR 20130022322 A KR20130022322 A KR 20130022322A
Authority
KR
South Korea
Prior art keywords
item
user
query
recommendation
vectors
Prior art date
Application number
KR1020110085780A
Other languages
English (en)
Other versions
KR101334096B1 (ko
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 KR20110085780A priority Critical patent/KR101334096B1/ko
Priority to US14/241,193 priority patent/US20140365456A1/en
Priority to PCT/KR2012/006821 priority patent/WO2013032198A1/ko
Publication of KR20130022322A publication Critical patent/KR20130022322A/ko
Application granted granted Critical
Publication of KR101334096B1 publication Critical patent/KR101334096B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 출원은 추천 엔진에 관한 것으로, 추천 엔진은 질의자에 의하여 선택된 기준 아이템과 연관된 적어도 하나의 추천 아이템을 검색한다. 추천 엔진은 복수의 아이템 벡터들을 복수의 문서들로 저장하고, 복수의 문서들에서 기준 아이템과 연관된 기준 문서를 검색하여 기준 아이템 벡터를 추출하며, 만일 성공하면 추출된 기준 아이템 벡터와 가장 높게 연관되는 적어도 하나의 사용자를 포함하는 질의문을 생성하고, 복수의 아이템 벡터들 각각은 사용자-선호도 쌍을 포함하는 원소로 구성되는 질의문 생성 모듈 및 생성된 질의문을 기초로 상기 추출된 기준 아이템 벡터와 복수의 문서들 내에 포함된 상기 복수의 아이템 벡터들 각각 간의 상관도를 계산하여 적어도 하나의 추천 아이템을 제공하는 검색 모듈을 포함한다. 따라서 개시된 기술은 추천 아이템을 빠르게 검색할 수 있다.

Description

높은 연관성을 가지는 아이템을 추천하는 아이템 기반의 추천 엔진{ITEM BASED RECOMMENDATION ENGIINE RECOMMENDING HIGHLY ASSOCIATED ITEM}
본 출원은 아이템 추천 기술에 관한 것으로, 보다 상세하게는, 높은 연관성을 가지는 추천 아이템을 빠르게 검색하여 제공할 수 있는 아이템 추천 시스템에 관한 것이다.
인터넷 이용이 활발해짐에 따라 오프라인에서 이루어졌던 많은 서비스와 상품의 제공이 웹에서 이루어지고 있다. 사용자는 특정 웹사이트를 방문한 후 검색어를 입력하여 서비스 또는 상품에 관련된 자료를 수집할 수 있고, 특정 웹사이트는 사용자에 의하여 선택된 아이템과 높은 연관성을 가지는 다른 추천 아이템을 사용자에게 제공할 수 있다. 이와 같은 기술은 한국특허공개 제10-2001-0091506호에 개시되어 있다.
개시된 기술은 추천 아이템을 빠르게 검색할 수 있는 추천 엔진을 제공한다.
실시예들 중에서, 추천 엔진은 질의자에 의하여 선택된 기준 아이템과 연관된 적어도 하나의 추천 아이템을 검색한다. 상기 추천 엔진은 복수의 아이템 벡터들을 복수의 문서들로 저장하고, 상기 복수의 문서들에서 상기 기준 아이템과 연관된 기준 문서를 검색하여 기준 아이템 벡터를 추출하며, 만일 성공하면 상기 추출된 기준 아이템 벡터와 가장 높게 연관되는 적어도 하나의 사용자를 포함하는 질의문을 생성하고, 상기 복수의 아이템 벡터들 각각은 사용자-선호도 쌍을 포함하는 원소로 구성되는 질의문 생성 모듈 및 상기 생성된 질의문을 기초로 상기 추출된 기준 아이템 벡터와 상기 복수의 문서들 내에 포함된 상기 복수의 아이템 벡터들 각각 간의 상관도를 계산하여 상기 적어도 하나의 추천 아이템을 제공하는 검색 모듈을 포함한다.
일 실시예에서, 상기 검색 모듈은 상기 적어도 하나의 사용자의 선호도와 상기 복수의 아이템 벡터들 각각에 있는 적어도 하나의 사용자의 선호도 간의 상관도를 계산할 수 있다. 일 실시예에서, 상기 상관도는 피어슨 상관계수(Pearson Coefficient)를 사용하여 계산될 수 있다. 일 실시예에서, 상기 질의문은 상기 적어도 하나의 사용자 각각을 질의 원소로 정의하고, 상기 질의 원소는 적어도 해당 선호도를 부스트로 포함하며 해당 사용자를 용어로 포함할 수 있다. 일 실시예에서, 상기 검색 모듈은 상기 질의 원소를 기초로 상기 복수의 아이템 벡터들 중 가장 높은 랭킹을 가지는 적어도 하나의 아이템 벡터를 검색할 수 있다. 일 실시예에서, 상기 랭킹은 상기 부스트와 상기 피어슨 상관계수를 기초로 계산될 수 있다.
일 실시예에서, 상기 질의문은 상기 적어도 하나의 사용자 각각을 질의 원소로 정의하고, 상기 질의 원소는 적어도 해당 선호도와 무관한 상수를 부스트로 포함하며 해당 사용자를 용어로 포함할 수 있다.
일 실시예에서, 상기 추천 엔진은 만일 실패하면 상기 기준 아이템과 무관하게 현재 시간대에서 가장 자주 검색된 적어도 하나의 아이템을 상기 적어도 하나의 추천 아이템으로 결정하는 유행 추천 모듈을 더 포함할 수 있다.
일 실시예에서, 상기 질의문 생성 모듈은 만일 실패하면 상기 기준 아이템과 무관하게 상기 질의자를 포함하는 질의문을 생성할 수 있다. 일 실시예에서, 상기 검색 모듈은 상기 질의자를 상기 복수의 아이템 벡터들에서 검색하여 해당 선호도가 가장 높은 적어도 하나의 아이템을 상기 적어도 하나의 추천 아이템으로 결정할 수 있다.
일 실시예에서, 상기 질의문의 구조는 다음의 트리 구조를 포함할 수 있다.
<트리 구조>
질의문 -+-- 부스트
+-- 절 -+- 원소리스트-+- 원소 -+- 타입
+- 부스트
+- 용어 {사용자 필드, 사용자}
여기에서, 상기 부스트는 선호도에 상응하고, 상기 원소리스트는 적어도 하나의 원소를 포함할 수 있고, 상기 타입은 용어 또는 연산자의 종류를 결정하기 위하여 사용되며, 상기 사용자 필드는 상기 복수의 아이템 벡터들에서 사용자를 검색한다는 것을 알려주고, 상기 사용자는 상기 적어도 하나의 사용자 중 하나를 나타내낼 수 있다.
실시예들 중에서, 아이템 추천 방법은 추천 엔진에서 수행된다. 추천 엔진은 질의자에 의하여 선택된 기준 아이템과 연관된 적어도 하나의 추천 아이템을 검색한다. 상기 아이템 추천 방법은 복수의 아이템 벡터들을 복수의 문서들로 저장하고, 상기 복수의 문서들에서 상기 기준 아이템과 연관된 기준 문서를 검색하여 기준 아이템 벡터를 추출하는 단계, 만일 성공하면 상기 추출된 기준 아이템 벡터와 가장 높게 연관되는 적어도 하나의 사용자를 포함하는 질의문을 생성하는 단계 및 상기 생성된 질의문을 기초로 상기 추출된 기준 아이템 벡터와 상기 복수의 문서들 내에 포함된 상기 복수의 아이템 벡터들 각각 간의 상관도를 계산하여 상기 적어도 하나의 추천 아이템을 제공하는 단계를 포함한다. 상기 복수의 아이템 벡터들 각각은 사용자-선호도 쌍을 포함하는 원소로 구성될 수 있다.
일 실시예에서, 상기 아이템 추천 방법은 만일 실패하면 상기 기준 아이템과 무관하게 현재 시간대에서 가장 자주 검색된 적어도 하나의 아이템을 상기 적어도 하나의 추천 아이템으로 결정하는 단계를 더 포함할 수 있다.
다른 일 실시예에서, 상기 아이템 추천 방법은 만일 실패하면 상기 기준 아이템과 무관하게 상기 질의자를 포함하는 질의문을 생성하는 단계 및 상기 질의자를 상기 복수의 아이템 벡터들에서 검색하여 해당 선호도가 가장 높은 적어도 하나의 아이템을 상기 적어도 하나의 추천 아이템으로 결정하는 단계를 더 포함할 수 있다.
개시된 기술은 과제의 해결 수단에 의한 일 구성으로부터 추천 아이템을 빠르게 검색할 수 있다.
도 1는 개시된 기술의 일 실시예에 따른 추천 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 추천 서버를 설명하는 블록도이다.
도 3은 도 2의 추천 엔진을 설명하는 블록도이다.
도 4는 도 3의 추천 엔진에서 아이템을 추천하는 제1 과정을 설명하는 도면이다.
도 5는 도 3의 추천 엔진에서 아이템을 추천하는 제2 과정을 설명하는 도면이다.
도 6은 도 4의 아이템을 추천하는 제1 과정의 예를 설명하는 도면이다.
도 7은 도 5의 아이템을 추천하는 제2 과정의 예를 설명하는 도면이다.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 개시된 기술에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1는 개시된 기술의 일 실시예에 따른 추천 시스템을 설명하는 도면이다.
도 1을 참조하면, 추천 시스템(100)은 사용자 컴퓨터(110)와 추천 서버(120)를 포함한다.
사용자 컴퓨터(110)는 추천 서버(120)에 직접적 또는 간접적으로 접속하여 아이템을 검색 또는 선택한다. 아이템은 추천 서버(120)에 의하여 제공되는 상품 또는 추천 서버(120)에 의하여 제공되는 문서에 상응할 수 있다.
추천 서버(120)는 사용자 기반의 또는 아이템 기반의 추천을 통해 적어도 하나의 추천 아이템을 사용자 컴퓨터(110)에 제공한다. 여기에서, 사용자 기반의 추천은 사용자와 유사한 선호도를 갖는 다른 사용자들의 선호도를 기초로 사용자의 특정 아이템에 대한 선호도를 예측하는 것이고, 아이템 기반의 추천은 복수의 아이템들의 유사도를 기초로 특정 사용자의 선호도를 예측하는 것이다.
도 2는 도 1에 있는 추천 서버를 설명하는 블록도이다.
도 2를 참조하면, 추천 서버(120)는 사용자 관리부(210), 사용자 프로파일부(220), 아이템 프로파일부(230) 및 추천 엔진(240)을 포함한다.
사용자 관리부(210)는 질의자에 관한 정보를 얻는다. 일 실시예에서, 질의자에 관한 정보는 해당 사용자가 로그인할 때 사용되는 계정을 통해서 얻을 수 있다. 다른 일 실시예에서, 질의자에 관한 정보는 해당 사용자가 로그인하지 않는 경우에는 쿠키 정보를 기초로 질의자를 추정할 수 있다. 여기에서, 쿠키 정보는 과거의 사용되었던 계정을 포함할 수 있다.
사용자 프로파일부(220)는 복수의 사용자들에 대한 사용자 프로파일 정보를 포함한다. 각 사용자 프로파일 정보는 성별, 연령, 거주지, 직업 등을 포함할 수 있고, 각 사용자에 의하여 가입될 때 생성될 수 있다. 일 실시예에서, 복수의 사용자들에 대한 사용자 프로파일 정보는 그룹별로 저장될 수 있다. 예를 들어, 각 사용자 프로파일 정보는 성별, 연령, 거주지, 직업 등을 기초로 분류되어 저장될 수 있다.
일 실시예에서, 사용자 프로파일부(220)는 복수의 사용자들 각각에 대한 관심 아이템 정보를 더 포함할 수 있다. 일 실시예에서, 관심 아이템 정보는 해당 사용자가 과거에 구매하였던 적어도 하나의 아이템을 기초로 결정될 수 있다. 다른 일 실시예에서, 관심 아이템 정보는 해당 사용자가 최근 검색하였던 적어도 하나의 아이템을 기초로 결정될 수 있다. 또 다른 일 실시예에서, 관심 아이템은 해당 사용자가 직접 입력한 적어도 하나의 아이템을 기초로 결정될 수 있다.
아이템 프로파일부(230)는 복수의 아이템들에 대한 아이템 프로파일 정보를 포함한다. 각 아이템 프로파일 정보는 그룹별로 분류될 수 있다. 예를 들어, 영화의 경우 각 아이템 프로파일 정보는 장르, 배우, 감독 등을 기초로 분류되어 저장될 수 있다.
추천 엔진(240)은 질의자 또는 질의자에 의하여 선택되거나 검색된 아이템 또는 관심되는 아이템(이하, 기준 아이템)을 기초로 적어도 하나의 추천 아이템을 검색한다.
일 실시예에서, 추천 엔진(240)은 질의자와 유사한 다른 사용자들의 선호도를 기초로 비기준 아이템에 대한 질의자의 선호도를 예측할 수 있다. 다른 일 실시예에서, 추천 엔진(240)은 기준 아이템과 비기준 아이템 간의 유사도를 기초로 비기준 아이템에 대한 질의자의 선호도를 예측할 수 있다.
도 3은 도 2의 추천 엔진을 설명하는 블록도이다.
도 3을 참조하면, 추천 엔진(240)은 문서 저장부(310), 질의문 생성 모듈(320) 및 검색 모듈(330)을 포함하고, 유행 추천 모듈(340)을 더 포함할 수 있다.
문서 저장부(310)는 복수의 문서들을 저장한다.
일 실시예에서, 문서 저장부(310)는 복수의 아이템 벡터들을 복수의 문서들로 저장할 수 있다. 복수의 아이템 벡터들과 복수의 문서들은 일대일로 매핑될 수 있다. 여기에서, 아이템 벡터는 아이템을 사용자들에 대한 선호도로 이루어진 벡터로서, 사용자-선호도 쌍을 포함하는 원소로 구성될 수 있다. 결과적으로, 복수의 아이템 벡터들 각각은 사용자-선호도 쌍을 포함하는 원소로 구성될 수 있다. 예를 들어, n 번째 아이템 벡터는 다음과 같이 정의될 수 있다.
ITEMn = (ratingn,1, ratingn,2, …, ratingn,m), 여기에서, ratingn,m은 n 번째 아이템에 대한 m 번째 사용자의 선호도
다른 일 실시예에서, 문서 저장부(310)는 복수의 사용자 벡터들을 복수의 문서들로 저장할 수 있다. 복수의 사용자 벡터들과 복수의 문서들은 일대일로 매핑될 수 있다. 여기에서, 아이템 벡터는 아이템을 사용자들에 대한 선호도로 이루어진 벡터로서, 사용자-선호도 쌍을 포함하는 원소로 구성될 수 있다. 결과적으로, 복수의 사용자 벡터들 각각은 아이템-선호도 쌍을 포함하는 원소로 구성될 수 있다. 예를 들어, n 번째 아이템 벡터는 다음과 같이 정의될 수 있다.
USERm = (ratingm,1, ratingm,2, …, ratingm,n), 여기에서, ratingm,n은 m 번째 아이템에 대한 n 번째 사용자의 선호도
질의문 생성 모듈(320)은 질의자 정보 또는 기준 아이템 정보를 기초로 질의문을 생성한다.
일 실시예에서, 질의문 생성 모듈(320)은 문서 저장부(310)에 저장되어 있는 복수의 문서들에서 기준 아이템과 연관된 기준 문서를 검색하여 기준 아이템 벡터를 추출할 수 있다. 질의문 생성 모듈(320)은 기준 아이템 벡터와 연관되는 적어도 하나의 사용자를 포함하는 질의문을 생성할 수 있다.
다른 일 실시예에서, 질의문 생성 모듈(320)은 문서 저장부(310)에 저장되어 있는 복수의 문서들에서 질의자와 연관된 기준 문서를 검색하여 기준 사용자 벡터를 추출할 수 있다. 질의문 생성 모듈(320)은 기준 사용자 벡터와 연관되는 적어도 하나의 아이템을 포함하는 질의문을 생성할 수 있다.
검색 모듈(330)은 질의문을 기초로 적어도 하나의 추천 아이템을 검색한다. 일 실시예에서, 검색 모듈(330)은 질의문을 기초로 기준 아이템 벡터와 복수의 문서들 내에 포함된 복수의 아이템 벡터들 각각 간의 상관도를 계산할 수 있다. 다른 일 실시예에서, 검색 모듈(330)은 질의문을 기초로 기준 사용자 벡터와 복수의 문서들 내에 포함된 복수의 사용자 벡터들 각각 간의 상관도를 계산할 수 있다. 상기의 실시예들에서, 상관도는 피어슨 상관계수로 계산될 수 있다.
검색 모듈(330)은 상관도를 기초로 복수의 아이템들(예를 들어, 비기준 아이템)에 대한 질의자의 선호도를 예측하여 적어도 하나의 추천 아이템을 검색할 수 있다.
유행 추천 모듈(340)은 기준 아이템 또는 질의자와 무관하게 적어도 하나의 추천 아이템을 결정할 수 있다. 일 실시예에서, 유행 추천 모듈(340)은 복수의 사용자들에 의하여 자주 검색된 적어도 하나의 아이템을 적어도 하나의 추천 아이템으로 결정할 수 있다. 일 실시예에서, 유행 추천 모듈(340)은 질의자가 추천 서버(120)에 처음 접속하여 질의자가 어떤 아이템을 선호하는지에 대하여 알 수 없는 경우에 실행될 수 있다. 이를 위하여, 아이템 프로파일부(230)는 복수의 아이템들 각각에 대하여 실시간으로 업데이트되는 검색 횟수를 저장할 수 있고, 유행 추천 모듈(340)은 아이템 프로파일부(230)로부터 복수의 아이템들에 대한 검색 횟수를 얻을 수 있다.
도 4는 도 3의 추천 엔진에서 아이템을 추천하는 제1 과정을 설명하는 도면이다.
도 4를 참조하면, 추천 엔진(240)은 아이템 기반의 추천 아이템을 질의자에 제공할 수 있다.
추천 서버(120)는 질의자가 아이템을 선택하면, 질의자 정보 및 기준 아이템 정보를 추천 엔진(240)에 전달할 수 있다. 여기에서, 기준 아이템 정보는 질의자에 의하여 선택된 적어도 하나의 아이템에 대한 정보라고 가정한다.
추천 엔진(240)이 질의자 정보 및 기준 아이템 정보를 수신하면(단계 S401), 질의문 생성 모듈(320)은 문서 저장부(310)에서 기준 아이템과 연관된 기준 문서를 검색하여 기준 아이템 벡터를 추출한다(단계 S402).
문서 저장부(310)는 복수의 아이템 벡터들을 복수의 문서들로 저장하고, 복수의 아이템 벡터들는 사용자와 선호도로 표현될 수 있으며 아래와 같은 형태로 문서 저장부(310)에 저장될 수 있다.
Item(i)={User(j):R(j)} (0≤i 인 자연수, 0≤j 인 자연수)
여기에서, Item(i)는 문서에 상응할 수 있다. i의 최대값은 아이템의 수에 상응하고, j의 최대값은 사용자의 수에 상응한다. R(j)는 사용자 j의 아이템 i에 대한 선호도를 나타낸다.
예를 들어, 질의자가 아이템 k(0≤k≤i)를 선택하면, 질의문 생성 모듈(320)은 문서 저장부(310)에서 Item(k)를 기준 문서로서 검색하여 기준 아이템 벡터를 추출할 수 있다.
만일 검색이 성공하면, 질의문 생성 모듈(320)은 기준 아이템 벡터와 가장 높게 연관되는 적어도 하나의 사용자를 포함하는 질의문을 생성한다(단계 S403 및 단계 S404).
일 실시예에서, 질의문은 적어도 하나의 사용자와 연산자로 표현될 수 있으며 아래와 같은 형태로 생성될 수 있다.
Query="User(1)|User(2)|…|User(j)" (0≤j 인 자연수)
j의 최대값은 사용자의 수에 상응하고, |는 OR 연산자에 상응한다.
예를 들어, 질의문 생성 모듈(220)이 "User(1)|User(2)|User(3)"을 생성하면, 검색 모듈(330)은 User(1), User(2), User(3) 중 적어도 하나를 포함하는 복수의 문서들을 검색하여 복수의 아이템 벡터들을 추출할 수 있다.
다른 일 실시예에서, 질의문은 적어도 하나의 사용자를 질의 원소로 정의할 수 있다. 일 실시예에서, 질의 원소는 적어도 해당 선호도를 부스트로 포함하며 해당 사용자를 절(또는 용어)로 포함할 수 있다. 다른 일 실시예에서, 질의 원소는 적어도 해당 선호도와 무관한 상수를 부스트로 포함하며 해당 사용자를 절(또는 용어)로 포함할 수 있다. 여기에서, 부스트는 용어의 가중치를 결정하기 위하여 사용될 수 있다.
질의문은 아래와 같은 트리 구조를 포함할 수 있다.
<트리 구조>
질의문 -+-- 부스트
+-- 절 -+- 원소리스트-+- 원소 -+- 타입
+- 부스트
+- 용어 {사용자 필드, 사용자}
부스트는 선호도 또는 상수에 상응할 수 있고, 원소 리스트는 적어도 하나의 원소를 포함할 수 있다. 타입은 용어 또는 연산자의 종류를 결정하기 위하여 사용될 수 있으며, 사용자 필드는 복수의 아이템 벡터들에서 사용자를 검색한다는 것을 알려줄 수 있다. 사용자는 적어도 하나의 사용자 중 하나를 나타낼 수 있다.
검색 모듈(330)은 질의문을 기초로 기준 아이템 벡터와 복수의 문서들 내에 포함된 복수의 아이템 벡터들 각각 간의 상관도를 계산한다(단계 S405).
검색 모듈(330)은 질의문에 포함된 적어도 하나의 사용자 중 적어도 일부를 포함하는 복수의 문서들을 검색하여 복수의 아이템 벡터들을 추출할 수 있다.
검색 모듈(330)은 기준 아이템 벡터와 추출된 복수의 아이템 벡터들 각각 간의 상관도를 계산할 수 있다. 일 실시예에서, 상관도는 피어슨 상관계수(Pearson Coefficient)를 사용하여 계산될 수 있다.
검색 모듈(330)은 상관도를 기초로 적어도 하나의 추천 아이템을 검색한다(단계 S406). 일 실시예에서, 검색 모듈(330)은 복수의 아이템 벡터들 중 가장 높은 랭킹을 가지는 적어도 하나의 추천 아이템을 검색할 수 있다. 랭킹은 질의자의 선호도와 상관도를 기초로 계산될 수 있다. 예를 들어, 랭킹은 기준 아이템에 대한 질의자의 선호도와 상관도의 곱으로 계산될 수 있다. 기준 아이템이 복수인 경우 랭킹은 각 아이템에 대한 질의자의 선호도와 상관도의 곱에 대한 평균으로 계산될 수 있다. 구체적인 예는 도 6에서 후술한다.
만일 기준 문서 검색이 실패하면, 질의문 생성 모듈(320)이 기준 아이템과 무관하게 질의자를 포함하는 질의문을 생성한다(단계 S403 및 단계 S407).
검색 모듈(330)은 복수의 아이템 벡터들에 대한 질의자의 선호도를 기초로 적어도 하나의 추천 아이템을 검색한다(단계 S408). 예를 들어, 검색 모듈(330)은 복수의 아이템 벡터들에서 질의자를 검색하고 해당 선호도가 가장 높은 적어도 하나의 아이템을 적어도 하나의 추천 아이템으로 결정할 수 있다.
일 실시예에서, 만일 기준 문서 검색이 실패하면, 유행 추천 모듈(340)은 기준 아이템과 무관하게 현재 시간대에서 가장 자주 검색된 적어도 하나의 아이템을 적어도 하나의 추천 아이템으로 결정할 수 있다.
추천 서버(120)는 적어도 하나의 추천 아이템을 질의자에게 제공한다(단계 S409).
도 5는 도 3의 추천 엔진에서 아이템을 추천하는 제2 과정을 설명하는 도면이다.
도 5를 참조하면, 추천 엔진(240)은 사용자 기반의 추천 아이템을 질의자에 제공할 수 있다.
추천 서버(120)는 질의자가 아이템을 선택하면, 질의자 정보 및 기준 아이템 정보를 추천 엔진(240)에 전달할 수 있다. 여기에서, 기준 아이템 정보는 질의자에 의하여 선택된 적어도 하나의 아이템에 대한 정보라고 가정한다.
추천 엔진(240)이 질의자 정보 및 기준 아이템 정보를 수신하면(단계 S501), 질의문 생성 모듈(320)은 문서 저장부(310)에서 질의자와 연관된 기준 문서를 검색하여 기준 사용자 벡터를 추출한다(단계 S502).
문서 저장부(310)는 복수의 사용자 벡터들을 복수의 문서들로 저장하고, 복수의 사용자 벡터들은 아이템과 선호도로 표현될 수 있으며 아래와 같은 형태로 문서 저장부(310)에 저장될 수 있다.
User(i)={Item(j):R(j)} (0≤i 인 자연수, 0≤j 인 자연수)
여기에서, User(i)는 문서에 상응할 수 있다. i의 최대값은 사용자의 수에 상응하고, j의 최대값은 아이템의 수에 상응한다. R(j)는 사용자 i의 아이템 j에 대한 선호도를 나타낸다.
예를 들어, 사용자 k(0≤k≤i)가 기준 아이템을 선택하면, 질의문 생성 모듈(320)은 문서 저장부(310)에서 User(k)를 기준 문서로 검색하여 기준 사용자 벡터를 추출할 수 있다.
만일 검색이 성공하면, 질의문 생성 모듈(320)은 기준 사용자 벡터와 가장 높게 연관되는 적어도 하나의 아이템을 포함하는 질의문을 생성한다(단계 S503 및 단계 S504).
일 실시예에서, 질의문은 적어도 하나의 아이템과 연산자로 표현될 수 있으며 아래와 같은 형태로 생성될 수 있다.
Query="Item(1)|Item(2)|…|Item(j)" (0≤j 인 자연수)
j의 최대값은 아이템의 수에 상응하고, |는 OR 연산자에 상응한다.
예를 들어, 질의문 생성 모듈(220)이 "Item(1)|Item(2)|Item(3)"을 생성하면, 검색 모듈(330)은 Item(1), Item(2), Item(3) 중 적어도 하나를 포함하는 복수의 문서들을 검색하여 복수의 사용자 벡터들을 추출할 수 있다.
다른 일 실시예에서, 질의문은 적어도 하나의 아이템을 질의 원소로 정의할 수 있다. 일 실시예에서, 질의 원소는 적어도 해당 선호도를 부스트로 포함하며 해당 아이템을 절(또는 용어)로 포함할 수 있다. 다른 일 실시예에서, 질의 원소는 적어도 해당 선호도와 무관한 상수를 부스트로 포함하며 해당 아이템을 절(또는 용어)로 포함할 수 있다. 여기에서, 부스트는 용어의 가중치를 결정하기 위하여 사용될 수 있다.
질의문은 아래와 같은 트리 구조를 포함할 수 있다.
<트리 구조>
질의문 -+-- 부스트
+-- 절 -+- 원소리스트-+- 원소 -+- 타입
+- 부스트
+- 용어 {아이템 필드, 아이템}
부스트는 선호도 또는 상수에 상응하고, 원소 리스트는 적어도 하나의 원소를 포함할 수 있다. 타입은 용어 또는 연산자의 종류를 결정하기 위하여 사용되며, 아이템 필드는 복수의 사용자 벡터들에서 아이템을 검색한다는 것을 알려줄 수 있다. 아이템은 적어도 하나의 아이템 중 하나를 나타낼 수 있다.
검색 모듈(330)은 질의문을 기초로 기준 사용자 벡터와 복수의 문서들 내에 포함된 복수의 사용자 벡터들 각각 간의 상관도를 계산한다(단계 S505).
검색 모듈(330)은 질의문에 포함된 적어도 하나의 아이템 중 적어도 일부를 포함하는 복수의 사용자 벡터들을 검색할 수 있다.
검색 모듈(330)은 기준 사용자 벡터와 추출된 복수의 사용자 벡터들 각각 간의 상관도를 계산할 수 있다. 일 실시예에서, 상관도는 피어슨 상관계수(Pearson Coefficient)를 사용하여 계산될 수 있다.
검색 모듈(330)은 상관도를 기초로 적어도 하나의 추천 아이템을 검색한다(단계 S506). 일 실시예에서, 검색 모듈(330)은 복수의 사용자 벡터들을 기초로 가장 높은 랭킹을 가지는 적어도 하나의 추천 아이템을 검색할 수 있다. 랭킹은 복수의 사용자들의 선호도와 상관도를 기초로 계산될 수 있다. 예를 들어, 랭킹은 복수의 사용자 벡터들 각각의 선호도와 각각의 상관도의 곱에 대한 평균으로 계산될 수 있다. 구체적인 예는 도 7에서 후술한다.
만일 기준 문서 검색이 실패하면, 유행 추천 모듈(340)은 질의자와 무관하게 현재 시간대에서 가장 자주 검색된 적어도 하나의 아이템을 적어도 하나의 추천 아이템으로 결정한다(단계 S503 및 단계 S507).
추천 서버(120)는 적어도 하나의 추천 아이템을 질의자에게 제공한다(단계 S508).
도 6은 도 4의 아이템을 추천하는 제1 과정의 예를 설명하는 도면이다.
도 6a 및 도 6b를 참조하면, 문서 저장부(310)가 User(1) 내지 User(5)를 문서로 저장하고, 질의자는 User(1)이고 기준 아이템은 Item(1) 및 Item(2)라 가정한다.
추천 엔진(240)이 User(1) 및 Item(1), Item(2)에 대한 정보를 입력받으면, 질의문 생성 모듈(320)은 문서 저장부(310)에서 Item(1) 및 Item(2)와 연관된 기준 문서들을 검색하여 제1 및 제2 기준 아이템 벡터들(610, 620)을 추출할 수 있다. 이때 제1 기준 아이템 벡터(610)는 {User(1):9, User(2):3, User(3):5, User(4):1, User(5):4}이고, 제2 기준 아이템 벡터(620)는 {User(1):7, User(2):3, User(3):5, User(4):2, User(5):8}이다.
질의문 생성 모듈(320)은 기준 아이템 벡터들과 연관되는 사용자 User(1), User(2), User(3), User(4) 및 User(5)를 포함하는 질의문을 생성할 수 있다. 질의문은 다음과 같을 수 있다.
Query="User(1)|User(2)|User(3)|User(4)|User(5)"
검색 모듈(330)은 제1 및 제2 기준 아이템 벡터들(610, 620)과 제3 내지 제5 아이템 벡터들(630, 640, 650)을 검색하여 제1 및 제2 기준 아이템 벡터들(610, 620) 각각에 대한 제3 내지 제5 아이템 벡터들(630, 640, 650) 각각의 상관도를 계산할 수 있다.
일 실시예에서, 상관도는 피어슨 상관계수를 사용하여 계산될 수 있다. 피어슨 상관계수는 두 변수 간에 존재하는 선형 관계의 정도를 측정하는 것으로 아래의 수식과 같이 표현될 수 있다.
Figure pat00001
여기에서, m은 사용자 수를 나타내고, Rk(i)는 아이템 k에 대한 사용자 i의 선호도를 나타내며, Rl(i)는 아이템 l에 대한 사용자 i의 선호도를 나타낸다.
Figure pat00002
Figure pat00003
은 아이템 k와 l에 대한 m명의 사용자 선호도의 평균을 나타낸다.
제1 기준 아이템 벡터(610)와 제3 아이템 벡터(630)의 상관도를 0.8, 제1 기준 아이템 벡터(610)와 제4 아이템 벡터(640)의 상관도를 0.5, 제1 기준 아이템 벡터(610)와 제5 아이템 벡터(650)의 상관도를 0.1이라 가정한다. 그리고 제2 기준 아이템 벡터(620)와 제4 아이템 벡터(640)의 상관도를 0.5, 제2 기준 아이템 벡터(620)와 제5 아이템 벡터(650)의 상관도를 0.7이라 가정한다.
일 실시예에서, 검색 모듈(330)은 랭킹이 높은 아이템 벡터를 선택할 수 있다. 랭킹은 선호도와 피어슨 상관계수를 기초로 계산될 수 있다. 예를 들어, 검색 모듈(330)은 피어슨 상관계수가 0.5 이상이고 질의자의 선호도가 5 이상인 아이템 벡터를 선택할 수 있다. 검색 모듈(330)은 도 6b에서 제3 및 제4 아이템 벡터들(630, 640)을 선택할 수 있고, 이를 기초로 복수의 아이템들에 대한 질의자의 선호도를 예측할 수 있다.
검색 모듈(330)은 제1 및 제2 기준 아이템 벡터들(610, 620) 각각에 포함된 선호도와 제3 내지 제5 아이템 벡터들(630, 640, 650) 각각에 대한 상관도를 곱하여 각 아이템에 대한 평균을 구할 수 있다. 예를 들어, Item(4)에 대한 질의자의 선호도는 제1 및 제2 기준 아이템 벡터들(610, 620)에서 User(1)의 선호도를 검색하여 제4 아이템 벡터(640)에 대한 상관도를 각각 곱한다. 검색 모듈(330)은 모든 결과값을 더한 후 상관도의 합으로 나누면 아래와 같은 선호도 값을 얻을 수 있다.
{(9×0.5)+(7×0.7)}/1.2=7.8
검색 모듈(330)은 Item(4)에 대한 질의자의 선호도를 7.8로 예측할 수 있다. 검색 모듈(330)은 예측된 질의자의 선호도를 기초로 적어도 하나의 추천 아이템을 결정할 수 있다. 예를 들어, 추천 서버(120)에서 제공하는 추천 아이템의 수가 2개라면, 검색 모듈(330)은 Item(3) 및 Item(4)를 제1 및 제2 기준 아이템과 함께 질의자에게 제공할 수 있다.
도 7은 도 5의 아이템을 추천하는 제2 과정의 예를 설명하는 도면이다.
도 7a 및 도 7b를 참조하면, 문서 저장부(310)가 User(1) 내지 User(5)를 문서로 저장하고 있고, 질의자는 User(1)이고 기준 아이템은 Item(1)이라 가정한다.
추천 엔진(240)이 User(1) 및 Item(1)에 대한 정보를 입력받으면, 질의문 생성 모듈(320)은 문서 저장부(310)에서 User(1)과 연관된 기준 문서를 검색하여 기준 사용자 벡터(710)를 추출할 수 있다. 이때 기준 사용자 벡터는 {Item(1):1, Item(2):3, Item(3):5, Item(4):0, Item(5):0}이 된다.
질의문 생성 모듈(320)은 기준 사용자 벡터와 연관되는 Item(1), Item(2), Item(3), Item(4) 및 Item(5)를 포함하는 질의문을 생성할 수 있다. 질의문은 다음과 같을 수 있다.
Query="Item(1)|Item(2)|Item(3)|Item(4)|Item(5)"
검색 모듈(330)은 Item(1) 내지 Item(5) 중 적어도 하나를 포함하는 문서를 검색하여 제2 내지 제6 사용자 벡터들(620, 630, 640, 650, 660)을 추출할 수 있다. 검색 모듈(330)은 기준 사용자 벡터와 제2 내지 제6 사용자 벡터들(720, 730, 740, 750, 760) 각각 간의 상관도를 계산할 수 있다.
일 실시예에서, 상관도는 피어슨 상관계수를 사용하여 계산될 수 있다. 피어슨 상관계수는 두 변수 간에 존재하는 선형 관계의 정도를 측정하는 것으로 아래의 수식과 같이 표현될 수 있다.
Figure pat00004
여기에서, m은 아이템 수를 나타내고, Rk(i)는 사용자 k의 아이템 i에 대한 선호도를 나타내며, Rl(i)는 사용자 l의 아이템 i에 대한 선호도를 나타낸다.
Figure pat00005
Figure pat00006
은 사용자 k와 l의 m개의 아이템에 대한 선호도의 평균을 나타낸다.
기준 사용자 벡터(710)와 제2 사용자 벡터(720)의 상관도를 0.8, 기준 사용자 벡터(710)와 제3 사용자 벡터(730)의 상관도를 0.7, 기준 사용자 벡터(710)와 제4 사용자 벡터(740)의 상관도를 0.5, 기준 사용자 벡터(710)와 제5 사용자 벡터(750)의 상관도를 0, 기준 사용자 벡터(710)와 제6 사용자 벡터(760)의 상관도를 0이라 가정한다.
일 실시예에서, 검색 모듈(330)은 랭킹이 높은 사용자 벡터를 선택할 수 있다. 랭킹은 선호도와 피어슨 상관계수를 기초로 계산될 수 있다. 예를 들어, 검색 모듈(330)은 피어슨 상관계수가 0.5 이상이고 질의자와 기준 아이템에 대한 선호도가 유사한 사용자 벡터를 선택할 수 있다. 검색 모듈(330)은 도 7b에서 제2 및 제3 사용자 벡터들(720, 730)을 선택할 수 있고, 이를 기초로 복수의 아이템들에 대한 질의자의 선호도를 예측할 수 있다.
검색 모듈(330)은 제2 내지 제6 사용자 벡터(720, 730, 740, 750, 760)에 포함된 복수의 아이템들 각각의 선호도와 해당 상관도를 곱하여 각 아이템에 대한 평균을 구할 수 있다. 예를 들어, Item(4)에 대한 질의자의 선호도는 제2 내지 제4 사용자 벡터(720, 730, 740)에서 Item(4)의 선호도를 검색하여 각 해당 상관도를 곱한다. 검색 모듈(330)은 모든 결과값을 더한 후 상관도의 합으로 나누면 아래와 같은 선호도 값을 얻을 수 있다.
{(4×3.2)+(6×4.2)+(3×1.5)+(0×0)+(4×0)}/2=4.5
검색 모듈(330)은 Item(4)에 대한 질의자의 선호도를 4.5로 예측할 수 있다. 검색 모듈(330)은 예측된 질의자의 선호도를 기초로 적어도 하나의 추천 아이템을 결정할 수 있다. 예를 들어, 추천 서버(120)에서 제공하는 추천 아이템의 수가 2개라면, 검색 모듈(330)은 Item(3) 및 Item(4)를 기준 아이템과 함께 질의자에게 제공할 수 있다.
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 출원의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (14)

  1. 질의자에 의하여 선택된 기준 아이템과 연관된 적어도 하나의 추천 아이템을 검색하는 추천 엔진에 있어서,
    복수의 아이템 벡터들을 복수의 문서들로 저장하고, 상기 복수의 문서들에서 상기 기준 아이템과 연관된 기준 문서를 검색하여 기준 아이템 벡터를 추출하며, 만일 성공하면 상기 추출된 기준 아이템 벡터와 가장 높게 연관되는 적어도 하나의 사용자를 포함하는 질의문을 생성하고, 상기 복수의 아이템 벡터들 각각은 사용자-선호도 쌍을 포함하는 원소로 구성되는 질의문 생성 모듈; 및
    상기 생성된 질의문을 기초로 상기 추출된 기준 아이템 벡터와 상기 복수의 문서들 내에 포함된 상기 복수의 아이템 벡터들 각각 간의 상관도를 계산하여 상기 적어도 하나의 추천 아이템을 제공하는 검색 모듈을 포함하는 추천 엔진.
  2. 제1항에 있어서, 상기 검색 모듈은
    상기 적어도 하나의 사용자의 선호도와 상기 복수의 아이템 벡터들 각각에 있는 적어도 하나의 사용자의 선호도 간의 상관도를 계산하는 것을 특징으로 하는 추천 엔진.
  3. 제2항에 있어서, 상기 상관도는
    피어슨 상관계수(Pearson Coefficient)를 사용하여 계산되는 것을 특징으로 하는 추천 엔진.
  4. 제3항에 있어서, 상기 질의문은
    상기 적어도 하나의 사용자 각각을 질의 원소로 정의하고, 상기 질의 원소는 적어도 해당 선호도를 부스트로 포함하며 해당 사용자를 용어로 포함하는 것을 특징으로 하는 추천 엔진.
  5. 제4항에 있어서, 상기 검색 모듈은
    상기 질의 원소를 기초로 상기 복수의 아이템 벡터들 중 가장 높은 랭킹을 가지는 적어도 하나의 아이템 벡터를 검색하는 것을 특징으로 하는 추천 엔진.
  6. 제5항에 있어서, 상기 랭킹은
    상기 부스트와 상기 피어슨 상관계수를 기초로 계산되는 것을 특징으로 하는 추천 엔진.
  7. 제1항에 있어서, 상기 질의문은
    상기 적어도 하나의 사용자 각각을 질의 원소로 정의하고, 상기 질의 원소는 적어도 해당 선호도와 무관한 상수를 부스트로 포함하며 해당 사용자를 용어로 포함하는 것을 특징으로 하는 추천 엔진.
  8. 제1항에 있어서,
    만일 실패하면 상기 기준 아이템과 무관하게 현재 시간대에서 가장 자주 검색된 적어도 하나의 아이템을 상기 적어도 하나의 추천 아이템으로 결정하는 유행 추천 모듈을 더 포함하는 것을 특징으로 하는 추천 엔진.
  9. 제1항에 있어서, 상기 질의문 생성 모듈은
    만일 실패하면 상기 기준 아이템과 무관하게 상기 질의자를 포함하는 질의문을 생성하는 것을 특징으로 하는 추천 엔진.
  10. 제9항에 있어서, 상기 검색 모듈은
    상기 질의자를 상기 복수의 아이템 벡터들에서 검색하여 해당 선호도가 가장 높은 적어도 하나의 아이템을 상기 적어도 하나의 추천 아이템으로 결정하는 것을 특징으로 하는 추천 엔진.
  11. 제1항에 있어서, 상기 질의문의 구조는 다음의 트리 구조를 포함하는 것을 특징으로 하는 추천 엔진.
    <트리 구조>
    질의문 -+-- 부스트
    +-- 절 -+- 원소리스트-+- 원소 -+- 타입
    +- 부스트
    +- 용어 {사용자 필드, 사용자}
    (여기에서, 상기 부스트는 선호도에 상응하고, 상기 원소리스트는 적어도 하나의 원소를 포함할 수 있고, 상기 타입은 용어 또는 연산자의 종류를 결정하기 위하여 사용되며, 상기 사용자 필드는 상기 복수의 아이템 벡터들에서 사용자를 검색한다는 것을 알려주고, 상기 사용자는 상기 적어도 하나의 사용자 중 하나를 나타내냄)
  12. 질의자에 의하여 선택된 기준 아이템과 연관된 적어도 하나의 추천 아이템을 검색하는 추천 엔진에 의하여 수행되는 아이템 추천 방법에 있어서,
    복수의 아이템 벡터들을 복수의 문서들로 저장하고, 상기 복수의 문서들에서 상기 기준 아이템과 연관된 기준 문서를 검색하여 기준 아이템 벡터를 추출하는 단계;
    만일 성공하면 상기 추출된 기준 아이템 벡터와 가장 높게 연관되는 적어도 하나의 사용자를 포함하는 질의문을 생성하는 단계; 및
    상기 생성된 질의문을 기초로 상기 추출된 기준 아이템 벡터와 상기 복수의 문서들 내에 포함된 상기 복수의 아이템 벡터들 각각 간의 상관도를 계산하여 상기 적어도 하나의 추천 아이템을 제공하는 단계를 포함하고,
    상기 복수의 아이템 벡터들 각각은 사용자-선호도 쌍을 포함하는 원소로 구성되는 아이템 추천 방법.
  13. 제12항에 있어서,
    만일 실패하면 상기 기준 아이템과 무관하게 현재 시간대에서 가장 자주 검색된 적어도 하나의 아이템을 상기 적어도 하나의 추천 아이템으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 아이템 추천 방법.
  14. 제12항에 있어서,
    만일 실패하면 상기 기준 아이템과 무관하게 상기 질의자를 포함하는 질의문을 생성하는 단계; 및
    상기 질의자를 상기 복수의 아이템 벡터들에서 검색하여 해당 선호도가 가장 높은 적어도 하나의 아이템을 상기 적어도 하나의 추천 아이템으로 결정하는 단계를 더 포함하는 것을 특징으로 아이템 추천 방법.

KR20110085780A 2011-08-26 2011-08-26 높은 연관성을 가지는 아이템을 추천하는 아이템 기반의 추천 엔진 KR101334096B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR20110085780A KR101334096B1 (ko) 2011-08-26 2011-08-26 높은 연관성을 가지는 아이템을 추천하는 아이템 기반의 추천 엔진
US14/241,193 US20140365456A1 (en) 2011-08-26 2012-08-27 Item-based recommendation engine for recommending a highly-associated item
PCT/KR2012/006821 WO2013032198A1 (ko) 2011-08-26 2012-08-27 높은 연관성을 가지는 아이템을 추천하는 아이템 기반의 추천 엔진

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20110085780A KR101334096B1 (ko) 2011-08-26 2011-08-26 높은 연관성을 가지는 아이템을 추천하는 아이템 기반의 추천 엔진

Publications (2)

Publication Number Publication Date
KR20130022322A true KR20130022322A (ko) 2013-03-06
KR101334096B1 KR101334096B1 (ko) 2013-11-29

Family

ID=47756580

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20110085780A KR101334096B1 (ko) 2011-08-26 2011-08-26 높은 연관성을 가지는 아이템을 추천하는 아이템 기반의 추천 엔진

Country Status (3)

Country Link
US (1) US20140365456A1 (ko)
KR (1) KR101334096B1 (ko)
WO (1) WO2013032198A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9874453B2 (en) * 2012-09-28 2018-01-23 Telenav, Inc. Navigation system having point of interest recommendation mechanism and method of operation thereof
US10452652B2 (en) 2016-09-15 2019-10-22 At&T Intellectual Property I, L.P. Recommendation platform for structured queries
CN112395490B (zh) * 2019-08-16 2023-09-29 京东科技控股股份有限公司 用于生成信息的方法和装置
KR20210052958A (ko) * 2019-11-01 2021-05-11 엘지전자 주식회사 인공 지능 서버
US11822447B2 (en) * 2020-10-06 2023-11-21 Direct Cursus Technology L.L.C Methods and servers for storing data associated with users and digital items of a recommendation system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092049A (en) * 1995-06-30 2000-07-18 Microsoft Corporation Method and apparatus for efficiently recommending items using automated collaborative filtering and feature-guided automated collaborative filtering
US6915291B2 (en) * 2002-06-07 2005-07-05 International Business Machines Corporation Object-oriented query execution data structure
US20050171934A1 (en) * 2004-01-30 2005-08-04 Paul Yuknewicz System and method for generating a parameterized query
KR100907744B1 (ko) * 2006-11-13 2009-07-14 에스케이커뮤니케이션즈 주식회사 협업 필터링 시스템 및 그 방법
KR100868764B1 (ko) * 2006-12-04 2008-11-17 삼성전자주식회사 사용자 모델을 이용한 음악 추천 방법 및 시스템, 및조건부 사용자 모델 업데이트 방법
US7849092B2 (en) * 2007-08-13 2010-12-07 Yahoo! Inc. System and method for identifying similar media objects
KR101034101B1 (ko) * 2008-05-28 2011-05-13 경희대학교 산학협력단 상품 추천 서비스 제공 시스템 및 방법
US20100268661A1 (en) * 2009-04-20 2010-10-21 4-Tell, Inc Recommendation Systems
US20110112981A1 (en) * 2009-11-09 2011-05-12 Seung-Taek Park Feature-Based Method and System for Cold-Start Recommendation of Online Ads
KR101116026B1 (ko) * 2009-12-24 2012-02-13 성균관대학교산학협력단 차이 확률 변수의 원점 모멘트를 이용한 유사성 척도에 기반한 협업 필터링 추천 시스템

Also Published As

Publication number Publication date
WO2013032198A1 (ko) 2013-03-07
US20140365456A1 (en) 2014-12-11
KR101334096B1 (ko) 2013-11-29

Similar Documents

Publication Publication Date Title
AU2017202248B2 (en) Intent prediction based recommendation system
US9589025B2 (en) Correlated information recommendation
US9600600B2 (en) Method and system for evaluating query suggestions quality
US8255391B2 (en) System and method for generating an approximation of a search engine ranking algorithm
US20190018900A1 (en) Method and Apparatus for Displaying Search Results
US20120143789A1 (en) Click model that accounts for a user&#39;s intent when placing a quiery in a search engine
KR101062927B1 (ko) 적어도 한 명의 사용자의 성향을 고려하여 타사용자 또는 사물을 추천하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
US9836554B2 (en) Method and system for providing query suggestions including entities
KR20200003106A (ko) 정보 검색 방법, 장치 및 시스템
US20150186947A1 (en) Digital content recommendations based on user comments
JPWO2012118087A1 (ja) レコメンダシステム、レコメンド方法、及びプログラム
CN103400286A (zh) 一种基于用户行为进行物品特征标注的推荐系统及方法
KR101334096B1 (ko) 높은 연관성을 가지는 아이템을 추천하는 아이템 기반의 추천 엔진
JP2010128927A (ja) レコメンド情報生成装置およびレコメンド情報生成方法
Wasilewski et al. Intent-aware diversification using a constrained PLSA
US20120023081A1 (en) Customizing search home pages using interest indicators
US11244014B2 (en) System and method for enhancing exploration of data items
CN110008396B (zh) 对象信息推送方法、装置、设备及计算机可读存储介质
US20090077093A1 (en) Feature Discretization and Cardinality Reduction Using Collaborative Filtering Techniques
US20130151517A1 (en) File search apparatus and method using tag graph
US8745074B1 (en) Method and system for evaluating content via a computer network
Volk et al. New e-commerce user interest patterns
KR101320094B1 (ko) 높은 연관성을 가지는 아이템을 추천하는 사용자 기반의 추천 엔진
Badriyah et al. An Efficient Framework of Hybrid Recommendation System based on Multi Mode
JP5589009B2 (ja) 推薦クエリ抽出装置及び方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161104

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171103

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181113

Year of fee payment: 6