基于文本的深度学习方法的TensorFlow实现(1)——词嵌入

词嵌入

用数字表示文本

机器学习模型以向量(数字数组)作为输入,为了使用文本,需要将字符串转为数字,即向量化。

三种向量化策略

  • One-hot编码
    向量长度等于词汇量,在词汇对应的索引置1,其他置0
    例如:
    The cat sat on the mat.
    cat (0,1,0,0,0,0)
    ……
    缺点:效率低下,向量稀疏
  • 整数编码
    用唯一的数字给词编码
    例如:
    The cat sat on the mat.
    (1,2,3,4,5,6)
    缺点:
    编码不能表示单词之间的关系;单词之间的相似性与编码的相似性无关,编码的权重组合无意义。
  • 词嵌入
    高效,密集,且相似的单词具有相似的编码
    自动嵌入浮点数密集向量(向量长度需指定),具体的数值是可以训练的参数。高维的嵌入可以捕获单词间的细粒度关系,同时需要更多的数据来学习。
使用Embedding层

Keras提供词嵌入的方法,即Embedding层。
可以将词嵌入看为查找表,它从代表单词的整数索引映射到单词嵌入的密集向量。

embedding_layer = layers.Embedding(1000, 5)

创建嵌入层时,嵌入的权重会随机初始化。在训练过程中,通过反向传播逐渐调整嵌入值。经过训练后,词嵌入可以学习编码词之间的相似性。
对于文本或序列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值