基本信息
Q | A |
---|---|
这个项目属于哪个课程 | 2023数据采集与融合技术 |
组名、项目简介 | 组名:Double 20000、项目需求:设计出一个交互友好的多源异构数据的采集与融合的小应用 、项目目标:通过在网页中上传文本、图片、视频或音频分析其中的情感 、项目开展技术路线:前端3件套、Python、fastapi |
团队成员学号 | 102102143、102102140、102102141、102102152、102102117、102102114、102102121、102102132 |
这个项目目标 | 通过在网页中上传文本、图片、视频或音频分析其中的情感 |
码云链接
gitee文件夹
项目整体介绍:
项目名称:多模态情感分析系统
项目背景:在当前的数字化时代,情感分析在各种应用中变得越来越重要,如客户服务、市场分析和社交媒体监控。多模态情感分析能够提供比单一模态更丰富、更准确的情感识别和分析。
项目目标:开发一个多模态情感分析系统,能够处理和分析文本、图片、音频和视频数据,从而提供综合的情感分析结果。
技术路线:
-
前端开发:
-
使用HTML、CSS和JavaScript进行界面设计,实现用户与系统的交互。
-
通过用户给出的bv号进行查询
-
-
后端开发:
-
使用Python进行后端逻辑的编写。
-
利用Flask搭建简易后端框架。
-
-
数据处理与分析:
-
文本分析:调用华为云NLP情感分析API。
-
视频分析
- 提取视频中的音频部分。
- 对提取的音频进行分析,使用同音频分析的方法。
-
音频分析
- 使用openai开源的whisper进行音频分析。
- 对上传的音频文件进行特征提取和情感识别。
-
-
结果输出与展示:将分析结果通过前端界面展示。
最终效果:
通过在本地上传文件进行分析并且得到结果
个人分工
在这次的实践中我和方赞同学负责编写后端代码,实现了一个基于Flask框架的web API,这个API主要功能是调用小组成员的编写好各个函数代码,接收POST请求,从请求中获取bilibili视频的bv号,然后爬取该视频的弹幕、评论、封面和视频文本,对这些数据进行自然语言处理(NLP)和情感分析,并返回处理结果,实现与前端的对接。
部分代码:
from flask import Flask, request, jsonify
from getdm import Crawler_Bilibili_Danmu
from hwNLP_ljx import HW_NLP
from hwNLP_ljx import SentimentAnalysis
from t import get_comment,get_cover
from getvideo import get_bilibili_video
app = Flask(__name__)
@app.route('/api/', methods=['POST'])
def dm():
c = Crawler_Bilibili_Danmu()
data = request.get_json()
bv = data.get('bv')
if bv is not None:
dm = c.search_dm_from_bv(bv)#弹幕
comment = get_comment(bv)#评论
cover = get_cover(bv)#封面
video_text = get_bilibili_video(bv)
nlp = HW_NLP()
r = nlp.nlp_fromList(dm) # r是弹幕的nlp
r2 = nlp.nlp_fromList(comment) # r2是评论的nlp
r3 = nlp.nlp_fromList(video_text) #r3 是音频文本的nlp
sentiment_analysis = SentimentAnalysis()
c.reinit()
return jsonify(dm,c.jiebaRank(),r,sentiment_analysis.analyze_result(r),comment,cover,r2,sentiment_analysis.analyze_result(r2),video_text,r3,sentiment_analysis.analyze_result(r3))
else:
return "Invalid request",400
if __name__ == '__main__':
app.run(debug=True)
部分截图
心得体会
102102117 吕铭讯
这次实践经历让我深切体会到了团队协作的重要性。在项目中,我和方赞同学共同负责编写后端代码,特别是基于Flask框架的web API的设计和实现。这不仅仅是一段技术上的合作,更是一次思想碰撞与磨合的过程。首先,明确分工是项目成功的关键。在开始阶段,我们明确了各自的任务和职责,确保每个环节都有专人负责。这样不仅可以提高效率,还能避免在出现问题时出现互相推诿的情况。其次,有效的沟通是解决问题的前提。在编写代码的过程中,我们遇到了许多技术难题和细节问题。每当遇到问题时,我们都会及时沟通,共同探讨解决方案。这种沟通不仅增进了我们的友谊,还让我们更加了解彼此的工作方式和思考方式。另外,团队合作中难免会有意见不合的时候。这时,我们需要保持冷静,用事实和数据说话。通过反复验证和调试,我们最终找到了最佳的解决方案。这让我意识到,在团队协作中,我们需要学会妥协和包容,但同时也需要坚持自己的原则和观点。最后,这次实践让我更加明白了技术的重要性,但更重要的是如何将技术应用到实际场景中。通过与小组成员的合作,我不仅提高了自己的技术水平,还学会了如何与他人合作、如何解决问题。然而,在编写API的过程中,我们遇到了许多技术难题。例如,如何有效地处理HTTP请求、如何从请求中提取所需的数据、如何调用其他函数处理数据等。这些问题需要我们不断学习和探索,寻找最佳的解决方案。但是,这次数据采集实践项目仍然让我收获颇丰。我深知自己在团队协作和技术应用方面还有很大的提升空间,但我也相信在未来的项目中,我会更加成熟、更加自信。感谢这次实践机会,也感谢团队中每一位成员的付出和支持。
标签:异构,nlp,get,音频,情感,分析,bv,多源,综合 From: https://www.cnblogs.com/lxmlmx/p/17902065.html