一、词向量的介绍
我们在做nlp的时候,需要让机器识别文字,就要先将输入放入文字转换成一种编码。比如独热编码(one - hot)、分布式编码(distribution -representation)
One-hot 是采用稀疏方式存储,把每个词语表示成一个向量,而向量的维度大小就是该词表中有多少个词的数量。样本可以先经过jieba分词处理成一个个词。预处理的工作在nlp、cv神经网络操作前是很重要的一部。
One-hot 简单、高维。当然他的缺点是维度灾难。 就是当词表很大时候,有n个词,那么词语的向量就是n 维向量。
并且one-hot表示之中任意的俩个词是孤立的,无法在语义层面上去表示出俩个词的关系。【致命的缺点】
从高维的词转换成低维度。通过词嵌入。维度可以自我指定。
语言模型 。去预测给定的一句话是否是符合一句话的概率。判定的要素根据语法语义。特点是无监督。
神经网络语言模型:NNLM( Neural Network Language Model )、RNNLM、Mikolov 等人提出了 CBOW( Continuous Bagof-Words)和 Skip-gram 模型
NNML使用了马尔科夫假设。行文的上下词语对中心词汇的依赖概率。
马尔科夫假设:使用词表中前一个词或者前几个词来预测该词。减少了计算概率的复杂度。
RNNML模型。没有使用马尔科夫假设。
统计语言模型 求句子成立的概率,预测某个词出现的概率问题,根据前面的词。
One-hot 到 词嵌入的改进:
1、将vector每一个元素由整形改为浮点型,变为整个实数范围的表示;
2、将原来稀疏的巨大维度压缩嵌入到一个更小维度的空间。
词嵌入(词向量)