【3】 文本挖掘方法論

轉自 NLP論壇

http://www.threedweb.cn/thread-1284-1-1.html
http://www.threedweb.cn/thread-1285-1-1.html
http://www.threedweb.cn/thread-1286-1-1.html

文本挖掘流程

這裏寫圖片描述

第1階段:確定研究目的

像任何其他項目一樣,文本挖掘的研究開始於研究目的的決策。這需要深入瞭解業務情況,研究的目的是什麼。爲了實現這樣的認識和精確定義的目的,我們必須評估問題(或機會)的實質。通常情況下,爲了開發基礎系統,我們必須密切與領域專家互動,包括對系統結構,限制和可用資源的深入評估。只有這樣,我們才能制定出一套切實可行的目標來確定研究的方向。

第2階段:一旦這項研究的目的是確定,探索可用性和數據的性質,我們在特定研究範圍內準備評估可用性,可獲得性,以及必要的數據的適用性。此階段的任務包括以下內容:


* 文本數據源的標識(基於數字化的還是基於紙質的;組織內部的或組織外部的)
* 數據的可訪問性和可用性評估
* 收集的初始數據集
* 數據的豐富性的探索(例如,它有需要的文本挖掘研究的信息內容?)
* 數據的數量和質量的評估。一旦探測得出了積極的結果,下一階段是從各種來源收集和集成大量數據,在研究中使用。

第3階段:準備數據 && 第4階段:開發和評估模型

第3階段及第4階段是數據挖掘和文本挖掘的最顯著差異之處。事實上,許多人認爲,文本挖掘無非是在數據收集和處理階段比數據挖掘的更艱苦。在圖5.2B,階段2和3展示了陰影框,顯示出更細緻,深入的描述。這些在階段6之後討論。

第5階段:評估結果

一旦模型被開發出來,就要準確評估其質量。從數據分析的角度來看,我們必須驗證執行操作的正確性。例如,我們必須驗證取樣是否得當,那麼可以重複上述步驟來驗證。然後,(也只有這樣)才能繼續向前部署。採取執行流程中的綜合評價,有助於減輕的錯誤傳播到決策過程中,否則可能導致對業務不可逆的損害。通常情況下,當分析師處於這些階段時,他或她可能忘了主要業務問題,開始把學習擺在首位。這種評估步驟是爲了使流程階段有更多的時間,以確保開發並驗證模型真正實際解決業務問題,並實現目標。如果這一評估得出的結論,一個業務目標或多個不滿意,或者還有的是,還沒有被充分考慮一些重要的商業問題,我們應該返回並移動到該流程的部署階段之前以糾正這些問題。

第6階段:部署結果

一旦模型和建模過程中順利通過評估,它們就可以被部署(即投入使用)。這些模型的部署可以是簡單的形成一份報告,通過解釋引起決策者對研究結果的注意,也可以很複雜,例如建立一個新的商業智能系統來應用這些模型(或將其納入現有的商業智能系統),所以它們可以被重複地用於更好地進行決策。隨着時間的推移,一些模型將失去他們的準確性和相關性。他們應該可以被新數據週期性地更新(或精化)。這可以通過執行新的分析方法,每隔一段時間重新創建模型,或更完美地,商業智能系統本身可被設計成通過相關數據的更新來自動精煉模型。雖然開發能夠自我評價和自我調節的複雜系統,是一個具有挑戰性的任務,一旦完成,其結果將是非常令人滿意的。

數據準備和開發、評估模型

這裏寫圖片描述

圖5.2A和5.2B展示了文本挖掘的流程。通過第3階段和第4階段。圖5.3提出了文本挖掘的方法,從功能架構的角度來看是一個高層次的內容圖。該圖展示了流程的範圍,特別強調了接口和環境。本質上,它繪製了流程的邊界來明確表明文本挖掘過程所包含(和/或排除)的內容。

