python - 使用NLTK的编码问题

标签 python python-2.7 encoding nltk stop-words

我正在尝试抓取一个非常“正确”的网站来进行有关仇恨和种族主义检测的研究,因此我的测试内容可能会令人反感。

我正在尝试删除 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/

相关文章:

python -\n 在 python 中的工作

python - 是否有内置函数(或其他方法)在元素 <= 限制时迭代列表?

mysql - 将旧的 3.23.49 MySQL 数据库转移到 5.0.51 MySQL 数据库 - 以 ANSI 和 UTF-8 编码

encoding - 是否可以对 base64 编码消息的一部分进行 base64 解码

python - 如何在 Python 中从 SXS 加载 C DLL?

python - 如何从与一对一字段相关的两个模型中获取所有对象的列表

python - 将符号转换为其 4 位 unicode 转义表示,反之亦然

python - 在Python中使用从父类继承的方法时返回子类的新实例

python - 使用 eccodes/grib 时如何解决这个 AttributeError?

ruby - open-uri 从以 iso-8859 编码的网页返回 ASCII-8BIT