醋醋百科网

Good Luck To You!

N-Gram模型

之前我们有聊到语言模型。其中之一就是n-gram模型。他是一种基于统计的模型算法。

今天我们就来详细了解它。

N-gram模型基本概念

n-gram基本思想是将文本里面的内容按照字节进行大小为N的滑动窗口操作,形成了长度是N的字节片段序列。

每个字节片段称为gram,对所有gram出现的频率进行统计,并且按照事先设定好的阈值进行过滤。形成gram列表,也就是这个文本的向量特征空间。

列表中的每种gram就是一个特征向量维度。

n-gram用于评估语句是否合理

如果我们有一个由m个词组成的序列(或者说是一个句子),我们希望算得概率p(w1, w2, ..., Wm),根据链式规则,可以得到 p(w1, w2, ... Wm) = p(w1) * p(w2|w1)*p(w3|w1, w2))...p(wm|w1...wm-1)

显然这个概率不好做,我们可以利用马尔科夫链的假设,即当前这个词仅仅跟前面几个有限的词相关,因此也就不必一直追溯到最开始的词。这样便可以大幅缩减上述算式的长度。

即p(w1, w2,...wm) = p(wi|wi-n+1,...wi-1)

这个马尔科夫链假设为什么好用。在现实情况中,大家通过真实情况将n=1,2,3...这些值都试过之后,得到真实的效果和时间空间的开销权衡之后,发现能够使用。

后面我们再讲下python的实现以及使用。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言