张全,赵郭燚,苏媛,朱元极,任海洋
(国家电网有限公司客户服务中心,天津 300309)
在实际电力调度过程中,文本的多样性、相似性、冗余性等原因,使得这些文本的使用不够充分。因此,对文本语义进行识别是十分必要的。文献[1]提出了基于依存句法分析的语义识别方法;文献[2]提出了融合外部语义知识的识别方法。电力调度过程中存在大量重复性电力文本,导致上述两种方法无法准确衡量语义信息。为此,结合语言表示模型Bert和自动机器学习法AutoML 识别电力文本语义。
Bert 是一种自然语言表达模式,用于编码自然语言。而改进Bert 的功能是把输入的文字转化成一套代表矢量,每一个代表矢量都与输入文本的各个切分单元(词或字)相对应,而每一个矢量都整合了文字的全局信息[3]。
在电力文本语句中,为了防止因分词误差而影响到特征抽取的准确性,电力文本语句采用基于词块的粒度划分方式[4]。在图1 中,通过改进Bert 的语言表达模式产生每个单词的语义特征矢量。
图1 改进Bert语义特征表示模型结构
将分割后的文本按不同的特征类型分别用一个特征矢量来表示,在两种编码器中分别输入全部综合特征矢量[5]。每一个编码器都有一个6 层内部网络,由第二个编码器输出文本表示向量。在改进Bert 语义特征表示模型中,对输入的切分单元依次提取字粒度,可表示为:将一个电力文本转化为维度向量,该向量表征语义特征。根据电力系统专业名词术语划分语义特征,为模型构建提供语义支持[6-7]。
在电力调度的命名实体中,绝大部分不是中文词汇。因此,在电力调度文本数据库中,这些被命名的实体出现频率非常低,并且可以利用的文体十分有限,难以准确识别已有的名称实体[8]。因此,需要引入电力信息,构建电力文本语义识别模型。
对于电力文本中的每个语义,选择包含该语义的所有长度语义序列,计算语义序列与命名实体数据库中语义的相似度,公式为:
式中,L表示语义序列长度;sim0(i)表示第i个语义与命名实体数据库中第i个语义的相似度[9]。语义相似度判断公式为:
当满足式(2)时,说明两个语义等价;反之,则不等价,两个语义相似度对称。根据相似度计算结果,形成调度信息中各个语义的命名数据库特征。对于每个语义,设有多个对应的语义序列,由此构建的电力文本语义识别模型,如下所示:
式中,n表示相似度最高关键语义编号;m表示关键语义总数;r表示维度;d表示关键语义特征向量维数[10];g∙sim(t)表示错误识别概率。根据最大概率原则进行文本聚类,公式为:
式中,ci表示第i个潜在语义主体类别Qi。当匹配结果和数据库中语义一致时,概率为0;反之,当匹配结果和数据库中语义不一致时,概率为1。通过确定概率数值,得到匹配结果,为语义识别提供精准语义。
利用改进AutoML 自动机器学习法识别输入到模型中的文本语义,获取模型输出的语义特征向量[11-12]。使用自动机器学习法训练文本输入,过程为:
步骤1:假设原始文本序列为x1,x2,…,xn,掩码后的序列为,电力文本语义识别模型中输入的训练文本可表示为。其中,[S]表示被掩盖字符的总数量[13]。假设电力文本语义识别模型每次训练输入样本长度为L,如果文本序列长度小于L-2,则需要进行补齐,补齐操作标记为[P],由此得到的训练文本输入如下所示:
如果文本序列长度大于L-2,则将文本截断到L-2 处,再重新输入[14]。
步骤2:所获取的输入向量和预先设定的电力文本库中向量,通过自动机器学习法进行匹配度计算,公式为:
式中,Tj表示第j个输入向量与文本库向量匹配特征;wj表示匹配权值;m(Tj)表示匹配结果。
当电力文本库中的语义特征矢量大于匹配度判定阈值时,将其对应的结果作为输出信息;当电力文本库中的语义特征矢量小于匹配度判定阈值时,根据已丢失的语义矢量信息,返回引导信息,并在使用者补充该信息后,依据使用者的补充信息将顺序匹配算法步骤,重复进行[15]。
步骤3:在掩码训练过程中,通常采用传统的单个字符掩码方式,在此情况下预先训练的模型会基于前、后两个字符的推测,从而弱化对整个文本的理解能力[16]。若想改善训练效果,必须要把掩盖的内容与背景相联系,避免重复文本影响识别结果。基于自动机器学习法的字符掩码训练策略如图2 所示。
图2 字符掩码训练策略
该策略无须关注其他语义成分,避免陷入局部最优。
步骤4:保存使用者的输入和辅助信息,对于待判断的文本语义中,构造一个语句对,将其作为电力文本语义识别模型的输入,并将模型中最后一层标志所对应的文本语义向量作为文本的最终语义识别结果。
电力系统通过使用操作技术构建一个电网运行轨迹模型,依据描绘的轨迹和预测的风险,判断电力系统是否发生大扰动问题。如果发生,则需采取紧急控制电网稳定措施;如果没有发生,则需判断电网运行轨迹是否正常。如果正常,则需直接采取相应控制措施;如果不正常,则需采取综合辅助措施,为调度员人工决策提供决策建议和轨迹指标信息。最后由调度员手动修正轨迹,产生大量电力调度文本。
为了方便实验进行,需要对文本集进行处理。以电力调度过程中发出的告警文本信息为例,告警记录为:“监控系统发出110 kV 的308 线路危险报警信号,待维护检查后再汇报。308 线路上开关保护装置运行指示灯熄灭,待处理,已汇报检修人员张*”,对上述文本信息进行训练,如图3 所示。
图3 告警记录文本语义训练
由图3 获取的文本语义训练结果为:E-ALARM监控系统A_ORGANIZATION 监控系统O AD N/Y;110KV A_EQUIPMENT NR DEVICE 308 线路危险报警O NN N/Y 报警信号;待维护O NN N/Y 检查后O V N/Y 再汇报O NN N/Y;O PU PUNCTUATION,308线路上开关A_EQUIPMENT NR DEVICE 保护装置A_EQUIPMENT NR DEVICE 运行指示灯A_EQUIPMENT NR DEVICE 熄灭O NN N/Y;待处理O NN N/Y;O PU PUNCTUATION,已汇报O V N/Y 检修O NN N/Y 人员张* A_PERSON NR PERSON O PU PUNCTUATION。
经过语义标签分解处理后,得到的分解标注形式如下所示:
S_PROBLEM(问题)监控系统发出110KV 的308线路危险报警信号
S_PHENOMENON(现象)308 线路上开关保护装置运行指示灯熄灭
S_OPERATION(操作)待维护检查后再汇报
S_NOTICE(通知)汇报检修人员张*
将分解标注结果作为依据,提取可识别目标信息,获取结构化解析结果,如图4 所示。
图4 理想文本语义识别结果
由图4 可得到理想文本语义识别结果,将此作为实验标准。
对于待识别的文本,分别使用基于依存句法分析的语义识别方法、融合外部语义知识的识别方法和基于改进Bert-AutoML 的语义识别算法,对比分析识别结果,如图5 所示。
图5 三种方法语义识别结果对比分析
由图5 可知,使用基于依存句法分析的语义识别方法、融合外部语义知识的识别方法,识别的结果以短文本形式,并不存在明显段落结构,说明使用这两种方法对文本自身的语法结构并不敏感,形式臃肿,不简洁;而使用基于改进Bert-AutoML 的语义识别算法,以方便存储的段落-结构展现,存在明显段落结构,排列整齐且简洁。
通过对电力文本的分析,结合改进Bert、AutoML算法构建电力文本语义识别模型,解析电力文本语义,并进行了实验验证。通过实验证实了所研究算法,能够精准识别语义,下一步将进一步扩展电网中的文本词汇,提高未收录文字的适应性。