点击上方蓝色的字关注哦~(づ ̄ 3 ̄)づ
自然语言理解技术概述
一般情况下,自然语言理解的主要方法有基于规则的方法和基于统计的方法两种。
基于规则的方法就是人工定义很多语法规则,然后自然语言理解模块根据这些规则解析输入的文本。其优点就是灵活,不依赖训练数据;缺点是需要大量且不同场景的规则,人工维护难度大。
基于统计的自然语言理解需要大量的数据训练模型,并使用其执行各种语义任务。优点就是数据驱动健壮性好,缺点是训练数据难以获取且模型难以解释和调参。
在实践中,一般都是两种方法结合。数据少的时候先采用规则的方法,当数据量积累到一定规模时在逐渐转变为使用基于统计的方法。基于统计的方法可以覆盖大多数的场景,在一些覆盖不到的场景中可以使用基于规则的方法进行兜底,保证效果。
词法分析、句法分析、语义分析等基本的自然语言处理技术对聊天机器人系统中的自然语言理解功能起到了至关重要的作用。
词法分析
汉语的词法分析包括汉语分词和词性标注两部分。
汉语自然语言处理的首要工作就是将输入的字串切分单独的词语,这个步骤称为分词。目前采用的汉语分词方法主要有基于词表匹配的方法和基于统计模型的方法。
词性标注的目的是为句子中的每个词赋予一个特定的类别,即为分词结果中的每个单词标注词性(例如名词、动词、介词等都是单词的词性)。
词性的标注方法主要分为两种:基于规则的方法和基于统计模型的方法。基于规则的词性标注方法按照兼类词搭配关系和上下文语境造词类消歧规则。基于统计模型的词性标注方法通过模型计算各种词性出现的概率,将概率最大的词性作为最终结果。
句法分析
句法分析的主要任务是对输入的文本句子进行分析以得到句子的句法结构。简单来说,就是从字符串得到句法结构的过程。
根据句法结构的不同表示形式,可以将句法分析任务划分为3种:
1、依存句法分析,主要任务是识别句子中词汇之间的相互依存关系。
依存句法的基本假设是:一个句子中存在主体(被修饰词)和修饰词,句子中词的修饰关系具有方向性,通常是一个词支配另一个词,这种支配与被支配的关系就是依存文法,词和词之间的依存(修饰)关系本质上包含在句法结构中。
依存关系有5条公理:
①一个句子中只有一个成分是独立的。
②其他成分直接依存于某一个成分。
③任何一个成分都不能依存于两个或两个以上的成分。
④如果A成分直接依存于B成分,而C成分在句中位于A和B之间,那么C或者直接依存于B,或者直接依存于A和B之间的某一成分。
⑤中心成分左右两边的其他成分相互不发生关系。
目前对依存句法分析的研究主要集中在数据驱动的依存句法分析,主要有两种:基于图的分析方法和基于转移的分析方法。
2、短语结构句法分析,也称作成分句法分析,主要任务是识别句子中短语结构和短语之间的层次句法关系。
短语结构句法分析的研究主要基于上下文无关文法,短语结构句法分析方法的规则来源可以分为人工编写规则和数据驱动的自动学习规则两类。数据驱动的自动学习规则的方法已经成为短语结构句法分析中的主流方法。
3、深层文法句法分析,主要任务是利用深层文法,对句子进行深层的句法及语义分析,这些深层文法包括词汇化树邻接文法、词汇功能文法、组合范畴文法等。
语义分析
语义,指的是自然语言所包含的意义,可以将语义理解为数据对应的现实世界中的事务所代表的概念的含义。
语义分析指运用各种机器学习方法,让机器学习与理解一段文本所表示的语义内容。语义分析的最终目的是理解句子表达的含义。
基于语义的搜索一直是搜索追求的目标。语义搜索,是指搜索引擎的工作不再拘泥于根据用户输入搜索关键词的字面意思,还能捕捉到用户所输入关键词背后的真正意图,并以此进行搜索,从而保证向用户返回的是最符合其需求的搜索结果。
对聊天机器人系统来说,通过语义分析可以获取用户的意图、情感,并通过对上下文语境的语义建模保持聊天机器人系统的个性一致。
发表评论