KR20080011643A - 정보 처리 장치, 방법, 및 프로그램 - Google Patents

정보 처리 장치, 방법, 및 프로그램 Download PDF

Info

Publication number
KR20080011643A
KR20080011643A KR1020077003694A KR20077003694A KR20080011643A KR 20080011643 A KR20080011643 A KR 20080011643A KR 1020077003694 A KR1020077003694 A KR 1020077003694A KR 20077003694 A KR20077003694 A KR 20077003694A KR 20080011643 A KR20080011643 A KR 20080011643A
Authority
KR
South Korea
Prior art keywords
cluster
music
content
layer
specified
Prior art date
Application number
KR1020077003694A
Other languages
English (en)
Inventor
노리유끼 야마모또
게이 다떼노
마리 사이또
도모히로 쯔노다
Original Assignee
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20080011643A publication Critical patent/KR20080011643A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs

Landscapes

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

Abstract

본 발명은, 유저의 기호 정보에 합치한 콘텐츠 혹은 지정되는 콘텐츠와 유사한 콘텐츠를, 더 적은 연산량으로 검색하여 유저에게 제시할 수 있는 정보 처리 장치, 정보 처리 방법, 및 프로그램에 관한 것이다. 악곡의 메타데이터의 각 항목(타이틀, 아티스트명, 장르, 리뷰 텍스트, 템포, 비트, 리듬 등)을 클러스터층(제1 내지 제n 층) 중 어느 하나로 분류하고, 각 항목의 실 정보를 분류한 클러스터층에 설치되는 복수의 클러스터 중 어느 하나로 분류(클러스터링)한다. 그리고, 메타데이터 대신에 악곡의 특징을 나타내는 정보로서, 메타데이터의 각 항목의 실 정보를 분류한 클러스터의 클러스터 ID(도 2에서의 CL11 등)로 이루어지는 클러스터 정보를 데이터베이스화한다. 본 발명은, 악곡 데이터와 같은 콘텐츠의 구입을 권하는 홈 페이지의 서버, 텔레비전 프로그램의 녹화 예약을 추천하는 비디오 리코더 등에 적용할 수 있다.
항목, 클러스터층, 기호 정보, 실 정보

Description

