利用tf idf計算文字相似度

2021-08-30 08:25:48 字數 962 閱讀 8746

關於使用tf-idf進行文字相似度的計算,個人覺得這兩篇文章講解的很好:大家可以去看一看。我在這裡說一些自己在學習文字相似度的計算的過程中的一些感悟,以及一些自己的理解。如有不當之處,請予指正。

首先應該明確,文字相似度計算就是將兩個個體的特徵向量化,然後通過余弦公式計算兩者之間的相似性即可。(當然除了使用余弦相似度的方法,也可以用尤拉距離或者jaccard

係數的方法來計算文字相似度,具體方法此處不再贅述),因此問題的關鍵就是去將兩個個體的特徵向量化。

對於文字相似度的計算,簡單來說就是以下幾個步驟:

b.求出兩個詞集合的並集(詞包

)c.計算各自詞集的詞頻並把詞頻向量化

d.帶入向量計算模型就可以求出文字相似度

詞頻tf,詞頻是乙個詞語在文章或句子中出現的次數。如果乙個詞很重要,很明顯是應該在乙個文章中出現很多次的,但是這也不是絕對的,比如「地」,「的」,「啊」等詞,它們出現的次數對一篇文章的中心思想沒有一點幫助,只是中文語法結構的一部分而已。這類詞也被稱為「停用詞」。所以,在計算一篇文章的詞頻時,停用詞是應該過濾掉的。將tf

和idf

進行相乘,就得到了乙個詞的

tf-idf

(比如打

call)

)。因此,我們需要用乙個詞的tf-idf值來代替詞頻,然後再將其向量化,這就是tf-idf模型發揮作用的地方。

另外需要注意,

dictionary.doc2bow

方法是把文件變成乙個稀疏向量。稀疏向量既可以用

id+頻數,也可以用

indices

和values

表示。在文字相似度的計算中,稀疏向量是用(id,頻數)這種形式表示的。

文字相似度計算之tf idf

最基本的文字相似度計算是在向量空間模型 vsm 下,以文件中的詞作為特徵進行計算 先來說一下vsm 思想很簡單 d1 w1 w2 w5 d2 w2 w2 w3 w4 d3 w3 w3 w1 w2 那我現在整個文件集中就有5個詞,由於每篇文件的詞數不同,為了計算他們之間的相似度,我們首先要把他們轉換為...

利用tfidf gensim計算文字相似度

文字相似度分析的過程 文字分詞 語料庫製作 演算法訓練以及結果 主要工具 jieba分詞 gensim製作語料並進行演算法訓練 import jieba import gensim 分詞並獲取詞袋函式 為每個出現在語料庫中的單詞分配乙個獨一無二的整數編號id string 少年強則國強 少年智則國智...

TF IDF模型和文字相似度的計算

tf idf term frequency inverse document frequency 是一種用於資訊檢索與文字挖掘的常用加權技術。tf idf是一種統計方法,用以評估一字詞對於乙個檔案集或乙個語料庫中的其中乙份檔案的重要程度。字詞的重要性隨著它在檔案中出現的次數成正比增加,但同時會隨著它...