《TensorFlow自然语言处理》—3.2.2 独热编码表示方式
【摘要】 本节书摘来自华章计算机《TensorFlow自然语言处理》一书中的第3章,第3.2.2节,[澳] 图珊·加内格达拉(Thushan Ganegedara) 著 马恩驰 陆 健 译。
3.2.2 独热编码表示方式
表示单词的更简单方法是使用独热编码表示。这意味着,如果我们有一个V大小的词汇表,对于第i个词wi,我们将用一个V长度的向量[0, 0, 0, …, 0, 1, 0, …, 0, 0]来表示单词wi,其中第i个元素为1,其他元素为零。举个例子,考虑一下这句话:Bob and Mary are good friends。其每个单词的独热表示如下所示:
但是,正如你可能已经想到的那样,这种表示有许多缺点。该表示并没有用任何方式对单词之间的相似性编码,并且完全忽略了单词的上下文。让我们考虑单词向量之间的点积作为相似性度量方法,两个矢量越相似,这两个矢量的点积越高。例如,单词car和cars的单词表示的相似距离是0,而car和pencil也有相同的值。
对于大型词汇表,此方法变得非常没有效果。此外,对于典型的NLP任务,词汇量很容易超过50000个单词。因此,50000单词的单词表示矩阵将导致非常稀疏的50000×
50000矩阵。
然而,即使在最先进的词嵌入学习算法中,独热编码也起着重要作用。我们使用独热编码将单词表示为数字向量,并将其送入神经网络,以便神经网络可以学习单词的更好和更短的数字特征表示。
单热编码也称为局部表示(与分布式表示相反),因为特征表示由向量中的单个元素的激活情况决定。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)