0

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

有谁知道我做错了什么?

4

1 回答 1

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

于 2013-04-28T05:26:57.720 回答