2013-04-27 56 views
0

我試圖從一系列帖子中獲得最常見的POS標籤列表。 我寫了下面的:結果對最常見的POS列表沒有意義

text2=corpus 
    text4=nltk.word_tokenize(text2) 
    tags=nltk.pos_tag(text4) 
    for a,b in tags: 
     counter2={} 
     l=wordpunct_tokenize(b) 

    for i in l: counter2[i] = counter2.get (i,0)+1 
     list5=sorted([(freq,word) for word, freq in counter.items()], reverse=True)[:3] 
     print list5  

假想的結果將是,例如,

NN, JJ, PRP... 

但是我得到這個廢話:

[(539, ','), (476, '.'), (385, '?')] 

在它不是一個單一的語法標記。

而B的樣子:

CC 
WP 
PRP 
VBD 
NNP 
NNP 
PRP 
VBD 
VBG 
TO 
VB 
PRP$ 
NN 

沒有人知道我在做什麼錯?

回答

0

我想在您的文章中縮進搞砸了,但這裏是我認爲你正在做(打印前3詞類):

text2=corpus 
text4=nltk.word_tokenize(text2) 
tags=nltk.pos_tag(text4) 
counter2={} 
for a,b in tags: 
    counter2[b] = counter2.get(b,0)+1 
list5=sorted([(freq,word) for word, freq in counter2.items()], reverse=True)[:3] 
print [word for freq,word in list5] 

要我不認爲標記「b」。