KR100868764B1 - Method and system of recommending a music using user model, and update method of a conditional user model - Google Patents

Method and system of recommending a music using user model, and update method of a conditional user model Download PDF

Info

Publication number
KR100868764B1
KR100868764B1 KR1020060121792A KR20060121792A KR100868764B1 KR 100868764 B1 KR100868764 B1 KR 100868764B1 KR 1020060121792 A KR1020060121792 A KR 1020060121792A KR 20060121792 A KR20060121792 A KR 20060121792A KR 100868764 B1 KR100868764 B1 KR 100868764B1
Authority
KR
South Korea
Prior art keywords
user
music
user model
model
conditional
Prior art date
Application number
KR1020060121792A
Other languages
Korean (ko)
Other versions
KR20080050902A (en
Inventor
김규홍
김정수
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060121792A priority Critical patent/KR100868764B1/en
Publication of KR20080050902A publication Critical patent/KR20080050902A/en
Application granted granted Critical
Publication of KR100868764B1 publication Critical patent/KR100868764B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/686Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title or artist information, time, location or usage information, user ratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/638Presentation of query results
    • G06F16/639Presentation of query results using playlists

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 사용자 모델을 업데이트하는 방법에 관한 것으로, 음악을 재생하는 기기의 사용 패턴을 모니터링하여, 기기 사용 패턴을 검출하고, 검출된 기기 사용 패턴에 기초하여 사용자 모델을 업데이트함으로써, 사용자의 기기사용 패턴으로부터 선호 모델을 학습하여 사용자의 음악 선호 취향의 변화를 사용자의 선호도에 반영할 수 있는 효과가 있다.The present invention relates to a method for updating a user model, by monitoring a usage pattern of a device for playing music, detecting a device usage pattern, and updating the user model based on the detected device usage pattern, By learning the preference model from the pattern, it is possible to reflect the change in the user's music preference taste to the user's preference.

음악, 선호, 사용자 모델, 업데이트 Music, preferences, user models, updates

Description

사용자 모델을 이용한 음악 추천 방법 및 시스템, 및 조건부 사용자 모델 업데이트 방법{Method and system of recommending a music using user model, and update method of a conditional user model}Method and system of recommending a music using user model, and update method of a conditional user model}

도 1은 종래기술에 따른 사용자의 음악 선호도를 이용하여 음악 리스트를 선정하는 시스템의 개략적인 블록도이다.1 is a schematic block diagram of a system for selecting a music list using a user's music preference according to the prior art.

도 2는 종래기술에 따른 음악 추천 시스템의 개략적인 블록도이다.2 is a schematic block diagram of a music recommendation system according to the prior art.

도 3은 본 발명의 일 실시예에 따른 음악 추천 시스템의 개략적인 블록도이다.3 is a schematic block diagram of a music recommendation system according to an embodiment of the present invention.

도 4는 도 3의 음악 추천 시스템에서 사용자의 기기 사용 패턴을 모니터링하여 사용자 모델을 업데이트하는 구성의 블록도이다.4 is a block diagram of a configuration of updating a user model by monitoring a device usage pattern of a user in the music recommendation system of FIG. 3.

도 5는 본 발명의 다른 실시예에 따른 사용자의 기기 사용 패턴을 모니터링 하여 사용자 모델을 업데이트 하는 방법을 설명하는 흐름도이다.5 is a flowchart illustrating a method of updating a user model by monitoring a device usage pattern of a user according to another embodiment of the present invention.

도 6은 본 발명의 또 다른 실시예에 따른 음악으로부터 특징 벡터를 추출하여 특징 세트를 생성하는 방법을 설명하는 흐름도이다.6 is a flowchart illustrating a method of generating a feature set by extracting feature vectors from music according to another embodiment of the present invention.

도 7은 본 발명의 또 다른 실시예에 따른 사용자 모델을 이용한 선호 음악 리스트를 추출하는 구성의 블록도이다.7 is a block diagram of a configuration of extracting a favorite music list using a user model according to another embodiment of the present invention.

도 8 및 9는 본 발명의 또 다른 실시예에 따른 사용자 선호 모델을 기초로 선호 곡을 추출하여, 업데이트 횟수에 따른 성능 실험 결과를 설명하는 도면이다.8 and 9 are diagrams illustrating a performance test result according to the number of updates by extracting a preference song based on a user preference model according to another embodiment of the present invention.

도 10은 본 발명의 또 다른 실시예에 따른 조건 검출부와 사용자 모델부의 구성을 개략적으로 도시한 블록도이다. 10 is a block diagram schematically illustrating the configuration of a condition detector and a user model according to another exemplary embodiment of the present invention.

도 11은 본 발명의 또 다른 실시예에 따른 조건별 사용자 선호 모델을 업데이트하는 방법을 설명하는 흐름도이다.11 is a flowchart illustrating a method of updating a conditional user preference model according to another embodiment of the present invention.

도 12는 도 11의 방법에 따라 업데이트된 조건별 사용자 선호 모델을 선택하는 방법을 설명하는 흐름도이다.12 is a flowchart illustrating a method of selecting an updated conditional user preference model according to the method of FIG. 11.

도 13은 본 발명의 또 다른 실시예에 따른 조건별 사용자 선호 모델을 업데이트하는 방법을 설명하는 흐름도이다.13 is a flowchart illustrating a method of updating a conditional user preference model according to another embodiment of the present invention.

도 14는 도 13의 방법에 따라 업데이트된 조건별 사용자 선호 모델을 선택하는 방법을 설명하는 흐름도이다.14 is a flowchart illustrating a method of selecting an updated conditional user preference model according to the method of FIG. 13.

도 15는 본 발명의 또 다른 실시예에 따른 조건별 사용자 선호 모델을 업데이트하는 방법을 설명하는 흐름도이다.15 is a flowchart illustrating a method of updating a conditional user preference model according to another embodiment of the present invention.

도 16은 도 15의 방법에 따라 업데이트된 조건별 사용자 선호 모델을 선택하는 방법을 설명하는 흐름도이다.FIG. 16 is a flowchart illustrating a method of selecting an updated conditional user preference model according to the method of FIG. 15.

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

300: 조건 검출부 302: 사용자 모델부300: condition detection unit 302: user model unit

304: 사용자 모델 업데이트부 306: 사용자 모델 선택부304: user model update unit 306: user model selection unit

308: 음악 검색부 310: 이벤트 검출부308: Music search unit 310: Event detector

312: 모니터링부 314: 음악 데이터베이스312: monitoring unit 314: music database

400: 네거티브 모델 업데이트부 402: 포지티브 모델 업데이트부400: negative model updating unit 402: positive model updating unit

404: 재생시간 검출부 406: 반복재생 검출부404: Playback time detector 406: Repeated playback detector

408: 사용자 선택 검출부 1000: 조건 감지부408: user selection detector 1000: condition detection unit

1002: 사용자 인터페이스부 1004: 네트워크 접속부1002: user interface unit 1004: network connection unit

1006: 무조건부 사용자 모델부 1008: 가상 사용자 모델부1006: unconditional user model unit 1008: virtual user model unit

1010: 조건부 사용자 모델부 1010: Conditional user model part

본 발명은 음악 추천 방법 및 시스템에 관한 것으로, 더 상세하게는 사용자 모델을 이용하여 사용자가 선호하는 음악 리스트를 자동으로 추천해 주는 방법 및 시스템에 관한 것이다. The present invention relates to a method and system for recommending music, and more particularly, to a method and system for automatically recommending a music list preferred by a user using a user model.

최근, 휴대용 음악 재생기, MP3 플레이어 또는 PC등을 통해 음악을 청취하는 이용자가 급격히 증가하고 있다. 이러한 추세에 따라 사용자가 좋아하는 음악을 자동으로 선곡하여 리스트를 제공하여 주는 다양한 기술들이 제시되고 있다.In recent years, the number of users who listen to music through a portable music player, an MP3 player or a PC is rapidly increasing. In accordance with this trend, various technologies for automatically selecting a user's favorite music and providing a list have been proposed.

도 1은 종래기술에 따른 사용자의 음악 선호도를 이용하여 음악 리스트를 선정하는 시스템의 개략적인 블록도이다.1 is a schematic block diagram of a system for selecting a music list using a user's music preference according to the prior art.

도 1의 음악 리스트 선정 시스템(100)은 미디어 해석기(102), 재생 리스트 생성기(104), 메타 데이터를 포함한 미디어 데이터베이스(106) 및 미디어 재생 기(108)를 포함하여 구성된다.The music list selection system 100 of FIG. 1 includes a media analyzer 102, a playlist generator 104, a media database 106 including metadata, and a media player 108.

이러한 음악 리스트 선정 시스템(100)은 사용자가 자신이 선호하는 음악 등을 직접 지정하고, 미디어 해석기(102)에서 이를 분석하여 메타 데이터로 표현된 음악들을 미디어 데이터베이스(106)로부터 추출하여 재생 리스트 생성기(104)에서 비슷한 곡을 자동으로 추출하는 구성이다.The music list selection system 100 directly designates a user's favorite music and the like, and analyzes it in the media analyzer 102 to extract music represented by metadata from the media database 106 to generate a playlist generator. In 104), a similar song is automatically extracted.

하지만, 이와 같은 구성에서는 사용자의 음악 취향을 모델링할 때, 선호하는 음악(seed song)을 사용자가 직접 지정해야만 하고, 사용자의 기기, 예를 들면 MP3 플레이어 등의 기기 사용 패턴을 반영하지 못할 뿐만 아니라, 선호 아이템(seed item)이 충분하지 않다면 불완전한 사용자 선호 모델이 생성될 수 있으며, 선호도 계산에 사용되는 특징(feature)을 자동으로 생성하기 어렵다는 문제점이 있다.However, in such a configuration, when modeling the user's music taste, the user must designate a preferred song and not reflect the device usage pattern of the user's device, such as an MP3 player. Incomplete user preference model may be generated if there is not enough seed item, and it is difficult to automatically generate a feature used for the preference calculation.

도 2는 종래기술에 따른 또 다른 음악 추천 시스템의 개략적인 블록도이다.2 is a schematic block diagram of another music recommendation system according to the prior art.

도 2에는 음악 특징 추출부(200), 음악 서버(202), 사용자 기준 선택부(204), 기준 특징부(206), 계산부(208), 추천부(210), 재생부(212), 사용자 평가부(214), 평가 기록부(216) 및 통계 해석부(218)를 포함하는 음악 추천 시스템이 도시되어 있다.2, a music feature extractor 200, a music server 202, a user criterion selector 204, a reference feature 206, a calculator 208, a recommender 210, a playback unit 212, A music recommendation system is shown that includes a user evaluator 214, an evaluation recorder 216, and a statistical interpreter 218.

이러한 음악 추천 시스템은 음악의 특징을 추출하여 저장하고, 사용자로부터 입력받은 기준을 기초로 특징을 추출하여 음악 서버(202)에 저장된 특징과 일치하는지 계산하여 일치하는 음악을 추천하고 이를 재생한 다음, 사용자의 평가에 의해 기록된 정보가 기준 특징부(206)에 피드백되어 사용자의 선호도가 모델링되는 구성이다. 즉 사용자가 직접 무드(mood), 예를 들면 발라드, 댄스 등의 음악 장르 등 의 정보를 선택해주면 저장되어 있는 노래중 자동으로 무드(mood)에 해당하는 노래를 재생해주며, 사용자가 노래를 듣고 직접 점수를 부여하는 형식으로 사용자 모델이 업데이트 된다. The music recommendation system extracts and stores the features of the music, extracts the features based on the criteria input from the user, calculates whether they match the features stored in the music server 202, recommends the matching music, plays the same, Information recorded by the user's evaluation is fed back to the reference feature 206 to model the user's preferences. That is, when the user selects a mood, for example, a music genre such as a ballad or a dance, the user automatically plays a song corresponding to the mood among the stored songs, and the user listens to the song. The user model is updated in the form of direct scoring.

하지만, 이와 같은 구성은 사용자가 직접 무드를 선택해야 하는 불편함이 있고, 사용자의 기호를 반영해주기 위해서는 사용자가 직접 노래를 들으면서 평가를 해야만 한다는 단점이 있다.However, such a configuration has a disadvantage in that the user must select the mood directly, and in order to reflect the user's preferences, the user must evaluate while listening to the song.

한편, 음악 재생 기기의 사용자가 다수일 때, 다수의 사용자마다 자기가 좋아하는 음악을 각각 저장해 놓을 수 있다. 예를 들면, MP3 플레이어를 식구가 같이 사용하고 있는데, 어느 한 사용자가 별로 좋아하지 않는 트로트, 클래식 노래가 잔뜩 들어가 있는 경우, 내가 듣고 싶은 음악을 찾을 때, 너무 번거롭고 혼자만 계속해서 사용하는 것이 아니기 때문에 삭제하기도 어려운 문제점이 있다. On the other hand, when there are a large number of users of the music playback device, each of the plurality of users can store their favorite music. For example, if a family uses an MP3 player with a lot of trot and classical songs that one user doesn't like, delete them because it's too cumbersome to find the music I want to listen to and I don't use it all alone. There is also a difficult problem.

또한, 외부 조건, 예를 들면 맑은 공휴일 오전, 흐린 날 저녁 시간에 운전하는 경우 등에 따라 사용자가 특히 선호하거나 듣고 싶은 음악이 있다. 이러한 경우에 외부조건에 따른 선호 음악을 재생해 줄 수 있다면 사용자에게는 더 없는 만족감을 줄 수 있을 것이다. In addition, there is music that the user particularly prefers or wants to listen to, depending on external conditions, for example, when driving on a sunny holiday morning or a cloudy evening. In this case, if the user can play the preferred music according to the external conditions, the user can be provided with more satisfaction.

본 발명은 전술한 종래기술의 문제점과 점점 증가하는 개인화(personalized) 및 맞춤형(custumized) 기기를 원하는 사용자 욕구(needs)를 충족시키기 위해 안출된 것으로, 기기이용 패턴을 근거로 사용자의 음악 선호도를 자동으로 학습하고, 이를 기반으로 하여 사용자가 좋아하는 음악 리스트를 추천하는 방법 및 시스템을 제공하는 데 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to meet the above-mentioned problems of the prior art and an increasing number of user needs for personalized and custumized devices, and automatically adjusts the user's music preferences based on device usage patterns. The present invention aims to provide a method and system for recommending a user's favorite music list based on the learning.

또한, 음악 재생 기기를 함께 이용하는 여러 사용자의 선호도를 결합하여 선호하는 음악 리스트를 추천하는 방법을 제공하는 데 다른 목적이 있다.Another object of the present invention is to provide a method of recommending a list of preferred music by combining the preferences of various users who use the music player.

또한, 사용 환경에 따른 사용자 선호도가 달라질 수 있으므로, 여러 조건에 따라 다르게 적용되는 사용자 선호도를 모델링한 조건별 사용자 모델을 이용하여 조건에 맞는 음악 리스트를 추천하는 방법을 제공하는 데 또 다른 목적이 있다.In addition, since the user preferences may vary according to the use environment, another object of the present invention is to provide a method of recommending a music list suitable for a condition using a user model for each condition modeling a user preference that is applied differently according to various conditions. .

또한, 조건별 사용자 모델을 업데이트하는 데 있어서, 다수의 조건을 반영하여 조건별 사용자 모델을 고속으로 업데이트할 수 있는 방법을 제공하는 데 또 다른 목적이 있다.Another object of the present invention is to provide a method for rapidly updating a conditional user model by reflecting a plurality of conditions in updating the conditional user model.

본 발명의 기술적 과제를 달성하기 위한 사용자 모델을 이용하여 음악 리스트를 추천하는 시스템에 있어서, 상기 사용자 모델을 업데이트하는 방법은 상기 음악을 재생하는 기기의 사용 패턴을 모니터링하여, 상기 기기 사용 패턴을 검출하는 단계; 및 상기 검출된 기기 사용 패턴에 기초하여 상기 사용자 모델을 업데이트하는 단계를 포함한다.In the system for recommending a music list using a user model for achieving the technical problem of the present invention, the method for updating the user model is to monitor the usage pattern of the device for playing the music, to detect the device usage pattern Making; And updating the user model based on the detected device usage pattern.

본 발명의 다른 기술적 과제를 달성하기 위한 사용자 모델을 이용하여 음악 리스트를 추천하는 방법은 소정의 음악으로부터 특징 벡터를 추출하는 단계; 상기 추출된 특징 벡터를 이용하여 사용자 모델을 생성하는 단계; 및 상기 사용자 모델을 이용하여 음악에 대한 사용자 선호도를 계산하여, 계산된 결과에 따라 음악 리스트를 추천하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of recommending a music list using a user model, including: extracting a feature vector from predetermined music; Generating a user model using the extracted feature vector; And calculating a user preference for music using the user model, and recommending a music list according to the calculated result.

본 발명의 또 다른 기술적 과제를 달성하기 위한 조건부 사용자 모델을 업데이트하는 방법은 무조건부 사용자 모델의 업데이트 횟수를 검사하는 단계; 상기 업데이트 횟수가 소정의 임계값 이상인 경우, 상기 무조건부 사용자 모델을 복사하여 상기 조건부 사용자 모델을 생성하는 단계; 및 상기 생성된 조건부 사용자 모델을 업데이트하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of updating a conditional user model, including: checking an update number of an unconditional user model; Generating the conditional user model by copying the unconditional user model when the number of updates is greater than or equal to a predetermined threshold value; And updating the generated conditional user model.

본 발명의 또 다른 기술적 과제를 달성하기 위한 조건부 사용자 모델을 업데이트 하는 방법은 적어도 하나 이상의 조건에 대한 단일 조건부 사용자 모델을 각각 생성하는 단계; 상기 생성된 단일 조건부 사용자 모델을 각각 업데이트하는 단계; 및 상기 단일 조건부 사용자 모델을 통합하여 가상 사용자 모델을 생성하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of updating a conditional user model, each generating a single conditional user model for at least one or more conditions; Updating each of the generated single conditional user models; And integrating the single conditional user model to generate a virtual user model.

본 발명의 또 다른 기술적 과제를 달성하기 위한 조건부 사용자 모델을 업데이트하는 방법은 무조건부 사용자 모델의 업데이트 횟수를 검사하여, 상기 업데이트 횟수가 임계치 이상인지를 판단하는 단계; 상기 판단 결과, 임계치 이상인 경우 각각의 조건에 해당하는 개별 조건부 사용자 모델을 업데이트 하고, 임계치 미만인 경우 상기 무조건부 사용자 모델을 업데이트하는 단계; 및 상기 단계에서 상기 무조건부 사용자 모델의 업데이트 횟수를 검사하여, 상기 업데이트 횟수가 임계치 이상인 경우, 상기 무조건부 사용자 모델을 복사하여 각각의 단일 조건부 사용자 모델을 생성하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of updating a conditional user model, the method comprising: checking an update number of an unconditional user model and determining whether the update number is greater than or equal to a threshold; Updating the individual conditional user model corresponding to each condition if the threshold is greater than or equal to the threshold, and updating the unconditional user model if the threshold is less than the threshold; And checking the number of updates of the unconditional user model in the step, and if the number of updates is greater than or equal to a threshold, copying the unconditional user model to generate each single conditional user model.

본 발명의 또 다른 기술적 과제를 달성하기 위한 사용자 모델을 이용하여 음악 리스트를 추천하는 시스템은 소정의 음악으로부터 특징 벡터를 추출하여, 소정 의 음악 장르별로 정규화된 우도(likelihood)로 이루어진 특징 벡터 세트를 저장하고 있는 사용자 모델부; 상기 사용자 모델부에 저장된 다수의 사용자 모델로부터 사용자의 선호 또는 비선호 음악에 대한 특징 벡터 세트를 선택하는 사용자 모델 선택부; 및 상기 사용자 모델 선택부로부터 상기 특징 벡터 세트를 입력받아 사용자 선호도를 계산하여, 상기 계산된 결과에 따라 음악 리스트를 추천하는 음악 검색부를 포함한다.A system for recommending a music list by using a user model for achieving another technical problem of the present invention extracts a feature vector from a predetermined music and generates a feature vector set consisting of likelihoods normalized for a given music genre. A user model unit for storing; A user model selection unit for selecting a feature vector set for a user's favorite or unfavorable music from a plurality of user models stored in the user model unit; And a music search unit that receives the feature vector set from the user model selection unit, calculates user preferences, and recommends a music list according to the calculated result.

본 발명의 또 다른 기술적 과제를 달성하기 위한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 포함한다.A computer readable recording medium having recorded thereon a program for executing on a computer a method for achieving another technical object of the present invention.

본 발명의 세부 및 개선 사항은 종속항에 개시된다.Details and improvements of the invention are disclosed in the dependent claims.

이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명의 일 실시예에 따른 음악 추천 시스템의 개략적인 블록도이다.3 is a schematic block diagram of a music recommendation system according to an embodiment of the present invention.

도 3을 참조하면, 음악 추천 시스템은 조건 검출부(300), 사용자 모델부(302), 사용자 모델 업데이트부(304), 사용자 모델 선택부(306), 음악 검색부(308), 이벤트 검출부(310), 모니터링부(312) 및 음악 데이터베이스(314)를 포함한다.Referring to FIG. 3, the music recommendation system includes a condition detector 300, a user model unit 302, a user model update unit 304, a user model selector 306, a music search unit 308, and an event detector 310. ), The monitoring unit 312 and the music database (314).

조건 검출부(300)는 사용자가 선호 또는 선호하지 않는 음악을 모델링하는 사용자 선호 모델에 외부의 조건, 예를 들면 시간, 날씨, 휴일, 오전, 운전 여부 등의 조건에 따른 사용자의 선호도 반영하기 위해 외부의 조건을 검출하여, 사용자 모델 선택부(306)와 사용자 모델 업데이트부(304)에 제공한다. 이러한 조건 검출부(300)는 MP3 플레이어에 장착된 온도 센서, 타이머 등과, 네트워크상의 정보 제공 서버에 접속하여 조건 정보를 수신할 수 있는 네트워크 접속 수단과, 사용자로부터 직접 조건을 입력받아 처리할 수 있는 사용자 인터페이스부를 포함할 수 있다. 조건 검출부(300)와 관련한 자세한 구성은 도 10을 참조하여 후술한다. The condition detector 300 may be configured to reflect the user's preference according to external conditions, such as time, weather, holiday, morning, driving, etc., in a user's preference model for modeling music that the user does not like or prefer. Condition is detected and provided to the user model selecting unit 306 and the user model updating unit 304. The condition detection unit 300 is a temperature sensor, a timer, and the like installed in the MP3 player, a network connection means capable of receiving condition information by accessing an information providing server on a network, and a user who can receive and process conditions directly from a user. It may include an interface unit. Detailed configuration related to the condition detection unit 300 will be described later with reference to FIG. 10.

사용자 모델부(302)는 사용자의 음악에 대한 선호 또는 선호하지 않는 음악의 종류 등을 모델링하여 저장하고 있다. 이러한 사용자 모델부(302)는 하드웨어적으로는 메모리 등으로 구현될 수 있으며, 다양한 모델링 알고리즘에 의해 모델링될 수 있다. 또한, 사용자 모델부(302)는 사용자가 좋아하는 음악들을 모델링한 포지티브 사용자 모델과, 사용자가 좋아하지 않는 음악들을 모델링한 네거티브 사용자 모델을 포함한다. 여기서, 사용자 모델은 포지티브 사용자 모델과 네거티브 사용자 모델의 조합으로 표현하며, 각각의 사용자 모델의 평균, 분산, 업데이트 횟수로 표현된 통계적 모델이다. 사용자 모델과 관련한 구체적인 표현은 수학식 9를 참조하여 후술한다.
또한, 사용자 모델부(302)는 전술한 외부의 조건을 반영하지 않은 무 조건부 사용자 모델, 외부의 조건을 반영한 조건부 사용자 모델, 또는 다수의 사용자의 모델을 반영하기 위한 가상 사용자 모델을 포함할 수 있으며, 이는 도 10을 참조하여 후술한다.
The user model unit 302 models and stores a user's preference for music or a kind of music not preferred. The user model unit 302 may be implemented in hardware or the like in hardware, and may be modeled by various modeling algorithms. In addition, the user model unit 302 includes a positive user model that models music that the user likes, and a negative user model that models music that the user does not like. Here, the user model is represented by a combination of the positive user model and the negative user model, and is a statistical model expressed by the average, variance, and update count of each user model. Specific expressions related to the user model will be described later with reference to Equation 9.
In addition, the user model unit 302 may include an unconditional user model that does not reflect the external conditions described above, a conditional user model that reflects external conditions, or a virtual user model for reflecting models of a plurality of users. This will be described later with reference to FIG. 10.

사용자 모델 업데이트부(304)는 음악 재생기기에서 연주되는 음악으로부터 사용자 모델을 업데이트 하거나, 사용자의 음악 기기의 사용패턴에 대한 정보를 모니터링부(312)와 이벤트 검출부(310)를 통해 입력받아, 이러한 정보들을 사용자 모델 구성에 반영한다. 또한, 조건 검출부(300)로부터 외부 조건을 입력받아, 조건에 따른 사용자 모델을 업데이트 한다.The user model updater 304 updates the user model from the music played in the music player, or receives information about a usage pattern of the user's music device through the monitor 312 and the event detector 310. Reflect the information in the user model configuration. In addition, an external condition is input from the condition detector 300 to update a user model according to the condition.

사용자 모델 선택부(306)는 사용자 모델부(302)에 저장된 다수의 사용자 모 델로부터 사용자의 선호 또는 비선호 음악에 대한 특징 벡터들의 집합을 선택한다.The user model selector 306 selects a set of feature vectors for the user's preferred or unfavorable music from a plurality of user models stored in the user model unit 302.

음악 검색부(308)는 사용자 모델 선택부(306)로부터 특징 벡터들의 집합을 입력받아 사용자의 선호도를 계산하여, 선호하는 음악의 경우, 선호도 값이 큰 순서대로 사용자에게 제공하고, 선호하지 않는 음악의 경우, 선호도 값이 작은 순서대로 사용자에게 제공한다.The music retrieval unit 308 receives a set of feature vectors from the user model selection unit 306 and calculates a user's preference. In this case, the preference values are provided to the user in the order of decreasing order of preference.

이벤트 검출부(310)는 음악 재생 기기에서 발생하는 이벤트, 예를 들면 음악이 재생되는 시간, 특정 음악이 반복되어 재생되는 경우, 사용자가 직접 음악을 선곡하여 입력하는 경우 등의 이벤트를 검출하여 사용자 모델 업데이트부(304)에 제공한다. 이벤트 검출부(310)의 구체적인 구성과 이를 이용한 업데이트 방법에 대해서는 도 4 및 5를 참조하여 후술한다.The event detector 310 detects an event occurring in a music playback device, for example, a time when a music is played, a specific music is repeatedly played, or a user selects and inputs music directly to the user model. The update unit 304 is provided. A detailed configuration of the event detector 310 and an update method using the same will be described later with reference to FIGS. 4 and 5.

모니터링부(312)는 음악 재생 기기, 예를 들면 MP3 플레이어, PC등에 대한 사용자의 기기 사용패턴을 모니터링한다. 즉, 사용자가 어떤 곡을 반복해서 듣는지 또는 어떤 곡은 재생시킨 후 바로 정지시키는지를 모니터링하여, 모니터링의 결과를 이벤트 검출부(310)에 제공한다. The monitoring unit 312 monitors a user's device usage pattern for a music reproducing device, for example, an MP3 player, a PC, or the like. That is, the user monitors which songs are repeatedly listened to or which songs are stopped immediately after being played, and provides the event detection unit 310 with the monitoring results.

음악 데이터베이스(314)는 다수의 음악 파일을 저장하고 있으며, 음악 추천 시스템 내부에 또는 외부의 서버에 위치할 수 있다. 또한, 음악 데이터베이스(314)에 저장된 음악 데이터는 본 발명의 바람직한 실시예에 따라 정규화된 특징 벡터를 음악 파일의 헤더에 포함하고 있을 수 있다. The music database 314 stores a plurality of music files and may be located in a server inside or outside the music recommendation system. In addition, the music data stored in the music database 314 may include a normalized feature vector in the header of the music file in accordance with a preferred embodiment of the present invention.

도 4는 본 발명의 도 3의 음악 추천 시스템에서 사용자의 기기 사용 패턴을 모니터링하여 사용자 모델을 업데이트하는 구성의 블록도이다.4 is a block diagram of a configuration of updating a user model by monitoring a device usage pattern of a user in the music recommendation system of FIG. 3 of the present invention.

도 4를 참조하면, 사용자 모델 업데이트부(304)는 네거티브 모델 업데이트부(400) 및 포지티브 모델 업데이트부(402)를 포함하고, 이벤트 검출부(310)는 재생시간 검출부(404), 반복재생 검출부(406) 및 사용자 선택 검출부(408)를 포함한다.Referring to FIG. 4, the user model updater 304 includes a negative model updater 400 and a positive model updater 402, and the event detector 310 includes a play time detector 404 and a repeat play detector ( 406 and a user selection detector 408.

재생시간 검출부(404)는 음악 재생 기기에서 특정의 곡이 재생되는 시간을 검출하는데, 특히 일정시간 이하로 재생되는 음악은 네거티브 이벤트로 판단하게 된다.The play time detector 404 detects a time at which a specific song is played in the music reproducing apparatus. In particular, the music played for a predetermined time or less is determined as a negative event.

반복재생 검출부(406)는 한번 재생되었던 곡이 다시 반복해서 재생되는지 여부를 검출하는데, 이러한 경우는 사용자가 선호하는 포지티브 이벤트로 분류할 수 있다.The repeat play detection unit 406 detects whether the once played song is repeatedly played again, in which case it may be classified as a positive event preferred by the user.

사용자 선택 검출부(408)는 사용자가 직접 수동으로 선곡하는 경우, 또는 재생되는 음악을 직접 지정하여 취소하는 경우 등의 사용자의 입력 조작에 의해 선택되는 경우를 검출하고, 각각 포지티브 이벤트 및 네거티브 이벤트로 판단한다.The user selection detection unit 408 detects a case where the user is selected by a user's input operation, such as when the user manually selects music directly or when the user directly selects and cancels the music to be played, and determines that the event is a positive event or a negative event, respectively. do.

본 발명의 바람직한 실시예에서, 음악 재생 기기에서 발생하는 이벤트는 포지티브 이벤트와 네거티브 이벤트로 나눈다. 포지티브 이벤트는, 예를 들면 직접탐색으로 곡을 직접 재생한 경우, 반복 재생한 경우, 재생 도중 사용자가 선호 곡으로 직접 지정한 경우를 포함하며, 네거티브 이벤트는 재생 도중 특정 짧은 시간 안에 취소된 경우, 재생 도중 사용자가 키 조작을 통하여 직접 지정한 경우 등을 포함한다. 하지만, 전술한 이벤트의 종류 등은 예시적으로 나열된 것으로, 다양한 이벤트들을 고려할 수 있음은 물론이다. In a preferred embodiment of the present invention, the events occurring in the music player are divided into positive events and negative events. Positive events include, for example, direct playback of a song, repeated playback, and user-specified preferences during playback, while negative events are played back if canceled within a certain short time during playback. This includes the case where the user directly designates through a key operation. However, the above-described types of events are listed as examples, and various events may be considered.

포지티브 이벤트가 발생하면 포지티브 모델 업데이트부(402)에서 사용자 모델을 업데이트 시키고, 네거티브 이벤트가 발생하면 네거티브 모델 업데이트부(400)에서 업데이트 시킨다. When a positive event occurs, the positive model updater 402 updates the user model, and when a negative event occurs, the negative model updater 400 updates the user model.

도 5는 본 발명의 다른 실시예에 따른 사용자의 기기 사용 패턴을 모니터링 하여 사용자 모델을 업데이트 하는 방법을 설명하는 흐름도이다.5 is a flowchart illustrating a method of updating a user model by monitoring a device usage pattern of a user according to another embodiment of the present invention.

도 5를 참조하면, 먼저, 음악 재생 기기를 통해 특정의 음악을 재생하고, 단계 500에서, 재생시간 검출부(404)는, 재생되고 있는 음악의 재생시간을 검사한다. 단계 502에서, 임계치 이상 재생되었는지를 판단하여, 임계치 이하인 경우에는 단계 504로 진행하여, 네거티브 사용자 모델부에 업데이트하고, 임계치 이상인 경우에는 단계 506에서, 이 음악이 반복해서 재생되었는지를 검사한다. 단계 508에서, 이 음악이 반복해서 재생된 경우, 단계 510에서, 포지티브 사용자 모델부에 업데이트한다.Referring to FIG. 5, first, a specific music is played back through a music reproducing apparatus, and in step 500, the play time detector 404 checks the play time of the music being played. In step 502, it is determined whether the music is played above the threshold, and if it is less than the threshold, the process proceeds to step 504, where it is updated to the negative user model, and in the case of more than the threshold, in step 506, the music is repeatedly played. In step 508, if this music is repeatedly played, in step 510, the positive user model is updated.

도 6은 본 발명의 또 다른 실시예에 따른 음악으로부터 특징(feature)을 추출하여 특징 세트(set)를 생성하는 방법을 설명하는 흐름도이다.6 is a flowchart illustrating a method of generating a feature set by extracting a feature from music according to another embodiment of the present invention.

본 발명의 바람직한 실시예에서, 사용자 모델부(302)는 사용자의 음악 선호도를 모델링한다. 모델링에 사용되는 사용자 음악 선호도 P(W|U)는 다음 수학식1과 같은 선호/비선호 모델의 우도(Likelihood ratio)에 의하여 계산한다. 우도(likelihood)란 일반적으로 어떤 시행의 결과가 주어졌다 할 때, 만일 주어진 가설 이 참이라면, 그러한 결과가 나올 정도는 얼마나 되느냐이다. 즉 어떤 상태가 되거나 일어날 수 있는 확실성의 정도를 의미한다.In a preferred embodiment of the present invention, the user model unit 302 models the user's music preferences. The user music preference P (W | U) used in the modeling is calculated by the likelihood ratio of the preference / unfavorability model as shown in Equation 1 below. Likelihood is generally given the results of a trial, and if the given hypothesis is true, how long is such a result? That is, the degree of certainty that a state may or may not occur.

Figure 112006089927779-pat00001
Figure 112006089927779-pat00001

여기서 U+는 포지티브 사용자 선호 모델(positive user preference model)이고 U-는 네거티브 사용자 선호 모델(negative user preference model)이다.Where U + is a positive user preference model and U is a negative user preference model.

사용자 선호 모델(user preference model)을 위해서는 장르별 특징 세트를 결정해야 하는데, 노래 곡명 W에 대한 오디오 데이터로부터 특징 세트 {f1, f2,…, fM}을 추출해야 사용자 선호도를 모델링하고, 선호 정도를 계산할 수 있다. For the user preference model, a genre-specific feature set must be determined. From the audio data for song song name W, the feature set {f1, f2,... , fM} must be extracted to model user preferences and to calculate preferences.

먼저, 본 발명의 바람직한 실시예에서는 가우시안 혼합 모델(Gaussian Mixture Model)기반의 장르 분류에서 음악에 대한 각 장르별 스코어를 특징 벡터로 사용한다. 본 발명의 바람직한 실시예에서는 M가지 장르, 클래식(Classical), 컨트리(Country), 디스코(Disco), 힙합(HipHop), 재즈(Jazz), 락(Rock), 블르스(Blues), 레게(Reggae), 팝(Pop), 메탈(Metal)을 다음과 같이 정의하고 각 장르별로 가우시안 혼합 모델을 구성한다. 이러한 장르별 특징 세트의 결정 또는 장르의 종류는 전술한 것에 한정되지 않으며, 상황에 따라 늘릴 수도 줄일 수도 있는 예시적인 것일 뿐이다.First, in a preferred embodiment of the present invention, scores for each genre of music are used as feature vectors in a genre classification based on a Gaussian Mixture Model. In the preferred embodiment of the present invention, M genres, Classical, Country, Disco, HipHop, Jazz, Rock, Blues, Reggae ), Pop and Metal are defined as follows and Gaussian mixture model is composed for each genre. The determination of the genre-specific feature set or the type of genre is not limited to the above description and is merely an example that may be increased or decreased depending on the situation.

각각의 장르별 클래스를 모델링하기 위하여 본 발명의 바람직한 실시예에서는 가우시안 혼합 모델(GMM) 방식을 이용한다. 이러한 GMM을 구성하기 위해서는 미리 준비한 훈련 데이터로부터 지도 학습(supervised learning)방법으로 훈련시킨 다. 여기서, 훈련을 위한 음악 신호 특징은 일반적으로 잘 알려진 특징 세트를 사용하는데, 본 발명의 바람직한 실시예에서는 일반적으로 널리 알려진 다양한 음색 텍스처 특징(timbral texture feature), 리듬 컨텐츠 특징(rhythmic content feature), 피치 컨텐츠 특징(pitch content feature)을 조합해서 30차의 신호 특징(signal feature)를 구성한다. 이러한 신호 특징에 대한 자세한 설명은 본 발명의 논지를 흐릴 수 있으므로 여기서는 생략한다. 이에 대한 자세한 설명은 George Tzanetakis 등의 "Musical Genre Classification of Audio Signals" (IEEE Trans. speech and audio, vol.10, no.5, July 2002.)라는 논문에 상세히 개시되어 있다.In order to model each genre class, the preferred embodiment of the present invention uses a Gaussian mixture model (GMM) method. In order to construct such a GMM, training is performed using supervised learning from training data prepared in advance. Here, the music signal feature for training generally uses a well-known feature set, and in a preferred embodiment of the present invention, various commonly known timbre texture features, rhythmic content features, and pitches are known. Pitch content features are combined to form a thirtieth order signal feature. Detailed descriptions of such signal features are omitted here because they may obscure the subject matter of the present invention. This is described in detail in a paper by George Tzanetakis et al. "Musical Genre Classification of Audio Signals" (IEEE Trans. Speech and audio, vol. 10, no. 5, July 2002.).

또한, 제시된 특징벡터 이외에 음악 장르 분류에 사용될 수 있는 다른 신호 특징이 사용될 수도 있으며, 이렇게 정의된 신호 특징으로부터 EM(Expectation Maxinmization)알고리즘을 이용하여 장르별 GMM을 구성한다. 여기서 EM 알고리즘은 보이지 않는 잠재 변수에 의존하는 확률모델에서 파라미터들의 최대 우도 추정치(maximum likelihood estimates of parameters)를 찾는 알고리즘이다. 바람직하게, 훈련에 사용하는 모든 음악 데이터를 이용하여 장르에 독립적인 범용 배경 모델(universal background model)을 함께 만들어 정규화에 이용할 수 있다.In addition, other signal features that may be used for classifying music genres may be used in addition to the suggested feature vectors, and genre GMMs are constructed using the EM (Expectation Maxinmization) algorithm from the defined signal features. The EM algorithm is an algorithm that finds maximum likelihood estimates of parameters in a probabilistic model that depends on invisible latent variables. Preferably, all the music data used for training can be used together for normalization by creating a universal background model independent of the genre.

도 6을 참조하여, 음악으로부터 사용자 모델을 위한 장르 특징 세트를 계산하는 과정을 설명한다.Referring to FIG. 6, a process of calculating a genre feature set for a user model from music will be described.

먼저, 단계 600에서, 음악으로부터 음악 신호 특징 벡터(f')를 추출하는데, 여기서 음악 신호의 프레임별로 특징 벡터를 추출한다. 이어, 단계 602에서, 음악 신호 특징 벡터를 이용하여 장르 모델로부터 장르별 우도를 계산한다. 더 구체적 으로, 전체 프레임에 대한 모델 우도, P(f'|Cj)는 모든 프레임을 누적하여 GMM으로부터 계산한다. First, in step 600, a music signal feature vector f 'is extracted from music, where a feature vector is extracted for each frame of the music signal. Next, in step 602, the genre likelihood is calculated from the genre model using the music signal feature vector. More specifically, the model likelihood, P (f '| Cj), for all frames is calculated from the GMM by accumulating all the frames.

그리고 특징 벡터의 동적 범위(dynamic range)를 줄여 특징벡터의 효율을 높이기 위하여 단계 604를 수행한다. 본 발명의 바람직한 실시예에 따른 사용자 모델을 위한 특징 벡터를 계산하여, 장르별로 정규화된 우도 스코어(W)를 계산한다. 즉, 특징 벡터는 다음 수학식 2와 같이 장르별 정규화된 우도(normalized likelihood)로 정의한다. Step 604 is performed to increase the efficiency of the feature vector by reducing the dynamic range of the feature vector. A feature vector for a user model according to a preferred embodiment of the present invention is calculated to calculate a likelihood score (W) normalized by genre. That is, the feature vector is defined as a normalized likelihood for each genre as shown in Equation 2 below.

Figure 112006089927779-pat00002
Figure 112006089927779-pat00002

위에서 CUBM은 M가지의 모든 장르의 음악을 이용하여 만든 범용 배경모델(universal background model)이다.Above, C UBM is a universal background model created using music of all M genres.

따라서, 주어진 음악(W)으로부터 사용자 선호도를 계산하기 위하여 필요한 특징 벡터는 수학식 2를 이용하여 계산하며, 단계 606에서, 다음 수학식 3과 같이 노래 곡명(W)에 대한 특징 세트로 표현된다. 여기서, 음악은 사용자가 얼마나 좋아하는가를 스코어로 표현하려고 하는 불특정 다수의 음악이다. 예를 들면 사용자의 MP3플레이어에 저장된 음악들일 수 있으며, 이러한 음악들 중에서 특정 음악에 대해 특징 벡터를 추출한다.Accordingly, the feature vector required to calculate the user preference from the given music W is calculated using Equation 2, and is represented by the feature set for the song song name W as shown in Equation 3 below. Here, the music is an unspecified number of music that tries to express how much the user likes. For example, it may be music stored in a user's MP3 player, and a feature vector is extracted for a specific music from among the music.

Figure 112006089927779-pat00003
Figure 112006089927779-pat00003

수학식 3에서의 특징 세트의 의미는 수학식 2와 같은 장르별 정규화된 우도의 집합이 된다. 이러한 특징 세트 값을 이용하여 사용자의 음악 선호도를 계산한 다. 특징 세트 값을 이용하여 사용자의 음악 선호도를 계산하는 구성은 도 7을 참조하여 설명한다. The meaning of the feature set in Equation 3 is a set of normalized likelihoods by genre as in Equation 2. This feature set value is used to calculate the user's music preference. A configuration of calculating a music preference of the user using the feature set value will be described with reference to FIG. 7.

이상 정리하면, 본 발명의 바람직한 실시예에서 사용되는 특징값은 GMM기반의 우도 스코어를 정규화한 값이다. 따라서 장르 분류에서 사용되는 신호 특징과 가우시안 혼합 모델을 이용하여 수학식 2에서처럼 정규화된 우도를 계산하여 노래에 대한 특징 세트를 수학식 3과 같이 구성할 수 있다.In summary, the feature value used in the preferred embodiment of the present invention is a value obtained by normalizing a likelihood score based on GMM. Accordingly, the feature set for the song may be constructed as shown in Equation 3 by calculating the normalized likelihood as in Equation 2 using the signal feature used in the genre classification and the Gaussian mixture model.

수학식 3에서 각각의 특징들은 서로 상관되어 있지 않다고 가정하고, 다음 수학식 4와 같이 가우시안 분산(Gaussian distribution)으로 모델링한다.In Equation 3, it is assumed that each feature is not correlated with each other, and is modeled as a Gaussian distribution as shown in Equation 4 below.

Figure 112006089927779-pat00004
Figure 112006089927779-pat00004

그리고 수학식 1에서 로그를 취한 값을 다음 수학식 5와 같이 사용자 선호도, 즉 pref(W)라고 정의한다.The logarithmic value in Equation 1 is defined as user preference, that is, pref (W) as in Equation 5 below.

Figure 112006089927779-pat00005
Figure 112006089927779-pat00005

특징 벡터는 상관되지 않은 가우시안 랜덤 변수(uncorrelated Gaussian random variable)라고 가정하면, 노래 곡명(W)에 대한 사용자의 선호도는 다음 수학식 6과 같이 특징 벡터에 대한 선호도의 가중 합(weighted sum)으로 계산되고, 여기서 특징 가중 계수(feature weighting coefficient)는 다음 수학식 7과 같은 조건을 갖는다.Assuming that the feature vector is an uncorrelated Gaussian random variable, the user's preference for the song song name (W) is calculated as the weighted sum of the preference for the feature vector as shown in Equation 6 below. Here, the feature weighting coefficient has a condition as shown in Equation 7 below.

Figure 112006089927779-pat00006
Figure 112006089927779-pat00006

Figure 112006089927779-pat00007
Figure 112006089927779-pat00007

따라서, 각각의 특징에 대한 선호도는 다음 수학식 8과 같이 계산될 수 있다.Accordingly, the preference for each feature may be calculated as shown in Equation 8 below.

Figure 112006089927779-pat00008
Figure 112006089927779-pat00008

정리하면, 노래에 대한 사용자 선호도는 수학식 5로 정의되며, 수학식 6과 수학식 8을 대입하여 계산한다. In summary, the user preference for the song is defined by Equation 5, and is calculated by substituting Equation 6 and Equation 8.

사용자 선호도를 계산하기 위하여 필요한 모델 파라미터 세트는 다음 수학식 9와 같다.The set of model parameters required to calculate the user preferences is shown in Equation 9 below.

Figure 112006089927779-pat00009
Figure 112006089927779-pat00009

여기서, 모델 파라미터 세트는 크게 포지티브 사용자 선호 모델과 네거티브 사용자 선호 모델로 나뉘며, 업데이트를 위한 누적 업데이트 횟수(nu)가 포함된다. 사용자 모델을 구성하는 파라미터 세트(λu)는 포지티브 사용자 모델에 대해 각각 평균(μk,u+), 분산(σ2 k,u+) 및 업데이트 횟수(nu+), 네거티브 사용자 모델에 대해 각각 평균(μk,u-), 분산(σ2 k,u-) 및 업데이트 횟수(nu-)를 포함한다. 예를 들면, 상기 수학식 9에서, M이 10이라면 전체 사용자 모델을 구성하는 정보는 20개의 평균값, 20개의 분산값, 2개의 업데이트 횟수 값으로 구성되며, 총 42개의 값으로 구성된다.
선택적으로 사용자 선호 모델의 초기값은 대용량 음악 데이터 베이스를 이용하여 미리 계산해 놓을 수도 있다.
Here, the model parameter set is largely divided into a positive user preference model and a negative user preference model, and includes a cumulative update number n u for updating. The parameter set λ u constituting the user model is the mean (μ k, u + ), variance (σ 2 k, u + ) and update count (n u + ) for the positive user model, respectively ( μ k, u- ), variance (σ 2 k, u- ) and update count (n u- ). For example, in Equation 9, when M is 10, the information constituting the entire user model is composed of 20 average values, 20 variance values, and 2 update frequency values, and is composed of a total of 42 values.
Optionally, the initial value of the user preference model may be precalculated using a large music database.

음악 데이터베이스에서 노래 곡목에 대한 특징 벡터를 수학식 (2)와 같이 계산하며, 각 특징별로 평균과 분산의 초기값은 다음 수학식 10 및 11과 같이 계산한다.In the music database, a feature vector for a song piece is calculated as in Equation (2), and the initial values of the mean and variance for each feature are calculated as in Equations 10 and 11 below.

Figure 112006089927779-pat00010
Figure 112006089927779-pat00010

Figure 112006089927779-pat00011
Figure 112006089927779-pat00011

여기서 N은 음악 데이터베이스에 등록된 곡의 수이며, k는 특징 차수이고, 예시적으로 10가지로 구성된다.Here, N is the number of songs registered in the music database, k is the feature order, and consists of 10 by way of example.

또한, 선택적으로 사용자 선호 모델에 대한 평균과 분산을 계산하기 위하여 모든 기록을 저장해 놓는 것은 계산량과 메모리가 많이 소요되므로 다음 수학식 12 내지 20과 같이 온라인 적응(online adaptation) 기법으로 업데이트할 수 있다. 예를 들면, 사용자 모델이 음악 재생기기 자체가 아닌 특정 서버에 있는 경우, 음악 재생 기기에서 서버에 접속하여 서버에 저장된 사용자 모델을 업데이트 하는 경우이다. In addition, storing all records in order to selectively calculate the mean and the variance for the user preference model requires a lot of computation and memory, and can be updated by an online adaptation technique as shown in Equations 12 to 20 below. For example, when the user model is located in a specific server instead of the music player itself, the music player may access the server and update the user model stored in the server.

Figure 112006089927779-pat00012
Figure 112006089927779-pat00012

Figure 112006089927779-pat00013
Figure 112006089927779-pat00013

여기서 포지티브 선호 모델에 해당하는 평균값과 네거티브 선호 모델에 해당하는 평균값은 각각 수학식 12와 13을 이용하여 계산한다. 분산의 경우도 다음 수학식 14 및 15를 이용하여 계산한다.Here, the average value corresponding to the positive preference model and the average value corresponding to the negative preference model are calculated using Equations 12 and 13, respectively. The variance is also calculated using the following equations (14) and (15).

Figure 112006089927779-pat00014
Figure 112006089927779-pat00014

Figure 112006089927779-pat00015
Figure 112006089927779-pat00015

누적 업데이트 횟수는 다음 수학식 16 및 17과 같이 업데이트 이벤트 발생시마다 각각 증가시킨다.The cumulative update count is increased for each update event as shown in Equations 16 and 17, respectively.

Figure 112006089927779-pat00016
Figure 112006089927779-pat00016

Figure 112006089927779-pat00017
Figure 112006089927779-pat00017

포지티브 또는 네거티브 사용자 선호도에 대한 초기 모델 파라미터는 수학식 10 및 11에서 계산해 놓은 평균, 분산을 이용하여 다음 수학식 18 및 19와 같이 초기화시키고, 누적 업데이트 횟수는 다음 수학식 20과 같이 '1'로 초기화시킨다.Initial model parameters for positive or negative user preferences are initialized as shown in Equations 18 and 19 using the mean and variance calculated in Equations 10 and 11, and the cumulative update count is set to '1' as shown in Equation 20 below. Initialize

Figure 112006089927779-pat00018
Figure 112006089927779-pat00018

Figure 112006089927779-pat00019
Figure 112006089927779-pat00019

Figure 112006089927779-pat00020
Figure 112006089927779-pat00020

도 7은 본 발명의 또 다른 실시예에 따른 사용자 모델을 이용한 선호 음악 리스트를 추출하는 구성의 블록도이다.7 is a block diagram of a configuration of extracting a favorite music list using a user model according to another embodiment of the present invention.

도 7을 참조하면, 장르 모델부(700)와 음악 데이터베이스(702)로부터 특정 음악에 대한 특징을 추출한다. 사용자 선호 모델부(706)로부터 사용자 선호 모델을 선택하여 선호 스코어 계산부(710)에서 계산된 선호 스코어(W)가 큰 순서대로 정렬하여 사용자에게 제공한다.Referring to FIG. 7, a feature of a specific music is extracted from the genre model unit 700 and the music database 702. The user preference model is selected from the user preference model unit 706, and the preference score W calculated by the preference score calculator 710 is arranged in large order and provided to the user.

본 발명의 바람직한 실시예에서, 사용자 선호 모델을 이용하여 선호 음악 리스트를 자동으로 생성할 수 있다. 음악 데이터베이스로부터 도 6의 방법에 따라 정규화된 우도 스코어를 계산하여 이를 특징으로 사용한다. 또한, 선택적으로 본 발명의 바람직한 실시예에 따른 음악 추천 시스템 내에서만 아니라, 컴퓨팅 환경이 좋은 컴퓨터나 서버에서 미리 추출해 놓을 수도 있다. 각 노래별 사용자의 음악 선호도는 수학식 6에 의하여 계산된다. 이를 정리하면 다음 수학식 21과 같다. In a preferred embodiment of the present invention, a user preference model may be used to automatically generate a favorite music list. A normalized likelihood score is calculated from the music database according to the method of FIG. 6 and used as a feature. It is also possible to selectively extract not only from within the music recommendation system according to a preferred embodiment of the present invention, but also from a computer or server having a good computing environment. The music preference of the user for each song is calculated by Equation 6. This is summarized in Equation 21 below.

Figure 112006089927779-pat00021
Figure 112006089927779-pat00021

MP3나 기타 음악 재생장치에 들어있는 모든 음악에 대하여 수학식 21을 사용하여 스코어를 계산하여, 스코어 값이 일정치 이상이나 일정 개수 이상의 곡 리스트를 추출해 낼 수 있다. 또한, 선택적으로 사용자 선호 모델을 이용하여 네트워크상의 온라인 음원 판매 회사에서 사용자가 좋아할 만한 곡을 추천할 수도 있다.A score is calculated using Equation 21 for all the music contained in the MP3 or other music player, and a score list having a score greater than or equal to a predetermined value or a predetermined number can be extracted. Alternatively, a user preference model may be used to recommend songs that the user may like at an online music sales company on the network.

도 8 및 9는 사용자의 선호 곡 100개를 추출하였을 경우 업데이트 횟수에 따른 성능변화와 선호 곡 50개를 추출하였을 경우 업데이트 횟수에 따른 성능 실험 결과를 설명하는 도면이다.8 and 9 are diagrams illustrating a performance change according to the number of updates when the user's 100 favorite songs are extracted and a result of a performance experiment according to the number of updates when the 50 favorite songs are extracted.

도 8을 참조하면, 사용자 선호 모델의 업데이트의 횟수에 따른 선호곡 적중률이다. 실험 환경은 저장되어 있는 노래는 1,000곡이며, 사용자가 선호하는 노래 100곡을 미리 정의하고, 1000곡에 대하여 수학식 21을 적용하여 선호도를 추출하고 큰 값을 갖는 100곡을 추출하였다. 이렇게 추출한 100곡 중 사용자가 미리 선호 곡으로 정의한 100곡과 얼마나 일치하는지를 나타내는 그래프이다. Referring to FIG. 8, the hit ratio of a preference song according to the number of updates of the user preference model. In the experiment environment, 1,000 songs are stored, and the user prefers 100 songs, and 100 preferences are extracted by applying equation 21 to 1000 songs. This is a graph showing how much of the 100 songs extracted in this manner correspond to 100 songs previously defined as a favorite song.

도 8에 도시된 것처럼, 업데이트가 진행됨에 따라 선호 곡 추출 성능이 향상이 되며, 본 발명의 바람직한 실시예에서 약 23회 정도 학습하면 수렴한다.As shown in FIG. 8, as the update proceeds, the preferred song extraction performance is improved, and converges after learning about 23 times in the preferred embodiment of the present invention.

도 9는 선호 곡 50개를 추출하였을 경우의 성능의 변화이다. 결과에서 알 수 있듯 약 28회 정도의 반복으로 성능이 수렴하는 것을 알 수 있다.9 is a change in performance when 50 favorite songs are extracted. As can be seen from the results, the performance converges in about 28 iterations.

도 8 및 9의 실시예에서는 선호도를 이용하지 않고 임의적으로 100곡 또는 50곡을 추출하였을 때의 적중률이 10%라는 것을 감안할 때, 본 발명의 바람직한 실시예에 따른 사용자 선호 모델을 이용한 경우, 매우 빠르고 정확하게 사용자 선호도를 반영해 준다는 것을 알 수 있다.8 and 9, in the case of using a user preference model according to a preferred embodiment of the present invention, considering that the hit ratio is 10% when 100 or 50 songs are arbitrarily extracted without using a preference, You can see that it reflects user preferences quickly and accurately.

또한, 선택적으로 사용자 선호도 모델을 이용하여 사용자가 선호하지 않는 비선호 음악 리스트를 자동으로 생성할 수도 있다. 예를 들면, 단말기 내부에 사용자가 싫증나거나, 좋아하지 않는 음악 리스트를 자동으로 추출해 주는 방법에도 사용될 수 있다. 이는 수학식 21을 이용하여 스코어가 낮은 순으로 정렬하여 이를 사용자에게 보여줌으로써 달성된다.In addition, the user preference model may be used to automatically generate a non-preferred music list that the user does not prefer. For example, it may be used in a method for automatically extracting a list of music that the user gets tired of or likes. This is accomplished by using Equation 21 to show the user by sorting the scores in descending order.

전술한 사용자의 선호 모델을 이용한 음악 리스트를 추천하는 방법은 다수의 사용자가 동시에 선호하는 음악 리스트를 생성하는 방법으로 확장할 수 있다.The method of recommending a music list using the user's preference model described above may be extended to a method of generating a music list that is simultaneously preferred by a plurality of users.

본 발명의 또 다른 실시예에서, 다수의 사용자가 동시에 좋아할 만한 곡을 추천하기 위하여 가상의 사용자 선호 모델(virtual user preference model)을 생성할 수 있다.In another embodiment of the present invention, a virtual user preference model may be created to recommend songs that multiple users may like at the same time.

이러한 가상의 사용자 선호 모델을 생성하기 위하여 다음 수학식 22 및 23과 같이 전체 포지티브 발생횟수와 전체 네거티브 발생횟수를 각각 계산한다.In order to generate such a virtual user preference model, the total positive occurrence number and the total negative occurrence number are calculated as in Equations 22 and 23, respectively.

Figure 112006089927779-pat00022
Figure 112006089927779-pat00022

Figure 112006089927779-pat00023
Figure 112006089927779-pat00023

여기서 M은 사용자 수이다. 예를 들면, 두 명이 동시에 좋아할 만한 음악 리스트를 추출하고 싶다면 M 값은 2가 된다.Where M is the number of users. For example, if you want to extract a list of music that two people would like at the same time, the value of M is 2.

본 발명의 바람직한 실시예에서 가상 사용자 선호 모델의 파라미터는 다음 수학식 24 내지 26과 같이 정의한다.In a preferred embodiment of the present invention, the parameters of the virtual user preference model are defined as in Equations 24 to 26.

Figure 112006089927779-pat00024
Figure 112006089927779-pat00024

Figure 112006089927779-pat00025
Figure 112006089927779-pat00025

Figure 112006089927779-pat00026
Figure 112006089927779-pat00026

Figure 112006089927779-pat00027
Figure 112006089927779-pat00027

수학식 24 내지 27에서 알 수 있듯, 각 사용자 모델에서 업데이트의 횟수에 따라 가상 사용자 선호도를 계산할 때의 가중치 팩터가 달라지게 된다. 또한, 선택적으로, 가상의 사용자 모델을 생성할 때 임의로 가중치 팩터를 조절함으로써 특정 사용자에 조금 더 가중치를 주는 방식으로 선호도를 미세 조절할 수 있다. 예를 들면, 사용자에 대하여 동등한 가중치로 음악 선호도를 부여하고 싶다면, 수학식 24 내지 27을 계산할 때, 수학식 22 및 23을 계산하지 않고, 다음 수학식 28 및 29와 같이, 사용자 가중치 팩터를 설정하고 계산한다.As can be seen from Equations 24 to 27, the weight factor when calculating the virtual user preferences varies according to the number of updates in each user model. Also, optionally, when generating the virtual user model, the preference may be finely adjusted in a manner that gives a weight more to a specific user by arbitrarily adjusting the weight factor. For example, if you want to give music preferences to users with equal weights, when calculating Equations 24 to 27, do not calculate Equations 22 and 23, and set the user weight factor as shown in Equations 28 and 29 below. Calculate

Figure 112006089927779-pat00028
Figure 112006089927779-pat00028

Figure 112006089927779-pat00029
Figure 112006089927779-pat00029

수학식 28 및 29로부터 알 수 있듯이, 포지티브 사용자 선호와 네거티브 사 용자 선호 모델마다 각각 별도로 가중치 팩터를 조절할 수 있어서 특정 사용자가 싫어하는 음악은 리스트에 잘 나타나지 않도록 하는 등의 미세 조절도 가능하다.As can be seen from equations (28) and (29), the weight factor can be adjusted separately for each of the positive user preference and the negative user preference model, so that fine adjustment of the music such as a particular user's dislike does not appear in the list.

본 발명의 또 다른 실시예에서, 사용자의 선호 음악 리스트를 추출하거나 선호도를 반영할 때 사용자 선호 모델이 필요하다. 이때 이 사용자 모델을 조건별로 따로 저장해 놓을 수도 있다. 여기서, 조건은 시간, 날씨, 휴일, 운전 여부 등을 포함할 수 있다. 이와 같이, 조건에 따른 사용자 선호 모델을 조건부 사용자 선호 모델이라고 정의하며, 도 10을 참조하여 설명한다.In another embodiment of the present invention, a user preference model is needed when extracting a user's favorite music list or reflecting a preference. At this time, this user model can be stored separately for each condition. Here, the condition may include time, weather, holiday, driving or the like. As such, the user preference model according to the condition is defined as a conditional user preference model and will be described with reference to FIG. 10.

도 10은 본 발명의 또 다른 실시예에 따른 조건 검출부(300)와 사용자 모델부(302)의 구성을 개략적으로 도시한 블록도이다.10 is a block diagram schematically illustrating the configuration of the condition detector 300 and the user model unit 302 according to another embodiment of the present invention.

조건 검출부(300)는 조건 감지부(1000), 사용자 인터페이스부(1002) 및 네트워크 접속부(1004)를 포함한다.The condition detector 300 includes a condition detector 1000, a user interface unit 1002, and a network connection unit 1004.

조건 감지부(1000)는 외부의 조건, 예를 들면 온도, 습도 등을 감지할 수 있는 온도 센서, 습도 센서, 시간 정보를 감지할 수 있는 타이머, 운전 여부를 감지할 수 있는 감지 수단 등을 포함한다.The condition detecting unit 1000 may include an external sensor, for example, a temperature sensor capable of detecting temperature and humidity, a humidity sensor, a timer capable of detecting time information, and a sensing means capable of detecting whether the driver is operating. do.

사용자 인터페이스부(100)는 사용자가 직접 조건 정보를 입력할 수 있도록 한다. 외부에서 감지한 조건뿐만 아니라, 사용자가 직접 다양한 조건 등을 설정할 수 있다.The user interface unit 100 allows a user to directly input condition information. In addition to the externally detected conditions, the user can set various conditions.

네트워크 접속부(1004)는 네트워크로 연결된 외부 시스템에 접속하여 조건 정보를 입력받는다. 예를 들면, 인터넷을 통해 정보 제공 서버에 접속하여 다양한 조건 정보를 전송받을 수 있다.The network connection unit 1004 accesses an external system connected through a network and receives condition information. For example, various condition information may be transmitted by accessing an information providing server through the Internet.

사용자 모델부(302)는 무조건부 사용자 모델부(1006), 가상 사용자 모델부(1008) 및 조건부 사용자 모델부(1010)를 포함한다.The user model unit 302 includes an unconditional user model unit 1006, a virtual user model unit 1008, and a conditional user model unit 1010.

무조건부(unconditional) 사용자 모델부(1006)는 외부 조건에 관계 없이 사용자가 선호하는 음악을 모델링하고 있다.The unconditional user model unit 1006 models the user's favorite music regardless of external conditions.

가상(virtual) 사용자 모델부(1008)는 다수의 사용자가 선호 또는 선호하지 않는 사용자 모델을 가상으로 생성하여 모델링하고 있다. 또한, 본 발명의 바람직한 실시예에 따른 다수의 개별 조건에 대하여 생성된 사용자 모델을 모델링한다.The virtual user model unit 1008 virtually generates and models a user model that a plurality of users do not like or prefer. In addition, we model user models generated for a number of individual conditions in accordance with a preferred embodiment of the present invention.

