文檔模型,主要針對的是如何把文檔數字化、向量化,最終可以利用這些文檔來建立模型。當前文檔模型主要包括三類:布爾模型,向量空間模型,概率模型。
1. 布爾模型
每個詞在文檔中出現則記爲1,否則記爲0。這樣就可以將每一篇文章都轉化爲向量,這種方法非常簡單易懂,但是會丟失很多重要信息,比如詞組出現的次數。因爲排除停用詞(stop words)以外,一個單詞在文章中出現次數較多,那麼它相對來說也更重要。這也被稱作詞集模型,另外一種詞袋模型,向量中的每個數指的是這個單詞在文章中出現的次數。
2. 向量空間模型
詞集模型和詞袋模型都太過簡單,比如詞集模型無法比較兩個都是1的單詞的重要程度;而詞袋模型的缺陷在於並不是一個單詞出現的次數越多就越重要。因爲有些詞可能本身使用的就很多,在一片文章中出現的多也無可厚非。
因此除了統計單詞在文章中是否出現、出現的次數以外,我們還必須有更好的方法來計算單詞的重要程度從而將文檔轉化爲向量。這個算法就是tf-idf:
tf: term frequency
tf = (單詞出現的次數) / (文章單詞出現的總次數)
idf: inverse document frequency
idf = log[(語料庫的文檔總數) / (語料庫中包含該詞的文檔數 + 1)]
一個單詞的tf-idf:
tf-idf = tf * idf
計算每個單詞的tf-idf就可以將文檔轉化爲向量。
3. 概率模型
這個算法有點沒看懂,網上資料也是極少,暫時先放一放。