APP下载

基于带约束语义文法的领域相关自然语言理解方法

2018-04-16王东升王卫民符建辉

中文信息学报 2018年2期
关键词:文法本体语义

王东升,王 石,王卫民,符建辉,诸 峰

(1 江苏科技大学 计算机科学与工程学院,江苏 镇江 212003; 2.北京工业大学 WIC研究院,北京 100124; 3中国科学院 计算技术研究所,北京 100190)

1 研究背景

问答系统是自然语言处理领域的一个研究热点。能否正确地理解用户意图是自动问答系统的关键,其核心是自然语言理解。面向领域的自然语言理解(NLU)技术是垂直搜索引擎、领域相关问答系统等应用的核心技术之一,可以解决当前实际需求与开放域自然语言理解系统能力不匹配的强烈矛盾[1]。问答系统中用户提交的问题通常是一些长度较短的“句子”,与长文本相比,短文本的理解有一些不同之处。首先,很多场景下要处理的短文本通常不符合书面语的语法,这就意味着传统的NLP方法如词性标注、依赖句法分析等不能直接用到短文本理解中。再次,短文本的语境信息通常比较有限,含有很多的歧义信息。比如,在Web搜索场景下,大部分的查询不超过5个词,而微博中帖子一般不超过140个字。因此,短文本中通常缺乏一些统计信息来支持一些统计文本处理技术,如主题建模等[2]。

本文的主要贡献如下:

(1) 提出了一种通用的带约束的语义文法形式,与本体等语义资源相结合,可以在词汇级、句法级、语义级对自然语言句子的解析过程进行约束;

(2) 提出了一种高效的文法匹配算法,依据各种约束条件预先过滤一些规则,以匹配度计算模型找到最佳匹配,可以极大地提高系统效率;

(3) 应用不同数据集的实验结果表明,我们提出的方法可以有效提高问答系统的整体性能。

2 相关工作

文本及口语理解是近年来国内外研究的一个热点,专题国际会议或评测竞赛包括Interspeech、ICASSP、ASRU、SLT、Sigdial、SemEval、Semantic Parsing workshop等以及专题国际期刊TASLP等,国际会议如ACL、EMNLP、COLING、NAACL、AAAI、NIPS等也有相关专题。总体来说,文本理解方法大致可以分为两种:浅层语义分析方法和深层语义分析方法。其中,浅层语义分析通常会标注与句子中谓词有关成分的语义角色,如施事、受事、时间和地点等,比如在检索型问答系统中,可采用该技术对查询进行标注,并充分利用数据源(Web或语料库)中的冗余信息,通过检索和匹配等技术来定位答案。但对一些文本资源相对缺乏而又要求精确文本理解的应用来说,浅层文本语义分析技术就显得不够了,比如面向知识库的问答系统,通常需要精确理解文本语义并将之转化成计算机可理解或可处理的形式化表示,并进而转化成具体知识库的查询语言如Sparql等。

深层语义分析方法分为两类,第一类方法是基于近年来发展较快的深度学习技术。这些方法一般通过嵌入学习技术[3](embedding)、深度学习技术(如DNN、RNN、LSTM)[4]等学习语料库、知识库和问句的语义表示及它们相互之间的语义映射关系[5],从而将用户的自然语言问题、知识库中的实体、概念、类以及关系等转换为压缩、低维、稠密的数值向量(分布式语义表示)[6],并将知识库问答等任务看成是语义向量之间的相似度计算或分类过程。基于深度学习的语义分析方法的优点是鲁棒性较强,并且由于采用端到端的学习策略,可以部分消除错误累积问题。但目前这类方法还存在以下问题:①深度学习方法通常需要依赖大量的训练语料,而对于一些领域应用来说(如医疗领域),在系统建设初期,获取高质量的训练语料仍然是个瓶颈[7]; ②已有的基于深度学习的文本理解方法多是针对简单问题,对于复杂问题的理解能力尚且不足[8]; ③可解释性较差,特别是在实际系统出现问题时,无法进行及时有效的人工干预[9]; ④目前取得一些较好结果的研究大多集中于词级别的嵌入,如何从词嵌入得到有效的句子、篇章等的嵌入表示,是目前急需解决的问题[10]。

第二类方法是基于符号逻辑的语义分析方法,即基于符号化的文法对用户的自然语言问句进行分析并转化成结构化的语义表示。在这一类方法中,一类是采用级联式的自然语言处理方法,即先对句子进行词法、句法分析,再依据句法规则与领域语义的对应关系,对句法分析结果进行语义解释。这类方法的优点是各模块的研究较成熟,特别是在书面语的处理上,词法、句法分析等准确率较高。但是,级联式的自然语言处理方法对于短文本理解来说,通常是低效的[11],特别是一些口语问答系统 、社交媒体(如微博)中用户的问题通常是一些口语化、弱规范甚至不规范的短文本,会导致语言分析过程的前两步常常就不能产生正确的结果,就更不用说后续的语义处理了[12]。另一类则通过将语义附着于词汇或文法规则上,实现语法和语义一体化分析,比如语义文法(semantic grammar)[13]、SC文法(sub-category grammar)[14]、组合范畴语法(category compositional grammar,CCG)[15]、依存组合语法(dependency-based compositional semantics,DCS)[16]等。这类方法的优点是可解释性较好,产生的是一个有层次的解析结果,缺点是起到重要作用的文法一般主要由人工生成,比如CCG 中的词汇表和规则集,在进行领域转换和扩展时,需要耗费大量的人力和时间来生成或扩展规则库,所以目前基于有监督[16](如提供自然语言问题—语义表示对,自然语言问题—答案对)或无监督[17]的自动文法学习成为研究人员探索的重点。另外,单纯的短语结构语法生成能力过强,常常会产生一些不合语法的句子和歧义的句子,并不是一个特别适合于描写自然语言的语法,但为了继承已有的研究成果,不宜完全抛弃短语结构语法,而应该在其基础上提出有效的手段来限制其过强的生成能力[14]。

通过对上述几类方法的分析发现,基于符号逻辑的语义分析方法具有分析结果层次性较丰富、可解释性较好等特点,缺点是一些文法形式过复杂或过简单,导致解析效率低或存在过生成等问题。比如,目前语义解析中采用较多的组合范畴语法CCG[18],在某些场景下,附着于CCG文法规则的逻辑表达式(logic form)会非常复杂,导致解析CCG时搜索空间巨大[16]。而另外一些文法形式如FunQL,则过于简单,导致表达能力不足,存在过生成、易产生解析歧义等问题[19]。

Fred Karlsson等提出的一种形式简单并可利用语境信息进行歧义消解的带约束文法[20],可有效限制文法的生成能力,针对不同的需求,可在文法规则中加入对当前匹配所对应上下文的词、词性、句法等进行约束[21],最早用于词形(Morphophonology)分析、句法分析等,近年来有研究者将其用于问答、对话系统等[22-23]。本文在约束文法的基础上,提出一种基于本体的带约束语义文法及其理解方法,通过在文法约束中融合词汇、句法、语义(领域本体)知识以及匹配控制等,从而对文法解析过程进行多层次约束,可以有效提高文法解析的鲁棒性,降低匹配歧义问题。

3 本文方法

在本节中,我们主要介绍基于领域本体的领域建模方法和带约束语义文法及其匹配方法。其中,3.1节给出了构建领域模型所需的定义,3.2节给出了带约束语义文法的定义,3.3节给出了带约束语义文法的匹配算法。

3.1 领域建模

在人工智能领域中,本体和知识表示密切相关,是一种“形式化的,对于共享概念体系的明确而又详细的说明”。在智能系统中,它被看作是支持知识共享与重用的重要工具。领域本体(domain ontology)所建模的是某个特定领域,或者现实世界的一部分。领域本体所表达的是那些适合于该领域的术语的特殊含义。本节的领域建模与下节的约束文法构建过程密切关联,所以在本节的领域本体中增加了与语义文法相关的属性和概念,比如文法中的“总是必须关系”(REQ)、“总是可选关系”(OPT)等。

定义1领域本体用一个三元组表O=(N,E,M),也可将其看作是一个有向无环图(DAG),其中:

(1)N:有向图中的节点集合。图中的节点包括所有的领域相关概念、语义文法中的非终结符等;在本体中,节点包括如下几种类型或其组合:

(a) 关键概念 vs 辅助概念。关键概念类型的节点是指领域相关的实体概念,而辅助概念是指在构造文法时,对一些词或短语所建立的一些有用的分组,这些分组中的词,或者是具有相同的句法层次上的作用(如非终结符<疑问词>可重写为如下的短语或词:“如何,怎么,怎么办,……”),或者这些词在当前处理领域中具有某种程度上的语义等价性,(如非终结符<删除词类>可重写为“删除,删掉,关掉,关……”)。

(b) 顶层节点vs 非顶层节点。顶层节点是指那些作为文法开始符的非终结符,而非顶层节点则是指除了顶层节点之外的其他的非终结符。

(c) Pre-NT vs pre-T vs Mixed。在所有规则中,如果一个非终结符A的所有子节点(即出现在以A为LHS的规则的RHS中)都是非终结符,或者出现的终结符都是“可选”,则非终结符A的类型为pre-NT;如果一个非终结符A的所有子节点(即出现在以A为LHS的规则的RHS中)都是终结符,或者出现的非终结符都是“可选”,则非终结符A的类型为pre-T;其他的非终结符类型设为Mixed。

