【深度之眼tensorflow2.0框架项目班】32.词向量

    词向量(Word embedding),又叫Word嵌入式自然语言处理(NLP)中的一组语言建模和特征学习技术的统称,其中来自词汇表的单词或短语被映射到实数的向量。 从概念上讲,它涉及从每个单词一维的空间到具有更低维度的连续向量空间的数学嵌入。
    生成这种映射的方法包括神经网络,单词共生矩阵的降维,概率模型,可解释的知识库方法,和术语的显式表示 单词出现的背景。
    当用作底层输入表示时,单词和短语嵌入已经被证明可以提高NLP任务的性能,例如语法分析和情感分析。
    在自然语言处理任务中,词在计算机中的表示方式通常有两种:ont-hot representation和distribution representation
ont-hot representation(离散表示)
    将每个词表示为一个向量,向量的维度是词表的大小,向量中只有一个维度的值为1,其余维度为0,这个维度就是我们要表示的词。例如:
【深度之眼tensorflow2.0框架项目班】32.词向量
这种方法在词表过大的时候会导致特征空间非常大,但是也有好处,就是在高维空间中,很多应用任务线性可分。
distribution representation(分布式表示)
    指的是将词转化成一种分布式表示,又称词向量。分布式表示将词表示成一个定长的连续的稠密向量。
分布式表示优点:
(1)词之间存在相似关系:是词之间存在“距离”概念,这对很多自然语言处理的任务非常有帮助。
(2)包含更多信息:词向量能够包含更多信息,并且每一维都有特定的含义。在采用one-hot特征时,可以对特征向量进行删减,词向量则不能。

分布式表示有以下这些方法:
• 矩阵分解(LSA):利用全局语料特征,但SVD求解计算复杂度大;
• 基于NNLM/RNNLM的词向量:词向量为副产物,存在效率不高等问题;
• word2vec、fastText:优化效率高,但是基于局部语料;
• glove:基于全局预料,结合了LSA和word2vec的优点;
• elmo、GPT、bert:动态特征;