CN110413888B - 一种书籍推荐方法及装置 - Google Patents

一种书籍推荐方法及装置 Download PDF

Info

Publication number
CN110413888B
CN110413888B CN201910672030.XA CN201910672030A CN110413888B CN 110413888 B CN110413888 B CN 110413888B CN 201910672030 A CN201910672030 A CN 201910672030A CN 110413888 B CN110413888 B CN 110413888B
Authority
CN
China
Prior art keywords
book
behavior
different
acquiring
books
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
CN201910672030.XA
Other languages
English (en)
Other versions
CN110413888A (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 CN201910672030.XA priority Critical patent/CN110413888B/zh
Publication of CN110413888A publication Critical patent/CN110413888A/zh
Application granted granted Critical
Publication of CN110413888B publication Critical patent/CN110413888B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种书籍推荐方法及装置,包括:获取不同用户历史行为以及对应所述不同用户历史行为的不同书籍以得到不同书籍行为二元组;获取多个训练样本,并将所述多个训练样本分别输入至预设模型进行训练,以得到不同表征向量;将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库;获取终端的历史数据,根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端。采用该手段,通过获取多种行为并构成不同书籍行为二元组,在训练时从多个维度进行约束,使得在进行精准推荐时准确度更高,提高了用户体验。

Description

一种书籍推荐方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种书籍推荐方法及装置。
背景技术
Embedding策略,即用一个向量来描述一个实体的思想,这种思想用向量来描述实体信息,不仅仅包含了实体本身的属性信息,同时还包含了实体之间的关联信息,以及实体和最终目标任务之间的关联信息。
现有技术在运用Listing-Embedding的嵌入式学习方法时,采用获取用户点击过的一元组<Listing>序列,然后为每一个一元组<Listing>学习向量表示。由于获取的行为只有点击一种,最终只能学习出<Listing>的向量表示,并不适合存在多种行为的场景,如在类似读书场景中,用户的行为不仅包括点击(查看详情),还包括收藏、加入书架(购物车)、评论、读完(购买)书籍、阅读等行为,采用现有技术进行推荐时,由于仅考虑单一的行为,推荐准确度较低。
发明内容
本申请实施例提供一种书籍推荐方法及装置,能够实现精准度较高的书籍推荐。
本申请实施例的第一方面提供了一种书籍推荐方法,包括:
获取不同用户历史行为以及对应所述不同用户历史行为的不同书籍以得到不同书籍行为二元组;
从所述不同书籍行为二元组中获取多个训练样本,并将所述多个训练样本分别输入至预设模型进行训练,以得到不同表征向量;
获取所述不同表征向量之间的相似度,将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库;
获取终端的历史数据,根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端。
可选的,所述从所述不同书籍行为二元组中获取多个训练样本,包括:
从所述不同书籍行为二元组中获取第一预设行为对应的第一书籍行为二元组,以及获取第二预设行为对应的第二书籍行为二元组;
获取所述第一书籍行为二元组对应的第一书籍和所述第二书籍行为二元组对应的第二书籍,并将所述第一书籍作为全局正样本,将所述第二书籍作为全局负样本;
从所述不同书籍行为二元组中获取第三书籍行为二元组,并获取近邻所述第三书籍行为二元组的至少两个书籍行为二元组;
将所述第三书籍行为二元组、所述至少两个书籍行为二元组、所述全局正样本、所述全局负样本以及所述第三书籍行为二元组对应的第三书籍均作为训练样本。
可选的,所述不同表征向量包括所述不同书籍行为二元组分别对应的二元组表征向量,所述相似数据库包括第一数据库,所述获取所述不同表征向量之间的相似度,将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库,包括:
获取所述不同二元组表征向量之间的相似度,将相似度大于第一预设阈值的二元组表征向量对应的书籍行为二元组存储至第一数据库。
可选的,所述终端的历史数据包括终端的历史行为以及所述历史行为对应的书籍,所述根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端,包括:
根据所述终端的历史行为以及所述历史行为对应的书籍得到所述终端的书籍行为二元组;
从所述第一数据库中获取目标书籍行为二元组,将所述目标书籍行为二元组对应的书籍推荐至所述终端。
可选的,所述不同表征向量包括所述不同书籍分别对应的书籍表征向量,所述相似数据库包括第二数据库,所述获取所述不同表征向量之间的相似度,将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库,包括:
获取所述不同书籍表征向量之间的相似度,将相似度大于第二预设阈值的书籍表征向量对应的书籍存储至第二数据库。
可选的,所述终端的历史数据包括终端的历史书籍,所述根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端,包括:
从所述第二数据库中获取目标书籍,将所述目标书籍推荐至所述终端。
进一步,所述获取不同用户历史行为以及对应所述不同用户历史行为的不同书籍以得到不同书籍行为二元组之后,所述从所述不同书籍行为二元组中获取多个训练样本之前,包括确定训练的损失函数,其中所述损失函数表示为:
其中,<ai,bi>表示二元组;<a,b>in 2k表示二元组<a,b>窗口内的其他2k个二元组;bp in gp表示全局正样本;bn in gn表示全局负样本;<an,bn>in ns表示随机采样二元组负样本;θ表示自变量参数。
本申请实施例的第二方面提供了一种书籍推荐装置,包括:
获取模块,用于获取不同用户历史行为以及对应所述不同用户历史行为的不同书籍以得到不同书籍行为二元组;
训练模块,用于从所述不同书籍行为二元组中获取多个训练样本,并将所述多个训练样本分别输入至预设模型进行训练,以得到不同表征向量;
计算模块,用于获取所述不同表征向量之间的相似度,将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库;
推荐模块,用于获取终端的历史数据,根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端。
本申请实施例的第三方面提供了一种书籍推荐服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行所述的方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现所述的方法。
实施本申请实施例,至少具有如下有益效果:
通过本申请实施例,通过获取不同用户历史行为以及对应不同用户历史行为的不同书籍以得到不同书籍行为二元组,通过从所述不同书籍行为二元组中获取训练样本进行训练得到所述不同书籍行为二元组分别对应的二元组表征向量和与书籍对应的书籍表征向量;通过计算不同表征向量之间的相似度,进而在获取终端的历史行为以及所述历史行为对应的书籍时可进行智能推荐。采用该手段,较现有技术的单一行为以及一元组,通过获取多种行为并构成不同书籍行为二元组,在训练时从多个维度进行约束,使得在进行精准推荐时准确度更高,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为本发明实施例提供的一种网络架构示意图;
图2是本发明实施例提供的一种书籍推荐方法的场景示意图;
图3是本发明实施例提供的一种书籍推荐方法的交互示意图;
图4是本发明实施例提供的一种模型的示意图;
图5是本发明实施例提供的一种书籍推荐方法的流程示意图;
图6是本发明实施例提供的一种书籍推荐服务器的结构示意图;
图7是本发明实施例提供的一种书籍推荐装置的结构示意图;
图8a为本申请实施例提供了一种相似二元组的示意图;
图8b为本申请实施例提供了一种相似书籍的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
请参阅图1,图1为本申请实施例提供了一种网络架构示意图。该网络架构可以包括多个服务器以及多个终端设备,如图1所示,具体包括终端设备100a、终端设备100b、终端设备100c、服务器200a、服务器200b,服务器200a可以通过网络与每个终端设备进行数据传输,每个终端设备均可以安装阅读书籍类应用(如微信读书),服务器200a可以为阅读书籍类应用对应的后台服务器,因此,每个终端设备均可以通过该阅读书籍类应用对应的客户端与服务器200a进行数据传输,如服务器200a可以向每个终端设备发送推荐书籍信息,服务器200b可以为数据处理服务器,也可以称为书籍推荐服务器,即可以为每个终端设备确定不同的书籍推荐数据,服务器200b可以通过服务器200a与多个终端设备进行数据传输。终端设备可以包括手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobileinternet device,MID)、可穿戴设备(例如智能手表、智能手环等)。每个终端设备都可以在该阅读书籍类应用对应的客户端中显示推荐信息流即推荐书籍。
其中,每个终端设备中显示的推荐信息流所包含的信息可以是不同的,推荐信息流所包含的具体信息可以由终端设备对应的用户历史行为来确定,用户历史行为可以表示为用户在当前时刻之前,在阅读书籍类应用对应的客户端中的每一次点击、阅读、阅读时间、下载、购买、读完、加入书架等操作。具体请一并参见图2,是本发明实施例提供的一种书籍推荐方法的场景示意图。如图2所示,该场景以图1所对应实施例中的终端设备100a为例,服务器200可包括图1所对应实施例中的服务器200a和服务器200b,终端设备100a在打开阅读书籍类应用界面后,首先在终端显示界面中可以显示阅读书籍类应用的默认首页,在该首页中,可以显示若干功能选项,如分别表示为“排行榜”选项、“推荐”选项、“分类”选项、“音频”选项,当用户选择“推荐”选项400时,可以跳转到“推荐”选项400对应的展示页面,此时展示页面中的显示区域300a中还未显示推荐信息,因此终端设备100a可以响应用户针对该“推荐”选项400的选择操作,向服务器200发送信息流访问请求,以请求获取书籍推荐。服务器100可以根据信息流访问请求确定发出请求的终端设备100a对应的设备号或者用户标识信息等,即确定即将请求的用户,服务器200进一步获取该用户对应的历史行为数据,并根据历史行为数据分别确定该用户对应的多种历史行为-书籍,进而可以将服务器200计算得到的相似数据库中与该用户的历史行为-书籍对应的相似书籍推荐给终端,其中可包括将所得相似书籍生成推荐栏展示在显示区域300a,其中,推荐栏中包括相应书籍名称301a以及作者信息302a。
请参阅图3,图3为本申请实施例提供了一种书籍推荐方法的交互示意图。如图3所示,其可包括步骤301-304,具体如下:
301、获取不同用户历史行为以及对应所述不同用户历史行为的不同书籍以得到不同书籍行为二元组;
可选的,服务器获取大量的用户历史行为日志,该历史行为日志包括用户的历史行为-书籍信息,具体可包括对应用户下载第一书籍、购买第二书籍、将第三书籍加入书架、查看第四书籍的详情等信息等。
其中服务器可从以下数据源中获取用户历史行为日志,如查看各种书籍详情信息的百度文库的历史数据或者从QQ浏览器中的搜索日志、TT浏览器中的搜索日志或其他任意浏览器或搜索引擎中的搜索日志,或者从社交平台可包括微博、贴吧、讨论组等获取到关注的书籍,具体根据实际应用场景确定,在此不做限制。
具体地,服务器从行为-书籍数据库中获取不同用户的行为-书籍数据,可以是预设时间内的行为-书籍数据,如最近三个月,或者一年等时间段内的大量用户的行为-书籍数据,以得到不同用户的历史行为-书籍数据,然后根据该不同用户的历史行为-书籍数据得到书籍行为二元组,如根据时间先后构建不同用户的多个书籍行为二元组,由上述多个书籍行为二元组组成二元组序列。该行为-书籍数据库包含了大量用户的历史行为-书籍数据,如包括对应书籍的下载信息,或者查看详情信息,或者购买信息,或者浏览时长信息,浏览次数信息,以及设备号等。
302、从所述不同书籍行为二元组中获取多个训练样本,并将所述多个训练样本分别输入至预设模型进行训练,以得到不同表征向量;
上述不同表征向量可以是所述不同书籍行为二元组分别对应的二元组表征向量,其同时还可以得到所述不同书籍分别对应的书籍表征向量;
其中,上述预设模型可以是Skip-Gram模型,Skip-Gram模型是指对于一个特征序列,随机给每个特征初始化一个向量表示,对于位置c的特征fc对应的向量vc,使用向量vc应该能尽可能准确的预测fc左右窗口大小各k个特征即Setf,k={fc-k,fc-k+1,fc-k+2,…,fc-1,fc+1,fc+2,…,fc+k}。用数学形式表示即为最大化似然概率:
其中,pf=softmax(vc×W+b),W和b做空间变换,将vc映射到全量特征空间,并通过softmax给出每个词的概率。本申请实施例采用的Skip-Gram模型如图4所示,上述训练样本包括如下书籍行为二元组:<ac,bc>,<ac-k,bc-k>···<ac-2,bc-2><ac-1,bc-1><ac+1,bc+1><ac+2,bc+2>···<ac+k,bc+k>;上述训练样本还包括全局正样本、全局负样本以及相同书籍,其中相同书籍为目标书籍行为二元组对应的书籍。其中,<ac,bc>为目标书籍行为二元组,<ac-k,bc-k>···<ac-2,bc-2><ac-1,bc-1><ac+1,bc+1><ac+2,bc+2>···<ac+k,bc+k>为所述目标二元组左右窗口大小为K的2k个书籍行为二元组。全局正样本为上述所得的所有书籍行为二元组中满足第一预设条件的书籍,该第一预设条件可以是行为为读完或者购买,如可以是所有书籍行为二元组中对应行为为购买或者读完等行为的书籍行为二元组所对应的书籍;用户如果在某个行为序列中购买或读完某本书,那这个行为序列中的任何一个行为,无论全局正样本是否在大小为2k的窗口内,都要最大化全局正样本的出现概率。全局负样本为所有书籍行为二元组中满足第二预设条件的书籍每一位用户,第二预设条件可以是阅读时长小于预设时长,如一本书的统计阅读时长如果小于60s,便将其作为全局负样本,并最小化其出现概率。
其中,上述基于目标二元组的不断变化而得到大量训练样本,将得到的大量训练样本依次输入训练模型进行训练,得到所述不同书籍行为二元组分别对应的二元组表征向量。
作为优选的一种实现方式,所述从所述不同书籍行为二元组中获取多个训练样本,可包括:
从所述不同书籍行为二元组中获取第一预设行为对应的第一书籍行为二元组,以及获取第二预设行为对应的第二书籍行为二元组;
其中,所述第一预设行为包括购买或者阅读进度达到预设进度,所述第二预设行为包括阅读时长小于预设时长。
获取所述第一书籍行为二元组对应的第一书籍和所述第二书籍行为二元组对应的第二书籍,并将所述第一书籍作为全局正样本,将所述第二书籍作为全局负样本;
从所述不同书籍行为二元组中获取第三书籍行为二元组,并获取近邻所述第三书籍行为二元组的至少两个书籍行为二元组;
即可通过设定窗口大小,进而获取以第四书籍行为二元组为中心的左右共2k个近邻的书籍行为二元组,k为正整数。
将所述第三书籍行为二元组、所述至少两个书籍行为二元组、所述全局正样本、所述全局负样本以及所述第三书籍行为二元组对应的第三书籍均作为训练样本。
本申请实施例不仅学习了书籍行为二元组之间的关系,以及书籍行为二元组和书籍<Book>一元组之间的关系,书籍行为二元组与书籍的约束保证包含相同书的二元组都围绕在相同书籍周围;书籍行为二元组与全局正样本或全局负样本之间则构建出书籍行为二元组和全局正例的关联。通过设定上述模型,通过构建书籍行为二元组,较现有技术的一元组表示,在行为表示上更加丰富,更加具体,使得推荐书籍的依据基于多维数据,提高了推荐精度。
303、获取所述不同表征向量之间的相似度,将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库;
其具体可包括:
所述不同表征向量包括所述不同书籍行为二元组分别对应的二元组表征向量,所述相似数据库包括第一数据库,所述获取所述不同表征向量之间的相似度,将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库,包括:
获取所述不同二元组表征向量之间的相似度,将相似度大于第一预设阈值的二元组表征向量对应的书籍行为二元组存储至第一数据库。
进一步,所述不同表征向量包括所述不同书籍分别对应的书籍表征向量,所述相似数据库包括第二数据库,所述获取所述不同表征向量之间的相似度,将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库,包括:
获取所述不同书籍表征向量之间的相似度,将相似度大于第二预设阈值的书籍表征向量对应的书籍存储至第二数据库。
其中,该相似度计算可以是采用余弦相似性计算以得到相似度,可通过设定预设阈值以得到相似度较高的相似书籍,如可设置预设阈值为70%,80%等等。
进一步,在将超出第一预设阈值的相似度对应的书籍行为二元组存储至第一数据库时,可基于相似度高低按照从大到小的顺序进行排序存储,如可基于存储位置不同进行区分,如依次从第一区域、第二区域等开始存储,其中第一区域的相似度高于第二区域。
或者,获取超出第一预设阈值的相似度对应的书籍行为二元组,并确认所述书籍行为二元组的个数是否超出预设个数;若超出,则按照相似度高低大小从高到低选取如5个书籍行为二元组并存储至相似二元组库等。当然此处并不限制上述形式。
304、获取终端的历史数据,根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端。
所述终端的历史数据包括终端的历史行为以及所述历史行为对应的书籍,所述根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端,包括:
根据所述终端的历史行为以及所述历史行为对应的书籍得到所述终端的书籍行为二元组;
从所述第一数据库中获取目标书籍行为二元组,将所述目标书籍行为二元组对应的书籍推荐至所述终端。
进一步,所述终端的历史数据包括终端的历史书籍,所述根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端,包括:
从所述第二数据库中获取目标书籍,将所述目标书籍推荐至所述终端。
其中,所述获取所述终端的历史行为以及所述历史行为对应的书籍得到第一书籍行为二元组,对于当所述终端对应的历史行为有至少两个时,如可包括:
获取所述终端在第一预设时间的第一历史行为以及所述第一历史行为对应的书籍得到第一初始书籍行为二元组,并获取第二历史行为以及所述第二历史行为对应的书籍得到第二初始书籍行为二元组;
从预设行为等级表中确认所述第一历史行为是否优先于所述第二历史行为;
若满足,则将所述第一历史行为对应的第一初始书籍行为二元组作为所述终端的第一书籍行为二元组。
即通过确定行为等级进而选取等级较高的行为对应的书籍行为二元组。
对于当相似书籍行为二元组有多个时,则包括:
从所述相似二元组库中获取与终端的书籍行为二元组相似的P个书籍行为二元组以及所述P个书籍行为二元组分别对应的P本书籍,其中,P为大于1的整数;
获取所述终端在第二预设时间的历史行为以及所述历史行为对应的书籍;确认所述P本书籍中是否存在所述第二预设时间所对应的书籍;
若是,则将所述书籍作为第一书籍推荐至所述终端。
通过获取终端在其他时间的历史行为,可选取阅读次数超出5次且阅读进度未达到一半的书籍,则确认为用户较感兴趣的书,通过确认相似书籍中存在该书,则将该书推荐给终端,十分智能。
其中,在接收到终端的推荐请求时,可对终端的历史行为进行预处理,如可以过滤掉浏览时长较短的行为,或者获取预设时间内的行为等。
通过本申请实施例,通过获取不同用户历史行为以及对应不同用户历史行为的不同书籍以得到不同书籍行为二元组,通过从所述不同书籍行为二元组中获取训练样本进行训练得到所述不同书籍行为二元组分别对应的二元组表征向量和与书籍对应的书籍表征向量;通过计算不同表征向量之间的相似度,进而在获取终端的历史行为以及所述历史行为对应的书籍时可进行智能推荐。采用该手段,较现有技术的单一行为以及一元组,通过获取多种行为并构成不同书籍行为二元组,在训练时从多个维度进行约束,使得在进行精准推荐时准确度更高,提高了用户体验。
请参阅图5,图5为本申请实施例提供了一种书籍推荐方法的流程示意图。如图所示,其可包括步骤501-508,具体如下:
501、获取不同用户历史行为以及对应所述不同用户历史行为的不同书籍以得到不同书籍行为二元组;
具体地,服务器从行为-书籍数据库中获取不同用户的行为-书籍数据,可以是预设时间内的行为-书籍数据,如最近三个月,或者一年等时间段内的大量用户的行为-书籍数据,以得到不同用户的历史行为-书籍数据,然后根据该不同用户的历史行为-书籍数据得到书籍行为二元组,如根据时间先后构建不同用户的多个书籍行为二元组,由上述多个书籍行为二元组组成二元组序列。该行为-书籍数据库包含了大量用户的历史行为-书籍数据,如包括对应书籍的下载信息,或者查看详情信息,或者购买信息,或者浏览时长信息,浏览次数信息,以及设备号等。
502、从所述不同书籍行为二元组中获取第一预设行为对应的第一书籍行为二元组,以及获取第二预设行为对应的第二书籍行为二元组;
503、获取所述第一书籍行为二元组对应的第一书籍和所述第二书籍行为二元组对应的第二书籍,并将所述第一书籍作为全局正样本,将所述第二书籍作为全局负样本;
上述全局正样本如可以是所有书籍行为二元组中对应行为为购买或者读完等行为的书籍行为二元组所对应的书籍;上述全局负样本可以是所有书籍行为二元组中对应行为为一本书的统计阅读时长小于60s的行为的书籍行为二元组所对应的书籍。
504、从所述不同书籍行为二元组中获取第三书籍行为二元组,并获取近邻所述第三书籍行为二元组的至少两个书籍行为二元组;
505、将所述第三书籍行为二元组、所述至少两个书籍行为二元组、所述全局正样本、所述全局负样本以及所述第三书籍行为二元组对应的第三书籍均作为训练样本;
506、将所述多个训练样本分别输入至预设模型进行训练,以得到所述不同书籍分别对应的书籍表征向量;
其中,在训练前,还包括确定训练的损失函数,所述损失函数可表示为:
其中,<ai,bi>表示二元组;<a,b>in 2k表示二元组<a,b>窗口内的其他2k个二元组;bp in gp表示全局正样本;bn in gn表示全局负样本;<an,bn>in ns表示随机采样二元组负样本;θ表示自变量参数。
在求解上述损失函数的最小值时可通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。
该约束关系表示模型不仅学习了书籍行为二元组<Action,Book>之间的关系,以及书籍行为二元组和书籍<Book>一元组之间的关系,书籍行为二元组与书籍的约束保证包含相同书的二元组都围绕在相同书籍周围;书籍行为二元组与全局正样本或全局负样本之间则构建出书籍行为二元组和全局正例的关联。
507、分别计算所述不同书籍表征向量之间的相似度,并将超出第二预设阈值的相似度对应的书籍存储至第二数据库;
508、当接收终端发送的推荐请求时,获取所述终端的历史书籍,并将从所述第二数据库中获取的与所述历史书籍相似的书籍推荐至所述终端。
通过本申请实施例,通过获取不同用户历史行为以及对应不同用户历史行为的不同书籍以得到不同书籍行为二元组,通过从所述不同书籍行为二元组中获取训练样本进行训练得到所述不同书籍行为二元组分别对应的二元组表征向量和与书籍对应的书籍表征向量;通过计算不同表征向量之间的相似度,进而在获取终端的历史行为以及所述历史行为对应的书籍时可进行智能推荐。本申请实施例不仅学习了书籍行为二元组之间的关系,以及书籍行为二元组和书籍<Book>一元组之间的关系,书籍行为二元组与书籍的约束保证包含相同书的二元组都围绕在相同书籍周围;书籍行为二元组与全局正样本或全局负样本之间则构建出书籍行为二元组和全局正例的关联。通过设定上述模型,通过构建书籍行为二元组,较现有技术的一元组表示,在行为表示上更加丰富,更加具体,使得推荐书籍的依据基于多维数据,提高了推荐精度。
与上述实施例一致的,请参阅图6,图6为本申请实施例提供的一种书籍推荐服务器的结构示意图,如图所示,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,上述程序包括用于执行以下步骤的指令;
获取不同用户历史行为以及对应所述不同用户历史行为的不同书籍以得到不同书籍行为二元组;
从所述不同书籍行为二元组中获取多个训练样本,并将所述多个训练样本分别输入至预设模型进行训练,以得到不同表征向量;
获取所述不同表征向量之间的相似度,将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库;
获取终端的历史数据,根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端。
通过本申请实施例,通过获取不同用户历史行为以及对应不同用户历史行为的不同书籍以得到不同书籍行为二元组,通过从所述不同书籍行为二元组中获取训练样本进行训练得到所述不同书籍行为二元组分别对应的二元组表征向量和与书籍对应的书籍表征向量;通过计算不同表征向量之间的相似度,进而在获取终端的历史行为以及所述历史行为对应的书籍时可进行智能推荐。采用该手段,较现有技术的单一行为以及一元组,通过获取多种行为并构成不同书籍行为二元组,在训练时从多个维度进行约束,使得在进行精准推荐时准确度更高,提高了用户体验。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对终端进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
与上述一致的,请参阅图7,图7为本申请实施例提供了一种书籍推荐装置的结构示意图。其包括获取模块701、训练模块702、计算模块703以及推荐模块704,具体如下:
获取模块701,用于获取不同用户历史行为以及对应所述不同用户历史行为的不同书籍以得到不同书籍行为二元组;
训练模块702,用于从所述不同书籍行为二元组中获取多个训练样本,并将所述多个训练样本分别输入至预设模型进行训练,以得到不同表征向量;
计算模块703,用于获取所述不同表征向量之间的相似度,将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库;
推荐模块704,用于获取终端的历史数据,根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端。
可以看出,通过本申请实施例,通过获取不同用户历史行为以及对应不同用户历史行为的不同书籍以得到不同书籍行为二元组,通过从所述不同书籍行为二元组中获取训练样本进行训练得到所述不同书籍行为二元组分别对应的二元组表征向量和与书籍对应的书籍表征向量;通过计算不同表征向量之间的相似度,进而在获取终端的历史行为以及所述历史行为对应的书籍时可进行智能推荐。采用该手段,较现有技术的单一行为以及一元组,通过获取多种行为并构成不同书籍行为二元组,在训练时从多个维度进行约束,使得在进行精准推荐时准确度更高,提高了用户体验。
参照图8a-图8b所示,采用本申请实施例提供的书籍推荐方法以及书籍推荐装置,通过输入书籍行为二元组READINGTIME-凡人修仙传,可得到多个相似度极高的书籍行为二元组如图8a所示。当输入书籍流浪地球时,同样得到多个相似度极高的书籍如图8b所示。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种书籍推荐方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种书籍推荐方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在申请明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器、随机存取器、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (9)

1.一种书籍推荐方法,其特征在于,包括:
获取不同用户历史行为以及对应所述不同用户历史行为的不同书籍以得到不同书籍行为二元组;
从所述不同书籍行为二元组中获取第一预设行为对应的第一书籍行为二元组,以及获取第二预设行为对应的第二书籍行为二元组;
获取所述第一书籍行为二元组对应的第一书籍和所述第二书籍行为二元组对应的第二书籍,并将所述第一书籍作为全局正样本,将所述第二书籍作为全局负样本;
从所述不同书籍行为二元组中获取第三书籍行为二元组,并获取近邻所述第三书籍行为二元组的至少两个书籍行为二元组;
将所述第三书籍行为二元组、所述至少两个书籍行为二元组、所述全局正样本、所述全局负样本以及所述第三书籍行为二元组对应的第三书籍均作为训练样本,并将所述训练样本分别输入至预设模型进行训练,以得到不同表征向量;
获取所述不同表征向量之间的相似度,将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库;
获取终端的历史数据,根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端。
2.根据权利要求1所述的方法,其特征在于,所述不同表征向量包括所述不同书籍行为二元组分别对应的二元组表征向量,所述相似数据库包括第一数据库,所述获取所述不同表征向量之间的相似度,将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库,包括:
获取所述不同书籍行为二元组分别对应的二元组表征向量之间的相似度,将相似度大于第一预设阈值的二元组表征向量对应的书籍行为二元组存储至第一数据库。
3.根据权利要求2所述的方法,其特征在于,所述终端的历史数据包括终端的历史行为以及所述历史行为对应的书籍,所述根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端,包括:
根据所述终端的历史行为以及所述历史行为对应的书籍得到所述终端的书籍行为二元组;
从所述第一数据库中获取目标书籍行为二元组,将所述目标书籍行为二元组对应的书籍推荐至所述终端。
4.根据权利要求1所述的方法,其特征在于,所述不同表征向量包括所述不同书籍分别对应的书籍表征向量,所述相似数据库包括第二数据库,所述获取所述不同表征向量之间的相似度,将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库,包括:
获取所述不同书籍表征向量之间的相似度,将相似度大于第二预设阈值的书籍表征向量对应的书籍存储至第二数据库。
5.根据权利要求4所述的方法,其特征在于,所述终端的历史数据包括终端的历史书籍,所述根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端,包括:
从所述第二数据库中获取目标书籍,将所述目标书籍推荐至所述终端。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述获取不同用户历史行为以及对应所述不同用户历史行为的不同书籍以得到不同书籍行为二元组之后,所述将所述训练样本分别输入至预设模型进行训练之前,还包括确定训练的损失函数,其中所述损失函数表示为:
其中,<ai,bi>表示书籍行为二元组,ai为用户历史行为,bi为用户历史行为ai对应的书籍,为<ai,bi>的二元组表征向量,/>为bi的书籍表征向量;<a,b>in 2k表示二元组<a,b>窗口内的其他2k个二元组,va,b为<a,b>窗口内的其他2k个二元组的表征向量;bp in gp表示全局正样本,/>为全局正样本内任一正样本的表征向量;bn in gn表示全局负样本,为全局负样本内任一正样本的表征向量;<an,bn>in ns表示随机采样二元组负样本,为随机采样二元组负样本的表征向量;θ表示自变量参数。
7.一种书籍推荐装置,其特征在于,包括:
获取模块,用于获取不同用户历史行为以及对应所述不同用户历史行为的不同书籍以得到不同书籍行为二元组;
训练模块,用于从所述不同书籍行为二元组中获取第一预设行为对应的第一书籍行为二元组,以及获取第二预设行为对应的第二书籍行为二元组;获取所述第一书籍行为二元组对应的第一书籍和所述第二书籍行为二元组对应的第二书籍,并将所述第一书籍作为全局正样本,将所述第二书籍作为全局负样本;从所述不同书籍行为二元组中获取第三书籍行为二元组,并获取近邻所述第三书籍行为二元组的至少两个书籍行为二元组;将所述第三书籍行为二元组、所述至少两个书籍行为二元组、所述全局正样本、所述全局负样本以及所述第三书籍行为二元组对应的第三书籍均作为训练样本,并将所述训练样本分别输入至预设模型进行训练,以得到不同表征向量;
计算模块,用于获取所述不同表征向量之间的相似度,将满足预设条件的多个不同表征向量分别对应的书籍行为二元组或书籍分别存储至相似数据库;
推荐模块,用于获取终端的历史数据,根据所述历史数据从所述相似数据库中获取目标书籍行为二元组或目标书籍,将所述目标书籍行为二元组或目标书籍对应的书籍推荐至所述终端。
8.一种终端,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至6任意一项所述的方法。
CN201910672030.XA 2019-07-24 2019-07-24 一种书籍推荐方法及装置 Active CN110413888B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910672030.XA CN110413888B (zh) 2019-07-24 2019-07-24 一种书籍推荐方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910672030.XA CN110413888B (zh) 2019-07-24 2019-07-24 一种书籍推荐方法及装置

