CN109255640A - 一种确定用户分组的方法、装置及系统 - Google Patents
一种确定用户分组的方法、装置及系统 Download PDFInfo
- Publication number
- CN109255640A CN109255640A CN201710569342.9A CN201710569342A CN109255640A CN 109255640 A CN109255640 A CN 109255640A CN 201710569342 A CN201710569342 A CN 201710569342A CN 109255640 A CN109255640 A CN 109255640A
- Authority
- CN
- China
- Prior art keywords
- user
- behavioral data
- coding
- users
- grouping
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0204—Market segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种确定用户分组的方法、装置及系统。所述方法包括:获取多个用户的行为数据;将所述多个用户的行为数据划分为若干个以单个用户为维度的行为数据集合;对所述若干个行为数据集合分别进行编码;根据编码得到的编码结果对所述多个用户进行分组利用本申请方法或系统实施例,可以提高基于大规模用户数据的相似用户计算的准确性和计算效率。
Description
技术领域
本申请涉及计算机数据处理技术领域,特别涉及一种确定用户分组的方法、装置及系统。
背景技术
相似用户是指用户与用户之间具有较高的相似程度,相似用户计算往往应用于相似人群扩展技术中。相似人群扩展是指,基于已有的客户人群,发现与其属性比较相似的其他人群。相似人群扩展技术可以应用于多个领域,其中最典型的是互联网广告领域。
在互联网广告领域中,相似人群扩展是非常关键的环节。互联网上每天都活跃着几亿网民,对大多数需要投放广告的商家来说,不进行筛选地向任意人群投放广告,存在成本太高的问题。即使是超大型企业的广告主,采用不限制的投放广告方式,从投入和收益的比例来看,都是不明智的,也不是最优的选择。因此,如何利用相似人群扩展技术,基于已有的客户人群,从几亿网民中扩展出与已有的客户人群相似的、比较有推广价值的人群,是互联网广告产业的迫切需求,也是计算机领域亟需解决的问题。
目前,相似人群扩展方法的应用主要基于小规模用户数据和用户社交数据,但是,用户每天在互联网上的活动数据是相当多的,同一平台上所有用户的活动数据形成超大规模用户数据。现有技术的相似人群扩展方法并不能应用于大规模用户数据,尤其是大规模非社交数据中,主要存在下述两个原因:
第一,小规模用户数据的相似人群扩展方法往往基于产品和对象的相似计算。虽然目前已有较好的经过验证的解决方案,然而因为对象本身的多样性和异构性,导致相似计算部分存在大量重复性过程。另外,对象的不透明性增加了场景、产品和问题的复杂度,在业务拓展和大规模场景应用中产生过多的开销成本,并且随着对象规模和种类的进一步扩大,场景的整合统一变得异常复杂,为分析和更高的整体优化迭代设置了障碍。因此,基于小规模用户数据的相似人群扩展方法不适用于大规模用户数据。
第二,基于用户社交数据的相似人群扩展方法往往基于具有关联性的用户数据,比如用户A与用户B、用户B与用户C具有某种联系,那可以推断出也许用户A与用户C也具有某种联系。但是在很多时候,用户数据并没有必然的关联性,不能简单地利用基于社交数据的相似人群扩展方法进行扩展。
因此,现有技术中亟需一种基于大规模用户数据的准确性高、计算效率高的确定用户分组的方法。
发明内容
本申请实施例的目的在于提供一种确定用户分组的方法、装置及系统,可以提高基于大规模用户数据的相似用户计算的准确性和计算效率。
本申请实施例提供的一种确定用户分组的方法、装置及系统具体是这样实现的:
一种确定用户分组的方法,所述方法包括:
获取多个用户的行为数据;
将所述多个用户的行为数据划分为若干个以单个用户为维度的行为数据集合;
对所述若干个行为数据集合分别进行编码;
根据编码得到的编码结果对所述多个用户进行分组。
一种相似人群扩展方法,所述方法包括:
获取预设业务对象的种子人群以及所述种子人群所包含用户的的用户标识信息;
获取包括至少部分种子人群在内的多个用户的行为数据;
根据所述多个用户的行为数据,利用上述实施例中任意一个实施例所述的方法获取所述种子人群中用户的相似用户;
根据所述用户标识信息合并所述种子人群中用户的相似用户,生成与所述种子人群的相似人群。
一种用户标签共享的方法,所述方法包括:
获取多个用户的标签信息以及所述多个用户关于预设业务对象的行为数据;
根据所述行为数据,利用上述实施例中任意一个实施例所述的方法获取所述多个用户的相似用户;
在所述相似用户之间共享各自的标签信息。
一种产品推荐的方法,所述方法包括:
获取多个目标产品和多个目标用户;
获取与所述多个目标产品相关联的多个参考用户,以及所述参考用户对所述目标产品的偏好度信息;
获取所述目标用户和所述参考用户关于所述目标产品所属业务的行为数据,并利用上述实施例中任意一个实施例所述的方法从所述多个参考用户中获取所述目标用户的相似用户;
根据所述相似用户和所述偏好度信息,向所述目标用户进行推荐所述目标产品。
一种确定用户分组的系统,所述系统包括多个计算节点,
所述计算节点用于获取多个用户的行为数据;以及,用于将所述多个用户的行为数据划分为若干个以单个用户为维度的行为数据集合;以及,用于对所述若干个行为数据集合分别进行编码;以及,用于根据编码得到的编码结果对所述多个用户进行分组。
一种确定用户分组的装置,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
获取多个用户的行为数据;
将所述多个用户的行为数据划分为若干个以单个用户为维度的行为数据集合;
对所述若干个行为数据集合分别进行编码;
根据编码得到的编码结果对所述多个用户进行分组。
本申请提供的确定用户分组的方法、装置及系统,可以大幅度提高根据大规模用户行为数据从大规模用户中确定用户分组的计算效率,主要体现在以下几个方面:
第一、可以以用户为单位对所述行为数据进行划分,将同一用户分散于数据源中的海量行为数据进行归并处理,提升后续的处理效率;
第二、对用户的行为数据进行编码,能够将复杂的高维度用户行为数据压缩成简短的编码形式,利用编码结果计算用户之间的相似度,可以大大减少数据运算量;
第三、根据所述编码结果对该计算节点内的多个用户进行分组,初步将比较相似的用户分配至同一个分组内,节省后续计算用户之间相似度的耗时。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的确定用户分组的流程示意图;
图2是本申请提供的确定用户分组的系统200;
图3是本申请的一个应用场景的示意图;
图4是本申请的一个应用场景的示意图;
图5是本申请的一个应用场景的示意图;
图6是本申请提供的确定用户分组方法的一种实施例的方法流程图;
图7是本申请提供的用户行为数据所关联的应用平台的种类示意图;
图8是本申请提供的对用户分组方法的一种实施例的方法流程图;
图9是本申请提供的对用户分组方法的另一种实施例的方法流程图;
图10是本申请提供的对用户分组的一个场景的示意图;
图11是本申请提供的分配行为数据方法的一种实施例的方法流程图;
图12是本申请提供的分配行为数据方法的一种实施例的方法流程图;
图13是本申请提供的对行为数据预处理方法的一种实施例的方法流程图;
图14是本申请提供的确定相似用户方法的一种实施例的方法流程图;
图15是本申请提供的确定相似用户方法的另一种实施例的方法流程图;
图16是本申请提供的对分组数据重新排序方法的一种实施例的方法流程图;
图17是本申请提供的对分组数据重新排序的一个场景的示意图
图18是本申请提供的相似人群扩展方法的一种实施例的方法流程图;
图19是本申请提供的用户标签共享方法的一种实施例的方法流程图;
图20是本申请提供的产品推荐方法的一种实施例的方法流程图;
图21是本申请提供的确定用户分组装置的一种实施例的模块结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了方便本领域技术人员理解本申请实施例提供的技术方案,下面通过具体的场景说明本申请实施例的应用环境。
在一个场景中,旅游机构A策划进行互联网广告投放,该机构目前拥有100万名线上线下会员。旅游机构A根据会员的消费频率、咨询频率、线上活跃程度等因素从这100万名会员中选取10万名比较有推广价值的种子用户,并希望通过这10万名种子用户扩展出更多的相似人群,以对所述相似人群进行广告投放。旅游机构A或者第三方平台可以获取得到包括全部或者部分种子用户在内的大量用户的行为数据。所述行为数据可以包括用户在多个数据源上产生的多个行为记录,其中,所述数据源可以为多个不同类别的应用平台的数据库等。对于旅游业,所述应用平台可以包括旅游论坛、旅游相关交易平台等。可以发现,在实际应用情况下,用户数量往往是数以千万计,甚至是数以亿计,并且来自多个数据源的行为数据的数据量巨大,不同数据源的行为数据的关联性很小。现有技术中处理小规模用户数据的相似人群扩展方法难以适用于大规模用户数据的应用场景。
基于类似于上文描述的实际技术需求,本申请提出一种确定用户分组的方法。
如图1所示的方法流程示意图中,首先,可以获取多个用户的行为数据,并以单个用户为维度对所述行为数据进行划分,生成若干个行为数据集合,使得属于同一用户的行为数据归并至同一用户名下。在对所述行为数据进行划分之后,可以对用户的行为数据进行编码处理,对数据进行编码处理能够将复杂的高维度用户行为数据压缩成简短的编码形式。然后,可以根据所述编码结果对所述多个用户进行分组,分组的目的在于将比较相似的用户分配至同一个分组内。在一个实施例中,可以将同一个分组内的所有用户或者部分用户作为相似用户。在其他实施例中,可以计算各个分组内在两两用户之间的相似度,并将所述相似度大于预设阈值的两个用户作为相似用户。利用上述确定用户分组的方法,可以提升基于大规模用户数据的确定用户分组的效率。
在一个具体的实施例中,还可以将所述多个用户的行为数据集合分配至多个计算节点中,以提升计算效率。基于此,本实施例提出如图2所示的系统200,所述系统200可以包括N个计算节点201,分别为计算节点201-1、201-2、201-3、201-4、……、201-N。所述计算节点可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需的必要的软件,所述计算节点可以对接收到的多个用户的行为数据进行分析、处理,从而确定各个计算节点内的相似用户。在一个实施例中,所述计算节点101可以为物理节点,如单个实体服务器,也可以是多个实体服务器组成的服务器集群。在其他实施例中,所述计算节点201还可以为虚拟节点,如虚拟机等,本申请在此不做限制。
本实施例中,如图2所示,同样地,可以以用户为单位对所述行为数据进行划分,使得属于同一用户的行为数据归并至同一用户名下。在对所述行为数据进行划分之后,可以将多个用户的行为数据分配至N个计算节点201中,这样,可以将海量用户行为数据分配至多个计算节点中,避免单机处理过程所产生的数据处理量过大的问题。本实施例中,所述计算节点201之间可以互相独立,各自进行数据处理,避免计算节点之间通信所产生的额外的数据处理负担。在各个计算节点201中,可以对用户的行为数据进行编码,对数据进行编码能够将复杂的高维度用户行为数据压缩成简短的编码形式。然后根据所述编码结果对该计算节点内的多个用户进行分组,如上所述相同,分组的目的在于将比较相似的用户分配至同一个分组内,节省后续计算用户之间相似度的耗时。在各个分组内的处理方式可以参考上一实施例,本申请在此不再赘述。
当然,在其他实施例中,还可以采用单个服务器进行处理,所述服务器可以具有较强的数据处理能力,能够快速处理大规模的用户行为数据,对此,本申请在此不做限制。
下面继续以上述旅游机构A的应用场景为示例说明本实施例技术方案。假设旅游机构A委托第三方机构B完成对种子用户的相似人群扩展,而第三方机构B拥有5000万个用户在多个应用平台上的行为数据,且旅游机构A提供的95%以上的种子用户均在这5000万个用户之内。第三方机构B从跟旅游相关的诸如旅游论坛、机票交易平台、旅游团购交易平台等应用平台中获取上述5000万个用户的行为数据。在所述获取用户行为数据的过程中,需要对单个用户的行为数据进行合并。用户在多个应用平台的数据源上产生多个行为记录,并且,用户在所述多个应用平台上所使用的用户ID均不相同。因此,在本申请的一个实施例中,可以获取用户在所述多个应用平台上共享的用户标识信息,所述用户标识信息可以包括下述中的至少一种:电话、邮箱、身份证号码等。然后,可以从所述应用平台的数据源上获取与所述用户标识信息相关联的多个行为记录,并合并所述多个行为记录,至此,获取单个用户的多个行为数据。
本示例中,第三方机构B拥有500个计算节点,为了能够将海量用户行为数据进行分布式计算,将5000万个用户的行为数据分配至500个计算节点。而在各个计算节点中,可以对单个用户的行为数据进行编码,生成编码结果。在一种实施例中,所述编码结果可以为预设长度的哈希值。然后,根据所述编码结果或者部分编码结果,将计算节点内的用户进行分组,初步将比较相似的用户分配至同一个分组内。在所述分组内,可以计算两两用户所对应的编码结果的相似度。最后,还可以将所述相似度大于预设阈值的两个用户作为相似用户,例如所述预设阈值的取值不低于93%。第三方机构B还可以根据种子用户的标识信息提取得到每个种子用户对应的相似用户,最后将所有种子用户的相似用户进行合并,生成所述种子用户的相似人群。
图3是上述应用场景的一个用户相似示意图,如图3所示,用户1-4为旅游机构A提供的其中4名种子用户,用户A-N为根据种子用户1-4利用本实施例技术方案扩展得到的相似人群。例如,通过用户1可以扩展得到A-E四位相似用户,可以发现,用户1与用户A的相似点在于都活跃于旅行论坛,并且都是旅行论坛的版主,用户1与用户B都喜欢在旅行论坛上分享旅行攻略,用户1和用户C、D、E均是旅行发烧友。如果旅行机构A向计算得到的相似人群投放广告,则可以大大提高广告投放的针对性和准确性,一方面可以节省广告投放的成本,另一方面还可以快速获取广告投放所带来的效益。
在另一个示例中,还可以利用本实施例技术方案对用户的标签进行共享。典型的,在健康大数据环境中,假设每个用户都有与之对应的健康标签,所述健康标签例如可以包括身体症状、年龄段、疾病种类、所用药物、饮食特征等体现个人健康状况的关键词。在本示例中,例如可以根据“中度高血压”、“60-65岁”这两个健康标签提取出一批用户,这批用户可以称之为标签放大用户。获取标签放大用户的健康数据,所述健康数据例如可以包括健康搜索词、健康产品的访问、个人体检报告等。将所述健康数据作为用户的行为数据,利用本实施例中的技术方案计算得到所述标签放大用户之间的相似度,并确定其中的相似用户。
本实施例中,越相似的用户之间可以越能够共享标签。图4是本示例中的相似用户共享标签的示意图,如图4所示,经过计算,用户张先生和用户王先生的相似度为98%,两位用户都属于“中度高血压”、“60-65岁”两个健康标签下的标签放大用户。通过对比两位用户的健康标签发现,两位的健康标签大部分相似,只是张先生多了一个“肢体麻木”的健康标签,而王先生多了一个“保钾利尿剂”的健康标签。在将两位用户的健康标签进行共享之后,张先生得到“保钾利尿剂”的健康标签,王先生得到“肢体麻木”的健康标签。此时张先生可以利用“保钾利尿剂”的健康标签向医生咨询是否建议服用保钾利尿剂,或者向王先生询问服用保钾利尿剂后有没有缓解一些症状等。另一方面,王先生通过“肢体麻木”的健康标签了解到高血压可能伴随有肢体麻木的并发症状,需要提高健康状况的警惕。
在另一个示例中,还可以利用本实施例技术方案进行产品推荐。首先选取多个目标产品和多个目标用户,目的在于将众多的目标产品以合适的推荐顺序或者从中选取几个目标产品推荐给目标用户。例如,某糖果公司欲将多款糖果产品推广给一些目标用户,但是糖果产品种类繁多,每个人的口味也不相同。为了能够确定目标用户对每款糖果产品的偏好程度,可以获取一些与所述目标用户相似的人群。具体地,可以圈定一些与该公司的糖果产品之间有互动的多个参考用户,所述参考用户可以对糖果产品实施过购买、搜索、收藏、加购、评价等操作行为。根据所述参考用户对糖果产品的操作行为,可以设置所述参考用户对糖果产品的偏好度,当然,所述参考用户对糖果产品的操作行为次数越多,所述偏好度越高。然后,获取所述目标用户与所述参考用户在糖果领域内的多个行为数据,所述行为数据可以来自其他糖果类网购平台、公众号、论坛、线下品牌店等多个应用平台。
本示例中,可以利用所述目标用户与所述参考用户在糖果领域内的多个行为数据,计算得到用户之间的相似度,从而确定所述目标用户的相似用户。如图5所示的示意图中,确定目标用户1与相似用户2、相似用户3、相似用户4的相似度分别为94%、95%、97%,还获取得到相似用户2-4分别对图5中四款糖果产品的偏好度。根据所述相似度和偏好度,可以计算得到向目标用户1分别推荐上述四款糖果产品的推荐指数。例如向目标用户1推荐棒棒糖的推荐指数可以按照下式计算得到:94%*70+95%*50+97%*94=204.48,依此方式可以分别计算得到向目标用户1推荐巧克力、蛋糕、奶糖的推荐指数。当然,在实际应用环境中,产品种类远不止图示中的4种产品,相似人群也远远多于3名用户,在此不做限制。如图5所示,最后,可以根据所述推荐指数向目标用户1推荐上述四款糖果产品,推荐顺序为蛋糕→巧克力→奶糖→棒棒糖。这样,可以大大提高广告投放的准确性。
需要说明的是,产品种类不局限于示例中的糖果类产品,还可以为健康类产品、运动类产品、服装类产品、母婴类产品等任何类型的产品,本申请在此不做限制。
下面结合附图6对本申请所述的确定用户分组的方法进行详细的说明。图6是本申请提供的确定用户分组方法的一种实施例的方法流程示意图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际中的确定用户分组的过程中,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
具体的本申请提供的一种确定用户分组方法的一种实施例如图5所示,所述方法可以包括:
S61:获取多个用户的行为数据。
本实施例中,所述行为数据可以包括用户的某个应用平台上的操作行为数据,所述行为数据诸如搜索日志、浏览记录、收藏记录、交易记录、评价记录、应用(Application,APP)使用记录、APP内下载记录、广告响应记录等等。具体地获取方式例如可以包括数据库文件读取、解析,客户端或者服务器埋点获取,从第三方获取等多种方式,本申请在此不做限制。
在本申请的一个实施例中,所述行为数据可以包括所述用户在多个数据源上产生的多个行为记录。
本实施例中的所述数据源可以对应于一个应用平台,多个数据源可以对应于多个应用平台。可以发现,用户在一个应用平台上所实施的操作行为并不一定起因于该应用平台,也有可能受到其他应用平台上展示内容的触发,因此,应用平台之间具有一定的关联性,用户在不同应用平台上的行为数据也可能具有关联性。例如,用户小王在浏览某社区网站时,发现一位社区好友分享了一篇关于多款口红的试色报告,点击进去阅读之后,小王对其中一款口红很感兴趣,就进入某购物网站进行搜索、收藏,最终购买了相同的口红。
本实施例中,可以尽可能地捕捉用户在多个应用平台上的多种行为数据,多个应用平台上的多种行为数据有助于从多个维度衡量、总结用户的特性,从而可以提升后续计算用户之间相似度的准确程度。
需要说明的是,在获取用户的行为数据之前,一般可以确定所需行为数据的所属类别。例如在上述介绍的几个场景中,一些场景是旅游业场景,一些场景是健康类场景。那么,在确定所需行为数据的所属类别之后,可以针对性地获取相关应用平台上获取相关类别的行为数据。
本实施例中,所述应用平台可以对应于至少一个数据源,用户可以在所述数据源上进行操作,并生成行为记录。图7是本申请提供的用户行为数据所关联的应用平台的种类示意图,如图7所示,所述应用平台可以包括社区网站、贴吧、论坛、好友圈、线下团体、组织、娱乐、教育平台、交易平台、APP等,本申请在此不做限制。
S62:将所述多个用户的行为数据划分为若干个以单个用户为维度的行为数据集合。
在获取多个用户的行为数据之后,可以以单个用户为维度对所述行为数据进行划分,并生成若干个行为数据集合。对所述行为数据进行划分的目的在于将属于同一用户的行为数据归并至同一用户名下。在一个实施例中,所述行为数据包括用户在单个应用平台上产生的行为记录。此时,由于应用平台业务的多样性以及用户操作时间的间隔性等因素,导致用户的行为数据分散于所述应用平台的数据源中,因此,本实施例中,可以以用户为单位对所述行为数据进行划分,将同一用户分散的行为数据进行归并处理。
在另一个实施例中,当所述行为数据包括所述用户在多个数据源上产生的多个行为记录时,所述以用户为单位对所述行为数据进行划分可以包括:
SS1:确定用户在所述多个数据源中共享的用户标识信息;
SS2:将所述多个数据源中与所述用户标识信息相关联的行为记录合并成所述用户的行为数据集合。
本实施例中,可以获取用户在所述多个应用平台对应的数据源中共享的用户标识信息,所述用户标识信息可以具有通用性,例如可以包括下述中的至少一种:电话、邮箱、身份证号码等。然后,可以从所述应用平台的数据源上获取与所述用户标识信息相关联的多个行为记录,并将所述多个行为记录合并成所述用户的行为数据集合。需要说明的是,在一个具体的示例中,在一些数据源中,用户使用相同的电话号码159XXXX2141,在一些数据源中,用户使用相同的邮箱XXX@gmail.com,在另一些数据源中,用户使用相同的电话号码159XXXX2141和邮箱XXX@gmail.com。此时,可以以用户使用相同的电话号码159XXXX2141和邮箱XXX@gmail.com作为用户标识,合并与用户使用相同的电话号码159XXXX2141和/或邮箱XXX@gmail.com相关联的行为记录。
S63:对所述若干个行为数据集合分别进行编码。
本实施例中,在处理所述行为数据的过程中,可以对进行划分之后的所述若干个行为数据集合进行编码,并生成对应的编码结果。具体的编码方式可以包括哈希编码,哈希编码中还可以包括消息摘要2(MD2)、消息摘要4(MD4)、消息摘要5(MD5)、安全散列算法-1(SHA-1)等。当然,所述编码方式也可以为根据加密或者数据处理需求选取的编码算法,甚至可以采用自定义编码算法,本申请在此不做限制。
由上述可知,所述用户行为数据规模巨大,本实施例中,对于从海量的高维数据集中查找相似数据可以采用类似索引的技术来加快数据处理过程,例如最近邻查找法(Nearest Neighbor,AN)、近似最近邻查找法(Approximate Nearest Neighbor,ANN),ANN中例如可以包括K-d tree with BBF,Randomized Kd-trees,Hierarchical K-meansTree、局部敏感哈希编码(Locality-Sensitive Hashing,LSH)等。
本实施例中,对用户的行为数据进行编码,能够将复杂的高维度用户行为数据压缩成简短的编码形式,编码形式的简单易处理特性可以大大减少数据运算量,提升数据处理效率。
S64:根据编码得到的编码结果对所述多个用户进行分组。
在获取编码得到所述若干个行为数据集合的编码结果之后,可以根据所述编码结果对所述多个用户进行分组。分组的目的在于将初步确定比较相似的用户分配至同一个分组内。具体地,可以根据所述编码结果初步确定比较相似的用户。在本申请的一个实施例中,如图8所示的流程图,所述根据编码得到的编码结果对所述多个用户进行分组可以包括:
S81:将根据编码得到的编码结果按照数值大小进行排序;
S82:将所述排序中第一预设数量的连续相邻编码结果所对应的用户分配至同一个分组中。
本实施例中,所述编码结果例如可以包括固定位数的二进制数据,所述二进制数据例如可以包括64位、128为、256位等多种位数。将所述编码结果按照数值大小进行排序,例如进行从小到大或者从大到小进行排序。若两个用户的行为数据集合比较相似,则所述行为数据集合所对应的编码结果也比较相似。将编码结果按照数值大小进行排序之后,可以初步确定排序中的部分连续编码结果所对应的用户为相似用户。将第一预设数量的所述相似用户分配至一个同一个分组中,可以提高后续相似用户的计算效率。需要说明的是,所述第一预设数量可以为所述分组的计算上限,例如,在LSH方法中,所述分组的方式可以为分桶方式,一个分桶作为所述计算节点的单次逻辑计算单位,存在计算上限,因此,可以将第一预设数量用户的编码结果分配至同一个分组内,以保证计算节点的单次计算量不会超出上限。
在本申请的另一个实施例中,如图9所示的流程图,所述根据编码得到的编码结果对所述多个用户进行分组可以包括:
S91:获取根据编码得到的编码结果;
S92:从所述编码结果中截取部分序列,并将所述部分序列按照数值大小进行排序;
S93:将所述排序中第二预设数量的连续相邻部分序列所对应的用户分配至同一个分组中。
本实施例中,可以截取所述编码结果中的部分序列,将所述部分序列按照数值大小进行排序,并将所述排序中第二预设数量的连续相邻部分序列所对应的用户分配至同一个分组中。本实施例中的所述部分序列可以很大程度反映用户之间的相似度。如图10所示的示意图,在某个计算节点内,对每个用户的行为数据集合进行LSH编码,生成256位的二进制数据。从中截取预设位置处的30位二进制序列,并将这30位序列按照如图10所示的从大至小的顺序排列。按照上述方法选取连续预设数量的用户分配至分组1中,所选用户如图10中矩形框所示。同样地,所述第二预设数量可以为所述分组的计算上限,在此不再赘述。
本实施例中,截取部分编码结果进行初步相似用户分组,可以大大提高相似用户的计算效率。
在本申请一个实施例中,还可以将所述行为数据分配至多个计算节点,由多个计算节点进行分布式处理。具体可以参考图11所示的流程图,所述对所述若干个行为数据集合分别进行编码可以包括:
S111:将所述若干个以单个用户为维度的行为数据集合分配至多个计算节点。
S112:对所述计算节点内的行为数据集合进行编码。
本实施例中的所述计算节点可以为物理节点,如单个实体服务器,也可以是多个实体服务器组成的服务器集群。在其他实施例中,所述计算节点还可以为虚拟节点,如虚拟机等,本申请在此不做限制,具体的结构示意图可以参考图2。本实施例中,可以将海量用户行为数据采用分布式计算方式分配至多个计算节点中,可以避免单机处理过程所产生的数据处理量过大的问题,大幅度提升数据处理效率。在本申请的一个实施例中,将所述若干个行为数据集合分配至多个计算节点时。进一步地,还可以设置将所述行为数据集合均匀分配至所述多个计算节点。参考图12所示的流程图,具体地,所述将所述若干个以单个用户为维度的行为数据集合分配至多个计算节点可以包括:
S121:分别计算所述行为数据集合所对应的数据量;
S122:根据所述数据量将所述若干个行为数据集合均匀分配至多个计算节点中。
本实施例中,可以分别计算进行划分之后的所述行为数据集合所对应的数据量。在一些实施例中,所述数据量的计算方式可以包括数据大小,例如50K、80K、1M等。在其他实施例中,所述数据量还可以用表示所述行为数据的程序代码的行数或者列数衡量,本申请在此不做限制。在计算得到所述行为数据集合的数据量之后,可以根据所述数据量将所述行为数据集合均匀分配至所述多个计算节点。通过上述方式进行分配之后,可以保证各个计算节点的数据量的均衡性,从而均衡各个计算节点的处理负担,缩短数据量的处理时间,提高相似用户的计算效率。
在本申请的一个实施例中,还可以对用户的所述行为数据进行预处理以及将所述行为数据转化成统一的数据形式。具体地,可以参考图13所示的流程图,所述方法还可以包括:
S131:从所述行为数据集合中提取出用户属性及用户属性值;
S132:对所述用户属性及用户属性值进行预处理;
S133:将预处理后的用户属性及用户属性值转换成键值对的数据形式。
本实施例中,可以从所述行为数据集合中提取出用户属性、用户属性值,其中,将所述用户属性作为key,将所述用户属性值作为value,形成(用户属性,用户属性值)的键值对数据形式。但是,在转换成键值对的数据形式之前,还可以对所述用户属性及用户属性值进行预处理,主要包括对数据进行清洗、筛选、归约、归一化等,以去除冗余数据,合并同类数据,简化数据格式。具体地,所述用户属性例如可以包括从行为数据中提取的动作、关键词等,对应的用户属性值可以包括动作的频次、时长等,关键词的搜索频率、近因等。例如,表1是健康类用户行为数据的key-value数据表示形式列表,如表1所示,所述列表分为6列,其中左三列为用户标识为001的用户的用户属性和用户属性值,右三列为用户标识为002的用户的用户属性和用户属性值,所述用户标识可以包括用户电话号码、身份证号码、邮箱、自定义编码等,本申请在此不做限制。在另一些实施例中,还可以用其他统一的数据格式表示用户数据,例如,还可以利用下述数据表示形式:(001;搜索词-高血压,浏览血压仪,浏览健康APP,病历,……)=(10次/周,10产品/天,20min/天,中度高血压,…)。
表1 健康类用户行为数据的key-value数据表示形式列表
用户标识 | 用户属性 | 用户属性值 | 用户标识 | 用户属性 | 用户属性值 |
001 | 搜索词-高血压 | 10次/周 | 002 | 搜索词-高血压 | 1次/周 |
001 | 浏览血压仪 | 10产品/天 | 002 | 浏览血压仪 | 12产品/天 |
001 | 浏览健康APP | 20min/天 | 002 | 浏览健康APP | 17min/天 |
001 | 病历 | 中度高血压 | 002 | 病历 | 轻度高血压 |
001 | …… | … | 002 | …… | … |
在本申请的一个实施例中,所述对所述行为数据进行预处理可以包括:
SSS1:计算所述用户属性的区分度;
SSS2:当所述区分度小于第一阈值时,从所述行为数据集合中清除所述用户属性及对应的用户属性值。
本实施例中,可以从所述用户属性中去除一下区分度比较低的属性。例如,相对于用户的年龄属性来说,用户的性别属性的区分度远远低于年龄属性的区分度。如果从用户属性中去除小于区分度第一阈值的属性,从大规模的用户行为数据中清除很多冗余重复的数据,大大提高用户之间相似度的计算效率,典型地,所述第一阈值的取值例如不低于30%。
需要说明的是,数据预处理的方式还可以包括任何可以去除冗余数据、简化数据格式的方式,例如数据归约、数据归一化等等,本申请在此不做限制。
在本申请的另一个实施例中,在所述根据编码得到的编码结果对所述多个用户进行分组之后,所述方法还可以包括:
根据编码结果确定分组内的相似用户。
本实施例中,可以根据所述编码结果确定分组内的相似用户,所述相似用户可以包括相似度较高的两个或者多个用户。
在本申请的一个实施例中,如图14所示,所述根据编码结果确定分组内的相似用户可以包括:
S141:将所述分组内用户的编码结果按照数值大小进行排序;
S142:将所述排序中第三预设数量的连续相邻编码结果所对应的用户作为相似用户。
本实施例中,可以将统一分组内用户的编码结果按照数值大小进行排序,并将所述排序中第三预设数量的连续相邻编码结果所对应的用户作为相似用户。如上所述,所述编码结果可以为用户的行为数据集合的压缩形式,也就是说,当用户的行为数据集合相似时,所述编码结果的数值大小接近。因此,本实施例中,可以将同一分组内编码结果连续的第三预设数量个用户作为相似用户,所述第三预设数量可以小于所述分组内的用户数量,也可以等于所述用户数量,本申请在此不做限制。在另一个实施例中,还可以精确计算同一个分组内两两用户之间的相似度,具体可以参考图15所示的方法流程图,所述根据编码结果确定分组内的相似用户可以包括:
S151:计算分组内两两用户所对应的编码结果的相似度;
S152:将所述相似度大于第二阈值的两个用户作为相似用户。
本实施例中,可以计算分组内两两用户所对应的编码结果的相似度,具体地,在一个实施例中,所述相似度可以为所述编码结果之间的距离。在另一个实施例中,所述相似度的计算方式还可以包括余弦夹角算法、欧式距离、Jaccard相似度、最长公共子串、编辑距离等多种算法,本申请在此不做限制。
本实施例中,还可以将所述相似度大于第二阈值的两个用户作为相似用户。例如,所述第二阈值可以取值为不小于95%,或者任何其他的自定义数值。
在本申请的一个实施例中,所述分组可以具有计算上限,例如,在利用LSH方法对用户的行为数据进行编码之后,初步将具有相似编码结果的用户分配至相同的分桶内。分桶作为所述计算节点单次计算的逻辑单位,可以对其设置计算上限,例如,某分桶单次只能处理10000名用户的编码结果。但是,按照编码结果分配的初步相似用户的数量可能远远超出分桶的计算上限。那么,在本实施例中,可以将超出分桶计算上限的数据分配至另一个空桶内。然后,可以计算所述分桶内两两之间的编码结果的相似度,而空桶内可以不必进行计算。但是,为了获取所有初步相似用户两两之间编码结果的相似度,本实施例提出一种随机扰动后排序的方式,具体可以参考如图16所示的流程图:
S161:计算所述分组内第三阈值个数的用户两两之间的编码结果的相似度。
S162:获取用户标识信息及随机数,并将所述随机数添加至所述用户标识信息中。
S163:对添加所述随机数之后的用户标识信息进行编码,生成预设位数的编码。
S164:将所述编码按照数值大小排序,并计算排序中前第三阈值个数用户两两之间的编码结果的相似度。
本实施例中,所述第三阈值可以为所述分组的计算上限,也可以为用户根据计算效率等因素自定义的计算上限。若所述分组中的用户数量超出所述第三阈值时,可以先计算所述分组内第三阈值个数用户两两之间的编码结果的相似度,剩余的用户可以暂不处理。在进行一轮计算之后,可以调整该分组内的用户的排列顺序,具体地,在本申请的一个实施例中,可以获取用户标识信息以及随机数,并将所述随机数添加至所述用户标识信息中。所述用户标识信息可以包括用户的手机号、邮箱、自定义编码等。对添加所述随机数之后的用户标识信息进行编码,生成预设位数的编码。将所述编码按照数值大小排序,并计算排序中前第三阈值个数的用户两两之间的编码结果的相似度。
如图17所示的示意图,设置单桶的计算上限为10000个数据,若某个分桶的数据总和为12500个数据,那么可以将剩余的2500个数据放置于空桶内。如图17所示,用户标识信息可以唯一标识用户的身份,所述用户标识信息可以为用户的手机号、身份证、住址等信息。本实施例中为了清楚地示出数据排序关系,可以设置用户标识为00001-25000的编号,其中个编号可以唯一表示一位用户。如图13所示,在首次计算时,分桶内用户的用户标识为00001-10000,在进行一轮计算之后,可以在用户标识中添加随机数,然后对所述用户标识和所述随机数进行编码,生成预设位数的编码,并将所述编码按照数值大小排序。在进行重新排序之后,分桶内的用户标识变成00071、11081、……、14021,此时再计算分桶内10000名用户两两之间的编码结果的相似度。后续地,每进行一轮相似度计算之后,可以用相同的方式进行重新排序,以完全覆盖两两用户之间的相似度计算,提升计算的全面覆盖性。
需要说明的是,重新排序的方式不限于上述加入随机数的方式,还可以其他任何随机方式,本申请在此不做限制。
本申请提供的确定用户分组的方法,可以大幅度提高根据大规模用户行为数据从大规模用户中确定用户分组的计算效率,主要体现在以下几个方面:
第一、可以以单个用户为维度对所述行为数据进行划分,将同一用户分散于数据源中的海量行为数据进行归并处理,提升后续的处理效率;
第二、对用户的行为数据进行编码,能够将复杂的高维度用户行为数据压缩成简短的编码形式,利用编码结果计算用户之间的相似度,可以大大减少数据运算量;
第三、根据所述编码结果对该计算节点内的多个用户进行分组,初步将比较相似的用户分配至同一个分组内,节省后续计算用户之间相似度的耗时。
本申请另一方面还提供一种相似人群扩展方法,如图18所示,所述方法可以包括:
S181:获取预设业务对象的种子人群以及所述种子人群所包含用户的的用户标识信息;
S182:获取包括至少部分种子人群在内的多个用户的行为数据;
S183:根据所述多个用户的行为数据,利用上述任一实施例所述的确定用户分组的方法获取所述种子人群中用户的相似用户;
S184:根据所述用户标识信息合并所述种子人群中用户的相似用户,生成与所述种子人群的相似人群。
本申请提供的相似人群扩展方法,利用上述任一实施例所述的确定用户分组的方法计算种子人群的相似人群,可以利用部分种子人群在内的多个用户的大规模行为数据,快速获取所述种子人群中用户的相似用户,并根据种子人群的标识信息合并所述种子人群中用户的相似用户,获取得到所述种子人群的相似人群。在实际应用中,可以为需要进行广告投放的机构、企业提供针对性的人群,提高广告投放的准确性。
可选的,在本申请的一个实施例中,所述获取包括至少部分种子人群在内的多个用户的行为数据可以包括:
SS-1:获取包括至少部分种子人群在内的多个用户的原始行为数据;
SS-2:从所述原始行为数据中筛选出与所述预设业务对象相关联的行为数据。
本申请另一方面还提供一种用户标签共享方法,如图19所示,所述方法可以包括:
S191:获取多个用户的标签信息以及所述多个用户关于预设业务对象的行为数据;
S192:根据所述行为数据,利用上述任一实施例所述的确定用户分组的方法获取所述多个用户的相似用户;
S193:在所述相似用户之间共享各自的标签信息。
本申请提供的用户标签共享方法,利用上述任一实施例所述的确定用户分组的方法计算多个用户的相似用户,并在相似的用户之间共享标签。在实际应用场景中,可以帮助用户在某一业务范围内找到与自己相似的用户或者人群,通过所述相似用户或者相似人群的标签,发现与相似用户或者相似人群之间的差异,并可以根据所述差异对个人状态进行相应地调整。
本申请另一方面还提供一种产品推荐方法,如图20所示,所述方法可以包括:
S201:获取多个目标产品和多个目标用户;
S202:获取与所述多个目标产品相关联的多个参考用户,以及所述参考用户对所述目标产品的偏好度信息;
S203:获取所述目标用户和所述参考用户关于所述目标产品所属业务的行为数据,利用上述任一实施例所述的确定用户分组的方法从所述多个参考用户中获取所述目标用户的相似用户;
S204:根据所述相似用户和所述偏好度信息,向所述目标用户进行推荐所述目标产品。
本申请提供的产品推荐方法,可以上述任一实施例所述的确定用户分组的方法从所述多个参考用户中获取所述目标用户的相似用户,并将相似的参考用户所偏好的产品推荐给目标用户,在一定程度上可以提高目标产品的广告投放准确度,提高广告投放所产生的的效益。
可选的,在本申请的一个实施例中,所述根据所述相似用户和所述偏好度信息,向所述目标用户进行产品推荐包括:
SSS-1:获取所述目标用户与所述相似用户之间的相似度;
SSS-2:根据所述相似度和所述偏好度信息,分别计算向所述目标用户推荐所述目标产品的推荐指数。当然,本申请提供的确定用户分组的方法不限于上述获取相似人群、共享标签、产品推荐等应用领域,还可以应用于用户个人画像刻画、职业推荐等其他多种领域,本申请在此不做限制。
本申请另一面还提供一种确定用户分组的装置,图21是本申请提供的确定用户分组装置的一种实施例的模块结构示意图,如图21所示,所述装置可以包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
获取多个用户的行为数据;
将所述多个用户的行为数据划分为若干个以单个用户为维度的行为数据集合;
对所述若干个行为数据集合分别进行编码;
根据编码得到的编码结果对所述多个用户进行分组。
可选的,在本申请的一个实施例中,所述处理器在实现步骤对所述若干个行为数据集合分别进行编码时可以包括:
将所述若干个以单个用户为维度的行为数据集合分配至多个计算节点;
对所述计算节点内的行为数据集合进行编码。
可选的,在本申请的一个实施例中,所述行为数据可以包括所述用户在多个数据源上产生的多个行为记录。
可选的,在本申请的一个实施例中,所述处理器在实现步骤将所述多个用户的行为数据划分为若干个以单个用户为维度的行为数据集合时可以包括:
确定用户在所述多个数据源中共享的用户标识信息;
将所述多个数据源中与所述用户标识信息相关联的行为记录合并成所述用户的行为数据集合。
可选的,在本申请的一个实施例中,所述处理器在实现步骤根据编码得到的编码结果对所述多个用户进行分组时可以包括:
将根据编码得到的编码结果按照数值大小进行排序;
将所述排序中第一预设数量的连续相邻编码结果所对应的用户分配至同一个分组中。
可选的,在本申请的一个实施例中,所述处理器在实现步骤根据编码得到的编码结果对所述多个用户进行分组时可以包括:
获取根据编码得到的编码结果;
从所述编码结果中截取部分序列,并将所述部分序列按照数值大小进行排序;
将所述排序中第二预设数量的连续相邻部分序列所对应的用户分配至同一个分组中。
可选的,在本申请的一个实施例中,所述处理器在实现步骤对所述若干个行为数据集合分别进行编码时可以包括可以包括:
从所述行为数据集合中提取出用户属性及用户属性值;
对所述用户属性及用户属性值进行预处理;
将预处理后的用户属性及用户属性值转换成键值对的数据形式。
可选的,在本申请的一个实施例中,所述处理器在实现步骤对所述用户属性及用户属性值进行预处理时可以包括:
计算所述用户属性的区分度;
当所述区分度小于第一阈值时,从所述行为数据集合中清除所述用户属性及对应的用户属性值。
可选的,在本申请的一个实施例中,所述处理器在实现步骤所述根据编码得到的编码结果对所述多个用户进行分组之后,还可以包括:
根据编码结果确定分组内的相似用户。
可选的,在本申请的一个实施例中,所述处理器在实现步骤根据编码结果确定分组内的相似用户时可以包括:
将所述分组内用户的编码结果按照数值大小进行排序;
将所述排序中第三预设数量的连续相邻编码结果所对应的用户作为相似用户。
可选的,在本申请的一个实施例中,所述处理器在实现步骤根据编码结果确定分组内的相似用户时可以包括:
计算分组内两两用户所对应的编码结果的相似度;
将所述相似度大于第二阈值的两个用户作为相似用户。
可选的,在本申请的一个实施例中,所述处理器在实现步骤计算分组内两两用户所对应的编码结果的相似度时,若所述分组中的用户数量超出第三阈值,则可以包括:
计算所述分组内第三阈值个数的用户两两之间的编码结果的相似度;
获取用户标识信息及随机数,并将所述随机数添加至所述用户标识信息中;
对添加所述随机数之后的用户标识信息进行编码,生成预设位数的编码;
将所述编码按照数值大小排序,并计算排序中前第三阈值个数的用户两两之间的编码结果的相似度。
可选的,在本申请的一个实施例中,所述处理器在实现步骤将所述若干个以单个用户为维度的行为数据集合分配至多个计算节点时可以包括:
分别计算所述行为数据集合所对应的数据量;
根据所述数据量将所述若干个行为数据集合均匀分配至多个计算节点中。
可选的,在本申请的一个实施例中,所述处理器在实现步骤对所述若干个行为数据集合分别进行编码时可以包括:
对所述行为数据集合进行局部敏感哈希编码。
尽管本申请内容中提到实施例中的数据分配、数据编码、数据提取、排序等之类的数据设置、处理描述,但是,本申请并不局限于必须是完全符合行业编程语言设计标准或实施例所描述的数据展示、处理的情况。某些页面设计语言或实施例描述的基础上略加修改后的实施方案也可以实行上述实施例相同、等同或相近、或变形后可预料的实施效果。当然,即使不采用上数据处理、判断的方式,只要符合本申请上述各实施例的数据分配、数据编码、数据提取、排序方式,仍然可以实现相同的申请,在此不再赘述。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的单元、装置,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,本申请中所述的某一单元模块也可以将实现同一功能的模块由多个子模块或子模块的组合实现。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (34)
1.一种确定用户分组的方法,其特征在于,所述方法包括:
获取多个用户的行为数据;
将所述多个用户的行为数据划分为若干个以单个用户为维度的行为数据集合;
对所述若干个行为数据集合分别进行编码;
根据编码得到的编码结果对所述多个用户进行分组。
2.根据权利要求1所述的方法,其特征在于,所述对所述若干个行为数据集合分别进行编码包括:
将所述若干个以单个用户为维度的行为数据集合分配至多个计算节点;
对所述计算节点内的行为数据集合进行编码。
3.根据权利要求1所述的方法,其特征在于,所述行为数据包括所述用户在多个数据源上产生的多个行为记录。
4.根据权利要求3所述的方法,其特征在于,所述将所述多个用户的行为数据划分为若干个以单个用户为维度的行为数据集合包括:
确定用户在所述多个数据源中共享的用户标识信息;
将所述多个数据源中与所述用户标识信息相关联的行为记录合并成所述用户的行为数据集合。
5.根据权利要求1所述的方法,其特征在于,所述根据编码得到的编码结果对所述多个用户进行分组包括:
将根据编码得到的编码结果按照数值大小进行排序;
将所述排序中第一预设数量的连续相邻编码结果所对应的用户分配至同一个分组中。
6.根据权利要求1所述的方法,其特征在于,所述根据编码得到的编码结果对所述多个用户进行分组包括:
获取根据编码得到的编码结果;
从所述编码结果中截取部分序列,并将所述部分序列按照数值大小进行排序;
将所述排序中第二预设数量的连续相邻部分序列所对应的用户分配至同一个分组中。
7.根据权利要求1所述的方法,其特征在于,所述对所述若干个行为数据集合分别进行编码包括:
从所述行为数据集合中提取出用户属性及用户属性值;
对所述用户属性及用户属性值进行预处理;
将预处理后的用户属性及用户属性值转换成键值对的数据形式。
8.根据权利要求7所述的方法,其特征在于,所述对所述用户属性及用户属性值进行预处理包括:
计算所述用户属性的区分度;
当所述区分度小于第一阈值时,从所述行为数据集合中清除所述用户属性及对应的用户属性值。
9.根据权利要求1所述的方法,其特征在于,在所述根据编码得到的编码结果对所述多个用户进行分组之后,所述方法还包括:
根据编码结果确定分组内的相似用户。
10.根据权利要求9所述的方法,其特征在于,所述根据编码结果确定分组内的相似用户包括:
将所述分组内用户的编码结果按照数值大小进行排序;
将所述排序中第三预设数量的连续相邻编码结果所对应的用户作为相似用户。
11.根据权利要求9所述的方法,其特征在于,所述根据编码结果确定分组内的相似用户包括:
计算分组内两两用户所对应的编码结果的相似度;
将所述相似度大于第二阈值的两个用户作为相似用户。
12.根据权利要求11所述的方法,其特征在于,若所述分组中的用户数量超出第三阈值,则所述计算分组内两两用户所对应的编码结果的相似度包括:
计算所述分组内第三阈值个数的用户两两之间的编码结果的相似度;
获取用户标识信息及随机数,并将所述随机数添加至所述用户标识信息中;
对添加所述随机数之后的用户标识信息进行编码,生成预设位数的编码;
将所述编码按照数值大小排序,并计算排序中前第三阈值个数的用户两两之间的编码结果的相似度。
13.根据权利要求2所述的方法,其特征在于,所述将所述若干个以单个用户为维度的行为数据集合分配至多个计算节点包括:
分别计算所述行为数据集合所对应的数据量;
根据所述数据量将所述若干个行为数据集合均匀分配至多个计算节点中。
14.根据权利要求1所述的方法,其特征在于,所述对所述若干个行为数据集合分别进行编码包括:
对所述行为数据集合进行局部敏感哈希编码。
15.一种相似人群扩展方法,其特征在于,所述方法包括:
获取预设业务对象的种子人群以及所述种子人群所包含用户的用户标识信息;
获取包括至少部分种子人群在内的多个用户的行为数据;
根据所述多个用户的行为数据,利用权利要求1-14中任意一项所述的方法获取所述种子人群中用户的相似用户;
根据所述用户标识信息合并所述种子人群中用户的相似用户,生成与所述种子人群的相似人群。
16.根据权利要求15所述的方法,其特征在于,所述获取包括至少部分种子人群在内的多个用户的行为数据包括:
获取包括至少部分种子人群在内的多个用户的原始行为数据;
从所述原始行为数据中筛选出与所述预设业务对象相关联的行为数据。
17.一种用户标签共享的方法,其特征在于,所述方法包括:
获取多个用户的标签信息以及所述多个用户关于预设业务对象的行为数据;
根据所述行为数据,利用权利要求1-14中任意一项所述的方法获取所述多个用户的相似用户;
在所述相似用户之间共享各自的标签信息。
18.一种产品推荐的方法,其特征在于,所述方法包括:
获取多个目标产品和多个目标用户;
获取与所述多个目标产品相关联的多个参考用户,以及所述参考用户对所述目标产品的偏好度信息;
获取所述目标用户和所述参考用户关于所述目标产品所属业务的行为数据,并利用权利要求1-14中任意一项所述的方法从所述多个参考用户中获取所述目标用户的相似用户;
根据所述相似用户和所述偏好度信息,向所述目标用户进行推荐所述目标产品。
19.根据权利要求18所述的方法,其特征在于,所述根据所述相似用户和所述偏好度信息,向所述目标用户进行产品推荐包括:
获取所述目标用户与所述相似用户之间的相似度;
根据所述相似度和所述偏好度信息,分别计算向所述目标用户推荐所述目标产品的推荐指数。
20.一种确定用户分组的系统,其特征在于,所述系统包括多个计算节点,
所述计算节点用于获取多个用户的行为数据;以及,用于将所述多个用户的行为数据划分为若干个以单个用户为维度的行为数据集合;以及,用于对所述若干个行为数据集合分别进行编码;以及,用于根据编码得到的编码结果对所述多个用户进行分组。
21.一种确定用户分组的装置,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
获取多个用户的行为数据;
将所述多个用户的行为数据划分为若干个以单个用户为维度的行为数据集合;
对所述若干个行为数据集合分别进行编码;
根据编码得到的编码结果对所述多个用户进行分组。
22.根据权利要求21所述的装置,其特征在于,所述处理器在实现步骤对所述若干个行为数据集合分别进行编码时包括:
将所述若干个以单个用户为维度的行为数据集合分配至多个计算节点;
对所述计算节点内的行为数据集合进行编码。
23.根据权利要求21所述的装置,其特征在于,所述行为数据包括所述用户在多个数据源上产生的多个行为记录。
24.根据权利要求23所述的装置,其特征在于,所述处理器在实现步骤将所述多个用户的行为数据划分为若干个以单个用户为维度的行为数据集合时包括:
确定用户在所述多个数据源中共享的用户标识信息;
将所述多个数据源中与所述用户标识信息相关联的行为记录合并成所述用户的行为数据集合。
25.根据权利要求21所述的装置,其特征在于,所述处理器在实现步骤根据编码得到的编码结果对所述多个用户进行分组时包括:
将根据编码得到的编码结果按照数值大小进行排序;
将所述排序中第一预设数量的连续相邻编码结果所对应的用户分配至同一个分组中。
26.根据权利要求21所述的装置,其特征在于,所述处理器在实现步骤根据编码得到的编码结果对所述多个用户进行分组时包括:
获取根据编码得到的编码结果;
从所述编码结果中截取部分序列,并将所述部分序列按照数值大小进行排序;
将所述排序中第二预设数量的连续相邻部分序列所对应的用户分配至同一个分组中。
27.根据权利要求21所述的装置,其特征在于,所述处理器在实现步骤对所述若干个行为数据集合分别进行编码时包括:
从所述行为数据集合中提取出用户属性及用户属性值;
对所述用户属性及用户属性值进行预处理;
将预处理后的用户属性及用户属性值转换成键值对的数据形式。
28.根据权利要求27所述的装置,其特征在于,所述处理器在实现步骤对所述用户属性及用户属性值进行预处理时包括:
计算所述用户属性的区分度;
当所述区分度小于第一阈值时,从所述行为数据集合中清除所述用户属性及对应的用户属性值。
29.根据权利要求21所述的装置,其特征在于,所述处理器在实现步骤所述根据编码得到的编码结果对所述多个用户进行分组之后,还包括:
根据编码结果确定分组内的相似用户。
30.根据权利要求29所述的装置,其特征在于,所述所述处理器在实现步骤根据编码结果确定分组内的相似用户时包括:
将所述分组内用户的编码结果按照数值大小进行排序;
将所述排序中第三预设数量的连续相邻编码结果所对应的用户作为相似用户。
31.根据权利要求29所述的装置,其特征在于,所述处理器在实现步骤根据编码结果确定分组内的相似用户时包括:
计算分组内两两用户所对应的编码结果的相似度;
将所述相似度大于第二阈值的两个用户作为相似用户。
32.根据权利要求31所述的装置,其特征在于,所述处理器在实现步骤计算分组内两两用户所对应的编码结果的相似度时,若所述分组中的用户数量超出第三阈值,则包括:
计算所述分组内第三阈值个数的用户两两之间的编码结果的相似度;
获取用户标识信息及随机数,并将所述随机数添加至所述用户标识信息中;
对添加所述随机数之后的用户标识信息进行编码,生成预设位数的编码;
将所述编码按照数值大小排序,并计算排序中前第三阈值个数的用户两两之间的编码结果的相似度。
33.根据权利要求22所述的装置,其特征在于,所述处理器在实现步骤将所述若干个以单个用户为维度的行为数据集合分配至多个计算节点时包括:
分别计算所述行为数据集合所对应的数据量;
根据所述数据量将所述若干个行为数据集合均匀分配至多个计算节点中。
34.根据权利要求21所述的装置,其特征在于,所述处理器在实现步骤对所述若干个行为数据集合分别进行编码时包括:
对所述行为数据集合进行局部敏感哈希编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710569342.9A CN109255640A (zh) | 2017-07-13 | 2017-07-13 | 一种确定用户分组的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710569342.9A CN109255640A (zh) | 2017-07-13 | 2017-07-13 | 一种确定用户分组的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109255640A true CN109255640A (zh) | 2019-01-22 |
Family
ID=65050897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710569342.9A Pending CN109255640A (zh) | 2017-07-13 | 2017-07-13 | 一种确定用户分组的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109255640A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858977A (zh) * | 2019-02-26 | 2019-06-07 | 维正科技服务有限公司 | 一种基于自编码的用户行为分析方法和系统 |
CN110335116A (zh) * | 2019-07-03 | 2019-10-15 | 浪潮软件集团有限公司 | 一种基于边缘计算的数据商品推荐方法 |
CN110348878A (zh) * | 2019-06-13 | 2019-10-18 | 北京华峰创业科技有限公司 | 一种对用户进行分组的方法和装置 |
CN111222048A (zh) * | 2020-01-03 | 2020-06-02 | 北京字节跳动网络技术有限公司 | 用户数量的查询计算方法、装置、电子设备、及存储介质 |
CN111552842A (zh) * | 2020-03-30 | 2020-08-18 | 贝壳技术有限公司 | 一种数据处理的方法、装置和存储介质 |
CN111651674A (zh) * | 2020-06-03 | 2020-09-11 | 北京妙医佳健康科技集团有限公司 | 双向搜索方法、装置及电子设备 |
CN111651456A (zh) * | 2020-05-28 | 2020-09-11 | 支付宝(杭州)信息技术有限公司 | 潜在用户确定方法、业务推送方法及装置 |
WO2020258101A1 (zh) * | 2019-06-26 | 2020-12-30 | 深圳市欢太科技有限公司 | 用户相似度计算方法、装置、服务端及存储介质 |
CN112182240A (zh) * | 2020-09-23 | 2021-01-05 | 成都数联铭品科技有限公司 | 同名自然人实体超级节点识别处理方法及系统、电子设备 |
WO2021000084A1 (zh) * | 2019-06-29 | 2021-01-07 | 深圳市欢太科技有限公司 | 数据分类方法及相关产品 |
CN112862512A (zh) * | 2019-11-28 | 2021-05-28 | 北京达佳互联信息技术有限公司 | 内容项投放方法、装置、服务器及存储介质 |
CN112948226A (zh) * | 2021-02-05 | 2021-06-11 | 中国建设银行股份有限公司 | 一种用户画像绘制方法和装置 |
CN113282775A (zh) * | 2021-05-27 | 2021-08-20 | 上海垚亨电子商务有限公司 | 一种基于局部敏感哈希算法的相似人群的扩展算法 |
CN113407537A (zh) * | 2021-06-15 | 2021-09-17 | 维沃移动通信有限公司 | 数据处理方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6134532A (en) * | 1997-11-14 | 2000-10-17 | Aptex Software, Inc. | System and method for optimal adaptive matching of users to most relevant entity and information in real-time |
CN102664967A (zh) * | 2012-05-18 | 2012-09-12 | 北京慧创新盈科技有限公司 | 跨平台的个人信息交互方法和系统及后台服务器 |
CN106022800A (zh) * | 2016-05-16 | 2016-10-12 | 北京百分点信息科技有限公司 | 一种用户特征数据的处理方法和装置 |
CN106548255A (zh) * | 2016-11-24 | 2017-03-29 | 山东浪潮云服务信息科技有限公司 | 一种基于海量用户行为的商品推荐方法 |
CN106611353A (zh) * | 2015-10-27 | 2017-05-03 | 中国移动通信集团浙江有限公司 | 一种获取受众的方法和服务器设备 |
-
2017
- 2017-07-13 CN CN201710569342.9A patent/CN109255640A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6134532A (en) * | 1997-11-14 | 2000-10-17 | Aptex Software, Inc. | System and method for optimal adaptive matching of users to most relevant entity and information in real-time |
CN102664967A (zh) * | 2012-05-18 | 2012-09-12 | 北京慧创新盈科技有限公司 | 跨平台的个人信息交互方法和系统及后台服务器 |
CN106611353A (zh) * | 2015-10-27 | 2017-05-03 | 中国移动通信集团浙江有限公司 | 一种获取受众的方法和服务器设备 |
CN106022800A (zh) * | 2016-05-16 | 2016-10-12 | 北京百分点信息科技有限公司 | 一种用户特征数据的处理方法和装置 |
CN106548255A (zh) * | 2016-11-24 | 2017-03-29 | 山东浪潮云服务信息科技有限公司 | 一种基于海量用户行为的商品推荐方法 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858977B (zh) * | 2019-02-26 | 2023-06-16 | 维正科技服务有限公司 | 一种基于自编码的用户行为分析方法和系统 |
CN109858977A (zh) * | 2019-02-26 | 2019-06-07 | 维正科技服务有限公司 | 一种基于自编码的用户行为分析方法和系统 |
CN110348878A (zh) * | 2019-06-13 | 2019-10-18 | 北京华峰创业科技有限公司 | 一种对用户进行分组的方法和装置 |
WO2020258101A1 (zh) * | 2019-06-26 | 2020-12-30 | 深圳市欢太科技有限公司 | 用户相似度计算方法、装置、服务端及存储介质 |
CN113383314B (zh) * | 2019-06-26 | 2023-01-10 | 深圳市欢太科技有限公司 | 用户相似度计算方法、装置、服务端及存储介质 |
CN113383314A (zh) * | 2019-06-26 | 2021-09-10 | 深圳市欢太科技有限公司 | 用户相似度计算方法、装置、服务端及存储介质 |
CN113366469A (zh) * | 2019-06-29 | 2021-09-07 | 深圳市欢太科技有限公司 | 数据分类方法及相关产品 |
WO2021000084A1 (zh) * | 2019-06-29 | 2021-01-07 | 深圳市欢太科技有限公司 | 数据分类方法及相关产品 |
CN110335116A (zh) * | 2019-07-03 | 2019-10-15 | 浪潮软件集团有限公司 | 一种基于边缘计算的数据商品推荐方法 |
CN112862512A (zh) * | 2019-11-28 | 2021-05-28 | 北京达佳互联信息技术有限公司 | 内容项投放方法、装置、服务器及存储介质 |
CN111222048A (zh) * | 2020-01-03 | 2020-06-02 | 北京字节跳动网络技术有限公司 | 用户数量的查询计算方法、装置、电子设备、及存储介质 |
CN111552842A (zh) * | 2020-03-30 | 2020-08-18 | 贝壳技术有限公司 | 一种数据处理的方法、装置和存储介质 |
CN111651456B (zh) * | 2020-05-28 | 2023-02-28 | 支付宝(杭州)信息技术有限公司 | 潜在用户确定方法、业务推送方法及装置 |
CN111651456A (zh) * | 2020-05-28 | 2020-09-11 | 支付宝(杭州)信息技术有限公司 | 潜在用户确定方法、业务推送方法及装置 |
CN111651674A (zh) * | 2020-06-03 | 2020-09-11 | 北京妙医佳健康科技集团有限公司 | 双向搜索方法、装置及电子设备 |
CN111651674B (zh) * | 2020-06-03 | 2023-08-25 | 北京妙医佳健康科技集团有限公司 | 双向搜索方法、装置及电子设备 |
CN112182240A (zh) * | 2020-09-23 | 2021-01-05 | 成都数联铭品科技有限公司 | 同名自然人实体超级节点识别处理方法及系统、电子设备 |
CN112182240B (zh) * | 2020-09-23 | 2024-04-02 | 成都数联铭品科技有限公司 | 同名自然人实体超级节点识别处理方法及系统、电子设备 |
CN112948226A (zh) * | 2021-02-05 | 2021-06-11 | 中国建设银行股份有限公司 | 一种用户画像绘制方法和装置 |
CN112948226B (zh) * | 2021-02-05 | 2024-04-02 | 中国建设银行股份有限公司 | 一种用户画像绘制方法和装置 |
CN113282775A (zh) * | 2021-05-27 | 2021-08-20 | 上海垚亨电子商务有限公司 | 一种基于局部敏感哈希算法的相似人群的扩展算法 |
CN113282775B (zh) * | 2021-05-27 | 2023-10-03 | 上海焱祺华伟信息系统技术有限公司 | 一种基于局部敏感哈希算法的相似人群的扩展方法 |
CN113407537A (zh) * | 2021-06-15 | 2021-09-17 | 维沃移动通信有限公司 | 数据处理方法、装置及电子设备 |
WO2022262663A1 (zh) * | 2021-06-15 | 2022-12-22 | 维沃移动通信有限公司 | 数据处理方法、装置及电子设备 |
CN113407537B (zh) * | 2021-06-15 | 2024-02-06 | 维沃移动通信有限公司 | 数据处理方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109255640A (zh) | 一种确定用户分组的方法、装置及系统 | |
CN109242612B (zh) | 一种产品推荐的方法及设备 | |
Chen et al. | Approximate parallel high utility itemset mining | |
Shirole et al. | Customer segmentation using rfm model and k-means clustering | |
Li et al. | E-tail product return prediction via hypergraph-based local graph cut | |
US20080091508A1 (en) | Multidimensional personal behavioral tomography | |
US11449895B2 (en) | Graph-based compression of data records | |
JP6334431B2 (ja) | データ分析装置、データ分析方法、およびデータ分析プログラム | |
Nadungodage et al. | GPU accelerated item-based collaborative filtering for big-data applications | |
CN111523072A (zh) | 页面访问数据统计方法、装置、电子设备及存储介质 | |
Tibély et al. | Extracting tag hierarchies | |
CN108664501B (zh) | 广告审核方法、装置及服务器 | |
CN111782927A (zh) | 物品推荐方法及其装置、计算机可存储介质 | |
CN114612194A (zh) | 产品推荐方法、装置、电子设备及存储介质 | |
Woo et al. | Predicting the ratings of Amazon products using Big Data | |
CN111966916A (zh) | 一种推荐方法、装置、电子设备及计算机可读存储介质 | |
CN111582967A (zh) | 内容搜索方法、装置、设备及存储介质 | |
Cao et al. | Distributed design and implementation of SVD++ algorithm for e-commerce personalized recommender system | |
CN111460300B (zh) | 网络内容推送方法、装置及存储介质 | |
Sangaralingam et al. | Predicting age & gender of mobile users at scale-a distributed machine learning approach | |
Liu et al. | Animation user value portrait based on RFM model under big data | |
Sahu et al. | Personalized recommendation engine using HADOOP | |
CN114385931A (zh) | 一种获得推荐表单的方法、装置及电子设备 | |
CN107103046A (zh) | 药品信息数据存取方法及系统 | |
JP6287280B2 (ja) | 情報処理方法、プログラム、及び情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190122 |