自然语言的数据化表示 -独热编码

机器学习中,自然语言需要转化为机器可理解的数据形式。独热编码是一种常见的表示方法,它避免了数值比较,将每个词映射为二进制向量。然而,这种方法因维度爆炸和缺乏语义联系而存在局限。TensorFlow提供了一种实现独热编码的函数one_hot()。尽管独热编码在早期NLP中有应用,但其缺点促进了分布式词表示的发展。
摘要由CSDN通过智能技术生成

机器是无法直接理解语言的。人类的语言必须翻译成机器可以理解的数据。语言的表示要远比图像复杂,因为语言有上下文、语义等复杂的含义。

  • 独热表示法

独热方法(one-hot)是比较简单的数据表示方法。简单的说,独热表示法就是给每一个词一个单独的位置,这个位置是这个词独占的。比如我们对下面3个词:

  1. 手机
  2. 电话
  3. 电脑
    进行编码。通常的情况是把0,1,2分别赋值给这3个词。但是这样的赋值可能会被认为电脑>电话>手机,因为优先级的关系。
    所以独热的表示方法被引入。独热编码的编码只是编码,而与权值没有关系。比如上面的3个词独热编码是:1,2,4。二进制分别对应的是001,010和100。
    Tensorflow中提供了独热编码函数one_hot(),上面的例子可以使用one_hot()编码:
import tensorflow as tf

indices=[0,1,2]
ou
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值