2. 中国科学院大学, 北京 100049;
3. 辽宁省智能电网云计算专业技术创新中心, 沈阳 110168
2. University of Chinese Academy of Sciences, Beijing 100049, China;
3. Liaoning Smart Grid Cloud Computing Technology Innovation Center, Shenyang 110168, China
随着电力资源的需求不断增加, 电网数据也在不断增多, 电力行业面对着前所未有的压力, 电网智能化随之到来. 电力行业中配电调度保证了电力设备的安全运行, 其中检修计划信息的准确性对配电调度来说至关重要. 尽管已经建立了调度运行管理系统, 但仍然存在准确性不高、针对性不强等问题[1]. 构建配电网知识图谱能够辅助工作人员完成配电调度工作, 对校验电力系统电子图模起到了关键作用. 而检修计划的内容大多为非结构化数据, 所以需要通过命名实体识别来从非结构化文本中识别出特定类别的命名实体, 从而支持后续构建知识图谱等任务.
命名实体识别, 是将文本中命名实体定位并分类成预先定义的类别, 在一些通用领域中已经取得了优秀的成果, 但在配电调度领域, 命名实体识别的相关研究比较欠缺. 检修计划的内容为人工编写, 文本数据内容缺乏规律性, 且配电相关专业名词、设备名称、设备分支等十分繁复. 例如, “生产工程: 一组电容器、二组电容器保护安装调试”其中包括配电调度的工程类型、设备名称、操作位置及相关操作等, 此外不同设备操作之间也会存在某些关联. 因此, 面向配电数据的命名实体识别技术的研究具有挑战性和必要性. 配电数据命名实体识别是电力业务知识问答系统、构建电力领域知识图谱等应用的基础任务, 也是广大学者研究的热点内容.
传统的采用规则模板和统计机器学习方法的命名实体识别技术, 虽然有一定的效果, 但泛化能力较弱, 且往往需要耗费大量的人力. 而深度学习方法不需要大量的人工构造特征就可以取得不错的成果. 所以本文依据某省多个地区配电网检修计划的文本数据, 采用深度学习模型: BERT-IDCNN-BiLSTM -CRF实现检修计划数据的命名实体识别, 为之后的构建知识图谱等任务奠定基础.
1 相关工作早期命名实体识别主要采用的是基于词典和规则的方法, 即根据文本特点通过人工编写规则和模板的方式进行抽取. Rau[2]首次提出将人工编写的规则与启发式相结合, 实现了从文本中自动抽取公司名称类型的命名实体. Riaz[3]提出了一种基于规则的 Urdu NER 算法. 这种算法在特定的语料上能够有很好的识别效果, 且其性能优于统计学习方法. 基于词典和规则方法使用简单, 结果准确率比较高. 但是建立规则库和词典需要大量的时间和人力, 无法适应数据变化情况. 针对这些问题, 基于统计机器学习的命名实体识别技术被提出.
基于统计机器学习方法中, 命名实体识别被当作序列标注问题, 通过对已标注的训练集进行学习从而构建模型, 再根据模型对文本中的词进行标注, 实现命名实体识别. 基于统计机器学习的方法主要有隐马尔可夫模型(hidden Markov model, HMM)、条件随机场(conditional random fields, CRF)等[4,5]. Zhou等人[6]通过HMM和基于HMM的实体识别器, 对生物学文本数据进行处理识别, 并通过KNN 算法解决数据稀疏的问题. 但是基于统计机器学习算法需要人工构造特征, 所以一般只用在少量标注的数据集当中.
随着深度学习的发展, 命名实体识别任务和深度学习联系起来, 并取得显著的成果. 循环神经网络(re-current neural network, RNN)是最早提出的基于深度学习的命名实体识别方法, 但是该方法在序列长度不断增加后, 会出现梯度消失和梯度爆炸问题[7]. 所以, 长短期记忆网络(long short-term memory, LSTM)被提出, 它在一定程度上解决了RNN存在的问题. 在此基础上, Huang等人[8]提出了BiLSTM-CRF模型, 即将文本用词向量形式表示, 实现字符嵌入, 利用BiLSTM实现特征抽取, 再利用条件随机场(CRF)找出最优标注序列, 该方法是目前应用比较广泛的命名实体识别方法. 除了RNN, 卷积神经网络(convolutional neural networks, CNN)也是常用的模型[9]. Ma等人[10]将CNN与BiLSTM-CRF结合, 实现从词和字符级别两种维度上提取深层特征. 但BiLSTM无法充分利用硬件设备, 从而导致训练速度较慢. 所以Strubell等人[11]提出IDCNN-CRF模型来代替BiLSTM, 提高了模型训练速度. 随后, Devlin等人[12]提出了BERT预训练模型, 成为国内外自然语言处理领域的热门模型.
本文将BiLSTM与IDCNN联合使用, 采用BERT-IDCNN-BiLSTM-CRF模型, 对配电网文本数据进行命名实体识别, 为后续构建配电网知识图谱任务提供支持.
2 基于BERT-IDCNN-BiLSTM-CRF命名实体识别模型本文提出的配电网命名实体识别模型主要分为4层, 分别为BERT层、IDCNN层、BiLSTM层以及CRF层. 模型架构如图1所示.
模型基本思想为: 将检修计划文本语料作为输入, 通过BERT预训练模型, 获得词嵌入向量. 将获得的词向量作为特征提取层的输入, IDCNN和BiLSTM联合做特征提取, 中间通过线性层实现全连接. 最后通过CRF找出最优的序列标注结果[13].
2.1 BERT层
BERT是基于Transformer的双向编码器表示, 是一个预训练表征模型, 它将未标注数据作为输入文本, 利用大规模未标注语料进行训练, 获得文本的语义表示, 然后对模型进行微调, 最终应用在配电数据命名实体识别任务中.
BERT融合了Word2Vec、ELMo、GPT等预训练模型的优点, 能够充分利用字两侧的文本信息, 动态生成字和词级别的语义向量, 具有较强的语义表征能力[14]. BERT采用Mask语言模型, 在给定一个句子后, 随机覆盖15%的词, 然后训练BERT预测该部分词, 并调整参数, 使其准确率更大. BERT模型在实体识别任务中具有良好表现. 而检修计划数据相对比较复杂, 同一实体在不同的位置会有不同的含义, 因此本文利用BERT进行预训练, 消除实体识别中的一词多义问题, 提高识别的准确性. BERT模型网络结构如图2所示.
2.2 IDCNN层传统的BiLSTM-CRF模型虽然在命名实体识别中有不错的效果, 但对于GPU的利用并不理想, 所以引入膨胀卷积神经网络(dilated convolutional neural networks, DCNN), 膨胀卷积最初应用在图像处理领域, 随后Strubell等人[11]将其应用在自然语言处理任务中, 提出了IDCNN模型, 取得了十分理想的效果.
传统的CNN网络在序列标注方面有不错的表现, 但进行上下文采样时, 容易产生数据丢失问题. 膨胀卷积神经网络相较于传统的CNN网络放弃了池化层, 并且通过扩张卷积, 来减少计算量. 膨胀卷积网络在过滤器中添加膨胀宽度, 来规定卷积的区域间隔的距离, 从而跳过膨胀宽度中间部分, 来保证卷积核大小不变的情况下, 得到更广的输入矩阵, 扩大模型的感受野, 如此能更好地捕捉长序列特征, 同时也可以兼顾到局部特征. 膨胀卷积膨胀过程图如图3所示.
图3(a)中卷积核大小为3×3, 膨胀宽度为1, 是普通的卷积操作, 其感受野为3×3, 图3(b)卷积核大小为3×3, 膨胀宽度为2, 其感受野可以扩展到7×7. 图3(c)中卷积核大小依然为3×3, 膨胀宽度为4, 感受野达到15×15. IDCNN模型在使用时, 随着层数增加, 参数数量线性增加, 但感受野呈指数增加, 因此可以更快地覆盖到全部输入数据[15].
本文采用IDCNN模型由4个大小相同的膨胀卷积块叠加在一起, 每个块中有3层膨胀宽度为分别为1, 1, 2的卷积层, 将各个膨胀卷积块学习到的特征进行拼接就可以得到该模型最终的结果[16]. 将得到的词向量并行输入到IDCNN与BiLSTM模型中, 再映射到CRF层, 针对检修计划局部信息较多的特点, IDCNN可以兼顾到更多的局部特征, 并且IDCNN可以加快GPU并行速度, 节省训练时间.
2.3 BiLSTM层LSTM由RNN改进而来, 能够有效解决RNN在训练中产生的梯度消失和梯度爆炸问题. LSTM神经单元内部结构如图4所示.
由于RNN的隐藏层只有一个状态, 它对短期的输入比较敏感, 所以LSTM模型为了改进RNN, 引入了状态C来保存长期状态. 该状态是LSTM模型的核心部分, 也被称为单元状态(cell state). 由图4可知, LSTM神经元包含3个输入、2个输出以及3个控制门[17]. LSTM模型中3个“门”起到控制状态作用, 控制门控制信息通过的量, 决定有多少信息被传送.
3个控制门中, 遗忘门ft决定了上一时刻单元状态Ct−1保留多少到当前时刻Ct. 其表达式如下:
$ {f_{{t}}} = \sigma ({W_f} \cdot [{h_{t - 1}}, {x_t}] + {b_f}) $ | (1) |
输入门it决定了当前时刻的输入xt有多少保存在单元状态Ct中. 其表达式如下:
$ {i_t} = \sigma ({W_i} \cdot [{h_{t - 1}}, {x_t}] + {b_i}) $ | (2) |
输出门ot是控制单元状态Ct有多少输出到LSTM的当前隐藏层输出值ht. 其表达式如下:
$ {o_t} = \sigma ({W_o}[{h_{t - 1}}, {x_t}] + {b_o}) $ | (3) |
LSTM通过对单元状态中信息遗忘和新信息的记忆, 传递对后续时刻计算有用的信息, 舍弃无用的信息, 并在每个时间步都会输出隐层状态, 其中遗忘, 记忆与输出由通过上个时刻的隐层状态和当前输入计算出来的遗忘门、记忆门、输出门来控制.
LSTM从前向后传递信息, 对于词性标注等任务具有局限性, 所以设计出前向和后向两条LSTM网络, 被称为双向LSTM, 即BiLSTM, 该模型是将同一个输入信息序列, 分别接入到前向和后向两个LSTM中, 并将两个网络的隐藏层连接在一起, 共同接入到输出层. BiLSTM模型可以捕捉到检修计划数据中较长距离依赖, 同时捕捉双向语义依赖[18].
2.4 CRF层由于BiLSTM在预测时会忽略标签之间的关联性, 所以引入CRF, 加入约束条件来保证最终预测结果的有效性[19]. BiLSTM-CRF结构如图5所示.
对于句子X, 设y={y1, y2, …, yn}为标签序列, 标签序列的分数计算如式(4)所示:
$ {{score(X , y) = }}\sum\limits_{i = 0}^n {{A_{yi, yi + 1}} + \sum\limits_{i = 1}^n {{p_{i, yi}}} } $ | (4) |
其中, p为BiLSTM层输出的权重矩阵, pi,yi表示从标签yi在第i个位置的得分. Ayi,yi+1表示从标签yi到标签yi+1的传递参数[20]. 对于给定的句子X, 产生标注序列y的概率如式(5)所示:
$ P(y|X) = \frac{{{{\rm{e}}^{score({{X, y)}}}}}}{{\displaystyle\sum\limits_{y' \in {Y_x}}^{} {{{\rm{e}}^{score({{X, y')}}}}} }} $ | (5) |
为了获得最大正确标签序列的概率, 取式子两边对数, 得到似然函数, 则输出最大标签序列如式(6)所示:
$ {y^*} = \mathop {\arg \max }\limits_{y' \in Y_x} (X, y') $ | (6) |
其中,
3 实验分析 3.1 数据集
本文使用的数据为某省5个城市近一年的电力检修计划文本数据. 共4 155条检修计划语句, 通过doccano标注平台对文本数据进行人工标注. 共设工程种类、设备名称、操作位置、操作等8类标注实体. 对数据集采用BIO标注方式, 其中“B”表示实体的第1个字符. “I”表示实体的中间位置或者结束位置. “O”表示序列中非实体的字符. 部分实体含义及实体数量如表1所示.
3.2 模型参数设置
3.3 实验评价标准
本实验通过准确率(precision, P)、召回率(recall, R)、F1值作为模型的评价标准来对配电数据命名实体识别任务重的模型进行评价. 准确率、召回率、F1值的计算公式如下所示:
$ P = \frac{{TP}}{{TP + FP}} \times 100{\text{% }} $ | (7) |
$ R = \frac{{TP}}{{TP + FN}} \times 100{\text{% }} $ | (8) |
$ F1 = \frac{{2 \times P \times R}}{{P + R}} \times 100{\text{% }}$ | (9) |
其中, TP表示被判定为正, 实际上为正的实体数量; FP表示被判定为正, 但实际为负的实体数量; FN表示被判定为正, 实际为负的实体数量.
3.4 实验结果本文采用IDCNN-CRF、BiLSTM-CRF、BERT-BiLSTM-CRF以及BiLSTM-Attention-CRF与本文所提模型进行对比. 其对比结果如表4所示.
通过表4中数据, 本文提出的配电网数据命名实体识别模型BERT-IDCNN-BiLSTM-CRF在准确率、召回率及F1值上均优于其他4种方法. 其中IDCNN-CRF模型对比BiLSTM-CRF模型, 召回率和准确率都有所提高, 因为IDCNN要比BiLSTM模型具有更强的局部特征提取能力, 而配电网数据的长距离依赖较少, 所以产生该结果. 本文利用BERT模型进行预训练, BERT具有较强的语义表征能力, 能够较好地解决检修计划数据中存在一词多义的问题. 因此加入BERT模型后数据值有明显提高. 之后通过BiLSTM以及IDCNN模型进行特征提取, 数据显示, BERT-BiLSTM-CRF在加入IDCNN后, 模型的整体效果有所提高, 因为检修计划数据中的局部特征相对较多, IDCNN可以弥补BiLSTM对于局部特征提取的不足, 二者可以获取到不同粒度的特征进而相互补充. 因此, 相较于传统的BERT-BiLSTM-CRF模型, 本模型F1值提高了5%左右. 而由于检修计划数据的实体较多, 引入Attention机制对于配电网数据实体较多的情况识别的效果并不理想.
4 结论与展望本文主要研究配电网相关数据的命名实体识别任务, 提出了BERT-IDCNN-BiLSTM-CRF模型, 并与其他模型进行比较. 最终得出该模型能够对配电领域的命名实体识别技术产生比较好的效果. 该模型首先将标注的数据输入到BERT预训练模型中, 将语句转化为词向量, 之后将输出的词向量作为IDCNN-BiLSTM的输入, 联合IDCNN和BiLSTM模型进行特征提取, 解决传统BiLSTM模型的计算速度慢等问题. 最终将提取到的特征通过CRF层, 获得实体识别序列. 本文模型对于传统的BERT-BiLSTM-CRF模型F1值提高了5%, 效果比较理想.
配电网调度检修一直以来都是复杂且严谨的工作, 为了满足未来电网的运行变化和配电数据的不断积累, 在未来的工作学习中, 更有效的命名实体识别技术需要不断去挖掘. 利用自然语言处理实现电力领域智能化是未来电力行业的发展趋势, 值得继续深入探索.
[1] |
江千军, 桂前进, 王磊, 等. 命名实体识别技术研究进展综述. 电力信息与通信技术, 2022, 20(2): 15-24. DOI:10.16543/j.2095-641x.electric.power.ict.2022.02.003 |
[2] |
Rau LF. Extracting company names from text. Proceedings of the 7th IEEE Conference on Artificial Intelligence Application. Miami Beach: IEEE, 1991. 29–32.
|
[3] |
Riaz K. Rule-based named entity recognition in Urdu. Proceedings of the 2010 Named Entities Workshop. Uppsala: ACL, 2010. 126–135.
|
[4] |
McCallum A, Freitag D, Pereira FCN. Maximum entropy Markov models for information extraction and segmentation. Proceedings of the 17th International Conference on Machine Learning. San Francisco: Morgan Kaufmann Publishers Inc., 2000. 591–598.
|
[5] |
Kazama J, Torisawa K. Exploiting wikipedia as external knowledge for named entity recognition. Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Prague: ACL, 2007. 698–707.
|
[6] |
Zhou GD, Zhang J, Su J, et al. Recognizing names in biomedical texts: A machine learning approach. Bioinformatics, 2004, 20(7): 1178-1190. DOI:10.1093/bioinformatics/bth060 |
[7] |
Gridach M. Character-level neural network for biomedical named entity recognition. Journal of Biomedical Informatics, 2017, 70: 85-91. DOI:10.1016/j.jbi.2017.05.002 |
[8] |
Huang ZH, Xu W, Yu K. Bidirectional LSTM-CRF models for sequence tagging. arxiv:1508.01991, 2015.
|
[9] |
Qiu JH, Wang Q, Zhou YM, et al. Fast and accurate recognition of Chinese clinical named entities with residual dilated convolutions. Proceedings of the 2018 IEEE International Conference on Bioinformatics and Biomedicine (BIBM). Madrid: IEEE, 2018. 935–942.
|
[10] |
Ma XZ, Hovy E. End-to-end sequence labeling via Bi-directional LSTM-CNNs-CRF. Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Berlin: ACL, 2016. 1064–1074.
|
[11] |
Strubell E, Verga P, Belanger D, et al. Fast and accurate entity recognition with iterated dilated convolutions. Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing. Copenhagen: ACL, 2017. 2670–2680.
|
[12] |
Devlin J, Chang MW, Lee K, et al. BERT: Pre-training of deep bidirectional Transformers for language understanding. Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1. Minneapolis: ACL, 2019. 4171–4186.
|
[13] |
张毅, 王爽胜, 何彬, 等. 基于BERT的初等数学文本命名实体识别方法. 计算机应用, 2022, 42(2): 433-439. |
[14] |
李妍, 孟洁, 何金, 等. 面向电力业务数据的命名实体识别. 电力信息与通信技术, 2022, 20(4): 24-31. DOI:10.16543/j.2095-641x.electric.power.ict.2022.04.004 |
[15] |
Yu F, Koltun V. Multi-scale context aggregation by dilated convolutions. arXiv:1511.07122, 2016.
|
[16] |
吕江海, 杜军平, 周南, 等. 基于膨胀卷积迭代与注意力机制的实体名识别方法. 计算机工程, 2021, 47(1): 58-65, 71. DOI:10.19678/j.issn.1000-3428.0055986 |
[17] |
Zeng DH, Sun CJ, Lin L, et al. LSTM-CRF for drug-named entity recognition. Entropy, 2017, 19(6): 283. DOI:10.3390/e19060283 |
[18] |
Luo L, Yang ZH, Yang P, et al. An attention-based BiLSTM-CRF approach to document-level chemical named entity recognition. Bioinformatics, 2018, 34(8): 1381-1388. DOI:10.1093/bioinformatics/btx761 |
[19] |
杨秋勇, 彭泽武, 苏华权, 等. 基于Bi-LSTM-CRF的中文电力实体识别. 信息技术, 2021(9): 45-50. DOI:10.13274/j.cnki.hdzj.2021.09.009 |
[20] |
谢腾, 杨俊安, 刘辉. 基于BERT-BiLSTM-CRF模型的中文实体识别. 计算机系统应用, 2020, 29(7): 48-55. DOI:10.15888/j.cnki.csa.007525 |