馬林山 郭磊
〔摘要〕文章概述了主題概率模型(LDA)的計算原理和方法,以及開源R語言中lda程序包采用快速壓縮吉普抽樣算法分析語料庫的處理流程。設計了基于LDA模型的查新輔助分析系統設計功能框架,對其功能、編程實現思路和工作流程做了描述。最后結合課題查新實例,詳述了采用LDA模型通過相關文獻關鍵詞進行潛在主題挖掘,對比分析課題研究內容,對課題給出客觀評價的過程。結果表明,基于主題模型的查新輔助分析系統可以快速有效挖掘相關文獻主題,降低查新員對相關文獻的分析難度,提高課題評價的客觀性,整體輔助分析效果良好。
〔關鍵詞〕主題模型;R語言;查新;課題評價
DOI:10.3969/j.issn.1008-0821.2018.02.018
〔中圖分類號〕TP31152;G2507〔文獻標識碼〕A〔文章編號〕1008-0821(2018)02-0111-05
Research on Design of Novelty Retrieval Aided Analysis
System Based on LDA Model
Ma Linshan1Guo Lei2
(1.Library,Hefei University,Hefei 230022,China;
2.Library,University of Science and Technology of China,Hefei 230026,China)
〔Abstract〕This paper summarized the calculation principle and method of Latent Dirichlet Allocation(LDA),and the treatment flowsheet using the fast collapsed Gibbs samplings algorithm to analyze the corpus in open source R language.The paper designed the function framework of the novelty retrieval aided analysis system based on LDA model,and described its functions,programming mentality and workflow.Finally,with a novelty retrieval case,this paper explained the basic process of using LDA model,mining potential theme using the keywords of relevant literature,comparing comparative analysis the subject of research content,giving an objective to the research topic.The results showed that the novelty retrieval aided analysis system based on LDA could quickly and effectively mining related literature,reduced the difficulty of analyzing relevant literature topics to Novelty Consultant,improved the objectivity of evaluation subject.The overall analysis effect was good.
〔Key words〕latent dirichlet allocation;R language;novelty retrieval;subject evaluation
科技查新是指查新機構對委托人課題的科學技術內容,通過檢索文獻,對比觀點分析,做出新穎性客觀公正評價的過程。其在科學研究、開發產品、科技管理活動中扮演十分重要的角色。查新的結果一般是一份規范的報告,但是其過程是十分復雜的腦力智慧勞動。查新員不僅要弄清楚委托人的研究內容,還要利用相關檢索技巧,搜集到相關的文獻,并從中分析出與委托人研究點的異同。一個高質量的查新,周期一般3~5個工作日,智力勞動強度非常大,需要查新員全身心的投入。為了有效幫助查新員,減輕其工作負擔,在信息技術的支持下,出現了一些查新委托系統,從訂單委托,報告格式生成等形式上實現自動化。對于查新分析評價內容方面,探討較少,基本思路還是交給查新員手動完成。
隨著信息技術的發展,特別是大數據挖掘技術的發展,從大量數據中智能分析出評價預測觀點的方法越來越多,并且日益成熟。其中基于文本挖掘的聚類方法、潛在主題的挖掘LDA模型方法,應用日益廣泛。文章計劃立足于文本聚類挖掘方法,探討構建科技查新輔助分析系統,幫助查新員從檢索到的文獻中提取潛在主題,有效減輕查新員的對比分析負擔,極大提高查新的效率和智能性。
1LDA模型
LDA(Latent Dirichlet Allocation)模型是一種典型的用于主題提取的概率潛語義模型,由Blei等在2003年提出,是一種具有文本主題表示能力的非指導學習模型,已經成功應用到文本分類、信息檢索等諸多文本相關領域[1]。其內在結構非常清晰。如圖1所示,LDA模型假設一篇文檔(Document)由多個隱含主題隨機組成,文檔的主題(Topic)是由一系列相關聯的詞匯構成。文檔語料集(Corpus)是由若干文檔構成。基于這一假設,可將隱含主題看做詞匯的概率分布(Topic~Word),單個文檔可表示為這些隱含主題的概率分布(Doc~Topic),該模型有利于大規模數據處理中的空間降維,將文檔投影到Topic空間。另外,該模型中詞匯之間假設無關聯性,不考慮語法和詞序,即所謂的“Bag of Words”假設[2]。
LDA模型假設一篇文檔中的主題序列z={z1,z2,z3,…}是可交換順序,并且其中每一個主題zi服從參數為θ的多項分布,zi~Multinomial(θ),N個詞語對應的主題有(依據de Finetti定理):p(z1,z2,…,zN)=∫∏Ni=1p(zi|θ) p(θ)dθ;文檔中的詞語由給定主題的條件分布生成,即wi~p(wi|zi)。從而文檔中詞語和主題的概率模型可表示為:p(w,z)=∫p(θ)(∏Ni=1p(zi|θ)p(wi|zi))dθ。p(zi|θ)表示每個文檔中各個主題出現的概率,可理解為一篇文檔中每個主題所占的比例;p(wi|zi)表示在每個主題中每個詞語出現的概率,p(w,z)表示的是每個文檔中各個詞語出現的概率。這個概率可通過如下步驟得到:第一步,先對文檔進行分詞,得到一個詞語列表,從而將文檔表示為一個詞語的集合;第二步,計算每個詞語在列表中出現的頻率,以這個頻率作為這個詞語在文檔中出現的概率。因此,對于任意一篇長度為N的文檔,p(w,z)是已知的,而p(zi|θ)和p(wi|zi)未知。需要利用大量的文本數據p(w,z),訓練得出p(zi|θ)和p(wi|zi),進而獲得文檔的主題信息[2]。
LDA模型生成一篇文檔的步驟如下:
1)選擇N~poission(γ),N為文檔長度(文檔中詞語的數量);
2)選擇θ~Dirichlet(α),θ為k維列變量,代表文檔中k個主題發生的概率,其中k被假設為固定且已知的量;
3)對于N個詞語中的每一個:
①選擇主題zi~Multinomial(θ),主題zi服從參數為θ的多項式分布。
②在選定的主題zi下選擇詞語wi~p(wi|zi,β),其中p(wi|zi,β)為給定的zi條件下的多項分布,參數β是一個k×N矩陣,βij=p(wj=1|zi=1),表示主題i下生成單詞j的概率。每個文檔所對應的概率密度函數為:
P(w|α,β)=∫P(θ|α)(∏Ni=1∑ziP(zi|θ)P(wi|zi,β))dθ
LDA模型的層次結構如圖2所示,該圖模型由外到內依次表示LDA模型的文檔語料集層、文檔層和詞層[3]。
2LDA模型的實現
采用LDA模型挖掘文本中的主題,實際上就是估計參數α和β。α反映主題的概率性質,β反映詞語在給定主題下的概率性質。Blei提出LDA模型時,在EM算法中結合了變分推斷來估計參數α和β。2004年,Griffiths和Steyvers在Blei提出的原始LDA模型上增加了參數β的先驗Dirichlet分布,即β~Dir(η);進而他們提出了用于這個LDA模型的估計壓縮吉普抽樣(Collapsed Gibbs Sampling)算法。EM算法下的變分推斷計算速度相對更快,而Collapsed Gibbs Sampling的估計準確率更高。在壓縮吉普抽樣算法的基礎上,又提出了快速壓縮吉普抽樣(Fast Collapsed Gibbs Sampling)算法,在保證了估計準確率的條件下,大大提高了估計的計算效率。目前在各種軟件編程中應用較多的是Gibbs Sampling算法[4]。
開源解釋型語言R中的lda程序包封裝實現了LDA模型求解。該包使用的是快速壓縮吉普抽樣算法。分析處理流程如圖3所示。
首先要整理文檔,形成數據源,一般是txt或者Excel格式的文本文檔。其次,對文檔中的文本進行分詞,形成詞條。因英文語句中單詞與單詞之間有空格分割,切分比
較方便,且準確率高;R語言中中文分詞較好的是Rwordseg包,它使用rJava調用Java中文分詞工具Ansj來實現分詞。分詞時能標記出名詞、動詞、形容詞等詞的屬性,且能按照詞性再進一步提取。第三,利用R語言中的tm包,生成語料庫(Corpus)和文檔(Document)的內存表示,表現為詞匯向量、數據框等。第四,生成詞條和文檔對應的關系矩陣,便于詞匯與對應文檔的核對分析。最后利用相關函數和lda包中的函數,進行高頻詞統計、生成詞條出現頻次散點圖、詞云、分析相關性詞條以及羅列挖掘出的主題等等。
求解LDA模型,采用Fast Collapsed Gibbs Sampling算法。要給定主題個數k的取值以及參數α和β的初始值。因參數α和β的估計值需經反復迭代得出,初始值的設定對模型最終結果影響不大,一般可隨機設定,可設置處置為01。主題個數k對LDA模型的結果影響較大,若k過大,會使相同主題的類別被拆分;若k過小,則主題易混雜,影響對主題的判斷、理解[5]。
3基于主題模型的查新輔助分析系統設計
基于主題概率模型(LDA)方法,可以用來識別大規模文檔集(Document Collection)或語料庫(Corpus)中潛藏的主題信息,其采用的詞袋處理機制,不考慮詞與詞之間的順序,簡化了問題的復雜性,便于實現,實驗也證明它具有較好的主題識別能力[6]。目前LDA模型在輿情分析、個性化推薦、社交網絡、廣告預測、專利分析等領域應用十分廣泛。
課題查新過程中,依據委托人提供的關鍵詞,一般能找出較多的相關文獻,這些參考文獻一一審閱工作量非常大,查新人員可以借助LDA模型,設計一個輔助分析系統,依據參考文獻作者提供的關鍵詞,構建詞向量空間,進行挖掘分析,匯聚提取出潛在主題,然后再與委托人課題研究內容和方向進行對比,找出合適、精確的相關文獻,進而對課題給出客觀的評價。下面給出基于LDA模型的查新輔助分析系統設計功能框架,如圖4所示[7]。
因R軟件是一款功能強大的統計軟件,而且是開源項
目,其軟件包覆蓋了統計計算的所有領域,從傳統的回歸分析到前沿的金融時間序列分析都有。所以整個系統基于net開發,C#做應用程序,R軟件做后臺的統計分析,安裝R(D)COM組件,注冊到Windows的組件服務中,供程序調用[8]。
該模型由查新委托申請、檢索相關文獻、參考文獻信息導出、參考文獻主題挖掘和格式化查新報告生成打印五大基本功能組成。工作流程是:首先委托人注冊賬戶進行查新委托申請,按照格式填寫指定的課題研究內容、查新點、關鍵詞、以及課題申請書附件等相關資料。其次,查新員相應接受申請,依據委托內容切換到中國知網、萬方數據、智立方、超星發現以及外文數據庫進行檢索,查找相關文獻。第三,對于檢索獲得的參考文獻,在檢索平臺上選擇題名、關鍵字、摘要、作者、全文地址等項,導出為文本格式文件(一般選擇Excel格式)。第四,啟動核心的參考文獻主題挖掘功能模塊,導入格式參考文獻信息,提取關鍵詞,生成向量空間,選擇主題挖掘模型,如LDA、共詞等模型,進行挖掘。找出核心關鍵詞,生成聚類潛在主題。查新員利用生成的主題信息,做深入分析,對比課題委托人的研究內容,找出合適的參考文獻,并給課題做出合理評價。該功能模塊按照文章第2部分——LDA模型的實現流程實現。第五,完善查新報告格式內容,如羅列選出的參考文獻,生成最終報告并進行打印。
4實例測試分析
基于以上的主題模型理論及實現思路流程的研究,將其嘗試運用到課題查新中的輔助分析方面,探索設計了基于主題模型的查新輔助分析系統,并對該系統的功能框架和工作流行進行了講解。下面結合具體的課題查新實例,詳述采用主題模型對檢索初步獲得的相關文獻進行主題挖掘的過程,重點測試一下主題模型在課題查新中應用的輔助分析效果。
41課題委托概述
課題名稱是“單幅二維圖像的深度信息提取方法的研究”,研究方向主要是單幅圖像中物體邊緣散焦程度的度量方法和提出新的構建稠密深度圖算法兩個方面的研究。委托人標注的查新點是:第一,通過利用已知的高斯核函數與圖像進行卷積,然后用梯度比值求彌散半徑的修正,獲得更精確的稀疏深度圖。第二,利用擴散張量和二階總廣義變分將稠密深度圖的構建轉化為凸最優化問題,從而達到提高稠密深度圖的精度的目的。提供的關鍵詞主要有單幅圖像,邊緣散焦,稀疏深度圖,高斯核函數,稠密深度圖,擴散張量,圖像深度。查新范圍限定在國內,用于教育廳省級課題的立項申請。
42參考文獻獲取說明
為了重點突出說明采用LDA模型進行潛在主題挖掘的過程,且能有效降低復雜度,僅以中國知網(www.cnki.net)檢索平臺獲取的參考文獻為例進行說明。根據課題研究內容和方向,先盡可能擴大檢索范圍,選擇二位圖像和深度兩個關鍵詞,構建檢索式“檢索式A:關鍵詞=二維圖像 and 關鍵詞=深度(模糊匹配)”;檢索范圍:中國學術期刊網絡出版總庫,中國博士學位論文全文數據庫,中國優秀碩士學位論文全文數據庫,中國重要會議論文全文數據庫,國際會議論文全文數據庫,中國重要報紙全文數據庫;檢索年限:——2016年11月29日(委托日)。
檢索得到128條記錄,勾選全部文獻,除去3條報紙記錄(不含關鍵詞),剩余125條有效記錄。點擊導出/參考文獻,選擇“CNKI E-Study”格式導出到Excel保存(文件名為:hlx_cnki.xlsx)。
43提取關鍵詞構建語料庫
文本分析采用R語言中的核心工具包tm,語料庫(Corpus)是tm包處理所有文本的集合。下載的125條相關文獻信息組成一個語料庫,每一條文獻的關鍵詞(題名、作者、摘要不考慮)視為一個文檔(Document)。
加載Excel處理包(library(″xlsx″)),調用read.xlsx(),將hlx_cnki.xlsx文檔讀入內存,生成數據框對象Data。轉換Data關鍵字列的數據類型為字符向量(data[[“keyword”]]〈-as.character(Data2[[“keyword”]]))。再依據逗號分隔符將每一行中的關鍵詞分裂成字符串向量(便于匯總統計),命令為data[[“keyword”]]〈-strsplit(data[[“keyword”]],split=″,″)。加載tm包和繪圖展示包ggplot2,命令為,library(tm),library(ggplot2)。使用VectorSource()函數把data[[“keyword”]]向量轉化為可以被Corpus函數直接讀取的數據,然后使用Corpus函數完成語料庫的轉化,放于corpus對象中。命令為corpus=Corpus(VectorSource(data[[“keyword”]]))。進而生成可以統計的詞條——文檔關系矩陣,命令為sample.dtm〈-DocumentTermMatrix(corpus,control=list(wordLengths=c(2,Inf)))(參數2限定關鍵詞最少2個字符)[9]。
44找高頻詞,生成詞條和出現頻次散點圖
統計包含關鍵詞的文檔數,需要把關系矩陣sample.dtm轉化為普通矩陣putong.matrix,命令為putong.matrix〈-as.matrix(sample.dtm)。用Apply函數統計各個關鍵詞在所有文檔中出現的次數,命令doc.freq〈-apply(putong.matrix,2,sum)。依據關鍵詞在文檔中的出現次數排序,找到頻次出現最多的20個詞條:names(doc.freq)〈-colnames(putong.matrix);rev(sort(doc.freq))[1∶20],結果如表1所示。
從高頻關鍵詞表和散點圖可以推測利用二維圖像進行提取深度信息的研究較多,應用領域研究多集中在機器視覺、人臉識別、體感游戲等方面。
45挖掘潛在主題,分析挑選相關文獻
加載topicmodels和lda包,命令library(topicmodels),library(lda)。依照課題作者提供的研究方面數和新穎點數來適當設置k的數量。本課題研究方向主要是2個方面,設置k=3,lda主題模型的實現方法選擇壓縮吉普抽樣算法Gibbs,其他參數選取默認值。命令為Gibbs=LDA(sample.dtm,k=3,method=″Gibbs″,control=list(seed=2015,burnin=1000,thin=100,iter=1000))。提取與3個主題分別最相關的10個關鍵詞,Terms〈-terms(Gibbs,10),結果如表2所示。
從3個主題的關鍵詞分析,Topic1主要概括機器視覺方面的深度信息;Topic2概括二位圖像深度信息提取,涉及到坐標變換、背向散射積分方法,體現出深度信息提取采用的方法問題;Topic3概述有關二位圖像特征提取深度信息、進行三維重建在超聲診斷儀、體感游戲等領域的應用情況。
分析挖掘出的3個潛在主題,對比課題基于單幅二維圖像的深度信息提取方法研究,主要涉及利用高斯核函數與圖像進行卷積,用梯度比值求彌散半徑的修正方法,以及利用擴散張量和二階總廣義變分方法。主題分析出來的主題未曾涉及到這些研究點,客觀判斷課題比較新穎。
再審閱主題關鍵詞對應的文獻,最后給出的結論是:
目前有關該課題的研究領域,單幅圖像中物體邊緣散焦程度的度量研究采用的方法主要是迭代方法對深度圖像進行修正,利用對象引導的深度優化提取,以及基于柯西分布的點擴散函數模型計算物體圖像邊緣散焦模糊量的方法。有關稀疏深度圖方面的報道較少,且未找到采用高斯核函數方法提取深度信息的報道。有關構建稠密深度圖方面的報道較少,未見采用擴散張量的方法。對于本課題提出的利用擴散張量將圖像提供的邊緣信息引入二階總廣義變分正則項,獲得高質量的稠密深度圖的算法研究,未見相關文獻報道,比較新穎。
46測試總結
該設計系統通過課題查新實例測試表明,通過相關文獻的關鍵詞進行主題挖掘,主旨較強,避免歧意,過程相對簡單,速度快??梢栽谡麄€查新過程中有效降低查新員對大量相關文獻主題的分析難度,從中篩選出一定量的文獻進行深入分析即可,有效減少了閱讀相關文獻的數量,提高了工作效率。對于查到的大量相關文獻進行潛在主題挖掘,對比驗證課題研究內容方向是否新穎,可以提供有效的參考依據,對課題作出評價相對更加客觀。但是,對于挖掘出來的主題一般難以通過關鍵詞快速給出結論,需要在參閱含有這些關鍵詞文獻的基礎上才能給出準確的概括解釋。另外,相關文獻的獲取也要注意采用一定的策略,在適當學科范圍的基礎上,盡量放大研究范圍,檢索到盡可能多的有效文獻,挖掘效果會更好。
5結束語
主題概率模型(LDA)方法在大量文檔中挖掘潛藏主題,識別能力多年來實驗和實踐證明都是非常有效的。課題查新長期以來,有關內容分析方面,特別是評價的客觀性方面,一直是個難題。研究者一直想探索、實踐智能查新系統,結果除了查新報告形式可以自動滿意生成外,分析結論難以實現智能自動化?;诖罅课谋就诰蚍治龇椒?,如主題概率模型(LDA),來實現查新課題過程的輔助分析,對于提高查新員的相關文獻內容主題分析效率,以及課題評價的客觀性方面,實踐證明有較好的效果。目前主要是通過相關文獻的關鍵詞來分析挖掘主題,從題名、摘要內容,甚至全文中切分提取關鍵詞匯進行多途徑對比挖掘分析,還需進一步探索。
參考文獻
[1]Blei D,Ng A,Jordan M.Latent Dirichlet Allocation[J].Journalof Machine Learning Research,2003,(3):993-1022.
[2]Griffiths TL,Steyvers M.Finding Scientific Topics[C].Process of the National Academy of Sciences,2004,101:5228-5235.
[3]Blei,David M,etc.Latent Dirichlet Allocation[L].Journal of Machine Learning Research,2003,(3):993-1022.
[4]王星,等.大數據分析:方法與應用[M],北京:清華大學出版社,2013:287-289.
[5]王力,李培峰,朱巧明.一種基于LDA模型的主題句抽取方法[J].計算機工程與應用,2013,49(2):160-164.
[6]葉春蕾,冷伏海.基于概率模型的主題識別方法實證研究[J].情報科學,2013,31(1):135-139.
[7]張宏鳴,.NET框架程序設計[M].北京:清華大學出版社,2016:1-330.
[8]Jeff B.Cromwell,The R Statistical Language and C#NET:Foundations[EB/OL].https://www.codeproject.com/Articles/25819/The-R-Statistical-Language-and-C-NET-Foundations,2016-02-16.
[9]李明,R語言與網站分析[M].北京:機械工業出版社,2014:381-386.
(責任編輯:孫國雷)