KR100936568B1 - Method and system for generating recommendations - Google Patents

Method and system for generating recommendations Download PDF

Info

Publication number
KR100936568B1
KR100936568B1 KR1020067019742A KR20067019742A KR100936568B1 KR 100936568 B1 KR100936568 B1 KR 100936568B1 KR 1020067019742 A KR1020067019742 A KR 1020067019742A KR 20067019742 A KR20067019742 A KR 20067019742A KR 100936568 B1 KR100936568 B1 KR 100936568B1
Authority
KR
South Korea
Prior art keywords
recommendation list
recommendation
items
instructions
list
Prior art date
Application number
KR1020067019742A
Other languages
Korean (ko)
Other versions
KR20060132951A (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 야후! 인크.
Publication of KR20060132951A publication Critical patent/KR20060132951A/en
Application granted granted Critical
Publication of KR100936568B1 publication Critical patent/KR100936568B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • 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/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement
    • 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/06Buying, selling or leasing transactions
    • 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/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

다수의 제품 또는 서비스에 걸쳐 추천을 생성하기 위한 방법 및 시스템이 개시된다. 시스템은 사용자 이벤트를 처리하고 인터넷을 통해 사용자와 인터페이스하기 위한 복수의 도메인 서버, 사용자 이벤트를 저장하기 위한 데이터베이스 및 추천 엔진을 포함한다. 추천 엔진은 또한 복수의 제품 또는 서비스 도메인에 걸친 사용자 이벤트를 데이터베이스에 저장하기 위한 명령어, 추천을 위한 트리거링 이벤트를 수신하기 위한 명령어, 사용자 이벤트를 분석하여 데이터베이스의 사용자 이벤트 간의 상관관계를 공식화하기 위한 명령어 및 트리거링 이벤트에 응하여 데이터베이스의 사용자 이벤트 간의 상관관계에 따라 추천을 생성하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 포함한다. 본 발명은 임의의 이들 도메인에서 추천을 생성하기 위해 다른 도메인들로부터의 사용자 입력 데이터를 이용한다. 본 발명은 더 많은 사용자 입력 데이터로의 액세스를 허용하여, 추천의 질을 향상시킨다.Methods and systems are disclosed for generating recommendations across multiple products or services. The system includes a plurality of domain servers for processing user events and interfacing with users over the Internet, a database for storing user events, and a recommendation engine. The recommendation engine also includes instructions for storing user events across multiple product or service domains in the database, instructions for receiving triggering events for recommendations, and commands for analyzing the user events to formulate correlations between user events in the database. And one or more computer programs including instructions for generating a recommendation in accordance with correlations between user events in the database in response to the triggering event. The present invention uses user input data from other domains to generate recommendations in any of these domains. The present invention allows access to more user input data, improving the quality of the recommendation.

제품 추천, 서비스 추천, 개인화된 추천, 유사한 아이템 추천 Product Recommendations, Service Recommendations, Personalized Recommendations, Similar Items Recommendations

Description

추천을 생성하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR GENERATING RECOMMENDATIONS}Method and system for generating recommendations {METHOD AND SYSTEM FOR GENERATING RECOMMENDATIONS}

본 발명은 인터넷 응용 분야에 관한 것이다. 보다 구체적으로는, 본 발명은 다수의 도메인(domain)으로부터의 사용자 입력 데이터를 이용하여 제품 또는 서비스 추천을 생성하기 위한 방법 및 시스템에 관한 것이다.The present invention relates to the field of Internet applications. More specifically, the present invention relates to methods and systems for generating product or service recommendations using user input data from multiple domains.

추천은 사람들이 자신이 원하는 것을 검색하고 그것을 찾아내는 가장 유력한 방법 중 하나이다. 카메라 쇼핑을 하거나 또는 레스토랑을 알아보려 할 때, 사람들은 친구, 전문가 및 대중들과 같은 각종 소스로부터의 추천에 의존한다. Recommendations are one of the most influential ways people search for and find what they want. When shopping cameras or trying to find restaurants, people rely on recommendations from various sources, such as friends, professionals and the public.

컴퓨터 생성 추천에 대한 연구가 수십 년간 진행되어 왔고, 그 결과 성공적인 많은 동작 시스템뿐만 아니라 많은 양의 출판물 및 각종 어프로치가 생겨났다. 컴퓨터 생성 추천은 각종 소스로부터의 전문적 지식의 체계화에 기초할 수 있다. 이것은 전문가 시스템 기반 애플리케이션의 공급 과잉을 통해 1970년대 및 1980년대에 증명되었다. 이러한 어프로치의 문제점은 컴퓨터 애플리케이션이 전문적 지식을 포착하고 그것을 유지하는 것에 있어서 노력이 필요하고 그것이 어렵다는 것이다.Research on computer-generated recommendations has been underway for decades, resulting in large numbers of publications and approaches as well as many successful operating systems. Computer generated recommendations may be based on the organization of expertise from various sources. This was demonstrated in the 1970s and 1980s through oversupply of expert system-based applications. The problem with this approach is that computer applications require effort and difficulty in capturing and maintaining expertise.

전문가 시스템의 단점 일부를 해결하는 대안의 어프로치는 과거의 성능에 기 초하여 컴퓨터 애플리케이션 자신을 적용시킴으로써 자신의 성능을 개선할 수 있는 기계 학습 시스템이다. 추천에 관해, 이 어프로치는 협력적 필터링 알고리즘(collaborative filtering algorithm)의 형태로 증명되었다.An alternative approach that addresses some of the shortcomings of expert systems is machine learning systems that can improve their performance by applying computer applications themselves based on past performance. In terms of recommendations, this approach has been demonstrated in the form of a collaborative filtering algorithm.

협력적 필터링은 다른 사용자의 경험 상의 추천에 기초한다. 특정 도메인에서 결정을 내려야 할 때 사람들은 종종 그 도메인에 경험이 있는 친구와 의논한다. 협력적 필터링은 단지 친구와 아는 사람들을 넘어, 더 큰 그룹의 사용자를 통틀어 이러한 추천을 만드는 방법이다. 이 어프로치는 리뷰, 점수, 순위, 투표 등의 형태로 이 사용자들의 피드백을 입력으로 한다. 이 입력 데이터는 분석되어 패턴을 찾아내고 추천의 성공 가능성으로 변환되는 아이템과 사용자 간의 상관관계를 찾아낸다.Collaborative filtering is based on the experience recommendations of other users. When you need to make a decision in a particular domain, people often talk to friends who have experience in that domain. Collaborative filtering is a way to make these recommendations across a larger group of users, not just friends and acquaintances. This approach takes input from these users in the form of reviews, scores, rankings, and votes. This input data is analyzed to find patterns and to correlate the users with items that translate into the likelihood of success of the recommendation.

협력적 필터링을 이용하는 잘 알려져 있는 개인화된 영화 추천 웹사이트는 MovieLens(http://www.movielens.com)이다. 이 개인화된 영화 추천 서비스에서, 수천 명의 사용자는 자신이 얼마나 충분히 영화를 좋아하는지 또는 좋아하지 않는지에 기초하여 영화에 대한 점수를 매긴다. 특정 사용자가 좋아하는 영화와 유사한 영화를 조사함으로써 특정 사용자를 위한 추천이 행해질 수 있다. 이것은 "이 영화를 좋아하는 사람은 또한 이하의 영화를 좋아한다"라는 유형의 추천을 제공한다. 예를 들어, 영화 Jerry Maguire를 보고 있는 사용자는 A Few Good Men을 추천받을 수 있다. 이 경우, "유사하다"라는 것은, 추천을 요청하는 특정 사용자가 점수를 매겼던 영화와 공통점이 있는 영화에 대해 점수를 매긴 사용자 집단 전체에 걸친 점수 분석에 기초한다.A well-known personalized movie recommendation website using collaborative filtering is MovieLens (http://www.movielens.com). In this personalized movie recommendation service, thousands of users score a movie based on how much they like or dislike the movie. A recommendation for a particular user may be made by examining a movie similar to the movie that the particular user likes. This provides a recommendation of the type "who likes this movie also likes the following movie". For example, a user watching the movie Jerry Maguire may be recommended to A Few Good Men. In this case, “similar” is based on a score analysis across a group of users who scored a movie that had something in common with a movie that was scored by a particular user requesting a recommendation.

상술된 예에 도시된 바와 같이, 협력적 필터링 영역의 기존 시스템은 단일 도메인 내의 사용자의 입력 데이터에 기초하여 추천하는 것에 초점을 맞춰 왔다. 예를 들어 영화와 같이 입력 데이터가 하나의 도메인으로부터만 수집되었기 때문에, 그 도메인 내의 아이템에 대한 추천이 생성될 수 있다. 또한, 협력적 필터링 추천의 질은 사용가능한 사용자 입력 데이터의 양에 좌우된다. 그러나 하나의 도메인에서 사용가능한 데이터가 거의 없다면, 생성된 추천 역시 관련성이 떨어지고 신뢰도가 떨어진다.As shown in the example above, existing systems of collaborative filtering areas have focused on making recommendations based on user input data within a single domain. Since input data was collected from only one domain, for example a movie, recommendations for items within that domain can be generated. The quality of collaborative filtering recommendations also depends on the amount of user input data available. However, if there is little data available in one domain, the generated recommendations are also less relevant and less reliable.

그러므로, 단일 도메인으로부터 수집된 데이터에 기초하여 추천을 생성하는 문제점을 해결할 수 있는 시스템 및 방법이 요구된다. 특히, 제품 또는 서비스 추천을 생성하는 데에 있어 다수의 도메인으로부터의 사용자 입력 데이터를 이용하기 위한 시스템 및 방법이 요구된다.Therefore, what is needed is a system and method that can address the problem of generating recommendations based on data collected from a single domain. In particular, there is a need for systems and methods for using user input data from multiple domains in generating product or service recommendations.

본 발명은 제품 또는 서비스 추천을 생성하기 위해 다수의 도메인에 걸친 사용자 입력 데이터를 이용하는 시스템 및 방법을 개시한다. 본 발명은 기존의 시스템에 대해 다수의 개선 사항을 제공한다.The present invention discloses a system and method that uses user input data across multiple domains to generate a product or service recommendation. The present invention provides a number of improvements over existing systems.

먼저, 본 발명은 그 사업 관심 분야가 여러 도메인에 걸쳐 있는 조직에 대해 이롭다. 이 추천은 단일 도메인에 제한되지 않는다. 대신 다른 도메인으로부터의 사용자 이벤트는 이들 도메인 중 임의의 도메인의 추천을 생성하기 위해 영향을 받을 수 있다. 예를 들어, 쇼핑, 뉴스 및 영화에 걸쳐 사용자의 피드백을 분석함으로써, 시스템은 스케이트 보드를 사거나 또는 스케이트 보드에 관한 뉴스 기사를 읽는 사용자에게 스케이트 보드 영화를 추천할 수 있다.First, the present invention is beneficial for organizations whose business interests span multiple domains. This recommendation is not limited to a single domain. Instead user events from other domains can be affected to generate recommendations for any of these domains. For example, by analyzing user feedback across shopping, news and movies, the system can recommend skateboard movies to users who buy skateboards or read news articles about skateboards.

또한, 본 발명은 더 많은 양의 사용자 입력 데이터로의 액세스를 허용하여 추천의 질을 개선한다. 상술된 스케이트 보드 예에서, 스케이트 보드에 관한 쇼핑 도메인 내에서만의 데이터 양은 너무 작아서 양질의 추천이 가능하지 못할 수 있다. 이것은 또한 개별적으로 볼 때, 뉴스 및 영화 도메인 내에서도 마찬가지이다. 그러나 데이터를 이들 도메인에 걸쳐 조합함으로써, 이러한 스케이트 보드 상관관계 패턴을 찾아낼 수 있어 조건이 다른 경우 가능하지 않을 수도 있는 추천에 이용될 수 있다 In addition, the present invention allows access to a greater amount of user input data to improve the quality of recommendations. In the skateboard example described above, the amount of data only within the shopping domain for the skateboard may be too small to allow good quality recommendations. This is also true within the news and movie domains, when viewed separately. However, by combining data across these domains, these skateboard correlation patterns can be found and used for recommendations that may not be possible if conditions differ.

다수의 제품 또는 서비스 도메인에 걸친 추천을 생성하기 위한 방법은, 복수의 제품 또는 서비스 도메인에 걸친 사용자 이벤트를 데이터베이스에 수집하는 단계, 추천을 위한 트리거링 이벤트를 수신하는 단계, 이 사용자 이벤트를 분석하여 데이터베이스의 사용자 이벤트 간의 상관관계를 공식화하는 단계 및 트리거링 이벤트에 응하여 데이터베이스의 사용자 이벤트 간의 상관관계에 따라 추천을 생성하는 단계를 포함한다.A method for generating recommendations across multiple product or service domains includes collecting user events across a plurality of product or service domains in a database, receiving triggering events for recommendations, and analyzing the user events in the database. Formulating a correlation between user events in the and generating a recommendation according to the correlation between user events in the database in response to the triggering event.

다수의 제품 또는 서비스 도메인에 걸친 추천을 생성하기 위한 시스템은, 사용자 이벤트를 처리하고 인터넷을 통해 사용자와 인터페이스하기 위한 복수의 도메인 서버, 사용자 이벤트를 저장하기 위한 데이터베이스 및 추천 엔진을 포함한다. 추천 엔진은 또한 복수의 제품 또는 서비스 도메인에 걸친 사용자 이벤트를 데이터베이스에 수집하기 위한 명령어, 추천을 위한 트리거링 이벤트를 수신하기 위한 명령어, 사용자 이벤트를 분석하여 데이터베이스의 사용자 이벤트 간의 상관관계를 공식화하기 위한 명령어 및 트리거링 이벤트에 응하여 데이터베이스의 사용자 이벤트 간의 상관관계에 따라 추천을 생성하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 포함한다.A system for generating recommendations across multiple product or service domains includes a plurality of domain servers for processing user events and interfacing with users over the Internet, databases for storing user events, and recommendation engines. The recommendation engine also includes instructions for collecting user events across multiple product or service domains in the database, instructions for receiving triggering events for recommendations, and commands for analyzing the user events to formulate correlations between user events in the database. And one or more computer programs including instructions for generating a recommendation in accordance with correlations between user events in the database in response to the triggering event.

도 1은 본 발명의 실시예에 따른 상호-도메인(cross-domain) 추천 시스템을 도시하는 도면.1 illustrates a cross-domain recommendation system according to an embodiment of the invention.

도 2a는 본 발명의 실시예에 따라 도 1의 사용자 데이터베이스(114)에 사용자 이벤트를 수집하기 위한 방법을 도시하는 도면.FIG. 2A illustrates a method for collecting user events in the user database 114 of FIG. 1 in accordance with an embodiment of the present invention.

도 2b는 본 발명의 실시예에 따라 도 1의 사용자 데이터베이스(114)의 사용자 이벤트를 분석하기 위한 방법을 도시하는 도면.2B illustrates a method for analyzing user events in user database 114 of FIG. 1 in accordance with an embodiment of the present invention.

도 3은 본 발명의 실시예에 따라 유사한 아이템에 대한 추천을 생성하기 위한 방법을 도시하는 도면.3 illustrates a method for generating a recommendation for a similar item in accordance with an embodiment of the present invention.

도 4는 본 발명의 실시예에 따라 개인화된 추천을 생성하기 위한 방법을 도시하는 도면.4 illustrates a method for generating a personalized recommendation in accordance with an embodiment of the present invention.

본 발명의 전술된 특징 및 이점뿐만 아니라 그 추가의 특징 및 이점은 이하의 도면을 참조할 때 본 발명의 실시예의 상세한 설명의 결과로서 더 잘 이해될 것이다. The above-described features and advantages of the present invention as well as its further features and advantages will be better understood as a result of the detailed description of the embodiments of the present invention with reference to the following drawings.

동일한 참조번호가 전 도면에 걸쳐 사용된다.The same reference numerals are used throughout the drawings.

도 1은 본 발명의 실시예에 따른 상호-도메인 추천 시스템을 도시한다. 이 추천 시스템은 하나 이상의 추천 서버(102) 및 하나 이상의 클라이언트(104)를 포함한다. 추천 서버(102)는 인터넷(103)을 통해 클라이언트(104)와 통신한다. 추천 서버는 또한 예를 들어 쇼핑 도메인(106), 뉴스 도메인(108), 영화 도메인(110) 및 기타 도메인(112)과 같은 복수의 개별 도메인을 포함한다.1 illustrates a cross-domain recommendation system according to an embodiment of the invention. This recommendation system includes one or more recommendation servers 102 and one or more clients 104. The recommendation server 102 communicates with the client 104 via the Internet 103. The recommendation server also includes a plurality of individual domains such as, for example, shopping domain 106, news domain 108, movie domain 110, and other domains 112.

도메인은 예를 들어 쇼핑 애플리케이션(106), 뉴스 애플리케이션(108) 및 영화 애플리케이션(110)과 같은 특정 애플리케이션을 위한 서로 다른 하드웨어와 소프트웨어로 구현된 컴퓨터 시스템이다. 사용자 이벤트라고 또한 지칭되는 각각의 특정 도메인과의 사용자 상호작용은 사용자 데이터베이스(114)에 저장되고 갱신된다. 사용자 데이터베이스(114)는 각각의 개별 도메인으로부터 수집된 데이터, 예를 들어 영화 데이터(116), 뉴스 데이터(118), 쇼핑 데이터(120) 및 기타 도메인 데이터(112)에 대한 기억 장치를 포함한다. 사용자(104)는 모든 도메인과 다수의 사용자 상호작용을 지닐 수 있다. 또한, 도메인은 더 일반적으로는 정보의 범주(category)로서 정의될 수 있다. 예를 들어, 상이한 도메인은 사용자에 관한 정보(나이, 인종, 직업, 학력 등), 행동 정보(인터넷 사용 시간, 사용하는 웹사이트의 종류, 인터넷을 액세스하기 위해 사용된 컴퓨터의 개수 등) 및 컴퓨터 시스템 정보(인터넷 접속 용량, 멀티미디어 시스템 기능, 브라우저 버전 등)을 포함할 수 있다.A domain is a computer system implemented in different hardware and software for specific applications, such as, for example, shopping application 106, news application 108, and movie application 110. User interaction with each particular domain, also referred to as user event, is stored and updated in user database 114. The user database 114 includes storage for data collected from each individual domain, such as movie data 116, news data 118, shopping data 120, and other domain data 112. User 104 may have multiple user interactions with all domains. Also, a domain may be more generally defined as a category of information. For example, different domains may include information about users (age, race, occupation, education, etc.), behavioral information (such as time of Internet use, types of websites used, number of computers used to access the Internet), and computers. System information (Internet connection capacity, multimedia system functionality, browser version, etc.).

추천 서버(120)는 또한 추천 엔진(126)을 포함한다. 이하의 섹션에서 설명되는 바와 같이, 추천 엔진(126)은 추천을 생성하기 위해 전 도메인에 걸쳐 상관관계를 찾는 특정 사용자 이벤트에 응하여 전 도메인에 걸쳐 사용자 데이터베이 스(114)의 일부를 분석한다. 추천 엔진(126)은 예를 들어 영화 데이터(116), 뉴스 데이터(118), 쇼핑 데이터(120) 및 기타 도메인 데이터(122)와 같은 각종 도메인으로부터의 데이터 조각(slice)(124)을 처리한다. 상이한 도메인에 저장된 사용자 이벤트는 상이한 유형, 값 및 구조를 가질 수 있다는 것을 유의한다. 이후 추천 엔진(126)은 사용자 이벤트 간의 상관관계를 찾아내고, 사용자 이벤트 간의 상관관계에 기초하여 그 추천을 공식화한다.Recommendation server 120 also includes a recommendation engine 126. As described in the sections below, the recommendation engine 126 analyzes a portion of the user database 114 across all domains in response to specific user events that find correlations across all domains to generate recommendations. The recommendation engine 126 processes data slices 124 from various domains such as, for example, movie data 116, news data 118, shopping data 120, and other domain data 122. . Note that user events stored in different domains can have different types, values, and structures. The recommendation engine 126 then finds the correlation between the user events and formulates the recommendation based on the correlation between the user events.

사용자 이벤트 수집User Event Collection

협력적 필터링의 추천은 사용자 행동의 분석으로부터 도출된다. 이 사용자 행동은 사용자 데이터베이스(114)에서 사용자 이벤트로 표시되어 있다. 다수의 도메인으로부터의 사용자 이벤트를 저장하는 것은 단 하나의 도메인으로부터의 사용자 이벤트를 저장하는 것보다 더 복잡한데, 그 이유는 각 도메인으로부터의 데이터 포맷이 상이할 수 있기 때문이다. 사용자 이벤트가 수집된 도메인이 다양하다면 사용자 데이터베이스(114)에 저장된 사용자 이벤트도 다양할 것이다. 예를 들어 쇼핑 도메인(106)의 이벤트 유형은 제품을 보는 것, 구매 또는 반품을 포함할 수 있다. 뉴스 도메인(108)의 이벤트 유형은 제목 보기, 요약 보기, 또는 전체 뉴스 기사 보기를 포함할 수 있다. 영화 도메인(110)에서, 이벤트 유형은 영화 점수 매기기 및 영화 리뷰 또는 온라인으로 영화 티켓 구매하기를 포함할 것이다.Recommendations for collaborative filtering are derived from analysis of user behavior. This user behavior is represented as a user event in the user database 114. Storing user events from multiple domains is more complicated than storing user events from only one domain, because the data format from each domain may be different. If the domains in which user events were collected vary, the user events stored in the user database 114 will also vary. For example, the event type of shopping domain 106 may include viewing a product, buying or returning a product. The event type of news domain 108 may include a title view, summary view, or full news article view. In movie domain 110, event types may include movie scoring and movie reviews or buying movie tickets online.

다양한 이벤트의 유형 외에, 주어진 이벤트에 대해 다양한 이벤트 값이 있다.In addition to the various types of events, there are various event values for a given event.

ㆍ숫자 값(numerical values) - 영화, 노래 등에 대한 점수 및 순위.• numeric values-scores and rankings for movies, songs, etc.

ㆍ서수 값(ordinal values) - 예를 들어 고, 중, 저와 같은 순서화된 크기를 갖는 텍스트 값Ordinal values-text values with an ordered size such as high, medium, or low

ㆍ자유 형식의 텍스트(free text) - 리뷰, 의견ㆍ free text-reviews and opinions

ㆍ명사 값(nominal values) - 예를 들어 (온, 오프) (이메일, 메시지, 전화)와 같이 일반적으로 하나 이상의 라벨 집합이며, 위에 포함되지 않은 모든 것Nominal values-usually a set of one or more labels, e.g. (on, off) (email, message, phone), anything not included above

상호-도메인 추천을 지원하는 사용자 데이터베이스(114)는 이 다양한 이벤트 값을 저장할 수 있다. 또한, 다수의 도메인으로부터의 사용자 이벤트를 저장하기 위한 사용자 데이터베이스(114)는 이하의 도 2b에 도시된 바와 같이 다수의 도메인에 걸쳐 구성된다. 많은 구성에서, 도메인은 상이한 개별 팀에 의해 관리된다. 개시된 추천 시스템에 의한 다수의 도메인으로부터의 데이터 집적은 상이한 지리적 위치에 있는 사람들의 다양한 팀 전반에 걸쳐 조정되고 동기화된다. 또한, 추천 시스템의 모든 진행 중인 변경 사항은 동적으로 갱신된다. 다시 말해, 모든 도메인의 변경 사항은 이 중앙화된 사용자 데이터베이스(114)에 의해 수용된다. 도메인, 상품, 서비스, 사용자 및 사용자 이벤트의 속성의 집합은 계속 변경될 수 있다. 이하에 설명되는 바와 같이, 본 발명은 사용자 데이터베이스의 이러한 동적 양태를 지원한다.A user database 114 that supports cross-domain recommendation may store these various event values. In addition, a user database 114 for storing user events from multiple domains is configured across multiple domains, as shown in FIG. 2B below. In many configurations, domains are managed by different individual teams. Data aggregation from multiple domains by the disclosed recommendation system is coordinated and synchronized across various teams of people in different geographical locations. In addition, all ongoing changes to the recommendation system are dynamically updated. In other words, all domain changes are accepted by this centralized user database 114. The set of attributes of domains, products, services, users, and user events may continue to change. As described below, the present invention supports this dynamic aspect of a user database.

도 2a는 본 발명의 실시예에 따른 도 1의 사용자 데이터베이스(114)에 사용자 이벤트를 수집하기 위한 방법을 도시한다. 사용자 이벤트는 이하의 입력 매개변수로 기술된다.2A illustrates a method for collecting user events in the user database 114 of FIG. 1 in accordance with an embodiment of the present invention. User events are described by the following input parameters.

userid - 특정 사용자에 대한 고유 식별자 Userid -a unique identifier for a specific user

domain - 예를 들어 쇼핑, 뉴스, 영화와 같이 이벤트를 생성하는 비즈니스, 속성 또는 시스템 Domain -a business, property, or system that generates events, for example, shopping, news, movies

itemid - 도메인 내의 특정 아이템 또는 제품에 대한 고유 식별자 Itemid -a unique identifier for a specific item or product within the domain

event type - 예를 들어, 구매, 점수, 리뷰와 같은 저장되는 이벤트의 유형 Event type -the type of event being saved, for example, purchases, scores, reviews

event value - 소정의 도메인, 아이템 및 이벤트 유형에 대한 사용자의 입력 Event value —user input for a given domain, item and event type

방법은 단계(202)에서 시작되며 이후 단계(204)로 진행하며, 여기서 방법은 저장될 사용자 이벤트를 수신하고 이것이 유효한 사용자 이벤트인지 여부를 판정한다. 이것이 유효한 이벤트가 아닌 경우, 방법은 이것을 거부해야 하는지 또는 데이터베이스를 확장해야하는지 여부를 판정한다. 이벤트가 거부되지 않는 경우, 데이터베이스는 이 새로운 사용자 이벤트를 반영하도록 갱신된다.The method begins at step 202 and then proceeds to step 204, where the method receives a user event to be stored and determines whether this is a valid user event. If this is not a valid event, the method determines whether to reject it or to extend the database. If the event is not rejected, the database is updated to reflect this new user event.

단계(206)에서, 이벤트의 domain이 유효한지 여부에 관해 평가한다. domain이 유효한 경우(단계(206)의 예), 방법은 단계(212)로 진행한다. 그렇지 않을 경우(단계(206)의 아니오), 단계(208)에서 추천 시스템의 구성을 점검하여 새로운 도메인이 수신될 때 데이터베이스가 동적으로 갱신될 수 있는지 여부를 판정한다. domain의 동적 갱신이 불가능한 경우, 방법은 단계(238)로 진행하고, 여기서 이벤트는 거부된다. 또는 domain의 동적 갱신이 가능한 경우, 단계(210)에서 유효 도메인 집합에 domain이 추가되고, 방법은 단계(212)로 진행한다.In step 206, an evaluation is made as to whether the domain of the event is valid. If domain is valid (example of step 206), the method proceeds to step 212. If not (NO in step 206), in step 208 the configuration of the recommendation system is checked to determine whether the database can be dynamically updated when a new domain is received. If dynamic update of domain is not possible, the method proceeds to step 238 where the event is rejected. Or if dynamic update of the domain is possible, the domain is added to the effective domain set in step 210 and the method proceeds to step 212.

단계(212)에서, 방법은 event type이 유효한지 여부를 점검한다. 유효한 경 우(단계(212)의 예), 방법은 단계(218)로 진행한다. event type이 유효하지 않은 경우(단계(212)의 아니오), 방법은 단계(214)에서 event type의 동적 갱신이 가능한지 여부를 점검한다. event type의 동적 갱신이 가능하지 않은 경우(단계(214)의 아니오), 방법은 단계(238)로 진행하고, 이벤트가 거부된다. 또는 event type의 동적 갱신이 가능한 경우(단계(214)의 예), 단계(216)에서 유효 이벤트 유형의 집합에 event type이 추가되고, 방법은 단계(218)로 진행한다.At step 212, the method is event Check whether type is valid. If valid (example of step 212), the method proceeds to step 218. event If the type is not valid (the step 212; NO), the method event in step 214 Check whether type can be dynamically updated. event If dynamic update of type is not possible (NO in step 214), the method proceeds to step 238, where the event is rejected. Or, if dynamic update of the event type is possible (example of step 214), then the event of the set of valid event types in step 216 type is added and the method proceeds to step 218.

다음, 단계(218)에서, 방법은 event value가 유효한지 여부를 점검한다. 유효한 경우(단계(218)의 예), 방법은 단계(224)로 진행한다. event value가 유효하지 않은 경우(단계(218)의 아니오), 방법은 단계(220)에서 event value의 동적 갱신이 가능한지 여부를 점검한다. event value의 동적 갱신이 가능하지 않은 경우(단계(220)의 아니오), 방법은 단계(238)로 진행하고, 이벤트가 거부된다. 또는 event value의 동적 갱신이 가능한 경우(단계(220)의 예), 단계(222)에서 유효 이벤트 값의 집합에 event value가 추가되고, 방법은 단계(224)로 진행한다. 이와 같이, 각종 이벤트 값을 동적으로 받아들이는 유연성을 갖는 것은 이롭다. 예를 들어, 도메인 "개인(Personals)" 및 이벤트 유형 "접촉 방법(Method of Contact)"에 대해, 공지된 값은 "(이메일, 음성메일, 페이저)"일 수 있다. 개인 제품이 변함에 따라, "웹캠(webcam)"과 같은 다른 사람과 접촉하는 새로운 방법이 추가될 수 있다. 사용자가 이 새로운 특징을 이용함에 따라, "접촉 방법"에 대해 "웹캠" 값을 갖는 새로운 사용자 이벤트가 생성될 것이다. event value의 동적 갱신이 가능한 경우, 시스템은 이러한 사용자 이벤트를 수용하여 계속될 수 있다. 이러한 방 법을 이용하여 시스템은 자동으로 성장할 수 있고, 개개의 도메인 애플리케이션 및 팀에 따라 변경될 수 있다.Next, in step 218, the method is event Check whether value is valid. If valid (example of step 218), the method proceeds to step 224. event If value is not valid (the step 218; NO), the method event at step 220 Check if value can be dynamically updated. event If dynamic update of value is not possible (NO in step 220), the method proceeds to step 238, where the event is rejected. Or, in the case where the dynamic update of the event value as possible (YES in step 220), the set of valid event value in step (222) event value is added and the method proceeds to step 224. As such, it is advantageous to have the flexibility to accept various event values dynamically. For example, for the domain "Personals" and the event type "Method of Contact", the known value may be "(email, voicemail, pager)". As personal products change, new ways of contacting other people, such as "webcams," may be added. As the user uses this new feature, a new user event will be created with a value of "Webcam" for "Contact Method". event If dynamic update of value is possible, the system can continue accepting such user events. Using this approach, the system can grow automatically and change with individual domain applications and teams.

단계(224)에서, 방법은 itemid가 유효한지 여부를 점검한다. 유효한 경우(단계(224)의 예), 방법은 단계(224)로 진행한다. itemid가 유효하지 않은 경우(단계(224)의 아니오), 방법은 단계(226)에서 itemid의 동적 갱신이 가능한지 여부를 점검한다. itemid의 동적 갱신이 가능하지 않은 경우(단계(226)의 아니오), 방법은 단계(238)로 진행하고, 이벤트가 거부된다. itemid의 동적 갱신이 가능한 경우(단계(226)의 예), 단계(228)에서 유효 아이템의 집합에 itemid가 추가되고, 방법은 단계(230)로 진행한다. 이벤트 값에 대해 상술했던 유연성과 마찬가지로, itemid를 동적으로 업데이트하기 위한 이러한 유연성 덕분에, 시스템은 대부분의 비즈니스 애플리케이션에서 필수인 제품 목록의 변경을 자동으로 처리할 수 있다. 일부 애플리케이션에서는, itemid의 동적 갱신을 불가하게 하는 기능 역시 필수이다. 예를 들어, 아이템의 부분 집합에 대해서만 추천을 생성하는 것이 바람직한 경우, 이들 아이템만이 유효 itemid 목록에 있도록 허용된다. itemid의 동적 갱신을 불가하게 하는 것은 원하지 않는 아이템들이 후보 추천의 풀에 몰래 포함되는 것을 방지할 수 있다. 모든 도메인에 걸쳐 itemid를 고유하게 하기 위해, itemid는 그것이 비롯되는 도메인 내에서만 유효성에 대해 점검된다. 이것은 각 도메인(팀, 속성, 애플리케이션)이 다른 도메인과의 이름 공간 충돌에 대한 염려 없이 아이템 식별에 대한 자기 고유의 프로세스를 유지할 수 있도록 해 준다.At step 224, the method checks whether the itemid is valid. If valid (example of step 224), the method proceeds to step 224. If itemid is not valid (NO in step 224), the method checks in step 226 whether the itemid is dynamically updated. If the dynamic update of itemid is not possible (NO in step 226), the method proceeds to step 238, where the event is rejected. If the dynamic update of itemid is possible (example of step 226), then itemid is added to the set of valid items in step 228, and the method proceeds to step 230. As with the flexibility described above for event values, this flexibility to dynamically update itemids allows the system to automatically handle changes to the product list that are required for most business applications. In some applications, the ability to disable dynamic update of itemid is also required. For example, if it is desirable to generate recommendations only for a subset of items, only those items are allowed to be in the list of valid itemids . Disabling the dynamic update of itemid can prevent unwanted items from being included in the pool of candidate recommendations. In order to make itemid unique across all domains, itemid is checked for validity only within the domain from which it originates. This allows each domain (team, attribute, application) to maintain its own process for item identification without worrying about namespace conflicts with other domains.

단계(230)에서, 방법은 userid가 유효한지 여부를 점검한다. 유효한 경우 (단계(230)의 예), 방법은 단계(236)로 진행한다. userid가 유효하지 않은 경우(단계(230)의 아니오), 방법은 단계(232)에서 userid의 동적 갱신이 가능한지 여부를 점검한다. userid의 동적 갱신이 가능하지 않은 경우(단계(232)의 아니오), 방법은 단계(238)로 진행하고, 이벤트가 거부된다. 또는 userid의 동적 갱신이 가능한 경우(단계(232)의 예), 단계(234)에서 유효 userid의 집합에 userid가 추가되고, 방법은 단계(236)로 진행한다. itemid에 대해 상술했던 유연성과 마찬가지로, 새로운 사용자에 대한 이벤트를 저장하기 위해 데이터베이스를 자동으로 확장하는 기능은 사용자 집단(population)이 매일 변하는 대부분의 인터넷 애플리케이션에서 필수이다. 그러나, 사용자의 이벤트가 서비스 조건에 일치하지 않는 경우 그것을 저장해서는 안 되는 경우와 같이, 이러한 갱신을 제한하는 유연성 또한 이로울 수 있다.In step 230, the method checks whether the userid is valid. If valid (example of step 230), the method proceeds to step 236. If the userid is not valid (NO in step 230), the method checks in step 232 whether dynamic update of the userid is possible. If dynamic update of the userid is not possible (NO in step 232), the method proceeds to step 238, where the event is rejected. Or if dynamic update of the userid is possible (example of step 232), the userid is added to the set of valid userids in step 234, and the method proceeds to step 236. As with the flexibility described above for itemid , the ability to automatically extend the database to store events for new users is essential for most Internet applications where user populations change daily. However, the flexibility to limit such updates may also be beneficial, such as when a user's event does not match a service condition and should not be stored.

단계(236)에서, 사용자 이벤트는 사용자 데이터베이스(114)에 저장되고, 방법은 단계(240)에서 종료된다.In step 236, the user event is stored in the user database 114, and the method ends in step 240.

사용자 이벤트 분석하기Analyzing User Events

도 2b는 본 발명의 실시예에 따라 도 1의 사용자 데이터베이스(114)에 있는 사용자 이벤트를 분석하기 위한 방법을 도시한다. 도 2b에 도시된 바와 같이, 사용자 데이터베이스(114)는 다차원의 배열로 표현되어 있고, 여기서 각 사용자는 하나 이상의 행으로 표현되어 있고, 각 행은 특정 사용자 이벤트를 포함한다.2B illustrates a method for analyzing a user event in the user database 114 of FIG. 1 in accordance with an embodiment of the present invention. As shown in FIG. 2B, the user database 114 is represented in a multidimensional array, where each user is represented by one or more rows, each row containing a particular user event.

위의 스케이트 보드 예를 이용해 보면, 수집된 제1 사용자 이벤트는 사용자 1이 스케이트 보드에 관한 새로운 기사 전부를 봤다는 것이다. 이 경우에서의 이 벤트 값은 명사 값("예")이다. 두 번째 이벤트는 사용자 1이 스케이트 보드 영화를 80점으로 평가했다는 것이다. 이 이벤트 값은 이 경우에서는 0과 100까지의 정수인 서수 값이다. 세 번째 이벤트는 사용자 1이 이어서 이 영화에 대한 리뷰를 작성했다는 것이다. 이 경우 이벤트 값은 자유 형식의 텍스트이다. 네 번째 이벤트는 사용자 1이 스케이트 보드를 구매했다는 것이다. 이 경우 이벤트 값은 이 품목을 위해 지불된 금액을 나타내는 서수이다. 그리고 이어서 다섯 번째 이벤트는 이 스케이트 보드 아이템에 대한 등급을 보여준다. 이 경우의 이벤트 값은 크기 "저", "중", "고"에 있어서의 "고"이다. Using the skateboard example above, the collected first user event is that user 1 has seen all of the new articles about skateboarding. The event value in this case is the noun value ("Yes"). The second event is that User 1 rated the skateboard movie at 80 points. This event value is an ordinal value, which in this case is an integer between 0 and 100. The third event is that User 1 subsequently wrote a review of the movie. In this case the event value is free-form text. The fourth event is that User 1 has purchased a skateboard. In this case, the event value is an ordinal number representing the amount paid for this item. The fifth event then shows the rating for this skateboard item. The event value in this case is "high" in the sizes "low", "medium" and "high".

사용자 이벤트 간의 상관관계를 찾아내기 위해 이용될 수 있는 많은 협력적 필터링 알고리즘이 있다. 본 발명의 한 실시예에서, 사용자 이벤트 간의 상관관계를 찾기 위해, 2003년 4월 16일에 출원되고, 발명의 명칭이 "Affinity Analysis Method and Article of Manufacture"인 미국 출원 제10/417,709호에서 설명되어 있는 어피니티 엔진(Affinity engine)이 이용된다. 이 미국 출원 제10/417,709호는 참조함으로써 본 명세서에 명확하게 포함된다. 이 어피니티 엔진은 사용자 집단 전체에 대해 수집된 다수의 도메인에 걸친 사용자 데이터베이스(114)의 일부를 처리하여 사용자 데이터베이스의 사용자 1과 다른 사용자의 사용자 이벤트들과 같이 사용자 이벤드들 간의 상관관계를 결정한다. 기준 사용자 이벤트들 간의 관계의 가중치를 나타내는 상관관계 값이 할당되고, 이 상관관계 값은 유사성(similarity) 데이터베이스에 저장된다. 이후 이 상관관계 값은 유사한 사용자 행동을 보이는 이후의 사용자들에게 추천을 생성하는 데에 사용된다. 예를 들어, 사용자 2가 스 케이트 보드에 관한 동일한 새로운 기사 전부를 보았고, 동일한 스케이트 보드 영화를 평가하고 그에 대한 리뷰를 작성했다면, 사용자 1의 기준 사용자 이벤트와 같이 그 사용자 집단의 다른 사용자에 의해 나타난 축적된 기준 사용자 이벤트를 기초로 하여, 특정 스케이트 보드를 구입하는 것에 대해 사용자 2에게 추천을 생성할 수 있다. 개시된 발명이 사용자 이벤트 간의 상관관계 값을 계산하기 위해 사용되는 협력적 필터링 알고리즘과 관계가 없다는 것을 유의한다. 소정의 유형의 필터링 알고리즘이 소정의 유형의 사용자 이벤트를 필터링하는 데에 더 적합할 수 있다는 것을 인식하면서, 개시된 발명은 임의의 협력적인 필터링 알고리즘을 플러그-인 컴포넌트로서 추천 시스템에 통합하는 것을 지원한다.There are many collaborative filtering algorithms that can be used to find correlations between user events. In one embodiment of the present invention, filed on April 16, 2003, in order to find correlations between user events, described in US Application No. 10 / 417,709 entitled "Affinity Analysis Method and Article of Manufacture" An affinity engine is used. This US application 10 / 417,709 is expressly incorporated herein by reference. This affinity engine processes portions of the user database 114 across multiple domains collected for the entire user population to determine correlations between user events, such as user 1 and user events of other users in the user database. do. A correlation value representing the weight of the relationship between the reference user events is assigned, and the correlation value is stored in a similarity database. This correlation value is then used to generate recommendations for future users who exhibit similar user behavior. For example, if User 2 saw all of the same new articles about skateboards, and rated and reviewed the same skateboard movie, it would appear to be represented by other users in that user group, such as User 1's base user event. Based on the accumulated reference user event, a recommendation can be generated to User 2 for purchasing a particular skateboard. Note that the disclosed invention is independent of the collaborative filtering algorithm used to calculate correlation values between user events. Recognizing that certain types of filtering algorithms may be more suitable for filtering certain types of user events, the disclosed invention supports incorporating any collaborative filtering algorithms into the recommendation system as a plug-in component. .

유사한 아이템 추천하기Recommend similar items

아이템 간의 유사성은 추천을 하기 위한 가능 기준을 제공한다. 종종 사람들은 자신이 재미있게 읽었던 책과 유사하다고 생각되는 책을 읽기 위해 도서를 검색한다. 이것은 다른 도메인, 영화, 노래, 의류, 게임 및 다른 제품 및 서비스로 확장된다. 아이템들은 그것들이 비슷할 때 또는 보다 구체적으로는, 그 속성 전반에 걸쳐 유사한 값을 지니는 경우 유사하다고 간주된다. 예를 들어, 도서의 경우, 속성은 저자, 픽션인지 픽션이 아닌지, 장르, 및 인물 전개일 수 있다. 아이템 유사성에 기초하여 추천을 계산하기 위한 다른 어프로치가 존재한다.Similarity between items provides a possible criterion for making recommendations. Often people search for a book to read a book that they think is similar to the book they had fun reading. This extends to other domains, movies, songs, clothing, games and other products and services. Items are considered similar when they are similar or, more specifically, when they have similar values across their attributes. For example, for books, the attributes may be author, fiction or not fiction, genre, and character development. There is another approach for calculating recommendations based on item similarity.

도 3에 도시된 본 발명의 한 실시예에서, 본 방법은 상호-도메인 추천의 상황에서 이러한 아이템 유사성을 사용하는 방법을 제공한다. 사용자 요청과 같은 유사한 아이템 추천에 대한 트리거링 이벤트는 이하의 입력 매개변수를 포함한다:In one embodiment of the invention shown in FIG. 3, the method provides a method of using such item similarity in the context of cross-domain recommendation. Triggering events for similar item recommendations, such as user requests, include the following input parameters:

domain - 예를 들어, 쇼핑, 뉴스, 영화와 같은, 유사한 아이템 추천이 요청되고 있는 아이템을 포함하는 비즈니스, 속성 또는 시스템 Domain -a business, property or system containing items for which similar item recommendations are requested, such as, for example, shopping, news, movies

itemid - 도메인 내의 특정 아이템 또는 제품에 대한 고유 식별자 Itemid -a unique identifier for a specific item or product within the domain

threshold - 추천 아이템이 가져야만 하는 유사성의 최소 레벨 Threshold -the minimum level of similarity that the recommended item should have

minitem - 추천 아이템의 최소 희망 개수 Minitem -the minimum desired number of recommended items

maxitem - 추천 아이템의 최대 희망 개수 Maxitem -Maximum desired number of recommended items

src_domains - 추천 아이템이 속해야 하는 도메인 Src_domains -Domains that the recommended item should belong to

방법은 원하는 도메인 전체에 걸쳐 유사한 아이템을 찾아내고 규정된 제한 집합에 따라 추천 아이템의 목록을 반환한다.The method finds similar items across the desired domain and returns a list of recommended items according to a defined set of restrictions.

도 3은 본 발명의 실시예에 따라 추천 엔진(216)이 유사한 아이템의 추천을 생성하기 위한 방법을 도시한다. 이 방법은 단계(302)에서 시작되고, 이후 단계(304)로 진행하여 사용자 요청과 같은 지정된 아이템과 유사한 다른 아이템의 추천을 위한 트리거링 이벤트를 수신한다. 단계(306)에서, 지정된 아이템이 사용자 데이터베이스(114)에 존재하는지 여부에 관해 판정한다. 지정된 아이템이 존재하지 않는 경우(단계(306)의 아니오), 방법은 단계(334)에서 종료하고, 아무 추천이 생성되지 않는다. 또는 지정된 아이템이 존재하는 경우(단계(306)의 예), 방법은 단계(308)로 계속된다. 지정된 아이템이 존재하는지 여부에 관한 판정은 이 지정된 아이템과 유사하다고 여겨지는 임의의 아이템이 있는지 여부에 기초한다. 유사한 아이템이 없는 데에는 1) 이것이 이전에는 존재하지 않았던 새로운 아이템인 경우; 2) 이 지정된 아이템은 요청 이전에는 존재했지만, 사용자 이벤트가 추천의 근 거인 이 지정된 아이템과 충분하게 관련되지 않은 경우와 같이 두 가지 가능한 원인이 있다.3 illustrates a method for recommendation engine 216 to generate recommendations for similar items in accordance with an embodiment of the present invention. The method begins at step 302 and then proceeds to step 304 to receive a triggering event for recommendation of another item similar to the designated item, such as a user request. In step 306, a determination is made as to whether or not the specified item exists in the user database 114. If the specified item does not exist (NO in step 306), the method ends at step 334, and no recommendation is generated. Or if the designated item is present (example of step 306), the method continues to step 308. The determination as to whether a specified item exists is based on whether there is any item that is considered similar to this specified item. There are no similar items: 1) this is a new item that did not exist previously; 2) This specified item existed prior to the request, but there are two possible causes, such as when the user event is not sufficiently related to the specified item.

