2012-11-21 30 views
17

互信息,我不知道怎麼一會計算文本分類的逐點互信息。更確切地說,我想分類推文。我有一個推文數據集(有註釋),並且我有一個屬於該類別的單詞類別的詞典。考慮到這些信息,如何計算每條推文的每個類別的PMI,將推文分類到這些類別之一。點態文本

回答

25

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) 

xy完全相關,P(x|y) = P(y|x) = 1,所以pmi(x,y) = 1/P(x)。較少見的x -es(字)將具有更高的PMI評分較頻繁x -es,即使雙方都完全符合y相關。

+0

後續問題。你說「X是模擬一個單詞出現的隨機變量」。這個詞在整個數據集中出現多少次?例如我有250.000個句子,那麼x是整個數據集中單詞出現的次數?那麼p(x,y)怎麼解釋呢? x和y在一個句子中出現的次數是多少? – Ojtwist

+10

'P(X)'是單詞'x'(小寫)存在的,這是包含單詞和文檔總數文件的數量之間的比率的概率。 'P(y)'是類(類)'y'的概率,它是以類似的方式計算的。如果標籤爲'y'且包含字'x'的文檔數量與文檔總數之間的比率爲'P(x,y)', – mbatchkarov

+0

您是否真的需要通過除以文檔數來將計數歸一化爲概率?我知道你會得到一個不同的pmi()數字,但是不同對(X,Y)之間的相對pmi()保持不變,pmi的實際值並不意味着什麼是正確的?我只能看到正常化有用的,如果在不同的文件組相比,菲莫國際的(具有不同的單證數量) – kane