语言模型识别介绍

       语言模型是自然语言处理问题中一类最基本的问题,一门语言中所有可能的句子服从某一个概率分布, 每个句子出现的概率加起来为1 ,那么“语言模型”的任务就是预测每个句子在语言中出现的概率。对于语言中常见的句子, 一个好的语言模型应得出相对较高的概率:而对于不合语法的句子,计算出的概率则应接近于零。

       把句子看成单词的序列, 语言模型可以表示为一个计算P\left ( w_1,w_2....w_n \right )的模型。语言模型仅仅对句子出现的概率进行建模, 并不尝试去“理解”句子的内容含义。比如说,语言模型能告诉我们什么样的句子是常用句子,但无法告诉我们两句话的意思是否相似或者相反。

       自然语言文本的应用都依赖语言模型来优化输出文本的流畅性。生成的句子在语言模型中的概率越高,说明其越有可能是一个流畅、自然的句子。例如在输入法中,假设输入的拼音串为“ xianzaiquna ”,输出可能是“西安在去哪 "'也可能是“现在去哪’,这时输入法就利用语言模型比较两个输出的概率,得出“现在去哪”更有可能是用户所需要的输出。在统计机器翻译的噪声信道模型( Noisy Channel Model) 中,每个候选翻译的概率由一个翻译模型和一个语言模型共同决定,其中的语言模型就起到了在目标语言中挑选较为合理的句子的作用。

      那么如何计算一个句子的概率呢?首先一个句子可以被看成是一个单词序列:

                                                                          S=\left (w_1,w_2,w_3....w_n \right )

那么m为句子长度。则该句子的概率为

                                            p\left ( w_1,w_2,...w_n \right )=p\left ( w_1 \right )p\left ( w_2 |w_1 \right )p\left ( w_3|w_1,w_2 \right )....p(w_m|w_1,w_2...w_{n-1}) 

 其中p(w_m|w_1,w_2...w_{n-1})表示一直钱m-1个单词时,第m个单词为w_n的概率。如果能对这一项建模,那么只要把每个位置的条件概率相乘,就能计算一个句子出现的概率。

        任何一门语言的词汇量都很大,词汇的组合更是不计其数。假设一门语言的词汇量为V ,如果要将p(w_m|w_1,w_2...w_{n-1}) 的所有参数保存在一个模型里,将需要V^n个参数, 一般的句子长度远远超出了实际可行的范围。为了估计这些参数的取值,常见的方法有n-gram 模型、决策树、最大;脑模型、条件随机场、神经网络语言模型等。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值