文本數據挖掘(Text Mining)
- 2020 年 2 月 21 日
- 筆記
文本數據挖掘是利用某些方法比如自然語言處理(Natural language processing (NLP))技術把一堆沒有結構的數據而處理成有結構的數據的一種人工智慧技術,而處理後的這些有結構的數據可以作為機器學習和深度學習模型的輸入,也可以直接分析這些數據產生想要的結果。
文本挖掘的目的就是從一堆有結構的,和非結構的數據中尋找有價值的資訊從而來解決實際問題。
人的自然語言中包含著大量的資訊,是當今社會數據的一個重要和一個很大比例的組成部分。怎麼從這些語言資訊中獲取有用的資訊?從而可以訓練機器為我們服務。
比如, 現在我們的手機可以自動的把語音電話翻譯成文本文件,電腦可以幫我們自動的改正拼寫錯誤的單詞,等等。在這些處理技術中,自然語言處理(NLP)是數據挖掘中一種最經常使用的方法。
自然語言處理(NLP)本身不是一種機器學習的方法,而是利用NLP可以把文本資訊處理成合適的數據,從而這些被處理的數據可以作為機器學習模型的輸入。當我們面臨一大堆沒有結構,而且格式是各種各樣的巨多文件時,而也許這些文件中還包含著各種各樣的拼寫錯誤,或者還有漏寫的字等等,這時候我們可以使用NLP技術來處理。現在最流行的處理文本文件的包就是NLTK,大家可以自己搜一下,試一下。
怎麼才能把雜亂的文本資訊處理成有規律的,機器學習模型可以認識的資訊呢? 一種很自然的想法就是把文本資訊轉化成數值型的。有的方法就是根據每個單詞在文本中出現的頻率來給每個單詞賦予一個獨特的數值,這樣的話文本中的一句話或者一行就可以用一系列的數值表達出來。整個文本就會以數值矩陣的形式表達出來了。這種基於頻率的矩陣表達形式稱之為詞頻矩陣(Term Frequency Matrix (TFM))。
有了這個TFM矩陣之後,我們可以產生另外一個流行的數值矩陣表達形式,這個矩陣稱之為詞頻逆文件(Term Frequency Inverse Document Frequency (TFIDF)),這個TFIDF矩陣可以反應每個單詞的重要性。它也可以更好的服務於機器學習模型。
但是這種矩陣表達方式主要是建立在單詞出現的頻率上面,而沒有考慮到詞和詞之間的作用,相似性等等。在下面的文章中,我們將會介紹另外一種新的方法,來克服這些矩陣中的缺點。

圖片來自這裡(https://www.flickr.com/photos/bury_irc/5981036346)