word2vec 训练embedding的一些理解

本文以word2vec的CBOW模型为例,解释如何通过预处理数据和神经网络pipeline来训练词嵌入。预处理包括滑动窗口采样,不足长度用MASK_TOKEN填充。模型输入通过embedding层,其中vocab_size和embed_size是关键参数。经过数值化处理,数据被送入神经网络,线性层计算损失并进行反向传播更新权重,最终目的是获取训练好的embedding参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以 word2vec 中的CBOW模型为例

CBOW模型原理通过训练上游任务达到训练embedding的效果。

我们可以通过 代码示例, 和 数据流的 shape 的变化把握该模型究竟如何工作的。

上游任务 通过句子中的上下文 预测中心词。

首先对数据进行预处理;

#Create windows
# 将向量压平 变成一个一维列表
flatten = lambda outer_list: [item for inner_list in outer_list for item in inner_list]
# 句子结构: windows_size target_word window_size
windows = flatten([list(nltk.ngrams([MASK_TOKEN]*args.window_size + sentence.split(' ') + \
                                    [MASK_TOKEN] * args.window_size, args.window_size * 2 + 1)) \
                                    for sentence in tqdm(cleaned_sentences)])

# Create cbow dat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值