在 python 中得到“__init__() 得到了一个意外的关键字参数‘document’”这个错误我正在使用 Word2Vec 和 gensim

dub*_*boo 11 python gensim word2vec

我正在使用 Word2vec 和 gensim 进行项目,

model = gensim.models.Word2Vec(
    documents = 'userDataFile.txt',
    size=150,
    window=10,
    min_count=2,
    workers=10)
model = gensim.model.Word2Vec.load("word2vec.model")
model.train(documents, total_examples=len(documents), epochs=10)
model.save("word2vec.model")
Run Code Online (Sandbox Code Playgroud)

这是我目前拥有的部分代码,我在下面收到此错误

Traceback (most recent call last):
File "C:\Users\User\Desktop\InstaSubProject\templates\HashtagData.py", line

37, in <module>
workers=10)
TypeError: __init__() got an unexpected keyword argument 'documents'
Run Code Online (Sandbox Code Playgroud)

UserDataFile.txt 是我存储从网络抓取中获得的输出结果数据的文件。

我不太确定我需要在这里修复什么。

先感谢您 !

Maj*_*jor 39

这一年是 2021 年,如果您出于与我相同的原因来到这里,那是因为您在size参数上遇到了相同的错误。

你需要vector_size改用。

  • 我对参数“iter”有同样的问题 (5认同)
  • 我可以发誓 3 天前我正在运行一个有大小的 word2vec 模型,今天我不得不对你的评论投赞成票,因为它是多么准确。编辑:可能是因为 3 天前我在 Python 3.8 上运行所述模型,而现在我在具有 Python 3.6 的虚拟机上运行该模型? (2认同)
  • @SunilGarg我不认为Word2vec有一个“iter”参数。有“时代”,但我不确定这是否是你想要的。 (2认同)
  • @SunilGarg我在“iter”上遇到了同样的问题。以下是文档的内容:``epochs(int,可选) - 语料库的迭代次数(epochs)。(以前:iter)``` (2认同)

小智 5

使用向量大小而不是大小

# creating a word to vector model
model_w2v = gensim.models.Word2Vec(
            tokenize_data,
            vector_size=200)
Run Code Online (Sandbox Code Playgroud)


ven*_*lac 1

__init__()是 Word2Vec 的类构造函数,当您使用 实例化该类时gensim.models.Word2Vec(),该参数documents可能实际上并不是必需的

试试这个:

model = gensim.models.Word2Vec(
    size=150,
    window=10,
    min_count=2,
    workers=10)
Run Code Online (Sandbox Code Playgroud)