news 2026/3/10 3:33:03

Beta阶段冲刺博客4

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Beta阶段冲刺博客4

Beta阶段冲刺博客4

团队名称U-Linker
课程EE308FZ - 软件工程
要求Teamwork—beta Spring
目标记录β冲刺第7-8天的进展

目录

  • Beta阶段冲刺博客4
    • Part 1: SCRUM部分
      • 1.1 成员工作进展
      • 1.2 代码签入记录
        • 功能模块:个性化推荐算法
          • 核心推荐因子
          • 算法流程
        • 功能模块:推荐 API 接口
      • 1.3 测试工作成果
      • 1.4 SCRUM会议照片
    • Part 2: PM报告
      • 2.1 项目整体进度
      • 2.2 燃起图
      • 2.3 任务总量变化记录
      • 2.4 项目最新运行截图
        • 功能演示 :个性化推荐列表

Part 1: SCRUM部分

1.1 成员工作进展

成员角色过去两天完成的任务遇到的困难接下来的计划
颜一顺后端1. 配置生产环境服务器
2. 搭建推荐算法运行环境
服务器内存配置优化协助测试组进行线上环境压力测试
曾渝后端1. 设计基于用户行为的简易推荐算法
2. 实现协同过滤模块
协同过滤计算效率优化优化推荐算法性能,增加缓存机制
程一鸣后端1. 开发获取推荐帖子列表的 API 接口
2. 实现浏览记录接口
完善推荐 API 的分页和过滤功能
陶炯后端1. 编写 Docker Compose 编排脚本
2. 实现一键部署功能
容器间网络通信配置编写部署文档,准备生产环境上线
陈舒薇前端1. 设计个性化推荐模块的前端 UI 组件
2. 完成推荐卡片样式
推荐理由标签布局优化推荐页面交互体验
杨璐前端1. 配合后端进行线上环境的冒烟测试
2. 修复测试发现的 Bug
协助完成最终验收测试
薛易明前端1. 在首页接入个性化推荐列表展示
2. 实现推荐分数可视化展示
推荐列表与普通列表切换逻辑完善推荐页面的加载动画和空状态
高子言前端1. 编写前端 Dockerfile
2. 配置 Nginx 反向代理
SSL 证书配置优化前端构建流程,减小打包体积
林语婧PM1. 制定推荐策略规则
2. 统筹上线部署流程
组织最终演示彩排,准备答辩材料
黄祉睿测试1. 测试推荐算法的准确性
2. 验证部署后的稳定性
编写测试报告,总结 Bug 修复情况
陈乐晗数据1. 整理用户兴趣标签数据
2. 解决推荐冷启动问题
新用户数据不足分析推荐效果,提出优化建议
张健涛数据1. 模拟不同用户行为
2. 生成测试推荐算法所需的数据
准备演示用的测试账号和数据

1.2 代码签入记录

GitHub链接

功能模块:个性化推荐算法
  • 提交说明:实现混合推荐算法,结合内容推荐、协同过滤、时间衰减和社交关系等多因子计算推荐分数。
核心推荐因子

1. 类型匹配(30分)

原理:分析用户历史申请的帖子类型,找出最偏好的类型。

实现逻辑

  • 统计用户所有申请记录中帖子类型的出现次数
  • 选择出现次数最多的类型作为偏好类型
  • 如果推荐帖子类型与偏好类型匹配,加30分

代码位置

# routes/recommendation.py:25-27ifuser_preferences.get('preferred_type')==post.post_type:score+=30reasons.append("符合您偏好的帖子类型")

2. 学院匹配(20分)

原理:同学院用户发布的帖子更容易引起用户兴趣。

实现逻辑

  • 获取当前用户的学院信息
  • 如果推荐帖子的作者与用户同学院,加20分

代码位置

# routes/recommendation.py:29-34user=db.session.get(User,user_id)ifuseranduser.collegeandpost.author.college:ifuser.college==post.author.college:score+=20reasons.append("同学院用户发布")

3. 价格匹配(15分)

原理:根据用户历史交易价格,计算用户偏好的价格区间。

实现逻辑

  • 收集用户所有申请和完成的订单中的价格
  • 计算平均价格:avg_price = sum(prices) / len(prices)
  • 价格区间:[avg_price * 0.5, avg_price * 1.5](平均值 ± 50%)
  • 如果推荐帖子价格在区间内,加15分

代码位置

# routes/recommendation.py:36-40preferred_price_range=user_preferences.get('preferred_price_range',[0,100])ifpreferred_price_range[0]<=post.price<=preferred_price_range[1]:score+=15reasons.append("符合您的价格偏好")

4. 时间衰减(10分)

原理:新发布的帖子更容易引起用户关注。

实现逻辑

  • 计算帖子发布天数:days_old = (now - post.created_at).days
  • 3天内:加10分
  • 3-7天:加5分
  • 7天以上:不加分

代码位置

# routes/recommendation.py:42-49days_old=(datetime.now()-post.created_at).daysifdays_old<=3:score+=10reasons.append("最新发布")elifdays_old<=7:score+=5

5. 协同过滤(25分)

原理:找到与用户相似的其他用户,推荐他们也感兴趣的帖子。

实现逻辑

  • 相似用户定义:同学院 + 有申请行为
  • 统计相似用户申请的帖子ID及次数
  • 每个相似用户行为加5分,最高25分

代码位置

# routes/recommendation.py:50-62collab_data=user_preferences.get('collaborative_score',{})ifisinstance(collab_data,dict):collaborative_score=collab_data.get(post.id,0)else:collaborative_score=collab_dataifisinstance(collab_data,int)else0ifcollaborative_score>0:score+=min(collaborative_score*5,25)# 每个相似用户行为加5分,最高25分reasons.append("相似用户也在关注")

算法流程

整体流程图

用户请求推荐 ↓ 1. 分析用户偏好 ├─ 分析申请记录 → 偏好类型 ├─ 分析订单记录 → 价格区间 └─ 找到相似用户 → 协同过滤分数 ↓ 2. 获取候选帖子 ├─ 排除已申请的帖子 ├─ 排除已完成的订单 └─ 排除自己发布的帖子 ↓ 3. 计算推荐分数 ├─ 类型匹配(30分) ├─ 学院匹配(20分) ├─ 价格匹配(15分) ├─ 时间衰减(10分) └─ 协同过滤(25分) ↓ 4. 排序和筛选 ├─ 按分数降序排序 ├─ 只返回分数 > 0 的帖子 └─ 取前 N 个(默认10个,最多50个) ↓ 5. 补充热门帖子(如果推荐不足) └─ 按最近7天申请数排序 ↓ 返回推荐列表
功能模块:推荐 API 接口
  • 提交说明:提供获取推荐帖子列表和记录浏览历史的 API 接口。
# routes/recommendation.py@recommendation_bp.route('/posts',methods=['GET'])defget_recommendations():"""获取个性化推荐帖子列表"""current_user_id=session.get('user_id')ifnotcurrent_user_id:returnerror(message="请先登录")limit=min(request.args.get('limit',10,type=int),50)# 分析用户偏好user_preferences=analyze_user_preferences(current_user_id)# 获取候选帖子(排除已申请/已完成/自己发布的)excluded_post_ids=get_excluded_post_ids(current_user_id)all_posts=Post.query.filter(Post.status=='active',~Post.id.in_(excluded_post_ids)ifexcluded_post_idselseTrue).all()# 计算推荐分数并排序scored_posts=[]forpostinall_posts:score,reasons=calculate_recommendation_score(current_user_id,post,user_preferences)ifscore>0:scored_posts.append({'post':post,'score':score,'reasons':reasons})scored_posts.sort(key=lambdax:x['score'],reverse=True)# 如果推荐不足,补充热门帖子recommendations=format_recommendations(scored_posts[:limit])iflen(recommendations)<limit:recommendations.extend(get_hot_posts(limit-len(recommendations),excluded_post_ids))returnsuccess(data={'recommendations':recommendations,'user_preferences':user_preferences})

1.3 测试工作成果

  • 测试内容:个性化推荐算法功能验证
  • 测试状态:全部通过
  • 测试报告

本次测试针对系统的"个性化推荐功能"进行了深度验证,确保推荐算法能够准确分析用户偏好并提供有价值的推荐结果。

  1. 推荐分数计算准确性
    测试场景:验证推荐分数的各因子权重是否正确计算。
    测试过程:
  • 类型匹配测试:创建一个偏好"求助"类型的测试用户,验证"求助"类帖子获得 30 分加成。
  • 学院匹配测试:同学院用户发布的帖子正确获得 20 分加成。
  • 价格匹配测试:历史平均交易价格 100 元的用户,50-150 元区间内的帖子获得 15 分加成。
  • 时间衰减测试:3 天内发布的帖子获得 10 分,3-7 天获得 5 分。
    测试结果:所有推荐因子计算准确,推荐分数符合预期公式。
  1. 协同过滤效果验证
    测试场景:验证相似用户行为对推荐结果的影响。
    测试过程:
  • 创建 5 个同学院测试用户,让其中 3 个用户申请同一个帖子。
  • 验证该帖子在第 4 个用户的推荐列表中获得协同过滤加分(15 分)。
  • 确认推荐理由正确显示"相似用户也在关注"。
    测试结果:协同过滤算法有效识别相似用户行为,推荐结果符合预期。
  1. 冷启动处理
    测试场景:验证新用户(无历史行为)的推荐体验。
    测试过程:
  • 创建全新测试账号,无任何申请或订单记录。
  • 请求推荐列表,验证系统返回热门帖子作为补充。
  • 确认热门帖子按最近 7 天申请数排序。
    测试结果:冷启动处理机制正常工作,新用户也能获得有价值的推荐。

总结:个性化推荐算法功能完备。混合推荐策略有效结合了内容推荐、协同过滤、时间衰减等多个维度,为用户提供了精准的个性化推荐体验。

1.4 SCRUM会议照片

  • 会议时间:2025年1月2日
  • 会议地点:晋江楼二楼

Part 2: PM报告

2.1 项目整体进度

指标数值
预期总任务数47
已完成任务数41
剩余任务数6
完成百分比87%

2.2 燃起图

说明:截止 Day 8,项目进度已接近尾声(87%)。这两天我们完成了核心的个性化推荐算法开发,包括混合推荐策略、协同过滤模块和前端展示组件。从燃起图可以看出,Day 7-8 的任务完成速度较快,剩余 6 个任务主要集中在最终部署、性能优化和演示准备上,预计能够按时完成冲刺目标。

天数剩余任务数完成任务数
Day 1470
Day 2443
Day 3407
Day 43611
Day 53017
Day 62225
Day 71433
Day 8641

2.3 任务总量变化记录

日期原计划任务数新增任务数新增原因
01.02470无新增任务

反思:推荐算法的开发过程中,协同过滤的计算效率是一个挑战。在大量用户数据的情况下,实时计算相似用户行为会带来性能压力。我们计划在后续版本中引入 Redis 缓存用户偏好数据,以提升响应速度。

2.4 项目最新运行截图

功能演示 :个性化推荐列表

首页展示基于用户行为分析的个性化推荐帖子,每个帖子显示推荐分数和推荐理由。

个性化

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/6 16:49:16

C#调用Python服务:跨语言通信实现WinForm控制HeyGem

C#调用Python服务&#xff1a;跨语言通信实现WinForm控制HeyGem 在AI技术快速渗透各行各业的今天&#xff0c;数字人视频生成已不再是实验室里的概念演示&#xff0c;而是逐步走向企业级应用和本地化部署的成熟方案。然而&#xff0c;现实中的工程挑战也随之而来——AI模型多基…

作者头像 李华
网站建设 2026/3/8 1:48:22

缺陷检测-药品成品率检测

缺陷检测的原因&#xff1a;工业产品的形状缺陷不仅影响产品的美观&#xff0c;还影响产品的性能。 缺陷检测的方法&#xff1a;腐蚀操作、基于距离变换分割方法。距离变换是一种用于二值图像的处理方法&#xff0c;计算图像中任意一个像素点到最近背景点的距离。 输入&#xf…

作者头像 李华
网站建设 2026/3/9 2:09:24

JavaScript动态交互优化:提升HeyGem WebUI响应速度

JavaScript动态交互优化&#xff1a;提升HeyGem WebUI响应速度 在现代AI驱动的多媒体应用中&#xff0c;用户不再满足于“能用”&#xff0c;而是追求“流畅、实时、可控”的操作体验。以HeyGem数字人视频生成系统为例&#xff0c;其核心功能——批量音频驱动口型同步与视频合成…

作者头像 李华
网站建设 2026/3/6 13:46:47

音频版权风险提示:商用需获得语音内容授权

音频版权风险提示&#xff1a;商用需获得语音内容授权 在AI生成内容&#xff08;AIGC&#xff09;迅猛发展的今天&#xff0c;数字人视频正以前所未有的速度渗透进教育、营销、客服等各个领域。像HeyGem这样的AI系统&#xff0c;只需上传一段音频和一个视频模板&#xff0c;几分…

作者头像 李华
网站建设 2026/3/7 2:07:15

网盘直链下载助手原理:突破限速实现高速分发生成视频

网盘直链下载助手原理&#xff1a;突破限速实现高速分发生成视频 在企业宣传、在线教育和短视频创作日益依赖AI内容生成的今天&#xff0c;一个现实问题逐渐浮出水面&#xff1a;如何将动辄上百兆的AI生成数字人视频&#xff0c;快速、稳定地交付给终端用户&#xff1f;传统的网…

作者头像 李华
网站建设 2026/3/9 23:48:44

数字人形象版权注意:请确保视频素材合法授权使用

数字人视频生成系统的合规与技术实践 在内容创作进入“AI工业化”时代的今天&#xff0c;企业对高效、低成本生成高质量视频的需求愈发迫切。从在线教育到智能客服&#xff0c;从产品宣传到内部培训&#xff0c;数字人技术正以前所未有的速度渗透进各类业务场景。其中&#xff…

作者头像 李华