一种操作用户识别方法、装置及设备
本申请涉及计算机数据处理技术领域,尤其涉及一种操作用户识别方法、装置及设备。
背景技术
随着物联网技术的发展,物联网终端的功能也变的越来越丰富。例如,用户可以使用终端设备进行交易、通讯和娱乐等活动,使得终端设备与用户的隐私、财产等信息关系紧密。为降低因终端设备被盗用而给用户造成的损失,针对终端设备的风险控制技术也在逐渐完善。目前,已有应用服务提供商基于业务经营经验及市场累计数据值,建立了操作用户识别模型,并提供给用户使用。但不同用户使用的操作用户识别模型是相同的,无法做到千人千面。
基于此,需要为每位用户提供个性化的针对终端设备的操作用户的识别方法。
发明内容
有鉴于此,本申请实施例提供了一种操作用户识别方法、装置及设备,用于解决需要为每位用户提供个性化的针对终端设备的操作用户识别方法的问题。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种操作用户识别方法,应用于目标终端设备,包括:
从服务器处获取初始操作用户识别模型,所述初始操作用户识别模型被所述服务器提供给包括所述目标终端设备在内的多个终端设备;
获取注册用户对所述目标终端设备的操作数据,得到第一操作数据集合;
根据所述第一操作数据集合,对所述初始操作用户识别模型进行更新,得到更新后的操作用户识别模型;
利用所述更新后的操作用户识别模型对所述目标终端设备的操作用户进行识别。
本说明书实施例提供的一种初始操作用户识别模型的建立方法,应用于服务器,包括:
获取训练样本集合,所述训练样本集合中的训练样本为用户对样本终端设备的操作数据,所述训练样本集合中的全部训练样本对应的样本终端设备的数量大于参考值;
对所述训练样本集合进行特征提取,得到训练样本特征集合;
根据所述训练样本特征集合,建立初始操作用户识别模型;
发送所述初始操作用户识别模型至目标终端设备,以便于所述目标终端设备利用所述初始操作用户识别模型进行操作用户识别。
本说明书实施例提供的一种操作用户识别装置,应用于目标终端设备,包括:
第一获取模块,用于从服务器处获取初始操作用户识别模型,所述初始操作用户识别模型被所述服务器提供给包括所述目标终端设备在内的多个终端设备;
第二获取模块,用户获取注册用户对所述目标终端设备的操作数据,得到第一操作数据集合;
更新模块,用于根据所述第一操作数据集合,对所述初始操作用户识别模型进行更新,得到更新后的操作用户识别模型;
识别模块,用于利用所述更新后的操作用户识别模型对所述目标终端设备的操作用户进行识别。
本说明书实施例提供的一种初始操作用户识别模型的建立装置,应用于服务器,包括:
获取模块,用于获取训练样本集合,所述训练样本集合中的训练样本为用户对样本终端设备的操作数据,所述训练样本集合中的全部训练样本对应的样本终端设备的数量大于参考值;
特征提取模块,用于对所述训练样本集合进行特征提取,得到训练样本特征集合;
模型建立模块,用于根据所述训练样本特征集合,建立初始操作用户识别模型;
发送模块,用于发送所述初始操作用户识别模型至目标终端设备,以便于所述目标终端设备利用所述初始操作用户识别模型进行操作用户识别。
本说明书实施例提供的一种操作用户识别设备,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
从服务器处获取初始操作用户识别模型,所述初始操作用户识别模型被所述服务器提供给包括所述操作用户识别设备在内的多个终端设备;
获取注册用户对所述操作用户识别设备的操作数据,得到第一操作数据集合;
根据所述第一操作数据集合,对所述初始操作用户识别模型进行更新,得到更新后的操作用户识别模型;
利用所述更新后的操作用户识别模型对所述操作用户识别设备的操作用户进行识别。
本说明书实施例提供的一种初始操作用户识别模型的建立设备,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取训练样本集合,所述训练样本集合中的训练样本为用户对样本终端设备的操作数据,所述训练样本集合中的全部训练样本对应的样本终端设备的数量大于参考值;
对所述训练样本集合进行特征提取,得到训练样本特征集合;
根据所述训练样本特征集合,建立初始操作用户识别模型;
发送所述初始操作用户识别模型至目标终端设备,以便于所述目标终端设备利用所述初始操作用户识别模型进行操作用户识别。
本说明书实施例提供的一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述的操作用户识别方法或初始操作用户识别模型的建立方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
目标终端设备利用注册用户对该目标终端设备的操作数据,对从服务器处获取的初始操作用户识别模型进行更新,并利用更新后的操作用户识别模型对该目标终端设备的操作用户进行识别。由于更新后的操作用户识别模型学习了该目标终端设备的注册用户的使用习惯,因此,该更新后的操作用户识别模型生成的识别结果的有效性及准确性较高,从而为用户提供了个性化的针对终端设备的操作用户识别方法。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的一种操作用户识别方法的流程示意图;
图2为本说明书实施例提供的一种初始操作用户识别模型的建立方法的流程示意图;
图3为本说明书实施例提供的对应于图1中方法的一种操作用户识别装置的结构示意图;
图4为本说明书实施例提供的对应于图2中方法的一种初始操作用户识别模型的建立装置的结构示意图;
图5为本说明书实施例提供的一种操作用户识别设备的结构示意图;
图6为本说明书实施例提供的一种初始操作用户识别模型的建立设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
在描述本发明之前,首先就本发明涉及的概念做简要说明。
物联网(Internet of Things)是指基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的的普通物理对象实现互联互通的网络。而物联网终端是指物联网中连接传感网络层和传输网络层,实现采集数据及向网络层发送数据的设备。用户使用的手机、电脑等设备均可以作为物联网终端使用。目前,物联网这张有史以来最大的“网”正在悄然地改变着人们的生活方式。人们更加喜欢从手机、电脑等物联网终端设备上搭载的应用程序处获取服务,例如,浏览新闻、网上购物、转账等。由于部分应用程序提供的服务与用户的财产关联紧密,若用户的终端设备丢失,则该终端设备上处于登录状态的应用账户可能会被非法分子盗用,这给用户的财产带来了较大的安全风险,也为针对终端设备的操作用户识别技术的发展带来了契机。
发明人经研究发现,目前,针对终端设备的操作用户识别方法主要有两种,一种是:增加用户身份验证步骤,在用户身份验证通过后,再响应用户服务请求。例如,用户在使用终端设备上的应用程序付款时,需在对用户的人脸识别验证通过后,再对用户的应用账户扣款。这种操作用户识别方法需用户配合操作、步骤繁琐,影响用户体验。另一种是:通过操作用户识别模型对用户使用终端设备时产生的操作数据进行分析,以识别对终端设备进行操作的用户。由于搭建操作用户识别模型需使用大量的训练数据对算法模型进行训练,因此,通常由服务提供商搭建一个通用的操作用户识别模型,并提供给各个用户使用。且出于安全性考虑,通常不允许用户对其终端设备上的操作用户识别模型的参数进行修改。因此,不同用户的终端设备上使用的操作用户识别模型是相同的,无法做到千人千面。在实际应用中,由于不同用户对终端设备的使用习惯是千差万别的,因此,这种传统的操作用户识别模型无法适用于全部用户,导致操作用户识别模型的使用效果较差。
因此,急需一种适用性好且有效性好的针对各个用户的终端设备的操作用户识别方法。
图1为本说明书实施例提供的一种操作用户识别方法,应用于目标终端设备。从程序角度而言,该方法的执行主体可以为搭载于用户的终端设备(即目标终端设备)中的程序。在实际应用中,由于物联网的边缘设备可以对物联网终端设备(即用户的终端设备)生成的大量数据进行获取及边缘计算(Edge Computing),以产生更快的网络服务响应,因此,在实际应用中,该方法的执行主体还可以为与用户的终端设备所对应的边缘设备中的程序。该边缘设备既可以采用实体设备实现,也可以采用虚拟设备实现。例如,当边缘设备为虚拟设备时,可以采用容器((Docker)技术,将边缘设备以容器形式部署于用户的终端设备中。
如图1所示,该方法可以包括以下步骤:
步骤101:从服务器处获取初始操作用户识别模型,所述初始操作用户识别模型被所述服务器提供给包括所述目标终端设备在内的多个终端设备。
在本说明书一个或多个实施例中,由于搭建初始操作用户识别模型需使用大量的训练数据对算法模型进行训练,而单个用户的终端设备上的用户操作数据通常不能满足生成初始操作用户识别模型的需要,因此,可以在服务器中搭建初始操作用户识别模型,并提供搭建的初始操作用户识别模型给各个用户的终端设备使用,即不同的终端设备从服务器处获取的初始操作用户识别模型是相同的。
在本说明书一个或多个实施例中,所述服务器可以为目标终端设备上搭载的指定应用程序的服务端,也可以是目标终端设备上的操作系统的服务端。所述初始操作用户识别模型是服务器根据训练样本集合,采用用于处理序列数据的算法搭建的模型,所述初始操作用户识别模型可以用于识别对终端设备执行操作的用户。
其中,所述训练样本集合中包括正样本及负样本,所述正样本可以是记录用户对登录有该用户个人已注册账户的终端设备执行的操作的操作数据;所述负样本可以是记录用户对登录有他人已注册账户的终端设备执行的操作的操作数据。任意一个正样本或者负样本中通常含有多条操作数据,由于各个操作数据之间通常具有一定的关联性,因此,任意一个正样本或者负样本中的操作数据可以按对应的操作的发生时间由先至后的顺序排列。
在本说明书一个或多个实施例中,由于正样本及负样本均为序列数据,因此,采用用于处理序列数据的算法搭建初始操作用户识别模型,以提高搭建的初始操作用户识别模型的适用性及准确性。所述用于处理序列数据的算法包括但不限于:循环神经网络、长短期记忆网络、门控循环单元或卷积神经网络。
步骤102:获取注册用户对所述目标终端设备的操作数据,得到第一操作数据集合。
在本说明书一个或多个实施例中,所述目标终端设备上登录有该注册用户的已注册账户。第一操作数据集合中的各个操作数据均是在目标终端设备上登录有该注册用户的同一个已注册账户的情况下生成的。所述注册用户的已注册账户可以是该注册用户在目标终端设备的操作系统处的已注册账户,也可以是该注册用户在该目标终端设备中搭载的指定应用程序处的已注册账户。所述目标终端设备可以包括但不限于手机、计算机及可穿戴设备。
具体的,所述第一操作数据集合中的操作数据是用于记录注册用户对目标终端设备及其搭载的指定应用程序执行的各种操作而生成的数据,所述第一操作数据集合中的操作数据可用于描述注册用户在什么时间、什么地点、以何种交互方式对目标终端设备及其搭载的指定应用程序完成了何种内容的操作。所述第一操作数据集合中的操作数据可以包括:登录数据、功能设置数据、通讯数据、浏览数据、交易数据及身份验证数据中的至少一种。
其中,一条第一操作数据集合中的操作数据具体可以包括:目标终端设备标识、目标终端设备的位置信息、注册用户的已注册账户标识、注册用户触发的操作的标识及操作发生时间等信息。例如,所述第一操作数据集合中的一条操作数据可以为{电脑型号aaa,支付应用程序处的已注册账户标识bbb,话费充值,100元,2019-6-1-14:30},该操作数据意为注册用户在19年6月1日的14时30分,使用型号为aaa的电脑上处于登录状态的支付应用程序处的个人已注册账户bbb执行了充值100元话费的操作。或者,所述第一操作数据集合中的一条操作数据可以为{手机型号aaa,b市c区,操作系统处的已注册账户标识ddd,指纹解锁,2019-6-1-18:00},该操作数据意为注册用户在19年6月1日18时,于b市c区对登录有操作系统处的个人已注册账户ddd的型号为aaa的手机进行了指纹解锁。
在实际应用中,可以从目标终端设备运行过程中生成的日志信息中,提取所述第一操作数据集合。所述日志信息既可以包括目标终端设备上的操作系统的运行日志信息,也可以包括目标终端设备中搭载的指定应用程序的运行日志信息。所述目标终端设备运行过程中生成的日志信息中具体可以包括:登录请求数据、远程调用请求数据、交易数据、传感器数据、功能参数修改数据等。
步骤103:根据所述第一操作数据集合,对所述初始操作用户识别模型进行更新,得到更新后的操作用户识别模型。
在本说明书一个或多个实施例中,由于第一操作数据集合中的操作数据均是记录注册用户对该目标终端设备执行的操作的数据,因此,可以采用第一操作数据集合中的操作数据作为输入,以表示注册用户的标签作为输出,对初始操作用户识别模型进行训练,从而得到更新后的操作用户识别模型。
由于第一操作数据集合中的各个操作数据是基于注册用户对目标终端设备执行的各个操作而生成的,而往往注册用户执行的各个操作之间具有一定的关联性,例如,注册用户需先执行对指定应用程序的登录操作,才能执行对指定应用程序支持的各个功能的触发操作,或者,注册用户需先执行支付操作,才能执行对应的取消支付操作。因此,可以对第一操作数据集合中的各个操作数据按各个操作数据对应的操作的发生时间由先至后的顺序进行排序,并按照排列好的顺序,对初始操作用户识别模型进行训练,得到更新后的操作用户识别模型。
步骤104:利用所述更新后的操作用户识别模型对所述目标终端设备的操作用户进行识别。
在本说明书一个或多个实施例中,可以将目标终端设备响应于当前用户执行的操作而生成的操作数据作为更新后的操作用户识别模型的输入,将更新后的操作用户识别模型的输出作为操作用户识别结果。该操作用户识别结果可以表示当前用户与注册用户为同一用户,与可以表示当前用户与注册用户为不同用户,从而实现对目标终端设备的操作用户的识别。
在本说明书一个或多个实施例中,由于更新后的操作用户识别模型学习了注册用户对目标终端设备及其搭载的指定应用程序的操作习惯,因此,使用该更新后的操作用户识别模型对目标终端设备的操作用户进行识别,得到的识别结果的准确性及有效性较高。
基于图1中的方法,本说明书实施例还提供了该方法的一些具体实施方式,下面进行说明。
在本说明书一个或多个实施例中,步骤104:利用所述更新后的操作用户识别模型对所述目标终端设备的操作用户进行识别,具体可以包括:
获取当前操作数据,所述当前操作数据是记录当前用户对所述目标终端设备执行的操作的数据。
利用所述更新后的操作用户识别模型对所述当前操作数据进行分析,得到风险值。
当所述风险值大于预设阈值时,确定所述当前用户与所述注册用户为不同用户,即目标终端设备被盗用。当所述风险值小于或等于预设阈值时,确定所述当前用户与所述注册用户为同一用户,即目标终端设备未被盗用。
在本说明书一个或多个实施例中,所述当前操作数据可以包括记录当前用户在与当前时刻的时间差小于预设值的时间段内对目标终端设备执行的各个操作的数据。例如,当预设值为5分钟时,可以将最近5分钟内生成的操作数据作为当前操作据。其中,所述当前操作数据与第一操作数据集合中的操作数据的格式及所含信息的种类可以是相同的,在此不再赘述。
在本说明书一个或多个实施例中,通过将当前时刻及邻近时刻(即与当前时刻的时间差小于预设值的时间刻)生成的操作数据作为当前操作数据,可提升基于当前操作数据得到的对目标终端设备的操作用户的识别结果的准确性。
在本说明书一个或多个实施例中,操作用户识别模型可以为二分类模型,也可以为多分类模型。当操作用户识别模型为二分类模型时,所述风险值可以为表示目标终端设备的当前操作用户并非是注册用户的概率值。令风险值与预设阈值进行比较,得到针对目标终端设备的操作用户的识别结果。其中,所述预设阈值可以根据实际需求设定。
当操作用户识别模型为多分类模型时,所述风险值可以为表示当前操作不应发生的概率值。令风险值与预设阈值进行比较,得到针对目标终端设备的操作用户的识别结果。例如,假定,预设阈值为60%,当前操作为支付操作,所述操作用户识别模型具有三个输出值,分别为:当前操作为支付操作的概率值为20%,当前操作为浏览操作的概率值为60%,当前操作为通讯操作的概率值为20%。此时,风险值为当前操作为浏览操作的概率值与当前操作为通讯操作的概率值之和(即80%),由于风险值大于预设阈值(即60%),因此,可以确定目标终端设备的操作用户并非注册用户。
当使用图1中的方法,确定目标终端设备的操作用户并非是注册用户时,需执行进一步的安全防控措施,以确保注册用户在目标终端设备中登录的已注册账户的财产安全。基于图1中的方法,在确定目标终端设备的当前用户与注册用户为不同用户之后,还可以包括:-
对所述当前用户进行身份验证;若身份验证通过,则响应所述当前操作数据对应的操作。
在本说明书一个或多个实施例中,在确定目标终端设备的操作用户并非注册用户之后,即确定对目标终端设备执行当前操作的当前用户与该目标终端设备中登录的已注册账户所属用户为不同用户时,可以暂缓对当前操作的响应,并在目标终端设备的显示屏中显示用于指示当前操作存在盗用风险的风险预警信息。基于预设策略,对所述当前用户进行身份验证,若身份验证通过,则响应所述当前操作,若生成验证失败,则拒绝响应当前操作。其中,基于预设策略,对所述当前用户进行身份验证,具体可以包括:对当前用户进行活体人脸检测、指纹校验、指定应用程序处的已注册账户的服务密码校验等。
在本说明书一个或多个实施例中,通过在确定对目标终端设备执行操作的当前用户并非是注册用户之后,对当前用户进行身份验证,并在身份验证通过后,再响应当前用户对目标终端设备执行的当前操作,从而既能降低盗用者使用目标终端设备及其上登录的指定应用的应用账户给注册用户的财产安全带来的危害,又能在误判目标终端设备的操作用户并非注册用户的情况下,对误判结果带来的影响进行纠错,以提高终端设备的操作用户识别方法的使用安全性及实用性。
当注册用户的目标终端设备丢失或被盗用后,注册用户可以向目标终端设备或者其搭载的指定应用程序进行报警,从而便于对目标终端设备进行安全防控。基于图1中的方法,本说明书实施例中给出了一种对用户报警信息进行响应的实现方式。在本实现方式中,图1中的方法,还可以包括:
获取报警信息,所述报警信息用于表示所述目标终端设备遗失或被盗用;
在获取到所述报警信息后,停止对所述目标终端设备上的操作用户识别模型的更新。
在本说明书一个或多个实施例中,所述报警信息既可以是注册用户使用其他终端设备发送至目标终端设备的报警信息,也可以是注册用户向指定应用程序的服务端进行报警后,指定应用程序的服务端发送至目标终端设备的报警信息。
具体的,用户可以使用其他终端设备,通过短信、彩信或指定应用程序支持的通讯形式,向目标终端设备发送符合指定格式的报警信息。例如,注册用户通过短信形式发送“手机丢失报警,目标终端设备型号,目标终端设备上登录的该注册用户的已注册账户标识,该注册用户的身份证号码”这一报警信息至目标终端设备。目标终端设备接收到该报警信息后,可以自动识别并验证该报警信息的有效性,若该报警信息有效,则停止对该目标终端设备上的操作用户识别模型的更新,从而避免目标终端设备上的操作用户识别模型将盗用者的操作数据作为注册用户的操作数据进行学习。
或者,注册用户可以使用其他终端设备,通过短信、彩信、语音通话等通讯形式,向指定应用程序的服务端进行针对目标终端设备丢失或被盗用的报警。例如,注册用户可以与指定应用程序的服务端处的工作人员进行语音通话,提供“手机丢失报警,目标终端设备型号,目标终端设备上登录的该注册用户在指定应用程序处的已注册账户”等信息,指定应用程序的服务端对注册用户的报警信息验证通过后,向目标终端设备上的指定应用程序发送报警信息,以停止对该目标终端设备上的操作用户识别模型的更新,从而确保目标终端设备上的操作识别模型的有效性。
在实际应用中,当非注册用户盗用目标终端设备后,目标终端设备会产生记录盗用者对目标终端设备执行的操作的操作数据,若使用这种操作数据对目标终端设备上的操作用户识别模型进行更新,则会影响操作用户识别模型的准确性。为避免上述情况的发生,基于图1中的方法,本说明书实施例中给出了一种更新初始操作用户识别模型的实现方式。
对于图1中的步骤103:根据所述第一操作数据集合,对所述初始操作用户识别模型进行更新,具体可以包括:
对所述第一操作数据集合进行特征提取,得到第一操作数据特征集合,所述第一操作数据集合中的操作数据是记录所述注册用户在预设时长之前对所述目标终端设备执行的操作的数据;
根据所述第一操作数据特征集合,对所述初始操作用户识别模型进行更新。所述初始操作用户识别模型是采用用于处理序列数据的算法建立的模型;所述第一操作数据特征集合中的各个操作数据特征按所述各个操作数据特征对应的操作的发生时间由先至后的顺序排列。
在本说明书一个或多个实施例中,所述第一操作数据集合中各个操作数据对应的操作的发生时刻均早于对初始操作用户识别模型进行更新的预设更新时刻,所述第一操作数据集合中各个操作数据对应的操作的发生时刻与所述预设更新时刻之间的时间差均不小于预设时长。所述预设时长可以根据实际需求而限定,例如,当预设时长为24小时时,意为第一操作数据集合中的操作数据对应的操作的发生时刻比所述预设更新时刻早至少24小时。
在本说明书一个或多个实施例中,通过使用记录注册用户在预设时长之前对目标终端设备执行的操作的操作数据,对初始操作用户识别模型进行更新,可为用户预留预设时长的对终端设备丢失或被盗用事件的报警时间,避免初始操作用户识别模型将盗用者的操作作为注册用户的操作进行学习,从而确保操作用户识别模型的有效性。
在实际应用中,由于初始操作用户识别模型的输入变量通常需表示为特征参数形式,因此,对所述第一操作数据集合进行特征提取。具体的:可以对所述第一操作数据集合中的字符型数据进行独热编码,得到字符型数据特征集合;对所述第一操作数据集合中的数值型数据进行标准化处理或者归一化处理,得到数值型数据特征集合。将字符型数据特征集合及数值型数据特征集合进行合并,并按各特征对应的操作的发生时间由先至后的顺序对各个特征进行排列,得到第一操作特征数据集合。
其中,字符型(Character)数据意为不具有计算能力的数据类型。字符型数据可以包括:汉字、字母、数字、符号及其组合,例如,“apple”,“操作时间:2019年5月1日16时30分”。数值型数据(metricdata)意为按数字尺度测量的观察值,其结果表现为具体的数值,例如,消费金额为“120.00”元中的“120.00”。
独热编码(One-Hot Encoding)其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效。通过独热编码可以将字符型数据转换成可以量化的特征向量,从而便于对操作用户识别模型的训练。
数值型数据可以直接用作特征,但是对于一个多维的特征,如果其取值范围特别大,则容易导致其他特征对结果的影响被忽略,这个时候我们需要对数值型数据进行处理。常见的对数值型数据的处理方式有以下几种:
标准化处理:意为将数值型数据的分布调整成标准正太分布。
归一化处理:意为令处理后的数值型数据分布于一个给定了最小值和最大值的范围内,例如,将各个数值型数据映射到[0,1]区间内。
通过对数值型数据进行标准化处理或者归一化处理,从而避免因部分维度数据的数值远大于其他维度数据的数值产生的不良影响。
在实际应用中,由于通常无法通过只对初始操作用户识别模型进行一次更新,就使操作用户识别模型达到最优状态,因此,需对操作用户识别模型进行多次更新。基于图1中的方法,假定,对初始操作用户识别模型进行更新时,使用的第一操作数据集合中的操作数据是记录注册用户在第一时间段内对目标终端设备执行的操作的数据。在对初始操作用户识别模型进行更新之后,还可以采用以下形式继续对目标终端设备中的操作用户识别模型进行更新:
在符合预设更新条件时,获取第二操作数据集合,所述第二操作数据集合中的操作数据是记录所述注册用户在第二时间段内对所述目标终端设备执行的操作的数据,所述第二时间段与所述第一时间段是不同的时间段。
根据所述第二操作数据集合,对所述更新后的操作用户识别模型进行更新。
在本说明书一个或多个实施例中,所述在符合预设更新条件时,可以指在到达预设更新时刻时,和/或新增操作数据的数据量达到预设值时。其中,新增操作数据是指用于记录注册用户在第一时间段的终止时刻以后对目标终端设备执行的操作的数据。
在实际应用中,由于需给注册用户预留预设时长的针对目标终端设备丢失或被盗用的报警时间,避免操作用户识别模型将盗用者的操作作为注册用户的操作进行学习,因此,所述第二时间段的终止时刻应比对所述更新后的操作用户识别模型进行更新的时刻早预设时长。
在实际应用中,可以使用本实现方式对目标终端设备中的操作用户识别模型进行多次更新,以持续优化目标终端设备中的操作用户识别模型,提升目标终端设备中操作用户识别模型的风险预测准确性。
图2为本说明书实施例提供的一种初始操作用户识别模型的建立方法。从程序角度而言,该方法的执行主体可以为服务器。
如图2所示,该流程可以包括以下步骤:
步骤201:获取训练样本集合,所述训练样本集合中的训练样本为用户对样本终端设备的操作数据,所述训练样本集合中的全部训练样本对应的样本终端设备的数量大于参考值。
在本说明书一个或多个实施例中,由于搭建初始操作用户识别模型需使用大量的训练样本对算法模型进行训练,且对系统资源消耗量大,因此,通常可以使用服务器从多个样本终端设备处采集操作数据,并根据采集的操作数据生成训练样本。具体的,可以根据实际需求,设置训练样本集合中全部训练样本对应的样本终端设备数量的最小值,即参考值。例如,当参考值为1000时,服务器需从至少1000个终端设备中采集操作数据,以获取训练样本集合。通过设置数值较大的参考值,可提升训练样本的覆盖率,保证训练数据的质量及数量。
步骤202:对所述训练样本集合进行特征提取,得到训练样本特征集合。
步骤203:根据所述训练样本特征集合,建立初始操作用户识别模型。
步骤204:发送所述初始操作用户识别模型至目标终端设备,以便于所述目标终端设备利用所述初始操作用户识别模型进行操作用户识别。
在本说明书一个或多个实施例中,所述目标终端设备是指待进行操作用户识别的终端设备。通过服务器基于大量的训练样本生成初始操作用户识别模型,并下发给多个目标终端设备,以使目标终端设备可以使用自身生成的操作数据继续对操作用户识别模型进行更新,从而有利于生成个性化且有效性高的操作用户识别模型。
基于图2中的方法,本说明书实施例还提供了该方法的一些具体实施方现,下面进行说明。
通常对算法模型进行训练的训练样本中需包含正样本及负样本,基于此,在本说明书实施例中,给出了一种获取训练样本集合的具体实现方式。步骤201:获取训练样本集合,具体可以包括:
获取正样本集合,所述正样本集合中的正样本是用于记录注册用户对所述样本终端设备执行的操作的操作数据,一个所述正样本对应于一个所述样本终端设备以及一个所述注册用户。
获取负样本集合,所述负样本集合中包括非注册用户样本,所述非注册用户样本是用于记录非注册用户对所述样本终端设备执行的操作的操作数据,一个所述非注册用户样本对应于一个所述样本终端设备。
根据所述正样本集合及所述负样本集合,生成训练样本集合。
在本说明书一个或多个实施例中,从样本终端设备上采集的操作数据均是在所述样本终端设备上登录有一个已注册账户的情况下生成的。所述已注册账户可以是注册用户在样本终端设备的操作系统处的已注册账户,也可以是注册用户在样本终端设备中搭载的指定应用程序处的已注册账户。
在实际应用中,当注册用户对某个样本终端设备进行被盗用报警后,或者服务器识别到某个样本终端设备被盗用时,即存在用户对登陆有他人的已注册账户的终端设备执行了操作的情况时,可以认为该样本终端设备被盗用,并为该样本终端设备分配一个被盗用标识,将从一个具有被盗用标识的样本终端设备处采集的操作数据作为一个负样本。
而对于不具有被盗用标识的样本终端设备,可以认为该样本终端设备未被盗用,从该样本终端设备处采集的操作数据均为记录注册用户对登录有个人已注册账户的样本终端设备执行的操作的数据,因此,可以将一个不具有被盗用标识的样本终端设备在登录有某个已注册账户期间生成的全部或部分连续操作数据作为一个正样本。
在实际应用中,可能存在具有被盗用标识的样本终端设备数量较少,导致负样本数量不足的问题。基于此,本说明书中提供了一种生成拼接用户样本作为负样本的实现方式。
在本实现方式中,所述负样本集合中还包括拼接用户样本,一个所述拼接用户样本中包括至少两个用户的操作数据。
具体的,可以根据至少两个对应的用户不同的训练样本,生成拼接用户样本。在本实现方式中,以使用两个训练样本生成拼接用户样本为例,进行说明。假设,第一训练样本与第二训练样本中的操作数据是不同用户的操作数据,第一训练样本或第二训练样本既可以为正样本也可以为负样本。可以将第一训练样本的部分操作数据作为拼接用户样本中排序靠后的数据,将第二训练样本的部分操作数据作为拼接用户样本中排序靠前的数据,以生成拼接用户样本。或者,可以将第一训练样本的部分操作数据与第二训练样本的部分操作数据按照各操作数据对应的操作的发生时间由先至后的顺序进行排序,将排序后的操作数据序列作为一个拼接用户样本。
在本实现方式中,由于拼接用户样本中包含不同用户的操作数据,因此,可以将拼接用户样本作为负样本使用,进而解决负样本数量不足的问题。
在本说明书一个或多个实施例中,所述初始操作用户识别模型是采用用于处理序列数据的算法建立的模型;对于所述训练样本特征集合中的任意一个训练样本特征,所述任意一个训练样本特征中的各个操作数据子特征按所述各个操作数据子特征对应的操作的发生时间由先至后的顺序排列,一个所述训练样本特征对应于一个所述训练样本。
在本说明书一个或多个实施例中,由于每个训练样本中的各个操作数据对应的各个操作之间具有一定的关联关系,因此,采用了用于处理序列数据的算法搭建初始操作用户识别模型,以建立准确性更好的初始操作用户识别模型。
基于同样的思路,本说明书实施例还提供了与图1中方法对应的装置。图3为本说明书实施例提供的对应于图1中方法的一种操作用户识别装置的结构示意图。如图3所示,该装置可以包括:
第一获取模块301,用于从服务器处获取初始操作用户识别模型,所述初始操作用户识别模型被所述服务器提供给包括所述目标终端设备在内的多个终端设备。
第二获取模块302,用户获取注册用户对所述目标终端设备的操作数据,得到第一操作数据集合。
更新模块303,用于根据所述第一操作数据集合,对所述初始操作用户识别模型进行更新,得到更新后的操作用户识别模型。
识别模块304,用于利用所述更新后的操作用户识别模型对所述目标终端设备的操作用户进行识别。
其中,所述初始操作用户识别模型是采用用于处理序列数据的算法建立的模型;所述第一操作数据特征集合中的各个操作数据特征按所述各个操作数据特征对应的操作的发生时间由先至后的顺序排列。所述第一操作数据集合中的操作数据包括:登录数据、功能设置数据、通讯数据、浏览数据及交易数据中的至少一种。
在本说明书一个或多个实施例中,操作用户识别装置,还可以包括:
第三获取模块,用于获取报警信息,所述报警信息用于表示所述目标终端设备遗失或被盗用。
停止更新模块,用于在获取到所述报警信息后,停止对所述目标终端设备上的操作用户识别模型的更新。
在本说明书一个或多个实施例中,所述更新模块303,具体可以包括:
特征提取单元,用于对所述第一操作数据集合进行特征提取,得到第一操作数据特征集合,所述第一操作数据集合中的操作数据是记录所述注册用户在预设时长之前对所述目标终端设备执行的操作的数据;
更新单元,用于根据所述第一操作数据特征集合,对所述初始操作用户识别模型进行更新。
在本说明书一个或多个实施例中,识别模块304,具体可以用于:
获取当前操作数据,所述当前操作数据是记录当前用户对所述目标终端设备执行的操作的数据;利用所述更新后的操作用户识别模型对所述当前操作数据进行分析,得到风险值;当所述风险值大于预设阈值时,确定所述当前用户与所述注册用户为不同用户。
在本说明书一个或多个实施例中,操作用户识别装置,还可以包括:
身份验证模块,用于对所述当前用户进行身份验证;
操作响应模块,用于若身份验证通过,则响应所述当前操作数据对应的操作。
在本说明书一个或多个实施例中,操作用户识别装置,还可以包括:
第四获取模块,用于获取第二操作数据集合,所述第二操作数据集合中的操作数据是记录所述注册用户在第二时间段内对所述目标终端设备执行的操作的数据,所述第二时间段与所述第一时间段是不同的时间段;所述第一操作数据集合中的操作数据是记录所述注册用户在第一时间段内对所述目标终端设备执行的操作的数据,所述对所述初始操作用户识别模型进行更新之后
再次更新模块,用于根据所述第二操作数据集合,对所述更新后的操作用户识别模型进行更新。
基于同样的思路,本说明书实施例还提供了与图2中方法对应的装置。图4为本说明书实施例提供的对应于图2中方法的一种初始操作用户识别模型的建立装置的结构示意图。如图4所示,该装置可以包括:
获取模块401,用于获取训练样本集合,所述训练样本集合中的训练样本为用户对样本终端设备的操作数据,所述训练样本集合中的全部训练样本对应的样本终端设备的数量大于参考值。
特征提取模块402,用于对所述训练样本集合进行特征提取,得到训练样本特征集合。
模型建立模块403,用于根据所述训练样本特征集合,建立初始操作用户识别模型。
发送模块404,用于发送所述初始操作用户识别模型至目标终端设备,以便于所述目标终端设备利用所述初始操作用户识别模型进行操作用户识别。
在本说明书一个或多个实施例中,所述获取模块401,具体可以包括:
第一获取单元,用于获取正样本集合,所述正样本集合中的正样本是用于记录注册用户对所述样本终端设备执行的操作的操作数据,一个所述正样本对应于一个所述样本终端设备以及一个所述注册用户。
第二获取单元,用于获取负样本集合,所述负样本集合中包括非注册用户样本及拼接用户样本中的至少一种,所述非注册用户样本是用于记录非注册用户对所述样本终端设备执行的操作的操作数据,一个所述非注册用户样本对应于一个所述样本终端设备;一个所述拼接用户样本中包括至少两个用户的操作数据。
训练样本集合生成单元,用于根据所述正样本集合及所述负样本集合,生成训练样本集合。
其中,所述初始操作用户识别模型是采用用于处理序列数据的算法建立的模型;对于所述训练样本特征集合中的任意一个训练样本特征,所述任意一个训练样本特征中的各个操作数据子特征按所述各个操作数据子特征对应的操作的发生时间由先至后的顺序排列,一个所述训练样本特征对应于一个所述训练样本。
基于同样的思路,本说明书实施例还提供了图1方法对应的设备。图5为本说明书实施例提供的一种操作用户识别设备的结构示意图。如图5所示,该设备500可以包括:
至少一个处理器510;以及,
与所述至少一个处理器通信连接的存储器530;其中,
所述存储器存储有可被所述至少一个处理器510执行的指令520,所述指令被所述至少一个处理器510执行,以使所述至少一个处理器510能够:
从服务器处获取初始操作用户识别模型,所述初始操作用户识别模型被所述服务器提供给包括所述操作用户识别设备在内的多个终端设备。
获取注册用户对所述操作用户识别设备的操作数据,得到第一操作数据集合。
根据所述第一操作数据集合,对所述初始操作用户识别模型进行更新,得到更新后的操作用户识别模型。
利用所述更新后的操作用户识别模型对所述操作用户识别设备的操作用户进行识别。
基于同样的思路,本说明书实施例还提供了图2方法对应的设备。图6为本说明书实施例提供的一种初始操作用户识别模型的建立设备的结构示意图。如图6所示,该设备600可以包括:
至少一个处理器610;以及,
与所述至少一个处理器通信连接的存储器630;其中,
所述存储器存储有可被所述至少一个处理器610执行的指令620,所述指令被所述至少一个处理器610执行,以使所述至少一个处理器610能够:
获取训练样本集合,所述训练样本集合中的训练样本为用户对样本终端设备的操作数据,所述训练样本集合中的全部训练样本对应的样本终端设备的数量大于参考值。
对所述训练样本集合进行特征提取,得到训练样本特征集合。
根据所述训练样本特征集合,建立初始操作用户识别模型。
发送所述初始操作用户识别模型至目标终端设备,以便于所述目标终端设备利用所述初始操作用户识别模型进行操作用户识别。
基于同样的思路,本说明书实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述的操作用户识别方法或初始操作用户识别模型的建立方法。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,应包含在本申请的权利要求范围之内。