美文网首页
(二)浅谈语言模型与词向量——原理

(二)浅谈语言模型与词向量——原理

作者: 天生smile | 来源:发表于2018-12-03 15:18 被阅读0次

        最开始接触语言模型是在语音识别中,当时用的一种混合语言模型,为了知识的完整性,我先简单的讲述一下语言模型的原理,本人对语言模型的了解程度仅仅在应用层面以及embedding,对于最新的技术并没有怎么follow。

        1 n-gram语言模型[1]         

        假设S表示某个有意义的句子,由一串特定顺序排列的词w1,w2,..,wn组成,n是句子的长度。目的:计算S在文本中(语料库)出现的可能性P(S):

        如上图,语言模型就是用来判断一个句子的合理性的置信度,最经典的就是n-gram语言模型和NNLM(Nerual Network Language Model)。在这里举一个应用的例子,例如在语音识别中我们通过声学模型对每一帧做出音素的分类(可以简单理解成汉语拼音吧,当然一个音素跨越好几帧,这里不详细展开),至于这些音素对应的哪些文字,这就要靠语音模型来找出最合理的句子了。

        n-gram语音模型主要基于马尔科夫假设,主要解决一下问题:

                (1)参数空间过大:条件概率P(wn|w1,w2,..,wn-1)的可能性太多,无法估算。

                (2)数据稀疏严重:对于非常多词对组合,在语料库中都没有出现,依据极大似然估计得到概率将会是0。最后结果是句子0概率

因此就会有unigram,bigram,trigram等等,如下图:

理论上,n越大越好。但实践中常用unigram、bigramtrigramn越大训练越慢,但精度会更高。

2.神经语言模型

下面开始进入正题,先来看一下2003年的一篇关于NNLM的文章

Paper: A Neural Probabilistic Language Model.2003

        这张图对如今的一些DP的论文再简单不过了,我们还是简单看下原理,大体思路就是通过前N-1个词预测第N个词,输入的是one-hot向量,C就是通过查找矩阵C(词典中词语个数*向量维度)这样一个大小的矩阵将One hot的向量进行编码,注意这个C一开始是随机初始化的,中间的tanh层是包含K个上下文词语的embedding向量的拼接,经过激活函数激活,输出层就是这里简单理解为一个全连接层+softmax进行分类,类别的个数就是词典中词的个数,结果就是概率大的那个词。

接着又过了10年,大概是2013年,也就是Deep Learning(DP)在语音和图像上大火的那个阶段,DP也开始在NLP上崭露头角,Word2vec的诞生可以说是NLP中的一个里程碑吧,Word2vec就是利用一个简化版的语言模型来得到刚才提到的矩阵C,其训练方式有如下两种:

左边这个CBOW就是利用一个词的上下文来预测改词,右边的skip是反过来利用一个词来预测上下文,之所以说是简化版是因为图中的Hidden layer都是线性层,拿左图举例就是将One-hot向量进行embedding后进行加权(平均)得到hi,再利用hi接一个全连接层进行分类。最后的图中的W就是我们说的embedding.

上述的原理性的介绍进行的差不多了,接下来就是一些实战内容

相关文章

  • (二)浅谈语言模型与词向量——原理

    最开始接触语言模型是在语音识别中,当时用的一种混合语言模型,为了知识的完整性,我先简单的讲述一下语言模型的原理,本...

  • (二)浅谈语言模型与词向量——实战

    实战主要分为两个部分语言模型和Wordvec,具体参见我的github代码。 语言模型 这个部分主要实现的是NNL...

  • 任务1:词向量分布

    要点一:提问:词向量是学习得来的吗? 答:是的。段落+模型->词向量 要点二:什么是语言模型 ?训练语言模型是要让...

  • 探秘Word2Vec(二)-背景知识

    word2vec是用来生成词向量的工具,而词向量与语言模型有着密切的关系,为此,不妨先来了解一些语言模型方面的知识...

  • Word2vec

    预备知识:LR、贝叶斯公式、赫夫曼编码、统计语言模型、n-gram模型、神经概率语言模型、词向量、词袋模型、sof...

  • 词向量原理

    了解词向量要从语言模型说起,语言模型其实就是计算任意一个句子的概率。 经典的语言模型是n-gram模型,该模型假设...

  • 2.2 语言模型和词向量 tensorflow词向量

    ----------------------------大纲-------------------------- ...

  • Character Embedding论文笔记

    学习目标 C2W模型背景介绍词向量的学习对于自然语言处理的应用非常重要,词向量可以 在空间上捕获词之间的...

  • 2.1 语言模型和词向量

    ----------------------------大纲-------------------------- ...

  • 2021-06-17 ch21 词向量review

    词向量:和独热编码不同的是,可以表示一个词的含义,但无法表示一词多义 训练词向量的方法:基于非语言模型的方法:CB...

网友评论

      本文标题:(二)浅谈语言模型与词向量——原理

      本文链接:https://www.haomeiwen.com/subject/uaoecqtx.html