寧莉莉
(咸陽職業(yè)技術(shù)學(xué)院,陜西 咸陽712000)
整個系統(tǒng)對于文檔數(shù)據(jù)的分析主要從數(shù)據(jù)采集、文檔分析、信息分類、數(shù)據(jù)統(tǒng)計以及關(guān)系發(fā)現(xiàn)的5 個步驟逐步實現(xiàn)。
主要是在用戶提交文檔時由系統(tǒng)提示用戶填寫的基本信息,該功能比較簡單,可以和文檔分析一起作為第一步的數(shù)據(jù)獲取功能,主要的工作步驟如下圖所示:
圖1 數(shù)據(jù)分析過程示意圖
上面的過程并不一定對每一次論文分析適用,每一個步驟的信息都能夠為整個系統(tǒng)提供所需要的論文數(shù)據(jù),每一個步驟也都能夠為下一步工作提供輸入的數(shù)據(jù)和信息。下面就根據(jù)上圖的順序,逐一研究和討論相關(guān)的實現(xiàn)算法。
文檔的操作與分析技術(shù)主要研究的有兩大類:分析技術(shù)和生成技術(shù)。除了用戶所輸入的論文的基本信息外,為了提高后面文檔分析算法的有效性,需要對文檔進(jìn)行深度的分析工作,因為有些內(nèi)容,僅憑用戶的輸入永遠(yuǎn)很難完全獲得,而且很多情況下,用戶可能會選擇不深入相關(guān)信息。雖然可以強(qiáng)迫用戶輸入,但是這樣的必填項目不能過多,否則會降低系統(tǒng)的友好程度。而文檔的生成技術(shù),是系統(tǒng)自動生成論文所必須的技術(shù)。
在完成了文檔的中文分詞后,算法就可以獲的全部文檔的基本內(nèi)容,這些內(nèi)容以中文詞組的方式存儲在數(shù)組中可供分析。“近年來,借助模式識別算法,文本分類技術(shù)飛速發(fā)展。文本分類大致分為幾個要素:文本向量模型表示、文本特征選擇和文本訓(xùn)練分類器。目前比較流行的分類方法主要有SVM、改進(jìn)余弦相似度、貝葉斯方法、神經(jīng)網(wǎng)絡(luò)、K2 最近鄰方法、遺傳算法、粗糙集等”。使用這些技術(shù),就可以根據(jù)論文的基本內(nèi)容,對論文的領(lǐng)域和類型進(jìn)行歸類。
余弦相似度分類技術(shù)是利用上面所計算的TF-IDF 結(jié)果與當(dāng)前數(shù)據(jù)庫中保存的已知類型的文檔中的關(guān)鍵詞TF-IDF 進(jìn)行比較,以此來自動判斷當(dāng)前所分析的文檔與已知文檔是否一致。余弦相似度越接近的論文就應(yīng)該認(rèn)為屬于同一類型。余弦相似度分類算法最常見的應(yīng)用就是計算文本相似度。通過將兩個文本分別按照所包含的詞建立向量,向量可以通過分析文本包含詞語的數(shù)量,或者以論文為例可以簡化為關(guān)鍵詞和引用論文,計算兩個向量的余弦值,就可以知道兩個文本在統(tǒng)計學(xué)方法中他們的相似度。
樣本信息的收集過程可以如下圖所示的過程實現(xiàn):
圖2 樣本信息收集及存儲結(jié)構(gòu)示意圖
有了大量的精確度較高的樣本信息,系統(tǒng)就能夠?qū)θ我獾男抡撐男畔⒂行У姆诸?。除了上面所研究的余弦相似度算法外,還有一個比較重要,同時分類效果也非常好的算法是樸素貝葉斯分類算法。與余弦相似度算法相比,貝葉斯分類算法利用了概率論的知識,通過比較樣本庫中大量的數(shù)據(jù)的概率與當(dāng)前分析文檔的概率,來確定該論文屬于某一類型的可信程度。貝葉斯分類算法的基礎(chǔ)是一個明顯的常識,即同一條詞條在不同類型的文本中出現(xiàn)的概率通常是不一樣的,很多詞條只會在某些類別的文本中出現(xiàn),例如“微軟”、“索尼”、“喬布斯”等詞條出現(xiàn)在有關(guān)戰(zhàn)爭的文本中的概率要遠(yuǎn)遠(yuǎn)低于“師團(tuán)”的概率。因此,通過概率的計算和比較,就能夠確定文本的分類。
論文的分析和分類需要花費大量的計算資源,而算法的運行效率會隨著論文數(shù)量、樣本信息等數(shù)據(jù)量的增加而迅速下降,而對于公用的系統(tǒng),運行的效率決定著用戶的體驗度和繼續(xù)使用該系統(tǒng)的信心。解決效率問題的一個最直接的手段就是提高計算機(jī)的運行效率,但是這樣的花費將會非常巨大,而且對于一個新系統(tǒng)對計算機(jī)效率的估計也十分的困難,開始用戶少的時候可能不需要特別快的系統(tǒng),而隨著用戶和數(shù)據(jù)的增長則需要增加計算機(jī)的性能。
解決上述問題的一個可能方案是本研究所提出的使用公有云計算平臺,來解決系統(tǒng)的擴(kuò)展性難題。但是再快的計算機(jī)系統(tǒng)也會存在極限,但是對于互聯(lián)網(wǎng)系統(tǒng)來說,數(shù)據(jù)量的增長早已超過計算機(jī)性能的增長。雖然使用云計算平臺,但是如果只是依靠單機(jī)的性能來完成算法運行的任務(wù),則很快就會碰到效率的瓶頸。因此,更加有效的方案應(yīng)該是充分的利用分布式計算技術(shù),將分析算法盡可能的分配到不同到計算機(jī)上同時并行。則可以解決上述的難題。
目前可能的選擇是利用Storm 這樣的并行計算框架來實現(xiàn)高并行的算法實現(xiàn)。Storm 框架利用集群系統(tǒng)來完成相關(guān)的并行計算,并且能夠動態(tài)的可靠管理運行在計算機(jī)集群上的算法片段。Storm 的框架研究不是本研究的重點,但是通過研究了該框架的具體功能后發(fā)現(xiàn),本系統(tǒng)的論文分析和歸類算法,完全可以適應(yīng)Storm 框架的并行計算要求。Storm 框架設(shè)計之初就是為了滿足海量的文本數(shù)據(jù)的并行分析需求。
相對于論文分析與歸類算法,論文的統(tǒng)計算法相對難度會低一些。相關(guān)的功能的信息對用戶非常有用,但是算法只是利用系統(tǒng)所存儲的所有數(shù)據(jù)進(jìn)行統(tǒng)計計算。因此對于論文統(tǒng)計算法的研究重要的是相關(guān)數(shù)據(jù)的存儲結(jié)構(gòu)的設(shè)計問題。所有的統(tǒng)計結(jié)果都是通過不同的角度來對平臺內(nèi)的用戶、論文或者學(xué)術(shù)圈情況進(jìn)行分析,并且供感興趣的用戶或者研究人員進(jìn)行查詢或者分析。各個角度的統(tǒng)計信息之間,平臺并不提供統(tǒng)一的比較。
最熱論文的統(tǒng)計主要是解決最熱論文的定義問題??梢允褂盟姆N不同的方式或計算方法實現(xiàn):查詢次數(shù)最多、下載次數(shù)最多、引用次數(shù)最多、評論次數(shù)最多。前面三種標(biāo)準(zhǔn)可以反映該論文在整個系統(tǒng)內(nèi)部整體的活躍程度,而評論次數(shù)最多則可以認(rèn)為當(dāng)前的一個短期時間內(nèi)最熱火的論文。
最熱用戶既是最活躍用戶,可以通過如下三種數(shù)據(jù)進(jìn)行標(biāo)識:論文數(shù)目最多、評論最多(包括評論別人或者獲得評論最多)、登錄系統(tǒng)次數(shù)最多、加入的興趣小組最多。這些信息在數(shù)據(jù)庫中都有直接的存儲,因此統(tǒng)計分析也十分簡單。最熱用戶可以與最熱論文一起,在用戶登錄系統(tǒng)后直接推送給用戶??梢园ㄏ到y(tǒng)內(nèi)部以及用戶所關(guān)注的相關(guān)領(lǐng)域內(nèi)部等不同的統(tǒng)計結(jié)果信息。
相關(guān)的查詢比較簡單,主要是幾個相關(guān)表格的聯(lián)合查詢,以半年內(nèi)上傳論文的數(shù)目的查詢?yōu)槔?,相關(guān)SQL 示例如下所示。依靠論文發(fā)布的數(shù)目并不能準(zhǔn)確的確定用戶的活躍程度,應(yīng)該結(jié)合最近發(fā)布的評論、登錄的次數(shù)等一起聯(lián)合作為活躍程度評判的標(biāo)準(zhǔn)。
綜合活躍度的計算可以使用:綜合活躍度(GA)=論文數(shù)目*C1+評論數(shù)目*C2+登錄系統(tǒng)次數(shù)*C3+興趣小組數(shù)目*C4。不同的用戶統(tǒng)計方案可以使用不同的系數(shù),期望關(guān)注登錄次數(shù)的統(tǒng)計結(jié)果,可以將C3 的百分比提高即可。
有關(guān)于熱門用戶的統(tǒng)計不需要更多的算法設(shè)計,SQL 查詢就可以獲得所有的相關(guān)統(tǒng)計結(jié)果,計算出綜合的活躍度,并通過用戶的相關(guān)性推送給用戶。在所有用戶的基礎(chǔ)上,可以增加相關(guān)領(lǐng)域用戶的熱門用戶統(tǒng)計,提高用戶之間的聯(lián)系。興趣小組內(nèi)的用戶可以獲得小組內(nèi)最活躍用戶的統(tǒng)計結(jié)果信息。用戶活躍度的信息提供綜合查詢接口,用戶可以通過瀏覽發(fā)表論文數(shù)目最多的100 位用戶來從系統(tǒng)中搜尋自己感興趣的用戶,并可以嘗試與其建立聯(lián)系。
與用戶的信息統(tǒng)計類似,熱門領(lǐng)域的統(tǒng)計類似,可以從當(dāng)前論文數(shù)目、關(guān)注用戶數(shù)目來確定最熱門的領(lǐng)域。最熱門的領(lǐng)域信息對于研究人員來說,是一個非常有趣的信息。但是在系統(tǒng)的初期這樣的信息不會特別準(zhǔn)確,只有大量的樣本信息已經(jīng)存在后,才能讓相關(guān)的統(tǒng)計比較準(zhǔn)確。統(tǒng)計信息提供給平臺用戶訪問,用戶可以通過這樣的統(tǒng)計信息篩選出當(dāng)前最熱門的領(lǐng)域。
領(lǐng)域內(nèi)最熱門的引用統(tǒng)計是一個非常重要的信息,用戶可以了解到當(dāng)前該領(lǐng)域里被其它研究人員使用最多到書籍、論文等信息。這項統(tǒng)計功能的算法并不復(fù)雜,一旦論文的分析成功提取出所有的引用數(shù)據(jù)后,通過SQL 的查詢就可以獲取該領(lǐng)域里被引用最多的論文信息。該項統(tǒng)計也同樣需要非常大量的樣本數(shù)據(jù),越多的數(shù)據(jù),才能夠獲得準(zhǔn)確的熱門引用統(tǒng)計結(jié)果。論文引用信息需要單獨存放,一旦分析完論文后,可以查詢論文中的引用是否存在,如果存在則該引用的被引用數(shù)加一。
一旦系統(tǒng)有了大量的樣本數(shù)據(jù)后,圍繞著論文信息、用戶信息、類型、領(lǐng)域等數(shù)據(jù)生成更多等相關(guān)性信息。如何使用這些信息來發(fā)掘出更多的隱藏關(guān)聯(lián),是大數(shù)據(jù)分析領(lǐng)域的重要課題。本系統(tǒng)由于時間的限制無法進(jìn)一步的開展相關(guān)的數(shù)據(jù)挖掘技術(shù)的研究工作,但是海量數(shù)據(jù)的存在,為后續(xù)的研究工作奠定基礎(chǔ)。在本研究中,將重點放在如何利用現(xiàn)有數(shù)據(jù),構(gòu)建推薦功能的技術(shù)。
大量的樣本數(shù)據(jù)和用戶評論和論文查詢的數(shù)據(jù),就可以構(gòu)成一套協(xié)作型過濾(Collaborative filtering)技術(shù)。該技術(shù)通常的做法就是對一大群人進(jìn)行搜索,并從中找出與某一個用戶興趣相近的推薦。協(xié)作型過濾是David Goldberg 在1992 年在施樂帕克研究中心(Xerox PARC) 的一篇題為《Using collaborative filtering to weave an information tapestry》的論文中首次提出的術(shù)語,在論文中所設(shè)計的系統(tǒng),可以允許人們根據(jù)自己對文檔感興趣的程度為其添加標(biāo)注,并利用這一信息為他人進(jìn)行文檔過濾。
根據(jù)上述的說明,可以通過用戶使用系統(tǒng)時的偏好分析,獲取與用戶最相似的用戶的使用偏好,并推薦給用戶相關(guān)信息。這樣就比單純通過用戶是否在一個領(lǐng)域、或者在一個興趣小組內(nèi)更加具有廣泛性。畢竟靜態(tài)的研究領(lǐng)域的劃分,有時很難真正的標(biāo)識出用戶的正在喜好。但協(xié)作型過濾算法就可以做到。目前廣泛在購物網(wǎng)站上使用的推薦功能就是該應(yīng)用的一個很好例證。
通過上述的算法根據(jù)用戶興趣計算出了興趣相近的用戶后,就能夠根據(jù)設(shè)計,將興趣相近用戶的喜好,推薦給當(dāng)前用戶。系統(tǒng)可以提供的推薦功能包括:當(dāng)用戶查詢、瀏覽以及下載某個論文后,可以立即根據(jù)與其興趣相似度最高的用戶的興趣,向其推薦可能感興趣的論文信息。由于興趣相似用戶感興趣的論文可能非常多,因此在獲取了論文列表后,可以進(jìn)一步根據(jù)與當(dāng)前用戶所操作的論文分析出最相近的論文,并推薦給用戶。相關(guān)的算法都已經(jīng)進(jìn)行過討論。
使用上述的方案,就能夠構(gòu)建一個相對準(zhǔn)確的論文推薦系統(tǒng),幫助研究人員從海量的論文信息中發(fā)現(xiàn)自己最感興趣的部分。