书签 分享 收藏 举报 版权申诉 / 31

类型基于协同过滤的房源推荐系统的设计与实现.docx

  • 上传人:小香灰
  • 文档编号:83759
  • 上传时间:2021-07-29
  • 格式:DOCX
  • 页数:31
  • 大小:674.35KB
  • 注意事项:

    本文档如无特殊说明,请使用OfficeWPS软件打开,文档中的文字与图均可以修改和编辑。

    版权声明:

    本文档由用户上传版权归上传用户所有,搜文库仅提供文档存储空间。若发现您的权利被侵害,请联系客服邮件kefu@souwenku.com,我们尽快处理。

    关 键  词:
    基于 协同 过滤 房源 推荐 系统 设计 实现
    文本预览:
    本科毕业设计(论文) 基于协同过滤的房源推荐系统的设计与实现 Design and implementation of house recommendation system based on collaborative filtering 院 (系) 计算机学院 专 业 网络工程 班 级 一班 学 号 16210220110 学生姓名 林泽恒 指导教师 赵元成 提交日期 2020 年 4 月 24 日 毕业设计(论文)原创性声明 本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行的设计(研究)工作及取得的成果,论文中引用他人的文献、数据、图件、资料均已明确标注出,论文中的结论和结果为本人独立完成,不包含他人已经发表或撰写的作品及成果。对本文的研究作出贡献的个人和集体,均已在论文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 毕业论文作者(签字): 签字日期: 年 月 日 成绩评定 成绩项 论文成绩(百分制) 折合比例 实得成绩(折合分) 指导教师成绩 30% 评阅教师成绩 20% 答辩成绩 50% 总评成绩 注:毕业设计(论文)成绩按百分制评定。答辩成绩不及格的(评分低于60分的),则该毕业设计(论文)总评成绩为答辩成绩。 摘 要 本论文通过对当前房屋租赁市场存在的痛点问题进行分析,结合互联网信息系统的考察,以自主开发一个B/S架构的房源推荐系统为例,对开发过程的一些技术问题提出一些实用性的建议及实现。论文首先从房屋租赁市场的发展现况与互联网信息系统发展前景进行分析,提出了将两者结合起来,通过实现一个算法推荐系统改善房屋租赁市场现状的设想。 在此基础上,本论文介绍了房源推荐系统的开发过程以及其中的技术问题,以B/S模式进行系统的开发,以Java作为开发语言,以IntelliJ IDEA作为开发工具,采用Spring Boot开发框架,借助业界现有的推荐算法,由需求分析,功能设计,数据组织,代码组织等各个方面对房源推荐系统的开发过程做出一定的实践,在实现的同时,总结经验,并将前期的整体设计,中期的具体实现过程,后续的软件测试的具体思路呈现在论文中。 关键词:房屋租赁 推荐系统 Java Spring Boot 协同过滤 ABSTRACT This paper analyzes the pain points existing in the current housing rental market, combined with the investigation of the Internet information system, and takes an independent development of a B / S architecture house recommendation system as an example to propose some practical problems in the development process. Proposal and realization. The thesis first analyzes the development status of the housing rental market and the development prospects of the Internet information system, and puts forward the idea of ​​combining the two and improving the status of the housing rental market by implementing an algorithm recommendation system. On this basis, this paper introduces the development process of the house recommendation system and its technical problems. The system is developed in B / S mode, Java is used as the development language, IntelliJ IDEA is used as the development tool, and the Spring Boot development framework is adopted. With the help of the existing recommendation algorithms in the industry, we need to make certain practices in the development process of the house recommendation system from the aspects of demand analysis, functional design, data organization, code organization, etc. The overall design, the specific implementation process in the medium term, and the specific ideas for subsequent software testing are presented in the paper. Key words: Housing Rental Recommendation Algorithm Java Spring Boot Collaborative filtering 目 录 1. 绪论 1 1.1. 研究背景 1 1.2. 研究目的和意义 1 1.2.1. 研究目的 1 1.2.2. 研究意义 2 1.3. 研究现状 2 1.4. 研究内容 2 2. 推荐算法研究与分析 4 2.1. 推荐算法现状 4 2.2. 系统推荐算法分析 4 2.3. 本章小结 6 3. 系统分析 7 3.1. 系统可行性分析 7 3.1.1. 技术可行性 7 3.1.2. 经济可行性 7 3.1.3. 操作可行性 7 3.2. 系统需求分析 8 3.2.1. 需求概述 8 3.2.2. 推荐模块需求分析 8 3.2.3. 系统功能需求分析 8 3.3. 本章小结 9 4. 系统设计与实现 10 4.1. 系统设计框架 10 4.2. 系统推荐模块的设计 11 4.3. 系统功能模块设计 12 4.4. 系统数据库设计 17 4.4.1. E-R模型 17 4.4.2. 数据库表 18 4.5. 系统实现 19 4.5.1. 推荐模块的实现 19 4.5.2. 系统功能的实现 19 4.6. 系统测试 20 4.6.1. 功能测试 20 4.7. 本章小结 21 5. 总结与展望 22 参考文献 23 致 谢 24 广东东软学院本科毕业设计(论文) 1. 绪论 1.1. 研究背景 在中国共产党的领导下,中国的市场经济发展迅速,城市化进程不断加速。与此同时,越来越多的农村剩余劳动力涌入城市,加大了人口流动,使得城市流动人口数量不断增长。然而这些外来务工人员或者城市低收入者没有能力购买价格高企的商品房。因此,房屋租赁市场对于买卖双方都有着很大的需求。无论是租房还是出租,都具有重大的现实意义。然而现实中房屋租赁市场规模大且信息复杂,买卖双方经常发生纠纷。由于信息的不对等,在房屋租赁市场中,求租方往往是弱势的一方,一些求租者需要花费高昂的交易费通过中介公司寻求房源。一些黑心的中介公司出于利益不会客观地为客户推荐房源,中介费也在一定程度上加重了求租者的负担。另外,由于语言表述的局限性,承租方很难将自己心中的理想房屋形容出来,中介也很难满足承租方的全部需求,这种信息的不对称对于房屋租赁是个很大的问题。这些问题都急需一个减轻承、出租双方沟通成本,使满足各类需求的房源真实地展现给所需用户的平台。 当今时代,互联网应用越来越广泛,计算机算法发展迅猛,极大地方便了人们的工作生活。其中基于算法的推荐系统无处不在,例如国民购物网站淘宝网、以推荐算法著称的新闻应用今日头条,用户在使用过程中能够不断获得自己想要的内容,并且呈现的内容会随着浏览量的增多而越来越接近自己的需求,信息也越来越对称,逐渐受到用户的青睐,这背后的推荐系统功不可没。 1.2. 研究目的和意义 1.2.1. 研究目的 通过对房屋租赁市场存在的问题以及承租、出租双方的需求进行研究和分析,开发一款房源推荐系统,降低承租、出租双方的沟通成本,在一定程度上改善房屋租赁市场的痛点问题。 本课题结合国内房屋租赁市场存在的问题以及互联网信息推荐系统的发展方向,设计了一个基于协同过滤的房源推荐系统,借助业界现有的协同过滤推荐算法,以Java为开发语言、以Spring Boot为开发框架、IntelliJ IDEA为开发工具,数据库采用MySQL数据库和Redis缓存,通过后台数据库的建立和前台界面的设计与功能实现等几个阶段来完成房源推荐系统的开发。 1.2.2. 研究意义 衣食住行是人们最基本的生活需求。如今,随着房价的不断上涨,租房成为外来务工人员以及刚进入社会工作的年轻人解决居住问题的主要方式,每一年都有许许多多的人需要租房,促进了房屋租赁市场的发展。因此,我国的房屋租赁市场需求巨大,发展前景广阔,但仍然存在零散、不规范等弊端。此时,设计实现一款房源推荐系统具有重要的实践价值,也可以为社会发展提供一些技术帮助。 本系统通过推荐算法为承租方个性化推荐房源,给生活中的难题带来技术上的解决方案,为智能化生活场景提供一定的参考价值。 1.3. 研究现状 随着机器学习技术的逐渐成熟以及人工智能的发展,推荐系统目前是一块很大的研究领域,许多电商应用、新闻应用和短视频应用都开始使用推荐系统为用户推荐内容。 当前,诸如阿里巴巴和字节跳动等国内知名的互联网公司正在广泛使用推荐系统, 而像搜房网、58同城,这些房地产服务网络平台通常以信息检索为主,网站以统一格式发布房源数据,用户再通过条件过滤来检索网站上的房源数据。 目前对于推荐房产信息的研究并不是很多,文献[2]提出了混合业界常用的推荐算法,并建立双方互相评分的概念模型,通过承租方和出租方互相打分作为系统推荐的依据。文献[3]提出了统计、分析用户访问网站时的操作行为,从中发现用户访问网站的规律和用户习惯进而对用户进行个性化推荐。文献[4]提出了基于粒子群算法的房产推荐系统,该系统需录入房产信息内容,在指定的格式下,每一条房屋信息的属性都需要在信息录入的初期登记在数据库中。 1.4. 研究内容 本文的研究内容主要是提出目前国内房屋租赁市场存在的一些问题,结合互联网信息推荐系统的应用场景,开发一款基于协同过滤的房源推荐系统。通过协同过滤中的ItemCF算法为承租方用户推荐与其喜好类型相似的房源信息。 具体从以下三个方面入手: (1) 通过系统研究背景以及对推荐算法的现状进行分析,确定系统的开发方向和核心推荐模块的设计。 (2) 在系统的详细开发上,确定合适的软件结构以及数据库的设计,本系统采用Spring Boot开发框架搭建,前端框架使用Layui,数据库使用MySQL关系型数据库和Redis缓存。 (3) 系统的详细功能设计,包括用户注册登录、房源信息推荐等。 本文以房源推荐系统为研究对象,研究业界上常用的推荐算法,分析该房源推荐系统的设计与开发过程。重点分析了推荐算法的原理和系统功能的实现,并对实现的系统进行了功能测试。本系统选用的开发语言是Java,开发框架是Spring Boot,采用的开发工具是IntelliJ IDEA,应用服务器是Tomcat,结合MySQL和Redis数据库进行实现,开发出基于协同过滤的房源推荐系统,帮助承租方和出租方提高操作效率,使工作流程清晰化且提高管理效率。 2. 推荐算法研究与分析 2.1. 推荐算法现状 目前推荐系统的发展非常迅速,基本上分为几大类:基于流行度的推荐、基于内容的推荐、基于协同过滤的推荐、混合推荐等。 (1) 基于流行度的推荐实际上就是热门内容的推荐,基于最高评分、最多购买、 最多下载、最多观看等维度给用户进行推荐,优点是十分简单直接,对于新用户来说十分友好,因为新用户没有产生过任何历史行为记录,一些具有冷启动缺陷的推荐系统很难对其进行推荐。不过,基于流行度的推荐只能推荐热门的内容,无法提供个性化推荐,因此在推荐系统中一般将其作为替补策略。 (2) 基于内容的推荐是根据用户对Item进行点赞、收藏、浏览、评论等行为,获得用户的兴趣偏好,根据用户的兴趣偏好为其推荐相似的Item,优点是避免Item冷启动问题,并且只依赖于用户自身的行为,不涉及其他用户的行为,因此能够进行个性化推荐,缺点是推荐范围具有局限性。 (3) 基于协同过滤的推荐是推荐系统中一种应用十分广泛的技术,行业中已经有了很多应用,其中应用最多的种类是基于用户的CF(User-based CF)和基于项目的CF(Item-based CF)。UserCF的原理是找到与当前用户相似的用户群,将这些用户中比较流行但当前用户又没有浏览过的内容推荐给当前用户。它的优势是具有多样性,能够帮助用户找到新类别的有惊喜的内容,缺点是计算复杂度较高。而ItemCF的原理是计算所有Item之间的相似度,找出与当前用户喜欢的Item相似度最高的Item集合推荐给当前用户。它的优点是用户的历史行为作为推荐解释,因此可解释性强,缺点是具有冷启动问题,即一个新用户在没有对Item进行任何操作时无法进行推荐。 (4) 因为单一推荐算法各有优势和缺陷,所以在实际应用场景中很少直接采用单一算法来做推荐,而是采用混合算法来推荐,其中研究和应用最多的是结合内容推荐和协同过滤推荐的混合推荐。 考虑到本系统的数据集较为基础,功能量和用户数都比较少,如果采用基于UserCF的协同过滤推荐算法可能会导致算法占用资源太高、重复推荐等问题,因此决定变换采用基于流行度的推荐和基于ItemCF的协同过滤推荐,以协同过滤推荐为主,流行度推荐为辅,取长补短,为用户提供房源信息的推荐。 2.2. 系统推荐算法分析 基于流行度的推荐算法较为简单直接,什么内容吸引用户,就给用户推荐什么内容。它基于用户对项目的操作行为(通常是点击、评论、分享等)来获取项目的热度,进而获取热度高的项目推荐给用户。 本系统中,用户的操作行为有两种,一是点击,二是收藏。当房源信息获得用户的一次点击,热度加1分;当房源信息获得用户的一次收藏,热度加2分。 基于协同过滤的推荐则根据用户的行为来进行推荐,一是通过给用户推荐和他兴趣编好相似的其他用户喜欢的内容,即UserCF;二是给用户推荐和用户本身喜欢的内容相似的内容,即ItemCF。 本系统采用ItemCF算法,Item等价于房源信息,用户喜欢某个房源的行为表现为收藏操作,算法运算过程主要分为两步: (1) 计算房源之间的相似度。 假设有用户A、B、C、D、E,他们各自的收藏如下: A a,b,d B b,c,e C c,d D b,c,d E a,d 根据他们的收藏列表构建倒排表,例如,房源a被用户A和用户E所收藏。 a A,E b A,B,D c B,C,D d A,C,D,E e B 得到用户的收藏列表后,将列表中的房源两两加一,最后累加获得共现矩阵,矩阵中记录了同时收藏房源i和房源j的用户数,计算过程如图 2.1所示。 图 2.1 共现矩阵计算过程 假设有房源i和房源j,它们之间的相似度取决于它们同时被很多的用户所收藏,同时收藏它们的用户数越多,相似度越高。设N(i)为收藏房源i的用户数,N(j)为收藏房源j的用户数,|N(i)∩N(j)|表示同时收藏房源i和房源j的用户数,则房源之间的相似度Wij可以通过以下公式计算得出: 对共现矩阵进行遍历并去重,导入上面的公式就可以计算出房源之间的相似度。 (2) 根据房源之间的相似度和用户的历史行为为用户生成推荐列表。 有了房源信息之间的相似度,就可以找到与当前用户收藏列表中的房源信息相似度高的其他房源信息,推荐给当前用户。 2.3. 本章小结 本章主要分析了推荐算法的现状和一些基本定义,并分析了本系统推荐算法的原理和设计思路。 3. 系统分析 3.1. 系统可行性分析 在系统的设计和开发之前进行可行性分析是十分必要的,通过可行性分析我们能够明确系统开发时可能会出现的问题,同时确定这些问题是否能够解决,以及对于用户是否难以操作等。本系统从技术、经济和操作三个方面进行了可行性分析。 3.1.1. 技术可行性 本系统由Java语言进行开发;开发工具使用JetBrains公司出品的IntelliJ IDEA,IntelliJ IDEA对Java生态的支持范围十分之广,具有好用的快捷键和代码模板;数据库采用MySQL,它具有体积小、速度快、免费的特点;前端框架采用门槛较低、结构较为清晰、页面效果较好的Layui框架。以上技术和工具均是当前成熟好用的技术方案,所以技术上可行。 3.1.2. 经济可行性 在房屋租赁市场中,房屋中介需要向寻租者收取一定比例的中介费,这无疑增加了寻租者的额外负担。而采用自动化、全天化的房源推荐系统,寻租者不仅可以省去中介费用,同时大大减少了找房的时间成本和沟通成本。在当今的互联网时代,计算机、手机等电子产品几乎人手一部,硬件方面是基本满足的,而基于硬件的软件开发也可以做到接近零成本。出租方也能借助该系统充分展现自己的房屋特色,找到合适的房客。系统为寻租方和出租方带来了很大的便捷,所以在经济上可行。 3.1.3. 操作可行性 现如今许许多多的人基于都能用个人电脑上网,就算没有电脑或者不方便使用笨重的电脑,也可以使用手机上网,所以硬件条件是可以满足的。本系统为B/S架构,只要使用浏览器便可随时使用,且界面美观、操作简单、非常容易上手,所以,在操作上可行。 3.2. 系统需求分析 3.2.1. 需求概述 随着城市流动人口的增加,房屋租赁市场蓬勃发展。与此同时,传统的房屋中介不仅加重了房屋承租者的负担,承租、出租双方的交易过程也变得十分繁琐。因此,承租、出租双方迫切需要一种低成本、便捷的房源推荐平台,以取代传统中介机构的各种弊端。 本项目实现了一个基于协同过滤的房源推荐系统,通过算法为用户进行房源信息的推荐。推荐系统在一方面减轻了寻租方的时间、交通成本,另一方面也为出租方提供了一个范围更广的销售渠道。 具体来说,对于承租方用户,当账号未登录时可以查看按热度排行的房源信息,当账号登录时,系统会根据用户的历史行为通过算法进行个性化推荐,将用户想看的内容尽可能的呈现出来,减少了用户在寻找信息所花费的时间,提升了用户体验;对于出租方用户,只需注册好账号就可以在系统中发布自己想要出租的房屋信息,还可以查看自己的房屋信息的点击量和收藏量,帮助出租方调整房屋的信息发布,尽快达到将房屋租出去的目标。 3.2.2. 推荐模块需求分析 本系统变换采用基于流行度的推荐算法和基于ItemCF的协同过滤推荐算法。 (1) 基于流行度的推荐:当用户是游客或者新用户时,系统对当前房源信息的热度进行计算并排序,返回按热度从高到低排列的房源信息。 (2) 基于ItemCF的协同过滤推荐:当用户对房源信息进行了点击、收藏,系统根据当前用户历史行为里的房源信息返回与之相似度高的其他房源信息。 总的来说,本系统推荐模块核心是基于ItemCF的协同过滤推荐,而基于流行度的推荐则作为协同过滤的补充,这样能够解决协同过滤的冷启动问题。 3.2.3. 系统功能需求分析 (1) 登录、注册模块:游客只能浏览按热度排行的房源信息,无法进行其他操作。用户可以注册账号,登录系统之后就可以体验系统的各种功能。 (2) 查看房源信息模块:未登录系统的游客只能查看按热度排列的房源信息。新用户进入系统后,看到的房源信息与游客相同。新用户遇到中意的房源,可以点击收藏将其添加进自己的收藏列表,之后系统将会分析用户的收藏列表,将相似度高的其他房源信息推荐给用户。用户的收藏行为影响系统的推荐结果。另外设置一个按钮,当用户不满意当前推荐的信息时,点击可以更换下一批。 (3) 发布房源信息模块:出租方用户注册登录系统后可以把自己名下空闲的想要出租的房源发布出去,填写房源的基本信息、上传房源的宣传图片,等待承租方的联系。此外还可以查看自己已发布的房源信息的点击量和收藏量等。 (4) 修改个人信息模块:已注册的用户登录系统后可以随时修改自己的头像、登录密码和密保手机号码。 3.3. 本章小结 本章介绍了系统的可行性分析,主要从技术、经济、操作三方面展开了介绍,并从功能方面对系统的需求进行了分析。 4. 系统设计与实现 4.1. 系统设计框架 目前基于B/S模式的信息管理系统大多采用MVC架构设计,即模型(Model)、视图(View)、控制器(Controller)三层架构。 (1) 模型通常负责访问数据库,对数据进行增删改查等操作,是应用程序中与数据进行交互的部分。 (2) 视图依据模型数据创建,负责显示模型数据。 (3) 控制器负责处理用户的请求,通常从视图中获取用户的请求参数,调用模型操作数据,最终将结果返回给用户。 MVC模式就像一台电脑,模型好比是硬盘里的文件,视图好比是显示器,控制器好比是CPU。每一层各司其职,缺一不可,大大简化了应用程序的开发。 图 4.1 MVC架构示意图 本系统以MVC模式进行开发,系统架构如图 4.2所示。 图 4.2 系统开发架构 4.2. 系统推荐模块的设计 当游客进入系统时,推荐模块对当前房源信息的热度进行计算、排序,返回按热度从高到低排列的房源信息;当新用户进入系统时,推荐模块首先返回热门的房源信息,此时对于新用户的推荐和对于游客的推荐是一致的,当新用户对房源信息进行了收藏,推荐模块才会调用协同过滤方法分析用户的收藏列表,为用户推荐相似度高的其他房源。推荐模块运行流程如图 4.3所示。 图 4.3 推荐模块运行流程 4.3. 系统功能模块设计 (1) 登录、注册模块:前台网站首页设置一个房源信息的浏览入口,未登录的游客可以预览按热度排行的房源信息,并可以点击某个房源的预览信息查看详细信息,除此之外无法进行其他操作。游客的点击也会增加房源的点击量。游客进行注册、登录之后就可以体验网站的各项功能,包括收藏、推荐等。用户注册流程如图 4.4所示,用户登录流程如图 4.5所示。 图 4.4 用户注册流程图 图 4.5 用户登录流程图 (2) 查看房源信息模块:该模块以卡片形式展现系统推荐的N个房源信息,游客可点击查看详情,用户可收藏。具体流程如图 4.6所示。 图 4.6 查看房源信息流程图 (3) 发布房源信息模块:出租方用户登录系统后,可以将自己名下空闲的想要出租的房源发布到系统中,填写好房源的信息就可以提交了。房源的详细信息包括房屋图片、地址、房东联系方式以及房屋的简介等。房源信息发布成功后,出租方可以修改、删除已发布的房源信息,还可以查看点击量和被收藏量。具体流程如图 4.7所示。 图 4.7 发布房源信息流程图 (4) 修改个人信息模块:用户登录系统后可以修改头像、登录密码和密保手机号码。具体流程如图 4.8所示。 图 4.8 修改个人信息流程图 4.4. 系统数据库设计 4.4.1. E-R模型 本系统数据库表主要有房源信息表、房源热度表、用户信息表、用户收藏表,E-R图如图 4.9所示。 图 4.9 系统E-R图 4.4.2. 数据库表 (1) 用户信息表 用户信息表存储用户的相关信息,表结构如下: 字段名 字段描述 数据类型 允许空值 键型 id 用户id int 否 主键 username 用户名 varchar 否 password 用户密码 varchar 否 phone 手机号码 char 否 avatar_path 头像地址 varchar 否 create_time 创建时间 datetime 否 (2) 房源信息表 房源信息表存储房源的相关信息,表结构如下: 字段名 字段描述 数据类型 允许空值 键型 id 房源id int 否 主键 thumbnail 缩略图地址 varchar 否 images 详情图片地址 varchar 否 address 房源地址 varchar 否 introduction 简介 varchar 是 (3) 房源热度表 房源热度表存储房源信息的热度,表结构如下: 字段名 字段描述 数据类型 允许空值 键型 house_id 房源id int 否 主键、外键 click_count 点击量 int 否 mark_count 收藏量 int 否 (4) 用户收藏表 用户收藏表存储用户的收藏信息,表结构如下: 字段名 字段描述 数据类型 允许空值 键型 id 收藏id int 否 主键 user_id 用户id int 否 外键 house_id mark_time 房源id 收藏时间 int datetime 否 否 外键 4.5. 系统实现 4.5.1. 推荐模块的实现 推荐模块主要包含流行度计算函数以及ItemCF算法计算函数。 流行度计算函数较为简单,通过每个房源信息的点击量和收藏量,按照点击加1分、收藏加2分,计算当前各个房源信息的热度,按降序排列。 ItemCF算法计算函数传入当前用户的id,遍历所有用户的收藏列表,根据第二部分的模型构建共现矩阵,并按照相似度计算公式计算出各个房源信息之间的相似度,以相似度从高到低的顺序进行排列,最终返回排好序的房源信息集合。 4.5.2. 系统功能的实现 系统功能围绕用户的操作来实现,主要分为游客浏览、注册成功后的承租方用户登录系统进行操作和出租方用户登录系统进行操作三个部分。 (1) 游客功能实现:打开网站来到主页,以游客身份点击主页上的“查看房源”链接,将会跳转到房源信息页面。房源信息以热度排行,点击量和收藏量越大越靠前。游客在浏览的过程中只能点击房源信息查看详情,无法进行其他操作。若要进行其他操作,可以点击顶部栏的登录链接进行登录。 (2) 承租方用户功能实现:用户注册时可以选择用户类型,选择承租方,正确输入用户名、密码、确认密码、密保手机号码后提交,输入错误会弹出提示,并且无法提交。注册成功后进行登录,填写用户名、密码后点击“登录”按钮,若错误会弹出提示。用户可以选择“记住我”,在成功登录后系统会记住账户信息,下次便可直接登录。若用户忘记密码可以点击“忘记密码”链接,进行密保手机验证,验证通过则可以重置密码。成功登录系统后房源信息将会由系统进行个性化推荐,用户可以点击房源信息查看详情,也可以点击收藏将其添加进自己的收藏列表。此外,顶部状态栏显示头像和用户名信息,鼠标移动或触屏至该位置,将会弹出下拉框,可以在下拉框选择相应的操作修改头像、修改密码、修改手机号码和退出系统。 (3) 出租方用户功能实现:用户注册时可以选择用户类型,选择出租方,正确输入用户名、密码、确认密码、密保手机号码后提交,输入错误会弹出提示,并且无法提交。注册成功后进行登录,填写用户名、密码后点击“登录”按钮,若错误会弹出提示。用户可以选择“记住我”,在成功登录后系统会记住账户信息,下次便可直接登录。若用户忘记密码可以点击“忘记密码”链接,进行密保手机验证,验证通过则可以重置密码。成功登录系统后用户可以发布自己想要出租的房屋信息,包括房屋图片、地址、租金、面积大小、房东联系方式以及房屋的简介。用户还可以修改、删除已发布的房源信息,查看被收藏量。此外,顶部状态栏显示头像和用户名信息,鼠标移动或触屏至该位置,将会弹出下拉框,可以在下拉框选择相应的操作修改头像、修改密码、修改手机号码和退出系统。 4.6. 系统测试 系统测试的目的是尽早发现系统中隐藏的错误和缺陷,尽可能避免出现BUG,从而保证系统的正确性、完整性、安全性。 4.6.1. 功能测试 本系统主要对每个功能模块进行了单元测试和黑盒测试。单元测试是为了保证数据的增删改查不会出现错误、功能能够正常运行。黑盒测试是不考虑程序内部的结构和性能,只检查程序的运行结果是否符合预期。 在本系统开发阶段,每个功能模块在编写完毕后通过单元测试保证了数据的正确操作以及功能的正常运行。当一个功能模块初步开发完成后,通过模拟真实场景检测功能是否达到了预期的效果。经过测试,本系统的各个功能模块能够正常运行。 4.7. 本章小结 本章从系统框架设计、推荐算法的选择、功能模块设计、数据库设计、系统实现和系统功能测试方面,详细介绍了本系统的设计与实现。 5. 总结与展望 本文通过对当前房屋租赁市场的分析以及实现一个基于协同过滤的房源推荐系统,对改善当前房屋租赁市场存在的问题提出了一些可行性建议。 基于协同过滤的房源推荐系统虽在一定程度上能够改善房屋租赁市场的痛点问题,但由于房屋租赁市场大而复杂,系统依然无法彻底解决房屋租赁市场的其他相关问题。因此,在今后的研究中可以从以下几个方面来进一步完善系统的功能。 (1) 添加即时通讯模块,让承租方和出租方能够在线上进行沟通,增加沟通效率。 (2) 添加智能建议模块,当出租方的房源信息排行靠后时,为其提供信息修改建议,让好房子得到更多曝光。 (3) 考虑到系统存在偶然的并发量上升的可能性,应进一步提高网站的响应速度,提升用户体验。 参考文献 [1] 律瑞雪.房屋租赁市场现状与发展对策探讨[J].科技与企业,2014(6): 234~234. [2] 董莹.基于用户意向分析的房屋租赁系统的设计与实现[D].大连海事大学,2017. [3] 郭书豪.基于用户行为的个性化推荐研究[D].北京:中国地质大学,2018. [4] 刘林,蔚成建.基于粒子群算法的房产推荐系统[J].计算机工程与应用,2005. [5] 赵迎芳.基于J2EE的房屋租赁管理信息系统设计与实现[D].河北科技大学,2014. [6] 吴琼.基于B/S模式的房屋租售管理系统的设计与开发[J].智能计算机与应用,2010(2):19~20. [7] 汪云飞.JavaEE开发的颠覆者:Spring Boot实战[M].北京:电子工业出版社,2016. [8] 吴泓辰,王新军,成勇,彭朝晖.基于协同过滤与划分聚类的改进推荐算法[J].计算机研究与发展,2011,48(S3):205-212. [9] 余永红.融合多源信息的推荐算法研究[D].南京大学,2017. [10] 杨松桦.基于协同过滤的论文推荐系统[D].中原工学院,2019. [11] 李晓瑜.协同过滤推荐算法研究[J].2019. 致 谢 本论文从选题到开题,从编写提纲到最后定稿,我的导师赵元成老师没有给我太大的压力,在我遇到难题时给予了我极大的帮助。经过他的耐心指导,循循善诱,让我的论文得以完成,在此我表示衷心的感谢。 同时,我也感谢我在实习期间的同事。在我进行毕业设计期间,他们帮我分担了一些工作上的事情,让我留有时间来攻克一些难题。我也非常感谢我的家人,当我忙于论文写作时,他们对我表达了支持和鼓励。 2020年是不平凡的一年,在疫情“黑天鹅”事件影响下,许多行业发生了天翻地覆的变化,我也即将以一种特殊的方式结束大学生涯。感谢大学里我亲爱的老师、同学和朋友,在我青春里留下了印记,让我度过了难忘的大学生活。2020终将会翻篇,祝福各位都有美好的未来。 24
    展开阅读全文
    提示  搜文库是C2C交易模式,所有文档均是用户上传分享,仅供网友学习交流。文档版权归属内容提供方,未经书面授权,请勿作他用!
    关于本文
    本文标题:基于协同过滤的房源推荐系统的设计与实现.docx
    链接地址:https://www.souwenku.com/p-83759.html

    copyright@ 2016-2022 搜文库网站版权所有   网站客服QQ:425721614

    经营许可证编号:粤ICP备2021173911号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。

    搜文库平台仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知搜文库平台,我们立即给予删除!


    搜文库
    收起
    展开