如何计算给定一个unigram语言模型_语言模型 - huiwong - 博客园

语言模型(language model)是自然语言处理的重要技术。自然语言处理中最常见的数据是文本数据。我们可以把一段自然语言文本看作一段离散的时间序列。假设一段长度为\(T\)的文本中的词依次为 \(w_1, w_2, \ldots, w_T\)。

定义

对于一段自然语言序列,语言模型就是计算他的概率:

\[P(w_1, w_2, \ldots, w_n).

\]

也就是说语言模型是对语句的概率分布的建模。

语言模型的计算

概率链式法则

\[P\left(w_{1 : n}\right)=P\left(w_{1}\right) P\left(w_{2} | w_{1}\right) P\left(w_{3} | w_{1 : 2}\right) P\left(w_{4} | w_{1 : 3}\right) \ldots P\left(w_{n} | w_{1 : n-1}\right)

\]

为了计算语言模型,我们需要计算词的概率,以及一个词在给定前几个词的情况下的条件概率,即语言模型参数。设训练数据集为一个大型文本语料库,如维基百科的所有条目。词的概率可以通过该词在训练数据集中的相对词频来计算。例如, \(P(w_1)\) 可以计算为 \(w_1\) 在训练数据集中的词频(词出现的次数)与训练数据集的总词数之比。因此,根据条件概率定义,一个词在给定前几个词的情况下的条件概率也可以通过训练数据集中的相对词频计算。例如, \(P(w_2∣w_1)\) 可以计算为 \(w_1,w_2\) 两词相邻的频率与 \(w_1\) 词频的比值,因为该比值即 \(P(w_1,w_2)\) 与 \(P(w_1)\) 之比;而 \(P(w_3∣w_1,w_2)\) 同理可以计算为 \(w_1 、 w_2\) 和 \(w_3\) 三词相邻的频率与 \(w_1\) 和

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值