[发明专利]一种模式串分配方法、装置和用于模式串分配的装置有效
申请号: | 202010184013.4 | 申请日: | 2020-03-16 |
公开(公告)号: | CN111382325B | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 孙浩 | 申请(专利权)人: | 北京搜狗科技发展有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F40/216 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 郑傲日 |
地址: | 100084 北京市海淀区中关*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 模式 分配 方法 装置 用于 | ||
1.一种模式串分配方法,其特征在于,所述方法用于将n个模式串分配到包含m个分组的位向量表中,所述方法包括:
对于长度为L的第j个分组,构建L维的数据字典Dj1,Dj1中的元素表示第j个分组中相应位置的字符编码;
将第i个模式串中的各个字符按照其在第i个模式串中的位置,依次加入Dj1,每加入一个字符,确定加入当前字符所产生的误判字符串集合;
在第i个模式串中的所有字符加入Dj1后,获取第i个模式串中的各个字符所产生的误判字符串集合的并集;
在所述并集中删除与所述第i个模式串相同的字符串,得到将第i个模式串分配到第j个分组产生的误判字符串集合;其中,i的取值为1~n,j的取值为1~m;
根据所述误判字符串集合中各误判字符串的词频,确定将所述第i个模式串分配到所述第j个分组产生的第一损失增益;
将所述第i个模式串分配到对应的第一损失增益最小的分组,直到第n个模式串分配完成。
2.根据权利要求1所述的方法,其特征在于,所述确定加入当前字符所产生的误判字符串集合,包括:
若加入的当前字符在所述Dj1中存在,则加入当前字符所产生的误判字符串集合为空;
若加入的当前字符在所述Dj1中不存在,则对所述当前字符与Dj1[k](k!=i)进行全排列,得到加入当前字符所产生的误判字符串集合。
3.根据权利要求1所述的方法,其特征在于,在第n个模式串分配完成之后,所述方法还包括:
确定m个分组中每个模式串的第二损失增益;
根据所述第二损失增益,对所述m个分组中已分配的模式串进行调整,得到调整后的分组。
4.根据权利要求3所述的方法,其特征在于,所述确定m个分组中每个模式串的第二损失增益,包括:
对于长度为L的第j个分组,构建L维的数据字典Dj2,Dj2中的元素表示在所述第j个分组中取出第k个模式串后,第j个分组中相应位置的字符编码;其中,k的取值为1~K,K为所述第j个分组中已分配的模式串个数;
依据所述Dj2,确定将所述第k个模式串分配到所述第j个分组产生的第二损失增益。
5.根据权利要求3所述的方法,其特征在于,所述根据所述第二损失增益,对所述m个分组中已分配的模式串进行调整,得到调整后的分组,包括:
确定第二损失增益最大的模式串为目标模式串,以及确定所述目标模式串当前所在分组为第一目标分组;
确定将所述目标模式串分配到非第一目标分组的第三损失增益;
确定第三损失增益最小的分组为第二目标分组;
若最大的第二损失增益与最小的第三损失增益的差值超过预设阈值,则将所述目标模式串从所述第一目标分组调整到所述第二目标分组,得到调整后的分组。
6.根据权利要求5所述的方法,其特征在于,所述确定将所述目标模式串分配到非第一目标分组的第三损失增益之后,所述方法还包括:
若最大的第二损失增益与最小的第三损失增益的差值未超过所述预设阈值,则确定第二损失增益次大的模式串为目标模式串,重新确定将所述目标模式串分配到非第一目标分组的第三损失增益的操作。
7.根据权利要求5所述的方法,其特征在于,所述将所述目标模式串从所述第一目标分组调整到所述第二目标分组之后,所述方法还包括:
根据所述调整后的分组中分配的模式串,重新确定最大的第二损失增益和最小的第三损失增益;
根据所述重新确定得到的最大的第二损失增益和最小的第三损失增益,对所述调整后的分组进行调整,直到满足终止条件,得到目标分组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京搜狗科技发展有限公司,未经北京搜狗科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010184013.4/1.html,转载请声明来源钻瓜专利网。