文本挖掘是從文本數據中獲得價值信息的方法,涵蓋多個學科,也有多種用途。本文介紹了文本挖掘的主要作用、基本操作步驟以及操作工具。

一、什麼是文本挖掘

文本挖掘指的是從文本數據中獲取有價值的信息和知識,它是數據挖掘中的一種方法。文本挖掘中最重要最基本的應用是實現文本的分類和聚類,前者是有監督的挖掘演算法,後者是無監督的挖掘演算法。

文本挖掘是一個多學科混雜的領域,涵蓋了多種技術,包括數據挖掘技術、信息抽取、信息檢索,機器學習、自然語言處理、計算語言學、統計數據分析、線性幾何、概率理論甚至還有圖論。

二、文本挖掘有什麼用

1、文本分類

文本分類是一種典型的機器學習方法,一般分為訓練和分類兩個階段。文本分類一般採用統計方法或機器學習來實現。

2、文本聚類

文本聚類是一種典型的無監督式機器學習方法,聚類方法的選擇取決於數據類型。

首先,文檔聚類可以發現與某文檔相似的一批文檔,幫助知識工作者發現相關知識;其次,文檔聚類可以將一類文檔聚類成若干個類,提供一種組織文檔集合的方法;再次,文檔聚類還可以生成分類器以對文檔進行分類。

文本挖掘中的聚類可用於:提供大規模文檔內容總括;識別隱藏的文檔間的相似度;減輕瀏覽相關、相似信息的過程。

3、信息檢索

主要是利用計算機系統的快速計算能力,從海量文檔中尋找用戶需要的相關文檔。

4、信息抽取

信息抽取是把文本里包含的信息進行結構化處理,變成表格一樣的組織形式。輸入信息抽取系統的是原始文本,輸出的是固定格式的信息。

5、自動文摘

利用計算機自動的從原始文檔中提取出文檔的主要內容。互聯網上的文本信息、機構內部的文檔及資料庫的內容都在成指數級的速度增長,用戶在檢索信息的時候,可以得到成千上萬篇的返回結果,其中許多是與其信息需求無關或關係不大的,如果要剔除這些文檔,則必須閱讀完全文,這要求用戶付出很多勞動,而且效果不好。

自動文摘能夠生成簡短的關於文檔內容的指示性信息,將文檔的主要內容呈現給用戶,以決定是否要閱讀文檔的原文,這樣能夠節省大量的瀏覽時間。簡單地說自動文摘就是利用計算機自動地從原始文檔中提取全面準確地反映該文檔中心內容的簡單連貫的短文。

自動文摘具有以下特點:

(1)自動文摘應能將原文的主題思想或中心內容自動提取出來。

(2)文摘應具有概況性、客觀性、可理解性和可讀性。

(3)可適用於任意領域。

按照生成文摘的句子來源,自動文摘方法可以分成兩類,一類是完全使用原文中的句子來生成文摘,另一類是可以自動生成句子來表達文檔的內容。後者的功能更強大,但在實現的時候,自動生成句子是一個比較複雜的問題,經常出現產生的新句子不能被理解的情況,因此目前大多用的是抽取生成法。

6、自動問答

自動問答是指對於用戶提出的問題,計算機可以自動的從相關資料中求解答案並作出相應的回答。自動問答系統一般包括 3 個組成部分:問題分析、信息檢索和答案抽取。

7、機器翻譯

利用計算機將一種源語言轉變為另一種源語言的過程。

8、信息過濾

指計算機系統可以自動的進行過濾操作,將滿足條件的信息保留,將不滿足條件的文檔過濾掉。信息過濾技術主要用於信息安全領域。

9、自動語音識別

自動語音識別就是將輸入計算機的自然語言轉換成文本表示的書面語。

三、文本挖掘操作步驟

1、獲取文本

現有文本數據導入,或者通過如網路爬蟲等技術獲取網路文本,主要是獲取網頁HTML的形式。我們要把網路中的文本獲取文本資料庫(數據集)。編寫爬蟲程序,抓取到網路中的信息。

2、文本預處理

指剔除雜訊文檔以改進挖掘精度,或者在文檔數量過多時僅選取一部分樣本以提高挖掘效率。

例如網頁中存在很多不必要的信息,比如說一些廣告,導航欄,html、js代碼,注釋等等並不需要的信息,可以刪除掉。如果是需要正文提取,可以利用標籤用途、標籤密度判定、數據挖掘思想、視覺網頁塊分析技術等等策略抽取出正文。

3、文本的語言學處理

(1)分詞

經過上面的步驟,我們會得到比較乾淨的素材。文本中起到關鍵作用的是一些詞,甚至主要詞就能起到決定文本取向。比如說一篇文章講的是政治還是經濟,肯定是對文章中的中心詞進行分析得到的結果。 所以接下來的步驟就是分詞。

分詞就是將連續的字序列按照一定的規範重新組合成詞序列的過程。我們知道,在英文的行文中,單詞之間是以空格作為自然分界符的,而中文只是字、句和段能通過明顯的分界符來簡單劃界,唯獨詞沒有一個形式上的分界符,雖然英文也同樣存在短語的劃分問題,不過在詞這一層上,中文比之英文要複雜得多、困難得多。

現在針對中文分詞,出現了很多分詞的演算法,有最大匹配法、最優匹配法、機械匹配法、逆向匹配法、雙向匹配法等等。

(2)詞性標註

同時也可以使用詞性標註。通過很多分詞工具分出來的出會出現一個詞,外加該詞的詞性。比如說啊是語氣助詞。

(3)去除停用詞

比如說句號、是、的等詞,沒有什麼實際的意義。然而這些詞在所有的文章中都大量存在,並不能反應出文本的意思,可以處理掉。當然針對不同的應用還有很多其他詞性也是可以去掉的,比如形容詞等。

4、文本的數學處理-特徵提取

我們希望獲取到的辭彙,既能保留文本的信息,同時又能反映它們的相對重要性。如果對所有詞語都保留,維度會特別高,矩陣將會變得特別稀疏,嚴重影響到挖掘結果。所以這就需要特徵提取。

特徵選取的方式有4種:

(1)用映射或變換的方法把原始特徵變換為較少的新特徵;

(2)從原始特徵中挑選出一些最具代表性的特徵;

(3)根據專家的知識挑選最有影響的特徵;

(4)用數學的方法進行選取,找出最具分類信息的特徵,這種方法是一種比較精確的方法,人為因素的干擾較少,尤其適合於文本自動分類挖掘系統的應用。

5、分類聚類

經過上面的步驟之後,我們就可以把文本集轉化成一個矩陣。我們能夠利用各種演算法進行挖掘,比如說如果要對文本集進行分類,分類常用的方法有:簡單貝葉斯分類法,矩陣變換法、K-最近鄰參照分類演算法以及支持向量機分類方法等。

聚類方法通常有:層次聚類法、平面劃分法、簡單貝葉斯聚類法、K-最近鄰聚類法、分級聚類法等。

6、數據可視化

最後一步當然就是數據結構的可視化展示,通過合適的可視化圖形生動形象展示,讓讀者聽眾更容易理解你所要表達的信息。

文本可視化最常用的圖形就是詞雲。

四、文本挖掘工具

1、python語言jieba、gensim、sklearn、WordCloud和matplotlib包

2、R語言jieba、tm、tmcn、Rwordseg和wordcloud包

3、SAS text miner

4、SPSS Text Mining

推薦閱讀:

相关文章