1. 背景
词嵌入定义为NLP中语言建模和特征学习技术的总称,是一种将文本中的词汇转化成数值向量的方法(将字典中的单词和词组映射成实向量)。
one–hot编码存在的一个主要问题是它无法表示出词汇间的相似度。
2. 分布式表示
分布式表示试图通过考虑上下文词汇间的关系来捕捉词汇语义。分布式表示的目标是找出一个通用的转换函数,把词汇转换成(与它关联的)向量,使它们之间的相似性符合词汇间语义的相性。
2.1 word2vec 词嵌入
word2vec 是一个模型组,这些模型是无监督的,它以大型文本语料作为输入,并生成词汇的向量空间。其向量空间的维度通常低于one–hot编码的字典大小的向量空间维度。尽管word2vec创建了用于深度学习NLP模型的向量,但它却是浅层NN。
word2vec将每个词表示成一个定长的向量,并使得这些向量能较好地表达不同词之间的相似和类比关系。它主要包含了下面两个模型:
2.1.1 skip–gram 跳字模型
skip–gram 模型训练的目标是通过给定的当前词(中心词)来预测周围词。skip–gram 方法会对正样例可能性的结果池进行随机采样;对用于生成负样例的负样本取样处理,会包含从文本中随机组对的任意token。
2.2.2 CBOW 连续词袋模型
CBOW(Continuous Bag Of Words)模型通过周围的词汇预测当前词,且上下文词汇的顺序不会影响预测结果(即词袋的假定)。
2.2.3 从模型中提取word2vec向量
2.2 GloVe–全局向量的词嵌入
3. 使用预训练好的词向量
3.1 从头开始学习词向量
3.2 从预训练好的word2vec/GloVe模型中微调学习到的词向量
3.3 从预训练好的word2vec/GloVe模型中查找词向量
4. fastText-子词嵌入
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。