CN111461231B - 一种短信息的发送控制方法、装置及存储介质 - Google Patents
一种短信息的发送控制方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111461231B CN111461231B CN202010254699.XA CN202010254699A CN111461231B CN 111461231 B CN111461231 B CN 111461231B CN 202010254699 A CN202010254699 A CN 202010254699A CN 111461231 B CN111461231 B CN 111461231B
- Authority
- CN
- China
- Prior art keywords
- data
- short message
- judged
- model
- trained
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种短信息的发送控制方法、装置及存储介质,属于计算机技术领域,涉及人工智能和计算机视觉技术,应用于短信息防刷控制中,用以提高控制精度。获取短信息在目标时间段内的待判定数据,待判定数据包括至少两个目标特征的数据;将待判定数据输入已训练的异常判定模型,获得已训练的异常判定模型输出的判定结果,判定结果用于指示待判定数据是否异常,异常判定模型是基于短信息的样本数据训练得到的,每个样本数据包括少两个目标特征的数据;根据判定结果,对短信息发送方执行相应的控制策略。采用已训练异常判定模型进行异常判定,根据判定结果执行相应控制,防止短信息被刷,提高控制精度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种短信息的发送控制方法、装置及存储介质。
背景技术
在移动互联网时代,运营商通信发展迅速,短信息被用于各类APP(应用程序)进行用户鉴权认证,常见的例如使用短信息验证码注册方式来进行用户鉴权认证。
短信息的大量应用也带来很多问题,例如采用刷短信息的方式恶意骚扰。例如网上常见的各种短信息轰炸工具,通过自动批量提交手机号、模拟IP等方式去刷短信息,就可以对手机号码实现不间断的发送大量短信息,从而骚扰手机号码的使用方,影响其正常通信。
短信息轰炸工具是通过控制短信息发送方发送大量恶意短信息来实现的,为了防止发送方被刷短信息,需要针对这类被刷短信息的行为设置相应的防刷技术方案,为了避免短信息防刷控制中因识别错误而造成的误控制,提高控制精度是一个需要考虑的问题。
发明内容
本申请提供一种短信息的发送控制方法、装置及存储介质,应用于短信息防刷控制中,用以提高控制精度。
第一方面,本申请提供一种短信息的发送控制方法,该方法包括:
获取短信息在目标时间段内的待判定数据,待判定数据包括至少两个目标特征的数据;
将待判定数据输入已训练的异常判定模型,获得已训练的异常判定模型输出的判定结果,判定结果用于指示待判定数据是否异常,异常判定模型是基于短信息的样本数据训练得到的,每个样本数据包括少两个目标特征的数据;
根据判定结果,对短信息发送方执行相应的控制策略。
在一种可能的实现方式中,样本数据包括正样本数据和负样本数据,将待判定数据输入已训练的异常判定模型之前,获得目标时间段之前的参考数据集,参考数据集包括多个正样本数据;
根据各个参考数据中的目标特征的数据,估计各个目标特征的数据变化参数;
根据各个目标特征的数据变化参数对待判定数据进行预处理,预处理包括标准化处理和归一化处理中的至少一个。
在一种可能的实现方式中,根据判定结果,对短信息发送方执行相应的控制策略时:
若判定结果指示待判定数据异常,则判断短信息发送方是否为目标短信息发送方;
若确定短信息发送方为目标短信息发送方,则向短信息发送方发送告警信息,否则限制短信息发送方的短信息下发频率。
在一种可能的实现方式中,每个样本数据和待判定数据,是从短信息发送日志中获取的,短信息发送日志是根据短信息的发送请求生成的。
在一种可能的实现方式中,异常判定模型基于集成学习算法训练得到的,异常判定模型包括多个分类器和判决器,将待判定数据输入已训练的异常判定模型,获得已训练的异常判定模型输出的判定结果时:
每个分类器分别根据待判定数据进行判定并输出分类结果,分类结果用于指示待判定数据数据正常和数据异常;
判决器根据各个分类器输出的分类结果获得判定结果。
在一种可能的实现方式中,集成学习算法包括随机森林算法,其中,分类器为决策树,判决器为表决器;
将待判定数据输入已训练的异常判定模型,获得已训练的异常判定模型输出的判定结果时:
每个决策树分别根据待判定数据中包括至少两个目标特征的数据进行判定并输出分类结果;
表决器根据各个决策树输出的分类结果,将占比大的分类结果输出为判定结果。
第二方面,本申请提供一种短信息的发送控制装置,该装置包括:
获取模块,用于获取短信息在目标时间段内的待判定数据,待判定数据包括至少两个目标特征的数据;
判定模块,用于将待判定数据输入已训练的异常判定模型,获得已训练的异常判定模型输出的判定结果,判定结果用于指示待判定数据是否异常,异常判定模型是基于短信息的样本数据训练得到的,每个样本数据包括少两个目标特征的数据;
控制模块,用于根据判定结果,对短信息发送方执行相应的控制策略。
在一种可能的实现方式中,还包括预处理模块,用于:
获得目标时间段之前的参考数据集,参考数据集包括多个正样本数据;
根据各个参考数据中的目标特征的数据,估计各个目标特征的数据变化参数;
根据各个目标特征的数据变化参数对待判定数据进行预处理,预处理包括标准化处理和归一化处理中的至少一个。
在一种可能的实现方式中,本申请提供的一种短信息的发送控制装置中还包括:
消息中间件,用于获得并存储发送日志;
特征提取模块,用于根据设定的目标特征,从消息中间件中存储的发送日志中提取短信息的历史数据;
存储模块,用于保存短信息的历史数据;
标注模块,用于从存储模块获取历史数据,展示历史数据,并接收对历史数据是否异常的标注,并将标注后的历史数据保存到存储模块。
在一种可能的实现方式中,本申请实施例提供的一种短信息的发送控制装置中还包括:
缓存模块,用于缓存特征提取模块提取的短信息历史数据,并将缓存的数据保存到存储模块中。
在一种可能的实现方式中,本申请实施例提供的一种短信息的发送控制装置中还包括:
模型训练模块,用于从存储模块存储的历史数据中获取样本数据,并训练异常判定模型。
在一种可能的实现方式中,异常判定模型基于集成学习算法训练得到的,异常判定模型包括多个分类器和判决器,将待判定数据输入已训练的异常判定模型,获得已训练的异常判定模型输出的判定结果,具体包括:
每个分类器分别根据待判定数据进行判定并输出分类结果,分类结果用于指示待判定数据数据正常和数据异常;
判决器根据各个分类器输出的分类结果获得判定结果。
在一种可能的实现方式中,集成学习算法包括随机森林算法,其中,分类器为决策树,判决器为表决器;
判定模块将待判定数据输入已训练的异常判定模型,获得已训练的异常判定模型输出的判定结果,具体包括:
每个决策树分别根据待判定数据中包括至少两个目标特征的数据进行判定并输出分类结果;
表决器根据各个决策树输出的分类结果,将占比大的分类结果输出为判定结果。
第三方面,本申请实施例提供一种短信息的发送控制的设备,包括:存储器和处理器,其中,存储器,用于存储计算机指令;处理器,用于执行计算机指令以实现本申请实施例提供的短信息的发送控制的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现本申请实施例提供的短信息的发送控制的方法。
本申请有益效果如下:
本申请实施例提供一种短信息的发送控制方法、装置及存储介质,获取短信息在目标时间段内的待判定数据,待判定数据包括至少两个目标特征的数据,将待判定数据输入已训练的异常判定模型,获得用于指示待判定数据是否异常的判定结果,根据判定结果,对短信息发送方执行相应的控制策略,已训练的异常判定模型是基于短信息的样本数据训练得到的,每个样本数据包括至少两个目标特征的数据。在训练异常判定模型时基于短信息的样本数据训练的模型,可学习到较长时间段历史数据的分布特征,降低了短期数据波动造成的影响,因此在使用已训练的异常判定模型对待判定数据进行判定时,可以得到更加准确的判定结果,进一步根据判定结果对短信息发送方执行控制策略时,可以更加精准的进行控制,提高控制精度。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为相关技术中集成学习的原理示意图;
图1B为相关技术中随机森林的分类算法流程图;
图2为本申请实施例提供的一种短信息的发送控制的应用场景示意图;
图3为本申请实施例提供的一种短信息的发送控制装置的结构图;
图4为本申请实施例提供的一种数据标注页面示意图;
图5A为本申请实施例提供的一种多种异常判定模型训练结果示意图;
图5B为本申请实施例提供的一种多种异常判定模型训练效果示意图;
图6为本申请实施例提供的一种短信息发送方接收到告警信息的示意图;
图7为本申请实施例提供的一种短信息发送方接收到提示限制下发频率信息的示意图;
图8为本申请实施例提供的一种短信息的发送控制方法流程图;
图9为本申请实施例提供的一种短信息的发送控制方法整体流程图;
图10为本申请实施例提供的一种计算设备结构图。
具体实施方式
本申请实施例描述的架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
以下对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解:
1、人工智能
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术主要包括计算机视觉技术、语音处理技术、以及机器学习/深度学习等几大方向。
2、机器学习
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
3、云技术
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
4、短信息的历史数据、待判定数据、样本数据和参考数据:
短信息的历史数据,是根据客户的短信息发送请求记录的,包含了客户请求发送的所有短信息,以及用户终端设备针对这些短信息回复的短信息,历史数据可以以日志的方式记录。
待判定数据是需要判定为正常还是异常的短信息发送数据,根据设定目标时间段内获取的,目标时间段可以是之前的某个特定时间段,例如昨天的某个时间段,也可以是当前时间,则待判定数据可以是之前的历史数据也可以当前时间的实时数据。目标时间段是数据的采样时长,例如每个历史数据的采样时长一小时。这里的当前时间是以异常判定被触发的时间为基准的,目标时间段以触发时间向前推算,则根据当前时间获取的实时数据之前一个小时内的数据。待判定数据也会存储到历史数据中,并且可以将判定为异常的数据进一步进行人工审核后进行标注,后续作为样本数据使用。
样本数据,是用于训练模型的数据,本申请中是用于训练异常判定模型的数据,样本数据的数量要足够模型训练的要求,样本数据包括正样本数据和负样本数据,是从短信息的历史数据中获得的,并被标注了正样本或者负样本标签的数据。
参考数据,是从短信息的历史数据中获得的,对待判定数据进行预处理时所参照的数据,参考数据一般需要多个,构成参考数据集,通过参考数据集来估计待判定数据各个特征的数据变化,从而对待判定数据进行标准化、去噪音等预处理。因此以正样本数据作为参考数据是比较合适的。
5、目标特征
根据短信息业务特性设定的数据特征,可以用于判断短信息数据是否异常的特征,例如验证码短信息的数据、发送短信息的请求量、短信息发送的请求成功量、短信息的回执量、短信息的回执成功量,以及其他一些可量化的特征。本申请中的待判定数据、样本数据、历史数据以及参考数据等的数据结构是一样的,都是根据设定的这些目标特征采集的。而且,是以设定时间段为采集周期的,这个设定时间段和待判定数据的目标时间段的时长是一致的,都是历史数据的采样时间长度。
6、异常判定模型
本申请中的异常判定模型,是基于短信息的历史数据训练获得的,用于对短信息的数据进行异常与否的判断。属于统计预测模型中的数据挖掘和智能预测;统计预测是根据大量的历史数据的基础上,运用环境统计和数理统计等方法,研究事物发展变化趋势和方向的预测方法。数据挖掘和智能预测是根据大量的历史数据获得更加精细的模型结构,从而获得对真实数据更加合理的预测,主要用于数据真实性预测,即是否异常。
7、网格搜索和超参数
网格搜索是一种调整模型参数的方法,通过遍历给定的参数组合来优化模型表现的方法。网格搜索过程中,搜索的是参数,即在指定的参数范围内,按步长依次调整参数,利用调整的参数训练机器学习,从所有的参数中找到在验证集上精度最高的参数,是一个训练和比较的过程。比如预先设置了参数包括有【2,4,5,7】,则依次针对参数2、参数4、参数5、参数7进行训练,并对训练结果进行验证,将验证结果进行比较。
超参数是机器学习中需要人工选择的参数。在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。例如随机森林中的超参数,是设置的随机森林的个数,决策树中节点的个数等。
下面介绍本申请的基本构思。
本申请是针对短信息防刷的,在短信息防刷的相关技术中,分别基于验证码短信息的转化率数据、短信息的发送量级、短信息的发送频率,判断短信息发送方是否被刷,并进一步根据判断结果进行相应控制。但是这几种控制策略都相对简单,不能准确识别短信息发送情况是否异常,进而影响到控制精度,影响客户体验。
进一步的相关技术基于波动比例和量级限制结合的方法来控制短信息发送方下发短信息。基于波动比例和量级限制结合方法,以每天为一个判断周期为例,判断今天下发数据量和昨天下发数据量相比的波动比例是否超过指定阈值,当超过指定阈值时判定发生异常,对短信息发送方进行告警。具体的,波动比例的计算方法为:(Q-P)/Q,其中:Q为昨天短信息发送量,P为今天短信息下发量。这种方式中,使用今天和昨天的数据进行对比,在量级比较稳定的一定时间内,能够比较准确的发现问题,但是对于出现异常情况,例如当天有活动,则会出现波动比例的异常,导致误判定,因此仍然不能很好的满足控制精度的要求。
上述进一步的相关技术中,以波动比例作为判断依据,实质上就是以之前的数据作为参考来判断当前数据是否正常,作为参考的之前数据仅是昨天的短期数据,以短期内数据作为对比数据来计算波动比例时,相当于用单一样本作为参考,样本数据特性比较单一,不能很好的反应业务数据的历史特性,从而在对当前数据进行对比分析时,容易受到突发事件影响,造成误判。
基于此,本申请实施例采用人工智能和机器学习技术,利用历史数据训练异常判定模型,异常判定模型来实现短信息发送数据的是否异常的判定,从而根据判定结果执行相应控制策略。利用历史数据训练的模型,可以学习到较长时间段历史数据的分布特征,相比相关技术中以短期数据作为判决依据的方案,降低了短期数据波动造成的影响,判决结果更加准确。
在本申请实施例中,可以采用人工神经网络、LR(Logistic Regression,逻辑回归),KNN(K-nearst neighbors,K邻近算法)、SVM(Support Vector Machine,支持向量机)、GBDT(Gradient Boosting Decision Tree,梯度提升决策树)或决策树算法来训练异常判定模型,这些都是利用机器学习构建的单个学习器为基础的模型。在单个学习器的基础上,集成学习算法逐渐得到一定发展和应用。集成学习算法将几种机器学习技术组合成一个预测模型的算法,以达到减小方差(Bagging)、偏差(Boosting)或改进预测(Stacking)的效果。集成学习的主要思路是先通过一定的规则生成多个学习器,再采用某种集成策略进行组合,最后综合判断输出最终结果,获得博采众长的效果。集成学习的原理如图1A所示。
集成学习可以用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等。在解决分类问题时,每个学习器视为一个分类器,集成学习构建的分类模型中相当于包含了多个分类器,即将多个分类方法聚集在一起,并综合多个分类器的分类结果输出最终的结果,从而提高了分类的准确率,这些分类方法可以相同也可以不同。
个体学习器一般使用的常见学习算法如逻辑回归、神经网络等,根据个体学习器间的强弱依赖关系,可以分类两类集成学习算法。一类是具有强依赖性,个体学习器必须串行生成的序列化方法,代表算法是Boosting。另一类的具有弱依赖性,个体学习器可同时生成的并行化方法,代表算法是Bagging和随机森林(RF,Random Forest)。
Boosting算法的原理可以简单描述为以下过程,先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器。如此重复进行,直至基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合。
随机森林算法是基于bagging框架下的决策树模型,随机森林中包含了很多决策树,每棵决策树即为一个分类模型,并基于训练结果可以对数据给出自己的分类结果,然后将所有分类模型的分类结果综合后获得最终的分类结果。每棵决策树的生成规则主要包括:如果训练集大小为N,对于每棵决策树而言,随机且有放回地从训练集中抽取N个训练样本,作为该决策树的子样本集,重复K次,生成K个子样本集;如果每个特征的样本维度为M,指定一个常数m,m<<M,在抽取每个子样本集中的子样本时,随机地选中的样本中的M个特征中选取m个特征,也就说每个子样本的特征是m个,利用m个特征对每棵决策树尽最大程度的生长,并且没有剪枝过程。如图1B所示,为随机森林的分类算法流程。
随机森林作为一个可以高度并行化的算法,在大数据中有很好的应用。具体表现在,随机森林的训练可以高度并行化,对于大数据的大样本训练速度有优势。由于可以随机选择决策树节点划分特征,这样在样本特征维度很高的时候,仍然能高效的训练模型。并且在训练后,可以给出各个特征对于输出的重要性。在训练过程中采用了随机抽样,使得训练出来的模型的方差小,泛化能力强,对部分特征的缺失也很不敏感。在训练过程中,随机森林需要调整的参数包括两部分,第一部分是Bagging框架的参数,第二部分是CART(Classification And Regression Tree,分类与回归树)决策树的参数。
决策树是随机森林的基本构成要素,决策树是一个有监督分类模型,本质是选择一个最大信息增益的特征值进行输的分割,直到达到结束条件或叶子节点纯度达到阈值。决策树作为分类模型,可以视为一系列关于数据的是或否问题,从而最终得出一个预测类别或回归情况下的连续值。随机森林是由许多决策树组成的模型。这个模型不是简单地平均所有树的预测,而是使用了两个关键概念,正如其名字中的随机二字,在构建决策树时对训练数据进行随机抽样,在分割节点时考虑特征的随机子集。在训练时,随机森林中的每棵决策树都会采用自助抽样法(Bootstrapping)从样本集中获得随机样本并学习。采用自助抽样法抽取样本时,被抽到的样本会再次被放回到样本集中进行抽样,这意味着一些样本将在一棵树中被多次使用。随机森林中的另一个主要概念是,只考虑所有特征的一个子集来拆分每个决策树中的每个节点。随机森林将成百上千棵决策树组合在一起,在略微不同的观察集上训练每个决策树,在每棵树中仅考虑有限数量的特征来拆分节点。这样能使随机森林中的决策树能不同,提升系统的多样性,从而提升分类性能。
根据以上分析可见,利用集成学习构建分类模型,对大数据的分类具有很好的效果。因此在本申请实施例中,进一步可以基于集成学习算法,利用短信息的历史数据作为训练样本来训练异常判定模型,会获得更好的判断效果和控制效果。由于集成学习的训练效率很高,在实际应用中,还可以根据新的短信息历史数据,对异常判定模型进行优化训练。
下面详细介绍一下本申请实施例中的异常判定模型的训练。
一、训练样本
训练异常判定模型的样本数据,是从短信息历史数据中提取的,短信息的历史发送记录可以是日志的方式记录而成的,短信息历史数据根据发送方提交到的短信息平台提交的短信息请求获取的。
每个样本数据中,包括设定时间段内历史数据在不同维度的特征数据,不同维度的特征数据例如:验证码短信息的数据、请求量、请求成功量、回执量、回执成功量或者重复相关信息等特征数据,这些特征的类型是根据短信息业务特性来选择的。而采样一个样本数据的时间段,也是根据业务特性来确定的,并且该时间段和实际应用中采样待判定数据的时间段一致,例如1小时、半小时,或者10分钟,甚至1分钟等。本申请中,根据设定的时间段从短信息发送日志中获取历史数据并存储,同步的,可以根据获取的历史数据是否异常,对历史数据进行标注,标注为正样本数据或者负样本数据,本申请实施例中提供了专门的标注页面用于人工标注,标注后的样本数据可以存储历史数据中,也可以存储到专门的样本池中,用于异常判定模型的训练,以及实际应用中对待判定数据的预处理。
如果存在异常数据倾斜的情况,也就是标注为异常的样本数据比较少,数量级达不到训练要求,则进一步可以通过上采样来扩充异常的负样本数据。对于样本数据中的各个特征的特征数据的数据量级不一致的情况,也可以采用取对数(Log)方法使各个特征数据的量级在大致相同范围内,避免数量级较小的特征被淹没掉。
二、异常判定模型的训练
训练之前,可以从历史数据或者样本池中获得样本集,样本集中包括的样本数据数量,以及正样本数据和负样本数据的配比是根据模型训练的要求确定的。
如果是单学习器构成的异常判定模型,在训练过程中将样本数据输入模型,并根据对应的损失调整模型参数,直至达到训练要求。
如果是基于集成学习算法原理,利用多个学习器构成的异常判定模型,在训练过程中,可以根据不同算法的训练流程,分别训练各个学习器。下面以随机森林为例进行详细说明。
在进行随机森林训练之前,要为随机森林中每个决策树生成样本数据的训练子集。首先,从样本池中,抽取随机森林的训练样本集,设定训练集大小为N,每个样本数据的特征为M,当随机森林中包括K棵决策树时,根据训练样本集分别对于每棵决策树生成训练子集,其中任一个训练子集的生成遵循两个原则:第一,随机且有放回地从样本池中抽取N个训练样本,重复K次;第二,在抽取每个训练样本时,根据指定的常数m,m<<M,随机地从要抽取的样本数据的M个特征中选取m个特征。
准备好每个决策树的训练子集后,分别利用一个训练子集训练一个决策树,在训练过程中采用网格搜索技术对决策树的参数进行调优。
已训练的异常判定模型可以进行沙箱验证,还可以定期进行优化训练。验证用的样本数据,也是从历史数据中获得的。
三、异常判定模型的应用
已训练的异常判定模型,用于判断的短信息的业务数据是否异常,根据设定的目标时间段从短信息发送日志中获取待判定数据,将获取的待判定数据输入异常判定模型,获得异常判定模型输出的判定结果。
考虑到各业务的数据状况不一致,例如金融业务和社交业务在短信息下发上存在很大不同,为应对不同业务建数据差异,在输入异常判定模型之前,还可以对提取的待判定数据进行预处理。
综上,在本申请实施例提供的短信息发送控制技术中,从历史短信息的发送日志中获取训练样本训练异常判定模型,然后使用已训练的异常判定模型对发送短信息的待判定数据进行异常判定,相比使用短期数据判定的技术方案,极大地提高了异常判定的准确度。
在介绍完本申请实施例的设计思想之后,下面对本申请设置的应用场景进行简要说明。需要说明的是,以下场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
如图2所示,为本申请实施例提供的一种短信息的发送控制的应用场景示意图。服务器20为客户侧设备,通过网络与短信息平台21连接,并通过短信息平台与不同的用户终端设备22之间交互短信息。
网络可以是但不限于局域网、城域网或广域网等。
用户终端设备22用于接收短信息,可以是个人电脑(Personal Computer,PC)、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)、笔记本和手机等终端设备,也可以是具有移动终端设备的计算机,包括各种便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们能够向用户提供语音、数据或语音和数据连通性的设备,以及与无线接入网交换语音、数据或语音和数据。
服务器20向短信息平台21提交短信息发送请求,通过短信息平台21向用户终端设备22下发短信息,短信息平台也可以接收用户终端提交的短信息发送请求,转发给短信息接收方。服务器20和短信息平台21可以是独立的,也可以是任何能够提供互联网服务的单个后台运行设备或者多个后台运行设备构成的集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的设备。
服务器20和用户终端设备22之间,通过短信息平台21交互短信息。服务器20向用户终端设备22下发短信息,下发的短信息可以是客户在有需求时,推送给用户终端设备22的,比如客户生产了某种产品,需要进行产品推送时,则会主动通过短信息平台21向用户终端设备22推送短信息;也可以是在接收到用户终端设备22的请求后,通过短信息平台21向用户终端设备22发送短信息,比如在进行某业务注册,或登录某些软件时,需要通过短信息进行验证,此时在用户终端设备22内输入手机号码,并提交到服务器20,服务器20接收到请求后,通过短信息平台21向用户终端设备22下发包含有验证信息的短信息,以便进行业务注册,或软件登录。
需要说明的是,图2所示应用架构,可以基于云技术实现,短信息平台21可以作为云处理平台,应用于云短信息产品中,应对短信息大数据量的处理需求。在短信息接口被刷时主动限制客户下发频率限制,同时通知客户侧接口被刷。
在基于云技术实现时,短信息平台21可以通过云计算和云存储的方式对短信息数据进行处理。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
在一种可能的实现方式中,通过云存储的方式对各个短信息发送方的发送请求生成的发送日志进行存储,当确定需要对短信息发送方发送的短信息进行判定时,从云存储对应的存储系统中获取待判定数据,并对待判定数据进行判定,对待判定数据进行判定的过程时可以通过随机森林算法进行,此时通过云计算的方式将计算任务分布在大量资源池中,减少计算压力,同时可以获取判定结果。
在一种可能的应用场景中,为了便于降低通信时延,可以在各个地区部署服务器20,或者为了负载均衡,可以由不同的服务器20分别去服务各个终端设备22对应的地区。多个服务器20还可以通过区块链实现数据的共享,多个服务器20相当于多个服务器20构成的数据共享系统。例如终端设备22位于地点a,与服务器20之间进行通信连接,终端设备22位于地点b,与其他服务器20之间通信连接。
对于数据共享系统中的每个服务器20,均具有与该服务器20对应的节点标识,数据共享系统中的每个服务器20均可以存储有数据共享系统中其他服务器20的节点标识,以便后续根据其他服务器20的节点标识,将生成的区块广播至数据共享系统中的其他服务器20。每个服务器20中可维护一个如下表所示的节点标识列表,将服务器20名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1
后台服务器名称 | 节点标识 |
节点1 | 119.115.151.174 |
节点2 | 118.116.189.145 |
… | … |
节点N | 119.124.789.258 |
基于上述论述的场景,本申请实施例中,一种短信息平台21的构成示例如图3所示,短信息平台21中主要包括:短信息逻辑进程210,消息中间件211,特征提取模块212,缓存模块213,存储模块214,标注模块215,模型训练模块216,预测模块217,及控制模块218;其中:
短信息逻辑进程210,用于接收服务器提交的短信息发送请求,并根据短信息发送请求,发送短信息,短信息发送请求中包括要发送的短信息内容以及短信息的接收方等内容;在接收到短信息发送方提交的短信息发送请求后,生成短信息发送日志,发送日志用于记录短信息发送方在各个时间点发送的短信息。
在本申请中,短信息逻辑进程210可以根据需要设置有多个,分别用于处理不同客户侧服务器提交的短信息发送请求。
消息中间件211,用于获得并存储短信息逻辑进程210生成的发送日志。
因为短信息发送方每天、每小时甚至每分钟都会发送大量的短信息,且对每个短信息都要记录并生成发送日志;因此需要一个可以存储大量发送日志的容器,而消息中间件211属于可以存储上亿发送日志的容器,故采用消息中间件211来存储短信息发送方的发送日志。
在本申请中,短信息逻辑进程210在生成发送日志后,主动将发送日志上报给消息中间件211,以使生成的发送日志存在消息中间件211中。
短信息逻辑进程210在将发送日志上报到消息中间件211时,可以是短信息逻辑进程210每接收到短信息发送方提交的一条短信息发送请求后,就生成一条发送日志,并将该条发送日志上报给消息中间件211;消息中间件211接收到短信息逻辑进程210上报的发送日志后,对自身中存储的与短信息发送方对应的发送日志进行更新;或
还可以是短信息逻辑进程210每接收到短信息发送方提交的一条短信息发送请求后,生成一条发送日志,当达到预设时间或接收到的短信息发送请求量达到预设数量后,将生成的所有发送日志上报给消息中间件211;消息中间件211接收到短信息逻辑进程210上报的发送日志后,对自身中存储的与短信息发送方对应的发送日志进行更新。
需要说明的是,本申请的消息中间件211可以采用TD Bank,TD Bank是大数据实时接入平台,主要负责实时采集根据短信息发送请求生成的发送日志,并存储采集到的发送日志,且TD Bank中可以存储有上亿发送日志,还负责分发以及配置管理等工作,对外提供多样的数据接入方式,以及高效实时的分发数据。
需要说明的是,本申请还可以删除消息中间件中存储的发送日志,例如按照存储时间的长短进行删除,将存储时间最长的发送日志删除,以节约存储空间。
特征提取模块212,用于根据设定的目标特征,从消息中间件211中存储的发送日志中提取短信息的历史数据,每个历史数据是以设定时间段为长度来提取的,这个设定时间段可以根据业务特性设定,例如1小时。每次提取的历史数据中,包括根据业务特征设定的不同维度的目标特征的数据,提取相邻两个历史数据之间的时间间隔,也可以根据业务特性灵活设置,例如每隔1分钟提取一次,每次提取之前1小时内短信息的历史数据。
特征提取模块212还可以用于根据设定的目标特征,从消息中间件211中存储的发送日志中提取短信息的待判定数据,待判定数据是以目标时间段为长度来提取的,目标时间段可以根据业务特性设定。
在本申请中,特征提取模块212在获取数据时,先采用流计算方式从消息中间件211中获取设定时间段和/或目标时间段的发送日志,在根据设定的目标特征,从发送日志中获取历史数据和/或待判定数据。
在本申请中,流计算方式采用Spark计算框架实现。由Spark计算框架中的SparkStreaming从消息中间件211中读取发送日志;然后将读取到的发送日志转换成Data Frame数据结构的数据,之后将进行Data Frame数据转换后的数据通过Spark SQL进行处理,根据预设的目标特征获得历史数据。
其中,设定的目标特征包括多个不同类型的特征,例如:验证码短信息的数据,请求量、请求成功量、回执量、回执成功量、重复相关信息。其中:验证码短信息的数据为验证码类短信息的流水数据;请求量是短信息发送方成功提交到短信息平台的短信息数量;请求成功量是短信息平台对短信息发送方成功提交的短信息进行合法性检查,检查通过的短信息数量;回执量是接收到运营商根据提交的短信息异步返回的回执状态的短信息数量;回执成功量是回执中状态错误码为成功的短信息的数量;
重复相关信息包括但不限于下列的部分或全部:
重复度,在某段时间总请求量为M,根据手机号去重后请求量为N,则重复为M/N;
重复分布,下发一次,下发两次,下发三次,下发N次的情况;
重复区间分布,下发次数1次到3次,下发次数3次到6次,下发次数7次到8次;或下发次数大于3次,下发次数大于4次,下发次数大于5次,下发次数大于6次,下发次数大于7次,下发次数大于8次。
在一种可能的实现方式中,特征提取模块212可以实时的从消息中间件211存储的发送日志中获取数据,也可以根据设定的时间间隔,例如1分钟,从消息中间件211存储的发送日志中获取数据。
缓存模块213,用于缓存特征提取模块212提取的短信息的历史数据,并将缓存的数据保存到存储模块214中;和/或用于缓存特征提取模块212提取的短信息的待判定数据,并将缓存的待判定数据保存到存储模块214中。
缓存在大数据作业中是必须的,大数据业务中涉及的业务量和业务数据都很多,特征提取模块212将提取的数据可以同步缓存到缓存模块213中,以提高作业效率。
需要说明的是,本申请中缓存模块可以采用Redis缓存的方式,Redis是一款内存高速缓存数据库,具有可持久化,分布式等特点。
在本申请中,特征提取模块212会将获取的历史数据和/或待判定数据写入缓存模块213中,再由缓存模块213将数据写入存储模块214中,采用缓存的方式可以提高作业效率。
存储模块214,用于从缓存模块213中获得缓存数据并保存。
存储模块214中存储有待判定数据和/或历史数据,其中待判定数据可以为实时数据,也可以为历史数据的一部分。
在本申请中,存储模块214中存储的历史数据可以是缓存模块213实时写入的历史数据;也可以是根据在线实时判断模式下的待判定数据确定的历史数据,例如缓存模块213每获取待判定数据,将待判定数据写入存储模块214中,此时存储模块214按照时间顺序存储有多个时间对应的待判定数据,此时将缓存模块213当前写入的待判定数据作为用于异常判定时使用的待判定数据,缓存模块213之前写入的待判定数据作为历史数据。
标注模块215,用于从存储模块214获取历史数据,展示历史数据,并接收对历史数据是否异常的标注,然后将标注后的历史数据再次保存到存储模块214。
在本申请中,标注模块215从存储模块214中获取历史数据,并将获取的历史数据展示在数据标注页面上,由人工对数据标注页面上显示的数据进行标注,可以标注异常数据和正常数据,或者也可以只标注异常数据,将剩余未标注数据全部默认为正常数据,同时还可以对已经标注的数据进行修改,例如将标注为异常的数据修改为正常数据。
如图4所示,为本申请实施例提供的一种数据标注页面示意图,从数据标注页面示意图中可知,数据标注页面中显示了短信息发送方的历史数据。
以短信息发送方(1400111160)为例,在当前显示页面中显示了短信息发送方的历史数据,如在2018年11月25日至2018年12月23日的短信息请求量、请求成功量等数据。人为的从当前显示界面中选择某一天某一时刻的短信息数据,还可以进行全选,或全不选的操作;若当前显示界面中显示的历史数据不能满足,还可以点击下一页,获取2018年12月23日以后的历史数据,并显示在显示页面中;为了简化操作还可以进行自主搜索,搜索需要的历史时间对应的历史数据。在选择历史数据对选择的历史数据进行标注。
因此可以人工的对显示界面中显示的历史数据进行标注,或者对标注进行修改。
在本申请中,标注模块215会将标注后的历史数据返回给存储模块214,存储模块214对带有标注的历史数据进行存储,因此本申请存储模块214中还存储有带有标注的历史数据。
在本申请中,存储模块214中存储的带有标注的历史数据作为模型训练时的样本数据,因此每个样本数据同历史数据一样,包括至少两个目标特征的数据。
模型训练模块216,用于从存储模块214存储的历史数据中获取样本数据,并基于样本数据训练异常判定模型,每个样本数据中包括至少两个目标特征的数据。
在本申请中,模型训练模块216可以由数据获取模块2161、预处理模块2162及训练模块2163组成;数据获取模块2161用于获取样本数据,以及位于样本数据时间点之前的数据作为参考数据;预处理模块2162用于根据目标参考数据中的目标特征的数据,估计各个目标特征的数据的变化参数,根据变化参数对样本数据进行预处理,其中变化参数包括有均值、方差等,预处理包括有归一化处理、标准化处理;训练模块2163用于基于预处理后的数据进行异常模型训练。
需要说明的是,预处理模块2162中对数据进行预处理时,可以采用Sklearn进行预处理,例如进行标准化处理或归一化处理等以提高数据性能,比如业务数据状况不一致,针对各个特征量级不一致情况,金融业务和社交业务在短信息下发上存在很大不同,为应对不同业务建数据差异,采用取Log方法进行归一化处理,使各数据在大致相同范围内。
训练模块2163,用于根据预先设置的多种集成学习算法及各个集成学习算法对应的超参数进行模型训练,并采用网格搜索技术进行参数调整,采用混淆矩阵观察训练模型准确率的方式确定出异常训练模型。
以集成学习算法包括随机森林算法,对异常判定模型的训练过程进行举例说明:
在本申请中,异常判定模型中包括有分类器和判决器,当异常判定模型的集成学习算法包括随机森林时,异常判定模型中的分类器为决策树,判决器为表决器;异常判定模型的训练过程主要包括预训练和验证两个阶段。
预训练阶段:
在样本数据集中选择多组用于对随机森林的算法结构进行训练的样本数据;以及在针对随机森林预先设置的超参数中,选择一个数值,根据选择的数据确定随机森林中决策树的数量,其中超参数包括多个数值或数值区间,选择样本数据的组数与决策树的数量相同。
在本申请中,采用一组样本数据训练一个决策树,样本数据中包含有多个特征数据,如请求量,回执量,重复度等。此时在根据样本数据训练决策树时,此时将特征数据类型作为决策树的节点,根据请求量的数量,回执量的数量,重复度及样本数据的标注进行预训练,得到决策树。采用相同的方式训练与选择的超参数数量相同的决策树,将训练得到的全部决策树组成预训练的随机森林,形成预训练异常判定模型。
验证阶段:
在对异常判定模型中的随机森林进行预训练,形成预训练异常判定模型后,需要对预训练异常判定模型进行验证。
验证过程首先需要获取验证数据,在本申请中,从样本数据集中,选择除训练过程中选择的样本数据外的其他样本数据,作为验证数据。将验证数据输入到预训练异常判定模型中,获取验证结果。
在本申请中,在根据超参数确定一个预训练异常判定模型,并对预训练异常判定模型进行验证后,采用网格搜索技术调整超参数,即从预先设置的超参数中再次选择一个数值,并执行上述预训练和验证的过程,并获得预训练异常判定模型的验证结果。
重复多次,直至设置的所有集成学习算及各个集成学习算对应的所有超参数均进行预训练及验证后,将验证结果进行对比,选择验证结果最优的预训练异常判定模型,作为已训练的异常判定模型。
如图5A所示,为本申请实施例提供的一种多种异常判定模型训练结果示意图,展现出模型在预训练阶段和验证阶段的结果,并采用F1 Score(F1分数)表示该结果。
F1 Score(F1分数),是用来衡量模型精确度的一种指标,兼顾了模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种调和平均,它的最大值是1,最小值是0,因此从图5A中可以看出随机森林的训练结果最好。
如图5B所示,为本申请实施例提供的一种多种异常判定模型训练效果示意图,采用了混淆矩阵的方式对多个模型的准确率进行观察,分别对各一场训练模型在预训练阶段和验证阶段的准确率进行观察。
混淆矩阵是数据科学、数据分析和机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型作出的分类判断两个标准进行汇总。
混淆矩阵中给出真实类和预测类,真实类是根据带有标注的样本数据确定的,预测类是根据异常判定模型进行预测的;在本申请给出的混淆矩阵中第一行之和表示异常数据的真实样本数量,及第二行之和表示正常数据的真实样本数量;第一列之和表示被预测为异常数据的样本数量,及第二列之和表示被预测为正常数据的样本数量,因此从混淆矩阵中可以直观的观察到被误判的数据,根据误判数据进行准确性对比可以观察到随机森林的准确性较好。
通过对各个异常判定模型的效果进行对比,可知随机森林对于数据拟合较好,因此本申请中优选随机森林作为异常判定模型。
预测模块217,用于从存储模块214中获取待判定数据,利用已训练的异常判定模型获得待判定数据是否异常的判定结果。
预测模块217可以由获取模块2171、预处理模块2172和判定模块2173三个模块组成;
其中,获取模块2171用于从存储模块214中存储的数据中获取待判定数据;预处理模块2172用于对获取的待判定数据进行预处理;判定模块2173基于异常判定模型获得待判定数据是否异常的判定结果。
获取模块2171除获取待判定数据外,还可能获取待判定数据对应的目标时间段之前的参考数据集,参考数据集是从历史数据中获取的。
预处理模块2172对获取的待判定数据进行预处理时,获得目标时间段之前的参考数据集,参考数据集包括多个正样本数据;根据各个参考数据中的目标特征的数据,估计各个目标特征的数据变化参数;根据各个目标特征的数据变化参数对待判定数据进行预处理,预处理包括标准化处理和归一化处理中的至少一种。
其中,预处理模块2172可以从获取模块2171中获取待判定数据和参考数据集,也可以从存储模块214中获取。
判定模块2173中包括有异常判定模型,异常判定模型是基于集成学习算法训练得到的,异常判定模型包括多个分类器和判决器;
判定模块2173基于异常判定模型获得待判定数据是否异常的判定结果时,将待判定数据输入已训练的异常判定模型,异常判定模型中的每个分类器分别根据待判定数据进行判定并输出分类结果,分类结果用于指示待判定数据数据正常和数据异常;分类结果输入异常判定模型的判决器中,判决器根据各个分类器输出的分类结果获得判定结果。
在本申请中,集成学习算法包括随机森林算法,其中,分类器为决策树,判决器为表决器;
因此,判定模块2173基于异常判定模型获得待判定数据是否异常的判定结果时,将待判定数据输入已训练的异常判定模型,异常判定模型中的每个决策树分别根据待判定数据中包括至少两个目标特征的数据进行判定并输出分类结果,分类结果用于指示待判定数据数据正常和数据异常;分类结果输入异常判定模型的表决器中,表决器根据各个决策树输出的分类结果,将占比大的分类结果输出为判定结果。
需要说明的是,本申请中通过预测模块217判定短信息发送方是否存在短信息被刷情况时,可以周期进行判定,也可以实时进行判定;周期进行判定时,可以一周判定一次、一天判定一次、一小时判定一次、甚至1分钟判定一次,根据实际需要设置周期长短。
在本申请中,当预测模块217的判定模块2173输出判定结果后,将判定结果输入到控制模块218,由控制模块218根据判定结果执行控制策略。
控制模块218,用于根据预测模块217的判定结果对短信息发送方执行相应的控制策略。
在接收到预测模块217发送的异常判定结果后,确定异常判定结果是否指示待判定数据异常;
若判定结果指示待判定数据异常,确定短信息发送方存在短信息被刷的情况,则判断短信息发送方是否为目标短信息发送方,其中目标短信息发送方指的是大客户,大客户为短信息发送量大于预设值,是根据短信息发送方在短信息平台进行注册时,携带的信息确定的;
在确定短信息发送方为目标短信息发送方,则向短信息发送方发送告警信息,如图6所示,为短信息发送方接收到告警信息的示意图;否则确定短信息发送方为长尾客户,长尾客户为普通客户,业务量较小,进一步限制短信息发送方的短信息下发频率,并向短信息发送方发送提示限制下发频率的信息,如图7所示,为短信息发送方接收到提示限制下发频率信息的示意图。
从下发的告警信息及提示信息中可知,在告警信息及提示信息中携带有联系方式,若短信息发送方确认待判定数据的判定结果不准确,则可以根据提供的联系方式,联系短信息平台进行修改。比如在限制了短信息的下发频率后,向短信息的发送方发送已限制了短信息的下发频率的提示信息,在短信息的发送方根据接收到的提示信息确定短信息的下发频率被限制后,自身确定当前不需要限制短信息的下发频率时,根据提示信息中携带的联系方式联系短信息平台,对短信息的下发频率进行调整。更能满足短信息发送方的自身需求。
需要说明的是,若判定结果指示待判定数据正常,则忽略本次判定。
在本申请中,由于是通过短信息平台对短信息的发送数据进行异常判定,并根据判定结果对短信息发送方执行相应的控制策略,由于控制策略是根据以训练的异常判定模型输出的判定结果执行的,为了保证对短信息发送方准确执行相应控制策略,应保证异常判定模型的准确性,因此为了保证控制策略的准确性,应检验异常判定模型的准确性。故本申请采用沙箱验证的方式对异常判定模型的准确性进行检验。
本申请给出的短信息的发送控制技术,采用异常判定模型对待判定数据进行是否异常判定,由于异常判定模型是根据从历史数据中获取的样本进行训练的,基于历史数据训练的模型,可学习到较长时间段历史数据的分布特征,降低了短期数据波动造成的影响,因此在使用已训练的异常判定模型对待判定数据进行判定时,可以得到更加准确的判定结果,进一步根据判定结果对短信息发送方执行控制策略时,可以更加精准的进行控制,提高控制精度。
进一步,避免因短信息被刷导致损失而产生的坏账。还可以减少短信息发送方存在短信息被刷的发现时间,进而执行主动且有效的限制,避免人工介入,降低成本。
综上,如图8所示,本申请实施例提供一种短信息的发送控制方法的流程示意图,包括如下步骤:
步骤800,获取短信息在目标时间段内的待判定数据,待判定数据包括至少两个目标特征的数据。
在本申请中,待判定数据是从存储模块中获取的,存储模块存储的数据是通过流式计算的方式从短信息发送方的发送日志中获取的,发送日志是根据短信息的发送请求获得的。
步骤801,将待判定数据输入已训练的异常判定模型,获得已训练的异常判定模型输出的判定结果。
其中,判定结果用于指示待判定数据是否异常,异常判定模型是基于短信息的样本数据训练得到的,每个样本数据是从短信息的历史数据中获得的,每个样本数据包括少两个目标特征的数据,样本数据包括正样本数据和负样本数据。
在本申请中,样本数据是从存储模块中获取的,存储模块存储的数据是通过流式计算的方式从短信息发送方的发送日志中获取的,发送日志是根据短信息的发送请求获得的。
在一种可能的实现方式中,在将待判定数据输入已训练的异常判定模型之前,还可以对待判定数据进行预处理,将预处理后的待判定数据输入到已训练的异常判定模型中,如图9所示,为本申请实施例提供的一种短信息的发送控制方法的整体流程示意图。
步骤900,获取短信息在目标时间段内的待判定数据,待判定数据包括至少两个目标特征的数据。
步骤901,对待判定数据的进行预处理。
对待判定数据的预处理包括:获得目标时间段之前的参考数据集,参考数据集包括多个正样本数据;
根据各个参考数据中的目标特征的数据,估计各个目标特征的数据变化参数;
根据各个目标特征的数据变化参数对待判定数据进行预处理,预处理包括标准化处理和归一化处理中的至少一种。
在一种可能的实现方式中,异常判定模型基于集成学习算法训练得到的,异常判定模型包括多个分类器和判决器,将待判定数据输入已训练的异常判定模型,获得已训练的异常判定模型输出的判定结果,具体包括:
每个分类器分别根据待判定数据进行判定并输出分类结果,分类结果用于指示待判定数据数据正常和数据异常;
判决器根据各个分类器输出的分类结果获得判定结果。
在一种可能的实现方式中,集成学习算法包括随机森林算法,其中,分类器为决策树,判决器为表决器;
将待判定数据输入已训练的异常判定模型,获得已训练的异常判定模型输出的判定结果,具体包括:
每个决策树分别根据待判定数据中包括至少两个目标特征的数据进行判定并输出分类结果;
表决器根据各个决策树输出的分类结果,将占比大的分类结果输出为判定结果。
如图9所示,为本申请实施例提供的一种短信息的发送控制方法的整体流程示意图。
步骤902,将预处理的待判定数据输入异常判定模型的每个决策树,分别根据待判定数据中包括至少两个目标特征的数据进行判定并输出分类结果;
步骤903,将分类结果输入表决器中,表决器根据各个决策树输出的分类结果,将占比大的分类结果输出为判定结果。
步骤802,根据判定结果,对短信息发送方执行相应的控制策略。
在一种可能的实现方式中,根据判定结果,对短信息发送方执行相应的控制策略,包括:
若判定结果指示待判定数据异常,则判断短信息发送方是否为目标短信息发送方;
若确定短信息发送方为目标短信息发送方,则向短信息发送方发送告警信息,否则限制短信息发送方的短信息下发频率。
如图9所示:
步骤904,判断判定结果是否指示待判定数据异常,若异常则执行步骤905,否则执行步骤908;
步骤905,判断待判定数据对应的短信息发送方是否为目标短信息发送方,若是则执行步骤906,否则执行步骤907;
步骤906,向待判定数据对应的短信息发送方发送告警信息;
步骤907,限制待判定数据对应的短信息发送方的短信息下发频率;
步骤908,检查通过。
为了描述的方便,以上各部分按照功能划分为各单元(或模块)分别描述。当然,在实施本申请时可以把各单元(或模块)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的信息搜索的方法及装置后,接下来介绍本申请的另一示例性实施方式的信息搜索的计算设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一种可能的实现方式中,本申请实施例提供的信息搜索计算设备可以至少包括处理器和存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本申请中各种示例性实施方式的信息搜索方法中的任一步骤。
下面参照图10来描述根据本申请的这种实施方式的信息搜索计算设备1000。如图10的信息搜索计算设备1000仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,信息搜索计算设备1000的组件可以包括但不限于:上述至少一个处理器1001、上述至少一个存储器1002、连接不同系统组件(包括存储器1002和处理器1001)的总线1003。
总线1003表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器1002可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)10021和/或高速缓存存储器10022,还可以进一步包括只读存储器(ROM)10023。
存储器1002还可以包括具有一组(至少一个)程序模块10024的程序/实用工具10025,这样的程序模块10024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
信息搜索计算设备1000也可以与一个或多个外部设备1004(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与信息搜索计算设备1000交互的设备通信,和/或与使得该信息搜索计算设备1000能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1005进行。并且,信息搜索计算设备1000还可以通过网络适配器1006与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器1006通过总线1003与用于信息搜索计算设备1000的其它模块通信。应当理解,尽管图10中未示出,可以结合信息搜索计算设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的短信息的发送控制方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的短信息的发送控制方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的短信息的发送控制的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种短信息的发送控制方法,其特征在于,该方法包括:
获取短信息在目标时间段内的待判定数据,所述待判定数据包括至少两个目标特征的数据;
从历史数据中获取所述目标时间段之前的参考数据集,根据所述参考数据集的各参考数据中的目标特征的数据,估计各个目标特征的数据变化参数,并根据各个目标特征的数据变化参数对所述待判定数据进行预处理;
将预处理后的待判定数据输入已训练的异常判定模型,获得所述已训练的异常判定模型输出的判定结果,所述判定结果用于指示所述待判定数据是否异常,所述异常判定模型是基于短信息的样本数据训练得到的,每个样本数据包括所述至少两个目标特征的数据;
根据所述判定结果,对所述短信息发送方执行相应的控制策略。
2.如权利要求1所述的方法,其特征在于,所述样本数据包括正样本数据和负样本数据;所述参考数据集包括多个正样本数据;所述预处理包括标准化处理和归一化处理中的至少一个。
3.如权利要求1所述的方法,其特征在于,所述根据所述判定结果,对所述短信息发送方执行相应的控制策略,包括:
若所述判定结果指示所述待判定数据异常,则判断所述短信息发送方是否为目标短信息发送方;
若确定所述短信息发送方为目标短信息发送方,则向所述短信息发送方发送告警信息,否则限制所述短信息发送方的短信息下发频率。
4.如权利要求1所述的方法,其特征在于,每个样本数据和所述待判定数据,是从短信息发送日志中获取的,所述短信息发送日志是根据短信息的发送请求生成的。
5.如权利要求1~4任一项所述的方法,其特征在于,所述异常判定模型基于集成学习算法训练得到的,所述异常判定模型包括多个分类器和判决器,所述将所述待判定数据输入已训练的异常判定模型,获得所述已训练的异常判定模型输出的判定结果,具体包括:
每个分类器分别根据所述待判定数据进行判定并输出分类结果,所述分类结果用于指示所述待判定数据数据正常和数据异常;
所述判决器根据各个分类器输出的分类结果获得所述判定结果。
6.如权利要求5所述的方法,其特征在于,所述集成学习算法包括随机森林算法,其中,所述分类器为决策树,所述判决器为表决器;
所述将所述待判定数据输入已训练的异常判定模型,获得所述已训练的异常判定模型输出的判定结果,具体包括:
每个决策树分别根据所述待判定数据中包括至少两个目标特征的数据进行判定并输出分类结果;
所述表决器根据各个决策树输出的分类结果,将占比大的分类结果输出为判定结果。
7.一种短信息的发送控制装置,其特征在于,该装置包括:
获取模块,用于获取短信息在目标时间段内的待判定数据,所述待判定数据包括至少两个目标特征的数据;
预处理模块,用于从历史数据中获取所述目标时间段之前的参考数据集,根据所述参考数据集的各参考数据中的目标特征的数据,估计各个目标特征的数据变化参数,并根据各个目标特征的数据变化参数对所述待判定数据进行预处理;
判定模块,用于将预处理后的待判定数据输入已训练的异常判定模型,获得所述已训练的异常判定模型输出的判定结果,所述判定结果用于指示所述待判定数据是否异常,所述异常判定模型是基于短信息的样本数据训练得到的,每个样本数据包括所述少两个目标特征的数据;
控制模块,用于根据所述判定结果,对所述短信息发送方执行相应的控制策略。
8.如权利要求7所述的装置,其特征在于,所述参考数据集包括多个正样本数据;所述预处理包括标准化处理和归一化处理中的至少一个。
9.如权利要求7所述的装置,其特征在于,还包括:
消息中间件,用于获得并存储发送日志;
特征提取模块,用于根据设定的目标特征,从消息中间件中存储的发送日志中提取短信息的历史数据;
存储模块,用于保存短信息的历史数据;
标注模块,用于从所述存储模块获取历史数据,展示历史数据,并接收对历史数据是否异常的标注,并将标注后的历史数据保存到所述存储模块。
10.如权利要求9所述的装置,其特征在于,还包括:
缓存模块,用于缓存所述特征提取模块提取的短信息历史数据,并将缓存的数据保存到所述存储模块中。
11.如权利要求7~10任一项所述的装置,其特征在于,还包括:
模型训练模块,用于从存储模块存储的历史数据中获取样本数据,并训练所述异常判定模型。
12.如权利要求11所述的装置,其特征在于,所述异常判定模型基于集成学习算法训练得到的,所述异常判定模型包括多个分类器和判决器,所述将所述待判定数据输入已训练的异常判定模型,获得所述已训练的异常判定模型输出的判定结果,具体包括:
每个分类器分别根据所述待判定数据进行判定并输出分类结果,所述分类结果用于指示所述待判定数据数据正常和数据异常;
所述判决器根据各个分类器输出的分类结果获得所述判定结果。
13.如权利要求12所述的装置,其特征在于,所述集成学习算法包括随机森林算法,其中,所述分类器为决策树,所述判决器为表决器;
所述判定模块将所述待判定数据输入已训练的异常判定模型,获得所述已训练的异常判定模型输出的判定结果,具体包括:
每个决策树分别根据所述待判定数据中包括至少两个目标特征的数据进行判定并输出分类结果;
所述表决器根据各个决策树输出的分类结果,将占比大的分类结果输出为判定结果。
14.一种短信息的发送控制的设备,其特征在于,该设备包括:存储器和处理器,其中,存储器,用于存储计算机指令;处理器,用于执行计算机指令以实现如权利要求1~6任一所述的方法。
15.一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现如权利要求1~6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010254699.XA CN111461231B (zh) | 2020-04-02 | 2020-04-02 | 一种短信息的发送控制方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010254699.XA CN111461231B (zh) | 2020-04-02 | 2020-04-02 | 一种短信息的发送控制方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111461231A CN111461231A (zh) | 2020-07-28 |
CN111461231B true CN111461231B (zh) | 2023-06-30 |
Family
ID=71678472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010254699.XA Active CN111461231B (zh) | 2020-04-02 | 2020-04-02 | 一种短信息的发送控制方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111461231B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559736A (zh) * | 2020-10-21 | 2021-03-26 | 山东亦贝数据技术有限公司 | 一种随机消息智能分发系统及方法 |
CN114125734B (zh) * | 2021-11-29 | 2023-04-25 | 杭州天翼智慧城市科技有限公司 | 5g消息传输方法及系统 |
CN117793766A (zh) * | 2022-09-27 | 2024-03-29 | 华为技术有限公司 | 一种通信方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835220A (en) * | 1995-10-27 | 1998-11-10 | Nkk Corporation | Method and apparatus for detecting surface flaws |
JP2013160576A (ja) * | 2012-02-03 | 2013-08-19 | Seiko Epson Corp | 検量線作成方法およびその装置、並びに目的成分検量装置 |
CN103765463A (zh) * | 2011-03-16 | 2014-04-30 | 格里迪克斯公司 | 有效地处理大量复杂的小值的金融交易的方法和系统 |
CN104737152A (zh) * | 2012-06-01 | 2015-06-24 | 兰屈克有限公司 | 用于将信息从一个数据集转换到另一个数据集的系统和方法 |
CN109739844A (zh) * | 2018-12-26 | 2019-05-10 | 西安电子科技大学 | 基于衰减权重的数据分类方法 |
CN110110640A (zh) * | 2019-04-29 | 2019-08-09 | 公安部物证鉴定中心 | 一种定量计算指纹变形大小的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301896B (zh) * | 2014-10-15 | 2017-11-10 | 上海欣方智能系统有限公司 | 诈骗短信智能监控告警系统和方法 |
US20190166024A1 (en) * | 2017-11-24 | 2019-05-30 | Institute For Information Industry | Network anomaly analysis apparatus, method, and non-transitory computer readable storage medium thereof |
CN109241418B (zh) * | 2018-08-22 | 2024-04-09 | 中国平安人寿保险股份有限公司 | 基于随机森林的异常用户识别方法及装置、设备、介质 |
CN110072017A (zh) * | 2019-04-28 | 2019-07-30 | 济南大学 | 基于特征选择与集成学习的异常电话识别方法及系统 |
CN110267272A (zh) * | 2019-06-28 | 2019-09-20 | 国家计算机网络与信息安全管理中心 | 一种诈骗短信识别方法及识别系统 |
-
2020
- 2020-04-02 CN CN202010254699.XA patent/CN111461231B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835220A (en) * | 1995-10-27 | 1998-11-10 | Nkk Corporation | Method and apparatus for detecting surface flaws |
CN103765463A (zh) * | 2011-03-16 | 2014-04-30 | 格里迪克斯公司 | 有效地处理大量复杂的小值的金融交易的方法和系统 |
JP2013160576A (ja) * | 2012-02-03 | 2013-08-19 | Seiko Epson Corp | 検量線作成方法およびその装置、並びに目的成分検量装置 |
CN104737152A (zh) * | 2012-06-01 | 2015-06-24 | 兰屈克有限公司 | 用于将信息从一个数据集转换到另一个数据集的系统和方法 |
CN109739844A (zh) * | 2018-12-26 | 2019-05-10 | 西安电子科技大学 | 基于衰减权重的数据分类方法 |
CN110110640A (zh) * | 2019-04-29 | 2019-08-09 | 公安部物证鉴定中心 | 一种定量计算指纹变形大小的方法 |
Non-Patent Citations (3)
Title |
---|
Spam SMS Filtering using Recurrent Neural Network and Long Short Term Memory;Arijit Chandra 等;《2019 4th International Conference on Information Systems and Computer Networks (ISCON)》;118-122 * |
基于手机信令数据的大客流监控应用研究;胡忠顺 等;《电信技术》;21-25 * |
联合分布法在提高功率缺失数据补齐精度中的应用;苗矿伟 等;《风能产业》;56-61 * |
Also Published As
Publication number | Publication date |
---|---|
CN111461231A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111461231B (zh) | 一种短信息的发送控制方法、装置及存储介质 | |
US20220121906A1 (en) | Task-aware neural network architecture search | |
CN113011889B (zh) | 账号异常识别方法、系统、装置、设备及介质 | |
US10587709B1 (en) | Determining session intent | |
US10846434B1 (en) | Computer-implemented fraud detection | |
Alam et al. | CrisisDPS: Crisis Data Processing Services. | |
CN111898675B (zh) | 信贷风控模型生成方法、装置、评分卡生成方法、机器可读介质及设备 | |
US11645500B2 (en) | Method and system for enhancing training data and improving performance for neural network models | |
CN117112776A (zh) | 一种基于大语言模型的企业知识库管理和检索平台与方法 | |
CN114090601B (zh) | 一种数据筛选方法、装置、设备以及存储介质 | |
US20220215248A1 (en) | Method and system for machine learning using a derived machine learning blueprint | |
US11568344B2 (en) | Systems and methods for automated pattern detection in service tickets | |
US20240062017A1 (en) | Systems and methods for generating dynamic conversational responses based on historical and dynamically updated information | |
US11842351B2 (en) | Systems and methods for fraud monitoring | |
CN114398343A (zh) | 数据库异常键处理方法、装置、设备及介质 | |
US20220036133A1 (en) | Context aware anomaly detection | |
CN114049204A (zh) | 可疑交易数据录入方法、装置、计算机设备和计算机可读存储介质 | |
King et al. | Online learning for big data analytics | |
Meng et al. | Classification of customer service tickets in power system based on character and word level semantic understanding | |
RISQULLAH et al. | PRODUCT RECOMMENDATION SYSTEM DESIGN USING GRAPH DATABASE | |
Njuguna Ng’ang'a et al. | A Machine Learning Framework for Predicting Failures in Cloud Data Centers-A Case of Google Cluster-Azure Clouds and Alibaba Clouds | |
US11775905B1 (en) | Systems and methods for text-to-speech audio processing and audio transduction | |
CN116955560B (zh) | 基于思考链和知识图谱的数据处理方法及系统 | |
CN112307278B (zh) | 一种任意尺度的话题脉络实时生成方法及系统 | |
CN117391456B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |