KR100631806B1 - Method and system for music recommendation by using graph representing relations between musics - Google Patents

Method and system for music recommendation by using graph representing relations between musics Download PDF

Info

Publication number
KR100631806B1
KR100631806B1 KR1020050039262A KR20050039262A KR100631806B1 KR 100631806 B1 KR100631806 B1 KR 100631806B1 KR 1020050039262 A KR1020050039262 A KR 1020050039262A KR 20050039262 A KR20050039262 A KR 20050039262A KR 100631806 B1 KR100631806 B1 KR 100631806B1
Authority
KR
South Korea
Prior art keywords
music
preference
preferred
association
correlation
Prior art date
Application number
KR1020050039262A
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 KR1020050039262A priority Critical patent/KR100631806B1/en
Application granted granted Critical
Publication of KR100631806B1 publication Critical patent/KR100631806B1/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
    • 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/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • 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/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

A method and a system for recommending music using a graph representing relation among the music are provided to quickly and efficiently recommend the music suitable for user preference based on a graph model while recommending the music suitable for the user preference by using only the suggestive preference such as preferred music lists and music execution information. A preferred music database(100) stores the preferred music list and the preference information of many users. A correlation database(102) stores a correlation graph including the preference of the preferred music calculated from the preferred music list and the preference information, and correlation among the preferred music. A correlation graph updater(103) updates the correlation graph database by changing the data of the correlation graph if the preference information of the user is changed. A preferred music list extractor(104) extracts the preferred music list for the recommended user from the preferred music database if the recommended user is selected. A recommended music provider(112) provides a recommended music list by using an expected preference value calculated in a preference calculator(110).

Description

음악간 연관 관계를 나타내는 그래프를 이용한 음악 추천 방법 및 시스템{Method and System for Music Recommendation by Using Graph Representing Relations between Musics}Method and System for Music Recommendation by Using Graph Representing Relations between Musics}

도 1은 본 발명의 바람직한 실시예에 따른 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 시스템을 개략적으로 나타낸 블록 구성도,1 is a block diagram schematically illustrating a music recommendation system using a correlation graph showing a correlation between music according to a preferred embodiment of the present invention;

도 2a는 본 발명의 바람직한 실시예에 따른 연관 관계 그래프를 나타내기 위한 예시 데이터이며, 도 2b는 도 2a의 예시 데이터에 따라 작성된 연관 관계 그래프,FIG. 2A is an example data for illustrating an association graph according to a preferred embodiment of the present invention, and FIG. 2B is an association graph created according to the example data of FIG. 2A;

도 3은 본 발명의 바람직한 실시예에 따른 연관 관계 그래프의 갱신 과정을 나타낸 순서도,3 is a flowchart illustrating a process of updating an association graph according to a preferred embodiment of the present invention;

도 4는 본 발명의 바람직한 실시예에 따른 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 과정을 나타낸 순서도이다.4 is a flowchart illustrating a music recommendation process using an association graph showing an association relationship between music according to a preferred embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100: 선호 음악 데이터베이스 102: 연관 관계 데이터베이스100: preferred music database 102: association database

103: 연관 관계 그래프 갱신부103: association graph update unit

104: 선호 음악 리스트 추출부 106: 인접 음악 추출부104: favorite music list extraction unit 106: adjacent music extraction unit

108: 계산부 110: 선호도 계산부108: calculator 110: preference calculator

112: 추천 음악 제공부112: recommended music provider

본 발명은 음악간 연관 관계를 나타내는 그래프를 이용한 음악 추천 방법 및 시스템에 관한 것이다. 더욱 상세하게는, 사용자의 선호 음악 리스트 및 선호 정보 등을 이용하여 사용자의 취향에 맞는 음악을 추천하는 음악 추천 방법 및 시스템에 관한 것으로, 그래프 모델을 기반으로 하여 사용자의 취향에 맞는 음악을 빠르고 효율적으로 추천할 수 있게 하는 음악 추천 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for recommending music using a graph indicating a correlation between music. More specifically, the present invention relates to a music recommendation method and system for recommending music according to a user's taste by using the user's favorite music list and preference information. The present invention relates to a method and system for recommending music.

정보 통신 기술의 발달로 정보화 사회로 진행해 나감에 따라서, 사회, 문화 및 경제 등 전 분야에서 인터넷이 중요하고도 필수적인 매체로 자리 매김하고 있다. 그에 따라, 인터넷을 이용하는 사용자들은 인터넷을 이용하여 음악이나 영화 등의 멀티미디어 정보를 제공받고 있으며, 이러한 멀티미디어 정보를 제공하는 서비스가 점점 늘어나고 있는 추세이다.As information technology advances to the information society, the Internet is becoming an important and essential medium in all fields such as society, culture, and economy. Accordingly, users using the Internet are receiving multimedia information such as music or movies using the Internet, and a service for providing such multimedia information is increasing.

멀티미디어 정보 제공 서비스에서는 음악이나 영화 등 그 내용에 관한 분석이 쉽지 않은 아이템들에 대하여 개인적인 취향을 분석하고 추천하는 서비스도 함께 제공하고 있다. 이를 위해 종래에 사용됐던 방법으로는 내용 기반 추천 방법(Contents-Based Recommendation), 인구통계학적 추천 방법(Demographic Recommendation) 및 협동적 여과 추천 방법(Collaborative Filtering Recommendation) 등이 있다.The multimedia information service also provides services that analyze and recommend personal tastes for items that are not easy to analyze, such as music or movies. For this purpose, conventionally used methods include a contents-based recommendation method, a demographic recommendation method, and a collaborative filtering recommendation method.

여기서, 내용 기반 추천 방법이라 함은 아이템에 대한 내용을 설명하는 데이터들을 이용하여 추천 대상 사용자의 선호 아이템과 유사한 아이템을 추천하는 방법이고, 인구통계학적 추천 방법이라 함은 사용자에 대한 인구통계학적 데이터들을 이용하여 추천 대상 사용자와 유사한 사용자를 찾아내어 유사 사용자의 선호 아이템을 추천하는 방법이며, 협동적 여과 추천 방법이라 함은 사용자들의 아이템들에 대한 선호도 데이터를 이용하여 추천 대상 사용자와 유사한 선호도를 갖는 사용자를 찾거나 추천 대상 사용자의 선호 아이템과 유사한 선호도를 갖는 아이템을 찾아서 추천하는 방법을 말한다. 이 세 가지 방법 중 협동적 여과 추천 방법이 가장 많이 사용되고 있다.Here, the content-based recommendation method is a method of recommending items similar to the preferred item of the user to be recommended using data describing the content of the item, and the demographic recommendation method is demographic data about the user. It is a method of finding similar users and recommending similar items by using the user, and recommending similar items by the cooperative filtering recommendation method. The method refers to a method of finding a user or finding and recommending an item having a similar preference to that of a user to be recommended. Of these three methods, collaborative filtration recommendation is the most commonly used.

협동적 여과 추천 방법은 다수 사용자의 선호 아이템 정보를 바탕으로 추천 대상 사용자에게 취향에 맞는 아이템을 추천하는 것으로서, 유사 사용자를 찾는 방법과 유사 아이템을 찾는 방법이 있다. 유사 사용자를 찾는 방법은 추천 대상 사용자 u의 아이템들에 대한 선호도를 다른 사용자들의 아이템들에 대한 선호도와 비교하는 것으로서, 여기서 사용자 사이의 유사도는 피어슨 상관 계수(Pearson Correlation Coefficient)를 이용하여 구할 수 있다. 피어슨 상관 계수를 이용한 유사도 계산은 수학식 1과 같다.The collaborative filtering recommendation method is to recommend an item to a recommendation target user based on the preference item information of a plurality of users. There are a method of finding a similar user and a method of finding a similar item. The method of finding similar users is to compare the preferences of the items of the recommending user u with the preferences of the items of other users, wherein the similarity between users can be obtained using the Pearson Correlation Coefficient. . Similarity calculation using Pearson's correlation coefficient is shown in Equation 1.

Figure 112005024633603-pat00001
Figure 112005024633603-pat00001

여기서, W u,w 는 사용자 u와 사용자 w 사이의 유사도, r u,i 는 사용자 u의 아이템 i에 대한 선호도(또는 평가값),

Figure 112005024633603-pat00002
는 사용자 u의 선호도 평균을 의미한다.Where W u, w is the similarity between user u and user w , r u, i is user u 's preference (or evaluation value) for item i ,
Figure 112005024633603-pat00002
Denotes a preference average of user u .

한편, 추천 대상 사용자 u의 아이템 i에 대한 선호도 예측값은 유사 사용자의 선호도 가중 평균으로 수학식 2와 같이 계산된다.On the other hand, the preference prediction value for the item i of the recommendation user u is calculated as Equation 2 as a weighted average of preferences of similar users.

Figure 112005024633603-pat00003
Figure 112005024633603-pat00003

여기서 P u,i 가 사용자 사이의 유사도를 이용한 사용자 u의 아이템 i에 대한 선호도 예측값이다. Here, P u, i is a preference prediction value for the item i of the user u using the similarity between the users.

한편, 유사 아이템을 찾는 방법은 사용자 선호도로 추천 대상 사용자의 선호 아이템들과 다른 아이템들을 비교하는 것으로서 아이템 사이의 유사도는 전술한 것과 유사하게 피어슨 상관 계수에 의하여 수학식 3과 같이 계산된다.Meanwhile, a method of finding similar items is to compare the preferred items of the recommended target user with other items by user preference, and the similarity between the items is calculated by Equation 3 by Pearson's correlation coefficient similarly to the above.

Figure 112005024633603-pat00004
Figure 112005024633603-pat00004

여기서 W i,j 는 아이템 i와 아이템 j 사이의 유사도, r u,i 는 사용자 u 의 아이템 i 에 대한 선호도(혹은 평가값),

Figure 112005024633603-pat00005
는 아이템 i에 대한 선호도 평균을 의미한다.Where W i, j is the similarity between item i and j , r u, i is user u 's preference (or rating) for item i ,
Figure 112005024633603-pat00005
Denotes a preference mean for item i .

한편, 추천 대상 사용자 u 의 아이템 i 에 대한 선호도 예측값은 유사 아이템의 선호도 가중 평균으로 수학식 4와 같이 계산된다.On the other hand, the preference prediction value for the item i of the recommendation target user u is calculated as Equation 4 as the weighted average of the preference of similar items.

Figure 112005024633603-pat00006
Figure 112005024633603-pat00006

여기서 P u,i 가 아이템 사이의 유사도를 이용한 사용자 u의 아이템 i에 대한 선호도 예측값이다. Where P u, i is a predicted value for the preference the user u of the item i using the degree of similarity between items.

그러나 이러한 일반적인 협동적 여과 추천 방법은 실제 그 적용에 있어서, 사용자들의 아이템들에 대한 명시적인 선호도를 필요로 한다는 단점을 가진다. 또한, 사용자 사이 혹은 아이템 사이의 유사도를 계산할 때 사용자 수 및 아이템 수에 비례하여 많은 시간이 걸리게 된다는 단점이 있다. 특히 수백만의 사용자와 수십만의 아이템을 다루게 되는 음악 서비스 사이트에서 선호 음악 리스트와 음악 실행 횟수 등의 암시적인 선호도만을 이용하여 실시간으로 음악을 추천하기 위해서는 새로운 추천 방법이 요구되고 있는 실정이다. However, this general collaborative filtration recommendation method has a disadvantage in that its application requires an explicit preference for users' items. In addition, when calculating the similarity between users or between items, there is a disadvantage that it takes a lot of time in proportion to the number of users and the number of items. In particular, a new recommendation method is required in order to recommend music in real time using only implicit preferences such as a favorite music list and the number of music executions in a music service site dealing with millions of users and hundreds of thousands of items.

본 발명의 목적은 사용자의 선호 음악 리스트 및 음악 실행 정보 등의 암시적인 선호도만 이용하여 사용자의 취향에 맞는 음악을 추천하는 음악 추천 방법 및 시스템을 제공하되, 그래프 모델을 기반으로 하여 사용자의 취향에 맞는 음악을 빠르고 효율적으로 추천할 수 있게 하는 음악 추천 방법 및 이를 수행하기 위한 시스템을 제공하는 것이다. An object of the present invention is to provide a music recommendation method and system for recommending music that matches a user's taste using only implicit preferences such as a user's favorite music list and music execution information. To provide a music recommendation method and a system for performing the same that can recommend the right music quickly and efficiently.

전술한 바와 같은 목적을 달성하기 위하여, 본 발명에 의한 음악간 연관 관계를 나타내는 그래프를 이용한 음악 추천 방법 및 시스템은 다음과 같은 특징을 가진다. In order to achieve the object as described above, the music recommendation method and system using a graph showing the correlation between music according to the present invention has the following features.

본 발명은, 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 방법에 있어서, (a) 추천 대상 사용자가 선정되면, 선호 음악 데이터베이스에서 상기 추천 대상 사용자의 선호 음악 리스트를 추출하는 단계; (b) 상기 연관 관계 그래프를 참조하여, 상기 단계 (a)에서 추출된 상기 선호 음악 리스트에 포함된 선호 음악의 인접 정점에 해당하는 인접 음악을 추출하는 단계; (c) 상기 연관 관계 그래프를 참조하여, 상기 선호 음악에 대한 선호도를 추출하고, 상기 선호 음악과 상기 단계 (b)에서 추출된 상기 인접 음악 간의 연관도를 계산하는 단계; (d) 상기 단계 (c)에서 추출된 상기 선호도 및 상기 단계 (c)에서 계산된 상기 연관도를 이용하여, 상기 인접 음악에 대한 선호도 예측값을 계산하는 단계; 및 (e) 상기 단계 (d)에서 계산된 상기 선호도 예측값을 이용하여 상기 추천 대상 사용자에게 추천 음악 리스트를 제공하는 단계를 포함하되, 상기 연관 관계 그래프는 다수의 사용자의 선호 음악 리스트, 선호 정보를 이용하여 산출된 상기 선호 음악의 선호도 및 상기 선호 음악 사이의 상기 연관 관계를 포함하고, 상기 사용자의 상기 선호 정보가 변경되면 갱신되는 것을 특징으로 하는 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 방법을 제공한다.According to an aspect of the present invention, there is provided a music recommendation method using an association graph indicating an association relationship between music, comprising: (a) extracting a favorite music list of a recommendation target user from a favorite music database when a recommendation target user is selected; (b) extracting adjacent music corresponding to adjacent vertices of the preferred music included in the preferred music list extracted in the step (a) with reference to the association graph; (c) extracting a preference for the preferred music with reference to the association graph and calculating an association degree between the favorite music and the adjacent music extracted in step (b); (d) calculating a predicted preference value for the adjacent music using the preference extracted in step (c) and the association calculated in step (c); And (e) providing a recommendation music list to the recommendation target user using the preference prediction value calculated in step (d), wherein the correlation graph includes a plurality of user's favorite music lists and preference information. A music recommendation using a correlation graph indicating an association relationship between music, wherein the association relationship between the preference music of the preferred music and the preferred music calculated by using the mobile device is updated and the preference information of the user is changed. Provide a method.

또한, 본 발명은, 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 시스템에 있어서, 다수의 사용자의 선호 음악 리스트 및 선호 정보를 저장하는 선호 음악 데이터베이스; 상기 선호 음악 데이터베이스에 저장된 상기 선호 음악 리스트, 상기 선호 정보를 이용하여 산출된 선호 음악의 선호도 및 상기 선호 음악 사이의 상기 연관 관계를 포함하는 상기 연관 관계 그래프를 저장하는 연관 관계 데이터베이스; 상기 사용자의 상기 선호 정보가 변경되면 상기 연관 관계 그래프의 데이터를 변경하여 상기 연관 관계 데이터베이스를 갱신하는 연관 관계 그래프 갱신부; 추천 대상 사용자가 선정되면, 상기 선호 음악 데이터베이스에서 상기 추천 대상 사용자의 선호 음악 리스트를 추출하는 선호 음악 리스트 추출부; 상기 연관 관계 그래프를 참조하여, 상기 선호 음악 리스트 추출부에서 추출된 상기 선호 음악 리스트에 포함된 상기 선호 음악의 인접 정점에 해당하는 인접 음악을 추출하는 인접 음악 추출부; 상기 연관 관계 그래프를 참조하여, 상기 선호 음악에 대한 선호도를 추출하고, 상기 선호 음악과 상기 인접 음악 추출부에서 추출된 상기 인접 음악 간의 연관도를 계산하는 계산부; 상기 계산부에서 추출된 상기 선호도 및 상기 계산부에서 계산된 상기 연관도를 이용하여, 상기 인접 음악에 대한 선호도 예측값을 계산하는 선호도 계산부; 및 상기 선호도 계산부에서 계산된 상기 선호도 예측값을 이용하여 상기 추천 대상 사용자에게 추천 음악 리스트를 제공하는 추천 음악 제공부를 포함하는 것을 특징으로 하는 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 시스템을 제공한다.Also, the present invention provides a music recommendation system using a correlation graph indicating a correlation between music, comprising: a favorite music database for storing a plurality of user's favorite music lists and preference information; An association database that stores the association graph including the association relationship between the preference music list stored in the preference music database, a preference of the preferred music calculated using the preference information, and the preference music; An association graph updating unit for updating the association database by changing data of the association graph when the preference information of the user is changed; A preference music list extracting unit configured to extract a favorite music list of the recommendation target user from the favorite music database when the recommendation target user is selected; An adjacent music extracting unit extracting adjacent music corresponding to adjacent vertices of the preferred music included in the preferred music list extracted by the favorite music list extracting unit with reference to the association graph; A calculator configured to extract a preference for the preferred music by referring to the correlation graph and calculate an association degree between the favorite music and the adjacent music extracted by the adjacent music extractor; A preference calculator configured to calculate a preference prediction value for the adjacent music using the preference extracted by the calculator and the association degree calculated by the calculator; And a recommendation music providing unit providing a recommendation music list to the recommendation target user by using the preference prediction value calculated by the preference calculation unit. to provide.

이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 당업자에게 자명하거나, 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. First of all, in adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are used as much as possible even if displayed on different drawings. In addition, in describing the present invention, when a detailed description of a related well-known configuration or function is apparent to those skilled in the art, or it is determined that the subject matter of the present invention may be obscured, the detailed description thereof will be omitted.

도 1은 본 발명의 바람직한 실시예에 따른 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 시스템을 개략적으로 나타낸 블록 구성도이다.1 is a block diagram schematically illustrating a music recommendation system using an association graph showing an association relationship between music according to a preferred embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 시스템은 선호 음악 데이터베이스(100), 연관 관계 데이터베이스(102), 연관 관계 그래프 갱신부(103), 선호 음악 리스트 추출부(104), 인접 음악 추출부(106), 계산부(108), 선호도 계산부(110) 및 추천 음악 제공부(112) 등을 포함할 수 있다.As shown in FIG. 1, a music recommendation system using an association graph showing an association relationship between music according to a preferred embodiment of the present invention includes a preferred music database 100, an association database 102, and an association graph update unit. Reference numeral 103, a preferred music list extractor 104, an adjacent music extractor 106, a calculator 108, a preference calculator 110, a recommended music provider 112, and the like.

본 발명의 바람직한 실시예에 따른 선호 음악 데이터베이스(100)는 다수의 사용자의 선호 음악 리스트 및 선호 정보를 저장한다. 여기서, 선호 정보라 함은 음악의 구매 수, 음악의 다운로드 수 및 음악 실행 회수 등을 반영한 정보를 지칭한다.The preferred music database 100 according to the preferred embodiment of the present invention stores a plurality of user's favorite music lists and preference information. Here, the preference information refers to information reflecting the number of purchases of music, the number of downloads of music, the number of times of music execution, and the like.

본 발명의 바람직한 실시예에 따른 연관 관계 데이터베이스(102)는 선호 음악 데이터베이스(100)에 저장된 선호 음악 리스트와 선호 정보를 이용하여 산출된 선호 음악의 선호도 및 선호 음악들 사이의 연관 관계 정보를 포함하는 본 발명의 바람직한 실시예에 따른 연관 관계 그래프를 저장한다. 여기서, 선호 음악 사이의 연관 관계란 임의의 두 음악이 동일 사용자에게서 동시에 선호되는 빈도의 합을 의미한다. The association database 102 according to the preferred embodiment of the present invention includes association information between the preference music and the preference music of the preferred music calculated using the preference music list and the preference information stored in the favorite music database 100. An association graph is stored according to a preferred embodiment of the present invention. Here, the association between the preferred music means the sum of the frequencies in which two songs are favored simultaneously by the same user.

한편, 본 발명의 바람직한 실시예에 따른 연관 관계 그래프 갱신부(103)에서는 사용자가 선곡 리스트를 만들거나 음악을 다운로드/실행하는 등 사용자의 선호 정보가 변경되면 연관 관계 데이터베이스(102)에 저장된 연관 관계 그래프의 데이 터를 변경시켜 연관 관계 데이터베이스(102)를 지속적으로 갱신한다.Meanwhile, in the association graph update unit 103 according to an exemplary embodiment of the present invention, when the user's preference information is changed, such as making a selection list or downloading / executing music, the association relationship stored in the association database 102 is changed. The association database 102 is updated continuously by changing the data in the graph.

도 2a는 본 발명의 바람직한 실시예에 따른 연관 관계 그래프를 나타내기 위한 예시 데이터이며, 도 2b는 도 2a의 예시 데이터에 따라 작성된 연관 관계 그래프이다.FIG. 2A is an example data for illustrating an association graph according to a preferred embodiment of the present invention, and FIG. 2B is an association graph created according to the example data of FIG. 2A.

도 2a를 참조하면, 사용자 1의 선호 음악 리스트는 {a, b, c}이고 각각의 실행 수는 {1, 10, 10}이다. 마찬가지로 사용자 2의 선호 음악 리스트는 {a, b}이고 각각의 실행 수는 {1, 1}, 사용자 3의 선호 음악 리스트는 {a, d}가 되며 각각의 실행 수는 {1, 1}이 된다.Referring to FIG. 2A, the user 1's favorite music list is {a, b, c} and the number of executions is {1, 10, 10}. Similarly, user 2's favorite music list is {a, b}, each run number is {1, 1}, user 3's favorite music list is {a, d}, and each run number is {1, 1}. do.

이하에서는 선호 정보를 실행 수로 하여 설명하겠으나, 전술한 바와 같이 본 발명의 바람직한 실시예에 따른 선호 정보는 이에 한정되는 것이 아니라 음악의 구매 수 및 음악의 다운로드 수 등을 포함하여 선호 정보에 해당할 수 있는 것이면 어떠한 것이라도 무방하다.Hereinafter, the preferred information will be described as the execution number. However, as described above, the preferred information according to the preferred embodiment of the present invention is not limited thereto and may correspond to the preference information including the number of music purchases and the number of music downloads. Anything can be anything.

이제 각각의 음악을 M i 라 하겠다. 도 2a의 경우 M i = {a, b, c, d}가 될 수 있다. 도 2b의 그래프에서 각 정점 M i 는 각 음악을 나타내고, 정점 사이의 간선 (M i , M j )는 각 음악 사이의 연관성을 나타낸다. 각 정점에는 각 음악에 대한 사용자들의 선호도 총합 C(Mi)가 저장되는데, 여기서 선호도는 전술한 선호 정보를 반영한 값이 된다. 따라서, 선호도는 선호 정보와 마찬가지로 음악의 구매 수, 다운로드 수, 실행 수 또는 이들의 조합이 될 수 있다.Now each piece of music is called M i . In the case of FIG. 2A, M i = {a, b, c, d}. In the graph of FIG. 2B, each vertex M i represents each music, and the edges M i and M j between the vertices represent an association between each music. Each vertex stores the total preferences C ( Mi ) of users for each music, where the preference is a value reflecting the aforementioned preference information. Thus, like the preference information, the preference may be the number of purchases, the number of downloads, the number of executions, or a combination thereof.

전술한 바와 같이 도 2a 및 도 2b의 예시에서는 선호 정보를 실행 수로 한정 하여 설명하고 있으므로 선호도 총합 역시 도 2a의 실행 수의 합으로 저장된다. 즉, 음악 a의 선호도 총합인 C(a)는 사용자 1의 실행 수 1, 사용자 2의 실행 수 1, 사용자 3의 실행 수 1을 합한 값인 3이 된다. 또한, 음악 b의 선호도 총합인 C(b)는 사용자 1의 실행 수 10, 사용자 2의 실행 수 1을 합한 값인 11이 된다. 이런 식으로 선호도 총합이 계산되어 도 2b의 연관 관계 그래프에 저장된다.As described above, in the examples of FIGS. 2A and 2B, since the preference information is limited to the number of executions, the total preferences are also stored as the sum of the number of executions of FIG. 2A. That is, C (a), which is the total preference of music a, becomes 3, which is the sum of the execution number 1 of user 1, the execution number 1 of user 2, and the execution number 1 of user 3. In addition, C (b), which is the total preference of music b, becomes 11, which is the sum of the number of runs 1 of user 1 and the number of runs 1 of user 2. In this way, the preference total is calculated and stored in the association graph of FIG. 2B.

또한, 각 간선에는 각 간선이 연결하는 두 정점에 해당하는 음악의 동일 사용자에게서의 동시 출현 빈도 총합 C(M i , M j )가 저장된다. 본 명세서에서는 이러한 동시 출현 빈도 총합을 연관 관계로 정의하는데, 여기서 연관 관계 정보는 동일 사용자에게서 동시에 선호되는 음악들의 쌍의 합으로 계산된다. In addition, each trunk stores a total frequency of simultaneous appearance C ( M i , M j ) from the same user of music corresponding to two vertices connected by each trunk. In the present specification, such a co-occurrence total is defined as an association, where the association information is calculated as the sum of pairs of music that are simultaneously favored by the same user.

도 2a의 경우를 예로 들면, 사용자 1이 음악 a를 1번, b를 10번, c를 10번 실행하였다면, C(a)=1, C(b)=10, C(c)=10 이 각 정점 값에 누적되며, (a, b) 쌍이 1번, (a, c) 쌍이 1번, (b, c) 쌍이 10번 발생한 것으로 간주하여 C(a, b)=1, C(a, c)=1, C(b, c)=10이 각 간선 값에 누적된다. For example, in the case of FIG. 2A, if user 1 performed music a once, b ten times, and c ten times, C (a) = 1, C (b) = 10, and C (c) = 10 Accumulated at each vertex value, assuming that (a, b) pairs occur once, (a, c) pairs occur once, and (b, c) pairs occur 10 times, C (a, b) = 1, C (a, c) = 1, C (b, c) = 10 is accumulated at each edge value.

도 2를 보면 알 수 있듯이, 본 발명의 바람직한 실시예에 따른 연관 관계 그래프는 무방향 가중치 그래프(Undirected Weighted Graph)로서 총 음악 수에 해당하는 개수의 리스트로 저장된다.As can be seen from Figure 2, the association graph according to a preferred embodiment of the present invention is stored as a list of the number corresponding to the total number of music as an undirected weighted graph (Undirected Weighted Graph).

도 3은 본 발명의 바람직한 실시예에 따른 연관 관계 그래프의 갱신 과정을 나타낸 순서도이다.3 is a flowchart illustrating a process of updating an association graph according to a preferred embodiment of the present invention.

임의의 사용자가 새로운 음악 M i 를 선곡 리스트에 넣거나 실행하게 되면 해 당 사용자는 선호도가 변경된 사용자로 선정되고(S300), 사용자 u의 변경된 음악 선호도 값 ΔC u (M i )을 선정한다(S302).When a user adds or executes a new music M i to the selection list, the user is selected as the user whose preference is changed (S300), and the user u 's changed music preference value ΔC u ( M i ) is selected (S302). .

다음으로, 연관 관계 그래프 갱신부(103)에서는 연관 관계 그래프 데이터의 해당 음악에 대한 선호도 총합 C(M i )를 C(M i )+ΔC u (M i )로 변경한다(S304). 해당 사용자의 선호 음악 리스트에 있는 다른 모든 음악들 M j 에 대하여 C u (M j )와 C u (M i )를 비교하여(S306), 만일 C u (M j ) > C u (M i )이면 연관 관계 그래프 데이터의 C(M i , M j ) 와 C(M j , M i )를 C(M i , M j )+ΔC u (M i )와 C(M j , M i )+ΔC u (M i )로 각각 변경한다(S308). 이 때 C u (M j ) > C u (M i )인 경우에만 그래프 데이터를 변경하는 이유는 C u (M j ) < C u (M i )인 경우에는 C u (M i )의 증가분이 쌍 (M i , M j )의 빈도를 증가시키지 않기 때문이다.Next, the association graph update unit 103 changes the total preference C ( M i ) for the music of the association graph data to C ( M i ) + ΔC u ( M i ) (S304). For all other music M j in the user's favorite music list, compare C u ( M j ) with C u ( M i ) (S306), if C u ( M j )> C u ( M i ) C ( M i , M j ) and C ( M j , M i ) in the correlation graph data, C ( M i , M j ) + ΔC u ( M i ) and C ( M j , M i ) + ΔC Each change to u ( M i ) (S308). If at this time the C u (M j)> C u (M i) The reason for changing the graph data C u (M j) <C u (M i) only if there is increase in C u (M i) This is because the frequency of the pair M i , M j is not increased.

이러한 도 3의 작업은 사용자가 선곡 리스트를 만들거나, 음악을 다운로드 또는 실행할 때마다 수행되어 음악들 사이의 연관 관계를 표현하는 그래프가 만들어지고 지속적으로 갱신되어 본 발명의 바람직한 실시예에 따른 연관 관계 데이터베이스(102)에 저장되는 것이다. 그래프 생성 과정에서 알 수 있듯이, 본 발명의 바람직한 실시예에 따른 연관 관계 그래프에서 C(M i ) 값이 클수록 많은 사용자로부터 선호되는 인기있는 음악인 것을 알 수 있으며, C(M i , M j ) 값이 클수록 두 음악은 동시에 선호될 가능성이 큰 음악이 된다. This operation of FIG. 3 is performed every time a user creates a music selection list or downloads or executes a music, and a graph representing an association between music is created and continuously updated to establish an association according to a preferred embodiment of the present invention. Stored in the database 102. As can be seen in the graph generation process, it can be seen that the larger the value of C ( M i ) in the correlation graph according to the preferred embodiment of the present invention, the more popular music is favored by many users, and the value of C ( M i , M j ) The larger the music is, the more likely it is that both songs will be favored simultaneously.

본 발명의 바람직한 실시예에 따른 선호 음악 리스트 추출부(104)는, 추천 대상 사용자가 선정되면 본 발명의 바람직한 실시예에 따른 선호 음악 데이터베이스(100)에서 추천 대상 사용자의 선호 음악 리스트를 추출한다. When the recommendation target user is selected, the preferred music list extractor 104 extracts the preferred music list of the recommendation target user from the preferred music database 100 according to the preferred embodiment of the present invention.

본 발명의 바람직한 실시예에 따른 인접 음악 추출부(106)는 연관 관계 데이터베이스(102)의 연관 관계 그래프를 참조하여, 선호 음악 리스트 추출부(104)에서 추출된 선호 음악 리스트에 포함된 선호 음악의 인접 정점에 해당하는 인접 음악을 추출한다. 여기서, 전술한 연관 관계 그래프에서 선호 음악 정점의 인접 정점에 해당되는 음악을 인접 음악이라 할 수 있다.The adjacent music extracting unit 106 according to the preferred embodiment of the present invention refers to the association graph of the association database 102, and determines the preference music included in the favorite music list extracted by the favorite music list extracting unit 104. Extract adjacent music corresponding to adjacent vertices. Herein, the music corresponding to the adjacent vertex of the preferred music vertex in the correlation graph described above may be referred to as the adjacent music.

본 발명의 바람직한 실시예에 따른 계산부(108)에서는 연관 관계 데이터베이스(102)의 연관 관계 그래프를 참조하여, 선호 음악에 대한 선호도를 추출하고 선호 음악과 인접 음악 추출부(106)에서 추출된 인접 음악 간의 연관도를 계산한다. In the calculation unit 108 according to the preferred embodiment of the present invention, with reference to the association graph of the association database 102, the preference for the preferred music is extracted and the neighboring music extracted from the preferred music and the adjacent music extraction unit 106 is extracted. Calculate the association between music.

여기서 연관도는 선호 음악과 인접 음악이 동일 사용자에게서 동시에 선호되는 빈도의 합, 선호 음악에 대한 인접 음악의 선호 조건부 확률 또는 선호 음악과 인접 음악의 카이제곱(Chi-Square) 등을 이용하는 방식으로 계산할 수 있다. 이에 대한 자세한 설명은 도 4와 함께 후술하기로 한다.In this case, the degree of association can be calculated by using the sum of the frequencies in which the preferred music and the adjacent music are simultaneously favored by the same user, the preferred conditional probability of the adjacent music for the preferred music, or the chi-square of the preferred music and the adjacent music. Can be. Detailed description thereof will be described later with reference to FIG. 4.

본 발명의 바람직한 실시예에 따른 선호도 계산부(110)는 계산부(108)에서 추출된 선호도 및 계산부(108)에서 계산된 연관도를 이용하여, 인접 음악에 대한 선호도 예측값을 계산한다. 즉, 선호도 예측값은 계산부(108)에서 추출된 선호도와 계산부(108)에서 계산된 연관도의 곱을 선호 음악의 수만큼 수행하고, 수행된 결과값을 합하는 방식으로 계산한다. 이에 대한 설명도 도 4와 함께 후술하기로 한다.The preference calculator 110 according to a preferred embodiment of the present invention calculates a preference prediction value for neighboring music using the preference extracted by the calculator 108 and the correlation calculated by the calculator 108. That is, the preference prediction value is calculated by multiplying the product of the preference extracted by the calculation unit 108 and the association degree calculated by the calculation unit 108 by the number of preferred music and adding the resultant values. A description thereof will be described later with reference to FIG. 4.

본 발명의 바람직한 실시예에 따른 추천 음악 제공부(112)는 선호도 계산부 (110)에서 계산된 선호도 예측값을 이용하여 추천 대상 사용자에게 추천 음악 리스트를 제공한다. The recommendation music provider 112 according to an exemplary embodiment of the present invention provides a recommendation music list to the recommendation target user by using the preference prediction value calculated by the preference calculator 110.

도 4는 본 발명의 바람직한 실시예에 따른 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 과정을 나타낸 순서도이다.4 is a flowchart illustrating a music recommendation process using an association graph showing an association relationship between music according to a preferred embodiment of the present invention.

우선, 추천 대상 사용자 u가 선정되면(S400) 본 발명의 바람직한 실시예에 따른 선호 음악 리스트 추출부(104)에서는 선호 음악 데이터베이스(100)에서 추천 대상 사용자의 선호 음악 리스트를 추출한다(S402). 예를 들어, 추천 대상 사용자가 M 1 ~M n n개 음악을 선호하는 것으로 선호 음악 데이터베이스(100)에 저장되어 있으면 M 1 ~M n n개 음악 리스트가 추출된다.First, when the recommendation target user u is selected (S400), the preferred music list extractor 104 according to the preferred embodiment of the present invention extracts the preferred music list of the recommendation target user from the preferred music database 100 (S402). For example, like the audience M 1 ~ M n, if n pieces of music stored in the database as preference 100 to preferences of music are extracted the n number of the music list of the M 1 ~ M n.

다음으로, 본 발명의 바람직한 실시예에 따른 인접 음악 추출부(106)에서는 연관 관계 데이터베이스(102)에서의 연관 관계 그래프를 참조하여, 단계 S402에서 추출된 선호 음악 리스트에 포함된 선호 음악의 인접 정점에 해당하는 인접 음악을 추출한다(S404). 여기서 인접 음악은 추천 대상 음악에 해당되는데, 추천 대상 음악이란 사용자가 이미 선호하는 것으로 알려진 음악들과 높은 연관성을 가지는 것으로서 이들은 위에서 정의한 연관 관계 그래프로부터 얻을 수 있다. 즉, 인접 음악은 M 1 ~M n 과 간선으로 연결된 인접 정점에 해당하는 음악들로서, 정점 M 1 ~M n 각각으로부터 인접 정점 리스트를 읽으면 바로 얻을 수 있다. 이하에서는 인접 음악을 A 1 ~A m 으로 표시한다.Next, in the neighboring music extraction unit 106 according to the preferred embodiment of the present invention, with reference to the association graph in the association database 102, the adjacent vertices of the preferred music included in the preferred music list extracted in step S402. Adjacent music corresponding to the extracted (S404). Here, the adjacent music corresponds to the music to be recommended, and the music to be recommended has a high correlation with music that is known to be preferred by the user, and they can be obtained from the correlation graph defined above. In other words, the adjacent music is music corresponding to adjacent vertices connected by M 1 to M n, and can be directly obtained by reading the adjacent vertex list from each of the vertices M 1 to M n . In the following, adjacent music is represented by A 1 to A m .

본 발명의 바람직한 실시예에 따른 계산부(108)에서는 선호 음악에 대한 선 호도를 추출하고(S406), 단계 S402에서 추출된 선호 음악과 단계 S404에서 추출된 인접 음악 간의 연관도를 계산한다(S408). 그리고 본 발명의 바람직한 실시예에 따른 선호도 계산부(110)에서는 단계 S406에서 추출된 선호도 및 단계 S408에서 계산된 연관도를 이용하여 선호도 예측값을 계산한다(S410).The calculation unit 108 according to the preferred embodiment of the present invention extracts a preference for the preferred music (S406), and calculates an association degree between the preferred music extracted in step S402 and the adjacent music extracted in step S404 (S408). ). In addition, the preference calculation unit 110 according to the preferred embodiment of the present invention calculates a preference prediction value using the preference extracted in step S406 and the correlation calculated in step S408 (S410).

본 발명의 바람직한 실시예에 따르면, 단계 S404에서 추출된 인접 음악 A j 에 대한 추천 대상 사용자의 선호도 예측값 P u (A j )는 해당 사용자가 이미 선호하는 것으로 알려진 선호 음악 M i 에 대해 단계 S406에서 추출된 선호도 및 단계 S408에서 계산된 M i A j 의 연관도의 곱의 합으로서 수학식 5와 같이 나타낼 수 있다. According to a preferred embodiment of the present invention, the preference predicted value P u ( A j ) of the recommended target user for the adjacent music A j extracted in step S404 is determined in step S406 for the preferred music M i already known to be preferred by the user. The sum of the product of the extracted preference and the correlation between M i and A j calculated in step S408 may be expressed by Equation 5.