Publications (2)

Publication Number Publication Date
CN110413888A CN110413888A (zh) 2019-11-05
CN110413888B true CN110413888B (zh) 2024-05-10

Family

ID=68362891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910672030.XA Active CN110413888B (zh) 2019-07-24 2019-07-24 一种书籍推荐方法及装置

Country Status (1)

Country Link
CN (1) CN110413888B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111079039B (zh) * 2019-11-20 2024-02-09 上海连尚网络科技有限公司 一种用于收藏书籍的方法与设备
CN111143682A (zh) * 2019-12-27 2020-05-12 联想(北京)有限公司 一种数据处理方法、设备及存储介质
CN111008349B (zh) * 2020-03-09 2020-06-02 深圳博士创新技术转移有限公司 一种大数据信息推送处理方法及***
CN113239282A (zh) * 2021-06-22 2021-08-10 平安国际智慧城市科技股份有限公司 一种基于序列相似度计算的推荐方法、装置、介质及设备
CN114595384A (zh) * 2022-02-25 2022-06-07 北京字节跳动网络技术有限公司 书籍推荐方法、装置、电子设备及存储介质
CN114625876B (zh) * 2022-03-17 2024-04-16 北京字节跳动网络技术有限公司 作者特征模型的生成方法、作者信息处理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203518A (zh) * 2016-03-16 2017-09-26 阿里巴巴集团控股有限公司 在线***个性化推荐的方法、***以及装置、电子设备
CN107943871A (zh) * 2017-11-10 2018-04-20 深圳市华阅文化传媒有限公司 推荐用户阅读喜好的书籍的方法及装置
CN108509573A (zh) * 2018-03-27 2018-09-07 陕西科技大学 基于矩阵分解协同过滤算法的图书推荐方法及***
CN108520076A (zh) * 2018-04-19 2018-09-11 掌阅科技股份有限公司 电子书推荐方法、电子设备及计算机存储介质
CN109190044A (zh) * 2018-09-10 2019-01-11 北京百度网讯科技有限公司 个性化推荐方法、装置、服务器和介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203518A (zh) * 2016-03-16 2017-09-26 阿里巴巴集团控股有限公司 在线***个性化推荐的方法、***以及装置、电子设备
CN107943871A (zh) * 2017-11-10 2018-04-20 深圳市华阅文化传媒有限公司 推荐用户阅读喜好的书籍的方法及装置
CN108509573A (zh) * 2018-03-27 2018-09-07 陕西科技大学 基于矩阵分解协同过滤算法的图书推荐方法及***
CN108520076A (zh) * 2018-04-19 2018-09-11 掌阅科技股份有限公司 电子书推荐方法、电子设备及计算机存储介质
CN109190044A (zh) * 2018-09-10 2019-01-11 北京百度网讯科技有限公司 个性化推荐方法、装置、服务器和介质

