结果对于最常见的POS列表没有意义

时间:2013-04-27 23:10:10

标签: python nltk

我正在尝试从一组帖子中获取最常见的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

有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

我认为你帖子中的缩进搞砸了,但这就是我认为你要做的事情(打印前三部分):

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”。