정보 처리 장치, 방법, 및 프로그램{INFORMATION PROCESSING APPARATUS, METHOD AND PROGRAM}
본 발명은, 정보 처리 장치, 정보 처리 방법, 및 프로그램에 관한 것으로, 특히, 콘텐츠를 클러스터로 분류하고, 콘텐츠가 분류된 클러스터를 이용하여 콘텐츠의 특징을 관리하고, 콘텐츠의 검색이나 추천에 이용하도록 한 정보 처리 장치, 정보 처리 방법, 및 프로그램에 관한 것이다.
종래, 유저의 기호에 기초하여 텔레비전 프로그램, 악곡 등의 콘텐츠를 검색하고, 유저에게 추천하기(소위, 콘텐츠 퍼스널라이제이션) 위한 발명이 제안되어 있다(예를 들면, 특허 문헌 1 참조).
콘텐츠 퍼스널라이제이션에는, 콘텐트 베이스트 필터링(CBF)이라고 불리우는 방법이 널리 사용되고 있다. CBF 방법에서는, 콘텐츠에 대하여 배신측이나 판매측에 의해 미리 부여되어 있는 메타데이터가 직접적으로 기호의 추출이나 콘텐츠의 추천에 이용되고 있었다. 예를 들면 콘텐츠가 악곡인 경우, 각 악곡에는 메타데이터로서 타이틀, 아티스트명, 장르, 리뷰 텍스트 등이 미리 부여되어 있다. 미리 부여되어 있는 정보 외에, 악곡의 템포, 리듬 등을 검출하여 메타데이터를 추가하는 경우도 있다.
유저의 기호 정보는, 악곡의 메타데이터를 특징 벡터로 간주하고, 악곡에 대한 유저의 조작(재생, 녹음, 스킵, 소거 등)에 따라서 악곡의 특징 벡터를 서로 더함으로써 생성하고 있었다. 예를 들면, 재생한 악곡의 특징 벡터는 1배, 녹음한 악곡의 특징 벡터는 2배, 스킵한 악곡의 특징 벡터는 -1배, 소거한 악곡의 특징 벡터는 -2배로 하여 서로 더해지고 있었다.
유저의 기호에 합치한 악곡을 추천하는 경우, 유저의 기호를 나타내는 특징 벡터와, 후보로 되는 각 악곡의 특징 벡터의 거리(여현 상관 등)를 산출하고, 산출된 거리가 짧은 악곡이 유저의 기호에 합치한 것으로서 추천되도록 이루어져 있었다.
[특허 문헌 1] 일본 특개 2004-194107호 공보
<발명의 개시>
<발명이 해결하고자 하는 과제>
그러나, 전술한 바와 같이 유저의 기호 정보를 악곡의 기호 벡터를 서로 더함으로써 생성한 경우, 기호의 특징이 묻히는, 소위, 기호를 서로 더함에 의한 불분명하게 된다는 문제가 발생하고, 유저의 기호에 합치하지 않는 것이 추천되는 경우가 있었다.
예를 들면, 유저가 업 템포이고 리드미컬한 록의 악곡을 좋아하고, 또한, 슬로우 템포이고 슬로우 비트의 재즈의 악곡도 좋아하는 경우, 이 2개의 취향을 서로 더하면, 업 템포와 슬로우 템포, 리드미컬과 슬로우 비트, 록과 재즈가 모두 좋아하는 것으로 되어, 유저의 기호에 합치하지 않는 업 템포한 재즈의 악곡이 추천될 가능성이 있었다.
또한, 악곡의 메타데이터 중, 수치에 의해 표현되는 것은 명의 척도화하여 특징 벡터의 요소로 되는 것이 일반적이지만, 이 경우, 명의 척도화할 때의 임계값을 사이에 두는 2개의 값이 각각 서로 다른 값으로 변환되어, 변환 전의 2개의 값이 수치적으로 가깝다고 하는 관계가 소실한다고 하는 문제도 있다.
또한, 유저의 기호를 나타내는 특징 벡터와 후보로 되는 각 악곡의 특징 벡터의 거리를 계산할 때에, 그 계산량의 삭감이 기대되고 있다.
본 발명은 이러한 상황을 감안하여 이루어진 것으로, 유저의 기호 정보에 합치한 콘텐츠 혹은 지정되는 콘텐츠와 유사한 콘텐츠를, 더 적은 연산량으로 검색하여 유저에게 제시할 수 있게 하는 것이다.
<과제를 해결하기 위한 수단>
본 발명의 일 측면의 정보 처리 장치는, 콘텐츠 군 중에서 소정의 조건을 충족시키는 콘텐츠를 선택하는 정보 처리 장치로서, 상기 콘텐츠 군을 구성하는 각 콘텐츠를, 콘텐츠의 메타데이터에 따른 계층의 각각에서 복수의 제1 클러스터 중 어느 하나로 분류하는 콘텐츠 분류 수단과, 각 콘텐츠와 각 콘텐츠의 각각이 분류된 상기 계층에서의 상기 제1 클러스터와의 대응 관계를 나타내는 데이터베이스를 유지하는 유지 수단과, 상기 계층마다 상기 소정의 조건에 대응하는 상기 제1 클러스터를 지정하고, 지정한 상기 제1 클러스터에 대응하는 콘텐츠를 특정하는 특정 수단과, 상기 특정 수단에 의해 특정된 상기 콘텐츠를 제시하는 제시 수단을 포함하는 것을 특징으로 한다.
상기 콘텐츠 분류 수단에 의해 상기 콘텐츠가 분류되는 각 제1 클러스터에, 유저의 기호의 정도를 나타내는 기호값을 대응지어서 기억하는 기억 수단을 더 설치하고, 상기 특정 수단에는, 상기 기억 수단에 의해 기억되어 있는 기호값에 기초하여 상기 제1 클러스터를 지정하고, 지정한 상기 제1 클러스터에 대응하는 콘텐츠를 특정시킬 수 있다.
상기 특정 수단에는, 지정한 상기 제1 클러스터에 대응하는 콘텐츠 중에서, 상기 기호값에 따른 계층마다의 가중값에 의해 가중값 부여한, 유저의 콘텐츠의 기호의 정도를 나타내는 평가값으로, 콘텐츠를 더 특정시킬 수 있다.
상기 콘텐츠 분류 수단에 의해 상기 콘텐츠가 분류되는 각 제1 클러스터에 대하여 키워드를 설정하는 설정 수단과, 상기 설정 수단에 의해 설정된 키워드를 이용하고, 콘텐츠의 제시 이유를 나타내는 이유문을 생성하는 생성 수단을 더 설치하고, 상기 제시 수단에는, 상기 이유문도 제시시킬 수 있다.
상기 콘텐츠는 악곡이고, 상기 메타데이터에는, 악곡의 템포, 비트, 또는 리듬 중의 적어도 1개가 포함되게 할 수 있다.
상기 메타데이터에는, 대응하는 콘텐츠에 대한 리뷰 텍스트가 포함되게 할 수 있다.
콘텐츠의 메타데이터를 복수의 제2 클러스터 중 어느 하나로 분류하고, 제2 클러스터에 상기 계층을 할당하는 메타데이터 분류 수단을 더 설치하고, 상기 콘텐츠 분류 수단에는, 각 콘텐츠를, 할당된 상기 계층의 각각에서 복수의 제1 클러스터 중 어느 하나로 분류시킬 수 있다.
상기 특정 수단에는, 유사원으로 되는 콘텐츠가 분류되는 상기 제1 클러스터에 대응하는 콘텐츠 중에서, 유사원으로 되는 콘텐츠와의 유사의 정도를 나타내는 유사도로, 콘텐츠를 더 특정시킬 수 있다.
상기 특정 수단에는, 유사원으로 되는 콘텐츠의 상기 제1 클러스터에의 귀속의 가중값에 따른 계층마다의 가중값에 의해 가중값 부여한 상기 유사도로 콘텐츠를 특정시킬 수 있다.
본 발명의 일 측면의 정보 처리 방법은, 콘텐츠 군 중에서 소정의 조건을 충족시키는 콘텐츠를 선택하는 정보 처리 장치의 정보 처리 방법으로서, 상기 콘텐츠 군을 구성하는 각 콘텐츠를, 콘텐츠의 메타데이터에 따른 계층의 각각에서 복수의 클러스터 중 어느 하나로 분류하는 분류 스텝과, 각 콘텐츠와 각 콘텐츠의 각각이 분류된 상기 계층에서의 상기 클러스터와의 대응 관계를 나타내는 데이터베이스를 유지하는 유지 스텝과, 상기 계층마다 상기 소정의 조건에 대응하는 상기 클러스터를 지정하고, 지정한 상기 클러스터에 대응하는 콘텐츠를 특정하는 특정 스텝과, 특정된 상기 콘텐츠를 제시하는 제시 스텝을 포함하는 것을 특징으로 한다.
본 발명의 일 측면의 프로그램은, 콘텐츠 군 중에서 소정의 조건을 충족시키는 콘텐츠를 선택하기 위한 프로그램으로서, 상기 콘텐츠 군을 구성하는 각 콘텐츠를, 콘텐츠의 메타데이터에 따른 계층의 각각에서 복수의 클러스터 중 어느 하나로 분류하는 분류 스텝과, 각 콘텐츠와 각 콘텐츠의 각각이 분류된 상기 계층에서의 상기 클러스터와의 대응 관계를 나타내는 데이터베이스를 유지하는 유지 스텝과, 상기 계층마다 상기 소정의 조건에 대응하는 상기 클러스터를 지정하고, 지정한 상 기 클러스터에 대응하는 콘텐츠를 특정하는 특정 스텝과, 특정된 상기 콘텐츠를 제시하는 제시 스텝을 포함하는 처리를 컴퓨터에 실행시키는 것을 특징으로 한다.
본 발명의 일 측면에서는, 콘텐츠 군을 구성하는 각 콘텐츠가, 콘텐츠의 메타데이터에 따른 계층의 각각에서 복수의 클러스터 중 어느 하나로 분류되고, 각 콘텐츠와 각 콘텐츠의 각각이 분류된 상기 계층에서의 상기 클러스터와의 대응 관계를 나타내는 데이터베이스가 유지되고, 상기 계층마다 상기 소정의 조건에 대응하는 상기 클러스터가 지정되고, 지정된 상기 클러스터에 대응하는 콘텐츠가 특정되고, 특정된 상기 콘텐츠가 제시된다.
<발명의 효과>
본 발명에 따르면, 유저의 기호 정보에 합치한 콘텐츠 혹은 지정되는 콘텐츠와 유사한 콘텐츠를, 더 적은 연산량으로 검색하여 유저에게 제시하는 것이 가능하게 된다.
도 1은 본 발명을 적용한 추천 시스템의 구성예를 도시한 블록도이다.
도 2는 메타데이터를 분류하는 클러스터와 클러스터층의 개념을 도시한 도면이다.
도 3은 클러스터 정보의 일례를 도시한 도면이다.
도 4는 클러스터-악곡 ID 정보의 일례를 도시한 도면이다.
도 5는 기호 정보의 일례를 도시하는 도면이다.
도 6은 클러스터링 제1 내지 제4 방법으로부터 2종류의 방법을 선택하는 방 법을 설명하기 위한 도면이다.
도 7은 클러스터링 제1 내지 제4 방법으로부터 2종류의 방법을 선택하는 방법을 설명하기 위한 도면이다.
도 8은 클러스터링 제1 내지 제4 방법으로부터 2종류의 방법을 선택하는 방법을 설명하기 위한 도면이다.
도 9는 클러스터링 제1 내지 제4 방법으로부터 2종류의 방법을 선택하는 방법을 설명하기 위한 도면이다.
도 10은 클러스터링 제1 내지 제4 방법으로부터 2종류의 방법을 선택하는 방법을 설명하기 위한 도면이다.
도 11은 제1 유사 악곡 검색 처리를 설명하는 플로우차트이다.
도 12는 제2 유사 악곡 검색 처리를 설명하는 플로우차트이다.
도 13은 제3 유사 악곡 검색 처리를 설명하는 플로우차트이다.
도 14는 제1 악곡 추천 처리를 설명하는 플로우차트이다.
도 15는 제2 악곡 추천 처리를 설명하는 플로우차트이다.
도 16는 범용 퍼스널 컴퓨터의 구성예를 도시한 블록도이다.
도 17은 본 발명의 일 실시예의 추천 시스템의 다른 구성의 예를 도시한 블록도이다.
도 18은 오프라인 시의 전처리의 예를 설명하는 플로우차트이다.
도 19는 소프트 클러스터링된 각 악곡의 메타데이터의 예를 도시한 도면이다.
도 20은 각 악곡의 메타데이터의 예를 도시한 도면이다.
도 21은 클러스터 정보의 예를 도시한 도면이다.
도 22는 제4 유사 악곡 검색 처리를 설명하는 플로우차트이다.
도 23은 클러스터 정보의 예를 도시한 도면이다.
도 24는 유사도의 예를 도시한 도면이다.
도 25는 제5 유사 악곡 검색 처리를 설명하는 플로우차트이다.
도 26은 제3 악곡 추천 처리를 설명하는 플로우차트이다.
도 27은 기호값의 예를 도시한 도면이다.
도 28은 클러스터 정보의 예를 도시한 도면이다.
도 29는 유사도의 예를 도시한 도면이다.
도 30은 가중값의 예를 도시한 도면이다.
도 31은 유사도의 예를 도시한 도면이다.
도 32는 제4 악곡 추천 처리를 설명하는 플로우차트이다.
도 33은 기호값의 예를 도시한 도면이다.
도 34는 유사도의 예를 도시한 도면이다.
<부호의 설명>
1:추천 시스템
11:악곡 데이터베이스
12:클러스터링부
13:키워드 설정부
14:클러스터 정보 데이터베이스
21:검색 악곡 지정부
22:클러스터 매핑부
23:악곡 추출부
24:기호 정보 데이터베이스
25:기호 입력부
26:랜덤 선택부
27:유사도 산출부
28:선택 이유 생성부
29:악곡 제시부
201:메타데이터 클러스터링부
202:악곡 클러스터링부
<발명을 실시하기 위한 최선의 형태>
이하, 본 발명을 적용한 구체적인 실시예에 대하여, 도면을 참조하면서 상세하게 설명한다.
도 1은 본 발명의 일 실시예인 추천 시스템의 구성예를 도시하고 있다. 이 추천 시스템(1)은, 유저의 기호에 합치한 악곡, 혹은 유저가 지정한 악곡과 유사한 악곡을 검색하고, 유저에게 제시하는 것이다. 또한, 추천 시스템(1)은, 악곡 이외의 콘텐츠, 예를 들면 텔레비전 프로그램, 영화, 서적 등을 추천하는 경우에도 적용하는 것이 가능하다.
추천 시스템(1)은, 검색의 대상으로 되는 수많은 악곡의 메타데이터가 기록되어 있는 악곡 데이터베이스(DB)(11), 악곡 데이터베이스(11)에 기록되어 있는 각 악곡을, 악곡의 메타데이터에 기초하여 클러스터링하여 각 악곡의 클러스터 정보를 생성하는 클러스터링부(12), 각 클러스터층 및 각 클러스터의 특징을 각각 나타내는 키워드를 설정하는 키워드 설정부(13), 및, 각 악곡의 클러스터 정보를 유지하는 클러스터 정보 데이터베이스(DB)(14)로 구성된다.
또한, 추천 시스템(1)은, 검색하고자 하는 악곡의 유사원으로 되는 악곡(이하, 원 악곡이라고 칭함)을 지정하는 검색 악곡 지정부(21), 원 악곡의 메타데이터를 종래부터 있는 클러스터 식별 방법(클래시피케이션 방법)을 이용하여 최적의 클러스터에 매핑하는 클러스터 매핑부(22), 유저에게 제시하는 악곡을 1 이상 추출하는 악곡 추출부(23), 유저의 기호를 나타내는 기호 정보가 기록되어 있는 기호 정보 데이터베이스(DB)(24), 유저의 기호를 입력하는 기호 입력부(25), 추출된 악곡 중에서 랜덤하게 1개의 악곡을 선택하는 랜덤 선택부(26), 추출된 악곡과 원 악곡 또는 유저의 기호와의 유사도를 산출하여 가장 유사도가 높은 악곡을 선택하는 유사도 산출부(27), 랜덤 선택부(26) 또는 유사도 산출부(27)에서의 선택의 이유를 나타내는 선택 이유문을 생성하는 선택 이유 생성부(28), 및, 선택한 악곡과 선택 이유문을 유저에게 제시하는 악곡 제시부(29)로 구성된다.
악곡 데이터베이스(DB)(11)는, 음악 CD에 수록되어 있는 악곡의 메타데이터를 공급하는 인터넷 상의 데이터 서버인 CDDB(CD Data Base)나 Music Navi 등에 상당한다.
클러스터링부(12)는, 악곡 데이터베이스(11)의 모든 악곡에 대하여, 악곡의 메타데이터의 각 항목(타이틀, 아티스트명, 장르, 리뷰 텍스트, 템포, 비트, 리듬 등)을, 도 2에 도시한 바와 같은 클러스터층(제1 내지 n층) 중 어느 하나로 분류하고, 각 항목의 실 정보를 분류한 클러스터층에 설치되는 복수의 클러스터 중 어느 하나에 악곡을 분류(클러스터링)한다.
또한, 1개의 악곡을 복수의 클러스터로 분류하여도 된다. 동일 클러스터층에 존재하는 클러스터 간의 거리(유사의 정도를 나타냄)는 기지인 것으로 한다. 이 클러스터링의 방법에 대해서는 후술한다. 그리고, 메타데이터 대신에 악곡의 특징을 나타내는 정보로서, 메타데이터의 각 항목의 실 정보를 분류한 클러스터의 클러스터 ID(도 2에서의 CL11 등)로 이루어지는 클러스터 정보를 생성하고 클러스터 정보 데이터베이스(14)에 출력한다.
또한, 분류에 알맞은 클러스터가 존재하지 않는 경우, 새롭게 클러스터를 신설하여도 된다. 각 클러스터의 사이즈는 임의로서 복수의 악곡을 포함할 수 있는 것이다. 또한, 단일의 악곡만 분류할 수 있는 클러스터를 설치하여도 된다. 이 경우, 해당 클러스터의 클러스터 ID에 유일하게 분류 가능한 악곡의 실 정보의 ID(아티스트 ID, 앨범 ID, 타이틀 ID)를 이용하여도 된다.
클러스터 정보 데이터베이스(14)는, 클러스터링부(12)에 의해 생성된 각 악곡의 클러스터 정보를 유지하고 있다. 또한, 클러스터 정보 데이터베이스(14)는, 유지하는 클러스터 정보에 기초하여, 각 클러스터에 메타데이터가 분류된 악곡의 악곡 ID를 나타내는 클러스터-악곡 ID 정보를 생성하고, 이것을 유지하고 있다. 또한, 클러스터 정보 데이터베이스(14)는, 키워드 설정부(13)에 의해 설정된 각 클러스터층이나 각 클러스터에 대하여 설정된 키워드도 유지하고 있다.
도 3은 클러스터 정보의 일례를 도시하고 있다. 동도에서는, 예를 들면, 악곡 ID=ABC123의 악곡의 클러스터 정보는, (CL12, CL21, CL35, CL47, CL52, …, CLn2)인 것을 나타내고 있다. 또한 예를 들면, 악곡 ID=CTH863의 악곡의 클러스터 정보는, 클러스터 ID(CL11, CL25, CL31, CL42, CL53, …, CLn1)인 것을 나타내고 있다.
도 4는, 도 3에 도시된 클러스터 정보에 대응하는 클러스터-악곡 ID 정보의 일례를 도시하고 있다. 동도에서는, 예를 들면, 클러스터 ID=CL11에는, 악곡 ID=CTH863이 대응하는 것을 나타내고 있다. 또한 예를 들면, 클러스터 ID=CL21에는, 악곡 ID=ABC123이 대응하는 것을 나타내고 있다.
또한, 클러스터링부(12), 키워드 설정부(13), 및 클러스터 정보 데이터베이스(14)의 처리는, 유사 악곡 검색 처리나 악곡 추천 처리(후술)를 실행하기 이전에 미리 실행할 필요가 있다.
도 1로 되돌아간다. 검색 악곡 지정부(21)는, 유저에 의해 지정되는 원 악곡의 악곡 ID와 메타데이터를 클러스터 매핑부(22)에 출력한다. 클러스터 매핑부(22)는, 검색 악곡 지정부(21)로부터 입력된 원 악곡의 메타데이터를, 기존의 클러스터 식별 방법(클래시피케이션 방법)을 이용하여 최적 클러스터를 선택한다. 클러스터 식별 방법으로서는, k-Nearest-Neighbor법 등을 적용할 수 있다. 또한, 원 악곡의 클러스터 정보가 이미 클러스터 정보 데이터베이스(14)에 존재하는 경 우, 그것을 판독하여 악곡 추출부(23)에 공급하도록 하여도 된다.
악곡 추출부(23)는, 클러스터 매핑부(22)로부터 공급되는 원 악곡의 클러스터 정보에 기초하여 클러스터 정보 데이터베이스(14)를 참조하여, 원 악곡과 동일한 클러스터로 분류되어 있는 악곡의 악곡 ID를 취득하여 랜덤 선택부(26) 또는 유사도 산출부(27)에 공급한다. 또한, 악곡 추출부(23)는, 기호 정보 데이터베이스(24)의 기호 정보에 기초하여 클러스터 정보 데이터베이스(14)를 참조하여, 유저의 기호에 합치하는 악곡의 악곡 ID를 취득하여 랜덤 선택부(26) 또는 유사도 산출부(27)에 공급한다.
기호 정보 데이터베이스(24)는, 유저의 기호를 나타내는 기호 정보가 기록되어 있다. 기호 정보에는, 각 클러스터에 대한 유저의 기호의 정도를 나타내는 기호값이 기록되어 있다. 이 기호값은 정규화된 값으로, 기호 입력부(25)에 의해 갱신된다. 또한, 기호 정보 데이터베이스(24)는, 각 클러스터층에서의 기호값의 분산을 연산하고, 기호값의 분산이 가장 작은(즉, 유저의 기호가 특정한 클러스터에 집중되어 있는) 클러스터층을 검출한다.
도 5는 기호 정보의 일례를 도시하고 있다. 동도에서는, 예를 들면 클러스터(CL11)에 대한 기호값이 0.5인 것을 나타내고 있다. 또한 예를 들면, 클러스터(CL32)에 대한 기호값이 0.1인 것을 나타내고 있다.
기호 입력부(25)는, 악곡에 대한 유저의 조작(재생, 녹음, 스킵, 소거 등)의 이력에 기초하여 각 클러스터에 각각 대응하는 기호값을 갱신한다. 또한, 기호 입력부(25)는, 유저로부터의 설정에 기초하여, 유저가 중시하고 있는 클러스터층을 클러스터 정보 데이터베이스(14)에 통지한다.
랜덤 선택부(26)는, 악곡 추출부(23)에 의해 추출된 악곡 중에서 랜덤하게 악곡 ID를 1개 선택하여 선택 이유 생성부(28)에 출력한다. 유사도 산출부(27)는, 악곡 추출부(23)에 의해 추출된 악곡과 원 악곡 또는 유저의 기호와의 유사도를 산출하고, 가장 유사도가 높은 악곡을 선택하여 선택 이유 생성부(28)에 출력한다. 또한, 랜덤 선택부(26)와 유사도 산출부(27)는, 쌍방이 동작할 필요는 없고, 어느 한 쪽이 동작하면 된다.
선택 이유 생성부(28)는, 클러스터 정보 데이터베이스(14)로부터 클러스터층이나 클러스터에 대응하는 키워드를 취득하고, 취득한 키워드 등을 이용하여 선택의 이유를 나타내는 선택 이유문을 생성하고, 선택된 악곡의 악곡 ID와 함께 악곡 제시부(29)에 출력한다.
선택 이유문은 아래와 같이 생성한다. 예를 들면, 유사한 악곡이나 기호에 합치한 악곡을 선택할 때에 우선한 클러스터층에 설정된 키워드나 클러스터의 키워드를 이용한다. 구체적으로는, 리뷰 텍스트에 대응하는 클러스터층을 가장 우선한 경우, 「리뷰 텍스트에 나오는 「여름」, 「바닷가」가 마음에 들지 않니?」 등의 선택 이유문을 생성한다. 혹은, 선택된 악곡의 리뷰 텍스트를 그대로 선택 이유문으로서 인용하거나, 선택된 악곡의 리뷰 텍스트로부터 추출한 단어를 이용하여 선택 이유문을 생성한다. 또한, 리뷰 텍스트로부터 선택 이유문에 이용하는 단어를 추출하기 위해서는 Tf/idf법을 적용할 수 있다.
악곡 제시부(29)는, 예를 들면 디스플레이 등으로 이루어지고, 선택 이유 생 성부(28)로부터 입력되는 악곡 ID의 악곡과 선택 이유문을 유저에게 제시한다.
다음으로, 클러스터링부(12)에 의한 메타데이터의 분류(클러스터링)에 대해서 설명한다.
클러스터링 방법은 어떠한 방법이어도 괜찮지만, 클러스터층마다 최적의 클러스터링 방법, 거리 척도를 선택하도록 한다. 예를 들면, 메타데이터의 실 정보가 수치이면 그대로, 타이틀 등의 경우에는 주성분 분석 등의 수량화 방법을 이용해서 수치로 하여, 유클리드 거리 등의 거리 척도를 정의하여 클러스터링하게 된다. 대표적인 클러스터링 방법으로서는, K-means법, 계층 클러스터링법 등을 들 수 있다.
이 때, 기호 거리를 반영한 클러스터링(예를 들면, 제약이 부여된 클러스터링)에 의해 실시하는 것이 바람직하다. 그를 위해서는, 사전 조사에 의해 부분적인 정답집(기호적으로 가까운 실 정보의 집합, 먼 실 정보의 집합 등)을 만들고, 거기에 적합한 수치 표현, 거리, 클러스터링 방법을 이용하는 것으로 한다. 또한, 형성되는 각 클러스터층의 독립성이 높아지는 클러스터링 방법(즉, 특성이 서로 다른 클러스터링 방법)을 선택하는 것이 바람직하다.
예를 들면 4종류의 클러스터링 방법(이하, 제1 내지 제4 방법이라고 칭함) 중에서 특성이 서로 다른 2종류의 클러스터링 방법을 선택하는 방법에 대해서, 도 6 내지 도 10을 참조하여 설명한다.
우선, 제1 내지 제4 방법에 의해 메타데이터의 실 정보인 아티스트(A 내지 J)를 클러스터링한다. 그리고 도 6에 도시한 바와 같은 결과가 얻어진 것으로 한 다.
즉, 제1 방법에 의해, 아티스트(A 내지 C)가 클러스터(CL1)에, 아티스트(D 내지 G)가 클러스터(CL2)에, 아티스트(H 내지 J)가 클러스터(CL3)에 클러스터링되고, 제2 방법에 의해, 아티스트(A, B)가 클러스터(CL1)에, 아티스트(C 내지 F)가 클러스터(CL2)에, 아티스트(G 내지 D)가 클러스터(CL3)에 클러스터링되고, 제3 방법에 의해, 아티스트(A, D, G, J)가 클러스터(CL1)에, 아티스트(B, E, H)가 클러스터(CL2)에, 아티스트(C, F, I)가 클러스터(CL3)에 클러스터링되고, 제4 방법에 의해, 아티스트(D, I, J)가 클러스터(CL1)에, 아티스트(E 내지 G)가 클러스터(CL2)에, 아티스트(A 내지 C 및 H)가 클러스터(CL3)에 클러스터링된 것으로 한다.
이 경우, 제1 내지 제4 방법에 의한 결과의 중복률(%)은 도 7에 도시하는 바와 같다. 즉, 제1 방법과 제2 방법의 중복률은 0.8, 제1 방법과 제3 방법의 중복률은 0.3, 제1 방법과 제4 방법의 중복률은 0.4, 제2 방법과 제3 방법의 중복률은 0.3, 제2 방법과 제4 방법의 중복률은 0.3, 제3 방법과 제4 방법의 중복률은 0.4이다.
도 7에 도시된 중복률이 작을수록 2개의 방법의 특성이 서로 다르다고 생각되기 때문에, 중복률이 최소값의 0.3인 제1 방법과 제3 방법의 조합, 제2 방법과 제3 방법의 조합, 또는 제2 방법과 제4 방법의 조합을 채용하는 것이 바람직하다.
한편, 유저 자신에 의해 아티스트(A 내지 J) 중의 두 사람이 동일한 클러스터로 분류되어야 할 것인지의 여부를 판정하게 한 경우, 도 8에 도시하는 바와 같은 결과가 얻어진 것으로 한다. 단, 동 도면에서, 1은 동일한 클러스터로 분류되 어야 하는 것을 의미하고, 0은 서로 다른 클러스터로 분류되어야 하는 것을 의미한다. 즉, 동도에서는, 예를 들면, 아티스트(A)가 아티스트(B, C, F, H, I)와 동일한 클러스터로 분류되어야 한다고 판단된 것이 나타나 있고, 아티스트(B)가 아티스트(C, D, E, J)와 동일한 클러스터로 분류되어야 하는 것이 나타나 있다.
도 8에 도시된 결과와 정답으로서 이상적인 클러스터링 결과라고 하면, 전술한 제1 내지 제4 방법의 정답률은 도 9에 도시하는 바와 같다. 즉, 제1 방법의 정답률은 62.2%, 제2 방법의 정답률은 55.6%, 제3 방법의 정답률은 40.0%, 제4 방법의 정답률은 66.7%이다.
따라서, 정답률을 중시하면, 정답률이 높은 제1 방법과 제4 방법의 조합을 채용하는 것이 바람직하다.
또한, 중복률과 정답률을 가미한 클러스터링 방법의 조합을 구하기 위해서, 제1 내지 제4 방법의 정답의 중복률을 산출하면, 도 10에 도시하는 바와 같이 된다. 도 9에 도시된 결과로부터 정답률이 극단적으로 낮은 방법을 특정하고, 특정한 해당 방법을 포함하지 않는 조합 중의 정답률의 중복률이 가장 낮은 조합을 채용하면 된다. 즉, 정답률이 극단적으로 낮은 방법으로서 제3 방법이 특정되고, 제3 방법을 포함하지 않는 조합 중의 정답의 중복률이 가장 낮은 것으로서 제2 방법과 제4 방법의 조합이 선택된다.
또한, 전술한 중복률이나 정답률에 대해서는 절대적인 임계값을 지정하여, 그 임계값을 충족시킬 수 없는 방법을 제외해도 되고, 밸런스가 잡힌 방법을 채용하기 위해서, 2개의 지표(중복률과 정답률)에 기초하여 예를 들면, 이하에 설명하 는 2예와 같은 종합적인 지표를 작성하고, 종합적인 지표에 기초하여 클러스터링의 방법의 조합을 선택하도록 하여도 된다.
종합적인 지표=정답률×(1-중복률)
종합적인 지표=α·정답률×β(1-중복률)(α, β는 소정의 계수)
다음으로, 원 악곡과 유사한 악곡을 제시하는 3종류의 유사 악곡 검색 처리와, 유저의 기호에 합치하는 악곡을 제시하는 2종류의 악곡 추천 처리에 대해서 설명한다.
또한, 이하에 설명하는 유사 악곡 검색 처리나 악곡 추천 처리가 행해지는 전처리로서, 클러스터링부(12), 키워드 설정부(13), 및 클러스터 정보 데이터베이스(14)가 동작하고 있고, 이미 클러스터 정보 데이터베이스(14)에는, 클러스터링부(12)에 의해 생성된 각 악곡의 클러스터 정보와, 클러스터 정보 데이터베이스(14)가 생성한 클러스터-악곡 ID 정보와, 키워드 설정부(13)에 의해 설정된 각 클러스터층이나 각 클러스터에 대하여 설정된 키워드가 유지되어 있는 것으로 한다.
우선, 유사 악곡 검색 처리에 대해서 설명한다.
도 11은, 제1 유사 악곡 검색 처리를 설명하는 플로우차트이다. 제1 유사 악곡 검색 처리의 전처리로서, 클러스터 정보 데이터베이스(14)는, 기호 입력부(25)로부터 입력되는 유저의 각 클러스터층에 대한 우선도에 따라, 우선 순위가 높은 쪽의 클러스터층부터 순서대로, 층 번호를 1,2, …, n까지 고쳐 매기고 있는 것으로 한다.
스텝 S1에서, 검색 악곡 지정부(21)는, 유저에 의해 지정되는 원 악곡의 악곡 ID와 메타데이터를 클러스터 매핑부(22)에 출력한다. 클러스터 매핑부(22)는, 입력된 원 악곡의 메타데이터를, 종래의 클러스터 식별 방법을 이용하여 최적 클러스터에 매핑하고, 이 결과(이하, 최적 클러스터 정보라고 칭함)를 악곡 추출부(23)에 공급한다.
스텝 S2에서, 악곡 추출부(23)는, 클러스터 정보 데이터베이스(14)를 참조하여, 클러스터 정보 데이터베이스(14)에 클러스터 정보가 유지되어 있는 모든 악곡의 악곡 ID를 요소로 하는 집합 C를 상정한다. 스텝 S3에서, 악곡 추출부(23)는, 층 번호(i)를 1로 초기화한다.
스텝 S4에서, 악곡 추출부(23)는, 층 번호(i)가 n(n은 클러스터층의 총수) 이하인지의 여부를 판정한다. 층 번호(i)가 n이하라고 판정된 경우, 처리는 스텝 S5로 진행한다. 스텝 S5에서, 악곡 추출부(23)는, 클러스터 매핑부(22)로부터 입력된 원 악곡의 최적 클러스터 정보에 기초하여, 원 악곡이 제i층에서 어느 클러스터에 속해 있는 것인지를 특정한다. 특정한 클러스터를 CLix라고 칭한다.
스텝 S6에서, 악곡 추출부(23)는, 클러스터 정보 데이터베이스(14)의 클러스터-악곡 ID 정보를 참조하여, 특정한 클러스터(CLix)에 속하는 악곡의 악곡 ID를 취득한다. 스텝 S7에서, 악곡 추출부(23)는, 스텝 S6의 처리에서 취득한 악곡 ID를 요소로 하는 집합 A를 상정한다. 스텝 S8에서, 악곡 추출부(23)는, 집합 C와 집합 A에 공통되는 요소(악곡 ID)를 추출하고, 스텝 S9에서, 공통되는 악곡 ID가 존재하는지의 여부(즉, 스텝 S8의 처리에서, 집합 C와 집합 A에 공통되는 악곡 ID 를 추출할 수 있었는지의 여부)를 판정한다. 집합 C와 집합 A에 공통되는 악곡 ID가 존재한다고 판정한 경우, 처리는 스텝 S10으로 진행하고, 집합 C의 요소를, 스텝 S8에서 추출한 공통되는 악곡 ID만으로 감소시킨다. 스텝 S11에서, 악곡 추출부(23)는, 층 번호(i)를 1만 인크리먼트하여 스텝 S4로 되돌아가고, 그 이후의 처리를 반복한다.
또한, 스텝 S9에서, 집합 C와 집합 A에 공통되는 악곡 ID가 존재하지 않는다고 판정된 경우, 스텝 S10은 스킵되고, 처리는 스텝 S11로 진행한다.
이 스텝 S4 내지 S11의 처리가 반복됨으로써, 집합 C의 요소(악곡 ID)가 감소되어 간다. 그리고, 스텝 S4에서, 층 번호(i)가 n보다도 커지고, n 이하가 아니라고 판정된 경우, 처리는 스텝 S12로 진행한다.
스텝 S12에서, 악곡 추출부(23)는, 집합 C의 요소(악곡 ID)를 랜덤 선택부(26)에 출력한다. 랜덤 선택부(26)는, 집합 C 중에서 랜덤하게 1개의 악곡을 선택하여 선택 이유 생성부(28)에 출력한다. 또한, 랜덤 선택부(26)가 아니라, 유사도 산출부(27)에 집합 C의 요소(악곡 ID)를 출력하고, 유사도 산출부(27)에 의해, 1개의 악곡을 선택하도록 하여도 된다.
스텝 S13에서, 선택 이유 생성부(28)는, 랜덤 선택부(26)(또는 유사도 산출부(27))에 의해 선택된 악곡이 선택된 이유를 나타내는 선택 이유문을 생성하고, 선택된 악곡의 악곡 ID와 함께 악곡 제시부(29)에 출력한다. 스텝 S14에서, 악곡 제시부(29)는, 선택 이유 생성부(28)로부터 입력되는 악곡 ID의 악곡과 선택 이유문을 유저에게 제시한다.
이상 설명한 제1 유사 악곡 검색 처리에 따르면, 원 악곡의 특징 벡터와 다른 악곡의 특징 벡터와의 거리의 산출을 필수로 하지 않고, 각 클러스터층에 대한 유저의 우선 순위를 고려하면서, 원 악곡과 유사한 악곡을 제시하는 것이 가능하게 된다.
도 12는, 제2 유사 악곡 검색 처리를 설명하는 플로우차트이다. 제2 유사 악곡 검색 처리의 전처리로서, 기호 정보 데이터베이스(24)는, 각 클러스터층에서의 기호값의 분산을 연산하고, 기호값의 분산이 가장 작은(즉, 유저의 기호가 특정한 클러스터에 집중되어 있는) 클러스터층을 검출하고, 기호가 집중되어 있는 클러스터를 특정하고 있는 것으로 한다. 해당 클러스터층의 층 번호를 P, 해당 클러스터를 CLpp로 한다.
스텝 S31에서, 기호 정보 데이터베이스(24)는, 각 클러스터층에서의 기호값의 분산을 연산하고, 기호값의 분산이 가장 작은(즉, 유저의 기호가 특정한 클러스터에 집중되어 있는) 클러스터층을 검출하여 제P층으로 한다(P는 1 내지 n의 정수). 또한, 제P층에서 기호가 집중되어 있는 클러스터를 특정하여 CLpp로 한다.
스텝 S32에서, 검색 악곡 지정부(21)는, 유저에 의해 지정되는 원 악곡의 악곡 ID와 메타데이터를 클러스터 매핑부(22)에 출력한다. 클러스터 매핑부(22)는, 입력된 원 악곡의 메타데이터를, 종래의 클러스터 식별 방법을 이용하여 최적 클러스터에 매핑하고, 이 최적 클러스터 정보를 생성하고 악곡 추출부(23)에 공급한다.
스텝 S33에서, 악곡 추출부(23)는, 클러스터 정보 데이터베이스(14)를 참조하여, 클러스터 정보 데이터베이스(14)에 클러스터 정보가 유지되어 있는 모든 악 곡의 악곡 ID를 요소로 하는 집합 C를 상정한다. 스텝 S34에서, 악곡 추출부(23)는, 층 번호(i)를 1로 초기화한다.
스텝 S35에서, 악곡 추출부(23)는, 층 번호(i)가 n(n은 클러스터층의 총수) 이하인지의 여부를 판정한다. 층 번호(i)가 n 이하라고 판정된 경우, 처리는 스텝 S36으로 진행한다. 스텝 S36에서, 악곡 추출부(23)는, 스텝 S31에서 특정한 P와 층 번호(i)가 일치하는지의 여부를 판정하고, 일치한다고 판정한 경우, 스텝 S37로 진행하고, 다음 스텝 39에서의 처리 대상을 클러스터(CLpp)에 특정한다.
한편, 스텝 S36에서, 스텝 S31에서 특정한 P와 층 번호(i)가 일치하지 않는다고 판정된 경우, 스텝 S38로 진행한다. 스텝 S38에서, 악곡 추출부(23)는, 클러스터 매핑부(22)로부터 입력된 원 악곡의 최적 클러스터 정보에 기초하여, 원 악곡이 제i층에서 어느 클러스터에 속해 있는 것인지를 특정한다. 특정한 클러스터를 CLix라고 칭한다.
스텝 S39에서, 악곡 추출부(23)는, 클러스터 정보 데이터베이스(14)의 클러스터-악곡 ID 정보를 참조하고, 스텝 S37의 처리에서 특정한 클러스터(CLpp) 또는 스텝 S38의 처리에서 특정한 클러스터(CLix)에 속하는 악곡의 악곡 ID를 취득한다.
스텝 S40에서, 악곡 추출부(23)는, 스텝 S39의 처리에서 취득한 악곡 ID를 요소로 하는 집합 A를 상정한다. 스텝 S41에서, 악곡 추출부(23)는, 집합 C와 집합 A에 공통되는 요소(악곡 ID)를 추출하고, 스텝 S42에서, 공통되는 악곡 ID가 존재하는지의 여부(즉, 스텝 S41의 처리에서, 집합 C와 집합 A에 공통되는 악곡 ID를 추출할 수 있었는지의 여부)를 판정한다. 집합 C와 집합 A에 공통되는 악곡 ID가 존재한다고 판정한 경우, 처리는 스텝 S43으로 진행하고, 집합 C의 요소를, 스텝 S41에서 추출한 공통되는 악곡 ID만으로 감소시킨다. 스텝 S44에서, 악곡 추출부(23)는, 층 번호(i)를 1만 인크리먼트하여 스텝 S35로 되돌아가고, 그 이후의 처리를 반복한다.
또한, 스텝 S42에서, 집합 C와 집합 A에 공통되는 악곡 ID가 존재하지 않는다고 판정된 경우, 스텝 S43은 스킵되고, 처리는 스텝 S44로 진행한다.
이 스텝 S35 내지 S44의 처리가 반복됨으로써, 집합 C의 요소(악곡 ID)가 감소되어 간다. 그리고, 스텝 S35에서, 층 번호(i)가 n보다도 커지고, n 이하가 아니라고 판정된 경우, 처리는 스텝 S45로 진행한다.
스텝 S45에서, 악곡 추출부(23)는, 집합 C의 요소(악곡 ID)를 랜덤 선택부(26)에 출력한다. 랜덤 선택부(26)는, 집합 C 중에서 랜덤하게 1개의 악곡을 선택하여 선택 이유 생성부(28)에 출력한다. 또한, 랜덤 선택부(26)가 아니라, 유사도 산출부(27)에 집합 C의 요소(악곡 ID)를 출력하고, 유사도 산출부(27)에 의해, 1개의 악곡을 선택하도록 하여도 된다.
스텝 S46에서, 선택 이유 생성부(28)는, 랜덤 선택부(26)(또는 유사도 산출부(27))에 의해 선택된 악곡이 선택된 이유를 나타내는 선택 이유문을 생성하고, 선택된 악곡의 악곡 ID와 함께 악곡 제시부(29)에 출력한다. 스텝 S47에서, 악곡 제시부(29)는, 선택 이유 생성부(28)로부터 입력되는 악곡 ID의 악곡과 선택 이유문을 유저에게 제시한다.
이상 설명한 제2 유사 악곡 검색 처리에 따르면, 원 악곡의 특징 벡터와 다 른 악곡의 특징 벡터와의 거리의 산출을 필수로 하지 않고, 유저의 기호를 나타내는 기호값이 높은 클러스터에 속하는 악곡이고, 또한, 원 악곡과 유사한 악곡을 제시하는 것이 가능하게 된다.
도 13은, 제3 유사 악곡 검색 처리를 설명하는 플로우차트이다.
스텝 S61에서, 검색 악곡 지정부(21)는, 유저에 의해 지정되는 원 악곡의 악곡 ID와 메타데이터를 클러스터 매핑부(22)에 출력한다. 클러스터 매핑부(22)는, 입력된 원 악곡의 메타데이터를 종래의 클러스터 식별 방법을 이용하여 최적 클러스터에 매핑하고, 이 최적 클러스터 정보를 악곡 추출부(23)에 공급한다.
스텝 S62에서, 악곡 추출부(23)는, 평가값을 부여한 악곡 ID를 요소로 하는 집합 C를 상정하여 초기화한다. 즉, 이 시점에서 집합 C는 공집합이다. 스텝 S63에서, 악곡 추출부(23)는, 층 번호(i)를 1로 초기화한다.
스텝 S64에서, 악곡 추출부(23)는, 층 번호(i)가 n(n은 클러스터층의 총수) 이하인지의 여부를 판정한다. 층 번호(i)가 n 이하라고 판정된 경우, 처리는 스텝 S65로 진행한다. 스텝 S65에서, 악곡 추출부(23)는, 클러스터 매핑부(22)로부터 입력된 원 악곡의 최적 클러스터 정보에 기초하여, 원 악곡이 제i층에서 어느 클러스터에 속해 있는 것인지를 특정한다. 특정한 클러스터를 CLix라고 칭한다.
스텝 S66에서, 악곡 추출부(23)는, 기호 정보 데이터베이스(24)를 참조하여, 스텝 S65의 처리에서 특정한 클러스터(CLix)에 대한 유저의 기호값을 취득하고, 취득한 기호값에 기초하여, 클러스터(CLix)에 속하는 악곡에 대하여 부여하는 평가값을 결정한다.
스텝 S67에서, 악곡 추출부(23)는, 클러스터 정보 데이터베이스(14)의 클러스터-악곡 ID 정보를 참조하여, 특정한 클러스터(CLix)에 속하는 악곡의 악곡 ID를 취득한다. 스텝 S68에서, 악곡 추출부(23)는, 스텝 S67의 처리에서 취득한 악곡 ID에, 스텝 S66의 처리에서 결정한 평가값을 부여한다. 그리고, 평가값이 부여된 악곡 ID를 요소로 하는 집합 A를 상정한다.
스텝 S69에서, 악곡 추출부(23)는, 집합 C에 집합 A의 요소(평가값이 부여된 악곡 ID)를 추가한다. 스텝 S70에서, 악곡 추출부(23)는, 층 번호(i)를 1만 인크리먼트하여 스텝 S64로 되돌아가고, 그 이후의 처리를 반복한다.
이 스텝 S64 내지 S70의 처리가 반복됨으로써, 집합 C의 요소(평가값이 부여된 악곡 ID)가 증가해 간다. 그리고, 스텝 S64에서, 층 번호(i)가 n보다도 커지고, n 이하가 아니라고 판정된 경우, 처리는 스텝 S71로 진행한다.
스텝 S71에서, 악곡 추출부(23)는, 집합 C의 요소(평가값이 부여된 악곡 ID) 중에서, 평가값이 가장 높은 것을 선택하고, 랜덤 선택부(26)(또는 유사도 산출부(27))를 통하여 선택 이유 생성부(28)에 출력한다.
스텝 S72에서, 선택 이유 생성부(28)는, 악곡 추출부(23)에 의해 선택된 악곡이 선택된 이유를 나타내는 선택 이유문을 생성하고, 선택된 악곡의 악곡 ID와 함께 악곡 제시부(29)에 출력한다. 스텝 S73에서, 악곡 제시부(29)는, 선택 이유 생성부(28)로부터 입력되는 악곡 ID의 악곡과 선택 이유문을 유저에게 제시한다.
이상 설명한 제3 유사 악곡 검색 처리에 의하면, 원 악곡의 특징 벡터와 다른 악곡의 특징 벡터와의 거리의 산출을 필수로 하지 않고, 원 악곡과 유사한 악곡 중, 유저의 기호에 따라서 부여된 평가값이 가장 높은 것을 제시하는 것이 가능하게 된다.
또한, 전술한 제1 내지 제3 유사 악곡 검색 처리에서는 검색 조건으로서 악곡을 지정했지만, 아티스트, 앨범 등을 지정하여 유사 악곡 검색 처리를 행할 수도 있다. 이 경우, 도 3, 도 4의 악곡 ID를 아티스트 ID 혹은 앨범 ID라고 고쳐 읽으면 된다. 예를 들면 아티스트를 검색 조건으로 하는 경우, 도 2에서 아티스트가 관계되는 타이틀, 앨범, 장르 등에 상당하는 클러스터층을 이용한다.
다음으로, 악곡 추천 처리에 대해서 설명한다.
도 14는, 제1 악곡 추천 처리를 설명하는 플로우차트이다. 제1 악곡 추천 처리의 전처리로서, 클러스터 정보 데이터베이스(14)는, 기호 입력부(25)로부터 입력되는 유저의 각 클러스터층에 대한 우선도에 따라, 우선 순위가 높은 쪽의 클러스터층부터 순서대로, 층 번호를 1,2, …, n까지 고쳐 매기고 있는 것으로 한다.
스텝 S91에서, 악곡 추출부(23)는, 클러스터 정보 데이터베이스(14)를 참조하여, 클러스터 정보 데이터베이스(14)에 클러스터 정보가 유지되어 있는 모든 악곡의 악곡 ID를 요소로 하는 집합 C를 상정한다. 스텝 S92에서, 악곡 추출부(23)는, 층 번호(i)를 1로 초기화한다.
스텝 S93에서, 악곡 추출부(23)는, 층 번호(i)가 n(n은 클러스터층의 총수) 이하인지의 여부를 판정한다. 층 번호(i)가 n 이하라고 판정된 경우, 처리는 스텝 S94로 진행한다. 스텝 S94에서, 악곡 추출부(23)는, 기호 정보 데이터베이스(24)를 참조하여, 제i층의 클러스터 중, 유저의 기호값이 최대인 클러스터를 특정한다. 특정한 클러스터를 CLix라고 칭한다.
스텝 S95에서, 악곡 추출부(23)는, 클러스터 정보 데이터베이스(14)의 클러스터-악곡 ID 정보를 참조하여, 특정한 클러스터(CLix)에 속하는 악곡의 악곡 ID를 취득한다. 스텝 S96에서, 악곡 추출부(23)는, 스텝 S95의 처리에서 취득한 악곡 ID를 요소로 하는 집합 A를 상정한다. 스텝 S97에서, 악곡 추출부(23)는, 집합 C와 집합 A에 공통되는 요소(악곡 ID)를 추출하고, 스텝 S98에서, 공통되는 악곡 ID가 존재하는지의 여부(즉, 스텝 S97의 처리에서, 집합 C와 집합 A에 공통되는 악곡 ID를 추출할 수 있었는지의 여부)를 판정한다. 집합 C와 집합 A에 공통되는 악곡 ID가 존재한다고 판정한 경우, 처리는 스텝 S99로 진행하고, 집합 C의 요소를, 스텝 S97에서 추출한 공통되는 악곡 ID만으로 감소시킨다. 스텝 S100에서, 악곡 추출부(23)는, 층 번호(i)를 1만 인크리먼트하여 스텝 S93으로 되돌아가고, 그 이후의 처리를 반복한다.
또한, 스텝 S98에서, 집합 C와 집합 A에 공통되는 악곡 ID가 존재하지 않는다고 판정된 경우, 스텝 S99는 스킵되고, 처리는 스텝 S100으로 진행한다.
이 스텝 S93 내지 S100의 처리가 반복됨으로써, 집합 C의 요소(악곡 ID)가 감소되어 간다. 그리고, 스텝 S93에서, 층 번호(i)가 n보다도 커지고, n 이하가 아니라고 판정된 경우, 처리는 스텝 S101로 진행한다.
스텝 S101에서, 악곡 추출부(23)는, 집합 C의 요소(악곡 ID)를 랜덤 선택부(26)에 출력한다. 랜덤 선택부(26)는, 집합 C 중에서 랜덤하게 1개의 악곡을 선택하여 선택 이유 생성부(28)에 출력한다. 또한, 랜덤 선택부(26)가 아니라, 유사 도 산출부(27)에 집합 C의 요소(악곡 ID)를 출력하고, 유사도 산출부(27)에 의해, 1개의 악곡을 선택하도록 하여도 된다.
스텝 S102에서, 선택 이유 생성부(28)는, 랜덤 선택부(26)(또는 유사도 산출부(27))에 의해 선택된 악곡이 선택된 이유를 나타내는 선택 이유문을 생성하고, 선택된 악곡의 악곡 ID와 함께 악곡 제시부(29)에 출력한다. 스텝 S103에서, 악곡 제시부(29)는, 선택 이유 생성부(28)로부터 입력되는 악곡 ID의 악곡과 선택 이유문을 유저에게 제시한다.
이상 설명한 제1 악곡 추천 처리에 의하면, 유저의 기호에 대응하는 특징 벡터와 악곡의 특징 벡터와의 거리의 산출을 필수로 하지 않고, 각 클러스터층에 대한 유저의 우선 순위를 고려하면서, 유저의 기호에 합치한 악곡을 유저에게 추천하는 것이 가능하게 된다.
도 15는, 제2 악곡 추천 처리를 설명하는 플로우차트이다.
스텝 S121에서, 악곡 추출부(23)는, 평가값을 부여한 악곡 ID를 요소로 하는 집합 C를 상정하여 초기화한다. 즉, 이 시점에서 집합 C는 공집합이다. 스텝 S122에서, 악곡 추출부(23)는, 층 번호(i)를 1로 초기화한다.
스텝 S123에서, 악곡 추출부(23)는, 층 번호(i)가 n(n은 클러스터층의 총수) 이하인지의 여부를 판정한다. 층 번호(i)가 n 이하라고 판정된 경우, 처리는 스텝 S124로 진행한다. 스텝 S124에서, 악곡 추출부(23)는, 기호 정보 데이터베이스(24)를 참조하여, 제i층의 클러스터 중, 유저의 기호에 대응하는 기호값이 소정의 값 이상인 것을 특정한다. 특정한 것을 클러스터 군(CLix)이라고 칭한다.
스텝 S125에서, 악곡 추출부(23)는, 스텝 S124의 처리에서 특정한 클러스터 군(CLix)의 각 클러스터에 대한 기호값에 기초하여, 클러스터 군(CLix)의 각 클러스터에 속하는 악곡에 대하여 부여하는 평가값을 결정한다.
스텝 S126에서, 악곡 추출부(23)는, 클러스터 정보 데이터베이스(14)의 클러스터-악곡 ID 정보를 참조하여, 특정한 클러스터 군(CLix)의 각 클러스터에 속하는 악곡의 악곡 ID를 취득한다. 스텝 S127에서, 악곡 추출부(23)는, 스텝 S126의 처리에서 취득한 악곡 ID에, 스텝 S125의 처리에서 결정한 평가값을 부여한다. 그리고, 평가값이 부여된 악곡 ID를 요소로 하는 집합 A를 상정한다.
스텝 S128에서, 악곡 추출부(23)는, 집합 C에 집합 A의 요소(평가값이 부여된 악곡 ID)를 추가한다. 이 때, 집합 C에 동일한 악곡 ID가 있으면 평가값을 서로 더한다. 스텝 S129에서, 악곡 추출부(23)는, 층 번호(i)를 1만 인크리먼트하여 스텝 S123으로 되돌아가고, 그 이후의 처리를 반복한다.
이 스텝 S123 내지 S129의 처리가 반복됨으로써, 집합 C의 요소(평가값이 부여된 악곡 ID)가 증가해 간다. 그리고, 스텝 S123에서, 층 번호(i)가 n보다도 커지고, n 이하가 아니라고 판정된 경우, 처리는 스텝 S130으로 진행한다.
스텝 S130에서, 악곡 추출부(23)는, 집합 C의 요소(평가값이 부여된 악곡 ID) 중에서, 평가값이 가장 높은 것을 선택하고, 랜덤 선택부(26)(또는 유사도 산출부(27))를 통하여 선택 이유 생성부(28)에 출력한다.
스텝 S131에서, 선택 이유 생성부(28)는, 악곡 추출부(23)에 의해 선택된 악곡이 선택된 이유를 나타내는 선택 이유문을 생성하고, 선택된 악곡의 악곡 ID와 함께 악곡 제시부(29)에 출력한다. 스텝 S132에서, 악곡 제시부(29)는, 선택 이유 생성부(28)로부터 입력되는 악곡 ID의 악곡과 선택 이유문을 유저에게 제시한다.
이상 설명한 제2 악곡 추천 처리에 의하면, 유저의 기호에 대응하는 특징 벡터와 악곡의 특징 벡터와의 거리의 산출을 필수로 하지 않고, 유저의 기호에 따라서 부여된 평가값이 가장 높은 악곡을 유저에게 추천하는 것이 가능하게 된다.
이상 설명한 제1 내지 제3 유사 악곡 검색 처리, 및 제1 및 제2 악곡 추천 처리에 따르면, 원 악곡 혹은 유저의 기호에 대응하는 특징 벡터와, 검색 대상의 악곡의 특징 벡터와의 거리(여현 상관 등)를 산출하지 않고, 제시하는 악곡을 선택할 수 있다. 또한, 모든 처리에서, 유저의 기호를 우선할 수 있기 때문에, 검색이나 추천에 대한 유저의 만족도를 향상시킬 수 있다.
클러스터층마다 제시하기 위한 후보로 되는 악곡을 골라내고 있기 때문에, 소위 기호를 서로 더하는 것에 의한 불분명하게 된다는 문제가 발생하지 않는다고 하는 이점이 있다.
또한, 악곡의 메타데이터 중, 수치에 의해 표현되는 것은, 그것이 클러스터 간의 거리에 반영되도록 수치 그 자체가 직접 클러스터링에 사용되기 때문에, 정보가 최대한 활용된다.
또한, 클러스터층을 그룹으로 나누어서 부분적으로 이용하여도 된다. 예를 들면 {관련 아티스트층, 아티스트 장르층, 아티스트 리뷰 텍스트층}을 아티스트 검색 추천용 그룹으로, {악곡 특징량층(템포, 리듬, etc), 곡 장르층, 곡 리뷰 텍스트층}을 악곡 검색 추천용 그룹으로 하여 정의하도록 하여도 된다.
그런데, 전술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있지만, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 내장되어 있는 컴퓨터, 또는, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들면 도 16에 도시한 바와 같이 구성되는 범용의 퍼스널 컴퓨터 등에, 기록 매체로부터 인스톨된다.
이 퍼스널 컴퓨터(100)는, CPU(Central Processing Unit)(101)를 내장하고 있다. CPU(101)에는 버스(104)를 통하여, 입출력 인터페이스(105)가 접속되어 있다. 버스(104)에는, ROM(Read Only Memory)(102) 및 RAM(Random Access Memory)(103)이 접속되어 있다.
입출력 인터페이스(105)에는, 유저가 조작 커맨드를 입력하는 키보드, 마우스 등의 입력 디바이스로 이루어지는 입력부(106), 화면을 표시하는 CRT(Cathode Ray Tube) 또는 LCD(Liquid Crystal Display) 등의 디스플레이로 이루어지는 출력부(107), 프로그램이나 각종 데이터를 저장하는 하드디스크 드라이브 등으로 이루어지는 기억부(108), 및 모뎀, LAN(Local Area Network) 어댑터 등으로 이루어지고, 인터넷으로 대표되는 네트워크를 통한 통신 처리를 실행하는 통신부(109)가 접속되어 있다. 또한, 자기 디스크(플렉시블 디스크를 포함함), 광 디스크(CD-ROM(Compact Disc-Read Only Memory), DVD(Digital Versatile Disc)를 포함함), 광 자기 디스크(MD(Mini Disc)를 포함함), 혹은 반도체 메모리 등의 기록 매체(111)에 대하여 데이터를 읽고 쓰기하는 드라이브(110)가 접속되어 있다.
이 퍼스널 컴퓨터(100)에 전술한 일련의 처리를 실행시키는 프로그램은, 기록 매체(111)에 저장된 상태에서 퍼스널 컴퓨터(100)에 공급되고, 드라이브(110)에 의해 판독되어 기억부(108)에 내장되는 하드디스크 드라이브에 인스톨되어 있다. 기억부(108)에 인스톨되어 있는 프로그램은, 입력부(106)에 입력되는 유저로부터의 커맨드에 대응하는 CPU(101)의 명령에 의해, 기억부(108)로부터 RAM(103)에 로드되어 실행된다.
도 17은, 본 발명의 일 실시예의 추천 시스템(1)의 다른 구성의 예를 도시한 블록도이다. 도 17에서, 도 1에 도시한 경우와 마찬가지의 부분에는 동일한 부호를 붙이고, 그 설명은 생략한다.
도 17에 도시되는 추천 시스템(1)은, 악곡 DB(11), 키워드 설정부(13), 클러스터 정보 DB(14), 검색 악곡 지정부(21), 클러스터 매핑부(22), 악곡 추출부(23), 기호 정보 데이터베이스(24), 기호 입력부(25), 랜덤 선택부(26), 유사도 산출부(27), 선택 이유 생성부(28), 악곡 제시부(29), 메타데이터 클러스터링부(201), 및 악곡 클러스터링부(202)로 구성된다.
메타데이터 클러스터링부(201)는, 악곡 데이터베이스(11)에 기록되어 있는 각 악곡의 메타데이터를 클러스터링한다. 즉, 메타데이터 클러스터링부(201)는, 콘텐츠인 악곡의 메타데이터를 복수의 클러스터 중 어느 하나로 분류하고, 클러스터에 계층을 할당한다.
메타데이터 클러스터링부(201)는, 각 악곡의 메타데이터의 클러스터링의 결과를 악곡 클러스터링부(202)에 공급한다.
악곡 클러스터링부(202)는, 메타데이터 클러스터링부(201)에 의한 각 악곡의 메타데이터의 클러스터링의 결과에 기초하여, 클러스터링부(12)와 마찬가지로, 각 악곡을 클러스터링하여 각 악곡의 클러스터 정보를 생성한다. 즉, 악곡 클러스터링부(202)는, 각 악곡의 클러스터링의 결과에 따른 클러스터 정보를 생성하고 클러스터 정보 DB(14)에 출력한다.
다음으로, 도 18의 플로우차트를 참조하여, 도 17에 도시되는 추천 시스템(1)에서의, 악곡을 추천하는 처리의 준비인 오프라인 시의 전처리의 예에 대해서 설명한다.
스텝 S201에서, 메타데이터 클러스터링부(201)는, 악곡 DB(11)로부터 악곡의 메타데이터를 취득하고, 취득한 메타데이터의 차원을 압축한다. 예를 들면, 스텝 S201에서, 메타데이터 클러스터링부(201)는, 악곡 DB(11)로부터 취득한 악곡의 메타데이터의 차원을, LSA(the latent semantic analysis), PLSA(the probabilistic latent semantic analysis), 또는 수량화 Ⅲ류 등의 방법에 의해 압축한다.
또한, 스텝 S201에서, 메타데이터 클러스터링부(201)는, 악곡의 메타데이터를 벡터화하도록 하여도 된다.
스텝 S202에서, 메타데이터 클러스터링부(201)는, 각 악곡의 메타데이터를 클러스터링한다. 예를 들면, 스텝 S202에서, 메타데이터 클러스터링부(201)는, 각 악곡의 메타데이터를 소프트 클러스터링한다.
더 구체적으로는, 예를 들면, 도 19에서 도시되는 바와 같이, 메타데이터 클러스터링부(201)는, 각각의 계층 내에서, 아이템의 각 클러스터에의 귀속 가중값의 합이 1로 되도록, 각 악곡의 메타데이터를 소프트 클러스터링한다.
예를 들면, ABC123인 악곡 ID로 특정되는 악곡의 메타데이터의 제1 계층(층 번호 1)에서의 제1 클러스터, 제2 클러스터, 제3 클러스터, 및 제4 클러스터에의 귀속 가중값은, 각각, 0.0, 0.8, 0.0, 및 0.2이다. ABC123인 악곡 ID로 특정되는 악곡의 메타데이터의 제2 계층(층 번호 2)에서의 제5 클러스터, 제6 클러스터, 제7 클러스터, 및 제8 클러스터에의 귀속 가중값은, 각각, 0.4, 0.6, 0.0, 및 0.0이다. ABC123인 악곡 ID로 특정되는 악곡의 메타데이터의 제3 계층(층 번호 3)에서의 제9 클러스터, 제10 클러스터, 및 제11 클러스터에의 귀속 가중값은, 각각, 0.0, 0.0, 및 1.0이다. 또한, ABC123인 악곡 ID로 특정되는 악곡의 메타데이터의 제n 계층(층 번호 n)에서의 4개의 클러스터의 각각에의 귀속 가중값은, 각각, 1.0, 0.0, 0.0, 및 0.0이다.
예를 들면, CTH863인 악곡 ID로 특정되는 악곡의 메타데이터의 제1 계층에서의 제1 클러스터, 제2 클러스터, 제3 클러스터, 및 제4 클러스터에의 귀속 가중값은, 각각, 1.0, 0.0, 0.0, 및 0.0이다. CTH863인 악곡 ID로 특정되는 악곡의 메타데이터의 제2 계층에서의 제5 클러스터, 제6 클러스터, 제7 클러스터, 및 제8 클러스터에의 귀속 가중값은, 각각, 0.0, 0.5, 0.5, 및 0.0이다. CTH863인 악곡 ID로 특정되는 악곡의 메타데이터의 제3 계층에서의 제9 클러스터, 제10 클러스터, 및 제11 클러스터에의 귀속 가중값은, 각각, 0.7, 0.3, 및 0.0이다. 또한, CTH863인 악곡 ID로 특정되는 악곡의 메타데이터의 제n 계층에서의 4개의 클러스터의 각각에의 귀속 가중값은, 각각, 0.0, 0.8, 0.2, 및 0.0이다.
예를 들면, XYZ567인 악곡 ID로 특정되는 악곡의 메타데이터의 제1 계층에서의 제1 클러스터, 제2 클러스터, 제3 클러스터, 및 제4 클러스터에의 귀속 가중값은, 각각, 0.0, 0.4, 0.6, 및 0.0이다. XYZ567인 악곡 ID로 특정되는 악곡의 메타데이터의 제2 계층에서의 제5 클러스터, 제6 클러스터, 제7 클러스터, 및 제8 클러스터에의 귀속 가중값은, 각각, 0.0, 0.0, 0.0, 및 1.0이다. XYZ567인 악곡 ID로 특정되는 악곡의 메타데이터의 제3 계층에서의 제9 클러스터, 제10 클러스터, 및 제11 클러스터에의 귀속 가중값은, 각각, 0.9, 0.0, 및 0.1이다. 또한, XYZ567인 악곡 ID로 특정되는 악곡의 메타데이터의 제n 계층에서의 4개의 클러스터의 각각에의 귀속 가중값은, 각각, 0.3, 0.0, 0.0, 및 0.7이다.
또한, 각 악곡의 메타데이터의 소프트 클러스터링은, 각각의 계층 내에서, 아이템, 즉 악곡의 각 클러스터에의 귀속 가중값의 합이 1로 되는 것에 한정되지 않는다. 또한, 각 아이템이 각 계층에서, 어느 하나의 클러스터에 속하지 않는 것으로 하여도 된다.
스텝 S203에서, 메타데이터 클러스터링부(201)는, 클러스터의 층을 할당한다.
여기서, 도 20 및 도 21을 참조하여, 메타데이터의 클러스터링 및 클러스터의 층의 할당에 대해서 설명한다. 도 20은, 메타데이터의 예를 도시한 도면이다. 도 20에서 도시되는 메타데이터는, 간단하게 하기 위해서, 0 또는 1 중 어느 하나의 값의 카테고리컬 데이터로 되어 있다.
고차의 분류로서의 메타그룹 1에는, 메타데이터 1, 메타데이터 2, 및 메타데 이터 3이 속하고, 고차의 분류로서의 메타그룹 2에는, 메타데이터 4, 메타데이터 5, 및 메타데이터 6이 속한다. 예를 들면, 메타그룹 1에는, 아티스트에 관한 메타데이터가 속하고, 메타데이터 1은, 아티스트의 외관을 나타내고, 메타데이터 2는, 그룹인 것을 나타낸다. 또한, 예를 들면, 메타그룹 2에는, 장르에 관한 메타데이터가 속하고, 메타데이터 4는, 팝인 것을 나타내고, 메타데이터 5는, 록인 것을 나타낸다.
도 20에 도시하는 예에서, ABC123인 악곡 ID로 특정되는 악곡의 메타데이터 1 내지 메타데이터 6은, 각각, 1, 1, 1, 1, 1, 1이고, CTH863인 악곡 ID로 특정되는 악곡의 메타데이터 1 내지 메타데이터 6은, 각각, 0, 1, 0, 0, 1, 1이고, XYZ567인 악곡 ID로 특정되는 악곡의 메타데이터 1 내지 메타데이터 6은, 각각, 1, 1, 1, 1, 1, 1이다. 또한, EKF534인 악곡 ID로 특정되는 악곡의 메타데이터 1 내지 메타데이터 6은, 각각, 1, 0, 1, 0, 0, 1이고, OPQ385인 악곡 ID로 특정되는 악곡의 메타데이터 1 내지 메타데이터 6은, 각각, 1, 0, 1, 1, 0, 0이다.
이 때, ABC123인 악곡 ID로 특정되는 악곡 내지 OPQ385인 악곡 ID로 특정되는 악곡에 관한, 메타데이터 1을 벡터로 간주한다. 마찬가지로, ABC123인 악곡 ID로 특정되는 악곡 내지 OPQ385인 악곡 ID로 특정되는 악곡에 관한, 메타데이터 2 내지 메타데이터 6의 각각을 벡터로 간주한다. 즉, 복수의 악곡에 관한 1개의 메타데이터의 값을 벡터로 간주한다.
이 벡터끼리의 거리에 주목한다.
도 20에서 나타나는 예에서, 벡터로 간주되는 메타데이터 1, 메타데이터 3, 메타데이터 4가, 맨하탄 거리 1 이내의 클러스터에, 또한, 메타데이터 2, 메타데이터 5, 메타데이터 6이, 맨하탄 거리 1 이내의 다른 클러스터에, 통합되어 있다.
따라서, 이들 클러스터를, 새로운 메타데이터의 계층으로 한다. 즉, 계층의 각각의 층에, 더 가까운 메타데이터가 할당된다.
도 21은, 이와 같이 클러스터링되고, 층이 할당된 메타데이터의 예를 도시한다. 도 21에 도시하는 예에서, 제1층에는, 메타데이터 1, 메타데이터 3, 및 메타데이터 4가 속하고, 제2층에는, 메타데이터 2, 메타데이터 5, 및 메타데이터 6이 속한다.
이와 같이, 상관이 높은 메타데이터의 모임으로 각각의 층이 형성되고, 그 중에서 악곡의 클러스터링이 행해지기 때문에, 장르나 아티스트 등을 그대로 계층으로 하도록 하는 통상의 계층 나눔으로는 완전히 표현할 수 없는 미묘한 악곡 간의 차를 클러스터에 반영할 수 있다.
도 18로 되돌아가서, 스텝 S204에서, 악곡 클러스터링부(202)는, 층마다 악곡을 클러스터링하고, 처리는 종료한다. 즉, 악곡 클러스터링부(202)는, 각 콘텐츠를, 할당된 계층의 각각에서 복수의 클러스터 중 어느 하나로 분류한다.
이와 같이 함으로써, 메타데이터에 의한 악곡의 표현의 상세도(표현의 상세함의 정도)를 유지한 상태에서, 데이터량 및 계산량을 삭감하여, 악곡을 클러스터링할 수 있다.
또한, 이상과 같이, 메타데이터를 계층화함으로써, 악곡 간의 미묘한 차이가 잘 표현되도록 악곡을 클러스터링할 수 있다.
다음으로, 도 22의 플로우차트를 참조하여, 제4 유사 악곡 검색 처리를 설명한다. 스텝 S221에서, 검색 악곡 지정부(21)는, 유사원으로 되는 원 악곡을 설정한다. 즉, 예를 들면, 스텝 S221에서, 검색 악곡 지정부(21)는, 클러스터 매핑부(22)를 통하여, 유저의 지정에 따라서, 원 악곡의 악곡 ID를 악곡 추출부(23)에 출력함으로써, 원 악곡을 설정한다.
스텝 S222에서, 유사도 산출부(27)는, 각 클러스터의 귀속 가중값으로부터, 원 악곡과, 원 악곡 이외의 모든 악곡의 각각의 유사도를 계산한다.
예를 들면, 악곡 추출부(23)는, 악곡 ID로 특정되는 원 악곡의 클러스터 정보와, 원 악곡 이외의 모든 악곡의 클러스터 정보를, 클러스터 정보 데이터베이스(14)로부터 판독한다. 그리고, 악곡 추출부(23)는, 판독한 클러스터 정보를 유사도 산출부(27)에 공급한다. 유사도 산출부(27)는, 원 악곡과 원 악곡 이외의 모든 악곡의 클러스터 정보로 나타나는 각 클러스터의 귀속 가중값으로부터, 원 악곡과, 원 악곡 이외의 모든 악곡의 각각의 유사도를 계산한다.
더 구체적으로는, 예를 들면, 악곡 클러스터링부(202)에 의해, 각 악곡이, 각각의 계층 내에서, 소프트 클러스터링되고, 각 클러스터의 귀속 가중값을 나타내는 클러스터 정보가 클러스터 정보 데이터베이스(14)에 저장되어 있다.
도 23은, 클러스터의 귀속 가중값을 나타내는 클러스터 정보의 예를 도시한 도면이다.
예를 들면, 제1 계층에서의 클러스터인, CL11인 클러스터 ID로 특정되는 클러스터, CL12인 클러스터 ID로 특정되는 클러스터, CL13인 클러스터 ID로 특정되는 클러스터, 및 CL14인 클러스터 ID로 특정되는 클러스터에의, ABC123인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 1.0, 0.0, 및 0.2이다. 제2 계층에서의 클러스터인, CL21인 클러스터 ID로 특정되는 클러스터, CL22인 클러스터 ID로 특정되는 클러스터, CL23인 클러스터 ID로 특정되는 클러스터, 및 CL24인 클러스터 ID로 특정되는 클러스터에의, ABC123인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.6, 0.8, 0.0, 및 0.0이다.
또한, 제3 계층에서의 클러스터인, CL31인 클러스터 ID로 특정되는 클러스터, CL32인 클러스터 ID로 특정되는 클러스터, 및 CL33인 클러스터 ID로 특정되는 클러스터에의, ABC123인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 0.0, 및 1.0이다. 또한, 제4 계층에서의 클러스터인, CL41인 클러스터 ID로 특정되는 클러스터, CL42인 클러스터 ID로 특정되는 클러스터, CL43인 클러스터 ID로 특정되는 클러스터, 및 CL44인 클러스터 ID로 특정되는 클러스터에의, ABC123인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 1.0, 0.0, 0.0, 및 0.0이다.
예를 들면, 제1 계층에서의 클러스터인, CL11인 클러스터 ID로 특정되는 클러스터, CL12인 클러스터 ID로 특정되는 클러스터, CL13인 클러스터 ID로 특정되는 클러스터, 및 CL14인 클러스터 ID로 특정되는 클러스터에의, CTH863인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 1.0, 0.0, 0.0, 및 0.0이다. 제2 계층에서의 클러스터인, CL21인 클러스터 ID로 특정되는 클러스터, CL22인 클러스터 ID로 특정되는 클러스터, CL23인 클러스터 ID로 특정되는 클러스터, 및 CL24인 클러스터 ID로 특정되는 클러스터에의, CTH863인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 0.7, 0.7, 및 0.0이다.
또한, 제3 계층에서의 클러스터인, CL31인 클러스터 ID로 특정되는 클러스터, CL32인 클러스터 ID로 특정되는 클러스터, 및 CL33인 클러스터 ID로 특정되는 클러스터에의, CTH863인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.9, 0.4, 및 0.0이다. 또한, 제4 계층에서의 클러스터인, CL41인 클러스터 ID로 특정되는 클러스터, CL42인 클러스터 ID로 특정되는 클러스터, CL43인 클러스터 ID로 특정되는 클러스터, 및 CL44인 클러스터 ID로 특정되는 클러스터에의, CTH863인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 1.0, 0.3, 및 0.0이다.
예를 들면, 제1 계층에서의 클러스터인, CL11인 클러스터 ID로 특정되는 클러스터, CL12인 클러스터 ID로 특정되는 클러스터, CL13인 클러스터 ID로 특정되는 클러스터, 및 CL14인 클러스터 ID로 특정되는 클러스터에의, XYZ567인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 0.6, 0.8, 및 0.0이다. 제2 계층에서의 클러스터인, CL21인 클러스터 ID로 특정되는 클러스터, CL22인 클러스터 ID로 특정되는 클러스터, CL23인 클러스터 ID로 특정되는 클러스터, 및 CL24인 클러스터 ID로 특정되는 클러스터에의, XYZ567인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 0.0, 0.0, 및 1.0이다.
또한, 제3 계층에서의 클러스터인, CL31인 클러스터 ID로 특정되는 클러스터, CL32인 클러스터 ID로 특정되는 클러스터, 및 CL33인 클러스터 ID로 특정되는 클러스터에의, XYZ567인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 1.0, 0.0, 및 0.1이다. 또한, 제4 계층에서의 클러스터인, CL41인 클러스터 ID로 특정 되는 클러스터, CL42인 클러스터 ID로 특정되는 클러스터, CL43인 클러스터 ID로 특정되는 클러스터, 및 CL44인 클러스터 ID로 특정되는 클러스터에의, XYZ567인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.5, 0.0, 0.0, 및 0.9이다.
예를 들면, 제1 계층에서의 클러스터인, CL11인 클러스터 ID로 특정되는 클러스터, CL12인 클러스터 ID로 특정되는 클러스터, CL13인 클러스터 ID로 특정되는 클러스터, 및 CL14인 클러스터 ID로 특정되는 클러스터에의, EKF534인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.9, 0.0, 0.0, 및 0.5이다. 제2 계층에서의 클러스터인, CL21인 클러스터 ID로 특정되는 클러스터, CL22인 클러스터 ID로 특정되는 클러스터, CL23인 클러스터 ID로 특정되는 클러스터, 및 CL24인 클러스터 ID로 특정되는 클러스터에의, EKF534인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 0.6, 0.0, 및 0.8이다.
또한, 제3 계층에서의 클러스터인, CL31인 클러스터 ID로 특정되는 클러스터, CL32인 클러스터 ID로 특정되는 클러스터, 및 CL33인 클러스터 ID로 특정되는 클러스터에의, EKF534인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.7, 0.0, 및 0.7이다. 또한, 제4 계층에서의 클러스터인, CL41인 클러스터 ID로 특정되는 클러스터, CL42인 클러스터 ID로 특정되는 클러스터, CL43인 클러스터 ID로 특정되는 클러스터, 및 CL44인 클러스터 ID로 특정되는 클러스터에의, EKF534인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 0.9, 0.4, 및 0.3이다.
예를 들면, 제1 계층에서의 클러스터인, CL11인 클러스터 ID로 특정되는 클러스터, CL12인 클러스터 ID로 특정되는 클러스터, CL13인 클러스터 ID로 특정되는 클러스터, 및 CL14인 클러스터 ID로 특정되는 클러스터에의, OPQ385인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.7, 0.2, 0.6, 및 0.0이다. 제2 계층에서의 클러스터인, CL21인 클러스터 ID로 특정되는 클러스터, CL22인 클러스터 ID로 특정되는 클러스터, CL23인 클러스터 ID로 특정되는 클러스터, 및 CL24인 클러스터 ID로 특정되는 클러스터에의, OPQ385인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 1.0, 0.0, 0.0, 및 0.0이다.
또한, 제3 계층에서의 클러스터인, CL31인 클러스터 ID로 특정되는 클러스터, CL32인 클러스터 ID로 특정되는 클러스터, 및 CL33인 클러스터 ID로 특정되는 클러스터에의, OPQ385인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 1.0, 및 0.0이다. 또한, 제4 계층에서의 클러스터인, CL41인 클러스터 ID로 특정되는 클러스터, CL42인 클러스터 ID로 특정되는 클러스터, CL43인 클러스터 ID로 특정되는 클러스터, 및 CL44인 클러스터 ID로 특정되는 클러스터에의, OPQ385인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.4, 0.9, 0.0, 및 0.0이다.
예를 들면, 유사도 산출부(27)는, i인 악곡 ID로 특정되는 원 악곡과 j인 악곡 ID로 특정되는 악곡의 유사도(sim(i, j))를, 각각의 악곡의 클러스터에의 귀속 가중값으로부터, 수학식 1로 표현되는 연산으로 계산한다.
Figure 112007014186674-PCT00001
수학식 1에서, L은, 계층의 수를 나타내는 값이고, l은, 계층을 특정하는 값 이다. C(l)은, 클러스터의 전체를 나타내고, c는, 클러스터를 특정하는 값이다. wilc는, i인 악곡 ID로 특정되는 원 악곡의, 제1층의 제c 클러스터의 귀속 가중값을 나타낸다. wjlc는, j인 악곡 ID로 특정되는 악곡의, 제1층의 제c 클러스터의 귀속 가중값을 나타낸다.
도 24는, 클러스터의 귀속 가중값을 나타내는 도 23의 클러스터 정보로부터, 수학식 1로 표현되는 연산에 의해 계산된 유사도의 예를 도시한 도면이다. 또한, 도 24에서, ABC123인 악곡 ID로 특정되는 원 악곡에 대한, CTH863 내지 OPQ385의 각각의 악곡 ID로 특정되는 악곡의 각각에 관한 유사도가 나타나 있다.
도 24에서 도시하는 바와 같이, 도 23의 클러스터 정보에 기초하여, ABC123인 악곡 ID로 특정되는 원 악곡에 대하여, CTH863 내지 OPQ385의 각각의 악곡 ID로 특정되는 악곡의 각각의 유사도를 수학식 1로 표현되는 연산으로 계산하면, CTH863 내지 OPQ385의 각각의 악곡 ID로 특정되는 악곡의 각각의 유사도는, 0.57, 1.18, 1.27, 1.20으로 된다.
예를 들면, 스텝 S222에서, 유사도 산출부(27)는, 수학식 1로 표현되는 연산에 의해, 각각, 0.57, 1.18, 1.27, 1.20인, ABC123인 악곡 ID로 특정되는 원 악곡에 대한, CTH863 내지 OPQ385의 각각의 악곡 ID로 특정되는 악곡의 각각의 유사도를 계산한다.
스텝 S223에서, 유사도 산출부(27)는, 유사도에 기초하여, 원 악곡과 유사한 순으로, 원 악곡 이외의 모든 악곡을 소트한다.
더 구체적으로는, 유사도 산출부(27)는, 계산의 결과 얻어진 악곡의 유사도와, 악곡의 악곡 ID를 대응지어서, 유사도에 기초하여, 원 악곡과 유사한 순으로 악곡의 악곡 ID를 재배열함으로써, 원 악곡과 유사한 순으로, 원 악곡 이외의 모든 악곡을 소트한다.
스텝 S254에서, 유사도 산출부(27)는, 소트된 악곡 중, 임의의 수의 상위의 악곡을 선택한다. 유사도 산출부(27)는, 선택한 악곡의 악곡 ID를 선택 이유 생성부(28)에 공급한다.
예를 들면, 스텝 S254에서, 유사도 산출부(27)는, 최상위의 악곡을 선택하여, 최상위의 악곡의 악곡 ID를 선택 이유 생성부(28)에 공급한다. 또는, 예를 들면, 스텝 S254에서, 유사도 산출부(27)는, 상위 10곡의 악곡을 선택하여, 상위 10곡의 악곡의 악곡 ID를 선택 이유 생성부(28)에 공급한다.
스텝 S255에서, 선택 이유 생성부(28)는, 유사도 산출부(27)에 의해 선택된 악곡이 선택된 이유를 나타내는 선택 이유문을 생성하고, 선택된 악곡의 악곡 ID와 함께 악곡 제시부(29)에 출력한다. 스텝 S256에서, 악곡 제시부(29)는, 선택 이유 생성부(28)로부터 입력되는 악곡 ID의 악곡과 선택 이유문을 유저에게 제시하고, 처리는 종료한다.
다음으로, 도 25의 플로우차트를 참조하여, 제5 유사 악곡 검색 처리를 설명한다. 스텝 S241 내지 스텝 S251의 각각은, 도 11의 스텝 S1 내지 스텝 S11의 각각과 마찬가지이기 때문에, 그 설명은 생략한다.
스텝 S252에서, 유사도 산출부(27)는, 악곡 추출부(23)로부터 공급된, 집합 C의 요소(악곡 ID)에 기초하여, 각 클러스터의 귀속 가중값으로부터, 원 악곡과, 집합 C의 악곡의 각각의 유사도를 계산한다. 예를 들면, 스텝 S252에서, 유사도 산출부(27)는, 수학식 1로 표현되는 연산에 의해, 원 악곡과 집합 C의 악곡의 각각의 유사도를 계산한다.
스텝 S253에서, 유사도 산출부(27)는, 유사도에 기초하여, 원 악곡과 유사한 순으로, 집합 C의 악곡을 소트한다.
더 구체적으로는, 유사도 산출부(27)는, 계산의 결과 얻어진 유사도와, 집합 C의 악곡의 악곡 ID를 대응지어서, 유사도에 기초하여, 집합 C의 악곡의 악곡 ID를 재배열함으로써, 원 악곡과 유사한 순으로, 집합 C의 악곡을 소트한다.
스텝 S224에서, 유사도 산출부(27)는, 소트된 악곡 중, 임의의 수의 상위의 악곡을 선택한다. 유사도 산출부(27)는, 선택한 악곡의 악곡 ID를 선택 이유 생성부(28)에 공급한다.
예를 들면, 스텝 S224에서, 유사도 산출부(27)는, 최상위의 악곡을 선택하여, 최상위의 악곡의 악곡 ID를 선택 이유 생성부(28)에 공급한다. 또는, 예를 들면, 스텝 S224에서, 유사도 산출부(27)는, 상위 10곡의 악곡을 선택하여, 상위 10곡의 악곡의 악곡 ID를 선택 이유 생성부(28)에 공급한다.
스텝 S225에서, 선택 이유 생성부(28)는, 유사도 산출부(27)에 의해 선택된 악곡이 선택된 이유를 나타내는 선택 이유문을 생성하고, 선택된 악곡의 악곡 ID와 함께 악곡 제시부(29)에 출력한다. 스텝 S226에서, 악곡 제시부(29)는, 선택 이유 생성부(28)로부터 입력되는 악곡 ID의 악곡과 선택 이유문을 유저에게 제시하고, 처리는 종료한다.
다음으로, 도 26의 플로우차트를 참조하여, 제3 악곡 추천 처리를 설명한다. 스텝 S261 내지 스텝 S270의 각각은, 도 14의 스텝 S91 내지 스텝 S100의 각각과 마찬가지이기 때문에, 그 설명은 생략한다.
스텝 S271에서, 유사도 산출부(27)는, 악곡 추출부(23)로부터 공급된, 집합 C의 요소(악곡 ID)에 기초하여, 각 클러스터의 귀속 가중값을 나타내는 유저의 기호값과, 집합 C의 악곡의 각각의 클러스터 정보로서, 각 클러스터의 귀속 가중값을 나타내는 클러스터 정보와의 유사도를 계산한다.
여기서, 도 27 내지 도 31을 참조하여, 유저의 기호값과, 집합 C의 악곡의 각각의 클러스터 정보의 유사도를 설명한다.
예를 들면, 기호 정보 데이터베이스(24)는, 소프트 클러스터링되고, 각각의 계층 내에서, 각 클러스터의 귀속 가중값을 나타내는 기호값을 기록하고 있다.
도 27은, 각 클러스터의 귀속 가중값을 나타내는 기호값의 예를 도시한 도면이다.
예를 들면, 제1 계층에서의 클러스터인, CL11인 클러스터 ID로 특정되는 클러스터, CL12인 클러스터 ID로 특정되는 클러스터, CL13인 클러스터 ID로 특정되는 클러스터, 및 CL14인 클러스터 ID로 특정되는 클러스터에의, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값은, 각각, 0.0, 0.8, 0.0, 및 0.6이다. 제2 계층에서의 클러스터인, CL21인 클러스터 ID로 특정되는 클러스터, CL22인 클러스터 ID로 특정되는 클러스터, CL23인 클러스터 ID로 특정되는 클러스터, 및 CL24인 클러스터 ID로 특정되는 클러스터에의, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값은, 각각, 0.4, 0.6, 0.7, 및 0.0이다.
또한, 제3 계층에서의 클러스터인, CL31인 클러스터 ID로 특정되는 클러스터, CL32인 클러스터 ID로 특정되는 클러스터, 및 CL33인 클러스터 ID로 특정되는 클러스터에의, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값은, 각각, 0.7, 0.5, 및 0.5이다. 또한, 제4 계층에서의 클러스터인, CL41인 클러스터 ID로 특정되는 클러스터, CL42인 클러스터 ID로 특정되는 클러스터, CL43인 클러스터 ID로 특정되는 클러스터, 및 CL44인 클러스터 ID로 특정되는 클러스터에의, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값은, 각각, 0.0, 0.5, 0.4, 및 0.0이다.
도 28은, 각 클러스터의 귀속 가중값을 나타내는 클러스터 정보의 예를 도시한 도면이다.
예를 들면, 제1 계층에서의 클러스터인, CL11인 클러스터 ID로 특정되는 클러스터, CL12인 클러스터 ID로 특정되는 클러스터, CL13인 클러스터 ID로 특정되는 클러스터, 및 CL14인 클러스터 ID로 특정되는 클러스터에의, ABC123인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 1.0, 0.0, 및 0.2이다. 제2 계층에서의 클러스터인, CL21인 클러스터 ID로 특정되는 클러스터, CL22인 클러스터 ID로 특정되는 클러스터, CL23인 클러스터 ID로 특정되는 클러스터, 및 CL24인 클러스터 ID로 특정되는 클러스터에의, ABC123인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.6, 0.8, 0.0, 및 0.0이다.
또한, 제3 계층에서의 클러스터인, CL31인 클러스터 ID로 특정되는 클러스터, CL32인 클러스터 ID로 특정되는 클러스터, 및 CL33인 클러스터 ID로 특정되는 클러스터에의, ABC123인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 0.0, 및 1.0이다. 또한, 제4 계층에서의 클러스터인, CL41인 클러스터 ID로 특정되는 클러스터, CL42인 클러스터 ID로 특정되는 클러스터, CL43인 클러스터 ID로 특정되는 클러스터, 및 CL44인 클러스터 ID로 특정되는 클러스터에의, ABC123인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 1.0, 0.0, 0.0, 및 0.0이다.
예를 들면, 제1 계층에서의 클러스터인, CL11인 클러스터 ID로 특정되는 클러스터, CL12인 클러스터 ID로 특정되는 클러스터, CL13인 클러스터 ID로 특정되는 클러스터, 및 CL14인 클러스터 ID로 특정되는 클러스터에의, CTH863인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 1.0, 0.0, 0.0, 및 0.0이다. 제2 계층에서의 클러스터인, CL21인 클러스터 ID로 특정되는 클러스터, CL22인 클러스터 ID로 특정되는 클러스터, CL23인 클러스터 ID로 특정되는 클러스터, 및 CL24인 클러스터 ID로 특정되는 클러스터에의, CTH863인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 0.7, 0.7, 및 0.0이다.
또한, 제3 계층에서의 클러스터인, CL31인 클러스터 ID로 특정되는 클러스터, CL32인 클러스터 ID로 특정되는 클러스터, 및 CL33인 클러스터 ID로 특정되는 클러스터에의, CTH863인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.9, 0.4, 및 0.0이다. 또한, 제4 계층에서의 클러스터인, CL41인 클러스터 ID로 특정되는 클러스터, CL42인 클러스터 ID로 특정되는 클러스터, CL43인 클러스터 ID로 특정되는 클러스터, 및 CL44인 클러스터 ID로 특정되는 클러스터에의, CTH863인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 1.1, 0.3, 및 0.0이다.
예를 들면, 제1 계층에서의 클러스터인, CL11인 클러스터 ID로 특정되는 클러스터, CL12인 클러스터 ID로 특정되는 클러스터, CL13인 클러스터 ID로 특정되는 클러스터, 및 CL14인 클러스터 ID로 특정되는 클러스터에의, XYZ567인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 0.6, 0.8, 및 0.0이다. 제2 계층에서의 클러스터인, CL21인 클러스터 ID로 특정되는 클러스터, CL22인 클러스터 ID로 특정되는 클러스터, CL23인 클러스터 ID로 특정되는 클러스터, 및 CL24인 클러스터 ID로 특정되는 클러스터에의, XYZ567인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.0, 0.0, 0.0, 및 1.0이다.
또한, 제3 계층에서의 클러스터인, CL31인 클러스터 ID로 특정되는 클러스터, CL32인 클러스터 ID로 특정되는 클러스터, 및 CL33인 클러스터 ID로 특정되는 클러스터에의, XYZ567인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 1.0, 0.0, 및 0.1이다. 또한, 제4 계층에서의 클러스터인, CL41인 클러스터 ID로 특정되는 클러스터, CL42인 클러스터 ID로 특정되는 클러스터, CL43인 클러스터 ID로 특정되는 클러스터, 및 CL44인 클러스터 ID로 특정되는 클러스터에의, XYZ567인 악곡 ID로 특정되는 악곡의 귀속 가중값은, 각각, 0.4, 0.0, 0.0, 및 0.7이다.
예를 들면, 유사도 산출부(27)는, 유저의 기호값에서의 클러스터에의 귀속 가중값과, i인 악곡 ID로 특정되는 악곡의 클러스터 정보에서의 클러스터에의 귀속 가중값으로부터, 수학식 2로 표현되는 연산으로 유사도(sim(u, i))를 계산한다.
Figure 112007014186674-PCT00002
수학식 2에서, L은, 계층의 수를 나타내는 값이고, l은, 계층을 특정하는 값이다. C(l)은, 클러스터의 전체를 나타내고, c는, 클러스터를 특정하는 값이다. wilc는, i인 악곡 ID로 특정되는 악곡의 클러스터 정보의, 제1층의 제c 클러스터의 귀속 가중값을 나타낸다. hulc는, 유저(u)의 기호값의 제1층의 제c 클러스터의 귀속 가중값을 나타낸다.
도 29는, 도 27의 클러스터의 귀속 가중값을 나타내는 기호값과, 도 28의 클러스터의 귀속 가중값을 나타내는 클러스터 정보로부터, 수학식 2로 표현되는 연산에 의해 계산된 유사도의 예를 도시한 도면이다.
U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값 중의, 제1층의 귀속 가중값과, ABC123인 악곡 ID로 특정되는 악곡의 클러스터 정보의 귀속 가중값 중의, 제1층의 귀속 가중값이, 대응하는 귀속 가중값끼리 승산되고, 승산된 결과가 적산되면, 도 29의 ABC123인 악곡 ID에 대한 제1층에 배치한 값인 0.91이 구해진다. 마찬가지로, 제2층, 제3층, 및 제4층에 대해서, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값과, ABC123인 악곡 ID로 특정되는 악곡의 클러스터 정보의 귀속 가중값이, 대응하는 귀속 가중값끼리 승산되고, 승산된 결과가 적산되면, 도 29의 ABC123인 악곡 ID에 대한 제2층, 제3층, 및 제4층의 각각에 배치한 값인 0.67, 0.53, 0.00이 구해진다.
최종적으로, U001인 유저 ID로 특정되는 유저의 기호값과 ABC123인 악곡 ID로 특정되는 악곡의 클러스터 정보의 유사도는, 제1층, 제2층, 제3층, 및 제4층의 각각에 대해서 구해진 0.91, 0.67, 0.53, 및 0.00을 가산한 값인 2.11으로 된다.
U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값 중의, 제1층의 귀속 가중값과, CTH863인 악곡 ID로 특정되는 악곡의 클러스터 정보의 귀속 가중값 중의, 제1층의 귀속 가중값이, 대응하는 귀속 가중값끼리 승산되고, 승산된 결과가 적산되면, 도 29의 CTH863인 악곡 ID에 대한 제1층에 배치한 값인 0.00이 구해진다. 마찬가지로, 제2층, 제3층, 및 제4층에 대해서, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값과, CTH863인 악곡 ID로 특정되는 악곡의 클러스터 정보의 귀속 가중값이, 대응하는 귀속 가중값끼리 승산되고, 승산된 결과가 적산되면, 도 29의 CTH863인 악곡 ID에 대한 제2층, 제3층, 및 제4층의 각각에 배치한 값인 0.92, 0.82, 0.63이 구해진다.
최종적으로, U001인 유저 ID로 특정되는 유저의 기호값과 CTH863인 악곡 ID로 특정되는 악곡의 클러스터 정보의 유사도는, 제1층, 제2층, 제3층, 및 제4층의 각각에 대해서 구해진 0.00, 0.92, 0.82, 및 0.63을 가산한 값인 2.37로 한다.
U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값 중의, 제1층의 귀속 가중값과, XYZ567인 악곡 ID로 특정되는 악곡의 클러스터 정보의 귀속 가중값 중의, 제1층의 귀속 가중값이, 대응하는 귀속 가중값끼리 승산되고, 승산된 결과가 적산되면, 도 29의 XYZ567인 악곡 ID에 대한 제1층에 배치한 값인 0.44가 구해진다. 마찬가지로, 제2층, 제3층, 및 제4층에 대해서, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값과, XYZ567인 악곡 ID로 특정되는 악곡의 클러스터 정보의 귀속 가중값이, 대응하는 귀속 가중값끼리 승산되고, 승산된 결과가 적산되면, 도 29의 XYZ567인 악곡 ID에 대한 제2층, 제3층, 및 제4층의 각각에 배치한 값인 0.00, 0.72, 0.00이 구해진다.
최종적으로, U001인 유저 ID로 특정되는 유저의 기호값과 XYZ567인 악곡 ID로 특정되는 악곡의 클러스터 정보와의 유사도는, 제1층, 제2층, 제3층, 및 제4층의 각각에 대해서 구해진 0.44, 0.00, 0.72, 및 0.00을 가산한 값인 1.15로 된다.
또한, 각 계층에서의, 유저의 기호값의 귀속 가중값의 분포에 기초한 가중값을 이용하여 유사도를 계산하도록 하여도 된다.
예를 들면, 유사도 산출부(27)는, 유저의 기호값에서의 클러스터에의 귀속 가중값과, i인 악곡 ID로 특정되는 악곡의 클러스터 정보에서의 클러스터에의 귀속 가중값으로부터, 수학식 3으로 표현되는 연산으로 유사도(sim(u, i))를 계산한다.
Figure 112007014186674-PCT00003
수학식 3에서, L은, 계층의 수를 나타내는 값이고, l은, 계층을 특정하는 값이다. C(l)은, 클러스터의 전체를 나타내고, c는, 클러스터를 특정하는 값이다. wilc는, i인 악곡 ID로 특정되는 악곡의 클러스터 정보의, 제1층의 제c 클러스터의 귀속 가중값을 나타낸다. hulc는, 유저(u)의 기호값의 제1층의 제c 클러스터의 귀속 가중값을 나타낸다. bul은, 유저(u)의 기호값의 제1층에 관한 가중값을 나타낸 다.
도 30은, 유저의 기호값의 각각의 계층의 귀속 가중값의 분산인, 계층마다의 가중값의 예를 도시한 도면이다. 도 30에 도시하는 예에서, U001인 유저 ID로 특정되는 유저에 관한 제1층의 가중값, 제2층의 가중값, 제3층의 가중값, 및 제4층의 가중값은, 각각, 0.17, 0.10, 0.01, 및 0.06이다.
도 31은, 도 27의 클러스터의 귀속 가중값을 나타내는 기호값과, 도 28의 클러스터의 귀속 가중값을 나타내는 클러스터 정보와, 도 30의 계층마다의 가중값으로부터, 수학식 3으로 표현되는 연산에 의해 계산된 유사도의 예를 도시한 도면이다. 또한, 도 31에 도시하는 유사도는, 수학식 3으로 표현되는 연산에 의해 계산된 결과를 10배한 것이다.
U001인 유저 ID로 특정되는 유저의 기호값의 제1층의 귀속 가중값과, 유저의 기호값의 귀속 가중값에 대응하는, ABC123인 악곡 ID로 특정되는 악곡의 클러스터 정보의 제1층의 귀속 가중값과, 제1층의 가중값이 승산되고, 승산된 결과가 적산되면, 도 31의 ABC123인 악곡 ID에 대한 제1층에 배치한 값인 1.27이 구해진다. 마찬가지로, 제2층, 제3층, 및 제4층에 대해서, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값과, 유저의 기호값의 귀속 가중값에 대응하는, ABC123인 악곡 ID로 특정되는 악곡의 클러스터 정보의 귀속 가중값과, 제2층, 제3층, 또는 제4층 중의 그 층의 가중값이 승산되고, 승산된 결과가 적산되면, 도 31의 ABC123인 악곡 ID에 대한 제2층, 제3층, 및 제4층의 각각에 배치한 값인 0.49, 0.03, 0.00이 구해진다.
최종적으로, U001인 유저 ID로 특정되는 유저의 기호값과 ABC123인 악곡 ID로 특정되는 악곡의 클러스터 정보와의 유사도는, 제1층, 제2층, 제3층, 및 제4층의 각각에 대해서 구해진 1.27, 0.49, 0.03, 및 0.00을 가산한 값인 1.79로 된다.
U001인 유저 ID로 특정되는 유저의 기호값의 제1층의 귀속 가중값과, 유저의 기호값의 귀속 가중값에 대응하는, CTH863인 악곡 ID로 특정되는 악곡의 클러스터 정보의 제1층의 귀속 가중값과, 제1층의 가중값이 승산되고, 승산된 결과가 적산되면, 도 31의 CTH863인 악곡 ID에 대한 제1층에 배치한 값인 0.00이 구해진다. 마찬가지로, 제2층, 제3층, 및 제4층에 대해서, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값과, 유저의 기호값의 귀속 가중값에 대응하는, CTH863인 악곡 ID로 특정되는 악곡의 클러스터 정보의 귀속 가중값과, 제2층, 제3층, 또는 제4층 중의 그 층의 가중값이 승산되고, 승산된 결과가 적산되면, 도 31의 CTH863인 악곡 ID에 대한 제2층, 제3층, 및 제4층의 각각에 배치한 값인 0.65, 0.04, 0.27이 구해진다.
최종적으로, U001인 유저 ID로 특정되는 유저의 기호값과 CTH863인 악곡 ID로 특정되는 악곡의 클러스터 정보와의 유사도는, 제1층, 제2층, 제3층, 및 제4층의 각각에 대해서 구해진 0.00, 0.65, 0.04, 및 0.27을 가산한 값인 0.96으로 된다.
U001인 유저 ID로 특정되는 유저의 기호값의 제1층의 귀속 가중값과, 유저의 기호값의 귀속 가중값에 대응하는, XYZ567인 악곡 ID로 특정되는 악곡의 클러스터 정보의 제1층의 귀속 가중값과, 제1층의 가중값이 승산되고, 승산된 결과가 적산되 면, 도 31의 XYZ567인 악곡 ID에 대한 제1층에 배치한 값인 0.53이 구해진다. 마찬가지로, 제2층, 제3층, 및 제4층에 대해서, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값과, 유저의 기호값의 귀속 가중값에 대응하는, XYZ567인 악곡 ID로 특정되는 악곡의 클러스터 정보의 귀속 가중값과, 제2층, 제3층, 또는 제4층 중의 그 층의 가중값이 승산되고, 승산된 결과가 적산되면, 도 31의 XYZ567인 악곡 ID에 대한 제2층, 제3층, 및 제4층의 각각에 배치한 값인 0.00, 0.04, 0.00이 구해진다.
최종적으로, U001인 유저 ID로 특정되는 유저의 기호값과 XYZ567인 악곡 ID로 특정되는 악곡의 클러스터 정보와의 유사도는, 제1층, 제2층, 제3층, 및 제4층의 각각에 대해서 구해진 0.53, 0.00, 0.04, 및 0.00을 가산한 값인 0.57로 된다.
도 27에서 도시하는 기호값에 주목하면, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값의 값은, 제2층 내지 제4층에 비교하여, 제1층에서 크게 변화되고 있기 때문에, 제2층 내지 제4층에 비교하여, 제1층의 각 요소의 값이, U001인 유저 ID로 특정되는 유저의 기호에 의해 관계한다고 예측된다.
이와 같이, 가중값 부여함으로써, 유저의 기호에 그다지 관계하지 않는다고 예측되는 값에 비교하여, 유저의 기호에 의해 관계한다고 예측되는 값에 의해, 그 값이 더 크게 변화되는 유사도를 구할 수 있기 때문에, 더 정확하게, 유저가 좋아하는 악곡을 검출할 수 있다.
도 26으로 되돌아가서, 스텝 S272에서, 유사도 산출부(27)는, 유사도에 기초하여, 유저의 기호와 유사한 순으로, 집합 C의 악곡을 소트한다.
더 구체적으로는, 유사도 산출부(27)는, 계산의 결과 얻어진 유사도와, 집합 C의 악곡의 악곡 ID를 대응지어서, 유사도에 기초하여, 집합 C의 악곡의 악곡 ID를 재배열함으로써, 유저의 기호와 유사한 순으로, 집합 C의 악곡을 소트한다.
스텝 S273에서, 유사도 산출부(27)는, 소트된 악곡 중, 임의의 수의 상위의 악곡을 선택한다. 유사도 산출부(27)는, 선택한 악곡의 악곡 ID를 선택 이유 생성부(28)에 공급한다.
예를 들면, 수학식 2로 표현되는 연산에 의해 유사도가 계산되고, ABC123인 악곡 ID로 특정되는 악곡에 관한 유사도가 2.11로 되고, CTH863인 악곡 ID로 특정되는 악곡에 관한 유사도가 2.37로 되고, XYZ567인 악곡 ID로 특정되는 악곡에 관한 유사도가 1.15로 된 경우, 1개의 악곡을 선택할 때, 유사도가 최대인, CTH863인 악곡 ID로 특정되는 악곡이 선택되게 된다.
또한, 예를 들면, 수학식 3으로 표현되는 연산에 의해, 각 계층에서의, 유저의 기호값의 귀속 가중값의 분포에 기초한 가중값을 이용하여 유사도가 계산되고, ABC123인 악곡 ID로 특정되는 악곡에 관한 유사도가 1.79로 되고, CTH863인 악곡 ID로 특정되는 악곡에 관한 유사도가 0.96으로 되고, XYZ567인 악곡 ID로 특정되는 악곡에 관한 유사도가 0.57로 된 경우, 1개의 악곡을 선택할 때, 유사도가 최대인, ABC123인 악곡 ID로 특정되는 악곡이 선택되게 된다.
스텝 S274에서, 선택 이유 생성부(28)는, 유사도 산출부(27)에 의해 선택된 악곡이 선택된 이유를 나타내는 선택 이유문을 생성하고, 선택된 악곡의 악곡 ID와 함께 악곡 제시부(29)에 출력한다. 스텝 S275에서, 악곡 제시부(29)는, 선택 이유 생성부(28)로부터 입력되는 악곡 ID의 악곡과 선택 이유문을 유저에게 제시하고, 처리는 종료한다.
다음으로, 도 32의 플로우차트를 참조하여, 제4 악곡 추천 처리를 설명한다. 스텝 S281 내지 스텝 S284의 각각은, 도 15의 스텝 S121 내지 스텝 S124의 각각과 마찬가지이기 때문에, 그 설명은 생략한다.
스텝 S285에서, 악곡 추출부(23)는, 특정한 각 클러스터에 각각 대응하는 기호값과 제i층의 가중값에 기초하여 평가값을 결정한다.
도 33은, 도 27에서 도시하는 기호값의 귀속 가중값 중, 0.6인 임계값 이상의 귀속 가중값으로 이루어지는 기호값의 예를 도시한 도면이다.
즉, 도 27에서 도시하는 기호값의 귀속 가중값 중, 0.6 미만인 귀속 가중값이 0.0으로 치환됨으로써, 도 33에서 도시하는 기호값이 구해진다.
예를 들면, 제1 계층에서의 클러스터인, CL11인 클러스터 ID로 특정되는 클러스터, CL12인 클러스터 ID로 특정되는 클러스터, CL13인 클러스터 ID로 특정되는 클러스터, 및 CL14인 클러스터 ID로 특정되는 클러스터에의, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값은, 각각, 0.0, 0.8, 0.0, 및 0.6이다. 제2 계층에서의 클러스터인, CL21인 클러스터 ID로 특정되는 클러스터, CL22인 클러스터 ID로 특정되는 클러스터, CL23인 클러스터 ID로 특정되는 클러스터, 및 CL24인 클러스터 ID로 특정되는 클러스터에의, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값은, 각각, 0.0, 0.6, 0.7, 및 0.0이다.
또한, 제3 계층에서의 클러스터인, CL31인 클러스터 ID로 특정되는 클러스 터, CL32인 클러스터 ID로 특정되는 클러스터, 및 CL33인 클러스터 ID로 특정되는 클러스터에의, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값은, 각각, 0.7, 0.0, 및 0.0이다. 또한, 제4 계층에서의 클러스터인, CL41인 클러스터 ID로 특정되는 클러스터, CL42인 클러스터 ID로 특정되는 클러스터, CL43인 클러스터 ID로 특정되는 클러스터, 및 CL44인 클러스터 ID로 특정되는 클러스터에의, U001인 유저 ID로 특정되는 유저의 기호값의 귀속 가중값은, 각각, 0.0, 0.0, 0.0, 및 0.0이다.
예를 들면, 스텝 S285에서, 악곡 추출부(23)는, 임계값 이상의 귀속 가중값으로 이루어지는 기호값에서의 클러스터에의 귀속 가중값과, i인 악곡 ID로 특정되는 악곡의 클러스터 정보에서의 클러스터에의 귀속 가중값으로부터, 수학식 3으로 표현되는 연산으로 유사도를 계산한다. 즉, 원래의 기호값의 귀속 가중값 중, 예를 들면 0.6인 임계값 미만의 귀속 가중값과 승산되어 구해지는 값은, 유사도에 가산되지 않고, 원래의 기호값의 귀속 가중값 중, 임계값 이상인 귀속 가중값과 승산되어 구해지는 값은, 유사도에 가산되게 된다.
도 34는, 도 33의 임계값 이상의 귀속 가중값으로 이루어지는 기호값과, 도 28의 클러스터의 귀속 가중값을 나타내는 클러스터 정보와, 도 30의 계층마다의 가중값으로부터, 수학식 3으로 표현되는 연산에 의해 계산된 유사도의 예를 도시한 도면이다.
U001인 유저 ID로 특정되는 유저의 기호값으로서, 임계값 이상의 귀속 가중값으로 이루어지는 기호값의 제1층의 귀속 가중값과, 유저의 기호값의 귀속 가중값 에 대응하는, ABC123인 악곡 ID로 특정되는 악곡의 클러스터 정보의 제1층의 귀속 가중값과, 제1층의 가중값이 승산되고, 승산된 결과가 적산되면, 도 34의 ABC123인 악곡 ID에 대한 제1층에 배치한 값인 0.15가 구해진다. 마찬가지로, 제2층, 제3층, 및 제4층에 대해서, U001인 유저 ID로 특정되는 유저의 기호값으로서, 임계값 이상의 귀속 가중값으로 이루어지는 기호값의 귀속 가중값과, 유저의 기호값의 귀속 가중값에 대응하는, ABC123인 악곡 ID로 특정되는 악곡의 클러스터 정보의 귀속 가중값과, 제2층, 제3층, 또는 제4층 중의 그 층의 가중값이 승산되고, 승산된 결과가 적산되면, 도 34의 ABC123인 악곡 ID에 대한 제2층, 제3층, 및 제4층의 각각에 배치한 값인 0.05, 0.00, 0.00이 구해진다.
최종적으로, U001인 유저 ID로 특정되는 유저의 기호값과 ABC123인 악곡 ID로 특정되는 악곡의 클러스터 정보와의 유사도는, 제1층, 제2층, 제3층, 및 제4층의 각각에 대해서 구해진 0.15, 0.05, 0.00, 및 0.00을 가산한 값인 0.20으로 된다.
U001인 유저 ID로 특정되는 유저의 기호값으로서, 임계값 이상의 귀속 가중값으로 이루어지는 기호값의 제1층의 귀속 가중값과, 유저의 기호값의 귀속 가중값에 대응하는, CTH863인 악곡 ID로 특정되는 악곡의 클러스터 정보의 제1층의 귀속 가중값과, 제1층의 가중값이 승산되고, 승산된 결과가 적산되면, 도 34의 CTH863인 악곡 ID에 대한 제1층에 배치한 값인 0.00이 구해진다. 마찬가지로, 제2층, 제3층, 및 제4층에 대해서, U001인 유저 ID로 특정되는 유저의 기호값으로서, 임계값 이상의 귀속 가중값으로 이루어지는 기호값의 귀속 가중값과, 유저의 기호값의 귀 속 가중값에 대응하는, CTH863인 악곡 ID로 특정되는 악곡의 클러스터 정보의 귀속 가중값과, 제2층, 제3층, 또는 제4층 중의 그 층의 가중값이 승산되고, 승산된 결과가 적산되면, 도 34의 CTH863인 악곡 ID에 대한 제2층, 제3층, 및 제4층의 각각에 배치한 값인 0.10, 0.00, 0.00이 구해진다.
최종적으로, U001인 유저 ID로 특정되는 유저의 기호값과 CTH863인 악곡 ID로 특정되는 악곡의 클러스터 정보와의 유사도는, 제1층, 제2층, 제3층, 및 제4층의 각각에 대해서 구해진 0.00, 0.10, 0.00, 및 0.00을 가산한 값인 0.10으로 된다.
U001인 유저 ID로 특정되는 유저의 기호값으로서, 임계값 이상의 귀속 가중값으로 이루어지는 기호값의 제1층의 귀속 가중값과, 유저의 기호값의 귀속 가중값에 대응하는, XYZ567인 악곡 ID로 특정되는 악곡의 클러스터 정보의 제1층의 귀속 가중값과, 제1층의 가중값이 승산되고, 승산된 결과가 적산되면, 도 34의 XYZ567인 악곡 ID에 대한 제1층에 배치한 값인 0.07이 구해진다. 마찬가지로, 제2층, 제3층, 및 제4층에 대해서, U001인 유저 ID로 특정되는 유저의 기호값으로서, 임계값 이상의 귀속 가중값으로 이루어지는 기호값의 귀속 가중값과, 유저의 기호값의 귀속 가중값에 대응하는, XYZ567인 악곡 ID로 특정되는 악곡의 클러스터 정보의 귀속 가중값과, 제2층, 제3층, 또는 제4층 중의 그 층의 가중값이 승산되고, 승산된 결과가 적산되면, 도34의 XYZ567인 악곡 ID에 대한 제2층, 제3층, 및 제4층의 각각에 배치한 값인 0.00, 0.00, 0.00이 구해진다.
최종적으로, U001인 유저 ID로 특정되는 유저의 기호값과 XYZ567인 악곡 ID 로 특정되는 악곡의 클러스터 정보와의 유사도는, 제1층, 제2층, 제3층, 및 제4층의 각각에 대해서 구해진 0.07, 0.00, 0.00, 및 0.00을 가산한 값인 0.08로 된다.
스텝 S286 내지 스텝 S292의 각각은, 도 15의 스텝 S126 내지 스텝 S132의 각각과 마찬가지이기 때문에, 그 설명은 생략한다.
또한, 각각의 계층에 속하는 귀속 가중값의 분산인 가중값을 이용하여 설명했지만, 이것에 한하지 않고, 계층에서의 귀속 가중값의 변동이 큰 경우에 더 큰 값으로 되는 가중값을 계산하면 되고, 예를 들면, 수학식 4에 의해 엔트로피(H)를 산출하고, 1로부터 엔트로피(H)를 감산한 결과 얻어지는 값인 가중값을 계산하도록 하여도 된다.
Figure 112007014186674-PCT00004
이와 같이, 정보의 누락을 최소한으로 억제하면서, 적절한 콘텐츠를 선택하기 위한 계산량을 삭감할 수 있다. 또한, 이용자가 어떤 정보에 주목하여 콘텐츠를 선택하고 있는지를 확실하게 반영한 콘텐츠를 제시할 수 있게 된다.
또한, 본 명세서에서, 프로그램에 기초하여 실행되는 스텝은, 기재된 순서에 따라서 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도, 병렬적 혹은 개별적으로 실행되는 처리도 포함하는 것이다.
또한, 프로그램은, 1대의 컴퓨터에 의해 처리되는 것이어도 되고, 복수의 컴퓨터에 의해 분산 처리되는 것이어도 된다. 또한, 프로그램은, 먼 곳의 컴퓨터에 전송되어 실행되는 것이어도 된다.
또한, 본 명세서에서, 시스템이란, 복수의 장치에 의해 구성되는 장치 전체를 나타내는 것이다.

Claims (11)

  1. 콘텐츠 군 중에서 소정의 조건을 충족시키는 콘텐츠를 선택하는 정보 처리 장치에 있어서,
    상기 콘텐츠 군을 구성하는 각 콘텐츠를, 콘텐츠의 메타데이터의 항목에 따른 계층의 각각에서, 상기 계층마다 정의된 상기 메타데이터의 거리 척도에 의한 상기 메타데이터의 분류에 따라, 복수의 제1 클러스터 중 어느 하나로 분류하는 콘텐츠 분류 수단과,
    각 콘텐츠와 각 콘텐츠의 각각이 분류된 상기 계층에서의 상기 제1 클러스터와의 대응 관계를 나타내는 데이터베이스를 유지하는 유지 수단과,
    상기 계층마다 상기 소정의 조건에 대응하는 상기 제1 클러스터를 지정하고, 지정한 상기 제1 클러스터에 대응하는 콘텐츠를 특정하는 특정 수단과,
    상기 특정 수단에 의해 특정된 상기 콘텐츠를 제시하는 제시 수단
    을 포함하는 것을 특징으로 하는 정보 처리 장치.
  2. 제1항에 있어서,
    상기 콘텐츠 분류 수단에 의해 상기 콘텐츠가 분류되는 각 제1 클러스터에, 유저의 기호의 정도를 나타내는 기호값을 대응시켜 기억하는 기억 수단을 더 포함하고,
    상기 특정 수단은, 상기 기억 수단에 의해 기억되어 있는 기호값에 기초하여 상기 제1 클러스터를 지정하고, 지정한 상기 제1 클러스터에 대응하는 콘텐츠를 특정하는 것을 특징으로 하는 정보 처리 장치.
  3. 제2항에 있어서,
    상기 특정 수단은, 지정한 상기 제1 클러스터에 대응하는 콘텐츠 중에서, 상기 기호값에 따른 계층마다의 가중값에 의해 가중값 부여한, 유저의 콘텐츠의 기호의 정도를 나타내는 평가값으로, 콘텐츠를 더 특정하는 것을 특징으로 하는 정보 처리 장치.
  4. 제1항에 있어서,
    상기 콘텐츠 분류 수단에 의해 상기 콘텐츠가 분류되는 각 제1 클러스터에 대하여 키워드를 설정하는 설정 수단과,
    상기 설정 수단에 의해 설정된 키워드를 이용하여, 콘텐츠의 제시 이유를 나타내는 이유문을 생성하는 생성 수단을 더 포함하고,
    상기 제시 수단은, 상기 이유문도 제시하는 것을 특징으로 하는 정보 처리 장치.
  5. 제1항에 있어서,
    상기 콘텐츠는 악곡이고,
    상기 메타데이터의 항목에는, 상기 악곡의 템포, 비트, 또는 리듬 중 적어도 하나가 포함되는 것을 특징으로 하는 정보 처리 장치.
  6. 제1항에 있어서,
    상기 메타데이터의 항목에는, 대응하는 콘텐츠에 대한 리뷰 텍스트가 포함되는 것을 특징으로 하는 정보 처리 장치.
  7. 제1항에 있어서,
    복수의 콘텐츠에 관한 항목마다의 메타데이터를 복수의 제2 클러스터 중 어느 하나로 분류하고, 제2 클러스터에 상기 계층을 할당하는 메타데이터 분류 수단을 더 포함하고,
    상기 콘텐츠 분류 수단은, 각 콘텐츠를, 할당된 상기 계층의 각각에서 복수의 제1 클러스터 중 어느 하나로 분류하는 것을 특징으로 하는 정보 처리 장치.
  8. 제1항에 있어서,
    상기 특정 수단은, 유사원(類似元)으로 되는 콘텐츠가 분류되는 상기 제1 클러스터에 대응하는 콘텐츠 중에서, 유사원으로 되는 콘텐츠와의 유사의 정도를 나타내는 유사도로, 콘텐츠를 더 특정하는 것을 특징으로 하는 정보 처리 장치.
  9. 제8항에 있어서,
    상기 특정 수단은, 유사원으로 되는 콘텐츠의 상기 제1 클러스터에의 귀속의 가중값에 따른 계층마다의 가중값에 의해 가중값 부여한 상기 유사도로 콘텐츠를 특정하는 것을 특징으로 하는 정보 처리 장치.
  10. 콘텐츠 군 중에서 소정의 조건을 충족시키는 콘텐츠를 선택하는 정보 처리 장치의 정보 처리 방법에 있어서,
    상기 콘텐츠 군을 구성하는 각 콘텐츠를, 콘텐츠의 메타데이터의 항목에 따른 계층의 각각에서, 상기 계층마다 정의된 상기 메타데이터의 거리 척도에 의한 상기 메타데이터의 분류에 따라, 복수의 클러스터 중 어느 하나로 분류하는 분류 스텝과,
    각 콘텐츠와 각 콘텐츠의 각각이 분류된 상기 계층에서의 상기 클러스터와의 대응 관계를 나타내는 데이터베이스를 유지하는 유지 스텝과,
    상기 계층마다 상기 소정의 조건에 대응하는 상기 클러스터를 지정하고, 지정한 상기 클러스터에 대응하는 콘텐츠를 특정하는 특정 스텝과,
    특정된 상기 콘텐츠를 제시하는 제시 스텝
    을 포함하는 것을 특징으로 하는 정보 처리 방법.
  11. 콘텐츠 군 중에서 소정의 조건을 충족시키는 콘텐츠를 선택하기 위한 프로그램으로서,
    상기 콘텐츠 군을 구성하는 각 콘텐츠를, 콘텐츠의 메타데이터의 항목에 따른 계층의 각각에서, 상기 계층마다 정의된 상기 메타데이터의 거리 척도에 의한 상기 메타데이터의 분류에 따라, 복수의 클러스터 중 어느 하나로 분류하는 분류 스텝과,
    각 콘텐츠와 각 콘텐츠의 각각이 분류된 상기 계층에서의 상기 클러스터와의 대응 관계를 나타내는 데이터베이스를 유지하는 유지 스텝과,
    상기 계층마다 상기 소정의 조건에 대응하는 상기 클러스터를 지정하고, 지정한 상기 클러스터에 대응하는 콘텐츠를 특정하는 특정 스텝과,
    특정된 상기 콘텐츠를 제시하는 제시 스텝
    을 포함하는 처리를 컴퓨터에 실행시키는 것을 특징으로 하는 프로그램.
