【问题标题】:Cannot use NLTK pos_tag in Python v2 or v3无法在 Python v2 或 v3 中使用 NLTK pos_tag
【发布时间】:2015-06-03 00:13:56
【问题描述】:

我是一名语言学家,试图弄清楚如何使用 NLTK 以及如何在语料库中标记词性。

我正在尝试使用函数 pos_tag 并得到与另一张海报相同的错误消息:ascii codec can't decode byte...

查看此链接:NLTK 3 POS_TAG throws UnicodeDecodeError

我尝试了所有建议的解决方案,包括原始海报给出的解决方案,但没有一个成功。

这个问题还有其他可能的解决方案吗?

【问题讨论】:

  • 欢迎堆栈溢出。 “我和这个人有同样的问题,我尝试了解决方案,但没有成功”并没有让我们继续下去。试着读一段简短的文字(几句话),然后带着文字、编码和错误信息回到这里。
  • 附言。如果您遇到 unicode 错误,您最好忘记 python 2。Python 3 更适合处理多种编码。
  • PPS。您链接到的问题已过时:当前的 NLTK 版本(3.0.2) 与 python 3 兼容,您应该以这种方式使用它。

标签: python nltk


【解决方案1】:

听起来您遇到了 unicode 错误。你的语料库来自哪里?您可能有一些看起来像“0xd1”或类似的字符。这是一个非常标准的问题,处理起来通常很痛苦。根据我的经验,您必须使用正则表达式替换来删除这些字符。

确切的错误是什么?如果您提供,我可以帮助您使用正则表达式来删除错误的令牌。

【讨论】:

    猜你喜欢
    • 2012-12-14
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 2017-10-29
    • 2014-10-24
    • 1970-01-01
    • 2018-11-18
    相关资源
    最近更新 更多