一种产品推荐方法及装置与流程

文档序号:11134079阅读:432来源:国知局
一种产品推荐方法及装置与制造工艺
本申请涉及计算机
技术领域
,特别是涉及一种产品推荐方法及装置。
背景技术
:在互联网平台中,有海量的用户和产品,挖掘对产品感兴趣的用户,并能够精准推荐产品,可以节约大量的运营成本,提高平台的运营效率。因此,在互联网推荐中,“推荐什么”,“推荐给谁”是需要不断改进和解决的问题。现有技术中通常结合数据挖掘算法来确定想某个用户推荐什么,以及,将互联网平台产品推荐给哪些用户。常用的数据挖掘算法包括关联规则挖掘算法,如Apriori,FP-tree等。关联规则挖掘的相关算法如Apriori,FP-tree等已经相对成熟,但是,现有技术中的关联规则挖掘算法每提取一次频繁项集时,需要对待分析数据全量循环计算,数据处理效率低下,对于海量数据的处理具有一定局限性。综上,现有技术中的互联网平台上的产品推荐方法至少存在以下缺陷:基于海量、多维数据进行处理提取关联规则,用于进行产品推荐时,提取关联规则的运算效率低下。技术实现要素:本申请所要解决的技术问题是:提供一种产品推荐方法,解决现有技术中基于海量、多维数据进行处理提取关联规则,用于进行产品推荐时,提取关联规则的运算效率低下的问题。为了解决上述问题,本申请实施例提供了一种产品推荐方法,包括:提取互联网平台存储的数据的预设数据特征,建立所述互联网平台的多维数据模型;基于所述多维数据模型获得多条多维关联规则;基于所述多维关联规则进行所述互联网平台上产品的推荐。相应的,本申请实施例还提供了一种产品推荐装置,包括:数据模型建立模块,用于提取互联网平台存储的数据的预设数据特征,建立所述互联网平台的多维数据模型;关联规则生成模块,用于基于所述数据模型建立模块建立的多维数据模型获得多条多维关联规则;产品推荐模块,用于基于所述关联规则生成模块获得的多维关联规则进行所述互联网平台上产品的推荐。本申请公开的产品推荐方法,通过提取互联网平台存储的数据的预设数据特征,建立所述互联网平台的多维数据模型,然后,基于所述多维数据模型获得多条多维关联规则;最后,基于所述多维关联规则进行所述互联网平台上产品的推荐,解决了现有技术中基于海量、多维数据进行处理提取关联规则,用于进行产品推荐时,提取关联规则的运算效率低下的问题。通过建立多维数据模型,有效地对互联网平台存储的数据进行分类处理,提升了计算关联规则的效率,进一步提升了产品推荐的效率。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例一的产品推荐方法流程图;图2是本申请实施例二的产品推荐方法流程图;图3是本申请实施例二生成的多维关系模型中数据特征关系示意图;图4是本申请实施例三的产品推荐装置结构示意图;图5是本申请实施例四的产品推荐装置结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。实施例一本申请公开的一种产品推荐方法,如图1所示,该方法包括:步骤100至步骤120。步骤100,提取互联网平台存储的数据的预设数据特征,建立所述互联网平台的多维数据模型。本申请具体实施时,基于互联网平台存储的数据提取预设数据特征,用于产品推荐时参考。所述预设数据特征包括但不限于:用户维度数据特征、产品维度数据特征、行为维度数据特征。其中,不同维度的数据特征用于表征数据的类别属性,各个维度又细分为多个子维度。如:用户维度数据特征进一步分为:基本信息、地区信息、信用信息及用户偏好等子维度,每一个用户维度数据特征的子维度又可以进一步包括多个子维度,如年龄、性别、婚姻状况、职业、收入等数据特征。再如:产品维度数据特征进一步包括:基本信息和产品标签,而产品标签子维度数据特征又进一步包括成交量、浏览量及产品关键词等数据特征。互联网平台存储的数据的预设数据特征的取值可以直接来源于用户通过互联网平台输入的数据,如用户维度数据特征中的婚姻状况、职业等数据特征,如产品维度数据特征中的标题、分类、价格等数据特征;也可以由互联网平台根据互联网平台存储的数据计算后得到,如用户维度数据特征中的信用信息、产品维度数据特征中的成交量等数据特征。具体实施时,根据互联网平台的业务内容需要,预先建立数据特征库,所述数据特征库中的数据特征的值分别对应互联网平台存储的数据的某个字段的取值,或者可以根据互联网平台存储的数据计算生成。根据数据特征和互联网平台存储的数据的字段的对应关系,可以提取互联网平台存储的数据的各个维度的数据特征。例如,提取到“美食交易次数”的值为10;提取到“常驻商圈”特征为“北京站”;提取到“最近7天交易水平”特征取值为5等。所述多维数据模型为表示多个维度的所述预设数据特征组合和用户标识、产品标识的关系模型,具体实施时,所述多维数据模型可以为数据立方体。本申请采用了ApacheKylin提供的立方体生成功能,可以高效灵活地完成数据立方体的生成工作。ApacheKylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力,以支持超大规模数据。具体实施时,所述多维数据模型包括用户多维数据模型和产品多维数据模型。其中,用户多维数据模型为用户数据立方体,产品多维数据模型为产品数据立方体。用户数据立方体为用户标识和多个维度的所述预设数据特征组合的关系模型;产品立方体为产品标识和多个维度的所述预设数据特征组合的关系模型。步骤110,基于所述多维数据模型获得多条多维关联规则。所述多维数据模型包括用户多维数据模型和产品多维数据模型,是由用户标识或产品标识,以及多个维度的数据特征的组合构成的关系模型。通过将所述产品多维数据模型中支持次数大于一定数值的组合数据特征组合,加入第一频繁特征集合;以及,通过将所述用户多维数据模型中支持次数大于一定数值的数据特征组合加入第二频繁特征集合,对数据特征组合进行初步筛选,用于减小运算量,提高运算效率。然后,将所述第一频繁特征集合中置信次数满足预设条件的数据特征组合加入第一目标集合;将所述第二频繁特征集合中置信次数满足预设条件的数据特征组合加入第二目标集合。最后,分别计算所述第一目标集合中每个数据特征组合和所述第二目标结合中的所有数据特征组合的两两关联规则,得到多条多维关联规则。具体实施时,为了进一步提升运算效率,可以通过Map(映射)Reduce(简化)编程模型并行计算多维关联规则。通过Map(映射)Reduce(简化)编程模型,将用户多维数据模型和产品多维数据模型中的每一条用户与数据特征组合的关系、产品与数据特征组合的关系进行处理后简化为多维关联规则的集合。每一条多维关联规则表示数据特征组合对应一个用户和产品组合,每一条多维关联规则表示该用户和产品组合对应的该组数据特征出现的次数、置信次数以及提升度等。具体实施时,通过MapReduce模型中预设数量的映射任务,将分布式存储的所述产品多维数据模型和所述用户多维数据模型中支持次数满足第一预设条件的数据特征组合,分别映射到预设格式的键值对;将所述预设格式的键值对按照数据相关性发送到所述MapReduce模型中多个简化任务;通过所述简化任务将所述键值对对应的数据特征组合中置信次数满足第二预设条件的数据特征组合标记为置信组合;分别计算所述产品多维数据模型中标记为置信组合的数据特征组合与所述产品多维数据模型中标记为置信组合的数据特征组合的两两关联规则,得到多条多维关联规则。步骤120,基于所述多维关联规则进行所述互联网平台上产品的推荐。当某一用户登录互联网平台后,提取互联网平台存储的当前登录用户的用户数据特征,将提取到的用户特征与生成的关联规则中的该用户的(用户,产品)关联规则包含的用户数据特征组合进行比对,确定相似度最高的用户数据特征组合所属的关联规则所对应的产品,将确定的产品推荐给所述当前用户。或者,对于某一产品,根据获得的关联规则确定可能对该产品感兴趣的用户,并将该产品推荐给确定的用户。优选地,基于所述多维关联规则进行所述互联网平台上产品的推荐于生成的关联规则进行产品推荐时,还可以结合推荐参数,通过所述推荐参数对具体实施时,根据应用场景的选择不同的推荐参数,如对于互联网平台上的点餐产品,推荐参数可以选择用户常驻商圈;对于互联网平台上的服饰产品,推荐参数可以选择用户性别、年龄。本申请实施例通过,提取互联网平台存储的数据的预设数据特征,建立所述互联网平台的多维数据模型,然后,基于所述多维数据模型获得多条多维关联规则;最后,基于所述多维关联规则进行所述互联网平台上产品的推荐,解决了现有技术中基于海量、多维数据进行处理提取关联规则,用于进行产品推荐时,提取关联规则的运算效率低下的问题。通过建立多维数据模型,有效地对互联网平台存储的数据进行分类处理,提升了计算关联规则的效率,进一步提升了产品推荐的效率。实施例二本实施例公开的一种产品推荐方法,如图2所示,该方法包括:步骤200至步骤240。步骤200,对互联网平台存储的数据中数值类型的字段进行离散化处理。互联网品台上的产品不仅包括实体产品,还包括:服务、信息等。O2O即OnlineToOffline(在线离线/线上到线下)是互联网平台的一个典型例子。下面将结合O2O平台的具体应用场景对本申请的产品推荐方法进行详细说明。O2O平台存储的数据包括用户的身份信息、O2O平台上的产品信息、产品交易记录、浏览记录等。O2O平台存储的数据通常由多个字段组成。O2O平台存储的数据的各字段的类型分为:数值型和字符串型。数值型数据包括:用户年龄和收入,产品的价格,成交量和浏览量,产品各个类目的交易次数和浏览次数等。由于数值型特征取值范围非常广泛,可以为0到无穷大,为了便于分析和多维数据建模,需要对连续数据离散化。字符串型数据包括:用户的性别、职业及信用信息,产品的标题、分类、关键词等。由于字符串型字段的取值有限,并且字符串型字段的取值包含一定的分类信息,如性别(男/女),信用信息(无星,一星,二星,三星,四星,五星)等,因此可以直接利用数据的字符串型字段取值对该字段进行分析和建模。在获取O2O平台存储的数据之后,通常需要对数值类型的数据进行预处理,如对数值型数据进行离散化,得到对应的数值型特征值。具体实施时,可以采用Logit模型对数值型数据进行离散化,公式如下:其中,t为数据数值型字段的取值,θ为离散参数,参数θ可以根据离散化得到的数值的期望取值范围进行调价。通过上述Logit模型,可以把数字型字段的取值t离散化到[0,10]的整数区间。步骤210,提取互联网平台存储的数据的预设数据特征,建立所述互联网平台的多维数据模型。具体实施时,所述预设数据特征的包括:用户维度数据特征、产品维度数据特征和行为维度数据特征。所述提取O2O平台存储的数据的预设数据特征,建立所述O2O平台的多维数据模型的步骤,包括:子步骤2101至子步骤2103。子步骤2101,提取互联网平台存储的数据的预设数据特征。本申请具体实施时,基于O2O平台存储的数据提取预设数据特征,用于产品推荐时参考。因此,数据特征的类型也相应地分为:数值型和字符串型。数值型字段对应数值型特征,字符串型字段对应字符串型特征。所述预设数据特征包括但不限于:用户维度数据特征、产品维度数据特征、行为维度数据特征。其中,不同维度的数据特征用于表征数据的类别属性,各个维度又细分为多个子维度。如:用户维度数据特征进一步分为:基本信息、地区信息、信用信息及用户偏好等子维度,每一个用户维度数据特征的子维度又可以进一步包括多个子维度,如年龄、性别、婚姻状况、职业、收入等数据特征。再如:产品维度数据特征进一步包括:基本信息和产品标签,而产品标签子维度数据特征又进一步包括成交量、浏览量及产品关键词等数据特征。O2O平台存储的数据的预设数据特征的取值可以直接来源于用户通过O2O平台输入的数据,如用户维度数据特征中的婚姻状况、职业等数据特征,如产品维度数据特征中的标题、分类、价格等数据特征;也可以由O2O平台根据O2O平台存储的数据计算后得到,如用户维度数据特征中的信用信息、产品维度数据特征中的成交量等数据特征。具体实施时,根据O2O平台的业务内容需要,预先建立数据特征库,所述数据特征库中的数据特征的值分别对应O2O平台存储的数据的某个字段的取值,或者可以根据O2O平台存储的数据计算生成。通过预先建立数据特征和O2O平台存储的数据的字段的对应关系,可以提取预处理后的O2O平台存储的数据的各数据特征。例如,提取到“美食交易次数”的值为10;提取到“常驻商圈”特征为“北京站”;提取到“最近7天交易水平”特征取值为5等。子步骤2102,根据提取的所述预设数据特征,分别建立用户维度数据表、产品维度数据表以及行为维度数据表。根据提取的所述数据特征预设特征值,建立二维数据表。所述二维数据表包括:用户维度数据表、产品维度数据表、行为维度数据表。其中,所述用户维度数据表至少包括:用户标识和用户维度数据特征;所述产品维度数据表至少包括:产品标识和产品维度数据特征;所述行为维度数据表至少包括:用户标识和行为维度数据特征。所述产品多维数据模型和用户多维数据模型包括多维预设数据特征组。具体实施时,所述用户维度数据表的字段至少包括:用户标识和多个用户维度特征。其中,用户标识是O2O平台上用户的唯一身份标识,建立的用户维度表参见表1。用户ID年龄性别姓名工作城市用户等级…职业…890525~30男张三上海一级教师897430~35女李四北京二级服务员899735~40男王五广州三级工程师906640+女赵六上海四级教师908925-女钱七北京五级学生911225~30女周八北京无级代理人表1:用户维度数据表如表1所示,所述用户维度数据表可以采用用户标识(即用户ID)进行索引。表1中的“年龄”、“性别”、“婚姻状况”、“工作城市”、“用户等级”、“职业”等字段分别为一个用户维度数据特征。表1中的每一行对应一个用户的各用户维度数据特征的取值,由“用户ID”进行唯一标识;所述产品维度数据表的字段包括:产品标识和多个产品维度数据特征。其中,产品标识是O2O平台上产品的唯一标识,建立的产品维度数据表参见表2。表2:产品维度数据表如表2所示,可以采用产品标识(即产品ID)进行索引。表2中的“名称”、“分类”、“商品评分”、“成交量等级”、“浏览量等级”、“产品关键词”等字段分别为一个产品维度数据特征。表2中的每一行对应一个产品的各产品维度数据特征的取值,由“产品ID”进行唯一标识。所述行为维度数据表的字段包括:用户标识、产品标识,及多个行为维度数据特征。建立的行为维度数据表参见表3。表3:行为维度数据表如表3所示,表3中的“最近一次交易时间距离现在的时间”、“最近7天交易水平”、“最近一次浏览时间距离现在的时间”、“最近3天浏览水平”、“最近7天浏览水平”等字段分别为一个行为维度数据特征。所述行为维度数据表的每一行对应一个用户与一个产品的组合对应的各行为维度数据特征的取值。子步骤2103,基于所述用户维度数据表和行为维度数据表建立产品多维数据模型,及,基于所述产品维度数据表和行为维度数据表建立用户多维数据模型。具体实施时,所述多维数据模型为数据立方体。由于表1,表2,表3中的数据都非常大,采用现有技术中的关联关系分析方法效率低下。本申请采用了ApacheKylin提供的立方体生成功能,可以高效灵活地完成数据立方体的生成工作。ApacheKylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力,以支持超大规模数据。其中,用户多维数据模型为用户数据立方体,产品多维数据模型为产品数据立方体。用户数据立方体为用户标识和多个维度的所述预设数据特征组合的关系模型;产品立方体为产品标识和多个维度的所述预设数据特征组合的关系模型。所述用户数据立方体是以用户标识为主键的多维数据立方体。建立以用户标识为主键的多维数据立方体时,输入数据是如表3所示的行为维度数据表和如表2所示的产品维度数据表。用户数据立方体用于分析:该用户会购买怎样的产品。ApacheKylin引擎在获取行为维度数据表和产品维度数据表后,对于行为维度数据表中的每个用户,在行为维度数据表中找到该用户购买过的所有产品,然后结合行为维度数据表和产品维度数据表中的所有维度的数据特征分析该用户喜欢购买什么样的产品,得到如表4所示的用户数据立方体。表4:用户数据立方体表4中,对于用户标识(即用户ID)为8974的用户,ApacheKylin引擎结合行为维度数据表和产品维度数据表中的所有维度的数据特征分析该用户喜欢购买的产品如:产品分类=美食/火锅/&最近7天浏览水平=1&产品评分=5分的产品。最后,统计该产品特征维度组合出现的次数,生成用户数据立方体。ApacheKylin引擎分析数据的具体过程参见现有技术,此处不再赘述。所述产品数据立方体是以产品标识为主键的多维数据立方体。建立以产品标识为主键的多维数据立方体时,输入数据是如表3所示的行为维度数据表和如表1所示的用户维度数据表。产品数据立方体用于分析:该产品会被什么样的用户购买。ApacheKylin引擎在获取行为维度数据表和用户维度数据表后,对于行为维度数据表中的每个产品,在行为维度数据表中找到购买过该产品的所有用户,然后结合行为维度数据表和用户维度数据表中的所有维度的数据特征分析该产品会被什么样的用户购买,得到如表5所示的产品数据立方体。表5:产品数据立方体表5中,对于产品标识(即产品ID)为10的用户,ApacheKylin引擎结合行为维度数据表和用户维度数据表中的所有维度的数据特征分析购买该产品的特征组合(例如最近7天交易水平=1&最近3天浏览水平=2),最后,统计该特征组合出现的次数(如3800次),生成产品数据立方体。ApacheKylin引擎分析数据的具体过程参见现有技术,此处不再赘述。通过建立数据立方体,把二维数据表转换成多维数据立方体,即把二维数据关系转换成了多维数据关系,生成的多维数据关系是以K,V为主键的关系图。所述数据立方体的层级数量等于提取的所述预设数据特征的维度数量,不同维度数量预设数据特征的组合构成所述数据立方体的不同层级。转换得到的表示多维数据关系的示意图,如图3所示。图3所示的多维数据关系包括四层,其中,字母A、B、C和D代表数据立方体中的数据特征,如用户数据立方体或产品数据立方体中的用户姓名、产品名称、产品关键词等数据特征;数据关系中的各节点分别代表不同数目的数据特征的任意组合;每一层节点对应不同数目的数据特征的组合。通常,多维数据立方体有多少个维度数据特征,生成的多维数据关系就会有多少层节点。图3中(A),(A,D),(A,C,D)等结点为K,V是对应结点的值。例如K=(A,B),V=sum(A,B),V表示(A,B)在二维数据表中的次数。各层次的含义表示不同数目个维度的数据特征的组合,有多少个维度就可以有多少个组合层次,为了简化计算过程,提高运算效率,数据特征的数量一般不超过50维。具体实施时,通过数据立方体提供的接口可以获取上述数据特征组合以及数据特征组合的出现次数。步骤220,基于所述多维数据模型获得多条多维关联规则。基于所述多维数据模型获得多条多维关联规则的步骤,包括:子步骤2201至子步骤2203。子步骤2201,通过所述产品多维数据模型获取支持次数满足第一预设条件的组合数据特征组合,将所述获取的数据特征组合加入第一频繁特征集合;以及,通过所述用户多维数据模型获取满足所述第一预设条件的数据特征组合,将所述获取的数据特征组合加入第二频繁特征集合。具体实施时,所述第一预设条件为数据特征组合的出现次数大于或等于最小支持次数阈值。通过获取所述行为维度数据表中每个用户与产品组合的总次数,根据所述总次数和预设的最小支持度确定每个数据特征组合的最小支持次数阈值,具体包括:根据行为维度数据表,确定每个用户和产品组合出现的总次数;根据公式minN=threshold*N计算某个数据特征组合最小支持次数阈值。其中,总次数N表示(用户标识,产品标识)组合出现的总次数,具体实施时,用户维度数据表、产品维度数据表和行为维度数据表存储在Hadoop集群,ApacheKylin提供了Hadoop之上的数据查询接口,可以直接调用数据查询接口,用SQL语句查询二维数据表中的各项数值。例如,调用语句:SELECTCOUNT(1)FROM(SELECT用户ID,产品IDFROM行为维度数据表GROUPBY用户ID,产品ID)A,获取(用户ID,产品ID)在存储的数据中出现的总次数。threshold为预设的最小支持度,所述最小支持度表示特征组合出现的最小次数比例。如果一个特征组合出现的次数特别少,对于其进行关联分析是没有意义的,因此,具体实施时,把最小支持次数小于预设的最小支持次数阈值的特征组合直接剔除,减少计算量,提高运算效率。根据经验,最小支持度通常设置为0.0001(万分之一)。并行扫描产品数据立方体(即产品多维数据模型)和用户数据立方体(即用户多维数据模型),将所述产品数据立方体中数据特征组合的出现次数大于或等于最小支持次数阈值的数据特征组合加入第一频繁特征集合,以及,将所述用户数据立方体中数据特征组合的出现次数大于或等于最小支持次数阈值的数据特征组合加入第二频繁特征集合。在构建产品数据立方体和用户数据立方体时,产品数据立方体和用户数据立方体中已经提供了各层次上的(即相应数量的特征组合特征对应的层次)数据特征组合出现的次数W(如,上述表4和表5中的次数)。因此,本步骤中只需要比较数据特征组合出现的次数W与最小支持次数阈值minN是否满足第一预设条件,例如是否满足W≥minN。如果数据特征组合出现的次数W与最小支持次数阈值minN满足第一预设条件,则把该数据特征组合作为频繁特征。产品数据立方体中所有频繁特征形成第一频繁特征集,记作PI;用户数据立方体中所有频繁特征形成第二频繁特征集,记作UI。子步骤2202,将所述第一频繁特征集合中置信次数满足第二预设条件的数据特征组合加入第一目标集合;将所述第二频繁特征集合中置信次数满足第二预设条件的数据特征组合加入第二目标集合。具体实施时,所述第二预设条件为数据特征组合的置信次数大于或等于置信次数阈值。获取所述行为维度数据表中用户与产品组合的最大次数,根据所述最大次数和最小置信度确定每个数据特征组合的最小置信次数阈值,具体包括:根据行为维度数据表,确定用户与产品组合出现的最大次数;根据公式minconf=C*Confidence计算某个数据特征组合最小置信次数阈值。其中,最大次数C表示(用户标识,产品标识)组合出现的总最大次数,具体实施时,用户维度数据表、产品维度数据表和行为维度数据表存储在Hadoop集群,ApacheKylin提供了Hadoop之上的数据查询接口,可以直接调用数据查询接口,用SQL语句查询二维数据表中的各项数值。例如,调用语句:SELECTMAX(次数)FROM(SELECT用户ID,产品ID,COUNT(1)as次数FROM行为维度数据表GROUPBY用户ID,产品ID)A,获取(用户ID,产品ID)组合最大出现次数。Confidence为预设的最小置信度,所述最小置信度表示特征组合出现的最小置信次数比例。置信度是表示特征组合出现的可信程度。如果一个特征组合的可信程度很低,对于其进行关联分析是没有意义的,因此,会把小于最小置信次数的特征组合直接剔除,减少计算,提高运算效率。根据经验取值,最小置信度通常设置为0.01(百分之一)。对于第一频繁特征集合中的每一个数据特征组合,将所述第一频繁特征集合中的置信次数与最小置信次数阈值满足第二预设条件的数据特征组合加入第一目标集合;以及,对于第二频繁特征集合中的每一个数据特征组合,将所述第二频繁特征集中的置信次数与最小置信次数阈值满足第二预设条件的数据特征组合加入第二目标集合。具体实施时,在构建产品数据立方体和用户数据立方体时,产品数据立方体和用户数据立方体中已经提供了各层次上的(即相应维度数量的数据特征组合对应的层次)数据特征组合出现的次数,并计算了每个数据特征组合的置信次数。当该数据特征组合的置信次数和该数据特征组合的最小置信次数阈值满足第二预设条件(如:数据特征组合的置信次数≥该数据特征组合的最小置信次数阈值)时,将该数据特征组合加入第一目标集合。当该数据特征组合的置信次数和该数据特征组合的最小置信次数阈值满足第二预设条件(如:数据特征组合的置信次数≥该数据特征组合的最小置信次数阈值)时,将该数据特征组合加入第二目标集合。具体实施时,每个数据特征组合的最小置信次数阈值等于预设最小置信度与包含该特征组合的所有特征组合出现的次数之和的乘积。每个数据特征组合的置信次数等于该数据特征组合出现的次数。子步骤2203,分别计算所述第一目标集合中每个数据特征组合和所述第二目标结合中的所有数据特征组合的两两关联规则,得到多条多维关联规则。具体实施时,分别计算所述第一目标集合中每个数据特征组合和所述第二目标结合中的所有数据特征组合的两两关联规则,得到多条多维关联规则包括:分别将所述第一目标集合中数据特征组合包括的行为维度数据特征组合与所述第二目标集合中每个数据特征组合包括的行为维度数据特征组合进行两两匹配,将匹配成功的行为维度数据特征组合对应的用户标识和产品标识作为一个(用户,产品)组合,并生成一条产品维度数据特征组合与用户维度数据特征组合的关联关系,其中,所述产品维度数据特征组合为匹配成功的行为维度数据特征组合所在第一目标集合中数据特征组合包括的产品维度数据特征组合,所述用户维度数据特征组合为匹配成功的行为维度数据特征组合所在第二目标集合中数据特征组合包括的用户维度数据特征组合。最后,所述有关联规则组成关联规则集合RS,如表6所示。由于一个用户可能包含多个产品数据特征组合,一个产品也包含多个用户数据特征组合,因此,对于同一个(用户,产品)组合,可能产生多条关联规则,如表6中关联规则1,3,5。表6:关联规则集合RS优选的,所述根据所述用户数据立方体和产品数据立方体,以及所述行为维度表生成关联规则包括:根据所述用户数据立方体和产品数据立方体,以及所述行为维度表,采用Map(映射)Reduce(简化)分布式运算模型生成关联规则。所述基于所述多维数据模型获得多条多维关联规则,包括:通过MapReduce模型中预设数量的映射任务,将分布式存储的所述产品多维数据模型和所述用户多维数据模型中支持次数满足第一预设条件的数据特征组合,分别映射到预设格式的键值对;将所述预设格式的键值对按照数据相关性发送到所述MapReduce模型中多个简化任务;通过所述简化任务将所述键值对对应的数据特征组合中置信次数满足第二预设条件的数据特征组合标记为置信组合;分别计算所述产品多维数据模型中标记为置信组合的数据特征组合与所述产品多维数据模型中标记为置信组合的数据特征组合的两两关联规则,得到多条多维关联规则。具体实施时,用户数据立方体和产品数据立方体分布式存储于Hadoop文件系统中,通过HDFS文件进行读取。Map(映射)Reduce(简化)分布式运算模型预设多个Map(映射)任务Mapper,Map将用户数据立方体和产品数据立方体中存储的数据特征组合作为输入键值对(key/valuepair),将输入的键值对映射到一组中间格式的键值对集合。Mapper是一类将输入记录集转换为中间格式记录集的独立任务。本申请实施例中输入键值对为如表4和表5所示的数据特征组合。通过setNumMapTasks(int)设置Map任务数量,调用Map()接口把输入数据特征组合键值对转换成指定格式的键值对输出。其中,Mapper任务的数目通常是由输入数据的大小决定,如所有输入文件的总块(block)数。如果输入1G的数据,每个块(block)的大小是128MB,将需要大约8个map来完成任务。数据立方体中的键值对中是数据特征组合-出现次数对。Mapper在将输入的数据立方体中的键值对转换成预设格式的键值对时,首先对以HDFS文件分布式存储的所述产品多维数据模型和所述用户多维数据模型中支持次数满足第一预设条件的数据特征组合,分别映射到预设格式的键值对。如将出现次数大于或等于最小支持次数阈值的数据特征组合映射到预设格式的键值对。然后,调用MapReduce模型中将所述预设格式的键值对发送到所述MapReduce模型中的某个简化任务进行数据处理。MapReduce模型中将所述预设格式的键值对发送到所述MapReduce模型中的某个简化任务进行数据处理时,会按照数据相关性,将某个用户或某个产品的键值对发送到相同的简化任务进行处理,以提高简化任务的处理效率。MapReduce模型中Partitioner任务负责控制mapper任务输出结果的分割,键(数据特征组合)或者一个键的子集被用于产生分区。通常使用Hash函数对数据处理后的键值对进行分区,即将数据处理后的键值对发送至多个简化任务。然后,通过所述简化任务将所述键值对对应的数据特征组合中置信次数大于或等于最小置信次数阈值的数据特征组合标记为置信组合。最后,分别计算所述产品多维数据模型中标记为置信组合的数据特征组合与所述产品多维数据模型中标记为置信组合的数据特征组合的两两关联规则,得到多条多维关联规则。具体实施时,通过调用MapReduce模型的接口setNumReduceTasks(int)设置MapReduce模型中Reducer任务的数量。Reducer任务将与一个key关联的一组预设格式键值对归约为一个更小的数值集。Reducer任务的数目根据速度的需求设定。通过性能研究,本申请的关联规则生成方法的时间成本不会随特征组合的复杂程度提高,具有较好的可扩展性。最后调用MapReduce模型的collect()接口收集简化结果。在基于所述多维数据模型获得多条多维关联规则之后,可以基于获得的关联规则进行产品推荐。基于所述多维关联规则进行所述互联网平台上产品的推荐,包括:基于所述多维关联规则,结合预设推荐参数,确定所述互联网平台上产品的推荐得分;根据确定的所述推荐得分的高低顺序,进行所述互联网平台上产品的推荐。步骤230,基于所述多维关联规则,结合预设推荐参数,确定所述互联网平台上产品的推荐得分。所述多维关联规则至少包括:用户与产品的组合、每个用户与产品的组合中所述用户相关的数据特征组合和所述产品相关的数据特征组合。所述预设推荐参数可以为用户常驻商圈、用户性别、年龄等特征。具体实施时,以所述预设推荐参数为用户常消费商圈为例,所述基于所述多维关联规则,结合预设推荐参数,确定所述互联网平台上产品的推荐得分的步骤,包括:在所述多条多维关联规则包括的用户与产品的组合中,确定组合中的产品属于所述用户常消费商圈的多维关联规则;从确定的所述关联规则中选择提升度最高的预设条数多维关联规则;计算选择的所述预设条数多维关联规则的推荐得分。在互联网平台中,目前的交易形式包括:团购形式,即用户在网上买一张团购券,然后到店铺消费;优惠买单,即用户在平台中查询有关店铺的信息,然后到店去消费,结账的时候用优惠买单;预约看店,即用户想到某家店铺去体验,先通过平台与商家预约时间。可见,上述的交易形式,都不离开线下消费,所以给用户推荐距离较近的店铺的商品能够进一步改善用户体验。经过调研发现一个用户最常消费的商圈数1到3个,而每个商品都有对应的POI(PointofInterest),本申请中POI是指店铺,根据商品对应的POI(店铺)所在的商圈,确定该商品的商圈。一个商圈的POI(店铺)数平均2000左右。因此,如果只计算一个用户与常消费商圈中商品的推荐次序,可以从数量上大大的降低了计算量,提高产品推荐效率。具体实施时,遍历所述多条多维关联规则包括的用户与产品的组合,并确定组合中的产品属于所述用户常消费商圈的组合所属多维关联规则。通过提取用户的用户维度特征中的常驻商圈可以获取用户常消费商圈region。或者,通过遍历用户消费的商品,然后通过POI确定用户消费的店铺,确定用户消费商圈,最后,选取消费次数TOP3的商圈,作为用户的常消费商圈。对于每一对(用户,产品)组合中的产品,分别确定该产品所述店铺,并进一步确定该产品所属店铺是否属于用户常消费商圈,若是,则标识该(用户,产品)组合对应的多维关联规则为目标关联规则。具体实施时,对于用户常消费商圈内的产品,赋予较大的推荐权重,如1;对于非用户常消费商圈内的产品,赋予较小的推荐权重,如0。从确定的所述关联规则中选择提升度最高的预设条数多维关联规则,并计算选择的所述预设条数多维关联规则的推荐得分时,可以首先计算某一(用户,产品)组合对应的多维关联规则的提升度,并按照提升度由高到低的顺序对某一(用户,产品)组合对应的多维关联规则的关联规则进行排序,并选择提升度最高的预设条数多维关联规则,作为该(用户,产品)组合对应的推荐参考。如表6所示,某一(用户,产品)组合如(用户A,产品D)的关联规则可以表示为:RS(用户A,产品D)={1,3,5}。按照提升度(LIFT)值降序排列后,用户A,产品D)的关联规则可以表示为:RS(用户A,产品D)={3,1,5}。具体实施时,选取预设条数关联规则该(用户,产品)组合对应的推荐参考,所述预设条数关联规则记作RSup。其中,预设条数根据经验确定,如10条。然后,根据如下公式计算选择的所述预设条数多维关联规则的推荐得分rescore:re_Score(user,product)=avg(∑lift(rsup))*top_n/top_nrsup∈RSup其中,top_n为预设条数,lift(rsup)为一条选取的关联规则对应的(用户,产品)组合(user,product)的提升度。每个用户每个产品都会有一个推荐得分re_score,如表7所示,根据个分值的排序向某个用户推荐产品,或者将某个产品推荐给一些用户。用户标识产品标识推荐得分8905105897410689977190661059089101表7:推荐得分表步骤240,根据确定的所述推荐得分的高低顺序,进行所述互联网平台上产品的推荐。根据确定的推荐得分,可以将某个用户关联的产品按照推荐得分的高低顺序进行排列,优先将推荐得分最高的产品推荐给该用户。或者,根据确定的推荐得分,可以将某个产品关联的用户按照推荐得分的高低顺序进行排列,优先将该产品推荐给推荐得分最高的用户。本申请的产品推荐方法,通过提取互联网平台存储的数据的预设数据特征,建立所述互联网平台的多维数据模型;然后,基于所述多维数据模型获得多条多维关联规则;基于所述多维关联规则,结合预设推荐参数,确定所述互联网平台上产品的推荐得分;最后,根据确定的所述推荐得分的高低顺序,进行所述互联网平台上产品的推荐,解决了现有技术中基于海量、多维数据进行处理提取关联规则,用于进行产品推荐时,提取关联规则的运算效率低下的问题。通过建立多维数据模型,有效地对互联网平台存储的数据进行分类处理,提升了计算关联规则的效率,进一步提升了产品推荐的效率。同时,通过采用MapReduce分布式模型计算关联规则,进一步提升了关联规则的计算效率。通过基于所述多维关联规则,结合预设推荐参数,确定所述互联网平台上产品的推荐得分,并根据确定的所述推荐得分的高低顺序,进行所述互联网平台上产品的推荐,不仅减小了数据处理量,提升了计算效率,同时,通过设置适当的推荐参数,可以提高产品推荐的准确度,进一步提升了用户体验。实施例三相应地,本申请公开的一种产品推荐装置,如图4所示,所述装置包括:数据模型建立模块400,用于提取互联网平台存储的数据的预设数据特征,建立所述互联网平台的多维数据模型;关联规则生成模块410,用于基于所述数据模型建立模块400建立的多维数据模型获得多条多维关联规则;产品推荐模块420,用于基于所述关联规则生成模块410获得的多维关联规则进行所述互联网平台上产品的推荐。本申请实施例公开的产品推荐装置,通过提取互联网平台存储的数据的预设数据特征,建立所述互联网平台的多维数据模型,然后,基于所述多维数据模型获得多条多维关联规则;最后,基于所述多维关联规则进行所述互联网平台上产品的推荐,解决了现有技术中基于海量、多维数据进行处理提取关联规则,用于进行产品推荐时,提取关联规则的运算效率低下的问题。通过建立多维数据模型,有效地对互联网平台存储的数据进行分类处理,提升了计算关联规则的效率,进一步提升了产品推荐的效率。实施例四参见图5,基于实施例三,本申请公开的一种产品推荐装置,所述装置还包括:数据预处理模块430,用于对互联网平台存储的数据中数值类型的字段进行离散化处理。可选地,所述产品推荐模块420包括:推荐得分确定单元4201,用于基于所述多维关联规则,结合预设推荐参数,确定所述互联网平台上产品的推荐得分;产品推荐单元4202,用于根据所述推荐得分确定单元4201确定的所述推荐得分的高低顺序,进行所述互联网平台上产品的推荐。具体实施时,所述多维关联规则至少包括:用户与产品的组合、每个用户与产品的组合中所述用户相关的数据特征组合和所述产品相关的数据特征组合;所述预设推荐参数为用户常消费商圈。可选地,所述产品推荐单元4202包括:关联规则选择子单元,用于在所述多条多维关联规则包括的用户与产品的组合中,确定组合中的产品属于所述用户常消费商圈的多维关联规则;关联规则筛选子单元,用于从确定的所述关联规则中选择提升度最高的预设条数多维关联规则;推荐得分计算子单元,用于计算选择的所述预设条数多维关联规则的推荐得分。所述预设数据特征的包括:用户维度数据特征、产品维度数据特征和行为维度数据特征.可选地,如图5所示,所述数据模型建立模块400包括:数据特征提取单元4001,用于提取互联网平台存储的数据的预设数据特征;数据特征二维表建立单元4002,用于根据提取的所述预设数据特征,分别建立用户维度数据表、产品维度数据表以及行为维度数据表;多维数据模型建立单元4003,用于基于所述用户维度数据表和行为维度数据表建立产品多维数据模型;所述多维数据模型建立单元4003,还用于基于所述产品维度数据表和行为维度数据表建立用户多维数据模型;其中,所述用户维度数据表至少包括:用户标识和用户维度数据特征;所述产品维度数据表至少包括:产品标识和产品维度数据特征;所述行为维度数据表至少包括:用户标识和行为维度数据特征;所述产品多维数据模型和用户多维数据模型包括多维预设数据特征组合。可选地,所述关联规则生成模块410包括:转换单元4101,用于通过MapReduce模型中预设数量的映射任务,将分布式存储的所述产品多维数据模型和所述用户多维数据模型中支持次数满足第一预设条件的数据特征组合,分别映射到预设格式的键值对;映射单元4102,用于将所述预设格式的键值对按照数据相关性发送到所述MapReduce模型中多个简化任务;数据处理单元4103,用于通过所述简化任务将所述键值对对应的数据特征组合中置信次数满足第二预设条件的数据特征组合标记为置信组合;关联规则生成单元4104,用于分别计算所述产品多维数据模型中标记为置信组合的数据特征组合与所述产品多维数据模型中标记为置信组合的数据特征组合的两两关联规则,得到多条多维关联规则。可选地,所述多维数据模型为数据立方体。可选地,所述数据立方体的层级数量等于提取的所述预设数据特征的维度数量,不同维度数量预设数据特征的组合构成所述数据立方体的不同层级。本申请的产品推荐装置,通过提取互联网平台存储的数据的预设数据特征,建立所述互联网平台的多维数据模型;然后,基于所述多维数据模型获得多条多维关联规则;基于所述多维关联规则,结合预设推荐参数,确定所述互联网平台上产品的推荐得分;最后,根据确定的所述推荐得分的高低顺序,进行所述互联网平台上产品的推荐,解决了现有技术中基于海量、多维数据进行处理提取关联规则,用于进行产品推荐时,提取关联规则的运算效率低下的问题。通过建立多维数据模型,有效地对互联网平台存储的数据进行分类处理,提升了计算关联规则的效率,进一步提升了产品推荐的效率。同时,通过采用MapReduce分布式模型计算关联规则,进一步提升了关联规则的计算效率。通过基于所述多维关联规则,结合预设推荐参数,确定所述互联网平台上产品的推荐得分,并根据确定的所述推荐得分的高低顺序,进行所述互联网平台上产品的推荐,不仅减小了数据处理量,提升了计算效率,同时,通过设置适当的推荐参数,可以提高产品推荐的准确度,进一步提升了用户体验。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上对本申请提供的一种产品推荐方法、装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1