嚴(yán)海兵,周 剛,朱振剛,楊 萌
(1.蘇州科技大學(xué) 圖書館,江蘇 蘇州 215009;2.蘇州科技大學(xué) 機械工程學(xué)院,江蘇 蘇州 215009)
學(xué)術(shù)論文是對某個科學(xué)領(lǐng)域中的學(xué)術(shù)問題進行研究后表述科學(xué)研究成果的文章,其主體是期刊論文,是數(shù)字圖書館中交流最為活躍的部分。
國內(nèi)外主流的數(shù)字圖書館檢索平臺收錄的論文數(shù)量都達到了千萬篇的級別,雖然可以在檢索詞層次幫助用戶獲得信息資源,但其智能化程度較低,無法在知識層面描述用戶的興趣和需求,導(dǎo)致檢索到的信息資源空間較大,用戶從這些海量信息中獲取符合自己興趣和需求的信息困難,信息過載。因此,數(shù)字圖書館迫切需要針對目標(biāo)用戶興趣和需求的推送服務(wù),即智慧化的“信息找人”推送服務(wù)。孕育于數(shù)據(jù)挖掘、知識發(fā)現(xiàn)、機器學(xué)習(xí)技術(shù)的推薦系統(tǒng)研究應(yīng)運而生,優(yōu)秀的學(xué)術(shù)論文推薦系統(tǒng)是數(shù)字圖書館智慧化的迫切需求。
推薦系統(tǒng)是一種智能個性化信息服務(wù)系統(tǒng),可借助用戶對資源的興趣和需求建立用戶信息模型、資源信息模型,并根據(jù)模型通過一定的智能推薦策略實現(xiàn)有針對性的個性化資源信息定制[1]。當(dāng)前應(yīng)用于學(xué)術(shù)論文推薦的主流推薦系統(tǒng)算法基本都是基于內(nèi)容推薦算法[2]和協(xié)同過濾推薦算法[3]的改進算法。例如:王嫣然等人的一種基于內(nèi)容過濾的科技文獻推薦算法,針對科技文獻建立文本特征向量模型,利用TF-IDF 計算特征關(guān)鍵詞對文獻的權(quán)重,然后使用余弦值計算用戶已訪問的文獻與未訪問文獻的特征向量的相似度,為用戶進行文獻資源推薦[4],這是經(jīng)典的基于內(nèi)容推薦的研究算法。馬鑫等的融合類目偏好和數(shù)據(jù)場聚類的協(xié)同過濾推薦算法研究,該算法引入類目偏好和語義偏好的概念,利用類目偏好比對高維用戶—項目矩陣進行降維,然后利用協(xié)同過濾進行文獻推薦[5]。宋楚平提出使用中圖法圖書二級分類類目代替圖書本身,優(yōu)化了用戶對圖書的評價矩陣,再用協(xié)同過濾推薦圖書[6]。Noor Ifa da 等提出利用用戶借閱記錄和圖書的關(guān)鍵詞發(fā)生概率建立概率關(guān)鍵詞模型,再用協(xié)同過濾推薦圖書[7]。這些都是在經(jīng)典的協(xié)同過濾推薦算法的基礎(chǔ)上提出的改進推薦算法。
主流推薦算法優(yōu)點很多,但應(yīng)用于主體是學(xué)術(shù)論文的數(shù)字圖書館存在一定的不足。基于內(nèi)容推薦算法中用戶模型完全基于歷史記錄中的用戶興趣和需求,難以發(fā)現(xiàn)用戶潛在興趣和需求。推薦的結(jié)果會聚集在用戶過去的項目類別上,如果用戶不主動關(guān)注其他類型的項目,算法很難為用戶推薦多樣性的結(jié)果,也無法挖掘用戶深層次的潛在興趣和需求[8]。隨著時間的推移,用戶的研究課題發(fā)生變化,對學(xué)術(shù)論文的興趣和需求也將發(fā)生改變??茖W(xué)技術(shù)日新月異,新技術(shù)、新發(fā)現(xiàn)、新思想層出不窮,基于歷史訪問記錄的內(nèi)容推薦不符合學(xué)術(shù)論文推薦的基本要求。
協(xié)同過濾推薦算法能夠滿足用戶對學(xué)術(shù)論文新動態(tài)推薦的需求,能有效地提高檢索效果和效率,因此,應(yīng)用于論文推薦系統(tǒng)的研究較多[9]。在應(yīng)用中,它存在的不足是冷啟動和稀疏矩陣問題:冷啟動問題,因推薦系統(tǒng)是基于其他用戶的行為而做出的,在系統(tǒng)運行初期,由于缺乏足夠的數(shù)據(jù)記錄,無法完成協(xié)同推薦;稀疏矩陣問題,是由于系統(tǒng)中用戶數(shù)量和項目量的巨大,用戶對項目的評價有限,據(jù)此建立的相似性矩陣稀疏,也無法完成協(xié)同推薦。數(shù)字圖書館學(xué)術(shù)論文更新量大,錄入的期刊論文月更新量就達萬篇,這些都會觸發(fā)協(xié)同過濾推薦算法的冷啟動和稀疏矩陣問題。為此多數(shù)學(xué)者都是圍繞彌補冷啟動和稀疏矩陣問題,提出其改進算法。
面對學(xué)術(shù)論文數(shù)量達到千萬篇級別的數(shù)字圖書館,推薦算法的效率是非常重要的?;趦?nèi)容推薦算法需要用文本特征向量模型表示每篇論文,且兩兩比較相似度,依據(jù)相似度推薦;協(xié)同過濾推薦算法冷啟動和稀疏矩陣問題影響推薦算法的效率和效果,改進算法提升了效率,但其計算模式?jīng)]有發(fā)生根本的變化,需要建立用戶對論文的評價矩陣,計算用戶與用戶的相似度,依據(jù)相似用戶推薦。該文研究通過預(yù)估用戶訪問學(xué)術(shù)論文的概率大小進行系統(tǒng)推薦,嘗試從另一個角度解決學(xué)術(shù)論文推薦的算法。
貝葉斯理論是一種用事件發(fā)生的先驗概率和已知信息概率推測后驗概率的數(shù)理統(tǒng)計方法,被廣泛應(yīng)用于機器學(xué)習(xí)的自動分類中。樸素貝葉斯算法是在貝葉斯理論的基礎(chǔ)上進行了簡化,即假定給定樣本的分類屬性之間相互條件獨立[10]。雖然這個簡化方式在一定程度上降低了貝葉斯分類算法的分類效果,但是在實際的應(yīng)用場景中,極大地簡化了貝葉斯算法的復(fù)雜性,并且實際應(yīng)用效果較好[11]。
樸素貝葉斯算法先計算各個樣本的先驗概率,再利用貝葉斯公式計算各樣本屬于每一個類的后驗概率[12]。算法高效穩(wěn)定,多應(yīng)用于數(shù)據(jù)分類分析,如楊曉花等利用貝葉斯算法對圖書館書目進行自動分類[13];丁童心等利用樸素貝葉斯算法進行人臉表情分類識別[14]。
樸素貝葉斯算法應(yīng)用于文本分類時,算法的目的是為樣本文本內(nèi)容匹配最有可能的類別,就是分配文本到后驗概率最大的類別中[15]。文中的研究是改進樸素貝葉斯算法應(yīng)用到學(xué)術(shù)論文推薦中,推薦算法的目的是尋找學(xué)術(shù)論文內(nèi)容匹配最符合目標(biāo)用戶的興趣和需求,即推薦論文中后驗概率最大的,最符合目標(biāo)用戶的,這里不同的目標(biāo)用戶可以類比作不同的類別容器。
樸素貝葉斯算法在學(xué)術(shù)論文推薦的工作過程可描述如下:
(1)為每個論文樣本F 建立一個n 維特征向量F={w1,w2,…,wn},利用特征向量描述論文內(nèi)容;
(2)計算后驗概率P(U|F),U 為目標(biāo)用戶的需求論文集合;
(3)重復(fù)(1)(2),尋找P(U|F)值最大的前m 個樣本論文{F1,F(xiàn)2,…,F(xiàn)m}推薦給目標(biāo)用戶U。
根據(jù)貝葉斯公式
設(shè)其中P(F)、P(U)對于所有論文、用戶均相同,因此只需要尋求計算P(F|U)最大值即可。用戶需求論文集合的先驗概率,這里假設(shè)特征屬性w1,w2,…,wn不存在依賴關(guān)系,其取值是相互獨立的,其中P(wi|U)可以依據(jù)用戶學(xué)術(shù)畫像特征詞計算得到。
用戶畫像是指根據(jù)用戶的屬性、用戶的偏好、用戶的行為等信息抽象出來的標(biāo)簽化用戶模型[16]。用戶畫像有多重維度的刻畫,不同的應(yīng)用場景有不同的標(biāo)簽化模型[17]。在數(shù)字圖書館推薦系統(tǒng)中,用戶畫像側(cè)重于學(xué)術(shù)畫像,可依據(jù)用戶學(xué)術(shù)研究所屬學(xué)科領(lǐng)域以及用戶在系統(tǒng)中歷史訪問行為的數(shù)據(jù)中挖掘而來。數(shù)據(jù)分為顯式的和隱式的,顯式的是用戶根據(jù)調(diào)查主動填寫的,如用戶的學(xué)科專業(yè)、所屬領(lǐng)域、研究方向等;隱式的是根據(jù)用戶訪問行為和用戶顯示信息關(guān)聯(lián)挖掘的,如用戶曾下載過的學(xué)術(shù)論文、用戶曾發(fā)表的學(xué)術(shù)論文等。
在該文研究中,筆者力圖用描述用戶興趣和需求的特征詞來標(biāo)簽化用戶學(xué)術(shù)畫像,這些特征詞來源如圖1 所示。顯式中學(xué)術(shù)前沿的特征詞可以來自大數(shù)據(jù)的分析、行業(yè)領(lǐng)域?qū)<彝扑]的研究熱點詞;研究方向的特征詞來源于用戶的自定義。隱式中的特征詞都來自不同的學(xué)術(shù)論文,瀏覽過的、下載過的、發(fā)表過的,這些表示用戶專注的學(xué)術(shù)研究。提取的特征詞來源于描述論文內(nèi)容特征的標(biāo)題、文摘和關(guān)鍵詞,通過分詞技術(shù)抽取能描述論文內(nèi)容有實際意義的詞,去除不能表述實際意義的虛詞、通用詞等停用詞[18]。
圖1 用戶學(xué)術(shù)畫像
特征詞來源于用戶感興趣的學(xué)術(shù)論文,多篇論文中都涉及相同特征詞,說明用戶對這一領(lǐng)域關(guān)注多,興趣度大。用戶的興趣點、研究方向隨著時間會有所變化,因此提取特征詞的論文發(fā)表的時間應(yīng)該在加權(quán)中有所反映。一篇學(xué)術(shù)論文可用字典數(shù)據(jù)結(jié)構(gòu)表示為F={‘w1’:k,‘w2’:k,…,‘wn’:k},鍵w 為特征詞,值k 為其權(quán)重,k 的初始值為decay(x)。其中Nowyear()為當(dāng)前年,Pubyear()為論文發(fā)表年,論文發(fā)表時間x=Nowyear()-Pubyear(),decay(x)是自定義的時間衰減函數(shù)。
經(jīng)過多次測試比較,最終自定義的時間衰減函數(shù)是y=decay(x)=1/e0.2x,x≥0,如圖2 所示。
圖2 時間衰減函數(shù)y=decay(x)
該函數(shù)較好地模擬了特征詞的出現(xiàn)隨著時間的流逝,對用戶的影響力不斷衰減,權(quán)值從1 趨近于0。
基于加權(quán)特征詞字典的用戶學(xué)術(shù)畫像建立流程如下:(1)初始化用戶字典U={‘ws’:1,‘wt’:1},ws、wt來源于學(xué)科前沿和研究方向的系列特征詞,初始權(quán)值為1。(2)循環(huán)歸并用戶畫像,歸并學(xué)術(shù)論文字典于用戶字典U=U∪F,F(xiàn)={‘w1’:k,‘w2’:k,…,‘wn’:k},即U={w:U[w]+F[w] for w in U if w in F},U 和F 中相同特征詞w的權(quán)值相加生成U={‘w1’:k1,‘w2’:k2,…,‘wn’:kn}。
該推薦算法是有監(jiān)督學(xué)習(xí)的機器學(xué)習(xí)算法,算法流程如圖3 所示。用戶曾發(fā)表的論文、瀏覽的論文、下載的論文都是已知用戶感興趣和需求的內(nèi)容,在推薦的論文中用戶依據(jù)興趣和需求對部分論文瀏覽或下載,相當(dāng)于對這些被推薦的論文進行了推薦效果的正向評價。這些論文集作為用戶畫像的來源,同時也是學(xué)習(xí)算法的數(shù)據(jù)訓(xùn)練集,通過每次用戶的評價,用戶學(xué)術(shù)畫像的系數(shù)會發(fā)生調(diào)整,以此提升算法的推薦效果。
圖3 基于樸素貝葉斯的學(xué)術(shù)論文推薦算法推薦流程
根據(jù)上文3.2 中所述的用戶學(xué)術(shù)畫像特征詞加權(quán)計算,U={‘w1’:k1,‘w2’:k2,…,‘wn’:kn},得出P(wi|U)=,wi∈U。根據(jù)上文2.1 中的推理,論文推薦度←P(F|U)←P(F|U)=,wi∈F。對于所有特征詞w,當(dāng)?w∈F 且w?U 時,P(w|U)→0。
根據(jù)表1 的計算過程,用戶A 的學(xué)術(shù)畫像U={‘智慧圖書館’:5.8,‘協(xié)同過濾’:3.4,‘內(nèi)容推薦’:3.6,‘人工智能’:1,‘個性化’:2.27,‘情景感知’:2,‘知識圖譜’:0.67},因此,P(‘智慧圖書館’|U)=0.31,P(‘協(xié)同過濾’|U)=0.18,P(‘內(nèi)容推薦’|U)=0.19,P(‘人工智能’|U)=0.05,P(‘個性化’|U)=0.12,P(‘情景感知’|U)=0.11,P(‘知識圖譜’|U)=0.04。
表1 用戶A 學(xué)術(shù)畫像特征詞加權(quán)計算過程
通過分詞技術(shù),每篇學(xué)術(shù)論文對應(yīng)一個特征詞字典,比對用戶學(xué)術(shù)畫像中出現(xiàn)的特征詞的先驗概率可以計算P(F|U)值。表2 為簡化的論文推薦度計算過程,F(xiàn)11-F15 為5 篇學(xué)術(shù)論文,用特征詞字典表示,其中w為論文中出現(xiàn)而用戶學(xué)術(shù)畫像中未出現(xiàn)的任意特征詞,P(w|U)→0,為便于比較和計算,統(tǒng)一設(shè)定P(w|U)=0.01。通過推薦度的計算,論文的推薦順序為:F12>F11>F13>F15>F14。
表2 論文推薦度計算
為了驗證文中NBF 推薦算法的有效性,從萬方數(shù)據(jù)數(shù)據(jù)庫中獲取相關(guān)期刊論文的數(shù)據(jù)。實驗測試算法中選取論文特征詞數(shù)量M 與描述用戶學(xué)術(shù)畫像特征詞數(shù)量N 的最優(yōu)取值。推薦的學(xué)術(shù)論文是否滿足用戶的興趣和需求以用戶是否瀏覽、下載過為依據(jù);瀏覽、下載過的論文被補充進描述用戶學(xué)術(shù)畫像。最后在相同的實驗環(huán)境及數(shù)據(jù)條件下,對文中的NBF 推薦算法與傳統(tǒng)的基于內(nèi)容推薦算法(CBF)、協(xié)同過濾推薦算法(CF)進行實驗測試,比較3 種推薦算法的查準(zhǔn)率P、召回率R、F1值及運行時間等評價指標(biāo)。
選取包含篇名、文摘、關(guān)鍵詞的論文數(shù)據(jù)1 000 條,涉及學(xué)科有環(huán)境科學(xué)、材料科學(xué)、計算機科學(xué)、電子信息、土木工程、機械工程、數(shù)學(xué)、物理、化學(xué)、生物,每個學(xué)科相關(guān)論文100 篇。選取測試用戶20 人,每一學(xué)科涉及2 人,其中10 人有已發(fā)表論文,包含于選取數(shù)據(jù)中1 篇到5 篇不等。
在Win dows 系統(tǒng)環(huán)境下使用Python3.5 對文本數(shù)據(jù)進行分析,使用jieba 庫進行中文分詞,去停用詞,計算每篇論文的特征詞權(quán)重,篩選出權(quán)重較大的前M 個特征詞,形成特征詞字典,表示對應(yīng)論文。根據(jù)測試用戶所屬學(xué)科專業(yè)和已發(fā)表的論文,初始化用戶學(xué)術(shù)畫像。在模擬環(huán)境下,測試用戶瀏覽、下載論文,系統(tǒng)算法反饋推薦的論文,用戶再根據(jù)推薦論文,選取需求的論文瀏覽、下載評估推薦的準(zhǔn)確性。算法通過這樣的多次學(xué)習(xí)訓(xùn)練,一次次地加權(quán)計算出描述用戶的特征詞,選取權(quán)重較大的N 個特征詞,建立字典描述用戶學(xué)術(shù)畫像。
5.2.1 實驗1 不同特征向量維度下的算法平均推薦準(zhǔn)確率
實驗確定M、N 特征詞數(shù)量。令M=5,改變N 的取值,測試結(jié)果如圖4 所示,隨著N 值的增大,平均推薦準(zhǔn)確率逐漸提高,到達30 后趨于平穩(wěn),因此取N=30,繼續(xù)M 值的測試。
隨后,令N=30,改變M 的取值,測試結(jié)果如圖5 所示,隨著M 值的增大,平均推薦準(zhǔn)確率逐漸提高,到達35 后趨于平穩(wěn)。因此取M=35 為最優(yōu)解。
圖5 N=30 時平均推薦準(zhǔn)確率趨勢圖
通過實驗確定N 值和M 值,確定用戶畫像特征詞和學(xué)術(shù)論文特征詞向量的最優(yōu)維度。取N=30、M=35 個經(jīng)驗最優(yōu)值,是為了下一步NBF、CBF、CF 的比較測試。
5.2.2 實驗2 文獻檢索基本性能指標(biāo)比較測試
取N=30、M=35,測試文中的NBF 推薦算法隨著推薦論文數(shù)量從20 至60 每次增加5 的不同情況下的查準(zhǔn)率P、召回率R、F1值及運行時間的變化情況。在相同的模擬實驗環(huán)境下,引入CBF、CF 推薦算法進行測試,作為性能參照。其中CBF、CF利用TF-IDF 計算特征關(guān)鍵詞對論文的權(quán)重,使用余弦值計算兩個特征詞向量的相似度,為用戶進行資源推薦。
如圖6 所示三種推薦算法隨著推薦論文數(shù)量的增加,查準(zhǔn)率P 都有所下降。NBF 和CBF 算法在推薦論文50 篇內(nèi),性能接近,50 篇后NBF 趨于平穩(wěn),較優(yōu)。CF 算法在推薦中遇到了冷啟動問題,在模擬測試中性能較差。
圖6 三種推薦算法隨推薦論文數(shù)量查準(zhǔn)率變化圖
如圖7 所示三種推薦算法隨推薦論文數(shù)量的增加召回率變化趨勢。NBF 推薦算法明顯好于CBF 和CF算法。CF 依然在推薦中遇到了冷啟動問題。
圖7 三種推薦算法隨推薦論文數(shù)量召回率變化圖
F1值是同時兼顧推薦算法的查準(zhǔn)率和召回率的重要性能指標(biāo),可以根據(jù)公式F1=(2PR)/(P+R)進行計算,如圖8 所示。NBF 僅在推薦20~25 篇論文時與CBF 相當(dāng),其他推薦數(shù)量時,均優(yōu)于CBF 和CF 算法。
圖8 三種推薦算法隨推薦論文數(shù)量F1 值變化圖
5.2.3 實驗3 推薦算法運行時間比較測試
在相同的運行環(huán)境下,三種推薦算法隨著推薦論文數(shù)量的增加,運行時間的變化如圖9 所示。NBF 算法平均運行時間為4.9 s,CBF 算法平均運行時間為6.9 s,NBF 比CBF 運行效率提高了29%。CF 算法因為測試用戶數(shù)量少,影響了實驗效果。
圖9 三種推薦算法隨推薦論文數(shù)量運行時間變化圖
實驗結(jié)果表明當(dāng)N=30、M=35 時,文中研究的NBF 算法在測試指標(biāo)查準(zhǔn)率P、召回率R、F1值、運行時間方面明顯優(yōu)于CBF、CF 算法。實驗中CF 算法使用的是基礎(chǔ)的協(xié)同過濾算法,沒有消除CF 算法中固有的冷啟動問題等不足,因此這里的CF 算法表現(xiàn)較差。該實驗不能表示其他學(xué)者的CF 改進算法的測試結(jié)果。
學(xué)術(shù)論文是國家地區(qū)科學(xué)研究、高等教育的重要文獻保障資源,如何提升學(xué)術(shù)論文的有效利用率是圖書情報學(xué)研究撬動科研能力提升的杠桿。學(xué)術(shù)論文有其自身的特點:學(xué)科專業(yè)性強,內(nèi)容分類細(xì),月更新量大,同時學(xué)術(shù)論文還是數(shù)字圖書館的主體,其主流數(shù)字圖書館檢索平臺收錄的論文數(shù)量多達千萬篇[19]。在海量的資源中,基于用戶學(xué)術(shù)畫像,推薦用戶有效論文極其重要?;跇闼刎惾~斯的學(xué)術(shù)論文推薦算法NBF,是依據(jù)貝葉斯分類算法提出并改進的,在模擬測試的環(huán)境中性能優(yōu)于主流CBF、CF 推薦算法,在實際應(yīng)用中具有一定的價值。文中的研究是從預(yù)估用戶訪問學(xué)術(shù)論文的概率入手思考推薦算法的,可以為圖書館個性化推薦服務(wù)提供了新的思路。