自然语言处理入门理论知识

一、什么是自然语言处理

自然语言处理(Natural Language Processing,NLP)

是人工智能领域的主要内容,研究用电子计算机模拟人的语言交际过程,使计算机能理解和运用人类社会的自然语言,实现人机之间的自然语言通信,以代替人的部分脑力劳动,包括查询资料、解答问题、摘录文献、汇编资料以及一切有关自然语言信息的加工处理。

1.1 自然语言处理的过程

目录

一、什么是自然语言处理

1.1 自然语言处理的过程

1.2 自然语言处理遇到的困难

1.2.1 歧义

1.2.2 未知语言现象

1.3 自然语言处理系统vs. 程序设计语言的编译系统

1.4 NLP的基本方法及其发展

1.4.1 理性主义方法(基于规则的方法、符号派)

1.4.2 经验主义方法(基于统计的方法、随机派)

二、语料库

2.1 基本概念

2.2 语料库类型

2.3 语料库加工的三种主要方式

三、语言模型

3.1 n元语法模型

3.2 数据平滑技术

3.2.1 Laplace法则、Lidstone法则

3.2.2 Good-Turing估计

3.2.3 线性折扣

四、隐马尔可夫模型

4.1 马尔科夫模型

马尔科夫模型的形式化定义:

4.2 隐马尔可夫模型

HMM的形式化定义

HMM涉及的三个基本问题:

五、字频统计

5.1 字频统计的意义

5.2 单字字频统计

5.3 双字字频统计

六、英文词法分析

6.1 英文断词

6.1.1 句点引起的歧义

6.1.2 撇号引起的歧义

6.1.3 连字符引起的歧义

6.1.4 断句

6.2 英文形态还原

 七、汉语自动分词

7.1 汉语自动分词中的基本问题

7.1.1 分词标准

7.1.2 切分歧义

7.1.3 未登录词

7.2 基本分词方法

八、词性标注

8.1 基于规则的词性标注方法

8.2 基于统计的词性标注方法

8.3 统计与规则相结合的方法

九、语法分析

9.1 句子结构的两种观点

9.1.1 短语结构( Phrase structure / Constituency )

9.1.2 依存结构( Dependency structure )

9.2 文法的描述

9.2.1 无约束短语结构文法

9.2.2 上下文有关文法

9.2.3 上下文无关文法

9.2.4 正则文法

9.2.5 四种文法类型的比较

9.3 自底向上的句法分析

9.3.1 移进-归约算法

9.3.2 欧雷(Earley)分析法

9.3.3 线图分析法

9.3.4 CYK分析法

9.3.4 扩展CYK分析法


 自然语言处理的基础:词法分析,语法分析,语义分析

第一步:分析源语言(文本理解)

        通过词法分析,语法分析,语义分析来对源语言进行分析理解

获得句子的语义

第二步:生成目标语言(文本生成)

任何一个NLP系统都离不开文本理解和文本生成。

通过应用到不同方面,形成了不同的领域。

1.2 自然语言处理遇到的困难

1.2.1 歧义

词法层面:

例1: I made her duck.

          her:宾格 or 所有格?

例2:“打”的词性是什么?

         动词:打电话

         介词:打今天起

         量词:一打铅笔

句法层面:

Put the block in the box on the table. 把盒子里的积木放到桌子上

Put the block in the box on the table. 把积木放到桌子上的盒子里

语义方面:

她这个人真有意思。             有趣

我根本没有那个意思。          想法

语用层面(程度):

女孩给男朋友打电话:如果你到了,我还没到,你就等着吧;

                                    如果我到了,你还没到,你就等着吧。

语音层面:

I:eye        相同发音。

1.2.2 未知语言现象

(1)意想不到的情况:如未知词汇、未知结构等

(2)语言也是不断发展变化的

        新的词汇

        新的词义

        新的词汇用法

1.3 自然语言处理系统vs. 程序设计语言的编译系统

程序设计语言

自然语言

通常采用CFG描述(上下文无关文法)

远远超出CFG的表达能力

语言中不存在歧义

语言中存在复杂的歧义

人服从机器

机器服从人

无限集→有限集

映射过程

有限集→无限集

推演过程

1.4 NLP的基本方法及其发展

1.4.1 理性主义方法(基于规则的方法、符号派)

建立符号处理系统:知识表示体系(规则)+推理程序

希望通过手工编码大量的先验知识和推理机制,得以复制人类大脑中的语言能力

理论基础:乔姆斯基(Chomsky)的语言理论

1.4.2 经验主义方法(基于统计的方法、随机派)

建立数学模型

利用统计学、模式识别和机器学习等方法训练模型参数

语料库:收集一些文本作为统计模型建立的基础

理论基础:香农(Shannon)的信息论

二、语料库

2.1 基本概念

语料库(Corpus):

         存放语言材料的数据库(文本集合)。库中的文本通常经过整理,具有既定的格式与标记,特指计算机存储的数字化语料库

Corpora: 语料库集合

关于语料库的三点基本认识:

(1)语料库中存放的是在语言的实际使用中真实出现过的语言材料

(2)语料库是以电子计算机为载体、承载语言知识的基础资源 

(3)真实语料需要经过加工(分析和处理),才能成为有用的资源 

2.2 语料库类型

(1)专用语料库&通用语料库

专用语料库:

        是为了某种专门的目的,只采集某一特定的领域,特定的地区,特定的时间,特定的语体类型的语料构成的语料库。

通用语料库:

        抽样时从各个角度考虑了平衡问题的语料库。

        按照事先确定好的某种标准,把每个子类的文本按照一定比例收集到一起的语料库。

(2)单语语料库&多语语料库

单语语料库:只含有单一语言文本的语料库

多语语料库:不只有一种语言的语料库

                      平行语料库

                      比较语料库

(3)共时语料库&历时语料库

共时语料库:为了对语言进行共时研究而建立的语料库。

历时语料库:对语言文字的使用进行动态追踪、对语言的发展变化进行监测的语料库。

           特点: 语料的动态性:语料是不断动态补充的

                       具有量化属性“流通度”

(4)生语料库&熟语料库

生语料库:没有经过任何加工处理的原始语料数据

熟语料库:经过了加工处理、标注了特定信息的语料库

2.3 语料库加工的三种主要方式

人工:非常昂贵,需要大量的人力资源

自动:不完全准确

半自动(人机结合): 兼顾两者的优点

        先由计算机对待加工的语料进行自动加工,然后由人工校对

        由计算机自动选择语料库中需要人干预的自动加工不能解决的部分,从而减少人的工作

三、语言模型

3.1 n元语法模型

马尔可夫假设:

        直觉上讲,下一个词的出现仅依赖于它前面的一个或几个词。 受离它较近的词的影响较大。

二元语法模型(Bigram model):

        假设下一个词的出现依赖它前面的一个词。

由此我们可以推广

三元语法模型(Trigram model):

         假设下一个词的出现依赖它前面的两个词。

n元语法模型(n-gram model):

         假设下一个词的出现依赖它前面的n-1个词。

n的选择:

更大的n:对下一个词出现的约束信息更多,具有更大的辨别力

更小的n:在训练语料库中出现的次数更多,具有更可靠的统计信息,具有更高的可靠性

理论上,n越大越好

实践中,由于n的增加,计算量大量增加,bigram和trigram用的较多

二元语法模型下的最大似然估计计算:

假设训练语料由下面3个句子构成

Mother reads S C

Father reads a text book

She reads a book by friends     

问题1:用最大似然估计的方法计算概率 p (Father reads a book)

解题思路:把每个词出现的概率相乘。

p(Father|)=1/3                 

p(reads|Father)=1

p(a|reads)=2/3

p(book|a)=1/2

p(|book)=1/2

在nlp中BOS表示开始符号,EOS表示结束符号。

p (Father reads a book)

=p(Father|)*p(reads|Father)*p(a|reads)*p(book|a)*p(|book)

=1/3*1*2/3*1/2*1/2

问题2:用最大似然估计的方法计算概率 p (He reads a book)

在已有的语料库中没有出现过He reads,所以

p(reads|He)=0

出现了0概率问题。

零概率产生的原因:

映了语言的规律性,即本来就不该出现

数据稀疏(Data Sparseness) :

        由于语言模型的训练文本T的规模及其分布存在着一定的局限性和片面性,许多合理的语言搭配现象没有出现在T中。

        仅靠增大语料库的规模,不能从根本上解决数据稀疏问题

解决办法:

数据平滑技术

        为了产生更准确的概率来调整最大似然估计的技术

        基本思想:“劫富济贫”

3.2 数据平滑技术

3.2.1 Laplace法则、Lidstone法则

最简单的平滑技术—Laplace法则

首先我们要获得词汇表的容量。

        在上题中:算上BOS EOS ,一共有13个词,所以容量V = 13

在最大似然计算中,分子+1,分母+v

问题一:

=p(Father|)*p(reads|Father)*p(a|reads)*p(book|a)*p(|book)

=1/3                            *1                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值