我正在尝试将word2vec结果转换为漂亮的数据框。
df_word2vec_tfidf
是我的doc2vec模型,tfidf_feature_names
是我用来抓取相似单词的键的列表。
def get_word_table(table, key, sim_key='similarity', show_sim = True):
if show_sim == True:
return pd.DataFrame(table, columns=[key, sim_key])
else:
return pd.DataFrame(table, columns=[key, sim_key])[key]
keys = [tfidf_feature_names];
tables = [];
for key in keys:
tables.append(get_word_table(word2vec_model.wv.similar_by_word(key), key, show_sim=False))
pd.concat(tables, axis=1)
我遇到以下错误:
ValueError:太多值无法解包(预期2)。
关于这里发生的事情有什么想法吗?
答案 0 :(得分:1)
您的密钥应采用以下格式,对吗?
def get_word_table(table, key, sim_key='similarity', show_sim = True):
if show_sim == True:
return pd.DataFrame(table, columns=[key, sim_key])
else:
return pd.DataFrame(table, columns=[key, sim_key])[key]
keys = ['word1', 'word2', 'word3', 'wordn']
tables = [];
for key in keys:
tables.append(get_word_table(model.wv.similar_by_word(key), key, show_sim=False))
pd.concat(tables, axis=1)
因此您的密钥应为keys = tfidf_feature_names