(2)E:表示节点之间的有向边的集合,EN×N。

(3)M:是一个映射函数,M:ESM,其中SM={ISA,REQ,OPT},其中:

(a) ISA:表示N中节点间的上下位关系。

(b) REQ:表示N中节点在语义文法中的“总是必须”关系。关系“REQ”是指若某非终结符A总是作为必选成分出现在另一个LHS为非终结符B所对应的规则的RHS中,即形如“BA*”(“*”表示其他规则成分,下同),则建立非终结符A到非终结符B的有向边,并且标记边的关系类型为REQ。

(c) OPT:表示N中节点在语义文法中的“总是可选”关系关系“OPT”是指若某非终结符A总是作为可选成分出现在另一个LHS为非终结符B的所对应的规则的RHS中,即形如“B[A] *”,则建立非终结符A到非终结符B的有向边,并且标记边的关系类型为“OPT”。

初始构建系统时,领域本体由领域专家辅助知识工程师进行设计,关系仅包括上下位关系(ISA);在核心语义文法设计完成后,依据核心语义文法建立图中节点之间的有向边(即关系)。对于任意两个非终结符A和B,若要建立一条从B到A的有向边,则A必须作为一条规则的LHS出现,且B出现在同一条规则的RHS中。本体作为语义文法的“骨架”,在文法扩展学习时,领域本体将是对现有文法进行扩展学习的重要“知识源”。

同时,在具体应用时,一般还需建立一个“问题本体”(problem ontology)用于处理用户问题。问题本体刻画了用户查询意图的语义分类,语义文法中的开始符与查询意图相对应。问题本体本质上对应着用户查询意图的分类体系,本体的上层对应着对查询问题意图的粗分类,而本体的下层则对应着对查询问题意图的细分类。问题本体中的节点的粒度大小与具体的应用相关。比如,一般可以将问题本体分为三层:第一层包括所有的问题集合;第二层是对问题的查询主题的分类,这是一个较粗的分类;第三层为问题查询意图的分类(也称作问题焦点),是在每一个主题下的细分类。

3.2 带约束语义文法

在给出语义文法的形式定义之前,先给出几个基础性概念的定义。

定义2(字符集)任何汉字、任何字母、任何标点、任何数字、任何制表符构成的文本形式的符号。

定义3(终结符)终结符(terminal)具有以下两种形式之一:

(1) 词条集:由词组成的有限集合,此处的词是指词典中的一个条目;

(2) 由字符集中的任意字符构成的字符串。

定义4(语义类)语义类(semantic class)是某个论域中两个或以上词义相同或相近的词所构成的有限集合。语义类与领域本体中的概念相对应。例如,在金融领域,开通、办理、申请等词表达的意思相近,因此我们定义一个词类“办理词类”,即办理词类={开通,办理,申请}。

定义5(文法约束)文法约束(constraints)是一种逻辑表达式。为了便于文法分析和文法学习,我们提出了一种有限的约束形式,采用析取范式(DNF)表示。其BNF形式如下:

::=

|

::=

|

::=streq(,,)

| not-streq(,,)

| contain(,,)

| not-contain(,,)

| begin-with(,,)

| not-begin-with(,,)

| end-with(,,)

| not-end-with(,,)

| leneq(,)

| lengt(,)

| lenlt(,)

| followed-by(,)

| pos(,)

| not-pos(,)

| isa(,)

| not-isa(,)

| not-followed-by(,,)

| preceded-by(,,)

| not-preceded-by(,,)

|immediately-followed-by(,,)

|not-immediately-followed-by(,,)

|immediately-preceded-by(,,)

|not-immediately-preceded-by(,,)

::=

|plus(,)

|minus(,)

|multi(,)

|div(,)

|power(,)

|root(,)

|...

::=

|

::=

|

::=

|

::=|’|’

::=strcat(,

)

|strrep(,,)

由于汉语是一种意合型语言,句子中的某些成分通常可以出现在句子的多个位置,而这些句子含义却变化不大,为了处理这种现象,本文还引入了一种特殊的约束,称为匹配控制约束。其形式为:

control(,)

其中,表示某条规则,可以是“有序匹配”“无序匹配”。无序型规则的RHS在归结成LHS时,其中的任意两个成分Yi与Yi+1在匹配句子片段时,两者的出现顺序任意,带有这种约束的规则类似于词袋(bag-of-words)模型,它对于某些理解口语性质的对话是必要的,因为人们通常可以使用相同的词但完全不同的词序表达相同或相近的意图;反之,有序型规则在匹配时,要严格按照RHS中各项的书写顺序匹配句子中的成分。

定义6(基本型非终结符、带标号的非终结符)基本型非终结符(basic non-terminal)即为一般文法中的非终结符,如N、V、NP、VP等。在本文中,非终结符由ASCII英文字母、数字和连字符组成。带标号的非终结符为形如<标号>:<基本型非终结符>的符号串,它用于对文法产生式中的同一基本型非终结符的多次出现进行区分。 例如,在产生式“NP→ ADJ N | N N”中出现多个N,我们可以采用以下形式将其中的N进行区分:

NP→ADJ1:N|2:N3:N

定义7(通配型非终结符)通配型非终结符(ANY)简称通配符,是一种特殊的非终结符,可用于匹配任何终结符。

由于通配符的强大匹配能力,如果不对其进行限制,那么将在文法解析过程中产生大量的歧义,所以需要对其匹配进行适当的限制。定义4中的文法约束主要用来对通配型非终结符的匹配进行“监管”,即检查通配符的匹配成分是否满足文法约束限制,若匹配成分不能满足约束限制,那么规则匹配失败。当然,文法约束不仅仅用作对通配符进行约束,还可以对其他的一些非终结符如基本型非终结符等进行限制。

定义8(确定型产生式规则的表示)确定型产生式规则的表示形式如下:

::=→

[; ]

::=

::=

|

|

|

|’[’ ’]’

//“[ ]”表示“可选”,其他默认为“必选”

::=

|

|

| //通配型非终结符

::=

//本体中的“关键概念”

|< Auxiliary-concept>

//本体中的“辅助概念”

::=”BUY-TICKETS”

|“QUERY-FOR-TRAFFIC”|…

其中,表示问题本体中的叶子节点,刻画了用户查询意图的语义分类。

下文中,在不导致混淆的前提下,我们有时采用Head→Body表示产生式,而忽略其后的限制。

定义9(语义文法)语义文法G为一个四元组G=(VT,WT,S,R),其中:

(1)VT:语义文法中的终结符(terminals);

(2)VNT:表示语义文法中的非终结符(non-terminals)。注意,语义文法中的非终结符包括两类不交的非终结符结合,即VNT=VN∪Vw且VN∩Vw=φ,其中:

VN包括基本型非终结符集、本体中的关键概念、辅助概念等;Vw是通配型非终结符集。

(3)S:表示语义文法的开始符集合S={S1,…,Sn}。本文的语义文法与问题本体中的概念相对应,开始符体现了对查询句子的语意分类(如用户查询的“查询意图”分类),领域语意通常与某一领域事件类型相对应。

(4)R:语义文法中的确定型产生式集合。

定义10(产生式的简洁表示)为了便于产生式的编辑,根据定义7、定义8,我们给出一种文法产生式的简洁的一般表示形式,即将下面的形式:

→[;

]

等价地改写成如下形式:

Body@head@control-constraint@constraints

其中,control-constraint为Body中的终结符、非终结符的匹配控制;constraints为产生式的约束;当constraints不出现时,用null代替;在规则的约束条件中,可以引入各种约束,包括词汇级(词汇依存)、语义级(语义依存)等,可以弥补传统PCFG的上下文无关的不足。

3.3 带约束语义文法匹配算法

为了提高系统的匹配效率,系统为语义文法规则集合建立了倒排索引,即由组成文法规则的词或语义类来索引规则。同时,系统只对文法规则中的必须词位上的词类或词建立索引。这样的好处是:在解析过程中,大大减少了候选规则的数量,提高了系统解析效率。下面给出语义文法解析算法的伪代码。

算法的输入为全部分词形成的有序的词集合QWs。系统根据领域词典对句子Q进行分词,查找知识库,给分词成分标注相应的语义类型,QWs[i]用三元组表示为:(i,词,类型1|…|类型n),i表示第i个分词成分,三元组的第三项表示词项的语义类型列表。算法的输出为句子的所有解析树所对应的顶层节点列表,按照解析树得分的高低,输出前n个。可根据不同的应用,调整n的大小,本文的实验取值为3。

在上述解析过程中,步骤(5)为语义文法规则过滤子过程,其根据文法规则中的各词位的性质、规则匹配控制限制、文法规则的约束等,判别语义文法与句子或句子的子串匹配是否合法。

在启用文法规则的约束检查时,首先按照句子与文法规则的规则体部分的匹配结果,对约束中的变量进行实例化,然后调用相应的约束谓词实现函数对约束进行检查,若约束检查结果为真,则通过检查,否则视为违反约束,文法规则匹配失败。

