CN110730270B - 一种短信分组方法、装置及计算机存储介质、电子设备 - Google Patents
一种短信分组方法、装置及计算机存储介质、电子设备 Download PDFInfo
- Publication number
- CN110730270B CN110730270B CN201910846356.XA CN201910846356A CN110730270B CN 110730270 B CN110730270 B CN 110730270B CN 201910846356 A CN201910846356 A CN 201910846356A CN 110730270 B CN110730270 B CN 110730270B
- Authority
- CN
- China
- Prior art keywords
- short message
- cluster
- short
- short messages
- clustering
- 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
- 238000000034 method Methods 0.000 title claims abstract description 37
- 239000011159 matrix material Substances 0.000 claims abstract description 63
- 230000000694 effects Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008520 organization Effects 0.000 abstract description 8
- 238000004364 calculation method Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72469—User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
- H04M1/72472—User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons wherein the items are sorted according to specific criteria, e.g. frequency of use
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/7243—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
- H04M1/72436—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. short messaging services [SMS] or e-mails
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种短信分组方法、装置及计算机存储介质、电子设备,包括:确定待分组的多个短信;计算所述多个短信之间的短信距离矩阵;根据所述短信距离矩阵将所述多个短信进行聚类,得到多个聚类簇;每个聚类簇包括一个或多个短信;计算所述多个聚类簇之间的聚类簇距离矩阵;根据所述聚类簇距离矩阵将所述多个聚类簇进行聚类,重复计算距离矩阵直至没有新的聚类簇生成为止。采用本申请中的方案,可以更好的管理收到的短信,将同一机构的不同号码发送的同一类型的短信进行合并分组,将同一号码发送的不同类型的短信进行合并分组,方便用户浏览短信内容。
Description
技术领域
本申请涉及移动通信技术,具体地,涉及一种短信分组方法、装置及计算机存储介质、电子设备。
背景技术
目前,智能手机短信分组通常是基于电话号码分组,将相同电话号码发送的短信在一组显示。
然而,同一企业可能会有多个发送号码且这些号码可能经常变化,同一企业的不同号码可能会发送内容相同或相似的短信,例如:营销信息、消费提醒、账单提醒等信息。当这些号码发送的短信按照现有短信分组方式分组时,会出现用户分组过多,且不同组的短信内容相似的问题。此外,还可能同一号码发送多种类型的短信,例如:银行发送的交易提醒、还款提醒、营销推送等信息。对于这种情况采用现有短信分组方式可能导致同一组内的短信类别杂乱无章。
现有技术中存在的问题:
采用电话号码进行短信分组可能导致分组过多、不同组或同一组内的短信类别混乱。
发明内容
本申请实施例中提供了一种短信分组方法、装置及计算机存储介质、电子设备,以解决上述技术问题。
根据本申请实施例的第一个方面,提供了一种短信分组方法,包括:
步骤1、确定待分组的短信;
步骤2、计算短信之间的短信距离矩阵;
步骤3、根据所述短信距离矩阵对多个短信进行聚类,得到多个聚类簇;每个聚类簇包括一个或多个短信;
步骤4、计算所述多个聚类簇之间的聚类簇距离矩阵;
步骤5、根据所述聚类簇距离矩阵将所述多个聚类簇进行聚类,若生成新的聚类簇返回步骤4;否则,执行步骤6;
步骤6、按照所述聚类簇确定所述短信的分组;
其中,每次聚类时所采用的距离阈值不同。
根据本申请实施例的第二个方面,提供了一种短信分组装置,包括:
确定模块,用于确定待分组的短信;
第一计算模块,用于计算多个短信之间的短信距离矩阵;
第一聚类模块,用于根据所述短信距离矩阵对多个短信进行聚类,得到多个聚类簇;每个聚类簇包括一个或多个短信;
第二计算模块,用于计算所述多个聚类簇之间的聚类簇距离矩阵;
第二聚类模块,用于根据所述聚类簇距离矩阵将所述多个聚类簇进行聚类,若生成新的聚类簇触发第二计算模块;否则触发分组模块;其中,第一聚类模块和第二聚类模块、以及第二聚类模块每次聚类时所采用的距离阈值均不同;
分组模块,用于按照所述聚类簇确定所述短信的分组。
第三个方面,本申请实施例提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
第四个方面,本申请实施例提供了一种电子设备,其特征在于,包括存储器、以及一个或多个处理器,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如上所述的方法。
采用本申请实施例中提供的短信分组方法、装置及计算机存储介质、电子设备,由于本申请实施例是对短信的内容进行距离计算以及不断聚类实现的短信分组,解决了现有技术中根据电话号码进行短信分组的诸多问题,可以更好的管理收到的短信,将同一机构的不同号码发送的同一类型的短信进行合并分组,将同一号码发送的不同类型的短信进行合并分组,方便用户浏览短信内容。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例中短信分组方法实施的流程示意图;
图2示出了本申请实施例二中短信分组装置的结构示意图;
图3示出了本申请实施例四中电子设备的结构示意图;
图4示出了现有技术中短信分组的效果示意图一;
图5示出了本申请实施例中短信分组的效果示意图一;
图6示出了现有技术中短信分组的效果示意图二;
图7示出了本申请实施例中短信分组的效果示意图二。
具体实施方式
在实现本申请的过程中,发明人发现:
传统的文本分类技术可以应用到短信分组问题的解决上,但由于传统的文本分类技术是基于词袋特征的聚类模型(LDA模型,Latent Dirichlet Allocation),没有考虑词与词之间的顺序,例如:“我喜欢你”和“你喜欢我”两个短信内容,都是“我”、“喜欢”、“你”这3个词组成,传统文本聚类技术会认为这两句话意思相同,不能有效区分两个短信之间的不同。因此,采用传统的文本分类技术实现短信分组的效果一般。
针对上述问题,本申请实施例中提供了一种短信分组方法、装置及计算机存储介质、电子设备,可以将不同电话号码发送的相同或相似的短信分为一组,而且,考虑到企业不同的业务会用不同的短信模板发送给用户,本申请实施例提出了将同一号码发送的多种业务模板短信按照业务类型进行分组,从而方便用户按业务类型(短信模板)浏览短信。
本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
图1示出了本申请实施例中短信分组方法实施的流程示意图。
如图所示,所述短信分组方法,包括:
步骤1、确定待分组的短信;
步骤2、计算短信之间的短信距离矩阵;
步骤3、根据所述短信距离矩阵对多个短信进行聚类,得到多个聚类簇;每个聚类簇包括一个或多个短信;
步骤4、计算所述多个聚类簇之间的聚类簇距离矩阵;
步骤5、根据所述聚类簇距离矩阵将所述多个聚类簇进行聚类,若生成新的聚类簇返回步骤4;否则,执行步骤6;
步骤6、按照所述聚类簇确定所述短信的分组;
其中,每次聚类时所采用的距离阈值不同。
具体实施时,所述确定待分组的短信可以是一个,也可以是多个。在所述待分组的短信为一个时,后续计算短信之间的短信距离矩阵可以是将所述待分组的短信与已有(或已分组)的一个或多个短信进行两两计算;在所述待分组的短信为多个时,后续计算短信之间的短信距离矩阵可以既包括将所述待分组的短信与已有(或已分组)的一个或多个短信进行两两计算,也包括将所述待分组的多个短信之间进行两两计算。
通常短信可以包括发送短信的号码以及短信内容,本申请实施例所述的对短信的计算或聚类指的是对短信内容的计算或聚类操作。
本申请实施例首先对多个短信进行短信距离矩阵计算,然后根据短信距离矩阵对多个短信进行聚类得到多个聚类簇,接着对聚类簇进行距离矩阵计算、进一步聚类,直至无法再进行新的聚类为止,最终根据确定的聚类簇即可知道该待分组的短信属于哪一组。
具体实施时,所述步骤2采用的距离矩阵计算方式可以与所述步骤4采用的距离矩阵计算方式相同,所述步骤3采用的聚类方式可以与所述步骤5采用的聚类方式相同,区别可能在于输入的参数不同,步骤2和步骤3输入的是短信,步骤4和步骤5输入的是聚类簇。
在本申请实施例中,每次聚类时所采用的距离阈值不同。例如:对多个短信进行聚类时采用的距离阈值、对多个聚类簇进行聚类时所采用的距离阈值、与在生成新的聚类簇时重新进行多个聚类簇进行聚类时所采用的距离阈值,彼此之间均不同。
具体实施时,每次聚类时所采用的距离阈值根据上一次聚类的效果和/或最终效果调整确定。
本申请实施例中提供的短信分组方法,由于本申请实施例是对短信的内容进行距离计算以及不断聚类实现的短信分组,解决了现有技术中根据电话号码进行短信分组的诸多问题,可以更好的管理收到的短信,将同一机构的不同号码发送的同一类型的短信进行合并分组,将同一号码发送的不同类型的短信进行合并分组,方便用户浏览短信内容。
在一种实施方式中,所述计算短信之间的短信距离矩阵,包括:
根据所述短信中的内容计算两个短信之间的最长公共子字符串s的长度c;
根据两个短信之间的最长公共子字符串s的长度c计算所述两个短信之间的距离l;
根据每两个短信之间的距离l得到所有短信的距离矩阵。
具体实施时,两个短信之间可能存在多个公共子字符串,这里所述的公共子字符串可以指在两个短信中均存在的字符串,例如:短信1为“尊敬的星级用户,您上月累计积分为500分......”,短信2为“尊敬的移动用户,您上月累计积分为900分......”,那么可以根据短信内容计算出两个短信的公共子字符串为“尊敬的用户您上月累计积分为00分”长度为16。
具体实施时,公共子字符串的计算可以采用现有子串算法实现,本申请在此不做赘述。
根据两个短信之间的最长公共子字符串s的长度c计算所述两个短信之间的距离l,继续以上述短信1和短信2为例,可以计算得到短信1和短信2之间的距离l12的值。
再进一步计算其他两个短信之间的距离l,例如:短信1和短信3之间的距离l13,短信2和短信3之间的距离l23,短信1和短信4之间的距离l14,短信2和短信4之间的距离l24,短信3和短信4之间的距离l34等。
最终根据每两个短信之间的距离l得到所有短信的距离矩阵,距离矩阵可以如下所示:
在一种实施方式中,所述根据所述短信中的内容计算两个短信之间的最长公共子字符串s的长度c,具体按照下式计算:
其中,xi、yj分别为短信a中第i个字符、短信b中第j个字符,c[i,j]为短信a与短信b之间的公共子字符串长度。
具体实施时,在算法初始化时C[0][j]=0,C[i][0]=0;然后开始逐步进行i++、j++;若短信a中第i个字符与短信b中第j个字符相同,即xi=yj,那么公共子字符串长度c[i,j]+1,继续搜索;若短信a中第i个字符与短信b中第j个字符不同,即xi≠yj,那么公共子字符串长度c[i,j]取C[i,j-1]和C[i-1,j]二者中的最大值。
具体实施时,可以先将短信的字符串以二维数组的方式存储,然后进行后续的计算操作。
在一种实施方式中,所述根据两个短信之间的最长公共子字符串s的长度c计算所述两个短信之间的距离l,具体按照下式计算:
其中,lab为短信a和短信b之间的距离,大小在0-1之间;len(a)、len(b)分别为短信a、短信b的长度;c为公共子字符串长度c[i,j]的最大值。
具体实施时,假设短信a的字符长度为len(a)=7、短信b的字符长度为len(b)=9,那么二者中最大值max(len(a),len(b))=9;假设短信a和短信b之间的最长公共子字符串s的长度c为4,那么短信a和短信b之间的距离lab=1-4/9=0.56。
在一种实施方式中,所述根据所述短信距离矩阵对多个短信进行聚类,得到多个聚类簇,包括:
以每个短信为中心,计算与该中心的距离d小于预设第一距离阈值的短信集合;
将每个短信作为核心对象,根据以该短信为中心的短信集合确定与该短信密度直达的短信;
根据所述密度直达的短信确定与所述短信密度可达的短信;
根据所述密度可达的短信确定密度相连的短信;
所述密度相连的短信形成聚类簇。
具体实施时,可以将每个短信作为一个点来表示,多个短信则构成一个点的集合,对于任意一个短信,距离该短信小于预设距离阈值的短信构成该短信的邻域(短信集合),将每个短信分别作为核心点或核心对象进行后续计算(密度直达、密度可达以及密度相连的短信确定)。
其中,密度直达可以指如果对于核心对象,另一个短信在该核心对象的邻域内,则认为该核心对象可密度直达所述另一个短信。例如:对于作为核心对象的短信a,与该短信a距离小于0.2的短信集合中包括短信b,那么则认为短信a可密度直达短信b。
密度可达可以指如果短信b在短信a的邻域内、短信c在短信b的邻域内,...短信n在短信m的邻域内,那么则认为短信a密度可达短信n。
本申请实施例同将所有短信分别作为核心对象,针对任一短信找出所有从该短信密度直达、密度可达的短信构成聚类簇,直至所有短信均完成归类。
为了进一步去除聚类簇内短信中与短信模板无关的变量,本申请实施例还可以采用如下方式实施。
在一种实施方式中,所述根据所述聚类簇距离矩阵将所述多个聚类簇进行聚类,包括:
以每个聚类簇为中心,根据聚类簇距离矩阵计算与该中心的距离d小于预设第二距离阈值的聚类簇集合;
将每个聚类簇作为核心对象,根据以该聚类簇为中心的聚类簇集合确定与该聚类簇密度直达的聚类簇;
根据所述密度直达的聚类簇确定与所述聚类簇密度可达的聚类簇;
根据所述密度可达的聚类簇确定密度相连的聚类簇;
所述密度相连的聚类簇形成新的聚类簇;
其中,所述预设第二距离阈值根据短信分组效果确定。
具体实施时,所述预设第二距离阈值在每次重复聚类簇聚类时可以根据短信分组的效果进行调整。例如:所述预设第二距离阈值可以根据短信分组效果设置为大于所述预设第一距离阈值,在每次重复聚类簇聚类时可以根据短信分组效果逐步增大所述第二距离阈值;反之,同理。
具体实施时,本申请实施例首先对短信进行聚类,采用距离阈值较小的方式将短信进行聚类,得到多个聚类簇;再采用距离阈值较大的方式对多个聚类簇进行合并、聚类,从而去除了与短信模板无关的变量;相比上一次聚类簇聚类步骤所用到的预设第二距离阈值,在合并生成新的聚类簇时,返回步骤4再执行步骤5所用到的预设第二距离阈值调整。
本申请实施例采用了动态调整聚类距离阈值的方式,使得聚类的邻域是动态变化的,从而实现了基于短信模板数据特征的聚类方法。
在一种实施方式中,所述计算所述多个聚类簇之间的聚类簇距离矩阵,包括:
根据每个聚类簇生成所述聚类簇的公共子序列;
根据生成的聚类簇的公共子序列计算聚类簇之间的聚类簇距离矩阵。
具体实施时,假设聚类簇m{短信a、短信b、短信c、短信d},初始化聚类簇m的公共子序列s1=短信a的内容,计算公共子序列s1与短信b的公共子序列,并更新s值为s2;计算公共子序列s2与短信C的公共子序列,并更新s值为s3;计算公共子序列s3与短信d的公共子序列,并更新s值为s4;最终确定聚类簇m的公共子序列s=s4。
其中,具体计算公共子序列与短信的公共子序列的公式可以与短信之间的公共子字符串的计算公式相同。根据生成的聚类簇的公共子序列计算聚类簇之间的聚类簇距离矩阵的公式可以与短信之间的短信距离矩阵的计算公式相同,本申请在此不做赘述。
本申请实施例通过对聚类簇进行公共子序列的计算,针对公共子序列来计算聚类簇之间的距离矩阵,可以去除聚类簇内每个短信中与短信模板(公共子字符串或公共子序列)无关的变量,根据短信模板调整聚类簇之间的距离。
实施例二
基于同一发明构思,本申请实施例还提供了一种短信分组装置,该装置的各个设备解决问题的原理与一种短信分组方法相似,重复之处不再赘述。
图2示出了本申请实施例二中短信分组装置的结构示意图。
如图所示,所述短信分组装置,包括:
确定模块201,用于确定待分组的短信;
第一计算模块202,用于计算多个短信之间的短信距离矩阵;
第一聚类模块203,用于根据所述短信距离矩阵对多个短信进行聚类,得到多个聚类簇;每个聚类簇包括一个或多个短信;
第二计算模块204,用于计算所述多个聚类簇之间的聚类簇距离矩阵;
第二聚类模块205,用于根据所述聚类簇距离矩阵将所述多个聚类簇进行聚类,若生成新的聚类簇触发第二计算模块;否则触发分组模块;其中,第一聚类模块和第二聚类模块、以及第二聚类模块每次聚类时所采用的距离阈值均不同;
分组模块206,用于按照所述聚类簇确定所述短信的分组。
本申请实施例中提供的短信分组装置,由于本申请实施例是对短信的内容进行距离计算以及不断聚类实现的短信分组,解决了现有技术中根据电话号码进行短信分组的诸多问题,可以更好的管理收到的短信,将同一机构的不同号码发送的同一类型的短信进行合并分组,将同一号码发送的不同类型的短信进行合并分组,方便用户浏览短信内容。
在一种实施方式中,所述第一计算模块,包括:
第一计算单元,用于根据多个短信中的内容计算两个短信之间的最长公共子字符串s的长度c;
第二计算单元,用于根据两个短信之间的最长公共子字符串s的长度c计算所述两个短信之间的距离l;
矩阵单元,用于根据每两个短信之间的距离l得到所有短信的距离矩阵。
在一种实施方式中,所述第一聚类模块,包括:
第一聚类计算单元,用于以每个短信为中心,计算与该中心的距离d小于预设第一距离阈值的短信集合;
第一确定单元,用于将每个短信作为核心对象,根据以该短信为中心的短信集合确定与该短信密度直达的短信;
第二确定单元,用于根据所述密度直达的短信确定与所述短信密度可达的短信;
第三确定单元,用于根据所述密度可达的短信确定密度相连的短信;
第一聚类簇单元,用于根据所述密度相连的短信形成聚类簇。
在一种实施方式中,所述第二聚类模块,包括:
第二聚类计算单元,用于以每个聚类簇为中心,根据聚类簇距离矩阵计算与该中心的距离d小于预设第二距离阈值的聚类簇集合;
第四确定单元,用于将每个聚类簇作为核心对象,根据以该聚类簇为中心的聚类簇集合确定与该聚类簇密度直达的聚类簇;
第五确定单元,用于根据所述密度直达的聚类簇确定与所述聚类簇密度可达的聚类簇;
第六确定单元,用于根据所述密度可达的聚类簇确定密度相连的聚类簇;
第二聚类簇单元,用于所述密度相连的聚类簇形成新的聚类簇;
其中,所述预设第二距离阈值根据短信分组效果确定。
在一种实施方式中,所述第二计算模块,包括:
子序列单元,用于根据每个聚类簇生成所述聚类簇的公共子序列;
聚类簇矩阵单元,用于根据生成的聚类簇的公共子序列计算聚类簇之间的聚类簇距离矩阵。
实施例三
基于同一发明构思,本申请实施例还提供一种计算机存储介质,下面进行说明。
所述计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如实施例一所述方法的步骤。
本申请实施例中提供的计算机存储介质,由于是对短信的内容进行距离计算以及不断聚类实现的短信分组,解决了现有技术中根据电话号码进行短信分组的诸多问题,可以更好的管理收到的短信,将同一机构的不同号码发送的同一类型的短信进行合并分组,将同一号码发送的不同类型的短信进行合并分组,方便用户浏览短信内容。
实施例四
基于同一发明构思,本申请实施例还提供一种电子设备,下面进行说明。
图3示出了本申请实施例四中电子设备的结构示意图。
如图所示,所述电子设备包括存储器301、以及一个或多个处理器302,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如实施例一所述的方法。
本申请实施例中提供的电子设备,由于本申请实施例是对短信的内容进行距离计算以及不断聚类实现的短信分组,解决了现有技术中根据电话号码进行短信分组的诸多问题,可以更好的管理收到的短信,将同一机构的不同号码发送的同一类型的短信进行合并分组,将同一号码发送的不同类型的短信进行合并分组,方便用户浏览短信内容。
实施例五
为了便于本申请的实施,下面以一具体实例进行说明。
步骤一、计算短信距离矩阵
步骤01、输入短信a和b;
假设短信a为“【XX快车】乘客您好,您近期使用XX出行有车费还未支付,为不影响您后续用车请尽快支付。”短信b为“【XX快车】乘客您好,您近期使用XX出行有车费还未支付,为不影响后续用车请尽快支付。如您希望自动支付车费,可在XX出行APP开通免密支付。”
步骤02、动态规划获得短信a和b的最长公共子字符串s的长度c。
动态规划的逻辑为:
其中,xi、yj分别为短信a中第i个字符、短信b中第j个字符,c[i,j]为短信a与短信b之间的公共子字符串长度。
根据上述算法可以得到短信a和短信b的最长公共子字符串s为“【XX快车】乘客您好,您近期使用XX出行有车费还未支付,为不影响后续用车请尽快支付”,长度c为31。
步骤03、计算短信a和b之间的距离。
采用下式计算:
其中,lab为短信之间的距离,大小在0-1之间,c,len(a),len(b)分别为最长公共子字符串,短信a和短信b的长度,c为c[i,j]的最大值。
短信a的长度为len(a)=33,短信b的长度为len(b)=59,根据上述公式计算可以得到短信a和短信b的距离lab=0.47。
步骤04、循环步骤01-03,直至获得所有短信的距离矩阵。
所有短信的距离矩阵形式如下:
其中,短信自身到自身的距离为0,例如:短信a到短信a的距离(矩阵中第一行第一列)为0、短信b到短信b的距离(矩阵中第二行第二列)为0。
步骤二、根据所述短信距离矩阵进行聚类
本申请实施例考虑到企业或机构给用户发送短信所用到的短信模板是多种多样的,有些短信模板文字占比较大(例如:营销短信中短信之间的区别可能只是链接不一样),有些短信模板文字占比较小、短信中变量较多(例如行程短信中人名、出发地、目的地、航班号、票号等),若采用传统的密度聚类方法可能只能定义一个固定邻域大小,不能满足不同模板短信的聚类,因此,本申请实施例提出了一种基于短信模板数据特征的聚类方法,下面进行说明。
步骤A、以每个短信为中心,分别计算与该中心的距离小于预设第一距离阈值的短信数目以及短信集合。
例如:假设以短信a为中心,计算出与短信a的距离d<eps=0.2的短信数以及这些短信的集合。
其中,eps=0.2根据短信聚类的效果得到。
步骤B、将每条短信均确定为核心对象。
步骤C、核心对象的eps邻域内的所有短信,都作为该核心对象的直接密度直达。
例如:如果核心对象是短信a,所述短信a的eps邻域内的所有短信都是所述短信a的直接密度直达。
进一步的,如果短信b由a密度直达、c由b密度直达、…n由k密度直达,则称n由a密度可达。
步骤D、如果对于k,a和b都可以由k密度可达,那么则称a和b密度相连,将密度相连的点连接在一起,形成短信的密度聚类结果。
短信的密度聚类结果可以包括多个聚类簇,每个聚类簇包括一个或多个短信。
步骤E、根据生成的短信的密度聚类结果中的每个聚类簇,生成该聚类簇的公共子序列。例如:聚类簇{a、b、c、d},其中a、b、c、d均为短信。
具体生成聚类簇的公共子序列的过程如下:
1)初始化聚类簇的公共子序列为短信a的内容,即s=a;
2)计算s与短信b的公共子序列,更新s值;
3)重复步骤2)直至循环整个聚类簇的所有短信,得到聚类簇的公共子序列s。
本申请实施例计算公共子序列的目的是去除聚类簇内部短信中与短信模板无关的变量,根据短信模板调整聚类簇之间的距离。
步骤F、根据聚类簇的公共子序列计算聚类簇之间的距离矩阵。
其中,xi,yj为聚类簇子序列中的字,c[i,j]为聚类簇子字序列的公共子序列长度,c为聚类簇子序列的最长子序列长度。
根据所述聚类簇的最长公共子序列计算聚类簇之间的距离:
其中,A、B为聚类簇,SA,SB分别为A、B的公共子序列,lAB为聚类簇之间的距离。
步骤G、针对每个聚类簇,利用上述聚类簇距离矩阵执行步骤A、B、C、D合并聚类簇,生成新的聚类簇;
其中,合并聚类簇时,所采用的聚类过程与步骤A、B、C、D相似,区别在于执行步骤A时以每个聚类簇为中心,计算与中心距离d小于eps=0.3的聚类簇数目以及聚类簇集合(该聚类簇的邻域)。
步骤H、重复执行步骤E、F、G,直至无法生成新的聚类簇为止。
每次重复执行步骤E、F、G时,计算邻域的半径(距离阈值)根据短信分组的效果进行调整。
为了进一步直观地突出本申请实施例的优点,下面将现有技术的短信分组效果与本申请实施例的短信分组效果进行对比:
采用现有技术中的短信分组方式,按照电话号码分组的效果示意如图4所示,可以看出,opposeMobile列中多个合并单元分别代表多个组,右侧messageContent列中粗体标记的短信内容明显具有相同或相似的模板,但却被分到了不同的组内,导致用户收到较多混乱的短信,用户体验不佳。
而采用本申请实施例所提供的短信分组技术,可以实现将不同号码发送的相同模板类型的短信分组,效果示意如图5所示,左侧opposeMobile列中粗实线框的单元格代表一组短信,可以看出,本申请实施例将不同号码的相同类型的短信合并作为同一组给用户,极大的提高了用户体验。
此外,采用现有技术中的短信分组方式,对于同一号码发送的不同类型短信的效果示意如图6所示,可以看出,所有短信均为10086发送为一组短信,但其中明显有不同类型的短信。
而采用本申请实施例所提供的短信分组技术,则可以实现将同一号码发送的不同类型短信进行进一步细分,按照不同模板类型进一步分组,效果示意如图7所示。
采用本申请实施例可以帮助手机用户更好的管理收到的短信,可以帮助用户将同一机构不同号码发送的同一类型的短信进行合并分组,帮助用户将同一号码发送的不同类型的短信进行合并分组,方便用户按业务类型(短信模板)浏览短信内容,可以迅速定位有价值的业务通知,去除营销等垃圾短信的通知。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.一种短信分组方法,其特征在于,包括:
步骤1、确定待分组的短信;
步骤2、计算短信之间的短信距离矩阵;
步骤3、根据所述短信距离矩阵对多个短信进行聚类,得到多个聚类簇;每个聚类簇包括一个或多个短信;
步骤4、计算所述多个聚类簇之间的聚类簇距离矩阵;
步骤5、根据所述聚类簇距离矩阵将所述多个聚类簇进行聚类,若生成新的聚类簇返回步骤4;否则,执行步骤6;
步骤6、按照所述聚类簇确定所述短信的分组;
其中,每次聚类时所采用的距离阈值不同;
所述计算短信之间的短信距离矩阵,包括:
根据所述短信中的内容计算两个短信之间的最长公共子字符串s的长度c;
根据两个短信之间的最长公共子字符串s的长度c计算所述两个短信之间的距离l;
根据每两个短信之间的距离l得到所有短信的距离矩阵。
4.根据权利要求1所述的方法,其特征在于,所述根据所述短信距离矩阵对多个短信进行聚类,得到多个聚类簇,包括:
以每个短信为中心,计算与该中心的距离d小于预设第一距离阈值的短信集合;
将每个短信作为核心对象,根据以该短信为中心的短信集合确定与该短信密度直达的短信;
根据所述密度直达的短信确定与所述短信密度可达的短信;
根据所述密度可达的短信确定密度相连的短信;
所述密度相连的短信形成聚类簇。
5.根据权利要求4所述的方法,其特征在于,所述根据所述聚类簇距离矩阵将所述多个聚类簇进行聚类,包括:
以每个聚类簇为中心,根据聚类簇距离矩阵计算与该中心的距离d小于预设第二距离阈值的聚类簇集合;
将每个聚类簇作为核心对象,根据以该聚类簇为中心的聚类簇集合确定与该聚类簇密度直达的聚类簇;
根据所述密度直达的聚类簇确定与所述聚类簇密度可达的聚类簇;
根据所述密度可达的聚类簇确定密度相连的聚类簇;
所述密度相连的聚类簇形成新的聚类簇;
其中,所述预设第二距离阈值根据短信分组效果确定。
6.根据权利要求1所述的方法,其特征在于,所述计算所述多个聚类簇之间的聚类簇距离矩阵,包括:
根据每个聚类簇生成所述聚类簇的公共子序列;
根据生成的聚类簇的公共子序列计算聚类簇之间的聚类簇距离矩阵。
7.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一所述方法的步骤。
8.一种电子设备,其特征在于,包括存储器、以及一个或多个处理器,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如权利要求1至6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910846356.XA CN110730270B (zh) | 2019-09-09 | 2019-09-09 | 一种短信分组方法、装置及计算机存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910846356.XA CN110730270B (zh) | 2019-09-09 | 2019-09-09 | 一种短信分组方法、装置及计算机存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110730270A CN110730270A (zh) | 2020-01-24 |
CN110730270B true CN110730270B (zh) | 2021-09-14 |
Family
ID=69217931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910846356.XA Active CN110730270B (zh) | 2019-09-09 | 2019-09-09 | 一种短信分组方法、装置及计算机存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110730270B (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572744B (zh) * | 2010-12-13 | 2014-11-05 | ***通信集团设计院有限公司 | 识别特征库获取方法、装置及短消息识别方法、装置 |
CN103914518B (zh) * | 2014-03-14 | 2017-05-17 | 小米科技有限责任公司 | 聚类方法及相关装置 |
CN105450497A (zh) * | 2014-07-31 | 2016-03-30 | 国际商业机器公司 | 生成聚类模型以及基于该聚类模型进行聚类的方法和装置 |
JP6856527B2 (ja) * | 2015-06-11 | 2021-04-07 | 日本電気株式会社 | メッセージ分析装置、メッセージ分析方法、および、メッセージ分析プログラム |
CN105389345A (zh) * | 2015-10-26 | 2016-03-09 | 天津大学 | 一种分类短信文本内容的方法 |
CN105824955B (zh) * | 2016-03-30 | 2019-02-19 | 北京小米移动软件有限公司 | 短信聚类方法及装置 |
CN106228188B (zh) * | 2016-07-22 | 2020-09-08 | 北京市商汤科技开发有限公司 | 聚类方法、装置及电子设备 |
CN106231575B (zh) * | 2016-09-23 | 2019-09-20 | 青岛海信移动通信技术股份有限公司 | 短信息处理方法及装置 |
CN109413595B (zh) * | 2017-08-17 | 2020-09-25 | ***通信集团公司 | 一种垃圾短信的识别方法、装置及存储介质 |
CN107748739A (zh) * | 2017-10-19 | 2018-03-02 | 上海大汉三通通信股份有限公司 | 一种短信文本模版的提取方法及相关装置 |
CN108595634B (zh) * | 2018-04-25 | 2023-05-30 | 腾讯科技(深圳)有限公司 | 短信管理方法、装置及电子设备 |
CN108959440A (zh) * | 2018-06-13 | 2018-12-07 | 福建新大陆软件工程有限公司 | 一种短信聚类方法及装置 |
-
2019
- 2019-09-09 CN CN201910846356.XA patent/CN110730270B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110730270A (zh) | 2020-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10943171B2 (en) | Sparse neural network training optimization | |
US11144812B2 (en) | Mixed machine learning architecture | |
CN105468742B (zh) | 恶意订单识别方法及装置 | |
US10552712B2 (en) | Training device and training method for training image processing device | |
US20190073586A1 (en) | Nested Machine Learning Architecture | |
CN109597965B (zh) | 基于深度神经网络的数据处理方法、***、终端及介质 | |
CN108319599A (zh) | 一种人机对话的方法和装置 | |
US20210224347A1 (en) | Method and apparatus for processing user interaction sequence data | |
CN112734034A (zh) | 模型训练方法、调用方法、装置、计算机设备和存储介质 | |
JP6779231B2 (ja) | データ処理方法及びシステム | |
CN111428217B (zh) | 欺诈团伙识别方法、装置、电子设备及计算机可读存储介质 | |
CA2871036A1 (en) | Entity resolution from documents | |
CN108108743A (zh) | 异常用户识别方法和用于识别异常用户的装置 | |
CN109948160B (zh) | 短文本分类方法及装置 | |
CN111144576A (zh) | 模型训练方法、装置和电子设备 | |
CN111985921A (zh) | 基于区块链离线支付的验证处理方法及数字金融服务平台 | |
CN111967973B (zh) | 银行客户数据处理方法及装置 | |
CN113656699A (zh) | 用户特征向量确定方法、相关设备及介质 | |
CN110008318A (zh) | 问题派发方法及装置 | |
CN110730270B (zh) | 一种短信分组方法、装置及计算机存储介质、电子设备 | |
CN111667018B (zh) | 一种对象聚类的方法、装置、计算机可读介质及电子设备 | |
CN110059178A (zh) | 问题派发方法及装置 | |
CN111679959A (zh) | 计算机性能数据确定方法、装置、计算机设备及存储介质 | |
Bibi et al. | TL‐PBot: Twitter bot profile detection using transfer learning based on DNN model | |
CN110046233A (zh) | 问题派发方法及装置 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210318 Address after: 200333 room 3110, No. 100, Lane 130, Taopu Road, Putuo District, Shanghai Applicant after: Shanghai zebra Laila Logistics Technology Co.,Ltd. Address before: Room 308-1, area C, 1718 Daduhe Road, Putuo District, Shanghai 200333 Applicant before: Shanghai kjing XinDa science and Technology Group Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |