前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自然语言处理 | 统计语言模型

自然语言处理 | 统计语言模型

作者头像
Defu Li
发布2018-08-20 14:57:26
5400
发布2018-08-20 14:57:26
举报
文章被收录于专栏:斜述视角斜述视角

我们聊一下自然语言处理(NLP)这一方向,当前的语音识别,机器翻译等人工智能领域备受欢迎和关注,那么计算机到底是怎么处理自然语言的,换句话说:计算机真的像人一样能够理解我们人类独特的语言吗?

在自然语言处理研究的早期,计算机科学家们走入了一个误区:当时,学术界普遍认为,要让计算机能够有效的处理自然语言,首先就是让计算机能像人类一样去理解自然语言。一致认为计算机应先做好两件事,即分析语句和获取语义。

计算机科学家们在此后的工作中发现,人类的语法规则实在太多,根本不可能穷尽,人类20%的语言,语法规则的数量也至少是几万条,语言学家们在有生之年怕是写不完的。这些语法规则写到后面甚至会出现前后矛盾。

自然语言从诞生之初起,就是一种具有上下文相关特征的语言。

人类的语言是存在歧义性的,比如:“I am a boy”。在大部分的场景里,这句英文的译文应是:“我是个男孩”。然而,总是翻译成“我是个男孩”并不一定是最佳的译文。如果是在饭店的场景里,“boy”一词更恰当的翻译是“服务生”。可是这种语言的歧义性,我们在日常生活中是怎么克服的呢?

我们所依靠的是上下文,有时人类是弄不清一句话它到底表示其中哪个含义,而解决这个问题的方法,就是依靠上下文。有了上下文,大多数情况下多义词就可以确定具体意思。

因此,计算机在处理自然语言时,一个基本问题就是为自然语言这种上下文相关的特征建立数学模型。

统计语言模型

1970年弗里德里克·贾里尼克针对自然语言处理的困境提出一个新观点:一个句子是否合理,就看它出现的可能性大小如何。如果可以通过某种数学方法计算得到一个句子能够出现的概率 ,那么概率越大的句子也可能出现。

比如,“我爱美丽的花”、“花的美丽爱我”,这两句话显然是第一句话更可能出现,相比整个人类使用汉语的历史长河中,都很少会出现第二句话。

假定S表示一句有意义的话,由一连串特定的按顺序排列的词组成,词分别是:

我们想知道S在文本中出现的可能性,即计算P(S)。

由题意知:

即:

利用条件概率,S这个词序列出现的概率等于每个词出现的概率相乘,可以写成如下:

不难看出,每一个词出现的概率取决于其前面出现的所有词。然而随着作为条件一方的词语数量的增多,计算开始变得复杂。人们想到了一个偷懒但是还颇为有效的方法,假定每一个词出现的概率只与前面一个词有关(马尔科夫假设)。这时,上述公式可以简化为:

接下来的问题就是计算:

计算机库中存储了大量的人类的语言文本,即语料库。只要用计算机数一数

这一对相邻的词语,以及

这个词在整个语料库中出现的频数即可(N表示整个语料库,f表示词语在语料库中的相对频度):

当语料库足够大时,根据大数定理,概率约等于频度:

约分化简后,可得:

证明完毕!

综上所述,计算机可以不用懂语法,只需要会算一点概率就行啦。


文章参考自:

1、吴军《数学之美》第二版;

2、CSDN许野平的专栏:为什么使用计算机处理自然语言如此困难。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 斜述视角 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档