嗨,我正在努力学习NLTK.我也是Python的新手.我正在尝试以下方面.
>>import nltk
>>nltk.pos_tag(nltk.word_tokenize("John lived in China"))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息
回溯(最近一次调用最后一次):文件"",第1行,在nltk.pos_tag中(nltk.word_tokenize("John住在加利福尼亚州"))文件"C:\ Python34\lib\site-packages \nltk\tag__init __.py ",第100行,在pos_tag tagger = load(_POS_TAGGER)文件"C:\ Python34\lib\site-packages \nltk\data.py",第779行,在load resource_val = pickle.load(opened_resource)UnicodeDecodeError:'ascii '编解码器无法解码位置0的字节0xcb:序数不在范围内(128)
我已经下载了所有可用的型号(包括maxent_treebank_pos_tagger)
默认系统编码为UTF-8
>>sys.getdefaultencoding()
Run Code Online (Sandbox Code Playgroud)
我打开了data.py文件,这是可用的内容.
774# Load the resource.
775 opened_resource = _open(resource_url)
776if format == 'raw':
777 resource_val = opened_resource.read()
778 elif format == 'pickle':
779 resource_val = pickle.load(opened_resource)
780 elif format == 'json':
781 import json
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?
Nir*_*lam 16
好的,我找到了解决方案.看起来像源本身的问题.点击这里
我打开了data.py并修改了第779行,如下所示
resource_val = pickle.load(opened_resource) #old
resource_val = pickle.load(opened_resource, encoding='iso-8859-1') #new
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5532 次 |
| 最近记录: |