具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
如前所述,由于网络应用通常对所有用户的客户端下发相同排序的核身产品列表;因此,每个客户端都会使用同样排序的核身产品列表。然而,这种使用统一核身产品列表来进行身份核身,并没有考虑用户的使用习惯不同或者使用场景不同;例如,有的用户习惯使用人脸核身、有的用户习惯使用短信核身;还有的在环境昏暗时,人脸核身并不能正常进行,在声音嘈杂环境中,口令核身也不能正常进行。另一方面,由于用户使用的客户端存在差异,因此客户端不一定可以直接使用核身产品列表中排在最先的核身产品;为此,客户端需要依次检查核身产品的可用性,在检查到某个核身产品可用时,执行该核身产品的身份核实。举例说明,假设核身产品列表排序依次为:人脸核身、短信核身、问答核身;客户端首先检查人脸核身是否可用,如果可用则执行人脸核身,不再检查后续核身产品,如果人脸核身不可用,则检查短信核身。如此,客户端反复进行核身产品可用性检查的次数,从而降低了客户端在进行核身时的额外系统开销。
为了解决上述问题,本说明书提供了一种核身产品的个性化推荐方案,根据用户使用习惯、使用场景,为不同用户优先推荐最适合他们的核身产品;从而实现千人千面的个性化推荐效果,提升了用户体验;另一方面,可以减少客户端反复进行核身产品可用性检查的次数,从而降低了客户端在进行核身时的额外系统开销。
以下可以结合图1所示的例子介绍本说明书一种实现核身产品的个性化推荐方法的实施例,该实施例以服务器侧为执行主体,如图1所示,该方法可以包括以下步骤:
步骤110:确定需要推荐的用户标识,并获取所述用户标识对应的核身数据。
服务器首先可以确定需要推荐的用户标识,并根据该用户标识获取对应的核身数据。
在一实施例中,所述确定需要推荐的用户标识,可以包括:
接收客户端发送的核身产品列表的获取请求;
将所述获取请求中携带的用户标识确定为需要推荐的用户标识。
也就是说,客户端可以主动提供用户标识。
在一种实现方式中:
用户在客户端上登录账户后,客户端可以检测客户端本地是否保存有服务器下发的核身产品列表;如果本地保存服务器下发的核身产品列表,则客户端可以向服务器发送核身产品列表的获取请求。
在另一种实现方式中:
客户端上可以周期性地向服务器发送核身产品列表的获取请求。例如,客户端本地可以设置一个定时器,当定时器到达预设周期如1个月,可以主动向服务器发送核身产品列表的获取请求,从而得到最新的核身产品列表,用于更新本地保存的旧的核身产品列表。
在一实施例中,服务器周期性向客户端推荐核身产品列表,即服务器可以主动获取用户标识,则所述确定需要推荐的用户标识,可以包括:
在定时器到达预设周期时,服务器可以将所有的用户标识确定为需要推荐的用户标识。
在一种实现方式中,可以根据需求将所有的用户标识划分成多组,并设置不同的预设周期;即可以建立用户标识与预设周期的映射关系。如此,在定时器达到某个预设周期时,服务器可以将该预设周期对应的用户标识确定为需要推荐的用户标识,而非将所有用户标识确定为需要推荐的用户标识。
其中,所述划分的规则,可以是多种多样的。例如可以根据账户活跃程度进行划分,将活跃账户对应的用户标识划分为一组,并设置相对较短的预设周期;将不活跃账户对应的用户标识划分为另一组,并设置相对较长的预设周期。如此,对于服务器来说,由于不活跃账户预设周期长,同样时长内,减少了生成核身列表的次数,间接降低了服务器的资源开销。
在一实施例中,所述核身数据可以是服务器上存储的用户标识历史的核身数据。一般的,用户使用客户端进行核身时,会上传许多数据给服务器,服务器可以从中采集需要的核身数据并与用户标识关联后进行存储;这样当需要使用某个用户历史的核身数据时,根据用户标识就可以获取对应的核身数据。
步骤120:根据所述核身数据计算每种核身产品的通过率;其中,所述通过率反映用户使用核身产品的概率大小。
在一实施例中,所述核身数据可以包括历史核身次数,历史每种核身产品的核身次数;则所述根据所述核身数据计算每种核身产品的通过率,具体包括:
获取所述核身数据中历史核身次数,历史每种核身产品的核身次数;
计算所述历史每种核身产品的核身次数与所述历史核身次数的比值;
将所述计算出的比值确定为对应的核身产品的通过率。
在一实施例中,所述根据所述核身数据计算每种核身产品的通过率,具体包括:
获取每种核身产品对应的适用性模型;其中,所述适用性模型基于机器学习算法训练得出;
根据所述核身数据并基于适用性模型计算每种核身产品的适用分。
该实施例中,所述核身数据除了历史的核身数据之外,还可以包括历史的交互数据、用户画像数据等多种维度的数据,一般的可以根据需求预先确定这些维度的数据,进而根据这些维度确定训练样本。所述训练样本可以是指包含输入数据和输出数据的用于进行模型训练的数据。本说明书中,输入数据可以是指前述多种维度的数据,输出数据可以是指通过率。其中,所述用户画像数据可以包括例如用户年龄、性别、活动范围、喜好等数据;所述交互数据可以包括手机型号、手机类型、连接wifi的名称、使用的通信运营商名称等数据。以短信核身为例,所述核身数据可以包括用户手机最近预设时长内是否成功接收短信,用户手机绑定时间,用户手机是否与绑定手机一致,历史短信核身通过次数等等。
通过设置合理的函数,可以借助已有的机器学习算法可以从海量的训练样本中找出规律。例如逻辑回归(logistic回归),GBDT(Gradient Boosting Decision Tree),甚至深度学习等机器学习方法,都可以被用于针对核身数据进行建模,以通过率为目标,对训练样本进行模型训练,最终得出符合预期的函数中各个参数的系数,进而可以得到统一的方程或者计算公式。
例如,得到统一的方程如下:
Y通过率=a*X核身数据+b*X交互数据+c*X用户画像数据+… 公式1
上述a,b,c等即为函数中各个参数的系数。
这样,对核身数据,可以利用上述公式1计算所述每种核身产品的通过率(将核身数据代入公式1,从而计算得到Y通过率)。计算得到的通过率,可以为位于0%和100%之间的值。例如越接近100%表示用户最优选择的核身产品,越接近0%表示用户越不会选择的核身产品。
步骤130:根据每种核身产品的通过率,对所述核身产品进行排序。
一般的,通过率越高的核身产品,排序越靠前;通过率越低的核身产品,排序越靠后。
如图2所示的排序前后核身产品的示意图。原本排序的核身产品依次为:短信核身、KBA核身、安保问题核身、扫码鉴权核身、人脸核身;通过计算每种核身产品的通过率得到:短信核身的通过率为30%、KBA核身的通过率为65%、安保问题核身的通过率为55%、扫码鉴权核身的通过率为35%、人脸核身的通过率为25%;因此,重新排序后的核身产品依次为:KBA核身、安保问题核身、扫码鉴权核身、短信核身、人脸核身。也就是说,基于用户历史的核身数据显示,用户习惯使用、最有可能使用的核身产品是KBA核身。
步骤140:将排序后核身产品构成的核身产品列表推荐给所述用户标识对应的客户端。
根据用户使用习惯,为不同用户优先推荐最适合他们的核身产品;从而实现千人千面的个性化推荐效果,提升了用户体验;另一方面,可以减少客户端反复进行核身产品可用性检查的次数,从而降低了客户端在进行核身时的额外系统开销。
在一实施例中,在所述步骤140之前,所述方法还包括:
获取所述客户端上传的环境数据;
根据所述环境数据计算每种核身产品的风险值;其中,所述风险值反映了核身产品被破解的概率大小;
将风险值超过阈值的核身产品从所述排序后核身产品中去除;
所述将排序后核身产品构成的核身产品列表推荐给所述用户标识对应的客户端,具体包括:
将剩余的排序后核身产品构成的核身产品列表推荐给所述用户标识对应的客户端。
本实施例中,所述环境数据可以包括用户登录的设备环境是否异常,是否刚从老设备切换到新设备等等。通过这些环境数据可以并基于预设算法可以计算出风险值。风险值越高说明核身产品越容易被破解,也就是越不安全;反之,风险值越低说明核身产品越不容易被破解,也就越安全。
在一实施例中,所述根据所述环境数据计算每种核身产品的风险值,具体包括:
获取所述排序后每种核身产品对应的安全性模型;其中,所述安全性模型基于机器学习算法训练得出;
根据所述环境数据并基于安全性模型计算每种核身产品的风险值。
与前述适用性模型类似,所述安全性模型也可以通过设置合理的函数,可以借助已有的机器学习算法可以从海量的训练样本(输入数据为环境数据,输出输入为是否被破解)中找出规律。例如逻辑回归(logistic回归),GBDT(Gradient Boosting DecisionTree),甚至深度学习等机器学习方法,都可以被用于针对环境数据进行建模,以被破解为目标,对训练样本进行模型训练,最终得出符合预期的函数中各个参数的系数,进而可以得到统一的方程或者计算公式。
依然以图2所示的排序前后核身产品的示意图;对于排序后的核身产品,针对每个核身产品还可以进行安全性检测,对于安全性不高的核身产品不推荐给用户,即可以将安全性不高的核身产品从排序后的核身产品列表中去除;最后剩余的核身产品都是安全性较高的,从而整体上提升了身份核身的安全性。
与前述核身产品的个性化推荐方法实施例相对应,本说明书还提供了核身产品的个性化推荐装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,本说明书核身产品的个性化推荐装置所在设备的一种硬件结构如图3所示可以包括处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据该核身产品的个性化推荐实际功能,还可以包括其他硬件,对此不再赘述。
请参见图4,为本说明书一实施例提供的核身产品的个性化推荐装置的模块图,所述装置包括:
确定单元310,确定需要推荐的用户标识,并获取所述用户标识对应的核身数据;
计算单元320,根据所述核身数据计算每种核身产品的通过率;其中,所述通过率反映用户使用核身产品的概率大小;
排序单元330,根据每种核身产品的通过率,对所述核身产品进行排序;
推荐单元340,将排序后核身产品构成的核身产品列表推荐给所述用户标识对应的客户端。
在一个可选的实施例中:
所述确定单元310,具体包括:
接收子单元,接收客户端发送的核身产品列表的获取请求;
确定子单元,将所述获取请求中携带的用户标识确定为需要推荐的用户标识;
获取子单元,获取所述用户标识对应的核身数据。
在一个可选的实施例中:
所述计算单元320,具体包括:
数据获取子单元,获取所述核身数据中历史核身次数,历史每种核身产品的核身次数;
比值计算子单元,计算所述历史每种核身产品的核身次数与所述历史核身次数的比值;
通过率确定子单元,将所述计算出的比值确定为对应的核身产品的通过率。
在一个可选的实施例中:
所述计算单元320,具体包括:
模型获取子单元,获取每种核身产品对应的适用性模型;其中,所述适用性模型基于机器学习算法训练得出;
模型计算子单元,根据所述核身数据并基于适用性模型计算每种核身产品的适用分。
在一个可选的实施例中:
在所述推荐单元340之前,所述装置还包括:
获取单元,获取所述客户端上传的环境数据;
第二计算单元,根据所述环境数据计算每种核身产品的风险值;所述风险值反映了核身产品被破解的概率大小;
去除单元,将风险值超过阈值的核身产品从所述排序后核身产品中去除;
所述推荐单元,具体包括:
将剩余的排序后核身产品构成的核身产品列表推荐给所述用户标识对应的客户端。
在一个可选的实施例中:
所述第二计算单元,具体包括:
模型获取子单元,获取所述排序后每种核身产品对应的安全性模型;其中,所述安全性模型基于机器学习算法训练得出;
模型获取子单元,根据所述环境数据并基于安全性模型计算每种核身产品的风险值。
在一个可选的实施例中:
所述机器学习算法包括决策树算法、逻辑回归算法、GBDT算法或深度学习算法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上图4描述了核身产品的个性化推荐装置的内部功能模块和结构示意,其实质上的执行主体可以为一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
确定需要推荐的用户标识,并获取所述用户标识对应的核身数据;
根据所述核身数据计算每种核身产品的通过率;其中,所述通过率反映用户使用核身产品的概率大小;
根据每种核身产品的通过率,对所述核身产品进行排序;
将排序后核身产品构成的核身产品列表推荐给所述用户标识对应的客户端。
可选的,所述确定需要推荐的用户标识,具体包括:
接收客户端发送的核身产品列表的获取请求;
将所述获取请求中携带的用户标识确定为需要推荐的用户标识。
可选的,所述根据所述核身数据计算每种核身产品的通过率,具体包括:
获取所述核身数据中历史核身次数,历史每种核身产品的核身次数;
计算所述历史每种核身产品的核身次数与所述历史核身次数的比值;
将所述计算出的比值确定为对应的核身产品的通过率。
可选的,所述根据所述核身数据计算每种核身产品的通过率,具体包括:
获取每种核身产品对应的适用性模型;其中,所述适用性模型基于机器学习算法训练得出;
根据所述核身数据并基于适用性模型计算每种核身产品的适用分。
可选的,在所述将排序后核身产品构成的核身产品列表推荐给所述用户标识对应的客户端之前,所述方法还包括:
获取所述客户端上传的环境数据;
根据所述环境数据计算每种核身产品的风险值;其中,所述风险值反映了核身产品被破解的概率大小;
将风险值超过阈值的核身产品从所述排序后核身产品中去除;
所述将排序后核身产品构成的核身产品列表推荐给所述用户标识对应的客户端,具体包括:
将剩余的排序后核身产品构成的核身产品列表推荐给所述用户标识对应的客户端。
可选的,所述根据所述环境数据计算每种核身产品的风险值,具体包括:
获取所述排序后每种核身产品对应的安全性模型;其中,所述安全性模型基于机器学习算法训练得出;
根据所述环境数据并基于安全性模型计算每种核身产品的风险值。
可选的,所述机器学习算法包括决策树算法、逻辑回归算法、GBDT算法或深度学习算法。
在上述电子设备的实施例中,应理解,该处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read-only memory,缩写:ROM)、随机存取存储器(英文:random access memory,简称:RAM)、快闪存储器、硬盘或者固态硬盘。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。