CN111259263A - 一种物品推荐方法、装置、计算机设备及存储介质 - Google Patents
一种物品推荐方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111259263A CN111259263A CN202010040903.8A CN202010040903A CN111259263A CN 111259263 A CN111259263 A CN 111259263A CN 202010040903 A CN202010040903 A CN 202010040903A CN 111259263 A CN111259263 A CN 111259263A
- Authority
- CN
- China
- Prior art keywords
- user
- sample
- behavior
- recommended
- target
- 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.)
- Granted
Links
Images
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/9536—Search customisation based on social or collaborative filtering
-
- 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/0241—Advertisements
- G06Q30/0251—Targeted advertisements
-
- 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/0241—Advertisements
- G06Q30/0277—Online advertisement
-
- 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/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Abstract
本申请提供涉及人工智能技术领域,尤其涉及一种物品推荐方法、装置、计算机设备及存储介质。该方法包括:获得待推荐用户的多个特征;其中,所述多个特征用于表示待推荐用户的用户特征和与所述待推荐用户关联的物品特征;根据所述多个特征,从多个用户分群中,确定所述待推荐用户所属的目标用户分群;其中,每个用户分群是多个样本用户中针对目标物的行为序列满足共性条件的样本用户进行聚类获得的,每个样本用户是针对目标物具有转化行为的用户;为所述待推荐用户推荐所述目标用户分群关联的目标物。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及人工智能技术领域,提供一种物品推荐方法、装置、计算机设备及存储介质。
背景技术
随着人工智能技术不断发展,人工智能技术在智能推荐领域应用也越来越广泛,比如利用人工智能为用户推荐商品、有针对性地投放广告等。
目前,推荐方法一般是采用协同过滤,具体包括基于用户的协同过滤和基于物品的协同过滤,基于用户协同过滤过多依赖用户自身的属性进行推荐,而基于物品的协同过滤又过多地依赖物品的信息,协同过滤的方法均过于依赖单某个方面的信息进行推荐,导致为用户推荐的物品与用户实际想要的物品相差甚远,推荐准确性不高。
发明内容
本申请实施例提供一种物品推荐方法、模型生成方法及、装置、计算机设备及存储介质,用于提高物品推荐的准确性。
第一方面,提供一种物品推荐方法,包括:
获得待推荐用户的多个特征;其中,所述多个特征用于表示待推荐用户的用户特征和与所述待推荐用户关联的物品特征;
根据所述多个特征,从多个用户分群中,确定所述待推荐用户所属的目标用户分群;其中,每个用户分群是多个样本用户中针对目标物的行为序列满足共性条件的样本用户进行聚类获得的,每个样本用户是针对目标物具有转化行为的用户;
为所述待推荐用户推荐所述目标用户分群关联的目标物。
第二方面,提供一种物品推荐装置,包括:
获得模块,用于获得待推荐用户的多个特征;其中,所述多个特征用于表示待推荐用户的用户特征和与所述待推荐用户关联的物品特征;
确定模块,用于根据所述多个特征,从多个用户分群中,确定所述待推荐用户所属的目标用户分群;其中,每个用户分群是多个样本用户中针对目标物的行为序列满足共性条件的样本用户进行聚类获得的,每个样本用户是针对目标物具有转化行为的用户;
推荐模块,用于为所述待推荐用户推荐所述目标用户分群关联的目标物。
在一种可能的实施例中,所述多个用户分群中每个用户分群是通过如下步骤确定的:
获得多个样本用户中各个样本用户分别针对每类目标物的行为序列;
针对每类目标物,确定多个行为序列的共同序列模式;其中,所述共同序列模式是指在多个行为序列中出现次数满足预设次数,且长度满足预设长度的子序列;
针对多类目标物,将存在共同序列模式的样本用户划分为一个用户分群。
在一种可能的实施例中,所述多个用户分群中每个用户分群是通过如下步骤确定的:
获得每个样本用户针对各类目标物的行为序列;
针对每个样本用户,确定多个行为序列的共同序列模式;其中,所述共同序列模式是指在多个行为序列中出现次数满足预设次数,且长度满足预设长度的子序列;
针对多个样本用户,将存在相同的共同序列模式的样本用户划分为一个用户分群。
在一种可能的实施例中,多个行为序列的共同序列模式通过如下步骤获得的:
递归挖掘多个行为序列中满足支持度阈值的前缀;其中,所述支持度阈值是指在多个行为序列中出现的次数与多个行为序列的个数的比值;
将每个前缀和每个前缀关联的后缀组合,获得多个频繁行为序列模式集合;
将频繁行为序列模式集合中满足预设条件的频繁行为序列模式确定为共同序列模式。
在一种可能的实施例中,每个行为序列包括以下序列中的一种或几种的组合:
样本用户针对目标物进行的浏览行为序列、样本用户针对目标物进行的购买行为序列、或样本用户针对目标物进行操作的行为时间序列。
在一种可能的实施例中,所述确定模块具体用于:
对所述多个特征进行向量化编码,获得组合特征向量;
提取所述组合特征向量的特征,获得组合编码特征向量;
确定所述组合编码特征向量属于多个用户分群中每个用户分群的概率;
将概率满足概率阈值的用户分群确定为待推荐用户所属的用户分群。
在一种可能的实施例中,所述确定模块具体用于:
对所述组合特征向量进行正向编码处理,获得前向编码向量;
对所述组合特征向量进行反向编码处理,获得后向编码向量;
对所述前向编码向量和所述后向编码向量进行组合,获得组合编码特征向量。
在一种可能的实施例中,所述确定模块具体用于:
通过已训练的物品推荐模型,从多个用户分群中,根据所述组合特征确定所述待推荐用户所属的用户分群;其中,所述物品推荐模型是根据每个用户分群下的各个样本用户的样本组合特征训练得到的。
在一种可能的实施例中,所述物品推荐模型包括第一子模型和第二子模型,以及,
所述第一子模型和所述第二子模型是通过如下步骤共同训练得到的:
分别对每个用户分群下的样本用户的样本组合特征进行向量化编码,获得样本组合特征向量;
通过第一子模型,对样本组合特征向量进行特征提取,获得样本组合编码特征向量;
通过第二子模型,预测样本组合编码特征向量所属的用户分群;
当第二子模型的损失满足目标损失时,获得完成训练的第二子模型和第一子模型;其中,物品推荐模型的损失是根据样本组合编码特征向量与样本用户真实所属的用户分群编码向量确定出来的。
在一种可能的实施例中,所述物品推荐模型的损失是根据样本组合编码特征向量与样本用户真实所属的用户分群编码向量之间的余弦角度,和样本组合编码特征向量与样本用户真实所属的用户分群编码向量之间的角度距离之差确定的。
第三方面,提供一种计算机设备,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面中任一项所述的方法。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面中任一项所述的方法。
由于本申请实施例采用上述技术方案,至少具有如下技术效果:
本申请实施例中,对针对目标物具有转化行为的样本用户的行为序列进行挖掘,挖掘深层具有共性的一些样本用户,将具有共性的样本用户划分为一类用户分群,从而建立更具有参考价值的用户分群,使得后续只需确定待推荐用户所属的用户分群,为待推荐用户推荐与该用户分群关联的目标物,使得产生的推荐结果更符合待推荐用户的需求,提高推荐结果的准确性。且,在对用户进行推荐时,可以根据待推荐用户的物品特征以及用户特征,确定待推荐用户所属的用户分群,使得推荐过程不会过分依赖待推荐用户的转化行为,能够适用于大量的新用户,推荐方法的泛化能力较好,实用性较好。
附图说明
图1为本申请实施例提供的一种物品推荐设备的结构示意图;
图2为本申请实施例提供的一种物品推荐方法的应用场景示意图;
图3为本申请实施例提供的一种物品推荐方法的原理示意图;
图4为本申请实施例提供的一种物品推荐模型的结构示意图;
图5为本申请实施例提供的一种物品推荐方法的流程图;
图6为本申请实施例提供的一种物品推荐方法的交互过程示意图;
图7为本申请实施例提供的一种客户端显示的界面示意图;
图8为本申请实施例提供的终端设备显示的推荐结果的界面示意图;
图9为本申请实施例提供的一种物品推荐装置的结构示意图;
图10为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了更好的理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
应当说明的是,本申请实施例中涉及的“至少一个”表示一个或多个,本申请涉及的“多个”表示两个或两个以上。
为了便于本领域技术人员更好地理解本申请的技术方案,下面对本申请实施例涉及的专业术语进行介绍。
人工智能(Artificial Intelligence,AI):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP):是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。本申请实施例中利用NLP技术将用户特征以及物品特征等转换为特征向量等。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible MarkupLanguage,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(结构化查询语言(Structured QueryLanguage)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
人工智能云服务,一般也被称作是AI即服务(AI as a Service,AIaaS)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:所有的开发者都可以通过API接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能服务。
行为序列:是指用户针对物品进行操作过程中产生的具有时间先后顺序的行为轨迹。行为轨迹可以用行为标签表示,每个行为序列实际上可以理解为一些具有时间先后顺序的行为标签构成的序列信息。行为标签可以是根据场景和行为类别细化得到的。用户针对每类物品进行的不同事件产生不同的行为序列,行为序列可以是这些不同事件中部分或全部事件对应的行为序列组合而成。事件例如浏览事件、购买事件等,浏览事件具体包括搜索事件、访问事件等,购买事件具体包括注册事件、访问事件、回购事件等。事件的不同,行为序列可能也有所不同。行为序列可以包括用户对物品进行浏览过程中的产生的浏览行为序列、用户对物品进行购买过程中的产生的购买行为序列和用户对物品进行操作过程中的行为时间序列等中的一种或几种组合。浏览行为序列具体包括用于表示用户搜索过程中的各个行为标签。行为时间序列例如用户访问每个页面的时间、用户在每个页面的停留时间、回访次数、回访相隔天数等。例如用户小明通过在A页面点击a按键(button)进入到B页面,然后浏览一段时间后又点击b button进入到C页面,用户小李通过在A页面点击a button进入到B页面,然后浏览一段时间后又点击c button返回到A页面。用户小明的浏览序列可标记为:AaBbC,用户小李的浏览序列标记为:AaBcA。
样本用户:是指针对目标物具有转化行为的用户,例如购买过物品的用户等。目标物是可以是特定类的物品,也可以是泛指各类物品。
物品:泛指各类产品,例如商品、广告等。针对样本用户具有转化行为所对应的物品,本申请称为目标物。目标物的类别可以理解为目标物所属的类别,可以按照目标物的产品属性特征进行分类,例如电类物品和布类物品,也可以按照目标物的用途进行分类,例如家用物品、商用物品等,也可以按照目标物的价格区间进行分类,例如0-100元的物品属于一类等,本文不限制目标物的具体分类方式。
多个特征:也可以称为组合特征,是指用户的用户特征和物品特征的组合,用户特征和物品组合特征的顺序可以是任意的。
用户特征:是指用于表示用户自身的特征,包括用户属性特征、用户消费特征、用户行为特征等中的一种或几种组合,用户属性特征用于表示用户固有的特征,这些特征在相当长的一段时间内不会发生变化。用户属性特征例如用户年龄、性别、学历、所在城市、用户所在城市的城市等级等。用户消费特征是指用户在某时间段内产生的客观的消费数据。用户消费特征例如支付总笔数、总金额、某时间段内(24小时内、一周内、一个月内或半年内)支付笔数分布、支付金额分布、每笔平均金额等。用户行为特征是指用户实际针对物品产生的行为特征。用户行为特征例如浏览页面时长、页面点击次数等。
物品特征:是指用于表示与用户关联的物品特征。物品属性特征是指用于表示物品自身的特征,例如包括物品类别、物品价格、物品品牌、物品购买和物品评论情感等特征。物品消费特征例如物品被购买次数、被点击浏览次数、添加购物车次数以及被购买次数等特征。其中,针对有转化行为的样本用户而言,物品特征包括样本用户购买过的物品特征。针对没有转化行为的新用户而言,物品特征包括样本用户历史购买过的物品特征,或与点击或浏览过的物品特征、或者与用户历史购买过的同类的物品特征等。
频繁行为序列模式:是指多个行为序列中出现次数较多的子序列。
用户分群:是指针对目标物的行为序列满足共性条件的样本用户的聚类结果,例如多个样本用户针对目标物的行为序列存在共同序列模式的样本用户。
待推荐用户:是指需要为其推荐物品的用户,待推荐用户可以是样本用户中的用户,也可以是新用户,任何需要为其推荐物品的用户都可以视为待推荐用户。
下面对本申请实施例的设计思想进行介绍。
下面对相关技术中的基于用户的协同过滤,以及基于物品的协同过滤进行说明。
基于用户的协同过滤:获取不同用户的属性信息,确定待推荐用户与这些用户的相似性,为该待推荐用户推荐相似度较高的用户所对应的物品。
基于物品的协同过滤:获取用户之前已经购买过的物品信息,确定与这些物品信息相似度较高的其它物品,为用户进行推荐。
基于用户的协同过滤更多考虑了用户特征之间的相关性,而基于物品的协同过滤更多考虑物品特征之间的相关性,二者均过度依赖某一方面的信息,导致推荐结果较为片面,且如果某些新用户在某一方面产生的数据较少,更有可能出现推荐结果与用户实际想要的物品偏差较大的情况,推荐准确性较差。
鉴于此,本申请发明人设计了一种物品推荐方法,该方法提前基于已经具有转化行为的样本用户进行分群,获得多个用户分群,在对待推荐用户进行推荐时,可以获得待推荐用户的组合特征,根据待推荐用户的组合特征,确定待推荐用户所属的用户分群,将所属的用户分群关联的目标物推荐给用户,该方法在进行推荐时,对已经具有转化行为的样本用户进行挖掘,挖掘样本用户更深层的共同属性,建立更具有参考价值的用户分群,使得后续根据待推荐用户所属的用户分群产生的推荐结果更符合待推荐用户的需求,提高推荐结果的准确性。且,在对用户进行推荐时,可以直接根据待推荐用户的物品特征以及用户特征,确定待推荐用户所属的用户分群,使得推荐过程不会过分依赖于用户的转化行为,使得该推荐方法能够适用于大量的新用户,泛化能力较好,实用性较好。
下面对本申请实施例涉及的应用场景进行介绍。
请参照图1,表示执行本申请实施例中的物品推荐方法的物品推荐设备的结构示意图,该物品推荐设备100包括一个或多个输入设备101、一个或多个处理器102、一个或多个存储器103和一个或多个输出设备104。
输入设备101用于提供输入接口,以获取外界设备或用户输入的请求推荐的信息等。在获得该信息之后,输入设备101将该请求推荐的信息发送给处理器102,处理器102利用存储器103中存储的程序指令,确定待推荐用户所属的用户分群,并为用户推荐该用户分群所关联的物品,在获得推荐的相关物品之后,通过输出设备104输出推荐结果。
其中,输入设备101可以包括但不限于物理键盘、功能键、轨迹球、鼠标、触摸屏、操作杆等中的一种或多种。处理器102可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等。存储器103可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器103也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器103是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器103可以是上述存储器的组合。输出设备104例如显示器、扬声器和打印机等等。
在一种可能的实施例中,物品推荐设备100可以是用户端设备,也可以是服务端设备。用户端设备可以是移动终端、固定终端或便携式终端,例如移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,物品推荐设备100能够支持任意类型的针对用户的接口(例如可穿戴设备)等。服务端设备可以是各种服务提供的服务器、大型计算设备等。服务器可以是一个或多个服务器。服务器也可以是实体服务器或虚拟服务器等。
第一种情况下:
物品推荐设备100通过服务器实现。
具体的,请参照图2,该应用场景中包括终端设备210、服务器220和数据库230,终端设备210中可以安装有客户端,该服务器220可以是与客户端通信的后台服务器,也可以是单独的为用户推荐物品的服务器。客户端可以是网页版客户端,也可以是预装在终端设备210中的客户端,本申请中的客户端例如是电商类购物客户端,或者是理财类客户端,或者可以是可以投放广告的任意类型的客户端。终端设备210和服务器220均可以访问数据库230,将用户访问过程中产生的访问日志存储在数据库230中。数据库230可以设置在服务器220上,也可以是与服务器220相对独立设置,例如数据库230可以通过服务器集群、云服务器或者分布式存储服务器等实现。
待推荐用户通过终端设备210访问时,待推荐用户可以请求推荐,或者是当待推荐用户触发相应的更新推荐服务时,终端设备210向服务器220发送推荐请求,服务器220在接收到推荐请求之后,服务器220可以通过数据库230中记录的用户访问日志,以及预先存储的一些用户特征以及物品特征等,获得待推荐用户的组合特征,根据该组合特征,确定出待推荐用户的用户分群,然后为该待推荐用户推荐该用户分群所关联的目标物。
第二种情况下:
物品推荐设备100通过终端设备210实现。
继续以图2为例,可以是用户在进推荐操作之后,终端设备210响应于该操作,可以从数据库230获取待推荐用户的相关数据,从而获得待推荐用户的组合特征,确定该待推荐用户所属的用户分群,为该待推荐用户进行推荐。
其中,终端设备210例如固定终端或便携式终端,例如移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。
下面基于前文论述的应用场景,以服务器220为物品推荐设备100为例,对本申请实施例涉及的物品推荐原理进行介绍,请参照图3,表示一种物品推荐原理的示意图,主要包括S301,构建用户分群、S302,构建样本数据、S303,训练物品推荐模型以及S304,应用物品推荐模型四个部分,下面各个部分进行介绍。
第一部分,S301,构建用户分群包括:
S1:服务器220获得多个样本用户的行为序列;
S2:服务器220将多个行为序列中满足共性条件的行为序列对应的样本用户划分为一个用户分群。
下面对S1中获得多个样本用户的行为序列的内容进行具体介绍:
A1:服务器220可以通过样本用户的访问日志,获得样本用户的行为序列。
具体的,服务器220可以在对应的操作代码进行数据埋点,埋点可以理解为是指在需要采集数据的代码处增加一些监控代码。一旦用户进行相应的操作,服务器220会记录该用户的访问日志,可以将这些访问日志存储在数据库230中,服务器220后续只需从访问日志中获取各个样本用户的行为序列。
服务器220可以通过交互数据,获得样本用户的行为序列。
A2:服务器220可以记录与客户端之间的交互数据,根据这些交互数据获得样本用户的行为序列。当然,在某些场景下,交互数据属于访问日志的一部分。
A3:服务器220也可以是从网络资源或者第三方平台等,直接获取样本用户的行为序列。
具体的,服务器220在获得行为序列时,可以获取多个样本用户针对每类目标物的行为序列,或者获取多个样本用户针对特定类目标物的行为序列。
作为一种实施例,服务器220可以提前定义不同场景的行为所对应的行为标签,样本用户的行为序列包括各个行为标签。
例如,各种行为的行为标签如下表1所示:
表1
行为标签 | 行为编码 |
购买行为 | h |
添加购物车行为 | g |
收藏行为 | f |
评论行为 | e |
搜索行为 | d |
登录行为 | c |
注册行为 | b |
浏览行为 | a |
请参照表1,购买行为对应的行为编码为h,添加购物车行为的行为编码为g,收藏行为的行为编码为f,依次类推。
继续以表1为例,样本用户3通过渠道进入该客户端,然后进行注册和登录,在页面浏览一段时间后点击进入查看物品详情页,浏览一段时间后点击收藏按钮收藏物品,然后点击添加购物车购买物品。那么该样本用户3的行为序列为:bcafgh。
同理,样本用户4通过渠道进入该客户端,然后进行注册和登录,在页面浏览一段时间后点击搜索特定商品,浏览后添加购物车,并且付款购买,购买后又添加收藏,那么该样本用户4的行为序列为:bcdaghf。
下面对服务器220将多个行为序列中满足共性条件的行为序列对应的样本用户划分为一个用户分群的内容进行说明。
具体的,当共性条件为多个行为序列存在共同序列模式时,服务器220需要挖掘多个行为序列的共同序列模式。
如前文论述的内容,服务器220可以获取各个样本用户针对同类目标物的行为序列,也可以是获取各个样本用户针对各类目标物的行为序列,这两种情况下挖掘共同序列模式的方法原理相同,但是具体执行过程有所不同,下面进行分别说明。
情况一:
S1.1.1,获取多个样本用户各个样本用户分别针对每类目标物的行为序列;
S1.1.2,针对每类目标物,确定多个行为序列的共同序列模式;
S1.1.3,针对多类目标物,将存在共同序列模式的样本用户划分为一个用户分群。
具体的,该情况中,获取多个样本用户针对一类目标物的行为序列,将多个样本用户的行为序列进行挖掘,如果多个行为序列存在共同序列模式,就将存在该共同序列模式的样本用户划分为一个用户分群。
进一步的,如果多个样本用户针对第一类目标物的行为序列存在的共同序列模式与多个样本用户针对第二类目标物的行为序列存在的共同序列模式相同,那么这些存在相同的共同序列模式的样本用户均属于一个用户分群。第一类目标物和第二类目标物泛指两种不同类型的目标物。
情况二:
S1.2.1,分别获取每个样本用户针对各类目标物的行为序列;
S1.2.2,针对每个样本用户,确定多个行为序列的共同序列模式;
S1.2.3,针对多个样本用户,将存在共同序列模式的样本用户划分为一个用户分群。
具体的,该情况中,获取每个样本用户针对各类目标物的行为序列,将多个样本用户的行为序列进行挖掘,如果多个行为序列存在共同序列模式,就将存在该共同序列模式的不同类目标物划分为一个用户分群。如果第一样本用户针对各类目标物的行为序列存在的共同序列模式与第二样本用户针对各类目标物的行为序列存在的共同序列模式相同,那么这些存在相同的共同序列模式的样本用户均属于一个用户分群。
上述两种情况,每次挖掘样本,也就是多个行为序列有所不同,但是具体涉及到的挖掘过程是相近的,下面对上述两种情况涉及的挖掘共同序列模式的过程进行介绍。
在一种可能的实施例中,服务器220可以采用前缀投影的模式(prefix-projectPattern Growth,Prefixspan)挖对各个样本用户的行为序列进行挖掘。
S1.3.1,递归挖掘多个行为序列中满足支持度阈值的前缀;
S1.3.2,将每个前缀和每个前缀关联的后缀组合,获得多个频繁行为序列模式集合;
S1.3.3,将频繁行为序列模式集合中满足预设条件的频繁行为序列模式确定为共同序列模式。
具体的,服务器220依次挖掘出满足支持度阈值的单位长度为1~n的前缀以及每个前缀对应的投影数据集,获得前缀和投影数据组成的频繁行为序列模式,再从多个频繁行为序列模式中筛选出满足预设条件的频繁行为序列模式作为共同序列模式。
其中,前缀是指各个行为序列中位于前面部分的子序列,投影数据集可以理解为按照行为序列的时间先后顺序,位于每个前缀后的数据集,也可以称为后缀。n为各个序列行为中最长的行为序列的长度,支持度阈值是指在多个行为序列中出现的次数与多个行为序列的个数的比值。预设条件例如可以是序列的长度满足预设长度。
依次挖掘前缀的投影数据,如果该前缀的投影数据为空集,则返回;统计投影数据集中各项的最小支持度,最小支持度可以理解为投影数据在多个行为序列中出现次数,如果投影数据集的最小支持度满足支持度阈值,则将投影数据集与前缀合并,得到新前缀,如果投影数据集的最小支持度不满足支持度阈值,则返回,依次类推,挖掘出多个行为序列中的频繁行为序列模式。筛选满足预设条件的频繁行为序列模式为共同序列模式,在挖掘出共同序列模式之后,将包含共同序列模式的样本用户归为一类。
作为一种实施例,在每轮挖掘频繁行为序列模式时,可以利用最小支持度策略,挖掘行为序列中满足最小支持度的频繁行为序列模式,具体最小支持度min_sup的计算公式如下所示:
min_sup=a*n
其中,n为多个行为序列的总数,a表示最小支持率,最小支持率的取值可以根据样本数据集的数量进行调整。
作为一种实施例,每一轮挖掘支持度设置大于预设值,每一轮挖掘可以设置较高的支持度,保证挖掘的准确性,并通过多轮迭代挖掘提高查全率。
例如,以样本用户3针对物品A的行为序列为bcafgh为例,以样本用户4针对物品A的行为序列为bcdaghf为例,以支持度阈值为0.5为例,下面对挖掘用户的共同序列模式的过程进行示例说明。支持度阈值为0.5,那么满足最小支持度的前缀要在两个样本用户的行为序列中均出现。
先挖掘出两个样本用户的一项前缀具体如下表2所示:
表2
请参照表2,在两个行为序列中均出现过的一项前缀包括b、c、a、g、h,而d只在样本用户3中的行为序列中出现过,因此,d不满足支持度阈值。b为前缀时,在用户4的行为序列中,b后面为cafgh,在小李的行为序列中,b后面为cdaghf,因此b对应的后缀为cafgh和cdaghf,依次类推,获得各个前缀对应的后缀。
继续挖掘二项前缀,以b为例,b的后一位c在两个行为序列均出现过,二项前缀包括bc,依次类推,可以得到满足支持度阈值对应的二项前缀以及对应的后缀如下表3所示:
表3
继续挖掘三项前缀,以bc为例,bc的后缀为afgh和daghf,可以看出a在两个行为序列中均出现过,因此可以将a增加至前缀中,依次类推,获得满足支持度阈值的三项前缀和对应后缀如下表4所示:
表4
依次类推,获得满足支持度阈值对应的四项前缀以及对应的后缀如下表5所示的:
表5
依次类推,获得满足支持度阈值对应的五项前缀以及对应的后缀如下表6所示的:
表6
五项前缀 | 对应后缀 |
bcagh | f |
依次类推,获得各个频繁行为序列模式,筛选出长度为大于或等于6的频繁行为序列模式,由此得到两个样本用户的共同序列模式为bcaghf。
同理,例如样本用户5针对物品B的行为序列为AaBbC,样本用户6针对物品B的行为序列为AaBcA,按照上述过程可以获得样本用户5和样本用户6的共同序列模式为AaB。
在获得共同序列模式之后,可以将每个共同序列模式作为一个用户分群标签,将包含该共同序列模式对应的行为序列关联的样本用户划分到该用户分群中,以此类推,获得多个用户分群。
具体的,共同序列模式是在多个行为序列中出现概率较大的子序列,但是多个行为序列中依旧会存在一些没有存在该共同序列模式的行为序列,因此,服务器220在挖掘获得共同序列模式之后,服务器220可以将各个行为序列与共同序列模型进行匹配,确定包含该共同序列模式的行为序列所对应的样本用户,将这些包含共同序列模式的样本用户确定为同一用户分群。
作为一种实施例,可以对每个用户分群进行向量化编码,获得各个用户分群编码向量。
具体的,可以设置不同用户分群的唯一标识,对不同用户分群的唯一标识进行向量化编码。或者可以对每个用户分群对应的共同序列模式进行向量化编码,获得用户分群编码向量。向量化编码方式例如独热one-hot编码,或者例如词向量(word embeddings)方式对共同序列模式进行编码。
本申请实施例中,对用户分群的共同序列模式进行向量化编码,使得获得的用户分群编码向量体现了各个用户分群的部分特征,在一定程度上反应了各个用户分群的特征差异。
第二部分,S302,构建样本数据:
获取每个用户分群下的样本用户,将该样本用户的样本组合特征作为该用户分群的样本数据。
具体的,在挖掘共同序列模式,可以确定出哪些行为序列存在共同序列模式,将这些行为序列对应的样本用户特征以及样本用户对应的物品特征组合,获得样本组合特征,将各个样本组合特征归类为该用户分群下的样本数据,依次类推,获得每个用户分群下的样本数据。
在一种可能的实施例中,在构造样本组合特征之后,部分样本组合特征可能并不符合预设需求,因此可以对样本组合特征进行预处理,筛掉不符合预设需求的样本组合特征。
B1:可以删除缺失特征大于预设数量的样本组合特征。
具体的,设定缺失值过滤阈值=样本组合特征标准数据量*权重值,权重值可以根据经验值设定,可以取0.4。当服务器220确定样本组合特征缺失的特征值大于该缺失值过滤阈值时,可以删除该样本组合特征,避免某些样本组合特征缺失过多,影响训练出的模型的准确性。
例如,标准的样本组合特征标准数据量是10个,例如,依次为用户年龄+用户性别+物品A的价格+物品A+…,权重值为0.4,设定缺失值过滤阈值则为4个,样本组合特征的数据量为5个,因此该样本组合特征缺失值为5个,因此,该样本组合特征的缺失的特征值大于设定缺失值过滤阈值,因此确定该样本组合特征不符合要求,删除该样本组合特征。
B2:可以删除样本组合特征中部分异常特征值,或者直接删除异常明显的样本组合特征。
具体的,样本组合特征值某些特征值具有一定的取值范围,如果某些特征值过大或者过小,则这些特征值异常,因此可以删除该样本组合特征中异常的特征,例如删除各个样本组合特征中每项特征在前0.1%的异常值。
B3:缺失值填充:如果样本组合特征值缺失一些连续型特征,则使用这些连续型特征的均值代替缺失的连续型特征;如果样本组合特征值缺失一些离散型特征,则可以用常数填充该特征。
例如,获取样本用户在2天中每天的消费金额为100元和200元,那么可以取用户在每天的平均消费为150作为样本组合特征中的一个特征。
B4:可以对每个样本组合特征中部分或全部特征进行特征变换、特征运算、特征组合和特征衍生等中的一种或几种组合,以获得更多的特征。
具体的,特征变换例如将特征的单位变换为统一单位,特征运算例如对特征进行评分、特征加减等。该实施例中通过对特征进行不同形式的处理,可以获得更多的特征。
B4:可以对连续型特征进行分箱离散化处理,离散型特征进行独热one-hot编码。
具体的,可以对连续型特征进行离散化处理,获得一些离散特征,例如对连续型特征进行聚类等,也可以对离散型特征进行编码处理。
上述B1~B4的预处理步骤的顺序可以是任意的,本申请不做具体限制,在实际处理过程中,可以实际需求采用上述任意一种或几种组合对样本组合特征进行处理,以获得更加标准的样本数据。
例如,如前文表2~表6对应的示例,用户3和用户4针对物品A的存在共同序列模式bcagh,因此该用户分群下包括<用户3_物品A>组合1和<用户4_物品A>组合2,在对大量样本用户进行分析之后,获得的一种样本数据如下表7所示。
表7
类别 | 共同序列模式 | 样本组合特征 |
1 | bcagh | <用户3_物品A>组合1 |
1 | bcagh | <用户4_物品A>组合2 |
1 | bcagh | <用户8_物品B>组合3 |
2 | bcagh | <用户7_物品B>组合4 |
2 | AaB | <用户3_物品B>组合5 |
2 | AaB | <用户4_物品B>组合6 |
2 | AaB | <用户9_物品B>组合7 |
3 | acdhg | <用户11_物品C>组合8 |
3 | acdhg | <用户12_物品C>组合9 |
4 | … | <用户13_物品D>组合10 |
… | … | … |
N | … | <用户11_物品G>组合n |
第三部分,S303,训练物品推荐模型:
由于每个样本组合特征可能包含不同格式的特征,例如文字或数字,因此可以对样本组合特征进行向量化编码,获得每个样本组合特征向量。向量化编码的方式有多种,例如采用独热one-Hot编码、词向量编码等。在获得各个样本组合特征向量之后,服务器220可以根据各个样本组合特征向量对物品推荐模型进行训练,直到物品推荐模型的损失达到目标损失,从而获得已训练的物品推荐模型。
下面对物品推荐模型的结构进行示例说明。
在一种可能的实施例中,物品推荐模型包括第一子模型和第二子模型。
第一子模型相当于编码子模型,用于提取样本组合特征中深层特征。第二子模型相当于分类子模型,用于确定出该样本用户所属的用户分群。
作为一种实施例,请参照图4,表示物品推荐模型的结构示意图,编码子模型采用双向长短时记忆(Bi-directional Long Short-Term Memory,BI-LSTM)子模型410,多分类子模型采用间隔归一化(Additive Margin Softmax,am-softmax)子模型420。
具体的,BI-LSTM子模型用于提取样本组合特征向量的深层特征,am-softmax子模型用于对BI-LSTM子模型的输出结果进行多分类,从而确定出待推荐用户所属的用户分群。编码子模型以及am-softmax子模型的具体表达式如下:
y=Bi-LSTM(x)
其中,x表示BI-LSTM子模型的输入,y表示BI-LSTM子模型的输出。
am-softmax子模型的具体表达如下:
p=am-softmax(yW)
具体可以表达为:
p=am-softmax(<y,c1>,<y,c2>,…<y,cn>)
其中,p表示am-softmax子模型预测的样本用户可能属于各个用户分群的概率,W具体表示如下:
W=(c1,c2…cn)
其中,c1至cn依次表示各个用户分群编码向量。
作为一种实施例,请继续参照图4,BI-LSTM子模型包括多个正向LSTM单411、多个反向LSTM单元412和多个连接单元413,一正向LSTM单元411、一反向输入LSTM单元412和一连接单元413依次连接。
具体的,正向LSTM单411用于对样本组合特征向量进行正向编码,反向LSTM单元412用于对样本组合特征向量进行反向编码,连接单元413用于连接正向编码结果和反向编码结果。该实施例中,由于正向LSTM单411可以提取样本组合特征向量的前向信息,反向LSTM单元412可以提取样本组合特征向量的后向信息,使得能够提取出更加完整的特征信息。
作为一种实施例,请继续参照图4,物品推荐模型还包括全连接层(fullyconnected layers,FC)430,全连接层430用于将BI-LSTM子模型410的输出连接,并传递给am-softmax子模型420。
作为一种实施例,编码子模型可以采用LSTM子模型,LSTM子模型也可以对样本组合特征向量进行特征提取。
下面以图4中的物品推荐模型为例,对该物品推荐模型的损失函数进行示例说明,物品推荐模型的损失可以根据样本组合编码特征向量与样本用户真实所属的用户分群编码向量之间的余弦角度,和样本组合编码特征向量与样本用户真实所属的用户分群编码向量之间的角度距离之差确定的,物品推荐模型的损失函数的具体计算公式如下:
其中,θi表示y和用户分群编码向量ci之间的夹角,θi是指表示y与真实的用户分群编码向量ct之间的夹角,s表示缩放因子,s取值可以为30,m表示y和ci之间的角度距离,m可以取值为0.35。用户分群编码向量ci为多个用户分群中除了样本用户真实所属的用户分群之外的其它用户分群的用户分群编码向量。
下面以图4中的物品推荐模型为例,对物品推荐模型的训练过程进行说明。
S1,分别将每个用户分群下的样本用户的样本组合特征进行向量化编码,获得样本组合特征向量;
S2,通过BI-LSTM子模型,对样本组合特征向量进行特征提取,获得样本组合编码特征向量;
S3,通过am-softmax子模型,预测样本组合编码特征向量所属的用户分群;
S4,当am-softmax子模型的损失满足目标损失时,获得完成训练的am-softmax子模型和BI-LSTM子模型。
具体的,如前文论述,在服务器220获得每个用户分群下的样本组合特征之后,可以将这些样本组合特征转换为向量,获得样本组合特征向量。将样本组合特征向量输入到BI-LSTM子模型410中,正向LSTM单411对样本组合特征向量进行正向编码,获得正向编码结果,反向LSTM单元412对样本组合特征向量进行反向编码,获得反向编码结果,连接单元413将正向编码结果和反向编码结果连接在一起,获得样本组合编码特征向量。
然后,连接单元413将输出的样本组合编码特征向量经过全连接层430,全连接层430连接所有的特征向量,并将这些特征向量输入am-softmax子模型,am-softmax子模型预测该样本用户可能属于每个用户分群的概率,将概率满足概率阈值的用户分群确定为该样本用户所属的用户分群。例如,可以将概率大于概率阈值的用户分群确定为该样本用户所属的用户分群。
服务器220根据am-softmax子模型的输出结果,以及样本组合特征编码向量,可以确定物品推荐模型的损失函数,朝着最小化损失函数的方向进行训练,直到损失函数的结果收敛,获得已训练的物品推荐模型。
在一种可能的实施例中,S301~S303可以是周期性地执行,也就是说,服务器220可以周期性地更新物品推荐模型。
具体的,因为随着时间的不断变化,样本用户可能会发生变化,各个样本用户的用户特征以及物品特征等均可能发生变化,因此,在达到预设周期之后,服务器220可以重复执行上述S301~S303过程,从而获得更加准确的物品推荐模型。
作为一种实施例S301~S303的部分可以是其它设备执行,在其它设备训练获得物品推荐模型之后,其它设备将已训练完成的物品推荐模型发送给服务器220,服务器220直接进行使用。或者也可以是服务器220通过上述过程,获得物品推荐模型。
第四部分,S304,应用物品推荐模型。
在服务器220获得物品推荐模型之后,可以基于该推荐模型为待推荐用户进行推荐,请参照图5,推荐物品过程包括:
S501,获得待推荐用户的多个特征。
具体的,服务器220在需要为待推荐用户进行物品推荐时,可以获得待推荐用户的物品特征和用户特征,待推荐用户的物品特征和用户特征的具体内容可以参照前文论述的内容,此处不再赘述。服务器220组合物品特征和用户特征,从而获得待推荐用户的多个特征。
S502,从多个用户分群中,根据组合特征确定待推荐用户所属的目标用户分群。
C1:
服务器220可以通过前文论述的物品推荐模型,确定待推荐用户所属的用户分群。
具体的,服务器220可以对组合特征向量进行向量化编码,获得组合特征向量;对组合特征向量进行特征提取,获得组合编码特征向量;确定组合编码特征向量属于多个用户分群中每个分群的概率。
C2:
服务器220可以计算组合编码特征向量与各个用户分群编码向量的相似度,将组合编码特征向量与用户分群编码向量之间的相似度视为该待推荐用户属于该用户分群的概率。确定相似度的方式可以有很多种,例如确定组合编码特征向量与各个用户分群编码向量之间的余弦相似度等。
在获得待推荐用户属于各个用户分群的概率之后,可以将概率满足阈值的用户分群确定为待推荐用户所属的目标用户分群。
作为一种实施例,比如当用户分群对应的消费数据较多的情况下,可以将概率大于概率阈值的所有用户分群均确定该待推荐用户所属的用户分群,例如可以将概率从大到小依次排列,将排名在前的TOPN确定为待推荐用户所属的目标用户分群,N取小于用户分群总数的正整数,例如N可以取5。比如当用户分群对应的消费数据较小的情况下,服务器220也可以将最大概率对应的用户分群确定该待推荐用户对应的目标用户分群。
S503,为待推荐用户推荐确定出的目标用户分群关联的目标物。
具体的,如前文论述的内容,每个用户分群包含不同意的样本用户,服务器220可以将样本用户所消费偏好的物品推荐给待推荐用户,也可以将该用户分群下,样本用户发生过转化行为的物品均推荐给待推荐用户。
作为一种实施例,可以将本申请涉及的物品推荐方法进行打包成服务,其它用户或企业可以通过API接口调用该服务,实现前文论述的物品推荐方法。
在介绍完本申请实施例涉及的物品推荐方法的原理之后,下面结合图2所示的应用场景,以服务器220为物品推荐设备100为例,对本申请实施例涉及的物品推荐方法进行举例说明。
请参照图6,表示本申请实施例提供的一种物品推方法的交互过程图,该方法包括:
S601,终端设备210响应于待推荐用户的请求推荐操作,生成推荐请求。
具体的,当待推荐用户打开客户端,或者客户端支持为用户推荐,当待推荐用户进行推荐操作时,终端设备210响应于待推荐用户的操作,生成推荐请求。该推荐请求中可以携带待推荐用户的用户标识,以便于服务器220后续根据该用户标识调用数据库230中与该待推荐用户相关的数据。
例如,请参照图7,表示一种购物类客户端的显示界面,待推荐用户在打开该客户端之后,终端设备210可以显示各种分类下的热销商品,以及商品的基本信息,例如商品的价格、照片和名称等。待推荐用户如果想要被推荐一些符合自己需求的产品,可以点击界面上的推荐控件700,终端设备210接收到待推荐用户进行的请求推荐的操作信息。
S602,终端设备210将推荐请求发送给服务器220。
S603,根据推荐请求,确定向待推荐用户的推荐结果。
具体的,服务器220在接收到推荐请求之后,可以根据待推荐请求中的用户标识,获取待推荐用户的相关信息,生成组合特征,根据组合特征确定待推荐用户所属的用户分群,为该待推荐用户推荐与用户分群关联的目标物。其中,组合特征以及如何根据组合特征确定待推荐用户所属的用户分群可以参照前文论述的内容,此处不再赘述。
当待推荐用户为新用户时,可以基于该待推荐用户所属的用户分群,为该待推荐用户推荐相关的目标物。当待推荐用户为之前的样本用户时,可以基于该待推荐用户,为该待推荐用户推荐一些可能会购买的物品。
S604,服务器220将推荐结果发送给终端设备210。
具体的,服务器220在生成推荐结果之后,可以将这些推荐结果发送给终端设备210。例如服务器220在获得推荐结果之后,可以将推荐结果中目标物的标识发送给终端设备210。
例如,服务器220确定待推荐用户属于用户分群1,用户分群1的各个样本用户关联的物品有一些电子产品,服务器220可以将这些电子产品的标识发送给终端设备210。
S605,终端设备210显示推荐结果。
终端设备210在接收到目标物的标识之后,显示对应的目标物。
例如,请参照图8,终端设备210在接收到各类电子产品的标识之后,从数据库230中获取各类产品的基本信息,例如价格、照片等,终端设备210显示相应的产品,以便于待推荐用户可以快速找到符合自己需求的物品。
在一种可能的实施例中,图6中所示的物品推荐方法可以由终端设备210执行的,终端设备210中可以预存有已训练完成的物品推荐模型,在需要针对待推荐用户进行推荐时,终端设备210可以从数据库230中获取待推荐用户的相关数据,为待推荐用户进行相应的推荐结果。
基于同一发明构思,本申请实施例提供一种物品推荐装置,该物品推荐装置相当于设置在前文论述的物品推荐设备100中,请参照图9,该物品推荐装置900包括:
获得模块901,用于获得待推荐用户的多个特征;其中,所述多个特征用于表示待推荐用户的用户特征和与所述待推荐用户关联的物品特征;
确定模块902,用于根据所述多个特征,从多个用户分群中,确定所述待推荐用户所属的目标用户分群;其中,每个用户分群是多个样本用户中针对目标物的行为序列满足共性条件的样本用户进行聚类获得的,每个样本用户是针对目标物具有转化行为的用户;
推荐模块903,用于为所述待推荐用户推荐所述目标用户分群关联的目标物。
在一种可能的实施例中,多个用户分群中每个用户分群是通过如下步骤确定的:
获得多个样本用户中各个样本用户分别针对每类目标物的行为序列;
针对每类目标物,确定多个行为序列的共同序列模式;其中,共同序列模式是指在多个行为序列中出现次数满足预设次数,且长度满足预设长度的子序列;
针对多类目标物,将存在共同序列模式的样本用户划分为一个用户分群。
在一种可能的实施例中,多个用户分群中每个用户分群是通过如下步骤确定的:
获得每个样本用户针对各类目标物的行为序列;
针对每个样本用户,确定多个行为序列的共同序列模式;其中,共同序列模式是指在多个行为序列中出现次数满足预设次数,且长度满足预设长度的子序列;
针对多个样本用户,将存在相同的共同序列模式的样本用户划分为一个用户分群。
在一种可能的实施例中,多个行为序列的共同序列模式通过如下步骤获得的:
递归挖掘多个行为序列中满足支持度阈值的前缀;其中,支持度阈值是指在多个行为序列中出现的次数与多个行为序列的个数的比值;
将每个前缀和每个前缀关联的后缀组合,获得多个频繁行为序列模式集合;
将频繁行为序列模式集合中满足预设条件的频繁行为序列模式确定为共同序列模式。
在一种可能的实施例中,每个行为序列包括以下序列中的一种或几种的组合:
样本用户针对目标物进行的浏览行为序列、样本用户针对目标物进行的购买行为序列、或样本用户针对目标物进行操作的行为时间序列。
在一种可能的实施例中,确定模块902具体用于:
对多个特征进行向量化编码,获得组合特征向量;
提取组合特征向量的特征,获得组合编码特征向量;
确定组合编码特征向量属于多个用户分群中每个用户分群的概率;
将概率满足概率阈值的用户分群确定为待推荐用户所属的目标用户分群。
在一种可能的实施例中,确定模块902具体用于:
对组合特征向量进行正向编码处理,获得前向编码向量;
对组合特征向量进行反向编码处理,获得后向编码向量;
对前向编码向量和后向编码向量进行组合,获得组合编码特征向量。
在一种可能的实施例中,确定模块902具体用于:
通过已训练的物品推荐模型,从多个用户分群中,根据组合特征确定待推荐用户所属的目标用户分群;其中,物品推荐模型是根据每个用户分群下的各个样本用户的样本组合特征训练得到的。
在一种可能的实施例中,物品推荐模型包括第一子模型和第二子模型,以及,
第一子模型和第二子模型是通过如下步骤共同训练得到的:
分别对每个用户分群下的样本用户的样本组合特征进行向量化编码,获得样本组合特征向量;
通过第一子模型,对样本组合特征向量进行特征提取,获得样本组合编码特征向量;
通过第二子模型,预测样本组合编码特征向量所属的用户分群;
当第二子模型的损失满足目标损失时,获得完成训练的第一子模型和第二子模型;其中,物品推荐模型的损失是根据样本组合编码特征向量与样本用户真实所属的用户分群编码向量确定出来的。
在一种可能的实施例中,物品推荐模型的损失是根据样本组合编码特征向量与样本用户真实所属的用户分群编码向量之间的余弦角度,和样本组合编码特征向量与样本用户真实所属的用户分群编码向量之间的角度距离之差确定的。
基于同一发明构思,本申请实施例提供一种计算机设备1000,请参照图10,计算机设备以通用计算设备的形式表现。计算机设备1000的组件可以包括但不限于:至少一个处理器1010、至少一个存储器1020、连接不同系统组件(包括处理器1010和存储器1020)的总线1030。
总线1030表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器1020可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1021和/或高速缓存存储器1022,还可以进一步包括只读存储器(ROM)1023。
存储器1020还可以包括具有一组(至少一个)程序模块1025的程序/实用工具1026,这样的程序模块1025包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。处理器1010用于执行存储器1020存储的程序指令等实现论述的物品推荐方法,或用于实现前文中服务器220或终端设备210的功能。
计算机设备1000也可以与一个或多个外部设备1040(例如键盘、指向设备等)通信,还可与一个或者多个使得终端设备210能与计算机设备1000交互的设备通信,和/或与使得该计算机设备1000能与一个或多个其它设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,计算机设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与用于计算机设备1000的其它模块通信。应当理解,尽管图中未示出,可以结合计算机设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
基于同一发明构思,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行前文论述的物品推荐方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种物品推荐方法,其特征在于,包括:
获得待推荐用户的多个特征;其中,所述多个特征用于表示待推荐用户的用户特征和与所述待推荐用户关联的物品特征;
根据所述多个特征,从多个用户分群中,确定所述待推荐用户所属的目标用户分群;其中,每个用户分群是多个样本用户中针对目标物的行为序列满足共性条件的样本用户进行聚类获得的,每个样本用户是针对目标物具有转化行为的用户;
为所述待推荐用户推荐所述目标用户分群关联的目标物。
2.如权利要求1所述的方法,其特征在于,所述多个用户分群中每个用户分群是通过如下步骤确定的:
获得多个样本用户中各个样本用户分别针对每类目标物的行为序列;
针对每类目标物,确定多个行为序列的共同序列模式;其中,所述共同序列模式是指在多个行为序列中出现次数满足预设次数,且长度满足预设长度的子序列;
针对多类目标物,将存在共同序列模式的样本用户划分为一个用户分群。
3.如权利要求1所述的方法,其特征在于,所述多个用户分群中每个用户分群是通过如下步骤确定的:
获得每个样本用户针对各类目标物的行为序列;
针对每个样本用户,确定多个行为序列的共同序列模式;其中,所述共同序列模式是指在多个行为序列中出现次数满足预设次数,且长度满足预设长度的子序列;
针对多个样本用户,将存在相同的共同序列模式的样本用户划分为一个用户分群。
4.如权利要求2或3所述的方法,其特征在于,多个行为序列的共同序列模式通过如下步骤获得的:
递归挖掘多个行为序列中满足支持度阈值的前缀;其中,所述支持度阈值是指在多个行为序列中出现的次数与多个行为序列的个数的比值;
将每个前缀和每个前缀关联的后缀组合,获得多个频繁行为序列模式集合;
将频繁行为序列模式集合中满足预设条件的频繁行为序列模式确定为共同序列模式。
5.如权利要求1所述的方法,其特征在于,每个行为序列包括以下序列中的一种或几种的组合:
样本用户针对目标物进行的浏览行为序列、样本用户针对目标物进行的购买行为序列、或样本用户针对目标物进行操作的行为时间序列。
6.如权利要求1所述的方法,其特征在于,根据所述组合特征,从多个用户分群中,确定所述待推荐用户所属的目标用户分群,包括:
对所述多个特征进行向量化编码,获得组合特征向量;
提取所述组合特征向量的特征,获得组合编码特征向量;
确定所述组合编码特征向量属于多个用户分群中每个用户分群的概率;
将概率满足概率阈值的用户分群确定为待推荐用户所属的目标用户分群。
7.如权利要求6所述的方法,其特征在于,提取所述组合特征向量的特征,获得组合编码特征向量,包括:
对所述组合特征向量进行正向编码处理,获得前向编码向量;
对所述组合特征向量进行反向编码处理,获得后向编码向量;
对所述前向编码向量和所述后向编码向量进行组合,获得组合编码特征向量。
8.如权利要求1~3或5~7中任一项所述的方法,其特征在于,根据所述组合特征,从多个用户分群中,确定所述待推荐用户所属的用户分群,包括:
根据所述多个特征,通过已训练的物品推荐模型,从多个用户分群中,确定所述待推荐用户所属的目标用户分群;其中,所述物品推荐模型是根据每个用户分群下的各个样本用户的样本组合特征训练得到的。
9.如权利要求8所述的方法,其特征在于,所述物品推荐模型包括第一子模型和第二子模型,以及,
所述第一子模型和所述第二子模型是通过如下步骤共同训练得到的:
分别对每个用户分群下的样本用户的样本组合特征进行向量化编码,获得样本组合特征向量;
通过第一子模型,对样本组合特征向量进行特征提取,获得样本组合编码特征向量;
通过第二子模型,预测样本组合编码特征向量所属的用户分群;
当第二子模型的损失满足目标损失时,获得完成训练的第一子模型和第二子模型。
10.如权利要求9所述的方法,其特征在于,所述第二子模型的损失是根据样本组合编码特征向量与样本用户真实所属的用户分群编码向量之间的余弦角度,和样本组合编码特征向量与样本用户真实所属的用户分群编码向量之间的角度距离之差确定的。
11.一种物品推荐装置,其特征在于,包括:
获得模块,用于获得待推荐用户的多个特征;其中,所述多个特征用于表示待推荐用户的用户特征和与所述待推荐用户关联的物品特征;
确定模块,用于根据所述多个特征,从多个用户分群中,确定所述待推荐用户所属的目标用户分群;其中,每个用户分群是多个样本用户中针对目标物的行为序列满足共性条件的样本用户进行聚类获得的,每个样本用户是针对目标物具有转化行为的用户;
推荐模块,用于为所述待推荐用户推荐所述目标用户分群关联的目标物。
12.如权利要求11所述的装置,其特征在于,所述多个用户分群中每个用户分群是通过如下步骤确定的:
获得多个样本用户中各个样本用户分别针对每类目标物的行为序列;
针对每类目标物,确定多个行为序列的共同序列模式;其中,所述共同序列模式是指在多个行为序列中出现次数满足预设次数,且长度满足预设长度的子序列;
针对多类目标物,将存在共同序列模式的样本用户划分为一个用户分群。
13.如权利要求11所述的装置,其特征在于,所述多个用户分群中每个用户分群是通过如下步骤确定的:
获得每个样本用户针对各类目标物的行为序列;
针对每个样本用户,确定多个行为序列的共同序列模式;其中,所述共同序列模式是指在多个行为序列中出现次数满足预设次数,且长度满足预设长度的子序列;
针对多个样本用户,将存在相同的共同序列模式的样本用户划分为一个用户分群。
14.一种计算机设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1~10中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1~10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010040903.8A CN111259263B (zh) | 2020-01-15 | 2020-01-15 | 一种物品推荐方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010040903.8A CN111259263B (zh) | 2020-01-15 | 2020-01-15 | 一种物品推荐方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111259263A true CN111259263A (zh) | 2020-06-09 |
CN111259263B CN111259263B (zh) | 2023-04-18 |
Family
ID=70945145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010040903.8A Active CN111259263B (zh) | 2020-01-15 | 2020-01-15 | 一种物品推荐方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111259263B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738812A (zh) * | 2020-08-21 | 2020-10-02 | 深圳索信达数据技术有限公司 | 一种基于用户群微细分的信息推送方法及系统 |
CN111782966A (zh) * | 2020-06-30 | 2020-10-16 | 北京百度网讯科技有限公司 | 用户分群方法、装置、计算机设备和介质 |
CN112669096A (zh) * | 2021-03-16 | 2021-04-16 | 蚂蚁智信(杭州)信息技术有限公司 | 对象推荐模型训练方法以及装置 |
CN113205183A (zh) * | 2021-04-23 | 2021-08-03 | 北京达佳互联信息技术有限公司 | 物品推荐网络训练方法、装置、电子设备及存储介质 |
CN113744011A (zh) * | 2020-06-17 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 物品搭配方法和物品搭配装置 |
CN114663200A (zh) * | 2022-05-23 | 2022-06-24 | 中国平安财产保险股份有限公司 | 一种产品推荐方法、装置、电子设备以及存储介质 |
TWI776742B (zh) * | 2021-11-29 | 2022-09-01 | 愛酷智能科技股份有限公司 | 在資訊交流平台中對使用者行為進行分析的系統 |
WO2023011382A1 (zh) * | 2021-07-31 | 2023-02-09 | 华为技术有限公司 | 推荐方法、推荐模型训练方法及相关产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609523A (zh) * | 2012-02-10 | 2012-07-25 | 上海视畅信息科技有限公司 | 基于物品分类和用户分类的协同过滤推荐算法 |
CN107016126A (zh) * | 2017-05-12 | 2017-08-04 | 西南交通大学 | 一种基于序列模式挖掘的多用户模型移动轨迹预测方法 |
CN108230057A (zh) * | 2016-12-09 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 一种智能推荐方法及系统 |
CN109783730A (zh) * | 2019-01-03 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 产品推荐方法、装置、计算机设备和存储介质 |
US20190179858A1 (en) * | 2017-12-11 | 2019-06-13 | Facebook, Inc. | Fast Indexing with Graphs and Compact Regression Codes on Online Social Networks |
CN109960761A (zh) * | 2019-03-28 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 信息推荐方法、装置、设备及计算机可读存储介质 |
CN110598127A (zh) * | 2019-09-05 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种群组推荐方法及装置 |
-
2020
- 2020-01-15 CN CN202010040903.8A patent/CN111259263B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609523A (zh) * | 2012-02-10 | 2012-07-25 | 上海视畅信息科技有限公司 | 基于物品分类和用户分类的协同过滤推荐算法 |
CN108230057A (zh) * | 2016-12-09 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 一种智能推荐方法及系统 |
CN107016126A (zh) * | 2017-05-12 | 2017-08-04 | 西南交通大学 | 一种基于序列模式挖掘的多用户模型移动轨迹预测方法 |
US20190179858A1 (en) * | 2017-12-11 | 2019-06-13 | Facebook, Inc. | Fast Indexing with Graphs and Compact Regression Codes on Online Social Networks |
CN109783730A (zh) * | 2019-01-03 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 产品推荐方法、装置、计算机设备和存储介质 |
CN109960761A (zh) * | 2019-03-28 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 信息推荐方法、装置、设备及计算机可读存储介质 |
CN110598127A (zh) * | 2019-09-05 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种群组推荐方法及装置 |
Non-Patent Citations (2)
Title |
---|
CHIEH-YUAN TSAI ET AL.: "A Location-Item-Time sequential pattern mining algorithm for route recommendation" * |
刘丹丹: "基于在线学习平台的学习行为数据模型研究" * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113744011A (zh) * | 2020-06-17 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 物品搭配方法和物品搭配装置 |
CN111782966A (zh) * | 2020-06-30 | 2020-10-16 | 北京百度网讯科技有限公司 | 用户分群方法、装置、计算机设备和介质 |
CN111782966B (zh) * | 2020-06-30 | 2023-07-28 | 北京百度网讯科技有限公司 | 用户分群方法、装置、计算机设备和介质 |
CN111738812A (zh) * | 2020-08-21 | 2020-10-02 | 深圳索信达数据技术有限公司 | 一种基于用户群微细分的信息推送方法及系统 |
CN111738812B (zh) * | 2020-08-21 | 2020-12-08 | 深圳索信达数据技术有限公司 | 一种基于用户群微细分的信息推送方法及系统 |
CN112669096A (zh) * | 2021-03-16 | 2021-04-16 | 蚂蚁智信(杭州)信息技术有限公司 | 对象推荐模型训练方法以及装置 |
CN113205183A (zh) * | 2021-04-23 | 2021-08-03 | 北京达佳互联信息技术有限公司 | 物品推荐网络训练方法、装置、电子设备及存储介质 |
WO2023011382A1 (zh) * | 2021-07-31 | 2023-02-09 | 华为技术有限公司 | 推荐方法、推荐模型训练方法及相关产品 |
TWI776742B (zh) * | 2021-11-29 | 2022-09-01 | 愛酷智能科技股份有限公司 | 在資訊交流平台中對使用者行為進行分析的系統 |
CN114663200A (zh) * | 2022-05-23 | 2022-06-24 | 中国平安财产保险股份有限公司 | 一种产品推荐方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111259263B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111259263B (zh) | 一种物品推荐方法、装置、计算机设备及存储介质 | |
US10783361B2 (en) | Predictive analysis of target behaviors utilizing RNN-based user embeddings | |
CN111274330B (zh) | 一种目标对象确定方法、装置、计算机设备及存储介质 | |
CN103329151B (zh) | 基于话题聚类的推荐 | |
US8484083B2 (en) | Method and apparatus for targeting messages to users in a social network | |
Ghasemi et al. | Neural text similarity of user reviews for improving collaborative filtering recommender systems | |
CN105630856A (zh) | 在线用户简档的自动聚合 | |
Xu et al. | A personalized information recommendation system for R&D project opportunity finding in big data contexts | |
CN110110225B (zh) | 基于用户行为数据分析的在线教育推荐模型及构建方法 | |
CN102708130A (zh) | 计算用户微细分以用于要约匹配的可扩展引擎 | |
Guo et al. | An effective and economical architecture for semantic-based heterogeneous multimedia big data retrieval | |
Hornick et al. | Extending recommender systems for disjoint user/item sets: The conference recommendation problem | |
CN106599194A (zh) | 标签确定方法及装置 | |
CN111429161B (zh) | 特征提取方法、特征提取装置、存储介质及电子设备 | |
US20220374329A1 (en) | Search and recommendation engine allowing recommendation-aware placement of data assets to minimize latency | |
Kianian et al. | Semantic community detection using label propagation algorithm | |
Nasir et al. | Improving e-commerce product recommendation using semantic context and sequential historical purchases | |
WO2023284516A1 (zh) | 基于知识图谱的信息推荐方法、装置、设备、介质及产品 | |
Nazari et al. | Scalable and data-independent multi-agent recommender system using social networks analysis | |
Luo et al. | DeepAttr: Inferring demographic attributes via social network embedding | |
CN116521937A (zh) | 视频表单的生成方法、装置、设备及存储介质、程序产品 | |
CN111460300A (zh) | 网络内容推送方法、装置及存储介质 | |
CN113052653A (zh) | 一种金融产品内容推荐方法、系统及计算机可读存储介质 | |
Bonomo et al. | A semantic approach for user-brand targeting in on-line social networks | |
Sun et al. | Leveraging user profiling in click-through rate prediction based on Zhihu data |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40024716 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |