KR20040054769A - 다수의 아이템들을 상기 아이템들의 추천기에서 유사한아이템들의 그룹으로 분할하기 위한 방법 및 장치 - Google Patents

다수의 아이템들을 상기 아이템들의 추천기에서 유사한아이템들의 그룹으로 분할하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20040054769A
KR20040054769A KR10-2004-7007223A KR20047007223A KR20040054769A KR 20040054769 A KR20040054769 A KR 20040054769A KR 20047007223 A KR20047007223 A KR 20047007223A KR 20040054769 A KR20040054769 A KR 20040054769A
Authority
KR
South Korea
Prior art keywords
items
cluster
clusters
symbol
program
Prior art date
Application number
KR10-2004-7007223A
Other languages
English (en)
Other versions
KR100925668B1 (ko
Inventor
구타스리니와스브이.알.
쿠라파아티카우샬
Original Assignee
코닌클리케 필립스 일렉트로닉스 엔.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 코닌클리케 필립스 일렉트로닉스 엔.브이. filed Critical 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20040054769A publication Critical patent/KR20040054769A/ko
Application granted granted Critical
Publication of KR100925668B1 publication Critical patent/KR100925668B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/251Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/252Processing of multiple end-users' preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Television Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

사용자의 시청 이력 또는 구입 이력이 이용 가능하기 전에 텔레비젼 프로그램 추천 같은 사용자에게 관심있는 아이템들을 추천하기 위한 방법 및 장치가 개시된다. 제삼자 시청 또는 구입 이력은 대표적인 시청자에에 의해 선택된 통상적인 패턴들의 아이템들을 반영하는 스테레오타입 프로파일들을 생성하기 위하여 처리된다. 사용자는 생성된 스테레오타입 프로파일들로부터 가장 적당한 스테레오타입(들)을 선택하고, 그 또는 그녀의 관심에 가장 가까운 아이템들을 가진 그 또는 그녀의 프로파일을 시작한다. 하나의 클러스터에서의 포인트들(예를 들어, 텔레비젼 프로그램들)이 임의의 다른 클러스보다 클러스터의 평균에 근접하도록, 클러스터링은 k 평균 클러스터링 알고리즘을 사용하여 클러스터들에게 제삼자 시청 또는 구입 이력(데이타 세트)을 루틴분할한다. k의 값은 (ⅰ) k의 추가 증가가 분류 정확도에서 임의의 개선을 형성하지 않고, (ⅱ) 미리 결정된 성능 임계값이 도달되거나, (ⅲ) 비어있는 클러스터가 검출될 때까지 증가된다.

Description

다수의 아이템들을 상기 아이템들의 추천기에서 유사한 아이템들의 그룹으로 분할하기 위한 방법 및 장치{Method and apparatus for partitioning a plurality of items into groups of similar items in a recommender of such items}
텔레비젼 시청자가 이용할 수 있는 채널 수가 이러한 채널상에서 이용할 수 있는 프로그래밍 콘텐트의 다양성과 함께 증가됨에 따라, 텔레비젼 시청자가 관심있는 텔레비젼 프로그램들을 식별하기 위한 시도가 점점 증가되고 있다. 전자 프로그램 가이드(EPG)는 예를 들어 타이틀, 시간, 날짜 및 채널에 의해 이용 가능한 텔레비젼 프로그램들을 식별하고, 개인의 선호도에 따라 검색 또는 분류될 이용 가능한 텔레비젼 프로그램들을 허용함으로써 관심있는 프로그램들의 식별을 용이하게 한다.
다수의 추천 툴들은 텔레비젼 프로그래밍 및 다른 관심있는 아이템들을 추천하기 위해 제안되거나 제공되었다. 텔레비젼 프로그램 추천 툴들은, 예를 들어 특정 시청자들에게 흥미있을 수 있는 한 세트의 추천된 프로그램들을 얻기 위하여 EPG에 시청자 선호도를 적용한다. 일반적으로, 텔레비젼 추천 툴들은 함축적이거나 노골적인 기술들을 사용하거나, 상기의 몇몇 결합을 사용하여 시청자 선호들을 얻는다. 함축적인 텔레비젼 프로그램 추천 툴들은 강요하지 않는 방식으로, 시청자의 시청 이력으로부터 얻어진 정보에 기초하여 텔레비젼 프로그램 추천을 생성한다. 다른 한편, 노골적인 텔레비젼 프로그램 추천 툴들은 시청자 프로파일들을 유도하고 추천을 위하여 타이틀, 장르, 배우들, 채널 및 날짜/시간 같은 프로그램 속성에 대한 선호도들에 관하여 시청자들에게 노골적으로 질문한다.
현재 이용 가능한 추천 툴들은 관심있는 아이템들을 식별하는데 도움을 주지만, 만약 극복되면 상기 추천 툴의 편리성 및 성능을 크게 개선시키는 다수의 제한들로부터 고통을 받는다. 예를 들어, 이해를 위하여, 노골적인 추천 툴들은 거시적인 입도 레벨에서 그것의 선호들을 나타내는 매우 상세한 조사에 응답하도록 새로운 사용자에게 질문하는 것을 시작하는 것이 매우 지루하다. 함축적인 텔레비젼 프로그램 추천 툴들은 시청 행동들을 관찰함으로써 명확하지 않게 프로파일을 유도하지만, 그것들은 정확해지기 위하여 매우 긴 시간을 요구한다. 게다가, 상기 함축적인 텔레비젼 프로그램 추천 툴들은 임의의 추천들을 시작하기 위하여 적어도 최소량의 시청 이력을 요구한다. 따라서, 상기 함축적인 텔레비젼 프로그램 추천 툴들은 추천 툴이 최초에 얻어질 때 임의의 추천을 제공할 수 없다.
개인의 시청 이력을 충분히 이용할 수 있기 전에 눈에 뛰지 않게 텔레비젼 프로그램과 같은 아이템들을 추천할 수 있는 방법 및 장치들이 필요하다. 게다가, 제삼자들의 시청 습관에 기초하여 주어진 사용자에 대해 프로그램 추천을 생성하기 위한 방법 및 장치가 필요하다.
본 발명은 발명의 명칭이 "아이템들의 추천기에서 아이템들의 근접도를 평가하기 위한 방법 및 장치"인 미국 특허 출원(대리인 사건 일람 번호 US010567), 발명의 명칭이 "아이템 기반 클러스터링을 사용하여 관심있는 아이템들을 추천하기 위한 스테레오타입 프로파일을 생성하기 위한 방법 및 장치"인 미국 특허 출원(대리인 사건 일람 번호 US010569), 발명의 명칭이 "선택된 제삼자의 선호도에 기초하여 관심있는 아이템들을 추천하기 위한 방법 및 장치"인 미국 특허 출원(대리인 사건 일람 번호 US010572), 발명의 명칭이 "제삼자들의 스테레오타입 선호도에 기초하여 관심있는 아이템들을 추천하기 위한 방법 및 장치"인 미국 특허 출원(대리인 사건 일람 번호 US010575) 및 발명의 명칭이 "특징 기반 클러스터링을 사용하여 관심있는 아이템들을 추천하기 위해 스테레오타입 프로파일을 생성하기 위한 방법 및 장치"인 미국 특허 출원(대리인 사건 일람 번호 US010576)에 관한 것이고, 그 각각은 동시에 출원되었으며, 본 발명의 양수인에게 양도되었으며, 참고로 본 명세서에 포함되었다.
본 발명은 텔레비젼 프로그램 같은 관심있는 아이템들을 추천하기 위한 방법들 및 장치, 특히 사용자의 구입 또는 시청 이력이 이용 가능하기 전에 관심있는 프로그램들 및 다른 아이템들을 추천하기 위한 기술들에 관한 것이다.
도 1은 본 발명에 따른 텔레비젼 프로그램 추천기의 개략적인 블록도.
도 2는 도 1의 예시적인 프로그램 데이타베이스로부터의 샘플 테이블.
도 3은 본 발명의 원리들을 사용하는 도 1의 스테레오타입 프로파일 처리를 기술하는 흐름도.
도 4는 본 발명의 원리들을 사용하는 도 1의 클러스터링 루틴을 도시하는 흐름도.
도 5는 본 발명의 원리들을 사용하는 도 1의 평균 계산 루틴을 기술하는 흐름도.
도 6은 본 발명의 원리들을 사용하는 도 1의 거리 계산 루틴을 기술하는 흐름도.
도 7a는 각각의 클래스에 대한 각각의 채널 특징 값의 발생 수를 가리키는 예시적인 채널 특징 값 발생 테이블로부터의 샘플 테이블.
도 7b는 도 7a에 도시된 예시적인 카운터들로부터 계산된 각각의 특징 값 쌍 사이의 거리를 가리키는 예시적인 특징 값 쌍 거리 테이블로부터의 샘플 테이블.
도 8은 본 발명의 원리를 사용하는 도 1의 클러스터링 성능 액세스 루틴을 기술하는 흐름도.
일반적으로, 텔레비젼 프로그램 추천 같은 사용자에게 관심있는 아이템들을 추천하기 위한 방법 및 장치가 개시된다. 본 발명의 일측면에 따라, 사용자가 추천을 얻는 것 같은 사용자의 시청 이력 또는 구입 이력이 이용 가능하기 전에 추천이 생성된다. 이상적으로, 하나 이상의 제삼자들로부터 시청 이력 또는 구입 이력은 특정 사용자에게 관심있는 아이템들을 추천하기 위하여 사용된다.
제삼자 시청 또는 구입 이력은 대표적인 시청자들에 의해 선택된 통상적인 아이템들의 패턴들을 반영한 스테레오타입 프로파일들을 생성하기 위하여 처리된다. 각각의 스테레오타입 프로파일은 몇몇 방식에서 서로 유사한 아이템들(데이타 포인트들)의 클러스터이다. 사용자는 그 또는 그녀 자신의 관심에 근접한 아이템을 가진 그 또는 그녀의 프로파일을 시작하기 위하여 관심있는 스테레오타입(들)을 선택한다.
클러스터링 루틴은 하나의 클러스터에서 포인트들(예를 들어, 텔레비젼 프로그램들)이 임의의 다른 클러스터보다 클러스터의 평균에 가깝도록 제삼자 시청 또는 구입 이력(데이타 세트)을 클러스터들로 분할한다. 평균 계산 루틴은 클러스터의 심볼 평균을 계산하기 위하여 개시된다. 텔레비젼 프로그램 같은 주어진 포인트는 각각의 클러스터의 평균을 사용하여 각각의 클러스터에 대한 데이타 포인트 사이의 거리에 기초하여 클러스터에게 할당된다.
제삼자 시청 또는 구입 이력에서 프로그램들 또는 다른 아이템들은 k 평균 클러스터링 알고리즘을 사용하여 유사한 아이템들의 k 클러스터들로 분할된다. 본 발명의 일측면에 따라, 개시된 클러스터링 루틴은 k의 다이나믹 값을 사용한다. k의 값은 (ⅰ) k의 추가 증가가 분류 정확도에서 임의의 개선을 생성하지 않고, (ⅱ) 소정 성능 임계값이 도달되거나, (ⅲ) 비어있는 클러스터가 검출될 때까지 증가된다. 클러스터링 기술의 성능은 다중 평균(또는 각각의 가능한 특징에 대한 다수의 특징 값들)을 가진 클러스터를 표현함으로써 개선될 수 있다. 상기 평균이 다중 프로그램들로 구성될때, 상기 평균은 전체 클러스터를 보다 나타내기 쉽고,부가적인 가변성은 클러스터링 처리에 도입된다.
본 발명의 보다 완전한 이해뿐 아니라, 본 발명의 다른 특징들 및 장점들은 다음 상세한 설명 및 도면들을 참조하여 얻어질 것이다.
도 1은 본 발명에 따른 텔레비젼 프로그래밍 추천기(100)를 도시한다. 도 1에 도시된 바와 같이, 예시적인 텔레비젼 프로그래밍 추천기(100)는 도 2와 관련하여 하기되는 프로그램 데이타베이스(200)의 프로그램들을 평가하여, 특정 시청자에게 관심있는 프로그램들을 식별한다. 추천된 프로그램들의 세트는 예를 들어 잘 공지된 온 스크린 프리젠테이션 기술을 사용하여 셋톱 박스 단말/텔레비젼(도시되지 않음)을 사용하여 시청자에게 제공된다. 본 발명이 텔레비젼 프로그래밍 추전과 관련하여 여기에 도시되었지만, 본 발명은 시청 이력 또는 구입 이력 같은 사용자 작용의 평가에 기초하여 임의의 자동적으로 생성된 추천에 적용된다.
본 발명의 한가지 특징에 따라, 텔레비젼 프로그램 추천기(100)는 사용자가 우선 텔레비젼 프로그램 추천기(100)를 얻을 때 사용자의 시청 이력(140)이 이용 가능하기 전에 텔레비젼 프로그램 추천을 생성할 수 있다. 도 1에 도시된 바와 같이, 텔레비젼 프로그램 추천기(100)는 하나 이상의 제삼자들로부터의 시청 이력(130)을 특정 사용자에게 관심있는 추천된 프로그램들에게 처음에 사용한다. 일반적으로, 제삼자 시청 이력(130)는 보다 큰 집단을 나타내는 나이, 수입, 성별 및 교육과 같은 인구학을 가진 하나 이상의 샘플 집단들의 시청 습관에 기초한다.
도 1에 도시된 바와 같이, 제삼자 시청 이력(130)은 주어진 집단에 의해 시청되고 시청되지 않는 프로그램들의 세트로 구성된다. 시청되는 프로그램들의 세트는 주어진 집단에 의해 실제로 시청되는 프로그램들을 관찰함으로써 얻어진다. 시청되지 않는 프로그램들의 세트는 프로그램 데이타베이스(200)의 프로그램들을임의적으로 샘플링함으로써 얻어진다. 다른 변화에서, 시청되지 않은 프로그램들의 세트는 본 발명의 양수인에게 양도되고 여기에 참조로 포함되며, 발명의 명칭이 "기술 지능 애플리케이션들을 위한 네가티브 실시예들을 선택하기 위한 적응성 샘플링 기술"인 2001년 3월 28일 출원된 미국 특허 출원 09/819,286에 따라 얻어진다.
본 발명의 다른 특징에 따라, 텔레비젼 프로그래밍 추천기(100)는 대표적인 시청자들에 의해 시청되는 텔레비젼 프로그램들의 통상적인 패턴들을 반영하는 스테레오타입 프로파일들을 생성하기 위하여 제삼자 시청 이력(130)을 처리한다. 하기에 논의될 바와 같이, 스테레오타입 프로파일은 몇몇 방식에서 서로 유사한 텔레비젼 프로그램들(데이타 포인트들)의 클러스터이다. 따라서, 주어진 클러스터는 특정 패턴을 나타내는 제삼자 시청 이력(130)으로부터의 텔레비젼 프로그램들의 특정 세그먼트에 해당한다.
제삼자 시청 이력(130)은 몇몇 특정 패턴을 나타내는 프로그램들의 클러스터들을 제공하기 위하여 본 발명에 따라 처리된다. 그후, 사용자는 가장 관련된 스테레오타입(들)을 선택할 수 있고 그것에 의해 그 또는 그녀 자신의 관심에 근접한 프로그램들을 가진 그 또는 그녀의 프로파일을 시작한다. 스테레오타입 프로파일은 프로그램들에게 제공된 기록 패턴들, 및 피드백에 따라 각각의 개별 사용자의 특정 개인 시청 행동쪽으로 조절 및 진화한다. 일실시예에서, 사용자 자신의 시청 이력(140)으로부터의 프로그램들은 제삼자 시청 이력(130)으로부터 프로그램들의 프로그램 스코어를 결정할 때 보다 높은 웨이트에 따를 수 있다.
텔레비젼 프로그램 추천기(100)는 중앙 처리 유니트(CPU) 같은 프로세서(115), 및 RAM 및/또는 ROM 같은 메모리(120)를 포함하는 개인용 컴퓨터 또는 워크스테이션 같은 임의의 컴퓨팅 장치로서 사용될 수 있다. 텔레비젼 프로그램 추천기(100)는 예를 들어 셋톱 단말 또는 디스플레이(도시되지 않음)에서 애플리케이션 특정 집적 회로(ASIC)로서 사용될 수 있다. 게다가, 텔레비젼 프로그래밍 추천기(100)는 캘리포니아 서니베일의 Tivo, Inc로부터 상업적으로 판매되는 TivoTM시스템과 같은 임의의 이용 가능한 텔레비젼 프로그램 추천기, 또는 발명의 명칭이 "결정 트리들을 사용하여 텔레비젼 프로그래밍을 추천하기 위한 방법 및 장치"인 1999년 12월 17일에 출원된 미국 특허 출원 09/466,406, 발명의 명칭이 "베이스의 TV 쇼 추천기(Bayesian TV Show Recommender)"인 2000년 2월 4일 출원된 미국 특허 출원 09/498,271, 발명의 명칭이 "3가지 방식의 매체 추천 방법 및 시스템"인 2000년 7월 27일 출원된 미국 특허 출원 09/627,139에 기술된 텔레비젼 프로그램 추천기, 또는 그것의 임의의 조합으로서 구현될 수 있으며, 그 각각은 참고로 본 명세서에 포함되며 본 발명의 특징들 및 기능들을 수행하기 위하여 여기에서 변형된다.
도 1에 도시되고, 도 2 내지 8을 참조하여 보다 논의된 바와 같이, 텔레비젼 프로그래밍 추천기(100)는 프로그램 데이타베이스(200), 스테레오타입 프로파일 프로세스(300), 클러스터링 루틴(400), 평균 계산 루틴(500), 거리 계산 루틴(600) 및 클러스터 성능 평가 루틴(800)을 포함한다. 일반적으로, 프로그램 데이타베이스(200)는 잘 공지된 전자 프로그램 가이드로서 실현되고 주어진 시간 간격에서 이용할 수 있는 각각의 프로그램에 대한 정보를 기록한다. 스테레오타입 프로파일 프로세스(300)는 (ⅰ) 대표적인 시청자들에 의해 시청되는 텔레비젼 프로그램들의 통상적인 패턴들을 반영하는 스테레오타입 프로파일들을 생성하기 위하여 제삼자 시청 이력(130)을 처리하고; (ⅱ) 가장 관련된 스테레오타입(들)을 사용자가 선택하게 하고 그것에 의해 그 또는 그녀의 프로파일을 시작하고; (ⅲ) 선택된 스테레오타입에 기초하여 추천을 한다.
클러스터링 루틴(400)은 하나의 클러스터의 포인트들(텔레비젼 프로그램들)이 임의의 다른 클러스터보다 클러스터의 평균(중심)에 근접하도록 제삼자 시청 이력(130)(데이타 세트)을 클러스터들로 분할하기 위하여 스테레오타입 프로파일 프로세스(300)에 의해 호출된다. 클러스터링 루틴(400)은 클러스터의 심볼 평균을 계산하기 위하여 평균 계산 루틴(500)을 호출한다. 거리 계산 루틴(600)은 주어진 텔레비젼 프로그램 및 주어진 클러스터의 평균 사이의 거리에 기초하여 각각의 클러스터에 텔레비젼 프로그램의 근접도를 평가하기 위하여 클러스터링 루틴(400)에 의해 호출된다. 마지막으로, 클러스터링 루틴(400)은 클러스터들을 형성하기 위한 정지 기준 임계치가 만족될때를 결정하기 위하여 클러스터링 성능 평가 루틴(800)을 호출한다.
도 2는 도 1의 프로그램 데이타베이스(EPG)(200)로부터의 샘플 테이블이다. 이전에 지시된 바와 같이, 프로그램 데이타베이스(200)는 주어진 시간 간격에서 이용할 수 있는 각각의 프로그램에 대한 정보를 기록한다. 도 2에 도시된 바와 같이, 프로그램 데이타베이스(200)는 주어진 프로그램과 각각 관련된 기록(205 내지 220) 같은 다수의 기록들을 포함한다. 각각의 프로그램에 대하여, 프로그램 데이타베이스(200)는 각각 필드들(240 및 245)의 프로그램과 연관된 날짜/시간 및 채널을 가리킨다. 게다가, 각각의 프로그램에 대한 타이틀, 장르 및 배우들은 각각 필드들(250, 255 및 270)에서 식별된다. 프로그램의 기간 및 설명 같은 부가적인 잘 공지된 특징들(도시되지 않음)은 프로그램 데이타베이스(200)에 포함될 수 있다.
도 3은 본 발명의 특징들을 포함하는 스테레오타입 프로파일 프로세스(300)의 예시적인 실시예들을 기술하는 흐름도이다. 상기된 바와 같이, 스테레오타입 프로파일 프로세스(300)는 (ⅰ) 대표적인 시청자들에 의해 시청되는 텔레비젼 프로그램들의 통상적인 패턴들을 반영하는 스테레오타입 프로파일들을 생성하기 위하여 제삼자 시청 이력(130)을 처리하고; (ⅱ) 가장 관련된 스테레오타입을 사용자가 선택하도록 하여 그 또는 그녀의 프로파일을 시작하고; 및 (ⅲ) 선택된 스테레오타입에 기초하여 추천을 생성한다. 제삼자 시청 이력(130)의 처리가 예를 들어 제조소에서 오프 라인으로 수행될 수 있고, 텔레비젼 프로그래밍 추천기(100)가 사용자들에 의해 선택을 위해 생성된 스테레오타입 프로파일들로 설치되도록 사용자들에게 제공될 수 있다는 것이 주의된다.
따라서, 도 3에 도시된 바와 같이, 스테레오타입 프로파일 처리(300)는 단계(310) 동안 제삼자 시청 이력(130)을 처음에 수집한다. 그후, 스테레오타입 프로파일 프로세스(300)는 스테레오타입 프로파일들에 대응하는 프로그램들의 클러스터들을 생성하기 위한 단계(320) 동안 도 4와 관련하여 하기되는 클러스터링 루틴(400)을 실행한다. 하기에 추가로 논의되는 바와 같이, 예시적인 클러스터링 루틴(400)은 시청 이력 데이타 세트(130)에 "k 평균" 클러스터 루틴 같은 관리되지 않은 데이타 클러스터링 알고리즘을 사용할 수 있다. 상기된 바와 같이, 클러스터링 루틴(400)은 제삼자 시청 이력(130)(데이타 세트)을 클러스터들로 분할하여, 한 클러스터의 포인트들(텔레비젼 프로그램들)이 임의의 다른 클러스터보다 그 클러스트의 평균(중심)에 근접하게 된다.
그 다음 스테레오타입 프로파일 프로세스(300)는 하나 이상의 라벨을 각각의 스테레오타입 프로파일을 특징으로 하는 단계(330) 동안 각각의 클러스터에게 할당한다. 하나의 예시적인 실시예에서, 클러스터의 평균은 전에 클러스터에 대한 대표적인 텔레비젼 프로그램이되고 평균 프로그램의 특징들은 클러스터를 라벨링하기 위하여 사용될 수 있다. 예를 들어, 텔레비젼 프로그래밍 추천기(100)는 장르가 각각의 클러스터에 대한 대세 또는 특징을 한정하도록 구성될 수 있다.
라벨링 스테레오타입 프로파일들은 사용자의 관심에 근접한 스테레오타입 프로파일(들)의 선택을 위한 단계(340) 동안 각각의 사용자에게 제공된다. 각각의 선택된 클러스터를 만드는 프로그램들은 상기 스테레오타입의 "통상적인 시청 이력" 같은 것으로 고려될 수 있고 각각의 클러스터에 대한 스테레오타입 프로파일을 형성하기 위하여 사용될 수 있다. 따라서, 시청 이력은 선택된 스테레오타입 프로파일들로부터 프로그램으로 구성된 단계(350) 동안 사용자에 대해 생성된다. 마지막으로, 이전 단계에서 생성된 시청 이력은 프로그램 추천을 얻기 위하여 단계(360) 동안 프로그램 추천기에 제공된다. 프로그램 추천기는 당업자에게 명백한 바와 같이 변형된 것으로 상기된 바와같은 임의의 통상적인 프로그램 추천기로서 사용될 수 있다. 프로그램 제어는 단계(370) 동안 종료된다.
도 4는 본 발명의 특징들을 포함한 클러스터링 루틴(400)의 예시적인 실시예를 기술하는 흐름도이다. 이전에 기술된 바와 같이, 클러스터링 루틴(400)은 하나의 클러스터의 포인트들(텔레비젼 프로그램들)이 다른 클러스터보다 평균(중심)에 근접하도록 제삼자 시청 이력(130)(데이타 세트)을 클러스터들로 분할하기 위한 단계(320) 동안 스테레오타입 프로파일 프로세스(300)에 의해 호출된다. 일반적으로, 클러스터링 루틴들은 샘플 데이타 세트에서 실시예들의 그룹들을 발견하는 관리되지 않은 임무에 집중한다. 본 발명은 데이타 세트를 k 평균 클러스터링 알고리즘을 사용하여 k 클러스터들로 분할한다. 여기에 논의된 바와 같이, 클러스터링 루틴(400)에 대한 두개의 메인 파라미터들은 (ⅰ) 도 6과 관련하여 하기된 근접한 클러스터를 발견하기 위한 거리 매트릭; 및 (ⅱ) 생성하기 위한 클러스터들의 수인 k이다.
예시적인 클러스터링 루틴(400)은 예시적인 데이타의 추가 클러스터링이 분류 정확도에서 임의의 개선을 생성하지 않을때 안정된 k가 도달되는 조건을 가진 k의 다이나믹 값을 사용한다. 게다가, 클러스터 크기는 비어있는 클러스터가 기록될때 포인트로 증가된다. 따라서, 클러스터링은 클러스터들의 자연적인 레벨이 도달될때 정지한다.
도 4에 도시된 바와 같이, 클러스터링 루틴(400)은 처음에 단계(410) 동안 k 클러스터들을 형성한다. 예시적인 클러스터링 루틴(400)은 최소 클러스터들의 수(두개)를 선택함으로써 시작한다. 이런 고정된 수에 대하여, 클러스터링 루틴(400)은 전체 시청 이력 데이타 세트(130)를 처리하고, 몇몇 반복을 통하여 안정된 것으로 고려된 두개의 클러스터들에 도달한다(즉, 프로그램은 비록 알고리즘이 다른 반복을 통하여 진행하더라도, 하나의 클러스터로부터 다른 클러스터로 이동되지 않는다). 현재 k 클러스터들은 하나 이상의 프로그램들로 단계(420) 동안 시작된다.
예시적인 일실시예에서, 클러스터들은 제삼자 시청 이력(130)으로부터 선택된 몇몇 종자 프로그램들을 사용하여 단계(420) 동안 시작된다. 클러스터를 시작하기 위한 프로그램은 임의적으로 또는 순차적으로 선택될 수 있다. 순차적인 실행에서, 클러스터들은 시청 이력(130)의 제 1 프로그램에서 시작하는 프로그램들 또는 시청 이력(130)의 임의의 포인트에서 시작하는 프로그램들로 시작될 수 있다. 다른 변형에서, 각각의 클러스터를 시작하는 프로그램들의 수는 또한 가변될 수 있다. 마지막으로, 클러스터는 제삼자 시청 이력(130)의 프로그램들로부터 임의적으로 선택된 특징 값으로 구성되는 하나 이상의 "가상" 프로그램들로 시작될 수 있다.
그후, 클러스터링 루틴(400)은 각각의 클러스터의 현재 평균을 계산하기 위한 단계(430) 동안 도 5와 관련하여 하기되는 평균 계산 루틴(500)을 시작한다. 그 다음 클러스터링 루틴(400)은 서로에 대한 제삼자 시청 이력(130)의 각각의 프로그램의 거리를 결정하기 위한 단계(440) 동안 도 6과 관련하여 하기되는 거리 계산 루틴(600)을 실행한다. 시청 이력(130)에서 각각의 프로그램은 단계(460) 동안 근접한 클러스터에 할당된다.
임의의 프로그램이 하나의 클러스터로부터 다른 클러스터로 이동되는지를 결정하기 위하여 단계(470) 동안 검사가 수행된다. 만약 하나의 클러스터로부터 다른 클러스터로 프로그램이 이동되는 단계(470) 동안 상기가 결졍되면, 프로그램 제어는 단계(430)로 리턴하고 클러스터들의 안정된 세트가 식별될때까지 상기된 방식이 계속된다. 그러나, 만약 하나의 클러스터로부터 다른 클러스터로 프로그램이 이동되지 않는 단계(470) 동안 그것이 결정되면, 프로그램 제어는 단계(480)로 진행한다.
추가 테스트는 특정 성능 기준이 만족되거나 만약 비어있는 클러스터가 식별되는(집합적으로, "정지 기준") 것을 결정하기 위한 단계(480) 동안 수행된다. 만약 정지 기준이 충족되지 못하는 단계(480) 동안 그것이 결정되면, k의 값은 단계(485) 동안 증가되고 프로그램 제어는 단계(420)로 리턴하고 상기된 방식으로 계속된다. 그러나, 정지 기준이 만족되는 것을 단계(480) 동안 결정하면, 프로그램 제어는 종료한다. 정지 기준의 평가는 도 8과 관련하여 추가로 논의된다.
예시적인 클러스터링 루틴(400)은 단지 하나의 클러스터의 프로그램을 배치하고, 크리스프(crisp) 클러스터라 하는 것을 형성한다. 추가 변형은 많은 클러스터에 부분적으로 속하는 특정 실시예(텔레비젼 프로그램)를 위하여 하용하는 퍼지 클러스터링을 사용한다. 퍼지 클러스터링 방법에서, 텔레비젼 프로그램은 텔레비젼 프로그램이 클러스터 평균에 얼마나 가까운가를 나타내는 웨이트가 할당된다. 상기 웨이트는 클러스터 평균으로부터 텔레비젼 프로그램의 거리의 인버스 제곱에 따를 수 있다. 단일 텔레비젼 프로그램과 관련된 모든 클러스터 웨이트들의 합은100%까지 부가하여야 한다.
클러스터 실볼 평균의 계산
도 5는 본 발명의 특징들을 포함하는 평균 계산 루틴(500)의 예시적인 실행을 기술하는 흐름도이다. 상기된 바와 같이, 평균 계산 루틴(500)은 클러스터의 심볼 평균을 계산하기 위하여 클러스터링 루틴(400)에 의해 호출된다. 수치 데이타에 대하여, 상기 평균은 편차를 최소화하는 값이다. 상기 개념을 심볼 데이타로 확장하여, 클러스터의 평균은 인트라 클러스터 편차(및 여기서 클러스터의 반경 또는 범위)를 최소화하는 xμ의 값을 발견함으로써 한정될 수 있다.
Var(J) = Σi∈J(xi- xμ)2(1)
클러스터 반경 R(J) =(2)
여기서 J는 동일한 클래스(시청되거나 시청되지 않음)로부터의 텔레비젼 프로그램들의 클러스터이고, xi는 i를 보여주기 위한 심볼 특징 값이고, xμ는 Var(J)를 최소화하도록 J의 텔레비젼 프로그램중 하나로부터의 특징 값이다.
따라서, 도 5에 도시된 바와 같이, 평균 계산 루틴(500)은 처음에 단계(510) 동안 주어진 클러스터(J)에서 현재 프로그램들을 처음에 식별한다. 고려하에서 현재 심볼 속성에 대하여, 클러스터(J)의 편차는 각각의 가능한 심볼 값(xμ)에 대하여 단계(520) 동안 방정식(1)을 사용하여 계산된다. 편차를 최소화하는 심볼 값(xμ)은 단계(530) 동안 평균 값으로서 선택된다.
고려될 부가적인 심볼 속성이 있다는 것을 결정하기 위한 단계(540) 동안 검사가 수행된다. 고려될 부가적인 심볼 속성이 있다는 것이 단계(540) 동안 결정되면, 프로그램 제어는 단계(520)로 리턴하고 상기된 방식으로 계속된다. 그러나, 고려될 부가적인 심볼 속성들이 없다는 것이 단계(540) 동안 결정되면, 프로그램 제어는 클러스터링 루틴(400)으로 리턴한다.
계산적으로, J의 각각의 심볼 특징 값은 xμ로서 시도되고 편차를 최소화하는 심볼 값은 클러스터(J)의 고려하에서 심볼 속성에 대한 평균이 된다. 쇼 기반 평균 및 특징 기반 평균인 두가지 타입의 평균 계산이 있다.
특징 기반 심볼 평균
여기에 개시된 예시적인 평균 계산 루틴(500)은 특징에 기초하고, 결과적인 클러스터 평균은 심볼 속성들에 대한 평균이 가능한 값 중 하나이어야 하기 때문에 클러스터(J)의 예들(프로그램들)로부터 인출된 특징 값들로 이루어진다. 그러나 클러스터 평균이 "가상" 텔레비젼 프로그램일 수 있다는 것이 주의된다. 이런 가상 프로그램의 특징 값들은 실시예들 중 하나(즉, EBC)로부터 인출된 채널 값 및 실시예들중 다른 하나로부터 인출된 타이틀 값(즉, 실제로 EBC에서 결코 방송되지 않은 BBC 월드 뉴스들)을 포함할 수 있다. 그래서, 임의의 특징 값은 최소 편차가 상기 특징의 평균을 나타도록 선택되는 것을 나타낸다. 평균 계산 루틴(500)은 모든 특징들(즉, 심볼 속성들)이 고려되는 단계(540) 동안 결정될때까지 모든 특징 위치들에 대해 반복된다. 그래서 얻어진 결과적인 가상 프로그램은 클러스터의 평균을 제공하기 위하여 사용된다.
프로그램 기반 심볼 평균
추가 변형에서, 편차에 대한 방정식(1)에서, xi는 텔레비젼 프로그램(i) 그 자체일 수 있고 유사하게 xμ는 클러스터(J)에서 프로그램드르이 세트상에서 편차를 최소화하는 클러스터(J)의 프로그램들이다. 이 경우, 프로그램들 및 개별 특징 값들이 아닌 것 사이의 거리는 관련 매트릭이 최소가 된다. 게다가, 결과적인 평균은 가상 프로그램이 아니라, 세트(J)로부터의 프로그램 픽업된 권리이다. 그래서 클러스터(J)에서 모든 프로그램들상 편차를 최소화하는 클러스터(J)에서 발견된 임의의 프로그램은 클러스터의 평균을 나타내기 위하여 사용된다.
다중 프로그램들을 사용하는 심볼 평균
상기된 예시적인 평균 계산 루틴(500)은 각각의 가능한 특징(특징에 기초한 실행인지 프로그램에 기초한 실행인지)에 대한 단일 특징 값을 사용하는 클러스터의 평균을 특징으로 한다. 그러나, 평균이 더 이상 클러스터에 대한 대표적인 클러스터 센터가 아니기 때문에, 평균 계산 동안 각각의 특징에 대해 하나의 특징 값만을 의존하는 것은 부적당한 클러스터링을 유발한다는 것이 발견되었다. 다른 말로, 단지 하나의 프로그램들에 의해 클러스터를 표현하는 것이 바람직한 것이 아니고, 오히려 다중 프로그램들은 평균을 나타내거나 다중 평균들은 클러스터를 제공하기 위하여 사용될 수 있다. 따라서, 추가 변형에서, 클러스터는 각각의 가능한 특징에 대한 다중 평균 도는 다중 특징 값들에 의해 표현될 수 있다. 따라서, 편차를 최소화하는 N 특징들(특징 기반 심볼 평균) 또는 N 프로그램들(프로그램 기반 심볼 평균)은 단계(530) 동안 선택되고, 여기서 N은 클러스터의 평균을 나타내기 위하여 사용된 프로그램들의 수이다.
프로그램 및 클러스터 사이의 거리 계산
상기된 바와 같이, 거리 계산 루틴(600)은 주어진 클러스터의 평균 및 주어진 텔레비젼 프로그램 사이의 거리에 기초하여 각각의 클러스터에 텔레비젼 프로그램의 근접도를 평가하기 위하여 클러스터링 루틴(400)에 의해 호출된다. 계산된 거리 매트릭은 클러스터의 범위를 결정하기 위하여 샘플 데이타 세트에서 다양한 실시예들 사이의 차를 양자화한다. 사용자 프로파일들을 클러스터하기 위하여, 시청 이력의 임의의 두개의 텔레비젼 프로그램들 사이의 거리는 계산될 수 있다. 일반적으로, 서로에 대해 근접한 텔레비젼 프로그램들은 하나의 클러스터에 속한다. 다수의 비교적 직접적인 기술들은 유클리드 거리, 맨하탄 거리, 및 하와이 거리 같은 수치 값 벡터들 사이의 거리를 계산하기 위하여 배출된다.
종래 거리 계산 기술들은 텔레비젼 프로그램들이 일차적으로 심볼 특징 값들로 구성되기 때문에 텔레비젼 프로그램 벡터들의 경우에 사용될 수 없다. 예를 들어, 2001년 3월 22일 오후 8시 EBC에서 방영하는 "프렌즈"의 에피소드, 및 2001년 3월 25일 오후 8시에 방영하는 "더 시몬즈"의 에피소드 같은 두개의 텔레비젼 프로그램들은 다음 특징 벡터들을 사용하여 제공될 수 있다 :
타이틀: 프렌즈 타이틀: 시몬즈
채널: EBC 채널: FEX
방영일: 2001-03-22 방영일: 2001-03-25
방영 시간: 2000 방영 시간: 2000
명확하게, 공지된 수치 거리 매트릭스는 특징 값들 "EBC" 및 "FEX" 사이의 거리를 계산하기 위하여 사용될수없다. 값 차이 매트릭(VDM)은 심볼 특징 값 도메인에서 특징들의 값들 사이의 거리를 측정하기 위한 종래 기술이다. VDM 기술은 각각의 특징의 각각의 가능한 값에 대한 모든 실시예들의 전체적인 분류 유사성을 고려한다. 이 방법을 사용하여, 특징의 모든 값들 사이의 거리를 한정하는 매트릭스는 트레이닝 세트에서 실시예들에 기초하여 통계적으로 유도된다. 심볼 특징 값들 사이의 거리를 계산하기 위한 VDM 기술들의 보다 상세한 논의를 위하여, 여기에 참조로써 포함된 스탠필 및 왈츠에 의한 ACM, 29:12, 1213-1228(1986) 통신 "Toward Memory-Based Reasoning"를 참조하자.
본 발명은 두개의 텔레비젼 프로그램들 또는 다른 관심있는 아이템들 사이의 특징 값들 사이의 거리를 계산하기 위하여 그것의 편차 또는 VDM 기술들을 사용한다. 본래 VDM 제안은 비댕적인 거리 매트릭을 형성하는 두개의 특징 값들 사이의 거리 계산에서 웨이트 측면을 사용한다. 변형된 VDM(MVDM)은 거리 매트릭스 대칭성을 형성하기 위하여 웨이트 측면을 생략한다. 심볼 특징 값들 사이의 거리를 계산하기 위한 MVDM 기술들의 보다 상세한 논의를 위하여, 여기에 참조로써 포함된 코스트 및 살즈버그에 의한 10권 57-58, 보스톤, 메사츄세츠, 클러스터 퍼블리서(1993) "A Weighted Nearest Neighbor Algorithm For Learning With Symbolic Features"를 참조하자.
MVDM에 따라, 특정 특징에 대한 두개의 값들(V1 및 V2) 사이의 거리(δ)는 다음과 같이 제공된다:
δ(V1, V2) = Σ|C1i/C1 - C2i/C2|r(3)
본 발명의 프로그램 추천 환경에서, MVDM 방정식(3)은 클래스들("시청됨" 및 "시청되지 않음"로 다루기 위하여 변형된다.
(4)
방정식(4)에서, V1 및 V2는 고려하에서 특징에 대한 두개의 가능한 값들이 있다. 상기 실시예를 계속하여, 제 1 값(V1)은 "EBC"와 같고 제 2 값(V2)는 특징 "채널"에 대한 "FEX"와 같다. 값들 사이의 거리는 실시예들이 분류되는 모든 클래스들상에서 합이다. 본 발명의 예시적인 프로그램 추천 실시예들에 대한 관련된 클래스들은 "시청됨" 및 "시청되지 않음"이다. C1i는 V1(EBC)이 클래스 i(i는 시청된 클래스를 함유하는 1과 같다)로 분류된 횟수이고, C1(C1_total)은 V1이 상기 데이타 세트내에 발생된 총횟수이다. 값 "r"은 일정하고 일반적으로 1로 설정된다.
방정식(4)에 의해 한정된 매트릭은 만약 그것들이 모든 분류를 위한 동일 관련 주파수로 발생하면 유사한 값들을 식별할 것이다. 항(C1i/C1)은 질문 특징이 값(V1)인 것을 i가 제공할 때 중앙 잔류치가 분류되는 경향을 나타낸다. 따라서, 두개의 값들은 만약 그것들이 모든 가능한 분류를 위한 유사한 가능성을 제공하면유사하다. 방정식(4)은 모든 분류를 위한 이들 가능성들의 차들의 합을 발견함으로써 두개의 값들 사이에서 전체적으로 유사하게 계산한다. 두개의 텔레비젼 프로그램 사이의 거리는 두개의 텔레비젼 프로그램 벡터들의 대응 특징 값들 사이의 거리의 합이다.
도 7a는 특징 "채널"과 연관된 특징 값들에 대한 거리 테이블의 일부이다. 도 7a는 각각의 클래스에 대한 각각의 채널 특징의 발생수를 프로그램한다. 도 7a에 도시된 값들은 예시적인 제삼자 시청 이력(130)으로부터 얻어진다.
도 7b는 MVDM 방정식(4)을 사용하여 도 7a에 도시된 예시적인 카운터들로부터 계산된 각각의 특징 값 쌍 사이의 거리를 디스플레이한다. 직관적으로, EBC 및 ABS는 그것들이 시청된 클래스에서 가장 많이 발생하기 때문에서로 "근접하게" 되고 시청되지 않은 클래스에서 발생하지 않는다(ABS는 작은 시청되지 않은 컴포넌트를 가진다). 도 7b는 EBC 및 ABS 사이의 작은(영이 아닌) 거리를 가진 직관을 확인한다. 다른 한편 ASPN은 시청되지 않은 클래스에서 가장 많이 발생하고 이런 데이타 세트를 위하여 양쪽 EBC 및 ABS에 대한 "거리"이어야 한다. 도 7b는 최대 가능한 거리 2.0에서 1.895인 EBC 및 ASPN 사이의 거리를 프로그램한다. 유사하게, ABS 및 ASPN 사이의 거리는 1.828의 값으로 높다.
따라서, 도 6에 도시된 바와 같이, 거리 계산 루틴(600)은 처음에 단계(610) 동안 제삼자 시청 이력(130)의 프로그램들을 식별한다. 고려하에서 현재 프로그램에 대하여, 거리 계산 루틴(600)은 방정식(4)을 사용하여 단계(620) 동안 각각의 클러스터 평균(평균 계산 루틴 500에 의해 결정됨)의 대응 특징에 대한 각각의 심볼 특징들의 거리를 계산한다.
현재 프로그램 및 클러스터 평균 사이의 거리는 대응 특징들 값들 사이의 거리를 모음으로서 단계(630) 동안 계산된다. 검사는 고려될 제삼자 시청 이력(130)의 부가적인 프로그램들이 있는지를 결정하기 위하여 단계(640) 동안 수행된다. 고려될 제삼자 시청 이력(130)에서 부가적인 프로그램들인 것이 단계(640) 동안 결정되면, 다음 프로그램은 단계(650) 동안 식별되고 프로그램 제어는 단계(620)로 진행하고 상기된 방식으로 계속된다.
그러나, 만약 고려될 제삼자 시청 이력(130)의 부가적인 프로그램들이 없다는 것이 단계(640) 동안 결정되면, 프로그램 제어는 클러스터링 루틴(400)으로 리턴한다.
"다중 프로그램으로부터유도된 심볼 평균"인 서브섹션에서 이전에 논의된 바와 같이, 클러스터의 평균은 각각의 가능한 특징(특징에 기초한 실행인지 프로그램에 기초한 실행인지)에 대한 다수의 특징 값들을 사용하는 것을 특징으로 한다. 다중 평균들로부터의 결과는 투표를 통한 합의 결정시 도달하도록 거리 게산 루틴(600)의 편차에 의해 풀링된다. 예를 들어, 거리는 다양한 평균들에 대한 대응 특징 값들 각각 및 프로그램의 주어진 특징 값 사이의 단계(620) 동안 계산된다. 최대 거리는 풀링되고 합의 결정에 도달하기 위한 주된 투표 또는 숙련의 혼합을 사용함으로써 투표를 위하여 사용된다. 상기 시술들의 보다 상세한 논의를 위하여, 여기에 참조로써 포함된 제이,킬터 등에 의한 패턴 인식에서 13차 국제 Conf.의 Proc., Vol.Ⅱ, 897-901, 비엔나, 오스트리아(1996) "CombingClassifiers"들을 참조하자.
정지 기준
상기된 바와 같이, 클러스터링 루틴(400)은 클러스터들을 형성하기 위한 정지 기준이 만족될 때를 결정하기 위하여 도 8에 도시된 클러스터링 성능 평가 루틴(800)을 호출한다. 예시적인 클러스터링 루틴(400)은 추가의 예시적인 데이타의 클러스터링이 분류 정확도의 임의의 개선을 양산하지 않을 때 안정된 k가 도달되는 것을 조건으로 k의 다이나믹 값을 사용한다. 부가적으로, 클러스터 크기는 비어있는 클러스터가 기록되는 포인트까지 증가될 수 있다. 따라서, 클러스터링은 클러스터들의 자연 레벨에 도달될 때 정지한다.
예시적인 클러스터링 성능 평가 루틴(800)은 클러스터링 루틴(400)의 분류 정확도를 검사하기 위하여 제삼자 시청 이력(130)(검사 데이타 세트)으로부터 프로그램들의 서브세트를 사용한다. 검사 세트의 각각의 프로그램에 대하여, 클러스터링 성능 평가 루틴(800)은 그것(클러스터 평균은 가장 가깝다)에 가장 가까운 클러스터를 결정하고 고려하에서 클러스터 및 프로그램에 대한 분류 라벨들을 비교한다. 매칭된 클래스 라벨들의 퍼센트지는 클러스터링 루틴400)의 정확도로 바뀐다.
따라서, 도 8에 도시된 바와 같이, 클러스터링 성능 평가 루틴(800)은 검사 데이타 세트로서 사용하기 위하여 단계(810) 동안 제삼자 시청 이력(130)으로부터 프로그램들의 서브세트를 수집한다. 그후, 클래스 라벨은 시청되고 시청되지 않은 클러스터의 프로그램들의 퍼센트지에 기초한 단계(820) 동안 각각의 클러스터에 할당된다. 예를 들어, 만약 대부분의 클러스터 프로그램들이 시청되면, 클러스터는"시청된" 라벨이 할당될 수 있다.
검사 세트의 각각의 프로그램에 친밀한 클러스터는 단계(830) 동안 식별되고 할당된 클러스터에 대한 클래스 라벨은 프로그램이 실제로 시청되었는지 아닌지 비교된다. 다중 프로그램들이 클러스터의 평균을 나타내기 위하여 사용되는 실행에서, 평균 거리(각각의 프로그램) 또는 투표 방법은 사용될 수 있다. 매칭된 클래스 라벨들의 퍼센트지는 클러스터링 루틴(400)에 프로그램 제어가 리턴하기 전에 단계(840) 동안 결정된다. 클러스터링 루틴(400)은 소정 임계치에 분류 정확도가 도달되면 종료할 것이다.
여기에 도시되고 기술된 실시예들 및 변형들이 본 발명의 원리를 단순히 도시하고 다양한 변형들이 본 발명의 범위 및 사상으로부터 벗어나지 않고 당업자에 의해 실행될 수 있다는 것이 이해된다.

Claims (14)

  1. 다수의 아이템들(205, 210, 220)을 유사한 아이템들의 그룹들로 분할하는 방법으로서, 상기 다수의 아이템들(205, 210, 220)은 적어도 하나의 제삼자에 의한 선택 이력(130)에 대응하는, 상기 방법에 있어서,
    상기 제삼자 선택 이력(130)을 k 클러스터들로 분할하는 단계;
    각각의 상기 k 클러스터들에 대한 적어도 하나의 평균 아이템을 식별하는 단계; 및
    거리 매트릭에 기초하여 상기 클러스터들 중 하나에 상기 다수의 아이템들(205, 210, 220) 각각을 할당하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서, k의 추가 증가가 분류 정확도를 개선시키지 않을 때까지 상기 k 값을 증가시키는 단계를 더 포함하는, 방법.
  3. 제 1 항에 있어서, 미리 결정된 성능 임계값에 도달할 때까지 상기 k 값을 증가시키는 단계를 더 포함하는, 방법.
  4. 제 1 항에 있어서, 비어있는 클러스터가 검출될 때까지 상기 k 값을 증가시키는 단계를 더 포함하는, 방법.
  5. 제 1 항에 있어서, 상기 클러스터들 각각에 라벨을 할당하는 단계를 더 포함하는, 방법.
  6. 제 5 항에 있어서, 상기 할당된 라벨들에 기초하여 적어도 하나의 클러스터의 사용자 선택을 수신하는 단계를 더 포함하는, 방법.
  7. 제 1 항에 있어서, 상기 분할 단계는 k 평균 클러스터링 루틴을 사용하는 단계를 더 포함하는, 방법.
  8. 제 1 항에 있어서, 상기 아이템들(205, 210, 220)은 프로그램들, 또는 콘텐트 또는 제품들인, 방법.
  9. 제 1 항에 있어서, 상기 거리 매트릭은, 심볼 특징 값들의 각각의 가능한 값에 대한 모든 경우들의 전체적인 유사성 분류에 기초하는 두개의 아이템들(205, 210, 220)의 대응하는 심볼 특징 값들 사이의 거리에 기초하는, 방법.
  10. 제 9 항에 있어서, 상기 심볼 특징들 사이의 거리는 VDM(Value Difference Metric) 기술을 사용하여 계산되는, 방법.
  11. 제 1 항에 있어서, 각각의 상기 k 클러스터들에 대한 적어도 하나의 평균 아이템을 식별하는 단계는,
    상기 아이템들(205, 210, 220) 각각의 편차를 계산하는 단계; 및
    평균 심볼 값으로서 상기 편차를 최소화하는 적어도 하나의 아이템을 선택하는 단계를 더 포함하는, 방법.
  12. 제 1 항에 있어서, 각각의 상기 k 클러스터들(J)에 대한 적어도 하나의 평균 아이템을 식별하는 단계는,
    상기 심볼 속성들 각각의 상기 가능한 심볼 값들(xμ) 각각에 대한 상기 클러스터들(J)의 각각의 편차를 계산하는 단계; 및
    각각의 상기 심볼 속성들에 대하여 평균 심볼 값으로서 상기 편차를 최소화하는 적어도 하나의 심볼 값(xμ)을 선택하는 단계를 더 포함하는, 방법.
  13. 제 1 항에 있어서, 상기 평균은 다수의 아이템들(205, 210, 220)로 구성되고 상기 제삼자 선택 이력(130)의 주어진 아이템에 대한 상기 거리 매트릭은 상기 주어진 아이템 및 상기 평균을 포함하는 각각의 아이템 사이의 거리에 기초하는, 방법.
  14. 적어도 하나의 제삼자에 의한 선택 이력(130)에 대응하는 다수의 아이템들(205, 210, 220)을 유사한 아이템들의 그룹들로 분할하기 위한시스템(100)으로서,
    컴퓨터 판독 가능한 코드를 저장하기 위한 메모리(120); 및
    상기 메모리(120)에 동작 가능하게 결합된 프로세서(115)를 포함하고, 상기 프로세서(115)는,
    상기 제삼자 선택 이력(130)을 k 클러스터들로 분할하고,
    각각의 상기 k 클러스터들에 대하여 적어도 하나의 평균 아이템을 식별하고,
    거리 매트릭에 기초하여 상기 클러스터들 중 하나에 상기 다수의 아이템들(205, 210, 220) 각각을 할당하도록 구성되는, 시스템.
KR1020047007223A 2001-11-13 2002-10-28 복수의 아이템들을 상기 아이템들의 추천기에서 유사한 아이템들의 그룹으로 분할하기 위한 방법 및 장치 KR100925668B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/014,216 2001-11-13
US10/014,216 US6801917B2 (en) 2001-11-13 2001-11-13 Method and apparatus for partitioning a plurality of items into groups of similar items in a recommender of such items
PCT/IB2002/004505 WO2003043330A1 (en) 2001-11-13 2002-10-28 Method and apparatus for partitioning a plurality of items into groups of similar items in a recommender of such items

Publications (2)

Publication Number Publication Date
KR20040054769A true KR20040054769A (ko) 2004-06-25
KR100925668B1 KR100925668B1 (ko) 2009-11-10

Family

ID=21764160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047007223A KR100925668B1 (ko) 2001-11-13 2002-10-28 복수의 아이템들을 상기 아이템들의 추천기에서 유사한 아이템들의 그룹으로 분할하기 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US6801917B2 (ko)
EP (1) EP1449371A1 (ko)
JP (1) JP4652686B2 (ko)
KR (1) KR100925668B1 (ko)
CN (1) CN100551031C (ko)
WO (1) WO2003043330A1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002320246A (ja) * 2001-01-15 2002-10-31 Matsushita Electric Ind Co Ltd 視聴履歴利用システム及びそれに関する装置
US20030097186A1 (en) * 2001-11-13 2003-05-22 Koninklijke Philips Electronics N.V Method and apparatus for generating a stereotypical profile for recommending items of interest using feature-based clustering
US8473532B1 (en) * 2003-08-12 2013-06-25 Louisiana Tech University Research Foundation Method and apparatus for automatic organization for computer files
US7353218B2 (en) * 2003-08-14 2008-04-01 International Business Machines Corporation Methods and apparatus for clustering evolving data streams through online and offline components
CN1331078C (zh) * 2003-09-30 2007-08-08 联想(北京)有限公司 一种获取聚类距离的方法及其系统
US7293019B2 (en) * 2004-03-02 2007-11-06 Microsoft Corporation Principles and methods for personalizing newsfeeds via an analysis of information novelty and dynamics
US8078607B2 (en) * 2006-03-30 2011-12-13 Google Inc. Generating website profiles based on queries from webistes and user activities on the search results
TW200704183A (en) 2005-01-27 2007-01-16 Matrix Tv Dynamic mosaic extended electronic programming guide for television program selection and display
US7689556B2 (en) * 2005-01-31 2010-03-30 France Telecom Content navigation service
US8875196B2 (en) 2005-08-13 2014-10-28 Webtuner Corp. System for network and local content access
JP4698545B2 (ja) * 2006-09-29 2011-06-08 Necパーソナルプロダクツ株式会社 情報処理装置及び方法及びプログラム並びに記憶媒体
US8195734B1 (en) 2006-11-27 2012-06-05 The Research Foundation Of State University Of New York Combining multiple clusterings by soft correspondence
US7827170B1 (en) 2007-03-13 2010-11-02 Google Inc. Systems and methods for demoting personalized search results based on personal information
CN101071437A (zh) * 2007-03-28 2007-11-14 腾讯科技(深圳)有限公司 对用户进行分类的方法,定向广告投放方法、装置及系统
JP4524709B2 (ja) * 2007-12-03 2010-08-18 ソニー株式会社 情報処理装置および方法、並びに、プログラム
US8204987B2 (en) * 2008-12-09 2012-06-19 At&T Intellectual Property I, L.P. Providing reports of received multimedia programs
JP5445339B2 (ja) * 2010-06-08 2014-03-19 ソニー株式会社 コンテンツ推薦装置およびコンテンツ推薦方法
JP2014517611A (ja) 2011-05-17 2014-07-17 ウエブチユーナー・コーポレイシヨン 拡張性のある高精度なセンサおよびidに基づくオーディエンス計測システムのためのシステムおよび方法
KR20140035424A (ko) 2011-05-24 2014-03-21 웹튜너 코포레이션 청중 측정 시스템에서 해석학 보고 생성의 효율성 및 속도를 증가시키는 시스템 및 방법
JP2014518051A (ja) 2011-05-26 2014-07-24 ウエブチユーナー・コーポレイシヨン クライアントイベント前処理を伴う非常に拡張性のあるオーディエンス計測システム
JP2013092911A (ja) * 2011-10-26 2013-05-16 Sony Corp 情報処理装置、情報処理方法、および、プログラム
CN103425698B (zh) * 2012-05-23 2017-10-24 Tcl集团股份有限公司 挖掘电视观看模式的数据处理系统及方法
US20140201208A1 (en) * 2013-01-15 2014-07-17 Corporation Symantec Classifying Samples Using Clustering
US9615136B1 (en) * 2013-05-03 2017-04-04 Amazon Technologies, Inc. Video classification
US10592539B1 (en) 2014-07-11 2020-03-17 Twitter, Inc. Trends in a messaging platform
US10601749B1 (en) * 2014-07-11 2020-03-24 Twitter, Inc. Trends in a messaging platform
US10915543B2 (en) 2014-11-03 2021-02-09 SavantX, Inc. Systems and methods for enterprise data search and analysis
CN106296368A (zh) * 2016-08-19 2017-01-04 北京好车轰轰电子商务有限公司 一种车型推荐系统和方法
WO2018160605A1 (en) 2017-02-28 2018-09-07 SavantX, Inc. System and method for analysis and navigation of data
US11328128B2 (en) 2017-02-28 2022-05-10 SavantX, Inc. System and method for analysis and navigation of data
WO2019077013A1 (en) * 2017-10-18 2019-04-25 Soapbox Labs Ltd. METHODS AND SYSTEMS FOR PROCESSING AUDIO SIGNALS CONTAINING VOICE DATA
CN110418202A (zh) * 2018-04-27 2019-11-05 郑州市富连网电子科技有限公司深圳分公司 电视节目推荐方法、电视机和存储介质
US20220253473A1 (en) * 2021-02-05 2022-08-11 Mercari, Inc. Machine generated ontology

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544256A (en) * 1993-10-22 1996-08-06 International Business Machines Corporation Automated defect classification system
US6029195A (en) * 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5940825A (en) * 1996-10-04 1999-08-17 International Business Machines Corporation Adaptive similarity searching in sequence databases
ATE257996T1 (de) * 1997-02-21 2004-01-15 Pinpoint Inc Rundfunkdatenverteilsystem mit asymmetrischen auf-und abwärtsverbindungsbandbreiten
JP4465560B2 (ja) * 1998-11-20 2010-05-19 ソニー株式会社 情報表示制御装置及び情報表示制御装置の情報表示制御方法
JP2001157191A (ja) * 1999-11-30 2001-06-08 Victor Co Of Japan Ltd 多チャンネル番組配信におけるチャンネル紹介方法及びチャンネル紹介装置
US20020116710A1 (en) * 2001-02-22 2002-08-22 Schaffer James David Television viewer profile initializer and related methods

Also Published As

Publication number Publication date
JP4652686B2 (ja) 2011-03-16
WO2003043330A1 (en) 2003-05-22
CN1586075A (zh) 2005-02-23
KR100925668B1 (ko) 2009-11-10
EP1449371A1 (en) 2004-08-25
JP2005510146A (ja) 2005-04-14
US6801917B2 (en) 2004-10-05
US20030097353A1 (en) 2003-05-22
CN100551031C (zh) 2009-10-14

Similar Documents

Publication Publication Date Title
KR100925668B1 (ko) 복수의 아이템들을 상기 아이템들의 추천기에서 유사한 아이템들의 그룹으로 분할하기 위한 방법 및 장치
KR100953394B1 (ko) 아이템들의 추천기에서 아이템들의 근접도를 평가하기위한 방법 및 장치
KR20040054772A (ko) 특성 기반 클러스터링을 이용하여 관심있는 아이템들을추천하기 위한 스테레오형 프로파일 발생 방법 및 장치
KR20040054770A (ko) 아이템 기반 클러스터링을 사용하여 관심있는 아이템들을추천하기 위한 스테레오타입 프로파일을 생성하기 위한방법 및 장치
US20040098744A1 (en) Creation of a stereotypical profile via image based clustering
KR100693770B1 (ko) 결정 트리를 사용하여 텔레비전 프로그램을 추천하기 위한 방법 및 장치
KR100972557B1 (ko) 제 3자들의 스테레오타입 선호들에 기초하여 관심 있는 항목들을 추천하는 방법 및 장치
WO2003107669A1 (en) Method and apparatus for an adaptive stereotypical profile for recommending items representing a user's interests
US20040003401A1 (en) Method and apparatus for using cluster compactness as a measure for generation of additional clusters for stereotyping programs
Smyth et al. Data mining support for case-based collaborative recommendation

Legal Events

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

Payment date: 20121026

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131105

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141027

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151021

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161024

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171027

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191031

Year of fee payment: 11