專利名稱:信息處理裝置和方法、及程序的制作方法
技術領域:
本發明涉及一種信息處理裝置、信息處理方法和程序,尤其涉及一種將內容分類成集群(cluster)、使用將內容分類成的集群管理內容特征、并在檢索或推薦內容時使用該內容特征的信息處理裝置、信息處理方法和程序。
背景技術:
傳統上,已經提出了一種用于基于用戶的偏好檢索和推薦電視節目和樂曲等內容(所謂的內容個性化)的發明(例如,參見專利文獻1)。
對于內容個性化,普遍使用被稱為協作過濾(collaborativefiltering,CF)的方法和被稱為基于內容過濾(content-basedfiltering,CBF)的方法。
CF方法管理每個用戶的購買歷史,當向用戶A推薦內容時,檢測與用戶A具有相似購買歷史的其他用戶X,并推薦其他用戶X已購買而用戶A未購買的內容。例如,因特網上的郵購銷售站點采用CF方法。
CBF方法在提取偏好和推薦內容中直接使用由分發端或銷售端預先給予內容的元數據。具體來說,計算表示用戶偏好的特征矢量與作為候選的每個樂曲的特征矢量之間的距離(余弦相關等),并推薦計算出的距離短的樂曲作為適合于該用戶偏好的樂曲。
日本特開2004-194107號公報
發明內容
本發明要解決的問題上述CF方法有以下不便(1)不能將沒有用戶購買的內容推薦給任何用戶。因此,內容的推薦集中在已準備的大量內容中的一部分,而其余的大多數內容沒有被推薦。
(2)當向新用戶推薦內容時,有關該用戶的購買歷史的信息很少。因此,不能檢測到具有相似歷史信息的其他用戶,因而不能推薦內容(所謂的冷開始問題)。
(3)通常,內容的數量和用戶的數量在增加。在這種情況下,檢測具有相似歷史信息的其他用戶時的操作量也增加,使得不能快速確定要推薦的內容。
鑒于以上考慮做出本發明,本發明防止了CF方法中推薦集中于內容的一部分,并向具有很少歷史信息的用戶推薦內容。
用于解決問題的手段根據本發明的一個方面,提供一種用于從一組內容中選擇滿足預定條件的內容并將該內容呈現給用戶的信息處理裝置,該信息處理裝置包括內容分類部件,用于將形成該組內容的每個內容分類成與該內容的元數據相對應的每層中的多個第一集群中的一個;保持部件,用于保持表示每個內容與每個內容分類到的層中的第一集群之間的對應關系的數據庫;管理部件,用于管理關于用戶的內容的歷史信息;選擇部件,用于基于歷史信息識別感興趣的第一集群,并選擇被分類到所識別的第一集群的內容;以及呈現部件,用于呈現所選擇的內容。
選擇部件可以包括檢測部件,用于檢測具有與第一用戶的歷史信息相似的歷史信息的第二用戶;識別部件,用于識別第一用戶的歷史信息中不存在而第二用戶的歷史信息中存在的內容被分類到的第一集群;以及提取部件,用于提取被分類到所識別的第一集群的內容;以及呈現部件可以向第一用戶呈現所提取的內容。
根據本發明的一個方面的信息處理裝置還包括生成部件,用于基于用戶歷史信息和數據庫,以第一集群為單位生成表示用戶偏好的偏好信息;以及分組部件,用于基于偏好信息對用戶進行分組;其中,選擇部件可以包括檢測部件,用于檢測與第一用戶屬于同一組的第二用戶;識別部件,用于識別第一用戶的歷史信息中不存在而第二用戶的歷史信息中存在的內容被分類到第一集群;以及提取部件,用于提取被分類到所識別的第一集群的內容;以及呈現部件可以向第一用戶呈現所提取的內容。
根據本發明的一個方面的信息處理裝置還包括生成部件,用于基于用戶歷史信息和數據庫,以第一集群為單位生成表示用戶偏好的偏好信息;其中,選擇部件可以包括檢測部件,用于檢測具有由偏好信息所表示的與第一用戶的偏好相似的偏好的第二用戶;識別部件,用于基于第一用戶的偏好信息和第二用戶的偏好信息,識別感興趣的第一集群;以及提取部件,用于提取被分類到所識別的第一集群的內容;以及呈現部件可以向第一用戶呈現所提取的內容。
檢測部件可以包括標準化部件,用于將用戶的偏好信息標準化;權重計算部件,用于根據每個用戶標準化后的偏好信息計算針對每個用戶每層的權重;以及相似程度計算部件,用于根據每層的權重和偏好信息,計算表示用戶中的第一用戶和用戶中的其他用戶之間的偏好相似程度的相似程度;以及根據所計算出的相似程度檢測具有與第一用戶的偏好相似的偏好的第二用戶。
根據本發明的一個方面的信息處理裝置還可以包括生成部件,用于基于用戶歷史信息和數據庫,以第一集群為單位生成表示用戶偏好的偏好信息;以及分組部件,用于基于偏好信息對用戶進行分組;其中,選擇部件可以包括檢測部件,用于檢測與第一用戶屬于同一組的第二用戶;識別部件,用于基于第一用戶的偏好信息和第二用戶的偏好信息,識別感興趣的第一集群;以及提取部件,用于提取被分類到所識別的第一集群的內容;并且呈現部件可以向第一用戶呈現所提取的內容。
根據本發明的一個方面的信息處理裝置還可以包括設置部件,用于對通過內容分類部件將元數據分類到的每一第一集群設置關鍵詞;以及生成部件,用于生成表示使用通過設置部件所設置的關鍵詞呈現內容的原因的原因文本;其中,呈現部件還可以呈現該原因文本。
該信息處理裝置還可以包括元數據分類部件,該元數據分類部件用于將內容的元數據分類到多個第二集群中的一個,并將層分配到第二集群;其中,內容分類部件將每個內容分類到每個所分配的層中的多個第一集群中的一個。
該信息處理裝置還包括生成部件,用于基于用戶歷史信息和數據庫,以第一集群為單位生成表示用戶偏好的偏好信息;其中,選擇部件可以選擇被分類到全部層中的全部第一集群當中由偏好信息表示的最大數量的第一集群的內容。
根據本發明的一個方面,提供了一種用于從一組內容選擇滿足預定條件的內容并將該內容呈現給用戶的信息處理裝置的信息處理方法,該信息處理方法包括以下步驟將形成該組內容的每個內容分類到與該內容的元數據相對應的每層中的多個集群中的一個;保持表示每個內容與將每個內容分類到的層中的集群之間的對應關系的數據庫;管理關于用戶的內容的歷史信息;基于歷史信息識別感興趣的集群,并選擇被分類成所識別的集群的內容;以及呈現所選擇的內容。
根據本發明的一個方面,提供了一種用于從一組內容選擇滿足預定條件的內容并向用戶推薦該內容的程序,該程序使計算機進行包括以下步驟的處理將形成該組內容的每個內容分類到與該內容的元數據相對應的每層中的多個集群中的一個;保持表示每個內容與將每個內容分類到的層中的集群之間的對應關系的數據庫;管理關于用戶的內容的歷史信息;基于歷史信息識別感興趣的集群,并選擇被分類到所識別的集群的內容;以及呈現所選擇的內容。
本發明的一方面,將形成該組內容的每個內容分類成到與該內容的元數據相對應的每層中的多個集群中的一個。然后,保持表示每個內容與每個內容被分類到的層中的集群之間的對應關系的數據庫。另外,管理關于用戶的內容的歷史信息。然后,基于歷史信息識別感興趣的集群,選擇被分類到所識別的集群的內容,并呈現所選擇的內容。
如上所述,根據本發明的一方面,可以通過CF方法向用戶推薦內容。
另外,根據本發明的一方面,可以防止推薦集中于全部內容的一部分。
而且,根據本發明的一方面,甚至可以向具有少量歷史信息的用戶推薦內容。
圖1是示出應用本發明的推薦系統的結構的例子的框圖。
圖2是表示將樂曲的元數據分類成的集群和集群層的概念的圖。
圖3是示出樂曲-集群對應表的例子的圖。
圖4是示出集群-樂曲對應表的例子的圖。
圖5A和圖5B是示出用戶的偏好矢量的例子的圖。
圖6是輔助解釋離線時的預處理的流程圖。
圖7是輔助解釋第一推薦處理的流程圖。
圖8是輔助解釋第二和第三推薦處理的流程圖;圖9是輔助解釋第四推薦處理的流程圖。
圖10是輔助解釋第五和第六推薦處理的流程圖。
圖11是輔助解釋第七推薦處理的流程圖。
圖12是示出通用個人計算機的結構的例子的框圖。
圖13是示出根據本發明實施例的推薦系統的結構的另一例子的框圖。
圖14是輔助解釋離線時的預處理的另一例子的流程圖。
圖15是示出樂曲的軟聚類后的元數據的例子的圖。
圖16是示出樂曲的元數據的例子的圖。
圖17是示出聚類后的樂曲的元數據的例子的圖。
圖18是示出相似用戶檢測單元的結構的例子的框圖。
圖19是輔助解釋用于檢測具有相似偏好的用戶X的處理的流程圖。
圖20是示出偏好矢量的例子的圖。
圖21是示出標準化的偏好矢量的例子的圖。
圖22是示出權重的例子的圖。
圖23是示出在不進行加權的情況下計算出的相似程度的例子的圖。
圖24是示出在進行加權的情況下計算出的相似程度的例子的圖。
附圖標記的說明
1推薦系統、11樂曲DB、12聚類單元、13關鍵詞設置單元、14聚類DB、15集群-樂曲對應表、16樂曲-集群對應表、17用戶歷史信息DB、18推薦候選選擇單元、19偏好矢量生成單元、20相似用戶檢測單元、21用戶分組單元、22差異檢測單元、23推薦集群確定單元、24提取單元、25樂曲選擇單元、26新樂曲判斷單元、27選擇原因生成單元、28呈現單元、100個人計算機、101CPU、111記錄介質、100元數據聚類單元、202樂曲聚類單元、203相似用戶檢測單元、231標準化單元、232權重計算單元、233相似程度計算單元具體實施方式
以下參照附圖詳細說明應用本發明的具體實施例。
圖1示出根據本發明實施例的推薦系統的結構的例子。例如,在因特網上建立的樂曲數據銷售站點中,推薦系統1管理用戶歷史信息(關于樂曲數據的購買、試聽、檢索和擁有等的信息),通過使用CF方法來選擇要推薦的樂曲,并將樂曲呈現給用戶。順便提及,推薦系統1還可應用于銷售例如電視節目、電影和書籍等樂曲以外的內容的銷售站點。
推薦系統1包括樂曲DB(DB)11,其中記錄有向用戶推薦和銷售的眾多樂曲數據(以下也簡稱為樂曲)的元數據;聚類單元12,用于基于記錄在樂曲DB 11中的樂曲的元數據來聚類樂曲并生成樂曲的集群信息;關鍵詞設置單元13,用于設置表示每個集群層和集群層中每個集群的特征的關鍵詞;以及聚類DB(DB)14,用于保持樂曲的聚類結果。
聚類DB 14保持作為聚類結果的用于示出屬于每個集群的樂曲的集群-樂曲對應表15和用于示出屬于每個樂曲的集群的樂曲-集群對應表16。
推薦系統1還包括用戶歷史信息數據庫(DB)17,用于管理每個用戶的歷史信息;推薦候選選擇單元18,用于基于用戶信息選擇多個樂曲作為推薦候選;樂曲選擇單元25,用于從所選擇的多個樂曲中選擇一個樂曲;新樂曲判斷單元26,用于判斷所選擇的樂曲對于向其推薦該樂曲的用戶是否是新的;選擇原因生成單元27,用于在將所選擇的樂曲呈現給用戶時生成推薦原因文本;以及呈現單元28,用于向用戶呈現所選擇的樂曲和推薦原因文本。
推薦候選選擇單元18包括偏好矢量生成單元19、用戶分組單元20、相似用戶檢測單元21、差異檢測單元22、推薦集群確定單元23、以及提取單元24。
象CDDB(CD數據庫)和Music Navi等作為因特網上提供記錄在音樂CD上的樂曲的元數據的數據服務器一樣,樂曲DB11保持要推薦和銷售的樂曲的元數據。
聚類單元12基于樂曲的元數據的每一項(藝術家名字、類型、唱片集、藝術家評論、樂曲評論、標題、音樂速度、拍子、以及節奏等)或它們(音樂速度、拍子和節奏等)的組合,為樂曲DB 11中的全部樂曲創建圖2所示的集群層(第一到第n層),并將樂曲分類到每個集群層中所設置的多個集群中的一個或多個集群(聚類)。
盡管以上以樂曲作為例子進行了說明,但是也使用許多元數據將藝術家和唱片集類似地聚類到多個層。對于樂曲推薦、藝術家推薦和唱片集推薦,分別使用樂曲的多層集群、藝術家的多層集群和唱片集的多層集群。
盡管對于聚類可以使用任何方法,但是為每個集群層選擇最佳聚類方法和距離測量。例如,當元數據的實際信息是音樂速度等數字屬性時,按照原樣使用實際信息,然而當實際信息是標題等名稱屬性時,使用主成分分析的定量方法等將實際信息轉換成數值。定義歐幾里德距離等距離測量。然后進行聚類。典型的聚類方法包括K均值(K-means)方法、層次聚類(hierarchical clustering)方法(組平均(group average)方法、最遠鄰居(furthest neighbor)方法和Ward方法)、以及軟聚類(softclustering)方法等。
此時,優選進行反映偏好距離的聚類(例如,約束聚類(constrained clustering))。為此,通過初步學習做出正確響應的部分集合(根據偏好等的一組近實際信息和一組遠實際信息),并使用適合于此的數值表達式、距離和聚類方法。而且,優選選擇增強所形成的每個集群層的獨立性的聚類方法(即,具有不同特征的聚類方法)。
順便提及,可以將一條實際信息分類到同一集群層中的多個集群中。假定已知同一集群層中存在的集群間的距離(表示相似程度)。后面將說明該聚類方法。然后生成集群信息,并將集群信息輸出到聚類DB 14,該集群信息由將元數據的每一項的實際信息分類到的集群的集群ID(圖2中的CL11等)構成,作為代替元數據表示樂曲的特征的信息。
順便提及,當不存在適合于分類的集群時,可以設置新的集群。每個集群具有任意大小,并可以包括多條實際信息。順便提及,可以設置僅將單條實際信息分類到的集群。在這種情況下,可以使用單條可分類的實際信息的ID(藝術家ID、唱片集ID、或標題ID)作為該集群的集群ID。
聚類DB 14基于聚類單元12生成的每個樂曲的集群信息,生成集群-樂曲對應表15和樂曲-集群對應表16,并保持集群-樂曲對應表15和樂曲-集群對應表16。聚類DB 14還保持通過關鍵詞設置單元13設置給每個集群層和每個集群的關鍵詞。
圖3示出樂曲-集群對應表16的例子。例如,圖3示出樂曲ID=ABC123的樂曲的集群信息為(CL12、CL21、CL35、CL47、CL52、...、以及CLn2)。例如,圖3還示出樂曲ID=CTH863的樂曲的集群信息為集群ID(CL11、CL25、CL31、CL42、CL53、...、以及CLn1)。
圖4示出與圖3所示的樂曲-集群對應表16相對應的集群-樂曲對應表15的例子。例如,圖4示出樂曲ID=CTH863對應于集群ID=CL11。例如,圖4還示出樂曲ID=ABC123對應于集群ID=CL21。例如,圖4還示出樂曲ID=XYZ567對應于集群ID=CL32。
順便提及,每一次向樂曲DB 11添加新的樂曲的元數據時,必須進行聚類單元12、關鍵詞設置單元13和聚類DB 14的處理。
返回圖1,用戶歷史信息DB 17保持表示每個用戶在銷售站點上購買、試聽或檢索過的樂曲、或聲稱要在某銷售站點購買和已擁有的樂曲的歷史信息。用戶歷史信息DB 17還保持每個用戶的偏好矢量,通過偏好矢量生成單元19生成該偏好矢量。此外,用戶歷史信息DB 17保持用戶分組單元20對用戶的分組結果,即,表示每個用戶屬于哪一用戶組的信息。
偏好矢量生成單元19基于在用戶歷史信息DB 17中保持的每個用戶的歷史信息,以全部集群中的每一個作為一個維度,為每個用戶生成多維偏好矢量。偏好矢量生成單元19將該偏好矢量輸出到用戶歷史信息DB 17。具體地,針對包括在用戶的歷史信息中的每個樂曲,參考聚類DB 14中的樂曲-集群對應表16,對偏好矢量的對應于樂曲所屬集群的維度添加預定值。在用戶歷史信息DB 17中管理所生成的每個用戶的偏好矢量。當通過購買樂曲等更新用戶的歷史信息時,也更新偏好矢量。
為了便于說明,假定如圖5A和5B所示,作為全部集群,在第一層中僅存在三個集群CL11、CL12和CL13,第二層中存在四個集群CL21、CL22、CL23和CL24,第三層中存在三個集群CL31、CL32和CL33,而第四層中存在三個集群CL41、CL42和CL43。在這種情況下,偏好矢量具有13個維度。
例如,當在用戶A的歷史信息中記錄有購買兩個樂曲,并且第一個樂曲所屬的集群ID為CL11、CL22、CL33和CL41時,與這些集群ID相對應的每一維度值增加1。當第二個樂曲所屬的集群ID為CL12、CL24、CL32和CL43時,與這些集群ID相對應的每一維度值增加1。因而,生成用戶A的偏好矢量(1、1、0、0、1、0、1、0、1、1、1、0、1)。
例如,當在用戶X的歷史信息中記錄有購買三個樂曲,并且第一個樂曲所屬的集群ID為CL11、CL22、CL32和CL43時,與這些集群ID相對應的每一維度值增加1。當第二個樂曲所屬的集群ID為CL12、CL22、CL33和CL42時,與這些集群ID相對應的每一維度值增加1。當第三個樂曲所屬的集群ID為CL13、CL24、CL33和CL41時,與這些集群ID相對應的每一維度值增加1。因而,生成用戶X的偏好矢量(1、1、1、0、2、0、1、0、1、2、1、1、1)。
順便提及,可以根據歷史信息的類型(即,購買、試聽、檢索或擁有)改變添加給每一維度的值。例如,對于購買或擁有可以添加1,對于試聽可以添加0.5,而對于檢索可以添加0.3。
返回圖1,用戶分組單元20基于保持在用戶歷史信息DB 17中的用戶的偏好矢量之間的相似性對全部用戶進行分組。然而,為了易于進行用于確定多維偏好矢量之間的相似性的處理,將每個用戶的偏好矢量的每一維度的值二值化。也就是說,當每一維度的值等于或大于1時,以1代替該值,而當每一維度的值為0時,該值保持為0。當如此將偏好矢量的每一維度的值二值化時,與未進行二值化的情況相比較,可以減少相似性確定所需的計算量。因此可以容易地進行分組。在用戶歷史信息DB 17中管理分組結果。
相似用戶檢測單元21通過比較保持在用戶歷史信息DB 17中的每個用戶的歷史信息來檢測與向其推薦樂曲的用戶具有相似歷史信息的其他用戶。另外,相似用戶檢測單元21通過比較保持在用戶歷史信息DB 17中的每個用戶的歷史信息來檢測與向其推薦樂曲的用戶具有相似的偏好矢量的其他用戶。差異檢測單元22基于保持在用戶歷史信息DB 17中的每個用戶的歷史信息來檢測向其推薦樂曲的用戶與相似用戶檢測單元21檢測到的其他用戶之間的歷史信息中的差異。推薦集群確定單元23基于向其推薦樂曲的用戶和相似用戶檢測單元21檢測到的其他用戶的偏好矢量之間的差異來確定推薦集群。提取單元24基于相似用戶檢測單元21到推薦集群確定單元23和聚類DB 14的處理結果提取樂曲,作為推薦候選。
樂曲選擇單元25根據預定條件從多個所提取的樂曲中選擇一個樂曲。例如,樂曲選擇單元25選擇一個屬于較大數量的推薦集群的樂曲,選擇一個屬于具有預先設定的高優先級的集群層中的推薦集群的樂曲,或隨機選擇一個樂曲。樂曲選擇單元25將選擇結果輸出到新樂曲判斷單元26和選擇原因生成單元27。根據向其推薦樂曲的用戶的偏好矢量,當偏好矢量與所選擇的樂曲所屬的集群之間的重疊程度為預定率(例如,30%)或更高時,新樂曲判斷單元26判斷為不存在新樂曲。當重疊程度低于預定率時,新樂曲判斷單元26判斷為存在新樂曲。新樂曲判斷單元26將判斷結果輸出到選擇原因生成單元27。
選擇原因生成單元27從聚類DB 14獲得對應于所選擇的樂曲所屬的集群層或集群的關鍵詞,并使用所獲得的關鍵詞等生成表示選擇原因的選擇原因文本。另外,選擇原因生成單元27還基于來自新樂曲判斷單元26的判斷結果,通過例如包括針對新的樂曲的“意外”等詞、或針對非新的樂曲的“普通”或“常見”等詞來生成選擇原因文本。然后,選擇原因生成單元27將所生成的選擇原因文本和所選擇的樂曲的樂曲ID一起輸出到呈現單元28。
順便提及,可以按照原樣引用所選擇的樂曲的評論文本作為選擇原因文本,也可以使用從所選擇的樂曲的評論文本中提取的詞來生成選擇原因文本。順便提及,可以將Tf/idf方法應用于從評論文本中提取選擇原因文本中所使用的詞。
呈現單元29從樂曲DB獲得關于所選擇的樂曲的信息,并將該信息和所生成的選擇原因文本一起呈現給用戶端。
接著說明推薦系統1的操作。首先,參照圖6的流程圖說明作為推薦樂曲的處理的準備的離線時的預處理。
在步驟S1,聚類單元12針對樂曲的元數據的每一項將樂曲DB 11中的全部樂曲分類到集群層(第一到第n層)中的一個,并將每一項的實際信息分類到分類后的集群層中所設置的多個集群中的一個(聚類)。然后,聚類單元12生成集群信息作為代替元數據表示樂曲的特征的信息,該集群信息由將元數據的每一項的實際信息分類到的集群的集群ID構成。聚類單元12將集群信息輸出到聚類DB 14。順便提及,可以省略對已聚類的樂曲的聚類,而僅對未聚類的樂曲進行聚類。聚類DB 14基于通過聚類單元12生成的每個樂曲的集群信息,生成集群-樂曲對應表15和樂曲-集群對應表16。
在步驟S2,推薦候選選擇單元18中的偏好矢量生成單元19基于保持在用戶歷史信息DB 17中的每個用戶的歷史信息,生成每個用戶的偏好矢量。偏好矢量生成單元19將偏好矢量輸出到用戶歷史信息DB 17。在步驟S3,用戶分組單元20基于保持在用戶歷史信息DB 17中的每個用戶的偏好矢量的相似性,對所有用戶進行分組。然而,為了易于進行用于判斷多維偏好矢量之間的相似性的處理,將每個用戶的偏好矢量的每一維度的值二值化。然后,將分組結果輸出到用戶歷史信息DB 17。經過前述處理后,結束離線時的預處理。
作為預處理,通過如此聚類保持在樂曲DB 11中的全部樂曲,生成每個用戶的偏好矢量,并對所有用戶進行分組,可以快捷地進行后述的第一到第七推薦處理。順便提及,第一到第七推薦處理中的某些不使用用戶組信息。因此,當僅進行不使用用戶組信息的推薦處理時,可以省略步驟S3的處理。
接著參照圖7的流程圖說明第一推薦處理。以下,將向其推薦樂曲的用戶描述為用戶A。例如,當用戶A訪問銷售站點時,開始該處理。
在步驟S11,相似用戶檢測單元21比較保持在用戶歷史信息DB 17中的用戶A的歷史信息和其他用戶的歷史信息,從而檢測具有與用戶A的歷史信息最相似的歷史信息的其他用戶X。在步驟S12,差異檢測單元22基于保持在用戶歷史信息DB 17中的用戶A和用戶X的歷史信息,檢測用戶X具有(過去購買了或擁有的)而用戶A不具有的樂曲。順便提及,當存在多個滿足該條件的樂曲時,例如,隨機選擇樂曲中的一個。將所選擇的樂曲設置為樂曲a。
在步驟S13,推薦集群確定單元23參考聚類DB 14中的樂曲-集群對應表16,以識別該樂曲所屬的每個集群層中的集群。在步驟S14,提取單元24參考聚類DB 14中的集群-樂曲對應表15,以提取被分類到步驟S13的處理中識別出的所有集群的共同樂曲。將該步驟中提取的樂曲設置為推薦候選。可能存在多個推薦候選。順便提及,當不存在被分類到步驟S13的處理中識別出的所有集群的共同樂曲時,提取被分類到步驟S13的處理中識別出的集群中盡可能多的集群的共同樂曲,并將其設置為推薦候選。
在步驟S15,樂曲選擇單元25選擇作為推薦候選的樂曲中具有與在步驟S12中檢測到的樂曲a的集群信息最相似的集群信息的樂曲。樂曲選擇單元25將選擇結果輸出到新樂曲判斷單元26和選擇原因生成單元27。在步驟S16,新樂曲判斷單元26基于用戶A的偏好矢量和所選擇的樂曲所屬的集群,判斷是否存在新樂曲。新樂曲判斷單元26將判斷結果輸出到選擇原因生成單元27。選擇原因生成單元27從聚類DB 14獲得與所選擇的樂曲所屬的集群層或集群相對應的關鍵詞,并使用所獲得的關鍵詞等生成表示選擇原因的選擇原因文本。另外,選擇原因生成單元27還基于來自新樂曲判斷單元26的判斷結果生成選擇原因文本。然后,選擇原因生成單元27將所生成的選擇原因文本和所選擇的樂曲的樂曲ID一起輸出到呈現單元28。在步驟S17,呈現單元29從樂曲DB獲得關于所選擇的樂曲的信息,并將該信息和所生成的選擇原因文本一起呈現到用戶端。經過前述處理后,結束第一推薦處理。
接著參照圖8的流程圖說明第二和第三推薦處理。首先說明第二推薦處理。例如,當用戶A訪問銷售站點時,開始該處理。
在步驟S21,相似用戶檢測單元21比較保持在用戶歷史信息DB 17中的用戶A的偏好矢量和其他用戶的偏好矢量,從而檢測具有與用戶A的偏好矢量最相似的偏好矢量的其他用戶X。順便提及,例如,通過計算這兩個偏好矢量之間的余弦相關值來判斷用戶A的偏好矢量與其他用戶的偏好矢量之間的相似性。
在步驟S22,差異檢測單元22檢測在用戶A的偏好矢量中為0值而在用戶X的偏好矢量中不為0值的偏好矢量維度,并將與檢測到的維度相對應的集群設置為推薦集群。
例如,當用戶A的偏好矢量為圖5A所示的(1、1、0、0、1、0、1、0、1、1、1、0、1),而用戶X的偏好矢量為圖5B所示的(1、1、1、0、2、0、1、0、1、2、1、1、1)時,將集群CL13和CL42設置為推薦集群,如圖5B中的陰影線所示。
在步驟S23,參考用戶歷史信息DB 17和聚類DB 14中的集群-樂曲對應表15,提取單元24從分類到推薦集群的全部樂曲中提取用戶X具有而用戶A不具有的樂曲。提取單元24將所提取的樂曲設置為推薦候選。
在步驟S24,樂曲選擇單元25通過以下三種方法中的一種或作為這三種方法的組合的方法,從作為推薦候選的樂曲中選擇一個樂曲,然后將選擇結果輸出到新樂曲判斷單元26和選擇原因生成單元27。第一種方法是選擇屬于較大數量的推薦集群的共同樂曲。第二種方法是預先區分集群層的優先級,并選擇被分類到屬于具有較高優先級的集群層的推薦集群的樂曲。第三種方法是隨機選擇。
在步驟S25,新樂曲判斷單元26基于用戶A的偏好矢量和所選擇的樂曲所屬的集群,判斷是否存在新樂曲。新樂曲判斷單元26將判斷結果輸出到選擇原因生成單元27。選擇原因生成單元27從聚類DB 14獲得與所選擇的樂曲所屬的集群層或集群相對應的關鍵詞,并使用所獲得的關鍵詞等生成表示選擇原因的選擇原因文本。另外,選擇原因生成單元27還基于來自新樂曲判斷單元26的判斷結果,生成選擇原因文本。然后,選擇原因生成單元27將所生成的選擇原因文本和所選擇的樂曲的樂曲ID一起輸出到呈現單元28。在步驟S26,呈現單元29從樂曲DB獲得關于所選擇的樂曲的信息,并將該信息和所生成的選擇原因文本一起呈現到用戶端。經過前述處理后,結束第二推薦處理。
接著說明第三推薦處理。在上述第二推薦處理的步驟S23的處理中,第三推薦處理從分類到推薦集群的全部樂曲中提取用戶A不具有的樂曲,并將所提取的樂曲設置為推薦候選。也就是說,可以將用戶X不具有的樂曲設置為推薦候選。其它處理與第二推薦處理中的相同,因此省略對其說明。
接著參照圖9的流程圖說明第四推薦處理。例如,當用戶A訪問銷售站點時,開始該處理。
在步驟S41,基于保持在用戶歷史信息DB 17中的用戶A的組信息,相似用戶檢測單元21隨機確定與用戶A屬于同一組的其他用戶X。在步驟S42,差異檢測單元22基于保持在用戶歷史信息DB 17中的用戶A和用戶X的歷史信息,檢測用戶X具有而用戶A不具有的樂曲。順便提及,當存在多個滿足該條件的樂曲時,例如,隨機選擇樂曲中的一個。將檢測到的樂曲設置為樂曲a。
在步驟S43,推薦集群確定單元23參考聚類DB 14中的樂曲-集群對應表16,以識別樂曲a所屬的每個集群層中的集群。在步驟S44,提取單元24參考聚類DB 14中的集群-樂曲對應表15,以提取分類到步驟S43的處理中識別出的所有集群的共同樂曲。將在該步驟中提取的樂曲設置為推薦候選。可能存在多個推薦候選。順便提及,當不存在分類到步驟S43的處理中識別出的所有集群的共同樂曲時,提取分類到在步驟S43的處理中識別出的集群中盡可能多的集群的共同樂曲,并將其設置為推薦候選。
在步驟S45,樂曲選擇單元25選擇作為推薦候選的樂曲中具有最相似于在步驟S42中檢測到的樂曲a的集群信息的集群信息的一個樂曲。樂曲選擇單元25將選擇結果輸出到新樂曲判斷單元26和選擇原因生成單元27。在步驟S46,新樂曲判斷單元26基于用戶A的偏好矢量和所選擇的樂曲所屬的集群,判斷是否存在新樂曲。新樂曲判斷單元26將判斷結果輸出到選擇原因生成單元27。選擇原因生成單元27從聚類DB 14獲得與所選擇的樂曲所屬的集群層或集群相對應的關鍵詞,并使用所獲得的關鍵詞等生成表示選擇原因的選擇原因文本。另外,選擇原因生成單元27還基于來自新樂曲判斷單元26的判斷結果生成選擇原因文本。然后,選擇原因生成單元27將所生成的選擇原因文本和所選擇的樂曲的樂曲ID一起輸出到呈現單元28。在步驟S47,呈現單元29從樂曲DB獲得關于所選擇的樂曲的信息,并將該信息和所生成的選擇原因文本一起呈現到用戶端。經過前述處理后,結束第四推薦處理。
在第四推薦處理中,使用通過離線時的預處理分組的用戶的組信息,因此,可以快速確定具有與用戶A的歷史相似的歷史的用戶X。
接著參考圖10的流程圖說明第五和第六推薦處理。首先說明第五推薦處理。例如,當用戶A訪問銷售站點時,開始該處理。
在步驟S51,基于保持在用戶歷史信息DB 17中的用戶A的組信息,相似用戶檢測單元21隨機確定與用戶A屬于同一組的其他用戶X。
在步驟S52,差異檢測單元22檢測在用戶A的偏好矢量中為0值而在用戶X的偏好矢量中不為0值的偏好矢量維度,并將與檢測到的維度相對應的集群設置為推薦集群。
在步驟S53,參考用戶歷史信息DB 17和聚類DB 14中的集群-樂曲對應表15,提取單元24從分類到推薦集群的全部樂曲中提取用戶X具有而用戶A不具有的樂曲。提取單元24將所提取的樂曲設置為推薦候選。
在步驟S54,樂曲選擇單元25通過以下三種方法中的一種或作為這三種方法的組合的方法,從作為推薦候選的樂曲中選擇一個樂曲,然后將選擇結果輸出到新樂曲判斷單元26和選擇原因生成單元27。第一種方法是選擇屬于較大數量的推薦集群的共同樂曲。第二種方法是預先區分集群層的優先級,并選擇分類到屬于具有較高優先級的集群層的推薦集群的樂曲。第三種方法是隨機選擇。
在步驟S55,新樂曲判斷單元26基于用戶A的偏好矢量和所選擇的樂曲所屬的集群判斷是否存在新樂曲。新樂曲判斷單元26將判斷結果輸出到選擇原因生成單元27。選擇原因生成單元27從聚類DB 14獲得與所選擇的樂曲所屬的集群層或集群相對應的關鍵詞,并使用所獲得的關鍵詞等生成表示選擇原因的選擇原因文本。另外,選擇原因生成單元27還基于來自新樂曲判斷單元26的判斷結果生成選擇原因文本。然后,選擇原因生成單元27將所生成的選擇原因文本和所選擇的樂曲的樂曲ID一起輸出到呈現單元28。在步驟S56,呈現單元29從樂曲DB獲得關于所選擇的樂曲的信息,并將該信息與所生成的選擇原因文本一起呈現到用戶端。經過前述處理后,結束第五推薦處理。
接著說明第六推薦處理。在上述第五推薦處理的步驟S53的處理中,第六推薦處理從分類到推薦集群的全部樂曲中提取用戶A不具有的樂曲,并將所提取的樂曲設置為推薦候選。也就是說,可以將用戶X不具有的樂曲設置為推薦候選。其它處理與第五推薦處理中的相同,因此省略對其說明。
在第五和第六推薦處理中,使用通過離線時的預處理分組的用戶的組信息,因此可以快速確定具有與用戶A的歷史相似的歷史的用戶X。
接著參照圖11的流程圖說明第七推薦處理。首先說明第七推薦處理。該處理適合于存在非常少量的用戶A的歷史信息的情況和存在小數量其他用戶的情況等,例如,當用戶A訪問銷售站點時,開始該處理。
在步驟S61,差異檢測單元22在用戶A的偏好矢量的維度中檢測其值等于或大于預定值的維度,并將與該維度相對應的集群設置為推薦集群。
在步驟S62,參考用戶歷史信息DB 17和聚類DB 14中的集群-樂曲對應表15,提取單元24從分類到推薦集群的全部樂曲中提取用戶A不具有的樂曲。提取單元24將所提取的樂曲設置為推薦候選。
在步驟S63,樂曲選擇單元25在作為推薦候選的樂曲中選擇屬于最大數量推薦集群的一個樂曲,然后將選擇結果輸出到新樂曲判斷單元26和選擇原因生成單元27。順便提及,當存在多個屬于最大數量推薦集群的樂曲時,例如,從樂曲中隨機選擇一個樂曲。
在步驟S64,新樂曲判斷單元26基于用戶A的偏好矢量和所選擇的樂曲所屬的集群,判斷是否存在新樂曲。新樂曲判斷單元26將判斷結果輸出到選擇原因生成單元27。選擇原因生成單元27從聚類DB 14獲得與所選擇的樂曲所屬的集群層或集群相對應的關鍵詞,并使用所獲得的關鍵詞等生成表示選擇原因的選擇原因文本。另外,選擇原因生成單元27還基于來自新樂曲判斷單元26的判斷結果生成選擇原因文本。然后,選擇原因生成單元27將所生成的選擇原因文本和所選擇的樂曲的樂曲ID一起輸出到呈現單元28。在步驟S65,呈現單元29從樂曲DB獲得關于所選擇的樂曲的信息,并將該信息和所生成的選擇原因文本一起呈現到用戶端。經過前述處理后,結束第七推薦處理。
根據上述第一到第七推薦處理,以每個集群作為一個維度,以偏好矢量代替用戶的歷史信息,并且應用CF方法。因此可以防止推薦給用戶A的樂曲集中于樂曲DB 11中的全部樂曲中的一部分。還可以向具有少量歷史信息的用戶推薦樂曲,因此避免了所謂的冷開始問題。此外,還可以向用戶A呈現選擇所推薦的樂曲的原因,并且,例如,可以告知用戶A所推薦的樂曲對于用戶A是否是新的。
應該注意,本發明不僅可以應用于推薦樂曲的情況,還可應用于銷售例如電視節目、電影和書籍等樂曲以外的內容的銷售站點。
不僅可以通過硬件,而且還可以通過軟件來實現上述系列處理。當通過軟件實現該系列處理時,將構成該軟件的程序從記錄介質安裝到專用設備所包含的計算機上或安裝到例如如圖12所配置的可通過將各種程序安裝在其上來執行各種功能的通用個人計算機。
個人計算機100包括CPU(中央處理單元)101。CPU 101通過總線104與輸入-輸出接口105連接。總線104與ROM(只讀存儲器)102和RAM(隨機存取存儲器)103連接。
輸入-輸出接口105與以下單元連接輸入單元106,其包括鍵盤和鼠標等輸入裝置,用戶向其輸入操作命令;輸出單元107,其包括CRT(陰極射線管)和LCD(液晶顯示器)等顯示器,用于屏幕顯示;存儲單元108,其包括用于存儲程序和各種數據的硬盤驅動器等;以及通信單元109,其包括調制解調器和LAN(局域網)適配器等,通信單元109通過以因特網為代表的網絡進行通信處理。輸入-輸出接口105還與用于從記錄介質111讀取數據和將數據寫到記錄介質111的驅動器110連接,記錄介質111有磁盤(包括軟盤)、光盤(包括CD-ROM(Compact Disc-ReadOnly Memory,緊湊型盤-只讀存儲器)和DVD(Digital VersatileDisc,數字通用盤))、磁光盤(包括MD(Mini Disc,小型盤))、或半導體存儲器等。
以以下狀態將用于使個人計算機100執行上述系列處理的程序提供給個人計算機100該程序存儲在記錄介質111上,通過驅動器110讀取,并安裝在存儲單元108中所包括的硬盤驅動器上。根據與輸入到輸入單元106的用戶命令相對應的CPU 101的指令,從存儲單元108將安裝在存儲單元108中的程序加載到RAM 103中,并執行該程序。
圖13示出根據本發明實施例的推薦系統1的結構的另一例子的框圖。在圖13中,與圖1所示相同的部分以相同附圖標記來表示,并省略對其說明。
圖13所示的推薦系統1包括樂曲DB 11、關鍵詞設置單元13、聚類DB 14、用戶歷史信息DB 17、推薦候選選擇單元18、樂曲選擇單元25、新樂曲判斷單元26、選擇原因生成單元27、呈現單元28、元數據聚類單元201、以及樂曲聚類單元202。
元數據聚類單元201對記錄在樂曲DB 11中的每個集群的元數據進行聚類。也就是說,元數據聚類單元201將作為內容的樂曲的元數據分類到多個集群中的一個,并將層分配到集群。
元數據聚類單元201將對每個樂曲的元數據的聚類的結果提供給樂曲聚類單元202。
基于元數據聚類單元201對每個樂曲的元數據的聚類結果,象聚類單元12一樣,樂曲聚類單元202對每個樂曲進行聚類,并生成每個樂曲的集群信息。也就是說,樂曲聚類單元202根據每個樂曲的聚類結果生成集群信息。樂曲聚類單元202將集群信息輸出到聚類DB 14。
圖13所示的推薦系統1中的推薦候選選擇單元18包括偏好矢量生成單元19、用戶分組單元20、差異檢測單元22、推薦集群確定單元23、提取單元24、以及相似用戶檢測單元203。
相似用戶檢測單元203通過比較保持在用戶歷史信息DB17中的每個用戶的偏好矢量來檢測具有與向其推薦樂曲的用戶相似的偏好矢量的其他用戶。更具體地,相似用戶檢測單元203將作為用戶偏好信息的例子的偏好矢量標準化,根據每個用戶的標準偏好矢量針對每個用戶計算每層的權重,根據每層的權重和偏好矢量計算表示用戶之間的偏好相似程度的相似程度,并檢測與第一用戶具有相似偏好的第二用戶。
接著參照圖14的流程圖說明作為圖13所示的推薦系統1中推薦樂曲處理的準備的離線時的預處理的另一例子。
在步驟S201,元數據聚類單元201從樂曲DB 11獲得樂曲的元數據,并壓縮所獲得的元數據的維度。例如,在步驟S201,元數據聚類單元201通過LSA(the latent semantic analysis,潛在語義分析)、PLSA(the probabilistic latent semantic analysis,概率潛在語義分析)、或量化方法III(quantification method III)等方法來壓縮從樂曲DB 11獲得的樂曲的元數據的維度。
順便提及,在步驟S201,元數據聚類單元201可以將樂曲的元數據矢量化。
在步驟S202,元數據聚類單元201對每個樂曲的元數據聚類。例如,在步驟S202,元數據聚類單元201對每個樂曲的元數據進行軟聚類。
更具體地,例如,如圖15中所示,元數據聚類單元201對每個樂曲的元數據進行軟聚類,使得對于每層內各集群的項目權重的總和為1。
例如,屬于由樂曲ID ABC123識別的樂曲的元數據的第一層中的第一集群、第二集群、第三集群和第四集群的權重分別為0.0、0.8、0.0和0.2。屬于由樂曲ID ABC123識別的樂曲的元數據的第二層中的第五集群、第六集群、第七集群和第八集群的權重分別為0.4、0.6、0.0和0.0。屬于由樂曲ID ABC123識別的樂曲的元數據的第三層中的第九集群、第十集群和第十一集群的權重分別為0.0、0.0和1.0。屬于由樂曲ID ABC123識別的樂曲的元數據的第n層中的四個集群的權重分別為1.0、0.0、0.0和0.0。
例如,屬于由樂曲ID CTH863識別的樂曲的元數據的第一層中的第一集群、第二集群、第三集群和第四集群的權重分別為1.0、0.0、0.0和0.0。屬于由樂曲ID CTH863識別的樂曲的元數據的第二層中的第五集群、第六集群、第七集群和第八集群的權重分別為0.0、0.5、0.5和0.0。屬于由樂曲ID CTH863識別的樂曲的元數據的第三層中的第九集群、第十集群和第十一集群的權重分別為0.7、0.3和0.0。屬于由樂曲ID CTH863識別的樂曲的元數據的第n層中的四個集群的權重分別為0.0、0.8、0.2和0.0。
例如,屬于由樂曲ID XYZ567識別的樂曲的元數據的第一層中的第一集群、第二集群、第三集群和第四集群的權重分別為0.0、0.4、0.6和0.0。屬于由樂曲ID XYZ567識別的樂曲的元數據的第二層中的第五集群、第六集群、第七集群和第八集群的權重分別為0.0、0.0、0.0和1.0。屬于由樂曲ID XYZ567識別的樂曲的元數據的第三層中的第九集群、第十集群和第十一集群的權重分別為0.9、0.0和0.1。屬于由樂曲ID XYZ567識別的樂曲的元數據的第n層中的四個集群的權重分別為0.3、0.0、0.0和0.7。
順便提及,每個樂曲的元數據的軟聚類不局限于使得屬于每層內的集群的項,即樂曲的權重的總和為1的軟聚類。另外,項目可以不屬于各層中的任何集群。
在步驟S203,元數據聚類單元201分配集群層。
以下參照圖16和圖17說明元數據的聚類和集群層的分配。圖16是示出元數據的例子的圖。為了便于說明,圖16中所示的元數據是具有值0或1的分類數據。
元數據1、元數據2和元數據3屬于作為較高次序分類的meta-group 1。元數據4、元數據5和元數據6屬于作為較高次序分類的meta-group 2。例如,關于藝術家的元數據屬于meta-group 1。元數據1代表藝術家的外貌。元數據2代表組。例如,關于類型的元數據屬于meta-group 2。元數據4代表流行音樂。元數據5代表搖滾音樂。
在圖16所示的例子中,由樂曲ID ABC123識別的樂曲的元數據1~6分別為1、1、1、1、1和1。由樂曲ID CTH863識別的樂曲的元數據1~6分別為0、1、0、0、1和1。由樂曲ID XYZ567識別的樂曲的元數據1~6分別為1、1、1、1、1和1。由樂曲IDEKF534識別的樂曲的元數據1~6分別為1、0、1、0、0和1。由樂曲ID OPQ385識別的樂曲的元數據1~6分別為1、0、1、1、0和0。
將通過樂曲ID ABC123~OPQ385識別的樂曲的元數據1作為矢量。類似地,將通過樂曲ID ABC123~OPQ385識別的樂曲的元數據2~6中的每一個作為矢量。也就是說,將多個樂曲的一條元數據的值作為矢量。
討論矢量之間的距離。
在圖16所示的例子中,將元數據1、元數據3和元數據4集合到等于或小于一個Manhattan距離的集群中。將元數據2、元數據5和元數據6集合到等于或小于一個Manhattan距離的另一集群中。
因此,將這些集群設置為新的元數據層次。也就是說,將較近的元數據分配給該層次的每層。
圖17示出如此聚類并分配到各層的元數據的例子。在圖17所示的例子中,元數據1、元數據3和元數據4屬于第一層。元數據2、元數據5和元數據6屬于第二層。
因此,由一組高度相關的元數據形成每一層,并在所述層中對內容進行聚類。因此可以反映集群中內容之間的細微差異,這種差異不能通過按照原樣將類型和藝術家等設置為層的普通分層來表達。
返回圖14,在步驟S204,樂曲聚類單元202聚類每一層中的樂曲。也就是說,樂曲聚類單元202將每個內容分類到每個所分配的層中的多個集群中的一個。
步驟S205和步驟S206分別與圖6中的步驟S2和S3相同,因此省略對其說明。
因此,可以以減少的數據量和減少的計算量聚類內容,同時維持元數據表達的內容細節(表達的細節的程度)。
另外,可以通過對元數據進行上述分層來對內容進行聚類,從而很好地表達內容之間的細微差異。
接著詳細說明相似用戶檢測單元203。
圖18是示出相似用戶檢測單元203的結構的例子的框圖。相似用戶檢測單元203包括標準化單元231、權重計算單元232和相似程度計算單元233。
標準化單元231對作為用戶偏好信息的例子的偏好矢量進行標準化。權重計算單元232根據每個用戶的標準偏好矢量針對每個用戶計算每層的權重。相似程度計算單元233根據每層的權重和偏好矢量,計算表示向其推薦樂曲的用戶與其他用戶之間的偏好相似程度的相似程度。
接著參照圖19的流程圖說明用于通過相似用戶檢測單元203檢測具有相似偏好的用戶X的處理,該處理對應于圖8中的步驟S21。
在步驟S231,標準化單元231對每個用戶的偏好矢量進行標準化。
參照圖20和圖21說明偏好矢量的標準化。圖20是示出在偏好矢量生成單元19中生成的且保持在用戶歷史信息DB 17中的用戶的偏好矢量的例子的圖。也就是說,圖20示出標準化前的偏好矢量的例子。
在圖20中所示的偏好矢量的各元素中,前四個元素屬于第一層,其次的四個元素屬于第二層,接著的三個元素屬于第三層,而最后的四個元素屬于第四層。
在圖20所示的例子中,由用戶ID U001識別的用戶的偏好矢量為(0.0、2.8、0.0、2.2、0.4、0.6、0.8、0.0、0.5、0.4、0.4、0.0、0.5、0.4和0.0)。在這種情況下,前四個元素0.0、2.8、0.0和2.2屬于第一層,其次的四個元素0.4、0.6、0.8和0.0屬于第二層,接著的三個元素0.5、0.4和0.4屬于第三層,而最后的四個元素0.0、0.5、0.4和0.0屬于第四層。
在圖20所示的例子中,由用戶ID U002識別的用戶的偏好矢量為(0.2、0.8、0.5、0.6、0.0、0.5、0.5、0.0、0.7、0.3、0.6、0.0、0.6、0.2和0.0)。在這種情況下,前四個元素0.2、0.8、0.5和0.6屬于第一層,其次的四個元素0.0、0.5、0.5和0.0屬于第二層,接著的三個元素0.7、0.3和0.6屬于第三層,而最后的四個元素0.0、0.6、0.2和0.0屬于第四層。
在圖20所示的例子中,由用戶ID U003識別的用戶的偏好矢量為(0.0、2.2、0.1、1.6、0.0、1.0、2.0、1.4、0.0、1.2、0.1、0.3、0.4、0.6和0.7)。在這種情況下,前四個元素0.0、2.2、0.1和1.6屬于第一層,其次的四個元素0.0、1.0、2.0和1.4屬于第二層,接著的三個元素0.0、1.2和0.1屬于第三層,而最后的四個元素0.3、0.4、0.6和0.7屬于第四層。
例如,在步驟S231,標準化單元231對每一偏好矢量進行標準化,使得每層中的范數(norm)為1。
圖21是示出通過標準化圖20中的偏好矢量使得每層中的標準為1所獲得的偏好矢量的例子的圖。
在圖21所示的例子中,由用戶ID U001識別的用戶的標準偏好矢量為(0.0、0.8、0.0、0.6、0.4、0.6、0.7、0.0、0.7、0.5、0.5、0.0、0.5、0.4和0.0)。在這種情況下,前四個元素0.0、0.8、0.0和0.6屬于第一層,其次的四個元素0.4、0.6、0.7和0.0屬于第二層,接著的三個元素0.7、0.5和0.5屬于第三層,而最后的四個元素0.0、0.5、0.4和0.0屬于第四層。
在圖21所示的例子中,由用戶ID U002識別的用戶的標準偏好矢量為(0.2、0.7、0.4、0.5、0.0、0.7、0.7、0.0、0.7、0.3、0.6、0.0、0.8、0.3和0.0)。在這種情況下,前四個元素0.2、0.7、0.4和0.5屬于第一層,其次的四個元素0.0、0.7、0.7和0.0屬于第二層,接著的三個元素0.7、0.3和0.6屬于第三層,而最后的四個元素0.0、0.8、0.3和0.0屬于第四層。
在圖21所示的例子中,由用戶ID U003識別的用戶的標準偏好矢量為(0.0、0.8、0.0、0.6、0.0、0.4、0.8、0.5、0.0、1.0、0.1、0.3、0.2、0.2和0.3)。在這種情況下,前四個元素0.0、0.8、0.0和0.6屬于第一層,其次的四個元素0.0、0.4、0.8和0.5屬于第二層,接著的三個元素0.0、1.0和0.1屬于第三層,而最后的四個元素0.3、0.2、0.2和0.3屬于第四層。
返回圖19,在步驟S232,權重計算單元232計算每個用戶的偏好矢量的每層的權重。例如,在步驟S232,權重計算單元232計算每一層的權重作為屬于一個層的元素的變量。
圖22是示出作為屬于每層的元素的變量的權重的例子的圖,其中,針對每個用戶的每層計算權重。在圖22所示的例子中,由用戶ID U001識別的用戶的第一層的權重、第二層的權重、第三層的權重和第四層的權重為0.17、0.10、0.01和0.06。
由用戶ID U002識別的用戶的第一層的權重、第二層的權重、第三層的權重和第四層的權重為0.05、0.17、0.05和0.16。由用戶ID U003識別的用戶的第一層的權重、第二層的權重、第三層的權重和第四層的權重為0.16、0.10、0.31和0.00。
在步驟S233,相似程度計算單元233計算每個用戶加權偏好的相似程度。在步驟S234,相似用戶檢測單元203從用戶中檢測具有最高偏好相似程度的用戶X。然后結束該處理。
假定在不加權的情況下通過等式(1)計算用戶u和用戶v的相似程度sim(u、v),并假定用戶X是由用戶ID U001識別的用戶,則由用戶ID U002識別的用戶和由用戶ID U003識別的用戶的相似程度如圖23所示。
sim(u,v)=Σl∈LΣc∈C(l)hulchvlc---(1)]]>在等式(1)中,L為表示偏好矢量的層數的值,l為識別偏好矢量的層的值,C(l)表示偏好矢量的全部集群,c是識別集群的值,而h表示標準偏好矢量的元素的值。
當由用戶ID U001識別的用戶的偏好矢量的元素中的第一層的元素乘以由用戶ID U002識別的用戶的偏好矢量的元素中的第一層的相應元素,并將相乘的結果相加時,獲得作為圖23中的用戶ID U002的第一層中所配置的值0.88。同樣地,當由用戶ID U001識別的用戶的偏好矢量的元素中的第二層、第三層和第四層的元素乘以由用戶ID U002識別的用戶的偏好矢量的元素中的第二層、第三層和第四層的相應元素,并將相乘的結果相加時,獲得作為圖23中的用戶ID U002的第二層、第三層和第四成中所配置的值0.92、0.97和0.50。
最終,由用戶ID U001識別的用戶與由用戶ID U002識別的用戶之間的偏好的相似程度為3.27,該值是通過相加分別針對第一層、第二層、第三層和第四層所獲得的0.88、0.92、0.97和0.50而得到的值。
同樣地,當由用戶ID U001識別的用戶的偏好矢量的元素中的第一層的元素乘以由用戶ID U003識別的用戶的偏好矢量的元素中的第一層的相應元素,并將相乘的結果相加時,獲得作為圖23中的用戶ID U003的第一層中所配置的值1.00。同樣地,當由用戶ID U001識別的用戶的偏好矢量的元素中的第二層、第三層和第四層的元素乘以由用戶ID U003識別的用戶的偏好矢量的元素中的第二層、第三層和第四層的相應元素,并將相乘的結果相加時,獲得作為圖23中的用戶ID U003的第二層、第三層和第四成中所配置的值0.77、0.57和0.15。
最終,由用戶ID U001識別的用戶與由用戶ID U003識別的用戶之間的偏好的相似程度為2.50,該值是通過相加分別針對第一層、第二層、第三層和第四層獲得的1.00、0.77、0.57和0.15而得到的值。
當在不進行加權的情況下如此計算相似程度時,由用戶IDU001識別的用戶與由用戶ID U002識別的用戶之間的相似程度高于由用戶ID U001識別的用戶與由用戶ID U003識別的用戶之間的相似程度。因此,將由用戶ID U002識別的用戶檢測為具有最高偏好相似程度的用戶X。
另一方面,在步驟S233,相似程度計算單元233計算用戶u和用戶v的相似程度sim(u,v),通過等式(2)加權該相似程度sim(u,v)。
sim(u,v)=Σl∈LΣc∈C(l)bulhulc·bvlhvlc---(2)]]>在等式(1)中,L為表示偏好矢量的層數的值,l為識別偏好矢量的層的值,C(l)表示偏好矢量的全部集群,c是識別集群的值,h表示標準偏好矢量的元素的值,而b表示每層的權重。
圖24是示出在用戶X是由用戶ID U001識別的用戶時由用戶ID U002識別的用戶和由用戶ID U003識別的用戶的加權相似程度的例子的圖。順便提及,圖24中所示的值是通過等式(2)計算的相似程度sim(u,v)的100倍。
當由用戶ID U001識別的用戶的偏好矢量的元素中的第一層的每一元素乘以由用戶ID U001識別的用戶的第一層的權重,由用戶ID U002識別的用戶的偏好矢量的元素中的第一層的每一元素乘以由用戶ID U002識別的用戶的第一層的權重,相應的元素一起相乘,并將相乘的結果相加時,獲得圖24中的用戶ID U002的第一層中所配置的值0.72。
同樣地,當由用戶ID U001識別的用戶的偏好矢量的元素中的第二層、第三層和第四層的每一元素乘以由用戶ID U001識別的用戶的第一層的權重,由用戶ID U002識別的用戶的偏好矢量的元素中的第二層、第三層和第四層的每一元素乘以由用戶ID U002識別的用戶的第一層的權重,相應的元素一起相乘,并將相乘的結果相加時,獲得圖24中的用戶ID U002的第二層、第三層和第四層中所配置的值1.54、0.03和0.48。
最終,由用戶ID U001識別的用戶與由用戶ID U002識別的用戶之間的偏好的加權相似程度為2.76,該值是通過相加分別針對第一層、第二層、第三層和第四層所獲得的0.72、1.54、0.03和0.48而得到的值。
同樣地,當由用戶ID U001識別的用戶的偏好矢量的元素中的第一層的每一元素乘以由用戶ID U001識別的用戶的第一層的權重,由用戶ID U003識別的用戶的偏好矢量的元素中的第一層的每一元素乘以由用戶ID U003識別的用戶的第一層的權重,相應的元素一起相乘,并將相乘的結果相加時,獲得圖24中的用戶ID U003的第一層中所配置的值2.74。同樣地,當由用戶ID U001識別的用戶的偏好矢量的元素中的第二層、第三層和第四層的每一元素乘以由用戶ID U001識別的用戶的第一層的權重,由用戶ID U003識別的用戶的偏好矢量的元素中的第二層、第三層和第四層的每一元素乘以由用戶ID U003識別的用戶的第一層的權重,相應的元素一起相乘,并將相乘的結果相加時,獲得圖24中的用戶ID U003的第二層、第三層和第四層中所配置的值0.79、0.10和0.00。
最終,由用戶ID U001識別的用戶與由用戶ID U003識別的用戶之間的偏好的加權相似程度為3.64,該值是通過相加分別針對第一層、第二層、第三層和第四層所獲得的2.74、0.79、0.10和0.00而得到的值。
結果,當利用所進行的加權來計算相似程度時,由用戶IDU001識別的用戶與由用戶ID U003識別的用戶之間的相似程度高于由用戶ID U001識別的用戶與由用戶ID U002識別的用戶之間的相似程度。因此,將由用戶ID U003識別的用戶檢測為具有最高偏好相似程度的用戶X。
注意圖20中所示的偏好矢量,由用戶ID U001識別的用戶的偏好矢量的元素的值在第一層中比在第二到第四層中變化更大。因此估計第一層中的元素的值比第二到第四層中的元素的值更緊密相關于由用戶ID U001識別的用戶的偏好。
注意由用戶ID U002識別的用戶的偏好矢量和由用戶IDU003識別的用戶的偏好矢量的第一層中的元素的值,與由用戶ID U002識別的用戶的偏好矢量的第一層中的元素的值相比,由用戶ID U003識別的用戶的偏好矢量的第一層中的元素的值更接近于由用戶ID U001識別的用戶的偏好矢量的第一層中的元素的值。因此估計與由用戶ID U002識別的用戶相比,由用戶ID U003識別的用戶具有與由用戶ID U001識別的用戶更相似的偏好。
因此,通過進行加權,基于與估計同用戶的偏好關系疏遠的值相比、估計與用戶偏好更緊密相關的值,可以利用變化更大的緊密相關值獲得偏好的相似程度。因此可以更準確地檢測具有相似偏好的用戶。
應該注意,盡管在以上說明中,例如,在步驟S232,權重計算單元232計算權重作為屬于每層的元素的變量,但是本發明不局限于此,并且由于增加了層中的元素的變化,因而本發明足以計算具有更大值的權重。例如,可以通過等式(3)計算熵H,并且可以計算從1減去熵H的結果獲得的值,作為權重。
H(l)=Σc∈C(l)hlcloghlc---(3)]]>因此,可以減少用于選擇適當內容的計算量,同時使信息損失最小。還可以在選擇內容中呈現確保反映用戶關注的信息的內容。
應該注意,在本說明書中,基于程序執行的步驟不僅包括以所述的次序按照時間序列執行的處理,而且還包括并行或單獨執行而無需按照時間序列執行的處理。
可以通過單個計算機處理該程序,也可以由多個計算機分布處理該程序。此外,還可以將該程序傳送到遠程計算機,然后執行該程序。
本說明書中的系統是指作為由多個裝置形成的整體的設備。
應該注意,本發明的實施例不局限于上述實施例,在不脫離本發明的精神的情況下,可以進行各種改變。
權利要求
1.一種信息處理裝置,用于從一組內容中選擇滿足預定條件的內容并將該內容呈現給用戶,所述信息處理裝置包括內容分類部件,用于將形成所述一組內容的每個內容分類到與所述內容的元數據相對應的每層中的多個第一集群中的一個;保持部件,用于保持表示每個內容與每個內容分類到的所述層中所述第一集群之間的對應關系的數據庫;管理部件,用于管理關于所述用戶的內容的歷史信息;選擇部件,用于基于所述歷史信息來識別感興趣的第一集群,并選擇被分類到所識別的所述第一集群的內容;以及呈現部件,用于呈現所選擇的所述內容。
2.根據權利要求1所述的信息處理裝置,其特征在于,所述選擇部件包括檢測部件,用于檢測具有與第一用戶的所述歷史信息相似的所述歷史信息的第二用戶;識別部件,用于識別所述第一用戶的所述歷史信息中不存在而所述第二用戶的所述歷史信息中存在的內容被分類到的第一集群;以及提取部件,用于提取被分類到所識別的所述第一集群的內容;以及所述呈現部件將所提取的所述內容呈現給所述第一用戶。
3.根據權利要求1所述的信息處理裝置,其特征在于,還包括生成部件,用于基于用戶的所述歷史信息和所述數據庫,以所述第一集群為單位生成表示所述用戶的偏好的偏好信息;以及分組部件,用于基于所述偏好信息對用戶進行分組;其中,所述選擇部件包括檢測部件,用于檢測與第一用戶屬于同一組的第二用戶;識別部件,用于識別所述第一用戶的所述歷史信息中不存在而所述第二用戶的所述歷史信息中存在的內容被分類到的第一集群;以及提取部件,用于提取被分類到所識別的所述第一集群的內容;以及所述呈現部件將所提取的所述內容呈現給所述第一用戶。
4.根據權利要求1所述的信息處理裝置,其特征在于,還包括生成部件,用于基于所述用戶的所述歷史信息和所述數據庫,以所述第一集群為單位生成表示所述用戶的偏好的偏好信息;其中,所述選擇部件包括檢測部件,用于檢測具有由所述偏好信息表示的與第一用戶的偏好相似的偏好的第二用戶;識別部件,用于基于所述第一用戶的偏好信息和所述第二用戶的偏好信息來識別感興趣的第一集群;以及提取部件,用于提取被分類到所識別的所述第一集群的內容;以及所述呈現部件將所提取的所述內容呈現給所述第一用戶。
5.根據權利要求4所述的信息處理裝置,其特征在于,所述檢測部件包括標準化部件,用于將用戶的偏好信息標準化;權重計算部件,用于根據每個用戶的標準化后的偏好信息來計算針對每個用戶每層的權重;以及相似程度計算部件,用于根據每層的權重和所述偏好信息來計算表示用戶中的第一用戶和用戶中的其他用戶之間的偏好相似程度的相似程度;以及根據所計算出的相似程度檢測具有與第一用戶的偏好相似的偏好的第二用戶。
6.根據權利要求1所述的信息處理裝置,其特征在于,還包括生成部件,用于基于所述用戶的所述歷史信息和所述數據庫,以所述第一集群為單位生成表示所述用戶的偏好的偏好信息;以及分組部件,用于基于所述偏好信息對用戶進行分組;其中,所述選擇部件包括檢測部件,用于檢測與第一用戶屬于同一組的第二用戶;識別部件,用于基于所述第一用戶的偏好信息和所述第二用戶的偏好信息來識別感興趣的第一集群;以及提取部件,用于提取被分類到所識別的所述第一集群的內容;以及所述呈現部件將所提取的所述內容呈現給所述第一用戶。
7.根據權利要求1所述的信息處理裝置,其特征在于,還包括設置部件,用于對通過所述內容分類部件將所述元數據分類到的每一第一集群設置關鍵詞;以及生成部件,用于使用通過所述設置部件設置的所述關鍵詞來生成表示呈現所述內容的原因的原因文本;其中,所述呈現部件還呈現所述原因文本。
8.根據權利要求1所述的信息處理裝置,其特征在于,還包括元數據分類部件,該元數據分類部件用于將內容的元數據分類到多個第二集群中的一個,并將所述層分配到所述第二集群;其中,所述內容分類部件將每個內容分類到每個分配的所述層中的多個第一集群中的一個。
9.根據權利要求1所述的信息處理裝置,其特征在于,還包括生成部件,用于基于所述用戶的所述歷史信息和所述數據庫,以所述第一集群為單位生成表示所述用戶的偏好的偏好信息;其中,所述選擇部件選擇被分類到全部所述層中的全部所述第一集群當中由所述偏好信息表示的最大數量的所述第一集群的內容。
10.一種信息處理裝置的信息處理方法,用于從一組內容中選擇滿足預定條件的內容并將該內容呈現給用戶,所述信息處理方法包括以下步驟將形成所述一組內容的每個內容分類到與所述內容的元數據相對應的每層中的多個集群中的一個;保持表示每個內容與將每個內容分類到的所述層中的所述集群之間的對應關系的數據庫;管理關于所述用戶的內容的歷史信息;基于所述歷史信息來識別感興趣的集群,并選擇被分類到所識別的所述集群的內容;以及呈現所選擇的所述內容。
11.一種用于從一組內容中選擇滿足預定條件的內容并向用戶推薦該內容的程序,所述程序使計算機進行包括以下步驟的處理將形成所述一組內容的每個內容分類到與所述內容的元數據相對應的每層中的多個集群中的一個;保持表示每個內容與將每個內容分類到的所述層中的所述集群之間的對應關系的數據庫;管理關于所述用戶的內容的歷史信息;基于所述歷史信息來識別感興趣的集群,并選擇被分類到所識別的所述集群的內容;以及呈現所選擇的所述內容。
全文摘要
本發明提供一種信息處理裝置、信息處理方法和程序,它們能夠通過CF方法抑制推薦集中于內容的一部分,并且向具有少量歷史信息的用戶推薦內容。步驟S11檢測向其推薦樂曲的用戶A和具有最相似歷史信息的另一用戶X。步驟S12檢測用戶X擁有而用戶A不擁有的樂曲。步驟S13識別每個集群層中樂曲“a”所屬的集群。步驟S14提取被分類到全部所識別的集群的共同樂曲作為推薦候選。此外,步驟S15在推薦候選中選擇與樂曲“a”具有最相似的集群信息的一個樂曲。將由此選擇的樂曲推薦給用戶A。例如,本發明可應用于在因特網上構建的內容銷售站點。
文檔編號G06Q30/06GK101069184SQ200680001299
公開日2007年11月7日 申請日期2006年9月15日 優先權日2005年9月28日
發明者山本則行, 館野啟, 齋藤真里, 角田智弘, 宮嵜充弘 申請人:索尼株式會社