杨志明,张征容,易亮,李宝福
(1. 云南电网有限责任公司玉溪供电局,云南 玉溪 653100;2. 云南电网有限责任公司电力科学研究院,昆明 650217)
随着电力自动化和信息化的发展,配电网设备的智能化管控、运检日渐成熟,且各地区电网公司也都初步建立起了对配电网设备进行监控和管理的信息平台,实现了对配电网设备跨专业、多场景的管控。但伴随经济社会的不断发展,现有配电网的运维管理水平难以满足用户日益增长的用电服务需求[1]。
国内外却缺少以配电网运检知识服务为角度的研究,缺少线上化、智能化、专业化的配电网运检知识服务体系。目前对于配电网运检知识服务还停留在业内教授、线下专业期刊杂志(如:电工研究)、线上电力资讯网站(如:北极星电力网)等模式。但通过业内教授、线下期刊、资讯网站等模式,配电网运检知识散布、普及度不高。
大部分配电网设备初级运检人员对配电网设备的日常维护与检修不熟悉,无法适应配电网故障场景的变化,有些甚至无从下手,且专业人员也对配电网设备的运检知识获取渠道局限、获取维度小,市面上也没有适应目前国内电力系统专业、统一、官方的具有全方面指导价值的知识体系。
配电网运检场景众多、错综复杂,且配电网运检知识渠道局限。针对上述问题,本文将以提问倾向性预测、知识库处理和相似度匹配为研究方向,基于提供配电网运检人员知识获取渠道的需求建立配电网运检知识服务模型,实现配电网运检知识问答。
本文所研究设计的配电网运检知识服务模型最终是要实现基于配电网运检知识库的问答服务,其本质是一个知识库问答(如图1所示)。知识库问答主要是通过对提出问题进行语义理解和分析,进而利用知识库进行查询、推理来得出答案。该知识库也是基于三元组的关系,所回答的答案也主要是知识库中的实体和实体关系,否则便是无答案。目前其实现的主要方法有语义解析、信息抽取和向量建模。
基于三元组的思想建立知识库,通过对配电网运检人员提出问题的语义解析和信息提取对问题-答案对进行向量建模,找出最佳答案。通过对三元组知识库、语义解析、信息抽取和向量建模等四个模块的建立,实现配电网运检知识服务模型。
知识库顾名思义便是存储一条一条知识的地方。对于配电网运检知识问答服务来说,“炉管泄露报警处理”便是一条知识,配电网运检知识库便是存储这样一条一条知识的地方。但对于计算机来说,这样的自然语言文本是不易理解和处理的,于是,为了使计算机能够更加便捷的去理解和处理,就需要将这些自然语句转化为计算机方便理解、处理的形式,三元组便是很好的一个选择。
三元组可以表示为(实体,关系,实体),其中关系可以是实体的属性,也可以是实体间的关系。例如炉管泄露报警处理便可表示为(炉管泄露报警,处理,处理知识)和(炉管泄露报警,设备的处理方式,处理知识),其中第一个三元组中的处理便是属性,第二个三元组中的设备的处理方式便是关系。对于计算机来说,这两种表示方式皆方便其理解、处理。
进一步的,如果将三元组中的实体看作一个节点,实体关系看作边,那么大量包含三元组的知识库便成为了一个知识网,如图2所示。
知识库主要涉及到实体链指和关系抽取这两大技术。其中,实体链指就是将文档里面实体的名字与知识库里面相对应的实体进行链接。它主要涉及到了自然语言处理的两个方法:实体识别与实体消歧,除了将文档中的实体识别出来,在不同环境下同一实体名称可能也会存在歧义,如线路、报警等,此时还需要根据上下文环境进行消歧。关系抽取就是将文档中的实体关系给抽取出来,主要涉及到了语义分析、依存关系树等,同时还要构建SVM、最大熵模型等分类器来进行关系分类。
图2 知识网络图示
语义解析的主体思想就是将自然语言转化为一系列形式化的逻辑形式,通过将逻辑形式进行自底向上的解析,就可以得到一种表达问题语义的逻辑形式,最后再用相应的查询语句在配电网运检知识库中进行查询,从而得出答案。
图3 语义解析图示[3]
在配电网运检知识问答服务的过程中,第一个难点就是如何将问题映射到知识库里的相关知识。语义解析在此时就是将表述问题的自然语言进行语义分析,转化成一种知识库可以理解的语义表示,再通过知识库中的知识来进行推理和查询,得出答案。简而言之,语义解析要做的事情,就是将自然语言转化成知识库可以理解的逻辑形式。如果将知识库比作数据库,逻辑形式就是sql语句。
图3示红色部分即逻辑形式,绿色部分为用自然语言提出的问题,蓝色部分为进行语义解析的相关操作,最终形成的语义解析树根节点就是语义解析的结果,通过查询语句就可以直接在配电网运检知识库中查询到最终答案。
信息抽取就是通过提取配电网运检人员问题中的实体,再在配电网运检知识库中查询以该实体节点为中心的知识库子图,同时,子图中的每一个节点或边都可以作为候选的答案,然后依据某些规则或模板对配电网运检人员问题进行信息抽取,得到问题特征向量,最终通过向量建模模块来对候选答案进行筛选,从而返回最终答案。
在信息提取方面,使用语义依存树来自然语言进行处理,提取其中的实体。主要是通过语义依存树的依存关系来推断出问题的关键实体和关键实体的属性、范围等,从而达到提取关键信息的效果,找出有利于寻找答案的问题特征,删减掉不重要的信息。
在问题特征向量方面,使用二分类的思路,训练问题-答案对数据,通过分类器的训练找到正确答案。而问题-答案对便是特征向量的实质,特征向量中的每一维便对应一个问题-候选答案特征。每一个问题-候选答案特征都由问题特征中的一个特征,和候选答案特征的一个特征,组合而成。
向量建模的思想基于信息抽取模块,根据问题得出候选答案,把问题和候选答案映射为分布式表达,再通过训练使得问题和正确答案的向量表达尽可能的准确。模型训练完成后则可根据候选答案的向量表达和问题表达的得分进行筛选,得出最终答案。
在问题的分布式表达方面,首先把自然语言问题进行向量化,将输入空间的维度N设置为字典的大小+知识库实体数目+知识库实体关系数目,对于输入向量每一维的值设置为该维所代表的单词在问题中出现的次数。那么,如果用q代表问题,用φ(q)代表N维的问题向量,用矩阵W将N维的问题向量映射到k维的低维空间,那么问题的分布式表达即:
在答案的分布式表达方面,与问题的分布式表达相同,如果用a表示答案,用φ(a)代表答案的输入向量,用矩阵W将N维的问题向量映射到k维的低维空间,那么答案的分布式表达即:
最后,在向量得分方面,希望问题和它所对应的正确答案得分尽量高,通过比较每个候选答案的得分,选出最高的,作为正确答案。那么得分函数便可定义为二者分布式表达的点乘,即:
图4 电网运检知识服务模型实现流程
在对大量的研究成果、问答系统常用实现方法进行研究后,本文所设计的配电网运检知识服务模型将采用基于知识库的问答思路并作出改进,参考信息抽取(Information Extraction)的思路,实现配电网运检知识问答服务。在实验阶段先将北极星电力网(http://www.bjx.com.cn/)中运检知识手动进行挑选、并处理为问题+答案的内容作为知识库并进行相关处理,随后,对配电网运检人员提出的问题进行关键词提取,再通过编辑距离算法(Levenshtein Distance)对配电网运检人员提出问题和知识库中的问题进行字符串匹配,找到相似度最高的知识库问题,返回其对应的答案,最后通过多次问答的积累,基于提问倾向性预测,提升配电网运检知识服务模型的准确度。其实现流程如图4所示。
配电网运检知识服务模型中关键词的提取主要是基于TF-IDF算法,TF-IDF即词频(TF)和逆文档频率(IDF),通过在文本中关键词出现的频率的基础上对每个词赋予一个重要性的权重,对较常见的词分配较小的权重,不常见的词分配较大的权重,从一定程度上保证最终找到的关键词不受常见词干扰,这个权重就是逆文档频率。记某个词在文本中出现的次数为i,文本的总词数为I,配电网运检知识库中的文档总数为W,配电网运检知识库中包含该词的文档数为W(i),则TF-IDF计算方法如下:
TF-IDF与一个词在文本中出现的次数成正比,与该词在整个配电网运检知识库环境出现的次数成反比,它能有效的反映出一段文本中的关键词。配电网运检知识服务模型将采用TFIDF值最高的三个关键词与知识库中的问题和答案进行匹配。
配电网运检知识服务模型主要基于编辑距离算法(Levenshtein Distance)进行改进来实现提问关键词与配电网运检知识库中问题的匹配。编辑距离算法,是指在两个字符串之间,将其中一个字符串转变为另一个字符串所需要的最少编辑的操作次数,其中许可的编辑操作包括替换字符,插入字符和删除字符,一般来说,编辑距离越小,相似度就越大。
以中文语句举例来表示编辑操作:根据配电网运检人员提出问题所提取出来的关键词组“炉管,泄露,报警”与“炉管泄露报警处理方式”就需要两次删除“,”的操作和分别四次加入“处”、“理”、“方”、“式”的操作,共6次操作,其编辑距离为6;若关键词组为“炉管,泄露”就需要一次删除“,”的操作和分别6次加入“报”、“警”、“处”、“理”、“方”、“式”的操作,共7次操作,其编辑距离为7。此时第一个的编辑距离比第二个的编辑距离低,同时也能很明显的看出第一个关键词组和配电网运检知识库问题的相似度比第二个关键词组的高。
s为编辑距离,两个字符串长度分别为L(a),L(b)。一般来说,根据编辑距离的相似度算法如下所示。
但上述算法还是不够简洁、轻便,从上式来看,相似度是由完全长度范围减去编辑距离所占的长度范围,那便可直接引入非编辑距离,即无需变动的字符串长度。记非编辑距离为S,此时的相似度算法为:
基于上述相似度算法,将相似度最高的配电网运检知识问题所对应的答案返回,得出配电网运检人员提问的最终答案。
无论是对某种设备类别的运检知识倾向,还是对某种故障类别的运检知识倾向,皆表明了配电网运检人员最有可能想要提出的问题方向,为了提升配电网运检知识问答服务的效率和准确度,基于SnowNIP算法的思路,对配电网运检人员的提问进行情感倾向性的分析。通过提问倾向性预测的建立,可在配电网运检人员提问时首先对配电网运检人员的提问倾向进行预测,将倾向性高的配电网运检知识问题优先匹配,进而提升配电网运检知识问答服务的效率和准确度。
首先建立贝叶斯模型,将配电网运检人员每次提出的问题作为训练数据进行分词和停词处理来统计词频,进而形成一个正面词(词频高的词)字典和一个负面词(词频低的词)字典,最后再利用贝叶斯模型进行提问倾向性预测。
提问倾向性预测实现流程如图5所示。
图5 提问倾向性预测实现流程
2.3.1 贝叶斯模型
在配电网运检知识问答服务的提问倾向性预测中,情感分类的基本模型便是贝叶斯模型,贝叶斯模型都是利用条件概率来进行提问倾向分类的。例如,有一个问题需要判断是日常运维还是故障修理,该问题提取出三个关键词,若将运检类别记为X(i),三个关键词分别记为a、b、c,则需要分别求解这三个关键词属于每个运检类别的条件概率,其算法如下所示。
由于特征之间是相互独立的,所以:P(a,b,c│X(i))=P(a│X(i))P(b│X(i))P(c│X(i))
此时,X(i)便是提问倾向类别。在配电网运检知识服务模型中,基于贝叶斯模型将提问倾向分为两个类别,一类是正面词,一类是负面词,即X(i)中的i=2。
2.3.2 朴素贝叶斯预测
朴素贝叶斯中的朴素是指特征条件独立假设,贝叶斯则是指贝叶斯定理。贝叶斯定理中最为重要的先验概率(prior probability)和后验概率的概念便能很好的应用在提问倾向性的分析中。其中,事情还没有发生,要求这件事情发生的可能性大小是先验概率;若是事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小,是后验概率[5]。朴素贝叶斯预测,便是根据正面词库的先验概率判断配电网运检人员的提问倾向。若记正面词库的先验概率为P(pos),当前要判断倾向的句子是x,它由关键词组[a,b,c]组成,其算法如下所示。
由上式可知,当配电网运检人员提出问题时,若是其关键词在正面词库的概率越大,便可优先检索正面词库里的配电网运检知识。
使用30组模型返回答案-常规答案实例对配电网运检知识服务模型进行查全率(Recall)和查准率(Precision)计算,其中常规答案是指配电网专业运检人员在运检日常中碰到问题时会找的答案。一般来说,查准率和查全率这两个指标相互矛盾,当查准率高的时候,查全率低;查全率高时,查准率低,所以将运用F1度量最终判断配电网运检知识服务模型的性能。但由于配电网运检知识服务模型的应用环境,查准率与查全率这两个指标并不矛盾,皆是越高模型实现效果越好,故此处对两者进行点乘处理,结果越接近1,模型实现效果越好。模型返回答案-常规答案实例如表1所示,30组测试实例情况统计表如表2所示。
表1 模型返回答案-常规答案实例(节选)
表2 30组测试实例情况统计表
根据这30组测试实例情况统计结果,对配电网运检知识服务模型进行查全率计算:
对配电网运检知识进行查准率计算:
对查全率与查准率进行综合分析,得出综合评价分数G:
基于这30组测试实例,总的来看本文所设计的配电网运检知识服务模型实现效果良好。但从性能来看,该配电网运检知识服务模型基于对配电网运检知识库的遍历检索,虽然对配电网运检知识库进行了三元组处理和答案提炼成问题的处理方式,但实现问答匹配的方法效率较低,还有改进和发展的空间。
经过对配电网运检知识服务模型设计的深入思考,结合国内外研究现状,认为谷歌的PageRank算法思路可以有效的提高现有配电网运检知识服务模型的问答匹配效率和准确率。
PageRank算法总的来说就是预先给每个配电网运检知识库中的知识一个PR值(PageRank值),由于PR值物理意义上为一条知识被返回的概率,所以一般是其中N为配电网运检知识库中知识的总数。预先给定PR值后,再通过特定的算法不断迭代训练,直至达到每一条知识的PR值平稳分布为止。进而通过PR值的大小来决定配电网运检知识库中每条知识匹配的优先级,PR值越高则优先级越高。
可将配电网运检知识服务模型中现有的提问倾向性预测方法与PageRank算法进行有效结合,进而提升配电网运检知识服务模型的效率与准确率。
本文从配电网运检知识服务模型相关技术及文献研究开始,找到并深入研究了几个配电网运检知识服务模型的设计与实现方向,最终确定了将运检知识手动进行挑选、并处理为问题+答案的内容作为知识库;对配电网运检人员提出的问题进行关键词提取;通过编辑距离算法(Levenshtein Distance)对配电网运检人员提出问题和知识库中的问题进行字符串匹配,找到相似度最高的知识库问题,返回其对应的答案;通过多次问答的积累,基于提问倾向性预测,提升配电网运检知识服务模型的效率及准确度的设计路线。最终实现了基于配电网运检知识服务模型的配电网运检知识问答服务。本模型的设计也对配电网运检服务提供出了知识服务的思路。同时,本模型的设计同样适用于其他领域知识问答服务,通过本文设计思路,让知识问答简单、明了。