使用Keras中embedding的词嵌入的记录

本文介绍了在Keras中如何利用embedding层设置预训练的word2vec词向量,包括通过weights参数和embeddings_initializer初始化。强调了使用明确的initializer的重要性,并给出了使用预训练词向量的示例。

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

参考了 MXuDong博主的博文:https://blog.youkuaiyun.com/qq_33472765/article/details/86561245

kera 的embeding层设置初始值的两种方式:

1、使用weights参数指明embedding初始值

2、使用embeddings_initializer=keras.initializers.Constant(词向量)

如果同时传入embeddings_initializer和weights参数,那么weights参数稍后会把Embedding#embeddings覆盖掉。

使用weights给Layer的变量赋值是一个比较通用的方法,但是不够直观。keras鼓励多多使用明确的initializer,而尽量不要触碰weights

嵌入层将正整数(下标)转换为具有固定大小的向量,如[[4],[20]]->[[0.25,0.1],[0.6,-0.2]]。[[4],[20]]表示一句话由两个单词组成,第一个单词在词向量的位置为4,第二个单词位置为20而位置为4的单词,对应的二维词向量就是[0.25,0.1];类似,位置为20的单词的词向量为[0.6,-0.2]

demo使用预训练(word2vec)词向量

 

# 加载分词后的文本,使用的是Text8Corpus类
sentences = word2vec.Text
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值