zoukankan      html  css  js  c++  java
  • 0-3为变长序列建模modeling variable length sequences

    • 在本节中,我们会讨论序列的长度是变化的,也是一个变量 we would like the length of sequence,n,to alse be a random variable
    • 一个简单的解决方案是,我们经常定义define Xn=STOP,STOP是一个特殊的标志(where STOP is a special symbol)

    在了解了上述的定义之后,我们像上一节当中讲到的那样,使用马尔可夫过程:

    image

    可以看出来,在这里使用的是二阶马尔可夫过程。二阶马尔可夫就是假设当前的词与它前面的两个词都有关系。

    这也就引出了Trigram Language Model,三元语言模型

    Trigram Language Model

    Trigram Language Model由下面来组成:

    1、一个有限的集合V,a finite set V

    2、一个参数q(w|u,v),每一个三元(u,v,w)中,w属于v和{STOP}的并集;u,v属于V和{*}的并集。也就是说,按照u,v,w这个顺序,w排在最后,当到达末尾的时候w为STOP;u和v排在单词串的前面,当非常靠前的时候,u,v只能是*

    这样看来,三元模型下的概率为:

    image

    如果觉得还不是很形象,可以看图中的例子,到目前为止,应该还是好理解的。

    image

    现在的问题就是,公式有了,概率q该怎么计算呢?

    一个计算方法为(最大似然估计maximum likelihood estimate,基本思想是:当从模型总体随机抽取n组样本观测值后,最合理的参数估计量应该使得从模型中抽取该n组样本观测值的概率最大)

    image

     

    其实,这个计算方法是有不足的地方的。

    例如,如果在样本中没有出现过the dog laugh这个单词序列,那么q=0,也就意味着the dog laughs这句话永远不会出现,这是不可能的。

    而如果the dog序列没有出现过,那么count(the,dog)也等于0,但是它的位置又在分母上,这就出现了未定义的计算。

    这个问题,过后再谈。

  • 相关阅读:
    Codeforces D
    Codeforces 899E
    Codeforces 898F
    算法笔记--字符串hash
    算法笔记--归并排序
    Codeforces D
    Codeforces 101628A
    牛客练习赛7 E 珂朵莉的数列
    算法笔记--树的直径 && 树形dp && 虚树 && 树分治 && 树上差分 && 树链剖分
    Codeforces 895C
  • 原文地址:https://www.cnblogs.com/createMoMo/p/3190352.html
Copyright © 2011-2022 走看看