编者按:本文由微信公众号“机器之心”(ID:almosthuman2014)编译,选自xenonstack,参与:黄小天、李亚洲;36氪经授权发布。
近日,Xenonstack 上推出了一篇名为《Overview of Artificial Intelligence and Role of Natural Language Processing in Big Data》文章,作者为 Jagreet Kaur,其全面概述了人工智能及其各个细分领域的状况,并着重介绍了大数据和自然语言处理的发展,对自然语言处理在大数据中扮演的角色作了探讨。机器之心对文章进行了编译,原文链接附于文末。
AI 指代「人工智能」,是让机器能够像人类一样完成智能任务的技术。AI 使用智能完成自动化任务。
「人工智能」包含两个关键点:
自动化
智能
人工智能的目标
推理
自动学习&调度
机器学习
自然语言处理
计算机视觉
机器人
通用智能
人工智能三大阶段
阶段 1——机器学习:智能系统使用一系列算法从经验中进行学习。
阶段 2——机器智能:机器使用的一系列从经验中进行学习的高级算法,例如深度神经网络。
人工智能目前处于此阶段。
阶段 3——机器意识:不需要外部数据就能从经验中自学习。
人工智能的类型
ANI(狭义人工智能):它包含基础的、角色型任务,比如由 Siri、Alexa 这样的聊天机器人、个人助手完成的任务。
AGI(通用人工智能):通用人工智能包含人类水平的任务,它涉及到机器的持续学习。
ASI(强人工智能):强人工智能指代比人类更聪明的机器。
什么使得系统智能化?
自然语言处理
知识表示
自动推理
机器学习
人工智能:建立能智能化处理事物的系统。
自然语言处理:建立能够理解语言的系统,人工智能的一个分支。
机器学习:建立能从经验中进行学习的系统,也是人工智能的一个分支。
神经网络:生物学启发出的人工神经元网络。
深度学习:在大型数据集上,建立使用深度神经网络的系统,机器学习的一个分支。
什么是自然语言处理?
自然语言处理(NLP)是指机器理解并解释人类写作、说话方式的能力。
NLP 的目标是让计算机/机器在理解语言上像人类一样智能。最终目标是弥补人类交流(自然语言)和计算机理解(机器语言)之间的差距。
下面是三个不同等级的语言学分析:
句法学:给定文本的哪部分是语法正确的。
语义学:给定文本的含义是什么?
语用学:文本的目的是什么?
NLP 处理语言的不同方面,例如:
音韵学:指代语言中发音的系统化组织。
词态学:研究单词构成以及相互之间的关系。
NLP 中理解语义分析的方法:
分布式:它利用机器学习和深度学习的大规模统计策略。
框架式:句法不同,但语义相同的句子在数据结构(帧)中被表示为程式化情景。
理论式:这种方法基于的思路是,句子指代的真正的词结合句子的部分内容可表达全部含义。
交互式(学习):它涉及到语用方法,在交互式学习环境中用户教计算机一步一步学习语言。
我们为什么需要 NLP
有了 NLP,有可能完成自动语音、自动文本编写这样的任务。
由于大型数据(文本)的存在,我们为什么不使用计算机的能力,不知疲倦地运行算法来完成这样的任务,花费的时间也更少。
这些任务包括 NLP 的其他应用,比如自动摘要(生成给定文本的总结)和机器翻译。
NLP 流程
如果要用语音产生文本,需要完成文本转语音任务
NLP 的机制涉及两个流程:
自然语言理解
自然语言生成
自然语言理解(NLU)
NLU 是要理解给定文本的含义。文本内每个单词的特性与结构需要被理解。在理解结构上,NLU 要理解自然语言中的以下几个歧义性:
词法歧义性:单词有多重含义
句法歧义性:语句有多重解析树
语义歧义性:句子有多重含义
回指歧义性(Anaphoric Ambiguity):之前提到的短语或单词在后面句子中有不同的含义。
接下来,通过使用词汇和语法规则,理解每个单词的含义。
然而,有些词有类似的含义(同义词),有些词有多重含义(多义词)。
自然语言生成(NLG)
NLG 是从结构化数据中以可读地方式自动生成文本的过程。自然语言生成的问题是难以处理。
自然语言生成可被分为三个阶段:
1. 文本规划:完成结构化数据中基础内容的规划。
2. 语句规划:从结构化数据中组合语句,来表达信息流。
3. 实现:产生语法通顺的语句来表达文本。
自然语言处理是理解给定文本的含义与结构的流程。
文本挖掘或文本分析是通过模式识别提起文本数据中隐藏的信息的流程。
自然语言处理被用来理解给定文本数据的含义(语义),而文本挖掘被用来理解给定文本数据的结构(句法)。
例如,在「I found my wallet near the bank」一句中,NLP 的任务是理解句尾「bank」一词指代的是银行还是河边。
如今所有数据中的 80% 都可被用到,大数据来自于大公司、企业所存储的信息。例如,职员信息、公司采购、销售记录、经济业务以及公司、社交媒体的历史记录等。
尽管人类使用的语言对计算机而言是模糊的、非结构化的,但有了 NLP 的帮助,我们可以解析这些大型的非结构化数据中的模式,从而更好地理解里面包含的信息。
NLP 可使用大数据解决商业中的难题,比如零售、医疗、金融领域中的业务。
聊天机器人或自动智能代理
指代你能通过聊天 app、聊天窗口或语音唤醒 app 进行交流的计算机程序。
也有被用来解决客户问题的智能数字化助手,成本低、高效且持续工作。
聊天机器人的重要性
聊天机器人对理解数字化客服和频繁咨询的常规问答领域中的变化至关重要。
聊天机器人在一些领域中的特定场景中非常有帮助,特别是会被频繁问到高度可预测的的问题时。
聊天机器人的工作机制
基于知识:包含信息库,根据客户的问题回应信息。
数据存储:包含与用户交流的历史信息。
NLP 层:它将用户的问题(任何形式)转译为信息,从而作为合适的回应。
应用层:指用来与用户交互的应用接口。
聊天机器人每次与用户交流时都能进行学习,使用机器学习回应信息库中的信息。
它使用基于规则的方法将单词表示为「one-hot」编码向量。
传统的方法注重句法表征,而非语义表征。
词袋:分类模型不能够分别特定语境。
深度学习的三项能力
可表达性:这一能力描述了机器如何能近似通用函数。
可训练性:深度学习系统学习问题的速度与能力。
可泛化性:在未训练过的数据上,机器做预测的能力。
在深度学习中,当然也要考虑其他的能力,比如可解释性、模块性、可迁移性、延迟、对抗稳定性、安全等。但以上是主要的几项能力。
NLP 中深度学习的常见任务
传统 NLP 和深度学习 NLP 的区别
什么是日志?
不同网络设备或硬件的时序信息集合表示日志。日志可直接存储在硬盘文档中,也可作为信息流传送到日志收集器。
日志提供维持、追踪硬件表现、参数调整、紧急事件、系统修复、应用和架构优化的过程。
什么是日志分析?
日志分析是从日志中提取信息的过程,分析信息中的句法和语义,解析应用环境,从而比较分析不同源的日志文档,进行异常检测、发现关联性。
什么是日志挖掘?
日志挖掘或日志知识发现是提取日志中模式和关联性的过程,从而挖掘知识,预测日志中的异常检测。
日志分析和日志挖掘中使用到的技术
下面介绍了完成日志分析的不同技术:
模式识别:将日志信息与模式薄中的信息进行对比,从而过滤信息的技术。
标准化:日志信息的标准化是将不同的信息转换为同样的格式。当来自不同源的日志信息有不同的术语,但含义相同时,需要进行标准化。
分类 & 标签:不同日志信息的分类 & 标签涉及到对信息的排序,并用不同的关键词进行标注。
Artificial Ignorance:使用机器学习算法抛弃无用日志信息的技术。它也可被用来检测系统异常。
日志分析 & 日志挖掘中的 NLP
自然语言处理技术被普遍用于日志分析和日志挖掘。
词语切分、词干提取(stemming)、词形还原(lemmatization)、解析等不同技术被用来将日志信息转换成结构化的形式。
一旦日志以很好的形式组织起来,日志分析和日志挖掘就能提取信息中有用的信息和知识。
自然语言处理是一个复杂的领域,处于人工智能、计算语言学和计算机科学的交叉领域。
从 NLP 开始
用户需要输入一个包含已写文本的文件;接着应该执行以下 NLP 步骤:
语句分割 - 在给定文本中辨识语句边界,即一个语句的结束和另一个语句的开始。语句通常以标点符号「.」结束。
标记化 - 辨识不同的词、数字及其他标点符号。
词干提取 - 将一个词还原为词干。
词性标注 - 标出语句中每一个词的词性,比如名词或副词。
语法分析 - 将给定文本的部分按类划分。
命名实体识别 - 找出给定文本中的人物、地点、时间等。
指代消解 - 根据一个语句的前句和后句界定该句中给定词之间的关系。
除了在大数据、日志挖掘及分析中的应用,NLP 还有一些其他主要应用领域。
尽管 NLP 不如大数据、机器学习听起来那么火,但我们每天都在使用它:
自动摘要 - 在给定输入文本的情况下,摈弃次要信息完成文本摘要。
情感分析 - 在给定文本中预测其主题,比如,文本中是否包含判断、观点或评论等。
文本分类 - 按照其领域分类不同的期刊、新闻报道。多文档分类也是可能的。文本分类的一个流行示例是垃圾电子邮件检测。基于写作风格,可检测作者姓名。
信息提取 - 建议电子邮件程序自动添加事件到日历。
原文链接