使用 gensim 获取 GloVe 嵌入,在 scipy.linalg 中找不到 triu

问题描述 投票:0回答:1

我正在尝试使用 GloVe 词嵌入构建情感分析模型...... 我找到了多个关于如何将嵌入导入到 python 中的来源,this 其中一个似乎是最简单的......

尝试进行 gensim 导入时,我遇到了 triu 不再是 scipy.linalg (scipy 版本 1.13)的一部分的问题。

查看其他答案,我尝试过:

  • 降级到 scipy 版本 1.12
  • 到版本 1.10(对于这两个版本,错误语句仍然表示在 scipy 中找不到 triu)
  • 进入 site-packages/gensim 中的 matutil.py 文件并更改它,以便 triu 从 numpy 而不是 scipy 导入。这次我得到了错误
    Compiled extensions are unavailable. If you've installed from a package, ask the package maintainer to include compiled extensions. If you're building Gensim from source yourself, install Cython and a C compiler, and then run 'python setup.py build_ext --inplace' to retry
  • 将 gensim 降级到 3.4 并尝试执行与上面相同的操作,我收到错误:
    cannot import name 'Mapping' from 'collections' (C:\Users\hp\AppData\Local\Programs\Python\Python310\lib\collections\__init__.py)

虽然找到这个问题的解决方案会很有帮助,但我也愿意接受其他方法,我可以将单词嵌入导入到Python中...this是我发现我还没有尝试过的另一种方法,这更好吗如果其他人尝试过类似的事情?

python stanford-nlp gensim sentiment-analysis word-embedding
1个回答
0
投票

如果您在尝试降级到

scipy<1.13.0
(例如
scipy==1.12
)后看到完全相同的错误,那么很可能您的降级没有生效,或者只在除以下环境之外的某些Python环境中生效您仍然收到错误。

您是否使用 Python 虚拟环境来隔离每个项目的包设置、相互隔离以及与系统的 Python 隔离?如果没有,这是一个好主意,然后非常有意和明确地了解您要更改的环境以及用于特定项目的环境,可能会解决问题。

但最重要的是:降级

scipy
应该足以解决此问题,直到具有修复程序的 Gensim 版本可用,因此您应该专注于该解决方法,而不是其他更挑剔的编辑或回滚。

如果您仍然遇到问题,请具体说明(如果存在长引号/错误,请在注释中或通过对问题的编辑添加)您如何尝试更改相关的

scipy
安装,如何调用 Python并导入 Gensim 以获取当前错误,以及如何确认您的
scipy
安装严格在 1.13.0 之前。

© www.soinside.com 2019 - 2024. All rights reserved.