一种智能推荐系统及智能推荐方法
技术领域
本申请涉及信息技术应用领域,尤其涉及互联网/移动互联网的广告领域。
背景技术
衡量一个推荐系统的优劣的关键因素是推荐的准确性,所以核心技术问题在于如何提取数据、如何挖掘用户信息以分析其行为特征来了解用户喜好及潜在的可能喜好,最终据此进行个性推荐。本发明从一个新的角度提供完善这一技术问题的解决方案。
数据挖掘是当今计算机研究的热题之一,聚类分析作为一种无监督的机器学习方法,是指对于一个数据对象集合,研究如何自动把数据对象划分到不同的簇中,让相同簇内的对象在某种衡量标准下具有较高的相似性,而不同簇中的数据对象具有低的相似性。聚类分析被广泛的应用在机器学习、数据挖掘、语音识别、图像分割、商业分析和生物信息处理等前沿领域。目前,传统的聚类算法主要包括五类,他们分别是:基于划分的聚类算法、基于层次的聚类算法、基于密度的聚类算法、基于网格的聚类算法和基于模型的聚类算法。
在聚类算法当中,K-means算法属于基于划分的聚类算法,它简洁而快速,以高效而著称。但原始的K-means算法存在一些缺陷:1)、原始算法要求使用者给出K值,即类簇的个数,这个值主要由经验得来,所以确定K值的难度较大;2)、算法对初始聚类中心敏感,初始中心选择的优劣,会影响聚类结果,影响算法运行的效率;3)、该算法对异常数据较为敏感,会导致结果陷入局部最优解。
目前,一些学者已对初始中心点问题做出了些改进,如为防止结果陷入局部最优,通常是选择距离较远的比较分散的点作为初始中心点。但若仅仅考虑距离因素,则容易选到异常点,进而影响到聚类效果。学者也都考虑到这些问题,进而从密度的角度出发,来过滤掉异常点。还有一个问题是初始中心点有可能会被选成同一个类簇中的点,即尽管某个点的密度比较大,但是该点对应的类簇中已经有点被选做中心点了,此时应该选择其它类中的有代表性的点,否则,也会导致结果容易陷入局部最优解。
推荐系统是指通过记录用户的相关历史数据分析用户的行为特征以进行智能推荐,在电商,内容型媒体,生活服务,搜索等多个领域均有广泛的使用。例如电商网站通过分析用户的浏览数据和购买记录判断其兴趣喜好和经济能力来推荐可能喜欢的商品。
随着GPS和无线蜂窝定位技术的日趋成熟,越来越多的移动智能设备用户产生了海量的位置数据。随之基于位置数据的服务也日趋丰富,关联到我们的衣食住行,应用场景有城市计算(交通流量分析、最优路线规划等),附近推荐(餐馆,酒店)。位置数据记录了用户的历史位置轨迹,一定程度上反映了用户的行为模式和生活习惯。
发明内容
现有的推荐系统采集的数据尚不全面,大都是从自身平台获取相关数据来进行挖掘分析,例如新闻网站提取分析的是用户历史浏览数据,餐饮类APP提取分析的是用户的餐饮记录及相关。相对而言当前大多数位置数据服务只是利用了轨迹数据的可视化的本身,即从用户当前的位置角度出发,提供各式各样的服务(餐饮,娱乐,出行)。而本发明从位置数据角度出发,深度分析位置数据的潜在价值,并提供该数据挖掘的一整套方案,以完善推荐系统,提高推荐的准确性。
本发明针对上述问题,本发明是通过以下技术方案实现的:
一种智能推荐方法,所述方法包括如下步骤:
S200:获取用户的基本信息和行为活动信息;
S400:对海量所述用户的基本信息和行为活动信息进行筛选分类;
S500:向所述用户发送对应的推荐信息。
所述基本信息包括:性别、年龄、职业等;
所述行为活动信息包括:地址信息、消费信息、逗留的时间信息等。
进一步,所述的智能推荐方法,所述S200步骤包括:S210:通过智能移动终端的输入模块输入所述用户的基本信息;
S220:通过所述智能移动终端的导航定位模块、时间记录模块、电子支付模块或电子签到模块获取所述用户的行为活动信息。
进一步,所述的智能推荐方法,所述S400步骤包括:S410:通过所述网络设备的轨迹模块确定所述用户每日不同时间段的行为活动(特征)发生地点的经纬度;
S420:所述轨迹模块根据所述经纬度查询地图数据库(比如:百度地图、高德地图、谷歌地图、360地图或者自建的地图数据库等)确定所述行为活动(特征)发生地点的地址名称(比如:XX饭店、XX游乐场、XX运动馆、XX茶坊、XX酒吧、XX书店、XX电影院、XX博物馆、XX养生馆、XX美容院、XX超市、XX商场、XX旅游景点)。
进一步,所述的智能推荐方法,所述S500步骤至少包括如下任一步骤:
S510:当每日的同一时间段,所述网络设备的推荐模块向所述用户发送对应的所述推荐信息,所述推荐信息为历史记录中所述同一时间段发生的所述用户的行为活动频率排序的所述行为活动(特征)相关场所信息;
比如在每年的五一、十一国定假日期间,系统向曾经在此时段出游的用户推荐旅游信息,在每日的中午或傍晚时间向用户推荐饭店信息等。
S520:当用户处于某一地点,所述网络设备的推荐模块向所述用户发送对应的所述推荐信息,所述推荐信息为所述某一地点周边的与所述用户的行为活动频率排序的所述行为活动相关场所信息;
比如用户来到某商场,系统会推荐商场的商品促销打折信息或者周边休闲娱乐信息等。
S530:所述网络设备的推荐模块向有相同所述行为活动的所述用户发送相同的所述推荐信息。
比如向运动爱好者发送运动场馆信息、运动器材信息、比赛结果信息等,向吃货们发送当季美食、商家新推美食等,向影迷们发送最新电影信息、电影票优惠信息等,向家庭主妇们推荐商场或者超市打折商品的信息、新品上市的信息等,向吸烟的男士推荐香烟信息和禁烟地区的信息,向女士推荐美容产品信息或者美容院搞活动的信息,向文艺青年们发送最新图书的信息、演出信息和诗歌会信息等等,基于个人的频次统计,再根据行为特征的统计,对同类人(有共同行为特征的人)贴上相同的标签。
进一步,所述的智能推荐方法,所述S200步骤后包括S300:存储海量所述用户的基本信息和行为活动信息。
进一步,所述的智能推荐方法,所述S300步骤包括:S310:通过网络设备的数据筛选模块过滤海量所述用户的基本信息和行为活动信息;
S320:通过所述网络设备的数据存储器,存储海量过滤掉冗余的信息的所述用户的基本信息和行为活动信息。
本发明还提供了一种推荐系统:
一种智能推荐系统,包括智能移动终端和网络设备;所述智能移动终端包括信息收集模块、通信模块和显示模块;,
所述信息收集模块,用于获取用户的基本信息和行为活动信息;
所述通信模块,用于将所述用户的基本信息和行为活动信息,传送至所述网络设备;
所述网络设备,用于向所述智能移动终端发送推荐信息;
所述显示模块,用于以图形和/或声音方式展现所述推荐信息。
所述基本信息包括:性别、年龄、职业等;
所述行为活动信息包括:地址信息、消费信息、停留的时间信息等。
进一步,所述的智能推荐系统,所述信息收集模块包括输入模块、导航定位模块、时间记录模块或者电子支付模块,
所述输入模块,用于输入基本信息;
所述导航定位模块,用于获取智能移动终端的经纬度;
所述时间记录模块,用于确定所述智能移动终端在所述经纬度的停留时间;
所述电子支付模块,用于确定所述智能移动终端在所述经纬度的支付情况;
还包括电子签到模块,用于在哪些预支付过费用的地方,后续消费时出示电子签到,从预付费中扣除本次签到消费的金额。
进一步,所述的智能推荐系统,所述网络设备包括轨迹模块、特征分类模块和推荐模块,
所述轨迹模块,用于对海量所述用户的行为活动信息中的经纬度进行地图查询,确定所述行为活动发生地点的地址名称以及对应的时间;
所述特征分类模块,用于对海量所述用户的基本信息和行为活动信息进行编码、分析、归类、统计和标记;形成用户编号-时间戳-经度-纬度,再进一步对数据的加工形成每个所述用户的行为特征集;
所述推荐模块,用于根据所述归类、统计和标记的结果给对应的所述用户的智能移动终端发送推荐信息。
进一步,所述的智能推荐系统,所述网络设备还包括数据筛选模块和数据存储器,
所述数据筛选模块,用于对上传的海量所述用户的基本信息和行为活动信息进行过滤;降低数据量,去除冗余数据。
所述数据存储器,用于存储过滤掉冗余的信息的海量所述用户的基本信息和行为活动信息;
所述学习模块,用于对不断增长的所述用户的基本信息和行为活动信息进行再分析、再归类、再统计和再标记,形成每个所述用户的行为特征集。
本发明至少具有以下有益效果之一:
1.本发明克服了原先单一地通过该用户的访问历史或者消费历史,给该用户推荐与历史相关的信息的技术问题。
2.本发明克服了原先被动地只有通过该用户主动点取用户所在地周边的信息的技术问题。
3.本发明赋予了智能推荐系统强大的推荐功能,包括根据用户行为活动的时间特征主动推荐对应信息;根据用户当时的所在地特征主动推荐所在地周边的与用户历史行为活动特征相关的对应信息;根据有相同行为活动特征的用户,主动向该同类型用户推荐相同行为活动特征的信息。
4.本发明赋予了智能推荐系统对大数据进行筛选过滤、整理分类的数据处理功能。
5、本发明使用简便、操作性良好、推荐信息针对性强、应用广泛。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明:
图1为本发明第一实施例系统结构示意图;
图2为本发明第一实施例流程示意图;
图3为本发明第一实施例智能移动终端模块示意图;
图4为本发明第一实施例网络设备模块示意图;
图5为本发明第二实施例数据流向示意图。
附图标记说明
智能移动终端-100、信息收集模块-110、输入模块112、导航定位模块-113、时间记录模块-114、电子支付模块-115、通信模块-120、显示模块-130;网络设备-200模块、数据筛选模块-210、数据存储器-220、轨迹模块-230、特征分类模块-240、推荐模块-250。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,以下说明和附图对于本发明是示例性的,并且不应被理解为限制本发明。以下说明描述了众多具体细节以方便对本发明理解。然而,在某些实例中,熟知的或常规的细节并未说明,以满足说明书简洁的要求。
在本申请一个典型的计算硬件配置中,客户端/终端、网络设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
本发明中的客户端、移动终端或网络设备包括处理器,含单核处理器或多核处理器。处理器也可称为一个或多个微处理器、中央处理单元(CPU)等等。更具体地,处理器可为复杂的指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现其他指令集的处理器,或实现指令集组合的处理器。处理器还可为一个或多个专用处理器,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、网络处理器、通信处理器、密码处理器、协处理器、嵌入式处理器、或能够处理指令的任何其他类型的逻辑部件。处理器用于执行本发明所讨论的操作和步骤的指令。
本发明中的客户端、移动终端或网络设备包括存储器,用于存储大数据,可包括一个或多个易失性存储设备,如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其他类型的存储设备。存储器可存储包括由处理器或任何其他设备执行的指令序列的信息。例如,多种操作系统、设备驱动程序、固件(例如,输入输出基本系统或BIOS)和/或应用程序的可执行代码和/或数据可被加载在存储器中并且由处理器执行。
本发明中的客户端、移动终端或网络设备的操作系统可为任何类型的操作系统,例如微软公司的Windows、Windows Phone,苹果公司IOS,谷歌公司的Android,以及Linux、Unix操作系统或其他实时或嵌入式操作系统诸如VxWorks等。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,以下说明和附图对于本发明是示例性的,并且不应被理解为限制本发明。以下说明描述了众多具体细节以方便对本发明理解。然而,在某些实例中,熟知的或常规的细节并未说明,以满足说明书简洁的要求。本发明的具体设备/系统及方法参见下述实施例:
第一实施例
如图2为本发明第一实施例流程示意图:
一种智能推荐方法,所述方法包括如下步骤:
S200:(系统)获取用户的基本信息和行为活动信息;
S400:(系统)对海量所述用户的基本信息和行为活动信息进行筛选分类;
S500:向该系统的使用用户发送对应的推荐信息。
优选地,所述的智能推荐方法,所述S200步骤包括:S210:通过智能移动终端的输入模块输入所述用户的基本信息;所述基本信息包括:性别、年龄、职业等。
S220:通过所述智能移动终端的导航定位模块、时间记录模块、电子支付模块或电子签到模块获取所述用户的行为活动信息。所述行为活动信息包括:地址信息、消费信息、逗留的时间信息等。
优选地,所述的智能推荐方法,所述S400步骤包括:
S410:通过所述网络设备的轨迹模块确定所述用户每日不同时间段的行为活动(特征)发生地点的经纬度;
S420:所述轨迹模块根据所述经纬度查询地图数据库(比如:百度地图、高德地图、谷歌地图、360地图或者自建的地图数据库等)确定所述行为活动(特征)发生地点的地址名称。
地址名称比如:XX饭店、XX游乐场、XX运动馆、XX茶坊、XX酒吧、XX书店、XX电影院、XX博物馆、XX养生馆、XX美容院、XX超市、XX商场、XX旅游景点等。
其中,S420步骤的关键是将纯数字表示的经纬度信息换算成具体场所信息,只有从具体场所信息中才能获取该用户的相关行为活动特征。
其中,S410步骤的关键是在经纬度信息(地址名称)的基础上附和上时间信息,因为短时间的路过,对本推荐系统来说,没有什么意义。用户只有在该地点上花费了很长的时间,就说明该用户对该行为活动的特征偏好。
优选地,所述的智能推荐方法,所述S500步骤至少包括如下任一步骤:
S510:当每日的同一时间段,所述网络设备的推荐模块向所述用户发送对应的所述推荐信息,所述推荐信息为历史记录中所述同一时间段发生的所述用户的行为活动频率排序的所述行为活动(特征)相关场所信息;
比如在每年的五一、十一国定假日期间,系统向曾经在此时段出游的用户推荐旅游信息,在双休日向用户推荐户外休闲信息,在每日的中午或傍晚时间向用户推荐饭店信息等。
S520:当用户处于某一地点,所述网络设备的推荐模块向所述用户发送对应的所述推荐信息,所述推荐信息为所述某一地点周边的与所述用户的行为活动频率排序的所述行为活动相关场所信息;
比如用户来到某商场,系统会推荐商场的商品促销打折信息或者周边休闲娱乐信息等。
S530:所述网络设备的推荐模块向有相同所述行为活动的所述用户发送相同的所述推荐信息。
比如向运动爱好者发送运动场馆信息、运动器材信息、比赛结果信息等,向吃货们发送当季美食、商家新推美食等,向影迷们发送最新电影信息、电影票优惠信息等,向家庭主妇们推荐商场或者超市打折商品的信息、新品上市的信息等,向吸烟的男士推荐香烟信息和禁烟地区的信息,向女士推荐美容产品信息或者美容院搞活动的信息,向文艺青年们发送最新图书的信息、演出信息和诗歌会信息等等,基于个人的频次统计,再根据行为特征的统计,对同类人(有共同行为特征的人)贴上相同的标签。
优选地,所述的智能推荐方法,所述S200步骤后包括S300:(系统)存储海量所述用户的基本信息和行为活动信息。
优选地,所述的智能推荐方法,所述S300步骤包括:S310:通过网络设备的数据筛选模块过滤海量所述用户的基本信息和行为活动信息;
S320:通过所述网络设备的数据存储器,存储海量过滤掉冗余的信息的所述用户的基本信息和行为活动信息。
本实施例还提供了一种推荐系统,如图1为本发明第一实施例系统结构示意图所示:
一种智能推荐系统,包括智能移动终端100和网络设备200;所述智能移动终端100包括信息收集模块110、通信模块120和显示模块130;,
所述信息收集模块110,用于获取用户的基本信息和行为活动信息;
所述通信模块120,用于将所述用户的基本信息和行为活动信息,传送至所述网络设备;
所述网络设备200,用于向所述智能移动终端发送推荐信息;
所述显示模块130,用于以图形和/或声音方式展现所述推荐信息。
其中,显示屏以图形显示方式发出预警信息;扬声器以声音方式发出预警信息。
如图3为本发明第一实施例智能移动终端模块示意图所示,优选地,所述的智能推荐系统,所述信息收集模块110包括输入模块112、导航定位模块113、时间记录模块114或者电子支付模块115,
所述输入模块112,用于输入基本信息;所述基本信息包括:性别、年龄、职业等;所述行为活动信息包括:地址信息、消费信息、停留的时间信息等。
所述导航定位模块113,用于获取用户的智能移动终端的经纬度;导航定位模块包括GPS系统子模块、伽利略系统子模块、格洛纳斯系统子模块或者北斗系统子模块。
所述时间记录模块114,用于确定所述智能移动终端在所述经纬度的停留时间;
所述电子支付模块115,用于确定所述智能移动终端在所述经纬度的支付情况;
还包括电子签到模块,用于在哪些预支付过费用的地方,后续消费时出示电子签到,从预付费中扣除本次签到消费的金额。
如图4为本发明第一实施例网络设备模块示意图所示,优选地,所述的智能推荐系统,所述网络设备200包括轨迹模块230、特征分类模块240和推荐模块250,
所述轨迹模块230,用于对海量所述用户的行为活动信息中的经纬度进行地图查询,确定所述行为活动发生地点的地址名称以及对应的时间;
所述特征分类模块240,用于对海量所述用户的基本信息和行为活动信息进行编码、分析、归类、统计和标记;形成用户编号-时间戳-经度-纬度,再进一步形成每个所述用户的行为特征集;大数据的过滤、分析、挖掘、分类,为后续提取分类特征和向对应的人推荐对应的信息提供技术基础;
所述推荐模块250,用于根据所述归类、统计和标记的结果给对应的所述用户的智能移动终端发送推荐信息。
优选地,所述的智能推荐系统,所述网络设备还包括数据筛选模块210和数据存储器220,
所述数据筛选模块210,用于对上传的海量所述用户的基本信息和行为活动信息进行过滤;降低数据量,去除冗余数据。
所述数据存储器220,用于存储过滤掉冗余的信息的海量所述用户的基本信息和行为活动信息;
网络设备还包括学习模块,用于对不断增长的所述用户的基本信息和行为活动信息进行再分析、再归类、再统计和再标记,形成每个所述用户的行为特征集。
第二实施例
本实施例提供的系统由四大块结构组成。
一、海量用户数据的采集;
二、海量用户(基于位置数据和/或时间节点)数据的接收和存储;
三、海量用户(基于位置数据和/或时间节点)数据的分析处理;
四、通过推荐算法向同一类的用户推送对应的推荐信息。
用户的历史轨迹是由时间连续的位置点组成的,为了记录这些数据,系统的服务器需要以很高的频率(例如10秒钟一次)接收和处理数据,日累积的用户量*用户数据量,甚至可达到T级别,这么海量的大数据都存储在数据存储器220,具体由Hadoop组成的分布式系统基础架构。该系统针对大数据的解决方案主要从以下两方面出发:
如图5为本发明第二实施例数据流向示意图所示,一方面从系统出发,提高系统的性能。数据筛选模块210应用spark streaming分布式实时数据处理引擎接收和处理数据,对服务器进行负载均衡,并使系统具备了实时性。
另一方面从数据本身出发,进行数据筛选,减少数据量。位置数据本身拥有冗余性和重复性的特点。例如一个用户夜间休息可能长达多个小时,那么在这个时间段中的数据重复性很高,无论从数据存储,通信和处理的角度来讲,都十分有筛选剔除的必要。也就是说要对位置数据进行分簇,选出其中具有代表性的位置数据,可以称为用户的轨迹特征点。
轨迹模块230计算地理位置数据相互间的差值代表着距离(计算方法是平方差公式),据此特点采用K-Means聚类算法,分簇的依据是平方差小于K值(K值根据数据量的规模,在平衡聚类后轨迹特征点是否保持着代表性和服务器性能两个因素下动态地调整)。根据以上所述就得到了能够体现用户行为特征的用户的轨迹特征点集合(简称特征数据集)。
对于用户特征数据集进行训练,特征分类模块240应用的机器学习算法是基于item的协同过滤算法(协同过滤一般来讲分为基于用户和基于item的两种)。原因是数据集提取出的item项相对而言规模比较稳定,而用户量是不断增长的。使用该算法符合推荐系统的特性,能够降低系统的开销。
特征数据集的格式是用户编号-时间戳-经度-纬度(地点要与地址名称结合)。由位置数据获得对应位置的POI,根据POI提取地点特征,用于分析用户的生活轨迹(时间+地点)和习惯爱好(行为频率、时间+行为、地点+行为)等。这一模块得到每个用户的行为特征集。
推荐模块250,进行推荐的关键是在合适的时间推荐合适的项目。过程是首先分析行为特征集,从三个点出发,
第一点根据用户当前的位置信息,请求得到该位置的POI信息,与该用户的行为特征集进行匹配,筛选出匹配度较高的前几项推荐。
第二点根据行为特征集分析该用户历史上的当前时刻频率比较高的行为,向用户推荐。以上两点是从用户自身喜好出发的分析结果,
第三点目的是发现用户的潜在兴趣爱好,方法是比较不同用户的行为特征集,相似度较高的用户相互匹配。举例说,用户A和用户B,用户C行为特征集较为相似,即拥有共同的兴趣爱好,那么系统将他们归类为同类人,当对用户A进行推荐时,可以从同类人行为特征集寻找与A的行为特征集不同的项目,向用户A推荐。即向A推荐他有可能喜欢但是还不知道的项目,也就是潜在的兴趣爱好。理论前提是相似的用户在某项未知的行为上更有可能看法一致。
提出基于地理位置数据和/或时间节点数据服务的新方向,不但从表面使用地理位置数据和时间节点数据,而是更深一层次地挖掘分析,提高了地理位置数据和时间节点数据的价值,为传统推荐算法添加位置数据这一因素,使推荐更为智能,准确性更高。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。