3.Gensim中Dict,Tf-Idf的解釋

最近項(xiàng)目中,有用到文本相似度計(jì)算,涉及到自然語言處理的一個(gè)很強(qiáng)大的庫gensim

1.1 基本概念和用法

corpora是gensim中的基本概念,是文檔集的表現(xiàn)形式,也是后續(xù)進(jìn)一步處理的基礎(chǔ)。從本質(zhì)上來說,corpora其實(shí)是一種格式或者說約定,其實(shí)就是一個(gè)二維矩陣。

dictionary = corpora.Dictionary(texts) # Use gensim package用文本生成dict

dictionary.token2id //dict中文本token和id位置號

前面是文本詞語,后面是index值

data_dictionary.doc2bow(text)for textin bcom_data_clean.texts //把對應(yīng)文本按照dict中token2id的轉(zhuǎn)換成坐標(biāo)

(0,1)0表示token編號,1表示出現(xiàn)1次

1.2?TF-IDF原理介紹

TF-IDF(term frequency–inverse document frequency)是一種用于資訊檢索與文本挖掘的常用加權(quán)技術(shù)。TF-IDF是一種統(tǒng)計(jì)方法,用以評估一字詞對于一個(gè)文件集一個(gè)語料庫中的其中一份文件的重要程度。字詞的重要性隨著它在文件中出現(xiàn)的次數(shù)成正比增加,但同時(shí)會隨著它在語料庫中出現(xiàn)的頻率成反比下降。TF-IDF加權(quán)的各種形式常被搜索引擎應(yīng)用,作為文件與用戶查詢之間相關(guān)程度的度量或評級。

原理

在一份給定的文件里,詞頻(term frequency,TF)指的是某一個(gè)給定的詞語在該文件中出現(xiàn)的次數(shù)。這個(gè)數(shù)字通常會被正規(guī)化,以防止它偏向長的文件。(同一個(gè)詞語在長文件里可能會比短文件有更高的詞頻,而不管該詞語重要與否。)對于在某一特定文件里的詞語ti 來說,它的重要性可表示為:

以上式子中 ni,j 是該詞在文件dj中的出現(xiàn)次數(shù),而分母則是在文件dj中所有字詞的出現(xiàn)次數(shù)之和。

逆向文件頻率(inverse document frequency,IDF)是一個(gè)詞語普遍重要性的度量。某一特定詞語的IDF,可以由總文件數(shù)目除以包含該詞語之文件的數(shù)目,再將得到的商取對數(shù)得到:

其中

|D|:語料庫中的文件總數(shù)

包含詞語ti的文件數(shù)目(即的文件數(shù)目)如果該詞語不在語料庫中,就會導(dǎo)致被除數(shù)為零,因此一般情況下使用

然后

某一特定文件內(nèi)的高詞語頻率,以及該詞語在整個(gè)文件集合中的低文件頻率,可以產(chǎn)生出高權(quán)重的TF-IDF。因此,TF-IDF傾向于過濾掉常見的詞語,保留重要的詞語。

例子

有很多不同的數(shù)學(xué)公式可以用來計(jì)算TF-IDF。這邊的例子以上述的數(shù)學(xué)公式來計(jì)算。詞頻 (TF) 是一詞語出現(xiàn)的次數(shù)除以該文件的總詞語數(shù)。假如一篇文件的總詞語數(shù)是100個(gè),而詞語“母牛”出現(xiàn)了3次,那么“母?!币辉~在該文件中的詞頻就是3/100=0.03。一個(gè)計(jì)算文件頻率 (DF) 的方法是測定有多少份文件出現(xiàn)過“母牛”一詞,然后除以文件集里包含的文件總數(shù)。所以,如果“母?!币辉~在1,000份文件出現(xiàn)過,而文件總數(shù)是10,000,000份的話,其逆向文件頻率就是 log(10,000,000 / 1,000)=4。最后的TF-IDF的分?jǐn)?shù)為0.03 * 4=0.12。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容