[发明专利]一种针对顺序无关项组进行快速相近语义匹配的方法有效
申请号: | 201710714945.3 | 申请日: | 2017-08-19 |
公开(公告)号: | CN107451125B | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 洪志令;王备战;林凡;吴梅红 | 申请(专利权)人: | 洪志令 |
主分类号: | G06F40/30 | 分类号: | G06F40/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 361008 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 顺序 无关 进行 快速 相近 语义 匹配 方法 | ||
1.一种针对顺序无关项组进行快速相近语义匹配的方法,其特征在于所述方法包括如下步骤:
(1)对所有顺序无关项组进行排重,使得保留下来的对应长字符串具有唯一性;排重过程依据顺序无关项组所对应长字符串的当前存储方式使用不同的处理方法,如存储在数据库中,此时仅需Select Distinct操作即可完成;存储在文件或内存时,仅需逐行读入,借助Hashtable中key的唯一性则可进行排重;
(2)提取顺序无关项组中的项,并对项进行排重存储;对于每个长字符串,根据预先定义或可能的间隔符进行分割,每个长字符串分割后可以得到多个项;对所有得到的项,类似步骤(1)的排重方法进行排重后存储;最后,得到所有顺序无关项组拆解后的所有可能的项,并对项的存储是唯一的;
(3)对排重后的项进行排序和编号;具体分为排序子步骤和编号子步骤;排序子步骤的过程为:如果项是存储在数据库中的,仅需根据数据库排序规则选择并Order By即可;如果是存储在文件或内存中的,则需按数字/字母/字符拼音依次进行排序;编号子步骤的过程为:首先对排序好的项从1开始顺序进行编号;接着通过构造修正系数对编号进行修正,将该修正系数加上待修正项的原编号,即可得其更新后的新编号,通过编号修正使得具有可能相似语义的符号能够与不相似语义的符号在编号数值上具有较大距离;
(4)根据项的编号,对所有的顺序无关项组进行排序编码;对每个顺序无关项组分解为多个单独项后,用步骤(3)所得的项编号值替换每个项,此时可得一编号数组;对该项组所对应的编号数组的数值按从小到大进行排序,以排序后的编号值重新组合构成新项组并存储;对所有的顺序无关项组都进行排序编码操作;原本由各属性名称组成的顺序无关项组此时变换为由编号值组成的顺序相关项组;(5)对两个顺序无关项组所对应的排序编码进行快速相近语义匹配;原来由各属性名称组成的顺序无关项组经编码变换为由编号值组成的顺序相关项组,此时匹配计算对象是两个排序的编码;对于两个由编号值组成的顺序相关项组A和B,A=[a1,a2,…,ai,…,an],B=[b1,b2,…bj,…,bm]; 项组A的长度为n,B的长度为m; n和m不一定相等; A中各元素a1,a2,…,ai,…,an按从小到大排序;同样B中各元素b1,b2,…bj,…,bm也是按从小到大排序的;对两个排序编码A和B的比较,匹配过程具体如下:
1)令i=0,j=0,匹配计数器count=0,相似阈值th(th的可调参数,用于控制语义相近的程度判断);
2)当in并且jm时,重复执行以下操作,直至循环条件不满足,
(2.1)若Math.Abs(ai-bj)=th,则判断为相似,匹配计数器加1,即count++;
同时待比较项各往前走一步,即i++,j++;
(2.2)若ai-bjth,则判断为不相似,j++;
(2.3)若2.1和2.2条件都不满足,则依旧判断为不相似,此时i++;
3)计算相似度值sim=2*count/(n+m);
计算过程最多仅需n+m次循环即可完成计算;同时根据前述编号的方式,排序编码A和B中当ai与bj直接相减其所得数值可以在一定程度上体现项的语义差异;
(6)以某个顺序无关项组作为输入,检索相似的顺序无关项组,过程为:a.预先加载两方面内容,由编号值组成的顺序相关项组和项的编号值,项-编号值的一一映射关系放到哈希映射表中;b.对输入的顺序无关项组S进行编码,得到一由编号值组成的顺序相关项组;c.将S对应的顺序相关项组与预先已加载的排重后顺序相关项组逐一进行比较,同时记录S与每个项组进行比较的相似度值;d.对相似度值进行按从大到小进行排序,输出最相似的前L个项组。
2.根据权利要求1所述的对排重后的项进行排序和编号,其特征在于,对项首先按数据库排序规则或按数字/字母/字符拼音进行排序,之后在此基础上所进行的编号方式;编号分两阶段进行:顺序编号和编号修正;编号修正的对象为以项的第一个字符进行统计,该字符在所有项中重复出现的数量超过t次的项;编号修正的方法为根据修正对象的首字符的分组数量,顺序从1开始,构建修正系数,假设当前为第k个分组,则该分组的修正系数为k*10len(N)+1;将该修正系数加上待修正项的原编号,即可得其更新后的新编号;所得新编号使得具有可能相似语义的符号能够与不相似语义的符号在编号数值上具有较大距离。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于洪志令,未经洪志令许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710714945.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种大口径沟槽管件内涂塑装置
- 下一篇:一种LED荧光粉的涂覆设备