基于层次语义理解的电力系统客服工单分类

2019-07-15 11:18
计算机应用与软件 2019年7期
关键词:工单特征向量字符

杨 鹏 刘 扬 杨 青

(国网天津市电力公司信息通信公司 天津 300000)

0 引 言

电力行业是国家最重要的基础行业之一,近几年,电力行业信息化得到了长足的发展,电力数据资源开始急剧增长并形成了一定的规模,这为实现数据驱动的电力系统智能管理和决策提供了数据基础。在海量多样的电力数据中,客服工单数据占据着非常重要的地位,对工单数据的分析也是电力系统智能化发展进程中的一个重要研究方向。客服工作是企业面向社会的窗口,它直接和用户交流,对于企业的生存发展起着至关重要的作用。电力系统作为关系到国计民生的重要行业,其客服工单数据记录了电力用户的基本诉求,而对用户需求所属的类别进行准确定位是提供良好客户服务的基础。高效的客服工单分类方法既可以提升用户需求定位的准确程度,也可以提升人员的工作效率,对电力系统的高效运行与管理具有重要的意义。

由于工单数据通常是以文本记录的形式描述用户的具体需求,因此如何准确地理解工单描述中所包含的文本语义信息是工单类别划分的核心,也是本文的重点研究内容,主要涉及到的方法是文本语义理解方法。文本语义理解[1]是自然语言处理中的自然语言句子级分析技术的第三个层次,是运用各种机器学习方法,学习与理解一段文本所表示的语义内容,它的最终目的是理解句子表达的真实语义。一段文本通常由词、句子和段落来构成,根据理解对象的语言单位不同,语义解析又可进一步分解为词汇级语义解析、句子级语义解析以及篇章级语义解析。一般来说,词汇级语义解析关注的是如何获取或区别单词的语义,句子级语义解析则试图分析整个句子所表达的语义,而篇章语义解析旨在研究自然语言文本的内在结构并理解文本单元(可以是句子从句或段落)间的语义关系。简单地讲,语义解析的目标就是通过建立有效的模型和系统,实现在各个语言单位(包括词汇、句子和篇章等)的自动语义解析,从而实现理解整个文本表达的真实语义。基于学习到的文本表示可以进行文本分类[2]、情感分析[3]、文本匹配[4]等任务。

近年来,国内外已有多名研究人员在电力业务数据文本语义理解方面做出了工作,并且取得了一些成果。MIT的Cynthia等学者对纽约城市电缆的数万条故障工单进行了挖掘,为检修井的巡视提供帮助[5]。Sun等[6]对社交网络(Twitter)中关于停电的文本进行了挖掘,为电网的风险管理提供了一种辅助手段。美国南加大某课题组对智能电网的语义网进行了定义,为智能电网与互联网的信息交换与共享提供了技术支持[7]。

随着电力系统中所积累的数据规模逐渐扩大,基于文本语义理解的电力工单分类任务也成为很多研究工作的重点内容,有很多学者针对该问题展开深入研究,并且取得了很多研究成果。林溪桥等[8]利用主成分分析方法对具体工单内容与时间维度之间的关系进行分析,实现客服工单分类模型的优化。王震等[9]提出一种基于LDA的热点业务工单分类模型,通过对工单文本的主题进行学习实现热点业务工单的分类筛选。邹云峰等[10]首先对电力工单中的文本进行预处理,并通过计算TF-IDF值的方法获得文本表示,最后利用决策树模型实现工单分类。而随着神经网络语言模型的兴起,谢季川等[11]利用Word2vec模型学习工单文本中的词向量表示,进而得到文本的语义表示用于工单分类[12]。

综合上述研究工作可以发现,现有的方法大多是利用主成分分析[7]、主题模型[8]或计算TF-IDF[10,13],从而进行主题或者词级别工单语义分析。这种方式通常停留在对文本浅层特征的表示学习,而缺乏细粒度,深层次的语义理解,这种浅层的表示方法难以全面地捕获工单描述中所蕴含的隐藏语义信息,从而导致分类性能的下降。只有对工单描述文本进行准确的理解,才能更加完整地表示其中蕴含的语义信息,实现工单类别的准确划分。

针对上述问题,本文提出了基于层次语义理解的电力系统客服工单分类模型(简称:CHSU)。对于工单描述中的文本记录,分别利用深度学习方法对词级别特征表示和字符级别特征表示进行学习,将不同层级的表示相结合实现对工单描述的深度语义理解,学习到工单文本的细粒度、层次化的深度语义表示,从而实现精准的客服工单的类别划分,提升分类的准确性,进一步提高电力系统运行的质量和效率。

1 模型构建

客服工单记录了电力客户所提出的用户需求,通常包含自然语言形式的、长度较短的工单短文本描述以及该条工单所属的服务类型。根据数据的特点,本文基于工单描述短文本实现工单类别划分。考虑到工单描述通常是由多个词组成的,而词是由多个字符组成的,因此为了学习层次化的工单描述的语义表示,本文首先利用双向长短期记忆网络(LSTM)对每个词中的字符进行编码,得到字符级别的隐藏特征表示。进一步,将字符级别的表示与词级别的表示相结合,利用类似的双向LSTM网络进行词级别的语义编码,最终得到关于工单的层次化深度语义表示向量,并在此基础上实现工单类别划分。本文所提出的模型框架如图1所示。

图1 基于层次语义理解的电力系统客服工单分类模型

1.1 长短期记忆网络(LSTM)

长短期记忆网络[14]是一种循环神经网络特殊的类型,适合处理和预测时间序列中间隔和延迟相对较长的情况。LSTM利用三个“门”结构对细胞状态进行保护和处理,分别是输入门、遗忘门和输出门,其中门结构是通过Sigmoid函数和按位乘操作实现的。Sigmoid函数的具体计算方法如下:

(1)

Sigmoid层输出0到1之间的数值,代表有多少量可以通过,1表示允许任意量通过,0表示不允许任何量通过。在第t个时间步,LSTM中各部分的具体计算过程如下:

ft=σ(Wf·[ht-1,xt]+bf)

(2)

it=σ(Wi·[ht-1,xt]+bi)

(3)

(4)

(5)

ot=σ(Wo·[ht-1,xt]+bo)

(6)

ht=ot·tanh(Ct)

(7)

最后,输出门会根据Ct、ht-1和xt来决定该时刻的输出ht。其中,包括计算一个sigmoid层来确定细胞状态的哪个部分将被输出。接着把细胞状态通过tanh层进行处理,得到一个在(-1,1)范围内的值,并将它和Sigmoid门的输出相乘,得到输出部分。

1.2 字符级别语义表示

工单描述文本是由词组成的,而每个词又包含多个字符,为了捕获文本中细粒度、层次化的语义表示,因此首先对字符表示进行建模。由于中文文本中的词不能像英文一样可以用空格进行分隔,因此在进行建模之前需要使用工具,例如jieba分词对工单文本预处理。对于工单描述中一个词wi,假设其包含Q个字符,将每个字符随机初始化为一个特征向量ciq∈Rdc,其中q∈[1,Q],dc代表字符特征向量的维度。对于该词中所有字符的特征向量,本文使用LSTM对其进行编码,学习隐藏的语义表示。而由于一个LSTM只能从一个方向进行计算,而不能建模另一个方向的语义,因此这里使用双向的LSTM来总结两个方向上的字符级别语义信息,从而获得对应的语义表示。双向LSTM包括一个前向的LSTM,它对工单的读取顺序是从ci1到ciQ,以及一个反向的LSTM,它对工单的读取顺序是从ciQ到ci1。该编码过程的具体计算方法如下:

(8)

(9)

(10)

1.3 词级别语义表示

本文进一步对工单描述中词级别的语义进行学习。对于一个给定的工单描述D={w1,w2,…,wT},T代表工单D所包含词的个数。将工单中的每个词随机初始化为一个特征向量wiw∈Rdw,dw代表词特征向量的维度,将该特征向量与字符级别的特征wic拼接,可以得到关于该词整体的特征向量表示,即:

wi=[wiw,wic]

针对该特征,本文使用与上文类似的双向LSTM进行编码,具体计算方法如下:

(11)

(12)

(13)

基于特征表示d可以实现进一步的工单类别划分。

1.4 工单类别划分

通过上述模块得到的工单特征表示向量包含了层次化深度语义信息,因此该表示可以做为工单分类的特征向量。本文使用一个softmax层实现工单类别划分,具体计算方法如下:

p=softmax(Wd+b)

(14)

式中:W和b为待学习权重矩阵和偏置向量。softmax(·)函数为归一化指数函数,其形式为:

(15)

该函数值代表了特征x划分为类别j的概率。因此工单分类的损失函数可以写为如下负对数似然函数的形式:

(16)

式中:l为工单d的服务类型标签。通过最小化上述损失函数,实现整体模型的训练。

2 实 验

2.1 数据简介

本文利用真实的工单记录数据对所提出方法的效果进行验证。数据采集自国网电力公司客服系统,记录了一段时间内该客服系统所收集到的工单内容。由于该数据为真实的电力工单客服记录,因此在录入过程中由于人为或系统的原因会存在部分信息缺失的情况,经过筛选,本文选择其中12 623条记录数据进行实验验证,每条记录包含一段中文文本形式的工单描述以及该条工单所属的服务类别,所选择工单分属于5种服务类别。

为了进行训练和调参,本文将整体数据集按照8 ∶1 ∶1的比例划分训练集、验证集和测试集,利用验证集上的实验结果作为调参的依据,并在测试集上测试模型的效果。

2.2 对比方法

为了证明所提出方法的性能,本文将该模型与其他几种常用的工单分类方法的实验效果进行了对比,所选择的方法如下:

TFIDF-SVM:TFIDF方法又称词频-逆文档频率算法,它通过计算词在文档以及语料库中出现的频率对词的重要程度进行加权。该方法首先利用TFIDF算法对客服工单中的文本信息进行特征向量表示,然后基于该特征向量表示利用支持向量机(SVM)进行工单类别划分。

TFIDF-DT:该方法同样利用TFIDF算法计算特征向量表示,然后利用决策树进行工单类别划分。

Word2vec-SVM:Word2vec是一种将单词转换成向量形式的工具,可以将文本内容的处理简化为向量空间中的向量计算。该方法首先利用Word2vec训练得到工单文本每个词的词向量,并对词向量求平均得到工单的特征表示,然后基于该特征向量表示利用SVM进行工单分类。

Word2vec-DT:该方法同样利用Word2vec模型得到工单的特征表示向量,并基于该表示利用决策树对工单类别进行划分。

CHSU-Nochar:本文所提出的方法的退化版本,即仅使用词级别的语义表示对工单文本进行建模。

本文方法(CHSU):即本文所提出的基于层次语义理解的电力系统客服工单分类方法,在该方法中同时对词和字符的语义进行建模,并利用一个Softmax层实现工单分类。

2.3 实验设置

本实验中所有的特征表示向量都使用随机初始化,其中词特征向量的维度设为300,字符特征向量的维度设为50。模型中所有权重矩阵同样是随机初始化,偏置向量初始化为0。由于数据较多,为了提升训练速度因此采用批处理的方式进行训练,batch的大小设为50。在参数优化过程中,本文选择Adam进行优化,训练的学习率设为0.001,最大迭代次数设为50。此外,本文在训练过程中引入dropout策略来防止出现过拟合的现象,dropout比率设为0.5。

2.4 评价指标

工单分类属于多分类问题,因此本文采用微平均F-Score(Micro_F)对分类的准确度进行评估,其具体计算方法如下:

(17)

式中:Micro_P和Micro_R分别为微平均准确率和召回率,通过化简可以简写为后面的形式,TPi即为第i类样本正确分类的个数,N代表整体样本数。Micro_F越大代表分类性能越好。

2.5 实验结果

基于上述实验设置,本文在真实的工单数据上进行工单分类对比实验,各方法在验证集和测试集上的实验结果如表1所示。

表1 工单分类实验结果

由表1中的实验结果可以看出,无论是在验证集还是在测试集上,本文所提出的基于层次语义理解的电力客服工单分类模型(CHSU)以及该模型的退化版本都具有优于其他对比方法的分类效果,其中CHSU相较于表现最差的Word2vec-DT方法在测试集的性能上有14.8%的提升,该结果证明了本文所提出方法的有效性。此外,CHSU的性能优于CHSU_Nochar,这证明使用字符级别的语义表示对于工单的语义理解是有帮助的,它可以使模型捕获到层次化的语义信息,加深对文本内容的语义理解,从而获得更好的分类效果。另外从其他对比方法的分类效果中可以看出,相同文本表示方法的条件下,使用SVM作为分类器的效果优于使用决策树,这说明相较于决策树,SVM更适用于本文所使用的工单数据。此外还可以看出使用TFIDF建模文本表示的结果整体优于使用Word2vec,这可能是由于本文所使用的工单数据通常长度较短,不利于Word2vec模型学习到足够的上下文信息,因此降低了模型的性能。

除上述对比实验外,本文同时对模型的参数敏感性进行分析。由于字符级别的语义表示在本文所提出的方法中扮演重要的角色,因此这里主要研究字符特征向量维度对模型分类效果的影响。图2展示了字符特征向量维度从10变化到100的过程中,Micro_F的变化情况。

图2 分类性能随字符特征向量维度变化情况

从图2中可以看出,当字符特征向量的维度增加时,模型的性能在整体趋势上有所提升,但当维度大于50后,分类性能反而呈现下降的趋势,这是由于使得模型过于关注字符级别的语义而忽略了词级别的语义,从而导致性能下降,因此在本文的模型中将字符特征向量设为50,以达到最优的分类效果。

3 结 语

对于客服工单数据的理解和研究有利于电力公司更加高效的定位客户需求,从而提升工作效率和工作质量,具有很重要的现实意义。本文以电力公司客服系统的工单记录为研究对象,对工单描述中包含的文本信息进行了深入分析,并根据该数据的特点,建立基于层次语义理解的电力系统客服工单分类模型,同时考虑词级别和字符级别的语义表示,提升了模型的分类性能。

在电力系统的工单数据中还存在很多样本数量很少的服务类型,由于缺乏足够的训练样本,因此在建模过程中本文没有考虑此类工单,但事实上这些工单中也包含了大量的用户需求信息,因此在后续的研究工作中将对模型进行进一步的改进,使其能够建模这种数据分布不平衡的情况,达到更好的分类效果。

猜你喜欢
工单特征向量字符
克罗内克积的特征向量
高中数学特征值和特征向量解题策略
高职院校计算机类专业“工单制”教学的研究与探索
基于RPA技术的机器人在配网调度工单发布工作中的应用
正则表达式快速入门
字符代表几
图片轻松变身ASCⅡ艺术画
三个高阶微分方程的解法研究
基于分布式数据库Cedar的高效工单管理系统设计与实现
人工智能新探索 打造银行智能工单