模型训练方法、用户识别方法、装置及电子设备与流程

文档序号:21087504发布日期:2020-06-12 16:59阅读:170来源:国知局
模型训练方法、用户识别方法、装置及电子设备与流程
本申请涉及数据处理
技术领域
,具体而言,涉及一种模型训练方法、用户识别方法、装置及电子设备。
背景技术
:目前,在进行用户类型识别的时候会使用到用户数据,现在的训练方式多是通过对用户的特征通过多次迭代提取出用户的订单行为特征向量。进一步地,再对其进行聚类,通过聚类来分析用户的行为类型,该方法效率较低,对于大量数据来说速度缓慢。技术实现要素:有鉴于此,本申请实施例的目的在于提供一种模型训练方法、用户识别方法、装置及电子设备,能够将同类型的用户行为抽象成行为矩阵,通过将矩阵作为训练数据,以训练出用于识别用户类型的模型。根据本申请的一个方面,提供一种电子设备,可以包括一个或多个存储介质和一个或多个与存储介质通信的处理器。一个或多个存储介质存储有处理器可执行的机器可读指令。当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行所述机器可读指令,以执行一个或多个以下操作:获取设定用户群的应用数据,所述应用数据包括订单数据,所述设定用户群包括第一类用户群以及第二类用户群,所述第一类用户群为缺乏提供服务所需工具的用户,所述第二类用户群为拥有提供服务所需工具的用户;将所述设定用户群中的用户的订单数据转化为行为矩阵;从所述行为矩阵中筛选出满足有工具设定条件的第一行为矩阵,并标记为有工具行为数据;根据所述设定用户群的应用数据筛选出满足无工具设定条件的所述第二类用户群,并获取所述第二类用户群对应的第二行为矩阵,标记为无工具行为数据,将所述有工具行为数据及所述无工具行为数据作为训练数据;将所述训练数据输入待训练模型中进行训练得到用户识别模型。本实施例中,通过将用户的订单数据先抽象成行为矩阵,通过对行为矩阵的识别从而可以选择出用于训练模型的训练数据。通过对行为矩阵的选取可以使选择的训练数据更具有代表性,可以提高模型训练的速度。另外,通过将订单数据转化为对应的行为矩阵也相对于现有的多次迭代提取出用户的订单行为特征向量的方式更快捷。在一些实施例中,所述从所述行为矩阵中筛选出满足有工具设定条件的第一行为矩阵,并标记为有工具行为数据的步骤包括:从所述行为矩阵中筛选出第一连线上的数值大于其他位置的数值的行为矩阵,并标记为第一类有工具行为数据,所述第一类有工具行为数据和无工具行为数据形成第一类训练数据;所述将所述训练数据输入待训练模型中进行训练得到,用户识别模型的步骤,包括:将所述第一类训练数据输入待训练模型中进行训练得到,第一用户识别模型。在一些实施例中,所述从所述行为矩阵中筛选出满足有工具设定条件的第一行为矩阵,并标记为有工具行为数据的步骤包括:从所述行为矩阵中筛选出第二连线上的数值大于其他行或列的数值的行为矩阵,并标记为有工具行为数据,并标记为第二类有工具行为数据,所述第二类有工具行为数据和无工具行为数据形成第二类训练数据;所述将所述训练数据输入待训练模型中进行训练得到,用户识别模型的步骤,包括:将所述第二类训练数据输入待训练模型中进行训练得到,第二用户识别模型。由于不同的区域的用户行为习惯不同,将根据行为矩阵的不同类型将根据有工具行为数据的类型分成两类训练数据,从而可以实现训练处两个用户识别模型,可以实现对有针对性的对不同的用户群体的识别。在一些实施例中,所述第一类用户群的订单数据中包括至少两个周期的数据,每个周期包括至少两周,所述将所述设定用户群中的用户的订单数据转化为行为矩阵的步骤,包括:获取所述设定用户群的订单数据每个用户在每个周期中星期一、星期二、星期三、星期四、星期五中的订单状态,所述订单状态包括存在订单和不存在订单;将存在订单的订单状态赋值为第一值,将不存在订单的订单状态赋值为第二值,得到每个有工具用户的订单向量;将每个所述有工具用户的订单向量按照以星期一、星期二、星期三、星期四、星期五为矩阵的列,以所述周期为矩阵的行形成对应用户的行为矩阵。在一些实施例中,所述根据所述设定用户群的应用数据筛选出满足无工具设定条件的所述第二类用户群,包括:对所述行为矩阵进行识别,判断所述行为矩阵是否满足有工具设定条件;若否,则该行为矩阵对应的用户为无工具用户。在一些实施例中,所述应用数据包括:应用程序安装数据,所述根据所述设定用户群的应用数据筛选出满足无工具设定条件的所述第二类用户群,包括:获取所述设定用户群的应用程序安装数据;根据应用程序安装数据匹配得到每个用户的应用程序安装向量;将每个用户的所述应用程序安装向量进行哈希计算,得到识别向量;将所述识别向量输入应用程序预测有工具模型进行计算,得到识别输出值;若所述识别输出值小于设定值,则判定对应用户为无工具用户。在一些实施例中,所述待训练模型依次包括:设定卷积层、第一区块、所述设定卷积层、所述第一区块、第二区块、所述第一区块、所述第一区块、dense层;所述将所述训练数据输入待训练模型中进行训练得到用户识别模型的步骤,包括:将所述训练数据输入所述待训练模型中依次经过设定卷积层、第一区块、所述设定卷积层、所述第一区块、第二区块、所述第一区块、所述第一区块及dense层进行训练。在一些实施例中,所述第一区块包括:两个1*1的卷积核和一个3*3的卷积核,其中,3*3的卷积核设置在两个1*1的卷积核之间;所述第一区块的训练过程为:将输入数据输入两个1*1的卷积核和一个3*3的卷积核分别进行计算,得到预输出数据;将所述输入数据与所述预输出数据相加得到第一区块输出结果。在一些实施例中,所述第二区块包括:第一路结构和第二路结构;所述第一路结构包括:步长为2的1*1的卷积核,3*3的卷积核以及1*1的卷积核;所述第二路结构包括:步长为2的1*1的卷积核;所述第一区块的训练过程为:将输入数据输入第一路结构进行计算得到第一输出结果;将所述输入数据输入第二路结构进行计算得到第二输出结果;将所述第一输出结果与所述第二输出结果相加得到第二区块输出结果。在另一方面,本申请实施例还提供一种用户识别方法,包括:获取目标用户的历史订单数据;根据所述历史订单数据转化成目标行为矩阵;将所述目标行为矩阵输入上述的用户识别模型中进行识别,得到所述目标用户的用户类型;所述用户类型包括有工具用户或无工具用户。在一些实施例中,所述方法还包括:将识别为有工具用户匹配对应的使用资源;并将所述使用资源发送给所述有工具用户对应的终端。在另一方面,本申请实施例还提供一种模型训练装置,包括:第一获取模块,用于获取设定用户群的应用数据,所述应用数据包括订单数据,所述设定用户群包括第一类用户群以及第二类用户群,所述第一类用户群为缺乏提供服务所需工具的用户,所述第二类用户群为拥有提供服务所需工具的用户;第一转化模块,用于将所述设定用户群中的用户的订单数据转化为行为矩阵;第一筛选模块,用于从所述行为矩阵中筛选出满足有工具设定条件的第一行为矩阵,并标记为有工具行为数据;第二筛选模块,用于根据所述设定用户群的应用数据筛选出满足无工具设定条件的所述第二类用户群,并获取所述第二类用户群对应的第二行为矩阵,标记为无工具行为数据,将所述有工具行为数据及所述无工具行为数据作为训练数据;训练模块,用于将所述训练数据输入待训练模型中进行训练得到用户识别模型。在一些实施例中,所述第一筛选模块,还用于:从所述行为矩阵中筛选出第一连线上的数值大于其他位置的数值的行为矩阵,并标记为第一类有工具行为数据,所述第一类有工具行为数据和无工具行为数据形成第一类训练数据;所述将所述训练数据输入待训练模型中进行训练得到,用户识别模型的步骤,包括:将所述第一类训练数据输入待训练模型中进行训练得到,第一用户识别模型。在一些实施例中,所述第一筛选模块,还用于:从所述行为矩阵中筛选出第二连线上的数值大于其他行或列的数值的行为矩阵,并标记为有工具行为数据,并标记为第二类有工具行为数据,所述第二类有工具行为数据和无工具行为数据形成第二类训练数据;所述将所述训练数据输入待训练模型中进行训练得到,用户识别模型的步骤,包括:将所述第二类训练数据输入待训练模型中进行训练得到,第二用户识别模型。在一些实施例中,所述第一类用户群的订单数据中包括至少两个周期的数据,每个周期包括至少两周,所述第一转化模块,还用于:获取所述设定用户群的订单数据每个用户在每个周期中星期一、星期二、星期三、星期四、星期五中的订单状态,所述订单状态包括存在订单和不存在订单;将存在订单的订单状态赋值为第一值,将不存在订单的订单状态赋值为第二值,得到每个有工具用户的订单向量;将每个所述有工具用户的订单向量按照以星期一、星期二、星期三、星期四、星期五为矩阵的列,以所述周期为矩阵的行形成对应用户的行为矩阵。在一些实施例中,所述第二筛选模块,还用于:对所述行为矩阵进行识别,判断所述行为矩阵是否满足有工具设定条件;若否,则该行为矩阵对应的用户为无工具用户。在一些实施例中,所述应用数据包括:应用程序安装数据,所述第二筛选模块,还用于:获取所述设定用户群的应用程序安装数据;根据应用程序安装数据匹配得到每个用户的应用程序安装向量;将每个用户的所述应用程序安装向量进行哈希计算,得到识别向量;将所述识别向量输入应用程序预测有工具模型进行计算,得到识别输出值;若所述识别输出值小于设定值,则判定对应用户为无工具用户。在一些实施例中,所述待训练模型依次包括:设定卷积层、第一区块、所述设定卷积层、所述第一区块、第二区块、所述第一区块、所述第一区块、dense层;所述训练模块,还用于:将所述训练数据输入所述待训练模型中依次经过设定卷积层、第一区块、所述设定卷积层、所述第一区块、第二区块、所述第一区块、所述第一区块及dense层进行训练。在一些实施例中,所述第一区块包括:两个1*1的卷积核和一个3*3的卷积核,其中,3*3的卷积核设置在两个1*1的卷积核之间;所述第一区块的训练过程为:将输入数据输入两个1*1的卷积核和一个3*3的卷积核分别进行计算,得到预输出数据;将所述输入数据与所述预输出数据相加得到第一区块输出结果。在一些实施例中,所述第二区块包括:第一路结构和第二路结构;所述第一路结构包括:步长为2的1*1的卷积核,3*3的卷积核以及1*1的卷积核;所述第二路结构包括:步长为2的1*1的卷积核;所述第一区块的训练过程为:将输入数据输入第一路结构进行计算得到第一输出结果;将所述输入数据输入第二路结构进行计算得到第二输出结果;将所述第一输出结果与所述第二输出结果相加得到第二区块输出结果。在另一方面,本申请实施例还提供一种用户识别装置,包括:第二获取模块,用于获取目标用户的历史订单数据;第二转化模块,用于根据所述历史订单数据转化成目标行为矩阵;识别模块,用于将所述目标行为矩阵输入上述的用户识别模型中进行识别,得到所述目标用户的用户类型;所述用户类型包括有工具用户或无工具用户。在一些实施例中,所述装置还包括:匹配模块,用于将识别为有工具用户匹配对应的使用资源;发送模块,用于并将所述使用资源发送给所述有工具用户对应的终端。在另一方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一种可能的实施方式中模型训练方法的步骤。在另一方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一种可能的实施方式中用户识别方法的步骤。为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本申请实施例所提供的一种电子设备的结构示意图;图2示出了本申请实施例所提供的一种模型训练方法的流程图;图3示出了本申请实施例所提供的待训练模型的结构示意图;图4示出了本申请实施例所提供的待训练模型的第一区块的结构示意图;图5示出了本申请实施例所提供的待训练模型的第二区块的结构示意图;图6示出了本申请实施例所提供的一种用户识别方法的流程图;图7示出了本申请实施例所提供的一种模型训练装置的结构示意图;图8示出了本申请实施例所提供的一种用户识别装置的结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“网约车”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕网约车进行描述,但是应该理解,这仅是一个示例性实施例。本申请可以应用于任何其他交通运输类型。例如,本申请可以应用于不同的运输系统环境,包括陆地,海洋,或航空等,或其任意组合。运输系统的交通工具可以包括出租车、私家车、顺风车、公共汽车、火车、子弹头列车、高速铁路、地铁、船只、飞机、宇宙飞船、热气球、或无人驾驶车辆等,或其任意组合。本申请还可以包括用于订单服务的任何服务系统,例如,用于发送和/或接收快递的系统、用于买卖双方交易的服务系统。本申请的系统或方法的应用可以包括网页、浏览器的插件、客户端终端、定制系统、内部分析系统、或人工智能机器人等,或其任意组合。需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。发明人对订单的用户群体进行研究,发现对于特定人群的使用订单会有特定的规律。具体地,发明人对于特定场景“网约车”进行了进一步地研究,通过对乘客一段时间的用车行为进行收集,将时间划分为n个周期,由于限号时间为周一至周五,所以将乘客在每个周期内的用车数进行累计,从而得到一个n*5的用车矩阵。到目前为止,全国范围内很多城市都实行车辆限号,如北京、天津、南昌、贵阳等多个城市,每天都会限行特定的车牌尾号的车辆出行。对于限号地区的打车平台乘客,其打车行为往往会呈现出一定的规律,其往往在限号时用车的频率明显高于其他时间。因此,可以通过对平台乘客的用车行为规律进行分析,从而可以寻找和发现可能的有车用户。再具体地,在网约车中有车乘客和无车乘客的乘车规律存在不同,基于对有车乘客和无车乘客行为矩阵的研究,可以根据矩阵的不同选择出用于训练用户识别模型的训练数据。基于上述的研究,本申请实施例提供了使用不同的数据组织方式,用矩阵对乘客的打车行为进行描述,替代了描述性单一的特征向量,可以使用带残差的卷积神经网络预测乘客的有车概率。卷积神经网络处理的数据n*5的矩阵,另外,由于网络规模较小,训练的时候不会比非负矩阵分解慢。进一步地,使用本申请实施例训练的用户识别模型对用户类型进行识别时候的速度相对较快。下面通过几个具体的实施例对发明人的研究过程,研究思路进行详细介绍,具体描述如下。实施例一图1示出根据本申请的一些实施例的电子设备100的示例性硬件和软件组件的示意图。例如,处理器可以用于电子设备100上,并且用于执行本申请中的功能。电子设备100可以是通用计算机或特殊用途的计算机,两者都可以用于实现本申请的模型训练方法。本申请尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本申请描述的功能,以均衡处理负载。例如,电子设备100可以包括连接到网络的网络端口110、用于执行程序指令的一个或多个处理器120、通信总线130、和不同形式的存储介质140,例如,磁盘、rom、或ram,或其任意组合。示例性地,计算机平台还可以包括存储在rom、ram、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。电子设备100还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(input/output,i/o)接口150。为了便于说明,在电子设备100中仅描述了一个处理器。然而,应当注意,本申请中的电子设备100还可以包括多个处理器,因此本申请中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备100的处理器执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一处理器和第二处理器共同执行步骤a和b。实施例二本实施例提供一种模型训练方法。本实施例中的方法可以由一电子设备执行。该电子设备可以是与数据库通信连接的服务器,也可以是存储有数据库的服务器。上述的电子设备还可以是个人电脑等设备。图2示出了本申请一个实施例中的模型训练方法的流程图。下面对图2所示的模型训练方法的流程进行详细描述。步骤s201,获取设定用户群的应用数据。上述应用数据包括订单数据。订单数据包括用户下单时间、完成订单时间、下单所需的资源、服务提供方信息、服务请求方信息等。在网约车领域中,上述的订单数据可以为打车数据;在租车领域中,上述的订单数据可以是租车数据。上述的设定用户群包括第一类用户群以及第二类用户群。其中,第一类用户群为缺乏提供服务所需工具的用户,第二类用户群为拥有提供服务所需工具的用户。在一个实例中,在网约车应用场景中,上述的工具可以是汽车。第一类用户群则表示无车用户群,第二类用户则表示有车用户群。下面以网约车场景为例进行描述。在另一个实例中,在租车应用场景中,上述的工具可以是汽车。步骤s202,将设定用户群中的用户的订单数据转化为行为矩阵。由于各个城市的车流量的增加,很多城市都采取了在工作日限号的方式,每个工作日会限制一类车在主城区行走。例如,第一类区域包括:北京、天津、石家庄、邯郸、沧州、唐山、邢台、秦皇岛、张家口、保定、廊坊等城市;第一类区域的限号规则如下:1.限号周期为13周,限行尾号13周一轮换;2.后一个限号周期星期n限行的尾号是上一周期中相应星期n前一天的限行尾号;3.限号时间为周一至周五的非节假日。例如,北京市一年中(52周)的限号情况:周期周一周二周三周四周五月份(2017)s14,95,01,62,73,801.09~04.09s23,84,95,01,62,704.10~07.09s32,73,84,95,01,607.10~10.08s41,62,73,84,95,010.09~01.07例如,第二类区域包括:成都、贵阳、杭州、西安、郑州、南昌等城市;第二类区域的限号规则如下:1.没有明确的限号周期;2.固定的星期n限行固定的尾号,不会改变;3.限号时间为周一至周五的非节假日。例如,成都市一年中的限号情况:周期周一周二周三周四周五月份无1,62,83,74,95,92017全年在一种实施方式中,上述的第一类用户群的订单数据中包括至少两个周期的数据,每个周期包括至少两周,上述的步骤s202包括:获取所述设定用户群的订单数据每个用户在每个周期中星期一、星期二、星期三、星期四、星期五中的订单状态,所述订单状态包括存在订单和不存在订单;将存在订单的订单状态赋值为第一值,将不存在订单的订单状态赋值为第二值,得到每个有工具用户的订单向量;将每个所述有工具用户的订单向量按照以星期一、星期二、星期三、星期四、星期五为矩阵的列,以所述周期为矩阵的行形成对应用户的行为矩阵。通过将乘客的打车情况转化成行为矩阵,更直观的呈现出乘客的打车情况,另外,矩阵的表现形式可以使数据量不会太大,作为训练数据时,不会导致训练的过程很长。下面通过几个具体的实例描述,通过订单数据转化成用户的行为矩阵的方式。在一个实例中,矩阵的行可以表示划分的周期,矩阵的列可以表示星期。当然,也可以以矩阵的列表示人为划分的周期,矩阵的行表示星期。下面以矩阵的行表示人为划分的周期,矩阵的列表示星期为例进行描述。在一个实例中,可以将一段时间划分成4个季度,每个每个季度包含n个星期,其相应位置的值表示第s个季度的n个星期中,星期w的打车情况。在一些实施方式中,为了使数据归一化,打车矩阵的每个元素值可以不选择直接使用历史打车次数的直接累加,而是使用若某一天,存在打过车记录,该天打车次数可以是1也可以大于1,该天的打车记录值为1。在一个实例中,如果在第一季度的多个星期二中,其中有五个星期二都存在打车,则对应的第一季度中的星期二对应位置的元素值设置为5。对于第一类区域,由于其存在限号周期,所以以该周期来划分季度。因此,第一类区域每个季度被划分13个星期。所以,第一类区域的打车矩阵取值范围为[0,13]。对于没有车的乘客,打车是随机的,各个时间段都可能存在,且打车概率相同,则行为矩阵则可能是无规律矩阵,在一个实例中,第一类城市的某乘客的行为矩阵可以表示为如下矩阵:在另一个实例中,第一类城市中的某乘客的行为矩阵可以表示为如下矩阵:在第一类城市中,若该乘客在限号时间段存在较多的用车行为,则其打车矩阵中会出现一条明显的对角线。上述的实例可以看出,对应乘客如果有车,则车牌号的尾号可能是5或0。在第二类城市中,其没有明确周期性,所以人为的将观察时间内的n个星期4等分作为4个周期。例如观测时间为40周,将这40周等分,每个季度分得10个星期。所以,其打车矩阵的取值为[0,10]。对于没有车的乘客,打车是随机的,各个时间段都可能存在,且打车概率相同,则行为矩阵则可能是无规律的矩阵,在一个实例中,第二类城市中的某乘客的行为矩阵可以是如下矩阵:在一个实例中,第二类城市中的某乘客的行为矩阵可以是如下矩阵:在第二类城市中,若该乘客在限号时间段存在较多的用车行为,则其打车矩阵会出现一条明显的竖线。若该乘客是成都乘客,则其车牌好尾号可能是2或8。步骤s203,从所述行为矩阵中筛选出满足有工具设定条件的第一行为矩阵,并标记为有工具行为数据。在一种实施方式中,上述步骤s203可以包括:从所述行为矩阵中筛选出第一连线上的数值大于其他位置的数值的行为矩阵,并标记为第一类有工具行为数据,所述第一类有工具行为数据和无工具行为数据形成第一类训练数据。具体地,在一个实例中,针对第一类区域,则第一连线可以表示为矩阵中的一对角线或斜线,则可以选择出其行为矩阵某一对角线的取值比其它位置的取值大于设定值,例如,如果一对角线的取值之和大于其它位置的取值之和的50%,则可能是第一类区域中的有车乘客。在一种实施方式中,上述步骤s203可以包括:从所述行为矩阵中筛选出第二连线上的数值大于其他行或列的数值的行为矩阵,并标记为有工具行为数据,并标记为第二类有工具行为数据,所述第二类有工具行为数据和无工具行为数据形成第二类训练数据。上述的第二连线可以与上述的第一连线是不同规律的连线。具体地,在一个实例中,针对第二类区域,则第二连线可以表示为一竖线,则可以选择出其行为矩阵某一竖线线的取值比其它位置的取值大于设定值,例如,如果一竖线的取值之和大于其它位置的取值之和的50%,则可能是第二类区域中的有车乘客。进一步地,如果矩阵的列表示人为划分的周期,矩阵的行表示星期,则第二连线可以表示为一横线。可以理解的是,在本申请实施例的基础上,若存在其它不同于第一类区域和第二类区域的限号方式的城市,则有车用户的行为矩阵可能呈现出一种不同于斜线、竖线、横线的呈现方式,具体地,可以根据限号方式,以及该限号方式导致行为矩阵的不同,选择合适的矩阵判断规则作为筛选出来作为标记为有工具行为数据。例如,若存在其它类城市的限号情况表示为:周期周一周二周三周四周五月份(2017)s14,95,01,62,73,801.09~04.09s24,95,01,62,73,804.10~07.09s32,73,84,95,01,607.10~10.08s42,73,84,95,01,610.09~01.07则上述的其它类城市的某乘客的行为矩阵可以是如下矩阵:则上述的其它类城市的有车乘客的行为矩阵则可能呈现出折线的形式。针对上述的其它类城市的有车用户的行为矩阵的筛选,则可以选择出呈折线的矩阵。步骤s204,根据所述设定用户群的应用数据筛选出满足无工具设定条件的所述第二类用户群,并获取所述第二类用户群对应的第二行为矩阵,标记为无工具行为数据。将所述有工具行为数据及所述无工具行为数据作为训练数据。在一种实施方式中,上述的步骤s204:对所述行为矩阵进行识别,判断所述行为矩阵是否满足有工具设定条件;若否,则该行为矩阵对应的用户为无工具用户。步骤s204中对第二类用户群的筛选方式可以与步骤s203的筛选方式相同,也就是除了被筛选为第一类用户群的矩阵,其它行为矩阵则被筛选为第二类用户群对应的行为矩阵。上述的订单数据可以包括多个应用程序的订单数据。在一些实施例中,上述的应用数据包括:应用程序安装数据,上述的步骤s204可以被实现为:获取所述设定用户群的应用程序安装数据;根据应用程序安装数据匹配得到每个用户的应用程序安装向量;将每个用户的所述应用程序安装向量进行哈希hash计算,得到识别向量;将所述识别向量输入应用程序预测有工具模型进行计算,得到识别输出值;若所述识别输出值小于设定值,则判定对应用户为无工具用户。在一个设定数量的应用程序列表中,每个应用程序都存在对应的索引值。每个用户针对安装的应用程序可以形成应用程序安装向量,具体通过一个实例进行详细描述:索引值123…nn+1安装值101…10上述的安装值为1表示为用户安装有对应的应用程序,安装值为0表示用户未安装对应的应用程序。由于设定数量的应用程序列表中对应形成的向量比较大,则可以通过hash计算映射到一个较短的向量中,形成识别向量。在一个实例中,设定数量的应用程序列表可以包括10万个应用程序,这10万个应用程序对应的初始索引值为0~99999。可以是使用的hash函数为余除,在一个实例中,上述的识别向量的维度可以是2000,对应的索引为0~1999。通过映射,将10万应用程序分到了2000维的向量中,这2000维的向量就是app预测有车模型的输入。实际输入中,乘客拥有某个app(application,称为:应用程序),该app对应的映射到的2000维向量中的相应位置就为1,若没有的话,相应位置对应的值就为0。进一步地,可以将上述的识别模型输入app预测有车模型直接使用lr(logisticregression,中文称:逻辑回归)进行训练,经过多轮迭代,可以得到是否为无工具用户的概率值。对于基于限号行为预测有车模型来说,可以通过将app预测有车概率低于设定值的用户认定为是无工具用户。上述的设定值可以根据需求设置,例如精确度要求比较高可以选择较小的值。在一个实例中上述的设定值可以选择0.1。本实施例中的各个步骤的执行顺序并不以图2所示的流程图所示意的为限,具体地,若步骤s204不需要通过行为矩阵进行识别时,可以在步骤s202之前执行,也可以在步骤s203之后执行。若步骤s204需要通过行为矩阵进行识别时,可以在步骤s202之后及步骤s203之前执行,也可以在步骤s203之后执行。步骤s205,将所述训练数据输入待训练模型中进行训练得到用户识别模型。在一种实施方式中,步骤s205可以包括:将所述第一类训练数据输入待训练模型中进行训练得到,第一用户识别模型。在另一种实施方式中,步骤s205可以包括:将所述第二类训练数据输入待训练模型中进行训练得到,第二用户识别模型。在一些实施例中,所述待训练模型依次包括:设定卷积层、第一区块、所述设定卷积层、所述第一区块、第二区块、所述第一区块、所述第一区块、dense层;所述将所述训练数据输入待训练模型中进行训练得到用户识别模型的步骤,包括:将所述训练数据输入所述待训练模型中依次经过设定卷积层、第一区块、所述设定卷积层、所述第一区块、第二区块、所述第一区块、所述第一区块及dense层进行训练。如图3所示,结合附图对待训练模型进行详细介绍。本实施例提供的待训练模型为一cnn(convolutionalneuralnetworks)model。首先,通过输入层(input)将数据传输至卷积计算层(conv),卷积计算层计算之后输入relu激励层,然后传输至第一区块(ablock);然后再传输至卷积计算层(conv),卷积计算层计算之后输入relu激励层,然后传输至第一区块(ablock);然后依次传输至第二区块(bblock)、第一区块(ablock)、第一区块(ablock)进行计算;再依次通过三层神经网络层(dense)后输出结果。在一些实施例中,所述第一区块包括:两个1*1的卷积核和一个3*3的卷积核,其中,3*3的卷积核设置在两个1*1的卷积核之间。所述第一区块的训练过程为:将输入数据输入两个1*1的卷积核和一个3*3的卷积核分别进行计算,得到预输出数据;将所述输入数据与所述预输出数据相加得到第一区块输出结果。下面结合附图进行详细描述第一区块的结构,以及数据流向,具体描述如下:具体地,如图4所示,第一区块数据流向可以表示为:输入层(input)将输入数据输入一个1*1的卷积核(conv1/1)、然后经过批归一化层(bn,batchnormalization)和relu激励层;然后再输入一个3*3的卷积核(conv1/1)、然后经过批归一化层(bn,batchnormalization)和relu激励层;然后再输入一个1*1的卷积核(conv1/1)、然后经过批归一化层(bn,batchnormalization),得到预输出数据;输入数据与该预输出数据相加得到第一区块输出结果。在一些实施例中,所述第二区块包括:第一路结构和第二路结构;所述第一路结构包括:步长为2的1*1的卷积核,3*3的卷积核以及1*1的卷积核;所述第二路结构包括:步长为2的1*1的卷积核。所述第一区块的训练过程为:将输入数据输入第一路结构进行计算得到第一输出结果;将所述输入数据输入第二路结构进行计算得到第二输出结果;将所述第一输出结果与所述第二输出结果相加得到第二区块输出结果。具体地,如图5所示,第一区块可以表示为:第一路结构数据流向:输入层(input)将输入数据输入一个步长为2的1*1的卷积核(conv1/1)、然后经过批归一化层(bn,batchnormalization)和relu激励层;然后再输入一个3*3的卷积核(conv1/1)、然后经过批归一化层(bn,batchnormalization)和relu激励层;然后再输入一个1*1的卷积核(conv1/1)、然后经过批归一化层(bn,batchnormalization),得到第一预输出数据;第二路结构数据流向:输入层(input)将输入数据一个步长为2的1*1的卷积核(conv1/1)进行计算得到第二预输出数据;将上述的第二预输出数据与第二预输出数据相加得到第二区块输出结果。本申请实施例通过残差卷积神经网络:在卷积神将网络中,加入残差连接,将上层的输入数据加到后面的网络输出中。可以使训练过程中可以更快,也能够使训练得到的用户识别模型能够更准确地实现模型训练。实施例三本实施例提供一种用户识别方法。本实施例中的方法可以由一电子设备执行。图6示出了本申请一个实施例中的用户识别方法的流程图。下面对图6所示的用户识别方法的流程进行详细描述。步骤s301,获取目标用户的历史订单数据。步骤s302,根据所述历史订单数据转化成目标行为矩阵。可选地,步骤s302的实现方式可以使用步骤s202的转化方式类似的方式。步骤s303,将所述目标行为矩阵输入用户识别模型中进行识别,得到所述目标用户的用户类型。上述的用户类型包括有工具用户或无工具用户。通过使用上述的用户识别模型可以快速地识别出用户的类型,可以实现对应用户的了解,以方便后台可以根据用户的类型为用户推荐合适的咨询,以提高用户在对应平台的活跃度。进一步,在识别出用户的类型后,还可以进一步地为用户匹配使用资源,可以增加该用户在应用平台的活跃度,还包括:将识别为有工具用户匹配对应的使用资源;并将所述使用资源发送给所述有工具用户对应的终端。上述的使用资源可以是抵扣券、折扣券等。在一个实例中,一用户被识别为有车用户,则可以识别出用户的打车规律,根据用户的打车规律为,用户推送在打车时间段比较高的时间段推送抵扣券、折扣券,以使用户能够更快地接受平台的服务,也能够提高用户的使用订单的体验。实施例四基于同一申请构思,本申请实施例中还提供了与模型训练方法对应的模型训练装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述模型训练方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。图7是示出本申请的一些实施例的模型训练装置的框图,该模型训练装置实现的功能对应上述方法执行的步骤。该装置可以理解为上述服务器,或服务器的处理器,也可以理解为独立于上述服务器或处理器之外的在服务器控制下实现本申请功能的组件,如7图所示,模型训练装置可以包括:第一获取模块401、第一转化模块402、第一筛选模块403、第二筛选模块404、以及训练模块405;其中,第一获取模块401,用于获取设定用户群的应用数据,所述应用数据包括订单数据,所述设定用户群包括第一类用户群以及第二类用户群,所述第一类用户群为缺乏提供服务所需工具的用户,所述第二类用户群为拥有提供服务所需工具的用户;第一转化模块402,用于将所述设定用户群中的用户的订单数据转化为行为矩阵;第一筛选模块403,用于从所述行为矩阵中筛选出满足有工具设定条件的第一行为矩阵,并标记为有工具行为数据;第二筛选模块404,用于根据所述设定用户群的应用数据筛选出满足无工具设定条件的所述第二类用户群,并获取所述第二类用户群对应的第二行为矩阵,标记为无工具行为数据,将所述有工具行为数据及所述无工具行为数据作为训练数据;训练模块405,用于将所述训练数据输入待训练模型中进行训练得到用户识别模型。在一些实施例中,所述第一筛选模块403,还用于:从所述行为矩阵中筛选出第一连线上的数值大于其他位置的数值的行为矩阵,并标记为第一类有工具行为数据,所述第一类有工具行为数据和无工具行为数据形成第一类训练数据;所述将所述训练数据输入待训练模型中进行训练得到,用户识别模型的步骤,包括:将所述第一类训练数据输入待训练模型中进行训练得到,第一用户识别模型。在一些实施例中,所述第一筛选模块403,还用于:从所述行为矩阵中筛选出第二连线上的数值大于其他行或列的数值的行为矩阵,并标记为有工具行为数据,并标记为第二类有工具行为数据,所述第二类有工具行为数据和无工具行为数据形成第二类训练数据;所述将所述训练数据输入待训练模型中进行训练得到,用户识别模型的步骤,包括:将所述第二类训练数据输入待训练模型中进行训练得到,第二用户识别模型。在一些实施例中,所述第一类用户群的订单数据中包括至少两个周期的数据,每个周期包括至少两周,所述第一转化模块402,还用于:获取所述设定用户群的订单数据每个用户在每个周期中星期一、星期二、星期三、星期四、星期五中的订单状态,所述订单状态包括存在订单和不存在订单;将存在订单的订单状态赋值为第一值,将不存在订单的订单状态赋值为第二值,得到每个有工具用户的订单向量;将每个所述有工具用户的订单向量按照以星期一、星期二、星期三、星期四、星期五为矩阵的列,以所述周期为矩阵的行形成对应用户的行为矩阵。在一些实施例中,所述第二筛选模块404,还用于:对所述行为矩阵进行识别,判断所述行为矩阵是否满足有工具设定条件;若否,则该行为矩阵对应的用户为无工具用户。在一些实施例中,所述应用数据包括:应用程序安装数据,所述第二筛选模块404,还用于:获取所述设定用户群的应用程序安装数据;根据应用程序安装数据匹配得到每个用户的应用程序安装向量;将每个用户的所述应用程序安装向量进行哈希计算,得到识别向量;将所述识别向量输入应用程序预测有工具模型进行计算,得到识别输出值;若所述识别输出值小于设定值,则判定对应用户为无工具用户。在一些实施例中,所述待训练模型依次包括:设定卷积层、第一区块、所述设定卷积层、所述第一区块、第二区块、所述第一区块、所述第一区块、dense层;所述训练模块405,还用于:将所述训练数据输入所述待训练模型中依次经过设定卷积层、第一区块、所述设定卷积层、所述第一区块、第二区块、所述第一区块、所述第一区块及dense层进行训练。在一些实施例中,所述第一区块包括:两个1*1的卷积核和一个3*3的卷积核,其中,3*3的卷积核设置在两个1*1的卷积核之间;所述第一区块的训练过程为:将输入数据输入两个1*1的卷积核和一个3*3的卷积核分别进行计算,得到预输出数据;将所述输入数据与所述预输出数据相加得到第一区块输出结果。在一些实施例中,所述第二区块包括:第一路结构和第二路结构;所述第一路结构包括:步长为2的1*1的卷积核,3*3的卷积核以及1*1的卷积核;所述第二路结构包括:步长为2的1*1的卷积核;所述第一区块的训练过程为:将输入数据输入第一路结构进行计算得到第一输出结果;将所述输入数据输入第二路结构进行计算得到第二输出结果;将所述第一输出结果与所述第二输出结果相加得到第二区块输出结果。上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过lan、wan、蓝牙、zigbee、或nfc等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。实施例五基于同一申请构思,本申请实施例中还提供了与用户识别方法对应的用户识别装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述用户识别方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。图8是示出本申请的一些实施例的用户识别装置的框图,该用户识别装置实现的功能对应上述方法执行的步骤。该装置可以理解为上述服务器,或服务器的处理器,也可以理解为独立于上述服务器或处理器之外的在服务器控制下实现本申请功能的组件,如图8所示,用户识别装置可以包括:第二获取模块501、第二转化模块502以及识别模块503,其中,第二获取模块501,用于获取目标用户的历史订单数据;第二转化模块502,用于根据所述历史订单数据转化成目标行为矩阵;识别模块503,用于将所述目标行为矩阵输入上述的用户识别模型中进行识别,得到所述目标用户的用户类型;所述用户类型包括有工具用户或无工具用户。在一些实施例中,用户识别装置还包括:匹配模块504,用于将识别为有工具用户匹配对应的使用资源;发送模块505,用于并将所述使用资源发送给所述有工具用户对应的终端。上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过lan、wan、蓝牙、zigbee、或nfc等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的模型训练方法的步骤。本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的用户识别方法的步骤。本申请实施例所提供的模型训练方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的模型训练方法的步骤,具体可参见上述方法实施例,在此不再赘述。本申请实施例所提供的用户识别方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的用户识别方法的步骤,具体可参见上述方法实施例,在此不再赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1