# 论坛信息推荐 **Repository Path**: XUPTIRS/irs-forum ## Basic Information - **Project Name**: 论坛信息推荐 - **Description**: 智能推荐论坛 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2020-02-22 - **Last Updated**: 2023-04-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # irs-forum irs-论坛项目 =================================首页推荐================================== /* 首页推荐: 前x条为推荐帖子,根据行为记录的时间以及行为等级进行收集,率先推荐behavior=0并且时间较近的帖子x条, 不足再推荐behavior=1并且时间较近的帖子,直到凑满x条为止。 1.通过studentId查找behavior中bahaviorType=0的用户,即定义为显性行为的用户所联系problemList与subjectList。 2.再通过problemList找到x条Post。 3.若不足x条,则通过协同过滤之problemId的深度显性推荐方法,进行推荐。 4.若不足x条,则再通过subjectList找到x条Post。 5.若不足x条,则通过协同过滤之subjectId的深度显性推荐方法,进行推荐。 6.若不足x条,则在进行隐性行为的查找,方式同上。 */ /* behaviorType = 0 为显性行为 * behaviorType = 1 为隐性行为 * 首页推荐算法(1.0) * 1.0 仅支持显隐性行为推荐 * 2.0 支持显隐性行为推荐,并支持深度探索推荐,即显隐性行为的协同过滤。 * 协同过滤之subjectId(显性)当前用户 A B C * subject1 0 0 0 * subject2 推荐 0 0 * subject3 0 0 0 * subject4 推荐 0 0 0 * 即找到与当前用户行为相同(喜欢的subject相同的用户,找到这些用户一起喜欢的最多的subject,给当前用户进行推荐) *协同过滤算法因为是通过其他类似用户行为进行的推荐,所以相较于显隐性推荐更加深层,所以这里每种协同过滤方法只允许最多推荐2个post/ 算法验证流程: 1. 新用户验证 --------> 首页无推荐 2. 只进行看帖操作 --------> 进行隐性推荐以及隐性协同过滤推荐(进行隐性problem,隐性problem协同过滤,再隐性subject,隐性subject协同过滤) 3. 只进行发帖等显性操作 --------> 进行显性推荐以及显性协同过滤推荐(显性problem,显性problem协同过滤,再显性subject,显性subject协同过滤) 4. 既有显性操作又有隐性操作 --------> 进行完整算法流程(先显性problem,显性problem协同过滤,再显性subject,显性subject协同过滤,再进行隐性problem,隐性problem协同过滤,再隐性subject,隐性subject协同过滤) 以上过程可通过前端页面显示,具体流程可通过查看日志 =================================首页推荐================================== =================================发帖推荐================================== /** * 添加帖子,成功之后进行行为添加以及发帖推荐。 * 发帖推荐: * 1.推荐给该题正确率高的5名同学。 * 2.如果找不足5名,则推给该题所属subject中正确率高的5名同学。 * 3.如果找不足5名,则推给回答过或发过这个subject类别的问题的次数前5-N名同学 * @param post 帖子 * @return */ 以上过程可通过前端页面显示,具体流程可通过查看日志 =================================发帖推荐==================================