7

安装 nltk 后,我导入 nltk,然后使用 nltk.download() 但是当我尝试使用此“从 nltk.book import *”时,它显示属性错误。from nltk.corpus import * 和 from nltk import * 工作正常

我是自然语言处理的新手,所以我对此不太了解,请帮忙

from nltk.book import * * NLTK Book 的介绍性示例 *

加载 text1, ..., text9 和 sent1, ..., sent9

键入文本或句子的名称以查看它。

输入:'texts()' 或 'sents()' 列出材料。

回溯(最近一次通话最后):

文件“”,第 1 行,在

from nltk.book import *

文件“C:\Program Files (x86)\Python 3.5\lib\site-packages\nltk\book.py”,第 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)

_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()

_check_regexp self._regexp = compile_regexp_to_noncapturing(self._pattern, self._flags) 中的文件“C:\Program Files (x86)\Python 3.5\lib\site-packages\nltk\tokenize\regexp.py”,第 121 行

文件“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_pa​​ttern.pattern.groups = 1

AttributeError:无法设置属性

4

1 回答 1

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被设计为存储groups为该类的一个实例sre_parse.Pattern。Python 3.5 附带的版本存储groups为一个属性,该属性返回(我对属性不太熟悉,但我认为它就是这样做的)subpattern列表的长度。我在说的代码about 大约在第 75 行。我不知道这样做的长期影响是什么,我只是通过跟踪代码想出​​了这个解决方案,我还没有研究从长远来看这可能会导致什么错误。有人请告诉我这是否会导致问题以及是否有更好的解决方案。”

以上对我有用,到目前为止没有任何问题。

于 2016-01-29T02:45:02.710 回答