自然语言处理—初始自然语言处理技术—走进自然语言处理

(一) 自然语言处理概念及发展

什么是自然语言处理?

自然语言处理(NLP)是计算机科学领域以及人工智能领域的一个重要的研究方向,它研究用计算机来处理、理解以及运用人类语言(如中文、英文等),达到人与计算机之间进行有效通讯。

在一般情况下,用户可能不熟悉机器语言,所以自然语言处理技术可以帮助这样的用户使用自然语言和机器交流。从建模的角度看,为了方便计算机处理,自然语言可以被定义为一组规则或符号的集合,我们组合集合中的符号来传递各种信息。

自然语言处理研究表示语言能力、语言应用的模型,通过建立计算机框架来实现这样的语言模型,并且不断完善这样的语言模型,还需要根据该语言模型来设计各种实用的系统,并且探讨这些实用技术的评测技术。

从自然语言的角度出发,如图1所示, NLP 基本可以分为两个部分:自然语言理解以及自然语言生成。

预览大图

图1 自然语言处理的两大部分 

NLP的研究任务

NLP 可以被应用于很多领域,大概可以总结出以下几种通用的应用:

1、机器翻译 机器翻译是自然语言处理中最为人所熟知的场景,主要研究计算机具备将一种语言翻译成另一种语言的能力。国内外有很多比较成熟的机器翻译产品,比如百度翻译、 Google 翻译等,还有提供支持语音输入的多国语言互译的产品(比如科大讯飞的翻译机)。

2、情感分析 情感分析主要研究计算机能够准确判断用户评论是否积极。情感分析在一些评论网站比较有用,比如某餐饮网站的评论中会有非常多客人的评价,如果一眼扫过去满眼都是又贵又难吃,那谁还想去呢?另外有些商家为了获取大量的客户不惜雇佣水军灌水,那就可以通过自然语言处理来做水军识别。此外,情感分析可以用来分析用户的评价是积极的还是消极的。

3、智能问答 智慧问答主要关注于计算机能否正确回答输入的问题。智能问答在一些电商网站有非常实际的价值,比如代替人工充当客服角色,有很多基本而且重复的问题,其实并不需要人工客服来解决,通过智能问答系统可以筛选掉大量重复的问题,使得人工座席能更好地服务客户。

4、文摘生成 文摘生成主要研究计算机能够准确归纳、总结并产生文本摘要的能力。文摘生成利用计算机自动地从原始文献中摘取文摘,全面准确地反映某一文献的中心内容。这个技术可以帮助人们节省大量的时间成本,而且效率更高。

5、文本分类 文本分类指的是计算机能够采集各种文章,进行主题分析,从而进行自动分类。具体是指机器对文本按照一定的分类体系自动标注类别的过程。

6、舆论分析 舆论分析主要关注计算机能够判断目前舆论的导向。可以帮助分析哪些话题是目前的热点,分析传播路径以及发展趋势,对于不好的舆论导向可以进行有效的控制。

7、知识图谱 知识图谱主要研究知识点相互连接而成的语义网络。具体是指用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。

NLP的发展历程

1、萌芽期(1956年以前) 1956年以前,可以看作自然语言处理的基础研究阶段。由于来自机器翻译的社会需求,这一时期进行了许多自然语言处理的基础研究,诞生了一个叫做“形式语言理论”的新领域。这一时期,虽然诸如贝叶斯方法、隐马尔可夫、最大熵、支持冋量机等经典理论和算法也均有提出,但自然语言处理领域的主流仍是基于规则的理性主义方法。

2、快速发展期 从20世纪90年代未到21世纪初,人们逐渐认识到,仅用基于规则或统计的方法是无法成功进行自然语言处理的。基于统计、基于实例和基于规则的语料库技术在这一时期开始蓬勃发展,各种处理技术开始融合自然语言处理的硏究再次繁荣。

3、突飞猛进期(2000年至今) 进入21世纪以后,自然语言处理又有了突飞猛进的变化。2006年,以 Hinton 为首的几位科学家历经近20年的努力,终于成功设计出第一个多层神经网络算法——深度学习。这是一种将原始数据通过一些简单但是非线性的模型转变成更高层次、更加抽象表达的特征学习方法,一定程度上解决了人类处理“抽象概念”这个亘古难题。目前,深度学习在机器翻译、问答系统等多个自然语言处理任务中均取得了不错的成果,相关技术也被成功应用于商业化平台中。

(二)自然语言处理相关知识的构成

NLP的基本术语

1、分词( segment ) 词是最小的能够独立活动的有意义的语言成分,英文单词之间是以空格作为自然分界符的,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记;因此,中文词语分析是中文分词的基础与关键。 中文和英文都存在分词的需求,不过相较而言,英文单词本来就有空格进行分割,所以处理起来相对方便。但是,由于中文是没有分隔符的,所以分词的问题就比较重要。分词常用的手段是基于字典的最长串匹配,据说可以解决85%的问题,但是歧义分词很难。

