文摘
解决信息超载的问题领域的新闻,本文设计和实现了一个可行的新闻推荐系统,前端的web页面是由Django框架,其性能优化的引导和jquery,而在后端设计,最初的用户相似性计算方法是通过添加时间衰减因子,改进和新闻推荐模型基于用户协同过滤(CF)算法。实验结果表明,该算法实现最高的回忆,准确性F1得分比率与其他算法相比,这表明,该算法具有更好的性能。
1。介绍
随着信息时代的到来,互联网提供了一个方便的方式来获取新闻。然而,有成千上万的来自不同渠道的新闻报道和字段在互联网上,让用户迷失在大量的数据,所以,他们需要花很多时间和精力去确定他们想要的新闻浏览,即“信息过载”问题(1,2]。推荐系统是一种信息过滤系统,它可以预测用户的偏爱项目根据分析用户的兴趣特点和历史行为数据,帮助用户决策和分析,可以提高用户的体验。
在新闻领域的应用,大量的新闻使它产生极其重要的推荐新闻高效、迅速。目前,许多网站通常采用流行的推荐和点击率的建议来处理大量的新闻,但这些方法通常不考虑不同用户之间的利益差异,和所有的推荐结果都是一样的,不能真正满足用户的实际需要(3,4]。一方面,当前流行的推荐系统可以减少用户的时间来寻找新闻和改善他们的浏览体验。另一方面,该系统提供了新闻平台的输出效率,以便更多的相应消息可以及时浏览用户,提高利用价值的新闻和新闻平台公司提供了巨大的商业价值。
其中,新闻的建议是一个热点研究领域。通过计算和考虑主题的文章相似,类别,等等,基于内容的新闻推荐系统将生成一个新闻列表对于用户来说,这是类似于[新闻用户5]。此外,用户在新闻领域更有可能受到影响。与此同时,由于新闻的时效性的建议,用户兴趣是不断发展的6]。协同过滤(CF)算法用于个性化的新闻推荐(PNC)。新闻推荐基于CF, CF项目一般不采用,因为新闻的数量远远大于用户的数量,和更新快,导致高计算复杂度[7]。因此,基于用户的CF算法,本文采用的基本原理就是找到“邻居”用户组类似于当前用户的偏好(评级)根据所有用户的偏好(分数)物品或信息。
本文的目的是开发一个解决方案的新闻推荐和试图让这个解决方案有很强的兼容性和适用性。通过混合推荐技术的研究,一个可行的新闻推荐系统的设计和实现。在算法设计中,现有的相似度计算方法没有考虑时间因素。因此,本文考虑了时间因素,改善原始用户相似性计算公式;此外,衰减系数是时间。
2。新闻推荐算法的研究现状
CF-based推荐算法的原理是假定用户像类似的项目有类似的利益8]。它首先生成一组具有相同兴趣的用户为目标用户,然后推荐项目,目标用户没有点击但集合中用户点击。因为基于CF的推荐算法的原理相对简单,它已经流行领域的建议。吴et al。9)提出了一个合作降噪编码器推荐给用户,自动降噪编码器制定用户项目反馈数据来生成一个用户和项目的分布式结构。汉(10)提高了数据预处理和最近邻的两个阶段选择的CF算法,用户项目评估矩阵,介绍了标记因素和时间因素,与二分法k - means集成CF,提高了相似度计算公式。Saranya和Sadasivam11)采用了基于粗糙集的CF算法分新闻类别,提高排名的小说新闻。江et al。12]知识图的CF算法相结合,连接web API和mashup相关信息通过知识图,然后计算web API之间的距离向量提出建议。雪et al。13]使用矩阵分解模型来构造用户新闻矩阵显示评级和隐式反馈信息的用户和投影到低维空间中通过神经网络用户和消息。
虽然基于CF的推荐算法可以获得满意的推荐结果在某些情况下,它通常有冷启动的问题。随着神经网络的发展,它在图像处理方面取得了良好的效果,自然语言处理,和其他领域。因为传统的推荐模型是一个通用的算法模型,它不结合具体的业务场景,因此它不是有效的在某些特定的应用场景。在这种情况下,推荐算法需要根据不同的应用程序进行一些更改,所以有一定的推荐算法模型应用程序场景。Veličkovićet al。14网络)提出了一个新颖的注意机制,分配不同的权重不同节点的最近邻通过self-attention机制层。这些推荐算法模型在一定领域需要结合实际的业务场景和需要设计模型从业务的角度,考虑模型的实际应用效果。神经网络可以找到隐藏的特征信息在用户行为记录和捕捉项目和用户之间的交互特点,使推荐算法的准确性。
3所示。PNC系统的设计
3.1。总体结构
系统的体系结构设计如图1。整个系统架构设计分为以下部分。
数据层过程和存储用户信息,新闻信息,分别和日志文件的信息。熊猫数据处理框架中使用的过程,和MySQL和复述,用于存储。有用户的历史信息平台用户的消息。此外,用户的历史浏览行为的ID的消息,需要映射到相应的新闻内容。在此系统中,消息指的是新闻标题。日志文件中记录所有操作系统和保存在MySQL数据库。
战略层包括召回策略,排序策略,冷启动策略,重新排序策略。这一层是模型用户根据用户行为序列的新闻内容,以便向用户推荐感兴趣的新闻内容根据用户兴趣的新闻平台。这一层的流程步骤如下:(1)候选人的消息是召回新闻数据集根据新闻的用户行为。在这一步中,几种候选数据集新闻在大规模召回新闻。(2)新闻数据集,新闻的推荐范围降低,然后上面提到的新闻排名算法是用于进一步新闻生成新闻推荐候选人名单。(3)当没有历史浏览记录用户行为序列,没有排序策略。在这种情况下,我们需要使用冷启动策略推荐给用户。(4)排序后,新闻需要从不同角度重新排序,最后排序结果返回给用户。
在战略层,模型通过Python框架代码编辑和训练。
反馈层包括反馈评估和推荐列表。这一层是评估和调整战略层的结果。战略后返回推荐结果,评估建议的结果根据评价指标如准确性、新鲜和人气。当索引的策略不符合,需要再次调整策略。在评价过程中,SKlearn框架是用于评估。
应用程序层为用户和管理员提供了交互的支持,包括用户注册和登录、新闻浏览、编辑材料,用户管理,新闻管理。整个框架使用瓶、HTML和JavaScript参与前端和后端之间的相互作用过程。
3.2。功能模块
系统功能模块分为五个部分,注册和登录模块,数据编辑模块,新闻浏览模块、用户管理模块、新闻管理模块。系统功能模块如图2。注册和登录模块包括用户注册和用户登录。编辑数据模块包括昵称修改,《阿凡达》修改,密码修改。新闻浏览模块包括新闻浏览、分类浏览新闻,历史新闻浏览,推荐新闻浏览。用户管理模块包括用户搜索和用户删除。新闻管理模块包括新闻发布、新闻编辑、新闻删除。
4所示。PNC系统的实现
推荐系统设计本文主要以网页的形式呈现。自端推荐算法是由Python设计,为了方便之间的交互后端和前端,前端网页计划使用Django框架,并引导和jquery是用来优化web页面的效果。作为一个主流的和流行的web框架,Django使用类似MVC的程序结构,使用测试(模型、视图和模板)体系结构。MVC的全称是模型-视图-控制器。M是指模型,主要封装了访问数据库层和补充说,删除,修改,检查数据库中的数据。V是指视图,用于封装结果并生成HTML内容显示在页面上。C是指控制器,用于接收请求,处理业务逻辑,与模型和视图交互,并返回结果。测试是Django框架的专有名称,它的功能是一样的MVC。在测试中,模型主要是用来定义和与数据库交互。在JSP视图与控制器,用于控制在后台网站的行为。 Template is used to display the front-end effect of a web page.
4.1。前端功能
网站的前端设计主要包括模板的设计和开发。与JSP技术不同,Django框架下,一个HTML web页面使用不仅作为一个页面,而且作为一个模板,可以重复使用很多次。
模板的实现功能:当用户登录网站的Django框架,URL控制器用于路由分布匹配适当的视图函数,然后视图函数将直接读取模型或渲染一个模板并返回到用户界面根据过程由程序员编写的。不同的视图函数可以呈现相同的模板,模板的内容会改变根据传递的参数的观点,可以重用变化不大的页面风格和减少开发成本。正在运行的进程的整个框架是如图3。
除了模板的设计,前端还包括后端数据的显示。在这个框架中,数据是首先由控制器处理,然后传递给模板通过相应的API。以主页为例,页面的参数包括新闻标题、新闻分类标签,和用户信息。其中,新闻标题和新闻标签被导入到页面列表,和用户信息只需要传递一个用户名,而在后台,新闻列表会根据用户的信息,然后输出排序后的处理。
模板中调用参数的方法是类似于JSP技术。列表中的每个元素显示在页面通过遍历参数传入。值得一提的是,这个项目的所有页面使用引导来美化网页的外观。因为引导是一个响应框架,使用引导可以避免在不同大小的设备显示错位的问题。
4.2。后端功能
假设用户命名U需要个性化推荐。首先,找到具有相同兴趣的用户。这些用户被称为最近邻用户。然后,推荐的消息最近邻用户喜欢但是用户U没有见过。这是基于用户的CF算法。这种推荐系统的优点是,推荐的新闻可能完全无关的内容,所以它可以发现用户的潜在利益,为每个用户生成个性化推荐的结果。
4.2.1。准备算法设计
CF算法主要使用行为的相似性计算感兴趣的相似性。给定用户和用户 ,公式(1)是用来计算感兴趣的相似性和 ,在哪里用户代表的消息集读过,用户代表的消息集已浏览。
用户读新闻 ,和用户读新闻 。公式(1)是用于计算用户之间的相似性和用户 ,和的计算可以被重写的消息集{一个,b,d},{一个,c},下列公式所示:
4.2.2。改进算法
公式(1)只考虑用户是否读过某一新闻,而不是阅读时间。由于强烈的新闻时效性的建议,在用户的阅读历史,从目前越远,越有限的用户行为预测的影响。根据新闻推荐的特点,我们调整相似度公式。同时,热点新闻和新闻阅读时间的影响相似。为了惩罚的影响受欢迎的新闻共同利益的用户列表和用户相似,受欢迎的消息是降级为避免哈利波特的效果。计算公式考虑时间衰减因子,防止用户之间的相似性和用户那些喜欢新闻在一定的时间范围内太小。公式(1)提高了考虑新闻推荐的特点,如以下公式所示: 在哪里代表了阅读的用户集 , 代表了阅读的用户集 , 代表着新闻的发生时间 , 代表执行时间,表示当前时间,代表初始时间,代表了调整因素,范围从0到1。更大的是,更多的因素被认为是在感兴趣的变化,而较小的,惩罚是对受欢迎的新闻。
为方便描述,这种改进的CF算法更名为UserCF算法。
4.2.3。算法流程
在获得用户的相似度,建议UserCF算法新闻,用户最感兴趣但不推荐用户阅读的。公式(3)措施用户U新闻的兴趣在UserCF算法: 在哪里 代表了最近的邻居集最类似于用户的兴趣,代表用户组阅读新闻 , 代表用户兴趣相似性和用户 ,可以通过公式计算(3),代表用户的偏好程度或分新闻、用户读新闻 ,和是1。推荐的新闻是用户没有读过。该算法的用户新闻的兴趣描述如下。(( 所有用户; ))
公式(3)是用于计算 。(我)步骤1。排序所有得到k最近的邻居集 最相似的用户的利益 。(2)步骤2。找到用户 有阅读新闻从最近邻用户。(3)步骤3。的相似度每个用户的 在用户并设置 乘以用户的兴趣度,是用户的兴趣程度在新闻 。(iv)步骤4。根据 ,排序 找到的消息邻居们最感兴趣的并把它推荐给用户 。
新用户注册时,用户会选择几个感兴趣的类别。这些类别通过分词结果的新闻动态显示在数据库中,不固定的。用户选择后,后端将优先类别他们感兴趣的过程中访问该网站。这个建议的方法主要是解决冷启动的问题。推荐数据形成之前,标签推荐用于处理情况推荐的推荐系统没有足够的数据分析。同样,使用SQL语句所需的新闻对象组织成一个链表,然后渲染输出。读取页面,新闻标题在一个迭代循环。建议流程如图4。
5。实验和分析
5.1。数据集
在这个实验中使用的数据集从国内新闻网站的用户数据,包括5000个用户和近120000阅读记录。每个数据集包含六部分,细节如表所示1。在这个实验中,数据集分为两部分,在训练集和测试集的比例是7:3。数据信息显示在表中1:
5.2。评价指标
在这个实验中,F1分、精度和召回被用来评估在本章提出的算法。F1分是调和平均数的精度和召回率。精度是指正确的比例推荐新闻推荐名单,同时召回率是指推荐正确的新闻比点击用户列表。的计算公式如下: 在哪里代表了推荐的新闻标题推荐用户列表和代表用户的点击新闻标题在测试集。
5.3。结果与讨论
5.3.1。参数优化
首先,在融合相似性计算,通过体重影响因素α遍历值,观察精度值的变化,并测量重量的相似度计算方法。实验结果如图所示5。
体重的变化影响因素α会影响新闻推荐算法的预测精度。当α= 0.5,新闻推荐算法,集成了用户阅读记录和新闻标题相似模型中提出了具有最佳性能,当α= 0.4,精度最高。因此,α选为0.4。
5.3.2。不同算法的比较
为了验证系统的后端设计的有效性,实验结果与其他算法进行比较和分析。本文选择三种算法进行比较:内线,歧视,NR_LDA。结果如图6- - - - - -8。
内线是一种改进的基于消费者点击行为(PNC算法15]。首先,关联规则之间相邻的新闻的新闻浏览序列建立了消费者,然后浏览时差的限制被添加到关联规则建设新闻推荐给用户。
融合ALS(歧视)使用加权混合推荐策略融合ALS模型推荐,基于内容的推荐,改善循环神经网络算法,得到混合算法模型通过逻辑回归训练重量(16]。
NR_LDA结合用户的利益和新闻及时性(17)并添加新闻发布时间的影响主题提取利用LDA模型改进推荐算法的效果。
从上面的数据可以看出,随着推荐列表N,精度首先增加然后减少。当N= 10,精度达到最高。在同样的N值,与四个算法相比,该算法提高了2.7%与内线相比,与NR_LDA相比,3.9%和12.6%与歧视相比,精度最高的四种算法。增加的推荐列表N召回率逐渐增加。该算法的召回率高于其他三种算法在相同的推荐列表N,表明提出的推荐算法具有更好的性能。
平衡召回率和精度,F1分是作为这个实验的评价标准。如图8的增加N,F1分数先增加,然后下降,最后趋于稳定,时达到最大N= 10。在少数的情况下类似的用户最近的新闻推荐的用户数量可能不够全面。然而,如果最近太多类似的用户选中,将包括一些用户相似度较低,高人气和新闻点击通过这些用户不感兴趣的目标用户将推荐给目标用户,导致精度降低。因此,在新闻推荐算法,需要合理选择类似的用户最近类似的用户获得理想的CF推荐效果。
6。结论
本文设计一个个性化的新闻推荐系统。这个系统的功能需求需要满足新闻的采集和存储数据,用户行为记录、新闻内容显示,等。然后,PNC介绍了系统的架构设计,包括多层结构,前端web使用Django框架,大大降低开发成本,提高开发效率,同时后端设计采用新闻推荐模型基于UserCF算法。测试结果表明,该记得,准确性F1算法的分数高于其他三种算法在相同的推荐列表N。
数据可用性
使用的数据来支持本研究的发现可以从相应的作者在合理的请求。
的利益冲突
本研究是在没有进行任何商业或财务关系,可以理解为潜在的利益冲突。