news 2026/4/19 0:53:01

基于微信小程序的书籍推荐系统的设计与实现外文

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于微信小程序的书籍推荐系统的设计与实现外文

河北科技师范学院

本科毕业设计外文翻译

基于机器学习的图书推荐系统

院(系、部)名 称 :数学与信息科技学院

专 业 名 称:网络工程

学 生 姓 名:xx

学 生 学 号:xx

指 导 教 师:毕云良

2024年01月**日

河北科技师范学院教务处


基于机器学习的图书推荐系统

Anant Duha

摘要:用户可以利用书籍推荐在互联网上查找和搜索书籍。鉴于用户需求的对象和描述数量巨大,该推荐系统将帮助用户选择与描述匹配的书籍。评分、评论、描述和作者等因素都会影响推荐系统。图书推荐系统的有效性在很大程度上取决于所使用的分类器。因此,开发一个精确的分类器来提高推荐系统的性能至关重要。在各种监督学习方法和算法中,决策树分类器因其高精度、快速分类速度、鲁棒学习能力和简单构造而脱颖而出。本文提出了一种基于决策树的推荐系统框架。其他著名的监督学习方法和算法包括朴素贝叶斯、随机森林、逻辑回归和K-最近邻。

关键词:推荐系统、机器学习、决策树分类器、逻辑回归、图书等

一.导言

在互联网市场上销售商品时,大多数在线网站现在都有自己的推荐系统。尽管网站旨在为客户服务,但现实情况是,许多网站的设计并没有考虑到客户。相反,组织鼓励买家进行不必要和不相关的购买以增加销售额。现在,需要一个量身定制的推荐系统来帮助个人用户从一系列产品中找到相关、有吸引力和有用的项目。随着Jio的推出,互联网使用量大幅增加;目前,客户在电子商务平台上可以买到各种各样的商品。

协同过滤和基于内容的过滤是两种类型的推荐系统。通过协作过滤(也称为社交过滤)挑选的项目取决于当前用户和系统上其他用户之间的关系。然而,根据用户行为和偏好,建议使用基于内容的过滤。首先检查用户的兴趣,然后将配置文件分析结果与系统中可访问的商品进行比较,以生成用户建议。

在多模型推荐系统中,通常使用多个分类器,具有两个学习级别。第一层学习基本分类器,然后使用XGBoost等集成方法将其集成到第二层。多模型集成方法还可以识别空间模式。协同过滤基于共享反应对对象进行分类,搜索大量个人,以识别对购买产品或表现出特定行为有相似偏好的较小用户群体。

基于内容、协作、混合和跨域过滤算法似乎是构建推荐系统的四种关键策略。最初,协同过滤根据用户评论和偏好推荐内容。它具有通过从多个用户收集信息来自动预测用户偏好的独特能力。例如,协同过滤可以根据用户过去的行为预测他们是否喜欢或不喜欢电视节目。协同过滤通常需要许多用户、数据源和代理,可以应用于各种领域,包括电子商务、天气预报和在线应用程序。然而,协同过滤的主要缺点是它需要大量的用户数据,在某些不收集用户信息的应用程序中可能很难收集这些数据。

相比之下,基于内容的过滤根据项目与其他对象的相似性来推荐项目。当有价值的用户信息不可用时,通常会使用基于内容的过滤。为了量化项目相似性,可以应用无监督和有监督的机器学习方法。数据必须是有组织的、半结构化的或非结构化的,才能计算项目相似性。混合推荐系统是下一个策略,它结合了两个或多个过滤过程来获得所需的结果。将协作过滤和基于内容的过滤相结合可以改进推荐。最后,跨域过滤算法可以访问来自不同域的数据,通过研究目标域和源域中的增强预测来进行预测。

二、文献综述

