KR20050016198A - 정보처리 장치와 방법, 프로그램 및 기록 매체 - Google Patents

정보처리 장치와 방법, 프로그램 및 기록 매체

Info

Publication number
KR20050016198A
KR20050016198A KR1020040062007A KR20040062007A KR20050016198A KR 20050016198 A KR20050016198 A KR 20050016198A KR 1020040062007 A KR1020040062007 A KR 1020040062007A KR 20040062007 A KR20040062007 A KR 20040062007A KR 20050016198 A KR20050016198 A KR 20050016198A
Authority
KR
South Korea
Prior art keywords
data
user
database
information
program
Prior art date
Application number
KR1020040062007A
Other languages
English (en)
Other versions
KR101061234B1 (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 KR20050016198A publication Critical patent/KR20050016198A/ko
Application granted granted Critical
Publication of KR101061234B1 publication Critical patent/KR101061234B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • 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
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • 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/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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
    • 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/47End-user applications
    • 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/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4821End-user interface for program selection using a grid, e.g. sorted out by channel and broadcast time
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

유저 기호에 맞는 정보를 작성하고, 유저의 기호에 맞는 정보를 제공할 수 있도록 한다.
유저A가 프로그램X를 시청하였다. 프로그램X에는 인물A와 인물B가 출연하고 있었다. 유저A의 기호 데이터를 관리하는 T_UM_VALUE 데이터베이스에는 인물A에 대한 유저A의 수치화된 값이 기록입력되어 있다. 이 경우, 유저A가 프로그램X를 시청하는 것에 의해, 인물A에 대한 값이 갱신되고, ScoreA’로 갱신된다. 유저A의 T_UM _VALUE 데이터베이스에는 인물B에 대한 유저A의 수치화된 값은 기록입력되어 있지 않다. 이 경우, 인물B라는 요소와 인물B에 할당되어 있는 ScoreB가 새로 T_UM _VALUE 데이터베이스에 기록입력된다. 본 발명은 EPG를 제공하는 측의 서버에 적용할 수가 있다.

Description

정보처리 장치와 방법, 프로그램 및 기록 매체{INFORMATION PROCESSING APPARATUS, METHOD AND PROGRAM, AND RECORDING MEDIA}
본 발명은 정보처리 장치와 방법, 프로그램 및 기록 매체에 관한 것으로, 특히 유저의 기호에 의거한 정보를 제공할 때에 이용하기에 적합한 정보처리 장치와 방법, 프로그램 및 기록 매체에 관한 것이다.
근래, 인터넷 등의 네트워크에 접속할 수 있는 기기가 증가하여, 종래, 네트워크를 거쳐서는 제공되지 않았던 서비스가 제공되고, 그들 서비스를 받는 일이 일반적으로 되고 있다. 예를 들면, 텔레비젼 수상기 등은 텔레비젼 프로그램의 데이터를 수신한다는 종래부터 있는 기능에 더하여, 네트워크에 접속하여 소정의 서버로부터 EPG(Electronic Program Guide)라 불리우는 전자적인 프로그램 표를 취득하는 기능을 가지고 있는 것도 있다. 또한, 취득된 EPG 상에서 녹화 예약 등도 할 수 있는 기능도 실현화되어 있다.
EPG는 텔레비젼 수상기 이외의, 예를 들면 퍼스널컴퓨터 등으로도 취득할 수 있고, 열람할 수 있도록 되어 있다.
도 1에 EPG의 하나의 예를 도시한다. EPG는 상술한 바와 같이, 텔레비젼 수상기나 퍼스널컴퓨터에 의해 취득되지만, 그 취득된 EPG는 표시부(11)에 표시된다. EPG는 방송국, 방송 시간, 방송되는 프로그램이 대응지어진 매트릭스 형상의 표로 표시되는 경우가 많다. 예를 들면, 도 1에 있어서는 “방송국 A”의 “12시”대에 방송되고 있는 프로그램은 “프로그램A-1”이라고 하는 정보가 표시되어 있다. 이와 같이, EPG에는 프로그램을 방송하는 방송국, 방송되는 시간 및 방송되는 프로그램이 관련지어지고, 그 관련지음을 유저가 인식하기 쉬운 표시가 행해진다(예를 들면, 비특허문헌 1 참조).
이와 같이, EPG에는 기본적으로 방송국, 방송 시간, 방송되는 프로그램이 관련지어진 상태로 표시되지만, 더욱이 그 EPG를 제공하는 측이 유저의 사용상의 편리함 등을 고려하여, 다른 정보도 아울러 유저 측에 제시하는 경우가 있다. 예를 들면, 도 1에 도시한 예에서는, 프로그램명이 표시되어 있는 영역 내에 “예약”이라는 예약 버튼(21)이 표시되어 있다. 이 예약 버튼(21)은, 유저가 그 프로그램을 녹화 예약하고 싶을 때에 조작되는 버튼으로서 설정되어 있다. EPG를 표시하고 있는 단말이, 퍼스널컴퓨터와 같은 기억부(비 도시)를 가지는 단말인 경우, 이 예약 버튼(21)이 조작되면 그 내장하는 기억부에 대응되는 프로그램이 기억(녹화)되는 바와 같은 설정이 행해진다.
또한 도 1에 도시한 예에서는, 권장 버튼(22)과 랭킹 버튼(23)도 표시되어 있다. 권장 버튼(22)은 EPG를 제공하는 측이 권장하는 프로그램의 정보를 열람했을 때에 조작되는 버튼이다. 랭킹 버튼(23)은 녹화 예약된 수나 시청률 등에 의거한 정보를 열람하고 싶을 때에 조작되는 버튼이다.
이들 버튼은 유저가 조작부(비 도시)를 조작하고, 커서(31)가 소망의 버튼 위에 위치한 상태에서, 클릭 등의 소정의 조작이 행해지는 것에 의해 조작되도록 구성되어 있다.
비특허문헌 1 : 소니 주식회사, 텔레비전 왕국, [online], [평성 15년 7월 30일 검색], 인터넷<URL:http://www.so-net.ne.jp/tv/index.html>
도 1에 도시한 EPG에 있어서, 예를 들면 권장 버튼(22)이 조작되면 도 2에 도시한 바와 같은 화면에 표시부(11)의 표시가 전환된다. 도 2에 도시한 화면에는 복수의 프로그램명과, 그 프로그램명에 대응하는 프로그램 내용이 표시되어 있다. 이 권장 버튼(22)이 조작되었을 때에 표시되는 화면은, EPG를 제공하는 측이 미리 작성한 것이다. 즉, 권장의 기준은 EPG를 제공하는 측에 있고, EPG의 제공을 받는 유저 측에는 없다.
따라서, EPG의 하나의 서비스로서 제공되고 있는 권장 프로그램의 정보 등은 복수의 유저를 대상으로 한 것으로, 유저 개인을 대상으로 한 것이 아니었다. 즉, 개개의 유저의 기호를 고려한 권장 프로그램의 정보를 제공하는 것은 곤란하다는 과제가 있었다. 이것은 권장 프로그램의 정보 이외의 정보를 제공할 때에도 마찬가지의 과제가 있었다.
본 발명은 이와 같은 상황을 감안하여 이루어진 것으로, 개개의 유저의 기호등을 고려하고, 보다 적절한 정보를 유저에게 제공할 수 있도록 하는 것을 목적으로 한다.
본 발명의 정보처리 장치는 유저의 기호에 관한 제 1 데이터를 관리하는 제 1 관리 수단과, 정보에 관한 제 2 데이터를 관리하는 제 2 관리 수단과, 유저가 이용한 정보에 관한 제 2 데이터를 추출하는 추출 수단과, 추출 수단에 의해 추출된 제 2 데이터를 이용해서 제 1 데이터를 갱신하는 갱신 수단을 구비하고, 갱신 수단은 제 2 데이터가 제 1 데이터 내에 존재하고 있는 경우, 그 존재하고 있는 제 1 데이터를 제 2 데이터를 이용해서 갱신하고, 제 2 데이터가 제 1 데이터 내에 존재하고 있지 않는 경우, 제 2 데이터를 제 1 데이터에 추가하는 것을 특징으로 한다.
상기 제 1 관리 수단은, 제 1 데이터로서 제 1 요소와 그 제 1 요소에 관하여 유저가 가지는 수치화된 제 1 값을 관련지어서 관리하고, 제 2 관리 수단은 제 2 데이터로서 정보에 관한 제 2 요소와 그 제 2 요소에 관하여 정보가 가지는 수치화된 제 2 값을 관련지어서 관리하며, 갱신 수단은 제 2 데이터 내의 제 2 요소와 일치하는 제 1 요소가 제 1 데이터 내에 존재하고 있는 경우, 제 1 값과 제 2 값을 이용해서 새로운 제 1 값을 산출하고, 그 새로운 제 1 값을 제 1 데이터에 기록입력하고, 제 2 데이터 내의 제 2 요소와 일치하는 제 1 요소가 제 1 데이터 내에 존재하고 있지 않는 경우, 제 2 요소와 제 2 값을 제 1 데이터에 추가하도록 할 수가 있다.
본 발명의 정보처리 방법은, 데이터를 관리하기 위한 기억 수단과, 기억 수단에 기억되어 있는 데이터를 이용해서 소정의 처리를 실행하는 제어 수단을 적어도 구비한 정보처리 장치의 정보처리 방법으로서, 유저의 기호에 관한 제 1 데이터를 관리하는 제 1 관리 스텝과, 정보에 관한 제 2 데이터를 관리하는 제 2 관리 스텝과, 유저가 이용한 정보에 관한 제 2 데이터를 추출하는 추출 스텝과, 추출 스텝의 처리에서 추출된 제 2 데이터를 이용해서 제 1 데이터를 갱신하는 갱신 스텝을 포함하고, 갱신 스텝의 처리는 제 2 데이터가 제 1 데이터 내에 존재하고 있는 경우, 그 존재하고 있는 제 1 데이터를 제 2 데이터를 이용해서 갱신하고, 제 2 데이터가 제 1 데이터 내에 존재하고 있지 않는 경우, 제 2 데이터를 제 1 데이터에 추가하는 것을 특징으로 한다.
본 발명의 프로그램은 데이터를 관리하기 위한 기억 수단과, 기억 수단에 기억되어 있는 데이터를 이용해서 소정의 처리를 실행하는 제어 수단을 적어도 구비한 정보처리 장치의 프로그램으로서, 유저의 기호에 관한 제 1 데이터를 관리하는 제 1 관리 스텝과, 정보에 관한 제 2 데이터를 관리하는 제 2 관리 스텝과, 유저가 이용한 정보에 관한 제 2 데이터를 추출하는 추출 스텝과, 추출 스텝의 처리에서 추출된 제 2 데이터를 이용해서 제 1 데이터를 갱신하는 갱신 스텝을 포함하고, 갱신 스텝의 처리는, 제 2 데이터가 제 1 데이터 내에 존재하고 있는 경우, 그 존재하고 있는 제 1 데이터를 제 2 데이터를 이용해서 갱신하고, 제 2 데이터가 제 1 데이터 내에 존재하고 있지 않는 경우, 제 2 데이터를 제 1 데이터에 추가하는 것을 특징으로 한다.
본 발명의 기록 매체는 상기 프로그램을 기록하고 있는 것을 특징으로 한다.
본 발명의 정보처리 장치 및 방법 및 프로그램에 있어서는, 유저의 기호에 관한 데이터와 정보에 관한 데이터가 관리되고, 유저가 소정의 정보를 이용한 경우, 그 유저가 이용한 정보에 관련지어져 있는 모든 요소가 판독출력되며, 유저의 기호에 관한 데이터가 판독출력된 요소 마다 변경, 추가된다. 따라서, 유저의 기호에 관한 데이터가 정보를 이용할 때마다 갱신되어, 보다 유저의 기호에 맞는 것으로 된다.
(실시예)
이하에 본 발명의 실시예를 설명하지만, 청구항에 기재된 발명 특정 사항과 발명의 실시예에 있어서의 구체예와의 대응 관계를 예시하면 다음과 같이 된다. 이 기재는, 청구항에 기재되어 있는 발명을 서포트하는 구체예가 발명의 실시예에 기재되어 있는 것을 확인하기 위한 것이다. 따라서, 발명의 실시예 중에 기재되어 있지만, 발명 특정 사항에 대응하는 것으로서, 여기에는 기재되어 있지 않은 구체예가 있다고 하더라도, 그것은 그 구체예가 그 발명 특정 사항에 대응하는 것이 아님을 의미하는 것은 아니다. 반대로, 구체예가 발명 특정 사항에 대응하는 것으로서 여기에 기재되어 있다고 하더라도, 그것은 그 구체예가 그 발명 특정 사항 이외의 발명 특정 사항에는 대응하지 않는 것임을 의미하는 것은 아니다.
더욱이, 이 기재는 발명의 실시예에 기재되어 있는 구체예에 대응하는 발명이 청구항에 모두 기재되어 있음을 의미하는 것은 아니다. 바꾸어 말하자면, 이 기재는 발명의 실시예에 기재되어 있는 구체예에 대응하는 발명으로서, 본 출원의 청구항에는 기재되어 있지 않은 발명의 존재, 즉 장래, 분할 출원, 보정, 국내 우선등에 의해 추가되는 발명의 존재를 부정하는 것은 아니다.
본 발명의 정보처리 장치{예를 들면, 도 9의 서버(52)}는 유저의 기호에 관한 제 1 데이터{예를 들면, 도 30의 T_UM_VALUE 데이터베이스(317)}를 관리하는 제 1 관리 수단{예를 들면, 도 11의 타겟 데이터베이스(252)}과, 정보에 관한 제 2 데이터{예를 들면, 도 29의 T_PRG_VALUE 데이터베이스(316)}를 관리하는 제 2 관리 수단{예를 들면, 도 11의 타겟 데이터베이스(252)}과, 유저가 이용한 정보에 관한 제 2 데이터를 추출하는 추출 수단{예를 들면, 도 33의 스텝 S51 내지 S52의 처리를 실행하는 도 9의 CPU(201)}과, 추출 수단에 의해 추출된 제 2 데이터를 이용해서 제 1 데이터를 갱신하는 갱신 수단{예를 들면, 도 33의 스텝 S53 내지 S54의 처리를 실행하는 도 9의 CPU(201)}을 구비하고, 갱신 수단은 제 2 데이터가 제 1 데이터 내에 존재하고 있는 경우, 그 존재하고 있는 제 1 데이터를 제 2 데이터를 이용해서 갱신(예를 들면, 도 33의 플로우차트의 처리)하고, 제 2 데이터가 제 1 데이터 내에 존재하고 있지 않은 경우, 제 2 데이터를 제 1 데이터에 추가하는(예를 들면, 도 34의 플로우차트의 처리) 것을 특징으로 한다.
이하에, 본 발명의 실시예에 대해 도면을 참조해서 설명한다.
이하의 설명에 있어서는, 프로그램 정보를 제공하는 EPG(Electronic Program Guide)를 취급하는 시스템을 예로 들어 설명하지만, 다른 정보를 취급하는 시스템에 있어서도 본 발명을 적용하는 것은 가능하다.
본 발명의 실시예에 대해 설명하지만, 그 설명의 순번에 대해서 기재해 둔다. 우선 본 발명을 적용하는 시스템의 구성에 대해서 설명을 더한다. 다음에, 그와 같은 시스템에 있어서 수수(授受)되는 EPG 데이터에 대해 설명을 더하지만, 먼저 EPG 데이터를 취득한 유저 측의 유저 단말(53-1 내지 53-N)(도 3)에 표시되는 EPG의 특징을 설명한 후, 그와 같은 특징을 실현하기 위한 데이터 구성 등에 대해서, EPG 데이터를 제공하는 측의 서버(52)(도 3)의 구성을 포함하여 설명을 더한다.
도 3은 본 발명을 적용한 시스템의 하나의 실시예의 구성을 도시하는 도면이다.
네트워크(51)는 인터넷이나 LAN(Local Area Network)으로 구성되고, 접속되어 있는 기기끼리 데이터의 수수를 행할 때에 이용된다. 네트워크(51)에는 서버 (52)가 접속되어 있다. 서버(52)는 EPG를 작성, 제공하는 측의 관리자가 관리하고 있는 단말이다. 서버(52)로부터는 유저 단말(53-1 내지 53-N)로부터의 요구에 대응하여, 적절히 EPG의 데이터가 네트워크(51)를 거쳐서 제공된다.
유저 단말(53-1 내지 53-N)은 각각, 방송국(54)으로부터 방송되는 텔레비전 방송을 수신하는 기능도 가진다. 유저 단말(53-1 내지 53-N)은 각각, 네트워크(51)를 거쳐서 서버(52)와 접속하는 기능을 가지고, 방송국(54)으로부터의 프로그램을 수신하는 기능을 가지는 텔레비젼 수상기나 퍼스널컴퓨터이다. 또는, 네트워크(51)를 거쳐서 서버(52)와 접속하는 기능을 가지는 퍼스널컴퓨터와, 방송국(54)으로부터의 프로그램을 수신하는 기능을 가지는 텔레비젼 수상기라는 2개의 단말로 구성된다. 더욱이, 유저 단말(53-1 내지 53-N)은 각각, 프로그램을 녹화하기 위한 녹화 장치가 포함되는 구성으로 되어 있어도 좋다.
즉, 유저 단말(53-1 내지 53-N)은 각각, 서버(52)와 데이터의 수수를 행하는 기능을 가지고, 방송국(54)으로부터의 텔레비전 방송용의 프로그램을 수신하는 기능을 적어도 가지고 있는, 1개의 장치로 구성되는 단말, 또는 복수의 장치로 구성되고, 그들 장치 사이에서 데이터의 수수를 행할 수 있는 구성으로 되어 있는 단말이다.
이하의 설명에 있어서, 유저 단말(53-1 내지 53-N)을 개개로 구별할 필요가 없는 경우, 단지 유저 단말(53)이라고 기술한다. 또한, 다른 장치에 있어서도 마찬가지로 기술한다. 더욱이, 도 3에 있어서는 서버(52)나 방송국(54)을 각각 1대 밖에 도시하지 않았지만, 설명의 형편 상 그와 같이 도시했을 뿐으로, 실제의 구성을 한정하는 것은 아니고, 복수 대 존재하고 있어도 본 발명을 적용할 수 있다는 것에는 변함이 없다.
도 4는, 유저 단말(53)의 내부 구성예를 도시하는 도면이다. 여기에서는, 유저 단말(53)은 서버(52)와 데이터의 수수를 행하고, 방송국(54)으로부터의 프로그램을 수신할 수가 있는 1대의 단말인 것으로 하여 설명한다. 또한 그와 같은 단말은, 퍼스널컴퓨터에 의해 구성할 수 있기 때문에, 여기에서는, 유저 단말(53)은 퍼스널컴퓨터인 것으로 하여 설명한다. 또, 퍼스널컴퓨터란 데스크탑형이나 노트형인 것을 포함하는 것은 물론이지만, PDA(Personal Digital Assistance)나 휴대전화 등도 포함한다.
유저 단말(53)의 CPU(Central Processing Unit)(71)는 ROM(Read Only Memory )(72)에 기억되어 있는 프로그램에 따라 각종 처리를 실행한다. RAM(Random Access Memory)(73)에는, CPU(71)가 각종 처리를 실행하는데 있어서 필요한 데이터나 프로그램 등이 적절히 기억된다. 입출력 인터페이스(75)는 키보드나 마우스로 구성되는 입력부(76)가 접속되고, 입력부(76)에 입력된 신호를 CPU(71)에 출력한다. 또한, 입출력 인터페이스(75)에는 디스플레이나 스피커 등으로 구성되는 출력부(77)도 접속되어 있다.
더욱이, 입출력 인터페이스(75)에는 하드디스크 등으로 구성되는 기억부 (78), 및 네트워크(51)를 거쳐서 다른 장치{예를 들면, 서버(52)}와 데이터의 수수를 행하는 통신부(79)도 접속되어 있다. 또, 상세한 것은 도시하지 않지만, 통신부 (79)에는 방송국(54)으로부터의 프로그램을 수신하고, 처리하기 위한 안테나, 튜너등도 포함된다. 드라이브(80)는 자기 디스크(91), 광 디스크(92), 광자기 디스크 (93), 반도체 메모리(94) 등의 기록 매체로부터 데이터를 판독출력하거나, 데이터를 기록입력하거나 할 때에 시용된다.
도 5의 플로우차트를 참조하여, 유저 단말(53)의 기본적인 동작에 대해 설명한다. 여기에서는, 서버(52)에 의해 관리되고 있는 EPG를 취득하고, 처리하는 경우를 예로 들어 설명한다. 이하의 설명에 있어서는, EPG란 EPG를 표시시키기 위한 데이터, 및 EPG에 부수하는 데이터를 포함하는 것으로 한다.
스텝 S11에 있어서, 유저 단말(53)은 네트워크(51)(도 3)을 거쳐서 서버(52)에 액세스한다. 이 액세스의 처리는 소정의 브라우저가 기동되고, 다이얼 업 방식 등의 소정의 방식{유저가 ISP(Internet Service Provider)와 계약한 내용에 따른 방식}에 의해 행해진다.
액세스가 완료되면, 스텝 S12에서 로그인의 처리가 행해진다. 이 처리는 유저가 입력부(76)를 조작하여 유저명(名)이나 패스워드를 입력하고, 그 입력된 정보가 통신부(79)를 거쳐서 서버(52)에 대해 송신되는 것에 의해 행해진다.
서버(52)는 유저 단말(53)로부터의 액세스(또는 로그인)를 받으면, 관리하고 있는 EPG의 초기 화면의 데이터를, 네트워크(51)을 거쳐서 액세스해 온 유저 단말 (53)에 대해 제공한다. 물론, EPG가 제공되는 것은 로그인의 처리가 정상적으로 행해졌을 때이고, 정상적으로 행해지지 않았을 때에는 소정의 에러 처리가 실행된다.
서버(52) 측으로부터 제공된 데이터를, 유저 단말(53)은 스텝 S13의 처리로서 수신한다. CPU(71)(도 4)는 통신부(79)에 의해 수신된 데이터에 의거하여 출력부(77)로서의 디스플레이(101)(도 6) 상에 EPG의 초기 화면(도 6을 참조하여 후술 한다)을 표시시킨다. 유저는 디스플레이(101) 상에 표시된 초기 화면을 열람하고, 그 화면 내에 설치되어 있는 복수의 버튼(링크처나 커맨드가 관련지어져 있는 버튼)을 조작한다.
그와 같은 버튼의 조작이 행해지면, 스텝 S14에서 그 조작된 버튼에 대응하는 데이터(지시)가 서버(52)에 송신된다. 그리고, 그 지시를 수신한 서버(52)로부터의 응답으로서의 데이터가 스텝 S15에서 수신된다. 그리고, 스텝 S13의 처리와 마찬가지로, CPU(71)가 수신된 데이터를 처리하는 것에 의해, 디스플레이(101) 상에 소정의 화면이 표시된다. 스텝 S14, S15의 처리는 필요에 따라서 반복해서 행해진다.
도 6은, 스텝 S13에서 디스플레이(101) 상에 표시되는 초기 화면의 하나의 예를 도시하는 도면이다. 도 6에 도시한 디스플레이(101) 상에는 EPG가 표시되어 있지만, 그 EPG의 구성은 기본적으로 방송국, 방송 시간, 방송되는 프로그램이 관련지어진 상태로 표시되어 있다. 예를 들면, 도 6에 도시한 EPG에 있어서는 “방송국 A”에서 “12시”대에 방송되는 것은 “프로그램A-1” 인 것이 도시되어 있다. 이와 같이, 복수의 방송국, 그들 방송국에서 방송되는 프로그램, 및 그들 프로그램이 방송되는 시간이 각각 관련지어지고, 유저가 한번 봐서 인식할 수 있는 바와 같은 표시 형태로 표시된다.
또한, 도 6에 도시한 바와 같이, 예를 들면 “프로그램A-1” 이라는 문자가 표시되어 있는 영역 내에는 예약 버튼(111)이 표시되어 있다. 이 예약 버튼(111)이 조작되면, 대응하는 프로그램이 기억부(78)(도 4)에 기억(녹화)되는 설정이 행해진다.
더욱이, 도 6에 도시한 바와 같이, 예를 들면 “프로그램A-1”라는 문자가 표시되어 있는 영역 내에는 권장 마크(112)가 표시되어 있다. 이 권장 마크(112)는 액세스해 온 유저에 대해서 권장하는 프로그램에 붙여지는 마크이다. 여기서, “액세스해 온 유저에 대해서 권장하는 프로그램”이란, 액세스해 온 유저마다 그 유저에 적합한 프로그램이 제공되고, 유저마다 다른 프로그램이 권장될 가능성이 있다는 것을 의미한다.
바꾸어 말하자면, 권장되는 프로그램은 서버(52)에 액세스해 온 유저 전원(全員)에 공통된 것이 아니고, 따라서 서버(52) 측에서 미리 권장 프로그램으로서 설정되어 있는 프로그램이 아니며, 액세스해 온 유저의 기호에 맞추어 유저가 액세스해 왔을 때에 유저마다 작성되는 정보이다. 이와 같이, 액세스해 온 유저의 기호에 맞는 프로그램이 권장으로서 유저 측에 제시되는 것은 본 발명의 하나의 특징이며, 이와 같은 특징을 실현하기 위해 서버(52)는 후술하는 바와 같은 데이터베이스를 가지고, 그 데이터베이스를 이용한 처리를 실행한다.
이 권장 마크(112)는 도 6에 도시한 예에서는, 별(星) 마크로 표시되어 있지만, 그 마크의 형상 등은 어떠한 것이어도 좋다. 또한, 별 마크 등으로 도시되는 경우, 그 마크의 수에 따라서 권장도가 다르도록 해도 좋다. 예를 들면, 도 6에 있어서는 “프로그램A-1”의 권장 마크(112)는 별 마크가 1개이지만, “프로그램B-1”의 권장 마크(112)는 별 마크가 3개이며, “프로그램B-1” 쪽이 “프로그램A-1”보다 권장되고 있음이 도시되어 있다.
이 권장 마크(112)(별 마크의 수)에 관한 데이터는, 서버(52)측에서 유저의 기호에 관한 데이터에 따라 설정되고, EPG의 초기 화면의 데이터에 포함되어 송신된다. 또는, 서버(52) 측으로부터 송신되어 온 EPG의 초기 화면의 데이터와, 유저 단말(53) 측에서 관리하고 있는 유저의 기호에 관한 데이터에 따라 설정되도록 해도 좋다. 이와 같은 설정 방법의 차이는, 유저의 기호에 관한 데이터(이하, 적절히 기호 데이터라고 기술한다)를 서버(52) 측에서 관리하는지, 유저 단말(53) 측에서 관리하는지에 따라 생기는 것이다. 여기에서는, 우선 서버(52) 측에서 기호 데이터를 관리하는 것으로 하여 설명한다.
이와 같은 EPG의 초기 화면에서, 유저의 기호에 적합한 프로그램에 대해 권장 마크(112)가 표시되도록 하는 것은, 서버(52)에 유저 단말(53)이 액세스된 시점에서, 액세스해 온 유저를 특정하기 위한 인증 처리(로그인) 등이 행해지는 것을 전제로 하고 있다. 그러나, 예를 들면 초기 화면으로서 도 1에 도시한 바와 같은 화면이 유저에게 제공되고, 그 후 로그인 처리가 실행된 시점에서, 도 6에 도시한 바와 같은 화면이 유저에게 제공되도록 해도 좋다.
권장 마크(112)는 권장의 프로그램{서버(52) 측의 처리로서, 소정의 조건을 만족시키는 것으로 하여 검출된 프로그램}으로 된 프로그램 명의 영역에 반드시 표시되도록 해도 좋다. 반드시 표시되도록 한 경우, 동일한 방송 시간대에 방송되는 복수의 프로그램에 권장 마크(112)가 각각 표시되는 바와 같은 상황이 발생할 가능성이 있다. 그러나, 통상, 유저는 1개의 시간대에는 1개의 프로그램밖에 시청할 수 없고, 또한 유저가 소유하는 1개의 장치에서는, 1개의 시간대에는 1개의 프로그램밖에 녹화할 수 없기 때문에, 1개의 시간대에 2개 이상의 권장 마크(112)를 표시시켜도, 결과적으로는 그 중의 2개의 프로그램밖에 시청할 수 없다고 생각된다.
또한, 권장 마크(112)가 표시되는 프로그램이 많으면 권장 마크(112)를 표시시키는 의미가 적어진다고 생각된다. 극단적인 예이지만, 모든 프로그램에 대해서 권장 마크(112)가 표시된 바와 같은 경우(이와 같은 상황이 발생되는 경우도 생각된다), 권장 마크(112)가 실질상 의미가 없는 것으로 되어 버린다.
이들 사실을 고려하면, 권장 마크(112)가 표시되는 프로그램수에 어떠한 제한을 두도록 하는 것이 좋다. 예를 들면, 동일한 시간대에는 권장 마크(112)는 2개의 프로그램 내로 하거나, 1일 분의 EPG 내에는, 권장 마크(112)는 20개의 프로그램 내로 하는 등의 제어가 행해지도록 해도 좋다.
도 6에 도시한 EPG의 화면 내에는 권장 버튼(113)과 랭킹 버튼(114)도 표시되어 있다. 권장 버튼(113)은, 추천이 되는 프로그램을 열람했을 때에 조작되는 버튼이다. 랭킹 버튼(114)은 녹화 예약된 수나 시청률 등에 의거한 프로그램 소개를 열람하고 싶을 때에 조작되는 버튼이다.
이들 버튼은, 유저가 입력부(77)(도 4)을 조작하고, 커서(121)를 소망하는 버튼 위에 위치시킨 상태에서, 클릭 등의 소정의 조작이 행해지는 것에 의해 조작되도록 구성되어 있다.
권장 버튼(113)이 조작되면, 도 7에 도시한 바와 같은 화면에 디스플레이 (101) 상의 화면이 전환된다. 도 7에 도시한 화면예에서는 1개의 프로그램 분의 화면 밖에 도시하지 않지만, 권장이 되는 1개의 프로그램의 상세 정보를 제시하는 화면(이하, 적절히 권장 화면이라고 기술한다)은, 디스플레이(101) 상에 복수, 마찬가지의 형식으로 표시된다. 권장 화면에는, 프로그램명 표시부(151), 방송 시간표시부(152), 내용 표시부(153), 출연자 표시부(154), 이유 표시부(155) 및 권장도 표시부(156)가 설치되어 있다.
프로그램명 표시부(151)에는 권장이 되는 프로그램명이 표시되고, 방송 시간표시부(152)에는 그 프로그램이 방송되는 일시(日時)가 표시되며, 내용 표시부 (153)에는 그 프로그램의 내용이 간결한 문장으로 표시되고, 출연자 표시부(154)에는 그 프로그램에 출연하는 주요 출연자의 이름이 표시된다. 그리고, 이유 표시부 (155)에는 왜 그 프로그램이 권장되는가를 유저에게 인식시키는 권장 이유가 표시되며, 권장도 표시부(156)에는 권장 이유로부터 종합적으로 산출되는 권장도가 표시된다.
도 7에 도시한 예에서는, 권장도 표시부(156)에는 점수가 표시되어 있지만, 도 6에 도시한 권장 마크(112)와 마찬가지로 별 마크 등의 마크(및, 그 마크의 개수)로 표시되도록 해도 좋다.
도 7에 도시한 권장 화면 중, 이유 표시부(155)를 표시시키는 것은 본 발명의 하나의 특징이다. 이와 같은 특징을 가지는 것에 의해, 유저는 왜 그 프로그램이 권장으로서 제공되고 있는지, 자신의 어떠한 기호에 대해서 매칭되어 있는 것인지 등을 인식할 수가 있다. 그리고, 유저는 이와 같은 이유를 열람하는 것에 의해, 시청(녹화)하고 싶은 프로그램을 선택하기 쉽게(자신의 기호에 맞는 프로그램을 찾아내기 쉽게) 된다.
또한 본 발명의 하나의 특징으로서는, 이와 같은 권장 화면은 기존의 것이 제공되는 것이 아니라{서버(52) 측이, 액세스해 온 유저 모두에 대해서 마찬가지의 것을 제공하는 것이 아니라}, 액세스해 온 유저 기호의 데이터를 기초로, 그 유저의 기호에 맞는 프로그램이 선택되고, 제공되는 점이다. 이와 같은 특징을 위해 유저 측으로서는 제공되는 정보에 신뢰성을 가질 수가 있고, 소망의 프로그램을 검색하기 쉬워지며, 사용하기 편리한 EPG가 제공되고 있다고 느끼는 것이 가능해진다. 따라서, 서버(52)에의 액세스가 증가된다고 생각되고, 회원수 등을 증가시키는 것이 가능하게 된다고 생각된다.
도 7에 도시한 권장 화면에 대해서 더 설명을 하자면, 이유 표시부(155)에는 복수의 정보가 표시된다. 표시되는 내용은, 예를 들면 도 7에 있어서는, “자주 보는 출연자”, “등록 장르”, “자주 보는 키워드”, “동일한 프로그램을 녹화한 사람의 흥미” 등의 항목이 있지만, 후술하는 바와 같이 다양한 항목(정보)을 생각할 수 있다. 이들 이유 표시부(155)에 표시되는 정보에 관해서는, 서버(52) 측에서 관리되고 있는 데이터베이스의 내용 등에 관련된다.
도 7에 도시한 예에서는, 예를 들면 “자주 보는 출연자”로서 「인물A」를 들 수 있고, 더욱이, 그 「인물A」에 대한 점수(도 7에서는 17.0점)가 표시되어 있다. 이 점수는, 권장으로서 서버(52) 측이 제공하는 프로그램을 검색할 때, 「출연자A」에 대해서 매칭시킨 스코어이고, 이 스코어가 높을 수록 유저의 기호에 일치하고 있다고 생각된다.
이 점수에 대해 설명을 더하면, 도 7에 도시한 예에서는 단지 17.0점으로 표시되어 있을 뿐이지만, 더욱이, 다음과 같은 상세한 표시의 형태도 생각된다. 예를 들면, “17.0점(8.9, 3.8)”과 같은 괄호 쓰기로 더욱 상세한 점수가 표시된다. 괄호 쓰기의 점수 중, 전반의“8.9”는 프로그램에 대한 가중치(후술하는 T_PRG _VALUE의 값)이고, 후반의 “3.8”은 유저에 대한 가중치(후술하는 T_UM_VALUE의 값)이다. 괄호외의 점(이 경우, 17.0점)은, 이 2개의 중요의 가중치의 값의 적(積)에 소정의 파라미터를 곱셈한 값이다.
그런데, 도 7에 도시한 바와 같이, 예를 들면 “자주 보는 출연자”라고 하는 동일한 항목에 대해서, 「인물A」, 「인물C」 및 「인물D」라는 3개의 정보가 표시되고, 각각의 정보에 대한 점수가 각각 표시되어 있는 바와 같은 경우, 이하와 같은 문제점이 있다. 도 7에 도시한 예에서는, 이유 표시부(155)에 표시되는 항목 내의 일부만을 도시한 상태를 도시하고 있지만, 복수 있는 항목의 전부가 표시되고, 각각의 항목에 대해서 복수의 정보가, 복수 행에 걸쳐서 분산적으로 표시되며, 더욱이 그들 정보마다 점수까지도 표시되게 되면 이유 표시부(155) 영역의 크기는 큰 것으로 되어 버린다. 또한, 정보를 나열해도 유저에게 있어서는 보기 쉬운 화면이라고는 말할 수 없다. 더욱이, 점수를 표시해도 그 점수로부터 유저가 얻는 정보량은 적어서(점수로부터 얻어지는 정보를 판단하는 일은 유저에게 있어서 반드시 용이한 것이라고는 생각되지 않기 때문에), 소정의 프로그램의 검색에는 그다지 의미를 가지지 않는 정보라고 생각된다.
그래서, 권장 화면을 도 8에 도시한 바와 같이 해도 좋다. 도 8에 도시한 권장 화면의 이유 표시부(155)에는, 1개의 항목에 대해 복수의 정보가 행을 변경하는 일 없이 연속적으로 표시되고, 점수는 표시되지 않도록 되어 있다. 따라서, 동일한 항목(예를 들면, “자주 보는 출연자”)이, 도 7에 도시한 예와 같이 몇 번이나 표시되는 것은 도 8에 있어서의 표시 형태가 아니다. 이와 같이 하면, 이유 표시부 (155)의 영역이 커져 버리는 것을 막을 수가 있다. 또한, 정보가 컴팩트하게 정리되어 있기 때문에, 유저는 그들 정보를 보기 쉽고, 각 정보로부터 얻어지는 정보는 많다고 생각된다. 따라서, 유저가 소망의 프로그램을 보다 검색하기 쉬워진다고 생각된다.
도 7 또는 도 8에 도시한 권장 화면 중, 유저에게 제시되는 화면은 어느 것도 좋다. 또한, 표시 형태 등은 도 7 또는 도 8에 도시한 화면에 한정되는 것은 아니기 때문에, 어떠한 형태, 예를 들면 각 표시부의 순서가 바뀐 상태로 표시된다. 도시하지 않은 표시부가 설치되는 형태 등으로 정보가 제시되도록 해도 좋다. 그러나, 본 발명을 적용하는 것에 의해, 권장 화면 및 그 권장 화면이 표시되기 전에 표시되는 화면(상술한 실시예에서는, 초기 화면이라고 칭한 화면)에 있어서는, 이하와 같은 특징이 적어도 있다.
권장 화면만, 또는 초기 화면과 권장 화면은 유저의 기호를 고려한 화면(정보)이 되어 있고, 유저마다 적합한 정보가 제시된다. 그 제시되는 정보는 보기 쉬운 형태로 제시된다. 이와 같은 특징을 실현하기 위한 서버(52)의 구성, 관리되는 데이터베이스, 그 데이터베이스가 이용된 처리 등에 대해 이하에 설명을 더한다.
이하의 설명의 개략을 밝혀 두자면, 우선 서버(52)의 내부 구성에 대해 설명을 더하고, 그 다음에 데이터베이스에 대한 설명을 더한다. 그리고, 그 데이터베이스에 의해 관리되는 데이터의 작성에 대해 설명을 더하고, 작성된 데이터를 이용한 처리, 특히 권장 화면에 관련된 처리에 대해 설명을 더한다.
도 9는 서버(52)의 내부 구성예를 도시하는 도면이다. 서버(52)는 퍼스널컴퓨터 등으로 구성하는 것이 가능하다. 서버(52)의 CPU(201)는 ROM(202)에 기억되어 있는 프로그램에 따라 각종 처리를 실행한다. RAM(203)에는 CPU(201)가 각종 처리를 실행하는데 있어서 필요한 데이터나 프로그램 등이 적절히 기억된다. 입출력 인터페이스(205)는 키보드나 마우스로 구성되는 입력부(206)가 접속되고, 입력부 (206)에 입력된 신호를 CPU(201)에 출력한다. 또한, 입출력 인터페이스(205)에는 디스플레이나 스피커 등으로 구성되는 출력부(207)도 접속되어 있다.
더욱이, 입출력 인터페이스(205)에는 하드 디스크 등으로 구성되는 기억부 (208) 및 네트워크(51)를 개재하여 다른 장치, 예를 들면 유저 단말(53)과 데이터의 수수를 행하는 통신부(209)도 접속되어 있다. 드라이브(210)는 자기 디스크, 광 디스크, 광자기 디스크, 반도체 메모리 등의 기록 매체로부터 데이터를 판독출력하거나 데이터를 기록입력하거나 할 때에 이용된다.
서버(52)는 상술한 바와 같이 EPG나 권장 화면을 작성하고, 유저 단말(53) 측에게 제공하는 기능을 가지는 단말이지만, 그 기능을 실행하기 위한 프로그램은 기억부(208)에 기억되고, RAM(203)에 전개되며, 그 전개된 프로그램에 의거하여 CPU(201)가 처리를 실행하는 것에 의해 행해진다. 도 10은 서버(52)에 있어서의 기능을 설명하기 위한 기능 블록도이다.
로그 생성 기능(231)은 유저가{유저 단말(53)이} 액세스했을 때의 일시 등, 또한 그 유저가 받은 서비스의 사용 정보(소정의 프로그램의 녹화 예약) 등에 의거한 로그를 생성하여 기억부(208)에 기억시키고, 그 기억된 로그 파일을 관리하는 기능이다. 유저관리 기능(232)은 유저의 신규의 등록, 이미 등록되어 있는 유저의 삭제, 유저가 로그인해 왔을 때의 처리를 행하는 기능이고, 필요에 따라 유저로부터의 조작(지시)을 관리하는 기능이다.
정보선별 기능(233)은 후술하는 대상 정보 메타 데이터베이스와 유저 모델 데이터베이스를 참조하여, 액세스해 온(소정의 요구를 해 온) 유저에 대해, 그 유저에게 적합한 정보를, 대상으로 되어 있는 정보 데이터베이스에서 취사 선택하여 유저에게 제공하는 기능이다. 서비스관리 기능(234)은 서비스 관리자{서버(52)의 관리자나 서버(52)에 대해 EPG에 관련된 데이터를 공급하는 자}가, 각 기능이나 각 데이터베이스, 관련 정보 등의 추가, 변경, 삭제 등의 편집을 행하기 위한 기능이다.
유저모델관리 기능(235)은 유저 혹은 서비스의 관리자로부터, 직접적으로 입력되거나 또는 로그 데이터베이스의 마이닝(Mining) 결과에 의거한 처리에 의해, 유저모델 데이터베이스의 등록, 갱신, 삭제 등을 행하는 기능이다. 상세한 것은 후술하지만, 유저모델관리 기능(235)은 유저의 기호에 관한 데이터를 취득하고 관리하지만, 그 취득에는 유저 자신이 등록한 데이터를 취득하고, 학습에 의해 취득된 데이터를 취득하고, 필터링 처리에 의해 취득된 정보를 취득하는 바와 같은 방법이 있다.
정보통신 기능(236)은 선별된 정보 등을 유저 측에게 제공하는 기능이며, 유저 측으로부터의 데이터를 수신하는 기능이다. 대상정보 메타데이터 관리 기능 (237)은, 유저 혹은 서비스의 관리자로부터의 직접적인 입력이나, 정보 데이터베이스나 그 외의 마스터 등의 관련 정보를 마이닝 한 결과에 의거한 처리에 의해, 정보 메타 데이터베이스에의 정보의 등록, 갱신, 삭제 등을 행하는 기능이다. 서비스일반 기능(238)은 서버(52)가 서비스를 제공하는데 있어서 필요하게 되지만, 상술한 기능에서는 행해지지 않는 처리를 실행하기 위한 기능이다.
이와 같은 기능을 서버(52)는 구비하고 있다. 이와 같은 기능은, 여기에서는 서버(52)가 구비하고 있는 것으로 하여 설명을 계속하지만, 이들 기능 중, 일부의 기능은 유저 단말(53) 측에 가지게 하는 것도 가능하다. 또한, 이들 기능 모두, 또는 일부를 서버(52) 이외의 단말에 가지게 하고, 그 단말과 데이터의 수수를 행하는 것에 의해, 결과적으로 서버(52)가 기능을 실현할 수 있도록 구성해도 좋다.
예를 들면, 유저 단말(53) 측에서 로그 생성 기능(231)이나, 유저모델관리 기능(235)을 가지도록 하고(유저의 사적인 정보나 기호에 관련된 데이터를 관리하는 기능을, 유저 측이 관리할 수 있도록 하고), 이들 기능이 담당하는 후술하는 바와 같은 처리를, 서버(52) 측이 아니라 유저 단말(53) 측에서 행하도록 해도 좋다.
이와 같은 기능이 이용하는(관리하는) 데이터베이스에 대해 설명한다. 데이터베이스는 기억부(208)에 구축된다. 도 11은, 기억부(208)에 구축되는 데이터베이스를 도시하는 도면이다. 도 11에 도시한 예에서는, 기억부(208)에는 데이터베이스로서 마스터 데이터베이스(251), 타겟 데이터베이스(252), 로그 데이터베이스(253) 및 유저 데이터베이스(254)가 구축되어 있다.
마스터 데이터베이스(251)는 EPG를 작성할 때에 이용되는 데이터베이스나, 유저에 관한 정보(예를 들면 연령 등)를 관리하기 위한 데이터베이스 등의 복수의 데이터베이스에 의해 구성된다. 타겟 데이터베이스(252)는 권장 화면 등을 작성할 때에 수치 계산 등이 행해지지만, 그 계산에 이용되는 데이터베이스 등의 복수의 데이터베이스에 의해 구성된다. 로그 데이터베이스(253)는 로그 생성 기능(231)에 의해 생성되고 관리되는 데이터베이스이다. 유저 데이터베이스(254)는 회원 등록되어 있는 유저의 정보 등을 관리하기 위한 데이터베이스이다.
마스터 데이터베이스(251)는 도 12 내지 도 21의 각 도면에 도시하는 데이터베이스로 구성되어 있다. 또, 도 12 내지 도 21에 도시하는 데이터베이스 내의 데이터는 설명의 형편상, 일부분의 데이터만이 도시되어 있다.
도 12에 도시한 데이터베이스는 M_CATEGORY 데이터베이스(271)이고, 방송되는 프로그램의 카테고리(장르)를 관리하기 위해 설치되어 있다. 이 M_CATEGORY 데이터베이스(271)에는 AttributeID로서 “001”이라는 식별자가 할당되어 있다. M_CATEGORY 데이터베이스(271)는 등록되어 있는 카테고리를 식별하기 위한 식별자 (CategoryID)와 카테고리(Category)를 관련지어 관리한다. 예를 들면, 도 12에 도시한 M_CATEGORY 데이터베이스(271)에 있어서 CategoryID “1000”은 “스포츠”라는 카테고리에 할당되어 있다.
도 13에 도시한 데이터베이스는 M_PERSON 데이터베이스(272)이고, 방송되는 프로그램에 출연하는 인물(사회자, 배우, 여배우, 문화인, 정치가 등)을 관리하기 위해 설치되어 있다. 이 M_PERSON 데이터베이스(272)에는 AttributeID로서 “002”라는 식별자가 할당되어 있다. M_PERSON 데이터베이스(272)는 등록되어 있는 인물명을 식별하기 위한 식별자(PersonID), 인물명(Name) 및 그 인물명의 판독 방법 (KanaName)을 각각 관련지어 관리한다. 예를 들면, 도 13에 도시한 M_PERSON 데이터베이스(272)에 있어서 PersonID로서 “0000000001”은 “인물A”라는 인물에게 할당되어 있고, 그 “인물A”의 판독 방법은 “짐부츠 에이”인 것이 관련지어져 있다.
도 14에 도시한 데이터베이스는 M_PERSON_CHARACTER 데이터베이스(273)이고, 방송되는 프로그램에 출연하는 인물의 캐릭터(특징)를 관리하기 위해 설치되어 있다. M-PERSON_CHARACTER 데이터베이스(273)에는 AttributeID로서 “003”이라는 식별자가 할당되어 있다. M_PERSON_CHARACTER 데이터베이스(273)는 프로그램에 출연하는 인물의 캐릭터를 식별하기 위한 식별자(CharacterID)와 캐릭터(Character)를 관련지어서 관리한다. 또, 캐릭터란 일반적으로 사용되고 있는 이유를 본 발명에서도 적용하지만, 여기에서는 특히, 시청자(유저)가 그 인물에 대해서 어떠한 인상을 가지고 있는지, 그 인물을 나타내는 데에 또는 특징으로서 적합한 말 등을 의미한다.
예를 들면, 도 14에 도시한 M_PERSON_CHARACTER 데이터베이스(273)에 있어서, CharacterID “001”은 “사회자계”라는 캐릭터가 관련지어져 있다. 또, 도 14에 도시한 예에서는, 1개의 CharacterID에는 1개의 말이 관련지어져 있는 예를 도시하였지만, 1개의 CharacterID에 복수의 말(유사한 말)이 관련지어져 있도록 해도 좋다. 예를 들면, CharacterID로서 “004”가 할당되어져 있는 것은 “친근”이지만, “친근, 친밀감” 등과 유사한 복수의 말이 관련지어지도록 해도 좋다.
도 15에 도시한 데이터베이스는 M_VIEW_TYPE 데이터베이스(274)이고, 유저의 시청 타입(어떠한 프로그램을 좋아하는지, 어떠한 형태로 시청하는지 등)을 나타내는 말을 관리하기 위해 설치되어 있다. 이 M_VIEW_TYPE 데이터베이스(274)에는 AttributeID로서 “004”가 할당되어 있다. M_VIEW_TYPE 데이터베이스(274)는 시청 타입을 식별하기 위한 식별자(ViewID)와 시청 타입(ViewType)을 관련지어서 관리한다. 예를 들면, 도 15에 도시한 M_VIEW_TYPE 데이터베이스(274)에 있어서, ViewID “001”은 “웃음 자극형”이라는 시청 타입으로 할당되어 있다.
도 16에 도시한 데이터베이스는 M_KEYWORD 데이터베이스(275)이고, 프로그램의 특징을 나타내는 키워드(단어)를 관리하기 위해 설치되어 있다. 이 M_KEYWORD 데이터베이스(275)에는 AttributeID로서 “005”가 할당되어 있다. M_KEYWORD 데이터베이스(275)는 키워드를 식별하기 위한 식별자(KeywordID)와 키워드(Keyword)를 관련지어서 관리한다. 또, 키워드란 일반적으로 사용되고 있는 이유를 본 발명에서도 적용하지만, 예를 들면 “프로그램A”의 내용을 1개 또는 복수의 말로 나타내면, 어떠한 말이 가장 적합한지(표현하고 있는지)를 나타내는 말인 것으로 한다.
예를 들면, 도 16에 도시한 M_KEYWORD 데이터베이스(275)에 있어서, KeywordID “0000000001”은 “정보”라는 키워드에 할당되어 있다.
도 17에 도시한 데이터베이스는 M_KEYWORD_1 데이터베이스(276)이고, 상술한 M_KEYWORD 데이터베이스(275)와 기본적으로 마찬가지인 데이터를 관리하기 위해 설치되어 있다. 이 M_KEYWORD_1 데이터베이스(276)는, 도 16에 도시한 M_KEYWORD 데이터베이스(275)와 비교하여 리전(Reason)이라는 항목도 KeywordID나 Keyword와 각각 관련지어서 관리한다. 이 Reason이라는 항목에 기재되어 있는 말은, 예를 들면 도 8에 있어서 이유 표시부(155)에 표시되는 말이고, 유저 측에 제시되는 말(단어)이다.
즉, Keyword 라는 항목에 쓰여져 있는 키워드는 매칭 등의 처리를 행할 때 등에 이용되는 말이고, Reason 이라는 항목에 쓰여져 있는 말은, 매칭이 행해진 결과, 그 매칭 시의 득점이 높고, 유저 측에 권장 이유로서 제시할 때에 실제로 제시되는 말이 기록되어 있다.
예를 들면, KeywordID가 “0000000006”의 “에로틱”이라는 키워드는, 매칭 시에 적절한 프로그램을 검색하는 데는 적합할 지라도, 실제로, 유저에게 프로그램을 권장으로서 제시할 때에는 그다지 바람직하지 않은 말이라고 생각된다. 그래서, “에로틱”이라는 말이 표시되지 않게 하기 위해, Reason의 부분은 공란(Null)으로 되어 있다.
또한, 예를 들면 KeywordID가 “0000000008”의 “득(得)”이라는 키워드는 매칭 시에 적절한 프로그램을 검색하는 데에는 적합할지라도, 실제로 유저에게 프로그램을 권장으로서 제시할 때에는 “득”으로만 표시해도 구체적인 의미를 파악하기 어렵고, 불친절한 표시가 되어 버린다고 생각되고, 유저에게 제시하기에는 적절하지 않다. 그래서, Reason 부분에는 “득이 되는 정보”라고 기재해 두고, “득”이라는 키워드가 유저에게 제시될 때에는 “득이 되는 정보”라는 말이 대신 제시되도록 한다.
이와 같이, Reason 이라는 항목을 설치하는 것에 의해, 매칭 등의 처리에 이용되는 말과, 유저 측에 제시되는 말을 구별하여 사용하는 것이 가능해진다.
도 18에 도시한 데이터베이스는 M_KEYWORD_2 데이터베이스(277)이고, 상술한 M_KEYWORD 데이터베이스(275)와 기본적으로 마찬가지인 데이터를 관리하기 위해 설치되어 있다. 이 M_KEYWORD_2 데이터베이스(277)는 도 16에 도시한 M_KEYWORD 데이터베이스(275)와 비교하여 Display 라는 항목도, KeywordID나 Keyword와 각각 관련지어서 관리한다. 이 Display 라는 항목에 기재되어 있는 것은 플래그이고, 그 플래그는 Keyword 항목에 기재되어 있는 말을 유저 측에 제시할 것인지 여부를 나타내는 것으로 되어 있다.
도 18에 도시한 예에서 “1”은 유저 측에 제시하고, “0”은 유저 측에 제시하지 않는 것으로서 설정되어 있는 것을 나타낸다. 예를 들면, KeywordID가 “0000000001”로 할당되어 있는 “정보”라는 키워드는 권장 이유로서 유저 측에 제시되지만, KeywordID가 “0000000006”으로 할당되어 있는 “에로틱”이라는 키워드는, 권장 이유로서 유저 측에는 제시되지 않는다.
도 16 내지 도 18에 도시한 데이터베이스 중, 어느 1개의 데이터베이스가 마스터 데이터베이스(251)에 관리되어 있으면 좋다. 따라서, 도 16 내지 도 18에 도시한 각 데이터베이스의 AttributeID는 “005”라는 공통의 ID로 되어 있다. 이하의 설명에서는, 특별히 이유가 없는 한, 도 16에 도시한 M_KEYWORD 데이터베이스 (275)가 마스터 데이터베이스(251)에 관리되어 있는 것으로서 설명한다.
도 19에 도시한 데이터베이스는 M_AGE 데이터베이스(278)이고, 유저의 연령층을 관리하기 위해 설치되어 있다. 이 M_AGE 데이터베이스(278)에는 AttributeID로서 “006”이 할당되어 있다. M_AGE 데이터베이스(278)는 연령을 식별하기 위한 식별자(AgeID), 연령의 폭을 나타내고 그 폭을 식별하기 위한 이름(AgeName), 그 연령 폭의 시작 연령(StartAge) 및 그 연령 폭의 마지막 연령(EndAge)을 각각 관련지어서 관리한다.
예를 들면, 도 19에 도시한 M_AGE 데이터베이스(278)에 있어서, AgeID “001”은 “0 ∼ 4”라는 AgeName에 관련지어지고, “0”이라는 StartAge에도 관련지어지며, 더욱이 “4”라는 EndAge에도 관련지어져 있다.
도 20에 도시한 데이터베이스는 M_GENDER 데이터베이스(279)이고, 유저의 성별을 관리하기 위해 설치되어 있다. 이 M_GENDER 데이터베이스(279)에는 Attribute ID로서 “007”이 할당되어 있다. M_GENDER 데이터베이스(279)는 성별을 식별하기 위한 식별자(GenderID)와 성별(GenderType)을 관련지어서 관리한다. 예를 들면, 도 2O에 도시한 M_GENDER 데이터베이스(279)에 있어서, GenderID “001”은 “남성”이라는 GenderType에 관련지어져 있다.
도 21에 도시한 데이터베이스는 M_REASON 데이터베이스(280)이고, 이유 표시부(155)(도 7 또는 도 8)에 표시되는 말을 제어하기 위한 데이터를 관리한다. M_REASON 데이터베이스(280)는 AttributeID, ValueID 및 Reason을 각각 관련지어서 관리한다. AttributeID는 상술한 바와 같이 각 데이터베이스를 식별하기 위해 할당된 ID이고, 예를 들면 도 12에 도시한 M_CATEGORY 데이터베이스(271)에는 Attri buteID로서 “001”이 할당되어 있다.
ValueID는 각 데이터베이스가 관리하는 ID를 의미하고, CategoryID(도 12), PersonID(도 13), CharacterID(도 14), ViewID(도 15), KeywordID(도 16), AgeID(도 19) 및 GenderID(도 20)를 말하는 것이다. Reason은 도 17이나 도 18을 참조해서 설명한 바와 같이, 이유 표시부(155)(도 7 및 도 8)에 표시되는 말을 의미한다.
예를 들면, 도 21에 도시한 M_REASON 데이터베이스(280)의 Attribute ID가 “0O1”인 경우, M_CATEGORY 데이터베이스(271)인 것을 나타내고, 또 ValueID가 “1000”인 경우 M_CATEGORY 데이터베이스(271)의 CategoryID가 “1000”인 것을 나타낸다. 그리고, M_REASON 데이터베이스(280)의 AttributeID가 “001”, ValueID가 “1000”으로 표현되는 말이 유저에게 제시되는 경우, Reason의 항목의 대응하는 란(欄)에 기재되어 있는 “스포츠”라는 말이 제시되게 된다.
이 M_REASON 데이터베이스(280)는 상술한 도 12 내지 도 19(도 17과 도 18은 제외함)에 각각 도시한 데이터베이스를, 이유 표시부(155)(도 8)에 표시시키는 말을 제어하기 위해 하나로 통합한 것이다. 제어하기 위해서 라는 것은, 상술한 바와 같이, 유저 측에 제시하기에는 바람직하지 않은 말이나, 그대로는 유저 측에 제시하기에는 적합하지 않은 말이 있고, 그와 같은 말을 적절히 처리하기 위해서 라는 의미이다.
예를 들면, 유저 측에 제시하기에는 바람직하지 않은 말로서, 상술한 예에서는 “에로틱”이라는 말을 예시하였지만, 이 “에로틱”이라는 말은 도 16에 도시한 M_KEYWORD 데이터베이스(275)에 관리되고 있고, KeywordID로서 “0000000006”이 할당되어 있다. M_KEYWORD 데이터베이스(275)의 AttributeID는 “005”이기 때문에, 도 21에 도시한 M_REASON 데이터베이스(280)의 AttributeID가 “005”이고, ValueID가 “0000000006”인 것을 보면 기재가 없는(삭제되어 있다) 것을 알 수 있다. M_REASON 데이터베이스(280)에 기재가 없다는 것은, 유저 측에는 제시되지 않는다는 것이 된다.
따라서, M_REASON 데이터베이스(280)에 기재하지 않으면, 유저 측에 제시하기에는 바람직하지 않은 말은 제시되지 않도록 한다는 제어를 행할 수 있게 된다.
또한, 예를 들면 그대로는 유저 측에 제시하기에는 적합하지 않은 말로서, 상술한 예에서는 “득”이라는 말을 예시하였지만, 이 “득”이라는 말은 도 16에 도시한 M_KEYWORD 데이터베이스(275)에 관리되고 있고, KeywordID로서 “00000000 08”이 할당되어 있다. M_KEYWORD 데이터베이스(275)의 AttributeID는 “005”이기 때문에 도 21에 도시한 M_REASON 데이터베이스(280)의 AttributeID가“005”이고, ValueID가 “0000000008”인 것을 보면 “득이 되는 정보”라는 기재가 있다. M_REASON 데이터베이스(280)에 “득이 되는 정보”라고 기재가 있다고 하는 것은, 유저 측에 “득”이라는 말(키워드)가 제시될 때에는 실제로는 “득이 되는 정보”라는 말이 제시되게 된다.
따라서, M_REASON 데이터베이스(280)에 유저 측에 제시하고 싶은 말을 기재해 두면, 그대로는 유저 측에 제시하기에는 적합하지 않은 말일 지라도, 실제로 제시될 때에는 유저 측에 제시하기에 적합한 말로 제시할 수 있도록 하는 바와 같은 제어를 행할 수 있게 된다.
즉, 프로그램을 추천하는 경우를 생각하면, 프로그램의 스코어링(매칭)에는 유효한 프로그램을 특징짓는 어구(語)일 지라도, 그 어구 자체가, 예를 들면 성인용의 용어, 한 문자의 어구, 메이저가 아닌 키워드, 너무 일반적이어서 이유가 되기 어려운 키워드, 권장 이유로서 성립되어 있지 않은 키워드 등이고, 권장 이유로서 유저에게 제시하기에는 친숙하지 않은 어구인 경우, 그와 같은 어구를 표시시키지 않는, 또는 다른 어구로서 표시시킨다고 하는, 자유도가 높은 표시의 제어를 행하는 것이 가능해진다.
또한, M_REASON 데이터베이스(280)라고 하는, 권장 이유의 표시를 제어하기 위한 데이터베이스를 설치하는 것에 의해, 도 12 내지 도 20에 도시한 마스터 데이터베이스에 의거한 표시와는 다른 표시를 행할 수 있게 되기 때문에, 예를 들면 형태소(形態素) 해석의 결과, “코(戀)이”, “코이(戀)”, “코이” 등의 모든 Value에 대해, 「연애를 좋아하게」라는 권장 이유의 표시가 가능해진다.
이와 같은 데이터를 관리하는 M_REASON 데이터베이스(280)를 마스터 데이터베이스(251)로 관리시키는 것에 의해, 상술한 바와 같이 적절히 유저 측에 제시하는 말을 제어할 수가 있다는 효과 외에, 이하와 같은 효과도 있다. 그 효과에 대해 도 22와 도 23을 참조해서 설명한다.
도 22와 도 23에 있어서는, 추천 이유로서 AttributeID가 “001”이고, CategoryID가 “1000”인 말(검색 말 A로 한다), AttributeID가 “002”이고, PersonID가 “0000000001”인 말(검색 말 B로 한다), AttributeID가 “002”이고, PersonID가 “0000000002”인 말(검색 말 C로 한다) 및 AttributeID가“005”이고, KeywordID가 “0000000001”인 말(검색 말 D로 한다)를 유저 측에 제시하면 결정되는 경우를 예로 들어 설명한다.
도 22를 참조하여, 우선 M_REASON 데이터베이스(280)가 존재하지 않을 때, 따라서 도 12 내지 도 20(도 17, 도 18을 제외한다) 만이 존재하고 있을 때의 검색 방법에 대해 설명한다. 검색 말 A가 검색될 때, AttributeID로서 “001”이 할당되어 있는 M_CATEGORY 데이터베이스(271)(도 12) 내가 검색된다. 그리고, Category ID가 “1000”인 “스포츠”라는 말이 검색 결과로 된다. 마찬가지로, 검색 말 B가 검색될 때, AttributeID로서 “002”가 할당되어 있는 M_PERSON 데이터베이스 (272)(도 13) 내(內)가 검색되고, PersonID가 “0000000001”인 “인물 A”라는 말이 검색 결과로 된다.
검색 말 B와 마찬가지로, 검색 말 C도 M_PERSON 데이터베이스(272)가 참조되고, “인물 B”라는 말이 검색 결과로 된다. 그리고, 검색 말 D는 M_KEY WORD 데이터베이스(275)가 참조되고, “정보”라는 말이 검색 결과로 된다.
이 경우, 4개의 검색 말을 검색하기 위해 3개의 데이터베이스를 참조하지 않으면 안된다.
이것에 대해, M_REASON 데이터베이스(280)가 존재하는 경우, 도 23을 참조하여 이하에 설명하는 바와 같이 검색이 행해진다. 검색 말 A가 검색되는 경우, M_REASON 데이터베이스(280)가 참조된다. 그 참조되는 위치는 AttributeID가 “001”이고, ValueID가 “1000”인 곳이다. 그 결과, “스포츠”라는 말이 검색 결과로 된다. 마찬가지로, 검색 말 B 내지 D도, M_REASON 데이터베이스(280)가 참조되고, 각각 검색 결과가 나온다.
이 경우, 4개의 검색 말을 검색하기 위해 1개의 데이터베이스만을 참조하면 좋다.
이와 같이, M_REASON 데이터베이스(280)를 설치하는 것에 의해, 검색을 실행할 때 복수의 데이터베이스를 참조할 필요는 없고, M_REASON 데이터베이스(280) 만을 참조하면 좋기 때문에, 검색에 요하는 시간을 줄일 수가 있다. 이것은, 유저가 권장 화면을 요구하고 나서, 그 유저에 대한 권장 화면을 돌려주기까지 걸리는 시간이 짧아짐을 의미하고, 리얼타임으로 회답을 돌려주지 않으면 안되는 시스템에 있어서 유효한 수단이다.
이와 같이, 마스터 데이터베이스(251)에는 EPG의 작성, 권장 화면의 작성에 필요한 데이터가 관리되고 있다.
다음에, 타겟 데이터베이스(252)(도 11)에 대해 설명한다.
타겟 데이터베이스(252)는 권장 화면을 작성할 때, 유저의 기호와 프로그램과의 매칭을 취하기 위한 데이터, 유저의 기호를 보다 상세한 것으로 하기 위한 학습 기능을 실현하기 위한 데이터 등으로 구성된다.
도 24에 도시한 데이터베이스는 T_PERSON_TARGET_GENDER 데이터베이스(311)이고, 프로그램에 출연하는 인물(Person)이 어떠한 성별(Gender)의 사람들에게 인기가 있는지 등을 수치화한 데이터를 관리한다. T_PERSON_TARGET_GENDER 데이터베이스(311)는 PersonID, GenderID 및 Score를 관련지어서 관리한다. PersonID는 도 13에 도시한 M_PERSON 데이터베이스(272)가 관리하는 PersonID와 동일한 ID로 되어 있다. 즉, 예를 들면 PersonID “0000000001”은 “인물A”인 것을 의미한다.
GenderID는 도 20에 도시한 M_GENDER 데이터베이스(279)가 관리하는 GenderID와 동일한 ID로 되어 있다. 즉, 예를 들면 GenderID “001”은 “남성”을 의미한다. Score는, PersonID에 대응하는 인물은 GenderID에 대응하는 성별의 사람에 대해서 어느 정도의 수치(가중치)를 가지는지를 나타내는 값이다. 예를 들면, 인물A가 남성에게 인기가 있다면, 수치가 높게 또는 낮게 설정된다.
수치가 높게 설정되는 경우, 인기가 있으므로 매칭이 행해질 때에 검출될 가능성을 높게 한다는 의도가 있을 때이다. 반대로, 수치가 낮게 설정되는 경우, 인기가 있으므로 많은 프로그램에 나오고 있는, 너무 범용이라는 등의 이유로부터, 매칭이 행해질 때 그다지 중요한 요소가 되지 않도록 한다는 의도가 있을 때이다. 어느 쪽으로 설정할지는 EPG를 관리하는 관리자의 생각, 이용하는 유저의 특징(어느 성별의 유저가 많은지, 어느 연령대의 유저가 많은지 등), 시스템에의 부하 등을 고려하여 설정되면 좋다.
또, 다른 타겟 데이터베이스도, 각각 타겟으로 하는 요소에 관련된 수치를 관리하지만, 그 수치가 높은 값으로서 설정될지, 낮은 값으로서 설정될지는 상술한 바와 같은 것이 고려되어 설정된다.
도 25에 도시한 데이터베이스는 T_PERSON_TARGET_AGE 데이터베이스(312)이고, 프로그램에 출연하는 인물(Person)이 어떠한 연령(Age)의 사람들에게 인기가 있는지 등을 수치화한 데이터를 관리한다. T_PERSON_TARGET_AGE 데이터베이스(312)는 PersonID, AgeID 및 Score를 관련지어서 관리한다. 이 T_PERSON_TARGET_AGE 데이터베이스(312)에 있어서는, PersonID는 도 13에 도시한 M_PERSON 데이터베이스 (272)가 관리하는 PersonID와 동일한 ID로 되어 있다.
AgeID는 도 19에 도시한 M_AGE 데이터베이스(278)가 관리하는 AgeID와 동일한 ID로 되어 있다. 즉, 예를 들면 AgeID “001”은 “O ∼ 4”세인 것을 의미한다. Score는, PersonID에 대응하는 인물은 AgeID에 대응하는 연령의 사람에 대해, 어느 정도의 수치(가중치)를 가지는지를 나타내는 값이다. 예를 들면, 인물A가 O ∼ 4세(유아)에게 인기가 있다면, 수치가 높게 또는 낮게 설정된다.
도 26에 도시한 데이터베이스는 T_PERSON_VIEW_TYPE 데이터베이스(313)이고, 프로그램에 출연하는 인물이, 어떠한 시청 타입에 적절한지 등을 수치화한 데이터를 관리한다. T_PERSON_VIEW_TYPE 데이터베이스(313)는 PersonID, ViewID 및 Score를 관련지어서 관리한다. 이 PersonID도, 도 13에 도시한 M_PERSON 데이터베이스 (272)가 관리하는 PersonID와 동일한 ID로 되어 있다.
ViewID는, 도 15에 도시한 M_VIEW_TYPE 데이터베이스(274)가 관리하는 ViewID와 동일한 ID로 되어 있다. 즉, 예를 들면 ViewID “001”은 “웃음 자극형”을 의미한다. Score는, PersonID에 대응하는 인물은 ViewID에 대응하는 시청 타입에 대해, 어느 정도의 수치(가중치)를 가지는지를 나타내는 값이다. 예를 들면, 인물A가 웃음 자극형이라면(코미디 프로그램에 자주 나오는 연예인), 수치가 높게 또는 낮게 설정된다.
도 27에 도시한 데이터베이스는 T_PERSON_CHARACTER 데이터베이스(314)이고, 프로그램에 출연하는 인물이 어떠한 캐릭터(특징)를 가지고 있는지 등을 수치화한 데이터를 관리한다. T_PERSON_CHARACTER 데이터베이스(314)는 PersonID, Character ID 및 Score를 관련지어서 관리한다. 이 PersonID도 도 13에 도시한 M_PERSON 데이터베이스(272)가 관리하는 PersonID와 동일한 ID로 되어 있다.
CharacterID는 도 14에 도시한 M_PERSON_CHARACTER 데이터베이스(273)가 관리하는 CharacterID와 동일한 ID로 되어 있다. 즉, 예를 들면 CharacterID “001”은 “사회자계”를 의미한다. Score는, PersonID에 대응하는 인물은 CharacterID에 대응하는 캐릭터에 대해 어느 정도의 수치(가중치)를 가지는지를 나타내는 값이다. 예를 들면, 인물A가 버라이어티 프로그램 등에서 사회자로 일하는 경우가 많은 사회자계 라면, 수치가 높게 또는 낮게 설정된다.
도 28에 도시한 데이터베이스는 T_PRG_VALUE 데이터베이스(315)이고, 소정의 프로그램과 그 프로그램에 관련된 사항을 관련지어서 관리한다. T_PRG_VALUE 데이터베이스(315)는 ProgramID, Attribute 및 ValueID를 관련지어서 관리한다. ProgramID는 각 프로그램을 식별하기 위해 각 프로그램에 할당되어 있는 식별자이다.
Attribute는 어느 데이터베이스에 대한 특성인지를 나타내는 데이터인 AttributeID로 기재하는 것도 가능하다. ValueID는 도 24에 도시한 M_REASON 데이터베이스(280)가 관리하는 ValueID와 동일한 ID로 되어 있다. 즉, 예를 들면 AttributeID가 “002”(즉, Attribute로서는 Person)이고, ValueID가 “1000”인 것은 “인물A”인 것을 의미한다. 이와 같이, T_PRG_VALUE 데이터베이스(315)는 소정의 프로그램과 그 프로그램에 출연하고 있는 인물(Person)이나, 그 프로그램을 특징짓는 키워드(Keyword) 등을 관련짓기 위한 데이터베이스로서 이용된다.
도 29에 도시한 데이터베이스는 T_PRG_VALUE 데이터베이스(316)이고, 프로그램 자체의 가중치 수치를 관리한다. 이 T_PRG_VALUE 데이터베이스(316)는 도 28에 도시한 T_PRG_VALUE 데이터베이스(315)에 Score를 더욱 관련지어서 관리하는 구성으로 되어 있다. 단, 도 29에 도시한 T_PRG_VALUE 데이터베이스(316)에서는, Attri bute가 아니라 AttributeID를 관리한다.
예를 들면, 도 29에 도시한 T_PRG_VALUE 데이터베이스(316)에 있어서, ProgramID로서 “1000000030000029”라는 ID가 할당되어 있는 프로그램은, AttributeID가 “001”, valueID가 “1000”인 것에 대해 “0.6519336599597207 0000”이라는 수치가 부여되어 있다.
스코어링의 계산 시에 이 Score의 값이 이용되지만, 그 스코어링의 계산시에는 AttributeID와 ValueID의 조(組)로부터 일의(一意)로 Score값이 구해지기 때문에, AttributeID와 ValueID의 조가 어떠한 어구에 관련지어져 있는지를 판별할 필요는 없지만 설명을 위해서 판별하면, AttributeID가 “001”, ValueID가 “1000”인 것은, 도 21에 도시한 M_REASON 데이터베이스(280)를 참조해 보면 “스포츠”이다. 따라서, 여기에서는 ProgramID로서 “1000000030000029”라는 ID가 할당되어 있는 프로그램은 “스포츠”라는 요소에 대해서는 “0.65193365995972070000”이라는 수치를 가지게 된다.
이와 같이, 이 T_PRG_VALUE 데이터베이스(316)도 복수의 AttributeID를 포함하기 때문에, 각각의 요소를 검출할 필요가 있는 경우, 복수의 대응하는 마스터 데이터베이스를 참조하지 않으면 안되지만, M_REASON 데이터베이스(280)를 설치하는 것에 의해, 이 M_REASON 데이터베이스(280) 만을 참조하는 것만으로, 필요한 요소를 검출하는 것이 가능해진다. 단, M_REASON 데이터베이스(280)에는 유저 측에 제시하기에는 적합하지 않은 키워드 등은 삭제되어 있기(기재되어 있지 않기) 때문에, 필요에 따라서 M_REASON 데이터베이스(280)를 참조하도록 해도 삭제되어 있는 어구는 검출할 수는 없기 때문에, 처리에 필요하다면 M_REASON 데이터베이스(280) 이외의 마스터 데이터베이스를 참조할 필요가 있다.
도 30에 도시한 데이터베이스는 T_UM_VALUE 데이터베이스(317)이고, 유저의 기호에 관한 데이터를 관리하기 위해서 설치되어 있다. T_UM_VALUE 데이터베이스 (317)는 MemberID, UMTypeID, AttributeID, ValueID 및 Score를 관련지어서 관리한다. MemberID는 유저 등록되어 있는 유저에 대해서 할당된 식별자이다. UMTypeID는, 이 요소는 무엇에 의거하여 설정된 것인지를 나타낸다. “무엇에 의거하여”란 여기에서는 등록, 학습, 필터링에 의거한 경우가 생각된다.
예를 들면, 도 30을 참조하면, 1행째의 AttributeID가 “001”이고 ValueID가 “1000”인 요소는, 도 21의 M_REASON 데이터베이스(280)를 참조하면 “스포츠”라는 요소이지만, 그 요소를 유저가, 자신은 “스포츠”를 좋아한다 라고 등록한 경우에는 UMTypeID는 “1”로 설정된다.
도 30을 참조하면, 2행째의 AttributeID가 “001”이고 ValueID가 “1001”인 요소는, 도 21의 M_REASON 데이터베이스(280)를 참조하면 “스포츠:야구”라는 요소이지만, 그 요소는 유저가 자주 시청하고 있는 프로그램을 해석한 결과, 스포츠 중에서도 “야구”를 좋아한다 라고 판단되며, 그 결과 설정된 요소인 경우에는 UMTypeID는 “2”로 설정된다.
도 30을 참조하면, 3행 째의 AttributeID가 “002”이고 ValueID가 “0000000001”인 요소는, 도 21의 M_REASON 데이터베이스(280)를 참조하면 “인물 A”라는 요소이지만, 그 요소를 후술하는 필터링 처리의 결과 “인물A”를 좋아할 것이라고 판단되고, 그 결과 설정된 요소인 경우에는 UMTypeID는 “3”으로 설정된다.
본 실시예에 있어서는, 이와 같이 유저에게 권장하는 프로그램을 검출할 때에 이용되는 요소는 유저 자신에 의한 등록에 의해 설정되고, 유저의 기호를 학습하는 것에 의해 설정되며, 더욱이 필터링의 처리에 의해 설정된다. 이와 같이 하는 것으로, 보다 유저의 기호를 적확하게 판단하고, 권장의 프로그램을 제시할 수 있게 된다. 예를 들면, 유저 자신에 의한 등록에만 의존하면 그다지 많은 요소를 등록할 수가 없다. 예를 들면, 3만개의 요소가 있는 경우, 그 3만개의 요소 중에서 유저 자신이, 자신에게 맞는 요소를 등록한다는 것은 불가능한 것(가능하다고 하더라도 유저에게 있어서는 번잡한 처리)이 되어 버린다.
따라서, 예를 들면 “스포츠”(AttributeID가 001 이고 ValueID가 1000) 등과 같은 넓은 범위의 카테고리는 설정할 수 있어도, 스포츠 중에서도 “야구”라는 자세한 설정은 할 수 없을 가능성이 있다. 그러나, 유저가 “스포츠”라는 요소 밖에 설정하지 않아도, 그 유저가 “야구”를 자주 시청하고 있으면, 학습이라는 기능에 의해 “스포츠:야구”(AttributeID가 001이고 ValueID가 1001)의 요소도 설정되게 된다. 더욱이, 필터라는 기능을 설치하는 것에 의해, 후술하는 바와 같이 유저의 기호에 맞을 것이라고 추측되지만, 유저가 등록도 하지 않고, 학습의 결과에서도 설정되지 않는 요소도 설정하는 것이 가능해진다.
또, 이와 같이 등록, 학습, 필터라는 3개의 처리로 요소가 설정되는 것이지만, 유저 자신이 등록한 요소 쪽이 다른 처리로 설정된 요소보다도 중요시되고, 학습에 의해 설정된 요소 쪽이 필터라는 처리로 설정된 요소보다도 중요시되는 편이 바람직하다. 그와 같은 가중치에 관한 것은, 도 30에 도시한 T_UM_VALUE 데이터베이스(317)의 Score의 수치를 바꾸는 것에 의해 제어할 수가 있다.
도 22 내지 도 30을 참조해서 설명한 바와 같은 데이터베이스가, 타겟 데이터베이스(252)에 관리되고 있다.
여기서, T_PRG_VALUE 데이터베이스(315)의 작성에 대해, 도 31의 플로우차트를 참조해서 설명한다. 도 31에 도시한 플로우차트에 의거한 처리는, EPG의 데이터가 작성되었을 때에 행해진다(방송하는 프로그램이나 그 프로그램에 출연하는 출연자 등이 결정되고, EPG를 작성하기 위한 데이터가 모두 갖춰진 시점에서 행해진다). 또한, 도 31에 도시한 플로우차트에 의거한 처리는, 서버(52)의 CPU(201)(도 9)가 실현하는 대상정보 메타 데이터 관리기능(237)(도 10)이 실행한다. 또는, 관리자가 수작업으로 행하여 데이터를 입력하는 것도 가능하다. 여기에서는, CPU(201)가 실행하는 것으로 해서 설명한다. 다른 플로우차트의 처리도 한정하지 않는 한, CPU(201){CPU(201)가 실현하는 기능}가 실행하는 것으로 해서 설명한다.
스텝 S31에 있어서, CPU(31)는 T_PRG_VALUE 데이터베이스(315)에 추가하는 데이터를 취득한다. 스텝 S31에 있어서 취득되는 데이터는, 프로그램에 출연하는 출연자, 프로그램의 키워드 등의 요소에 대응되는 T_PRG_VALUE이다. 각 요소는 주로 EPG, 예를 들면 도 6에 도시한 EPG에 표시되는 정보이고, 그 때문에, EPG를 만들 때에 필요하게 되는 데이터이며, 그 EPG를 작성하는 측으로부터 공급되는 것이다.
예를 들면, 도 32에 도시한 바와 같은 EPG가 유저 측에 제공되는 경우를 생각한다. 도 32의 좌측에 도시한 EPG에서는, “프로그램A-1”이라는 프로그램명과, 그 아래에 출연자로서 “인물A”와 “인물B”가 표시되어 있다. 더욱 아래 쪽에, “정보”와 “물건사기”라는 2개의 키워드가 표시되어 있다. 이와 같은 EPG를 표시시키는 데에 필요한 정보로서는, 도 32의 우측에 도시한 바와 같이, 우선 “인물A”라는 것을 표시시키기 위해 AttributeID가 “002”이고 ValueID가 “0000000001”이라는 정보가 필요하다. 마찬가지로, “인물B”, “정보” 및 “물건사기”라는 표시를 시키는데에 필요한 정보로서는 AttributeID와 ValueID의 조합의 정보가 필요하다.
도 32의 도면 중 우측에 도시한 바와 같은 정보가, 스텝 S31에 있어서 취득되는 것이지만, 그 데이터는 도 28에 도시한 T_PRG_VALUE 데이터베이스(315)로서 제공되기 때문에, 대응하는 T_PRG_VALUE 데이터베이스(315) 내의 데이터를 취득하는 것에 의해 행해진다. 스텝 S32에 있어서, 맵 데이터로부터 스텝 S31에서 취득된 각 요소에 대응하는 속성 데이터와, 그 속성 데이터에 대응하는 스코어가 취득된다. 맵 데이터란, 타겟 데이터베이스(252)에서 관리되고 있는 각 데이터베이스이다.
스텝 S33에 있어서, 출연자나 출현 키워드의 T_PRG_VALUE의 스코어에, 스텝 S32에서 취득된 맵 데이터로부터 취득된 스코어를 승산(乘算)하고, 그 값을 속성 데이터의 스코어로서 설정한다. 그리고, 스텝 S34에 있어서, 설정된 스코어가 T_PRG_ VALUE 데이터베이스(316)의 1개의 요소로서 추가, 기억된다. 요소가 추가될 때, 그 추가되는 요소에는, 속성에 대응하는 AttributeID가 할당된다. 또한, 그 요소에는 ValueID로서 해당 속성의 마스터 데이터로 정해져 있는 속성을 일의로 식별하는 ID 가 할당된다.
이와 같이 해서, 도 29에 도시한 T_PRG_VALUE 데이터베이스(316)가 작성된다.
다음에, 도 30에 도시한 T_UM_VALUE 데이터베이스(317)의 작성에 관련된 처리에 대해서 설명한다. 도 30에 도시한 T_UM_VALUE 데이터베이스(317)의 부분의 설명에서, T_UM_VALUE 데이터베이스(317)의 각 요소는 등록, 학습, 또는 필터라고 하는 어느 하나의 처리에 의해 설정된 것이라고 설명하였다. 여기에서는 우선, 도 33에 도시한 플로우차트를 참조하여, 유저 자신의 등록에 의한 요소의 추가 처리에 대해서 설명한다. T_UM_VALUE 데이터베이스(317)의 작성에 관련된 처리는, CPU(201)가 실현되는 1개의 기능인 유저모델관리 기능(235)에 의해 실행된다.
스텝 S51에 있어서, CPU(201)는 T_UM_VALUE 데이터베이스(317)에 추가하는 데이터를 취득한다. 스텝 S51에서 취득되는 데이터는 편집 대상으로 되어 있는 유저(시청자)의 기호에 관련된 출연자, 키워드 등의 각 요소에 대한 T_UM_VALUE이다. 스텝 S52에 있어서, 맵 데이터로부터 스텝 S51에서 취득된 각 요소에 대응하는 속성 데이터와, 그 속성 데이터에 대응하는 스코어가 취득된다.
스텝 S53에 있어서, 출연자나 출현 키워드의 T_UM_VALUE의 스코어에, 스텝 S52에서 취득된 맵 데이터로부터의 취득된 스코어를 승산하고, 그 값을 속성 데이터의 스코어로서 설정한다. 그리고, 스텝 S54에 있어서, 설정된 스코어가 T_UM_ VALUE 데이터베이스(317)의 1개의 요소로서 추가, 기억된다. 요소가 추가될 때, 그 추가되는 요소에는 속성에 대응하는 AttributeID가 할당된다. 또한, 그 요소에는 ValueID로서 해당 속성의 마스터 데이터로 정해져 있는 속성을 일의로 식별하는 ID 가 할당된다.
이와 같이 해서, 유저 자신이 등록한 요소에 대한 처리가 행해지는 것에 의해 도 30에 도시한 T_UM_VALUE 데이터베이스(317)의 일부가 작성된다.
다음에, T_UM_VALUE 데이터베이스(317)에, 학습에 의해 요소가 추가되는 경우의 처리에 대해, 도 34의 플로우차트를 참조해서 설명한다. 스텝 S71에 있어서, 처리 대상으로 되어 있는 유저가 시청한 프로그램(녹화 예약한 프로그램)에 관한 데이터가, 로그 데이터베이스(253)(도 11)로부터 판독출력된다. 로그 데이터베이스 (253)에는 유저를 식별하기 위한 식별자(Member ID), 그 유저가 시청한 프로그램을 식별하기 위한 식별자(ProgramID)가 적어도 관련지어져 관리되고 있다.
스텝 S71에 있어서는, 소정의 유저가 시청한 프로그램에 관련된 데이터가 취득되는 것이지만, 우선 처리 대상으로 되어 있는 유저의 MemberID가 취득된다. 그리고, 그 MemberID를 기초로 로그 데이터베이스(253)로부터 유저가 이용한 프로그램의 ProgramID가 취득된다. ProgramID가 취득되면, T_PRG_VALUE 데이터베이스 (316)가 참조되고, 취득된 ProgramID에 대응하는 각각의 요소마다 T_PRG_VALUE가 취득된다.
스텝 S72에 있어서, 취득된 T_PRG_VALUE의 스코어가, 동일한 AttributeID, ValueID의 T_UM_VALUE의 요소에 가산된다. 이 처리에 대해, 도 35를 참조해서 설명을 더한다. 로그 데이터베이스(253)에 MemberID가 “200241723056783”, ProgramID가 “1000000030000029”라는 데이터가 남아 있는 상황에서, 이 데이터가 판독출력되면 우선, 동일한 ProgramID를 가지는 요소가 T_PRG_VALUE 데이터베이스(316)로부터 판독출력된다. 도 35에 도시한 예에서는, AttributeID가 “001”, ValueID 가 “1000”, Score가 “1.65193365995972070000”이라는 요소가 판독출력된다.
다음에, 이 판독출력된 AttributeID와 ValueID가 일치하는 요소가 T_UM_VALUE 데이터베이스(317) 내에 존재하는지의 여부가 판단된다. 도 35에 도시한 바와 같이 일치하는 요소가 존재하는 경우, 그 존재하고 있다고 판단된 요소의 Score, 도 35에 도시한 예에서는 “.84296419427714530000”이 판독출력된다. 그 판독출력된 Score에, 먼저 T_PRG_VALUE 데이터베이스(316)로부터 판독출력되고 있는 Score(이 경우, “1.65193365995972070000”)가 가산된다. 또, 단순히 가산될 뿐만 아니라, 소정의 값이 승산되는(가중치가 부여되는) 등을 하도록 해도 좋다.
이와 같이, 유저가 프로그램을 시청할(녹화 예약할) 때마다, T_UM_VALUE 데이터베이스(317)의 각 요소의 Score가 변경된다. 즉, 보다 유저의 기호에 가까운 것이 되도록 학습이 행해지고 있는 것으로 된다.
도 35에 도시한 예에서는, T_UM_VALUE 데이터베이스(317)에 T_PRG_VALUE 데이터베이스(316)로부터 판독출력된 AttributeID와 ValueID가 일치하는 요소가 존재하는 경우를 예로 들었지만, 존재하고 있지 않은 경우도 생각된다. 예를 들면, 유저A가 시청한 프로그램에 “인물A”가 출연하고 있었지만, 그 “인물A”라는 요소는 유저A에 대응하는 T_UM_VALUE 데이터베이스(317)에는 등록되지 않은 경우도 있다.
그와 같은 경우, 새로운 요소가 T_UM_VALUE 데이터베이스(317)에 추가된다. 도 36을 참조하여 이와 같은 상황에 대해서 설명을 더한다.
유저A가 프로그램X를 시청하고, 그 프로그램X에는 인물A와 인물B가 출연하고 있었다. 인물A는 유저A가 좋아하고, 인물A가 출연하고 있던 프로그램은 자주 시청하고 있었지만, 인물B에 대해서는 모르고, 인물B가 출연하고 있는 프로그램X 이외의 다른 프로그램을 시청한 적은 없었다. 이와 같은 상황 시에는, 유저A의 T_UM_VALUE 데이터베이스(317)에는 인물A에 관한 ScoreA는 이미 존재하고 있기 때문에, 그 ScoreA에 새로운 수치가 가산되어 ScoreA’로 된다.
한편, 인물B에 관한 요소는 유저A의 T_UM_VALUE 데이터베이스(317)에는 존재하고 있지 않기 때문에, 새롭게 인물B에 대한 요소가 추가된다.
여기에서는, 인물A와 동일한 프로그램에 출연하고 있던 인물B에 관한 요소가 추가되는 것으로 하였지만, 예를 들면, 인물A의 캐릭터나 시청 타입 등의 요소도 추가되는 경우가 있다. 또한, 인물A의 캐릭터나 시청 타입 등이, 이미 존재하고 있을 때에는, 그 Score에 새로운 값이 가산되는 등으로 해서, 그 값이 변화하는 일은 물론 있다.
예를 들면, 유저A가 시청하고, 인물A가 출연하고 있던 프로그램X는, 버라이어티 프로그램으로서, 그 인물A 자체는 시대극에 출연하는 일이 많은 인물인 경우, 인물A의 캐릭터로서 “시대극”이 관련지어져 있다(맵핑되어 있다). 따라서, 유저A 가 시청하고 있던 프로그램X가 버라이어티 프로그램일지라도, 상술한 바와 같은 처리가 실행되기 때문에, 프로그램X를 시청하는 것에 의해 인물A에 관련지어져 있는 “시대극”이라는 요소의 스코어값이 올라가고, 다음 회부터 “시대극”도 권장 프로그램으로서 추천될 가능성이 높아진다.
또한, 인물A가 “건장하다”라는 속성을 가지는 경우, 그 “건장하다”라는 속성을 가지는 인물C(비 도시)의 요소가 유저A의 T_UM_VALUE 데이터베이스(317)에 추가된다. 물론, 인물A가 “건장하다”라는 속성을 가지는 경우, 또한 유저A의 T_UM_VALUE 데이터베이스(317)에 “건장하다”라는 요소가 존재하고 있는 경우, 그 요소의 Score는 갱신된다.
더욱이 여기에서는, 프로그램X에는 인물A와 인물B가 출연하고 있는 것으로 하였지만, 예를 들면, 인물A만이 출연하고 있었던 경우에서도, 마찬가지 일이 실행된다. 즉, 인물A와 인물B는 “시대극”이라는 키워드(속성)로 관련지어져 있는(맵핑되어 있는) 경우, 인물A 밖에 출연하고 있지 않는 프로그램X가 시청된 시점에서, 인물A에 맵핑되어 있는 인물B가 판독출력되고, 그 인물B의 요소가 추가되게 된다.
즉, 이와 같은 학습이 행해지는 것에 의해, 이 경우, 프로그램X의 속성이나 인물A의 속성에 관련지어져 있는 요소도 새롭게 T_UM_VALUE 데이터베이스(317)에 추가되거나, 또는 그 요소의 Score가 갱신된다.
이와 같이, 유저가 녹화 예약이나 시청 등을 행하는 것에 의해, Score값은 갱신되고 새로운 요소가 추가된다. 따라서, 서서히 유저의 기호에 관한 데이터가 샘플수가 증가하는 것에 의해 상세한 것으로 되고, 그와 같은 데이터를 이용하여 행해지는 권장 프로그램의 검색을, 보다 유저에게 적합한 프로그램(유저가 요구하는 프로그램)을 검색할 수가 있는 것으로 할 수가 있다.
도 37은 이와 같은 학습의 처리를 행하지 않는 경우와, 행한 경우를 비교하기 위해 작성한 그래프이다. 그래프A는 속성에 의한 추천을 행한 때를 도시하고, 그래프B는 상세 메타 데이터에 의해서만 권장을 행한 때를 도시한다. 도 37에 도시한 바와 같이, 그다지 시간이 경과되지 않은 초기 단계에서는, 속성에 의한 권장을 행하는 쪽(그래프 A)이 학습도가 높고, 일정한 시간이 경과한 단계에서는, 상세 메타 데이터에 의해서만 권장을 행하는 쪽(그래프 B)이 학습도가 높다는 결과가 얻어진다.
이 결과를 고려하면, 유저 등록한지 얼마 되지 않은 유저에 대해서는, 학습이라는 처리를 행하는 편이, 보다 빠른 시기에 학습도를 높일 수가 있고, 유저의 기호의 데이터의 신뢰성을 높일 수가 있다. 그리고, 소정의 시간이 경과한 후(소정의 학습도로 달성한 후)에는, 학습을 그만두는(또는, 학습의 회수를 줄이는) 등으로 하는 편이 바람직하다.
어쨌든 학습을 행하는 것에 의해, 보다 빠른 시기에 유저의 기호에 관한 신뢰성이 높은 데이터를 작성할 수가 있다. 따라서, 보다 빠른 시기에 적절히 유저의 기호에 적합한 프로그램을 추천할 수가 있게 되어, 유저가 만족하는 결과를 제공하는 것이 가능해진다. 따라서, 등록한 유저가 떠나가 버리는(탈퇴하는) 바와 같은 경우를 방지하는 것이 가능해진다.
유저의 기호에 관한 데이터를, 학습에 의해 수집한다는 방법 외에, 유저 자신이 등록한다는 방법이 있음은 이미 상술하였다. 이들 방법은, 보다 유저의 기호를 정확한 것으로 하는 것이 하나의 목적으로 되어 있다. 그래서, 수집되는 데이터(요소)에 대해서 이지만, 이 경우 텔레비젼 방송으로서 방송되는 프로그램 중에서, 유저의 기호에 맞는 프로그램을 권장한다는 것을 하나의 목적으로 하고 있기 때문에, 주로 프로그램의 종류, 프로그램에 출연하는 출연자 등에 관한 요소가 수집된다.
물론, 이와 같은 요소만으로도 좋지만, 더욱이, 유저의 라이프스타일에 관한 정보를 수집하고, 그와 같은 정보에 의거한 요소도 고려하여 프로그램의 추천이 행해지도록 해도 좋다. 라이프스타일이란, 예를 들면 낮에는 텔레비젼 방송을 시청 하지 않는 등이다. 그러나, 이와 같은 어떤 의미에서 유저의 프라이버시에 관련된 것은, 또한 유저에게 있어서는, 프로그램의 추천에 어떠한 관련이 있는지 직접적으로 도출할 수 없는 사적인 정보를, 간단하게 제공하는 것을 흔쾌하게는 생각하지 않는 유저도 있다고 생각된다.
그래서, 이와 같은 정보는 앙케이트 형식이나 점술(占術) 형식으로, 유저 측에는 사적인 정보를 제공하고 있다고 느끼도록 하지 않는 형식으로 수집한다. 이와 같이 하는 것으로, 유저는 게임 감각으로 프로파일을 등록할 수가 있고, 그와 같은 프로파일을 관리하는(수집하는) 측{이 경우, 서버(52) 및 관리자}은 프로파일을 수집하기 쉬워진다는 효과를 기대할 수가 있다.
이와 같은 라이프스타일이라는 정보도, 추천 프로그램의 검색이 실행될 때에 이용되는 요소로 하는 것에 의해, 보다 유저에게 적합한 프로그램을 추천하는 것이 가능해진다.
다음에, T_UM_VALUE 데이터베이스(317)에 대한 필터링 처리{또는 마이닝(mining) 처리}에 대해 설명한다. 이 필터링 처리는, 주로 도 8에 도시한 권장 화면 중, 이유 표시부(155)의 “동일한 프로그램을 녹화한 사람의 흥미”라는 항목을 표시시키기 위해 행해지는 처리이다. 이와 같은 표시를 행하는 것은, 이하와 같은 상황, 이유 때문이다.
도 38을 참조하여 설명한다. 예를 들면, 유저A가 프로그램X를 녹화 예약하고, 유저B도 프로그램X를 녹화 예약한 것으로 한다. 유저A도 유저B도 프로그램X에 대해서 흥미가 있다고 생각된다. 예를 들면, 그 프로그램X가 코미디 프로그램이라고 한다면, 유저A와 유저B는 코미디계를 좋아한다고 생각된다.
유저B는 코미디계에 속하는 프로그램Z도 녹화 예약하고 있다. 프로그램X에는 인물A가 출연하고, 프로그램Z에는 인물B가 출연하고 있다. 이와 같은 경우, 프로그램Z나 인물B는 유저A가 행한 녹화 예약의 로그 내나 유저A의 기호 데이터에는 포함되어 있지 않지만(따라서, 권장 프로그램으로서 추천되는 일은 없지만), 코미디계를 좋아하는 유저A는, 동일한 코미디계에 속하는 프로그램Z나 인물B에 대해서도 좋아한다고 생각된다. 바꾸어 말하자면, 유저A는 좋아할 것 같은 프로그램Z나 인물B에 대해서 단지 모르는 것 뿐이라고도 생각된다.
그래서, 프로그램X를 녹화 예약한 유저B가 녹화 예약한 프로그램Z 및 프로그램Z에 출연하는 인물B가 유저A에게 추천되도록 한다. 이와 같이 하면, 유저A 측으로서는, 그 시점까지 인식하고 있지 않던 프로그램Z나 인물B에 대해서 새롭게 인식할 수가 있다. 인식하고 있지 않던 새로운 정보가 제시된다는 것은, 유저 측으로서는 유의(有意)한 정보이고, 서버(52)로부터 제공되는 정보의 신뢰성을 높일 수가 있다고 생각된다.
이와 같은 일은, 종래에도 비슷한 일은 행해지고 있었다. 예를 들면, 서적을 판매하고 있는 사이트에 있어서, 구입자A가 서적A를 구입한 경우, 마찬가지로 그 서적A를 구입한 구입자B가 구입한 서적B를, 구입자A에게 정보로서 제공하는 바와 같은 일은 행해지고 있었다. 이와 같은 경우, 구입자 A의 기호에 관해서는 고려되지 않고, 단지 구입자 A보다 앞의 시점에서 서적A를 구입한 구입자B가 존재하고, 그 구입자B가 구입한 것이 서적B이기 때문에, 그 서적B가 권장된다는 결과로 되어 있었다.
여기서, 종래 행해지고 있던 권장(필터링 처리)과, 본 실시예에서 행해지고 있는 권장(필터링 처리)을 비교하고, 그 차이를 설명한다. 도 39는, 종래 행해지고 있던 필터링 처리에 대해서 설명하기 위한 도면이다. 도 39에 도시한 바와 같이, 유저A 내지 유저Z가 시청한 프로그램(컨텐츠)의 이력이 관리되고 있는 상황을 생각한다. 예를 들면, 유저A에 컨텐츠를 권장하는 경우, 유저B 내지 유저Z로 구성되는 유저 그룹 중에서, 유저A와 동일한 컨텐츠를 많이 시청한 사람, 즉 컨텐츠의 이용의 상관도가 높은 유저가 검색된다.
그리고, 상관도가 높은 것으로서 검색된 유저가 이용한 컨텐츠 중에서, 유저A가 아직 이용한 적이 없는 컨텐츠가 권장으로서 유저A에 제시된다.
이와 같이 해서 유저 측에 정보를 제시하는 종래의 방법의 경우, 과거에 상관도가 높은 사람이 이용한 컨텐츠(프로그램) 밖에 권장할 수 없다는 문제가 있었다.
도 40은, 본 실시예에 있어서 행해지는 필터링 처리에 대해서 설명하기 위한 도면이다. 도 40에 도시한 바와 같이, 유저A 내지 유저Z가 이용한 컨텐츠의 이력이 관리되고 있는 상황을 생각하지만, 이력 중에는 각 컨텐츠의 메타 정보도 포함되어 있다. 더욱이 본 실시예에 있어서는 컨텐트 저장소(repository)도 관리된다. 컨텐츠 저장소란, 여기에서는 타겟 데이터베이스(252)에서 관리되고 있는 데이터이다.
예를 들면, 유저A에 컨텐츠를 권장하는 경우, 유저B 내지 유저Z로 구성되는 유저 그룹 중에서 유저A와 동일한 메타 정보(예를 들면, 출연자나 키워드 등을 정보로서 포함하고 있는)를 많이 이용한 사람, 즉, 메타 정보의 이용의 상관도가 높은 유저(즉, 기호가 비슷하다고 판단되는 유저)가 검색된다. 그리고, 상관도가 높은 것으로서 검색된 유저가 이용한 메타 정보 중에서, 유저A가 아직 이용한 적이 없는 메타 정보, 또는 이용 빈도가 낮은 메타 정보가 더 검색된다(따라서, 유저A 자체는, 인식하고 있지 않은 출연자나 키워드). 그리고, 그 검색된 메타 정보를 가지는 컨텐츠(프로그램)가 컨텐츠 저장소로부터 판독출력되고, 그 컨텐츠가 권장으로서 유저A에게 제시된다.
이와 같이 해서 유저 측에 정보를 제시하는 것에 의해, 예를 들면, 재이용되는 일이 없는 컨텐츠나 기간 한정으로 공급되는 컨텐츠 등의 추천을 행할 수 있게 됨과 동시에, 통상의 컨텐츠 등의 추천도 보다 적절히 행할 수 있게 된다. 더욱이 예를 들면, 컨텐츠의 추천 등에 의해 얻어진 키워드의 상관도를 이용하여, 다른 컨텐츠의 추천 등을 행하는 것도 가능해진다.
도 41에 도시한 플로우차트를 참조하여 본 실시예에 있어서의 필터링 처리에 대해서 설명한다. 스텝 S91에 있어서, 유저 사이의 상관도의 계산이 행해진다. 이 유저 사이의 상관도의 계산은 다음 수학식(1)에 의거하여 행해진다.
수학식(1)
상기 수학식(1)에 있어서, X υ 는, Valueυ에 대한 유저X의 평가(Score)를 나타내고, XΑ는 유저X의 평가의 평균값을 나타낸다. 마찬가지로, Y υ 는 Value υ에 대한 유저Y의 평가를 나타내고, YΑ는 유저Y의 평가의 평균값을 나타낸다. 상기 수학식(1)에 의거한 계산을 행하는 것에 의해, 유저X와 유저Y의 상관도(T_UM_ SIMILARITY)를 구할 수가 있다. 상기 수학식(1)에 있어서의 각 값은 T_UM_VALUE 데이터베이스(317)에서 관리되고 있는 값이 대입된다.
이와 같은 계산이 스텝 S91에서 행해지면, 스텝 S92에서 예측 벡터의 산출이 행해진다. 유저X의 Valueυ에 대한 예측 벡터의 산출은, 다음 수학식(2)에 의거하여 행해진다.
수학식(2)
상기 수학식(2)에 잇어서, XΑ는 유저X의 평가의 평균값을 나타내고, N은 Valueυ에 대한 유저X와의 상관도를 가지는 유저N의 평가를 나타내며, NΑ는 유저N의 평가의 평균값을 나타내고, SimXN은 스텝 S91에서 산출된 값이며, 유저X와 유저N의 상관도를 나타낸다.
이와 같이 해서 산출된 예측 벡터는 T_UM_VALUE 데이터베이스(317)에 기억된다. 도 30에 도시한 T_UM_VALUE 데이터베이스(317)의 부분에서 설명한 바와 같이, UMTypeID의 “3”은 이와 같은 필터링 처리에 의해 산출된 예측 벡터인 것을 나타내고 있다.
스텝 S91에서 산출된 상관도를 관리하는 데이터베이스를 기억부(208)(도 11)에 설치하도록 해도 좋다. 또한, 스텝 S92에 있어서 산출된 예측 벡터의 값은 T_UM_VALUE 데이터베이스(317)에 기억되도록 하였지만, 기억되지 않는 구성으로 하는 것도 가능하다. 상관도나 예측 벡터는 회원 등록되어 있는 유저 중의 1명이 녹화 예약이나 시청을 한 시점에서 새로운 데이터가 추가된(새롭게 계산의 대상이 되는 데이터가 추가된) 것으로 되고, 그 결과 기본적으로 다시 산출하지 않으면 안되게 된다.
이와 같은 것을 고려하면, 필요가 생긴 시점에서 산출하고, 항상 최신의 예측 벡터의 값을 이용할 수 있도록 해 두는 편이 좋다고도 생각되기 때문에, 기억시키지 않도록 하는 것도 가능하다. 따라서, 상관도를 관리하기 위한 데이터베이스를 설치하지 않은 경우나, 예측 벡터의 값을 T_UM_VALUE 데이터베이스(317)에 기억시키도록 하지 않은 경우, 필요에 따라서 예를 들면 유저에게 권장 화면을 제공하는 시점에서, 상관도나 예측 벡터를 산출하도록 하면 좋다.
또한, 상관도나 예측 벡터를 사전에 기억시키도록 한 경우일지라도, 그 기억되어 있는 데이터를 모두 재차 다시 산출하는 바와 같은 일은 하지 않고, 새롭게 로그가 생성된 유저에 대해서만(그 유저의 데이터에 대해서만), 상관도나 예측 벡터를 산출하는 바와 같은 처리를 행하도록 해도 좋다. 이와 같이 하면, 상관도나 예측 벡터를 산출하기 위해 필요한 시간을 단축시킬 수가 있다. 또한, 서버(52)에의 부담을 경감시킬 수 있다.
도 41에 도시한 플로우차트의 처리와 같이, 예측 벡터를 산출하도록 해도 좋지만, 예를 들면, 1만명의 회원이 존재하면 약 1만×1만의 계산이 최저한 필요하게 된다. 회원수가 늘어나면 그만큼 계산 회수가 증가하고, 시스템에 가해지는 부담이 증대한다. 그래서, 시스템에 가해지는 부담을 경감시킴과 동시에, 경감되어도 적절한 필터링 처리를 행할 수 있도록 하기(도 41에 도시한 플로우차트의 처리를 실행했을 때와 거의 마찬가지 효과가 얻어지도록 한다) 위한, 다른 필터링 처리에 대해 도 42의 플로우차트를 참조하여 설명한다.
도 42에 도시한 플로우차트의 처리에서는, 스텝 S101에서 유저 사이의 상관도가 계산되고, 스텝 S102에서 유저 그룹의 생성의 처리가 행해지며, 스텝 S103에서 예측 벡터의 산출이 행해진다. 도 41에 도시한 플로우차트의 처리와 비교하면, 도 42에 도시한 플로우차트의 처리에서는, 스텝 S102에 있어서의 유저 그룹의 생성 처리라는 처리가 추가된 구성으로 되어 있다. 이 유저 그룹의 생성 처리에 대해, 도 43의 플로우차트를 참조하여 설명한다. 또, 스텝 S101에 있어서의 상관도의 계산에 관련된 처리는, 스텝 S91(도 41)에 있어서의 상관도의 계산에 관련된 처리와 기본적으로 마찬가지이다.
스텝 S111에 있어서, 모든 유저가 각 그룹에 속해 있는 것으로 하여 그룹을 유저의 인원수 분 만큼 생성한다. 즉, 구성 인원수가 1명인 그룹이 유저수 분 만큼 생성된다. 예를 들면, 1만명의 유저가 존재하고 있으면 구성 인원수가 1명인 그룹이 1만 그룹 작성된다.
스텝 S112에 있어서, 상관도 데이터베이스(비 도시)가 참조되고, 상관도가 높은 순으로 소트 처리가 실행된다. 이 스텝 S112에서의 처리에 있어서는, 스텝 S101(도 42)에서 산출된 상관도가 이용된다. 상관도 데이터베이스가 설치되는 구성으로 되어 있는 경우, 스텝 S101에서 산출된 상관도가 상관도 데이터베이스에 기억되고, 그 기억된 상관도가 이용되어 스텝 S112의 처리가 실행된다. 한편, 상관도 데이터베이스가 설치되지 않은 구성으로 된 경우, 스텝 S101에서 상관도가 산출될 때마다 소트 처리가 반복되고, 스텝 S101에서의 상관도의 처리가 종료된 시점에서, 스텝 S112에서의 소트의 처리도 종료된다.
스텝 S111에서의 처리와 스텝 S112에서의 처리는, 시간적으로 전후 관계를 가지지 않으면 안되는 처리가 아니므로, 스텝 S112에서의 처리가 스텝 S111에서의 처리보다 앞의 시점에서 행해져도 좋고, 스텝 S111의 처리와 스텝 S112의 처리가 병렬적으로 행해져도 좋다.
스텝 S112까지의 처리가 종료되면 스텝 S113으로 처리가 진행된다. 스텝 S113에 있어서, 상관도가 높은 순으로 계산 대상으로 되어 있는 2명의 유저가 속하는 그룹이 통합되어 1개의 그룹으로서 설정된다. 이 처리에 의해, 상관도가 거의 동일한 유저끼리 1개의 그룹으로서 설정되게 된다. 예를 들면, 1만의 유저가 존재하고 1만의 그룹이 설정되어 있을 때에는, 이 스텝 S113에서의 처리로, 절반인 5천 그룹으로 다시 설정되게 된다.
스텝 S114에 있어서 다시 설정된 그룹수는, 최종적으로 구하고 싶은 그룹 이하로 되었는지의 여부가 판단된다. 스텝 S114에 있어서, 최종적으로 구하고 싶은 그룹수 이하로 되었다고 판단될 때까지, 스텝 S113과 스텝 S114의 처리가 반복된다.
예를 들면, 최종적으로 구하고 싶은 그룹이 2천 그룹 이하인 경우, 1만 그룹이 존재하고 있을 때를 생각한다. 우선, 1회 째의 스텝 S113에서의 처리로 5000 그룹(1그룹은 2명으로 구성된다)으로 되고, 2회 째의 스텝 S113의 처리로 2500 그룹(1그룹은 4명으로 구성된다)으로 되며, 3회 째의 스텝 S113의 처리로 1250 그룹(1그룹은 8명으로 구성된다)으로 된다. 이 시점에서, 2000 그룹 이하로 되기 때문에, 스텝 S114의 처리로, 최종적으로 구하고 싶은 그룹수에 도달했다고 판단되고, 유저 그룹의 생성 처리는 종료된다.
스텝 S113과 스텝 S114에서의 처리는, 소정의 그룹수 이하로 유저 그룹을 설정하기 위해 행해지는 처리이고, 상술한 바와 같은, 존재하는 그룹수를 절반의 그룹수로 하는 바와 같은 처리를 반복하는 방법에 한정되는 것은 아니다. 예를 들면, 모든 유저수(스텝 S111에서 작성된 모든 그룹수)를 목표로 하고 있는 그룹수로 제산(除算)하고, 그 결과 얻어진 수치를 1 그룹의 인원수로서 설정하며, 상관도가 높은 순으로 그 설정된 인원수마다 그룹을 다시 설정하도록 해도 좋다.
예를 들면, 1만의 그룹이 존재하고, 2천의 그룹수 이하로 하고 싶은 경우, 우선 1만을 2천으로 제산하여 5라는 결과를 얻는다. 따라서, 1 그룹을 5명으로 설정하고, 5명으로 구성되는 그룹을 상관도가 높은 순서대로 작성하면, 2천 그룹이생성되게 된다.
유저 그룹을 어떠한 방법을 이용해서 생성해도 좋지만, 상관도가 가까운 유저끼리가 1개의 그룹으로 되고, 그룹수의 총 수가 소정의 수 이하로 되면 좋다.이 그룹의 최종적인 수는 시스템에의 부하 등을 고려하여 설정되면 좋다.
이와 같이 해서 생성된 그룹마다, 예측 벡터가 스텝 S103에서 산출된다. 이 스텝 S103에서의 처리는 기본적으로, 스텝 S92(도 41)의 처리와 마찬가지이지만, 스텝 S92에서는 예를 들면 유저X와 유저Y와 같이, 소정의 유저와 다른 유저 사이의 예측 벡터가 구해지는 처리였다.
이것에 대해, 스텝 S103에 있어서는, 예를 들면 그룹 X와 그룹 Y와 같이, 소정의 그룹과 다른 그룹 사이의 예측 벡터가 구해진다. 이와 같이 한 경우, 예를 들면, 유저X의 예측 벡터는 그 유저X가 속하는 그룹X와 그룹Y의 예측 벡터로 된다.
또는, 스텝 S103에 있어서는, 예를 들면, 그룹X에 속하는 유저X와, 그 유저X 가 속하지 않은 다른 그룹Y와 같이, 소정의 유저와 소정의 그룹 사이의 예측 벡터가 구해지도록 해도 좋다.
어느 방법에 의해서도, 그룹이라는 개념을 이용하여 예측 벡터를 산출하는 편이 유저끼리 예측 벡터를 구하는 방법보다도 그 산출에 소요되는 처리를 경감시킬 수 있기 때문에, 산출에 소요된 시간을 단축하고, 시스템에 가해지는 부하를 저감시킬 수가 있다.
도 44는 다른 필터링 처리에 대해 설명하기 위한 플로우차트이다. 도 44에 도시한 플로우차트의 처리도, 그룹화를 전제로 하고 있지만, 상관도를 이용하지 않는 점이 도 42에 도시한 필터링 처리와 다르다. 스텝 S131에 있어서, 유저 그룹의 생성이 행해진다. 이 스텝 S131에서의 유저 그룹의 생성의 처리는, 예를 들면 로그 데이터베이스(253)(도 11)가 참조되어 행해진다. 로그 데이터베이스가 참조되고, 머지않아 동일한 정보를 이용한 유저끼리 그룹화된다. 이와 같이 하면, 이 필터링 처리가 실행되고 있는 시점에서, 동일한 흥미를 가지고 있는 유저끼리를 그룹화 할 수 있다고 생각된다.
이 때, 1 그룹에 속하는 인원수 등은 미리 설정되어 있거나, 또는 상술한 바와 같은 방법(예를 들면, 모든 유저수를 목표로 하는 그룹수로 제산한다)에 의해 설정된다. 그 설정되어 있는 인원수로 1 그룹이 구성되도록 그룹화의 처리가 실행된다. 또, 이 그룹화의 처리는 관리자가 수작업에 의해 행하는 것도 당연히 가능하다.
이와 같은 그룹화(유저그룹의 생성)가 종료되면, 스텝 S132에서 예측 벡터가 산출된다. 이 예측 벡터의 산출은, 스텝 S103(도 42)에서의 처리와 기본적으로 마찬가지로 행해지기 때문에, 여기에서는 그 설명을 생략한다. 이 경우, 그룹에 속하는 유저의 각 Value에 대한 평균값이, 그 그룹에 속하는 모든 유저에 대한 예측 벡터로서 설정된다.
그룹화나 예측 벡터의 산출을, 필요가 있을 때에 그 시점에서 행하는 것이 아니라, 사전에 실행하여 기억시키도록 한 경우, 그 기억되어 있는 데이터를 재차 다시 산출하는 바와 같은 일은 하지 않고, 새롭게 로그가 생성된 유저에 대해서만(그 유저의 데이터에 대해서만) 처리를 실행하도록 해도 좋다. 이와 같이 하면, 예측 벡터를 산출하기 위해 필요한 시간을 단축시킬 수가 있다. 또한, 서버(52)에의 부담을 경감시킬 수가 있다.
도 41 내지 도 44에 도시한 각 플로우차트의 처리 중, 어느 처리에 의거하여 예측 벡터가 구해져도 좋다.
또, 상술한 필터링의 처리에 있어서, 계산에 이용하는 상관도(SimXN)에 관해, 소정의 값 이상의 상관도를 가지는 유저만 계산에 이용하도록(임계값을 설정하고, 그 임계값 이상의 상관도를 가지는 유저만을 계산 대상의 유저에 설정하도록) 해도 좋다. 이와 같이 하면, 예측 벡터의 산출에 걸리는 시간을 단축시킬 수가 있고, 또한 산출을 위해 가해지는 부하를 경감시킬 수가 있다.
또한, 예측 벡터가 소정의 유저에 적용될 때, 그 유저가 가지지 않은 모든 Value에 관한 요소를, T_UM_VALUE 데이터베이스(317)에 등록하는 것이 아니라, 상위의 소정수만을 등록하도록 해도 좋다. 이와 같이, 등록되는 요소에 제한을 가하는 것에 의해, 데이터베이스의 리소스(resource)의 절약, 계산 속도의 향상을 도모하는 것이 가능해진다.
가령, 예측 벡터의 정보만을 이용하여, 유저에게 권장의 프로그램을 추천하는 바와 같은 경우, 유저가 이미 가지고 있는 Value에 관해서도 예측 벡터를 구하고, 권장 프로그램의 검색 등에 이용할 수가 있다. 유저의 현재의 프로파일(학습이나 등록에 의해 구해진 프로파일)이 “당연히, 이와 같이 되는 것이 아닐까”, “장래적으로는, 이와 같은 식으로 될 것”이라는 관점에서의 권장이 가능해진다.
이와 같이 본 실시예에 있어서는, 유저 측에 추천하는 프로그램을 검색할 때의 정보{T_UM_VALUE 데이터베이스(317)의 데이터(요소)}는 등록, 학습, 필터링이라는 각각의 처리가 종합적으로 실행되는 것에 의해 작성된다.
다음에, 작성된 이들 데이터베이스를 이용하여, 추천하는 프로그램의 검색(권장 화면의 작성)에 대해 설명한다. 도 45의 플로우차트를 참조하여, 소정의 유저에 대해서 추천하는 프로그램을 검색하고, 그 검색된 프로그램의 정보를 취득할 때까지의 처리에 대해 설명한다.
스텝 S161에 있어서, 유저가 로그인 해 오기 때문에, 그 로그인에 대응하기 위한 처리가 실행된다. 이 로그인에 관련되는 처리는, 유저관리 기능(232)(도 10)에서 행해진다. 유저는 유저 단말(53)(도 3)을 이용하여, 자기의 유저ID와 패스워드를 서버(52)에 대해 송신한다. 그 송신된 유저ID와 패스워드는, 서버(52)의 정보통신 기능(236)(도 10)의 제어에 의해 수신되고, 유저관리 기능(232)에 공급된다. 유저관리 기능(232)은 공급된 유저의 유저ID와 패스워드의 조(組)가, 유저 데이터베이스(254)에 기억되어 있는지의 여부를 판단한다.
공급된 유저ID와 패스워드의 조가, 유저 데이터베이스(254)에 기억되어 있다고 판단된 경우, 로그인의 처리는 정상적으로 행해지게 되고, 스텝 S162로 처리가 진행되지만, 로그인의 처리가 정상적으로 행해지지 않은 경우에는, 스텝 S162로 처리가 진행되는 일 없이, 에러 처리, 예를 들면 로그인을 요구해 온 유저에 대해, 로그인이 정상적으로 행해지지 않았음을 나타내는 메시지를 송부하는 등의 처리가 실행되고, 도 45에 도시한 플로우차트의 처리는 종료된다.
스텝 S162에 있어서, 대상 유저 모델이 취득된다. 대상 유저 모델의 취득이란, T_UM_VALUE 데이터베이스(317)로부터 로그인 해 온 유저에 관련된 정보가 판독출력되는 것을 의미한다. 스텝 S161에서의 로그인의 처리로 로그인 해 온 유저가 판별되고 있기 때문에, MemberID를 취득할 수 있는 상태로 되어 있다. 그래서, 로그인 해 온 유저의 MemberID를 유저 데이터베이스(254)로부터 판독출력하고, 그 MemberID에 대응하는 데이터가 T_UM_VALUE 데이터베이스(317)로부터 판독출력된다.
이 스텝 S162 이후의 처리는, 정보선별 기능(233)에 의해 행해진다. 로그인의 처리를 실행하는 것은, 상술한 바와 같이 유저관리 기능(232)이지만, 유저관리 기능(232)은 로그인의 처리를 실행한 결과, 취득한 MemberID를 정보선별 기능(233)에 공급한다. 정보선별 기능(233)은 공급된 MemberID를 이용하여, 스텝 S162에서의 처리를 실행한다.
정보 선별기능(233)은, 스텝 S162의 처리를 실행함과 동시에, 병렬적으로 스텝 S163의 처리도 실행한다. 스텝 S163에 있어서, 유저 정보로부터 대상 정보를 한정할 필요가 있는지의 여부가 판단된다. “유저 정보”란, 여기에서는 유저가 살고 있는 지역, 유저가 가지는 시청 권한, 유저의 연령이나 성별 등이다. 또한, “대상 정보를 한정할 필요가 있는지의 여부”란, 예를 들면 일부 지역에서는 방송되지 않는 프로그램이 존재하는 경우, 로그인 해 온 처리 대상으로 되어 있는 유저가, 그 지역에 살고 있는지의 여부가 판단되고, 살고 있는 지역에 방송되는 프로그램만이 제공되도록 정보를 선택하는 것을 의미한다.
시청 권한에 의해 대상 정보를 한정할 필요가 있는 경우, 예를 들면 유료 방송을 시청할 권한이 있는지의 여부, 그와 같은 권한이 있다고 판단되었을 때일지라도, 어떠한 범위로 권한을 가지고 있는 것인지 등이 판단되며, 대상 정보의 한정이 행해진다. 또한, 연령에 따라 대상 정보를 한정할 필요가 있을 경우, 예를 들면 성인용의 프로그램이 성인이 아닌 유저에 대해서는 권장되는 일이 없도록, 성인이 아닌 유저가 로그인 해 왔을 때에는 대상 정보의 한정이 행해진다.
성별에 따라 대상 정보를 한정할 필요가 있는 경우, 예를 들면 남성용의 프로그램을 여성에 대해서 권장되는 일이 없도록 하는 편이 바람직할 때에는, 대상 정보의 한정이 행해진다. 그러나, 성별에 따라 대상 정보를 한정할 필요성은 다른 유저 정보에 의해 대상 정보를 한정할 필요성보다 낮고, 반드시 설치하지 않으면 안되는 대상은 아니다.
스텝 S163에 있어서, 유저 정보로부터 대상 정보를 한정할 필요가 있다고 판단된 경우, 스텝 S164로 처리가 진행되고, 대상 정보를 한정할 필요가 없다고 판단되었을 경우, 스텝 S164의 처리는 스킵 되며, S165로 처리는 진행된다. 스텝 S164에서 정보 데이터의 선별이 행해진다. 이 정보 데이터의 선별은 로그인 해 온 유저에게 권장 프로그램으로서 추천할 수 없는 프로그램을 배제하기 위해서 행해진다. 배제되고 남은 프로그램이 스텝 S165에 있어서의 처리의 대상으로 된다.
한편, 스텝 S164의 처리가 스킵되어 스텝 S165로 처리가 진행된 경우에는, 정보 데이터를 선별할 필요가 없기 때문에 모든 프로그램이 처리 대상으로 된다. 스텝 S165에 있어서, 처리 대상으로 되어 있는 프로그램의 정보 메타 데이터가 취득된다. 이 정보 메타 데이터는 T_PRG_VALUE 데이터베이스(316)(도 29)에서 관리되고 있는 데이터이다.
스텝 S165에 있어서, 처리 대상으로 된 프로그램의 정보 메타 데이터가 취득되면, 스텝 S166에 있어서, 추천대상 정보의 득점 계산 및 선별의 처리가 실행된다. 이 처리는 스텝 S162에서 취득된 대상 유저모델{T_UM_VALUE 데이터베이스(31 7)}의 Score와, 스텝 S165에서 취득된 정보 메타 데이터{T_PRG_VALUE 데이터베이스 (316)}의 Score가 이용되어 행해진다. 예를 들면, 벡터 연산 등의 득점 계산 방법에 의해 값이 산출되고, 그 값을 기초로 프로그램의 랭킹이 부여된다. 이 처리에 의해 연산된 득점은, 예를 들면 도 8에 도시한 권장 화면 내의 권장도 표시부(156) 에 표시되는 득점으로 된다.
이와 같이 해서, 각 프로그램의 득점이 연산되고, 그 득점이 높은 순으로 랭킹이 부여되면, 스텝 S167로 처리가 진행된다. 스텝 S167에 있어서, 추천 대상으로 된 프로그램의 정보의 취득이 행해진다. 추천 대상으로 된 프로그램이란, 랭킹의 상위에 위치하는, 소정 수의 프로그램(예를 들면, 10개의 프로그램)이다. 그 소정 수의 프로그램의 정보가 취득되는 것이지만, 이 취득은 정보선별 기능(233)에 의해 행해진다. 정보선별 기능(233)은 랭킹의 상위에 위치하는 프로그램의 식별자 (ProgramID)를 취득한다.
그 ProgramID를 기초로, 출연자(PersonID)나 키워드(KeywordID)라는 프로그램에 관한 정보를 취득한다. 이와 같이 해서, 복수의 프로그램의 정보가 순차 취득된다.
유저에게 권장으로서 추천되는 복수의 프로그램의 정보가 취득된 후의 처리에 대해, 도 46의 플로우차트를 참조하여 설명한다. 스텝 S181에 있어서, 추천 정보의 취득이 행해진다. 이 처리는 스텝 S167(도 45)을 말한다. 스텝 S182에 있어서, 추천 정보의 추천도를 산출할 때에, 산출 대상으로 된 Value(ValueID에 의해 식별되는 요소)에 관하여, 각 Value마다의 스코어로 소트 처리가 실행된다.
스텝 S183에 있어서, 소트 된 상위의 Value에 대해, 그 Value에 관련지어져 있는 AttributeID와 ValueID의 조를 이용하여, M_REASON 데이터베이스(280)(도 21)로부터 권장 이유가 취득된다. 예를 들면, 소트 된 결과, 상위의 Value로 된 AttributeID가 “001”, ValueID가 “1000”인 경우, “스포츠”라는 권장 이유가 취득된다.
스텝 S184에 있어서, ReasonType의 표시 상한 개수와 ReasonType마다 지정된 조건을 만족시키고 있는지 여부가 판단된다. 여기서, ReasonType에 관련된 사항에 대해서 설명한다. ReasonType란 도 8에 도시한 권장 화면 중, 이유 표시부(155)에 표시되는 이유(Reason)의 개수 등을 제한하기 위해 설정되어 있는 것이다. 도 47에 ReasonType를 설정하기 위한 데이터를 나타내고, 도 48에 각 ReasonType마다의 표시 개수를 설정하기 위한 데이터를 나타낸다. 도 47이나 도 48에 도시한 표시 개수를 제어하기 위한 데이터에 의거한 처리는, 예를 들면 정보선별 기능(233)의 1 기능으로서 내장되고, 실행된다.
도 47에 도시한 데이터 중, 1행 째는 ReasonType를 지정하는 데이터인 것을 선언하기 위한, 그리고, 2행 째 이후의 데이터 형식을 규정하기 위한 데이터이다. 2행 째 이후의 데이터에 있어서 “Normal”은 UMType를 나타내고, 도 30에 도시한 T_UM_VALUE 데이터베이스(317)의 설명에 있어서는, UMTypeID=“2”로 기재한 사항과 동일한 의미를 가진다. 즉, “Normal”은 학습에 의해 등록된 요소인 것을 나타낸다.
“Prior”는 도 30에 도시한 T_UM_VALUE 데이터베이스(317)의 설명에 있어서는, UMTypeID=“1”로 기재한 사항과 동일한 이유를 가진다. 즉, “Prior”는 유저 자신이 등록한 요소인 것을 나타낸다. 더욱이, “Expected”는 도 30에 도시한 T_UM_VALUE 데이터베이스(317)의 설명에 있어서는, UMTypeID=“3”으로 기재한 사항과 동일한 이유를 가진다. 즉, “Expected”는 필터링 처리에 의해 등록된 요소를 의미한다.
2행 째 이후는, 동일한 형태로 데이터가 기재되어 있으므로, 2행 째를 예로 들어 그 데이터에 대해서 설명한다. 2행 째에는, “ReasonType. Normal. Category=4”라는 기재가 있다. 우선, “ReasonType”는 그 행의 데이터가 Reason Type를 설정하는 것인 것을 선언하고 있다. 다음의 “Normal”은 UMType를 나타내고 있다. 그리고, “Category=4”는, “Category”는 “4”라는 ReasonType 에 속하는 것을 나타내고 있다. 정리하면, 2행 째의 기재가 의미하는 것은, 이 경우 학습에 의해 등록되고, Attribute로서 “Category”에 속하는 것은 ReasonType이 “4”로 설정되는 것을 나타내고 있다.
도 48은 이와 같은 ReasonType 마다의 ReasonType 표시 개수를 설정하기 위한 데이터이다. 2행 째의 “# [0] 등록 키워드, 인물(합계 5건 이내)”라는 기재를 예로 들어, 도 48에 도시한 데이터에 대해 설명한다. “# [0]”은 ReasonType가 “0”인 내용을 나타내는 데이터가, 2행 째에는 기재되어 있는 것을 나타내고 있다. “# [0]”에 이어지는 “등록 키워드, 인물(합계 5건 이내)”라는 기재는, “등록 키워드, 인물”이라는 항목이 이유 표시부(155)에 표시되는 경우, 이 항목에 대응하는 키워드나 인물은 합쳐서 5건 이내 밖에 표시해서는 안된다는 규정이다. 바꾸어 말하자면, 이 경우 Attribute가 “Keyword”나 “Person”인 Reason(도 21)은, 합계 5건까지 밖에, 이 항목의 란에는 표시시켜서는 안된다는 제한이 규정되어 있다.
도 47과 도 48에 도시한 데이터에 의해, 도 8에 도시한 권장 화면 내의 이유 표시부(155)의 표시에 제어가 가해지게 된다. 여기서, 권장 화면의 이유 표시부(155)의 표시와 아울러, 도 47과 도 48에 도시한 데이터에 대한 설명을 더 첨가한다. 우선, 스텝 S183에 있어서의 처리에 있어서, AttributeID로서 “001”, ValueID로서 “1000”이 취득되었다고 한다. AttributeID “001”, ValueID “1000”의 조를 M_REASON 데이터베이스(280)(도 21)를 참조하면, “스포츠”라는 말이 관련지어져 있기 때문에, 추천 이유(Reason)로서 “스포츠”라는 말이 유저 측에 제시되는 것으로서 결정된다.
더욱이, AttributeID “001”, ValueID “1000”의 조를 T_UM_VALUE 데이터베이스(317)(도 30)를 참조해서 검출하면, UMTypeID가 “1”인 것을 알 수 있다. UMTypeID “1”은 UMType로서는 “Prior”이다. 또한, AttributeID “001”은 M_CA TEGORY 데이터베이스(271)(도 12)에 할당된 ID이기 때문에, Attribute로서는 “Category”인 것을 알 수 있다. 여기까지의 처리에서 권장 이유로서 표시시키려고 하고 있는 “스포츠”라는 말은 “Prior”이고, “Category”인 것을 알 수 있다.
도 47을 참조하면, “Prior”, “Category”의 조합은 12행 째에 존재한다. 12행 째의 기재로부터, ReasonType가 “1”임을 알 수 있다. 그래서, 도 48의 데이터를 참조하면, ReasonType=1 에 대해서는 4, 5행 째에 기재가 있다. 4행 째의 기재로부터 “등록 장르”라는 항목의 란에 표시되는 것을 알 수 있다. 또한, 이 항목에는 1건 밖에 표시해서는 안된다는 규정으로 되어 있음을 알 수 있다.
결과로서, 이 경우, 이유 표시부(155)에는
등록 장르:「스포츠」
라는 표시가 되게 된다.
또, 이와 같은 처리가 행해진 후에 “Prior”, “Category” 및 ReasonType “1”의 Value가 스텝 S183에서 취득된 경우, 이미 “스포츠”라는 말이 할당되어 있기 때문에, 그 취득된 Value는 처리 대상으로는 되지 않고 파기된다. 또한, 스텝 S182에서 소트를 실시하고 있기 때문에, 파기되는 Value는 항상, 이미 처리를 필(畢)한 Value보다도 낮은 값을 가지는 것이기 때문에, 결과로서 유저에게 제시되는 것은 항상 Value가 높은 것만으로 된다.
이 설명은, 스텝 S183과 스텝 S184의 처리에 대한 설명이지만, 실제로 상술한 바와 같은 순서대로 데이터베이스 등이 참조되면서 행해질 필요는 없다. 즉, 스텝 S183의 처리가 실행되기 전의 단계에서, 예를 들면 UMTypeID 등은 판단되고 있기 때문에, 또는 판단되도록 하면 스텝 S183,S184의 처리에 있어서 T_UM_VALUE 데이터베이스(317)를 재차 참조할 필요성은 없다. 따라서, 적절히 처리의 중복이 없도록 각 처리가 실행되면 좋고, 어느 타이밍에서, 어떠한 데이터베이스가 참조되는지 등은 상술한 설명에 한정되는 것은 아니다.
이와 같이 도 47과 도 48에 각각 나타낸 데이터에 의거한 제어에 의해, 스텝 S184(도 46)의 판단이 행해진다. 스텝 S184에 있어서, ReasonType의 표시 상한 개수(도 47에 도시한 데이터에 의해 제한이 가해진다)와, ReasonType마다 지정되어 있는 조건(도 48에 도시한 데이터에 의해 제한이 가해진다)을 만족시키고 있다고 판단될 때까지, 스텝 S183과 스텝 S184의 처리가 반복되고, 만족시키고 있다고 판단되면, 도 46에 도시한 플로우차트의 처리는 종료된다.
즉, 도 46에 도시한 플로우차트의 처리가 종료되면, 유저 측에 권장 화면을 제시하기 위한 데이터가 모두 갖춰진 것으로 되기 때문에, 그 갖추어진 데이터가 유저 측의 유저 단말(53)에 송신된다.
여기서 더욱이, 스텝 S183에 있어서의 처리에 대해 설명을 더한다. 스텝 S183에 있어서는, M_REASON 데이터베이스(280)가 참조된다. 예를 들면, Attribute ID로서 “005”가, ValueID로서 “0000000006”이 취득된 경우를 생각한다. 이 AttributeID와 ValueID의 조합과 관련지어져 있는 것은, 도 16의 M_KEYWORD 데이터베이스(275)를 참조하면, “에로틱”이라는 말임을 알 수 있다. 그러나, 이미 설명한 바와 같이, 이 “에로틱”이라는 말은 유저 측에 제시하는 말로서는 적절하지 않다고 판단되고 있기 때문에, M_REASON 데이터베이스(280)(도 21)에는 기재되어 있지 않다.
따라서, 스텝 S183에 있어서의 처리에서 AttributeID “005”, ValueID “0000000006”의 조가 취득되었다고 하더라도, 권장 이유로서 M_REASON 데이터베이스(280)로부터 판독출력되는 데이터는 없는 것으로 된다. 이와 같은 경우, 스텝 S184의 처리를 행할 필요가 없기 때문에, 행하지 않고서 다음의 요소(Value)에 대해서 스텝 S183의 처리가 실행되도록 해도 좋다. 어느 것으로 하더라도, M_REASON 데이터베이스(280)에 기재가 없는 Reason은 유저 측에는 제시되지 않는다고 하는 제어가 행해지게 된다.
도 46에 도시한 플로우차트의 처리에서는, 도 21에 도시한 바와 같은 M_REASON 데이터베이스(280)가 참조되는 것으로 하여 설명하였다. 그러나, 도 21에 도시한 바와 같은 M_REASON 데이터베이스(280)를 가지지 않고, 도 17에 도시한 M_KEYWORD_1 데이터베이스(276)를 가지고 있는 바와 같은 경우에서도, 도 49의 플로우차트의 처리에 따르면, 기본적으로 도 46에 도시한 처리를 실행했을 때와 마찬가지의 처리를 행할 수가 있다.
도 49에 있어서의 스텝 S201, 스텝 S202 및 스텝 S204의 처리는, 도 46의 스텝 S181, 스텝 S182 및 스텝 S184의 처리와 기본적으로 마찬가지이므로, 그 설명은 생략한다. 스텝 S203에 있어서, 소트 된 상위의 Value에 대해, 해당 마스터 테이블이 참조되고, 해당 ValueID가 이용되며, 권장 이유(Reason)가 취득된다. 이 처리도 기본적으로는 도 46에 도시한 플로우차트의 스텝 S183의 처리와 마찬가지이지만, 참조되는 데이터베이스가 다르다.
스텝 S203에 있어서는, M_KEYWORD_1 데이터베이스(276)가 참조된다. 예를 들면, ValueID(이 경우, KeywordID가 된다)가 “0000000008”인 경우 M_KEYWORD_1 데이터베이스(276) 내의 Reason의 란이 참조되고, “득이 되는 정보”라는 것이 판독출력된다. 또한, 예를 들면 ValueID가 “0000000006”인 경우, M_KEYWORD_1 데이터베이스(276) 내의 Reason의 란이 참조되지만, 공란(NULL)으로 되어 있기 때문에, 판독출력되는 데이터는 없고, 이 ValueID “0000000006”에 대한 처리는 종료되고, 다음의 ValueID에 대한 처리로 이행된다.
이와 같이, M_KEYWORD_1 데이터베이스(276)를 이용하여, 도 49에 도시한 플로우차트의 처리를 실행한 경우에도, 유저에게 제시되는 말로서 부적절한 말은 제시되지 않거나, 또는 다른 말로 변환되어 제시되도록 제어하는 것이 가능하다.
M_KEYWORD_1 데이터베이스(276) 대신에, M_KEYWORD_2 데이터베이스(277)(도 18)가 구비되어 있는 경우, 도 50의 플로우차트에 의거한 처리가 실행된다. 이 경우, 스텝 S211, 스텝 S212 및 스텝 S214는 도 46의 스텝 S181, 스텝 S182 및 스텝 S184의 처리와 기본적으로 마찬가지이므로 그 설명은 생략한다.
스텝 S213에 있어서는, M_KEYWORD_2 데이터베이스(277)가 참조된다. 예를 들면, ValueID(이 경우, KeywordID가 된다)가 “0000000001”인 경우 M_KEYWORD_2 데이터베이스(277) 내의 Keyword의 란이 참조되고, “정보”라는 것이 판독출력되며, Display 란(欄)의 “1”이라는 값이 판독출력된다. 이 Display 란의 “1”이라는 값(플래그)은, 유저 측에 제시되는 것으로서 설정되어 있는 것을 나타낸다.
예를 들면, ValueID(이 경우, KeywordID가 된다)가 “0000000008”인 경우, M_KEYWORD_2 데이터베이스(277) 내의 Keyword 란이 참조되고, “득”이라는 것이 판독출력되며, Display 란의 “0”이라는 값이 판독출력된다. 이 Display 란의“0”이라는 값(플래그)은 유저 측에 제시되지 않는 것으로서 설정되어 있는 것을 나타낸다. 따라서, 결과로서 유저 측에는 제시되지 않기 때문에, 이와 같은 처리를 행할 필요도 없고, Display 란이 “0”일 때에는 “0”이라고 판단된 시점에서, 처리는 다음의 ValueID의 요소로 이행된다.
이와 같이, M_KEYWORD_1 데이터베이스(276)를 이용하여, 도 50에 도시한 플로우차트의 처리를 실행한 경우에도, 유저에게 제시되는 말로서 부적절한 말은 제시되지 않도록 제어하는 것이 가능하다. 그러나, 도 18에 도시한 M_KEYWORD_2 데이터베이스(277)를 이용한 처리에서는, 유저에게 제시하기에는 적절하지 않은 말을 다른 말로 변환해서 제시하는 바와 같은 처리는 할 수 없다. 따라서, 다른 말로 변환하지 않아도 좋은 시스템에 있어서는, 유효한 처리의 방법이다.
이와 같이 본 발명에 있어서는, 유저 측에 제시하는 말을 제어할 수가 있다. 본 실시예에 있어서는, 주로 프로그램을 추천하는 경우를 예로 들어 설명하였지만, 프로그램 이외의 정보를 추천하는 바와 같은 경우에도 본 발명을 적용할 수 있다. 소정의 정보를 유저에게 추천할 때, 왜 그 정보가 추천되었는지, 그 근거를 유저 측에 제시할 수가 있고, 또한 그 제시되는 내용은 유저가 인식하기 쉬운 말로 제시되기 때문에, 유저는 제시되는 내용을 이해하기 쉽게 되며, 제시되는 내용에 신뢰성을 가질 수가 있게 된다.
또한 본 발명에 의하면, 그 제시되는 내용은 유저의 기호를 잘 고려한 것으로 할 수가 있다. 그 이유는, 상술한 바와 같이 유저의 기호에 관한 데이터를 등록, 학습, 필터링이라는 복수의 처리를 종합적으로 행하도록 하였기 때문에, 보다 상세하게 유저의 기호를 해석할 수가 있게 된다.
상술한 일련의 처리는, 각각의 기능을 가지는 하드웨어로 실행시킬 수도 있지만, 소프트웨어로 실행시킬 수도 있다. 일련의 처리를 소프트웨어로 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이 전용의 하드웨어에 내장되어 있는 컴퓨터, 또는 각종 프로그램을 인스톨하는 것으로, 각종 기능을 실행하는 것이 가능한, 예를 들면 범용의 퍼스널컴퓨터 등에, 기록 매체로부터 인스톨된다.
기록 매체는, 도 4에 도시하는 바와 같이 퍼스널컴퓨터와는 별도로, 유저에게 프로그램을 제공하기 위해서 배포되는, 프로그램이 기록되어 있는 자기 디스크 (91)(플렉시블 디스크를 포함한다), 광 디스크(92){CD-ROM(Compact Disc-Read Only Memory), DVD(Digital Versatile Disc)를 포함한다}, 광학자기 디스크(93){MD (Mini-Disc)(등록상표)를 포함한다}, 혹은 반도체 메모리(94) 등으로 이루어지는 패키지 미디어에 의해 구성될 뿐만 아니라, 컴퓨터에 미리 내장된 상태로 유저에게 제공되는, 프로그램이 기억되어 있는 ROM(72)이나 기억부(78)가 포함되는 하드디스크 등으로 구성된다.
또, 본 명세서에 있어서 매체에 의해 제공되는 프로그램을 기술하는 스텝은, 기재된 순서에 따라서 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않아도 병렬적 혹은 개별적으로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에 있어서 시스템이란, 복수의 장치에 의해 구성되는 장치 전체를 나타내는 것이다.
본 발명에 의하면, 정보, 특히 텔레비젼 방송의 프로그램에 관한 정보를 제공하는 것이 가능해진다.
본 발명에 의하면, 유저의 기호를 고려한, 예를 들면 텔레비젼 방송의 프로그램에 관한 정보를 제공할 수가 있다. 또한, 개개의 유저마다 주문제작된 (customized) 정보를 제공할 수가 있기 때문에, 그 정보를 제공하는 측으로의 액세스를 증가시키는 것이 가능해진다.
본 발명에 의하면, 유저에 대해 정보를 제공할 때, 그 정보를 제공하는 근거(키워드 등)를 아울러 제공하는 것이 가능해진다. 따라서, 유저 측은 제공된 정보가 어떠한 키워드에 의거하여 선택되고, 제공되었는지를 인식하는 것이 가능해진다.
더욱이 본 발명에 의하면, 유저 측에 제공하는 키워드 등은, 제공하는 측에서 제어할 수가 있기 때문에, 예를 들면 유저에게 제공하기에는 적합하지 않은 키워드이지만, 유저에게 제공하는 정보를 검색할 때에는 적합한 키워드인 바와 같은 키워드를 관리하는 것이 가능하게 되고, 보다 적절한 정보 제공이 가능해진다.
도 1은 종래의 EPG 화면에 대해서 설명하기 위한 도면.
도 2는 종래의 프로그램의 권장 화면에 대해서 설명하기 위한 도면.
도 3은 본 발명을 적용한 시스템의 하나의 실시예의 구성을 도시하는 도면.
도 4는 유저 단말의 내부 구성예를 도시하는 도면.
도 5는 유저 단말의 기본적인 처리를 설명하기 위한 플로우차트.
도 6은 EPG의 화면예를 도시하는 도면.
도 7은 권장 화면의 하나의 예를 도시하는 도면.
도 8은 권장 화면의 다른 예를 도시하는 도면.
도 9는 서버의 내부 구성예를 도시하는 도면.
도 10은 서버의 기능에 대해서 설명하는 기능 블록도.
도 11은 기억부에 기억되어 있는 데이터베이스에 대해서 설명하기 위한 도면.
도 12는 M_CATEGORY 데이터베이스에 대해서 설명하기 위한 도면.
도 13은 M_PERSON 데이터베이스에 대해서 설명하기 위한 도면.
도 14는 M_PERSON_CHARACTER 데이터베이스에 대해서 설명하기 위한 도면.
도 15는 M_VIEW_TYPE 데이터베이스에 대해서 설명하기 위한 도면.
도 16은 M_KEYWORD 데이터베이스에 대해서 설명하기 위한 도면.
도 17은 M_KEYWORD_1 데이터베이스에 대해서 설명하기 위한 도면.
도 18은 M_KEYWORD_2 데이터베이스에 대해서 설명하기 위한 도면.
도 19는 M_AGE 데이터베이스에 대해서 설명하기 위한 도면.
도 20은 M_GENDER 데이터베이스에 대해서 설명하기 위한 도면.
도 21은 M_REASON 데이터베이스에 대해서 설명하기 위한 도면.
도 22는 마스터 데이터베이스로부터 정보를 검출할 때의 처리에 대해서 설명하기 위한 도면.
도 23은 마스터 데이터베이스로부터 정보를 검출할 때의 처리에 대해서 설명하기 위한 도면.
도 24는 T_PERSON_TARGET_GENDER 데이터베이스에 대해서 설명하기 위한 도면.
도 25는 T_PERSON_TARGET_AGE 데이터베이스에 대해서 설명하기 위한 도면.
도 26은 T_PERSON_VIEW_TYPE 데이터베이스에 대해서 설명하기 위한 도면.
도 27은 T_PERSON_CHARACTER 데이터베이스에 대해서 설명하기 위한 도면.
도 28은 T_PRG_VALUE 데이터베이스에 대해서 설명하기 위한 도면.
도 29는 T_PRG_VALUE 데이터베이스에 대해서 설명하기 위한 도면.
도 30은 T_UM_VALUE 데이터베이스에 대해서 설명하기 위한 도면.
도 31은 T_PRG_VALUE 데이터베이스를 작성할 때의 처리에 대해서 설명하기 위한 플로우차트.
도 32는 표시되는 정보와, 그 정보에 관한 데이터의 관계에 대해서 설명하기 위한 도면.
도 33은 T_UM_VALUE 데이터베이스를 작성할 때의 처리에 대해서 설명하기 위한 플로우차트.
도 34는 T_UM_VALUE 데이터베이스를 작성할 때의 다른 처리에 대해서 설명하기 위한 플로우차트.
도 35는 Score의 변경에 관련된 처리에 대해서 설명하기 위한 도면.
도 36은 요소의 추가에 관한 처리에 대해서 설명하기 위한 도면.
도 37은 학습 처리를 한 경우와, 학습 처리를 하지 않은 경우를 비교하기 위한 그래프.
도 38은 필터링 처리를 행하는 이유에 대해서 설명하기 위한 도면.
도 39는 다른 유저의 이력으로부터 소정의 컨텐츠를 추천하는 경우의 처리에 대해서 설명하기 위한 도면.
도 40은 다른 유저의 이력으로부터 소정의 컨텐츠를 추천하는 경우의 처리에 대해서 설명하기 위한 도면.
도 41은 필터링 처리에 대해서 설명하기 위한 플로우차트.
도 42는 필터링 처리에 대해서 설명하기 위한 플로우차트.
도 43은 유저 그룹의 작성에 대해서 설명하기 위한 플로우차트.
도 44는 필터링 처리에 대해서 설명하기 위한 플로우차트.
도 45는 추천하는 프로그램의 검색에 관련된 처리에 대해서 설명하기 위한 플로우차트.
도 46은 추천 이유를 취득할 때의 처리에 대해서 설명하기 위한 플로우차트.
도 47은 ReasonType에 관련된 처리를 실행하는 데이터에 대해서 설명하기 위한 도면.
도 48은 ReasonType에 관련된 처리를 실행하는 데이터에 대해서 설명하기 위한 도면.
도 49는 추천 이유를 취득할 때의 처리에 대해서 설명하기 위한 플로우차트.
도 50은 추천 이유를 취득할 때의 처리에 대해서 설명하기 위한 플로우차트.
<도면의 주요 부분에 대한 부호의 설명>
51 : 네트워크 52 : 서버
53 : 유저 단말 54 : 방송국
101 : 디스플레이 112 : 권장 마크
113 : 권장 버튼 114 : 랭킹 버튼
151 : 프로그램 표시부 152 : 방송시간 표시부
153 : 내용 표시부 154 : 출연자 표시부
155 : 이유 표시부 156 : 권장도 표시부
231 : 로그생성 기능 232 : 유저관리 기능
233 : 정보선별 기능 234 : 서비스관리 기능
235 : 유저모델관리 기능 236 : 정보통신 기능
237 : 대상정보 메타데이터 관리 기능 238 : 서비스일반 기능
251 : 마스터 데이터베이스 252 : 타겟 데이터베이스
253 : 로그 데이터베이스 254 : 유저 데이터베이스

Claims (5)

  1. 유저의 정보에 관한 제 1 데이터를 관리하는 제 1 관리 수단과,
    정보에 관한 제 2 데이터를 관리하는 제 2 관리 수단과,
    상기 유저가 이용한 상기 정보에 관한 상기 제 2 데이터를 추출하는 추출 수단과,
    상기 추출 수단에 의해 추출된 상기 제 2 데이터를 이용해서 상기 제 1 데이터를 갱신하는 갱신 수단을
    구비하고,
    상기 갱신 수단은, 상기 제 2 데이터가 상기 제 1 데이터 내에 존재하고 있는 경우, 그 존재하고 있는 제 1 데이터를 제 2 데이터를 이용해서 갱신하고, 상기 제 2 데이터가 상기 제 1 데이터 내에 존재하고 있지 않은 경우, 상기 제 2 데이터를 상기 제 1 데이터에 추가하는 것을 특징으로 하는 정보처리 장치.
  2. 제 1항에 있어서,
    상기 제 1 관리 수단은, 상기 제 1 데이터로서 제 1 요소와 그 제 1 요소에 관하여 상기 유저가 가지는 수치화된 제 1 값을 관련지어서 관리하고,
    상기 제 2 관리 수단은, 상기 제 2 데이터로서 상기 정보에 관한 제 2 요소와 그 제 2 요소에 관하여 상기 정보가 가지는 수치화된 제 2 값을 관련지어서 관리하며,
    상기 갱신 수단은, 상기 제 2 데이터 내의 상기 제 2 요소와 일치하는 상기 제 1 요소가 상기 제 1 데이터 내에 존재하고 있는 경우, 상기 제 1 값과 상기 제 2 값을 이용해서 새로운 제 1 값을 산출하고, 그 새로운 제 1 값을 상기 제 1 데이터에 기록입력하고, 상기 제 2 데이터 내의 상기 제 2 요소와 일치하는 상기 제 1 요소가 상기 제 1 데이터 내에 존재하고 있지 않은 경우, 상기 제 2 요소와 상기 제 2 값을 상기 제 1 데이터에 추가하는 것을 특징으로 하는 정보처리 장치.
  3. 데이터를 관리하기 위한 기억 수단과, 기억 수단에 기억되어 있는 상기 데이터를 이용해서 소정의 처리를 실행하는 제어 수단을 적어도 구비한 정보처리 장치의 정보처리 방법으로서,
    유저의 기호에 관한 제 1 데이터를 관리하는 제 1 관리 스텝과,
    정보에 관한 제 2 데이터를 관리하는 제 2 관리 스텝과,
    상기 유저가 이용한 상기 정보에 관한 상기 제 2 데이터를 추출하는 추출 스텝과,
    상기 추출 스텝의 처리에서 추출된 상기 제 2 데이터를 이용해서 상기 제 1 데이터를 갱신하는 갱신 스텝을
    포함하고,
    상기 갱신 스텝의 처리는, 상기 제 2 데이터가 상기 제 1 데이터 내에 존재하고 있는 경우, 그 존재하고 있는 제 1 데이터를 제 2 데이터를 이용해서 갱신하고, 상기 제 2 데이터가 상기 제 1 데이터 내에 존재하고 있지 않은 경우, 상기 제 2 데이터를 상기 제 1 데이터에 추가하는 것을 특징으로 하는 정보처리 방법.
  4. 데이터를 관리하기 위한 기억 수단과, 기억 수단에 기억되어 있는 상기 데이터를 이용해서 소정의 처리를 실행하는 제어 수단을 적어도 구비한 정보처리 장치의 프로그램으로서,
    유저의 기호에 관한 제 1 데이터를 관리하는 제 1 관리 스텝과,
    정보에 관한 제 2 데이터를 관리하는 제 2 관리 스텝과,
    상기 유저가 이용한 상기 정보에 관한 상기 제 2 데이터를 추출하는 추출 스텝과,
    상기 추출 스텝의 처리에서 추출된 상기 제 2 데이터를 이용해서 상기 제 1 데이터를 갱신하는 갱신 스텝을
    포함하고,
    상기 갱신 스텝의 처리는, 상기 제 2 데이터가 상기 제 1 데이터 내에 존재하고 있는 경우, 그 존재하고 있는 제 1 데이터를 제 2 데이터를 이용해서 갱신하고, 상기 제 2 데이터가 상기 제 1 데이터 내에 존재하고 있지 않은 경우, 상기 제 2 데이터를 상기 제 1 데이터에 추가하는 것을 특징으로 하는 프로그램.
  5. 제 4항에 기재된 프로그램을 기록하고 있는 것을 특징으로 하는 기록 매체.
KR1020040062007A 2003-08-07 2004-08-06 정보처리 장치와 방법, 및 기록 매체 KR101061234B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2003-00289468 2003-08-07
JP2003289468A JP2005056361A (ja) 2003-08-07 2003-08-07 情報処理装置および方法、プログラム、並びに記録媒体

Publications (2)

Publication Number Publication Date
KR20050016198A true KR20050016198A (ko) 2005-02-21
KR101061234B1 KR101061234B1 (ko) 2011-09-01

Family

ID=33550065

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040062007A KR101061234B1 (ko) 2003-08-07 2004-08-06 정보처리 장치와 방법, 및 기록 매체

Country Status (5)

Country Link
US (2) US7707283B2 (ko)
EP (1) EP1505521A3 (ko)
JP (1) JP2005056361A (ko)
KR (1) KR101061234B1 (ko)
CN (1) CN1607527B (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030233655A1 (en) * 2002-06-18 2003-12-18 Koninklijke Philips Electronics N.V. Method and apparatus for an adaptive stereotypical profile for recommending items representing a user's interests
JP2005056361A (ja) * 2003-08-07 2005-03-03 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
WO2006065033A1 (en) * 2004-12-13 2006-06-22 Lg Electronics Inc. Method and apparatus for writing and using keys for encrypting/decrypting a content and a recording medium storing keys written by the method
EP1825470A4 (en) * 2004-12-13 2009-04-29 Lg Electronics Inc METHOD AND DEVICE FOR WRITING AND USING KEYS FOR ENCRYPTING / DECALKING A CONTENT AND KEY WRITTEN BY THE PROCESS SAVING THE RECORDING MEDIUM
KR20060066626A (ko) * 2004-12-13 2006-06-16 엘지전자 주식회사 컨텐트의 암호/해독을 위한 키를 기록하고 사용하는 방법및 장치와 그 방법에 의해 키가 기록되어 있는 기록매체
US9002725B1 (en) 2005-04-20 2015-04-07 Google Inc. System and method for targeting information based on message content
CN101180879B (zh) * 2005-05-23 2010-12-15 松下电器产业株式会社 通信装置、通信方法和集成电路
JP2006339794A (ja) * 2005-05-31 2006-12-14 Sony Corp 情報処理装置、情報処理方法、およびプログラム
US7676400B1 (en) * 2005-06-03 2010-03-09 Versata Development Group, Inc. Scoring recommendations and explanations with a probabilistic user model
KR100744210B1 (ko) * 2005-06-30 2007-07-30 주식회사 팬택앤큐리텔 방송송신장치와, 이의 방송신호 송신방법 및방송수신장치와, 이의 예약녹화방법
JP4792842B2 (ja) 2005-07-06 2011-10-12 ソニー株式会社 情報処理装置,情報処理方法,およびコンピュータプログラム
US7949714B1 (en) * 2005-12-05 2011-05-24 Google Inc. System and method for targeting advertisements or other information using user geographical information
US8601004B1 (en) * 2005-12-06 2013-12-03 Google Inc. System and method for targeting information items based on popularities of the information items
US7606835B2 (en) * 2006-02-14 2009-10-20 Oracle International Corporation Automatic rules driven data visualization selection
JP4179341B2 (ja) * 2006-06-01 2008-11-12 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
JP4935818B2 (ja) * 2007-04-18 2012-05-23 パナソニック株式会社 デジタル放送受信装置およびデジタル放送受信方法
KR20090022713A (ko) * 2007-08-31 2009-03-04 삼성전자주식회사 추천 컨텐트 리스트 생성 방법 및 장치
US20100199310A1 (en) * 2009-01-30 2010-08-05 Echostar Technologies L.L.C. Methods and devices for recommending media content
JP5709359B2 (ja) * 2009-04-07 2015-04-30 ソニー株式会社 通信装置、通信方法、及び通信システム
JP2010288015A (ja) 2009-06-10 2010-12-24 Sony Corp 情報処理装置、情報処理方法及び情報処理プログラム
JP2012029247A (ja) * 2010-07-27 2012-02-09 Toshiba Corp デジタル放送記録再生装置
JP6219014B2 (ja) * 2011-09-27 2017-10-25 ソニー株式会社 端末装置と外部装置と情報処理方法とプログラムおよび情報処理システム
EP2592571A1 (en) * 2011-11-11 2013-05-15 Liberty Global Europe Holding B.V. Method and system for enhancing metadata
JP6117621B2 (ja) * 2013-06-05 2017-04-19 ソニー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
KR20150137499A (ko) * 2014-05-29 2015-12-09 엘지전자 주식회사 영상 표시 기기 및 그의 동작 방법
CN104102738B (zh) * 2014-07-28 2018-04-27 百度在线网络技术(北京)有限公司 一种扩充实体库的方法及装置
US10841640B2 (en) * 2014-11-04 2020-11-17 Comcast Cable Communications, Llc Methods and systems for displaying content based on preference information
JP6600203B2 (ja) * 2015-09-15 2019-10-30 キヤノン株式会社 情報処理装置、情報処理方法、コンテンツ管理システム、およびプログラム
US9699514B2 (en) 2015-12-02 2017-07-04 Echostar Technologies L.L.C. Apparatus, systems and methods for media mosaic management
CN105808769A (zh) * 2016-03-21 2016-07-27 华南师范大学 面向大数据及普通数据的数据采集方法和系统
JP6386512B2 (ja) * 2016-10-28 2018-09-05 ファナック株式会社 情報処理装置
CN106803973B (zh) * 2017-01-18 2020-02-04 华数传媒网络有限公司 一种电视节目的智能编排方法
JP7031387B2 (ja) * 2018-03-12 2022-03-08 オムロン株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
JP7220374B2 (ja) * 2018-08-24 2023-02-10 パナソニックIpマネジメント株式会社 通信端末および通信方法

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761496A (en) * 1993-12-14 1998-06-02 Kabushiki Kaisha Toshiba Similar information retrieval system and its method
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
JP3065227B2 (ja) * 1995-03-10 2000-07-17 ソニー株式会社 視聴制限装置および視聴制限方法
US5749081A (en) * 1995-04-06 1998-05-05 Firefly Network, Inc. System and method for recommending items to a user
JP3311540B2 (ja) * 1995-04-28 2002-08-05 富士ゼロックス株式会社 データ管理システム
US6112186A (en) * 1995-06-30 2000-08-29 Microsoft Corporation Distributed system for facilitating exchange of user information and opinion using automated collaborative filtering
US5758259A (en) * 1995-08-31 1998-05-26 Microsoft Corporation Automated selective programming guide
US5832212A (en) * 1996-04-19 1998-11-03 International Business Machines Corporation Censoring browser method and apparatus for internet viewing
US20030093790A1 (en) * 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
CN1110950C (zh) * 1996-10-08 2003-06-04 松下电器产业株式会社 信息接收方法及使用此方法的信息接收装置
JPH10126750A (ja) * 1996-10-23 1998-05-15 Matsushita Electric Ind Co Ltd 番組情報放送システム、放送装置、及び受信端末装置
JPH11203298A (ja) 1998-01-08 1999-07-30 Nippon Telegr & Teleph Corp <Ntt> 投稿文字情報事前チェック方法及び装置及び投稿文字情報事前チェックプログラムを格納した記憶媒体
US7146627B1 (en) * 1998-06-12 2006-12-05 Metabyte Networks, Inc. Method and apparatus for delivery of targeted video programming
JP2000013708A (ja) * 1998-06-26 2000-01-14 Hitachi Ltd 番組選択支援装置
JP2000149407A (ja) * 1998-11-10 2000-05-30 Sony Corp 情報伝送方法、情報処理方法、情報伝送システム、及びデータ処理装置
EP1018840A3 (en) * 1998-12-08 2005-12-21 Canon Kabushiki Kaisha Digital receiving apparatus and method
AU5934900A (en) * 1999-07-16 2001-02-05 Agentarts, Inc. Methods and system for generating automated alternative content recommendations
JP4224744B2 (ja) 1999-08-17 2009-02-18 ソニー株式会社 放送システム、情報提供装置及び放送通信装置
US7734680B1 (en) * 1999-09-30 2010-06-08 Koninklijke Philips Electronics N.V. Method and apparatus for realizing personalized information from multiple information sources
US6934964B1 (en) * 2000-02-08 2005-08-23 Koninklijke Philips Electronics N.V. Electronic program guide viewing history generator method and system
US6463428B1 (en) * 2000-03-29 2002-10-08 Koninklijke Philips Electronics N.V. User interface providing automatic generation and ergonomic presentation of keyword search criteria
JP2001292436A (ja) * 2000-04-07 2001-10-19 Sony Corp 管理装置および方法
CN100592788C (zh) * 2000-04-14 2010-02-24 日本电信电话株式会社 与广播信息相关的信息取得方法、系统和装置
JP4734690B2 (ja) * 2000-04-28 2011-07-27 ソニー株式会社 信号送出方法及び信号送出装置
US8495679B2 (en) * 2000-06-30 2013-07-23 Thomson Licensing Method and apparatus for delivery of television programs and targeted de-coupled advertising
JP2002077755A (ja) * 2000-08-29 2002-03-15 Sharp Corp エージェントインタフェース装置
US8843965B1 (en) * 2000-09-20 2014-09-23 Kaushal Kurapati Method and apparatus for generating recommendation scores using implicit and explicit viewing preferences
US8302127B2 (en) * 2000-09-25 2012-10-30 Thomson Licensing System and method for personalized TV
US6711570B1 (en) * 2000-10-31 2004-03-23 Tacit Knowledge Systems, Inc. System and method for matching terms contained in an electronic document with a set of user profiles
JP3654173B2 (ja) * 2000-11-02 2005-06-02 日本電気株式会社 番組選択支援装置、番組選択支援方法およびそのプログラムを記録した記録媒体
JP3931554B2 (ja) * 2000-11-15 2007-06-20 株式会社日立製作所 クーポン管理システム及びクーポン管理方法
US20020100046A1 (en) * 2000-11-16 2002-07-25 Dudkiewicz Gil Gavriel System and method for determining the desirability of video programming events
US7370073B2 (en) * 2000-11-28 2008-05-06 Navic Systems, Inc. Using viewership profiles for targeted promotion deployment
JP2002232559A (ja) * 2001-01-31 2002-08-16 Nec Corp データ受信装置及びデータ通信装置
JP2002259392A (ja) * 2001-03-06 2002-09-13 Canon Inc 受信装置、情報処理装置及びその方法
US20020152224A1 (en) * 2001-03-06 2002-10-17 Cliff Roth System and method for generating a recommendation guide for use with an EPG
JP3672023B2 (ja) * 2001-04-23 2005-07-13 日本電気株式会社 番組推薦システムおよび番組推薦方法
US8073871B2 (en) * 2001-06-06 2011-12-06 Koninklijke Philips Electronics N.V. Nearest neighbor recommendation method and system
US20030121040A1 (en) * 2001-07-02 2003-06-26 Ferman A. Mufit Audiovisual management system
US6547068B2 (en) * 2001-07-23 2003-04-15 Yuk Lung Chu Single push-button type storage case for compact discs
WO2003014867A2 (en) * 2001-08-03 2003-02-20 John Allen Ananian Personalized interactive digital catalog profiling
JP4125232B2 (ja) * 2001-09-10 2008-07-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 条件付アクセスを与える方法及び装置
JP3901973B2 (ja) 2001-09-14 2007-04-04 株式会社日立製作所 リモコン、番組選択方法および放送受信システム
US7085747B2 (en) * 2001-09-26 2006-08-01 J Koninklijke Philips Electronics, Nv. Real-time event recommender for media programming using “Fuzzy-Now” and “Personal Scheduler”
JP4326174B2 (ja) * 2001-10-04 2009-09-02 ソニー株式会社 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
US20030110503A1 (en) * 2001-10-25 2003-06-12 Perkes Ronald M. System, method and computer program product for presenting media to a user in a media on demand framework
DE10247927A1 (de) * 2001-10-31 2003-07-31 Ibm Verbessertes Verfahren zum Bewerten von Einheiten innerhalb eines Empfehlungssystems auf der Grundlage zusätzlicher Kenntnisse über die Verknüpfung der Einheiten untereinander
DE10247928A1 (de) * 2001-10-31 2003-05-28 Ibm Auslegen von Empfehlungssystemen, so dass sie allgemeine Eigenschaften im Empfehlungsprozess behandeln
US20030093329A1 (en) * 2001-11-13 2003-05-15 Koninklijke Philips Electronics N.V. Method and apparatus for recommending items of interest based on preferences of a selected third party
US20030106058A1 (en) * 2001-11-30 2003-06-05 Koninklijke Philips Electronics N.V. Media recommender which presents the user with rationale for the recommendation
US20030115592A1 (en) * 2001-12-19 2003-06-19 Johnson Carolynn Rae Method and apparatus for selecting rating limits in a parental control system
US20030126600A1 (en) * 2001-12-27 2003-07-03 Koninklijke Philips Electronics N.V. Smart suggestions for upcoming TV programs
JP4493254B2 (ja) * 2002-01-21 2010-06-30 船井電機株式会社 Epg画面表示機能を有するデジタル放送受信装置
US7836466B2 (en) * 2002-06-06 2010-11-16 Microsoft Corporation Methods and systems for generating electronic program guides
US20040003403A1 (en) * 2002-06-19 2004-01-01 Marsh David J. Methods and systems for reducing information in electronic program guide and program recommendation systems
JP2005056361A (ja) * 2003-08-07 2005-03-03 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
US9286388B2 (en) * 2005-08-04 2016-03-15 Time Warner Cable Enterprises Llc Method and apparatus for context-specific content delivery
JP2008178037A (ja) * 2007-01-22 2008-07-31 Sony Corp 情報処理装置、情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
EP1505521A3 (en) 2006-08-23
CN1607527B (zh) 2010-05-26
JP2005056361A (ja) 2005-03-03
US10255353B2 (en) 2019-04-09
US20050144295A1 (en) 2005-06-30
CN1607527A (zh) 2005-04-20
US20100169928A1 (en) 2010-07-01
EP1505521A2 (en) 2005-02-09
KR101061234B1 (ko) 2011-09-01
US7707283B2 (en) 2010-04-27

Similar Documents

Publication Publication Date Title
KR101061234B1 (ko) 정보처리 장치와 방법, 및 기록 매체
JP4370850B2 (ja) 情報処理装置および方法、プログラム、並びに記録媒体
KR100908822B1 (ko) 미디어 컨텐트를 추천하기 위해 사용될 에이전트들을생성하는 방법
US8869042B2 (en) Recommendation engine
KR101506380B1 (ko) 무한 브라우즈
JP4650541B2 (ja) 推薦装置および方法、プログラム、並びに記録媒体
US8200689B2 (en) Apparatus, method and computer program for content recommendation and recording medium
US20090006368A1 (en) Automatic Video Recommendation
US20030106058A1 (en) Media recommender which presents the user with rationale for the recommendation
US20090063568A1 (en) Method and apparatus for constructing user profile using content tag, and method for content recommendation using the constructed user profile
US9489352B1 (en) System and method for providing content to users based on interactions by similar other users
WO2010113619A1 (ja) コンテンツ推薦装置、方法、及びプログラム
JP2006524009A (ja) 視聴者分析結果の生成
JP2006203593A (ja) Tv放送視聴システム及びtv放送視聴方法
JP4496690B2 (ja) 映像情報レコメンドシステム、方法及び装置、並びに、映像情報レコメンドプログラム及びプログラムの記録媒体
US11475058B1 (en) Systems and methods for generating a dynamic timeline of related media content based on tagged content
US20140095465A1 (en) Method and apparatus for determining rank of web pages based upon past content portion selections
WO2018042179A1 (en) Method and system for providing content
JP5008250B2 (ja) 情報処理装置および方法、プログラム、並びに記録媒体
US20140149378A1 (en) Method and apparatus for determining rank of web pages based upon past content portion selections
Hölbling et al. Content-based tag generation to enable a tag-based collaborative tv-recommendation system.
JP2000112972A (ja) 情報提供システム及び情報提供方法
CN112565826A (zh) 一种基于大数据的视频推荐方法和装置
JP3479295B2 (ja) 情報サービスシステムおよび放送受信システム
JP6139617B2 (ja) 情報提供システム、情報提供サーバー、情報提供方法、及び情報提供システム用のプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee