一種基于深度神經(jīng)網(wǎng)絡(luò)的在線內(nèi)容推薦方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及信息處理技術(shù)領(lǐng)域,具體設(shè)及一種基于深度神經(jīng)網(wǎng)絡(luò)的在線內(nèi)容推薦 方法。
【背景技術(shù)】
[0002] 伴隨在線內(nèi)容的不斷豐富和移動互聯(lián)網(wǎng)的快速發(fā)展,選擇合適的內(nèi)容推送給感 興趣的用戶,成為在線內(nèi)容服務(wù)商的重要需求之一。面對的主要挑戰(zhàn)有:1、用戶特征和 內(nèi)容特征的有效表示;2、個性化推薦的消息推送的精準(zhǔn)性要求(無效的消息推送push notification過多會打擾用戶、影響用戶體驗);3、推薦算法的復(fù)雜度適中,可W基于現(xiàn)有 系統(tǒng)進(jìn)行大規(guī)模數(shù)據(jù)的運算和執(zhí)行。
[0003] 現(xiàn)有技術(shù)基于傳統(tǒng)推薦算法缺乏對用戶和內(nèi)容的深度挖掘,在大規(guī)模線上場景的 實驗中推薦點擊率較低,W消息推送化shNotification方式推薦,因不能有效命中用戶興 趣,導(dǎo)致推送給大部分的消息被忽略并給用戶帶來被打擾的體驗,不能有效實現(xiàn)精準(zhǔn)化個 性化化sh推薦。例如,對于推薦系統(tǒng)中的新物品、新用戶都存在冷啟動問題。針對運樣的 情況,目前大部分推薦系統(tǒng)會考慮使用混合模型和基于內(nèi)容分析的推薦策略。傳統(tǒng)基于內(nèi) 容的推薦算法主要用到物品和用戶Tag等描述信息,運些信息通常是由人工添加,不同的 人對同一事物有不同的看法,也有不同的描述方式,運樣多少會造成數(shù)據(jù)的差別,從而導(dǎo)致 推薦效果的波動和較低的推薦CTR點擊率。
【發(fā)明內(nèi)容】
[0004] 針對現(xiàn)有技術(shù)的不足,本發(fā)明旨在提供一種基于深度神經(jīng)網(wǎng)絡(luò)的在線內(nèi)容推薦方 法,通過采用深度學(xué)習(xí)模型,基于深度神經(jīng)網(wǎng)絡(luò)對用戶和在線內(nèi)容進(jìn)行深度分析,并通過有 效建立用戶、內(nèi)容的向量化表示,在通用集群上高效實現(xiàn)面向用戶的個性化化sh推薦方 法,使推薦命中率方面獲得明顯提升。
[0005] 為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
[0006] 一種基于深度神經(jīng)網(wǎng)絡(luò)的在線內(nèi)容推薦方法,包括如下步驟:
[0007] S1構(gòu)建關(guān)于待推送內(nèi)容的內(nèi)容語料重要詞匯庫并對其提取關(guān)鍵詞,然后將該內(nèi)容 語料重要詞匯庫作為詞向量工具的輸入進(jìn)行詞向量模型訓(xùn)練,獲得詞向量模型;
[000引S2利用步驟S1中得到的詞向量模型構(gòu)建待推送內(nèi)容向量;
[0009] S3基于步驟S1和步驟S2得到的詞向量模型和待推送內(nèi)容向量,定義用戶點擊已 推送的消息為正行為,用戶未點擊已推送的消息為負(fù)行為,建立每個用戶的正行為向量模 型和負(fù)行為向量模型;
[0010] S4分別計算每個用戶的正行為向量模型和負(fù)行為向量模型與步驟S2得到的待推 送內(nèi)容向量之間的距離,并據(jù)此確定推送目標(biāo)用戶。
[0011] 需要說明的是,步驟S1中,通過對內(nèi)容文本信息進(jìn)行過濾、合并、分詞、去停用詞 W構(gòu)建內(nèi)容語料重要詞匯庫。
[0012] 需要說明的是,步驟SI中,義用word2vec作為詞向量工具,并義用服-CBOW模型 建立內(nèi)容語料重要詞匯庫的詞向量。
[0013] 需要說明的是,步驟S1中,所訓(xùn)練的內(nèi)容語料重要詞匯庫中包含在線內(nèi)容提供商 的文本信息,每條信息包括內(nèi)容本身W及描述內(nèi)容的文字。
[0014] 需要說明的是,步驟S1中,詞向量維度設(shè)定為200維,文本窗口設(shè)定為5。
[0015] 需要說明的是,步驟S2中,利用詞向量在向量空間具有的加法運算性質(zhì)構(gòu)建待推 送內(nèi)容向量,具體按照下式進(jìn)行構(gòu)建:
[0016]
[0017] 其中,Vv表示待推送內(nèi)容V的向量;η為待推送內(nèi)容中抽取的關(guān)鍵詞個數(shù);一為歸 // 一化系數(shù),歸一化系數(shù)的作用在于防止不同內(nèi)容提取的關(guān)鍵詞個數(shù)不同而產(chǎn)生差異;Κ,為 內(nèi)容V的第i個關(guān)鍵詞通過詞向量工具表示的向量。
[0018] 需要說明的是,步驟S3中,在構(gòu)建用戶的正行為向量模型和負(fù)行為向量模式時, 作為負(fù)行為向量構(gòu)建基礎(chǔ)的負(fù)行為數(shù)據(jù)的數(shù)量為作為正行為向量構(gòu)建基礎(chǔ)的正行為數(shù)據(jù) 的1. 7倍。
[0019] 進(jìn)一步需要說明的是,步驟S3中,利用詞向量所具有的加法運算性質(zhì)并結(jié)合 TF-IDF方法構(gòu)建用戶的正行為向量和負(fù)行為向量,具體如下:
[0020] 正行為向量化按照下式進(jìn)行:
[0021]
[002引其中表示用戶U的正行為向量,為用戶U點擊的內(nèi)容個數(shù)、η+為內(nèi)容V+的 關(guān)鍵詞個數(shù)、--1-,-,--L-均為歸一化系數(shù),目的是為了防止不同用戶點擊內(nèi)容個數(shù)不同,Wmη 及不同內(nèi)容提取的關(guān)鍵詞個數(shù)不同而產(chǎn)生差異;α,+為內(nèi)容r中第i個關(guān)鍵詞的TF-IDF權(quán)重;F%為用戶點擊的內(nèi)容r中的第i個關(guān)鍵詞通過詞向量工具表示的向量;系數(shù) N為對應(yīng)的內(nèi)容r在系統(tǒng)中的點擊量,該系數(shù)用于降低熱口內(nèi)容對結(jié)果的 logil + Λ-) 偏頗影響;
[0023] 負(fù)行為向量化按照下式進(jìn)行:
[0024]
[00巧]其中表示用戶U的負(fù)行為向量,m為用戶U沒有點擊的內(nèi)容的個數(shù),η為推送 內(nèi)容中沒有點擊的內(nèi)容V的關(guān)鍵詞個數(shù)、為歸一化系數(shù),W應(yīng)對不同用戶沒有點 r!iU 擊內(nèi)容個數(shù)不同,W及不同內(nèi)容提取的關(guān)鍵詞個數(shù)不同而產(chǎn)生差異;A為內(nèi)容V中第i個 關(guān)鍵詞的TF-IDF權(quán)重;為內(nèi)容V的第i個關(guān)鍵詞通過詞向量工具表示的向量;系數(shù)hN為對應(yīng)的內(nèi)容r在系統(tǒng)中的點擊量,該系數(shù)用于降低熱口內(nèi)容的偏頗影 k)g(j十Λ j 響。
[0026] 需要說明的是,步驟S4中的具體方法如下:
[0027] 4. 1)對于每個用戶,分別計算其正行為向量和負(fù)行為向量與待推送內(nèi)容向量之間 余弦距離X和y,并計算兩者之間的比值怎=7、其中-1《X《1,-1《y《1 ;
[0028] 4. 2)初始化備選用戶群為包含全體用戶,并對備選用戶群中的用戶作如下處理:
[0029] 對于0《x《l且0《y《l的用戶,保留P> 1的用戶;
[0030] 對于-1《X《0且0《y《1的用戶,從備選用戶群中剔除;
[0031] 對于-1且-l《y《0的用戶,保留P《1的用戶;
[003引對于0《X《1且-1《y《0的用戶,全部保留在備選用戶群中;
[0033] 其中,X= 0表示待推送內(nèi)容向量與正行為向量沒有相關(guān)性,y= 0表示待推送內(nèi) 容向量與負(fù)行為向量沒有相關(guān)性,因此在實際情況下不存在X= 0且y= 0的情況;
[0034] 4.3)計算經(jīng)過步驟4. 2)篩選所得的備選用戶群中每個用戶的(x,y)與直線 ^ =?*之間的距離,并按降序排序,選取前Μ名作推送目標(biāo)用戶,其中P為選取闊值。
[0035] 進(jìn)一步需要說明的是,所述余弦距離X和y按照下式進(jìn)行計算:
[003引其中,V,為步驟S2中所得的待推送內(nèi)容向量,f;:.-表示用戶U的正行為向量,r_ 表示用戶U的負(fù)行為向量;當(dāng)X越接近1,表示用戶的正行為向量和待推送內(nèi)容向量越相 關(guān),反映了用戶越可能對該推送內(nèi)容感興趣,當(dāng)X越接近-1,表示用戶正行為向量和待推送 內(nèi)容向量越不相關(guān),反映了用戶越可能對該推送內(nèi)容不感興趣;當(dāng)y越接近1時,表示用戶 的負(fù)行為向量和該待推送向量越相關(guān),但反映了用戶越有可能對該內(nèi)容不感興趣,而當(dāng)y 越接近-1時,表示用戶的負(fù)行為向量和該待推送向量越不相關(guān),但反映了用戶越可能對該 內(nèi)容感興趣;根據(jù)X,y取值的實際意義,在推送一個內(nèi)容時,最理想的目標(biāo)用戶是X= 1,y =-1。
[0040] 進(jìn)一步需要說明的是,步驟S8中,P的取值為1。
[0041] 本發(fā)明的有益效果在于:在傳統(tǒng)基于內(nèi)容推薦的基礎(chǔ)上,引入深度神經(jīng)網(wǎng)絡(luò)值eep 化uralNetwork,DNN)詞向量工具,根據(jù)待推送內(nèi)容文本信息和用戶的歷史行為,將內(nèi)容和 用戶映射在高維向量空間,通過計算向量間的余弦距離,篩選過濾對推薦內(nèi)容感興趣的用 戶群?;谠诖笠?guī)模移動內(nèi)容服務(wù)系統(tǒng)中的實驗證明,本文所提出的基于D順?biāo)惴ǖ耐扑] 策略,相比隨機(jī)方法、ContentKNNW及ItemCF等算法,在點擊率方面平均分別獲得106%、 41 %和57%的相對提升,在覆蓋率方面一定程度上避免了推送活躍用戶的偏頗問題,從整 體上得到了較好的推薦效果。
【附圖說明】
[0042] 圖1為本發(fā)明的實現(xiàn)流程示意圖;