Also Published As

Publication number Publication date
CN110413888A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN110413888B (zh) 一种书籍推荐方法及装置
US10958748B2 (en) Resource push method and apparatus
CN107515909B (zh) 一种视频推荐方法及***
CN111784455B (zh) 一种物品推荐方法及推荐设备
US9348898B2 (en) Recommendation system with dual collaborative filter usage matrix
CN110008397B (zh) 一种推荐模型训练方法及装置
CN108108821A (zh) 模型训练方法及装置
CN111061946A (zh) 场景化内容推荐方法、装置、电子设备及存储介质
CN110209922A (zh) 对象推荐方法、装置、存储介质及计算机设备
CN105095279B (zh) 文件推荐方法和装置
CN107704485A (zh) 一种职位推荐方法及计算设备
WO2014043655A2 (en) System and method for ranking creator endorsements
CN111782947A (zh) 一种搜索内容展示方法、装置、电子设备及存储介质
WO2015148420A1 (en) User inactivity aware recommendation system
WO2015153240A1 (en) Directed recommendations
CN112100221A (zh) 一种资讯推荐方法、装置、推荐服务器及存储介质
CN116108267A (zh) 一种推荐方法及相关设备
CN111680213B (zh) 信息推荐方法、数据处理方法及装置
CN110110218A (zh) 一种身份关联方法及终端
US9779460B2 (en) Systems, methods and non-transitory computer readable storage media for tracking and evaluating predictions regarding relationships
WO2023069330A1 (en) Searching for products through a social media platform
CN116764236A (zh) 游戏道具推荐方法、装置、计算机设备和存储介质
CN114529399A (zh) 用户数据处理方法、装置、计算机设备和存储介质
CN109408725B (zh) 用于确定用户兴趣的方法和装置
CN108431806A (zh) 辅助搜索查询

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
GR01 Patent grant
GR01 Patent grant