KR100839306B1 - System and method for recommendation of digital television program using reflection techniques of program veiwing pattern - Google Patents

System and method for recommendation of digital television program using reflection techniques of program veiwing pattern Download PDF

Info

Publication number
KR100839306B1
KR100839306B1 KR1020070065638A KR20070065638A KR100839306B1 KR 100839306 B1 KR100839306 B1 KR 100839306B1 KR 1020070065638 A KR1020070065638 A KR 1020070065638A KR 20070065638 A KR20070065638 A KR 20070065638A KR 100839306 B1 KR100839306 B1 KR 100839306B1
Authority
KR
South Korea
Prior art keywords
program
user
viewing
preference
attribute
Prior art date
Application number
KR1020070065638A
Other languages
Korean (ko)
Inventor
이수원
이연정
Original Assignee
숭실대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숭실대학교산학협력단 filed Critical 숭실대학교산학협력단
Priority to KR1020070065638A priority Critical patent/KR100839306B1/en
Application granted granted Critical
Publication of KR100839306B1 publication Critical patent/KR100839306B1/en

Links

Images

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
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/37Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
    • H04H60/372Programme

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A system and a method for recommending a digital television program using reflection techniques of a program viewing pattern are provided to calculate the program preference of a user and reflect viewing pattern weight to a program which the user has viewed, thereby improving the program recommendation efficiency of personalized electronic program guide. A viewing history storage unit(102) stores a viewing history. A user model storage unit(111) stores user model information. A user preference updating module(110) calculates and updates a preference value by program property. A viewing pattern weight calculating module(120) applies a viewing pattern weight to each televising program and accumulates the viewing pattern weights of the each televising program. A program preference calculating module(130) extracts a property value by program property from the user model information, applies the accumulated viewing pattern weight of a corresponding program to a value that the extracted property values are integrated, and calculates the program preference of the user. A program recommend module(140) recommends a program to the user in an order that program preference is increased.

Description

프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템 및 방법{System and Method for recommendation of digital television program using reflection techniques of program veiwing pattern}System and Method for recommendation of digital television program using reflection techniques of program veiwing pattern}

본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니된다.The following drawings attached to this specification are illustrative of preferred embodiments of the present invention, and together with the detailed description of the invention to serve to further understand the technical spirit of the present invention, the present invention is a matter described in such drawings It should not be construed as limited to

도 1은 본 발명에 따른 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템의 블록도,1 is a block diagram of a digital TV program recommendation system using a program viewing pattern reflection technique according to the present invention;

도 2는 본 발명에서 사용자 모델 정보의 프로그램 속성별 선호도값을 갱신하는 방법에 대한 흐름도,2 is a flowchart illustrating a method of updating a preference value for each program attribute of user model information in the present invention;

도 3은 본 발명에서 각 방영회차의 시청 패턴 가중치를 누산하는 방법에 대한 흐름도,3 is a flow chart for a method of accumulating the viewing pattern weight of each broadcasting session in the present invention;

도 4는 본 발명에 따라 사용자의 프로그램 선호도가 계산되어 사용자에게 프로그램 추천이 이루어지는 과정을 순차적으로 나타낸 흐름도,4 is a flowchart sequentially illustrating a process of making a program recommendation to a user by calculating a user's program preference according to the present invention;

도 5는 사용자 모델 정보 갱신 예를 보여주는 도면,5 is a diagram illustrating an example of updating user model information;

도 6은 시청 패턴 가중치를 계산하는 예를 나타낸 도면,6 is a diagram illustrating an example of calculating a viewing pattern weight;

도 7은 프로그램 선호도 계산식에서 k값 변화에 따른 Recall의 변화 추이를 나타낸 그래프,7 is a graph showing the change of Recall according to the change of k value in the program preference equation;

도 8은 5가지 실험 A, B, C, D, E의 방법들의 추천 효율성을 Precision과 Recall의 관점으로 평가한 결과를 나타낸 그래프,8 is a graph showing the results of evaluating the recommended efficiency of the five experiments A, B, C, D, E in terms of precision and recall;

도 9는 5가지 실험 A, B, C, D, E의 방법들의 추천 효율성을 Precision의 관점으로 평가한 결과를 나타낸 그래프,9 is a graph showing the results of evaluating the recommended efficiency of the five experiments A, B, C, D, E in terms of precision,

도 10은 속성 더하기 A실험, 속성 더하기 B실험, 속성 곱하기 C실험, 속성 곱하기 D실험의 추천 효율성을 Recall의 관점으로 평가한 결과를 나타낸 그래프,10 is a graph showing the results of evaluating the recommended efficiency of the attribute addition A experiment, the attribute addition B experiment, the attribute multiplication C experiment, and the attribute multiplication D experiment in terms of Recall.

도 11은 속성 더하기 B실험, 속성 곱하기 C실험, 속성 곱하기 D실험의 추천 효율성을 Recall의 관점으로 평가한 결과에 시청 패턴 가중치를 적용한 결과를 나타낸 그래프,11 is a graph showing the results of applying the viewing pattern weight to the result of evaluating the recommended efficiency of the attribute addition B experiment, the attribute multiplication C experiment, and the attribute multiplication D experiment in terms of Recall,

도 12는 상기 실험 E의 결과와 상기 실험 E의 결과에 시청 패턴 가중치를 적용한 결과를 Recall의 관점에서 평가한 결과를 나타낸 그래프,12 is a graph illustrating a result of evaluating a result of applying viewing pattern weights to the results of Experiment E and the results of Experiment E in terms of Recall;

도 13은 사용자에게 제공되는 추천 리스트 중 사용자가 프로그램을 선택한 순위를 나타낸 그래프,13 is a graph showing a ranking in which a user selects a program among recommendation lists provided to the user;

도 14는 반영 비율 α값에 따른 Recall 값의 변화를 나타낸 그래프이다.14 is a graph showing the change of the Recall value according to the reflection ratio α value.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for main parts of the drawings>

100 : 시청 히스토리 수집 모듈 101 : 시청 히스토리 저장 모듈100: watch history collection module 101: watch history storage module

102 : 시청 히스토리 저장소 110 : 사용자 선호도 갱신 모듈102: watch history store 110: user preference update module

111 : 사용자 모델 저장소 120 : 시청 패턴 가중치 계산 모듈111: User Model Repository 120: Viewing Pattern Weight Calculation Module

130 : 프로그램 선호도 계산 모듈 131 : 프로그램 정보 저장소130: program preference calculation module 131: program information store

140 : 프로그램 추천 모듈 150 : 추천 프로그램 출력 모듈140: program recommendation module 150: recommended program output module

본 발명은 디지털 TV의 프로그램을 추천하는 시스템에 대한 것으로서, 보다상세하게는 사용자의 프로그램 시청 히스토리와 사용자의 시청 패턴 가중치에 의해 개인화된 프로그램 리스트를 추천할 수 있는 시스템 및 그 방법에 관한 것이다.The present invention relates to a system for recommending a program of a digital TV, and more particularly, to a system and a method for recommending a program list personalized by a user's program viewing history and a user's viewing pattern weight.

최근 디지털 방송이 본격화되고 디지털 TV의 보급이 일반화되면서 사용자가 선택 할 수 있는 채널의 수와 프로그램의 수는 기존의 TV환경과 비교하여 큰 폭으로 증가하게 되었고 이러한 변화로 사용자들은 보다 더 다양하고 풍부해진 프로그램들을 시청할 수 있게 되었다.As digital broadcasting has become more popular and the spread of digital TV has become more common, the number of channels and programs that users can select has increased significantly compared to the existing TV environment. Now you can watch the programs you've done.

그러나, 몇 배로 늘어난 채널과 프로그램으로 더 다양하고 풍부해진 프로그램들을 시청할 수 있는 반면, 관심이 있는 프로그램을 찾기 위해서는 방송 편성표를 검색하는 등 더 많은 노력과 시간을 필요로 한다는 문제점이 있다.However, while the channels and programs that have been multiplied by the number of times can watch more diverse and rich programs, there is a problem that it takes more effort and time, such as searching the broadcast schedule to find a program of interest.

이에 따라 프로그램 선택의 문제가 대두되면서 pEPG(persoalized Electronic Program Guide)를 통하여 사용자의 취향과 관심에 맞는 프로그램을 추천하여 주는 DTV(Digital TV) 프로그램 추천 기법들이 활발히 연구되고 있다. Accordingly, as the problem of program selection emerges, DTV (Digital TV) program recommendation techniques that recommend programs suitable for the user's taste and interest through the pEPG (persoalized Electronic Program Guide) have been actively studied.

하지만, 현재 연구되고 있는 대부분의 DTV 프로그램 추천 기법은 채널, 장르, 세부장르, 인물 등 프로그램 속성에 대한 선호도만이 고려되고 있어서, 사용자 가 장기적으로 선호하는 속성을 가진 프로그램만 추천이 되고 최근 관심을 가지고 있는 프로그램에 대한 추천은 이루어지지 않는 문제점을 안고 있다.However, most of the DTV program recommendation techniques currently studied are considering only the preferences of program attributes such as channel, genre, sub-genre, and person, so that only programs that have long-term preferences are recommended. There is a problem that the recommendation for a program that you have is not made.

즉, 현재 대부분의 DTV 프로그램 추천 기법은 사용자의 시청 패턴이 바뀐다면, 사용자의 현재 시청 패턴을 고려한 프로그램 추천은 이루어지지 않는다는 한계가 있으며, 이러한 문제점을 해결하기 위해서는 사용자의 프로그램 시청 패턴의 반영이 필수적이다. That is, most of the current DTV program recommendation techniques have a limitation that if the user's viewing pattern is changed, the program recommendation considering the current viewing pattern of the user is not made. In order to solve these problems, it is essential to reflect the program viewing pattern of the user. to be.

본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로서 장르, 세부장르, 채널 등의 속성으로 구성된 사용자 모델을 이용하여 프로그램 선호도를 구한 뒤, 과거 시청 이력이 있는 프로그램에 대하여 시청 패턴 가중치를 반영함으로써 pEPG의 프로그램 추천 효율을 향상시킬 수 있는 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템 및 방법 제공하는데 그 목적이 있다.The present invention was devised to solve the above problems, and after obtaining a program preference using a user model composed of attributes such as genre, detail genre, channel, and the like, by reflecting a viewing pattern weight for a program having a past viewing history The purpose of the present invention is to provide a digital TV program recommendation system and method using a program viewing pattern reflection technique that can improve the program recommendation efficiency of pEPG.

본 발명에 따른 목적 및 장점들은 하기에서 설명될 것이며, 본 발명의 실시예에 의해 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타난 구성과 구성의 조합에 의해 실현될 수 있다.Objects and advantages according to the invention will be described below and will be appreciated by the embodiments of the invention. In addition, the objects and advantages of the present invention can be realized by the configuration and combination of configurations shown in the claims.

상기와 같은 목적을 달성하기 위하여 본 발명에 따른 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템은, 사용자 ID, 시청 프로그램의 방영회차 ID, 시청시작 시점과 종료 시점 및 시청 시간 정보를 포함하는 시청 히스토리가 저장되는 시청 히스토리 저장소; 프로그램 채널, 장르 및 세부장르에 대한 사용자의 상대적 가중치를 포함하는 사용자 모델 정보가 저장되는 사용자 모델 저장소; 상기 시청 히스토리 저장소로부터 사용자 시청 히스토리를 조회하여 빈도수가 가장 많은 프로그램 속성에 의해 나머지 속성의 빈도수를 정규화하여 프로그램 속성별로 선호도값을 계산하여 갱신하는 사용자 선호도 갱신 모듈; 프로그램별로 사용자의 시청 히스토리를 참조하여 프로그램의 방영기간 동안 방영된 각 방영회차에 대해 시청 시점이 최근일수록 값이 증가하도록 시청 패턴 가중치를 부여한 후 각 방영회차의 시청 패턴 가중치를 누산하는 시청 패턴 가중치 계산 모듈; 프로그램별로 속성 정보를 참조하여 상기 사용자 모델 저장소에서 조회된 사용자 모델 정보로부터 프로그램 속성별로 속성값을 추출하고, 추출된 각 속성값을 수학적 연산에 의해 하나의 값으로 통합한 값에 해당 프로그램의 누산된 시청 패턴 가중치를 적용하여 사용자의 프로그램 선호도를 계산하는 프로그램 선호도 계산 모듈; 및 프로그램 선호도가 높은 순으로 사용자에게 프로그램을 추천하는 프로그램 추천 모듈;을 포함하되, 상기 사용자 선호도 갱신 모듈은 신규로 정규화된 프로그램 속성값과 사용자 모델 정보의 기존 속성값의 평균값에 의해 프로그램 속성별로 속성값을 갱신하는 것을 특징으로 한다.In order to achieve the above object, a digital TV program recommendation system using a program viewing pattern reflection technique according to the present invention includes a user ID, a viewing time ID of a viewing program, a viewing start time and end time, and viewing time information. A viewing history store in which history is stored; A user model repository for storing user model information including a user's relative weight for program channels, genres, and sub-genres; A user preference updating module for querying user viewing history from the viewing history store, normalizing the frequency of the remaining attributes by the program attributes with the highest frequency, and calculating and updating a preference value for each program attribute; Calculate the viewing pattern weight that accumulates the viewing pattern weight of each broadcasting session after assigning the viewing pattern weight to the viewing point more recently with respect to each broadcasting session aired during the airing period of the program by referring to the viewing history of the user for each program. module; The attribute value is extracted for each program attribute from the user model information queried in the user model repository by referring to the attribute information for each program, and the value of the corresponding program is accumulated to a value obtained by integrating the extracted attribute values into one value by mathematical operation. A program preference calculation module configured to calculate a program preference of a user by applying a viewing pattern weight; And a program recommendation module for recommending a program to a user in order of high program preference. The user preference updating module may include a property for each program attribute based on an average value of a newly normalized program attribute value and an existing attribute value of user model information. It is characterized by updating the value.

