KR20080089545A - 정보 처리 장치 및 방법, 및 프로그램 - Google Patents
정보 처리 장치 및 방법, 및 프로그램 Download PDFInfo
- Publication number
- KR20080089545A KR20080089545A KR1020077020329A KR20077020329A KR20080089545A KR 20080089545 A KR20080089545 A KR 20080089545A KR 1020077020329 A KR1020077020329 A KR 1020077020329A KR 20077020329 A KR20077020329 A KR 20077020329A KR 20080089545 A KR20080089545 A KR 20080089545A
- Authority
- KR
- South Korea
- Prior art keywords
- subcluster
- cluster
- mood
- item
- learning
- Prior art date
Links
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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- 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
- G06F16/637—Administration of user profiles, e.g. generation, initialization, adaptation or distribution
-
- 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
-
- 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
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/075—Musical metadata derived from musical analysis or for use in electrophonic musical instruments
- G10H2240/085—Mood, i.e. generation, detection or selection of a particular emotional content or atmosphere in a musical piece
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/121—Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
- G10H2240/131—Library retrieval, i.e. searching a database or selecting a specific musical piece, segment, pattern, rule or parameter set
- G10H2240/135—Library retrieval index, i.e. using an indexing scheme to efficiently retrieve a music piece
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Acoustics & Sound (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
유저의 기분(무드)에 적합한 아이템을 제공할 수 있는 정보 처리 장치 및 방법, 및 프로그램에 관한 것이다. 유저 데이터 취득부(72)는, 유저가, 소정의 무드에 해당하는 아이템인지의 여부를 판단한 결과를 취득한다. 비해당 필터 생성부(74)는, 모든 유저가, 소정의 무드에 해당하지 않는다고 판단한 아이템의 특징량을, 특징량 해석부(73)로부터 취득한다. 비해당 필터 생성부(74)는, 취득한 복수의 아이템의 특징량을 해석함으로써, 소정의 무드에 해당하지 않는 아이템의 특징량을 추출한다. 비해당 필터 생성부(74)에 의해 생성된 비해당 필터는, 소정의 아이템이, 소정의 무드에 해당하는 아이템인지의 여부를 판단할 때에 이용된다. 본 발명은, 아이템을 추천하고, 제공하는 서버 등에 적용할 수 있다.
네트워크, 서버, CPU, ROM, RAM, 리무버블 미디어, 클러스터 학습부, 클러스터링부
Description
본 발명은 정보 처리 장치 및 방법, 및 프로그램에 관한 것으로, 특히, 유저의 감정에 적합한 정보를 제공할 수 있도록 한 정보 처리 장치 및 방법, 및 프로그램에 관한 것이다.
종래, 고객의 기호에 기초하여 텔레비전 프로그램, 악곡 등의 콘텐츠를 검색하여 추천(소위, 콘텐츠 퍼스널라이제이션)하기 위한 발명이 제안되어 있다(예를 들면, 특허 문헌 1 참조). 콘텐츠 퍼스널라이제이션에는, 협조 필터링(CF)이라고 칭하는 방법이나 콘텐트 베이스트 필터링(CBF)이라고 칭해지는 방법이 널리 사용되고 있다.
또한, 유저의 감정에 맞춘 곡이, 유저에게 제공되는 서비스도 제안되어 있다. 예를 들면, 유저가 즐거울 때에 듣고자 하는 곡을 리퀘스트하면, 그 리퀘스트에 따라서, 즐겁다고 판단되는 곡이 선국되며, 유저에게 제공되는 구조가 제안되어 있다.
특허 문헌 1: 일본 특개 2004-194107호 공보
<발명의 개시>
<발명이 해결하고자 하는 과제>
유저의 감정(무드)에 맞는 곡을 제공하는 경우, 미리 제공하는 곡에 대하여, 어떠한 무드일 때에 제공하는 곡인가라고 하는 정보를 부여해 둘 필요가 있다. 그러한 정보의 부여는, 전속인 사람에 의해 부여되거나, 네트워크 등을 통하여 볼런티어인 사람에 의해 부여되거나 한다.
사람의 손에 의해 부여되고 있기 때문에, 정보를 부여하기 위해 소요되는 코스트가 높아지게 되고, 시간이 걸리게 되는 등의 문제가 있었다. 또한, 볼런티어 등, 전속인 사람 이외에 의존하여 정보가 부가되는 경우, 볼런티어인 사람들이 정확한 정보의 부여를 반드시 행한다고는 할 수 없으며, 그 때문에, 정밀도가 저하하게 된다고 하는 경우도 있었다.
사람의 손을 거치지 않고 정보가 부여(프로그램이나 전용의 장치 등에 의해 부여)되도록 한 경우, 곡의 특징이 해석되고, 그 해석 결과에 따라서 정보가 부여된다. 그러나, 사람에 따라 서로 다른 이미지를 적절하게 기술하는 것은 어려우며, 최대 공약수적인 정보밖에 부여할 수 없었다. 상기한 바와 같은 문제는, 곡에 대하여 정보를 부가하는 경우 뿐만 아니라, 어떤 아이템에 대하여 정보를 부가하는 경우에도 마찬가지로 발생할 수 있는 것이다.
본 발명은, 이와 같은 상황을 감안하여 이루어진 것으로, 보다 적절하게 무드에 맞는 정보를 제공할 수 있도록 하는 것이다.
<과제를 해결하기 위한 수단>
본 발명의 일 측면의 정보 처리 장치는, 소정의 아이템이, 소정의 무드에 해당하는지의 여부를 나타내는 정보를 취득하는 취득 수단과, 상기 취득 수단에 의해 취득된 상기 정보를 해석하고, 소정의 무드에 해당하지 않는다고 판단되는 아이템의 특징량을 추출하는 추출 수단과, 상기 취득 수단에 의해 취득된 상기 정보를 해석하고, 상기 무드에 대응하는 클러스터와 그 클러스터에 대응하는 복수의 서브클러스터를 학습하는 제1 학습 수단과, 상기 제1 학습 수단에 의해 학습된 상기 클러스터와 서브클러스터가 부여된 상기 아이템을 이용하여, 상기 무드마다의 특징을 학습하는 제2 학습 수단과, 클러스터가 부여되어 있지 않은 아이템의 특징량이, 상기 추출 수단에 의해 추출된 상기 특징량과 일치하는지의 여부를 판단하는 판단 수단과, 상기 판단 수단에 의해, 일치하지 않는다고 판단된 상기 아이템에 대하여, 상기 제2 학습 수단에 의해 학습된 상기 특징에 기초하여, 클러스터와 서브클러스터를 부여하는 부여 수단을 구비한다.
상기 취득 수단에 의해 취득되는 정보는, 상기 유저에 대하여 실시된 앙케이트의 결과에 관한 정보이도록 할 수 있다.
상기 제1 학습 수단은, 상기 취득 수단에 의해 취득된 정보를 다변량 해석함으로써 수차원의 데이터로 수량화하고, 수차원의 데이터로 수량화된 상기 정보를 클러스터링함으로써 클러스터를 학습하도록 할 수 있다.
상기 제1 학습 수단은, 상기 추출 수단에 의해 특징량이 추출되는 대상으로 되지 않는 상기 아이템의 특징량을 다변량 해석함으로써 수차원의 데이터로 수량화하고, 수차원의 데이터로 수량화된 상기 특징량을 클러스터링함으로써 클러스터를 학습하도록 할 수 있다.
상기 제1 학습 수단은, 상기 서브클러스터를 재편집하는 재편집 수단을 구비하며, 상기 재편집 수단은, 소정의 서브클러스터에 포함되는 아이템수가, 소정의 임계값 이하인 경우, 그 서브클러스터를 삭제하도록 해도 된다.
상기 재편집 수단은, 소정의 서브클러스터에 포함되는 아이템수가, 소정의 임계값 이하이며, 또한, 상기 소정의 서브클러스터에 포함되는 아이템 중, 소정의 무드에 해당한다고 판단된 아이템수의 비율에 의해 산출되는 값이, 소정의 임계값 이상인 경우, 상기 소정의 서브클러스터를, 다른 서브클러스터에 병합하도록 해도 된다.
상기 제1 학습 수단에서, 상기 서브클러스터가 학습될 때에 이용되는 복수의 클러스터링 방법으로부터 1개의 방법을 선택하는 선택 수단을 더 구비하며, 상기 선택 수단은, 상기 복수의 클러스터링 방법의 각각에서 클러스터링을 행한 결과에 기초하여, 상기 서브클러스터가 가장 분산되어 있는 방법을 선택하도록 해도 된다.
무드에 관한 정보를, 그 정보가 나타내는 무드에 관련지어져 있는 클러스터로 변환하는 변환 수단과, 상기 변환 수단에 의해 변환된 상기 클러스터가 할당되어 있는 아이템을 추천하는 추천 수단을 더 구비하며, 상기 추천 수단에 의해 추천된 제1 아이템 이외의 제2 아이템의 추천이 지시된 경우, 상기 제1 아이템의 서브클러스터와 서로 다른 서브클러스터가 부여된 상기 제2 아이템을 추천하도록 할 수 있다.
본 발명의 일측면의 정보 처리 방법은, 소정의 아이템이, 소정의 무드에 해당하는지의 여부를 나타내는 정보를 취득하는 취득 스텝과, 상기 취득 스텝의 처리에서 취득된 상기 정보를 해석하고, 소정의 무드에 해당하지 않는다고 판단되는 아이템의 특징량을 추출하는 추출 스텝과, 상기 취득 스텝의 처리에서 취득된 상기 정보를 해석하고, 상기 무드에 대응하는 클러스터와 그 클러스터에 대응하는 복수의 서브클러스터를 학습하는 제1 학습 스텝과, 상기 제1 학습 스텝의 처리에서 학습된 상기 클러스터와 서브클러스터가 부여된 상기 아이템을 이용하여, 상기 무드마다의 특징을 학습하는 제2 학습 스텝과, 클러스터가 부여되어 있지 않은 아이템의 특징량이, 상기 추출 스텝의 처리에서 추출된 상기 특징량과 일치하는지의 여부를 판단하는 판단 스텝과, 상기 판단 스텝의 처리에서 일치하지 않는다고 판단된 상기 아이템에 대하여, 상기 제2 학습 스텝의 처리에서 학습된 상기 특징에 기초하여, 클러스터와 서브클러스터를 부여하는 부여 스텝을 포함한다.
본 발명의 일측면의 프로그램은, 소정의 아이템이, 소정의 무드에 해당하는지의 여부를 나타내는 정보를 취득하는 취득 스텝과, 상기 취득 스텝의 처리에서 취득된 상기 정보를 해석하고, 소정의 무드에 해당하지 않는다고 판단되는 아이템의 특징량을 추출하는 추출 스텝과, 상기 취득 스텝의 처리에서 취득된 상기 정보를 해석하고, 상기 무드에 대응하는 클러스터와 그 클러스터에 대응하는 복수의 서브클러스터를 학습하는 제1 학습 스텝과, 상기 제1 학습 스텝의 처리에서 학습된 상기 클러스터와 서브클러스터가 부여된 상기 아이템을 이용하여, 상기 무드마다의 특징을 학습하는 제2 학습 스텝과, 클러스터가 부여되어 있지 않은 아이템의 특징량이, 상기 추출 스텝의 처리에서 추출된 상기 특징량과 일치하는지의 여부를 판단하는 판단 스텝과, 상기 판단 스텝의 처리에서 일치하지 않는다고 판단된 상기 아이템에 대하여, 상기 제2 학습 스텝의 처리에서 학습된 상기 특징에 기초하여, 클러스터와 서브클러스터를 부여하는 부여 스텝을 포함하는 처리를 컴퓨터에 실행시킨다.
본 발명의 일측면의 정보 처리 장치 및 방법, 및 프로그램에서는, 유저가 느끼는 기분이나 감정에 따라서, 아이템이 분류된다. 분류된 결과가 이용되며, 또한, 분류되어 있지 않은 아이템의 분류가 행하여진다. 또한, 유저의 기분이나 감정에 해당하는 아이템이, 분류 결과에 기초하여, 유저에게 제공된다.
<발명의 효과>
본 발명의 일측면에 따르면, 무드에 적합한 아이템을 유저에게 제공하는 것이 가능하게 된다.
도 1은 본 발명을 적용한 시스템의 일 실시예의 구성을 도시하는 도면.
도 2는 서버의 구성예를 도시하는 도면.
도 3은 서버의 기능을 도시하는 도면.
도 4는 클러스터 학습부의 구성예를 도시하는 도면.
도 5는 클러스터 학습부의 다른 구성예를 도시하는 도면.
도 6은 클러스터 부여 학습부의 구성예를 도시하는 도면.
도 7은 추천부의 구성예를 도시하는 도면.
도 8은 앙케이트 관리 테이블에 대하여 설명하는 도면.
도 9는 메타 데이터에 대하여 설명하는 도면.
도 10은 수량화 관리 테이블에 대하여 설명하는 도면.
도 11은 클러스터의 학습에 대하여 설명하는 플로우차트.
도 12는 비해당 필터 생성 처리에 대하여 설명하는 플로우차트.
도 13은 서브클러스터의 설정에 대하여 설명하는 도면.
도 14는 서브클러스터의 설정에 대하여 설명하는 도면.
도 15는 클러스터의 다른 학습에 대하여 설명하는 플로우차트.
도 16은 서브클러스터의 다른 학습에 대하여 설명하는 플로우차트.
도 17은 서브클러스터의 분포에 대하여 설명하는 도면.
도 18은 지지율의 산출에 이용되는 정보에 대하여 설명하는 도면.
도 19는 지지율의 산출에 이용되는 정보에 대하여 설명하는 도면.
도 20은 재편집된 서브클러스터의 분포에 대하여 설명하는 도면.
도 21은 서브클러스터의 재편집에 관한 클러스터링부(76)의 기능 블록도.
도 22는 재서브클러스터의 설정 처리에 대하여 설명하는 플로우차트.
도 23은 클러스터링의 방법의 선택에 이용되는 정보에 대하여 설명하는 도면.
도 24는 방법마다의 지지율에 대하여 설명하기 위한 도면.
도 25는 클러스터 부여 처리에 대하여 설명하는 플로우차트.
도 26은 클러스터 변환 테이블에 대하여 설명하는 도면.
도 27은 클러스터의 판단에 대하여 설명하는 플로우차트.
<도면의 주요 부분에 대한 부호의 설명>
1 : 네트워크
2 : 서버
3 : 단말기
2 : CPU
22 : ROM
23 : RAM
28 : 기억부
31 : 리무버블 미디어
51 : 학습부
52 : 클러스터 학습부
53 : 클러스터 부여 학습부
54 : 데이터베이스
55 : 추천부
71 : 악곡 데이터 취득부
72 : 유저 데이터 취득부
73 : 특징량 해석부
74 : 비해당 필터 생성부
75 : 다변량 해석부
76 : 클러스터링부
81 : 메타 데이터 해석부
111 : 메타 데이터 취득부
112 : 특징 분석부
113 : 비해당 필터
114 : 아이템 메타 데이터 취득부
115 : 클러스터 결정부
116 : 추가부
141 : 무드 정보 취득부
142 : 무드 클러스터 변환부
143 : 추천 정보 생성부
201 : 아이템수 판단부
202 : 처리 대상 판단부
203 : 지지율 산출부
204 : 병합 대상 판단부
205 : 병합처 결정부
206 : 재서브클러스터 설정부
<발명을 실시하기 위한 최량의 형태>
이하에, 본 발명의 실시 형태에 대하여 도면을 참조하여 설명한다.
[시스템의 구성에 대하여]
도 1은, 본 발명을 적용한 시스템의 일 실시예의 구성을 도시하는 도면이다. 네트워크(1)에는, 서버(2), 단말기(3-1 내지 3-N)가 접속되어 있다. 도 1에 도시한 시스템은, 소정의 정보(예를 들면, 곡, 방송 프로그램, 상품 등의 아이템)를, 유저에게 추천하는 시스템이다. 또한, 추천하기 위한 정보를 생성하기 위한 해석 등도 행하여진다. 네트워크(1)는, 인터넷이나 LAN(Local Area Network) 등으로 구성된다.
서버(2)는, 추천하는 정보를 축적하거나, 추천하기 위한 정보를 생성하거나 한다. 단말기(3-1 내지 3-N)는, 유저측의 단말기이다. 예를 들면, 단말기(3-1)에 의해 유저가, 소정의 아이템을 구입, 시청하거나 하는 경우에 조작되는 단말기이다. 또한, 아이템은, 서버(2)로부터 네트워크(1)를 통하여 공급된다.
이하의 설명에서, 단말기(3-1 내지 3-N)를 개개로 구별할 필요가 없는 경우, 간단히, 단말기(3)라고 기술한다. 또한, 도 1에서는, 서버(2)를 1개밖에 기재하고 있지 않지만, 복수 설치하는 것도, 물론 가능하다.
[서버의 구성 및 동작에 대하여]
도 2는, 서버(2)의 내부 구성예를 도시하는 도면이다. CPU(Central Processing Unit)(21)은, ROM(Read Only Memory)(22), 또는 기억부(28)에 기억되어 있는 프로그램에 따라서 각종 처리를 실행한다. RAM(Random Access Memory)(23)에는, CPU(21)가 실행하는 프로그램이나 데이터 등이 적절히 기억된다. 이들 CPU(21), ROM(22), 및 RAM(23)은, 버스(24)에 의해 상호 접속되어 있다.
CPU(21)에는 또한, 버스(24)를 통하여 입출력 인터페이스(25)가 접속되어 있 다. 입출력 인터페이스(25)에는, 키보드, 마우스, 마이크로폰 등으로 이루어지는 입력부(26), 디스플레이, 스피커 등으로 이루어지는 출력부(207)가 접속되어 있다. CPU(21)는, 입력부(26)로부터 입력되는 명령에 대응하여 각종 처리를 실행한다. 그리고, CPU(21)는, 처리의 결과를 출력부(27)에 출력한다.
입출력 인터페이스(25)에 접속되어 있는 기억부(28)는, 예를 들면 하드디스크로 이루어지며, CPU(21)가 실행하는 프로그램이나 각종 데이터를 기억한다. 통신부(29)는, 네트워크(1)를 통하여 외부의 장치(예를 들면, 단말기(3))와 통신한다. 또한, 통신부(29)를 통하여 프로그램을 취득하고, 기억부(28)에 기억해도 된다.
입출력 인터페이스(25)에 접속되어 있는 드라이브(30)는, 자기 디스크, 광 디스크, 광 자기 디스크, 혹은 반도체 메모리 등의 리무버블 미디어(31)가 장착되었을 때, 그들을 구동하고, 거기에 기록되어 있는 프로그램이나 데이터 등을 취득한다. 취득된 프로그램이나 데이터는, 필요에 따라서 기억부(28)에 전송되고, 기억된다.
단말기(3)는, 기본적으로 서버(2)와 마찬가지의 구성으로 구성할 수 있으므로, 여기서는, 그 설명을 생략한다.
도 3은, 서버(2)의 기능에 대하여 설명하기 위한 도면이다. 서버(2)는, 유저에게 추천하기 위한 아이템의 데이터(이하, 메타 데이터라고 칭함)를 분류하기 위한 데이터를 학습하거나, 학습된 데이터로부터 신규의 데이터를 분류하기 위한 학습을 하거나 하기 위한 학습부(51)를 구비한다. 학습부(51)는, 클러스터 학습 부(52)와 클래스 부여 학습부(53)를 포함하는 구성으로 되어 있다.
클러스터 학습부(52)는, 메타 데이터를 분류하기 위한 데이터(클러스터)를 학습하기 위한 기능이다. 클래스 부여 학습부(53)는, 클러스터를 새로운 정보(이하, 적절하게, 아이템이라고 칭함)의 메타 데이터에 부여하기 위한 학습을 행하는 기능이다. 또한, 이하의 본 명세서에서, 아이템이란, 곡, 방송 프로그램, 프로그램 등의 데이터로서 유저에게 제공되는 것이나, 가전제품 등의 물체로서 유저에게 제공되는 것의 정보(이 경우, 메타 데이터에 기재되어 있는 정보나, 메타 데이터에 관련지어져 있는 다른 정보)가 부가되는 대상으로 되는 것으로서의 의미를 갖는 것으로 한다.
서버(2)는, 메타 데이터 등의 데이터를 기억하는 데이터베이스(54)를 구비한다. 또한, 서버(2)는, 데이터베이스(54)에 기억되어 있는 메타 데이터를 참조하여, 유저에게 적합한 정보를 추천하기 위한 처리를 실행하는 추천부(55)를 구비한다.
이하의 설명에서는, 아이템으로서 곡이 제공되는 경우를 예로 들어 설명한다. 따라서, 메타 데이터도, 곡에 관한 데이터인 경우를 예로 들어 설명한다.
도 4는, 클러스터 학습부(52)의 구성예를 도시하는 도면이다. 클러스터 학습부(52)는, 악곡 데이터 취득부(71), 유저 데이터 취득부(72), 특징량 해석부(73), 비해당 필터 생성부(74), 다변량 해석부(75), 및, 클러스터링부(76)를 포함하는 구성으로 되어 있다.
악곡 데이터 취득부(71)는, 유저측(단말기(3))에 제공하는 곡의 데이터(곡 그 자체의 데이터)를 취득한다. 유저 데이터 취득부(72)는, 유저로부터의 정보(후술하는 바와 같이, 앙케이트 결과의 정보)를 취득한다. 특징량 해석부(73)는, 악곡 데이터 취득부(71)에 의해 취득된 악곡 데이터를 해석하고, 그 곡의 특징량(예를 들면, 스피드나 템포 등)을 추출하고, 곡의 정보를 생성한다.
후술하는 바와 같이, 곡의 메타 데이터에는, 클러스터라고 하는 정보가 부여된다. 그 클러스터는, 무드(Mood, 유저의 감정, 기분)에 따라서 부여되는 식별자로서의 역할을 갖는 정보이다. 후술하는 바와 같이, 비해당 필터 생성부(74)는, 클러스터가 부여되어 있지 않은 곡의 메타 데이터에 대하여 부여될 때, 부여하는 클러스터의 대상으로는 되지 않는 메타 데이터를 배제하기 위한 필터를 생성한다.
비해당 필터 생성부(74)는, 특징량 해석부(73)로부터 공급되는 곡의 데이터(특징량)와, 유저 데이터 취득부(72)로부터 취득되는 유저로부터의 데이터를 이용하여, 비해당 필터를 생성한다. 생성된 비해당 필터에 관한 정보는, 데이터베이스(54)(도 3)에 공급되고, 기억된다.
다변량 해석부(75)는, 유저 데이터 취득부(72)로부터, 공급되는 유저로부터의 데이터(정보)를 수치화한다. 그리고, 클러스터링부(76)는, 수치화된 정보를 클러스터마다 분류한다(클러스터를 생성함).
또한 후술하는 바와 같이, 클러스터는, 무드를 식별하기 위한 클러스터와, 동일한 클러스터 내에서(동일한 무드에서), 세밀한 분류를 행하기 위한 서브클래스가 있다. 클러스터링부(76)는, 이와 같은 클러스터와 서브클러스터를 생성한다.
클러스터 학습부(52)는, 상기한 바와 같은 구성에 의해, 비해당 필터를 생성 함과 함께, 클러스터를 생성하고, 처리 대상으로 된 메타 데이터에 부여한다(즉 클러스터링함). 클러스터 부여 학습부(53)는, 클러스터 학습부(52)에 의한 클러스터링의 결과를 이용하여, 신규로 추가되는 정보가, 어느 클러스터에 속하는지를 판단하고, 클러스터를 부여한다.
도 5는, 클러스터 학습부(52)의 다른 구성예를 도시하는 도면이다. 도 4에 도시한 클러스터 학습부(52)와 비교하기 위해, 도 5에 도시한 클러스터 학습부(52')(도 4에 도시한 클러스터 학습부(52)와 구별을 하기 위해, 대시(')를 붙여서 기술함)는, 클러스터 학습부(52)에, 메타 데이터 해석부(81)를 추가한 구성으로 되어 있다.
또한, 도 5에 도시한 클러스터 학습부(52')의 메타 데이터 해석부(81)에는, 비해당 필터 생성부(74)에 의해, 비해당이 아니라고 판단된 곡의 정보가 비해당 필터 생성부(74)로부터 공급되고, 그 곡에 대응하는 특징량이, 특징량 해석부(73)로부터 공급되는 구성으로 되어 있다. 또한, 메타 데이터 해석부(81)에 의한 해석 결과는, 다변량 해석부(75)에 공급되는 구성으로 되어 있다.
도 4에 도시한 클러스터 학습부(52)는, 클러스터를, 유저로부터의 데이터(정보)에 기초하여 생성하고, 클러스터링의 처리를 실행하지만, 도 5에 도시한 클러스터 학습부(52')는, 클러스터를, 악곡 데이터로부터 생성하고, 클러스터링의 처리를 실행한다. 클러스터 학습부(52) 및 클러스터 학습부(52')가, 각각 행하는 클러스터의 학습의 처리에 대해서는, 플로우차트를 참조하여 후술한다.
도 6은, 클러스터 부여 학습부(53)의 구성예를 도시하는 도면이다. 클러스 터 부여 학습부(53)는, 메타 데이터 취득부(111), 특징 분석부(112), 비해당 필터(113), 아이템 메타 데이터 취득부(114), 클러스터 결정부(115), 및, 추가부(116)로 구성되어 있다.
메타 데이터 취득부(111)는, 클러스터 학습부(52)(또는 클러스터 학습부(52'))에 의한 학습에 이용된 아이템의 메타 데이터(클러스터가 부여되어 있는 메타 데이터)를 취득한다. 특징 분석부(112)는, 취득된 아이템의 메타 데이터로부터, 그 아이템(메타 데이터)의 특징을 추출한다. 추출된 특징량은, 비해당 필터(113)에 공급된다. 비해당 필터(113)에는, 아이템 메타 데이터 취득부(114)로부터의 정보도 공급된다.
아이템 메타 데이터 취득부(114)는, 클러스터를 할당하는 아이템의 메타 데이터(클러스터가 부여되어 있지 않은 메타 데이터)를 취득한다. 비해당 필터(113)는, 아이템 메타 데이터 취득부(114)로부터 공급되는 메타 데이터가, 클러스터를 부여하는 대상으로 되는 메타 데이터인지의 여부를 판단한다(필터링함). 필터링의 결과, 비해당 필터(113)로부터 출력되는 메타 데이터는, 클러스터를 부여하는 메타 데이터이다.
비해당 필터(113)로부터 출력된 메타 데이터는, 클러스터 결정부(115)에 공급된다. 클러스터 결정부(115)는, 비해당 필터(113)로부터 공급되는 소정의 아이템의 메타 데이터를 참조하며, 그 참조한 메타 데이터의 특징과, 특징 분석부(112)로부터 공급되는 특징을 매칭하고, 클러스터를 판별한다. 판별된 클러스터는, 처리 대상으로 되어 있는 아이템의 메타 데이터에 추가된다. 클러스터가 부여된 메 타 데이터는, 추가부(116)에 의해, 데이터베이스(54)에 추가 기억된다.
이와 같이 하여, 클러스터가 부여된 메타 데이터를 이용하여, 추천부(55)는, 유저에 대하여, 유저에게 적합한 정보(이 경우, 특히, 유저의 감정(무드)에 적합한 정보)를 추천하기 위한 처리를 실행한다.
도 7은, 추천부(55)의 구성예를 도시하는 도면이다. 추천부(55)는, 무드 정보 취득부(141), 무드 클러스터 변환부(142), 및, 추천 정보 생성부(143)를 포함하는 구성으로 되어 있다. 무드 정보 취득부(141)는, 유저가 지시한 무드에 관한 정보(이하, 적절하게 무드 정보라고 기술함)를 취득한다. 무드 정보란, 예를 들면, "슬프다", "즐겁다"와 같은 감정에 관한 정보이다.
무드 정보 취득부(141)에 의해 취득된 무드에 관한 정보는, 무드 클러스터 변환부(142)에 공급된다. 무드 클러스터 변환부(142)는, 무드 정보 취득부(141)로부터의 무드 정보를 클러스터의 정보로 변환하고, 추천 정보 생성부(143)에 공급한다. 추천 정보 생성부(143)는, 공급된 클러스터에 대응하는 아이템을, 데이터베이스(54)로부터 읽어내고, 유저측에 제공한다.
이와 같은 각 부가 처리를 행할 때에 이용되는 메타 데이터 등의 데이터에 대하여 설명한다. 데이터는, 데이터베이스(54)(도 3)에 기억되어 있다. 도 8 내지 도 10은, 데이터베이스(54)에 기억되어 있는 데이터를 도시하는 도면이다.
데이터베이스(54)에는, 도 8에 도시한 유저로부터의 앙케이트를 집계한 결과를 관리하는 앙케이트 관리 테이블(171), 도 9에 도시한 아이템의 메타 데이터(172), 및 도 10에 도시한 아이템마다의 수량화된 수치를 관리하는 수량화 관리 테이블(173)이 기억되어 있다.
도 8에 도시한 앙케이트 관리 테이블(171)은, 유저에 대하여 실시한 앙케이트의 결과가 기입되어 있다. 앙케이트는, 예를 들면, 유저에 대하여 네트 상에서 행하여지거나, 종이 매체로 행하여지거나 한다. 앙케이트의 내용으로서는, 예를 들면, 도 8에 도시한 예에서는, 임의의 곡에 대하여, 그 곡이 "슬픈" 곡으로 분류될 지의 여부와 같은 내용이다.
바꾸어 말하면, 어떠한 무드(감정, 기분)일 때에, 어떠한 곡을 듣고 싶은가와 같은 정보를 취득하기 위한 앙케이트가 행하여진다.
도 8에 도시한 앙케이트 관리 테이블(171)에는, 예를 들면, "곡1"에 대하여, "유저 A"는 "○(슬픈 곡이다)"라고 대답하고, "유저 B"는 "○(슬픈 곡이다)"라고 대답하며, "유저 C"는 무표시(○가 기재되어 있지 않은 상태, (슬픈 곡이 아니다))로 답하고 있는 것이 기재되어 있다.
이와 같은 앙케이트는, 소정수의 유저에 대하여, 소정수의 곡에 대하여 행하여진다. 예를 들면, 100명의 유저에게 100곡에 대하여, 슬픈 곡인지, 슬프지 않은 곡인지와 같은 앙케이트가 행하여지고, 그 결과가, 앙케이트 관리 테이블(171)에 기입된다. 또한, "슬프다" 이외의 감정(무드)에 대해서도, 마찬가지의 앙케이트가 행하여지고, 정보가 취득된다.
또한, 유저측에의 앙케이트는, 간단히, "슬픈 곡인가", "슬프지 않은 곡인가"를 묻는, 양자 택일의 앙케이트이어도 되고, "보통"과 같은 선택지도 포함되는 앙케이트라도 되며, 나아가서는, "굉장히 슬프다"와 같은 선택지도 포함되는 앙케 이트라도 된다. 즉, 앙케이트에서의 선택지의 수에 제한은 없으며, 실시된 앙케이트에 따른 앙케이트 관리 테이블(171)이 작성된다.
또한, 동일한 감정에 대하여, 복수의 앙케이트를 채용하도록 해도 된다. 예를 들면, "슬프다"라고 하는 감정에 대하여 "매우 슬프다", "비탄"과 같은 유사한 감정에 대해서도 앙케이트를 채용하도록 해도 된다.
이와 같이, 앙케이트 관리 테이블(171)은, 유저에 대하여 행하여진 앙케이트의 결과가 기재되고, 관리되는 테이블이다.
도 9는, 곡의 메타 데이터이다. 도 9에 도시한 메타 데이터(172)는, 아이템이 곡이며, 그 곡에 관한 정보가 기재되어 있는 데이터이다. 도 9에 도시한 메타 데이터(172)에는, 아이템 NO, 장르, 아티스트, 템포, 하모니, 클러스터, 및, 서브클러스터와 같은 항목이 설정되고, 각각의 항목에 대응하는 정보가 관련지어져 관리되고 있다.
예를 들면, 아이템 ID가 "I-001"인 장르는 "Rock"이고, 아티스트는 "ABC"이며, 템포가 "24"이며, 하모니가 "A"이고, 클러스터가 "1"이며, 서브클러스터가 "1"인 것이 관련지어져 기재되어 있다.
아이템 NO, 장르, 아티스트와 같은 정보는, 사람의 손에 의해 메타 데이터(172)에 기입되고, 템포나 하모니와 같은 정보는, 곡을 해석함으로써, 사람의 손에 의하지 않고 기입되도록 해도 된다. 또한, 클러스터나 서브클러스터는, 후술하는 클러스터의 학습 처리나 부여 처리 시에 부가되는 정보이다.
도 8에 도시한 앙케이트 관리 테이블(171), 또는, 도 9에 도시한 메타 데이 터(172)로부터, 도 10에 도시한 바와 같은 수량화 관리 테이블(173)이 작성된다. 수량화 관리 테이블(173)은, 예를 들면, 도 8에 도시한 바와 같은 소정의 패턴(도 8에서는, 임의의 유저가 "슬픈 곡"으로 설정한 곡의 패턴)이 얻어지는 정보로부터 작성된다.
도 9에 도시한 메타 데이터(172)로부터 수량화 관리 테이블(173)이 작성되는 경우, 예를 들면, "슬픈 곡"으로 분류된 복수의 곡의 메타 데이터(172)를 해석하고, 그 해석 결과로부터, 소정의 패턴(예를 들면, 스피드의 분포 등을 해석하고 패턴을 추출함)을 생성하고, 그 패턴이 이용되어 수량화 관리 테이블(173)이 작성된다.
수량화 관리 테이블(173)에는, 곡마다, 차원마다의 값이 기재되어 있다. 즉, 수량화 관리 테이블(173)에는, 도 8에 도시한 바와 같은 테이블로부터 패턴을 판독하고, 수량화함으로써, 이 경우, 소정의 곡을 수차원의 정보로 표시하였을 때의 정보가 기재된다. 도 10에 도시한 예에서는, "곡1"의 차원1의 값은 "0.12", 차원2의 값은 "0.34", 차원3의 값은 "0.62"로 기재되어 있다.
또한, 차원은, 수차원이어도 된다. 차원은, 처리의 방법(어떠한 방법에 의해 수치화하는가)에 의해 결정되며, 후술하는 클러스터로 나눌 때의 처리에 필요한 차원으로 결정된다. 수량화 관리 테이블(173)은, 후술하는 바와 같이, 클러스터를 결정할 때의 처리에 이용된다.
[클러스터(서브클러스터)의 학습 처리에 대하여]
이와 같은 데이터를 이용한 처리에 대하여 설명한다. 우선, 학습부(51)의 클러스터 학습부(52)(도 4)가 행하는 처리에 대하여, 도 11의 플로우차트를 참조하여 설명한다. 스텝 S11에서, 클러스터 학습부(52)의 악곡 데이터 취득부(71)는, 악곡 데이터를 취득한다. 악곡 데이터는, 데이터베이스(54)(도 3)에 기억되고, 그 기억되어 있는 악곡 데이터가 취득되도록 해도 되며, 네트워크(1)(도 1)를 통하여 다른 서버(도시되지 않음)로부터 취득되도록 해도 된다.
또한, 악곡 데이터란, 곡 그 자체의 데이터이며, 예를 들면, WAV 형식의 데이터이다.
스텝 S12에서, 특징량 해석부(73)는, 악곡 데이터 취득부(71)에 의해 취득된 악곡 데이터를 해석함으로써, 그 곡의 특징량을 추출한다. 추출되는 특징량은, 예를 들면, 메타 데이터(172)(도 9)에 기재되어 있는 정보(템포나 하모니와 같은 정보)이다.
여기서는, 악곡 데이터 취득부(71)에 의해 악곡 데이터가 취득되고, 특징량 해석부(73)에 의해 취득된 악곡 데이터가 해석되며, 특징량이 추출되는 것으로서 설명을 하였지만, 이와 같은 취득, 해석, 추출과 같은 처리를 행하지 않고, 데이터베이스(54)에 메타 데이터(172)가 기억되어 있는 경우에는, 그 메타 데이터(172)가 취득되도록 해도 된다. 바꾸어 말하면, 스텝 S11의 처리와 스텝 S12의 처리 대신에, 데이터베이스(54)로부터 메타 데이터(172)를 취득한다고 하는 처리가 행하여지도록 해도 된다.
스텝 S13에서, 유저 데이터 취득부(72)는, 유저 데이터를 취득한다. 스텝 S13에서 취득되는 정보는, 유저로부터의 앙케이트의 결과이다. 유저로부터의 앙케 이트의 결과가, 스텝 S13에서 취득되는 경우, 예를 들면, 사전에, 종이 매체로 실시한 앙케이트의 결과로서 취득되거나, 네트 상에서 실시된 앙케이트의 결과가 집계되거나 함으로써 취득된다. 이와 같이, 앙케이트 결과가 취득되는 경우, 도 8에 도시한 바와 같은 앙케이트 관리 테이블(171)이 작성된다.
앙케이트로서는, 예를 들면, 100곡에 대하여, 100명의 사람에 대하여, 「이 곡은, "슬프다", "슬프지 않다" 중 어느 쪽인가?」와 같은 내용의 앙케이트이다.
즉, 이 경우, 소정의 곡수에 대하여, 소정의 유저수로부터, 소정의 무드(감정)에 속하는 곡의 회답이, 정보로서 취득된다. 그리고, 도 8에 도시한 바와 같은 앙케이트 관리 테이블(171)이 작성된다.
이와 같이 하여, 스텝 S13에서 유저로부터의 정보(유저 데이터)가 취득된다. 스텝 S13에서 취득되는 정보는, 상술한 바와 같이, 앙케이트의 결과이며, 유저의 기호나 가치관에 의존하고 있는 정보이다.
또한, 여기서는, 스텝 S13의 처리로서, 유저 데이터가 취득되고, 해석되며, 앙케이트 관리 테이블(171)이 작성되는 것으로 하였지만, 클러스터의 학습 처리의 1처리(1스텝)로서 행하여지지 않아도, 다른 시점에서(학습 처리가 행하여지기 전의 시점에서), 이와 같은 처리가 실행되고, 앙케이트 관리 테이블(171)이 작성되도록 해도 된다. 그리고 작성된 앙케이트 관리 테이블(171)은, 데이터베이스(54)에 기억되며, 스텝 S13에서는, 데이터베이스(54)에 기억되어 있는 앙케이트 관리 테이블(171)이 취득되는 처리가 실행되도록 해도 된다.
스텝 S14에서, 비해당 필터 생성부(74)는, 비해당 필터를 생성한다. 도 12 의 플로우차트를 참조하여, 스텝 S14에서의 비해당 필터 생성 처리에 대하여 설명한다.
스텝 S21에서, 스텝 S13(도 11)에서 취득된 유저 데이터(앙케이트 관리 테이블(171))가 참조되고, 처리 대상으로 되어 있는 곡(예를 들면, 곡1)이, 모든 유저가, 처리 대상으로 하고 있는 무드(예를 들면, "슬프다")에 해당하지 않는다고 판단한 곡인지의 여부가 판단된다.
비해당 필터는, 상술한 바와 같이, 클러스터가 부여될 때에, 클러스터를 부여하지 않아도 되는 메타 데이터를 배제하기 위한 필터이다. 예를 들면, "슬프다"라고 하는 무드일 때에는, 절대로 제공되지 않는 곡 등은, "슬프다"라고 하는 무드에 관련지어진 클러스터가 부여되는 일은 없고, "슬프다"라고 하는 무드에 관련지어진 클러스터가 부여되는 처리가 실행될 때에는, 배제해도 되는 곡(그 곡의 메타 데이터)이다. 그러한 배제해도 되는 곡이 배제되도록 하고, 클러스터를 부여할 메타 데이터를 추출하는 처리를 실행하기 위한 필터가, 비해당 필터이다.
비해당 필터는, 이와 같은 필터이기 때문에, 확실하게 해당하지 않을 곡(메타 데이터)을 배제할 수 있는 필터인 것이 바람직하다. 바꾸어 말하면, 예를 들면, "슬픈 곡"이라고 생각하는 사람이 1사람이라도 있는 곡은, 비해당 필터에 의한 처리에서 배제되지 않도록 하는 것이 바람직하다. 단, 여기까지의 성능이 필요한지는, 설계의 단계에서, 적절히 변경하는 것이 가능하다.
또한, 비해당 필터를 이용함으로써, 확실하게 해당하지 않을 곡을 배제할 수 있고, 후술하는 바와 같이, 예를 들면, 소정의 곡(아이템)에 서브클러스터를 부여 할 때에, 부여의 대상으로 하는 곡수를 줄일 수 있고, 많은 곡을 처리할 때 등에, 효율적으로 처리할 수 있게 되기 때문에, 비해당 필터를 설치하는 것은 유효하다.
그러나, 예를 들면, 확실하게 해당하지 않을 곡 자체가 적은 경우, 즉, 배제 대상으로 되는 곡 자체의 수가 적은 경우, 비해당 필터를 설치해도, 배제되는 곡이 적기 때문에, 비해당 필터를 설치하는 것에 의한 효과가 낮다고 생각될 때에는, 비해당 필터를 설치하지 않도록 해도 된다. 즉, 설계의 단계 등에서, 소정의 무드에 관해서는, 비해당 필터를 설치하지 않는다고 설정하도록 하는 것도 가능하다.
스텝 S21에서의 처리는, 특징량 해석부(73)에 의해 취득된 유저 데이터(앙케이트 관리 테이블(171))가 참조되어 행하여진다. 앙케이트 관리 테이블(171)에는, 도 8을 참조하여 설명한 바와 같이, 소정의 무드(도 8에서는 "슬프다"라고 하는 무드)에 관하여, 소정의 곡이, 그 소정의 무드에 해당하는지의 여부의 유저의 판단 결과가, 기재되어 있다.
예를 들면, 도 8에 도시한 앙케이트 관리 테이블(171)을 참조하면, "곡1"은, "유저 A"와 "유저 B"가 슬픈 곡으로서 투표하고 있는 것을 알 수 있다. 또한 "곡2"에 관해서는, 유저 A, B, C 모두, 슬픈 곡으로서는 투표하고 있지 않은 것을 알 수 있다. 여기서는, 유저 A, B, C의 투표 결과밖에 표시되어 있지 않지만, 잠정적으로, "곡2"에 관해서는, 모든 유저가 "슬픈 곡"으로서는 투표하고 있지 않은 것으로 한다. 그러한 곡은, 슬프다고 하는 무드일 때에 제공되는 일은 절대로 없다고 판단할 수 있는 곡이다.
비해당 필터 생성부(74)는, 이와 같은 모든 유저가, 소정의 무드(처리 대상으로 되어 있는 무드)에는 해당하지 않는다고 한 곡이 추출된다. 이 경우, "곡2"가 추출된다. 또한, 여기서는, "모든 유저"로 하였지만, 상기한 바와 같이, 필터의 정밀도는, 적절히 변경 가능하며, 예를 들면, "모든 유저"가 아니라, "조사 대상으로 한 유저 수의 5% 이하의 유저"가, 소정의 무드에는 해당하지 않는다고 한 곡이 추출되도록 해도 된다.
스텝 S21에서, 처리 대상으로 된 곡은, 모든 유저가 해당하지 않는다고 판단한 곡이 아니라고 판단된 경우, 스텝 S22로 처리가 진행되어, 앙케이트 관리 테이블(171)에 기재되어 있는 다음의 곡이 처리 대상의 곡으로 설정된다. 그리고, 스텝 S21 이하의 처리가 반복된다.
한편, 스텝 S21에서, 처리 대상으로 된 곡은, 모든 유저가 해당하지 않는다고 판단한 곡이라고 판단된 경우, 스텝 S23으로 처리가 진행되어, 그 곡의 특징량이 일단 기억(축적)된다. 비해당 필터 생성부(74)에는, 특징량 해석부(73)로부터, 곡의 특징량이 공급된다. 이 공급되는 특징량은, 처리 대상으로 되어 있는 곡의 특징량이다.
스텝 S24에서, 앙케이트 관리 테이블(171)에 기재되어 있는 모든 곡(처리 대상으로 되어 있는 무드에 관한 모든 곡)을 조사하였는지의 여부가 판단된다. 스텝 S24에서, 전곡 조사해 있는 것은 아니라고 판단된 경우, 스텝 S22로 처리가 진행되어, 다음의 곡에 처리 대상의 곡이 설정된다. 그리고, 스텝 S21 이하의 처리가 반복된다.
한편, 스텝 S24에서, 전곡 조사하였다고 판단된 경우, 스텝 S25로 처리가 진행된다. 스텝 S25에서, 축적되어 있는 특징량으로부터 다시 특징량이 추출된다. 스텝 S21 내지 S24의 처리가 반복됨으로써, 소정의 무드에는 해당하지 않는 곡의 특징량이 축적되어 있다. 그들 곡에 공통되는 특징량이, 스텝 S25의 처리로서 추출된다.
스텝 S25에서 추출된 특징량은, 스텝 S26에서, 비해당 필터의 데이터로서, 데이터베이스(54)에 기억된다.
이와 같이 하여, 소정의 무드에 대한 비해당 필터가 생성된다. 이와 같은 처리가 반복됨으로써, 복수의 무드마다, 비해당 필터가 생성된다.
도 11의 플로우차트의 설명으로 되돌아가서, 스텝 S14에서, 상기한 바와 같은 비해당 필터 생성 처리가 실행되고 있음과 함께, 스텝 S15에서, 다변량 해석부(75)에 의해 다변량 해석의 처리가 실행된다.
예를 들면, 도 8에 도시한 바와 같은 앙케이트 관리 테이블(171)에 기재되어 있는 정보에 대하여, 다변량 해석이 실행됨으로써, 도 10에 도시한 바와 같은 수량화 관리 테이블(173)이 작성된다. 즉, 도 8에 도시한 바와 같은 앙케이트 관리 테이블(171)의 회답 패턴으로부터, 대응 분석이나 주성분 분석 등의 다변량 해석에 의해, 유저의 감정(무드)에 기초한 곡마다의 특징이, 수차원의 데이터로 수량화된다.
곡의 정보를 다차원의 수량화된 데이터로서 관리하고 있는 것이, 도 10에 도시한 수량화 관리 테이블(173)이다. 이와 같은 수량화 관리 테이블(173)이, 스텝 S15에서 작성된다.
스텝 S15에서, 수량화 관리 테이블(173)에 기재되어 있는 정보(수치)가, 맵핑된다. 예를 들면, 도 10에 도시한 수량화 관리 테이블(173) 중 차원1과 차원2의 란에 기재되어 있는 수치를 맵핑하는 것을 생각한다. 차원1을 예를 들면 X축, 차원2를 예를 들면 Y축에 대응시킴으로써, X축과 Y축의 2축으로 이루어지는 2차원에, 수량화 관리 테이블(153)에 기재되어 있는 각 곡의 특징(정보)을 맵핑할 수 있다. 이와 같은 맵핑이 행하여지면, 예를 들면, 도 13에 도시한 바와 같은 그래프를 취득할 수 있다.
도 13에 도시한 그래프는, 도 10에 도시한 바와 같은 수량화 관리 테이블(173)에 기재되어 있는 곡을, 곡마다, 차원1과 차원2의 수치를 이용하여, 맵핑한 일례이다. 맵핑은, 수량화 관리 테이블(173)에 기재되어 있는 곡수분(예를 들면, 100곡분(비해당 필터의 생성의 바탕으로 된 곡은 제외된 곡수분))에 대하여 행하여진다. 이와 같은 처리가 행하여지기 때문에, 다변량 변환을 행할 때의 차원은, 몇차원으로 맵핑하고, 후술하는 처리가 실행되는가에 따라 결정되면 된다. 예를 들면, 2차원으로 맵핑되고, 후술하는 처리가 실행되는 경우에는, 다변량 변환은 2차원의 데이터로 수량화되면 된다.
도 13에 도시한 바와 같은 그래프가 작성되면, 스텝 S17(도 11)에서, 클러스터가 결정된다. 클러스터는, 예를 들면, 도 13에 도시한 그래프를 해석하여, 군집이 있는 부분(점이 집중하고 있는 부분 등)마다 분할하고, 그 분할된 영역을 클러스터1, 클러스터2 등으로 순차 할당함으로써, 클러스터가 결정된다.
클러스터링은, 예를 들면, k-means나 계층 등의 방법에 의해 행하여진다.
클러스터링이 행하여짐으로써, 예를 들면, 도 13에 도시한 그래프로부터, 도 14에 도시한 바와 같은 결과가 취득된다. 도 14에 도시한 결과는, 서브클러스터1 내지 5의 5개의 서브클러스터로 분류되었을 때의 상태를 나타내고 있다. 각 서브클러스터는, 겹침이 없는 상태로 설정되어 있다. 이와 같이, 각 서브클러스터에 겹침이 없도록 설정함으로써, 1개의 아이템에 대하여 1개의 서브클러스터를 할당하는 것이 가능하게 된다.
각 서브클러스터에 겹침이 있어도 되도록 설정하는 것도 가능하다. 소프트 클러스터링 방법 등으로 칭해지는 클러스터링 방법을 이용하여 클러스터링을 행한 경우, 서브클러스터에 겹침이 발생하는 경우가 있다. 서브클러스터에 겹침이 있는 경우, 예를 들면, 서브클러스터1이 90%, 서브클러스터2가 10%와 같이, 1개의 아이템에 대하여, 복수의 서브클러스터가 차지하는 비율이 할당된다.
또한, 서브클러스터에 겹침이 있도록 한 경우에, 각 서브클러스터의 값을 합계하였을 때에, 반드시 100%로 될 필요성은 없다. 예를 들면, 서브클러스터1이 80%, 서브클러스터2가 30%이어도 된다.
본 실시 형태에서는, 후술하는 바와 같이, 소정의 아이템을 소정의 클러스터와 그 클러스터에서의 서브클러스터에 분류할 수 있으면 되고, 예를 들면, 클러스터링의 결과, 소정의 클러스터에 속하고, 그 클러스터에서의 서브클러스터1이 80%, 서브클러스터2가 30%로 산출된 경우, 그리고 그러한 겹침이 있는 서브클러스터에 소정의 아이템이 분류될 때, 퍼센티지가 높은, 서브클러스터1에 분류된다고 결정되 도록 하면 된다. 따라서, 이 서브클러스터에 겹침이 있도록 서브클러스터가 도출되도록 해도(소프트 클러스터링의 방법이 이용되도록 해도), 서브클러스터에 겹침이 없는 방법으로 해도, 후술하는 아이템의 분류(서브클러스터의 부여의 처리)는 행할 수 있기 때문에, 어느 쪽의 방법을 이용해도 된다.
즉, 소정의 아이템이, 소정의 서브클러스터에 속한다고 분류될 때, 그 서브클러스터에서 확실할 것이다라고 하는 확률(귀속도)이 구해지면 된다. 여기서는, 도 14에 도시한 바와 같이, 각 서브클러스터에는 겹침이 없는 것으로 하여 설명을 계속한다.
여기서는, 도 14에 도시한 바와 같이, 각 서브클러스터에는 겹침이 없는 것으로 하여 설명을 계속한다.
여기서, 클러스터와 서브클러스터에 대하여, 설명을 덧붙인다. 상기한 바와 같은 처리가 행하여짐으로써, 여기서는, 서브클러스터1 내지 5가 생성되는 것으로 하였다. 이 서브클러스터1 내지 5는, 원래, 1개의 무드에 대하여 처리가 행하여진 결과, 생성된 서브클러스터이다. 바꾸어 말하면, 이 경우, "슬프다"라고 하는 무드에 대하여, "슬프다"라고 하는 곡에 해당하는 곡을 클러스터링함으로써 생성된 서브클러스터이다.
여기서, 예를 들면, "슬프다"라고 하는 무드에, 서브클러스터의 상위 계층인 클러스터의 "클러스터1"을 할당하면, 이 클러스터1이라고 하는 "슬프다"라고 하는 무드에 대하여, 서브클러스터1 내지 5의 서브클러스터가 존재하게 된다. 이와 같이, 소정의 무드를 식별하기 위한 클러스터를 "클러스터"로 하고, 그 클러스터에 속하는 복수의 클러스터를 "서브클러스터"로 한다. 이 경우, "슬프다"라고 하는 무드가 클러스터1이고, 그 클러스터1에 속하는 서브클러스터는, 서브클러스터1 내지 5라고 하는 것이다.
스텝 S17(도 11)의 처리에서 결정되는 클러스터는, 처리 대상으로 되어 있는 무드에, 다른 무드에 할당되어 있지 않은 클러스터를 할당하고, 맵핑의 처리의 결과 얻어지는 클러스터를, 서브클러스터로서 할당하는 처리이다.
이와 같이 하여, 소정의 정보로부터 서브클러스터가 도출되면, 스텝 S18(도 11)에서, 도출된 서브클러스터가 기억된다.
상기한 바와 같이, 예를 들면, 스텝 S13에서, 유저 데이터가 취득될 때, 도 8에 도시한 바와 같은 앙케이트 관리 테이블(171)이 취득된다. 이 앙케이트 관리 테이블(171)은, 곡1, 곡2와 같은 곡마다, 정보가 관리되어 있다.
각 곡에는 메타 데이터가 부수되어 있다. 메타 데이터는, 도 9에 도시한 바와 같은 메타 데이터(172)와 같이, 아이템 NO, 장르, 아티스트, 템포, 하모니, 클러스터, 서브클러스터와 같은 항목에 대한 정보가 관련지어진 테이블이다. 이와 같은 항목 중, 클러스터와 서브클러스터 이외의 항목, 즉, 아이템 NO, 장르, 아티스트, 템포, 하모니는, 사전에, 곡의 메타 데이터로서 부여되어 있는 정보이다(각 곡의 메타 데이터는, 이들 항목에 대한 정보가 기재된 상태에서, 데이터베이스(54)에 기억되어 있다).
클러스터의 결정의 처리를 위해 이용된 곡(아이템)의 메타 데이터는, 클러스터라고 하는 항목에 대한 정보가 기재되어 있지 않은 상태이다. 따라서, 스텝 S18 에서, 스텝 S11 이후의 처리 대상으로 된 곡(아이템)에 대응하는 메타 데이터의 클러스터와 서브클러스터라고 하는 항목의 란에, 대응하는 클러스터와 서브클러스터가 기입된다.
이와 같이, 클러스터의 학습의 처리에 이용된 곡의 메타 데이터에는, 학습의 결과 얻어진 클러스터와 서브클러스터가 설정되고, 메타 데이터의 클러스터와 서브클러스터의 란에 각각 기입된다.
예를 들면, 도 9에 도시한 메타 데이터(172)의 아이템 NO가 "1-001"이라고 하는 곡에 대해서는, 클러스터로서 "1"이 할당되고, 서브클러스터로서 "2"가 할당되며, 각각 값이 기재된 상태를 나타내고 있다. 또한 아이템 NO가 "1-002"라고 하는 곡에 대해서는, 클러스터로서 "1"이 할당되고, 서브클러스터로서 "3"이 할당되며, 각각의 값이 기재된 상태를 나타내고 있다.
이와 같이, 아이템 NO가 "1-001"이라고 하는 곡과 "1-002"라고 하는 곡은, 모두 클러스터로서는 "1"이라고 하는 공통의 분류가 이루어져 있다. 따라서, 동일한 무드에 속하는 곡이다. 그러나, 서브클러스터는, "1-001"이라고 하는 곡은 "2"이고, "1-002"라고 하는 곡은 "3"이며, 각각 상이한 분류가 이루어져 있다. 따라서, 서브클래스까지 고려하면, 동일한 무드에 속하는 곡이어도, 다른 분류가 이루어져 있게 된다.
또한 여기서는, 클러스터와 그 아래의 서브클러스터가 있는 것으로 하여 설명을 계속하지만, 서브클러스터 아래에, 다시 서브클래스를 설치하는 것도 가능하다. 즉, 1개의 서브클러스터(서브클러스터A라고 함)에 대하여, 상기한 바와 같은 클러스터의 학습의 처리를 실행하면, 서브클러스터A에 대하여, 복수의 클러스터가 생성되게 되고, 그 생성된 클러스터를 서브클러스터A의 서브클러스터로 하는 것도 가능하다. 이와 같이, 서브클러스터 아래에 서브클러스터를 설치함으로써, 더욱 세밀한 분류를 행하는 것이 가능하게 된다.
도 11을 참조하여 설명한 클러스터의 학습 처리는, 도 4에 도시한 클러스터 학습부(52)에 의한 처리이다. 다음으로, 도 5에 도시한 클러스터 학습부(52')가 행하는 클러스터의 학습 처리에 대하여, 도 15의 플로우차트를 참조하여 설명한다.
도 15의 플로우차트 중, 스텝 S31 내지 34의 처리는, 도 11의 스텝 S11 내지 S14의 처리와 마찬가지이므로, 그 설명은 생략한다. 즉, 클러스터 학습부(52')(도 5)에서도, 비해당 필터는, 상술한 클러스터 학습부(52)(도 4)가 행하는 처리와 마찬가지의 처리에서 생성된다.
스텝 S35에서, 메타 데이터 해석부(81)는, 메타 데이터를 해석한다. 메타 데이터에는, 예를 들면, 도 9에 도시한 메타 데이터(172)와 같이, 템포 등의 곡의 특징량이 기재되어 있다. 그러한 곡의 특징량은, 특징량 해석부(73)로부터 취득된다. 특징량 해석부(73)는, 상기한 바와 같이, 악곡 데이터로부터 특징량을 추출하거나, 미리 데이터베이스(54) 등에 기억되어 있는 메타 데이터(172)를 취득함으로써 특징량을 취득하고, 메타 데이터 해석부(81)에 공급한다.
또한, 메타 데이터 해석부(81)에 공급되는 곡의 특징량은, 비해당 필터 생성부(74)에 의해, 비해당이라고 판단된 곡 이외의 곡에 관한 특징량이다. 즉, 메타 데이터 해석부(81)는, 소정의 무드에 해당한다고 판단된 곡의 메타 데이터를 취득 하고, 해석을 행한다. 메타 데이터의 해석이란, 예를 들면, 해당한다고 판단된 곡에는, 어떠한 특징이 있는지를 조사하기 위한 처리이다.
메타 데이터 해석부(81)에 의한 해석 결과는, 다변량 해석부(75)에 공급된다. 다변량 해석부(75)는, 스텝 S36에서, 다변량 해석을 행한다. 스텝 S36 이하의 처리(다변량 해석부(75)와 클러스터링부(76)에서 행하여지는 처리)는, 도 11의 스텝 S15 이하의 처리와 마찬가지이므로, 그 설명은 생략한다.
이와 같이, 도 5에 도시한 클러스터 학습부(52')에서는, 소정의 무드에 해당한다고 판단된 곡의 메타 데이터가 해석됨으로써, 클러스터가 생성된다. 이와 같은 경우도, 클러스터와, 서브클러스터가 생성되는 것은, 상술한 경우와 마찬가지이며, 서브클러스터를 설치하는 것에 의한 효과도, 마찬가지로 얻을 수 있다.
또한 클러스터(서브클러스터)의 다른 학습에 대하여 설명한다. 이하에 설명하는 클러스터의 학습의 처리는, 도 4에 도시한 클러스터 학습부(52)에 의해 행하여진다. 또한, 비해당 필터의 생성에 관해서는, 상기한 경우와 마찬가지이므로, 그 설명은 생략한다.
상기한 클러스터의 학습은, 맵핑 등의 처리를 행함으로써, 클러스터의 학습을 행하는 예이다. 여기서는, 유저의 지지율을 이용하여 클러스터의 학습을 행하는 예를 들어, 도 16의 플로우차트를 참조하여 설명한다. 유저의 지지율이란, 예를 들면, 조사 대상으로 되는 무드에서, 조사 대상으로 된 유저의 수 중, 몇 사람의 유저가 조사 대상으로 된 아이템(이하, 아이템으로서 곡을 예로 들어 설명함)을, 조사 대상으로 된 무드에 해당한다고 판단하였는지를 조사함으로써 행하여진 다. 예를 들면, 조사 대상으로 되는 유저의 수가, 100명이고, 곡1을 "슬픈 곡"이라고 판단한 것이, 3명이었던 경우, 곡1에 대한 지지율은, 지지율 3%라고 산출된다.
또한, 클러스터는, 처리 대상으로 되는 무드가 결정된 시점에서, 그 무드에 대응하는(관련지어져 있거나, 또는, 관련짓는) 클러스터가 할당되기 때문에, 이하의 설명은, 서브클러스터의 학습의 처리이다.
스텝 S51에서, 조사 대상으로 되는 곡(예를 들면, 100곡)에 대하여, 지지율이 산출된다. 이 산출은, 도 8에 도시한 앙케이트 관리 테이블(171)이 참조되어 행하여진다. 즉, 조사 대상으로 하는 무드와 조사 대상으로 되는 곡, 설정된 곡이 그 무드에 해당한다고 판단한 유저수를 산출함으로써 행하여진다.
스텝 S52에서, 소정의 곡의 지지율이, 0 내지 20% 미만인지의 여부가 판단된다. 스텝 S52에서, 지지율이, 0 내지 20% 미만이라고 판단된 경우, 스텝 S53에서, 처리 대상으로 되어 있는 곡의 서브클러스터가, 서브클러스터1로 설정된다. 설정된 서브클러스터는, 처리 대상으로 된 곡의 메타 데이터 내의 1개의 정보로서 기억된다.
한편, 스텝 S52에서, 지지율이, 0 내지 20% 미만이 아니라고 판단된 경우, 스텝 S54로 처리가 진행되어, 지지율이, 20 내지 40% 미만인지의 여부가 판단된다. 스텝 S54에서, 지지율이, 20 내지 40% 미만이라고 판단된 경우, 스텝 S55에서, 처리 대상으로 되어 있는 곡의 서브클러스터가, 서브클러스터2로 설정된다. 설정된 서브클러스터는, 처리 대상으로 된 곡의 메타 데이터 내의 1개의 정보로서 기억된 다.
한편, 스텝 S54에서, 지지율이, 20 내지 40% 미만이 아니라고 판단된 경우, 스텝 S56으로 처리가 진행되어, 지지율이, 40 내지 60% 미만인지의 여부가 판단된다. 스텝 S56에서, 지지율이, 40 내지 60% 미만이라고 판단된 경우, 스텝 S57에서, 처리 대상으로 되어 있는 곡의 서브클러스터가, 서브클러스터3으로 설정된다. 설정된 서브클러스터는, 처리 대상으로 된 곡의 메타 데이터 내의 1개의 정보로서 기억된다.
한편, 스텝 S56에서, 지지율이, 40 내지 60% 미만이 아니라고 판단된 경우, 스텝 S58로 처리가 진행되어, 지지율이, 60 내지 80% 미만인지의 여부가 판단된다. 스텝 S58에서, 지지율이, 60 내지 80% 미만이라고 판단된 경우, 스텝 S59에서, 처리 대상으로 되어 있는 곡의 서브클러스터가, 서브클러스터4로 설정된다. 설정된 서브클러스터는, 처리 대상으로 된 곡의 메타 데이터 내의 1개의 정보로서 기억된다.
한편, 스텝 S58에서, 지지율이, 60 내지 80% 미만이 아니라고 판단된 경우, 스텝 S60으로 처리가 진행되어, 처리 대상으로 되어 있는 곡의 서브클러스터가, 서브클러스터5로 설정된다. 설정된 서브클러스터는, 처리 대상으로 된 곡의 메타 데이터 내의 1개의 정보로서 기억된다.
스텝 S52 내지 S60의 처리가 반복됨으로써, 곡마다 서브클러스터가 설치된다. 이와 같이, 유저의 지지율을 이용하여, 서브클러스터의 학습을 행하도록 해도 된다. 이와 같이 한 경우에도, 유저의 지지율을 이용하고 있기 때문에(이 지지율 자체, 유저의 구입 이력 등으로부터 산출하는 것이 가능하며, 유저로부터의 정보를 이용하고 있게 됨), 유저의 기호를 반영한 서브클러스터의 학습을 행할 수 있는 것은, 상기한 맵핑 등의 방법을 이용하여 학습하는 경우와 마찬가지로 말할 수 있는 것이다.
[서브클러스터의 재설정에 관한 처리에 대하여]
상기한 바와 같이, 클러스터 및 서브클러스터가 학습된 결과, 예를 들면, 도 14와 같이 서브클러스터가 분포되어 있는 그래프를 작성할 수 있다. 도 14에 도시한 서브클러스터의 분포의 예에서는, 개개의 서브클러스터에 속하는 아이템수를 나타내고 있지 않지만, 개개의 서브클러스터에 속하는 아이템수는, 서브클러스터마다 상이하다.
소정의 서브클러스터에 포함되는 아이템수가, 서브클러스터마다 다르기 때문에, 예를 들면, 서브클러스터1에는 100개의 아이템이 포함되지만, 서브클러스터2에는, 5개의 아이템 밖에 포함되어 있지 않은 등, 서브클러스터에 포함되는 아이템의 개수에 격차가 발생할 가능성이 있다. 다른 서브클러스터와 비교하였을 때, 적은 개수의 아이템 밖에 포함되지 않는 서브클러스터는, 서브클러스터로서 독립하여 설정하기 위해서는 적합하지 않을 가능성이 있다. 바꾸어 말하면, 다른 서브클러스터에 포함시켜도 될 가능성이 있으며, 다른 서브클러스터에 포함시킨 쪽이 보다 적절한 서브클러스터의 설정일 경우가 있다.
또한, 서브클러스터의 수가 많아지면, 보다 상세하게 분류된다고 하는 이점은 있지만, 상기한 바와 같이, 부적절하게 분류된 서브클러스터가 포함될 가능성이 있고, 후술하는 바와 같이 아이템을 유저에게 추천할 때의 처리에서 많은 서브클러스터가 있으면 적절한 추천을 할 수 없게 될 가능성이 있다. 예를 들면, 지나치게 상세하여, 유저측에 서브클러스터마다의 차이를 알기 어렵게 되어, 유저가 서로 다른 서브클러스터의 아이템을 추천해 주길 바란다고 소망하고, 서로 다른 서브클러스터의 아이템이 소개되어도, 비슷비슷한 아이템 밖에 추천되지 않게 될 가능성이 있다.
바꾸어 말하면, 서브클러스터의 수가 많아지면, 서브클러스터마다의 특징이 나오지 않게 되어, 서브클러스터를 설정하고, 아이템을 분류한 의미가 약해지게 된다.
즉, 서브클러스터의 수는, 후술하는 바와 같이 새로운 아이템에 서브클러스터를 부여하는 경우나, 아이템을 유저에게 추천하는 경우에, 적절한 처리를 할 수 있는 적절한 수인 쪽이 바람직하며, 또한, 각 서브클러스터의 특징이 나오는 수인 쪽이 바람직하다고 생각된다. 따라서, 상기한 바와 같은 처리에 의해 생성된 서브클러스터의 수를, 적절한 수로 되도록 하기 위한 처리가 행하여지도록 한다. 이하에, 그 처리에 대하여 설명한다.
도 17은, 도 14와 마찬가지로, 상기한 바와 같은 서브클러스터의 생성의 처리가 실행된 결과, 복수의 아이템이, 복수의 서브클러스터에 분류되었을 때의, 서브클러스터의 분포와 각 서브클러스터에 포함되는 아이템수를 도시하는 도면이다. 도 17에 도시한 예는, 서브클러스터1 내지 7이라고 하는 7개의 서브클러스터가 생성된 예이다.
서브클러스터1에는, 8개의 아이템이 포함되고, 서브클러스터2에는, 6개의 아이템이 포함되며, 서브클러스터3에는, 3개의 아이템이 포함되고, 서브클러스터4에는, 5개의 아이템이 포함되며, 서브클러스터5에는, 3개의 아이템이 포함되고, 서브클러스터6에는, 2개의 아이템이 포함되며, 서브클러스터7에는, 2개의 아이템이 포함되어 있다.
여기서, 서브클러스터3, 5, 6, 7(도 17 중, 점선으로 나타낸 서브클러스터)은, 다른 서브클러스터(도면 중, 실선으로 나타낸 서브클러스터), 예를 들면, 서브클러스터1과 비교하여 포함하는 아이템수가 적다. 이와 같은 포함되는 아이템의 수가 적은 서브클러스터를, 다른 서브클러스터와 병합하거나, 또는, 삭제함으로써, 서브클러스터의 수를 적절한 수로 편집한다. 즉 여기서는, 서브클러스터3, 5, 6, 7이, 각각, 서브클러스터1, 2, 4 중 어느 하나의 서브클러스터에 병합되거나, 또는 삭제된다.
포함되는 아이템수가 적기 때문에, 다른 서브클러스터에 병합할지 또는 삭제할지를 판단하기 위해서, 지지율이라고 하는 개념을 여기서는 도입하여, 지지율이 높을 때에는, 병합되지 않도록 하고, 지지율이 낮을 때에는, 병합되도록 한다.
또한, 본 실시 형태에서는, 포함되는 아이템수가 적기 때문에 다른 서브클러스터에 병합될 때에는, 병합되는 서브클러스터끼리의 특징이 유사하도록 한다.
병합되는 서브클러스터끼리의 특징이 유사하도록 하기 위해, 서브클러스터끼리의 거리라고 하는 개념을 도입하여, 거리가 가까운 서브클러스터에 병합되도록 한다.
우선, 지지율에 대하여 설명을 덧붙인다. 또한, 도 16을 참조하여 설명한, 서브클러스터의 다른 학습 처리에서의 "지지율"과, 이하에 설명하는 "지지율"은 서로 다른 지지율을 나타내는(서로 다른 수치) 것이다.
도 18은, 도 8에 도시한, 소정의 모드에 관하여, 소정의 곡에 관한 유저의 통계를 나타내는 앙케이트 관리 테이블(171)을, 지지율을 산출하기 위한 테이블에 재기입한 테이블이다. 도 18에 도시한 테이블도, 유저로부터의 앙케이트 결과에 기초하여 작성되므로, 앙케이트 관리 테이블(171')로 기술한다.
도 18에 도시한 앙케이트 관리 테이블(171')에서는, 종축에 유저명, 횡축에 아이템(이 경우, 곡)을 나타내고, 소정의 곡이, "슬프다"라고 하는 모드에 적합한지의 여부를 유저가 판단한 결과를 나타내고 있다. 예를 들면, 곡1에 대하여, 유저A는, 슬프다고 판단하고(도 18에서는, ○으로 표기), 유저B는, 슬프지 않다고 판단하며(도 18에서는, ×로 표기), 유저C는, 슬프다고 판단하고, 유저D는, 슬프다고 판단하며, 유저E는, 슬프다고 판단한 것이 도시되어 있다. 또한, 그 결과, 곡1에 대하여 슬프다고 판단한 유저의 총수는 "4"이며, 비율은 "0.80"(=4/5)인 것이 도시되어 있다.
이와 같이, 앙케이트 관리 테이블(171')에서는, 소정의 모드(도 18에 도시한 예에서는 "슬프다"라고 하는 모드)에서, 몇 사람의 유저가, 처리 대상으로 된 아이템(곡)을, 그 소정의 모드에 합치하고 있다고 판단하였는지의 총수와, 비율이 관리된다.
이와 같은 앙케이트 관리 테이블(171')에서 관리되고 있는 데이터(도 8에 도 시한 앙케이트 관리 테이블(171)에서 관리되고 있는 데이터)에 기초하여, 서브클러스터를 학습하는 처리가 실행된 결과, 도 17에 도시한 바와 같이 서브클러스터가 분포되고, 아이템(곡)이 포함되는 경우를 예로 들어 설명을 계속한다.
도 17을 참조하여 설명한 바와 같이, 도 17에 도시한 서브클러스터 중, 서브클러스터3, 5, 6, 7은, 다른 서브클러스터에 병합되거나 또는 삭제되는 서브클러스터로서 결정된 서브클러스터이다. 이 중, 서브클러스터3과 서브클러스터6을 예로 들어, 이하의 설명을 계속한다.
도 19는, 서브클러스터3에 포함되는 곡과 서브클러스터6에 포함되는 곡을 도시한 도면이다. 서브클러스터3에는, 곡4, 곡5, 곡6이 포함되고, 서브클러스터6에는, 곡1과 곡2가 포함된다. 서브클러스터3에 포함되는 곡4, 5, 6의 비율은, 각각 "0.20", "0.20", "0.20",이다. 또한, 서브클러스터6에 포함되는 곡1과 곡2의 비율은, 각각 "0.80", "1.00"이다.
지지율은, 서브클러스터에 포함되는 곡마다의 비율을 이용하여 산출된다. 여기서는, 지지율은, 소정의 곡의 비율에 관한 데이터를 이용하여, 다음의 수학식 1에 기초하여 산출되는 것으로 한다.
이 수학식 1에서, "i"는, 서브클러스터의 멤버수를 나타내고, Ni는, 아이템의 합치 평가수를 나타낸다. "서브클러스터의 멤버수"란, 소정의 아이템을 평가한 유저의 수이며, 예를 들면, 도 18에서는, 유저A 내지 E의 5명이다. 또한, "아이템의 합치 평가수"란, 몇 사람의 유저가, 소정의 아이템에 대하여, 소정의 모드가 합치한다고 대답하였는지를 나타내는 수이며, 예를 들면, 도 18에서, "곡1"에 대하여, "슬프다"라고 하는 모드가 합치한다고 대답한 유저는, 4명이므로, 아이템의 합치 평가수는 4로 된다.
따라서, (Ni/i)는, 합치 평가수를 유저의 수로 제산한 결과이므로, "비율"로 된다. 예를 들면, 도 18에서, "곡1"의 "Ni"는 4, "i"는, 5로 되므로, (Ni/i)는 "0.8"로 산출된다. 즉, 이 "0.8"은, 비율이다.
따라서, 수학식 1은, 비율의 총합을 산출하는 식이다.
수학식 1은, 처리 대상으로 되어 있는 서브클러스터에 포함되는 아이템의 비율의 총합을 구하는 식으로서, 그 산출 결과가, 지지율로 된다.
여기서, 수학식 1에 기초하여, 서브클러스터3과 서브클러스터6의 지지율을 각각 구한다. 서브클러스터3과 서브클러스터6에, 각각 포함되는 아이템(이 경우, 곡)과, 그 아이템의 비율은, 도 19에 도시하는 바와 같다.
서브클러스터3의 지지율=0.20+0.20+0.20=0.60
서브클러스터6의 지지율=0.80+1.00=1.80
이와 같이, 서브클러스터3은, 포함되는 아이템수가, 서브클러스터6보다 많지만, 지지율은, 서브클러스터6의 지지율보다도 낮은 값으로 된다.
상기한 바와 같이, 서브클러스터3과 서브클러스터6은, 포함되는 아이템수가 소정의 수 이하이므로, 삭제 또는 다른 서브클러스터와 병합하는 대상으로 되어 있는 서브클러스터이다. 삭제 또는 병합의 대상으로 되어 있는 서브클러스터를, 삭제할지의 여부를 결정하는 조건으로서, 대상으로 되어 있는 서브클러스터의 지지율이 소정의 값 이하인 경우, 그 서브클러스터를 삭제하고, 지지율이 소정의 값 이상인 경우, 그 서브클러스터를 다른 서브클러스터와 병합한다고 하는 조건을 여기서는 적용한다.
소정의 값으로서, 예를 들면 "1.00"이 설정된 경우, 지지율이 "0.60"인 서브클러스터3은 삭제되고, 지지율이 "1.80"인 서브클러스터6은, 삭제되지 않고 다른 서브클러스터에 병합되게 된다.
이와 같은 설정 하에서, 서브클러스터의 삭제와 병합이 행하여지는 경우, 삭제 또는 병합의 대상으로 되어 있는 서브클러스터3, 5, 6, 7 중, 서브클러스터3과 서브클러스터7은, 지지율이 소정의 값 이하로 되기 때문에 삭제 대상으로 되며, 서브클러스터5와 서브클러스터6은, 지지율이 소정의 값 이상으로 되기 때문에, 병합 대상으로 된다. 이와 같은 때에, 삭제와 병합이 행하여진 후의 결과를 나타내면, 도 20에 도시한 바와 같은 서브클러스터의 분포로 된다. 즉, 도 17에 도시한 서브클러스터의 분포는, 도 20에 도시한 바와 같은 서브클러스터의 분포로 재편집된다.
도 20에 도시한 서브클러스터의 분포에서는, 서브클러스터1에, 서브클러스터5와 서브클러스터6이 병합되었기 때문에, 서브클러스터5와 서브클러스터6은 존재하고 있지 않다. 또한, 서브클러스터3과 서브클러스터7은, 삭제되었기 때문에, 도 20에 도시한 서브클러스터의 분포에서는 존재하고 있지 않다.
또한, 서브클러스터1에, 서브클러스터5와 서브클러스터6이 병합되었기 때문에, 서브클러스터1 내의 아이템의 수는, 8개로부터 13개로 증가해 있다.
또한, 서브클러스터의 삭제와 병합이 행하여진 후에는, 도 20에 도시한 바와 같이, 서브클러스터1, 서브클러스터2, 및 서브클러스터4라고 하는 3개의 서브클러스터가 남아 있는 상태로 된다. 이와 같은 상태로 된 후, 서브클러스터4를 서브클러스터3으로 변경해도 된다(이하, 적절하게, 서브클러스터3 등의 "3"과 같은 번호를 서브클러스터 번호로 기술함). 즉, 서브클러스터 번호에, 빈 번호가 없도록, 서브클러스터 번호가 재편집되도록 해도 된다.
이와 같은 처리가 실행될 때의, 클러스터 학습부(52)의 클러스터링부(76)(도 4 또는 도 5)의 기능 블록도를 도 21에 도시한다. 또한, 도 21에 도시하는 기능은, 클러스터링부(76)가 구비하도록 해도 되고(이하의 설명에서는 그와 같이 설명함), 클러스터링부(76)로부터의 결과가 공급되는 다른 부분에서 행하여지도록(예를 들면, 도 4의 클러스터링부(76)로부터의 공급을 받아 처리를 실행하는 부분이 추가된 구성으로 됨) 해도 된다.
도 21에 도시한 클러스터링부(76)는, 아이템수 판단부(201), 처리 대상 판단부(202), 지지율 산출부(203), 병합 대상 판단부(204), 병합처 결정부(205), 및 재서브클러스터 설정부(206)를 포함하는 구성으로 되어 있다.
아이템수 판단부(201)는, 예를 들면 도 11에 도시한 플로우차트의 처리가 실행된 결과, 서브클러스터가 도 17에 도시한 바와 같이 결정된 후의 결과를 이용하 여, 처리 대상으로 되는 서브클러스터 내에 포함되는 아이템의 수를 판단하는 기능이다. 예를 들면, 도 17의 서브클러스터3이 처리 대상으로 되어 있을 때에는, 아이템수 판단부(201)는, 서브클러스터3에 포함되는 아이템수는 3개라고 판단한다.
처리 대상 판단부(202)는, 아이템수 판단부(201)에 의해, 판단된 아이템수와 소정의 값(임계값)을 비교하고, 임계값 이하인 경우, 삭제 또는 병합의 처리를 행하는 대상으로 되는 서브클러스터라고 판단하고, 후단의 처리가 실행되는 서브클러스터로서 설정하고, 임계값 이상인 경우, 그대로 남기는 서브클러스터인 것으로서 설정한다.
지지율 산출부(203)는, 처리 대상으로 된 서브클러스터의 지지율을, 상기한 바와 같이 하여 산출한다. 지지율 산출부(203)는, 예를 들면, 처리 대상으로 된 서브클러스터가, 도 19에 도시한 서브클러스터3인 경우, 지지율을 0.80으로 산출한다.
병합 대상 판단부(204)는, 지지율 산출부(203)에 의해 산출된 지지율로 설정되어 있는 소정의 값을 비교하고, 처리 대상으로 된 서브클러스터를 삭제하거나, 다른 서브클러스터와 병합할지를 판단한다.
병합처 결정부(205)는, 병합 대상 판단부(204)에 의해 병합 대상이라고 판단된 서브클러스터를, 어느 서브클러스터와 병합할지를 결정한다. 병합 대상 결정부(205)는, 병합하는 서브클러스터와 센트로이드 거리가 최단으로 되는 서브클러스터를 판단하고, 최단으로 되는 서브클러스터를 병합처의 서브클러스터로서 결정한다.
재서브클러스터 설정부(206)는, 병합 대상 판단부(204)에 의해 삭제 대상이라고 판단된 서브클러스터를, 이미 작성되어 있는 서브클러스터의 분포로부터 삭제하고, 병합처 결정부(205)에 의해 병합처가 결정된 서브클러스터를 병합처로 된 서브클러스터와 병합함으로써, 한번 작성된 서브클러스터를 재편집한다.
이와 같은 기능을 갖는 클러스터링부(76)의 동작에 대하여, 도 22의 플로우차트를 참조하여 설명한다.
스텝 S71에서, 아이템수 판단부(201)는, 클러스터링된 결과를 취득한다. 즉, 스텝 S71의 처리는, 이미 클러스터링되고, 예를 들면, 도 17에 도시한 바와 같이 복수의 서브클러스터가 설정되어 있는 상태일 때에 행하여지며, 그 설정되어 있는 서브클러스터의 정보가, 취득된다.
그리고, 아이템수 판단부(201)는, 취득한 클러스터링의 결과를 참조하여, 소정의 서브클러스터를 처리 대상으로 하고, 그 서브클러스터에 포함되는 아이템수를 판단하고, 처리 대상 판단부(202)에, 그 판단 결과를 공급한다.
스텝 S72에서, 처리 대상 판단부(202)는, 아이템수 판단부(201)로부터 공급된 아이템수가, 소정의 임계값 이하인지의 여부를 판단함으로써, 그 시점에서 처리 대상으로 되어 있는 서브클러스터를, 삭제 또는 병합의 처리를 실행하는 대상으로 하는 서브클러스터에 설정할지의 여부를 판단한다.
스텝 S72에서, 처리 대상으로 되어 있는 서브클러스터에 포함되는 아이템수가, 소정의 임계값 이상이라고 판단된 경우, 스텝 S73으로 처리가 진행되어, 그 서브클러스터는, 그대로 남기는 서브클러스터로서 설정된다. 예를 들면, 상술한 바 와 같이, 도 17에 도시한 클러스터링의 결과 중, 서브클러스터1이 처리 대상으로 되고, 소정의 임계값이 3인 경우, 서브클러스터1에 포함되는 아이템수는 8이므로, 임계값 이상이라고 판단되고, 서브클러스터1은 그대로 남기는 서브클러스터인 것으로서 설정된다.
한편, 스텝 S72에서, 처리 대상으로 되어 있는 서브클러스터에 포함되는 아이템수가, 소정의 임계값 이하라고 판단된 경우, 스텝 S74로 처리가 진행되어, 지지율이 산출된다. 처리 대상 판단부(202)에 의해, 아이템수가 소정의 임계값 이하라고 판단된 경우, 삭제 또는 병합의 처리가 행하여지는 대상으로 되는 서브클러스터로서 설정되게 되고, 그 서브클러스터의 정보가, 지지율 산출부(203)에 공급되어, 지지율이 산출된다.
지지율의 산출의 방법에 대해서는, 예를 들면, 도 18이나 도 19를 참조하여 설명한 바와 같이, 서브클러스터에 포함되는 아이템의 비율의 총합을 산출함으로써 행하여진다. 지지율 산출부(203)에 의해 산출된 지지율은, 병합 대상 판단부(204)에 공급된다.
스텝 S75에서, 병합 대상 판단부(204)는, 지지율과 소정의 임계값을 비교하고, 지지율이 임계값 이하인지의 여부를 판단한다. 스텝 S75에서, 지지율이 임계값 이하라고 판단된 경우, 스텝 S76으로 처리가 진행되어, 처리 대상으로 되어 있는 서브클러스터가, 삭제 대상의 서브클러스터로서 설정된다. 한편, 스텝 S75에서, 지지율이 임계값 이상이라고 판단된 경우, 스텝 S77로 처리가 진행되어, 처리 대상으로 되어 있는 서브클러스터가, 병합 대상의 서브클래스로서 설정된다.
스텝 S77에서, 처리 대상으로 되어 있는 서브클러스터가, 다른 서브클러스터와 병합하는 것으로서 설정된 경우, 스텝 S78에서, 병합처의 서브클러스터가 결정된다. 병합처의 서브클러스터는, 처리 대상으로 되어 있는 서브클러스터의 센트로이드로부터의 거리가 가장 짧은 서브클러스터이며, 또한, 삭제 대상이나 병합 대상으로 되어 있지 않은 서브클러스터(스텝 S73에서, 그대로 남기면 서브클러스터로서 설정된 서브클러스터)가, 병합처의 서브클러스터로서 결정된다. 결정된 병합처의 서브클러스터의 정보와, 병합하는 서브클러스터의 정보는, 재서브클러스터 설정부(206)에 공급된다.
예를 들면, 도 17에 도시한 서브클러스터의 분포에서, 서브클러스터6이 다른 서브클러스터와 병합한다고 설정된 경우, 서브클러스터6과 센트로이드의 거리가 가까운 서브클러스터1이 병합처의 서브클러스터로서 결정된다. 그리고, 병합하는 서브클러스터의 정보로서, 서브클러스터6의 정보가 재서브클러스터 설정부(206)에 공급되고, 병합처의 서브클러스터의 정보로서, 서브클러스터1의 정보가, 재서브클러스터 설정부(206)에 공급된다.
스텝 S79에서, 재서브클러스터 설정부(206)는, 삭제 대상으로 된 서브클러스터를 삭제하고, 병합 대상으로 된 서브클러스터를 병합처의 서브클러스터와 병합한다고 한, 서브클러스터의 재편집을 실행한다. 이때, 삭제나 병합됨으로써 할당되지 않게 된 서브클러스터 번호를, 존재하고 있는 서브클러스터의 서브클러스터 번호와 교체시킨다고 한 처리가 행하여지고, 서브클러스터 번호의 편집도 행하여지도록 해도 된다.
이와 같이 하여, 예를 들면, 도 17에 도시한 바와 같은 서브클러스터의 분포는, 도 20에 도시한 바와 같은 서브클러스터의 분포로 편집된다. 이와 같이 서브클러스터가 편집됨으로써, 서브클러스터로서 설정하기에는 어울리지 않는 서브클러스터를 배제할 수 있어, 적절한 서브클러스터의 설정을 행할 수 있게 된다.
상술한 바와 같은 처리가 행하여짐으로써, 적절한 서브클러스터를 설정할 수 있지만, 그 결과, 예를 들면, 서브클러스터의 수가 지나치게 적어지면, 극단의 예이지만, 서브클러스터가 1개로 되게 되면, 클러스터=서브클러스터로 되게 되어, 서브클러스터를 설치한 것에 의한 효과가 낮아지게 된다. 바꾸어 말하면, 서브클러스터의 수가 적으면, 서브클러스터마다의 특징이 나오기 어렵게 될 가능성이 있다. 또한, 서브클러스터의 수가 많아도, 서브클러스터마다의 차이가 작은 것으로 되어, 결과적으로 서브클러스터마다의 특징이 나오기 어렵게 될 가능성이 있다.
따라서, 서브클러스터의 수가, 서브클러스터마다의 특징이 명확하게 될 정도의 수이며, 또한, 수가 지나치게 많기 때문에 처리를 하기 어렵게 된다고 하는 문제점이 발생하기 어려운 수로 되도록, 즉, 적절한 수로 모여지도록 처리가 행하여지도록 해도 된다.
적절한 수로 모으도록 하기 위해, 예를 들면, 스텝 S72에서, 서브클러스터에 포함되는 아이템수가 임계값과 비교되지만, 편집의 결과, 서브클러스터의 수가 지나치게 적게 되지 않도록, 또는 지나치게 많게 되지 않도록, 그 임계값을 가변값으로 하고, 적절히 변경되도록 해도 된다. 즉, 임계값을 가변으로 하고, 조정함으로써, 그대로 남기는 서브클러스터의 수를 조정할 수 있다.
또한, 스텝 S75에서, 지지율이 임계값 이하인지의 여부가 판단되는데, 편집의 결과, 서브클러스터의 수가 지나치게 적게 되지 않도록, 또는 지나치게 많게 되지 않도록, 그 임계값을 가변값으로 하고, 적절히 변경되도록 해도 된다. 즉, 임계값을 가변으로 하고, 조정함으로써, 삭제되는 서브클러스터의 수를 조정할 수 있다.
또한, 이하에 설명하는 바와 같이, 클러스터링의 방법을 변화시키도록 해도 된다. 클러스터링의 방법으로서는, 상기한 바와 같이, k-means나 계층 등의 방법 등이 있으며, 복수의 클러스터링의 방법이 존재한다. 따라서, 미리 복수의 클러스터링의 방법마다, 서브클러스터를 구하고, 그 결과를 비교, 검토함으로써, 적절한 서브클러스터의 수(분포)로 되는 방법을 적용하도록 해도 된다.
여기서는, 도 18에 도시한 결과가 이용되고, 클러스터링되는 것으로 한다. 그리고, 그 클러스터링의 결과, 한번 서브클러스터가 결정되었지만, 그 후, 상기한 바와 같은 서브클러스터링의 삭제나 병합이 행하여지고, 그 결과, 도 23에 도시하는 바와 같은 결과가 얻어진 것으로서 설명을 계속한다.
도 23은, 클러스터링의 방법으로서, 방법X, 방법Y, 방법Z의 각각의 방법으로, 클러스터링을 행하고, 삭제나 병합과 같은 처리를 행한 결과를 도시하고 있다. 즉, 도 23에서는, 클러스터링의 방법, 곡1 내지 6, 분류처의 서브클러스터가 각각 관련지어져 있다.
도 23에 도시한 표에 따르면, 곡1과 곡2는, 각각, 방법X, 방법Y, 및 방법Z의 모든 방법으로 "서브클러스터1"에 분류되어 있다. 곡3은, 방법X이면 "서브클러스 터2"에 분류되고, 방법Y 또는 방법Z이면 "서브클러스터1"에 분류된다. 곡4는, 방법X이면 "서브클러스터3"에 분류되고, 방법Y 또는 방법Z이면 "서브클러스터2"에 분류된다. 곡5는, 방법X 또는 방법Y이면 "서브클러스터3"에 분류되고, 방법Z이면 "서브클러스터2"에 분류된다. 곡6은, 방법X이면 "서브클러스터3"에 분류되고, 방법Y 또는 방법Z이면 "서브클러스터2"에 분류된다.
이와 같이, 곡1 내지 6이, 각각의 방법X, 방법Y, 또는 방법Z로 클러스터링되면, 서로 다른 서브클러스터에 분류될 가능성이 있다. 이와 같은 결과를 이용하여, 어느 클러스터링의 방법이, 그 모드에 적합한지를 판단한다.
어느 클러스터링의 방법으로 할지를 결정하기 위해, 도 24에 도시하는 바와 같이, 방법마다의 지지율이 산출된다. 지지율은, 산출 대상으로 되는 방법에 포함되는 소정의 서브클러스터의 비율의 총합을, 그 서브클러스터수로 제산한 값으로 된다. 예를 들면, 방법X에서의 서브클러스터1의 지지율은, 이하와 같이 산출된다.
방법X로 클러스터링되면, 곡1과 곡2가 클러스터1에 분류된다(도 23 참조). 곡1과 곡2의 비율은, 각각 "0.80"과 1.00"이다(도 18 참조).
따라서, 방법X에서의 서브클러스터1에서의 비율의 총합은 "1.80"(=0.80+1.00)이다. 이 총합은, 곡1과 곡2라고 하는 2개의 아이템의 비율의 총합이므로, 이 총합을 2로 제산하여, "0.90"이라고 하는 값이 얻어진다. 이와 같이 하여 지지율이 산출된다.
마찬가지로, 방법X에서의 서브클러스터2의 지지율을 산출하면, 이하와 같이 된다. 즉, 방법X로 클러스터링되었을 때에 서브클러스터2에 분류되는 것은, 곡3뿐 이며, 곡3의 비율은 "0.60"이므로, 0.60/1=0.60으로 지지율이 산출된다.
또한 마찬가지로, 방법X에서의 서브클러스터3의 지지율을 산출하면, 이하와 같이 된다. 즉, 방법X로 클러스터링되었을 때에 서브클러스터3에 분류되는 것은, 곡4, 곡5, 곡6이며, 곡4의 비율은 "0.20", 곡5의 비율은 "0.20", 곡6의 비율은 "0.20"이므로, (0.20+0.20+0.20)/3=0.20으로 지지율이 산출된다.
이와 같이 하여, 방법마다, 또한 서브클러스터마다, 지지율을 산출하면, 도 24에 도시한 바와 같이 된다.
그런데, 좋은 클러스터링의 방법이란, 그 결과가 분산되어 있는 편이 좋다. 따라서, 도 24에 도시한 바와 같은 결과를 이용하여, 방법마다의 지지율의 분산을 산출하고, 그 값이 가장 큰 방법을, 적절한 방법인 것으로서 설정되도록 한다.
지지율의 분산은, 이하의 수학식 2에 기초하여 산출된다. 수학식 2에서의 분산의 값은,
σ2로 표시하고 있다.
수학식 2에서, n은, 소정의 방법으로 클러스터링을 실행하고, 서브클러스터의 편집을 하였을 때에, 결과로서 얻어진 서브클러스터의 수이다. 예를 들면, 도 24에서, 방법X로 클러스터링을 실행하였을 때에, 결과로서 얻어지는 것은, 클러스터링1 내지 3의 3개의 서브클러스터이므로, n의 값은 "3"으로 된다.
수학식 2에서, 분자의 괄호 내의 제1항은, 소정의 방법에서의 지지율의 평균값을 나타내고, 제2항은, 각 지지율을 나타낸다. 즉, 괄호 내의 연산이 행하여짐으로써, 소정의 방법에서의 소정의 서브클러스터의 지지율이, 그 방법에서의 지지율의 평균값과 어느 정도 벗어나 있는지가 산출된다. 수학식 2에서의 분자에서는, 괄호 내의 값의 2승의 총합이 산출되고, 그 총합이 산출된다. 그 총합이 n으로 제산됨으로써 분산의 값이 구해진다.
예를 들면, 방법X에서의 지지율의 평균값은, 도 24를 참조하면,
(0.90+0.60+0.20)/3=0.566
으로 산출된다. 따라서, 수학식 2에서의 괄호 내의 제1항의 값은, "0.57"로 된다(사사오입).
그리고, 이 지지율의 평균값과의 차분의 2승이 산출되는, 그 총합이 산출됨으로써, 수학식 2의 분자의 값이 산출된다. 즉, 방법X일 때에는, 다음의 수학식에 의해 수학식 2의 분자의 값이 산출된다.
(0.57-0.90)2+(0.57-0.60)2+(0.57-0.20)2=0.247
분모 n은, "3"이므로, 산출된 "0.247"을 "3"으로 제산하고, "0.082"라고 하는 값을 얻을 수 있다. 이 값이 방법X의 분산의 값이다.
이와 같은 계산이 방법Y와 방법Z의 각각에서, 마찬가지로 행하여짐으로써, 방법Y의 분산의 값은 "0.080"으로 구해지고, 방법Z의 분산의 값은 "0.116"으로 구해진다. 정리하면 이하와 같이 된다.
방법X 0.082
방법Y 0.080
방법Z 0.116
이 중, 가장 값이 높은 것은, 방법Z의 분산의 값이다. 따라서 이 경우, 방법Z가, 클러스터링의 방법으로서 적합한 방법인 것으로서 적용된다.
이와 같이 하여, 복수의 클러스터링의 방법으로부터, 가장 적합하다고 판단되는 1개의 방법이 선택되고, 설정된다. 이와 같이 클러스터링의 방법 자체가 선택됨으로써, 보다 적절하게 서브클러스터를 설정하는 것이 가능하게 된다. 또한, 적절한 클러스터링 방법에 의해 클러스터링된 결과를 이용함으로써, 보다 적절한 처리, 예를 들면, 후술하는 아이템의 추천의 처리 등을 행하는 것이 가능하게 된다.
[클러스터(서브클러스터)의 부여에 관한 처리에 대하여]
이와 같이 하여, 클러스터의 학습이 행하여지면, 새롭게 추가되는 메타 데이터(클러스터나 서브클러스터의 정보가 아직 기재되어 있지 않은 메타 데이터)에 대하여 클러스터나 서브클러스터(이하, 클러스터라는 기재에는, 특별히 언급이 없는 한, 서브클러스터를 포함하는 것으로 함)를 할당하기 위한 처리가 실행된다. 이와 같은 처리는, 학습부(51)의 클러스터 부여 학습부(53)(도 6)에 의해 행하여진다. 도 25의 플로우차트를 참조하여, 클러스터 부여에 관계되는 처리에 대하여 설명한다.
스텝 S81에서, 메타 데이터 취득부(111)(도 6)는, 클러스터가 부여되어 있는 메타 데이터를 취득한다. 클러스터가 부여되어 있는 메타 데이터는, 클러스터 학습부(52)(또는, 클러스터 학습부(52'))에서의 처리가 종료한 시점에서, 데이터베이스(54)(도 3)에 기억되어 있다. 즉, 데이터베이스(54)에는, 클러스터가 부여되어 있는 메타 데이터와, 클러스터가 부여되어 있지 않은 메타 데이터가 존재한다.
스텝 S81에서는, 클러스터가 부여되어 있는 메타 데이터가 취득된다. 스텝 S82에서, 취득된 메타 데이터로부터, 특징량이 추출된다. 메타 데이터는, 상기한 바와 같이, 클러스터 이외의 항목에 대한 정보(이하, 적절하게, 기존 정보로 기술함)는, 기재되어 있는 상태에서, 데이터베이스(54)에 기억되어 있다.
예를 들면, 우선, 클러스터1이 부여되어 있는 메타 데이터를 추출하고, 추출된 각 메타 데이터로부터, 기존 정보가 읽어내어진다. 클러스터는, 상기한 바와 같이 무드(유저의 감정) 등에 기초하여 분류된 결과이다. 유저의 감정 등에 기초하고 있기 때문에, 클러스터마다 특징이 있다. 즉 이 경우, 소정의 클러스터(예를 들면, 클러스터1)에 속하는 곡(아이템)에는, 일정한 특징이 있다고 생각된다. 또한 이때, 서브클러스터도 고려하여, 동일한 클러스터의 동일한 서브클러스터에 속하는 곡이 처리 대상으로 되도록 해도 된다.
따라서, 스텝 S82에서, 소정의 클러스터에 속하는 곡의 메타 데이터를 추출하고, 추출된 메타 데이터로부터, 기존 정보를 읽어내고, 읽어내어진 기존 정보를 이용하여, 클러스터에 속하는 곡의 특징량이 산출된다. 산출된 클러스터의 특징량은, 적절하게 데이터베이스(54)에 기억된다.
스텝 S83에서, 아이템 메타 데이터 취득부(114)는, 데이터베이스(54)에 기억 되어 있는 메타 데이터 중, 클러스터가 부여되어 있지 않은(클러스터의 정보가 기재되어 있지 않은) 메타 데이터를 읽어낸다. 읽어내어진 메타 데이터는, 비해당 필터(113)에 공급된다. 비해당 필터(113)는, 상술한 클러스터의 학습 처리가 실행됨으로써 생성된 필터이다.
비해당 필터(113)는, 그 시점에서, 처리 대상으로 되어 있는 무드(처리 대상으로 되어 있는 클러스터(서브클래스는 포함하지 않음))에 관하여 생성된 비해당 필터의 데이터를, 데이터베이스(54)로부터 읽어내고, 그 데이터와, 아이템 메타 데이터 취득부(114)로부터의 데이터가 일치하는지의 여부를 판단함으로써 필터링을 행한다.
즉, 아이템 메타 데이터 취득부(114)로부터의 아이템이, 소정의 무드에 해당하는 아이템인지의 여부가 판단된다.
스텝 S85에서, 스텝 S84의 필터링의 처리가 행하여진 결과, 아이템 메타 데이터 취득부(114)로부터의 아이템은, 서브클러스터를 부여하는 대상으로 되는 아이템(그 아이템의 메타 데이터)인지의 여부가 판단된다. 스텝 S85에서, 서브클러스터를 부여할 메타 데이터가 아니라고 판단된 경우, 바꾸어 말하면, 처리 대상으로 되어 있는 무드에는 해당하지 않는 아이템이라고 판단된 경우, 스텝 S85 이하의 처리를 행할 필요가 없기 때문에, 그 아이템에 대한 서브클러스터의 부여 처리는 종료된다.
한편, 스텝 S85에서, 서브클러스터를 부여할 메타 데이터라고 판단된 경우, 스텝 S86으로 처리가 진행된다. 이 경우, 소정의 무드에 해당한다고 판단된 시점 에서, 그 소정의 무드에 할당된 클러스터로 결정되게 된다. 따라서, 클러스터는 결정되었으므로, 나중의 처리로서는 서브클러스터를 결정하기 위한 처리가 행하여진다.
소정의 무드에 해당한다고 판단된 시점에서, 그 소정의 무드에 할당된 클러스터로 결정된다고 기재하였지만, 그러한 처리를 행하기 위해, 예를 들면, 도 26에 도시하는 바와 같은 무드 클러스터 변환 테이블(191)이 참조된다. 이 무드 클러스터 변환 테이블(191)은, 클러스터 결정부(115)(도 6)가 유지하고 있다.
무드 클러스터 변환 테이블(191)은, 도 26에 도시하는 바와 같이 1개의 무드와 1개의 클러스터가 관련지어진 정보가 기재되어 있는 테이블이다. 무드 클러스터 변환 테이블(191)에는, 또 다른 정보도 기재하도록(관련짓도록) 해도 된다.
예를 들면, 1개의 무드와, 그 무드에 관련되는(연상되는) 말을, 더 관련짓는 것도 가능하다. 예를 들면, "슬프다"와 같은 무드(말)로부터 연상되는 "장식", "실연", "황혼"과 같은 말을 관련짓고, 무드 클러스터 변환 테이블(191)에 기재해 두어도 된다. 이와 같이 하였을 때, 유저가 "황혼"이라는 키워드를 입력한 경우, "황혼"에 관련지어져 있는 "슬프다"라고 하는 무드가 설정되고, 그 "슬프다"라고 하는 무드에 관련지어져 있는 클러스터가 설정된다.
또한 여기서는, 1개의 무드에 1개의 클러스터가 할당되어 있는 것으로 설명을 하지만, 복수의 무드에 1개의 클러스터가 할당되도록 해도 된다. 단, 복수의 무드란, 유사한 무드(예를 들면, 슬프다, 매우 슬프다, 비탄 등의 유사한 감정)인 것이 바람직하다. 또한, 본 실시 형태에서는, 서브클러스터를 설정할 수 있기 때 문에, 유사한 복수의 무드를 1개의 클러스터에 할당해도, 서브클러스터로 분류할 수 있기 때문에, 복수의 무드를 1개의 클러스터에 할당한 것에 의한 정밀도의 저하 등이 발생하는 일은 없다.
이와 같은 무드 클러스터 변환 테이블(191)이 참조되어 클러스터가 설정되고, 이하에 설명하는 처리에 의해, 서브클러스터가 설정된다.
스텝 S86에서, 클러스터 결정부(115)는, 서브클러스터를 판단한다. 클러스터 결정부(115)는, 아이템 메타 데이터 취득부(114)로부터 공급된 메타 데이터의 기존 정보를 읽어내고, 그 기존 정보와, 특징 분석부(112)로부터 공급되는(또는, 데이터베이스(54)로부터 읽어내어지는) 특징량의 매칭을 취함으로써, 어느 서브클러스터에 속하는지(예를 들면, 도 14에 도시한 바와 같이 서브클러스터1 내지 5의 5개의 서브클러스터가 있을 때에는, 서브클러스터1 내지 5 중의 어느 서브클러스터에 속하는지)가 판단된다.
또한 여기서는, 기존 정보와 특징량이 매칭됨으로써 서브클러스터가 결정되는 것으로 하였지만, 특징량으로서 어떠한 데이터가 산출되는지 등(즉, 스텝 S82에서 산출되는 정보)은, 이 스텝 S86에서 실행되는 서브클러스터의 판단 처리의 방법에 의존하여 결정된다. 또한, 여기서는 매칭에 의해 서브클러스터가 결정되는 것으로서 설명하였지만, 다른 방법에 의해 서브클러스터가 결정되도록 해도 된다.
예를 들면, 서브클러스터를 판단할 때의 처리로서, 결정 트리 등의 방법, 판별식을 이용한 방법, 클러스터의 센트로이드와의 유사도를 이용하는 방법, 지지율에 의해 유사도의 계산을 행할 때에 가중치 부여를 하여 행하는 방법, 특징량 메타 데이터를 카테고리화하여 유사도 계산을 행하는 방법 등을 이용할 수 있다. 즉, 비해당 곡이나 클러스터의 분류를 행할 수 있는 학습 방법이면, 어떠한 방법이어도 된다.
이와 같은 결정 트리 등의 방법이나 판별식을 이용한 방법 등을 이용하여, 서브클러스터가 판단되도록 한 경우, 결정 트리나 판별식은, 스텝 S81이나 스텝 S82의 처리가 행하여짐으로써 생성된 수치나 처리 수순이 이용된다.
즉, 클러스터(서브클러스터)가 부여되어 있는 메타 데이터를 해석함으로써, 예를 들면, 아이템이 곡이었던 경우, 클러스터1에서 서브클러스터1에 속하는 곡의 템포는 어떠한 수치의 범위 내에 들어가는지, 스피드는 어떠한 수치의 범위 내에 들어가는지 등이 해석되며, 그러한 해석에 기초하는 결정 트리나 판별식이 생성된다. 그리고, 생성된 결정 트리나 판별식에 기초하여, 서브클러스터의 판단의 처리가 실행된다.
스텝 S86에서, 소정의 곡의 메타 데이터의 서브클러스터(아이템의 서브클러스터)가 결정되면, 스텝 S87에서, 그 결정된 서브클러스터가, 메타 데이터에 기입된다. 또한, 클러스터는 상술한 바와 같이, 비해당 필터(113)에서의 필터링이 이루어진 시점에서 결정되어 있고(무드 클러스터 변환 테이블(191)이 참조된 시점에서 결정되어 있고), 그 클러스터가 메타 데이터에, 서브클러스터와 함께 기입된다.
클러스터와 서브클러스터가 기입된 메타 데이터는, 데이터베이스(54)에 기억된다. 클러스터가 기입된 메타 데이터는, 예를 들면, 도 9에 도시한 바와 같은 메타 데이터(172)이다.
이와 같이 하여, 이미 클러스터나 서브클러스터가 부여되어 있는 메타 데이터가 이용되고, 클러스터가 부여되어 있지 않은 메타 데이터에 대하여 클러스터와 서브클러스터가 부여된다. 이와 같이 하여 클러스터와 서브클러스터가 부여된 데이터를, 스텝 S81에서의 처리에서, 클러스터가 부여되어 있는 메타 데이터로서 취급되도록 해도 된다. 또는, 도 11이나 도 15의 플로우차트(클러스터 학습 처리)의 처리 대상으로 된 메타 데이터만이, 스텝 S81에서의 클러스터가 부여되어 있는 메타 데이터로서 취득되도록 해도 된다.
또한, 도 11이나 도 15의 플로우차트(클러스터 학습 처리)의 처리 대상으로 된 메타 데이터만이, 스텝 S81의 처리에서 취득되도록 한 경우, 스텝 S81이나 스텝 S82의 처리는, 1회만 행하여지면 된다. 스텝 S81이나 스텝 S82에서의 처리에 의해, 1회 산출된 특징량은, 데이터베이스(54)에 기억되고, 그 기억되어 있는 특징량이 이용되어, 스텝 S83 이후의 처리가 실행되도록 하면 된다. 즉, 스텝 S81과 스텝 S82의 처리는, 1회, 특징량이 산출된 후는, 생략하는 것이 가능하다.
[아이템의 추천에 관한 처리에 대하여]
이와 같이 하여, 클러스터가 부여된 메타 데이터가 이용되고, 유저에 대하여, 유저에 적합한 정보가 추천될 때의 처리가 실행된다. 추천의 처리는, 추천부(55)(도 7)에 의해 실행된다. 도 27의 플로우차트를 참조하여, 추천부(55)에 의해 행하여지는 추천의 처리에 대하여 설명한다.
스텝 S101에서, 무드 정보 취득부(141)는, 무드 정보를 취득한다. 무드 정보는, 유저로부터 제공된다. 예를 들면, 단말기(3)(도 1)가 조작되고, 유저가, 유 저 자신의 무드(그 시점의 감정, 기분 등)를 입력하고(예를 들면, "슬프다"와 같은 텍스트 데이터를 입력하고), 서버(2)에 대하여 송신하면, 그 정보가, 서버(2)의 무드 정보 취득부(141)에 공급된다.
스텝 S102에서, 무드 클러스터 변환부(142)는, 무드 정보 취득부(141)에 의해 취득된 무드 정보를, 클러스터의 정보로 변환한다. 상술한 바와 같이, 1개의 무드에는 1개의 클러스터가 대응하도록 할당되어 있다. 예를 들면, 도 26의 무드 클러스터 변환 테이블(191)에 기재되어 있는 바와 같이, "슬프다"와 같은 무드는, "클러스터1"에, "즐겁다"와 같은 무드는, "클러스트2"에라고 한 것처럼, 무드와 클러스터는 쌍을 이루고 있다.
이와 같은, 무드 정보를 클러스터 정보로 변환하기 위해, 무드 클러스터 변환부(142)는, 예를 들면, 도 26에 도시하는 바와 같은 무드 클러스터 변환 테이블(191)을 유지하고 있다.
무드 클러스터 변환 테이블(191)은, 상술한 바와 같이 클러스터 부여 학습부(53)의 클러스터 결정부(115)도 유지하고 있는 것으로서 설명을 하였지만, 그 클러스터 결정부(115)가 유지하고 있는 무드 클러스터 변환 테이블(191)을, 무드 클러스터 변환부(142)가 참조하는(공용하는) 것도 가능하다.
무드 클러스터 변환부(142)는, 스텝 S102에서, 공급된 무드 정보가, 어느 클러스터에 해당하는 정보인지를, 무드 클러스터 변환 테이블(191)을 참조하여 결정한다. 결정된 클러스터 정보는, 추천 정보 생성부(143)에 공급된다.
스텝 S103에서, 추천 정보 생성부(143)는, 클러스터 정보가 나타내는 클러스 터에 속하는 아이템 중의 1개를 유저측에 제공한다. 아이템의 메타 데이터(172)(도 9)에는, 클러스터의 정보가 기입되어 있다. 그 기입되어 있는 클러스터가, 클러스터 정보와 일치하는 아이템이, 데이터베이스(54)로부터 읽어내어진다. 클러스터 정보와 일치하는 클러스터가 기입된 메타 데이터의 아이템은, 데이터베이스(54)에 복수 기억되어 있을 가능성이 있다.
복수의 아이템이 데이터베이스(54)에 기억되어 있던 경우, 예를 들면, 서브클러스터가 "1"(디폴트값)인 아이템이 읽어내어진다. 서브클러스터가 "1"인 아이템도, 데이터베이스(54)에 복수 기억되어 있을 가능성이 있는데, 복수 기억되어 있을 경우에는, 소정의 방식에 따라서(예를 들면 아이템 NO가 빠른 순서에 따라서), 1개의 아이템이 읽어내어지도록 해도 되고, 랜덤하게 1개의 아이템이 읽어내어지도록 해도 된다.
어쨌든, 클러스터 정보와 일치하는 클러스터가 기입되어 있는 메타 데이터를 갖는 아이템이 읽어내어지고, 유저에게 제공된다.
스텝 S105에서, 다른 아이템의 제공이 지시되었는지의 여부가 판단된다. 예를 들면, 유저는, 제공된 아이템(곡)이, 자신이 입력한 무드(기분)에 적합하지 않다고 생각하고, 다른 곡의 제공을 지시할 수 있다. 이와 같은 지시가 있었는지의 여부가, 스텝 S105에서 판단된다. 이 판단은, 무드 정보 취득부(141)가 행하도록 할 수 있다.
스텝 S105에서, 다른 아이템(곡)의 제공은 지시되어 있지 않다고 판단된 경우, 그대로, 그 시점에서의 클러스터와 서브클러스터에 해당하는 아이템이, 유저측 에 계속 제공된다.
한편, 스텝 S105에서, 다른 아이템의 제공이 지시되었다고 판단된 경우, 스텝 S106으로 처리가 진행된다. 스텝 S106에서, 그 시점에서 설정되어 있는 서브클러스터의 다음의 서브클러스터(다른 서브클러스터)에 재설정되고, 그 재설정된 서브클러스터에 속하는 아이템이 읽어내어지고, 유저에게 제공된다(스텝 S104로 처리가 복귀되고, 그 이후의 처리가 반복됨으로써, 유저에게 제공된다).
이때, 서브클러스터는 재설정되지만, 클러스터는, 그대로의 설정이 유지된다. 즉, 유저가 입력한 무드에 속하는(클러스터에 속하는) 곡이, 계속적으로 유저측에 제공되지만, 동일한 무드에 속해 있어도 서로 다른 느낌의 곡(서브클러스터의 다른 곡)이, 유저측에 제공된다.
이것은, 동일한 무드(동일한 기분, 감정 등)이어도, 유저에 따라 느끼는 방법이 서로 다른 경우가 있지만, 그러한 차이를 흡수한 아이템의 제공을 할 수 있는 것을 의미하고 있다. 즉, 본 발명을 적용하면 개개의 유저에게 적합한 아이템의 제공을 행할 수 있다.
그런데, 전술한 실시 형태에서는, 서버(2) 측에서 클러스터의 학습이나 아이템의 추천에 관한 처리가 행하여지는 것으로서 설명을 하였다. 이와 같은 서버(2) 측에서 처리가 행하여지는 형태는, 예를 들면, 네트워크(1)를 통하여 아이템을 제공할 때 등에 적합하다.
그러나, 상술한 바와 같은 클러스터의 학습이나 아이템의 추천에 관한 처리가, 서버(2) 측에서만 행하여지는 것을 의미하고 있는 것이 아니다. 예를 들면, 클러스터의 학습에 관한 처리는, 서버(2) 측에서 행하고, 그 결과를 이용하여 단말기(3) 측에서, 아이템의 추천이 행하여지도록 하는 것도 가능하다. 나아가서는, 단말기(3) 측에서 클러스터의 학습이나 아이템의 추천에 관한 처리가 실행되도록 해도 된다.
단말기(3) 측에서, 학습은 추천의 처리가 행하여지도록 한 경우, 예를 들면, 유저가 구입한 CD(Compact Disk)에 기록되어 있는 악곡 데이터나 단말기(3)의 데이터베이스(도시되지 않음)에 기억되어 있는 곡의 악곡 데이터를 해석함으로써, 클러스터의 학습이 행하여지고, 단말기(3)의 데이터베이스에 기억되어 있는 곡이 추천되도록 한다고 한 처리를 행하는 것도 가능하다.
단말기(3) 측에서, 학습부터 추천까지의 일련 처리를 행하도록 한 경우도, 상술한 경우와 마찬가지의 처리로 행하는 것이 가능하다.
본 발명을 적용함으로써, 유저의 감정, 기분과 같은 무드에 적합한 아이템이, 어떠한 아이템인지를 학습할 수 있다. 또한, 학습의 결과를 이용하여, 새롭게 추가된 아이템이, 어떠한 무드에 적합한 아이템인지를 분류할 수 있다. 또한, 분류된 결과를 이용하여, 유저의 무드에 적합한 아이템을 추천할 수 있다. 그 추천은, 개개의 유저에게 있어서, 적합한 아이템을 추천할 수 있다.
[기록 매체에 대하여]
상술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 조립되어 있는 컴퓨 터, 또는, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들면 범용의 퍼스널 컴퓨터 등에, 프로그램 저장 매체로부터 인스톨된다.
컴퓨터에 인스톨되고, 컴퓨터에 의해 실행 가능한 상태로 되는 프로그램을 저장하는 프로그램 저장 매체는, 도 2에 도시하는 바와 같이, 자기 디스크(플렉시블 디스크를 포함함), 광 디스크(CD-ROM(Compact Disc-Read Only Memory), DVD(Digital Versatile Disc)을 포함함), 광 자기 디스크(MD(Mini-Disc)를 포함함), 혹은 반도체 메모리 등으로 이루어지는 패키지 미디어인 리무버블 미디어(31), 또는, 프로그램이 일시적 혹은 영속적으로 저장되는 ROM(22)이나, 기억부(28)를 구성하는 하드디스크 등에 의해 구성된다. 프로그램 저장 매체에의 프로그램의 저장은, 필요에 따라서 라우터, 모뎀 등의 인터페이스인 통신부(29)를 통하여, 로컬 에리어 네트워크, 인터넷, 디지털 위성 방송과 같은, 유선 또는 무선의 통신 매체를 이용하여 행하여진다.
또한, 본 명세서에서, 프로그램 저장 매체에 저장되는 프로그램을 기술하는 스텝은, 기재된 순서에 따라 시계열적으로 행하여지는 처리는 물론, 반드시 시계열적으로 처리되지 않아도, 병렬적 혹은 개별로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에서, 시스템이란, 복수의 장치에 의해 구성되는 장치 전체를 나타내는 것이다.
또한, 본 발명의 실시 형태는, 상술한 실시 형태에 한정되는 것이 아니라, 본 발명의 요지를 일탈하지 않는 범위에서 여러 가지의 변경이 가능하다.
Claims (10)
- 소정의 아이템이, 소정의 무드에 해당하는지의 여부를 나타내는 정보를 취득하는 취득 수단과, 상기 취득 수단에 의해 취득된 상기 정보를 해석하고, 소정의 무드에 해당하지 않는다고 판단되는 아이템의 특징량을 추출하는 추출 수단과,상기 취득 수단에 의해 취득된 상기 정보를 해석하고, 상기 무드에 대응하는 클러스터와 그 클러스터에 대응하는 복수의 서브클러스터를 학습하는 제1 학습 수단과,상기 제1 학습 수단에 의해 학습된 상기 클러스터와 서브클러스터가 부여된 상기 아이템을 이용하여, 상기 무드마다의 특징을 학습하는 제2 학습 수단과,클러스터가 부여되어 있지 않은 아이템의 특징량이, 상기 추출 수단에 의해 추출된 상기 특징량과 일치하는지의 여부를 판단하는 판단 수단과,상기 판단 수단에 의해, 일치하지 않는다고 판단된 상기 아이템에 대하여, 상기 제2 학습 수단에 의해 학습된 상기 특징에 기초하여, 클러스터와 서브클러스터를 부여하는 부여 수단을 구비하는 정보 처리 장치.
- 제1항에 있어서,상기 취득 수단에 의해 취득되는 정보는, 상기 유저에 대하여 실시된 앙케이트의 결과에 관한 정보인 정보 처리 장치.
- 제1항에 있어서,상기 제1 학습 수단은, 상기 취득 수단에 의해 취득된 정보를 다변량 해석함으로써 수차원의 데이터로 수량화하고,수차원의 데이터로 수량화된 상기 정보를 클러스터링함으로써 상기 서브클러스터를 학습하는 정보 처리 장치.
- 제1항에 있어서,상기 제1 학습 수단은, 상기 추출 수단에 의해 특징량이 추출되는 대상으로 되지 않는 상기 아이템의 특징량을 다변량 해석함으로써 수차원의 데이터로 수량화하고,수차원의 데이터로 수량화된 상기 특징량을 클러스터링함으로써 상기 서브클러스터를 학습하는 정보 처리 장치.
- 제1항에 있어서,상기 제1 학습 수단은, 상기 서브클러스터를 재편집하는 재편집 수단을 구비하고,상기 재편집 수단은, 소정의 서브클러스터에 포함되는 아이템수가, 소정의 임계값 이하인 경우, 그 서브클러스터를 삭제하는 정보 처리 장치.
- 제5항에 있어서,상기 재편집 수단은, 소정의 서브클러스터에 포함되는 아이템수가, 소정의 임계값 이하이며, 또한, 상기 소정의 서브클러스터에 포함되는 아이템 중, 소정의 무드에 해당한다고 판단된 아이템수의 비율에 의해 산출되는 값이, 소정의 임계값 이상인 경우, 상기 소정의 서브클러스터를, 다른 서브클러스터에 병합하는 정보 처리 장치.
- 제1항에 있어서,상기 제1 학습 수단에서, 상기 서브클러스터가 학습될 때에 이용되는 복수의 클러스터링 방법으로부터 1개의 방법을 선택하는 선택 수단을 더 구비하며,상기 선택 수단은, 상기 복수의 클러스터링 방법의 각각에서 클러스터링을 행한 결과에 기초하여, 상기 서브클러스터가 가장 분산되어 있는 방법을 선택하는 정보 처리 장치.
- 제1항에 있어서,무드에 관한 정보를, 그 정보가 나타내는 무드에 관련지어져 있는 클러스터로 변환하는 변환 수단과,상기 변환 수단에 의해 변환된 상기 클러스터가 할당되어 있는 아이템을 추천하는 추천 수단을 더 구비하며,상기 추천 수단에 의해 추천된 제1 아이템 이외의 제2 아이템의 추천이 지시 된 경우, 상기 제1 아이템의 서브클러스터와 서로 다른 서브클러스터가 부여된 상기 제2 아이템을 추천하는 정보 처리 장치.
- 소정의 아이템이, 소정의 무드에 해당하는지의 여부를 나타내는 정보를 취득하는 취득 스텝과,상기 취득 스텝의 처리에서 취득된 상기 정보를 해석하고, 소정의 무드에 해당하지 않는다고 판단되는 아이템의 특징량을 추출하는 추출 스텝과,상기 취득 스텝의 처리에서 취득된 상기 정보를 해석하고, 상기 무드에 대응하는 클러스터와 그 클러스터에 대응하는 복수의 서브클러스터를 학습하는 제1 학습 스텝과,상기 제1 학습 스텝의 처리에서 학습된 상기 클러스터와 서브클러스터가 부여된 상기 아이템을 이용하여, 상기 무드마다의 특징을 학습하는 제2 학습 스텝과,클러스터가 부여되어 있지 않은 아이템의 특징량이, 상기 추출 스텝의 처리에서 추출된 상기 특징량과 일치하는지의 여부를 판단하는 판단 스텝과,상기 판단 스텝의 처리에서 일치하지 않는다고 판단된 상기 아이템에 대하여, 상기 제2 학습 스텝의 처리에서 학습된 상기 특징에 기초하여, 클러스터와 서브클러스터를 부여하는 부여 스텝을 포함하는 정보 처리 방법.
- 소정의 아이템이, 소정의 무드에 해당하는지의 여부를 나타내는 정보를 취득 하는 취득 스텝과,상기 취득 스텝의 처리에서 취득된 상기 정보를 해석하고, 소정의 무드에 해당하지 않는다고 판단되는 아이템의 특징량을 추출하는 추출 스텝과,상기 취득 스텝의 처리에서 취득된 상기 정보를 해석하고, 상기 무드에 대응하는 클러스터와 그 클러스터에 대응하는 복수의 서브클러스터를 학습하는 제1 학습 스텝과,상기 제1 학습 스텝의 처리에서 학습된 상기 클러스터와 서브클러스터가 부여된 상기 아이템을 이용하여, 상기 무드마다의 특징을 학습하는 제2 학습 스텝과,클러스터가 부여되어 있지 않은 아이템의 특징량이, 상기 추출 스텝의 처리에서 추출된 상기 특징량과 일치하는지의 여부를 판단하는 판단 스텝과,상기 판단 스텝의 처리에서 일치하지 않는다고 판단된 상기 아이템에 대하여, 상기 제2 학습 스텝의 처리에서 학습된 상기 특징에 기초하여, 클러스터와 서브클러스터를 부여하는 부여 스텝을 포함하는 처리를 컴퓨터에 실행시키는 프로그램.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2006-00001042 | 2006-01-06 | ||
JP2006001042 | 2006-01-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080089545A true KR20080089545A (ko) | 2008-10-07 |
Family
ID=38228327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077020329A KR20080089545A (ko) | 2006-01-06 | 2007-01-05 | 정보 처리 장치 및 방법, 및 프로그램 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8204837B2 (ko) |
EP (1) | EP1970820A4 (ko) |
KR (1) | KR20080089545A (ko) |
CN (1) | CN101326524A (ko) |
WO (1) | WO2007077991A1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011070979A1 (ja) | 2009-12-11 | 2011-06-16 | 日本電気株式会社 | 辞書作成装置 |
JP5477635B2 (ja) * | 2010-02-15 | 2014-04-23 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
US8686270B2 (en) * | 2010-04-16 | 2014-04-01 | Sony Corporation | Apparatus and method for classifying, displaying and selecting music files |
GB2481185A (en) * | 2010-05-28 | 2011-12-21 | British Broadcasting Corp | Processing audio-video data to produce multi-dimensional complex metadata |
CN103202029B (zh) * | 2010-11-08 | 2016-01-20 | 日本电气株式会社 | 信息处理设备 |
JP5568077B2 (ja) * | 2011-12-28 | 2014-08-06 | 楽天株式会社 | 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムが記録された記録媒体 |
WO2014034257A1 (ja) * | 2012-09-03 | 2014-03-06 | ソニー株式会社 | 情報処理装置、情報処理方法およびシステム |
US10484323B1 (en) * | 2013-03-13 | 2019-11-19 | iDialogs LLC | Computer human interaction and dialog |
US10210156B2 (en) * | 2014-01-10 | 2019-02-19 | International Business Machines Corporation | Seed selection in corpora compaction for natural language processing |
CN104063418A (zh) * | 2014-03-17 | 2014-09-24 | 百度在线网络技术(北京)有限公司 | 搜索推荐方法和装置 |
CN104809221B (zh) * | 2015-04-30 | 2018-06-19 | 努比亚技术有限公司 | 音乐信息的推荐方法及装置 |
US10817540B2 (en) * | 2016-09-02 | 2020-10-27 | Snowflake Inc. | Incremental clustering maintenance of a table |
US11238083B2 (en) * | 2017-05-12 | 2022-02-01 | Evolv Technology Solutions, Inc. | Intelligently driven visual interface on mobile devices and tablets based on implicit and explicit user actions |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4017354B2 (ja) | 2000-04-17 | 2007-12-05 | 富士通株式会社 | 情報分類装置および情報分類プログラム |
US6873990B2 (en) * | 2001-02-07 | 2005-03-29 | International Business Machines Corporation | Customer self service subsystem for context cluster discovery and validation |
JP2002304401A (ja) | 2001-04-05 | 2002-10-18 | Toshiba Corp | アンケート処理装置及びアンケート処理方法並びにプログラム |
JP2003288439A (ja) * | 2002-03-28 | 2003-10-10 | Ntt Comware Corp | 性格データ分析処理装置およびその方法 |
KR101019976B1 (ko) | 2002-12-12 | 2011-03-09 | 소니 주식회사 | 정보 처리 장치 및 정보 처리 방법, 정보 처리 시스템, 기록 매체 |
JP4003127B2 (ja) | 2002-12-12 | 2007-11-07 | ソニー株式会社 | 情報処理装置および情報処理方法、情報処理システム、記録媒体、並びにプログラム |
EP1484692B1 (en) | 2003-06-04 | 2013-07-24 | Intel Corporation | Content recommendation device with user feedback |
KR100612840B1 (ko) * | 2004-02-18 | 2006-08-18 | 삼성전자주식회사 | 모델 변이 기반의 화자 클러스터링 방법, 화자 적응 방법및 이들을 이용한 음성 인식 장치 |
US7022907B2 (en) * | 2004-03-25 | 2006-04-04 | Microsoft Corporation | Automatic music mood detection |
JP2005284406A (ja) * | 2004-03-26 | 2005-10-13 | Matsushita Electric Works Ltd | 料理レシピ提示システム |
-
2007
- 2007-01-05 CN CNA2007800005446A patent/CN101326524A/zh active Pending
- 2007-01-05 WO PCT/JP2007/050014 patent/WO2007077991A1/ja active Application Filing
- 2007-01-05 EP EP07706361A patent/EP1970820A4/en not_active Ceased
- 2007-01-05 KR KR1020077020329A patent/KR20080089545A/ko active IP Right Grant
- 2007-01-05 US US11/817,748 patent/US8204837B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101326524A (zh) | 2008-12-17 |
US20090216692A1 (en) | 2009-08-27 |
US8204837B2 (en) | 2012-06-19 |
EP1970820A1 (en) | 2008-09-17 |
EP1970820A4 (en) | 2009-01-14 |
WO2007077991A1 (ja) | 2007-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20080089545A (ko) | 정보 처리 장치 및 방법, 및 프로그램 | |
US11080601B2 (en) | Method of training a neural network to reflect emotional perception and related system and method for categorizing and finding associated content | |
US11544565B2 (en) | Processing system for generating a playlist from candidate files and method for generating a playlist | |
US20210012200A1 (en) | Method of training a neural network and related system and method for categorizing and recommending associated content | |
US7860862B2 (en) | Recommendation diversity | |
JP4893940B2 (ja) | 情報処理装置および方法、並びにプログラム | |
US20090043811A1 (en) | Information processing apparatus, method and program | |
JP5477635B2 (ja) | 情報処理装置および方法、並びにプログラム | |
WO2001020483A2 (en) | Finding perceptually similar music with precomputation | |
CN111428074B (zh) | 音频样本生成方法、装置、计算机设备及存储介质 | |
KR102364533B1 (ko) | 인공 지능 기반의 인테리어 서비스 방법 및 이러한 방법을 수행하는 장치 | |
EP4196916A1 (en) | Method of training a neural network and related system and method for categorizing and recommending associated content | |
Bakhshizadeh et al. | Automated mood based music playlist generation by clustering the audio features | |
Silva et al. | Collaboration as a driving factor for hit song classification | |
CN111611432B (zh) | 一种基于Labeled LDA模型的歌手分类方法 | |
CN112148919A (zh) | 一种基于梯度提升树算法的音乐点击率预测方法及装置 | |
CN111598645A (zh) | 一种融合随机森林与协同过滤二手房推荐方法 | |
KR101943075B1 (ko) | 머신러닝을 이용한 음악 콘텐츠의 메타데이터 자동 태깅 방법 | |
Deng | Resource Management and Optimization Method of Music Audio‐Visual Archives under the Background of Big Data | |
Lin et al. | Automated Playlist Generation from Personal Music Libraries | |
George et al. | Unsupervised analysis of similarities between musicians and musical genres using spectrograms. | |
Oliveira et al. | Musical success in the United States and Brazil: Novel datasets and temporal analyses | |
De Mooij et al. | Learning preferences for music playlists | |
Pawar et al. | Prediction of movie performance using machine learning algorithms | |
Tovstogan et al. | Similarity of nearest-neighbor query results in deep latent spaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right |