TWI410811B - 音樂推薦方法與其程式產品 - Google Patents
音樂推薦方法與其程式產品 Download PDFInfo
- Publication number
- TWI410811B TWI410811B TW98130262A TW98130262A TWI410811B TW I410811 B TWI410811 B TW I410811B TW 98130262 A TW98130262 A TW 98130262A TW 98130262 A TW98130262 A TW 98130262A TW I410811 B TWI410811 B TW I410811B
- Authority
- TW
- Taiwan
- Prior art keywords
- feature
- data
- candidate
- evaluation
- type
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本發明是有關於一種音樂推薦方法與其程式產品,特別是有關於一種可根據使用者狀態來進行音樂推薦之方法與其程式產品。
隨著多媒體處理技術和無線網路傳輸技術的快速進步,人們可以輕易地透過行動裝置(例如:手機或個人數位助理)來從網路上獲得多媒體商品(例如:影片或音樂)。也就是說,只要有網路服務存在的地方,人們便可以輕易地從網站上選購歌曲,而不必特地到實體商店去購買音樂光碟。
然而,一般的音樂販售網站,例如:亞馬遜(Amazon),皆提供有數百萬首的歌曲供顧客挑選。因此,使用者難以了解這數百萬首歌曲中,哪一首可能是自己喜歡的。為了解決這個問題,有些業者研發了資訊推薦技術來評估這數百萬首歌曲中,有哪些可能是使用者所喜歡的。
目前習知的資訊推薦技術係根據過去網路使用者對於現有歌曲的評分來推薦歌曲給使用者。然而,對於新歌曲而言,必須經過一段時間才會有評分,因此在這段空窗期中,習知的資訊推薦技術無法正確地推薦歌曲給使用者。再者,當歌曲的評分資料數不夠多時,習知的資訊推薦技術也無法正確地推薦歌曲給使用者。另外,目前習知的資訊推薦技術皆未考量到使用者的狀態。例如,使用者在白天對一首歌給予了很高的評分,但是到了晚上,此使用者可能對同一首歌曲給予很低的評分。
因此,需要一種新的音樂推薦方法來改善習知資訊推薦技術的缺點。
因此,本發明之一方面是在提供一種音樂推薦方法與其電腦程式產品。
根據本發明之一實施例,在此音樂推薦方法中,首先獲得複數個候選資料與每一候選資料之複數個評分資料,其中每一評分資料係對應至一個歷史使用者環境狀態,此歷史使用者環境狀態包含至少一個歷史使用者狀態值,這些歷史使用者狀態值係分別屬於複數個環境狀態類別。接著,獲得使用者之使用者環境狀態,其中此使用者環境狀態包含至少一個使用者狀態值,這些使用者狀態值係分別屬於前述之環境狀態類別。然後,進行離線處理階段,以將候選資料一對一轉換為複數個特徵化資料,其中每一特徵化資料包含複數個特徵片段,這些特徵片段係對應至複數個特徵類型。接著,進行線上處理階段,以根據特徵類型來決定每一候選資料之使用者喜好度。
在上述之離線處理階段中,首先根據預設單位時間來將每一候選資料依序切割為複數個子資料。然後,利用特徵擷取演算法來擷取每一候選資料之每一子資料之至少一特徵參數。接著,根據每一候選資料之每一子資料之該至少一特徵參數,利用第一分群演算法來將全部子資料分為複數個子資料群組,其中子資料群組係一對一對應至複數個參數類型。然後,根據每一候選資料之每一子資料所對應之子資料群組,來決定每一候選資料之每一子資料所對應之參數類型。接著,根據預設數量來將每一候選資料之子資料依序分為複數個子資料序列。然後,利用序列相似度演算法來比較全部子資料序列之相似度,並獲得每一候選資料之每一子資料序列之序列相似度值。接著,根據每一候選資料之每一子資料之子資料序列的序列相似度值,利用第二分群演算法來將全部子資料序列分為複數個序列群組,其中這些序列群組係一對一對應至複數個序列類型。然後,提供預設切割視窗與其預設移動距離,其中預設切割視窗具有視窗長度,此切割視窗之該視窗長度和預設移動距離為預設單位時間之長度的倍數。接著,利用切割視窗來於每一候選資料之子資料序列上依序移動此預設移動距離,以從候選資料之全部子資料序列中取出特徵片段。
在上述之線上處理階段中,首先進行狀態比較步驟,以利用預設差異度閥值來比較使用者環境狀態與每一評分資料所對應之歷史使用者環境狀態的相似度,而從評分資料中決定複數筆相關評分資料。然後,根據相關評分資料來從候選資料中決定複數個相關候選資料,其中相關候選資料係一對一對應至相關評分資料。接著,根據相關候選資料來從特徵類型中決定複數個相關特徵類型,其中相關特徵類型係對應至特徵片段之複數個相關特徵片段,而相關特徵片段係構成相關候選資料。然後,計算每一相關特徵類型於每一相關候選資料中所包含的特徵片段的個數,以獲得每一相關特徵類型之複數個相關特徵片段個數。接著,根據每一相關特徵類型所對應之相關特徵片段個數,來決定每一相關特徵類型之特徵正評價和特徵負評價。然後,根據正評價閥值和每一相關特徵類型之特徵正評價,來從相關特徵類型中,決定正評價特徵類型。接著,根據負評價閥值和每一相關特徵類型之特徵負評價,來從相關特徵類型中,決定至少一負評價特徵類型。然後,根正評價類型和負評價類型,來從相關特徵類型中,決定至少一高度相關特徵類型,其中高度相關特徵類型為相關特徵類型中屬於正評價類型之至少一者,或為相關特徵類型中屬於負評價類型之至少一者。接著,根據每一高度相關特徵類型之特徵正評價和特徵負評價之評價差值,來決定每一高度相關特徵類型之一預測評價。然後,根據候選資料之特徵片段和每一高度相關特徵類型之預測評價,來決定每一候選資料之使用者喜好度。
根據本發明之另一實施例,前述之電腦程式產品經由電腦載入並執行後,此電腦可進行前述之音樂推薦方法。
請參照第1圖,其係繪示根據本發明之一實施例之音樂推薦方法的流程示意圖。音樂推薦方法可分為離線處理階段110和線上處理階段120。在離線處理階段110中,係對資料庫130中的候選資料,例如:音樂資料,進行特徵擷取步驟112,以將每一個候選資料轉換為一個特徵化資料。每一個特徵化資料包含有複數個特徵片段,這些特徵片段係對應至複數個特徵類型。當資料庫中的候選資料都被轉換成特徵化資料後,代表這些候選資料可以多個特徵類型來表示。在以下的敘述中,這些特徵化資料的集合稱為特徵化資料庫140。
在線上處理階段120中,首先進行喜好類型探勘步驟122,以根據歷史使用者之評分資料庫150和目前使用者的環境狀態160,來從特徵化資料庫中探勘出全部特徵類型的預測評價。接著,進行資料喜好度預測步驟124,以根據特徵類型的預測評價來預測資料庫中未被目前使用者評分之候選資料的使用者喜好度,來產出推薦資料清單170。此推薦資料清單170係根據每一個候選資料的使用者喜好度來排列候選資料。另外,推薦資料清單170亦可只列出喜好度最高的候選資料。
請同時參照第2圖、第3a圖、第3b圖和第4圖,第2圖係繪示根據本發明之一實施例之特徵擷取步驟112的流程示意圖。第3a圖和第3b圖係繪示第2圖中步驟112a至步驟112f的示意圖。第4圖係繪示第2圖中步驟112g至步驟112h的示意圖。
在特徵擷取步驟112中,首先進行步驟112a,以根據預設之單位時間來將每一個候選資料210依序切割為複數個子資料220。接著,進行步驟112b,以利用特徵擷取演算法來擷取每一個子資料220的特徵參數。在本實施例中,候選資料為MPEG-1 Layer III(MP3)格式,所使用之特徵擷取演算法為特徵改良型離散餘弦轉換演算法(Modified discrete cosine transform;MDCT),而子資料之長度為一個音框之時間長度,即26毫秒。透過MDCT演算法,可將子資料轉換為脈衝編碼調變(Pulse-code modulation,PCM)格式,且由每一個子資料中取出36個MDCT特徵參數。
然後,進行基於音框之分群步驟112c,以根據每一子資料220之特徵係數,利用分群演算法,來將全部的子資料220分為複數個資料群組。這些資料群組係一對一對應至複數個參數類型。在本實施例中,係將特徵相似的子資料分在同一組資料群組中,如此每一個子資料都會對應至一個參數類型。如第3b圖所示,本實施例將參數類型分成1、2、3、4和5,而每一個子資料所對應之參數類型則標示於其上。另外,分群步驟112c所使用之分群演算法為密度分群法(Density-Based Spatial Clustering of Applications with Noise;DBSCAN)、K中數分群法(K-mean clustering)、多代表點分群法(CURE)或平衡式反覆化簡和分群法(BIRCH)。
接著,進行步驟112d,以根據預設數量來將每一個候選資料210之子資料220依序分為複數個子資料序列230。在本實施例中,預設數量為3,因此每3個子資料被視為一個子資料序列230。
然後,進行步驟112e,以利用序列相似度演算法來比較子資料序列230間的相似度。在本實施例中,係利用基因序列比對演算法來比對每個子資料序列230間的相似度。例如,S.Bneedleman和C.D.Wunsch所提出之方法”A general method applicable to the search for similarities in the amino acid sequence of two proteins”。在此演算法中,係以一子資料序列為標準序列,並計算其他子資料序列與此標準序列之相似度,如此每個子資料序列便會對應至一個序列相似度值。
接著,進行基於序列之分群步驟112f,以根據資料序列230之序列相似度值,利用分群演算法來將全部的子資料序列230分為複數個序列群組,其中這些序列群組係一對一對應至複數個序列類型。在本實施例中,係將彼此相似的子資料序列230分至同一群組,如此每個子資料序列230都會對應至一個序列類型。如第3圖所示,本實施例將序列類型分成A、B、C、D、E和F,而每一個子資料序列所對應之序列類型則標示於其上。另外,分群步驟112d所使用之分群演算法為密度分群法(Density-Based Spatial Clustering of Applications with Noise;DBSCAN)、K中數分群法(K-mean clustering)、多代表點分群法(CURE)或平衡式反覆化簡和分群法(BIRCH)。
由第3a圖和第3b圖可知,經過步驟112a至112f的處理後,每一個候選資料210皆可透過不同類型之子資料序列的組合來表示。因此,在以下的敘述中將各類型的子資料序列統稱為基礎樣本240。
接著,進行步驟112g,以提供預設切割視窗與此預設切割視窗之預設移動距離。預設切割視窗之長度和該預設移動距離為預設單位時間之長度的倍數。然後,進行步驟112h,以利用切割視窗來於每一候選資料上依序移動預設移動距離,以取出特徵片段。如第4圖所示,候選資料310已轉換成由多個基礎樣本所構成之資料。當切割視窗之長度定為4個基礎樣本,而移動距離定為2個基礎樣本時,候選資料310可以取出5個特徵片段:EABC、BCCD、CDDA、DABC和BCCD。當全部候選資料所包含的特徵片段都被決定後,便可以將這些特徵片段分類,使每一個特徵片段對應到一個特徵類型。在本實施例中,每一個不同的特徵片段都被視為不同的特徵類型,例如,EABC和BCCD屬於不同的特徵類型,而BCCD和BCCD則是屬於相同之特徵類型。
請同時參照第5圖和第6圖,第5圖係繪示根據本發明一實施例之歷史使用者資料列表400的結構示意圖,第6圖係繪示根據本發明一實施例之喜好類型探勘步驟122的流程示意圖。在本實施例中,資料列表400係儲存於評分資料庫150中。資料列表400記載歷史使用者之狀態值,例如:心跳數(HB)、室溫值(AT)、噪音音量(NV)、溼度值(HY),以及歷史使用者對於候選資料itm1
、itm2
、itm3
、itm4
、itm5
的評分資料,其中評分資料代表歷史使用者對候選資料的評價。候選資料的評價係以0~5分來表示,1代表最低的評價,5代表最高的評價,而0代表未評價。因此評價大於2稱之為正面評價,反之稱為負面評價。
由於歷史使用者之狀態值對包含歷史使用者本身的狀態(例如:體溫)或歷史使用者之環境狀況(例如:室溫),在以下的敘述中,使用者本身狀態和環境狀況將以「環境狀態」來表示,即此「環境狀態」包含使用者本身狀態和使用者環境狀況之至少一者。值得注意的是,在本實施例中,歷史使用之者環境狀態所包含的環境狀態類別(如:溼度等)與目前使用者之環境狀態相同,如此可方便後續步驟的進行。
在喜好類型探勘步驟122中,首先進行狀態比較步驟122a,以比較使用者環境狀態與每一評分資料所對應之歷史使用者環境狀態的相似度,而從評分資料中選出對應至與使用者環境狀態相似之歷史使用者環境狀態的評分資料,即相關評分資料。由於相關評分資料所對應之歷史使用者環境狀態係類似於目前使用者環境狀態,因此相關評分資料有助於預測目前使用者的喜好。另外,為了方便說明,本實施例之評分資料記載了使用者的姓名Name,然而記載使用者姓名並非是必要的。
值得一提的是,目前使用者也可能已對候選資料進行評分的動作,因此當得知目前使用者的環境狀態後,新增的評分資料與目前使用者環境狀態亦可加入至歷史使用者資料列表400中,如此可利用目前使用者對已評分之候選資料的評分資料來預測尚未評分之候選資料的使用者喜好度。
當相關評分資料被決定後,進行步驟122b,以從候選資料中,根據相關評分資料來決定複數個相關候選資料。例如,在第5圖中,當「心跳數:79下、體溫:35.9度、...、溼度:80」的歷史使用者環境狀態對候選資料itm1
的評分被決定為相關評分資料時,其對應之相關候選資料即為候選資料itm1
。
接著,進行步驟122c,以根據相關候選資料來決定相關特徵類型。每一筆相關候選資料都會對應至至少一個特徵片段,這些特徵片段在此稱為相關特徵片段,而相關特徵類型便是全部相關候選資料之相關特徵片段所對應的特徵類型。然後,進行步驟122d,以計算全部的相關特徵類型對應至每一候選資料的特徵片段的個數。例如:計算特徵類型BCCD分別於候選資料itm1
、itm2
、itm3
、itm4
、itm5
中包含的特徵片段的個數。另外,此個數在以下的敘述中稱為相關特徵片段個數。
接著,進行步驟122e,以根據步驟122所獲得之相關特徵片段的個數,來決定每一相關特徵類型之特徵正評價和特徵負評價。例如,當候選資料itm1
和itm5
被決定為相關候選資料,且候選資料itm1
和itm5
皆只獲得負面評價時,若候選資料itm1
和itm5
共包含3個屬於特徵類型BCCD的特徵片段,則特徵類型BCCD會得到特徵負評價值3。反之,當候選資料itm1
和itm5
被決定為相關候選資料,且候選資料itm1
和itm5
皆只獲得正面評價時,則特徵類型BCCD會得到特徵正評價值3。在本發明其他實施例中,亦可考慮相關候選資料所獲得的評價個數。例如,當候選資料itm1
和itm5
被決定為相關候選資料,且候選資料itm1
和itm5
皆只獲得負面評價時,若候選資料itm1
包含1個屬於特徵類型BCCD的特徵片段,候選資料itm5
包含2個屬於特徵類型BCCD的特徵片段,且候選資料itm1
對應有兩個負面評價,則特徵類型BCCD會得到特徵負評價值1*2+2=4。
然後,進行步驟122f,以根據預設之正評價閥值和每一相關特徵類型之特徵正評價,來從相關特徵類型中,決定至少一正評價特徵類型。例如:當特徵類型BCCD之特徵正評價為5,且正評價閥值為4時,由於正評價大於閥值,因此特徵類型BCCD可被決定為正評價特徵類型。接著,進行步驟122g,以根據預設之負評價閥值和每一相關特徵類型之特徵負評價,來從相關特徵類型中,決定至少一負評價特徵類型。例如,當特徵類型EABC之特徵負評價為5,且負評價閥值為4時,由於特徵負評價大於閥值,因此特徵類型EABC可被決定為負評價特徵類型。
值得注意的是,在本實施例中,被決定為正評價特徵類型之特徵類型也可能同時被決定為負評價特徵類型。反之,被決定為負評價特徵類型之特徵類型也可能同時被決定為正評價特徵類型。另外,在本發明之其他實施例中,亦可根據歷史使用者給予相關候選資料之正評價個數和負評價個數來決定正評價閥值和負評價閥值。
然後,進行步驟122h,以根據負評價特徵類型之特徵負評價和正評價特徵類型之特徵正評價,來從相關特徵類型中,決定高度相關特徵類型,其中高度相關特徵類型為相關特徵類型中屬於正評價類型的相關特徵類型,或是相關特徵類型中屬於負評價類型的相關特徵類型。
接著,進行步驟122i,以根據每一高度相關特徵類型之特徵負評價和特徵正評價之差值,來決定每一高度相關特徵類型之預測評價。例如,當高度相關特徵類型BCCD之正評價為5時,由於其沒有特徵負評價,因此其預測評價即為5。又例如,當特徵類型AABC同時被決定為負評價特徵類型和正評價特徵類型,且其特徵負評價為5、特徵正評價值為6時,特徵類型AABC之預測評價為1,即特徵正評價減去特徵負評價。
當全部高度相關類型的總預測評價都被計算獲得後,即可進行資料喜好度預測步驟124,來決定每一候選資料之使用者喜好度。
請參照第7圖,其係繪示根據本發明一實施例之資料喜好度預測步驟124的流程示意圖。在喜好度預測步驟124中,首先進行步驟124a,以根據候選資料所對應之特徵片段來從高度相關特徵類型中,決定匹配特徵類型。例如:當某一候選資料之特徵片段為EACC、BCCA和EACC,且高度相關特徵類型為BCCA、EACC和BCCD時,此候選資料之匹配特徵類型即為BCCA和EACC。接著,進行步驟124b,以根據匹配特徵類型之預測評價和匹配特徵類型所包含的特徵片段個數來決定候選資料之使用者喜好度。例如:上述之候選資料的匹配特徵類型為BCCA和EACC,且EACC有兩個。當EACC之預測評價為5,BCCA之預測評價為4時,則此候選資料之使用者喜好度為5+5+4=14
值得注意的是,在計算使用者喜好度時並不限於僅將各匹配特徵類型之預測評價乘上對應的個數。在本發明之其他實施例中,亦可將每個匹配特徵類型對應至一個權值,再利用此權值來計算候選資料的喜好度。
請參照第8圖,其係繪示根據本發明之一實施例之狀態比較步驟122a的流程示意圖。在狀態比較步驟122a中,首先進行步驟810,以利用相似度演算法來計算欲比較之歷史使用者環境狀態的每一個歷史使用者狀態值(例如:心跳數)與目前使用者的狀態值之差異,以得到對應至每一個狀態類別的狀態差異度。若考慮到每一種狀態類別的重要性皆不同,可採用具有加權算法的相似度演算法來對不同的環境狀態定出不同的權值並進行計算。另外,值得注意的是,本實施例之狀態差異度皆以絕對值來表示,因此狀態差異度皆為正數。然後,進行步驟820,以判斷狀態差異度的總和是否小於預設之差異度閥值,並提供判斷結果。當判斷結果為是時,進行步驟830,以將此歷史使用者環境狀態所對應之評分資料決定為相關評分資料。
請參照第9圖,其係繪示根據本發明之一實施例之無用特徵類型過濾步驟900的流程示意圖。由於特徵擷取步驟112所獲得之特徵類型可能不具有代表性,因此可於特徵擷取步驟之後,進行特徵類型過濾步驟900,以將特徵類型中無用的特徵類型刪除。在特徵類型過濾步驟900中,首先進行步驟910,以計算每一特徵類型所對應之特徵片段個數。然後,進行步驟920,以根據預設之出現次數閥值來決定無用特徵類型,其中當一特徵類型所對應之特徵片段個數係大於出現次數閥值,此特徵類型便被決定為無用特徵類型。接著,進行步驟930,以從特徵類型中,將無用特徵類型刪除。
值得一提的是,本實施例係以每一特徵類型於全部候選資料中出現的次數來做為判斷此特徵類型是否為無用特徵類型,意即根據每一特徵類型之出現頻率來做為判斷的依據。因此,本實施例採用詞彙頻率和反轉文件頻率(Term Frequency Inverse Document Frequency;TFIDF)演算法來判斷無用特徵類型。
為了使線上處理階段的流程能更清楚和完整,以下再以一實施例來說明線上處理階段。
請同時參照第10圖和第11圖,第10圖係繪示根據本發明一實施例之候選資料CD1、CD2、CD3、CD4和CD5之特徵化資料的結構示意圖。第11圖係繪示候選資料CD1、CD2、CD3、CD4和CD5之特徵片段所包含的特徵類型。在本實施例中,全部的候選資料CD1、CD2、CD3、CD4和CD5之特徵化資料包含包含A、B、C、和D四種類型之基礎樣本,且切割視窗之長度為4個基礎樣本,移動距離為2個基礎樣本。如第10圖所示,候選資料CD1、CD2、CD3、CD4、CD5和CD6所對應的特徵類型為CDDA、DABC、BCCD、CDAB、CACD、EABC和CDEA。
請同時參照第12圖和第13圖。第12圖係繪示對候選資料CD1、CD2、CD3、CD4和CD5進行評分之歷史使用者的資料列表900。第13圖係繪示目前使用者之資料列表950。資料列表900包含歷史使用者Alice、Andre、Ben、Eric和Juice在不同的環境狀態SS下,對候選資料CD1、CD2、CD3、CD4和CD5的評分以及Alice、Andre、Ben、Eric和Juice之使用者狀態值(例如:心跳數)。因此每個歷史使用者環境狀態E1、E2、E3、...和E12皆會對應到一個評分資料組,而每個評分資料組則包含歷史使用者對每個候選資料CD1、CD2、CD3、CD4和CD5的評分資料。另外,目前使用者之資料列表950紀錄了目前使用者David之狀態值與David對部份候選資料的評分,其中資料列表900所包含的環境狀態類別係與環境狀態列表950相同。
在本實施例之線上處理階段中,首先比較每一個歷史使用者環境狀態與目前使用者環境狀態的相似度,以決定相關評分資料(步驟122a)。在此,以Alice之環境狀態E1與David之環境狀態的比較為例。首先,計算對應至每一環境狀態類別HB、BT、AT、NV和HY之狀態差值(步驟810),即狀態差異度,如此可得到對應至HB之狀態差異度為|79-75|=4、BT之狀態差異度為|35.9-36.7|=0.8、AT之狀態差異度為|25-25.9|=0.9、NV之狀態差異度為|54-50|=4、HY之狀態差異度為|80-80|=0。然後,判斷所有狀態差異度的總和是否小於預設之狀態差異度閥值,以將狀態差異度總和小於狀態差異度閥值之環境狀態所對應之評分資料選為相關評分資料(步驟820和830)。在本實施例中,狀態差異度閥值設為50,因此,環境狀態E1、E5、E6、E7、E8、E9、E10、E12所對應之評分資料被選為相關評分資料。
另外,本實施例亦將目前使用者之環境狀態與評分加入至歷史評分資料中,因此目前使用之評分資料亦為相關評分資料。
接著,根據相關評分資料來決定相關選資料(步驟122b)。在本實施例中,環境狀態E1、E5、E6、E7、E8、E9、E10、E12以及目前使用者環境狀態所對應之評分資料係對應至候選資料CD1、CD2、CD4和CD5,因此候選資料CD1、CD2、CD4和CD5被決定為相關候選資料。然後,將相關候選資料CD1、CD2、CD4和CD5所對應的特徵類型CDDA、DABC、BCCD、CDAB、EABC和EDEA決定為相關特徵類型(步驟122c)。接著,相關特徵類型CDDA、DABC、BCCD、CDAB、EABC和EDEA分別於相關候選資料CD1、CD2、CD4和CD5中所包含的特徵片段個數(步驟122d)。例如,相關特徵類型CDDA於相關候選資料CD1、CD2、CD4和CD5中的特徵片段個數分別為1、2、1和0;相關特徵類型BCCD於相關候選資料CD1、CD2、CD4和CD5中的特徵片段個數分別為1、1、2和1。在以下的敘述中,每個特徵類型所對應於每個候選資料中所對應的特徵片段個數將稱為相關特徵片段個數。
請參照第14圖,其係繪示正評價特徵類型、負評價特徵類型和高度相關特徵類型之示意圖。在本實施例中,當獲得每個相關特徵類型之相關特徵片段個數後,便可利用這些相關特徵片段個數來決定每一相關特徵類型之特徵正評價和特徵負評價(步驟122e)。值得注意的是,本實施例亦考慮歷史使用者給予相關候選資料之正評價個數和負評價個數來決定一相關特徵類型之特徵正評價和特徵負評價。
在決定每一相關特徵類型之特徵正評價和特徵負評價時,首先計算歷史使用者給予相關候選資料之正評價個數和負評價個數。例如:相關候選資料CD1對應有1個負面評價和1個正面評價;相關候選資料CD2對應有3個負面評價:相關候選資料CD4對應有1個負面評價和1個正面評價;相關候選資料CD5對應有2個正面評價。接著,計算每一相關特徵類型之特徵正評價和特徵負評價。在本實施例中,係以下列公式來計算相關特徵類型之特徵正評價FPtype
和特徵負評價FNtype
:
FPtype
=(Ntype-CD1
*VCD1-P
)+(Ntype-CD2
*VCD2-P
)+(Ntype-CD4
*VCD4-P
)+(Ntype-CD5
*VCD5-P
);
FNtype
=(Ntype-CD1
*VCD1-N
)+(Ntype-CD2
*VCD2-N
)+(Ntype-CD4
*VCD4-N
)+(Ntype-CD5
*VCD5-N
);
其中,Ntype-CD1
為相關特徵類型於候選資料CD1中的相關特徵片段數量;Ntype-CD2
為相關特徵類型於候選資料CD2中的相關特徵片段數量;Ntype-CD4
為相關特徵類型於候選資料CD4中的相關特徵片段數量;Ntype-CD5
為相關特徵類型於候選資料CD5中的相關特徵片段數量;VCD1-P
為相關候選資料CD1的正面評價個數;VCD2-P
為相關候選資料CD2的正面評價個數;VCD4-P
為相關候選資料CD4的正面評價個數;VCD5-P
為相關候選資料CD5的正面評價個數;VCD1-N
為相關候選資料CD1的負面評價個數;VCD2-N
為相關候選資料CD2的負面評價個數;VCD4-N
為相關候選資料CD4的負面評價個數;VCD5-N
為相關候選資料CD5的負面評價個數。
以相特徵類型CDDA為例來解釋:相關特徵類型CDDA於相關候選資料CD1、CD2、CD4和CD5中的特徵片段個數分別為1、2、1和0,由於相關候選資料CD5未包含有相關特徵類型CDDA,且相關候選資料CD2只有負面評價,因此相關特徵類型CDDA之特徵正評價FPCDDA
可表示如下:
FPCDDA
=(NCDDA-CD1
*VCD1-P
)+(NCDDA-CD4
*VCD4-P
);
其中NCDDA-CD1
為相關特徵類型CDDA於相關候選資料CD1中的個數;NCDDA-CD4
為相關特徵類型CDDA於相關候選資料CD4中的個數。由上式可得到相關特徵類型CDDA之特徵正評價為1*1+1*1=2。類似地,相關特徵類型CDDA之特徵負評價FNCDDA
可用表示如下:
FNCDDA
=(NCDDA-CD1
*VCD1-N
)+(NCDDA-CD2
*VCD2-N
)+(NCDDA-CD4
*VCD4-N
);
其中NCDDA-CD2
為相關特徵類型CDDA於相關候選資料CD2中的個數。由上式可得到相關特徵類型CDDA之特徵負評價為1*1+2*3+1*1=8。
當每一相關特徵類型之特徵正評價和特徵負評價都被計算求得後,根據正評價閥值和每一相關特徵類型之特徵正評價,來從相關特徵類型中,決定至少一正評價特徵類型(步驟122f)。同時也可根據預設之負評價閥值和每一相關特徵類型之特徵負評價,來從相關特徵類型中,決定至少一負評價特徵類型(步驟122g)。
在本實施例中,係根據歷史使用者給予相關候選資料之正評價個數和負評價個數來決定正評價閥值和負評價閥值。因此,將相關候選資料所對應的正評價個數相加即可得到正評價閥值4。將相關候選資料所對應的負評價個數相加可得到負評價閥值5。接著,便如第14圖所示,從相關特徵類型中找出特徵正評價大於或等於正評價閥值4的特徵類型,並將其決定為正評價特徵類型,以及從相關特徵類型中找出特徵負評價大於或等於負評價閥值5的特徵類型,並將其決定為負評價特徵類型。由第14圖可看出相關特徵類型EABC為正評價特徵類型,相關特徵類型CDDA和DABC為負評價特徵類型,而相關特徵類型BCCD則同時屬於正評價特徵類型和負特徵評價類型。無論是正評價特徵類型或是負特徵評價類型,其皆經過閥值的測試,即代表正(負)特徵評價類型在相關候選資料中平均至少出現過一次。因此,這些正評價特徵類型和負特徵評價類型可視為高度相關之特徵類型(步驟122h)。然後,決定每一個高度相關特徵類型之預測評價。在本實施例中,係將高度相關特徵類型之正特徵正評價和特徵負評價相減,來得到其預測評價(步驟122i)。例如,高度相關特徵類型BCCD之預測評價為4-6)=-2,而高度相關特徵類型CDDA之預測評價為0-8)=-8。
請參照第15圖,其係繪示候選資料CD1之匹配特徵類型。當決定高度相關特徵類型以後,即可根據候選資料所對應之特徵片段來從高度相關特徵類型中,決定候選資料之匹配特徵類型(步驟124a)。例如,候選資料CD1所對應的特徵類型為CDDA、DABC、BCCD和CDAB,但CDAB並不屬於高度相關特徵類型,因此候選資料CD1所對應的匹配特徵類型為CDDA、DABC和BCCD。然後,根據匹配特徵類型之預測評價和匹配特徵類型所包含的特徵片段個數來決定候選資料之使用者喜好度(步驟124b)。在本實施例中,係利用詞彙頻率和反轉文件頻率演算法來計算高度相關特徵類型之權重,以表達出每個匹配特徵類型的重要性皆不相同。每個特徵類型之TFIDF值係如第16圖所示,因此候選資料CD1之使用者喜好度為0.0352*(-8)+0.0282*(-5)+0.0222*(-2)=-0.464。
由以上說明可知本實施例之音樂推薦方法可預測每個候選資料的使用者喜好度,因此當候選資料的評分數量不夠多時,本實施例之音樂推薦方法仍可正確地推薦資料給使用者。再者,本實施例之音樂推薦方法考慮了使用者的狀態,因此在推薦的正確性上可較其他推薦技術更高。
另外根據本發明之其他實施例,本發明實施例之音樂推薦方法為一種電腦程式產品,儲存於一儲存裝置中,例如:光碟片。當電腦讀取此光碟片後,此電腦便可執行本發明實施例之音樂推薦方法。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
110...離線處理階段
112...特徵擷取步驟
112a~112h...步驟
120...線上處理階段
122...喜好類型探勘步驟
122a~122i...步驟
124...資料喜好度預測步驟
124a~124b...步驟
130...候選資料庫
140...特徵化資料庫
150...評分資料庫
160...使用者環境狀態
170...推薦資料清單
210...候選資料
220...子資料
230...子資料序列
240...基礎樣本
310...候選資料
400...資料列表
800...特徵類型過濾步驟
810~830...步驟
900~930...步驟
CD1~CD5...候選資料
E1~E12...環境狀態
為讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,上文特舉一較佳實施例,並配合所附圖式,作詳細說明如下:
第1圖,其係繪示根據本發明之一實施例之音樂推薦方法的流程示意圖。
第2圖係繪示根據本發明之一實施例之特徵擷取步驟的流程示意圖。
第3a圖和第3b圖係繪示第2圖中步驟112a至步驟112f的示意圖。
第4圖係繪示第2圖中步驟112g至步驟112h的示意圖。
第5圖係繪示根據本發明一實施例之資料列表的結構示意圖。
第6圖係繪示根據本發明一實施例之喜好類型探勘步驟的流程示意圖。
第7圖係繪示根據本發明一實施例之資料喜好度預測步驟的流程示意圖。
第8圖係繪示根據本發明之一實施例之狀態比較步驟的流程示意圖。
第9圖係繪示根據本發明之一實施例之無用特徵類型過濾步驟的流程示意圖。
第10圖係繪示根據本發明一實施例之候選資料之特徵化資料的結構示意圖。
第11圖係繪示候選資料之特徵片段所包含的特徵類型。
第12圖係繪示對候選資料進行評分之歷史使用者的資料列表。
第13圖係繪示目前使用者之資料列表。
第14圖係繪示正評價特徵類型、負評價特徵類型和高度相關特徵類型之示意圖。
第15圖係繪示候選資料之匹配特徵類型。
第16圖係繪示每個特徵類型所對應之TFIDF值。
110...離線處理階段
120...線上處理階段
130...資料庫
112...特徵擷取步驟
140...特徵化資料庫
122...喜好類型探勘步驟
150...評分資料庫
160...使用者環境狀態
124...資料喜好度預測步驟
170...推薦資料清單
Claims (13)
- 一種音樂推薦方法,包含:獲得複數個候選資料與每一該些候選資料之複數個評分資料,其中每一該些評分資料係對應至一歷史使用者環境狀態,該歷史使用者環境狀態包含至少一歷史使用者狀態值,該些歷史使用者狀態值分別屬於複數個環境狀態類別;獲得一使用者之一使用者環境狀態,其中該使用者環境狀態包含至少一使用者狀態值,該些使用者狀態值分別屬於該些環境狀態類別;進行一離線處理階段,以將該些候選資料一對一轉換為複數個特徵化資料,其中每一該些特徵化資料包含複數個特徵片段,該些特徵化資料之全部的特徵片段分別屬於複數個特徵類型,該離線處理階段包含:根據一預設單位時間來將每一該些候選資料依序切割為複數個子資料;利用一特徵擷取演算法來擷取每一該些候選資料之每一該些子資料之至少一特徵參數;根據每一該些候選資料之每一該些子資料之該至少一特徵參數,利用一第一分群演算法來將全部子資料分為複數個子資料群組,其中該些子資料群組係一對一對應至複數個參數類型;根據每一該些候選資料之每一該些子資料所對應之該子資料群組來決定每一該些候選資料之每一該些子資料所對應之該參數類型;根據一預設數量來將每一該些候選資料之該些子資料依序分為複數個子資料序列;利用一序列相似度演算法來比較全部子資料序列之相似度,並獲得每一該些候選資料之每一該些子資料序列之一序列相似度值;根據每一該些候選資料之每一該些子資料之該些子資料序列之該些序列相似度值,利用一第二分群演算法來將全部子資料序列分為複數個序列群組,其中該些序列群組係一對一對應至複數個序列類型;提供一預設切割視窗與該預設切割視窗之一預設移動距離,其中該預設切割視窗具有一視窗長度,該切割視窗之該視窗長度和該預設移動距離為該預設單位時間之長度的倍數;以及利用該切割視窗來於每一該些候選資料之該些子資料序列上依序移動該預設移動距離,以從該些候選資料之全部子資料序列中取出該些特徵片段;進行一線上處理階段,以根據該些特徵類型來決定每一該些候選資料之一使用者喜好度,其中該線上處理階段包含:進行一狀態比較步驟,以利用一預設差異度閥值來比較該使用者環境狀態與每一該些評分資料所對應之該歷史使用者環境狀態的相似度,而從該些評分資料中決定複數筆相關評分資料;根據該些相關評分資料,來從該些候選資料中決定複數個相關候選資料,其中該些相關候選資料係一對一對應至該些相關評分資料;根據該些相關候選資料來從該些特徵類型中決定複數個相關特徵類型,其中該些相關特徵類型係對應至該些特徵片段之複數個相關特徵片段,而該些相關特徵片段係構成該些相關候選資料;計算每一該些相關特徵類型於每一該些相關候選資料中所包含的特徵片段的個數,以獲得每一該些相關特徵類型之複數個相關特徵片段個數;根據每一該些相關特徵類型之該些相關特徵片段個數,來決定每一該些相關特徵類型之一特徵正評價和一特徵負評價;根據一正評價閥值和每一該些相關特徵類型之該特徵正評價,來從該些相關特徵類型中,決定至少一正評價特徵類型;根據一負評價閥值和每一該些相關特徵類型之該特徵負評價,來從該些相關特徵類型中,決定至少一負評價特徵類型;根據該至少一正評價類型和該至少一負評價類型,來從該些相關特徵類型中,決定至少一高度相關特徵類型,其中該至少一高度相關特徵類型為該些相關特徵類型中屬於該正評價類型之至少一者,或為該些相關特徵類型中屬於該負評價類型之至少一者;根據每一該些高度相關特徵類型之該特徵負評價和該特徵正評價之一評價差值,來決定每一該至少一高度相關特徵類型之一預測評價;以及根據該些候選資料之該些特徵片段和每一該至少一高度相關特徵類型之該預測評價,來決定每一該些候選資料之該使用者喜好度。
- 如申請專利範圍第1項所述之音樂推薦方法,更包含:根據該些相關評分資料來計算每一該些相關候選資料所對應之一正評價個數和一負評價個數;以及將該些相關候選資料之該些正評價個數加總,以得到該正評價閥值。
- 如申請專利範圍第1項所述之音樂推薦方法,更包含:根據該些相關評分資料來計算每一該些相關候選資料所對應之一負評價個數;以及將該些相關候選資料之該些負評價個數加總,以得到該負評價閥值。
- 如申請專利範圍第1項所述之音樂推薦方法,其中決定每一該些候選資料之該使用者喜好度之步驟包含:根據該候選資料所對應之該些特徵片段,來從該至少一高度相關特徵類型中,決定至少一匹配特徵類型,其中該至少一匹配特徵類型包含該候選資料所對應之該些特徵片段之至少一者;以及根據每一該至少一匹配特徵類型之該預測評價和每一該至少一匹配特徵類型所包含的特徵片段個數來決定該候選資料之該使用者喜好度。
- 如申請專利範圍第1項所述之音樂推薦方法,更包含:計算每一特徵類型所對應之一特徵片段個數;根據一出現次數閥值來決定該些特徵類型中之至少一無用特徵類型,其中每一該至少一無用特徵片段所對應之該特徵片段個數係大於該出現次數閥值;以及從該些特徵類型中,將該至少一無用特徵類型刪除。
- 如申請專利範圍第1項所述之音樂推薦方法,其中該特徵擷取演算法為改良型離散餘弦轉換演算法(Modified discrete cosine transform;MDCT)。
- 如申請專利範圍第1項所述之音樂推薦方法,其中該第一分群演算法為密度分群法(Density-Based Spatial Clustering of Applications with Noise;DBSCAN)、K中數分群法(K-mean clustering)、多代表點分群法(CURE)或平衡式反覆化簡和分群法(BIRCH)。
- 如申請專利範圍第1項所述之音樂推薦方法,其中該第二分群演算法為密度分群法(Density-Based Spatial Clustering of Applications with Noise;DBSCAN)、K中數叢聚法(K-mean clustering)、多代表點分群法(CURE)或平衡式反覆化簡和分群法(BIRCH)。
- 如申請專利範圍第1項所述之音樂推薦方法,其中該序列相似度演算法為基因序列比對演算法。
- 如申請專利範圍第1項所述之音樂推薦方法,其中,該些候選資料之格式為MPEG-1 Layer III(MP3)格式,而該些子資料之格式為脈衝編碼調變(Pulse-code modulation,PCM)格式。
- 如申請專利範圍第1項所述之音樂推薦方法,其中該狀態比較步驟包含:利用一相似度演算法來計算該歷史使用者環境狀態之每一該些歷史使用者狀態值與相應之該使用者狀態值之差值,以得到複數個狀態差異度,其中該些狀態差異度係一對一對應至該些差異度閥值;判斷該些狀態差異度之和是否小於該差異度閥值,以提供一判斷結果;以及當該判斷結果為是時,決定該歷史使用者環境狀態所對應之該評分資料為該相關評分資料。
- 如申請專利範圍第1項所述之音樂推薦方法,更包含將該使用者對該些候選資料之複數個新增評分加入至該些評分資料中。
- 一種電腦程式產品,經由一電腦載入該程式並執行後,該電腦可進行如申請專利範圍第1項所述之音樂推薦方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98130262A TWI410811B (zh) | 2009-09-08 | 2009-09-08 | 音樂推薦方法與其程式產品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98130262A TWI410811B (zh) | 2009-09-08 | 2009-09-08 | 音樂推薦方法與其程式產品 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201109944A TW201109944A (en) | 2011-03-16 |
TWI410811B true TWI410811B (zh) | 2013-10-01 |
Family
ID=44836119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW98130262A TWI410811B (zh) | 2009-09-08 | 2009-09-08 | 音樂推薦方法與其程式產品 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI410811B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI557669B (zh) * | 2015-06-09 | 2016-11-11 | 騰訊科技(深圳)有限公司 | 音樂資料推播方法及裝置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368986B (zh) * | 2012-03-27 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 一种信息推荐方法及信息推荐装置 |
TWI499290B (zh) * | 2012-11-30 | 2015-09-01 | Ind Tech Res Inst | 資訊推薦方法及系統 |
TWI584139B (zh) * | 2016-09-09 | 2017-05-21 | Speech recognition system and its information processing method applied to non - real - time signal source | |
TWI613606B (zh) * | 2016-12-16 | 2018-02-01 | 財團法人工業技術研究院 | 使用者喜好之預測方法 |
CN109190879B (zh) * | 2018-07-18 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 一种训练改编水平评价模型、评价改编水平的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200606681A (en) * | 2004-08-13 | 2006-02-16 | Parasoft Corp | Music recommendation system and method |
US7081579B2 (en) * | 2002-10-03 | 2006-07-25 | Polyphonic Human Media Interface, S.L. | Method and system for music recommendation |
-
2009
- 2009-09-08 TW TW98130262A patent/TWI410811B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7081579B2 (en) * | 2002-10-03 | 2006-07-25 | Polyphonic Human Media Interface, S.L. | Method and system for music recommendation |
TW200606681A (en) * | 2004-08-13 | 2006-02-16 | Parasoft Corp | Music recommendation system and method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI557669B (zh) * | 2015-06-09 | 2016-11-11 | 騰訊科技(深圳)有限公司 | 音樂資料推播方法及裝置 |
Also Published As
Publication number | Publication date |
---|---|
TW201109944A (en) | 2011-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4678546B2 (ja) | 推薦装置および方法、プログラム、並びに記録媒体 | |
TWI410811B (zh) | 音樂推薦方法與其程式產品 | |
JP4650541B2 (ja) | 推薦装置および方法、プログラム、並びに記録媒体 | |
CN101685458B (zh) | 一种基于协同过滤的推荐方法和系统 | |
US8463717B2 (en) | Method and apparatus for predicting preference rating for content, and method and apparatus for selecting sample content | |
KR101206160B1 (ko) | 사용자 선호도와 컨텐츠 내용을 고려한 컨텐츠 추천 방법 | |
CN106383836B (zh) | 将可操作属性归于描述个人身份的数据 | |
JP4179341B2 (ja) | 情報処理装置および方法、プログラム、並びに記録媒体 | |
JP2009516286A (ja) | ユーザプロファイルの生成及びフィルタ処理の方法 | |
CN110879864A (zh) | 一种基于图神经网络和注意力机制的上下文推荐方法 | |
US8224818B2 (en) | Music recommendation method and computer readable recording medium storing computer program performing the method | |
Montecchio et al. | The skipping behavior of users of music streaming services and its relation to musical structure | |
Chou et al. | Evaluating music recommendation in a real-world setting: On data splitting and evaluation metrics | |
Valcarce et al. | Language models for collaborative filtering neighbourhoods | |
KR20090046353A (ko) | 개인 맞춤형 다중 추천 학습 방법 | |
EP2035967A2 (en) | System and method for associating a category label of one user with a category label defined by another user | |
JP2007115222A (ja) | 情報処理装置および方法、並びにプログラム | |
JP2007233515A (ja) | 情報処理装置および情報処理方法、提供装置および提供方法、並びにプログラム | |
Kutlimuratov et al. | MUSIC RECOMMENDER SYSTEM | |
Wang et al. | Tag-based personalized music recommendation | |
CN108932308B (zh) | 一种基于混合推荐算法的歌曲推荐方法 | |
Girsang et al. | Song recommendation system using collaborative filtering methods | |
CN110727867A (zh) | 一种基于模糊机制的语义实体推荐方法 | |
JP2005018205A (ja) | 楽曲検索システム、楽曲検索方法、及び楽曲検索装置 | |
WO2004114155A1 (ja) | コンテンツ推薦装置、方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |