TF IDF基本原理簡釋

2022-09-08 21:42:14 字數 2385 閱讀 3556

tf-idf是自然語言處理中的乙個簡單的模型。tf代表term frequency,也就是詞頻,而idf代表著inverse document frequency,叫做逆文件頻率,這兩個屬性都是屬於單詞的屬性。概括來說,tf-idf模型是用來給文件中的每個詞根據重要程度計算乙個得分,這個得分就是tf-idf。

首先,考慮文件中的所有的詞語,乙個直觀的想法就是,哪個詞語出現的頻次高,就說明哪個詞語更重要。這個原則有一定的道理,但是如果僅僅統計這個頻次,也就是上面提到的詞頻,tf,會發現出現最多的是一些連詞,介詞,語氣詞,助詞等等此類的虛詞,這個通常我們稱之為停用詞,stopword,顧名思義,就是在做語言處理的過程中應當停用的一些詞語。當然我們可以一開始就去掉這些停用詞,但是如果希望在此基礎上,即在我們計算好了詞頻tf的基礎上,想要自動去掉這些停用詞的話,可以這樣操作:即對每個出現的詞語計算乙個權重,常見的無太大分類意義或者特徵意義的詞語權重小;少見的,專用的,特殊的,有實際含義的詞語權重大;當然最好停用詞的權重可以等於0,也就是「停用」。

可以這樣想,比如拿過一本詞典,其實裡面的每個詞在實際應用中都有不同的權重,在計算出詞頻後,還要拿過詞典來,給每個詞找到對應的權重乘上,這樣以來就可以避免停用詞的問題,從而得分高的是這樣一些詞語:即,它們既在某篇文章**現頻次較高,同時這個詞又不那麼常見,也就是比較有代表性,這樣,這個問題就可以很好的解決了。

詞頻的定義很簡單:te

rmfr

eque

ncy=

nki/

ni' role="presentation">ter

mfre

quen

cy=n

ki/n

iter

mfre

quen

cy=n

ki/n

i其中nki表示第k個詞在第i篇文章**現的次數,ni表示第i篇文章的總單詞數。有的時候也用max_k代替ni,即除以文章**現最多的詞的數目,這樣就是乙個相對的詞頻。

那麼根據詞的出現的代表性或說廣泛程度計算的權重就是idf,逆文件頻率,之所以叫做逆,可能因為它對應的不是文件中詞的數目,而是某個詞對應的文件數目,idf的定義如下:in

vers

edoc

umen

tfre

quen

cy=log⁡(

mdoc

mk,d

oc+1

)' role="presentation">inv

erse

docu

ment

freq

uenc

y=log(md

ocmk

,doc

+1)i

nver

sedo

cume

ntfr

eque

ncy=

log⁡(m

docm

k,do

c+1)

其中,mdoc表示文件總數,就是一共有幾篇文章;mk,doc 表示含有單詞k的文件數。加入這個單詞k不是在文件中找的,而是從外部引入的乙個詞,比如我們做查詢,搜尋等,可能這個詞不存在與所有文件中,所以mk,doc可以為0,為了避免除0,給下面加了1。可以看出,乙個詞如果所有文件中都出現,說明它不具備表達某篇文章的功能,所以idf約為0,而如果乙個詞僅在少數文件出現,那麼這個值就會很大。

對於idf的乙個資訊理論意義的解釋是,這個值表示的是(不考慮+1):【 在mdoc篇文件中任取一篇,結果這篇含有term k 】這個事件的資訊量。考慮到概率和資訊量關係,這個含義顯然。也就是說,idf可以衡量term k的出現帶給我們的資訊,像「的」,「了」,「和」 等小詞的出現沒有帶給我們太多關於這篇文章的資訊,而乙個專業術語可能攜帶的資訊量很大。

所以最終的公式:tf

−idf

=ter

mfre

quen

cy∗i

nver

sedo

cume

ntfr

eque

ncy' role="presentation">tf−

idf=

term

freq

uenc

y∗in

vers

edoc

umen

tfre

quen

cytf

−idf

=ter

mfre

quen

cy∗i

nver

sedo

cume

ntfr

eque

ncy2023年03月08日16:32:52

如果你想要空談,問男人;如果你想要成事,問女人。 —— 政治家,瑪格麗特 戴卓爾

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...

8 2 1 基本原理

乙個舞台動畫物件在包含許多舞台資訊 出現在何處,佔多大面積,處在什麼角度,是否可見 這些資訊分別儲存在動畫物件的屬性中。在 中讀取這些屬性可以了解物件的位置 大小 角度等狀態資訊 修改這些屬性可以改變物件的位置 大小 角度等狀態。如果從資料的角度去理解,動畫就是在固定時間間隔點不斷修改動畫物件某項屬...

Csocket基本原理

我通過幾個採用 csocket 類編寫並基於 client server 客戶端 服務端 的網路聊天和傳輸檔案的程式 在除錯這些程式的過程中,追蹤深入至 csocket 類核心原始碼 sockcore.cpp 對於csocket 類的執行機制可謂是一覽無遺,並且對於阻塞和非阻塞方式下的 socket...