python - word2vec 错误:“_Token”对象不可迭代
问题描述
我正在尝试将句子列表按顺序输入 gensim.models.Word2Vec,但它会生成 TypeError: '_Token' object is not iterable。我应该怎么办?
embedding_model= Word2Vec()
for index, sentence_list in df.iterrows():
embedding_model = Word2Vec(sentence_list, size=100, window=5, min_count=2, workers=2)
embedding_model.train(tokenized_contents, total_examples=len(tsentence_list), epochs=10)
解决方案
感谢你的快速回复。错误是我放置纯句子而不是标记列表的错误。但是,我仍然在为 Word2Vec 的顺序馈送而苦苦挣扎。这是我的示例数据、代码和错误:
tokenized_contents: ['こんにちは', '!', '掲示', '板', 'が', 'でき', 'まし', 'た', 'ね', '!', 'これ', 'から', 'も', 'よろしく', 'お', '願い', 'し', 'ます', '!']
embedding_model= Word2Vec()
for index, tokenized_contents in df.iterrows():
embedding_model = Word2Vec(tokenized_contents, size=100, window=5, min_count=1, workers=4)
embedding_model.build_vocab(tokenized_contents)
embedding_model.train(tokenized_contents, total_examples=len(tokenized_contents), epochs=10)
Error Msg:
Traceback (most recent call last):
embedding_model.build_vocab(tokenized_contents)
File "/anaconda3/envs/japan/lib/python3.6/site-packages/gensim/models/base_any2vec.py", line 484, in build_vocab
trim_rule=trim_rule, **kwargs)
File "/anaconda3/envs/japan/lib/python3.6/site-packages/gensim/models/word2vec.py", line 1318, in prepare_vocab
self.sort_vocab(wv)
File "/anaconda3/envs/japan/lib/python3.6/site-packages/gensim/models/word2vec.py", line 1184, in sort_vocab
raise RuntimeError("cannot sort vocabulary after model weights already initialized.")
RuntimeError: cannot sort vocabulary after model weights already initialized.
'''
推荐阅读
- internet-explorer - IE 不兼容横幅
- docker - 如何手动联网 docker 容器
- java - 如何关闭 org.apache.http.client.HttpClient 对象的连接
- javascript - json.parse() 位置 141 处 JSON 中的 Vanilla JS 意外令牌 A
- android - 尝试从 android 的内部存储中读取 excel 文件 (.xlsx) 时出现 FileNotFound 异常
- c++ - 在调用 std::condition_variable::wait() 之前多次调用 std::condition_variable::notify_one()
- java - 使用 Glide 将图像添加到工具栏
- sql - 将多个 self JOIN 转换为窗口函数或子查询 (SQL)
- python - 使用 Python 的 LazyLoader 导入类导入顶级模块
- javascript - 用 jQuery 替换外部 CSS 中的自定义属性