版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章Web信息抽取与问答系统
12.1信息抽取概述
12.2Web信息抽取
第12章.ppt
12.4小结思考题
12.1信息抽取概述
信息抽取系统的主要功能是从文本中抽取出特定的事实信息(factualinformation)。例如可从公司产品主页提取产品名、价格、发布时间、产品性能等。通常,被抽取出来的信息以结构化的形式描述,可以供用户查询以及进一步分析利用,例如可以进行不同网站的产品价格对比等。
信息抽取最初的目标是从自然语言文档中找到特定的信息,是自然语言处理领域特别有用的一个子领域。信息抽取系统既能处理含有表格信息的结构化文本,又能处理自由式文本(如新闻报道)。IE系统的关键组成部分是一系列的抽取规则或模式,其作用是确定需要抽取的信息[1]。下面通过一个实例进行说明。如果要从文本中抽取运动会相关的信息,有一段文本如下:“1896年,雅典举行第一届奥运会,古代奥运会的复兴吸引了来自14个国家的选手参赛,最大的代表团来自希腊、德国、法国和英国。1896年4月6日,美国的詹姆斯·康诺利赢得三级跳远的金牌,成为1500多年来首位奥运冠军,获胜者获得了一枚银质奖章和一个橄榄枝”。从这段文本信息中,抽取的奥运相关信息可以汇成表12-1。这是一个典型的信息抽取实例,输入是一段文本,输出是格式化的文本,格式化了的文本展示了最重要或用户关心的信息。
以上例子可以看出,信息抽取与信息检索密切相关,但两者之间也存在着巨大的差异,主要表现在三个方面:
(1)两者功能不同。信息检索系统主要是从大量的文档集合中找到与用户需求相关的文档列表;而信息抽取系统则旨在从文本中直接获得用户感兴趣的事实信息。
(2)处理技术不同。信息检索系统通常利用统计及关键词匹配等技术,把文本看成词的集合(bagsofwords),不需要对文本进行深入分析理解;而信息抽取往往要借助自然语言处理技术,通过对文本中的句子以及篇章进行分析处理后才能完成。
(3)适用领域不同。由于采用的技术不同,信息检索系统通常是与领域无关的,而信息抽取系统则是和领域相关的,只能抽取系统预先设定好的有限种类的事实信息。
另一方面,信息检索与信息抽取又是互补的:为了处理海量文本,信息抽取通常以信息检索系统(如文本过滤)的输出作为输入;而信息抽取技术又可以用来提高信息检索系统的性能。二者的结合能够更好地服务于用户的信息处理需求。12.1.1信息抽取的发展
信息检索已是一个较成熟的学科,其历史与文档数据库的历史一样长。但自动信息抽取技术则是近十年来发展起来的。从自然语言文本中获取结构化信息的研究最早开始于20世纪60年代中期,这被看做是信息抽取技术的初始研究,它以两个长期的、研究性的自然语言处理项目为代表:美国纽约大学开展的LinguisticString项目和耶鲁大学的FRUMP系统。前者关注从医疗报告和记录中抽取信息格式,这就是模板(template);后者关注故事理解,或从新闻报道中抽取某领域或场景信息。
20世纪80年代,很多学者开始研究信息抽取技术,促使信息抽取技术发展的一个主要推动力来自消息理解会议MUC(MessageUnderstandingConference)[2],从1987年到1998年,MUC共举办了七届,由美国国防高级研究计划委员会发起和资助。MUC会议主要为设计信息抽取系统的人提供评测比较的任务描述、测试集、手工标注的结果场景等,它包括以下任务:
(1)命名实体NE(NamedEntities):提取文本中相关的命名实体,包括人名、地名、机构/公司名称、有意义的数字表示等,例如:姚明、邓亚萍、北京奥组委等。
(2)实体关系ER(EntityRelations):提取命名实体之间的各种关系(事实),例如:邓亚萍是北京奥组委的雇员。
(3)模板场景(TemplateScenario/EventStructures):提取指定的事件,包括参加这些事件中的各个实体、属性及其中的关系,如北京奥运会、时间、地点、运动员等。
(4)共指(Coreference/Identitydescriptions):代词、名词的共指分析,即不同的实体表达了相通的含义。
(5)模板合并(TemplateMerger):把相同的事件合并为一个。
从1999年开始,除了强大的应用需求,推动信息抽取技术发展的另一种会议是由美国标准局主持的自动内容抽取(AutomaticContentExtraction,ACE)[3],它仍然关注评测,包括两大任务:一是实体识别和跟踪,二是关系识别和描述。近年来,随着Web上信息的快速增长,基于Web文档的信息抽取开始受到研究人员的广泛关注。比如卡耐基-梅隆大学的“Web挖掘(MiningtheWorldWideWeb)”项目[4]。该项目的目标是通过自动地从Web中提取事实,来创建大型的、结构化的数据库,采用的主要技术是研究机器学习算法,通过训练,自动提取出有用的信息。12.1.2信息抽取的评价指标
信息抽取技术的评测主要还是采用经典的信息检索评价指标来定量评价,即查全率(Recall)和查准率(Precision),但其内涵做了相应的改变。查全率可粗略地看成是正确抽取出的信息占抽取出的信息量的比例,而查准率是抽取出的信息中正确的信息量所占的比例。具体定义如下:
查准率:
查全率:(12-1)(12-12)
综合评价指标:(12-3)这里,#correct_answers是指抽取出的结果中正确的信息条数,#answers_produced是指抽取到的信息条数,#total_possible_corrects是指测试样本中的正确的信息条数。F是一个综合评价指标,β越大,查全率对F的影响越大,一般取β=1,这时P和R有同等的权重。
12.2Web信息抽取
根据处理对象的不同,信息抽取的对象可以是自由文本、半结构化文本和结构化文本等。当信息抽取针对的对象是Web信息时,称为Web信息抽取,Web信息是一种半结构化文本。
对结构化文本的信息抽取相对容易。而针对自由文本和半结构化文本就复杂得多,针对自由文本的信息抽取通常使用自然语言处理技巧,抽取规则主要建立在词或词类间句法关系的基础上。
本章关注的是Web信息,它是一种介于自由文本和结构化文本之间的数据,没有严格的格式,有时候也没有语法。用自然语言处理技巧对这样的文本并不一定有效,用来处理结构化文本的简单的规则处理方法也不一定有效。
Web信息抽取的主要目标是网页。网页中通常有自由文本,也有带标签的文本,即具有一定的结构,这种半结构化形式的文档为信息抽取过程同时带来便利和挑战。便利之处在于:由于HTML、XML等语言有着一定的语法规则,这些规则会给信息抽取过程带来启发;挑战在于:自然语言文本与各种标记混杂在一起增加了文档的复杂度。因此,尽管传统的信息抽取技术为Web信息抽取提供了重要基础,但它并不完全适合于从Web文档中提取信息。按照MUC会议建立的术语,信息抽取最终的输出结果称为模板,模板中的域称为槽(Slot),而把信息抽取过程中使用的匹配规则称为模式(Pattern),要提取的特定事件或关系称为一个场景(Scenario),而领域(Domain)的概念更宽一些,通常一个领域可以包含多个场景,比如在IT并购领域的新闻中,可能包含微软收购雅虎、中国电信重组联通等不同的场景。
信息抽取的最终目的是从文档集合中提取出相关的信息,即得到模板,而一个信息抽取系统的核心构件是一组抽取模式(ExtractionPatterns)或者抽取规则(ExtractionRules),用于从每篇文档中抽取满足模板中的内容,抽取的过程实际上就是模板填充的过程。抽取规则可以人工制定,但大多数情况下由机器学习算法自动生成。实现Web信息抽取的程序又称为Wrapper,Wrapper可接受针对特定信息源的查询请求,并从该信息源中找出相关的网页,然后把需要的信息提取出来返回给用户。它由一系列的抽取规则以及应用这些规则的计算机程序代码组成。通常,一个Wrapper只能处理一种特定的信息源。从几个不同信息源中抽取信息,需要一系列的Wrapper程序库。Wrapper的运行速度应该很快,因为它们要在线处理用户的提问,还要能应付网络经常变化、运行欠稳定的特点。比如网络连接失败、文档格式混乱、格式变化等。12.2.1基于关键字的Web信息抽取
根据Web信息发布的表现形式,建立一系列启发式规则;作信息抽取时,首先匹配关键字,再根据预先定制好的规则,抽取相关的信息。能否抽取出满意的信息,关键是规则的制定,以下是一些常见的规则:
(1)如果关键字出现在一个超链接的标签里,则超链接指向的页面内容为抽取的结果信息,如关键字为“蝶泳金牌”,新浪网上有个超链接,其标签为“刘子歌破纪录夺女200米蝶泳金牌”,其后的URL指向的页面就是抽取到的“蝶泳金牌”对应的结果信息。
(2)若关键字出现在标题中,则抽取结果信息是跟在它后面的文本,直到出现下一个标题;如果关键字出现在最后一个标题,则抽取结果信息是跟在它后面的文本直到出现一个空行。
(3)若关键字出现在项目(item)中或列表中,则抽取结果信息为紧跟在后面的且直到下一个LI或表尾之间的文本。
(4)若关键字是表(table)中的一个域,则对于纵向排列的表来说,抽取结果信息是位于关键字右边的域,而对于横向排列的表来说,抽取结果信息则是位于关键字下边的域。12.2.2基于模式的Web信息抽取
模式可以理解为字符串。基于模式的Web信息抽取的基本思想类似5.2.2的模式匹配:首先定义一个模式,然后在Web页面中搜索,找到跟模式匹配的字符串,然后抽取出所需要的信息。举一个实例来说明:有一个Web页面:“北京时间8月19日,北京奥运会男子3米跳板跳水决赛在国家游泳中心‘水立方’拉开战幕,这也是本次奥运会产生的第6枚跳水金牌。在此前决出的5枚金牌中,中国跳水梦之队大包大揽豪取全部五金,此役秦凯、何冲这对一稳一难的两位中国选手联袂冲金,最终何冲不负众望以572.90分摘得金牌,加拿大‘神童’德斯帕蒂以536.90分夺银,秦凯以530.10分的成绩获得铜牌,中国跳水队连续四届获得了这枚男子三米板单人金牌,这也是中国军团在本次奥运会中夺得的第43金”。现在,要从这个Web页面中抽取出金牌得主,设计一个模式为:[得金牌/人名],其中人名是一个变量,而得金牌则是一个字符串,然后在这个页面中搜寻“得金牌”这个字串,再把这个字串前面的人名作为抽取结果。在这个例子中,结果定位在“何冲不负众望以572.90分摘得金牌”子句中,得到抽取结果:金牌得主“何冲”。事实上,要得到准确的抽取结果,模式的设计至关重要,可能需要比较复杂的模式。模式可以使用布尔操作进行连接,也可以在模式中使用通配符。比如仍然针对上述的这个Web页面,要求抽取出金牌得主、银牌得主、铜牌得主以及各自的分数。设计出这样的模式[得金牌/人名*得银牌/人名*得铜牌/人名*分/数字]or[夺金/人名*夺银/人名*夺铜/人名*分/数字];最后抽取结果如表12-2所示。从布尔运算符or之前的模式可以抽取得到表中第2、4行的结果,而使用布尔运算符or之后的模式可以抽取得到表中第3行的结果。
隐马尔可夫模型(HiddenMarkovModels,HMM)是最近几年在信息抽取中应用最广泛的提取模式表达模型[5]。HMM是一种随机的有限状态自动机,已成功应用于语音识别、手写体识别等领域。HMM最近几年被引入到信息抽取中,已经得到了成功的应用。HMM有非常适合自然语言处理的统计基础,对于新数据的处理有良好的鲁棒性,并且有成熟的学习算法,可应用在信息提取上。
对于HMM,有三个基本问题:
(1)识别问题:给定一个输出序列和模型,模型可能创建的序列概率是什么?
(2)序列问题:给定一个输出序列和模型,什么最可能的状态序列可以创建输出序列?
(3)训练问题:给定一个输出序列和拓扑结构,怎样调整模型参数,包括状态转移和输出的概率分布,使模型创建的输出序列具有最大概率?在信息提取中,涉及后两个问题。“序列问题”即是由模型对样本进行识别的过程,而“训练问题”正是各种基于HMM的信息提取所要解决的问题。最初的HMM构造是通过观察样本手工构造。或者一个状态对应一个域,或用几个状态对应一个域,然后通过对概率的调整来获得较好的效果。现在的HMM构造一般是采用自动构造。如在随机优化方法中,通过不断搜索可能的HMM结构,使之达到最好的提取效果;通过对句子成分的分析(如名词、名词短语等)构造HMM等。这些方法都应用于“稀疏型”提取任务,即待提取文本中含有大量的无关信息。基于HMM的信息提取算法的优点是充分利用统计学的理论,对于新数据的适应性强,并且训练耗时短。其缺点是需要大量的训练数据,并且还缺乏通用的模型构造方法。在信息提取中,HMM用状态对应提取域,状态的词表对应每个域出现的符号,用状态之间的转换对应各个域之间的位置关系。最初的HMM构造是通过观察样本手工构造。或者一个状态对应一个域,或用几个状态对应一个域,然后通过对概率的调整来获得较好的效果。下面介绍一种基于隐马尔可夫模型的信息提取算法[11]。该算法利用文法推断中的InferringTransducer算法提取文本的符号特征,并利用状态合并途径生成隐马尔可夫模型的拓扑结构和利用最大似然方法学习隐马尔可夫模型的概率分布,最后采用修改的Viterbi算法进行识别。
一个HMM由以下几部分构成:
(1)N=模型中的状态数;
(2)M=模型中的输出符号数;
(3)S=s1,s2,…,sN,模型中的状态;
(4)A={aij},aij=P(sjatt+1|siatt),状态转移的概率分布;
(5)B={bj(k)},bj(k)=P(vkatt|sjatt),在状态sj输出的符号概率分布,其中{vk}是输出符号集;
(6)π={πi},πi=P(siatt=0),初始状态分布。用HMM来解决信息提取的一般途径是:每个域(提取的每个语义项)对应一个或多个状态,原始文本中的符号作为状态的输出符号,如果模型给定,那么信息提取过程就是搜索最可能创建符号序列的状态序列。这个问题可以由Viterbi算法[7]解决。
由于HMM有成熟的学习算法和坚实的统计基础,所以在信息提取中是一种成功的模型。图12-1是一个用于信息提取的简单HMM。
与有限状态自动机相对应的是各种类型的形式文法。也可以用各种形式文法(如上下文无关文法、正则文法等)来表示提取知识。图12-1一个用于引文信息提取的简单HMM[6]
1.状态类型确定
简单的HMM每个状态对应一个域,这种模型可根据域个数自动生成,其特点是实现简单,但不能很好地刻画每个域内部的特征。
一般而言,每个域都具有一定的线索,如年代由两位或四位数字组成,而形如“B.Obama”的字符串肯定是代表人名。“B”、“.”和“Obama”这样的被非数字字母符号隔开的字符串称之为token。可以仅仅根据这些token的形式而无需了解其内容就得出这是一个人名的结论。如果能把这些形式特征提取出来,把得到的每一个特征对应HMM的一个状态类型,这样就能刻画出域内部的特征。如“B.Obama”的符号特征是“B”+“.”+“capitalized”。符号特征提取的方法有很多,例如可以借助于文法推断中的InferringTransducers算法[8]。该算法用于域的文法模型构造,它将原始的域字符串转换成抽象的特征串,以便控制字母表的规模。算法自动学习待识别域内token的合理的抽象特征。
算法的基本思路是:对每一个域,正例为域包含的token,反例为样本中包含的其他token。算法的目的是“贪心地(greedily)”将特征逐步添加到决策列表(decisionlist)中。选择特征的标准是该特征能够最好地区分正例和反例。每添加一个特征,从训练样本中删去已被该特征覆盖的正例,直到样本中的正例数小于某个预定值。算法的输入包括标注好的训练样本和一个预定义的特征列表,输出是对应每个域。
算法说明:
(1)positivefeathash[j]和anyfeathash是映射表,分别记录每个特征在剩余样本第j个域的token上为真的次数和在所有的token上为真的次数。
(2)函数fieldtokenuncoveredcount()计算未被决策表中特征覆盖的剩余样本第j个域的token数目。
(3)函数anytokenuncoveredcount()计算未被决策表中特征覆盖的剩余样本所有token的数目。
(4)函数do-positive-accounting()计算每个特征对剩余样本第j个域的token为真的次数。
(5)函数do-any-accounting()计算每个特征对剩余样本所有token为真的次数。
(6)特征选择标准是使Gain(w)最大的特征w,由函数findbestfv()完成每一步的特征搜索。(12-4)式中:n是保留在样本中的所有的token数目;fw是匹配w的正例token的数目;nw是匹配w的所有token的数目,取m=3。
InferringTransducers算法描述如下:
【例12-1】
对下框给出的训练样本,生成一个用于token特征产生的决策列表。
^begin
〈label〉2〈/label〉.〈author〉R.Agrawal〈/author〉and〈author〉R.Srikant〈/author〉.〈title〉Miningsequentialpatterns〈/title〉.InProc.ofInt.Conf.on〈conference〉DataEngineering〈/conference〉,Tasipei,Taiwan,Mar.〈year〉1995〈/year〉.
^End
预定义的特征列表如表12-3所示。得到的对应于“作者(author)”的决策列表如表12-4所示。
通过InferringTransducers算法,可以确定每个域的内部状态类型,对于两个域之间的token,由于这些token是域之间分界的重要线索,例如“Aiken,Alexander,andAlexandruNicolau”中含有3个作者名,3个人名之间的分界标记是“,”、“,”和“and”,所以保留它们的原始形式,用一个状态类型“word”表示。
2.结构学习
通过InferringTransducers算法,确定了HMM中的状态类型后,可以使用以下状态合并方法生成HMM:
(1)对剩余样本a的token串,找到决策列表中第1个匹配的特征,将a转换成特征串a′。
(2)对a′中的每个特征,生成一个状态结点,状态结点对应3项:label=域标签;type=特征;词表=a中对应的token,并根据a′中特征的出现顺序,生成状态转换弧。
对于现有模型中的任何两个状态结点sa,sb考查是否满足以下条件:
①sa.type=sb.type,sa.label=sb.label。②对应sa,sb,存在两条入弧或出弧e1、e2,对e1的另一个顶点se1和e2的另一个顶点se2有se1.type=se2.type,se1.label=se2.label。
(3)如果满足这两个条件,则将sa和sb合并。
(4)重复步骤(1)、(2)和(3),直到处理完所有的样本。
在HMM结构确定的前提下,模型需要确定的参数有状态转换概率A和每个状态的符号概率分布B。由于在HMM中,对每个样本都存在一条唯一的路径,可以直接用“最大似然”方法来计算A和B:(12-5)其中,transitionij是状态i到状态j的转换次数,emitjk是在状态j发出第k个符号的次数。
为了避免训练数据不完整带来的“零概率”问题,需要对概率进行平滑。传统的概率平滑方法是拉普拉斯(Laplace)平滑,但据分析绝对折旧(absolutediscounting)方法更适合信息提取问题。对于bj(k)可以这样处理:
(1)样本中每个出现符号的概率=bj(k)-x;
(2)每个未出现符号的概率=mjx/(m-mj);
mj是状态j中出现的符号数,m是词表大小,x=1/(mj+m)。对于aij采取相同的处理方式。
对于“状态合并”途径生成的HMM,A和B可以在合并过程中得到。
3.信息识别
基于HMM的信息提取过程可以等同于:给定HMM和符号序列,寻找能使产生该符号序列的概率最大的状态序列,解决这个问题最经典的方法是viterbi算法[7-8],如下所示:
假设输入的符号序列为o1,o2,…,oT,V+(i)是在状态i已经发出o1,o2,…,oT,的最大概率,Q+(i)是使V+(i)最大的t-1时刻状态。
(1)初始化:
对1≤i≤N,如果si.type对于o1为真,则
(12-6)否则
v1(j)=0
(12-7)
(2)递推计算:
对1≤i≤N,2≤s≤T,如果si.type对于os为真,则(12-8)否则
vs(i)=0
(12-9)(3)终态:(12-10)其中,状态T+1表示结束状态。
(4)回溯得到最优状态序列:
对t=T-1,T-2,…,1
q*t=Qt+1(q*t+1)
(12-11)
q*1,q*2,…,q*T即为所求的状态序列。
HMM对于密集型信息提取(要提取的域在位置上很靠近,并且无关文本较少)是一种合适的模型。因此该方法应用在引文信息的提取方面比较成功,这是因为引文信息从本质上讲是一种半结构化的文本,它的各个语义项的出现顺序有一定规律,而且各项之间有一些线索,而HMM的状态转移概率aij和符号发出概率bj(k)能表达这种规律,同时有viterbi算法根据aij和bj(k)进行识别,所以能够取得较好的效果。12.2.3基于样本的Web信息抽取
基于样本的信息提取方法基于这样的假设,待抽取的Web页面具有相同或相似的结构和风格。抽取的基本思想是
这样的:用户根据自己的信息需求,提供一个样本,描述这个样本中的目标信息,然后告诉系统,照葫芦画瓢,系统据此进行信息抽取,得到结果。
例如,某书城发布的图书信息,具有同一的风格,选取一个样本如12-2所示,现在要从中抽取书名、作者、出版社、ISBN号、价格、折扣等信息,这些信息在Web页面中都有固定的位置和标记,把这些信息输入给系统,系统就可以从类似的页面中抽取出相应的信息,图12-3就是一个待抽取的Web页面。图12-2指定样本实例图12-3待抽取的Web页面由于网页的结构复杂,包含各种相关链接、广告链接信息,因此在进行Web信息抽取之前,还必须去除与主题无关的噪声板块,可以采用第4章介绍的基于模板的网页去噪的方法去除噪声,从而提取主题块。
在获得主题块后,可以进一步提取块内信息,下面介绍一种基于XML路径XPath[9]的信息抽取方法。
主题数据块(DataBlock)是指一个包含了用户想提取的所有提取项信息的网页区域。图12-4为某书城的数据页面,由4个数据块组成,每一个数据块包含一本书的信息。图12-4某书城的数据页面图12-5是一棵DOM树,其中T11、T12、T13是提取项,而B1是包含了这些提取项的数据块。P1、P2分别是从根节点到达两个数据块B1、B2的路径。通过观察,可以知道:一个数据块中的所有提取项总是具有相同的DOM父节点,而根节点到达不同的数据块的路径(XPath)是相似的。图12-5DOM树、数据块、提取项示例基于XPath比较的数据块抽取规则生成算法的主要思想是通过对比数据块内两个不同的提取项对应的XPath,通过XPath的正向最长公共子串(ForwardLongestCommonSequence,FLCS)取出它们的公共部分得出一个数据块对应的XPath:P1。然后重复以上过程,得到另外一个数据块对应的XPath:P2。接下来通过对比P1和P2的下标得到所有数据块对应的XPath。一般来说,不同数据块之间XPath的HTML标记是相同的,不同的只是标记的下标,我们在匹配两个块的XPath时,使用通配符“*”来替代所有不同的下标,即可得到对应所有块的XPath:P,即数据块抽取规则R。根据R可以得到所有数据块的块内文字信息。
【例12-2】
对图12-4的网页进行数据抽取。
在这里每一本书的信息就是一个数据块,包括名称、出版社、作者、价格、折扣、描述等提取项。对第一个数据块分别选取了“秋海棠”、“四十年代中国言情小说畅销纪录”两个提取项,得到如下对应的XPath:根据FLCS算法可得:第一个数据块对应的XPath为
P1:/html[1]/body[1]/table[5]/tr[5]/td[1]/table[1]/tr[1]/td[2]同样,对第二个数据块分别选取了“凌叔华的文与画”、“去在自己所见及的一个世界里”两个提取项。可以得到:因此,第二个数据块对应的XPath为
P2:/html[1]/body[1]/table[5]/tr[6]/td[1]/table[1]/tr[1]/td[2]
对比P1、P2的下标序列,可以得到第四个下标不同,将它替换成“*”可以得到所有块对应的XPath:
/html[1]/body[1]/table[5]/tr[*]/td[1]/table[1]/tr[1]/td[2]
一般来说,数据密集型网站都是通过动态网页来展示后台数据库的数据,这些网站的网页基本上都是由一个或几个模板生成的。因此,对一个页面进行分析得到的抽取规则,可以应用于同一个模板的所有页面。
12.3问答系统
问答系统和根据关键词检索并返回相关文档集合的传统搜索引擎有着根本的区别,问答系统的目标是精确回答用户用自然语言提出的问题,更强调精确性。
问答系统既能够让用户用自然语言句子提问,又能够为用户返回一个简洁、准确的答案,而不是一些相关的网页,这与普通搜索引擎有显著的不同,它能够更好地满足用户的检索需求,更准确地找出用户所需的答案。目前问答系统的研究大致可以分三类:基于常问问题集的问答系统、基于百科知识的问答系统以及开放域的问答系统[10]。也有人将问答系统分为基于知识库的问答系统、问答式检索系统和基于自由文本的问答系统。自动问答系统可以分为受限领域问答系统、开放领域问答系统和常见问题集(FrequentlyAskedQuestion)系统3种。
受限领域问答系统仅仅关注某一个特殊领域,比如某个公司或医药领域的相关知识。因此可以将所有该领域的知识或者本体全部输入问答系统中,以便用于分析问题或者答案来源,而答案来源则可以完全是结构化数据以简化处理。例如1961年Green在IBM7090平台上实现的用于回答关于美国棒球联盟问题的BASEBALL[11]系统是最早的自动问答系统之一,BASEBALL系统是一个受限领域的系统,该系统仅能回答一个棒球赛季的相关数据的问题。该领域的知识输入问答系统的完整性极大地影响了受限领域问答系统的性能。而且领域的内容会随着时间而发生变化,需要不断地更新问答系统的知识库。常见问题集系统是受限领域问答系统的特例,提供常用问题的问句-答案对。为了开发FAQ系统,开发人员必须在特定领域内搜集尽可能多的问句-答案对。很明显,FAQ集合越大,性能越好,而现有的FAQ集一般是人工建立起来的,所以代价昂贵。开放领域的问答系统针对自然语言提出的问题从大规模文档集合中或从网络Web上提取答案。问答系统的起源可以追溯到“人工智能之父”图灵提出的“图灵测试”:一台电脑A和一个人B作为被测试者,观察者与被测试者之间是隔离的,然后观察者提出一系列问题,A和B分别回答,如果观察者能够根据回答区分出哪个是机器哪个是人,那么电脑A就没有通过图灵测试;反之,如果观察者不能够分辨出哪个是机器哪个是人,则电脑A就通过了图灵测试,并被认为具有人类的智慧。图灵还预言,总有一天,机器会具有人类的智能。1997年,计算机“深蓝”战胜国际象棋世界冠军卡斯帕罗夫,电脑第一次战胜了人脑,也被誉为图灵预言的验证。
Turing实验提出:如果计算机能够像人一样与人对话,就可以认为计算机有智能。研究者们为了探索语言理解技术,纷纷研究自然语言问答系统。从而使问答系统在19世纪80年代的自然语言处理领域风行一时。但由于当时的条件限制,所有的实验都是在非常受限的领域,甚至是固定段落上进行的,所以自动问答一直被限制为特殊领域的专家系统。此后,由于大规模文本处理技术的兴起,问答系统的研究受到了冷落。
文本检索会议(TREC)在1999年的TREC会议(/)上引入了对问答系统(QuestionAnsweringTrack)[12]的评测后,基于自然语言的问答系统研究逐渐成为自然语言处理和信息检索领域中热门的研究。在TREC的支持下,面向大规模文本的英语书面通用QA系统的研究取得了很大的进展,涌现出了许多优秀的系统。Kupiec等人的MURAX[13]系统使用百科全书作为知识库,用以回答一般性的知识问题,他采用了基于统计与语言学知识相结合的技术,通过布尔搜索引擎和句法分析器从百科全书中抽取问题的答案。FAQFinder[14]则通过预先收集“问答对”并采用基于向量的搜索引擎来从相关的问答对文件中抽取答案。AskJeeves()公司是国际上第一个提供自然语言问句接口的网络商业服务商,它的做法是人工收集大量的自然语言问句以及相应的URL链接,提取问句的问题模板并进行人工或者半自动的分类。麻省理工学院人工智能实验室的Start(http://start.csail.mit.edu)[15-16]于1993年发布,是第一个基于Web的自动问答系统,可以回答一些有关地理、历史、文化、科技、娱乐等方面的简单问题。Start系统使用主体—关系—对象三元组的形式存放系统知识以及回答问题,采用基于知识库和信息检索的混合模式。如果用户查询在它的知识库中可以找到,则直接反馈;如果没有,则通过搜索引擎检索并处理后以相关段落形式反馈给用户。密歇根大学的AnswerBus(http://answerbus.coli.unisaarland.de)[17]是一个面向开放领域的问答系统,它接受自然语言的提问,从Web中提取问题可能的答案(一个或多个),其特点是能支持多种语言提问方式。它不仅可以回答英语的问题,还可以回答法语、西班牙语、德语、意大利语和葡萄牙语的问题。
不管是哪种问答系统,都会用到一些技术,如信息抽取、信息检索、自然语言处理技术等。我们这里主要关注面向Web的开放领域的问答系统。开放领域的问答系统是一个新兴的研究领域,它针对自然语言提出的问题从大规模文档集合中提取答案,其体系结构一般包括三个主要部分:
(1)问题处理部分:对用户用自然语言提出的问题进行预处理,包括词法、句法、语义等方面的分析,得到用户查询的关键词、查询句的关注焦点和用户问题所属类型。
(2)信息检索部分:通过传统信息检索技术获得答案可能所在的文档,并对文档进行排序。
(3)答案抽取部分:对信息检索得到的候选文档进行词法、句法、语义等方面的分析,并根据查询问题所属类别,抽取出答案,返回给用户。
一个典型的开放领域的自动问答系统的结构如图12-6所示。图12-6基于搜索引擎的开放领域问答系统的结构示意图上述自动问答系统的工作流程如下所述:
(1)用户通过人机交互接口提交自然语言问题;
(2)该请求被自然语言分析器(NaturalLanguageParser)处理,构造问题短语的结构树;
(3)该树被送到问题分类器(Classifier),确定答案的类型;
(4)查询解析器(QueryFormulator)将问题转化为一组搜索引擎的查询表达式,被并行地提交给搜索引擎,搜索引擎获取相关结果网页;
(5)从这些结果网页中,采用答案抽取(AnswerExtraction)技术提取相关片断,称为摘要(Summaries),并产生一系列可能的候选答案;
(6)答案选取器(AnswerSelector)将候选答案进行排序,并将排序结果呈现给用户。
上述过程可以归纳成三个核心模块:问题分析、信息检索和答案抽取。
(1)问题分析。对于用户提交的问题,首先要对问题进行分析,要理解用户要问的是什么。比如,用户输入自然语言表达的问题“西藏有境内哪些山峰?”首先进行自然语言处理,包括中文分词,然后对问题进行分类,可知这是一个询问中国身份的自然地理条件类的问题。问题的分析一般包括自然语言处理、问题的分类、关键词的提取和关键词扩展等;如果是中文,还需要进行中文分词处理。
(2)信息检索。通过问题分析而得到的关键词集,进行查询表达,提交给信息检索模块或搜索引擎,查找可能包含问题答案的页面或文档。
(3)答案抽取。信息检索模块返回的通常是一堆可能包含答案的网页。答案抽取模块从这些相关网页中找出相关的答案片段,一句话,或者是一段话,提交给用户。答案抽取是问答系统非常关键的一部分,也是难度较大的一部分,如果答案抽取模块不能准确地把正确答案抽取出来,将直接影响整个问答系统的准确性。有些问答系统除了上述三个部分之外还包括一个常问问题(FAQ)库,把用户经常问的问题及其答案保存起来。有了FAQ库之后,用户问的问题首先和FAQ中的问题进行比对,即相似度计算,如果找到相同或相似的问题,就可以直接把FAQ库中这个问题的答案返回。这样,对于用户常问的问题,问答系统就可以很快给出答案,不需要经过复杂的处理,而且还能保证答案的准确性。所以带有FAQ库的问答系统,效率和准确性都得到了提高。12.3.1问题分析
问题分析是问答系统首先要进行的工作,这个过程分析的效果对后面的处理过程有着重要的影响。问题分析部分需要完成以下几部分工作:确定问题的类型;提取出问题的关键词;依据问题的类型等因素对关键词进行适当的扩展。如果是汉语的问答系统,首先要对问题进行分词以及词性标注等。有些问答系统还对问题进行了语法分析和语义分析。
1.问题分类
对不同类型的问题,往往有不同的处理方法,所以不论是英文自动问答系统还是中文自动问答系统一般都有问题分类这个过程。以中文问答系统为例,一般的问答系统都按照疑问短语来对问题进行分类。表12-5列出了常见的问题类型。将问题分类有利于后期的答案抽取。因为针对于不同类型的问题需要制定相应的答案抽取规则,以便提高抽取出准确答案的概率。比如针对询问地点的问题,可以制定“答案中必须含有位置信息”的规则。问答系统可以按照事先规定好的类别进行分类,如参照上述的问题来分类;但是这种分类还存在很多不足的地方,如存在人为主观的因素,而且分类较粗,并不能完全囊括所有的问题,如归到其他类,则很难制定出合适的抽取规则。所以有一部分研究人员提出对问题进行自动分类,即首先收集大量的问题作为训练语料,然后通过程序统计出经常出现的疑问短语。比如通过统计,“哪届奥运会”这个词经常出现在问题中,则可以把“哪届奥运会”当作一个疑问短语。然后凡是含有“哪届奥运会”这个短语的问题都当作一类问题。
2.关键词提取
因为问题分类后,需要提交给搜索引擎或检索模块,同时,进行答案抽取时,也需要通过关键词来计算,所以,系统中的关键词提取必不可少。问题通常用自然语言表述,里面通常包含一些语气词或无意义的停用词,如“吗、的”等。为此,提取关键词之前常常要进行停用词处理,具体方法可参照第4章。对于中文问答系统而言,还必须先进行分词。问答系统中的关键词和第4章提到的索引词(关键词)有所不同,后者主要指表达名词或名词性术语,而本章所指的关键词主要由名词、动词、形容词、限定性副词等组成。为了检索到准确的答案,有些问答系统还把关键词分为两类:“必须含有”的关键词和一般关键词。所谓“必须含有”的关键词,是指这些关键词必须包含在答案中;而一般关键词可以不在答案中包含。关键词被赋予不同的权重,对系统判断某个片段是否是答案产生直接的影响,所以通常名词、具有限定性作用的副词会有比较高的权重。“必须含有”的关键词由专有名词、限定性副词(如:最多、最高、最快等)、时间(如:2008年)组成,这些“必须含有”的关键词对问题有极强的限定性作用,如果在答案中不包含,则答案可能是错误的答案。例如:有一个问题是“2008年奥运会获得金牌最多的国家是哪个?”如果“2008年”没有被作为“必须含有”的关键词,则排在第一位的答案是美国,这是个错误的答案;如果把“2008年”作为“必须含有”的关键词对待,则必须被包含在答案中,这样,就可以得到“中国”的正确答案。
3.关键词扩展
不管是哪个国家的语言,都有大量的同义词存在,描述一个东西,一个事物,也有多种方式,所以,单单依靠关键词相同或相似来寻找答案,会导致召回率较低,即遗漏正确的答案。例如:有一个问题是“谁获得了女子3米跳板冠军?”现在有三个句子“郭晶晶获得了女子3米跳板的第一名”、“郭晶晶获得了女子3米跳板的金牌”和“郭晶晶获得了女子3米跳板的冠军”。但只有第三句中出现了关键词“冠军”,被认为是答案,另外两个句子,虽然表示的是同一个意思,但系统不会把它们作为答案,因为“第一名”和“金牌”,跟关键词“冠军”相差太远,尽管意义是一样的。所以,要对关键词进行扩展,刚才这个例子,只需要把“第一名”和“金牌”作为“冠军”的扩展关键词就可以解决问题。关键词扩展虽然提高了系统的召回率,但如果扩展不适当,也会降低准确率,因此一般的问答系统对关键词的扩展添加了一些限制条件,比如只对名词关键词进行扩展;采用Wordne/Hownett或者其他的同义词词典来扩展关键词。12.3.2信息检索
信息检索的任务就是将问题分析的结果(可能是关键字集,也可能是结构树)进行表达,表达式被提交给检索模块或搜索引擎,查找可能包含答案的文档或Web页面。不见得每个问答系统都有自己的检索模块,完全可以采用成熟的搜索引擎来完成这部分的工作。关于信息检索的方法,前面的章节已经介绍了很多,这里不再赘述。12.3.3答案抽取
一般的搜索引擎返回的是一堆网页或文档,而问答系统需要返回给用户的则是简单明了的答案。例如:向百度搜索引擎输入问题“2008年哪个国家的金牌数最多”,得到10600万条相关结果网页;但是同样的问题输入问答系统,得到的答案是“中国”。所以,问答系统的关键步骤就是从一堆返回的相关网页中抽取出正确的答案。
答案可以是一个词语、一句话、一个段落,或者是几句话构成的片段。通常关于时间、地点或人物的问题,可以用很短的词语来回答;而对于询问原因、事件的问题就需要较长的语句才能回答。比如对于“刘翔为什么退出比赛”类似的问题,一个单词或一句话是不能讲清楚的,答案可能是一大段话。所以答案的抽取还需要依据前面提到的问题类型,即抽取方法因问题类型不同而不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 30063-2013 结构用直缝埋弧焊接钢管》
- 深度解析(2026)《GBT 29662-2013化妆品中曲酸、曲酸二棕榈酸酯的测定 高效液相色谱法》
- 《GBT 3649-2008钼铁》(2026年)合规红线与避坑实操手册
- 《GBT 221-2008钢铁产品牌号表示方法》(2026年)合规红线与避坑实操手册
- 2026年社区老年心理疏导设备技术支持合同
- 湖南省岳阳市2026年初中学业水平考试适应性测试英语试卷(含答案)
- 农业领域最佳就业方向
- 2026年春人教版八年级语文《登勃朗峰》《一滴水经过丽江》教案简案
- 2026 一年级下册《直线追逐跑练习》课件
- 医院机关团委工作制度
- 2026年交管12123驾照学法减分完整版试卷附答案详解(轻巧夺冠)
- 2025-2030中国短肽型肠内营养剂行业市场现状分析及竞争格局与投资发展研究报告
- (二模)呼和浩特市2026年高三年级第二次模拟考试生物试卷(含答案)
- 2025年广东省深圳市初二学业水平地理生物会考真题试卷(+答案)
- (二模)包头市2026年高三第二次模拟考试政治试卷(含答案)
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
- 监理安全检查工作制度
- 《中国鼻咽癌放射治疗指南(2022版)》
- 护工护理员培训考核制度
- 学校食堂及护坡改扩建工程可行性研究报告
- 接地装置试验(电气试验课件)
评论
0/150
提交评论