基于O2O数据的推荐方法和系统与流程

文档序号:14404725阅读:139来源:国知局
基于O2O数据的推荐方法和系统与流程
本发明涉及信息处理
技术领域
,尤其是涉及基于o2o数据的推荐方法和系统。
背景技术
:目前,传统的推荐系统一般是基于线上的用户交易数据,根据线上的用户交易数据获取用户的喜好程度,从而根据用户的喜好程度进行推荐,这种推荐方式通常只考虑线上的用户交易数据,而不考虑线下因素,例如线下服务店铺的位置和距离等信息,例如,推荐的服务距离用户太远,用户很可能就会放弃消费,从而导致用户体验差。技术实现要素:有鉴于此,本发明的目的在于提供基于o2o数据的推荐方法和系统,可以提供更精准的推荐服务,提高用户体验。第一方面,本发明实施例提供了基于o2o数据的推荐方法,所述方法包括:采集业务数据信息,并对所述业务数据信息在预设时间内进行更新;统计消费数据信息,所述消费数据信息包括每个商家消费的用户数、同一用户在不同商家消费的用户数和每个用户在不同商家的消费次数;对所述每个商家消费的所述用户数和所述同一用户在所述不同商家消费的所述用户数进行计算,得到余玄相似度;根据每个所述用户在所述不同商家的所述消费次数,得到所述用户的兴趣度;根据所述用户的兴趣度和距离的权重模型,得到所述用户的偏好度。结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述对所述每个商家消费的所述用户数和所述同一用户在所述不同商家消费的所述用户数进行计算,得到余玄相似度,包括:对所述每个商家消费的所述用户数和所述同一用户在所述不同商家消费的所述用户数进行计算,得到第一矩阵和第二矩阵;根据所述第一矩阵和所述第二矩阵,得到所述余玄相似度。结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述根据所述第一矩阵和所述第二矩阵,得到所述余玄相似度,包括:根据下式计算所述余玄相似度:其中,wuv为所述余玄相似度,n(u)∩n(v)为所述第一矩阵,|n(u)|×|n(v)|为所述第二矩阵。结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述根据每个所述用户在所述不同商家的所述消费次数,得到所述用户的兴趣度包括:根据下式计算所述用户的所述兴趣度:其中,puj为所述用户的兴趣度,n(u)为所述用户喜欢的物品的集合,s(j,k)为是和物品j相似的k个物品的集合,w是物品j和i的相似度,r是所述用户u对物品i的兴趣。结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述业务数据信息包括用户数据信息、用户消费数据信息和物品数据信息,所述方法还包括:判断所述用户数据信息或所述物品数据信息是否有更新;如果所述用户数据信息或所述物品数据信息有更新,则对所述用户数据信息或所述物品数据信息进行更新或删除。第二方面,本发明实施例还提供基于o2o数据的推荐系统,所述系统包括:第一更新单元,用于采集业务数据信息,并对所述业务数据信息在预设时间内进行更新;统计单元,用于统计消费数据信息,所述消费数据信息包括每个商家消费的用户数、同一用户在不同商家消费的用户数和每个用户在不同商家的消费次数;计算单元,用于对所述每个商家消费的所述用户数和所述同一用户在所述不同商家消费的所述用户数进行计算,得到余玄相似度;兴趣度获取单元,用于根据每个所述用户在所述不同商家的所述消费次数,得到所述用户的兴趣度;偏好度单元,用于根据所述用户的兴趣度和距离的权重模型,得到所述用户的偏好度。结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述计算单元包括:矩阵获取模块,用于对所述每个商家消费的所述用户数和所述同一用户在所述不同商家消费的所述用户数进行计算,得到第一矩阵和第二矩阵;余玄相似度获取模块,用于根据所述第一矩阵和所述第二矩阵,得到所述余玄相似度。结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述余玄相似度获取模块包括:根据下式计算所述余玄相似度:其中,wuv为所述余玄相似度,n(u)∩n(v)为所述第一矩阵,|n(u)|×|n(v)|为所述第二矩阵。结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述兴趣度获取单元包括:根据下式计算所述用户的所述兴趣度:其中,puj为所述用户的兴趣度,n(u)为所述用户喜欢的物品的集合,s(j,k)为是和物品j相似的k个物品的集合,w是物品j和i的相似度,r是所述用户u对物品i的兴趣。结合第二方面,本发明实施例提供了第二方面的第四种可能的实施方式,其中,所述系统还包括:判断单元,用于判断所述用户数据信息或所述物品数据信息是否有更新;第二更新单元,用于如果所述用户数据信息或所述物品数据信息有更新,则对所述用户数据信息或所述物品数据信息进行更新或删除。本发明实施例提供了基于o2o数据的推荐方法和系统,包括:采集业务数据信息,并对业务数据信息在预设时间内进行更新;统计消费数据信息,消费数据信息包括每个商家消费的用户数、同一用户在不同商家消费的用户数和每个用户在不同商家的消费次数;对每个商家消费的用户数和同一用户在不同商家消费的用户数进行计算,得到余玄相似度;根据每个用户在不同商家的所述消费次数,得到用户的兴趣度;根据用户的兴趣度和距离的权重模型,得到用户的偏好度,可以提供更精准的推荐服务,提高用户体验。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例一提供的基于o2o数据的推荐方法流程图;图2为本发明实施例一提供的基于o2o数据的推荐方法中步骤s103的流程图;图3为本发明实施例二提供的api流程图;图4为本发明实施例三提供的基于o2o数据的推荐系统示意图。图标:10-第一更新单元;20-统计单元;30-计算单元;40-兴趣度获取单元;50-偏好度单元。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为便于对本实施例进行理解,下面对本发明实施例进行详细介绍。实施例一:图1为本发明实施例一提供的基于o2o数据的推荐方法流程图。参照图1,该方法包括以下步骤:步骤s101,采集业务数据信息,并对所述业务数据信息在预设时间内进行更新;这里,业务数据信息包括用户数据信息、用户消费数据信息和物品数据信息;用户数据信息、用户消费数据信息和物品数据信息具体包括以下信息。在业务数据信息的采集过程中,需要判断业务数据信息是首次接入还是非首次接入。如果是首次接入,采用etl(或定时任务job)批量采集c类用户的所有信息、c类消费数据的所有信息、优惠券及所属商家的所有信息,抽取进入到数据仓库(可按照更新时间抽取);如果是非首次接入,每日零点取昨日c类用户新注册的所有信息、昨日c类消费数据所有信息、昨日优惠券及所属商家的所有信息,抽取进入到数据仓库(可按照更新时间抽取);如果业务系统中c类用户信息有更新,可每日零点取更新的数据和更新数据仓库;如果业务系统c类优惠券及所属商家信息有更新和删除,则每日零点更新或删除数据仓库,从而保证数据仓库的数据真实有效。步骤s102,统计消费数据信息,所述消费数据信息包括每个商家消费的用户数、同一用户在不同商家消费的用户数和每个用户在不同商家的消费次数;步骤s103,对所述每个商家消费的所述用户数和所述同一用户在所述不同商家消费的所述用户数进行计算,得到余玄相似度;步骤s104,根据每个所述用户在所述不同商家的所述消费次数,得到所述用户的兴趣度;步骤s105,根据所述用户的兴趣度和距离的权重模型,得到所述用户的偏好度。这里,相比传统的推荐算法rnn算法更能反应用户在某一阶段兴趣爱好的不断变化过程,准确率更高。本发明实施例的推荐算法就是结合传统的协调过滤算法和rnn神经算法相结合,针对o2o应用场景提供更精准的推荐服务。其中,o2o应用场景具体为:随着移动互联网的普及,目前越来越多的用户开始使用移动支付,移动支付平台对商户来说移动不仅方便了收付款,同时也能提供更多的营销服务,比如通过商户微信公众号、商户小程序发放优惠券来吸引周边的客户去领取,当客户在使用移动支付时可以直接使用领取的优惠券,同时在支付完成之后支付平台根据用户之前的交易记录给客户推荐优惠券。进一步的,参照图2,步骤s103包括以下步骤:步骤s201,对所述每个商家消费的所述用户数和所述同一用户在所述不同商家消费的所述用户数进行计算,得到第一矩阵和第二矩阵;这里,同一用户在不同商家消费的用户数可以为统计两两不同商家被同一用户消费的用户数。具体可参照表1和表2:表1商家1商家2商家3商家4商家5c用户54420表2商家1商家2商家3商家4商家5商家103310商家230320商家323040商家422400商家500110另外,每个用户在不同商家的消费次数,可用于表示c用户对不同商家的偏好度。具体参照表3:表3c用户商家消费次数a商家12a商家21a商家31a商家40a商家50b商家11b商家21b商家30b商家40b商家50步骤s202,根据第一矩阵和第二矩阵,得到余玄相似度。进一步的,步骤s202包括:根据公式(1)计算余玄相似度:其中,wuv为所述余玄相似度,n(u)∩n(v)为所述第一矩阵,|n(u)|×|n(v)|为所述第二矩阵。具体可参照表4:表4商家1商家2商家3商家4商家5商家10.470.630.71商家20.470.770.57商家30.630.770.890.45商家40.710.570.890.5商家50.450.5进一步的,步骤s104包括:根据公式(2)计算用户的兴趣度:其中,puj为所述用户的兴趣度,n(u)为所述用户喜欢的物品的集合,s(j,k)为是和物品j相似的k个物品的集合,w是物品j和i的相似度,r是所述用户u对物品i的兴趣。这里,用户u对物品j的兴趣度=与物品j最相似的k个物品的相似度*用户u对k个物品的偏好度。例如,用户消费过的商家为商家1和商家2,未去过的商家为商家3、商家4和商家5。那么,各个商家的兴趣度分别为:商家3的兴趣度=1*0.47+1*0.63=1.1;商家4的兴趣度=1*0.57+1*0.89=1.46;商家5的兴趣度=1*0+1*0.45=0.45。具体参照表5:表5c用户商家兴趣度b商家31.1b商家41.46b商家50.45另外,基于rnn考虑用户的商家的位置信息,具体为:基于rnn模型训练序列数据,得到用户的兴趣度和距离的权重模型s,基于s去预测用户对新商家的偏好度,具体参照表6:表6进一步的,业务数据信息包括用户数据信息、用户消费数据信息和物品数据信息,所述方法还包括:判断用户数据信息或所述物品数据信息是否有更新;如果所述用户数据信息或所述物品数据信息有更新,则对所述用户数据信息或所述物品数据信息进行更新或删除。这里,每日在预设时间内对业务数据信息进行更新,预设时间可以为每日凌晨1点,取昨日的支付成功的c类消费数据(可以包含的字段,即用户id和商家id),从而排除商家关闭、所有优惠券状态都失效的商家。具体可参照表7至表9:表7应用id微信用户id1a1b1c1d1e表8应用id所属商家经度维度1商家1xxxxxx1商家2xxxxxx1商家3xxxxxx1商家4xxxxxx1商家5xxxxxx表9应用idc用户商家日期1a商家11a商家11a商家21a商家31b商家11b商家21c商家21c商家31c商家41d商家41d商家31d商家11e商家11e商家21e商家3实施例二:图3为本发明实施例二提供的api流程图。参照图3,推荐结果表api(applicationprogramminginterface,应用程序编程接口)需要区分新老用户,如果是老用户,并且之前有过线下消费记录,则可以有推荐结果;如果是新用户,并且没有消费记录,则只能根据规则(基于位置)做推荐。该方法包括以下步骤:步骤s201,api请求入口,输入参数为用户id、商户所在经度、纬度、推荐的数量c和商家所在的省、市;步骤s202,查询该用户所在的城市,待推荐的所有商家列表;步骤s203,判断商家列表中商家的数量是否大于0,如果大于0,则从分页中取第n页数据,校验待推荐的第n页所有商家中可用的优惠券;步骤s204,推荐可用的优惠券列表;步骤s205,判断列表数量是否不小于推荐张数c,如果是,则进行最终的优惠券列表;如果不是,则判断当前页码是否等于总页数;步骤s206,如果是,则计算基于该用户距离所有商家的距离列表;步骤s207,从分页中取第n页数据,校验待推荐的第n页所有商家中可用的优惠券;步骤s208,推荐可用的优惠券列表和列表数量,从而推荐最终的优惠券列表;步骤s209,如果不是,则取第n+1页数据,并执行步骤s203;步骤s210,如果商家列表中商家的数量不大于0,则判断经纬度是否为空;步骤s211,如果为空,则取c张所在城市最热的商家优惠券,并校验待推荐的c张;步骤s212,判断列表数量是否大于且等于张数c,如果是,则取c条最终推荐的优惠券列表;如果不是,则执行步骤s211;步骤s213,如果经纬度不为空,则计算基于该用户距离所有商家的距离列表;步骤s214,在分页中取第n页数据;步骤s215,校验待推荐的第n页所有商家中可用的优惠券;步骤s216,推荐可用的优惠券列表;步骤s217,判断列表数量是否大于且等于推荐张数c,如果是,则取前c条作为最终推荐的优惠券列表;如果不是,则取第n+1页数据,并执行步骤s214。实施例三:图4为本发明实施例三提供的基于o2o数据的推荐系统示意图。参照图4,该系统包括:参照图4,该系统包括第一更新单元10、统计单元20、计算单元30、兴趣度获取单元40和偏好度单元50。第一更新单元10,用于采集业务数据信息,并对所述业务数据信息在预设时间内进行更新;统计单元20,用于统计消费数据信息,所述消费数据信息包括每个商家消费的用户数、同一用户在不同商家消费的用户数和每个用户在不同商家的消费次数;计算单元30,用于对所述每个商家消费的所述用户数和所述同一用户在所述不同商家消费的所述用户数进行计算,得到余玄相似度;兴趣度获取单元40,用于根据每个所述用户在所述不同商家的所述消费次数,得到所述用户的兴趣度;偏好度单元50,用于根据所述用户的兴趣度和距离的权重模型,得到所述用户的偏好度。进一步的,计算单元30包括:矩阵获取模块(未示出),用于对所述每个商家消费的所述用户数和所述同一用户在所述不同商家消费的所述用户数进行计算,得到第一矩阵和第二矩阵;余玄相似度获取模块(未示出),用于根据所述第一矩阵和所述第二矩阵,得到所述余玄相似度。进一步的,余玄相似度获取模块(未示出)包括:根据公式(1)计算余玄相似度。进一步的,兴趣度获取单元40包括:根据公式(2)计算所述用户的所述兴趣度:进一步的,所述系统还包括:判断单元(未示出),用于判断所述用户数据信息或所述物品数据信息是否有更新;第二更新单元(未示出),用于如果所述用户数据信息或所述物品数据信息有更新,则对所述用户数据信息或所述物品数据信息进行更新或删除。本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的基于o2o数据的推荐方法的步骤。本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例的基于o2o数据的推荐方法的步骤。本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1