朱雨晗
(浙江省富陽中學,浙江杭州,311400)
近現代以來,隨著以通信技術和計算機技術為代表的信息技術得到快速發展的同時也帶來了海量的數據積累,如何在這些琳瑯滿目的數據中找到自己所需要的東西成為難題。在這種背景下,推薦系統能夠實現在信息過載的環境下為人們提供其感興趣的信息消費需求方案[1]。雖然推薦系統只有幾十年的發展,但已基本成為互聯網各個領域的標配,如抖音的“朋友圈”、今日頭條的“關注”,淘寶的“猜你喜歡”等。
雖然推薦系統給我們的生活帶來了諸多便利,但其仍存在個性化程度不足、推薦精度低、受干擾信息影響大等缺點。個性化推薦系統的目標用戶是單獨個體,每個人的興趣偏好不盡相同,然而許多網站的推薦系統只是泛泛而談,將有一定差別的用戶興趣屬性一視同仁,導致所給出的推薦項目針對目標太廣泛,不具有很強的個性化,對一名用戶的實際幫助程度有限。如果一個用戶把他的社交應用的賬號分享給了興趣與他不同的一位好友,或者用戶自身瀏覽了一些文章卻發現自己對其興趣不大,那么這些實際上并不是用戶興趣的東西就會成為推薦系統輸入端的干擾項,影響推薦結果的準確性。進行重要性賦權能夠降低這些干擾信息和一些用戶惡意輸入的錯誤信息的影響。新的應用,或者新的用戶往往沒有足夠的用戶數據來支持推薦。此外,大眾文化和社交環境的碎片化導致了信息的碎片化,使得不同的應用無法獲得足夠的用戶信息,對用戶的興趣屬性很難有一個精準的定位來進行準確的推薦。
針對這些缺點,本文使用了混合推薦系統,將協同過濾推薦和基于興趣標簽的推薦進行組合,試圖排除無關或惡意信息的干擾,增加推薦精確度,并解決因用戶數據不足導致推薦系統輸入較少或推薦不準確的問題。
當前社會主流的推薦方法有基于內容推薦、協同過濾推薦、基于關聯規則推薦、基于知識推薦、組合推薦等。下面將簡單的介紹本文所使用到的協同過濾推薦、基于內容的推薦和混合推薦。
協同過濾推薦一般采用最近鄰技術,利用廣大用戶信息計算用戶行為的相似性,然后將計算出的對等用戶對物品的評價進行賦權,以此預測目標用戶對特定物品的偏好。其最大的優點是對推薦對象沒有特殊要求,不需要了解其本身的性質,能夠處理難以結構化的復雜對象,如視頻和音樂,但也存在數據稀疏問題和可伸縮性問題。
基于內容的推薦是根據項目的主觀定性特征與目標用戶資料的匹配程度進行推薦的。其優點在于:不需要其他的用戶數據,沒有協同過濾那樣的數據稀疏和冷啟動問題,能夠為興趣冷門的用戶提供良好的推薦并解釋推薦原因。缺點是需要有物品特征與和用戶偏好的結構化描述,且用戶的興趣本身會隨著時間改變。
這個時候就可以考慮組合推薦算法,常見的組合方法有加權、變換、混合、層疊、特征擴充等,其通常是用多種推薦方法各得出一個推薦預測結果,然后在通過以上某種形式進行組合,這樣便可以彌補各種推薦算法的缺點,以便得到更將精確的推薦結果。
在基于標簽的推薦算法中,標簽是維系用戶和物品之間的紐帶,也是提供用戶興趣的重要數據源[2],根據什么要求怎么設置標簽、如何存儲標簽是基于標簽的推薦算法研究的重要課題。
標簽的設立方法主要有:提取待推薦物品的關鍵字和目錄,提取出現頻率高的字詞,或者直接使用用戶輸入的興趣標簽。LOFTER就是一個標簽系統的典型代表,它支持用戶自主輸入和創立標簽,并根據用戶關注的標簽推送文章。這種用戶自主輸入的標簽能夠較主觀的體現出一篇文章的特性,但是有的時候也不是能準確的描述物品內容屬性的關鍵詞,所以此時便需要我們人工編輯一些特定的標簽供用戶選擇[3]。當將文章用出現頻率高的字詞作為標簽來表示時,需要先刪除所謂的停用詞,如英文中的介詞和冠詞“a”“in”和中文里的“的”“和”等,這些字詞幾乎會出現在所有文檔中且頻率極高且無用,因此需要刪除。文章本身自帶的目錄能夠為設立標簽提供參考,但畢竟有的文章目錄標題因不能很好的概括出文章本身內容,所以不能直接作為標簽使用。此外,標簽本身還具有噪聲、歧義、冗余等問題,給基于標簽的推薦技術研究帶來了挑戰。好在用戶興趣的動態性、漸變性和穩定性這三個特性能夠反映相對穩定的用戶需求[4],能夠有效的避免這些問題。
目前,有許多學者在關于興趣標簽的推薦算法上開展了許多相關的研究工作。下面將介紹三種具有較大意義的標簽推薦算法,這些算法或優化了傳統的推薦方案或建立了新的模型,有效提高了推薦系統的準確率和召回率。
2.3.1 基于張量分解的個性化標簽推薦算法
學者李貴、王爽、李征宇、韓子揚、孫平、孫煥良,為有效取得用戶、物品、標簽三者間潛在的關系,引入三維張量模型。在基于標簽元數據構建初始張量的基礎上應用高階奇異值分解減少標簽的噪音。核心思想為:首先構造一個表達了用戶、標簽、物品三者所以關聯數據的初始張量A,其次對其進行n-模矩陣展開,形成三個新的矩陣。然后在新的矩陣中分別進行SVD計算用以構建新的核心張量,計算近似張量A。此算法有效的提高了推薦系統的效率和準確率[5]。
2.3.2 基于三部圖張量分解標簽推薦算法
學者廖志芳、李玲等在此論文中基于三部圖作為標簽系統的表示方法,雖然簡化了元素間關系的表達,但卻丟失了系統間的部分聯系,且無法有效處理標簽存在的稀疏值和缺失值數據的這些問題,提出了基于三部圖的三維張量分解推薦算法(TTD算法),通過不斷迭代最終取得最優值。此算法優化了缺失值部分,解決了信息丟失問題,效率較高,且顯著改善了推薦預測結果的準確率,但算法復雜度不夠[6]。
2.3.3 基于用戶興趣-標簽的混合推薦方法研究
學者李興華、陳冬林等將興趣與標簽相結合。通過定義計算用戶興趣權重值、用戶興趣相似度、用戶候選興趣集、推薦興趣-標簽集、并從中選取項目推薦集滿足某值域的項目推薦集作為推薦預測結果進行輸出。此過程可以有效的提高推薦結果的準確率,但由于所涉及的興趣比較少所以不夠完善,算法復雜度也有待改進[7]。
本章節大致介紹了協同過濾、基于內容的推薦和混合推薦這幾種常用的算法,提出了在如何設立標簽上的想法,并總結了一些前輩們在基于標簽的推薦算法上開展的相關研究工作以及成果和優點,接下來本文將詳細闡述本文的思路和算法。
一些非文本的內容,比如視頻與圖片,由于本身就缺乏相應的描述文本,所以將興趣標簽作為一種直觀且重要的介紹素材,而用戶本身行為的多樣性決定了用戶的興趣難以被定義,所以可通過用戶感興趣的標簽來確立用戶的偏好并推薦。
針對用戶興趣標簽的不準確定位,本文提出該算法:通過用戶對各種標簽的瀏覽時間、次數、以及用戶自己輸入的自我認同的標簽來為用戶確立個性化的興趣標簽,并以此為基礎實行協同過濾與基于內容的混合推薦,具體過程如下。
確立物品的明確標簽。這個步驟通常采用提取目錄和介紹內容的方法,或者直接使用發表作者自行打上的tag。對于作者自行打上的標簽,第一個標簽基本代表作者對自身或者其作品的第一印象,可賦稍高的權值。以小說為例, 建立矩陣E表示一個作品的標簽w表示該標簽的權重,用向量表示一個作品用這些標簽表示的量,則={w·1,1,1,0,0,0,0,…};={0,0,0,1,0,1,0,…} (w 即為該標簽的權重)
對目標用戶的行為數據進行采集。以小說為例,記錄用戶對有各種標簽的小說的短期瀏覽時長或次數,長期的瀏覽或瀏覽次數,以及直接或間接給出的對該小說的評價。根據標簽的詳細程度建立用戶興趣標簽體系。越詳細的標簽賦予越高的權重。建立集合A、B、C,分別表示用戶瀏覽某一標簽的短期次數,長期次數, Di= (Di+ ti?Ai? Wi)?p 評論,標簽在該小說中本身的權重w,因此建立數集D用來量化與儲存用戶對某一標簽的興趣程度。
t的值與目標用戶評論高低有關,若用戶評論較少則選取小說總體評價。P為時間衰減系數,用戶行為距當前時間越近的影響越大,因此從用戶標簽上可以反應該用戶最近的興趣點。
將短期瀏覽次數多且給予高評分的設定為用戶暫時性的興趣標簽,將長期瀏覽次數多的設定為用戶穩定興趣標簽,分別表示為、,向量、表示了一個用戶的短期興趣和長期興趣。用傳統的余弦相似度計算與目標用戶偏好最為相同的4、5個用戶,取他們的興趣標簽集的交集,再與向量計算相似度,按照相似度排序進行推薦。
針對用戶興趣標簽的不準確定位,以及標簽本身存在的噪音和冗余問題,本文提出了機遇用戶興趣標簽的混合推薦算法。通過用戶對各種標簽的瀏覽時間、次數、以及用戶自己輸入的自我認同的標簽來為用戶確立個性化的興趣標簽,以提高對用戶興趣標簽的定位的準確性,并以此為基礎,通過短期興趣向量和長期興趣向量表現出用戶興趣的動態性、穩定性,來避免和解決標簽的噪音問題。具體步驟如下:
第一步,獲取網站所提供的商品信息與用戶信息,實現用戶和物品的標簽的設立。
第二步,輸入用戶的短期興趣標簽G,長期興趣標簽H,利用余弦相似度公式進行計算。

用上述公式來計算目標用戶與數據庫中其余用戶的相似度,得到4到5名與目標用戶興趣偏好最相同的用戶。
詳細闡述了為解決用戶興趣標簽的定位不準確性和標簽本身存在的噪音和冗余問題而提出的算法思想和主要步驟。在興趣標簽中加入時間衰減系數,通過能反映用戶動態性和穩定性的興趣向量有效的避免了對目標用戶偏好的定位的不準確,降低了標簽噪音和冗余問題所來帶的影響。長期興趣標簽和短期興趣標簽的設立能反映用戶長期穩定的愛好和短期的關注點,推薦系統可以用根據這兩個不同的偏好類型進行不同的推薦。先尋找與目標用戶偏好最相似的三至五個用戶并將這些用戶組成用戶集提取共同興趣標簽,能夠去掉興趣標簽的冗余,并且顯著提高推薦系統工作效率。本算法利用余弦相似和多維向量距離計算公式計算相似度并排序輸出結果,雖然算法復雜性不夠但適當解決了所提出的問題,且效率較高,提升了推薦系統的推薦精度和多樣化程度。
個性化的推薦系統在各個領域中得到了廣泛的應用,緩解了用戶在各種信息中無從下手找不到自己滿意物品的難題,給用戶帶來了很大的便利,但也存在推薦精度不足、個性化程度低、受干擾信息影響大等缺點。本文對基于用戶興趣標簽的混合推薦進行研究和提出算法,解決了推薦系統對用戶興趣標簽的不準確定位。
本文第一部分說明了研究背景,敘述了一些個性化推薦系統目前存在的缺點以及造成其推薦不準確的成因。
本文第二部分介紹了協同過濾、基于內容的推薦和混合推薦這幾個常用的算法,并提出了在標簽的設立上的一些想法,總結了前輩們在基于標簽的推薦算法上所開展的相關研究工作以及取得的成果。
本文第三部分詳細闡述所提出的思路和算法。先從興趣標簽的設立方面介紹該算法的準備步驟,包括確立物品的明確標簽、對目標用戶進行行為數據采集、設立用戶的短期和長期興趣標簽,再從用戶興趣標簽本身所存在的問題出發,詳細說明了要解決該問題的具體算法步驟,最后對此算法的優缺點進行了總結,即對提高用戶興趣標簽設立的精度,增加推薦系統推薦精度和多樣化程度,提高推薦系統的效率有較好的作用。
下一步作者會從降低算法復雜度進行研究,以更好的提高該算法的效率,也會對如何實現大數據平臺下用戶興趣標簽推薦系統的實現展開進一步的研究。