KR102342522B1 - Recommendation apparatus and operating merhod thereof - Google Patents

Recommendation apparatus and operating merhod thereof Download PDF

Info

Publication number
KR102342522B1
KR102342522B1 KR1020200025805A KR20200025805A KR102342522B1 KR 102342522 B1 KR102342522 B1 KR 102342522B1 KR 1020200025805 A KR1020200025805 A KR 1020200025805A KR 20200025805 A KR20200025805 A KR 20200025805A KR 102342522 B1 KR102342522 B1 KR 102342522B1
Authority
KR
South Korea
Prior art keywords
matrix
keyword
users
keywords
feature vector
Prior art date
Application number
KR1020200025805A
Other languages
Korean (ko)
Other versions
KR20210110934A (en
Inventor
장시영
Original Assignee
주식회사 엘지유플러스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지유플러스 filed Critical 주식회사 엘지유플러스
Priority to KR1020200025805A priority Critical patent/KR102342522B1/en
Publication of KR20210110934A publication Critical patent/KR20210110934A/en
Application granted granted Critical
Publication of KR102342522B1 publication Critical patent/KR102342522B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

추천 장치가 개시된다. 일 실시예는 사용자들에 대한 제1 특징 벡터 및 키워드들에 대한 제2 특징 벡터를 반복적으로 학습하여 상기 사용자들 및 상기 키워드들에 대한 최적 키워드 선택 예측 행렬을 생성하고, 상기 생성된 최적 키워드 선택 예측 행렬을 기초로 상기 사용자들 중 하나 이상을 위한 선호 키워드를 결정하며, 상기 결정된 선호 키워드를 상기 사용자들 중 하나 이상에게 제공한다. A recommendation device is disclosed. An embodiment generates an optimal keyword selection prediction matrix for the users and the keywords by iteratively learning a first feature vector for users and a second feature vector for keywords, and selects the generated optimal keyword Determine preferred keywords for one or more of the users based on a prediction matrix, and provide the determined preferred keywords to one or more of the users.

Description

추천 장치 및 이의 동작 방법{RECOMMENDATION APPARATUS AND OPERATING MERHOD THEREOF}RECOMMENDATION APPARATUS AND OPERATING MERHOD THEREOF

아래 실시예들은 추천 장치에 관한 것이다.The following embodiments relate to a recommendation device.

기존에는 사용자에게 콘텐츠를 추천할 뿐 다양하게 존재하는 키워드를 추천하지 않는다. In the past, content was only recommended to users, but various keywords were not recommended.

관련 선행기술로, 한국 등록특허공보 제10-2004145호(발명의 명칭: 콘텐츠 추천 방법 및 장치, 출원인: 한국과학기술정보연구원)가 있다. 해당 등록특허공보에 개시된 콘텐츠 추천 방법은 기준 콘텐츠를 획득하는 단계, 상기 기준 콘텐츠의 공저자 정보를 이용하여, 확대 공저자에 대한 정보를 획득하는 단계, 상기 획득된 확대 공저자에 대한 정보에 기반하여, 복수의 추천 후보 콘텐츠를 얻는 단계. 상기 복수의 추천 후보 콘텐츠에 포함된 각각의 추천 후보 콘텐츠와 상기 기준 콘텐츠 사이의 유사도를 산출하는 단계, 상기 유사도를 기준으로 상기 복수의 추천 후보 콘텐츠 중 일부를 선정하고, 선정된 콘텐츠를 추천 콘텐츠로서 출력하는 단계를 포함한다. As a related prior art, there is Korean Patent Registration No. 10-2004145 (Title of Invention: Method and Apparatus for Content Recommendation, Applicant: Korea Institute of Science and Technology Information). The content recommendation method disclosed in the corresponding registered patent publication includes the steps of obtaining reference content, obtaining information on the expanded co-author by using co-author information of the reference content, and based on the obtained information on the expanded co-author, a plurality of Steps to get the recommended candidate content of . calculating a similarity between each recommended candidate content included in the plurality of recommended candidate content and the reference content, selecting some of the plurality of recommended candidate content based on the similarity, and using the selected content as recommended content outputting it.

일 측에 따른 추천 장치의 동작 방법은 사용자들에 대한 제1 특징 벡터 및 키워드들에 대한 제2 특징 벡터를 반복적으로 학습하여 상기 사용자들 및 상기 키워드들에 대한 최적 키워드 선택 예측 행렬을 생성하는 단계; 상기 생성된 최적 키워드 선택 예측 행렬을 기초로 상기 사용자들 중 하나 이상을 위한 선호 키워드를 결정하는 단계; 및 상기 결정된 선호 키워드를 상기 사용자들 중 하나 이상에게 제공하는 단계를 포함한다.According to one aspect, an operating method of a recommendation apparatus includes generating an optimal keyword selection prediction matrix for the users and the keywords by iteratively learning a first feature vector for users and a second feature vector for keywords ; determining preferred keywords for one or more of the users based on the generated optimal keyword selection prediction matrix; and providing the determined preferred keyword to one or more of the users.

상기 생성하는 단계는 상기 사용자들에 대한 정보를 사용자 행렬로 변환하고 상기 키워드들에 대한 정보를 키워드 행렬로 변환하는 단계; 및 상기 변환된 사용자 행렬 및 상기 변환된 키워드 행렬을 기초로 상기 제1 특징 벡터 및 상기 제2 특징 벡터를 생성하는 단계를 포함할 수 있다.The generating may include transforming the information on the users into a user matrix and transforming the information on the keywords into a keyword matrix; and generating the first feature vector and the second feature vector based on the transformed user matrix and the transformed keyword matrix.

상기 키워드 행렬에는 상기 키워드들 각각과 관련된 콘텐츠에 대한 정보가 변환된 행렬이 추가될 수 있다.A matrix in which information on content related to each of the keywords is converted may be added to the keyword matrix.

상기 사용자 행렬 및 상기 키워드 행렬 각각은 대각 행렬에 해당할 수 있다.Each of the user matrix and the keyword matrix may correspond to a diagonal matrix.

상기 생성하는 단계는 상기 제1 특징 벡터와 상기 제2 특징 벡터에 행렬 곱셈을 수행하는 단계; 상기 사용자들의 키워드 선택 이력에 대한 선택 이력 행렬 및 상기 행렬 곱셈의 수행 결과 사이의 차이에 해당하는 차이 행렬을 생성하는 단계; 상기 키워드들에 대한 상기 사용자들의 선호도와 관련된 선호도 행렬과 상기 생성된 차이 행렬을 기초로 에러 행렬을 생성하는 단계; 및 상기 생성된 에러 행렬을 기초로 상기 제1 특징 벡터와 상기 제2 특징 벡터를 학습시키는 단계를 포함할 수 있다.The generating may include: performing matrix multiplication on the first feature vector and the second feature vector; generating a difference matrix corresponding to a difference between a selection history matrix for the keyword selection history of the users and a result of the matrix multiplication; generating an error matrix based on a preference matrix related to the user's preferences for the keywords and the generated difference matrix; and learning the first feature vector and the second feature vector based on the generated error matrix.

상기 생성된 최적 키워드 선택 예측 행렬은 상기 사용자들 각각이 상기 키워드들 각각을 선택할 예측 확률값을 포함할 수 있다.The generated optimal keyword selection prediction matrix may include a prediction probability value for each of the users to select each of the keywords.

상기 결정하는 단계는 개별 사용자에 대한 예측 확률값들 중 가장 큰 예측 확률값에 해당하는 키워드를 상기 개별 사용자의 선호 키워드로 결정하는 단계를 포함할 수 있다.The determining may include determining, as the preferred keyword of the individual user, a keyword corresponding to the highest predicted probability value among the predicted probability values for the individual user.

상기 추천 장치의 동작 방법은 자들 중 하나 이상에게 상기 결정된 선호 키워드에 관한 콘텐츠를 추천하는 단계를 더 포함할 수 있다.The method of operating the recommendation device may further include recommending content related to the determined preferred keyword to one or more of the users.

일 측에 따른 추천 장치는 사용자들에 대한 제1 특징 벡터 및 키워드들에 대한 제2 특징 벡터를 반복적으로 학습하여 상기 사용자들 및 상기 키워드들에 대한 최적 키워드 선택 예측 행렬을 생성하고, 상기 생성된 최적 키워드 선택 예측 행렬을 기초로 상기 사용자들 중 하나 이상을 위한 선호 키워드를 결정하며, 상기 결정된 선호 키워드를 상기 사용자들 중 하나 이상에게 제공하는 프로세서를 포함한다.The recommendation apparatus according to one aspect generates an optimal keyword selection prediction matrix for the users and the keywords by iteratively learning a first feature vector for users and a second feature vector for keywords, and the generated and a processor that determines preferred keywords for one or more of the users based on an optimal keyword selection prediction matrix, and provides the determined preferred keywords to one or more of the users.

상기 프로세서는 상기 사용자들에 대한 정보를 사용자 행렬로 변환하고 상기 키워드들에 대한 정보를 키워드 행렬로 변환하고, 상기 변환된 사용자 행렬 및 상기 변환된 키워드 행렬을 기초로 상기 제1 특징 벡터 및 상기 제2 특징 벡터를 생성할 수 있다.The processor converts the information about the users into a user matrix, converts the information on the keywords into a keyword matrix, and the first feature vector and the second based on the transformed user matrix and the transformed keyword matrix. Two feature vectors can be created.

상기 키워드 행렬에는 상기 키워드들 각각과 관련된 콘텐츠에 대한 정보가 변환된 행렬이 추가될 수 있다.A matrix in which information on content related to each of the keywords is converted may be added to the keyword matrix.

상기 사용자 행렬 및 상기 키워드 행렬 각각은 대각 행렬에 해당할 수 있다.Each of the user matrix and the keyword matrix may correspond to a diagonal matrix.

상기 프로세서는 상기 제1 특징 벡터와 상기 제2 특징 벡터에 행렬 곱셈을 수행하고, 상기 사용자들의 키워드 선택 이력에 대한 선택 이력 행렬 및 상기 행렬 곱셈의 수행 결과 사이의 차이에 해당하는 차이 행렬을 생성하며, 상기 키워드들에 대한 상기 사용자들의 선호도와 관련된 선호도 행렬과 상기 생성된 차이 행렬을 기초로 에러 행렬을 생성하고, 상기 생성된 에러 행렬을 기초로 상기 제1 특징 벡터와 상기 제2 특징 벡터를 학습시킬 수 있다.The processor performs matrix multiplication on the first feature vector and the second feature vector, and generates a difference matrix corresponding to a difference between a selection history matrix for the keyword selection history of the users and a result of the matrix multiplication, , generate an error matrix based on the generated difference matrix and a preference matrix related to the users' preferences for the keywords, and learn the first feature vector and the second feature vector based on the generated error matrix can do it

상기 생성된 최적 키워드 선택 예측 행렬은 상기 사용자들 각각이 상기 키워드들 각각을 선택할 예측 확률값을 포함할 수 있다.The generated optimal keyword selection prediction matrix may include a prediction probability value for each of the users to select each of the keywords.

상기 프로세서는 개별 사용자에 대한 예측 확률값들 중 가장 큰 예측 확률값에 해당하는 키워드를 상기 개별 사용자의 선호 키워드로 결정할 수 있다.The processor may determine a keyword corresponding to the largest predicted probability value among the predicted probability values for the individual user as the preferred keyword of the individual user.

상기 프로세서는 상기 사용자들 중 하나 이상에게 상기 결정된 선호 키워드에 관한 콘텐츠를 추천할 수 있다.The processor may recommend content related to the determined preferred keyword to one or more of the users.

실시예들은 키워드를 사용자들에게 추천할 수 있고, 해당 키워드에 관련된 콘텐츠를 해당 키워드와 함께 사용자들에게 추천할 수 있어 사용자들에게 다양한 추천을 제공할 수 있다.Embodiments may recommend keywords to users, and content related to the keyword may be recommended to users together with the keyword, so that various recommendations may be provided to users.

또한, 실시예들은 사용자 이력 기반의 맞춤형 선호 키워드를 사용자에게 추천할 수 있어, 사용자의 VOD 시청과 구매율을 향상시킬 수 있고, 고객 만족도를 높일 수 있다. In addition, embodiments may recommend customized preferred keywords based on user history to the user, thereby improving the user's VOD viewing and purchasing rate, and increasing customer satisfaction.

도 1은 일 실시예에 따른 추천 시스템을 설명하기 위한 도면이다.
도 2 내지 도 7은 일 실시예에 따른 추천 시스템 내의 추천 장치의 동작을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 추천 장치의 동작 방법을 설명하기 위한 순서도이다.
도 9는 일 실시예에 따른 추천 장치를 설명하기 위한 블록도이다.
1 is a diagram for explaining a recommendation system according to an embodiment.
2 to 7 are diagrams for explaining an operation of a recommendation device in a recommendation system according to an exemplary embodiment.
8 is a flowchart illustrating a method of operating a recommendation apparatus according to an exemplary embodiment.
9 is a block diagram illustrating a recommendation apparatus according to an exemplary embodiment.

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

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

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, 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 should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and the overlapping description 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 gist of the embodiment, the detailed description thereof will be omitted.

도 1은 일 실시예에 따른 추천 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining a recommendation system according to an embodiment.

도 1을 참조하면, 추천 시스템(100)은 추천 장치(110) 및 콘텐츠 재생 기기들(120-1 내지 120-n)을 포함한다.Referring to FIG. 1 , the recommendation system 100 includes a recommendation device 110 and content reproducing devices 120-1 to 120-n.

추천 장치(110)는 추천 서버로 달리 표현될 수 있다. 후술하겠지만, 추천 장치(110)는 Factorization Machine을 기초로 사용자 맞춤형 선호 키워드를 사용자에게 추천할 수 있다. 또한, 추천 장치(110)는 선호 키워드와 관련된 콘텐츠를 사용자에게 추천할 수 있다. 이에 따라, 추천 장치(110)는 키워드/콘텐츠 추천 장치로 달리 표현될 수 있다.The recommendation device 110 may be expressed differently as a recommendation server. As will be described later, the recommendation device 110 may recommend a user-customized preference keyword to the user based on the factorization machine. Also, the recommendation device 110 may recommend content related to a preferred keyword to the user. Accordingly, the recommendation device 110 may be expressed differently as a keyword/content recommendation device.

추천 시스템(100)은, 예를 들어, IPTV(Internet Protocol TV) 시스템을 지원할 수 있다. 콘텐츠 재생 기기들(120-1 내지 120-n) 중 하나 이상은 셋탑 박스와 디스플레이를 포함할 수 있다. 추천 장치(110)는 셋탑 박스에 사용자를 위한 키워드 및/또는 콘텐츠(예를 들어, 실시간 콘텐츠 및/또는 주문형 콘텐츠)를 추천하거나 전송할 수 있다. 사용자는 추천받은 키워드를 통해 콘텐츠를 검색할 수 있다.The recommendation system 100 may support, for example, an Internet Protocol TV (IPTV) system. One or more of the content playback devices 120 - 1 to 120 - n may include a set-top box and a display. The recommendation device 110 may recommend or transmit keywords and/or content (eg, real-time content and/or on-demand content) for a user to the set-top box. Users can search for content through recommended keywords.

또한, 추천 시스템(100)은 모바일 콘텐츠 시스템을 지원할 수 있다. 콘텐츠 재생 기기들(120-1 내지 120-n) 중 하나 이상은 이동 단말(예를 들어, 스마트폰, 태블릿 등)을 나타낼 수 있고, 추천 장치(110)는 이동 단말로 키워드 및/또는 콘텐츠를 추천하거나 전송할 수 있다. Also, the recommendation system 100 may support a mobile content system. One or more of the content playback devices 120-1 to 120-n may represent a mobile terminal (eg, a smartphone, a tablet, etc.), and the recommendation device 110 may provide keywords and/or content to the mobile terminal. You can recommend or send.

이하, 도 2 내지 도 6을 참조하면서, 추천 장치(110)의 동작을 설명한다.Hereinafter, an operation of the recommendation device 110 will be described with reference to FIGS. 2 to 6 .

도 2 내지 도 6은 일 실시예에 따른 추천 시스템 내의 추천 장치의 동작을 설명하기 위한 도면이다. 2 to 6 are diagrams for explaining an operation of a recommendation apparatus in a recommendation system according to an exemplary embodiment.

도 2를 참조하면, 추천 장치(110)는 사용자들에 대한 정보(예를 들어, 사용자들 각각의 아이디(ID))를 사용자 행렬(210)로 변환할 수 있다. 사용자 행렬(210)은, 예를 들어, 대각 행렬에 해당할 수 있다.Referring to FIG. 2 , the recommendation apparatus 110 may convert information about users (eg, IDs of users) into a user matrix 210 . The user matrix 210 may correspond to, for example, a diagonal matrix.

도 2에서, 행렬(210-1)은 사용자 행렬(210)의 일례를 나타낸다. 행렬(210-1)의 행과 열 각각은 사용자 1 내지 n을 나타내고, 행렬(210-1)의 대각 성분들은 1이다.In FIG. 2 , a matrix 210 - 1 represents an example of a user matrix 210 . Each row and column of the matrix 210-1 represents users 1 to n, and the diagonal components of the matrix 210-1 are 1.

추천 장치(110)는 키워드들에 대한 정보(예를 들어, 키워드들 각각의 아이디)를 키워드 행렬(220)로 변환할 수 있다. 키워드들 각각은 콘텐츠를 검색하는데 사용되는 단어에 해당할 수 있다. 키워드 행렬(220)은, 예를 들어, 대각 행렬에 해당할 수 있다.The recommendation apparatus 110 may convert information on keywords (eg, an ID of each keyword) into the keyword matrix 220 . Each of the keywords may correspond to a word used to search for content. The keyword matrix 220 may correspond to, for example, a diagonal matrix.

도 2에서, 행렬(220-1)은 키워드 행렬(220)의 일례를 나타낸다. 행렬(220-1)의 행과 열 각각은 키워드 1 내지 m을 나타내고 행렬(220-1)의 대각 성분들은 1이다.In FIG. 2 , a matrix 220 - 1 represents an example of a keyword matrix 220 . Each row and column of the matrix 220-1 represents keywords 1 to m, and the diagonal elements of the matrix 220-1 are 1.

실시예에 따라, 추천 장치(110)는 키워드들 각각과 관련된 콘텐츠에 대한 정보를 변환하여 행렬(230)을 생성할 수 있다. 일례로, 콘텐츠 2가 검색되는데 활용된 키워드가 키워드 1 및 2인 경우, 행렬(230)의 (1,2) 성분과 (2,2) 성분 각각은 1일 수 있다. 달리 표현하면, 키워드 1 및 2 각각에 콘텐츠 2가 속한 경우, 행렬(230)의 (1,2) 성분과 (2,2) 성분 각각은 1일 수 있다. 이러한 방식을 통해 추천 장치(110)는 키워드들 각각과 관련된 콘텐츠에 대한 정보를 변환하여 행렬(230)을 생성할 수 있다. 도 2에 행렬(230)의 일례(230-1)가 도시된다.According to an embodiment, the recommendation apparatus 110 may generate the matrix 230 by transforming information on content related to each of the keywords. For example, when the keywords used to search for content 2 are keywords 1 and 2, each of the components (1,2) and (2,2) of the matrix 230 may be 1. In other words, when content 2 is included in each of keywords 1 and 2, each of the (1,2) and (2,2) components of the matrix 230 may be 1. In this way, the recommendation apparatus 110 may generate the matrix 230 by transforming information on content related to each of the keywords. An example 230-1 of the matrix 230 is shown in FIG.

도 2에 도시된 예와 같이, 추천 장치(110)는 행렬(230)을 키워드 행렬(220)에 부가 또는 연결할 수 있다.As in the example shown in FIG. 2 , the recommendation apparatus 110 may add or connect the matrix 230 to the keyword matrix 220 .

도 3을 참조하면, 추천 장치(110)는 사용자 행렬(210) 및 키워드 행렬(220)을 기초로 사용자들에 대한 제1 특징 벡터(310)와 키워드들에 대한 제2 특징 벡터(320)를 생성할 수 있다. 이 때, 도 3에 도시된 예와 같이, 제2 특징 벡터(320)에는 콘텐츠에 대한 제3 특징 벡터(330)가 부가 또는 연결되어 있을 수 있다. Referring to FIG. 3 , the recommendation device 110 generates a first feature vector 310 for users and a second feature vector 320 for keywords based on a user matrix 210 and a keyword matrix 220 . can create In this case, as in the example shown in FIG. 3 , a third feature vector 330 for content may be added or connected to the second feature vector 320 .

사용자 행렬(210) 및 키워드 행렬(220)은 대부분 0으로 구성되어 있는데, 추천 장치(110)는 대부분 0으로 구성 되어있는 Sparse한 행렬(210 및 220)을 효율적으로 학습 가능한 구조로 변환할 수 있다. 예를 들어, 추천 장치(110)는 Factorization Machine을 이용할 수 있다.The user matrix 210 and the keyword matrix 220 are mostly composed of 0, and the recommendation device 110 can efficiently convert the sparse matrices 210 and 220 composed of mostly 0 into a learnable structure. . For example, the recommendation device 110 may use a factorization machine.

도 3에서 행렬(310-1)은 제1 특징 벡터(310)의 일례를 나타내고, 행렬(320-1)은 제2 특징 벡터(320)의 일례를 나타내며, 행렬(330-1)은 제3 특징 벡터(330)의 일례를 나타낸다. 설명의 편의 상 행렬들(310-1, 320-1, 및 330-1) 각각의 성분을 생략한다.In FIG. 3 , the matrix 310-1 represents an example of the first feature vector 310, the matrix 320-1 represents an example of the second feature vector 320, and the matrix 330-1 represents the third An example of the feature vector 330 is shown. For convenience of description, each component of the matrices 310-1, 320-1, and 330-1 is omitted.

도 4를 참조하면, 추천 장치(110)는 제1 특징 벡터(310)와 제2 특징 벡터(320)에 행렬 곱셈을 수행하여 키워드 선택 예측 행렬

Figure 112020021868146-pat00001
(410)을 생성할 수 있다. 키워드 선택 예측 행렬
Figure 112020021868146-pat00002
(410)은 사용자들 각각이 각 키워드를 선택할 예측 확률값을 포함할 수 있다. Referring to FIG. 4 , the recommendation apparatus 110 performs matrix multiplication on the first feature vector 310 and the second feature vector 320 to obtain a keyword selection prediction matrix.
Figure 112020021868146-pat00001
410 can be created. Keyword Selection Prediction Matrix
Figure 112020021868146-pat00002
Figure 112020021868146-pat00002
410 may include a predicted probability value for each of the users to select each keyword.

도 4에서, 행렬(410-1)은 키워드 선택 예측 행렬

Figure 112020021868146-pat00003
(410)의 일례를 나타낸다. 행렬(410-1)에서 (1,1) 성분은 사용자 1이 키워드 1을 선택(또는 선호)할 예측 확률값을 나타내고, (1,m) 성분은 사용자 1이 키워드 m을 선택(또는 선호)할 예측 확률값을 나타낸다. 또한, 행렬(410-1)에서, (n,1) 성분은 사용자 n이 키워드 1을 선택(또는 선호)할 예측 확률값을 나타내고, (n,m) 성분은 사용자 n이 키워드 m을 선택(또는 선호)할 예측 확률값을 나타낸다.In FIG. 4 , a matrix 410 - 1 is a keyword selection prediction matrix
Figure 112020021868146-pat00003
An example of (410) is shown. In the matrix 410-1, the (1,1) component represents a predicted probability value that user 1 will select (or prefer) keyword 1, and the (1,m) component indicates that user 1 selects (or prefers) keyword m. Indicates the predicted probability value. In addition, in the matrix 410-1, the (n,1) component represents a predicted probability value that the user n will select (or prefer) keyword 1, and the (n,m) component indicates that the user n selects (or prefers) the keyword m Preferred) to indicate the predicted probability value.

