李 津
(中南林業(yè)科技大學(xué)涉外學(xué)院,信息與工程學(xué)院,湖南長(zhǎng)沙)
知識(shí)圖譜本質(zhì)上是一種具備強(qiáng)大語(yǔ)義處理能力和開(kāi)放組織能力的大型知識(shí)庫(kù),具體又包含了獲取數(shù)據(jù)、知識(shí)提取、知識(shí)融合、知識(shí)處理等環(huán)節(jié),在語(yǔ)義搜索、智能問(wèn)答、精準(zhǔn)推送等方面表現(xiàn)出良好的應(yīng)用效果。將知識(shí)圖譜應(yīng)用到個(gè)性化音樂(lè)推進(jìn)系統(tǒng)中,在語(yǔ)義網(wǎng)絡(luò)較為完整、知識(shí)足夠精準(zhǔn)的前提下,可以保證推送內(nèi)容的個(gè)性化和精準(zhǔn)化,從而大幅度提高系統(tǒng)用戶(hù)的使用體驗(yàn)。
知識(shí)圖譜是實(shí)現(xiàn)知識(shí)推理和知識(shí)檢索的必要前提。將知識(shí)圖譜應(yīng)用到個(gè)性化音樂(lè)推薦系統(tǒng)的設(shè)計(jì)中,通過(guò)構(gòu)建知識(shí)圖譜,以用戶(hù)的日常行為數(shù)據(jù)作為處理對(duì)象,通過(guò)數(shù)據(jù)處理推測(cè)出用戶(hù)的音樂(lè)收聽(tīng)喜好;然后再通過(guò)知識(shí)檢索從數(shù)據(jù)庫(kù)中挑選出符合用戶(hù)喜好的歌曲并推送給用戶(hù),達(dá)到了個(gè)性化推薦的效果。本文設(shè)計(jì)的個(gè)性化音樂(lè)推薦系統(tǒng)由用戶(hù)端、管理端、服務(wù)端以及數(shù)據(jù)庫(kù)等組成,整體架構(gòu)如圖1 所示。
圖1 個(gè)性化音樂(lè)推薦系統(tǒng)架構(gòu)圖
該系統(tǒng)的前端使用Vue.js 漸進(jìn)式框架開(kāi)發(fā),其中的Element 組件庫(kù)包含了大量的設(shè)計(jì)資源,可用于搭建Web 網(wǎng)站,降低了系統(tǒng)的開(kāi)發(fā)難度。后臺(tái)開(kāi)發(fā)使用Spring Boot 框架,支持Spring 應(yīng)用的開(kāi)發(fā);選用MySQL 數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)[1]。用戶(hù)可以通過(guò)用戶(hù)端獲取音樂(lè)界面,界面內(nèi)容主要包含3 個(gè)模塊,即個(gè)人中心模塊、網(wǎng)站主頁(yè)模塊和分類(lèi)展示模塊。管理員通過(guò)管理端獲取服務(wù)器內(nèi)容管理界面,界面內(nèi)容包括用戶(hù)管理、收藏管理、歌單管理等內(nèi)容。服務(wù)端可以接收和處理用戶(hù)請(qǐng)求,并根據(jù)請(qǐng)求分析結(jié)果向用戶(hù)推送圖片、音頻、視頻等相應(yīng)內(nèi)容。
本系統(tǒng)的所用數(shù)據(jù)信息均存儲(chǔ)在MySQL 關(guān)系數(shù)據(jù)庫(kù)中。為了提高系統(tǒng)檢索、調(diào)用數(shù)據(jù)的效率,對(duì)數(shù)據(jù)庫(kù)采用了分區(qū)分類(lèi)設(shè)計(jì),共設(shè)計(jì)了7 種類(lèi)型的表,實(shí)現(xiàn)對(duì)數(shù)據(jù)的分類(lèi)存儲(chǔ)[2]。7 種數(shù)據(jù)表分別是用戶(hù)表、收藏表、歌曲表、歌手表、歌單表、收聽(tīng)表和歌單內(nèi)容表。這里以歌單表為例,表名為playlist,用于存儲(chǔ)歌單數(shù)據(jù),字段組成見(jiàn)表1。
表1 歌單表字段組成
用戶(hù)在使用個(gè)性化音樂(lè)推薦系統(tǒng)時(shí),首先要完成注冊(cè),成為合法用戶(hù)后才能使用系統(tǒng)提供的所有功能。注冊(cè)操作在用戶(hù)端上完成,用戶(hù)需要在注冊(cè)界面輸入賬號(hào)、密碼、手機(jī)號(hào)碼等信息并提交系統(tǒng)判斷輸入信息是否合法。如果有特殊字符等非法信息,則提示用戶(hù)重新輸入信息;如果輸入信息合法,則繼續(xù)執(zhí)行一個(gè)判斷程序“賬號(hào)是否被占用?”如果判斷結(jié)果為“是”,說(shuō)明系統(tǒng)數(shù)據(jù)庫(kù)中已經(jīng)有該賬號(hào)的注冊(cè)記錄,則提示用戶(hù)賬號(hào)已存在,需要更換賬號(hào);如果判斷結(jié)果為“否”,將該注冊(cè)信息寫(xiě)入系統(tǒng)并保存到數(shù)據(jù)庫(kù)中,并提示注冊(cè)成功。用戶(hù)注冊(cè)流程如圖2 所示。
圖2 系統(tǒng)注冊(cè)功能流程圖
為了杜絕非法訪(fǎng)問(wèn)、保證系統(tǒng)安全,本系統(tǒng)使用了訪(fǎng)問(wèn)認(rèn)證技術(shù)。所有訪(fǎng)問(wèn)個(gè)性化音樂(lè)推薦系統(tǒng)的用戶(hù),必須要進(jìn)行登錄認(rèn)證,認(rèn)證通過(guò)后才允許進(jìn)入系統(tǒng)[3]。用戶(hù)在用戶(hù)端進(jìn)行登錄操作,輸入對(duì)應(yīng)的賬號(hào)和密碼,以及驗(yàn)證碼后點(diǎn)擊“登錄”按鈕。此時(shí)系統(tǒng)后臺(tái)依次進(jìn)行以下驗(yàn)證:
(1) 賬號(hào)是否已經(jīng)注冊(cè)?如果判斷結(jié)果為“否”,提示賬號(hào)未注冊(cè),要求用戶(hù)重新輸入賬號(hào)信息;如果判斷結(jié)果為“是”,執(zhí)行下一步。
(2) 賬號(hào)與密碼是否匹配?如果判斷結(jié)果為“否”,提示錯(cuò)誤信息;如果判斷結(jié)果為“是”,執(zhí)行下一步。
(3) 驗(yàn)證碼是否正確?如果判斷結(jié)果為“否”,提示錯(cuò)誤信息并要求用戶(hù)重新輸入;如果判斷結(jié)果為“是”,成功登錄系統(tǒng)。系統(tǒng)登錄流程如圖3 所示。
圖3 系統(tǒng)登錄功能流程圖
本系統(tǒng)的網(wǎng)站主頁(yè)用于展示推薦信息。系統(tǒng)會(huì)根據(jù)每一名用戶(hù)的瀏覽記錄、檢索記錄等行為信息,利用知識(shí)圖譜技術(shù)處理數(shù)據(jù)信息并得到推薦結(jié)果,將推薦音樂(lè)存儲(chǔ)到數(shù)據(jù)庫(kù)中[4]。當(dāng)用戶(hù)登錄個(gè)性化音樂(lè)推薦系統(tǒng)并訪(fǎng)問(wèn)推薦頁(yè)面后,系統(tǒng)后臺(tái)發(fā)出“獲取推薦列表”的請(qǐng)求。系統(tǒng)接收該請(qǐng)求后開(kāi)始調(diào)用用戶(hù)相關(guān)信息,并讀取推進(jìn)數(shù)據(jù)。將推薦數(shù)據(jù)顯示在推薦列表中,呈現(xiàn)給用戶(hù)。隨后,根據(jù)用戶(hù)的行為(如歌曲完播率、檢索關(guān)鍵詞等)存儲(chǔ)行為數(shù)據(jù),數(shù)據(jù)庫(kù)更新行為數(shù)據(jù)后重新進(jìn)行計(jì)算,并根據(jù)計(jì)算結(jié)果優(yōu)化推薦音樂(lè)。這樣一來(lái),隨著用戶(hù)使用時(shí)間的增長(zhǎng),系統(tǒng)的推薦結(jié)果將會(huì)更加準(zhǔn)確,實(shí)現(xiàn)了個(gè)性化音樂(lè)推薦系統(tǒng)的自適應(yīng)優(yōu)化。在網(wǎng)站主頁(yè)設(shè)計(jì)中,還加入了音樂(lè)搜索功能,支持用戶(hù)輸入關(guān)鍵字(如歌曲名稱(chēng)、歌手名字等)檢索相關(guān)的歌曲或歌單。
為了讓用戶(hù)能夠按照自己的喜好選擇歌曲或歌單,本系統(tǒng)設(shè)計(jì)了分類(lèi)展示模塊,具體包含歌手分類(lèi)和歌單分類(lèi)2 部分。前者是以演唱者作為分類(lèi)依據(jù),將歌曲呈現(xiàn)給用戶(hù);后者則是根據(jù)歌單的標(biāo)簽作為分類(lèi)依據(jù),將歌曲呈現(xiàn)給用戶(hù)。用戶(hù)可以在分類(lèi)展示頁(yè)面選擇歌手分類(lèi)或歌單分類(lèi),然后跳轉(zhuǎn)至子界面,在新的界面上再選擇歌手的某個(gè)歌曲,或者歌單內(nèi)的某個(gè)歌曲進(jìn)行收聽(tīng)[5]。
管理員通過(guò)管理端實(shí)現(xiàn)系統(tǒng)的管理、維護(hù)。本系統(tǒng)的管理端設(shè)計(jì)有5 項(xiàng)基本功能,各項(xiàng)功能具體設(shè)計(jì)如下:
(1) 用戶(hù)管理。管理員通過(guò)啟用管理員權(quán)限,可以完成用戶(hù)的添加、刪除,以及編輯和查詢(xún)用戶(hù)數(shù)據(jù)(如手機(jī)號(hào)碼、電子郵箱、個(gè)人介紹)等操作。
(2) 收藏管理。管理員還可以通過(guò)用戶(hù)管理功能跳轉(zhuǎn)至次級(jí)功能界面,如查看用戶(hù)的收藏歌曲、刪除用戶(hù)收藏的歌曲等。
(3) 歌手管理。該部分功能包括添加歌手、刪除歌手以及查詢(xún)和編輯歌手?jǐn)?shù)據(jù)(如歌手的地區(qū)、履歷、出生日期等)。
(4) 歌曲管理。管理員從歌手管理功能跳轉(zhuǎn)至次級(jí)功能界面,執(zhí)行添加、刪除歌曲,以及查詢(xún)和編輯歌曲數(shù)據(jù)(如歌曲名、所屬專(zhuān)輯、歌詞內(nèi)容)等操作。
(5) 歌單管理。管理員可以添加、刪除歌單,以及查詢(xún)和編輯歌單數(shù)據(jù)。
根據(jù)上述設(shè)計(jì)方案,初步完成了個(gè)性化音樂(lè)推薦系統(tǒng)的設(shè)計(jì),并將其部署在Tomcat 應(yīng)用服務(wù)器上進(jìn)行試運(yùn)行,測(cè)試系統(tǒng)各項(xiàng)功能的實(shí)現(xiàn)情況。在用戶(hù)端進(jìn)行了個(gè)人中心模塊功能測(cè)試、網(wǎng)站主頁(yè)功能測(cè)試和分類(lèi)展示功能測(cè)試。這里以網(wǎng)站主頁(yè)功能測(cè)試為例,測(cè)試結(jié)果見(jiàn)表2。
表2 網(wǎng)站主頁(yè)功能實(shí)現(xiàn)情況
由表2 可知,分別測(cè)試了音樂(lè)推薦、歌曲搜索、歌曲收聽(tīng)、歌曲收藏4 項(xiàng)功能,完成相應(yīng)的操作后顯示測(cè)試結(jié)果與預(yù)期結(jié)果一致,說(shuō)明本系統(tǒng)的網(wǎng)頁(yè)主站功能可以順利實(shí)現(xiàn)。
在管理端進(jìn)行了用戶(hù)管理、收藏管理、歌手管理、歌曲管理、歌單管理5 項(xiàng)功能的測(cè)試。完成相應(yīng)的操作后測(cè)試結(jié)果與預(yù)期結(jié)果一致,說(shuō)明本系統(tǒng)管理端的各項(xiàng)功能可以順利實(shí)現(xiàn)。
響應(yīng)時(shí)間不僅是反映系統(tǒng)綜合性能的一項(xiàng)重要指標(biāo),而且還直接影響了用戶(hù)的使用體驗(yàn)。為了驗(yàn)證個(gè)性化音樂(lè)推薦系統(tǒng)的響應(yīng)時(shí)間,本文分別選取系統(tǒng)的登錄賬戶(hù)、已收藏音樂(lè)列表、個(gè)性化音樂(lè)推薦、刪除指定音樂(lè)4 個(gè)接口進(jìn)行了測(cè)試。每個(gè)接口的測(cè)試次數(shù)為50 次,記錄50 次的響應(yīng)時(shí)間后求平均值。計(jì)算結(jié)果越小,說(shuō)明系統(tǒng)的響應(yīng)速度越快。系統(tǒng)設(shè)計(jì)的響應(yīng)時(shí)間標(biāo)準(zhǔn)為1 s,實(shí)測(cè)數(shù)值在1 s 內(nèi)說(shuō)明合格。4 個(gè)接口的響應(yīng)時(shí)間測(cè)試結(jié)果見(jiàn)表3。
表3 系統(tǒng)響應(yīng)時(shí)間測(cè)試結(jié)果
如表3 所示,4 個(gè)接口的平均響應(yīng)時(shí)間分別為0.272 s、0.301 s、0.718 s、0.418 s,均低于標(biāo)準(zhǔn)值1 s,說(shuō)明系統(tǒng)響應(yīng)速度較快,用戶(hù)使用體驗(yàn)良好。
音樂(lè)推薦系統(tǒng)的個(gè)性化推薦功能,能夠根據(jù)用戶(hù)的音樂(lè)喜好為其精準(zhǔn)推薦歌曲。在音樂(lè)推薦系統(tǒng)設(shè)計(jì)中,常用的個(gè)性化推薦方法有相似度計(jì)算方法、基于深度學(xué)習(xí)的推薦算法以及基于知識(shí)圖譜的推薦方法。其中,知識(shí)圖譜作為一種大型的語(yǔ)義網(wǎng)絡(luò),憑借強(qiáng)大的語(yǔ)義處理能力在語(yǔ)義搜索、智能推薦等方面表現(xiàn)出顯著優(yōu)勢(shì)。將知識(shí)圖譜技術(shù)應(yīng)用到個(gè)性化音樂(lè)推薦系統(tǒng)的設(shè)計(jì)中,除了向用戶(hù)推薦符合個(gè)性需求的歌曲和歌單外,還能根據(jù)用戶(hù)使用系統(tǒng)時(shí)的操作性外,不斷優(yōu)化推薦內(nèi)容,實(shí)現(xiàn)了自動(dòng)迭代升級(jí),真正做到了“聽(tīng)的越多、推薦的越準(zhǔn)”,較好地滿(mǎn)足了用戶(hù)的使用需求。