다음, 단계(308) 내지 단계(312)를 통해, 제한되지 않은 유사한 아이템 집합이 검색된다. 이 집합은 또한 제1 추천 목록이라 지칭된다. 제한되지 않은 유사한 아이템 집합은 src _ domain 입력 매개변수가 특정되었는지 여부에 좌우된다. src_domain이 특정된 경우(단계(308)의 예), 단계(310)에서 유사한 아이템의 집합은 src_domain에 의해 표시된 도메인으로부터만 얻어진다. src_domain이 특정되지 않은 경우(단계(308)의 아니오), 단계(312)에서 유사한 아이템의 집합은 모든 도메인으로부터 얻어진다. Next, through steps 308-312, a similar, unrestricted set of items is retrieved. This set is also referred to as the first recommendation list. A similar set of items, but not limited to is dependent on whether the src _ domain input parameters specified. If src_domain is specified (example of step 308), then a set of similar items in step 310 is obtained only from the domain indicated by src_domain . If src_domain is not specified (NO in step 308), then in step 312 a set of similar items is obtained from all domains.

유사한 아이템의 제1 추천 목록이 주어지면, domain, threshold, minitem maxitem을 포함하는 규정된 제약 집합이 적용되어 상호-도메인 추천을 개선한다. 단계(314)에서, 제1 추천 목록의 아이템의 개수가 규정된 minitem보다 큰지 여부에 관해 판정한다. 판정의 결과가 부정이면(단계(314)의 아니오), 단계(322)에서 제1 추천 목록이 반환된다. 또는 판정의 결과가 긍정이면(단계(314)의 예), 방법은 단계(316)로 계속된다.Given a first recommendation list of similar items, domain, threshold, minitem And a defined set of constraints including maxitem is applied to improve cross-domain recommendation. In step 314, it is determined whether the number of items in the first recommendation list is greater than the prescribed minitem . If the result of the determination is negative (NO in step 314), then in step 322 the first recommendation list is returned. Or if the result of the determination is affirmative (YES in step 314), the method continues to step 316.

단계(316)에서, 제1 추천 목록으로부터 제2 추천 목록이 형성된다. 제2 추천 목록은 규정된 threshold 이상의 상관관계 값을 갖는 유사한 아이템을 포함하는 제1 추천 목록의 서브집합이다. 제2 추천 목록의 아이템의 개수가 minitem보다 큰지 여부에 관해 판정한다. 제2 추천 목록의 아이템의 개수가 minitem보다 크지 않으면(단계(316)의 아니오), 단계(330)에서, 방법은 제1 추천 목록의 상관관계 값을 내림차 순으로 정렬한 후 여기서 minitem 개의 추천을 선택하여 제3 추천 목록을 형성하며, 방법은 단계(322)에서 제3 추천 목록을 반환한다. 이 경우, 추천된 아이템 중 하나 이상은 threshold 이하의 상관관계 값을 가질 수 있음에도 불구하고 minitem 제약을 충족시키기 위해 이 아이템들은 반환된다. 많은 공용 컴퓨터 및 인터넷 애플리케이션에서 요청된 아이템의 개수를 사용자에게 제공하는 것이 이롭다. 또는, 제2 추천 목록의 아이템의 개수가 minitem보다 크다면(단계(316)의 예), 제2 추천 목록은 단계(320) 내지 단계(328)에서의 추가 처리를 위해 단계(318)에서 계속 유지된다.In step 316, a second recommendation list is formed from the first recommendation list. The second recommendation list is a subset of the first recommendation list that includes similar items with correlation values above a defined threshold . It is determined whether the number of items of the second recommendation list is greater than the minitem . If the number of items in the second recommendation list is not greater than minitem (NO in step 316), then at step 330, the method sorts the correlation values of the first recommendation list in descending order and then here minitem. Three recommendations are selected to form a third recommendation list, and the method returns a third recommendation list at step 322. In this case, one or more of the recommended items is threshold Minitem despite having a correlation value of These items are returned to satisfy the constraint. It is beneficial to provide the user with the number of items requested in many public computer and Internet applications. Or, if the number of items in the second recommendation list is greater than the minitem (YES in step 316), the second recommendation list continues at step 318 for further processing in steps 320 to 328. maintain.

단계(320)에서, maxitem 제약이 고려된다. 제2 추천 목록의 아이템의 개수가 maxitem 제약보다 큰지 여부에 관해 판정한다. 그 결과가 아니오(단계(320)의 아니오)일 경우 단계(332)에서 제2 추천 목록이 반환된다. 이 경로는 임계값을 충족시키거나 또는 그를 초과하는 추천된 유사한 아이템의 목록을 반환하고, 추천된 아이템의 개수는 요청된 아이템의 최소 개수보다는 크지만 요청된 아이템의 최대 개수보다는 작거나 같다. 또는(단계(320)의 예), 유사성 threshold 제약을 적용한 후 제2 추천 목록의 아이템의 개수가 여전히 아이템의 최대 희망 개수보다 큰 경우, 방법은 단계(322)로 진행하여 추천된 아이템이 얻어진 도메인 집합 전체에 걸쳐 이것을 확산시킴으로써 제2 추천 목록을 개선한다.In step 320, maxitem constraints are considered. It is determined whether the number of items of the second recommendation list is greater than the maxitem constraint. If the result is no (No in step 320), then in step 332 a second recommendation list is returned. This path returns a list of recommended similar items that meet or exceed a threshold, where the number of recommended items is greater than the minimum number of items requested but less than or equal to the maximum number of items requested. Or (example of step 320), the similarity threshold If after applying the constraint the number of items in the second recommendation list is still greater than the maximum desired number of items, the method proceeds to step 322 to build the second recommendation list by spreading it across the domain set from which the recommended item was obtained. Improve.

단계(322)에서, 규정된 src _ domains 매개변수에 따라 후보 아이템들이 도메인 그룹으로 나뉜다. 단계(324) 내지 단계(328)에서, 방법은 라운드 로빈 방식(round-robin scheme)을 이용하여 한번에 하나씩 각 그룹을 선회한다(단계 (324)). 단계(326)에서, 방법은 가장 높은 상관관계 값을 갖는 추천을 선택하여 제4 추천 목록을 형성한다(단계 (326)). 당업자들은 이 선택 프로세스에서 다른 우선순위 방식이 사용될 수 있다는 것을 인식할 것이다. 제4 추천 목록의 아이템의 개수가 규정된 maxitem과 동일해질 때까지 단계(324) 내지 단계(326)가 반복된다. 최종 결과는 요청된 아이템과 유사한 제4 추천 집합이다. 이 제4 추천 집합은 minitemmaxitem 제약뿐만 아니라 충분히 유사한 아이템이 존재하는 경우 유사성 threshold도 충족시킨다. 추천 아이템 집합은 또한 특정된 도메인 전체에 걸쳐 동일한 선택을 나타낸다. 단계(332)에서, 제4 추천 목록이 반환된다. 방법은 단계(334)에서 종료된다.In step 322, according to a defined src _ domains parameter candidate items are divided into domain groups. In steps 324 to 328, the method rotates each group one at a time using a round-robin scheme (step 324). At step 326, the method selects the recommendation with the highest correlation value to form a fourth recommendation list (step 326). Those skilled in the art will appreciate that other priority schemes may be used in this selection process. Steps 324 to 326 are repeated until the number of items in the fourth recommendation list is equal to the defined maxitem . The final result is a fourth set of recommendations similar to the requested item. This fourth set of recommendations meets not only minitem and maxitem constraints but also similarity thresholds when there are sufficiently similar items. The recommended item set also represents the same choice throughout the specified domain. In step 332, a fourth recommendation list is returned. The method ends at step 334.

개인화된 아이템 추천하기Recommend personalized items

유사한 아이템을 추천하는 것은 사용자의 개인적 선호도(preference)의 이력을 고려함으로써 더 개선될 수 있다. 개인화된 추천은, 사용자의 개인적 선호도의 이력에 따라 소정의 개인이 선호하는 아이템들과 유사한 아이템을 찾아냄으로써 행해진다. 도 4는 본 발명의 실시예에 따라 개인화된 추천을 생성하기 위한 방법을 도시한다. 본 방법은 원하는 도메인 전체에 걸쳐 개인화된 추천을 찾아내고, 규정된 매개변수 집합에 따라 개인화된 추천 목록을 반환한다. 사용자 요청과 같은 개인화된 추천을 위한 트리거링 이벤트는 이하의 입력 매개변수를 포함한다:Recommend similar items can be further improved by considering the history of the user's personal preferences. Personalized recommendations are made by finding items that are similar to items preferred by a given individual according to a user's history of personal preferences. 4 illustrates a method for generating a personalized recommendation in accordance with an embodiment of the present invention. The method finds personalized recommendations across the desired domain and returns a personalized list of recommendations according to a defined set of parameters. Triggering events for personalized recommendations, such as user requests, include the following input parameters:

userid - 특정 사용자에 대한 고유 식별자 Userid -a unique identifier for a specific user

threshold - 추천 아이템이 가져야만 하는 유사성의 최소 레벨 Threshold -the minimum level of similarity that the recommended item should have

minitem - 추천 아이템의 최소 희망 개수 Minitem -the minimum desired number of recommended items

maxitem - 추천 아이템의 최대 희망 개수 Maxitem -Maximum desired number of recommended items

src_domains - 추천 아이템이 속해야 하는 도메인 Src_domains -Domains that the recommended item should belong to

방법은 단계(402)에서 시작하여 방법이 개인화된 추천을 위한 트리거링 이벤트를 수신하는 단계(404)로 진행한다. 단계(406)에서, 사용자가 존재하는지에 관한 제1 판정이 내려진다. 사용자가 존재하지 않는 경우(단계(406)의 아니오), 방법은 단계(434)에서 종료하고 개인화된 추천은 생성되지 않는다. 또는, 사용자가 존재하는 경우(단계(406)의 예), 방법은 단계(408)로 계속된다. 사용자가 존재하는지 여부에 관한 판정은 사용자 데이터베이스(114)에 임의의 사용자 이벤트가 있는지 여부에 기초한다. 단계(408)에서, 사용자가 성향을 보이거나 또는 선호도를 보인 아이템의 제1 목록이 검색된다. 이 아이템의 제1 목록은 또한 규정된 threshold이거나 또는 그 이상이다. The method begins at step 402 and proceeds to step 404 where the method receives a triggering event for a personalized recommendation. In step 406, a first determination is made as to whether the user is present. If the user does not exist (NO in step 406), the method ends at step 434 and no personalized recommendation is generated. Or, if the user is present (example of step 406), the method continues to step 408. The determination as to whether the user exists is based on whether there are any user events in the user database 114. In step 408, a first list of items for which the user showed preference or showed preference is retrieved. The first list of items is also at or above a defined threshold .

이 선호 아이템들은 개인화된 추천을 찾아내기 위한 기초로서 사용된다. 단계(410 및 412)에서, 선호 아이템 각각에 대해(단계 410), 유사한 아이템 집합이 검색된다(단계 412). 유사한 아이템을 찾아내기 위한 방법은 도 3과 관련하여 상술되었다. 다음의 입력 매개변수, threshold , minitem , maxitemsrc _ domains이 유사한 아이템을 얻기 위한 프로세스에서 이용된다. 유사한 아이템을 얻기 위한 itemiddomain 입력 매개변수는 선호 아이템 목록의 각 아이템으로부터 얻어진다. 단계(412)에서, 선호 아이템 각각에 대해 검색된 유사한 아이템의 조합이 이후의 단계를 위해 제1 개인화된 추천 목록에 저장된다.These preference items are used as the basis for finding personalized recommendations. In steps 410 and 412, for each of the preferred items (step 410), a similar set of items is retrieved (step 412). The method for finding similar items has been described above with reference to FIG. 3. The following input parameters, This threshold, minitem, maxitem src _ domains and is used in the process for obtaining a similar item. The itemid and domain input parameters for obtaining similar items are obtained from each item in the preferred item list. In step 412, a combination of similar items retrieved for each of the preferred items is stored in the first personalized recommendation list for later steps.

제1 개인화된 추천 목록이 주어지면, domain , threshold , minitem maxitem을 포함하는 규정된 제약 집합이 적용되어 상호-도메인 추천을 개선시킨다. 단계(414)에서, 제1 추천 목록의 아이템의 개수가 규정된 minitem보다 큰지 여부에 관해 판정한다. 판정의 결과가 부정이면(단계(414)의 아니오), 단계(432)에서 제1 추천 목록이 반환된다. 판정의 결과가 긍정이면(단계(414)의 예), 방법은 단계(416)로 계속된다.Given the first personalized recommendation list, domain , threshold , minitem And a defined set of constraints, including maxitem , is applied to improve cross-domain recommendation. In step 414, a determination is made as to whether the number of items in the first recommendation list is greater than the defined minitem . If the result of the determination is negative (NO in step 414), then in step 432 the first recommendation list is returned. If the result of the determination is affirmative (YES in step 414), the method continues to step 416.

단계(416)에서, 제1 추천 목록으로부터 제2 추천 목록이 형성된다. 제2 추천 목록은 규정된 threshold 이상의 상관관계 값을 갖는 아이템을 포함하는 제1 추천 목록의 서브집합이다. 제2 추천 목록의 아이템의 개수가 minitem보다 큰지 여부에 관해 판정한다. 제2 추천 목록의 아이템의 개수가 minitem보다 크지 않으면(단계(416)의 아니오), 단계(430)에서, 방법은 제1 추천 목록을 상관관계 값을 내림차 순으로 정렬한 후 여기서 minitem 개의 추천을 선택하여 제3 추천 목록을 형성하며, 방법은 단계(422)에서 제3 추천 목록을 반환한다. 이 경우, 추천된 아이템 중 하나 이상은 threshold 이하의 상관관계 값을 가질 수 있음에도 불구하고 이 아이템들은 minitem 제약을 충족시키기 위해 반환된다. 많은 공용 컴퓨터 및 인터넷 애플리케이션에서 요청된 아이템의 개수를 사용자에게 제공하는 것이 이롭다. 또는, 제2 추천 목록의 아이템 개수가 minitem보다 크다면(단계(416)의 예), 제2 추천 목록은 단계(420) 내지 단계(428)에서의 추가 처리를 위해 단계(418)에서 계속 유지된다.In step 416, a second recommendation list is formed from the first recommendation list. The second recommendation list is a subset of the first recommendation list that includes items having correlation values above a prescribed threshold . It is determined whether the number of items of the second recommendation list is greater than the minitem . If the number of items in the second recommendation list is not greater than minitem (NO in step 416), then at step 430, the method sorts the first recommendation list in descending order of correlation values, where minitem is present. Three recommendations are selected to form a third recommendation list, and the method returns a third recommendation list at step 422. In this case, one or more of the recommended items is threshold Although these items can have the following correlation values, they are minitem Returned to satisfy the constraint. It is beneficial to provide the user with the number of items requested in many public computer and Internet applications. Or, if the number of items in the second recommendation list is greater than the minitem (YES in step 416), the second recommendation list remains in step 418 for further processing in steps 420 to 428. do.

단계(420)에서, maxitem 제약이 고려된다. 제2 추천 목록의 아이템의 개수가 maxitem 제약보다 큰지 여부에 관해 판정한다. 그 결과가 아니오(단계(420)의 아니오)라면, 단계(432)에서 제2 추천 목록이 반환된다. 이 경로는 임계값을 충족시키거나 또는 그를 초과하는 추천된 아이템의 목록을 반환하고, 추천된 아이템의 개수는 요청된 아이템의 최소 개수보다는 크지만 요청된 아이템의 최대 개수보다는 작거나 같다. 또는(단계(420)의 예), 유사성 threshold 제약을 적용한 후, 제2 추천 목록의 아이템의 개수가 여전히 아이템의 최대 희망 개수보다 큰 경우, 방법은 단계(422)로 진행하여 추천된 아이템이 얻어진 도메인 집합 전체에 걸쳐 이것을 확산시킴으로써 제2 추천 목록을 개선한다.At step 420, maxitem Constraints are considered. It is determined whether the number of items of the second recommendation list is greater than the maxitem constraint. If the result is no (No in step 420), then in step 432 a second recommendation list is returned. This path returns a list of recommended items that meet or exceed the threshold, and the number of recommended items is greater than the minimum number of items requested but less than or equal to the maximum number of items requested. Or (example of step 420), after applying the similarity threshold constraint, if the number of items in the second recommendation list is still greater than the maximum desired number of items, the method proceeds to step 422 where the recommended item is obtained. Improve this second recommendation list by spreading it across a set of domains.

단계(422)에서, 규정된 src _ domains 매개변수에 따라 후보 아이템들이 도메인 그룹으로 나뉜다. 단계(424) 내지 단계(428)에서, 방법은 라운드 로빈 방식을 이용하여 한번에 하나씩 각 그룹을 선회한다(단계 (424)). 단계(426)에서, 방법은 가장 높은 상관관계 값을 갖는 추천을 선택하여 제4 추천 목록을 형성한다. 당업자들은 이 선택 프로세스에서 다른 우선순위 방식이 사용될 수 있다는 것을 인식할 것이다. 제4 추천 목록의 아이템의 개수가 규정된 maxitem과 동일해질 때까지 단계(424) 내지 단계(426)가 반복된다. 최종 결과는 사용자의 선호 아이템에 맞추어진 제4 추천 집합이다. 이 제4 추천 집합은 minitemmaxitem 제약뿐만 아니라 충분히 개인화된 아이템이 존재하는 경우 상관관계 값의 threshold도 충족시킨다. 추천 아이템 집합은 또한 특정된 도메인 전체에 걸쳐 동일한 선택을 나타낸다. 단계(432)에서, 제4 추천 목록이 반환된다. 방법은 단계(434)에서 종료된다.In step 422, defined src _ domains According to the parameters, candidate items are divided into domain groups. In steps 424 to 428, the method rotates each group one at a time using a round robin scheme (step 424). At step 426, the method selects the recommendation with the highest correlation value to form a fourth recommendation list. Those skilled in the art will appreciate that other priority schemes may be used in this selection process. Steps 424 to 426 are repeated until the number of items in the fourth recommendation list is equal to the defined maxitem . The final result is a fourth set of recommendations tailored to the user's favorite items. This fourth set of recommendations not only meets the minitem and maxitem constraints, but also meets the threshold of correlation values when a sufficiently personalized item exists. The recommended item set also represents the same choice throughout the specified domain. In step 432, a fourth recommendation list is returned. The method ends at step 434.

추천을 생성하기 위해 개시된 시스템은 기존 시스템에 대해 많은 개선점을 제공한다. 특히, 개시된 시스템은 다수의 도메인에 걸친 사용자 입력 데이터를 고 려함으로써 더 좋고 더 관련된 추천을 생성한다. 더 나은 추천을 생성하는 기능은 더 나은 사용자 경험을 가능하게 하며, 사용자에게 더 넓은 범위의 제품 또는 서비스를 제공한다.The system disclosed to generate recommendations provides a number of improvements over existing systems. In particular, the disclosed system generates better and more relevant recommendations by considering user input data across multiple domains. The ability to generate better recommendations enables a better user experience and offers a wider range of products or services to the user.

당업자들은 개시된 실시예의 사용될 수 있는 많은 가능한 변경이 있지만, 동일한 기본적인 메커니즘 및 방법론을 여전히 사용하고 있음을 이해할 것이다. 예를 들어, 추천을 개선하기 위해 사용자의 연령 정보와 같은 다른 제약 집합이 사용될 수 있다. 본 발명의 한 실시예에 개시된 라운드 로빈 방식 대신 다른 우선순위 방식이 사용될 수 있다. 그리고 다수의 도메인 전체에 걸친 사용자 입력 데이터 간의 상관관계 값을 계산하는 데에 다른 알고리즘이 사용될 수 있다.Those skilled in the art will understand that there are many possible variations of the disclosed embodiments that can be used, but still use the same basic mechanism and methodology. For example, other sets of constraints, such as user's age information, may be used to improve the recommendation. Other priority schemes may be used instead of the round robin scheme disclosed in one embodiment of the present invention. And other algorithms can be used to calculate correlation values between user input data across multiple domains.

설명을 위해, 전술된 설명은 특정 실시예를 참조하여 설명되었다. 그러나, 상술된 도시적인 설명은 총망라하거나 또는 개시된 바로 그 형태에 본 발명을 제한하고자 하는 것이 아니다. 상술된 교시의 견지에서 많은 수정 및 변형이 가능하다. 본 발명의 원리 및 그 실질적인 응용을 가장 잘 설명하기 위해 실시예가 선택되고 설명되었으며, 이에 의해 당업자들은 고려되는 특정 사용에 적합하게, 다양하게 변형된 각종 실시예와 발명을 가장 이용할 수 있다.For purposes of explanation, the foregoing description has been described with reference to specific embodiments. However, the illustrative descriptions above are not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. Embodiments have been selected and described in order to best explain the principles of the invention and its practical application, thereby enabling those skilled in the art to best utilize various embodiments and inventions that are variously modified to suit the particular use contemplated.

추천을 생성하기 위해 개시된 시스템은 기존 시스템에 대해 많은 개선점을 제공한다. 특히, 개시된 시스템은 다수의 도메인에 걸친 사용자 입력 데이터를 고려함으로써 더 좋고 더 관련된 추천을 생성한다. 더 나은 추천을 생성하는 기능은 더 나은 사용자 경험을 가능하게 하며, 사용자에게 더 넓은 범위의 제품 또는 서비 스를 제공한다.The system disclosed to generate recommendations provides a number of improvements over existing systems. In particular, the disclosed system generates better and more relevant recommendations by considering user input data across multiple domains. The ability to generate better recommendations enables a better user experience and provides users with a wider range of products or services.

