赞
踩
资源下载地址:https://download.csdn.net/download/sheziqiong/85836603
资源下载地址:https://download.csdn.net/download/sheziqiong/85836603
选题:设计实现一种基于文本内容/情感的文本自动分类方法
具体目标:实现一个分类器,完成对微博文本的简单二元分类,即分为正面、负面。
微博文本不同于正式文本,作为在网络社区上的文本,具有不规范性、流行性、符号混杂性等特点,具体总结了以下四点:
2、4给处理上带来方便,特别是文本化的表情符号能够增加情绪词权重;而 1、3 是挑战,需要数据量尽量大,涵盖更多的语言现象。
而在中期报告中也提出,由于句子中与情绪表达无关的文本的存在,直接使用分类的方法对于长文本不适用,需要进行过滤,并且传统分类方法忽略了词间的语义联系,使得训练集的规模需求变大,在没有大的微博语料库的情况下也很难取得好的效果。
因此,本文考虑结合词向量和传统分类方法,可以在某个大规模语料库上训练词向量表,继而用微博文本中词向量的平均获得整个文本的向量,用向量作为输入来进行分类。同时,当输入不再需要完整的文本时,过滤无用文本也就成为可能,删除连词、介词等并不会对句子中的关键信息有影响。词向量模型照顾到了语义联系,也符合情绪本质上是语义层面的特点;而传统分类方法训练速度较深度学习方法快,消耗计算资源较小,效果也没有绝对的差距,因此适合在个人电脑上运行。
维基百科中文语料( ):用于训练词向量表
第二届 CCF 自然语言处理与中文计算会议中文微博情感分析样例数据:本项目微博语料来源中科院计算所中文自然语言处理开放平台发布的中文停用词表 StopWord.txt:用于过滤无用文本
首先由维基百科中文语料获取词向量表,借助模块为 python 中开源的 genism,其中包括了针对维基百科语料训练词向量的方法。
之后对微博语料进行预处理,下载的样例数据中并不是简单的正负二元分类,其分类包括:anger 愤怒、disgust 厌恶、fear 恐惧、happiness 快乐、like 喜好、sadness 悲伤、surprise 惊讶、none 中性。我将 anger 愤怒、disgust 厌恶、fear 恐惧、sadness 悲伤归为负面,happiness 快乐、like 喜好归为正面,最终获得各 1029 句的正负平衡语料,命名为 neg.txt 和 pos.txt。
对正负语料进行分词,借助模块为 jieba(结巴分词);使用停用词表进行文本清洗; 最终对照词向量表并取平均值获得句子的特征向量。获得的特征向量维数为 400,为节约计算资源、加快速度,使用 PCA 分析作图,发现 100 维即可包含几乎全部信息,因此降维至 100。
随机划分训练集与验证集为 95:5。验证集有 102 句,其中负面 48 句,正面 54 句。
使用三种分类模型进行比较研究,为 SVM、BP 神经网络、随机森林。分别在训练集上训练得到模型,调用模型在验证集上进行验证。
1.评价指标
类别 | 属于此类 | 不属于此类 |
---|---|---|
实际属于此类 | TP | FN |
实际不属于此类 | FP | TN |
表 1:混淆矩阵
TP、TN 表示分类结果与实际标签一致的文本数,FN、FP 表示分类结果与实际标签不一致的文本数。
准确率:P=TP/(TP+FP)
召回率:R=TP/(TP+FN)
F1 值:F1=2P*R/(P+R)
2.实验结果
在验证集上测试结果如下表:
模型 | 类别 | 准确率 | 召回率 | F1 值 |
---|---|---|---|---|
SVM | 0 | 0.61 | 0.62 | 0.62 |
SVM | 1 | 0.66 | 0.65 | 0.65 |
BP 神经网络 | 0 | 0.56 | 0.71 | 0.62 |
BP 神经网络 | 1 | 0.66 | 0.50 | 0.57 |
随机森林 | 0 | 0.65 | 0.69 | 0.67 |
随机森林 | 1 | 0.71 | 0.67 | 0.69 |
表 2:验证结果
3.实验结果分析
资源下载地址:https://download.csdn.net/download/sheziqiong/85836603
资源下载地址:https://download.csdn.net/download/sheziqiong/85836603
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。