基于主题模型的餐馆推荐算法分析研究计算机科学与技术专业.docx
《基于主题模型的餐馆推荐算法分析研究计算机科学与技术专业.docx》由会员分享,可在线阅读,更多相关《基于主题模型的餐馆推荐算法分析研究计算机科学与技术专业.docx(31页珍藏版)》请在课桌文档上搜索。
1、前言11.1 研究背景及意义21.2 相关研究及现状31.3 论文的工作与组织结构4第2章相关理论介绍52.1 主题模型概述52.1.1 主题模型简史52.1.2 1.DA简要介绍62.1.3 LDA模型推断72.2 推荐算法概述72.2.1 基于邻域的推荐82.2.2 基于内容的推荐82.3 推荐系统评估8第3章基于主题模型的餐馆推荐算法103.1 主要任务103.2 餐馆推荐模型113.2.1 问题的形式化表述113.2.2 餐馆推荐LDA模型123.2.3 基于主题模型的推荐143.3 实验与分析143.3.1 数据预处理143.3.2 实验及结果分析15第4章搭建推荐展示系统194.1
2、 系统的需求分析194.2 系统的设计实现194.2.1 相关技术介绍194.2.2 系统的实现204.2.3 系统的运行演示21第5章总结与展望235.2工作展望23参考文献25摘要现如今推荐系统可见之于人们的生活中的方方面面。无论是阅读、购物、电影还是音乐,都能看到个性化推荐的影子。而随着互联网+的提出和发展,互联网+餐饮服务也渐渐成为一个热门的服务领域。将推荐系统应用于餐馆推荐也因此成为推荐系统的一个热门的应用方向。餐馆推荐,简单来说就是要根据用户的历史到访记录,分析和预测用户可能喜欢的餐馆,并向用户做推荐,以此来帮助用户在各色各样的餐馆中找到自己喜欢的餐馆。经典的推荐算法,比如说协同过
3、滤算法,完全可以用于进行餐馆推荐,而且也应该能取得不错的效果。但是本文并没有采用经典的推荐算法,而是提出了一种基于主题模型的专门用于餐馆推荐的算法。该算法综合考虑了用户的评论和位置信息,能够根据用户的历史评论记录和到访记录对用户进行餐馆推荐。由于主题模型能够将餐馆数据映射到低维的主题空间,因而能够挖掘餐馆之间的隐含联系,同时在一定程度上也能够缓解数据稀疏的问题。此外,主题的词分布还能为推荐提供良好的解释。最后,经过设计实验将模型应用于Yelp数据集做推荐,证实了本文中所设计的推荐算法的有效性。除此之外,为了方便展示,本文还设计实现了一个推荐展示系统。该系统实现了一个完整的前后台数据交互的过程,
4、能够在前端页面上为相应的用户展示其推荐结果信息。该系统使用SerVIet作为后台程序,采用经典的AjaX技术实现前端页面与服务器的数据交互,并调用了百度地图APl用于将餐馆的位置数据在地图上可视化。关键词:推荐系统;主题模型;LDA;餐馆推荐AbstractRecommendersystemcanbeseeneverywhereinpeoplesallaspectsoflives.Whetheritisreading,shopping,moviesormusic,youcanfindtheapplicationsofpersonalizedrecommendations.And,withthe
5、developmentoftheInternet+,Internet+cateringservicehasgraduallybecomepopular.Atthesametime,applyingtherecommendersystemtotherestaurantrecommendationisalsoapopulardirectionoftheapplicationofrecommendersystem.Therestaurantrecommendationistoanalyzeandpredicttherestaurantsthattheusermaylikebasedonthehist
6、oryoftheusersreviewsandvisit,andmakerecommendationstotheuser,soastohelptheuserfindhisfavoriterestaurantinavarietyofrestaurantlists.Classicalrecommendationalgorithms,suchascollaborativefilteringalgorithms,canbeusedforrestaurantrecommendationsaswell,andmaybehasagoodperformance.Inthisarticle,wedonotuse
7、theclassicalrecommendationalgorithm,instead,wedesignarestaurantrecommendationalgorithmbasedonthetopicmodel.Thealgorithmtakesintoaccounttheuser,sreviewsandlocationinformation,andrecommendtherestauranttotheuseraccordingtotheusersreviewsinthepast.Sincethetopicmodelcanprojectrestaurantdatatothelow-dimen
8、siontopicspace,itcanfindthelatentconnectionsbetweenrestaurants,andtoacertainextent,canalsoalleviatetheproblemofdatasparsity.Inaddition,thedistributionofwordsdrawnfromtopicscanprovidegoodexplanationsforrecommendations.Finally,themodelisappliedtotheYelpdatasettorecommendrestaurantsforusers.Andbyexperi
9、ments,weprovetheeffectivenessofthealgorithm.Besides,fortheconvenienceofdisplay,Ialsodesignandimplementarecommendationdisplaysystem.Thesystemmakesitpossiblefordataexchangebetweenthefront-endandback-end.Itcanshowuserstherecommendationresultsonthefront-endwebsite.ThesystemusesServletasback-endprogram,a
10、ndappliesAjaxtoachieveinteractionbetweenfront-endwebsiteandback-enddatabase.,andcallstheBaidumapAPItovisualizethelocationdataofrestaurantsonthemap.Keywords:RecommenderSystem;TopicModel;LDA;RestaurantRecommendation从Web1.0到Web2.0,甚至是到以后的Web3.0,互联网行业的正以人们意想不到的速度蓬勃发展着。这期间,整个IT互联网行业已经发生了天翻地覆的变化,而它也同时给人们的
11、生活带来了日新月异的改变。然而,凡事皆有利弊。由于互联网的飞速发展,在人们享受其所带来的便利的同时.,也需要应付其带来一些不良的“副产物”。信息过载就是这些“副产物”的其中之一。信息过载简单来说就是人们或系统需要处理的信息已经超出了其所能承受的范围。如今,信息量正呈几何级数增长,而这些信息中真正有价值的却不多,甚至还有可能充斥着大量的虚假、冗余信息。而这大大增加了挖掘有价值信息的成本。推荐系统就是一种可以用来应对信息过载问题的工具和策略。推荐系统只关注用户感兴趣的数据,因而可以过滤掉大量无关的数据,这正好迎合了人们从海量数据中获取有价值的信息的需求。特别是随着人工智能的发展,在推荐算法领域新加
12、入的机器学习算法使得推荐系统越来越人性化,推荐质量也变得越来越高。第1章绪论1.l研究背景及意义当今时代科技飞速发展,特别是随着计算机和IT互联网行业的发展,信息量正呈爆炸式的增长。一方面人们享受着信息技术发展所带来的便利,另一方面又在被“信息爆炸”所困扰着。如何从海量信息中挖掘有价值的信息,以及如何剔除大量的垃圾信息成了亟待解决的事情。此外,人们在做决策时往往需要数据来做支撑,大量鱼龙混杂的虚假信息严重干扰了支撑数据的可靠性。人们发现在信息越多的情况下做决策反而越难了。正如哲言所云,少即是多。人们需要的是精简的、可靠的、完整的数据,而不是庞杂的、错误的、缺失的数据。针对上述问题,推荐系统(R
13、eCommenderSystem)应运而生。现有的推荐技术已经有很多,其在现实生活中的应用也是随处可见。但无论哪一种推荐技术,其要解决的根本问题无非就是分类问题,即将用户眼前的信息分为用户感兴趣的和用户不感兴趣的信息两类。分类的方法虽然多种多样,但最重要的是分类的标准和类别。传统的分类过程需要人为地给出分类的标准和分类的类别。而人工分类的过程既昂贵又容易出错。时常会出现分类界限不清晰,分类标准模棱两可等问题。主题模型(TopicModel)就是一种用于挖掘文本中潜在主题的模型。可以用于解决上述问题。将推荐系统应用于餐馆推荐已经不是什么新鲜事了,像国内的美团、大众点评网站都在其网站上设有相应的推
14、荐板块。传统的搜索引擎可以帮助用户查找特定需求下的餐馆信息,但推荐系统可以更进一步地挖掘用户的潜在需求。很多情况下用户无法表达自己的明确需求,这时候就是推荐引擎派上用场的时候了。在考虑选择哪一种推荐算法的时候,首先想到的就是应用最广泛的协同过滤算法。但是协同过滤算法虽然简单高效,但是它却不能有效利用用户的评论信息。考虑到这一点,本次实验利用LDA(LatentDirichletAllocation)主题模型对用户评论数据进行建模,找出用户的潜在主题分类,然后再据此对用户进行餐馆推荐。经评估,该系统在保证较好的推荐准确度的同时,也在一定程度上解决了数据稀疏等问题。1.2 相关研究及现状推荐系统的
15、出现到现在也就不过三十年的时间。虽然时间不长,但是由于互联网和电子商务的发展,推荐系统也由此得到了飞速的发展。虽然现在推荐系统技术已经得到了长足的发展,但是还远未达到可以称作是成熟的程度。一些经典问题,诸如稀疏性和冷启动等问题仍未找到有效的解决方法。周涛曾提到,个性化推荐仍然面临着包括脆弱性、评估难题、数据稀疏性、冷启动、大数据处理、多样性与精确性等十大问题【。而刘鲁等人也提到,在未来推荐系统的研窕方向也将会集中在如何将数据挖掘技术应用于推荐系统、进一步改进推荐算法的性能、以及推荐系统的评价研究等几个方向口叫推荐系统仍有很长的路要走。此外,由于近年来移动终端设备的火热发展。出现了一种基于位置的
16、推荐,它通过分析用户上传的位置信息,分析用户的兴趣,为其推荐用户位置附近的事件。这极大地方便了智能手机用户,因此也成为了学术界关注的热点,预计未来在基于位置做推荐的方向上还将会有更多的成果出现。本文中所做的餐馆推荐也是属于基于位置推荐的一种。随着人工智能的发展,人们开始将目光转向将机器学习算法应用于推荐算法。主题模型是一个在本世纪初被提出来的概率统计模型。它可以用于发现文章中的潜在主题。基于这一点,我们可以不仅仅将主题模型应用于自然语言处理领域。我们可以将对词的统计改为对像素的统计,从而把主题模型应用于图像处理领域。把词的统计改为商品信息的统计,从而可以把主题模型应用于推荐系统等。提到主题模型
17、,通常人们想到的就是LDA,虽然主题模型有很多种模型,但是主题模型真正进入人们的视野恐怕就是要从LDA的提出开始的。此后的诸多主题模型基本都是基于LDA进行改进的。现在对LDA的研究可谓是百家争鸣,有基于LDA做信息检索的、有基于LDA做图像处理的、有基于LDA做推荐的,甚至有人还把LDA应用于生物信息学等其他学科领域。近年来将LDA应用于推荐系统的也数见不鲜。连LDA的作者Blei本人也参与提出了一种用于科学论文推荐的基于协同过滤和主题模型的推荐方法。目前,LDA在推荐领域的应用已经涉及到文章、社交网络、地理位置、广告等各个方面。1.3 论文的工作与组织结构本文各章节的组织结构如下:第1章绪
18、论本章主要讲述了推荐系统的背景和研究意义。解释了为什么需要推荐系统,以及研究推荐系统的意义,包括本文设计的餐馆推荐系统能解决什么样的问题。然后就是简要阐述了一下,目前推荐系统和主题模型的研究现状。第2章相关理论介绍本章主要介绍了与主题模型和推荐系统相关的理论作为后续章节的铺垫。对于主题模型,分别从主题模型的发展史,以及主题模型的原理角度进行介绍。对于推荐系统,分别从推荐算法和评价指标等方面进行介绍。第3章基于主题模型的餐馆推荐本章正式介绍了本文所设计的基于主题模型的餐馆推荐算法。其核心就是一个LDA模型。主要内容就是围绕着这个模型展开的。具体介绍了算法主要解决的问题、模型的定义、训练模型所用的
19、数据集、以及实验结果等。第4章搭建推荐展示系统本章的主要内容是介绍为展示推荐结果而搭建的推荐展示系统。该系统能够将用户的访问记录及推荐结果展示到前端页面上。第5章结论与展望本章总结了本次实验主要的研究内容和所取得的主要成果,同时也对今后的工作和研究内容做进一步的探讨与展望。第2章相关理论介绍目前最常见的主题模型可能就是隐含狄利克雷分配(LatemDirichletAllocation,LDA)了,LDA是在2003年由BIei等人提出也是一种改进了的PLSl(ProbabiIiStiCLatentSemanticIndexing,PLSI)o推荐系统则可以被看作是一种信息过滤机制,其旨在挖掘用
20、户的偏好,将过滤后的物品推荐给用户。本章也将主要介绍这两方面内容,首先介绍的是主题模型,然后再对推荐系统和推荐算法做简单介绍。2.1 主题模型概述本节将首先简单地介绍一下主题模型的发展史,主题模型从诞生到发展至今天是一脉相承的,了解主题模型是怎么发展的有助于对后面LDA知识的理解。之后本文再简单介绍一下LDA的基础知识,这将有助于理解本文后面提出的用于餐馆推荐的LDA模型。2.1.1 主题模型简史1998年,Papadimitriou等人在一篇论文中提出了潜在语义索引(LatentSemanticIndexing,LSDo潜在语义索引简单来讲就是通过找出文本集合中的共现词。对于两个词,如果它们
21、频繁出现在同一篇文档中,就可以认为这些词是语义相关的。通过这样做,可以将两个计算机“看起来”不怎么相似的词,通过语义的方式联系起来,这样在检索时就可以不仅仅是检索关键词了,还可以通过其语义相关词进行检索。1999年,Hofmann等人在LSl的基础上,提出了一个被称作概率潜在语义索引(ProbabilisticLatentSemanticIndexing,pLSI)的模型,也被称作概率潜在语义分析(Probabilisticlatentsemanticanalysis,pLSA)o这个模型将文档和词之间的语义维度用一组对应到词典上的词概率分布表示。也即可以将其看作是主题,文档中的每个词都是由主
22、题的词分布生成的。2003年,Blei等人提出了隐含狄利克雷分配(LatentDirichletAllocation,LDA)o此后的诸多主题模型大多是以LDA为基础进行改进的,本文所要介绍的基于主题模型的餐馆推荐算法也是基于LDA设计的模型。LDA是一个生成统计模型,它的想法类似于pLSA,将文档视为是由各个隐含主 题的混合。不同于PLSA的是,在LDA中主题分布有一个稀疏的狄利克雷概率先验。 在这个做法背后的直觉是,一篇文档通常只包含几个主题,而这几个主题又是由少数使用频率较高的词所表示的。LDA认为一篇文档是按照如下方式生产的:DocumentsTopic proportions and
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 主题 模型 餐馆 推荐 算法 分析研究 计算机科学 技术 专业
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-1226443.html