APP下载

基于正则算法和命名实体识别模型的95598工单结构化信息自动提取

2021-03-18钟爱梁小青肖梅向黎藜段凯李竹

电力大数据 2021年12期
关键词:词形工单命名

钟爱,梁小青,肖梅,向黎藜,段凯,李竹

(国网重庆市电力公司营销服务中心,重庆 400000)

在大数据时代背景下[1],电力企业有资源更有能力利用先进技术充分挖掘文本数据价值,推进服务能力提升。电力企业在多年的客户服务过程中已经累积了大量的客户文本等服务诉求数据,主要为95598投诉意见工单数据[2],但是局限于目前人工分析的瓶颈,导致整体分析效率不高,无法全面及时地分析到位,分析深度不深,分析的广度不够,无法精准快速定位用户诉求热点,同时对95598工单的分析也是零散且成效甚微的。在目前大数据技术高速发展的背景下,对于文本等非结构化的数据已经有了成熟的机器分析技术,故已具备了相当的条件进行基于文本的结构化信息提取,并基于信息提取结果探索客户诉求热点及工单的深度分析,以有效提升分析效率,强化分析深度和广度,诉求精准管控,从而精准定位风险工单,达到投诉精准管控的目的,达到服务及分析能力智能提升的目标。

1 命名实体知识图谱梳理

1.1 命名实体知识图谱概述

命名实体知识图谱[3-7]是由投诉意见工单各业务关键点链接起来的结构化信息提取架构。通过对投诉意见工单进行结构化信息提取,可快速了解投诉用户类型、用户所在台区线路等、所属业务、投诉原因关键点等。

1.2 命名实体知识图谱梳理

95598工单的信息结构化提取具体提取什么信息需要根据实际业务情况进行梳理,每个业务模块需要关注的侧重点都不相同,所以需要结合各业务口业务经验以及业务关注点对文本中的关键信息进行梳理,本文主要针对频繁停电、电压质量、业扩报装以及营业厅四个业务模块的投诉意见工单进行信息结构化提取工作。通过梳理大量工单,结合业务专家的经验,设计基于业务主题的信息抽取框架,确定所需信息的结构化字段。

2 数据预处理

2.1 数据准备

目前线上数据主要来源于营销业务系统,主要包含如下:客户档案信息、95598投诉工单处理情况文本数据、历史95598投诉工单处理情况文本数据、95598意见工单数据等。在业务看来投诉意见工单都表示用户针对某一问题有投诉意向,需要深度挖掘,所以本次研究主要关注投诉意见工单两种类型,在95598投诉意见工单中,包含文本信息最多且最需要花费人力的为受理内容和处理内容,所以文本结构化信息的提取主要聚焦投诉意见工单的受理文本和处理文本。 针对本文模型训练缘故,需要工单的文本标注数据,主要来源于线下人工对工单处理情况的梳理数据,此部分数据仅作为模型训练使用,不影响系统运行与实施。

2.2 文本分词[8]

分词的目的是将文本根据一定的规则进行分词处理,便于提取文本的特征值,为文本提供特征值对比的词组。目前市面上有很对相对成熟的自动分词包,如jieba,HanLP等,这些包都采用基于大规模训练语料的统计方法,本文主要采用jieba分词包对文本进行分词处理。

2.3 去除余缀词汇[9]

去除余缀词汇的工作是本文预处理中必不可少的,去出余缀词汇之后可以有效减少词汇噪音,更好的保留有效文本特征,获得更好的文本特性,使得分类模型达到更高的精度。

①删除标点符号:标点符号在文本中不具有任何语义表达作用,可归类为额外信息,删除标点符号能有效减少文本数据,提升模型训练性能。

②停用词、稀缺词去除:停用词通常自身并无什么明确的意义,只有将其放入一个完整的句子中才有一定作用的词汇。所以在进行分词之后,停用词作为单独的一个词汇,并不能表达明确的意思,例如语气助词、副词、介词、连接词等;本文主要采用百度停止词汇表,并在其基础上收集投诉工单中的介词、问候语等词汇创建停用词库,根据停用词库去除投诉文本中的相应词汇,达到清洗文本的目的。稀缺词是指只存在于少数工单里的词汇。低频词汇因其稀有性,对模型性能提升极其有限,可以替换稀缺词为其他同义词以提高词频,或者直接删除以提升模型迭代效率。

③消歧转换:95598投诉意见工单内容有部分是音译文本,因此文本描述中存在的一些同音的错别字,需要对这些词汇进行消歧转换,例如:对“陪产”,“赔长”等词进行消歧处理转换,转换为“赔偿”。

