多源异构数据采集与融合应用综合实践
这个项目属于哪个课程 | https://edu.cnblogs.com/campus/fzu/2023DataCollectionandFusiontechnology |
---|---|
组名、项目简介 | 组名:泥头车 |
项目需求:设计一个包含视频、文本、图片、音频的多源异构数据采集与融合的、能够判断相关性、客观性的应用网站 | |
项目目标:(1)对大众点评上的评论真实性进行分析 (2)根据抖音等短视频平台上的短视频内容进行抽取和分类判别 | |
项目开展技术路线:python、华为云平台、前端:ES6、vue3、 element-plus、后端:python-flask框架、百度千帆大模型ERNIE-Bot服务、whisper、yolov8模型、基于预训练的vgg网络再训练 | |
团队成员学号 | 102102136、102102137、102102138、102102139、102102109 |
这个项目的目标 | 采用技术手段和方法,对“水军”和虚假评论进行判别,对视频进行合理的分类以确保网络环境的公正、真实和安全。 |
其他参考文献 | [1]吴娇,汪可馨,许锟.融合多模态的虚假新闻检测[J].哈尔滨商业大学学报(自然科学版),2023,39(01):47-52.DOI:10.19492/j.cnki.1672-0946.2023.01.011.https://kns.cnki.net/kcms2/article/abstract?v=GARc9QQj0GVrRulgkOiVKs9OD8ERvmQdGrXIV2ms209gRfu49Augq0X_2vnaL53NgHQ6KwEzzTwCIukhEcuJkgpr_m5eu9meF3LV8Ea-whxcFP_M4FPBC0nIemlyQWBNdhvtE6B2ZY0mEKOTVCeAgw==&uniplatform=NZKPT&language=CHS |
[2]李卓远,李军.基于对比学习的多模态注意力网络虚假信息检测方法[J].中国科技论文,2023,18(11):1192-1197.https://kns.cnki.net/kcms2/article/abstract?v=GARc9QQj0GWs7L0B_mSfAcFMA2momxuYqmRi065OIiQ3CpJhb6p-iuB7nQGlVXtc2dYDyU35K3EwKjx3yIcqKZ1dZdtu2GjIDpLhDAymvzldJGiK5igtNNSLeQUnJEwliDlswaIltIg=&uniplatform=NZKPT&language=CHS |
实践内容:FZU判官 网站制作
项目背景:
随着互联网的快速发展,网络评论和短视频成为人们表达意见、分享观点的重要渠道。然而,这些评论和短视频中有时存在大量的“水军”和虚假评论,给用户和平台带来了很多困扰。因此,对“水军”和虚假评论进行判别显得尤为重要。
“水军”是指在网络上故意发布虚假评论、制造舆论热点的一群人。他们通常是为了获取某种利益或达到某种目的而进行恶意行为。“水军”的存在不仅扰乱了网络秩序,还可能误导用户,导致不良后果。因此,对“水军”进行判别是维护网络健康的重要任务。
虚假评论是指那些故意发布不真实、不客观的评论,以达到某种目的的行为。这些评论往往与事实不符,甚至可能误导用户。虚假评论的存在不仅破坏了网络评论的公正性和真实性,还可 能对用户造成经济损失或其他不良影响。因此,对虚假评论进行判别也是非常重要的。
随着短视频的兴起,短视频中的评论和互动也变得越来越重要。然而,与文本评论相比,短视频中的评论更加难以判别。因为短视频视频内容,很难通过文本分析来判断其真实性。因此,对短视频中的评论进行判别也是非常重要的。
因此,我们希望采用先进的技术手段和方法,对“水军”和虚假评论进行判别,以确保网络环境的公正、真实和安全。
功能阐述:
一、对大众点评上的评论真实性进行分析
- 数据获取:使用爬虫技术从大众点评上获取评论数据,包括评论的图片、文字、评分等信息。
- 数据清洗:对获取的数据进行清洗和处理,去除无关信息和噪声数据。
- 评论分析:使用自然语言处理(NLP)技术对评论的文字进行分析,提取关键词和情感倾向,判断评论的相关性和客观性。
- 综合评分计算:根据评论的相关性、客观性和其他因素,计算每条评论的综合评分。
- 结果展示:在网站上展示分析结果,包括评论的图片、文字、相关性、客观性和综合评分。
二、根据抖音等短视频平台上的短视频内容进行抽取和分类判别
- 数据获取:使用爬虫技术从抖音等短视频平台上获取视频数据。
- 视频处理:对获取的视频数据进行处理,包括视频转码、视频摘要生成等操作。
- 视频内容抽取:使用计算机视觉(CV)和自然语言处理(NLP)技术对视频内容进行抽取,提取视频的关键帧和音频信息,生成视频的文字描述。
- 视频分类:根据视频的文字描述和其他特征,使用机器学习算法对视频进行分类,判断视频属于哪一类。
- 结果展示:在网站上展示分类结果和视频的梗概。
个人分工
数据采集阶段
负责主导数据采集阶段的工作,针对所需的音频、文字、图片、视频的爬虫方面制定具体的爬虫设计方案,分配具体的设计任务和设计要求,做好数据预处理工作;
前后端构建阶段
我负责主导网站后端的搭建工作以及服务器的运行和维护,与前端开发人员协作,设计并实现网站的后端架构,部署和维护服务器,确保服务器的稳定运行和数据安全,确保前后端数据交互的正确性和稳定性。
我使用python的flask框架进行后端设计,并使用华为云平台的服务器来提供稳定的服务。
代码如下:
# 连接数据库
db = pymysql.connect(
host='127.0.0.1',
user='pg_db',
password='123456',
database='pg_db',
cursorclass=pymysql.cursors.DictCursor
)
@app.route('/comment',methods=['GET'])
def Comment():
# 创建数据库游标
cursor = db.cursor()
try:
pagesize = 5
page = int(request.args.get('page', 0))
offset = (page-1)*pagesize
# 执行查询
cursor.execute("SELECT count(*) FROM comment")
# 获取查询结果
datas = cursor.fetchall()
cursor.execute("SELECT * from comment limit %s,%s", (offset, pagesize))
arrays = cursor.fetchall()
array_list=[]
for array in arrays:
array_data = {
'id': str(array['id']),
'pic': str(array['pic']),
'comment': str(array['comment']),
'information':str(array['information']),
'correlation':str(array['correlation']),
'credibility':str(array['credibility']),
'score':str(array['score'])
}
array_list.append(array_data)
response = {
'msg':'成功',
'code':0,
'datas': datas,
'array': array_list
}
return jsonify(response)
except Exception as e:
# 查询失败,返回错误原因
response = {
'msg': str(e),
'code': 1,
}
return jsonify(response)
finally:
# 关闭游标
cursor.close()
@app.route('/video',methods=['GET'])
def Video():
# 创建数据库游标
cursor = db.cursor()
try:
pagesize = 5
page = int(request.args.get('page', 0))
offset = (page - 1) * pagesize
# 执行查询
cursor.execute("SELECT count(*) FROM video")
# 获取查询结果
datas = cursor.fetchall()
cursor.execute("SELECT * from video limit %s,%s", (offset, pagesize))
arrays = cursor.fetchall()
array_list = []
for array in arrays:
array_data = {
'id': str(array['id']),
'video_pic': str(array['video_pic']),
'information': str(array['information']),
'text': str(array['text']),
'type': str(array['type']),
}
array_list.append(array_data)
response = {
'msg': '成功',
'code': 0,
'datas': datas,
'array': array_list
}
return jsonify(response)
except Exception as e:
# 查询失败,返回错误原因
response = {
'msg': str(e),
'code': 1,
}
return jsonify(response)
finally:
# 关闭游标
cursor.close()
@app.route('/comment/upload',methods=['POST'])
def CommentUpload():
if request.method == 'POST':
file = request.files['pic']
comment = request.form.get('comment')
cursor = db.cursor()
# 检查数据完整性
if not file or not comment:
return jsonify({'code':1,'msg': '缺少必要字段'})
try:
file_path = "/www/wwwroot/duomotai/图片/{secure_filename(file.filename)}"
file.save(f"/www/wwwroot/duomotai/图片/{secure_filename(file.filename)}")
information = pic_video.img_predict_fun(file_path)
correlation = cor.correlation_get(comment,information)
credibility = cre.credibility_get(comment)
score = correlation*5 + credibility
# 执行插入语句
cursor.execute("INSERT INTO comment (pic, comment,information,correlation,credibility,score) VALUES (%s, %s)", (file, comment,information,correlation,credibility,score))
db.commit()
# 返回成功响应
return jsonify({'code':0,'msg': '成功'})
except Exception as e:
# 插入失败,返回错误原因
db.rollback()
return jsonify({'code':1,'msg': str(e)})
finally:
# 关闭游标
cursor.close()
@app.route('/video/upload', methods=['POST'])
def VideoUpload():
if request.method == 'POST':
file = request.files['video_pic']
cursor = db.cursor()
# 检查数据完整性
if not file:
return jsonify({'code': 1, 'msg': '缺少必要字段'})
try:
if file.filename == '':
return jsonify({'code': 1, 'msg': '没上传文件'})
file_path = "/www/wwwroot/duomotai/视频/{secure_filename(file.filename)}"
file.save(f"/www/wwwroot/duomotai/视频/{secure_filename(file.filename)}")
contain1 = pic_video.video_predict_fun(file_path)
# 执行插入语句
# cursor.execute("INSERT INTO video (video_pic,information,type) VALUES (%s,%s,%s,%s)", (video_pic,information,type))
db.commit()
# 返回成功响应
return jsonify({'code': 0, 'msg': '成功'})
except Exception as e:
# 插入失败,返回错误原因
db.rollback()
return jsonify({'code': 1, 'msg': str(e)})
finally:
# 关闭游标
cursor.close()
数据建模阶段
负责主导图片、视频处理模型运用阶段的工作,根据项目的具体需求和目标,考虑模型的特性、适用场景以及项目的数据特点等因素选取适合的算法。
对于图像处理,使用Yolov8模型进行目标检测,并从图像中提取信息,对图像进行目标检测,将函数返回值作为类别标签数组,从而实现图片的信息提取。
对于视频处理,先视频进行抽帧处理和目标检测,再运用Yolov8模型,从视频中检测出目标物体后按照图像处理方法进行进一步处理。
基于预训练的vgg网络再训练,进行参数调整和优化通过反复试验和评估模型性能,以找到最佳的模型参数配置。
项目测试阶段
我使用apifox对我写的后端接口进行测试,并配合前端同学的网页测试来发现bug和解决bug。
码云链接:https://gitee.com/chen-pai/box/tree/master/实践课多模态实践
标签:异构,视频,file,cursor,评论,str,array,多源,综合 From: https://www.cnblogs.com/EI-Shaddoll-Midrash/p/17902480.html