APP下载

基于HNC的命题逻辑推理方法

2013-10-08田永昌

装甲兵工程学院学报 2013年2期
关键词:前提条件语块原子

李 颖,田永昌

(1.装甲兵工程学院科研部,北京100072;2.装甲兵工程学院研究生管理大队,北京100072)

自动推理技术作为人工智能领域研究的基础和核心问题,对人工智能的各分支产生了重大而深远的影响。许多人工智能系统(如专家系统、问答系统)都是以推理系统作为其核心进行构建的。早期的推理技术以经典的谓词逻辑(主要是一阶逻辑)为基础进行推理,其模型主要包括语义归结、超归结、换名归结、支持集策略、锁归结和线性归结等归结推理技术[1]。而现代推理技术突破了一阶逻辑的基础,转向更复杂的逻辑系统[2-3],同时将信息不准确、信息不完全、模糊信息、不确定性假设等因素引入到了推理系统,提出了基于概率模型的推理[4]、基于事例的推理[5]以及本体推理[6]等。

虽然推理技术取得了长足的发展,但是各种推理技术都是基于命题/谓词逻辑的符号系统,而鲜有直接面向自然语言的推理方法的研究。针对这一现状,本文将探讨在命题逻辑框架下如何将自然语言描述的推理问题直接作为输入进行推理。

1 推理问题与预设

推理问题分为前提和结论2个部分。传统逻辑中,根据推理的思维过程,可以将推理分为3类:演绎推理、归纳推理和类比推理。如果按照推理时所用知识的确定性来分,推理可以分为确定性推理和不确定性推理。不确定性推理的前提条件或规则往往是不确定的,所以形成的结论也是不确定的。在现代逻辑中,一般推理都是必然性的推理,即前提条件蕴涵结论的推理,也即演绎推理。本文探讨的是直接面向自然语言的、以命题逻辑为前提的演绎推理和确定性推理,即前提条件和推理中所用的知识都是确切表示的,结论也是确定的。

推理问题的输入一般包含3要素:背景陈述(B)、前提条件(P)及提问(Q)。输出则是对提问的回答(A),其形式化一般表述为f(B,P,Q)→ A。前提条件(P)是推理问题的核心,并且集合P中每个元素必须是命题,对于不是命题的,不在本文处理范围之内。背景陈述(B)一般位于推理问题的起始部分,它陈述的是P的一个背景知识,可以为后面的句类分析提供语境,例如:“一名公安人员审查一件盗窃案,已知的事实如下:”,可知这个推理问题与“盗窃”相关。提问(Q)的有无对推理并无太大影响,当没有提问时,可以根据P得出一个结论命题集合(A);而当有提问时,可以针对Q想要的某一方面的信息,从A中抽取出相应的结论命题。

2 句类分析

从自然语言描述的推理问题中自动提取命题并进行公式化处理的关键就在于如何让计算机“懂”自然语言。先“懂”后“做”是保证推理正确性的前提。那么,如何定义“懂”呢?HNC认为:就语句层面上,就是将自然语言空间的语句映射到语言概念空间的数学物理表示式(句类)[7]。句类完整地表示了语句的内部结构以及内部构件(语块)之间的关系,是进行命题抽取和命题公式化的依据。将语句映射到句类的过程称为句类分析,其流程如图1所示。

图1 句类分析流程

句类分析运用lv准则[8]来对句子进行理解处理,它可以分为3个步骤:第1步是语块感知和句类假设,找出句子中出现的l类概念(语言逻辑概念,大致对应于语法中的虚词)和v类概念(动态概念,大致对应于语法中的动词),根据这些信息感知语块的边界,从而初步估计语句中语块的数量及其类型,进而对句子的句类进行假设,假设的结果是一个候选集;第2步是根据语块感知结果对语句顶层结构(句类)进行假设检验,运用句类知识对假设的句类进行分析,作出合理性判断,最终确定句子的句类;第3步是语块内部结构分析,在句类确定的情况下,对各个语块内部语义构成进行分析。句类分析的结果是产生句类代码与语块表示式,直接服务于后续的命题提取与公式化处理。

3 推理方法

本文以HNC理论作为基础,利用lv准则进行句类分析,可以有效地提取出前提条件中蕴涵的命题,再利用数学公式化的推理,最后得出结论,推理方法如图2所示。

图2 基于HNC的推理方法

