Python 基于机器学习的微博情感分析与研究

简介: Python 基于机器学习的微博情感分析与研究

源码下载地址


中文微博情感分类语料库


  • "情感分析"是我本科的毕业设计, 也是我入门并爱上NLP的项目hhh, 当时网上相关语料库的质量都太低了, 索性就自己写了个爬虫, 一边标注一边爬, 现在就把它发出来供大家交流。因为是自己的项目,所以标注是相当认真的,还请了朋友帮忙校验,过滤掉了广告/太短/太长/表意不明等语料,语料质量是绝对可以保证的
  • 带情感标注的微博语料数量: 10000(train.txt)+500(test.txt)
  • 另一个项目对这个语料库进行了预处理, 用SVM/XGBoost/LSTM/Attention等各种机器学习和深度学习的方法训练了模型

地址


数据格式


  • 文档的每一行代表一条语料
  • 每条语料的第一个数据为微博对应的mid,是每条微博的唯一标签,可以通过"https://m.weibo.cn/status/" + mid 访问到该条微博的网页(部分微博可能已被博主删除)
  • 第二个数据为情感标签, 0表示负面, 1表示正面
  • 其余后面部分都是微博文本
  • 微博表情都被转义成[xx]的格式, 如:
  • 微博话题/地理定位/视频、文本超链接等都转义成了{%xxxx%}的格式,使用正则可以很方便地将其清洗


文件说明


train.txt:


  • 10000条语料, 根据情感倾向二分类标注, 作为训练集
  • 对负面语料轻微过采样, 正: 负 = 5497:4503


997a6d94befed92499f25987165e0df7_ad5e1db556474a857177e1b972bf641f.jpeg


test.txt:


  • 500条语料, 依据情感倾向二分类标注
  • 随机采样, 正: 负 = 7:3
  • 作为测试集


8a58f1fec61d7e378bca410f2b7dcb9f_ce27f9b2bae34ff6b7592bb9704314d9.png


topics/XXX.txt:


  • 100条不同主题的语料, 未进行情感分类标注(文件里全部标注为1), 可用于舆情分析测试
  • 当时还不会分布式爬虫, 所以爬的比较少, 不要嫌弃QAQ


数据分析


训练集属性 平均数 0.95分位数
语料长度(含符号) 80.9091 161
语料有效词数(含停用词) 38.74 87
语料句数 4.1653 11
PS: 语料长度的0.95分位数为161, 表示95%的语料长度都小于161


训练集/测试集词频统计, 已去停用词, 不同的分词方法得到的结果会略有差异

e5a3f9440a81678ff8155048343c5966_5c85d34cb34f4aa68bfa17d6bcb43b4e.png

8cac1703f414bb09ec29cb1ece35d1f2_50f69195a83b411681b7df0d9e8716a8.png


  • 训练SVM后查看支持向量, 得到了正面/负面情感最强烈的一些词汇

4fb046055df399e6523cdeeee4be0ae0_e0e625d00d7e4fe2a510ddffa3b25f21.png


fd6ade4beada1b1e41cc223856fb1e22_2e1429a5d3ef46ad968fe686c115834b.png


源码下载地址


源码下载地址


相关文章
|
1天前
|
机器学习/深度学习 传感器 物联网
【Python机器学习专栏】机器学习在物联网(IoT)中的集成
【4月更文挑战第30天】本文探讨了机器学习在物联网(IoT)中的应用,包括数据收集预处理、实时分析决策和模型训练更新。机器学习被用于智能家居、工业自动化和健康监测等领域,例如预测居民行为以优化能源效率和设备维护。Python是支持物联网项目机器学习集成的重要工具,文中给出了一个使用`scikit-learn`预测温度的简单示例。尽管面临数据隐私、安全性和模型解释性等挑战,但物联网与机器学习的结合将持续推动各行业的创新和智能化。
|
1天前
|
机器学习/深度学习 人工智能 算法
【Python 机器学习专栏】强化学习在游戏 AI 中的实践
【4月更文挑战第30天】强化学习在游戏AI中展现巨大潜力,通过与环境交互和奖励信号学习最优策略。适应性强,能自主探索,挖掘出惊人策略。应用包括策略、动作和竞速游戏,如AlphaGo。Python是实现强化学习的常用工具。尽管面临训练时间长和环境复杂性等挑战,但未来强化学习将与其他技术融合,推动游戏AI发展,创造更智能的游戏体验。
|
1天前
|
机器学习/深度学习 传感器 自动驾驶
【Python机器学习专栏】深度学习在自动驾驶中的应用
【4月更文挑战第30天】本文探讨了深度学习在自动驾驶汽车中的应用及其对技术发展的推动。深度学习通过模拟神经网络处理数据,用于环境感知、决策规划和控制执行。在环境感知中,深度学习识别图像和雷达数据;在决策规划上,学习人类驾驶行为;在控制执行上,实现精确的车辆控制。尽管面临数据需求、可解释性和实时性挑战,但通过数据增强、规则集成和硬件加速等方法,深度学习将持续优化自动驾驶性能,并在安全性和可解释性上取得进步。
|
1天前
|
机器学习/深度学习 自然语言处理 PyTorch
【Python 机器学习专栏】自然语言处理中的深度学习应用
【4月更文挑战第30天】本文探讨了深度学习在自然语言处理(NLP)中的应用,包括文本分类、情感分析和机器翻译等任务。深度学习的优势在于自动特征学习、强大的表达能力和处理大规模数据的能力。常见模型如RNN、LSTM、GRU、CNN和注意力机制在NLP中发挥作用。Python的TensorFlow、PyTorch、NLTK和SpaCy等工具支持NLP研究。然而,数据稀缺、模型解释性和计算资源需求高等挑战仍待解决。随着技术进步,未来深度学习将进一步推动NLP发展,实现更智能的语言交互。
|
1天前
|
机器学习/深度学习 算法 Python
【Python机器学习专栏】文本分类的机器学习应用
【4月更文挑战第30天】文本分类是机器学习中的关键应用,涉及文本预处理、特征提取和模型训练等步骤。常见方法包括基于规则、关键词和机器学习(如朴素贝叶斯、SVM、深度学习)。Python中可使用scikit-learn进行文本分类,例如通过TF-IDF和朴素贝叶斯对新闻数据集进行处理。随着技术发展,未来将深入研究深度学习在文本分类中的应用及多模态数据的利用。
|
1天前
|
机器学习/深度学习 算法 UED
【Python 机器学习专栏】A/B 测试在机器学习项目中的应用
【4月更文挑战第30天】A/B测试在数据驱动的机器学习项目中扮演关键角色,用于评估模型性能、算法改进和特征选择。通过定义目标、划分群组、实施处理、收集数据和分析结果,A/B测试能帮助优化模型和用户体验。Python提供工具如pandas和scipy.stats支持实验实施与分析。注意样本量、随机性、时间因素和多变量分析,确保测试有效性。A/B测试助力于持续改进机器学习项目,实现更好的成果。
|
1天前
|
机器学习/深度学习 数据采集 前端开发
【Python机器学习专栏】模型泛化能力与交叉验证
【4月更文挑战第30天】本文探讨了机器学习中模型泛化能力的重要性,它是衡量模型对未知数据预测能力的关键。过拟合和欠拟合影响泛化能力,而交叉验证是评估和提升泛化能力的有效工具。通过K折交叉验证等方法,可以发现并优化模型,如调整参数、选择合适模型、数据预处理、特征选择和集成学习。Python中可利用scikit-learn的cross_val_score函数进行交叉验证。
|
1天前
|
机器学习/深度学习 算法 Python
【Python机器学习专栏】机器学习中的过拟合与欠拟合
【4月更文挑战第30天】机器学习中,模型性能受数据、算法及复杂度影响。过拟合(训练数据学得太好,泛化能力弱)和欠拟合(模型太简单,无法准确预测)是常见问题。理解两者概念、原因、影响及检测方法对构建有效模型至关重要。解决策略包括增加数据量、简化模型、添加特征或选择更复杂模型。使用交叉验证等工具可帮助检测和缓解过拟合、欠拟合。
|
1天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】机器学习中的模型融合技术
【4月更文挑战第30天】模型融合,即集成学习,通过结合多个模型提升预测性能。常见方法包括:Bagging(如Random Forest)、Boosting(如AdaBoost、XGBoost)和Stacking。Python中可使用`scikit-learn`实现,例如BaggingClassifier示例。模型融合是机器学习中的强大工具,能提高整体性能并适应复杂问题。
|
1天前
|
机器学习/深度学习 Python
【Python 机器学习专栏】堆叠(Stacking)集成策略详解
【4月更文挑战第30天】堆叠(Stacking)是机器学习中的集成学习策略,通过多层模型组合提升预测性能。该方法包含基础学习器和元学习器两个阶段:基础学习器使用多种模型(如决策树、SVM、神经网络)学习并产生预测;元学习器则利用这些预测结果作为新特征进行学习,生成最终预测。在Python中实现堆叠集成,需划分数据集、训练基础模型、构建新训练集、训练元学习器。堆叠集成的优势在于提高性能和灵活性,但可能增加计算复杂度和过拟合风险。