삭제delete

본 발명에 따른 시스템은, 프로그램 채널, 장르 및 세부장르에 대한 사용자의 상대적 가중치를 포함하는 사용자 모델 정보가 수록된 사용자 모델 저장소를 더 포함할 수 있다. 이런 경우, 상기 사용자 선호도 갱신 모듈은 신규로 정규화된 프로그램 속성값과 사용자 모델 정보의 기존 속성값의 평균값에 의해 프로그램 속성별로 속성값을 갱신하도록 구성하는 것이 바람직하다.The system according to the present invention may further comprise a user model repository containing user model information including the user's relative weights for program channels, genres and sub-genres. In this case, the user preference updating module may be configured to update the attribute value for each program attribute by the average value of the newly normalized program attribute value and the existing attribute value of the user model information.

바람직하게, 상기 사용자 모델 정보는 사용자의 ID, 성명, 나이, 성별 및 학 력을 포함하는 사용자 프로파일 정보를 더 포함한다. 그리고, 프로그램 채널, 장르 및 세부장르에 대한 사용자의 상대적 가중치에 대한 초기값은 사용자로부터 직접 입력받도록 구성될 수 있다.Preferably, the user model information further includes user profile information including the user's ID, name, age, gender and education. The initial value of the user's relative weight with respect to the program channel, genre, and sub-genre may be directly input by the user.

바람직하게, 상기 시청패턴 가중치 계산 모듈은 다음 수학식에 의해 프로그램의 방영회차별로 시청 패턴 가중치를 계산하고, 각 방영회차에 대해 계산된 시청 패턴 가중치를 누산하도록 구성할 수 있다.Preferably, the viewing pattern weight calculation module may be configured to calculate the viewing pattern weight for each broadcasting session of the program by using the following equation, and accumulate the viewing pattern weight calculated for each broadcasting session.

<수학식>Equation

Figure 112007047958149-pat00001
Figure 112007047958149-pat00001

(w'u,p는 사용자 u의 프로그램 p에 대한 시청패턴 가중치이고,(w ' u, p is the weight of the viewing pattern for the program p of the user u,

wu,pi 는 사용자 u의 프로그램 p의 해당 기간 중 방영회차 i에 대한 시청패턴 가중치이고,w u, pi are the viewing pattern weights for the broadcasting session i during the corresponding period of the program p of the user u,

pi는 해당 기간 중 방영회 i의 프로그램이고,p i is the program for the show i during that period,

n(p)는 프로그램 p의 해당 기간 방영 횟수이고,n (p) is the number of episodes of the program p during that period,

α는 과거 시청내역과 현재 시청내역의 반영 비율을 나타내는 상수이고,α is a constant representing a reflection ratio between past and current viewing history,

history(u)는 사용자 u의 해당 기간 중 시청 내역임)history (u) is the watch history for the user u's time period)

본 발명에 따른 시스템은, 프로그램의 타이틀, PID(Program ID), SID(Sequence ID), 등급, 방영시작 시점, 및 종료 시점 및 방영시간 정보를 포함하 는 프로그램 방영 스케쥴 정보와 프로그램의 채널, 장르 및 세부 장르를 포함하는 프로그램 속성 정보가 저장된 프로그램 정보 저장소를 더 포함할 수 있다. 이런 경우, 상기 프로그램 선호도 계산 모듈은 다음 수학식에 의해 사용자의 프로그램별 선호도를 계산하도록 구성하는 것이 바람직하다.The system according to the present invention includes program broadcasting schedule information including program title, PID (Program ID), SID (Sequence ID), class, broadcasting start time, and ending time and broadcasting time information, and channel and genre of the program. And a program information store in which program attribute information including detailed genres is stored. In this case, the program preference calculation module is preferably configured to calculate the user's program preference by the following equation.

<수학식>Equation

Figure 112007047958149-pat00002
Figure 112007047958149-pat00002

(w'u ,p는 사용자 u의 프로그램 p에 대한 누산된 시청패턴 가중치이고,(w ' u , p is the accumulated viewing pattern weight for user u's program p,

k는 0보다 큰 양의 수이고,k is a positive number greater than zero,

Preference(u,p)는 사용자 u의 프로그램 p에 대한 선호도이고,Preference (u, p) is user u's preference for program p,

preferenceu gerne (p)는 사용자 u의 프로그램 p의 장르에 대한 선호도이고,preference u gerne (p) is the preference for the genre of user u's program p,

preferenceu channel (p)는 사용자 u의 프로그램 p의 채널에 대한 선호도이고,preference u channel (p) is user u's preference for channel of program p,

preferenceu subGenre (p)는 사용자 u의 프로그램 p의 서브 장르에 대한 선호도임)preference u subGenre (p) is the preference for the sub genre of user u's program p)

바람직하게, 상기 프로그램 선호도 계산 모듈은 사용자로부터 프로그램 추천 시간대를 입력받아 해당 시간대에 방영되는 각 채널의 프로그램에 대하여 사용자의 프로그램 선호도를 계산하도록 구성될 수 있다. 그리고, 상기 프로그램 추천 모듈은 미리 정해진 수의 선호도 상위 프로그램 리스트를 작성하여 출력할 수 있다. Preferably, the program preference calculation module may be configured to receive a program recommendation time zone from a user and calculate a user's program preference for a program of each channel broadcasted in the corresponding time zone. The program recommendation module may generate and output a predetermined number of preference high-order program lists.

본 발명에 따른 시스템은, 상기 선호도 상위 프로그램 리스트를 디지털 TV에 출력하기 위해상위 선호도 프로그램 리스트를 전송받아 디지털 TV 화면에 출력시키는 추천 프로그램 출력 모듈을 더 포함하도록 구성될 수 있다.The system according to the present invention may be further configured to further include a recommendation program output module for receiving the high preference program list to output on the digital TV screen for outputting the above preference higher program list to the digital TV.

바람직하게, 상기 사용자 선호도 갱신 모듈은 1주일 단위로 사용자의 시청 히스토리를 조회하여 사용자의 프로그램 속성별 선호도값을 갱신하고, 상기 시청패턴 가중치 계산 모듈은 1주일 단위로 사용자의 시청 히스토리를 참조하여 사용자의 프로그램별 시청 패턴 가중치를 누산하도록 구성될 수 있다. 본 발명에 따른 시스템은, 사용자의 디지털 TV 리모콘 조작을 모니터링하여 사용자의 프로그램 시청 히스토리를 수집하는 시청 히스토리 수집 모듈; 및 상기 시청 히스토리 수집 모듈로부터 시청 히스토리 정보를 전송받아 시청 히스토리 저장소에 저장하는 히스토리 저장 모듈을 더 포함하도록 구성하는 것이 바람직하다.Preferably, the user preference updating module queries the viewing history of the user on a weekly basis to update the preference value for each program attribute of the user, and the viewing pattern weight calculation module refers to the viewing history of the user on a weekly basis. It may be configured to accumulate the viewing pattern weight for each program of. The system according to the present invention comprises: a viewing history collection module for monitoring a user's digital TV remote control operation to collect a program viewing history of the user; And a history storage module for receiving the viewing history information from the viewing history collecting module and storing the viewing history information in the viewing history storage.

본 발명의 일 측면에 따르면, 상기 프로그램 시청 히스토리는 사용자 ID, 프로그램 ID, 반영회차 정보, 시청 시작 시간 및 종료 시간, 및 시청 시간 정보를 포함하도록 구성될 수 있다. According to an aspect of the present invention, the program viewing history may be configured to include a user ID, a program ID, reflecting turn information, a viewing start time and an end time, and viewing time information.

본 발명의 다른 측면에 따르면, 상기 프로그램 시청 히스토리는 사용자 ID, 프로그램 채널, 시청 시작시간 및 종료 시간을 포함하도록 구성될 수 있다. 이런 경우,상기 히스토리 저장 모듈은 채널별 프로그램 방영 스케쥴 정보를 포함하는 프로그램 정보 저장소를 참조하여 사용자 ID, 프로그램 ID, 반영회차 정보, 시청 시작 시간 및 종료 시간, 및 시청 시간 정보를 포함하는 프로그램 시청 히스토리를 작성하여 시청 히스토리 저장소에 저장하도록 구성될 수 있다.According to another aspect of the present invention, the program viewing history may be configured to include a user ID, a program channel, a watching start time and an ending time. In this case, the history storage module may refer to a program information storage including program broadcasting schedule information for each channel, and the program viewing history including the user ID, the program ID, the reflecting turn information, the viewing start time and the end time, and the viewing time information. Can be configured to create and store it in the viewing history repository.

상기 기술적 과제를 달성하기 위한 본 발명의 다른 측면에 의한 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 방법은, (a) 사용자 ID, 시청 프로그램의 방영회차 ID, 시청시작 시점과 종료 시점 및 시청 시간 정보를 포함하는 시청 히스토리가 저장되는 시청 히스토리 저장소와, 프로그램 채널, 장르 및 세부장르에 대한 사용자의 상대적 가중치를 포함하는 사용자 모델 정보가 저장되는 사용자 모델 저장소를 제공하는 단계; (b) 상기 시청 히스토리 저장소로부터 사용자 시청 히스토리를 조회하여 빈도수가 가장 많은 프로그램 속성에 의해 나머지 속성의 빈도수를 정규화하여 프로그램 속성별로 선호도값을 계산하여 갱신하는 단계; (c) 프로그램별로 사용자의 시청 히스토리를 참조하여 프로그램의 방영기간 동안 방영된 각 방영회차에 대해 시청 시점이 최근일수록 값이 증가하도록 시청 패턴 가중치를 부여한 후 각 방영회차의 시청 패턴 가중치를 누산하는 단계; (d) 프로그램별로 속성 정보를 참조하여 상기 사용자 모델 저장소에서 조회된 사용자 모델 정보로부터 프로그램 속성별로 속성값을 추출하고, 추출된 각 속성값을 수학적 연산에 의해 하나의 값으로 통합한 값에 해당 프로그램의 누산된 시청 패턴 가중치를 적용하여 사용자의 프로그램 선호도를 계산하는 단계; 및 (e) 프로그램 선호도가 높은 순으로 사용자에게 프로그램을 추천하는 단계;를 포함하되, 상기 (b) 단계는 신규로 정규화된 프로그램 속성값과 사용자 모델 정보의 기존 속성값의 평균값에 의해 프로그램 속성별로 속성값을 갱신하는 것을 특징으로 한다.Digital TV program recommendation method using the program viewing pattern reflecting technique according to another aspect of the present invention for achieving the above technical problem, (a) user ID, broadcast time ID of the viewing program, viewing start time and end time and viewing time Providing a viewing history repository in which a viewing history including information is stored, and a user model repository in which user model information including relative weights of users for program channels, genres, and sub-genres is stored; (b) querying a user viewing history from the viewing history store, normalizing the frequency of the remaining attributes by the program attributes with the highest frequency, and calculating and updating a preference value for each program attribute; (c) accumulating the viewing pattern weight of each broadcasting session after assigning the viewing pattern weight to each viewing session that is viewed during the program's airing period to increase as the viewing point becomes more recent with reference to the viewing history of the user for each program. ; (d) Extracting attribute values for each program attribute from the user model information queried in the user model repository by referring to the attribute information for each program, and corresponding program to a value obtained by integrating the extracted attribute values into one value by mathematical operation. Calculating a program preference of the user by applying the accumulated viewing pattern weight of? And (e) recommending the program to the user in order of high program preferences, wherein step (b) is performed for each program attribute by the average value of the newly normalized program attribute value and the existing attribute value of the user model information. And updating the attribute value.

이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Prior to this, terms or words used in the specification and claims should not be construed as having a conventional or dictionary meaning, and the inventors should properly explain the concept of terms in order to best explain their own invention. Based on the principle that can be defined, it should be interpreted as meaning and concept corresponding to the technical idea of the present invention.

따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.Therefore, the embodiments described in the specification and the drawings shown in the drawings are only the most preferred embodiment of the present invention and do not represent all of the technical idea of the present invention, various modifications that can be replaced at the time of the present application It should be understood that there may be equivalents and variations.

도 1은 본 발명에 따른 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템의 일실시예를 보인 블럭도이다. 1 is a block diagram showing an embodiment of a digital TV program recommendation system using a program viewing pattern reflection technique according to the present invention.

도면을 참조하면, 본 발명의 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템은 시청 히스토리 수집 모듈(100), 시청 히스토리 저장 모듈(101), 시청 히스토리 저장소(102), 사용자 선호도 갱신 모듈(110), 사용자 모델 저장소(111), 시청 패턴 가중치 계산 모듈(120), 프로그램 선호도 계산 모듈(130), 프로그램 정보 저장소(131), 프로그램 추천 모듈(140), 추천 프로그램 출력 모듈(150)을 포함하여 구성된다.Referring to the drawings, the digital TV program recommendation system using the program viewing pattern reflecting technique of the present invention is the viewing history collection module 100, viewing history storage module 101, viewing history storage 102, user preference update module 110 ), Including the user model store 111, the viewing pattern weight calculation module 120, the program preference calculation module 130, the program information store 131, the program recommendation module 140, and the recommendation program output module 150. It is composed.

상기 시청 히스토리 수집 모듈(100)은 사용자의 디지털 TV 리모콘 조작을 모니터링하여 사용자의 프로그램 시청 히스토리를 수집하고, 상기 히스토리 저장 모듈(101)은 상기 시청 히스토리 수집 모듈로부터 시청 히스토리 정보를 통신망을 통해 전송받아 시청 히스토리 저장소(102)에 저장한다. 상기 통신망은 유/무선 인터넷 또는 TV 케이블망이다.The viewing history collecting module 100 monitors the user's digital TV remote control operation to collect the viewing history of the program of the user, and the history storing module 101 receives the viewing history information from the viewing history collecting module through a communication network. Store in city hall history storage 102. The communication network is a wired / wireless internet or TV cable network.

상기 프로그램 정보 저장소(131) 는 프로그램의 타이틀, PID(Program ID), SID(Sequence ID), 등급, 방영시작 시점 및 종료 시점 및 방영시간 정보를 포함하는 프로그램 방영 스케쥴 정보와 프로그램의 채널, 장르 및 세부 장르를 포함하는 프로그램 속성 정보가 저장되고 관리된다.The program information store 131 includes program broadcasting schedule information including program title, PID (Program ID), SID (Sequence ID), class, broadcasting start time and end time, and broadcasting time information, and channel, genre and Program attribute information including detailed genres is stored and managed.

상기 프로그램 시청 히스토리는 사용자의 시청 내역을 알 수 있는 정보로서, 본 발명의 일 측면에 따르면 상기 프로그램 시청 히스토리는 사용자 ID, 프로그램 채널, 시청 시작시간 및 종료 시간, 및 시청 시간 정보를 포함하도록 구성될 수 있다.The program viewing history is information for knowing the viewing history of the user. According to an aspect of the present invention, the program viewing history may be configured to include a user ID, a program channel, a viewing start time and an end time, and viewing time information. Can be.

이런 경우, 상기 프로그램 시청 히스토리의 수집은 상기 시청 히스토리 수집 모듈(100)에서 상기 프로그램 정보 저장소의 방영 스케쥴 정보와 프로그램 속성 정보를 참조하여 사용자 ID, 프로그램 채널, 시청 시작시간 및 종료 시간, 및 시청 시간 정보를 포함하도록 작성되고, 작성된 프로그램 시청 히스토리가 상기 시청 히스토리 수집 모듈(101)을 통하여 상기 시청 히스토리 저장소(102)에 저장되도록 구성될 수 있다.In this case, the collection of the program viewing history refers to the user ID, the program channel, the viewing start time and the ending time, and the viewing time by referring to the broadcasting schedule information and the program attribute information of the program information storage in the viewing history collecting module 100. The program viewing history, which is created to include information, may be configured to be stored in the viewing history storage 102 through the viewing history collecting module 101.

또한, 본 발명의 다른 측면에 따르면 상기 프로그램 시청 히스토리는 사용자 ID, 프로그램 채널, 시청 시작시간 및 종료 시간을 포함하도록 구성될 수 있다. Further, according to another aspect of the present invention, the program viewing history may be configured to include a user ID, a program channel, a viewing start time and an end time.

이런 경우, 상기 히스토리 저장 모듈(101)에서 채널별 프로그램 방영 스케쥴 정보를 포함하는 프로그램 정보 저장소(131)를 참조하여 프로그램 시청 히스토리를 작성한다. In this case, the history storage module 101 creates a program viewing history by referring to the program information storage 131 including program broadcasting schedule information for each channel.

즉, 상기 히스토리 저장 모듈(101)은 상기 시청 히스토리 수집 모듈(100)로부터 사용자 ID, 그로그램 채널, 시청 시작시간 및 종료 시간에 대한 정보만을 수신하고, 상기 수신한 정보와 상기 채널별 프로그램 방영 스케쥴 정보를 연계하여 사용자 ID, 프로그램 ID, 반영회차 정보, 시청 시작 시간 및 종료 시간, 및 시청 시간 정보를 포함하는 프로그램 시청 히스토리를 작성하도록 구성되는 것이다. That is, the history storage module 101 receives only information on a user ID, a program channel, a viewing start time and an ending time from the viewing history collecting module 100, and receives the received information and the program broadcasting schedule for each channel. The program is configured to create a program viewing history including the user ID, the program ID, the reflecting turn information, the viewing start time and the ending time, and the viewing time information in association with the information.

상기 사용자 ID는 사용자를 분별하기 위한 정보로서 숫자, 문자, 기호 등을 조합하여 구성할 수 있다. 상기 프로그램 ID는 상기 PID(Program ID)를 기초로 생성되며 상기 방영회차 ID는 프로그램의 회차에 대한 정보로서 상기 프로그램 정보 저장소(131)에 저장된 SID(Sequence ID)를 기초로 생성된다.The user ID may be configured by combining numbers, letters, symbols, and the like as information for identifying a user. The program ID is generated based on the PID (Program ID), and the broadcast episode ID is generated based on a sequence ID (SID) stored in the program information store 131 as information about a program's turn.

상기 방영회차 ID는 방영된 순서에 따라 상기 사용자 ID처럼 숫자, 문자, 기호 등을 조합하여 구성할 수 있다. 구체적인 예로, 9시에 방영하는 9시뉴스의 SID가 'C501' 일때 10시에 방영하는 드라마 주몽은 'C502', 11시에 방영하는 시사토크쇼는 'C503' 같이 방영되는 회차에 따라서 프로그램 ID가 부여되도록 구성할 수 있다.The broadcast episode ID may be configured by combining numbers, letters, symbols, and the like as the user ID in the order of airing. As a specific example, when the SID of the 9 o'clock news aired at 9 o'clock is 'C501', the drama Jumong aired at 10 o'clock is shown as 'C502', and the Sisa talk show aired at 11 o'clock is shown as 'C503'. Can be configured to be granted.

Figure 112007047958149-pat00003
Figure 112007047958149-pat00003

상기 표 1은 상기 시청 히스토리 저장소(102)에 저장되는 시청 히스토리의 예를 나타낸 표이다. 상기 표 1을 참조하면 홍길동은 2006년 10월 18일 21시에 방영하는 P000 프로그램을 60분간 시청했고, 동년 동월 동일 22시에 방영하는 P001 프로그램을 55분간 시청했음을 알 수 있다. Table 1 is a table showing an example of the viewing history stored in the viewing history storage 102. Referring to Table 1, Hong Gil-dong watched the P000 program aired at 21 o'clock on October 18, 2006 for 60 minutes, and watched the P001 program aired at the same 22 o'clock in the same month for 55 minutes.

그리고, 프로그램 P000과 P001은 각각 방영회차 ID가 'C501', 'C502'로서 프로그램 P000이 프로그램 P001보다 먼저 방영된 프로그램인 것을 확인할 수 있다. 또한, 상기 방영회차 ID는 더 정확한 시청 히스토리의 저장을 위하여 프로그램 P000의 경우로 예를 들면 '061018-21'(06년 10월 18일 - 21시에 방영함을 나타냄)와 같이 방영날짜, 방영시간에 대한 정보를 포함하여 구성될 수도 있다.The programs P000 and P001 can be confirmed that the broadcast PIDs are 'C501' and 'C502', respectively, so that the program P000 is broadcast before the program P001. In addition, the broadcast episode ID is a broadcast date, such as '061018-21' (shows October 18, 2006-21 o'clock in the case of program P000) in order to store the viewing history more accurately. It may be configured to include information about time.

상기 사용자 선호도 갱신 모듈(110)은 사용자의 시청 히스토리를 참조하여 프로그램 속성별로 사용자의 시청 빈도수를 정규화한 후 사용자 모델의 프로그램 속성별 선호도값을 갱신한다. The user preference update module 110 updates the preference value for each program attribute of the user model after normalizing the user's viewing frequency for each program attribute by referring to the viewing history of the user.

즉, 상기 사용자 선호도 갱신 모듈(110)은 상기 시청 히스토리 저장소에 저장된 사용자 ID, 타이틀, 프로그램 ID, 반영회차 ID, 프로그램의 채널, 장르, 세부 장르시청 시작 시간 및 종료 시간, 및 시청 시간 정보를 독출하여 상기 사용자 모델 정보를 계산 및 갱신하도록 구성된다.That is, the user preference updating module 110 reads out a user ID, a title, a program ID, an antireflection ID, a channel of a program, a genre, a detailed genre watching start time and an end time, and viewing time information stored in the viewing history store. To calculate and update the user model information.

일 예로, 상기 사용자 선호도 갱신 모듈(110)은 사용자 ID에 의해 상기 시청 히스토리 저장소를 조회하고, 빈도수가 가장 많은 프로그램 속성의 빈도수를 이용하여 다른 프로그램의 속성을 정규화하여 프로그램 속성별로 사용자 모델의 프로그램 속성별 선호도값을 갱신한다. For example, the user preference updating module 110 inquires the viewing history store by the user ID, normalizes the attributes of other programs using the frequency of the program attribute with the highest frequency, and then program attribute of the user model for each program attribute. Update the star preference value.

속성별 선호도값의 갱신은 사용자 모델 저장소(111)에 저장된 프로그램 채널, 장르 및 세부장르에 대한 사용자의 상대적 가중치를 포함하는 사용자 모델 정보를 참조하여 신규로 정규화된 프로그램 속성값과 사용자 모델 정보의 기존 속성값의 평균값에 의해 프로그램 속성별로 속성값을 갱신하도록 구성하는 것이 바람직하다. 상기 속성별 선호도 값의 상세한 계산 과정은 후술하기로 한다.The updating of the preference value for each attribute refers to the user model information including the user's relative weight for the program channel, genre, and detail genre stored in the user model repository 111. Preferably, the attribute value is updated for each program attribute by the average value of the attribute values. A detailed calculation process of the preference value for each attribute will be described later.

바람직하게, 상기 사용자 모델 정보는 사용자의 ID, 성명, 나이, 성별 및 학력을 포함하는 사용자 프로파일 정보를 더 포함하도록 구성될 수 있다. 그리고, 상기 프로그램 채널, 장르 및 세부장르에 대한 사용자의 상대적 가중치에 대한 초기값은 사용자로부터 입력받도록 구성될 수 있다.Preferably, the user model information may be configured to further include user profile information including the user's ID, name, age, gender and education. The initial value of the user's relative weight for the program channel, genre, and sub-genre may be configured to be input by the user.

상기 사용자 모델 정보에 포함된 프로그램 채널, 장르 및 서브장르는 방영 프로그램과 사용자 취향이 서로 일치하는 정도를 수치화하여 나타낸 정보로서, 채널 속성의 예로는 'MBC', 'KBS' 등이 있을 수 있고, 장르 속성의 예로는 '뉴스', '드라마' 등으로 설명될 수 있다.The program channel, genre, and sub-genre included in the user model information are numerical values indicating the degree of correspondence between the broadcast program and the user's taste. Examples of channel attributes may include 'MBC', 'KBS', and the like. Examples of genre attributes may be described as 'news' or 'drama'.

그리고, 상기 서브장르 속성은 상기 장르 속성이 더 세분화된 것을 의미하며, 상기 장르 속성 중 '드라마'의 경우로 예를 들면, '코믹 드라마', '사극 드라마', '멜로 드라마' 등으로 설명될 수 있다.The sub-genre attribute means that the genre attribute is further subdivided, and is described as 'drama' among the genre attributes, for example, 'comic drama', 'historical drama', 'melo drama', and the like. Can be.

상기 사용자 모델 정보를 속성별로 수치화하는 예는 채널 속성의 경우, 사용자가 MBC를 즐겨보면 채널 MBC에 대한 사용자의 채널 속성은 '1'로 설정하고 그보다 덜 즐겨보는 채널 'KBS'는 채널 속성은 상대적으로 낮게 '0.7'로 설정하는 것으로 설명될 수 있다. The example of quantifying the user model information for each attribute is a channel attribute. When a user enjoys MBC, the channel attribute of the user for the channel MBC is set to '1', and the channel attribute for the less-favored channel 'KBS' is relative. It can be explained by setting as low as '0.7'.

상기와 같은 방식으로 설정된 채널 속성은 프로그램 추천 시 MBC가 KBS보다 더 높은 확률로 추천될 수 있도록 사용된다.The channel attribute set in the above manner is used so that MBC can be recommended with a higher probability than KBS when recommending a program.

상기 시청 패턴 가중치 계산 모듈(120)은 프로그램별로 사용자의 시청 히스토리를 참조하여 프로그램의 방영기간 동안 방영된 각 방영회차에 대해 시청 시점이 최근일수록 값이 증가하도록 시청 패턴 가중치를 부여한 후 각 방영회차의 시청 패턴 가중치를 누산한다.The viewing pattern weight calculation module 120 refers to the viewing history of the user for each program, and assigns the viewing pattern weight to each viewing session weight so that the value increases as the viewing time becomes more recent. Accumulate the viewing pattern weight.

상기 시청 패턴 가중치는 사용자가 최근 관심을 가지고 있는 프로그램 또는 최근 많이 시청한 프로그램에 대한 사용자의 최근 경향을 반영하여 프로그램 추천이 이뤄지게 하기 위한 정보로서, 프로그램의 속성별 사용자의 상대적 가중치의 값에만 의존하여 추천이 이루어지는 종래의 문제점을 개선하기 위해 본 발명자가 새롭게 제안한 개념이다. The viewing pattern weight is information for program recommendation to be made by reflecting the user's recent tendency toward a program that the user is interested in recently or a program that the user has watched most recently, and depends only on the value of the user's relative weight for each property of the program. This is a concept newly proposed by the present inventors to improve the conventional problem of making a recommendation.

구체적인 예를 들어, 스포츠를 좋아하고 드라마는 거의 시청하지 않는 사용자(장르 속성 : 스포츠 = 1, 드라마 = 0.1인 사용자의 경우)가 인기를 얻고 있는 드라마를 주변의 권유에 따라 특이하게 시청하게 되는 경우에 프로그램의 속성별 사용자의 상대적 가중치의 값에 따라 프로그램이 추천되면 최근 경향이 반영되지 않기 때문에 프로그램 추천에 드라마는 없고 전과 동일하게 스포츠만 추천되게 된다.For example, if a user who likes sports and rarely watches a drama (for genre attribute: sports = 1, drama = 0.1) is watching a drama that is gaining popularity, according to the surrounding invitation If a program is recommended according to the value of the user's relative weight for each attribute of the program, the recent trend is not reflected, and thus, only the sport is recommended as in the previous program without drama.

하지만, 프로그램 채널, 장르 및 서브장르에 대한 사용자의 상대적 가중치에 시청 패턴 가중치를 반영하여 프로그램 추천을 하는 경우, 최근 경향이 반영되어 스포츠와 함께 최근 즐겨보던 드라마가 추가되어 추천목록에 나타날 수 있도록 구성할 수 있다. 상기와 같은 이유로 상기 시청 패턴 가중치는 프로그램의 방영기간 동안 방영된 각 방영회차에 대해 시청 시점이 최근일수록 값이 증가하도록 구성하는 것이 바람직한 것이다.However, if the program recommendation is made by reflecting the viewing pattern weight in the user's relative weight for the program channel, genre, and sub genre, the recent trend is reflected so that the drama that has been recently enjoyed with the sport is added to the recommendation list. can do. For the above reason, it is preferable that the viewing pattern weight is configured such that the value of the viewing pattern weight is increased as the viewing time is more recent for each broadcasting session that is aired during the program airing period.

상기 프로그램 선호도 계산 모듈(130)은 프로그램별로 속성 정보를 참조하여 사용자 모델 정보로부터 프로그램 속성별로 속성값을 추출하고, 추출된 각 속성값을 수학적 연산에 의해 하나의 값으로 통합한 값에 해당 프로그램의 누산된 시청 패턴 가중치를 적용하여 사용자의 프로그램 선호도를 계산한다.The program preference calculation module 130 extracts the attribute values for each program attribute from the user model information by referring to the attribute information for each program, and integrates the extracted attribute values into one value by a mathematical operation. The program preference of the user is calculated by applying the accumulated viewing pattern weights.

즉, 상기 프로그램 선호도 계산 모듈(130)은 상기 사용자 선호도 갱신 모듈(110)에 의하여 계산 및 갱신된 프로그램 채널, 장르 및 서브장르에 대한 사용자의 프로그램 속성별 상대적 가중치와 상기 시청 패턴 가중치 계산 모듈(120)에 의하여 누산된 각 프로그램의 시청 패턴 가중치를 수학적 연산에 의해 하나의 값으로 통합한 정보인 프로그램 선호도를 생성한다.That is, the program preference calculation module 130 calculates the relative weight for each program attribute of the user for the program channel, genre, and sub genre calculated and updated by the user preference update module 110 and the viewing pattern weight calculation module 120. Program preferences, which are information obtained by integrating the viewing pattern weights of each program accumulated by a) into one value by a mathematical operation, are generated.

이 때, 프로그램 선호도의 계산 대상은 사용자가 지정한 프로그램 추천 시간대에 방영되는 각 채널의 프로그램이다. 즉, 상기 프로그램 선호도 계산 모듈(130)은 사용자의 프로그램 추천 요구가 있을 때마다 사용자가 원하는 시간대에 방영되는 각 채널의 프로그램 선호도를 계산하여 개인 선호도에 맞는 프로그램을 추천하도록 구성하는 것이다. At this time, the target of calculating the program preference is a program of each channel that is broadcasted at the program recommendation time zone specified by the user. That is, the program preference calculation module 130 is configured to calculate a program preference of each channel that is broadcasted in a desired time zone by the user whenever there is a program recommendation request of the user so as to recommend a program suitable for the personal preference.

이는 사용자의 최근 경향을 파악하여 프로그램이 추천되는 것이 바람직하기 때문이다. 해당 시간대에 방영되는 각 채널의 프로그램에 대한 정보는 상기 프로그램 정보 저장소(131)의 정보를 독출하여 파악하도록 구성한다.This is because the program is recommended by grasping the recent trends of the user. The information about the program of each channel that is broadcasted in the corresponding time zone is configured to read and grasp the information of the program information store 131.

상기 프로그램 추천 모듈(140)은 상기 프로그램 선호도가 높은 순으로 사용자에게 프로그램을 추천하게 된다. 바람직하게, 상기 프로그램 추천 모듈(140)은 미리 정해진 수의 선호도 상위 프로그램 리스트를 작성하여 통신망을 통해 추천 프로그램 출력 모듈(150)로 출력한다.The program recommendation module 140 recommends a program to a user in order of high program preference. Preferably, the program recommendation module 140 creates a predetermined number of preference higher program lists and outputs them to the recommendation program output module 150 through a communication network.

그러면, 상기 추천 프로그램 출력 모듈(150)은 상기 상위 선호도 프로그램 리스트를 전송받아 디지털 TV 화면에 출력시킨다.Then, the recommended program output module 150 receives the higher preference program list and outputs the same to the digital TV screen.

본 발명의 일 측면에 따르면, 상기 사용자 선호도 갱신 모듈(110)은 1주일 단위로 사용자의 시청 히스토리를 조회하여 사용자의 프로그램 속성별 선호도값을 갱신하고, 상기 시청 패턴 가중치 계산 모듈(120)은 1주일 단위로 사용자의 시청 히스토리를 참조하여 사용자의 프로그램별 시청 패턴 가중치를 누산하도록 구성하도록 구성한다. 하지만, 본 발명은 위 각 모듈(110, 120)의 계산 주기에 의해 한정되는 것은 아니다.According to an aspect of the present invention, the user preference updating module 110 queries the viewing history of the user on a weekly basis to update the preference value for each program attribute of the user, and the viewing pattern weight calculation module 120 is 1 It is configured to accumulate the user's viewing pattern weight for each program by referring to the user's viewing history on a weekly basis. However, the present invention is not limited by the calculation periods of the above modules 110 and 120.

한편, 상기 시청 패턴 가중치 계산과정은 사용자의 최근 경향이 반영되도록 구성하는 것이 보다 바람직하므로 사용자가 프로그램 추천을 요청할 때마다 사용자의 프로그램별 시청 패턴 가중치를 누산하도록 구성할 수도 있다.On the other hand, the viewing pattern weight calculation process is more preferably configured to reflect the recent trend of the user, it may be configured to accumulate the viewing pattern weight for each program of the user whenever the user requests a program recommendation.

이상으로 본 발명에 따른 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템의 구성에 대한 설명을 마치고, 이하에서는 상기 프로세싱 중 프로그램 속성별 선호도값, 시청 패턴 가중치, 프로그램 선호도가 계산되는 수학적 연산 과정을 보다 상세히 설명하기로 한다.After the description of the configuration of the digital TV program recommendation system using the program viewing pattern reflecting technique according to the present invention has been described, the following is a mathematical operation process of calculating the preference value, viewing pattern weight, program preference for each program attribute during the processing It will be described in more detail.

사용자 선호도 갱신 모듈(110)에서 계산의 대상이 되는 사용자의 선호도는 사용자 시청 히스토리를 바탕으로 프로그램 채널, 장르 및 세부장르를 기초로 계산된다. 사용자 선호도 계산과 사용자 모델 갱신 과정은 아래와 같다.In the user preference update module 110, a user's preference, which is a target of calculation, is calculated based on a program channel, a genre, and a detailed genre based on the user viewing history. The user preference calculation and user model update process is as follows.

먼저, 사용자의 히스토리에서 각 속성 값(예: '장르' 속성의 경우 '뉴스', '드라마' 등)에 대하여 해당 기간의 시청 빈도수를 구한다. 선호도는 해당 속성 중 가장 큰 빈도수를 갖는 속성 값의 빈도수를 Max값으로 정한 뒤, Max 값을 기준으로 (속성 값 빈도수)/(Max 값)와 같이 정규화 되며, 이 값은 사용자 모델 갱신 값으로 사용된다.First, the viewing frequency of the corresponding period is calculated for each attribute value (eg, 'news', 'drama', etc.) in the user's history. The affinity is defined as the Max value of the property value with the highest frequency among the properties, and then normalized based on the Max value such as (attribute value frequency) / (Max value), which is used as the user model update value. do.

Figure 112007047958149-pat00004
Figure 112007047958149-pat00004

상기 표 2는 사용자 A의 장르별 시청 빈도수를 나타낸 표이다. 상기 표 2를 예로 사용자 A의 장르별 시청 빈도수를 살펴보면, 시사/다큐-6회, 뉴스-4회, 교양/정보-3회, 교육-8회, 영화-4회의 빈도수를 갖는다. 이 경우, Max 값은 빈도수가 가장 큰 8(교육)이 되어, 각 장르에 대해 정규화된 선호도값은 시사/다큐-0.75, 뉴스-0.5, 교양/정보-0.37, 교육-1.0, 영화-0.5가 된다.Table 2 is a table showing the viewing frequency of each user genre. Taking Table 2 as an example, looking at the frequency of viewing by user A genre, the frequency of current events / documentary-6 times, news-4 times, culture / information-3 times, education-8 times, movies-4 times. In this case, the Max value is 8 (education) with the highest frequency, and the normalized preference values for each genre are current / doc-0.75, news-0.5, culture / information-0.37, education-1.0, and movie-0.5. do.

도 5는 사용자 모델의 갱신 예를 보여주는 도면이다. 도면을 참조하면, 장르 ‘뉴스’에 대한 선호도 값은 0.2(기존 사용자 모델의 뉴스 선호도 값)+0.5(정규화된 뉴스 선호도값)/2.0 = 0.35(갱신된 사용자 모델의 뉴스 선호도 값)로 갱신되고, 장르 '드라마' 에 대한 선호도 값은 0.7(기존 사용자 모델의 뉴스 선호도 값)+0(정규화된 드라마 선호도값)/2.0 = 0.35(갱신된 사용자 모델의 뉴스 선호도 값)로 갱신된다.5 is a diagram illustrating an example of updating a user model. Referring to the drawing, the affinity value for the genre 'news' is updated to 0.2 (news news value of the existing user model) +0.5 (normalized news preference value) /2.0 = 0.35 (news news value of the updated user model) , The preference value for the genre 'drama' is updated to 0.7 (news news value of the existing user model) + 0 (normalized drama preference value) /2.0 = 0.35 (news user news value of the updated user model).

상기 사용자 선호도 갱신 모듈(110)은 상기와 같은 연산과정으로 사용자의 시청 패턴에 따른 프로그램 채널, 서브 장르에 대해서도 선호도 값을 갱신하게 된다.The user preference updating module 110 updates the preference value for the program channel and sub genre according to the viewing pattern of the user through the above-described calculation process.

다음으로, 시청 패턴 가중치 계산 모듈(120)은 다음 수학식에 의해 프로그램의 방영회차 별로 시청 패턴 가중치를 계산하고, 각 방영회차에 대해 계산된 시청 패턴 가중치를 하나의 값으로 누산한다.Next, the viewing pattern weight calculation module 120 calculates the viewing pattern weight for each episode of the program by the following equation, and accumulates the viewing pattern weight calculated for each episode.

Figure 112007047958149-pat00005
Figure 112007047958149-pat00005

(w'u ,p는 사용자 u의 프로그램 p에 대한 시청패턴 가중치이고,(w ' u , p is the viewing pattern weight for user p's program p,

wu , pi  는 사용자 u의 프로그램 p의 해당 기간 중 방영회차 i에 대한 시청패턴 가중치이고,w u , pi   Is the viewing pattern weight for the show i during the corresponding period of program p of user u,

pi는 해당 기간 중 방영회 i의 프로그램이고,p i is the program for the show i during that period,

n(p)는 프로그램 p의 해당 기간 방영 횟수이고,n (p) is the number of episodes of the program p during that period,

α는 과거 시청내역과 현재 시청내역의 반영 비율을 나타내는 상수이고,α is a constant representing a reflection ratio between past and current viewing history,

history(u)는 사용자 u의 해당 기간 중 시청 내역임)history (u) is the watch history for the user u's time period)

상기 수학식 1을 이용한 시청 패턴 가중치 반영은 사용자가 프로그램을 시청한 히스토리가 있는 경우에만 이루어진다. 사용자 u의 프로그램 p에 대한 시청 패턴 가중치 w'u,p는 사용자 u의 프로그램 p의 해당 기간 중 방영회 i에 대한 시청 패 턴 가중치, wu,pi를 모두 합한 값을 가지게 된다. wu,pi 는 사용자 u가 해당 기간 중 방영회 i의 프로그램 p를 시청하였으면 αn-i+1 의 값을 가지고 그렇지 않으면 0의 값을 가진다.Reflection of the viewing pattern weight using Equation 1 is performed only when the user has a history of viewing the program. The viewing pattern weights w ' u, p for the user p 's program p have the sum of the viewing pattern weights w u, pi for the broadcasting society i during the corresponding period of the program p of the user u. w u, pi has a value of α n-i + 1 if the user u watched the program p of the broadcasting society i during the period, and 0 otherwise.

도 6은 시청 패턴 가중치를 계산하는 예를 나타낸 도면이다. 도면을 참조하면 동일한 시간대에 방영하는 프로그램(개그야, 주몽, 스타크래프트)을 보여준다. 이 프로그램들은 동일한 방영일을 가지며 3주의 시청 히스토리 중 3번의 시청 이력을 가지고 있다. 6 is a diagram illustrating an example of calculating a viewing pattern weight. Referring to the drawings, programs (gagya, Jumong, StarCraft) that are aired at the same time are shown. These programs have the same airing date and three viewing histories of three weeks of viewing history.

개그야는 1주째의 '월', '화'와 2주째의 '화'의 시청이력을 가지고 있는데, 이 경우에서의 시청 패턴 가중치는 전체 방영일 (n=6)에 대해서 각 방영일에 대한 시청 패턴 가중치를 합한 값이 되므로 0.966 + 0.965 + 0 + 0.963 + 0 +0 = 2.4827이 된다. 주몽과 스타크래프트의 경우에도 위와 같은 방식으로 계산된다. Gagya has the viewing history of 'Month', 'Tue' and 'Tue' of the 1st week, in which case the viewing pattern weight is the viewing pattern weight for each airing day for the whole airing day (n = 6). , Which adds up to 0.96 6 + 0.96 5 + 0 + 0.96 3 + 0 + 0 = 2.4827. Jumong and StarCraft are calculated the same way.

1주와 2주의 시청 이력이 비슷한 개그야와 스타크래프트를 살펴보면 스타크래프트의 시청이력이 연속임에도 불구하고 2주차에서 최근에 본 프로그램인 개그야에 대한 시청 패턴 가중치가 더 높게 나타나는 것을 알 수 있다. 개그야와 스타크래프트, 주몽을 비교하여 본다면 시청 이력이 더 최근인 주몽의 시청 패턴 가중치가 높게 계산되는 것을 확인할 수 있다.Looking at gagya and starcraft, which have similar viewing histories for 1 week and 2 weeks, although the viewing history of StarCraft is continuous, it can be seen that the weight of the viewing pattern for gagya, which was recently viewed in week 2, is higher. If you compare gagya, StarCraft, and Jumong, you can see that Jumong's viewing pattern weight is higher when viewing history is more recent.

Figure 112007047958149-pat00006
Figure 112007047958149-pat00006

상기 표 3은 동일한 프로그램 선호도를 가진 프로그램에 대하여 시청 패턴 가중치를 적용한 결과를 나타낸 것이다. 최종 프로그램 선호도는 프로그램 선호도에 시청 패턴 가중치의 곱으로 계산된다. 같은 프로그램 선호도를 가지더라도 시청 패턴 가중치를 적용한 결과 최근 시청 패턴이 많이 반영되어, '주몽'이 추천된다는 것을 알 수 있다. Table 3 shows a result of applying the viewing pattern weight to a program having the same program preference. The final program preference is calculated by multiplying the program preference by the viewing pattern weight. Even with the same program preferences, as a result of applying the viewing pattern weights, it can be seen that 'Jumong' is recommended because many recent viewing patterns are reflected.

상기 프로그램 선호도 계산 모듈(130)은 다음 수학식에 의해 사용자의 프로그램별 선호도를 계산한다.The program preference calculation module 130 calculates a user's program preference by the following equation.

Figure 112007047958149-pat00007
Figure 112007047958149-pat00007

(w'u ,p는 사용자 u의 프로그램 p에 대한 누산된 시청패턴 가중치이고,(w ' u , p is the accumulated viewing pattern weight for user u's program p,

k는 0보다 큰 양의 수이고,k is a positive number greater than zero,

Preference(u,p)는 사용자 u의 프로그램 p에 대한 선호도이고,Preference (u, p) is user u's preference for program p,

preferenceu gerne (p)는 사용자 u의 프로그램 p의 장르에 대한 선호도이고,preference u gerne (p) is the preference for the genre of user u's program p,

preferenceu channel (p)는 사용자 u의 프로그램 p의 채널에 대한 선호도이고,preference u channel (p) is user u's preference for channel of program p,

preferenceu subGenre (p)는 사용자 u의 프로그램 p의 서브 장르에 대한 선호도임)preference u subGenre (p) is the preference for the sub genre of user u's program p)

프로그램의 선호도는 사용자 u의 프로그램 장르에 대한 선호도와 세부 장르에 대한 선호도, 채널에 대한 선호도에 각각 k를 더한 후, 각각의 선호도를 모두 곱한 값으로 계산된다. 선호도 값에 k를 더하는 이유는 특정 항목의 값이 0이 나오는 경우 프로그램 전체에 대한 선호도가 0이 되기 때문에 이를 방지하기 위함이다. 경우에 따라, k는 0이 되어도 무방하다.The preference of the program is calculated by multiplying each user's preference by adding k to the user's preference for the program genre, the preference for the detailed genre, and the channel preference. The reason why k is added to the preference value is to prevent this because if the value of a specific item is 0, the preference for the whole program becomes 0. In some cases, k may be 0.

Figure 112007047958149-pat00008
Figure 112007047958149-pat00008

상기 표 4는 사용자 '홍길동'의 '개그야', '주몽', '스타크래프트' 프로그램에 대한 시청 패턴 가중치와 사용자 모델 정보이다. 상기 표 4을 참조하여 상기 수학식을 이용한 프로그램 선호도의 실제 연산과정을 설명하기로 한다. (상수 k는 1로 계산한다)Table 4 shows viewing pattern weights and user model information of the 'gagya', 'jumong', and 'starcraft' programs of the user 'Hong Gil-dong'. With reference to Table 4 will be described the actual operation of the program preference using the equation. (Constants are calculated as 1)

'개그야'의 프로그램 선호도의 계산식Calculation of program preferences for gags

2.48 × (0.7+1)×(0.8+1)×(0.7+1) ≠ 12.92.48 × (0.7 + 1) × (0.8 + 1) × (0.7 + 1) ≠ 12.9

'주몽'의 프로그램 선호도의 계산식Calculation of the program preference of Jumong

2.77 × (0.7+1)×(0.6+1)×(0.4+1) ≠ 10.552.77 × (0.7 + 1) × (0.6 + 1) × (0.4 + 1) ≠ 10.55

'스타크래프트'의 프로그램 선호도의 계산식Calculation of StarCraft's Program Preference

2.45 × (0.5+1)×(0.8+1)×(0.5+1) ≠ 9.922.45 × (0.5 + 1) × (0.8 + 1) × (0.5 + 1) ≠ 9.92

사용자 '홍길동'의 사용자 모델 정보(프로그램 채널+장르+서브장르)만을 비교하였을 경우에는 '개그야' 2.2(0.7+0.8+0.7), '주몽' 1.7(0.7+0.6+0.4), '스타크래프트' 1.8(0.5+0.8+0.5)로써 '개그야'가 사용자 선호도값이 가장 높고 '주몽'이 가장 낮다. If only the user model information (program channel + genre + sub-genre) of the user 'Hong Gil-dong' is compared, 'gagya' 2.2 (0.7 + 0.8 + 0.7), 'jumong' 1.7 (0.7 + 0.6 + 0.4), 'starcraft' At 1.8 (0.5 + 0.8 + 0.5), gagya has the highest user preference and lowest jumong.

하지만, 상기의 연산결과를 살펴보면 시청 패턴 가중치를 적용하여 최근에 많이 시청했던 '주몽'이 '스타크래프트'보다 프로그램 선호도가 더 높게 계산되었다.However, looking at the above calculation results, 'Jumong', which was recently watched a lot by applying a viewing pattern weight, has a higher program preference than 'Starcraft'.

상기의 결과는 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템이 사용자의 평소 취향과 맞지 않는 프로그램을 특이한 경우로 시청하게 되더라도 최근 경향을 반영하여 효과적인 프로그램 추천이 이뤄질 수 있는 것을 보여준다.The above results show that even if a digital TV program recommendation system using a program viewing pattern reflecting technique is used to watch a program that does not match the user's usual taste as an unusual case, effective program recommendation can be made by reflecting the recent trend.

이상으로 본 발명에 따른 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템에서 사용자 모델의 속성별 선호도값 갱신, 시청 패턴 가중치, 프로그램 선호도가 계산되는 과정에 대한 설명을 마치고, 본 발명에 따른 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 방법을 설명하기로 한다.In the digital TV program recommendation system using the program viewing pattern reflecting method according to the present invention, after finishing the description of the process of calculating preference value, viewing pattern weight, and program preference for each user model, viewing the program according to the present invention. A method of recommending a digital TV program using a pattern reflection technique will be described.

본 발명에 따른 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 방법은 먼저, 시청 히스토리 수집 모듈(100)에서 사용자의 디지털 TV 리모콘 조작을 모니터링하여 사용자의 프로그램 시청 히스토리를 수집한다.In the digital TV program recommendation method using the program viewing pattern reflecting method according to the present invention, the viewing history collection module 100 monitors the user's digital TV remote control operation to collect the program viewing history of the user.

그러면, 시청 히스토리 저장 모듈(101)은 상기 수집된 시청 히스토리를 시청 히스토리 수집 모듈(100)로부터 전송받아 시청 히스토리 저장소(102)에 저장한다. 시청 히스토리 저장소(102)에 저장되는 정보의 구체적인 내역은 이미 상술한 바와 같다.Then, the viewing history storage module 101 receives the collected viewing history from the viewing history collecting module 100 and stores the collected viewing history in the viewing history storage 102. The specific details of the information stored in the viewing history storage 102 have already been described above.

다음으로, 사용자 선호도 갱신 모듈(110)은 누적 저장된 사용자의 시청 히스토리 정보를 참조하여 프로그램 속성별로 사용자의 시청 빈도수를 정규화한 후 사용자 모델 정보의 프로그램 속성별 선호도값을 계산 및 갱신한다.Next, the user preference update module 110 normalizes the user's viewing frequency for each program attribute by referring to the stored viewing history information of the user and calculates and updates a preference value for each program attribute of the user model information.

도 2는 본 발명에서 사용자 모델 정보의 프로그램 속성별 선호도값을 갱신하는 방법에 대한 흐름도이다.2 is a flowchart illustrating a method of updating a preference value for each program attribute of user model information in the present invention.

먼저, 상기 사용자 선호도 갱신 모듈(110)은 상기 시청 히스토리 저장소(102)에 누적되어 저장된 사용자의 시청 히스토리를 독출한다(S200). 다음으로 바람직하게, 프로그램 속성별로 사용자의 선호도 값을 정규화한다(S210). First, the user preference updating module 110 reads out a viewing history of a user accumulated and stored in the viewing history storage 102 (S200). Next, preferably, the user's preference value is normalized for each program property (S210).

그 후, 상기 사용자 선호도 갱신 모듈(110)은 상기 사용자 모델 저장소(111)에 저장된 기존 사용자 모델 정보를 독출한다(S220). 그리고, 상기 기존 사용자 모델 정보를 기초로 상기 정규화한 프로그램 속성별 사용자의 선호도 값과 연계하여 상기 선호도값을 갱신한다(S230). 프로그램 속성별 선호도값의 정규화 과정과 선호도값의 갱신 과정은 이미 상술한 바와 같다.Thereafter, the user preference update module 110 reads existing user model information stored in the user model repository 111 (S220). The preference value is updated in association with the normalized user preference value for each program attribute based on the existing user model information (S230). The process of normalizing the preference value and updating the preference value for each program attribute has already been described above.

한편, 시청 패턴 가중치 계산 모듈(120)은 사용자로부터 프로그램 추천 요청이 있을 때 또는 미리 정한 주기별로 시청 히스토리 저장소로부터 프로그램별로 사용자의 시청 히스토리를 참조하여 프로그램의 방영기간 동안 방영된 각 방영회차에 대해 시청 시점이 최근일수록 값이 증가하도록 시청 패턴 가중치를 부여한 후 각 방영회차의 시청 패턴 가중치를 누산한다. On the other hand, the viewing pattern weight calculation module 120 refers to each viewing session broadcasted during the airing period of the program by referring to the viewing history of the user for each program from the viewing history store when there is a program recommendation request from the user or at predetermined intervals. The viewing pattern weight is added to increase the value as the viewpoint is more recent, and then the viewing pattern weight of each broadcasting session is accumulated.

도 3은 본 발명에서 각 방영회차의 시청 패턴 가중치를 누산하는 방법에 대한 흐름도이다. 3 is a flowchart illustrating a method of accumulating the viewing pattern weights of the broadcast episodes in the present invention.

도면을 참조하면, 먼저 시청 패턴 가중치 계산 모듈(120)은 사용자의 시청 히스토리를 독출한다(S300). 그런 다음, 프로그램의 방영회차별로 시청 패턴 가중치 부여(S310)하고, 그 후에 방영회차별 시청 패턴 가중치를 누산한다(S320). 각 방영회차별 프로그램의 시청 패턴 가중치의 계산 과정과 계산된 시청 패턴 가중치의 누산 과정은 이미 상술하였다.Referring to the drawings, first, the viewing pattern weight calculation module 120 reads out the viewing history of the user (S300). Then, the viewing pattern weights are assigned to each of the broadcast episodes of the program (S310), and thereafter, the viewing pattern weights of each broadcast episode are accumulated (S320). The calculation process of the viewing pattern weights and the accumulation process of the calculated viewing pattern weights of each broadcasting session program have been described above.

상기 사용자 선호도 계산 및 갱신과정, 상기 시청 패턴 가중치 누산과정은 시간적 선후를 가지고 수행되는 프로세스라고 해석되기보다는 병렬적으로 수행되는 프로세스로 이해되는 것이 바람직하다.It is preferable that the user preference calculation and update process and the viewing pattern weight accumulation process are interpreted as being performed in parallel rather than interpreted as being performed with temporal success.

도 4는 본 발명에 따라 사용자의 프로그램 선호도가 계산되어 사용자에게 프로그램 추천이 이루어지는 과정을 순차적으로 나타낸 흐름도이다. 4 is a flowchart sequentially illustrating a process of making a program recommendation to a user by calculating a program preference of a user according to the present invention.

도면을 참조하면, 먼저 상기 프로그램 선호도 계산 모듈(130)은 프로그램 추천 요청의 유무를 확인(S400)하고 프로그램 추천 요청이 있을 경우 이후 프로세싱을 수행한다. 일정한 주기로 미리 추천할 프로그램을 선별해 놓는 방법도 가능하지만 사용자의 가장 최근 시청경향을 적용시키기 위하여 프로그램 추천 요청이 있을 경우에 추천할 프로그램을 선별토록 하는 것이 더 바람직하다고 할 수 있다.Referring to the drawing, first, the program preference calculation module 130 checks the presence or absence of a program recommendation request (S400), and if there is a program recommendation request, performs subsequent processing. Although it is possible to select a program to recommend in advance at regular intervals, it may be more preferable to select a program to be recommended when a program recommendation request is made in order to apply the user's most recent viewing trend.

다음 단계로, 상기 프로그램 선호도 계산 모듈(130)은 상기 프로그램 정보 저장소(131)에서 프로그램 리스트를 독출(S410)하고, 사용자 선호도값의 계산(S420), 시청 패턴 가중치의 누산(S430) 과정을 수행한다.Next, the program preference calculation module 130 reads a program list from the program information store 131 (S410), calculates a user preference value (S420), and accumulates viewing pattern weights (S430). do.

상기 단계 S420은 이미 상술한 바와 같이 일정한 주기를 가지고 수행되도록 구성할 수 있지만 상기와 같이 프로그램 추천 요청이 있을 때마다 수행되도록 구성되는 것도 가능하다.The step S420 may be configured to be performed at a predetermined cycle as described above, but may be configured to be performed whenever a program recommendation request is made as described above.

그 후, 상기의 과정에서 생성된 데이터를 기초로 각 프로그램의 선호도를 계산한다(S440). 각 프로그램의 선호도 계산은 이미 상술한 바 있다.Thereafter, the preference of each program is calculated based on the data generated in the above process (S440). The preference calculation of each program has already been described above.

다음으로, 상기 프로그램 추천 모듈(140)은 미리 정해진 수의 선호도 상위 프로그램 리스트를 작성하여 출력(S450)하고, 상기 추천 프로그램 출력 모듈(150)은 상기 상위 선호도 프로그램 리스트를 전송받아 디지털 TV 화면에 출력한다(S460).Next, the program recommendation module 140 creates and outputs a predetermined number of preference higher program lists (S450), and the recommended program output module 150 receives the higher preference program list and outputs the same to the digital TV screen. (S460).

이하에서는 본 발명에 따른 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템 및 방법의 효율성 평가를 위하여 100명의 시청자를 대상으로 비교실험을 수행한 결과를 설명하기로 한다. Hereinafter, a result of performing comparative experiments with 100 viewers for evaluating the efficiency of the digital TV program recommendation system and method using the program viewing pattern reflection technique according to the present invention will be described.

실험은 총 52주의 실제시청기록 중, 39주는 Training Data, 13주는 Test Data로 분할하고, 시청비율이 방영시간의 10%이상인 프로그램만을 선택하여 진행하였다. 사용자 모델 정보 갱신 및 프로그램 추천 주기는 일주일 단위로 하였고, 추천 개수는 5개로 정하였다. 실험데이터는 (주)닐슨 미디어 리서치에서 제공받은 실제시청기록(시청 히스토리 저장소에 저장된 정보에 해당)과 (주)EPG에서 제공받은 프로그램 정보(프로그램 정보 저장소에 수록된 정보에 해당)이다[표 5 참조].The experiment consisted of 39 weeks of training data, 13 weeks of test data, and 13 weeks of test data. The user model information update and program recommendation cycles were made on a weekly basis, and the number of recommendations was set at five. The experimental data are actual viewing records (corresponding to information stored in the viewing history repository) provided by Nielsen Media Research and program information (corresponding to information contained in the program information repository) provided by EPG Co., Ltd. ].

Figure 112007047958149-pat00009
Figure 112007047958149-pat00009

시스템 효율 평가의 척도로는 정보검색 분야에서 사용하는 Precision과 Recall을 사용하였다. Precision과 Recall에 대한 계산 방식은 각각 하기 수학식3 및 4와 같다. 하기 수학식 3 및 4에서 추천프로그램은 추천 시스템이 제공한 추천 목록이며, 시청 프로그램은 사용자가 시청한 TV 프로그램을 말한다.As a measure of system efficiency, precision and recall were used in the field of IR. The calculation method for Precision and Recall is as shown in Equations 3 and 4, respectively. In the following Equations 3 and 4, the recommendation program is a recommendation list provided by the recommendation system, and the viewing program refers to a TV program watched by a user.

Figure 112007047958149-pat00010
Figure 112007047958149-pat00010

Figure 112007047958149-pat00011
Figure 112007047958149-pat00011

도 7은 프로그램 선호도 계산식(상기 수학식 2)에서 k값 변화에 따른 Recall의 변화 추이를 나타낸 그래프이다. 그래프를 참조하면, 그래프를 참조하면, 실험에서 사용된 0~1.0사이의 k값 중 가장 좋은 추천 효율을 나타내는 값은 1.0임을 알 수 있다.7 is a graph showing a change in Recall according to a change in k value in a program preference calculation equation (Equation 2). Referring to the graph, referring to the graph, it can be seen that the value representing the best recommended efficiency among the k values between 0 and 1.0 used in the experiment is 1.0.

이하에서는 실험 A, 실험 B, 실험 C, 실험 D, 실험 E를 예를 들어 설명하기로 한다. 실험 A는 시청 패턴 가중치를 적용하지 않은 내용기반 추천으로서 사용자의 장르, 세부장르, 채널 선호도만을 이용하여 프로그램 선호도를 계산한 후, 선호도가 높은 프로그램을 추천하였다. 프로그램 선호도 계산을 위해 사용한 수식은 하기 수학식 5이다.Hereinafter, Experiment A, Experiment B, Experiment C, Experiment D, and Experiment E will be described by way of example. In Experiment A, as a content-based recommendation without applying the viewing pattern weight, the program preference was calculated using only the genre, the detailed genre, and the channel preference of the user. The equation used for the program preference calculation is shown in Equation 5 below.

Figure 112007047958149-pat00012
Figure 112007047958149-pat00012

(preference(u,p)는 사용자 u의 프로그램 p에 대한 선호도,(preference (u, p) is the u's preference for program p,

preferenceu gerne (p)는 사용자 u의 프로그램 p의 genre에 대한 선호도,preference u gerne (p) is the user's preference for program p's genre,

preferenceu channel (p)는 사용자 u의 프로그램 p의 channel에 대한 선호도,preference u channel (p) is the preference for the channel of program p of user u,

preferenceu subGenre (p)는 사용자 u의 프로그램 p의 subGenre에 대한 선호도임)preference u subGenre (p) is the preference for subGenre of user u's program p)

실험 B는 사용자 모델 정보만을 적용한 방법으로 선호도가 계산된 프로그램 중 과거 시청하였던 프로그램만을 대상으로 선호도가 높은 순으로 추천하였다. 추천 대상 프로그램이 5개 미만일 경우에는 한 번도 시청하지 않았던 프로그램이더라도 선호도가 높은 프로그램을 추천하였다. 프로그램 선호도 계산을 위해 사용한 수식은 하기 수학식 6이다.Experiment B applied only the user model information, and recommended only the programs that were viewed in the past in order of preference. If there were less than 5 programs to be recommended, programs with high preference were recommended, even if the program was never watched. The equation used for the program preference calculation is shown in Equation 6 below.

Figure 112007047958149-pat00013
Figure 112007047958149-pat00013

Step 1: 선호도 계산,Step 1: calculate preferences,

Step 2: 만약 viewingRateu ,p >0 인 경우에만 추천 리스트에 추가,Step 2: If viewingRate u , p > 0 only add to recommendation list,

Step 3: 추천 리스트가 5개 미만이면 시청하지 않았던 프로그램이더라도 나머지 추천.Step 3: If you have less than 5 recommendation lists, even the ones you haven't watched are recommended.

(viewingRateu ,p : 사용자 u의 대한 프로그램 p의 시청비율)(viewingRate u , p : viewer rating of program p for user u)

실험 C는 해당 사용자의 시청률이 높은 프로그램 순으로 추천하였다. 시청률은 (프로그램 총 시청시간)/(프로그램 총 방영시간)으로 계산된다. 추천 대상 프로그램이 5개 미만일 경우 사용자 모델 정보만을 적용한 방법으로 선호도를 계산한 프로그램 중 선호도가 높은 프로그램을 추가로 추천하였다. 프로그램 선호도 계산을 위해 사용한 수식은 하기 수학식 7이다.Experiment C recommended the programs in the highest viewer ratings. The audience rating is calculated as (total program viewing time) / (total program airing time). If there are less than 5 programs to be recommended, a program with high preference is further recommended among programs for calculating preferences by applying only user model information. The equation used for the program preference calculation is shown in Equation 7 below.

Figure 112007047958149-pat00014
Figure 112007047958149-pat00014

Step 1: 해당 사용자의 시청률이 가장 높은 프로그램 5개 추천,Step 1: Recommend 5 shows that show viewers the most viewers,

Step 2: 추천 리스트가 5개 미만이면 선호도 계산 후 나머지 추천.Step 2: If you have less than 5 recommendations, calculate your preferences and make the remaining recommendations.

실험 D는 본 논문에서 제안하는 방법으로서, 과거 시청하였던 프로그램에 대하여 사용자 선호도를 계산한 후 시청 패턴 가중치를 적용하여 추천하였다. 프로그램 선호도 계산을 위해 사용한 수식은 하기 수학식 8이다.Experiment D is the method proposed in this paper. After calculating the user's preference for the previously watched program, we recommend it by applying the viewing pattern weight. The equation used for the program preference calculation is shown in Equation 8.

Figure 112007047958149-pat00015
Figure 112007047958149-pat00015

(w'u ,p : 사용자 u의 프로그램 p에 대한 누적된 시청패턴 가중치)(w ' u , p : cumulative viewing pattern weight for user p's program p)

실험 E는 KWL 사용자 프로파일[Xizowei Shi, Jin Hua, An Adaptive Preference Learning Method for Future Personalized TV, KIMAS, pp.260-264, 2005. 참조]을 이용하여 추천하였다. 사용자 모델 정보의 구성과 사용자 선호도 계산식은 하기와 같다. 사용자 프로파일은 속성에 대한 키워드와 각 속성에 대한 가중치, 선호도 값을 갖는다(선호도 계산식은 수학식 9와 같다). 사용자 모델 정보의 갱신은 기존 선호도 값에 학습 비율과 방송 시청 비율을 곱한 값을 더하여 이루어 진다(계산식은 수학식 10 참조). TV 프로그램 선호도는 사용자 프로파일과 프로그램의 유사도를 계산하여 구한다(계산식은 수학식 11 참조). Experiment E was recommended using the KWL user profile [Xizowei Shi, Jin Hua, An Adaptive Preference Learning Method for Future Personalized TV, KIMAS, pp. 260-264, 2005.]. The configuration of user model information and a user preference calculation equation are as follows. The user profile has a keyword for the attribute, a weight for each attribute, and a preference value (a preference formula is shown in Equation 9). The update of the user model information is performed by adding a value obtained by multiplying a learning rate and a broadcasting viewing rate by an existing preference value (see Equation 10 for the equation). The TV program preference is obtained by calculating the similarity between the user profile and the program (see Equation 11 for the equation).

Figure 112007047958149-pat00016
Figure 112007047958149-pat00016

(m은 프로파일에 있는 속성의 개수이고,(m is the number of attributes in the profile,

t은 속성 i이고,t is the property i,

wi 속성 i의 가중치이고,w i is the weight of attribute i,

ldi 속성 i의 선호도 값임)ld i is the affinity value of attribute i)

Figure 112007047958149-pat00017
Figure 112007047958149-pat00017

(ldi'은 갱신 된 선호도이고,(ld i 'is the updated preference,

ldi 선호도이고,ld i is affinity,

α는 학습 비율이고,α is the learning rate,

β는 방송 시청 비율이고,β is the broadcast viewing rate,

T는 프로그램 시청 시간이고,T is the time of program viewing,

Tr은 프로그램 방영 시간이고,Tr is the show time,

δ는 프로그램 시청에 대한 threshold임)δ is the threshold for viewing a program)

Figure 112007047958149-pat00018
Figure 112007047958149-pat00018

(P는 사용자 프로파일에 있는 상위 m개의 속성의 가중치 w와 선호도 ld에 대한 벡터이고,(P is a vector of weights w and affinity ld of the top m attributes in the user profile,

C는 프로그램 n개에 대한 속성 u와 가중치 v에 대한 벡터임)C is a vector of attributes u and weights v for n programs)

상기 실험의 결과는 5가지 실험 A, B, C, D, E의 방법들의 추천 효율성을 Precision과 Recall의 관점으로 평가한 결과를 나타낸 그래프인 도 8과 5가지 실험 A, B, C, D, E의 방법들의 추천 효율성을 Precision의 관점으로 평가한 결과를 나타낸 그래프인 도 9와 같다. 실험결과, 시청 패턴 가중치를 사용한 실험 D가 실험 A, B, C, E에 비하여 높은 성능을 나타낸다는 것을 확인할 수 있었다. The results of the experiment is a graph showing the results of evaluating the recommended efficiency of the five experiments A, B, C, D, E methods in terms of precision and recall, and the eight experiments A, B, C, D, 9 is a graph showing the results of evaluating the recommendation efficiency of the methods of E in terms of precision. As a result, it was confirmed that the experiment D using the viewing pattern weights showed higher performance than the experiments A, B, C, and E.

수학식 12를 이용하여 사용자 선호도 계산 시 각 속성을 더한 실험 결과와 수학식 13을 이용하여 각 속성을 곱한 실험한 결과를 비교하여 보았다. 각 속성을 곱한 실험은 k가 0일 때와 1.0일 때, 각 속성을 더한 실험은 각 속성에 속성 가중치를 곱하여 실험하였고, 가중치의 총 합은 1이 된다.When the user preference is calculated using Equation 12, the experimental results obtained by adding each property are compared with the experimental result obtained by multiplying each property using Equation 13. In the experiment of multiplying each property, when k is 0 and 1.0, the experiment of adding each property is performed by multiplying each property by the property weight, and the sum of the weights is 1.

Figure 112007047958149-pat00019
Figure 112007047958149-pat00019

(w1, w2, w3은 속성 가중치)(w 1 , w 2 , w 3 are attribute weights)

'속성 더하기 A실험'은 장르(w1=0.33), 세부장르(w2=0.33), 채널(w3=0.33)을 1:1:1의 비율로 반영하고, '속성 더하기 B실험'은 장르(w1=0.4), 세부장르(w2=0.2), 채널(w3=0.4)을 2:1:2의 비율로 반영하였다.'Properties plus A experiment' reflects genre (w 1 = 0.33), sub genre (w 2 = 0.33), and channel (w 3 = 0.33) in a ratio of 1: 1: 1, and 'property plus B experiment' Genre (w 1 = 0.4), subgenre (w 2 = 0.2), and channel (w 3 = 0.4) were reflected in a ratio of 2: 1: 2.

Figure 112007047958149-pat00020
Figure 112007047958149-pat00020

Figure 112007047958149-pat00021
Figure 112007047958149-pat00021

'속성 곱하기 C실험'은 k를 0으로, '속성 곱하기 D실험'은 k를 1.0으로 정하여 실험하였다. 결과는 “속성 곱하기 C실험”이 높은 성능을 나타났고 나머지 3가지의 실험은 성능이 낮게 나타나는 것을 보여준다. 실험결과는 속성 더하기 A실험, 속성 더하기 B실험, 속성 곱하기 C실험, 속성 곱하기 D실험의 추천 효율성을 Recall의 관점으로 평가한 결과를 나타낸 그래프인 도 10과 같다.The attribute multiply C experiment was performed by setting k to 0 and the attribute multiply D experiment by setting k to 1.0. The results show that the "property times C experiment" shows high performance and the other three experiments show low performance. Experimental results are shown in FIG. 10, which is a graph showing the results of evaluating the recommended efficiency of the attribute addition A experiment, the attribute addition B experiment, the attribute multiplication C experiment, and the attribute multiplication D experiment in terms of Recall.

위 실험들의 추천 성능을 높이기 위해서 시청 패턴 가중치를 반영하여 각각에 대한 Recall 값을 살펴보았다. '속성 더하기 A실험'과 '속성 더하기 B실험' 중에 높은 결과를 낸 '속성 더하기 B실험'과 '속성 곱하기 C실험', '속성 곱하기 D실험'에 시청 패턴 가중치를 적용하였다.In order to increase the recommendation performance of the above experiments, we examined the Recall values for each by reflecting the viewing pattern weight. The viewing pattern weight was applied to the attribute addition B experiment, the attribute multiplication C experiment, and the attribute multiplication D experiment, which showed the higher results among the attribute plus A experiment and the attribute plus B experiment.

속성 더하기 B실험, 속성 곱하기 C실험, 속성 곱하기 D실험의 추천 효율성을 Recall의 관점으로 평가한 결과에 시청 패턴 가중치를 적용한 결과를 나타낸 그래프인 도 11을 보면 시청 패턴을 반영한 Recall의 값은 0.7~0.9 사이의 값을 가지며, 도 10의 Recall 수치와 비교하여 보면 많이 상승하였다는 것을 알 수 있다. 이 결과는 추천 엔진이 효율이 낮더라도 시청 패턴을 반영시키면 효율을 향상시킬 수 있다는 것을 나타낸다.Referring to FIG. 11, which is a graph showing the result of applying the viewing pattern weight to the result of evaluating the recommended efficiency of the attribute addition B experiment, the attribute multiplication C experiment, and the attribute multiplication D experiment from the perspective of Recall, the value of Recall reflecting the viewing pattern is 0.7 ~. It has a value between 0.9 and it can be seen that much increased compared to the Recall value of FIG. This result indicates that even if the recommendation engine is low in efficiency, reflecting the viewing pattern can improve the efficiency.

한 가지 흥미로운 실험 결과는 '속성 곱하기 C실험'과 '속성 곱하기 D실험'의 순위역전이다. '속성 곱하기 C실험'과 '속성 곱하기 D실험'에 시청 패턴 가중치를 적용한 결과와 그렇지 않은 결과를 살펴보면, 시청 패턴 가중치를 적용하기 전의 결과는 '속성 곱하기 C실험'이 더 좋은 효율을 나타내고, 적용한 후의 결과는 '속성 곱하기 D실험'이 더 좋은 효율을 나타내는 것을 알 수 있다.One interesting experimental result is the rank reversal of the attribute times C experiment and the attribute times D experiment. If we look at the results of applying the viewing pattern weights to the attribute multiply C experiment and the attribute multiply D experiment, and not the results, the results before applying the viewing pattern weight show that the attribute multiply C experiment shows better efficiency. Later results show that the attribute multiply D experiment yields better efficiency.

이는 사용자 모델 정보만을 적용한 실험에서는 전체적인 속성의 선호도가 높은 프로그램을 추천하는 것이 더 좋은 효율을 내고, 시청 패턴 가중치를 적용한 실험에서는 전체적인 선호도가 높은 프로그램만을 대상으로 하는 추천은 효율이 떨어진다고 분석하여 볼 수 있다. 즉, 사용자의 시청패턴이 변화할 때는 학습 되어있는 사용자 모델 정보와 다른 양상을 보이기 때문에 그 변화의 시기에 적절한 추천을 하기 위해서는 전체적인 선호도만을 고려하기 보다는 어떤 특정 분야의 선호도가 높은 것도 같이 고려하여야 한다는 것이다. In experiments that apply only user model information, it is better to recommend programs with high overall preferences, and in experiments with viewing pattern weights, recommendations that target only programs with high overall preferences are less efficient. have. In other words, when the user's viewing pattern changes, it is different from the learned user model information. Therefore, in order to make an appropriate recommendation at the time of the change, it is necessary to consider the preference of a certain field together rather than the overall preference. will be.

상기 실험E에 시청 패턴 가중치를 반영하여 실험하였다. KWL 사용자 모델 정보를 반영한 실험에는 장르, 세부장르, 채널 속성을 선호도 계산에 사용하였다. 도 12는 상기 실험 E의 결과와 상기 실험 E의 결과에 시청 패턴 가중치를 적용한 결과 를 Recall의 관점에서 평가한 결과를 나타낸 그래프이다. The experiment E was reflected in the viewing pattern weight. In experiments reflecting the KWL user model information, genre, subgenre, and channel attributes were used for the preference calculation. 12 is a graph illustrating a result of evaluating a result of applying viewing pattern weights to the results of Experiment E and the results of Experiment E in terms of Recall.

도면을 참조하면 이 실험결과는 시청 패턴 가중치를 반영하여 실험한 결과에 비하여 1/2배의 효율 차이를 보여준다. 이는 KWL 사용자 모델 실험이 사용자 모델 정보만을 적용한 추천을 이용한 실험과 방법이 다르다고 할지라도 선호도 계산 속성을 장르, 세부장르, 채널에만 한정시키고 최근 사용자의 시청 패턴은 고려하지 않았기 때문이라고 볼 수 있다.Referring to the drawing, this experimental result shows the efficiency difference of 1/2 times that of the experiment result reflecting the viewing pattern weight. Although the KWL user model experiment is different from the experiment using the recommendation applying only the user model information, it can be considered that the preference calculation attribute is limited to the genre, the genre, and the channel, and the recent user's viewing pattern is not considered.

도 13은 사용자에게 제공되는 추천 리스트 중 사용자가 프로그램을 선택한 순위를 나타낸 그래프이다. 그래프를 참조하면, 사용자에게 제공되는 추천 리스트 중 사용자가 프로그램을 선택한 순위를 보면 1번째와 2번째 추천 프로그램이 많은 것을 볼 수 있다. 40주차에서 52주차까지의 선택확률을 보면, 1번째 추천프로그램은 38.32%, 2번째 추천프로그램은 36.04%, 3번째 추천프로그램은 18.34%, 4번째 추천프로그램은 7.84%, 5번째 추천프로그램은 3.32% 순으로 나타난다. 즉, 사용자들은 추천 프로그램 선호도 순위가 높은 프로그램을 선택하는 것을 알 수 있다.13 is a graph showing a ranking in which a user selects a program among recommendation lists provided to the user. Referring to the graph, when the user selects a program in the recommendation list provided to the user, the first and second recommendation programs can be seen a lot. From the 40th to the 52nd week, the probability of selection is 38.32% for the 1st referral program, 36.04% for the 2nd referral program, 18.34% for the 3rd referral program, 7.84% for the 4th referral program, and 3.32 for the 5th referral program. Appears in% order. In other words, the user may select a program having a high recommendation program preference ranking.

시청 패턴 반영 시 고려되어야 할 사항 중 하나는 과거의 시청내역과 현재의 시청 내역을 얼마만큼 반영할 것인가이다. 이 반영 비율은 α로 지정하였으며, 본 발명에서는 실험을 통하여 최적화된 값을 얻었다. 도 14는 반영 비율 α값에 따른 Recall 값의 변화를 나타낸 그래프이다. 그래프를 참조하면 α= 0.96일 때 최고의 추천 효율을 나타내는 것을 확인할 수 있다.One of the considerations when reflecting the viewing pattern is how much the past viewing history and the current viewing history are reflected. This reflection ratio was designated as α, and in the present invention, an optimized value was obtained through experiments. 14 is a graph showing the change of the Recall value according to the reflection ratio α value. Referring to the graph, it can be seen that the highest recommended efficiency is achieved when α = 0.96.

이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지 식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.As described above, although the present invention has been described by way of limited embodiments and drawings, the present invention is not limited thereto, and the technical spirit of the present invention and the following will be understood by those skilled in the art to which the present invention pertains. Various modifications and variations are possible, of course, within the scope of equivalents of the claims to be described.

상술한 바와 같이, 본 발명에 따른 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템 및 방법은 장르, 세부장르, 채널 등의 속성으로 구성된 사용자 모델을 이용하여 프로그램 선호도를 구한 뒤, 과거 시청 이력이 있는 프로그램에 대하여 시청 패턴 가중치를 반영함으로써 pEPG의 프로그램 추천 효율을 향상시킬 수 있다.As described above, the digital TV program recommendation system and method using the program viewing pattern reflecting technique according to the present invention, after obtaining the program preferences using a user model composed of attributes such as genre, detail genre, channel, etc. The program recommendation efficiency of pEPG can be improved by reflecting the viewing pattern weight for the existing program.

Claims (5)

삭제delete 사용자 ID, 시청 프로그램의 방영회차 ID, 시청시작 시점과 종료 시점 및 시청 시간 정보를 포함하는 시청 히스토리가 저장되는 시청 히스토리 저장소;A viewing history storage configured to store a viewing history including a user ID, an airtime ID of a viewing program, a viewing start time point and an ending time point, and viewing time information; 프로그램 채널, 장르 및 세부장르에 대한 사용자의 상대적 가중치를 포함하는 사용자 모델 정보가 저장되는 사용자 모델 저장소;A user model repository for storing user model information including a user's relative weight for program channels, genres, and sub-genres; 상기 시청 히스토리 저장소로부터 사용자 시청 히스토리를 조회하여 빈도수가 가장 많은 프로그램 속성에 의해 나머지 속성의 빈도수를 정규화하여 프로그램 속성별로 선호도값을 계산하여 갱신하는 사용자 선호도 갱신 모듈;A user preference updating module for querying user viewing history from the viewing history store, normalizing the frequency of the remaining attributes by the program attributes with the highest frequency, and calculating and updating a preference value for each program attribute; 프로그램별로 사용자의 시청 히스토리를 참조하여 프로그램의 방영기간 동안 방영된 각 방영회차에 대해 시청 시점이 최근일수록 값이 증가하도록 시청 패턴 가중치를 부여한 후 각 방영회차의 시청 패턴 가중치를 누산하는 시청 패턴 가중치 계산 모듈;Calculate the viewing pattern weight that accumulates the viewing pattern weight of each broadcasting session after assigning the viewing pattern weight to the viewing point more recently with respect to each broadcasting session aired during the airing period of the program by referring to the viewing history of the user for each program. module; 프로그램별로 속성 정보를 참조하여 상기 사용자 모델 저장소에서 조회된 사용자 모델 정보로부터 프로그램 속성별로 속성값을 추출하고, 추출된 각 속성값을 수학적 연산에 의해 하나의 값으로 통합한 값에 해당 프로그램의 누산된 시청 패턴 가중치를 적용하여 사용자의 프로그램 선호도를 계산하는 프로그램 선호도 계산 모듈; 및The attribute value is extracted for each program attribute from the user model information queried in the user model repository by referring to the attribute information for each program, and the value of the corresponding program is accumulated to a value obtained by integrating the extracted attribute values into one value by mathematical operation. A program preference calculation module configured to calculate a program preference of a user by applying a viewing pattern weight; And 프로그램 선호도가 높은 순으로 사용자에게 프로그램을 추천하는 프로그램 추천 모듈;을 포함하되,Includes a program recommendation module for recommending a program to the user in order of high program preference; 상기 사용자 선호도 갱신 모듈은 신규로 정규화된 프로그램 속성값과 사용자 모델 정보의 기존 속성값의 평균값에 의해 프로그램 속성별로 속성값을 갱신하는 것을 특징으로 하는 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템.The user preference update module is a digital TV program recommendation system using a program viewing pattern reflection method, characterized in that for updating the attribute value for each program attribute by the average value of the newly normalized program attribute value and the existing attribute value of the user model information. 제2항에 있어서,The method of claim 2, 상기 시청패턴 가중치 계산 모듈은 다음 수학식에 의해 프로그램의 방영회차별로 시청 패턴 가중치를 계산하고, 각 방영회차에 대해 계산된 시청 패턴 가중치를 누산하는 것을 특징으로 하는 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템.The viewing pattern weight calculation module calculates the viewing pattern weight for each broadcasting session of the program according to the following equation, and accumulates the viewing pattern weight calculated for each broadcasting session. Program referral system. <수학식>Equation
Figure 112008035641326-pat00022
Figure 112008035641326-pat00022
(w'u,p는 사용자 u의 프로그램 p에 대한 시청패턴 가중치이고,(w ' u, p is the weight of the viewing pattern for the program p of the user u, wu,pi 는 사용자 u의 프로그램 p의 해당 기간 중 방영회차 i에 대한 시청패턴 가중치이고,w u, pi are the viewing pattern weights for the broadcasting session i during the corresponding period of the program p of the user u, pi는 해당 기간 중 방영회 i의 프로그램이고,p i is the program for the show i during that period, n(p)는 프로그램 p의 해당 기간 방영 횟수이고,n (p) is the number of episodes of the program p during that period, α는 과거 시청내역과 현재 시청내역의 반영 비율을 나타내는 상수이고,α is a constant representing a reflection ratio between past and current viewing history, history(u): 사용자 u의 해당 기간 중 시청 내역임)history (u): watch history for the user u's time period)
제2항에 있어서,The method of claim 2, 프로그램의 타이틀, PID(Program ID), SID(Sequence ID), 등급, 방영시작 시점 및 종료 시점 및 방영시간 정보를 포함하는 프로그램 방영 스케쥴 정보와 프로그램의 채널, 장르 및 세부 장르를 포함하는 프로그램 속성 정보가 저장된 프로그램 정보 저장소를 더 포함하고,Program airing schedule information including the program title, PID (Program ID), SID (Sequence ID), class, airing start and end time, and airing time information, and program attribute information including the channel, genre, and detailed genre of the program. Further comprises a stored program information store, 상기 프로그램 선호도 계산 모듈은 다음 수학식에 의해 사용자의 프로그램별 선호도를 계산하는 것을 특징으로 하는 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 시스템.The program preference calculation module is a digital TV program recommendation system using a program viewing pattern reflecting technique, characterized in that for calculating the user preferences for each program by the following equation. <수학식>Equation
Figure 112007047958149-pat00023
Figure 112007047958149-pat00023
(w'u ,p는 사용자 u의 프로그램 p에 대한 누산된 시청패턴 가중치이고,(w ' u , p is the accumulated viewing pattern weight for user u's program p, k는 0 또는 0보다 큰 양의 수이고,k is zero or a positive number greater than zero, Preference(u,p)는 사용자 u의 프로그램 p에 대한 선호도이고,Preference (u, p) is user u's preference for program p, preferenceu gerne (p)는 사용자 u의 프로그램 p의 장르에 대한 선호도이고,preference u gerne (p) is the preference for the genre of user u's program p, preferenceu channel (p)는 사용자 u의 프로그램 p의 채널에 대한 선호도이고,preference u channel (p) is user u's preference for channel of program p, preferenceu subGenre (p)는 사용자 u의 프로그램 p의 서브 장르에 대한 선호도임)preference u subGenre (p) is the preference for the sub genre of user u's program p)
(a) 사용자 ID, 시청 프로그램의 방영회차 ID, 시청시작 시점과 종료 시점 및 시청 시간 정보를 포함하는 시청 히스토리가 저장되는 시청 히스토리 저장소와, 프로그램 채널, 장르 및 세부장르에 대한 사용자의 상대적 가중치를 포함하는 사용자 모델 정보가 저장되는 사용자 모델 저장소를 제공하는 단계;(a) the viewing history repository in which the viewing history is stored, including the user ID, the broadcasting episode ID of the viewing program, the starting and ending viewing times, and the viewing time information; and the user's relative weight for the program channel, genre, and genre. Providing a user model repository in which user model information is stored; (b) 상기 시청 히스토리 저장소로부터 사용자 시청 히스토리를 조회하여 빈도수가 가장 많은 프로그램 속성에 의해 나머지 속성의 빈도수를 정규화하여 프로그램 속성별로 선호도값을 계산하여 갱신하는 단계;(b) querying a user viewing history from the viewing history store, normalizing the frequency of the remaining attributes by the program attributes with the highest frequency, and calculating and updating a preference value for each program attribute; (c) 프로그램별로 사용자의 시청 히스토리를 참조하여 프로그램의 방영기간 동안 방영된 각 방영회차에 대해 시청 시점이 최근일수록 값이 증가하도록 시청 패턴 가중치를 부여한 후 각 방영회차의 시청 패턴 가중치를 누산하는 단계;(c) accumulating the viewing pattern weight of each broadcasting session after assigning the viewing pattern weight to each viewing session that is viewed during the program's airing period to increase as the viewing point becomes more recent with reference to the viewing history of the user for each program. ; (d) 프로그램별로 속성 정보를 참조하여 상기 사용자 모델 저장소에서 조회된 사용자 모델 정보로부터 프로그램 속성별로 속성값을 추출하고, 추출된 각 속성값을 수학적 연산에 의해 하나의 값으로 통합한 값에 해당 프로그램의 누산된 시청 패턴 가중치를 적용하여 사용자의 프로그램 선호도를 계산하는 단계; 및(d) Extracting attribute values for each program attribute from the user model information queried in the user model repository by referring to the attribute information for each program, and corresponding program to a value obtained by integrating the extracted attribute values into one value by mathematical operation. Calculating a program preference of the user by applying the accumulated viewing pattern weight of? And (e) 프로그램 선호도가 높은 순으로 사용자에게 프로그램을 추천하는 단계;를 포함하되,(e) recommending the program to the user in order of high program preference; 상기 (b) 단계는 신규로 정규화된 프로그램 속성값과 사용자 모델 정보의 기존 속성값의 평균값에 의해 프로그램 속성별로 속성값을 갱신하는 것을 특징으로 하는 프로그램 시청 패턴 반영 기법을 이용한 디지털 TV 프로그램 추천 방법.In the step (b), the method of recommending a digital TV program using a program viewing pattern reflection method, characterized in that the attribute value is updated for each program attribute by the average value of the newly normalized program attribute value and the existing attribute value of the user model information.
KR1020070065638A 2007-06-29 2007-06-29 System and method for recommendation of digital television program using reflection techniques of program veiwing pattern KR100839306B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070065638A KR100839306B1 (en) 2007-06-29 2007-06-29 System and method for recommendation of digital television program using reflection techniques of program veiwing pattern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070065638A KR100839306B1 (en) 2007-06-29 2007-06-29 System and method for recommendation of digital television program using reflection techniques of program veiwing pattern

Publications (1)

Publication Number Publication Date
KR100839306B1 true KR100839306B1 (en) 2008-06-17

Family

ID=39771765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070065638A KR100839306B1 (en) 2007-06-29 2007-06-29 System and method for recommendation of digital television program using reflection techniques of program veiwing pattern

Country Status (1)

Country Link
KR (1) KR100839306B1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130045479A (en) * 2011-10-26 2013-05-06 엘지전자 주식회사 Multimedia device for processing data related to audience rating and method for controlling the same
KR101347855B1 (en) 2012-02-15 2014-01-16 (주) 씨엠비대전방송 Vod recommendation service providing method in digital cable broadcast and system thereof
KR20150101340A (en) * 2014-02-26 2015-09-03 에스케이플래닛 주식회사 Method of generating category preference for each user, method of recommending products using the same and apparatus for the same
KR101644956B1 (en) * 2015-05-12 2016-08-03 (주)티랩컨버젼스연구소 method of recommending program to watch based on analysis of user's pattern of program watching corresponding to identification of program watching willingness
KR101772404B1 (en) * 2012-12-14 2017-08-29 한국전자통신연구원 Method and apparatus of enhancing accuracy of inferencing contents preference of viewer
WO2018056478A1 (en) * 2016-09-23 2018-03-29 에픽트, 인크. Content menu-providing apparatus and method
KR102057455B1 (en) * 2017-08-07 2019-12-19 주식회사 아프리카티비 Method for providing recommended broadcast and apparatus using the same
KR102198365B1 (en) 2019-11-28 2021-01-04 광운대학교 산학협력단 Personalized Media Contents Recommendation System and Method based on Previewing Multi-Channel
KR102330180B1 (en) * 2020-05-15 2021-11-22 에스케이브로드밴드주식회사 Set top box, and control method thereof
US11184678B2 (en) 2013-12-19 2021-11-23 Samsung Electronics Co., Ltd. Display apparatus and method for recommending contents of the display apparatus
KR102372712B1 (en) * 2020-12-23 2022-03-10 한양대학교 산학협력단 Method and apparatus for recommending tv program based on competing programs
CN114302237A (en) * 2021-12-27 2022-04-08 深圳Tcl新技术有限公司 Intelligent television working mode setting method and device, intelligent television and medium
CN114554296A (en) * 2022-01-26 2022-05-27 浙江原初数据科技有限公司 IPTV user family portrait extraction system and method
KR20220088058A (en) * 2020-12-18 2022-06-27 주식회사 케이티 Method and server for acquiring tv service usage patterns, and computer program stored in medium to perform method for acquiring tv service usage patterns

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980068986A (en) * 1997-02-25 1998-10-26 구자홍 TV Program Guide
KR20020056926A (en) * 2000-09-20 2002-07-10 요트.게.아. 롤페즈 Television program recommender with automatic identification of changing viewer preferences
KR20070043372A (en) * 2005-10-21 2007-04-25 한국정보통신대학교 산학협력단 System for management of real-time filtered broadcasting videos in a home terminal and a method for the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980068986A (en) * 1997-02-25 1998-10-26 구자홍 TV Program Guide
KR20020056926A (en) * 2000-09-20 2002-07-10 요트.게.아. 롤페즈 Television program recommender with automatic identification of changing viewer preferences
KR20070043372A (en) * 2005-10-21 2007-04-25 한국정보통신대학교 산학협력단 System for management of real-time filtered broadcasting videos in a home terminal and a method for the same

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130045479A (en) * 2011-10-26 2013-05-06 엘지전자 주식회사 Multimedia device for processing data related to audience rating and method for controlling the same
KR101911248B1 (en) * 2011-10-26 2018-10-24 엘지전자 주식회사 Multimedia device for processing data related to audience rating and method for controlling the same
KR101347855B1 (en) 2012-02-15 2014-01-16 (주) 씨엠비대전방송 Vod recommendation service providing method in digital cable broadcast and system thereof
KR101772404B1 (en) * 2012-12-14 2017-08-29 한국전자통신연구원 Method and apparatus of enhancing accuracy of inferencing contents preference of viewer
US11184678B2 (en) 2013-12-19 2021-11-23 Samsung Electronics Co., Ltd. Display apparatus and method for recommending contents of the display apparatus
KR102210442B1 (en) * 2014-02-26 2021-02-02 에스케이플래닛 주식회사 Method of generating category preference for each user, method of recommending products using the same and apparatus for the same
KR20150101340A (en) * 2014-02-26 2015-09-03 에스케이플래닛 주식회사 Method of generating category preference for each user, method of recommending products using the same and apparatus for the same
WO2015129988A1 (en) * 2014-02-26 2015-09-03 에스케이플래닛 주식회사 Method for generating category preference for each user, method for product recommendation using same, and device for same
KR101644956B1 (en) * 2015-05-12 2016-08-03 (주)티랩컨버젼스연구소 method of recommending program to watch based on analysis of user's pattern of program watching corresponding to identification of program watching willingness
WO2018056478A1 (en) * 2016-09-23 2018-03-29 에픽트, 인크. Content menu-providing apparatus and method
KR102057455B1 (en) * 2017-08-07 2019-12-19 주식회사 아프리카티비 Method for providing recommended broadcast and apparatus using the same
KR102198365B1 (en) 2019-11-28 2021-01-04 광운대학교 산학협력단 Personalized Media Contents Recommendation System and Method based on Previewing Multi-Channel
KR102330180B1 (en) * 2020-05-15 2021-11-22 에스케이브로드밴드주식회사 Set top box, and control method thereof
KR20220088058A (en) * 2020-12-18 2022-06-27 주식회사 케이티 Method and server for acquiring tv service usage patterns, and computer program stored in medium to perform method for acquiring tv service usage patterns
KR102702984B1 (en) 2020-12-18 2024-09-03 주식회사 케이티 Method and server for acquiring tv service usage patterns, and computer program stored in medium to perform method for acquiring tv service usage patterns
KR102372712B1 (en) * 2020-12-23 2022-03-10 한양대학교 산학협력단 Method and apparatus for recommending tv program based on competing programs
CN114302237A (en) * 2021-12-27 2022-04-08 深圳Tcl新技术有限公司 Intelligent television working mode setting method and device, intelligent television and medium
CN114302237B (en) * 2021-12-27 2024-04-02 深圳Tcl新技术有限公司 Smart television working mode setting method and device, smart television and medium
CN114554296A (en) * 2022-01-26 2022-05-27 浙江原初数据科技有限公司 IPTV user family portrait extraction system and method
CN114554296B (en) * 2022-01-26 2024-05-24 浙江原初数据科技有限公司 IPTV user family portrait extraction system and method

Similar Documents

Publication Publication Date Title
KR100839306B1 (en) System and method for recommendation of digital television program using reflection techniques of program veiwing pattern
US8413187B1 (en) Method and system to request audiovisual content items matched to programs identified in a program grid
CN1659882B (en) Method and system for implementing content augmentation of personal profiles
Bambini et al. A recommender system for an IPTV service provider: a real large-scale production environment
US9235574B2 (en) Systems and methods for providing media recommendations
CN103491441B (en) Recommendation method and system of live television programs
Ali et al. TiVo: making show recommendations using a distributed collaborative filtering architecture
CA2762974C (en) Recommendation engine apparatus and methods
CA2619773C (en) System and method for recommending items of interest to a user
US9396258B2 (en) Recommending video programs
US9166714B2 (en) Method of and system for presenting enriched video viewing analytics
US20030131355A1 (en) Program guide system
RU2539585C2 (en) Adaptive placement of auxiliary media data in recommender systems
US20020083451A1 (en) User-friendly electronic program guide based on subscriber characterizations
US20070288965A1 (en) Recommended program information providing method and apparatus
JP5237849B2 (en) Program recommendation device
US8863186B2 (en) Management and delivery of audiovisual content items that corresponds to scheduled programs
JP5358395B2 (en) User preference suitable item recommendation device
WO2010005942A2 (en) Recommender system
CN102217301A (en) Method for distributing second multi-media content items in a list of first multi-media content items
CN112287167A (en) Video recommendation recall method and device
KR101286427B1 (en) Method and apparatus for recommanding broadcast content
Zibriczky et al. Personalized recommendation of linear content on interactive TV platforms: beating the cold start and noisy implicit user feedback.
KR20140076272A (en) Apparatus and method for contents recommendation based on television viewing habits
EP2135373A1 (en) Method and device for selecting a program and communication system comprising such device

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: 20130405

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140318

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee