KR20090000232A - Method and system for case based music recommendation using context-awareness - Google Patents
Method and system for case based music recommendation using context-awareness Download PDFInfo
- Publication number
- KR20090000232A KR20090000232A KR1020070011986A KR20070011986A KR20090000232A KR 20090000232 A KR20090000232 A KR 20090000232A KR 1020070011986 A KR1020070011986 A KR 1020070011986A KR 20070011986 A KR20070011986 A KR 20070011986A KR 20090000232 A KR20090000232 A KR 20090000232A
- Authority
- KR
- South Korea
- Prior art keywords
- music
- information
- situation
- user
- case
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012706 support-vector machine Methods 0.000 claims description 18
- 239000000284 extract Substances 0.000 claims description 17
- 238000003066 decision tree Methods 0.000 claims description 14
- 238000007418 data mining Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 13
- 238000012549 training Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 5
- 231100000807 Critical Body Residue (CBR) model Toxicity 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000013138 pruning Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010835 comparative analysis Methods 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010831 paired-sample T-test Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 241001316058 Fabiana Species 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/635—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.BRIEF DESCRIPTION OF THE DRAWINGS In order to better understand the drawings cited in the detailed description of the invention, a brief description of each drawing is provided.
도 1은 일반적인 사례기반추론 시스템의 문제해결과정을 설명하기 위한 도면이다.1 is a diagram illustrating a problem solving process of a general case-based reasoning system.
도 2는 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 기능 블록도를 나타낸다.2 is a functional block diagram of a situation recognition case-based music recommendation system according to an embodiment of the present invention.
도 3은 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 음악 추천방법을 설명하기 위한 플로우 챠트이다.3 is a flowchart illustrating a music recommendation method of a situation recognition case-based music recommendation system according to an exemplary embodiment of the present invention.
도 4는 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 추천 모듈의 입력속성을 나타낸다.Figure 4 shows the input attribute of the recommendation module of the situation recognition case-based music recommendation system according to an embodiment of the present invention.
도 5는 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 인텐션 모듈의 목표속성 값을 나타낸다.5 illustrates a target attribute value of an intension module of a situation recognition case-based music recommendation system according to an exemplary embodiment of the present invention.
도 6은 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 인텐션 모듈의 입력속성을 나타낸다.6 illustrates an input attribute of an intension module of a situation recognition case-based music recommendation system according to an exemplary embodiment of the present invention.
도 7은 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 인텐 션 모듈의 유사도 점수 부여 기준을 나타낸다.7 is a diagram illustrating a similarity score granting standard of an intension module of a situation recognition case-based music recommendation system according to an exemplary embodiment of the present invention.
도 8은 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 인텐션 모듈들의 평가데이터 적중률을 나타낸다.8 illustrates evaluation data hit ratios of intention modules of the situation recognition case-based music recommendation system according to an exemplary embodiment of the present invention.
도 9는 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 인텐션 모듈들의 적중률 비교 분석결과를 나타낸다.9 is a comparison result of hit ratios of intension modules of the situation recognition case-based music recommendation system according to an exemplary embodiment of the present invention.
도 10은 본 발명의 실시 예에 따른 사례기반 인텐션 모듈의 적중률을 설명하기 위한 표이다.10 is a table illustrating a hit ratio of a case-based intension module according to an embodiment of the present invention.
도 11은 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 음악추천 정확도를 설명하기 위한 표이다.11 is a table illustrating a music recommendation accuracy of the situation recognition case-based music recommendation system according to an embodiment of the present invention.
도 12는 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템과 단순한 사례기반 음악추천시스템의 정확도 비교 분석결과를 나타낸다.12 is a comparison result of the accuracy of the situation recognition case-based music recommendation system and the simple case-based music recommendation system according to an embodiment of the present invention.
본 발명은 음악추천시스템 및 그 방법에 관한 것으로, 보다 상세하게는 사례기반추론을 이용한 상황인식 음악추천시스템 및 그 방법에 관한 것이다.The present invention relates to a music recommendation system and a method thereof, and more particularly, to a situation recognition music recommendation system and a method using case-based reasoning.
정보통신 기술 및 관련 학문의 발전으로 유비쿼터스(Ubiqutous) 컴퓨팅에 대한 개념이 도입되었다. 유비쿼터스 컴퓨팅이란 물리적 환경 전반에 걸쳐 존재하는 컴퓨터들을 사용자에게는 보이지 않게 효과적으로 감추면서, 항상 사용가능하도록 함으로써 컴퓨터의 활용을 증진시키는 방법을 말한다.Advances in information and communication technology and related disciplines have introduced the concept of ubiquitous computing. Ubiquitous computing refers to a method of increasing the utilization of computers by making them available at all times while effectively hiding the computers existing throughout the physical environment.
유비쿼터스 컴퓨팅 환경에서는 사용자가 컴퓨터에게 직접 자신이 원하는 작업에 대한 명령을 하지 않아도, 컴퓨터가 알아서 조용히 사용자가 원하는 작업을 해주어야 한다. 이것이 가능하기 위해서 컴퓨터는 사용자가 어떤 상황에 있는지를 인식할 필요가 있는데, 이러한 유비쿼터스 컴퓨팅의 특성을 상황인식이라고 한다.In a ubiquitous computing environment, a computer must be quiet and do what a user wants, even if the user doesn't tell the computer what he wants to do. In order for this to be possible, the computer needs to be aware of the situation in which the user is. This characteristic of ubiquitous computing is called situational awareness.
또한, 추천(Recommendation)이란 ‘대상 고객과 유사한 집단의 의견을 활용하여, 그 고객이 대량의 선택가능 집합으로부터 관심 있는 내용을 효과적으로 파악할 수 있도록 도와주는 과정’이라고 정의될 수 있다. 예컨대, 고객이 웹을 통하여 온라인 서점에 접속한다면, 그가 살펴보는 서적들의 정보를 이용하여 적절한 서적의 추천이 가능할 것이다. 하지만, 유비쿼터스 컴퓨팅 환경에서는 고객이 적극적으로 자신이 어떠한 정보를 원한다고 내비치기 전에, 컴퓨터가 먼저 고객의 의중을 파악하여 그에게 적절한 상품이나 서비스를 추천하여야 할 것이다.Recommendation may also be defined as "a process that uses the opinions of a group similar to the target customer to help the customer effectively identify the content of interest from a large set of choices." For example, if a customer connects to an online bookstore through the web, he can use the information of the books he or she is looking at to recommend appropriate books. However, in a ubiquitous computing environment, a computer must first understand the customer's intention and recommend appropriate products or services to the customer before the customer actively suggests what information he wants.
사례기반추론(Case-based Reasoning, 이하 'CBR')이란 새로운 문제를 해결함에 있어서 과거에 해결된 유사 문제의 해법(Solution)을 재사용하는 추론 기법이다. CBR의 기본 사상은 유사한 문제는 유사한 해법을 가진다는 것과, 한번 발생한 문제는 자주 발생할 수 있다는 것이다. 따라서 현재의 문제와 유사한 문제가 과거에 존재하였고 그것이 어떻게 해결되었는지를 안다면, 과거의 그 결과를 바탕으로 현재 문제의 해결책을 추론하는 것이 가능하다는 것이다.Case-based reasoning (CBR) is a reasoning technique that reuses solutions of similar problems that have been solved in the past in solving new problems. The basic idea of CBR is that similar problems have similar solutions, and problems that occur once can occur frequently. Thus, if a problem similar to the present problem existed in the past and how it was solved, it is possible to infer the solution of the present problem based on the results of the past.
도 1은 일반적인 CBR 시스템의 문제해결과정을 설명하기 위한 도면이다.1 is a diagram illustrating a problem solving process of a general CBR system.
도 1을 참조하면, CBR 시스템의 문제해결 과정은 도 1에 도시된 바와 같이 검색(Retrieve), 재사용(Reuse), 수정(Revise), 유지(Retain)의 4 단계를 거친 다(Aamodt and Plaza, 1994). 검색은 주어진 문제와 가장 유사한 과거사례를 사례베이스로부터 찾는 단계이고, 재사용은 주어진 문제의 해결을 위해 찾아진 유사 사례들의 해법을 재사용하는 단계이다. 수정은 필요에 따라 유사 사례의 해법을 주어진 문제에 적합한 형태로 조정하는 단계이며, 마지막 단계인 유지는 새롭게 해결된 문제와 해법을 향후 문제해결을 위해 사례베이스에 저장하는 것이다.Referring to FIG. 1, the troubleshooting process of the CBR system is performed in four stages, as shown in FIG. 1: Retrieve, Reuse, Revise, and Retain (Aamodt and Plaza, 1994). Retrieval is the step of retrieving past cases most similar to a given problem from the case base. Reuse is the step of reusing the solutions of similar cases found for solving a given problem. Modification is the step of adjusting similar cases' solutions to a given problem as needed, and the last step, maintenance, is to store newly resolved problems and solutions in the casebase for future troubleshooting.
CBR은 축적된 과거 사례만 존재한다면 어떠한 문제라도 해결책을 제시할 수 있기 때문에 복잡하거나 비구조화된 문제에도 효과적으로 적용할 수 있다. 또한 사례베이스에 단지 새로운 사례를 추가하는 것만으로도 다른 기계학습 기법과는 달리 별도의 재학습 없이도 새로운 문제 해결을 위한 적응력이 향상된다는 장점이 있다. 이러한 이유로 인해 CBR은 고객세분화(Chiu, 2002), 도산예측(Elhadi, 2000; Min et al., 2006), 판매예측(Lia and Chang, 2005), 의료진단(Althoff et al., 1998; Koton, 1998; Marling, 2001), 설비이상진단(Liao et al., 2000; Tsai et al., 2005; Varma and Roddy, 1999; Wang and Wang, 2005), 헬프데스크 운영(Goker and Roth-Berghofer, 1999; Kriegsman and Barletta, 1993), 전자상거래(Vollrath et al., 1998), 상품추천(Roh et al., 2003; Fabiana and Francesco, 2005)과 같은 다양한 영역에서 성공적으로 적용되고 있다.CBR can be effectively applied to complex or unstructured problems because any problem can be solved if there is a cumulative past. In addition, simply adding new cases to the casebase has the advantage that, unlike other machine learning techniques, the adaptability for solving new problems is improved without re-learning. For this reason, CBR can be divided into customer segmentation (Chiu, 2002), bankruptcy forecasting (Elhadi, 2000; Min et al., 2006), sales forecasting (Lia and Chang, 2005), and medical diagnosis (Althoff et al., 1998; Koton, 1998; Marling, 2001), facility failure diagnosis (Liao et al., 2000; Tsai et al., 2005; Varma and Roddy, 1999; Wang and Wang, 2005), help desk operations (Goker and Roth-Berghofer, 1999; Kriegsman and Barletta, 1993), e-commerce (Vollrath et al., 1998), and product recommendations (Roh et al., 2003; Fabiana and Francesco, 2005).
한편, 음악추천시스템이란 사용자가 들을 수 있는 수많은 노래들 중에서 사용자가 선호할 것으로 기대되는 노래들만을 효과적 . 효율적으로 선별하여 제공하는 시스템을 말한다.On the other hand, the music recommendation system is effective only among the songs that the user is expected to prefer from among the many songs that the user can hear. Refers to a system that efficiently selects and provides.
전술한 상황인식, 추천, 또는 사례기반추론에 관해서는 본 명세서와 같이 제 출되는 특허법 제30조 제2항에 의한 서류인 ("상황 인식을 이용한 사례기반 음악추천시스템", 2006년 9월, 한국지능정보시스템학회 논문지) 및 본 서류에 기재된 참고문헌이 레퍼런스로 포함될 수 있다.Regarding the situation recognition, recommendation, or case-based reasoning described above, the document referred to in Article 30,
따라서, 이러한 음악추천시스템에서 상황 인식의 개념을 접목시켜, 음악추천시스템의 구축에 있어서 추천의 효과성을 높이기 위한 방법으로 추천시점의 사용자상황을 고려한 음악추천시스템이 요구된다.Therefore, the music recommendation system considering the user's situation at the point of recommendation is required as a method for enhancing the effectiveness of the recommendation in constructing the music recommendation system by integrating the concept of context recognition in such a music recommendation system.
따라서 본 발명이 이루고자 하는 기술적인 과제는 음악추천시스템에 상황인식의 개념을 접목시켜, 사용자의 상황을 파악하여 그 사용자가 음악을 듣고 싶어하는지 아닌지를 파악한 후에, 만일 음악을 듣고 싶어한다면 그 사용자와 유사한 사용자들이 유사한 상황 하에서 많이 듣는 음악을 추천함으로써 추천의 효과성을 높인 음악추천 방법 및 그 시스템을 제공하는 것이다.Therefore, the technical problem to be achieved by the present invention is to incorporate the concept of situational awareness into the music recommendation system, grasp the user's situation to determine whether the user wants to listen to the music, and if the user wants to listen to the music, It is to provide a music recommendation method and system that enhances the effectiveness of the recommendation by recommending music that similar users listen to under similar circumstances.
상기 기술적 과제를 달성하기 위한 상황인식 사례기반 음악추천시스템은 외부상황정보를 수집하는 인터페이스 레이어, 과거의 외부상황정보, 다수의 사용자들 각각의 음악청취이력 정보, 또는 추천할 음악에 대한 정보 중 적어도 하나를 포함하는 리퍼지토리 레이어, 및 상기 인터페이스 레이어를 통하여 상기 외부상황정보를 수신하고, 수신된 상기 외부상황정보 및 상기 리퍼지토리 레이어에 저장된 정보에 기초하여 사용자의 음악청취의향 및 상기 사용자에게 추천할 추천음악을 선정하고, 추론된 추천음악에 대한 정보를 상기 인터페이스 레이어를 통하여 외부로 출력 하는 어플리케이션 레이어를 구비할 수 있다.The situation-aware case-based music recommendation system for achieving the technical problem includes at least one of an interface layer for collecting external situation information, past external situation information, music listening history information of a plurality of users, or information on music to be recommended. Receive the external situation information through the repository layer and the interface layer including one, and recommends to the user to listen to music and the user based on the received external situation information and the information stored in the repository layer. An application layer may be provided for selecting recommended music and outputting information about the inferred recommended music to the outside through the interface layer.
상기 리퍼지토리 레이어는 상기 과거의 외부상황정보에 대한 정보를 저장하는 상황 사례베이스, 다수의 사용자들 각각의 음악청취이력에 대한 정보 및 상기 다수의 사용자들 각각에 대한 인구통계학적 정보를 저장하는 음악청취이력 사례베이스, 및 추천할 음악들에 대한 정보를 저장하는 음악 데이터베이스를 구비할 수 있다.The repository layer includes a situation case base for storing information on the past external situation information, information on a music listening history of each of the plurality of users, and music storing demographic information for each of the plurality of users. Listening history example base, and a music database for storing information about the music to recommend.
상기 어플리케이션 레이어는 상기 인터페이스 레이어로부터 상기 외부상황정보를 수신하고, 수신된 상기 외부상황정보, 상기 상황 사례베이스에 저장된 정보, 및 상기 음악청취이력 사례베이스에 저장된 정보에 기초하여 사용자의 음악청취의향을 추론하는 인텐션 모듈, 및 추론 결과 상기 사용자가 음악청취의향이 있는 경우, 상기 상황 사례베이스 및 상기 음악청취이력 사례베이스에 저장된 정보에 기초하여 상기 추천음악을 선정하는 추천 모듈을 구비할 수 있다.The application layer receives the external situation information from the interface layer and based on the received external situation information, the information stored in the situation case base, and the information stored in the music listening history case base, the user's intention to listen to the music. An inference module for inferring, and a recommendation module for selecting the recommended music based on the information stored in the situation case base and the music listening history case base when the user has a willingness to listen to the inference result.
상기 인텐션 모듈은 계절, 월, 요일, 날씨, 최저기온, 최고기온, 또는 평균기온에 대한 정보 중 적어도 하나를 포함하는 정보를 입력속성으로 사용할 수 있다.The intension module may use information including at least one of season, month, day of the week, weather, minimum temperature, maximum temperature, or average temperature as an input attribute.
상기 추천 모듈은 성별, 연령, 거주지역, 소정 기간 동안의 음악청취 일 수 또는 소정 기간 동안의 노래 청취 회수에 대한 정보 중 적어도 하나를 포함하는 사용자 프로파일 정보를 입력속성으로 사용할 수 있다.The recommendation module may use user profile information including at least one of gender, age, residential area, the number of days of music listening for a predetermined period, or the number of times of song listening for a predetermined period, as an input attribute.
상기 인텐션 모듈은 상기 사용자의 음악청취의향을 추론하기 위해 의사결정나무(Decision Tree), SVM(Support Vector Machine), 또는 사례기반추론(Case- based Reasoning)을 포함하는 데이터마이닝 기법들 중 적어도 어느 하나를 사용할 수 있다.The intension module includes at least one of data mining techniques including a decision tree, a support vector machine, or case-based reasoning to infer the user's intention to listen to music. Can be used.
상기 추천 모듈은 상기 외부상황정보와 유사한 과거상황에서 상기 사용자와 유사한 적어도 한 명의 사용자가 청취한 음악들에 대한 정보를 추출하고, 추출된 음악들에 대한 정보에 기초하여 상기 추천음악을 선정할 수 있다.The recommendation module may extract information on music listened to by at least one user similar to the user in a past situation similar to the external situation information, and select the recommended music based on the extracted music information. have.
상기 추천 모듈은 상기 외부상황정보와 유사한 과거상황에서 상기 사용자와 유사한 적어도 한 명의 사용자가 청취한 음악들에 대한 정보를 추출하기 위해, 상기 음악청취이력 사례베이스로부터 상기 외부상황정보와 유사한 상황에서 음악을 청취한 사용자에 대한 정보를 추출하고, 추출된 정보 중에서 상기 사용자와 유사한 적어도 한 명의 사용자에 대한 정보를 추출하며, 추출된 상기 사용자와 유사한 상기 적어도 한 명의 사용자가 청취한 음악들에 대한 정보를 상기 음악청취이력 데이터베이스로부터 추출하여 상기 추천음악을 선정할 수 있다.The recommendation module extracts information about music listened to by at least one user who is similar to the user in a past situation similar to the external situation information, in a situation similar to the external situation information from the music listening history example base. Extracting information about the user who listened to the information, extracting information about at least one user similar to the user from the extracted information, and extracting information about music listened to by the at least one user similar to the extracted user; The recommended music may be selected by extracting from the music listening history database.
상기 추천 모듈은 상기 음악청취이력 사례베이스로부터 상기 외부상황정보와 유사한 상황에서 음악을 청취한 사용자에 대한 정보를 추출하기 위해, 상기 상황 사례베이스로부터 상기 외부상황정보와 유사한 과거상황에 대한 정보를 추출하고, 추출된 유사한 과거상황에 대한 정보에 기초하여 상기 음악청취이력 사례베이스로부터 유사한 과거상황에서 음악을 청취한 사용자들에 대한 정보를 추출할 수 있다.The recommendation module extracts information about a past situation similar to the external situation information from the situation case base to extract information about a user who listened to music in a situation similar to the external situation information from the music listening history case base. And, based on the extracted information on the similar past situation can extract information about the users who listened to the music in the similar past situation from the music listening history example base.
상기 추천 모듈은 추출된 유사한 과거상황에서 음악을 청취한 사용자들에 대한 정보 중 상기 사용자와 유사한 적어도 한 명의 사용자에 대한 정보를 추출하기 위해, 상기 음악청취이력 사례베이스에 저장된 상기 다수의 사용자들 각각에 대한 정보에 기초하여 사례기반추론을 수행할 수 있다.The recommendation module may be configured to extract information about at least one user who is similar to the user from among information about users who have listened to music in the similar past situation, respectively, in the music listening history case base. Case-based reasoning can be performed based on information about
상기 추천 모듈은 상기 추출된 적어도 한 명의 사용자가 청취한 음악들에 대한 정보 중 상기 추천음악이 포함된 빈도 또는 상기 추천음악이 상기 적어도 한 명의 사용자에 의해 들려진 시간에 대한 정보 중 적어도 하나에 기초하여 상기 추천음악을 선정할 수 있다.The recommendation module is based on at least one of information on the frequency at which the recommendation music is included or information on the time when the recommendation music is heard by the at least one user among information on music extracted by the at least one user. The recommended music can be selected.
상기 외부상황정보는 계절, 월, 요일, 날씨, 최저기온, 최고기온, 또는 평균기온에 대한 정보 중 적어도 하나를 포함하는 정보일 수 있다.The external situation information may be information including at least one of season, month, day of the week, weather, minimum temperature, maximum temperature, or average temperature.
상기 기술적 과제를 달성하기 위한 오토메이션 시스템은 상기 상황인식 사례기반 음악추천시스템, 외부상황정보를 수집하고, 수집된 상기 외부상황정보를 상기 사례기반 음악추천시스템으로 전송하는 외부상황 인식 장치, 추천음악을 재생할 수 있는 오디오 장치, 및 프로세서를 구비하며, 상기 프로세서는 상기 외부상황 인식 장치로부터 출력된 상기 외부상황정보를 상기 상황인식 사례기반 음악추천시스템이 수신하고, 상기 상황인식 사례기반 음악추천시스템은 수신된 상기 외부상황정보에 기초하여 상기 추천음악에 대한 정보를 상기 오디오 장치로 출력하고, 출력된 상기 추천음악에 대한 정보에 기초하여 상기 오디오 장치가 상기 추천음악을 재생하도록 제어할 수 있다.Automation system for achieving the technical problem is the situation-aware case-based music recommendation system, collecting external situation information, the external situation recognition device for transmitting the collected external situation information to the case-based music recommendation system, recommended music And an audio device capable of playing back, and a processor, wherein the situation recognition case based music recommendation system receives the external situation information output from the external situation recognition device, and the situation recognition case based music recommendation system receives the external situation information. The information about the recommended music may be output to the audio device based on the external situation information, and the audio device may be controlled to play the recommended music based on the output information about the recommended music.
상기 오토메이션 시스템은 사용자의 출입을 감지하는 센서를 더 구비하며, 상기 프로세서는 상기 센서로부터 출력되는 상기 사용자의 출입감지 신호에 응답하여, 상기 사용자에 상응하는 상기 추천음악을 재생하도록 제어할 수 있다.The automation system may further include a sensor for detecting a user's entrance and exit, and the processor may control to play the recommended music corresponding to the user in response to the user's entrance detection signal output from the sensor.
상기 기술적 과제를 달성하기 위한 상황인식 사례기반 음악추천 방법은 상황 인식 사례기반 음악추천시스템이 외부상황정보를 수신하는 단계, 수신된 상기 외부상황정보에 기초하여 사용자의 음악청취의향을 추론하는 단계, 추론한 결과 음악청취의향이 있는 경우 상기 사용자에게 추천할 추천음악을 선정하는 단계를 구비할 수 있다.The situation recognition case-based music recommendation method for achieving the technical problem is a situation-aware case-based music recommendation system receiving the external situation information, inferring the user's intention to listen to music based on the received external situation information, Inferring a result of the inferred music may include selecting a recommendation music to be recommended to the user.
상기 음악청취의향을 추론하는 단계는 상기 상황인식 사례기반 음악추천시스템이 과거 외부상황정보에 대한 정보에 기초하여 상기 외부상황정보에서 상기 사용자가 음악청취의향이 있는지 여부를 사례기반추론 하는 단계를 구비할 수 있다.The inferring of the music listening intention comprises the case-based reasoning of whether the user has a music listening intention in the external situation information based on the information on past external situation information. can do.
상기 사용자에게 추천할 추천음악을 선정하는 단계는 다수의 사용자들 각각의 음악청취이력에 대한 정보 중에서 상기 외부상황정보와 유사한 상황에서 음악을 청취한 사용자에 대한 정보를 추출하는 단계, 추출된 정보 중에서 상기 사용자와 유사한 적어도 한 명의 사용자에 대한 정보를 추출하는 단계, 및 추출된 적어도 한 명의 사용자가 청취한 음악에 대한 정보에 기초하여 추천음악을 선정하는 단계를 구비할 수 있다.The selecting of the recommended music to be recommended to the user may include extracting information on a user who has listened to music in a situation similar to the external situation information among information on a music listening history of each of a plurality of users, and among the extracted information. And extracting information on at least one user similar to the user, and selecting recommended music based on the extracted information about the music listened to by the at least one user.
상기 외부상황정보와 유사한 상황에서 음악을 청취한 사용자에 대한 정보를 추출하는 단계는 상기 과거 외부상황정보에 대한 정보 중에서 상기 외부상황정보와 유사한 상황에 대한 정보를 탐색하는 단계, 탐색된 정보에 기초하여 상기 다수의 사용자들 각각의 음악청취이력에 대한 정보 중에서 상기 외부상황정보와 유사한 상황에서 음악을 청취한 사용자에 대한 정보를 추출하는 단계를 구비할 수 있다.Extracting information on a user who has listened to music in a situation similar to the external situation information may include searching for information on a situation similar to the external situation information among the information on the past external situation information, based on the found information. The method may further include extracting information on a user who has listened to music in a situation similar to the external situation information from information on the music listening history of each of the plurality of users.
상기 외부상황정보와 유사한 상황에 대한 정보를 탐색하는 단계는 상기 과거 외부상황정보에 대한 정보에 기초하여 사례기반추론으로 상기 외부상황정보와 유사 한 상황에 대한 정보를 탐색하는 단계를 구비할 수 있다.Searching for information on a situation similar to the external situation information may include searching for information on a situation similar to the external situation information by case-based inference based on the information on the past external situation information. .
상기 사용자와 유사한 적어도 한 명의 사용자에 대한 정보를 추출하는 단계는 상기 다수의 사용자들 각각의 음악청취이력에 대한 정보에 기초하여 사례기반추론으로 상기 사용자와 유사한 적어도 한 명의 사용자에 대한 정보를 추출하는 단계를 구비할 수 있다.Extracting information on at least one user similar to the user may include extracting information on at least one user similar to the user by case-based inference based on the information on the music listening history of each of the plurality of users. Steps may be provided.
상기 추출된 적어도 한 명의 사용자가 청취한 음악에 대한 정보에 기초하여 추천음악을 선정하는 단계는, 상기 추출된 적어도 한 명의 사용자가 청취한 음악들에 대한 정보 중 상기 추천음악이 포함된 빈도 또는 상기 추천음악이 상기 적어도 한 명의 사용자에 의해 들려진 시간에 대한 정보 중 적어도 하나에 기초하여 상기 추천음악을 선정하는 단계를 구비할 수 있다. 상기 상황인식 사례기반 음악추천 방법은 컴퓨터로 읽을 수 있는 기록매체에 저장될 수 있다.The selecting of the recommended music based on the information about the music listened to by the extracted at least one user may include the frequency or the frequency at which the recommended music is included among the information about the music listened to by the at least one user. And selecting the recommended music based on at least one of information on a time when the recommended music is heard by the at least one user. The situation recognition case-based music recommendation method may be stored in a computer-readable recording medium.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings which illustrate preferred embodiments of the present invention and the contents described in the accompanying drawings.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. In addition, in the present specification, when one component 'transmits' data to another component, the component may directly transmit the data to the other component, or through at least one other component. Means that the data may be transmitted to the other component.
반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.On the contrary, when one component 'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without passing through the other component.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.
먼저 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 성능을 비교 평가하기 위한 하나의 본 발명의 다른 실시 예로써, 상황인식의 개념을 접목하지 않은 사례기반 음악추천시스템(Case-based Music Recommendation System, 이하 'C_MRS')을 구현할 수 있다.First, as another embodiment of the present invention for comparing and evaluating the performance of the situation recognition case-based music recommendation system according to an embodiment of the present invention, a case-based music recommendation system without applying the concept of situation recognition (Case-based Music) Recommendation System, `` C_MRS '') can be implemented.
즉, 상기 C_MRS는 외부상황과는 관계없이 음악을 추천할 사용자(이하 '사용자 A')와 유사한 사용자를 적어도 한 명 추출하여, 추출된 사용자가 들었던 음악을 상기 사용자 A에게 추천하는 시스템이다.That is, the C_MRS is a system for extracting at least one user similar to a user who will recommend music (hereinafter, 'user A') regardless of an external situation, and recommending the music that the extracted user listened to the user A.
상기 C_MRS에 대해 보다 상세하게 설명하면, 상기 C_MRS 모델은 음악청취이력 사례베이스에 기초하여 도 4에 도시된 바와 같은 입력속성을 사용할 수 있다. 도 4에 도시된 입력속성은 또한, 후술할 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템(Context-aware Case-based Music Recommendation System, 이하 'C2_MRS')의 추천 모듈에서 사용하는 CBR 모델의 입력속성으로 사용될 수 있다.Referring to the C_MRS in more detail, the C_MRS model may use an input attribute as shown in FIG. 4 based on a music listening history example base. The input attribute shown in FIG. 4 is also used in the recommendation module of the context-aware case-based music recommendation system (hereinafter referred to as 'C 2 _MRS') according to an embodiment of the present invention to be described later. Can be used as an input attribute for the CBR model.
상기 음악청취이력 사례베이스는 도 4에 도시된 입력속성에 대한 정보를 포함하는 것이 바람직하며, 상기 음악청취이력 사례베이스는 수집되는 데이터 및 기간에 따라 다양할 수 있음은 물론이다.The music listening history example base may preferably include information on the input attribute shown in FIG. 4, and the music listening history example base may vary depending on the data and the period collected.
예컨대, 상기 음악청취이력 사례베이스에 저장되는 데이터는 인터넷 상에서 스트리밍 음악 서비스(Streaming Music Service)를 제공하는 회사의 사용자 데이터에 기초할 수 있다.For example, the data stored in the music listening history case base may be based on user data of a company providing a streaming music service on the Internet.
상기 음악청취이력 사례베이스에 기초하여 도 4에 도시된 바와 같은 입력속성을 사용하는 상기 C_MRS의 유사도 함수는 다음과 같을 수 있다.The similarity function of the C_MRS using an input attribute as shown in FIG. 4 based on the music listening history example base may be as follows.
상기 수학식 1은 CBR 모델에서 두 사례간의 유사도를 측정함에 있어서 대표적으로 사용되는 함수이지만, 이에 한정되지는 않는다.
여기서 Ni는 새로운 사례의 i번째 속성값; Ci는 과거사례의 i번째 속성값, n은 속성의 개수, f(Ni, Ci)는 두 속성값 Ni와 Ci사이의 거리함수, Wi는 i번째 속성에 대한 가중치를 나타낸다. 거리함수 f(·)는 두 사례의 속성간 유사도를 측정하기 위한 것으로 본 발명에 따른 C_MRS에서는 비교 대상 속성이 수치형일 경우 수학식 2를 사용할 수 있다.Where N i is the i-th attribute value of the new instance; C i is the i-th attribute value of the past case, n is the number of attributes, f (N i , C i ) is the distance function between two attribute values N i and C i , and W i is the weight for the i-th attribute. . The distance function f (·) is used to measure the similarity between the attributes of two cases. In C_MRS according to the present invention,
식 (2)에서 Max는 사례베이스에 있는 모든 사례의 i번째 속성값 중 최대값을 의미하며, Min은 최소값을 의미한다.In Equation (2), Max means the maximum value of the i-th attribute value of all cases in the case base, and Min means the minimum value.
비교 대상 속성이 범주형인 경우에는 속성값이 같으면 1을, 다르면 0을 부여하거나, 또는 다양한 방법으로 유사도 값을 부여할 수 있다. CBR 모델의 예측성능은 해(Solution)를 생성하기 위해 참조 되는 최근접 이웃의 수 k와 유사도 산출에 사용되는 속성들의 가중치로부터 많은 영향을 받게 된다. 상기 C_MRS 구축을 위해 무작위방식으로 100개의 가중치(0과 1 사이의 실수값) 벡터를 생성한 후, 각 가중치 벡터에 대해서 k를 10부터 100까지 5씩 증가시키면서 실험을 수행할 수 있고, 이때의 정확도의 측정은 수학식 3에 의할 수 있다.If the attribute to be compared is categorical, 1 may be assigned if the attribute value is the same, 0 if the attribute value is different, or the similarity value may be assigned in various ways. The predictive performance of the CBR model is strongly influenced by the weight of the attributes used to calculate the similarity and the number k of the nearest neighbors referred to to generate the solution. After generating 100 weight (vectors between 0 and 1 real number) vectors in a random manner to construct the C_MRS, experiments can be performed by increasing k from 10 to 100 by 5 for each weight vector. The measurement of accuracy may be based on Equation 3.
여기서 Rc는 추천된 노래 중 사용자가 실제로 들은 노래의 수를 나타내며, R은 추천시스템에 의해 추천된 노래의 수를 나타낸다. 따라서 Precision은 추천시스 템에 의해 추천된 노래들 중 사용자가 실제로 들은 노래의 비율이다. 즉, 추천의 정확도를 의미한다.Where R c represents the number of songs actually heard by the user, and R represents the number of songs recommended by the recommendation system. Thus, Precision is the percentage of songs actually heard by users that were recommended by the recommendation system. That means the accuracy of the recommendation.
상기 C_MRS 모델의 예측성능 평가에 있어서 학습 데이터로부터의 영향을 최소화하고 신뢰성을 확보하기 위해 훈련데이터 집합과 평가데이터 집합의 비율을 6:4로 하여 10-Fold 교차검증(Cross Validation)을 수행할 수 있다. 상기 C_MRS의 입력속성의 가중치 및 k값을 선정하기 위한 용도로 사용할 검증데이터 집합은 별도로 마련하지는 않고, 훈련데이터 집합으로 사례베이스를 만든 후에 Leave-One-Out의 방식으로 상기 C_MRS를 구현할 수 있다. In order to minimize the influence from the training data and to ensure the reliability in the prediction performance evaluation of the C_MRS model, 10-Fold cross validation may be performed by setting the ratio of the training data set and the evaluation data set to 6: 4. . The verification data set to be used for selecting the weight value and k value of the C_MRS input attribute is not separately provided, and the C_MRS may be implemented by a Leave-One-Out method after creating a case base from the training data set.
k값의 변화에 따른 C_MRS의 정확도의 변화를 측정한 결과, k가 50이 될 때 까지는 정확도가 조금씩 증가하다가 그 이후부터는 점차 떨어지는 현상이 나타났다. 따라서 상기 C_MRS의 k를 50으로 설정할 수 있지만, 본 발명의 권리범위가 이에 한정되지는 않는다. 상기 C_MRS의 최종 성능은 후술할 C2_MRS와 비교하여 후술한다.As a result of measuring the change in the accuracy of C_MRS according to the change of k value, the accuracy increased little by little until k became 50 and then gradually decreased. Therefore, although k of C_MRS can be set to 50, the scope of the present invention is not limited thereto. The final performance of the C_MRS will be described later in comparison with the C 2 _MRS to be described later.
도 2는 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 기능 블록도를 나타낸다.2 is a functional block diagram of a situation recognition case-based music recommendation system according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템(C2_MRS, 100)은 인터페이스 레이어(110), 어플리케이션 레이어(130), 및 리퍼지토리 레이어(150)를 구비한다.2, the context-aware case-based music recommendation system C 2 _MRS 100 according to an embodiment of the present invention includes an
상기 인터페이스 레이어(110)는 외부상황정보를 수집하여 상기 어플리케이션 레이어(130) 및/또는 상기 리퍼지토리 레이어(150)로 전달할 수 있다. 또한, 상기 어플리케이션 레이어(130)에서 처리된 결과를 최종적으로 사용자에게 제공하는 기능을 수행할 수 있다.The
상기 인터페이스 레이어(110)는 상기 외부상황정보를 수집하기 위하여 소정의 통신망(예컨대, 인터넷 또는 무선 통신망)에 연결되거나, 상기 외부상황정보를 수신하기 위한 소정의 단자(예컨대, USB 포트, 적외선 포트 등)를 구비할 수 있다. 예컨대, 상기 인터페이스 레이어(110)는 인터넷에 연결되어 기상청의 웹사이트를 통하여 상기 외부상황정보를 수집할 수 있다.The
또한, 구현 예에 따라 상기 외부상황정보를 직접 인식하기 위한 소정의 센서(미도시)를 구비할 수도 있다.In addition, according to an embodiment, a predetermined sensor (not shown) for directly recognizing the external situation information may be provided.
상기 리퍼지토리 레이어(150)는 과거의 외부상황정보, 다수의 사용자들 각각의 음악청취이력 정보, 또는 추천할 음악에 대한 정보 중 적어도 하나를 포함할 수 있다.The repository layer 150 may include at least one of past external situation information, music listening history information of each of a plurality of users, or information on music to be recommended.
상기 리퍼지토리 레이어(150)는 음악추천을 위해 사용되는 사례 및 데이터를 저장 및 관리하며, 상황 사례베이스(Context Case Base, 151), 음악청취이력 사례베이스(Users' Listening History Case Base, 153), 및 음악 데이터베이스(Music Data Base, 155)를 구비할 수 있다. The repository layer 150 stores and manages cases and data used for music recommendation, context case base (151), music listening history case base (Users' Listening History Case Base, 153), And a
상기 상황 사례베이스(151)에는 인터페이스 모듈로부터 수집된 외부상황정보가 저장될 수 있다. 상기 음악청취이력 사례베이스(153)에는 다수의 사용자들 각각이 과거에 들었던 음악에 대한 데이터와 사용자의 인구통계학적 데이터가 저장 및 관리될 수 있다. 그리고 음악 데이터베이스(155)에는 상기 다수의 사용자들 각각이 들었던 음악들을 포함하는 음악들에 대한 정보가 저장 및 관리될 수 있다.The
상기 상황 사례베이스(151), 상기 음악청취이력 사례베이스(153), 및/또는 상기 음악 데이터베이스(155)는 상기 인터페이스 레이어(110)를 통하여 사례기반추론에 필요한 정도의 상응하는 정보들을 각각 수신(예컨대, 인터넷을 통한 다운로드 등)할 수 있다. 상기 사례기반추론에 필요한 정도의 정보들의 양은 다를 수 있으나, 저장된 사례가 많을수록 정확성 있는 추론이 가능할 수 있다. 또한, 초기에 사례기반추론에 필요한 정도의 상응하는 정보들을 각각 수신한 후에는 정기적인 업데이트를 통하여 상기 상황 사례베이스(151), 상기 음악청취이력 사례베이스(153), 및/또는 상기 음악 데이터베이스(155)에 저장되는 정보를 추가할 수 있다.The
상기 어플리케이션 레이어(130)는 상기 인터페이스 레이어(110)를 통하여 상기 외부상황정보를 수신하고, 수신된 상기 외부상황정보 및 상기 리퍼지토리 레이어에 저장된 정보에 기초하여 사용자의 음악청취의향 및 상기 사용자에게 추천할 추천음악을 추론하고, 추론된 추천음악에 대한 정보를 상기 인터페이스 레이어(110)를 통하여 외부로 출력할 수 있다.The
이를 위해, 상기 어플리케이션 레이어(130)는 인텐션 모듈(131) 및 추천 모듈(133)을 구비할 수 있다.To this end, the
상기 인텐션 모듈(131)은 상기 인터페이스 레이어(110)로부터 상기 외부상황정보를 수신하고, 수신된 상기 외부상황정보, 상기 상황 사례베이스(151)에 저장된 정보, 및 상기 음악청취이력 사례베이스(153)에 저장된 정보에 기초하여 사용자의 음악청취의향을 추론할 수 있다.The
즉, 상기 인텐션 모듈(131)은 상기 인터페이스 레이어(110)를 통하여 현재의 외부상황정보를 수신하고, 사례기반추론을 통해 현재의 외부상황정보와 유사한 과거의 외부상황에 대한 정보를 추출하여, 상기 사용자 A(즉, 음악을 추천할 사용자)가 현재의 외부상황정보와 유사한 과거의 외부상황에서 음악을 들었는지 여부에 기초하여 상기 사용자 A의 음악청취의향을 추론할 수 있다.That is, the
상기 인텐션 모듈(131)이 사례기반추론을 통해 상기 사용자 A의 음악청취의향을 추론하기 위해서는 상기 음악청취이력 사례베이스(153)에 저장된 정보 중 상기 사용자 A의 음악청취이력 사례베이스(153)를 추출하여, 추출된 정보를 상기 인텐션 모듈(131)의 목표속성으로 사용할 수 있다.The
본 발명에 따른 실시 예에서, 상기 리퍼지토리 레이어(150)에 저장되는 데이터는 인터넷 상에서 스트리밍 음악 서비스(Streaming Music Service)를 제공하는 한 국내 회사로부터 2005년 1월부터 7월까지 약 6개월 동안 음악서비스를 이용한 660명의 사용자 데이터와, 이 기간 동안의 일기 데이터이다. 일기 데이터는 기상청으로부터 수집되었으며, 일자별로 계절, 월, 요일, 날씨, 최저기온, 최고기온, 평균기온에 대한 데이터로 구성되었다. 사용자 음악청취이력 사례베이스는 일자별로 사용자가 들었던 노래, 음악장르, 청취 횟수 등에 대한 데이터와 인구통계학적 데이터로 구성될 수 있으며, 본 발명에 따른 실시 예에서는 총 6,622,300건이 수집되었다. 이때, 상기 인텐션 모듈(131)의 목표속성은 도 5에 도시된 바와 같을 수 있다.In an embodiment according to the present invention, data stored in the repository layer 150 is music for about 6 months from January 2005 to July 2005 by a domestic company that provides a streaming music service on the Internet. Data of 660 users using the service and weather data for this period. Weather data was collected from the Korea Meteorological Administration and consisted of data on season, month, day of the week, weather, minimum temperature, maximum temperature and average temperature. The user music listening history example base may be composed of data, demographic data, and the like, songs, music genres, and the number of listenings, which were listened to by user, and a total of 6,622,300 cases were collected in the embodiment according to the present invention. In this case, the target attribute of the
도 5는 본 발명의 실시 예에 따른 인텐션 모듈의 목표속성 값과 그 구성 비율을 나타낸다.5 illustrates a target attribute value and a configuration ratio of an intension module according to an embodiment of the present invention.
도 5를 참조하면, 총 193일 중 144일은 노래를 들은 날로 Music_Listened의 값이 'Yes'로 분류되었으며, 49일은 노래를 듣지 않은 날로 Music_Listened의 값이 'No'로 분류되었다.Referring to FIG. 5, 144 days of the 193 days were listened to songs, and the value of Music_Listened was classified as 'Yes', and 49 days were classified as 'No' as the days of not listening to the song.
또한, 상기 인텐션 모듈(131)의 입력속성은 도 6에 도시된 바와 같을 수 있다.In addition, the input attribute of the
도 6은 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 인텐션 모듈의 입력속성을 나타내는데, 도 6에 도시된 바와 같이 상기 인텐션 모듈(131)은 계절, 월, 요일, 날씨, 또는 기온 등과 같은 외부상황에 대한 정보 중 적어도 하나를 포함하는 정보를 입력속성으로 사용할 수 있다. 즉, 상기 인텐션 모듈(131)이 사용하는 입력속성은 외부의 일기상태에 대한 정보일 수 있다. 하지만, 상기 입력속성은 도 6에 도시된 계절, 월, 요일, 날씨, 또는 평균기온에 대한 정보뿐만 아니라, 일기상태를 나타내고 사용자의 음악청취의향에 영향을 줄 수 있는 모든 정보를 포함할 수 있다.6 illustrates an input attribute of an intension module of a situation recognition case-based music recommendation system according to an exemplary embodiment of the present invention. As shown in FIG. 6, the
상기 인텐션 모듈(131)은 도 6에 도시된 바와 같은 입력속성 및, 도 5에 도시된 바와 같은 목표속성을 사용하여 사용자 A가 음악을 청취할 의향이 있는지를 추론할 수 있는데, 이를 위한 유사도 함수는 전술한 C_MRS에서 사용한 유사도 함수인 수학식 1을 사용할 수 있다. 또한, 거리함수 f(·)는 속성이 수치형일 경우 수학식 2를 사용할 수 있다. 또한, 속성이 범주형인 경우에는 도 7에 제시된 기준에 따라 유사도 점수를 부여할 수 있다.The
도 7은 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 인텐션 모듈의 유사도 점수 부여 기준을 나타내는데, 도 7에 도시된 유사도 점수 부여기준에 따라 검색되는 최근접 이웃은 달라질 수 있음은 물론이다. 따라서, 도 7에 도시된 유사도 점수 부여기준은 하나의 실시 예에 불과하며, 상기 인텐션 모듈(131)의 구현 예에 따라 달라질 수 있으며, 본 발명의 권리범위가 이에 한정되지는 않는다. FIG. 7 illustrates a similarity score grant criteria of an intension module of a situation recognition case-based music recommendation system according to an embodiment of the present invention. The nearest neighbors searched according to the similarity score grant criteria shown in FIG. 7 may vary. to be. Therefore, the similarity score granting criteria shown in FIG. 7 is just one embodiment, and may vary depending on the implementation of the
또한, 최근접 이웃의 수 k 값, 도 7과 같은 유사도 점수 부여기준, 및 가중치는 실험에 의해 확정될 수 있으며, 본 발명의 실시 예에 따른 상기 인텐션 모듈(131)에서는 전술한 C_MRS에서 사용한 가중치 설정방법과 동일하게 설정되었으나, 이에 한정되지는 않는다.In addition, the number k value of the nearest neighbor, the similarity score granting criteria as shown in FIG. 7, and the weight may be determined by an experiment. In the
전술한 바와 같이 상기 인텐션 모듈(131)은 사례기반추론뿐만 아니라, 후술할 의사결정나무(Decision Tree) 또는 SVM(Support Vector Machine) 등 분류문제에 적용할 수 있는 데이터마이닝 기법들 중 어느 하나 또는 그 조합을 사용하여 상기 사용자 A의 음악청취의향을 추론할 수 있다.As described above, the
의사결정나무는 학습에 사용된 데이터 집합을 몇 개의 소집단으로 분류한 후, 그 분류 규칙에 따라 예측을 수행하는 대표적인 데이터마이닝 기법이다. Decision Tree는 규칙 생성을 위한 가지의 분리 방법에 따라 여러 종류의 알고리즘으로 나뉜다. 이 중 본 발명의 실시 예에 따른 가지의 분리 방법으로 이득률(Gain Ratio)을 사용하는 Quinlan의 C5.0 알고리즘(Quinlan, 1998)을 사용할 수 있다. 의 사결정나무 모델의 경우, 모델의 과잉적합을 방지하기 위해서는 적절한 가지치기와 최종노드(Leaf Node)에 포함되어야 할 최소사례의 수에 대한 적절한 설정이 필요하다. 본 발명에 따른 실시 예에서는 최적의 의사결정나무 모델을 구축하기 위해 가지치기에 사용되는 엄격도 값을 45%에서 70% 사이로 조정해 가면서 실험을 수행하였다. 가지치기 엄격도의 경우, 값을 크게 설정할수록 모델은 단순하게 되고, 값이 작을수록 복잡한 형태를 가지게 된다. 최종노드에 포함되어야할 최소 사례의 수는 훈련데이터의 크기를 고려하여 3개로 설정할 수 있으나 이에 한정되지는 않는다. Decision trees are a typical data mining technique that classifies data sets used for learning into several subgroups and then performs predictions according to the classification rules. Decision Tree is divided into several algorithms according to the method of separating branches for rule generation. Among them, Quinlan's C5.0 algorithm (Quinlan, 1998) using a gain ratio may be used as a method of separating branches according to an exemplary embodiment of the present invention. For the pseudo tree model, proper pruning and proper setting of the minimum number of cases to be included in the final node are necessary to prevent overfitting the model. In the embodiment according to the present invention, the experiment was performed while adjusting the severity value used for pruning between 45% and 70% to construct an optimal decision tree model. For pruning stringency, the larger the value, the simpler the model, and the smaller the value, the more complex the form. The minimum number of cases to be included in the final node can be set to three considering the size of the training data, but is not limited thereto.
SVM(Support Vector Machine)은 통계적 학습 이론(Statistical Learning Theory)을 기반으로 하며, 학습 데이터에 대해 분류오류를 구조적으로 최소화하는 분리경계면(Separating Hyperplane)을 찾아 예측을 수행한다. 두 개의 집단 로 분리된 입력값 , 이 있다고 하자. Support Vector Machine (SVM) is based on Statistical Learning Theory and performs prediction by finding a separating hyperplane that structurally minimizes classification errors for learning data. Two groups Input separated by Let's say this.
Vapnik이 제안한 공식에 따르면 SVM은 수학식 4를 만족한다.According to the formula proposed by Vapnik, SVM satisfies Equation 4.
수학식 4는 분리경계면 을 사이에 두고 양쪽에 두 개의 평행한 경계면(Bounding Hyperplane)을 만들게 되는데, 그 폭은 가 된다. 여기 서 w는 가중치 벡터를 나타내고 b는 편차를 나타낸다. 학습데이터 중에서 이 두 경계면 상에 존재하는 점들을 Support Vector라고 부른다. 이 Support Vector들로 이루어진 경계면들이 입력값들을 최대마진(Maximal Margin)으로 분류한다. 이 문제는 최적화 문제로 변형되어 풀게 되는데, 최종적으로 수학식 5를 얻게 된다.Equation 4 is the separation boundary With two intersecting boundary planes on both sides, the width of which Becomes Where w represents the weight vector and b represents the deviation. The points on these two interfaces in the training data are called Support Vectors. The boundaries of these Support Vectors classify the inputs into the Maximum Margin. This problem is transformed into an optimization problem and solved. Finally, Equation 5 is obtained.
수학식 5에서 K(·)는 커널함수로 학습에 사용된 데이터를 고차원 공간으로 이동시켜 특징 공간 내에 선형으로 분리 가능한 데이터 집합을 만들어 주는 역할을 수행한다. 대표적인 커널함수로는 다항식 커널(Polynomial Kernel) 함수와 RBF 커널(Radial Basis Function Kernel) 함수가 있다. 본 발명에 따른 실시 예에서는 RBF 커널 함수를 사용하여 SVM 모델을 구축할 수 있다.In Equation 5, K (·) is a kernel function that moves a data used for learning to a high-dimensional space to create a linearly separable data set in a feature space. Representative kernel functions include the polynomial kernel (Polynomial Kernel) function and the RBF kernel (Radial Basis Function Kernel). In an embodiment according to the present invention, an SVM model may be built using an RBF kernel function.
RBF 커널 함수를 사용한 SVM 모델의 구축을 위해서는 파라미터 C와 γ의 설정이 필요하다. 본 발명에 따른 실시 예에서는 최적의 SVM 모델을 찾기 위해 C를 1, 5, 10, 25, 50, 100, 1000으로 설정한 후, 각각의 값에 대해 γ를 0.5, 1, 2, 5, 10, 50으로 변경해 가며 실험을 수행하였다.To build an SVM model using RBF kernel functions, it is necessary to set parameters C and γ. In an embodiment according to the present invention, after setting C to 1, 5, 10, 25, 50, 100, 1000 to find an optimal SVM model, γ is 0.5, 1, 2, 5, 10 for each value. The experiment was carried out while changing to 50.
실험결과에 따른 상기 SVM 모델 및 상기 의사결정나무 모델의 적중률은 도 8에 도시된 바와 같다.The hit ratios of the SVM model and the decision tree model according to the experimental results are as shown in FIG. 8.
도 8은 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 인텐 션 모듈들의 평가데이터 적중률을 나타낸다.8 illustrates evaluation data hit ratios of intension modules of the situation recognition case-based music recommendation system according to an exemplary embodiment of the present invention.
도 8을 참조하면, 상기 인테션 모듈(131)을 구축하기 위한 상기 의사결정나무 모델, 상기 SVM 모델, 및 상기 사례기반추론 모델을 평가하기 위해, 전술한 C_MRS에서와 마찬가지로, 훈련데이터 집합과 평가데이터 집합을 6:4로 하여 10-Fold Cross Validation을 수행할 수 있다. 훈련데이터 집합은 상기 의사결정나무 모델 및 상기 SVM 모델의 경우에는 모델의 구축에, 상기 사례기반추론 모델의 경우에는 사례베이스로 사용될 수 있으며, 평가데이터 집합은 최종 선정된 최적모델의 일반화 성능을 평가하기 위한 목적으로 사용되었다.Referring to FIG. 8, in order to evaluate the decision tree model, the SVM model, and the case-based reasoning model for constructing the
도 8에 도시된 바와 같이, 상기 의사결정나무 모델, 상기 SVM 모델, 및 상기 사례기반추론 모델의 평균 적중률은 각각 81.7%, 81.3%, 84.1%로서 상기 사례기반추론 모델이 가장 높은 성능을 보였다. 각 모델 간의 예측성능이 통계적으로 차이가 있는지를 검증하기 위해 Paired Sample t-Test를 수행할 수 있다. 그 결과는 도 9에 도시된 바와 같다.As shown in FIG. 8, the average hit ratios of the decision tree model, the SVM model, and the case-based reasoning model were 81.7%, 81.3%, and 84.1%, respectively, and the case-based reasoning model showed the highest performance. Paired Sample t-Test can be performed to verify whether the predictive performance of each model is statistically different. The result is as shown in FIG.
도 9는 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 인텐션 모듈들의 비교 분석결과를 나타내는데, 도 9에 도시된 바와 같이, 상기 사례기반추론 모델과 상기 SVM 모델간의 t-value는 4.617로 유의수준 5%에서의 t-value인 1.833 보다 크게 나타났으며, 상기 사례기반추론 모델과 상기 의사결정나무 모델간의 t-value는 1.728로 유의수준 10%에서의 t-value인 1.383보다 크게 나타났다. 이것은 상기 사례기반추론 모델이 유의수준 5% 에서 상기 SVM 모델보다, 그리고 유의수준 10%에서 상기 의사결정나무 모델보다 예측성능이 더 우수함을 의미한다. 한편, 의사결정나무 모델과 상기 SVM 모델간의 예측성능은 통계적으로 차이가 없다고 나타났다.FIG. 9 illustrates a comparative analysis result of intension modules of a situation recognition case-based music recommendation system according to an embodiment of the present invention. As shown in FIG. 9, a t-value between the case-based reasoning model and the SVM model is 4.617. The t-value between the case-based reasoning model and the decision tree model is 1.728, which is greater than the t-value of 1.383 at the significance level of 10%. . This means that the case-based reasoning model has better predictive performance than the SVM model at the significance level of 5% and the decision tree model at the significance level of 10%. On the other hand, the predictive performance between the decision tree model and the SVM model was not statistically different.
도 10은 본 발명의 실시 예에 따른 사례기반 인텐션 모듈의 적중률을 설명하기 위한 표이다.10 is a table illustrating a hit ratio of a case-based intension module according to an embodiment of the present invention.
도 10을 참조하면, 도 10에 도시된 표는 상기 사례기반 인텐션 모듈의 Confusion Matrix를 나타내는데, Yes를 Yes로 예측한 적중률인 민감도(Sensitivity)는 92.5%이고, No를 No로 예측한 적중률인 특이도(Specificity)는 59.2%이다. 이것은 추론 모델이 사용자가 음악을 듣고 싶어 하는 날의 92.5%를 정확히 예측한다는 것이고, 마찬가지로 사용자가 음악을 듣고 싶어 하지 않는 날의 59.2%를 정확히 예측한다는 것을 의미한다. Referring to FIG. 10, the table shown in FIG. 10 shows the Confusion Matrix of the case-based intension module, wherein the sensitivity (Sensitivity), which is a hit ratio of Yes to Yes, is 92.5%, and the hit ratio of No to No is specific. The specificity is 59.2%. This means that the inference model accurately predicts 92.5% of the days when a user wants to listen to music, and likewise accurately predicts 59.2% of the days when a user does not want to listen to music.
도 5에 도시된 바와 같이 목표속성이 Yes인 날의 비율이 74.6%이므로, 예측모델의 구축 없이 항상 Yes라고만 할 때의 적중률은 74.6% 이고, 항상 No라고만 할 때의 적중률은 25.4%이다. 그러나 예측 모델을 사용함으로써 각각에 대한 예측 적중률이 17.9% 포인트, 27.5% 포인트 향상됨을 알 수 있다.As shown in FIG. 5, since the ratio of the day when the target attribute is Yes is 74.6%, the hit rate when always saying Yes is 74.6% without building a predictive model, and the hit rate when always saying No is 25.4%. However, using the predictive model, we can see that the predicted hit rate for each is improved by 17.9 percentage points and 27.5 percentage points.
상술한 바와 같이, 상기 인텐션 모듈(131)을 사용함으로써 사용자의 음악청취의향을 추론할 때에, 적중률이 증가함을 알 수 있다. 또한, 상기 인텐션 모듈(131)의 경우, 본 발명의 실시 예에서는 사례기반추론 모델이 적중률이 가장 높은 것으로 나타났다. 하지만, 적중률의 차이는 있더라도 상기 인텐션 모듈(131)을 구축하기 위해 상기 의사결정나무 모델, 상기 SVM 모델, 또는 상기 사례기반추론 모델 중 어느 하나를 사용할 수 있음은 물론이다.As described above, it can be seen that the hit rate increases when the user uses the
다시 도 2를 참조하면, 상기 추천 모듈(133)은 상기 인텐션 모듈(131)이 추론한 결과, 상기 사용자가 음악청취의향이 있는 경우, 상기 상황 사례베이스(151) 및 상기 음악청취이력 사례베이스(153)에 저장된 정보에 기초하여 상기 추천음악을 추론할 수 있다.Referring back to FIG. 2, the
상기 추천 모듈(133)은 상기 인터페이스 레이어(110)를 통하여 외부상황정보를 수신하고, 수신된 상기 외부상황정보(예컨대, 일기상태에 대한 정보)와 유사한 과거상황에서 상기 사용자와 유사한 적어도 한 명의 사용자가 청취한 음악들에 대한 정보를 추출하고, 추출된 음악들에 대한 정보에 기초하여 상기 추천음악을 추론할 수 있다.The
이를 위해, 상기 추천 모듈(133)은 먼저 상기 음악청취이력 사례베이스로부터 상기 외부상황정보와 유사한 상황에서 음악을 청취한 사용자에 대한 정보를 추출할 수 있다.To this end, the
상기 추천 모듈(133)은 추출된 사용자에 대한 정보 중에서 상기 사용자와 유사한 적어도 한 명의 사용자에 대한 정보를 추출할 수 있으며, 추출된 상기 사용자와 유사한 상기 적어도 한 명의 사용자가 청취한 음악들에 대한 정보를 상기 음악청취이력 데이터베이스(153)로부터 추출할 수 있다.The
상기 추천 모듈(133)은 상기 음악청취이력 사례베이스(153)로부터 상기 외부상황정보와 유사한 상황에서 음악을 청취한 사용자에 대한 정보를 추출하기 위해, 상기 상황 사례베이스(151)로부터 상기 외부상황정보와 유사한 과거상황에 대한 정보를 추출하고, 추출된 유사한 과거상황에 대한 정보에 기초하여 상기 음악청취이 력 사례베이스(153)로부터 유사한 과거상황에서 음악을 청취한 사용자들에 대한 정보를 추출할 수 있다.The
상기 외부상황정보와 유사한 과거상황에 대한 정보를 추출하는 과정은 상기 상황 사례베이스(151)에 저장된 정보 전체로부터 사용자 A가 현재 처한 상황과 유사한 과거 상황을 찾는 작업이다. The process of extracting information about the past situation similar to the external situation information is a task of finding a past situation similar to the current situation of the user A from all the information stored in the
이를 위해, 본 발명에 따른 실시 예에서는 사례기반추론 모델을 사용하였으며, 상기 인텐션 모듈(131)의 구축에 사용된 사례기반추론 모델과 동일한 입력속성과 구조로 모델을 구현할 수 있다. 즉, 상기 인텐션 모듈(131)과 상기 추천 모듈(133) 모두 현재의 외부상황과 유사한 과거의 상황을 추출하는데에는 유사하지만, 두 모델의 차이는 상기 인텐션 모듈(131)에 사용된 사례기반추론 모델은 사용자 A 자신만의 과거 상황만을 상기 상황 사례베이스(151)에서 추출하여 사용한다는 것이고, 유사 상황 탐색을 위해 상기 추천 모듈(133)에서 사용하는 사례기반추론 모델의 경우에는 다른 사용자들의 모든 과거 상황정보가 상기 상황 사례베이스(151)에서 추출되어 사용된다는 것이다. To this end, in the embodiment according to the present invention, a case-based reasoning model is used, and the model may be implemented with the same input attribute and structure as the case-based reasoning model used in constructing the
또한 유사상황에 대한 최근접 이웃(Nearest Neighbors)을 설정하는 방식에 있어서도 상기 인텐션 모듈(131)에 사용된 사례기반추론 모델의 경우 k-NN 방법을 사용할 수 있지만, 상기 추천 모듈(133)이 유사 상황 탐색을 위해 사용하는 사례기반추론 모델의 경우에는 유사도 임계값(Threshold)을 사용할 수 있다. In addition, the case-based reasoning model used in the
상기 유사도 임계값은 상기 인텐션 모듈(131)의 추론결과로부터 결정될 수 있다. 예컨대, 상기 인텐션 모듈(131)의 최근접 이웃의 값이 3으로 설정되면, 사용 자가 음악을 듣고 싶어하는지 아닌지를 추론하기 위해 현재의 사용자 A의 상황과 유사한 과거 상황 3개가 검색될 수 있다.The similarity threshold may be determined from the inference result of the
검색된 3개의 과거 상황이 가지는 유사도는 각각 0.95, 0.91, 0.86 이고, 다수결(majority voting) 방식에 의해 사용자가 음악을 듣고 싶어한다는 결과가 나왔다면, 상기 추천 모듈(133)이 유사 상황 탐색을 위한 사례기반추론 모델에서는 상기 상황 사례베이스(151)로부터 유사도 값이 0.86 이상이 되는 모든 상황을 검색하여 유사 상황으로 구성할 수도 있다. The similarities of the three past situations retrieved are 0.95, 0.91, and 0.86, respectively, and when the result that the user wants to listen to the music by the majority voting method is found, the
이와 같이 상기 유사도 임계값은 상기 인텐션 모듈(131)의 추론 결과에 기초하여 결정될 수 있지만 이에 한정되지는 않으며, 실험결과에 따라 미리 소정의 값으로 결정될 수도 있으며, 상기 인텐션 모듈(131)에서와 같이 k-NN 방식을 사용할 수도 있다. As such, the similarity threshold may be determined based on the inference result of the
상기 추천 모듈(133)은 검색결과 유사한 상황들이 해당하는 날에 음악을 들은 사용자들을 추출하여 유사상황 청취자 사례베이스(예컨대, 'Customer_at_D')를 구성할 수 있다.The
또한, 상기 추천 모듈(133)은 상기 유사상황 청취자 사례베이스로부터 상기 사용자와 유사한 사용자를 추출하기 위해, 상기 유사상황 청취자 사례베이스에 저장된 상기 다수의 사용자들 각각에 대한 정보에 기초하여 사례기반 추론을 수행할 수 있다.In addition, the
이것은 사용자 A와 유사한 음악적 취향을 가지는 사용자들이 선호했던 노래를 추천함으로써 추천의 정확도를 높이기 위한 과정일 수 있다. 본 발명의 실시 예 에서는 이러한 유사 사용자의 탐색에 있어서도 사례기반추론 모델을 사용하였다. This may be a process for enhancing the accuracy of the recommendation by recommending songs that users with a musical taste similar to user A preferred. In an embodiment of the present invention, a case-based reasoning model is used to search similar users.
유사 사용자 탐색을 위한 사례기반추론 모델의 구축에서는 전술한 C_MRS 구축에 사용한 입력속성과 사례베이스를 동일하게 사용하였다. 즉, 도 4에 도시된 입력속성을 사용하고, 최근접 이웃의 수도 상기 C_MRS와의 비교를 위해 동일하게 50으로 설정될 수 있다. 하지만, 상기 최근접 이웃의 수는 실험결과 및 상기 음악청취이력 사례베이스(153)에 저장된 정보의 양 등에 따라 달라질 수 있음은 전술한 바와 같다.In constructing a case-based reasoning model for similar user search, we used the same input attribute and casebase as the C_MRS implementation. That is, the input attribute shown in FIG. 4 may be used, and the number of nearest neighbors may be equally set to 50 for comparison with the C_MRS. However, as described above, the number of the nearest neighbors may vary depending on the experiment result and the amount of information stored in the music listening
즉, 상기 추천 모듈(133)은 상기 유사상황 청취자 사례베이스(예컨대, Customer_at_D)로부터 사용자 A와 유사한 사용자 50명을 추출하여 유사상황 유사청취자 사례베이스(예컨대, Similar_Customer_at_D)를 구성할 수 있다. That is, the
또한, 상기 추천 모듈(133)은 상기 유사상황 유사청취자 사례베이스(예컨대, Similar_Customer_at_D)에 속한 사용자들이 들었던 노래들을 상기 음악청취이력 사례베이스(153)로부터 추출하여 추천음악 후보 집단을 구성할 수 있다. In addition, the
상기 추천 모듈(133)은 추천음악을 결정하기 위해 청취빈도와 최근성 우선 법칙을 적용할 수 있다. 즉, 추천음악 후보 집단에 포함된 노래들 중 유사 사용자들이 더 많이 들었던 노래일수록 그리고 더 최근에 들었던 노래일수록 우선적으로 추천음악에 선정되도록 할 수 있다. 이를 위해 추천음악 후보 집단에 포함된 노래들을 유사 사용자들이 들은 청취 횟수와 해당 노래를 마지막으로 들은 일자 순으로 정렬한 후 추천음악을 선정할 수 있다. 그리고 추천음악의 수는 음악앨범 CD 한 장에 포함되는 노래의 수가 일반적으로 15곡임을 감안하여 15곡으로 설정할 수 있다. The
따라서 상기 추천 모듈(133)은 상기 사용자 A가 그가 처한 상황과 유사한 상황에서 그와 유사한 성향을 가지는 다른 사용자들이 선호했던 노래 15곡을 상기 사용자 A에게 추천할 수 있다. 하지만, 상술한 추천 방식 및 추천 곡수는 이에 한정되지는 않으며, 다양할 수 있음은 물론이다.Accordingly, the
상기 추천 모듈(133)은 최종적으로 선정된 추천곡에 대한 정보에 기초하여 상기 음악 데이터베이스(155)로부터 상응하는 추천곡을 추출하여 상기 인터페이스 레이어(110)를 통하여 외부로 출력할 수 있다. The
외부로 출력되는 정보는 상기 상황인식 사례기반 음악추천시스템(100)이 소정의 음악 재생장치(미도시)를 구비한 경우에는 상기 음악 데이터베이스(155)로부터 추출된 추천곡이 재생되어 출력되는 음악신호 자체일 수도 있으며, 상기 추천곡이 파일 등의 형태로 직접 출력될 수도 있다. 또한, 상기 추천곡들에 대한 상세한 정보들만을 출력하고, 별도로 상기 사용자 A로부터 재생할 음악에 대한 정보를 입력받을 수도 있다.The information output to the outside is a music signal that is reproduced and output the recommended song extracted from the
도 11은 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 음악추천 정확도를 설명하기 위한 표이고, 도 12는 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템과 단순한 사례기반 음악추천시스템의 정확도 비교 분석결과를 나타낸다.11 is a table illustrating a music recommendation accuracy of the situation recognition case-based music recommendation system according to an embodiment of the present invention, Figure 12 is a situation recognition case-based music recommendation system and a simple case-based music according to an embodiment of the present invention It shows the result of comparative analysis of accuracy of recommendation system.
도 11 및 도 12를 참조하면, 도 11에 도시된 바와 같이 평균정확도는 전술한 C_MRS가 0.461, C2_MRS가 0.553으로서 C2_MRS가 C_MRS보다 추천 정확도면에서 평균 적으로 0.092만큼 높음을 알 수 있다. Referring to FIGS. 11 and 12, as shown in FIG. 11, the average accuracy is 0.461 and the C 2 _MRS is 0.553, and the average accuracy of C 2 _MRS is 0.092 higher than the C_MRS in terms of recommended accuracy. have.
C2_MRS가 추천하는 곡의 수가 15곡인 경우, 적게는 7.6곡, 많게는 9.2곡이 적중하여 평균 8.3곡의 추천 정확도를 보여줌을 알 수 있다.If the number of songs recommended by C 2 _MRS is 15, it can be seen that at least 7.6 songs and 9.2 songs are hit, which shows an average accuracy of 8.3 songs.
또한, 상기 두 추천시스템(C_MRS 및 C2_MRS)의 이러한 성능 차이가 통계적인 유의성을 가지는지를 확인하기 위해 Paired Sample t-Test 분석을 수행한 결과 도 12에 도시된 바와 같이, C2_MRS와 C_MRS의 추천 성능 차이가 99%의 신뢰수준 하에서 유의한 것으로 나타났으며, 이때의 t-value는 11.133으로 나타났다.In addition, as a result of performing a paired sample t-test analysis to confirm whether these performance differences between the two recommendation systems C_MRS and C 2 _MRS have statistical significance, as shown in FIG. 12, C 2 _MRS and C_MRS The difference of recommended performance was found to be significant under 99% confidence level, and the t-value was 11.133.
본 발명의 실시 예에 따른 오토메이션 시스템은 상황인식 사례기반 음악추천시스템, 외부상황정보를 수집하고, 수집된 상기 외부상황정보를 상기 사례기반 음악추천시스템으로 전송하는 외부상황 인식 장치, 추천음악을 재생할 수 있는 오디오 장치, 및 프로세서를 구비할 수 있다.The automation system according to an embodiment of the present invention is a situation-aware case-based music recommendation system, collects external situation information, and transmits the collected external situation information to the case-based music recommendation system, and reproduces the recommended music. Audio device, and a processor.
상기 프로세서는 상기 외부상황 인식 장치로부터 출력된 상기 외부상황정보를 상기 상황인식 사례기반 음악추천시스템이 수신하고, 상기 상황인식 사례기반 음악추천시스템은 수신된 상기 외부상황정보에 기초하여 상기 추천음악에 대한 정보를 상기 오디오 장치로 출력하고, 출력된 상기 추천음악에 대한 정보에 기초하여 상기 오디오 장치가 상기 추천음악을 재생하도록 제어할 수 있다.The processor receives the external situation information output from the external situation recognition device by the situation recognition case based music recommendation system, and the situation recognition case based music recommendation system receives the recommended music based on the received external situation information. Information about the recommended music may be output to the audio device, and the audio device may be controlled to play the recommended music based on the output information about the recommended music.
상기 외부상황 인식 장치는 인터넷에 연결되어 외부상황정보(예컨대, 일기정보)를 수집할 수 있는 소정의 검색로봇일 수도 있으며, 직접 외부상황정보를 인식하고 센싱할 수 있는 소정의 센서일 수도 있다.The external situation recognition apparatus may be a predetermined search robot that may be connected to the Internet and collect external situation information (eg, weather information), or may be a predetermined sensor that may directly recognize and sense external situation information.
또한, 상기 오토메이션 시스템은 상기 상황인식 사례기반 음악추천시스템이 추천하는 곡을 자동으로 재생하지 않고, 별도의 사용자 입력신호에 응답하여 상기 추천음악을 재생하도록 설정될 수도 있다.In addition, the automation system may be configured to automatically play the recommended music in response to a separate user input signal without automatically playing the music recommended by the situation recognition case-based music recommendation system.
상기 오토메이션 시스템은 사용자의 출입을 감지하는 센서를 더 구비할 수 있으며, 상기 프로세서는 상기 센서로부터 출력되는 상기 사용자의 출입감지 신호에 응답하여, 상기 사용자에 상응하는 상기 추천음악을 재생하도록 제어할 수도 있다.The automation system may further include a sensor that detects a user's entrance and exit, and the processor may control to play the recommended music corresponding to the user in response to the user's entrance detection signal output from the sensor. have.
상기 오토메이션 시스템은 사용자를 구분하여 인식할 수 있는 소정의 장치를 더 구비하는 경우에는 가정 또는 차량 등 다양한 장소에 구비될 수 있음은 물론이다.The automation system may be provided in various places such as a home or a vehicle when the apparatus further includes a predetermined device that can distinguish and recognize a user.
도 3은 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천시스템의 음악 추천방법을 설명하기 위한 플로우 챠트이다.3 is a flowchart illustrating a music recommendation method of a situation recognition case-based music recommendation system according to an exemplary embodiment of the present invention.
도 2 및 도 3을 참조하면, 본 발명의 실시 예에 따른 상기 상황인식 사례기반 음악추천시스템(100)의 상기 인텐션 모듈(131)은 현재의 외부상황정보를 상기 인터페이스 레이어(110)를 통하여 수신하고, 상기 상황 사례베이스(151)에서 추출한 상기 사용자 A의 과거상황정보 및 상기 음악청취이력 사례베이스(153)에서 추출한 상기 사용자 A의 과거상황정보에서의 음악청취 여부에 대한 정보에 기초하여 상기 사용자 A의 음악청취의향을 추론한다(S100).2 and 3, the
추론 결과, 음악청취의향이 있는 경우, 상기 추천 모듈(133)은 상기 음악청취이력 사례베이스(153)로부터 현재의 외부상황과 유사한 과거상황에서 음악을 들 은 사용자를 추출할 수 있다(S300). 추출된 정보는 유사상황 청취자 사례베이스(예컨대, CUSTOMER_AT_D)에 저장될 수 있다.As a result of inference, when there is a music listening intention, the
또한, 상기 추천 모듈(133)은 상기 유사상황 청취자 사례베이스(예컨대, CUSTOMER_AT_D)로부터 현재의 외부상황과 유사한 상황에서 음악을 청취한 사용자들 중 상기 사용자 A와 유사한 사용자들에 대한 정보를 추출할 수 있다(S400). 추출된 정보는 유사상황 유사청취자 사례베이스(예컨대, SIMILAR_CUSTOMER_AT_D)에 저장될 수 있다.In addition, the
또한, 상기 추천 모듈(133)은 상기 유사상황 유사청취자 사례베이스(예컨대, SIMILAR_CUSTOMER_AT_D)에 저장된 정보에 기초하여 상기 음악청취이력 사례베이스(153)으로부터 추천음악을 선정하고(S500), 선정된 추천음악을 상기 음악 데이터베이스(155)로부터 추출하여 외부로 출력할 수 있다.In addition, the
또한, 본 발명의 실시 예에 따른 상황인식 사례기반 음악추천 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.In addition, the situation-aware case-based music recommendation method according to an embodiment of the present invention may be implemented as computer readable codes 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, hard disks, floppy disks, optical data storage devices, and the like. Computer-readable recording media may be used in networked computer systems. Distributed, computer readable code may be stored and executed in a distributed fashion. And functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to the embodiments illustrated in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
상술한 바와 같이 본 발명에 따른 상황인식 사례기반 음악추천시스템은 단순한 사례기반추론에 의한 음악추천에 비해 추천의 정확도가 향상되는 효과가 있다.As described above, the situation-aware case-based music recommendation system according to the present invention has an effect of improving the accuracy of recommendation compared to the music recommendation by simple case-based reasoning.
또한, 본 발명에 따른 상황인식 사례기반 음악추천시스템은 사용자로부터 별도의 데이터를 입력받지 않고서도, 외부상황을 인식하여 추천의 정확도를 향상시킬 수 있는 효과가 있다.In addition, the situation-aware case-based music recommendation system according to the present invention has the effect of improving the accuracy of the recommendation by recognizing the external situation without receiving separate data from the user.
또한, 본 발명에 따른 상황인식 사례기반 음악추천시스템은 다양한 장소에서의 오토메이션 시스템으로 구현될 수 있다.In addition, the situation recognition case-based music recommendation system according to the present invention can be implemented as an automation system in various places.
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070011986A KR100955523B1 (en) | 2007-02-06 | 2007-02-06 | Method and system for case based music recommendation using context-awareness |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070011986A KR100955523B1 (en) | 2007-02-06 | 2007-02-06 | Method and system for case based music recommendation using context-awareness |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090000232A true KR20090000232A (en) | 2009-01-07 |
KR100955523B1 KR100955523B1 (en) | 2010-04-30 |
Family
ID=40483446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070011986A KR100955523B1 (en) | 2007-02-06 | 2007-02-06 | Method and system for case based music recommendation using context-awareness |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100955523B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101298160B1 (en) * | 2011-04-18 | 2013-08-20 | 성균관대학교산학협력단 | Recommendation system and method for decision making |
KR20150015061A (en) * | 2013-07-30 | 2015-02-10 | 주식회사 케이티 | Apparatus for recommending music contents and method thereof |
KR20150047803A (en) * | 2013-10-25 | 2015-05-06 | 삼성전자주식회사 | Artificial intelligence audio apparatus and operation method thereof |
US9047606B2 (en) | 2011-09-29 | 2015-06-02 | Hewlett-Packard Development Company, L.P. | Social and contextual recommendations |
US9275542B2 (en) | 2010-07-30 | 2016-03-01 | Hewlett Packard Enterprise Development Lp | Location-indexed audio content |
KR101715070B1 (en) * | 2015-12-21 | 2017-03-13 | 미디어스코프 주식회사 | System and method for providong digital sound transmission based music radio service |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015129989A1 (en) * | 2014-02-26 | 2015-09-03 | 에스케이플래닛 주식회사 | Device and method for recommending content and sound source |
KR20200118587A (en) | 2019-04-08 | 2020-10-16 | 성균관대학교산학협력단 | Music recommendation system using intrinsic information of music |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES1019801Y (en) * | 1991-12-31 | 1993-01-01 | Llistosella Vidal Francisco J. | PART FOR COATING FLOORS AND WALLS. |
US7412202B2 (en) * | 2001-04-03 | 2008-08-12 | Koninklijke Philips Electronics N.V. | Method and apparatus for generating recommendations based on user preferences and environmental characteristics |
KR20060003257A (en) * | 2004-07-05 | 2006-01-10 | 주식회사 소디프 이앤티 | Music sorting recommendation service system and music sorting recommendation service method |
KR100781399B1 (en) * | 2005-07-26 | 2007-11-30 | 연세대학교 산학협력단 | Apparatus and method for providing weights to recommendation engines according to situation of user and computer readable medium processing the method |
-
2007
- 2007-02-06 KR KR1020070011986A patent/KR100955523B1/en not_active IP Right Cessation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9275542B2 (en) | 2010-07-30 | 2016-03-01 | Hewlett Packard Enterprise Development Lp | Location-indexed audio content |
KR101298160B1 (en) * | 2011-04-18 | 2013-08-20 | 성균관대학교산학협력단 | Recommendation system and method for decision making |
US9047606B2 (en) | 2011-09-29 | 2015-06-02 | Hewlett-Packard Development Company, L.P. | Social and contextual recommendations |
KR20150015061A (en) * | 2013-07-30 | 2015-02-10 | 주식회사 케이티 | Apparatus for recommending music contents and method thereof |
KR20150047803A (en) * | 2013-10-25 | 2015-05-06 | 삼성전자주식회사 | Artificial intelligence audio apparatus and operation method thereof |
US10924606B2 (en) | 2013-10-25 | 2021-02-16 | Samsung Electronics Co., Ltd. | Artificial intelligence audio apparatus and operation method thereof |
KR101715070B1 (en) * | 2015-12-21 | 2017-03-13 | 미디어스코프 주식회사 | System and method for providong digital sound transmission based music radio service |
Also Published As
Publication number | Publication date |
---|---|
KR100955523B1 (en) | 2010-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868391B2 (en) | User-specific media playlists | |
US20210004682A1 (en) | Adapting a sequence model for use in predicting future device interactions with a computing system | |
KR100955523B1 (en) | Method and system for case based music recommendation using context-awareness | |
US10055411B2 (en) | Music recommendation engine | |
Aggarwal et al. | Content-based recommender systems | |
CN102708131B (en) | By consumer's automatic classification in fine point | |
EP1835419A1 (en) | Information processing device, method, and program | |
CN102737333B (en) | For calculating user and the offer order engine to the coupling of small segmentation | |
US9176969B2 (en) | Integrating and extracting topics from content of heterogeneous sources | |
CN101452480A (en) | Information processing apparatus, information processing method, and information processing program | |
KR101102823B1 (en) | Method and system for case based music recommendation using context reasoning and user's mood | |
Zafra et al. | Multiple instance learning with multiple objective genetic programming for web mining | |
US20150120634A1 (en) | Information processing device, information processing method, and program | |
CN111309994A (en) | User matching method and device, electronic equipment and readable storage medium | |
Kilani et al. | Using artificial intelligence techniques in collaborative filtering recommender systems: Survey | |
Röchert et al. | Identifying political sentiments on YouTube: a systematic comparison regarding the accuracy of recurrent neural network and machine learning models | |
Meng et al. | Variational Bayesian representation learning for grocery recommendation | |
Bahrani et al. | A new improved KNN-based recommender system | |
Al Fahoum et al. | Accurate Machine Learning Predictions of Sci-Fi Film Performance. | |
JP7198591B2 (en) | Apparatus, method and program for analyzing customer attribute information | |
Fernandes de Araújo et al. | Leveraging active learning to reduce human effort in the generation of ground‐truth for entity resolution | |
Ebadi Jokandan et al. | Targeted advertising in social media platforms using hybrid convolutional learning method besides efficient feature weights | |
Park et al. | A stable model for maximizing the number of significant features | |
Karlsson et al. | Early random shapelet forest | |
Hu et al. | FROST: Fallback voice apps recommendation for unhandled voice commands in intelligent personal assistants |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment | ||
FPAY | Annual fee payment |
Payment date: 20160325 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170405 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20180411 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |