一种基于语义的弱监督微博多情感词典扩充方法与流程

文档序号:13675628阅读:209来源:国知局

本发明属于文本信息处理领域,具体是涉及一种基于语义的弱监督微博多情感词典扩充方法。



背景技术:

微博是一个全球范围的用户信息分享平台,用户通过发布文本或图片的形式实现信息的分享和传播。近年来微博网站高速发展,中文微博以“新浪”微博、“腾讯”微博为代表,英文微博以“twitter”、“facebook”为代表。微博的发展加速了信息的传播速度。但随着信息获取便利的同时,人们从海量数据中获取知识的效率也在降低。

传统文本的分类已经不能满足人们对网络即时信息的分类要求。如何根据微博内容自动判断人们所要表达的情感,从而快速获取不同情感属性的微博,就成为了一个重要的问题。

微博情感自动分类技术可以帮助相关公司企业及政府部门有效地收集社会热点事件的情感反馈,分析微博中的不同观点,为制定策略提供了一个高效可靠的依据。

情感分类中一个基本问题就是情感词获取,即情感词典的建立。情感词典的质量直接影响到分类的最终效果,而很多情感词典针对性弱且情感词数量不能满足分类要求。使用人工标注的情感词典不仅费时费力,而且无法解决海量微博中的文本不规则性、语义表达丰富性等问题。

在情感词典构建中,多情感词典构建更是其中的难点。不同于正负情感词典,人的情感种类丰富,如何定义情感的类型,如何确定词的情感类型,如何解决情感词的不平衡问题等是多情感词典构建亟需解决的问题。

发明人通过改进word2vec算法,建立了可自动获取且针对性较强的微博多情感词典,并根据网络情感表达方式,建立了情感词典扩充规则。生成的情感词典减少了人工标注费时费力的问题,有效提高了情感分类精度和效率。



技术实现要素:

本发明针对多分类情感词的扩充问题,提出了一种基于语义的弱监督微博多情感词典扩充方法及系统。主要内容包括:建立候选种子词典;通过词频权重和熵权重对候选种子情感词过滤;以word2vec算法获取候选情感词,并通过统计方法验证;用基于规则方法补充情感词典。实验结果表明,该方法有效扩充了多情感词典,并减少了多情感词典中情感词的数量不平衡问题。

多情感类型被定义为:开心、悲伤、生气、害怕、厌恶、喜欢、惊讶7种。每种情感在多情感词典中都有一组情感词相对应。建立多情感词典的种子情感词必须要求覆盖面广、情感倾向准确,而且必须保证不同情感类型情感词的平衡性。

为实现上述目的,本发明采用如下的技术方案

一种基于语义的弱监督微博多情感词典扩充方法,包括以下步骤:

步骤(1)微博语料获取和预处理

首先获取中文微博语料,然后对微博语料进行必要的预处理,包括繁体简体转换、分词及词性标注、去除外国词语和多余空格。预处理后的文本只保留汉字、词性标记及标点,记作g。

步骤(2)候选种子情感词获取及扩充词获取

由于在大规模语料中很难自动获取符合要求的种子情感词,因此必须在获取候选种子情感词后,再经过统计验证。

步骤(2.1)过滤微博语料g中词性,只保留g中的名词、形容词、动词,过滤后的微博语料记为g’。

步骤(2.2)统计g’中所有词的词频,将g中所有词按词频降序排序,从排名前p%内词中,人工选取情感词作为候选情感词,p为词频排名百分比阈值。

其中每类情感选取k个情感词作为候选情感种子。得到的候选种子情感词典记为f1={w1,w2,…,wn},wj为候选种子情感词。

步骤(2.3)对候选种子词典f1中的每个候选种子情感词w,以微博语料g为数据源,用word2vec算法获取与w语义最相关的前m个词作为候选情感扩充词,记做r(w)=(c1,c2,…,cm),即每个候选种子情感词都得到m个扩充词。情感词w与扩充词c的语义相关值用v(w,c)表示,则情感词w与m个扩充词的语义相关值可以记为v(w)=(v(w,c1),v(w,c2),…,v(w,cn))。扩充后的词典记为f2={w1,r(w1),w2,r(w2),…,wn,r(wn)}。

步骤(3)候选种子情感词验证

对多情感词典f2中候选种子词进行验证,去除不适合作为种子的情感词。步骤(3.1)-步骤(3.3)基于情感扩充词r(w),使用统计方法反馈验证候选种子词是否适合作为种子词。

步骤(3.1)统计每个扩充词在f2中的词频,使用公式(1)计算候选种子的词频权重sfw:

sfw(w)是候选种子w的词频权重值,f(ci)是候选种子词w中第i个扩充词ci出现的词频,v(w,ci)是候选种子w与其扩充词ci的语义相关值,m为扩充词数量。

步骤(3.2)计算f2中候选种子词的熵权重shw。熵权重用于体现情感词所包含的信息量大小,熵值越大,情感词的强度越高,计算公式(2)(3)如下:

shw(w)是候选种子w的熵权重值,p(si)是候选种子w中第i个扩充词ci出现的概率,f(si)是候选种子s中第i个扩充词出现的词频,m为扩充词数量。

步骤(3.3)在所有候选种子词中,选取满足条件sfw>α,shw>β的词作为种子词。这里α,β为设定的阈值。f2中移除不满足条件的候选种子词及该词的对应扩充词,所得词典构成f3={w′1,r(w′1),w′2,r(w′2),…,w′h,r(w′h)}。

步骤(4)情感扩充词的验证和情感类型判断

由于利用word2vec算法得到的扩充词与种子词体现的是语义相关性,这些扩充词仍然存在与种子词表达情感不一致的情况。因此需要对扩充词进行验证。情感扩充词验证按如下步骤进行:

步骤(4.1)统计每个扩充词c在词典中对应的种子词列表fw(c)。对扩充词c,检测所有种子词w∈f3,如果c∈r(w),则fw(c)=fw(c)∪{w}。

步骤(4.2)计算每个扩充词的词频权重efw和熵权重ehw。

扩充词c基于词频权重的计算公式(4)如下所示:

efw(c)=sfw(w1)+sfw(w2)+…+sfw(wn),wi∈fw(c)(4)

sfw(wi)是扩充词c对应的种子词wi的词频权重。

基于熵权重的计算公式(5)如下所示:

ehw(c)=shw(w1)+shw(w2)+…+shw(wn),wi∈fw(c)(5)

shw(wi)是扩充词c对应的种子词wi的熵权重。

步骤(4.3)在所有候选扩充词中,选取满足条件efw>α’,ehw>β’的词作为扩充词。这里α’,β’为设定的阈值。直接删去词表中不满足条件的候选扩充词。

步骤(4.4)为扩充词确定情感类型。扩充词的情感类型一般设定为与其对应的种子词的情感类型相同,但由于一个扩充词可能会由多个不同情感类型的种子词扩充得到,使扩充词的情感类型产生歧义。因此针对一个扩充词对应多个不同情感类型的种子词的情况,在其对应种子词中选取出现频率最高的情感类型作为该扩充词的情感类型。如果有并列频率最高的情况,由人工辅助判断,所得词典记作f4。

步骤(5)基于规则的情感词扩充

微博文本中存在大量具有情感倾向的格式化文本信息,可以通过基于规则的方法扩充多情感词典。规则定义如下:

规则1:情感符号抽取。抽取连续三个及以上的标点字符串(“://”除外),直接将该标点字符串作为候选情感词,如“:-)”,“^_^”,“!!!!!”等。

规则2:微博表情抽取。微博表情具有强烈情感倾向,如“[爱你]”,“[哈哈]”,“[嘻嘻]”等。

规则3:情感词抽取。对以情感符号或微博表情结尾、分词长度小于等于2的字符串开头的微博,直接将文字部分作为候选情感词,如“新年快乐[开心]”,“帅!!!”,“可爱爱~^_^”等。

使用规则1、规则2和规则3抽取语料库g中的情感符号及微博表情,作为候选情感词,由人工辅助验证后,将获取的扩充情感词加入到f4中,记为f5,即最终获取的多分类情感词典。

附图说明

图1本发明实现基于语义的弱监督微博多情感词典扩充方法流程图;

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步的详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

根据图1所示,本发明提出的方法是依次按以下步骤实现的(以新浪微博为例):

步骤(1)微博语料获取和预处理

使用新浪微博提供的api下载json格式的微博语料,并抽取其中用户发布的文本信息,获得微博语料库,记作g1。

语料库g1其进行繁简转换,得到语料库g2;使用目前发展较为成熟的ictclas分词系统对语料库g2进行分词和词性标注,并对分词后的语料过滤,只保留汉字、词性标记及标点符号,得到语料库g。g的语料存储方式以行为单位,每一行存储一条微博文本,约500万行。

步骤(2)候选种子情感词获取及扩充词获取

将情感词分为7类,分别为:开心、悲伤、生气、害怕、厌恶、喜欢、惊讶。过滤微博语料g中词性,只保留g中的名词、形容词、动词,过滤后的微博语料记为g′。统计g′的词表个数,百分比阈值p取40%。初始种子词个数k取20。

部分抽取结果如表1所示:

表1部分原始种子词

对候选种子词典f1中的每个候选种子情感词w,以微博语料g为数据源,用word2vec算法获取与w语义最相关的前400个词作为情感扩充词,记做r(w)=(c1,c2,…,c400),即每个候选种子情感词都得到400个扩充词。情感词w与扩充词c的语义相关值用v(w,c)表示,则情感词w与400个扩充词的语义相关值可以记为v(w)=(v(w,c1),v(w,c2),…,v(w,c400))。

这里例举表1中加粗的7个候选种子,扩充情况如下表2所示,表2中加粗的词为错误扩充词:

表2部分候选扩充词

步骤(3)候选种子情感词验证

根据公式(1)(2)(3),得到表1中加粗的7个候选种子计算结果如表3所示:

表3部分候选种子词的sfw及shw

在所有sfw、shw中选取满足条件sfw>α,shw>β的词作为种子词。这里α,β为设定的阈值。种子词(每类情感20个,共140个)的词频权重均值为881.80,熵权重均值为8.21,令α=500,β=7.8。

从表3中可以看出“消息”、“学习”、“重点”低于阈值,直接删去词表中不满足条件的词及该词的扩充词。过滤后,所得种子词典构成如表4所示:

表4过滤后种子词示例

过滤后的词典情感倾向性更强,为检验该系统的鲁棒性,在选择情感种子时,人工加入了一些错误类型以进行测试。部分错误情感分类(如“开心”被分入厌恶词中),将在步骤(4)扩充词验证中修正。

步骤(4)情感扩充词的验证和情感类型判断

统计每个扩充词的所有对应的种子词数并根据公式(4)(5)计算每个扩充词的efw和ehw。

这里例举表2标注的扩充词的计算结果:

表5扩充词片段结算结果

可以从表5中看出,“小鸟”不是生气词,而“愤怒的小鸟”作为短语经常出现,愤怒是生气词,和小鸟具有强相关性,因而小鸟变成生气词。“悲伤”由于和愤怒共现率高,也被错误分为生气词而不是悲伤词。网络用语“开森”由于其种子“开心”被错误分成厌恶词因而整个扩充词情感错误。

在所有efw、ehw中选取满足条件efw>α′,ehw>β′的词作为种子词。这里α′取10000,β′取80。可以从表5中看出,“小鸟”被算法发现并删除。

扩充词的情感类型一般设定为与其对应的种子词的情感类型相同。针对一个扩充词对应多个不同情感类型的种子词的情况,在其对应种子词中选取出现频率最高的情感类型作为该扩充词的的情感类型。如果有并列频率最高的情况,由人工辅助判断,所得词典记作f4。

由表5可知“悲伤”对应种子词数20、“嘿嘿”对应种子词数18,“开森”对应种子词数17。他们对应的种子词情感类型如表6所示:

表6扩充词片段情感类型分布

最终部分扩充词修正结果如表7所示:

表7部分扩充词修正结果

步骤(5)基于规则的情感词扩充

规则1:情感符号抽取。抽取连续三个及以上的标点字符串(“://”除外),直接将该标点字符串作为候选情感词,如“:-)”,“^_^”,“!!!!!”等。

规则2:微博表情抽取。微博表情具有强烈情感倾向,如“[爱你]”,“[哈哈]”,“[嘻嘻]”等。

规则3:情感词抽取。对以情感符号或微博表情结尾、分词长度小于等于2的字符串开头的微博,直接将文字部分作为候选情感词,如“新年快乐[开心]”,“帅!!!”,“可爱爱~^_^”等。

基于规则的部分扩充结果如表8所示:

表8基于规则扩充的情感词片段

步骤(6)实验分析。

本算法基于语义和规则扩充多情感词典。这里引入两种度量方法进行评价,分别为情感识别准确率和情感分类准确率。情感识别准确率是指情感词典中的词是情感词的准确率;情感分类准确率是指情感词分配的情感类型正确的准确率。结果如表9-表11所示:

表9不同词频权重区间的情感识别准确率(w表示单位万)

从表9中看出,词频权重越大,情感识别效果越好。对于词频权重值1000以下的扩充词,其情感识别准确率不足1%。在实际应用中可以根据需要选择合适的权重阈值控制情感识别精度。

表10词频权重10000以上的情感分类准确率

表11情感词扩充数量

由上表10可以看出,“害怕”类情感词的分类准确率最低,同时“害怕”类情感词的扩充情况最差;“生气”类情感词的准确率最高,同时“生气”类情感词的扩充情况最好。本次实验语料对“生气”情感的倾向较高,对“害怕”情感的倾向较低,因而造成了分类准确率的不同。对于高频情感,本方法可以达到86%的准确率。

多情感词典中如果正负两种情感类型比重过大,会近似为正负极性情感词典。使用本发明提出的算法,可以较好的增加多情感词典规模,特别是修正不平衡词典中稀疏情感类型的情感词规模。

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