基于智能推荐的在线组队平台

2020-10-09 10:23石承坤肖本彬禹振杨菁菁刘龙亭胡州
电脑知识与技术 2020年18期
关键词:协同过滤

石承坤 肖本彬 禹振 杨菁菁 刘龙亭 胡州

摘要:基于智能推荐的在线团队平台是一个将具有相同兴趣、目的和地理位置的用户结合在一起的交流平台。它为先前的组队系统添加了智能推荐过程。核心思想是基于用户的历史搜索记录、用户对需求或信息的偏好以及对用户未来行为的预测,发现需求与需求之间的相似性以及向用户推荐相似的需求。该平台使用基于需求和协同过滤的两种推荐算法进行智能推荐,并为平台上发布的每个团队需求提供在线聊天室功能,以便需求发布者和潜在参与者可以实时沟通和互动,达到快速有效组建团队的目的。

关键词:在线组队;智能推荐;需求推荐;协同过滤

中图分类号:TP312 文献标识码:A

文章编号:1009-3044(2020)18-0084-03

开放科学(资源服务)标识码(OSID):

1 背景

在当今社会,组队参加竞赛或者参与其他活动已成为普遍现象。当前组队一般在彼此熟识的人中间进行,往往达不到预期效果。这种组队模式存在三个问题:1)组队需求方无法高效发布组队需求并获得可胜任队员推荐;2)参队需求方无法及时获取组队需求并获得适合自身的组队推荐;3)组队需求方和参队需求方不能顺畅便捷地沟通交流。因此,如何高效发布和获取组队需求并有效组建团队就成为组队研究需要解决的问题。

为解决组队时遇到的这些问题,本文提出基于智能推荐的在线组队平台系统。利用此系统,组队需求方和潜在参队方能高效發布和获取组队信息[1-2]。此系统使用协同过滤推荐算法针对用户提出的需求进行相对应的推荐[4],并配以团队聊天室来增强人员间的互动。该系统大大提高了组队的时效性。

2 系统的总体设计

2.1 需求规定

基于智能推荐的在线组队平台系统按需求可以分为四个模块,一是我的模块;二是系统需求发布模块;三是组队信息智能推荐模块;四是位置模块。每个大模块又由具体的小模块组成。

2.2 运行环境

1)Web服务器:Tomcat9.0;

2)数据库服务器:MySQL;

3)Java运行时环境:JRE l.8。

2.3 功能结构

图1给出了本文基于智能推荐的在线组队平台系统的总体功能结构图,共包含四个功能模块。

1)我的模块:智能推荐、队员列表、申请列表、群聊、收藏、用户反馈模块。

2)系统需求发布模块:添加需求、添加一级类别、添加二级类别模块。

3)智能推荐组队模块:组队申请、推荐管理模块。

4)位置模块:支持定位地理位置功能。

3 系统的设计与实现

本系统是基于智能推荐的在线组队平台系统,为B/S三层架构。其中Web服务器层采用SpringMVC框架,数据库使用MySQL,前端页面主要采用Bootstrap框架。开发环境为:My-Eclipse, JDK 1.8. Tomcat 9.0.

3.1智能推荐组队模块的设计与实现

1)基于需求的推荐算法:由于推荐机制是推荐引擎最常用的推荐机制,因此其核心思想是根据推荐需求的元数据查找需求或内容的相关性,然后将其推荐给具有类似需求的用户需要[3,5]。

2)推荐管理:推荐管理是当组队方发布某组队需求时,该系统可以根据需求关键字和潜在参队用户的爱好技能的匹配度,推荐符合该需求的最合适的参队人选。

3.2 智能信息推荐

1)信息推荐原理:信息推荐是面向在面对大量信息时不知道从哪里开始的用户的解决方案。它可以根据用户的偏好、年龄、点击次数、特长和各种行为向用户推荐适当的信息。

2)余弦相似度的原理:在三角形中,cos30°=、√3 2,cos60°=1/2。显然,cos30°比cos60°更接近1[7]。可以看出,角度非常的越接近0°,所以相应的也就余弦值越接近1,并且形成该角度的两条边越近,即两者的相似度越高。

即向量之间的余弦角公式为:

3.3 聊天室功能

1)聊天室的原理:本文是基于Socket的聊天室,其基本原理基本上是根据HTML的使用规范,除了OGI和WWW服务器,再从收到的浏览器请求,模仿WWW服务器的响应,之后再将聊天内容发回到浏览器中[6]。

2)聊天室实现的功能:本文中聊天室具有3个功能。①能够列出聊天室的在线人数。②用户在聊天室拥有两个状态,在线和离开。③具有群聊和私聊功能,用户可根据图标前的选项框,进行私聊或者是群聊。

3) 聊天室过程:其聊天室基本过程如图3所示。

3.4 数据库设计

1)E-R图的设计:全局E-R图如图4所示。

2)创建的数据库名为db_smartteam,其中包含tb_content,tb_feedback,tb_user共3张数据表。表tb_content,tb_feedback,tb_user的详细说明如下:

①tb_content:查看发布组队信息的相关要求,其结构见表1所示。

②tb_feedback:用户对该系统的反馈意见,其结构见表2所示。③tb_user:用户相关信息,其结构见表3所示。

4 实验与测试

为了检测系统的稳定性,我们对系统的一些功能进行测试,并记录其测试结果。系统功能测试表如下表4所示,性能测试表如下表5所示。最后为了系统的展示效果,给出一些有代表性的系统截图如图5、图6、图7、图8所示。

5 总结与展望

经过长时间的实验研究和测试,我们验证了本文设计模型的可行性,模型能够精准地匹配出用户所需信息,并对其进行匹配,从而完成推送,最后根据用户需求到达组队的目的。基于智能推荐的在线组队平台对于现今的组队具有强大的辅助作用,此系统利用协同过滤推荐算法针对用户提出的需求进行相对应的推荐,将相同兴趣、目的和地理位置的用户聚集到一起并配以团队聊天室来增强人员间的互动。用户可以在这里更容易找到共同目标,促进用户之间及时有效的交流,从而达到撮合用户的共有需求,该系统除为体验者节约时间还可为体验者提供不同的选择。

参考文献:

[1]王丽可.司机组队推荐算法研究[D].武汉:华中科技大学,2019.

[2]黄公瑾.最佳组队问题的优化模型与解法[Jl.福建电脑,2015,31(11): 94-95.

[3]陈彬,张荣梅.智能推荐系统研究综述[J].河北省科学院学报,2018,35(3): 82-92.

[4]朱子江,刘东,刘寿强,基于用户行为的推荐算法研究[Jl.软件导刊,2017,16(8): 43-45.

[5]王炎.数据挖掘技术下的个性化智能推荐系统设计[J].微型电脑应用,2019,35(2): 119-121.

[6]王荣球.基于Socket的网上聊天室设计与实现[J].电脑与信息技术,2003,11(2): 64-66.

[7]冯阿敏.基于用户协同过滤算法的推荐系统的设计与实现[D].西安:西安电子科技大学,2017.

[8] Li H,Li H N,Zhang S,et al.Intelligent learning systembased on personalized recommendation technology[Jl. NeuralComputing and Applications, 2019, 31(9): 4455-4462.

【通联编辑:谢媛媛】

基金项目:贵州省2019年大学生创新创业训练计划项目:基于智能推荐的在线组队平台(项目编号:20195200202);贵州省省级重点学科:计算机科学与技术(项目编号:ZDXK[2018]007号);2016年贵州省省级重点支持学科:计算机应用技术(项目编号:黔学位合字ZDXK[2016]20号);贵州师范学院大学生互联网+创新创业训练中心(项目编号:黔教高发[2015]337号、黔教高发[20171158号);贵州省2018年第三批省级服务业发展引导资金项目(项目编号:黔发改服务[2018]1181号)

作者简介:石承坤(1999-),男,学生;禹振(1986-),男,副教授,研究方向为程序分析、人工智能、机器学习等。

猜你喜欢
协同过滤
改进的协同过滤推荐算法