2

请原谅我的新手,但 fasttext 在 python 上不适合我。我正在使用运行 python 3.6 的 anaconda。我的代码如下(只是一个例子):

import fasttext 

model = fasttext.load_model('/home/sproc/share/fastText/model.bin')
print(model.words)

这将返回以下错误:

Traceback (most recent call last):
  File "/media/sf_VBoxShare/LiClipseWorkspace/test/testpack/fasttext.py", line 1, in <module>
    import fasttext 
  File "/media/sf_VBoxShare/LiClipseWorkspace/test/testpack/fasttext.py", line 3, in <module>
   model = fasttext.load_model('/home/sproc/share/fastText/model.bin')
AttributeError: module 'fasttext' has no attribute 'load_model'

尝试创建词向量时,对 cbow 和 skipgram 做同样的事情。我从 .../site-packages/fasttext 目录中检查了init .py 文件,它导入了所述属性,但它们不是 model.py 模块的一部分。我猜这与共享对象文件有关,但我不确定。任何帮助是极大的赞赏。

4

6 回答 6

7

当我遇到您遇到的错误时,这是​​一个对我有用的解决方案;

导入快速文本

from gensim.models.wrappers import FastText 

加载二进制文件

model=FastText.load_fasttext_format('wiki.simple.bin')
于 2019-02-24T08:18:50.760 回答
3

重命名你的 python 文件。不要将它命名为 fasttext.py 。如果你的名字是这样的,你通过“import fasttext.py”导入的将是你自己的文件。您可以将其重命名为 'fast_text.py' 或其他名称。

于 2018-03-14T16:24:24.393 回答
1

如果你安装fastText包而不是旧的 fasttext,那么

import fastText 
model = fastText.load_model('/home/sproc/share/fastText/model.bin')

应该按预期工作。

于 2019-05-17T23:08:56.220 回答
0

显然那里有不同的fasttextpython库!
fasttext != fasttext-win

于 2020-07-02T13:11:14.707 回答
0

将文件从 fasttext.py 重命名为另一个名称,它将起作用。

于 2019-01-21T14:24:10.587 回答
0

@spencerktm30 我建议您使用 pyfasttext 而不是 fasttext 不再活动并且有很多错误。链接到pyfasttext

实际上,我在尝试加载 C++ 预训练模型时遇到了类似的问题,我不得不切换到使用 pyfasttext 来让它工作。

所以这应该对你有用:

>>> from pyfasttext import FastText
>>> model = FastText('/home/sproc/share/fastText/model.bin')
于 2017-12-18T13:08:40.167 回答