对于语义网而言, 本体的支撑作用是不可或缺的。领域专家有使用自建本体来支持特定语义网应用的需求, 但是这也会造成在同一领域存在多个不同本体的现象, 进而引发异构本体间的互操作问题, 影响知识的共享过程。为实现异构本体之间的互操作, 近年来学者们提出了多种发现本体间映射关系的方法。在各类映射方法中, 基于词语构成特征的概念相似度计算基本不需要除词语本身以外的其他语料资源支持, 其计算具有直接性和快捷性等特点, 因此得到了广泛的应用。但目前相关方法仍存在对于语义相同、但书写并不完全一致的异体、同义词相似度计算困难, 以及待匹配概念术语组成词语权重的分配策略不完善等问题。
针对上述问题, 本文提出一种基于词语相似度的本体映射方法, 将编辑距离算法应用于本体概念术语的组成词语匹配计算, 将WordNet[ 1]的同义词、近义词检索应用于术语中心词之间的相似度判断, 并重新设计术语中心词和术语修饰词的权重分配方法, 以提升本体映射综合效果。
本体映射方法一般可归纳为以下4种:
(1) 借助概念相似度计算方法, 比较映射对象之间的相似度, 以发现异构本体之间的联系, 例如Rodríguez等[ 2]提出一种利用概念定义计算概念间相似度的方法, 将本体中的概念分成表示概念的同义词集、刻画概念的特征集、概念的语义关系集三个部分, 并利用这三部分进行相似度计算, 最终确定概念间的映射关系。
(2) 分析异构本体之间结构上的相似性, 通过编写映射规则来发现映射关系。Sunna等[ 3]提出一种使用本体结构图作为上下文信息以实现本体映射的方法。该方法除了考虑节点本身信息外, 还参考了其父节点、孩子节点、孙子节点等多层次的信息。
(3) 借助本体中的实例, 利用机器学习等技术来寻找本体之间的映射关系。其典型例子是华盛顿大学的Doan等[ 4]提出的GLUE系统。该方法综合考虑本体的各种异构问题, 通过机器学习对概念的实例进行分类, 然后利用实例在概念中出现的联合分布概率来计算概念间的相似度并结合领域约束和启发知识最终确定映射关系。
(4) 将多种方法进行综合的本体映射方法。Shailendra等[ 5]开发了一个混合本体映射引擎, 将基于句法的本体映射算法、基于背景知识的本体映射算法以及基于结构的本体映射算法进行综合, 从多方面多角度进行映射, 在发挥各种方法优势的同时, 也弥补了不同方法的不足之处。高炜等[ 6]从本体概念名称、结构、实例、属性4个方面改进相似度计算方法, 并提出了融合的相似度计算方法。李佳等[ 7]提出了利用知网, 结合多种词汇相似度计算的方法来实现中文本体映射的ELOMC系统。
在上述本体映射方法中, 借助概念相似度计算来发现本体间联系的方法一般仅借助表达本体概念的单词、词组等作为输入即可进行相似度计算, 对计算条件要求不高。此外, 该类方法既可以单独开展本体映射计算, 又可以很方便地与其他类型方法集成进行计算, 使用较为灵活, 因此得到了广泛的应用。该类本体映射方法的核心是基于词语的相似度计算。目前已经有一些基于词语的相似度计算方法, 可以分为以下4大类。
(1) 余弦值法。余弦相似度 (Cosine Similarity)[ 8]算法通过计算具有n维的两个向量之间的Cosine夹角来反映向量之间相似程度的测度。该类算法具有适用面广、实现简单等特点, 是应用最为广泛的词语相似度算法之一。
(2) 编辑距离方法。在这类方法中, Smith和Waterman[ 9]于1981年提出的Smith-Waterman算法最具代表性。该算法并没有直接计算两个序列整体上的差异性, 而是通过在较短序列上不同位置插入空格、多次计算取最优的方法, 找出两个序列最高相似度值作为最终结果。Winkler[ 10]提出的Jaro-Winkler Distance算法也是一种较为典型的编辑距离算法, 他在Jaro Distance算法[ 11]的基础上进行改进, 不仅考虑了字符匹配的数量因素, 还将字符匹配的位置因素考虑进来。
(3) 基于词语角色的相似度计算方法。本体概念名称的词语构成, 也就是名称中的中心词 (Head) 和修饰词部分 (Modifiers) 具有不同的相似度贡献, 可以作为测度词语相似性的重要标志。Nenadic等[ 12]在进行生物医学领域术语相似度计算任务中, 将每个术语表达为由两部分构成的词语描述结构, 即术语中关键词汇以及术语的修饰构成部分; 然后使用一个加权的骰子系数 (Dicelike Coefficient) 来比较两个术语的词语描述结构。那些共享更长的共同组成部分的术语将得到更多的分值; 如果两个术语具有相同的关键词, 额外的分值将会增加到相似度测度结果中。
(4) 多种概念相似度计算相结合的方法。Noessner等[ 13]提出CODI词语相似度集成方法, 将余弦相似度算法、Levenshtein相似度算法、Jaro-Winkler Distance相似度算法、Smith-Waterman相似度算法、Overlap Coefficient相似度算法以及Jaccard相似度算法以指定权重进行集成, 以提升本体匹配过程中的概念术语相似度计算效果。
在应用上述借助概念相似度计算进行领域本体映射的实验时, 笔者发现现有方法在两个方面仍然存在不足:
(1) 对于类似“Mutation” (变异) 和“Variation” (变异) 这样的异体词、同义词、近义词, 应用现有基于词语的相似度计算方法很难得到正确的映射关系。特别是当这些词语作为表达本体概念的术语的中心词时, 计算失误会导致相应本体概念匹配失误。
(2) 现有算法对术语中的修饰词相似权重以平均的方式分配, 这使得相似度计算结果的区分度不佳。
本文试图通过在基于词语的本体映射方法中引入WordNet的同义词、近义词检索和编辑距离计算, 以解决相关算法难以识别异体词、同义词、近义词问题; 通过重新设计术语中心词和术语修饰词的权重分配方法, 使中心词、修饰词权重分配更加合理, 进而有效提升本体概念映射的综合效果。
本文提出一种基于词语相似度计算的本体映射方法, 该方法的关键环节包括本体预处理、映射候选生成、词语相似度计算、多重映射合并以及映射结果输出, 如图1所示:
.基于词语相似度计算的本体映射步骤可具体描述如下:
(1) 预处理: 负责导入待匹配本体, 对本体中类的概念、属性、概念实例、属性实例等术语进行解析、特征提取以及格式化存储, 为后续匹配操作做好准备。
(2) 映射候选生成: 通过对本体中概念特征、概念实例间的相似情况等因素分析, 选择与组合可能的概念映射候选对。该步骤借鉴了Huber等[ 14]在CODI本体映射方法中使用的映射候选生成方法。
(3) 概念术语的词语相似度计算: 采用基于术语构成单词的编辑距离相似度计算、基于中心词的WordNet同义词、近义词检索以及基于术语中心词、修饰词的权重自动分配算法相结合的方法, 对本体间两两组合形成的术语描述集合对进行相似度计算, 其结果作为判断本体中概念映射的重要依据。
(4) 多重映射合并: 根据实验数据分析, 设定最优可信度阈值, 筛选出所有超过这一阈值的概念对。在超过阈值的待匹配本体概念对中, 概念之间可能会形成1: n、m: 1或m: n的映射关系。为了将其转化为1: 1映射关系, 以便和领域专家人工标注映射结果集进行对比, 需要再从这些符合条件的概念组中选择相似度最高的映射概念对集合, 作为本体映射的结果进行输出。
(5) 映射结果输出: 对本体映射结果进行格式化输出和存储, 以便于后续利用以及计算效果评测。
在现有的主要本体概念相似度计算思路中, 基于词语构成特征的概念相似度计算具有所需条件少、部署快捷简单、计算效果好等特点, 因此得到广泛的应用。本文提出的词语相似度算法也属于基于词语构成特征的概念相似度计算, 通过对术语构成中心词进行WordNet同义词、近义词检索, 以及对无法检索到的中心词和所有修饰词进行编辑距离计算, 找到两术语构成词语间的正确匹配关系, 并借助相似度权重分配方法为各部分匹配关系分配权重, 最终通过综合计算公式得到术语间相似度计算结果。
(1) 术语词语匹配关系计算设计.
在典型的词语相似度算法中, 将短语术语分解成术语中心词和修饰词, 以分别计算两术语中心词之间和修饰词之间的相似度[ 12]。中心词部分通常表达术语的核心含义, 因此被赋予更高的相似度权重。与之相对应, 由于修饰词仅起到对中心词的限定、修饰功能, 因此在计算时被赋予相对较低的相似度权重。但无论是术语的中心词还是修饰词, 在典型词语相似度算法中都是基于单词直接匹配来实现计算。本文认为, 一些具有映射关系的本体术语的中心词互为字面形式不同的同义词、近义词, 这会导致以往算法在计算这类术语相似度时容易失效。例如, 在对相似术语对 “Genetic Mutation” (基因变异) 和“Genetic Variation” (基因变异) 进行词语相似度计算时, 两术语的中心词分别为 “Mutation” (变异) 和“Variation” (变异) , 它们在语义层面实际上是相同的。但是由于这两个术语各自的中心词在字面表达形式上不一致, 容易导致典型算法在中心词匹配时失败。又因为中心词所占相似度权重较大, 因此这样的匹配失败往往会导致整个术语匹配失败。
笔者认为, 可以将WordNet的同义词、近义词检索功能引入术语中心词匹配过程中, 以中心词部分的语义匹配来替代字面匹配, 从而达到提升相似度计算效果的目的。目前已经有学者针对基于WordNet进行词语相似度计算的方法开展了相关研究, 典型的有Agirre等[ 15]、Resnik[ 16]以及陈骏[ 17]提出的利用WordNet进行相似度计算的方法。这类方法虽然都以WordNet作为检索工具, 通过词语检索的方法达到计算术语相似度的目的, 但是这类方法只适用于一般意义上的常见词、通用词的语义相似度计算, 并不适合直接应用于特定领域本体概念的术语相似度计算。这是因为, 特定领域本体概念术语往往具有较强的领域专指性, 而WordNet对领域专指性概念收录较少。如果直接使用WordNet进行特定领域术语相似度计算, 往往会因为检索失败而影响计算效果。笔者认为, 虽然特定领域的术语无法直接通过检索WordNet的方法进行术语相似度计算, 但是对于术语的重要构成部分——术语中心词而言, 通常为语义较为通用和泛指的词语。对术语中心词部分的相似度计算可以借助WordNet来实现。以相似术语对 “Genetic Mutation” (基因变异) 和“Genetic Variation” (基因变异) 为例, 这两个术语都未收录在WordNet中, 但是它们的术语中心词“Mutation”和“Variation”的检索却能在WordNet中查到具有同义关系。通过这样的方法, 可以实现在新算法中对术语中心词的语义匹配操作。另外, 之所以未将此方法用在修饰词匹配过程中, 是由于修饰词本身在确定术语核心含义时仅起到修饰作用, 其数量也较多, 采用WordNet进行语义扩展对于计算效果提升有限, 也会影响算法计算时间。
术语构成单词层面的相似度计算, 应该建立在术语中词语一一对应的相似度计算基础上。因此, 需要通过构建两术语词语矩阵的方式, 发现术语中词语之间的最佳匹配对应关系。在两术语的单词集合匹配过程中, 为了能够找到最佳匹配关系, 提出以下公式:
其中, sim (wi, wj) 表示两术语中任意单词对之间的相似度, 通过实验观察确定这里的相似度阈值取0.8较为合适。对于那些修饰词以及在WordNet中查询不到的中心词而言, 采用简单字面匹配方法很难对诸如“Autonomic Ganglion” (植物神经节) 和“Autonomic Ganglia” (植物神经节) 的相似术语对做出正确判断。本文采用编辑距离法与词干法相结合的方法, 通过术语的模糊匹配来解决上述问题。这里词干算法使用了当前应用较为广泛的Porter Stemmer算法[ 18], 编辑距离算法使用了公认效果较好的Jaro-Winkler Distance算法[ 19]。dw (wi, wj) 表示通过编辑距离公式计算获得的单词wi和wj之间的编辑距离。单词对之间的相似度计算分为三种情况:
①如果两单词的dw值小于0.8, 则认为它们之间不匹配, 相似度值为0;
②如果两单词的dw值大于等于0.8, 则相似度值为dw;
③如果两单词为各自所在术语的中心词, 则先检索WordNet判断两者是否互为同义词、近义词或反义词, 如果是则返回值为1, 否则按两个一般词来计算相似度。
通过以上计算, 得到两个术语词语成员所构成的相似度矩阵, 找出每一行中的最大值, 作为最终被采用的匹配单词相似度值。
(2) 词语相似度权重分配设计.
刘莎[ 20]在英语语言学方面的相关研究成果表明, 修饰词距离中心词越近, 则它在相似度计算时所贡献的权重越大。例如, 术语 “Induced Pluripotent Stem Cell” (诱导多能干细胞) 的修饰词为“Induced”、“Pluripotent”、“Stem”。与其他修饰词相比, 距离术语中心词最近的术语修饰词“Stem”的语义修饰限定作用最为明显和强烈, 而随着与术语中心词的距离增加, 术语修饰词的语义表达能力逐次下降。因此, 可以根据与术语中心词之间距离的远近特征, 为术语修饰词分配不同的相似度权重。本文使用Stanford Parser[ 21]对术语进行解析, 找出在解析树中位置最深的名词, 并将该词作为术语中心词, 其他词作为修饰词。在对术语中心词和修饰词进行正确区分后, 采用以下公式对各词进行相似度权重的分配。
(3) 词语相似度综合计算设计
基于上述设计, 本文提出的基于词语的术语相似度算法可以表达为:
其中, t1和t2为需要计算词语相似度的术语对, sim (wt1i, wt2j) 表示术语t1中第i个单词与术语t2中第j个单词之间的相似度, Weight (wt1i, wt2j) 表示根据与各自术语中主词之间的距离, 为wt1i和wt2j分配的相似度权重; 分母中 l 的取值范围为[0, Max (|t1|, |t2|) -1], 确保了整个计算结果始终处于[0, 1]范围内。
为了对上述方法进行客观评测, 选取OAEI (Ontology Alignment Evaluation Initiative) 国际组织2010年提供的Anatomy测试集[ 22]作为实验数据开展本体映射实验。Anatomy测试集包含了成年鼠解剖 (Adult Mouse Anatomy, AMA) 本体的2 744个本体类和国家癌症研究协会 (National Cancer Institute, NCI) 词表中一部分描述人类解剖的3 304个本体类。除此之外, 该测试集还提供领域专家人工标注的约1 000对具有映射关系的本体类, 作为评测计算结果的依据。
实验在2.1GHz双核CPU、2.5GB内存、Windows XP操作系统的笔记本电脑上进行。算法的开发环境为JDK1.6, MyEclipse6.5开发平台, 数据库为SQL Server 2000。
对实验结果的评测, 采用在本体映射研究中常用的准确率、召回率以及F1综合测度三个指标[ 23]。相关公式如下:
4.3 测试结果
选择曾经参加OAEI评测的CODI算法作为比较对象[ 13]。CODI算法将Cosine算法、Levenshtein算法、Jaro-Winkler Distance算法、Smith-Waterman算法、Overlap Coefficient算法、Jaccard Similarity算法通过优化权重设定进行集成, 本质上属于基于词语构成特征相似度的本体映射方法。因此, 将其作为比较算法具有合理性。
测试比较结果如图2所示:
图2 本文方法与CODI方法计算结果对比
本文方法的准确率为0.868, 与CODI方法的准确率0.954相比要明显偏低。但是在召回率方面, 本文方法的得分为0.770, 这比CODI方法的0.680高9%。在将准确率和召回率进行综合后得到本文方法的F1测度为0.816, 与CODI方法的F1测度0.794相比具有较为明显的提升。与2010年所有参与Anatomy评测算法的F1测度平均值0.785[ 24]相比, 本文方法的综合性能提升更为明显。
通过对结果集的深入分析发现, 采用基于词语相似度计算的本体映射方法, 能够有效提升计算效果。基于词语相似度计算中WordNet的引入使该方法能够准确地发现用同义词、同形词及近义词表示的概念之间的映射, 使类似“Autonomic Ganglion” (植物神经节) 和“Autonomic Ganglia” (植物神经节) 这样的术语对计算结果能够真实反映它们之间的映射关系。编辑距离相似度计算和新的权重分配算法的应用也进一步提升了计算效果。在分析计算失误的术语对后发现, 没有进行术语语义匹配是影响计算效果的一个重要原因。例如, “Upper Leg” (大腿) 和“Thigh” (大腿) 之间本应具有映射关系, 但是由于当前方法除中心词实现部分语义匹配外, 其余部分基本上是以字面匹配方式进行计算, 这样会造成概念匹配失误。较好的解决方案是将本文方法与基于语义的方法相结合。此外, 由于在通过Stanford Parser解析确定概念术语中心词时, 该解析器有时会在词性判断时发生误判, 由此造成术语中心词判断失误, 也会影响到本文方法的准确率。例如, 在解析“Machine Learning Techniques”时, “Learning”被解析成动词, 而在解析“Machine Learning”时, “Learning”被解析成名词, 这样就导致在术语中心词判断上出现偏差。
与此同时, 发现被领域专家人工标注映射关系集合判断为错误匹配的部分本体概念匹配并非由词语相似度计算失误造成。例如, 根据计算结果, AMA本体中的概念“Semicircular Canal” (半规管) 和NCI本体中的概念“Semicircular Canal” (半规管) 以及“Semicircular Duct” (半规管) 存在映射关系。而在领域专家人工标注的映射关系集合中只存在AMA本体中的概念“Semicircular Canal” (半规管) 和NCI本体中的概念“Semicircular Canal” (半规管) 之间的1: 1映射关系。类似的例子还有AMA本体中的概念“Auricle” (外耳) 与NCI本体中的概念“Auricle” (外耳) 和“Pinna” (耳廓) 的多重映射, AMA本体中的概念“Arm” (手臂) 与NCI本体中的概念“Arm” (手臂) 和“Limb” (肢, 臂) 的多重映射等。这种多重映射关系的现实意义仍然值得进一步探讨。
本文主要针对现有基于词语相似度计算的本体映射方法难以对异体词、同义词进行正确匹配, 以及对本体概念术语的中心词、修饰词权重分配过于粗糙等问题, 提出一种将WordNet的同义词、近义词检索应用于术语中心词之间的相似度判断, 将编辑距离算法应用于本体概念术语的组成词语匹配计算, 并对术语中心词和术语修饰词权重进行自动分配的词语相似度计算方法, 将其应用于本体映射过程中。在OAEI公布的Anatomy数据集上进行的实验证明, 该映射方法的F1测度达到了0.816, 与CODI等同类算法相比具有较明显的性能提升。未来将在现有工作的基础上, 引入本体概念结构特征与实例特征分析功能, 以进一步提升本体匹配的准确性以及计算效率。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|
[19] |
|
[20] |
|
[21] |
|
[22] |
|
[23] |
|
[24] |
|