2024 年中国高校大数据挑战赛赛题 C:用户对博物馆评论的情感分析完整思路以及源代码分享

博物馆是公共文化服务体系的重要组成部分。国家文物局发布, 2021 年我国新增备案博物馆 395 家,备案博物馆总数达 6183 家,排 名全球前列;5605 家博物馆实现免费开放,占比达 90%以上;全国 博物馆举办展览 3.6 万个,教育活动 32.3 万场;虽受疫情影响,全国 博物馆仍接待观众 7.79 亿人次。 但在总体繁荣业态下,一些地方博物馆仍存在千馆一面、公共文 化服务供给同质化的尴尬局面,在发展定位、体系布局、功能发挥等 方面尚需完善提升。这给博物馆基于自身特色进一步迈向真正的公共 性提出了新课题,也即坚持守正创新,坚持直面公众和社会的公共文 化服务的创造性转化、创新性发展。 为了提升博物馆公共服务水平,课题组收集大众点评平台上用户 对南京市朝天宫、瞻园、甘熙宅第、江宁织造博物馆和六朝博物馆五 个博物馆的点评数据,数据字段主要包括:用户编号、评论内容、评 论时间等。 现需要根据用户对五个博物馆的评论内容,分析以下问题:

问题 1:针对每位用户的评论,建立情感判别模型,判断评论内 容的情感正反方向,输出评论内容的情感方向为正面、中立、负面, 并统计每个博物馆历史评论各个方向情感的比例分布情况。(完整代码与结果见文末附件!)

文本预处理是情感分析的关键步骤,直接关系到后续分析的准确性。因此,我们将采用以下多步骤策略进行深度预处理:

  1. 数据清洗:去除重复、缺失或格式错误的评论,确保每条数据的有效性。移除评论中的HTML标签、特殊字符等无关信息。
  2. 中文分词:使用jieba等中文分词工具,将连续的评论文本切分为有意义的词汇单元。根据博物馆领域的专业词汇库,优化分词结果,确保专业术语的准确性。
  3. 停用词处理:构建停用词列表,包括常见的无意义词汇、虚词等。去除评论中的停用词,减少噪声干扰,凸显关键信息。
  4. 词性标注与筛选:对分词后的结果进行词性标注,识别出名词、动词、形容词等关键词性。根据情感分析的需要,筛选保留对情感倾向判断有帮助的词性。
  5. 去除标点符号:移除评论中的标点符号,避免其对情感分析造成干扰。
  6. 文本标准化:处理缩写、俚语等,确保文本的一致性和可分析性。

利用业界领先的NLTK库中的VADER情感分析器,对每一条评论数据进行深度的情感挖掘。VADER情感分析器凭借其独特的算法和大量的训练数据,能够精准捕捉文本中微妙的情感变化。通过这一先进工具的运用,我们得以将每一条评论细分为正面、中立和负面三种情感倾向,确保情感分类的准确性和可靠性。

结果

问题 2:综合考虑评论内容中情感词、程度副词、否定词、标点 符合等等影响情感方向的指标,建立情感得分评价模型,得到每位用 户评论的情感得分,并基于得分对五个博物馆进行客观排名。(完整代码与结果见文末附件!)

1. 情感得分评价模型建立:

文本预处理: 对评论内容进行分词、去除停用词、标点符号等预处理操作。

情感词、程度副词、否定词处理: 使用情感词典、程度副词、否定词等词汇进行情感分析,给出每个词的情感权重。

情感得分计算: 根据情感词、程度副词、否定词等的权重,计算每个评论的情感得分。可以使用加权平均等方式计算得分。

2. 客观排名:

情感得分汇总: 统计每个博物馆的所有评论的情感得分,并计算平均得分。

博物馆客观排名: 根据博物馆的平均情感得分,对博物馆进行客观排名,得分高者排名靠前。

平均情感得分计算: 对于每个博物馆,计算其所有评论的平均情感得分。这可以用以下公式表示:

问题 3:针对每位用户评论的内容,可通过事件抽取或实体抽取 算法,从评论内容中抽取影响用户情感的关键事件或因素,如某用户 评论“非常不错!环境高大上!好多是最近房地产开发盖新房子时新 挖出来的,不错“,可得知该评论为正面情感,影响其正面评价的是” 房地产开发盖新房子时新挖的“、”环境高大上“两个因素。基于上 述抽取的关键事件或影响因素,综合分析得到影响用户对五个博物馆 情感的影响因素。(完整代码与结果见文末附件!)

事件抽取或实体抽取: 使用自然语言处理技术,如命名实体识别(NER)或事件抽取,从评论内容中提取出与博物馆相关的实体或事件。这些实体或事件可能涉及到展览、服务、环境等方面。

情感分析与关键事件关联: 将抽取出的实体或事件与情感分析结果关联起来,分析这些实体或事件对用户情感的影响。可以考虑使用规则匹配、关键词匹配等方法,将评论中提到的实体或事件与情感得分联系起来。

统计分析与主要因素确定: 综合分析抽取的关键事件或因素,统计不同因素出现的频率以及与情感倾向的关联程度。根据分析结果确定影响用户对五个博物馆情感的主要因素。

问题 4:基于上述分析得到的数据结果,为五个博物馆撰写一段 提升公共服务水平的可行性建议,建议要有理有据,且具有一定的可 操作性

完整附件内容:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/733535.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习笔记】6_5 RNN的pytorch实现

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 6.5 循环神经网络的简洁实现 本节将使用PyTorch来更简洁地实现基于循环神经网络的语言模型。首先,我们读取周杰伦专辑歌词…

Python操作Redis 各种数据类型

本文将深入探讨如何使用Python操作Redis,覆盖从基础数据类型到高级功能的广泛主题。无论是字符串、列表、散列、集合还是有序集合,我们将一一解析,同时提供丰富的代码示例帮助读者更好地理解和应用。除此之外,本文还将介绍Redis的…

【20240309】WORD宏设置批量修改全部表格格式

WORD宏设置批量修改全部表格格式 引言1. 设置表格文字样式2. 设置表格边框样式3. 设置所有表格边框样式为075pt4. 删除行参考 引言 这两周已经彻底变为office工程师了,更准确一点应该是Word工程师,一篇文档动不动就成百上千页,表格图片也是上…

STM32之串口中断接收UART_Start_Receive_IT

网上搜索了好多,都是说主函数增加UART_Receive_IT()函数来着,实际正确的是UART_Start_Receive_IT()函数。 —————————————————— 参考时间:2024年3月9日 Cube版本:STM32CubeMX 6.8.1版本 参考芯片&#xff1a…

Svg Flow Editor 原生svg流程图编辑器(二)

系列文章 Svg Flow Editor 原生svg流程图编辑器(一) 说明 这项目也是我第一次写TS代码哈,现在还被绕在类型中头昏脑胀,更新可能会慢点,大家见谅~ 目前实现的功能:1. 元件的创建、移动、形变;2…

【C语言】字符指针

在指针的类型中我们知道有一种指针类型为字符指针char* 一般使用: int main() { char ch w; char *pc &ch; *pc w; return 0; } 还有一种使用方式,如下: int main() { const char* pstr "hello bit.";//这⾥是把⼀个字…

plantUML使用指南之序列图

文章目录 前言一、序列图1.1 语法规则1.1.1 参与者1.1.2 生命线1.1.3 消息1.1.4 自动编号1.1.5 注释1.1.6 其它1.1.7 例子 1.2 如何画好 参考 前言 在软件开发、系统设计和架构文档编写过程中,图形化建模工具扮演着重要的角色。而 PlantUML 作为一种强大且简洁的开…

【stm32 外部中断】

中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行 中断优先级:当有多个中…

LoadBalancer (本地负载均衡)

1.loadbalancer本地负载均衡客户端 VS Nginx服务端负载均衡区别 Nginx是服务器负载均衡,客户端所有请求都会交给nginx,然后由nginx实现转发请求,即负载均衡是由服务端实现的。 loadbalancer本地负载均衡,在调用微服务接口时候&a…

考研复习C语言初阶(4)+标记和BFS展开的扫雷游戏

目录 1. 一维数组的创建和初始化。 1.1 数组的创建 1.2 数组的初始化 1.3 一维数组的使用 1.4 一维数组在内存中的存储 2. 二维数组的创建和初始化 2.1 二维数组的创建 2.2 二维数组的初始化 2.3 二维数组的使用 2.4 二维数组在内存中的存储 3. 数组越界 4. 冒泡…

【Java JVM】Class 文件的加载

Java 虚拟机把描述类的数据从 Class 文件加载到内存, 并对数据进行校验, 转换解析和初始化, 最终形成可以被虚拟机直接使用的 Java 类型, 这个过程被称作虚拟机的类加载机制。 与那些在编译时需要进行连接的语言不同, 在 Java 语言里面, 类的加载, 连接和初始化过程都是在程序…

解决阿里云服务器开启frp服务端,内网服务器开启frp客户端却连接不上的问题

解决方法: 把阿里云自带的Alibabxxxxxxxlinux系统 换成centos 7系统!!!! 说一下我的过程和问题:由于我们内网的服务器在校外是不能连接的,因此我弄了个阿里云服务器做内网穿透,所谓…

大模型学习过程记录

一、基础知识 自然语言处理:能够让计算理解人类的语言。 检测计算机是否智能化的方法:图灵测试 自然语言处理相关基础点: 基础点1——词表示问题: 1、词表示:把自然语言中最基本的语言单位——词,将它转…

你应该打好你的日志,起码避免被甩锅

大家好,我是蓝胖子,相信大家或多或少都有这样的经历,当你负责的功能出现线上问题时,领导第一时间便是找到你询问原因,然而有时问题的根因或许不在你这儿,只是这个功能或许依赖了第三方或者内部其他部门,这个…

【Unity InputSystem】实用指南:在PC端(鼠标与键盘)、手机端(触摸屏)、主机手柄上同步实现角色移动与跳跃功能

前引 随着Unity的不断发展,开发者对于项目的输入系统要求也日益提高。在进行多平台适配和跨平台移植时,常常需要改变输入系统,这给开发者带来了不少困扰。而Unity官方推出的InputSystem插件,则是为了解决这一问题而推出的全新输入…

Linux内存管理--系列文章壹

一、引子 作者、我在上班闲着没事的时候,看了一些关于Linux内存管理和程序装载、链接的文章,然后自己就总结出了一些东西。 本系列文章一方面将资料中的长篇大论总结到最少、以方便可以直接找到答案,一方面也是方便面试的时候可以吹牛逼。 L…

【Docker】golang使用DockerFile正确食用指南

【Docker】golang使用DockerFile正确食用指南 大家好 我是寸铁👊 总结了一篇golang使用DockerFile正确食用指南✨ 喜欢的小伙伴可以点点关注 💝 问题背景 今天寸铁想让编写好的go程序在docker上面跑,要想实现这样的效果,就需要用…

小程序 van-field label和输入框改成上下布局

在组件上面加个样式就行&#xff1a;custom-style"display:block;" <van-field label"备注说明" type"textarea" clearable title-width"100px" custom-style"display:block;" placeholder"请输入" /> …

大载重无人机基础技术,研发一款50KG负重六旋翼无人机技术及成本分析

六旋翼无人机是一种多旋翼无人机&#xff0c;具有六个旋翼&#xff0c;通常呈“X”形布局。它采用电动串列式结构&#xff0c;具有垂直起降、悬停、前飞、后飞、侧飞、俯仰、翻滚等多种飞行动作的能力。六旋翼无人机通常被用于航拍、农业植保、环境监测、地形测绘等领域。 六旋…

Day34-Linux网络管理4

Day34-Linux网络管理4 1. IP地址分类与子网划分基础1.1 什么是IP地址1.2 十进制与二进制的转换1.3 IP地址的分类1.4 私网地址和局域网地址 2. 通信类型3. 子网划分讲解3.1 为什么要划分子网&#xff1f;3.2 什么是子网划分&#xff1f;3.3 子网划分的作用&#xff1f;3.4 子网划…