Sim(P1,P2)?虚拟根节点?dist?? (3-15)
式中:?--可调节参数。
实体万物物质Dist1=3动物兽鱼生物Dist3=4植物Dist2=2水果
图 3-7知网义原树的一个子片段 2)引入相关性的词语相似度计算
词语相关性与词语相似性两个概念有着密切的关联关系:如果两个词语非常相似,那么这两个词语与其他词语的相关性也非常接近;反之,如果两个词语与其他词语的相关性特点很接近,那么这两个词语一般相似程度也很高。这里考虑将词语的相关性引入到相似度计算中[37],在知网的语义资源中考虑提取词语的相关词汇集合。设计算法步骤如下:
(1)对任意一个词语A的概念表达式DEFA,将其分解成义原的集合SememeA; (2)抽取SememeA中的一个义原Sememei,如果Sememei存在于另一个词语B的DEFB的描述式中,将该词语引入到词语A相关词汇集合中;
(3)在SememeA 的义原抽取过程中,如果发现有重复的词语,将其并入到词语A 的相关词语集合中。
通过提取词语概念义原形成该词语的相关词汇集合,举例说明:对于词语“女人”,它的概念描述式DEF 是“{ human | 人: modifier = {fale |女} ) ”,这里将其分解为“human |人”和“ modifier:{fale |女} ”,对于这两个义原用上述方法形成相关词汇集合{两口子、老俩口、老少配、恩爱夫妻、世家、家室、当家的、太太、爷们}。任意词语对的计算公式如(3-14)所示: 3)
Simrel(W1,W2)?Simrel(Di,Dj)??2Di?DjDi?Dj?2C (3-16) A?B一种改进的基于HowNet(知网)的语义相似度计算方法
传统的基于《知网》的语义相似度计算算法充分利用了《知网》中义原的上下位关系,义原
的相似性计算主要依赖义原的层次体系(树状结构)来计算,相关的算法都是利用义原层次体系计算义原的语义距离。通过对已有算法的分析,本文认为在义原的相似度计算中对于层次信息的考虑应该更加充分和详细。
对于义原相似度的计算公式的确定,本文总结出三个基本原则:
(1)两义原最近公共父节点在树中的深度值Depth越大,则相似度值SEMp越大; (2)两义原间的距离值Dist越大,则相似度值SEMp越小;
(3)义原的相似度遵从相似度计算的基本思想,两事物的相似性是共性和整体(共性+个性)的比值。
基于这三个基本原则计算公式(3-15)为:
SEMp(p1,p2)???Depth (3-17)
??Depth?DistHowNet中除了常用义原外,还有反义义原(如:好对坏,大对小)、对义义原(如:讲道理对不讲道理)。在计算义原相似度时,两义原有可能不属于同一个分类。为了更好的利用这些语义关系,所以本文对于义原的相似度计算补充定义如下: (1)如果两义原不属于同一类,即Depth=1,则SEMp(2)如果两义原是反义义原或对义义原,则SEMp?SEMp?0.1;
?SEMp?0.2。
改进的基于《知网》的语义相似度算法,算出的语义关联度Simrel 和利用反义、对义关系的《知网》相似度算法进行加权计算(公式3-16):
Similarity(W1,W2)??1*SEMp(p1,p2)??2*Simrel(Di,Dj) (3-18)
其中?1,?2是可调节的系数,且?1+?2=1。
3.3.3 HCSC算法设计思想
《知网》是国内一部比较详尽的语义知识词典,但由于汉语词语结构本身的特点,以及由于主题图融合应用中出现的多为特定领域的专业词语或短语,单纯的运用基于《知网》的算法无法解决未登录词的问题。引入基于语料库的词语相似度计算算法,很有效地解决了该问题。HCSC算法的设计思想是将本体与语料库结合起来,同时辅以自定义规则和同义词计算,形成一个参数自适应调节的基于本体(知网)和语料库的综合词语相似度计算算法,充分利用了已有本体库(知网)中词语义原间的语义信息和语料库中词语间的语用、语境信息,解决了《知网》中的未登录词问题,提高了相似度计算结果的精度和准确性。 HCSC算法的基本思想:
(1) 先采用字符串匹配的语法相似度计算对数据进行第一遍处理。这样可以减少一
定的运算量,同时保证执行的时间效率。 (2)
对词语对进行3.3.1的规则和同义词词林的语义相似性度量,如符合则直接返
回一个特定的相似度值。 (3)
对上述处理后的词语对进行3.3.2的改进的基于HowNet(知网)的语义相似度计
算,同时辅以权重参数?1,同时根据计算结果判断其是否为登陆词。 (4) (5)
对词语对进行3.2的基于语料库的语义相似度计算,辅以权重参数?2。 根据(3)中是否为登陆词自动调节权重参数?1和?2。
3.3.4 HCSC算法设计框架
扩展主题图融合中HCSC算法主要包括三大模块:数据预处理、分词切词和相似性计算,HCSC算法框架图如3-8所示。
数据预处理:扩展主题图文件以XML格式显示,数据预处理部分首先将待融合的XML文件解析并转换为对象形式存储在内存中。共有n个元素对,如全部参与相似度计算,会耗费大量的时间降低算法的实用性。因此使用归类算法对这些元素对进行过滤,挑出具有合并可能性的元素对,构成待比较元素对集合。
分词切词:采用3.2.1所述的最大正向匹配和最大逆向匹配结合的分词方法对词语、短语对进行分词处理。
相似性计算:HCSC算法,其主要包括字符匹配的语法相似度计算,基于规则的计算,基于同义词词林的计算,基于改进《知网》的语义相似度计算和基于语料库的语义相似度计算。
2扩展主题图融合相似元素对相似度计算相似度值知网切词分词语法计算规则计算词林计算改进知网计算语料库计算语料库HCSC相似度计算算法归类待比较元素对局部主题图1XTM解释器局部主题图2元素对 数据预处理
图 3-8 HCSC算法框架图
3.3.5 HCSC算法详述
基于本体和语料库的综合相似度计算算法—HCSC算法,有效的利用《知网》概念义原间的语义信息和语料库中词语间的语用、语境信息,同时能根据各自的计算结果,自动调节其自身的加权值。算法的处理流程如图3-9所示,其详细的描述如下: 算法:基于本体和语料库的综合词语语义相似度计算算法—HCSC算法 输入
W1,W2,W1?W,W2?W,W为一词语集或短语集
输出 SEM(W1,W2)?[0,1] 词语W1和W2的相似度值
步骤1:对W1,W2使用最大正向匹配和最大逆向匹配相结合的分词方法,{W11,
W12,?W1i}?W1,{W21,W22,?W2i}?W2,i=0时即自身不可分 i?N;
步骤2:对W如完全匹配则保存其相似度值1.0,1i和W2i进行字符串匹配的语法相似度计算,否则计算步骤3;
步骤3:进行基于规则的语义相似度计算,即带入公式3-12,当计算结果为1.0时,则保存其计算结果为两个词的语义相似度值,否则计算步骤4;
步骤4:进行基于同义词词林的相似度计算,即带入公式3-13,当计算结果为0.95时,则保存其该计算结果为两个词的语义相似度值,否则计算步骤5;
步骤5:进行改进的基于《知网》的相似度计算,即将W1i,W2i带入公式3-18;
步骤6:选择加权参数?1?[0,1];
步骤7:将W1i,W2i进行基于语料库的相似度计算,即公式3-11; 步骤8:选择加权参数?2?[0,1];
步骤9:将公式3-18、3-11和加权参数综合得:
SEM(W1,W2)??(?1?Similarity(W1i,W2i)??2?Simcopus(W1i,W2i))
i?1公式的详解如3-19所示:
SEM(W1,W2)?N?(?1?(?1*SEMp(W1i,W2i)??2*Simrel(W1i,W2i))??2?(?1?WebPMI(W1i,W2i)??2?CODC(W1i,W2i)))i?1N (3-19)
步骤10:如公式3-18计算结果?=0,则自动调节公式3-19的?1=0,?2=1,如?>?(此处取?=0.9,
??[0,1]),则自动调节公式3-19的?1=1,?2=0;否则计算11;
步骤11:如公式3-11计算结果?(此处取?=-0.8,??[-1,0]),则?=?+1,计算步骤10,否则 ? <0;则?=?+|?|,计算步骤10;
步骤12:设定公式3-19中的参数值,保证?1+?2=1,得出计算结果SEM(W1,W2),算法结束。