导读:在人类社会中,语言扮演着重要的角色,语言是人类区别于其他动物的根本标志,没有语言,人类的思维无从谈起,沟通交流更是无源之水。
所谓“自然”乃是寓意自然进化形成,是为了区分一些人造语言,类似C++、Java等人为设计的语言。
NLP的目的是让计算机能够处理、理解以及运用人类语言,达到人与计算机之间的有效通讯。
作者:涂铭 刘祥 刘树春
本文摘编自《Python自然语言处理实战:核心技术与算法》,如需转载请联系我们
01 什么是NLP
1. NLP的概念
NLP(Natural Language Processing,自然语言处理)是计算机科学领域以及人工智能领域的一个重要的研究方向,它研究用计算机来处理、理解以及运用人类语言(如中文、英文等),达到人与计算机之间进行有效通讯。
在一般情况下,用户可能不熟悉机器语言,所以自然语言处理技术可以帮助这样的用户使用自然语言和机器交流。从建模的角度看,为了方便计算机处理,自然语言可以被定义为一组规则或符号的集合,我们组合集合中的符号来传递各种信息。
这些年,NLP研究取得了长足的进步,逐渐发展成为一门独立的学科,从自然语言的角度出发,NLP基本可以分为两个部分:自然语言处理以及自然语言生成,演化为理解和生成文本的任务,如图所示。
▲NLP的基本分类
自然语言的理解是个综合的系统工程,它又包含了很多细分学科,有代表声音的音系学,代表构词法的词态学,代表语句结构的句法学,代表理解的语义句法学和语用学。
音系学:指代语言中发音的系统化组织。
词态学:研究单词构成以及相互之间的关系。
句法学:给定文本的哪部分是语法正确的。
语义学:给定文本的含义是什么?
语用学:文本的目的是什么?
语言理解涉及语言、语境和各种语言形式的学科。而自然语言生成(Natural Language Generation,NLG)恰恰相反,从结构化数据中以读取的方式自动生成文本。该过程主要包含三个阶段:
文本规划:完成结构化数据中的基础内容规划
语句规划:从结构化数据中组合语句来表达信息流
实现:产生语法通顺的语句来表达文本
2. NLP的研究任务
NLP可以被应用于很多领域,这里大概总结出以下几种通用的应用:
机器翻译:计算机具备将一种语言翻译成另一种语言的能力。
情感分析:计算机能够判断用户评论是否积极。
智能问答:计算机能够正确回答输入的问题。
文摘生成:计算机能够准确归纳、总结并产生文本摘要。
文本分类:计算机能够采集各种文章,进行主题分析,从而进行自动分类。
舆论分析:计算机能够判断目前舆论的导向。
知识图谱:知识点相互连接而成的语义网络。
机器翻译是自然语言处理中最为人所熟知的场景,国内外有很多比较成熟的机器翻译产品,比如百度翻译、Google翻译等,还有提供支持语音输入的多国语言互译的产品。
情感分析在一些评论网站比较有用,比如某餐饮网站的评论中会有非常多拔草的客人的评价,如果一眼扫过去满眼都是又贵又难吃,那谁还想去呢?另外有些商家为了获取大量的客户不惜雇佣水军灌水,那就可以通过自然语言处理来做水军识别,情感分析来分析总体用户评价是积极还是消极。
智能问答在一些电商网站有非常实际的价值,比如代替人工充当客服角色,有很多基本而且重复的问题,其实并不需要人工客服来解决,通过智能问答系统可以筛选掉大量重复的问题,使得人工座席能更好地服务客户。
文摘生成利用计算机自动地从原始文献中摘取文摘,全面准确地反映某一文献的中心内容。这个技术可以帮助人们节省大量的时间成本,而且效率更高。
文本分类是机器对文本按照一定的分类体系自动标注类别的过程。举一个例子,垃圾邮件是一种令人头痛的顽症,困扰着非常多的互联网用户。2002年,Paul Graham提出使用“贝叶斯推断”来过滤垃圾邮件,1000封垃圾邮件中可以过滤掉995封并且没有一个是误判,另外这种过滤器还具有自我学习功能,会根据新收到的邮件,不断调整。也就是说收到的垃圾邮件越多,相对应的判断垃圾邮件的准确率就越高。
舆论分析可以帮助分析哪些话题是目前的热点,分析传播路径以及发展趋势,对于不好的舆论导向可以进行有效的控制。
知识图谱(Knowledge Graph/Vault)又称科学知识图谱,在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。知识图谱的一般表现形式如图