发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的识别诈骗短信的方法和系统。
依据本发明的一个方面,提供了一种识别诈骗短信的方法,该方法包括:
收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别;其中,N为大于1的正整数;
根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型;
接收未知短信;
获取该未知短信的文本信息对应的N维特征向量;将该特征向量输入到所述多分类模型中进行计算,根据计算结果确定该未知短信是否为诈骗短信,以及当确定是诈骗短信时进一步确定其所属的诈骗类别。
可选地,所述根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型包括:
根据所述多条已知诈骗短信的特征向量和诈骗类别的对应关系,基于支持向量机算法生成多分类模型;所述多分类模型包括多个分类函数,每个分类函数对应于一个诈骗类别。
可选地,所述将该特征向量输入到所述多分类模型中进行计算包括:将该特征向量分别代入到所述多分类模型中的各分类函数中进行计算,得到多个计算结果;
所述根据计算结果确定该未知短信是否为诈骗短信包括:判断所述多个计算结果是否均相同,是则确定该未知短信不是诈骗短信,否则确定该未知短信是诈骗短信。
可选地,所述当确定是诈骗短信时进一步确定其所属的诈骗类别包括:
比较所述多个计算结果,选择最大的计算结果对应的分类函数,将该分类函数对应的诈骗类别作为该未知短信所属的诈骗类别。
可选地,所述获取每条已知诈骗短信的文本信息对应的N维特征向量包括:
对所述多条已知诈骗短信进行分词处理,去重后得到N个分词结果,将每个分词结果作为一个特征;
对于每条已知诈骗短信,根据该已知诈骗短信的文本信息分别计算所述N个分词结果对应的权重,将所述N个分词结果对应的权重的集合作为该已知诈骗短信的文本信息对应的N维特征向量。
可选地,所述获取该未知短信的文本信息对应的N维特征向量包括:根据该未知短信的文本信息分别计算所述N个分词结果对应的权重,将所述N个分词结果对应的权重的集合作为该未知短信的文本信息对应的N维特征向量。
可选地,所述诈骗类别包括如下一种或多种:积分诈骗、航空诈骗、活动诈骗、支付诈骗。
可选地,在确定未知短信是诈骗短信且确定其所属的诈骗类别之后,该方法进一步包括:
向用户发送诈骗短信警示消息,所述诈骗短信警示消息中包括:该未知短信所属的诈骗类别信息。
可选地,该方法进一步包括:
每隔预设时间周期,
重新收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别;根据重新收集到的多条已知诈骗短信的特征向量和诈骗类别信息以及原有的多分类模型,生成更新后的多分类模型。
可选地,服务器执行所述收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别,根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型的操作;
服务器进一步将多分类模型推送到客户端;
客户端执行所述接收未知短信,获取该未知短信的文本信息对应的N维特征向量,将该特征向量输入到所述多分类模型中进行计算,根据计算结果确定该未知短信是否为诈骗短信,以及当确定是诈骗短信时进一步确定其所属的诈骗类别的操作。
可选地,服务器执行所述收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别,根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型的操作;
客户端执行所述接收未知短信的操作,并进一步将接收到的未知短信上传到服务器;
服务器执行所述获取该未知短信的文本信息对应的N维特征向量,将该特征向量输入到所述多分类模型中进行计算,根据计算结果确定该未知短信是否为诈骗短信,以及当确定是诈骗短信时进一步确定其所属的诈骗类别的操作。
依据本发明的另一个方面,提供了一种识别诈骗短信的系统,该系统包括:
样本收集单元,适于收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别;其中,N为大于1的正整数;
模型生成单元,适于根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型;
短信接收单元,适于接收未知短信;
识别处理单元,适于获取该未知短信的文本信息对应的N维特征向量;将该特征向量输入到所述多分类模型中进行计算,根据计算结果确定该未知短信是否为诈骗短信,以及当确定是诈骗短信时进一步确定其所属的诈骗类别。
可选地,所述模型生成单元,适于根据所述多条已知诈骗短信的特征向量和诈骗类别的对应关系,基于支持向量机算法生成多分类模型;所述多分类模型包括多个分类函数,每个分类函数对应于一个诈骗类别。
可选地,所述识别处理单元,适于将该特征向量分别代入到所述多分类模型中的各分类函数中进行计算,得到多个计算结果;适于判断所述多个计算结果是否均相同,是则确定该未知短信不是诈骗短信,否则确定该未知短信是诈骗短信。
可选地,所述识别处理单元,适于当判断出所述多个计算结果不相同时,比较所述多个计算结果,选择最大的计算结果对应的分类函数,将该分类函数对应的诈骗类别作为该未知短信所属的诈骗类别。
可选地,所述样本收集单元,适于对所述多条已知诈骗短信进行分词处理,去重后得到N个分词结果,将每个分词结果作为一个特征;对于每条已知诈骗短信,根据该已知诈骗短信的文本信息分别计算所述N个分词结果对应的权重,将所述N个分词结果对应的权重的集合作为该已知诈骗短信的文本信息对应的N维特征向量。
可选地,所述识别处理单元,适于根据该未知短信的文本信息分别计算所述N个分词结果对应的权重,将所述N个分词结果对应的权重的集合作为该未知短信的文本信息对应的N维特征向量。
可选地,所述诈骗类别包括如下一种或多种:积分诈骗、航空诈骗、活动诈骗、支付诈骗。
可选地,该系统进一步包括:报警单元;
所述报警单元,适于在所述识别处理单元确定未知短信是诈骗短信且确定其所属的诈骗类别之后,向用户发送诈骗短信警示消息,所述诈骗短信警示消息中包括:该未知短信所属的诈骗类别信息。
可选地,所述样本收集单元,进一步适于每隔预设时间周期,重新收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别;
所述模型生成单元,进一步适于根据重新收集到的多条已知诈骗短信的特征向量和诈骗类别信息以及原有的多分类模型,生成更新后的多分类模型。
可选地,所述样本收集单元和所述模型生成单元部署于服务器;
所述短信接收单元和所述识别处理单元部署于客户端;
所述模型生成单元进一步适于将生成的多分类模型推送到所述识别处理单元。
可选地,所述样本收集单元、所述模型生成单元和所述识别处理单元部署于服务器;
所述短信接收单元部署于客户端;
所述短信接收单元进一步适于将接收到的未知短信上传至所述识别处理单元。
根据本发明的技术方案,将已知诈骗短信作为训练样本,根据训练样本的特征(已知诈骗短信的文本信息对应的特征向量)和标签(已知诈骗短信所属的诈骗类别)生成多分类模型,即找到特征与标签之间的映射关系,这样当有特征(未知短信的文本信息对应的特征向量)而无标签的待预测数据(未知短信)输入时,就可以通过特征与标签之间的映射关系找到该待预测数据的标签,即获知未知短信所属的诈骗类别,当发现一个未知短信不属于任何诈骗类别时,确定该未知短信不是诈骗短信。上述过程是一个典型的有监督学习过程,由于训练样本的标签是经过细分后的诈骗类别,通过对训练样本的训练能够获得较为高效、可泛化、小粒度地对诈骗短信的诈骗类别进行预测的机制,提高诈骗短信的识别准确率和识别粒度,保障用户的短信安全。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种识别诈骗短信的方法的流程图。如图1所示,该方法包括:
步骤S110,收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别。
其中,N为大于1的正整数。
步骤S120,根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型。
步骤S130,接收未知短信。
步骤S140,获取该未知短信的文本信息对应的N维特征向量;将该特征向量输入到所述多分类模型中进行计算,根据计算结果确定该未知短信是否为诈骗短信,以及当确定是诈骗短信时进一步确定其所属的诈骗类别。
上述过程中,收集多条已知诈骗短信作为训练样本,获取每条已知诈骗短信对应的特征向量和所属的诈骗类别,其中,每条已知诈骗短信对应的特征向量即为该训练样本的特征,每条已知诈骗短信所属的诈骗类别即为该训练样本的标签;根据多个训练样本的特征和标签进行训练,生成多分类模型,该多分类模型反映了每种诈骗类别与其他诈骗类别之间的划分界限;基于生成的多分类模型,当接收到未知短信时,将该未知短信作为待预测数据,该未知短信对应的特征向量即为该待预测数据的特征,将待预测数据的特征输入到分类模型中,得到待预测数据的标签,即确定出未知短信是否为诈骗短信,以及当确定是诈骗短信是确定其所属的诈骗类别。
可见,图1所示的方法将已知诈骗短信作为训练样本,根据训练样本的特征(已知诈骗短信的文本信息对应的特征向量)和标签(已知诈骗短信所属的诈骗类别)生成多分类模型,即找到特征与标签之间的映射关系,这样当有特征(未知短信的文本信息对应的特征向量)而无标签的待预测数据(未知短信)输入时,就可以通过特征与标签之间的映射关系找到该待预测数据的标签,即获知未知短信所属的诈骗类别,当发现一个未知短信不属于任何诈骗类别时,确定该未知短信不是诈骗短信。上述过程是一个典型的有监督学习过程,由于训练样本的标签是经过细分后的诈骗类别,通过对训练样本的训练能够获得较为高效、可泛化、小粒度地对诈骗短信的诈骗类别进行预测的机制,提高诈骗短信的识别准确率和识别粒度,保障用户的短信安全。
在本发明的一个实施例中,上述步骤S120根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型包括:根据所述多条已知诈骗短信的特征向量和诈骗类别的对应关系,基于支持向量机算法生成多分类模型;所述多分类模型包括多个分类函数,每个分类函数对应于一个诈骗类别。
基于此多分类模型,则在接收到未知短信时,步骤S140将该特征向量输入到所述多分类模型中进行计算包括:将该特征向量分别代入到所述多分类模型中的各分类函数中进行计算,得到多个计算结果;根据计算结果确定该未知短信是否为诈骗短信包括:判断所述多个计算结果是否均相同,是则确定该未知短信不是诈骗短信,否则确定该未知短信是诈骗短信。
进一步地,当确定未知短信是诈骗短信时确定其所属的诈骗类别包括:比较所述多个计算结果,选择最大的计算结果对应的分类函数,将该分类函数对应的诈骗类别作为该未知短信所属的诈骗类别。
通过一个例子来说明本方案的具体实施过程,在本实施例中,利用支持向量机(SupportVectorMachine,SVM)方法来对训练样本进行训练生成多分类模型,SVM方法是建立在统计学习理论的VC维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以获得最好的泛化能力。
由于二分类模型实质上是多分类模型的最简化的特例,此处首先介绍利用SVM方法生成二分类模型的原理,为后续推广到生成多分类模型打下基础。例如,假设目前已有的诈骗类别只有积分诈骗和活动诈骗,收集多个已知诈骗短信作为训练样本,每个训练样本带有特征(文本信息对应的特征向量)和标签(所属的诈骗类别),在本例中,设定训练样本的特征为二维特征向量,训练样本的标签包括:积分诈骗和活动诈骗。为了形象地表示二分类模型的建立过程,图2示出了根据本发明一个实施例的利用支持向量机方法生成二分类模型的示意图,在二维平面中训练样本的分布如图2中所示,二维特征向量在二维平面中是点,其中以圆圈标示属于积分诈骗的已知诈骗短信的二维特征向量,以方框标示属于活动诈骗的已知诈骗短信的二维特征向量,在该二维平面中找到一条直线用来区分“积分诈骗”、“活动诈骗”两种诈骗类别,该直线则表示本例中的二分类模型,该二分类模型即为一个分类函数,可以将属于两种诈骗类别的已知诈骗短信完全分开。设该分类函数为g(x)=wx+b,其中,x表示训练样本(已知诈骗短信)的特征向量,w和b的选取原则是:寻找两条边界端或极端划分直线中间的最大间隔;如取g(x)=0作为分类阈值,则对于属于积分诈骗的已知诈骗短信的特征向量,wx+b>0,对于属于活动诈骗的已知诈骗短信的特征向量,wx+b<0。当接收到未知短信时,将该未知短信的文本信息对应的特征向量输入到该分类函数中进行计算,如果g(x)=0,确定该未知短信不是诈骗短信,如果g(x)>0,确定该未知短信是诈骗短信且属于积分诈骗,如果g(x)<0,确定该未知短信是诈骗短信且属于活动诈骗。需要说明的是,本例提供的方案不局限于短信的文本信息对应于二维特征向量的情况,当短信的文本信息对应于N维特征向量时,此方案在N维空间中仍然适用,只不过分类函数不再表示一条直线,而是一个平面、甚至一个超平面来划分出空间的两个区域以对应两个不同诈骗类别。
可见,利用SVM方法生成二分类模型的的过程本质上是找到一个用于区分两个不同诈骗类别的分类函数的过程,在此基础上,进一步地,当存在更多的诈骗类别时,利用SVM方法生成多分类模型的本质是找到多个用于区分每种诈骗类别和其他诈骗类别的分类函数。例如,假设目前已知的诈骗类别包括:积分诈骗、活动诈骗、航空诈骗、支付诈骗,收集多个已知诈骗短信作为训练样本,每个训练样本带有特征(文本信息对应的特征向量)和标签(所属的诈骗类别),设定训练样本的特征为二维特征向量,则各已知诈骗短信对应的二维特征向量均可以在二维平面中以点表示出来,则在该二维平面中找到四条直线,第一条直线将属于积分诈骗的已知诈骗短信与属于其他三种诈骗类别的已知诈骗短信划分开来,第二条直线将属于活动诈骗的已知诈骗短信与属于其他三种诈骗类别的已知诈骗短信划分开来,第三条直线将属于航空诈骗的已知诈骗短信与属于其他三种诈骗类别的已知诈骗短信划分开来,第四条直线将属于支付诈骗的已知诈骗短信与属于其他三种诈骗类别的已知诈骗短信划分开来,则这四条直线所表示的四个分类函数共同构成了本例生成的多分类模型,第一个分类函数对应于积分诈骗,第二个分类函数对应于活动诈骗,第三个分类函数对应于航空诈骗,第四个分类函数对应于支付诈骗。设四个分类函数分别为:g1(x)=w1x+b1、g2(x)=w2x+b2、g3(x)=w3x+b3、g4(x)=w4x+b4,其中,x表示训练样本(已知诈骗短信)的特征向量,w1和b1、w2和b2、w3和b3、w4和b4的选取原则是:寻找两条边界端或极端划分直线中间的最大间隔;如取g1(x)=g2(x)=g3(x)=g4(x)=0作为四个诈骗类别的划分阈值,则对于属于积分诈骗的已知诈骗短信的特征向量,g1(x)>0,g2(x)<0,g3(x)<0,g4(x)<0;对于属于活动诈骗的已知诈骗短信的特征向量,g1(x)<0,g2(x)>0,g3(x)<0,g4(x)<0;对于属于航空诈骗的已知诈骗短信的特征向量,g1(x)<0,g2(x)<0,g3(x)>0,g4(x)<0;对于属于支付诈骗的已知诈骗短信的特征向量,g1(x)<0,g2(x)<0,g3(x)<0,g4(x)>0。当接收到未知短信时,将该未知短信的文本信息对应的特征向量分别代入到四个分类函数中进行计算,如果g1(x)=g2(x)=g3(x)=g4(x)=0,确定该未知短信不是诈骗短信,如果g1(x)、g2(x)、g3(x)、g4(x)不均为0,比较四者的大小,选择最大的计算结果对应的分类函数,将该分类函数对应的诈骗类别作为该未知短信所属的诈骗类别。需要说明的是,本例提供的方案不局限于短信的文本信息对应于二维特征向量的情况,当短信的文本信息对应于N维特征向量时,此方案在N维空间中仍然适用,只不过四个分类函数不再表示四条直线,而是四个平面、甚至四个超平面来区分四种不同的诈骗类别;当然,当有更多的诈骗类别时,在建立多分类模型时需要找到对应于不同诈骗类别的更多的分类函数,这里不做限制。
可见,在本实施例中,根据已知诈骗短信的特征向量和诈骗类别,利用SVM方法生成多分类模型的过程实质上是找到对应于多个不同诈骗类别的分类函数的过程。
进一步地,为了使得上述过程中生成的多分类模型更为稳定,图1所示的方法还包括:每隔预设时间周期,重新收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别;根据重新收集到的多条已知诈骗短信的特征向量和诈骗类别信息以及原有的多分类模型,生成更新后的多分类模型。例如,每隔预设时间周期,收集新的已知诈骗短信作为新增的训练样本输入到原有的多分类模型中,由于每个新增的已知诈骗短信的特征向量和诈骗类别是确定已知的,在将新增的已知诈骗短信的特征向量代入到分类函数中后,通过比较计算结果和已知的该已知诈骗短信的诈骗类别,可以获知原有的分类函数的准确程度,当计算结果和已知的诈骗类别之间不一致时,需要对原有的分类函数进行调整校正,具体地,沿用上文中分类函数为g(x)=wx+b的例子,当将新增的训练样本代入到该分类函数中后,如果发现预测结果与已知的诈骗类别不一致,通过调整分类函数中w、b的取值,使得在加入新增的训练样本后,w、b的选取原则不被破坏,即在新增训练样本后,寻找两条边界端或极端划分直线中间的最大间隔,进而得到更新后的分类函数。在经过多个预设时间周期后,经过反复迭代训练,能够得到更为稳定的多分类模型。
在本发明的一个实施例中,上述获取每条已知诈骗短信的文本信息对应的N维特征向量包括:对所述多条已知诈骗短信进行分词处理,去重后得到N个分词结果,将每个分词结果作为一个特征;对于每条已知诈骗短信,根据该已知诈骗短信的文本信息分别计算所述N个分词结果对应的权重,将所述N个分词结果对应的权重的集合作为该已知诈骗短信的文本信息对应的N维特征向量。例如,收集到三条已知诈骗短信(实际情况下训练样本的数量当然大得多,此处仅为原理解释),对第一条已知诈骗短信进行分词处理后得到的分词结果为:积分、登录,第二条已知诈骗短信进行分词处理后得到的分词结果为:退票、登录,第三条已知诈骗短信进行分词处理后得到的分词结果为:支付、充值、登录,则去重汇总后得到5个分词结果:积分、登录、退票、支付、充值,反映了训练样本的五个特征,对于这三条已知诈骗短信中的每条已知诈骗短信,根据该已知诈骗短信的文本信息分别计算5个分词结果对应的权重,具体地,可以根据文本中相应分词出现的频次等方式确定该分词的权重,如根据第一条已知诈骗短信的文本,其中“积分”出现3次,“登录”出现1次,其他三个分词未出现,则该已知诈骗短信对应的特征向量为:{3,1,0,0,0},同理可以得到其他已知诈骗短信的文本信息对应的特征向量。
则当接收到一个未知短信时,先对该未知短信的文本呢进行分词处理,从分词结果中计算出关于上述5个特征的对应权值,将5个特征对应的权重的集合作为该未知短信的文本信息对应的特征向量。将该特征向量输入到多分类函数中进行计算,可以预测该未知短信是否为诈骗短信,且当确定该未知短信是诈骗短信时小粒度地预测该未知短信所属的诈骗类别。
在本发明的一个实施例中,在确定未知短信是诈骗短信且确定其所属的诈骗类别之后,图1所示的方法进一步包括:向用户发送诈骗短信警示消息,所述诈骗短信警示消息中包括:该未知短信所属的诈骗类别信息。使得用户能够及时获知接收到的短信的详细的安全情况,满足用户需求。
在本发明的一个实施例中,服务器执行所述收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别,根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型的操作;服务器进一步将多分类模型推送到客户端;客户端执行所述接收未知短信,获取该未知短信的文本信息对应的N维特征向量,将该特征向量输入到所述多分类模型中进行计算,根据计算结果确定该未知短信是否为诈骗短信,以及当确定是诈骗短信时进一步确定其所属的诈骗类别的操作。进一步地,客户端在确定未知短信是诈骗短信且确定其诈骗类别后,还可以执行向用户展示诈骗短信警示消息的操作。
在本发明的另一个实施例中,服务器执行所述收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别,根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型的操作;客户端执行所述接收未知短信的操作,并进一步将接收到的未知短信上传到服务器;服务器执行所述获取该未知短信的文本信息对应的N维特征向量,将该特征向量输入到所述多分类模型中进行计算,根据计算结果确定该未知短信是否为诈骗短信,以及当确定是诈骗短信时进一步确定其所属的诈骗类别的操作。进一步地,服务器在确定未知短信是诈骗短信及其所属的诈骗类别后,将预测结果返回至客户端,由客户端执行向用户展示诈骗短信警示消息的操作。
图3示出了根据本发明一个实施例的一种识别诈骗短信的系统的示意图。如图3所示,该识别诈骗短信的系统300包括:
样本收集单元310,适于收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别;其中,N为大于1的正整数。
模型生成单元320,适于根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型。
短信接收单元330,适于接收未知短信。
识别处理单元340,适于获取该未知短信的文本信息对应的N维特征向量;将该特征向量输入到所述多分类模型中进行计算,根据计算结果确定该未知短信是否为诈骗短信,以及当确定是诈骗短信时进一步确定其所属的诈骗类别。
可见,图3所示的系统通过各单元的相互配合,将已知诈骗短信作为训练样本,根据训练样本的特征(已知诈骗短信的文本信息对应的特征向量)和标签(已知诈骗短信所属的诈骗类别)生成多分类模型,即找到特征与标签之间的映射关系,这样当有特征(未知短信的文本信息对应的特征向量)而无标签的待预测数据(未知短信)输入时,就可以通过特征与标签之间的映射关系找到该待预测数据的标签,即获知未知短信所属的诈骗类别,当发现一个未知短信不属于任何诈骗类别时,确定该未知短信不是诈骗短信。上述过程是一个典型的有监督学习过程,由于训练样本的标签是经过细分后的诈骗类别,通过对训练样本的训练能够获得较为高效、可泛化、小粒度地对诈骗短信的诈骗类别进行预测的机制,提高诈骗短信的识别准确率和识别粒度,保障用户的短信安全。
在本发明的一个实施例中,模型生成单元320,适于根据所述多条已知诈骗短信的特征向量和诈骗类别的对应关系,基于支持向量机算法生成多分类模型;所述多分类模型包括多个分类函数,每个分类函数对应于一个诈骗类别。
基于模型生成单元320生成的多分类模型,识别处理单元340,适于将该特征向量分别代入到所述多分类模型中的各分类函数中进行计算,得到多个计算结果;适于判断所述多个计算结果是否均相同,是则确定该未知短信不是诈骗短信,否则确定该未知短信是诈骗短信。
在确定该未知短信是诈骗短信后,识别处理单元340,适于当判断出所述多个计算结果不相同时,比较所述多个计算结果,选择最大的计算结果对应的分类函数,将该分类函数对应的诈骗类别作为该未知短信所属的诈骗类别。
在本发明的一个实施例中,样本收集单元310,适于对所述多条已知诈骗短信进行分词处理,去重后得到N个分词结果,将每个分词结果作为一个特征;对于每条已知诈骗短信,根据该已知诈骗短信的文本信息分别计算所述N个分词结果对应的权重,将所述N个分词结果对应的权重的集合作为该已知诈骗短信的文本信息对应的N维特征向量。
进而,识别处理单元340,适于根据该未知短信的文本信息分别计算所述N个分词结果对应的权重,将所述N个分词结果对应的权重的集合作为该未知短信的文本信息对应的N维特征向量。
在本发明的一个实施例中,所述诈骗类别包括如下一种或多种:积分诈骗、航空诈骗、活动诈骗、支付诈骗、退换票诈骗、信用卡诈骗、扣费诈骗等。
在本发明的一个实施例中,样本收集单元310,进一步适于每隔预设时间周期,重新收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别;模型生成单元320,进一步适于根据重新收集到的多条已知诈骗短信的特征向量和诈骗类别信息以及原有的多分类模型,生成更新后的多分类模型。
在本发明的一个实施例中,样本收集单元310和模型生成单元320部署于服务器;短信接收单元330和识别处理单元340部署于客户端;模型生成单元320进一步适于将生成的多分类模型推送到识别处理单元340。
在本发明的一个实施例中,样本收集单元310、模型生成单元320和识别处理单元340部署于服务器;短信接收单元330部署于客户端;短信接收单元330进一步适于将接收到的未知短信上传至识别处理单元340。
图4示出了根据本发明另一个实施例的一种识别诈骗短信的系统的示意图。如图4所示,该识别诈骗短信的系统400包括:样本收集单元410、模型生成单元420、短信接收单元430、识别处理单元440和报警单元450。
其中,样本收集单元410、模型生成单元420、短信接收单元430、识别处理单元440分别具有与样本收集单元310、模型生成单元320、短信接收单元330、识别处理单元340对应相同的功能,在此不再赘述。
报警单元450,适于在识别处理单元440确定未知短信是诈骗短信且确定其所属的诈骗类别之后,向用户发送诈骗短信警示消息,所述诈骗短信警示消息中包括:该未知短信所属的诈骗类别信息。
在本发明的一个实施例中,报警单元450部署于客户端。
需要说明的是,图3-图4所示的系统的各实施例与图1-图2所示的各实施例对应相同,上文中已有详细的说明,在此不再赘述。
综上所述,本发明提供的技术方案将已知诈骗短信作为训练样本,根据训练样本的特征(已知诈骗短信的文本信息对应的特征向量)和标签(已知诈骗短信所属的诈骗类别)生成多分类模型,即找到特征与标签之间的映射关系,这样当有特征(未知短信的文本信息对应的特征向量)而无标签的待预测数据(未知短信)输入时,就可以通过特征与标签之间的映射关系找到该待预测数据的标签,即获知未知短信所属的诈骗类别,当发现一个未知短信不属于任何诈骗类别时,确定该未知短信不是诈骗短信。上述过程是一个典型的有监督学习过程,由于训练样本的标签是经过细分后的诈骗类别,通过对训练样本的训练能够获得较为高效、可泛化、小粒度地对诈骗短信的诈骗类别进行预测的机制;进一步地,本发明还提供了利用支持向量机方法对训练样本进行学习训练得到多分类模型的方案,根据有限的样本信息在对已知诈骗短信的学习精度和无错误地识别任意诈骗短信的能力之间寻求最佳折衷,以获得最好的识别诈骗短信的多分类模型的泛化能力,提高诈骗短信的识别准确率和识别粒度,保障用户的短信安全。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的识别诈骗短信的系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种识别诈骗短信的方法,其中,该方法包括:
收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别;其中,N为大于1的正整数;
根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型;
接收未知短信;
获取该未知短信的文本信息对应的N维特征向量;将该特征向量输入到所述多分类模型中进行计算,根据计算结果确定该未知短信是否为诈骗短信,以及当确定是诈骗短信时进一步确定其所属的诈骗类别。
A2、如A1所述的方法,其中,所述根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型包括:
根据所述多条已知诈骗短信的特征向量和诈骗类别的对应关系,基于支持向量机算法生成多分类模型;所述多分类模型包括多个分类函数,每个分类函数对应于一个诈骗类别。
A3、如A2所述的方法,其中,
所述将该特征向量输入到所述多分类模型中进行计算包括:将该特征向量分别代入到所述多分类模型中的各分类函数中进行计算,得到多个计算结果;
所述根据计算结果确定该未知短信是否为诈骗短信包括:判断所述多个计算结果是否均相同,是则确定该未知短信不是诈骗短信,否则确定该未知短信是诈骗短信。
A4、如A3所述的方法,其中,所述当确定是诈骗短信时进一步确定其所属的诈骗类别包括:
比较所述多个计算结果,选择最大的计算结果对应的分类函数,将该分类函数对应的诈骗类别作为该未知短信所属的诈骗类别。
A5、如A1所述的方法,其中,所述获取每条已知诈骗短信的文本信息对应的N维特征向量包括:
对所述多条已知诈骗短信进行分词处理,去重后得到N个分词结果,将每个分词结果作为一个特征;
对于每条已知诈骗短信,根据该已知诈骗短信的文本信息分别计算所述N个分词结果对应的权重,将所述N个分词结果对应的权重的集合作为该已知诈骗短信的文本信息对应的N维特征向量。
A6、如A5所述的方法,其中,
所述获取该未知短信的文本信息对应的N维特征向量包括:根据该未知短信的文本信息分别计算所述N个分词结果对应的权重,将所述N个分词结果对应的权重的集合作为该未知短信的文本信息对应的N维特征向量。
A7、如A1所述的方法,其中,所述诈骗类别包括如下一种或多种:积分诈骗、航空诈骗、活动诈骗、支付诈骗。
A8、如A1-A7中任一项所述的方法,其中,在确定未知短信是诈骗短信且确定其所属的诈骗类别之后,该方法进一步包括:
向用户发送诈骗短信警示消息,所述诈骗短信警示消息中包括:该未知短信所属的诈骗类别信息。
A9、如A1所述的方法,其中,该方法进一步包括:
每隔预设时间周期,
重新收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别;根据重新收集到的多条已知诈骗短信的特征向量和诈骗类别信息以及原有的多分类模型,生成更新后的多分类模型。
A10、如A1所述的方法,其中,
服务器执行所述收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别,根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型的操作;
服务器进一步将多分类模型推送到客户端;
客户端执行所述接收未知短信,获取该未知短信的文本信息对应的N维特征向量,将该特征向量输入到所述多分类模型中进行计算,根据计算结果确定该未知短信是否为诈骗短信,以及当确定是诈骗短信时进一步确定其所属的诈骗类别的操作。
A11、如A1所述的方法,其中,
服务器执行所述收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别,根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型的操作;
客户端执行所述接收未知短信的操作,并进一步将接收到的未知短信上传到服务器;
服务器执行所述获取该未知短信的文本信息对应的N维特征向量,将该特征向量输入到所述多分类模型中进行计算,根据计算结果确定该未知短信是否为诈骗短信,以及当确定是诈骗短信时进一步确定其所属的诈骗类别的操作。
本发明还公开了B12、一种识别诈骗短信的系统,其中,该系统包括:
样本收集单元,适于收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别;其中,N为大于1的正整数;
模型生成单元,适于根据所述多条已知诈骗短信的特征向量和诈骗类别信息生成多分类模型;
短信接收单元,适于接收未知短信;
识别处理单元,适于获取该未知短信的文本信息对应的N维特征向量;将该特征向量输入到所述多分类模型中进行计算,根据计算结果确定该未知短信是否为诈骗短信,以及当确定是诈骗短信时进一步确定其所属的诈骗类别。
B13、如B12所述的系统,其中,
所述模型生成单元,适于根据所述多条已知诈骗短信的特征向量和诈骗类别的对应关系,基于支持向量机算法生成多分类模型;所述多分类模型包括多个分类函数,每个分类函数对应于一个诈骗类别。
B14、如B13所述的系统,其中,
所述识别处理单元,适于将该特征向量分别代入到所述多分类模型中的各分类函数中进行计算,得到多个计算结果;适于判断所述多个计算结果是否均相同,是则确定该未知短信不是诈骗短信,否则确定该未知短信是诈骗短信。
B15、如B14所述的系统,其中,
所述识别处理单元,适于当判断出所述多个计算结果不相同时,比较所述多个计算结果,选择最大的计算结果对应的分类函数,将该分类函数对应的诈骗类别作为该未知短信所属的诈骗类别。
B16、如B12所述的系统,其中,
所述样本收集单元,适于对所述多条已知诈骗短信进行分词处理,去重后得到N个分词结果,将每个分词结果作为一个特征;对于每条已知诈骗短信,根据该已知诈骗短信的文本信息分别计算所述N个分词结果对应的权重,将所述N个分词结果对应的权重的集合作为该已知诈骗短信的文本信息对应的N维特征向量。
B17、如B16所述的系统,其中,
所述识别处理单元,适于根据该未知短信的文本信息分别计算所述N个分词结果对应的权重,将所述N个分词结果对应的权重的集合作为该未知短信的文本信息对应的N维特征向量。
B18、如B12所述的系统,其中,所述诈骗类别包括如下一种或多种:积分诈骗、航空诈骗、活动诈骗、支付诈骗。
B19、如B12-B18中任一项所述的系统,其中,该系统进一步包括:报警单元;
所述报警单元,适于在所述识别处理单元确定未知短信是诈骗短信且确定其所属的诈骗类别之后,向用户发送诈骗短信警示消息,所述诈骗短信警示消息中包括:该未知短信所属的诈骗类别信息。
B20、如B12所述的系统,其中,
所述样本收集单元,进一步适于每隔预设时间周期,重新收集多条已知诈骗短信,获取每条已知诈骗短信的文本信息对应的N维特征向量,获取每条已知诈骗短信所属的诈骗类别;
所述模型生成单元,进一步适于根据重新收集到的多条已知诈骗短信的特征向量和诈骗类别信息以及原有的多分类模型,生成更新后的多分类模型。
B21、如B12所述的系统,其中,
所述样本收集单元和所述模型生成单元部署于服务器;
所述短信接收单元和所述识别处理单元部署于客户端;
所述模型生成单元进一步适于将生成的多分类模型推送到所述识别处理单元。
B22、如B12所述的系统,其中,
所述样本收集单元、所述模型生成单元和所述识别处理单元部署于服务器;
所述短信接收单元部署于客户端;
所述短信接收单元进一步适于将接收到的未知短信上传至所述识别处理单元。