基于多源数据的对象推送方法、电子装置及存储介质转让专利

申请号 : CN202010002173.2

文献号 : CN111177568B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 喻宁陈克炎朱艳乔

申请人 : 平安科技(深圳)有限公司

摘要 :

本发明涉及数据推送技术,提供了一种基于多源数据的对象推送方法、电子装置及存储介质。该方法通过对获取对象属性数据执行预处理后作为训练样本,构建神经网络模型后利用第一计算规则计算出隐含层节点数量的取值范围,基于训练样本集及第二计算规则计算出神经网络模型在隐含层节点数量为各取值时的学习误差,将学习误差最小的神经网络模型作为对象等级识别模型,响应用户发出的推送对象的请求,基于用户的位置信息获取第一距离范围的对象识别后进行推送,若预设时长内未收到用户的确认信息,再获取第二距离范围的对象进行识别并推送。本发明可提高对象等级识别的准确率,从而实现对用户需求对象的精准推送。

权利要求 :

1.一种基于多源数据的对象推送方法,应用于电子装置,其特征在于,所述方法包括:获取步骤:从预设的多个数据源获取预设数量的对象的属性数据,对所述属性数据执行预处理,将预处理后的属性数据作为训练样本集;

构建步骤:构建神经网络模型并设定该神经网络模型的初始参数,利用第一计算规则计算出该神经网络模型的隐含层节点数量的取值范围,根据第二计算规则及所述训练样本集,分别计算所述隐含层节点数量等于所述取值范围中各取值时的神经网络模型的学习误差,将学习误差取值最小时确定的神经网络模型作为对象等级识别模型;

第一推送步骤:响应用户发出的推送对象的请求,获取所述用户的位置信息,查找与所述位置信息对应的第一距离范围内的第一对象集,从数据库读取所述第一对象集的属性数据输入所述对象等级识别模型,得到所述第一对象集中各对象的等级信息后推荐至所述用户并生成时间戳;及第二推送步骤:基于所述时间戳侦测在预设时长内是否接收到所述用户发送的确认信息,若未接收到确认信息,则查找与所述位置信息对应的第二距离范围内的第二对象集,从所述第二对象集中筛除所述第一对象集得到第三对象集,从所述数据库读取所述第三对象集的属性数据输入所述对象等级识别模型,得到所述第三对象集中各对象的等级信息后推送至所述用户;

所述第一计算规则包括:

其中,K表示训练样本集中样本的个数,n1表示神经网络模型的隐含层节点数量,n表示神经网络模型的输入层节点数量,i表示[0,n]的整数;

所述第二计算规则包括:

loss(θ)=(yi-η(Xi,w,β))2,

其中,loss(θ)表示所述神经网络模型输出层的实际输出与目标输出的误差,yi为第i个样本的目标输出,η(Xi,w,β)表示第i个样本的实际输出,Xi表示所述神经网络模型输入层节点的输入值,w,β为权值,η表示学习速率。

2.如权利要求1所述的基于多源数据的对象推送方法,其特征在于,所述预处理包括数据清洗处理及聚合处理,所述聚合处理包括:对所述属性数据中的重复数据进行聚合,得到去重后的聚合数据;

确定属性数据聚合处理前的数量为A,确定所述聚合数据中数据的数量为B,根据A和B建立索引向量,其中,索引向量的长度为A,索引向量的取值范围为[-B,-1]∪[1,B]中的整数;

随机读取索引向量的取值,并根据所述取值从所述聚合数据中获取对应的数据,将获取到的数据作为所述预处理后的属性数据。

3.如权利要求1至2中任意一项所述的基于多源数据的对象推送方法,其特征在于,所述第二距离的数值大于所述第一距离的数值。

4.一种电子装置,该电子装置包括存储器及处理器,其特征在于,所述存储器上存储基于多源数据的对象推送程序,所述基于多源数据的对象推送程序被所述处理器执行,实现如下步骤:获取步骤:从预设的多个数据源获取预设数量的对象的属性数据,对所述属性数据执行预处理,将预处理后的属性数据作为训练样本集;

构建步骤:构建神经网络模型并设定该神经网络模型的初始参数,利用第一计算规则计算出该神经网络模型的隐含层节点数量的取值范围,根据第二计算规则及所述训练样本集,分别计算所述隐含层节点数量等于所述取值范围中各取值时的神经网络模型的学习误差,将学习误差取值最小时确定的神经网络模型作为对象等级识别模型;

第一推送步骤:响应用户发出的推送对象的请求,获取所述用户的位置信息,查找与所述位置信息对应的第一距离范围内的第一对象集,从数据库读取所述第一对象集的属性数据输入所述对象等级识别模型,得到所述第一对象集中各对象的等级信息后推荐至所述用户并生成时间戳;及第二推送步骤:基于所述时间戳侦测在预设时长内是否接收到所述用户发送的确认信息,若未接收到确认信息,则查找与所述位置信息对应的第二距离范围内的第二对象集,从所述第二对象集中筛除所述第一对象集得到第三对象集,从所述数据库读取所述第三对象集的属性数据输入所述对象等级识别模型,得到所述第三对象集中各对象的等级信息后推送至所述用户;

所述第一计算规则包括:

其中,K表示训练样本集中样本的个数,n1表示神经网络模型的隐含层节点数量,n表示神经网络模型的输入层节点数量,i表示[0,n]的整数;

所述第二计算规则包括:

loss(θ)=(yi-η(Xi,w,β))2,

其中,loss(θ)表示所述神经网络模型输出层的实际输出与目标输出的误差,yi为第i个样本的目标输出,η(Xi,w,β)表示第i个样本的实际输出,Xi表示所述神经网络模型输入层节点的输入值,w,β为权值,η表示学习速率。

5.如权利要求4所述的电子装置,其特征在于,所述预处理包括数据清洗处理及聚合处理,所述聚合处理包括:对所述属性数据中的重复数据进行聚合,得到去重后的聚合数据;

确定属性数据聚合处理前的数量为A,确定所述聚合数据中数据的数量为B,根据A和B建立索引向量,其中,索引向量的长度为A,索引向量的取值范围为[-B,-1]∪[1,B]中的整数;

随机读取索引向量的取值,并根据所述取值从所述聚合数据中获取对应的数据,将获取到的数据作为所述预处理后的属性数据。

6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括基于多源数据的对象推送程序,所述基于多源数据的对象推送程序被处理器执行时,实现如权利要求1至3中任一项所述基于多源数据的对象推送方法的步骤。

说明书 :

基于多源数据的对象推送方法、电子装置及存储介质

技术领域

[0001] 本发明涉及数据推送领域,尤其涉及一种基于多源数据的对象推送方法、电子装置及存储介质。

背景技术

[0002] 目前,关于对象的识别推送,通常是将待识别的对象的各类因素与参考对象进行比较而确定是否推送给用户的,但是参考对象的确定往往是人为主观的选择,导致该方法识别的准确性较低,推送结果与用户实际需求偏差较大。虽然市面上出现了自动识别推送的技术方案,但这些方案通常是基于某种预测算法进行,存在准确性不高、灵活性不足或对于系统性能的要求较高等技术问题。

发明内容

[0003] 鉴于以上内容,本发明提供一种基于多源数据的对象推送方法、电子装置及存储介质,其目的在于解决现有技术中因识别不准确导致的推送的对象准确性低的问题。
[0004] 为实现上述目的,本发明提供一种基于多源数据的对象推送方法,该方法包括:
[0005] 获取步骤:从预设的多个数据源获取预设数量的对象的属性数据,对所述属性数据执行预处理,将预处理后的属性数据作为训练样本集;
[0006] 构建步骤:构建神经网络模型并设定该神经网络模型的初始参数,利用第一计算规则计算出该神经网络模型的隐含层节点数量的取值范围,根据第二计算规则及所述训练样本集,分别计算所述隐含层节点数量等于所述取值范围中各取值时的神经网络模型的学习误差,将学习误差取值最小时确定的神经网络模型作为对象等级识别模型;
[0007] 第一推送步骤:响应用户发出的推送对象的请求,获取所述用户的位置信息,查找与所述位置信息对应的第一距离范围内的第一对象集,从数据库读取所述第一对象集的属性数据输入所述对象等级识别模型,得到所述第一对象集中各对象的等级信息后推荐至所述用户并生成时间戳;及
[0008] 第二推送步骤:基于所述时间戳侦测在预设时长内是否接收到所述用户发送的确认信息,若未接收到确认信息,则查找与所述位置信息对应的第二距离范围内的第二对象集,从所述第二对象集中筛除所述第一对象集得到第三对象集,从所述数据库读取所述第三对象集的属性数据输入所述对象等级识别模型,得到所述第三对象集中各对象的等级信息后推送至所述用户。
[0009] 优选的,所述预处理包括数据清洗处理及聚合处理,所述聚合处理包括:
[0010] 对所述属性数据中的重复数据进行聚合,得到去重后的聚合数据;
[0011] 确定属性数据聚合处理前的数量为A,确定所述聚合数据中数据的数量为B,根据A和B建立索引向量,其中,索引向量的长度为A,索引向量的取值范围为[-B,-1]∪[1,B]中的整数;
[0012] 随机读取索引向量的取值,并根据所述取值从所述聚合数据中获取对应的数据,将获取到的数据作为所述预处理后的属性数据。
[0013] 优选的,所述第一计算规则包括:
[0014]
[0015] 其中,K表示训练样本集中样本的个数,n1表示神经网络模型的隐含层节点数量,n表示神经网络模型的输入层节点数量,i表示[0,n]的整数。
[0016] 优选的,所述第二计算规则包括:
[0017] loss(θ)=(yi-η(Xi,w,β))2,
[0018] 其中,loss(θ)表示所述神经网络模型输出层的实际输出与目标输出的误差,yi为第i个样本的目标输出,η(Xi,w,β)表示第i个样本的实际输出,Xi表示所述神经网络模型输入层节点的输入值,w,β为权值,η表示学习速率。
[0019] 优选的,所述第二距离的数值大于所述第一距离的数值。
[0020] 为实现上述目的,本发明还提供一种电子装置,该电子装置包括:存储器及处理器,所述存储器上存储基于多源数据的对象推送程序,所述基于多源数据的对象推送程序被所述处理器执行,实现如下步骤:
[0021] 获取步骤:从预设的多个数据源获取预设数量的对象的属性数据,对所述属性数据执行预处理,将预处理后的属性数据作为训练样本集;
[0022] 构建步骤:构建神经网络模型并设定该神经网络模型的初始参数,利用第一计算规则计算出该神经网络模型的隐含层节点数量的取值范围,根据第二计算规则及所述训练样本集,分别计算所述隐含层节点数量等于所述取值范围中各取值时的神经网络模型的学习误差,将学习误差取值最小时确定的神经网络模型作为对象等级识别模型;
[0023] 第一推送步骤:响应用户发出的推送对象的请求,获取所述用户的位置信息,查找与所述位置信息对应的第一距离范围内的第一对象集,从数据库读取所述第一对象集的属性数据输入所述对象等级识别模型,得到所述第一对象集中各对象的等级信息后推荐至所述用户并生成时间戳;及
[0024] 第二推送步骤:基于所述时间戳侦测在预设时长内是否接收到所述用户发送的确认信息,若未接收到确认信息,则查找与所述位置信息对应的第二距离范围内的第二对象集,从所述第二对象集中筛除所述第一对象集得到第三对象集,从所述数据库读取所述第三对象集的属性数据输入所述对象等级识别模型,得到所述第三对象集中各对象的等级信息后推送至所述用户。
[0025] 优选的,所述预处理包括数据清洗处理及聚合处理,所述聚合处理包括:
[0026] 对所述属性数据中的重复数据进行聚合,得到去重后的聚合数据;
[0027] 确定属性数据聚合处理前的数量为A,确定所述聚合数据中数据的数量为B,根据A和B建立索引向量,其中,索引向量的长度为A,索引向量的取值范围为[-B,-1]∪[1,B]中的整数;
[0028] 随机读取索引向量的取值,并根据所述取值从所述聚合数据中获取对应的数据,将获取到的数据作为所述预处理后的属性数据。
[0029] 优选的,所述第一计算规则包括:
[0030]
[0031] 其中,K表示训练样本集中样本的个数,n1表示神经网络模型的隐含层节点数量,n表示神经网络模型的输入层节点数量,i表示[0,n]的整数。
[0032] 优选的,所述第二计算规则包括:
[0033] loss(θ)=(yi-η(Xi,w,β))2,
[0034] 其中,loss(θ)表示所述神经网络模型输出层的实际输出与目标输出的误差,yi为第i个样本的目标输出,η(Xi,w,β)表示第i个样本的实际输出,Xi表示所述神经网络模型输入层节点的输入值,w,β为权值,η表示学习速率。
[0035] 为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括基于多源数据的对象推送程序,所述基于多源数据的对象推送程序被处理器执行时,实现如上所述基于多源数据的对象推送方法中的任意步骤。
[0036] 本发明提出的基于多源数据的对象推送方法、电子装置及存储介质,通过对获取的对象属性数据执行预处理,基于训练样本集和预设计算规则计算隐含层的节点数量在各取值范围下的神经网络模型的学习误差,将学习误差最小的神经网络模型作为对象等级识别模型,可提高对象等级识别的精度,从而实现对用户需求对象的准确推送,当侦测到用户发出推送对象的请求时,基于用户的位置信息获取预设距离范围的对象识别后进行推送,若预设时长内没收到用户的确认信息,再获取第二距离的对象进行识别推送,从而避免一次性获取过多的对象属性数据,造成系统负荷较大。

附图说明

[0037] 图1为本发明电子装置较佳实施例的示意图;
[0038] 图2为图1中基于多源数据的对象推送程序较佳实施例的模块示意图;
[0039] 图3为本发明基于多源数据的对象推送方法较佳实施例的流程图;
[0040] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0041] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042] 参照图1所示,为本发明电子装置1较佳实施例的示意图。
[0043] 该电子装置1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子装置1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of  Mobile communication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
[0044] 其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子装置1的外部存储设备,例如该电子装置1配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述电子装置1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子装置1的操作系统和各类应用软件,例如基于多源数据的对象推送程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0045] 处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子装置1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行基于多源数据的对象推送程序10的程序代码等。
[0046] 显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器13用于显示在电子装置1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。
[0047] 网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),该网络接口14通常用于在所述电子装置1与其它电子设备之间建立通信连接。
[0048] 图1仅示出了具有组件11-14以及基于多源数据的对象推送程序10的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0049] 可选地,所述电子装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘,可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
[0050] 该电子装置1还可以包括射频(Radio Frequency,RF)电路、传感器和音频电路等等,在此不再赘述。
[0051] 在上述实施例中,处理器12执行存储器11中存储的基于多源数据的对象推送程序10时可以实现如下步骤:
[0052] 获取步骤:从预设的多个数据源获取预设数量的对象的属性数据,对所述属性数据执行预处理,将预处理后的属性数据作为训练样本集;
[0053] 构建步骤:构建神经网络模型并设定该神经网络模型的初始参数,利用第一计算规则计算出该神经网络模型的隐含层节点数量的取值范围,根据第二计算规则及所述训练样本集,分别计算所述隐含层节点数量等于所述取值范围中各取值时的神经网络模型的学习误差,将学习误差取值最小时确定的神经网络模型作为对象等级识别模型;
[0054] 第一推送步骤:响应用户发出的推送对象的请求,获取所述用户的位置信息,查找与所述位置信息对应的第一距离范围内的第一对象集,从数据库读取所述第一对象集的属性数据输入所述对象等级识别模型,得到所述第一对象集中各对象的等级信息后推荐至所述用户并生成时间戳;及
[0055] 第二推送步骤:基于所述时间戳侦测在预设时长内是否接收到所述用户发送的确认信息,若未接收到确认信息,则查找与所述位置信息对应的第二距离范围内的第二对象集,从所述第二对象集中筛除所述第一对象集得到第三对象集,从所述数据库读取所述第三对象集的属性数据输入所述对象等级识别模型,得到所述第三对象集中各对象的等级信息后推送至所述用户。
[0056] 所述存储设备可以为电子装置1的存储器11,也可以为与电子装置1通讯连接的其它存储设备。
[0057] 关于上述步骤的详细介绍,请参照下述图2关于基于多源数据的对象推送程序10实施例的程序模块图以及图3关于基于多源数据的对象推送方法实施例的流程图的说明。
[0058] 在其他实施例中,所述基于多源数据的对象推送程序10可以被分割为多个模块,该多个模块被存储于存储器12中,并由处理器13执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
[0059] 参照图2所示,为图1中基于多源数据的对象推送程序10一实施例的程序模块图。在本实施例中,所述基于多源数据的对象推送程序10可以被分割为:获取模块110、构建模块120、第一推送模块130及第二推送模块140。
[0060] 获取模块110,用于从预设的多个数据源获取预设数量的对象的属性数据,对所述属性数据执行预处理,将预处理后的属性数据作为训练样本集。
[0061] 在本实施例中,以对象为商圈为例对方案进行说明。预先确定的数据源可以是第三方的商圈信息搜索网站,还可以是政府公开数据的网站、GIS信息等,商圈的属性数据包括商圈的类型(例如,美食、购物、丽人等)、商圈的商铺数量、商铺的人均消费、商圈的日均人流量、商圈名称等,除此之外,还可以获取商圈所属的城市的信息(例如,城市常驻人口规模、城市GDP、商业资源集聚度、城市人均收入)。可以理解的是,随着时间的推移,商圈的属性数据会发生较大的变化,为了使获取的数据更符合当前的实际情况,还可以在时间维度上对商圈的属性数据进行筛选,保留商圈在预设时间内(例如,距离当前时间两年内)的数据。
[0062] 对获取到的商圈属性数据可执行预处理,预处理包括数据清洗处理及聚合处理,数据清洗处理包括去除缺失值和去除无效值,由于通过互联网爬虫技术获取的商圈数据可能存在部分数据重合的问题,还可以对商圈属性数据中重复数据进行聚合,得到去重后的聚合数据,确定属性数据聚合处理前的数量为A,确定所述聚合数据中数据的数量为B,根据A和B建立索引向量,其中,索引向量的长度为A,索引向量的取值范围为[-B,-1]∪[1,B]中的整数,随机读取索引向量的取值,并根据所述取值从所述聚合数据中获取对应的数据,将获取到的数据作为所述预处理后的属性数据。进一步地,还可以对属性数据作归一化处理,以使商圈的数值型属性数据的数值在[0,1]的范围内。
[0063] 构建模块120,用于构建神经网络模型并设定该神经网络模型的初始参数,利用第一计算规则计算出该神经网络模型的隐含层节点数量的取值范围,根据第二计算规则及所述训练样本集,分别计算所述隐含层节点数量等于所述取值范围中各取值时的神经网络模型的学习误差,将学习误差取值最小时确定的神经网络模型作为对象等级识别模型。
[0064] 在本实施例中,构造神经网络模型,建立具有一个输入层,一个隐含层和一个输出层的三层神经网络模型。以商圈的属性数据的特征值作为神经网络的自变量,预先为商圈标注不同的等级,将商圈标注的等级作为神经网络的因变量,生成训练样本集。其中,商圈的属性数据的特征值包括商圈的商铺数量、商铺的人均消费、商圈的日均人流量、商圈所属城市的常驻人口数、商圈所属城市的GDP。商圈标注的等级包括:A级商圈、B级商圈、C级商圈、D级商圈。即确定输入层的节点数量为5,输出层节点数量为4。隐含层节点数量过少的话,会导致神经网络所能获取的信息太少,且无法产生足够的连接权组合数来满足样本的学习,数量过多的话,会使模型训练时间增加,神经网络的容错性差,导致测试误差增大,模型的泛化能力下降。因此,本实施例是根据输入层的节点数量、输出层节点数量及第一计算规则,计算得到隐含层节点数量的取值范围,第一计算规则包括:
[0065]
[0066] 其中,n1为隐含层节点数量,n为输入层节点数量,m为输出层节点数量,a为常数,a取值范围为[1,10]。即隐含层节点数量最大为13,最小为4。通过使隐含层节点数在4至13之间的取值时,比较网络训练结果的学习误差来选择隐含层的最佳隐含层的节点数。
[0067] 在一个实施例中,第一计算规则还包括:
[0068]
[0069] 其中,K表示训练样本集中样本的个数,n1表示神经网络模型的隐含层节点数量,n表示神经网络模型的输入层节点数量,i表示[0,n]的整数。
[0070] 设定该神经网络模型的初始参数包括:将神经网络初始的权值随机赋值为[-1,1]的值,能有效的避免网络计算过早的进入饱和区,并设定学习误差为0.0005,学习速率η为0.05,最大循环次数为5000次,隐含层和输出层的传递函数为Tang function函数,使用此激活函数可并避免梯度消失的情况。
[0071] 具体的训练步骤包括:根据预先设定神经网络的参数,首先将隐含层节点数的初始值设为4,计算隐含层和输出层的各节点输出,再计算输出层的实际输出与目标输出的误差,将目标输出误差与预先设定的学习误差进行大小比较,当目标输出误差大于预设的学习误差时,则对神经网络的权值进行调整,直到输出层所有节点的目标输出误差均小于学习误差,再逐一增加隐含层节点的个数并重复上述的网络训练,隐含层节点数的取值范围介于4和13之间,直到隐含层节点数增加到13停止。分别比较不同隐含层节点数量下的神经网络的学习误差,将学习误差最小的神经网络模型作为对象(商圈)等级识别模型。
[0072] 输出层的实际输出与目标输出的误差公式即第二计算规则为:
[0073] loss(θ)=(yi-η(Xi,w,β))2,
[0074] 其中,loss(θ)表示神经网络模型输出层的实际输出与目标输出的误差,yi为第i个样本的目标输出,η(Xi,w,β)表示第i个样本的实际输出,Xi表示神经网络模型输入层节点的输入值,w,β为权值,η表示学习速率。
[0075] 第一推送模块130,用于响应用户发出的推送对象的请求,获取所述用户的位置信息,查找与所述位置信息对应的第一距离范围内的第一对象集,从数据库读取所述第一对象集的属性数据输入所述对象等级识别模型,得到所述第一对象集中各对象的等级信息后推荐至所述用户并生成时间戳。
[0076] 在本实施例中,以对象为商圈为例对本方案进行说明。用户触发电子装置获取推送商圈的条件可以有多个,当侦测到用户发出的推送对象的请求时,获取用户的位置信息,或者,当侦测到用户的行为符合商圈推荐的条件时,响应用户发出的推送对象的请求,利用GPS信号获取该用户的位置信息,用户发出推送商圈的请求可以是通过预设的推荐入口触发该请求,预设的推荐入口可以是用户交互界面中“点击获取推荐商圈”入口、“手机摇一摇获取推荐商圈”等入口。
[0077] 获取用户的位置信息后,查找与用户位置信息对应第一距离范围内(例如,5公里)的第一商圈集,从预设数据库(例如,相关的商圈信息搜索网站)读取第一商圈集中各个商圈的属性数据,将读取到的属性数据输入对象等级识别模型,得到第一商圈集中各个商圈的等级信息,将等级信息反馈至用户并生成时间戳。
[0078] 第二推送模块140,用于基于所述时间戳侦测在预设时长内是否接收到所述用户发送的确认信息,若未接收到确认信息,则查找与所述位置信息对应的第二距离范围内的第二对象集,从所述第二对象集中筛除所述第一对象集得到第三对象集,从所述数据库读取所述第三对象集的属性数据输入所述对象等级识别模型,得到所述第三对象集中各对象的等级信息后推送至所述用户。
[0079] 在本实施例中,当推送了第一距离范围内的商圈等级给用户时,根据生成的时间戳侦测在预设时间(例如,60秒)内是否接收到用户发送的确认信息,确认信息可以是用户在交互界面中反馈的第一距离范围内是否存在符合用户需求等级的商圈,当第一距离范围内的商圈等级都不符合用户需求商圈等级时(即未接收到确认信息),则查找与用户的位置信息对应第二距离范围内(例如10公里)的第二商圈集,其中,第二距离的数值大于第一距离的数值,为了避免重复推送第一商圈集中的商圈,从第二商圈集中筛除第一商圈集后得到第三商圈集,从预设数据库读取第三商圈集中各商圈的属性数据,将该属性数据输入所述对象等级识别模型,得到第三商圈集的等级信息并反馈至用户。
[0080] 此外,本发明还提供一种基于多源数据的对象推送方法。参照图3所示,为本发明基于多源数据的对象推送方法的实施例的方法流程示意图。电子装置1的处理器12执行存储器11中存储的基于多源数据的对象推送程序10时实现基于多源数据的对象推送方法的如下步骤:
[0081] 步骤S10:从预设的多个数据源获取预设数量的对象的属性数据,对所述属性数据执行预处理,将预处理后的属性数据作为训练样本集。
[0082] 在本实施例中,以对象为商圈为例对方案进行说明。预先确定的数据源可以是第三方的商圈信息搜索网站,还可以是政府公开数据的网站、GIS信息等,商圈的属性数据包括商圈的类型(例如,美食、购物、丽人等)、商圈的商铺数量、商铺的人均消费、商圈的日均人流量、商圈名称等,除此之外,还可以获取商圈所属的城市的信息(例如,城市常驻人口规模、城市GDP、商业资源集聚度、城市人均收入)。可以理解的是,随着时间的推移,商圈的属性数据会发生较大的变化,为了使获取的数据更符合当前的实际情况,还可以在时间维度上对商圈的属性数据进行筛选,保留商圈在预设时间内(例如,距离当前时间两年内)的数据。
[0083] 对获取到的商圈属性数据执行预处理,预处理包括数据清洗处理及聚合处理,数据清洗处理包括去除缺失值和去除无效值,由于通过互联网爬虫技术获取的商圈数据可能存在部分数据重合的问题,还可以对商圈属性数据中重复数据进行聚合,得到去重后的聚合数据,确定属性数据聚合处理前的数量为A,确定所述聚合数据中数据的数量为B,根据A和B建立索引向量,其中,索引向量的长度为A,索引向量的取值范围为[-B,-1]∪[1,B]中的整数,随机读取索引向量的取值,并根据所述取值从所述聚合数据中获取对应的数据,将获取到的数据作为所述预处理后的属性数据。进一步地,还可以对属性数据作归一化处理,以使商圈的数值型属性数据的数值在[0,1]的范围内。
[0084] 步骤S20:构建神经网络模型并设定该神经网络模型的初始参数,利用第一计算规则计算出该神经网络模型的隐含层节点数量的取值范围,根据第二计算规则及所述训练样本集,分别计算所述隐含层节点数量等于所述取值范围中各取值时的神经网络模型的学习误差,将学习误差取值最小时确定的神经网络模型作为对象等级识别模型。
[0085] 在本实施例中,构造神经网络模型,建立具有一个输入层,一个隐含层和一个输出层的三层神经网络模型。以商圈的属性数据的特征值作为神经网络的自变量,预先为商圈标注不同的等级,将商圈标注的等级作为神经网络的因变量,生成训练样本集。其中,商圈的属性数据的特征值包括商圈的商铺数量、商铺的人均消费、商圈的日均人流量、商圈所属城市的常驻人口数、商圈所属城市的GDP。商圈标注的等级包括:A级商圈、B级商圈、C级商圈、D级商圈。即确定输入层的节点数量为5,输出层节点数量为4。隐含层节点数量过少的话,会导致神经网络所能获取的信息太少,且无法产生足够的连接权组合数来满足样本的学习,数量过多的话,会使模型训练时间增加,神经网络的容错性差,导致测试误差增大,模型的泛化能力下降。因此,本实施例是根据输入层的节点数量、输出层节点数量及第一计算规则,计算得到隐含层节点数量的取值范围,第一计算规则包括:
[0086]
[0087] 其中,n1为隐含层节点数量,n为输入层节点数量,m为输出层节点数量,a为常数,a取值范围为[1,10]。即隐含层节点数量最大为13,最小为4。通过使隐含层节点数在4至13之间的取值时,比较网络训练结果的学习误差来选择隐含层的最佳隐含层的节点数。
[0088] 在一个实施例中,第一计算规则还包括:
[0089]
[0090] 其中,K表示训练样本集中样本的个数,n1表示神经网络模型的隐含层节点数量,n表示神经网络模型的输入层节点数量,i表示[0,n]的整数。
[0091] 设定该神经网络模型的初始参数包括:将神经网络初始的权值随机赋值为[-1,1]的值,能有效的避免网络计算过早的进入饱和区,并设定学习误差为0.0005,学习速率η为0.05,最大循环次数为5000次,隐含层和输出层的传递函数为Tang function函数,使用此激活函数可并避免梯度消失的情况。
[0092] 具体的训练步骤包括:根据预先设定神经网络的参数,首先将隐含层节点数的初始值设为4,计算隐含层和输出层的各节点输出,再计算输出层的实际输出与目标输出的误差,将目标输出误差与预先设定的学习误差进行大小比较,当目标输出误差大于预设的学习误差时,则对神经网络的权值进行调整,直到输出层所有节点的目标输出误差均小于学习误差,再逐一增加隐含层节点的个数并重复上述的网络训练,隐含层节点数的取值范围介于4和13之间,直到隐含层节点数增加到13停止。分别比较不同隐含层节点数量下的神经网络的学习误差,将学习误差最小的神经网络模型作为对象(商圈)等级识别模型。
[0093] 输出层的实际输出与目标输出的误差公式即第二计算规则为:
[0094] loss(θ)=(yi-η(Xi,w,β))2,
[0095] 其中,loss(θ)表示神经网络模型输出层的实际输出与目标输出的误差,yi为第i个样本的目标输出,η(Xi,w,β)表示第i个样本的实际输出,Xi表示神经网络模型输入层节点的输入值,w,β为权值,η表示学习速率。
[0096] 步骤S30:响应用户发出的推送对象的请求,获取所述用户的位置信息,查找与所述位置信息对应的第一距离范围内的第一对象集,从数据库读取所述第一对象集的属性数据输入所述对象等级识别模型,得到所述第一对象集中各对象的等级信息后推荐至所述用户并生成时间戳。
[0097] 在本实施例中,以对象为商圈为例对本方案进行说明。用户触发电子装置获取推送商圈的条件可以有多个,当侦测到用户发出的推送对象的请求时,获取用户的位置信息,或者,当侦测到用户的行为符合商圈推荐的条件时,响应用户发出的推送对象的请求,利用GPS信号获取该用户的位置信息,用户发出推送商圈的请求可以是通过预设的推荐入口触发该请求,预设的推荐入口可以是用户交互界面中“点击获取推荐商圈”入口、“手机摇一摇获取推荐商圈”等入口。
[0098] 获取用户的位置信息后,查找与用户位置信息对应第一距离范围内(例如,5公里)的第一商圈集,从预设数据库(例如,相关的商圈信息搜索网站)读取第一商圈集中各个商圈的属性数据,将读取到的属性数据输入对象等级识别模型,得到第一商圈集中各个商圈的等级信息,将等级信息反馈至用户并生成时间戳。
[0099] 步骤S40:基于所述时间戳侦测在预设时长内是否接收到所述用户发送的确认信息,若未接收到确认信息,则查找与所述位置信息对应的第二距离范围内的第二对象集,从所述第二对象集中筛除所述第一对象集得到第三对象集,从所述数据库读取所述第三对象集的属性数据输入所述对象等级识别模型,得到所述第三对象集中各对象的等级信息后推送至所述用户。
[0100] 在本实施例中,当推送了第一距离范围内的商圈等级给用户时,根据生成的时间戳侦测在预设时间(例如,60秒)内是否接收到用户发送的确认信息,确认信息可以是用户在交互界面中反馈的第一距离范围内否存在符合用户需求等级的商圈,当第一距离范围内的商圈等级都不符合用户需求商圈等级时(即未接收到确认信息),则查找与用户的位置信息对应第二距离范围内(例如10公里)的第二商圈集,其中,第二距离的数值大于第一距离的数值,为了避免重复推送第一商圈集中的商圈,从第二商圈集中筛除第一商圈集得到第三商圈集,从预设数据库读取第三商圈集中各商圈的属性数据,将该属性数据输入所述对象等级识别模型,得到第三商圈集的等级信息并反馈至用户。
[0101] 此外,本发明实施例还提出一种计算机可读存储介质,该计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括基于多源数据的对象推送程序10,所述基于多源数据的对象推送程序10被处理器执行时实现如下操作:
[0102] 获取步骤:从预设的多个数据源获取预设数量的对象的属性数据,对所述属性数据执行预处理,将预处理后的属性数据作为训练样本集;
[0103] 构建步骤:构建神经网络模型并设定该神经网络模型的初始参数,利用第一计算规则计算出该神经网络模型的隐含层节点数量的取值范围,根据第二计算规则及所述训练样本集,分别计算所述隐含层节点数量等于所述取值范围中各取值时的神经网络模型的学习误差,将学习误差取值最小时确定的神经网络模型作为对象等级识别模型;
[0104] 第一推送步骤:响应用户发出的推送对象的请求,获取所述用户的位置信息,查找与所述位置信息对应的第一距离范围内的第一对象集,从数据库读取所述第一对象集的属性数据输入所述对象等级识别模型,得到所述第一对象集中各对象的等级信息后推荐至所述用户并生成时间戳;及
[0105] 第二推送步骤:基于所述时间戳侦测在预设时长内是否接收到所述用户发送的确认信息,若未接收到确认信息,则查找与所述位置信息对应的第二距离范围内的第二对象集,从所述第二对象集中筛除所述第一对象集得到第三对象集,从所述数据库读取所述第三对象集的属性数据输入所述对象等级识别模型,得到所述第三对象集中各对象的等级信息后推送至所述用户。
[0106] 本发明之计算机可读存储介质的具体实施方式与上述基于多源数据的对象推送方法的具体实施方式大致相同,在此不再赘述。
[0107] 需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0108] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。
[0109] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。