我正在尝试抓取一个非常“正确”的网站来进行有关仇恨和种族主义检测的研究,因此我的测试内容可能会令人反感。
我正在尝试删除 python 中的一些停用词和标点符号,并且我正在使用 NLTK,但遇到了编码问题...我正在使用 python 2.7,数据来 self 填充文章的文件我抓取的网站:
stop_words = set(nltk.corpus.stopwords.words("english"))
for key, value in data.iteritems():
print type(value), value
tokenized_article = nltk.word_tokenize(value.lower())
print tokenized_article
break
输出如下所示:(我添加...以缩短示例)
<type 'str'> A Negress Bernie ... they’re not going to take it anymore.
['a', 'negress', 'bernie', ... , 'they\u2019re', 'not', 'going', 'to', 'take', 'it', 'anymore', '.']
我不明白为什么会有这个不应该存在的“\u2019”。如果有人能告诉我如何摆脱它。我尝试使用 UTF-8 进行编码,但仍然遇到同样的问题。
最佳答案
stop_words = set(nltk.corpus.stopwords.words("english"))
for key, value in data.iteritems():
print type(value), value
#replace value with ignored handler
value = value.encode('ascii', 'ignore')
tokenized_article = nltk.word_tokenize(value.lower())
print tokenized_article
break
关于python - 使用NLTK的编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40893874/