④习惯用语去除:文本中类似“情况反映反映”、“客户表示满意”,是不同文本类别的通用文本,词频高但对于分类没有帮助,应当去除以便提升模型迭代效率。

2.4 词向量化[10]

词向量是自然语言处理中常见的一个操作,自然语言理解的问题要转化为机器学习的问题,需要将文字符号内容数字化,变成机器代码可识别的内容,本文主要采用TF-IDF的方式进行词向量化。

TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF的主要思想是:如果某个单词在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。

TF是词频:表示词条(关键字)在文本中出现的频率,这个数字通常会被归一化(一般是词频除以文章总词数), 以防止它偏向长的文件。

(1)

IDF是逆向文件频率:某一特定词语的IDF,可以由总文件数目除以包含该词语的文件的数目,再将得到的商取对数得到。如果包含词条t的文档越少, IDF越大,则说明词条具有很好的类别区分能力。

(2)

TF-IDF实际上是TF*IDF,某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。

TF-IDF=TF*IDF

(3)

3 结构化信息提取模型

3.1 正则表达式

正则算法,也称作正则表达式(Regular Expression)[11-13]是一种强大的、便捷的、高效的文本处理工具,它可以表示单字符、字符串集合等更加复杂的搜索模式。主要是使用单个字符串来描述、匹配一系列满足某种句法规则的字符串,正则表达式通常被用来检索、替换那些匹配某个模式的文本。

一个正则表达式RE是符号集合∑{ε,|,·,*,(,)}上的一个字符串,它可以递归定义如下:

空字符ε是正则表达式。

任意字符α∈∑是正则表达式。

如果RE1和RE2都是正则表达式,则(RE1),(RE1·RE2),(RE1|RE2)和(RE1*)亦是正则表达式。

正则表达式RE所表达的语言是∑上的一个字符串集合。根据RE的结构,可以将它递归的定义如下:

如果RE是ε,则L(RE)={ε},即空串。

如果RE是α∈∑,则L(RE)={α},即包含一个字符的单串。

如果RE是(RE1)这种形式,则L(RE)=L(RE1)。

如果RE是(RE1RE2)这种形式,则L(RE)=L(RE1)L(RE2),其中W1W2可以看字符串w的集合,其中,w=w1w2并且w1∈W1,w2∈W2。

如果RE是(RE1|RE2)这种形式,则L(RE)=L(RE1)∪L(RE2),是这两种语言的并集,“|”成为操作符。

如果RE是(RE1*)这种形式,则L(RE)=L(RE)*=Ui>0L(RE)i,其中L0={ε}并且Li=LLi-1,它表示字符串集合是由0个或者多个RE1表达的字符串连接而成,“*”称为操作符。

在文本T中搜索正则表达式RE的问题就是找到文本中所有属于语言L(RE)的字串。搜索的方法首先将正则表达式解析成一棵表达式树,然后将表达式树转换成非确定性有限自动机(NFA),直接使用NFA进行搜索是可行的,然而NFA算法处理速度通常比较慢,一般地,搜索过程最坏情况的时间复杂度是O(mm),但是所需储存空间并不多。另一种策略是将NFA变成确定性有限自动机(DFA),他的搜索时间是O(n),但是构成这样一个自动机所需的最坏情况时间和空间复杂度都是O(2m)。

非确定性有限自动机(NFA),一个字母可以标记离开状态的多条边,并且ε也可以标记一条边;这说明NFA的匹配过程面临很多的岔路,需要做出选择,一旦某条岔路失败,就需要回溯。图1是正则表达式(a|b)*abb对应的NFA,它相当直观,基本可以从正则表达式直接转换而来。

图1 正则表达式对应的NFAFig.1 NFA corresponding to regular expression

确定性有限自动机(DFA),对于每个状态以及字母表中的每个字母,只能有一条以该字母为标记的,离开该状态的边;这说明DFA的匹配过程是确定的,每个字母是需要匹配一次。与上面NFA等价的DFA如下图:

图2 与NFA等价的DFAFig.2 DFA equivalent to NFA

将NFA转化成DFA:由于NFA和DFA的能力是一样的,每个NFA必然可以转化成一个等价的DFA。既然DFA对每个输入可以到达的状态时是确定的,那么输入串s在NFA中可能达到的状态集合对应为等价DFA中某个状态。从这个思路出发,可以构造出DFA。具体步骤如下:

(1)首先NFA的初始状态0不接受ε,因此可以构造出DFA的初始状态(0);

