博舍

人工智能导论(9)——自然语言处理(Natural Language Processing) 人工智能研究领域中的什么是使用自然语言

人工智能导论(9)——自然语言处理(Natural Language Processing)

文章目录一、概述二、重点内容三、思维导图四、重点知识笔记NLP的两个核心任务NLP处理的三个分析层面NLP的主要流程语音识别机器翻译一、概述

人类利用语言进行交流、思想表达和文化传承是人类智能的重要体现。自然语言处理(NLP)是指用计算机来处理、理解以及运用人类语言,实现人机交流的目的。

本文将人工智能"自然语言处理"基础知识整理为思维导图,便于回顾和记忆。

二、重点内容简介NLP核心任务NLP主要应用领域NLP三个分析层面NLP分析流程典型应用简介语音识别机器翻译三、思维导图

四、重点知识笔记

自然语言处理(NLP)是指用计算机来处理、理解以及运用人类语言,是计算机科学与语言学的交叉学科。

从应用角度看,自然语言处理的应用有:

语音识别、文字识别文本生成、图像描述生成机器翻译:将一种语言翻译成另一种语言。知识图谱、信息抽取对话系统、问答系统文本分类、情感分析文本推荐NLP的两个核心任务自然语言理解(NaturalLanguageUnderstanding,NLU)自然语言生成(NaturalLanguageGeneration,NLG)自然语言理解(NLU):实现人机间自然语言通信意味着要使计算机既能理解自然语言文本的意义自然语言生成(NLG):以自然语言文本来表达给定的意图、思想等。

NLU的应用:

机器翻译机器客服智能音响

NLU的实现方式:

自然语言理解跟整个人工智能的发展历史类似,一共经历了3次迭代:

基于规则的方法:最早大家通过总结规律来判断自然语言的意图,常见的方法有:CFG、JSGF等。基于统计的方法:后来出现了基于统计学的NLU方式,常见的方法有:SVM、ME等。基于深度学习的方法:随着深度学习的爆发,CNN、RNN、LSTM都成为了最新的”统治者”。

Transformer是目前“最先进”的方法。BERT和GPT-2都是基于TRansformer的。

NLG的6个步骤:

内容确定–ContentDetermination文本结构–TextStructuring句子聚合–SentenceAggregation语法化–Lexicalisation参考表达式生成–ReferringExpressionGeneration|REG语言实现–LinguisticRealisation

NLG典型应用:

聊天机器人自动写新闻:对于具有明显规则的领域,比如体育新闻。目前很多新闻已经借助NLG来完成了BI报告生成NLP处理的三个分析层面

第一层面:词法分析

词法分析包括汉语的分词和词性标注这两部分。

分词:将输人的文本切分为单独的词语词性标注:为每一个词赋予一个类别类别可以是名词(noun)、动词(verb)、形容词(adjective)等属于相同词性的词,在句法中承担类似的角色。

第二层面:句法分析

句法分析是对输人的文本以句子为单位,进行分析以得到句子的句法结构的处理过程。

三种比较主流的句法分析方法:

短语结构句法体系,作用是识别出句子中的短语结构以及短语之间的层次句法关系;介于依存句法分析和深层文法句法分析之间依存结构句法体系(属于浅层句法分析),作用是识别句子中词与词之间的相互依赖关系;实现过程相对来说比较简单而且适合在多语言环境下应用,但是其所能提供的信息也相对较少深层文法句法分析,利用深层文法,对句子进行深层的句法以及语义分析例如词汇化树邻接文法,组合范畴文法等都是深层文法深层文法句法分析可以提供丰富的句法和语义信息深层文法相对比较复杂,分析器的运行复杂度也比较高,不太适合处理大规模的数据

第三个层面:语义分析

语义分析的最终目的是理解句子表达的真是语义。语义表示形式至今没有一个统一的方案。

语义角色标注(semanticrolelabeling)是目前比较成熟的浅层语义分析技术。语义角色标注一般都在句法分析的基础上完成,句法结构对于语义角色标注的性能至关重要。通常采用级联的方式,逐个模块分别训练模型分词词性标注句法分析语义分析联合模型(新发展的方法)将多个任务联合学习和解码分词词性联合词性句法联合分词词性句法联合句法语义联合等联合模型通常都可以显著提高分析质量联合模型的复杂度更高,速度也更慢。NLP的主要流程传统机器学习的NLP流程预处理特征提取词袋设计Embedding特征分类器深度学习的NLP流程预处理设计模型模型训练

预处理过程:

收集语料库(输入文本)文本清洗(文本清洗,)删除所有不相关的字符,例如任何非字母数字字符分割成单个的单词文本删除不相关的单词,例如“@”提及或网址链接将所有字符转换为小写,以便将诸如“hello”,“Hello”和“HELLO”之类的单词视为相同考虑将拼写错误或交替拼写的单词组合成单个表示(例如“cool”/“kewl”/“cooool”)考虑词性还原(将诸如“am”,“are”和“is”之类的词语简化为诸如“be”之类的常见形式)分词去掉停用词(可选)标准化和特征提取等。

英文预处理:

分词–Tokenization词干提取–Stemming词形还原–Lemmatization词性标注–PartsofSpeech命名实体识别–NER分块–Chunking

中文NLP预处理:

中文分词–ChineseWordSegmentation词性标注–PartsofSpeech命名实体识别–NER去除停用词

中文分词方法:

经典的基于词典及人工规则:适应性不强,速度快,成本低基于词典:(正向、逆向、双向最大匹配)基于规则:(词法结构)现代的基于统计和机器学习:适应性强,速度较慢,成本较高基于统计:HMM隐马尔可夫模型基于机器学习:CRF条件随机场

自然语言典型工具和平台

NLTK:全面的python基础NLP库。StanfordNLP:学界常用的NLP算法库。中文NLP工具:THULAC、哈工大LTP、jieba分词。语音识别

将人类语音中的词汇内容转换为计算机可读的输入。

语音识别系统的分类主要有:

孤立和连续语音识别系统(主流为连续语音识别)以单字或单词为单位的孤立的语音识别系统自然语言只是在句尾或者文字需要加标点的地方有个间断,其他部分都是连续的发音特定人和非特定人语音识别系统特定人语音识别系统在前期需要大量的用户发音数据来训练模型。非特定人语音识别系统则在系统构建成功后,不需要事先进行大量语音数据训练就可以使用大词汇量和小词汇量语音识别系统嵌入式和服务器模式语音识别系统

语音识别的过程

语音识别系统一般可以分为前端处理和后端处理两部分:

前端包括语音信号的输入预处理:滤波、采样、量化特征提取后端是对数据库的搜索过程训练:对所建模型进行评估、匹配、优化,之后获得模型参数识别

语音识别的过程:

根据人的语音特点建立语音模型对输入的语音信号进行分析,并抽取所需的特征,建立语音识别所需要的模板将语音模板与输入的语音信号的特征进行比较,找出一与输入语音匹配最佳的模板通过查表和判决算法给出识别结果

显然识别结果的准确率与语音特征的选择、语音模型和语音模板的好坏及准确度有关。

语音识别系统的性能受多个因素的影响

不同的说话人不同的语言同一种语言不同的发音和说话方式等

提高系统的稳定性就是要提高系统克服这些因素的能力,使系统能够适应不同的环境。

声学模型是识别系统的底层模型,并且是语音识别系统中最关键的一部分。声学模型的目的是提供一种有效的方法来计算语音的特征矢量序列和各发音模板之间的距离。

语音识别关键技术

语音特征提取常见的语音特征提取算法有MFCC、FBank、LogFBank等声学模型与模式匹配声学模型:对应于语音音节频率的计算,输出计算得到的声学特征模式匹配:在识别时将输入的语音特征与声学特征同时进行匹配和比较目前采用的最广泛的建模技术是隐马尔可夫模型(HiddenMarkovModel,HMM)。语音模型与语义理解进行语法、语义分析语言模型会计算音节到字的概率主要分为规则模型和统计模型语音模型的性能通常通过交叉熵和复杂度来表示,交叉熵表示交叉熵表示用该模型对文本进行识别的难度复杂度是指用该模型表示这个文本平均的分支数,其倒数可以看成是每个词的平均概率机器翻译

机器翻译就是让机器模拟人的翻译过程,利用计算机自动地将一种自然语言翻译为另一种自然语言。

在机器翻译领域中出现了很多研究方法,包括:

直接翻译方法句法转换方法中间语言方法基于规则的方法基于语料库的方法基于实例的方法(含模板与翻译记忆方法)基于统计的方法基于深度学习的方法等

机器翻译过程:

原文输入:按照一定的编码转换成二进制。原文分析(查词典和语法分析)查词典:词在语法类别上识别为单功能的词,在词义上成为单义词(某些介词和连词除外)语法分析:进一步明确某些词的形态特征。找出动词词组、名词词组、形容词词组等译文综合(调整词序与修辞以及从译文词典中取词)任务1:把应该以为的成分调动一下首先加工间接成分:从前向后依次取词加工,从句子的最外层向内加工。其次加工直接成分:依据成分取词加工,对于复句还需要对各分句进行加工。任务2:修辞加工根据修辞的要求增补或删掉一些词。例如英语中的冠词、数次翻译汉语,加上"个"、“只”。任务3:查目标语言词典,找出目标语言文字的代码。译文输出将目标语言的代码转换成文字,打印出译文来

通用翻译模型:

GNMT(GoogleNeuralMachineTranslation)基于网页和App的神经网络机器翻译完全基于注意力机制的编解码器模型TransformerTransformer的升级版—UniversalTransformer

在Transformer出现之前,多数神经基于神经网络的翻译模型都使用RNN。RNN训练起来很慢,长句子很难训练好。UniversalTransformer模型具有了通用计算能力,在更多任务中取得了有力的结果。UniversalTransformer的训练和评估代码已开源在了Tensor2Tensor网站。

个人总结,部分内容进行了简单的处理和归纳,如有谬误,希望大家指出,持续修订更新中。

修订历史版本见:https://github.com/hustlei/AI_Learning_MindMap

人工智能的研究及应用领域(1)

在大多数学科中存在着几个不同的研究领域,每个领域都有其特有的感兴趣的研究课题、研究技术和术语。在人工智能中,这样的领域包括自然语言处理、自动定理证明、自动程序设计、智能检索智能调度、机器学习、机器人学、专家系统、智能控制、模式识别、视觉系统、神经网络、agent、计算智能、问题求解、人工生命、人工智能方法和程序设计语言等。在过去50多年中,已经建立了一些具有人工智能的计算机系统,例如,能够求解微分方程的,下棋的,设计分析集成电路的,合成人类自然语言的,检索情报的,诊断疾病以及控制太空飞行器、地面移动机器人和水下机器人的具有不同程度人工智能的计算机系统。

值得指出的是,正如不同的人工智能子领域不是完全独立的一样,这里简介的各种智能特性也不是互不相关的。把它们分开来介绍只是为了便于指出现有的人工智能程序能够做些什么和还不能做什么。大多数人工智能研究课题都涉及许多智能领域。

 

1.问题求解与博弈

人工智能的第一个大成就是发展了能够求解难题的下棋(如国际象棋)程序(已在本章1.2.3节有详细介绍)。在下棋程序中应用的某些技术,如向前看几步,并把困难的问题分成一些比较容易的子问题,发展成为搜索和问题消解(归约)这样的人工智能基本技术。

通用人工智能是人工智能领域的一项重大挑战,其目标是让机器能够像人一样完成各种各样的任务。具体到游戏领域通用对弈游戏(generalgameplaying,GGP)致力于开发一种能够以人类水准玩任意已知或未知游戏的人工智能系统。IBM的超级计算机“深蓝”战胜国际象棋冠军卡斯帕罗夫标志着人工智能到达了一个新的高度。然而,“深蓝”的智能至少在两个方面还存在局限性:其一是只能玩国际象棋这一种游戏不具有通用性;其二是依赖于大量的人类游戏经验,不具有完全自主学习的能力。GGP研究的目标就是突破这些局限,它设置的环境要求机器必须在没有人类游戏经验的指导下玩各种各样的游戏。因此,GGP研究的进展反映了机器游戏智能在通用性和自主学习方面的发展,GGP比赛则成为一种评价机器游戏智能的标准。

今天的计算机程序能够下锦标赛水平的各种方盘棋、十五子棋、中国象棋和国际象棋,并取得前面提到的计算机棋手战胜国际和国家象棋冠军的成果。另一种问题求解程序把各种数学公式符号汇编在一起,其性能达到很高的水平,并正在为许多科学家和工程师所应用。有些程序甚至还能够用经验来改善其性能。

如前所述,这个问题中未解决的问题包括人类棋手具有的但尚不能明确表达的能力,如国际象棋大师们洞察棋局的能力。另一个未解决的问题涉及问题的原概念,在人工智能中叫做问题表示的选择。人们常常能够找到某种思考问题的方法从而使求解变易而解决该问题。到目前为止,人工智能程序已经知道如何考虑它们要解决的问题,即搜索解答空间,寻找较优的解答。

 