KR1020077003694A 2005-06-16 2006-06-12 정보 처리 장치, 방법, 및 프로그램 KR20080011643A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005176519 2005-06-16
JPJP-P-2005-00176519 2005-06-16
JPJP-P-2006-00151011 2006-05-31
JP2006151011A JP4752623B2 (ja) 2005-06-16 2006-05-31 情報処理装置、情報処理方法、およびプログラム

Publications (1)

Publication Number Publication Date
KR20080011643A true KR20080011643A (ko) 2008-02-05

Family

ID=37532228

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077003694A KR20080011643A (ko) 2005-06-16 2006-06-12 정보 처리 장치, 방법, 및 프로그램

Country Status (6)

Country Link
US (1) US7953735B2 (ko)
EP (1) EP1804182A4 (ko)
JP (1) JP4752623B2 (ko)
KR (1) KR20080011643A (ko)
CN (1) CN101044484B (ko)
WO (1) WO2006134866A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100850774B1 (ko) * 2006-11-13 2008-08-06 삼성전자주식회사 컨텐츠 분류 방법 및 그 방법을 수행할 수 있는 컨텐츠재생 장치
US20080156173A1 (en) * 2006-12-29 2008-07-03 Harman International Industries, Inc. Vehicle infotainment system with personalized content
JP4979000B2 (ja) * 2007-01-05 2012-07-18 Kddi株式会社 情報検索方法、装置およびプログラム
JP2008257414A (ja) * 2007-04-04 2008-10-23 Toyota Central R&D Labs Inc 情報選択支援システム、端末装置、情報選択支援装置、情報選択支援方法、プログラム
JP4389973B2 (ja) 2007-06-26 2009-12-24 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP5135931B2 (ja) * 2007-07-17 2013-02-06 ヤマハ株式会社 楽曲加工装置およびプログラム
JP4433326B2 (ja) 2007-12-04 2010-03-17 ソニー株式会社 情報処理装置および方法、並びにプログラム
US9514472B2 (en) 2009-06-18 2016-12-06 Core Wireless Licensing S.A.R.L. Method and apparatus for classifying content
US20110060738A1 (en) 2009-09-08 2011-03-10 Apple Inc. Media item clustering based on similarity data
CN102088750B (zh) * 2009-12-08 2014-08-06 中国移动通信集团公司 一种多入多出技术中的传播径分簇方法和装置
JP5516720B2 (ja) 2010-03-26 2014-06-11 富士通株式会社 カテゴリ生成プログラム、カテゴリ生成装置およびカテゴリ生成方法
JP2012027845A (ja) * 2010-07-27 2012-02-09 Sony Corp 情報処理装置、関連文提供方法、及びプログラム
US9204200B2 (en) * 2010-12-23 2015-12-01 Rovi Technologies Corporation Electronic programming guide (EPG) affinity clusters
US8577876B2 (en) * 2011-06-06 2013-11-05 Met Element, Inc. System and method for determining art preferences of people
JP5551761B2 (ja) * 2012-02-02 2014-07-16 株式会社コナミデジタルエンタテインメント 情報提供システム、サーバ装置、コンピュータプログラムおよび制御方法
WO2013114753A1 (ja) * 2012-02-02 2013-08-08 株式会社コナミデジタルエンタテインメント 情報提供システム、サーバ装置、記録媒体および制御方法
WO2013114754A1 (ja) * 2012-02-02 2013-08-08 株式会社コナミデジタルエンタテインメント 情報提供システム、サーバ装置、記録媒体および制御方法
AU2014219089B2 (en) 2013-02-25 2019-02-14 Nant Holdings Ip, Llc Link association analysis systems and methods
JP2015036892A (ja) 2013-08-13 2015-02-23 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP2015056139A (ja) * 2013-09-13 2015-03-23 株式会社東芝 電子機器、番組推奨システム、番組推奨方法及び番組推奨プログラム
KR20160051983A (ko) * 2014-10-30 2016-05-12 현대자동차주식회사 차량의 음악 추천 시스템 및 그 방법
WO2016098589A1 (ja) * 2014-12-15 2016-06-23 ソニー株式会社 情報処理装置、情報処理方法、プログラム、および情報処理システム
US10776333B2 (en) * 2016-07-22 2020-09-15 International Business Machines Corporation Building of object index for combinatorial object search
US10936653B2 (en) 2017-06-02 2021-03-02 Apple Inc. Automatically predicting relevant contexts for media items
CN109448684B (zh) * 2018-11-12 2023-11-17 合肥科拉斯特网络科技有限公司 一种智能编曲方法和系统
US10922337B2 (en) * 2019-04-30 2021-02-16 Amperity, Inc. Clustering of data records with hierarchical cluster IDs
US11003643B2 (en) * 2019-04-30 2021-05-11 Amperity, Inc. Multi-level conflict-free entity clusterings
GB2585890B (en) * 2019-07-19 2022-02-16 Centrica Plc System for distributed data processing using clustering
WO2021059473A1 (ja) * 2019-09-27 2021-04-01 ヤマハ株式会社 音響解析方法、音響解析装置およびプログラム
CN113704597A (zh) * 2020-05-21 2021-11-26 阿波罗智联(北京)科技有限公司 内容推荐方法、装置和设备
JP2022126099A (ja) * 2021-02-18 2022-08-30 富士通株式会社 情報処理プログラム、情報処理方法及び情報処理装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2809341B2 (ja) * 1994-11-18 1998-10-08 松下電器産業株式会社 情報要約方法、情報要約装置、重み付け方法、および文字放送受信装置。
US20050038819A1 (en) 2000-04-21 2005-02-17 Hicken Wendell T. Music Recommendation system and method
US6411724B1 (en) * 1999-07-02 2002-06-25 Koninklijke Philips Electronics N.V. Using meta-descriptors to represent multimedia information
US7162482B1 (en) * 2000-05-03 2007-01-09 Musicmatch, Inc. Information retrieval engine
EP1156430A2 (en) * 2000-05-17 2001-11-21 Matsushita Electric Industrial Co., Ltd. Information retrieval system
JP3707361B2 (ja) * 2000-06-28 2005-10-19 日本ビクター株式会社 情報提供サーバ及び情報提供方法
US7073193B2 (en) * 2002-04-16 2006-07-04 Microsoft Corporation Media content descriptions
US7194527B2 (en) 2002-06-18 2007-03-20 Microsoft Corporation Media variations browser
JP4282278B2 (ja) * 2002-07-04 2009-06-17 シャープ株式会社 基板、その基板を用いた板状体の製造方法、板状体およびその板状体から作製した太陽電池
JP4142925B2 (ja) * 2002-09-24 2008-09-03 株式会社エクシング 選曲支援装置
US7657907B2 (en) * 2002-09-30 2010-02-02 Sharp Laboratories Of America, Inc. Automatic user profiling
JP4003127B2 (ja) * 2002-12-12 2007-11-07 ソニー株式会社 情報処理装置および情報処理方法、情報処理システム、記録媒体、並びにプログラム
JP2004206679A (ja) * 2002-12-12 2004-07-22 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2004199544A (ja) * 2002-12-20 2004-07-15 Mitsubishi Electric Corp 商品提案支援装置及び商品提案支援方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
US7120619B2 (en) 2003-04-22 2006-10-10 Microsoft Corporation Relationship view
JP2004355340A (ja) * 2003-05-29 2004-12-16 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
JP4305836B2 (ja) * 2003-08-29 2009-07-29 日本ビクター株式会社 コンテンツ検索表示装置およびコンテンツ検索表示方法
US7693827B2 (en) * 2003-09-30 2010-04-06 Google Inc. Personalization of placed content ordering in search results
JP2006048286A (ja) * 2004-08-03 2006-02-16 Sony Corp 情報処理装置および方法、並びにプログラム
US7558769B2 (en) * 2005-09-30 2009-07-07 Google Inc. Identifying clusters of similar reviews and displaying representative reviews from multiple clusters

Also Published As

Publication number Publication date
EP1804182A4 (en) 2007-12-12
US7953735B2 (en) 2011-05-31
CN101044484B (zh) 2010-05-26
WO2006134866A1 (ja) 2006-12-21
CN101044484A (zh) 2007-09-26
US20090043811A1 (en) 2009-02-12
JP2007026425A (ja) 2007-02-01
JP4752623B2 (ja) 2011-08-17
EP1804182A1 (en) 2007-07-04

Similar Documents

Publication Publication Date Title
JP4752623B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP4378646B2 (ja) 情報処理装置、情報処理方法、およびプログラム
Hariri et al. Context-aware music recommendation based on latenttopic sequential patterns
US8321456B2 (en) Generating metadata for association with a collection of content items
Kaminskas et al. Contextual music information retrieval and recommendation: State of the art and challenges
US10417576B2 (en) Information processing apparatus and method, and program thereof
US20090063568A1 (en) Method and apparatus for constructing user profile using content tag, and method for content recommendation using the constructed user profile
US20080288255A1 (en) System and method for quantifying, representing, and identifying similarities in data streams
US20100217755A1 (en) Classifying a set of content items
US20090055390A1 (en) Information sorting device and information retrieval device
KR101540429B1 (ko) 콘텐츠 플레이 리스트 추천 방법 및 장치
US20110225497A1 (en) Display control processing appartus, display control processing method and display control processing program
US20080275904A1 (en) Method of Generating and Methods of Filtering a User Profile
JP2011175362A (ja) 情報処理装置、重要度算出方法及びプログラム
WO2001020483A2 (en) Finding perceptually similar music with precomputation
JP2003522993A (ja) 自動化された代替内容推奨を作成する方法及びシステム
JP2005526340A (ja) プレイリストの生成、配信およびナビゲーション
JP2000035974A (ja) 主観的画像内容類似性に基づく検索用の方法及びコンピュ―タプログラム製品
Schedl et al. Assigning and Visualizing Music Genres by Web-based Co-Occurrence Analysis.
Stenzel et al. Improving Content-Based Similarity Measures by Training a Collaborative Model.
JP2002342360A (ja) 情報提供装置、その方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体
CN112800270A (zh) 基于音乐标签和时间信息的音乐推荐方法及系统
He Evaluating Collaborative Filtering Algorithms for Music Recommendations on Chinese Music Data
CN117056601A (zh) 一种基于超图的音乐推荐方法与系统
Yu Case Study: Artificial Intelligence in Spotify

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application