KR20200145346A - A program for the product or content recommendation service - Google Patents

A program for the product or content recommendation service Download PDF

Info

Publication number
KR20200145346A
KR20200145346A KR1020190074220A KR20190074220A KR20200145346A KR 20200145346 A KR20200145346 A KR 20200145346A KR 1020190074220 A KR1020190074220 A KR 1020190074220A KR 20190074220 A KR20190074220 A KR 20190074220A KR 20200145346 A KR20200145346 A KR 20200145346A
Authority
KR
South Korea
Prior art keywords
preference
information
matrix
calculating
user
Prior art date
Application number
KR1020190074220A
Other languages
Korean (ko)
Inventor
이종찬
Original Assignee
탱커펀드주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 탱커펀드주식회사 filed Critical 탱커펀드주식회사
Priority to KR1020190074220A priority Critical patent/KR20200145346A/en
Publication of KR20200145346A publication Critical patent/KR20200145346A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Mathematical Physics (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Game Theory and Decision Science (AREA)
  • Tourism & Hospitality (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • Software Systems (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

According to an embodiment of the present invention, provided is a recommendation program which recommends a product or content to a user terminal by a service providing device. The program can execute a method in a computer, wherein the method comprises the steps of: obtaining user preference information of a user terminal; performing collaborative filtering using a preference prediction matrix built in advance from a preference prediction device to obtain a preference predicted value for each product or content corresponding to user information; and providing recommended product or content information based on the obtained preference prediction value to the user terminal.

Description

상품 또는 컨텐츠 추천 서비스 제공 프로그램{A program for the product or content recommendation service}A program for the product or content recommendation service

본 발명은 상품 또는 컨텐츠를 추천하는 추천 서비스 제공 프로그램에 관한 것이다. 보다 구체적으로, 본 발명은 협업 필터링 기반의 사용자 선호도 예측을 이용한 상품 또는 컨텐츠 추천 서비스 제공 방법을 컴퓨터에서 실행시킬 수 있는 프로그램에 관한 것이다.The present invention relates to a program for providing a recommendation service for recommending products or contents. More specifically, the present invention relates to a program capable of executing a method for providing a product or content recommendation service using collaborative filtering-based user preference prediction on a computer.

일반적으로 추천 시스템은 다량의 컨텐츠 중에서 필터링된 컨텐츠를 사용자에게 추천하는 시스템이다. 이러한 추천 시스템이 사용하는 추천 방식은 사용자와 성향이 유사한 사용자들이 공통적으로 좋아하는 컨텐츠를 추천해 주는 협업 필터링 추천 방식, 사용자가 이전에 이용한 컨텐츠와 내용 정보가 유사한 다른 컨텐츠를 추천해주는 내용기반 컨텐츠 필터링 추천 방식으로서, 예를 들어 인구통계학적 정보를 분석하여 규칙을 찾아 컨텐츠를 추천해주는 인구통계학적 추천방식 등을 이용하는 방식 등이 예시될 수 있다.In general, a recommendation system is a system that recommends filtered content to a user among a large amount of content. The recommendation method used by this recommendation system is a collaborative filtering recommendation method that recommends content commonly liked by users with similar dispositions to the user, and content-based content filtering that recommends other content similar to the content previously used by the user. As a recommendation method, for example, a method of using a demographic recommendation method that recommends content by finding a rule by analyzing demographic information may be exemplified.

이 중에서 협업 필터링 추천 방식이 가장 성공적인 추천 기법으로 알려져 있다. 예를 들어, 도서 추천을 제공하는 아마존이나 영화 추천을 제공하는 넷플릭스 등과 같은 인터넷 사이트에서 널리 활용되고 있다.Among them, the collaborative filtering recommendation method is known as the most successful recommendation technique. For example, it is widely used in Internet sites such as Amazon, which provides book recommendations, and Netflix, which provides movie recommendations.

협업 필터링 추천 방식은 사용자가 선호하는 패턴과 유사한 다른 사용자의 선호도를 이용하여 사용자에게 관련된 서비스를 추천하는 개인화 기법으로서, 사용자 기반 협업 필터링 추천 방식이 대표적이며, 사용자들 간의 유사성을 측정하여 선호도가 비슷한 다른 사용자가 평가한 상품 또는 컨텐츠를 기반으로 특정 사용자가 선호할만한 상품 또는 컨텐츠를 추천하는 방식을 의미할 수 있다.The collaborative filtering recommendation method is a personalization technique that recommends related services to users by using the preferences of other users similar to the user's preferred pattern. The user-based collaborative filtering recommendation method is a representative method. It may mean a method of recommending a product or content that a specific user prefers based on a product or content evaluated by another user.

보다 구체적으로, 협업 필터링을 이용한 추천 방식은 행렬 완성(matrix completion) 문제를 해결함으로써 어떤 것을 사용자에게 추천할지 결정하는 프로세스를 이용한다. 추천 장치는, 일부 항목의 정보만을 가지고 사용자간 선호도 유사성에 따른 추천서비스를 제공하기 위해, 한 행렬을 구성하는 값들 중 일부만이 주어졌을 때, 나머지 주어지지 않은 값들을 예측하는 연산을 수행하여야 한다. 다만 일반적으로 완성하여야 하는 행렬의 차원(dimension)이 주어진 표본보다 크므로, 차원의 크기를 줄일 수 있는 추가적인 전제가 요구된다.More specifically, the recommendation method using collaborative filtering uses a process of determining which one to recommend to the user by solving the matrix completion problem. In order to provide a recommendation service according to preference similarity between users with only information of some items, the recommendation device must perform an operation to predict the remaining unspecified values when only some of the values constituting a matrix are given. However, since the dimension of the matrix to be completed is generally larger than the given sample, an additional premise is required to reduce the size of the dimension.

1차적인 전제는 행렬의 계수(rank)가 낮다는 조건으로서, 일반적으로 협업 필터링 기반의 추천 장치는 해당 조건 하에 선호도 예측을 위해 완성하여야 하는 행렬을 분해(factorization)하여, 차원의 크기를 연산력에 따라 줄이는 저계수 행렬 분해(low-rank matrix factorization)를 수행할 수 있다. 다만 저계수 행렬 분해 방식은 대표적인 NP-hard 문제를 풀어야 하므로, 그 최적해를 다항시간(polynomial time) 내로 구하기 어렵고, 시간이 많이 소요되는 문제점이 있다.The primary premise is a condition that the rank of the matrix is low. In general, a recommendation device based on collaborative filtering decomposes the matrix to be completed for the preference prediction under the corresponding condition, and determines the size of the dimension to the computing power. Accordingly, a reduced low-rank matrix factorization can be performed. However, since the low coefficient matrix decomposition method has to solve a representative NP-hard problem, it is difficult to obtain the optimal solution within a polynomial time, and it takes a lot of time.

이에 따라, 협업 필터링에 있어서 최적해가 아니라 최선해(local optimum)를 연산함으로써, 연산량을 줄이는 방식이 제안되거나, 볼록 완화(convex relaxation)를 통해 다항시간 안에 문제를 해결할 수 있도록 문제를 변형하는 방법도 제시되었으나, 연산 속도가 상용화되기에는 여전히 느린 것으로 알려져 있다.Accordingly, a method of reducing the amount of computation by calculating a local optimum rather than an optimal solution in collaborative filtering is proposed, or a method of modifying the problem so that the problem can be solved within a polynomial time through convex relaxation. Although presented, it is known that the computational speed is still slow to commercialize.

또한, 볼록 완화 없이 최선해를 찾는 최적화를 수행하는 방식도 제안되고 있으나, 이 경우에는 필연적으로 잡음(noise)이 발생하기 때문에 이를 보정하기 위한 하이퍼파라미터(hyperparameter)가 계산과정에 포함되는데, 이 하이퍼파라미터의 초기값이 어떻게 되는지에 따라 도출되는 해가 바뀔 수 있는 불확실성으로 인해 문제점이 발생되고 있다.In addition, a method of performing optimization to find the best solution without convex relaxation has been proposed, but in this case, since noise inevitably occurs, a hyperparameter to correct this is included in the calculation process. A problem arises due to the uncertainty that the solution derived according to the initial value of the parameter may change.

예를 들어, 추천 또는 사용자 선호도 분석 프로세스에 있어서의 최선해를 도출하기 위한 초기값을 임의로 설정하는 경우가 많은데, 이는 전체 행렬을 예측하는 근거가 되는 입력값(entry)들이 균등(uniform)한 확률로 임의추출(random sampling)된 표본임을 전제하고 있다. 즉, 각 사용자는 특정 범주에 속한 모든 항목마다 나름의 선호를 갖고 있으며, 이를 수치화하여 행렬로 표현한 것이 추천 알고리즘을 통해 완성하고자 하는 행렬의 원형이자 선호도의 모집단이므로, 사용자가 추천 알고리즘에 자신의 선호도를 입력하는 행위는 일종의 표본 추출이라 할 수 있으며, 이 때 추출된 표본은 모집단의 크기를 고려하였을 때 여타 통계 문제와 마찬가지로 균등한 확률로 임의추출되었다고 가정하는 것이다.For example, in many cases, an initial value for deriving the best solution in the recommendation or user preference analysis process is arbitrarily set, which is the probability that the input values, which are the basis for predicting the entire matrix, are uniform. It is assumed that the sample is randomly sampled. In other words, each user has his or her own preference for all items belonging to a specific category, and the numerically expressed matrix is the prototype of the matrix to be completed through the recommendation algorithm and the population of preferences. The act of inputting is a kind of sampling, and it is assumed that the extracted sample is randomly extracted with equal probability like other statistical problems when considering the size of the population.

그러나, 사용자의 선호도는 균등 확률을 가질 수 없으며, 따라서 이와 같은 전제는 실제 추천 프로세스에 따라 추천 서비스나 선호도 분석 서비스를 제공받는 사용자의 상황과는 전혀 상이하다. 이는 결과적으로 추천 서비스의 만족도가 저하되는 문제점을 야기시킨다.However, the user's preference cannot have an equal probability, and therefore, this premise is completely different from the situation of a user who is provided with a recommendation service or a preference analysis service according to an actual recommendation process. This results in a problem that the satisfaction of the recommended service is deteriorated.

보다 구체적으로, 추천 알고리즘 이용자의 선험(先驗)이 동반되어야만 선호도를 평가할 수 있는 상품 또는 컨텐츠 항목의 경우, 해당 분류에서 한 항목이 임의로 추출되어 제시되더라도 이용자는 선택을 강제당하지 않는 한 선호도에 대한 응답을 회피할 수 있다. 이는 항목에 대한 선호도를 높게 매긴 경우 뿐만 아니라, 어떤 항목에 선호도를 매기기로 결정한 사실 그 자체가 선호를 드러낼 가능성이 있음을 나타낼 수 있다. 즉, 선호도의 모집단으로부터 균등한 확률로 표본을 임의추출한다고 하기에는 이미 추출할 항목이 결정되어 있는 상황도 존재하는 것이다. 따라서, 이와 같이 상기 최선해를 도출하기 위한 초기값을 임의로 설정하는 방식은 그 전제에 오류가 있기 때문에 효율성 및 정확성이 떨어지게 된다.More specifically, in the case of a product or content item for which preference can be evaluated only when the user's prior experience of the recommendation algorithm is accompanied, even if an item is randomly extracted from the corresponding classification and presented, the user may choose Responses can be avoided. This may indicate that not only the case where the preference for an item is high, but also the fact that the decision to give preference to an item itself may reveal the preference. In other words, there is a situation in which the items to be extracted are already determined to randomly extract samples with equal probability from the population of preference. Therefore, the method of arbitrarily setting the initial value for deriving the best solution in this way is less efficient and less accurate because there is an error in the premise.

따라서, 이와 같은 전제 오류 없이, 보다 빠르고 정확하게 동작할 수 있는 협업 필터링 기반 사용자 선호도 예측 및 이에 기반한 추천 서비스 제공이 요구되고 있는 실정이다.Accordingly, there is a need for a collaborative filtering-based user preference prediction that can operate more quickly and accurately without such prerequisite errors and to provide a recommendation service based on this.

본 발명은 상기한 바와 같은 문제점을 해결하고자 안출된 것으로, 저계수 행렬 분해 기반의 협업 필터링 방식에 있어서, 그 초기값 또는 초기 행렬을 모집단인 사용자 특성이 적절하게 반영되도록 설정함으로써, 전제 오류 없이도 보다 빠르고 정확하게 동작할 수 있는 서비스 제공 장치가 사용자 단말로의 상품 또는 컨텐츠를 추천하는 추천 방법을 컴퓨터에서 실행시킬 수 있는 프로그램을 제공하는 데 그 목적이 있다.The present invention was devised to solve the above-described problem, and in a collaborative filtering method based on a low coefficient matrix decomposition, by setting the initial value or the initial matrix to appropriately reflect the user characteristics as a population, An object of the present invention is to provide a program that enables a service providing apparatus capable of operating quickly and accurately to execute a recommendation method for recommending products or contents to a user terminal on a computer.

상기한 바와 같은 과제를 해결하기 위한 본 발명의 실시 예에 따른 프로그램은, 서비스 제공 장치가 사용자 단말로의 상품 또는 컨텐츠를 추천하는 추천 방법을 실행시키기 위한 프로그램에 있어서, 상기 사용자 단말의 사용자 정보를 획득하는 단계; 선호도 예측 장치로부터 미리 구축된 선호도 예측 행렬를 이용한 협업 필터링을 수행하여, 상기 사용자 정보에 대응하는 상품 또는 컨텐츠별 선호도 예측값을 획득하는 단계; 및 상기 획득된 선호도 예측값에 기초한 추천 상품 또는 컨텐츠 정보를 상기 사용자 단말로 제공하는 단계를 포함하고,A program according to an embodiment of the present invention for solving the above-described problems is a program for executing a recommendation method for recommending a product or content to a user terminal by a service providing device, wherein the user information of the user terminal is Obtaining; Performing collaborative filtering using a preference prediction matrix built in advance from a preference prediction apparatus, and obtaining a preference predicted value for each product or content corresponding to the user information; And providing recommended product or content information based on the obtained preference prediction value to the user terminal,

상기 상품 또는 컨텐츠별 선호도 예측값을 획득하는 단계는, 사전 분류된 선호도 대상 항목에 대응하는 사용자 선호도 정보를 수집하는 단계; 상기 사용자 선호도 정보에 기초한 통계량 정보를 연산하는 단계; 상기 통계량 정보에 기초하여, 선호도 예측용 저계수 행렬 분해 프로세스를 위한 초기값 정보를 연산하는 단계; 상기 초기값 정보에 기초한 상기 저계수 행렬 분해 프로세스를 수행하여 최선해를 연산하는 단계; 및 상기 최선해에 따라 임의 선호도 대상 항목에 대응하는 예측 선호도 정보를 포함하는 선호도 예측 행렬을 출력하는 단계를 포함하는 서비스 제공 장치가 사용자 단말로의 상품 또는 컨텐츠를 추천하는 추천 방법을 컴퓨터에서 실행시킬 수 있는 프로그램이다.The obtaining of a preference predicted value for each product or content may include: collecting user preference information corresponding to a pre-classified preference target item; Calculating statistics information based on the user preference information; Calculating initial value information for a low coefficient matrix decomposition process for prediction of preference based on the statistical information; Calculating a best solution by performing the low coefficient matrix decomposition process based on the initial value information; And outputting a preference prediction matrix including predicted preference information corresponding to a random preference target item according to the best solution to execute a recommendation method for recommending a product or content to a user terminal on a computer. It is a program that can be.

본 발명의 실시 예에 따르면, 사용자 선호도 정보에 기초한 통계량 정보를 연산하고, 상기 통계량 정보에 기초하여 선호도 예측용 저계수 행렬 분해 프로세스를 위한 초기값 정보를 연산하게 함으로써, 저계수 행렬 분해 프로세스가 정확한 사용자 통계분석을 토대로 처리될 수 있고, 따라서 동일 분류 내 다른 임의의 항목에 대한 선호도 예측에 있어서의 보다 정확하면서도 빠른 협헙 필터링 기반 선호도 예측을 가능하게 한다.According to an embodiment of the present invention, by calculating statistics information based on user preference information and calculating initial value information for a low coefficient matrix decomposition process for prediction of preference based on the statistics information, the low coefficient matrix decomposition process is accurate. It can be processed based on user statistical analysis, thus enabling a more accurate and fast collaboration filtering-based preference prediction in predicting preference for other arbitrary items in the same classification.

따라서, 이용자가 선호도를 입력하지 않은 항목의 선호도에 대해서도 기존의 협업 필터링 방식 대비 보다 빠르고 정확하게 예측할 수 있고, 이를 통해, 연산 수행 시간을 단축시켜 전력 및 하드웨어 소모 정도를 줄이는 자원 절약 효과를 얻을 수 있다.Therefore, it is possible to predict the preferences of items for which the user does not enter preferences faster and more accurately than the existing collaborative filtering method, and through this, it is possible to obtain a resource saving effect that reduces power and hardware consumption by shortening computation execution time. .

도 1은 본 발명의 실시 예에 따른 전체 시스템을 개략적으로 도시한 블록도이다.
도 2는 본 발명의 실시 예에 따른 협업 필터링 기반 사용자 선호도 예측 장치를 보다 구체적으로 도시한 블록도이다.
도 3은 본 발명의 실시 예에 따른 사용자 선호도 예측 프로세스를 보다 구체적으로 도시한 흐름도이다.
1 is a block diagram schematically showing an entire system according to an embodiment of the present invention.
2 is a more detailed block diagram of an apparatus for predicting user preference based on collaborative filtering according to an embodiment of the present invention.
3 is a more detailed flowchart illustrating a user preference prediction process according to an embodiment of the present invention.

이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.The following content merely illustrates the principles of the present invention. Therefore, those skilled in the art can implement the principles of the present invention and invent various devices included in the concept and scope of the present invention, although not clearly described or illustrated herein. In addition, it is understood that all conditional terms and examples listed in this specification are, in principle, expressly intended only for the purpose of making the concept of the present invention understood, and are not limited to the embodiments and states specifically listed as such. Should be.

또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.In addition, it is to be understood that all detailed descriptions listing specific embodiments as well as principles, aspects and embodiments of the present invention are intended to include structural and functional equivalents of these matters. It should also be understood that these equivalents include not only currently known equivalents, but also equivalents to be developed in the future, that is, all devices invented to perform the same function regardless of structure.

따라서, 예를 들어, 본 명세서의 블럭도는 본 발명의 원리를 구체화하는 예시적인 회로의 개념적인 관점을 나타내는 것으로 이해되어야 한다. 이와 유사하게, 모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.Thus, for example, the block diagrams herein are to be understood as representing a conceptual perspective of exemplary circuits embodying the principles of the invention. Similarly, all flowcharts, state transition diagrams, pseudocodes, etc. are understood to represent various processes performed by a computer or processor, whether or not the computer or processor is clearly depicted and that can be represented substantially in a computer-readable medium. Should be.

또한 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 명확한 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비 휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지관용의 다른 하드웨어도 포함될 수 있다.In addition, the explicit use of terms presented as processor, control, or similar concepts should not be interpreted exclusively by referring to hardware capable of executing software, and without limitation, digital signal processor (DSP) hardware, ROM for storing software. It should be understood to implicitly include (ROM), RAM, and non-volatile memory. Other commonly used hardware may also be included.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. The above-described objects, features, and advantages will become more apparent through the following detailed description in connection with the accompanying drawings, whereby those of ordinary skill in the technical field to which the present invention pertains can easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that a detailed description of a known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 전체 시스템을 개략적으로 도시한 도면이다.1 is a diagram schematically showing an entire system according to an embodiment of the present invention.

도 1을 참조하면 본 발명의 일 실시 예에 따른 전체 시스템은, 서비스 제공 장치(200), 선호도 예측 장치(100) 및 사용자 단말(300)을 포함한다.Referring to FIG. 1, the entire system according to an embodiment of the present invention includes a service providing apparatus 200, a preference prediction apparatus 100, and a user terminal 300.

서비스 제공 장치(200)는 사용자 단말(300)로 상품 또는 컨텐츠 정보를 전달하는 서비스 처리를 제공하는 장치로서, 예를 들어 음악 컨텐츠 제공 서버, 영화 컨텐츠 제공 서버, 쇼핑몰 서버, 게임 서버 및 기타 다양한 상품 및 컨텐츠 제공 장치일 수 있다.The service providing device 200 is a device that provides service processing for delivering product or content information to the user terminal 300, for example, a music content providing server, a movie content providing server, a shopping mall server, a game server, and various other products. And a content providing device.

특히, 본 발명의 실시 예에 따른 서비스 제공 장치(200)는 사용자 선호도와 연관된 상품 또는 컨텐츠 추천 정보를 제공할 수 있는 바, 상품 또는 컨텐츠 추천 정보를 제공하기 위한 사용자의 선호도 정보 데이터베이스(210)를 사전 구축할 수 있으며, 데이터베이스(210)에 저장된 선호도 정보에 기초한 상품 또는 컨텐츠 정보를 각 사용자 단말(300)의 사용자별 선호도 분류에 따라 개인화하여 제공할 수 있다.In particular, the service providing apparatus 200 according to an embodiment of the present invention may provide product or content recommendation information related to user preference, and the user's preference information database 210 for providing product or content recommendation information It can be built in advance, and product or content information based on preference information stored in the database 210 can be personalized and provided according to the preference classification for each user of each user terminal 300.

그리고, 이러한 상품 또는 컨텐츠는 선호도 대상 항목별로 지정될 수 있으며, 선호도 대상 항목들은 임의의 분류 체계에 따른 분류 정보에 의해 매칭 분류될 수있다. 예를 들어, 선호도 대상 항목들은 품명, 모델명으로 구분 가능한 특정물품이거나, 파일명, 확장자로 구분 가능한 음악파일이거나, 이미지파일, 동영상 파일, 문서파일 등의 데이터 파일에 대응할 수 있으며, 각 파일들은 컨텐츠의 분류 기준에 따라, 해당 물품이나 컨텐츠가 속하는 카테고리 또는 장르 등으로 분류될 수 있다.In addition, such products or contents may be designated for each preference target item, and preference target items may be matched and classified according to classification information according to an arbitrary classification system. For example, items subject to preference may correspond to specific items that can be identified by product name and model name, music files that can be identified by file name and extension, or data files such as image files, video files, and document files, and each file is According to the classification criteria, the product or content may be classified into a category or genre to which it belongs.

또한, 선호도 대상 항목별 사용자 선호도 정보가 사용자 단말(300)로부터 입력되면, 서비스 제공 장치(200)는 이에 대응하는 선호도 정보 데이터를 구축하여 데이터베이스(210)에 저장 및 관리할 수 있다. 선호도 대상 항목에 대응하는 상품 또는 컨텐츠의 선호도 정보는 예를 들어, 상품 또는 컨텐츠의 구매, 상품 또는 컨텐츠의 조회, 타인으로의 소개, 개인영역으로의 스크랩, 평가 정보 입력, 사용이력, 사용유형, 사용횟수, 사용시간 중 적어도 하나가 포함될 수 있으며, 사용자 단말(300)의 다양한 입력 정보에 따라 결정될 수 있다.In addition, when user preference information for each preference target item is input from the user terminal 300, the service providing device 200 may construct the corresponding preference information data and store and manage it in the database 210. Preference information of products or contents corresponding to the items subject to preference may include, for example, purchase of products or contents, inquiry of products or contents, introductions to others, scraps to personal areas, input of evaluation information, usage history, usage types, At least one of the number of times of use and the use time may be included, and may be determined according to various input information of the user terminal 300.

그리고, 서비스 제공 장치(200)는, 선호도 예측 장치(100)를 통해, 사용자 단말(300)로 사용자별 개인화된 분류 정보에 대응한 선호도 대상 항목의 각 선호도를 예측하고, 이에 따라, 개인화된 상품 또는 컨텐츠 추천 정보를 제공할 수 있다.And, the service providing device 200, through the preference prediction device 100, predicts each preference of the preference target item corresponding to the personalized classification information for each user to the user terminal 300, and accordingly, the personalized product Alternatively, content recommendation information may be provided.

이를 위해, 본 발명의 실시 예에 따른 선호도 예측 장치(100)는 데이터베이스(210)를 통해 사전 저장된 사용자 선호도 정보를 수집하고, 수집된 사용자 선호도 정보에 기초한 협업 필터링 기반의 선호도 예측 행렬을 산출하여, 서비스 제공 장치(200)로 제공할 수 있다.To this end, the preference prediction apparatus 100 according to an embodiment of the present invention collects user preference information stored in advance through the database 210 and calculates a preference prediction matrix based on collaborative filtering based on the collected user preference information, It may be provided to the service providing device 200.

이에 따라, 서비스 제공 장치(200)는 선호도 예측 장치(100)에서 사전 구축된 선호도 예측 행렬을 이용한 협업 필터링 결과를 이용하여, 상기 사용자 정보에 대응하는 상품 또는 컨텐츠별 선호도 예측값을 획득할 수 있으며, 상기 획득된 선호도 예측값에 기초한 추천 상품 또는 컨텐츠 정보를 상기 사용자 단말로 제공할 수 있다.Accordingly, the service providing apparatus 200 may obtain a preference predicted value for each product or content corresponding to the user information by using the result of collaborative filtering using the preference prediction matrix pre-built in the preference predicting apparatus 100, Recommended product or content information based on the obtained preference predicted value may be provided to the user terminal.

특히, 본 발명의 실시 예에 따른 선호도 예측 장치(100)는 저계수 행렬 분해 기반의 협업 필터링 프로세스를 수행하여 선호도 예측 행렬을 획득하되, 기존의 협업 필터링 방식과는 달리, 그 초기값 또는 초기 행렬을 모집단인 사용자 특성이 적절하게 반영되도록 설정함으로써, 모든 입력 데이터가 균등 확률로 임의추출된다는 전제 오류 없이도 보다 빠르고 정확하게 동작할 수 있는 협업 필터링 기반의 예측 행렬 산출 처리를 수행한다.In particular, the preference prediction apparatus 100 according to an embodiment of the present invention obtains a preference prediction matrix by performing a cooperative filtering process based on a low coefficient matrix decomposition, but unlike the existing cooperative filtering method, the initial value or initial matrix By setting to properly reflect the user characteristics of the population, a predictive matrix calculation process based on collaborative filtering that can operate more quickly and accurately without an error on the assumption that all input data are randomly extracted with equal probability is performed.

이를 도 2 및 도 3을 참조하여 보다 구체적으로 설명하도록 한다.This will be described in more detail with reference to FIGS. 2 and 3.

먼저, 도 2는 본 발명의 실시 예에 따른 협업 필터링 기반 사용자 선호도 예측 장치를 보다 구체적으로 도시한 블록도이다.First, FIG. 2 is a block diagram showing in more detail an apparatus for predicting user preference based on collaborative filtering according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 실시 예에 따른 선호도 예측 장치(100)는, 선호도 정보 수집부(110), 통계량 연산부(120), 초기값 연산부(125), 최선해 연산부(130) 및 출력부(140)를 포함한다.2, the preference prediction apparatus 100 according to an embodiment of the present invention includes a preference information collection unit 110, a statistic calculation unit 120, an initial value calculation unit 125, a best solution calculation unit 130, and an output. Includes section 140.

먼저, 선호도 정보 수집부(110)는 서비스 제공 장치(200)에서 사전 분류된 선호도 대상 항목에 대응하는 사용자 선호도 정보를 수집한다.First, the preference information collection unit 110 collects user preference information corresponding to a preference target item pre-categorized in the service providing device 200.

여기서, 선호도 정보 수집부(110)는 선호도 예측 분석을 위한 복수의 선호도 대상 항목 및 상기 복수의 선호도 대상 항목를 포괄하는 분류 정보를 관리자 단말 또는 관리자로부터 입력받아 사전 설정할 수 있으며, 상기 복수의 선호도 대상 항목 중 적어도 하나 이상의 일부 항목에 대응하는 사용자 선호도 정보를 수집할 수 있다.Here, the preference information collection unit 110 may receive a plurality of preference target items for preference prediction analysis and classification information including the plurality of preference target items from a manager terminal or a manager and preset them, and the plurality of preference target items User preference information corresponding to at least one or more of some items may be collected.

그리고, 통계량 연산부(120)는 상기 사용자 선호도 정보에 기초한 통계량 정보를 연산하여 초기값 연산부(125)로 전달한다.In addition, the statistic calculation unit 120 calculates statistic information based on the user preference information and transmits it to the initial value calculation unit 125.

여기서, 통계량 연산부(120)는 상기 일부 항목에 대응하는 사용자 선호도 정보의 제1 통계량 정보를 연산할 수 있다. 상기 제1 통계량 정보의 연산을 위해, 통계량 연산부(120)는 상기 저계수 행렬 분해 프로세스에 따라 획득되는 분해 후 행렬의 구성 요소인 행렬들이 상호 독립임을 전제로, 상기 일부 항목에 대응하는 사용자 선호도 정보로부터 분해 전의 제1 행렬를 획득하고, 상기 제1 행렬을 이용한 통계 연산에 따라, 상기 제1 통계량 정보를 연산할 수 있다. 이와 관련한 보다 구체적인 연산 프로세스는 도 3에서 후술하도록 한다.Here, the statistic calculation unit 120 may calculate first statistic information of user preference information corresponding to the some items. For the calculation of the first statistic information, the statistic calculation unit 120 assumes that matrices that are components of the matrix after decomposition obtained according to the low coefficient matrix decomposition process are mutually independent, and user preference information corresponding to the some items A first matrix before decomposition may be obtained from, and the first statistic information may be calculated according to a statistical operation using the first matrix. A more detailed operation process related to this will be described later in FIG. 3.

이에 따라, 초기값 연산부(125)는 상기 제1 통계량 정보를 갖도록 하는 초기값 행렬을 산출할 수 있다.Accordingly, the initial value calculator 125 may calculate an initial value matrix to have the first statistic information.

보다 구체적으로, 초기값 연산부(125)는 상기 제1 통계량 정보로부터 상기 분해 후 행렬들의 구성 원소인 상기 초기값 정보가 가져야 하는 제2 통계량 정보를 연산할 수 있으며, 상기 초기값 정보가 균등분포에 따라 상기 제2 통계량 정보와 동일하게 산출되도록 하는 상기 분해 후 행렬들의 구성 원소들을 설정할 수 있고, 상기 분해 후 행렬들의 구성 원소에 기초하여 상기 초기값 정보를 연산함으로써 상기 초기값 행렬을 산출할 수 있다. 마찬가지로, 이와 관련한 보다 구체적인 연산 프로세스는 도 3에서 후술하도록 한다.More specifically, the initial value calculation unit 125 may calculate second statistics information that the initial value information, which is a constituent element of the matrices after the decomposition, from the first statistics information, and the initial value information is in a uniform distribution. Accordingly, constituent elements of the matrices after decomposition can be set to be calculated in the same manner as the second statistical information, and the initial value matrix can be calculated by calculating the initial value information based on constituent elements of the matrices after decomposition. . Likewise, a more specific calculation process related to this will be described later in FIG. 3.

한편, 최선해 연산부(130)는 상기 초기값 정보에 기초한 상기 저계수 행렬 분해 프로세스를 수행하여 최선해를 연산할 수 있다.Meanwhile, the best solution calculating unit 130 may calculate the best solution by performing the low coefficient matrix decomposition process based on the initial value information.

그리고, 출력부(140)는 상기 최선해에 따라 임의 선호도 대상 항목에 대응하는 예측 선호도 정보를 포함하는 선호도 예측 행렬을 출력하여, 서비스 제공 장치(200)로 전달할 수 있다.In addition, the output unit 140 may output a preference prediction matrix including prediction preference information corresponding to an arbitrary preference target item according to the best solution, and transmit the output to the service providing apparatus 200.

도 3은 본 발명의 실시 예에 따른 사용자 선호도 예측 프로세스를 보다 구체적으로 도시한 흐름도이다.3 is a more detailed flowchart illustrating a user preference prediction process according to an embodiment of the present invention.

도 3을 참조하면 본 발명의 실시 예에 따른 서비스 제공 장치(200)는, 먼저 선호도 대상 항목 및 분류 정보를 설정하며(S101), 설정된 선호도 대상 항목 및 분류 정보에 따라, 사용자 단말(300)로부터 입력된 사용자 선호도 정보를 데이터베이스(210)에 분류 저장한다(S103).Referring to FIG. 3, the service providing apparatus 200 according to an embodiment of the present invention first sets a preference target item and classification information (S101), and according to the set preference target item and classification information, from the user terminal 300 The input user preference information is classified and stored in the database 210 (S103).

이에 따라, 선호도 예측 장치(100)는 분류 저장된 데이터베이스(210)로부터 임의 분류 정보에 포함되는 복수의 선호도 대상 항목들 중 적어도 일부에 대응하는 사용자 선호도 정보를 수집한다(S105).Accordingly, the preference prediction apparatus 100 collects user preference information corresponding to at least some of the plurality of preference target items included in the random classification information from the classified and stored database 210 (S105).

예를 들어, 서비스 제공 장치(200)를 통해 서비스를 제공하는 서비스 제공자 또는 서버 관리자는, 선호도 대상 항목에 대응하는 대분류를 설정하고, 이에 대응하는 복수의 선호도 대상 항목을 사전 설정할 수 있다.For example, a service provider or a server manager providing a service through the service providing apparatus 200 may set a large category corresponding to a preference target item and preset a plurality of preference target items corresponding thereto.

예를 들어, 서비스 제공 장치(200)는 과일이라는 상품 대분류 내에 속한 항목들에 대해 선호도 예측에 따른 추천 서비스를 사용자 단말(300)로 제공할 수 있으며, 이를 위해 서비스 제공 장치(200)에는 사과, 배, 귤 등과 같은 과일의 대분류에 해당되는 분류 정보와, 상기 분류 정보에 매칭되는 복수의 사용자 선호 항목들이 사전 입력 및 저장될 수 있다. 이러한 프로세스는 제공하고자 하는 상품 컨텐츠 서비스의 분야 또는 종류에 따라 다르게 처리될 수 있으나, 유사 분야 또는 종류인 경우에는 초기 항목 입력에 대응하는 업데이트 항목 입력 프로세스로 대체될 수 있다.For example, the service providing device 200 may provide the user terminal 300 with a recommendation service according to a preference prediction for items belonging to a large product category called fruit. To this end, the service providing device 200 may provide an apple, Classification information corresponding to a large classification of fruits such as pears and tangerines, and a plurality of user preference items matching the classification information may be input and stored in advance. This process may be processed differently according to the field or type of the product content service to be provided, but in the case of a similar field or type, it may be replaced with an update item input process corresponding to the initial item input.

그리고, 사용자는 사용자 단말(300)의 입력에 따라 상기 항목들 중 적어도 일부에 대응하는 선호도 정보를 입력할 수 있다. 선호도 정보는 사용자가 직접 입력한 선호도 수치이거나, 서비스 제공 장치(200)에서 제시한 선택지에 대응하는 선택 입력일 수 있다. 나아가, 선호도 정보는 사용자의 행위 입력에 대응하는 점수 부여로도 산출될 수 있는 바, 예를 들어, 상품 또는 컨텐츠의 구매, 상품 또는 컨텐츠의 조회, 타인으로의 소개, 개인영역으로의 스크랩, 평가 정보 입력, 사용이력, 사용유형, 사용횟수, 사용시간 중 적어도 하나가 포함될 수 있으며, 사용자 단말(300)의 다양한 입력 정보에 따라 결정될 수 있다.In addition, the user may input preference information corresponding to at least some of the items according to an input of the user terminal 300. The preference information may be a preference value directly input by the user, or may be a selection input corresponding to an option presented by the service providing apparatus 200. Furthermore, preference information can also be calculated by assigning points corresponding to the user's behavior input, for example, purchase of products or contents, inquiry of products or contents, introduction to others, scraps to personal areas, evaluation At least one of information input, usage history, usage type, usage frequency, and usage time may be included, and may be determined according to various input information of the user terminal 300.

서비스 제공 장치(200)는 선호도의 척도는 제한하지 않되 수치화가 가능한 형태로 설정하여 입력을 받을 수 있으며, 특정 항목에 대응하는 응답 횟수가 지나치게 적어지지 않도록 최소한의 임계치를 설정할 수 있다.The service providing apparatus 200 is not limited to a preference scale, but may be set in a form that can be quantified to receive an input, and may set a minimum threshold so that the number of responses corresponding to a specific item is not too small.

또한, 사용자가 특정 항목에 대해 선호도를 입력하는 행위 자체 또한, 선호도의 모집단으로부터 표본을 추출함에 있어서 영향력이 있는 행위로 간주될 수 있는 바, 본 발명의 실시 예에 따른 선호도 예측 장치(100)는 이에 대응하는 통계량 연산을 수행함으로써 저계수 행렬 분해 프로세스에 대응한 초기값을 설정하여 그 분석 및 예측 정확도와 속도를 향상시킬 수 있다.In addition, the act of inputting a preference for a specific item by the user itself may also be regarded as an influential activity in extracting a sample from the population of preferences. The preference prediction apparatus 100 according to an embodiment of the present invention By performing a statistic calculation corresponding thereto, an initial value corresponding to a process of decomposing a low coefficient matrix can be set to improve accuracy and speed of analysis and prediction.

이를 위해, 먼저 선호도 예측 장치(100)는 수집된 사용자 선호도 정보에 기초한 제1 통계량을 연산하며(S107), 이후 제1 통계량에 기초한 저계수 행렬 분해 프로세스의 초기값 설정을 위한 제2 통계량을 연산하고(S109), 균등분포에 따른 제2 통계량을 갖는 초기값 행렬을 획득하며(S111), 수집된 사용자 선호도 정보에 대해, 상기 초기값 행렬을 이용한 저계수 행렬 분해 프로세스를 수행하여 최선해를 획득하여(S113), 상기 최선해에 따라 임의 선호도 대상 항목에 대응하는 예측 선호도 정보를 포함하는 선호도 예측 행렬을 출력한다(S115).To this end, the preference prediction apparatus 100 first calculates a first statistic based on the collected user preference information (S107), and then calculates a second statistic for setting an initial value of the low coefficient matrix decomposition process based on the first statistic. (S109), obtaining an initial value matrix having a second statistic according to a uniform distribution (S111), and performing a low coefficient matrix decomposition process using the initial value matrix for the collected user preference information to obtain the best solution Then (S113), a preference prediction matrix including prediction preference information corresponding to a random preference target item is output according to the best solution (S115).

보다 구체적으로, 선호도 예측 장치(100)는, 통계량 연산부(120)를 통해, 사전 수집된 일부 선호도 항목에 대응하는 선호도 정보에 기초하여 완성하고자 하는 행렬 X (X ∈ Rmxn)을 구성하고, 구성된 행렬 X에 대응하는 제1 통계량 정보를 연산할 수 있다.More specifically, the preference prediction apparatus 100 constructs a matrix X (X ∈ R mxn ) to be completed based on the preference information corresponding to some preference items collected in advance through the statistic calculation unit 120, First statistic information corresponding to the matrix X may be calculated.

여기서, 행렬 X를 구성하는 선호도 항목 정보는 미리 입력된 일부의 선호도 항목에 대응하는 원소들을 포함하고, 나머지 원소들은 미지의 원소가 할당된 상태로 구성될 수 있으나, 충분한 수의 데이터가 수집된 경우 입력되지 않은 나머지 원소들 또한 제1 통계량 정보와 같거나 유사한 통계 특성을 가진다고 볼 수 있으며, 따라서, 통계량 연산부(120)는 먼저 확인된 일부의 사용자 선호도 정보만으로도 전체 행렬 X의 제1 통계량 정보를 예측하여 산출할 수 있다. 예를 들어, 전체 사용자 선호도 정보의 평균 μ 및 분산 σ2은 제1 통계량 정보의 평균 및 분산으로부터 예측될 수 있다.Here, the preference item information constituting the matrix X includes elements corresponding to some of the preference items previously input, and the remaining elements may be configured in a state in which unknown elements are assigned, but when a sufficient number of data is collected. The remaining elements that are not input can also be regarded as having the same or similar statistical characteristics as the first statistical information, and therefore, the statistics calculating unit 120 predicts the first statistical information of the entire matrix X with only some of the user preference information checked first. Can be calculated by For example, the average μ and the variance σ 2 of all user preference information may be predicted from the average and variance of the first statistical information.

따라서, 사전 수집된 일부 선호도 항목에 대응하는 사용자 선호도 정보 입력값 행렬을 χ라 하고, Хij는 선호도 예측 행렬 χ의 i번째 행, j 번째 열에 위치한 임의의 원소라고 하면, 아래 수학식 1과 같은 관계가 성립할 수 있다.Therefore, suppose that the user preference information input value matrix corresponding to some preference items collected in advance is χ , and Хij is an arbitrary element located in the i-th row and j-th column of the preference prediction matrix χ, the relationship as in Equation 1 below. Can be established.

Figure pat00001
Figure pat00001

여기서, χ는 사용자 선호도 정보 입력 값 행렬, Хij는 상기 선호도 예측 행렬 χ의 i번째 행, j 번째 열에 위치한 원소이며, 행렬 χ에 속한 원소일 수 있다. E()는 평균연산 함수 , V()는 분산연산 함수를 나타낼 수 있다.Here, χ is a user preference information input value matrix, Хij is an element located in the i-th row and j-th column of the preference prediction matrix χ , and may be an element belonging to the matrix χ . E() can be an average operation function and V() can be a variance operation function.

이에 따라, 통계량 연산부(120)는 1차적으로 산출된 행렬 X의 제1 통계량 정보(예를 들어, 평균 μ 및 분산 σ2)에 기초하여, 저계수 행렬 분해 프로세스를 수행하여 획득되는 상호 독립적인 초기값 행렬 P 및 Q의 제2 통계량 정보를 사전 결정할 수 있다.Accordingly, based on the first statistics information (eg, average μ and variance σ 2 ) of the matrix X that is primarily calculated, the statistic calculation unit 120 performs a low coefficient matrix decomposition process to obtain mutually independent Second statistics information of the initial value matrices P and Q may be determined in advance.

이에 따라, 제2 통계량 정보는 행렬 P, Q의 하이퍼 파라미터로 사용될 수 있으며, 초기값 연산부(125)는 행렬 X의 계수 k가 행렬 X의 행의 개수 또는 열의 개수 중 더 작은 값보다 작다는 전제 하에 행렬 X를 분해함으로써 최선해 획득을 위한 초기값 행렬 P 및 Q를 획득할 수 있다. P 및 Q와 행렬 X와의 각 원소간 관계는 아래 수학식 2와 같이 설명될 수 있다.Accordingly, the second statistic information can be used as a hyper parameter of the matrices P and Q, and the initial value operator 125 assumes that the coefficient k of the matrix X is smaller than the smaller of the number of rows or columns of the matrix X. By decomposing the matrix X below, the initial value matrices P and Q for obtaining the best solution can be obtained. The relationship between each element of P and Q and the matrix X may be described as in Equation 2 below.

Figure pat00002
Figure pat00002

특히, 행렬 P, Q에 대응하는 임의의 원소 변수 p, q는 그 통계량이 Xij, 즉 선호도 입력 값 행렬 χ의 제1 통계량으로부터 유도된 값과 동일하게 설정되어야 하므로, 평균 값 E(p)=E(q) 이고, 분산 값 V(p)=V(q)여야 한다. 이 때, p, q가 상호 독립임을 전제로, 평균 및 분산의 성질에 따라 아래와 같은 수학식 3이 산출될 수 있다.In particular, any element variables p and q corresponding to the matrices P and Q must have their statistic set equal to X ij , that is, the value derived from the first statistic of the preference input matrix χ , so the mean value E(p) =E(q), and the variance value V(p)=V(q). At this time, on the premise that p and q are mutually independent, Equation 3 below can be calculated according to the properties of the mean and variance.

Figure pat00003
Figure pat00003

여기서, k는 전술한 바와 같이 행렬 X에 사전 설정된 계수일 수 있으며, 따라서 선호도 입력 값 행렬 χ의 제1 통계량 정보로부터 p 및 q의 제2 통계량 정보가 수학식 3과 같이 산출될 수 있게 된다.Here, k may be a coefficient preset in the matrix X as described above, and thus, the second statistics information of p and q can be calculated from the first statistics information of the preference input value matrix χ as shown in Equation 3.

이에 따라, 초기값 연산부(125)는, 초기값 P, Q의 원소 p, q가 각각 수학식 3에 대응하는 제2 통계량을 갖도록 행렬 P 및 행렬 Q를 연산할 수 잇다. 이 때, 초기값 연산부(125)는 p, q의 개별 값들이 제2 통게량을 갖는 균등분포가 되도록 설정하여 초기값 행렬 P 및 행렬 Q를 예측 구성할 수 있다. 정규분포의 경우 평균으로부터 멀리 떨어져 있는 값을 제거 및 보정하는 과정에서 분산이 변경되어 오류가 발생될 수 있기 때문에다.Accordingly, the initial value calculating unit 125 may calculate the matrix P and the matrix Q such that the elements p and q of the initial values P and Q have the second statistics corresponding to Equation 3, respectively. In this case, the initial value calculating unit 125 may predict the initial value matrix P and the matrix Q by setting the individual values of p and q to be a uniform distribution having the second amount. This is because in the case of a normal distribution, an error may occur because the variance is changed in the process of removing and correcting values far from the mean.

한편, 최선해 연산부(130)는 설정된 초기값 P 및 Q에 기초하여 저계수 행렬 분해 프로세스를 수행하며, 이는 일반적 최적화 프로세스와 동일하게 수행되어, 최선해인 출력 값이 도출될 수 있다. 최적화 프로세스를 위한 연산식을 수학식으로 나타내면 아래 수학식 4와 같이 설명될 수 있다.Meanwhile, the best solution operator 130 performs a low coefficient matrix decomposition process based on the set initial values P and Q, which is performed in the same manner as a general optimization process, so that an output value that is the best solution may be derived. When an equation for the optimization process is expressed as an equation, it can be described as in equation 4 below.

Figure pat00004
Figure pat00004

한편, 최선해 연산부(130)에서 연산된 최선해에 따른 선호도 예측 행렬은 출력부(140)를 통해 서비스 제공 장치(200)로 출력될 수 있으며, 선호도 예측 행렬은 선호도가 입력되지 않은 임의의 항목들에 대하여도 적절한 예측 선호도 정보가 할당된 행렬일 수 있다.On the other hand, the preference prediction matrix according to the best solution calculated by the best solution operator 130 may be output to the service providing device 200 through the output unit 140, and the preference prediction matrix is an arbitrary item for which no preference is input. Also, it may be a matrix to which appropriate prediction preference information is allocated.

이에 따라, 서비스 제공 장치(200)는 선호도 예측 행렬을 이용한 사용자 단말(300) 이용자의 상품 또는 컨텐츠별 선호도 예측 값을 획득하고(S117), 획득된 선호도 예측 값에 기초한 추천 상품 또는 컨텐츠 정보를 사용자 단말(300)로 제공할 수 있게 된다(S119).Accordingly, the service providing apparatus 200 obtains a preference prediction value for each product or content of the user of the user terminal 300 using the preference prediction matrix (S117), and provides the user with recommended product or content information based on the obtained preference prediction value. It can be provided to the terminal 300 (S119).

한편, 상술한 본 발명의 다양한 실시 예들에 따른 방법은 프로그램으로 구현되어 다양한 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장된 상태로 각 서버 또는 기기들에 제공될 수 있다.Meanwhile, the above-described method according to various embodiments of the present invention may be implemented as a program and provided to each server or devices while being stored in various non-transitory computer readable media.

비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.The non-transitory readable medium refers to a medium that stores data semi-permanently and can be read by a device, not a medium that stores data for a short moment, such as a register, cache, or memory. Specifically, the above-described various applications or programs may be provided by being stored in a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, and ROM.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.In addition, although the preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the claims. In addition, various modifications are possible by those of ordinary skill in the art, and these modifications should not be individually understood from the technical spirit or prospect of the present invention.

Claims (7)

서비스 제공 장치가 사용자 단말로의 상품 또는 컨텐츠를 추천하는 추천 방법을 컴퓨터에서 실행시키기 위한 프로그램에 있어서,
상기 사용자 단말의 사용자 선호도 정보를 획득하는 단계;
선호도 예측 장치로부터 미리 구축된 선호도 예측 행렬을 이용한 협업 필터링을 수행하여, 상기 사용자 정보에 대응하는 상품 또는 컨텐츠별 선호도 예측값을 획득하는 단계; 및
상기 획득된 선호도 예측값에 기초한 추천 상품 또는 컨텐츠 정보를 상기 사용자 단말로 제공하는 단계를 포함하고,
상기 상품 또는 컨텐츠별 선호도 예측값을 획득하는 단계는,
사전 분류된 선호도 대상 항목에 대응하는 사용자 선호도 정보를 수집하는 단계;
상기 사용자 선호도 정보에 기초한 통계량 정보를 연산하는 단계;
상기 통계량 정보에 기초하여, 선호도 예측용 저계수 행렬 분해 프로세스를 위한 초기값 정보를 연산하는 단계;
상기 초기값 정보에 기초한 상기 저계수 행렬 분해 프로세스를 수행하여 최선해를 연산하는 단계; 및
상기 최선해에 따라 임의 선호도 대상 항목에 대응하는 예측 선호도 정보를 포함하는 선호도 예측 행렬을 출력하는 단계를 포함하는
서비스 제공 장치의 삼품 또는 컨텐츠 추천 방법을 컴퓨터에서 실행시키기 위한 프로그램.
In a program for executing on a computer a recommendation method for a service providing device to recommend a product or content to a user terminal,
Obtaining user preference information of the user terminal;
Performing collaborative filtering using a preference prediction matrix built in advance from a preference prediction apparatus, and obtaining a preference prediction value for each product or content corresponding to the user information; And
Providing recommended product or content information based on the obtained preference predicted value to the user terminal,
The step of obtaining a preference predicted value for each product or content,
Collecting user preference information corresponding to a pre-classified preference target item;
Calculating statistics information based on the user preference information;
Calculating initial value information for a low coefficient matrix decomposition process for prediction of preference based on the statistical information;
Calculating a best solution by performing the low coefficient matrix decomposition process based on the initial value information; And
And outputting a preference prediction matrix including prediction preference information corresponding to a random preference target item according to the best solution.
A program for executing a method of recommending three products or contents of a service providing device on a computer.
제1항에 있어서,
상기 선호도 정보를 수집하는 단계는,
선호도 예측 분석을 위한 복수의 선호도 대상 항목 및 상기 복수의 선호도 대상 항목를 포괄하는 분류 정보를 입력받는 단계; 및
상기 복수의 선호도 대상 항목 중 적어도 하나 이상의 일부 항목에 대응하는 사용자 선호도 정보를 수집하는 단계를 포함하는
서비스 제공 장치의 삼품 또는 컨텐츠 추천 방법을 컴퓨터에서 실행시키기 위한 프로그램.
The method of claim 1,
Collecting the preference information,
Receiving a plurality of preference target items for a preference prediction analysis and classification information including the plurality of preference target items; And
Comprising the step of collecting user preference information corresponding to at least one or more partial items among the plurality of preference target items
A program for executing a method of recommending three products or contents of a service providing device on a computer.
제2항에 있어서,
상기 통계량 정보를 연산하는 단계는, 상기 일부 항목에 대응하는 사용자 선호도 정보의 제1 통계량 정보를 연산하는 단계를 포함하고,
상기 초기값을 연산하는 단계는,
상기 제1 통계량 정보에 기초한 초기값 행렬을 산출하는 단계를 포함하는
서비스 제공 장치의 삼품 또는 컨텐츠 추천 방법을 컴퓨터에서 실행시키기 위한 프로그램.
The method of claim 2,
The calculating of the statistical information includes calculating first statistical information of user preference information corresponding to the partial item,
The step of calculating the initial value,
Comprising the step of calculating an initial value matrix based on the first statistical information
A program for executing a method of recommending three products or contents of a service providing device on a computer.
제3항에 있어서,
상기 통계량 정보를 연산하는 단계는,
상기 저계수 행렬 분해 프로세스에 따라 획득되는 분해 후 행렬의 구성 요소인 행렬들이 상호 독립임을 전제로, 상기 일부 항목에 대응하는 사용자 선호도 정보로부터 분해 전의 전체 사용자 선호도 정보에 대응하는 제1 행렬을 획득하고, 상기 제1 행렬의 상기 제1 통계량 정보를 연산하는 단계를 포함하는
서비스 제공 장치의 삼품 또는 컨텐츠 추천 방법을 컴퓨터에서 실행시키기 위한 프로그램.
The method of claim 3,
Computing the statistical information,
Assuming that matrices, which are components of the matrix after decomposition obtained according to the low coefficient matrix decomposition process, are mutually independent, a first matrix corresponding to all user preference information before decomposition is obtained from the user preference information corresponding to the some items, and And calculating the first statistic information of the first matrix.
A program for executing a method of recommending three products or contents of a service providing device on a computer.
제4항에 있어서,
상기 초기값을 연산하는 단계는,
상기 제1 통계량 정보로부터 상기 분해 후 행렬들의 구성 원소를 포함하는 상기 초기값 정보가 가져야 하는 제2 통계량 정보를 연산하는 단계; 및
상기 초기값 정보가 균등분포에 따라 상기 제2 통계량 정보와 동일하게 산출되도록 하는 상기 분해 후 행렬들의 구성 원소들의 개별 값들을 설정하는 단계; 및
상기 분해 후 행렬들의 구성 원소에 기초하여 상기 초기값 정보를 연산하는 단계를 포함하는
서비스 제공 장치의 삼품 또는 컨텐츠 추천 방법을 컴퓨터에서 실행시키기 위한 프로그램.
The method of claim 4,
The step of calculating the initial value,
Calculating second statistic information to have in the initial value information including constituent elements of the matrices after the decomposition from the first statistic information; And
Setting individual values of constituent elements of the matrices after the decomposition such that the initial value information is calculated equally to the second statistic information according to a uniform distribution; And
Comprising the step of calculating the initial value information based on the constituent elements of the matrices after the decomposition
A program for executing a method of recommending three products or contents of a service providing device on a computer.
제4항에 있어서,
상기 제1 통계량 정보를 연산하는 단계는,
하기의 수학식 1에 기초하여, 일부 사용자 선호도 입력 값 행렬 χ에 대응하는 일부 통계량 정보로부터, 전체 사용자 선호도 정보인 행렬 X의 상기 제1 통계량 정보에 대응하는 평균 및 분산 값을 연산하는 단계를 포함하며,
(수학식 1)
Figure pat00005

여기서, χ는 사용자 선호도 정보 입력 값 행렬, Хij는 전체 선호도 항목에 대응하는 상기 선호도 예측 행렬 Х의 i번째 행, j 번째 열에 위치한 원소이며, E()는 평균연산 함수 , V()는 분산연산 함수를 나타내는 것을 특징으로 하는
서비스 제공 장치의 삼품 또는 컨텐츠 추천 방법을 컴퓨터에서 실행시키기 위한 프로그램.
The method of claim 4,
Computing the first statistical information,
Based on Equation 1 below, from some statistical information corresponding to some user preference input value matrix χ , calculating an average and variance value corresponding to the first statistical information of the matrix X, which is all user preference information. And
(Equation 1)
Figure pat00005

Here, χ is the user preference information input value matrix, Хij is an element located in the i-th row and j-th column of the preference prediction matrix Х corresponding to the entire preference item, E() is an average operation function, and V() is a variance operation. Characterized in that it represents a function
A program for executing a method of recommending three products or contents of a service providing device on a computer.
제6항에 있어서,
상기 제2 통계량 정보를 연산하는 단계는,
하기 수학식 2의 관계에 따라, 초기값 정보 산출을 위한 상기 제2 통계량 정보인 초기값 행렬의 평균 및 분산을, 상기 제1 통계량 정보로부터 예측 연산하는 단계를 포함하며,
(수학식 2)
Figure pat00006

여기서, p, q 는 저계수 행렬 분해를 위한
Figure pat00007
조건을 만족하는 상기 분해 후 초기값 행렬들 P, Q 각각의 원소이고, k는 상기 선호도 예측 행렬 Х에 대해 사전 설정된 0이 아닌 계수로서, 상기 선호도 예측 행렬 Х의 행의 개수 또는 열의 개수 중 더 작은 값보다 작은 값을 가지는 것을 특징으로 하는
서비스 제공 장치의 삼품 또는 컨텐츠 추천 방법을 컴퓨터에서 실행시키기 위한 프로그램.
The method of claim 6,
Computing the second statistical information,
According to the relationship of Equation 2 below, predicting and calculating the average and variance of the initial value matrix, which is the second statistical information for calculating initial value information, from the first statistical information,
(Equation 2)
Figure pat00006

Here, p, q are for low coefficient matrix decomposition
Figure pat00007
The initial value of the matrices P, Q, each of the elements after the decomposition, which satisfies the conditions, k is a factor other than a pre-set zero for the affinity prediction matrix Х, more of the number or the number of columns in the row of the affinity prediction matrix Х Characterized in that it has a value smaller than a smaller value
A program for executing a method of recommending three products or contents of a service providing device on a computer.
KR1020190074220A 2019-06-21 2019-06-21 A program for the product or content recommendation service KR20200145346A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190074220A KR20200145346A (en) 2019-06-21 2019-06-21 A program for the product or content recommendation service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190074220A KR20200145346A (en) 2019-06-21 2019-06-21 A program for the product or content recommendation service

Publications (1)

Publication Number Publication Date
KR20200145346A true KR20200145346A (en) 2020-12-30

Family

ID=74088800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190074220A KR20200145346A (en) 2019-06-21 2019-06-21 A program for the product or content recommendation service

Country Status (1)

Country Link
KR (1) KR20200145346A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113158023A (en) * 2021-02-05 2021-07-23 杭州码全信息科技有限公司 Public digital life accurate classification service method based on mixed recommendation algorithm
KR102621588B1 (en) * 2023-07-20 2024-01-04 김경태 Fabric selection method through user taste and trend analysis and clothing manufacturing system using it

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113158023A (en) * 2021-02-05 2021-07-23 杭州码全信息科技有限公司 Public digital life accurate classification service method based on mixed recommendation algorithm
KR102621588B1 (en) * 2023-07-20 2024-01-04 김경태 Fabric selection method through user taste and trend analysis and clothing manufacturing system using it

Similar Documents

Publication Publication Date Title
CN110321422B (en) Method for training model on line, pushing method, device and equipment
Wu et al. Learning contextual bandits in a non-stationary environment
CN109902708B (en) Recommendation model training method and related device
US11526799B2 (en) Identification and application of hyperparameters for machine learning
Bagher et al. User trends modeling for a content-based recommender system
CN110825966B (en) Information recommendation method and device, recommendation server and storage medium
CN109492180A (en) Resource recommendation method, device, computer equipment and computer readable storage medium
US10380649B2 (en) System and method for logistic matrix factorization of implicit feedback data, and application to media environments
KR101827345B1 (en) Personalized recommendation system and its method using multiple algorithms and self-learning function
US20230066853A1 (en) Method and apparatus for training information prediction models, method and apparatus for predicting information, and storage medium and device thereof
US10511681B2 (en) Establishing and utilizing behavioral data thresholds for deep learning and other models to identify users across digital space
CN112380449B (en) Information recommendation method, model training method and related device
US20210158177A1 (en) Method and system for recommending digital content
Wang et al. Modeling uncertainty to improve personalized recommendations via Bayesian deep learning
CN113254795B (en) Training method and device for recommendation model
KR102088855B1 (en) An apparatus for predicting user preferences based on collaborative filtering, a method using it and a service providing method thereof
KR20200145346A (en) A program for the product or content recommendation service
CN111209469A (en) Personalized recommendation method and device, computer equipment and storage medium
Guan et al. Enhanced SVD for collaborative filtering
KR20200145349A (en) A recording media for products or content recommendation service programs
KR20200145344A (en) A method of providing products or contents recommendation service using user preference prediction based on collaborative filtering
KR20200145292A (en) A computer-readable recording medium on which a program for executing a user preference prediction method based on collaborative filtering is recorded
CN115545784A (en) Service recommendation method and device, computer equipment and storage medium
KR20200145289A (en) A program for executing a method of predicting user preferences based on collaborative filtering on a computer
KR20200145282A (en) An method for predicting user preferences based on collaborative filtering