2.逻辑推理与定理证明

早期的逻辑演绎研究工作与问题和难题的求解相当密切。已经开发出的程序能够借助于对事实数据库的操作来“证明”断定;其中每个事实由分立的数据结构表示,就像数理逻辑中由分立公式表示一样。与人工智能的其他技术的不同之处是,这些方法能够完整和一致地加以表示。也就是说,只要本原事实是正确的,那么程序就能够证明这些从事实得出的定理,而且也仅仅是证明这些定理。

逻辑推理是人工智能研究中最持久的子领域之一。特别重要的是要找到一些方法,只把注意力集中在一个大型数据库中的有关事实上,留意可信的证明,并在出现新信息时适时修正这些证明。

对数学中臆测的定理寻找一个证明或反证,确实称得上是一项智能任务。为此不仅需要有根据假设进行演绎的能力,而且需要某些直觉技巧。但是至少在当前,人工智能在数学推理中的表现显得并不尽如人意。这种推理对人工系统具有很大的挑战性,因为它不仅仅涉及处理数字,还需要一套认知能力,包括学习基本公理以及以正确的顺序进行推理、计划和做事的能力。

3.计算智能

计算智能(computationalintelligence)涉及神经计算、模糊计算、进化计算、粒群计算、自然计算、免疫计算和人工生命等研究领域。

进化计算(evolutionarycomputation)是指一类以达尔文进化论为依据来设计、控制和优化人工系统的技术和方法的总称,它包括遗传算法(geneticalgorithm)、进化策略(evolutionarystrategy)和进化规划(evolutionaryprogramming)。自然选择的原则是适者生存,即物竞天择,优胜劣汰。

自然进化的这些特征早在20世纪60年代就引起了美国的霍兰(Holland)的极大兴趣。受达尔文进化论思想的影响,他逐渐认识到在机器学习中,为获得一个好的学习算法,仅靠单个策略的建立和改进是不够的,还要依赖于一个包含许多候选策略的群体的繁殖。他还认识到,生物的自然遗传现象与人工自适应系统行为的相似性,因此他提出在研究和设计人工自主系统时可以模仿生物自然遗传的基本方法。70年代初,霍兰提出了“模式理论”,并于1975年出版了《自然系统与人工系统的自适应》专著,系统地阐述了遗传算法的基本原理,奠定了遗传算法研究的理论基础。

遗传算法、进化规划、进化策略具有共同的理论基础,即生物进化论,因此,把这三种方法统称为进化计算,而把相应的算法称为进化算法。

人工生命是1987年提出的,旨在用计算机和精密机械等人工媒介生成或构造岀能够表现自然生命系统行为特征的仿真系统或模型系统。自然生命系统行为具有自组织、自复制、自修复等特征以及形成这些特征的混沌动力学、进化和环境适应。

人工生命的理论和方法有别于传统人工智能和神经网络的理论和方法。人工生命把生命现象所体现的自适应机理通过计算机进行仿真,对相关非线性对象进行更真实的动态描述和动态特征研究人工生命学科的研究内容包括生命现象的仿生系统、人工建模与仿真、进化动力学、人工生命的计算理论、进化与学习综合系统以及人工生命的应用等。

 

4.分布式人工智能与Agent

分布式人工智能(DistributedAI,DAI)是分布式计算与人工智能结合的结果。DAI系统以鲁棒性作为控制系统质量的标准,并具有互操作性,即不同的异构系统在快速变化的环境中具有交换信息和协同工作的能力。

分布式人工智能的研究目标是要创建一种能够描述自然系统和社会系统的精确概念模型。DAI中的智能并非独立存在的概念,只能在团体协作中实现,因而其主要研究问题是各agent间的合作与对话,包括分布式问题求解和多agent系统(Multi-AgentSystem,MAS)两领域MAS更能体现人类的社会智能,具有更大的灵活性和适应性,更适合开放和动态的世界环境,因而倍受重视,已成为人工智能乃至计算机科学和控制科学与工程的研究热点。MAS解决实际问题的方式可以理解为一种基于agent的协作问题,而分布式约束则可以描述领域对象的性质、相互关系、任务要求、目标,因此可以作为一种有效的方法表示这种agent间的协作关系。

 

(人工智能知识系列由樊重俊教授人工智能团队编写,转发本文请标明作者与出处。欢迎关注,带你一起长知识!)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