在从NLTK Collocations中找到Trigrams时获得无法识别的单词

时间:2014-09-05 10:32:22

标签: python nltk collocation

我使用NLTK Collocations查找三元组,' training_set '是一个包含多行文字的字符串。

 finder = TrigramCollocationFinder.from_words(str(training_set))
 print finder.nbest(trigram_measures.pmi, 5)

但我得到的输出为

 [('\xe5', '\x8d', '\xb8'), ('\xe5', '\x85', '\x8d'), ('\xe2', '\x80', '\x9c'), ('\xe2',    '\x80', '\x9d'), ('\xe2', '\x80', '\xa6')]

这是一些编码问题吗?我如何获得正常的英语单词?

1 个答案:

答案 0 :(得分:0)

是的,那些看起来像'windows-1252'编码的字符:

>>> import chardet

>>> chardet.detect('\xe5') {'confidence': 0.5, 'encoding': 'windows-1252'}

因此,如果您不希望这些内容出现,您可以对您的文字执行以下操作:

>> '\xe5'.decode('windows-1252').encode('ascii', 'ignore')