基于双向传播框架的客服对话文本挖掘算法*

2021-03-30 08:57胡若云谷泓杰
沈阳工业大学学报 2021年2期
关键词:语料客服词语

胡若云, 孙 钢, 丁 麒, 沈 然, 谷泓杰

(国网浙江省电力有限公司 电力科学研究院, 杭州 310009)

随着企业规模的不断扩大和智能化的逐渐普及[1],各企业开始越发重视搜集更多的信息来分析和理解客户的业务处理流程,降低成本并提升满意度[2-4].因此,电力企业通过使用丰富的分析手段来分析和挖掘客服对话内容,并从中抽取客户意见,优化信息科学技术实现快速、有效地获取客户反馈信息具有重要意义[5-6].

目前,众多学者和研究机构从市场角度和社会学角度分析客服对话数据,其主要集中于提出客服对话数据处理方法与信息抽取方法[7].Li等[8]使用机器学习算法对客服质量进行评级;Tan等[9]使用信息检索方法提取出额外特征,以此来提升客服问题解决时间的预测精度;Chihani等[10]对中国移动的客服数据进行语音识别后进行信息抽取和情感分析,来获取客户的意图和客服人员的态度.虽然这些方法均取得了一定的效果,但客服对话仍存在着错误文本较多、口语化程度高和标注数据少等问题.

电力客服对话文本挖掘通常包括语音和文本预处理、关键要素识别和情感分类等过程.本文借助机器自然语言处理和学习方法,提出了一种基于双向传播框架的电力客服对话文本挖掘算法.该算法基于句法理论和其他类型的外部语料,来抽取情感词与评价属性的关系对.针对电力客服对话错误文本较多的问题,设计了基于词性和窗口的关系规则来抽取情感词与评价属性的关系对.使用这些关系对识别出电力客服文本中的情感词和评价属性词,以提升算法的适应性.

1 改进的双向传播算法

双向传播算法是Qiu等为解决情感词和评价对象提取问题在2011年提出的一种算法.该算法使用不同的句法关系规则找出对话文本中的情感词与情感词、情感词与评价对象、评价对象与情感词以及评价对象与评价对象之间的关系,并迭代得到所有可能的情感词和评价属性.但该算法是针对英文语料数据设计的,本文为了解决电力客服对话数据的挖掘问题,提出了改进的双向传播算法框架,如图1所示.该算法在双向传播算法的基础上,使用词频阈值和相似度计算方法挖掘出更准确的情感词和属性词集合.算法具体步骤为:1)从预定义的初始情感词出发,找出客服对话文本中对应的情感词或评价对象;2)分别从候选情感词和评价对象出发,找出所有符合情感词与评价对象、评价对象与情感词以及评价对象与评价对象之间关系的情感词或评价对象,并将其加入候选情感词或评价对象集合中;3)重复步骤2)直至不再出现新的情感词和评价对象;4)使用词频阈值对得到的集合进行过滤,进而得到更准确的情感词和评价对象集合;5)使用相似度计算算法选出有效的低频词,得到最终准确的情感词和评价对象集合.

图1 改进的双向传播算法框架

2 电力客服对话评价要素提取

电力客服文本对话存在标注数据少和错误多的特点,而传统方法只是用依存句法工具来提取词语关系,导致提取出的语料数据库存在较多的噪声.因此,本文基于双向传播框架,首先从外部语料中获取情感词和评价属性并对其进行扩展;然后使用基于词向量的语料相似度计算方法识别长尾词;最后挖掘出客服对话文本的情感词和评价属性.该算法流程如图2所示.

2.1 外部语料评价要素提取

本文通过收集电力客服相关的新闻评论和微博评论作为外部语料来抽取评价要素,根据文献[11]提出的依存关系设计了11种句法规则来抽取关系词对.其中,情感词(S)限定为形容词,评价属性(A)限定为动词或名词.本文设计的3个主要规则为:主谓关系(S→SBV→A);偏正结构(S→ATT→A);动宾结构(S→VOB→SBV→A).通过COO扩展可以得到11种句法规则:S→SBV→A;S→ATT→A;S→VOB→SBV→A;S→COO→SBV→A;S→SBV→COO→A;A→COO→ATT→S;A→ATT→COO→S;S→COO→VOB→SBV→A;S→VOB→SBV→COO→A;A→COO→A;S→COO→S.

图2 电力客服对话评价要素提取框架

基于这些规则可以得到外部语料双向传播算法流程为:1)抽取候选关系对,使用11种句法规则抽取外部语料数据集中所有句子的候选关系;2)迭代识别评价要素,使用本文提出的改进的双向传播算法迭代识别候选情感词与属性词,并对其进行词频过滤.

该算法将满足各种规则的关系一次性提取出来,存于〈属性词,属性词〉,〈属性词,情感词〉和〈情感词,情感词〉集合.同时,各集合使用HashSet来加快匹配速度.

2.2 电力客服语料评价要素提取

由于电力客服语料存在高度口语化和文本错误多的问题,使得不能较好地分析句法依存关系.本文通过挖掘结构化客户的意见信息,并使用基于窗口和词性的关系规则来捕捉情感词与属性词的关系.

本文将情感词设定为已有情感词或词性形容词adj,将属性词限定为动词v或名词n,然后使用词性限制和滑动窗口规则来提取关系对.

文中针对电力客服语料的特点设计的关系规则为:在滑动窗口中若存在名词或动词,且存在已有情感词或形容词,并满足表1所示的关系规则,则将名词或动词与已有情感词或形容词作为关系对.

表1 电力客服语料关系规则

基于这一关系规则,本文定义了面向电力客服文本的双向传播算法流程如下:

1) 使用2.1节中定义的依存关系规则,抽取出候选关系对,并使用支持度阈值对其进行过滤,得到出现支持度阈值大于K1的关系对;

2) 使用表1中的关系规则抽取电力客服对话文本中的关系对,并对其进行过滤得到出现支持度阈值大于K2的关系对;

3) 合并步骤1)和步骤2)中的关系对,并取各关系对的最大值得到候选关系对;

4) 使用第1部分介绍的双向传播算法对上述候选关系对进行双向传播识别,且对其进行词频过滤.

2.3 低频词提取

本文使用Word2Vec模型将词语映射到一个多维实向量空间,来解决由于相似的词语在离散语言模型中可能具有完全相同的表示问题.该模型是2013年由Mikolov等提出的,其包含基于当前词预测上下文词语的Skip-gram概率模型和根据上下文词语预测当前词的CBOW模型.

本文通过计算两个词在多维实向量空间中的余弦距离来得到不同词语间的相似度,其表达式为

(1)

式中,Φa和Φb分别为词语a和b的向量.

由前文可知,本文可以得到准确的情感词和属性词集合,但由于客服对话文本中有些语料被频繁提及,导致存在着长尾现象.因此,本文通过在长尾词中挖掘出更多的情感词和属性词来提升精度,具体方法如下:

1) 选取情感词集合的低频词Slow和属性词集合的低频词Alow,准确的低频词集合S和准确的属性词集合A,设置相似度阈值α;

2) 对Alow中的每一个词word,若sim(word,A)>α,则将word加入推荐属性词集合Aadd;

3) 对Slow中的每一个词word,若sim(word,S)>α,则将word加入推荐情感词集合Sadd;

4) 输出推荐情感词集合Sadd和推荐属性词集合Aadd.

两个词的相似度sim(word,W′)为word相对于集合W′中所有词语的最大相似度,即

sim(word,W′)=maxwi∈W′(VectorSim(word,wi))

(2)

2.4 短语扩展

由于单词在诸多情况下并不能完整地表达一个句子的意思,而本文使用的双向传播算法需要迭代识别情感词和属性词.同时,基于规则的方法不能较好地处理属性短语的抽取问题.因此,本文设计了基于左右信息熵和点间互信息的短语扩展方法.

信息熵是不确定性的一种度量方式,假设随机变量X的取值个数有限,则其取值为x的概率为P(x),故变量X的熵为

(3)

单词W的左右熵定义为

(4)

(5)

式中,Wa、Wb分别为单词W左边词语的集合和右边词语的集合.

点间互信息为两变量相互依赖程度的度量,其定义为

(6)

式中,P(w1)、P(w2)、P(w1&w2)分别为词语w1出现的频率,词语w2出现的频率和词语w1与词语w2同时出现的频率.点间互信息越高表明两词语的相关性越高,即当两个词语具有更高的点间互信息时,两词语的相关性越高;反之当两个词语具有较低的点间互信息时,两词语的相关性也较低.

使用信息熵和点间互信息可以将双向传播算法提取出的属性词合并成一些属性短语,如可将“实时”和“模式”两个词合并成“实时模式”这一短语.

3 实验与分析

本文挖掘和标注了一个电力客服领域的客服对话数据集进行测试实验.该数据集将电力客服文本中出现的情感词、属性词及其评价搭配作为语料数据库.本文共标注了6 000个客服对话文本,得到的数据如表2所示,这些数据主要是与电力客服相关的评论语料,由于这些对话文本的意图不尽是表达意见或问题,因此,包含评价属性、评价词以及评价搭配的句子分布较为稀疏.

表2 电力客服文本语料数据分布

本文从网站平台和各类移动平台上抓取了共约5 500条评论作为外部语料数据集,这些数据包含电力运行、电力销售和电力维修相关的客服语料.本文在仿真测试前先对这些数据集进行预处理并得到词向量,具体处理步骤如下:

1) 预处理.删除标点符号,合并空格,过滤URL链接,过滤长短句并分句.

2) 分词.使用Jieba分词工具对预处理后的对话文本进行词语划分.

3) 词向量训练.本文将划分后的词语表示成词向量的形式,并使用Gensim工具训练词向量.此外,将得到的词向量格式化为一行一句并使用空格隔开各词语.本文设置词语窗口为5,词频大小为5,并设置词向量的维度为50.

本文使用precision、recall和F1指标来评估算法的有效性,各指标定义为:

precision=正确的要素词数/测试数据的总词数

recall=正确的要素词数/抽取的总词数

F1=2×precision×recall/(precision+recall)

本文进行了两组实验,首先比较本文算法在不同组合时得到的实验效果,结果如表3所示.从表3中可以看出,对比基准方法,使用反向传播算法可以引入针对电力客服对话的关系规则能较大地提升召回率.但一定程度上损失了评价属性提取的准确度,从而引入噪声导致得到的客服语料规则较粗糙.对比传统的反向传播方法和其他加入词向量的方法,可以得知使用词向量后能从低频词中提取出更有用的词语来提升召回率.对比仅使用外部语料数据集的反向传播算法,本文引入电力客服语料数据集的方法可以提高算法的召回率和准确率.最后比较引入低频词提取与短语扩展的结果,能得到最高的情感词识别精度及召回率.

表3 不同方法模块组合实验结果

本文的第二组实验比较在设置不同的支持度阈值(大于K1)和相似度阈值α时,本文算法的识别精度结果如表4所示.表4中支持度阈值K2固定为10,从表4中可以看出,设置的词频较低时,能得到更高的评价属性提取召回率,原因是设置较低的词频能提取出更多的评价要素;而具有较高的词频时,能得到更高的评价要素识别准确率.原因是具有更高词频的词语,相对于低词频的词语更可信.同时本文也对比了不同词向量阈值时的实验效果,可以看出情感词识别的精度并不能随着词向量阈值的升高而升高.因为设置较高的阈值导致部分词语被忽略了,所以阈值为0.4时能得到比阈值为0.5时更高的准确率.

表4 不同阈值设置实验结果

4 结 论

本文提出了一种基于双向传播框架的电力客服对话文本挖掘算法.该算法使用了基于词性和窗口的关系规则来抽取情感词与评价属性的关系对,并使用这些关系对识别出客服文本中的情感词和评价属性词.实验结果表明,所提出的方法相比于传统的反向传播方法具有更高的识别准确率和情感词提取精度.同时,使用低频词提取与短语扩展方法也能提升识别精度.

猜你喜欢
语料客服词语
容易混淆的词语
海量标注语料库智能构建系统的设计与实现
找词语
语音推销
浅谈视频语料在对外汉语教学中的运用
可比语料库构建与可比度计算研究综述
建议
出大事了等
销售能手
一枚词语一门静