Figure 112005024633603-pat00007
Figure 112005024633603-pat00007

여기서, P u (A j )는 선호도 예측값, n은 추출된 선호 음악의 수, C u (M i )는 M i 에 대한 사용자 u의 선호도, W(M i , A j )는 M i A j 의 연관도를 나타낸다. 수학식 5의 계산은 추출된 인접 음악의 수 m만큼 수행된다. Where P u ( A j ) is the predicted preference value, n is the number of extracted preferred music, C u ( M i ) is user u 's preference for M i , and W ( M i , A j ) is M i and A It shows the degree of association of j . The calculation of Equation 5 is performed by the number m of extracted adjacent music.

여기서, W(M i , A j )는 선호 음악과 인접 음악이 동일 사용자에게서 동시에 선호되는 빈도의 합인 C(M i , A j ), 선호 음악에 대한 인접 음악의 선호 조건부 확률인 Prob(M i , A j ), 선호 음악과 인접 음악의 카이제곱인 χ 2 (M i , A j ) 등의 계산 방법으로 구할 수 있으나 이에 한정되는 것은 아니다. 이러한 계산 방법들은 본 발명의 바람직한 실시예에 따른 연관 관계 그래프에 저장된 값들로부터 바로 계산될 수 있다.Here, W ( M i , A j ) is C ( M i , A j ), which is the sum of the preferred frequencies of the preferred music and the adjacent music simultaneously from the same user, and Prob ( M i , the preferred conditional probability of the adjacent music with respect to the preferred music. , A j ), χ 2 ( M i , A j ), which is the chi-square between the preferred music and the adjacent music, but is not limited thereto. These calculation methods can be calculated directly from the values stored in the correlation graph according to the preferred embodiment of the present invention.

한편, 본 발명의 바람직한 실시예에서는 W(M i , A j )를 MI(M i , A j )로 가정하여 계산하는 방법을 제안한다. MI(x, y)는 변수 xy가 통계적으로 얼마나 연관성이 있는가를 나타내는 값으로서 수학식 6과 같이 정의된다.On the other hand, in a preferred embodiment of the present invention proposes a method for calculating W ( M i , A j ) assuming MI ( M i , A j ). MI ( x, y ) is a value representing how statistically the variables x and y are statistically defined as in Equation 6.

Figure 112005024633603-pat00008
Figure 112005024633603-pat00008

수학식 6에서 정의된 MI(M i , A j ) 및 본 발명의 바람직한 실시예에 따른 연관 관계 그래프에서 저장된 값들로부터 W(M i , A j ) 값을 수학식 7과 같이 구할 수 있다.From the MI ( M i , A j ) defined in Equation 6 and the values stored in the correlation graph according to the preferred embodiment of the present invention, the value of W ( M i , A j ) can be obtained as shown in Equation 7.

Figure 112005024633603-pat00009
Figure 112005024633603-pat00009

여기서 TEC(M)는 정점 M에 연결된 모든 간선 값의 합이고, N은 그래프 전체의 간선 값의 합으로서 본 발명의 바람직한 실시예에 따른 연관 관계 그래프가 만 들어지면서 누적할 수 있는 값이므로 추가적인 계산이 필요하지 않게 된다.Where TEC ( M ) is the sum of all edge values connected to vertex M , and N is the sum of edge values of the entire graph, which is an accumulated value as the correlation graph according to the preferred embodiment of the present invention is accumulated. This is not necessary.

전술한 과정을 통해 선호도 예측값인 P u (A 1 ) ~ P u (A m )이 구해지면, 추천 음악 제공부(112)에서는 계산된 선호도 예측값을 이용하여 인접 음악을 정렬하고(S412), 추천하고자 하는 상위 K 개의 음악을 선택함으로써 최종적인 추천 음악 리스트를 제공하여 추천한다(S414).When the preference prediction values P u ( A 1 ) to P u ( A m ) are obtained through the above-described process, the recommendation music provider 112 arranges adjacent music using the calculated preference prediction value (S412). By selecting the top K pieces of music to be provided, the final recommended music list is provided and recommended (S414).

한편, 본 발명을 이용하면 협동적 여과 추천 방법과 비교했을 때 추천 대상 음악을 선정하는 데 필요한 계산 시간을 크게 단축하게 된다. On the other hand, the use of the present invention greatly reduces the calculation time required to select the music to be recommended as compared to the cooperative filtration recommendation method.

구체적으로 설명하자면, 협동적 여과 추천 방법에 따라 사용자 사이의 유사도나 아이템 사이의 유사도를 선호도 자료로 이용하여 직접 계산하는 경우의 시간 복잡도는, 총 아이템 수를 I, 총 사용자 수를 U, 유사한 선택된 사용자 수를 S라 할 때, 모든 사용자와의 유사도 계산에 O(U·I), 모든 아이템에 대한 선호도 예측값 계산에 O(I·S), 정렬에 O(logI)의 시간이 걸리므로 총 수행 시간은 O(U·I+I·logI)가 된다. 반면에 본 발명에서 제안하는 방법을 사용할 경우 각 사용자의 평균 선호 아이템 수를 P, 그래프에서 각 정점의 평균 간선 수를 E, 이에 따른 각 사용자의 평균 인접 정점 수를 A (< P·E) 라 할 때, 선호도 정보가 변경될 경우 그래프 데이터의 수정에 O(P), 인접 음악 추출에 O(P·E), 선호도 예측값 계산에 O(P·E), 정렬에 O(logA)의 시간이 걸리므로 총 수행시간은 O(P·E+logA)가 된다. Specifically, the time complexity in the case of directly calculating using the similarity between users or the similarity between items as the preference data according to the cooperative filtration recommendation method, the total number of items I , the total number of users U , the similar selected When the number of users is S , O ( U · I ) is used to calculate the similarity with all users, O ( I · S ) is used to calculate the preference prediction for all items, and O ( I · log I ) is used for sorting. The total execution time is O ( U · I + I · log I ). On the other hand, when using the method proposed in the present invention, the average number of preferred items of each user is P , the average number of edges of each vertex in the graph is E , and the average number of adjacent vertices of each user is A (< P · E ). , to modify the data in the chart O (P), in adjacent music extraction O (P · E), the affinity prediction value calculation O (P · E), in O (a · log a) aligned when the preference information is changed when the The total execution time is O ( P · E + A · log A ) because it takes time.

협동적 여과 추천 방법에 따른 시간 O(U·I+I·logI)와 본 발명의 방법에 따 른 시간 O(P·E+logA)를 비교하면, 일반적으로 U·I >> I > P·E 이고, I > A 이므로 본 발명의 방법이 상대적으로 매우 빠른 수행 시간을 갖는다고 할 수 있다.Comparing the time O (log U · I · I + I) and the other time Ta O (P · A · log E + A) in the method of the invention according to the collaborative filtering recommendation method, generally U · I >> Since I > P · E and I > A , it can be said that the method of the present invention has a relatively very fast execution time.

이상의 설명은 본 발명을 예시적으로 설명한 것에 불과한 것으로, 본 발명이 속하는 기술분야에서 통상의 지식을 가지는 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 변형이 가능할 것이다. 따라서, 본 명세서에 개시된 실시예들은 본 발명을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 사상과 범위가 한정되는 것은 아니다. 본 발명의 보호범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the present invention, and those skilled in the art to which the present invention pertains may various modifications without departing from the essential characteristics of the present invention. Accordingly, the embodiments disclosed herein are not intended to limit the present invention but to describe the present invention, and the spirit and scope of the present invention are not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all the technologies within the equivalent scope should be interpreted as being included in the scope of the present invention.

이상에서 설명한 바와 같이 본 발명을 이용하면, 기존의 방법들과 달리 음악 사이의 연관 관계를 그래프 모델로 표현하고 저장함으로써 암시적인 선호도 정보들을 이용할 수 있으며, 추천 대상 음악을 선정하는 데 필요한 계산 시간을 크게 단축하게 된다는 장점이 있다. 특히 수백만의 사용자와 수십만의 아이템을 대상으로 하는 경우에, 그 활용도를 높이는 데 있어서 결정적인 역할을 하게 된다는 효과가 있다. As described above, according to the present invention, unlike the conventional methods, implicit preference information can be used by expressing and storing a correlation between music as a graph model, and calculating a calculation time required for selecting a recommendation target music. It has the advantage of greatly shortening. In particular, when targeting millions of users and hundreds of thousands of items, there is an effect that plays a decisive role in increasing the utilization.

Claims (11)

음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 방법에 있어서,In the music recommendation method using a correlation graph showing the correlation between music, (a) 추천 대상 사용자가 선정되면, 선호 음악 데이터베이스에서 상기 추천 대상 사용자의 선호 음악 리스트를 추출하는 단계;(a) if the recommendation target user is selected, extracting a favorite music list of the recommendation target user from a preferred music database; (b) 상기 연관 관계 그래프를 참조하여, 상기 단계 (a)에서 추출된 상기 선호 음악 리스트에 포함된 선호 음악의 인접 정점에 해당하는 인접 음악을 추출하는 단계;(b) extracting adjacent music corresponding to adjacent vertices of the preferred music included in the preferred music list extracted in the step (a) with reference to the association graph; (c) 상기 연관 관계 그래프를 참조하여, 상기 선호 음악에 대한 선호도를 추출하고, 상기 선호 음악과 상기 단계 (b)에서 추출된 상기 인접 음악 간의 연관도를 계산하는 단계;(c) extracting a preference for the preferred music with reference to the association graph and calculating an association degree between the favorite music and the adjacent music extracted in step (b); (d) 상기 단계 (c)에서 추출된 상기 선호도 및 상기 단계 (c)에서 계산된 상기 연관도를 이용하여, 상기 인접 음악에 대한 선호도 예측값을 계산하는 단계; 및(d) calculating a predicted preference value for the adjacent music using the preference extracted in step (c) and the association calculated in step (c); And (e) 상기 단계 (d)에서 계산된 상기 선호도 예측값을 이용하여 상기 추천 대상 사용자에게 추천 음악 리스트를 제공하는 단계(e) providing a recommendation music list to the recommendation target user by using the preference prediction value calculated in step (d) 를 포함하되, 상기 연관 관계 그래프는 다수의 사용자의 선호 음악 리스트, 선호 정보를 이용하여 산출된 상기 선호 음악의 선호도 및 상기 선호 음악 사이의 상기 연관 관계를 포함하고, 상기 사용자의 상기 선호 정보가 변경되면 갱신되는 것을 특징으로 하는 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 방법.The association graph may include a plurality of user's favorite music lists, the association relationship between the preference music of the preferred music calculated using the preference information and the preferred music, and the preference information of the user is changed. The music recommendation method using the correlation graph showing the correlation between music, characterized in that when the update. 제 1 항에 있어서,The method of claim 1, 상기 선호 정보는 구매 수, 다운로드 수 및 실행 회수 중 하나 이상을 포함하는 것을 특징으로 하는 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 방법.And the preference information includes at least one of a purchase count, a download count, and an execution count. 제 1 항에 있어서,The method of claim 1, 상기 선호 음악 사이의 상기 연관 관계는 임의의 두 음악이 동일 사용자에게서 동시에 선호되는 빈도의 합인 것을 특징으로 하는 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 방법.And said association between said preferred music is a sum of frequencies in which any two songs are preferred by the same user at the same time. 제 1 항에 있어서,The method of claim 1, 상기 연관 관계 그래프는 무방향 가중치 그래프(Undirected Weighted Graph)로서 상기 선호 음악의 총 개수에 해당하는 수의 리스트로 저장되는 것을 특징으로 하는 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 방법.The association graph is an undirected weighted graph, which is stored as a list of the number corresponding to the total number of the preferred music. 제 1 항에 있어서,The method of claim 1, 상기 선호도 예측값은 상기 단계 (c)에서 추출된 상기 선호도와 상기 단계 (c)에서 계산된 상기 연관도의 곱을 상기 선호 음악의 수만큼 수행하고, 수행된 결 과값을 합하는 방식으로 계산하는 것을 특징으로 하는 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 방법.The preference prediction value is calculated by performing a product of the preference extracted in the step (c) and the correlation calculated in the step (c) by the number of the preferred music and adding the resultant values. A music recommendation method using an association graph showing an association relationship between music. 제 1 항 또는 제 5 항에 있어서,The method according to claim 1 or 5, 상기 연관도는 상기 선호 음악과 상기 인접 음악이 동일 사용자에게서 동시에 선호되는 빈도의 합, 상기 선호 음악에 대한 상기 인접 음악의 선호 조건부 확률, 상기 선호 음악과 상기 인접 음악의 카이제곱(Chi-Square) 또는 상기 선호 음악과 상기 인접 음악이 상호 정보(Mutual Information) 중 하나 이상의 방식으로 계산되는 것을 특징으로 하는 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 방법.The association degree is a sum of a frequency at which the preferred music and the adjacent music are simultaneously favored by the same user, a preferred conditional probability of the adjacent music with respect to the preferred music, and chi-square of the preferred music and the adjacent music. Or a correlation graph indicating a correlation between music, wherein the preferred music and the adjacent music are calculated in at least one of mutual information. 제 5 항에 있어서,The method of claim 5, 상기 상호 정보는
Figure 112005024633603-pat00010
로 계산되되, 상기
Figure 112005024633603-pat00011
는 상기 선호 음악과 상기 인접 음악이 동일 사용자에게서 동시에 선호되는 빈도의 합을 나타내고, 상기
Figure 112005024633603-pat00012
은 상기 연관 관계 그래프의 간선 값의 합을 나타내고, 상기
Figure 112005024633603-pat00013
는 상기 선호 음악을 나타내는 정점에 연결된 모든 간선 값의 합을 나타내고, 상기
Figure 112005024633603-pat00014
는 상기 인접 음악을 나타내는 정점에 연결된 모든 간섭 값의 합을 나타내는 것을 특징으로 하는 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 방법.
The mutual information
Figure 112005024633603-pat00010
Calculated as above
Figure 112005024633603-pat00011
Denotes a sum of frequencies in which the preferred music and the adjacent music are favored simultaneously from the same user.
Figure 112005024633603-pat00012
Represents a sum of edge values of the correlation graph, and
Figure 112005024633603-pat00013
Represents the sum of all edge values connected to the vertices representing the preferred music,
Figure 112005024633603-pat00014
Is a sum of all interference values connected to the vertices representing the adjacent musics.
음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 시스템에 있어서,In the music recommendation system using the correlation graph showing the correlation between music, 다수의 사용자의 선호 음악 리스트 및 선호 정보를 저장하는 선호 음악 데이터베이스;A preference music database for storing a plurality of user's favorite music lists and preference information; 상기 선호 음악 데이터베이스에 저장된 상기 선호 음악 리스트, 상기 선호 정보를 이용하여 산출된 선호 음악의 선호도 및 상기 선호 음악 사이의 상기 연관 관계를 포함하는 상기 연관 관계 그래프를 저장하는 연관 관계 데이터베이스;An association database that stores the association graph including the association relationship between the preference music list stored in the preference music database, a preference of the preferred music calculated using the preference information, and the preference music; 상기 사용자의 상기 선호 정보가 변경되면 상기 연관 관계 그래프의 데이터를 변경하여 상기 연관 관계 데이터베이스를 갱신하는 연관 관계 그래프 갱신부;An association graph updating unit for updating the association database by changing data of the association graph when the preference information of the user is changed; 추천 대상 사용자가 선정되면, 상기 선호 음악 데이터베이스에서 상기 추천 대상 사용자의 선호 음악 리스트를 추출하는 선호 음악 리스트 추출부;A preference music list extracting unit configured to extract a favorite music list of the recommendation target user from the favorite music database when the recommendation target user is selected; 상기 연관 관계 그래프를 참조하여, 상기 선호 음악 리스트 추출부에서 추출된 상기 선호 음악 리스트에 포함된 상기 선호 음악의 인접 정점에 해당하는 인접 음악을 추출하는 인접 음악 추출부;An adjacent music extracting unit extracting adjacent music corresponding to adjacent vertices of the preferred music included in the preferred music list extracted by the favorite music list extracting unit with reference to the association graph; 상기 연관 관계 그래프를 참조하여, 상기 선호 음악에 대한 선호도를 추출하 고, 상기 선호 음악과 상기 인접 음악 추출부에서 추출된 상기 인접 음악 간의 연관도를 계산하는 계산부;A calculator configured to extract a preference for the favorite music by referring to the correlation graph and calculate an association degree between the favorite music and the neighboring music extracted by the neighboring music extracting unit; 상기 계산부에서 추출된 상기 선호도 및 상기 계산부에서 계산된 상기 연관도를 이용하여, 상기 인접 음악에 대한 선호도 예측값을 계산하는 선호도 계산부; 및A preference calculator configured to calculate a preference prediction value for the adjacent music using the preference extracted by the calculator and the association degree calculated by the calculator; And 상기 선호도 계산부에서 계산된 상기 선호도 예측값을 이용하여 상기 추천 대상 사용자에게 추천 음악 리스트를 제공하는 추천 음악 제공부A recommendation music provider for providing a recommendation music list to the recommendation target user by using the preference prediction value calculated by the preference calculator. 를 포함하는 것을 특징으로 하는 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 시스템.Music recommendation system using a correlation graph showing the correlation between music, comprising a. 제 8 항에 있어서,The method of claim 8, 상기 선호 음악 데이터베이스에 저장되는 상기 선호 정보는 구매 수, 다운로드 수 및 실행 회수 중 하나 이상을 포함하는 것을 특징으로 하는 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 시스템.And the preference information stored in the favorite music database includes at least one of a number of purchases, a number of downloads, and a number of executions. 제 8 항에 있어서,The method of claim 8, 상기 연관 관계 데이터베이스에 저장되는 상기 선호 음악 사이의 상기 연관 관계는 임의의 두 음악이 동일 사용자에게서 동시에 선호되는 빈도의 합인 것을 특징으로 하는 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 시스템.And said association between said preferred music stored in said association database is a sum of frequencies in which any two songs are preferred simultaneously by the same user. 제 8 항에 있어서,The method of claim 8, 상기 선호도 계산부에서는 상기 계산부에서 추출된 상기 선호도와 상기 계산부에서 계산된 상기 연관도의 곱을 상기 선호 음악의 수만큼 수행하고, 수행된 결과값을 합하는 방식으로 상기 선호도를 계산하는 것을 특징으로 하는 음악간 연관 관계를 나타내는 연관 관계 그래프를 이용한 음악 추천 시스템.The preference calculator calculates the preference by performing a product of the preference extracted by the calculator and the correlation calculated by the calculator by the number of the preferred music and adding the resultant values. A music recommendation system using an association graph showing an association relationship between music.
KR1020050039262A 2005-05-11 2005-05-11 Method and system for music recommendation by using graph representing relations between musics KR100631806B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050039262A KR100631806B1 (en) 2005-05-11 2005-05-11 Method and system for music recommendation by using graph representing relations between musics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050039262A KR100631806B1 (en) 2005-05-11 2005-05-11 Method and system for music recommendation by using graph representing relations between musics

Publications (1)

Publication Number Publication Date
KR100631806B1 true KR100631806B1 (en) 2006-10-12

Family

ID=37626008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050039262A KR100631806B1 (en) 2005-05-11 2005-05-11 Method and system for music recommendation by using graph representing relations between musics

Country Status (1)

Country Link
KR (1) KR100631806B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101422772B1 (en) 2009-12-28 2014-07-29 에스케이플래닛 주식회사 Online music service apparatus for generating music playlist considering user’s preferences and ratings and method thereof
KR101616477B1 (en) * 2015-01-22 2016-04-28 한국과학기술원 Device for detecting communities and method for detecting communities using the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790426A (en) 1996-04-30 1998-08-04 Athenium L.L.C. Automated collaborative filtering system
US6006218A (en) 1997-02-28 1999-12-21 Microsoft Methods and apparatus for retrieving and/or processing retrieved information as a function of a user's estimated knowledge
WO2001084353A2 (en) 2000-05-03 2001-11-08 Musicmatch Relationship discovery engine
JP2005018205A (en) 2003-06-24 2005-01-20 Matsushita Electric Ind Co Ltd Musical piece retrieving system and method, and musical piece retrieving device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790426A (en) 1996-04-30 1998-08-04 Athenium L.L.C. Automated collaborative filtering system
US6006218A (en) 1997-02-28 1999-12-21 Microsoft Methods and apparatus for retrieving and/or processing retrieved information as a function of a user's estimated knowledge
WO2001084353A2 (en) 2000-05-03 2001-11-08 Musicmatch Relationship discovery engine
JP2005018205A (en) 2003-06-24 2005-01-20 Matsushita Electric Ind Co Ltd Musical piece retrieving system and method, and musical piece retrieving device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101422772B1 (en) 2009-12-28 2014-07-29 에스케이플래닛 주식회사 Online music service apparatus for generating music playlist considering user’s preferences and ratings and method thereof
KR101616477B1 (en) * 2015-01-22 2016-04-28 한국과학기술원 Device for detecting communities and method for detecting communities using the same

Similar Documents

Publication Publication Date Title
Toledo et al. Correcting noisy ratings in collaborative recommender systems
JP5432264B2 (en) Apparatus and method for collection profile generation and communication based on collection profile
JP4179341B2 (en) Information processing apparatus and method, program, and recording medium
JP4817338B2 (en) Content evaluation device, content search device, content evaluation method, content search method, and first and second computer programs
US20120136814A1 (en) Music recommendation method and apparatus
KR101352418B1 (en) Device for determining potential future interests to be introduced into profile(s) of user(s) of communication equipment(s)
CN110704674A (en) Video playing integrity prediction method and device
US8868564B1 (en) Analytic comparison of libraries and playlists
KR20200062917A (en) Open Source Software Recommendation System and Method Using Personal Profiling
CN110430477A (en) Recommended method, device, computer equipment and the storage medium of live content
EP3923226A1 (en) Preference computation device, preference computation method, and program
KR20090017268A (en) Method for updating interest keyword of user and system for executing the method
Jannach et al. Session-based recommender systems
Dooms et al. A framework for dataset benchmarking and its application to a new movie rating dataset
CN110069713A (en) A kind of personalized recommendation method based on user&#39;s context perception
KR101074820B1 (en) Recommendation searching system using internet and method thereof
TWI499290B (en) Information recommendation method and system
KR100631806B1 (en) Method and system for music recommendation by using graph representing relations between musics
Campochiaro et al. Do metrics make recommender algorithms?
Tacchini Serendipitous mentorship in music recommender systems
CN113032676A (en) Recommendation method and system based on micro-feedback
CN110110206A (en) Relation excavation and recommended method, device, calculating equipment, storage medium between article
CN107943932A (en) Category recommends method, storage device and terminal
KR20150002409A (en) Method and apparatus for learning user preference
JP2016076097A (en) Behavior prediction apparatus, behavior prediction method, and program

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120910

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140926

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160905

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170904

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180831

Year of fee payment: 13