即使经过规则过滤,一个句子还是可能会生成多棵解析树。本文通过引入匹配度计算模型,计算解析树的得分,并依此对解析树进行排序。在匹配度计算模型中,考虑了以下四个特征。

【特征1】规则匹配词分布密度

组成规则的词或语义类所匹配的成分在句子中分布越紧密,词之间的相互作用越强,与规则匹配上时产生的歧义性越小;而当分布密度越小,组成规则的词之间相隔较远时,产生歧义的可能性就越大。规则匹配词在句子中的分布密度的定义如式(1)所示。

(1)

其中,wp表示文法规则,CQWs表示句子Q所对应的分词集合,m表示规则wp与句子Q匹配的词数,WPosi表示规则wp所匹配的第i个词在句子Q中的位置。ε是为了防止分母等于0所设的一个很小的数。

【特征2】规则历史匹配准确率

系统中的核心文法库由人工构造而成,规则质量参差不齐,同时随着系统的不断演进,原先构造的规则会有不符合当前要求的情形。所以,在匹配规则时,要考虑规则匹配的历史准确率,若某个规则的历史匹配准确率越高,则有理由相信此规则的匹配歧义越低,反之则相反。规则历史匹配准确率定义如式(2)所示。

(2)

其中,HAllMatchNUM(wpi)表示历史记录中规则wpi匹配的句子总数,HCorrectNUM(wpi)表示历史记录中规则wpi匹配正确的句子总数。对于历史匹配准确率低于设定阈值的规则,系统会提醒规则编辑人员修改或删除规则。

【特征3】 匹配相关度

句子与规则相匹配的成分所计算出来的分值体现了两者的匹配相关程度,相关度越高,句子与规则匹配的可能性越大。规则wp与句子(用其分词CQWs表示)匹配相关度公式定义如式(3)所示。

(3)

词或词类的idf值从一个方面反映了该词或词类的重要程度,通常越低频的词,即只出现在少数的规则中,其idf值越大,该词或词类所含有的信息量就越多,这个词或词类也就越重要。在规则匹配度计算模型中,以词或词类在规则集合中的idf值作为其权重。在式(3)中,Matchedwpi,CQWs表示规则wpi与问句分词CQWs匹配的词位集合,t∈wpi。|t|表示wpi匹配项所对应的词的长度,nt表示词或词类t索引到的规则总数,N表示系统中的规则总数,α为词位的匹配权重,若t∈requiredwpi则取α=1,若t∈optionalwpi则取α=0.5,这一取值为经验值,体现了不同性质词位的重要程度,实验结果表明此取值最佳。requiredwpi表示规则wpi的必选词位集合,optionalwpi表示规则wpi的可选词位集合,下同。

【特征4】匹配不相关度

未被解析树所覆盖的句子的成分所计算出来的分值代表解析树与句子的不相关度,不相关度越大,句子与解析树相匹配的可能性越小。解析树T与句子(用其分词CQWs表示)匹配不相关度公式定义如式(4)所示。

(4)

其中,T表示解析树,NoMatchedT,CQWs表示CQWs中未被解析树覆盖的词集合,|s|表示词的长度,s∈CQWs且s∉T。匹配不相关度考虑了句子中未能被解析树覆盖的成分对最终匹配结果的影响,其分值越大,表明在剩余成分中还有一些重要的词(特征词)未被匹配,此时解析树与句子匹配上的可能性越小。

最终的解析树与句子的匹配度将上述几个因素都考虑进来,在它们之间取得平衡。加入了上述几个特征的最终的匹配度计算如式(5) 所示。

(5)

其中,T表示句子的解析树,Wwp,CWQs表示CWQs与规则wpi匹配的规则词分布密度;HPrewpi表示规则wpi的历史匹配准确率;MT,CWQs表示CWQs与解析树匹配的词位数,即解析树覆盖句子的词数越多,两者意思相近的可能性越大,故将这一特征也纳入到匹配度计算模型中。

4 实验

为了验证上述方法的有效性,本文方法在两个领域中进行了应用,分别构造了面向通信领域的业务信息问答系统和面向金融领域的某银行业务信息问答系统,首先按照本体建模的一般原则,结合领域特点,分别建立了通信业务领域本体和银行业务领域本体。图1给出了通信业务领域本体(部分)。

图1 通信业务领域本体

从上述本体层次结构可以看到,业务相关的概念作为本体的类,业务(类)之间的父子关系作为“Isa”关系,这种关系具有继承性,即子节点可继承父亲节点的相关属性。另外,建立了用以处理用户的提问句子的问题本体。在两个应用领域中,本文均按照业务的生命周期,即业务的介绍、开通、故障、优惠、取消等,来组织用户咨询,再在每一个业务的生命周期阶段作细分类。如“开通类”可再细分为:开通方法、开通失败原因等(用“IO”表示InstanceOf关系)。两个应用领域的问题本体在中间层次上几乎是相同的,只是在本体的叶子节点上有区别。问题本体体现了用户问句语义和问题焦点的分类。由于篇幅所限,这里只给出了通信业务领域的问题本体,如图2所示。

图2 通信业务领域的问题本体

根据设计的领域本体,由领域专家设计相应的核心语义文法。由于本文的方法是一种面向领域的自然语言理解方法,依赖于构建的领域本体及语义文法等,很难与其他已有的语义理解方法进行直接比较,为了使得实验结果更加客观,本文的Baseline设置为按照解析结果生成的先后顺序,对解析结果进行排序,并从解析结果中任意选择一个解析结果返回,对本文提出方法与Baseline方法进行了比较。

4.1 测试数据集描述

本文在两个应用领域中分别构造了测试数据,包括某银行的业务信息查询系统和某通信公司的产品及业务的信息查询系统。其中,前者的领域概念较少,信息查询点较少,而后者是一个较大的领域,涉及的领域概念比较多,信息查询点较多。通过将方法应用于不同规模的领域中,来检测方法的可扩展性(scalability)。根据两个数据集所在领域,本文分别设计了领域本体及语义文法。

数据集1BSC Data Set,数据集中的问题是关于某个银行的产品或业务的咨询,比如关于如何办理信用卡或汇款手续费等,这些问题都是真实用户提交到系统中的。我们从实际用户的提问日志中,随机抽取了10 000个句子;组成测试数据集。

数据集2MSC Data Set,数据集中的问题是关于某个通信公司的产品或业务的咨询,比如关于手机归属地查询或办理通信套餐业务等。我们也从实际用户的提问日志中随机抽取了10 000个句子,组成测试数据集。

4.2 评测指标

本文采用精确率、平均排序倒数(mean reciprocal rank,MRR)以及识别率这三个指标来评价算法的性能。其中精确率表示系统能够正确理解的问题数占所有测试问题的数目的比例,这里的“正确理解”是指在句子的所有分析结果中,得分排名第一的分析结果是正确无歧义的,如式(6)所示。

(6)

其中,T表示测试语料,t表示测试语料中的一个句子,trees(t)表示系统对句子t的所有解析结果,按照解析树的得分高低进行排序,TA(t)表示句子t的正确的解析结果。

MRR指标首先计算每一个查询的正确理解结果在所有分析结果中的位置的倒数,然后对测试集中所有查询问题的这一数值求平均如式(7)所示。

(7)

其中,T表示整个测试集,TA(t)表示句子t的正确的解析结果,rank(TA(t))用于计算查询问题t的正确分析结果在其所有分析结果中的排名。其定义如式(8)所示。

(8)

引入如上定义,是因为当句子t无法理解或理解结果中没有正确的分析结果时,rank(TA(t))=0,本文选取一个较大的数值(如令∝≈10 000)来处理这种情况。

识别率是指所有能够被系统识别的句子数占总测试问句数的比率,它反映了语义文法对领域知识的覆盖程度,如式(9)所示。

(9)

其中,tree(t)≠∅表示句子t的解析结果不为空。

4.3 实验结果

本文共进行了三组实验来测试算法的有效性。第一组实验测试了方法在构造的数据集上的整体测试性能。表1给出了在BSC数据集和MSC数据集上的测试结果。

表1 BSC数据集和MSC数据集上的实验结果

从表1可以看出,该方法在两个领域的测试集上均取得了较高的准确率、MRR值及识别率,其中,与规模较大的领域(MSC)相比,方法在较小规模领域(BSC)上取得了相对较高的性能指标。原因是,在应用到较小规模领域时,手工容易总结出较全面的领域本体及语义文法,所以三项指标值均较高;而在应用到较大规模领域中时,语义文法不容易手工总结全面,这些指标相对要低一些。

第二组实验对STM算法中的匹配度计算模型进行了测试。比较测试了规则词分布密度特征、规则历史匹配准确率特征、匹配词位数特征、匹配相关度、匹配不相关度对匹配度计算模型的影响。表2和表3分别给出了在两个数据集上测试包含几个特征所对应的系统准确率和MRR值。其中,Re表示匹配相关度(relativeness),IrRe表示匹配不相关度(irrelativeness),W表示规则词分布密度权值系数,M表示匹配词位数特征,HPre表示规则的历史匹配准确率特征。由于匹配度计算只影响系统匹配出的答案次序,对是否有答案无影响,即对识别率无影响,故在表2、表3中只列出了对应的准确率。从表2、表3中可以看出,综合考虑几个特征系数的匹配度计算模型取得了较高的准确率。

表2 多个特征系数对比结果(BSC数据集)

表3 多个特征系数对比结果(MSC数据集)

为了提高问答系统的用户友好性,通常需要在回答准确率和系统实际回答的问题占所有问题的比例之间找到一个平衡点。本文对于一个问题是否给出答案取决于所估计的置信度大小(在本文,解析树的匹配分值即为系统的对于答案的置信度):对于设定的置信度阈值,只有当问题所生成的解析树的最高得分大于设定阈值时,系统才会给出答案。反之,若匹配的解析树的分值都小于设定阈值,则系统对此问题不给出答案。一个合理的置信度阈值将在系统准确性和所回答问题的比例之间取得一个平衡。对于较高的阈值,系统将更趋向于保守,只对较少的问题给出答案,但准确性较高;反之,对于较低的阈值,系统将更趋向于开放,会回答大部分的问题,但准确性相对较低。

图3给出了准确性与回答问题的比例之间的关系图。曲线是通过给系统设置不同的置信度阈值得到的。从图中可以看出,随着阈值的提高,系统选择回答问题的比例降低,系统的准确率也在提高。当回答问题比例在40%左右时,系统的准确率达到最高(100%)。图3说明,本文给出的匹配度计算模型对于评价解析树与句子的匹配是有效的。

图3 准确性与回答问题的比例之间的关系图

5 实验分析及讨论

通过对测试语料的统计分析,表4列出了测试句子集合的统计特征数据。主要考察了句子的两个方面的特征:句子长度和句子的复杂程度。其中复杂程度是对问句所包含的问题焦点数目的度量。若句子只关心一个业务的某一个属性或关系,即可与本文的问题焦点一一对应,称之为简单问句;大于1个问题焦点的称为复杂问句,复杂问句的问题焦点通常是本文的问题焦点的组合。

从表4对测试语料的分析可知,语料中有不少长句(约占20%),长句中虽然包含了语义规则中所要求的词,但这些词在长句中的分布较散,可能已经与规则所要表达的意思相差甚远。通常这一类问句的规则词分布密度较小,在下一步的工作中可考虑设置分布密度阈值来避免这一类的错误匹配。

表4 测试语料统计分析数据

在语料中也有不少复杂问句(约15%)。用户经常会在一个问句中隐含多个问题焦点,如问句“请问彩铃怎么开通以及如何收费啊?”其中包含了两个问题焦点(彩铃开通方法、彩铃收费方法)。在这种情况下,系统返回其中之一都不合适。这种情况可通过返回多个问题焦点,并将其答案经过重新组合后反馈给用户。另外,一个用户连续的多个问题通常是相关的,若不考虑这些上下文信息,将导致错误结果。如有问句(1)“彩铃是如何开通的?”(2)“它怎么收费啊?”若单独的去理解问句(2)是无意义的,必须联系用户的前一个问题才能准确地理解用户意图。目前系统假设问句之间是不相关的,从而导致部分问句理解错误。分词模块也对系统准确率产生了一定影响。由于所处理领域的一些概念多为新词,其组词模式也多种多样,如在业务“手机停机”中,其为一个复合短语,在分词时很难确定是否要将“手机”与“停机”分开。如在句子“手机停机业务怎么办理?”等等,需要将“手机停机”作为一个业务名看待,而在句子“我手机停机了怎么办?”则需要将“手机停机”分开。在文中以idf值作为词(类)的权重因子,而由于文法规则集合的不完备性,导致基于其计算出来的权重有时不太准确,对于一些语义上比较重要的词,其权重因子有时很小;对于一些不太重要但只在少数质量较差(即规则容易引起匹配歧义)的规则中使用的词或词类,权重因子反而会很高。在下一步工作中,可考虑将规则的匹配准确率因子加入到词(类)权重计算中。

6 结束语

短文本理解除了对问答系统的性能至关重要,在很多应用中都有很急迫的需求,比如Web搜索、微博、广告匹配、智能客服等。针对短文本具有不符合传统语法、语境较少、歧义多等特点,本文提出的基于领域本体和带约束语义文法的自然语言理解方法,通过与语义资源相结合,可以在词汇级、句法级、语义级对文法解析过程进行约束,解决歧义问题。实验结果表明,这一方法具有较高的准确率和识别率。目前系统中的核心语义文法都是由人工构造而成,在系统建设初期,需要投入一定的人力成本,这也是本文下一步要开展的工作,即以用户历史问题集合为基础,自动或半自动地构造语义文法规则。

[1]Fernández A M.Closed-domain natural language approaches:methods and applications[M].Editorial de la Universidad de Granada,2014.

[2]Mollá D,Vicedo J L.Question answering in restricted domains:An overview[J].Computational Linguistics,2007,33(1):41-61.

