AttributeError: module 'sst' has no attribute 'train_reader'

AttributeError: module 'sst' has no attribute 'train_reader'

我对情绪分析很陌生。尝试使用 Stanford Sentiment Treebank(sst) 和 运行 出错。

from nltk.tree import Tree
import os
import sst
trees = "C:\Users\m\data\trees"
tree, score = next(sst.train_reader(trees))

[输出]:

AttributeError                            Traceback (most recent call last)
<ipython-input-19-4101f90b0b16> in <module>()
----> 1 tree, score = next(sst.train_reader(trees))

AttributeError: module 'sst' has no attribute 'train_reader'

我猜你正在导入 sst 包 selenium-simple-test,这不是你要找的。

尝试 sst.discover() ,如果出现错误

TypeError: discover() missing 4 required positional arguments: 'test_loader', 'package', 'dir_path', and 'names'

您正在使用 selenium-simple-test 包

我想你在找 https://github.com/JonathanRaiman/pytreebank, not https://pypi.org/project/sst/

在 python 方面,该错误非常明显。不过,一旦你导入了正确的包,我不确定我是否看到了 train_reader 但我可能是错的。

更新: 我不完全确定你为什么 运行 进入 'sst' 而没有属性 train_reader。如果您使用的是 conda,请确保您没有意外安装 'sst' 包。看起来 'sst' 指的是一个私人创建的模块,那个 应该可以工作。

我让你的导入正常工作,但我做的是:

  1. 安装了 requirements.txt 文件中指定的所有内容。
  2. import sst 仍然给我一个错误所以我安装了 nltk 和 sklearn 来解决这个问题。 (仅供参考,我没有使用 conda。我只是将 pip 和 virtualenv 用于我自己的私有包设置。我 运行 pip install nltkpip install sklearn
  3. 在这一点上,import sst 对我有用。