本發(fā)明屬于電子讀物技術(shù)領(lǐng)域,尤其涉及一種手機(jī)端電子讀物基于閱讀時間的偏好統(tǒng)計方法,并提出個性化推送方案。
背景技術(shù):
互聯(lián)網(wǎng)是人們進(jìn)行資源共享活動最有效的工具。然而在信息爆炸的今天,困擾人們的不再是有沒有自己所想獲取的信息,而是如何高校、精確地找到所需要的信息。個性化的信息推薦技術(shù)作為信息過濾的手段是解決當(dāng)前信息過載問題的有效方法。
當(dāng)前,學(xué)術(shù)界就用戶的行為興趣來實現(xiàn)個性化已經(jīng)有所研究。邢玲等人提出了根據(jù)用戶的瀏覽內(nèi)容和瀏覽時間建立用戶的興趣模型的表示和更新機(jī)制,從而根據(jù)興趣模型給用戶進(jìn)行推送;蒲彬等人基于用戶的社交信號來對用戶實現(xiàn)個性化新聞推薦。專利申請?zhí)枮椋篊N104111820A,發(fā)明名稱為一種為電子讀物添加閱讀時間的方法和裝置的中國發(fā)明專利,介紹了如何根據(jù)用戶的行為來統(tǒng)計用戶的實際閱讀時間和平均閱讀時間。準(zhǔn)確地建立用戶閱讀偏好模型對于提高用戶的信息獲取效率具有極其重要的意義。
技術(shù)實現(xiàn)要素:
為了克服已有推送方式的用戶信息獲取效率較低的不足,本發(fā)明提供了一種有效提高用戶信息獲取效率的基于閱讀時間的用戶閱讀偏好統(tǒng)計的個性化推送方法。本發(fā)明主要根據(jù)用戶對文章的閱讀時間和文本信息來判斷用戶的偏好程度,從而向用戶推薦其所感興趣的文章。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種基于閱讀時間的用戶閱讀偏好統(tǒng)計的個性化推送方法,包括以下步驟:
步驟1:建立電子讀物平均閱讀時間的計算標(biāo)準(zhǔn);
步驟2:對用戶的閱讀行為進(jìn)行判斷;
步驟3:用戶平均閱讀速度的建立;
步驟4:用戶單一文章閱讀時間的計算;
步驟5:根據(jù)用戶實際閱讀時間和平均閱讀時間判斷閱讀完整度;
步驟6:根據(jù)用戶閱讀完整度建立用戶偏好程度;
步驟7:對用戶偏好向量和文章內(nèi)容特征向量進(jìn)行匹配相似運(yùn)算,得出用戶對未閱讀文章的興趣評價值,可將興趣評價值較高的一系列文章推薦給用戶。
進(jìn)一步,所述個性化推送方法還包括以下步驟:
步驟8:根據(jù)不同用戶的閱讀偏好建立用戶間的相似模型,將相似度較高的用戶所閱讀的部分文章進(jìn)行相互推送。
再進(jìn)一步,所述個性化推送方法還包括以下步驟:
步驟9:將熱門新聞、短期的爆炸性新聞推薦給用戶。
更進(jìn)一步,所述步驟1中,電子讀物平均閱讀時間計算方法包括如下步驟:
1.1)統(tǒng)計電子讀物中不同語言分別對應(yīng)的字?jǐn)?shù)以及其它媒體文件的總播放時長;
1.2)給定不同語言的平均閱讀速度;
1.3)依據(jù)不同語言的字?jǐn)?shù)和相應(yīng)的平均閱讀速度計算出此語言的閱讀時間;
1.4)對各種不同語言的閱讀時間和媒體文件的播放時長計算出該文章的總閱讀時間。
所述步驟3中,用戶平均閱讀速度的建立過程如下:首先給定一個初始狀態(tài),即先給定一個平均閱讀速度保存至其平均速度列表中,該平均速度列表中保存有不同語言的平均速度初始狀態(tài)值,并記錄用戶不同語言的實際閱讀速度,用實際閱讀速度對其初始平均閱讀速度進(jìn)行實時矯正訓(xùn)練,并保存在平均速度列表中作為用戶的平均閱讀速度。
所述步驟4中,用戶單一文章閱讀時間的計算:電子讀物不同語言對應(yīng)的字?jǐn)?shù)和用戶不同語言的平均閱讀速度的比值即為用戶不同語言的閱讀時間,對不同語言的閱讀時間和媒體文件的播放時長求和即為用戶單一文章的平均閱讀時間;
T=T1+T2+…+TN+Ta+Tb=M1/V1+M2/V2+…+
MN/VN+Ta+Tb (1)
其中,T為用戶單一文章的平均閱讀時間;T1,T2…TN分別為用戶對不同語言的閱讀時間;Ta,Tb分別表示媒體文件總的播放時長和圖片的閱讀時間;M1,M2…MN分別表示不同語言的總字?jǐn)?shù);V1,V2…VN分別表示用戶對不同語言的平均閱讀速度;
所述步驟5中,用戶單一文章閱讀完整度的判定:用戶完成點擊、拖動到底、退出三個步驟并且其閱讀時間滿足相應(yīng)的閾值時表明是完整閱讀,否則被認(rèn)為是未完整閱讀;根據(jù)步驟4中用戶單一文章閱讀時間的計算,再結(jié)合用戶對該文章的實際閱讀時間確定閱讀完整度,定義單一文章的實際閱讀時間和平均閱讀時間的比值為閱讀完整度:即
α=a/b (2)
其中,α為閱讀完整度,a表示用戶單一文章的實際閱讀時間,b表示平均閱讀時間。
所述步驟6中,根據(jù)步驟5中所得閱讀完整度,建立用戶偏好度,用戶偏好度度量值與閱讀完整度密切相關(guān),建立如下算法:
其中,αmin0表示閱讀時間比設(shè)定的閾值,當(dāng)閱讀時間小于αmin0時用戶的偏好度為0;αmin1和αmax1之間是用戶偏好度為1的情況下設(shè)定的閱讀時間比上下閾值,即可認(rèn)為用戶對此文章十分感興趣;在αmin0和αmin1之間其偏好度滿足如上的函數(shù)關(guān)系;當(dāng)閱讀時間比大于αmax1時說明用戶的閱讀時間過長。
所述步驟7中,根據(jù)閱讀完整度建立的用戶偏好度和關(guān)鍵字等來建立用戶偏好模型,個性化地向用戶推薦感興趣但又從未瀏覽過的文章。對于一篇新的文章,可先根據(jù)其內(nèi)容轉(zhuǎn)換為內(nèi)容特征向量,再與用戶偏好模型進(jìn)行匹配運(yùn)算得出相似度,由相似度得到用戶對未閱讀文章的興趣評價值;從而將興趣評價值較高的一系列文章推薦給用戶。
所述步驟7的過程如下:
用戶在進(jìn)行閱讀文章的過程中會根據(jù)文章的內(nèi)容和步驟6中所述的偏好度轉(zhuǎn)化為用戶的偏好向量,用如下公式來計算:
其中,ω(t,d)表示關(guān)鍵詞t在文本d中出現(xiàn)的權(quán)重;tf(t,d)表示關(guān)鍵詞t在文本d中出現(xiàn)的頻率;N為樣本出現(xiàn)的總次數(shù);Nt表示所有樣本中t出現(xiàn)的文本數(shù);在步驟6中引入的用戶偏好度后,文章的用戶偏好向量表示為:
I={(t1,ω1),(t2,ω2),…,(tm,ωm),f(α)} (5)
對此偏好向量進(jìn)行擴(kuò)展,其不僅包含文章的內(nèi)容信息,還攜帶著用戶的閱讀行為,用戶的興趣模型表征形式如下:
其中,n為興趣向量的個數(shù),m為每個興趣向量所包含的維數(shù)。
再引入偏好矩陣I來刻畫任意兩個偏好向量的相似度,并找出最大相似度Smax,運(yùn)用夾角余弦法來計算相似度,公式如下:
其中,Vs,Vr為偏好矩陣I中兩個興趣向量;sim(Vs,Vr)為Vs,Vr的相似度;ωri和ωsj分別為Vs,Vr中特征詞tri、tsj所對應(yīng)的權(quán)值;
對于新的文章,其內(nèi)容特征向量表示為:
Vnew=((t1,ω1),(t2,ω2),…,(tm,ωm)) (8)
最后通過如下評價得出用戶對未閱讀文章的興趣評價值為:
其中,Vi表示用戶興趣模型中第i個興趣向量對應(yīng)的內(nèi)容特征向量;f(αi)為興趣向量Vi對應(yīng)的偏好度;sim(Vi,Vnew)為未閱讀文章與興趣向量Vi之間的相似度;
由此得出用戶對未閱讀文章的興趣評價值,從而將興趣評價值較高的一系列文章推薦給用戶。
在所述步驟8中,通過計算用戶間的相似度,將與其相似度較高的用戶所閱讀的系列文章推薦給對方,從而擴(kuò)展并發(fā)掘用戶的潛在興趣,過程如下:
其中a和b分別表示兩個不同的用戶,wk表示某一文本關(guān)鍵詞k對應(yīng)的權(quán)重,Vak,Vbk分別表示用戶a和b對該文本的興趣向量;
針對用戶b所閱讀的文本k建立用戶a與b之間的相似度,如果相似度高,就把用戶b所閱讀過的,并且用戶a對其相似度較高的文章推薦給用戶a。
本發(fā)明的有益效果主要表現(xiàn)在:基于閱讀時間的偏好統(tǒng)計方法通過閱讀時間、閱讀完整度、偏好程度等計算,能夠得出用戶對未閱讀文章的感興趣程度,從而將其最感興趣的文章推薦給用戶,或者實現(xiàn)興趣相似度較高的用戶間相互推送,真正地實現(xiàn)個性化推薦。
附圖說明
圖1是基于閱讀時間的用戶閱讀偏好統(tǒng)計方法實現(xiàn)流程圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。
參照圖1,一種基于閱讀時間的用戶閱讀偏好統(tǒng)計的個性化推送方法,包括以下步驟:
步驟1:建立電子讀物平均閱讀時間的計算標(biāo)準(zhǔn);
步驟2:對用戶的閱讀行為進(jìn)行判斷;
步驟3:用戶平均閱讀速度的建立;
步驟4:用戶單一文章閱讀時間的計算;
步驟5:根據(jù)用戶實際閱讀時間和平均閱讀時間判斷閱讀完整度;
步驟6:根據(jù)用戶閱讀完整度建立用戶偏好程度;
步驟7:對用戶偏好向量和文章內(nèi)容特征向量進(jìn)行匹配相似運(yùn)算,得出用戶對未閱讀文章的興趣評價值,可將興趣評價值較高的一系列文章推薦給用戶。
步驟8:根據(jù)不同用戶的閱讀偏好建立用戶間的相似模型,將相似度較高的用戶所閱讀的部分文章進(jìn)行相互推送。
步驟9:將熱門新聞、短期的爆炸性新聞推薦給用戶。
進(jìn)一步,所述步驟1中,電子讀物平均閱讀時間計算方法包括如下步驟:
1.1)統(tǒng)計電子讀物中不同語言分別對應(yīng)的字?jǐn)?shù)以及其它媒體文件的總播放時長;
1.2)給定不同語言的平均閱讀速度;
1.3)依據(jù)不同語言的字?jǐn)?shù)和相應(yīng)的平均閱讀速度計算出此語言的閱讀時間;
1.4)對各種不同語言的閱讀時間和媒體文件的播放時長計算出該文章的總閱讀時間。
其中,上述方法中的媒體文件具體可包括視頻文件、音頻文件等。
再進(jìn)一步,所述步驟2中,文章的閱讀行為分為點擊、拖動和退出三大類,一個完整的閱讀上述三種閱讀行為缺一不可。
所述步驟3中,用戶平均閱讀速度的建立過程如下:首先給定一個初始狀態(tài),即先給定一個平均閱讀速度保存至其平均速度列表中,該平均速度列表中保存有不同語言的平均速度初始狀態(tài)值,并記錄用戶不同語言的實際閱讀速度,用實際閱讀速度對其初始平均閱讀速度進(jìn)行實時矯正訓(xùn)練,并保存在平均速度列表中作為用戶的平均閱讀速度。
所述步驟4中,用戶單一文章閱讀時間的計算:電子讀物不同語言對應(yīng)的字?jǐn)?shù)和用戶不同語言的平均閱讀速度的比值即為用戶不同語言的閱讀時間,對不同語言的閱讀時間和媒體文件的播放時長求和即為用戶單一文章的平均閱讀時間。
T=T1+T2+…+TN+Ta+Tb=M1/V1+M2/V2+…+
MN/VN+Ta+Tb (1)
其中,T為用戶單一文章的平均閱讀時間;T1,T2…TN分別為用戶對不同語言的閱讀時間;Ta,Tb分別表示媒體文件總的播放時長和圖片的閱讀時間;M1,M2…MN分別表示不同語言的總字?jǐn)?shù);V1,V2…VN分別表示用戶對不同語言的平均閱讀速度。
所述步驟5中,用戶單一文章閱讀完整度的判定:用戶完成點擊、拖動到底、退出三個步驟并且其閱讀時間滿足相應(yīng)的閾值時表明是完整閱讀,否則被認(rèn)為是未完整閱讀。
為了更精確地量化閱讀的完整性,引入完整度這一概念。根據(jù)步驟4中用戶單一文章閱讀時間的計算,再結(jié)合用戶對該文章的實際閱讀時間確定閱讀完整度,定義單一文章的實際閱讀時間和平均閱讀時間的比值為閱讀完整度:即
α=a/b (2)
其中,α為閱讀完整度,a表示用戶單一文章的實際閱讀時間,b表示平均閱讀時間;
所述步驟6中,根據(jù)步驟5中所得閱讀完整度,建立用戶偏好度,用戶偏好度度量值與閱讀完整度密切相關(guān),建立如下算法:
其中,αmin0表示閱讀時間比設(shè)定的閾值,當(dāng)閱讀時間小于αmin0時用戶的偏好度為0;αmin1和αmax1之間是用戶偏好度為1的情況下設(shè)定的閱讀時間比上下閾值,即可認(rèn)為用戶對此文章十分感興趣;在αmin0和αmin1之間其偏好度滿足如上的函數(shù)關(guān)系;當(dāng)閱讀時間比大于αmax1時說明用戶的閱讀時間過長,此行為已無法準(zhǔn)確的量化用戶的偏好度。
該用戶偏好度量化方法中當(dāng)閱讀時間比大于αmax1時,可能用戶面臨其它情況沒有處于閱讀狀態(tài)而導(dǎo)致閱讀時間過長,從而此時的閱讀時間并沒有實際意義。
所述步驟7中,根據(jù)閱讀完整度建立的用戶偏好度和關(guān)鍵字等來建立用戶偏好模型,個性化地向用戶推薦感興趣但又從未瀏覽過的文章。對于一篇新的文章,可先根據(jù)其內(nèi)容轉(zhuǎn)換為內(nèi)容特征向量,再與用戶偏好模型進(jìn)行匹配運(yùn)算得出相似度,由相似度得到用戶對未閱讀文章的興趣評價值;從而將興趣評價值較高的一系列文章推薦給用戶。
過程如下:
用戶在進(jìn)行閱讀文章的過程中會根據(jù)文章的內(nèi)容和步驟6中所述的偏好度轉(zhuǎn)化為用戶的偏好向量。本發(fā)明用如下公式來計算:
其中,ω(t,d)表示關(guān)鍵詞t在文本d中出現(xiàn)的權(quán)重;tf(t,d)表示關(guān)鍵詞t在文本d中出現(xiàn)的頻率;N為樣本出現(xiàn)的總次數(shù);Nt表示所有樣本中t出現(xiàn)的文本數(shù)。在步驟6中引入的用戶偏好度后,文章的用戶偏好向量可表示為:
I={(t1,ω1),(t2,ω2),…,(tm,ωm),f(α)} (5)
對此偏好向量進(jìn)行擴(kuò)展,其不僅包含文章的內(nèi)容信息,還攜帶著用戶的閱讀行為。用戶的興趣模型表征形式如下:
其中,n為興趣向量的個數(shù),m為每個興趣向量所包含的維數(shù)。
再引入偏好矩陣I來刻畫任意兩個偏好向量的相似度,并找出最大相似度Smax,運(yùn)用夾角余弦法來計算相似度,公式如下:
其中,Vs,Vr為偏好矩陣I中兩個興趣向量;sim(Vs,Vr)為Vs,Vr的相似度;ωri和ωsj分別為Vs,Vr中特征詞tri、tsj所對應(yīng)的權(quán)值。
對于新的文章,其內(nèi)容特征向量可表示為:
Vnew=((t1,ω1),(t2,ω2),…,(tm,ωm)) (8)
最后通過如下評價得出用戶對未閱讀文章的興趣評價值為:
其中,Vi表示用戶興趣模型中第i個興趣向量對應(yīng)的內(nèi)容特征向量;f(αi)為興趣向量Vi對應(yīng)的偏好度;sim(Vi,Vnew)為未閱讀文章與興趣向量Vi之間的相似度。
由此得出用戶對未閱讀文章的興趣評價值,從而將興趣評價值較高的一系列文章推薦給用戶。
所述步驟7中,所建立的根據(jù)閱讀時間來建立用戶的興趣評價值,并將評價值較高的文章推薦給用戶,此方法的弊端是推薦的文章范圍很狹窄,只能推薦用戶過去感興趣的文章,而不能發(fā)掘用戶的潛在興趣。故在步驟8中,為了發(fā)掘用戶潛在的興趣,我們可以通過計算用戶間的相似度(我們認(rèn)為相似度較高的用戶間有相同的興趣愛好),將與其相似度較高的的用戶所閱讀的系列文章推薦給對方,從而擴(kuò)展并發(fā)掘用戶的潛在興趣。
具體過程如下:
其中a和b分別表示兩個不同的用戶,wk表示某一文本關(guān)鍵詞k對應(yīng)的權(quán)重,Vak,Vbk分別表示用戶a和b對該文本的興趣向量。
針對用戶b所閱讀的文本k建立用戶a與b之間的相似度,如果相似度高,就可以把用戶b所閱讀過的,并且用戶a對其相似度較高的文章推薦給用戶a。從而實現(xiàn)用戶之間的相互推送,發(fā)掘具有相似偏好用戶間的閱讀興趣來拓展用戶的閱讀興趣。
以上8個步驟都是基于用戶的閱讀特征(歷史行為和興趣信息等)所建立的個性化推薦技術(shù),但是對于一些時效性很強(qiáng)的文體(如新聞),只通過用戶的歷史行為興趣進(jìn)行推薦往往會使用戶遺漏很多有用信息。故在步驟9中,我們不僅要考慮用戶的個人興趣,還要兼顧公眾興趣,從而發(fā)掘用戶的潛在興趣。將大眾興趣、爆炸性的信息每天給用戶推薦一定數(shù)量的文章。
綜上所述,本發(fā)明提出的基于用戶閱讀時間的閱讀偏好統(tǒng)計的個性化推送方法。通過對用戶平均閱讀時間和實際閱讀時間的計算,得出用戶的閱讀完整度,從而根據(jù)閱讀完整度轉(zhuǎn)化為用戶的偏好程度,由用戶的偏好程度和未閱讀文本的特征向量進(jìn)行匹配相似運(yùn)算,從而將興趣評價值較高的文章推薦給用戶。在此基礎(chǔ)上還給用戶推薦與其具有相似興趣的用戶所閱讀的文章、熱門文章等,從而避免僅僅根據(jù)用戶的歷史行為進(jìn)行推送所帶來的興趣狹隘等問題。本發(fā)明可以有效地為用戶提供其感興趣的一類文章,從而減小篩選信息所帶來的浪費。