gpt4 book ai didi

python - NLTK 中的 TypeError : must be unicode, 不是 str

转载 作者:太空狗 更新时间:2023-10-29 20:13:42 25 4
gpt4 key购买 nike

我正在使用 python2.7、nltk 3.2.1 和 python-crfsuite 0.8.4。我正在关注此页面:http://www.nltk.org/api/nltk.tag.html?highlight=stanford#nltk.tag.stanford.NERTagger对于 nltk.tag.crf 模块。

首先我只是运行这个

from nltk.tag import CRFTagger
ct = CRFTagger()
train_data = [[('dfd','dfd')]]
ct.train(train_data,"abc")

我也试过了

f = open("abc","wb")
ct.train(train_data,f)

但是我收到以下错误,

  File "C:\Python27\lib\site-packages\nltk\tag\crf.py", line 129, in <genexpr>
if all (unicodedata.category(x) in punc_cat for x in token):
TypeError: must be unicode, not str

最佳答案

在 Python 2 中,常规引号 '...'"..." 创建字节字符串。要获取 Unicode 字符串,请在字符串前使用 u 前缀,例如 u'dfd'

要从文件中读取,您需要指定一种编码。参见 Backporting Python 3 open(encoding="utf-8") to Python 2选项;最直接的方法是,将 open() 替换为 io.open()

要转换现有字符串,请使用unicode() 方法;尽管通常情况下,您还需要使用 decode() 并提供编码。

对于(更多)更多细节,推荐 Ned Batchelder 的“Pragmatic Unicode”幻灯片,如果不是完全强制阅读的话; http://nedbatchelder.com/text/unipain.html

关于python - NLTK 中的 TypeError : must be unicode, 不是 str,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38392407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com