(2)集合(0)输入a,在NFA中能够到达(0,1),于是构造出此状态,以及从(0)到(0,1)的边,标记为a;

(3)集合(0)输入b,能到达的还是(0),因此构造出从(0)到自身的一条标记为b的边;

(4)集合(0,1)输入a,能够到达的还是(0,1),与上一步类似;

(5)集合(0,1)输入b,能够给到达的是(0,2),构造状态(0,2)及相应的边;

(6)集合(0,2)输入a, 能够到达(0,1),没有新状态,添加一条边;

(7)集合(0,2)输入b,能够给达到(0,3),构造新状态(0,3);

(8)集合(0,3)输入a,能够到达(0,1),添加一条边即可;

(9)集合(0,3)输入b,能够给达到(0),添加一条边即可;

(10)没有新状态,结束。

最终得到的DFA如下,(0,3)包含了NFA的终结状态3,因此也是DFA的中介状态,对状态重新命名可以得到上面同样的DFA。

图3 将NFA转化成DFAFig.3 Convert NFA into DFA

在95598投诉意见工单文本中存在大量可由正则表达式进行抽取的关键文本信息,正则表达式在原始输入时就需要构造一个非空的初始状态,这在实际应用中可理解为正则表达式可识别的规则条件。提炼样本集中所要抽取相关信息的文本描述方式,归纳所要抽取的内容规则,并将不同信息规则具体化。以用户编号为例,用户编号由10位数字构成,且在文本中会用以下方式描述“客户编号为”,“用户编号为”、“户号为”,根据文本中提炼的规则,利用正则表达式固定化,在文本中利用相关代码去匹配需要找到的信息。台区编号、工单编号等信息可用同样的方式进行提炼归纳,并最终转化为正则表达式来抽取信息。

在受理内容和处理内容中出现的用户编号,在电力系统中是识别用户的唯一标志,有了用户编号之后,可以在相关电力系统中查询到用户的相关信息,如用户的用电类别、城农网状态、电压等级等基础信息,可将业务关注的用户基本状态进行关联展示。在每条工单数据的用户编号都成功抽取之后,就可以用用户编号回溯看该用户是否存在重复工单投诉的情况,这种类型的用户值得业务着重关注。

正则算法的信息抽取流程如图4所示:

图4 涉及编号等信息抽取流程Fig.4 Involving information extraction process such as numbering

3.2 命名实体识别模型

命名实体识别[14-28],就是识别这些实体指称的边界和类别。主要关注人名、地名和组织机构名这三类专有名词的识别方法,进而实现信息抽取[29-31]。命名实体识别可以看作一个序列化数据的标注问题。输入是带有词性标记的词序列。在分词和词性标注的基础上进行命名实体识别的过程就是对部分词语进行拆分、组合(确定实体边界)和重新分类(确定实体类别)的过程,最后输出一个最优的“词形/词性”序列WC*/TC*。计算最优“词形/词性”序列WC*/TC*的方法有三种:词形特征模型、词性特征模型和混合模型。

①词形模型

词形特征模型根据词形序列W产生候选命名实体,用Viterbi确定最优词形序列WC*。目前的大部分系统都是从这个层面来设计命名实体识别算法的。

②词性模型

词性特征模型根据词性序列T产生候选命名实体,用Viterbi确定最优词性序列TC*。目前只有较少的系统使用。

③混合模型

词形和词性混合模型是根据词形序列W和词性序列T产生候选命名实体,一体化确定最优序列WC*/TC*,即基于多特征的识别算法。

词形和词性混合的汉语命名实体识别模型结合了词形特征模型和词性特征模型的优点,可以描述成下面式子的形式:

(WC*/TC*)

=arg max(WC,TC)P(WC,TC|W,T)

=arg max(WC,TC)P(WC,TC,E,T)/P(W,T)

≈arg max(WC,TC)P(WC,W)×[P(TC,T)]β

≈arg max(WC,TC)P(WC)×P(W|WC)×[P(TC)×P(T|TC)]β

(4)

式子中的β是平衡因子,平衡词形特征和词性特征的权重,β>0。式子由四部分组成,分别称之为:词形上下文模型P(WC)、词性上下文模型P(TC)、实体词形模型P(W|WC)和实体词性模型P(T|TC)。

词形上下文模型和词性上下文模型均可采用三元语法模型近似描述:

(5)

实体模型则根据人名、普通地名和机构名、单字地名和简称机构名分别建立相应的实体模型。

人名实体模型用下式描述:

P(wwti1……wwtik|WCi)

=p(wwti1……wwtik|BEeMNe1MNe2……MNet-2ENe)

×P(wwtik|ENe,wwtik-1)

(6)

单字地名实体模型用下式描述:

(7)

引入逃逸概率计算权值,如下式所示:

=λNP(wn|w1……wn-1)+λN-1P(wn|w1……wn-1)+……+λ1P(wn)+λ1ρ0

(8)

基于多特征模型的命名实体识别方法综合运用了词形特征和词性特征的作用,针对不同实体的结构特点,分别建立实体识别模型。

命名实体识别模型信息提取流程如图5所示:

图5 命名实体识别模型信息抽取流程FIG.5 Named entity recognition model information extraction process

3.3 业务应用

(1)客户服务诉求热点信息台账展示

对结构化提取的客户诉求关键信息和分析得出的客户服务热点进行整理,针对业务人员关注的维度进行分析,形成频繁停电、电压质量、营业厅、业扩报装四类业务的客户服务诉求热点信息台账,展示95598工单关键信息结构化提取内容,精准定位客户服务热点诉求。

以营业厅业务为例,捕捉红线问题/舆情风险、原因关键点、涉及费用纠纷/不涉及费用纠纷等客户服务热点诉求,便于使用人员精准定位每张工单、每个涉及用户的服务热点诉求,具体情况可结合本地实际业务情况。

(2)客户服务诉求热点可视化展示

基于结构化的关键信息、客户本质诉求分析结果及客户信息等相关工单数据,开发设计客户服务诉求热点分析看板,提供一种非常清晰的沟通方式,使业务管理者能够更快地理解和处理他们的信息,使用机器学习技术帮助业务管理者找到任意一种查询的相关信息,从时间与空间维度分析客户诉求趋势,基于工单中投诉关键词的变化,捕捉新增的业务诉求点,实现客户投诉关键指标的展示与监控,及时抓取客户关注的热点问题,依托指标数据深入挖掘分析影响范围、存在问题和未来发展趋势,深化过程管控,提供高维的可视化效果和高效的智能分析能力,为管理层提供多元化重大决策的制定和发展方向的研判。

通过图表等形式,从供电单位、行政区域、业务类型等维度对客户服务诉求热点进行可视化展示。捕捉业务环节投诉情况,明确不同业务环节的投诉情况;明确投诉原因关键点,为做更好的服务提供支撑;定位不同区域投诉情况,精准定位各区域服务质量,更直观、更全面地管控各区域服务质量。具体展示情况可结合本地实际业务情况。

(3)针对网格的网格诉求热点可视化展示

在日常电力系统管理中,主要以供电单位以及营业所为主要管理单元,但在实际的管理中,台区化和网格化管理更为精细,将95598服务热点数据与台区数据以及网格数据相结合,从更小的单元对用户进行管理,更好地管控用户服务诉求。

4 结语

以自然语言处理技术为基础,应用大数据分析技术,分析95598投诉意见工单的“处理情况”长文本内容实现投诉类别智能分类,同时分析投诉意见工单,对业扩报装、频繁停电、电压质量、营业厅等业务的客户诉求处理进行深入分析,挖掘导致诉求产生的企业内部的管理原因,提取结构化的关键信息。通过定位分析过程中人工投入大且需要大量经验积累的关键业务点,利用机器学习技术有效替代,让机器替代人工,有效提升员工分析效率,降低基层员工工作压力,提升分析深度和广度,提升敏锐客户服务智能分析能力,同时对客户诉求进行趋势与热点分析,分析相关业务特点,从而有效提高溯源效率、解放劳动力、提升客户服务品质。主要实现以下目标:

构建投诉意见工单处理情况智能分类模型,实现投诉意见工单的智能分类,大幅提高分析精度与效率,解放劳动力。

构建基于不同业务模块的命名实体识别模型,抽取关键业务信息,实现客户本质诉求和管理缺陷的精准定位。

基于命名实体识别模型的应用,联合其他相关业务数据,挖掘客户服务需求,制订差异化服务策略,有效提升服务能力,提高用户满意度,提升企业形象。

猜你喜欢

词形工单命名
高职院校计算机类专业“工单制”教学的研究与探索
基于RPA技术的机器人在配网调度工单发布工作中的应用
命名——助力有机化学的学习
英语词形变异及其语义信息
带前置功能的词形《 в сопоставлениис 》的结构与搭配
基于分布式数据库Cedar的高效工单管理系统设计与实现
有一种男人以“暖”命名
人工智能新探索 打造银行智能工单
为一条河命名——在白河源
我是我自己的许多孩子〔外一首〕