情感分析在微博客服中的应用研究

时间:2022-09-24 02:08:43

情感分析在微博客服中的应用研究

用户情绪(User Sentiment)是反映用户心理的重要因素,它是一种反映用户的使用意愿或遇到问题的人气指标,对企业的运行和发展具有较大影响,也是客户服务体系中重要的因素之一。以往对用户情绪指数的衡量主要通过两种方式,一个是通过问卷调查等方式直接测量,另一个是通过分析有关使用情况数据来间接测量,而这两种方式都存在效率较低、实时性差等问题。随着微博等公共交流平台的兴起,农业银行及其各个省分行已先后开通自己的微博账号,作为客服平台在微博渠道上的延伸,兼具信息与接收的功能,较好地建立了与客户的直接联系,成为客服的重要渠道之一,而通过微博这一渠道获取的用户评论与反馈,为用户情绪分析提供了直接的、基础的原始语料。

这些语料是由海量的、由用户发表的对于诸如人物、事件、产品等目标实体的评论信息,与客观性文本不同的是,这些主观色彩浓厚的评论信息蕴含着大众舆论对上述目标实体的看法,对潜在用户、企业以及竞争对手等具有十分重要的参考价值,但如果采用人工方式对这些信息进行收集和分析,最终进入客服流程,显然是成本高昂、低效和困难的,因此利用计算机对非结构化的文本评论进行分类和提取的文本情感分析技术(Text Sentiment Analysis)应运而生。上述两项条件,即语料的获取及对其情感分析技术的诞生标志着对微博进行情感分析有了可行性的基础。

当前农行的公共号每日会收到数以千计的@通知,搜索微博可知有更多的用户提到了农行,这些通知与事件依靠人工客服干预并回复和处理的工作量太大,占用成本高昂,处理效率低下。本文试图将文本情感分析技术应用于微博客服中,用于分析用户情绪,将用户情绪分为正向或负向,并实现自动化处理的应用示例,以证明用户情绪分析方法能够有效地提高客服工作效率,减少事件响应时间,以提升客户满意度。

一、微博情感分析体系设计与应用

1、微博情感分析体系整体设计

目前农行的微博客服主要依赖人工对微博所反映的评论进行处理,因此本文要解决的主要问题是如何实现自动化与智能化的数据筛选与情绪化分析,并将结果推送给客服,实现尽可能的自动化处理。基于这样的需求,按照分层设计的原则,本文所设计的基于微博的文本情感分析系统划分如图1所示。

其中数据层主要负责采集微博数据并进行预处理,主要涵盖了通过接口从微博抽取信息,建立农行自己的专有词库,在此基础上进行中文分词,并过滤停用词等功能。通过接口从微博抽取信息是第一步,也是分析的基础。同时需要针对农行的情况建立专有词库,如“本利丰”、“汇利丰”等产品属于农行的专属名词,在一般的词库中并不存在,直接进行分词会导致分词效果不理想。完成后综合使用农行专有词库和一般词库进行中文分词,得到分词后的结果文本。最后需要将中文中的停用词进行过滤,以过滤“的”、“我”等词语。

分析层主要负责对数据层的分词结果进行情感分析,并给出情绪判断和评分,主要涵盖了情感词抽取,建立情感词库,在此基础上实现情感分类等功能。通过数据层的处理,得到了分词及过滤后的文本。在此基础上针对每一条微博,进一步将能表达情感的词语挑出来,作为情感分析的基础。同时为了进行情感分析,需要按极性建立情感词库,如表示积极评价的positive词库与表示否定评价的negative词库。完成后按给定的分析算法进行分类,并给出该微博的极性和分值。

应用层主要负责面向客服人员的应用,并提供了客服人员对结果操作的接口,主要涵盖了对分析层结果的推送接受,对微博所描述的事件与评论分发给对应分支行或业务部门处理,对当前的情绪统计提供查询与报表。以及定位到具体的微博,并直接进入人工处理。

2、微博情感分析体系应用

本文采用R3.2.1作为分析工具以验证系统的可行性,系统平台为华为的PC服务器,linux suse 11,256G内存,3.6T硬盘。

(1)数据采集与预处理

通常客服关心的微博数据有两种,一种是被动@的用户评论,如@中国农业银行,但客户的@比较分散,如客户可能@中国农业银行,也有可能@中国农业银行上海市分行。另一种是通过检索接口来获取所有提到“农行”的微博,以避免遗漏。本文采取后一种方式,以2015年8月10日下午15:00,“农行 上海”为关键词的搜索结果作为基础数据进行应用分析。通过Rweibo包进行抽取共获得763条微博,将结果保存为文本,如图2所示。

获取了基础数据之后开始建立分词词库,本文首先采用的是搜狗标准词库,考虑到微博的特殊性,追加了《网络流行语》这一细胞词库。本文使用Rwordseg包对微博进行分词处理,如对“今天到农行上海东昌路支行办事真的是第一次深刻体验到了什么是服务,从保安到柜台工作人员各个都是礼待有佳,贴心至极!赞”,这一微博的分词结果如下:

"今天" "到" "农行" "上海" "东" "昌" "路" "支行" "办事" "真的" "是" "第一次" "深刻" "体验" "到" "了" "什么" "是" "服务" "从" "保安" "到" "柜台" "工作" "人员" "各个" "都" "是" "礼" "待" "有" "佳" "贴心" "至极" "赞"

这一结果中,“东昌路支行”就是一个农行的专有名词,一般词库很难涵盖这些,需要根据自身需求建立专有词库,本文导入了农行上海分行全量分支机构组成的专有名词库,按全称和简称共导入2070条词库。此外,“是”,“了”等词频繁出现,与其他词相比,这些词没有什么实际含义,但对后续的分析并没有正面作用,这一类词被称为停用词(Stop Word),本文采用了百度提供的百度停用词列表进行过滤。通过上述处理可以得到一个比较理想的分词结果,作为后一步分析的基础。

(2)情感分析处理

情感分析的方法主要分为两类:一种是基于情感词典的方法;一种是基于机器学习的方法。本文采用前一种方法。通过标注好的情感词典进行情感词提取和情感倾向的计算。英文的情感词典有很多,中文主要有知网整理的情感词典HowNet和台湾大学整理的NTUSD两个情感词典,还有哈工大信息检索研究室开源的《同义词词林》可以用于情感词典的扩充。本文采用了NTUSD提供的词典,按极性分为positive和negative两个词典。另外,当程度副词修饰情感词,该情感词的情感倾向程度发生了变化。比如:“今天度过了美好的一天,真是极度幸福。”,“幸福”是一个褒义词,前面一个程度副词“极度”的修饰使得“幸福”原来的情感倾向程度发生了变化,这比没有修饰之前更加强烈。因此为了准确表达文本的情感倾向,需做相应的权值调整。本文中的程度副词来源于知网(HowNet),选用“情感分析用词语集(beta版)”中的“中文程度级别词语”共219 个,本文为每个程度副词定义了一个权重,被程度副词修饰后的情感词其权值应做相应调整。程度副词如表1所示。

对情感判别的主要计算步骤如下:

至此可以得出文本的情感倾向程度,但是我们在实际测试中会发现否定词的修饰会使情感词语的情感极性发生改变。比如“这张卡非常不实用”,该句中“实用”是褒义词,由于否定词“不”的修饰,使其情感极性发生了改变,转变成了负面情感。由于汉语中存在多重否定现象,即当否定词出现奇数次时表示否定意思,当否定词出现偶数次时表示肯定意思。本文单独构建了一个否定列表notList,并设置其权值为-1,常见的否定词如不、没、无、非、莫、弗、毋、勿、未、否、别、o、休。对否定词的处理过程如下:

至此我们得到了分析后的结果,带有情绪倾向的微博被筛选出来并为应用层提供服务。通过情绪分析我们可以看出大量的微博其实是中性的、不带情绪的,带情绪的只是其中一小部分。在763篇微博中有542篇是中性的,而有148篇是带负向情绪,有73篇带正面情绪。如图3所示。

(3)客服应用

对于农行客服而言,情绪分析的应用主要体现在如下几个方面:

事件推送:与传统人工筛选相比,大量无极性的信息其实是对人工成本的浪费,客服人员首要关注的是Negative极性的微博,其次是Positive的。通过情感分析,相当于对微博进行了优先度的排序,并将结果直接推送给客服人员,省去了客服人员人工搜索、分析、判断的时间。

事件分发:在获取了微博列表后,客服人员可以根据情感的极性、情感的强度进行分别处理,通常优先处理负面情绪强烈的客户。对于具有明确原因的微博可以通过内部系统接口分发给业务部门或具体分支行处理,并将处理结果反馈给客户。

情绪统计:以固定时间间隔,如5分钟一次,对微博中涉及“农行”或其他关键词进行情绪统计,当出现突发性明显的负面或正面情绪上升时将提示客服人员做好相应处置,或跟进事件营销。

人工干预:对于情绪指数强烈的客户可以由客服人员直接进行人工干预,对于负面情绪进行安抚,对正面情绪给予支持和感谢。

二、存在的问题与未来的展望

目前本文的文本情感分析技术主要关注“情绪词语”之间的数量关系,还没有做到面向客户进行研究,而微博数据本身就是一个客户个性化的自我展示,通过对客户的情感分析,未来结合协同过滤等分析技术来发掘具有相似偏好的用户(集体智慧)、挖掘专家意见(少数人的智慧)等,最终使得用户的情感分析能够走向个性化与定制化。

此外,微博数据正在向海量化、复杂化、多样化方向发展,传统的存储和计算模式将不足以支撑处理这些数据,如何将这些数据存储到农行现有的Hadoop平台上并实现大规模并行文本挖掘,是我们日后考虑的另一个方向。

上一篇:O2O横空出世,笑傲餐饮江湖 下一篇:银行客服中心转型中的机遇