信息技术(IT)运维服务台作为企业IT运维管理的一个重要部分,负责与用户进行交互,识别用户的需求,根据用户的需求形成相应的解决方案或是分派给相关专家提供进一步的技术支持.基于人工的服务台形式是劳动密集型的,客服人员须要重复处理大量类似的事件,用户的请求通常无法得到实时的响应.将机器学习等智能化技术应用于IT运维服务台可以提升企业运维服务的水平和效率[1].目前关于智能化IT运维服务台的研究大多集中在相似工单推荐[2-3]和工单分派[4-5]这两个方向,然而这两项任务都不能应对知识推理、多轮问询等复杂的应用需求.因此须要对用户描述需求的非结构化文本进行更细粒度的自然语言理解(NLU),NLU通常包含意图识别和实体槽位识别两个子任务[6].本研究重点关注IT运维领域下的实体槽位识别任务,例如,须要从来自用户的“总部大楼报告厅安装OA系统”这句话中提取到楼栋信息“总部大楼”、房间信息“报告厅”和软件信息“OA系统”.IT运维服务台根据识别出的实体信息,结合意图识别等相关工作得到的语义解析结果,从而进行决策和响应.在自然语言处理领域,实体槽位识别特指应用于问答系统的自然语言理解模块下的命名实体识别(NER)任务[7].实体可以分为通用词和特定领域词两类,命名实体识别是指将文本中的实体定位和分类为预定义的实体范畴的过程.命名实体识别技术的发展主要经历了基于规则的方法、无监督学习方法、基于特征的监督学习方法和深度学习方法四个阶段[8].其中基于深度学习的方法实现了完全端到端的训练和识别模式,是现在的主流方法.目前命名实体识别的主要研究方向有输入特征的设计、训练数据的获取和标注、模型的构建及模型的可解释性研究.文献[9]通过实体触发器增强了基于深度学习的命名实体识别模型的可解释性,但是需要额外的监督标签.文献[10]则是通过基于迁移学习的ALBERT作为字符嵌入模型,从而解决军事领域标注数据缺失的问题.文献[11]提出一种基于语义的农业实体半自动标注方法,并通过BiLSTM_CRF识别农业实体.文献[12]提出一种动态融合分词边界信息的方法,提高了模型识别性能.在IT运维领域需求文本包含的实体中,既存在例如人名、地名等通用实体,也包括设备、软件等领域实体.其中通用词的识别在学术界和工业界都有了非常丰富的研究成果,而IT运维领域实体槽位识别存在如下问题及特点:a.目前暂无公开的IT运维领域数据集,数据的获取和标注都需要很高的人力成本;b.同一实体具有不同的写法,例如“办公自动化系统”也叫“OA系统”,“windows”有时会被简称为“win”;c.在中文语境下往往存在很多英文或是中英文混合型实体,例如“Google浏览器”和“excel”等,须要构建专业的领域词典来辅助下游任务.针对IT运维领域实体识别问题,文献[13]构建了一个基于知识元的上下文消歧模块,用来消除用户问题中的歧义问题.文献[14]面向IT运维领域知识图谱构建,重点研究了如何识别软件及其对应版本,并进行实体连接.本研究提出一种基于字词融合特征的BERT_Word2vec_BiLSTM_CRF(BWBC)深度学习模型来对IT运维领域的命名实体进行识别.采用BERT进行字嵌入,采用Word2vec进行词嵌入,将两者进行拼接得到文本的字词融合特征,然后通过BiLSTM进行上下文编码,通过条件随机场(CRF)进行标签的解码.此外,考虑到工业界IT运维领域训练数据的获取和标注困难的问题,以及IT运维领域词带来的分词问题,提出两种数据增强方法,分别用来增强命名实体识别模型的训练数据集和Word2vec模型的预训练数据集.实验证明:对比该领域的其他常见模型,基于数据增强和字词融合特征的实体槽位识别模型对识别性能有一定提高.1 IT运维领域实体槽位识别方法1.1 问题描述在IT运维服务中,需求文本是指用户向服务台描述服务需求的文字或语言,可以表示为T={x1,x2,⋯,xL},其中:xi为文本中的第i个切分单元(可以是字或者词);L为文本的长度.实体槽位识别将输出一系列三元组〈Is,Ie,t〉,其中:Is∈[1,L],Ie∈[1,L],分别为实体的起始和结束位置;t为实体的类型.图1通过一个实例来解释以上概念.10.13245/j.hust.221112.F001图1实体槽位识别问题描述实例本研究采用X-Tag的方法对数据进行标记,其中X为B或I,B标记实体片段的开始,I标记实体片段的剩下部分,Tag为该实体片段的类型.非实体部分用O来进行标记.1.2 数据增强深度学习虽然促进了人工智能领域的迅速发展,但是模型的识别效果极大依赖于训练数据的质量和数量.由于IT运维具有极强的领域性和专业性,数据的获取和标注都需要很高的人力成本,因此本研究通过数据增强技术分别扩展实体槽位识别模型的训练数据[15].此外,本研究在通用的分词工具中加入了自定义的领域词典,为了得到完整的词向量映射表,对Word2vec模型的预训练数据也进行了扩展.1.2.1 实体槽位识别模型训练数据增强本研究采用同义词替换、实体替换和片段交换这三种规则来增强实体槽位识别模型的训练数据,定义如下.a.同义词替换:通过构建的同义词表对句子中的词语进行替换.b.实体替换:将句子中的某个实体通过相同类型的实体替换掉.c.片段交换:根据标点符号或是语义将句子中的片段进行交换.对于一个句子随机采用其中一项规则来进行增强,而对于句子中的每一个词,则是通过二项分布来决定是否被替换的.表1展示了分别通过三种规则进行数据增强的示例.10.13245/j.hust.221112.T001表1实体槽位识别数据增强示例规则原句扩展句同义词替换电脑无法开机电脑开不了机实体替换送一个鼠标过来送一个键盘过来片段交换A102,昨天下午,打印机坏了昨天下午,A102,打印机坏了1.2.2 Word2vec模型预训练数据增强Word2vec是一种无监督的神经网络模型,可以将训练语料库中的每一个词映射为一个稠密的向量表示[16],因此在训练该模型之前须要对文本进行分词,分词的结果影响着最终训练出来的模型的词库.本研究通过开源的jieba工具对文本进行分词,由于IT运维中存在许多领域词,通用的分词工具无法对其识别,因此本研究采用一种通用的无监督新词发现算法来生产领域词典,并加入到jieba的自定义词典当中用来优化分词.在生成的IT运维领域词典中,存在很多由多个词语组合而成的短语,为了得到完整的词向量映射表,本研究对短语进行进一步切分,将同一个句子所有可能的分词结果扩展为多条数据.假设在领域词典中存在“信息门户系统”、“信息门户”和“门户系统”这三个领域词,则“升级信息门户系统”这句话就存在如表2所示的四种分词结果.10.13245/j.hust.221112.T002表2Word2vec数据增强示例来源实例原句升级信息门户系统扩展句1升级/信息门户系统扩展句2升级/信息门户/系统扩展句3升级/信息/门户系统扩展句4升级/信息/门户/系统1.3 模型框架由于基于字级表示的实体槽位识别模型没有充分利用词语信息,因此本研究在BERT字嵌入的基础上融入Word2vec得到的词嵌入.然后通过BiLSTM模型进行上下文编码,通过CRF模型进行标签解码.本研究所设计的实体槽位识别模型如图2所示.10.13245/j.hust.221112.F002图2实体槽位识别模型图1.3.1 嵌入层在实体槽位识别中,常见的文本嵌入形式是以字为单位的,但对于中文,词语往往更能表达语义信息,因此本研究在字嵌入的基础上融入了词嵌入,作为模型的输入表示.Google在2018年公开了基于Transformer的BERT模型,通过自注意力机制和自掩码训练的方式,可以生成深度的双向语言表征,在多种自然语言处理任务中都取得了飞跃性的提升.同时Google还提供了多种BERT预训练模型,只须要在下游任务中进行微调便可取得不错的效果[17].这种迁移学习能力可以较好解决IT运维领域数据量少的问题.本研究采用Google提供的中文BERT预训练模型.首先通过WordPiece方法对文本进行切分,并在句子的头尾分别加入特殊标记[CLS]和[SEP].假设输入文本的切分序列为Sc={cCLS,c1,⋯,cm,cSEP},其中:ci为第i个被切分出来的字;m为序列的长度.通过BERT得到的字嵌入结果Lc={vCLSc,v1c,⋯,vmc,vSEPc},其中第i个字ci的字嵌入向量vic可以表示为vic=Etoken(ci)⊕Eseg(ci)⊕Epos(ci),式中:Etoken为字嵌入;Eseg为分割嵌入;Epos为位置嵌入;⊕表示向量拼接.本研究通过加入了领域词典的通用分词器对文本进行切分,然后采用预训练的Word2vec模型得到每个词得静态词嵌入.假设分词得到的序列为Sw={w1,w2,⋯,wn},其中:wi为第i个被切分出来的词;n为序列的长度.则第i个单词wi的词嵌入向量viw可以表示为viw=ev×d(wi),式中:ev×d为使用Word2vec得到得词向量映射;v为词汇表的大小;d为向量维度.输入序列的词向量可表示为Lw={v1w,v2w,⋯,vnw}.将由BERT得到的字向量表示和Word2vec得到的词向量表示通过图3所示的方法拼接起来,即把每一个字所对应的词嵌入向量表示拼接在该字所对应的字嵌入向量表示之后,具体公式为vi=vic⊕viw,式中vi为第i个字的最终输入向量.10.13245/j.hust.221112.F003图3字词融合示意图1.3.2 上下文编码层长短时记忆(LSTM)网络是循环神经网络(RNN)的一种变体,通过加入输入门、遗忘门和输出门来解决RNN梯度爆炸和梯度消失的问题.对于序列标注任务,由于当前位置前后的信息是同等重要的,因此本研究通过BiLSTM来对上下文进行特征提取,模型结构如图4所示.10.13245/j.hust.221112.F004图4BiLSTM模型结构给定输入序列的嵌入表示为L={vCLS,v1,⋯,vm,vSEP},则由BiLSTM得到的输入序列第i个元素的隐藏层状态hi可以通过计算得到,即hif=MLSTMf(vi,hi-1f);hib=MLSTMb(vi,hi+1b);hi=hif⊕hib,式中:hif和hib分别为输入序列第i个元素的前向和后向隐藏状态;MLSTMf为前向LSTM模型;MLSTMb为后向LSTM模型.1.3.3 标签解码层BiLSTM只考虑了句子的上下文信息,没有考虑标签之间的约束关系,而CRF可以通过学习标签之间的相邻关系来保证标签的有效性,因此文本用CRF来对编码向量进行解码,得到最终的序列标签.假设长度为L的输入序列X={x1,x2,⋯,xL},实体的标签序列Y={y1,y2,⋯,yL},则标签序列的得分可以表示为s(X,Y)=∑i=1L(Ayi-1,yi+Pi,yi),式中:Ayi-1,yi为标签yi-1转移到标签yi的概率;Pi,yi为输入序列中第i个元素对应标签yi的概率.标签序列Y的概率可以表示为p(Y|X)=es(X,Y)/∑y*∈Y*es(X,y*),式中:Y*为所有可能的标签序列集合;y*为集合中的一条标签序列.CRF模型训练所用的损失函数定义为Lner=-ln p(Y|X).2 实验结果与分析2.1 数据集实验数据来自某企业在实际IT运维服务中产生的需求描述.原始数据共7 055条,按照8︰1︰1的比例划分为训练集、验证集和测试集,其中训练集通过实体槽位识别数据增强的方法进行扩展,测试集和验证集保持不变,增强前和增强后的数据量如表3所示.增强前后各类实体分布及示例如表4所示,共7类实体.10.13245/j.hust.221112.T003表3数据集增强前后的数据量训练集验证集测试集总数增强前5 6437067067 055增强后7 4917067068 90310.13245/j.hust.221112.T004表4增强前后各实体数量分布实体增强前增强后示例设备1 1691 610电脑,打印机软件2 5623 610Win10,OA系统故障现象1 0011 190蓝屏,卡顿人员6 301 131张三,李四区域322489老厂,科技园楼7151 146A8,总部大楼房间1 0011 580301室,报告厅由表4可以看出:软件类实体出现的概率最大,而软件类实体也是IT运维领域最特殊最复杂的一类实体.2.2 评价指标本研究采用精确匹配的方法来评估实验结果,即预测的实体边界和实体类型都能匹配真实值才认为该实体被正确识别.具体用精确率P、召回率R及两者的综合评价指标F1来进行衡量,计算公式为P=(ncor/nrec)×100%;R=(ncor/nall)×100%;F1=2PR/(P+R),式中:ncor为识别正确的实体数;nrec为识别出的实体数;nall为样本中的总实体数.2.3 实验设置本研究在操作系统为CentOS 7.3,显卡为NVIDIA T4,内存为15 GiB的服务器上进行实验.模型的搭建使用Keras深度学习框架,每条输入序列的填充长度为50,训练使用的优化算法为Adam,训练批次大小为32,Word2vec得到的词嵌入维度为100,BiLSTM每层隐藏神经元个数为128,Doupout层的随机丢失比例为0.5,BERT的编码层个数为12,隐藏单元个数为768,自注意力头部个数为12,BERT学习率为1×10-5.2.4 实验对比为验证字词融合特征对实体槽位识别模型的影响,对比了以下四种模型.a.BiLSTM_CRF(BC):基于字嵌入,字嵌入层为初始化矩阵参数,该模型为基线模型.b.Word2vec_BiLSTM_CRF(WBC):基于词嵌入,词嵌入层采用的是Word2vec预训练参数.c.BERT_BiLSTM_CRF(BBC):基于字嵌入,字嵌入层采用的是BERT预训练模型.d.BERT_Word2vec_BiLSTM_CRF(BWBC):基于字词融合嵌入,其中字嵌入层采用的是BERT预训练模型,词嵌入层采用的是Word2vec预训练参数.此外,实验还对比了四种模型在数据增强前及数据增强后的数据集上的识别结果,以验证数据增强对模型识别性能的影响,表5为具体识别结果.10.13245/j.hust.221112.T005表5四种模型在数据集上的识别结果模型增强前增强后PRF1PRF1BC79.3066.4872.3378.4875.0076.70WBC82.4976.0279.1283.3080.3081.78BBC85.0788.3486.6891.2390.1690.69BWBC88.1588.7488.4591.6693.0192.33%通过表5的实验结果,可以得到如下结论.a.无论是在增强前的数据还是增强后的数据上进行实验,在基线模型BC上加入Word2vec或BERT都可以显著提升模型的识别能力,其中,BBC模型的提升效果最明显,F1达到了90.69%,可以证明BERT预训练模型在IT运维领域实体槽位识别任务中可以取得较好的学习性能.此外,本研究提出的基于字词融合特征的BWBC模型进一步提升了BBC模型的P,R和F1,融合字词特征的方法可以在基于字嵌入的BERT模型的基础上进一步提升实体槽位识别的结果.由表5中第一行数据还可以看出:BC模型在增强后数据集上得到的精确率有所下降,这是因为通过数据增强,文本中每个片段被识别为实体的可能性增大,而以字为单位嵌入的模型缺少词边界,被识别为实体的片段不成词的可能性比较大.通过精确率计算公式可以推断,识别出的实体数增长超过识别正确的实体数增长,因此识别精确率下降.b.从表5中BWBC模型在增强前后的数据集上的实验结果可知:增强后实体槽位识别结果的P,R和F1都有一定提高,其中F1达到了92.33%,而且除了BWBC模型,在其他模型上的实验结果也均有提升.由此可知,本研究所提出的实体槽位识别数据增强方法可以显著提高实体槽位识别的结果.表6为BWBC模型对每一类实体的预测结果.实验表明:本研究提出的基于数据增强和字词融合特征的实体槽位识别在通用实体和领域实体上都取得了较优的结果.10.13245/j.hust.221112.T006表6BWBC实体槽位识别预测结果实体PRF1设备91.6892.6292.15软件92.8093.1492.97故障现象90.8892.7691.81人员91.0892.8291.94区域91.6293.0592.33楼91.7193.2692.48房间91.9793.1492.55%
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读