3.1 命题公式化

命题公式化是建立在句类分析基础之上的。句类分析可以得到句子的语义知识,包括句类代码和语块内部构成知识,这样,计算机就对句子有了一定程度的“理解”。确定句类就相当于确定了命题的边界,进而可以对前提条件(P)中的命题进行抽取并公式化。命题公式化的过程如图3所示。

1)对句间逻辑连接词进行分析。在HNC中,lb类概念表示句间逻辑连接:lb1表示句间“∧”(与)和“∨”(或)逻辑连接;lb2表示句间的“→”(蕴含)逻辑连接,如“如果……,那么……”、“因为……,所以……”、“若……,则……”等。根据句类分析的结果,判断是否存在lb类概念。若不存在,则进入2);若存在,则将该lb类概念对应的逻辑连接关系记录下来,然后进入2)。

图3 命题公式化的过程

2)对语块内部的逻辑“连接词”进行分析。这里的“连接词”表示概念上的连接,不仅包括“词”,还包括标点符号“、”和“,”。HNC提供了完备的语言逻辑概念,其中:l41类概念包含了语块内部逻辑连接“∧”和“∨”,表达“∧”的词有“和”、“与”、“并且”等,表达“∨”的词有“或”、“或者”等;jl11类概念包含了命题逻辑连接“¬”(非),表达“¬”的词有“不”、“没”、“非”、“没有”等。而标点符号“、”和“,”则需要根据现场知识来判断它们属于哪一类逻辑连接关系,如果有表示“∨”的逻辑概念在附近时,“、”和“,”作为“∨”处理;否则作缺省“∧”处理。所以,本文把“、”和“,”作为l41类概念对待。

对语块内部的逻辑“连接词”进行分析,首先判断句类分析的结果中是否含有l41类概念或jl11类概念:如果没有,该句类对应的句子直接作为命题存入原子命题表中;如果有,则需要将语块内部逻辑关系转化为原子命题的句间逻辑关系,即将句子拆分成原子命题(不包含l41类概念或jl11类概念的原子命题单元),存入表中,并在复合命题表中记录其间逻辑关系。其次,在存放原子命题之前,需要与当前原子命题表进行比较:如果当前的命题在原子命题表中“存在”,则放弃将其命名为新的命题;若“不存在”,就将当前命题命名为新的命题,存入表中。这里的“存在”与“不存在”是通过分析命题的句类,计算当前命题与表中已经存在命题的语义相似度[9]来决定的。如果相似度达到某一设定的阈值,就可以认为这2个命题是同一个命题,即当前命题已经存在。另外需要说明的是:由于否定词表示逻辑“非”,在HNC中属于基本逻辑概念(jl类),在句子中一般位于全局特征语块之前;所以在拆分时统一将否定词去掉,只保存其肯定形式。最后,将原子命题和复合命题通过1)中记录下来的句间逻辑关系进行复合,得到前提条件对应的命题公式表。

3.2 问题求解

本文是运用求主析取范式的知识来解决推理的问题。求解的思路是:先将命题公式表中各项取合取式;然后通过真值表分析求得公式的主析取范式;之后得到自然语言表述的命题结论。

求主析取范式的基本思路是建立在真值表的基础上的,具体算法如图4所示。

图4 求主析取范式算法

1)获取原子命题表中的命题个数,确定命题公式A的变元个数j,设其中的原子命题分别为(P0,P1,…,Pj-1)。

2)初始化真值表,公式A的变元的真值表用一个二维数组 p[i][j]表示,i=2j。

3)从 i=0 开始,每次取 p[i][0],p[i][1],…,p[i][j-1],依次作为 P0,P1,… ,Pj-1的值代入A的算式中,计算A是否为1。若为0,则i=i+1后转到下一组判断;若为1,保存当前一组值为极小项,i=i+1后继续下一组判断。直到所有组合判断完毕后,将所有的极小项析取,得到主析取范式。

求解的最后一步是将主析取范式的结果还原成自然语言。主析取范式的每个极小项就是对提问(Q)的一个解。如果求得的主析取范式的一个极小项是p∧q∧¬r,则表示p、q命题都成立,r命题不成立。对于成立的命题,还原成自然语言时只需要到命题表中去寻找即可;对于不成立的命题,到命题表中寻找与之相关的肯定命题,并将肯定命题改写成否定命题即可。

4 实例分析

公司要从赵普、钱小强、孙鑫、李程、周达5名新毕业的大学生中选派一些人出国,选派必须满足以下条件:1)若赵普去,则钱小强也去;2)李程、周达至少有一人去;3)钱小强、孙鑫去且仅去一人;4)孙鑫、李程要么一起去,要么都不去;5)若周达去,则赵普、李程也一起去。公司该如何选派他们出国?

采用本文的处理方法,处理步骤如下。

1)读取推理信息并对其进行预处理。主要工作是在分词基础上提取推理问题3要素:背景陈述(B)、前提条件(P)、提问(Q)。

2)从背景陈述(B)可以得到语境“选派出国”,通过“出国”这个v类概念来激活其句类:自身转移句 T2bJ=TA+T2b+TB2[10]。该自身转移句包含3个语块:TA表示转移者;T2b表示转移的动作;TB2表示转移的目的地。

3)对前提条件(P)进行句类分析。

对于第1个前提条件(P),“若”的HNC符号类别是lqb22(lb22是句间逻辑,q代表“前标记”),“则”的HNC符号类别有3项:rd2、ra0、lhb22(lb22是句间逻辑,h代表“后标记”)。根据语义距离计算,“若(lqb22)”与“则(lhb22)”的义项匹配且前后构成搭配,激活句间逻辑蕴涵关系“→”,并将这个关系记录下来。然后分别对“赵普去”和“钱小强也去”进行句类分析。由“去”这个v类概念和背景陈述(B)中提供的语境,可以激活“赵普去”的句类,它也属于自身转移句,其中“赵普”对应T2bJ中的TA,“去”对应 T2bJ中的T2b,而 T2bJ中的 TB2语块省略了。同理,在“钱小强也去”中,“钱小强”对应TA,“也去”对应 T2b,省略了 TB2。由于“赵普去”的各语块内部不含l41类概念或jl11类概念,因此将其作为原子命题处理。计算此命题与原子命题表中各原子命题的语义距离,可知表中不存在此命题,于是将“赵普去”作为新命题p存入原子命题表中。同理,“钱小强也去”作为新命题q存入原子命题表中。最后将逻辑关系复合,得到第1个前提条件(P)的命题公式是p→q,存入命题公式表中。

对于第2个前提条件(P),由于不存在表示句间逻辑连接的lb类概念,所以形式上只存在一个句子。由“去”这个v类概念和背景陈述(B)中提供的语境,可以激活它的句类为自身转移句,其中“李程、周达至少有一人”对应T2bJ中的TA,“去”对应T2bJ中的T2b,省略了T2bJ中的TB2。“、”属于l41类概念,故将原句拆分成2个原子命题“李程去”和“周达去”。计算“李程去”与原子命题表中各原子命题的语义距离,可得它不存在于表中,故作为新命题r存入原子命题表中。同理,“周达去”作为新命题s存入原子命题表中。同时,根据现场知识“至少有一”,可以确定“、”属于 l41类概念中的“∨”概念,可得这2个命题的复合关系为r∨s,存入复合命题表中。由于第2个前提条件不含表示句间逻辑连接的lb类概念,所以该复合命题可以直接作为命题公式存入命题公式表中。

同理,依次处理第3、4、5前提条件(P),可得到原子命题t“孙鑫去”;命题公式(q∧¬ t)∨(¬ q∧t),(t∧r)∨(¬ t∧¬ r),s→(p∧r)。原子命题存入原子命题表中,命题公式存入命题公式表中。

4)构造公式 P=P1∧P2∧P3∧P4∧P5,(其中P1,…,P5表示命题公式表中的5个命题),求出公式P的主析取范式为¬p∧¬q∧r∧¬s∧t。

事实上,P主析取范式中的极小项的全体构成了结论命题集合A,此例中A只有一个极小项(¬p∧¬q∧r∧¬s∧t),表示推理结论是唯一的。

5)提取A中元素,还原结论命题Q。对A中唯一元素¬p∧¬q∧r∧¬s∧t命题进行解释还原,即:命题 r、t成立,而命题 p、q、s不成立。在原子命题表中查找并取出所有原子命题对应的句子,成立的命题可直接取出,而不成立的命题取出时需要改写成否定命题,即“孙鑫去,李程去,赵普不去,钱小强不去,周达不去”。

5 试验结果分析

试验结果的评价是以命题表中命题的准确率、召回率和F值为标准的。本文在试验评测时,选取了具有代表性的200个推理问题作为试验材料(这些语料来自离散数学、人工智能及其他相关资料)进行处理分析,对试验中得到的命题准确率、召回率和F值进行了统计,结果如表1所示。由表1可知:测试的平均准确率、平均召回率和F平均值都超过了90%,这是一个比较满意的结果。

表1 试验结果

通过分析,影响最终测试结果的因素有:1)在预处理中,分词存在歧义,例如“乒乓球拍卖完了”,既可以是“乒乓球/拍卖/完了”,也可以是“乒乓球拍/卖完了”,2种分法都可能行得通,这种条件前后分词不一致的情况,导致原本是同一个命题的2个句子变成了2个命题,影响试验结果;2)人称的指代不明确,例如“张三撞了李四,他今天没来上班”,这个“他”是不确定的,可以理解成“张三没来上班”,也可以理解成“李四没来上班”,得到的命题不同,推理的结果也就不同;3)知识库不够完善,有些辅语块标志符的某个义项缺失,还有些词语甚至不在知识库中,例如“关于”、“上”、“间”、“对”等词没有标出l1类的义项,“出于”不在知识库中,这就造成了有些信息无法识别,命题无法抽取;4)词的兼类现象,有些辅语块的标志符兼有l类和v类概念,例如“通过”、“在”、“经过”等,如何分辨出它们属于哪类概念是比较困难的,例如先有前提条件“小张通过初赛”,这里的“通过”作v类概念处理,而后又有前提条件“小张通过初赛认识了小李”,这里的“通过”是l类概念,所以前后根本不是同一个命题,但是处理的结果却把这2处当作同一个命题处理了,造成结论错误。

6 结论

本文将传统的基于逻辑符号系统的推理问题拓展到直接面向自然语言的推理问题,将HNC理论与推理方法相结合,从自然语言中完成自动化的命题提取,并在此基础上完成对结论命题的推理。试验结果表明:该方法能准确理解自然语言中的语义逻辑关系,完成命题逻辑推理。

当然,本文所述的推理方法还有待进一步扩展与完善。一方面,本文的方法目前还只针对命题逻辑推理,如何扩展到谓词逻辑上的推理还需要进一步探讨;另一方面,知识库的建设是一个庞大的工程,文中涉及到的逻辑词汇有限,没有对一些辅助说明部分的词语进行分析,因此,在后续建设知识库的过程中,应尽量完善知识库中涉及的逻辑推理知识的概念,以激活前提条件中存在的逻辑关系。

[1] 黄改娟.自动推理技术发展的回顾与展望[J].微机发展,2003(S2):36-38.

[2] 齐勇,刘杰,李伟华.基于SOLe的自动推理算法[J].计算机仿真,2010(11):162-164.

[3] Backes J,Brown C E.Analytic Tableaux for Higher-order Logic with Choice[J].Lecture Notes in Computer Science,2010,6173:76-90.

[4] Beierle C,Finathammer M,Kern-Isberner G,et al.Automated Reasoning for Relational Probabilistic Knowledge Representation[J].Lecture Notes in Computer Science,2010,6173:218-224.

[5] 侯玉梅,许成媛.基于案例推理法研究综述[J].燕山大学学报,2011,12(4):102-108.

[6] 潘超,古辉.本体推理机及应用[J].计算机系统应用,2010(9):163-167.

[7] 苗传江.HNC(概念层次网络)理论导论[M].北京:清华大学出版社,2005:125-157.

[8] 晋耀红.HNC(概念层次网络)语言理解技术及应用[M].北京:科学出版社,2006:79-94.

[9] 张运良,张全.基于HNC理论的语义相关度计算方法[J].计算机工程与应用,2005(34):1-3.

[10] 李颖,王侃,池毓焕.面向汉英机器翻译的语义块构成变换[M].北京:科学出版社,2009:188-192.

猜你喜欢

前提条件语块原子
原子究竟有多小?
原子可以结合吗?
带你认识原子
小学英语语块教学策略
科技汉语语块的类型和特征
信息化环境下英语语块教学模式在小学英语教学中的运用
语块教学在高中英语教学中的应用分析
二次根式题常见错解剖析
数学教学中的教学互动阐述
浅析高校教师绩效管理的前提条件