自然语言处理之n元语法模型

本文介绍了自然语言处理中的n元语法模型,用于估算字符串出现的概率。通过简化历史长度,减少自由参数数量,n元模型解决了训练数据不足的问题。n-gram是常用的实现方式,例如一阶马尔科夫链(n=1)和二阶马尔科夫链(n=2)。
摘要由CSDN通过智能技术生成
一个语言模型通常构建为字符串s的概率分布p(s),这里p(s)试图反映的是字符串s作为一个句子出现的频率。例如,在一个人所说的话中每100个句子里面大约有一句是Okay,则可以认为p(Okay)约等于0.01。而对于句子“An apple ate the chicken”我们可以认为其概率是0,因为几乎没有人会说这样的句子。需要注意的是,与语言学中不同,语言模型与句子是否合乎语法是没有关系的,即使一个句子完全合乎语法逻辑,我们仍然可以认为它出现的概率接近为0。

对于一个由i个基元(“基元”可以为字,词或短语等,为了表述方便,用“词”来通指)构成的句子, 其概率计算公式如下

p(s) = p(w1) p(w2|w1) P(w3|w2w1)...p(wi|w1..wi-1)

一般地,我们把钱i-1个词w1w2..wi-1称作第i个词的“历史”。在这种计算方法中,随着历史长度的增加,不同的历史数目按指数级增长。如果历史的长度为i-1,那么就有L^(i-1)种不同的历史(假设L为词汇集的大小),而我们必须考虑在所有的L^(i-1)种不同的历史情况下,产生第i个词的概率。这样的话,模型中就有L^i个自由参数,使得我们几乎不可能从训练数据中正确的估计出这些参数,实际上,绝大多数历史根本就不可能在训练数据中出现。因此,为了解决这个问题,需要把上面的公式进行一定的简化,或者说近似。可以奖励是w1w2...wi-1按照某个法则映射到等价类E(w1w2...wi-1),而这些等价类的数目远远小于不同历史的数目。

假定p(s)=p(wi|E(w1,w2,...,wi-1)),那么自由参数的数目就会大大减少,有很多方法可以将历史划分成等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值