Claims (37)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 컴퓨터 네트워크를 통해 하나 이상의 컴퓨터 시스템을 사용하여 추천을 생성하기 위한 방법에 있어서,A method for generating a recommendation using one or more computer systems over a computer network, the method comprising: 복수의 도메인에 걸친 사용자 이벤트를 데이터베이스에 수집하는 단계;Collecting user events across a plurality of domains in a database; 추천에 대한 트리거링 이벤트를 수신하는 단계;Receiving a triggering event for a recommendation; 상기 사용자 이벤트를 분석하여 상기 데이터베이스의 상기 사용자 이벤트들 간의 상관관계를 공식화하는 단계; 및Analyzing the user events to formulate correlations between the user events in the database; And 상기 트리거링 이벤트에 응하여 상기 데이터베이스의 상기 사용자 이벤트들 간의 상기 상관관계 및 상기 복수의 도메인에 따라 추천을 생성하는 단계Generating a recommendation according to the correlation and the plurality of domains between the user events in the database in response to the triggering event 를 포함하고,Including, 트리거링 이벤트를 수신하는 상기 단계는, 유사한 아이템 추천 요청을 수신하는 단계를 포함하고,Receiving the triggering event comprises receiving a similar item recommendation request, 트리거링 이벤트에 응하여 추천을 생성하는 상기 단계는, 상기 데이터베이스의 사용자 이벤트 간의 상기 상관관계에 따라 유사한 아이템의 추천을 생성하는 단계를 포함하고,Generating a recommendation in response to a triggering event comprises generating a recommendation of a similar item according to the correlation between user events in the database, 유사한 아이템의 추천을 생성하는 상기 단계는,The step of generating a recommendation of similar items, 규정된 매개변수 집합을 포함하는 상기 요청을 검증하는 단계;Verifying the request comprising a defined set of parameters; 소스 도메인이 특정된 경우, 상기 소스 도메인에 따라 제1 추천 목록을 생성하는 단계; 및If a source domain is specified, generating a first recommendation list according to the source domain; And 상기 소스 도메인이 특정되지 않은 경우, 상기 데이터베이스의 모든 사용가능한 도메인에 따라 상기 제1 추천 목록을 생성하는 단계If the source domain is not specified, generating the first recommendation list according to all available domains of the database 를 포함하는 방법.How to include. 제8항에 있어서, 상기 제1 추천 목록을 생성하는 단계는,The method of claim 8, wherein the generating of the first recommendation list comprises: 상기 제1 추천 목록이 규정된 최소 개수의 아이템과 같거나 작은 경우, 상기 제1 추천 목록을 반환하는 단계; 및Returning the first recommendation list when the first recommendation list is less than or equal to a prescribed minimum number of items; And 상기 제1 추천 목록이 상기 규정된 최소 개수의 아이템보다 클 경우, 상관관계 값과 상기 규정된 매개변수 집합에 따라 상기 제1 추천 목록을 개선하는 단계If the first recommendation list is larger than the prescribed minimum number of items, improving the first recommendation list according to a correlation value and the defined parameter set. 를 포함하는 방법.How to include. 제9항에 있어서, 상기 제1 추천 목록을 개선하는 단계는,The method of claim 9, wherein the step of improving the first recommendation list, 규정된 임계값 이상의 상관관계 값을 갖는 제1 추천 목록의 아이템으로부터 제2 추천 목록을 형성하는 단계;Forming a second recommendation list from items of the first recommendation list having a correlation value equal to or greater than a prescribed threshold value; 상기 제2 추천 목록이 상기 규정된 최소 개수의 아이템보다 작거나 같은 경우, 상기 제1 추천 목록의 아이템으로부터의 상관관계 값에 따라 우선순위가 매겨진(prioritized) 최소 개수의 아이템을 포함하는 제3 추천 목록을 선택하고, 상기 제3 추천 목록을 반환하는 단계; 및If the second recommendation list is less than or equal to the prescribed minimum number of items, a third recommendation comprising a minimum number of items prioritized according to a correlation value from the items of the first recommendation list Selecting a list and returning the third recommendation list; And 상기 제2 추천 목록이 상기 규정된 최소 개수의 아이템보다 큰 경우, 상기 상관관계 값 및 상기 규정된 매개변수 집합에 따라 상기 제2 추천 목록을 개선하는 단계When the second recommendation list is larger than the prescribed minimum number of items, improving the second recommendation list according to the correlation value and the defined parameter set. 를 포함하는 방법.How to include. 제10항에 있어서, 상기 제2 추천 목록을 개선하는 단계는,The method of claim 10, wherein improving the second recommendation list comprises: 상기 제2 추천 목록이 규정된 최대 개수의 아이템보다 작거나 같은 경우, 상기 제2 추천 목록을 반환하는 단계; 및Returning the second recommendation list if the second recommendation list is less than or equal to a prescribed maximum number of items; And 상기 제2 추천 목록이 상기 규정된 최대 개수의 아이템보다 큰 경우, 상기 요청의 규정된 소스 도메인에 따라 상기 제2 추천 목록을 더 개선하는 단계If the second recommendation list is greater than the prescribed maximum number of items, further improving the second recommendation list according to the prescribed source domain of the request. 를 포함하는 방법.How to include. 제11항에 있어서, 상기 더 개선하는 단계는,12. The method of claim 11, wherein further improving comprises: 상기 제2 추천 목록을 상기 규정된 소스 도메인에 따라 복수의 그룹으로 나누는 단계;Dividing the second recommendation list into a plurality of groups according to the defined source domain; (a) 한번에 하나씩 각 그룹을 선회하면서, 가장 높은 상관관계 값을 갖는 추천을 선택하여 제4 추천 목록을 형성하는 단계;(a) turning each group one at a time, selecting a recommendation with the highest correlation value to form a fourth recommendation list; (b) 상기 제4 추천 목록이 상기 규정된 최대 개수의 아이템과 동일해질 때까지 단계(a)를 반복하는 단계; 및(b) repeating step (a) until the fourth recommendation list is equal to the prescribed maximum number of items; And 상기 제4 추천 목록을 반환하는 단계Returning the fourth recommendation list. 를 포함하는 방법.How to include. 삭제delete 삭제delete 컴퓨터 네트워크를 통해 하나 이상의 컴퓨터 시스템을 사용하여 추천을 생성하기 위한 방법에 있어서,A method for generating a recommendation using one or more computer systems over a computer network, the method comprising: 복수의 도메인에 걸친 사용자 이벤트를 데이터베이스에 수집하는 단계;Collecting user events across a plurality of domains in a database; 추천에 대한 트리거링 이벤트를 수신하는 단계;Receiving a triggering event for a recommendation; 상기 사용자 이벤트를 분석하여 상기 데이터베이스의 상기 사용자 이벤트들 간의 상관관계를 공식화하는 단계; 및Analyzing the user events to formulate correlations between the user events in the database; And 상기 트리거링 이벤트에 응하여 상기 데이터베이스의 상기 사용자 이벤트들 간의 상기 상관관계 및 상기 복수의 도메인에 따라 추천을 생성하는 단계Generating a recommendation according to the correlation and the plurality of domains between the user events in the database in response to the triggering event 를 포함하고,Including, 트리거링 이벤트를 수신하는 상기 단계는, 개인화된 아이템 추천을 위한 요청을 수신하는 단계를 포함하고,Receiving the triggering event includes receiving a request for personalized item recommendation, 트리거링 이벤트에 응하여 추천을 생성하는 상기 단계는, 상기 데이터베이스의 사용자 이벤트 간의 상관관계에 따라 개인화된 추천을 생성하는 단계를 포함하고,Generating a recommendation in response to a triggering event comprises generating a personalized recommendation in accordance with a correlation between user events in the database, 개인화된 추천을 생성하는 상기 단계는,The step of generating a personalized recommendation, 규정된 매개변수 집합을 포함하는 상기 요청을 검증하는 단계;Verifying the request comprising a defined set of parameters; 상기 데이터베이스에서 사용자가 호감을 나타내는 제1 아이템 목록을 검색하는 단계 -상기 각 아이템은 규정된 임계값과 같거나 그보다 큰 상관관계 값을 지님-Retrieving a first list of items representing a user's like in the database, wherein each item has a correlation value equal to or greater than a prescribed threshold value; (a) 상기 사용자가 호감을 나타내는 각 아이템에 대해 유사한 아이템의 추천 집합을 생성하는 단계;(a) generating a recommendation set of similar items for each item that the user shows a preference; (b) 상기 유사한 아이템 추천 집합을 제1 추천 목록에 저장하는 단계; 및(b) storing the similar item recommendation set in a first recommendation list; And (c) 상기 제1 아이템 목록의 모든 멤버들이 선회될 때까지 단계 (a)와 (b)를 반복하는 단계; 및(c) repeating steps (a) and (b) until all members of the first item list are pivoted; And 상기 상관관계 값과 규정된 매개변수 집합에 따라 상기 제1 추천 목록을 개량하는(refine) 단계Refine the first recommendation list according to the correlation value and a defined set of parameters 를 포함하고, Including, 제1 추천 목록을 개량하는 상기 단계는,The step of improving the first recommendation list, 상기 제1 추천 목록이 규정된 최소 개수의 아이템보다 작거나 같은 경우, 상기 제1 추천 목록을 반환하는 단계; 및Returning the first recommendation list if the first recommendation list is less than or equal to a prescribed minimum number of items; And 상기 제1 추천 목록이 상기 규정된 최소 개수의 아이템보다 큰 경우, 상기 상관관계 값과 상기 규정된 매개변수 집합에 따라 상기 제1 추천 목록을 개선하는 단계When the first recommendation list is larger than the prescribed minimum number of items, improving the first recommendation list according to the correlation value and the defined parameter set. 를 포함하는 방법.How to include. 제15항에 있어서, 상기 제1 추천 목록을 개선하는 단계는,The method of claim 15, wherein the step of improving the first recommendation list, 규정된 임계값 이상의 상관관계 값을 갖는 상기 제1 추천 목록의 아이템으로부터 제2 추천 목록을 형성하는 단계;Forming a second recommendation list from the items of the first recommendation list having a correlation value above a prescribed threshold; 상기 제2 추천 목록이 상기 규정된 최소 개수의 아이템보다 작거나 같은 경우, 상기 제1 추천 목록의 아이템으로부터의 상관관계 값에 따라 우선순위가 매겨진 최소 개수의 아이템을 포함하는 제3 추천 목록을 선택하고 상기 제3 추천 목록을 반환하는 단계; 및If the second recommendation list is less than or equal to the prescribed minimum number of items, selecting a third recommendation list including a minimum number of items prioritized according to a correlation value from the items of the first recommendation list And returning the third recommendation list; And 상기 제2 추천 목록이 상기 규정된 최소 개수의 아이템보다 큰 경우, 상기 상관관계 값 및 상기 규정된 매개변수 집합에 따라 상기 제2 추천 목록을 개선하는 단계When the second recommendation list is larger than the prescribed minimum number of items, improving the second recommendation list according to the correlation value and the defined parameter set. 를 포함하는 방법.How to include. 제16항에 있어서, 상기 제2 추천 목록을 개선하는 단계는,The method of claim 16, wherein improving the second recommendation list comprises: 상기 제2 추천 목록이 규정된 최대 개수의 아이템보다 작거나 같은 경우, 상기 제2 추천 목록을 반환하는 단계; 및Returning the second recommendation list if the second recommendation list is less than or equal to a prescribed maximum number of items; And 상기 제2 추천 목록이 상기 규정된 최대 개수의 아이템보다 큰 경우, 상기 요청의 규정된 소스 도메인에 따라 상기 제2 추천 목록을 더 개선하는 단계If the second recommendation list is greater than the prescribed maximum number of items, further improving the second recommendation list according to the prescribed source domain of the request. 를 포함하는 방법.How to include. 제17항에 있어서, 상기 더 개선하는 단계는,18. The method of claim 17, wherein further improving 상기 제2 추천 목록을 상기 규정된 소스 도메인에 따라 복수의 그룹으로 나누는 단계;Dividing the second recommendation list into a plurality of groups according to the defined source domain; (a) 한번에 하나씩 각 그룹을 선회하면서, 가장 높은 상관관계 값을 갖는 추천을 선택하여 제4 추천 목록을 형성하는 단계;(a) turning each group one at a time, selecting a recommendation with the highest correlation value to form a fourth recommendation list; (b) 상기 제4 추천 목록이 상기 규정된 최대 개수의 아이템과 동일해질 때까지 단계(a)를 반복하는 단계; 및(b) repeating step (a) until the fourth recommendation list is equal to the prescribed maximum number of items; And 상기 제4 추천 목록을 반환하는 단계Returning the fourth recommendation list. 를 포함하는 방법.How to include. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 컴퓨터 네트워크를 통해 추천을 생성하기 위한 시스템에 있어서,A system for generating a recommendation via a computer network, 인터넷을 통해 사용자 이벤트를 처리하기 위한 복수의 도메인 서버;A plurality of domain servers for processing user events over the Internet; 상기 사용자 이벤트를 저장하기 위한 데이터베이스; 및A database for storing the user event; And 복수의 도메인에 걸친 상기 사용자 이벤트를 상기 데이터베이스에 수집하기 위한 명령어, 추천에 대한 트리거링 이벤트를 수신하기 위한 명령어, 상기 사용자 이벤트를 분석하여 상기 데이터베이스의 상기 사용자 이벤트들 간의 상관관계를 공식화하기 위한 명령어, 및 상기 트리거링 이벤트에 응하여 상기 데이터베이스의 상기 사용자 이벤트들 간의 상기 상관관계 및 상기 복수의 도메인에 따라 추천을 생성하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 포함하는 추천 엔진Instructions for collecting the user events across a plurality of domains in the database, instructions for receiving a triggering event for a recommendation, instructions for analyzing the user events to formulate correlations between the user events in the database, And one or more computer programs including instructions for generating a recommendation according to the correlation and the plurality of domains in response to the triggering event in the database. 을 포함하고,Including, 상기 추천 엔진의 컴퓨터 프로그램은,The computer program of the recommendation engine, 유사한 아이템 추천 요청을 수신하기 위한 명령어; 및Instructions for receiving a similar item recommendation request; And 상기 데이터베이스의 사용자 이벤트 간의 상기 상관관계에 따라 유사한 아이템의 추천을 생성하기 위한 명령어Instructions for generating a recommendation of similar items according to the correlation between user events in the database 를 더 포함하고, More, 상기 유사한 아이템의 추천을 생성하기 위한 명령어는,The command for generating a recommendation of the similar item, 규정된 매개변수 집합을 포함하는 상기 요청을 검증하기 위한 명령어;Instructions for verifying the request comprising a defined set of parameters; 소스 도메인이 특정된 경우, 상기 소스 도메인에 따라 제1 추천 목록을 생성하기 위한 명령어; 및If a source domain is specified, instructions for generating a first recommendation list according to the source domain; And 상기 소스 도메인이 특정되지 않은 경우, 상기 데이터베이스의 모든 사용가능한 도메인에 따라 상기 제1 추천 목록을 생성하기 위한 명령어If the source domain is not specified, instructions for generating the first recommendation list according to all available domains of the database 를 포함하는 시스템.System comprising a. 제26항에 있어서, 상기 제1 추천 목록을 생성하기 위한 명령어는,The method of claim 26, wherein the command for generating the first recommendation list is: 상기 제1 추천 목록이 규정된 최소 개수의 아이템과 같거나 작은 경우, 상기 제1 추천 목록을 반환하기 위한 명령어; 및Returning the first recommendation list if the first recommendation list is less than or equal to a prescribed minimum number of items; And 상기 제1 추천 목록이 상기 규정된 최소 개수의 아이템보다 클 경우, 상관관계 값과 상기 규정된 매개변수 집합에 따라 상기 제1 추천 목록을 개선하기 위한 명령어If the first recommendation list is greater than the prescribed minimum number of items, instructions for improving the first recommendation list according to a correlation value and the defined set of parameters. 를 포함하는 시스템.System comprising a. 제27항에 있어서, 상기 제1 추천 목록을 개선하기 위한 명령어는,The method of claim 27, wherein the instructions for improving the first recommendation list are: 규정된 임계값을 넘는 상관관계 값을 갖는 상기 제1 추천 목록의 아이템으로부터 제2 추천 목록을 형성하기 위한 명령어;Instructions for forming a second recommendation list from the items of the first recommendation list having a correlation value above a prescribed threshold; 상기 제2 추천 목록이 상기 규정된 최소 개수의 아이템보다 작거나 같은 경 우, 상기 제1 추천 목록의 아이템으로부터의 상관관계 값에 따라 우선순위가 매겨진 최소 개수의 아이템을 포함하는 제3 추천 목록을 선택하고, 상기 제3 추천 목록을 반환하기 위한 명령어; 및If the second recommendation list is less than or equal to the prescribed minimum number of items, a third recommendation list including the minimum number of items prioritized according to a correlation value from the items of the first recommendation list; Selecting and returning the third recommendation list; And 상기 제2 추천 목록이 상기 규정된 최소 개수의 아이템보다 큰 경우, 상기 상관관계 값 및 상기 규정된 매개변수 집합에 따라 상기 제2 추천 목록을 개선하기 위한 명령어If the second recommendation list is greater than the prescribed minimum number of items, instructions for improving the second recommendation list according to the correlation value and the defined parameter set. 를 포함하는 시스템.System comprising a. 제28항에 있어서, 상기 제2 추천 목록을 개선하기 위한 명령어는,The method of claim 28, wherein the instructions for improving the second recommendation list are: 상기 제2 추천 목록이 규정된 최대 개수의 아이템보다 작거나 같은 경우, 상기 제2 추천 목록을 반환하기 위한 명령어; 및Returning the second recommendation list if the second recommendation list is less than or equal to a prescribed maximum number of items; And 상기 제2 추천 목록이 상기 규정된 최대 개수의 아이템보다 큰 경우, 상기 데이터베이스의 규정된 소스 도메인에 따라 상기 제2 추천 목록을 더 개선하기 위한 명령어If the second recommendation list is greater than the prescribed maximum number of items, further instructions for further improving the second recommendation list according to the defined source domain of the database. 를 포함하는 시스템.System comprising a. 제29항에 있어서, 상기 더 개선하기 위한 명령어는,30. The method of claim 29, wherein the further improvement instruction is 상기 제2 추천 목록을 상기 규정된 소스 도메인에 따라 복수의 그룹으로 나누기 위한 명령어;Instructions for dividing the second recommendation list into a plurality of groups according to the defined source domain; (a) 한번에 하나씩 각 그룹을 선회하면서, 가장 높은 상관관계 값을 갖는 추 천을 선택하여 제4 추천 목록을 형성하기 위한 명령어;(a) instructions for turning each group one at a time, selecting a recommendation with the highest correlation value to form a fourth recommendation list; (b) 상기 제4 추천 목록이 상기 규정된 최대 개수의 아이템과 동일해질 때까지 단계(a)를 반복하기 위한 명령어; 및(b) instructions to repeat step (a) until the fourth recommendation list is equal to the prescribed maximum number of items; And 상기 제4 추천 목록을 반환하기 위한 명령어Command for returning the fourth recommendation list 를 포함하는 시스템.System comprising a. 삭제delete 삭제delete 컴퓨터 네트워크를 통해 추천을 생성하기 위한 시스템에 있어서,A system for generating a recommendation via a computer network, 인터넷을 통해 사용자 이벤트를 처리하기 위한 복수의 도메인 서버;A plurality of domain servers for processing user events over the Internet; 상기 사용자 이벤트를 저장하기 위한 데이터베이스; 및A database for storing the user event; And 복수의 도메인에 걸친 상기 사용자 이벤트를 상기 데이터베이스에 수집하기 위한 명령어, 추천에 대한 트리거링 이벤트를 수신하기 위한 명령어, 상기 사용자 이벤트를 분석하여 상기 데이터베이스의 상기 사용자 이벤트들 간의 상관관계를 공식화하기 위한 명령어, 및 상기 트리거링 이벤트에 응하여 상기 데이터베이스의 상기 사용자 이벤트들 간의 상기 상관관계 및 상기 복수의 도메인에 따라 추천을 생성하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 포함하는 추천 엔진Instructions for collecting the user event across a plurality of domains in the database, instructions for receiving a triggering event for a recommendation, instructions for analyzing the user event to formulate correlations between the user events in the database, And one or more computer programs including instructions for generating a recommendation according to the correlation and the plurality of domains in response to the triggering event in the database. 을 포함하고,Including, 상기 추천 엔진의 컴퓨터 프로그램은,The computer program of the recommendation engine, 개인화된 아이템 추천을 위한 요청을 수신하기 위한 명령어; 및Instructions for receiving a request for personalized item recommendation; And 상기 데이터베이스의 사용자 이벤트 간의 상관관계에 따라 개인화된 추천을 생성하기 위한 명령어Instructions for generating a personalized recommendation according to correlations between user events in the database 를 더 포함하고,More, 상기 개인화된 추천을 생성하기 위한 명령어는,Instructions for generating the personalized recommendation, 규정된 매개변수 집합을 포함하는 상기 요청을 검증하기 위한 명령어;Instructions for verifying the request comprising a defined set of parameters; 상기 데이터베이스에서 사용자가 호감을 나타내는 제1 아이템 목록을 검색하기 위한 명령어 -상기 각 아이템은 규정된 임계값과 같거나 그보다 큰 상관관계 값을 지님-Instructions for retrieving a first list of items that the user likes in the database, wherein each item has a correlation value equal to or greater than a prescribed threshold value; (a) 상기 사용자가 호감을 나타내는 각 아이템에 대해 유사한 아이템의 추천 집합을 생성하기 위한 명령어;(a) instructions for generating a recommendation set of similar items for each item that the user shows a preference; (b) 상기 유사한 아이템 추천 집합을 제1 추천 목록에 저장하기 위한 명령어; 및(b) instructions for storing the similar set of item recommendations in a first recommendation list; And (c) 상기 제1 아이템 목록의 모든 멤버들이 선회될 때까지 단계 (a)와 (b)를 반복하기 위한 명령어; 및(c) instructions for repeating steps (a) and (b) until all members of the first item list are pivoted; And 상기 상관관계 값과 규정된 매개변수 집합에 따라 상기 제1 추천 목록을 개량하기 위한 명령어Instructions for improving the first recommendation list in accordance with the correlation value and a defined set of parameters 를 포함하고,Including, 상기 제1 추천 목록을 개량하기 위한 명령어는,In order to improve the first recommendation list, 상기 제1 추천 목록이 규정된 최소 개수의 아이템보다 작거나 같은 경우, 상기 제1 추천 목록을 반환하기 위한 명령어; 및If the first recommendation list is less than or equal to a prescribed minimum number of items, returning the first recommendation list; And 상기 제1 추천 목록이 상기 규정된 최소 개수의 아이템보다 큰 경우, 상기 상관관계 값과 상기 규정된 매개변수 집합에 따라 상기 제1 추천 목록을 개선하기 위한 명령어If the first recommendation list is greater than the prescribed minimum number of items, instructions for improving the first recommendation list according to the correlation value and the defined set of parameters. 를 포함하는 시스템.System comprising a. 제33항에 있어서, 상기 제1 추천 목록을 개선하기 위한 명령어는,34. The method of claim 33, wherein the instructions for improving the first recommendation list are: 규정된 임계값을 넘는 상관관계 값을 갖는 상기 제1 추천 목록의 아이템으로부터 제2 추천 목록을 형성하기 위한 명령어;Instructions for forming a second recommendation list from the items of the first recommendation list having a correlation value above a prescribed threshold; 상기 제2 추천 목록이 상기 규정된 최소 개수의 아이템보다 작거나 같은 경우, 상기 제1 추천 목록의 아이템으로부터의 상관관계 값에 따라 우선순위가 매겨 진 최소 개수의 아이템을 포함하는 제3 추천 목록을 선택하고, 상기 제3 추천 목록을 반환하기 위한 명령어; If the second recommendation list is less than or equal to the prescribed minimum number of items, a third recommendation list including the minimum number of items prioritized according to a correlation value from the items of the first recommendation list; Selecting and returning the third recommendation list; 상기 제2 추천 목록이 상기 규정된 최소 개수의 아이템보다 큰 경우, 상기 상관관계 값 및 상기 규정된 매개변수 집합에 따라 상기 제2 추천 목록을 개선하기 위한 명령어If the second recommendation list is greater than the prescribed minimum number of items, instructions for improving the second recommendation list according to the correlation value and the defined parameter set. 를 포함하는 시스템.System comprising a. 제34항에 있어서, 상기 제2 추천 목록을 개선하기 위한 명령어는,35. The method of claim 34, wherein the instructions for improving the second recommendation list are: 상기 제2 추천 목록이 규정된 최대 개수의 아이템보다 작거나 같은 경우, 상기 제2 추천 목록을 반환하기 위한 명령어; 및Returning the second recommendation list if the second recommendation list is less than or equal to a prescribed maximum number of items; And 상기 제2 추천 목록이 상기 규정된 최대 개수의 아이템보다 큰 경우, 상기 데이터베이스의 규정된 소스 도메인에 따라 상기 제2 추천 목록을 더 개선하기 위한 명령어If the second recommendation list is greater than the prescribed maximum number of items, further instructions for further improving the second recommendation list according to the defined source domain of the database. 를 포함하는 시스템.System comprising a. 제35항에 있어서, 상기 더 개선하기 위한 명령어는,36. The method of claim 35, wherein the further improvement instruction is 상기 제2 추천 목록을 상기 규정된 소스 도메인에 따라 복수의 그룹으로 나누기 위한 명령어;Instructions for dividing the second recommendation list into a plurality of groups according to the defined source domain; (a) 한번에 하나씩 각 그룹을 선회하면서, 가장 높은 상관관계 값을 갖는 추천을 선택하여 제4 추천 목록을 형성하기 위한 명령어;(a) instructions for turning each group one at a time, selecting a recommendation with the highest correlation value to form a fourth recommendation list; (b) 상기 제4 추천 목록이 상기 규정된 최대 개수의 아이템과 동일해질 때까지 단계(a)를 반복하기 위한 명령어; 및(b) instructions to repeat step (a) until the fourth recommendation list is equal to the prescribed maximum number of items; And 상기 제4 추천 목록을 반환하기 위한 명령어Command for returning the fourth recommendation list 를 포함하는 시스템.System comprising a. 삭제delete
KR1020067019742A 2004-02-26 2005-02-25 Method and system for generating recommendations KR100936568B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/789,869 US10339538B2 (en) 2004-02-26 2004-02-26 Method and system for generating recommendations
US10/789,869 2004-02-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020097004154A Division KR20090027262A (en) 2004-02-26 2005-02-25 Method and system for generating recommendations

Publications (2)

Publication Number Publication Date
KR20060132951A KR20060132951A (en) 2006-12-22
KR100936568B1 true KR100936568B1 (en) 2010-01-13

Family

ID=34887399

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020067019742A KR100936568B1 (en) 2004-02-26 2005-02-25 Method and system for generating recommendations
KR1020097004154A KR20090027262A (en) 2004-02-26 2005-02-25 Method and system for generating recommendations

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020097004154A KR20090027262A (en) 2004-02-26 2005-02-25 Method and system for generating recommendations

Country Status (6)

Country Link
US (2) US10339538B2 (en)
EP (1) EP1728148A4 (en)
JP (2) JP4956416B2 (en)
KR (2) KR100936568B1 (en)
CN (2) CN101124575A (en)
WO (1) WO2005082064A2 (en)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10296919B2 (en) 2002-03-07 2019-05-21 Comscore, Inc. System and method of a click event data collection platform
US8095589B2 (en) * 2002-03-07 2012-01-10 Compete, Inc. Clickstream analysis methods and systems
US7369981B1 (en) * 2004-10-22 2008-05-06 Sprint Communications Company L.P. Method and system for forecasting computer capacity
US7590508B1 (en) 2004-10-22 2009-09-15 Sprint Communications Company L.P. Method and system for forecasting usage costs and computer capacity
US7512580B2 (en) * 2005-08-04 2009-03-31 Sap Ag Confidence indicators for automated suggestions
US7685132B2 (en) * 2006-03-15 2010-03-23 Mog, Inc Automatic meta-data sharing of existing media through social networking
US8812580B2 (en) 2006-03-15 2014-08-19 Beats Music, Llc Override of automatically shared meta-data of media
US8468155B2 (en) 2006-06-22 2013-06-18 Infosys Limited Collaborative filtering-based recommendations
US20080133681A1 (en) * 2006-10-13 2008-06-05 Jackson Troy V System and method for diagnosis of and recommendations for remote processor system
US7949573B1 (en) * 2006-12-18 2011-05-24 Amazon Technologies, Inc. Displaying product recommendations in electronic commerce
US7979461B2 (en) * 2007-02-15 2011-07-12 Medio Systems, Inc. Extended index searching
US7912444B2 (en) * 2007-04-23 2011-03-22 Sony Ericsson Mobile Communications Ab Media portion selection system and method
KR101415022B1 (en) * 2007-07-24 2014-07-09 삼성전자주식회사 Method and apparatus for information recommendation using hybrid algorithm
JP4468978B2 (en) * 2007-09-26 2010-05-26 富士通株式会社 Information providing system, method and program
CN101414296B (en) * 2007-10-15 2012-07-25 日电(中国)有限公司 Self-adapting service recommendation equipment and method, self-adapting service recommendation system and method
US8744903B2 (en) * 2008-04-29 2014-06-03 Sap Ag Event resolution
US8364528B2 (en) * 2008-05-06 2013-01-29 Richrelevance, Inc. System and process for improving product recommendations for use in providing personalized advertisements to retail customers
US8583524B2 (en) * 2008-05-06 2013-11-12 Richrelevance, Inc. System and process for improving recommendations for use in providing personalized advertisements to retail customers
KR20080083248A (en) * 2008-08-25 2008-09-17 이종운 Online item recommendation system built upon users' "like or dislike"choices - based on statistical similarity between users' choices
US8037011B2 (en) * 2008-09-15 2011-10-11 Motorola Mobility, Inc. Method and apparatus for recommending content items
US8781915B2 (en) * 2008-10-17 2014-07-15 Microsoft Corporation Recommending items to users utilizing a bi-linear collaborative filtering model
CN101431485B (en) * 2008-12-31 2012-07-04 深圳市迅雷网络技术有限公司 Method and system for automatically recommending internet information
CN101777054B (en) * 2009-01-14 2016-06-15 北京搜狗科技发展有限公司 A kind of method representing entry attribute information and device
KR101068697B1 (en) * 2009-04-09 2011-09-28 경희대학교 산학협력단 Method for estimating user implicit attitude
US8291038B2 (en) * 2009-06-29 2012-10-16 Sap Ag Remote automation of manual tasks
WO2011034475A1 (en) * 2009-09-21 2011-03-24 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for executing a recommendation
JP5371676B2 (en) * 2009-10-09 2013-12-18 株式会社エヌ・ティ・ティ・データ RECOMMENDED CONTENT EXTRACTION DEVICE, RECOMMENDED CONTENT EXTRACTION METHOD, AND RECOMMENDED CONTENT EXTRACTION PROGRAM
US8433660B2 (en) 2009-12-01 2013-04-30 Microsoft Corporation Managing a portfolio of experts
US20120078822A1 (en) * 2010-09-28 2012-03-29 Nokia Corporation Method and apparatus for providing a framework for generating recommedation models
JP2012103955A (en) * 2010-11-11 2012-05-31 Hitachi Solutions Ltd Profile analysis system
US8473437B2 (en) 2010-12-17 2013-06-25 Microsoft Corporation Information propagation probability for a social network
CN104537100B (en) * 2011-01-04 2019-03-19 张越峰 A kind of intelligence system and method for just tool human thinking
CN102750274B (en) * 2011-01-04 2014-12-10 张越峰 Field intelligent guide service system and method with preliminary human thinking
CN102722379B (en) * 2011-03-30 2015-10-21 腾讯科技(深圳)有限公司 Software recommendation method and system
CN102769780B (en) * 2011-05-05 2017-08-01 北京四达时代软件技术股份有限公司 A kind of digital TV data method for pushing and device
JP5216895B2 (en) * 2011-06-02 2013-06-19 日本電信電話株式会社 Log processing apparatus and operation method thereof
CN102819804A (en) * 2011-06-07 2012-12-12 阿里巴巴集团控股有限公司 Goods information pushing method and device
CN102959539B (en) * 2011-06-29 2015-09-23 华为技术有限公司 Item recommendation method during a kind of repeat in work and system
CN102360364A (en) * 2011-09-30 2012-02-22 奇智软件(北京)有限公司 Automatic application recommendation method and device
CN103049440B (en) * 2011-10-11 2016-04-13 腾讯科技(深圳)有限公司 A kind of recommendation process method of related article and disposal system
US10438268B2 (en) 2012-02-09 2019-10-08 Microsoft Technology Licensing, Llc Recommender system
US9135329B1 (en) * 2012-03-27 2015-09-15 Amazon Technologies, Inc. Presenting item information based on associated entity relationships
JP5910316B2 (en) * 2012-05-28 2016-04-27 ソニー株式会社 Information processing apparatus, information processing method, and program
JP5877126B2 (en) * 2012-05-31 2016-03-02 株式会社Nttドコモ Information providing server, related information server, information providing system, and information providing method
CN102855333A (en) * 2012-09-27 2013-01-02 南京大学 Service selection system based on group recommendation and selection method thereof
CN102905233A (en) * 2012-10-25 2013-01-30 北京小米科技有限责任公司 Method and device for recommending terminal function
US9374411B1 (en) * 2013-03-21 2016-06-21 Amazon Technologies, Inc. Content recommendations using deep data
US9699019B2 (en) 2013-06-14 2017-07-04 Microsoft Technology Licensing, Llc Related content display associated with browsing
WO2015045126A1 (en) * 2013-09-27 2015-04-02 楽天株式会社 Search device, program, recording medium, and method
US20150120374A1 (en) * 2013-10-30 2015-04-30 Sugarcrm Inc. Automation of customer relationship management (crm) tasks responsive to electronic communications
JP6100677B2 (en) * 2013-11-19 2017-03-22 日本電信電話株式会社 Information recommendation device, information recommendation method, and information recommendation program
CN104679769B (en) * 2013-11-29 2018-04-06 国际商业机器公司 The method and device classified to the usage scenario of product
US20150186617A1 (en) * 2013-12-27 2015-07-02 International Business Machines Corporation System and method for probabilistic evaluation of contextualized reports and personalized recommendation in travel health personal assistants
IN2014MU00919A (en) * 2014-03-20 2015-09-25 Tata Consultancy Services Ltd
CN103955535A (en) * 2014-05-14 2014-07-30 南京大学镇江高新技术研究院 Individualized recommending method and system based on element path
CN104077351B (en) * 2014-05-26 2017-01-25 东北师范大学 Heterogeneous information network based content providing method and system
EP3191956A1 (en) * 2014-09-12 2017-07-19 Convida Wireless, LLC Scalable charging system based on service-oriented architecture (soa)
CN105653535B (en) * 2014-11-13 2019-07-02 中国科学院沈阳计算技术研究所有限公司 A kind of media resource recommended method
CN106296252B (en) 2015-06-04 2021-12-21 阿里巴巴集团控股有限公司 User recommendation method and device
CN105138574A (en) * 2015-07-28 2015-12-09 黄杨 Man-machine interaction based hybrid recommendation system used for recommending travel and leisure place
CN106484747A (en) * 2015-09-02 2017-03-08 阿里巴巴集团控股有限公司 A kind of webpage item recommendation method based on alternative events and device
CN106570715A (en) * 2015-10-09 2017-04-19 阿里巴巴集团控股有限公司 Information recommendation method, device and system
US10770181B2 (en) * 2015-12-16 2020-09-08 Alegeus Technologies, Llc Systems and methods for reducing resource consumption via information technology infrastructure
CN105653626A (en) * 2015-12-28 2016-06-08 深圳市金立通信设备有限公司 Content pushing method and terminal
CN105912685B (en) * 2016-04-15 2019-08-23 上海交通大学 Based on cross-cutting air ticket personalized recommendation system and recommended method
CN106844768A (en) * 2017-02-25 2017-06-13 张元康 Based on third-party data docking system and method
CN108596412A (en) * 2017-03-14 2018-09-28 华为软件技术有限公司 Cross-cutting methods of marking and Marking apparatus based on user's similarity
US10601934B2 (en) 2017-04-03 2020-03-24 Bank Of America Corporation Data transfer, over session or connection, and between computing device and one or more servers for transmitting data to a third party computing device
US10716060B2 (en) 2017-04-03 2020-07-14 Bank Of America Corporation Data transfer between computing device and user device at different locations and over session or connection to display one or more routing networks to use
US20180287927A1 (en) * 2017-04-03 2018-10-04 Bank Of America Corporation Data Transfer, Over Session or Connection, and Between Computing Device and Server to Determine Third Party Routing Network in Response to Determining Request to Use a Different Routing Network
US10608918B2 (en) 2017-04-03 2020-03-31 Bank Of America Corporation Data transfer, over session or connection, and between computing device and one or more servers to determine likelihood of user device using a routing network
US10601718B2 (en) 2017-04-03 2020-03-24 Bank Of America Corporation Data transfer, over session or connection, and between computing device and server associated with a routing network for modifying one or more parameters of the routing network
US10609156B2 (en) 2017-04-03 2020-03-31 Bank Of America Corporation Data transfer, over session or connection, and between computing device and server associated with one or more routing networks in response to detecting activity
US11010677B2 (en) * 2017-09-30 2021-05-18 Oracle International Corporation Event management system
US11238051B2 (en) * 2018-01-05 2022-02-01 Coravin, Inc. Method and apparatus for characterizing and determining relationships between items and moments
CN109165351B (en) * 2018-08-27 2021-11-26 成都信息工程大学 Service component search recommendation method based on semantics
KR102130074B1 (en) * 2018-11-15 2020-07-03 주식회사 지디에프랩 System for providing VOD in poor network environments
KR102130073B1 (en) * 2018-11-15 2020-07-03 주식회사 지디에프랩 Image learning system that performs resolution restoration function based on object
KR102130075B1 (en) * 2018-11-15 2020-07-03 주식회사 지디에프랩 Image learning support system for resolution restoration using user's preference information
CN109711925A (en) * 2018-11-23 2019-05-03 西安电子科技大学 Cross-domain recommending data processing method, cross-domain recommender system with multiple auxiliary domains
US11531916B2 (en) 2018-12-07 2022-12-20 Paypal, Inc. System and method for obtaining recommendations using scalable cross-domain collaborative filtering
CN113168424A (en) * 2018-12-11 2021-07-23 贝宝公司 System and method for obtaining recommendations using scalable cross-domain collaborative filtering
CN109784185A (en) * 2018-12-18 2019-05-21 深圳壹账通智能科技有限公司 Client's food and drink evaluation automatic obtaining method and device based on micro- Expression Recognition
JP6816899B2 (en) * 2019-04-19 2021-01-20 Bhi株式会社 Optimized transaction recommendation system by analyzing purchase or reservation emails
CN112214682B (en) * 2019-07-11 2023-04-07 中移(苏州)软件技术有限公司 Recommendation method, device and equipment based on field and storage medium
US11676193B1 (en) 2019-11-11 2023-06-13 Amazon Technologies, Inc. Optimizing diversity and relevance for catalog items

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020010625A1 (en) * 1998-09-18 2002-01-24 Smith Brent R. Content personalization based on actions performed during a current browsing session

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5081598A (en) * 1989-02-21 1992-01-14 Westinghouse Electric Corp. Method for associating text in automatic diagnostic system to produce recommended actions automatically
US5223924A (en) * 1992-05-27 1993-06-29 North American Philips Corporation System and method for automatically correlating user preferences with a T.V. program information database
US6041311A (en) * 1995-06-30 2000-03-21 Microsoft Corporation Method and apparatus for item recommendation using automated collaborative filtering
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6370513B1 (en) * 1997-08-08 2002-04-09 Parasoft Corporation Method and apparatus for automated selection, organization, and recommendation of items
US6393407B1 (en) * 1997-09-11 2002-05-21 Enliven, Inc. Tracking user micro-interactions with web page advertising
US6236978B1 (en) * 1997-11-14 2001-05-22 New York University System and method for dynamic profiling of users in one-to-one applications
US6334127B1 (en) * 1998-07-17 2001-12-25 Net Perceptions, Inc. System, method and article of manufacture for making serendipity-weighted recommendations to a user
AU5465099A (en) * 1998-08-04 2000-02-28 Rulespace, Inc. Method and system for deriving computer users' personal interests
US7260823B2 (en) * 2001-01-11 2007-08-21 Prime Research Alliance E., Inc. Profiling and identification of television viewers
US6385619B1 (en) * 1999-01-08 2002-05-07 International Business Machines Corporation Automatic user interest profile generation from structured document access information
US6581038B1 (en) * 1999-03-15 2003-06-17 Nexcura, Inc. Automated profiler system for providing medical information to patients
WO2001015449A1 (en) * 1999-08-20 2001-03-01 Singularis S.A. Method and apparatus for creating recommendations from users profile built interactively
US6839680B1 (en) * 1999-09-30 2005-01-04 Fujitsu Limited Internet profiling
US7822629B2 (en) * 1999-12-15 2010-10-26 Hewlett-Packard Development Company, L.P. Customer profiling apparatus for conducting customer behavior pattern analysis, and method for comparing customer behavior patterns
GB0005727D0 (en) * 2000-03-10 2000-05-03 Koninkl Philips Electronics Nv Television
US8352331B2 (en) * 2000-05-03 2013-01-08 Yahoo! Inc. Relationship discovery engine
WO2001086877A2 (en) * 2000-05-05 2001-11-15 Nomadix, Inc. Network usage monitoring device and associated method
JP2001350875A (en) 2000-06-07 2001-12-21 Nippon Telegr & Teleph Corp <Ntt> Trend item predicting method and system device
JP2002024475A (en) * 2000-06-30 2002-01-25 Plala Networks Inc User information collecting method
US6655963B1 (en) * 2000-07-31 2003-12-02 Microsoft Corporation Methods and apparatus for predicting and selectively collecting preferences based on personality diagnosis
JP2002133324A (en) * 2000-10-25 2002-05-10 Toshiba Corp User information managing device, user information managing method, and electronic service system
KR20020037980A (en) 2000-11-16 2002-05-23 김형순 System for retrieving and providing information
AU2002223811B8 (en) * 2000-11-20 2007-10-18 British Telecommunications Public Limited Company Method of managing resources
US20020078191A1 (en) * 2000-12-20 2002-06-20 Todd Lorenz User tracking in a Web session spanning multiple Web resources without need to modify user-side hardware or software or to store cookies at user-side hardware
JP3974407B2 (en) * 2001-01-19 2007-09-12 日本電信電話株式会社 Recommended item introduction method, recommended item introduction server, recording medium recording recommended item introduction program, recommended item introduction program, and recommended item introduction service provision method
JP2002366728A (en) * 2001-03-21 2002-12-20 Masaru Fukada Information recommendation system and computer program for it
JP2002312397A (en) * 2001-04-09 2002-10-25 Nippon Telegr & Teleph Corp <Ntt> Method and device for detecting correlative item, method and device for introducing recommended item, correlation item detection program, recommended item introduction program, and storage medium storing program
JP2002366838A (en) * 2001-06-06 2002-12-20 Toshiba Corp Recommendation method, server system, and program
US6732116B2 (en) * 2001-06-21 2004-05-04 International Business Machines Corporation Method and system for dynamically managing data structures to optimize computer network performance
JP2003085158A (en) * 2001-09-07 2003-03-20 Kddi Corp Cooperative filtering method and system
JP3872970B2 (en) * 2001-09-13 2007-01-24 東芝テック株式会社 Information browsing system
JP2003150835A (en) * 2001-11-14 2003-05-23 Just Syst Corp Commodity recommendation system, method, device and program
JP2003167901A (en) 2001-11-29 2003-06-13 Kddi Corp Method of cooperative filtering, device for cooperative filtering and program for cooperative filtering
US6978260B2 (en) * 2002-04-23 2005-12-20 Hewlett-Packard Development Company, L.P. System and method for storing data
US20030233336A1 (en) * 2002-06-13 2003-12-18 Objectsoft, Inc. System to retate personal information to a unique identifier
WO2004017178A2 (en) * 2002-08-19 2004-02-26 Choicestream Statistical personalized recommendation system
WO2004023358A1 (en) * 2002-09-09 2004-03-18 Koninklijke Philips Electronics N.V. A data network, user terminal and method for providing recommendations
CN100385942C (en) * 2002-11-08 2008-04-30 皇家飞利浦电子股份有限公司 Recommender and method of providing a recommendation of content therefor
US7243105B2 (en) * 2002-12-31 2007-07-10 British Telecommunications Public Limited Company Method and apparatus for automatic updating of user profiles
US20040141003A1 (en) * 2003-01-21 2004-07-22 Dell Products, L.P. Maintaining a user interest profile reflecting changing interests of a customer
US7913159B2 (en) * 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US6873996B2 (en) * 2003-04-16 2005-03-29 Yahoo! Inc. Affinity analysis method and article of manufacture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020010625A1 (en) * 1998-09-18 2002-01-24 Smith Brent R. Content personalization based on actions performed during a current browsing session

