210 likes | 271 Views
音樂推薦系統. 指導教授:張玉盈 組員: B952040021 鄭宇哲 B963040025 賴威儒 B963040033 徐嘉隆 B963040041 施博修. 為什麼需要音樂推薦?. 我們身處網際網路發達的年代,網路上有各式各樣的音樂資源讓我們去搜尋和利用。 但是除了 yahoo 的 keyword-based searching 以及書籍推薦的 Amazon 。推薦音樂的系統相當少。 所以我們希望做出一個能根據使用者喜好來推薦音樂的系統。. 專題目的.
E N D
音樂推薦系統 指導教授:張玉盈 組員:B952040021 鄭宇哲 B963040025 賴威儒 B963040033 徐嘉隆 B963040041 施博修
為什麼需要音樂推薦? • 我們身處網際網路發達的年代,網路上有各式各樣的音樂資源讓我們去搜尋和利用。 • 但是除了yahoo的keyword-based searching以及書籍推薦的Amazon。推薦音樂的系統相當少。 • 所以我們希望做出一個能根據使用者喜好來推薦音樂的系統。
專題目的 • 實作針對使用者喜好來做音樂推薦系統,依據使用者曾經存取過的音樂項目為基礎,推薦給使用者可能喜歡的音樂類型,幫助使用者找尋他喜歡的音樂項目。並且提供線上播放音樂的服務。
研究方法-音樂推薦方法 • 目前在音樂推薦系統中比較常被應用的推薦方法主要有2種 • Content-Based(CB) method與Collaborative(COL) method • 在本專題中採取的是合作式的推薦方法,除了可以針對使用者個人做推薦外,也有讓其他使用者幫忙推薦的機制在。
研究方法-使用者分群 • 利用歷史紀錄(useraccess history)來分析使用者的興趣(interest)和行為(behavior),將有類似興趣和行為的使用者分為同一群 • 同群使用者之間會互相影響彼此得推薦結果 • 此階段目的在於求出分群所需的資訊 - interest table - behavior table - I-B(Interest-Behavior) matrix - I-B(Interest-Behavior) vector
概念圖 • 先利用access history的資訊建立Interest table 跟 Behavior table,再求出Interest跟Behavior 的support,最後建構 I-B(Interest-Behavior) matrix Interest table I-B matrix I-B vector Access history Behavior table
Support • Support是將使用者的興趣以及行為量化,便於之後I-B matrix的建立 • Support值大的表示使用者比較喜歡這個音樂類型,Support值小的表示使用者比較不喜歡這個類型, • 我們會過濾掉Support值較小者,因為他們不重要,留著會影響使用者的特性 count: 這個音樂類型在這幾筆存取記錄中被聽的次數 Tc: 最新的一筆交易 FT:這個音樂類型在這幾筆存取記錄中
I-B matrix& I-Bvector I-B vector = (0000001,000000,11010,0010,000,10,1)
研究方法-分群方法 • 目標:將行為類似的使用者分到同一群 • 分群依據:使用者各自的Interest-Behavior vector 如何分群?
研究方法-K-means • 描述:是一種分群方法。將n個點分成k個族群。每個點皆屬於最靠近的質心的那一族群。 • 輸入資料: • {x1, x2, …, xn}-n個空間座標的點 • k值-要分成多少族群 • d值-該空間的維度
研究方法-K-means • 以2維空間上的7個點分成3群作例子:
研究方法-COL method推薦實作 • 此推薦方法會對使用者的access history資料做分析,根據使用者的存取記錄去推算出使用者對各種類型的音樂感興趣的程度。並且依據與該使用者同一群的其他人的喜好來幫忙推薦音樂的類型。
A:被推薦者 B,C:與被推薦者同一群的使用者 Reference table of A – Preference table of A User history of A Preference table of A Difference tableof A User history of B Preference table of B 將權值大於零者 依照比例來推薦 算數平均 Reference table of A User history of C Preference table of C Recommendation table of A
建立preference table • Weight 的計算 • 以取五筆transactions為例 + + + + X X X X = X
COL method Reference table of UA
COL method Difference table of UA 推薦結果表(推薦20首音樂為例)
開發工具 • 使用語言- Java • 整合開發環境- netBeans、Eclipse • 資料庫管理工具- phpmyadmin • 伺服器管理工具- wamp