自然语言处理入门 第一章 新手上路

4 篇文章 1 订阅
3 篇文章 0 订阅

1.1自然语言与编程语言

自然语言是非结构化的,具有歧义性、容错性、易变性、简略性的特点。

1.1.1非结构化

编程语言是结构化比较强的,比如创建类,调用方法,都是遵循一定的格式的,而自然语言中不存在这样的显式结构。
举个例子“苹果的创始人是乔布斯,它的logo是苹果”。计算机需要分析出下面的结论:

  • 首先,需要对这句话进行序列化:“苹果 的 创始人 是 乔布斯 , 它 的 logo 是 苹果”;

  • 其中,第一个“苹果”指的是苹果公司,第二个“苹果”是水果中的苹果。

  • “乔布斯”是人名。

  • “它”指的是“苹果公司”。

  • 苹果公司和乔布斯的关系是“的创始人是”,与苹果的关系是“的logo是”

上述操作涉及到了中文分词命名实体识别指代消解关系抽取等自然语言处理的任务

1.1.2歧义性

汉字存在一词多义的情况。

1.1.3容错性

要处理的文本不一定都是规范的。

1.1.4易变性

经常会有新词汇和旧词新用的情况出现。

1.1.5简略性

交流时经常省略背景或常识,比如“老地方见”。

1.2自然语言处理的层次

文本->词法分析->句法分析->语义分析->篇章分析

1.2.1语音、图像、文本

NLP系统的三大输入源。语音和图像一般经过识别后转化成文本,再进行接下来的处理,分别称为语音识别光学字符识别

1.2.2中文分词、词性标注、命名实体识别

这三个任务统称为词法分析。词法分析的主要任务是将文本分割成有意义的词语(中文分词),确定每个词语的词性(词性标注),并且识别出一些较长的专有名词-人名、地名、机构名(命名实体识别命名实体有什么根本上取决于开发者关心什么)。

1.2.3信息抽取

根据分出的单词和标签,可以提取出高频词、关键词、术语等。还可以根据词语之间的统计学信息抽取出关键短语乃至句子。

1.2.4文本分类与聚类

将文本拆分成一系列词语之后,我们还可以在文章级别做一系列分析。
文本分类:将文本分门别类地整理。
文本聚类:把相似的文本归档到一起,或者排除重复的文档,而不关心具体的类别。

1.2.5句法分析

词语之间的主谓关系、动宾关系、定中关系等。

1.2.6语义分析与篇章分析

相较于句法分析,语义分析侧重于语义而非语法。包括词义消歧(确定一个词在语境中的含义)、语义角色标注(标准句子中的谓语与其他成分的关系)乃至语义依存关系(分析句子中词语之间的语义依存关系)。

1.2.7其他高级任务

除了上述功能外,还有自动问答自动摘要机器翻译等。
IR(信息检索)的目标是查询信息,NLP的目标是理解语言。IR检索的未必是语言,可能是以图搜图、听歌搜曲、商品搜索等。

1.3自然语言处理的流派

1.3.1基于规则的专家系统

要求设计者对要处理的问题有深入的了解,对设计者要求比较高,而且,设计的规则之间经常有冲突,遇到冲突时,一般按照优先级处理。随着规则数量增加,团队人数增加,需要考虑的兼容性问题更多,更复杂,成本变高,且难以扩展。

1.3.2基于统计的学习方法

使用统计方法让计算机自动学习语言。所谓“统计”,指的是在语料库上进行的统计;所谓“语料库”,指的是人工标注的结构化文本。
统计学习方法是机器学习的别称,机器学习是当代实现人工智能的主流途径。

1.3.3历史

规则系统->统计方法->深度学习
统计模型:隐马尔可夫模型->感知机->条件随机场->神经网络
特征工程:根据语言学知识为统计模型设计特征模板。
深度学习:指的是深层神经网络,其魅力在于不再依赖专家制定的特征模板,而能够自动学习原始数据的抽象表示,所以主要用来学习。

1.3.4传统方法与深度学习

深度学习在CV领域成绩显著,但是在NLP领域发力不大。截止2015年,词性标注模型中,除了Bi-LSTM-CRF之外,其他的都是传统模型,而且相较于传统模型,准确率并未提升太多;
无论是传统统计模型,还是神经网络,都是统计学习方法,都是机器学习范畴。

1.4机器学习

1.4.1什么是机器学习