2、词性标注( part-of-speech tagging ) 基于机器学习的方法里,往往需要对词的词性进行标注。词性一般是指动词、名词、形容词等。标注的目的是表征词的—种隐藏状态,隐藏状态构成的转移就构成了状态转移序列。

3、命名实体识别( NER, Named Entity Recognition ) 命名实体是指从文本中识别具有特定类别的实体(通常是名词),例如人名、地名、机构名、专有名词等。

4、句法分析( syntax parsing ) 句法分析往往是一种基于规则的专家系统。当然也不是说它不能用统计学的方法进行构建,不过最初的时候,还是利用语言学专家的知识来构建的。句法分析的目的是解析句子中各个成分的依赖关系。所以,往往最终生成的结果是一棵句法分析树。句法分析可以解决传统词袋模型不考虑上下文的问题。

5、指代消解( anaphora resolution ) 中文中代词出现的频率很高,它的作用是用来表征前文出现过的人名、地名等。

6、情感识别( emotion recognition ) 所谓情感识别,本质上是分类问题,经常被应用在舆情分析等领域。情感一般可以分为两类,即正面、负面,也可以是三类,在前面的基础上,再加上中性类别。一般来说,在电商企业,情感识别可以分析商品评价的好坏,以此作为下一个环节的评判依据。通常可以基于词袋模型+分类器,或者现在流行的词量模型+ RNN 。经过测试发现,后者比前者准确率略有提升。

7、纠错( correction ) 自动纠错在搜索技术以及输入法中利用得很多。由于用户的输入出错的可能性比较大,出错的场景也比较多。所以,我们需要一个纠错系统。具体做法有很多,可以基于 N-Gram 进行纠错,也可以通过字典树、有限状态机等方法进行纠错。

8、问答系统( QA system ) 这是一种类似机器人的人工智能系统。比较著名的有:苹果 Siri 、 IBM Watson 、微软小冰等。问答系统往往需要语音识别、合成,自然语言理解、知识图谱等多项技术的配合才会实现得比较好。

NLP的知识体系

作为一门综合学科,NLP 是研究人与机器之间用自然语言进行有效通信的理论和方法。这需要很多跨学科的知识,如图1所示,需要语言学、统计学、最优化理论、机器学习、深度学习以及自然语言处理相关理论模型知识做基础。

下面简单介绍一下NLP的知识体系:

1、句法语义分析 针对目标句子,进行各种句法分析,如分词、词性标记、命名实体识别及链接、句法分析、语义角色识别和多义词消歧等。

2、关键词抽取 抽取目标文本中的主要信息,比如从一条新闻中抽取关键信息。主要是了解是谁、于何时、为何、对谁、做了何事、产生了有什结果。涉及实体识别、时间抽取、因果关系抽取等多项关键技术。

3、文本挖掘 主要包含了对文本的聚类、分类、信息抽取、摘要、情感分析以及对挖掘的信息和知识的可视化、交互式的呈现界面。

4、机器翻译 将输入的源语言文本通过自动翻译转化为另一种语言的文本根据输入数据类型的不同,可细分为文本翻译、语音翻译、手语翻译、图形翻译等。

5、信息检索 对大规模的文档进行索引。可简单对文档中的词汇,赋以不同的权重来建立索引,也可使用算法模型来建立更加深层的索引。查询时,首先对输入进行分析,然后在索引里面査找匹配的候选文档,再根据排序机制把候选文档排序,最后输岀排序得分最高的文档。

6、问答系统 针对某个自然语言表达的问题,由问答系统给出一个精准的答案。需要对自然语言查询语句进行语义分析,包括实体链接、关系识别,形成逻辑表达式,然后到知识库中查找可能的候选答案并通过一个排序机制找出最佳的答案。

7、对话系统 系统通过多回合对话,跟用户进行聊天、回答、完成某项任务。主要涉及用户意图理解、通用聊天引擎、问答引擎、对话管理等技术。此外,为了体现上下文相关,要具备多轮对话能力。同时,为了体现个性化,对话系统还需要基于用户画像做个性化回复。

常用语料库

语料库是我们在进行 NLP 实践开发必不可少的工具,常见的语料库有:

1、维基百科 维基百科是最常用且权威的开放网络数据集之一,作为极少数的人工编辑、内容丰富、格式规范的文本语料,各类语言的维基百科在 NLP 等诸多领域应用广泛。维基百科提供了开放的词条文本整合下载,可以找到你需要的指定时间、指定语言、指定类型、指定内容的维基百科数据。

2、IMDB 情感分析语料库 互联网电影资料库( Internet Movie Database,简称 IMDB )是一个关于演员、电影、电视节目、电视明星和电影制作的在线数据库。 IMDB 的资料中包括了影片的众多信息、演员片长、内容介绍、分级、评论等。对于电影的评分目前使用最多的就是 IMDB 评分。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值