在知識發現的背景下,文本挖掘的主要目的是從非結構化(文本)數據,以及結構化和半結構化數據(如有關的問題正在解決)中提取新的,有意義的和可操作的知識/信息更好輔助決策。在圖5.3(盒子上的左邊緣)的輸入箭頭是基於文本的知識發現流程塊。非結構化,半結構化或結構化的數據都被收集,存儲,並提供給流程。輸出箭頭(框右邊緣)表示指定上下文的知識產品,可以用於決策。進入框上邊緣的約束條件(或控制)箭頭表示軟件和硬件的限制,或隱私方面的問題,以及以自然語言方式呈現的文本處理方面的難點。進入框內的底部是啓用模塊,它代表了軟件工具,高速計算機,領域知識,和自然語言處理(NLP)的方法。

這裏寫圖片描述
圖5.4顯示,圖5.3可以分解成三個相互聯繫的子過程,我們稱之爲“活動。”每個都有輸入,完成了一些轉換過程,並生成各種輸出。如果由於某種原因,子進程的輸出不是預期或出現不能令人滿意的水平,反饋迴路重定向信息流程到之前任務,允許調整和更正。

第三階段,第1步:建立語料庫

第3階段的活動1是收集所有相關的正在處理的問題的文件(參見圖5.4)。數據的質量和數量都是數據挖掘和文本挖掘項目中最重要的元素。有時在文本挖掘的項目中,文檔集合是現成的,伴隨着項目的說明(在一個特定的產品或服務的顧客評論,例如,進行情感分析)。但通常的文本挖掘需要識別並使用手動或自動的方法收集特定問題的文檔集合(例如,web爬蟲可以定期摘錄幾個網站,收集相關的新聞)。數據收集可以包括文本文件,HTML文件,電子郵件,網帖和短期票據。除了正常的文本數據,可以包括使用語音識別算法轉錄的語音記錄。

一旦收集完成,文本文件就可以轉化和組織爲計算機可處理的方式,並轉換爲相同的格式(如ASCII文本文件)。數字化的文本文件可以存儲在一個文件夾中,也可以以網頁集合的形式放到在一個特定的域列表中。許多市售的文本挖掘軟件工具可以接受網頁作爲輸入,並將其轉換成一個文本文件進行處理。可選地,文本文件也可以在文本挖掘軟件之外準備,那麼可以表示爲輸入到文本挖掘應用。

第三階段,第2步:預處理的數據

在此活動中,將數字化並且組織好的文檔(語料庫)用於創建數據結構化的表示,通常被稱爲詞條-文檔矩陣(TDM)。通常,TDM包括表示文件的行和表示詞條的列構成。詞條和文檔之間的關係被表徵爲索引,這是關係的測度,如在文檔中出現的詞頻。圖5.5顯示了TDM的簡化示例。

第2步的目標是把組織好的文檔(語料庫)列表轉換成一個TDM,這裏單元被填充爲最合適的索引。我們在這裏所做的假設是,文件的​​“意義”可以用該文件中出現的詞條列表和詞頻來表示。那麼,表徵文檔時,所有的條件都同樣重要嗎?顯然,答案是否定的。一些詞條,例如冠詞,助動詞,是幾乎所有語料庫文檔都使用的詞條,它們沒有有意義的功能,因此應被排除在索引之外。這些詞的列表俗稱停用詞表,這往往在具體研究領域由該領域專家專門鑑定。在另一方面,在文件被索引時,我們可以選用一組預定義的停用詞列表,這類詞條列表慣例上被稱爲字典。此外,同義詞和特定的短語(例如,“最高法院”)也可以以詞典的形式提供,這樣的索引條目將會更準確。圖5.6示出了TDM與其它四個任務的更詳細視圖。

 任務1

第一個任務產生停用詞(或者包含詞條)以及同義詞和特定短語。

任務2

由詞幹或詞形還原創建詞條列表,這是詞條最簡單的形式(即詞根)。詞幹的例子是用於識別和索引不同的語法形式或約簡動詞詞條。例如詞幹可以確保模型,建模和模擬被識別爲詞的模型。以這種方式,詞幹會明顯降低詞條的數量,並增加一些詞條的頻率。詞根有兩種常見的類型:
1.屈折詞幹:這旨在規範語法上的變化,如現在/過去時態和單/複數變化等(這在計算語言學上被稱爲形態分析)。不同的語言在難易程度上顯著的不同。
2.詞幹到根:這旨在消除屈折性或派生的前綴和後綴,形成詞根的形式。

任務3

創建TDM。在任務3中,語料庫的數字二維矩陣表示被創建,這是TDM生成的第一種形式,包括以下三個步驟:

  • 指定所有文件作爲矩陣中的行
  • 識別所有的在語料庫中的獨特的詞條(如它的列),但不包含在停用詞列表中的
  • 計算每個詞的每個文檔的出現次數(作爲其單元值)

如果語料庫包括一個相當大數目的文件(這是通常的情況),則是很常見的TDM爲具有非常大的詞條。處理這樣一個大的矩陣可能是耗時的,而且,更重要的是,它可能會導致提取不準確的模式。大型矩陣和耗時的操作這些危險情況導致如下兩個問題:

  • 什麼是文本挖掘項目最優處理的索引最佳表示?
  • 如何把矩陣的維度降低到一個更易於管理的大小,以方便更快捷有效的處理?

要回答第1個問題,我們必須評估各種形式的索引表示。一種方法是詞頻的轉換。一旦輸入文檔被索引並且初始詞頻(由文件)被計算,可以執行一些額外的轉換來概括和聚集所提取的信息。原詞的頻率反映了每個文檔中相對突出的詞。具體而言,文檔詞條出現的較大詞頻可能是該文件內容最好的描述符。然而,詞條的計數是正比於文件描述符的重要性本身不是一個合理的假設。例如,即使在文件A中詞條的頻率三倍高於文件B中,不一定就能推論出這個詞對於文檔B三倍重要於文檔A。

爲了具有更一致TDM爲進一步的分析,這些原始索引應被歸一化。在統計分析中,歸一化包括以消除數據元素之間的不同尺度的不同效果分割多組數據由一個共同的值來進行比較的。原始頻率值可以使用的一些可供選擇的方法進行歸一化。下面是一些最常用的標準化方法(StatSoft推出,2010):

對數的詞頻。原始詞頻通過對數函數變換。這種變換將“抑制”的原始詞頻,以及如何影響後續分析的結果。

f(wf)=1+log(wf)

在該式中,wf 是原始詞頻,而f(wf) 是對數變換的結果。這個變換被應用到TDM中所有的原始詞頻,這裏詞頻是大於零的。
二元頻率。同樣的,一個更簡單的變換可以用於枚舉詞,如果詞條被用於一份文件中。

f(wf)=1,for:wf>0

這導致的TDM矩陣將只包含0和1,它們指示了各詞條是否存在。同樣,這種轉換將抑制的原始詞頻的效果,在後續的計算和分析中進行計數。

逆文檔頻率。除了詞條的歸一化頻率,對於給定詞頻的每個文檔(相對文件頻率或df )也是分析中的一個重要方面。例如,可能會經常出現在所有的文件中,如”guess”,而另一個詞條,如”software”,可能只會出現幾次。其原因是,人們可能在各種情況下都會”make guess”,而不管特定主題的,而”software”是一種在語義上更聚焦的詞條,它僅發生在有關計算機軟件的文件中。一個常見的和非常有用的變換被稱爲逆文檔詞頻(Manning和Schutze,1999),它反映了詞條的特異性(相對於文檔頻率)以及它們出現(轉化的詞頻率)的總體頻率。這個變換對於第i 詞和第j 個文件可寫爲:

idf(i,j)=0(1+log(wfi,j)logNdfiwfi,j=0wfi,j0

這裏wfij 是被第j 個文檔中第i 個詞條歸一化後的詞頻(包含此詞條的文檔數量),並且n 是文檔的總數。你能看到這個公式既包含了對數函數的簡單詞頻阻尼(之前描述的)也包含了權重因子,如果詞條在所有文檔中出現,則計爲0,[i.e.,log(N/N=1)=0 ]。當一個詞條僅出現在單獨的文本中這個值就是最大值,[i.e.,log(N/1)=log(N) ]。如何這個轉換將創建索引能被很容易的觀察到。它反映了出現詞條詞頻以及它們在文檔中頻率的相關性,它代表了給出文檔的語義特異性。它最常用於字段轉換。

接下來還給出我們如何降低TDM的維度的問題(問題 #2)。因爲,TDM經常是很大的,並且相當稀疏(絕大多數單元都是0)。這個答案更易處理。有幾個選擇可以降低矩陣到可管理的規模:

* 領域專家遍歷詞條列表,並消除那些沒有多大意義的研究的內容(這需要手工,是一個密集勞動的過程)。
* 消除與極少數發生在極少數的文件詞條。
* 變換使用奇異值分解矩陣。

奇異值分解

奇異值分解(SVD)爲代表的矩陣爲一系列線性近似值的方法,即揭示矩陣的潛在意義的結構。 SVD的目標是找到最能預測結果因子的最優集合。在之前的文本挖掘業務數據預處理,SVD被用於潛層語義分析(LSA)來查找各種文件詞條的基本含義。

在更多的技術術語中,SVD與主成分分析密切相關,因爲它將輸入矩陣降低(通過提取詞條的數量的輸入文件的數量)到較低維空間中(在規模上小得多的矩陣),其中每個連續的維代表了變量的最大概率的程度(在詞條及文檔之間)(Manning和Schutze,1999年)。理想的情況,分析師可能會找出兩個或三個最顯著的維度,佔據了大部分的變量空間(差異),從而識別出潛在的語義空間(這個詞與低維空間相同?),並組織詞條和文檔進行分析。當這些維度被確定,它們代表了包含在文檔中的潛在意義(討論或說明)。例如,假設矩陣A代表了m×n個詞出現的矩陣,其中m是輸入文件的數目,n是所分析的詞條。 SVD計算了m×r 的正交矩陣Un×r 正交矩陣V ,以及r×r 矩陣D ,所以A=UDV ’,並r 就是AA 的特徵數。

第3階段,第3不:提取知識

抽取出已上下文中已解決的特定問題的新模式,使用良好的結構化TDM,並可能增加其他結構化的數據元素(如數字和/或標量,其中可能包含的文件的時間和地點的規格)。在文本挖掘研究中,這些知識的提取方法的主要類別:

  • 預測(例如,分類,迴歸和時間序列分析)
  • 聚類(如分割和孤立點分析)
  • 關聯(例如,親和分析,鏈接分析和序列分析)
  • 趨勢分析

分類

可以說在分析複雜數據源中最常見的知識發現主題是把某些對象或事件轉換爲預定的類別。分類的目的是將數據實例分配到預定的一組類別。因爲它適用於文本挖掘的領域,此任務被稱爲文本分類,這裏需要給出一組類別和文本文檔的集合,所面臨的挑戰是要爲每個文檔找到正確的主題(主題或概念)。這種挑戰通過訓練數據集可以實現,訓練集既包括文件也包括實際文檔的分類。今天,在不同的背景下自動化的文本分類,包括迭代(自動或半自動)索引的文本,垃圾郵件過濾,網頁分類下的分層目錄,自動生成元數據,題材檢測,以及許多其他的應用。

有兩種主要的文本分類方法,一是專家系統(通過運用知識工程技術),二是分類模型(通過使用統計和/或機器學習技術)。專家系統的方法是將專家的知識以規則表達式的形式編碼成分類系統。機器學習的方法是一個廣義歸納過程,採用由一組預分類的例子,通過“學習”建立分類。由於文件數量的增加以指數速度和知識專家的可用性變得越來越小,潮流趨勢正在轉向機器學習 - 基於自動分類技術。

聚類

聚類是一種無監督的學習過程,這裏對象或事件被置於“自然”的分組稱爲集羣。無監督的學習過程是不使用模式或先驗知識來指導聚類的過程。文本分類是一個監督的過程,其中預分類的訓練樣本集被用於開發基於類別的描述性特徵的模式,以區分新的未標記的樣本。在無監督的聚類方法中,問題是把未標記的對象集合(例如,文檔,客戶評論,網頁)分組爲成有意義的集羣,而沒有任何先驗知識。

集羣應用廣泛,從文獻檢索到實現更好的網絡內容搜索上。事實上,聚類的突出應用之一是分析和導航非常大的文字集合,例如網頁。基本的基本假設是,相關的文件比彼此之間毫不相關的文件往往更相似。如果這個假設是成立的,基於內容相似性的文檔聚類可以提高搜索的效率(Feldman和Sanger,2007)。

兩種最流行的聚類方法是分散/聚集集羣和特定查詢集羣。當特定的搜索查詢不能被形式化時,分散/聚集的方法使用集羣來提高人們對文件的瀏覽效率。在某種意義上,該方法動態地生成一個內容表,通過收集和適應以及修改它來響應用戶的選擇。在另一方面,特定查詢的聚類方法採用分層聚類方法,即最相關的文件位於集羣的中心,而相關度較低的則在外延,根據文檔相關性的水平創建出一種頻譜。對於較大尺度的文檔集合此方法執行得一直比較好。

關聯

關聯是查找不同的數據元素(對象或事件)相關度的過程。在零售行業,關聯分析通常被稱爲市場購物籃分析。產生關聯規則的主要思想是識別出在特定上下文中的頻繁集。零售行業一個著名的例子是在同一個購物車中啤酒和尿布的關聯(關係到週一晚上的足球比賽的電視轉播)。

在文本挖掘中,關聯特別是指概念(或詞語)或一組概念之間的直接關係。X => Y的關聯規則,是兩個頻繁概念集X和Y的相關性,可量化(或證實)爲兩個基本測度,支持度和置信度。置信度是個文檔的百分比值,這些文檔包含了Y的所有概念,其中也包含了X的所有概念的子集。支持度也是個文檔的百分比值,它包含了X,Y的所有概念。例如,一個包含“項目失敗”的文檔集合,可能最經常出現的關鍵詞“企業資源規劃”和“客戶關係管理”的支持度爲4%,而置信度爲55%,也就是說,4%的含義是在語料庫中一篇文檔同時出現所有三個概念的概率是4%,其中同時包括“項目失敗”,“企業資源規劃”和“客戶關係管理”的文檔佔55%。

在一項令人感趣的文本挖掘研究中,關聯分析是用來研究已發表的文獻(新聞,學術刊物和網上的帖子),繪製出禽流感的爆發和進展(Mahgoub等,2008)。此研究的主要目的是爲了自動識別出地理區域,種羣傳播,物種間傳播之間的關聯,並提出應對措施。
關聯分析的一個特殊情況是,一些概念都以一種有序的方式關聯另外的概念(例如,一個序列的概念往往會出現一種趨勢),或者在一個特定的時間段有關。這種類型的關聯分析被稱爲趨勢分析,其簡要地在下面的部分說明。

趨勢分析

趨勢分析的主要目的是找到對象或事件根據時間的變化規律。通常,文本挖掘中的趨勢分析是基於時間間隔的各種類型的概念分佈;也就是說,相同主題的不同集合在不同的時間間隔可能會導致不同的概念分佈。因此,比較兩種概念的時間變化是有可能的,除非它們來自相同的文檔子集。這種類型分析的一個顯著方向是具有相同的源的兩個集合(如由一組相同的學術期刊),但是時間點不同。 Delen和Crossland (2008) 對大量的學術文章應用趨勢分析,(發表在三種高度關注的學術期刊),以識別信息系統領域的關鍵概念的演變。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章