NLP(一):从规则到统计

这是一系列自然语言处理的介绍,本文不会涉及公式推导,主要是一些算法思想的随笔记录。
适用人群:自然语言处理初学者,转AI的开发人员。
编程语言:Python
参考书籍:《数学之美》
《统计自然语言处理》 --宗成庆
参考教程:
《机器读心术之自然语言处理》
《CS224n 第一讲 - 深度自然语言处理 》

自然语言处理——NLP

自然语言处理(Natural Language Processing):利用计算机为工具,对书面实行或者口头形式进行各种各样的处理和加工的技术,是研究人与人交际中以及人与计算机交际中的演员问题的一门学科,是人工智能的主要内容。

自然语言处理是研究语言能力和语言应用的模型,建立计算机(算法)框架来实现这样的语言模型,并完善、评测、最终用于设计各种实用系统。

自然语言处理研究的问题

  • 信息检索
  • 机器翻译 :基于规则—>基于统计—>基于神经网络(编码-解码)
  • 文档分类
  • 问答系统 :语义分析(实体链接、关系识别)—>逻辑表达式—>最佳答案
  • 信息过滤
  • 自动文摘
  • 信息抽取
  • 文本挖掘
  • 舆情分析
  • 机器写作
  • 文稿机器校对
  • OCR或语音识别
  • 对话系统:用户意图理解—>通用聊天引擎、问答引擎、对话管理—>上下文—>个性化回复

NLP的困难

  1. 场景的困难:语言的多样性、多变性、歧义性
  2. 学习的困难:艰难的数学模型(HMM,MaxEnt,CRF等)
  3. 语料的困难:语料的获取

数字和信息、文字与数字

数字、文字和自然语言一样,都是信息的载体。语言和数学的产生都是为了同一个目的:记录和传播信息。但是直到半个多世纪前香农博士提出信息论,人们才开始把数学和信息系统自觉地联系起来。

不同的文字系统在记录信息的能力上是等价的。

语言的出现是为了人类之间的通信。字母(或者中文的笔画)、文字和数字实际上是信息编码的不同单位。任何一种语言都是一种编码的方式,而语言的语法规则是编解码的算法。
NLP(一):从规则到统计_第1张图片

机器智能的发展

最早提出机器智能设想的是阿兰·图灵,1950年《思想》。

a.图灵测试(Turing Test)
让人和机器进行交流,如果人无法判断自己交流的对象是人还是机器,就说明这个机器有智能了。

b.弯路阶段
从20世纪50年代到70年代,是科学家们走弯路的阶段,全世界的科学家对计算机处理语言的认识都局限在人类学习语言的方式上,也就是说,用电脑模拟人脑(“鸟飞派”),这20多年的成果近乎为零。
基于规则的代表人物:乔姆斯基

c.第二阶段
直到20世纪70年代,一些自然语言处理的先驱开始重新认识这个问题,找到了基于数学模型和统计的方法,自然语言处理进入第二个阶段。30多年来,这个领域取得了实质性的突破,自然语言处理也在很多产品中得到广泛应用。今天,机器翻译和语音识别已经做得不错,并且有上亿人使用过,但是这个领域之外的大部分人已然错误地以为这两种应用是靠近计算机理解了自然语言才实现的。事实上,它们全都靠的是数学,更准确地说是靠统计学。
基于统计的代表人物:贾里尼克

NLP的发展:从规则到统计

一.规则:乔姆斯基形式语言

自然语言与形式语言
早期对自然语言的处理,需要研究语言学、语音学等,以乔姆斯基的形式语言为地基。

因为当时的学术界对人工智能和自然语言界的普遍认识是这样的:要让机器完成翻译或者语音识别,就必须让计算机理解自然语言,而做到这一点就必须让计算机拥有类似我们人类这样的智能。而让计算机理解自然语言,当时普遍的认识就是要做好两件事,即分析语句获取语义
NLP(一):从规则到统计_第2张图片
句法分析:需要构建语法分析树(Syntactic Parse Tree,有时简称Parse Tree),如对“徐志摩喜欢林薇因”建立语法分析树:
NLP(一):从规则到统计_第3张图片
但是明显的缺点就是:
1,句子很长的话,语法树就会很大,很复杂;
2,如果仅仅使用文法规则就想覆盖哪怕是20%真实的语句,文法规则的数量至少也要几万条,而且还要说明各个规则特定的使用环境;
3,即使覆盖了所有自然语言现象,用计算机解析它那也是相当困难的事情;
4,用规则处理法在多义性很难处理,因为多义词严重依赖上下文语境。

如下是基于乔姆斯基形式语言的文法体系:
NLP(一):从规则到统计_第4张图片
有兴趣的可以了解:计算语言学之形式语言与自动机

二.统计:数学模型

1970年以后统计语言学家的出现使得自然语言处理重获新生,并取得了今天非凡的成就。

基于统计的自然语言处理方法,在数学模型和通信是相通的,甚至是相同的。因此,在数学意义上自然语言处理又和语言的初衷-通信联系在一起了。

你可能感兴趣的:(NLP,自然语言处理)