[3]Mikolov T,Sutskever I,Chen K,et al.Distributed representations of words and phrases and their compositionality[J].Advances in neural information processing systems,2013:3111-3119.

[4]Bordes A,Chopra S,Weston J.Question answering with subgraph embeddings[J].arXiv preprint arXiv:1406.3676,2014.

[5]Zhang K,Wu W,Wang F,et al.Learning distributed representations of data in community question answering for question retrieval[C]//Proceedings of the Ninth ACM International Conference on Web Search and Data Mining.ACM,2016:533-542.

[6]中文信息学会.中文信息处理发展报告(2016)[R/OL].http://cips-upload.bj.bcebos.com/cips2016.pdf,2016:83-89.

[7]Choi E,Bahadori M T,Song L,et al.GRAM:Graph-based attention model for healthcare representation learning[J].arXiv preprint arXiv:1611.07012,2016.

[8]Bordes A,Weston J,Usunier N.Open question answering with weakly supervised embedding models[C]//Proceedings of the Joint European Conference on Machine Learning and Knowledge Discovery in Databases.Springer Berlin Heidelberg,2014:165-180.

[9]Ferrone L,Zanzotto F M.Symbolic,distributed and distributional representations for natural language processing in the era of deep learning:a Survey[J].arXiv preprint arXiv:1702.00764,2017.

[10]Palangi H,Deng L,Shen Y,et al.Deep sentence embedding using long short-term memory networks:Analysis and application to information retrieval[J].IEEE/ACM Transactions on Audio,Speech and Language Processing(TASLP),2016,24(4):694-707.

[11]Fernández A M.Closed-domain natural language approaches:methods and applications[M].Editorial de la Universidad de Granada,2014.

[12]Andrenucci A,Sneiders E.Automated question answering:Review of the main approaches[J].ICITA,2005,(1):514-519.

[13]王东升,王石,王卫民,等.基于本体和语义文法的上下文相关问答[J].中文信息学报,2016,30(2):142-152.

[14]陈肇雄.SC文法功能体系[J].计算机学报,1992(11):801-808.

[15]Steedman,Mark.The Syntactic Process[M].The MIT Press,2000.

[16]Liang P,Jordan M I,Klein D.Learning dependency-based compositional semantics[C]//Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics:Human Language Technologies-Volume 1.Association for Computational Linguistics,2011:590-599.

[17]Titov I,Klementiev A.A Bayesian model for unsupervised semantic parsing[C]//Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics:Human Language Technologies-Volume 1.Association for Computational Linguistics,2011:1445-1455.

[18]Liang P.Learning executable semantic parsers for natural language understanding[J].Commun.ACM,2016,59(9):68-76.

[19]Kate R J,Wong Y W,Mooney R J.Learning to transform natural to formal languages[C]//Proceedings of the National Conference on Artificial Intelligence.Menlo Park,CA; Cambridge,MA; London; AAAI Press; MIT Press; 1999,2005,20(3):1062.

[20]Karlsson F.Constraint grammar as a framework for parsing running text[C]//Proceedings of the 13th conference on Computational Linguistics-Volume 3.Association for Computational Linguistics,1990:168-173.

[21]Bick E,Didriksen T.CG-3—Beyond classical constraint grammar[C]//Proceedings of the 20th Nordic Conference of Computational Linguistics,NODALIDA 2015,May 11-13,2015,Vilnius,Lithuania.Linköping University Electronic Press,2015(109):31-39.

[22]L Antonsen,S Huhmarniemi,T Trosterud.Constant grammor in dialogue systems[C]//Proceedings of the NODALIDA 2009 workshopConstraint Grammar and robust parsing NEALT Proceedings Series,2009,8:13-21.

[23]Bick E,A constraint grammar based question answering system for portuguese[J].Progress in Artificial intelligence,2003,2902:414-418.

王东升(1982—),博士,讲师,主要研究领域为自然语言处理、知识工程、语义网等。E-mail:wds_ict@163.com

王石(1981—),博士,副研究员,主要研究领域为文本处理、问答系统、知识工程等。E-mail:wangshi@ict.ac.cn

王卫民(1977—),博士,讲师,主要研究领域为自然语言处理、知识管理、问答系统等。E-mail:wangweimin@google.com

猜你喜欢

文法本体语义
眼睛是“本体”
语言与语义
中国石油大学胜利学院文法与经济管理学院简介
西夏文铜镜的真言文法与四臂观音像研究
基于本体的机械产品工艺知识表示
批评话语分析中态度意向的邻近化语义构建
25年呵护患病妻子不离不弃
“社会”一词的语义流动与新陈代谢
“吃+NP”的语义生成机制研究
专题