王臨科,蔣祖華,李心雨
(1.上海交通大學(xué) 機械與動力工程學(xué)院,上海 200240;2.新加坡南洋理工大學(xué) 機械與宇航工程學(xué)院,新加坡 639798)
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,我國許多制造業(yè)企業(yè)都已搭建了自己的知識信息化平臺,實現(xiàn)工程知識在企業(yè)局域網(wǎng)的交互和共享。信息化平臺上的每個用戶都可以創(chuàng)建新的知識條目,經(jīng)過管理員審核后在平臺發(fā)布,以供平臺其他用戶瀏覽和使用。然而,平臺在各個專業(yè)領(lǐng)域積累的海量知識易使用戶在面臨實際工程問題時產(chǎn)生“信息過載”,使得用戶很難快速獲取所需的內(nèi)容。對此,作為一種能夠為用戶快速篩選出所需知識的工具,個性化知識推薦系統(tǒng)能夠有效提升企業(yè)知識主動供應(yīng)能力和知識重用效率,因而吸引了眾多學(xué)者進行大量的研究。
現(xiàn)有的個性化知識推薦系統(tǒng)的研究大多以提高推薦準確度為目標。而近年來,學(xué)者們意識到,除了準確度,推薦結(jié)果多樣性同樣是影響推薦效果優(yōu)劣的重要因素[1]。尤其是在工程領(lǐng)域,跨專業(yè)、跨學(xué)科的現(xiàn)象日益繁多,用戶在進行工作時對知識的需求也總是涉及到多個特定專業(yè)領(lǐng)域(主題)的知識。并且,不同于電商等領(lǐng)域用戶偏好的隨機性,工程領(lǐng)域用戶的知識需求都具有明確的指向性。例如,船用柴油發(fā)動機主要由燃油系統(tǒng)、滑油系統(tǒng)、冷卻水系統(tǒng)、啟動空氣系統(tǒng)及主機遙控系統(tǒng)等組成。用戶在進行相關(guān)的設(shè)計、維修等工作時的知識需求涉及到機械、電子、電氣、流體動力學(xué)、熱力學(xué)等多個專業(yè)領(lǐng)域,而用戶興趣大多局限于少數(shù)幾個專業(yè)領(lǐng)域。若在進行工程領(lǐng)域知識推薦時過度關(guān)注用戶偏好,將會導(dǎo)致兩方面的問題:1) 目標用戶推薦列表主題單一,專業(yè)多樣性差,對用戶所需的知識主題領(lǐng)域覆蓋率低且沒有針對性,使推薦結(jié)果不能很好地滿足用戶的知識需求;2) 僅根據(jù)用戶興趣評分向量計算用戶相似度,而忽略近鄰用戶對相關(guān)知識主題的專業(yè)度,可能導(dǎo)致推薦結(jié)果質(zhì)量差。此外,由于缺乏系統(tǒng)性和關(guān)聯(lián)性視角,也造成對用戶需求發(fā)掘的局限性和偏差性。以上這些問題都會降低推薦準確度和用戶滿意度。因此,有針對性地提升知識推薦結(jié)果的主題多樣性,能夠更好地滿足用戶的知識需求,對提升推薦準確度和用戶滿意度有實際價值和意義[2]。
現(xiàn)有關(guān)于推薦算法的研究大多僅致力于提高推薦結(jié)果的準確度,常見的主要有傳統(tǒng)協(xié)同過濾推薦[3]以及基于機器學(xué)習(xí)模型的推薦[4]等,近年來還有結(jié)合數(shù)據(jù)挖掘[5]或深度學(xué)習(xí)模型[6]的推薦。這些推薦算法的推薦結(jié)果過于單一,導(dǎo)致長尾問題以及信息牢籠問題[7]。
Miyamoto等[8]提出通過提高推薦結(jié)果多樣性解決這些問題。推薦結(jié)果的多樣性可以分為總體多樣性和個體多樣性??傮w多樣性是指為所有用戶推薦的項目占總項目種類的比例,但對于工程領(lǐng)域知識推薦,其主要目的是滿足用戶個人的知識需求,因此本文旨在提高個體多樣性,使同一用戶的推薦列表中的知識涵蓋更多專業(yè)領(lǐng)域。個體多樣性推薦的關(guān)鍵在于提高單個推薦列表中項目間的差異度,Aytekin等[9]提出一種基于聚類的分類推薦方法,平衡了推薦準確度和多樣性。Pathak等[10]提出一種聚類后過濾策略提高推薦結(jié)果的多樣性。上述研究采用后過濾策略,通過擴大初始候選集來提升最終推薦列表多樣性。也有學(xué)者將平衡推薦準確度和多樣性的問題看成求解兩個目標函數(shù)的多目標優(yōu)化問題。Hurley等[11]利用二元優(yōu)化方法以權(quán)衡推薦的準確度和多樣性。厙向陽等[12]通過多目標優(yōu)化算法提升推薦結(jié)果的多樣性。近年來,有學(xué)者將網(wǎng)絡(luò)和圖分析方法引入推薦領(lǐng)域。石進平等[13]基于用戶社交關(guān)系圖網(wǎng)絡(luò)進行推薦,有效提升推薦結(jié)果多樣性。Gan等[14]構(gòu)建用戶相似度網(wǎng)絡(luò)以改進傳統(tǒng)的協(xié)同過濾推薦算法,很好地平衡推薦結(jié)果的準確性和多樣性。另外,也有部分學(xué)者利用本體建模挖掘項目內(nèi)容間的語義關(guān)系,從而實現(xiàn)關(guān)聯(lián)推薦。游運等[15]構(gòu)建家裝領(lǐng)域本體,挖掘用戶對互補商品或情景相關(guān)商品的需求,實現(xiàn)多樣性關(guān)聯(lián)推薦。劉龍繁等[16]以工程創(chuàng)新設(shè)計為場景,結(jié)合TRIZ理論和知識本體模型為用戶供應(yīng)多樣化知識。
總結(jié)上述研究,文獻[9-12]采用的后過濾或多目標優(yōu)化方法雖然能提升推薦結(jié)果多樣性,但忽略了不同類別間的關(guān)聯(lián),且這種多樣性是完全隨機的,不適用于工程領(lǐng)域知識推薦,因此需要基于知識主題間的關(guān)聯(lián)關(guān)系有針對性地進行推薦。文獻[13-14]利用各種網(wǎng)絡(luò)結(jié)構(gòu)和圖模型發(fā)掘用戶及項目間的相關(guān)關(guān)系以提升推薦結(jié)果多樣性,但不符合工程領(lǐng)域知識主題間的關(guān)聯(lián)規(guī)律,因此需要構(gòu)造符合工程領(lǐng)域知識主題間關(guān)聯(lián)規(guī)律的知識主題網(wǎng)絡(luò)。文獻[15-16]雖然充分利用了項目內(nèi)容間的語義關(guān)系,但由于領(lǐng)域本體構(gòu)建復(fù)雜,更新困難,且自動化程度極低,導(dǎo)致算法應(yīng)用場景非常有限,因此需要基于自動化程度高且可移植性高的算法進行推薦。綜上,面向工程領(lǐng)域知識急需一種新的主題多樣性推薦方法。
基于對國內(nèi)外研究工作現(xiàn)狀的調(diào)研,結(jié)合企業(yè)現(xiàn)有知識信息化平臺的特點,本文提出一種考慮主題多樣性的知識推薦新機制,如圖1所示。該機制通過集成推薦算法協(xié)助用戶高效獲取所需知識,核心為TDCF推薦算法,算法與現(xiàn)有平臺的集成通過3個接口實現(xiàn):1) 日志接口,預(yù)處理用戶行為日志得到用戶行為序列數(shù)據(jù),并挖掘用戶群行為序列數(shù)據(jù);2) 文檔接口,對平臺知識文檔集合進行預(yù)處理,并進行知識主題聚類;3) 推薦接口,算法自動完成相關(guān)計算,并通過推薦接口為目標用戶生成知識推薦列表。
圖1 面向工程領(lǐng)域知識的主題多樣性推薦新機制Figure 1 Topic diversity recommendation mechanism in the field of engineering knowledge
不同于以往的推薦機制,TDCF推薦算法同時基于用戶專業(yè)度和知識主題網(wǎng)絡(luò)進行推薦,因而能夠為用戶提供有針對性且具有主題多樣性的知識建議。因此,該知識推薦新機制能更好地滿足用戶的知識需求,進而能夠有效提升企業(yè)知識主動供應(yīng)能力和知識重用效率。
TDCF推薦算法主要有5個核心要素:1) 用戶興趣模型,模型考慮用戶短期歷史行為時效性和知識文本長度對當(dāng)前興趣的影響,更準確地刻畫了用戶偏好;2) 知識主題網(wǎng)絡(luò),體現(xiàn)知識主題間的關(guān)聯(lián)關(guān)系,并適用于當(dāng)前用戶群;3) 用戶專業(yè)度,體現(xiàn)用戶對知識主題的專業(yè)程度;4) 改進的評分矩陣預(yù)填充方法,考慮用戶專業(yè)度,使評分預(yù)測更加準確;5) 改進的用戶相似度計算方法,有針對性地提升目標用戶推薦列表中知識的主題多樣性。圖2所示為算法流程圖,主要分為以下幾個階段。
圖2 TDCF知識推薦算法流程Figure 2 Flowchart of TDCF
1) 收集用戶行為記錄數(shù)據(jù),每條數(shù)據(jù)包含用戶ID、知識條目ID、瀏覽開始時間Tstart、瀏覽結(jié)束時間Tend等 信息;從數(shù)據(jù)庫中獲得知識文本集合{I1,I2, ···,Im},m為知識條目數(shù)量。
2) 對用戶行為記錄數(shù)據(jù)進行預(yù)處理得到有序用戶行為序列數(shù)據(jù) (U,I,ΔT), ΔT為用戶U對知識條目I的瀏覽時長;對知識文本集合進行預(yù)處理得到語料集合D={d1,d2,···,dm}。
3) 基于有序用戶行為序列數(shù)據(jù) (U,I,ΔT),構(gòu)造三維用戶行為矩陣B(U,I,S),S表示用戶行為序列的先后順序,并基于B(U,I,S)計算當(dāng)前用戶興趣評分矩陣C(U,I)。
4) 對語料集合D={d1,d2,···,dm}進行LDA主題聚類得到主題集合T={t1,t2,···,tk} ,k為聚類主題數(shù)量,并基于主題關(guān)鍵詞共現(xiàn)關(guān)系和用戶行為序列數(shù)據(jù),構(gòu)造知識主題網(wǎng)絡(luò)G=(V,E),G為有向圖結(jié)構(gòu)。
5) 計算用戶?主題專業(yè)度pU,t,并考慮用戶專業(yè)度對用戶評分矩陣C(U,I)預(yù)填充。
6) 基 于C(U,I)、pU,t、G=(V,E)計 算 用 戶 相 似度,查找目標用戶的近鄰用戶,并根據(jù)近鄰用戶的偏好為目標用戶生成推薦列表。
傳統(tǒng)的0-1用戶興趣評分矩陣僅將用戶偏好分為喜歡和不喜歡,無法準確地衡量用戶對知識的喜好程度,因此本文采用用戶瀏覽時長衡量用戶偏好。通過對用戶行為日志進行預(yù)處理,得到有序的用戶行為序列數(shù)據(jù),形式為(U,I,ΔT), 表示用戶U對知識條目I進行了時長為 ΔT的瀏覽。然后定義三維空間域 {U,I,S},并利用所有用戶的行為序列數(shù)據(jù)構(gòu)造三維用戶行為矩陣B(U,I,S),S表示用戶行為序列的先后順序,矩陣中的元素b(U,I,S)為 用戶U在其行為序列的S節(jié)點處瀏覽知識條目I的時長。根據(jù)用戶Ui對m條 知識條目的行為序列中L個行為數(shù)據(jù),可以構(gòu)造一個二維稀疏矩陣B(Ui,I,S),如式(1)所示。
設(shè)所有知識條目集合為 {I1,I2,···,Im},預(yù)處理后得到語料集合D={d1,d2,···,dm}, 用LDA模型將D劃分為k個 主題T={t1,t2,···,tk},然后基于群體智能思想[17],利用系統(tǒng)用戶群的行為序列數(shù)據(jù)計算不同知識主題間的關(guān)聯(lián)度Rti,t j,如式(4)所示。
用戶專業(yè)背景與工作領(lǐng)域的差異導(dǎo)致他們對不同主題知識的專業(yè)程度不同,本文定義用戶專業(yè)度pU,t, 反映用戶U對知識主題t的專業(yè)度。
用戶的專業(yè)領(lǐng)域和文檔都可以用關(guān)鍵詞及其權(quán)重的參數(shù)對集合表征,形式為 (k,wk) ,wk為關(guān)鍵詞k的權(quán)重。首先計算用戶關(guān)鍵詞權(quán)重對集合,將用戶U參與創(chuàng)建和修訂的所有知識文檔整合為單條知識文檔d,然后對d進行分詞及去除停用詞處理得到詞語集合Cw,再結(jié)合TF-IDF算法的思想,利用式(5)計算詞語集合Cw中每個詞語的權(quán)重。
圖3 知識主題網(wǎng)絡(luò)Figure 3 Knowledge topic network
式(9)中,qd表 示文檔d的質(zhì)量;Ud表示瀏覽過知識文檔d的用戶集合; |Ud|表 示Ud中用戶的數(shù)量;n表 示用戶U瀏覽文檔d的次數(shù); ΔTi表 示用戶U第i次瀏覽文檔d的時長; ΔTU表示用戶U所有瀏覽行為中的平均瀏覽時長。
根據(jù)式(8)計算用戶U與知識主題t中文檔的平均相似度 simU,t。根據(jù)式(9)計算知識主題t的文檔集合中用戶U創(chuàng)建的文檔的質(zhì)量之和qU?;趨f(xié)同過濾的知識推薦需要保證近鄰用戶的可靠性,因此用戶權(quán)威度應(yīng)當(dāng)由 simU,t和pU,t中較小的決定,而調(diào)和平均具有短板效應(yīng),因此用它們的調(diào)和平均值作為用戶U對知識主題t的 專業(yè)度pU,t,如式(10)所示。
隨著知識管理系統(tǒng)中知識條目數(shù)量的增長,用戶評分矩陣變得極其稀疏,導(dǎo)致基于相似度計算的推薦算法準確度降低,因此需要對用戶評分矩陣進行預(yù)填充。預(yù)測用戶u對 知識條目i的 評分su,i如式(11)所示。
對于具有相似工程任務(wù)的用戶,往往也具有相似的知識偏好,因此可以利用協(xié)同過濾算法進行推薦。傳統(tǒng)協(xié)同過濾推薦算法常用兩個用戶向量的余弦值計算用戶相似度,Gan等[18]指出,受流行項目的影響,傳統(tǒng)基于用戶的協(xié)同過濾推薦算法多樣性較差,并利用冪函數(shù)對用戶相似度函數(shù)進行冪律調(diào)節(jié),使推薦準確度和多樣性都有所提升。受此啟發(fā),本文基于用戶專業(yè)度和知識主題網(wǎng)絡(luò)改進用戶相似度計算方法,如式(14)所示。
為目標用戶查找近鄰用戶時,根據(jù)目標用戶當(dāng)前偏好主題和知識主題網(wǎng)絡(luò)可以確定相關(guān)主題集合T。式(14)能夠提高對T專業(yè)度高的用戶的相似度排名,盡可能為目標用戶推送相關(guān)主題集合中的知識,有針對性地提升主題多樣性,使推薦結(jié)果更好地滿足用戶的知識需求,進而提升推薦準確度和用戶滿意度。
本文采用國內(nèi)某船廠知識管理系統(tǒng)中的真實數(shù)據(jù)進行實驗,系統(tǒng)中含有船舶設(shè)計相關(guān)的知識條目379條,系統(tǒng)用戶37人。處理用戶瀏覽記錄,得到4 367行有序用戶行為序列數(shù)據(jù) (U,I,ΔT),其中每行表示用戶的一次點擊瀏覽行為,包含用戶ID,知識條目ID以及該次瀏覽行為持續(xù)時長三個信息,如表1所示。利用表1數(shù)據(jù)構(gòu)造三維用戶行為矩陣B(U,I,S), 并沿其S維截取子矩陣Btrain(U,I,S)37×379×0.8L和Btest(U,I,S)37×379×0.2L分別作為單次實驗的訓(xùn)練數(shù)據(jù)和測試集。
表1 用戶瀏覽記錄數(shù)據(jù)Table 1 User browsing data
表2所示為知識條目的相關(guān)信息,文本長度用于計算用戶瀏覽知識條目時的相對停留時長,文本內(nèi)容用于LDA主題聚類并構(gòu)造知識主題網(wǎng)絡(luò)。
表2 知識條目信息Table 2 Information of knowledge items
本次實驗環(huán)境配置如下。
硬件環(huán)境:macOS-10.15版本操作系統(tǒng),四核Intel Core i5處理器,16 GB運存。
軟件環(huán)境:PyCharm 2019.3.3 (Professional Edition),python-3.7,numpy-1.17.4,gensim-3.8.0,jieba-0.4.0。
利用Btrain(U,I,S)37×379×0.8L構(gòu) 造用戶評分矩陣C(U,I)作為訓(xùn)練數(shù)據(jù),Btest(U,I,S)37×379×0.2L作為測試集。若算法推薦的知識條目在測試集中出現(xiàn),則為命中,據(jù)此可計算精確率和召回率。F1分數(shù)同時兼顧推薦的精確率和召回率,因此本文用F1分數(shù)衡量推薦結(jié)果的準確度,如式(15)所示。
本文所提到的多樣性是針對個體的多樣性,即單個推薦列表中知識條目間的差異。這里定義推薦列表R的 多樣性D ivR,用推薦列表中所有知識條目對的平均差異計算[19],如式(16)所示。
式(16)中,|R|為 推薦列表中知識條目數(shù)量;simI,J表示知識條目I和J的相似度,利用兩條知識的關(guān)鍵詞集及其權(quán)重,根據(jù)式(8)計算,1 ?simI,J表示知識條目I和J的差異度。
利用LDA對知識庫中所有知識條目進行主題聚類前,需要確定最佳知識主題個數(shù)T。本文通過計算概率分布的困惑度 Perplexity確定T,根據(jù)信息論,低困惑度的概率模型能更準確地預(yù)測樣本。本文所用困惑度[20]計算如式(17)所示。
如圖4所示,在本文數(shù)據(jù)集上,困惑度隨著主題數(shù)量的增加而下降,但是,當(dāng)主題數(shù)量大于30后,困惑度下降速度放緩,模型性能提升有限,因此本文將知識主題個數(shù)T設(shè)置為30,知識主題聚類結(jié)果如表3所示。
表3 知識主題聚類結(jié)果示例Table 3 Topic clustering of knowledge
圖4 不同主題個數(shù)下概率分布的困惑度Figure 4 Perplexity of probability distribution under different number of topics
此外,由式(2)可知,計算用戶Ui對知識條目Ij的 評分cUi,I j之前,還需確定用戶興趣模型的最佳序列長度L。如圖5所示,當(dāng)L值由0增加至20,F(xiàn)1分數(shù)由0.22快速攀升至0.47,這是因為工程領(lǐng)域用戶近期的瀏覽行為能夠反映其短期興趣偏好,而式 (2)根據(jù)用戶近期瀏覽行為數(shù)據(jù)計算cUi,I j,對用戶短期興趣進行充分挖掘。隨著L值的遞增,F(xiàn)1分數(shù)增速放緩,當(dāng)L值大于35后,甚至出現(xiàn)小幅下降,這是由于過早的歷史行為數(shù)據(jù)與當(dāng)前用戶偏好關(guān)聯(lián)度過低,甚至?xí)蔀樵肼晹?shù)據(jù),式 (2) 的計算結(jié)果出現(xiàn)偏差,從而導(dǎo)致F1分數(shù)下降。此外,L值增大也會造成推薦算法計算量過大,影響推薦響應(yīng)時間。綜上,本文L取值為20,既包含足夠的用戶偏好數(shù)據(jù),又盡可能地減少計算量。
圖5 不同 L值下TDCF算法的F1分數(shù)Figure 5 F1-Score of TDCF under different values of parameter L
針對“船舶柴油發(fā)動機缸蓋設(shè)計”這一工程任務(wù)進行推薦。根據(jù)相關(guān)專家經(jīng)驗,缸蓋設(shè)計主要用到機械結(jié)構(gòu)設(shè)計、材料工藝選擇和機械裝配領(lǐng)域等三個專業(yè)領(lǐng)域的知識。如圖6所示,利用本文算法為目標用戶推薦5條知識。其中,第1條為關(guān)于“柴油發(fā)動機缸蓋制作”的專利知識;第2條為缸蓋工藝詳細流程資料;第4條為因汽缸蓋裝配失誤造成故障的案例知識。經(jīng)目標用戶和船舶領(lǐng)域?qū)<覚z驗,這三條知識對當(dāng)前缸蓋設(shè)計任務(wù)都具有很高的參考價值,且覆蓋當(dāng)前設(shè)計任務(wù)所需的材料工藝選擇和機械裝配兩個領(lǐng)域,具有主題(專業(yè)領(lǐng)域)多樣性。
圖6 針對目標用戶的知識推薦Figure 6 Knowledge recommendation for target user
在TDCF推薦算法中,本文同時提出兩種改進:1) 考慮用戶專業(yè)度對標準矩陣預(yù)填充方法進行改進;2) 基于用戶專業(yè)度和知識主題網(wǎng)絡(luò)改進標準用戶相似度計算方法。為了驗證這兩種改進在推薦算法準確度和結(jié)果多樣性上的改進效果,本節(jié)首先對TDCF推薦算法,以及仍然采用標準預(yù)填充方法和仍然采用標準用戶相似度計算方法的推薦算法進行對比實驗,其對比結(jié)果如圖7所示。對比實驗中,TDCF算法的F1分數(shù)提升至0.49。這是由于改進的評分矩陣預(yù)填充方法充分考慮了用戶專業(yè)度,因而能夠更準確地預(yù)測用戶評分,評分預(yù)測結(jié)果會比標準預(yù)填充方法更可靠。另外,TDCF推薦算法的多樣性也提升至0.4。這是由于TDCF算法采用改進的用戶相似度計算方法能夠利用知識主題網(wǎng)絡(luò)和用戶專業(yè)度對用戶相似度進行修正。若主題域ti與目標用戶u0偏 好主題域t0的 關(guān)聯(lián)度越高,以及用戶ui對主題域ti的專業(yè)度越高,則用戶ui與 目標用戶u0的相似度越高。因此,基于修正的相似度計算方法推薦近鄰用戶,推薦結(jié)果的多樣性得以有針對性的提升。綜上,采用改進的矩陣預(yù)填充方法和改進的用戶相似度計算方法能夠優(yōu)化TDCF推薦算法的推薦結(jié)果。
圖7 TDCF算法改進效果對比Figure 7 Performance of TDCF before and after algorithm improvement
在不同近鄰用戶規(guī)模K上,本文還將TDCF推薦算法與標準協(xié)同過濾推薦算法(CF)、PSR-GRS[13]推薦算法和Network-based CF[14]推薦算法等常用推薦算法進行對比實驗,驗證TDCF算法在推薦準確度和多樣性上的提升。本實驗采用Top-5推薦。
TDCF與CF、PSR-GRS和Network-based CF 4種推薦算法在不同近鄰用戶規(guī)模K下的F1值曲線如圖8所示。當(dāng)K較小時,只能命中目標用戶的部分偏好,4種算法的F1值都偏低且相近;當(dāng)K為5和10時,PSR-GRS算法和Network-based CF算法的F1值較大,原因是這兩種算法都通過用戶網(wǎng)絡(luò)結(jié)構(gòu)對用戶間關(guān)系進行挖掘,更能快速匹配到與目標用戶最相似的近鄰用戶;當(dāng)K增大到15時,TDCF的F1值就增加到0.47,高于Network-based CF和PSR-GRS的0.44和0.41;隨著K繼續(xù)增大,4種算法的F1值增速都逐漸放緩,當(dāng)K為20時,TDCF的F1值達到0.52,高于Network-based CF和PSR-GRS的0.47和0.44。這是因為,本文算法考慮用戶專業(yè)度以修正評分矩陣預(yù)填充方法,能夠更準確地預(yù)測缺失的用戶評分數(shù)據(jù),并且同時基于用戶專業(yè)度和知識主題網(wǎng)絡(luò)改進用戶相似度計算方法,能夠有針對性地提升推薦結(jié)果多樣性,使推薦結(jié)果能更好地滿足用戶的知識需求,進而提升推薦結(jié)果準確度。
圖8 不同近鄰用戶規(guī)模下推薦算法的F1分數(shù)曲線Figure 8 F1-Score of different algorithms under different values of parameter K
TDCF與CF、PSR-GRS和Network-based CF 4種推薦算法在不同近鄰用戶規(guī)模K下的推薦結(jié)果主題多樣性曲線如圖9所示。由于CF算法僅根據(jù)用戶興趣評分計算用戶相似度,其多樣性相對較低,最高為0.26,遠小于另外3種算法。Network-based CF在進行推薦時利用用戶相似度網(wǎng)絡(luò)過濾掉用戶間相似度較低的偏好,不僅使推薦結(jié)果的準確性得到較大幅度提升(見圖8),多樣性也有所增強,當(dāng)K為15和20時,推薦多樣性分別達到0.29和0.33。對于PSRGRS算法,當(dāng)K為20時,其推薦多樣性達到0.37,高于CF和Network-based CF推薦算法。這是因為該算法基于用戶社交網(wǎng)絡(luò)關(guān)系圖進行推薦,能夠提升推薦多樣性。TDCF算法的推薦結(jié)果主題多樣性高于另外3種算法,當(dāng)K為20時,其多樣性達到0.44,且有針對性地提升多樣性,也使推薦結(jié)果能更好地滿足用戶的知識需求,進而將推薦準確度提升至0.52(見圖8)。
圖9 不同近鄰用戶規(guī)模下推薦算法主題多樣性曲線Figure 9 Topic diversity of different algorithms under different values of parameter K
工程問題的解決涉及到多個學(xué)科和專業(yè)的知識,主題單一的推薦列表已無法滿足當(dāng)前工程領(lǐng)域用戶對知識多樣性的需求。本文考慮工程領(lǐng)域知識推薦的特殊性,提出一種面向工程領(lǐng)域知識的主題多樣性推薦方法。該方法主要貢獻有4點:1) 利用LDA主題模型將知識文本分類,挖掘當(dāng)前用戶群行為序列數(shù)據(jù),構(gòu)造符合工程領(lǐng)域知識主題間關(guān)聯(lián)規(guī)律的知識主題網(wǎng)絡(luò);2) 定義用戶專業(yè)度,并提出考慮用戶專業(yè)度的評分矩陣預(yù)填充方法,更準確地預(yù)測缺失評分數(shù)據(jù),克服數(shù)據(jù)稀疏問題;3) 基于知識主題網(wǎng)絡(luò)和用戶專業(yè)度改進用戶相似度計算方法,能夠有針對性地提升知識推薦結(jié)果的主題多樣性;4) 基于知識主題網(wǎng)絡(luò)和協(xié)同過濾進行推薦,算法具有較高可移植性。
本文通過改進協(xié)同過濾算法有針對性地提高知識推薦效果,而針對更為具體領(lǐng)域中的知識推薦,還需根據(jù)其領(lǐng)域特殊性做進一步研究。