机器学习是让机器学会算法的算法。
机器学习算法指导机器自动学习出另一个算法,这个算法被用来解决实际问题。被学习出的算法称为模型

1.4.2模型

模型是对现实问题的抽象。
f(x)=w*x+b
w和b是参数,x是函数的自变量。
模型指的是包括参数在内的整个函数,但不包括自变量。
x:特征向量,表示一个对象的特征。
w:特征权重。

1.4.3特征

特征指的是事物的特点转化的数值。
在机器学习中,“优先级”可以看作特征权重或模型参数。我们只需要定义一系列特征,让算法根据数据自动决定它们的权重就行了。
为了方便计算机处理,我们把特征处理成数值型的特征,这个过程叫特征提取
工程上,不需要逐个写特征,而是定义一套模板提取特征,这种模板叫特征模板
如何挑选特征,如何设计特征模板,这称作特征工程

1.4.4数据集

如何让机器自动学习?首先要有一些例子,如识别一个名字是男性还是女性,先准备大量例子(人名x及其对应的性别y),作为习题集,希望机器自动从习题集中学习中国人名的规律。“例子”一般称作样本
习题集在机器学习领域叫做数据集,在NLP领域叫做语料库。大部分数据集不可商用,有些领域的数据集很匮乏,需要我们自行标注。

1.4.5监督学习

如果习题集带标准答案,则此时的学习算法称作监督学习。监督学习算法让机器先做一遍题,然后和标准答案作比较,最后根据误差纠正模型的错误
经过一次次迭代,不断地修正特征权重,提高模型的准确率,这时候,我们需要的特征的“优先级”(特征权重)也就自动求出求出来了。

这种在带有标签的数据集上迭代学习的过程称作训练,训练用到的数据集称为训练集。训练的结果是一系列参数(特征权重)或模型。利用模型,我们可以为任意一个名字计算一个值(男或女),这个过程称为预测

样本的选择对于最终模型训练的好坏影响很大。
监督学习时,要用标注数据,含有人工标注的成本。

1.4.6无监督学习

如果只让机器做题,但是不给答案,这种学习叫做无监督学习。这种不含标准答案的习题集叫做无标注(unlabeled)数据集
机器只能发现样本之间的联系,而无法学习样本与答案之间的关联。

无监督学习一般用于聚类降维,两者都不需要标注数据
聚类
一个样本属于哪个簇,由样本之间的相似度和簇的颗粒度来决定。
降维
如果样本有n个特征,则对应于n+1维空间中的一个点。为了可视化,需要降至二维或三维空间,在降维的过程中,尽量避免有效信息的损失,这就要求每个维度之间的方差尽量大。

网上有很多未标注的数据集,但是这种无监督学习无法捕捉到用户的标准,与用户心中的答案相去甚远,准确率比较低,无法达到生产要求。

1.4.7其他类型的机器学习算法

半监督学习:综合利用标注数据和丰富的未标注数据。训练多个模型,然后对同一个实例预测,会得到多个结果,进行投票,多数一致,则将该实例与结果放到一起作为新的训练样本,就这样,不断地充实训练集。----启发式半监督学习。

强化学习:现实世界中的事物往往有很长的因果链,所以需要我们正确地执行一系列彼此关联的决策,才能得到最终的成果。这类问题需要一边预测,一边根据环境的反馈规划下次决策

1.5语料库

语料库是NLP领域的数据集,是我们教机器理解语言不可或缺的习题集。

1.5.1中文分词语料库

指的是由人工正确切分后的句子集合。

1.5.2词性标注语料库

指的是切分并为每个词语指定一个词性的语料。素有词性的集合叫做词性标注集。

1.5.3命名实体识别语料库

通常有人名、地名和机构名。命名实体类型有什么取决于语料库制作者关心什么。

1.5.4句法分析语料库

汉语中常用的句法分析语料库有CTB(Chinese TreeBank,中文树库),里面的每个句子都经过了分词、词性标注和句法标注。

1.5.5文本分类语料库

指的是人工标注了所属分类的文章构成的语料库。以搜狗文本分类语料库为例,包含汽车、财经、IT、军事等领域。标注的过程实际上就是把许多文档整理后放到不同的文件夹中。

1.5.6语料库建设

指的是构建一分语料库的过程,分为规范制定、人员培训与人工标注三个阶段。
成熟的标注软件:brat,支持词性标注、命名实体识别和句法分析。

1.6开源工具

NLTK、CoreNLP、LTP、HanLP。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值