最近在做文本分類的項目,在這個方向上有點自己的思考,總結出來,希望對大家有幫助。
研究意義
我們身邊每天所產生的信息量正在迅猛增加,而這些信息基本都是非結構化的海量文本。
人類可以輕鬆處理與感知非結構化文本,但機器顯然很難理解。
不用說,這些文本定然是信息和知識的一個寶貴來源。因此,設計出能有效處理各類應用中非結構化文本的方法就顯得便迫在眉睫。
概念理解
首先我們要達成一個共識,也就是對文本挖掘這個概念的認識,大家先聽聽我的理解,看看和你們的認識是否一樣。
文本挖掘是從文本中進行數據挖掘。
從這個意義上講,文本挖掘是數據挖掘的一個分支。
它能做的事情包括信息抽取、文本摘要、觀點挖掘、情感分析等。
帶來的價值
文本挖掘這麼厲害,他到底能爲企業帶來什麼價值呢,下面我舉一個實際的例子來說明。
大家猜一猜這幅圖的業務背景是什麼?它能說明什麼問題?
這個是通過某平臺抓取的數據,進行文本挖掘後的圖片,從圖片裏可以很清楚的看到評論的負面幾乎都是來源於服務相關的。雖然說也有一部分人說味道難吃。作爲這家企業的決策人,你是首先會先去解決哪個問題?我想當然是解決服務相關的問題,因爲這纔是主要問題,這樣才能決定企業大方向的改變(一直朝着好的方向)。
這就是文本挖掘的作用,可以在茫茫多的數據中分析出事物的規律性和關聯性等,從而讓決策者做出更加符合市場的戰略規劃或佈局。
問題特徵
大家可能好奇了,這些業務難題的共同點是什麼,爲什麼算法能解決這樣的問題。
當業務問題具有以上四個特徵的時候,我們就可以應用機器學習算法來解決
- 大量數據
- 規範存儲
- 有學習樣本
- 重複的操作
解決方法
三步走,方法從簡單到複雜演變,這也是一個理解業務,理解數據的過程。
- 在人們發現機器學習、深度學習的潛力之前傳統的文本分類模型比較簡單,技術上的難度不是很大,基於關鍵詞詞典,關鍵詞主要靠人的經驗。
- 樸素貝葉斯是現在應用比較廣泛的解決文本分類的方案,包括垃圾郵件識別、新聞分類等。它基於TF-IDF向量空間,要有標記樣本。
- fasttext方法是目前比較前沿的技術,它是Facebook在16年年底開源的一個項目。它基語義分析,模型相對比較複雜。
到這裏大家是不是有點懵了,是不是很想知道TF-IDF向量空間和語義分析是個什麼鬼,他們的主要區別在哪裏。
技術解析
其實TF-IDF向量空間可以理解爲我們把一篇文章映射到一個詞向量的空間,每個詞語對應一個位置,就像這樣(上圖)。
語義分析的複雜是它又加入了一個詞語的相關性空間,它是兩個空間的疊加。
將詞用“詞向量”的方式表示可謂是將 深度學習算法引入 NLP 領域的一個核心技術。
#####建模過程
模型應用之前有五個環節的工作。
第一個環節是提取錄音文件,這些錄音文件我們有積累。
第二個環節是錄音文件轉xml存儲。
第三個環節是將這些文件解析成我們需要的格式,只保留需要研究的信息。
然後是文本的預處理,我們知道機器不能直接處理這樣的非結構化的文本,我們需要採取一些措施將文本轉換成數值才能做計算。
最後一個環節就是模型的訓練,這個環節是最耗時間的一個環節,也是最考察能力的一個環節,需要深入理解業務,做出算法選和各個參數的選擇。
機器學習過程
- 將樣本分成兩部分:訓練集和測試集。
- 在進入模型之前對訓練集和測試集做相同的操作,即分詞和轉TDM矩陣。
- 這裏的核心是訓練集和測試集共用一個向量空間
建模反思
最後總結一下,如果在生產環境下表現不理想。
可能是三個原因造成的,即標記樣本積累量不夠、訓練樣本的選擇策略有問題或目標類別不均衡。
怎麼解決呢,可以嘗試上面提到的第三種方式,引入詞向量的方式。