我使用NLTK搭配来查找曲线图,'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')]这是编码问题吗?我怎样才能得到正常的英语单词?
发布于 2014-09-09 16:12:13
是的,它们看起来像“windows-1252”编码字符:
>>> import chardet
>>> chardet.detect('\xe5') {'confidence': 0.5, 'encoding': 'windows-1252'}所以,如果你不想让这些东西出现,你可以对你的短信做这样的事情:
>> '\xe5'.decode('windows-1252').encode('ascii', 'ignore')https://stackoverflow.com/questions/25683868
复制相似问题