安装nltk后我导入nltk然后使用nltk.download()但是当我尝试使用这个"来自nltk.book import *"它显示属性错误。 从nltk.corpus import *和nltk import *工作正常
我是自然语言处理的新手,所以我对此不太了解,请帮忙
来自nltk.book import * * NLTK Book的介绍性示例*
加载text1,...,text9和sent1,...,sent9
键入要查看的文本或句子的名称。
输入:'短信()'或者' sents()'列出材料。
追踪(最近一次呼叫最后一次):
文件"",第1行,
from nltk.book import *
文件" C:\ Program Files(x86)\ Python 3.5 \ lib \ site-packages \ nltk \ book.py",line 19,在
text1 = Text(gutenberg.words('melville-moby_dick.txt'))
文件" C:\ Program Files(x86)\ Python 3.5 \ lib \ site-packages \ nltk \ text.py",第295行, init
tokens = list(tokens)
文件" C:\ Program Files(x86)\ Python 3.5 \ lib \ site -
packages \ nltk \ corpus \ reader \ util.py",第233行, len
for tok in self.iterate_from(self._toknum[-1]): pass
文件" C:\ Program Files(x86)\ Python 3.5 \ lib \ site-packages \ nltk \ corpus \ reader \ util.py",第291行,在iterate_from
tokens = self.read_block(self._stream)
文件" C:\ Program Files(x86)\ Python 3.5 \ lib \ site-packages \ nltk \ corpus \ reader \ plaintext.py",第117行,在_read_word_block中 words.extend(self._word_tokenizer.tokenize(stream.readline()))
文件" C:\ Program Files(x86)\ Python 3.5 \ lib \ site-packages \ nltk \ tokenize \ regexp.py",第126行,在tokenize中 self._check_regexp()
文件" C:\ Program Files(x86)\ Python 3.5 \ lib \ site-packages \ nltk \ tokenize \ regexp.py",第121行,_check_regexp self._regexp = compile_regexp_to_noncapturing(self._pattern,self._flags)
文件" C:\ Program Files(x86)\ Python 3.5 \ lib \ site-packages \ nltk \ internals.py",第56行,在compile_regexp_to_noncapturing中 return sre_compile.compile(convert_regexp_to_noncapturing_parsed(sre_parse.parse(pattern)),flags = flags)
文件" C:\ Program Files(x86)\ Python 3.5 \ lib \ site-packages \ nltk \ internals.py",第52行,在convert_regexp_to_noncapturing_parsed中 parsed_pattern.pattern.groups = 1
AttributeError:无法设置属性
答案 0 :(得分:5)
我不确定你是否解决了我们的问题。 以防万一,此处也报道了同样的问题: https://github.com/nltk/nltk/issues/1135
解决方案: https://github.com/nltk/nltk/issues/1106
“我能够通过进入internals.py
目录中的nltk
文件并删除行parsed_pattern.pattern.groups = 1
来解决此问题。我的理由是,在做了一些代码读取,NLTK设计用于sre_parse.py
的{{3}}存储groups
作为sre_parse.Pattern
类实例的属性.Python 3.5商店附带的版本groups
作为一个返回的属性(我不太熟悉属性,但这是我认为的确实)subpattern
列表的长度。original version我不知道知道这样做的长期影响是什么,我只是通过跟踪代码来提出这个解决方案,我没有看到这可能会导致长期的错误。有人请告诉我这是否会导致问题,如果有更好的解决方案。“
到目前为止,上述内容对我没有任何问题。