[发明专利]一种基于本体匹配的语义查询方法有效
申请号: | 201410004084.6 | 申请日: | 2014-01-04 |
公开(公告)号: | CN103744955B | 公开(公告)日: | 2017-04-05 |
发明(设计)人: | 黄河燕;史树敏;苏超;冯冲;李侃 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 本体 匹配 语义 查询 方法 | ||
1.一种基于本体匹配的语义查询方法,其特征在于:
步骤一、设置一个阈值λ,本发明中最终返回的本体类、本体个体、本体属性个数都不超过λ;
步骤二、设置一个相似度阈值σ,本发明中最终返回的本体类、本体个体、本体属性与用户输入的字符串的相似度都不低于σ;
步骤三、设定一个相近词对阈值θ,提取含有x个词语的句子S1与含有y个词语的句子S2的相近词对时,先依次计算句子S1中每个词语与句子S2中每个词语的语义相似度,构成x*y的相似度矩阵s[x*y],再将相似度从大到小并且相似度不小于阈值θ的词对设置为相近词对,每提取一个相近词对,则将相似度矩阵中其所对应的行和列的值都置为0;
步骤三、获取本体类列表{OntClass1,OntClass2,...,OntClassl},其中OntClassi代表一个本体类,(1≤i≤l)l为正整数,表示含有l个本体类;classList是一个链表,其结点是一个这样的二元组:<OntClassi,simi>,其中OntClassi是一个本体类,simi是这个本体类与用户输入的字符串string的相似度,classList的初始大小为0;
步骤四、对每一个OntClassi,1≤i≤l执行以下步骤:
(1)计算关键词与本体类名称的相似度simNamei:
其中,n是string所含词语的个数,n>1
(2)计算第j个词对中wja和wjb两个词语的权重,句子中词语的权重是词语代表句子概念的程度,与词性、句子长度、句子结构有关,在计算时不考虑虚词,首先给出词性权重,设名词权重为γ1,动词权重为γ2,形容词权重为γ3,数词权重为γ4,其它实词权重为γ5,词语权重的计算公式如下:
其中,γi表示词语的词性对应的权重,k表示句子中出现的词性数,ni表示句中i类词性词的个数;
(3)计算关键词与本体类注释的相似度simCommenti:
其中,wja和wjb为第j个词对中两个词语的权重,sj和sk分别是第j个词对和第k个词对中两个词语的相似度
(4)取simNamei与simCommenti两者较大的为simi的值;
(5)若simi>σ且classList的大小小于λ,则将<OntClassi,simi>添加至classList中,classList的大小加1;
(6)若simi>σ且classList的大小不小于λ,则删除classList中相似度最小的那个二元组,并将<OntClassi,simi>添加至classList中;
步骤五、获取本体个体列表{OntIndividual1,OntIndividual2,...,OntIndividualm},其中OntIndividuali代表一个本体个体,m为正整数,表示含有m个本体个体;indiList是一个链表,其结点是一个这样的二元组:<OntIndividuali,simi>,其中OntIndividuali是一个本体个体,simi是这个本体个体与用户输入的字符串string的相似度,indiList的初始大小为0;对每一个OntIndividuali,1≤i≤m执行以下步骤:
(1)按步骤四(1)计算关键词与本体个体名称的相似度simNamei;
(2)按步骤四(3)计算关键词与本体个体注释的相似度simCommenti;
(3)取simNamei与simCommenti两者较大的为simi的值;
(4)若simi>σ且indiList的大小小于λ,则将<OntIndividuali,simi>添加至indiList中,indiList的大小加1;
(5)若simi>σ且indiList的大小不小于λ,则删除indiList中相似度最小的那个二元组,并将<OntIndividuali,simi>添加至indiList中;
步骤六、获取本体属性列表{OntProperty1,OntProperty2,...,OntPropertyl},其中OntPropertyi代表一个本体属性,n为正整数,表示含有n个本体类;propList是一个链表,其结点是一个这样的二元组:<OntPropi,simi>,其中OntPropi是一个本体属性,simi是这个本体属性与用户输入的字符串string的相似度,propList的初始大小为0;对每一个OntPropertyi,1≤i≤n执行以下步骤:
(1)按步骤四(1)计算关键词与本体属性名称的相似度simNamei;
(2)按步骤四(3)计算关键词与本体属性注释的相似度simCommenti;
(3)取simNamei与simCommenti两者较大的为simi的值;
(4)若simi>σ且propList的大小小于λ,则将<OntPropertyi,simi>添加至propList中,propList的大小加1;
(5)若simi>σ且propList的大小不小于λ,则删除propList中相似度最小的那个二元组,并将<OntClassi,simi>添加至propList中;
步骤七、分别将链表classList、indiList、propList中的结点按照simi值从大到小排序,则classList中包含了不超过λ个本体类OntClassi、indiList中包含了不超过λ个本体个体indiClassi、propList中包含了不超过λ个本体属性OntPropertyi,它们就是最符合用户查询意图的本体资源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410004084.6/1.html,转载请声明来源钻瓜专利网。