刘小明 樊孝忠 刘里
(北京理工大学计算机学院,北京100081)
问句分析是自动问答系统首要的工作,是后续信息检索和答案抽取的前提和基础,对问答系统的整体性能具有重要的影响.对用户以自然语言提问的问句,问句分析通过词法、句法、语义甚至语言等多种处理,提取问题中的各种信息,并以计算机能够处理的形式表征出来.因此,问句分析的目的主要是为后续信息检索和答案抽取提供合适的问题结构化表示形式.
问句分析一直是问答系统研究的重点和难点[1],国内外学者对此进行了广泛且深入的研究.文献[2]中研究了并列结构识别的问题.文献[3]中通过识别问句主题和焦点来检索问句.贾君枝等[4]利用框架语义学原理,构建面向问句分析的语义框架,实现对问句的语义分析.陈康[5]将句子中具有固定语义且位置相对固定的部分称为语义块,据此提出基于语义块的问句表征.范士喜等[6]提出的问句信息块标注(QICA)分析方法与文献[5]中方法相似,先根据语义将问句中的信息分为5类,然后对问句中的信息分类标注完成问句分析工作.上述方法都取得了不错的效果,但对含有事件信息的复杂问句处理的准确率不高[5].
复杂问题处理的一个难点是如何处理其中包含的事件信息[5].特别是在一些特定的受限领域,如计算机故障诊断领域问答系统中,问句描述的是计算机出现故障的信息,这些故障信息由一系列的领域事件构成.例如,在问句“显示器黑屏是怎么回事?”中,“黑屏”为一领域事件,对理解该问句起决定性作用.
复杂问句S1“打开电脑或重新启动电脑的时候,主机的电源指示灯亮,显示器没有显示,主机发出嘀嘀的报警声”中,“打开”、“启动”、“亮”、“显示”和“报警”5个事件决定了问句的语义信息,其中“打开”和“启动”是并列事件,但因其修饰成分不同,所以是不同的两个事件.
由此可见,正确处理事件相关信息是分析复杂问句和提高系统性能必须解决的问题.为此,文中提出了一种融合事件信息的复杂问句分析方法,该方法利用事件抽取技术获取复杂问句中若干事件,以事件语义模型表征事件,用多个事件语义模型实例表征整个复杂问句的完整语义信息.在事件语义表征的基础上,利用事件要素计算事件的相似度,再由事件的相似度计算完整问句的相似度.最后通过实验验证融合事件信息的复杂问句分析方法的有效性.
客观世界是运动的,运动的世界是由事件描绘的.事件由时间、空间、参与者要素、过程状态等要素构成,这些要素描述了参与事件的一个或多个实体之间发生相互作用的情景、方式、程度或效果等信息[7].语言描述事件的基本方式是(Event(do What),Who,Whom,Where,When,How),其意义是描述在一定的时间(When)和空间(Where)环境中,实体(Who,Whom)之间发生了什么样的作用(Event(do What)),以及作用发生的方式、效果、程度等(How).
事件由事件触发词(Event)触发,事件触发词是标识事件的动词或者动词性名词,是表示事件发生的术语[8].事件发生的空间(Where)、时间(When)、参与者(Who,Whom)和事件发生的状态、方式、程度或效果(How)等要素是事件的论元,事件触发词和事件论元构成了事件完整的语义信息.例如,对于句子“昨天在中关村我买了一台笔记本电脑”,其事件触发词和事件要素标识如下:
基于以上叙述,定义事件的一个形式化描述,称之为事件语义模型.
定义1事件语义模型Event={A,O,M,H,T,L}.其中:A为施事要素Who;O为受事要素Whom,M为事件内容或者动作要素Event,将事件触发词也看作是一项事件要素;H为作用的效果;T为时间要素When;L为空间信息Where.
根据事件语义模型的定义,句(1)中“买”事件表示为Event(买)={A=我,O=一台笔记本电脑,M=买,H=了,T=昨天,L=在中关村}.
比较两个事件需要计算两个事件的相似度.事件语义模型的定义表明,事件是一种包含多种属性信息的复杂数据对象.文献[9]中给出了一种包含多种类型属性的复杂数据对象的通用相似度计算方法,定义复杂对象i(i={xi1,xi2,…,xin})和j(j={xj1,xj2,…,xjn})的相似度so(i,j)为
式中:αf为属性f的权值为对象i和j关于f的相似度;如果属性值xif或xjf缺失,则指示项0,否则
文献[7]中将事件定义为由动作、对象、时间、环境、断言和语言表现6种事件要素构成的一个6元组,文献[10]中基于此定义,通过计算事件的语法和语义相似度、词语序列相似度、时间重合度,并按照各要素对事件描述能力的强弱规定了权重因子的大小,最后综合事件所有要素的相似度得到事件的相似度.在计算机故障诊断领域,问题涉及的事件具有如下特性:(1)若事件触发词即事件的动作要素语义信息不同,则两个事件是不同的.例如,句子“显示器黑屏”中的“黑屏”事件和“显示器进水了”中的“进水”事件,即使这两个事件的施事要素相同,都为“显示器”,但却是不同的事件,两个事件的相似度为0.(2)事件的作用效果要素对事件的修饰成分具有决定性的影响.例如“指示灯亮”和“指示灯不亮”对事件“亮”的修饰不同,意义完全相反.(3)其余要素如时间和空间信息分别以一定的权值影响事件.
因此,计算机故障诊断领域中事件的相似度虽然也是由事件的所有要素共同确定的,但不是各个特征相似度的简单组合,而是事件的动作要素和事件的作用效果对事件的相似度具有决定性,其它要素对事件按照一定的权重施加影响.这与一般的多种属性的复杂数据对象之间的相似度是不同的.据此改进式(2),计算机故障诊断领域中事件实例ei和ej的相似度为
式中:αp(p=A,O,T,L)为施事、受事、时间和空间4种元素的权重,权值由领域专家根据具体的应用设定,其中如果属性值pi和pj同时缺失或者同时出现,则指示项s(pi,pj)为事件要素pi和pj之间的相似度.参照文献[11],将事件要素看作义元,则事件要素之间相似度计算公式为
式中:d为pi和pj在义元层次体系中的路径长度,是一个正整数;h(pi)和h(pj)分别为义元pi和pj的层次深度.
例如,句子Si=“显示器没有显示”和Sj=“显示器显示黑屏”都包含有“显示”事件,分别表示为ei和ej.那么事件ei和ej的相似度以及各个要素的相似度计算结果如表1所示.
表1 事件ei和ej及其要素之间的相似度1)Table 1 Similarities between event ei and ej and their elements
根据以上要素,假设除事件的动作要素和作用效果要素外,其余各个要素间的权重相同.按照式(3),事件ei和ej的相似度sE(ei,ej)=1×0.8×(1+1+1+1)/4=0.8.
事件信息的语义表征是复杂问句“理解”的关键.基于事件信息的问句分析就是提取并形式化地表征问句中事件的语义信息,然后用事件语义模型形式化表征问句中的各个事件及事件元素信息,由各个事件语义模型的实例组成的集合描述整个问句的语义信息,为信息检索和答案提取提供形式化支持.基于事件语义模型的问句分析包括预处理、事件语义信息提取和事件语义信息表征3个步骤.文中以问句S1为例来说明这3个步骤.
预处理包括分词、词性标注和命名实体识别.首先对问句S1进行分词和词性标注,结果如下:
打开/v电脑/n或/c重新/d启动/v电脑/n的/ude1时候/n,/wd主机/n的/ude1电源/n指示灯/n亮/vi,/wd显示器/n没有/d显示/v,/wd主机/n发出/v嘀嘀/o的/ude1报警/vn声/n.
命名实体识别利用领域实体关键词库确定问句中的实体,并根据领域本体确定实体之间的相互关系和实体的属性.根据领域实体关键词库,对分词、词性标注的结果进行扫描,确定其中的实体关键词.对发现的实体关键词,查询领域本体库,获取实体及其之间的关系.领域本体库中包括了实体、实体属性和实体之间的关系,即计算机部件及其属性信息,以及部件间的关系信息.该示例中,扫描问句发现的实体关键词有“电脑”、“主机”、“显示器”、“电源”和“指示灯”,因此确定该问题的实体集合Entity={entity1=电脑,entity2=主机,entity3=显示器,entity4=电源,entity5=指示灯,entity6=报警声};关系集合Relation={r1=HAS_A(电脑,主机),r2=HAS_A(电脑,显示器),r3=HAS_A(主机,电源),r4=HAS_A(电源,指示灯)}.实体及其属性信息是事件抽取时事件论元的备选项.利用实体关系判定一个词在不同句子中指示的是否为同一个实体.如主机和显示器都有电源和指示灯两个子部件实体,显然显示器电源与主机电源是不同实体.该内容不是文中的研究重点,故不再详述.
事件抽取包括事件识别和事件要素的识别两部分.事件识别是根据领域事件关键词库,在问句预处理结果中扫描事件关键词;事件要素的识别即事件论元的识别,是对发现的事件确定与之相关的实体、时间、空间和作用效果等信息.
事件识别需要一个领域事件触发词集合,该集合包含特定领域中可能表示事件信息的所有动词和词性.如果问句中某个词是集合中的一个元素,且词性与触发词集合中标识的相同,则认为该词触发了一个领域事件.
事件论元识别采用哈尔滨工业大学信息检索研究中心共享的LTP服务接口[12],通过调用该接口中的语义角色标注功能,获取事件触发词的语义角色,再对比预处理阶段获取的实体信息,将赋予语义角色的领域实体作为事件的施事或受事论元.简单地将获取的标记ArgTmp语义角色的词作为事件的时间要素,标记ArgLoc的词作为空间要素.
根据上述事件语义模型和事件的抽取结果,将事件表征为由多个要素构成的事件语义模型实例.在例句S1中,领域事件关键词有“打开”、“启动”、“亮”、“显示”和“报警”.其中,“打开”和“启动”是电脑的动作,副词“重新”是“启动”的修饰语;“亮”是指示灯的动作;“报警”是主机的动作,产生的结果是“滴滴”的实体“声音”;“显示”是显示器的动作,结果是“没有”.“报警”是“主机”的操作,即“主机”发生了“报警”事件.因此,问句S1的事件集合Event={“打开”,“启动”,“亮”,“显示”,“报警”}中的各个事件及其语义模型实例如表2所示.
表2 问句S1的语义表征Table 2 Semantic representation of question S1
研究发现,复杂问句的事件构成了问题的主干,在计算机故障诊断领域更是如此.因此将包含事件的问句作为一种特殊的文本,表示为由多个事件语义模型表征的事件向量.根据事件语义模板和事件相似度定义,参考文献[13]中基于事件的文本相似度计算方法,定义基于事件的复杂问句相似度计算方法如下:
式中:sS(Si,Sj)为问句Si和Sj的相似度;sE(eik,ejk)为事件eik和ejk的相似度;分别为Si和Sj包含的事件个数;n为Si和Sj包含的全部事件个数
实验数据一部分来源于某自动客服系统的用户常用问句(FAQ)库,另一部分则取自补充FAQ库,从网络如“百度知道”、“搜搜问问”、“太平洋电脑网快问”等知识问答专栏抓取.总共有104个与显示器相关的问句,作为领域备选问句集合Q.
对领域备选问句集合Q中的问句进行分词和词性标注,将所有词性标注为动词的词语组成备选事件触发词备选集合.然后,领域专家人工审核每个事件的触发词,确定与显示器故障相关的特有的事件动词或名词性动词,组成显示器故障相关的事件触发词集合W.
从备选问句集合中选取包含有事件触发词的问句,再人工除去无关及无效问句,得到实验所需的领域事件复杂问句2500个,组成实验数据集合TQ.实验中使用的部分问句和事件如表3所示.
表3 复杂问句及其事件示例Table 3 Samples of complex question and its related events
计算用户问句与问句库中各个问句的相似度,取阈值为0.75,将相似度大于该值的问句认为是与用户意义一致的问句,有多个答案的取第一个作为有效答案,并判定其正确性.
基于词频统计(TFIDF)的方法、基于知网的方法、基于语义依存的方法[14]、基于语义块的方法[5]是目前中文问句分析中具有代表性的方法,文献[5-14]中都对这些方法及其性能进行了详细的叙述,这里不再赘述.为验证事件语义信息对问句分析的效果,采用这4种方法与基于事件信息的复杂问句分析方法进行实验.实验中使用相同的TQ数据,并采用准确率(准确率=答对的问题数/问题总数)来衡量这些方法的性能.
初步实验是单独利用基于事件信息的问句分析方法,有1157个问句取得了正确的结果,其准确率只有46.28%.但其中事件论元识别正确的有1450个问句,取得了79.79%的准确率.由此可见,单独使用事件语义信息并不能取得理想的识别效果.
因此,考虑在利用问句关键词词频特征和语义信息特征方法的基础上增加领域事件语义信息.进一步的实验是:首先从问句中抽取关键词,根据知网和领域本体对关键词进行同义词、领域关联扩展.将关键词及其扩展结果作为查询条件,利用基于TFIDF的方法在FAQ库中查询,将返回的前10条作为备选结果.然后,根据事件语义信息对备选结果进行分析,利用基于事件的问句相似度计算方法来计算备选结果与用户问句的相似度.最后,将相似度最高的常用问句作为最后的返回结果.几种方法的实验结果如表4所示.
从表4可知,基于TFIDF的方法、基于知网的方法、基于语义依存的方法和基于语义块的方法都取得了较高的准确率;而文中融合事件信息的复杂问句分析方法利用了问句中事件的结构化语义信息,进一步提高了对复杂问句的分析效果,准确率高达78.6%.
表4 几种方法的实验结果Table 4 Experimental results of severalmethods
文中将事件提取技术用于自动问答系统的复杂问题分析,定义了一个表征事件的事件语义模型和抽取方法,给出了一种事件相似度计算方法,并以此为基础设计、实现了融入事件信息的复杂问句分析方法.事件语义模型有效地表征了问题中的事件语义信息,事件向量表征了问题中的完整事件语义信息,因此,融入事件信息的问句分析方法在利用关键词词频特征和词义特征的基础上,还利用了事件的语义信息,可为自动问答系统后续的信息检索和答案提取提供更为准确和丰富的结构化语义信息,提高了自动问答系统的准确度.
一个事件的发生往往会对另一个事件产生影响,将事件之间的相互影响称为事件之间的关系.现阶段对复杂问句分析的研究仅利用事件集合来表征问句,没有利用事件之间的关系信息.事件之间的关系对问句更深层次语义理解的影响将是下一步研究的内容.
[1]郑实福,刘挺,秦兵,等.自动问答综述[J].中文信息学报,2002,16(6):46-52.Zheng Shi-fu,Liu Ting,Qin Bing,et al.Overview of question answering[J].Journal of Chinese Information Processing,2002,16(6):46-52.
[2]Fan Shi-xi,Wang Xuan,Wang Xiaolong.Combination of roughest theory and maximum entropy model for conjunctive structure detection in QA system[C]∥Proceedings of the Sixth International Conference on Machine Learning and Cybernetics.Hong Kong:IEEE,2007:3051-3056.
[3]Duan Hui-zhong,Cao Yun-bo,Lin Chinyew,et al.Searching questions by identifying question topic and question focus[C]∥Proceedings of the 46th Annual Meeting of the Association for Computational Linguistics:Human Language Technologies.Columbus:Association for Computational Linguistics,2008:156-164.
[4]贾君枝,邰杨芳.汉语框架网络问答系统的问句分析设计与实现[J].现代图书情报技术,2008,165(6):11-15.Jia Jun-zhi,Tai Yang-fang.The design and implementation of question analysis for Q&A system based on Chinese FrameNet[J].New Technology of Library and Information Service,2008,165(6):11-15.
[5]陈康.受限领域问答系统的问句分析研究[D].北京:北京理工大学计算机学院,2008.
[6]范士喜,王晓龙,王轩,等.面向真实环境的问句分析方法[J].电子学报,2010,38(5):1131-1135.Fan Shi-xi,Wang Xiao-long,Wang Xuan,et al.Real environment oriented question analyzing[J].Acta Electronica Sinica,2010,38(5):1131-1135.
[7]刘宗田,黄美丽,周文,等.面向事件的本体研究[J].计算机科学,2009,36(11):189-192.Liu Zong-tian,Huang Mei-li,Zhou Wen,et al.Research on event-oriented ontologymodel[J].Computer Science,2009,36(11):189-192.
[8]赵妍妍,秦兵,车万翔,等.中文事件抽取技术研究[J].中文信息学报,2008,22(1):3-8.Zhao Yan-yan,Qin Bing,Che Wan-xiang,et al.Research on Chinese eventextraction[J].Journal of Chinese Information Processing,2008,22(1):3-8.
[9]敖成龙,苏英,龚元明.基于相似度的复杂数据对象比较[J].北京理工大学学报,2003,23(5):593-595.Ao Cheng-long,Su Ying,Gong Yuan-ming.Comparison of complex data objects based on similarity[J].Transactions of Beijing Institute of Technology,2003,23(5):593-595.
[10]单建芳,刘宗田,周文.事件相似度计算[J].小型微型计算机系统,2010,31(4):731-734.Shan Jian-fang,Liu Zong-tian,Zhou Wen.Event similarity calculation[J].Journal of Chinese Computer Systems,2010,31(4):731-734.
[11]刘群,李素建.基于《知网》的词汇语义相似度计算[J].中文计算语言学,2002,7(2):59-76.Liu Qun,Li Su-jian.Word similarity computing based on How-net[J].Computational Linguistics and Chinese Language Processing,2002,7(2):59-76.
[12]哈工大信息检索研究中心.语言技术平台[EB/OL].(2006-09-05)[2010-09-10].http:∥ir.hit.edu.cn/demo/ltp/.
[13]仲兆满,刘宗田,周文,等.基于事件的文本相似度计算[J].广西师范大学学报:自然科学版,2009,27(1):149-152.Zhong Zhao-man,Liu Zong-tian,Zhou Wen,et al.Eventsbased text similarity computing[J].Journal of Guangxi Normal University:Natural Science Edition,2009,27(1):149-152.
[14]李彬,刘挺,秦兵,等.基于语义依存的汉语句子相似度计算[J].计算机应用研究,2003,12(12):15-17.Li Bin,Liu Ting,Qin Bing,et al.Chinese sentence similarity computing based on semantic dependency relationship analysis[J].Application Research of Computers,2003,12(12):15-17.