KR20240065343A - Method for analyzing and recommending contents - Google Patents
Method for analyzing and recommending contents Download PDFInfo
- Publication number
- KR20240065343A KR20240065343A KR1020220144906A KR20220144906A KR20240065343A KR 20240065343 A KR20240065343 A KR 20240065343A KR 1020220144906 A KR1020220144906 A KR 1020220144906A KR 20220144906 A KR20220144906 A KR 20220144906A KR 20240065343 A KR20240065343 A KR 20240065343A
- Authority
- KR
- South Korea
- Prior art keywords
- semantic
- content
- descriptor
- similarity
- weight
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000036651 mood Effects 0.000 claims abstract description 11
- 239000000284 extract Substances 0.000 claims description 42
- 238000004458 analytical method Methods 0.000 claims description 40
- 239000013598 vector Substances 0.000 claims description 38
- 238000000605 extraction Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000033764 rhythmic process Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 description 13
- 238000013135 deep learning Methods 0.000 description 9
- 230000000295 complement effect Effects 0.000 description 7
- 238000000354 decomposition reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000011435 rock Substances 0.000 description 2
- 239000010981 turquoise Substances 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/432—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Library & Information Science (AREA)
- Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Tourism & Hospitality (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Economics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명의 컨텐츠 추천 방법은 샘플 컨텐츠의 비디오 데이터로부터 스토리와 관련된 제1 의미 서술자를 획득하는 단계; 상기 샘플 컨텐츠의 텍스트 데이터로부터 내용과 관련된 제2 의미 서술자를 획득하는 단계; 상기 샘플 컨텐츠의 오디오 데이터로부터 무드와 관련된 제3 의미 서술자를 획득하는 단계; 상기 제1 의미 서술자, 상기 제2 의미 서술자 및 상기 제3 의미 서술자에 기초하여, 상기 샘플 컨텐츠에 대응되는 제1 의미 문서를 생성하는 단계; 복수의 컨텐츠들 각각에 대응되는 미리 저장된 복수의 의미 문서들과 상기 제1 의미 문서의 유사도를 산출하는 단계; 및 상기 유사도에 기초하여, 상기 복수의 컨텐츠들 중 적어도 하나 이상의 결과 컨텐츠를 추출하는 단계를 포함할 수 있다.The content recommendation method of the present invention includes obtaining a first semantic descriptor related to a story from video data of sample content; Obtaining a second semantic descriptor related to content from text data of the sample content; Obtaining a third semantic descriptor related to mood from audio data of the sample content; generating a first semantic document corresponding to the sample content based on the first semantic descriptor, the second semantic descriptor, and the third semantic descriptor; calculating a degree of similarity between a plurality of pre-stored semantic documents corresponding to each of a plurality of contents and the first semantic document; and extracting at least one result content from among the plurality of contents based on the similarity.
Description
본 발명은 컨텐츠 분석 및 컨텐츠 추천 방법에 관한 것으로, 보다 상세하게는, 멀티 모달 잠재 의미 분석 기법을 기반으로 유사한 컨텐츠를 추천하는 방법에 관한 것이다.The present invention relates to content analysis and content recommendation methods, and more specifically, to a method of recommending similar content based on multi-modal latent semantic analysis techniques.
최근 컨텐츠 관련 산업이 활발히 진행되고 있다. 컨텐츠 관련 산업에서 가장 근본이 되는 것은 컨텐츠 및 이를 제작하는 크리에이터(creator)일 수 있다. 종래의 컨텐츠 추천 시스템은 사용자와 비슷한 유저를 찾고, 비슷한 유저가 시청했거나 좋아하는 컨텐츠를 사용자에게도 추천하는 유저 중심의 추천 시스템이다. 그러나, 본질적으로 사용자의 요청은 사용자과 유사한 사용자가 아닌 자신이 좋아하는 컨텐츠와 유사한 컨텐츠를 찾는 것이다. 더 나아가, 사용자의 요청은 사용자는 자신이 좋아하는 컨텐츠와 유사한 컨텐츠를 제작하는 크리에이터를 찾는 것이다. 따라서, 유저 중심이 아닌 컨텐츠 중심으로, 딥러닝을 기반으로 하여 컨텐츠의 내용을 분석하고, 가장 유사한 컨텐츠 및 이를 제작한 크리에이터를 추천하는 컨텐츠 추천 시스템이 필요하다.Recently, the content-related industry has been actively progressing. The most fundamental thing in the content-related industry may be content and the creators who produce it. A conventional content recommendation system is a user-centered recommendation system that finds users similar to the user and recommends content that similar users have watched or liked to the user. However, in essence, the user's request is to find content similar to the content he or she likes, not to users similar to the user. Furthermore, the user's request is to find creators who produce content similar to the content the user likes. Therefore, there is a need for a content recommendation system that analyzes content based on deep learning and recommends the most similar content and the creator who produced it, focusing on content rather than the user.
본 발명의 일 과제는 딥러닝 기반으로 컨텐츠를 분석하고 컨텐츠를 추천하는 방법에 관한 것이다.One object of the present invention relates to a method for analyzing content and recommending content based on deep learning.
일 실시예에 따른 컨텐츠 추천 방법은 적어도 하나 이상의 프로세서에 의해 수행되는 컨텐츠 추천 방법에 있어서, 샘플 컨텐츠의 비디오 데이터로부터 스토리와 관련된 제1 의미 서술자(semantic descriptor)를 획득하는 단계; 상기 샘플 컨텐츠의 텍스트 데이터로부터 내용과 관련된 제2 의미 서술자를 획득하는 단계; 상기 샘플 컨텐츠의 오디오 데이터로부터 무드와 관련된 제3 의미 서술자를 획득하는 단계; 상기 제1 의미 서술자, 상기 제2 의미 서술자 및 상기 제3 의미 서술자에 기초하여, 상기 샘플 컨텐츠에 대응되는 제1 의미 문서를 생성하는 단계; 복수의 컨텐츠들 각각에 대응되는 미리 저장된 복수의 의미 문서들과 상기 제1 의미 문서의 유사도를 산출하는 단계; 및 상기 유사도에 기초하여, 상기 복수의 컨텐츠들 중 적어도 하나 이상의 결과 컨텐츠를 추출하는 단계를 포함할 수 있다.A content recommendation method according to an embodiment is performed by at least one processor, the method comprising: obtaining a first semantic descriptor related to a story from video data of sample content; Obtaining a second semantic descriptor related to content from text data of the sample content; Obtaining a third semantic descriptor related to mood from audio data of the sample content; generating a first semantic document corresponding to the sample content based on the first semantic descriptor, the second semantic descriptor, and the third semantic descriptor; calculating a degree of similarity between a plurality of pre-stored semantic documents corresponding to each of a plurality of contents and the first semantic document; and extracting at least one result content from among the plurality of contents based on the similarity.
여기서, 상기 유사도를 산출하는 단계는, 상기 제1 의미 문서의 제1 특징 벡터를 추출하는 단계; 상기 복수의 의미 문서들 각각으로부터 복수의 특징 벡터를 추출하는 단계; 및 코사인 함수를 기반으로 상기 복수의 특징 벡터 각각에 대한 상기 제1 특징 벡터의 유사도인 복수의 유사도를 산출하는 단계를 포함할 수 있다.Here, calculating the similarity includes extracting a first feature vector of the first semantic document; extracting a plurality of feature vectors from each of the plurality of semantic documents; and calculating a plurality of similarities, which are the similarities of the first feature vector to each of the plurality of feature vectors, based on a cosine function.
여기서, 상기 적어도 하나 이상의 결과 컨텐츠를 추출하는 단계는, 상기 복수의 유사도를 내림차순으로 정렬하는 단계; 정렬된 상기 복수의 유사도 중 상위 N개(N은 자연수)의 유사도를 추출하는 단계; 및 상기 복수의 컨텐츠들 중 상기 N개의 유사도에 대응되는 N개의 컨텐츠를 추출하는 단계를 포함할 수 있다.Here, extracting the at least one result content includes sorting the plurality of similarities in descending order; Extracting the top N similarities (N is a natural number) among the plurality of sorted similarities; And it may include extracting N contents corresponding to the N similarities among the plurality of contents.
여기서, 상기 적어도 하나 이상의 결과 컨텐츠를 추출하는 단계는, 상기 복수의 유사도 중 기준값 이상의 값을 갖는 N개의 유사도를 추출하는 단계; 및 상기 복수의 컨텐츠들 중 상기 N개의 유사도에 대응되는 N개의 컨텐츠를 추출하는 단계를 포함할 수 있다.Here, the step of extracting the at least one result content includes extracting N similarities having a value equal to or higher than a reference value among the plurality of similarities; And it may include extracting N contents corresponding to the N similarities among the plurality of contents.
여기서, 상기 제1 의미 문서를 생성하는 단계는 잠재 의미 분석(LSA: Latent Semantic Analysis) 기법을 기반으로 하는 단계일 수 있다.Here, the step of generating the first semantic document may be a step based on a latent semantic analysis (LSA) technique.
여기서, 상기 제1 의미 문서를 생성하는 단계는, 상기 제1 의미 서술자에 대한 제1 가중치, 상기 제2 의미 서술자에 대한 제2 가중치 및 상기 제3 의미 서술자에 대한 제3 가중치를 설정하는 단계; 및 상기 제1 가중치, 상기 제2 가중치 및 상기 제3 가중치를 이용하여 상기 제1 의미 문서를 생성하는 단계를 포함할 수 있다.Here, generating the first semantic document includes setting a first weight for the first semantic descriptor, a second weight for the second semantic descriptor, and a third weight for the third semantic descriptor; and generating the first semantic document using the first weight, the second weight, and the third weight.
여기서, 상기 제1 의미 서술자를 획득하는 단계는, 상기 비디오 데이터에 포함된 복수의 장면들로부터 각 장면의 오브젝트와 관련된 단어를 추출하여 단어 데이터를 생성하는 단계; 상기 복수의 장면들로부터 각 장면의 색상, 명도 및 채도와 관련된 컬러 데이터를 생성하는 단계; 및 상기 단어 데이터 및 상기 컬러 데이터에 기초하여 상기 제1 의미 서술자를 생성하는 단계를 포함할 수 있다.Here, the step of obtaining the first semantic descriptor includes generating word data by extracting a word related to an object in each scene from a plurality of scenes included in the video data; generating color data related to color, brightness, and saturation of each scene from the plurality of scenes; and generating the first semantic descriptor based on the word data and the color data.
여기서, 상기 제2 의미 서술자를 획득하는 단계는 상기 텍스트 데이터로부터 중복된 텍스트, 오류 텍스트 및 외국어 변환에 대한 처리를 수행하는 단계를 포함할 수 있다.Here, the step of obtaining the second semantic descriptor may include processing duplicate text, error text, and foreign language conversion from the text data.
여기서, 상기 제3 의미 서술자를 획득하는 단계는, 상기 오디오 데이터를 주파수 대역으로 변환하는 단계; 변환된 오디오 데이터로부터 복수의 파라미터- 상기 복수의 파라미터는 화성, 멜로디, 음색, 피치, 리듬, 비트, 템포, 장르 및 악기 편성 중 적어도 하나를 포함함 -를 추출하는 단계; 및 상기 복수의 파라미터에 기초하여 상기 제3 의미 서술자를 생성하는 단계를 포함할 수 있다.Here, the step of obtaining the third semantic descriptor includes converting the audio data into a frequency band; extracting a plurality of parameters from the converted audio data, the plurality of parameters including at least one of harmony, melody, timbre, pitch, rhythm, beat, tempo, genre, and instrumentation; and generating the third semantic descriptor based on the plurality of parameters.
여기서, 상기 복수의 유사도를 산출하는 단계는 아래의 식을 기반으로 유사도를 산출할 수 있다.Here, in the step of calculating the plurality of similarities, the similarities can be calculated based on the equation below.
(: 제1 특징 벡터의 i번째 컴포넌트, : 복수의 특징 벡터 중 어느 하나의 특징 벡터의 i번째 컴포넌트, n: 특징 벡터의 차원)( : i-th component of the first feature vector, : i-th component of one of the feature vectors, n: dimension of the feature vector)
여기서, 상기 제1 의미 서술자에 대한 제1 가중치, 상기 제2 의미 서술자에 대한 제2 가중치 및 상기 제3 의미 서술자에 대한 제3 가중치를 설정하는 단계; 상기 제1 가중치, 상기 제2 가중치 및 상기 제3 가중치를 이용하여 상기 샘플 컨텐츠에 대응되는 제1 의미 보완 문서를 생성하는 단계; 상기 N개의 컨텐츠들 각각에 대응되는 N개의 의미 문서들과 상기 제1 의미 보완 문서의 유사도를 산출하는 단계; 및 상기 유사도에 기초하여, 상기 N개의 컨텐츠들 중 가장 큰 유사도를 갖는 컨텐츠를 추출하는 단계를 포함할 수 있다.Here, setting a first weight for the first semantic descriptor, a second weight for the second semantic descriptor, and a third weight for the third semantic descriptor; generating a first semantic supplementary document corresponding to the sample content using the first weight, the second weight, and the third weight; calculating a similarity between N semantic documents corresponding to each of the N contents and the first semantic supplementary document; And based on the similarity, it may include extracting content with the greatest similarity among the N pieces of content.
여기서, 상기 기재된 컨텐츠 추천 방법을 실행시키도록 컴퓨터로 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램이 제공될 수 있다.Here, a computer program recorded on a computer-readable recording medium may be provided to execute the content recommendation method described above.
일 실시예에 따른 컨텐츠 추천 시스템은 샘플 컨텐츠의 비디오 데이터로부터 스토리와 관련된 제1 의미 서술자(semantic descriptor)를 추출하는 비디오 설명자 추출부; 상기 샘플 컨텐츠의 텍스트 데이터로부터 내용과 관련된 제2 의미 서술자를 추출하는 자막 설명자 추출부; 상기 샘플 컨텐츠의 오디오 데이터로부터 무드와 관련된 제3 의미 서술자를 추출하는 오디오 설명자 추출부; 상기 제1 의미 서술자, 상기 제2 의미 서술자 및 상기 제3 의미 서술자에 기초하여, 상기 샘플 컨텐츠에 대응되는 제1 의미 문서를 생성하는 잠재 의미 분석부; 및 복수의 컨텐츠들 각각에 대응되는 미리 저장된 복수의 의미 문서들과 상기 제1 의미 문서의 유사도를 산출하고, 상기 유사도에 기초하여 상기 복수의 컨텐츠들 중 적어도 하나 이상의 결과 컨텐츠를 추출하는 유사도 판단부를 포함할 수 있다.A content recommendation system according to an embodiment includes a video descriptor extractor that extracts a first semantic descriptor related to a story from video data of sample content; a subtitle descriptor extraction unit that extracts a second semantic descriptor related to content from text data of the sample content; an audio descriptor extraction unit that extracts a third semantic descriptor related to mood from the audio data of the sample content; a latent semantic analysis unit that generates a first semantic document corresponding to the sample content based on the first semantic descriptor, the second semantic descriptor, and the third semantic descriptor; and a similarity determination unit that calculates a similarity between a plurality of pre-stored semantic documents corresponding to each of a plurality of contents and the first semantic document, and extracts at least one result content among the plurality of contents based on the similarity. It can be included.
본 발명의 일 실시예에 따르면 딥러닝 기반으로 컨텐츠를 분석하고 컨텐츠를 추천하는 방법이 제공될 수 있다.According to an embodiment of the present invention, a method for analyzing content and recommending content based on deep learning can be provided.
도 1은 일 실시예에 따른 컨텐츠 추천 시스템의 환경도이다.
도 2는 본원 발명의 일 실시예에 따른 컨텐츠 추천 시스템의 블록도이다.
도 3은 일 실시예에 따른 의미 서술자 획득 방법을 설명하기 위한 도면이다.
도 4는 본원 발명의 일 실시예에 따른 컨텐츠 추천 방법의 순서도이다.
도 5는 본원 발명의 일 실시예에 따른 컨텐츠 추천 방법에서 컨텐츠 추출 방법의 순서도이다.1 is an environmental diagram of a content recommendation system according to an embodiment.
Figure 2 is a block diagram of a content recommendation system according to an embodiment of the present invention.
Figure 3 is a diagram for explaining a method of obtaining a semantic descriptor according to an embodiment.
Figure 4 is a flowchart of a content recommendation method according to an embodiment of the present invention.
Figure 5 is a flowchart of a content extraction method in a content recommendation method according to an embodiment of the present invention.
본 명세서에 기재된 실시예는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 본 발명의 사상을 명확히 설명하기 위한 것이므로, 본 발명이 본 명세서에 기재된 실시예에 한정되는 것은 아니며, 본 발명의 범위는 본 발명의 사상을 벗어나지 아니하는 수정예 또는 변형예를 포함하는 것으로 해석되어야 한다.The embodiments described in this specification are intended to clearly explain the idea of the present invention to those skilled in the art to which the present invention pertains, and the present invention is not limited to the embodiments described in this specification, and the present invention is not limited to the embodiments described in this specification. The scope should be construed to include modifications or variations that do not depart from the spirit of the present invention.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하여 가능한 현재 널리 사용되고 있는 일반적인 용어를 선택하였으나 이는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자의 의도, 판례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 다만, 이와 달리 특정한 용어를 임의의 의미로 정의하여 사용하는 경우에는 그 용어의 의미에 관하여 별도로 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가진 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 한다.The terms used in this specification are general terms that are currently widely used as much as possible in consideration of their function in the present invention, but this may vary depending on the intention of those skilled in the art, precedents, or the emergence of new technology in the technical field to which the present invention pertains. You can. However, if a specific term is defined and used in an arbitrary sense, the meaning of the term will be described separately. Therefore, the terms used in this specification should be interpreted based on the actual meaning of the term and the overall content of this specification, not just the name of the term.
본 명세서에 첨부된 도면은 본 발명을 용이하게 설명하기 위한 것으로 도면에 도시된 형상은 본 발명의 이해를 돕기 위하여 필요에 따라 과장되어 표시된 것일 수 있으므로 본 발명이 도면에 의해 한정되는 것은 아니다.The drawings attached to this specification are intended to easily explain the present invention, and the shapes shown in the drawings may be exaggerated as necessary to aid understanding of the present invention, so the present invention is not limited by the drawings.
본 명세서에서 본 발명에 관련된 공지의 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에 이에 관한 자세한 설명은 필요에 따라 생략하기로 한다.In this specification, if it is determined that a detailed description of a known configuration or function related to the present invention may obscure the gist of the present invention, the detailed description thereof will be omitted as necessary.
도 1은 일 실시예에 따른 컨텐츠 추천 시스템의 환경도이다.1 is an environmental diagram of a content recommendation system according to an embodiment.
도 1을 참조하면, 컨텐츠 추천 시스템(1000)은 사용자 단말기(2000)와 통신하여 서로 데이터를 주고받을 수 있다.Referring to FIG. 1, the content recommendation system 1000 can communicate with the user terminal 2000 to exchange data with each other.
컨텐츠 추천 시스템(1000)은 사용자 단말기(2000)로부터 샘플 컨텐츠와 관련된 데이터를 수신할 수 있다. 샘플 컨텐츠는 사용자 단말기(2000)의 사용자가 요청한 컨텐츠일 수 있다. 구체적으로, 샘플 컨텐츠는 사용자가 컨텐츠 추천 시스템(1000)에 유사한 컨텐츠를 추천해달라고 요청하기 위한 샘플일 수 있다. 이때, 사용자가 컨텐츠 추천 시스템(1000)에 요청한 샘플 컨텐츠와 유사한 컨텐츠는 샘플 컨텐츠와 유사한 무드, 유사한 스토리, 유사한 오디오 등을 가지는 컨텐츠일 수 있다.The content recommendation system 1000 may receive data related to sample content from the user terminal 2000. Sample content may be content requested by the user of the user terminal 2000. Specifically, the sample content may be a sample for a user to request that the content recommendation system 1000 recommend similar content. At this time, content similar to the sample content requested by the user from the content recommendation system 1000 may be content having a similar mood, similar story, similar audio, etc. as the sample content.
사용자 단말기(2000)는 컨텐츠 추천 시스템(1000)에 샘플 컨텐츠와 유사한 동영상 추천 서비스를 요청할 수 있다. 구체적으로, 사용자 단말기(2000)의 사용자는 샘플 컨텐츠와 유사한 컨텐츠를 제작하는 크리에이터(creator) 추천 서비스를 요청할 수 있다.The user terminal 2000 may request a video recommendation service similar to sample content from the content recommendation system 1000. Specifically, the user of the user terminal 2000 may request a creator recommendation service that produces content similar to sample content.
종래의 컨텐츠 추천 시스템은 사용자와 비슷한 성향의 유저가 시청했던 컨텐츠를 추천하는 시스템이었다. 즉, 종래의 컨텐츠 추천 시스템은 유저 중심의 컨텐츠 추천 서비스를 제공했었다.The conventional content recommendation system was a system that recommended content that users with similar tendencies had viewed. In other words, the conventional content recommendation system provided a user-centered content recommendation service.
그러나, 본원 발명의 컨텐츠 추천 시스템(1000)은 유저 중심이 아닌 컨텐츠 중심의 추천 서비스를 제공할 수 있다. 구체적으로, 본원 발명의 컨텐츠 추천 시스템(1000)은 사용자로부터 수신한 샘플 컨텐츠를 분석하고, 샘플 컨텐츠와 타 컨텐츠의 유사도를 산출하고, 유사도에 기초하여 사용자에게 컨텐츠를 추천하는 서비스를 제공할 수 있다.However, the content recommendation system 1000 of the present invention can provide a content-centered recommendation service rather than a user-centered recommendation service. Specifically, the content recommendation system 1000 of the present invention analyzes sample content received from a user, calculates the similarity between the sample content and other content, and provides a service that recommends content to the user based on the similarity. .
더 나아가, 본원 발명의 컨텐츠 추천 시스템(1000)은 샘플 컨텐츠와 유사한 컨텐츠를 만드는 크리에이터를 추천하는 서비스를 제공할 수 있다. 즉, 본원 발명의 컨텐츠 추천 시스템(1000)은 사용자가 원하는 스타일의 컨텐츠를 계속적으로 접할 수 있도록, 샘플 컨텐츠와 유사한 스타일의 컨텐츠를 제작하는 크리에이터를 사용자와 연결시킬 수 있다.Furthermore, the content recommendation system 1000 of the present invention can provide a service for recommending creators who create content similar to sample content. In other words, the content recommendation system 1000 of the present invention can connect the user with a creator who produces content of a similar style to the sample content so that the user can continuously access content of the desired style.
도 2는 본원 발명의 일 실시예에 따른 컨텐츠 추천 시스템의 블록도이다.Figure 2 is a block diagram of a content recommendation system according to an embodiment of the present invention.
도 2를 참조하면, 본원 발명의 일 실시예에 따른 컨텐츠 추천 시스템(1000)은 제어부(100), 비디오 설명자 추출부(200), 자막 설명자 추출부(300), 오디오 설명자 추출부(400), 잠재 의미 분석부(500) 및 유사도 판단부(600)를 포함할 수 있다. 도 2는 컨텐츠 추천 시스템(1000)이 6개의 구성 요소를 포함하는 것으로 도시하였으나, 이에 한정되지 않고, 컨텐츠 추천 시스템(1000)은 그보다 더 많거나 적은 구성 요소를 가질 수도 있다. 또한, 각 구성 요소들은 서로 병합될 수도 있다.Referring to FIG. 2, the content recommendation system 1000 according to an embodiment of the present invention includes a control unit 100, a video descriptor extraction unit 200, a subtitle descriptor extraction unit 300, an audio descriptor extraction unit 400, It may include a latent meaning analysis unit 500 and a similarity determination unit 600. FIG. 2 illustrates that the content recommendation system 1000 includes six components, but the content recommendation system 1000 is not limited to this and may have more or fewer components. Additionally, each component may be merged with each other.
제어부(100)는 컨텐츠 추천 시스템(1000)의 동작을 총괄할 수 있다. 제어부(100)는 컨텐츠 추천 시스템(1000)의 제어 프로세서일 수 있다. 구체적으로, 제어부(100)는 비디오 설명자 추출부(200), 자막 설명자 추출부(300), 오디오 설명자 추출부(400), 잠재 의미 분석부(500) 및 유사도 판단부(600)에 제어 명령을 보내 각 부서의 동작을 실행할 수 있다. 또한, 제어부(100)는 통신 모듈을 포함하여, 사용자 단말기(2000)와 데이터 송수신을 수행할 수 있다.The control unit 100 may oversee the operation of the content recommendation system 1000. The control unit 100 may be a control processor of the content recommendation system 1000. Specifically, the control unit 100 sends control commands to the video descriptor extraction unit 200, the subtitle descriptor extraction unit 300, the audio descriptor extraction unit 400, the latent semantic analysis unit 500, and the similarity determination unit 600. You can send it to each department to execute its actions. Additionally, the control unit 100 includes a communication module and can transmit and receive data with the user terminal 2000.
이하에서 특별한 언급이 없는 경우에는, 컨텐츠 추천 시스템(1000)의 작동은 제어부(100)의 제어에 의해 수행되는 것으로 해석될 수 있다.Unless otherwise specified below, the operation of the content recommendation system 1000 may be interpreted as being performed under the control of the control unit 100.
비디오 설명자 추출부(200)는 사용자 단말기(2000)로부터 획득한 샘플 컨텐츠의 비디오 데이터에 기초하여 샘플 컨텐츠의 스토리와 관련된 제1 의미 서술자를 추출 및/또는 획득할 수 있다. 이때, 비디오 데이터는 샘플 컨텐츠로부터 제어부(100) 또는 비디오 설명자 추출부(200)에 의해, 컨텐츠의 영상 데이터만을 추출한 데이터일 수 있다. 또한 이때, 스토리는 샘플 컨텐츠의 내용과 관련된 영상 흐름일 수 있다. 비디오 설명자 추출부(200)는 컨텐츠 추천 시스템(1000)의 딥러닝 기반의 프로세서일 수 있다.The video descriptor extraction unit 200 may extract and/or obtain a first semantic descriptor related to the story of the sample content based on video data of the sample content acquired from the user terminal 2000. At this time, the video data may be data obtained by extracting only the image data of the content from the sample content by the control unit 100 or the video descriptor extractor 200. Also, at this time, the story may be a video flow related to the contents of the sample content. The video descriptor extractor 200 may be a deep learning-based processor of the content recommendation system 1000.
비디오 설명자 추출부(200)는 비디오 데이터로부터 스토리와 관련된 제1 의미 서술자(semantic descriptor)를 추출할 수 있다. 제1 의미 서술자는 잠재 의미 분석을 위한 파라미터로서, 비디오 데이터에 포함된 복수의 장면들로부터 각 장면과 관련된 단어를 포함할 수 있다.The video descriptor extractor 200 may extract a first semantic descriptor related to the story from the video data. The first semantic descriptor is a parameter for latent semantic analysis and may include words related to each scene from a plurality of scenes included in the video data.
비디오 설명자 추출부(200)는 비디오 데이터에 포함된 복수의 장면들로부터 각 장면의 오브젝트(object)와 관련된 단어를 추출하여 단어 데이터를 생성할 수 있다.The video descriptor extractor 200 may generate word data by extracting a word related to an object in each scene from a plurality of scenes included in the video data.
도 3은 일 실시예에 따른 의미 서술자 획득 방법을 설명하기 위한 도면이다.Figure 3 is a diagram for explaining a method of obtaining a semantic descriptor according to an embodiment.
도 3을 참조하면, 비디오 설명자 추출부(200)는 복수의 장면들 중 어느 한 장면(3100)의 오브젝트를 검출할 수 있다. 구체적으로, 비디오 설명자 추출부(200)는 딥러닝 기반의 프로세서로서 장면(3100)으로부터 제1 오브젝트(3110), 제2 오브젝트(3120) 및 제3 오브젝트(3130)를 추출할 수 있다.Referring to FIG. 3, the video descriptor extractor 200 may detect an object in one scene 3100 among a plurality of scenes. Specifically, the video descriptor extractor 200 is a deep learning-based processor and can extract the first object 3110, the second object 3120, and the third object 3130 from the scene 3100.
비디오 설명자 추출부(200)는 추출한 오브젝트에 라벨링(labeling)을 수행할 수 있다. 예를 들어, 비디오 설명자 추출부(200)는 제1 오브젝트(3110)는 사람(person)으로, 제2 오브젝트(3120)는 사람(person)으로, 제3 오브젝트(3130)는 티비 모니터(tv monitor)로 라벨링할 수 있다.The video descriptor extractor 200 may perform labeling on the extracted object. For example, the video descriptor extractor 200 sets the first object 3110 as a person, the second object 3120 as a person, and the third object 3130 as a TV monitor. ) can be labeled.
비디오 설명자 추출부(200)는 라벨링한 단어에 기초하여 단어 데이터를 생성할 수 있다. 예를 들어, 도 3의 예시로부터 생성된 단어 데이터는 사람 및 티비 모니터의 단어를 포함할 수 있다. 단어 데이터는 행렬로 구성되어 각 단어들이 행렬의 구성요소가 될 수 있으나, 이에 한정되지 않는다.The video descriptor extractor 200 may generate word data based on the labeled words. For example, word data generated from the example of FIG. 3 may include words for people and TV monitors. Word data may be composed of a matrix, and each word may be a component of the matrix, but the data is not limited to this.
비디오 설명자 추출부(200)는 복수의 장면들로부터 각 장면의 색상, 명도 및 채도와 관련된 컬러 데이터를 생성할 수 있다. 비디오 설명자 추출부(200)는 복수의 장면들 중 어느 한 장면(3100)의 컬러 프로파일(color profile)을 검출할 수 있다. 예를 들어, 비디오 설명자 추출부(200)는 장면(3100)의 색상 스펙트럼, 명도 스펙트럼 및 채도 스펙트럼을 추출할 수 있다.The video descriptor extractor 200 may generate color data related to the color, brightness, and saturation of each scene from a plurality of scenes. The video descriptor extractor 200 may detect the color profile of one scene 3100 among a plurality of scenes. For example, the video descriptor extractor 200 may extract the color spectrum, brightness spectrum, and saturation spectrum of the scene 3100.
비디오 설명자 추출부(200)는 추출한 스펙트럼 데이터에 기초하여 컬러 데이터를 생성할 수 있다. 예를 들어, 도 3의 예시로부터 생성된 컬러 데이터는 베이지색, 갈색 및 옥색(청록색)의 단어를 포함할 수 있다. 컬러 데이터는 행렬로 구성되어 색상, 명도 및 채도와 관련된 단어들이 행렬의 구성요소가 될 수 있으나, 이에 한정되지 않는다.The video descriptor extractor 200 may generate color data based on the extracted spectral data. For example, color data generated from the example of FIG. 3 may include the words beige, brown, and turquoise (turquoise). Color data is composed of a matrix, and words related to color, brightness, and saturation may be components of the matrix, but are not limited to this.
비디오 설명자 추출부(200)는 생성한 단어 데이터 및 컬러 데이터에 기초하여 제1 의미 서술자를 생성할 수 있다. 구체적으로 제1 의미 서술자는 단어 데이터 및 컬러 데이터를 모두 포함하는 데이터일 수 있다. 예를 들어, 제1 의미 서술자는 단어 데이터 및 컬러 데이터에 포함된 모든 단어들을 구성요소로 하는 행렬일 수 있으나, 이에 한정되지 않는다.The video descriptor extractor 200 may generate a first semantic descriptor based on the generated word data and color data. Specifically, the first semantic descriptor may be data including both word data and color data. For example, the first semantic descriptor may be a matrix whose components include all words included in word data and color data, but is not limited to this.
비디오 설명자 추출부(200)는 가중치를 반영하여 제1 의미 서술자를 생성할 수 있다. 구체적으로, 사용자는 사용자 단말기(2000)를 통해 컨텐츠 추천 시스템(1000)에 중점적으로 고려해야 하는 요소에 대한 정보를 전송할 수 있다. 예를 들어, 사용자는 사용자 단말기(2000)를 통해 특히 색감이 유사한 컨텐츠의 추천을 요청할 수 있다.The video descriptor extraction unit 200 may generate a first semantic descriptor by reflecting the weight. Specifically, the user may transmit information about factors to be considered as a priority to the content recommendation system 1000 through the user terminal 2000. For example, the user may request recommendation of content with particularly similar colors through the user terminal 2000.
이때, 비디오 설명자 추출부(200)는 단어 데이터보다 컬러 데이터에 가중치를 두어 제1 의미 서술자를 생성할 수 있다. 예를 들어, 비디오 설명자 추출부(200)는 단어 데이터 및 컬러 데이터의 합인 행렬을 생성할 때, 단어 데이터에 포함된 단어들에 대한 제1 가중치 및 컬러 데이터에 포함된 단어들에 대한 제2 가중치를 설정할 수 있다. 이때, 비디오 설명자 추출부(200)는 제2 가중치가 제1 가중치보다 더 큰 값을 갖도록 하여 제1 의미 서술자를 생성할 수 있다. 그러나 해당 방법에 한정되지 않고, 비디오 설명자 추출부(200)는 단어의 개수를 늘리는 등 다른 방법으로 가중치를 반영하여 제1 의미 서술자를 생성할 수도 있다.At this time, the video descriptor extractor 200 may generate the first semantic descriptor by giving more weight to the color data than to the word data. For example, when the video descriptor extractor 200 generates a matrix that is the sum of word data and color data, the first weight for words included in the word data and the second weight for words included in the color data can be set. At this time, the video descriptor extractor 200 may generate the first semantic descriptor by making the second weight have a larger value than the first weight. However, it is not limited to this method, and the video descriptor extractor 200 may generate the first semantic descriptor by reflecting the weight in other ways, such as increasing the number of words.
자막 설명자 추출부(300)는 사용자 단말기(2000)로부터 획득한 샘플 컨텐츠의 텍스트 데이터에 기초하여 샘플 컨텐츠의 내용과 관련된 제2 의미 서술자를 추출 및/또는 획득할 수 있다. 이때, 텍스트 데이터는 샘플 컨텐츠로부터 제어부(100) 또는 자막 설명자 추출부(300)에 의해, 컨텐츠의 자막만을 추출한 데이터일 수 있다. 또한 이때, 내용은 샘플 컨텐츠의 자막에 담긴 해설 및/또는 요약일 수 있다. 자막 설명자 추출부(300)는 컨텐츠 추천 시스템(1000)의 딥러닝 기반의 프로세서일 수 있다.The subtitle descriptor extraction unit 300 may extract and/or obtain a second semantic descriptor related to the content of the sample content based on text data of the sample content obtained from the user terminal 2000. At this time, the text data may be data obtained by extracting only the subtitles of the content from the sample content by the control unit 100 or the subtitle descriptor extraction unit 300. Also, at this time, the content may be commentary and/or summary included in the subtitles of the sample content. The subtitle descriptor extraction unit 300 may be a deep learning-based processor of the content recommendation system 1000.
자막 설명자 추출부(300)는 텍스트 데이터로부터 내용과 관련된 제2 의미 서술자를 추출할 수 있다. 제2 의미 서술자는 잠재 의미 분석을 위한 파라미터로서, 텍스트 데이터에 포함된 단어들로부터 노이즈 제거, 텍스트 정규화(text normalization) 등의 처리에 의한 결과인 단어들을 포함할 수 있다.The subtitle descriptor extraction unit 300 may extract a second semantic descriptor related to content from text data. The second semantic descriptor is a parameter for latent semantic analysis and may include words that are the result of processing such as noise removal and text normalization from words included in text data.
자막 설명자 추출부(300)는 텍스트 데이터에 대해 노이즈 제거를 수행할 수 있다. 구체적으로, 자막 설명자 추출부(300)는 텍스트 데이터에 중복된 텍스트 제거, 오기 텍스트(오류 텍스트)의 정정을 수행함으로써, 텍스트 데이터로부터 노이즈를 제거할 수 있다. The subtitle descriptor extractor 300 may perform noise removal on text data. Specifically, the subtitle descriptor extractor 300 can remove noise from text data by removing duplicate text and correcting misspelled text (erroneous text) in text data.
또한, 자막 설명자 추출부(300)는 텍스트 데이터를 정규화(normalization)시킬 수 있다. 구체적으로, 자막 설명자 추출부(300)는 텍스트 데이터의 외국어에 대해 한국어 변환을 수행하여 텍스트 데이터를 정규화할 수 있다. 이때, 자막 설명자 추출부(300)는 번역기를 사용함으로써 외국어 변환을 수행할 수 있다.Additionally, the subtitle descriptor extractor 300 may normalize text data. Specifically, the subtitle descriptor extraction unit 300 may normalize the text data by performing Korean conversion on the foreign language of the text data. At this time, the subtitle descriptor extractor 300 can perform foreign language conversion by using a translator.
또한, 자막 설명자 추출부(300)는 유사어를 정리하여 텍스트 데이터를 정규화할 수 있다. 예를 들어, 텍스트 데이터는 '자연', 'nature'및 '네이처'의 단어를 모두 포함할 수 있다. 이때, 위 3가지 언어는 모두 동일한 의미를 포함하는 것이기 때문에, 자막 설명자 추출부(300)는 ‘nature'및 '네이처'의 단어를 모두 대표 단어인 '자연'으로 변환함으로써, 유사어 정리를 수행할 수 있다. 이때, 자막 설명자 추출부(300)는 유사어 단어에 대해 미리 저장된 대표 단어를 대체하는 방법으로 유사어를 정리할 수 있다.Additionally, the subtitle descriptor extractor 300 can normalize text data by organizing similar words. For example, text data may contain the words 'nature', 'nature', and 'nature'. At this time, since the above three languages all contain the same meaning, the subtitle descriptor extraction unit 300 converts all of the words 'nature' and 'nature' into the representative word 'nature' to perform similar word organizing. You can. At this time, the subtitle descriptor extractor 300 may organize the similar words by replacing representative words stored in advance for the similar words.
오디오 설명자 추출부(400)는 사용자 단말기(2000)로부터 획득한 샘플 컨텐츠의 오디오 데이터에 기초하여 샘플 컨텐츠의 무드(mood)와 관련된 제3 의미 서술자를 추출 및/또는 획득할 수 있다. 이때, 오디오 데이터는 샘플 컨텐츠로부터 제어부(100) 또는 오디오 설명자 추출부(400)에 의해, 컨텐츠의 음성 데이터만을 추출한 데이터일 수 있다. 또한 이때, 무드는 샘플 컨텐츠의 분위기 또는 청각적 컨셉을 결정하는 음악적 요소일 수 있다. 오디오 설명자 추출부(400)는 컨텐츠 추천 시스템(1000)의 딥러닝 기반의 프로세서일 수 있다.The audio descriptor extraction unit 400 may extract and/or obtain a third semantic descriptor related to the mood of the sample content based on the audio data of the sample content acquired from the user terminal 2000. At this time, the audio data may be data obtained by extracting only the voice data of the content from the sample content by the control unit 100 or the audio descriptor extractor 400. Also, at this time, the mood may be a musical element that determines the atmosphere or auditory concept of the sample content. The audio descriptor extractor 400 may be a deep learning-based processor of the content recommendation system 1000.
오디오 설명자 추출부(400)는 오디오 데이터로부터 무드와 관련된 제3 의미 서술자를 추출할 수 있다. 제3 의미 서술자는 잠재 의미 분석을 위한 파라미터로서, 주파수 대역으로 변환된 오디오 데이터에 기초하여 생성될 수 있다. 예를 들어, 오디오 설명자 추출부(400)는 오디오 데이터로부터 제3 의미 서술자를 추출할 수 있는 합성곱 신경망(CNN: Convolutional Neural Networks) 기반의 프로세서일 수 있다.The audio descriptor extractor 400 may extract a third semantic descriptor related to mood from audio data. The third semantic descriptor is a parameter for latent semantic analysis and can be generated based on audio data converted to a frequency band. For example, the audio descriptor extractor 400 may be a processor based on Convolutional Neural Networks (CNN) that can extract a third semantic descriptor from audio data.
오디오 설명자 추출부(400)는 주파수 대역으로 변환된 오디오 데이터로부터 복수의 파라미터를 추출할 수 있다. 이때, 복수의 파라미터는 화성, 멜로디, 음색, 피치, 리듬, 비트, 템포, 장르 및 악기 편성 중 적어도 하나를 포함할 수 있다. 오디오 설명자 추출부(400)는 추출한 복수의 파라미터에 기초하여 제3 의미 서술자를 생성할 수 있다. 예를 들어, 오디오 데이터의 장르는 락(rock)이고, 악기 편성은 일렉 기타이고, 템포는 100 내지 120인 경우, 제3 의미 서술자는 락, 일렉 기타, 템포 100-120의 단어가 구성요소인 행렬일 수 있으나, 이에 한정되지 않는다.The audio descriptor extractor 400 may extract a plurality of parameters from audio data converted to a frequency band. At this time, the plurality of parameters may include at least one of harmony, melody, tone, pitch, rhythm, beat, tempo, genre, and instrumentation. The audio descriptor extractor 400 may generate a third semantic descriptor based on a plurality of extracted parameters. For example, if the genre of the audio data is rock, the instrument arrangement is electric guitar, and the tempo is 100 to 120, the third semantic descriptor is one whose components include the words rock, electric guitar, and tempo 100 to 120. It may be a matrix, but is not limited to this.
잠재 의미 분석부(500)는 비디오 설명자 추출부(200)로부터 제1 의미 서술자, 자막 설명자 추출부(300)로부터 제2 의미 서술자 및 오디오 설명자 추출부(400)로부터 제3 의미 서술자를 획득할 수 있다. 잠재 의미 분석부(500)는 제1 의미 서술자, 제2 의미 서술자 및 제3 의미 서술자에 기초하여, 샘플 컨텐츠에 대응되는 제1 의미 문서를 생성할 수 있다.The latent semantic analysis unit 500 may obtain a first semantic descriptor from the video descriptor extraction unit 200, a second semantic descriptor from the subtitle descriptor extraction unit 300, and a third semantic descriptor from the audio descriptor extraction unit 400. there is. The latent semantic analysis unit 500 may generate a first semantic document corresponding to the sample content based on the first semantic descriptor, the second semantic descriptor, and the third semantic descriptor.
잠재 의미 분석부(500)는 딥러닝을 수행할 수 있는 프로세서로서 잠재 의미 분석(LSA: Latent Semantic Analysis) 기법을 기반으로 제1 의미 문서를 생성할 수 있다.The latent semantic analysis unit 500 is a processor capable of performing deep learning and can generate a first semantic document based on a latent semantic analysis (LSA) technique.
잠재 의미 분석부(500)는 단어의 행렬인 제1 의미 서술자, 제2 의미 서술자 및 제3 의미 서술자 각각에 대해 특이값 분해(SVD: Singular Value Decomposition)를 수행할 수 있다. 구체적으로, 잠재 의미 분석부(500)는 제1 내지 제3 의미 서술자 행렬을 분해하여 각각의 직교행렬 2개(행렬의 행 차원 1개, 행렬의 열 차원 1개) 및 직사각 대각행렬 1개를 생성하여, 특이값 분해에 의해 총 9개의 행렬을 생성할 수 있다.The latent semantic analysis unit 500 may perform singular value decomposition (SVD) on each of the first semantic descriptor, second semantic descriptor, and third semantic descriptor, which are matrices of words. Specifically, the latent semantic analysis unit 500 decomposes the first to third semantic descriptor matrices into two orthogonal matrices (one row dimension of the matrix, one column dimension of the matrix) and one rectangular diagonal matrix. A total of 9 matrices can be created by singular value decomposition.
잠재 의미 분석부(500)는 특이값 분해에 의해 생성된 9개의 행렬에 대해 절단된 특이값 분해(TSVD: Truncated SVD)를 수행할 수 있다. 구체적으로, 잠재 의미 분석부(500)는 9개의 행렬에 대해, 상위 몇 개의 구성요소만을 절단하여 결과에 영향을 미치는 매개변수로 이루어진 행렬을 생성할 수 있다.The latent semantic analysis unit 500 may perform truncated singular value decomposition (TSVD) on the nine matrices generated by singular value decomposition. Specifically, the latent semantic analysis unit 500 can generate a matrix consisting of parameters that affect the result by cutting only the top few components of the nine matrices.
잠재 의미 분석부(500)는 절단된 특이값 분해에 의해 절단된 행렬들을 잠재 의미 분석 모델에 입력하여, 샘플 컨텐츠에 대응되는 제1 의미 문서를 생성할 수 있다. 이때, 제1 의미 문서는 복수의 구성요소를 포함하는 행렬 형태일 수 있다. 또한 이때, 제1 의미 문서는 샘플 컨텐츠의 영상, 자막 및 음성에 대해 추출된 특징값들을 포함할 수 있다.The latent semantic analysis unit 500 may input the truncated matrices through truncated singular value decomposition into a latent semantic analysis model to generate a first semantic document corresponding to the sample content. At this time, the first semantic document may be in the form of a matrix including a plurality of components. Also, at this time, the first semantic document may include feature values extracted for the video, subtitles, and audio of the sample content.
잠재 의미 분석부(500)는 제1 의미 문서를 생성할 때, 각 의미 서술자에 대한 가중치를 반영할 수 있다. 구체적으로, 잠재 의미 분석부(500)는 제1 의미 서술자에 대해 제1 가중치, 제2 의미 서술자에 대해 제2 가중치 및 제3 의미 서술자에 대해 제3 가중치를 설정할 수 있다. 이때 제1 내지 제3 가중치는 사용자 단말기(2000)로부터 획득한 사용자의 선택 또는 사용자 정보에 기초하여 설정될 수 있다. 이때, 제1 내지 제3 가중치의 합은 1일 수 있다.When generating the first semantic document, the latent semantic analysis unit 500 may reflect the weight for each semantic descriptor. Specifically, the latent semantic analysis unit 500 may set a first weight for the first semantic descriptor, a second weight for the second semantic descriptor, and a third weight for the third semantic descriptor. At this time, the first to third weights may be set based on the user's selection or user information obtained from the user terminal 2000. At this time, the sum of the first to third weights may be 1.
예를 들어, 사용자가 샘플 컨텐츠와 유사한 색감의 컨텐츠를 찾기를 원한다면, 색감을 기반으로 하는 제1 의미 서술자의 제1 가중치가 제2 가중치 및 제3 가중치보다 높게 설정될 수 있다. 또한 예를 들어, 사용자가 음악과 관련된 직업을 가졌다면, 청각적 요소를 기반으로 하는 제3 의미 서술자의 제3 가중치가 제1 가중치 및 제2 가중치보다 높게 설정될 수 있다.For example, if a user wants to find content with a similar color to the sample content, the first weight of the first semantic descriptor based on the color can be set higher than the second weight and the third weight. Also, for example, if the user has a job related to music, the third weight of the third semantic descriptor based on auditory elements may be set higher than the first weight and the second weight.
잠재 의미 분석부(500)는 제1 가중치, 제2 가중치 및 제3 가중치를 이용하여 제1 의미 문서를 생성할 수 있다. 구체적으로, 잠재 의미 분석부(500)는 제1 내지 제3 가중치가 구성요소인 행렬을 이용하여 가중치가 반영된 제1 의미 문서를 생성할 수 있다.The latent semantic analysis unit 500 may generate a first semantic document using the first weight, second weight, and third weight. Specifically, the latent semantic analysis unit 500 may generate a first semantic document in which the weights are reflected using a matrix in which the first to third weights are components.
잠재 의미 분석부(500)는 사용자 단말기(2000)로부터 획득한 샘플 컨텐츠뿐만 아니라, 컨텐츠 추천 시스템(1000)과 연결된 외부 서버로부터 획득된 컨텐츠에 대해서도 의미 문서를 생성할 수 있다.The latent semantic analysis unit 500 may generate a semantic document not only for sample content acquired from the user terminal 2000 but also for content acquired from an external server connected to the content recommendation system 1000.
구체적으로, 컨텐츠 추천 시스템(1000)은 외부 서버로부터 외부 서버의 라이브러리에 저장되어 있는 컨텐츠들을 획득할 수 있다. 비디오 설명자 추출부(200)는 외부 서버로부터 획득한 컨텐츠로부터 스토리와 관련된 의미 서술자를 추출할 수 있다. 자막 설명자 추출부(300)는 외부 서버로부터 획득한 컨텐츠로부터 내용과 관련된 의미 서술자를 추출할 수 있다. 오디오 설명자 추출부(400)는 외부 서버로부터 획득한 컨텐츠로부터 무드와 관련된 제3 의미 서술자를 추출할 수 있다.Specifically, the content recommendation system 1000 may obtain content stored in a library of an external server from an external server. The video descriptor extraction unit 200 may extract semantic descriptors related to the story from content acquired from an external server. The subtitle descriptor extraction unit 300 may extract semantic descriptors related to content from content acquired from an external server. The audio descriptor extractor 400 may extract a third semantic descriptor related to mood from content acquired from an external server.
비디오 설명자 추출부(200), 자막 설명자 추출부(300) 및 오디오 설명자 추출부(400)가 외부 서버로부터 획득한 컨텐츠로부터 추출한 각각의 의미 서술자들에 기초하여, 잠재 의미 분석부(500)는 외부 서버로부터 획득한 컨텐츠에 대응되는 의미 문서를 생성할 수 있다. 잠재 의미 분석부(500)는 외부 서버로부터 획득한 복수의 컨텐츠 각각에 대응되는 복수의 의미 문서를 컨텐츠 추천 시스템(1000)의 저장소에 저장할 수 있다.Based on the respective semantic descriptors extracted by the video descriptor extraction unit 200, subtitle descriptor extraction unit 300, and audio descriptor extraction unit 400 from content acquired from an external server, the latent semantic analysis unit 500 A semantic document corresponding to content obtained from the server can be created. The latent semantic analysis unit 500 may store a plurality of semantic documents corresponding to each of the plurality of contents acquired from an external server in the storage of the content recommendation system 1000.
유사도 판단부(600)는 샘플 컨텐츠에 대응되는 상기 제1 의미 문서와 상기 저장소에 저작된 복수의 컨텐츠들 각각에 대응되는 미리 저장된 복수의 의미 문서들과의 유사도를 산출할 수 있다. 구체적으로, 유사도 판단부(600)는 사용자가 요청한 샘플 컨텐츠와 유사한 컨텐츠를 찾기 위해, 외부 서버로부터 획득한 컨텐츠와 샘플 컨텐츠의 유사도를 산출할 수 있다. 유사도 판단부(600)는 컨텐츠 추천 시스템(1000)의 딥러닝 기반의 프로세서일 수 있다.The similarity determination unit 600 may calculate the similarity between the first semantic document corresponding to the sample content and a plurality of pre-stored semantic documents corresponding to each of the plurality of contents authored in the storage. Specifically, the similarity determination unit 600 may calculate the similarity between content obtained from an external server and the sample content in order to find content similar to the sample content requested by the user. The similarity determination unit 600 may be a deep learning-based processor of the content recommendation system 1000.
유사도 판단부(600)는 제1 의미 문서의 특징 벡터인 제1 특징 벡터를 추출할 수 있다. 또한, 유사도 판단부(600)는 저장소에 저장된 복수의 의미 문서들 각각으로부터 복수의 특징 벡터를 추출할 수 있다. 유사도 판단부(600)는 추출한 특징 벡터를 기반으로 유사도를 산출할 수 있다. 구체적으로, 유사도 판단부(600)는 아래 [수학식 1]을 기반으로 유사도를 산출할 수 있다.The similarity determination unit 600 may extract a first feature vector, which is a feature vector of the first semantic document. Additionally, the similarity determination unit 600 may extract a plurality of feature vectors from each of a plurality of semantic documents stored in the storage. The similarity determination unit 600 may calculate similarity based on the extracted feature vector. Specifically, the similarity determination unit 600 can calculate the similarity based on [Equation 1] below.
(: A 특징 벡터의 i번째 컴포넌트, : B 특징 벡터 중 어느 하나의 특징 벡터의 i번째 컴포넌트, n: 특징 벡터의 차원)( : i-th component of A feature vector, : i-th component of any one of the B feature vectors, n: dimension of the feature vector)
예를 들어, 유사도 판단부(600)는 샘플 컨텐츠와 대응되는 제1 의미 문서에서 추출된 제1 특징 벡터와 미리 저장된 복수의 컨텐츠 중 제1 컨텐츠와 대응되는 제2 의미 문서에서 추출된 제2 특징 벡터를 이용하여 유사도를 산출할 수 있다. 이때, 제1 특징 벡터는 [수학식 1]의 A 벡터, 제2 특징 벡터는 [수학식 1]의 B 벡터가 되어 [수학식 1]을 기반으로 제1 특징 벡터와 제2 특징 벡터의 유사도가 산출될 수 있다. 이와 같이, 유사도 판단부(600)는 [수학식 1]을 이용하여 복수의 컨텐츠로부터 추출된 복수의 특징 벡터와 상기 제1 특징 벡터간의 유사도를 산출할 수 있다.For example, the similarity determination unit 600 may use a first feature vector extracted from a first semantic document corresponding to sample content and a second feature extracted from a second semantic document corresponding to the first content among a plurality of pre-stored contents. Similarity can be calculated using vectors. At this time, the first feature vector is the A vector of [Equation 1], the second feature vector is the B vector of [Equation 1], and the similarity between the first feature vector and the second feature vector is based on [Equation 1]. can be calculated. In this way, the similarity determination unit 600 can calculate the similarity between a plurality of feature vectors extracted from a plurality of contents and the first feature vector using [Equation 1].
유사도 판단부(600)는 산출된 유사도에 기초하여, 적어도 하나 이상의 결과 컨텐츠를 추출할 수 있다. 일 실시예에 따르면, 유사도 판단부(600)는 산출된 복수의 유사도를 내림차순으로 정렬할 수 있다. 유사도 판단부(600)는 정렬된 상기 복수의 유사도 중 상위 N개(N은 자연수)의 유사도를 추출할 수 있다. 즉, 유사도 판단부(600)는 가장 높은 수치의 유사도를 가진 것부터 차례로 N개의 유사도를 추출할 수 있다.The similarity determination unit 600 may extract at least one result content based on the calculated similarity. According to one embodiment, the similarity determination unit 600 may sort the calculated plurality of similarities in descending order. The similarity determination unit 600 may extract the top N similarities (N is a natural number) among the plurality of sorted similarities. That is, the similarity determination unit 600 can extract N similarities in order, starting from the one with the highest similarity value.
다른 일 실시예에 따르면, 유사도 판단부(600)는 복수의 유사도 중 기준값 이상의 값을 갖는 N개의 유사도를 추출할 수 있다. 이때, 기준값의 수치는 유사도를 판단하는 정도의 기준이 되는 수치로서, 사용자의 선택에 의해 또는 시스템의 효율성(속도, 용량 등)에 의해 설정될 수 있다.According to another embodiment, the similarity determination unit 600 may extract N similarities having a value greater than or equal to a reference value among a plurality of similarities. At this time, the reference value is a value that serves as a standard for determining similarity, and can be set by the user's selection or by the efficiency of the system (speed, capacity, etc.).
유사도 판단부(600)는 추출한 N개의 유사도에 대응되는 N개의 컨텐츠를 추출할 수 있다. 구체적으로, 유사도 판단부(600)는 추출한 N개의 유사도가 산출될 때 기인한 N개의 특징 벡터를 추출할 수 있고, N개의 특징 벡터가 추출된 N개의 의미 문서를 추출할 수 있고, N개의 의미 문서 각각에 대응되는 N개의 컨텐츠를 추출할 수 있다.The similarity determination unit 600 may extract N pieces of content corresponding to the N extracted similarities. Specifically, the similarity determination unit 600 can extract N feature vectors resulting from the calculation of N extracted similarities, extract N semantic documents from which the N feature vectors are extracted, and N semantics. N pieces of content corresponding to each document can be extracted.
일 실시예에 따르면, 제어부(100)는 유사도 판단부(600)로부터 추출된 N개의 컨텐츠의 정보를 확인할 수 있다. 구체적으로, 컨텐츠의 정보는 컨텐츠의 제작/배포 일시, 제작/배포사, 제작 크리에이터, 조회수, 좋아요 수 등의 정보를 포함할 수 있다. 제어부(100)는 N개의 컨텐츠에 대한 컨텐츠 정보를 사용자 단말기(1000)로 전송할 수 있다. 사용자는 사용자 단말기(1000)를 통해 획득한 N개의 컨텐츠에 대한 컨텐츠 정보에 기초하여 샘플 컨텐츠와 유사한 컨텐츠 및 이를 제작한 크리에이터를 추천받을 수 있다.According to one embodiment, the control unit 100 may check information on N pieces of content extracted from the similarity determination unit 600. Specifically, content information may include information such as content production/distribution date, production/distribution company, production creator, number of views, and number of likes. The control unit 100 may transmit content information about N pieces of content to the user terminal 1000. The user can be recommended content similar to the sample content and the creator who produced it based on content information about N pieces of content acquired through the user terminal 1000.
다른 일 실시예에 따르면, 유사도 판단부(600)가 추출한 N개의 컨텐츠에 가중치를 반영하여 최종적으로 가장 유사한 컨텐츠인 결과 컨텐츠를 추출할 수 있다. 즉, N개의 컨텐츠를 추출할 때, 비교 대상 컨텐츠가 저장소에 저장된 모든 컨텐츠였다면, 가장 유사한 컨텐츠를 추출할 때에는 비교 대상 컨텐츠가 N개로 줄어들 수 있다.According to another embodiment, the similarity determination unit 600 may apply a weight to the N pieces of content extracted to ultimately extract the resulting content that is the most similar content. That is, when extracting N pieces of content, if the content to be compared is all content stored in the storage, the content to be compared can be reduced to N when extracting the most similar content.
잠재 의미 분석부(500)는 제1 내지 제3 의미 서술자에 대해 각각 제1 내지 제3 가중치를 설정할 수 있다. 잠재 의미 분석부(500)는 제1 내지 제3 가중치를 이용하여 제1 의미 보완 문서를 생성할 수 있다. 제1 의미 보완 문서는 제1 의미 문서와 달리 의미 서술자에 대한 가중치가 반영된 문서일 수 있다.The latent semantic analysis unit 500 may set first to third weights for the first to third semantic descriptors, respectively. The latent semantic analysis unit 500 may generate a first semantic supplementary document using the first to third weights. Unlike the first semantic document, the first semantic supplementary document may be a document that reflects the weight of the semantic descriptor.
잠재 의미 분석부(500)는 추출된 N개의 컨텐츠 각각에 대해 상기 제1 내지 제3 가중치를 이용하여 N개의 의미 보완 문서를 생성할 수 있다. 유사도 판단부(600)는 제1 의미 보완 문서와 N개의 의미 보완 문서간의 유사도를 산출할 수 있다. 유사도 판단부(600)는 산출된 유사도 중 가장 큰 수치를 갖는 유사도를 추출하고, 가장 큰 유사도가 기인한 특징 벡터를 추출하고, 상기 특징 벡터가 추출된 의미 보완 문서를 추출하고, 결과적으로 상기 의미 보완 문서에 대응되는 결과 컨텐츠를 추출할 수 있다.The latent semantic analysis unit 500 may generate N semantic supplementary documents using the first to third weights for each of the N extracted contents. The similarity determination unit 600 may calculate the similarity between the first semantically complementary document and the N semantically complementary documents. The similarity determination unit 600 extracts the similarity with the largest value among the calculated similarities, extracts the feature vector from which the greatest similarity is derived, extracts a semantic supplementary document from which the feature vector is extracted, and as a result, the meaning Resulting content corresponding to the supplementary document can be extracted.
제어부(100)는 결과 컨텐츠의 컨텐츠 정보를 사용자 단말기(1000)로 전송할 수 있다. 사용자는 사용자 단말기(1000)를 통해 획득한 데이터에 기초하여 샘플 컨텐츠와 가장 유사하고 가중치가 반영되어 선정된 결과 컨텐츠 및 이를 제작한 크리에이터를 추천받을 수 있다.The control unit 100 may transmit content information of the resulting content to the user terminal 1000. Based on data acquired through the user terminal 1000, the user can be recommended the resulting content and the creator who produced it, which are most similar to the sample content and are weighted and selected.
도 4는 본원 발명의 일 실시예에 따른 컨텐츠 추천 방법의 순서도이다.Figure 4 is a flowchart of a content recommendation method according to an embodiment of the present invention.
도 4를 참조하면, 본원 발명의 일 실시예에 따른 컨텐츠 추천 방법은 샘플 컨텐츠를 획득하는 단계(S110), 제1 의미 서술자, 제2 의미 서술자 및 제3 의미 서술자를 획득하는 단계(S120), 제1 의미 문서를 생성하는 단계(S130), 유사도를 산출하는 단계(S140) 및 컨텐츠를 추출하는 단계(S150)를 포함할 수 있다. 각 단계의 순서는 상황에 따라 바뀔 수 있고, 각 단계는 상황에 따라 생략 및 중복 수행될 수 있다.Referring to FIG. 4, the content recommendation method according to an embodiment of the present invention includes a step of acquiring sample content (S110), a step of acquiring a first semantic descriptor, a second semantic descriptor, and a third semantic descriptor (S120), It may include generating a first semantic document (S130), calculating similarity (S140), and extracting content (S150). The order of each step may change depending on the situation, and each step may be omitted or performed repeatedly depending on the situation.
샘플 컨텐츠를 획득하는 단계(S110)는 컨텐츠 추천 시스템(1000)이 사용자 단말기(2000)와 통신하여 사용자 단말기(2000)로부터 샘플 컨텐츠와 관련된 데이터를 획득하는 단계일 수 있다. 이때, 컨텐츠 추천 시스템(1000)은 사용자 단말기(2000)로부터 사용자의 취향, 사용자의 정보, 사용자가 중요시하는 구성(가중치 관련) 등에 대한 정보도 획득할 수 있다.The step of acquiring sample content (S110) may be a step in which the content recommendation system 1000 communicates with the user terminal 2000 to obtain data related to the sample content from the user terminal 2000. At this time, the content recommendation system 1000 can also obtain information about the user's taste, user information, and configurations (related to weight) that the user considers important, etc. from the user terminal 2000.
제1 의미 서술자, 제2 의미 서술자 및 제3 의미 서술자를 획득하는 단계(S120)는 컨텐츠 추천 시스템(1000)이 샘플 컨텐츠의 비디오 데이터, 텍스트 데이터 및 오디오 데이터로부터 각각의 의미 서술자를 획득하는 단계일 수 있다. 단계 S120은 샘플 컨텐츠로부터 비디오 데이터, 텍스트 데이터 및 오디오 데이터를 추출하는 단계를 포함할 수 있다.The step of acquiring the first semantic descriptor, the second semantic descriptor, and the third semantic descriptor (S120) is a step in which the content recommendation system 1000 acquires each semantic descriptor from the video data, text data, and audio data of the sample content. You can. Step S120 may include extracting video data, text data, and audio data from sample content.
구체적으로, 비디오 데이터는 제어부(100) 또는 비디오 설명자 추출부(200)에 의해 샘플 컨텐츠로부터 추출될 수 있다. 또한, 텍스트 데이터는 제어부(100) 또는 자막 설명자 추출부(300)에 의해 샘플 컨텐츠로부터 추출될 수 있다. 또한, 오디오 데이터는 제어부(100) 또는 오디오 설명자 추출부(400)에 의해 샘플 컨텐츠로부터 추출될 수 있다. 이에 대한 자세한 설명은 도 2의 내용과 중복되므로 생략한다.Specifically, video data may be extracted from sample content by the control unit 100 or the video descriptor extraction unit 200. Additionally, text data may be extracted from sample content by the control unit 100 or the subtitle descriptor extraction unit 300. Additionally, audio data may be extracted from sample content by the control unit 100 or the audio descriptor extractor 400. A detailed description of this is omitted as it overlaps with the content of FIG. 2.
구체적으로, 컨텐츠 추천 시스템(1000)의 비디오 설명자 추출부(200)는 샘플 컨텐츠의 비디오 데이터로부터 스토리와 관련된 제1 의미 서술자를 추출할 수 있다. 또한, 컨텐츠 추천 시스템(1000)의 자막 설명자 추출부(300)는 샘플 컨텐츠의 텍스트 데이터로부터 내용과 관련된 제2 의미 서술자를 추출할 수 있다. 또한, 컨텐츠 추천 시스템(1000)의 오디오 설명자 추출부(400)는 샘플 컨텐츠의 오디오 데이터로부터 무드와 관련된 제3 의미 서술자를 추출할 수 있다. 이에 대한 자세한 설명은 도 2의 내용과 중복되므로 생략한다.Specifically, the video descriptor extractor 200 of the content recommendation system 1000 may extract a first semantic descriptor related to the story from video data of sample content. Additionally, the subtitle descriptor extraction unit 300 of the content recommendation system 1000 may extract a second semantic descriptor related to content from text data of sample content. Additionally, the audio descriptor extractor 400 of the content recommendation system 1000 may extract a third semantic descriptor related to mood from audio data of sample content. A detailed description of this is omitted as it overlaps with the content of FIG. 2.
제1 의미 문서를 생성하는 단계(S130)는 컨텐츠 추천 시스템(1000)이 획득한 제1 의미 서술자, 제2 의미 서술자 및 제3 의미 서술자에 기초하여 샘플 컨텐츠에 대응되는 제1 의미 문서를 생성하는 단계일 수 있다. 컨텐츠 추천 시스템(1000)의 잠재 의미 분석부(500)는 잠재 의미 분석 기법을 기반으로 제1 내지 제3 의미 서술자를 이용하여 제1 의미 문서를 생성할 수 있다. 구체적으로, 잠재 의미 분석부(500)는 제1 내지 제3 의미 서술자에 대해 특이값 분해 및 절단된 특이값 분해를 수행하여 제1 의미 문서를 생성할 수 있다. 이에 대한 자세한 설명은 도 2의 내용과 중복되므로 생략한다.The step of generating a first semantic document (S130) is to generate a first semantic document corresponding to the sample content based on the first semantic descriptor, second semantic descriptor, and third semantic descriptor acquired by the content recommendation system 1000. It may be a step. The latent semantic analysis unit 500 of the content recommendation system 1000 may generate a first semantic document using first to third semantic descriptors based on a latent semantic analysis technique. Specifically, the latent semantic analysis unit 500 may generate a first semantic document by performing singular value decomposition and truncated singular value decomposition on the first to third semantic descriptors. A detailed description of this is omitted as it overlaps with the content of FIG. 2.
유사도를 산출하는 단계(S140)는 단계 S130에서 생성한 제1 의미 문서를 이용하여 컨텐츠 추천 시스템(1000)이 제1 의미 문서와 다른 의미 문서 사이의 유사도를 코사인 함수를 기반으로 산출하는 단계일 수 있다. 구체적으로, 컨텐츠 추천 시스템(1000)의 잠재 의미 분석부(500)는 제1 의미 문서로부터 제1 특징 벡터를 추출할 수 있다. 또한, 잠재 의미 분석부(500)는 컨텐츠 추천 시스템(1000)의 저장소 내에 저장된 복수의 컨텐츠 각각에 대응되는 복수의 의미 문서로부터 복수의 특징 벡터를 추출할 수 있다. 잠재 의미 분석부(500)는 코사인 함수를 기반으로 제1 의미 문서와 복수의 특징 벡터 사이의 유사도인 복수의 유사도를 산출할 수 있다.The step of calculating the similarity (S140) may be a step in which the content recommendation system 1000 calculates the similarity between the first semantic document and another semantic document based on a cosine function using the first semantic document generated in step S130. there is. Specifically, the latent semantic analysis unit 500 of the content recommendation system 1000 may extract the first feature vector from the first semantic document. Additionally, the latent semantic analysis unit 500 may extract a plurality of feature vectors from a plurality of semantic documents corresponding to each of the plurality of contents stored in the storage of the content recommendation system 1000. The latent semantic analysis unit 500 may calculate a plurality of similarities, which are the similarities between the first semantic document and the plurality of feature vectors, based on the cosine function.
컨텐츠를 추출하는 단계(S150)는 컨텐츠 추천 시스템(1000)이 단계 S140에서 산출한 유사도를 기반으로 상위 N개의 컨텐츠를 추출하거나, 가장 유사도가 큰 컨텐츠를 추출하는 단계일 수 있다. 이후, 컨텐츠 추천 시스템(1000)은 추출된 컨텐츠에 대한 컨텐츠 정보를 사용자 단말기(2000)로 전송할 수 있다. 사용자는 컨텐츠 정보에 기초하여 컨텐츠 및 컨텐츠를 제작한 크리에이터에 대한 정보를 획득할 수 있다.The content extraction step (S150) may be a step in which the content recommendation system 1000 extracts the top N content based on the similarity calculated in step S140 or extracts content with the greatest similarity. Thereafter, the content recommendation system 1000 may transmit content information about the extracted content to the user terminal 2000. Users can obtain information about the content and the creator who produced the content based on the content information.
도 5는 본원 발명의 일 실시예에 따른 컨텐츠 추천 방법에서 컨텐츠 추출 방법의 순서도이다. 구체적으로, 도 5는 일 실시예에 따른 가중치를 반영하여 유사도를 산출하는 방법의 순서도이다.Figure 5 is a flowchart of a content extraction method in a content recommendation method according to an embodiment of the present invention. Specifically, Figure 5 is a flowchart of a method for calculating similarity by reflecting weights according to an embodiment.
도 5를 참조하면, 본원 발명의 일 실시예에 따른 컨텐츠 추출 방법은 유사도를 내림차순으로 정렬하는 단계(S210), 상위 N개의 컨텐츠를 추출하는 단계(S220), 가중치를 설정하는 단계(S230), 의미 보완 문서를 생성하는 단계(S240) 및 유사도를 산출하는 단계(S250)를 포함할 수 있다. 각 단계의 순서는 상황에 따라 바뀔 수 있고, 각 단계는 상황에 따라 생략 및 중복 수행될 수 있다.Referring to FIG. 5, the content extraction method according to an embodiment of the present invention includes the steps of sorting in descending order of similarity (S210), extracting the top N contents (S220), setting weights (S230), It may include a step of generating a semantic supplementary document (S240) and a step of calculating similarity (S250). The order of each step may change depending on the situation, and each step may be omitted or performed repeatedly depending on the situation.
유사도를 내림차순으로 정렬하는 단계(S210)는 유사도 판단부(600)가 산출한 복수의 유사도를 내림차순으로 정렬하는 단계일 수 있다.The step of sorting the similarities in descending order (S210) may be a step of sorting the plurality of similarities calculated by the similarity determination unit 600 in descending order.
상위 N개의 컨텐츠를 추출하는 단계(S220)는 내림차순으로 정렬된 유사도로부터 상위 N개의 컨텐츠를 추출하는 단계일 수 있다.The step of extracting the top N content (S220) may be a step of extracting the top N content from similarities sorted in descending order.
가중치를 설정하는 단계(S230)는 잠재 의미 분석부(500)가 제1 의미 서술자에 대해 제1 가중치, 제2 의미 서술자에 대해 제2 가중치 및 제3 의미 서술자에 대해 제3 가중치를 설정하는 단계일 수 있다. 단계 S230의 순서는 단계 S240 전이라면 상황에 따라 변동될 수 있다.In the weight setting step (S230), the latent semantic analysis unit 500 sets a first weight for the first semantic descriptor, a second weight for the second semantic descriptor, and a third weight for the third semantic descriptor. It can be. The order of step S230 may change depending on the situation if it is before step S240.
의미 보완 문서를 생성하는 단계(S240)는 잠재 의미 분석부(500)가 제1 내지 제3 가중치를 반영하여 샘플 컨텐츠에 대응되는 제1 의미 보완 문서를 생성하는 단계일 수 있다. 또한, 잠재 의미 분석부(500)는 상기 제1 내지 제3 가중치를 이용하여 샘플 컨텐츠뿐만 아니라, 상위 N개의 컨텐츠에 대응되는 N개의 의미 보완 문서를 생성할 수 있다.The step of generating a semantically complementary document (S240) may be a step in which the latent semantic analysis unit 500 generates a first semantically complementary document corresponding to the sample content by reflecting the first to third weights. Additionally, the latent semantic analysis unit 500 may use the first to third weights to generate N semantic supplementary documents corresponding to the top N content as well as sample content.
유사도를 산출하는 단계(S250)는 유사도 판단부(600)가 코사인 함수를 기반으로 제1 의미 보완 문서 및 N개의 의미 보완 문서 사이의 유사도를 산출하는 단계일 수 있다. 제어부(100)는 산출된 유사도에서 가장 큰 수치의 유사도를 가지는 의미 보완 문서를 추출할 수 있다. 제어부(100)는 가장 큰 유사도를 가지는 의미 보완 문서에 대응되는 컨텐츠를 결과 컨텐츠로 하여, 결과 컨텐츠에 대한 컨텐츠 정보를 사용자 단말기(2000)로 전송할 수 있다.The similarity calculation step (S250) may be a step in which the similarity determination unit 600 calculates the similarity between the first semantically complementary document and the N semantically complementary documents based on a cosine function. The control unit 100 may extract a semantically complementary document having the highest similarity value from the calculated similarity. The control unit 100 may use the content corresponding to the semantically supplemented document with the greatest similarity as the result content and transmit content information about the result content to the user terminal 2000.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, various modifications and variations can be made by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the claims described below.
Claims (13)
샘플 컨텐츠의 비디오 데이터로부터 스토리와 관련된 제1 의미 서술자(semantic descriptor)를 획득하는 단계;
상기 샘플 컨텐츠의 텍스트 데이터로부터 내용과 관련된 제2 의미 서술자를 획득하는 단계;
상기 샘플 컨텐츠의 오디오 데이터로부터 무드와 관련된 제3 의미 서술자를 획득하는 단계;
상기 제1 의미 서술자, 상기 제2 의미 서술자 및 상기 제3 의미 서술자에 기초하여, 상기 샘플 컨텐츠에 대응되는 제1 의미 문서를 생성하는 단계;
복수의 컨텐츠들 각각에 대응되는 미리 저장된 복수의 의미 문서들과 상기 제1 의미 문서의 유사도를 산출하는 단계; 및
상기 유사도에 기초하여, 상기 복수의 컨텐츠들 중 적어도 하나 이상의 결과 컨텐츠를 추출하는 단계를 포함하는
컨텐츠 추천 방법.
In a content recommendation method performed by at least one processor,
Obtaining a first semantic descriptor related to a story from video data of sample content;
Obtaining a second semantic descriptor related to content from text data of the sample content;
Obtaining a third semantic descriptor related to mood from audio data of the sample content;
generating a first semantic document corresponding to the sample content based on the first semantic descriptor, the second semantic descriptor, and the third semantic descriptor;
calculating a degree of similarity between a plurality of pre-stored semantic documents corresponding to each of a plurality of contents and the first semantic document; and
Based on the similarity, extracting at least one result content from the plurality of contents.
How to recommend content.
상기 유사도를 산출하는 단계는,
상기 제1 의미 문서의 제1 특징 벡터를 추출하는 단계;
상기 복수의 의미 문서들 각각으로부터 복수의 특징 벡터를 추출하는 단계; 및
코사인 함수를 기반으로 상기 복수의 특징 벡터 각각에 대한 상기 제1 특징 벡터의 유사도인 복수의 유사도를 산출하는 단계를 포함하는
컨텐츠 추천 방법.
According to paragraph 1,
The step of calculating the similarity is,
extracting a first feature vector of the first semantic document;
extracting a plurality of feature vectors from each of the plurality of semantic documents; and
Comprising a step of calculating a plurality of similarities, which is the similarity of the first feature vector to each of the plurality of feature vectors, based on a cosine function.
How to recommend content.
상기 적어도 하나 이상의 결과 컨텐츠를 추출하는 단계는,
상기 복수의 유사도를 내림차순으로 정렬하는 단계;
정렬된 상기 복수의 유사도 중 상위 N개(N은 자연수)의 유사도를 추출하는 단계; 및
상기 복수의 컨텐츠들 중 상기 N개의 유사도에 대응되는 N개의 컨텐츠를 추출하는 단계를 포함하는
컨텐츠 추천 방법.
According to paragraph 2,
The step of extracting at least one result content includes:
Sorting the plurality of similarities in descending order;
Extracting the top N similarities (N is a natural number) among the plurality of sorted similarities; and
Comprising the step of extracting N contents corresponding to the N similarities among the plurality of contents.
How to recommend content.
상기 적어도 하나 이상의 결과 컨텐츠를 추출하는 단계는,
상기 복수의 유사도 중 기준값 이상의 값을 갖는 N개의 유사도를 추출하는 단계; 및
상기 복수의 컨텐츠들 중 상기 N개의 유사도에 대응되는 N개의 컨텐츠를 추출하는 단계를 포함하는
컨텐츠 추천 방법.
According to paragraph 2,
The step of extracting at least one result content includes:
Extracting N similarities having a value greater than or equal to a reference value among the plurality of similarities; and
Comprising the step of extracting N contents corresponding to the N similarities among the plurality of contents.
How to recommend content.
상기 제1 의미 문서를 생성하는 단계는 잠재 의미 분석(LSA: Latent Semantic Analysis) 기법을 기반으로 하는 단계인
컨텐츠 추천 방법.
According to paragraph 1,
The step of generating the first semantic document is a step based on the latent semantic analysis (LSA) technique.
How to recommend content.
상기 제1 의미 문서를 생성하는 단계는,
상기 제1 의미 서술자에 대한 제1 가중치, 상기 제2 의미 서술자에 대한 제2 가중치 및 상기 제3 의미 서술자에 대한 제3 가중치를 설정하는 단계; 및
상기 제1 가중치, 상기 제2 가중치 및 상기 제3 가중치를 이용하여 상기 제1 의미 문서를 생성하는 단계를 포함하는
컨텐츠 추천 방법.
According to clause 5,
The step of generating the first semantic document is,
setting a first weight for the first semantic descriptor, a second weight for the second semantic descriptor, and a third weight for the third semantic descriptor; and
Generating the first semantic document using the first weight, the second weight, and the third weight.
How to recommend content.
상기 제1 의미 서술자를 획득하는 단계는,
상기 비디오 데이터에 포함된 복수의 장면들로부터 각 장면의 오브젝트와 관련된 단어를 추출하여 단어 데이터를 생성하는 단계;
상기 복수의 장면들로부터 각 장면의 색상, 명도 및 채도와 관련된 컬러 데이터를 생성하는 단계; 및
상기 단어 데이터 및 상기 컬러 데이터에 기초하여 상기 제1 의미 서술자를 생성하는 단계를 포함하는
컨텐츠 추천 방법.
According to paragraph 1,
The step of obtaining the first semantic descriptor is,
generating word data by extracting words related to objects in each scene from a plurality of scenes included in the video data;
generating color data related to color, brightness, and saturation of each scene from the plurality of scenes; and
Generating the first semantic descriptor based on the word data and the color data.
How to recommend content.
상기 제2 의미 서술자를 획득하는 단계는 상기 텍스트 데이터로부터 중복된 텍스트, 오류 텍스트 및 외국어 변환에 대한 처리를 수행하는 단계를 포함하는
컨텐츠 추천 방법.
According to paragraph 1,
The step of obtaining the second semantic descriptor includes performing processing for duplicate text, error text, and foreign language conversion from the text data.
How to recommend content.
상기 제3 의미 서술자를 획득하는 단계는,
상기 오디오 데이터를 주파수 대역으로 변환하는 단계;
변환된 오디오 데이터로부터 복수의 파라미터- 상기 복수의 파라미터는 화성, 멜로디, 음색, 피치, 리듬, 비트, 템포, 장르 및 악기 편성 중 적어도 하나를 포함함 -를 추출하는 단계; 및
상기 복수의 파라미터에 기초하여 상기 제3 의미 서술자를 생성하는 단계를 포함하는
컨텐츠 추천 방법.
According to paragraph 1,
The step of acquiring the third semantic descriptor is,
converting the audio data into a frequency band;
extracting a plurality of parameters from the converted audio data, the plurality of parameters including at least one of harmony, melody, timbre, pitch, rhythm, beat, tempo, genre, and instrumentation; and
Generating the third semantic descriptor based on the plurality of parameters.
How to recommend content.
상기 복수의 유사도를 산출하는 단계는 아래의 식을 기반으로 유사도를 산출하는
(: 제1 특징 벡터의 i번째 컴포넌트, : 복수의 특징 벡터 중 어느 하나의 특징 벡터의 i번째 컴포넌트, n: 특징 벡터의 차원)
컨텐츠 추천 방법.
According to paragraph 2,
The step of calculating the plurality of similarities is calculating the similarity based on the formula below.
( : i-th component of the first feature vector, : i-th component of one of the feature vectors, n: dimension of the feature vector)
How to recommend content.
상기 제1 의미 서술자에 대한 제1 가중치, 상기 제2 의미 서술자에 대한 제2 가중치 및 상기 제3 의미 서술자에 대한 제3 가중치를 설정하는 단계;
상기 제1 가중치, 상기 제2 가중치 및 상기 제3 가중치를 이용하여 상기 샘플 컨텐츠에 대응되는 제1 의미 보완 문서를 생성하는 단계;
상기 N개의 컨텐츠들 각각에 대응되는 N개의 의미 문서들과 상기 제1 의미 보완 문서의 유사도를 산출하는 단계; 및
상기 유사도에 기초하여, 상기 N개의 컨텐츠들 중 가장 큰 유사도를 갖는 컨텐츠를 추출하는 단계를 포함하는
컨텐츠 추천 방법.
According to paragraph 3,
setting a first weight for the first semantic descriptor, a second weight for the second semantic descriptor, and a third weight for the third semantic descriptor;
generating a first semantic supplementary document corresponding to the sample content using the first weight, the second weight, and the third weight;
calculating a similarity between N semantic documents corresponding to each of the N contents and the first semantic supplementary document; and
Based on the similarity, extracting content with the greatest similarity among the N contents.
How to recommend content.
A computer program recorded on a computer-readable recording medium to execute the content recommendation method according to any one of claims 1 to 11.
상기 샘플 컨텐츠의 텍스트 데이터로부터 내용과 관련된 제2 의미 서술자를 추출하는 자막 설명자 추출부;
상기 샘플 컨텐츠의 오디오 데이터로부터 무드와 관련된 제3 의미 서술자를 추출하는 오디오 설명자 추출부;
상기 제1 의미 서술자, 상기 제2 의미 서술자 및 상기 제3 의미 서술자에 기초하여, 상기 샘플 컨텐츠에 대응되는 제1 의미 문서를 생성하는 잠재 의미 분석부; 및
복수의 컨텐츠들 각각에 대응되는 미리 저장된 복수의 의미 문서들과 상기 제1 의미 문서의 유사도를 산출하고, 상기 유사도에 기초하여 상기 복수의 컨텐츠들 중 적어도 하나 이상의 결과 컨텐츠를 추출하는 유사도 판단부를 포함하는
컨텐츠 추천 시스템.a video descriptor extraction unit that extracts a first semantic descriptor related to a story from video data of sample content;
a subtitle descriptor extraction unit that extracts a second semantic descriptor related to content from text data of the sample content;
an audio descriptor extraction unit that extracts a third semantic descriptor related to mood from the audio data of the sample content;
a latent semantic analysis unit that generates a first semantic document corresponding to the sample content based on the first semantic descriptor, the second semantic descriptor, and the third semantic descriptor; and
Comprising a similarity determination unit that calculates the similarity between a plurality of pre-stored semantic documents corresponding to each of a plurality of contents and the first semantic document, and extracts at least one result content among the plurality of contents based on the similarity. doing
Content recommendation system.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220144906A KR20240065343A (en) | 2022-11-03 | 2022-11-03 | Method for analyzing and recommending contents |
PCT/KR2023/012090 WO2024096276A1 (en) | 2022-11-03 | 2023-08-16 | Method for analyzing and recommending content |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220144906A KR20240065343A (en) | 2022-11-03 | 2022-11-03 | Method for analyzing and recommending contents |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240065343A true KR20240065343A (en) | 2024-05-14 |
Family
ID=90930714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220144906A KR20240065343A (en) | 2022-11-03 | 2022-11-03 | Method for analyzing and recommending contents |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20240065343A (en) |
WO (1) | WO2024096276A1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1568219A2 (en) * | 2002-11-08 | 2005-08-31 | Koninklijke Philips Electronics N.V. | Recommender and method of providing a recommendation of content therefor |
KR100871873B1 (en) * | 2007-08-30 | 2008-12-03 | 전자부품연구원 | Apparatus and method for managing user preference informations of the custom broadcasting system |
KR20130054535A (en) * | 2011-11-17 | 2013-05-27 | 주식회사 네오위즈인터넷 | Method, server, terminal, and recording medium for recommending contents list |
KR20210113848A (en) * | 2020-03-09 | 2021-09-17 | 주식회사 케이티 | Server, method and computer program for recommending video content based on meta data |
KR20220027631A (en) * | 2020-08-27 | 2022-03-08 | (주)빅팟 | Apparatus and method for recommending preferred contents |
-
2022
- 2022-11-03 KR KR1020220144906A patent/KR20240065343A/en unknown
-
2023
- 2023-08-16 WO PCT/KR2023/012090 patent/WO2024096276A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024096276A1 (en) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yu et al. | Deep cross-modal correlation learning for audio and lyrics in music retrieval | |
KR102018295B1 (en) | Apparatus, method and computer-readable medium for searching and providing sectional video | |
Feng et al. | How many words is a picture worth? automatic caption generation for news images | |
US8521759B2 (en) | Text-based fuzzy search | |
KR100676863B1 (en) | System and method for providing music search service | |
JP5477635B2 (en) | Information processing apparatus and method, and program | |
CN107526809B (en) | Method and device for pushing music based on artificial intelligence | |
KR101942459B1 (en) | Method and system for generating playlist using sound source content and meta information | |
Raposo et al. | Using generic summarization to improve music information retrieval tasks | |
KR20030059503A (en) | User made music service system and method in accordance with degree of preference of user's | |
KR20090020005A (en) | System and method for recommendation of moving video based on visual content | |
KR102281266B1 (en) | System and Method for Extracting Keyword and Ranking in Video Subtitle | |
JP2020129377A (en) | Content retrieval method, apparatus, device, and storage medium | |
D'Addio et al. | A collaborative filtering approach based on user's reviews | |
KR100916310B1 (en) | System and Method for recommendation of music and moving video based on audio signal processing | |
US7949667B2 (en) | Information processing apparatus, method, and program | |
KR20120071194A (en) | Apparatus of recommending contents using user reviews and method thereof | |
KR102330190B1 (en) | Apparatus and method for embedding multi-vector document using semantic decomposition of complex documents | |
KR20240065343A (en) | Method for analyzing and recommending contents | |
KR100559472B1 (en) | System for Target word selection using sense vectors and Korean local context information for English-Korean Machine Translation and thereof | |
Schedl et al. | Fusing web and audio predictors to localize the origin of music pieces for geospatial retrieval | |
Lee et al. | IVIST: interactive video search tool in VBS 2021 | |
Mukherjee et al. | Automatic curation of content tables for educational videos | |
Wang et al. | Text anchor based metric learning for small-footprint keyword spotting | |
KR20230120390A (en) | Apparatus and method for recommending music based on text sentiment analysis |