本發(fā)明涉及文獻推薦技術領域,具體地說,它是一種基于領域知識圖譜的個性化文獻推薦方法的研究。
背景技術:
隨著信息科技時代的到來,數據信息爆炸式的增長,怎樣才能在海量的數據中獲得重要的信息,是現如今亟待解決的問題。在這樣的形式下,推薦系統(tǒng)應運而生,并逐漸成為信息時代不可或缺的組成部分。文獻推薦是推薦系統(tǒng)的一個應用方向,可幫助用戶在海量文檔中找出有價值的文獻。
傳統(tǒng)的文獻推薦技術采用關鍵字表示文獻模型和用戶模型的特征,并使用詞頻反文檔頻率(tfidf)方法計算各個特征的權重,然而這種僅考慮詞頻的算法,會導致非關鍵詞由于詞頻占優(yōu)而被誤判為權重較大的關鍵詞,進而造成用戶興趣的失真。近幾年,研究人員提出使用潛在狄利克雷分布(latentdirichletallocation,lda)模型挖掘文章中隱藏主題的方法進行文獻推薦,然而現有基于lda模型進行文獻推薦的方法并沒有考慮用戶興趣變遷問題,由于在一段時間內,用戶可能會對某個話題感興趣,也有可能會對其失去興趣,因此用戶的研究興趣是動態(tài)變化的;此外在構建每篇文獻模型與根據用戶已有研究得到的用戶模型的過程中主題數量過少,導致數據的稀疏性,從而無法準確的捕捉用戶興趣。
在構建文獻模型與用戶模型后,需要計算兩個模型的相似性,從而將按相似性大小排序后的文獻集返回給用戶。傳統(tǒng)的相似性計算主要是將兩個模型定義為向量,采用余弦相似性方法進行計算,然而此方法對兩個向量的元素個數匹配有強制性的要求,這就加劇了數據稀疏性的問題。因此,現有技術還有待于改進和發(fā)展。
技術實現要素:
為了克服上述現有技術的不足,本發(fā)明提供了一種基于知識圖譜的個性化文獻推薦方法,采用lda模型構建知識圖譜,并在此基礎上,分別構建用戶興趣模型與文獻模型,解決了詞頻統(tǒng)計方法不精確的問題;在建模的過程引入時間遺忘曲線函數,解決了用戶興趣變遷的問題;同時在建模過程中引入了激活擴散技術,解決了數據稀疏性的問題;在計算相似性的過程中采用基于知識距離的方法,有效的避免了元素個數匹配的強制性問題。
為解決所述技術問題,本發(fā)明采用的技術方案具體如下:
一種基于領域知識圖譜的個性化文獻推薦方法,其特征在于,所述方法包括如下步驟:
步驟1:構建知識圖譜數據結構
抽取文獻的標題與摘要作為文獻庫,采用lda的“文獻-主題”理論從文獻庫中抽取主題,設置閾值,將滿足閾值的主題抽取出來,構建數據結構的節(jié)點集。通過兩個節(jié)點在文獻中出現的頻率定義節(jié)點之間關系的權重,設置閾值,將滿足閾值的關系抽取出來,構建數據結構的邊集與權重集?;诖?,得到基于“節(jié)點-邊-權重”模式的知識圖譜數據結構。
步驟2:構建用戶知識模型
利用激活擴散理論與時間遺忘曲線函數對用戶知識進行建模,從而得到能夠代表用戶研究興趣的向量。
步驟3:構建文獻知識模型
利用激活擴散理論對每篇文獻知識進行建模,從而得到能夠代表每篇文獻的向量模型。
步驟4:計算知識距離,生成推薦結果
首先,統(tǒng)計用戶知識模型與每篇文獻知識模型的知識距離集,即知識路徑的集合。然后,對于每條路徑,計算路徑內主題的重要程度,通過對主題的重要程度累積來衡量此文獻與路徑的匹配程度。對每篇文獻的路徑進行遍歷求和得到此文獻的最優(yōu)值。最后,按最優(yōu)值對文獻進行排序,從而找到最接近用戶研究興趣的前n篇文獻,返回給用戶。
所述步驟2具體包括:
步驟2-1統(tǒng)計用戶已發(fā)表的文獻,并將其進行預處理,得到用戶文獻集。定義專業(yè)等級expertise(u,t)為主題對用戶的重要程度,由于目前的研究并沒有考慮研究人員短期興趣變遷的問題,因此在計算專業(yè)等級的過程中引入時間遺忘曲線函數。具體的計算公式如下:
其中expertise(u,t)代表主題對用戶的重要程度;n代表時間段;mj為時間段j內用戶已發(fā)表文獻的個數;t代表主題;udi代表指定時間段內的一篇文獻;tt為時間段j內主題t的持續(xù)時間;參數a,b的引入,是為了調節(jié)主題的重要程度,使重要程度和當前研究興趣保持最大相關性;ω(udi,t)代表文獻udi屬于主題t的概率,而
其中,
其中,k代表文獻中的詞語;
步驟2-2為了解決數據稀疏性的問題,引入激活擴散理論。設定閾值,對于大于指定閾值的專業(yè)等級expertise(u,t)構成初始用戶知識集iut={iut1,iut2,……iutn},即iut1代表主題t1的專業(yè)等級。以知識圖譜數據結構為基礎,使用激活擴散技術對初始知識模型中的主題值進行擴充,激活擴散過程的公式所示:
o=[ε-(1-α)×wt]-1×iut(4)
其中,iut為激活擴散過程的輸入,即主題expertise(u,t)值的集合;w表示激活擴散過程中的關系矩陣,矩陣中的元素wij表示主題ti與主題tj的關系權重,即已構建知識圖譜中的關系權重組成的矩陣;α是延遲因子;ε是n階單位矩陣;o=[o1,o2,…,on]t是擴散激活過程的最終輸出,oi是主題ti的激活擴散值,代表主題ti經過擴散后對于用戶的重要程度。設定閾值,對于激活擴散過程后大于指定閾值的激活擴散值構成用戶知識模型ut={ut1,ut2,……utn},即ut1代表主題t1的激活擴散值。
所述步驟3具體包括:
步驟3-1由于每篇文獻只具有少量的特征主題,因此在文獻知識建模的過程中,同樣引入激活擴散理論。首先對每篇文獻進行預處理,定義重要等級importance(u,t)為主題對用戶的重要程度。如下公式所示:
importance(u,t)=w(d,t)(5)
其中w(d,t)的計算公式同公式(2),對于大于指定閾值的主題集構成每篇文獻的初始知識集gt={gt1,gt2,……gtn},即gti代表主題ti的重要程度。
步驟3-2將文獻初始知識集作為激活擴散的輸入,經過激活擴散過程,如下公式所示:
ol=[ε-(1-α)×wt]-1×gt(6)
其中,gt代表大于指定閾值的主題重要程度importance(u,t)的集合;w同樣代表已構建知識圖譜中的關系權重組成的矩陣;ol=[ol1,ol2,…,oln]t為激活擴散的輸出集合;oli代表主題t經過擴散后對于用戶的重要程度。設定閾值,對于激活擴散過程后大于指定閾值的激活擴散值構成每篇文獻的知識模型crt={crt1,crt2,……crtn}。
有益效果:
1.本發(fā)明將興趣保持模型應用在文獻推薦系統(tǒng)的用戶建模中,考慮時間對用戶短期興趣變遷的影響,準確地量化用戶當前興趣。
2.本發(fā)明在用戶建模與文獻建模過程中引入激活擴散技術,有效的解決了數據的稀疏性問題。
3.采用知識圖譜數據結構的方式對領域庫進行建模,避免了相似性計算過程中元素個數匹配的強制性要求問題。
附圖說明
圖1為本發(fā)明一種基于領域知識圖譜的個性化文獻推薦方法較佳實施例的流程圖。
圖2為圖1所示方法中步驟s100的具體流程圖。
圖3為圖1所示方法中步驟s200的具體流程圖。
圖4為圖1所示方法中步驟s300的具體流程圖。
圖5為圖1所示方法中步驟s400的具體流程圖。
具體實施方式
本發(fā)明提供一種基于知識圖譜的個性化文獻推薦方法,為使本發(fā)明的目的、技術方案及效果更加清楚、明確,以下對本發(fā)明進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
請參閱圖1,圖1為本發(fā)明一種基于知識圖譜的個性化文獻推薦方法較佳實施例的流程圖,如圖所示,其實施步驟,包括如下:
s100、構建一種基于“節(jié)點-邊-邊的權重”知識圖譜數據結構;
s200、應用主題模型,并引入時間遺忘曲線與激活擴散技術對用戶知識進行建模;
s300、應用主題模型,并引入激活擴散技術對每篇文獻知識進行建模;
s400、基于知識圖譜數據結構,在數據結構中找到用戶知識與每篇文獻知識的知識距離,并計算每篇文獻的最優(yōu)值;
s500、根據最優(yōu)值對文獻進行排序,并將排序后的文獻列表返回給用戶
進一步,如圖2所示,所述步驟s100具體包括:
s101、對文獻進行預處理,采用pubmed數據庫中2006-2012年的文獻標題與摘要作為文獻集,分別經過stanford分詞、去停用詞、詞形還原三個過程,從而得到文獻庫。
s102、應用lda文章-主題分布得到節(jié)點集。在此過程中,將閾值定義為0.3,當分布值大于閾值時,將此主題加入節(jié)點集中。
s103、計算節(jié)點與節(jié)點之間的關系權重。在此過程中,將閾值定義為0.54,當權重大于閾值時,將此關系加入邊集,并將權重作為主題之間的關系權重加入權重集。
s104、經過上述兩步驟,可以得到節(jié)點,邊以及邊的權重,從而可以得到構建出基于“節(jié)點-邊-邊的權重”的數據結構g={n,e,ew}。其中n代表節(jié)點集;e代表邊集;ew代表邊的權重集。
進一步,如圖3所示,所述步驟s200具體包括:
s201、對用戶已發(fā)表文獻進行預處理,采用梁佩鵬博士所發(fā)表的論文作為已讀文獻集,分別經過stanford分詞、去停用詞、詞形還原三個過程,得到用戶文獻集。
s202、計算用戶對主題t的專業(yè)等級,在這個過程中取a為0.855,b為1.295。
s203、抽取專業(yè)等級大于閾值的主題構成初始用戶知識集,使用激活擴散技術對初始知識模型中的概念進行擴充。在這個過程中取閾值為0.2,α為0.02;
s204、激活擴散過程后得到的主題構成用戶知識模型ut={ut1,ut2,……utn}。
進一步,如圖4所示,所述步驟s300具體包括:
s301、對文獻集中的每篇文獻進行預處理,分別經過stanford分詞、去停用詞、詞形還原三個過程。
s302、計算主題對用戶的重要程度,對于大于指定閾值的主題構成每篇文獻的初始知識集,此處取閾值為0.01.
s303、將文獻初始知識集中的主題作為激活擴散的輸入,并將主題的重要程度作為初始激活值,經過激活擴散過程。
s304、激活擴散過程后得到的主題構成每篇文獻的知識模型crt={crt1,crt2,……crtn}。
進一步,如圖5所示,所述步驟s104具體包括:
s401、統(tǒng)計用戶知識模型與每篇文獻知識模型的知識距離集,即知識路徑的集合。
s402、計算每篇文獻的最優(yōu)值。
s403、得到根據最優(yōu)值排序后的前n篇文獻集,n取為20,并將推薦的文獻返回給用戶。
實驗數據
本發(fā)明所述的文獻推薦方法所用實驗數據選擇pubmed數據集,核心主題是生物醫(yī)學,提供該領域的期刊論文出版信息、題目、摘要、關鍵字及作者信息等。從pubmed數據集中抽取了2006年至2012年,發(fā)表在神經科學領域影響因子排名前10的三個期刊分別為trendsinneurosciences、natureneuroscience、neuron的數據集,共包含文獻6325篇。領域本體采用智慧病房腦數據本體,領域本體中包含概念與關系,關系的類型主要有suclassof,domain。