CN111737568A - 一种网络文学书籍个性化推荐方法及系统 - Google Patents
一种网络文学书籍个性化推荐方法及系统 Download PDFInfo
- Publication number
- CN111737568A CN111737568A CN202010478957.2A CN202010478957A CN111737568A CN 111737568 A CN111737568 A CN 111737568A CN 202010478957 A CN202010478957 A CN 202010478957A CN 111737568 A CN111737568 A CN 111737568A
- Authority
- CN
- China
- Prior art keywords
- user
- book
- data set
- reading
- 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.)
- 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/9535—Search customisation based on user profiles and personalisation
-
- 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/9538—Presentation of query results
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种网络文学书籍个性化推荐方法及系统,所述方法包括:收集用户每日阅读网络书籍的数据,其中,所述数据包括用户UID、书籍itemid、阅读章节chap、行为时间戳tmstamp;将收集到的所述数据合并处理以形成用户阅读数据集UIDhistory;对所述用户阅读数据集UIDhistory进行处理以形成第一数据集itemslice和第二数据集UIDitems;去掉所述用户阅读数据集UIDhistory中的所述起始时间starttm,构成所述第二数据集UIDitems;计算网络书籍的多维浮点数向量;计算用户的多维浮点数向量;计算所有网络书籍的最近邻候选集;筛选用户偏好的网络书籍候选集I;对所述候选集I中的每一本书籍排序形成推荐列表。
Description
技术领域
本发明涉及一种个性化推荐领域,特别涉及一种网络文学书籍个性化推荐方法及系统。
背景技术
随着互联网信息的爆炸式增长,用户如何获取感兴趣的信息逐渐成为一个问题,个性化推荐技术提供了解决这一问题的大体框架。在购物、电影、音乐、新闻等互联网应用场景中,许多具体的个性化推荐版本被实现。网络书籍阅读近年来也成为一个重要的互联网应用场景,大量用户开始习惯在网络书籍站点阅读,并投入大量的业余时间。
将其他应用场景的个性化推荐版本移植到网络书籍场景,不失为一种明智的做法,但场景之间的区别需要我们做出更多的考虑。购物、电影、新闻等通常持续的时间特别短,且物品之间的时间差异没有明显的区别。网络书籍阅读的时间特别长,且不同书籍之间持续的时间区别很大。另外用户对购物、电影的打分评价比较快捷进而客观,而对网络书籍的打分因时间跨度和章节影响却很难客观。以下列举一些常见的不区分应用场景的个性化推荐方法。
Amazon.com recommendations:item-to-item collaborativefiltering.Linden G,Smith B,et al.亚马逊上线的基于物品的协同过滤算法。该方法考虑购买的物品同时出现的概率,如果物品A与物品B经常同时出现,就会对购买物品A的用户推荐物品B。该方法存在一个问题是会推荐特别热门的物品,另外在处理热门物品的权重时,强烈依赖于人工经验。
Latent Factor Models for Web Recommender Systems.Bee-Chung Chen,Deepak Agarwal,et al.雅虎提供的一个对用户物品的打分矩阵进行隐因子模型分解的算法,将用户和物品分解成多维浮点数向量,然后用向量的内积作为用户对新物品的打分。该方法在实际应用中打分矩阵不能太大,另外打分矩阵需要用户反馈,有的场景不太容易收集用户的客观反馈。
Efficient Estimation of Word Representations in Vector Space.TomasMikolov,Kai Chen,et al.谷歌提供的一个自然语言处理领域将词向量化的工具word2vec。该工具能够将文档里的单词表达为多维浮点数向量,且单词间的关系可用向量运算来表示。该工具只讨论了自然语言处理领域的技巧,但也为其他场景的向量化提供了思路。
因此,现有的一些个性化推荐方法的主要缺点有:一是推荐的物品趋向于热门物品,对冷门物品推荐不足;二是对物品的打分强烈依赖于用户反馈或者人工经验选择;三是一些方法能解决的问题规模有限。
发明内容
针对上述现有技术的不足,本发明所要解决的技术问题是:提供了一种对网络文学书籍个性化推荐方法及系统,通过整理所有用户的网络书籍阅读历史,挖掘用户在阅读过程中的兴趣偏好等隐藏信息。采用了对网络书籍和用户进行向量化的技术手段,用向量之间的运算结果来表示相似性、兴趣偏好等信息,并利用这些运算结果对用户感兴趣的网络书籍进行筛选排序,最终形成用户的个性化推荐列表。本发明实施的系统通过预先训练和存储模型数据,并在线筛选和排序候选集,能够快速地响应用户的个性化推荐请求。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种网络文学书籍个性化推荐方法,包括:
收集用户每日阅读网络书籍的数据,其中,所述数据包括用户UID(用户身份证明,User Identification)、书籍itemid、阅读章节chap、行为时间戳tmstamp;
将收集到的所述数据合并处理以形成用户阅读数据集UIDhistory,其中,所述用户阅读数据集包括每一用户的阅读历史列表,所述阅读历史列表包括用户UID、该用户所阅读的书籍itemid、阅读每一本书籍的起始时间starttm以及阅读的最大章节数maxchap;
对所述用户阅读数据集UIDhistory进行处理以形成第一数据集itemslice和第二数据集UIDitems,其中,将每一用户的阅读历史列表按所述起始时间starttm的大小进行排序,以预定周期切分列表,从而形成与每一周期对应的新书籍列表,所有新书籍列表形成所述第一数据集itemslice;去掉所述用户阅读数据集UIDhistory中的所述起始时间starttm,构成所述第二数据集UIDitems;
计算网络书籍的多维浮点数向量,其中,对所述第一数据集itemslice进行计算,得到所述第一数据集itemslice中每一本书籍的多维浮点数向量;
计算用户的多维浮点数向量,其中,从所述第二数据集UIDitems取出每一用户的阅读历史列表,计算所述用户的多维浮点数向量;
计算所有网络书籍的最近邻候选集,其中,对所述每一本网络书籍的浮点数向量做相似度计算,对计算出的相似度结果进行排序,选出相似度排名的TOP N的N本书籍形成所述对应网络书籍的最近邻候选集,所有网络书籍的最近邻候选集形成最近邻候选集itemknn;
筛选用户偏好的网络书籍候选集,其中,从所述第二数据集UIDitems取出所述用户的阅读历史列表,根据所述阅读历史列表里的每一本书籍itemid,从所述最近邻候选集itemknn找出与该本书籍对应的最近邻候选集,从而得到用户感兴趣的候选集I;
对所述候选集I中的每一本书籍排序形成推荐列表。
进一步地,在收集用户每日阅读网络书籍的数据的步骤中,包括:
站点收集用户每日的阅读行为记录日志,所述日志按照服务器响应用户请求的时间逐条记录,每一日志记录包含所述用户UID、书籍itemid、阅读章节chap、行为时间戳tmstamp,所述日志格式为{UID,itemid,chap,tmstamp}。
进一步地,在将收集到的所述数据合并处理以形成用户阅读数据集UIDhistory的步骤中:所述每一用户的阅读历史列表格式为{UID,[itemid,starttm,maxchap],[itemid,starttm,maxchap],……}。
进一步地,在对所述用户阅读数据集UIDhistory进行处理以形成第一数据集itemslice和第二数据集UIDitems的步骤中:所述第一数据集itemslice格式为{itemid,itemid,……}。
进一步地,在对所述用户阅读数据集UIDhistory进行处理以形成第一数据集itemslice和第二数据集UIDitems的步骤中:所述第二数据集UIDitems的格式为{UID,[itemid,maxchap],[itemid,maxchap],……}。
进一步地,在计算网络书籍的多维浮点数向量的步骤中,包括:对所述第一数据集itemslice应用word2vec模型进行计算,得到每一本书籍的多维浮点数向量。
进一步地,在计算用户的多维浮点数向量的步骤中:所述每一阅读历史列表包含信息[itemid,maxchap],以itemid取出书籍的浮点数向量,以maxchap作为权重做加权平均计算,得到加权平均的浮点数向量,即每一个用户的多维浮点数向量。
进一步地,在对所述候选集I中的每一本书籍排序形成推荐列表的步骤中,包括:根据用户的浮点数向量与网络书籍的浮点数向量得到用户对该网络书籍的偏好度,将所述候选集I中的书籍按所述偏好度大小进行排序,选出偏好度排名TOP M的M本书籍作为用户个性化推荐列表。
为解决上述技术问题,本发明采用的另一个技术方案是:一种网络文学书籍个性化推荐系统,包括:
数据收集模块,用于收集用户每日阅读网络书籍的数据,其中,所述数据包括用户UID、书籍itemid、阅读章节chap、行为时间戳tmstamp;
合并处理模块,用于将收集到的所述数据合并处理以形成用户阅读数据集UIDhistory,其中,所述用户阅读数据集包括每一用户的阅读历史列表,所述阅读历史列表包括用户UID、该用户所阅读的书籍itemid、阅读每一本书籍的起始时间starttm以及阅读的最大章节数maxchap;
处理模块,用于对所述用户阅读数据集UIDhistory进行处理以形成第一数据集itemslice和第二数据集UIDitems,其中,将每一用户的阅读历史列表按所述起始时间starttm的大小进行排序,以预定周期切分列表,从而形成与每一周期对应的新书籍列表,所有新书籍列表形成所述第一数据集itemslice;去掉所述用户阅读数据集UIDhistory中的所述起始时间starttm,构成所述第二数据集UIDitems;
第一计算模块,用于计算网络书籍的多维浮点数向量,其中,对所述第一数据集itemslice进行计算,得到所述第一数据集itemslice中每一本书籍的多维浮点数向量;
第二计算模块,用于计算用户的多维浮点数向量,其中,从所述第二数据集UIDitems取出每一用户的阅读历史列表,计算所述用户的多维浮点数向量;
第三计算模块,用于计算所有网络书籍的最近邻候选集,其中,对所述每一本网络书籍的浮点数向量做相似度计算,对计算出的相似度结果进行排序,选出相似度排名的TOPN的N本书籍形成所述对应网络书籍的最近邻候选集,所有网络书籍的最近邻候选集形成最近邻候选集itemknn;
筛选模块,用于筛选用户偏好的网络书籍候选集,其中,从所述第二数据集UIDitems取出所述用户的阅读历史列表,根据所述阅读历史列表里的每一本书籍itemid,从所述最近邻候选集itemknn找出与该本书籍对应的最近邻候选集,从而得到用户感兴趣的候选集I;
个性化推荐模块,用于对所述候选集I中的每一本书籍排序形成推荐列表。
进一步地,所述个性化推荐模块还用于根据用户的浮点数向量与网络书籍的浮点数向量得到用户对该网络书籍的偏好度,将所述候选集I中的书籍按所述偏好度大小进行排序,选出偏好度排名TOP M的M本书籍作为用户个性化推荐列表。
本发明的网络文学书籍个性化推荐方法及系统,由于采用了对网络书籍和用户进行向量化的技术手段,避免了需要用户对书籍打分反馈和人工经验打分等常见问题,将用户、书籍、用户偏好等信息转化为多维浮点数向量及其运算结果,提高了计算机自动化处理水平。另外,由于书籍最近邻候选集等模型数据的预先计算,大大提高了系统响应用户请求的效率,且通过用户候选集的筛选与排序,有效地提高了个性化推荐的效果。
附图说明
图1是本发明网络文学书籍个性化推荐方法一实施例的流程图。
图2是本发明网络文学书籍个性化推荐系统一实施例的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,本实施例的网络文学书籍个性化推荐方法包括以下步骤:
S101、收集用户每日阅读网络书籍的数据,其中,所述数据包括用户UID、书籍itemid、阅读章节chap、行为时间戳tmstamp;
具体地,站点收集用户每日的阅读行为记录日志,所述日志按照服务器响应用户请求的时间逐条记录,每一日志记录包含所述用户UID、书籍itemid、阅读章节chap、行为时间戳tmstamp,所述日志格式为{UID,itemid,chap,tmstamp}。
实例:在网络书籍站点,用户阅读网络书籍的行为是按时间顺序自然排列的。通常为了更好地服务用户,站点会对用户的阅读行为记录日志。日志按照服务器响应用户请求的时间逐条记录,每一条日志记录包含用户UID、书籍itemid、阅读章节chap、行为时间戳tmstamp等基础信息。日志格式在实际应用中会包含更多信息,如客户端详情、网络详情等,本发明为论述简单只列出方法所必需的信息。日志格式为:{UID,itemid,chap,tmstamp}。
用户日志一般按照小时、天等时间分段存储,每个用户的日志通常分布在多个时间段的日志文件(即数据)中。分析每个用户的阅读情况时,需要将一段时间内的所有日志文件进行合并处理。
S102、合并用户阅读书籍列表:将收集到的所述数据合并处理以形成用户阅读数据集UIDhistory,其中,所述用户阅读数据集包括每一用户的阅读历史列表,所述阅读历史列表包括用户UID、该用户所阅读的书籍itemid、阅读每一本书籍的起始时间starttm以及阅读的最大章节数maxchap;
本实施例中,可以以年为单位,处理最近一年的所有日志文件(即所述数据),将所述日志记录按照用户UID进行合并。每个用户的阅读记录可以合并成一个阅读历史列表,所述阅读历史列表的每一项阅读记录表示为用户阅读每本书籍的起始时间starttm,阅读的最大章节数maxchap。每个用户的阅读历史列表格式为:{UID,[itemid,starttm,maxchap],[itemid,starttm,maxchap],……}。所有用户的阅读历史列表按照这种方式合并成用户阅读数据集UIDhistory。
S103、对所述用户阅读数据集UIDhistory进行处理以形成第一数据集itemslice和第二数据集UIDitems,其中,将每一用户的阅读历史列表按所述起始时间starttm的大小进行排序,以预定周期切分列表,从而形成与每一周期对应的新书籍列表,所有新书籍列表形成所述第一数据集itemslice;去掉所述用户阅读数据集UIDhistory中的所述起始时间starttm,构成所述第二数据集UIDitems;
本步骤中,对用户阅读数据集UIDhistory做进一步的处理,拆分成两份数据集供后续步骤使用。
第一,将每个用户的阅读历史列表按起始时间starttm的大小进行排序,即用户按时间顺序阅读书籍的列表,每本书籍仅以首次出现的时间为准。然后按每30天时间段切分列表,每30天内的书籍组成新列表,如一年可切分成12个列表。所有用户的切分列表构成书籍数据集itemslice,格式为:{书籍itemid,itemid,……}。可理解的,上述的时间值仅是为了更清楚的阐述本实施方式的一种举例,在不同的实施例中,时间可以根据要求改变。例如可以按每60天为时间段切分列表,或者按每10天为时间段切分列表等等。
第二,去掉用户阅读数据集UIDhistory中的起始时间starttm,构成一个新的数据集UIDitems,格式为:{UID,[itemid,maxchap],[itemid,maxchap],……}。在实际应用中,也可以只考虑最近半年或最近三个月的数据,用起始时间starttm做下过滤即可。
S104、计算网络书籍的多维浮点数向量,其中,对所述第一数据集itemslice进行计算,得到所述第一数据集itemslice中每一本书籍的多维浮点数向量;
本步骤中,对数据集itemslice应用word2vec模型进行计算,得到每一本书籍的向量化结果,即多维浮点数向量。通过对word2vec模型的参数设置,可以选择浮点数向量的维数,如60维或120维。实际应用中,参考计算机资源选择合适的大小,维度越高,精度越高,耗时越长。
S105、计算用户的多维浮点数向量,其中,从所述第二数据集UIDitems取出每一用户的阅读历史列表,计算所述用户的多维浮点数向量;
从第二数据集UIDitems取出每一个用户的阅读历史列表,计算用户的浮点数向量。列表中每一项包含信息[itemid,maxchap],以itemid取出书籍的浮点数向量,以maxchap作为权重做加权平均计算,得到加权平均的浮点数向量,即每一个用户的多维浮点数向量。
S106、计算网络书籍的最近邻候选集,其中,对所述每一本网络书籍的浮点数向量做相似度计算,对计算出的相似度结果进行排序,选出相似度排名的TOP N的N本书籍形成所述对应网络书籍的最近邻候选集,所有网络书籍的最近邻候选集形成最近邻候选集itemknn;
本步骤中,利用网络书籍的浮点数向量,对浮点数向量做相似度计算,两本网络书籍的相似度计算结果可表示书籍之间的相似性。结果在-1到1之间,值越大可认为书籍的相似性越大。这里选定一本书籍,其余的每本书籍跟这本书籍做相似度计算,将所有的相似度结果排序。本实施例中,TOP N以TOP 64为例进行说明,选出结果最大的64本书籍。这64本书籍即可作为选定的那本书籍的最近邻候选集。当然可根据实际情形选择32本或128本等等。对所有书籍进行以上相同的操作,可得到所有网络书籍的最近邻候选集,标记为数据集itemknn。数据格式为:{itemid,[itemid,coscore],[itemid,coscore],……},其中,coscore为两本书籍之间的相似性结果。
S107、筛选用户偏好的网络书籍候选集,其中,从所述第二数据集UIDitems取出所述用户的阅读历史列表,根据所述阅读历史列表里的每一本书籍itemid,从所述最近邻候选集itemknn找出与该本书籍对应的最近邻候选集,从而得到用户感兴趣的候选集I;
本实施例中,为了避免候选集包含所有的网络书籍导致计算开销过大,仅需要考虑部分书籍。利用第二数据集UIDitems和最近邻候选集itemknn可将候选集限定到比较小的范围。先从第二数据集UIDitems取出用户的阅读历史列表,根据列表里每一本书籍itemid,再从最近邻候选集itemknn找出该书籍的最近邻候选集,将找出的所有最近邻候选集组成一个新列表,过滤掉重复出现的书籍,即可得到一个用户可能感兴趣的候选集I。
S108、对候选集I排序形成推荐列表;
选出候选集I后,用户对候选集里每一本书籍的偏好度,可利用用户和网络书籍的多维浮点数向量计算得到。用户的浮点数向量与网络书籍的浮点数向量之间做内积运算,运算结果可作为用户对该书籍的偏好度。将候选集里书籍按照偏好度大小进行排序,本实施例中,所述TOP M以TOP 32为例,选出偏好度最大的32本书籍,即可作为用户个性化推荐的列表。
实施例中提到的向量之间的内积、相似度的定义如下:对于两个浮点数向量a=[a1,a2,…,an],b=[b1,b2,…,bn],用innerproduct表示内积,innerproduct(a,b)=a1*b1+a2*b2+…+an*bn;用similarity表示相似度,similarity(a,b)=innerproduct(a,b)/sqrt(innerproduct(a,a)*innerproduct(b,b)),其中sqrt是开平分根运算。
由上述技术方案可见,本发明实施例在对用户做个性化推荐时,充分挖掘了用户阅读网络书籍的历史列表,采用多维浮点数向量的形式来表示网络书籍、用户等信息,提升了对用户和书籍蕴含信息的表达水平,避免了其他推荐方法的人工经验打分流程,大大提升了网络书籍个性化推荐的效果。
请参见图2,本实施例的一种网络文学书籍个性化推荐的系统包括:
数据收集模块,用于收集用户每日阅读网络书籍的数据,其中,所述数据包括用户UID、书籍itemid、阅读章节chap、行为时间戳tmstamp;
合并处理模块,用于将收集到的所述数据合并处理以形成用户阅读数据集UIDhistory,其中,所述用户阅读数据集包括每一用户的阅读历史列表,所述阅读历史列表包括用户UID、该用户所阅读的书籍itemid、阅读每一本书籍的起始时间starttm以及阅读的最大章节数maxchap;
处理模块,用于对所述用户阅读数据集UIDhistory进行处理以形成第一数据集itemslice和第二数据集UIDitems,其中,将每一用户的阅读历史列表按所述起始时间starttm的大小进行排序,以预定周期切分列表,从而形成与每一周期对应的新书籍列表,所有新书籍列表形成所述第一数据集itemslice;去掉所述用户阅读数据集UIDhistory中的所述起始时间starttm,构成所述第二数据集UIDitems;
第一计算模块,用于计算网络书籍的多维浮点数向量,其中,对所述第一数据集itemslice进行计算,得到所述第一数据集itemslice中每一本书籍的多维浮点数向量;
第二计算模块,用于计算用户的多维浮点数向量,其中,从所述第二数据集UIDitems取出每一用户的阅读历史列表,计算所述用户的多维浮点数向量;
第三计算模块,用于计算所有网络书籍的最近邻候选集,其中,对所述每一本网络书籍的浮点数向量做相似度计算,对计算出的相似度结果进行排序,选出相似度排名的TOPN的N本书籍形成所述对应网络书籍的最近邻候选集,所有网络书籍的最近邻候选集形成最近邻候选集itemknn;
筛选模块,用于筛选用户偏好的网络书籍候选集,其中,从所述第二数据集UIDitems取出所述用户的阅读历史列表,根据所述阅读历史列表里的每一本书籍itemid,从所述最近邻候选集itemknn找出与该本书籍对应的最近邻候选集,从而得到用户感兴趣的候选集I;
个性化推荐模块,用于对所述候选集I中的每一本书籍排序形成推荐列表。
进一步地,所述个性化推荐模块还用于根据用户的浮点数向量与网络书籍的浮点数向量得到用户对该网络书籍的偏好度,将所述候选集I中的书籍按所述偏好度大小进行排序,选出偏好度排名TOP M的M本书籍作为用户个性化推荐列表。
上述数据收集模块、合并处理模块、处理模块、第一至第三计算模块形成数据处理和存储装置。网络书籍站点通常包含了大量的网络用户,服务器对每一个用户的请求响应,通常包含了一系列的在线查询和计算。像个性化推荐这样的需求,在线计算所耗费的资源会比较大,需要将模型在线下预先训练完成,在线上直接提取模型数据,以减少在线的计算资源消耗。依赖于第一个实施例提供的网络文学书籍个性化推荐方法,将所有用户最近一段时间的阅读日志进行处理,可以得到有用的中间结果和模型数据,如用户阅读历史列表UIDitems、网络书籍的浮点数向量、用户的浮点数向量、书籍的最近邻候选集itemknn。这些数据将用于个性化推荐需求的运算,需要存储在线上服务器里。
本实施例中,线上服务器可以采用redis存储模型数据,能快速响应用户的在线请求。线下训练完成的新模型数据可直接更新替换redis里的旧有数据,更新的频率可以每天一次或者每半天一次。另外,用户阅读新书籍后需要及时更新模型,当服务器响应用户的阅读请求后,将新书籍更新到UIDitems中,这样新书籍会立即影响候选集和推荐列表。模型的实时性越高,越能挖掘用户个性化兴趣的变化。
基于redis存储的模型数据,对每一个用户的个性化推荐请求,线上响应的运算流程大体分成两块:候选集筛选和排序推荐。候选集筛选模块通过用户阅读历史,过滤掉大部分网络书籍,为排序推荐省下大量的运算时间。
对于每一个用户,从redis中UIDitems取出该用户的阅读历史列表,以其中每本书籍itemid从itemknn(存储在redis上)取出该书籍的最近邻候选集。将阅读历史列表里所有书籍的最近邻候选集合并,过滤掉重复出现的书籍,即得到该用户可能感兴趣的候选集。筛选候选集时可根据情况调整过滤条件,比如要求阅读书籍的章节maxchap须大于一定值;书籍的最近邻候选集的相似性值coscore须大于一定值。满足一定过滤条件的候选集有更高的用户偏好概率。
个性化推荐模块(排序推荐模块)的功能是:选出一个用户的候选集后,从redis里取出用户的浮点数向量,候选集里所有书籍的浮点数向量。对用户的浮点数向量与候选集里书籍的浮点数向量做内积,得到结果为用户对候选集里书籍的偏好度分值。将候选集里的书籍按照偏好度大小排序,选出偏好度最大的几本书籍作为用户的个性化推荐列表。
相对于现有的网络书籍个性化推荐方法,本发明网络文学书籍个性化推荐方法及系统由于采用了对网络书籍和用户进行向量化的技术手段,避免了需要用户对书籍打分反馈和人工经验打分等常见问题,将用户、书籍、用户偏好等信息转化为多维浮点数向量及其运算结果,提高了计算机自动化处理水平。另外,由于书籍最近邻候选集等模型数据的预先计算,大大提高了系统响应用户请求的效率,且通过用户候选集的筛选与排序,有效地提高了个性化推荐的效果。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种网络文学书籍个性化推荐方法,包括:
收集用户每日阅读网络书籍的数据,其中,所述数据包括用户UID、书籍itemid、阅读章节chap、行为时间戳tmstamp;
将收集到的所述数据合并处理以形成用户阅读数据集UIDhistory,其中,所述用户阅读数据集包括每一用户的阅读历史列表,所述阅读历史列表包括用户UID、该用户所阅读的书籍itemid、阅读每一本书籍的起始时间starttm以及阅读的最大章节数maxchap;
对所述用户阅读数据集UIDhistory进行处理以形成第一数据集itemslice和第二数据集UIDitems,其中,将每一用户的阅读历史列表按所述起始时间starttm的大小进行排序,以预定周期切分列表,从而形成与每一周期对应的新书籍列表,所有新书籍列表形成所述第一数据集itemslice;去掉所述用户阅读数据集UIDhistory中的所述起始时间starttm,构成所述第二数据集UIDitems;
计算网络书籍的多维浮点数向量,其中,对所述第一数据集itemslice进行计算,得到所述第一数据集itemslice中每一本书籍的多维浮点数向量;
计算用户的多维浮点数向量,其中,从所述第二数据集UIDitems取出每一用户的阅读历史列表,计算所述用户的多维浮点数向量;
计算所有网络书籍的最近邻候选集,其中,对所述每一本网络书籍的浮点数向量做相似度计算,对计算出的相似度结果进行排序,选出相似度排名的TOP N的N本书籍形成所述对应网络书籍的最近邻候选集,所有网络书籍的最近邻候选集形成最近邻候选集itemknn;
筛选用户偏好的网络书籍候选集,其中,从所述第二数据集UIDitems取出所述用户的阅读历史列表,根据所述阅读历史列表里的每一本书籍itemid,从所述最近邻候选集itemknn找出与该本书籍对应的最近邻候选集,从而得到用户感兴趣的候选集I;
对所述候选集I中的每一本书籍排序形成推荐列表。
2.如权利要求1所述的网络文学书籍个性化推荐方法,其特征在于,在收集用户每日阅读网络书籍的数据的步骤中,包括:
站点收集用户每日的阅读行为记录日志,所述日志按照服务器响应用户请求的时间逐条记录,每一日志记录包含所述用户UID、书籍itemid、阅读章节chap、行为时间戳tmstamp,所述日志格式为{UID,itemid,chap,tmstamp}。
3.如权利要求2所述的网络文学书籍个性化推荐方法,其特征在于,在将收集到的所述数据合并处理以形成用户阅读数据集UIDhistory的步骤中:所述每一用户的阅读历史列表格式为{UID,[itemid,starttm,maxchap],[itemid,starttm,maxchap],……}。
4.如权利要求3所述的网络文学书籍个性化推荐方法,其特征在于,在对所述用户阅读数据集UIDhistory进行处理以形成第一数据集itemslice和第二数据集UIDitems的步骤中:所述第一数据集itemslice格式为{itemid,itemid,……}。
5.如权利要求4所述的网络文学书籍个性化推荐方法,其特征在于,在对所述用户阅读数据集UIDhistory进行处理以形成第一数据集itemslice和第二数据集UIDitems的步骤中:所述第二数据集UIDitems的格式为{UID,[itemid,maxchap],[itemid,maxchap],……}。
6.如权利要求1至5中任一项所述的网络文学书籍个性化推荐方法,其特征在于,在计算网络书籍的多维浮点数向量的步骤中,包括:对所述第一数据集itemslice应用word2vec模型进行计算,得到每一本书籍的多维浮点数向量。
7.如权利要求6所述的网络文学书籍个性化推荐方法,其特征在于,在计算用户的多维浮点数向量的步骤中:所述每一阅读历史列表包含信息[itemid,maxchap],以itemid取出书籍的浮点数向量,以maxchap作为权重做加权平均计算,得到加权平均的浮点数向量,即每一个用户的多维浮点数向量。
8.如权利要求7所述的网络文学书籍个性化推荐方法,其特征在于,在对所述候选集I中的每一本书籍排序形成推荐列表的步骤中,包括:根据用户的浮点数向量与网络书籍的浮点数向量得到用户对该网络书籍的偏好度,将所述候选集I中的书籍按所述偏好度大小进行排序,选出偏好度排名TOP M的M本书籍作为用户个性化推荐列表。
9.一种网络文学书籍个性化推荐系统,包括:
数据收集模块,用于收集用户每日阅读网络书籍的数据,其中,所述数据包括用户UID、书籍itemid、阅读章节chap、行为时间戳tmstamp;
合并处理模块,用于将收集到的所述数据合并处理以形成用户阅读数据集UIDhistory,其中,所述用户阅读数据集包括每一用户的阅读历史列表,所述阅读历史列表包括用户UID、该用户所阅读的书籍itemid、阅读每一本书籍的起始时间starttm以及阅读的最大章节数maxchap;
处理模块,用于对所述用户阅读数据集UIDhistory进行处理以形成第一数据集itemslice和第二数据集UIDitems,其中,将每一用户的阅读历史列表按所述起始时间starttm的大小进行排序,以预定周期切分列表,从而形成与每一周期对应的新书籍列表,所有新书籍列表形成所述第一数据集itemslice;去掉所述用户阅读数据集UIDhistory中的所述起始时间starttm,构成所述第二数据集UIDitems;
第一计算模块,用于计算网络书籍的多维浮点数向量,其中,对所述第一数据集itemslice进行计算,得到所述第一数据集itemslice中每一本书籍的多维浮点数向量;
第二计算模块,用于计算用户的多维浮点数向量,其中,从所述第二数据集UIDitems取出每一用户的阅读历史列表,计算所述用户的多维浮点数向量;
第三计算模块,用于计算所有网络书籍的最近邻候选集,其中,对所述每一本网络书籍的浮点数向量做相似度计算,对计算出的相似度结果进行排序,选出相似度排名的TOP N的N本书籍形成所述对应网络书籍的最近邻候选集,所有网络书籍的最近邻候选集形成最近邻候选集itemknn;
筛选模块,用于筛选用户偏好的网络书籍候选集,其中,从所述第二数据集UIDitems取出所述用户的阅读历史列表,根据所述阅读历史列表里的每一本书籍itemid,从所述最近邻候选集itemknn找出与该本书籍对应的最近邻候选集,从而得到用户感兴趣的候选集I;
个性化推荐模块,用于对所述候选集I中的每一本书籍排序形成推荐列表。
10.如权利要求9所述的网络文学书籍个性化推荐系统,其特征在于:所述个性化推荐模块还用于根据用户的浮点数向量与网络书籍的浮点数向量得到用户对该网络书籍的偏好度,将所述候选集I中的书籍按所述偏好度大小进行排序,选出偏好度排名TOP M的M本书籍作为用户个性化推荐列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010478957.2A CN111737568B (zh) | 2020-05-29 | 2020-05-29 | 一种网络文学书籍个性化推荐方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010478957.2A CN111737568B (zh) | 2020-05-29 | 2020-05-29 | 一种网络文学书籍个性化推荐方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737568A true CN111737568A (zh) | 2020-10-02 |
CN111737568B CN111737568B (zh) | 2023-08-01 |
Family
ID=72646540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010478957.2A Active CN111737568B (zh) | 2020-05-29 | 2020-05-29 | 一种网络文学书籍个性化推荐方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737568B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886048A (zh) * | 2014-03-13 | 2014-06-25 | 浙江大学 | 一种基于聚类的增量数字图书推荐方法 |
CN108520076A (zh) * | 2018-04-19 | 2018-09-11 | 掌阅科技股份有限公司 | 电子书推荐方法、电子设备及计算机存储介质 |
KR102107848B1 (ko) * | 2019-10-15 | 2020-05-07 | 주식회사이씨오 | 도서 추천 서비스 방법 |
-
2020
- 2020-05-29 CN CN202010478957.2A patent/CN111737568B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886048A (zh) * | 2014-03-13 | 2014-06-25 | 浙江大学 | 一种基于聚类的增量数字图书推荐方法 |
CN108520076A (zh) * | 2018-04-19 | 2018-09-11 | 掌阅科技股份有限公司 | 电子书推荐方法、电子设备及计算机存储介质 |
KR102107848B1 (ko) * | 2019-10-15 | 2020-05-07 | 주식회사이씨오 | 도서 추천 서비스 방법 |
Non-Patent Citations (1)
Title |
---|
曹斌;龚佼蓉;彭宏杰;赵立为;范菁;: "基于用户阅读时间-频次行为的书籍推荐方法", 计算机科学, no. 2 * |
Also Published As
Publication number | Publication date |
---|---|
CN111737568B (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4524709B2 (ja) | 情報処理装置および方法、並びに、プログラム | |
Yang et al. | Venue recommendation: Submitting your paper with style | |
US8280892B2 (en) | Selecting tags for a document by analyzing paragraphs of the document | |
EP2045740A1 (en) | Recommending terms to specify ontology space | |
CN109918563B (zh) | 一种基于公开数据的图书推荐的方法 | |
CN110175895B (zh) | 一种物品推荐方法及装置 | |
CN111159341A (zh) | 基于用户投资理财偏好的资讯推荐方法及装置 | |
CN110543595A (zh) | 一种站内搜索系统及方法 | |
CN111523055A (zh) | 一种基于农产品特征属性评论倾向的协同推荐方法及系统 | |
CN113850649A (zh) | 一种基于多平台用户数据的定制化推荐方法及推荐系统 | |
JP2011253572A (ja) | 情報価値を反映した情報検索方法及びその装置 | |
CN107895303A (zh) | 一种基于ocean模型的个性化推荐的方法 | |
CN110795613B (zh) | 商品搜索方法、装置、系统及电子设备 | |
CN116304299A (zh) | 一种融和用户兴趣演化和梯度提升算法的个性化推荐方法 | |
Afrizal et al. | New filtering scheme based on term weighting to improve object based opinion mining on tourism product reviews | |
CN106919647B (zh) | 一种基于聚类的网络结构相似性推荐方法 | |
CN113326432A (zh) | 一种基于决策树与推荐方法的模型优选方法 | |
CN110609950B (zh) | 一种舆情系统搜索词推荐方法及系统 | |
Shuxian et al. | Design and implementation of movie recommendation system based on naive bayes | |
CN116883116A (zh) | 一种用户行为分析驱动的个性化商品推荐系统及其方法 | |
CN1996280A (zh) | 共建搜索引擎的方法 | |
CN111737568B (zh) | 一种网络文学书籍个性化推荐方法及系统 | |
CN111435514A (zh) | 特征计算方法和装置、排序方法和设备、存储介质 | |
Rohini et al. | A novel approach for re-ranking of search results using collaborative filtering | |
Regi et al. | A survey on recommendation techniques in E-Commerce |
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 |