조건부(conditional) 사용자 모델부(1010)는 조건 검출부(300)에 의해 감지된 정보의 조건별로 사용자 모델을 구성한다. 이러한 조건부 사용자 모델부(1010)를 이용하여, 시간, 날씨, 휴일, 운전 여부 등의 조건에 따른 노래 검색이나 선호도가 반영된 음성인식 음악검색을 할 수 있다.The conditional user model unit 1010 configures a user model for each condition of the information detected by the condition detection unit 300. The conditional user model unit 1010 may be used to search for a song or voice recognition music based on a condition such as time, weather, holiday, driving or the like.

이때 조건이 많아지면 사용자의 선호도를 학습하는데 충분한 학습 데이터가 필요하기 때문에 시간이 많이 소요되는 문제점이 있다. 예를 들면, 조건을 시간, 날씨, 공휴일 여부라고 가정하고 각각의 조건을 다음과 같이 여러 구간으로 나눈다고 가정하면, 시간(5): 오전,낮,저녁,밤,새벽, 날씨(3): 맑음,흐림,눈/비, 공휴일(2): 평일,휴일이다.At this time, if the condition increases, there is a problem in that it takes a long time because sufficient learning data is required to learn the user's preference. For example, suppose a condition is time, weather, or holiday, and each condition is divided into several sections as follows: Time (5): Morning, Day, Evening, Night, Dawn, Weather (3): Sunny, cloudy, snow / rain, holidays (2): Weekdays, holidays.

이때의 가능한 조건의 조합은 30(=5*3*2)가지이며, 각 조합 조건당 포지티브 또는 네거티브 사용자 선호 모델을 훈련하는데 최소한 각각 30번의 업데이트가 필요하다면 최소한 1800(=30*30*2)번의 업데이트 이벤트가 필요하다. 이 때문에 조건부 사용자 모델을 실제 적용하는데 어려움이 있다. 이 때문에 업데이트 횟수를 줄 일 수 있는 방법이 필요하다.There are 30 (= 5 * 3 * 2) possible combinations of conditions, and at least 1800 (= 30 * 30 * 2) if at least 30 updates are required to train the positive or negative user preference model for each combination condition. Update events are required. Because of this, it is difficult to actually apply the conditional user model. This requires a way to reduce the number of updates.

본 발명의 또 다른 실시예들에서는, 전술한 조건부 사용자 선호 모델을 적용하기 위해 다양한 조건의 업데이트 횟수를 줄일 수 있는 다양한 방법들을 도 11 내지 16을 참조하여 설명한다.In another embodiment of the present invention, various methods for reducing the number of update of various conditions for applying the aforementioned conditional user preference model will be described with reference to FIGS. 11 through 16.

도 11은 본 발명의 또 다른 실시예에 따른 조건별 사용자 선호 모델을 업데이트하는 방법을 설명하는 흐름도이다.11 is a flowchart illustrating a method of updating a conditional user preference model according to another embodiment of the present invention.

도 11을 참조하면, 단계 1100에서, 현 조건에 해당하는 사용자 모델이 존재하는지 검사하여, 단계 1102에서 조건부 사용자 모델이 존재한다면, 단계 1112로 진행하여 해당하는 조건부 사용자 모델을 업데이트 한다.Referring to FIG. 11, in operation 1100, the user model corresponding to the current condition exists and if the conditional user model exists in step 1102, the process proceeds to step 1112 to update the corresponding conditional user model.

단계 1102에서, 조건부 사용자 모델이 존재하지 않는다면, 단계 1104에서 기존에 모델링된 무조건부 사용자 모델을 업데이트한다. 이어, 단계 1106에서, 무조건부 사용자 모델의 업데이트 횟수를 검사한다. 단계 1108에서, 무조건부 사용자 모델의 업데이트 횟수가 임의의 임계치보다 작다면 업데이트를 종료하고, 단계 1108에서 업데이트 횟수가 임계치보다 크다면, 단계 1110에서 무조건부 사용자 모델을 복사하여 조건부 사용자 모델을 생성한다. 그리고, 단계 1112로 진행하여 조건부 사용자 모델을 업데이트한다.In step 1102, if there is no conditional user model, in step 1104 the previously modeled unconditional user model is updated. Then, in step 1106, the number of updates of the unconditional user model is checked. In step 1108, if the update number of the unconditional user model is less than a certain threshold, the update is terminated. If the update number is greater than the threshold in 1108, the conditional user model is generated by copying the unconditional user model in step 1110. . The process then proceeds to step 1112 to update the conditional user model.

더 구체적으로, 본 실시예에서는 이용하는 업데이트 알고리즘은 조건에 따른 사용자의 선호도를 학습하는데 걸리는 시간을 줄이기 위하여, 무조건부 사용자 선호 모델을 공유하여 사용자의 선호 모델이 충분히 생성되고 난 후에, 이를 복사하여 조건부 사용자 모델을 생성하는 것이다. 이때의 무조건부 사용자 모델이 충분 히 생성되었는가에 판단의 기준은 전술한 수학식 9에 제시된 사용자 모델에서 모델 업데이트 횟수에 해당하는 n+값이나 n- 값이 일정 값 이하라면, 기존의 무조건부 사용자 모델을 각각 업데이트하고 이를 사용한다. More specifically, in the present embodiment, in order to reduce the time taken to learn the user's preference according to the condition, the update algorithm used is shared by the unconditional user's preference model and after the user's preference model is sufficiently generated, the copying is performed by conditional copying. To create a user model. At this time, the criterion for determining whether the unconditional user model has been sufficiently generated is that if the n + value or n− value corresponding to the number of model updates in the user model shown in Equation 9 is less than or equal to a predetermined value, the existing unconditional user model Update each and use it.

하지만, 무조건부 사용자 모델 업데이트 횟수가 일정 횟수 이상이면, 조건부 사용자 모델을 무조건부 사용자 모델을 복사하여 따로 생성한 후, 이를 업데이트하거나 사용한다. 또한, 선택적으로 생성된 조건부 사용자 모델을 업데이트할 때는 무조건부 사용자 모델도 함께 업데이트할 수도 있다. However, if the unconditional user model update count is more than a predetermined number of times, the conditional user model is generated by copying the unconditional user model separately, and then updated or used. In addition, when updating the selectively generated conditional user model may also update the unconditional user model.

전술한 업데이트 방법을 모델 공유법(Model sharing)이라 정의하고, 이러한 모델 공유법은 일정치 이하의 무조건부 사용자 모델을 복사하여 사용하므로, 좀더 빠르고 안정적으로 조건부 사용자 선호 모델을 생성할 수 있다.The above-described updating method is defined as model sharing method, and since the model sharing method copies and uses an unconditional user model having a predetermined value or less, a conditional user preference model can be generated more quickly and stably.

도 12는 도 11의 방법에 따라 업데이트된 조건별 사용자 선호 모델을 선택하는 방법을 설명하는 흐름도이다.12 is a flowchart illustrating a method of selecting an updated conditional user preference model according to the method of FIG. 11.

도 12를 참조하면, 단계 1200에서, 공통 조건에 해당하는 조건부 사용자 모델이 존재하는지 검사한다. 단계 1202에서, 조건부 사용자 모델이 존재한다면 이를 선택하고, 존재하지 않는다면, 단계 1204에서, 무조건부 사용자 모델을 최종 모델로 선택한다.Referring to FIG. 12, in step 1200, a conditional user model corresponding to a common condition exists. In step 1202, the conditional user model is selected if it exists, and if not, in step 1204, the unconditional user model is selected as the final model.

이러한 모델 공유법의 업데이트 횟수 절감의 효과를 예시적으로 설명하면, 조건부 사용자 모델의 생성 조건이 업데이트 누적 횟수 20번 이상이고, 포지티브 또는 네거티브 사용자 선호 모델을 훈련하는데 최소 30번의 업데이트가 필요하다면, 조건부 사용자 모델의 구성을 위한 최소 업데이트 횟수는 640(=20*2+10*(5*3*2)*2)번으로 줄어들 수 있다.Illustrating the effect of reducing the number of updates of this model sharing method, if the condition for generating a conditional user model is 20 or more cumulative updates, and if at least 30 updates are required to train a positive or negative user preference model, The minimum number of updates for the configuration of the user model can be reduced to 640 (= 20 * 2 + 10 * (5 * 3 * 2) * 2).

마찬가지로, 전술한 모델 업데이트 및 선택 알고리즘은 포지티브 및 네거티브 사용자 선호 모델에 대하여도 각각 적용될 수 있다.Similarly, the model update and selection algorithm described above can be applied to the positive and negative user preference models, respectively.

도 13은 본 발명의 또 다른 실시예에 따른 조건별 사용자 선호 모델을 업데이트하는 방법을 설명하는 흐름도이다.13 is a flowchart illustrating a method of updating a conditional user preference model according to another embodiment of the present invention.

도 13을 참조하면, 단계 1300에서, N개의 공통 조건에 대한 개별 조건의 모델 N개를 찾는다. 단계 1302에서, 개별 조건 모델이 있다면 단계 1306으로 진행하여 N개의 모델에 대해서 전술한 수학식 12 내지 17을 이용하여 업데이트하고, 개별 조건 모델이 없다면, 단계 1304에서 전술한 수학식 18 내지 20을 이용하여 새롭게 생성하고, 단계 1306으로 진행하여 업데이트 한다.Referring to FIG. 13, in step 1300, N models of individual conditions for N common conditions are found. In step 1302, if there is an individual condition model, go to step 1306 to update N models using Equations 12 to 17 described above, and if there is no individual condition model, use Equations 18 to 20 described in step 1304. Create a new file, and proceed to step 1306 to update.

더 구체적으로, 조건부 사용자 모델의 업데이트 횟수를 줄이기 위하여, 각각의 단일 조건별로 사용자 모델을 이용하고, 조합된 사용자 모델은 수학식 24 내지 27에 제시된 모델 합성 방법으로 모델을 생성하면, 필요한 업데이트 횟수를 조건의 종류만큼 줄일 수 있다.More specifically, in order to reduce the number of update of the conditional user model, the user model is used for each single condition, and the combined user model generates the required update number when the model is generated by the model synthesis method shown in Equations 24 to 27. Can be reduced by the type of condition.

전술한 업데이트 방법을 가상 모델법(Virtual model)이라 정의하고, 모델 합성 방법으로 가상 모델을 생성하면, 필요한 업데이트 횟수를 조건의 종류만큼 줄일 수 있는 효과가 있다. If the above-described update method is defined as a virtual model method and a virtual model is generated by the model synthesis method, the number of necessary updates can be reduced by the kind of condition.

도 14는 도 13의 방법에 따라 업데이트된 조건별 사용자 선호 모델을 선택하는 방법을 설명하는 흐름도이다.14 is a flowchart illustrating a method of selecting an updated conditional user preference model according to the method of FIG. 13.

도 14를 참조하면, 단계 1400에서, N개의 공통 조건에 대한 개별 조건의 모 델 N개를 검색한다. 단계 1402에서, 개별 조건 모델이 있다면 단계 1406으로 진행하여 N개의 모델의 가상 사용자 모델을 생성하여 선택하고, 단계 1402에서 개별 조건 모델이 없다면 단계 1404에서 개별 조건 모델을 생성하고, 단계 1406에서, N개의 모델의 가상 사용자 모델을 생성하여 선택한다.Referring to FIG. 14, in step 1400, N models of individual conditions for N common conditions are searched. In step 1402, if there is an individual condition model, go to step 1406 to create and select a virtual user model of the N models; if there is no individual condition model in step 1402, create an individual condition model in step 1404, and in step 1406, Create and select a virtual user model of two models.

전술한 가상 모델법을 이용하였을 때, 전과 동일한 조건에서 최소 필요 업데이트 횟수는 (5*30+3*30+2*30)*2 = 600 번으로 줄일 수 있다.When the above-described virtual model method is used, the minimum required update count can be reduced to (5 * 30 + 3 * 30 + 2 * 30) * 2 = 600 under the same conditions as before.

도 15는 본 발명의 또 다른 실시예에 따른 조건별 사용자 선호 모델을 업데이트하는 방법을 설명하는 흐름도이다.15 is a flowchart illustrating a method of updating a conditional user preference model according to another embodiment of the present invention.

도 15를 참조하면, 단계 1500에서, 무조건부 사용자 모델의 업데이트 횟수를 검사한다. 단계 1502에서, 업데이트 횟수가 임계치 이하이면, 단계 1508로 진행하여 무조건부 사용자 모델을 업데이트하고, 단계 1510에서 업데이트 횟수가 다시 판단하여 임계치 이상이라면, 단계 1512에서, N개의 단일-조건부 사용자 모델을 생성한다. Referring to FIG. 15, in step 1500, an update count of an unconditional user model is checked. In step 1502, if the update count is less than or equal to the threshold, proceed to step 1508 to update the unconditional user model; in step 1510, if the update count is again determined and is greater than or equal to the threshold, in step 1512, generate N single-conditional user models do.

단계 1502에서, 업데이트 횟수가 임계치 이상이면, 단계 1504로 진행하여, N개의 조건에 해당하는 단일-조건부 사용자 모델 N개를 검색한다. 이어, 단계 1506에서, 각각의 단일-조건부 사용자 모델을 업데이트한다.In step 1502, if the update count is greater than or equal to the threshold, the flow proceeds to step 1504 to search for N single-conditional user models corresponding to N conditions. Then, in step 1506, each single-conditional user model is updated.

전술한 업데이트 방법을 공유 가상 모델법(Shared virtual model)이라 정의하고, 요약하면, 업데이트 횟수가 일정 수가 되기 전까지는 무조건부 사용자 모델을 사용하다가 일정 횟수 이후에는 단일-조건부 사용자 모델을 생성하고, 그 이후에는 멀티-조건부 사용자 모델이 필요할 경우 가상 사용자 모델을 생성하는 방식이 다.The above-described update method is defined as a shared virtual model. In summary, an unconditional user model is used until the number of updates is reached, and after that, a single-conditional user model is generated. The next step is to create a virtual user model if you need a multi-conditional user model.

도 16은 도 15의 방법에 따라 업데이트된 조건별 사용자 선호 모델을 선택하는 방법을 설명하는 흐름도이다.FIG. 16 is a flowchart illustrating a method of selecting an updated conditional user preference model according to the method of FIG. 15.

도 16을 참조하면, 단계 1600에서, 무조건부 사용자 모델의 업데이트 횟수를 검사하고, 단계 1602에서 업데이트 횟수가 임계치보다 작다면 단계 1604로 진행하여, 무조건부 사용자 모델을 선택하고, 임계치보다 크다면 단계 1606에서, N개의 단일-조건부 모델을 검색하고, 단계 1608에서, N개의 모델에 대해, 수학식 22 내지 27을 이용하여 가상 사용자 모델을 생성하여 선택한다.Referring to FIG. 16, in step 1600, the number of updates of the unconditional user model is checked, and in step 1602, if the number of updates is less than the threshold, the process proceeds to step 1604, in which case the conditional user model is selected, and if the number is greater than the threshold, At 1606, N single-conditional models are retrieved, and at step 1608, a virtual user model is created and selected for the N models using equations 22-27.

이러한 공유 가상 모델을 이용할 경우, 전술한 조건과 동일한 조건에서 업데이트 횟수를 계산하면 20*2+(5*10+3*10+2*10)*2 = 240번이다.In the case of using such a shared virtual model, when the number of updates is calculated under the same conditions as described above, 20 * 2 + (5 * 10 + 3 * 10 + 2 * 10) * 2 = 240 times.

이상 본 발명의 바람직한 실시예들에서 예시한 다수의 조건들을 반영한 조건부 사용자 모델을 업데이트하는 방법들의 업데이트 횟수를 아래 표 1을 참조하여 비교해보면,When comparing the number of updates of the method for updating the conditional user model reflecting a plurality of conditions illustrated in the preferred embodiments of the present invention with reference to Table 1 below,

업데이트 방법Update method 멀티-조건 모델법Multi-Condition Modeling 공유 모델법Shared model method 가상 모델법Virtual modeling 공유 가상 모델법Shared Virtual Model 최소 업데이트 횟수Minimum update count 18001800 640640 600600 240240

본 발명의 바람직한 실시예들에 따른 업데이트 방법들을 사용한다면 업데이트 횟수를 감소시키는 것을 알 수 있다.It can be seen that if the update methods according to the preferred embodiments of the present invention are used, the number of updates is reduced.

전술한 조건을 검출하여 사용자 선호 모델에 반영하는 경우, 예를 들어, 인터넷을 통하여 정보제공 서버에 접속하거나, 센서로 직접 추출하는 등 여러 수단이 가능하지만, 때때로 모든 정보를 이용할 수 없을 경우가 있다. 이런 문제를 해결하기 위하여, 본 발명의 또 다른 실시예에서는 여러 조건 중 검출할 수 없는 조건은 무시하고 사용자 선호 모델을 계산하는 것을 설명한다. When the above conditions are detected and reflected in the user's preference model, various means are possible, for example, accessing an information providing server through the Internet or directly extracting them with a sensor, but sometimes all information is not available. . In order to solve this problem, another embodiment of the present invention describes the calculation of the user preference model ignoring the undetectable condition among the various conditions.

이러한 경우, 이용할 수 있는 조건만 이용하여 활성화하고, 나머지는 불활성화하는 방법으로 조건부 사용자 모델을 사용하고 업데이트할 경우에도 마찬가지로 사용시점에서 활성화되는 조건만 이용한다.In this case, only the conditions that are activated at the point of use are used when the conditional user model is used and updated in the manner of activating only the available conditions and inactivating the rest.

예를 들면, MP3 플레이어의 온도 센서가 고장이거나 일시적으로 사용할 수 없다면, 또는 한계치를 넘어가서 오동작하는 것으로 판명되었다면, 이에 대한 온도 조건은 사용하지 않는다. 마찬가지로 일시적으로 네트워크를 통하여 서버에서 날씨 정보를 받아오지 못한다면, 이에 대한 조건은 처음부터 없는 것으로 간주하여 사용한다. 최악의 경우 모든 조건을 사용할 수 없다면 무조건부 사용자 모델을 사용하여 모델을 업데이트하고 선택한다. 이 경우에는 전술한 조건부 사용자 모델 업데이트에 있어서 조건부 모델 업데이트와 함께 무조건부 사용자 모델도 함께 업데이트 할 수 있다. For example, if the temperature sensor in the MP3 player is faulty or temporarily unavailable, or if it turns out to be malfunctioning beyond the limit, then the temperature conditions for it are not used. Likewise, if the server cannot temporarily receive weather information from the server, the condition is assumed to be absent from the beginning. In the worst case, if all the conditions are not available, use the unconditional user model to update and select the model. In this case, in the aforementioned conditional user model update, an unconditional user model may be updated together with the conditional model update.

요약하면, 조건부 사용자 모델 선택에 있어서는 사용할 당시에 가능한 조건의 수를 파악하고, 그것의 정보만 이용하면 가능하다. 모든 조건을 이용할 수 없다면 무조건부 사용자 모델을 이용한다.In summary, in selecting a conditional user model, it is possible to know the number of conditions available at the time of use and to use only its information. If all conditions are not available, use the unconditional user model.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which are also implemented in the form of carrier waves (for example, transmission over the Internet). Include.

이상 본 발명의 바람직한 실시예들을 기초로 설명되었지만, 당업자들은 본 발명이 속하는 기술분야의 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 한정되며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Although described above based on the preferred embodiments of the present invention, those skilled in the art will understand that the present invention may be implemented in other specific forms without changing the technical spirit or essential features of the technical field to which the present invention belongs. Therefore, the embodiments described above are to be understood as illustrative in all respects and not as restrictive. The scope of the present invention is defined by the appended claims rather than the foregoing description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.

본 발명에 따른 음악을 재생하는 기기의 사용 패턴을 모니터링하여, 기기 사용 패턴을 검출하고, 검출된 기기 사용 패턴에 기초하여 사용자 모델을 업데이트 함으로써, 사용자의 기기사용 패턴으로부터 선호 모델을 학습하여 사용자의 음악 선호 취향의 변화를 사용자의 선호도에 반영할 수 있는 효과가 있다.By monitoring the usage pattern of the device for playing music according to the present invention, detecting the device usage pattern, and updating the user model based on the detected device usage pattern, by learning the preferred model from the user's device usage pattern of the user There is an effect that can reflect the change in music preferences taste of the user.

또한, 사용자 선호도를 이용하여 사용자의 음악 선호 정도를 추출하기 위하여 선호하는 음악을 사용자가 직접 선택할 필요가 없으며, 사용자의 음악 선호도를 계산할 때, 사용자가 좋아하는 음악 특성뿐만 아니라 사용자가 싫어하는 음악 특성까지 모두 반영하여 선호도를 계산할 수 있다. In addition, in order to extract the user's music preference using the user's preference, the user does not need to directly select the preferred music, and when calculating the user's music preference, not only the user's favorite music characteristics but also the user's disliked music characteristics You can calculate your preferences by reflecting them all.

또한, 주위 환경 조건별로 그 음악의 선호 정도가 다르므로, 이러한 조건이 변화함에 따라 자동으로 사용자의 취향에 맞는 음악을 자동으로 추천해 줄 수 있는 효과가 있으며, 다수의 조건들을 반영하는 경우, 고속으로 사용자 선호도를 업데이트할 수 있는 효과가 있다.In addition, since the preference degree of the music is different according to the environmental conditions, there is an effect that can automatically recommend the music according to the user's taste as these conditions change, and when a large number of conditions are reflected, This has the effect of updating user preferences.

Claims (29)

삭제delete 삭제delete 삭제delete 삭제delete 사용자가 선호하는 음악 또는 선호하지 않는 음악을 모델링한 사용자 모델을 이용하여 음악 리스트를 추천하는 방법으로서, As a method of recommending a music list using a user model that models a user's favorite or unfavorable music, (a) 상기 음악으로부터 특징 벡터를 추출하여, 상기 음악의 장르별로 정규화된 우도(likelihood)로 이루어진 특징 벡터 세트를 저장하는 사용자 모델을 생성하는 단계;(a) extracting a feature vector from the music and generating a user model for storing a set of feature vectors of likelihoods normalized for each genre of the music; (b) 상기 생성한 다수의 사용자 모델로부터 사용자의 선호 또는 비선호 음악에 대한 특징 벡터 세트를 선택하는 단계; 및(b) selecting a set of feature vectors for the user's preferred or unfavorable music from the generated plurality of user models; And (b) 상기 선택한 특징 벡터 세트를 입력받아 사용자 선호도를 계산하여, 상기 계산된 사용자 선호도 결과에 따라 음악 리스트를 추천하는 단계를 포함하는 음악 리스트 추천 방법.(b) receiving the selected feature vector set, calculating a user preference, and recommending a music list according to the calculated user preference result. 제 5 항에 있어서, 상기 (a) 단계는,The method of claim 5, wherein step (a) comprises: 상기 음악을 재생하는 음악 재생 기기의 사용 패턴을 모니터링하는 단계; 및 Monitoring a usage pattern of a music player for playing the music; And 상기 모니터링된 결과로부터 상기 사용자가 선호 또는 선호하지 않는 음악을 검출하는 단계를 더 포함하고,Detecting music that the user prefers or dislikes from the monitored result, 상기 검출된 결과에 따라, 상기 사용자가 선호하는 음악을 모델링한 포지티브 사용자 모델 또는 상기 사용자가 선호하지 않는 음악을 모델링한 네거티브 사용자 모델을 업데이트하는 것을 특징으로 하는 음악 리스트 추천 방법. The music list recommendation method according to the detected result, characterized in that for updating the positive user model modeling the user's favorite music or the negative user model modeling the music that the user does not like. 제 5 항에 있어서,The method of claim 5, wherein 상기 사용자 모델을 구성하는 파라미터는 포지티브 사용자 모델 및 네거티브 사용자 모델의 평균, 분산 및 각각의 업데이트 횟수를 포함하는 것을 특징으로 하는 음악 리스트 추천 방법.The parameter constituting the user model includes a mean, a variance, and the number of updates of each of the positive user model and the negative user model. 삭제delete 삭제delete 제 5 항에 있어서, 상기 (a) 단계는,The method of claim 5, wherein step (a) comprises: 상기 음악으로부터 특징 벡터를 추출하는 단계;Extracting a feature vector from the music; 상기 추출된 특징 벡터를 이용하여 소정의 장르 모델로부터 장르별 우도(likelihood)를 계산하는 단계; 및Calculating likelihood for each genre from a predetermined genre model using the extracted feature vector; And 상기 계산된 장르별 우도 및 범용 배경 모델(universal background model)을 이용하여 장르별 정규화된 우도를 계산하고, 상기 계산된 결과에 따른 특징 벡터 세트를 생성하는 단계를 포함하는 것을 특징으로 하는 음악 리스트 추천 방법.Calculating a normalized likelihood for each genre by using the calculated genre likelihood and universal background model, and generating a feature vector set according to the calculated result. 제 5 항에 있어서, 상기 (c) 단계는,The method of claim 5, wherein step (c) comprises: 상기 선호도가 높은 순서대로 정렬하는 단계를 더 포함하고,And sorting in order of preference. 상기 정렬된 음악 리스트를 출력하는 것을 특징으로 하는 음악 리스트 추천 방법. And outputting the sorted music list. 제 5 항에 있어서, 상기 (c) 단계는,The method of claim 5, wherein step (c) comprises: 상기 선호도가 낮은 순서대로 정렬하는 단계를 더 포함하고,And sorting the preferences in the order of low preference. 상기 정렬된 음악 리스트를 출력하는 것을 특징으로 하는 음악 리스트 추천 방법.And outputting the sorted music list. 제 5 항에 있어서, 상기 (b) 단계는,The method of claim 5, wherein step (b) comprises: 적어도 2 이상의 사용자에 대한 각각의 업데이트 횟수를 계산하여, 가상(virtual) 사용자 모델을 생성하는 단계를 더 포함하고,Calculating a number of updates for each of the at least two or more users, thereby generating a virtual user model, 상기 (c) 단계는,In step (c), 상기 가상 사용자 모델을 이용하여 상기 음악에 대한 각각의 사용자 선호도를 계산하여, 상기 계산된 결과에 따라 상기 2 이상의 사용자가 선호하는 음악 리스트를 추천하는 것을 특징으로 하는 음악 리스트 추천 방법.And calculating each user preference for the music using the virtual user model, and recommending the music list preferred by the two or more users according to the calculated result. 제 13 항에 있어서,The method of claim 13, 상기 가상 사용자 모델을 생성하는 경우, 상기 2 이상의 사용자 중 특정 사용자에 대해 가중치를 부여함으로써 상기 사용자 선호도를 조절하는 것을 특징으로 하는 음악 리스트 추천 방법. The music list recommendation method of claim 1, wherein when generating the virtual user model, the user preference is adjusted by assigning a weight to a specific user among the two or more users. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제 5 항 내지 제 7 항, 제 10 항 내지 제 14 항 중 어느 한 항에 의한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for executing a method according to any one of claims 5 to 7, 10 to 14 on a computer. 사용자가 선호하는 음악 또는 선호하지 않는 음악을 모델링한 사용자 모델을 이용하여 음악 리스트를 추천하는 시스템에 있어서,In a system for recommending a list of music using a user model modeling music that the user likes or does not like, 소정의 음악으로부터 특징 벡터를 추출하여, 소정의 음악 장르별로 정규화된 우도(likelihood)로 이루어진 특징 벡터 세트를 저장하고 있는 사용자 모델부;A user model unit which extracts a feature vector from predetermined music and stores a feature vector set consisting of likelihoods normalized according to a predetermined music genre; 상기 사용자 모델부에 저장된 다수의 사용자 모델로부터 사용자의 선호 또는 비선호 음악에 대한 특징 벡터 세트를 선택하는 사용자 모델 선택부; 및A user model selection unit for selecting a feature vector set for a user's favorite or unfavorable music from a plurality of user models stored in the user model unit; And 상기 사용자 모델 선택부로부터 상기 특징 벡터 세트를 입력받아 사용자 선호도를 계산하여, 상기 계산된 결과에 따라 음악 리스트를 추천하는 음악 검색부를 포함하는 음악 리스트 추천 시스템.And a music search unit that receives the feature vector set from the user model selection unit, calculates user preferences, and recommends a music list according to the calculated result. 제 21 항에 있어서,The method of claim 21, 상기 음악을 재생하는 기기의 사용 패턴을 모니터링하는 모니터링부;A monitoring unit for monitoring a usage pattern of the device for playing the music; 상기 모니터링된 결과에 따라, 상기 기기의 사용 패턴을 검출하는 이벤트 검출부; 및An event detector for detecting a usage pattern of the device according to the monitored result; And 상기 검출 결과에 따라 상기 사용자가 선호하는 포지티브 사용자 모델 또는 상기 사용자가 선호하지 않는 네거티브 사용자 모델을 업데이트하는 사용자 모델 업데이트부를 더 포함하는 것을 특징으로 하는 음악 리스트 추천 시스템.And a user model updating unit for updating the positive user model preferred by the user or the negative user model not preferred by the user according to the detection result. 제 21 항에 있어서,The method of claim 21, 소정의 조건에 따른 사용자의 선호도를 반영하기 위해 적어도 하나 이상의 조건을 검출하는 조건 검출부를 더 포함하고,Further comprising a condition detection unit for detecting at least one or more conditions in order to reflect the user's preference according to a predetermined condition, 상기 사용자 모델 선택부는,The user model selection unit, 상기 검출된 조건에 따른 사용자 모델을 선택하는 것을 특징으로 하는 음악 리스트 추천 시스템.And selecting a user model according to the detected condition. 제 22 항에 있어서, 상기 사용자 모델부는,The method of claim 22, wherein the user model unit, 조건에 관계없이 사용자가 선호하는 음악을 모델링한 무 조건부 사용자 모델을 저장하는 무 조건부 사용자 모델부;An unconditional user model unit configured to store an unconditional user model which models a user's favorite music regardless of a condition; 다수의 사용자가 선호하는 사용자 모델을 가상으로 생성하여 모델링하고, 적어도 하나 이상의 조건에 대한 사용자 모델을 통합한 가상 사용자 모델을 저장하는 가상 사용자 모델부; 및A virtual user model unit configured to virtually generate and model user models preferred by a plurality of users, and store a virtual user model integrating user models for at least one or more conditions; And 상기 적어도 하나 이상의 조건에 대해 사용자가 선호하는 음악을 모델링한 조건부 사용자 모델을 저장하는 조건부 사용자 모델부를 포함하는 것을 특징으로 하는 음악 리스트 추천 시스템.And a conditional user model unit configured to store a conditional user model modeling music that the user prefers to the at least one condition. 제 24 항에 있어서,The method of claim 24, 상기 사용자 모델 업데이트부는,The user model update unit, 상기 무 조건부 사용자 모델의 업데이트 횟수를 검사하고, 상기 업데이트 횟수가 소정의 임계값 이상인 경우, 상기 무 조건부 사용자 모델을 복사하여 상기 조건부 사용자 모델을 생성하고, 상기 생성된 조건부 사용자 모델을 업데이트하는 것을 특징으로 하는 음악 리스트 추천 시스템.Examine the number of updates of the unconditional user model, and if the number of updates is equal to or greater than a predetermined threshold value, copy the unconditional user model to generate the conditional user model, and update the generated conditional user model. Music list recommendation system. 제 25 항에 있어서,The method of claim 25, 상기 사용자 모델 업데이트부는,The user model update unit, 상기 검출된 조건에 해당하는 조건부 사용자 모델이 존재하는지 판단하고, 상기 조건부 사용자 모델이 존재하는 경우, 상기 조건부 사용자 모델을 업데이트하는 것을 특징으로 하는 음악 리스트 추천 시스템.Determining whether a conditional user model corresponding to the detected condition exists, and if the conditional user model exists, updating the conditional user model. 제 24 항에 있어서,The method of claim 24, 상기 사용자 모델 업데이트부는,The user model update unit, 적어도 하나 이상의 조건에 대한 단일(single) 조건부 사용자 모델을 각각 생성하고, 상기 생성된 단일 조건부 사용자 모델을 각각 업데이트하고, 상기 단일 조건부 사용자 모델을 통합한 상기 가상 사용자 모델을 생성하는 것을 특징으로 하는 음악 리스트 추천 시스템.Music for generating a single conditional user model for at least one condition, each updating the generated single conditional user model, and generating the virtual user model incorporating the single conditional user model List recommendation system. 제 24 항에 있어서,The method of claim 24, 상기 사용자 모델 업데이트부는,The user model update unit, 상기 무 조건부 사용자 모델의 업데이트 횟수를 검사하여, 상기 업데이트 횟수가 임계치 이상인지를 판단하고, 상기 판단 결과, 임계치 이상인 경우 각각의 조건에 해당하는 단일 조건부 사용자 모델을 업데이트하고, 임계치 미만인 경우 상기 무 조건부 사용자 모델을 업데이트하고, The number of updates of the unconditional user model is examined to determine whether the update count is greater than or equal to a threshold value. When the determination result is greater than or equal to a threshold value, a single conditional user model corresponding to each condition is updated. Update your model, 상기 무 조건부 사용자 모델의 업데이트 횟수를 검사하여, 상기 업데이트 횟수가 임계치 이상인 경우, 상기 무 조건부 사용자 모델을 복사하여 각각의 단일 조건부 사용자 모델을 생성하는 것을 특징으로 하는 음악 리스트 추천 시스템.Checking the number of updates of the unconditional user model, and if the number of updates is greater than or equal to a threshold value, copying the unconditional user model to generate each single conditional user model. 제 28 항에 있어서,The method of claim 28, 상기 사용자 모델 업데이트부는,The user model update unit, 상기 각각의 단일 조건부 사용자 모델을 통합하여 가상 사용자 모델을 생성하는 것을 특징으로 하는 음악 리스트 추천 시스템.Generating a virtual user model by integrating each of the single conditional user models.
KR1020060121792A 2006-12-04 2006-12-04 Method and system of recommending a music using user model, and update method of a conditional user model KR100868764B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060121792A KR100868764B1 (en) 2006-12-04 2006-12-04 Method and system of recommending a music using user model, and update method of a conditional user model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060121792A KR100868764B1 (en) 2006-12-04 2006-12-04 Method and system of recommending a music using user model, and update method of a conditional user model

Publications (2)

Publication Number Publication Date
KR20080050902A KR20080050902A (en) 2008-06-10
KR100868764B1 true KR100868764B1 (en) 2008-11-17

Family

ID=39806060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060121792A KR100868764B1 (en) 2006-12-04 2006-12-04 Method and system of recommending a music using user model, and update method of a conditional user model

Country Status (1)

Country Link
KR (1) KR100868764B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190109626A (en) * 2018-02-27 2019-09-26 주식회사 크리에이티브마인드 Method and apparatus for generating and evaluating music

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101259467B1 (en) * 2010-11-04 2013-04-30 삼성중공업 주식회사 Sensitivity service offer system and sensitivity service offer method using the same
KR101334096B1 (en) * 2011-08-26 2013-11-29 주식회사 네오위즈인터넷 Item based recommendation engiine recommending highly associated item
KR101281785B1 (en) * 2011-09-05 2013-07-03 (주)유토포스 Multimedia Contents Preference Calculation Method for SMART Phone
KR20130082611A (en) * 2011-12-09 2013-07-22 (주)네오위즈게임즈 Method for providing background music on on-line sports game and client system there of
CN109213892A (en) * 2018-08-20 2019-01-15 广东小天才科技有限公司 A kind of audio frequency playing method, device, equipment and storage medium
CN109753521A (en) * 2018-12-12 2019-05-14 北京世纪互联宽带数据中心有限公司 User model method for building up and its device, electronic equipment, computer-readable medium
CN110045619A (en) * 2019-03-08 2019-07-23 佛山市云米电器科技有限公司 Curtain intelligent control method and intelligence control system based on self study technology

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020031605A (en) * 2000-10-19 2002-05-03 최승석 System for providing information through network and method thereof
KR20060094300A (en) * 2005-02-24 2006-08-29 에스케이 텔레콤주식회사 System for analyzing digital audio disposition on the mobile terminal and method for controlling thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020031605A (en) * 2000-10-19 2002-05-03 최승석 System for providing information through network and method thereof
KR20060094300A (en) * 2005-02-24 2006-08-29 에스케이 텔레콤주식회사 System for analyzing digital audio disposition on the mobile terminal and method for controlling thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190109626A (en) * 2018-02-27 2019-09-26 주식회사 크리에이티브마인드 Method and apparatus for generating and evaluating music
KR102138247B1 (en) * 2018-02-27 2020-07-28 주식회사 크리에이티브마인드 Method and apparatus for generating and evaluating music

Also Published As

Publication number Publication date
KR20080050902A (en) 2008-06-10

Similar Documents

Publication Publication Date Title
KR100868764B1 (en) Method and system of recommending a music using user model, and update method of a conditional user model
Gunawan et al. Music recommender system based on genre using convolutional recurrent neural networks
US7613736B2 (en) Sharing music essence in a recommendation system
US20160267177A1 (en) Music steering with automatically detected musical attributes
JP4650541B2 (en) RECOMMENDATION DEVICE AND METHOD, PROGRAM, AND RECORDING MEDIUM
US8112418B2 (en) Generating audio annotations for search and retrieval
US7696427B2 (en) Method and system for recommending music
US20060224260A1 (en) Scan shuffle for building playlists
US8200689B2 (en) Apparatus, method and computer program for content recommendation and recording medium
US20060083119A1 (en) Scalable system and method for predicting hit music preferences for an individual
US20100125539A1 (en) Hybrid audio-visual categorization system and method
CN1998044B (en) Method of and system for classification of an audio signal
US20100217755A1 (en) Classifying a set of content items
JP2010527055A (en) How to organize content items
WO2006063447A1 (en) Probabilistic audio networks
KR101942459B1 (en) Method and system for generating playlist using sound source content and meta information
KR101585238B1 (en) Method of providing a system for selecting a content item based on a user&#39;s physiological response
US20210225408A1 (en) Content Pushing Method for Display Device, Pushing Device and Display Device
KR20110052620A (en) Method and apparatus for selecting a multimedia item
JP2005018205A (en) Musical piece retrieving system and method, and musical piece retrieving device
KR102031282B1 (en) Method and system for generating playlist using sound source content and meta information
US20230236791A1 (en) Media content sequencing
KR101968206B1 (en) Method for automatically generating music playlist by analyzing user prior information
CN113254757A (en) Data recommendation method, device, equipment and storage medium
Fan Track Co-occurrence Analysis of Users' Music Listening History

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee