判斷文檔相似性的傳統方法是通過查看兩個文檔共同出現的詞項(terms,不重復的words)有多少,如TF-IDF等。但這種方法沒有考慮到文字背后的語義關聯,可能在兩個文檔共同出現的詞項很少甚至沒有,但兩個文檔是相似的。
TF-IDF是Term Frequency - Inverse Document Frequency的縮寫,即“詞頻-逆文本頻率”。它由兩部分組成,TF和IDF。前面的TF也就是我們前面說到的詞頻,我們之前做的向量化也就是做了文本中各個詞的出現頻率統計,並作為文本特征,這個很好理解。關鍵是后面的這個IDF,即“逆文本頻率”如何理解。我們講到幾乎所有文本都會出現的"to"其詞頻雖然高,但是重要性卻應該比詞頻低的"China"和“Travel”要低。我們的IDF就是來幫助我們來反應這個詞的重要性的,進而修正僅僅用詞頻表示的詞特征值。概括來講, IDF反應了一個詞在所有文本中出現的頻率,如果一個詞在很多的文本中出現,那么它的IDF值應該低,比如上文中的“to”。而反過來如果一個詞在比較少的文本中出現,那么它的IDF值應該高。比如一些專業的名詞如“Machine Learning”。這樣的詞IDF值應該高。一個極端的情況,如果一個詞在所有的文本中都出現,那么它的IDF值應該為0。
主題模型 Topic Model
主題模型是用來在大量文檔中發現潛在主題的一種統計模型。
如果一篇文章有一個中心思想,那么一些特定詞語會出現的比較頻繁;真實情況下,一個文檔中通常包含多個主題,而且每個主題所占的比例各不相同,則與各個主題相關的關鍵字出現的次數與主題之間的比例有關。主題模型能夠自動分析文檔(document),不計順序地統計文檔內的單詞(word),根據統計的信息判斷該文檔包含的主題(topic)以及各個主題所占比例。
主題模型是一種生成式有向圖模型,主題模型中文檔是由主題組成的,而主題是單詞的一個概率分布;即每個單詞都是通過“文檔以一定的概率選擇某個主題,再從這個主題中以一定的概率選擇某個單詞”這樣一個過程得到的。
主題模型克服了傳統信息檢索中文檔相似度計算方法的缺點,並能夠在海量數據中找出文字間的語義主題,在自然語言處理、信息檢索等領域有廣泛的應用。
LDA
Linear Discriminate Analysis 線性判別分析
LDA 是一種文檔主題生成模型, 是一個三層貝葉斯概率模型。
所謂生成模型:我們認為, 一篇文章的每個詞都是通過“以一定概率選擇了某個主題,並從這個主題中以一定概率選擇某個詞語”這樣一個過程得到。文檔到主題服從多項式分布,主題到詞服從多項式分布。
-
LDA是一種可作為特征抽取的技術
-
可以提高數據分析過程中的計算效率
- 對於不適用與正則化的模型,可以降低因維度災難帶來的過擬合
LDA分類原理
同一主題下,某個詞出現的概率,以及同一文檔下,某個主題出現的概率,兩個概率的乘積,可以得到某篇文檔出現某個詞的概率,我們在訓練的時候,調整這兩個分布就可以了。
由此可以定義LDA的生成過程:
- 對每篇文檔,在主題分布中抽取一個主題;
- 對抽到的主題所對應的單詞分布中隨機抽取一個單詞;
- 重復上述過程直至遍歷整篇文檔中的每個單詞
經過以上三步,就可以看一下兩個分布的乘積,是否符合給定文章的分布,以此來調整。
實踐:https://blog.csdn.net/qq_39422642/article/details/78730662