python-3.x - 'Word2Vec' 对象没有属性 'index2word'
问题描述
我在python的以下代码中收到此错误“AttributeError:'Word2Vec'对象没有属性'index2word'”。任何人都知道我该如何解决?实际上“tfidf_weighted_averaged_word_vectorizer”会引发错误。“obli.csv”包含句子行。谢谢你。
from feature_extractors import tfidf_weighted_averaged_word_vectorizer
dataset = get_data2()
corpus, labels = dataset.data, dataset.target
corpus, labels = remove_empty_docs(corpus, labels)
# print('Actual class label:', dataset.target_names[labels[10]])
train_corpus, test_corpus, train_labels, test_labels = prepare_datasets(corpus,
labels,
test_data_proportion=0.3)
tfidf_vectorizer, tfidf_train_features = tfidf_extractor(train_corpus)
vocab = tfidf_vectorizer.vocabulary_
tfidf_wv_train_features = tfidf_weighted_averaged_word_vectorizer(corpus=tokenized_train,
tfidf_vectors=tfidf_train_features,
tfidf_vocabulary=vocab,
model=model,
num_features=100)
def get_data2():
obli = pd.read_csv('db/obli.csv').values.ravel().tolist()
cl0 = [0 for x in range(len(obli))]
nonObli = pd.read_csv('db/nonObli.csv').values.ravel().tolist()
cl1 = [1 for x in range(len(nonObli))]
all = obli + nonObli
db = Db(all,cl0 + cl1)
db.data = all
db.target = cl0 + cl1
return db
解决方案
这是来自 Dipanjan Sarkar 的 Python 文本分析第 4 章的代码。
自该文本发布以来,gensim 中的 index2word 已被移动。
而不是model.index2word
你应该使用model.wv.index2word
.
推荐阅读
- c++ - UpFileCopyExW 在现有文件上报告 0 和 ERROR_FILE_NOT_FOUND
- python - 如何在 Django 中创建一个 cron 作业来运行从网站抓取数据并更新 PostgreSQL 数据库的脚本?
- php - 使用 zip-> 使用 codeigniter 下载后,我无法取消链接我的目录
- c++ - 如何在 gdb 中打印多态对象的 ptype
- python - 等待父标签是否可以确保使用 Selenium 完全加载子标签?
- python - Qiskit 投资组合优化应用程序
- ruby-on-rails - 如何将使用 Active Storage 上传的 pdf 转换为 rails 中的图像
- visual-studio-2019 - 解决方案资源管理器中项目图标上覆盖有感叹号的蓝色圆圈是什么意思?
- html - 在 IE 中创建自定义单选按钮
- c++ - 损坏的 `std::promise`s (当我在 `.get()` 处理它们之前存储许多期货时,为什么它们会损坏?)