KR20240022698A - method of history-based recommendation of a set of Live channels - Google Patents

method of history-based recommendation of a set of Live channels Download PDF

Info

Publication number
KR20240022698A
KR20240022698A KR1020220101066A KR20220101066A KR20240022698A KR 20240022698 A KR20240022698 A KR 20240022698A KR 1020220101066 A KR1020220101066 A KR 1020220101066A KR 20220101066 A KR20220101066 A KR 20220101066A KR 20240022698 A KR20240022698 A KR 20240022698A
Authority
KR
South Korea
Prior art keywords
live
channel
channels
history
channel set
Prior art date
Application number
KR1020220101066A
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 KR1020220101066A priority Critical patent/KR20240022698A/en
Publication of KR20240022698A publication Critical patent/KR20240022698A/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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • H04N21/4666Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms using neural networks, e.g. processing the feedback provided by the user
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Genetics & Genomics (AREA)
  • Physiology (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 사용자의 히스토리 채널 정보를 적합도 평가에 적용하여 유전 알고리즘을 동작시키고 개별 채널 단위의 선호도 평가가 아닌 집합 단위의 라이브 채널들에 대한 적합도 평가를 통해 선택, 교배, 돌연변이를 적용함으로써 사용자의 선호도를 반영하면서도 사용자의 다양성도 만족시켜줄 수 있는 히스토리 기반의 지능형 라이브 채널 집합 추천 기술에 관한 것이다. 본 발명에 따르면 IPTV 사업자가 제공하는 다수의 라이브 채널(예: 200개의 전체 라이브 채널) 중에서 개별 가입자에 맞는 소수의 라이브 채널 집합(예: 8개의 라이브 채널로 이루어진 집합)을 추천해줌으로써 라이브 채널을 즐기기 위한 사용자 편의성을 대폭 개선할 수 있는 장점이 있다. 특히, 개별 채널 단위로 이루어지는 종래의 채널 추천 방식에서는 해당 시청자의 히스토리 채널 정보에 의존하여 비교적 좁은 범위의 채널 추천이 이루어지는 문제가 있었던 반면, 본 발명에 따르면 집합 단위의 라이브 채널에 대해 유전 알고리즘을 적용함으로써 사용자의 선호도와 다양성을 모두 만족시킬 수 있는 장점이 있다. The present invention operates a genetic algorithm by applying the user's history channel information to fitness evaluation and determines the user's preference by applying selection, crossing, and mutation through fitness evaluation of live channels in a set unit rather than preference evaluation in individual channels. It is about a history-based intelligent live channel set recommendation technology that can satisfy the diversity of users while reflecting the According to the present invention, live channels are provided by recommending a small set of live channels (e.g., a set of 8 live channels) suitable for individual subscribers among a large number of live channels (e.g., 200 live channels in total) provided by IPTV operators. It has the advantage of significantly improving user convenience for enjoyment. In particular, while the conventional channel recommendation method performed on an individual channel basis had the problem of recommending a relatively narrow range of channels depending on the viewer's history channel information, according to the present invention, a genetic algorithm is applied to live channels in a set unit. This has the advantage of satisfying both user preferences and diversity.

Description

히스토리 기반의 지능형 라이브 채널 집합 추천 방법 {method of history-based recommendation of a set of Live channels}History-based intelligent live channel set recommendation method {method of history-based recommendation of a set of Live channels}

본 발명은 일반적으로 사용자가 이전에 시청한 라이브 채널에 관한 정보(히스토리 채널 정보)를 활용하여 라이브 채널을 추천하는 기술에 관한 것이다. The present invention generally relates to a technology for recommending live channels using information about live channels previously viewed by a user (history channel information).

특히, 본 발명은 사용자의 히스토리 채널 정보를 적합도 평가에 적용하여 유전 알고리즘을 동작시키고 개별 채널 단위의 선호도 평가가 아닌 집합 단위의 라이브 채널들에 대한 적합도 평가를 통해 선택, 교배, 돌연변이를 적용함으로써 사용자의 선호도를 반영하면서도 사용자의 다양성도 만족시켜줄 수 있는 히스토리 기반의 지능형 라이브 채널 집합 추천 기술에 관한 것이다. In particular, the present invention operates a genetic algorithm by applying the user's history channel information to fitness evaluation, and applies selection, crossbreeding, and mutation through fitness evaluation of live channels on a set basis rather than preference evaluation on an individual channel basis, thereby improving user satisfaction. It is about a history-based intelligent live channel set recommendation technology that can satisfy user diversity while reflecting the preferences of users.

IPTV 사업자 등의 라이브 채널(Live channel)의 경우 사업자에 따라 100개 내지 200개 정도로 다수의 채널이 가입자에게 제공되고 있다. 이는 풍부한 콘텐츠를 제공하기 위한 것이지만 그에 따른 단점도 있다. 사용자가 라이브 채널에서 현재 시간에 자신이 원하는 서비스를 찾기 위한 과정이 상당히 번거롭다. 일반적으로는 리모콘으로 채널을 변경하거나, 전자프로그램가이드(EPG)를 검색해서 수동적으로 찾거나, 혹은 최근 시청했던 채널(히스토리 채널)을 리스트로 제공받아 선택한다. In the case of live channels such as IPTV operators, a large number of channels, approximately 100 to 200 depending on the operator, are provided to subscribers. This is intended to provide rich content, but it also has its drawbacks. The process for users to find the service they want at the current time on a live channel is quite cumbersome. In general, you change channels with a remote control, manually find them by searching the electronic program guide (EPG), or select a list of recently watched channels (history channels).

최근들어 이러한 불편함을 감소시키기 위해 인공지능(AI) 기술이나 각종 메타데이터를 활용하여 라이브 채널을 추천하는 기술이 제시되고 있다. 하지만, 개별 사용자의 채널 선호도를 제대로 반영하지 못할 뿐만 아니라 채널 추천의 폭이 지나치게 협소해지는 문제점이 있었다. Recently, in order to reduce this inconvenience, technology that recommends live channels using artificial intelligence (AI) technology or various metadata has been proposed. However, there was a problem that not only did it not properly reflect individual users' channel preferences, but the range of channel recommendations became too narrow.

대한민국 등록특허 10-1642433호(2016.07.19) "사용자 성향을 고려한 지능형 컨텐츠 추천 서비스 방법"Republic of Korea Patent No. 10-1642433 (2016.07.19) “Intelligent content recommendation service method considering user preferences” 대한민국 등록특허 10-2137887호(2020.07.20) "IPTV 서비스의 모바일 OTT 서비스의 영화 VOD 선호도 정보 결합을 통한 IPTV 영화 VOD 채널 추천 서버 및 그 방법"Republic of Korea Patent No. 10-2137887 (2020.07.20) “IPTV movie VOD channel recommendation server and method by combining movie VOD preference information of mobile OTT service of IPTV service” 대한민국 등록특허 10-2096474호(2020.03.27) "콘텐츠 추천 장치 및 방법"Republic of Korea Patent No. 10-2096474 (2020.03.27) “Content recommendation device and method” 대한민국 공개특허 10-2012-0003362호(2012.01.10) "협력적 필터링 알고리즘 기반의 IPTV 개인별 선호프로그램 추천시스템"Republic of Korea Patent Publication No. 10-2012-0003362 (2012.01.10) “IPTV individual preference program recommendation system based on collaborative filtering algorithm”

본 발명의 목적은 일반적으로 사용자가 이전에 시청한 라이브 채널에 관한 정보(히스토리 채널 정보)를 활용하여 라이브 채널을 추천하는 기술을 제공하는 것이다. The purpose of the present invention is to provide a technology for recommending live channels by utilizing information about live channels that a user has previously viewed (history channel information).

특히, 본 발명의 목적은 사용자의 히스토리 채널 정보를 적합도 평가에 적용하여 유전 알고리즘을 동작시키고 개별 채널 단위의 선호도 평가가 아닌 집합 단위의 라이브 채널들에 대한 적합도 평가를 통해 선택, 교배, 돌연변이를 적용함으로써 사용자의 선호도를 반영하면서도 사용자의 다양성도 만족시켜줄 수 있는 히스토리 기반의 지능형 라이브 채널 집합 추천 기술을 제공하는 것이다. In particular, the purpose of the present invention is to operate a genetic algorithm by applying the user's history channel information to fitness evaluation, and to apply selection, crossing, and mutation through fitness evaluation of live channels on a collective basis rather than preference evaluation on an individual channel basis. By doing so, it provides history-based intelligent live channel set recommendation technology that can reflect user preferences while also satisfying user diversity.

한편, 본 발명의 해결 과제는 이들 사항에 제한되지 않으며 본 명세서의 기재로부터 다른 해결 과제가 이해될 수 있다. Meanwhile, the problems to be solved by the present invention are not limited to these matters, and other problems to be solved can be understood from the description in this specification.

상기의 목적을 달성하기 위하여 본 발명은 네트워크를 통해 다수의 라이브 채널을 스트리밍 제공하는 라이브 방송 서비스에서 채널 추천 서버(400)가 개별 사용자에 대해 해당 사용자의 시청 히스토리 기반으로 소수의 라이브 채널을 포함한 라이브 채널 집합을 추천하는 방법을 제시한다. In order to achieve the above object, the present invention provides a live broadcasting service that provides streaming of a large number of live channels through a network, in which the channel recommendation server 400 provides live broadcasting services including a small number of live channels for each user based on the user's viewing history. We present a method for recommending a set of channels.

본 발명에 따른 히스토리 기반의 지능형 라이브 채널 집합 추천 방법은, 사용자 별로 일정 기간 동안의 라이브 채널 시청 이력에 관한 히스토리 채널 정보를 획득하는 제 1 단계; 미리 설정된 n개의 라이브 채널을 포함한 라이브 채널 집합(CS)을 미리 설정된 M개 구비하는 채널집합 모집단을 초기 생성하는 제 2 단계; 히스토리 채널 정보에 기초한 라이브 채널 집합의 적합도 산정에 의해 선택 연산, 교배 연산, 돌연변이 연산을 수행하여 채널집합 모집단에 대해 세대 진화를 반복 수행하는 제 3 단계; 세대 진화가 반복 수행된 채널집합 모집단에 포함된 M개의 라이브 채널 집합 중에서 히스토리 채널 정보를 이용한 적합도 산정에 의해 적합도가 양호한 라이브 채널 집합을 선별하는 제 4 단계; 그 선별된 라이브 채널 집합에 포함된 n개의 라이브 채널 중 적어도 하나 이상을 추천 대상으로 설정하는 제 5 단계;를 포함하여 구성된다. The history-based intelligent live channel set recommendation method according to the present invention includes a first step of acquiring history channel information about the live channel viewing history for each user for a certain period of time; A second step of initially generating a channel set population having M preset live channel sets (CS) including n preset live channels; A third step of repeatedly performing generational evolution on the channel set population by performing selection, crossing, and mutation operations by calculating the fitness of the live channel set based on history channel information; A fourth step of selecting a live channel set with good fitness by calculating fitness using history channel information among the M live channel sets included in the channel set population for which generational evolution has been repeatedly performed; A fifth step of setting at least one of the n live channels included in the selected live channel set as a recommendation target.

본 발명에서 히스토리 채널 정보는 사용자 별로 일정 기간 동안 시청한 라이브 채널의 목록에 대하여 채널 식별자, 채널 이름, 프로그램 이름, 프로그램 장르, 프로그램 시간, 러닝타임 대비 시청시간 비율을 포함하여 구성될 수 있다. In the present invention, history channel information may be comprised of a list of live channels watched over a certain period of time for each user, including a channel identifier, channel name, program name, program genre, program time, and ratio of viewing time to running time.

또한, 제 3 단계에서 하나의 라이브 채널 집합(CS_k)의 적합도 F(CS_k)는 Additionally, in the third step, the fitness F(CS_k) of one live channel set (CS_k) is

에 의해 라이브 채널 집합(CS_k)을 구성하는 n개의 라이브 채널(CH_1k ~ CH_nk)의 가중치 W(CH_1k), ..., W(CH_nk)를 합산하여 산출하고, 이때 하나의 라이브 채널(CH_ik)의 가중치 W(CH_ik)는 It is calculated by summing the weights W(CH_1k), ..., W(CH_nk) of the n live channels (CH_1k ~ CH_nk) that make up the live channel set (CS_k), and at this time, the weight of one live channel (CH_ik) Weight W(CH_ik) is

에 의해 시간대별 채널 가중치 W(t)와 장르 가중치 W(g)와 프로그램 가중치 W(p)를 단순 합산 혹은 가중 합산으로 산출할 수 있다. The channel weight W(t), genre weight W(g), and program weight W(p) for each time slot can be calculated by simple or weighted summation.

또한, 제 3 단계에서 선택 연산은 채널집합 모집단에 포함된 M개의 라이브 채널 집합의 적합도 F(CS_k)에 기초하여 적합도 값이 높은 라이브 채널 집합이 선택될 확률이 높도록 수행될 수 있다. Additionally, in the third step, the selection operation may be performed so that a live channel set with a high fitness value has a high probability of being selected based on the fitness F(CS_k) of the M live channel sets included in the channel set population.

또한, 제 3 단계에서 교배 연산은 채널집합 모집단에 선택된 두 개의 라이브 채널 집합 각각으로부터 가중치 값에 기초하여 절반씩의 라이브 채널을 선택하여 새로운 라이브 채널 집합을 생성하도록 수행될 수 있다. Additionally, in the third step, the crossbreeding operation may be performed to create a new live channel set by selecting half of the live channels based on the weight value from each of the two live channel sets selected in the channel set population.

또한, 제 3 단계에서 돌연변이 연산은 라이브 채널의 가중치 값에 반비례하도록 돌연변이 연산의 돌연변이 발현 비율을 차별적으로 적용하여 수행될 수 있다. Additionally, in the third step, the mutation operation may be performed by differentially applying the mutation expression rate of the mutation operation so that it is inversely proportional to the weight value of the live channel.

한편, 본 발명에 따른 컴퓨터프로그램은 컴퓨터에 이상과 같은 히스토리 기반의 지능형 라이브 채널 집합 추천 방법을 실행시키기 위하여 비휘발성 저장매체에 저장된 것이다.Meanwhile, the computer program according to the present invention is stored in a non-volatile storage medium in order to execute the history-based intelligent live channel set recommendation method on the computer.

본 발명에 따르면 IPTV 사업자가 제공하는 다수의 라이브 채널(예: 200개의 전체 라이브 채널) 중에서 개별 가입자에 맞는 소수의 라이브 채널 집합(예: 8개의 라이브 채널로 이루어진 집합)을 추천해줌으로써 라이브 채널을 즐기기 위한 사용자 편의성을 대폭 개선할 수 있는 장점이 있다. According to the present invention, live channels are provided by recommending a small set of live channels (e.g., a set of 8 live channels) suitable for individual subscribers among a large number of live channels (e.g., 200 live channels in total) provided by IPTV operators. It has the advantage of significantly improving user convenience for enjoyment.

특히, 개별 채널 단위로 이루어지는 종래의 채널 추천 방식에서는 해당 시청자의 히스토리 채널 정보에 의존하여 비교적 좁은 범위의 채널 추천이 이루어지는 문제가 있었던 반면, 본 발명에 따르면 집합 단위의 라이브 채널에 대해 유전 알고리즘을 적용함으로써 사용자의 선호도와 다양성을 모두 만족시킬 수 있는 장점이 있다. In particular, while the conventional channel recommendation method performed on an individual channel basis had the problem of recommending a relatively narrow range of channels depending on the viewer's history channel information, according to the present invention, a genetic algorithm is applied to live channels in a set unit. This has the advantage of satisfying both user preferences and diversity.

[도 1]은 본 발명을 위한 라이브 방송 서비스 시스템을 나타내는 도면.
[도 2]는 본 발명에 따른 히스토리 기반의 지능형 라이브 채널 집합 추천 프로세스를 나타내는 순서도.
[도 3]은 본 발명에서 히스토리 채널 정보를 나타내는 예시도.
[도 4]는 본 발명에서 유전 알고리즘을 위한 채널집합 모집단을 나타내는 예시도.
[도 5]는 본 발명에서 유전 알고리즘에 의한 채널집합 모집단의 세대 진화를 나타내는 개념도.
[도 6]은 본 발명에서 적합도 비율에 따른 유전 알고리즘의 선택 연산을 나타내는 예시도.
[도 7]은 본 발명에서 유전 알고리즘의 교배 연산을 나타내는 개념도.
[도 8]은 본 발명에서 유전 알고리즘의 돌연변이 연산을 나타내는 개념도.
[Figure 1] is a diagram showing a live broadcasting service system for the present invention.
[Figure 2] is a flowchart showing a history-based intelligent live channel set recommendation process according to the present invention.
[Figure 3] is an exemplary diagram showing history channel information in the present invention.
[Figure 4] is an example diagram showing a channel set population for the genetic algorithm in the present invention.
[Figure 5] is a conceptual diagram showing the generational evolution of the channel set population by the genetic algorithm in the present invention.
[Figure 6] is an example diagram showing the selection operation of the genetic algorithm according to the fitness ratio in the present invention.
[Figure 7] is a conceptual diagram showing the crossover operation of the genetic algorithm in the present invention.
[Figure 8] is a conceptual diagram showing the mutation operation of the genetic algorithm in the present invention.

이하에서는 도면을 참조하여 본 발명을 상세하게 설명한다. Hereinafter, the present invention will be described in detail with reference to the drawings.

[도 1]은 본 발명을 위한 라이브 방송 서비스 시스템을 나타내는 도면이다. [Figure 1] is a diagram showing a live broadcasting service system for the present invention.

본 발명은 라이브 방송 서비스를 제공받는 사용자(가입자)에게 시청 히스토리 기반으로 라이브 채널을 추천하는 기술이다. [도 1]을 참조하면, 본 발명을 위한 라이브 방송 서비스 시스템은 다수의 OTT 디바이스(100), 가입자 관리 서버(200), 스트리밍 서버(300), 채널 추천 서버(400)를 포함하여 구성된다. [도 1]에는 복수의 서버가 도시되어 있으나, 이들이 개별 하드웨어로 구현되는 방식에 한정되는 것은 아니다.The present invention is a technology for recommending live channels to users (subscribers) who receive live broadcasting services based on their viewing history. Referring to [Figure 1], the live broadcasting service system for the present invention is comprised of a plurality of OTT devices 100, a subscriber management server 200, a streaming server 300, and a channel recommendation server 400. [Figure 1] shows a plurality of servers, but they are not limited to being implemented as individual hardware.

먼저, OTT 디바이스(100)는 라이브 방송 서비스의 가입자 공간(예: 거실, 매장)에 배치된 장치로서 네트워크를 통해 스트리밍 서버(300)로부터 라이브 방송 스트림을 수신하여 가입자에게 재생 출력한다. 이때, OTT 디바이스(100)는 OTT 단말(Over-The-Top terminal), 스마트폰, IP 셋톱박스 등으로 구현될 수 있다. First, the OTT device 100 is a device placed in a subscriber space (e.g., living room, store) of a live broadcasting service, and receives a live broadcast stream from the streaming server 300 through a network and plays and outputs it to the subscriber. At this time, the OTT device 100 may be implemented as an OTT terminal (Over-The-Top terminal), a smartphone, an IP set-top box, etc.

가입자 관리 서버(200)는 라이브 방송 서비스 가입자의 정보를 가입자 데이터베이스(201)에 관리하는 장치이다.The subscriber management server 200 is a device that manages information on live broadcasting service subscribers in the subscriber database 201.

스트리밍 서버(300)는 가입자에 대해 라이브 방송 서비스를 제공하는 장치이다. 스트리밍 서버(300)는 라이브 방송 채널에 관한 정보를 방송채널 데이터베이스(301)에 관리한다.The streaming server 300 is a device that provides live broadcasting services to subscribers. The streaming server 300 manages information about live broadcast channels in the broadcast channel database 301.

채널 추천 서버(400)는 본 발명에 따라 가입자에게 추천할만한 라이브 채널을 선별하는 장치이다. 즉, 라이브 방송 서비스에서 제공되는 다수의(예: 200개) 라이브 채널들 중에서 개별 가입자를 위해 해당 가입자에게 적합한 소수의(예: 8개) 라이브 채널을 선별하는 장치이다. 이를 위한 기초 정보로서 채널 추천 서버(400)는 각 가입자별로 지난 일정 기간(예: 2주) 동안의 라이브 채널의 시청 히스토리에 관한 정보를 히스토리 데이터베이스(401)에 관리한다. The channel recommendation server 400 is a device that selects live channels that can be recommended to subscribers according to the present invention. In other words, it is a device that selects a small number of live channels (e.g. 8) suitable for each subscriber from among the plurality (e.g. 200) live channels provided in the live broadcasting service. As basic information for this, the channel recommendation server 400 manages information about the viewing history of live channels for the past certain period (eg, 2 weeks) for each subscriber in the history database 401.

[도 2]는 본 발명에 따른 히스토리 기반의 지능형 라이브 채널 집합 추천 프로세스를 나타내는 순서도이다. [Figure 2] is a flowchart showing a history-based intelligent live channel set recommendation process according to the present invention.

본 발명은 네트워크를 통해 다수의(예: 200개) 라이브 채널을 스트리밍 제공하는 [도 1]과 같은 라이브 방송 서비스 시스템에서 채널 추천 서버(400)가 개별 사용자(예: 가입자1)에 대해 해당 사용자의 예컨대 지난 2주간의 시청 히스토리 기반으로 소수의(예: 8개) 라이브 채널을 포함한 라이브 채널 집합을 추천해주는 기술이다.The present invention relates to a live broadcasting service system such as [Figure 1] that provides streaming of a plurality of live channels (e.g., 200) through a network, where the channel recommendation server 400 recommends a corresponding user for an individual user (e.g., subscriber 1). For example, it is a technology that recommends a set of live channels including a small number (e.g., 8) live channels based on the viewing history of the past two weeks.

라이브 채널의 선별을 위해 채널 추천 서버(400)는 유전 알고리즘(Genetic Algorithm, GA)을 이용한다. 유전 알고리즘은 존 홀랜드(John Holland)가 1975년에 저서 "Adaptation on Natural and Artificial Systems"에서 소개한 최적화 기법으로서 진화의 원리인 자연 선택과 유전자의 개념을 이용한다. 문제에 대한 해답(solution)을 무작위로 생성한 후에 선택(selection), 교배(crossover), 돌연변이(mutation)로 이루어진 세대 진화를 반복 수행하여 양호한 해답을 찾아간다.To select live channels, the channel recommendation server 400 uses a genetic algorithm (GA). Genetic algorithm is an optimization technique introduced by John Holland in his 1975 book "Adaptation on Natural and Artificial Systems" and uses the concepts of natural selection and genes, which are the principles of evolution. After randomly generating a solution to a problem, generational evolution consisting of selection, crossover, and mutation is repeatedly performed to find a good solution.

유전 알고리즘(GA)에서 문제의 해답은 고정된 길이의 문자열로 표현되는데, 이는 다음 세대를 생성할 때에 교배 연산과 돌연변이 연산의 성능을 개선한다. 개별 해답에 대한 좋고 나쁨의 정도는 목적 함수(objective function)에 의해 평가되는데, 이를 적합도(fitness)라고 한다. 선택(selection) 연산은 현재 세대에서 다음 세대를 생성할 때 사용하는 해답을 결정하는 것으로 그 결정은 적합도 값에 따라 확률적으로 이루어진다. 교차(crossover) 연산은 두 해답을 결합해 새로운 해답을 만드는 것으로 생물의 염색체 교차를 모사한 것이다. 돌연변이(mutation) 연산은 해답의 일부분을 무작위로 변형하는 것으로 세대 진화 과정이 로컬 최적해(local optimal solution)에 빠질 가능성을 줄여 준다.In a genetic algorithm (GA), the solution to a problem is expressed as a fixed-length string, which improves the performance of crossover and mutation operations when generating the next generation. The degree of good or bad for an individual answer is evaluated by an objective function, which is called fitness. The selection operation determines the answer to be used when generating the next generation from the current generation, and the decision is made probabilistically according to the fitness value. The crossover operation combines two answers to create a new answer, simulating the crossover of biological chromosomes. The mutation operation randomly transforms part of the solution, reducing the possibility that the generational evolution process falls into a local optimal solution.

본 발명에서는 유전 알고리즘을 접목함으로써 라이브 채널의 추천 범위를 다양화할 수 있다. 사용자의 기호는 어느 정도는 정형화되어 시청 히스토리에 드러나는 동시에, 시청 히스토리에는 드러나지 않는 전혀 엉뚱한 분야에 기호가 뻗어있을 수가 있다. 본 발명에서는 시청 히스토리의 정보를 유전 알고리즘에 투입하여 추천 대상을 선별하는 접근방식을 채택하였다. 이때, 시청 히스토리는 유전 알고리즘에서 적합도 산정에 반영되며, 이는 세대 진화 과정에서 개별 해답의 선택 확률에 영향을 미친다. In the present invention, the recommendation range of live channels can be diversified by incorporating a genetic algorithm. The user's preferences are standardized to some extent and are revealed in the viewing history, but at the same time, the preferences may extend to completely strange areas that are not revealed in the viewing history. In the present invention, an approach was adopted to select recommendation targets by inputting information from viewing history into a genetic algorithm. At this time, the viewing history is reflected in the fitness calculation in the genetic algorithm, which affects the selection probability of individual answers during the generational evolution process.

또한, 본 발명에서는 선호 채널을 하나씩 하나씩 복수 개 얻는 방식이 아니라 복수의 채널(예: 라이브 채널 8개)을 포함하는 채널 집합(a set of live channels) 단위로 유전 알고리즘을 적용하는 방식을 채택하였다. 유전 알고리즘을 통해 가장 양호할 것으로 추정되는 채널 집합을 선택하고, 그 선택된 채널 집합에 포함되어 있는 8개의 라이브 채널을 사용자에게 추천하는 것이다. In addition, the present invention adopts a method of applying a genetic algorithm in units of a set of live channels including a plurality of channels (e.g., 8 live channels) rather than a method of obtaining a plurality of preferred channels one by one. . A genetic algorithm is used to select a channel set that is estimated to be the best, and eight live channels included in the selected channel set are recommended to the user.

본 발명에 따른 히스토리 기반의 지능형 라이브 채널 집합 추천 프로세스는 다음과 같다. The history-based intelligent live channel set recommendation process according to the present invention is as follows.

단계 (S110) : 먼저, 사용자 별로 일정 기간(예: 최근 2주) 동안의 라이브 채널 시청 이력에 관한 히스토리 채널 정보를 획득한다. Step (S110): First, history channel information regarding the live channel viewing history for each user for a certain period of time (e.g., the last two weeks) is acquired.

본 발명에서 히스토리 채널 정보는 사용자 별로 일정 기간(예: 최근 2주) 동안 시청한 라이브 채널의 목록에 관한 시청 정보, 예컨대 채널 식별자, 채널 이름, 프로그램 이름, 프로그램 장르, 프로그램 시간, 러닝타임 대비 시청시간 비율을 포함하여 구성된다. In the present invention, history channel information is viewing information about a list of live channels watched over a certain period of time (e.g., the last two weeks) for each user, such as channel identifier, channel name, program name, program genre, program time, and viewing relative to running time. It is composed including time ratio.

[도 3]은 본 발명에서 히스토리 채널 정보를 나타내는 예시도이며, 히스토리 채널 정보는 개별 사용자가 라이브 채널에 대해 갖는 선호도(기호)를 반영하는 데이터이다. 바람직하게는 히스토리 채널 정보를 구축함에 있어서 시청자가 일정 임계치(예: 5분) 이상을 시청한 프로그램만 반영한다. [Figure 3] is an exemplary diagram showing history channel information in the present invention, and history channel information is data reflecting the preferences (tastes) that individual users have for live channels. Preferably, when constructing history channel information, only programs that viewers have watched for more than a certain threshold (e.g., 5 minutes) are reflected.

종래기술에서는 히스토리 채널 정보를 그대로 이용하여 선호 채널 리스트를 제공하였는데, 이 경우에는 시청 히스토리라는 한정된 탐색 공간 내에서만 채널 추천이 이루어지게 되는 문제점이 있었다. In the prior art, a list of preferred channels was provided using history channel information, but in this case, there was a problem in that channel recommendations were made only within a limited search space called viewing history.

본 발명에서는 히스토리 채널 정보를 이용하여 유전 알고리즘의 각종 연산을 수행한다. 즉, 히스토리 채널 정보를 이용하여 개별 개체(라이브 채널 집합)의 적합도(fitness)를 산정하며, 이 산정된 적합도에 의해 유전 알고리즘의 선택 연산, 교배 연산, 돌연변이 연산을 수행한다. 결과적으로 히스토리 채널 정보는 유전 알고리즘에 의한 세대 진화에 간접적으로 영향을 미친다. In the present invention, various operations of a genetic algorithm are performed using history channel information. In other words, the fitness of an individual entity (a set of live channels) is calculated using the history channel information, and the selection operation, crossover operation, and mutation operation of the genetic algorithm are performed based on the calculated fitness. As a result, history channel information indirectly affects generational evolution by genetic algorithm.

단계 (S120) : 다음으로, n개(예: 8개)의 라이브 채널을 포함한 라이브 채널 집합(CS1 ~ CS20)을 M개(예: 20개) 구비하는 채널집합 모집단을 초기 생성한다. Step (S120): Next, a channel set population having M (e.g., 20) live channel sets (CS1 to CS20) including n (e.g., 8) live channels is initially created.

[도 4]는 본 발명에서 유전 알고리즘을 위한 채널집합 모집단을 나타내는 예시도이다. [도 4]에서는 채널집합 모집단이 20개의 라이브 채널 집합(CS1 ~ CS20)으로 구성되어 있으며, 하나의 라이브 채널 집합(CS_k)는 8개의 라이브 채널로 이루어져 있다. 유전 알고리즘에 따라 세대 진화를 진행하면서 채널집합 모집단도 변화하게 되는데, 이를 반영하여 채널집합 모집단에는 세대넘버(generation number)를 병기할 수 있다. 유전 알고리즘에서 초기 조건은 일반적으로 중요하지 않다. 그에 따라, 채널집합 모집단을 초기 생성할 때에는 각각의 라이브 채널 집합(CS_k)에 포함되는 n개의 라이브 채널의 식별자(ID)를 무작위로(randomly) 설정할 수 있다. [Figure 4] is an exemplary diagram showing the channel set population for the genetic algorithm in the present invention. In [Figure 4], the channel set population consists of 20 live channel sets (CS1 to CS20), and one live channel set (CS_k) consists of 8 live channels. As generation evolution progresses according to the genetic algorithm, the channel set population also changes, and a generation number can be added to the channel set population to reflect this. In genetic algorithms, initial conditions are generally not important. Accordingly, when initially generating a channel set population, the identifiers (IDs) of n live channels included in each live channel set (CS_k) can be randomly set.

단계 (S130) : 다음으로, 히스토리 채널 정보에 기초한 라이브 채널 집합의 적합도 산정에 의해 선택 연산, 교배 연산, 돌연변이 연산을 수행하여 채널집합 모집단에 대해 세대 진화를 반복 수행한다. Step (S130): Next, generational evolution is repeatedly performed on the channel set population by performing selection, crossing, and mutation operations by calculating the fitness of the live channel set based on the history channel information.

단계 (S130)에서는 유전 알고리즘의 선택 연산, 교배 연산, 돌연변이 연산을 통하여 단계 (S120)에서 초기 생성한 채널집합 모집단으로부터 세대 진화를 반복 수행한다. [도 5]는 본 발명에서 유전 알고리즘에 의한 채널집합 모집단의 세대 진화를 나타내는 개념도이다. In step S130, generational evolution is repeatedly performed from the channel set population initially created in step S120 through the selection operation, crossover operation, and mutation operation of the genetic algorithm. [Figure 5] is a conceptual diagram showing the generational evolution of the channel set population by the genetic algorithm in the present invention.

이러한 세대 진화를 통해 채널집합 모집단에 포함된 라이브 채널 집합의 구성요소(라이브 채널들)가 점차적으로 변화하게 되는데, 그 변화 방향의 큰 흐름을 정하는 요소는 적합도(fitness)이다. 적합도는 선택 연산과 교배 연산에서 각각의 라이브 채널 집합이 살아남아 다음 세대로 잔존하게 될 확률을 결정한다. 즉, 적합도가 높은 해답(solution)이 세대 진화 과정에서 우세종이 될 수 있다. 본 발명에서는 해당 사용자의 히스토리 채널 정보를 기반으로 적합도를 계산한다.Through this generational evolution, the components (live channels) of the live channel set included in the channel set population gradually change, and the factor that determines the direction of change is fitness. Fitness determines the probability that each set of live channels will survive selection and crossing operations and survive into the next generation. In other words, a solution with high fitness can become the dominant species in the process of generational evolution. In the present invention, suitability is calculated based on the user's history channel information.

본 발명에서 라이브 채널 집합에 대해 적합도를 계산하는 과정에 대해 기술한다. In the present invention, the process of calculating suitability for a set of live channels is described.

본 발명에서는 라이브 채널 집합(CS) 단위로 적합도를 계산한다. 하나의 라이브 채널 집합(CS_k)은 복수의 라이브 채널, 즉 n개(예: 8개)의 라이브 채널(CH_1k ~ CH_nk)을 포함하는데, 라이브 채널 집합(CS_k)의 적합도 F(CS_k)는 이들 라이브 채널(CH_1k ~ CH_nk)의 가중치 W(CH_1k), ..., W(CH_nk)를 합산하여 산출한다. In the present invention, suitability is calculated in units of live channel sets (CS). One live channel set (CS_k) includes a plurality of live channels, that is, n (e.g. 8) live channels (CH_1k to CH_nk), and the fitness F (CS_k) of the live channel set (CS_k) is It is calculated by adding up the weights W(CH_1k), ..., W(CH_nk) of the channels (CH_1k to CH_nk).

이때, 라이브 채널(CH_ik)에 대한 가중치는 해당 사용자의 히스토리 채널 정보로부터 산출한다. 바람직한 일 실시예로서, 하나의 라이브 채널(CH_ik)의 가중치 W(CH_ik)는 시간대별 채널 가중치 W(t)와 장르 가중치 W(g)와 프로그램 가중치 W(p)를 단순 합산 혹은 가중 합산하여 산출한다. At this time, the weight for the live channel (CH_ik) is calculated from the history channel information of the user. In a preferred embodiment, the weight W(CH_ik) of one live channel (CH_ik) is calculated by simple or weighted summation of the channel weight W(t), genre weight W(g), and program weight W(p) for each time slot. do.

이때, 시간대별 채널 가중치 W(t)는 히스토리 채널 정보에서 해당 사용자가 특정 시간대에 나타내는 특정 채널에 대한 선호도(예: 시청 횟수, 시청시간 점유율)를 나타낸다. 장르 가중치 W(g)는 히스토리 채널 정보에서 해당 사용자가 나타내는 특정 장르에 대한 선호도(예: 시청 횟수 분포)를 나타낸다. 프로그램 가중치 W(p)는 히스토리 채널 정보에서 해당 사용자가 나타내는 특정 프로그램에 대한 선호도를 나타낸다. 해당 시청자가 기존에 시청했던 프로그램 이름이 동일하거나 유사한 경우에 가중치를 높인다. At this time, the channel weight W(t) for each time zone represents the user's preference (e.g., number of views, share of viewing time) for a specific channel shown at a specific time in the history channel information. The genre weight W(g) represents the user's preference for a specific genre (e.g., distribution of viewing counts) in the history channel information. The program weight W(p) represents the preference for a specific program indicated by the user in the history channel information. If the program name that the viewer previously watched is the same or similar, the weight is increased.

이러한 정의로부터 특정 라이브 채널(CH_i)에 대한 가중치는 시간에 따라 변화하는 값이다. 시간대별 채널 가중치 W(t)는 히스토리 채널 정보에 나타나는 시간 진행에 따른 해당 사용자의 시청 패턴에 의해 변화하게 된다. 장르 가중치 W(g)와 프로그램 가중치 W(p)는 각 라이브 채널(CH_i)의 프로그램 편성표에 따라 송출 중이거나 송출 예정인 프로그램의 장르 및 이름에 대응하여 변화하게 된다. From this definition, the weight for a specific live channel (CH_i) is a value that changes over time. The channel weight W(t) for each time slot changes depending on the user's viewing pattern over time as shown in the history channel information. The genre weight W(g) and program weight W(p) change in response to the genre and name of the program being transmitted or scheduled to be transmitted according to the program schedule of each live channel (CH_i).

다음으로, 유전 알고리즘의 선택 연산(selection operation)에 대해 기술한다. Next, the selection operation of the genetic algorithm is described.

선택(selection) 연산은 현재 세대(gn = p)의 채널집합 모집단에서 다음 세대(gn = p+1)의 채널집합 모집단을 생성할 때에 살아남을 해답(라이브 채널 집합)을 결정하는 연산이다. 일반적으로 선택 연산에 의해서는 전체 모집단보다 적은 갯수의 해답이 선택된다. 예를 들면, 채널집합 모집단[1]은 20개의 라이브 채널 집합으로 이루어져 있는데, 선택 연산에 의해서는 이들 중에서 예컨대 10개의 라이브 채널 집합이 선택되어 채널집합 모집단[2]에 살아남는다. The selection operation is an operation that determines the solution (live channel set) that will survive when generating the channel set population of the next generation (gn = p+1) from the channel set population of the current generation (gn = p). In general, a selection operation selects fewer answers than the entire population. For example, the channel set population [1] consists of 20 live channel sets, and through a selection operation, for example, 10 live channel sets are selected and survive in the channel set population [2].

채널집합 모집단[1]에 포함된 20개의 라이브 채널 집합(CS1 ~ CS20)에 대해 [수학식 1]과 [수학식 2]에 따라 적합도 F(CS_1) ~ F(CS_20)을 계산하는데, 선택 연산은 각각의 라이브 채널 집합의 적합도 F(CS_k)에 기초하여 이루어진다. For the 20 live channel sets (CS1 to CS20) included in the channel set population [1], the fitness F(CS_1) to F(CS_20) is calculated according to [Equation 1] and [Equation 2], and the selection operation is is made based on the fitness F(CS_k) of each live channel set.

일 실시예로서, 채널집합 모집단[1]에 포함된 20개의 라이브 채널 집합(CS1 ~ CS20) 중에서 가장 높은 적합도 값을 갖는 10개의 라이브 채널 집합을 선택할 수도 있다.As an example, the 10 live channel sets with the highest fitness values may be selected among the 20 live channel sets (CS1 to CS20) included in the channel set population [1].

다른 실시예로서, 채널집합 모집단[1]에 포함된 20개의 라이브 채널 집합(CS1 ~ CS20)에 대해 각각의 적합도에 대응하여 확률적으로 선택 여부를 결정할 수도 있다. 예를 들어, [도 6]에 도시된 바와 같이 각각의 적합도 비율에 따라 룰렛 선택범위를 설정하고 난수(random number)를 발생시켜 그 결과에 의해 10개의 라이브 채널 집합을 선택할 수도 있다. As another example, the selection of 20 live channel sets (CS1 to CS20) included in the channel set population [1] may be determined probabilistically according to their respective suitability. For example, as shown in [FIG. 6], a roulette selection range may be set according to each suitability ratio, a random number may be generated, and a set of 10 live channels may be selected based on the results.

다음으로, 유전 알고리즘의 교배 연산(crossover operation)에 대해 기술한다. Next, the crossover operation of the genetic algorithm is described.

교배(crossover) 연산은 두 개의 해답(라이브 채널 집합)을 조합하여 새로운 해답(라이브 채널 집합)을 만드는 과정으로서, 개념적으로는 생물의 염색체 교배를 모사한 것이다. 바람직하게는 선택 연산을 통해 살아남은 10개의 라이브 채널 집합에서 두 개의 라이브 채널 집합을 선택하고 이들을 조합해서 새로운 라이브 채널 집합을 생성할 수 있다. 이때, 10개의 라이브 채널 집합 중에서 두 개를 선택하는 과정도 각각의 적합도에 대응하도록 구성될 수 있다. 구현 예에 따라서는, 선택 연산에서 이미 적합도를 반영하였기에 교배 연산에서는 적합도를 다시 반영하지 않고 랜덤하게 선택하도록 구성될 수 있다.The crossover operation is a process of combining two answers (live channel sets) to create a new answer (live channel set), and conceptually, it simulates the chromosome crossover of a living organism. Preferably, two live channel sets can be selected from the ten surviving live channel sets through a selection operation and combined to create a new live channel set. At this time, the process of selecting two from a set of 10 live channels can also be configured to correspond to each suitability. Depending on the implementation, since the fitness has already been reflected in the selection operation, the mating operation may be configured to select randomly without reflecting the fitness again.

[도 7]은 본 발명에서 유전 알고리즘의 교배 연산을 나타내는 개념도이다. [Figure 7] is a conceptual diagram showing the crossover operation of the genetic algorithm in the present invention.

채널집합 모집단을 구성하는 10개의 라이브 채널 집합 중에서 두 개의 라이브 채널 집합 CS1과 CS7이 교배를 위해 선택되었다. 이들 CS1과 CS7 각각으로부터 절반씩(예: 4개)의 라이브 채널을 선택하여 새로운 라이브 채널 집합을 생성한다. [도 7]에서는 CS1으로부터 {CH10, CH81, CH214, CH7}이 선택되었고, CS7로부터는 {CH155, CH131, CH9, CH22}가 선택되었다. 이처럼 라이브 채널 집합 내에서 4개씩의 채널을 선택하는 과정에서 이들 채널에 대해 [수학식 2]에 의해 계산된 가중치에 기초하는 것이 바람직하다. 즉, 가중치 순서에 따라 상위 4개의 채널을 선택하는 실시예도 가능하고, 각각의 가중치에 대응하여 확률적으로 선택 여부가 결정되는 실시예도 가능하다. Among the 10 live channel sets constituting the channel set population, two live channel sets CS1 and CS7 were selected for crossbreeding. Select half (e.g., four) live channels from each of CS1 and CS7 to create a new set of live channels. In [Figure 7], {CH10, CH81, CH214, CH7} was selected from CS1, and {CH155, CH131, CH9, CH22} was selected from CS7. In this way, in the process of selecting four channels from the live channel set, it is desirable to base these channels on the weights calculated by [Equation 2]. That is, an embodiment in which the top four channels are selected according to the order of weights is possible, and an embodiment in which selection is probabilistically determined corresponding to each weight is also possible.

현재 세대(gn = p)의 채널집합 모집단에서 다음 세대(gn = p+1)의 채널집합 모집단을 생성할 때에 선택 연산을 통해 그중 일부(예: 10개)의 라이브 채널 집합을 결정하였다. 채널집합 모집단을 구성할 나머지 해답(예: 10개의 라이브 채널 집합)은 교배 연산을 통해 얻으며, 이를 통해 채널집합 모집단의 규모를 유지한다. When generating the channel set population of the next generation (gn = p+1) from the channel set population of the current generation (gn = p), some (e.g., 10) live channel sets were determined through a selection operation. The remaining solutions to form the channel set population (e.g., a set of 10 live channels) are obtained through a crossover operation, which maintains the size of the channel set population.

다음으로, 유전 알고리즘의 돌연변이 연산(mutation operation)에 대해 기술한다. Next, the mutation operation of the genetic algorithm is described.

돌연변이(mutation) 연산은 해답(라이브 채널 집합)의 일부분을 무작위로 변형하는 것으로 유전 알고리즘에 의해 채널집합 모집단이 로컬 최적해(local optimal solution)에 빠질 가능성을 줄여준다. 돌연변이 연산에서는 채널집합 모집단에서 소수의 라이브 채널을 임의로 선정하여 전혀 상이한 채널 값으로 변경한다. The mutation operation randomly transforms a part of the solution (live channel set) and reduces the possibility that the channel set population falls into a local optimal solution through a genetic algorithm. In the mutation operation, a small number of live channels are randomly selected from the channel set population and changed to completely different channel values.

[도 8]은 본 발명에서 유전 알고리즘의 돌연변이 연산을 나타내는 개념도이다. [Figure 8] is a conceptual diagram showing the mutation operation of the genetic algorithm in the present invention.

채널집합 모집단이 20개의 라이브 채널 집합으로 구성되고 하나의 라이브 채널 집합은 8개의 라이브 채널로 구성되므로, 채널집합 모집단에는 총 160개의 라이브 채널이 포함되어 있다. 돌연변이 발현 비율을 2.5%로 적용하면, 채널집합 모집단에 대해 총 4개의 라이브 채널을 임의로 선정하여 상이한 채널 값으로 변경한다. Since the channel set population consists of 20 live channel sets, and one live channel set consists of 8 live channels, the channel set population contains a total of 160 live channels. If the mutation expression rate is applied at 2.5%, a total of 4 live channels are randomly selected for the channel set population and changed to different channel values.

구현 예에 따라서는 라이브 채널의 가중치 값에 대응하여(가중치 값에 반비례하도록) 돌연변이 연산의 돌연변이 발현 비율을 차별적으로 적용할 수 있다. 즉, 가중치가 높은 라이브 채널에 대해서는 돌연변이 발현 비율을 상대적으로 낮게 적용하고, 가중치가 낮은 라이브 채널에 대해서는 돌연변이 발현 비율을 상대적으로 높게 적용하는 것이다. 일 실시예로서, 채널집합 모집단에 포함된 전체 라이브 채널들(예: 160개)을 가중치가 낮은 제 1 그룹과 가중치가 높은 제 2 그룹으로 분류한다. 미리 설정된 임계치와 비교한 결과에 의해 분류할 수도 있고, 가중치 순위에 의해 분류할 수도 있다. 제 1 그룹의 라이브 채널들에 대해서는 높은 값의 돌연변이 발현 비율을 적용하고, 제 2 그룹의 라이브 채널들에 대해서는 낮은 값의 돌연변이 발현 비율을 적용하여 돌연변이 연산을 수행할 수 있다. 예를 들어, 제 2 그룹에 비해 제 1 그룹에 대해 10배의 돌연변이 발현 비율을 적용하는 것이다. 이는 채널 추천의 다양성을 위해 돌연변이 연산을 적용하면서도 사용자의 선호도를 강화시키는 작용을 한다. Depending on the implementation example, the mutation expression rate of the mutation operation may be differentially applied in response to the weight value of the live channel (so that it is inversely proportional to the weight value). In other words, a relatively low mutation expression rate is applied to live channels with a high weight, and a relatively high mutation expression rate is applied to live channels with a low weight. As an example, all live channels (eg, 160) included in the channel set population are classified into a first group with a low weight and a second group with a high weight. Classification can be based on the results of comparison with a preset threshold or by weight ranking. A mutation operation may be performed by applying a high mutation expression rate to the first group of live channels and a low mutation expression rate to the second group of live channels. For example, a 10-fold mutation expression rate is applied to the first group compared to the second group. This works to strengthen the user's preference while applying mutation operation for diversity of channel recommendations.

단계 (S140, S150) : 다음으로, 세대 진화가 반복 수행된 이후의 채널집합 모집단에 포함된 M개(예: 20개)의 라이브 채널 집합(CS1 [80] ~ CS20 [80]) 중에서 히스토리 채널 정보를 이용한 적합도 산정에 의해 적합도가 양호한(가장 높은) 라이브 채널 집합(예: CS1 [80])을 선별한다. 그리고, 그 선별된 라이브 채널 집합(예: CS1 [80])에 포함된 n개(예: 8개)의 라이브 채널을 사용자에 대한 추천 대상으로 설정한다. Steps (S140, S150): Next, the history channel among M (e.g. 20) live channel sets (CS1 [80] to CS20 [80]) included in the channel set population after repeated generation evolution has been performed. By calculating the suitability using information, a set of live channels with good (highest) suitability (e.g. CS1 [80]) is selected. Then, n (e.g., 8) live channels included in the selected live channel set (e.g., CS1 [80]) are set as recommendation targets for the user.

일반적으로 유전 알고리즘의 세대 진화는 대략 80 내지 90 세대를 진행하였을 때에 효과적인 것으로 알려져있다. 세대 진화를 진행할수록 채널집합 모집단 내에 해답(solution)으로서의 적합도가 높은 라이브 채널 집합이 많아지게 되는데, 어느 정도 이상 진행하게 되면 적합 정도가 수렴하게 되면서 더이상 세대 진화를 진행할 필요가 없게 된다. 그에 따라, 통상적으로는 미리 설정된 횟수까지만 세대 진화를 수행하는데, [도 5]는 세대 진화를 79회 진행한 모습을 나타낸 것이다. In general, generational evolution of genetic algorithms is known to be effective when approximately 80 to 90 generations are performed. As generational evolution progresses, the number of live channel sets with high suitability as a solution increases within the channel set population. When the process progresses beyond a certain point, the degree of suitability converges and there is no need to proceed with generational evolution any longer. Accordingly, generational evolution is usually performed only up to a preset number of times, and [Figure 5] shows generational evolution performed 79 times.

[도 5]에서 유전 알고리즘에 따른 세대 진화를 79회 수행한 결과물이 채널집합 모집단[gn = 80]이다. 이 채널집합 모집단[gn = 80]은 20개의 라이브 채널 집합(CS1 [80] ~ CS20 [80])을 포함하고 있는데, 이중에서 [수학식 1] 및 [수학식 2]에 따라 산정된 적합도 값이 양호한 라이브 채널 집합을 선별한다. 미리 설정한 임계치 이상의 적합도를 갖는 라이브 채널 집합을 선별할 수도 있고, 적합도 값이 가장 높은 라이브 채널 집합을 선별할 수도 있다. 첫번째 라이브 채널 집합 CS1 [80]이 선별되었다고 가정한다. 이 CS1 [80]에는 8개의 라이브 채널이 포함되어 있는데, 이들의 전부 혹은 일부(가중치가 임계치 이상인 것을 선별)를 사용자에 대한 추천 대상으로 설정한다. In [Figure 5], the result of performing generational evolution according to the genetic algorithm 79 times is the channel set population [gn = 80]. This channel set population [gn = 80] includes 20 live channel sets (CS1 [80] to CS20 [80]), of which the fitness values calculated according to [Equation 1] and [Equation 2] Select this set of good live channels. A set of live channels with a suitability greater than a preset threshold can be selected, or a set of live channels with the highest suitability value can be selected. Assume that the first live channel set CS1 [80] is selected. This CS1 [80] includes 8 live channels, and all or some of them (selecting those with a weight greater than a threshold) are set as recommendations to the user.

한편, 본 발명은 컴퓨터가 읽을 수 있는 비휘발성 기록매체에 컴퓨터가 읽을 수 있는 코드의 형태로 구현되는 것이 가능하다. 이러한 비휘발성 기록매체로는 다양한 형태의 스토리지 장치가 존재하는데 예컨대 하드디스크, SSD, CD-ROM, NAS, 자기테이프, 웹디스크, 클라우드 디스크 등이 있다. 또한, 본 발명은 네트워크로 연결된 다수의 스토리지 장치에 코드가 분산 저장되고 실행되는 형태로도 구현될 수 있다. 또한, 본 발명은 하드웨어와 결합되어 특정의 절차를 실행시키기 위하여 매체에 저장된 컴퓨터프로그램의 형태로 구현될 수도 있다. Meanwhile, the present invention can be implemented in the form of computer-readable code on a computer-readable non-volatile recording medium. These non-volatile recording media include various types of storage devices, such as hard disks, SSDs, CD-ROMs, NAS, magnetic tapes, web disks, and cloud disks. Additionally, the present invention can be implemented in a form in which code is distributed and stored and executed in a plurality of storage devices connected through a network. Additionally, the present invention may be implemented in the form of a computer program stored on a medium in order to execute a specific procedure in combination with hardware.

100 : OTT 디바이스
200 : 가입자 관리 서버
201 : 가입자 데이터베이스
300 : 스트리밍 서버
301 : 방송채널 데이터베이스
400 : 채널 추천 서버
401 : 히스토리 데이터베이스
100: OTT device
200: Subscriber management server
201: Subscriber database
300: Streaming server
301: Broadcast channel database
400: Channel recommendation server
401: History database

Claims (7)

네트워크를 통해 다수의 라이브 채널을 스트리밍 제공하는 라이브 방송 서비스에서 채널 추천 서버(400)가 개별 사용자에 대해 해당 사용자의 시청 히스토리 기반으로 소수의 라이브 채널을 포함한 라이브 채널 집합을 추천하는 방법으로서,
사용자 별로 일정 기간 동안의 라이브 채널 시청 이력에 관한 히스토리 채널 정보를 획득하는 제 1 단계;
미리 설정된 n개의 라이브 채널을 포함한 라이브 채널 집합(CS)을 미리 설정된 M개 구비하는 채널집합 모집단을 초기 생성하는 제 2 단계;
상기 히스토리 채널 정보에 기초한 라이브 채널 집합의 적합도 산정에 의해 선택 연산, 교배 연산, 돌연변이 연산을 수행하여 상기 채널집합 모집단에 대해 세대 진화를 반복 수행하는 제 3 단계;
상기 세대 진화가 반복 수행된 상기 채널집합 모집단에 포함된 M개의 라이브 채널 집합 중에서 상기 히스토리 채널 정보를 이용한 적합도 산정에 의해 적합도가 양호한 라이브 채널 집합을 선별하는 제 4 단계;
상기 선별된 라이브 채널 집합에 포함된 n개의 라이브 채널 중 적어도 하나 이상을 추천 대상으로 설정하는 제 5 단계;
를 포함하여 구성되는 히스토리 기반의 지능형 라이브 채널 집합 추천 방법.
In a live broadcasting service that provides streaming of multiple live channels through a network, the channel recommendation server 400 recommends a set of live channels including a small number of live channels to an individual user based on the user's viewing history, comprising:
A first step of acquiring history channel information about the live channel viewing history for each user over a certain period of time;
A second step of initially generating a channel set population having M preset live channel sets (CS) including n preset live channels;
A third step of repeatedly performing generational evolution on the channel set population by performing a selection operation, a crossing operation, and a mutation operation by calculating the fitness of the live channel set based on the history channel information;
A fourth step of selecting a live channel set with good suitability by calculating suitability using the history channel information from among the M live channel sets included in the channel set population for which the generational evolution has been repeatedly performed;
A fifth step of setting at least one of the n live channels included in the selected live channel set as a recommendation target;
A history-based intelligent live channel set recommendation method comprising:
청구항 1에 있어서,
상기 히스토리 채널 정보는 사용자 별로 일정 기간 동안 시청한 라이브 채널의 목록에 대하여 채널 식별자, 채널 이름, 프로그램 이름, 프로그램 장르, 프로그램 시간, 러닝타임 대비 시청시간 비율을 포함하여 구성되는 것을 특징으로 하는 히스토리 기반의 지능형 라이브 채널 집합 추천 방법.
In claim 1,
The history channel information is history-based, which consists of a list of live channels watched over a certain period of time for each user, including channel identifier, channel name, program name, program genre, program time, and ratio of viewing time to running time. Intelligent live channel set recommendation method.
청구항 1에 있어서,
상기 제 3 단계에서 하나의 라이브 채널 집합(CS_k)의 적합도 F(CS_k)는

에 의해 상기 라이브 채널 집합(CS_k)을 구성하는 n개의 라이브 채널(CH_1k ~ CH_nk)의 가중치 W(CH_1k), ..., W(CH_nk)를 합산하여 산출하고,
이때 하나의 라이브 채널(CH_ik)의 가중치 W(CH_ik)는

에 의해 시간대별 채널 가중치 W(t)와 장르 가중치 W(g)와 프로그램 가중치 W(p)를 단순 합산 혹은 가중 합산으로 산출하는 것을 특징으로 하는 히스토리 기반의 지능형 라이브 채널 집합 추천 방법.
In claim 1,
In the third step, the fitness F(CS_k) of one live channel set (CS_k) is

Calculated by adding up the weights W(CH_1k), ..., W(CH_nk) of the n live channels (CH_1k to CH_nk) constituting the live channel set (CS_k),
At this time, the weight W(CH_ik) of one live channel (CH_ik) is

A history-based intelligent live channel set recommendation method characterized by calculating the channel weight W(t), genre weight W(g), and program weight W(p) for each time slot by simple or weighted summation.
청구항 3에 있어서,
상기 제 3 단계에서 상기 선택 연산은 상기 채널집합 모집단에 포함된 상기 M개의 라이브 채널 집합의 적합도 F(CS_k)에 기초하여 상기 적합도 값이 높은 라이브 채널 집합이 선택될 확률이 높도록 수행되는 것을 특징으로 하는 히스토리 기반의 지능형 라이브 채널 집합 추천 방법.
In claim 3,
In the third step, the selection operation is performed so that a live channel set with a high fitness value has a high probability of being selected based on the fitness F(CS_k) of the M live channel sets included in the channel set population. A history-based intelligent live channel set recommendation method.
청구항 4에 있어서,
상기 제 3 단계에서 상기 교배 연산은 상기 채널집합 모집단에 선택된 두 개의 라이브 채널 집합 각각으로부터 가중치 값에 기초하여 절반씩의 라이브 채널을 선택하여 새로운 라이브 채널 집합을 생성하도록 수행되는 것을 특징으로 하는 히스토리 기반의 지능형 라이브 채널 집합 추천 방법.
In claim 4,
In the third step, the crossbreeding operation is performed to generate a new live channel set by selecting half of the live channels based on the weight value from each of the two live channel sets selected in the channel set population. Intelligent live channel set recommendation method.
청구항 5에 있어서,
상기 제 3 단계에서 상기 돌연변이 연산은 라이브 채널의 가중치 값에 반비례하도록 돌연변이 연산의 돌연변이 발현 비율을 차별적으로 적용하여 수행되는 것을 특징으로 하는 히스토리 기반의 지능형 라이브 채널 집합 추천 방법.
In claim 5,
In the third step, the mutation operation is performed by differentially applying the mutation expression rate of the mutation operation so as to be inversely proportional to the weight value of the live channel.
컴퓨터에 청구항 1 내지 6 중 어느 하나의 항에 따른 히스토리 기반의 지능형 라이브 채널 집합 추천 방법을 실행시키기 위하여 저장매체에 저장된 컴퓨터프로그램.A computer program stored in a storage medium to execute the history-based intelligent live channel set recommendation method according to any one of claims 1 to 6 on a computer.
KR1020220101066A 2022-08-12 2022-08-12 method of history-based recommendation of a set of Live channels KR20240022698A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220101066A KR20240022698A (en) 2022-08-12 2022-08-12 method of history-based recommendation of a set of Live channels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220101066A KR20240022698A (en) 2022-08-12 2022-08-12 method of history-based recommendation of a set of Live channels

Publications (1)

Publication Number Publication Date
KR20240022698A true KR20240022698A (en) 2024-02-20

Family

ID=90057051

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220101066A KR20240022698A (en) 2022-08-12 2022-08-12 method of history-based recommendation of a set of Live channels

Country Status (1)

Country Link
KR (1) KR20240022698A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120003362A (en) 2010-07-02 2012-01-10 아코지토(주) Recommendation system on personalized favorite programs/channels for internet protocol tv users by using collaborative filtering algorithm
KR101642433B1 (en) 2014-06-13 2016-07-25 주식회사 유비벨록스모바일 Method for providing intelligent contents recommendation service by considering user's preferences
KR102096474B1 (en) 2014-02-26 2020-05-27 (주)드림어스컴퍼니 Apparatus and method for recommending contents

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120003362A (en) 2010-07-02 2012-01-10 아코지토(주) Recommendation system on personalized favorite programs/channels for internet protocol tv users by using collaborative filtering algorithm
KR102096474B1 (en) 2014-02-26 2020-05-27 (주)드림어스컴퍼니 Apparatus and method for recommending contents
KR101642433B1 (en) 2014-06-13 2016-07-25 주식회사 유비벨록스모바일 Method for providing intelligent contents recommendation service by considering user's preferences

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
대한민국 등록특허 10-2137887호(2020.07.20) "IPTV 서비스의 모바일 OTT 서비스의 영화 VOD 선호도 정보 결합을 통한 IPTV 영화 VOD 채널 추천 서버 및 그 방법"

Similar Documents

Publication Publication Date Title
US5410344A (en) Apparatus and method of selecting video programs based on viewers' preferences
CN109639786B (en) Multimedia resource distribution method, device, server and storage medium
CN107205178B (en) Live broadcast room recommendation method and device
US8982977B2 (en) Distributing personalized content
ES2357194T3 (en) PROCEDURE FOR RECOMMENDATION OF THREE-WAY MEDIA AND SYSTEM SPECIFICATION.
US20070078849A1 (en) System and method for recommending items of interest to a user
US10165315B2 (en) Systems and methods for predicting audience measurements of a television program
CN1739106A (en) Individual recommender profile modification using profiles of others
CN103069826A (en) Transmission device and method, reception device and method, and transmission/reception system
JP2012095357A (en) Method and apparatus for delivery of targeted video programming
CN102217301A (en) Method for distributing second multi-media content items in a list of first multi-media content items
CN103546773A (en) Television program recommendation method and system
CN1516971A (en) Method and apparatus for periodically delivering optimal batch broadcast schedule based on distributed client feedback
CN108521586B (en) IPTV television program personalized recommendation method giving consideration to time context and implicit feedback
US11741148B2 (en) Methods and systems for personalized screen content optimization
US20240223670A1 (en) Systems and methods for adjusting storage based on determining content item popularity
JP7217902B1 (en) Systems, methods, and computer-readable media for recommending streaming data
Sun et al. Live 360 degree video delivery based on user collaboration in a streaming flock
KR20210113848A (en) Server, method and computer program for recommending video content based on meta data
Li et al. DAVS: Dynamic-chunk quality aware adaptive video streaming using apprenticeship learning
KR20240022698A (en) method of history-based recommendation of a set of Live channels
EP2382559A1 (en) Biased recommender system
US11288582B2 (en) Systems and methods for providing media content recommendations
US11076185B2 (en) Evolutionary parameter optimization for selecting optimal personalized screen carousels
CN110996177B (en) Video recommendation method, device and equipment for video-on-demand cinema

Legal Events

Date Code Title Description
E902 Notification of reason for refusal