语言模型

什么是语言模型呢?

简单地说,语言模型就是用来计算一个句子的概率的模型,也就是判断一句话是否是人话的概率?

放一篇文章 语言模型及其实现 建议直接看原文,讲的非常清楚。

  • 概率表示

给每一个句子赋予一个概率,合法的句子得到概率比较大,而不合法的句子得到的概率比较小,这样只需要从所有可能的情况中选取概率最大的那种组合,我们就能够得到合法的句子了;
文章中讲了这个概率的公式以及如何去理解这个公式,还有这个公示的缺点引出下面的马尔科夫假设

语言模型公式

  • 马尔科夫假设

为了解决太过复杂而难以计算的问题,我们需要引入马尔科夫假设,马尔科夫假设中最重要的一点就是有限视野假设
由于基础公式计算起来过于复杂,所以通过马尔科夫假设来简化公式;
当应用在我们的语言模型中时,就是指每一个词语的概率只由其前面的n−1个词语所决定,这被称为n元语言模型 当n=2时,相应的语言模型就被称为是二元模型

二元模型

  • 概率估计

在拥有大语料的情况下,我们可以直接统计(wi−1,wi)这对词在语料中的出现次数,同时也能统计wi−1出现的次数,根据大数定理,相对频度就能近似概率;
其中#(xi−1,xi),#wi−1,#分别表示词对(wi−1,wi)在语料中出现的次数,wi−1在语料中出现的次数和语料库的大小;

求概率

  • 模型训练&零概率

概率值出现为0的这种情况我们称之为不平滑,相应的需要进行平滑操作;
其中,|V|表示词库的大小,之所以要在分母上同时加上一个λ|V|,是为了保证概率之和为1的条件;

加法平滑

总结

  1. N-gram就是文中所指的n元模型,它与语言模型是什么关系呢?个人认为是包含在语言模型中的;
  2. 学到了什么是语言模型,以及优化n-gram;这是NLP最基础的东西,是必须要了解的;
  3. 语言模型的用途就不做仔细的研究了;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容