You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将pandas dataframe存储的预处理数据应用于word2vec算法

Word2Vec在Pandas数据集上的实现问题排查与解决方案

核心问题排查

  • 输入格式错误:Gensim的Word2Vec接收的训练语料必须是嵌套的分词列表,格式要求为[['词1','词2'], ['词3','词4'], ...],直接传入未拆分的字符串列会导致模型把单个字符当做独立词处理,完全无法输出符合语义的相似词结果
  • 训练轮次不足:iter=1的训练轮次远不足以让模型学习到有效的词共现关系,推荐设置为10~20轮
  • 可选优化:min_count=1会纳入所有仅出现一次的低频词,这类词的共现特征非常少,会拉低整体模型质量,建议根据语料规模调整为3~5

正确实现代码

from gensim.models.word2vec import Word2Vec
import pandas as pd
import numpy as np

# 读取数据
df = pd.read_excel('re_nlp0820.xlsx')

# 关键转换步骤:将nlp列的字符串转为分词列表(默认你的预处理结果是空格分隔的分词字符串,若本身已是列表格式仅需调用.tolist()即可)
corpus = [text.split() for text in df['nlp'].astype(str)]

# 训练模型
model = Word2Vec(
    sentences=corpus,
    sg=1,           
    window=3,       
    min_count=3,     # 可根据实际语料规模调整阈值
    workers=4,       
    epochs=15        # 新版本gensim已将原iter参数更名为epochs,15轮保证训练效果足够
)        
model.init_sims(replace=True) 

# 查询相似词
model_result1 = model.wv.most_similar('국민', topn =20)  
print(model_result1)

运行前可先打印corpus前3条数据,确认每条都是由单个韩文词组成的列表即可。

内容的提问来源于stack exchange,提问作者Doosan Paik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 14:15:03