文本是一种非结构化数据,不能直接计算。
文本表示的作用是将这些非结构化的百里宫苹果客户端转化为结构化的百里宫苹果客户端,这样我们就可以计算出百里宫苹果客户端的文本,完成我们每天都能看到的文本分类和情感判断的任务。
文字的表达方式有很多,下面只介绍三种方式:
独立热编码|单热表示
整数编码
嵌入文字|嵌入文字
假设正文中有四个词需要计算:猫、狗、牛、羊。百里宫苹果客户端的每个位置代表一个字。因此,使用一热意味着:
Cat: [1,0,0,0]
狗:[0,1,0,0]
牛:[0,0,1,0]
绵羊:[0,0,0,1]
但是在现实中,文本中很可能会出现成千上万个不同的单词,所以百里宫苹果客户端会很长。99%以上都是零。
one-hot的缺点如下:
无法表达单词之间的关系
这种过于稀疏的百里宫苹果客户端导致计算和存储效率低下
这种方式也很容易理解,用一个数字来表示一个单词,上面的例子是:
Cat: 1
狗:2
公牛:3
绵羊:4只
把句子中的每个单词拼在一起,就成了能代表一句话的百利功苹果客户端。
整数编码的缺点如下:
无法表达单词之间的关系
对于模型解释,整数编码可能具有挑战性。
文字嵌入是一种文本表示方法。它的目的和一热编码、整数编码一样,但更有优势。
单词嵌入不是指特定的算法。与上述两种方法相比,这种方法有几个明显的优点:
他可以通过一个低维的百里宫苹果客户端来表达文字,没有一热那么长。
意思相近的词,在百里宫苹果的客户端空间也会相似。
它用途广泛,可以用于不同的任务。
再次回顾上面的例子:
这是一个基于统计方法得到百里宫苹果客户端这个词的方法。2013年,Google的Mikolov提出了一种新的单词嵌入方法。
该算法有两种训练模式:
根据上下文预测当前单词
根据当前单词预测上下文
如果你想进一步了解Word2vec,可以看这篇文章:《一文看懂Word2vec(基本概念+2种训练模型+5个优缺点)》
手套是Word2vec的扩展,结合了全局统计和Word2vec的基于上下文的学习。
想了解GloVe的三步实现,训练方法以及与w2c的对比。可以看这篇文章:《GloVe详解》