17
互信息,我不知道怎麼一會計算文本分類的逐點互信息。更確切地說,我想分類推文。我有一個推文數據集(有註釋),並且我有一個屬於該類別的單詞類別的詞典。考慮到這些信息,如何計算每條推文的每個類別的PMI,將推文分類到這些類別之一。點態文本
互信息,我不知道怎麼一會計算文本分類的逐點互信息。更確切地說,我想分類推文。我有一個推文數據集(有註釋),並且我有一個屬於該類別的單詞類別的詞典。考慮到這些信息,如何計算每條推文的每個類別的PMI,將推文分類到這些類別之一。點態文本
PMI是一個功能(在你的情況下,一個字)和類(類別)之間的關聯的度量,而不是一個文件(鳴叫)和類別之間。式可以用Wikipedia:
P(x, y)
pmi(x ,y) = log ------------
P(x)P(y)
在該式中,X
是隨機變量,它的模型的單詞的發生,並Y
模型一類的發生。對於給定的字x
和給定類y
,您可以使用PMI來決定是否一個特點是內容豐富與否,你可以在此基礎上做特徵選擇。功能較少通常可以提高分類算法的性能,並大大加快分類算法的速度。然而,分類步驟是分開的 - PMI只能幫助您選擇更好的特徵以供您學習算法。
編輯: 有一件事我沒有在原崗位提的是,PMI對詞頻敏感。讓我們重寫公式
P(x, y) P(x|y)
pmi(x ,y) = log ------------ = log ------------
P(x)P(y) P(x)
當x
和y
完全相關,P(x|y) = P(y|x) = 1
,所以pmi(x,y) = 1/P(x)
。較少見的x
-es(字)將具有更高的PMI評分較頻繁x
-es,即使雙方都完全符合y
相關。
後續問題。你說「X是模擬一個單詞出現的隨機變量」。這個詞在整個數據集中出現多少次?例如我有250.000個句子,那麼x是整個數據集中單詞出現的次數?那麼p(x,y)怎麼解釋呢? x和y在一個句子中出現的次數是多少? – Ojtwist
'P(X)'是單詞'x'(小寫)存在的,這是包含單詞和文檔總數文件的數量之間的比率的概率。 'P(y)'是類(類)'y'的概率,它是以類似的方式計算的。如果標籤爲'y'且包含字'x'的文檔數量與文檔總數之間的比率爲'P(x,y)', – mbatchkarov
您是否真的需要通過除以文檔數來將計數歸一化爲概率?我知道你會得到一個不同的pmi()數字,但是不同對(X,Y)之間的相對pmi()保持不變,pmi的實際值並不意味着什麼是正確的?我只能看到正常化有用的,如果在不同的文件組相比,菲莫國際的(具有不同的單證數量) – kane