CN110688831A - 短信文本模版的识别方法 - Google Patents
短信文本模版的识别方法 Download PDFInfo
- Publication number
- CN110688831A CN110688831A CN201910949281.8A CN201910949281A CN110688831A CN 110688831 A CN110688831 A CN 110688831A CN 201910949281 A CN201910949281 A CN 201910949281A CN 110688831 A CN110688831 A CN 110688831A
- Authority
- CN
- China
- Prior art keywords
- text
- short message
- texts
- identifying
- character set
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Abstract
本发明涉及文本审核技术领域,尤其是一种短信文本模版的识别方法,包括下述步骤:S1.取出需要去重的短信文本;S2.检测短信文本的字符集是否含有网址信息,若字符集中包含网址信息通过正则表达式识别并删除;S3.命名实体识别器识别短信文本中剩余的字符串;S4.删除命名实体器识别出的实体字符集;S5.检测短信文本的字符集是否有标点符号或者特殊字符。本发明不用设置匹配阀值和相似度阀值来判断文本是否属于同一个模版,从而不存在一个固定阀值应用所有文本模版;本发明是对文本字符集的完整比较,先比较字符集大小与再比较文本字符的顺序,所以该发明准确率高;本发明适用于所有通过模版生成的文本的去重功能。
Description
技术领域
本发明涉及文本审核技术领域,尤其是一种短信文本模版的识别方法。
背景技术
一般情况下,如果存在大量重复的文档有诸多不便,比如新闻博文的抄袭,到处蔓延的广告,垃圾信息的批量发送等,这些情况会给网络造成负担,也会给存储带来额外开销。针对文本审核工作的人来说,对同一份文本模版需要阅读多次,进而产生时间消耗与增加心理疲劳。因此消除重复文本,正式为这目的而生。
最符合人类直观的办法,是对文本逐一按字比较。这种方式覆盖了非常具体的对比,所以准确率也高。面对小数量文本的时候,比较次数可以接受,耗时也可控;但是针对上亿级别的数量级文档的时候,对应的时间消耗成本是无法接受的。
现有文本去重的技术,核心技术是计算文本相似度。文本领域计算相似度的方法包括基于字符串的(string-based)、基于预料集的(corpus-based)和基于知识的(knowledg-based)。
其中基于字符串的包括下述方式:
1.LCS最长公共子字符串方式:比较两文本中不需要连续出现但一定是相同字符出现且顺序一致,越长则越相似。这种方法去除重复的时候,只能通过一个阀值来判断是否为重复内容。比如两个100个字的文本中,如果出现连续99个字符相同,则认为两文本一样。这个99就是阀值。该算法的缺陷有两点:一个固定的阀值无法适用所有文本,可能有些文本是99,有些是80,等等;阀值之外的字符,是两文本中不相同的字符,如果这些字符很重要,比如正好是否定词,则导致两个文本意思完全相反,这种情况如果只考虑CLS的阀值,进行去重会出错。
2.Damerau-Levenshtein方式:通过对文本中字符进行增删改的操作,使文本1变成文本2的操作次数,这个也称为编辑距离,该距离越小则两文本越相似。这种方式不要求字符是连续一样,但也需要一个阀值,当小于该值则认为是文本为重复进而去除重复,也有上述阀值的缺陷问题。
3.Jaro方式:这个引入窗口,窗口大小为设置的阀值。在阀值内两字符相等则匹配上两字符,再进行相似度计算,最后的值越大说明两文本越相似。这个相似值超过阀值则认为重复进而删去重复。除上述的阀值缺陷外,这里引入窗口,忽略了字符的局部顺序,对于有模版的文本没办法检测。因为有模版的文本,模版部分是完全一致。
4.Jaro-Winkler方式:在Jaro方式的基础上修改,更加突出了前缀相同的重要性。如果两个字符串在前几个字符都相同的情况下,它们会获得更高的相似性,依然存在Jaro的三个缺陷。
5.Needleman-Wunsch方式:是一种基于LCS结合动态规划全局匹配的方式。全局意思为单字符与其余文本的所有字符进行匹配。缺陷是耗内存,同时也有上述阀值的缺陷问题。
6.Smith-Waterman方式:类似与Needleman-wunsch方式,不过它搜索的是局部信息匹配,也就是只看文本中一部分。缺陷是耗内存,同时也有上述阀值的缺陷问题。
7.N-gram方式:把字符拼成词,然后匹配。其中,N表示字符的数量。这里也存在上述阀值的缺陷问题。
除此之外还有jaccard距离,heming距离,simhash等的计算方式,都存在阀值缺陷。
最后,基于知识的和基于预料集的更偏向于比较语义的相似进而去重。但是这种方式存在语义判断错的风险,而且去除重复的标准是基于语义而不是固定的模版。当某些模版的语义相似时,就会被错误当作重复内容而去除。
综上所述,现有技术基于文本尤其是有模板的文本计算相似性的方法都会使得准确率偏低,因此在基于短信文本模板去重时亟需解决此问题。
现有技术相关知识点介绍:
命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等,通过一种深度学习的方法进行训练模型。
短信文本=字符集; (1)
字符集=昵称/网名+用户名+密码+时间+地点+金额+网址+模版; (2)
此方法是利用自然语言处理的命名实体识别方法,进行对除了模版以外的实体的检测,包含上述公式(1)和(2)中除模版外的单元,即“昵称/网名+用户名+密码+时间+地点+金额+网址”。
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
发明内容
针对上述现有技术中存在的不足,本发明的目的在于提供一种短信文本模版的识别方法,可以基于LCS算法同时引入NER算法精准的检测出短信模版的相似性,解决现有技术基于短信文本模板去重时准确率低的问题。
为解决上述问题,本发明公开了一种短信文本模版的识别方法,包括以下步骤:
S1.取出需要去重的短信文本;
S2.检测短信文本的字符集是否含有网址信息,若字符集中包含网址信息通过正则表达式识别并删除,若字符集中不包含网址信息则直接进入S3;
S3.命名实体识别器识别短信文本中剩余的字符串,识别出实体字符串;
S4.删除命名实体器识别出的实体字符集;
S5.检测短信文本的字符集是否有标点符号或者特殊字符,若字符集中包含标点符号或者特殊字符通过正则表达式识别并删除,若字符集中不包含标点符号或者特殊字符则直接进入S6;
S6.比较处理后的短信文本的字符串长度大小,把字符串长度大小一致的短信文本归类为一个集合;
S7.比较各集合中的短信文本,如果同集合中的文本完全一致,则只保留一个,删除重复文本。
作为优选:S1所述的具体步骤为取出所有基于某个平台发送的短信数据,包含所有经过固定模版的群发短信文本。
作为优选:S2中检测短信文本的字符集是否含有网址信息的正则表达式具体如下:
url_pattern=re.compile(r'[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?')。
作为优选:S3所述的实体字符串包括昵称、用户名、密码、时间、地点、金额和优惠码的任意组合。
作为优选:S3的具体步骤如下:S31.从短信文本中找出定义好的实体词;S32.用特殊符号标识出实体,把这种标识后的文本当作样本进行模型的训练;S33.设计深度学习模型Bi-LSTM+RCF;S34.把步骤S32中的样本数据喂给深度学习模型进行训练;S35.用训练好的深度模型对短信文本进行检测,可自动识别出命名实体。
作为优选:S5所述的特殊字符包括表情符号。
作为优选:S7的具体步骤如下:判断集合中短信文本是否一致,需要进行文本两两对比,直到遍历完集合中所有文件,如果两文本字符完全一样,则一致;否则判断为不一致。
作为优选:S7的具体步骤如下:两文档对比的方法采用基于逐字比较的LCS算法。
作为优选:S7的具体步骤如下:使用simhash算法,先simhash计算所有文档,再比较两两之间的simhash距离,若距离为0则,则判断两文档完全一样。
作为优选:S5中使用的正则表达式具体如下:
text=re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u005a\u0061-\u007a])","",text)。
由于采用上述技术方案,本发明有着如下有益效果:
1.本发明不用设置匹配阀值和相似度阀值来判断文本是否属于同一个模版,从而不存在一个固定阀值应用所有文本模版;
2.本发明是对文本字符集的完整比较,先比较字符集大小与再比较文本字符的顺序,所以该发明准确率高;
3.本发明可以检测短信文本的模版部分;
4.本发明可以只用分析短信模版内容;
5.本发明减省了对短信内容审核的人力消耗;
6.本发明适用于所有通过模版生成的文本的去重功能。
附图说明
图1是本发明的实施例的整体流程示意图;
图2为脱敏(用XX代替隐私信息)后的原始短信明文;
图3为命名实体识别器识别文本中的所有实体后的文本;
图4为删除短信文本中的网址字符后的文本;
图5为删除标点符号和命名实体字符后的文本。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
为解决上述问题,本发明公开了一种短信文本模版的识别方法,包括以下步骤:
S1.取出需要去重的短信文本;
S2.检测短信文本的字符集是否含有网址信息,若字符集中包含网址信息通过正则表达式识别并删除,若字符集中不包含网址信息则直接进入S3;
S3.命名实体识别器识别短信文本中剩余的字符串,识别出实体字符串;
S4.删除命名实体器识别出的实体字符集;
S5.检测短信文本的字符集是否有标点符号或者特殊字符,若字符集中包含标点符号或者特殊字符通过正则表达式识别并删除,若字符集中不包含标点符号或者特殊字符则直接进入S6;
S6.比较处理后的短信文本的字符串长度大小,把字符串长度大小一致的短信文本归类为一个集合;
S7.比较各集合中的短信文本,如果同集合中的文本完全一致,则只保留一个,删除重复文本。
S1所述的具体步骤为取出所有基于某个平台发送的短信数据,包含所有经过固定模版的群发短信文本。
S2中检测短信文本的字符集是否含有网址信息的正则表达式具体如下:url_pattern=re.compile(r'[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?')。
S3所述的实体字符串包括昵称、用户名、密码、时间、地点、金额和优惠码的任意组合。
S3的具体步骤如下:S31.从短信文本中找出定义好的实体词;S32.用特殊符号标识出实体,把这种标识后的文本当作样本进行模型的训练;S33.设计深度学习模型Bi-LSTM+RCF;S34.把步骤S32中的样本数据喂给深度学习模型进行训练;S35.用训练好的深度模型对短信文本进行检测,可自动识别出命名实体。
S5所述的特殊字符包括表情符号。
S7的具体步骤如下:判断集合中短信文本是否一致,需要进行文本两两对比,直到遍历完集合中所有文件,如果两文本字符完全一样,则一致;否则判断为不一致。当文本集不大时,两文档对比的方法采用基于逐字比较的LCS算法;当文本集较大时,两文档对比的方法还可以采用以下方法:使用simhash算法,先simhash计算所有文档,再比较两两之间的simhash距离,若距离为0则,则判断两文档完全一样。
S5中使用的正则表达式具体如下:
text=re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u005a\u0061-\u007a])","",text)。#可以去掉除字符和数字外的内容
原理说明:本发明利用命名实体识别器前的文本处理,先删除文本中网址连接,此步骤的方法可以防止网址的字符干扰命名实体识别器的实体识别;利用命名实体识别器后的文本处理,删除识别的实体,再删除标点符号和表情字符等。此步骤的方法可以防止模版变量使用了特殊符号,而上面定义实体类别的时候遗漏了这些特殊符号的实体;按照本发明处理后的文本,先比较大小,如果大小不一样,直接判断为不同模版。此步骤的方法,可以在比较字符串是否相同前过滤掉多余的不是同一模版的比较。
如图2到图5所示,带有下划线的字符为模版变量和特殊符号等,剩余字符为模版内容。这些内容的集合体,为本发明的原始文本输入。在进行人工短信审核的时候,主要看短信内容是否合格,而变量信息等是常见的实体,他们不具备危险性,所以可以剔除。剔除后的内容即为短信的模版内容,同一模版的字符集必定一致,最后只保留其中一个即可,这是完整的一个去重过程。
如图2所示,为脱敏(用XX代替隐私信息)后的原始短信明文;
如图3所示,为实体的样例,如:昵称/时间/电话/金额/地点/地址等。
如图4所示,为短信中删除网址字符后的文本。在短信审核中,需要打开该网址,人工确认网址内容合乎标准。
如图5所示,为删除标点和实体词后的文本,即短信的模版内容。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种短信文本模版的识别方法,其特征在于,包括以下步骤:
S1.取出需要去重的短信文本;
S2.检测短信文本的字符集是否含有网址信息,若字符集中包含网址信息通过正则表达式识别并删除,若字符集中不包含网址信息则直接进入S3;
S3.命名实体识别器识别短信文本中剩余的字符串,识别出实体字符串;
S4.删除命名实体器识别出的实体字符集;
S5.检测短信文本的字符集是否有标点符号或者特殊字符,若字符集中包含标点符号或者特殊字符通过正则表达式识别并删除,若字符集中不包含标点符号或者特殊字符则直接进入S6;
S6.比较处理后的短信文本的字符串长度大小,把字符串长度大小一致的短信文本归类为一个集合;
S7.比较各集合中的短信文本,如果同集合中的文本完全一致,则只保留一个,删除重复文本。
2.根据权利要求1所述的一种短信文本模版的识别方法,其特征在于:S1所述的具体步骤为取出所有基于某个平台发送的短信数据,包含所有经过固定模版的群发短信文本。
3.根据权利要求2所述的一种短信文本模版的识别方法,其特征在于:S2中检测短信文本的字符集是否含有网址信息的正则表达式具体如下:url_pattern=re.compile(r'[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?')。
4.根据权利要求3所述的一种短信文本模版的识别方法,其特征在于:S3所述的实体字符串包括昵称、用户名、密码、时间、地点、金额和优惠码的任意组合。
5.根据权利要求1至4任何一项所述的一种短信文本模版的识别方法,其特征在于:S3的具体步骤如下:S31.从短信文本中找出定义好的实体词;S32.用特殊符号标识出实体,把这种标识后的文本当作样本进行模型的训练;S33.设计深度学习模型Bi-LSTM+RCF;S34.把步骤S32中的样本数据喂给深度学习模型进行训练;S35.用训练好的深度模型对短信文本进行检测,可自动识别出命名实体。
6.根据权利要求5所述的一种短信文本模版的识别方法,其特征在于:S5所述的特殊字符包括表情符号。
7.根据权利要求5所述的一种短信文本模版的识别方法,其特征在于:S7的具体步骤如下:判断集合中短信文本是否一致,需要进行文本两两对比,直到遍历完集合中所有文件,如果两文本字符完全一样,则一致;否则判断为不一致。
8.根据权利要求7所述的一种短信文本模版的识别方法,其特征在于:S7的具体步骤如下:两文档对比的方法采用基于逐字比较的LCS算法。
9.根据权利要求7所述的一种短信文本模版的识别方法,其特征在于:S7的具体步骤如下:使用simhash算法,先simhash计算所有文档,再比较两两之间的simhash距离,若距离为0则,则判断两文档完全一样。
10.根据权利要求1所述的一种短信文本模版的识别方法,其特征在于:S5中使用的正则表达式具体如下:
text=re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u005a\u0061-\u007a])","",text)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910949281.8A CN110688831A (zh) | 2019-10-08 | 2019-10-08 | 短信文本模版的识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910949281.8A CN110688831A (zh) | 2019-10-08 | 2019-10-08 | 短信文本模版的识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110688831A true CN110688831A (zh) | 2020-01-14 |
Family
ID=69111597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910949281.8A Pending CN110688831A (zh) | 2019-10-08 | 2019-10-08 | 短信文本模版的识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688831A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597806A (zh) * | 2020-05-21 | 2020-08-28 | 上海创蓝文化传播有限公司 | 一种基于统计模型识别短信文本模版的方法、设备及介质 |
CN111597805A (zh) * | 2020-05-21 | 2020-08-28 | 上海创蓝文化传播有限公司 | 一种基于深度学习审核短信文本链接的方法及装置 |
CN111597813A (zh) * | 2020-05-21 | 2020-08-28 | 上海创蓝文化传播有限公司 | 一种基于命名实体识别提取短信文本摘要的方法及装置 |
CN112329427A (zh) * | 2020-11-26 | 2021-02-05 | 北京百度网讯科技有限公司 | 短信样本的获取方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229638A (zh) * | 2016-03-24 | 2017-10-03 | 北京搜狗科技发展有限公司 | 一种文本信息处理方法及装置 |
CN109831751A (zh) * | 2019-01-04 | 2019-05-31 | 上海创蓝文化传播有限公司 | 一种基于自然语言处理的短信内容风控系统及方法 |
-
2019
- 2019-10-08 CN CN201910949281.8A patent/CN110688831A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229638A (zh) * | 2016-03-24 | 2017-10-03 | 北京搜狗科技发展有限公司 | 一种文本信息处理方法及装置 |
CN109831751A (zh) * | 2019-01-04 | 2019-05-31 | 上海创蓝文化传播有限公司 | 一种基于自然语言处理的短信内容风控系统及方法 |
Non-Patent Citations (1)
Title |
---|
李宝 等: "教育大数据下个性化资源推送服务框架设计", 《中国远程教育》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597806A (zh) * | 2020-05-21 | 2020-08-28 | 上海创蓝文化传播有限公司 | 一种基于统计模型识别短信文本模版的方法、设备及介质 |
CN111597805A (zh) * | 2020-05-21 | 2020-08-28 | 上海创蓝文化传播有限公司 | 一种基于深度学习审核短信文本链接的方法及装置 |
CN111597813A (zh) * | 2020-05-21 | 2020-08-28 | 上海创蓝文化传播有限公司 | 一种基于命名实体识别提取短信文本摘要的方法及装置 |
CN112329427A (zh) * | 2020-11-26 | 2021-02-05 | 北京百度网讯科技有限公司 | 短信样本的获取方法和装置 |
CN112329427B (zh) * | 2020-11-26 | 2023-08-08 | 北京百度网讯科技有限公司 | 短信样本的获取方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Perkins | Python 3 text processing with NLTK 3 cookbook | |
CN110688831A (zh) | 短信文本模版的识别方法 | |
Lee et al. | An abusive text detection system based on enhanced abusive and non-abusive word lists | |
CN109635298B (zh) | 团体状态识别方法、装置、计算机设备及存储介质 | |
US10423649B2 (en) | Natural question generation from query data using natural language processing system | |
KR102067926B1 (ko) | 전자문서에 포함된 개인정보 비식별화 장치 및 방법 | |
US9779388B1 (en) | Disambiguating organization names | |
CN110096573B (zh) | 一种文本解析方法及装置 | |
Seker et al. | Extending a CRF-based named entity recognition model for Turkish well formed text and user generated content. | |
JPWO2011148571A1 (ja) | 情報抽出システム、方法及びプログラム | |
US10255270B2 (en) | Automated document analysis comprising company name recognition | |
Şeker et al. | Extending a CRF-based named entity recognition model for Turkish well formed text and user generated content 1 | |
Albogamy et al. | POS tagging for Arabic tweets | |
Ragel et al. | Authorship detection of SMS messages using unigrams | |
CN116150201A (zh) | 敏感数据识别方法、装置、设备及计算机存储介质 | |
CN111209753B (zh) | 一种实体命名识别方法及装置 | |
CN111259645A (zh) | 一种裁判文书结构化方法及装置 | |
CN115269834A (zh) | 一种基于bert的高精度文本分类方法及装置 | |
Varol et al. | Hybrid matching algorithm for personal names | |
KR101663038B1 (ko) | 개체의 표면형 문자열 용례학습기반에 의한 텍스트에서의 개체 범위 인식 장치 및 그 방법 | |
CN113886529B (zh) | 一种面向网络安全领域的信息抽取方法及其系统 | |
Gutierrez et al. | Contextminer: Mining contextual features for conceptualizing knowledge in security texts | |
US20180293508A1 (en) | Training question dataset generation from query data | |
Maulidia et al. | Feature Expansion with Word2Vec for Topic Classification with Gradient Boosted Decision Tree on Twitter | |
Barbaresi | Collection, description, and visualization of the German Reddit corpus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200114 |