2011-11-29 51 views
7

你可以讓我知道如何代表文本分類屬性或類weka。通過使用什麼屬性我可以做分類?單詞頻率還是單詞? ARFF格式的結構可能是什麼?你能給我幾行這種結構的例子嗎?如何在weka中表示分類文本?

非常感謝您提前。

回答

11

一個最簡單的方案是先從一二級問題像一個ARFF文件:

 
@relation corpus 

@attribute text string 
@attribute class {pos,neg} 

@data 
'long text with words ... ',pos 

文本表示爲一個String類型和類是兩個值標稱。

然後,你可以申請兩個過濾器:

  1. StringToWordVector是轉換文本到的單詞矢量表示。過濾器爲每個單詞使用一個屬性。您可以調整參數以選擇二進制/頻率表示法,詞幹或停用詞。最好的表示取決於問題。如果文本不長,通常二進制表示就足夠了。
  2. 重新排序將類屬性移動到最後一個位置,Weka假定它在那裏。

您可能會發現更多的信息和其他方法在此Weka的維基頁面來轉換數據: http://weka.wikispaces.com/Text+categorization+with+WEKA

0

在秧雞,你可以選擇自己的屬性。在這個例子中,我們只有2個類,並且所有的唯一字被用作屬性。如果選擇單詞頻率作爲屬性,那麼如果該單詞在文本中出現兩次,則分配'2';如果不是,則分配'2';如果該單詞只出現一次,則分配'1'。

下面是示例.arff格式。

@RELATION anyrelation 

@ATTRIBUTE word1 
@ATTRIBUTE word2 
... 
@ATTRIBUTE wordn 
@ATTRIBUTE class {class1, class2} 

@DATA 
1,2,....,0,class1 
0,3,....,1,class2