N-gram

作者: slytherinwyne | 来源:发表于2019-12-27 00:58 被阅读0次

N-gram模型是一种语言模型(Language Model,LM),语言模型是一个基于概率的判别模型,它的输入是一句话(单词的顺序序列),输出是这句话的概率,即这些单词的联合概率(joint probability)。

N-gram中的概率计算:

N-gram的用途:

词性标注

垃圾短信分类

分词器

机器翻译和语音识别

N-gram中的数据平滑方法

n-gram最大的问题就是稀疏问题(Sparsity)。例如,在bi-gram中,若词库中有20k个词,那么两两组合就有近2亿个组合。其中的很多组合在语料库中都没有出现,根据极大似然估计得到的组合概率将会是0,从而整个句子的概率就会为0。最后的结果是,我们的模型只能计算零星的几个句子的概率,而大部分的句子算得的概率是0,这显然是不合理的。

因此,我们要进行数据平滑(data Smoothing),数据平滑的目的有两个:一个是使所有的N-gram概率之和为1,使所有的n-gram概率都不为0。它的本质,是重新分配整个概率空间,使已经出现过的n-gram的概率降低,补充给未曾出现过的n-gram。

*内插法(Interpolation)**有点像滑动平均,它的核心思想是,既然高阶组合可能出现次数为0,那稍微低阶一点的组合总有不为0的。

**回溯法(backoff)**与内插有点像,只是它会尽可能地用最高阶组合计算概率,当高阶组合不存在时,退而求其次找次低阶,直到找到非零组合为止。

相关文章

  • Text Analysis

    NPL Natural Text Processing 基本上就是个词没什么意思 N-gram 所谓N-gram就...

  • n-gram

    n-gram的数据平滑方法 拉普拉斯平滑:缺点都在分子上加一,而大部分n-gram都是没有出现过的,这样就会给他们...

  • N-gram

    N-gram模型是一种语言模型(Language Model,LM),语言模型是一个基于概率的判别模型,它的输入是...

  • n-gram模型创建与分析

    n-gram模型:在自然语言里有一个模型叫做n-gram,表示文字或语言中的n个连续的单词组成序列。在进行自然语言...

  • n-gram模型

    n-gram模型 N-Gram是一种基于统计语言模型的算法。它的基本思想是将文本里面的内容按照字节进行大小为N的滑...

  • 自然语言处理中的N-Gram模型详解

    1.自然语言处理中的N-Gram模型详解

  • 语言模型笔记

    参考n-gram: https://blog.csdn.net/songbinxu/article/details...

  • N-gram 分词

    概述 本课程作业主要借助python工具,实现了N-gram分词中的Unigram和Bigram分词器,并将前向最...

  • N-gram标注

    一元标注 基于统计为单词分配最有可能的标记,注意不要将训练数据和测试数据混合在一起。会导致标注未知文本的时候得分低...

  • video caption评价标准简介

    1.BLEU 1.1 N-gram precision 观察如下示例:candidate1的1-gram pr...

网友评论

      本文标题:N-gram

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