一种基于图书评分的图书作家推荐方法

文档序号:9326953阅读:286来源:国知局
一种基于图书评分的图书作家推荐方法
【技术领域】
[0001] 本发明涉及一种基于图书评分的图书作家推荐方法,属于数据业务领域。
【背景技术】
[0002] 传统的移动阅读领域中,用户一般仅针对于所阅读的图书进行评分。用户对图书 的作家经常会存在有特殊的偏好或者厌恶情绪,但由于现有的图书推荐系统缺乏用户对作 家的评分数据,因而很难向用户推荐符合其个性化偏好的图书作家:一方面,许多知名作家 通常有多本图书可供选择,现有图书推荐系统通常采用同作者推荐图书的方式来向用户推 荐同一个作家的多本图书,当用户不喜欢某个作家时,则会出现推荐图书的点击率和购买 率下降甚至投诉的情况;另一方面,某些作家之间存在题材、风格和故事情节上的相似性, 用户在阅读过一本图书之后可能会希望被推荐相似类型的作家的图书,现有的同作者推荐 图书方式无法实现该功能,从而导致用户无法获取其喜好的相似作家的图书,降低了推荐 的新颖性和覆盖率。
[0003] 因此,如何为用户推荐符合其个性化偏好的图书作家,仍是一个未解决的技术问 题。

【发明内容】

[0004] 有鉴于此,本发明的目的是提供一种基于图书评分的图书作家推荐方法,能根据 用户对图书的评分来为用户推荐符合其个性化偏好的图书作家。
[0005] 为了达到上述目的,本发明提供了一种基于图书评分的图书作家推荐方法,包括 有:
[0006] 步骤一、从用户的阅读历史数据中读取用户已阅读过的图书及其作家、和用户对 图书的评分,将用户已阅读过的图书的作家构成用户的一个已阅读作家集,将用户未阅读 过其图书的作家构成用户的一个未阅读作家集,并根据用户对已阅读过的图书的评分,计 算用户对已阅读作家集中的每个已阅读作家的评分;
[0007] 步骤二、为用户的未阅读作家集中的每个未阅读作家分别构建各自的邻近作家 集,并将用户的已阅读作家集中和每个未阅读作家相似度高的已阅读作家保存到未阅读作 家的邻近作家集中,然后根据未阅读作家和其邻近作家集中的邻近作家之间的相似度值, 预测用户对每个未阅读作家的评分,从而选择若干个评分高的未阅读作家向用户推荐。
[0008] 与现有技术相比,本发明的有益效果是:在传统的图书推荐系统中,一般是先根据 用户对图书的阅读行为和喜好程度来获得用户对图书的评分,然后计算作家所有图书的平 均分或者加权平均分来得到用户对作家的评分。由于移动阅读平台的特殊性,用户通常是 采用按本或者按章计费的方式对图书进行购买的,有些用户可能由于阅读过某作家类似主 题或者情节的图书而放弃购买其中的部分章节,而按照传统的移动阅读平台上用户对作家 的评分方式会使得其在该作家某本图书上的评分并不高,但这并不意味着该用户不喜欢该 本图书,更不能判定该用户不喜欢该作家,因而简单采用平均分或者加权平均分的方式来 计算用户对作家的评分的方式并不合理,难以忠实体现用户对作家的喜好程度。本发明考 虑不同用户对于作家图书的访问特点,针对用户对该作家对应图书的评分数量以及评分的 分布情况,同时结合作家在平台上的图书数量,形成用户对作家的评分,既考虑到了用户对 作家的图书喜好程度,同时也反映了用户对作家的忠诚度和覆盖率。本发明以用户对作家 的评分为基础,计算作家之间的相似程度,并利用协同过滤的方法,预测用户对未评分的作 家的可能评分,同时结合用户的阅读偏好,形成对用户的作家推荐列表,从而能为用户推荐 符合其个性化偏好的图书作家。
【附图说明】
[0009] 图1是本发明一种基于图书评分的图书作家推荐方法的流程图。
[0010] 图2是图1步骤一中,根据用户对已阅读过的图书的评分,计算用户对已阅读作家 集中的每个已阅读作家的评分的具体操作流程图。
[0011] 图3是图1步骤二的具体操作流程图。
【具体实施方式】
[0012] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步 的详细描述。
[0013] 如图1所示,本发明一种基于图书评分的图书作家推荐方法,包括有:
[0014] 步骤一、从用户的阅读历史数据中读取用户已阅读过的图书及其作家、和用户对 图书的评分,将用户已阅读过的图书的作家(简称已阅读作家)构成用户的一个已阅读作 家集,将用户未阅读过其图书的作家(简称未阅读作家)构成用户的一个未阅读作家集, 并根据用户对已阅读过的图书的评分,计算用户对已阅读作家集中的每个已阅读作家的评 分;
[0015] 步骤二、为用户的未阅读作家集中的每个未阅读作家分别构建各自的邻近作家 集,并将用户的已阅读作家集中和每个未阅读作家相似度高的已阅读作家保存到未阅读作 家的邻近作家集(保存到邻近作家集中的已阅读作家简称邻近作家)中,然后根据未阅读 作家和其邻近作家集中的邻近作家之间的相似度值,预测用户对每个未阅读作家的评分, 从而选择若干个评分高的未阅读作家向用户推荐。
[0016] 如图2所示,图1步骤一中,根据用户对已阅读过的图书的评分,计算用户对已阅 读作家集中的每个已阅读作家的评分可以进一步包括有:
[0017] 步骤11、从用户的已阅读作家集中逐一读取每个已阅读作家;
[0018] 步骤12、统计用户对所述已阅读作家的阅读图书数n,并提取用户对所述已阅读 作家的所有图书的评分;
[0019] 步骤13、判断η是否是1 ?如果是,则将用户对所述已阅读作家的图书的评分 book_score保存为用户对已阅读作家的评分:a_s(u,ayp) = book_score,其中,a_s(u,ayp) 是用户u对已阅读作家ayp的评分,本流程结束;如果否,则继续下一步;
[0020] 步骤14、判断η是否是2 ?如果是,则从用户对所述已阅读作家的所有图书的评分 中挑选最大值max_book_score,并将max_book_score保存为用户对已阅读作家的评分:a_ s(u,ayp) = max_book_score,本流程结束;如果否,则继续下一步;
[0021] 步骤15、判断η是否在[3,4]的数值区间范围内?如果是,则统计用户对所述已阅 读作家的图书的评分为评分最大阈值Stop的图书数topn,然后计算topn和用户对所述已阅 读作家的阅读图书数η的比值topn/n、以及用户对所述已阅读作家的所有阅读图书的评分 的标准差和平均值的比值variation,再根据topn/n、variation所在的区间范围,计算用 户对已阅读作家的评分:
本流程结束;如果否,则继续下一步;
[0023] 步骤16、统计用户对所述已阅读作家的图书的评分为评分最大阈值Stop、及评分在
[ssec,stop]的数值区间范围内的图书数topn、secn,然后分别计算topn、secn和用户对所述 已阅读作家的阅读图书数η的比值topn/n、secn/n、以及用户对所述已阅读作家的所有阅 读图书的评分的标准差和平均值的比值variation,再根据topn/n、secn/n、variation所 在的区间范围,计算用户对已阅读作家的评分,其中,评分最大阈值s top、评分较大阈值s Sf3。 的值可以根据实际情况而设定,例如当用户对图书的评分在[0,5]的区间范围内时,则Stop
[0025] 步骤17、判断是否已读取完用户的已阅读作家集中的所有已阅读作家?如果是, 则本流程结束;如果否,则继续从用户的已阅读作家集中读取下一个已阅读作家,转向步骤 12。
[0026] 用户对已阅读作家的所有阅读图书的评分的标准差和平均值的比值var i at i on 的计算公式如下
其中,δ」(ιι,4)是用户u对已阅 读作家ayp的第i本阅读图书的评分,μ是用户对已阅读作家的所有阅读图书的评分的平 均值,
η是用户u对已阅读作家ayp的阅读图书数。
[0027] 如图3所示,图1步骤二进一步包括有:
[0028] 步骤21、从用户的未阅读作家集中逐一读取每个未阅读作家;
[0029] 步骤22、为读取的未阅读作家构建一个邻近作家集,所述邻近作家集初始化为 空;
[0030] 步骤23、计算所述未阅读作家和用户的已阅读作家集中的每个已阅读作家之间的 相似度值,并将和所述未阅读作家的相似度值大于〇的所有已阅读作家保存到所述未阅读 作家的邻近作家集中;
[0031] 步骤24、计算用户对所述未阅读作家的评分:
其中,a_s (u, a wp)是用户u 9 对未阅读作家awp的评分,是所有阅读过awp的图书的用户对awp的评分的平均 值,M是未阅读作家awp的邻近作家集中的邻近作家总数,a 1是a wp的邻近作家集中的第1 位邻近作家,SinKawl^a1)是未阅读作家awp和其邻近作家a :之间的相似度值,a_s (Wa1) 是用户u对&1的评分,是所有阅读过ai的图书的用户对&1的评分的平均值, ?」'(~)、?_4今)的值可以根据图书阅读平台上所有用户对图书的阅读历史数据来获 得;
[0032] 步骤25、判断是否已从用户的未阅读作家集中读取完所有未阅读作家?如果是, 则根据用户对未阅读作家的评分,从用户的未阅读作家集中挑选若干个未阅读作家向用户 推荐;如果否,则从用户的未阅读作家集中继续读取下一个未阅读作家,然后转向步骤22。
[0033] 图3步骤23中,计算未阅读作家awp和用户的已阅读作家集中的一个已阅读作家 ayp之间的相似度,还可以
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1