本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種學術(shù)資源推薦服務(wù)系統(tǒng)與以資源推薦服務(wù)系統(tǒng)為相關(guān)用戶提供學術(shù)資源推薦服務(wù)的方法。
背景技術(shù):
目前已經(jīng)進入大數(shù)據(jù)時代,在學術(shù)資源領(lǐng)域尤其如此,每年都有數(shù)以億計的各類學術(shù)資源產(chǎn)生。除了學術(shù)論文、專利之外,還有大量的學術(shù)會議、學術(shù)新聞和學術(shù)社區(qū)信息等各類學術(shù)資源實時涌現(xiàn),這些類型的學術(shù)資源對于用戶精準、高效地掌握感興趣領(lǐng)域的科研現(xiàn)狀意義重大。然而,科研用戶平時有繁重的科研工作,這類學術(shù)資源具有大數(shù)據(jù)異質(zhì)、異構(gòu)且快速增長的特性,在學術(shù)資源中基于傳統(tǒng)搜索引擎的方式很難查全、查準,搜索過程也顯得繁瑣,用戶在查詢感興趣的學術(shù)資源往往需花費大量的時間和精力,影響其工作效率。
當前學術(shù)資源個性化推薦研究的對象主要專注于學術(shù)論文,推薦學術(shù)資源類型單一;不同的用戶群體,即不同身份的用戶對不同類型學術(shù)資源的關(guān)注程度不同,當前學術(shù)資源的個性化推薦研究并沒有考慮這些因素,不能基于用戶身份制定多策略的推薦方案。并且,當前學術(shù)資源推薦研究僅局限于推薦模塊,本發(fā)明則為學術(shù)資源推薦提供系統(tǒng)化的服務(wù),從學術(shù)資源的動態(tài)獲取、整合和分類,到基于用戶身份、行為和興趣學科進行學術(shù)資源的個性化推薦,形成以資源整合和推薦為核心的一體化服務(wù)體系。
LDA(Latent Dirichlet Allocation)是一種文檔主題生成模型,也稱為一個三層貝葉斯概率模型,包含詞、主題和文檔三層結(jié)構(gòu)。所謂生成模型,就是說,我們認為一篇文章的每個詞都是通過“以一定概率選擇了某個主題,并從這個主題中以一定概率選擇某個詞語”這樣一個過程得到。主題是指某個定義好的專業(yè)領(lǐng)域或者興趣領(lǐng)域,例如航天航空,生物醫(yī)學,信息技術(shù)等,具體指一系列相關(guān)的詞所組成的集合。文檔到主題服從多項式分布,主題到詞服從多項式分布。LDA是一種非監(jiān)督機器學習技術(shù),可以用來識別文檔中潛藏的主題信息。它采用了詞袋(bag of words)的方法,這種方法將每一篇文檔視為一個詞頻向量,從而將文本信息轉(zhuǎn)化為了易于建模的數(shù)字信息。每一篇文檔代表了一些主題所構(gòu)成的一個概率分布,而每一個主題又代表了很多單詞所構(gòu)成的一個概率分布。LDA主題模型是自然語言處理中主題挖掘的典型模型,可以從文本語料中抽取潛在的主題,提供一個量化研究主題的方法,已經(jīng)被廣泛的應(yīng)用到學術(shù)資源的主題發(fā)現(xiàn)中,如研究熱點挖掘、研究主題演化、研究趨勢預(yù)測等。
另外,隨著互聯(lián)網(wǎng)的發(fā)現(xiàn),互聯(lián)網(wǎng)充塞著大量的各種新聞、博客、會議記要等各種方式的信息文本,這類信息文本或多或少包括學術(shù)相關(guān)的信息內(nèi)容,而且往往包括最新的學術(shù)研究信息,為各類相關(guān)學科人士所關(guān)心,而這類信息文本雜亂無序,往往學科重疊,自身一般沒有分類信息,現(xiàn)有技術(shù)對這類信息文本往往很難做出正確的自動分類,各類相關(guān)學科人士采自行用傳統(tǒng)搜索引擎的方式很難查全、查準,搜索過程也顯得繁瑣,用戶在查詢感興趣的學術(shù)資源往往需花費大量的時間和精力,影響其工作效率。
本發(fā)明正是為了解決上述技術(shù)問題。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是針對上述技術(shù)現(xiàn)狀,提供一種學術(shù)資源推薦服務(wù)系統(tǒng)與以資源推薦服務(wù)系統(tǒng)為相關(guān)用戶提供學術(shù)資源推薦服務(wù)的方法。
本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為:
一種學術(shù)資源推薦服務(wù)系統(tǒng),所述學術(shù)資源為公布在互聯(lián)網(wǎng)上的各種電子文本,所述學術(shù)資源推薦服務(wù)系統(tǒng)包括網(wǎng)絡(luò)爬蟲、文本分類模型、學術(shù)資源數(shù)據(jù)庫,由網(wǎng)絡(luò)爬蟲在互聯(lián)網(wǎng)上爬取學術(shù)資源,其特征在于,用文本分類模型按預(yù)定A個類別分類后存儲于本地的學術(shù)資源數(shù)據(jù)庫,提供學術(shù)資源數(shù)據(jù)庫開放的API供展示及資源推薦模塊調(diào)用,所述學術(shù)資源推薦服務(wù)系統(tǒng)還包括學術(shù)資源模型、資源質(zhì)量值計算模型、用戶興趣模型,在用戶的終端殖入跟蹤軟件模塊,用于跟蹤記錄用戶的網(wǎng)上瀏覽行為;基于不同群體用戶的歷史瀏覽行為數(shù)據(jù),計算不同身份的用戶對各個類型學術(shù)資源的關(guān)注程度,從資源類型、學科分布、關(guān)鍵詞分布和LDA潛在主題分布共四個維度對學術(shù)資源建模,結(jié)合用戶的興趣學科和歷史瀏覽行為數(shù)據(jù),對用戶的興趣偏好建模,計算學術(shù)資源模型與用戶興趣偏好模型之間的相似度,再結(jié)合資源質(zhì)量值計算推薦度,最后根據(jù)推薦度為用戶進行學術(shù)資源Top-N推薦。
所述網(wǎng)絡(luò)爬蟲為主題爬蟲,還包括LDA主題模型,所述LDA主題模型是一個“文檔-主題-詞”的三層貝葉斯生成模型,預(yù)先為所述LDA主題模型配置一個語料庫,語料庫中包括訓練語料,用訓練語料按設(shè)定主題數(shù)K讓LDA主題模型訓練,利用LDA主題模型訓練時的聚詞功能在訓練語料經(jīng)LDA主題模型訓練后獲得按設(shè)定主題數(shù)K分別聚集成K個主題關(guān)聯(lián)詞集合,即得到主題爬蟲本次爬行的K個主題文檔;所述主題爬蟲在普通網(wǎng)絡(luò)爬蟲的基礎(chǔ)上進一步包括主題確定模塊、相似度計算模塊、URL優(yōu)先級排序模塊;所述主題爬蟲為按學術(shù)主題數(shù)分布的多個分布式爬蟲,每個分布式爬蟲對應(yīng)一個學術(shù)主題,各分布式爬蟲同時獲得多個學術(shù)主題的學術(shù)資源;主題爬蟲每次爬行過程中,主題爬蟲的主題確定模塊確定目標主題及其主題文檔,用所述主題文檔指導主題相似度的計算,相似度計算模塊對所爬取的頁面上每個錨文本并結(jié)合該頁面內(nèi)容進行主題相似度計算及判斷,剔除錨文本結(jié)合該頁面的主題相似度小于設(shè)定閾值的超鏈接,選取錨文本結(jié)合該頁面的主題相似度大于設(shè)定閾值的URL,由主題爬蟲維護一個由已訪問網(wǎng)頁的超鏈接所指的未訪問網(wǎng)頁的URL隊列,該URL隊列根據(jù)相似度高低降序排列,主題爬蟲按URL隊列的排列順序先后不斷地訪問各URL的網(wǎng)頁,爬取相應(yīng)學術(shù)資源,并不斷地將所爬取的學術(shù)資源分類標簽后存入數(shù)據(jù)庫,針對本次爬行的主題文檔,直至未訪問隊列URL為空;將所述主題爬蟲每次所爬取的學術(shù)資源作為LDA主題模型訓練用的新的語料;并不斷重復主題爬蟲爬行過程,使得各主題文檔的所集合的主題關(guān)聯(lián)詞不斷得以補充更新,所爬取的學術(shù)資源不斷得以補充更新至一個人為認可的程度。
所述語料庫中還包括類別明確的驗證語料,用于預(yù)先用驗證語料按預(yù)定類別數(shù)A讓所述文本分類模型進行分類驗證,以獲得文本分類模型對A個類別中的每個類別的分類準確率,作為文本分類模型對A個類別中的每個類別的歸類可信度指標;該準確率為被文本分類模型分到某個類別的所有驗證語料中屬被正確分類的語料的比率,并預(yù)設(shè)分類準確率閾值。
將所有學科分為75個學科類別,即所述類別數(shù)A為75個類別,利用LDA主題模型訓練時設(shè)定主題數(shù)K為100個,所述文本分類模型進行分類驗證時預(yù)設(shè)分類準確率閾值為80%。
一種以資源推薦服務(wù)系統(tǒng)為相關(guān)用戶提供學術(shù)資源推薦服務(wù)的方法,所述學術(shù)資源為公布在互聯(lián)網(wǎng)上的各種電子文本,包括使用網(wǎng)絡(luò)爬蟲在互聯(lián)網(wǎng)上爬取學術(shù)資源,其特征在于,使用文本分類模型將所爬取的學術(shù)資源按預(yù)定A個類別進行分類后存儲,形成學術(shù)資源數(shù)據(jù)庫,提供學術(shù)資源數(shù)據(jù)庫開放的API供展示及資源推薦模塊調(diào)用,使用資源質(zhì)量值計算模型、用戶興趣模型,在用戶的終端殖入跟蹤軟件模塊,用于跟蹤記錄用戶的網(wǎng)上瀏覽行為;向用戶推薦其相應(yīng)的學術(shù)資源的過程包括冷啟動推薦階段與二次推薦階段,冷啟動推薦階段基于興趣學科為用戶推薦符合其興趣學科的優(yōu)質(zhì)資源,所述優(yōu)質(zhì)資源即為經(jīng)資源質(zhì)量值計算模型計算后比較所得的資源質(zhì)量值高的學術(shù)資源,資源質(zhì)量值為資源權(quán)威度、資源社區(qū)熱度和資源時新度的算術(shù)平均值或加權(quán)平均值;二次推薦階段,分別對用戶興趣模型和資源模型建模,計算用戶興趣模型與資源模型二者的相似性,再結(jié)合資源質(zhì)量值計算推薦度,最后根據(jù)推薦度為用戶進行學術(shù)資源Top-N推薦。
所述資源質(zhì)量值Quality計算包括,資源權(quán)威度Authority的計算公式如下:
其中Level是資源發(fā)表刊物級別被量化后的得分,將刊物級別分為5個等級,分數(shù)依次為1、0.8、0.6、0.4和0.2分。頂尖雜志或會議如Nature、Science得1分,第二級別的如ACM Transaction得0.8分,最低級別的得0.2分;Cite的計算公式如下:
Cite=Cites/maxCite (2)
Cite是資源被引量的量化結(jié)果,Cites是資源的被引量,maxCite是資源來源數(shù)據(jù)庫中最大的被引量;
資源社區(qū)熱度Popularity的計算公式如下:
Popularity=readTimes/maxReadTimes (3)
readTimes是論文的閱讀次數(shù),maxReadTimes是資源來源數(shù)據(jù)庫中最大的閱讀次數(shù);
資源的時新度Recentness計算方法相同,公式如下:
year和month分別是資源的發(fā)表年份和月份;minYear、minMonth、maxYear和maxMonth是該類資源的來源數(shù)據(jù)庫中所有資源的最早和最晚發(fā)表年份和月份;
資源質(zhì)量值Quality計算方法如下:
所述學術(shù)資源模型表示如下:
Mr={Tr,Kr,Ct,Lr} (6)
其中,Tr為學術(shù)資源的學科分布向量,是該學術(shù)資源分布在A個學科類別的概率值,由貝葉斯多項式模型得到;
Kr={(kr1,ωr1),(kr2,ωr2),…,(krm,ωrm)},m為關(guān)鍵詞個數(shù),kri(1≤i≤m)表示單條學術(shù)資源第i個關(guān)鍵詞,ωri為關(guān)鍵詞kri的權(quán)重,通過改進后的tf-idf算法得到,計算公式如下:
w(i,r)表示文檔r中第i個關(guān)鍵詞的權(quán)重,tf(i,r)表示第i個關(guān)鍵詞在文檔r中出現(xiàn)的頻度,Z表示文檔集的總篇數(shù),L表示包含關(guān)鍵詞i的文檔數(shù);Lr為潛在主題分布向量,Lr={lr1,lr2,lr3…,lrN1},N1是潛在主題數(shù)量;Ct為資源類型,t的取值可以為1,2,3,4,5即五大類學術(shù)資源:論文、專利、新聞、會議和圖書;
根據(jù)用戶使用移動軟件的行為特點,將用戶對一個學術(shù)資源的操作行為分為打開、閱讀、星級評價、分享和收藏,用戶興趣模型基于用戶背景及瀏覽過的學術(shù)資源,根據(jù)用戶的不同瀏覽行為,結(jié)合學術(shù)資源模型,構(gòu)建用戶興趣模型,用戶興趣模型表示如下:
Mu={Tu,Ku,Ct,Lu} (8)
其中,Tu是用戶一段時間內(nèi)瀏覽過的某類學術(shù)資源的學科分布向量Tr經(jīng)過用戶行為后,形成的用戶學科偏好分布向量,即
其中,sum為用戶產(chǎn)生過行為的學術(shù)資源總數(shù),sj為用戶對學術(shù)資源j產(chǎn)生行為后的“行為系數(shù)”,該值越大說明用戶越喜歡該資源。Tjr表示第j篇資源的學科分布向量。sj的計算綜合考慮了打開、閱讀、評價、收藏和分享等行為,能夠準確反映用戶對資源的偏好程度。
Ku={(ku1,ωu1),(ku2,ωu2),...,(kuN2,ωuN2)}是用戶的關(guān)鍵詞偏好分布向量,N2為關(guān)鍵詞個數(shù),kui(1≤i≤N2)表示第i個用戶偏好關(guān)鍵詞,ωui為關(guān)鍵詞kui的權(quán)重,通過用戶u一段時間內(nèi)產(chǎn)生過行為的某類學術(shù)資源的“關(guān)鍵詞分布向量”Kr計算得到。
Kjr′=sj*Kjr (10)
根據(jù)公式10可以計算出每篇資源新的關(guān)鍵詞分布向量,再選取所有資源新的關(guān)鍵詞分布向量的TOP-N2作為用戶關(guān)鍵詞偏好分布向量Ku;
Lu為用戶的LDA潛在主題偏好分布向量,由學術(shù)資源的LDA潛在主題分布向量Lr={lr1,lr2,lr3...,lrN1}計算得到,方法同Tu:
用戶興趣與資源模型二者的相似性計算如下:
學術(shù)資源模型表示:
Mr={Tr,Kr,Ct,Lr} (12)
用戶興趣模型表示:
Mu={Tu,Ku,Ct,Lu} (13)
用戶學科偏好分布向量Tu與學術(shù)資源學科分布向量Tr的相似度通過余弦相似度計算,即:
用戶LDA潛在主題偏好分布向量Lu與學術(shù)資源LDA潛在主題分布向量Lr的相似度通過余弦相似度計算,即:
用戶關(guān)鍵詞偏好分布向量Ku與學術(shù)資源關(guān)鍵詞分布向量Kr的相似度計算通過Jaccard Similarity進入計算:
則用戶興趣模型與學術(shù)資源模型的相似度為:
其中,σ+ρ+τ=1,具體權(quán)重分配由實驗訓練得到。
引入推薦度Recommendation_degree概念,某一學術(shù)資源的推薦度越大說明該資源越符合用戶的興趣偏好,且資源越優(yōu)質(zhì),推薦度計算公式如下:
Recommendation_degree=λ1Sim(Mu,Mn)+λ2Quality(λ1+λ2=1) (18)
二次推薦階段便是根據(jù)學術(shù)資源的推薦度進行Top-N推薦。
所述網(wǎng)絡(luò)爬蟲包括定址爬蟲與主題爬蟲,還包括LDA主題模型,所述LDA主題模型是一個“文檔-主題-詞”的三層貝葉斯生成模型,預(yù)先為所述LDA主題模型配置一個語料庫,語料庫中包括訓練語料,用訓練語料按設(shè)定主題數(shù)K讓LDA主題模型訓練,利用LDA主題模型訓練時的聚詞功能在訓練語料經(jīng)LDA主題模型訓練后獲得按設(shè)定主題數(shù)K分別聚集成K個主題關(guān)聯(lián)詞集合,即得到主題爬蟲本次爬行的K個主題文檔;所述主題爬蟲在普通網(wǎng)絡(luò)爬蟲的基礎(chǔ)上進一步包括主題確定模塊、相似度計算模塊、URL優(yōu)先級排序模塊;所述主題爬蟲為按學術(shù)主題數(shù)分布的多個分布式爬蟲,每個分布式爬蟲對應(yīng)一個學術(shù)主題,各分布式爬蟲同時獲得多個學術(shù)主題的學術(shù)資源;主題爬蟲每次爬行過程中,主題爬蟲的主題確定模塊確定目標主題及其主題文檔,用所述主題文檔指導主題相似度的計算,相似度計算模塊對所爬取的頁面上每個錨文本并結(jié)合該頁面內(nèi)容進行主題相似度計算及判斷,剔除錨文本結(jié)合該頁面的主題相似度小于設(shè)定閾值的超鏈接,選取錨文本結(jié)合該頁面的主題相似度大于設(shè)定閾值的URL,由主題爬蟲維護一個由已訪問網(wǎng)頁的超鏈接所指的未訪問網(wǎng)頁的URL隊列,該URL隊列根據(jù)相似度高低降序排列,主題爬蟲按URL隊列的排列順序先后不斷地訪問各URL的網(wǎng)頁,爬取相應(yīng)學術(shù)資源,并不斷地將所爬取的學術(shù)資源分類標簽后存入數(shù)據(jù)庫,針對本次爬行的主題文檔,直至未訪問隊列URL為空;將所述主題爬蟲每次所爬取的學術(shù)資源作為LDA主題模型訓練用的新的語料;并不斷重復主題爬蟲爬行過程,使得各主題文檔的所集合的主題關(guān)聯(lián)詞不斷得以補充更新,所爬取的學術(shù)資源不斷得以補充更新至一個人為認可的程度。
所述語料庫中還包括類別明確的驗證語料,用于預(yù)先用驗證語料按預(yù)定類別數(shù)A讓所述文本分類模型進行分類驗證,以獲得文本分類模型對A個類別中的每個類別的分類準確率,作為文本分類模型對A個類別中的每個類別的歸類可信度指標;該準確率為被文本分類模型分到某個類別的所有驗證語料中屬被正確分類的語料的比率,并預(yù)設(shè)分類準確率閾值;用所述文本分類模型對每一篇待分類文本進行文本分類時具體包括以下步驟:
步驟一、對每一篇待分類文本進行預(yù)處理,預(yù)處理包括分詞、去停留詞,并保留專有名詞,分別計算該文本的經(jīng)預(yù)處理后的所有詞的特性權(quán)重,詞的特性權(quán)重數(shù)值與在該文本中出現(xiàn)的次數(shù)成正比,與在所述訓練語料中出現(xiàn)的次數(shù)成反比,將計算所得的詞集按其特性權(quán)重數(shù)值大小降序排列,提取每一篇待分類文本原始詞集的前面部分作為其特征詞集;
步驟二、使用文本分類模型,選取每一篇待分類文本原始特征詞集用來分別計算該篇文本可能歸屬預(yù)定A個類別中各個類別的概率值,選取概率值最大的類別作為該篇文本分類類別;
步驟三、對步驟二的文本分類結(jié)果進行判斷,如果文本分類模型對該類別的分類準確率數(shù)值達到設(shè)定閾值就直接輸出結(jié)果;如果文本分類模型對該類別的分類準確率數(shù)值未達到設(shè)定閾值,就進入步驟四;
步驟四、將每一篇經(jīng)預(yù)處理的文本輸入所述LDA主題模型,用LDA主題模型計算出該篇文本對應(yīng)所設(shè)定的K個主題中的每個主題的權(quán)重值,選取權(quán)重值最大的主題,并將預(yù)先經(jīng)LDA主題模型訓練后所得到的該主題下的主題關(guān)聯(lián)詞中的前Y個詞加入至該篇文本的原始特征詞集之中共同作為擴充后的特征詞集,再次使用文本分類模型,分別計算該篇文本可能歸屬預(yù)定A個類別中各個類別的概率值,選取概率值最大的類別作為該篇文本最終分類類別。
所述文本分類模型的主要計算公式為:
其中P(cj|x1,x2,...,xn)表示特征詞(cj|x1,x2,...,xn)同時出現(xiàn)時該文本屬于類別cj的概率;其中P(cj)表示訓練文本集中,屬于類別cj的文本占總數(shù)的比率,P(x1,x2,...,xn|cj)表示如果待分類文本屬于類別cj,則這篇文本的特征詞集為(x1,x2,...,xn)的概率,P(c1,c2,...,cn)表示給定的所有類別的聯(lián)合概率。
本發(fā)明所述的面向多類型學術(shù)資源的資源推薦服務(wù)系統(tǒng)具有如下特點:
(1)本發(fā)明實現(xiàn)了多種類型,比如學術(shù)論文、專利、學術(shù)會議和學術(shù)新聞等類型學術(shù)資源的動態(tài)獲取,并基于主題爬蟲模塊高效地獲取目標學術(shù)資源。
(2)本發(fā)明實現(xiàn)了對多種類型學術(shù)資源基于學科屬性進行主題分類的工作。
(3)不同用戶群體對不同類型學術(shù)資源的關(guān)注程度有所差異,本發(fā)明實現(xiàn)了基于不同用戶群體的多策略學術(shù)資源推薦方案,為不同身份的用戶按不同比例推薦各個類型學術(shù)資源。
(4)基于用戶瀏覽習慣,本發(fā)明實現(xiàn)了基于用戶不同行為進行多種類型學術(shù)資源的個性化推薦工作。
本發(fā)明根據(jù)用戶身份、興趣和瀏覽行為進行學術(shù)資源的個性化推薦,可以更精準地向用戶推薦學術(shù)資源,大大提高科研人員的工作效率,為科研工作者更好的進行科學研究創(chuàng)造方便、快捷的信息獲取環(huán)境,有效地化解學術(shù)資源信息過載與用戶資源獲取之間的矛盾。
另外,本發(fā)明采用基于LDA的學術(shù)資源獲取方法與分類方法,通過LDA主題模型,深度挖掘主題語義信息,為學術(shù)資源的主題爬蟲構(gòu)造良好的指導基礎(chǔ),將機器學習融入到學術(shù)資源的獲取方法中,提高學術(shù)資源獲取的質(zhì)量和效率;主題爬蟲所得的學術(shù)資源又用于LDA主題更新,可隨時更新主題模型,跟進學術(shù)發(fā)展的趨勢,為科研工作者提供相關(guān)領(lǐng)域前沿資源;本發(fā)明提出的基于選擇性特征擴展的文本分類方法適合復雜的應(yīng)用場景,有選擇的對信息量少的數(shù)據(jù)增加主題信息,同時避免對信息量充足的數(shù)據(jù)增加噪音,為文本分類模型的優(yōu)化提供了一種思路,且具有場景適應(yīng)性強,結(jié)果可用性高,分類模型易于更新和維護的特點。
附圖說明
圖1為本發(fā)明整個學術(shù)資源推薦服務(wù)系統(tǒng)的框架示意圖;
圖2為LDA模型示意圖;
圖3為某一文本預(yù)處理前的文本示意圖;
圖4為某一文本預(yù)處理后的文本示意圖;
圖5為訓練語料經(jīng)LDA主題模型訓練后主題與主題文檔示意圖;
圖6為本發(fā)明采用基于LDA的學術(shù)資源獲取方法的流程示意圖;
圖7為本發(fā)明采用基于LDA的文本分類方法的流程示意圖;
圖8為三次實驗在部分學科上的查全率示意圖;
圖9為三次實驗在部分學科上的查準率示意圖
圖10為本發(fā)明推薦流程示意圖。
具體實施方式
以下詳細說明本發(fā)明的具體實施方式。
本發(fā)明學術(shù)資源推薦服務(wù)系統(tǒng),如圖1所示,包括網(wǎng)絡(luò)爬蟲、文本分類模型、學術(shù)資源數(shù)據(jù)庫,由網(wǎng)絡(luò)爬蟲在互聯(lián)網(wǎng)上爬取學術(shù)資源,用文本分類模型按預(yù)定A個類別分類后存儲于本地的學術(shù)資源數(shù)據(jù)庫,提供學術(shù)資源數(shù)據(jù)庫開放的API供展示及資源推薦模塊調(diào)用;本發(fā)明學術(shù)資源推薦服務(wù)系統(tǒng)還包括學術(shù)資源模型、資源質(zhì)量值計算模型、用戶興趣模型,在用戶的終端殖入跟蹤軟件模塊,用于跟蹤記錄用戶的網(wǎng)上瀏覽行為;基于不同群體用戶的歷史瀏覽行為數(shù)據(jù),計算不同身份的用戶對各個類型學術(shù)資源的關(guān)注程度,從資源類型、學科分布、關(guān)鍵詞分布和LDA潛在主題分布共四個維度對學術(shù)資源建模,結(jié)合用戶的興趣學科和歷史瀏覽行為數(shù)據(jù),對用戶興趣偏好建模,計算學術(shù)資源模型與用戶興趣模型之間的相似度,再結(jié)合資源質(zhì)量值計算推薦度,最后根據(jù)推薦度為用戶進行學術(shù)資源Top-N推薦。根據(jù)教育部《研究生學科專業(yè)目錄》中的學科門類,將所有一級學科整理為75個學科類別,即所述類別數(shù)A為75個類別。
一、學術(shù)資源的獲取
本發(fā)明網(wǎng)絡(luò)爬蟲主要為主題爬蟲,還包括相應(yīng)的LDA主題模型,LDA主題模型是一個“文檔-主題-詞”的三層貝葉斯生成模型,如圖2所示;預(yù)先用訓練語料按設(shè)定主題數(shù)K讓LDA主題模型訓練,當然訓練前需對每一篇訓練語料進行預(yù)處理,預(yù)處理包括分詞、去停留詞;利用LDA主題模型訓練時的聚詞功能在訓練語料經(jīng)LDA主題模型訓練后獲得按設(shè)定主題數(shù)K分別聚集成K個主題關(guān)聯(lián)詞集合,主題關(guān)聯(lián)詞集合也稱作主題文檔;利用LDA主題模型訓練時可設(shè)定主題數(shù)K為50至200個,優(yōu)選主題數(shù)K為100個;可從網(wǎng)上隨機爬取各個學科各種形式的文獻,篇幅很長但有規(guī)范摘要的論文之類的文獻可僅取其摘要,也可使用現(xiàn)成的數(shù)據(jù)庫,作為訓練語料,文獻篇數(shù)應(yīng)當達到相當數(shù)量規(guī)模,至少幾萬篇,多至幾百萬篇。如選取主題數(shù)K為100,LDA主題模型運算訓練過程中就會將訓練語料的所有單詞分別聚集成100個主題關(guān)聯(lián)詞集合,即100個主題文檔;我們可以根據(jù)各個集合詞的含義人為的命名各個主題名稱,也可以不命名各個主題名稱,而僅以數(shù)字編號或代號以示分別,其中3個主題文檔如圖5所示。
主題爬蟲在普通網(wǎng)絡(luò)爬蟲的基礎(chǔ)上進一步包括主題確定模塊、相似度計算模塊、URL優(yōu)先級排序模塊;所述主題爬蟲為按學術(shù)主題數(shù)分布的多個分布式爬蟲,每個分布式爬蟲對應(yīng)一個學術(shù)主題,各分布式爬蟲同時獲得多個學術(shù)主題的學術(shù)資源;主題爬蟲每次爬行過程中,主題爬蟲的主題確定模塊確定目標主題及其主題文檔,用主題文檔指導主題相似度的計算,相似度計算模塊對所爬取的頁面上每個錨文本并結(jié)合該頁面內(nèi)容進行主題相似度計算及判斷,剔除錨文本結(jié)合該頁面的主題相似度小于設(shè)定閾值的超鏈接,選取錨文本結(jié)合該頁面的主題相似度大于設(shè)定閾值的URL,由主題爬蟲維護一個由已訪問網(wǎng)頁的超鏈接所指的未訪問網(wǎng)頁的URL隊列,該URL隊列根據(jù)相似度高低降序排列,主題爬蟲按URL隊列的排列順序先后不斷地訪問各URL的網(wǎng)頁,爬取相應(yīng)學術(shù)資源,并不斷地將所爬取的學術(shù)資源分類標簽后存入數(shù)據(jù)庫,針對本次爬行的主題文檔,直至未訪問隊列URL為空;將主題爬蟲每次所爬取的學術(shù)資源作為LDA主題模型訓練用的新的語料;并不斷重復主題爬蟲爬行過程,使得各主題文檔的所集合的主題關(guān)聯(lián)詞不斷得以補充更新,所爬取的學術(shù)資源不斷得以補充更新至一個人為認可的程度。
為了便于操作,可以將學術(shù)資源的摘要作為訓練語料庫,通過LDA主題模型計算得到主題及主題文檔,主題文檔指導主題爬蟲爬行過程中主題相似度的計算,后將爬取的內(nèi)容存儲到數(shù)據(jù)庫中,作為LDA訓練模型新的語料,提供學術(shù)資源數(shù)據(jù)庫開放的API供展示調(diào)用;具體步驟如下:
步驟一、下載并預(yù)處理現(xiàn)有的多個領(lǐng)域的學術(shù)資源的摘要,根據(jù)學術(shù)領(lǐng)域人為分成不同類別,分別作為LDA多個主題的訓練語料;
步驟二、輸入LDA主題模型參數(shù),LDA主題模型參數(shù)包括K,α,β,其中K的值表示主題數(shù),α的值表示各個主題在取樣之前的權(quán)重分布,β的值表示各個主題對詞的先驗分布,訓練得到多個主題更細分的主題及主題文檔,每個主題文檔用于指導一個爬蟲;
步驟三、每個爬蟲從選取的優(yōu)質(zhì)的種子URL開始,維護一個爬取URL隊列,通過不斷計算網(wǎng)頁中的文本與網(wǎng)頁中錨文本鏈接所指的文本與主題的相似度,根據(jù)相似度排序更新爬取URL隊列,并抓取與主題最相關(guān)的網(wǎng)頁內(nèi)容;
步驟四、主題爬蟲獲取的學術(shù)資源,打上對應(yīng)主題標簽后,存儲到數(shù)據(jù)庫中,并作為訓練LDA的新語料,用于主題文檔更新;
步驟五、提供學術(shù)資源數(shù)據(jù)庫開放的API,供展示調(diào)用。
其中步驟一包括如下具體子步驟:
(a)語料搜集:下載現(xiàn)有多個領(lǐng)域的學術(shù)資源的摘要,作為訓練語料;
(b)文本預(yù)處理:提取摘要,中文分詞,去除停用詞;
(c)分類入語料庫:根據(jù)學術(shù)領(lǐng)域人為分成不同類別,分別作為LDA多個主題的訓練語料。
其中步驟三包括如下具體子步驟:
(a)初始種子URL選取面向特定主題的較好的種子站點;
(b)提取網(wǎng)頁內(nèi)容:下載優(yōu)先級高的URL所指向的頁面,根據(jù)HTML標簽抽取所需內(nèi)容和URL信息;
(c)主題相關(guān)度分析判定,決定頁面的取舍;本發(fā)明主要采用將現(xiàn)有的VSM技術(shù)和SSRM技術(shù)相結(jié)合來計算主題相關(guān)度;
(d)對未訪問網(wǎng)頁URL的重要程度進行排序;
(e)重復(b)~(d)過程,直至未訪問隊列URL為空。
其中子步驟(c)中,主題爬蟲在爬經(jīng)每篇電子文獻進行主題相關(guān)度分析判定時,采用將VSM和SSRM兩種主題相似度計算算法相結(jié)合的廣義向量空間模型GVSM,來計算經(jīng)爬頁面的主題相關(guān)度,決定頁面的取舍。
主題是由一組語義上相關(guān)的詞及表示該詞與主題相關(guān)的權(quán)重來表示,即主題Z={(w1,p1),(w2,p2),…,(wn,pn)},其中第i個詞wi是與主題Z相關(guān)的詞,p1為該詞與Z的相關(guān)度的衡量,在LDA中表示為Z={(w1,p(w1|zj)),(w2,p(w2|zj)),…,(wn,p(wn|zj))},其中wi∈W,p(wi|zj)為主題為Zj時選擇詞為wi的概率,zj為第j個主題。
主題文檔生成過程為模型的一種概率取樣的過程,包括如下具體子步驟:
(a)對文集中的任一文檔d,生成文檔長度N,N~Poisson(ε),服從泊松分布;
(b)對文集中的任一文檔d,生成一個θ~Dirichlet(α),服從狄利克雷分布;
(c)文檔d中的第i個詞wi的生成:首先,生成一個主題zj~Multinomial(θ),服從多項式分布;然后,對主題zj,生成一個離散變量服從狄利克雷分布;最后生成使得概率最大的一個詞。LDA模型如圖3所示。
其中,α的值表示各個主題在取樣之前的權(quán)重分布,β的值表示各個主題對詞的先驗分布。
LDA模型中所有的變量及其服從的分布如下:
整個模型通過積分可能存在的變量,實際上可以變?yōu)镻(w|Z)的聯(lián)合分布。其中w指詞,且可觀測。Z是話題的變量,是模型的目標產(chǎn)物??梢钥闯靓?,β都是模型的初始參數(shù)。那么通過對其中存在的變量積分可以得到:
其中,N是詞表長度,w是詞,對θ~Dirichlet(α),中θ積分得:
其中,表示特征詞w分配給主題j的次數(shù),表示分配給主題j的特征詞數(shù),表示文本d中分配給主題j的特征詞數(shù),表示文本d中所有分配了主題的特征詞數(shù)。
從上可以看出,影響LDA建模的三個變量主要為α,β和話題數(shù)目K。為了選擇比較好的話題數(shù)目,首先固定了α,β的取值,然后計算對其他變量積分后的式子的值的變化。
采用LDA模型對文本集進行主題建模時,主題數(shù)目K對LDA模型擬合文本集的性能影響很大,因此需預(yù)先設(shè)定主題數(shù)。本文通過衡量不同主題數(shù)下的分類效果來確定最優(yōu)主題數(shù),并與使用Perplexity值確定模型最佳擬合時的分類效果進行比較,本文方法一方面能獲得更直觀準確的最優(yōu)主題數(shù),另一方面通過Perplexity值確定的最優(yōu)主題數(shù)可以找出對應(yīng)的分類效果與實際結(jié)果的差距。Perplexity值公式為:
其中,M為文本集中的文本數(shù),Nm為第m篇文本的長度,P(dm)為LDA模型產(chǎn)生第m篇文本的概率,公式為:
本發(fā)明主題爬蟲在通用爬蟲的基礎(chǔ)上增加了三個模塊:主題確定模塊、相似度計算模塊、URL優(yōu)先級排序模塊,從而完成了對爬取頁面的過濾和主題匹配,最終獲得與主題高度相關(guān)的內(nèi)容。
1、主題確定模塊:主題爬蟲在工作前要確定該主題爬蟲的相關(guān)主題詞集,即建立主題文檔。主題詞集的確定通常有兩種,一種是人工確定,另一種是通過初始頁面集抽取所得。人工確定主題詞集,關(guān)鍵詞的訓選取具有主觀性,而初始頁面抽取的關(guān)鍵詞高噪音和低覆蓋率。主題詞的個數(shù)作為主題向量的維數(shù),而相應(yīng)的權(quán)值則為主題向量的各個分量值。記主題詞集向量為:K={k1,k2,…,kn},n為主題詞的個數(shù)。
2、相似度計算模塊:為了保證爬蟲獲取的網(wǎng)頁能夠盡量向主題靠攏,必須對網(wǎng)頁進行過濾,將主題相關(guān)度較低的網(wǎng)頁(小于設(shè)定的閾值)剔除,這樣就不會在下一步爬行中處理該頁面中的鏈接。因為一個頁面的主題相關(guān)度如果很低,說明該網(wǎng)頁很可能只是偶爾出現(xiàn)某些關(guān)鍵詞,而頁面的主題可能和指定主題幾乎沒有什么關(guān)系,處理其中的鏈接意義很小,這是主題爬蟲和普通爬蟲的根本區(qū)別。普通爬蟲是根據(jù)設(shè)定的搜索深度,對所有鏈接進行處理,結(jié)果返回了大量無用的網(wǎng)頁,而且進一步增加了工作量。將整篇文本用于相似度對比顯然是一個不可行的辦法,通常需要將文本的進行提煉和抽取,轉(zhuǎn)化為適合比對和計算的數(shù)據(jù)結(jié)構(gòu),同時要保證盡可能的體現(xiàn)文本的主題。通常的主題爬蟲采用的特征選取是VSM,也涉及TF-IDF算法。本文運用的是基于《知網(wǎng)》的語義相似度計算,通過對文檔和主題詞文檔的詞語之間的相似度計算,得到整篇文章與主題的相似度值。
3、URL優(yōu)先級排序模塊:URL優(yōu)先級排序模塊主要是從未訪問的URL中篩選出與主題相似度高的潛在頁面,根據(jù)相似度的高低進行排序,相似度越高的優(yōu)先級越高,盡可能優(yōu)先訪問相似度高的,以保證訪問的頁面高主題相關(guān)。對未訪問URL進行排序時,可以結(jié)合URL所在頁面和URL錨文本(描述URL的文本)的相似度作為優(yōu)先級排序的影響因素。
本發(fā)明利用《知網(wǎng)》對每個詞的語義信息的定義來計算詞語之間相似度。在知網(wǎng)中,對于兩個詞語W1和W2,,設(shè)W1有個概念:W2有m個概念:W1和W2的相似度是W1的每個概念與W2的每個概念的相似度的最大值,公式如
這樣,兩個詞語間的相似度可以轉(zhuǎn)化為概念之間的相似度計算,知網(wǎng)中所有概念都最終歸結(jié)于義原的表示,所以概念間相似度的計算也可以歸結(jié)于與之對應(yīng)的義原間相似度的計算。假設(shè)概念c1和概念c2分別有p和q個義原,分別記為概念c1和概念c2的相似度是c1的每個義原和c2的每個義原的相似度的最大值,公式為:
《知網(wǎng)》中所有概念都最終歸結(jié)于義原的表示,所以概念之間相似度的計算也可以歸結(jié)于與之對應(yīng)的義原間相似度的計算。由于所有的義原根據(jù)上下位關(guān)系構(gòu)成了一個樹狀的義原層次體系,故可采用義原在義原層次體系中的語義距離來計算義原相似度,進而得出概念相似度[27]。假設(shè)兩個義原和在義原層次體系中的路徑距離為Dis(s1,s2),則義原的相似度計算公式為:
其中Dis(s1,s2)是s1和s2在義原層次體系中的路徑長度,這里利用的是義原上下位關(guān)系,它是一個正整數(shù)。
本發(fā)明主題爬蟲的設(shè)計是以普通爬蟲為基礎(chǔ),進一步功能擴充。在對網(wǎng)頁的整個處理過程中步驟:初始種子URL確定、提取網(wǎng)頁內(nèi)容,主題相關(guān)度分析、URL排序。
(a)初始種子URL選取面向特定主題的較好的種子站點,使主題爬蟲能夠順利展開爬行工作。
(b)提取網(wǎng)頁內(nèi)容:下載優(yōu)先級高的URL所指向的頁面,根據(jù)HTML標簽抽取所需內(nèi)容和URL信息。
(c)主題相關(guān)度分析是主題爬蟲的核心模塊,它決定頁面的取舍。本發(fā)明主要采用將現(xiàn)有的VSM技術(shù)和SSRM技術(shù)相結(jié)合的廣義向量空間模型GVSM來計算主題相關(guān)度。
主題相關(guān)度分析,用TF-IDF抽取文本關(guān)鍵詞,并算出詞的權(quán)重,對網(wǎng)頁進行相關(guān)度分析。
TF-IDF相關(guān)計算:
其中wdi為詞i在文檔d中的權(quán)重,tfi為詞i的詞頻,idfi為詞i的逆文檔頻率,fi為詞i在文檔d中出現(xiàn)的次數(shù),fmax為在文檔d所有詞中出現(xiàn)頻率最高的次數(shù),N為所有文檔數(shù),Ni為包含詞i的文檔數(shù)。TF-IDF仍是當前最有效的提取關(guān)鍵詞和計算詞的權(quán)值的方法。
VSM主題相關(guān)度計算:
其中為文檔d的詞向量,為主題t的詞向量,wdi,wti為詞i在文檔d和主題t的TF-IDF值,n為文檔d和主題t中出現(xiàn)的共同詞的個數(shù)。該算法只考慮文檔中出現(xiàn)相同詞的頻率向量,以此作為文檔相似度判斷,并未考慮到詞與詞之間語義上存在的關(guān)系,例如近義詞,同義詞等,從而影響了相似度的準確度。
SSRM主題相關(guān)度計算:
其中wdi,wti為詞i在文檔d和主題t的TF-IDF值,n,m分別為文檔d和主題t的詞數(shù),Semij為詞i和詞j的語義相似度。
其中C1,C2是兩個概念,相當于詞w1和詞w1,Sem(C1,C2)為概念C1和概念C2的語義相似度,C3是C1和C2享有的最低共同概念,Path(C1,C3)為C1到C3路徑上的節(jié)點數(shù),Path(C2,C3)為C2到C3路徑上的節(jié)點數(shù),Depth(C3)為在一些不同的本體中,C3到根結(jié)點路徑上的節(jié)點數(shù)。采用SSRM的算法,只考慮了語義上的關(guān)系,如果存在兩篇文章中的詞都是近義詞或同義詞,那么這篇文檔相似度會計算的1,即完全相同,這顯然是欠缺準確的。
本發(fā)明采用結(jié)合VSM和SSRM計算相似度的方法,也稱作廣義向量空間模型,簡稱GVSM,其計算式為:
其中Sim(dk,t)為文檔dk的主題相似度,本發(fā)明兼顧文檔詞頻因素和詞與詞之間的語義聯(lián)系,采用將VSM與SSRM相結(jié)合的方法,有效提高主題相似度計算的精準度。
(d)對未訪問網(wǎng)頁URL的重要程度進行排序。采用的是以下公式對URL進行排序:
其中priority(h)為未訪問的超鏈接h的優(yōu)先值,N為包含h的檢索網(wǎng)頁數(shù),Sim(fp,t)為網(wǎng)頁p(包含超鏈接h)全文的主題相似度,Sim(ah,t)為超鏈接h的錨文本的主題相似度,λ為調(diào)節(jié)全文與錨文本的權(quán)重值。公式中的相似度計算同樣采用VSM和SSRM相結(jié)合的方法,優(yōu)化了未爬取URL鏈接隊列的優(yōu)先級排序,同樣有效提高了主題學術(shù)資源獲取的準確性。
本發(fā)明主題爬蟲是專為抓取某個主題資源而出現(xiàn)的網(wǎng)絡(luò)信息抓取工具,相比于通通常的網(wǎng)絡(luò)爬蟲,主題爬蟲目的在于抓取與特定主題內(nèi)容相關(guān)的網(wǎng)頁信息,需要通過計算網(wǎng)頁與主題的相關(guān)程度來判斷是否抓取該網(wǎng)頁,并且維護一個待爬取URL隊列,根據(jù)URL的優(yōu)先級對頁面進行訪問,以保證相關(guān)度高的頁面優(yōu)先被訪問。
目前的主題爬蟲存在著一些缺陷:(1)主題爬蟲在工作前要確定該主題爬蟲的相關(guān)主題詞集。主題詞集的確定通常有兩種,一種是人工確定,另一種是通過初始頁面分析所得。人工確定方法存在一定的主觀性;而通過初始頁面提取關(guān)鍵字的方法,一般在主題覆蓋率上有所不足。兩種傳統(tǒng)的方法都會在主題爬蟲進行網(wǎng)頁主題相似度計算時造成不小的偏差。(2)目前基于文本啟發(fā)式主題爬蟲的核心是頁面相似度計算,判斷當前爬取網(wǎng)頁是否與主題相近,除了與主題確定模塊的精確度有關(guān)外,最主要的就是相似度計算算法,通常采用的是VSM(向量空間模型),基于不同詞之間是不相關(guān)的假設(shè),以詞向量來表示文本,通過共有詞頻計算文檔間的相似度,這種算法往往忽略了詞語詞之間的語義關(guān)系,降低了在語義上高度相關(guān)文章的相似值。
本發(fā)明主題爬蟲的設(shè)計是以通用爬蟲為基礎(chǔ),增加三個核心模塊:主題確定模塊,主題相似度計算模塊和待爬取URL排序模塊。針對以上不足,本發(fā)明提出基于主題模型LDA的主題爬蟲,并改進主題相似度算法和URL優(yōu)先級排序算法,從爬取的初始和爬取的過程提高主題爬蟲的內(nèi)容質(zhì)量與準確度。主要貢獻點:(1)通過LDA主題模型,深度挖掘語料主題語義信息,為主題爬蟲構(gòu)造良好的指導基礎(chǔ),將機器學習融入到資源的獲取方法中,提高資源獲取的準度和質(zhì)量。(2)在主題爬蟲主題相似度計算模塊,采用將基于《知網(wǎng)》的語義相似度計算的方法,平衡余弦相似度和語義相似度,達到更好的主題匹配效果。
二、學術(shù)資源的分類
本發(fā)明采用基于LDA的文本分類方法,如圖7所示,使用貝葉斯概率計算模型作為文本分類模型,提取最能體現(xiàn)該篇待分類文本特性的一組特征詞作為用于輸入文本分類模型的特征詞集,原始特征詞集就是將原始詞集按特性權(quán)重排序后的前面部分,用文本分類模型計算所述特征詞組合歸屬預(yù)定A個類別中的每個類別的概率,取概率值最大的類別作為其所屬類別;根據(jù)教育部《研究生學科專業(yè)目錄》中的學科門類,將所有學科分為75個學科類別,即所述類別數(shù)A為75個類別。使用以上所述的LDA主題模型與經(jīng)其訓練所得的100個主題文檔來輔助文本分類模型進行文本分類。還預(yù)先用類別明確的驗證語料按預(yù)定類別數(shù)A讓文本分類模型進行分類驗證,以獲得文本分類模型對A個類別中的每個類別的分類準確率,作為文本分類模型對A個類別中的每個類別的歸類可信度指標;該準確率為被文本分類模型分到某個類別的所有驗證語料中屬被正確分類的語料的比率,并預(yù)設(shè)分類準確率閾值;文本分類模型進行分類驗證時預(yù)設(shè)分類準確率閾值為80%較為合適。用文本分類模型對每一篇待分類文本進行文本分類時具體包括以下步驟:
步驟一、對每一篇待分類文本分別計算該文本的經(jīng)預(yù)處理后的所有詞的特性權(quán)重,詞的特性權(quán)重數(shù)值與在該文本中出現(xiàn)的次數(shù)成正比,與在所述訓練語料中出現(xiàn)的次數(shù)成反比,將計算所得的詞集按其特性權(quán)重數(shù)值大小降序排列,提取每一篇待分類文本原始詞集的前面部分作為其特征詞集。
步驟二、使用文本分類模型,選取每一篇待分類文本原始特征詞集用來分別計算該篇文本可能歸屬預(yù)定A個類別中各個類別的概率值,選取概率值最大的類別作為該篇文本分類類別;
步驟三、對步驟二的文本分類結(jié)果進行判斷,如果文本分類模型對該類別的分類準確率數(shù)值達到設(shè)定閾值就直接輸出結(jié)果;如果文本分類模型對該類別的分類準確率數(shù)值未達到設(shè)定閾值,就進入步驟四;
步驟四、將每一篇經(jīng)預(yù)處理的文本輸入所述LDA主題模型,用LDA主題模型計算出該篇文本對應(yīng)所設(shè)定的K個主題中的每個主題的權(quán)重值,選取權(quán)重值最大的主題,并將預(yù)先經(jīng)LDA主題模型訓練后所得到的該主題下的主題關(guān)聯(lián)詞中的前Y個詞加入至該篇文本的原始特征詞集之中共同作為擴充后的特征詞集,再次使用文本分類模型,分別計算該篇文本可能歸屬預(yù)定A個類別中各個類別的概率值,選取概率值最大的類別作為該篇文本最終分類類別。具體可取10至20個詞,如取主題關(guān)聯(lián)詞中的前15個詞加入至該篇文本的原始特征詞集之中共同作為擴充后的特征詞集;即使新加入的詞與原始特征詞有重復也沒關(guān)系。
文本分類模型的主要計算公式為:
其中P(cj|x1,x2,...,xn)表示特征詞(x1,x2,…,xn)同時出現(xiàn)時該文本屬于類別cj的概率;其中P(cj)表示訓練文本集中,屬于類別cj的文本占總數(shù)的比率,P(x1,x2,...,xn|cj)表示如果待分類文本屬于類別cj,則這篇文本的特征詞集為(x1,x2,...,xn)的概率,P(c1,c2,...,cn)表示給定的所有類別的聯(lián)合概率。
顯然,對于給定的所有類別,分母P(c1,c2,...,cn)是一個常數(shù),模型分類結(jié)果為(1)式中概率最大的類別,求解(6)式的最大值可轉(zhuǎn)化為求解下式的最大值
又根據(jù)貝葉斯假設(shè),文本特征向量屬性x1,x2,...,xn獨立同分布,其聯(lián)合概率分布等于各個屬性特征概率分布的乘積,即:
P(x1,x2,...,xn|cj)=ΠiP(xi|cj) (36)
所以(7)式變?yōu)椋?/p>
即為所求的用于分類的分類函數(shù)。
分類函數(shù)中的概率值P(cj)和P(xi|cj)還是未知的,因此,為了計算分類函數(shù)的最大值,(9)式中的先驗概率值分別估計如下:
其中,N(C=cj)表示訓練文本中屬于cj類別的樣本數(shù)量;N表示訓練樣本總數(shù)量。
其中,N(Xi=xi,C=cj)表示類別cj中包含屬性xi的訓練樣本數(shù)量;N(C=cj)表示類別cj中的訓練樣本數(shù)量;M表示訓練樣本集合中經(jīng)過去除無用詞后關(guān)鍵詞的數(shù)量。
LDA是Blei等人在2003年提出的一種對離散數(shù)據(jù)集建模的統(tǒng)計主題模型,是一個“文檔-主題-詞”的三層貝葉斯生成模型。最初的模型只對“文檔-主題”概率分布引入一個超參數(shù)使其服從Dirichlet分布,隨后Griffiths等人對“主題-詞”概率分布也引入了一個超參數(shù)使其服從Dirichlet分布。LDA模型如圖2所示。其中:N為這篇文檔的單詞數(shù)量,M為文檔集中的文檔數(shù)量,K為主題個數(shù),為主題-詞的概率分布,θ為文檔-主題的概率分布,Z為隱含變量表示主題,W為詞,α為θ的超參,β為的超參。
LDA主題模型把一篇文檔看作是一組詞的集合,詞與詞之間沒有先后順序,而且一篇文檔可以包含多個主題,文檔中每個詞都是由某個主題生成,同一個詞也可以屬于不同的主題,因此LDA主題模型是一種典型的詞袋模型。
訓練LDA模型的關(guān)鍵是隱含變量分布的推斷,即獲取目標文本的隱含文本-主題分布θ和主題-詞分布若給定模型參數(shù)α,β,文本d的隨機變量θ、z和w的聯(lián)合分布為:
由于上式同時存在多個隱含變量,直接計算θ,是不可能的,所以需要對參數(shù)進行估計推斷,目前常見的參數(shù)估計算法有期望最大化(Expectation Maximization,EM)、變分貝葉斯推理和Gibbs抽樣。本文采用Gibbs抽樣進行模型參數(shù)的推斷,Griffiths指出Gibbs抽樣在Perplexity值和訓練速度等方面均優(yōu)于變分貝葉斯推理和EM算法。EM算法由于其似然函數(shù)局部最大化問題往往導致模型找到的是局部最優(yōu)解,而變分貝葉斯推理得到的模型與真實情況有所偏差,Gibbs抽樣能快速有效的從大規(guī)模數(shù)據(jù)集中提取主題信息,成為目前最流行的LDA模型提取算法。
MCMC是一套從復雜概率分布中抽取樣本值的近似迭代方法,Gibbs抽樣作為MCMC的一種簡單實現(xiàn)形式,目的是構(gòu)造收斂于特定分布的Markov鏈,并從鏈中抽取接近目標概率分布值的樣本。在訓練過程中,算法只對主題變量zi進行抽樣,其條件概率計算公式如下:
其中,等式左邊含義為:當前詞wi在已知其他詞各自所屬主題的條件下,該詞屬于主題k的概率;等式右邊ni-1為第k個主題下第i個單詞個數(shù)減去1;nk-1為該文檔第k個主題的個數(shù)減去1;第一個乘子為wi這個詞在k號主題下的概率;第二個乘子為第k個主題在該篇文檔里的概率。
Gibbs抽樣具體步驟為:
1)初始化,為每個詞wi隨機分配主題,zi是詞的主題,將zi初始化為1到K之間的一個隨機整數(shù),i從1到N,N為文本集的特征詞記號,此為Markov鏈的初始態(tài);
2)i從1循環(huán)到N,根據(jù)公式(2)計算當前詞wi屬于各個主題的概率,并依此概率對詞wi重新抽樣主題,獲得Markov鏈的下一狀態(tài);
迭代步驟2)足夠次數(shù)后,認為Markov鏈已達穩(wěn)態(tài),至此這篇文檔的每個詞都有一個特定的所屬主題;對于每篇文檔,文本-主題分布θ和主題-詞分布的值可按下列公式估算:
其中,表示特征詞w分配給主題k的次數(shù),表示分配給主題k的特征詞數(shù),表示文本d中分配給主題k的特征詞數(shù),表示文本d中所有分配了主題的特征詞數(shù)。
作為文本分類模型可信度指標的分類準確率,是通過概率來計算的,具體公式如下:
其中,i表示類別,Ni表示分類器正確預(yù)測i類別的次數(shù),Mi表示分類器預(yù)測i類別的總次數(shù)。
可采用查準率P,查全率R和兩者的綜合評價指標F1作為最終的評價指標,查準率P衡量的是正確判定該類別的測試樣本占判定為該類別的測試樣本的比例,查全率R衡量的是正確判定該類別測試樣本占該類別所有測試樣本的比例。以某類別Ci為例,n++表示正確判定樣本屬于類別Ci的數(shù)量,n+-表示不屬于但卻被判定為類別Ci的樣本數(shù),n-+表示屬于但被判定為不屬于類別Ci的樣本數(shù)。對于類別Ci而言,查全率R、查準率P和綜合指標F1值為:
發(fā)明者曾進行了三組實驗:實驗一,基于原始特征集進行分類器性能測試;實驗二,基于擴充后的特征集進行分類器性能測試;實驗三,基于選擇性特征擴展后的特征集進行分類器性能測試,其中可信度閾值設(shè)置為0.8。表2為三次實驗在部分學科上的查全率和查準率:
表2部分學科的查全率和查準率
由表2可知,基于原始特征集進行實驗時,歷史學查全率較高,而查準率較低,說明有較多的不屬于歷史學學科的數(shù)據(jù)被分類器歸為了歷史學,同時發(fā)現(xiàn)科學技術(shù)史學科查全率較低,說明有很多本屬于這個學科的數(shù)據(jù)被歸為了其他學科,由于這兩個學科主題十分類似,這很有可能是分類器把較多屬于科學技術(shù)史的數(shù)據(jù)歸類為歷史學。類似的情況同樣出現(xiàn)在了地質(zhì)資源與地質(zhì)工程學科和地質(zhì)學學科上?;跀U展后特征集對上面的問題有所改善,但對之前識別度高的學科產(chǎn)生了影響。而進行選擇性特征擴展一方面避免了對識別度高的學科產(chǎn)生影響,另一方面對本身由于信息量不足引起識別度低的學科有一定程度上的改善。
根據(jù)上面的實驗結(jié)果可以計算出三次實驗各自的平均查全率、平均查準率和平均F1值。結(jié)果如下:
表3實驗對比
由表3可以看出,面對復雜的分類場景,本發(fā)明基于選擇性特征擴展的方法相比于基于原始特征集或基于擴展后的特征集的方法具有更好的適應(yīng)性,平均查全率、平均查準率和平均F1值明顯高于其它方案,能夠達到較好的實用效果。
圖6為三次實驗在部分學科上的查全率示意圖;圖7為三次實驗在部分學科上的查準率示意圖。
由于大數(shù)據(jù)時代的到來,資源分類面臨的挑戰(zhàn)越來越大,不同的應(yīng)用場景需要采用不同的分類技術(shù),不存在一項技術(shù)適合所有的分類任務(wù)。本發(fā)明提出的基于選擇性特征擴展的方法適合復雜的應(yīng)用場景,有選擇的對信息量少的數(shù)據(jù)增加主題信息,同時避免對信息量充足的數(shù)據(jù)增加噪音,并且本發(fā)明方法具有普遍的適應(yīng)性。
三、學術(shù)資源的推薦
本發(fā)明向用戶推薦其相應(yīng)的學術(shù)資源的過程包括冷啟動推薦階段與二次推薦階段,冷啟動推薦階段基于興趣學科為用戶推薦符合其興趣學科的優(yōu)質(zhì)資源,所述優(yōu)質(zhì)資源即為經(jīng)資源質(zhì)量值計算模型計算后比較所得的資源質(zhì)量值高的學術(shù)資源,資源質(zhì)量值為資源權(quán)威度、資源社區(qū)熱度和資源時新度的算術(shù)平均值或加權(quán)平均值;二次推薦階段,分別對用戶興趣模型和資源模型建模,計算用戶興趣與資源模型二者的相似性,再結(jié)合資源質(zhì)量值計算推薦度,最后根據(jù)推薦度為用戶進行學術(shù)資源Top-N推薦。
1、冷啟動階段推薦算法:
表4五大類資源的屬性和衡量標準
優(yōu)質(zhì)的學術(shù)資源能夠吸引和留住新用戶。在冷啟動階段,本文擬向用戶推薦符合其興趣學科的優(yōu)質(zhì)資源。優(yōu)質(zhì)資源即質(zhì)量值高的學術(shù)資源,質(zhì)量值的衡量標準主要包括權(quán)威度、社區(qū)熱度和時新度等屬性。五大類資源的屬性和衡量標準如表4所示。
論文權(quán)威度Authority的計算公式如下:
Level是論文發(fā)表刊物級別被量化后的得分。本文將刊物級別分為5個等級,分數(shù)依次為1、0.8、0.6、0.4和0.2分。頂尖雜志或會議如Nature、Science得1分,第二級別的如ACM Transaction得0.8分,最低級別的得0.2分。Cite的計算公式如下:
Cite=Cites/maxCite. (2)
Cite是論文被引量的量化結(jié)果,Cites是論文的被引量,maxCite是論文來源數(shù)據(jù)庫中最大的被引量。
其他四類資源的權(quán)威度計算與論文類似,只是量化方法不同而已。
論文社區(qū)熱度Popularity的計算公式如下:
Popularity=readTimes/maxReadTimes. (3)
readTimes是論文的閱讀次數(shù),maxReadTimes是論文來源數(shù)據(jù)庫中最大的閱讀次數(shù)。
所有資源的時新度Recentness計算方法相同,公式如下:
year和month分別是資源的發(fā)表年份和月份。minYear、minMonth、maxYear和maxMonth是該類資源的來源數(shù)據(jù)庫中所有資源的最早和最晚發(fā)表年份和月份。
論文質(zhì)量值Quality計算方法如下:
2、二次推薦階段的算法:
本階段采用融合用戶行為和資源內(nèi)容的推薦方法,分別對用戶興趣模型和資源模型建模,計算二者的相似性,再結(jié)合資源質(zhì)量值計算推薦度,最后根據(jù)推薦度進行推薦。
學術(shù)資源模型表示如下:
Mr={Tr,Kr,Ct,Lr} (6)
其中,Tr為學術(shù)資源的學科分布向量,是該學術(shù)資源分布在75個學科的概率值,由貝葉斯多項式模型得到。
Kr={(kr1,ωr1),(kr2,ωr2),...,(krm,ωrm)},m為關(guān)鍵詞個數(shù),kri(1≤i≤m)表示單條學術(shù)資源第i個關(guān)鍵詞,ωri為關(guān)鍵詞kri的權(quán)重,通過改進后的tf-idf算法得到,計算公式如下:
w(i,r)表示文檔r中第i個關(guān)鍵詞的權(quán)重,tf(i,r)表示第i個關(guān)鍵詞在文檔r中出現(xiàn)的頻度,Z表示文檔集的總篇數(shù),L表示包含關(guān)鍵詞i的文檔數(shù)。
Lr為LDALDA潛在主題分布向量,Lr={lr1,lr2,lr3...,lrN1},N1是潛在主題數(shù)量。
Ct為資源類型,t的取值可以為1,2,3,4,5即五大類學術(shù)資源:學術(shù)論文、學術(shù)專利學術(shù)新聞、學術(shù)會議和學術(shù)圖書。
根據(jù)用戶使用移動軟件的行為特點,將用戶對一個學術(shù)資源的操作行為分為打開、閱讀、星級評價、分享和收藏,星級評價屬于顯式行為,其它的屬于隱式行為。顯式行為能夠明確的反映用戶興趣偏好程度,如星級評價,評分越高說明用戶越喜歡該資源;隱式行為雖不能明確反映用戶興趣偏好,但其蘊含的信息量和信息價值往往比顯式反饋更多更高。
用戶興趣模型主要基于用戶背景及瀏覽過的學術(shù)資源。根據(jù)用戶的不同瀏覽行為,結(jié)合學術(shù)資源模型,可構(gòu)建用戶興趣模型,此模型將隨用戶興趣變化而動態(tài)調(diào)整。用戶興趣模型表示如下:
Mu={Tu,Ku,Ct,Lu} (8)
其中,Tu是用戶一段時間內(nèi)瀏覽過的某類學術(shù)資源的學科分布向量Tr經(jīng)過用戶行為后,形成的用戶學科偏好分布向量,即
其中,sum為用戶產(chǎn)生過行為的學術(shù)資源總數(shù),sj為用戶對學術(shù)資源j產(chǎn)生行為后的“行為系數(shù)”,該值越大說明用戶越喜歡該資源。Tjr表示第j篇資源的學科分布向量。sj的計算綜合考慮了打開、閱讀、評價、收藏和分享等行為,能夠準確反映用戶對資源的偏好程度。
Ku={(ku1,ωu1),(ku2,ωu2),...,(kuN2,ωuN2)}是用戶關(guān)鍵詞偏好分布向量,N2為關(guān)鍵詞個數(shù),kui(1≤i≤N2)表示第i個用戶偏好關(guān)鍵詞,ωui為關(guān)鍵詞kui的權(quán)重,通過用戶u一段時間內(nèi)產(chǎn)生過行為的所有學術(shù)資源的“關(guān)鍵詞分布向量”Kr計算得到。
Kjr′=sj*Kjr (10)
根據(jù)公式10可以計算出每篇學術(shù)資源新的關(guān)鍵詞分布向量,再選取所有資源新的關(guān)鍵詞分布向量的TOP-N2作為用戶的關(guān)鍵詞偏好分布向量Ku。
Lu為用戶的LDA潛在主題偏好分布向量,由學術(shù)資源的LDA潛在主題分布向量Lr={lr1,lr2,lr3...,lrN1}計算得到,方法同Tu.
行為系數(shù)的計算:s表示行為系數(shù),T是閱讀時間閾值,δ是一個調(diào)節(jié)參數(shù),加入閱讀時間閾值,旨在防止誤點擊,所以此值很小。如果用戶閱讀資源j的時間小于閾值T,則認為用戶是誤點擊,s=0。在用戶愿意花較長時間閱讀即閱讀時間大于等于T的條件下,如果用戶做出評價且評價值大于其之前所有評價的均值mean,則認為其喜歡j,將s增加δ。如果用戶對j進行了收藏或分享,說明用戶很喜歡j,將s增加δ。本發(fā)明認為閱讀、評價、收藏、分享是由淺入深地反映用戶的興趣偏好。s的取值主要取決于初始值和調(diào)節(jié)參數(shù)δ,我們想將用戶的所有行為映射為一個0到2的值,所以初始值為1,調(diào)節(jié)參數(shù)δ=0.333333。
學術(shù)資源模型與用戶興趣模型相似度計算:
學術(shù)資源模型表示:
Mr={Tr,Kr,Ct,Lr} (12)
用戶興趣模型表示:
Mu={Tu,Ku,Ct,Lu} (13)
用戶學科偏好分布向量Tu與學術(shù)資源學科分布向量Tr的相似度通過余弦相似度計算,即:
用戶的LDA潛在主題分布向量Lu與學術(shù)資源的LDA潛在主題分布向量Lr的相似度通過余弦相似度計算,即:
用戶關(guān)鍵詞偏好分布向量Ku與學術(shù)資源關(guān)鍵詞分布向量Kr的相似度計算通過Jaccard Similarity計算:
則用戶興趣模型與學術(shù)資源模型的相似度為:
其中,σ+ρ+τ=1,具體權(quán)重分配由實驗訓練得到。
為了向用戶推薦其感興趣的優(yōu)質(zhì)資源,引入推薦度Recommendation_degree概念,某一學術(shù)資源的推薦度越大說明該資源越符合用戶的興趣偏好,且資源越優(yōu)質(zhì)。推薦度計算公式如下:
Recommendation_degree=λ1Sim(Mu,Mn)+λ2Quality(λ1+λ2=1) (18)
二次推薦階段便是根據(jù)學術(shù)資源的推薦度進行Top-N推薦。
整個推薦過程如圖10所示,從圖2可知,系統(tǒng)整體的推薦流程包括三部分:資源模型的構(gòu)建、冷啟動階段的推薦和二次推薦過程,它們的具體步驟如下:
資源模型的構(gòu)建過程:
1)通過網(wǎng)絡(luò)爬蟲和數(shù)據(jù)接口技術(shù)獲取五類學術(shù)資源數(shù)據(jù);
2)解析并提取每條學術(shù)資源的相關(guān)信息,插入資源庫;
3)對資源庫中的每條數(shù)據(jù)進行預(yù)處理,包括分詞和去停留詞;
4)通過已經(jīng)訓練好的三類模型計算每條資源的學科分布、關(guān)鍵詞分布和LDA潛在主題分布,三類模型分別是貝葉斯多項式模型、VSM和LDA模型;
5)根據(jù)學科分布向量得到資源的學科類別,資源的學科類別是學科分布向量中概率較大的前3個學科;
6)計算每條資源的質(zhì)量值;
7)將學科分布向量、關(guān)鍵詞分布向量、LDA潛在主題分布向量、學科類別和質(zhì)量值插入資源庫。
冷啟動階段的推薦過程:
1)選擇符合用戶興趣學科的學術(shù)資源
2)根據(jù)學術(shù)資源的質(zhì)量值進行優(yōu)質(zhì)資源推薦。
二次推薦階段的推薦過程:
1)取得用戶的瀏覽記錄,計算“行為系數(shù)”;
2)構(gòu)建用戶興趣模型;
3)計算資源模型與用戶興趣模型的相似度;
4)根據(jù)相似度和質(zhì)量值計算推薦度;
5)根據(jù)資源的推薦度進行Top-N推薦。
為方便后續(xù)計算,我們提前構(gòu)建了資源模型,當用戶首次使用本系統(tǒng)時,我們采用冷啟動階段的推薦策略為其推薦學術(shù)資源;當用戶的行為數(shù)據(jù)達到一定數(shù)量后,便采用二次推薦策略為其推薦學術(shù)資源。
本發(fā)明主要根據(jù)學術(shù)資源及用戶數(shù)據(jù)的不斷積累變化而提出對應(yīng)的推薦策略。冷啟動階段為用戶推薦符合其興趣學科的優(yōu)質(zhì)資源;二次推薦階段從資源類型、學科分布、關(guān)鍵詞分布和LDA潛在主題分布共四個維度對各類學術(shù)資源建模,根據(jù)用戶行為對用戶興趣偏好建模,最后根據(jù)資源推薦度進行Top-N推薦。
實驗結(jié)果表明,本發(fā)明所采用的學術(shù)資源推薦策略,能充分迎合用戶的興趣學科,在提升資源的CTR方面取得明顯的效果;二次推薦階段,從實驗結(jié)果可知,本發(fā)明所采用的建模方法下的推薦策略在Precision方面明顯高于目前兩種常用資源建模方式下的推薦策略。