1.本发明涉及计算机技术领域,具体涉及一种书籍推荐方法、计算设备及计算机存储介质。
背景技术:2.电子书形式的书籍由于具有获取方便等优势,受到了大量用户的喜爱。为了能够将更多用户的引流书籍阅读平台,通常进行书籍推荐以实现拉活拉新,然而,现有技术主要是通过人工方式来选择推荐的书籍,而这种选取方式主要依赖人员的主观经验,书籍推荐成功率低,而且选取要推荐的书籍花费较长时间,书籍推荐效率低。
技术实现要素:3.鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的书籍推荐方法、计算设备及计算机存储介质。
4.根据本发明的一个方面,提供了一种书籍推荐方法,包括:
5.获取推荐成功的第一书籍及推荐失败的第二书籍;
6.分别计算第一书籍、第二书籍与书籍库中书籍之间的相似度,从书籍库中筛选出与第一书籍相似度大于或等于第一预设阈值的书籍,生成第一书籍队列,从书籍库中筛选出与第二书籍相似度大于或等于第二预设阈值的书籍,生成第二书籍队列;
7.根据第二书籍队列中的书籍,对第一书籍队列中的书籍进行过滤,得到过滤后的书籍推荐队列;
8.根据书籍推荐队列向用户推荐书籍。
9.根据本发明的另一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
10.存储器用于存放至少一可执行指令,可执行指令使处理器执行以下操作:
11.获取推荐成功的第一书籍及推荐失败的第二书籍;
12.分别计算第一书籍、第二书籍与书籍库中书籍之间的相似度,从书籍库中筛选出与第一书籍相似度大于或等于第一预设阈值的书籍,生成第一书籍队列,从书籍库中筛选出与第二书籍相似度大于或等于第二预设阈值的书籍,生成第二书籍队列;
13.根据第二书籍队列中的书籍,对第一书籍队列中的书籍进行过滤,得到过滤后的书籍推荐队列;
14.根据书籍推荐队列向用户推荐书籍。
15.根据本发明的又一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述书籍推荐方法对应的操作。
16.本发明提供的方案,基于推荐成功的第一书籍及推荐失败的第二书籍来做相似书籍的筛选,确定出与第一书籍相似的第一书籍队列,以及与第二书籍相似的第二书籍队列,并根据第二书籍队列对第一书籍队列进行过滤,得到书籍推荐队列,并根据书籍推荐队列
向用户推荐书籍,由此提升了书籍推荐成功率,避免了用户对所推荐的书籍不感兴趣进而导致用户流失,另外,提升了书籍推荐效率,而且实现了动态选书,动态投放以及个性化推荐,达到了千人千面的效果。
17.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
18.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
19.图1示出了根据本发明一个实施例的书籍推荐方法的流程示意图;
20.图2示出了根据本发明另一个实施例的书籍推荐方法的流程示意图;
21.图3示出了根据本发明一个实施例的计算设备的结构示意图。
具体实施方式
22.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
23.图1示出了根据本发明一个实施例的书籍推荐方法的流程示意图。如图1所示,该方法包括以下步骤:
24.步骤s101,针对任一用户,获取推荐成功的第一书籍及推荐失败的第二书籍。
25.推荐成功的第一书籍是被认可的书籍,推荐失败的书籍是未被认可的书籍,例如,可以通过书籍曝光量、阅读时长、用户流失率、用户对书籍的反馈结果等来确定书籍是否推荐成功。
26.反馈结果包括正向反馈和负向反馈,正向反馈是指用户对书籍做出的一些正向评价,例如,值得推荐、喜欢这本书、好看等评价,负向反馈是指用户对书籍做出的一些负向评价,例如,不喜欢、不好看等评价。因此,可以通过统计用户对推荐书籍的反馈结果,根据用户对推荐书籍的反馈结果获取推荐成功的第一书籍及推荐失败的第二书籍。
27.或者,业务端根据书籍曝光量、反馈结果、阅读时长或用户流失率等对书籍进行标注,反馈结果是正向反馈的书籍被标注为推荐成功,书籍曝光量大于或等于预设数量或阅读时长大于或等于预设时长或用户流失率小于预设流失率的书籍被标注为推荐成功,反馈结果是负向反馈的书籍被标注为推荐失败,书籍曝光量小于预设数量或阅读时长小于预设时长或用户流失率大于或等于预设流失率的书籍被标注为推荐失败,在标注书籍队列中存储了推荐成功的第一书籍和推荐失败的第二书籍,可以从标注书籍队列中获取推荐成功的第一书籍及推荐失败的第二书籍。
28.对于不同用户,所获取的推荐成功的第一书籍及推荐失败的第二书籍是不同的,因此,基于第一书籍及第二书籍所最终确定的书籍推荐队列是不同的,从而实现了向用户
个性化推荐书籍,达到了千人千面的效果。
29.步骤s102,分别计算第一书籍、第二书籍与书籍库中书籍之间的相似度,从书籍库中筛选出与第一书籍相似度大于或等于第一预设阈值的书籍,生成第一书籍队列,从书籍库中筛选出与第二书籍相似度大于或等于第二预设阈值的书籍,生成第二书籍队列。
30.为了能够提升书籍推荐的成功率,本实施例是通过查找与第一书籍及第二书籍相似书籍的方式来进行书籍推荐,具体地,分别计算第一书籍、第二书籍与书籍库中书籍之间的相似度,其中,相似度反映了两本书籍的相似性,然后,根据相似度对书籍库中的书籍进行筛选,比如,从书籍库中筛选出与第一书籍相似度大于或等于第一预设阈值的书籍,生成第一书籍队列,从书籍库中筛选出与第二书籍相似度大于或等于第二预设阈值的书籍,生成第二书籍队列,其中,第一预设阈值及第二预设阈值可以根据实际需要而灵活设置。
31.为了有效降低第一书籍队列中与第一书籍相似的书籍的数量,可以将第一预设阈值设置的高一点,例如,设置为0.8或0.9,而为了增加第二书籍队列中与第二书籍相似的书籍的数量,可以将第二预设阈值设置的低一点,例如,设置为0.3或0.4,这里仅是举例说明,不具有任何限定作用。
32.步骤s103,根据第二书籍队列中的书籍,对第一书籍队列中的书籍进行过滤,得到过滤后的书籍推荐队列。
33.具体地,步骤s102中所生成的第一书籍队列和第二书籍队列中可能存在相同的书籍,第二书籍队列中的书籍是与推荐失败的第二书籍相似的一些书籍,为了避免再次推荐失败,需要对第一书籍队列中的书籍进行过滤,在进行过滤时,主要是依据第二书籍队列中的书籍,对第一书籍队列中的书籍进行过滤,例如,针对第二书籍队列中的任一书籍,判断第一书籍队列中是否存在书籍,若是,则从第一书籍队列中删除书籍,当对第二书籍队列中所有的书籍均完成上述判断处理后,仍然保留在第一书籍队列中的书籍即可构成过滤后的书籍推荐队列。通过过滤,使得过滤后的书籍推荐队列仅包含与第一书籍相似的书籍,而不再包含同时与第二书籍相似的书籍,从而避免了向用户推荐一些与推荐失败的第二书籍相似的书籍,而导致用户对所推荐的书籍不感兴趣的情况。
34.步骤s104,根据书籍推荐队列向用户推荐书籍。
35.具体地,书籍推荐队列中的书籍是与推荐成功的第一书籍相似的书籍,因此,根据书籍推荐队列向用户推荐书籍,能够有效提升推荐成功率。
36.本发明提供的方案,基于推荐成功的第一书籍及推荐失败的第二书籍来做相似书籍的筛选,确定出与第一书籍相似的第一书籍队列,以及与第二书籍相似的第二书籍队列,并根据第二书籍队列对第一书籍队列进行过滤,得到书籍推荐队列,并根据书籍推荐队列向用户推荐书籍,由此提升了书籍推荐成功率,避免了用户对所推荐的书籍不感兴趣进而导致用户流失,另外,提升了书籍推荐效率,而且实现了动态选书,动态投放以及个性化推荐,达到了千人千面的效果。
37.图2示出了根据本发明另一个实施例的书籍推荐方法的流程示意图。如图2所示,该方法包括以下步骤:
38.步骤s201,针对任一用户,获取推荐成功的第一书籍及推荐失败的第二书籍。
39.本步骤与图1所示实施例中的步骤s101类似,这里不再赘述。
40.步骤s202,从书籍库中筛选出第一书籍对应的至少一本第一共现书籍、第二书籍
对应的至少一本第二共现书籍。
41.共现指同一用户共同访问,第一书籍对应的第一共现书籍指在预设时间段内用户访问第一书籍之前或之后,该用户访问的书籍,例如,书籍库中包含书籍1、书籍2、书籍3,用户在预设时间内先后访问了第一书籍、书籍1、书籍3,那么第一书籍对应的第一共现书籍为书籍1、书籍3。第二书籍对应的至少一本第二共现书籍指在预设时间段内用户访问第二书籍之前或之后,该用户访问的书籍。
42.为了提升书籍推荐的成功率,需要从书籍库中筛选出第一书籍对应的至少一本第一共现书籍、第二书籍对应的至少一本第二共现书籍,具体地,用户每次访问书籍后都会记录用户行为日志,用户行为日志中记录了用户信息、用户行为种类、用户行为产生时间、用户行为针对的对象等信息,从而可以基于用户行为日志来进行筛选第一书籍对应的至少一本第一共现书籍、第二书籍对应的至少一本第二共现书籍。
43.步骤s203,基于用户行为数据计算第一书籍与至少一本第一共现书籍之间的相似度,以及计算第二书籍与至少一本第二共现书籍之间的相似度,筛选出与第一书籍相似度大于或等于第一预设阈值的第一共现书籍,生成第一书籍队列,筛选出与第二书籍相似度大于或等于第二预设阈值的第二共现书籍,生成第二书籍队列。
44.其中,用户行为数据包括以下数据中的一项或多项:用户阅读书籍行为数据、用于下载书籍行为数据、书籍添加至书架行为数据、用户购买书籍行为数据、用户分享书籍行为数据。这里统计全网用户对应的用户行为数据,且是在用户授权情况下获得。基于用户行为数据计算第一书籍与至少一本第一共现书籍之间的相似度,以及计算第二书籍与至少一本第二共现书籍之间的相似度,例如,可以利用node2vec算法、双塔召回算法、item_cf算法来计算相似度,在完成相似度计算后,根据相似度对筛选出的第一共现书籍、第二共现书籍再次进行筛选,比如,筛选出与第一书籍相似度大于或等于第一预设阈值的第一共现书籍,生成第一书籍队列,筛选出与第二书籍相似度大于或等于第二预设阈值的第二共现书籍,生成第二书籍队列,其中,第一预设阈值及第二预设阈值可以根据实际需要而灵活设置。
45.步骤s204,根据第二书籍队列中的书籍,对第一书籍队列中的书籍进行过滤,得到过滤后的书籍推荐队列。
46.本步骤与图1所示实施例中的步骤s103类似,这里不再赘述。
47.步骤s205,针对过滤后的书籍推荐队列中任一书籍,统计书籍对应的阅读时长和/或用户流失率。
48.虽然步骤s204得到的过滤后的书籍推荐队列中的书籍是与第一书籍非常相似的书籍,但是很可能过滤后的书籍推荐队列中的部分书籍本身质量相对较差,为了避免向用户推荐这类质量较差的书籍,需要进行书籍筛选,通常情况下,阅读时长和/或用户流失率能够反映出书籍的质量,书籍质量高,用户会花费更多的时间阅读书籍,相应的用户流失率越低,书籍质量低,用户则花费较短的时间阅读书籍,相应的用户流失率越高,因此,在根据步骤s204得到过滤后的书籍推荐队列之后,针对过滤后的书籍推荐队列中任一书籍,统计书籍对应的阅读时长和/或用户流失率,以根据阅读时长和/或用户流失率对过滤后的书籍队列中的书籍进行筛选。
49.步骤s206,基于阅读时长和/或用户流失率对过滤后的书籍推荐队列内的书籍进行筛选,得到筛选后的书籍推荐队列。
50.在根据步骤s205统计得到书籍对应的阅读时长和/或用户流失率之后,基于阅读时长和/或用户流失率对过滤后的书籍推荐队列内的书籍进行筛选,例如,从过滤后的书籍推荐队列中筛选出阅读时长大于或等于预设时长的书籍,和/或,筛选出用户流失率小于预设流失率的书籍,得到筛选后的书籍推荐队列,其中,预设时长及预设流失率可以根据实际需要而设置,这里不做具体限定。通过筛选,能够把质量较差的书籍过滤掉,进一步提升了后续书籍推荐成功率。
51.步骤s207,根据相似度、阅读时长和/或用户流失率计算书籍推荐评分。
52.为了有效控制书籍推荐队列中书籍的数量,也为了进一步提升书籍推荐成功率,这里可以根据相似度、阅读时长和/或用户流失率计算书籍推荐评分,例如,预先设置相似度、阅读时长、用户流失率对应的权重,根据相应的权重来加权计算书籍推荐评分。
53.步骤s208,根据书籍推荐评分对筛选后的书籍推荐队列内的书籍进行排序,基于排序结果筛选预设数量的书籍,得到排序后的书籍推荐队列。
54.在计算得到书籍推荐评分之后,根据书籍推荐评分对筛选后的书籍推荐队列内的书籍进行排序,例如,按照书籍推荐评分由高至低或者由低至高的顺序对筛选后的书籍推荐队列内的书籍进行排序,然后选取书籍推荐评分最高的预设数量的书籍,例如,选取书籍推荐评分最高的100本书籍,这100本书籍构成了排序后的书籍推荐队列。
55.步骤s209,根据排序后的书籍推荐队列向用户推荐书籍。
56.具体地,排序后的书籍推荐队列中的书籍是与推荐成功的第一书籍相似的书籍,因此,根据排序后的书籍推荐队列向用户推荐书籍,在推荐时,优先向用户推荐书籍评分高的书籍,以有效提升推荐成功率。
57.需要说明的是,步骤s207及步骤s208是可选步骤,即,在根据步骤s206得到筛选后的书籍推荐队列,可以直接根据筛选后的书籍推荐队列向用户推荐书籍。
58.在本发明一种可选实施方式中,还可以通过如下方法来计算第一书籍、第二书籍与书籍库中书籍之间的相似度:获取第一书籍的第一书籍简介及预设章节的第一章节文本内容,获取第二书籍的第二书籍简介及预设章节的第二章节文本内容,以及,获取书籍库中书籍的第三书籍简介及预设章节的第三章节文本内容;
59.利用预设相似性算法,根据第一书籍简介、第一章节文本内容、第三书籍简介、第三章节文本内容计算第一书籍与书籍库中书籍之间的相似度,根据第二书籍简介、第二章节文本内容、第三书籍简介、第三章节文本内容计算第二书籍与书籍库中书籍之间的相似度。
60.具体地,书籍简介是对书籍的简单介绍,是对整本书籍做的简要概括,而章节内容则是书籍详细内容,为了较为准确地衡量两本书籍的相似性,这里获取第一书籍的第一书籍简介及预设章节的第一章节文本内容,获取第二书籍的第二书籍简介及预设章节的第二章节文本内容,以及,获取书籍库中书籍的第三书籍简介及预设章节的第三章节文本内容,根据第一书籍简介及第一章节文本内容生成第一书籍对应的第一书籍向量,根据第二书籍简介及第二章节文本内容生成第二书籍对应的第二书籍向量,根据第三书籍简介及第三章节文本内容生成书籍库中书籍对应的第三书籍向量,利用预设算法,例如,余弦相似度、欧式距离、曼哈顿距离等算法计算第一书籍向量与第三书籍向量之间的相似度,该相似度即为第一书籍与书籍库中书籍之间的相似度,计算第二书籍向量与第三书籍向量之间的相似
度,该相似度即为第二书籍与书籍库中书籍之间的相似度。
61.在本发明一种可选实施方式中,还可以通过如下方法来计算第一书籍、第二书籍与书籍库中书籍之间的相似度:获取第一书籍的第一书籍标签、第一书籍作者和/或第一书籍分类,获取第二书籍的第二书籍标签、第二书籍作者和/或第二书籍分类,以及,获取书籍库中书籍的第三书籍标签、第三书籍作者和/或第三书籍分类;
62.根据第一书籍标签、第一书籍作者和/或第一书籍分类、第三书籍标签、第三书籍作者和/或第三书籍分类计算第一书籍与书籍库中书籍之间的相似度,根据第二书籍标签、第二书籍作者和/或第二书籍分类、第三书籍标签、第三书籍作者和/或第三书籍分类计算第二书籍与书籍库中书籍之间的相似度。
63.为了较为准确地衡量两本书籍的相似性,这里获取第一书籍的第一书籍标签、第一书籍作者和/或第一书籍分类,获取第二书籍的第二书籍标签、第二书籍作者和/或第二书籍分类,以及,获取书籍库中书籍的第三书籍标签、第三书籍作者和/或第三书籍分类,判断第一书籍标签与第三书籍标签是否相同,第一书籍作者与第三书籍作者是否相同,第一书籍分类与第三书籍分类是否相同,判断第二书籍标签与第三书籍标签是否相同,第二书籍作者与第三书籍作者是否相同,第二书籍分类与第三书籍分类是否相同,根据判断结果来确定相似度,若不同,可以确定不相似,若相同,可以确定相似。
64.本发明提供的方案,基于推荐成功的第一书籍及推荐失败的第二书籍来做相似书籍的筛选,确定出与第一书籍相似的第一书籍队列,以及与第二书籍相似的第二书籍队列,并根据第二书籍队列对第一书籍队列进行过滤,之后又进行多次过滤得到书籍推荐队列,并根据书籍推荐队列向用户推荐书籍,由此提升了书籍推荐成功率,避免了用户对所推荐的书籍不感兴趣进而导致用户流失,另外,提升了书籍推荐效率,而且实现了动态选书,动态投放以及个性化推荐,达到了千人千面的效果。
65.本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的书籍推荐方法。
66.可执行指令具体可以用于使得处理器执行以下操作:
67.针对任一用户,获取推荐成功的第一书籍及推荐失败的第二书籍;
68.分别计算第一书籍、第二书籍与书籍库中书籍之间的相似度,从书籍库中筛选出与第一书籍相似度大于或等于第一预设阈值的书籍,生成第一书籍队列,从书籍库中筛选出与第二书籍相似度大于或等于第二预设阈值的书籍,生成第二书籍队列;
69.根据第二书籍队列中的书籍,对第一书籍队列中的书籍进行过滤,得到过滤后的书籍推荐队列;
70.根据书籍推荐队列向用户推荐书籍。
71.在一种可选的实现方式中,可执行指令还使处理器执行以下操作:
72.针对过滤后的书籍推荐队列中任一书籍,统计书籍对应的阅读时长和/或用户流失率;
73.基于阅读时长和/或用户流失率对过滤后的书籍推荐队列内的书籍进行筛选,得到筛选后的书籍推荐队列;
74.根据书籍推荐队列向用户推荐书籍进一步包括:根据筛选后的书籍推荐队列向用户推荐书籍。
75.在一种可选的实现方式中,可执行指令还使处理器执行以下操作:
76.根据相似度、阅读时长和/或用户流失率计算书籍推荐评分;
77.根据书籍推荐评分对筛选后的书籍推荐队列内的书籍进行排序,基于排序结果筛选预设数量的书籍,得到排序后的书籍推荐队列;
78.根据书籍推荐队列向用户推荐书籍进一步包括:根据排序后的书籍推荐队列向用户推荐书籍。
79.在一种可选的实现方式中,可执行指令进一步使处理器执行以下操作:
80.从书籍库中筛选出第一书籍对应的至少一本第一共现书籍、第二书籍对应的至少一本第二共现书籍;
81.基于用户行为数据计算第一书籍与至少一本第一共现书籍之间的相似度,以及计算第二书籍与至少一本第二共现书籍之间的相似度。
82.在一种可选的实现方式中,用户行为数据包括以下数据中的一项或多项:用户阅读书籍行为数据、用于下载书籍行为数据、书籍添加至书架行为数据、用户购买书籍行为数据、用户分享书籍行为数据。
83.在一种可选的实现方式中,可执行指令进一步使处理器执行以下操作:
84.获取第一书籍的第一书籍简介及预设章节的第一章节文本内容,获取第二书籍的第二书籍简介及预设章节的第二章节文本内容,以及,获取书籍库中书籍的第三书籍简介及预设章节的第三章节文本内容;
85.利用预设相似性算法,根据第一书籍简介、第一章节文本内容、第三书籍简介、第三章节文本内容计算第一书籍与书籍库中书籍之间的相似度,根据第二书籍简介、第二章节文本内容、第三书籍简介、第三章节文本内容计算第二书籍与书籍库中书籍之间的相似度。
86.在一种可选的实现方式中,可执行指令进一步使处理器执行以下操作:
87.获取第一书籍的第一书籍标签、第一书籍作者和/或第一书籍分类,获取第二书籍的第二书籍标签、第二书籍作者和/或第二书籍分类,以及,获取书籍库中书籍的第三书籍标签、第三书籍作者和/或第三书籍分类;
88.根据第一书籍标签、第一书籍作者和/或第一书籍分类、第三书籍标签、第三书籍作者和/或第三书籍分类计算第一书籍与书籍库中书籍之间的相似度,根据第二书籍标签、第二书籍作者和/或第二书籍分类、第三书籍标签、第三书籍作者和/或第三书籍分类计算第二书籍与书籍库中书籍之间的相似度。
89.图3示出了根据本发明一个实施例的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
90.如图3所示,该计算设备可以包括:处理器(processor)302、通信接口(communications interface)304、存储器(memory)306、以及通信总线308。
91.其中:处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。
92.通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。
93.处理器302,用于执行程序310,具体可以执行上述书籍推荐方法实施例中的相关步骤。
94.具体地,程序310可以包括程序代码,该程序代码包括计算机操作指令。
95.处理器302可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
96.存储器306,用于存放程序310。存储器306可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
97.程序310具体可以用于使得处理器302执行以下操作:
98.针对任一用户,获取推荐成功的第一书籍及推荐失败的第二书籍;
99.分别计算第一书籍、第二书籍与书籍库中书籍之间的相似度,从书籍库中筛选出与第一书籍相似度大于或等于第一预设阈值的书籍,生成第一书籍队列,从书籍库中筛选出与第二书籍相似度大于或等于第二预设阈值的书籍,生成第二书籍队列;
100.根据第二书籍队列中的书籍,对第一书籍队列中的书籍进行过滤,得到过滤后的书籍推荐队列;
101.根据书籍推荐队列向用户推荐书籍。
102.在一种可选的实现方式中,程序310还使处理器302执行以下操作:
103.针对过滤后的书籍推荐队列中任一书籍,统计书籍对应的阅读时长和/或用户流失率;
104.基于阅读时长和/或用户流失率对过滤后的书籍推荐队列内的书籍进行筛选,得到筛选后的书籍推荐队列;
105.根据书籍推荐队列向用户推荐书籍进一步包括:根据筛选后的书籍推荐队列向用户推荐书籍。
106.在一种可选的实现方式中,程序310还使处理器302执行以下操作:
107.根据相似度、阅读时长和/或用户流失率计算书籍推荐评分;
108.根据书籍推荐评分对筛选后的书籍推荐队列内的书籍进行排序,基于排序结果筛选预设数量的书籍,得到排序后的书籍推荐队列;
109.根据书籍推荐队列向用户推荐书籍进一步包括:根据排序后的书籍推荐队列向用户推荐书籍。
110.在一种可选的实现方式中,程序310进一步使处理器302执行以下操作:从书籍库中筛选出第一书籍对应的至少一本第一共现书籍、第二书籍对应的至少一本第二共现书籍;
111.基于用户行为数据计算第一书籍与至少一本第一共现书籍之间的相似度,以及计算第二书籍与至少一本第二共现书籍之间的相似度。
112.在一种可选的实现方式中,用户行为数据包括以下数据中的一项或多项:用户阅读书籍行为数据、用于下载书籍行为数据、书籍添加至书架行为数据、用户购买书籍行为数据、用户分享书籍行为数据。
113.在一种可选的实现方式中,程序310还使处理器302执行以下操作:
114.获取第一书籍的第一书籍简介及预设章节的第一章节文本内容,获取第二书籍的第二书籍简介及预设章节的第二章节文本内容,以及,获取书籍库中书籍的第三书籍简介
及预设章节的第三章节文本内容;
115.利用预设相似性算法,根据第一书籍简介、第一章节文本内容、第三书籍简介、第三章节文本内容计算第一书籍与书籍库中书籍之间的相似度,根据第二书籍简介、第二章节文本内容、第三书籍简介、第三章节文本内容计算第二书籍与书籍库中书籍之间的相似度。
116.在一种可选的实现方式中,程序310还使处理器302执行以下操作:
117.获取第一书籍的第一书籍标签、第一书籍作者和/或第一书籍分类,获取第二书籍的第二书籍标签、第二书籍作者和/或第二书籍分类,以及,获取书籍库中书籍的第三书籍标签、第三书籍作者和/或第三书籍分类;
118.根据第一书籍标签、第一书籍作者和/或第一书籍分类、第三书籍标签、第三书籍作者和/或第三书籍分类计算第一书籍与书籍库中书籍之间的相似度,根据第二书籍标签、第二书籍作者和/或第二书籍分类、第三书籍标签、第三书籍作者和/或第三书籍分类计算第二书籍与书籍库中书籍之间的相似度。
119.在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
120.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
121.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
122.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
123.此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之
一都可以以任意的组合方式来使用。
124.本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
125.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
126.本发明公开了:a1.一种书籍推荐方法,包括:
127.针对任一用户,获取推荐成功的第一书籍及推荐失败的第二书籍;
128.分别计算所述第一书籍、所述第二书籍与书籍库中书籍之间的相似度,从所述书籍库中筛选出与所述第一书籍相似度大于或等于第一预设阈值的书籍,生成第一书籍队列,从所述书籍库中筛选出与所述第二书籍相似度大于或等于第二预设阈值的书籍,生成第二书籍队列;
129.根据所述第二书籍队列中的书籍,对所述第一书籍队列中的书籍进行过滤,得到过滤后的书籍推荐队列;
130.根据书籍推荐队列向用户推荐书籍。
131.a2.根据a1所述的方法,其中,在根据所述第二书籍队列中的书籍,对所述第一书籍队列中的书籍进行过滤,得到过滤后的书籍推荐队列之后,所述方法还包括:
132.针对过滤后的书籍推荐队列中任一书籍,统计所述书籍对应的阅读时长和/或用户流失率;
133.基于所述阅读时长和/或所述用户流失率对过滤后的书籍推荐队列内的书籍进行筛选,得到筛选后的书籍推荐队列;
134.所述根据书籍推荐队列向用户推荐书籍进一步包括:根据筛选后的书籍推荐队列向用户推荐书籍。
135.a3.根据a2所述的方法,其中,在基于所述阅读时长和/或所述用户流失率对过滤后的书籍推荐队列内的书籍进行筛选,得到筛选后的书籍推荐队列之后,所述方法还包括:
136.根据相似度、阅读时长和/或用户流失率计算书籍推荐评分;
137.根据所述书籍推荐评分对筛选后的书籍推荐队列内的书籍进行排序,基于排序结果筛选预设数量的书籍,得到排序后的书籍推荐队列;
138.所述根据书籍推荐队列向用户推荐书籍进一步包括:根据排序后的书籍推荐队列
向用户推荐书籍。
139.a4.根据a1-a3中任一项所述的方法,其中,所述分别计算所述第一书籍、所述第二书籍与书籍库中书籍之间的相似度进一步包括:
140.从所述书籍库中筛选出第一书籍对应的至少一本第一共现书籍、第二书籍对应的至少一本第二共现书籍;
141.基于用户行为数据计算所述第一书籍与至少一本第一共现书籍之间的相似度,以及计算第二书籍与至少一本第二共现书籍之间的相似度。
142.a5.根据a4所述的方法,其中,所述用户行为数据包括以下数据中的一项或多项:用户阅读书籍行为数据、用于下载书籍行为数据、书籍添加至书架行为数据、用户购买书籍行为数据、用户分享书籍行为数据。
143.a6.根据a1-a5中任一项所述的方法,其中,所述分别计算所述第一书籍、所述第二书籍与书籍库中书籍之间的相似度进一步包括:
144.获取所述第一书籍的第一书籍简介及预设章节的第一章节文本内容,获取所述第二书籍的第二书籍简介及预设章节的第二章节文本内容,以及,获取书籍库中书籍的第三书籍简介及预设章节的第三章节文本内容;
145.利用预设相似性算法,根据第一书籍简介、第一章节文本内容、第三书籍简介、第三章节文本内容计算所述第一书籍与书籍库中书籍之间的相似度,根据第二书籍简介、第二章节文本内容、第三书籍简介、第三章节文本内容计算所述第二书籍与书籍库中书籍之间的相似度。
146.a7.根据a1-a6中任一项所述的方法,其中,所述分别计算所述第一书籍、所述第二书籍与书籍库中书籍之间的相似度进一步包括:
147.获取第一书籍的第一书籍标签、第一书籍作者和/或第一书籍分类,获取第二书籍的第二书籍标签、第二书籍作者和/或第二书籍分类,以及,获取书籍库中书籍的第三书籍标签、第三书籍作者和/或第三书籍分类;
148.根据第一书籍标签、第一书籍作者和/或第一书籍分类、第三书籍标签、第三书籍作者和/或第三书籍分类计算所述第一书籍与书籍库中书籍之间的相似度,根据第二书籍标签、第二书籍作者和/或第二书籍分类、第三书籍标签、第三书籍作者和/或第三书籍分类计算所述第二书籍与书籍库中书籍之间的相似度。
149.b8.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
150.所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下操作:
151.针对任一用户,获取推荐成功的第一书籍及推荐失败的第二书籍;
152.分别计算所述第一书籍、所述第二书籍与书籍库中书籍之间的相似度,从所述书籍库中筛选出与所述第一书籍相似度大于或等于第一预设阈值的书籍,生成第一书籍队列,从所述书籍库中筛选出与所述第二书籍相似度大于或等于第二预设阈值的书籍,生成第二书籍队列;
153.根据所述第二书籍队列中的书籍,对所述第一书籍队列中的书籍进行过滤,得到过滤后的书籍推荐队列;
154.根据书籍推荐队列向用户推荐书籍。
155.b9.根据b8所述的计算设备,其中,所述可执行指令还使所述处理器执行以下操作:
156.针对过滤后的书籍推荐队列中任一书籍,统计所述书籍对应的阅读时长和/或用户流失率;
157.基于所述阅读时长和/或所述用户流失率对过滤后的书籍推荐队列内的书籍进行筛选,得到筛选后的书籍推荐队列;
158.所述根据书籍推荐队列向用户推荐书籍进一步包括:根据筛选后的书籍推荐队列向用户推荐书籍。
159.b10.根据b9所述的计算设备,其中,所述可执行指令还使所述处理器执行以下操作:
160.根据相似度、阅读时长和/或用户流失率计算书籍推荐评分;
161.根据所述书籍推荐评分对筛选后的书籍推荐队列内的书籍进行排序,基于排序结果筛选预设数量的书籍,得到排序后的书籍推荐队列;
162.所述根据书籍推荐队列向用户推荐书籍进一步包括:根据排序后的书籍推荐队列向用户推荐书籍。
163.b11.根据b8-b10中任一项所述的计算设备,其中,所述可执行指令进一步使所述处理器执行以下操作:
164.从所述书籍库中筛选出第一书籍对应的至少一本第一共现书籍、第二书籍对应的至少一本第二共现书籍;
165.基于用户行为数据计算所述第一书籍与至少一本第一共现书籍之间的相似度,以及计算第二书籍与至少一本第二共现书籍之间的相似度。
166.b12.根据b11所述的计算设备,其中,所述用户行为数据包括以下数据中的一项或多项:用户阅读书籍行为数据、用于下载书籍行为数据、书籍添加至书架行为数据、用户购买书籍行为数据、用户分享书籍行为数据。
167.b13.根据b8-b12中任一项所述的计算设备,其中,所述可执行指令进一步使所述处理器执行以下操作:
168.获取所述第一书籍的第一书籍简介及预设章节的第一章节文本内容,获取所述第二书籍的第二书籍简介及预设章节的第二章节文本内容,以及,获取书籍库中书籍的第三书籍简介及预设章节的第三章节文本内容;
169.利用预设相似性算法,根据第一书籍简介、第一章节文本内容、第三书籍简介、第三章节文本内容计算所述第一书籍与书籍库中书籍之间的相似度,根据第二书籍简介、第二章节文本内容、第三书籍简介、第三章节文本内容计算所述第二书籍与书籍库中书籍之间的相似度。
170.b14.根据b8-b13中任一项所述的计算设备,其中,所述可执行指令进一步使所述处理器执行以下操作:
171.获取第一书籍的第一书籍标签、第一书籍作者和/或第一书籍分类,获取第二书籍的第二书籍标签、第二书籍作者和/或第二书籍分类,以及,获取书籍库中书籍的第三书籍标签、第三书籍作者和/或第三书籍分类;
172.根据第一书籍标签、第一书籍作者和/或第一书籍分类、第三书籍标签、第三书籍作者和/或第三书籍分类计算所述第一书籍与书籍库中书籍之间的相似度,根据第二书籍标签、第二书籍作者和/或第二书籍分类、第三书籍标签、第三书籍作者和/或第三书籍分类计算所述第二书籍与书籍库中书籍之间的相似度。
173.c15.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如a1-a7中任一项所述的书籍推荐方法对应的操作。