一种基于词典的文本情感分析算法研究

2020-05-19 08:40姚文杰
卫星电视与宽带多媒体 2020年3期
关键词:词典

【摘要】文本情感分析的基础是词典,除此以外还需要对词典进行分类和定级。本文通过筛选整合现有词典,构建了一部包括基础词,领域词,网络词等的词典,并对词典中有关词语的权重分配和一些包含程度副词的短语计算进行了研究,提出了一种基于词典的文本情感分析算法。经过实验,发现本文构建的词典在处理情感时效果很好。

【关键词】词典;文本情感;算法研究

随着我国市场的不断发展,针对金融舆论数据的情感分析受到广大股民和公司的热切关注。目前,情感分析应用主要分为两种:基于词汇的方法和机器学习方法。当然,它们都面临着获取大量人类标记训练数据和语料的挑战。我提出一种基于词汇的针对数据情感分析的方法:将一篇短文本划分为不同的部分并给予不同的权重,再以词汇为基本颗粒进行分数计算;同时,在已有的权威字典的基础上,可以在里面特意增加一些与行业有关的词语,最终获得更好的性能。

1. 相关工作

目前没有一种模型可以含括所有的领域,也没有一种字典囊括不同领域的术语。根据需求,我们将精力放在了行业领域,并且采集了不同来源的高质量的数据集。同时,我们对一个包含大多数领域的字典进行了修改,添加和修改了行业方面的专业词汇。由于数据的直观性、简洁性特点,我们忽略了词汇之前的同义、反义等复杂关系,讲更多的精力投入在对于极性的确定和极性程度的判定方面。在此基础上,设计了一个实用的衡量文本感情的算法模型。

2. 数据准备

2.1 数据来源

数据的获取来自不同的平台,平台主要为以下几个:

- 海外金融数据

- 各大金融论坛的帖子

2.2 数据清洗

为了保留新闻媒体对于关键词的标注,在数据采集的时候保留了相应的网页标签和繁体风格。因此将原来的网页文本清洗成了简体无标签的文本形式。

2.3 词典来源

因为算法模型是基于词汇的情感分析,所以本文在总结分析了大连理工大学和中国知网的一些现有词典后,发现目前情感分析词典主要包括以下几个内容:

2.3.1 情感词

- 积极评价词

- 积极情感词

- 消极评价词

- 消极情感词

2.3.2 程度词:

程度词对于一个语句褒贬义的影响起到加强或削弱的作用,因为这里可以根据不同程度词的一个影响程度,把它们由弱到强分为5级,并设置一个标准对这五个级别进行打分,对于起加强作用的词可以把分值设置大于零,对于起削弱作用的词可以把分值设置小于零。

2.3.3 否定词:

否定词可以是原本一句话的含义走向相反的方向。常见的否定词:不、没、无、非、莫、弗、勿、毋、未、否、别、無、休、难道等。基于以上特点,否定词的存在可以用来判别是否进行词汇的极性反转,情感词可以整合成积极词和消极词两部分。基于知网词库的以上特点,将此词库选做基本的情感词典。

2.3.4 停用词词典

中科院计算所中文自然语言处理开放平台发布了有1208个停用词的中文停用词表。

另外针对目前互联网用语的增加,本文参考中国网络语言词典,专门增加了一个网络用语词典,里面既收录了一些最新出现的词汇,如电子商务、手机支付,也增加了目前在聊天工具中大家使用到的一些俚语,如鸭梨(压力)、斑竹(版主)、大虾(网络高手),还加入了一些外语词汇,如“email(电子邮件)”、“mm(妹妹或美女)”,这些词语的加入,是不同于当前的一些情感分析词典的部分,后续随着网络时代的发展我们会不断的更新网络词典以提高系统的准确度。

2.4 词典的数据类型

为了让后期的程序更好的调用词典,并且让其他人员更容易的修改词典,本文把总结的词汇输入存储到txt文本中,并对这些词汇赋予不同的分值,方便其他程序调用。

2.5 词典的修改

由于知网的词典是针对所有的领域,因此在行业领域词汇的划分上不免有失偏颇,前期我采用人工的方法对词典的三大分类进行了略微调整。调整如下:

①在积极词(pos_emotion)中删除了要,用,开通,需,向,应,欲,通,深,对,到,事实上,基,基部,基础,基础性,固,固定,可乐,谨,主导,自行,增加了'高于','扭转','买超','强劲','反弹','增','缓解','微升''上涨'。

②在消极词(neg_emotion)中刪除了大,怊,悭,悱,愦,胜,偏,增加了'跳水','鸡肋','沙尘暴','阴霾','钱荒','压力','贬值','重挫','周跌','月跌','连跌','背驰','缩减','妨碍','倒退','急挫','挫','低见','跌','冲击','大跌','涉嫌','亏损','下跌','纪律处分','处分','赤字','缩水','打击','跌穿','受压','连累'。

③在否定词中删除了偏,增加了'无','不','不是'

3. 情感分词算法

3.1 文本分块

对于一个文本来说,可以把它通过分词程序切分成几个部分,每个部分对于整个文本情感倾向的影响程度一般来说是不一样的。比如对于一篇金融新闻,在文本长度足够的情况下,给定'FORWARD_NUM','BACKWARD_NUM'这两个参数,分别代表[0:FORWARD_NUM]句和[BACKWARD_NUM-1:]句。此时收尾两部分的权重就比中间高。

为了减少首尾权重(Weight)对于文本整体的影响过大,以至于算法忽略文本[FORWARD_NUM:BACKWARD_NUM]部分的分数,我们将首尾的部分得出的分数乘以对应的频率,用于[0:FORWARD_NUM]和[BACKWARD_NUM-1:]两部分。

3.2 积极词/消极词

对于中文(无边界语言)划分词语,考虑到速度和第三方库的发现新词能力,我们使用了jieba分词库。将文本中的积极词和消极词结合词典挑选出来,并且每个给予一个分数,在此基础上,我们进行极性反转和程度词的发现。

3.3 基于程度詞频的优化

在对含有程度词频的文本进行判断时,发现程序运行时间较长。这主要是因为在之前的极性反转和程度词的判断中,为了穷尽常见的情况,子分支的判断语句非常多。为了减少程序在子分支语句方面判断的时间损耗,采用赫夫曼树的优化思想:将'if-else'理解成二叉树,由于不同的程度词在日常语言中出现的频率是不同的,因此,可以将'more_degree'和'ish_degree'首先判断,再依次判断'very_degree'实现对算法性能的优化。

4. 实验分析

根据本文所设计的情感分析词典和计算方法,我们在网上收集了一些有关行业领域的测试语料进行实验,其中正面语料500条,负面语料500,为了使选取的语料性质判断正确无误,这些语料由三个不同的同学分别进行判断,然后通过程序调用本文的词典对这些语料进行情感判别后发现,判断准确率在百分之九十以上,说明本文所设计的词典和算法效果还是不错的。具体如下:

从表3-1中,可以看出,只是用基础词典的情况下,准确率相对较低,这是因为基础词典中缺少一些专门针对语料进行褒贬义分析的词语,如:“高于”、“扭转”、“强劲”、“大盘”等。

从表3-2中可以看出,本次准确率的测试结果是最高的,并且较前两个实验来说,把语料评定为中性的数量也有了一定的下降,这就说明了网络词典对于一些较难判断,尤其是语料中褒贬义词语数量差别不大的情况下,进行情感分析时有很好的帮助作用。

参考文献:

[1]杨文婷.基于微博的情感分析算法研究与实现[D].西南交通大学,2015.

[2]李林俏.中文商品评论的文本情感分析技术研究[D].湖南大学,2015.

[3]夏明星.基于情感分析的评论极性分类和电影推荐系统的设计与实现[D].2016.

[4]穆云磊.基于评论分析的协同过滤推荐算法研究[D].2016.

作者简介:姚文杰,山西芮城县人,现供职西京学院任助教,硕士学位,研究方向数据与知识管理。

猜你喜欢
词典
词典里的新发现
“大力士”纸片人
词典使用与英语学习
宅假期
我的字典
“函数及图象”错解词典
词典
漫画词典
莫把词典当镇纸
简明FOTO词典