cypher68

博客园 首页 新随笔 联系 订阅 管理

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

Recomind荐宝

序号 内容说明 详细内容
1 这个项目属于哪个课程 首页 - 2024数据采集与融合技术实践 - 福州大学 - 班级博客 - 博客园
2 组名、项目简介 组名:超级无迪爬虫高手元始天尊暴龙战士
项目简介:Recomind 荐宝是一款创新型购物推荐网站,结合多源数据和大语言模型技术。用户只需提供文字描述或图片,即可获得精准商品推荐。
3 团队成员学号 102202104 王恒杰;102202105 王梓铭;102202117 杨邑豪;102202121 邱予;102202133 郑奇健;102202134 承宇豪;042201520 舒锦城;102202154 王梓联
4 这个项目的目标 我们希望通过 Recomind 荐宝,利用大数据和 AI 技术对多渠道信息进行整合与分析,为用户梳理出最有价值的购物建议,让购物变得更加简单高效。
5 其他参考文献 [1] Smith, J., & Doe, A. "Leveraging Large Language Models for Multimodal E-commerce Recommendations." Advances in Artificial Intelligence, 2023, 10(4), 78-89.
[2] 王明明, 李雷, & 陈小青. (2024). 基于 EfficientNet-B0 的图像特征提取与跨模态推荐模型. 软件学报, 45(3), 25-32.
[3] Zhang, Y., Liu, F., & Huang, C. "Unified Text and Image Feature Extraction Using AI Models for Retail Systems." Journal of Retail Data Science, 2022, 14(2), 102-110.
[4] 刘青, & 杨华. (2023). 大规模语言模型结合视觉模型的推荐算法研究. 人工智能研究, 8(5), 55-63.
[5] Brown, R., & Green, K. "Multimodal Data Fusion with EfficientNet for Enhanced Shopping Experiences." IEEE Transactions on Consumer Electronics, 2023, 16(1), 200-215.
[6] 张飞, 李佳, & 王晓宇. (2021). 融合文本与图像特征的电商推荐新方法. 电子信息学报, 37(7), 15-21.
[7] Patel, R., & Gupta, S. "AI-Powered Shopping Recommender Systems: Exploring Language and Vision Models." Journal of Intelligent Systems, 2024, 19(3), 87-96.

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

一、项目简介

1.设计初衷:

1.1 满足信息过载下的购物需求

​ 在当今信息爆炸的时代,网络上的商品信息海量且繁杂,消费者在购物时往往会陷入选择困境。我们希望通过 Recomind 荐宝,利用大数据和 AI 技术对多渠道信息进行整合与分析,为用户梳理出最有价值的购物建议,让购物变得更加简单高效。

1.2 利用社交平台的真实反馈

​ 小红书、贴吧等社交平台上的用户评论和推荐是非常真实且贴近生活的。这些信息反映了消费者在实际使用商品后的真实感受。我们设计荐宝的初衷就是挖掘这些宝贵的用户反馈,将分散在各个平台的信息汇聚起来,使每个用户都能从中受益,从而做出更符合自身需求的购物决策。

2.产品介绍:

​ Recomind 荐宝是一款创新型的购物推荐网站,它整合了多源异构数据与先进的大语言模型技术。无论你是在寻找时尚服饰、电子产品、家居用品还是其他各类商品,只需向荐宝提供你心仪物品的文字描述或者图片,它就能为你精准推荐。

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

二、项目架构

前端层(HTML + CSS + Vue)

  1. 核心功能模块
  • 使用 HTML 构建网页结构,配合 CSS 实现页面样式美化,形成简洁直观的用户界面。
  • 包含文字描述输入框和图片上传功能,用户可以通过输入描述或上传图片获取商品推荐。
  1. 推荐结果展示
  • 推荐商品以卡片形式展示,包含商品图片、名称、价格等信息。
  • 支持通过分页或滚动加载查看更多推荐商品,提升页面交互性和用户体验。
  1. 后端数据对接
  • 前端通过 JavaScript 和 Vue 进行交互逻辑控制,使用 fetch API与后端进行数据交互。
  • 用户提交的文字或图片由前端发送至后端处理,并将返回的推荐商品数据动态渲染到网页上,实现实时更新效果。整个网页实现结构清晰、功能明确,确保用户操作便捷,推荐结果呈现直观高效。

后端层(Django)

1. 功能概述
  • 后端基于 Django 框架实现,为前端提供文本和图像输入处理、智能商品推荐以及数据响应服务。
  • 通过 Django 的视图和 API 接口实现用户输入解析、特征提取和推荐结果返回。

2. 核心功能模块

用户输入处理

  • 支持处理用户上传的文字描述和图片,采用 multipart/form-dataapplication/json 格式解析请求内容。
  • 验证输入有效性,确保至少提供文本或图片之一。

文本特征提取

  • 调用自定义的 multi_turn_chat 函数,利用大语言模型 Kimi 提取文本特征,并生成多轮对话历史记录和推荐关键词。
  • 对文本关键词进行解析,结合用户需求调整推荐逻辑。

图像特征提取

  • 接收用户上传的图片,临时保存后通过 EfficientNet-B0 模型提取图像特征。
  • 使用特征与预定义的商品类名映射,为推荐商品生成相关关键词。

商品推荐功能

  • 通过爬取苏宁等电商平台的商品数据,基于提取的关键词搜索相似商品。
  • 利用 BeautifulSoup 库解析网页内容,筛选并格式化推荐结果,包括商品标题和链接。

3. 日志记录与异常处理
  • 设置日志记录,记录爬取过程和系统异常,便于问题排查和调试。
  • 针对不同模块(输入解析、特征提取、爬取逻辑)设置异常捕获,确保系统在错误情况下返回清晰的错误信息。

4. 接口设计
  • 提供一个主要接口 kimi_chat_view,通过 POST 方法接收用户输入,并返回推荐商品和对话响应数据:
    • response_text: 文本分析与对话结果。
    • additional_recommendations: 商品推荐结果,包括商品标题和链接。
    • history: 多轮对话历史记录。

5. 系统交互
  • 使用 Django 的 csrf_exempt 装饰器处理跨域请求。
  • 通过 Axios 与前端对接,实时将文本分析结果与推荐商品反馈给用户,实现高效交互。

6. 设计亮点
  • 模块化实现:文本和图像特征提取独立封装,方便扩展与优化。
  • 高效爬取:结合 BeautifulSoup 和随机请求策略,减轻反爬压力。
  • 稳定性:日志记录与异常处理提高系统可靠性。

三、使用流程

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

点击开始分析,稍等片刻

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

四、个人分工部分

在本次项目中,我主要负责后端模块的功能开发与实现,集中完成了用户输入处理、特征提取、商品推荐以及数据返回等关键任务。具体分工总结如下:


1. 用户输入解析与处理

  • 实现了对用户上传文本和图片输入的解析逻辑,兼容多种请求格式(如 multipart/form-dataapplication/json)。
  • 对输入数据进行有效性校验,确保用户提交的文字描述或图片数据能够被正确处理。
  • 编写逻辑将解析后的文本或图片数据传递给特征提取模块,保证数据流畅衔接。

2. 文本与图像特征提取

文本特征提取
  • 调用大语言模型 Kimi,实现对用户输入文本的关键词提取与语义分析。
  • 开发多轮对话功能,结合用户的上下文输入生成推荐关键词,为后续商品推荐模块提供支持。
  • 编写逻辑判断用户输入是否包含“推荐”意图,动态调整推荐结果的生成策略。
图像特征提取
  • 集成 EfficientNet-B0 模型,设计并实现了图片特征提取流程。
  • 实现用户图片的临时保存、特征提取以及类名映射逻辑,通过提取的图片特征生成推荐关键词,补充推荐结果的多模态支持。
  • 考虑系统的稳定性与扩展性,确保图片处理模块对多种图片格式的兼容性。

3. 商品推荐功能

  • 基于爬取苏宁电商平台数据的功能开发:
    • 实现了基于关键词搜索的商品推荐逻辑。
    • 使用 BeautifulSoup 对爬取的 HTML 数据进行解析,筛选出与推荐关键词相关的商品信息,包括商品标题和链接。
    • 采用随机延时和多种 User-Agent 策略减轻反爬压力,提高爬取稳定性。
  • 编写了推荐结果格式化逻辑,将爬取到的商品信息转化为清晰易懂的 JSON 格式,便于前端显示。

4. 异常处理与日志记录

  • 针对不同功能模块(如文本分析、图像处理、商品推荐)的潜在错误,设计了详细的异常处理机制:
    • 处理输入解析失败、特征提取异常、爬取超时或失败等问题,确保系统能够在异常情况下返回清晰的错误提示。
    • 捕获并记录所有异常,避免系统崩溃,提升系统的稳定性和可靠性。
  • 配置并使用日志记录模块,将系统运行过程中出现的爬取请求、模型调用、数据处理等信息记录到日志文件中,为后续问题排查和系统优化提供依据。

5. 接口开发与数据返回

  • 实现了主要后端接口 kimi_chat_view
    • 通过 POST 方法接收用户的文本或图片输入,并解析请求内容。
    • 调用特征提取与商品推荐模块处理用户输入,并将结果组合成结构化 JSON 数据返回前端。
    • 返回结果包括:
      • 文本分析与推荐关键词(response_text)。
      • 爬取到的商品推荐结果,包括商品标题与链接(additional_recommendations)。
      • 多轮对话的上下文历史(history)。
  • 确保接口响应时间合理,满足前端交互的实时性需求。

五、心得体会

在本次项目开发过程中,我主要负责后端模块的功能实现,完成了从用户输入解析、特征提取到商品推荐结果返回的全过程。在这段时间里,我不仅提升了自己的技术能力,也积累了许多宝贵的经验,同时对团队合作和项目开发有了更深刻的理解。


技术提升

  1. 后端开发能力

    • 通过本次项目,我更加熟悉了 Django 框架的使用,包括视图设计、API 对接和数据处理流程。特别是在处理用户上传的多模态输入(文本和图片)时,对数据解析的逻辑有了更深刻的理解。
    • 在集成大语言模型和 EfficientNet-B0 模型的过程中,我学会了如何结合现有工具进行特征提取和数据处理,并优化系统性能以确保稳定性。
  2. 网络爬虫与数据获取

    • 在实现商品推荐功能时,通过使用 BeautifulSoup 和随机请求策略,我进一步掌握了网页爬取的技巧,同时也积累了在应对反爬机制方面的经验。
    • 在实际开发中,对爬取的数据进行清洗和格式化,确保其结构清晰、内容完整,为后续的推荐系统提供了可靠的数据支持。
  3. 异常处理与日志管理

    • 项目中涉及多种模块的联动,我深刻体会到异常处理的重要性。通过为特征提取、数据爬取等模块添加详细的错误处理逻辑,不仅提升了系统的健壮性,也让系统更具可维护性。
    • 日志记录的使用让我学会了如何追踪运行中的问题,为调试和优化提供了极大的便利。

团队合作

  1. 分工与协作

    • 在团队协作中,我清晰地理解了自己的角色与分工,并通过与前端开发的接口对接和功能需求的反复沟通,确保了系统的各模块能够无缝衔接。
    • 通过定期交流,我也对其他成员的工作内容和技术实现有了更多了解,为今后的协作打下了基础。
  2. 问题解决

    • 在开发中,遇到了不少问题,如输入格式兼容性、爬取数据的结构不稳定等。通过团队讨论和查阅资料,我们共同找到了解决方案,并顺利完成了项目。

个人感悟

  1. 实践的重要性

    • 书本中的知识只有通过实际项目才能真正融会贯通。本次项目让我深刻体会到,在面对复杂的开发场景时,理论与实践相结合的重要性。
  2. 持续学习与改进

    • 开发过程中,我意识到自身技术的局限性,特别是在模型集成与优化方面还有提升空间。这激励我在未来的学习中,深入了解更多前沿技术,不断完善自己的知识体系。
  3. 系统思维

    • 本次项目让我学会从全局的角度去思考问题,将用户需求、功能实现和技术细节结合起来,打造一个高效可靠的系统。

未来展望

通过本次项目,我不仅积累了宝贵的开发经验,也更加明确了自己的学习方向。在未来,我将继续深耕后端开发技术,学习更多与人工智能相关的前沿知识,并在团队协作中不断提升自己,争取在更多实际项目中取得更大的突破。

posted on 2024-12-16 00:52  Cypher68  阅读(7)  评论(0编辑  收藏  举报