이하, 도 5를 참조하면, 제1 특징 벡터(310)와 제2 특징 벡터(320)의 학습에 대해 설명한다.Hereinafter, learning of the first feature vector 310 and the second feature vector 320 will be described with reference to FIG. 5 .

도 5를 참조하면, 추천 장치(110)는 사용자들 각각이 각 키워드를 선택하였는지 여부를 파악하여 행렬(510)을 생성할 수 있다.Referring to FIG. 5 , the recommendation apparatus 110 may generate a matrix 510 by identifying whether each of the users has selected each keyword.

행렬(510)의 행은 사용자들을 나타낼 수 있고 열은 키워드들을 나타낼 수 있다. 구현에 따라, 행렬(510)의 행은 키워드들을 나타낼 수 있고 열은 사용자들을 나타낼 수 있다.Rows of matrix 510 may represent users and columns may represent keywords. Depending on the implementation, rows of matrix 510 may represent keywords and columns may represent users.

행렬(510) 내의 성분들 각각은 제1 값(예를 들어, 1) 또는 제2 값(예를 들어, 0)을 가질 수 있다. 일례로, 행렬(510)의 (3,2) 성분은 1을 가질 수 있고, (3,3) 성분은 0을 가질 수 있다. (3,2) 성분이 1이라는 것은 사용자 3이 키워드 2를 선택한 것을 나타낼 수 있고, (3,3) 성분이 0이라는 것은 사용자 3이 키워드 3을 선택하지 않은 것을 나타낼 수 있다. Each of the elements in matrix 510 may have a first value (eg, 1) or a second value (eg, 0). As an example, the (3,2) component of the matrix 510 may have 1, and the (3,3) component may have 0. A component of (3,2) of 1 may indicate that the user 3 has selected the keyword 2, and a component of (3,3) of 0 may indicate that the user 3 does not select the keyword 3.

추천 장치(110)는 사용자들 각각의 키워드 선호 점수 및 미리 정해진 함수를 기초로 행렬(520)을 생성할 수 있다.The recommendation device 110 may generate the matrix 520 based on each of the users' keyword preference scores and a predetermined function.

행렬(520)의 행은 사용자들을 나타낼 수 있고 열은 키워드들을 나타낼 수 있다. 구현에 따라, 행렬(520)의 행은 키워드들을 나타낼 수 있고 열은 사용자들을 나타낼 수 있다.Rows of matrix 520 may represent users and columns may represent keywords. Depending on the implementation, rows of matrix 520 may represent keywords and columns may represent users.

행렬(520)은, 예를 들어, 사용자들 각각의 키워드 선호에 대한 행렬을 나타낼 수 있다. 일례로, 행렬(520)의 (1,1) 성분은 키워드 1에 대한 사용자 1의 선호도를 나타낼 수 있고 (1,3) 성분은 키워드 3에 대한 사용자 1의 선호도를 나타낼 수 있다.Matrix 520 may represent, for example, a matrix for each of the users' keyword preferences. As an example, the (1,1) component of the matrix 520 may indicate user 1's preference for keyword 1 and the (1,3) component may indicate user 1's preference for keyword 3 .

추천 장치(110)는 행렬(510), 행렬(520), 및 키워드 선택 예측 행렬

Figure 112020021868146-pat00004
(410)을 기초로 에러 행렬(530)을 계산할 수 있고, 학습 피드백 시 에러 행렬(530)을 적용하여 제1 특징 벡터(310) 및 제2 특징 벡터(320)를 학습시킬 수 있다. 이하, 도 6을 참조하면서 학습에 대해 구체적으로 설명한다.The recommendation apparatus 110 includes a matrix 510 , a matrix 520 , and a keyword selection prediction matrix
Figure 112020021868146-pat00004
The error matrix 530 may be calculated based on 410 , and the first feature vector 310 and the second feature vector 320 may be learned by applying the error matrix 530 during learning feedback. Hereinafter, learning will be described in detail with reference to FIG. 6 .

도 6에 도시된 예에서, 반복 횟수가 m이라 하자. In the example shown in FIG. 6 , it is assumed that the number of repetitions is m.

추천 장치(110)는 특징 벡터들(310 및 320)을 이용하여 키워드 선택 예측 행렬을 생성할 수 있고, 에러 행렬을 생성할 수 있다. 학습을 수행하기 전이므로, 해당 키워드 선택 예측 행렬을

Figure 112020021868146-pat00005
로 표현하고, 에러 행렬을
Figure 112020021868146-pat00006
로 표현한다.The recommendation apparatus 110 may generate a keyword selection prediction matrix using the feature vectors 310 and 320 and may generate an error matrix. Since it is before training, the corresponding keyword selection prediction matrix is
Figure 112020021868146-pat00005
expressed as , and the error matrix is
Figure 112020021868146-pat00006
expressed as

추천 장치(110)는 학습1을 통해 특징 벡터들(310 및 320)을 학습시킬 수 있다. 이 때, 추천 장치(110)는 학습1 수행 시 에러 행렬

Figure 112020021868146-pat00007
를 활용할 수 있다. The recommendation apparatus 110 may learn the feature vectors 310 and 320 through training 1. At this time, the recommendation device 110 performs the learning 1 error matrix
Figure 112020021868146-pat00007
can utilize

추천 장치(110)는 학습1을 통해 학습된 특징 벡터들(310 및 320)에 행렬 곱셈을 수행하여 키워드 선택 예측 행렬

Figure 112020021868146-pat00008
을 생성할 수 있고, 에러 행렬
Figure 112020021868146-pat00009
을 생성할 수 있다.The recommendation apparatus 110 performs matrix multiplication on the feature vectors 310 and 320 learned through training 1 to obtain a keyword selection prediction matrix.
Figure 112020021868146-pat00008
can create an error matrix
Figure 112020021868146-pat00009
can create

추천 장치(110)는 학습1을 통해 학습된 특징 벡터들(310 및 320)을 학습2를 통해 재학습시킬 수 있다. 이 때, 추천 장치(110)는 학습2 수행 시 에러 행렬

Figure 112020021868146-pat00010
을 활용할 수 있다. 추천 장치(110)는 재학습된 특징 벡터들(310 및 330)에 매트릭스 곱셈을 수행하여 키워드 선택 예측 행렬
Figure 112020021868146-pat00011
를 생성할 수 있고, 에러 행렬
Figure 112020021868146-pat00012
를 생성할 수 있다. 이러한 방식으로, 추천 장치(110)는 학습을 m번 수행할 수 있고 도 6에 도시된 예와 같이, 최종 학습m에서의 키워드 선택 예측 행렬
Figure 112020021868146-pat00013
을 생성할 수 있다. 다시 말해, 추천 장치(110)는 비용 함수가 최적화되도록(또는 에러가 최소화되도록) 특징 벡터들(310 및 320)에 대한 학습을 반복적으로 수행할 수 있고, 학습 완료된 특징 벡터들(310 및 320)을 기초로 키워드 선택 예측 행렬
Figure 112020021868146-pat00014
을 생성할 수 있다. The recommendation apparatus 110 may retrain the feature vectors 310 and 320 learned through training 1 through training 2 . At this time, the recommendation device 110 performs an error matrix when learning 2 is performed.
Figure 112020021868146-pat00010
can utilize The recommendation apparatus 110 performs matrix multiplication on the retrained feature vectors 310 and 330 to obtain a keyword selection prediction matrix.
Figure 112020021868146-pat00011
can create an error matrix
Figure 112020021868146-pat00012
can create In this way, the recommendation apparatus 110 may perform learning m times and as shown in the example shown in FIG. 6 , the keyword selection prediction matrix in the final learning m
Figure 112020021868146-pat00013
can create In other words, the recommendation apparatus 110 may iteratively perform learning on the feature vectors 310 and 320 so that the cost function is optimized (or the error is minimized), and the learned feature vectors 310 and 320 . Keyword selection prediction matrix based on
Figure 112020021868146-pat00014
can create

키워드 선택 예측 행렬

Figure 112020021868146-pat00015
는 학습 완료됨으로써 생성된 것이므로, 최적 키워드 선택 예측 행렬 또는 최종 키워드 선택 예측 행렬로 달리 표현될 수 있다.Keyword Selection Prediction Matrix
Figure 112020021868146-pat00015
Since is generated by completing learning, it may be expressed differently as an optimal keyword selection prediction matrix or a final keyword selection prediction matrix.

최적 키워드 선택 예측 행렬

Figure 112020021868146-pat00016
의 행은 사용자들을 나타낼 수 있고 열은 키워드들을 나타낼 수 있다. 구현에 따라, 키워드 선택 예측 행렬
Figure 112020021868146-pat00017
의 행은 키워드들을 나타낼 수 있고 열은 사용자들을 나타낼 수 있다.Best Keyword Selection Prediction Matrix
Figure 112020021868146-pat00016
Rows of may represent users and columns may represent keywords. Depending on the implementation, the keyword selection prediction matrix
Figure 112020021868146-pat00017
Rows of may represent keywords and columns may represent users.

추천 장치(110)는 최적 키워드 선택 예측 행렬

Figure 112020021868146-pat00018
을 기초로 사용자들 중 하나 이상을 위한 선호 키워드를 결정할 수 있다. 일례로, 추천 장치(110)는 개별 사용자에 대한 선택 예측 확률값들 중 가장 큰 예측 확률값에 해당하는 키워드를 개별 사용자의 선호 키워드로 결정할 수 있다. 도 7에 도시된 예에서, 추천 장치(110)는 사용자 1의 각 키워드에 대한 선택 예측 확률값 p11, p12, …, p1m 중에서 최대값을 찾을 수 있다. 여기서, p12가 최대값이 경우, 추천 장치(110)는 사용자 1에게 키워드 2를 추천할 수 있다. 이와 함께, 추천 장치(110)는 키워드 2에 관한 콘텐츠를 사용자 1에게 추천할 수 있다.The recommendation device 110 is an optimal keyword selection prediction matrix
Figure 112020021868146-pat00018
A preferred keyword for one or more of the users may be determined based on the . As an example, the recommendation apparatus 110 may determine a keyword corresponding to the largest prediction probability value among selection prediction probability values for an individual user as a preferred keyword of the individual user. In the example shown in FIG. 7 , the recommendation apparatus 110 selects prediction probability values p 11 , p 12 , ... for each keyword of user 1 . , p 1m , the maximum value can be found. Here, when p 12 is the maximum value, the recommendation apparatus 110 may recommend keyword 2 to user 1 . In addition, the recommendation device 110 may recommend the content related to the keyword 2 to the user 1 .

도 8은 일 실시예에 따른 추천 장치의 동작 방법을 설명하기 위한 순서도이다.8 is a flowchart illustrating a method of operating a recommendation apparatus according to an exemplary embodiment.

도 8을 참조하면, 일 실시예에 따른 추천 장치(110)는 사용자들에 대한 제1 특징 벡터 및 키워드들에 대한 제2 특징 벡터를 반복적으로 학습하여 사용자들 및 키워드들에 대한 최적 키워드 선택 예측 행렬을 생성한다(810).Referring to FIG. 8 , the recommendation apparatus 110 according to an embodiment repeatedly learns a first feature vector for users and a second feature vector for keywords to predict optimal keyword selection for users and keywords. A matrix is created (810).

단계(810)에서, 추천 장치(110)는 사용자들에 대한 정보(예를 들어, 사용자 ID들)를 사용자 행렬(210)로 변환할 수 있고 키워드들에 대한 정보(예를 들어, 키워드 ID들)를 키워드 행렬(220)로 변환할 수 있다. 추천 장치(110)는 변환된 사용자 행렬 및 변환된 키워드 행렬을 기초로 제1 특징 벡터(310) 및 제2 특징 벡터(320)를 생성할 수 있다.In step 810 , the recommendation device 110 may convert information about users (eg, user IDs) into the user matrix 210 and information about keywords (eg, keyword IDs) ) can be converted into the keyword matrix 220 . The recommendation apparatus 110 may generate the first feature vector 310 and the second feature vector 320 based on the transformed user matrix and the transformed keyword matrix.

추천 장치(110)는 제1 특징 벡터(310)와 제2 특징 벡터(320)에 행렬 곱셈을 수행할 수 있다. 추천 장치(110)는 사용자들의 키워드 선택 이력에 대한 선택 이력 행렬 및 행렬 곱셈의 수행 결과 사이의 차이에 해당하는 차이 행렬을 생성할 수 있다. 여기서, 선택 이력 행렬은 도 5를 통해 설명한 행렬(510)에 해당할 수 있다. 추천 장치(110)는 키워드들에 대한 사용자들의 선호도와 관련된 선호도 행렬과 생성된 차이 행렬을 기초로 에러 행렬을 생성할 수 있다. 여기서, 선호도 행렬은 도 5를 통해 설명한 행렬(520)에 해당할 수 있다. 추천 장치(110)는 생성된 에러 행렬을 기초로 제1 특징 벡터(310)와 제2 특징 벡터(320)를 학습시킬 수 있다. 추천 장치(110)는 오차 함수가 최소화되도록 제1 특징 벡터(310)와 제2 특징 벡터(320)를 반복적으로 학습시킬 수 있고, 학습 완료된 제1 특징 벡터와 제2 특징 벡터에 행렬 곱셈을 수행함으로써 최적 키워드 선택 예측 행렬을 생성할 수 있다. The recommendation apparatus 110 may perform matrix multiplication on the first feature vector 310 and the second feature vector 320 . The recommendation apparatus 110 may generate a difference matrix corresponding to a difference between the user's keyword selection history selection history matrix and a result of matrix multiplication. Here, the selection history matrix may correspond to the matrix 510 described with reference to FIG. 5 . The recommendation apparatus 110 may generate an error matrix based on a preference matrix related to users' preferences for keywords and the generated difference matrix. Here, the preference matrix may correspond to the matrix 520 described with reference to FIG. 5 . The recommendation apparatus 110 may learn the first feature vector 310 and the second feature vector 320 based on the generated error matrix. The recommendation apparatus 110 may iteratively learn the first feature vector 310 and the second feature vector 320 so that the error function is minimized, and perform matrix multiplication on the learned first feature vector and the second feature vector. By doing so, it is possible to generate an optimal keyword selection prediction matrix.

추천 장치(110)는 생성된 최적 키워드 선택 예측 행렬을 기초로 사용자들 중 하나 이상을 위한 선호 키워드를 결정한다(820). The recommendation apparatus 110 determines preferred keywords for one or more of the users based on the generated optimal keyword selection prediction matrix ( 820 ).

추천 장치(110)는 결정된 선호 키워드를 사용자들 중 하나 이상에게 제공한다(830). The recommendation device 110 provides the determined preferred keyword to one or more of the users ( 830 ).

도 1 내지 도 7을 통해 기술된 사항들은 도 8을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.Since the matters described with reference to FIGS. 1 to 7 may be applied to the matters described with reference to FIG. 8 , a detailed description thereof will be omitted.

도 9는 일 실시예에 따른 추천 장치를 설명하기 위한 블록도이다.9 is a block diagram illustrating a recommendation apparatus according to an exemplary embodiment.

도 9를 참조하면, 추천 장치(110)는 메모리(910) 및 프로세서(920)를 포함한다.Referring to FIG. 9 , the recommendation device 110 includes a memory 910 and a processor 920 .

메모리(910)는 프로세서(920)의 동작 결과 또는 연산 결과를 저장한다. 일례로, 메모리(910)는 사용자 행렬(210), 키워드 행렬(220), 키워드들 각각과 관련된 콘텐츠에 대한 정보를 변환하여 생성한 행렬(230), 제1 특징 벡터(310), 제2 특징 벡터(320), 제3 특징 벡터(330), 행렬(510), 행렬(520), 각 학습 단계에서 생성된 에러 행렬과 키워드 선택 예측 행렬을 저장할 수 있다.The memory 910 stores an operation result or an operation result of the processor 920 . For example, the memory 910 may include a user matrix 210 , a keyword matrix 220 , a matrix 230 generated by converting information on content related to each of the keywords, a first feature vector 310 , and a second feature The vector 320 , the third feature vector 330 , the matrix 510 , the matrix 520 , the error matrix and keyword selection prediction matrix generated in each learning step may be stored.

프로세서(920)는 사용자들에 대한 제1 특징 벡터 및 키워드들에 대한 제2 특징 벡터를 반복적으로 학습하여 사용자들 및 키워드들에 대한 최적 키워드 선택 예측 행렬을 생성한다.The processor 920 iteratively learns a first feature vector for users and a second feature vector for keywords to generate an optimal keyword selection prediction matrix for users and keywords.

프로세서(920)는 생성된 최적 키워드 선택 예측 행렬을 기초로 사용자들 중 하나 이상을 위한 선호 키워드를 결정한다.The processor 920 determines preferred keywords for one or more of the users based on the generated optimal keyword selection prediction matrix.

프로세서(9210)는 결정된 선호 키워드를 상기 사용자들 중 하나 이상에게 제공한다. The processor 9210 provides the determined preferred keyword to one or more of the users.

도 1 내지 도 8을 통해 기술된 사항들은 도 9를 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.Since the matters described with reference to FIGS. 1 to 8 may be applied to the matters described with reference to FIG. 9 , a detailed description thereof will be omitted.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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 in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The 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 the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. 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 reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (16)

사용자들에 대한 제1 특징 벡터 및 키워드들에 대한 제2 특징 벡터를 반복적으로 학습하여 상기 사용자들 및 상기 키워드들에 대한 최적 키워드 선택 예측 행렬을 생성하는 단계;
상기 생성된 최적 키워드 선택 예측 행렬을 기초로 상기 사용자들 중 하나 이상을 위한 선호 키워드를 결정하는 단계; 및
상기 결정된 선호 키워드를 상기 사용자들 중 하나 이상에게 제공하는 단계
를 포함하고,
상기 생성하는 단계는,
상기 사용자들 각각이 상기 키워드들 각각을 선택하였는지 여부를 나타내는 제1 행렬을 생성하는 단계;
상기 사용자들 각각이 상기 키워드들 각각을 얼마나 선호하는지를 나타내는 제2 행렬을 생성하는 단계; 및
상기 제1 특징 벡터와 상기 제2 특징 벡터를 이용하여 제1 키워드 선택 예측 행렬을 계산하고, 상기 제1 행렬과 상기 계산된 제1 키워드 선택 예측 행렬 사이의 차이를 계산하며, 상기 제2 행렬과 상기 계산된 차이에 행렬 곱셈을 수행하여 에러 행렬을 결정하고, 상기 결정된 에러 행렬을 이용하여 상기 제1 특징 벡터와 상기 제2 특징 벡터를 학습시키는 단계
를 포함하고,
상기 생성된 최적 키워드 선택 예측 행렬은 성분 (n, m)을 포함하고, 상기 성분 (n, m)은 상기 사용자들 중 n번째 사용자가 상기 키워드들 중 m번째 키워드를 선택할 예측 확률값을 나타내는,
추천 장치의 동작 방법.
generating an optimal keyword selection prediction matrix for the users and the keywords by iteratively learning a first feature vector for users and a second feature vector for keywords;
determining preferred keywords for one or more of the users based on the generated optimal keyword selection prediction matrix; and
providing the determined preferred keyword to one or more of the users;
including,
The generating step is
generating a first matrix indicating whether each of the users has selected each of the keywords;
generating a second matrix representing how much each of the users prefers each of the keywords; and
calculating a first keyword selection prediction matrix using the first feature vector and the second feature vector, calculating a difference between the first matrix and the calculated first keyword selection prediction matrix, the second matrix and determining an error matrix by performing matrix multiplication on the calculated difference, and learning the first feature vector and the second feature vector using the determined error matrix
including,
The generated optimal keyword selection prediction matrix includes a component (n, m), wherein the component (n, m) represents a predicted probability value at which the nth user among the users will select the mth keyword among the keywords,
How the recommended device works.
제1항에 있어서,
상기 생성하는 단계는,
상기 사용자들에 대한 정보를 사용자 행렬로 변환하고 상기 키워드들에 대한 정보를 키워드 행렬로 변환하는 단계; 및
상기 변환된 사용자 행렬 및 상기 변환된 키워드 행렬을 기초로 상기 제1 특징 벡터 및 상기 제2 특징 벡터를 생성하는 단계
를 포함하는,
추천 장치의 동작 방법.
According to claim 1,
The generating step is
transforming the information on the users into a user matrix and transforming the information on the keywords into a keyword matrix; and
generating the first feature vector and the second feature vector based on the transformed user matrix and the transformed keyword matrix
containing,
How the recommended device works.
제2항에 있어서,
상기 키워드 행렬에는 상기 키워드들 각각과 관련된 콘텐츠에 대한 정보가 변환된 행렬이 추가되는,
추천 장치의 동작 방법.
3. The method of claim 2,
A matrix in which information on content related to each of the keywords is converted is added to the keyword matrix,
How the recommended device works.
제2항에 있어서,
상기 사용자 행렬 및 상기 키워드 행렬 각각은 대각 행렬에 해당하는,
추천 장치의 동작 방법.
3. The method of claim 2,
Each of the user matrix and the keyword matrix corresponds to a diagonal matrix,
How the recommended device works.
삭제delete 삭제delete 제1항에 있어서,
상기 결정하는 단계는,
개별 사용자에 대한 예측 확률값들 중 가장 큰 예측 확률값에 해당하는 키워드를 상기 개별 사용자의 선호 키워드로 결정하는 단계
를 포함하는,
추천 장치의 동작 방법.
According to claim 1,
The determining step is
Determining the keyword corresponding to the largest predicted probability value among the predicted probability values for the individual user as the preferred keyword of the individual user
containing,
How the recommended device works.
제1항에 있어서,
상기 사용자들 중 하나 이상에게 상기 결정된 선호 키워드에 관한 콘텐츠를 추천하는 단계
를 더 포함하는,
추천 장치의 동작 방법.
According to claim 1,
recommending content related to the determined preferred keyword to one or more of the users;
further comprising,
How the recommended device works.
사용자들에 대한 제1 특징 벡터 및 키워드들에 대한 제2 특징 벡터를 반복적으로 학습하여 상기 사용자들 및 상기 키워드들에 대한 최적 키워드 선택 예측 행렬을 생성하고, 상기 생성된 최적 키워드 선택 예측 행렬을 기초로 상기 사용자들 중 하나 이상을 위한 선호 키워드를 결정하며, 상기 결정된 선호 키워드를 상기 사용자들 중 하나 이상에게 제공하는 프로세서
를 포함하고,
상기 프로세서는,
상기 사용자들 각각이 상기 키워드들 각각을 선택하였는지 여부를 나타내는 제1 행렬을 생성하고, 상기 사용자들 각각이 상기 키워드들 각각을 얼마나 선호하는지를 나타내는 제2 행렬을 생성하며, 상기 제1 특징 벡터와 상기 제2 특징 벡터를 이용하여 제1 키워드 선택 예측 행렬을 계산하고, 상기 제1 행렬과 상기 계산된 제1 키워드 선택 예측 행렬 사이의 차이를 계산하며, 상기 제2 행렬과 상기 계산된 차이에 행렬 곱샘을 수행하여 에러 행렬을 결정하고, 상기 결정된 에러 행렬을 이용하여 상기 제1 특징 벡터와 상기 제2 특징 벡터를 학습시키고,
상기 생성된 최적 키워드 선택 예측 행렬은 성분 (n, m)을 포함하고, 상기 성분 (n, m)은 상기 사용자들 중 n번째 사용자가 상기 키워드들 중 m번째 키워드를 선택할 예측 확률값을 나타내는,
추천 장치.
Iteratively learns a first feature vector for users and a second feature vector for keywords to generate an optimal keyword selection prediction matrix for the users and the keywords, and based on the generated optimal keyword selection prediction matrix determines a preferred keyword for one or more of the users, and provides the determined preferred keyword to one or more of the users
including,
The processor is
generating a first matrix indicating whether each of the users has selected each of the keywords, generating a second matrix indicating how much each of the users prefers each of the keywords, the first feature vector and the calculating a first keyword selection prediction matrix using a second feature vector, calculating a difference between the first matrix and the calculated first keyword selection prediction matrix, and multiplying the second matrix and the calculated difference by a matrix to determine an error matrix, and learn the first feature vector and the second feature vector using the determined error matrix,
The generated optimal keyword selection prediction matrix includes a component (n, m), wherein the component (n, m) represents a predicted probability value at which the nth user among the users will select the mth keyword among the keywords,
Recommended device.
제9항에 있어서,
상기 프로세서는,
상기 사용자들에 대한 정보를 사용자 행렬로 변환하고 상기 키워드들에 대한 정보를 키워드 행렬로 변환하고, 상기 변환된 사용자 행렬 및 상기 변환된 키워드 행렬을 기초로 상기 제1 특징 벡터 및 상기 제2 특징 벡터를 생성하는,
추천 장치.
10. The method of claim 9,
The processor is
The information on the users is converted into a user matrix and the information on the keywords is converted into a keyword matrix, and the first feature vector and the second feature vector are converted based on the converted user matrix and the converted keyword matrix. to create,
Recommended device.
제10항에 있어서,
상기 키워드 행렬에는 상기 키워드들 각각과 관련된 콘텐츠에 대한 정보가 변환된 행렬이 추가되는,
추천 장치.
11. The method of claim 10,
A matrix in which information on content related to each of the keywords is converted is added to the keyword matrix,
Recommended device.
제10항에 있어서,
상기 사용자 행렬 및 상기 키워드 행렬 각각은 대각 행렬에 해당하는,
추천 장치.
11. The method of claim 10,
Each of the user matrix and the keyword matrix corresponds to a diagonal matrix,
Recommended device.
삭제delete 삭제delete 제9항에 있어서,
상기 프로세서는,
개별 사용자에 대한 예측 확률값들 중 가장 큰 예측 확률값에 해당하는 키워드를 상기 개별 사용자의 선호 키워드로 결정하는,
추천 장치.
10. The method of claim 9,
The processor is
determining, as the preferred keyword of the individual user, a keyword corresponding to the largest predicted probability value among the predicted probability values for the individual user;
Recommended device.
제9항에 있어서,
상기 프로세서는,
상기 사용자들 중 하나 이상에게 상기 결정된 선호 키워드에 관한 콘텐츠를 추천하는,
추천 장치.
10. The method of claim 9,
The processor is
recommending content related to the determined preferred keyword to one or more of the users;
Recommended device.
KR1020200025805A 2020-03-02 2020-03-02 Recommendation apparatus and operating merhod thereof KR102342522B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200025805A KR102342522B1 (en) 2020-03-02 2020-03-02 Recommendation apparatus and operating merhod thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200025805A KR102342522B1 (en) 2020-03-02 2020-03-02 Recommendation apparatus and operating merhod thereof

Publications (2)

Publication Number Publication Date
KR20210110934A KR20210110934A (en) 2021-09-10
KR102342522B1 true KR102342522B1 (en) 2021-12-22

Family

ID=77777225

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200025805A KR102342522B1 (en) 2020-03-02 2020-03-02 Recommendation apparatus and operating merhod thereof

Country Status (1)

Country Link
KR (1) KR102342522B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012018571A (en) * 2010-07-08 2012-01-26 Ntt Docomo Inc Content recommendation apparatus and method
JP2017182663A (en) * 2016-03-31 2017-10-05 日本電気株式会社 Content management device, content management method, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101382069B1 (en) * 2012-02-08 2014-04-14 숭실대학교산학협력단 Apparatus and method for recommending keyword
KR101663359B1 (en) * 2014-03-31 2016-10-07 한양대학교 산학협력단 Method and apparatus for providing updated news contents

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012018571A (en) * 2010-07-08 2012-01-26 Ntt Docomo Inc Content recommendation apparatus and method
JP2017182663A (en) * 2016-03-31 2017-10-05 日本電気株式会社 Content management device, content management method, and program

Also Published As

Publication number Publication date
KR20210110934A (en) 2021-09-10

Similar Documents

Publication Publication Date Title
US11481631B1 (en) Using embedding functions with a deep network
US20170185894A1 (en) End-to-end deep collaborative filtering
US20210117801A1 (en) Augmenting neural networks with external memory
JP7431833B2 (en) Language sequence labeling methods, devices, programs and computing equipment
JP2019509539A (en) Recurrent neural network model compression
US10699191B2 (en) Generating larger neural networks
US10803380B2 (en) Generating vector representations of documents
EP3394798A1 (en) Generating dependency parses of text segments using neural networks
US11144811B2 (en) Aspect pre-selection using machine learning
US20170169330A1 (en) Method and Electronic Device for Displaying Play Content in Smart Television
CN111046188A (en) User preference degree determining method and device, electronic equipment and readable storage medium
CN111931054A (en) Sequence recommendation method and system based on improved residual error structure
CN117350360A (en) Fine tuning method and device for large model, electronic equipment and storage medium
CN111242162A (en) Training method and device of image classification model, medium and electronic equipment
KR102342522B1 (en) Recommendation apparatus and operating merhod thereof
CN111010595B (en) New program recommendation method and device
CN110378486B (en) Network embedding method and device, electronic equipment and storage medium
KR102334594B1 (en) Method and apparatus for recommending content based on content viewing history of user
CN111428508A (en) Style customizable text generation
KR102307070B1 (en) Service server and operating method thereof
CN111402003B (en) System and method for realizing user-related recommendation
KR20210103735A (en) Method and device for recommending a poster
KR102391644B1 (en) Method and Apparatus for VOD Content Recommendation
KR102342492B1 (en) Method and Apparatus for Deep Learning Based Content Recommendation
US20230334839A1 (en) Feature extraction

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant