综合设计——多源异构数据采集与融合应用综合实践

这个作业属于哪个课程 首页 - 2024数据采集与融合技术实践 - 福州大学 - 班级博客 - 博客园
组名、项目介绍 组名:超级无迪爬虫高手元始天尊暴龙战士 Recomind荐宝是一款创新型的购物推荐网站,它整合了多源异构数据与先进的大语言模型技术。无论你是在寻找时尚服饰、电子产品、家居用品还是其他各类商品,只需向荐宝提供你心仪物品的文字描述或者图片,它就能为你精准推荐。 快速精准搜索和多平台信息处理。
团队成员学号 舒锦城042201520,王恒杰102202104,王梓铭102202105,杨邑豪102202117,邱予102202121,承宇豪102202134,王梓联102102154,郑奇键102202133
这个项目目标 利用各平台的信息反馈,通过大模型的整理与提炼,给予消费者相关物品的网址,满足信息过载下的购物需求

项目源码:https://gitee.com/wangzm7511/sjcj--recomind

项目总体概述

一、项目介绍

​ Recomind 荐宝通过智能爬虫技术,广泛收集小红书、贴吧等热门社交平台上用户们的评论和推荐信息。这些丰富的数据经过 AI 系统的深度分析和综合总结,最终筛选出最受欢迎的商品呈现在你眼前。这意味着,在这里你可以轻松获取大众认可的优质好物,节省购物时间,避免选择困难,获得更满意的购物体验。

二、项目目标

​ 本项目旨在打造一个智能物品推荐系统,用户输入物品名称或上传其图片后,系统能快速调用 AI 接口,精准推荐包含百度贴吧、小红书以及该物品官方网站等相关信息源,提升用户获取物品信息的效率和精准度,优化信息检索体验,满足用户购物决策、产品研究等多方面需求。

三、技术介绍

前端技术

  • HTML:构建网页基本结构,负责呈现页面的文本、图片、链接等元素,保障信息的稳定展示,是前端可视化基础。
  • JavaScript:赋予前端动态交互能力,响应各类用户操作,实现页面元素动态更新、数据验证处理以及与后端的异步通信,处理用户交互逻辑。
  • Vue.js:基于响应式编程模型和组件化开发,双向数据绑定自动更新页面,组件化便于代码维护和复用,用于构建复杂前端交互界面,如搜索框、图片上传及结果展示区域等。

后端技术

  • Python:以简洁语法和丰富库生态处理复杂业务逻辑,包括接收解析前端数据、与 AI 模型交互、数据库操作等,借助第三方库加速开发进程,提高代码可读性与可维护性。
  • Django:高级 Python Web 框架,内置强大的路由、数据库抽象层、模板引擎等功能,遵循 “DRY” 原则,负责处理前端 HTTP 请求,协调各组件,保障后端服务稳定安全运行,防止常见网络攻击。

人工智能技术

  • 语言模型:利用先进预训练语言模型kimi AI,理解用户输入物品名称语义,筛选出相关网站信息,提升推荐准确性和相关性。

  • EfficientNet B0:用于图像识别,在保证准确率的同时平衡计算效率与模型复杂度,快速识别上传图片中的物品类别,并转化为文本信息辅助推荐,确保推荐流程的及时性与流畅性。

四、使用流程

打开软件,输入文字或者图片

点击开始分析,稍等片刻

即可看到软件给出的推荐商品的网站,同时也可以看到关键词

个人分工部分

​ 因为前后端的人数较多,自己被分配到了负责撰写项目相关资料和测试,包括阶段性报告和答辩ppt制作,项目功能测试和提出修改建议,录制演示视频,有点类似项目经理的职责,对代码也进行了相应的测试,接下来将分别介绍我在每个任务中所作出的贡献

①项目相关资料的撰写

​ 在对项目进行了解和熟悉后,开始了对项目相关资料的撰写,同时也撰写了项目的概述、设计初衷和后续计划,因为这些在ppt中都有所体现,这里就不再复述了,仅在此写一点我认为重要的部分(需求分析)

需求分析

一、引言

​ 随着互联网信息的爆炸式增长,用户在寻找特定物品相关信息时往往面临信息过载的问题。本软件旨在通过输入物品名称或图片,利用 AI 接口智能推荐包含百度贴吧、小红书以及商品官网等相关网站,帮助用户快速精准地获取感兴趣物品的详细信息,提高信息检索效率,满足用户对物品深入了解和购买决策的需求。

二、用户需求概述

  1. 快速精准搜索:用户期望在输入物品名称或上传图片后,软件能够迅速且准确地识别物品,并调用 AI 接口为其推荐高度相关的网站信息,减少无关信息的干扰,节省搜索时间。
  2. 多平台信息整合:希望获取来自不同平台(如百度贴吧、小红书、商品官网)的信息,以便从多个角度了解物品,包括用户评价、使用心得、产品参数、购买渠道等,从而做出更全面的决策。
  3. 友好交互体验:软件界面简洁直观,操作方便,无论是通过文字输入还是图片上传,都能轻松完成搜索操作,并且搜索结果展示清晰、有条理,便于用户快速浏览和筛选。

三、功能需求

  1. 输入识别功能
    • 文字输入:支持用户手动输入物品的名称,对输入的文字进行智能识别和纠错,确保准确理解用户的搜索意图。
    • 图片识别:允许用户上传物品的图片,软件具备强大的图像识别能力,能够准确识别图片中的物品,并将其转化为文字信息用于后续的搜索推荐。
  2. AI 接口调用与推荐功能
    • 智能推荐算法:通过与 AI 接口的对接,运用先进的推荐算法,根据用户输入的物品信息,在海量的互联网数据中筛选出与之高度相关的百度贴吧话题页面、小红书优质笔记以及该物品的官方网站链接,并按照相关性和热度进行排序推荐。
    • 实时更新数据:确保推荐的网站信息是最新的,AI 接口应具备实时抓取和更新数据的能力,以反映互联网上关于物品的最新动态和信息变化。
  3. 搜索结果展示功能
    • 列表展示:以清晰的列表形式展示推荐的网站信息,每个网站条目应包含网站名称以及网站链接,方便用户直接点击访问。
    • 关键词提取:提供对搜索结果的分词功能,使得大模型能够精准的把握用户需求。

四、性能需求

  1. 响应时间:在用户输入物品名称或上传图片后,软件应在 10 秒内完成识别、推荐和搜索结果展示的全过程,确保用户能够快速获得所需信息,提升用户体验。
  2. 准确性:推荐的网站与用户输入的物品相关性应达到 80% 以上,尽可能减少无关或低质量的推荐结果,保证推荐的精准度和可靠性。
  3. 稳定性:软件应具备高稳定性,能够在长时间、高并发的使用场景下稳定运行,避免出现崩溃、卡顿或异常报错等情况,确保用户的正常使用。

五、安全需求

  1. 数据隐私保护:对用户输入的物品名称、图片等信息进行严格保密,不泄露用户的搜索历史和隐私数据,确保用户信息安全。
  2. 网站安全性验证:在推荐网站链接之前,对链接的安全性进行验证,避免推荐存在恶意软件、钓鱼诈骗等安全风险的网站,保障用户在访问推荐网站时的设备和个人信息安全。

六、界面需求

  1. 简洁直观设计:软件界面采用简洁的布局和设计风格,突出搜索输入框和搜索按钮,便于用户快速进行操作。各功能模块划分清晰,操作流程简单易懂,减少用户的学习成本。
  2. 友好交互元素:提供清晰的操作提示信息,如输入框的占位文字、按钮的文字说明、搜索结果的提示信息等,引导用户正确使用软件。同时,使用合适的颜色、图标和动画效果,增强界面的友好性和交互性,提高用户的使用满意度。

七、扩展性需求

  1. 支持更多平台和数据源:考虑未来可能的需求扩展,软件架构应具备良好的扩展性,能够方便地接入其他社交平台、电商平台、专业论坛等数据源,为用户提供更广泛、更丰富的物品信息推荐,以适应不断变化的市场需求和用户期望。

  2. AI 算法优化升级:随着 AI 技术的不断发展,能够对推荐算法进行持续优化和升级,提高推荐的准确性和个性化程度,更好地满足用户的个性化需求,为用户提供更加精准、智能的物品推荐服务。

通过以上需求分析,对小组成员做出了目标规划和一定要求

②ppt制作

通过与成员们协作了解项目技术路线,便开始制作ppt,以下的ppt(阶段性汇报ppt、最终答辩ppt)大概60%由我负责

阶段性汇报ppt

答辩ppt

③项目功能测试

在项目测试中,难免会遇到一些或大或小的问题,接下来我将简要阐述我在测试过程中遇到的问题和解决方案

1.网址返回格式有误

这个问题主要是返回的网址前面多了个“\”号,导致访问之前要手动删除下前面多余的符号,算是小问题,联系后端的成员之后很快就解决了

2.访问某些网站出现Page Not Found,即网页因为时效性或者反爬机制无法访问

这个问题就比较难解决了,因为小红书、贴吧等某些平台的反爬机制比较先进,可能今天能爬取到的网页之后使用同样的关键词再爬取就会出现这个问题,只能不断通过改进爬虫程序来解决这个问题


3.访问到的网站加载很久

主要原因是访问到了外网的网址,比如三星等网站,导致加载较慢,更改推荐算法与调试模型后,软件会尽量推荐国内网站或者国外直连较快的网站,如Apple、Adidas等。

项目还有一些不足的地方和问题,比如我觉得可以让大模型给出推荐这些网址的理由、有些推荐的网站质量一般等,因为大家比较忙就没再提了,作为一个干杂活的没能帮上更多的忙,也感谢我的成员们的付出

③录制演示视频

使用pr和qq录制功能,对视频进行录制和拼接,相对比较简单,仅需对项目的每个功能都进行演示一遍就行了

心得体会

这次项目完成后,感慨万千。回首全程,从规划到成品,每一步都艰辛且充满挑战。

在与后端成员提出修改意见和问题、以及自己对项目的功能和代码上手测试后,对软件的测试方法也更加熟悉了,同时也运用到了本学期在软件工程课中学到的测试方法和数据采集课程中的爬虫技术,也对团队成员使用的技术更加熟悉了,同时也拓展了自己的技术栈,如Django框架、JavaScript等。

尽管没有深入参与项目开发环节,但我仍旧有所收获。技术上,我对前端、后端以及 AI 技术的掌握更加熟练。学会了 Vue.js 组件化开发,熟悉了 Django 架构,还掌握了语言模型和 EfficientNet B0 的应用。同时,在团队协作中,我学会了倾听、交流,明白了团队力量的强大。

这次项目经历让我明白,辛苦付出终有回报,让我对未来的开发之路充满信心,也希望之后有机会能深入参与项目开发,我将带着这份宝贵的经验继续前行。

posted @ 2024-12-16 00:31  D0ub1etake  阅读(6)  评论(0编辑  收藏  举报