一种基于支持向量机的情感分类系统及方法与流程

文档序号:11864658阅读:808来源:国知局

本发明涉及舆情分析技术,具体涉及一种基于支持向量机的情感分类系统及方法。



背景技术:

随着互联网的快速发展,互联网上的数据呈现爆炸式增长。据不完全统计,1分钟内,Twitter上新增的微博达10万条。而在国内,新浪微博用户数6.5亿,日活跃用户达4600万,腾讯微博用户数6.2亿,日活跃用户约1亿;不仅如此,传统的论坛网站中有价值的信息大约在1年1亿条左右。如此庞大的活跃用户及其所发布的内容丰富、情感鲜明的评论背后,隐藏着众多有价值的信息。对这些信息的分析,可以帮助发现评论者对特定主体的情感,例如:微博/论坛用户对于企业“正面”或“负面”的评价,对于社会群体事件的观点等,从而帮助人们掌握舆论导向,分析问题缘由等。

然而,对评论文本进行分类,并发现用户的情感偏好是一项具有挑战性的工作,例如:某用户A发表了“注意冒充电信工作人员的女骗子”的帖子,用户B回复说“老人的钱好骗。”如果不考虑文本的场景,仅对句子本身进行情感判别,往往会取得不一致的判断结果。为此,我们研发了一种基于支持向量机的情感分类方法,用于对用户发表在微博、论坛里的文本信息进行分类,进而分析针对特定主体的舆情状况。



技术实现要素:

本发明所要解决的技术问题是:提出一种基于支持向量机的情感分类系统及方法,以供快速、准确从用户评论信息中发现舆情。

本发明解决其技术问题所采用的技术方案是:

一种基于支持向量机的情感分类系统,其包括:

数据采集及预处理模块,负责利用网络爬虫进行数据爬取,获取用户所发表的评论信息,并对评论信息进行预处理;

特征词及训练样本生成模块,负责以经过预处理的评论文本作为输入,选取带有特定词性的高频词作为特征词,并加入特征辞典;选取包含特征词的评价文本作为训练样本,并对训练样本的情感进行人工标注;

SVM分类模块,负责以特征辞典为基础,对训练样本提取特征向量,输入支持向量机生成分类模型;利用分类模型对待分类的评价文本的情感值进行计算,分析文本的情感取向;

可视化模块,负责将分析结果在web端进行展现。

此外,本发明还提供了一种基于支持向量机的情感分类方法,其包括以下步骤:

A、利用网络爬虫进行数据爬取,获取用户所发表的评论信息,并对评论信息进行预处理;

B、以经过预处理的评论文本作为输入,选取带有特定词性的高频词作为特征词,并加入特征辞典;选取包含特征词的评价文本作为训练样本,并对训练样本的情感进行人工标注;

C、以特征辞典为基础,对训练样本提取特征向量,输入支持向量机生成分类模型;利用分类模型对待分类的评价文本的情感值进行计算,分析文本的情感取向;

D、将分析结果在web端进行展现。

作为进一步优化,步骤A中,所述利用网络爬虫进行数据爬取,获取用户所发表的评论信息,具体包括:

从指定的站点开始,以宽度优先的模式爬取网页,针对每一个获取到的网页,对其页面源代码进行解析,获取网页内用户评论信息,将获取的评论信息写入数据库。

作为进一步优化,步骤A中,所述对评论信息进行预处理,具体包括:

采用中文分词工具包对用户的评价信息进行分词,并标注词性。

作为进一步优化,步骤B中,所述选取带有特定词性的高频词作为特征词,具体包括:基于FindCover算法选取词性为名词、动词和形容词的高频词语作为特征词。

作为进一步优化,所述基于FindCover算法选取词性为名词、动词和形容词的高频词语作为特征词,具体方法为:

确定FindCover算法的输入:分词并标注词性的评价文本集合U、特征词个数n、特征词长度L、词性集合P;

确定FindCover算法的输出:特征词组S;

选取过程包括:

步骤1、初始化集合S,A;

步骤2、计算映射关系Map M,将每个词语word映射到一组包含该word的文本id:M(word);

步骤3、当集合S未包含n个词语时,则寻找词语word,使其满足三个条件:

(i)词性满足P的要求;

(ii)长度满足L的要求;

(iii)当前的覆盖率coverage=|M(word)-A|最大;

步骤4、如果寻找到的word的覆盖率coverage=0,则终止循环,否则,将word加入S,将M(word)加入A,返回步骤3继续循环,直至集合S包含n个词语或寻找到的word的覆盖率coverage=0;

步骤5、返回集合S作为特征词组。

作为进一步优化,所述n、P、L的取值可根据实际情况进行调整。

作为进一步优化,步骤B中,所述选取包含特征词的评价文本作为训练样本,具体包括:

根据FindCover算法返回的特征词组S,采用以下策略选取训练样本:首先,输出所有包含特征词的评价文本集合Uf,若|Uf|>1%|U|,则从Uf中随机选择1%|U|个评价文本作为训练样本;否则输出Uf作为训练样本。

作为进一步优化,步骤C中,所述对训练样本提取特征向量,输入支持向量机生成分类模型,具体包括:

