KR20230060401A - Method for satisfaction-based contents recommendation and electronic device thereof - Google Patents

Method for satisfaction-based contents recommendation and electronic device thereof Download PDF

Info

Publication number
KR20230060401A
KR20230060401A KR1020210157724A KR20210157724A KR20230060401A KR 20230060401 A KR20230060401 A KR 20230060401A KR 1020210157724 A KR1020210157724 A KR 1020210157724A KR 20210157724 A KR20210157724 A KR 20210157724A KR 20230060401 A KR20230060401 A KR 20230060401A
Authority
KR
South Korea
Prior art keywords
lectures
lecture
electronic device
recommended
satisfaction
Prior art date
Application number
KR1020210157724A
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 쓰리랩스주식회사
Publication of KR20230060401A publication Critical patent/KR20230060401A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • G06Q50/2057Career enhancement or continuing education service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/258Heading extraction; Automatic titling; Numbering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • G06Q30/0619Neutral agent

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Tourism & Hospitality (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Accounting & Taxation (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Development Economics (AREA)
  • Primary Health Care (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 실시 예에 따르면, 만족도에 기반하여 정렬된 강의 테이블 중 지정된 범위의 강의 테이블을 결정하고, 상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 m개의 추천 후보 강의를 결정하며, 상기 만족도에 기반하여 정렬된 강의 테이블에 포함된 강의들의 지정된 키워드 및 상기 m개의 추천 후보 강의의 지정된 키워드에 기반하여 추천 컨텐츠를 결정하고, 상기 결정된 추천 컨텐츠를 사용자에게 제공하는 컨텐츠 추천 서비스 제공방법 및 그 전자장치를 개시한다.According to an embodiment of the present invention, a lecture table of a specified range is determined among lecture tables sorted based on satisfaction, and m recommended candidate lectures are determined based on the names of lectures included in the determined lecture table and a designated algorithm. and a content recommendation service for determining recommended content based on designated keywords of lectures included in the lecture table sorted based on the level of satisfaction and designated keywords of the m recommended candidate lectures, and providing the determined recommended contents to the user. A method and its electronic device are disclosed.

Description

만족도 기반 컨텐츠 추천 방법 및 그 전자장치{METHOD FOR SATISFACTION-BASED CONTENTS RECOMMENDATION AND ELECTRONIC DEVICE THEREOF}Satisfaction-based content recommendation method and electronic device thereof

본 발명은 만족도 기반 컨텐츠 추천 방법 및 그 전자장치에 관한 것이다. 상세하게는, 사용자가 소비한 컨텐츠의 만족도에 기반하여 컨텐츠를 추천하는 방법 및 그 전자장치를 개시한다.The present invention relates to a satisfaction-based content recommendation method and an electronic device therefor. In detail, a method for recommending content based on the satisfaction level of content consumed by a user and an electronic device thereof are disclosed.

인터넷 기술이 발달함에 따라 오프라인으로만 제공되었던 강의는 인터넷을 통해서도 사용자에게 보급되기 시작하였다. 인터넷을 통해 제공되는 강의를 온라인 강의라고 하는데, 온라인 강의는 사용자가 원하는 시간과 장소에서 수강할 수 있는 장점 있고, 오프라인 강의에 비해 상대적으로 저렴한 수강료를 요구한다. With the development of Internet technology, lectures that were provided only offline began to be distributed to users through the Internet as well. Lectures provided through the Internet are called online lectures. Online lectures have the advantage of allowing users to take lectures at a desired time and place, and require relatively low tuition compared to offline lectures.

온라인 강의는 남녀노소를 불만하고 다양한 연령층에 의해 많이 이용되고 있으며, 특히 다양한 공부를 위한 온라인 강의의 수요가 계속해서 증대되고 있다. Online lectures are dissatisfied with men and women of all ages and are widely used by various age groups, and in particular, the demand for online lectures for various studies continues to increase.

전술한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.The above background art is possessed or acquired by the inventor in the process of deriving the disclosure of the present application, and cannot necessarily be said to be known art disclosed to the general public prior to the present application.

실시 예의 목적은, 다양한 컨텐츠에 대한 사용자의 만족도를 기반하여 다음 컨텐츠를 효과적으로 추천하는 방법 및 그 전자장치를 제공하는 것이다.An object of the embodiment is to provide a method and an electronic device for effectively recommending next content based on a user's satisfaction with various content.

본 발명의 다양한 실시 예를 통하여 해결하려는 과제들은 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved through various embodiments of the present invention are not limited to the mentioned problems, and other problems not mentioned will be clearly understood by those skilled in the art from the description below.

본 발명의 일 실시 예에 따르면, 컨텐츠 추천 서비스를 제공하는 전자장치의 동작 방법은, 만족도에 기반하여 정렬된 강의 테이블 중 지정된 범위의 강의 테이블을 결정하는 단계; 상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 m개의 추천 후보 강의를 결정하는 단계; 상기 만족도에 기반하여 정렬된 강의 테이블에 포함된 강의들의 지정된 키워드 및 상기 m개의 추천 후보 강의의 지정된 키워드에 기반하여 추천 컨텐츠를 결정하는 단계; 및 상기 결정된 추천 컨텐츠를 사용자에게 제공하는 단계;를 포함한다.According to an embodiment of the present invention, a method of operating an electronic device providing a content recommendation service includes determining a lecture table of a specified range from among lecture tables sorted based on satisfaction levels; determining m recommended candidate lectures based on names of lectures included in the determined lecture table and a designated algorithm; determining recommended contents based on designated keywords of lectures included in a lecture table sorted based on the level of satisfaction and designated keywords of the m recommended candidate lectures; and providing the determined recommended content to the user.

여기서, 상기 지정된 알고리즘은, 버트(bidirectional encoder representations from transformers, BERT) 언어 모델의 연산 단계들 중 지정된 일부에 마스크(mask)를 적용한 버트4REC 언어 모델을 포함할 수 있다.Here, the designated algorithm may include a BERT4REC language model in which a mask is applied to designated parts of operation steps of a BERT (bidirectional encoder representations from transformers, BERT) language model.

여기서, 상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 m개의 추천 후보 강의를 결정하는 단계는, 상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 추천 후보 강의를 결정하는 연산을 n회 수행하여 n개의 추천 후보 강의를 결정하는 단계; 및 상기 n개의 추천 후보 강의 각각의 만족도에 기반하여 상위 m개의 강의를 상기 m개의 추천 후보 강의로 결정하는 단계;를 포함하고, 상기 m 및 상기 n은 자연수일 수 있다.Here, the step of determining m recommended candidate lectures based on the names of lectures included in the determined lecture table and the designated algorithm determines the recommended candidate lectures based on the names of lectures included in the determined lecture table and the designated algorithm. determining n recommended candidate lectures by performing the operation n times; and determining the top m courses as the m recommended candidate courses based on the satisfaction level of each of the n recommended candidate courses, wherein m and n may be natural numbers.

여기서, 상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 추천 후보 강의를 결정하는 연산을 n회 수행하여 n개의 추천 후보 강의를 결정하는 단계는, 상기 n회의 연산 각각을 수행하는 시점에 상기 지정된 범위의 강의 테이블을 결정하는 것일 수 있다.Here, the step of determining the n recommended candidate lectures by performing the operation for determining the recommended candidate lectures n times based on the names of the lectures included in the determined lecture table and the specified algorithm is the time point at which each of the n computations is performed. It may be to determine the table of lectures in the specified range.

여기서, 상기 추천 컨텐츠는, 만족도에 기반하여 정렬된 강의 테이블에 포함된 강의들 및 상기 m개의 추천 후보 강의의 이름 중 적어도 일부를 포함하는 벡터들의 파싱(parsing) 연산 결과에 포함된 강의들의 지정된 키워드, 및 상기 m개의 추천 후보 강의의 지정된 키워드에 기반하여 상기 m개의 추천 후보 강의 중 결정하는 것일 수 있다.Here, the recommended contents are designated keywords of lectures included in a parsing operation result of vectors including at least some of the lectures included in the lecture table sorted based on satisfaction and the names of the m recommended candidate lectures. , and determining among the m recommended candidate lectures based on designated keywords of the m recommended candidate lectures.

여기서, 상기 추천 컨텐츠는, 만족도에 기반하여 정렬된 강의 테이블에 포함된 강의들 및 상기 m개의 추천 후보 강의의 이름 중 적어도 일부를 포함하는 벡터들의 파싱(parsing) 연산 결과에 포함된 강의들의 지정된 키워드, 및 상기 m개의 추천 후보 강의의 지정된 키워드에 기반하여 정렬된 강사 만족도 테이블에 포함된 강사들 중 결정하는 것일 수 있다.Here, the recommended contents are designated keywords of lectures included in a parsing operation result of vectors including at least some of the lectures included in the lecture table sorted based on satisfaction and the names of the m recommended candidate lectures. , And it may be to determine among the instructors included in the instructor satisfaction table sorted based on the specified keywords of the m recommended candidate lectures.

여기서, 상기 지정된 범위의 강의 테이블은, 상기 만족도에 기반하여 정렬된 강의 테이블 중 각각의 강의에 대한 만족도 및 상기 각각의 강의가 최초 제공된 또는 최초 조회된 시각에 기반하여 결정되는 것일 수 있다.Here, the lecture table of the specified range may be determined based on the satisfaction with each lecture among the lecture tables sorted based on the satisfaction level and the time when each lecture was first provided or first inquired.

다양한 실시 예에 따르면, 컨텐츠 추천 서비스를 제공하는 전자장치는, 적어도 하나의 사용자 장치와 통신하는 통신부; 상기 통신부를 통하여 송수신하는 데이터를 저장하는 저장부; 및 만족도에 기반하여 정렬된 강의 테이블 중 지정된 범위의 강의 테이블을 결정하고, 상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 m개의 추천 후보 강의를 결정하며, 상기 만족도에 기반하여 정렬된 강의 테이블에 포함된 강의들의 지정된 키워드 및 상기 m개의 추천 후보 강의의 지정된 키워드에 기반하여 추천 컨텐츠를 결정하고, 상기 결정된 추천 컨텐츠를 사용자에게 제공하도록 구성된 처리부;를 포함한다.According to various embodiments, an electronic device providing a content recommendation service may include a communication unit configured to communicate with at least one user device; a storage unit for storing data transmitted and received through the communication unit; and determining a lecture table of a specified range among the lecture tables sorted based on satisfaction, determining m recommended candidate lectures based on the names of lectures included in the determined lecture table and a designated algorithm, and sorting based on the satisfaction level. and a processing unit configured to determine recommended contents based on designated keywords of lectures included in the lecture table and the designated keywords of the m recommended candidate lectures, and provide the determined recommended contents to a user.

본 발명의 다양한 실시 예에 따르면, 사용자의 만족도를 기반으로 다음 컨텐츠 추천을 분석하므로 사용자에게 최적화된 컨텐츠를 추천할 수 있다. According to various embodiments of the present disclosure, content optimized for the user may be recommended because the next content recommendation is analyzed based on the user's satisfaction level.

본 발명의 일 실시 예에 따르면, 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.According to one embodiment of the present invention, it is not limited to those mentioned above, and other effects not mentioned above will be clearly understood by those skilled in the art from the description below.

도 1은 본 발명의 일 실시 예에 따른 장치의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 전자장치의 데이터 테이블 생성 동작을 도시한다.
도 3은 본 발명의 일 실시 예에 따른 전자장치의 데이터 테이블 생성 동작을 도시한다.
도 4는 본 발명의 일 실시 예에 따른 전자장치의 데이터 처리 구조를 도시한다.
도 5는 본 발명의 일 실시 예에 따른 전자장치에서 트랜스포머의 간단한 구조를 도시한다.
도 6은 본 발명의 일 실시 예에 따른 전자장치에서 컨텐츠 추천 서비스를 제공하는 동작의 흐름도이다.
1 is a diagram showing the configuration of a device according to an embodiment of the present invention.
2 illustrates a data table creation operation of an electronic device according to an embodiment of the present invention.
3 illustrates a data table creation operation of an electronic device according to an embodiment of the present invention.
4 illustrates a data processing structure of an electronic device according to an embodiment of the present invention.
5 shows a simple structure of a transformer in an electronic device according to an embodiment of the present invention.
6 is a flowchart of an operation of providing a content recommendation service in an electronic device according to an embodiment of the present invention.

이하에서, 첨부된 도면을 참조하여 실시 예들을 상세하게 설명한다. 그러나, 실시 예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시 예들에 의해 제한되거나 한정되는 것은 아니다. 실시 예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes can be made to the embodiments, the scope of rights of the patent application is not limited or limited by these embodiments. It should be understood that all changes, equivalents or substitutes to the embodiments are included within the scope of rights.

실시 예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안 된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are used for descriptive purposes only and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시 예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the present application, they should not be interpreted in an ideal or excessively formal meaning. don't

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시 예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter of the embodiment, the detailed description will be omitted.

또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다. Also, terms such as first, second, A, B, (a), and (b) may be used in describing the components of the embodiment. These terms are only used to distinguish the component from other components, and the nature, order, or order of the corresponding component is not limited by the term. When an element is described as being “connected,” “coupled to,” or “connected” to another element, that element may be directly connected or connected to the other element, but there may be another element between the elements. It should be understood that may be "connected", "coupled" or "connected".

어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.Components included in one embodiment and components having common functions will be described using the same names in other embodiments. Unless stated to the contrary, descriptions described in one embodiment may be applied to other embodiments, and detailed descriptions will be omitted to the extent of overlap.

본 발명의 다양한 실시 예에 따르면, 전자장치는 온라인으로 제공되는 컨텐츠의 만족도에 기반하여 사용자에게 다음 컨텐츠를 추천하는 방법 및 그 전자장치를 제공한다.According to various embodiments of the present disclosure, an electronic device provides a method for recommending next content to a user based on satisfaction with content provided online, and the electronic device.

여기서, 컨텐츠는 온라인으로 제공하는 강의 및 그와 관련된 정보를 포함할 수 있다. 예를 들면, 컨텐츠는 온라인으로 제공하는 강의, 또는 강의를 제공하는 강사를 포함하여 구성될 수 있다. 여기서, 강의는 동영상 및/또는 이미지 중 적어도 하나를 포함하여 구성될 수 있다.Here, the contents may include lectures provided online and information related thereto. For example, the content may include lectures provided online or instructors providing lectures. Here, the lecture may include at least one of video and/or image.

이하, 도 1 내지 도 6을 참조하여 본 발명의 바람직한 실시 예들을 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to FIGS. 1 to 6 .

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

도 1은 본 발명의 일 실시 예에 따른 장치의 구성을 나타내는 도면이다.1 is a diagram showing the configuration of a device according to an embodiment of the present invention.

도 1을 참조하면, 전자장치(100)는 처리부(110), 저장부(120), 및 통신부(130)를 포함할 수 있다.Referring to FIG. 1 , an electronic device 100 may include a processing unit 110 , a storage unit 120 , and a communication unit 130 .

처리부(110)는 컨텐츠 추천 서비스를 제공할 수 있다. 일 실시 예에 따르면, 처리부(110)는 통신부(130)를 통하여 사용자 장치 또는 서버와 연결되며 데이터를 송수신할 수 있다. 이때, 전자장치는 컨텐츠 추천 서비스를 위한 프로그램(앱, 어플, 툴, 플러그인 등, 이하 컨텐츠 추천 프로그램)을 사용자 장치에 제공할 수 있고, 사용자 장치에 설치된 상기 컨텐츠 추천 프로그램을 통하여 전자장치로부터 컨텐츠 추천 서비스를 제공받을 수 있다.The processing unit 110 may provide a content recommendation service. According to an embodiment, the processing unit 110 may be connected to a user device or a server through the communication unit 130 and transmit/receive data. At this time, the electronic device may provide a program for content recommendation service (app, application, tool, plug-in, etc., hereinafter referred to as a content recommendation program) to the user device, and recommend content from the electronic device through the content recommendation program installed in the user device. service can be provided.

이하, 다양한 실시 예들에서, 전자장치 또는 사용자 장치를 통하여 컨텐츠 추천 서비스를 제공하는 것은, 전자장치 또는 사용자 장치에서 컨텐츠 추천 프로그램을 통하여 컨텐츠 추천 서비스의 이벤트들이 제공되는 것으로 이해될 수 있다.Hereinafter, in various embodiments, providing a content recommendation service through an electronic device or user device may be understood as providing events of the content recommendation service through a content recommendation program in the electronic device or user device.

여기서, 컨텐츠 추천 서비스는 사용자 장치에 설치된 컨텐츠 추천 프로그램을 통해서 제공되는 것으로 설명하고 있지만, 이에 한정하지 않고, 기설치된 다른 프로그램 또는 임시 설치 프로그램을 통하여 제공될 수도 있다. 일 실시 예에 따르면, 컨텐츠 추천 서비스는 전자장치 외부 장치에서 무료 또는 유로로 제공되는 데이터베이스의 적어도 일부를 포함(또는 연결)하여 제공될 수 있다.Here, the content recommendation service is described as being provided through a content recommendation program installed in the user device, but is not limited thereto, and may be provided through other pre-installed programs or temporarily installed programs. According to an embodiment, the content recommendation service may be provided by including (or connecting to) at least a part of a database provided free of charge or for a fee in an external device of the electronic device.

처리부(110)는 사용자의 선택에 따라 사용자 장치로부터 요청되는 컨텐츠를 사용자 장치에 제공한다. 전자장치(100)는 복수의 사용자 장치와 연결될 수 있고, 각각의 사용자 장치로부터 요청되는 컨텐츠를 요청된 각각의 사용자 장치에 제공하도록 처리할 수 있다.The processing unit 110 provides the content requested from the user device to the user device according to the user's selection. The electronic device 100 may be connected to a plurality of user devices, and may provide content requested from each user device to each requested user device.

처리부(110)는 사용자 장치의 요청에 기반하여 제공된 강의의 만족도 및/또는 강사의 만족도를 결정할 수 있다. 일 실시 예에 따르면, 처리부(110)는 제공된 강의 각각에 대한 만족도를 결정할 수 있고, 강의가 포함된 그룹에 대한 만족도를 결정할 수 있다.The processing unit 110 may determine the satisfaction of the provided lecture and/or the instructor's satisfaction based on the request of the user device. According to an embodiment, the processing unit 110 may determine satisfaction with respect to each provided lecture and may determine satisfaction with respect to a group including the lecture.

본 발명의 다양한 실시 예에 따르면, 만족도는 강의의 조회수, 강사의 조회수, 강의 각각의 평가 점수, 강사의 평가 점수, 강의의 평가 수, 강사의 평가 수, 강의의 조회 시간, 강사가 제공하는 강의들의 누적 조회 시간, 강사가 제공하는 강의들의 평균 사용자 평가 점수, 강사에 대한 댓글, 강의에 대한 댓글 중 적어도 일부에 기반하여 결정될 수 있다. 여기서, 만족도는 점수, 백분율 중 적어도 일부로 결정될 수 있다.According to various embodiments of the present invention, satisfaction is the number of views of lectures, the number of views of lecturers, the evaluation score of each lecture, the evaluation score of instructors, the number of evaluations of lectures, the number of evaluations of lecturers, the number of views of lectures, the lectures provided by the instructor It may be determined based on at least some of the cumulative inquiry time of the lectures, the average user evaluation score of the lectures provided by the instructor, the comments about the lecturer, and the comments about the lecture. Here, satisfaction may be determined by at least a part of a score or a percentage.

예를 들면, 처리부(110)는 제1그룹에 8개의 강의가 포함되고, 동일한 사용자에 대해서 8개 모두의 강의가 조회된 경우 제1그룹의 조회수를 카운트할 수 있다. 더하여, 처리부(110)는 제1그룹의 조회수를 카운트 하는 경우, 제1그룹, 제1그룹에 포함된 적어도 하나의 강의, 및 강사 중 적어도 일부에 대하여 가산점을 부여하고 만족도에 반영할 수 있다.For example, the processing unit 110 may count the number of views of the first group when eight lectures are included in the first group and all eight lectures are viewed by the same user. In addition, when counting the number of inquiries of the first group, the processing unit 110 may give additional points to at least some of the first group, at least one lecture included in the first group, and the instructors, and reflect them to satisfaction.

처리부(110)는 강의 및 강사에 대하여 결정한 만족도를 저장함에 있어서 강의 및/또는 강사를 조회한 사용자의 정보를 포함하여 저장부(120)에 저장할 수 있다.The processing unit 110 may store in the storage unit 120 including information of a user who has inquired about the lecture and/or the instructor in storing the satisfaction level determined for the lecture and the instructor.

여기서, 사용자의 정보는 사용자의 이름, 아이디, 나이, 생년월일, 주소, 선호하는 강의 및/또는 강사, 수학 중인 강의 중 적어도 하나에 대한 정보를 포함할 수 있다.Here, the user's information may include information on at least one of the user's name, ID, age, date of birth, address, preferred lecture and/or instructor, and current lecture.

처리부(110)는 인공신경망 알고리즘 및 누적데이터에 기반하여 사용자가 다음 소비할 컨텐츠를 추천할 수 있다. 여기서, 처리부(110)가 컨텐츠를 제공하는 것에 기반하여 생성된 데이터 및/또는 저장부(120)에 저장된 데이터를 누적데이터로 정의할 수 있다. 일 실시 예에 따르면, 처리부(110)는 누적데이터에 포함된 강의들의 만족도에 기반하여 인공신경망 알고리즘을 학습할 수 있고, 학습된 인공신경망에 기반하여 사용자의 다음 컨텐츠를 결정할 수 있다.The processing unit 110 may recommend content to be consumed next by the user based on the artificial neural network algorithm and accumulated data. Here, data generated based on the content being provided by the processing unit 110 and/or data stored in the storage unit 120 may be defined as accumulated data. According to an embodiment, the processing unit 110 may learn an artificial neural network algorithm based on satisfaction levels of lectures included in the accumulated data, and may determine the user's next content based on the learned artificial neural network.

여기서, 인공신경망 알고리즘은, 딥러닝 알고리즘 및 이와 관련된 다양한 알고리즘으로 표현될 수 있다. Here, the artificial neural network algorithm may be expressed as a deep learning algorithm and various algorithms related thereto.

처리부(110)는 다양한 언어 모델에 기반하여 인공신경망 알고리즘의 동작을 처리할 수 있다. 일 실시 예에 따르면, 처리부(110)는 버트(bidirectional encoder representations from transformers, BERT) 언어 모델에 기반하여 컨텐츠 추천 서비스를 제공할 수 있다.The processing unit 110 may process the operation of the artificial neural network algorithm based on various language models. According to an embodiment, the processor 110 may provide a content recommendation service based on a bidirectional encoder representations from transformers (BERT) language model.

버트 모델은 트랜스포머(transformer, TRM)을 포함하여 구성되며, 예를 들면, 다중 레이어 트랜스포머를 포함하여 구성될 수 있다.The butt model includes a transformer (TRM), and may include, for example, a multi-layer transformer.

트랜스포머는 멀티 헤드 어텐션(multi-head attention) 메커니즘(mechanism) 및 포지션 와이즈 피드 포워드(position-wise feed forward) 메커니즘 중 적어도 하나를 포함하는 인코더(encoder) 또는 디코더(decoder)를 포함하여 구성될 수 있다.The transformer may include an encoder or decoder including at least one of a multi-head attention mechanism and a position-wise feed forward mechanism. .

일 실시 예에 따르면, 멀티 헤드 어텐션(multi-head attention) 메커니즘 및 포지션 와이즈 피드 포워드(position-wise feed forward) 메커니즘 각각은 인코더 또는 디코더의 서브레이어(sublayer)로서 구성될 수 있다.According to an embodiment, each of the multi-head attention mechanism and the position-wise feed forward mechanism may be configured as a sublayer of an encoder or decoder.

처리부(110)는 버트 모델의 연산 단계들 중 일부에 마스크(mask)를 처리하는 버트4REC(BERT4REC) 모델에 기반하여 컨텐츠 추천 서비스를 제공할 수 있다. 일 실시 예에 따르면, 버트4REC 모델은 연산 단계들 중 마지막 연산 단계에 대하여 마스크를 적용할 수 있다.The processing unit 110 may provide a content recommendation service based on a BERT4REC model that processes a mask in some of the calculation steps of the BERT model. According to an embodiment, the Burt4REC model may apply a mask to a last calculation step among calculation steps.

처리부(110)는 누적데이터에 기반하여 인공신경망 알고리즘에 적용하기 위한 다양한 데이터 테이블을 생성할 수 있다. 예를 들면, 처리부(110)는 제공된 강의 데이터를 포함하는 강의 테이블 및 강사 데이터를 포함하는 강사 만족도 테이블을 생성할 수 있다. 처리부(110)는 각각의 강의에 대하여, 강의명(또는 강의식별정보), 강의의 만족도 데이터, 강의를 조회한 사용자 데이터, 강의를 제공한 강사 데이터 중 적어도 일부를 강의 테이블에 포함할 수 있다.The processing unit 110 may generate various data tables to be applied to the artificial neural network algorithm based on the accumulated data. For example, processing unit 110 may generate a lecture table containing provided lecture data and an instructor satisfaction table containing instructor data. For each lecture, the processor 110 may include in the lecture table at least some of lecture name (or lecture identification information), lecture satisfaction data, user data that inquired the lecture, and instructor data that provided the lecture.

또한, 처리부(110)는 각각의 강사에 대하여 강사명(또는 강사식별정보), 강사가 제공하는 강의 데이터, 강의를 조회한 사용자 데이터, 각각의 강의에 대한 만족도 데이터 중 적어도 일부를 강사 만족도 테이블에 포함할 수 있다. 더하여, 처리부(110)는 강사에 지정된 특징, 강사가 제공하는 강의의 카테고리, 강사에 지정된 키워드, 강사에 지정된 키워드, 강의 각각에 지정된 키워드 중 적어도 일부를 강사 만족도 테이블에 포함할 수 있다.In addition, the processing unit 110 includes at least a part of the instructor name (or instructor identification information), lecture data provided by the instructor, user data for viewing the lecture, and satisfaction data for each lecture for each instructor in the instructor satisfaction table. can do. In addition, the processing unit 110 may include at least some of characteristics assigned to instructors, categories of lectures provided by instructors, keywords assigned to instructors, keywords assigned to instructors, and keywords assigned to each lecture in the instructor satisfaction table.

일 실시 예에 따르면, 처리부(110)는 강의 테이블 및 강사 만족도 테이블에 포함되는 데이터 적어도 일부에 대하여 별도의 테이블을 생성할 수 있다. 예를 들면, 처리부(110)는 강의들 및 각각의 강의들에 대한 만족도 데이터를 포함하는 강의 만족도 테이블을 생성할 수 있다.According to an embodiment, the processing unit 110 may create a separate table for at least some of the data included in the lecture table and the instructor satisfaction table. For example, processing unit 110 may generate a lecture satisfaction table including lectures and satisfaction data for each lecture.

처리부(110)는 각각의 강의에 대하여 강의를 시청한 사용자 정보를 강의 만족도 테이블에 더 포함하거나, 또는 강의 테이블과 연결시킬 수 있다.The processing unit 110 may further include information about users who have watched the lectures for each lecture in the lecture satisfaction table, or may link the lecture table with the lecture table.

처리부(110)는 컨텐츠 추천 서비스를 제공하기 위한 인공신경망 알고리즘 또는 관련된 데이터의 연산을 수행함에 있어서 적어도 일부 데이터 및 연산을 벡터에 기반하여 처리할 수 있다.The processing unit 110 may process at least some data and operations based on vectors when performing calculations of artificial neural network algorithms or related data for providing content recommendation services.

예를 들면, 처리부(110)는 누적데이터에 기반하여 생성하는 데이터 및 테이블 적어도 일부에 대하여 벡터를 적용할 수 있고, 이들의 적어도 일부는 벡터 연산으로 처리될 수 있다.For example, the processing unit 110 may apply a vector to at least a part of data and a table generated based on accumulated data, and at least part of them may be processed by vector operation.

본 발명의 다양한 실시 예에 따르면, '조회'의 용어는, 단순히 강의 또는 상사를 선택하여 내용을 확인하는 것에 한정하지 않으며, 시청, 학습, 진행의 의미를 포함할 수 있다.According to various embodiments of the present invention, the term 'inquiry' is not limited to simply checking the content by selecting a lecture or a superior, and may include meanings of watching, learning, and proceeding.

일 실시 예에 따르면, 처리부(110)는 컨텐츠 추천 서비스를 통하여 추천 컨텐츠를 결정하기 위한 테이블을 생성하거나 또는 테이블에 포함된 데이터를 선택함에 있어서, 지정된 기준의 조회수를 만족하는 강의 또는 강사의 데이터를 확인할 수 있다.According to one embodiment, the processing unit 110 creates a table for determining recommended content through a content recommendation service or selects data included in the table, lecture or instructor data that satisfies the number of hits of a specified criterion. You can check.

다양한 실시 예에 따르면, 처리부(110)는 조회수를 점수로 환산하여 지정된 기준의 점수를 만족하는 강의 또는 강사의 데이터를 확인할 수 있다.According to various embodiments, the processing unit 110 converts the number of views into scores to check data of lectures or instructors that satisfy the scores of a designated criterion.

다양한 실시 예에 따르면, 처리부(110)는 지정된 기준의 평가를 받은 강의 또는 강사의 데이터를 확인할 수 있다. 여기서, 지정된 기준의 평가는, 지정된 기준의 수를 만족하는 사용자의 평가 수 및 지정된 기준의 점수를 만족하는 사용자의 평가 점수 중 적어도 일부를 포함할 수 있다.According to various embodiments of the present disclosure, the processing unit 110 may check data of lectures or instructors who have received an evaluation of a specified criterion. Here, the evaluation of the designated criterion may include at least a part of the number of evaluations of users satisfying the number of designated criteria and evaluation scores of users satisfying the scores of the designated criterion.

처리부(110)는 상술한 바와 같이 지정된 기준을 만족하는 데이터에 기반하여 테이블을 생성하거나 또는 인공신경망 알고리즘에 적용할 수 있다. 일 실시 예에 따르면, 0부터 10점 까지의 실수 중 8점을 기준 점수로 결정된 경우, 처리부(110)는 8점 이상(또는 초과)을 만족하는 강의 또는 강사를 컨텐츠 추천 서비스를 처리하기 위한 데이터에 포함할 수 있다.As described above, the processing unit 110 may generate a table based on data satisfying specified criteria or may apply the artificial neural network algorithm. According to one embodiment, when 8 points out of 0 to 10 points are determined as the reference score, the processing unit 110 provides lectures or instructors satisfying 8 points or more (or more than) as data for processing the content recommendation service. can be included in

저장부(120)는 전자장치(110)의 적어도 하나의 구성요소(예: 처리부(110) 또는 통신부(130)에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 컨텐츠 추천 서비스를 위한 프로그램(또는 소프트웨어), 누적데이터, 누적데이터에 기반하여 생성된 다양한 테이블들, 및 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다.The storage unit 120 may store various data used by at least one component (eg, the processing unit 110 or the communication unit 130) of the electronic device 110. The data is, for example, a content recommendation service. It may include a program (or software) for, accumulated data, various tables generated based on the accumulated data, and input data or output data for commands related thereto.

저장부(120)는 컨텐츠 추천 서비스를 제공하기 위한 인공신경망 알고리즘 및 이와 관련된 메커니즘, 연산자, 언어모델 중 적어도 일부를 포함할 수 있다.The storage unit 120 may include at least some of an artificial neural network algorithm for providing a content recommendation service and a mechanism, operator, and language model related thereto.

저장부(120)는 강사 데이터, 강사가 제공하는 강의 데이터, 강사 및/또는 강의에 대한 만족도 데이터, 강사 및/또는 강의를 조회한 사용자 데이터 등 처리부(110)를 통하여 처리되는 데이터 중 적어도 일부를 포함하는 누적데이터를 저장할 수 있다.The storage unit 120 stores at least some of the data processed through the processing unit 110, such as instructor data, lecture data provided by the instructor, satisfaction data for the instructor and/or lecture, and user data that has viewed the instructor and/or lecture. Accumulated data can be stored.

저장부(120)에 저장된 누적데이터는 강의에 대하여 사용자가 강의를 조회한 시각, 동일한 강의를 조회한 횟수, 수학 시간 중 적어도 일부 데이터를 포함할 수 있다.Accumulated data stored in the storage unit 120 may include at least some data of a time when a user inquired about a lecture, a number of times the same lecture was searched, and a math time.

저장부(120)는 누적데이터에 기반하여 생성된 적어도 하나의 데이터 테이블, 인공신경망 알고리즘의 학습 데이터, 테스트 데이터 및 사용자에게 제공하는 추천 강의 데이터, 또는 추천 강사 데이터 및 그 과정 중에 생긴 데이터 중 적어도 일부를 저장할 수 있다.The storage unit 120 includes at least one data table generated based on the accumulated data, learning data of the artificial neural network algorithm, test data, and recommended lecture data provided to the user, or at least some of the recommended instructor data and data generated during the process. can be saved.

저장부(120)에 저장된 데이터는 전자장치(100)의 관리자 입력 또는 사용자 장치의 사용자 입력에 기반하여 처리부(110)를 통하여 변경, 수정, 삭제, 또는 생성될 수 있다.Data stored in the storage unit 120 may be changed, corrected, deleted, or created through the processing unit 110 based on a manager input of the electronic device 100 or a user input of the user device.

저장부(120)는, 휘발성 메모리 또는 비휘발성 메모리를 포함하여 구성될 수 있다.The storage unit 120 may include volatile memory or non-volatile memory.

통신부(130)는 전자장치(100)와 적어도 하나의 다른 전자장치(예: 사용자 장치 또는 서버)의 유선 통신 채널의 수립, 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다.The communication unit 130 may support establishment of a wired communication channel between the electronic device 100 and at least one other electronic device (eg, a user device or a server), establishment of a wireless communication channel, and communication through the established communication channel. there is.

통신부(130)는 처리부(110)에 종속적 또는 독립적으로 운영되고, 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신부(130)는 무선 통신 모듈(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다.The communication unit 130 may include one or more communication processors that are operated independently or subordinately to the processing unit 110 and support wireless communication. According to an embodiment, the communication unit 130 may be a wireless communication module (eg, a cellular communication module, a short-distance wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (eg, a local area network (LAN)) communication module or power line communication module).

통신부(130)는 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크 및/또는 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자장치와 통신할 수 있다.The communication unit 130 communicates with an external electronic device through a short-range communication network such as Bluetooth, WiFi direct, or infrared data association (IrDA) and/or a long-distance communication network such as a cellular network, the Internet, or a computer network (eg, LAN or WAN). can communicate

통신부(130)를 구성하는 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다.Various types of communication modules constituting the communication unit 130 may be integrated as one component (eg, a single chip) or implemented as a plurality of separate components (eg, multiple chips).

다양한 실시 예에 따르면, 전자장치(100)는 상술한 구성요소들에 한정하지 않고, 데이터를 입력하는 입력부(미도시), 및 데이터를 출력하는 출력부(미도시) 중 적어도 하나를 더 포함할 수 있다.According to various embodiments, the electronic device 100 is not limited to the above-described components and may further include at least one of an input unit (not shown) for inputting data and an output unit (not shown) for outputting data. can

본 발명의 다양한 실시 예에 따르면, 전자장치(100) 또는 사용자 장치는 이동통신단말기, 멀티미디어 단말기, 유선 단말기, 고정형 단말기 및 internet protocol(IP) 단말기 등을 비롯한 모든 정보통신기기가 적용될 수 있다. 일례로, 사용자 장치는 휴대폰, 피씨(personal computer, PC), 피엠피(portable multimedia player, PMP), 엠아이디(mobile internet device, MID), 스마트폰(smartphone), 태블릿 PC, 패블릿 PC, 노트북(notebook) 등을 예시할 수 있다.According to various embodiments of the present invention, the electronic device 100 or user device may be applied to all information and communication devices including mobile communication terminals, multimedia terminals, wired terminals, fixed terminals, and internet protocol (IP) terminals. As an example, the user device includes a mobile phone, a personal computer (PC), a portable multimedia player (PMP), a mobile internet device (MID), a smartphone, a tablet PC, a phablet PC, and a laptop computer ( notebook), etc. can be exemplified.

여기서, 서버는 네트워크 상에 존재하는 하나의 엔티티로, 웹 서버(web server), 데이터베이스 서버(database server) 및 애플리케이션 서버(application server)의 역할을 수행한다. 바람직한 일 실시 예에 따르면, 서버는 전자장치(100)의 처리에 기반하여 사용자 장치에 다양한 컨텐츠를 제공하고, 제공된 컨텐츠에 대한 사용자의 조회 이력을 저장하며, 그 조회 이력을 기초로 사용자가 선호하는 컨텐츠를 추천할 수 있다.Here, the server is one entity existing on the network and serves as a web server, database server, and application server. According to a preferred embodiment, the server provides various contents to the user device based on the processing of the electronic device 100, stores the user's search history for the provided contents, and based on the search history, the user prefers Content can be recommended.

도 2는 본 발명의 일 실시 예에 따른 전자장치의 데이터 테이블 생성 동작을 도시한다.2 illustrates a data table creation operation of an electronic device according to an embodiment of the present invention.

전자장치(100)는 저장부(120) 또는 전자장치(100)와 연결된 서버의 데이터에 기반하여 컨텐츠 추천 서비스 제공을 위한 데이터 테이블을 생성할 수 있다. 일 실시 예에 따르면, 전자장치(100)는 누적데이터로부터 사용자들이 조회한 강의에 대한 데이터에 기반하여 전처리용 강의 테이블을 생성할 수 있다.The electronic device 100 may create a data table for providing a content recommendation service based on data of the storage unit 120 or a server connected to the electronic device 100 . According to an embodiment, the electronic device 100 may create a lecture table for pre-processing based on data about lectures that users searched for from accumulated data.

전자장치(100)는 각각의 사용자에 대하여 사용자가 조회한 강의명, 강의를 조회한 사용자의 아이디(또는 사용자 식별정보) 및 사용자의 해시값 중 적어도 둘 이상이 매칭된 데이터를 포함하여 전처리용 강의 테이블을 생성할 수 있다.The electronic device 100 includes a lecture table for preprocessing including data in which at least two or more of the user-inquired lecture name, the ID (or user identification information) of the user who inquired the lecture, and the hash value of the user are matched for each user. can create

더하여, 전자장치(100)는 누적데이터로부터 사용자 정보를 포함하는 전처리용 사용자 테이블을 생성할 수 있다. 전자장치(100)는 각각의 사용자에 대한 사용자 아이디 및 사용자 명을 매칭한 데이터를 전처리용 사용자 테이블로 생성할 수 있다.In addition, the electronic device 100 may create a user table for preprocessing including user information from accumulated data. The electronic device 100 may generate data matching the user ID and user name of each user as a user table for preprocessing.

전자장치(100)는 전처리용 강의 테이블 및 전처리용 사용자 테이블에 기반하여 강의 데이터를 생성할 수 있다. 전자장치(100)는 각각의 사용자에 대하여 사용자명 및 사용자가 조회한 강의명을 매칭한 데이터를 강의 테이블에 포함하여 생성할 수 있다.The electronic device 100 may generate lecture data based on the preprocessing lecture table and the preprocessing user table. The electronic device 100 may create a lecture table by including data obtained by matching the user name and the lecture name searched by the user for each user.

전자장치(100)는 각각의 사용자에 대하여 사용자가 조회한 강의의 최초 제공된(생성된) 시각, 최초 조회된 시각, 해당 강의의 만족도 중 적어도 일부에 대한 정보를 강의 테이블에 포함할 수 있다.The electronic device 100 may include, for each user, information about at least a part of the first provided (generated) time of a lecture inquired by the user, the first inquired time, and satisfaction with the corresponding lecture in the lecture table.

도 3은 본 발명의 일 실시 예에 따른 전자장치의 데이터 테이블 생성 동작을 도시한다.3 illustrates a data table creation operation of an electronic device according to an embodiment of the present invention.

전자장치(100)는 저장부(120) 또는 전자장치(100)와 연결된 서버의 누적데이터에 기반하여 컨텐츠 추천 서비스 제공을 위한 전처리용 강사 만족도 테이블을 생성할 수 있다.The electronic device 100 may generate an instructor satisfaction table for preprocessing to provide a content recommendation service based on the storage unit 120 or accumulated data of a server connected to the electronic device 100 .

전자장치(100)는 전처리용 사용자 테이블에서 크리에이터(creator) 여부를 포함하는 전처리용 크리에이터 테이블을 생성할 수 있다. 전자장치(100)는 전처리용 크리에이터 테이블에서 참(true) 값을 가지는 사용자에 대하여 새로운 열(column)을 추가하여 기록할 수 있다. 전자장치(100)는 전자장치(100)는 크리에이터가 참 값을 가지는 사용자의 사용자명을 강사명으로 결정할 수 있고, 결정된 강사명을 포함하여 강사 각각에 대한 강사 만족도 테이블을 생성할 수 있다.The electronic device 100 may create a creator table for preprocessing including whether or not a creator is a creator in the user table for preprocessing. The electronic device 100 may add and record a new column for a user having a true value in the creator table for preprocessing. The electronic device 100 may determine a creator's user name having a true value as the instructor's name, and may create an instructor satisfaction table for each instructor including the determined instructor's name.

전자장치(100)는 전처리용 강의 테이블 및 전처리용 크리에이터 테이블에 기반하여 강사 만족도 테이블을 생성할 수 있다. 이때, 전자장치(100)는 강사명, 강사가 제공하는 강의 수, 전체 및/또는 강의 각각에 대한 만족도, 강사에 대하여 지정된 키워드 중 적어도 일부를 강사 만족도 테이블에 포함할 수 있다.The electronic device 100 may generate an instructor satisfaction table based on the pre-processing lecture table and the pre-processing creator table. At this time, the electronic device 100 may include in the instructor satisfaction table at least some of the instructor name, the number of lectures provided by the instructor, satisfaction with all and/or each lecture, and keywords designated for the instructor.

전자장치(100)는 전처리용 강의 테이블에 기반하여 각각의 강의에 대한 만족도 데이터를 포함하는 강의 만족도 테이블을 생성할 수 있다. 전자장치(100)는 각각의 강의에 대하여 지정된 키워드를 강의 만족도 테이블에 포함할 수 있다. 전자장치(100)는 강의 만족도 테이블을 생성함에 있어서, 전처리용 크리에이터 테이블에 포함된 사용자의 크리에이터 여부에 기반하여 사용자의 강의를 강의 만족도 테이블에 포함할 수 있다.The electronic device 100 may generate a lecture satisfaction table including satisfaction data for each lecture based on the lecture table for preprocessing. The electronic device 100 may include keywords designated for each lecture in the lecture satisfaction table. When generating the lecture satisfaction table, the electronic device 100 may include the user's lecture in the lecture satisfaction table based on whether the user included in the preprocessing creator table is a creator or not.

전자장치(100)는 강사 만족도 테이블 및 강의 만족도 테이블의 키워드에 기반하여 강사 또는 강사가 제공하는 강의의 카페고리를 결정할 수 있다.The electronic device 100 may determine an instructor or a cafe category of a lecture provided by the instructor based on the instructor satisfaction table and the keywords of the lecture satisfaction table.

도 4는 본 발명의 일 실시 예에 따른 전자장치의 데이터 처리 구조를 도시한다.4 illustrates a data processing structure of an electronic device according to an embodiment of the present invention.

전자장치(100)는 사용자의 니즈(needs)에 부합하는 컨텐츠 추천 서비스를 제공하기 위하여 다양한 언어 모델을 포함하는 인공신경망 알고리즘을 적용할 수 있다.The electronic device 100 may apply an artificial neural network algorithm including various language models in order to provide a content recommendation service that meets the user's needs.

도 4를 참고하면, 전자장치(100)는 복수의 프랜스포머를 포함하여 구성된 버트 언어 모델의 간단한 처리 구조를 도시한다.Referring to FIG. 4 , the electronic device 100 shows a simple processing structure of a vertex language model including a plurality of transformers.

전자장치(100)는 버트 언어 모델을 포함하여 인공신경망 알고리즘을 처리할 수 있으며, 보다 상세하게는 버트 연산의 지정된 위치에 마스킹 처리되는 버트4REC 언어 모델이 적용될 수 있다.The electronic device 100 may process an artificial neural network algorithm including a BERT language model, and more specifically, a BERT4REC language model masked to a designated position of a BERT operation may be applied.

일 실시 예에 따르면, 버트4REC 언어 모델은 트랜스포머의 어텐션 행렬 연산에서 지정된 위치(예: 마지막 연산)를 마스킹(mask, masking)한 상태로 처리될 수 있다.According to an embodiment, the Bert4REC language model may be processed in a state in which a position (eg, the last operation) specified in the transformer's attention matrix operation is masked.

도 4에서 v={v1, …, vt-1, vt}는 전처리용 데이터 테이블의 적어도 일부를 포함하여 적용될 수 있다. 일 실시 예에 따르면, 전자장치(100)는 강의 테이블에서 조회된 시점에 따라 정렬된 강의들에 대한 정보(예: 뷰 히스토리(view history, 또는 watched history)를 확인하고, 적어도 일부를 포함하여 v를 구성할 수 있다. 전자장치(100)는 결정된 v의 구성 요소들 및 인공신경망 알고리즘에 기반하여 vt를 결정하고, vt에 기반하여 추천 강의 또는 추천 강사를 결정할 수 있다.In FIG. 4, v={v1, . . . , vt-1, vt} may be applied including at least a part of the data table for preprocessing. According to an embodiment, the electronic device 100 checks information (eg, view history or watched history) on lectures arranged according to the time point viewed in the lecture table, and includes at least a part of v The electronic device 100 may determine vt based on the determined components of v and an artificial neural network algorithm, and may determine a recommended lecture or a recommended instructor based on vt.

전자장치(100)는 컨텐츠 추천 서비스를 제공하기 위하여 인공신경망 알고리즘의 학습을 수행할 수 있다.The electronic device 100 may perform learning of an artificial neural network algorithm in order to provide a content recommendation service.

도 4를 참고하면, 전자장치(100)는 임베딩 레이어(embedding layer)에서 데이터 테이블들에 포함된 강의들의 강의명을 d차원의 벡터로 치환할 수 있다. 여기서, 전자장치(100)는 원-핫 인코딩(one-hot encoding), 워드2벡터(word2vec) 중 적어도 하나의 알고리즘을 적용할 수 있다.Referring to FIG. 4 , the electronic device 100 may replace lecture names of lectures included in data tables with d-dimensional vectors in an embedding layer. Here, the electronic device 100 may apply at least one algorithm of one-hot encoding and word2vec.

전자장치(100)는 치환 과정에서 입력되는 벡터들{v1, …, vt-1}의위치를 기억하기 위하여 각각의 벡터들에 대한 위치 정보(또는 순서)를 마킹하는 포지셔널 인코딩(positional encoding)을 수행할 수 있다.The electronic device 100 uses vectors {v1, . . . input in the substitution process. , vt-1}, positional encoding for marking position information (or order) of each vector may be performed.

전자장치(100)는 임베딩 레이어 결과 값을 인공신경망 알고리즘의 딥러닝 학습을 위한 데이터로 처리할 수 있다. 전자장치(100)는 임베딩 레이어 결과 값을 입력 값으로 버트 언어 모델에 적용함으로써 인공신경망 학습 및 추천 컨텐츠 결정을 수행할 수 있다.The electronic device 100 may process the result value of the embedding layer as data for deep learning learning of an artificial neural network algorithm. The electronic device 100 may perform artificial neural network learning and recommended content determination by applying the result value of the embedding layer to the verte language model as an input value.

도 4에 도시된 바와 같이 버트 언어 모델은 복수의 트랜스포머들로 구성된 복수의 레이어를 포함하여 구성되며, 각각의 트랜스포머는 도 5에 도시된 바와 같이 적어도 하나의 헤드 어텐션(head attention)을 포함하여 구성될 수 있다.As shown in FIG. 4, the Burt language model includes a plurality of layers composed of a plurality of transformers, and each transformer includes at least one head attention as shown in FIG. 5. It can be.

도 5는 본 발명의 일 실시 예에 따른 전자장치에서 트랜스포머의 간단한 구조를 도시한다.5 shows a simple structure of a transformer in an electronic device according to an embodiment of the present invention.

도 5를 참고하면, 트랜스포머 각각은 멀티-헤드 어텐션(multi-head attention)을 포함하는 인코더를 포함하여 구성될 수 있다. 전자장치(100)는 버트 언어 모델의 멀티-헤드 어텐션 각각 다른 정보를 학습하도록 처리하며, 복수의 트랜스포머로 구성된 레이어들에 기반하는 연산을 반복 수행함으로써 사용자 니즈에 가까운 처리 결과를 결정할 수 있다.Referring to FIG. 5 , each transformer may include an encoder including multi-head attention. The electronic device 100 may process to learn different information for each multi-head attention of the Burt language model, and may determine a processing result close to user needs by repeatedly performing an operation based on layers composed of a plurality of transformers.

전자장치(100)는 인공신경망 알고리즘의 학습 동작에서 네거티브 샘플링(negative sampling) 및/또는 역전파(backpropagation)을 적용함으로써 오차를 최소화할 수 있다.The electronic device 100 may minimize an error by applying negative sampling and/or backpropagation in the learning operation of the artificial neural network algorithm.

전자장치(100)는 학습된 인공신경망 알고리즘에 기반하여 컨텐츠 추천 서비스를 제공할 수 있다.The electronic device 100 may provide a content recommendation service based on the learned artificial neural network algorithm.

도 6은 본 발명의 일 실시 예에 따른 전자장치에서 컨텐츠 추천 서비스를 제공하는 동작의 흐름도이다.6 is a flowchart of an operation of providing a content recommendation service in an electronic device according to an embodiment of the present invention.

전자장치(100)는 버트4REC 언어 모델을 포함하는 인공신경망 알고리즘에 기반하여 컨텐츠 추천 서비스를 제공할 수 있다.The electronic device 100 may provide a content recommendation service based on an artificial neural network algorithm including a Bert4REC language model.

601 단계에서, 전자장치(100)는 만족도에 기반하여 정렬된 지정된 범위 기간의 강의 테이블을 결정한다. 일 실시 예에 따르면, 전자장치(100)는 강의 테이블을 참고하여, 예를 들면, 최근 1년 동안의 강의 테이블을 결정할 수 있다.In step 601, the electronic device 100 determines a table of lectures of a specified range period sorted based on the level of satisfaction. According to an embodiment, the electronic device 100 may determine, for example, a lecture table for the last year by referring to the lecture table.

다양한 실시 예에 따르면, 지정된 범위 기간의 강의 테이블은, 최근 1년으로 한정하지 않고, 최근 6개월, 최근 2년, 또는 작년, 2021년부터 현재 시점까지 등 다양한 값에 기반하여 결정될 수 있다.According to various embodiments, the lecture table for the specified range period may be determined based on various values, such as the last 6 months, the recent 2 years, or the last year or 2021 to the present time, rather than being limited to the last year.

일 실시 예에 따르면, 전자장치(100)는 지정된 범우 기간의 강의 테이블에 포함된 강의들을 1, …, t-1번의 강의들로 결정할 수 있다.According to an embodiment, the electronic device 100 selects lectures included in a lecture table of a designated range period 1, . . . , can be determined by t-1 lectures.

603 단계에서, 전자장치(100)는 지정된 범위 기간의 강의 테이블에 포함된 강의들(또는 1, …, t-1번의 강의들)의 이름(또는 강의명) 및 지정된 알고리즘에 기반하여 m개의 추천 후보 강의를 결정한다.In step 603, the electronic device 100 recommends m candidates based on the names (or lecture names) of lectures (or lectures 1, ..., t-1 times) included in the lecture table of the specified range period and the specified algorithm. decide on a lecture

전자장치(100)는 상술한 바와 같이 버트4REC를 포함하는 인공신경망 알고리즘에 기반하여 컨텐츠 추천 서비스를 제공할 수 있다. 전자장치(100)는 1, …, t-1번의 강의들의 강의명을 입력 값으로 하여 t번의 추천 후보 강의를 결정할 수 있다. 이때, 전자장치(100)는 1, …, t-1번의 강의를 입력함에 있어서, 포지셔널 인코딩을 수행할 수 있다.As described above, the electronic device 100 may provide a content recommendation service based on an artificial neural network algorithm including BERT4REC. The electronic device 100 is 1, . . . , it is possible to determine t recommendation candidate lectures by using the lecture names of t-1 lectures as an input value. At this time, the electronic device 100 1, . . . , in inputting t-1 lectures, positional encoding can be performed.

전자장치(100)는 t번의 추천 후보 강의를 결정하는 동작을 반복 수행함으로써 m개의 추천 후보 강의를 결정할 수 있다. 이때, 전자장치(100)는 기 수행한 동작과 동일한 방법으로 추천 후보 강의를 결정하거나, 네거티브 샘플링(negative sampling) 및/또는 역전파(backpropagation)을 적용하여 추천 후보 강의를 결정할 수 있다.The electronic device 100 may determine m recommended candidate lectures by repeatedly performing the operation of determining the recommended candidate lectures t times. At this time, the electronic device 100 may determine the recommended candidate lecture in the same way as the previously performed operation, or may determine the recommended candidate lecture by applying negative sampling and/or backpropagation.

전자장치(100)는 추천 후보 강의를 결정하는 동작을 m번 수행하여 m개의 추천 후보 강의를 결정할 수 있고, 또는 n번 수행하여 결정된 n개의 추천 후보 강의들 중 지정된 m개를 m개의 추천 후보 강의들로 결정할 수 있다.The electronic device 100 may perform the operation of determining recommended candidate lectures m times to determine m recommended candidate lectures, or perform the operation n times to determine m recommended candidate lectures among the determined n recommended candidate lectures. can be determined by

여기서, n 및 m은 1 이상의 정수이며, n은 m과 같거나 클 수 있다.Here, n and m are integers greater than or equal to 1, and n may be greater than or equal to m.

605 단계에서, 전자장치(100)는 강의 테이블에 포함된 강의들의 지정된 키워드 및 결정된 m개의 추천 후보 강의들의 지정된 키워드에 기반하여 추천 강의 또는 강사를 결정할 수 있다.In step 605, the electronic device 100 may determine recommended lectures or instructors based on designated keywords of lectures included in the lecture table and designated keywords of determined m recommended candidate lectures.

추천 강의를 추천 컨텐츠로 결정함에 있어서, 전자장치(100)는 m개의 추천 후보 강의들의 지정된 키워드 중 가장 많은 수를 가지는 지정된 수의 키워드를 결정할 수 있다. 전자장치(100)는 지정된 수의 키워드와 매칭되는 강의 테이블에 포함된 강의들의 지정된 키워드를 결정할 수 있고, 결정된 키워드의 강의를 추천 컨텐츠로 결정할 수 있다. 이때, 전자장치(100)는 추천 컨텐츠로 복수 개의 강의를 결정할 수 있다.In determining the recommended lecture as the recommended content, the electronic device 100 may determine the specified number of keywords having the largest number among the specified keywords of the m recommended candidate lectures. The electronic device 100 may determine designated keywords of lectures included in the lecture table that match the designated number of keywords, and may determine lectures of the determined keywords as recommended content. At this time, the electronic device 100 may determine a plurality of lectures as recommended content.

추천 강사를 추천 컨텐츠로 결정함에 있어서, 전자장치(100)는 m개의 추천 후보 강의들의 지정된 키워드 중 가장 많은 수를 가지는 지정된 수의 키워드를 결정할 수 있다. 전자장치(100)는 지정된 수의 키워드와 매칭되는 강사 만족도 테이블에 포함된 강사들의 지정된 키워드를 결정할 수 있고, 결정된 키워드의 강사를 추천 컨텐츠로 결정할 수 있다. 이때, 전자장치(100)는 추천 컨텐츠로 복수 개의 강사를 결정할 수 있다.In determining the recommended instructor as the recommended content, the electronic device 100 may determine the specified number of keywords having the largest number among the specified keywords of the m recommended candidate lectures. The electronic device 100 may determine designated keywords of instructors included in the instructor satisfaction table that match the designated number of keywords, and may determine instructors of the determined keywords as recommended content. At this time, the electronic device 100 may determine a plurality of instructors as recommended content.

605 단계에서 처리되는 강의 테이블은 파싱 처리된 강의 테이블일 수 있다. 예를 들면, 강의 테이블에 포함된 벡터들의 m x d 행렬 연산을 수행한 후 파싱 처리된 강의 테이블일 수 있다.The lecture table processed in step 605 may be a parsed lecture table. For example, it may be a lecture table parsed after performing an m x d matrix operation of vectors included in the lecture table.

607 단계에서, 전자장치(100)는 결정된 강의 또는 강사에 대한 정보를 제공한다.In step 607, the electronic device 100 provides information on the determined lecture or instructor.

전자장치(100)는 결정된 복수 개의 컨텐츠를 필터링하여 제공할 수 있다. 예를 들면, 추천 컨텐츠가 강의인 경우 전자장치(100)는 결정된 복수 개의 강의들을 최초 제공된 시각, 최초 조회된 시각, 만족도 중 적어도 하나의 칼럼에 기반하여 정렬하고, 지정된 일부를 추천 컨텐츠로 제공할 수 있다.The electronic device 100 may filter and provide the determined plurality of contents. For example, when the recommended content is a lecture, the electronic device 100 sorts the determined plurality of lectures based on at least one column of the first provided time, the first viewed time, and satisfaction, and provides a designated part as the recommended content. can

다양한 실시 예에 따르면, 추천 컨텐츠가 강사인 경우 전자장치(100)는 결정된 복수 개의 강의들을 강사명, 강사의 카테고리, 강사가 제공하는 강의 수, 강의들의 총 조회수, 강의들 각각의 조회수, 강사가 제공하는 강의 각각에 대한 조회 시간, 강사가 제공하는 강의들의 누적 조회 시간, 강사가 제공하는 강의들 각각의 평가 점수, 강사가 제공하는 강의들의 평균 사용자 평가 점수 중 적어도 하나의 칼럼에 기반하여 정렬하고, 지정된 일부를 추천 컨텐츠로 제공할 수 있다.According to various embodiments of the present disclosure, when the recommended content is a lecturer, the electronic device 100 selects the determined plurality of lectures as the instructor's name, the instructor's category, the number of lectures provided by the instructor, the total number of views of the lectures, the number of views of each lecture, and the number of lectures provided by the instructor. Sorting based on at least one column of the inquiry time for each lecture, the cumulative inquiry time of lectures provided by the instructor, the evaluation score of each lecture provided by the instructor, and the average user evaluation score of lectures provided by the instructor, A designated portion may be provided as recommended content.

전자장치(100)는 정렬된 복수 개의 강의 또는 강사에 지정된 사용자 니즈, 예를 들면, 키워드, 강의 또는 강사의 지정된 만족도 등을 적용하여 필터링한 결과를 추천 컨텐츠로 제공할 수 있다.The electronic device 100 may provide recommended content as a result of filtering by applying user needs specified in a plurality of aligned lectures or instructors, for example, a keyword, a specified level of satisfaction with lectures or instructors, and the like.

다양한 실시 예에 따르면, 전자장치(100)의 인공신경망 알고리즘 학습 절차(또는 과정은) 컨텐츠 추천 과정과 동일 또는 유사하게 진행될 수 있다. 마찬가지로, 전자장치(100)가 인공신경망 알고리즘에 기반하여 컨텐츠 추천을 수행하는 과정은 동시에 인공신경망 알고리즘을 학습하는 과정일 수 있다.According to various embodiments, a procedure (or procedure) for learning an artificial neural network algorithm of the electronic device 100 may be performed identically or similarly to a content recommendation procedure. Similarly, the process of the electronic device 100 recommending content based on the artificial neural network algorithm may be a process of learning the artificial neural network algorithm at the same time.

상술한 바에 따르면, 전자장치(100)는 컨텐츠 추천 서비스를 통하여 추천 컨텐츠를 결정하는 동작을 수행함에 따라서 인공신경망 알고리즘의 학습 또한 진행되며, 사용자 니즈에 부합하는 추천 컨텐츠를 제공할 수 있다.As described above, as the electronic device 100 performs an operation of determining recommended content through a content recommendation service, learning of an artificial neural network algorithm is also progressed, and recommended content that meets user needs can be provided.

본 발명의 일 실시 예에 따르면, 컨텐츠 추천 서비스를 제공하는 전자장치의 동작 방법은, 만족도에 기반하여 정렬된 강의 테이블 중 지정된 범위의 강의 테이블을 결정하는 단계; 상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 m개의 추천 후보 강의를 결정하는 단계; 상기 만족도에 기반하여 정렬된 강의 테이블에 포함된 강의들의 지정된 키워드 및 상기 m개의 추천 후보 강의의 지정된 키워드에 기반하여 추천 컨텐츠를 결정하는 단계; 및 상기 결정된 추천 컨텐츠를 사용자에게 제공하는 단계;를 포함한다.According to an embodiment of the present invention, a method of operating an electronic device providing a content recommendation service includes determining a lecture table of a specified range from among lecture tables sorted based on satisfaction levels; determining m recommended candidate lectures based on names of lectures included in the determined lecture table and a specified algorithm; determining recommended contents based on designated keywords of lectures included in a lecture table sorted based on the level of satisfaction and designated keywords of the m recommended candidate lectures; and providing the determined recommended content to the user.

여기서, 상기 지정된 알고리즘은, 버트(bidirectional encoder representations from transformers, BERT) 언어 모델의 연산 단계들 중 지정된 일부에 마스크(mask)를 적용한 버트4REC 언어 모델을 포함할 수 있다.Here, the designated algorithm may include a BERT4REC language model in which a mask is applied to designated parts of operation steps of a BERT (bidirectional encoder representations from transformers, BERT) language model.

여기서, 상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 m개의 추천 후보 강의를 결정하는 단계는, 상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 추천 후보 강의를 결정하는 연산을 n회 수행하여 n개의 추천 후보 강의를 결정하는 단계; 및 상기 n개의 추천 후보 강의 각각의 만족도에 기반하여 상위 m개의 강의를 상기 m개의 추천 후보 강의로 결정하는 단계;를 포함하고, 상기 m 및 상기 n은 자연수일 수 있다.Here, the step of determining m recommended candidate lectures based on the names of lectures included in the determined lecture table and the designated algorithm determines the recommended candidate lectures based on the names of lectures included in the determined lecture table and the designated algorithm. determining n recommended candidate lectures by performing the operation n times; and determining the top m courses as the m recommended candidate courses based on the satisfaction level of each of the n recommended candidate courses, wherein m and n may be natural numbers.

여기서, 상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 추천 후보 강의를 결정하는 연산을 n회 수행하여 n개의 추천 후보 강의를 결정하는 단계는, 상기 n회의 연산 각각을 수행하는 시점에 상기 지정된 범위의 강의 테이블을 결정하는 것일 수 있다.Here, the step of determining the n recommended candidate lectures by performing the operation for determining the recommended candidate lectures n times based on the names of the lectures included in the determined lecture table and the specified algorithm is the time point at which each of the n computations is performed. It may be to determine the table of lectures in the specified range.

여기서, 상기 추천 컨텐츠는, 만족도에 기반하여 정렬된 강의 테이블에 포함된 강의들 및 상기 m개의 추천 후보 강의의 이름 중 적어도 일부를 포함하는 벡터들의 파싱(parsing) 연산 결과에 포함된 강의들의 지정된 키워드, 및 상기 m개의 추천 후보 강의의 지정된 키워드에 기반하여 상기 m개의 추천 후보 강의 중 결정하는 것일 수 있다.Here, the recommended contents are designated keywords of lectures included in a parsing operation result of vectors including at least some of the lectures included in the lecture table sorted based on satisfaction and the names of the m recommended candidate lectures. , and determining among the m recommended candidate lectures based on designated keywords of the m recommended candidate lectures.

여기서, 상기 추천 컨텐츠는, 만족도에 기반하여 정렬된 강의 테이블에 포함된 강의들 및 상기 m개의 추천 후보 강의의 이름 중 적어도 일부를 포함하는 벡터들의 파싱(parsing) 연산 결과에 포함된 강의들의 지정된 키워드, 및 상기 m개의 추천 후보 강의의 지정된 키워드에 기반하여 정렬된 강사 만족도 테이블에 포함된 강사들 중 결정하는 것일 수 있다.Here, the recommended contents are designated keywords of lectures included in a parsing operation result of vectors including at least some of the lectures included in the lecture table sorted based on satisfaction and the names of the m recommended candidate lectures. , And it may be to determine among the instructors included in the instructor satisfaction table sorted based on the specified keywords of the m recommended candidate lectures.

여기서, 상기 지정된 범위의 강의 테이블은, 상기 만족도에 기반하여 정렬된 강의 테이블 중 각각의 강의에 대한 만족도 및 상기 각각의 강의가 최초 제공된 또는 최초 조회된 시각에 기반하여 결정되는 것일 수 있다.Here, the lecture table of the specified range may be determined based on the satisfaction with each lecture among the lecture tables sorted based on the satisfaction level and the time when each lecture was first provided or first inquired.

다양한 실시 예에 따르면, 컨텐츠 추천 서비스를 제공하는 전자장치는, 적어도 하나의 사용자 장치와 통신하는 통신부; 상기 통신부를 통하여 송수신하는 데이터를 저장하는 저장부; 및 만족도에 기반하여 정렬된 강의 테이블 중 지정된 범위의 강의 테이블을 결정하고, 상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 m개의 추천 후보 강의를 결정하며, 상기 만족도에 기반하여 정렬된 강의 테이블에 포함된 강의들의 지정된 키워드 및 상기 m개의 추천 후보 강의의 지정된 키워드에 기반하여 추천 컨텐츠를 결정하고, 상기 결정된 추천 컨텐츠를 사용자에게 제공하도록 구성된 처리부;를 포함한다.According to various embodiments, an electronic device providing a content recommendation service may include a communication unit configured to communicate with at least one user device; a storage unit for storing data transmitted and received through the communication unit; and determining a lecture table of a specified range among the lecture tables sorted based on satisfaction, determining m recommended candidate lectures based on the names of lectures included in the determined lecture table and a designated algorithm, and sorting based on the satisfaction level. and a processing unit configured to determine recommended contents based on designated keywords of lectures included in the lecture table and the designated keywords of the m recommended candidate lectures, and provide the determined recommended contents to a user.

상술한 바에 따르면, 다양한 실시 예에 따른 컨텐츠 추천 서비스를 제공함으로써, 만족도를 기반으로 사용자에게 최적화된 강의 및 강사를 추천할 수 있다.As described above, by providing content recommendation services according to various embodiments, it is possible to recommend lectures and instructors optimized for a user based on satisfaction.

이상과 같이 실시 예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시 예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다 해야 할 것이다.As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved. Therefore, it should be said that other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.

100: 전자장치 110: 처리부
120: 저장부 130: 통신부
100: electronic device 110: processing unit
120: storage unit 130: communication unit

Claims (8)

컨텐츠 추천 서비스를 제공하는 전자장치의 동작 방법에 있어서,
만족도에 기반하여 정렬된 강의 테이블 중 지정된 범위의 강의 테이블을 결정하는 단계;
상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 m개의 추천 후보 강의를 결정하는 단계;
상기 만족도에 기반하여 정렬된 강의 테이블에 포함된 강의들의 지정된 키워드 및 상기 m개의 추천 후보 강의의 지정된 키워드에 기반하여 추천 컨텐츠를 결정하는 단계; 및
상기 결정된 추천 컨텐츠를 사용자에게 제공하는 단계;를 포함하는, 컨텐츠 추천 서비스를 제공하는 전자장치의 동작 방법.
In the operating method of an electronic device providing a content recommendation service,
Determining a lecture table of a specified range among lecture tables sorted based on satisfaction;
determining m recommended candidate lectures based on names of lectures included in the determined lecture table and a designated algorithm;
determining recommended contents based on designated keywords of lectures included in a lecture table sorted based on the level of satisfaction and designated keywords of the m recommended candidate lectures; and
A method of operating an electronic device that provides a content recommendation service, including providing the determined recommended content to a user.
제1항에 있어서,
상기 지정된 알고리즘은, 버트(bidirectional encoder representations from transformers, BERT) 언어 모델의 연산 단계들 중 지정된 일부에 마스크(mask)를 적용한 버트4REC 언어 모델을 포함하는 것을 특징으로 하는, 컨텐츠 추천 서비스를 제공하는 전자장치의 동작 방법.
According to claim 1,
The specified algorithm includes a BERT4REC language model in which a mask is applied to a specified part of the operation steps of a BERT (bidirectional encoder representations from transformers, BERT) language model. Electronic providing content recommendation service How the device works.
제1항에 있어서,
상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 m개의 추천 후보 강의를 결정하는 단계는,
상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 추천 후보 강의를 결정하는 연산을 n회 수행하여 n개의 추천 후보 강의를 결정하는 단계; 및
상기 n개의 추천 후보 강의 각각의 만족도에 기반하여 상위 m개의 강의를 상기 m개의 추천 후보 강의로 결정하는 단계;를 포함하고,
여기서, 상기 m 및 상기 n은 자연수인 것을 특징으로 하는, 컨텐츠 추천 서비스를 제공하는 전자장치의 동작 방법.
According to claim 1,
Determining m recommended candidate lectures based on the names of lectures included in the determined lecture table and a specified algorithm,
determining n recommended candidate lectures by performing an operation for determining recommended candidate lectures n times based on the names of lectures included in the determined lecture table and a designated algorithm; and
Determining the top m lectures as the m recommended candidate lectures based on the satisfaction level of each of the n recommended candidate lectures;
Here, the operating method of an electronic device providing a content recommendation service, characterized in that m and n are natural numbers.
제3항에 있어서,
상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 추천 후보 강의를 결정하는 연산을 n회 수행하여 n개의 추천 후보 강의를 결정하는 단계는,
상기 n회의 연산 각각을 수행하는 시점에 상기 지정된 범위의 강의 테이블을 결정하는 것을 특징으로 하는, 컨텐츠 추천 서비스를 제공하는 전자장치의 동작 방법.
According to claim 3,
Determining n recommended candidate lectures by performing an operation for determining recommended candidate lectures n times based on the names of lectures included in the determined lecture table and a designated algorithm,
A method of operating an electronic device providing a content recommendation service, characterized in that determining a lecture table in the specified range at the time of performing each of the n operations.
제1항에 있어서,
상기 추천 컨텐츠는, 만족도에 기반하여 정렬된 강의 테이블에 포함된 강의들 및 상기 m개의 추천 후보 강의의 이름 중 적어도 일부를 포함하는 벡터들의 파싱(parsing) 연산 결과에 포함된 강의들의 지정된 키워드, 및 상기 m개의 추천 후보 강의의 지정된 키워드에 기반하여 상기 m개의 추천 후보 강의 중 결정하는 것을 특징으로 하는, 컨텐츠 추천 서비스를 제공하는 전자장치의 동작 방법.
According to claim 1,
The recommended contents may include lectures included in a lecture table sorted based on satisfaction and designated keywords of lectures included in a parsing operation result of vectors including at least some of the names of the m recommended candidate lectures, and An operating method of an electronic device providing a content recommendation service, characterized in that determining among the m recommended candidate lectures based on designated keywords of the m recommended candidate lectures.
제1항에 있어서,
상기 추천 컨텐츠는, 만족도에 기반하여 정렬된 강의 테이블에 포함된 강의들 및 상기 m개의 추천 후보 강의의 이름 중 적어도 일부를 포함하는 벡터들의 파싱(parsing) 연산 결과에 포함된 강의들의 지정된 키워드, 및 상기 m개의 추천 후보 강의의 지정된 키워드에 기반하여 정렬된 강사 만족도 테이블에 포함된 강사들 중 결정하는 것을 특징으로 하는, 컨텐츠 추천 서비스를 제공하는 전자장치의 동작 방법.
According to claim 1,
The recommended contents may include lectures included in a lecture table sorted based on satisfaction and designated keywords of lectures included in a parsing operation result of vectors including at least some of the names of the m recommended candidate lectures, and An operating method of an electronic device providing a content recommendation service, characterized in that determining among instructors included in an instructor satisfaction table sorted based on designated keywords of the m recommended candidate lectures.
제1항에 있어서,
상기 지정된 범위의 강의 테이블은, 상기 만족도에 기반하여 정렬된 강의 테이블 중 각각의 강의에 대한 만족도 및 상기 각각의 강의가 최초 제공된 또는 최초 조회된 시각에 기반하여 결정되는 것을 특징으로 하는, 컨텐츠 추천 서비스를 제공하는 전자장치의 동작 방법.
According to claim 1,
Characterized in that the lecture table of the specified range is determined based on the satisfaction with each lecture among the lecture tables sorted based on the satisfaction and the time when each lecture was first provided or first inquired, content recommendation service A method of operating an electronic device that provides
컨텐츠 추천 서비스를 제공하는 전자장치에 있어서,
적어도 하나의 사용자 장치와 통신하는 통신부;
상기 통신부를 통하여 송수신하는 데이터를 저장하는 저장부; 및
조회수에 기반하여 정렬된 강의 테이블 중 지정된 범위의 강의 테이블을 결정하고, 상기 결정된 강의 테이블에 포함된 강의들의 이름 및 지정된 알고리즘에 기반하여 m개의 추천 후보 강의를 결정하며, 상기 조회수에 기반하여 정렬된 강의 테이블에 포함된 강의들의 지정된 키워드 및 상기 m개의 추천 후보 강의의 지정된 키워드에 기반하여 추천 컨텐츠를 결정하고, 상기 결정된 추천 컨텐츠를 사용자에게 제공하도록 구성된 처리부;를 포함하는, 컨텐츠 추천 서비스를 제공하는 전자장치.
In an electronic device providing a content recommendation service,
a communication unit that communicates with at least one user device;
a storage unit for storing data transmitted and received through the communication unit; and
Determines a lecture table in a specified range among lecture tables sorted based on the number of hits, determines m recommended candidate lectures based on the names of lectures included in the determined lecture table and a specified algorithm, and sorts based on the number of hits A processing unit configured to determine recommended content based on designated keywords of lectures included in the lecture table and designated keywords of the m recommended candidate lectures, and provide the determined recommended contents to a user; providing a content recommendation service including electronics.
KR1020210157724A 2021-10-27 2021-11-16 Method for satisfaction-based contents recommendation and electronic device thereof KR20230060401A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210144844 2021-10-27
KR20210144844 2021-10-27

Publications (1)

Publication Number Publication Date
KR20230060401A true KR20230060401A (en) 2023-05-04

Family

ID=86379983

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210157724A KR20230060401A (en) 2021-10-27 2021-11-16 Method for satisfaction-based contents recommendation and electronic device thereof

Country Status (1)

Country Link
KR (1) KR20230060401A (en)

Similar Documents

Publication Publication Date Title
US11288444B2 (en) Optimization techniques for artificial intelligence
US7796937B2 (en) Automated annotation
CN110795552B (en) Training sample generation method and device, electronic equipment and storage medium
CN109492164A (en) A kind of recommended method of resume, device, electronic equipment and storage medium
US20160378863A1 (en) Selecting representative video frames for videos
CN107210035A (en) The generation of language understanding system and method
CN110032623B (en) Method and device for matching question of user with title of knowledge point
KR20170001550A (en) Human-computer intelligence chatting method and device based on artificial intelligence
CN105045799A (en) Searchable index
US20090100045A1 (en) Device and method for adaptive service selection, query system and method
CN111353299B (en) Dialog scene determining method based on artificial intelligence and related device
US11545042B2 (en) Personalized learning system
KR102203048B1 (en) Method for recommending education program in education service based on the simirality and system thereof
WO2022089467A1 (en) Video data sorting method and apparatus, computer device, and storage medium
CN117473076B (en) Knowledge point generation method and system based on big data mining
KR20200060993A (en) Method to ouput of customized recommendation content information
CN108550019A (en) A kind of resume selection method and device
CN103064967B (en) A kind of method and apparatus for establishing user's binary crelation library
KR20230060401A (en) Method for satisfaction-based contents recommendation and electronic device thereof
KR102340485B1 (en) method for text analysis and audience rating prediction of synopsis
KR101980338B1 (en) Method, apparatus and computer program for essay valuation
CN106933848A (en) A kind of method for sending information and device
CN113392312A (en) Information processing method and system and electronic equipment
KR102644622B1 (en) Tour guide service system and method for fan of artist
KR20200060992A (en) Method to ouput of customized recommendation content information

Legal Events

Date Code Title Description
E902 Notification of reason for refusal