精华内容
下载资源
问答
  • 自然语言理解技术与智能问答实践.pdf
  • 《人工智能》之《自然语言理解》1 自然语言理解概述1.1 什么是自然语言处理?1.2 自然语言处理的发展历程1.3 自然语言处理方法论1.4 自然语言理解的研究领域和方向1.5 自然语言处理的现状、难点与瓶颈歧义病构1.6 ...

    教材:《人工智能及其应用》,蔡自兴等,2016m清华大学出版社(第5版)

    参考书:
    在这里插入图片描述

    1 自然语言理解概述

    1.1 什么是自然语言处理?

    自然语言处理(Natural Language Processing,NLP)是用计算机通过可计算的方法对自然语言的各级语言单位(字、词、语句、篇章等等)进行转换、传输、存贮、分析等加工处理的理论和方法。
    在这里插入图片描述

    1.2 自然语言处理的发展历程

    在这里插入图片描述

    1.3 自然语言处理方法论

    机器能够理解人的语言吗?
    在这里插入图片描述
    自然语言处理的两种主义:理性主义、经验主义。

    • 一种是以基于知识的方法为代表的理性主义方法,该方法以语言学理论为基础,强调语言学家对语言现象的认识,采用非歧义的规则形式描述或解释歧义行为或歧义特性。
    • 一种是以基于语料库的统计分析为基础的经验主义方法,该方法更注重用数学方法,从能代表自然语言规律的大规模真实文本中发现知识,抽取语言现象或统计规律。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    1.4 自然语言理解的研究领域和方向

    • 文字识别(Optical character recognition,OCR)
    • 语音识别(Speech recognition)
    • 机器翻译(Machine translation)
    • 问答系统(Question answering system)
    • 自动文摘(Automatic summarization或automatic abstracting)
    • 信息检索(Information retrieval)
    • 语音合成(Speech synthesis)
    • 自然语言生成(Natural language generation)

    1.5 自然语言处理的现状、难点与瓶颈

    自然语言处理的现状:

    • 仍然缺乏理论基础
    • 词汇句法方面的问题尚未解决,已开始挑战语义、知识等深层课题
    • 语音识别中采用的统计语言模型推动了NLP的发展,目前的统计模型在向语言深层发展
    • 本体论( 知识图谱)受到普遍重视
    • Bert 、GPT3大数据深度学习取得突破性进展

    自然语言处理的难点:

    • 歧义(ambiguity)
    • 病构(ill-formedness)

    歧义

    在这里插入图片描述
    在这里插入图片描述

    病构

    在这里插入图片描述

    自然语言处理的瓶颈:
    在这里插入图片描述

    1.6 语言与语言理解

    自然语言是音义结合的词汇和语法体系。词汇是语言的基本单位,它在语法的支配下可构成有意义和可理解的句子,句子再按一定的形式构成篇章等。其结构如下图所示:
    在这里插入图片描述
    词汇是语言的基本单位。熟语是指一些词的固定组合,如汉语中的成语。词又由词素构成,词素是构成词的最小有意义的单位。如“学生”是由“学”和“生”这两个词素构成的。

    语法是语言的组织规律。词法是用词素或熟语构成词的规则,可分为构形法和构词法。构形法是指单数复数等,学生,学生们。造句法是用词和词组构造句子的规则。

    1.7 自然语言理解过程的层次

    语言虽然表示成一连串的文字符号或者一串声音流,但其内部实际上是一个层次化的结构,从语言的构成中就可以清楚地看到这种层次性。

    一个文字表达的句子是由词素→词或词形→词组或句子构成。

    一个声音表达的句子则是由音素→音节→音词→音句构成。

    其中每个层次都受到语法规则的制约。因此,语言的分析和理解过程也应当是一个层次化的过程。

    1.7.1 语音分析

    在这里插入图片描述

    1.7.2 词法分析

    在这里插入图片描述

    1.7.3 句法分析

    在这里插入图片描述
    在这里插入图片描述

    1.7.4 语义分析

    研究如何从一个语句中词的意义,以及这些词在该语句中句法结构中的作用来推导出该语句的意义。
    在这里插入图片描述

    1.7.5 语用分析

    研究在不同上下文中语句的应用,以及上下文对语句理解所产生的影响。从狭隘的语言学观点看,语用学处理的是语言结构中有形式体现的那些语境。
    在这里插入图片描述

    2 词法分析

    在这里插入图片描述

    3 句法分析

    3.1 短语结构语法

    在这里插入图片描述
    在这里插入图片描述

    3.2 乔姆斯基形式语法

    在这里插入图片描述

    上下文无关文法

    上下文无关文法(Context-free Grammars)是乔姆斯基提出的一种对自然语言语法知识进行形式化描述的方法。在这种文法中,语法知识是用重写规则表示的。作为例子,下面给出了一个英语的很小的子集。
    在这里插入图片描述
    这就是一个英语子集的上下文无关文法。在该文法中,“语句”是一个特殊的非终极符,称为起始符。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.3 转移网络

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    寻找各种可能的路径:

    1. 并行算法。并行算法的关键是在任何一个状态都要选择所有可以到达下一个状态的弧,同时进行试验。
    2. 回溯算法。回溯算法则是在所有可以通过的弧中选出一条往下走,并保留其他可能性,以便必要时可以回过来选择之。这种方式需要一个堆栈结构。

    在这里插入图片描述

    4 语义分析

    在这里插入图片描述

    4.1 语义分析的典型应用

    4.1.1 机器翻译

    在这里插入图片描述
    统计翻译系统框架:Transformer
    在这里插入图片描述

    4.1.2 问答系统

    在这里插入图片描述
    在这里插入图片描述

    4.1.3 语音识别

    在这里插入图片描述

    5 词向量表示

    5.1 词向量的定义

    词向量是自然语言中的词语在机器学习中的表示符号。

    在这里插入图片描述

    在这里插入图片描述

    5.2 语言模型

    在这里插入图片描述
    近年来,人们在寻找最适合自然语言处理的模型上的探索:
    在这里插入图片描述

    5.3 各种词向量及其特点

    在这里插入图片描述
    词向量(又叫词嵌入)已经成为NLP领域各种任务的必备一步,而且随着 elmo, bert, gpt 等预训练模型的发展,词向量演变为知识表示方法。

    5.3.1 word2vec

    word2vec来源于2013年的论文《Efficient Estimation of Word Representation in Vector Space》.

    核心思想:利用神经网络对词的上下文训练得到词的向量化表示。

    训练方法:

    • CBOW(通过附近词预测中心词)
    • Skip-gram(通过中心词预测附近的词)

    在这里插入图片描述

    CBOW(Continuous Bag of Words)

    基本思想:基于N-Gram,用词语w的上下文作为输入,预测中心词语w。

    example:
    我爱计算机,窗口为2时,训练集可以构造为:
    输入:{我,爱,算,机}
    输出:计

    在这里插入图片描述
    在这里插入图片描述
    Skip-Gram

    基本思想:基于N-Gram,用词语w作为输入,预测词语的上下文。

    example:
    我爱计算机,窗口为2时,训练集可以构造为
    输入:{计} 输出:{我,爱,算,机}

    在这里插入图片描述
    Skip-Gram跟CBOW的原理相似,它的输入是目标词,先是将目标词映射为一个隐藏层向量,根据这个向量预测目标词上下文两个词。

    CBOW和Skip-Gram对比:
    在这里插入图片描述

    展开全文
  • 自然语言理解与“智能”一样,存在各种各样的理解和解释,是利用计算机对自然语言进行理解。 自然语言理解的准则:给计算机输入一段自然语言为本,如果计算机能问答——计算机能正确地回答输入文本中的有关问题; ...

    什么是自然语言理解?自然语言理解的准则是什么?

    自然语言理解与“智能”一样,存在各种各样的理解和解释,是利用计算机对自然语言进行理解。
    自然语言理解的准则:给计算机输入一段自然语言为本,如果计算机能问答——计算机能正确地回答输入文本中的有关问题;
    文摘生成——机器有能力产生输入为本的摘要;
    释义——机器用不同的词语和语句复述输入文本;
    翻译——机器把一种语言(源语言)翻译为另一种语言(目标语言)

    展开全文
  • 人工智能:第十一章 自然语言理解

    千次阅读 2015-12-08 09:14:56
    自然语言理解 教学内容:自然语言理解的一般概念、句法和语法的自动分析原理、句子的自动理解方法和语言的自动生成等。 教学重点:句法模式匹配、语义的分析、句子的自动理解和语言的自动生成。 教学难点:转移...
     
    

    第十一章自然语言理解

    教学内容:自然语言理解的一般概念、句法和语法的自动分析原理、句子的自动理解方法和语言的自动生成等。

    教学重点:句法模式匹配、语义的分析、句子的自动理解和语言的自动生成。

    教学难点:转移网络、词汇功能语法(LFG)。

    教学方法:课堂教学为主。注意结合学生已学的内容,及时提问、收集学生学习的情况。并充分利用网络课程中的多媒体素材来表示比较抽象的概念。

    教学要求:掌握句法分析方法,掌握句子的自动理解,初步了解语言的自动生成,一般了解自然语言理解系统的应用实例。

    11.1 语言及其理解的一般问题

    教学内容:本小节主要讨论自然语言理解的概念、发展简史以及系统组成与模型等。

    教学重点:语言和语言理解的概念、自然语言理解系统的模型。

    教学难点:自然语言理解与人类智能的关系、理解自然语言的计算机系统的组成方式。

    教学方法:课堂教学为主,结合网络课程中的多媒体素材来讲述。

    教学要求:掌握语言和语言理解的概念、自然语言理解过程的四个层次;一般了解自然语言理解研究的国内外进展。

    11.1.1 语言与语言理解

    1、语言的构成

      语言是人类进行通信的自然媒介,它包括口语、书面语以及动作语(如哑语和旗语)等。语言由语句组成,每个语句又由单词组成;组成语句和语言时,应遵循一定的语法与语义规则。

      语言是音义结合的词汇和语法体系,是实现思维活动的物质形式。

      语言是以词为基本单位的,词汇又受到语法的支配才可构成有意义的和可理解的句子,句子按一定的形式再构成篇章等。

      语法是语言的组织规律。语法规则制约着如何把词素构成词,词构成词组和句子。语言正是在这种严密的制约关系中构成的。用词素构成词的规则叫构词规则。语法中的另一部分就是句法。句法也可分成两部分:词组构造法和造句法。词组构造法是词搭配成词组的规则。造句法则是用词或词组造句的规则。

      图11.1就是上述构造的一个完整的图解。

     

    11.1语言的构成

      另一方面,语言是音义结合的,每个词汇有其语音形式。自然语言中所涉及的音素并不多,一种语言一般只有几十个音素。由一个发音动作所构成的最小的语音单位就是音素。

    提问:构成词的最小的有意义的单位是什么?

    举例:列举几个由词素构成词的例子,“教师”、“teacher”等。

     

    2、语言的理解

      从微观上讲,语言理解是指从自然语言到机器(计算机系统)内部之间的一种映射。从宏观上看,语言理解是指机器能够执行人类所期望的某些语言功能。这些功能包括:

    1. (1) 回答有关提问;

      (2) 提取材料摘要;

      (3) 不同词语叙述;

      (4) 不同语言翻译。

      对自然语言的理解却是一个十分艰难的任务。自然语言不仅有语义、语法和语音问题,而且还存在模糊性等问题。

      具体地说,自然语言理解的困难是由下列3个因素引起的:

    1. (1) 目标表示的复杂性;

      (2) 映射类型的多样性;

      (3) 源表达中各元素间交互程度的差异性。

      自然语言理解是语言学、逻辑学、生理学、心理学、计算机科学和数学等相关学科发展和结合而形成的一门交叉学科;它能够理解口头语言或书面语言。

      语言理解包括下列几个方面的内容:

      (1) 能够理解句子的正确词序规则和概念,又能理解不含规则的句子。

      (2) 知道词的确切含义、形式、词类及构词法。

      (3) 了解词的语义分类以及词的多义性和歧义性。

      (4) 指定和不定特性及所有(隶属)特性。

      (5) 问题领域的结构知识和时间概念。

      (6) 语言的语气信息和韵律表现。

      (7) 有关语言表达形式的文学知识。

      (8) 论域的背景知识。

    思考题:什么是语言和语言理解?

      

    11.1.2 自然语言理解研究的进展

      随着计算机技术和人工智能总体技术的发展,自然语言理解不断取得进展。

      机器翻译是自然语言理解最早的研究领域。由于早期研究中理论和技术的局限,所开发的机译系统的技术水平较低,不能满足实际应用的要求。

      到了70年代初期,对语言理解对话系统的研究取得进展。伍兹(Woods)LUNAR系统、威诺甘德(Winogand)SHRDLU系统和香克(Schank)MARGIE系统等是语言理解对话系统的典型实例。

      进入80年代之后,自然语言理解的应用研究广泛开展,机器学习研究又十分活跃,并出现了许多具有较高水平的实用化系统。这些系统是自然语言理解研究的重要成果,表明自然语言理解在理论上和应用上取得了突破性进展。

      自然语言是表示知识最为直接的方法。因此,自然语言理解的研究也为专家系统的知识获取提供了新的途径。此外,自然语言理解的研究已促进计算机辅助语言教学(CALI)和计算机语言设计(CLD)等的发展。

    11.1.3 自然语言理解过程的层次

      语言的分析和理解过程是一个层次化的过程。现代语言学家把这一过程分为3个层次:词法分析、句法分析和语义分析。如果接收到的是语音流,那么在上述3个层次之前还应当加入一个语音分析层。虽然这种层次之间并非是完全隔离的,但是这种层次化的划分的确有助于更好地体现语言本身的构成。

    1、语音分析

      语音分析则是根据音位规则,从语音流中区分出一个个独立的音素,再根据音位形态规则找出一个个音节及其对应的词素或词。

    2、词法分析

      词法分析的主要目的是找出词汇的各个词素,从中获得语言学信息。

    3、句法分析

      句法分析是对句子和短语的结构进行分析。自动句法分析的方法很多,有短语结构语法、格语法、扩充转移网络、功能语法等等。句法分析的最大单位就是一个句子。分析的目的就是找出词、短语等的相互关系以及各自在句子中的作用等,并以一种层次结构来加以表达。

    4、语义分析

      语义分析就是通过分析找出词义、结构意义及其结合意义,从而确定语言所表达的真正含义或概念。在语言自动理解中,语义愈来愈成为一个重要的研究内容。

    思考题自然语言理解过程有哪些层次,各层次的功能如何?

     

    11.2 句法和语义的自动分析

    教学内容:本小节主要讨论句法和语义的自动分析问题。它们是理解自然语言的基础。

    教学重点:句法分析的方法和语义分析的步骤。

    教学难点:转移网络的实现、词汇功能语法(LFG)的理解。

    教学方法:课堂教学为主,结合网络课程中的多媒体素材来讲述。

    教学要求:重点掌握句法分析的方法和语义分析的步骤,了解转移网络的概念和用LFG语法对句子进行分析的过程。

    11.2.1 句法模式匹配和转移网络

    1、用转移网络表示句法模式

      句法模式匹配就是采用句法模式来对语言的句子进行匹配从而进行句法分析。但是自然语言是非常多样化的,因而需要有许多模式。这些模式可用状态转移图来表示,这种用状态转移图来表示的表达方式称之为转移网络(TNtransition network)。如图11.2所示,图中,q0,q1,…qT是状态,q0是初态,qT是终态。弧上给出了状态转移的条件以及转移的方向。该网络可用于分析句子也可用于生成句子。

    11.2转移网络(TN)

      用TN来识别句子The little orange ducks swallow flies的过程如表11.1

    11.1句子识别过程

    当前状态

    新状态

    the

    a

    b

    little

    b

    b

    orange

    b

    b

    ducks

    b

    c

    swallow

    c

    e

    flies

    e

    F(识别)

      这里忽略了词法分析,网络如图11.3所示

    11.3转移网络实例

    2、网络识别算法

      识别过程到达f状态(终态),所以该句子被成功地识别了。分析结果如图11.4所示。从上述过程中可以看出,这个句子还可以在网络中走其他弧,如词ducks也可以走弧,但接下来的swallow就找不到合适的弧了。此时对应于这个路径,该句子就被拒识了。由此看出,网络识别的过程中应找出各种可能的路径,因此算法要采用并行或回溯机制。

     

    11.4 TN分析树

      (1) 并行算法

      关键是在任何一个状态都要选择所有可以到达下一个状态的弧,同时进行试验。

      (2) 回溯算法

      在所有可以通过的弧中选出一条往下走,并保留其他的可能性,以便必要时可回过来选择之。

    思考题:画出下列上下文无关语法所对应的转移网络:

    SNP VP

    NPAdjective Noun

    NPDeterminer Noun PP

    NPDeterminer Noun

    VPVerb Adverb NP

    VPVerb

    VPVerb Adverb

    VPVerb PP

    PPProposition NP

     

    11.2.2 扩充转移网络

    1、扩充转移网络的构成

      扩充转移网络ATN是由伍兹(Woods)1970年提出的。ATN是由一组网络所构成的,每个网络都有一个网络名,每条弧上的条件扩展为条件加上操作。这种条件和操作采用寄存器的方法来实现,在分析树的各个成分结构上都放上寄存器,用来存放句法功能和句法特征,条件和操作将对它们不断地进行访问和设置。

      ATN的每个寄存器由两部分构成:句法特征寄存器和句法功能寄存器。在特征寄存器中,每一维特征都有一个特征名和一组特征值,以及一个缺省值来表示。功能寄存器则反映了句法成分之间的关系和功能。

      分析树的每个节点都有一个寄存器,寄存器的上半部分是特征寄存器,下半部分是功能寄存器。

    11.5所示是一个简单的名词短语(NP)的扩充转移网络,网络中弧上的条件和操作如下:

    11.5名词短语(NP)的扩充转移网络

    2、扩充转移网络示例

      该网络主要是用来检查NP中的数的一致值问题。图11.6是一个句子的ATN,主要用来识别主、被动态的句子,从中可以看到功能寄存器的应用。

    11.6句子的扩充转移网络

      网络描述如下:

      S-1

      ASubject←?/FONT>*.

      S-2

      AMain-Verb←?/FONT>*.

      S-3

      CMain-Verb.Type=BeDoHave or Modal

      AAuxs<=Main-Verb,Main-Verb←?/FONT>*.

      S-4

      D*.Form=Past-part and Main-Verb.Type=Be

      AVoice←?/FONT>Passive,Auxs<=Main-Verb,

      Main-Verb←?/FONT>*.Direct-Obj←?/FONT>Subject,

      Subject←?/FONT>dummy-NP.

      S-5:

      ADirect-Obj←?/FONT>*.

      S-6

      AModifiers<=*.

      S-7

      CVoice=Passive and Subject=dummy-NP and*.Prep=by.

      ASubject←?/FONT>*.Prep-Object.

      S-8No Conditions, actions or initializations.

      当然作为一完整的ATN是相当复杂的,在实现过程中还必须解决许多问题,如非确定性分析、弧的顺序、非直接支配关系的处理等等。ATN方法在自然语言理解的研究中得到了广泛的应用。

    11.2.3 词汇功能语法

    1、词汇功能语法的结构

      词汇功能语法(LFG)是由卡普兰和布鲁斯南(Bresnan)1982年提出的,它是一种功能语法,但是更加强调词汇的作用。LFG用一种结构来表达特征、功能、词汇和成分的顺序。

      LFG对句子的描述分为两部分:直接成分结构(Constituent Structure,简称C-Structure)和功能结构(Functional Structure,简称F-structure)C-structure是由上下文无关语法产生的表层分析结果。在此基础上经一系列代数变换产生F-structureLFG采用两种规则:加入下标的上下文无关语法规则和词汇规则。表11.2给出了一些词汇功能语法的规则和词条。

    11.2 LFG语法与词典

    Grammar rules:

    SNPVP

    (Subject)==

    NPDeterminer Noun

    VPVerb NP NP

    =(Object)=(Object-2)=

    Lexical entries

    A Determiner ( Definiteness)=Indefinite

    (Number)=Singular

    baby Noun ( Number)=Singular

    (Predicate)=Baby'

    girl Noun ( Number)=Singular

    ( Predicate)=Girl'

    handed Verb ( Tense)=Past

    ( Predicate)=Hand(Subject),(Object),

    ( Object2)

    the Determiner ( Definiteness)=Definite

    toys Noun ( Number)=Plural

    ( Predicate)=Toy'

     

    2、词汇功能语法对句子的分析过程

      用LFG语法对句子进行分析的过程如下:

      (1) 用上下文无关语法分析获得C-structure,不考虑语法中的下标;该C-structure就是一棵直接成分树;

      (2) 将各个非叶节点定义为变量,根据词汇规则和语法规则中的下标,建立功能描述(一组方程式)

      (3) 对方程式作代数变换,求出各个变量,获得功能结构F-structure

    11.2.4语义的解析

      建立句法结构只是语言理解模型中的一个步骤,进一步则要求获得语言所表达的意义。

      第一步是要确定每个词在句子中所表达的词义,这涉及到词义和句法结构上的歧义问题;

      第二步是要根据已有的背景知识来确定语义。

      逻辑形式表达是一种框架式的结构,它表达一个特定形式的事例及其一系列附加的事实,如“Jack   
    kissed Jill
    ”,可以用如下逻辑形式来表达:

      (PAST S1 KISS-ACTIONAGENT(NAME j1 PERSONJack)][THEM ENAME(NAME j2 PERSONJill))

      它表达了一个过去的事例S1PAST是一个操作符,表示结构的类型是过去的,S1是事例的名,KISS-ACTION是事例的形式,AGENTTHEME是对象的描述,有施事和主位。

    举例;已知“张经理开车去了商店”,要回答“张经理是否坐进汽车?

     

    11.3 句子的自动理解

    教学内容:本小节主要讨论简单句和复合句的理解。

    教学重点:简单句的理解方法。

    教学难点:复合句的理解方法。

    教学方法:课堂教学为主,结合网络课程中的多媒体素材来讲述。

    教学要求:重点掌握简单句的理解方法,了解复合句的理解方法。

    11.3.1 简单句的理解方法

    1、简单句理解的内容

      由于简单句是可以独立存在的,因而为了理解一个简单句,即建立起一个和该简单句相对应的机内表达,需要做以下两方面的工作:

      (1) 理解语句中的每一个词。

      (2) 以这些词为基础组成一个可以表达整个语句意义的结构。

      常常将这项工作分成以下3个部分来进行:

        (a)句法分析将单词之间的线性次序变换成一个显示单词如何与其它单词相关联的结构。

        (b)语义分析各种意义被赋于由句法分析程序所建立的结构,即在句法结构和任务领域内对象之间进行映射变换。

        (c)语用分析为确定真正含义,对表达的结构重新加以解释。

    思考:考虑下列句子

    The old mans glasses were filled with sherry.

    选择单词glasses合适的意思需要什么信息?什么信息意味着不合适的意思?

     

    2、简单句理解方法

      (1关键字匹配法

      关键字匹配法是最简单的自然语言理解方法。该方法简单归纳起来为:在程序中规定匹配和动作两种类型的样本。然后建立一种由匹配样本到动作样本的映射。当输入语句与匹配样本相匹配时,就去执行相应样本所规定的动作,这样从外表看来似乎机器真正实现了能理解用户问话的目的。

      (2句法分析树法

      关于文法的形式,在许多自然语言处理程序中提出过很多各不相同的定义,作为一个例子,下面我们给出一种文法的形式化定义。

      文法G在其形式上为如下的四元组:

    G=(V,Σ,PS)

      其中,V为有穷非空集,称作总词汇表;Σ为V的一个非空子集,称作终结字母表,而N=V-Σ称作非终结字母表;P为如下形式的有穷产生式集:

    α→β

    式中,α∈V*NV*,β∈V**表示它前面的字符可以重复出现任意次;S为非终结字母表的一个元素,称为起始符。

      图11.7是使用该文法对语句:

      Joe hit the ball.

      进行句法分析而建立的文法分析树。

    示例:一个英语子集的简单文法:

    SNP VP

    NPthe NP1

    NPNP1

    ADJS→∈|ADJ ADJS

    VPV

    VPV NP

    NJoeboyball

    ADJlittledig

    Vhitran

    其中,大写的是非终结符,而小写的是终结符,∈表示空字符串。

    11.7文法分析树示例

     

    3语义分析

      只是根据词性信息来分析一个语句文法结构,是不能保证其正确性的,这是因为有些句子的文法结构,需要借助于词义信息来确定,也就是要进行语义分析。

      进行语义分析的一种简单方法是使用语义文法。所谓语义文法,是在传统的短语结构文法的基础上,将N(名词)V(动词)等语法类别的概念,用所讨论领域的专门类别来代替。

    思考:对下列每个语句给出句法分析树:

    (1) David wanted to go to the movie with Linda.

    (2) David wanted to go to the movie with Georgy William.

    (3) He heard the story listening to the radio.

    (4) He heard the boys listening to the radio.

     

    11.3.2 复合句的理解方法

    1、复合句理解的复杂性

      正像上述介绍的,简单句的理解不涉及句与句之间的关系,它的理解过程是首先赋单词以意义,然后再给整个语句赋以一种结构。而一组语句的理解,无论它是一个文章选段还是一段对话节录,均要求发现句子之间的相互关系。在特定的文章中,这些关系的发现,对于理解起着十分重要的作用。这种关系包括以下几种:

      (1) 相同的事物

      (2) 事物的一部分

      (3) 行动的一部分

      (4) 与行动有关的事物

      (5) 因果关系

      (6) 计划次序

      要能做到理解这些复杂的关系,必须具有相当广泛领域的知识才行,也就是要依赖于大型的知识库,而且知识库的组织形式对能否正确理解这些关系,起着很重要的作用。

      如果知识库的容量较大,则有一点是比较重要的,即如何将问题的焦点集中于知识库的相关部分。第二章介绍的一些知识表示方法,如语义网络和剧本等将有助于这项工作的进行。

    2、分区语义网络

      图11.8所示的分区语义网络具有4个分区:S0分区含有一些一般的概念,如美元、兑换和螺栓等;S1分区含有与购买螺栓有关的特殊实体;S2分区含有与把水泵固定在工作台上这一操作有关的特殊实体;S3分区含有与同一固定操作有关的特殊实体等。运用分区语义网络,利用其分区在某些层次上的关联,可以较好地处理集中焦点的问题。当某一分区为焦点时,则某高层分区内的元素即变为可观察的了。对于上例,当第二句被理解时,因其讲的是“将水泵固定在工作台上”这一事件,因而图11.8分区语义网络示例焦点处于S2分区。由于S0分区的层次高于S2分区,所以S0分区是可以观察的。当理解第二句时,显然“螺栓”不能与S2分区的任何元素匹配,因而焦点区由S2变成更低一级的S3分区,并且使得“螺栓”与B1匹配,匹配的结果使得第二句中的“螺栓”必定是第一句中用来进行固定的螺栓,从而使得前后两个句子成为一个前后连贯的文章片断。

    11.8 分区语义网络示例

    举例:我们来看一下如下的文章片段:

    “接着,把水泵固定到工作台上。螺栓就放在小塑料袋中。”第二句中的螺栓,应该理解为是用来固定水泵的螺栓。因此,如果在理解第全句时,就把需用的螺栓置于“焦点”之中,则全句的理解就不成什么问题了。为此,我们需要表示出和“固定”有关的知识,以便当见到“固定”时,能方便地提取出来。图11.8给出的是一个和固定水泵有关的分区语义网络。所谓分区语义网络,就是将语义网络中的有关弧和节点集中起来,组成一个分区。

     

     

    11.4 语言的自动生成

    教学内容:本小节主要探讨语言的自动生成问题。

    教学重点:语言生成的定义和内容。

    教学难点:如何把要交流的信息表示为机器内部的一种结构。

    教学方法:课堂教学为主,结合网络课程中的多媒体素材来讲述。

    教学要求:重点掌握语言生成的过程和处理方法,了解语言生成过程中可能遇到的难题。

     

      语言生成就是把在计算机内部以某种形式存放的需要交流的信息,以自然语言的形式表达出来。它是自然语言理解的一个逆过程。一般包括以下两部分:

    1. (1)建立一种结构,以表达出需要交流的信息。  
      (2)以适当的词汇和一定的句法规则,把要交流的信息以句子形式表达出来。

      同自然语言理解一样,语言生成的处理方法有很多种,这不仅由于它们所采用的内部表达结构不同(如采用语义网络或者概念从属等),而且由于语言生成的目的不同(如有的目的是为了对输入文章作摘要,有的是为了作为问题回答系统的人-机界面等)

      语言生成也有许多难点,特别是第一部分,显得更加困难一些。有时,要交流的信息由问题回答系统在回答问题时加以估计。在这些系统中,信息的生成过程要受到回答问题的约束。

      在语言生成系统中遇到的许多问题与在自然语言理解系统中所遇到的问题是一样的。其处理方法,也可以使用在自然语言理解中所使用的各种方法。

    思考:自然语言理解和语言自动生成的关系为何?研究这两者时有什么共同点。

     

    11.5 自然语言理解系统应用举例

    教学内容:本小节主要介绍2个与自然语言理解有关的应用实例。

    教学重点:自然语言自动理解系统的功能和作用。

    教学难点:自然语言问答系统的实现。

    教学方法:课堂教学为主,结合网络课程中的多媒体素材来讲述。

    教学要求:重点掌握自然语言自动理解系统,了解自然语言问答系统。

    11.5.1 自然语言自动理解系统

    自然语言情报检索系统LUNAR

      LUNAR系统是由伍兹于1972年研制成功的一个自然语言情报检索系统,具有语义分析能力,用于帮助地质学家比较从月球卫星Apollo-11上得到的月球岩石和土壤组成的化学成分数据。这个系统具有一定的实用性,为地质学家们提供了一个有用的工具,也显示了自然语言理解系统对科学和生产的积极作用。

      LUNAR系统的工作过程可分为3个阶段:

      第一阶段:句法分析采用ATN及语义探索方法产生人提出的问题的推导树。

      第二阶段:语义解析采用形式化的方法来表示提问语言所包含的语义。

      第三阶段:回答问题产生对提问的回答。

    11.5.2 自然语言问答系统

      简单的自然语言问答系统,至少要做3件事:

      (1) 分析一语句,同时构造它的逻辑表示,检查它的语义正确性。

      (2) 如果可能的话,转换该逻辑形式为Horn子句。

      (3) 如果该语句是陈述句,则在知识库中增加该子句,否则认为该子句为一个问题,并演绎地检索相应的答案。

      此3项功能主要有谓词talk完成,talk的定义是:

      talk(Sentence,Reply)-Parse(Sentence,LF,-Type),

      clausify(LF,Clause,Freevars),!,

      reply(Type,Ereevars,Clause,Reply).

      talk(Sentence,error(too difficult')).

      上述定义中引出 3个谓词,即parse,clausify,reply分别对应上述 3项功能。

    1、谓词parse表达句法分析能力

    2、谓词clausify表达生成子句的能力

      反映语句语义的LF,由clausify谓词转换成Horn子句。能转换Horn子句有下列3种情况:

      (1) 如果表达式的最外层是全称量词,则可以立即去掉此量词并对其余部分继续此转换过程。

      (2) 如果表达式是蕴涵式,并且结论部分只有一个文字,并且前提中不含有蕴涵符。

    3、谓词reply表达回答功能

      talk的第3个功能就是回答功能,这分两种情况:其一是针对陈述句的,它将该陈述句的Horn子句形式插入到PROLOG数据库中;其二是针对提问的。

      talk是整个自然语言回答系统的核心谓词。要构造成真正的系统,尚需要一个界面程序,此界程序的功能是给出某一提示符,接受用户的语句,执行talk功能,打印talk返回的结果,这是一个很短的管理程序。

    11.6

      机器学习研究已获得很大进展,并得到越来越广泛的应用。

      机器学习的方法有机器学习、解释学习、归纳学习、类比学习、神经学习和知识发现等。本章逐一讨论了这些机器学习方法。

      机器学习应用领域涉及图象处理、模式识别、机器人控制、过程控制、自然语言理解、信号处理和专家系统等。

      知识发现和数据挖掘是近年来发展最快的机器学习技术,使机器学习研究和应用进入一个新的发展时期。

     from: http://netclass.csu.edu.cn/jpkc2003/rengongzhineng/rengongzhineng/jiaoan/chapter11.htm

    展开全文
  • 感知自然语言理解(NLU)

    千次阅读 2019-03-03 21:36:00
    自然语言是人类的智慧,自然语言处理(NLP)是AI中最为困难的问题之一,而自然语言理解(NLU)也变成了一个主要的问题,充满了魅力和挑战。一介程序员,没有能力去做相关的研究,但是认知其中的一些基本概念,对于...

    AI即人工智能是一个令人着迷的领域,尤其是基于对话式AI系统的智能音箱的兴起,使人工智能直接走进了我们的家庭。

    640?wx_fmt=jpeg

    自然语言是人类的智慧,自然语言处理(NLP)是AI中最为困难的问题之一,而自然语言理解(NLU)也变成了一个主要的问题,充满了魅力和挑战。一介程序员,没有能力去做相关的研究,但是认知其中的一些基本概念,对于开发具体NLP/NLU相关的应用实现,尤其是对话式智能系统上的应用,还是非常有帮助的。那NLP 和 NLU 有啥区别和联系呢?以下理解并不准确,仅限于认知。

    640?wx_fmt=png

    NLU与NLP

    先看维基百科对NLP的解释:

    
     

    Natural language processing (NLP) is a subfield of computer science,

    information engineering, and artificial intelligence concerned with

    the interactions between computers and human (natural) languages,

    in particular how to program computers to process and analyze large amounts of natural language data.


    Challenges in natural language processing frequently involve speech

    recognition, natural language understanding, and natural language generation.

    自然语言处理是一门研究人与人交际中,以及人与计算机交际中的语言问题的学科。NLP的目标是希望通过图灵测试,包括了语音、形态、语法、语义以及语用等方面,也要解决人类语言中的因果、逻辑和推理的问题。

    在宗成庆老师的《统计自然语言处理》中,把NLP分为以下十六个方向,其中机器翻译、信息检索和问答系统的应用更广泛。。那么NLP是啥呢?

    
     

    Natural-language understanding (NLU) or natural-language interpretation (NLI)

    is a subtopic of natural-language processing in artificial intelligence that deals with machine reading comprehension.


    NLU is the post-processing of text, after the use of NLP algorithms (identifying parts-of-speech, etc.),

    that utilizes context from recognition devices (Automatic Speech Recognition [ASR], vision recognition,

    last conversation, misrecognized words from ASR, personalized profiles, microphone proximity etc.),

    in all of its forms, to discern meaning of fragmented and run-on sentences to execute an intent from typically voice commands.

    简单的说, NLU是NLP的一个子集,因此在老码农眼中的简明AI中的那张图是错误的,应该是包含的关系。

    640?wx_fmt=png

    NLU的一个主要功能是“execute an intent ”即提取意图。什么是意图呢?

    意图表达

    Intent意图如何理解呢?在我们开发Android 应用的时候,离不开Intent,尽管和NLU中的意图不太一样,但还是对意图的理解有帮助的。

    在Android参考文档中,Intent主要是解决Android应用的各项组件之间的通讯,对Intent的定义是执行某操作的一个抽象描述。在NLU中,意图代表用户想要达到的目的,就是在语言表达中所体现出的“用户想干什么”,解决的是人与人,人与机器之间的通讯问题。意图是由什么组成的呢?在Android Intent中由Action,data 和一些属性组成,在NLU中,意图可以由槽位来表达,槽位就是意图的参数信息。槽位是指从句子中抽取出的特定概念,槽位填充为了让用户意图转化为用户明确的指令而补全信息的过程。

    640?wx_fmt=jpeg

    举个例子,比如我对一个对话式智能设备说“今天天气怎么样”,意图是什么呢?意图就是“查询天气”。那这个意图是由哪些槽位表达呢?有一个槽位是确定确定,就是时间槽位——“今天”。

    那么,机器有了这个槽位和意图是否就可以应答了呢?现实中,各地的天气是不一样的,那么描述这个意图要增加一个槽位——地点。 如果对话式智能设备问我“那个城市的天气?”我回答“北京”,这大概就是槽位填充的过程。

    640?wx_fmt=jpeg

    俗话说,“一句话有十种说法”,同一个意图有着不同的表达方式。问天气的话,我还可以说“给我查查今天的天气”,“我想知道今天天气”,“天气怎么样”等等,如果统计一下,这些问天气的常常用句子,就是所谓的常用表达。

    学以致用,我们了解了意图,槽位和常用表达,能做点什么呢?从零开始搭建一个对话系统,demo还可以,真的成为人们所使用的服务的话,恐怕显得有点高不可攀。感谢这个时代,对话式AI操作系统来了(感知人工智能操作系统),例如DuerOS,咱们在可以在上面研发并搭建自己的服务,这就是所谓的“技能”。

    640?wx_fmt=jpeg

    技能

    什么是技能? 技能就是智能设备的一个能力,或者说一种服务。既然有AI操作系统,为啥还要开发技能呢? 这和有了windows 还要开发 office 类似, 不同的软件满足不同的需要。技能作为对话式AI操作系统的具体应用,同样是为了不同用户多种多样的个性化需求。

    有了对话式AI系统,在技术,技能的开发和一个web应用的开发没有太大的区别,只不过遵循对话式AI系统提供的接口协议即可。以DuerOS为例,示意如下:

    640?wx_fmt=png

    其中涉及的语音识别,自然语言生成及TTS播报,意图识别等等全部由对话式AI系统完成,我们只专注于具体的服务即可。

    既然DuerOS已经提供了大量的服务和海量的资源,我们在上面开发技能还有什么必要么? 在MacOS上已经有了Messager/Facetime之类的应用,并不影响微信应用的研发和普及,这个道理是类似的。我们更了解用户的使用场景和需求,也更清楚具体是业务逻辑,可以让我们聚焦在擅长的领域。

    在DuerOS上开发技能

    在DuerOS开发语音技能是一个相对轻松的事,在技能开放平台(DBP,DuerOS Bot Platfrom,https://dueros.baidu.com/dbp)上可以方便地完成应用的开发,测试和发布。DBP具备Java/Javascript/PHP/Python/Go的SDK,形成了一个开发框架。同时,通过DBP平台上的可视化界面,可以为用户提供个性化的服务。

    DuerOS还提供了大量的系统意图,极大了节约了开发成本,下图是部分系统意图:

    640?wx_fmt=png

    词典在意图识别中具有很重要的地位,一般是某一领域词汇的集合,DuerOS根据词典去解析相应的槽位信息,发送给技能应用处理。 我们可以在DBP自定义字典,更可以直接使用系统词典。

    640?wx_fmt=png

    如果没有固定的词典与槽位关联的话,还可以将常用表达中需要识别的内容标注为通配槽位,那么DuerOS会将这些请求的内容发送给技能应用。

    即便是对于某个技能而言,常用表达也仅仅是“常用表达”,难以穷举用户的各种请求,那么遇到用户的特殊问题,咱们开发的技能是否就不能正常应答了呢?不会的,这正是DuerOS的强大所在,这涉及到很多NLU/NLP的技术,其中一种就是泛化。对于特定领域的问答,DBP 平台还提供了数据训练的能力,无需关注机器学习的算法,只需要提供一些语句的资料即可。

    感知自然语言理解,可以从开发小技能开始,5分钟即可创建一个小技能,信不信由你!

    参考资料

    • 宗成庆,《统计自然语言处理(第2版)》,清华大学出版社,2013

    • http://www.cs.bham.ac.uk/~pjh/sem1a5/pt1/pt1_history.html

    • https://dueros.baidu.com/dbp


    展开全文
  • 「实在智能」简介 「实在智能」(杭州实在智能科技有限...2018 年,来自纽约大学、华盛顿大学、DeepMind 等机构的研究者创建了一个多任务自然语言理解基准和分析平台——GLUE(General Language Understanding Evalua.
  •   部分内容 海知智能,降低打造机器人大脑的门槛 ...但多轮对话的机制、自然语言理解到语义搜索,接着对应到领域服务,领域服务获得内容之后,通过自然语言生成答案,中间核心部分是机器学习...
  • Rasa NLU 聊天机器人自然语言理解

    万次阅读 2018-01-23 23:21:00
    RasaCore 是一个自然语言理解框架。https://nlu.rasa.ai,下文将对基本流程及使用方式以及部分原理进行描述,本文来自http://lvchongstudio.top/。 Rasa Nlu 工作原理 智能机器人是人工智能一个重大分支,只能...
  • 自然语言处理之智能问答系统

    千次阅读 2018-05-29 08:49:49
    一、问答系统简介 二、搭建基于检索的问答系统 三、其他相似度计算 相关参考: 一、问答系统简介 问答系统通常分为任务型机器人、闲聊机器人和解决型机器人(客服机器人),三者的设计分别针对不同的应用场景。...
  • 自然语言理解(NLU)框架

    千次阅读 2019-03-26 15:29:10
    从非结构化的自然语言内容中提取洞察力的挑战 填补当前自然语言处理系统的空白 SAGA自然语言了解利益 示例使用案例 从非结构化的自然语言内容中提取洞察力的挑战 近80%的企业内容是非结构化的。它包括快速...
  • 自然语言处理包括自然语言理解(NLU)和自然语言生成(NLG)。 自然语言理解是将文本语言转化成计算机可以表示并理解的信息。 自然语言生成是将计算机的语言理解成人类所熟悉的自然语言。 问答系统的发展历程可以分为三...
  • 摘要: 随着人工智能技术的发展,智能对话的应用场景越来越多,目前已经成为了研究的热点。天猫精灵,小度小度,腾讯叮当,这些智能助手都是智能对话在业界的应用。智能助手的对话方式可分为三种:任务式对话 ( 用户...
  • 自然语言处理(NLP) vs 自然语言理解(NLU)

    万次阅读 多人点赞 2018-01-08 10:27:03
    自然语言理解,是Natural Language Understanding,简称NLU。(图1) (图2) 1、概括来说,NLP,除了NLU(图中红框部分),还包含理解之前的处理阶段、和理解之后的应用阶段。也就是说,NLU是NLP的子集——他们...
  • 人工智能-自然语言处理-知识解构

    千次阅读 2019-03-23 16:41:11
    2 自然语言理解,对话理解,知识获取和问答,任务理解; 3 底层的机器学习(TennsorFlow和other) 4 个性化信息的获取和利用; 其中两个重要的竞品分析: google的产品:各种语言场景; Alexa亚马逊产品:基于云计算...
  • 人工智能自然语言处理初探

    千次阅读 2020-07-15 12:48:51
    编辑导读:自然语言处理是人工智能的一个细分领域,是一个庞大的系统的工程。本文将从自然语言处理的简介、句法分析、发展现状、话语分割、知识体系、指代消解六个方面展开分析,希望对你有帮助。 最近在梳理...
  • 本文分享主题:Faiss和bert提供的模型实现了一个中文问答系统。旨在提供一个用Faiss结合各种AI模型实现语义相似度匹配的解决方案。
  • 自然语言处理主要步骤包括: 分词(只针对中文,英文等西方字母语言已经用空格做好分词了):将文章按词组分开 词法分析:对于英文,有词头、词根、词尾的拆分,名词、动词、形容词、副词、介词的定性,多种词意的...
  • 机器阅读理解 | (1) 智能问答概述

    千次阅读 2020-02-04 21:27:59
    智能问答(QuestionAnswer,QA)旨在为用户提出的自然语言问题自动提供答案,得益于大数据、硬件计算能力提高(GPU、TPU)以及自然语言处理和深度学习技术的进步,近来年取得了飞速发展,其应用场景(如搜索引擎、智能语音...
  • Clause 是 Chatopera 团队自主研发及使用其他商业友好的开源软件的方式实现的,Clause 为实现聊天机器人提供强大的大脑,包括客服、智能问答和自动流程服务。Clause 利用深度学习,自然语言处理和搜索引擎技术,让...
  • 基于知识图谱的问答系统答即根据一个问题,抽出一条三元组,生成类 sql 语句,知识图谱查询返回答案。本文是基于知识图谱的问答系统,通过 BERT+CRF 做命名实体识别和句子相似度比较,最后实现线上的部署。
  • 当地时间7月28日至8月2日,自然语言处理领域顶级会议ACL2019在意大利佛罗伦萨召开,会上滴滴正式宣布开源基于深度学习的语音和自然语言理解模型训练平台DELTA,以进一步帮助AI开发者创建、部署自然语言处理和语音...
  • [NLP]自然语言理解概述

    千次阅读 2015-07-16 15:59:13
    1、语言与语言理解语言是人类进行通信的自然媒介,它包括口语、书面语以及形体语(如哑语和旗语)等。一种比较正规的提法是:语言是用于传递信息的表示方法、约定和规则的集合。语言由语句组成,每个语句又由单词...
  • 闲聊-智能对话:微信小程序详解本文原地址:http://blog.csdn.net/u011211290/article/details/77247674 源代码地址:https://pan.baidu.com/s/1miT2SXU 公用App Key:80ccf2fdeba243f49c014af42f571e25 公用App ...
  • 知识图谱与智能问答基础理解

    千次阅读 2019-04-22 15:30:16
    知识库问答(knowledge base question answering,KB-QA)即给定自然语言问题,通过对问题进行语义理解和解析,进而利用知识库进行查询、推理得出答案。如下图所示: image.png 与对话系统、对话...
  • 智能问答

    千次阅读 2019-06-18 13:42:33
    问答系统是信息检索的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言提出的问题。其研究兴起的主要原因是人们对快速、准确地获取信息的需求。其中问答系统是目前人工智能自然语 言处理领域中倍受...
  • 自然语言理解技术及其应用探讨

    千次阅读 2006-10-03 18:08:00
    随着社会的日益信息化,人们越来越强烈地希望用自然语言同计算机交流。自然语言理解是计算机科学中的一个引人入胜的、...现在的计算机的智能还远远没有达到能够象人一样理解自然语言的水平,而且在可预见的将来也达不
  • 桔妹导读:滴滴是一个让出行变得更美好的公司,语音交互作为出行领域最安全,最自然的交互方式在滴滴内部有着广泛的应用前景,目前滴滴语音交互已经应用在智能外呼,司机端,地图,车机系统多个领域中...
  • 1 什么是自然语言和自然语言理解自然语言是指汉语、英语、德语、俄语等人们日常使用的语言,是自然而然的随着人类社会发展演变而来的语言,而不是人造的语言。我们平时说的口语还有书面语,这些都是自然语言,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,094
精华内容 6,037
关键字:

智能问答自然语言理解