首先根据特征词将样本数据中的文本转换为形如“<标记>特征1:个数特征2:个数……特征n:个数”的格式,若采用三分法,则<标记>取值为positive,negative或neutral;若采用二分法,则<标记>取值为positive和negative;随后将转换好的训练数据输入到LIBSVM库中进行分类训练。

作为进一步优化,步骤D中,将分析结果在web端进行展现,所述展现的内容包括:基于特定关键词的文本的“正面”、“负面”、“中性”的比例、情感相关的原始文本、按时间维度展现文本的情感变化。

本发明的有益效果是:利用爬虫模块获取用户发表在论坛的评论信息,通过对数据进行分词等预处理,得到评论文本的特征词组以及具有典型性的训练数据,随后对训练数据进行情感标注,并利用支持向量机对训练数据进行计算,得到分类模型,依据分类模型,对待分类的评价文本进行分析,得到预计的情感状态,最后利用可视化模块,展示分类结果,帮助用户快速了解基于不同实体对象(关键字)的用户情感,并进而了解互联网舆情。

附图说明

图1为本发明基于支持向量机的情感分类系统结构框图。

具体实施方式

如图1所示,作为本发明的一个实施例,基于支持向量机的情感分类系统包括:

数据采集及预处理模块,负责利用网络爬虫进行数据爬取,获取用户所发表的评论信息,并对评论信息进行预处理;

特征词及训练样本生成模块,负责以经过预处理的评论文本作为输入,选取带有特定词性的高频词作为特征词,并加入特征辞典;选取包含特征词的评价文本作为训练样本,并对训练样本的情感进行人工标注;

SVM分类模块,负责以特征辞典为基础,对训练样本提取特征向量,输入支持向量机生成分类模型;利用分类模型对待分类的评价文本的情感值进行计算,分析文本的情感取向;

可视化模块,负责将分析结果在web端进行展现。

下面对各个功能模块的具体实现进行说明:

(一)数据采集及预处理模块(Data Collection and Preprocessing Module,简称CPM)

数据采集的主要流程如下:

(1)从指定的站点(起始网站)开始,以宽度优先的模式爬取网页;

(2)针对每一个获取到的网页,对其页面源代码进行解析,获取网页内相关的信息,如:用户评论信息等;

(3)将数据写入数据库。

数据预处理的主要流程为利用中科院研发的中文分词工具包对用户的评价文本进行分词,并标注词性。

(二)特征词及训练样本生成模块(Training Data Generation Module简称TGM)

鉴于本发明将采用支持向量机(Support Vector Machine,以下简称SVM)对评论文本进行分类,因此提取一组具有代表性的特征词,并在此基础上选取高质量的训练样本是保证分类质量的关键。为此,我们采用如下方法进行特征词和训练样本的遴选。主要的步骤如下:

(A)特征词的选取

TGM采用算法FindCover来选取典型的特征词。此外,根据实际观察,TGM选取词性为名词(n),动词(v)和形容词(a)的词语作为特征词,即FindCover算法的输入P为数组{n,v,a};此外在实际计算中,TGM选取长度L〉1的词语作为特征词。值得一提的是,对于n,P和L的取值,可以根据实际需要进行调整。

算法FindCover

输入:已分词并标注词性的评价文本集合U,特征词个数n,特征词长度L,词性集合P

输出:特征词组

1.初始化集合S,A;这里的集合S是用于存放特征词组的集合;这里的集合A为评价文本集合U的子集,专门用于存放S中的特征词word所对应的文本id。

2.计算映射关系Map M,将每个词语word映射到一组包含该word的文本id:M(word);

3.当S未包含n个词语时,则寻找词语word,使其满足三个条件:

(i)词性满足P的要求;

(ii)长度满足L的要求;

(iii)当前的覆盖率coverage=|M(word)-A|最大;

4.如果寻找到的word的覆盖率coverage=0,则终止循环,否则,将word加入S,将M(word)加入A,返回步骤3继续循环,直至集合S包含n个词语或寻找到的word的覆盖率coverage=0;

5.返回集合S作为特征词组。

(B)训练样本的选取

根据FindCover返回的特征词组S,TGM采用以下策略选取训练样本:首先,输出所有包含特征词的评价文本集合Uf。若|Uf|>1%|U|,则从Uf中随机选择1%|U|个评价文本作为训练样本;否则输出Uf作为训练样本。选定的训练样本将进行人工情感标注。实际使用过程中,可以将文本根据情感分成2类,即:正面,负面;也可分成三类,即正面,中性,负面。

(三)SVM分类模块(SVM Training Module,简称STM)

STM首先根据特征词将样本数据中的文本转换为形如:“<标记>特征1:个数特征2:个数……特征n:个数”的格式,其中若采用三分法,则<标记>可以取值为positive,negative或neutral;若采用二分法,则<标记>可以取值为positive和negative。STM随后将转换好的训练数据输入到LIBSVM库中进行分类训练。在得到训练结果后,STM应用这些分类规则对待分类的文本进行计算,分析文本的情感取向。

(四)可视化模块(Visualization Module,简称VM)

VM将分析结果在Web端进行展现,主要可视内容包括:(1)基于特定关键词的文本的“正面”、“负面”、“中性”的比例;(2)情感相关的原始文本;(3)按时间维度展现文本的情感变化。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1