CN102662943B - 短信匹配及去重方法 - Google Patents
短信匹配及去重方法 Download PDFInfo
- Publication number
- CN102662943B CN102662943B CN201210015435.4A CN201210015435A CN102662943B CN 102662943 B CN102662943 B CN 102662943B CN 201210015435 A CN201210015435 A CN 201210015435A CN 102662943 B CN102662943 B CN 102662943B
- Authority
- CN
- China
- Prior art keywords
- note
- node
- character
- coupling
- binary tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种短信匹配及去重方法,包括以下步骤:服务器中初始种子短信库为空,短信库对应于一平衡二叉树,且平衡二叉树初始化为空;设置匹配的相似度阈值;对新增的一条待测短信,首先计算该短信匹配成功所需的最少匹配字符数;建立一个匹配数组,长为短信库中已有短信条数,记录待测短信与已有短信的匹配字符数,初始为0;对待测短信进行排序,排序结果为非重复的顺序字符以及对应字符出现的次数,不包含标点符号;在平衡二叉树中查找相应的字符,对排序后的待测短信的每个字符进行匹配,同时更新匹配数组和平衡二叉树;待测短信匹配过程结束后,找出匹配数组中数值大于最少匹配字符数的对应短信序列,进行去重操作。
Description
技术领域
本发明涉及短信匹配及去重方法,特别涉及到一种更准确、迅速的短信匹配及去重方法。
背景技术
一般来说,重复短信包括以下几类:短信文字、标点符号以及句子语序基本相似;文字和语序基本相似,而标点符号不同;文字和标点符号相似,而语句被打乱顺序;文字相似,而标点符号与语序都不同;因此可以看出,判别是否为重复短信主要在于短信文字的相似程度。现有的短信匹配方法中大多基于分词或者特征进行,即通过标点符号将短信分为多个片段,从片段中提取分词或特征,再进行匹配;但是在该类方法中,分词或特征的提取易受标定符号位置的影响;且分辨度好的特征较难选取和衡量;此外,匹配结果与短信文字的位置有关,对于句子文字相似但顺序不同的短信难以得到满意的匹配结果。因此在短信文本匹配过程中,不需要考虑标点符号以及语句顺序就能获得好的匹配效果的方法是目前所缺乏的。
发明内容
本发明的目的是为了解决上述技术的不足,提供了一种短信匹配及去重方法,对于待查询的短信,本发明可以从海量的短信库中快速地找出与之相似的短信,并给出匹配相似度以及相应的去重处理。
本技术方案提供了一种短信匹配及去重方法,包括以下步骤:
步骤1:服务器中初始短信库为空,短信库对应于一平衡二叉树,且平衡二叉树初始化为空;
步骤2:设置匹配的相似度阈值;
步骤3:对新增的一条待测短信,首先计算该短信匹配成功所需的最少匹配字符数=待测短信长度×相似度阈值;
步骤4:其次建立一匹配数组,长为短信库中已有短信条数,记录待测短信与对应已有短信的匹配字符数,初始为0;
步骤5:接着对待测短信进行排序,排序结果为非重复的顺序字符以及对应字符出现的次数N,不包含标点符号;
步骤6:在平衡二叉树中查找相应的字符,对排序后的待测短信的每个字符进行匹配,同时更新匹配数组和平衡二叉树;
步骤7:待测短信匹配过程结束后,匹配数组中的数值与最少匹配字符数相比较,根据比较的结果进行去重操作。
进一步的,所述的平衡二叉树包括结点S、结点T和指针域,所述结点S的第一部分为保存短信字符的值域,第二、三部分分别为指向左右子树结点S的相应的指针域,第四部分为指向结点T的指针域;所述结点T第一部分为结点S中字符的短信序号,第二部分为结点S中的字符在该条短信中出现的次数,第三部分为指向下一个结点T的指针域。
进一步的,所述步骤6中在平衡二叉树中查找相应的字符,若已存在该字符,则进行以下步骤更新匹配数组和平衡二叉树:
步骤6.1:首先获取该字符对应的结点S指向的所有结点T中的短信序号以及该字符在对应短信中出现的次数M,将匹配数组中对应短信序号的匹配字符数加上M和N中较小的数;
步骤6.2:新建结点T,第一部分置为待测短信序号,即已有的短信最大序号加1,第二部分置为N。
进一步的,所述步骤6中在平衡二叉树中查找相应的字符,若不存在该字符,则进行以下步骤更新平衡二叉树:
步骤6.1:新建结点S和结点T,结点S中第一部分置为该字符,结点T第一部分置为待测短信序号,即已有的短信最大序号加1,第二部分置为N,S中第四部分指向结点T;
步骤6.2:将新建的结点S插入至平衡二叉树相应位置,并保持二叉排序树的平衡性。
进一步的,所述步骤7中的去重操作包括以下步骤:
步骤7.1:匹配数组中数值大于最少匹配字符数的对应短信序列即为自定义的重复短信,其匹配相似度=匹配数值÷短信长度,则服务器不保存该条短信,且只将短信号码、已有的重复短信序号以及相应的匹配相似度发送给手机用户;
步骤7.2:若匹配数组中数值小于最少匹配字符数的对应短信序列,即匹配相似度小于自定义阈值,则不存在自定义的重复短信,服务器保存该条短信,并将该短信以及短信号码直接发送给手机用户。
本发明短信去重方案,能够实现对短信文本的重复性查询以及对重复短信的处理以节省存储空间,具体的包括如下有益效果:1、不需要通过标点符号对短信分片来进行分词或提取特征,避免标点符号位置的不同对结果造成影响;2、能够避免分词或特征提取方法对结果的影响;3、匹配结果不受字符出现顺序的影响;4、用户可以自定义匹配相似度,根据需要进行灵活调节;5、本发明可以大大降低短信匹配的复杂度,加速匹配过程;6、根据匹配结果可以智能化节省服务器以及用户的存储空间。
附图说明
图1短信库对应的平衡二叉树结构示意图;
图2本发明的总体流程示意图;
图3短信匹配过程流程示意图;
图4短信去重过程流程示意图;
图5本发明的实施例示意图;
图6为本发明实施例的另一示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的短信去重模型进一步详细说明。应当理解,此处所描述的具体实施案例仅仅用以解释本发明,并不用于限定本发明。
如图1所示的平衡二叉树的结构示意图,平衡二叉树包括结点S、结点T和指针域,结点S的第一部分为保存短信字符的值域,第二、三部分分别为指向左右子树结点S的相应的指针域,第四部分为指向结点T的指针域;结点T第一部分为结点S中字符的短信序号,第二部分为结点S中的字符在该条短信中出现的次数,第三部分为指向下一个结点T的指针域。
如图2所示的本发明流程总体示意图,总体可以概括为四个过程:种子库初始化,即将短信库和平衡二叉树初始化为0;用户按照需要进行参数设置,即设置匹配的相似度阀值;短信匹配;短信去重。然后根据待比较的短信条数循环进行以上步骤。
如图3所示的短信匹配流程示意图,包括以下过程:
1、输入一条待测短信,并计算最少匹配字符数,最少匹配字符数=待测短信长度×相似度阈值,相似度阈值由用户设定;
2、初始匹配数组各值为0,匹配数组的长为短信库中已有短信条数,值为待测短信与对应已有短信的匹配字符数;
3、对待测短信进行排序,排序结果为非重复的顺序字符以及对应字符出现的次数,不包含标点符号;
4、输入排序后短信的字符,并在平衡二叉树中查找该字符;
4.1、若存在该字符,则更新匹配数组对应值;更新平衡二叉树中该字符对应的结点T;
4.1.1、短信字符处理完毕,将匹配数组与最少匹配字符数相比较,得到自定义重复短信,并计算匹配相似度;
4.1.2、短信字符未处理完毕,返回步骤4;
4.2、若不存在该字符,则新建该字符对应的结点S和结点T,将结点S插入至平衡二叉树,并调节树平衡;
4.2.1短信字符处理完毕,将匹配数组与最少匹配字符数相比较,得到自定义重复短信,并计算匹配相似度;
4.2.2、短信字符未处理完毕,返回步骤4。
如图4所示的短信去重过程示意图,包括以下过程:
1、匹配数组中数值大于最少匹配字符数的对应短信序列即为自定义的重复短信,其匹配相似度=匹配数值÷短信长度,则服务器不保存该条短信,且只将短信号码、已有的重复短信序号以及相应的匹配相似度发送给手机用户;
2、匹配数组中数值小于最少匹配字符数的对应短信序列,即匹配相似度小于自定义阈值,则不存在自定义的重复短信,服务器保存该条短信,并将该短信以及短信号码直接发送给手机用户。
如图5和图6所示的实施例,设有abcd和aabdc两条待测短信,对应的具体操作如下:
步骤1:种子短信库初始化。将短信库以及对应平衡二叉树的初始化为空;
步骤2:用户参数设置。由用户自定义匹配相似度阈值,如80%;
首先对于第一条待测短信abcd(如图5所示):
步骤3.1:短信匹配-最小的字符匹配数为4×80%≈4(取上限)。由于短信库为空,对应匹配数组为空。对待测短信abcd排序得到a(1)b(1)c(1)d(1),即a、b、c、d各个字符对应出现的次数分别为1,1,1,1。因为初始平衡二叉树为空,对abcd中的每个字符都新建结点S以及结点T,插入至平衡二叉树,并调节保持二叉树的平衡性,最终得到更新的平衡二叉树如图5所示。
步骤4.1:短信去重-由于该条短信匹配数组中无数值,匹配相似度为0,不超过用户自定义的匹配相似度阈值,因此服务器保存该条短信,并直接将该条短信以及短信号码发送给用户。
接着对于第二条待测短信aabdc(如图6所示):
步骤3.2:短信匹配-最小的字符匹配数为5×80%=4(取上限)。由于短信库已有一条短信,则对应匹配数组只含一个元素,初始化为0。对待测短信aabdc排序得到a(2)b(1)c(1)d(1),即a、b、c、d各个字符对应出现的次数分别为2,1,1,1。对排序后短信a(2)b(1)c(1)d(1)每个字符,在已有的平衡二叉树中进行查找。如对于字符a,经过两次比较即可查找成功,对应的S结点后只有一个T结点,短信序号为1,字符a在序号为1的短信中只出现1次,小于待测短信中字符a出现的次数2,因此在匹配数组中序号1的元素值加1。同时新建结点T,第一部分值为待测短信序号2,第二部分值为待测短信中字符a出现的次数2,添加至原来的结点T后。其他字符匹配如此类推,最终得到的匹配数组中的数值为4,最终得到更新的平衡二叉树如图6所示。
步骤4.2:短信去重-由于该条短信与匹配数组中对应短信库中第一条短信的数值大于该短信的最少匹配字符数,即匹配相似度为4/5=80%,超过用户所设的匹配相似阈值,因此服务器只将该条短信号码、重复的短信序列(1)以及对应的匹配相似度(80%)发送给用户。
若还有更多待检测短息,则以上四个步骤循环进行,既能大幅度加速短信匹配过程,又能对重复短信进行智能化处理,帮助节省服务器以及用户的存储空间。
与常规短信字符匹配方法相比,本发明的短信匹配方法在短信匹配和更新平衡二叉树中字符之前,先去除待测短信中的标点符号和空格字符,并对其余字符按照非重复的字符出现的次数排序,从而可以大大降低匹配过程的时间复杂度,更好的发挥平衡二叉树简化匹配过程的效果。例如,假设短信库中共有D条短信,每条短信有U个字符,待测短信有V个字符,则常规短信字符匹配方法所需的时间复杂度为O(D×U×V)。本方法中,平衡二叉树中仅保存着短信库中非重复的字符,且不包括标点符号。而国家有关机构作过统计,常用汉字大约是2500个到7000个之间。因此,二叉树中最多有7000个节点。在最坏情况下,待测短信中的每个字符都在二叉树底层出现,且短信库中每条短信中都出现该字符,即该字符的S节点后有D个后续T节点。则本方法所需的时间复杂度为O(V×logV)+O(V×(log7000+D))。其中O(V×logV)为待测短信的排序时间复杂度,O(V×(log7000+D))为二叉树的查找复杂度加上顺序遍历该字符S节点的D个后续T节点的时间复杂度。手机中每条短信最多有140字符,即U<140,V<140。当短信库中存在海量短信时,如D=10000000,则本方法的时间复杂度近似为O(V×D),远小于O(D×U×V)。并且当待测短信中存在重复字符,如有1/3重复字符,则时间复杂度可以进一步降为O(2/3×V×D),且重复度越大,时间复杂度降幅越大。
本发明不仅能够获取更有价值的短信,避免遭受重复短信的轰炸,同时实现智能管理短信,有效得节省存储空间。本发明可用于移动通信等行业中。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (4)
1.一种短信匹配及去重方法,其特征在于包括以下步骤:
步骤1:服务器中初始短信库为空,所述短信库对应于一平衡二叉树,且平衡二叉树初始化为空;
步骤2:设置匹配的相似度阈值;
步骤3:对新增的一条待测短信,首先计算该短信匹配成功所需的最少匹配字符数=待测短信长度×相似度阈值;
步骤4:其次建立一匹配数组,长为短信库中已有短信条数,记录待测短信与已有短信的匹配字符数,初始为0;
步骤5:接着对待测短信进行排序,排序结果为非重复的顺序字符以及对应字符出现的次数N,不包含标点符号;
步骤6:在平衡二叉树中查找相应的字符,对排序后的待测短信的每个字符进行匹配,同时更新匹配数组和平衡二叉树;
步骤7:待测短信匹配过程结束后,匹配数组中的数值与最少匹配字符数相比较,根据比较的结果进行去重操作;
所述步骤7中的去重操作包括以下步骤:
步骤7.1:匹配数组中数值大于最少匹配字符数的对应短信序列即为自定义的重复短信,其匹配相似度=匹配数值÷短信长度,则服务器不保存该条短信,且只将短信号码、已有的重复短信序号以及相应的匹配相似度发送给手机用户;
步骤7.2:若匹配数组中数值小于最少匹配字符数的对应短信序列,即匹配相似度小于自定义阈值,则不存在自定义的重复短信,服务器保存该条短信,并将该短信以及短信号码直接发送给手机用户。
2.根据权利要求1所述的短信匹配及去重方法,其特征在于:所述的平衡二叉树包括结点S、结点T和指针域,所述结点S的第一部分为保存短信字符的值域,第二、三部分分别为指向左右子树结点S的相应的指针域,第四部分为指向结点T的指针域;所述结点T第一部分为结点S中字符的短信序号,第二部分为结点S中的字符在该条短信中出现的次数,第三部分为指向下一个结点T的指针域。
3.根据权利要求1所述的短信匹配及去重方法,其特征在于:所述步骤6中在平衡二叉树中查找相应的字符,若已存在该字符,则进行以下步骤更新匹配数组和平衡二叉树:
步骤6.1:首先获取该字符对应的结点S指向的所有结点T中的短信序号以及该字符在对应短信中出现的次数M,将匹配数组中对应短信序号的匹配字符数加上M和N中较小的数;
步骤6.2:新建结点T,第一部分置为待测短信序号,即已有的短信最大序号加1,第二部分置为N。
4.根据权利要求1所述的短信匹配及去重方法,其特征在于:所述步骤6中在平衡二叉树中查找相应的字符,若不存在该字符,则进行以下步骤更新平衡二叉树:
步骤6.1:新建结点S和结点T,结点S中第一部分置为该字符,结点T第一部分置为待测短信序号,即已有的短信最大序号加1,第二部分置为N,S中第四部分指向结点T;
步骤6.2:将新建的结点S插入至平衡二叉树相应位置,并保持二叉排序树的平衡性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210015435.4A CN102662943B (zh) | 2012-01-18 | 2012-01-18 | 短信匹配及去重方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210015435.4A CN102662943B (zh) | 2012-01-18 | 2012-01-18 | 短信匹配及去重方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102662943A CN102662943A (zh) | 2012-09-12 |
CN102662943B true CN102662943B (zh) | 2014-06-18 |
Family
ID=46772435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210015435.4A Active CN102662943B (zh) | 2012-01-18 | 2012-01-18 | 短信匹配及去重方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102662943B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3064259B1 (fr) | 2017-03-27 | 2019-04-19 | Brasserie Bavaria | Machine destinee au refroidissement et au vidage du contenu d'une canette metallique de boisson |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1836126A (zh) * | 2003-08-13 | 2006-09-20 | 奔迪士商业运输系统公司 | 继动阀 |
CN101398837A (zh) * | 2008-10-23 | 2009-04-01 | 深圳市奇迹通讯有限公司 | 一种快速匹配短信文本的方法 |
CN101930458A (zh) * | 2010-08-18 | 2010-12-29 | 杭州东信北邮信息技术有限公司 | 一种基于特征值的短信匹配方法 |
-
2012
- 2012-01-18 CN CN201210015435.4A patent/CN102662943B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1836126A (zh) * | 2003-08-13 | 2006-09-20 | 奔迪士商业运输系统公司 | 继动阀 |
CN101398837A (zh) * | 2008-10-23 | 2009-04-01 | 深圳市奇迹通讯有限公司 | 一种快速匹配短信文本的方法 |
CN101930458A (zh) * | 2010-08-18 | 2010-12-29 | 杭州东信北邮信息技术有限公司 | 一种基于特征值的短信匹配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102662943A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109670163B (zh) | 信息识别方法、信息推荐方法、模板构建方法及计算设备 | |
CN103123618B (zh) | 文本相似度获取方法和装置 | |
CN100504851C (zh) | 一种中文分词方法及系统 | |
CN107025239B (zh) | 敏感词过滤的方法和装置 | |
CN113687826B (zh) | 一种基于需求项提取的测试用例复用系统及方法 | |
CN101976253A (zh) | 一种中文变异文本匹配识别方法 | |
CN101082909A (zh) | 一种识别衍生词的中文分词方法及系统 | |
CN109299086A (zh) | 最优排序键压缩和索引重建 | |
CN110928981A (zh) | 一种文本标签体系搭建及完善迭代的方法、系统及存储介质 | |
CN109993216B (zh) | 一种基于k最近邻knn的文本分类方法及其设备 | |
CN110489997A (zh) | 一种基于模式匹配算法的敏感信息脱敏方法 | |
CN103902599A (zh) | 模糊查找的方法和装置 | |
CN104881503A (zh) | 一种数据处理方法和装置 | |
CN101930458B (zh) | 一种基于特征值的短信匹配方法 | |
CN108170799A (zh) | 一种海量数据的频繁序列挖掘方法 | |
CN111506726A (zh) | 基于词性编码的短文本聚类方法、装置及计算机设备 | |
CN102662943B (zh) | 短信匹配及去重方法 | |
CN112100626B (zh) | 一种提高源代码审计漏洞命中率开发方法 | |
CN111737315B (zh) | 地址模糊匹配方法及装置 | |
CN109902292B (zh) | 中文词向量处理方法及其系统 | |
CN103136166A (zh) | 字体确定方法和设备 | |
CN107169065B (zh) | 一种特定内容的去除方法和装置 | |
CN111090996B (zh) | 一种分词的方法、装置及存储介质 | |
CN109947891B (zh) | 文书解析方法及装置 | |
CN112559474A (zh) | 日志处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200904 Address after: 215400 Taicang Economic Development Zone, Jiangsu, Beijing West Road, No. 6, No. Patentee after: TAICANG CHUANGZAO ELECTRONICS Co.,Ltd. Address before: 215400 No. 6 West Beijing Road, Taicang Economic Development Zone, Jiangsu, Suzhou Patentee before: SUZHOU COOL DYNAMIC MULTIMEDIA TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |