CN104239324B - 一种基于用户行为的特征提取、个性化推荐的方法和*** - Google Patents
一种基于用户行为的特征提取、个性化推荐的方法和*** Download PDFInfo
- Publication number
- CN104239324B CN104239324B CN201310239508.2A CN201310239508A CN104239324B CN 104239324 B CN104239324 B CN 104239324B CN 201310239508 A CN201310239508 A CN 201310239508A CN 104239324 B CN104239324 B CN 104239324B
- Authority
- CN
- China
- Prior art keywords
- dimension
- user behavior
- cluster
- behavior data
- data point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种基于用户行为的特征提取方法,包括:收集用户的原始行为信息,依据所述用户的原始行为信息生成用户行为数据点;所述用户行为数据点包括用户标识、维度标识及对应的维度分值;按照所述维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间;分别针对所述多个聚类空间中用户行为数据点的维度分值进行二值化;依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度。本申请实施例采用了分布式计算,总体运算时间大幅减少。针对海量数据输入的条目超多和条目维度超多的问题,采用对数据分块计算的方法,对中间结果分块表达,解决了I/O过大问题。
Description
技术领域
本申请实施例涉及数据处理技术领域,特别是涉及一种基于用户行为的特征提取的方法、一种基于用户行为的特征提取的***、一种基于用户行为的个性化推荐的方法和一种基于用户行为的个性化推荐的***。
背景技术
因特网Internet的迅猛发展将人们带入了信息社会和网络经济时代,对企业的发展和个人生活都产生了深刻的影响。同时,过量的信息使得人们无法高效地从中获取自己需要的部分,信息的使用效率反而降低。
以电子商务(ElectronicCommerce)为例,电子商务是在Internet开放的网络环境下,基于浏览器/服务器应用方式,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种新型的商业运营模式。随着Internet的爆发式发展,电子商务越加繁荣。由于供应链和物流的发展,商家能够在网上提供的商品种类和数量非常多,反而大大增加了消费者购物的时间成本,降低了电子商务平台的商品购买率。显然,用户既不愿意花费太多时间在漫无边际的网上寻找商品,也不可能像在现实生活中那种检查商品的质量。而是希望根据自身的兴趣爱好自动获取***推荐的而且会感到满意的商品。因此根据不同的用户特征,把用户划分为不同的群组,进行有针对性的服务,是当前的应用热点之一。这样,聚类和特征提取也成为重要的应用。
目前的数据聚类***大多是单机的,在处理大量数据时,除了运算时间过长,还存在输入/输出(I/O)负载过重的问题。当数据维度过多的时候,数据运算的中间结果过大,既不能放在内存中,又不能存储为文件保存,并且中间运算的I/O也会过大。换言之,当数据量过大时***的硬件设备就会出现瓶颈,导致无法处理更大的数据量,显然这样的聚类***是无法进行诸如电子商务的海量数据的聚类。
现有的技术也提出了用并行和分布式的方法进行大数据聚类处理,但是也存在分布式各个节点的交互、迭代等步骤的I/O压力过大的问题,即当数据量过大时***硬件设备也会出现瓶颈,导致无法处理更大的数据量,显然也是无法进行诸如电子商务的海量数据的聚类。
现在的推荐***很多是基于某种特征提取算法的,这种算法要求相当的业务知识,人工介入比较多,导致通用性差,人工成本高;电子商务涉及的行业广,要求通用性好,而且人工介入过多导致成本愈来愈大以致无法承受。再者,这种算法要在内存中进行运算,而且运算量大,运算时间长,受制于计算机硬件的承受能力,不适用于处理诸如电子商务的海量数据。最重要的是,该算法提取出不同用户群的特征,无法有效区分不同的用户群。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提出一种适用于海量数据的处理的聚类及特征提取机制,根据不同的用户行为,把用户划分为不同的群组,提取能有效区分不同群组的特征,分别进行针对性的服务,提高服务的效率。
申请内容
本申请实施例所要解决的技术问题是提供一种基于用户行为的特征提取的方法及一种基于用户行为的个性化推荐的方法,能够基于用户的行为信息将用户划分为兴趣爱好相近的用户群,并提取出不同用户群的特征,使该特征可以区分不同的用户群,在个性化推荐时据此特征快速高效地进行推荐。
相应的,本申请实施例还提供了一种基于用户行为的特征提取的***及一种基于用户行为的个性化推荐的***,用以保证上述方法的实现及应用。
本申请实施例公开了一种基于用户行为的特征提取方法,包括:
收集用户的原始行为信息,依据所述用户的原始行为信息生成用户行为数据点;所述用户行为数据点包括用户标识、维度标识及对应的维度分值;
按照所述维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间;
分别针对所述多个聚类空间中用户行为数据点的维度分值进行二值化;
依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度。
优选地,所述按照维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间的步骤包括:
将所述用户行为数据点分配至K个簇中,并按照维度标识分别计算K个簇中对应的初始的K个中心点,并依据所述K个中心点及对应的用户行为数据点,形成初始的K个聚类空间;其中,所述K为正整数;
按照维度标识分别计算各用户行为数据点与K个中心点的距离;
依据所述用户行为数据点与K个中心点的距离,重新确定所述用户行为数据点归属的聚类空间;
判断当前K个聚类空间是否满足预设条件;
若是,则获得最终的K个聚类空间;
若否,则在执行按照维度标识分别计算当前K个聚类空间的新的中心点的子步骤后,返回所述按照维度标识分别计算各用户行为数据点与K个中心点的距离的子步骤。
优选地,所述将用户行为数据点分配至K个簇中,并按照维度标识分别计算K个簇中对应的初始的K个中心点,并依据所述用户行为数据点及对应的K个中心点,形成初始的K个聚类空间的步骤包括:
将所述用户行为数据点随机分配至K个簇中,依据用户标识统计各个聚类空间中的用户数量;
在K个簇中,按维度标识分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同维度的用户行为数据点子集合;
分别对所述子集合中的维度分值进行求和,再分别除以对应的聚类空间中的用户数量,获得作为K个聚类空间初始的中心点的计算结果;
依据所述K个中心点及对应的用户行为数据点,形成初始的K个聚类空间。
优选地,所述按照维度标识分别计算各用户行为数据点与K个中心点的距离的步骤包括:
按照维度标识分别聚合对应的中心点和用户行为数据点,形成一个或多个分别归属于不同维度的中心点及对应的用户行为数据点的子集合;
分别计算所述子集合中各用户行为数据点与K个中心点的距离。
优选地,所述子集合中各用户行为数据点与K个中心点的距离通过以下公式获得:
distance=1-2*score;
其中,distance为用户行为数据点与中心点在所述维度上的距离,score为中心点在所述维度上的值。
优选地,所述依据用户行为数据点与K个中心点的距离,重新确定所述用户行为数据点归属的聚类空间的步骤包括:
按用户标识分别聚合对应的用户行为数据点与K个中心点在所有维度上的距离,形成一个或多个分别归属于不同用户的距离子集合;
在所述子集合中,提取与用户行为数据点距离最近的中心点对应的聚类空间作为用户行为数据点归属的聚类空间。
优选地,所述按照维度标识分别计算当前K个聚类空间的新的中心点的步骤包括:
在K个聚类空间中,按维度标识分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同维度的用户行为数据点子集合;
依据用户标识统计各个聚类空间中的用户数量;
分别对所述子集合中的维度分值进行求和,再分别除以所述K个聚类空间中的用户数量,获得作为K个聚类空间新的中心点的计算结果。
优选地,所述预设条件包括聚类的迭代次数超过第一预设阈值,所述判断当前K个聚类空间是否满足预设条件的步骤包括:
统计当前聚类的迭代次数;
判断所述迭代次数是否超过第一预设阈值。
优选地,所述预设条件还包括完成收敛的聚类空间的占比超过第二预设阈值,所述判断当前K个聚类空间是否满足预设条件的步骤还包括:
分别判断K个聚类空间是否完成收敛;
统计完成收敛的聚类空间的占比;
判断所述占比是否超过第二预设阈值。
优选地,所述分别判断K个聚类空间是否完成收敛的步骤包括:
按维度标识分别聚合K个聚类空间中的新的中心点和前一中心点,形成一个或多个分别归属于不同维度的中心点子集合;
分别依据所述子集合中新中心点及对应的前一中心点计算误差;
按照聚类空间标识分别聚合对应的误差,形成K个分别归属于对应K个聚类空间的迭代误差;
若所述迭代误差小于第三预设阈值,则标识对应的聚类空间完成收敛;若否,则标识对应的聚类空间未完成收敛。
优选地,所述依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度的步骤包括:
在多个聚类空间中,按主键分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同主键的用户行为数据点的子集合;其中,所述主键为维度标识或维度标识的组合;
分别提取所述子集合中公共维度占比超过第四预设阈值的一个或多个维度的频繁集;其中,所述公共维度为二值化后的维度分值为指定值的用户行为数据点的占比超过第五预设阈值的维度;
找出所述子集合中最长的频繁集对应的维度,并依据所述维度生成对应的聚类空间的特征维度。
本申请实施例公开了一种基于用户行为的个性化推荐的方法,包括:
获取用户的行为信息,所述用户的行为信息包括用户标识;
根据所述用户标识确定当前用户所属的一个或多个聚类空间;
提取所述一个或多个聚类空间对应的聚类空间特征维度;
采用所述聚类空间特征向当前用户进行推荐;
其中,所述聚类空间特征维度通过如下方式生成:
收集用户的原始行为信息,依据所述用户的原始行为信息生成用户行为数据点;所述用户行为数据点包括用户标识、维度标识及对应的维度分值;
按照所述维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间;
分别针对所述多个聚类空间中用户行为数据点的维度分值进行二值化;
依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度。
本申请实施例公开一种基于用户行为的特征提取***,包括:
用户行为数据点生成模块,用于收集用户的原始行为信息,依据所述用户的原始行为信息生成用户行为数据点;所述用户行为数据点包括用户标识、维度标识及对应的维度分值;
聚类空间形成模块,用于按照所述维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间;
二值化模块,用于分别针对所述多个聚类空间中用户行为数据点的维度分值进行二值化;
特征维度提取模块,用于依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度。
优选地,所述聚类空间形成模块包括:
初始聚类空间形成子模块,用于将所述用户行为数据点分配至K个簇中,并按照维度标识分别计算K个簇中对应的初始的K个中心点,并依据所述K个中心点及对应的用户行为数据点,形成初始的K个聚类空间;其中,所述K为正整数;
维度距离计算子模块,用于按照维度标识分别计算各用户行为数据点与K个中心点的距离;
聚类空间重新归属子模块,用于依据所述用户行为数据点与K个中心点的距离,重新确定所述用户行为数据点归属的聚类空间;
预设条件判断子模块,用于判断当前K个聚类空间是否满足预设条件;若是,则调用最终聚类空间获得子模块;若否,则调用返回子模块;
最终聚类空间获得子模块,用于获得最终的K个聚类空间;
返回子模块,用于在调用按照维度标识分别计算当前K个聚类空间的新的中心点的子模块后,返回距离计算子模块。
优选地,所述初始聚类空间形成子模块包括:
随机分配子模块,用于将所述用户行为数据点随机分配至K个簇中,依据用户标识统计各个聚类空间中的用户数量;
第一子集合形成子模块,用于在K个簇中,按维度标识分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同维度的用户行为数据点子集合;
初始中心点获得子模块,用于分别对所述子集合中的维度分值进行求和,再分别除以对应的聚类空间中的用户数量,获得作为K个聚类空间初始的中心点的计算结果;
初始形成子模块,用于依据所述K个中心点及对应的用户行为数据点,形成初始的K个聚类空间。
优选地,所述维度距离计算子模块包括:
第二子集合形成子模块,用于按照维度标识分别聚合对应的中心点和用户行为数据点,形成一个或多个分别归属于不同维度的中心点及对应的用户行为数据点的子集合;
子集合距离计算子模块,用于分别计算所述子集合中各用户行为数据点与K个中心点的距离。
优选地,所述子集合中各用户行为数据点与K个中心点的距离通过以下公式获得:
distance=1-2*score;
其中,distance为用户行为数据点与中心点在所述维度上的距离,score为中心点在所述维度上的值。
优选地,所述聚类空间归属子模块包括:
第三子集合形成子模块,用于按用户标识分别聚合对应的用户行为数据点与K个中心点在所有维度上的距离,形成一个或多个分别归属于不同用户的距离子集合;
子集合归属子模块,用于在所述子集合中,提取与用户行为数据点距离最近的中心点对应的聚类空间作为用户行为数据点归属的聚类空间。
优选地,所述按照维度标识分别计算当前K个聚类空间的新的中心点的子模块包括:
第四子集合形成子模块,用于在K个聚类空间中,按维度标识分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同维度的用户行为数据点子集合;
用户数量统计子模块,用于依据用户标识统计各个聚类空间中的用户数量;
新中心点计算子模块,用于分别对所述子集合中的维度分值进行求和,再分别除以所述K个聚类空间中的用户数量,获得作为K个聚类空间新的中心点的计算结果。
优选地,所述预设条件包括聚类的迭代次数超过第一预设阈值,所述预设条件判断子模块包括:
迭代次数统计子模块,用于统计当前聚类的迭代次数;
第一预设阈值判断子模块,用于判断所述迭代次数是否超过第一预设阈值。
优选地,所述预设条件还包括完成收敛的聚类空间的占比超过第二预设阈值,所述预设条件判断子模块包括:
聚类空间收敛判断子模块,用于分别判断K个聚类空间是否完成收敛;
占比统计子模块,用于统计完成收敛的聚类空间的占比;
第二预设阈值判断子模块,用于判断所述占比是否超过第二预设阈值。
优选地,所述聚类空间收敛判断子模块包括:
第五子集合形成子模块,用于按维度标识分别聚合K个聚类空间中的新的中心点和前一中心点,形成一个或多个分别归属于不同维度的中心点子集合;
误差计算子模块,用于分别依据所述子集合中新中心点及对应的前一中心点计算误差;
迭代误差计算子模块,用于按照聚类空间标识分别聚合对应的误差,形成K个分别归属于对应K个聚类空间的迭代误差;若所述迭代误差小于第三预设阈值,则调用完成标识子模块;若否,则调用未完成标识子模块;
完成标识子模块,用于标识对应的聚类空间完成收敛;
未完成标识子模块,用于标识对应的聚类空间未完成收敛。
优选地,所述特征维度提取模块包括:
第六子集合形成子模块,用于在多个聚类空间中,按主键分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同主键的用户行为数据点的子集合;其中,所述主键为维度标识或维度标识的组合;
频繁集提取子模块,用于分别提取所述子集合中公共维度占比超过第四预设阈值的一个或多个维度的频繁集;其中,所述公共维度为大部分本类中都有其中一个值的维度;
特征维度生成子模块,用于找出所述子集合中最长的频繁集对应的维度,并依据所述维度生成对应的聚类空间的特征维度。
本申请实施例公开了一种基于用户行为的个性化推荐的***,包括:
用户行为信息获取模块,用于获取用户的行为信息,所述用户的行为信息包括用户标识;
聚类空间确定模块,用于根据所述用户标识确定当前用户所属的一个或多个聚类空间;
聚类空间特征维度提取模块,用于提取所述一个或多个聚类空间对应的聚类空间特征维度;
推荐模块,用于采用所述聚类空间特征向当前用户进行推荐;
其中,所述聚类空间特征维度提取模块包括:
用户行为数据点生成模块,用于收集用户的原始行为信息,依据所述用户的原始行为信息生成用户行为数据点;所述用户行为数据点包括用户标识、维度标识及对应的维度分值;
聚类空间形成模块,用于按照所述维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间;
二值化模块,用于分别针对所述多个聚类空间中用户行为数据点的维度分值进行二值化;
特征维度提取模块,用于依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度。
与背景技术相比,本申请实施例包括以下优点:
本申请实施例采用了分布式计算,总体运算时间大幅减少。针对海量数据输入的条目超多和条目维度超多的问题,采用对数据分块计算的方法,对中间结果分块表达,解决了I/O过大问题。比如,在计算中心点时,将每个维度分开计算,不需要维持一个全局文件。所有维度分开计算,并且应用了二次排序技术,不需要将数据存在基于哈希表的Map接口中;没有了全局文件的限制,运行算法时I/O负载的瓶颈就不存在了。本申请实施例实现了海量数据的处理,***多次迭代,自顶向下的达到最终聚类。
本申请实施例采用最大差异化的方法,去除公共特征,提取差异特征集中的最大频繁集,从而有效的提取出可以区分用户群组的特征集。本申请实施例可以分布式并行计算,使运算时间大大缩短。由于对维度使用二值化,0值可以不用存储,节省了很多存储空间。
本申请实施例将个性化推荐信息事先配置到用户信息中,当用户进行访问的时候,获取用户标识后可以直接获取用户对应的推荐信息,而不用再根据其用户行为信息进行聚类和特征提取,节省了***资源和提高了个性化推荐的效率。
附图说明
图1示出了本申请实施例提供的一种基于用户行为的特征提取的方法实施例的步骤流程图;
图2示出了本申请实施例的一种数据输入的优选示例的示例图;
图3示出了本申请实施例提供的一种基于用户行为的个性化推荐的方法实施例的步骤流程图;
图4示出了本申请实施例提供的一种基于用户行为的特征提取的***实施的结构框图;
图5示出了本申请实施例提供的一种基于用户行为的个性化推荐的***实施的结构框图。
具体实施方式
为使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
本申请实施例的核心构思之一在于,对海量数据采取分布式计算和分块的计算思想,基于用户行为进行群组的聚类,采用最大差异化的方法特征提取群组的特征,实现海量数据的高效聚合和特征提取,以及实现对用户的高效个性化推荐。
参照图1,示出了本申请实施例一种基于用户行为的特征提取方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101:收集用户的原始行为信息,依据所述用户的原始行为信息生成用户行为数据点;所述用户行为数据点包括用户标识、维度标识及对应的维度分值;
需要说明的是,本申请实施例可以通过网站日志收集用户的原始行为信息。一般的网站日志可以记录用户电脑的IP地址是什么、在什么时间、用什么操作***、什么浏览器、什么显示器的情况下访问了网站的哪个页面,是否访问成功。但是对于特征提取和个性化推荐的需求而言,需要的不是用户电脑的IP地址、操作***、浏览器等机器人数据,而是用户浏览了什么信息、对其喜爱程度的表现行为等可以表征用户兴趣爱好的行为信息。
当然,上述收集用户的原始行为信息的方式只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他收集用户的原始行为信息的方式,本申请实施例对此不加以限制。另外,除了上述收集用户的原始行为信息的方式外,本领域技术人员还可以根据实际需要采用其他收集用户的原始行为信息的方式,本申请实施例对此也不加以限制。
在本申请的一个优选实施例中,可以提取用户原始行为信息中的具体用户、用户访问过的具体信息,以及对应的访问该信息的方式。在具体实现中,可以使用用户标识表征不同的用户;可以使用维度标识表征不同的维度,所述维度可以表征所述不同的具体信息,例如不同资讯的关键词、不同的商品等;可以使用维度分值表征用户对对应访问的信息的喜好程度。
在本实施例的一个优选示例中,所述维度分值可以根据用户访问维度的方式配置相应的权重生成。例如,用户B浏览了商品A10次,对每次的浏览行为配置值为1的权重,则此时用户B对于商品A的维度分值为1*10=10;假如用户B在浏览了商品A15次之后购买了商品A,对用户B的购买行为配置值为10的权重,则此时用户B对于商品A的维度分值为1*15+10*1=25。
当然,上述生成维度分值的方式只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他生成维度分值的方式,本申请实施例对此不加以限制。另外,除了上述生成维度分值的方式外,本领域技术人员还可以根据实际需要采用其他生成维度分值的方式,本申请实施例对此也不加以限制。
在本申请实施例中,用户行为数据点具体可以包括用户标识、维度标识及对应的维度分值。可以理解,用户行为数据点是多维空间的向量点,包括用户标识、维度标识及对应的维度分值三个向量元素。
在具体实现中,本申请实施例可以在进行聚类之前对用户原始行为信息进行预处理。
例如,针对产品聚类,预处理可以包括去除脏词和高频词。
例如,针对用户聚类,预处理可以包括去除机器人数据。此外,为了提高统计分析的准确性,预处理还可以包括去除噪音,即访问信息特别少的数据或者随机行为。
当然,上述预处理的方式只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他预处理的方式,本申请实施例对此不加以限制。另外,除了上述预处理的方式外,本领域技术人员还可以根据实际需要采用其他预处理的方式,本申请实施例对此也不加以限制。
步骤102:按照所述维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间;
需要说明的是,进行聚类的用户行为数据点,可以是收集的用户原始行为信息的全部信息提取出来的,也可以是部分信息提取出来的,本申请实施例对此不加以限制。
可以理解,一个用户行为数据点可以包括一个或多个维度标识及对应的维度分值,聚类空间实质上可以是按照不同的用户行为将用户划分形成的群组,群组里的用户具有一个或多个相同或相近的行为爱好。一个用户的原始行为信息可以对应生成一个或多个用户行为数据点,也就可以得到一个或多个聚类空间,即一个用户可以按照用户行为划分到一个或多个群组。
在具体实现中,本申请实施例采用对用户行为数据点进行分块计算的思想,对中间结果分块表达,解决了I/O过大问题,进而可以应用于分布式计算,大大加快了聚类和特征提取的速度。
为使本领域技术人员更好地理解本申请实施例,在本说明书中,将分布式***基础架构hadoop作为分布式计算的一种示例进行说明。
Hadoop的分布式主要包括两部分,一是分布式文件***HDFS,另外是分布式计算框架,即MapReduce。MapReduce任务过程被分为两个处理阶段:Map阶段和Reduce阶段。每个阶段都以键(key)\值(value)对作为输入(Input)和输出(Output),并由用户选择它们的类型。用户还需具体定义两个函数:映射函数(map)和规约函数(reduce)。Map把用户输入的数据(key,value)通过用户自定义的映射过程转变为一组中间键值对的集合。而Reduce则会对生成的临时中间键值对进行规约处理。这个规约的规则也是用户自定义的,通过制定的Reduce来实现,最后Reduce会输出最终结果。map函数的输出经由MapReduce框架处理后,最后分发到reduce函数。
在具体实现中,可以采用如下方式表达聚类过程中的数据:
当然,上述用户行为信息的数据表示方法只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他用户行为信息的数据表示方法,本申请实施例对此不加以限制。另外,除了上述用户行为信息的数据表示方法外,本领域技术人员还可以根据实际需要采用其它用户行为信息的数据表示方法,本申请实施例对此也不加以限制。
在本申请的一个优选实施例中,步骤102具体可以包括如下子步骤:
子步骤S11,将所述用户行为数据点分配至K个簇中,并按照维度标识分别计算K个簇中对应的初始的K个中心点,并依据所述用户行为数据点及对应的K个中心点,形成初始的K个聚类空间;其中,所述K为正整数;
在本申请的一个优选实施例中,子步骤S11进一步可以包括:
子步骤S11-1,将所述用户行为数据点随机分配至K个簇中,依据用户标识统计各个聚类空间中的用户数量;
子步骤S11-2,在K个簇中,按维度标识分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同维度的用户行为数据点子集合;
子步骤S11-3,分别对所述子集合中的维度分值进行求和,再分别除以对应的聚类空间中的用户数量,获得作为K个聚类空间初始的中心点的计算结果;
子步骤S11-4,依据所述K个中心点及对应的用户行为数据点,形成初始的K个聚类空间。
在具体实现中,将用户行为数据点(userId,offerId,score)随机的分配到K个聚类空间(cluster)中,并计算出每个cluster中的用户数量(usercount),避免求平均时出现错误,求出所有的usercount后将每个cluster中的用户行为数据点(userId,offerId,score)按offerId为key分发到reduce中,对每个cluster中各个offer对应的用户行为数据点中的score求和,求和后除以每个cluster中的usercount,得出作为每个中心点(center)在每个维度(offer)上初始的score的结果。
可以理解,每个中心点在每个维度上都存在一个值。若聚类空间中不存在某个维度的用户行为数据点,则该聚类空间的中心点在该维度的值可以为0。
在本申请实施例中,子步骤S11的Output为,key:centerId,value:offerId,score。
子步骤S12,按照维度标识分别计算各用户行为数据点与K个中心点的距离;
可以理解,本申请实施例从这里开始聚类的循环迭代。
在本申请的一个优选实施例中,子步骤S12进一步可以包括:
子步骤S12-1,按照维度标识分别聚合对应的中心点和用户行为数据点,形成一个或多个分别归属于不同维度的中心点及对应的用户行为数据点的子集合;
子步骤S12-2,分别计算所述子集合中各用户行为数据点中与K个中心点的距离。
在具体实现中,将初始的用户行为数据点(userId,offerId,score)和子步骤S11的结果(key:centerId,value:offerId,score)读入,利用hadoop的二次排序技术,即在map后重新排序,按offerId为key将读入后的数据发出,将中心点排在初始的用户行为数据点的前面,在reduce中计算出用户行为数据点在其所属的维度上与中心点的距离。需要说明的是,本申请实施例的距离包括但不限于欧氏距离。
在本实施例的一个优选示例中,所述子集各用户行为数据点与K个中心点的距离具体可以通过以下公式获得
distance=1-2*score;
其中,distance为用户行为数据点与中心点在所述维度上的距离,score为中心点在所述维度上的值。
参见图2,示出了本申请实施例的一种数据输入的优选示例的示例图。“C”代表中心点,“*”代表各个维度,“U”代表用户,“#”代表用户访问过的数据。
在输入用户行为数据点时,可以只保存用户访问过的数据,用户没有访问过的数据可以不保存。
相对应的,offer的权重可以设置为0或1,0可以代表不存在归属所述维度的用户行为数据点(即用户没有访问过该维度上的数据),1可以代表存在归属所述维度的用户行为数据点(即用户访问过该维度上的数据)。
若在本实施例使用欧氏距离,则每个用户行为数据点在某个维度上与某个中心点的距离就有(offer-center)2。
可以发现,当offer的权重为0时,该维度仍然与中心点存在一个固定距离(center2);当offer的权重为1时,将计算得到的距离(即1-2*center+center2)再减去当offer的权重为0时计算的距离(center2),得到用户行为数据点在该维度上与中心点的真实距离(1-2*center)。
而上述center则是中心点在该维度上的值(score)。
在本申请实施例中,子步骤S12的Output为,key:userId,value:distance。
子步骤S13,依据所述用户行为数据点与K个中心点的距离,重新确定所述用户行为数据点归属的K个聚类空间;
在本申请的一个优选实施例中,子步骤S13进一步可以包括:
子步骤S13-1,按用户标识分别聚合对应的用户行为数据点与K个中心点在所有维度上的距离,形成一个或多个分别归属于不同用户的距离子集合;
子步骤S13-2,在所述子集合中,提取与用户行为数据点距离最近的中心点对应的聚类空间作为用户行为数据点归属的聚类空间。
在本申请实施例中,可以采用用户行为数据点在所有维度上(包括该用户行为数据点没有在所述维度上的数据)与中心点的距离,生成该用户行为数据点与该个中心点的距离。
由于在输入用户行为数据点时,可以只保存用户访问过的数据(即维度的权重为1),而用户没有访问过的数据可以不保存(即维度的权重为0)。那么用户行为数据点与中心点的距离可以通过以下公式计算:
true=∑(CenterId[i1][j1]-0)2+∑(1-CenterId[i2][j2])2
在子步骤S12,通过按照维度计算用户行为数据点与各个中心点的距离可以得到:
now:∑(1-CenterId[i2][j2])2
即now:∑(1-2*CenterId[i2][j2])
可以发现:
true=∑CenterId[i][j]2+∑(1-2*CenterId[i2][j2])
其中,i代表不同的维度,j代表不同的中心点,即CenterId[i][j]代表不同中心点在不同维度上的值。可以理解,计算每个用户行为数据点与每个中心点的距离时,只缺少了维度权重为0时与所有中心点的差异。
在计算每个用户行为数据点与每个中心点的距离时可以读入事先计算的∑CenterId[i][j]2,再加上子步骤S12的结果∑(1-2*CenterId[i2][j2])即可。
在具体实现中,可以将每个用户与每个中心点在所有维度上的距离∑CenterId[i][j]2+∑(1-2*CenterId[i2][j2])一起读入,然后按userId为key分发到reduce中聚合,取与用户行为数据点距离最小的中心点将用户行为数据点归属,即表示将用户行为数据点重新分配至所述中心点对应的聚类空间中。
在本申请实施例中,子步骤S13的Output为,key:userId,value:clusterId。
在具体实现中,为防止聚类空间在用户行为数据点重新分配后数量减少,可以在子步骤S13之后,统计当前聚类空间的数量。若聚类空间的数量小于K,则可以进行补全。在具体实现中,可以将一个或多个最大的聚类空间进行拆分,随机分配到空的聚类空间中进行补全。否则,可以直接执行子步骤S14。
子步骤S14,判断当前K个聚类空间是否满足预设条件;若是,则执行子步骤S15;若否,则执行子步骤S16;
子步骤S15,获得最终的K个聚类空间;
子步骤S16,在执行子步骤S17按照维度标识分别计算当前K个聚类空间的新的中心点后,返回子步骤S12。
可以理解,本申请实施例可以在这里完成聚类的循环迭代。
在本申请的一个优选实施例中,子步骤S17具体可以包括:
子步骤S17-1,在K个聚类空间中,按维度标识分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同维度的用户行为数据点子集合;
子步骤S17-2,依据用户标识统计各个聚类空间中的用户数量;
子步骤S17-3,分别对所述子集合中的维度分值进行求和,再分别除以所述K个聚类空间中的用户数量,获得作为K个聚类空间新的中心点的计算结果。
可以理解,新的中心点是相对于聚类空间中的前一中心点而言的。
在具体实现中,将子步骤S13输出的结果(key:userId,value:clusterId)与用户行为数据点(userId,offerId,score)拼接在一起(key:clusterId,value:offerId,score),通过reduce发出。
按offerId为key分别计算分配到每个cluster中的用户行为数据点中score的和,结果按(key:clusterId,value:new,offerId,score)发出,其中,new可以用于标识输出的数据为新一次计算的结果,可以用于区分与上一次的计算。读入下一个map中。在此map中,按clusterId为key将上述结果(key:clusterId,value:new,offerId,score)分发到reduce中,除以对应的cluster中的usercount,即得出新的中心点的值。
在本申请实施例中,子步骤S17的Output为,key:clusterId,value:new,offerId,score。
在本申请的一个优选实施例中,所述预设条件包括聚类的迭代次数超过第一预设阈值,子步骤S14进一步可以包括:
子步骤C1,统计当前聚类的迭代次数;
子步骤C2,判断所述迭代次数是否超过第一预设阈值。
在本申请实施例的一个优选示例中,所述第一预设阈值为70。
在本申请的一个优选实施例中,所述预设条件还包括完成收敛的聚类空间的占比超过第二预设阈值,子步骤S14进一步还可以包括:
子步骤D1,分别判断K个聚类空间是否完成收敛;
子步骤D2,统计完成收敛的聚类空间的占比;
子步骤D3,判断所述占比是否超过第二预设阈值。
需要说明的是,所述占比为完成收敛的聚类空间的数量占K个聚类空间的数量的比例。
在本申请实施例的一个优选示例中,所述第二预设阈值为80%。
在本申请实施例的一个优选示例中,子步骤D1具体可以包括:
子步骤D1-1,按维度标识分别聚合K个聚类空间中的新的中心点和前一中心点,形成一个或多个分别归属于不同维度的中心点子集合;
子步骤D1-2,分别依据所述子集合中新中心点及对应的前一中心点计算误差;
子步骤D1-3,按照聚类空间标识分别聚合对应的误差,形成K个分别归属于对应K个聚类空间的迭代误差;若所述迭代误差小于第三预设阈值,则执行子步骤D1-4;若否,则执行子步骤D1-5;
子步骤D1-4,标识对应的聚类空间完成收敛;
子步骤D1-5,标识对应的聚类空间未完成收敛。
在具体实现中,将新的中心点及对应的前一中心点以offerId为key通过map分发到reduce中,在reduce中计算每个clusterId中两个中心点的误差(所述误差包括但不限于两个中心点值的差的平方),将结果作为下一个map的输入。在此map中,按clusterId将算出的误差聚合计算迭代误差,给定第三预设阈值stop,判断对应的聚类空间是否完成收敛。
在本实施例的一个优选示例中,所述第三预设阈值为0.001。
在本申请实施例中,子步骤D1的Output为,key:clusterId,value:judge。(其中,judge取值可以为true或者false,代表收敛完成或者未完成。)
在具体实现中,可以在脚本执行迭代次数、完成收敛的聚类空间的占比的统计和是否满足预设条件的判断。若不满足,则可以移动数据,为下一次迭代作准备。具体而言,可以分别将K个聚类空间的新的中心点替代前一中心点,进行下一次迭代(子步骤S12-S14)。若满足,则依据当前聚类的循环迭代中子步骤S13的输出结果,获得最终的K个聚类空间。
运行分布式计算的每个数据块计算的结果都是一个文件,最后会拼接成一个文件进行表示。最后的结果是一个文件,每行的形式为(clusterId,userId),文件中每一条都是上述格式,表示用户归属于聚类空间。
步骤103,分别针对所述多个聚类空间中用户行为数据点的维度分值进行二值化;
在具体实现中,可以直接将维度分值处理为0值、1值,可以对0值的维度不予保留。这样,维度的数据表达,可以只保留维度标识,使数据量大大减少。直接进行二值化的方法,可以包括但不限于阈值分割法。
对于不能直接二值化的维度分值,可以通过增加维度分值进行二值化;在本实施例中,增加维度分值的方法可以包括但不限于离散化方法。
对二值化后的用户行为数据点的表达,可以包括但不限于使用稀疏矩阵进行表达。
例如,一个用户行为数据点表示为<1,2,3>,行标识(rowId,表征userId)为1,列标识为(columnId,表征offerId)2,值(维度分值,socre)为3。
其中,二值化后值为0的点为<rowId,columnId,0>,不存储;值为1的点为<rowed,columnId,1>,不存储值,表达为<rowId,columnId>。
当然,上述二值化后用户行为数据点的表示方式只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他用户行为数据点的表示方式,本申请实施例对此不加以限制。另外,除了上述用户行为数据点的表示方式外,本领域技术人员还可以根据实际需要采用其它用户行为数据点的表示方式,本申请实施例对此也不加以限制。
步骤104,依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征。
在本申请的一个优选实施例中,步骤104具体可以包括如下子步骤:
子步骤S21,在多个聚类空间中,按主键分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同主键的用户行为数据点的子集合;其中,所述主键为维度标识或维度标识的组合;
在具体实现中,对于二值化的用户行为数据点,由于数据量大大减少和按照分块计算的思想,也可以应用在云平台上,公共维度会根据主键可以聚集在同一个运算节点(即reduce的节点)上,便于下面的运算。
子步骤S22,分别提取所述子集合中公共维度占比超过第四预设阈值的一个或多个维度的频繁集;其中,所述公共维度为二值化后的维度分值为指定值的用户行为数据点的占比超过第五预设阈值的维度;
需要说明的是,频繁集又称频繁项集,是指满足最小支持度的项目集合。在具体实现中,可以包括但不限于使用频繁集挖掘算法提取频繁集,而对于本领域技术人员而言,利用频繁集挖掘算法进行数据挖掘,属于公知技术,本申请实施例在此不作详细说明。在本申请实施例中,公共维度可以是具有代表意义的维度,即大部分用户行为数据点在这些维度上都有指定的值。在具体实现中,在某个维度上的用户行为数据点二值化后的1值多的可以是公共维度。
在本申请实施例的一个优选示例中,第四预设阈值为70%-90%中的任一值。
子步骤S23,找出所述子集合中最长的频繁集对应的维度,并依据所述维度生成对应的聚类空间的特征维度。
采用所述维度生成对应的聚类空间的特征的方式可由本领域技术人员根据实际情况进行设定,可以是一个字符串,也可以用二进制文件的方式存储,本申请实施例对此不加以限制。
图3示出了本申请实施例提供的一种基于用户行为的个性化推荐的方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201,获取用户的行为信息,所述用户的行为信息包括用户标识;
步骤202,根据所述用户标识确定当前用户所属的一个或多个聚类空间;
步骤203,提取所述一个或多个聚类空间对应的聚类空间特征维度;
步骤204,采用所述聚类空间特征向当前用户进行推荐;
其中,所述步骤203具体可以包括如下子步骤:
子步骤S31,收集用户的原始行为信息,依据所述用户的原始行为信息生成用户行为数据点;所述用户行为数据点包括用户标识、维度标识及对应的维度分值;
子步骤S32,按照所述维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间;
子步骤S33,分别针对所述多个聚类空间中用户行为数据点的维度分值进行二值化;
子步骤S34,依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度。
在具体实现中,可以事先将用户按行为爱好划分的一个或多个即聚类空间及提取对应聚类空间的特征维度,再将所述聚类空间的标识及对应的特征维度配置到对应的用户标识上。当用户进行访问的时候,获取用户标识后可以直接获取用户对应的推荐信息(即聚类空间的特征维度),而不用再根据其用户行为信息进行聚类和特征提取,节省了***资源和高了个性化推荐的效率。
在具体实现中,本申请实施例还可以依据预设的时间规则对收集到的用户行为信息进行聚类和特征提取,再将结果配置到相应的用户标识上。
其中,所述时间规则可由本领域技术人员根据实际情况进行设定,例如,可以是定期或不定期对全部或部分用户行为信息进行聚类和特征提取,部分用户行为信息可以是一段或多段时间内收集的用户行为信息,本申请实施例对此不加以限制。
对于本申请实施例而言,由于提取聚类空间特征维度的方法实施例与基于用户行为的特征提取的方法实施例基本相似,本申请实施例在此不再详述,相关之处参见同基于用户行为的特征提取的方法实施例的部分说明即可。
可以理解,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请实施例所必须的。
参见图4,示出了本申请实施例提供的一种基于用户行为的特征提取的***实施的结构框图,具体可以包括如下模块:
用户行为数据点生成模块301,用于收集用户的原始行为信息,依据所述用户的原始行为信息生成用户行为数据点;所述用户行为数据点包括用户标识、维度标识及对应的维度分值;
聚类空间形成模块302,用于按照所述维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间;
二值化模块303,用于分别针对所述多个聚类空间中用户行为数据点的维度分值进行二值化;
特征维度提取模块304,用于依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度。
在本申请的一种优选实施例中,所述聚类空间形成模块包括:
初始中心点计算子模块,用于将所述用户行为数据点分配至K个簇中,并按照维度标识分别计算K个簇中对应的初始的K个中心点,并依据所述K个中心点及对应的用户行为数据点,形成初始的K个聚类空间;其中,所述K为正整数;
维度距离计算子模块,用于按照维度标识分别计算各用户行为数据点与K个中心点的距离;
聚类空间重新归属子模块,用于依据所述用户行为数据点与K个中心点的距离,重新确定所述用户行为数据点归属的聚类空间;
预设条件判断子模块,用于判断当前K个聚类空间是否满足预设条件;若是,则调用最终聚类空间获得子模块;若否,则调用返回子模块;
最终聚类空间获得子模块,用于获得最终的K个聚类空间;
返回子模块,用于在调用按照维度标识分别计算当前K个聚类空间的新的中心点的子模块后,返回距离计算子模块。
在本申请的一种优选实施例中,所述初始聚类空间形成子模块包括:
随机分配子模块,用于将所述用户行为数据点随机分配至K个簇中,依据用户标识统计各个聚类空间中的用户数量;
第一子集合形成子模块,用于在K个簇中,按维度标识分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同维度的用户行为数据点子集合;
初始中心点获得子模块,用于分别对所述子集合中的维度分值进行求和,再分别除以对应的聚类空间中的用户数量,获得作为K个聚类空间初始的中心点的计算结果;
初始形成子模块,用于依据所述K个中心点及对应的用户行为数据点,形成初始的K个聚类空间。
在本申请的一种优选实施例中,所述维度距离计算子模块包括:
第二子集合形成子模块,用于按照维度标识分别聚合对应的中心点和用户行为数据点,形成一个或多个分别归属于不同维度的中心点及对应的用户行为数据点的子集合;
子集合距离计算子模块,用于分别计算所述子集合中各用户行为数据点与K个中心点的距离。
在本申请的一种优选实施例中,所述子集合中各用户行为数据点与K个中心点的距离通过以下公式获得:
distance=1-2*score;
其中,distance为用户行为数据点与中心点在所述维度上的距离,score为中心点在所述维度上的值。
在本申请的一种优选实施例中,所述聚类空间归属子模块包括:
第三子集合形成子模块,用于按用户标识分别聚合对应的用户行为数据点与K个中心点在所有维度上的距离,形成一个或多个分别归属于不同用户的距离子集合;
子集合归属子模块,用于在所述子集合中,提取与用户行为数据点距离最近的中心点对应的聚类空间作为用户行为数据点归属的聚类空间。
在本申请的一种优选实施例中,所述按照维度标识分别计算当前K个聚类空间的新的中心点的子模块包括:
第四子集合形成子模块,用于在K个聚类空间中,按维度标识分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同维度的用户行为数据点子集合;
用户数量统计子模块,用于依据用户标识统计各个聚类空间中的用户数量;
新中心点计算子模块,用于分别对所述子集合中的维度分值进行求和,再分别除以所述K个聚类空间中的用户数量,获得作为K个聚类空间新的中心点的计算结果。
在本申请的一种优选实施例中,所述预设条件包括聚类的迭代次数超过第一预设阈值,所述预设条件判断子模块包括:
迭代次数统计子模块,用于统计当前聚类的迭代次数;
第一预设阈值判断子模块,用于判断所述迭代次数是否超过第一预设阈值。
在本申请的一种优选实施例中,所述预设条件还包括完成收敛的聚类空间的占比超过第二预设阈值,所述预设条件判断子模块包括:
聚类空间收敛判断子模块,用于分别判断K个聚类空间是否完成收敛;
占比统计子模块,用于统计完成收敛的聚类空间的占比;
第二预设阈值判断子模块,用于判断所述占比是否超过第二预设阈值。
在本申请的一种优选实施例中,所述聚类空间收敛判断子模块包括:
第五子集合形成子模块,用于按维度标识分别聚合K个聚类空间中的新的中心点和前一中心点,形成一个或多个分别归属于不同维度的中心点子集合;
误差计算子模块,用于分别依据所述子集合中新中心点及对应的前一中心点计算误差;
迭代误差计算子模块,用于按照聚类空间标识分别聚合对应的误差,形成K个分别归属于对应K个聚类空间的迭代误差;若所述迭代误差小于第三预设阈值,则调用完成标识子模块;若否,则调用未完成标识子模块;
完成标识子模块,用于标识对应的聚类空间完成收敛;
未完成标识子模块,用于标识对应的聚类空间未完成收敛。
在本申请的一种优选实施例中,所述特征维度提取模块包括:
第六子集合形成子模块,用于在多个聚类空间中,按主键分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同主键的用户行为数据点的子集合;其中,所述主键为维度标识或维度标识的组合;
频繁集提取子模块,用于分别提取所述子集合中公共维度占比超过第四预设阈值的一个或多个维度的频繁集;其中,所述公共维度为大部分本类中都有其中一个值的维度;
特征维度生成子模块,用于找出所述子集合中最长的频繁集对应的维度,并依据所述维度生成对应的聚类空间的特征维度。
对于基于用户行为的特征提取的***实施例而言,由于其与基于用户行为的特征提取的方法实施例基本相似,所以描述的比较简单,相关之处参见基于用户行为的特征提取的方法实施例的部分说明即可。
参见图5,示出了本申请实施例提供的一种基于用户行为的个性化推荐的***实施的结构框图,具体可以包括如下模块:
用户行为信息获取模块401,用于获取用户的行为信息,所述用户的行为信息包括用户标识;
聚类空间确定模块402,用于根据所述用户标识确定当前用户所属的一个或多个聚类空间;
聚类空间特征维度提取模块403,用于提取所述一个或多个聚类空间对应的聚类空间特征维度;
推荐模块404,用于采用所述聚类空间特征向当前用户进行推荐;
其中,所述聚类空间特征维度提取模块包括:
用户行为数据点生成模块,用于收集用户的原始行为信息,依据所述用户的原始行为信息生成用户行为数据点;所述用户行为数据点包括用户标识、维度标识及对应的维度分值;
聚类空间形成模块,用于按照所述维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间;
二值化模块,用于分别针对所述多个聚类空间中用户行为数据点的维度分值进行二值化;
特征维度提取模块,用于依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度。
对于基于用户行为的个性化推荐的***实施例而言,由于其与基于用户行为的个性化推荐的方法实施例基本相似,所以描述的比较简单,相关之处参见基于用户行为的个性化推荐的方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、***、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请实施例所提供的一种基于用户行为的特征提取方法、一种基于用户行为的特征提取***、一种基于用户行为的个性化推荐方法以及一种基于用户行为的个性化推荐***,进行了详细介绍,本文中应用了具体个例对本申请实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请实施例的限制。
Claims (22)
1.一种基于用户行为的特征提取方法,其特征在于,包括:
收集用户的原始行为信息,依据所述用户的原始行为信息生成用户行为数据点;所述用户行为数据点是多维空间的向量点,包括用户标识、维度标识及对应的维度分值三个向量元素;
按照所述维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间;
分别针对所述多个聚类空间中用户行为数据点的维度分值进行二值化;
依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度;
其中,所述按照维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间的步骤应用于分布式计算,包括:
将所述用户行为数据点分配至K个簇中,并按照维度标识分别计算K个簇中对应的初始的K个中心点,并依据所述K个中心点及对应的用户行为数据点,形成初始的K个聚类空间;其中,所述K为正整数;
按照维度标识分别计算各用户行为数据点与K个中心点的距离;
依据所述用户行为数据点与K个中心点的距离,重新确定所述用户行为数据点归属的聚类空间;
判断当前K个聚类空间是否满足预设条件;
若是,则获得最终的K个聚类空间;
若否,则在执行按照维度标识分别计算当前K个聚类空间的新的中心点的子步骤后,返回所述按照维度标识分别计算各用户行为数据点与K个中心点的距离的子步骤。
2.根据权利要求1所述的方法,其特征在于,所述将用户行为数据点分配至K个簇中,并按照维度标识分别计算K个簇中对应的初始的K个中心点,并依据所述用户行为数据点及对应的K个中心点,形成初始的K个聚类空间的步骤包括:
将所述用户行为数据点随机分配至K个簇中,依据用户标识统计各个聚类空间中的用户数量;
在K个簇中,按维度标识分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同维度的用户行为数据点子集合;
分别对所述子集合中的维度分值进行求和,再分别除以对应的聚类空间中的用户数量,获得作为K个聚类空间初始的中心点的计算结果;
依据所述K个中心点及对应的用户行为数据点,形成初始的K个聚类空间。
3.根据权利要求1所述的方法,其特征在于,所述按照维度标识分别计算各用户行为数据点与K个中心点的距离的步骤包括:
按照维度标识分别聚合对应的中心点和用户行为数据点,形成一个或多个分别归属于不同维度的中心点及对应的用户行为数据点的子集合;
分别计算所述子集合中各用户行为数据点与K个中心点的距离。
4.根据权利要求3所述的方法,其特征在于,所述子集合中各用户行为数据点与K个中心点的距离通过以下公式获得:
distance=1-2*score;
其中,distance为用户行为数据点与中心点在所述维度上的距离,score为中心点在所述维度上的值。
5.根据权利要求1所述的方法,其特征在于,所述依据用户行为数据点与K个中心点的距离,重新确定所述用户行为数据点归属的聚类空间的步骤包括:
按用户标识分别聚合对应的用户行为数据点与K个中心点在所有维度上的距离,形成一个或多个分别归属于不同用户的距离子集合;
在所述子集合中,提取与用户行为数据点距离最近的中心点对应的聚类空间作为用户行为数据点归属的聚类空间。
6.根据权利要求1所述的方法,其特征在于,所述按照维度标识分别计算当前K个聚类空间的新的中心点的步骤包括:
在K个聚类空间中,按维度标识分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同维度的用户行为数据点子集合;
依据用户标识统计各个聚类空间中的用户数量;
分别对所述子集合中的维度分值进行求和,再分别除以所述K个聚类空间中的用户数量,获得作为K个聚类空间新的中心点的计算结果。
7.根据权利要求1所述的方法,其特征在于,所述预设条件包括聚类的迭代次数超过第一预设阈值,所述判断当前K个聚类空间是否满足预设条件的步骤包括:
统计当前聚类的迭代次数;
判断所述迭代次数是否超过第一预设阈值。
8.根据权利要求1所述的方法,其特征在于,所述预设条件还包括完成收敛的聚类空间的占比超过第二预设阈值,所述判断当前K个聚类空间是否满足预设条件的步骤还包括:
分别判断K个聚类空间是否完成收敛;
统计完成收敛的聚类空间的占比;
判断所述占比是否超过第二预设阈值。
9.根据权利要求8所述的方法,其特征在于,所述分别判断K个聚类空间是否完成收敛的步骤包括:
按维度标识分别聚合K个聚类空间中的新的中心点和前一中心点,形成一个或多个分别归属于不同维度的中心点子集合;
分别依据所述子集合中新中心点及对应的前一中心点计算误差;
按照聚类空间标识分别聚合对应的误差,形成K个分别归属于对应K个聚类空间的迭代误差;
若所述迭代误差小于第三预设阈值,则标识对应的聚类空间完成收敛;若否,则标识对应的聚类空间未完成收敛。
10.根据权利要求1所述的方法,其特征在于,所述依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度的步骤包括:
在多个聚类空间中,按主键分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同主键的用户行为数据点的子集合;其中,所述主键为维度标识或维度标识的组合;
分别提取所述子集合中公共维度占比超过第四预设阈值的一个或多个维度的频繁集;其中,所述公共维度为二值化后的维度分值为指定值的用户行为数据点的占比超过第五预设阈值的维度;
找出所述子集合中最长的频繁集对应的维度,并依据所述维度生成对应的聚类空间的特征维度。
11.一种基于用户行为的个性化推荐的方法,其特征在于,包括:
获取用户的行为信息,所述用户的行为信息包括用户标识;
根据所述用户标识确定当前用户所属的一个或多个聚类空间;
提取所述一个或多个聚类空间对应的聚类空间特征维度;
采用所述聚类空间特征向当前用户进行推荐;
其中,所述聚类空间特征维度通过如下方式生成:
收集用户的原始行为信息,依据所述用户的原始行为信息生成用户行为数据点;所述用户行为数据点是多维空间的向量点,包括用户标识、维度标识及对应的维度分值三个向量元素;
按照所述维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间;
分别针对所述多个聚类空间中用户行为数据点的维度分值进行二值化;
依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度;
所述按照维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间的步骤应用于分布式计算,包括:
将所述用户行为数据点分配至K个簇中,并按照维度标识分别计算K个簇中对应的初始的K个中心点,并依据所述K个中心点及对应的用户行为数据点,形成初始的K个聚类空间;其中,所述K为正整数;
按照维度标识分别计算各用户行为数据点与K个中心点的距离;
依据所述用户行为数据点与K个中心点的距离,重新确定所述用户行为数据点归属的聚类空间;
判断当前K个聚类空间是否满足预设条件;
若是,则获得最终的K个聚类空间;
若否,则在执行按照维度标识分别计算当前K个聚类空间的新的中心点的子步骤后,返回所述按照维度标识分别计算各用户行为数据点与K个中心点的距离的子步骤。
12.一种基于用户行为的特征提取***,其特征在于,包括:
用户行为数据点生成模块,用于收集用户的原始行为信息,依据所述用户的原始行为信息生成用户行为数据点;所述用户行为数据点是多维空间的向量点,包括用户标识、维度标识及对应的维度分值三个向量元素;
聚类空间形成模块,用于按照所述维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间;
二值化模块,用于分别针对所述多个聚类空间中用户行为数据点的维度分值进行二值化;
特征维度提取模块,用于依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度;
其中,所述聚类空间形成模块应用于分布式计算,包括:
初始聚类空间形成子模块,用于将所述用户行为数据点分配至K个簇中,并按照维度标识分别计算K个簇中对应的初始的K个中心点,并依据所述K个中心点及对应的用户行为数据点,形成初始的K个聚类空间;其中,所述K为正整数;
维度距离计算子模块,用于按照维度标识分别计算各用户行为数据点与K个中心点的距离;
聚类空间重新归属子模块,用于依据所述用户行为数据点与K个中心点的距离,重新确定所述用户行为数据点归属的聚类空间;
预设条件判断子模块,用于判断当前K个聚类空间是否满足预设条件;若是,则调用最终聚类空间获得子模块;若否,则调用返回子模块;
最终聚类空间获得子模块,用于获得最终的K个聚类空间;
返回子模块,用于在调用按照维度标识分别计算当前K个聚类空间的新的中心点的子模块后,返回距离计算子模块。
13.根据权利要求12所述的***,其特征在于,所述初始聚类空间形成子模块包括:
随机分配子模块,用于将所述用户行为数据点随机分配至K个簇中,依据用户标识统计各个聚类空间中的用户数量;
第一子集合形成子模块,用于在K个簇中,按维度标识分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同维度的用户行为数据点子集合;
初始中心点获得子模块,用于分别对所述子集合中的维度分值进行求和,再分别除以对应的聚类空间中的用户数量,获得作为K个聚类空间初始的中心点的计算结果;
初始形成子模块,用于依据所述K个中心点及对应的用户行为数据点,形成初始的K个聚类空间。
14.根据权利要求12所述的***,其特征在于,所述维度距离计算子模块包括:
第二子集合形成子模块,用于按照维度标识分别聚合对应的中心点和用户行为数据点,形成一个或多个分别归属于不同维度的中心点及对应的用户行为数据点的子集合;
子集合距离计算子模块,用于分别计算所述子集合中各用户行为数据点与K个中心点的距离。
15.根据权利要求14所述的***,其特征在于,所述子集合中各用户行为数据点与K个中心点的距离通过以下公式获得:
distance=1-2*score;
其中,distance为用户行为数据点与中心点在所述维度上的距离,score为中心点在所述维度上的值。
16.根据权利要求12所述的***,其特征在于,所述聚类空间归属子模块包括:
第三子集合形成子模块,用于按用户标识分别聚合对应的用户行为数据点与K个中心点在所有维度上的距离,形成一个或多个分别归属于不同用户的距离子集合;
子集合归属子模块,用于在所述子集合中,提取与用户行为数据点距离最近的中心点对应的聚类空间作为用户行为数据点归属的聚类空间。
17.根据权利要求12所述的***,其特征在于,所述按照维度标识分别计算当前K个聚类空间的新的中心点的子模块包括:
第四子集合形成子模块,用于在K个聚类空间中,按维度标识分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同维度的用户行为数据点子集合;
用户数量统计子模块,用于依据用户标识统计各个聚类空间中的用户数量;
新中心点计算子模块,用于分别对所述子集合中的维度分值进行求和,再分别除以所述K个聚类空间中的用户数量,获得作为K个聚类空间新的中心点的计算结果。
18.根据权利要求12所述的***,其特征在于,所述预设条件包括聚类的迭代次数超过第一预设阈值,所述预设条件判断子模块包括:
迭代次数统计子模块,用于统计当前聚类的迭代次数;
第一预设阈值判断子模块,用于判断所述迭代次数是否超过第一预设阈值。
19.根据权利要求12所述的***,其特征在于,所述预设条件还包括完成收敛的聚类空间的占比超过第二预设阈值,所述预设条件判断子模块包括:
聚类空间收敛判断子模块,用于分别判断K个聚类空间是否完成收敛;
占比统计子模块,用于统计完成收敛的聚类空间的占比;
第二预设阈值判断子模块,用于判断所述占比是否超过第二预设阈值。
20.根据权利要求19所述的***,其特征在于,所述聚类空间收敛判断子模块包括:
第五子集合形成子模块,用于按维度标识分别聚合K个聚类空间中的新的中心点和前一中心点,形成一个或多个分别归属于不同维度的中心点子集合;
误差计算子模块,用于分别依据所述子集合中新中心点及对应的前一中心点计算误差;
迭代误差计算子模块,用于按照聚类空间标识分别聚合对应的误差,形成K个分别归属于对应K个聚类空间的迭代误差;若所述迭代误差小于第三预设阈值,则调用完成标识子模块;若否,则调用未完成标识子模块;
完成标识子模块,用于标识对应的聚类空间完成收敛;
未完成标识子模块,用于标识对应的聚类空间未完成收敛。
21.根据权利要求12所述的***,其特征在于,所述特征维度提取模块包括:
第六子集合形成子模块,用于在多个聚类空间中,按主键分别聚合对应的用户行为数据点,形成一个或多个分别归属于不同主键的用户行为数据点的子集合;其中,所述主键为维度标识或维度标识的组合;
频繁集提取子模块,用于分别提取所述子集合中公共维度占比超过第四预设阈值的一个或多个维度的频繁集;其中,所述公共维度为大部分本类中都有其中一个值的维度;
特征维度生成子模块,用于找出所述子集合中最长的频繁集对应的维度,并依据所述维度生成对应的聚类空间的特征维度。
22.一种基于用户行为的个性化推荐的***,其特征在于,包括:
用户行为信息获取模块,用于获取用户的行为信息,所述用户的行为信息包括用户标识;
聚类空间确定模块,用于根据所述用户标识确定当前用户所属的一个或多个聚类空间;
聚类空间特征维度提取模块,用于提取所述一个或多个聚类空间对应的聚类空间特征维度;
推荐模块,用于采用所述聚类空间特征向当前用户进行推荐;
其中,所述聚类空间特征维度提取模块应用于分布式计算,包括:
用户行为数据点生成模块,用于收集用户的原始行为信息,依据所述用户的原始行为信息生成用户行为数据点;所述用户行为数据点是多维空间的向量点,包括用户标识、维度标识及对应的维度分值三个向量元素;
聚类空间形成模块,用于按照所述维度标识采用维度分值对所述用户行为数据点进行聚类,形成多个聚类空间;
二值化模块,用于分别针对所述多个聚类空间中用户行为数据点的维度分值进行二值化;
特征维度提取模块,用于依据二值化的结果提取满足预设要求的一个或多个维度标识作为聚类空间的特征维度;
所述聚类空间形成模块包括:
初始聚类空间形成子模块,用于将所述用户行为数据点分配至K个簇中,并按照维度标识分别计算K个簇中对应的初始的K个中心点,并依据所述K个中心点及对应的用户行为数据点,形成初始的K个聚类空间;其中,所述K为正整数;
维度距离计算子模块,用于按照维度标识分别计算各用户行为数据点与K个中心点的距离;
聚类空间重新归属子模块,用于依据所述用户行为数据点与K个中心点的距离,重新确定所述用户行为数据点归属的聚类空间;
预设条件判断子模块,用于判断当前K个聚类空间是否满足预设条件;若是,则调用最终聚类空间获得子模块;若否,则调用返回子模块;
最终聚类空间获得子模块,用于获得最终的K个聚类空间;
返回子模块,用于在调用按照维度标识分别计算当前K个聚类空间的新的中心点的子模块后,返回距离计算子模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310239508.2A CN104239324B (zh) | 2013-06-17 | 2013-06-17 | 一种基于用户行为的特征提取、个性化推荐的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310239508.2A CN104239324B (zh) | 2013-06-17 | 2013-06-17 | 一种基于用户行为的特征提取、个性化推荐的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104239324A CN104239324A (zh) | 2014-12-24 |
CN104239324B true CN104239324B (zh) | 2019-09-17 |
Family
ID=52227414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310239508.2A Active CN104239324B (zh) | 2013-06-17 | 2013-06-17 | 一种基于用户行为的特征提取、个性化推荐的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104239324B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106162348A (zh) * | 2015-04-13 | 2016-11-23 | 海信集团有限公司 | 一种个性化节目推荐方法及装置 |
CN104978406A (zh) * | 2015-06-11 | 2015-10-14 | 中国科学院自动化研究所 | 互联网络平台的用户行为分析方法 |
CN106407215B (zh) * | 2015-07-31 | 2019-08-13 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
CN106469181B (zh) * | 2015-08-21 | 2020-08-07 | 方正国际软件(北京)有限公司 | 一种用户行为模式分析方法及装置 |
CN105183841B (zh) * | 2015-09-06 | 2019-03-26 | 南京游族信息技术有限公司 | 大数据环境下结合频繁项集和深度学习的推荐方法 |
CN106610977B (zh) * | 2015-10-22 | 2020-06-26 | 阿里巴巴集团控股有限公司 | 一种数据聚类方法和装置 |
CN106874925A (zh) * | 2015-12-14 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 对象分群方法、模型训练方法及装置 |
CN106997535A (zh) * | 2016-01-25 | 2017-08-01 | 阿里巴巴集团控股有限公司 | 一种标准化产品单元spu的细化方法及装置 |
CN107292646A (zh) * | 2016-04-01 | 2017-10-24 | ***通信集团河北有限公司 | 一种生成业务的方法和装置 |
CN105975590A (zh) * | 2016-05-03 | 2016-09-28 | 无锡雅座在线科技发展有限公司 | 对象类型的确定方法和装置 |
CN106446078A (zh) * | 2016-09-08 | 2017-02-22 | 乐视控股(北京)有限公司 | 一种信息的推荐方法和推荐装置 |
CN107315647A (zh) * | 2017-06-26 | 2017-11-03 | 广州视源电子科技股份有限公司 | 离群点检测方法和*** |
CN107623715B (zh) * | 2017-08-08 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 一种身份信息获取方法和装置 |
CN110310138A (zh) * | 2018-03-21 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 一种确定用户关系的方法及装置 |
CN109861953B (zh) * | 2018-05-14 | 2020-08-21 | 新华三信息安全技术有限公司 | 一种异常用户识别方法及装置 |
CN109241200A (zh) * | 2018-08-21 | 2019-01-18 | 国网河北省电力有限公司石家庄供电分公司 | 电力物资聚类信息处理方法及*** |
WO2021000084A1 (zh) * | 2019-06-29 | 2021-01-07 | 深圳市欢太科技有限公司 | 数据分类方法及相关产品 |
CN110633421B (zh) * | 2019-09-09 | 2020-08-11 | 北京瑞莱智慧科技有限公司 | 特征提取、推荐以及预测方法、装置、介质和设备 |
CN113836431A (zh) * | 2021-10-19 | 2021-12-24 | 中国平安人寿保险股份有限公司 | 基于用户时长的用户推荐方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408897A (zh) * | 2008-10-10 | 2009-04-15 | 清华大学 | 一种基于协作过滤的个性化查询扩展方法 |
CN102004785A (zh) * | 2010-11-30 | 2011-04-06 | 北京瑞信在线***技术有限公司 | 一种音乐推荐方法及装置 |
CN102591942A (zh) * | 2011-12-27 | 2012-07-18 | 奇智软件(北京)有限公司 | 一种应用自动推荐的方法及装置 |
-
2013
- 2013-06-17 CN CN201310239508.2A patent/CN104239324B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408897A (zh) * | 2008-10-10 | 2009-04-15 | 清华大学 | 一种基于协作过滤的个性化查询扩展方法 |
CN102004785A (zh) * | 2010-11-30 | 2011-04-06 | 北京瑞信在线***技术有限公司 | 一种音乐推荐方法及装置 |
CN102591942A (zh) * | 2011-12-27 | 2012-07-18 | 奇智软件(北京)有限公司 | 一种应用自动推荐的方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于最大频繁项集的搜索引擎查询结果聚类算法;苏冲 等;《中文信息学报》;20100315;第24卷(第2期);第60页第1栏第6段至第2栏第3段 |
微机指纹识别技术的研究;何天文;《中国优秀硕士学位论文全文数据库信息科技辑》;20030315(第1期);第21页第2-3段 |
Also Published As
Publication number | Publication date |
---|---|
CN104239324A (zh) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104239324B (zh) | 一种基于用户行为的特征提取、个性化推荐的方法和*** | |
CN108121737B (zh) | 一种业务对象属性标识的生成方法、装置和*** | |
JP5965911B2 (ja) | オンライン取引プラットフォームに基づくデータ処理 | |
US9286391B1 (en) | Clustering and recommending items based upon keyword analysis | |
US9690846B2 (en) | Intelligent navigation of a category system | |
CN107408114B (zh) | 基于事务访问模式识别联结关系 | |
CN106557486A (zh) | 一种数据的存储方法和装置 | |
CN103942712A (zh) | 基于产品相似度的电子商务推荐***及其方法 | |
RU2614933C2 (ru) | Способ и устройство для поиска информации на электронной коммерческой платформе | |
CN106251168A (zh) | 信息推送方法及*** | |
CN104077723B (zh) | 一种社交网络推荐***及方法 | |
CN110335123B (zh) | 基于社交电商平台的商品推荐方法、***、计算机可读介质以及装置 | |
CN106570031A (zh) | 一种业务对象的推荐方法和装置 | |
CN105989146B (zh) | 对象展示方法及装置 | |
CN107368501B (zh) | 数据的处理方法及装置 | |
CN108491408B (zh) | 一种活动信息的处理方法、装置、电子设备及存储介质 | |
EP2850544A1 (en) | A user recommendation method and device | |
CN109918678A (zh) | 一种字段含义识别方法和装置 | |
Chahal et al. | Migrating a recommendation system to cloud using ml workflow | |
CN109960487A (zh) | 一种抽取对象的方法和装置 | |
CN107798558A (zh) | 用户行为数据分析方法及服务器 | |
CN110209687B (zh) | 多维度归因的查询方法和装置 | |
Dinh et al. | A survey of privacy preserving utility mining | |
CN109977982A (zh) | 用户分类方法、***、电子设备及计算机可读介质 | |
CN112100400A (zh) | 基于知识图谱的节点推荐方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211109 Address after: No. 699, Wangshang Road, Binjiang District, Hangzhou, Zhejiang Patentee after: Alibaba (China) Network Technology Co.,Ltd. Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Patentee before: ALIBABA GROUP HOLDING Ltd. |