KR102342522B1 - Recommendation apparatus and operating merhod thereof - Google Patents
Recommendation apparatus and operating merhod thereof Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
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
아래 실시예들은 추천 장치에 관한 것이다.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
추천 장치(110)는 추천 서버로 달리 표현될 수 있다. 후술하겠지만, 추천 장치(110)는 Factorization Machine을 기초로 사용자 맞춤형 선호 키워드를 사용자에게 추천할 수 있다. 또한, 추천 장치(110)는 선호 키워드와 관련된 콘텐츠를 사용자에게 추천할 수 있다. 이에 따라, 추천 장치(110)는 키워드/콘텐츠 추천 장치로 달리 표현될 수 있다.The
추천 시스템(100)은, 예를 들어, IPTV(Internet Protocol TV) 시스템을 지원할 수 있다. 콘텐츠 재생 기기들(120-1 내지 120-n) 중 하나 이상은 셋탑 박스와 디스플레이를 포함할 수 있다. 추천 장치(110)는 셋탑 박스에 사용자를 위한 키워드 및/또는 콘텐츠(예를 들어, 실시간 콘텐츠 및/또는 주문형 콘텐츠)를 추천하거나 전송할 수 있다. 사용자는 추천받은 키워드를 통해 콘텐츠를 검색할 수 있다.The
또한, 추천 시스템(100)은 모바일 콘텐츠 시스템을 지원할 수 있다. 콘텐츠 재생 기기들(120-1 내지 120-n) 중 하나 이상은 이동 단말(예를 들어, 스마트폰, 태블릿 등)을 나타낼 수 있고, 추천 장치(110)는 이동 단말로 키워드 및/또는 콘텐츠를 추천하거나 전송할 수 있다. Also, the
이하, 도 2 내지 도 6을 참조하면서, 추천 장치(110)의 동작을 설명한다.Hereinafter, an operation of the
도 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
도 2에서, 행렬(210-1)은 사용자 행렬(210)의 일례를 나타낸다. 행렬(210-1)의 행과 열 각각은 사용자 1 내지 n을 나타내고, 행렬(210-1)의 대각 성분들은 1이다.In FIG. 2 , a matrix 210 - 1 represents an example of a
추천 장치(110)는 키워드들에 대한 정보(예를 들어, 키워드들 각각의 아이디)를 키워드 행렬(220)로 변환할 수 있다. 키워드들 각각은 콘텐츠를 검색하는데 사용되는 단어에 해당할 수 있다. 키워드 행렬(220)은, 예를 들어, 대각 행렬에 해당할 수 있다.The
도 2에서, 행렬(220-1)은 키워드 행렬(220)의 일례를 나타낸다. 행렬(220-1)의 행과 열 각각은 키워드 1 내지 m을 나타내고 행렬(220-1)의 대각 성분들은 1이다.In FIG. 2 , a matrix 220 - 1 represents an example of a
실시예에 따라, 추천 장치(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
도 2에 도시된 예와 같이, 추천 장치(110)는 행렬(230)을 키워드 행렬(220)에 부가 또는 연결할 수 있다.As in the example shown in FIG. 2 , the
도 3을 참조하면, 추천 장치(110)는 사용자 행렬(210) 및 키워드 행렬(220)을 기초로 사용자들에 대한 제1 특징 벡터(310)와 키워드들에 대한 제2 특징 벡터(320)를 생성할 수 있다. 이 때, 도 3에 도시된 예와 같이, 제2 특징 벡터(320)에는 콘텐츠에 대한 제3 특징 벡터(330)가 부가 또는 연결되어 있을 수 있다. Referring to FIG. 3 , the
사용자 행렬(210) 및 키워드 행렬(220)은 대부분 0으로 구성되어 있는데, 추천 장치(110)는 대부분 0으로 구성 되어있는 Sparse한 행렬(210 및 220)을 효율적으로 학습 가능한 구조로 변환할 수 있다. 예를 들어, 추천 장치(110)는 Factorization Machine을 이용할 수 있다.The
도 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
도 4를 참조하면, 추천 장치(110)는 제1 특징 벡터(310)와 제2 특징 벡터(320)에 행렬 곱셈을 수행하여 키워드 선택 예측 행렬 (410)을 생성할 수 있다. 키워드 선택 예측 행렬 (410)은 사용자들 각각이 각 키워드를 선택할 예측 확률값을 포함할 수 있다. Referring to FIG. 4 , the
도 4에서, 행렬(410-1)은 키워드 선택 예측 행렬 (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 An example of (410) is shown. In the matrix 410-1, the (1,1) component represents a predicted probability value that
이하, 도 5를 참조하면, 제1 특징 벡터(310)와 제2 특징 벡터(320)의 학습에 대해 설명한다.Hereinafter, learning of the
도 5를 참조하면, 추천 장치(110)는 사용자들 각각이 각 키워드를 선택하였는지 여부를 파악하여 행렬(510)을 생성할 수 있다.Referring to FIG. 5 , the
행렬(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
추천 장치(110)는 사용자들 각각의 키워드 선호 점수 및 미리 정해진 함수를 기초로 행렬(520)을 생성할 수 있다.The
행렬(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
추천 장치(110)는 행렬(510), 행렬(520), 및 키워드 선택 예측 행렬 (410)을 기초로 에러 행렬(530)을 계산할 수 있고, 학습 피드백 시 에러 행렬(530)을 적용하여 제1 특징 벡터(310) 및 제2 특징 벡터(320)를 학습시킬 수 있다. 이하, 도 6을 참조하면서 학습에 대해 구체적으로 설명한다.The
도 6에 도시된 예에서, 반복 횟수가 m이라 하자. In the example shown in FIG. 6 , it is assumed that the number of repetitions is m.
추천 장치(110)는 특징 벡터들(310 및 320)을 이용하여 키워드 선택 예측 행렬을 생성할 수 있고, 에러 행렬을 생성할 수 있다. 학습을 수행하기 전이므로, 해당 키워드 선택 예측 행렬을 로 표현하고, 에러 행렬을 로 표현한다.The
추천 장치(110)는 학습1을 통해 특징 벡터들(310 및 320)을 학습시킬 수 있다. 이 때, 추천 장치(110)는 학습1 수행 시 에러 행렬 를 활용할 수 있다. The
추천 장치(110)는 학습1을 통해 학습된 특징 벡터들(310 및 320)에 행렬 곱셈을 수행하여 키워드 선택 예측 행렬 을 생성할 수 있고, 에러 행렬 을 생성할 수 있다.The
추천 장치(110)는 학습1을 통해 학습된 특징 벡터들(310 및 320)을 학습2를 통해 재학습시킬 수 있다. 이 때, 추천 장치(110)는 학습2 수행 시 에러 행렬 을 활용할 수 있다. 추천 장치(110)는 재학습된 특징 벡터들(310 및 330)에 매트릭스 곱셈을 수행하여 키워드 선택 예측 행렬 를 생성할 수 있고, 에러 행렬 를 생성할 수 있다. 이러한 방식으로, 추천 장치(110)는 학습을 m번 수행할 수 있고 도 6에 도시된 예와 같이, 최종 학습m에서의 키워드 선택 예측 행렬 을 생성할 수 있다. 다시 말해, 추천 장치(110)는 비용 함수가 최적화되도록(또는 에러가 최소화되도록) 특징 벡터들(310 및 320)에 대한 학습을 반복적으로 수행할 수 있고, 학습 완료된 특징 벡터들(310 및 320)을 기초로 키워드 선택 예측 행렬 을 생성할 수 있다. The
키워드 선택 예측 행렬 는 학습 완료됨으로써 생성된 것이므로, 최적 키워드 선택 예측 행렬 또는 최종 키워드 선택 예측 행렬로 달리 표현될 수 있다.Keyword Selection Prediction Matrix 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.
최적 키워드 선택 예측 행렬 의 행은 사용자들을 나타낼 수 있고 열은 키워드들을 나타낼 수 있다. 구현에 따라, 키워드 선택 예측 행렬 의 행은 키워드들을 나타낼 수 있고 열은 사용자들을 나타낼 수 있다.Best Keyword Selection Prediction Matrix Rows of may represent users and columns may represent keywords. Depending on the implementation, the keyword selection prediction matrix Rows of may represent keywords and columns may represent users.
추천 장치(110)는 최적 키워드 선택 예측 행렬 을 기초로 사용자들 중 하나 이상을 위한 선호 키워드를 결정할 수 있다. 일례로, 추천 장치(110)는 개별 사용자에 대한 선택 예측 확률값들 중 가장 큰 예측 확률값에 해당하는 키워드를 개별 사용자의 선호 키워드로 결정할 수 있다. 도 7에 도시된 예에서, 추천 장치(110)는 사용자 1의 각 키워드에 대한 선택 예측 확률값 p11, p12, …, p1m 중에서 최대값을 찾을 수 있다. 여기서, p12가 최대값이 경우, 추천 장치(110)는 사용자 1에게 키워드 2를 추천할 수 있다. 이와 함께, 추천 장치(110)는 키워드 2에 관한 콘텐츠를 사용자 1에게 추천할 수 있다.The
도 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
단계(810)에서, 추천 장치(110)는 사용자들에 대한 정보(예를 들어, 사용자 ID들)를 사용자 행렬(210)로 변환할 수 있고 키워드들에 대한 정보(예를 들어, 키워드 ID들)를 키워드 행렬(220)로 변환할 수 있다. 추천 장치(110)는 변환된 사용자 행렬 및 변환된 키워드 행렬을 기초로 제1 특징 벡터(310) 및 제2 특징 벡터(320)를 생성할 수 있다.In
추천 장치(110)는 제1 특징 벡터(310)와 제2 특징 벡터(320)에 행렬 곱셈을 수행할 수 있다. 추천 장치(110)는 사용자들의 키워드 선택 이력에 대한 선택 이력 행렬 및 행렬 곱셈의 수행 결과 사이의 차이에 해당하는 차이 행렬을 생성할 수 있다. 여기서, 선택 이력 행렬은 도 5를 통해 설명한 행렬(510)에 해당할 수 있다. 추천 장치(110)는 키워드들에 대한 사용자들의 선호도와 관련된 선호도 행렬과 생성된 차이 행렬을 기초로 에러 행렬을 생성할 수 있다. 여기서, 선호도 행렬은 도 5를 통해 설명한 행렬(520)에 해당할 수 있다. 추천 장치(110)는 생성된 에러 행렬을 기초로 제1 특징 벡터(310)와 제2 특징 벡터(320)를 학습시킬 수 있다. 추천 장치(110)는 오차 함수가 최소화되도록 제1 특징 벡터(310)와 제2 특징 벡터(320)를 반복적으로 학습시킬 수 있고, 학습 완료된 제1 특징 벡터와 제2 특징 벡터에 행렬 곱셈을 수행함으로써 최적 키워드 선택 예측 행렬을 생성할 수 있다. The
추천 장치(110)는 생성된 최적 키워드 선택 예측 행렬을 기초로 사용자들 중 하나 이상을 위한 선호 키워드를 결정한다(820). The
추천 장치(110)는 결정된 선호 키워드를 사용자들 중 하나 이상에게 제공한다(830). The
도 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
메모리(910)는 프로세서(920)의 동작 결과 또는 연산 결과를 저장한다. 일례로, 메모리(910)는 사용자 행렬(210), 키워드 행렬(220), 키워드들 각각과 관련된 콘텐츠에 대한 정보를 변환하여 생성한 행렬(230), 제1 특징 벡터(310), 제2 특징 벡터(320), 제3 특징 벡터(330), 행렬(510), 행렬(520), 각 학습 단계에서 생성된 에러 행렬과 키워드 선택 예측 행렬을 저장할 수 있다.The
프로세서(920)는 사용자들에 대한 제1 특징 벡터 및 키워드들에 대한 제2 특징 벡터를 반복적으로 학습하여 사용자들 및 키워드들에 대한 최적 키워드 선택 예측 행렬을 생성한다.The
프로세서(920)는 생성된 최적 키워드 선택 예측 행렬을 기초로 사용자들 중 하나 이상을 위한 선호 키워드를 결정한다.The
프로세서(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 키워드 선택 예측 행렬을 계산하고, 상기 제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 특징 벡터 및 상기 제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.
상기 키워드 행렬에는 상기 키워드들 각각과 관련된 콘텐츠에 대한 정보가 변환된 행렬이 추가되는,
추천 장치의 동작 방법.
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.
상기 사용자 행렬 및 상기 키워드 행렬 각각은 대각 행렬에 해당하는,
추천 장치의 동작 방법.
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.
상기 결정하는 단계는,
개별 사용자에 대한 예측 확률값들 중 가장 큰 예측 확률값에 해당하는 키워드를 상기 개별 사용자의 선호 키워드로 결정하는 단계
를 포함하는,
추천 장치의 동작 방법.
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.
상기 사용자들 중 하나 이상에게 상기 결정된 선호 키워드에 관한 콘텐츠를 추천하는 단계
를 더 포함하는,
추천 장치의 동작 방법.
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 키워드 선택 예측 행렬을 계산하고, 상기 제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.
상기 프로세서는,
상기 사용자들에 대한 정보를 사용자 행렬로 변환하고 상기 키워드들에 대한 정보를 키워드 행렬로 변환하고, 상기 변환된 사용자 행렬 및 상기 변환된 키워드 행렬을 기초로 상기 제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.
상기 키워드 행렬에는 상기 키워드들 각각과 관련된 콘텐츠에 대한 정보가 변환된 행렬이 추가되는,
추천 장치.
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.
상기 사용자 행렬 및 상기 키워드 행렬 각각은 대각 행렬에 해당하는,
추천 장치.
11. The method of claim 10,
Each of the user matrix and the keyword matrix corresponds to a diagonal matrix,
Recommended device.
상기 프로세서는,
개별 사용자에 대한 예측 확률값들 중 가장 큰 예측 확률값에 해당하는 키워드를 상기 개별 사용자의 선호 키워드로 결정하는,
추천 장치.
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.
상기 프로세서는,
상기 사용자들 중 하나 이상에게 상기 결정된 선호 키워드에 관한 콘텐츠를 추천하는,
추천 장치.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.
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)
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)
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 |
-
2020
- 2020-03-02 KR KR1020200025805A patent/KR102342522B1/en active IP Right Grant
Patent Citations (2)
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 |