个人和商业组织利用推荐系统,也称为推荐算法,来搜索新闻和信息,如在线购买、社交约会、搜索优化等。推荐系统改善了用户体验和系统效率。随着电子书阅读习惯的日益普及和消费者对发现首选书籍的期望越来越高,书籍推荐系统在选择书籍方面变得越来越重要。

为了构建推荐系统,目前大多数研究人员选择协同过滤。协同过滤需要大量的实时用户数据,而大多数推荐系统可能没有。图书推荐系统最常见的方法是协同过滤;然而,其准确率仅为88%,很差。另一方面,基于内容的推荐系统需要大量的训练数据,这在现实世界中可能不可行。协同推荐系统的主要缺点是数据稀疏、冷启动问题、长尾分布和用户隐私。

冷启动问题是图书推荐系统面临的主要挑战之一。它仅在新用户加入系统时发生,并且没有关于他/她的偏好和兴趣的信息。同样,一本没有或信息有限的新书也很难推荐。在这种情况下,传统的推荐算法是无效的,需要开发新的方法来处理冷启动问题。

数据稀疏性是图书推荐系统中的另一个重大挑战。绝大多数用户只对少数书籍进行评分或阅读,导致数据稀疏,不足以训练出准确的推荐模型。这一挑战可以通过使用矩阵分解和特征选择等技术来解决。

图书推荐系统也面临着长尾分布问题,少数热门图书获得了大部分的关注和评级,而大多数图书的评级有限或没有。这一挑战可以通过使用多种算法来平衡推荐的受欢迎程度和多样性来解决。

用户隐私问题在图书推荐系统中越来越重要。用户数据通常用于训练和改进推荐算法,但由于隐私问题,用户可能不愿分享他们的数据。为了应对这一挑战,开发隐私保护推荐算法是必要的。

基于内容的过滤方法用于根据项目的相似性进行推荐。然而,这种策略有一个缺点,即在推荐新产品时忽略了现有的用户评分。在推荐新书和期刊时,用户反馈至关重要。不幸的是,基于内容的过滤方法中使用的文档不包括用户评级。

目前,大多数现有系统都使用人工智能来帮助用户根据流行度、相关性和书籍内容等特征搜索商品。影响判别模型、线性混合模型、固定效应模型、用于情感分析的NLP、k近邻和许多基于神经网络的算法都是推荐系统中使用的众所周知的方法。

在线搜索行为会对推荐系统产生不同寻常的影响。例如,点击排名靠前的书籍可能不会产生影响,而点击排名靠后的书籍可能会产生积极的影响。我们的推荐系统面临的一个主要挑战是数据不频繁,这可以通过使用神经网络(NN)实现算法来解决。对于学术期刊读者来说,k近邻算法在推荐科学期刊方面非常有效。

III、 拟议工作

“图书推荐系统”倡议旨在帮助个人找到他们感兴趣的书籍,并鼓励他们书籍。这里使用了决策树、逻辑回归、随机森林、K近邻和朴素贝叶斯。这些方法被用来确定小说之间的相似程度。该系统有三个主要用例:对现有用户的建议、对新用户的建议和对新提交书籍的评级。所有这些问题都以不同的方式解决。该项目在很大程度上依赖于基于用户输入的协同过滤。

A.数据集

我们有一个包含三个表的数据集:图书评级、用户和图书。第一个是图书评级,它有八列,其次是用户,它有三列,用户有三列。第一步是预处理的初步阶段。它是一种将原始数据转换为合理组织的方法。因此,我们在消除特定特征的空值行以及具有更多缺失值的列并从数据集中删除重复值之前,对数据集进行了集成。预处理后的数据集包括六列:ISBN、图书作者、图书标题、用户ID、出版商和图书评级

B.算法

1) K-Nearest Neighbor:这是一种机器学习估计器,用于定位与基本书籍评估具有可比性的用户主题组,并利用通常的评分生成排名前KNN的数字。在这个推荐系统中,通过将表格转换为2D矩阵,然后将网络数据帧值(评级)归一化为scipy矩形网格,以实现更高效的计算,从而找到可比的用户。使用sklearn.nighbors的无监督技术来查找最近的邻居。最后,该计算将确定评级向量之间的余弦相似度。

图K——最近邻推荐

为了构建一个基于项目的协作系统,采用了K近邻算法。与所选书籍最相似的十部小说以及相似性指标都会显示出来。当以距离衡量相似性时,值越大,相似性越高。之后,它们按升序排列。如果用户从数据集中输入他们最喜欢的书,该算法将推荐与之最具可比性的前十本书。

我们在模型中应用了K-Nearest Neighbor方法,如下所示:

(i) 我们从sklearn.nighbors类导入KNeighborsClassifier库。

(ii)接下来,我们为模型创建分类器对象。

(iii)最后,我们拟合数据。

2) 决策树:决策树分类器是一种监督学习方法,它采用贪婪方法,并采用树结构来表示特征和类标签。其主要目标是开发一个训练模型,通过从历史数据(训练数据)中发现决策规则来预测目标变量的分类或值。决策树有两个组成部分:节点和叶子,其中叶子表示最终结果。树的节点表示特定属性的测试条件,从节点下降的每条边表示测试条件的潜在解决方案之一。对于锚定在节点上的每个新子树,重复此递归过程。

我们在模型中采用了决策树技术,如下所示:

(i) 我们从sklearn.tree类导入DecisionTreeClassifier库。

(ii)接下来,我们为模型创建model_dtc对象。

(iii)最后,我们拟合数据。

3.朴素贝叶斯

为了解决二进制和多类排列问题,使用了朴素贝叶斯算法。当给定二进制或分类输入值时,朴素贝叶斯算法非常简单。朴素贝叶斯分类器基于一个假设进行操作,即类中一个元素的存在与另一个元素无关。朴素贝叶斯分类器基于贝叶斯理论,在数据源具有高维时是有益的。

朴素贝叶斯有各种用途,包括实时预测、预测多个目标属性的可能性和垃圾邮件过滤。然后必须计算数据集中每个属性的可能性,也称为类概率。这涉及计算每个类别值的每个信息值的条件概率。

我们在模型中采用了朴素贝叶斯方法,如下所示:

(i) 我们从sklearn.naive_bayes类导入GaussianNB库。

(ii)接下来,我们为模型创建model_nb对象。

(iii)最后,我们将数据拟合到模型中。

4) 逻辑回归:逻辑回归是一种常用的统计技术,它使用逻辑函数对二元因变量进行建模。虽然有更复杂的变体,但通常使用其基本形式。回归分析利用逻辑回归(一种二项回归)来估计逻辑模型的参数。

我们在模型中使用了逻辑回归,如下所示:

(i) 我们从sklearn.linear类导入LogisticRegression库。

(ii)接下来,我们为模型创建model_lr对象。

(iii)最后,我们拟合数据。

5) 随机森林:在训练阶段,随机森林算法创建了大量的决策树作为其机器学习方法的一部分。输出可以分为不同的类别进行分类,也可以预测类别进行回归。预测的准确性与生成的树木数量成正比。有三个参数会影响随机林技术的性能:n树,它决定了要生成的树的数量,m try,它指定了每个节点分割时要考虑的变量的数量,以及节点大小,它表示终端节点中所需的最小观测值数量。

我们在模型中使用了随机森林,如下所示:

(i) 我们从sklearn.ensemble类导入RandomForestClassifier库。

(ii)接下来,我们为模型创建model_rfc对象。

(iii)最后,我们拟合数据。

6) XGBoost:XGBoost(极限梯度增强)是一种通用的改进梯度增强技术,针对生存能力、处理速度和模型性能进行了优化。XGBoost在性能方面超越了其他机器学习算法,因此享有盛誉。它是由分布式机器学习社区开发的免费开源库。利用并行树增强(也称为GBDT或GBM),XGBoost可以准确有效地快速解决一系列数据科学问题。

在我们的模型中,我们按如下方式应用了XGBoost:

(i) 我们导入xgboost库。

(ii)接下来,我们为模型创建model_xgb对象。

(iii)最后,我们拟合数据。

7) 训练数据:数据集用于训练机器学习模型,包括教模型如何进行预测的标记示例。训练数据通常由输入数据(即特征)和输出数据(即标签)组成。该模型学习识别输入数据中的模式,并将其与正确的输出标签相关联。

8) 测试数据:它是用于评估机器学习模型训练后性能的数据集。通常,测试数据不同于训练数据,用于评估模型对新的、看不见的实例的泛化效果。测试数据还包括输入数据和输出数据,但在评估过程中不使用输出标签。相反,将模型的预测与真实标签进行比较,以衡量其准确性。

IV、 结果讨论

在这一步,我们将分析模型的性能并比较结果。我们将比较我们从各种算法中得到的结果,如K近邻、具有余弦相似性的K近邻、协同滤波、基于内容的滤波和高斯混合。为此,我们将使用一个混淆矩阵,它由4部分组成:真阳性、真阴性、假阳性和假阴性。通过这4个部分,我们可以很容易地计算出召回率得分、准确性得分和精确性得分的值,并且从这3个得分中也可以计算出f1得分。

1) 二进制预测器:它通常采用标准技术,包括用其基本构建块构建ROC曲线。在每个分类问题中,都有两类:正和负。每个实例都属于这两个集合中的一个。分类器实例可以采用4种可能的类型之一。当一个阳性病例被正确分类时,它被称为真正的阳性病例。然而,如果分类错误,则被视为假阴性。同样,当正确检测到负面事件时,它被称为真正的负面事件,而当负面事件被错误地分类时,它就被称为假阳性事件。

为了扩大我们的定义范围,我们将敏感性和特异性作为补充指标:敏感性也称为真阳性率,计算为I-FPR,而特异性也称为真阴性率,计算出I-FNR。

我们比较了逻辑回归、XGB分类器、朴素贝叶斯、SVC和随机森林分类器等算法的f1得分、验证准确性、训练准确性、RSME得分、r2得分和MAE得分等指标。

V.结论

本研究着眼于使用协同过滤技术的图书推荐系统的实现和设计。根据之前的评估和偏好,该系统能够为消费者提供定制建议。在准确性和效率方面,本研究中使用的协同过滤算法产生了令人鼓舞的结果。该系统使用真实用户数据进行了测试,结果表明它可以提供相关和有意义的建议。本研究中使用的评估指标表明,该系统的表现优于基线技术,支持了协同过滤方法的有效性。总体而言,本研究开发的图书推荐系统展示了协同过滤技术在构建个性化推荐系统方面的潜力。可以进行进一步的研究来提高系统的准确性,并结合社交网络分析、文本分析和混合算法等附加功能。

VI、 今后的工作

1) 整合新的数据来源:在这项研究中,我们使用用户的历史评分来生成推荐。然而,可以整合其他数据源,如用户评论、书籍描述和作者信息,以提高系统的准确性。

2) 增强系统的可扩展性:我们在这项研究中专注于一个小数据集。然而,随着系统用户群的增长,系统的可扩展性变得至关重要。未来的工作可以集中在开发能够高效处理大型数据集的算法上。

3) 考虑时间维度:在这项研究中,我们没有考虑数据的时间维度。然而,用户偏好可能会随着时间的推移而变化,合并时间信息可以提高系统的准确性。

4) 结合情境感知:用户的偏好和书籍选择会受到他们的情境的影响,比如他们的位置、时间和心情。未来的工作可以侧重于将情境意识纳入推荐系统,以提高其有效性。

5) 评估系统在现实世界环境中的有效性:最后,未来的工作可以集中在评估系统在许多用户和不同偏好的现实世界环境下的有效性。这将有助于确定该系统在实际场景中的效用和影响。

参考文献

[1] Avi Rana and K. Deeba et.al, "Online Book Recommendation System using Collaborative Filtering (With Jaccard Similarity)", in IOP ebooks 1362, 2019.

[2] G. Naveen Kishore, V. Dhiraj, SkHasaneAhammad, SivaramireddyGudise, Balaji Kummaraa, and LikhitaRavuruAkkala, "Online Book Recommendation System", International Journal of Scientific & Technology Research, vol.8, issue 12, Dec 2019.

[3] Uko E Okon, B O Eke, and P O Asaga, "An Improved Online Book Recommender System using Collaborative Filtering Algorithm", International Journal of Computer Applications, vol.179-Number 46, 2018.

[4] Ms. Sushma Rjpurkar, Ms. Darshana Bhatt, and Ms. Pooja Malhotra, "Book Recommendation System", International Journal for Innovative Research in Science & Technology, vol.1, issue 11, April 2015.

[5] Abhay E. Patil, Simran Patil, Karanjit Singh, Parth Saraiya, and AayushaSheregar, "Online Book Recommendation System using Association Rule Mining and Collaborative Filtering", International Journal of Computer Science and Mobile Computing, vol.8, April 2019.

[6] Suhas Patil and Dr. Varsha Nandeo, "A Proposed Hybrid Book Recommender System", International Journal of Computer Applications, vol.6 - No.6, Nov - Dec 2016.

[7] Ankit Khera, "Online Recommendation System", SJSU ScholarWorks, Masters Theorem and Graduate Research, Master’s Projects, 2008.

[8] Anagha Vaidya and Dr. Subhash Shinde, "Hybrid Book Recommendation System", International Research Journal of Engineering and Technology (IRJET), July 2019.

[9] Dhirman Sarma, Tanni Mittra, and Mohammad Shahadat Hossain, "Personalized Book Recommendation System using Machine Learning Algorithm", The Science and Information Organization, vol.12, 2019.

[10] Ayub, M., Ghazanfar, M.A., Maqsood, M., and Saleem, A. (2018). A Jaccard base similarity measure to improve performance of CF based recommendation system. Proceedings of International Conference on Information Networking (ICOIN).

[11] Choi, S.H., Jeong, Y.S., and Jeong, M.K. (2010). A Hybrid Recommendation Method with Reduced Data for Large-Scale Application. IEEE Transactions on Systems, Man and Cybernetics-Part C: Applications and Reviews, Vol. 40, No.5, September 2010.

[12] Elgohary, A., Nomir, H., Sabek, I., Samir, M., Badawy, M., and Yousri, N.A. (2010). Wiki-rec: A semantic-based recommendation system using Wikipedia as ontology. In 10th International Conference on Intelligent Systems Design and Applications (ISDA).

[13] Oku, K., Nakajima, S., Miyazaki, J., and Uemura, S. (2006). Context-aware SVM for context-dependent information recommendation. In MDM’06 proceedings of International Conference on Mobile Data Management.

[14] Ghani, R. and Fano, A. (2002). Building recommender systems using a knowledge base of product semantics. In proceedings of 2nd International Conference on Adaptive Hypermedia and Adaptive Web Based Systems.

[15] Miyahara, K. and Pazzani, M.J. (2000). Collaborative filtering with the simple Bayesian classifier. In proceedings of Pacific Rim International Conference on Artificial Intelligence.

[16] Asanov D. (2011). Algorithms and Methods in Recommender Systems. Berlin Institute of Technology Berlin, Germany.

[17] Lakshmi, S.S. and Lakshmi, T.A. (2014). Recommendation Systems: Issues and challenges. (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (4), 2014, 5771-5772.

[18] Okon, E.U., Eke, B.O., and Asagba, P.O. (2018). An improved online book recommender system using collaborative filtering algorithm. International Journal of Computer Applications(0975- 8887) Volume 179-No.46, June 2018.

[19] Kurmashov, N., Konstantin, L., Nussipbekov, A. (2015). Online book recommendation System. Proceedings of Twelve International Conference on Electronics Computer and Computation (ICECC).

[20] Mathew, P., Kuriakose, B., and Hegde, V. (2016). Book Recommendation System through content based and collaborative filtering method. Proceedings of International Conference on Data Mining and Advanced Computing (SAPIENCE).

[21] Parvitikar, S. and Dr. Joshi, B. (2015). Online book recommendation system by using collaborative filtering and association mining. Proceedings of IEEE International Conference on Computational Intelligence and Computing Research (ICCIC).

[22] Ayub, M., Ghazanfar, M.A., Maqsood, M. and Saleem, A. (2018). A Jaccard base similarity measure to improve performance of CF based recommendation system. Proceedings of International Conference on Information Networking (ICOIN)

[23] Gogna, A. and Majumdar, A. (2015). A Comprehensive Recommender System Model: Improving Accuracy for Both Warm and Cold Start Users. IEEE Access, Vol. 3, 2803- 2813, 2015.

[24] Chatti, M.A., Dakova, S., Thus, H., and Schroeder, U. (2013). Tag-Based Collaborative Filtering Recommendation in Personal Learning Environments. IEEE Transactions on Learning Technologies, Vol. 6, No. 4, October-December 2013.

原文出处:

Duhan A, Arunachalam N. Book recommendation system using machine learning[C]//AIP Conference Proceedings. AIP Publishing, 2024, 3075(1).

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 4:12:09

图片转 PDF:活动报名表拍照提交,高效又规范!

还在为活动报名表的整理提交抓狂? 手写的纸质表签完名堆成山,线上报名的截图散在手机相册,Excel登记的名单又存放在电脑文件夹…… 汇总提交时,要么翻半天找不到对应信息,要么格式不兼容被主办方打回,折腾半…

作者头像 李华
网站建设 2026/4/19 0:24:19

智谱Open-AutoGLM全链路指南(从入门到精通的5大关键步骤)

第一章:智谱Open-AutoGLM全链路指南概述智谱Open-AutoGLM是一套面向大模型自动化任务的开源工具链,专为简化从数据预处理、模型训练到推理部署的全流程而设计。其核心目标是降低开发者在使用GLM系列大模型时的技术门槛,提升实验迭代效率&…

作者头像 李华
网站建设 2026/4/17 21:17:32

安卓应用混合打包拥有鸿蒙特性

介绍 本篇 旨在使用混合打包使得现有的安卓应用能够快速拥有鸿蒙的特性,布局鸿蒙生态 效果图 打开仍是android应用内容,拥有了 服务卡片的鸿蒙特性。开发步骤 准备安卓工程 新建一个包名为 com.hoperun.harmonyMix 的 helloworld工程。 签名(Generate Si…

作者头像 李华
网站建设 2026/4/5 22:05:52

告别盲目自学!专科学历成功转型网络安全的高效路径与建议

小小大专,自不量力,自学网络安全到成功上岸。 给大家分享一下我的自学心酸历程以及我的学习经验,希望对正在或者准备学习网安的大家能有所帮助。 先给大家说说我的经历,我是17年毕业,普通专科通信专业。大学三年主要就…

作者头像 李华
网站建设 2026/4/17 10:10:02

【Open-AutoGLM沉思实战指南】:手把手教你5步实现AI自动化推理

第一章:Open-AutoGLM沉思怎么用Open-AutoGLM 是一个面向自动化自然语言任务的开源大模型工具,专注于将用户意图转化为可执行的推理流程。其核心机制在于“沉思”(Reflection)能力,即模型在生成回答前会主动模拟多步推理…

作者头像 李华