Also Published As

Publication number Publication date
WO2005082064A2 (en) 2005-09-09
KR20090027262A (en) 2009-03-16
US20050193002A1 (en) 2005-09-01
EP1728148A4 (en) 2008-11-26
WO2005082064A8 (en) 2006-09-21
US20190272550A1 (en) 2019-09-05
CN103593392A (en) 2014-02-19
EP1728148A2 (en) 2006-12-06
JP2008502028A (en) 2008-01-24
CN101124575A (en) 2008-02-13
US10339538B2 (en) 2019-07-02
KR20060132951A (en) 2006-12-22
WO2005082064A3 (en) 2007-11-08
JP4956416B2 (en) 2012-06-20
JP5681651B2 (en) 2015-03-11
CN103593392B (en) 2019-02-22
US11875363B2 (en) 2024-01-16
JP2012084189A (en) 2012-04-26

Similar Documents

Publication Publication Date Title
KR100936568B1 (en) Method and system for generating recommendations
US9727927B2 (en) Prediction of user response to invitations in a social networking system based on keywords in the user&#39;s profile
US7765130B2 (en) Personalization using multiple personalized selection algorithms
Cufoglu User profiling-a short review
JP5941075B2 (en) SEARCH SYSTEM, METHOD, AND COMPUTER-READABLE MEDIUM WITH INTEGRATED USER JUDGMENT INCLUDING A AUTHORITY NETWORK
US20090234727A1 (en) System and method for determining relevance ratings for keywords and matching users with content, advertising, and other users based on keyword ratings
US20090271417A1 (en) Identifying User Relationships from Situational Analysis of User Comments Made on Media Content
US20130013541A1 (en) System And Method For Invitation Targeting In A Web-Based Social Network
US20070203887A1 (en) Methods and systems for endorsing search results
US20060004713A1 (en) Methods and systems for endorsing local search results
US20100153215A1 (en) Enhanced search result relevance using relationship information
Morawski et al. A fuzzy recommender system for public library catalogs
Shoham Combining content-based and collaborative recommendation
Gabrielsson et al. The use of self-organizing maps in recommender systems
Miller Toward a personal recommender system
CN111814054B (en) Recommendation method and recommendation device for mass information data
Shukla et al. An Improved Recommendation Approach based on User's Standard and Interests
Saxena et al. Leveraging item attribute popularity for group recommendation
Gupta et al. Personalization of Web search results based on user profiling
Wang et al. Socially inspired search and ranking in mobile social networking: concepts and challenges
Surti Social Recommender systems: Improving recommendations through personalization
NL2009621C2 (en) Method and device for retrieving information related to at least one content item selected by a user.
Maneeroj et al. An Advanced Movie Recommender System Based on High-Quality Neighbors
Ujjin et al. Helping Computers Understand People.
KR20150065193A (en) System, method and computer readable recording medium for providing a matching service according to an individual tendency

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
A107 Divisional application of patent
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121221

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131219

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161221

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181219

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 11