基于本体的族式返回检索模型,本文主要内容关键词为:本体论文,模型论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
〔分类号〕G254.0
1 引言
常用的信息检索模型存在两大不足:一是从内容上不能很好地表达和处理隐藏在检索提问与文档中的语义;二是从结果返回形式上仍以单个文档作为主要输出形式。前者的语义“理解”不足导致检索效率降低,而后者造成的信息分散则使用户不得不耗费大量的时间进行信息甄别。文章试图在本体的基础上构建一个可以进行族式返回的检索模型,利用本体来表达和处理检索系统中的语义,通过族式返回输出信息完全的检索结果。
2 族式返回检索的基本思想
族式返回检索是针对单文档或单页面返回检索而言的。单文档返回检索是指检索系统在返回查询结果时以单个文档为基本返回单元,通过返回结果中的单个文档回答检索提问。
族式返回检索是指检索系统在返回查询结果时以多个文档的综合为基本返回单元,通过多个页面的优化组合回答检索提问。族式返回检索主要具有以下特征:①检索返回结果是多个文档的综合;②利用多个文档之间的信息互补性,通过较少的信息条目反映事物全貌或回答整个检索提问;③可大大减轻用户的查询负担和阅读、甄别压力。
例如某用户刚刚开始接触语义网,希望对语义网有一个全方位的了解,想查询关于语义网的概念、含义、目标、特征、核心技术、标准规范、研究现状、研究热点等方方面面的信息。若按照目前的检索思路,要么以关键词“语义网”进行检索;要么将“语义网”与上述各属性特征分别进行组合并检索。无论采用哪一种检索方式,用户都不得不做大量的甄别与整理工作,因为这些信息都不可能在单个返回文档或页面内全部查到。而通过族式返回检索,用户只需输入“语义网”,检索系统将按照语义网的上述属性特征对命中信息进行分类综合,然后按一定的格式一次全部输出,从而大大提高检索效率。
族式返回检索客观上要求在处理检索提问和被检文档时要充分反映概念以及概念之间丰富的语义关系,将过去以词汇(关键词)为中心的表示与计算方法向以“概念——关系”为中心转变。其中,本体是族式返回检索的核心,主要表现在:
● 族式返回检索将检索提问表示为概念以及它们之间的相互关系,通过本体扩展,检索提问可转换为语义丰富的检索表达式。
● 在文档表示方面,任意一个被检文档都可以表示为一个或多个反映文档主题或其主要内容陈述的集合。通过本体标注,可以将这些陈述映射到本体知识库中,因此,对文档的信息检索就转变为对本体知识库的数据检索。
● 族式返回检索的检索过程就是检索表达式与本体知识库的匹配过程。
● 检索结果采用依据本体形成的多个文档的优化组合的形式返回。
3 查询分类与表示
3.1 查询分类
通过分析用户常用的查询种类并进行有针对性的设计,可以更好地获取用户的检索需求。用户的查询请求主要分为以下几类:
查询关于某一类事物多方面属性的信息或全部信息 ①
查询关于某一类事物某一方面属性或性质的信息 ②
查询关于某一具体事物多方面属性的信息或全部信息 ③
查询关于某一事物某一方面属性或性质的信息④
查询属性值为某一给定值的对象 ⑤
查询某一类事物的某一方面属性是否为某一给定值 ⑥
查询某一事物的某一方面属性是否为某一给定值 ⑦
查询一类事物与另一类事物的关系 ⑧
查询一事物与另一事物的关系 ⑨
为了更好地描述上述9种查询,做如下假设:①完整的陈述由主语、谓语和宾语三部分组成,用(S,P,O)表示;②大写字母S、P、O分别表示某一类事物的集合、关于S的所有属性的集合以及属性值的集合,小写字母s、p、o分别代表集合S、P、O中的某一元素;③以?代表查询对象,以R代表关系集合。这样,上述9种查询请求可分别表示为:
查询类型①-⑤是用户经常使用的查询类型,而对查询类型⑥-⑨,一般的检索系统都对此无能为力。这并不是说检索系统不能回答这些类型的提问(特别是对查询类型⑥和⑦),而是它没有提供适当的机制以允许用户进行类似的提问。通过下面的讨论将会看到,由于本体的引入,构建基于陈述的用户需求获取机制不仅可以将类型①-⑤的查询请求表达得更加清晰、准确,而且也可以表达类型为⑥-⑨的查询请求。
3.2 基于本体的陈述式用户需求获取机制
本体数据(包括实例)都可以转化为RDF三元组的形式,而用户的查询请求都可以转换为基于主、谓、宾的提问式,他们之间存在着结构一致的映射关系。一个完整的陈述式用户需求获取机制包括两部分:一部分为领域选择;另一部分为陈述式提问。
本体都是面向领域,与具体领域相关的。领域选择的目的就是为了确定具体的查询领域以及与之相对应的本体。一个查询提问可能会因具体应用领域不同而具有多方面的含义,这是造成一词多义乃至垃圾输出的主要原因之一。通过限定查询领域及其相应的本体语义,可以很好地解决一词多义的问题。同时,通过本体中的sameas、differentfrom机制,可以很好地解决领域内多词一义的问题,这是提高检索效率的最基本保证。
陈述式提问是指将用户的查询请求全部转换为陈述性的主、谓、宾结构,并将需要查询的对象以占位符(如?)代替。上文9种查询类型可以分别转换为下面的陈述式提问:
由此可见,陈述式提问不仅结构简单、而且容易理解和使用。本体定义了领域内概念之间丰富的层级关系、属性关系、二元关系以及各种公理,并通过规则定义支持谓语逻辑推理,因此基于本体的检索系统可以回答基于上述陈述模式的各种查询提问。此外,由于陈述式提问和本体数据都存在与RDF一致的映射关系,检索提问也可以很容易地被转换为基于本体的查询语句,如SPARQL查询等。
4 加权标注与文档表示
本体标注的目的是将现实应用中涉及的实例和抽象的本体概念相关联。从本体的角度看,本体标注就是本体的实例化过程,属于本体构建的一部分。本体标注的结果就是将文档或网页信息转化为本体数据存储到知识库中。本体标注是本体和语义网研究的一个热点问题,目前已经有大量的本体标注工具出现,文章并不计划详细讨论有关本体标注的理论和方法,而只侧重于本体标注与检索模型中文档表示之间的关系。
常见的信息检索模型一般将文档表示为N个词汇(关键词)的线性组合,或是把文档视为以词汇为维度的空间中的一个点。而通过本体标注,文档可以被表示为N个反映文档主题或其主要内容的陈述的集合,并存储到本体知识库中。当然,这是在理想状态下的本体标注结果。而实际上在利用本体对网页进行标注时会与理想状态下的本体标注存在一定的偏差,主要原因在于:①标注程序的漏标或误标;②在网页中出现关于某一类的新属性且未在本体中予以定义;③属性值过于庞大,不宜存储在本体知识库中,这种偏差会造成某些文档并不一定全部以陈述的形式表示,而是“个体”、“个体—属性”或“个体—属性—值”三者的任意组合。
此外,虽然通过本体标注可以将文档表示为本体知识库中的若干记录,但这些记录在本体知识库中的地位是平等的,即它们共同揭示了文档表达的内容。至于哪条记录表达的是文档的核心内容,哪条记录只是在文档中的一个简单陈述,则不能予以确定。因此,必须采取一定的手段将这些记录按照对文档主题的揭示程度加以区分。一个有效的办法就是在标注时进行加权。David Vallet等人提出一个基于传统向量空间模型(Vector Space Model)的TFIDF加权标注算法[1]。此外,该算法还引入了标签(label)和实例扩展等方法以提高标注精度。尽管如此,该加权标注方法仍存在一些明显的不足:①根据词频TF(Term Frequency)和反向文档频率DF(Inverse Document Frequency)计算词汇权重,虽然考虑了被标注词在整个文档集中的比例,但却不能很好地把握被标注词在整个文档中分布的差异。一个词汇在文档中的不同位置对文档主题的揭示程度是不一样的,不同位置的词汇应被赋予不同的权重。例如出现在文档标题、摘要、关键词和正文字段的词汇,它们对文档主题的揭示程度是不同的,分配给它们的权重也应该不同。②传统的VSM模型对词汇权重的计算是基于关键词的,而不同的关键词可能会具有同样的含义,这样在计算权重时会有一定的误差。
针对传统VSM的第二点不足,一个有效的解决办法就是在计算一个词汇的权重之前首先对其进行同义扩展,将形式不同、含义相同的词汇按同一个词处理。对于VSM的第一点不足,可以考虑从以下几个方面进行改进:
● 引入一个位置加权系数,用来表示词汇在文档不同位置的权重。按照词汇在文档中的不同位置(如标题、摘要、关键词、小标题、锚文本、正文、结论等),分别赋予不同的权值。
● 引入文档长度,并使用词频与文档长度之比来表示词汇对文档内容的揭示能力,例如 “搜索引擎”一词出现在文档标题和正文中的频率相同,但由于标题比正文文档长度要小的多,所以我们认为“搜索引擎”一词在标题中的权重要比在正文中的权重要大的多。
● 被标注词汇的其它外表特征也在一定程度上揭示了其在文档中的重要程度,如字体设置(大小、颜色、加粗等)、是否为锚文本等,可以视具体情况分别设置不同的权值。
5 语义匹配
语义匹配对于检索系统来说至关重要。基于本体的检索过程就是检索表达式与本体知识库的匹配过程,该过程不只是简单的字符匹配,而是一个语义匹配过程。当本体知识库中的数据与检索表达式相匹配时,将输出本体知识库中所对应的记录及相应文档。但这只是一般意义上的匹配,即完全匹配。检索表达式与本体知识库的完全匹配只是一种理想状态,在实际进行匹配时大多数是不完全匹配。下文将对不完全匹配进行深入讨论,通过扩展弹性匹配进而提出了精度匹配的概念,并给出了一个通过语义距离计算语义相似度,从而实现精度匹配的算法。
5.1 精度匹配
Massimo Paolucci等人于2002年提出了弹性匹配(Flexible Match)思想[2],其核心是通过服务与请求之间的语义相似程度来定义弹性的匹配机制,即根据相似度定义不完全匹配。弹性匹配根据两个概念在分类树中的最小距离来定义匹配程度,并按下列算法将匹配分为精确匹配(exact)、插入匹配(plugin)、包含匹配(subsumes)和匹配失败(fail)四类。
弹性匹配在描述不完全匹配时,只是简单地判断outR(请示)与outA(服务)之间的相互包含关系,它存在以下不足:①无法精确描述outR与outA的匹配程度;②当存在对于outR的两个或两个以上的插入匹配或包含匹配情况时没有提供选择机制;③弹性匹配建立在概念的包含关系之上,没有充分利用本体的语义。针对弹性匹配的上述不足,对弹性匹配进行以下扩展:
● 扩展1,利用语义相似度代替简单的包含判断。这样可以表示任意精度的匹配程度,如果outA1与outR的匹配精度为80%,而outA2与outR的匹配精度为92%,则说明outA2比outA1更能满足用户需求。用确定的百分比代替简单的包含判断可以将不完全匹配描述更为精确,精度匹配的概念也由此而来。
● 扩展2,引入本体中的二元关系参与相似度匹配。弹性匹配中对不完全匹配的描述仅用到了概念之间的继承关系,忽略了二元关系。而二元关系则是本体中最丰富的关系类型,它可以揭示概念之间复杂的语义关系。
● 扩展3,重新界定完全匹配。引入精度匹配之后,当且仅当outA=outR时才为完全匹配,否则全部用精度匹配表示。
5.2 语义距离及其度量
语义相似度计算是精度匹配的关键。语义相似度是指两个概念在语义上的相近程度,语义相似度越高,则匹配程度越高,反之则匹配程度越低。一般两个概念之间的语义相似度可以用两个概念之间的语义距离来衡量[3]。如果两个概念间的语义相似度用一个函数表示,那么其反函数就是两个概念间的语义距离。也就是说,如果两个概念之间的语义距离越小,则它们之间的语义相似度越大,反之语义相似度则越小。
最初关于语义距离的计算[3]是将本体看成是以概念为结点,以继承关系为边的一个图,本体中两个概念之间的语义距离就是这两个结点之间的最短路径的边数之和。由于这种方法不能细致地刻画两个概念之间的语义距离,因此人们开始考虑用力口权的办法重新计算语义距离。
Sycara等人对加权语义距离进行了探讨[4],将不同的组合操作赋予不同的权重(见表1):
表1 语义距离权重表
操作类型Gsp
g
231
s
121
p
113
利用上述加权计算方法,参照图1,Bus和Car之间的语义距离与Sedan和SUV的之间的语义距离是相等的,都是先进行g操作再进行s操作,但事实并非如此。
按照Sycara的方法,Sedan与SUV之间的语义距离为1, Motor Vehicle与Space Vehicle的语义距离也为1,两者相同。这显然是不合理的。根据上述片断,Sedan与SUV之间的语义距离应该最小,Motor Vehicle与Space Vehicle之间的语义距离应该最大,而Bus与Car之间的语义距离应居中。因此,从这个例子我们可以得出一个直观的规律:概念之间的语义距离与它们在分类树中的深度有密切关系。如果它们在分类树中的深度越深,它们之间的关系就越紧密,语义距离就会越小,反之则语义距离越大。
仔细研究汽车本体片断我们还可以发现:Sedan和Car之间的语义距离(用Dist(Sedan,Car)表示)与Car和Sedan之间的语义距离(用Dist(Car,Sedan)表示)是不同的。Dist(Sedan,Car)相当于弹性匹配中的精确匹配,Dist(Car,Sedan)则相当于弹性匹配中的包含匹配。换句话说,如果用户检索关于Sedan的信息,而系统输出关于Car的信息,则输出中肯定包含关于Sedan的信息;如果用户检索关于Car的信息,而系统仅输出关于 Sedan的信息,则输出仅能部分满足用户的需求。因此Dist (Sedan,Car)应该大于Dist(Car,Sedan),即语义距离应该是有方向的。
图1 扩展后的汽车本体片断
通过上述讨论我们可以得出以下结论:语义距离与最短路径中边的个数、类型、方向以及节点深度有关。根据这一结论,下面首先对上述各种语义距离计算方法进行扩展,然后在此基础上提出新算法。
● 扩展1,区别边的方向。边的方向代表不同的操作类型,它们各自的权重也应有所不同。
● 扩展2,丰富边的类型。引入二元关系以丰富边的类型,并以b(binary relation)代表二元关系。这样,边的操作类型就包括g、s、p和b这4种操作类型。
● 扩展3,引入最低共同祖先(Lowest Common Ancestor)的概念来定义结点深度。最低共同祖先是指两个本体概念的共同祖先中拥有最深深度的祖先结点。由此也可以推断:两个概念之间的语义距离与它们到达最低共同祖先结点的距离之和成正比。
● 扩展4,拓展语义距离权重表。仔细观察表1就会发现,操作g→s(表示先进行g操作再进行s操作)与操作s→g (表示先进行s操作再进行g操作)的权重是不同的(表中斜体字部分),就也就意味着Dist(Sedan,SUV)与Dist(SUV,Sedan)是不同的。这显然是不合理的。此外,该权重表只定义了两次连续操作所代表的不同权重值,而没有给出一次操作的权重值。对于汽车本体片断来说,它没有定义Sedan与Car的语义距离。因此结合扩展2,对语义距离权重表做以下4个方面的拓展:①消除语义距离权重表中的不对称现象;②定义单次操作权重;③引入二元关系;④区分边的方向,定义不同权重。
假设同义概念之间的语义距离权重为0,则扩展后的权重如表2所示。
表2 扩展后的语义距离权重表
操作类型Pgsb
φ 0237
p
0237
g
24
3.5
9
s
3
3.5
610
b
7910
14
其中φ代表空操作,与列的组合表示单次操作。表中只定义了单次与连续两次操作的权重值,对于多次操作,除前两次的权重取表中的值之外,其他操作取其单次操作的权值。例如对于操作序列g→g→s→b,其语义距离权值应为 4+3+7=14,而不是g→(g→s)→b,权值为2+3.5+7=12.5。
综上,得出一个具体的语义距离计算方法:
此算法应注意以下几点:①结点存在于同一个本体中,不同本体的两个概念间的语义距离为无穷大;②必须根据结点间的最短路径定义语义距离;③尽管边的数量和语义距离成正比,但语义距离仍定义为最短路径中各边的加权距离之和,而不是边的数量之和;④如果两结点间不存在路径,则语义距离为无穷大。
6 结语
一个完整的检索模型还包括检索提问与文档的关系模型表示以及匹配评估算法等,因篇幅有限不再详述。文章主要针对常用信息检索模型存在的两大不足——内容上的语义缺失与形式上的单文档返回,提出了相应的解决方案,并在此基础上提出了基于本体的族式返回检索模型,就该模型中的部分关键问题,如本体语义、族式返回、查询与文档表示以及语义匹配等进行了讨论。
收稿日期:2006-10-16 修回日期:2006-11-03