CN111026977B - 信息推荐方法、装置及存储介质 - Google Patents

信息推荐方法、装置及存储介质 Download PDF

Info

Publication number
CN111026977B
CN111026977B CN201911302507.1A CN201911302507A CN111026977B CN 111026977 B CN111026977 B CN 111026977B CN 201911302507 A CN201911302507 A CN 201911302507A CN 111026977 B CN111026977 B CN 111026977B
Authority
CN
China
Prior art keywords
user
feature vector
information
objects
determining
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
Application number
CN201911302507.1A
Other languages
English (en)
Other versions
CN111026977A (zh
Inventor
余志伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911302507.1A priority Critical patent/CN111026977B/zh
Publication of CN111026977A publication Critical patent/CN111026977A/zh
Application granted granted Critical
Publication of CN111026977B publication Critical patent/CN111026977B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering

Abstract

本申请实施例提供一种信息推荐方法、装置及存储介质,其中,所述方法包括:确定第一用户互动过的对象集合;根据所述对象集合中每一对象的权重和对应对象的特征向量,确定所述第一用户的特征向量;获取第二用户集合中的每一第二用户的特征向量;根据所述第一用户的特征向量和所述第二用户的特征向量,在所述第二用户集合中确定所述第一用户的相似用户;将所述相似用户的互动信息作为待推荐信息,推荐给所述第一用户。通过本申请,在构造相似用户时,不仅能够降低计算量和内存消耗量,而且能够准确的确定出用户的相似用户,进而实现对用户进行准确的信息推荐。

Description

信息推荐方法、装置及存储介质
技术领域
本申请实施例涉及互联网技术领域,涉及但不限于一种信息推荐方法、装置及存储介质。
背景技术
随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载的时代,由于信息量的雪崩式增加,如何在大量的信息中选择出更符合用户兴趣习惯的信息,并将这些信息优先推荐给用户,则是急需解决的问题。然而,在对用户进行信息推荐时,通常是给用户推荐和他兴趣相似的其他用户所关注的信息,那么,在进行信息推荐之前,首先需要构建用户的相似用户。
目前,构建相似用户的方法主要包括以下两种:第一种,采用基于用户的协同过滤算法(UserCF,User Based Collaborative Filtering)构建用户的两两权重对,以确定用户的相似用户;第二种,采用节点向量化(Node2vec,Node to vector)的方式构造用户和信息二部图的方式训练出用户的特征向量,从而确定用户的相似用户。
但是,UserCF的方式在用户规模量较大时计算量和内存消耗量非常大,而Node2vec的方式得出来的结果过于扩散,不能准确确定出用户的相似用户。
发明内容
本申请实施例提供一种信息推荐方法、装置及存储介质,在构造相似用户时,不仅能够降低计算量和内存消耗量,而且能够准确的确定出用户的相似用户,进而实现对用户进行准确的信息推荐。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种信息推荐方法,包括:
确定第一用户互动过的对象集合;
根据所述对象集合中每一对象的权重和对应对象的特征向量,确定所述第一用户的特征向量;
获取第二用户集合中的每一第二用户的特征向量,其中,所述第二用户包括以下至少之一:与所述对象集合中的对象互动过的用户、与所述对象集合中的对象未互动过的用户;
根据所述第一用户的特征向量和所述第二用户的特征向量,在所述第二用户集合中确定所述第一用户的相似用户;
将所述相似用户的互动信息作为待推荐信息,推荐给所述第一用户。
本申请实施例提供一种信息推荐装置,包括:
第一确定模块,用于确定第一用户互动过的对象集合;
第二确定模块,用于根据所述对象集合中每一对象的权重和对应对象的特征向量,确定所述第一用户的特征向量;
获取模块,用于获取第二用户集合中的每一第二用户的特征向量,其中,所述第二用户包括以下至少之一:与所述对象集合中的对象互动过的用户、与所述对象集合中的对象未互动过的用户;
第三确定模块,用于根据所述第一用户的特征向量和所述第二用户的特征向量,在所述第二用户集合中确定所述第一用户的相似用户;
推荐模块,用于将所述相似用户的互动信息作为待推荐信息,推荐给所述第一用户。
本申请实施例提供一种信息推荐设备,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的方法。
本申请实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现上述的方法。
本申请实施例具有以下有益效果:
由于在确定第一用户的相似用户时,是根据第一用户互动过的对象集合中每一对象的权重和对应对象的特征向量,确定所述第一用户的特征向量;进而根据第一用户的特征向量和第二用户集合中的每一第二用户的特征向量,在所述第二用户集合中确定所述第一用户的相似用户。如此,根据对象的权重和对应对象的特征向量确定第一用户的特征向量,并基于第一用户的特征向量和第二用户的特征向量来确定第一用户的相似用户,不仅能够降低整个过程的计算量和内存消耗量,而且能够准确的确定出第一用户的相似用户,进而实现对第一用户进行准确的信息推荐,提高用户体验。
附图说明
图1A是相关技术中采用Node2vec的方式构造用户和书籍二部图的示意图;
图1B是本申请实施例提供的信息推荐系统的一个可选的架构示意图;
图2A是本申请实施例提供的信息推荐系统应用于区块链系统的一个可选的结构示意图;
图2B是本申请实施例提供的区块结构的一个可选的示意图;
图3是本申请实施例提供的服务器的结构示意图;
图4是本申请实施例提供的信息推荐方法的一个可选的流程示意图;
图5是本申请实施例提供的信息推荐方法的一个可选的流程示意图;
图6是本申请实施例提供的信息推荐方法的一个可选的流程示意图;
图7是本申请实施例提供的信息推荐方法的一个可选的流程示意图;
图8是本申请实施例提供的信息推荐方法的一个可选的流程示意图;
图9是本申请实施例提供的相似用户匹配网络模型的训练方法的流程示意图;
图10是本申请实施例提供的计算用户兴趣向量的实现方法示意图;
图11是本申请实施例加入书籍热度权重惩罚和未加入书籍热度权重惩罚的结果对比图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)召回:是指向用户粗选一批待推荐的商品,相当于粗排序。也就是从全局的项目库中(例如,可以是信息库、商品库、视频库等项目库)选取和当前被推荐用户相关的一部分项目作为候选集。召回是整个推荐过程中进行搜索中的第一步骤,它的输出可以作为后续步骤(例如,排序、策略调整等)的输入,最终展示给用户的项目或信息是这个候选集中的子集。
2)推荐系统:是一种信息过滤系统,用于预测用户对项目的评分或偏好。推荐系统可以把那些最终会在用户和项目之间产生的连接找出来,并且根据已经存在的连接预测未来的连接。
3)用户特征向量:是用于描述用户的兴趣和习惯等用户属性信息的特征信息,所述用户特征向量能够准确的刻画出用户画像,进而为后续的信息推荐过程提供推荐依据。
为了更好地理解本申请实施例中提供的信息推荐方法,首先对相关技术中的信息推荐方法进行说明:
相关技术中,通常采用以下两种方式构建相似用户:
第一种:采用UserCF方式构造相似用户。UserCF方式利用行为的相似度计算用户之间兴趣的相似度。例如,给定用户u和用户v,令N(u)表示用户u感兴趣的物品集合,N(v)表示用户v感兴趣的物品集合,那么可以通过以下余弦相似度公式(1-1)计算用户u和用户v之间的兴趣相似度Wuv
Figure BDA0002322209620000051
例如,当用户u对物品{a,b,d}有过互动行为,用户v对物品{a,c}有过互动行为,利用上述余弦相似度公式(1-1)计算用户u和用户v的兴趣相似度为:
Figure BDA0002322209620000052
同理,还可以采用上述余弦相似度公式(1-1)计算用户u与任一其他用户之间的兴趣相似度,最后,根据用户u与每一其他用户之间的兴趣相似度,将具有最高兴趣相似度对应的其他用户确定为用户u的相似用户。也就是说,采用UserCF方式构建相似用户时,需要构建用户两两之间的权重对。
但是,在用户规模性为n的情况下,计算量和内存消耗的时间复杂度都是O(n^2),那么,在n大于百万的时候,一般计算资源基本没有办法处理,也就是说,当用户规模性较大时,计算量和内存消耗都非常大,计算效率就很低。并且,权重的构造方式难以达到一个统一的标准,例如,在书籍阅读相关的应用中进行书籍推荐时,有人认为是共同阅读的书籍次数好,有人则认为是共同的阅读时长好,当然这两种方式在不同的应用场景都可以取得不错的效果,但是到底采用哪一种方法,相关技术中并不能达到一个统一的标准。
第二种:采用Node2vec方式构造相似用户。相关技术中,基于Node2vec的方式构造用户和信息二部图(也称二分图)的方式,来训练出用户的特征向量,这种方法不用构造巨大的权重矩阵。这里继续以书籍阅读相关的应用中进行书籍推荐为例进行说明。
这里,首先对二部图进行解释,设G=(V,E)是一个无向图,如顶点V可以分割为两个互不相交的子集V1和V2之并,并且该无向图中每条边依附的两个顶点都分属于这两个不同的子集,则称无向图G为二分图,即二部图。该二分图可以记为G=(V1,V2,E)。
如图1A所示,是相关技术中采用Node2vec的方式构造用户和书籍二部图的示意图,由两个互不相交的点集U和D(其中点集U中包括至少一个用户101,点集U中包括至少一本书籍102),以及连接U和D的一些无向边(其中,U和D内部没有边连接不同的节点)构成的一张图,即为二部图100,该二部图100就是用户和书籍的二部图。相关技术中,基于Node2vec构造用户和书籍二部图的方式,并根据文本向量化(Word2vec,Word to vector)训练出用户的特征向量,再基于用户的特征向量确定用户的相似用户。显然,这种方法不用构造巨大的权重矩阵。
但是,用可视化工具会发现出来的相似用户的结果过于的扩散,关联的用户兴趣点差别比较大,并且,在上线之后发现信息推荐的效果并不是太好。
基于相关技术中所存在的上述至少一个问题,本申请实施例提供一种信息推荐方法,采用用户的阅读兴趣向量来构造用户特征向量的方式,既能解决结果过于扩散的问题,也能解决计算量过大的问题,并且,这种方法在信息流推荐上线之后作为召回的方式,也取得了非常不错的效果。在本申请实施例的信息推荐方法中,根据每一用户互动过的对象集合中每一对象的权重和对应对象的特征向量,确定每一用户的特征向量;然后,根据第一用户的特征向量和第二用户的特征向量,在第二用户集合中确定第一用户的相似用户;将所述相似用户的互动信息作为待推荐信息,推荐给所述第一用户。如此,根据对象的权重和对应对象的特征向量确定每一用户的特征向量,并基于第一用户的特征向量和第二用户的特征向量来确定第一用户的相似用户,不仅能够降低整个过程的计算量和内存消耗量,而且能够准确的确定出第一用户的相似用户,进而实现对第一用户进行准确的信息推荐,提高用户体验。
另外,本申请实施例提供的方案还涉及人工智能的网络模型训练技术和信息推荐技术,比如,可以通过人工智能技术实现训练用于确定每一用户的特征向量,并在所述第二用户集合中确定所述第一用户的相似用户的相似用户匹配网络模型,将在下文进行说明。
这里,需要说明的是,人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
下面说明本申请实施例提供的信息推荐设备的示例性应用,本申请实施例提供的信息推荐设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的终端,也可以实施为服务器。下面,将说明信息推荐设备实施为服务器时的示例性应用。
参见图1B,图1B是本申请实施例提供的信息推荐系统10的一个可选的架构示意图。为实现支撑一个信息推荐应用(例如书籍阅读应用),信息推荐系统10包括终端(示例性示出了第一用户的第一终端100-1、一个第二用户的第二终端100-2和另一第二用户的第二终端100-3)通过网络200连接所述信息推荐应用的客户端对应的服务器300,第一终端100-1获取第一用户的互动数据,每一第二终端获取第二用户的互动数据,并通过网络200向服务器300发送所述互动数据,在需要对第一用户的第一终端100-1进行信息推荐时,服务器300首先统计收集到的第一用户的互动和每一第二用户的互动数据,确定第一用户互动过的至少一个对象,得到第一用户对应的对象集合,根据所述第一用户的对象集合中每一对象的权重和对应对象的特征向量,确定第一用户的特征向量,同时,确定每一第二用户互动过的至少一个对象,得到第二用户对应的对象集合,根据所述第二用户的对象集合中每一对象的权重和对应对象的特征向量,确定每一第二用户的特征向量;然后,根据所述第一用户的特征向量和第二用户的特征向量,在多个第二用户形成的第二用户集合中确定所述第一用户的相似用户,如图1B所示的,可以将第二终端100-2对应的第二用户确定为所述第一用户的相似用户;最后,获取第二终端100-2对应的第二用户的互动信息,并将所述互动信息作为待推荐信息,推荐给第一终端100-1对应的第一用户。第一终端100-1在接收到所述待推荐信息后,可以在当前界面110-1上显示所述待推荐信息。本申请实施例中,网络200可以是广域网或者局域网,又或者是二者的组合。
本申请实施例涉及的信息推荐系统10也可以是区块链系统的分布式系统101,参见图2A,图2A是本申请实施例提供的信息推荐系统10应用于区块链系统的一个可选的结构示意图,其中,所述分布式系统101可以是由多个节点102(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端103形成的分布式节点,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,TransmissionControl Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图2A示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币。
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
4)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(PoW,Proof of Work)、权益证明(PoS,Pr oof of Stake)、股份授权证明(DPoS,Delegated Proof-of-Stake)、消逝时间量证明(PoET,Proof of Elapsed Time)等。
参见图2B,图2B是本申请实施例提供的区块结构(Block Structure)的一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
参见图3,图3是本申请实施例提供的服务器300的结构示意图,图3所示的服务器300包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。服务器300中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统340。
处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口330还包括一个或多个输入装置332,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器350中的一种信息推荐装置354,该信息推荐装置354可以是服务器300中的信息推荐装置,其可以是程序和插件等形式的软件,包括以下软件模块:第一确定模块3541、第二确定模块3542、获取模块3543、第三确定模块3544和推荐模块3545,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的信息推荐方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
下面将结合本申请实施例提供的服务器300的示例性应用和实施,说明本申请实施例提供的信息推荐方法。参见图4,图4是本申请实施例提供的信息推荐方法的一个可选的流程示意图,将结合图4示出的步骤进行说明。
步骤S401,确定第一用户互动过的对象集合。
这里,所述对象集合中包括至少一个对象,所述对象集合中的对象是第一用户互动过的对象。所述互动包括但不限于以下至少之一:浏览、购买、点击、评分、评论、点赞、阅读和分享等。对应地,所述对象可以包括但不限于以下至少之一信息流:商品、视频、新闻、文章等。
本申请实施例中,可以实时的获取第一用户的互动行为,或者每隔预设时长统计一次第一用户的互动行为,当第一用户产生上述任意一种互动行为时,存储第一用户互动的对象。举例来说,如果用户在某购物应用(APP,Application)上浏览了三种类型的商品或者购买了三种类型的商品,则可以将该三种类型的商品作为用户互动过的对象集合;又或者,当用户在导航APP上搜索过一些地点,或者通过打车APP去过一些地点,则可以将这些地点作为用户互动过的对象集合;又或者,当用户通过某信息流阅读APP阅读过关于某些领域的信息流,则可以将这些领域的信息流作为用户互动过的对象集合。
步骤S402,根据所述对象集合中每一对象的权重和对应对象的特征向量,确定所述第一用户的特征向量。
这里,每一对象对应一权重,所述权重是用于计算第一用户的特征向量的值,每一对象对应的权重的值的大小可以相同也可以不同。每一对象对应一特征向量,该特征向量又称对象特征向量,所述对象特征向量是用于描述对应对象的特征信息的向量,所述对象特征向量中包括对应对象的多个方面的属性信息,所述对象特征向量可以根据实际的需要进行提取。
举例来说,当所述对象为书籍时,则所述对象特征向量可以是描述书籍的特征信息的向量,例如,书籍的特征向量可以包括:书籍的作者、名称、出版社和出版时间等;或者,当所述对象为商品时,则所述对象特征向量可以是描述商品的特征信息的向量,例如,商品的特征向量可以包括:商品的名称、价格、生产商、销售量和销售渠道等。
所述第一用户的特征向量是用于描述第一用户的兴趣和习惯等的特征信息,所述第一用户的特征向量能够准确的刻画出用户画像,进而为后续的信息推荐过程提供推荐依据。
步骤S403,获取第二用户集合中的每一第二用户的特征向量。
这里,所述第二用户集合中包括至少一个第二用户,每一第二用户的特征向量与所述第一用户的特征向量可以相同也可以不同。所述第二用户包括以下至少之一:与所述对象集合中的对象互动过的用户、与所述对象集合中的对象未互动过的用户,即所述第二用户可以是与第一用户具有相同互动对象的用户,也可以是与第一用户具有不同互动对象的用户。
需要说明的是,所述第二用户集合中的每一第二用户的特征向量的计算方法,与所述第一用户的特征向量的计算方法相同,本申请实施例不再赘述。
步骤S404,根据所述第一用户的特征向量和所述第二用户的特征向量,在所述第二用户集合中确定所述第一用户的相似用户。
这里,可以在所述第二用户集合中,将与所述第一用户具有相同特征向量的第二用户确定为第一用户的相似用户,也可以将与第一用户的特征向量之间满足预设相似条件的第二用户确定为第一用户的相似用户,所述预设相似条件可以是信息推荐系统预设的条件,也可以是用户在信息推荐应用的客户端上设置的条件。本申请实施例中,所确定出来的相似用户是与第一用户具有相似兴趣或习惯的第二用户。
步骤S405,将所述相似用户的互动信息作为待推荐信息,推荐给所述第一用户。
这里,在确定出第一用户的相似用户之后,可以获取该相似用户的互动信息,所述互动信息是所述相似用户在终端上进行过互动的对象对应的信息。由于所述相似用户与所述第一用户具有相似的兴趣或习惯,因此,相似用户互动过的对象对应的信息在很大程度上也会是第一用户感兴趣的信息,因此,可以将该信息作为待推荐信息推荐给第一用户,实现对第一用户的信息推荐过程。
本申请实施例提供的信息推荐方法,由于在确定第一用户的相似用户时,是根据第一用户互动过的对象集合中每一对象的权重和对应对象的特征向量,确定所述第一用户的特征向量;进而根据第一用户的特征向量和第二用户集合中的每一第二用户的特征向量,在所述第二用户集合中确定所述第一用户的相似用户。如此,根据对象的权重和对应对象的特征向量确定第一用户的特征向量,并基于第一用户的特征向量和第二用户的特征向量来确定第一用户的相似用户,不仅能够降低整个过程的计算量和内存消耗量,而且能够准确的确定出第一用户的相似用户,进而实现对第一用户进行准确的信息推荐,提高用户体验。
在一些实施例中,所述信息推荐系统中可以包括第一终端、至少一个第二终端和服务器,图5是本申请实施例提供的信息推荐方法的一个可选的流程示意图,如图5所示,以所述第二终端的数量是2为例(如图5中示例性的示出了第二终端A和第二终端B,其中,第二终端A对应第二用户A1,第二终端B对应第二用户B1),对本申请实施例的信息推荐方法进行说明。
步骤S501,第一用户在第一终端上与至少一个对象进行互动。
这里,所述第一终端上运行有信息推荐应用,所述第一用户在所述信息推荐应用的客户端上与至少一个对象进行过互动行为,所述互动行为包括但不限于以下至少之一:浏览、购买、点击、评分、评论、点赞、阅读和分享等。
步骤S502,服务器获取第一用户在第一终端上互动过的第一对象集合。
这里,当第一用户在第一终端的信息推荐应用客户端上与对象进行互动时,客户端可以将第一用户的互动信息发送给服务器,服务器存储所述互动信息,并且,从所述互动信息中确定第一用户的互动对象,从而实现根据第一用户互动过的全部对象或者根据第一用户在预设时间段内互动过的对象,形成所述第一对象集合。
步骤S503,服务器根据所述第一对象集合中每一对象的权重和对应对象的特征向量,确定所述第一用户的特征向量。
需要说明的是,步骤S503与上述步骤S402相同,本申请实施例不再赘述。
步骤S504,第二用户A1在第二终端A上与至少一个对象进行互动。
步骤S505,服务器获取第二用户A1在第二终端A上互动过的第二对象集合。
步骤S506,服务器根据所述第二对象集合中每一对象的权重和对应对象的特征向量,确定所述第二用户A1的特征向量。
需要说明的是,步骤S504至步骤S506是确定第二用户A1的特征向量的步骤,其中,确定第二用户A1的特征向量的过程与上述步骤S501至步骤S503中确定第一用户的特征向量的过程相同,请参照上述确定第一用户的特征向量的步骤进行理解。
步骤S507,第二用户B1在第二终端B上与至少一个对象进行互动。
步骤S508,服务器获取第二用户B1在第二终端B上互动过的第三对象集合。
步骤S509,服务器根据所述第三对象集合中每一对象的权重和对应对象的特征向量,确定所述第二用户B1的特征向量。
需要说明的是,步骤S507至步骤S509是确定第二用户B1的特征向量的步骤,其中,确定第二用户B1的特征向量的过程与上述步骤S501至步骤S503中确定第一用户的特征向量、和上述步骤S504至步骤S506中确定第二用户A1的特征向量的过程相同,请参照上述确定第一用户的特征向量或者确定第二用户A1的特征向量的步骤进行理解。
本申请实施例中,所述第二用户A1和所述第二用户B1形成所述第二用户集合。
步骤S510,服务器根据所述第一用户的特征向量、所述第二用户A1和所述第二用户B1的特征向量,在所述第二用户集合中,确定所述第一用户的相似用户为第二用户A1。
这里,可以将所述第一用户的特征向量分别与第二用户A1的特征向量和第二用户B1的特征向量进行比较,确定第一用户的特征向量分别与第二用户A1的特征向量和第二用户B1的特征向量之间的相似度,将具有最高相似度的特征向量对应的用户为第一用户的相似用户。
本申请实施例以所述第一用户的相似用户为第二用户A1为例进行说明,其中,所述第二用户A1的特征向量与第一用户的特征向量之间的第一相似度,大于第二用户B1的特征向量与第一用户的特征向量之间的第二相似度。
步骤S511,服务器获取所述第二用户A1的互动信息。
这里,所述互动信息可以是第二用户A1在当前时间之前的历史时间段内的互动信息,也可以是第二用户A1在当前时间的互动信息,也可以是第二用户A1从当前时刻起到未来的预设时间段内的互动信息。本申请实施例中,所述第二用户A1的互动信息是第一用户没有互动过的信息。
步骤S512,服务器将所述互动信息作为待推荐信息,发送给所述第一终端。
这里,由于所述第二用户A1是第一用户的相似用户,即第二用户A1与第一用户具有相似或相同的兴趣和习惯,因此,对于第二用户A1感兴趣的信息和内容,第一用户在很大概率上也会感兴趣,因此可以将第二用户A1的互动信息推荐给第一用户,从而保证第一用户更大概率的对系统推荐的信息感兴趣,进而与待推荐信息进行互动,实现对第一用户的有效推荐。
步骤S513,第一终端在当前界面上显示所述待推荐信息。
当服务器向第一终端推荐所述待推荐信息之后,第一终端上的信息推荐应用客户端将所述待推荐信息显示在当前界面上,以供第一用户查阅。需要说明的是,所述待推荐信息可以是一条或多条,当所述待推荐信息为多条时,可以在当前界面上同时显示多条待推荐信息,也可以以分页显示的方式将多条待推荐信息显示在不同的推荐页面上,第一用户可以通过翻页的形式查看不同待推荐信息。
在一些实施例中,当所述待推荐信息为多条时,服务器还可以根据每一条待推荐信息的属性信息,确定每一条待推荐信息与第一用户之间的相关度,所述相关度用户表征第一用户对对应待推荐信息的感兴趣程度,所述属性信息包括但不限于以下至少之一:所述待推荐信息所属的领域、待推荐信息的类别和待推荐信息的出处等;然后,按照所述相关度的大小依次向第一终端发送所述待推荐信息,或者同时向第一终端发送多条待推荐信息和每一条待推荐信息的所述相关度,以使得第一终端上的信息推荐应用客户端按照每一条待推荐信息的所述相关度,对接收到的多条待推荐信息进行排序,并根据排序结果依次显示多条待推荐信息。
在另一些实施例中,当所述待推荐信息为多条时,服务器可以将多条待推荐信息发送给第一终端,第一终端上的信息推荐应用客户端根据每一条待推荐信息的属性信息,确定每一条待推荐信息与第一用户之间的相关度;然后,按照每一条待推荐信息的所述相关度,对接收到的多条待推荐信息进行排序,并根据排序结果依次显示多条待推荐信息。
本申请实施例提供的信息推荐方法,对于每一用户,均可以根据互动过的对象集合中每一对象的权重和对应对象的特征向量,确定用户自身的特征向量,如此,根据对象的权重和对应对象的特征向量确定第一用户的特征向量,并基于第一用户的特征向量和第二用户的特征向量来确定第一用户的相似用户,不仅能够降低整个过程的计算量和内存消耗量,而且在整个推荐过程中,统一了对第一用户和第二用户集合中的每一第二用户的特征向量的计算方式,即采用统一的标准计算每个用户的特征向量,最后基于用户的特征向量来确定相似用户,实现的方式能够达到一个统一的标准,既保证了推荐的准确性,又保证了系统能够达到一个统一的标准。
另外,对于相似用户感兴趣的信息和内容,第一用户在很大概率上也会感兴趣,因此将相似用户的互动信息推荐给第一用户,可以保证第一用户更大概率的对系统推荐的信息感兴趣,从而与待推荐信息进行互动,实现对第一用户的有效推荐。
基于图4,如图6所示,是本申请实施例提供的信息推荐方法的一个可选的流程示意图,在一些实施例中,步骤S402中确定所述第一用户的特征向量,可以通过以下步骤实现:
步骤S601,确定所述对象集合中每一对象的权重与对应对象的特征向量之间的乘积。
步骤S602,将所述对象集合中的全部或部分对象对应的所述乘积之和,确定为所述第一用户的特征向量。
这里,可以计算对象集合中的全部对象对应的所述乘积之和,也可以计算对象集合中的部分对象对应的所述乘积之和。当计算部分对象对应的所述乘积之和时,可以是将所述对象集合中的另一部分特殊对象剔除掉,以避免特殊对象对最终计算结果准确性的影响。例如,所述特征对象可以包括:当前热门的对象、当前冷门的对象、用户在很久之前互动过的对象,但是该对象在最近很长一段时间内没有互动过、用户仅互动过很少的次数(例如仅互动过一次)等对象。
本申请实施例中,通过每一对象的权重和对应对象的特征向量,确定所述第一用户的特征向量。举例来说,所述对象集合中包括三个对象D1、D2和D3,那么在计算第一用户的特征向量时,可以首先获取三个对象D1、D2和D3各自的特征向量和三个对象D1、D2和D3各自对应的权重,然后,将每一对象的特征向量与对应权重之间相乘,得到分别与三个对象D1、D2和D3各自对应的乘积,最后,将三个乘积相加之和,确定为所述第一用户的特征向量。
基于图4,如图7所示,是本申请实施例提供的信息推荐方法的一个可选的流程示意图,在一些实施例中,所述对象为文本对象,在步骤S401之后,所述方法还包括以下步骤:
步骤S701,获取每一文本对象的属性信息,所述属性信息至少包括所述文本对象的互动用户数量和互动时长。
这里,所述互动用户数量是指与所述文本对象互动过的用户的总数量,所述互动时长是所有与该文本对象互动过的用户对该文本对象互动的总时长。
举例来说,所述文本对象为书籍,那么,所述属性信息包括阅读该书籍的用户数量和用户阅读书籍的时长,这里的用户阅读书籍的时长是指所有阅读过该书籍的用户阅读该书籍的总时长。
步骤S702,根据每一文本对象的所述互动用户数量和所述互动时长,确定对应文本对象的所述权重。
这里,所述文本对象的权重不仅考虑了该文本对象的互动用户数量,还考虑了用户对该文本对象的互动时长。那么,对于每一文本对象,当互动时长一定时,互动用户数量越多,对应的权重值越大;当互动用户数量一定时,互动时长越大,对应的权重值越大。
请继续参照图7,在一些实施例中,所述对象的特征向量为词特征向量;所述方法还包括:
步骤S703,通过词向量化模型对所述文本对象进行词向量化处理,得到所述词特征向量。
这里,所述词向量化模型可以是采用Word2vec算法形成的词向量化模型,本申请实施例中,利用开源的Word2vec算法对文本对象进行词向量化处理,可以训练出每一本书的对应的至少一个词特征向量。
对应地,步骤S402可以通过以下步骤实现:
步骤S704,根据所述对象集合中每一文本对象的权重和对应文本对象的词特征向量,确定所述第一用户的特征向量。
在一些实施例中,上述步骤S404可以通过以下步骤实现:
步骤S4041,在所述第二用户集合中,确定每一第二用户的特征向量与所述第一用户的特征向量之间的相似度。
这里,所述第二用户的特征向量与第一用户的特征向量之间的相似度,可以是第二用户的特征向量与第一用户的特征向量之间的距离,可以通过计算两个特征向量之间的距离,确定两个特征向量之间的相似度。当所述距离越小时,则表明两个特征向量之间的相似度越高,当所述距离越大时,则表明两个特征向量之间的相似度越低。
步骤S4042,将所述相似度大于阈值的特征向量对应的第二用户,确定为所述第一用户的相似用户。
这里,所述阈值可以是系统预设的值,所述阈值越大,对应地所确定出的第二用户与第一用户之间更加相似。本申请实施例中,所述相似度为距离,所述阈值可以为距离阈值,可以将所述距离与所述距离阈值进行比较,当所述距离大于所述距离阈值时,表明所述相似度小于阈值,因此,不能将对应的第二用户确定为第一用户的相似用户;当所述距离小于所述距离阈值时,表明所述相似度大于阈值,因此,将对应的第二用户确定为第一用户的相似用户。
在一些实施例中,在确定第一用户的特征向量和第二用户的特征向量时,还可以添加对对象的热度权重惩罚,以避免在计算用户的特征向量时,一些热门的对象或者冷门的对象对计算准确度的影响。如图8所示,是本申请实施例提供的信息推荐方法的一个可选的流程示意图,所述方法包括以下步骤:
步骤S801,确定第一用户互动过的第一对象集合。
步骤S802,确定第一对象集合中的每一对象在预设时间段内的热度信息。
这里,所述热度信息包括点击率或互动概率,当某一对象的点击率或互动概率大于第一热度阈值时,表明该对象为热门对象;当某一对象的点击率或互动概率小于第二热度阈值时,表明该对象为冷门对象。
步骤S803,将所述热度信息满足预设惩罚条件的对象确定为惩罚对象。
这里,所述预设惩罚条件包括点击率上限阈值和点击率下限阈值;对应地,步骤S803可以通过以下任意一种方式实现:
方式一:步骤S8031,将所述点击率大于所述点击率上限阈值的对象确定为所述惩罚对象。在方式一中,是将热门对象确定为惩罚对象。
方式二:步骤S8032,将所述点击率小于所述点击率下限阈值的对象确定为所述惩罚对象。在方式二中,是将冷门对象确定为惩罚对象。
方式三:步骤S8033,将所述点击率大于所述点击率上限阈值,且所述点击率小于所述点击率下限阈值的对象确定为所述惩罚对象。在方式三中,是将热门对象和冷门对象均确定为惩罚对象。
步骤S804,按照预设惩罚比例,对所述惩罚对象的权重进行调整,得到对应对象新的权重。
这里,由于所述热门对象和所述冷门对象通过上述任一实施例计算得到的权重的值较大或较小,必然在后续确定用户的特征向量时,会过多或过少的贡献对应对象的特征向量,因此,需要对热门对象和冷门对象的权重进行调整。
本申请实施例中可以按照预设惩罚比例增大或减小惩罚对象的权重,所述预设惩罚比例可以是大于或等于0且小于1的实数,或者是大于1的实数。当所述惩罚比例大于或等于0且小于1时,则对应地对所述惩罚对象的权重是进行减小的惩罚处理;当所述惩罚比例大于1时,则对应地对所述惩罚对象的权重是进行增大的惩罚处理。
步骤S805,根据所述第一对象集合中每一对象新的权重和对应对象的特征向量,确定所述第一用户的特征向量。
这里,在确定出每一对象新的权重之后,根据新的权重计算第一用户的特征向量。需要说明的是,可以对第一对象集合中的部分对象的权重进行惩罚处理,当然,也可以对第一对象集合中的全部对象的权重进行惩罚处理,可以根据实际获取到的第一对象集合中的对象的实际情况进行确定,例如,如果确定出的第一对象集合中的对象均为热门对象或冷门对象时,则需要对第一对象集合中的全部对象的权重进行惩罚处理。
步骤S806,确定第二用户互动过的第二对象集合。
步骤S807,确定第二对象集合中的每一对象在预设时间段内的热度信息。
步骤S808,将所述热度信息满足预设惩罚条件的对象确定为惩罚对象。
步骤S809,按照预设惩罚比例,对所述惩罚对象的权重进行调整,得到对应对象新的权重。
步骤S810,根据所述第二对象集合中每一对象新的权重和对应对象的特征向量,确定所述第二用户的特征向量。
需要说明的是,步骤S806至步骤S810是对第二用户互动过的第二对象集合中的对象的权重进行惩罚处理的步骤,其中,惩罚处理的实现方式与上述步骤S801至步骤S805中对第一用户互动过的第一对象集合中的对象的权重进行惩罚处理的过程相同,请参照上述步骤S801至步骤S805的步骤进行理解。
步骤S811,根据所述第一用户的特征向量和所述第二用户的特征向量,在第二用户集合中确定所述第一用户的相似用户。
步骤S812,将所述相似用户的互动信息作为待推荐信息,推荐给所述第一用户。
本申请实施例提供的信息推荐方法,在确定对象的权重时加入了热度权重惩罚的过程,对热门对象和冷门对象的权重进行惩罚处理,如此,能够避免一些热门对象或者冷门对象对计算用户的特征向量的准确性的影响,从而保证所确定出的用户的特征向量更符合用户的兴趣和习惯,更加准确的刻画用户画像,从而能够为用户匹配到更加相似或相同的相似用户,进而在后续的信息推荐过程中,能够为用户进行准确的信息推荐,提高用户体验。
在一些实施例中,可以采用相似用户匹配网络模型,确定所述第一用户和所述第二用户集合中的每一第二用户的特征向量,并在所述第二用户集合中确定所述第一用户的相似用户。
这里,提供一种相似用户匹配网络模型的训练方法,如图9所示,是本申请实施例提供的相似用户匹配网络模型的训练方法的流程示意图,所述方法包括:
步骤S901,将样本数据中的第一用户互动过的第一对象集合、和第二用户互动过的第二对象集合,分别输入至词向量化模型中,对应得到与所述第一对象集合对应的第一特征向量集合、和与所述第二对象集合对应的第二特征向量集合。
这里,所述样本数据包括:第一用户互动过的第一对象集合、第二用户互动过的第二对象集合。所述词向量化模型包括特征提取层,所述特征提取层用于对所述第一对象集合中的每一对象、所述第二对象集合中的每一对象分别进行特征提取,对应得到每一对象的特征向量,从而分别得到与所述第一对象集合对应的第一特征向量集合、与所述第二对象集合对应的第二特征向量集合。
在一些实施例中,所述词向量化模型还包括权重获取层,所述权重获取层用于计算得到每一对象的权重,所述权重获取层可以根据所述特征提取层所提取到的每一对象的特征信息,计算对应对象的权重。
步骤S902,将所述第一特征向量集合和与所述第一对象集合中的每一第一对象对应的权重,以及,所述第二特征向量集合和与所述第二对象集合中的每一第二对象对应的权重依次输入至用户兴趣向量预测网络模型中,分别得到与所述第一用户对应的第一用户兴趣向量和与所述第二用户对应的第二用户兴趣向量。
这里,所述用户兴趣向量预测网络模型用于根据所述第一特征向量集合和与所述第一对象集合中的每一第一对象对应的权重,计算第一用户对应的第一用户兴趣向量,以及,根据所述第二特征向量集合和与所述第二对象集合中的每一第二对象对应的权重,计算第二用户对应的第二用户兴趣向量。
在一些实施例中,所述用户兴趣向量预测网络模型,可以通过计算第一特征向量集合中的每一特征向量与对应权重的乘积,然后,将第一对象集合中的全部对象对应的乘积求和,得到第一用户对应的第一用户兴趣向量。以及,可以通过计算第二特征向量集合中的每一特征向量与对应权重的乘积,然后,将第二对象集合中的全部对象对应的乘积求和,得到第二用户对应的第二用户兴趣向量。
步骤S903,将所述第一用户兴趣向量和所述第二用户兴趣向量输入至预设损失模型中,得到损失结果。
这里,所述预设损失模型用于将第一用户兴趣向量和第二用户兴趣向量之间的距离与预设的对比距离进行比较,得到所述损失结果。所述预设损失模型中包括损失函数,通过所述损失函数可以计算第一用户兴趣向量和第二用户兴趣向量之间的距离,以及计算所述距离与预设的对比距离之间的差值,并将所述差值确定为所述损失结果。
步骤S904,根据所述损失结果,对所述用户兴趣向量预测网络模型进行修正,得到所述相似用户匹配网络模型。
这里,当所述差值大于预设损失阈值时,则所述损失结果表明当前的相似用户匹配网络模型中的用户兴趣向量预测网络模型,不能准确的确定用户的用户兴趣向量,或者词向量化模型不能准确的得到对象的特征向量或者计算对象的权重。因此,需要对当前的相似用户匹配网络模型进行修正,则可以根据所述差值,对所述用户兴趣向量预测网络模型和所述词向量化模型进行修正,直至所述相似用户匹配网络模型输出的第一用户兴趣向量和第二用户兴趣向量之间的距离与预设的对比距离,与预设的对比距离之间的差值满足预设条件时,将对应的相似用户匹配网络模型确定为训练好的相似用户匹配网络模型。
本申请实施例提供的相似用户匹配网络模型的训练方法,由于将样本数据中的第一用户互动过的第一对象集合、和第二用户互动过的第二对象集合,分别输入至词向量化模型中,对应得到与所述第一对象集合对应的第一特征向量集合、和与所述第二对象集合对应的第二特征向量集合;以及,将所述第一特征向量集合和与所述第一对象集合中的每一第一对象对应的权重、所述第二特征向量集合和与所述第二对象集合中的每一第二对象对应的权重依次输入至用户兴趣向量预测网络模型中,分别得到与所述第一用户对应的第一用户兴趣向量和与所述第二用户对应的第二用户兴趣向量;并根据损失函数,将第一用户兴趣向量和第二用户兴趣向量之间的距离与预设的对比距离进行比较,从而能够根据损失结果对所述用户兴趣向量预测网络模型和所述词向量化模型进行修正,所得到的相似用户匹配网络模型能够准确的确定用户的兴趣向量,从而使得采用该相似用户匹配网络模型进行信息推荐时,能够对用户进行准确的信息推荐,提高用户体验。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供一种信息推荐方法,采用用户的阅读兴趣向量来构造用户向量,既能解决结果过于扩散的问题,也能解决计算量过大的问题。这种方法在信息流推荐上线之后作为召回的方式,取得了非常不错的效果。
本申请实施例以所推荐的信息为书籍阅读应用上的书籍推荐为例进行说明。
用户在读书的APP上积累了足够多的书籍和公众号的阅读兴趣。例如有用户对某一本书的阅读时长和最近一次阅读时间的信息。对于每一个用户,可以首先统计用户所有书籍阅读时长和最近一次阅读时间信息,得到以下用户信息序列:Userid:[(bookid,readtime(second),last_read_timestamp(day))……],其中,Userid表示用户的ID信息(例如,用户名字、用户在APP上的账户名等信息),bookid表示书籍的ID信息(例如,书籍名称、作者、出版社等信息),readtime(second)表示书籍的阅读时长(单位为分钟),last_read_timestamp(day)表示最近一次阅读时间(单位为天)。
在获取到用户信息序列之后,对所述用户信息序列中用户阅读过的全部书籍,首先按照书籍阅读时间对用户阅读过的书籍进行排序,然后按照用户最近一次阅读时间对书籍进行二次排序,得到排序后的书籍序列。然后,将排序后的书籍序列抽取出来组成一行,并将所有用户的书籍序列组成一个训练文件,最后,利用开源的Word2vec算法训练出每一本书的书籍特征向量。
在得到每一本书的书籍特征向量之后,利用如下的计算步骤计算得到用户兴趣向量(对应上述的用户的特征向量),如图10所示,是本申请实施例提供的计算用户兴趣向量的实现方法示意图,所述方法包括以下步骤:
步骤S1001,采用Spark计算引擎得到每一用户对每一本书的总阅读时长和最后依次阅读时间。
这里,Spark是一个大数据的计算引擎,主要是为了洗出用户在阅读APP里面的行为数据。
步骤S1002,利用开源的Word2vec算法训练出每一本书的书籍特征向量。
步骤S1003,计算每一本书的总阅读人数和人均平均阅读时间。
步骤S1004,计算得到每一本书的书籍权重。
这里,可以采用以下公式(1-2)计算得到每一本书的书籍权重:
Wi=1/log(bid_total_read_count)*(log(bid_total_read_time/bid_total_read_count)) (1-2);
其中,Wi表示第i本书的书籍权重;bid_total_read_count表示这本书总共被多少个人阅读过;bid_total_read_time表示这本书被所有人一起阅读过的总时长;log表示求对数。
步骤S1005,根据用户所阅读的每一本书的书籍权重和书籍特征向量,计算所述用户的用户兴趣向量。
这里,可以采用以下公式(1-3)计算所述用户的用户兴趣向量:
Figure BDA0002322209620000261
其中,useremb表示用户兴趣向量;Embi表示第i本书的书籍特征向量;∑表示求和。本申请实施例中,最终用useremb这个向量来唯一地表示用户。
在一些实施例中,在计算用户兴趣向量时,还可以加入对书籍的热度权重惩罚,从而得到更加准确的用户兴趣向量。在没有加入热度权重惩罚的情况下,会导致一些热门的书籍对用户的用户兴趣向量贡献比较大,但其实用户可能并不是真正的对该本书感兴趣,该本书可能是当下活动或者是电影和电视剧的同名小说,所以在计算的时候该本书的书籍权重较大,从而使得计算得到的用户兴趣向量表明用户对该书籍感兴趣。本申请实施例中可以根据书籍的流行度来做惩罚,降低热门书籍的书籍权重或者降低冷门书籍的书籍权重,从而使得信息推荐的效果的得到了巨大的提升。
本申请实施例中,在得到了用户的用户兴趣向量之后,可以根据近似最近邻的算法计算每一个用户的相似用户,从而利用这些相似用户的行为进行召回推荐。当该推荐方法应用在读书应用的信息流推荐上时,相似用户的行为召回作为了一个非常重要的队列,该队列的召回效果取得了非常不错的成效。图11是本申请实施例加入书籍热度权重惩罚和未加入书籍热度权重惩罚的结果对比图,其中,图11对比了没有加入书籍热度权重惩罚和加入书籍热度权重惩罚对召回点击效果的影响,图11中的虚线1101表示的是加入了书籍热度权重惩罚之后进行推荐时,用户的点击率,虚线1102表示的是没有加入书籍热度权重惩罚之后进行推荐时,用户的点击率,可以从对比结果中明显看出,加入书籍热度权重惩对应的点击率在开始的一小段时间内(例如,图中的时间t1到t4之内),相对于没有加入书籍热度权重惩对应的点击率较低,但是当过了一段时间之后,加入书籍热度权重惩对应的点击率一直稳定的高于没有加入书籍热度权重惩对应的点击率。由此可见,在进行信息推荐的方法中,在确定用户的用户兴趣向量时加入书籍热度权重惩的重要性。
本申请实施例方法的优势在于可以用一种比较简单方案来计算相似用户,即解决了结果过于扩散的问题,也解决了计算量太大的问题。在读书应用的数据流上是一个非常重要的召回策略,能够使得召回之后的排序的质量得到有效的保证。
下面继续说明本申请实施例提供的信息推荐装置354实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器350的信息推荐装置354中的软件模块可以是服务器300中的信息推荐装置,包括:
第一确定模块3541,用于确定第一用户互动过的对象集合;
第二确定模块3542,用于根据所述对象集合中每一对象的权重和对应对象的特征向量,确定所述第一用户的特征向量;
获取模块3543,用于获取第二用户集合中的每一第二用户的特征向量,其中,所述第二用户包括以下至少之一:与所述对象集合中的对象互动过的用户、与所述对象集合中的对象未互动过的用户;
第三确定模块3544,用于根据所述第一用户的特征向量和所述第二用户的特征向量,在所述第二用户集合中确定所述第一用户的相似用户;
推荐模块3545,用于将所述相似用户的互动信息作为待推荐信息,推荐给所述第一用户。
在一些实施例中,所述第二确定模块还用于:确定所述对象集合中每一对象的权重与对应对象的特征向量之间的乘积;将所述对象集合中的全部或部分对象对应的所述乘积之和,确定为所述第一用户的特征向量。
在一些实施例中,所述装置还包括:第二获取模块,用于获取每一对象的属性信息,所述属性信息至少包括所述对象的互动用户数量和互动时长;第四确定模块,用于根据每一对象的所述互动用户数量和所述互动时长,确定对应对象的所述权重。
在一些实施例中,所述对象为文本对象,所述对象的特征向量为词特征向量;所述装置还包括:处理模块,用于通过词向量化模型对所述文本对象进行词向量化处理,得到所述词特征向量。
在一些实施例中,所述第三确定模块还用于:在所述第二用户集合中,确定每一第二用户的特征向量与所述第一用户的特征向量之间的相似度;将所述相似度大于阈值的特征向量对应的第二用户,确定为所述第一用户的相似用户。
在一些实施例中,所述装置还包括:第五确定模块,用于确定所述对象集合中的每一对象在预设时间段内的热度信息;第六确定模块,用于将所述热度信息满足预设惩罚条件的对象确定为惩罚对象;权重减小模块,用于按照预设惩罚比例,对所述惩罚对象的权重进行调整。
在一些实施例中,所述热度信息包括点击率,所述预设惩罚条件包括点击率上限阈值和点击率下限阈值;所述第六确定模块还用于以下至少之一:将所述点击率大于所述点击率上限阈值的对象确定为所述惩罚对象,或者,将所述点击率小于所述点击率下限阈值的对象确定为所述惩罚对象。
在一些实施例中,所述装置还包括:第六确定模块,用于采用相似用户匹配网络模型,确定所述第一用户的特征向量和所述第二用户集合中的每一第二用户的特征向量,并在所述第二用户集合中确定所述第一用户的相似用;其中,所述相似用户匹配网络模型采用以下步骤训练得到:将样本数据中的第一用户互动过的第一对象集合、和第二用户互动过的第二对象集合,分别输入至词向量化模型中,对应得到与所述第一对象集合对应的第一特征向量集合、和与所述第二对象集合对应的第二特征向量集合;将所述第一特征向量集合和与所述第一对象集合中的每一第一对象对应的权重,以及,所述第二特征向量集合和与所述第二对象集合中的每一第二对象对应的权重依次输入至用户兴趣向量预测网络模型中,分别得到与所述第一用户对应的第一用户兴趣向量和与所述第二用户对应的第二用户兴趣向量;将所述第一用户兴趣向量和所述第二用户兴趣向量输入至预设损失模型中,得到损失结果;根据所述损失结果,对所述用户兴趣向量预测网络模型进行修正,得到所述相似用户匹配网络模型。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图4示出的方法。
在一些实施例中,存储介质可以是铁电存储器(FRAM,Ferromagnetic RandomAccess Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,ErasableProgrammable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,ElectricallyErasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (7)

1.一种信息推荐方法,其特征在于,包括:
实时获取第一用户在第一终端的信息推荐应用客户端上的互动行为,或者每隔预设时长统计第一用户的互动行为;
当所述第一用户产生互动行为时,存储所述互动行为中所述第一用户互动过的对象;
基于存储的所述对象,确定在所述信息推荐应用客户端中所述第一用户互动过的对象集合;
确定所述对象集合中各所述对象在预设时间段内的热度信息;所述热度信息包括点击率或互动概率;
基于所述热度信息,确定所述对象集合中点击率或互动概率大于第一热度阈值的热门对象,以及点击率或互动概率小于第二热度阈值的冷门对象;
将所述热门对象、所述冷门对象确定中至少之一确定为惩罚对象;
按照预设惩罚比例,对所述惩罚对象的权重进行调整,以更新所述对象集合中各所述对象的权重;
根据所述对象集合中每一对象新的权重和对应对象的特征向量,确定为所述第一用户的特征向量;
获取第二用户集合中的每一第二用户的特征向量,其中,所述第二用户包括以下至少之一:与所述对象集合中的对象互动过的用户、与所述对象集合中的对象未互动过的用户;
确定所述第一用户的特征向量和所述第二用户的特征向量之间的距离,并将所述距离与距离阈值进行比较,得到比较结果;
基于所述比较结果,在所述第二用户集合中确定所述第一用户的相似用户;
将所述相似用户的互动信息作为待推荐信息发送至所述第一终端,以使所述第一终端的所述信息推荐应用客户端将所述待推荐信息显示在当前界面上。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一对象集合中每一对象新的权重和对应对象的特征向量,确定为所述第一用户的特征向量,包括:
确定所述对象集合中每一对象的权重与对应对象的特征向量之间的乘积;
将所述对象集合中的全部对象或部分对象对应的所述乘积之和,确定为所述第一用户的特征向量。
3.根据权利要求1所述的方法,其特征在于,所述对象为文本对象,所述对象的特征向量为词特征向量;所述方法还包括:
通过词向量化模型对所述文本对象进行词向量化处理,得到所述词特征向量。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
采用相似用户匹配网络模型,确定所述第一用户的特征向量和所述第二用户集合中的每一第二用户的特征向量,并在所述第二用户集合中确定所述第一用户的相似用;其中,所述相似用户匹配网络模型采用以下步骤训练得到:
将样本数据中的第一用户互动过的第一对象集合、和第二用户互动过的第二对象集合,分别输入至词向量化模型中,对应得到与所述第一对象集合对应的第一特征向量集合、和与所述第二对象集合对应的第二特征向量集合;
将所述第一特征向量集合和与所述第一对象集合中的每一第一对象对应的权重,以及,所述第二特征向量集合和与所述第二对象集合中的每一第二对象对应的权重依次输入至用户兴趣向量预测网络模型中,分别得到与所述第一用户对应的第一用户兴趣向量和与所述第二用户对应的第二用户兴趣向量;
将所述第一用户兴趣向量和所述第二用户兴趣向量输入至预设损失模型中,得到损失结果;
根据所述损失结果,对所述用户兴趣向量预测网络模型进行修正,得到所述相似用户匹配网络模型。
5.一种信息推荐装置,其特征在于,包括:
第一确定模块,用于实时获取第一用户在第一终端的信息推荐应用客户端上的互动行为,或者每隔预设时长统计第一用户的互动行为;当所述第一用户产生互动行为时,存储所述互动行为中所述第一用户互动过的对象;基于存储的所述对象,确定在所述信息推荐应用客户端中所述第一用户互动过的对象集合;
第二确定模块,用于确定所述对象集合中各所述对象在预设时间段内的热度信息;所述热度信息包括点击率或互动概率;基于所述热度信息,确定所述对象集合中点击率或互动概率大于第一热度阈值的热门对象,以及点击率或互动概率小于第二热度阈值的冷门对象;将所述热门对象、所述冷门对象确定中至少之一确定为惩罚对象;按照预设惩罚比例,对所述惩罚对象的权重进行调整,以更新所述对象集合中各所述对象的权重;根据所述第一对象集合中每一对象新的权重和对应对象的特征向量,确定为所述第一用户的特征向量;
获取模块,用于获取第二用户集合中的每一第二用户的特征向量,其中,所述第二用户包括以下至少之一:与所述对象集合中的对象互动过的用户、与所述对象集合中的对象未互动过的用户;
第三确定模块,用于确定所述第一用户的特征向量和所述第二用户的特征向量之间的距离,并将所述距离与距离阈值进行比较,得到比较结果;基于所述比较结果,在所述第二用户集合中确定所述第一用户的相似用户;
推荐模块,用于将所述相似用户的互动信息作为待推荐信息发送至所述第一终端,以使所述第一终端的所述信息推荐应用客户端将所述待推荐信息显示在当前界面上。
6.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至4任一项所述的方法。
7.一种信息推荐设备,其特征在于,所述设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至4任一项所述的方法。
CN201911302507.1A 2019-12-17 2019-12-17 信息推荐方法、装置及存储介质 Active CN111026977B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911302507.1A CN111026977B (zh) 2019-12-17 2019-12-17 信息推荐方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911302507.1A CN111026977B (zh) 2019-12-17 2019-12-17 信息推荐方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN111026977A CN111026977A (zh) 2020-04-17
CN111026977B true CN111026977B (zh) 2022-04-08

Family

ID=70210179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911302507.1A Active CN111026977B (zh) 2019-12-17 2019-12-17 信息推荐方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111026977B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256973B (zh) * 2020-11-04 2021-09-10 贝壳找房(北京)科技有限公司 用户画像修正方法、装置、介质和电子设备
CN112989186B (zh) * 2021-02-25 2024-01-12 深圳市雅阅科技有限公司 资讯信息推荐模型训练方法、装置、电子设备及存储介质
CN113486237B (zh) * 2021-06-07 2023-06-27 海南太美航空股份有限公司 一种航班信息的推荐方法、系统、存储介质和电子设备
CN114969502B (zh) * 2021-06-21 2023-10-27 中移互联网有限公司 车用信息交换方法及系统、计算机可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010460B2 (en) * 2004-09-02 2011-08-30 Linkedin Corporation Method and system for reputation evaluation of online users in a social networking scheme
CN104572962A (zh) * 2014-12-31 2015-04-29 浙江大学 一种app推荐的方法和系统
JP5958578B2 (ja) * 2015-03-02 2016-08-02 株式会社Jvcケンウッド 情報選択装置、情報選択方法、およびコンピュータプログラム
CN106776660A (zh) * 2015-11-25 2017-05-31 阿里巴巴集团控股有限公司 一种信息推荐方法及装置
CN105404700B (zh) * 2015-12-30 2019-04-16 山东大学 一种基于协同过滤的视频栏目推荐系统及推荐方法
CN106682054B (zh) * 2016-05-24 2021-08-03 腾讯科技(深圳)有限公司 一种终端应用推荐方法、装置和系统
CN106446052A (zh) * 2016-08-31 2017-02-22 北京魔力互动科技有限公司 一种基于用户集合的视频点播节目推荐方法
CN110134783B (zh) * 2018-02-09 2023-11-10 阿里巴巴集团控股有限公司 个性化推荐的方法、装置、设备和介质
CN108763314B (zh) * 2018-04-26 2021-01-19 深圳市腾讯计算机系统有限公司 一种兴趣推荐方法、装置、服务器及存储介质
CN110413868B (zh) * 2018-11-06 2023-04-07 腾讯科技(深圳)有限公司 信息推荐方法、装置、系统及存储介质

Also Published As

Publication number Publication date
CN111026977A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
CN110837598B (zh) 信息推荐方法、装置、设备及存储介质
CN111026977B (zh) 信息推荐方法、装置及存储介质
CN111680221B (zh) 信息推荐方法、装置、设备及计算机可读存储介质
WO2019114423A1 (zh) 对模型预测值进行融合的方法、装置和设备
Christidis et al. A topic-based recommender system for electronic marketplace platforms
EP4181026A1 (en) Recommendation model training method and apparatus, recommendation method and apparatus, and computer-readable medium
Xu et al. Integrated collaborative filtering recommendation in social cyber-physical systems
CN111709810A (zh) 基于推荐模型的对象推荐方法及装置
CN112559896B (zh) 信息推荐方法、装置、设备及计算机可读存储介质
Nejad et al. Pricing financial services innovations
CN111461841A (zh) 物品推荐方法、装置、服务器及存储介质
CN111737586B (zh) 信息推荐方法、装置、设备及计算机可读存储介质
CN111767466A (zh) 基于人工智能的推荐信息推荐方法、装置及电子设备
CN112989169B (zh) 目标对象识别方法、信息推荐方法、装置、设备及介质
Zhang et al. A dynamic trust based two-layer neighbor selection scheme towards online recommender systems
US20230134118A1 (en) Decentralized social news network website application (dapplication) on a blockchain including a newsfeed, nft marketplace, and a content moderation process for vetted content providers
Tian et al. Recipe recommendation with hierarchical graph attention network
Maftei et al. Critical success factors of online music streaming services-a case study of applying the fuzzy cognitive maps method
Lin et al. A consumer review-driven recommender service for web e-commerce
EP2613275B1 (en) Search device, search method, search program, and computer-readable memory medium for recording search program
Yin et al. A survey of learning-based methods for cold-start, social recommendation, and data sparsity in e-commerce recommendation systems
Fareed et al. A collaborative filtering recommendation framework utilizing social networks
CN114391159A (zh) 数字人类学和人种学系统
CN116578774A (zh) 一种预估排序方法、装置、计算机设备及存储介质
KR20200130767A (ko) 인공신경망을 이용한 암호화폐 거래소 상장여부 평가방법

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: 40022471

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant