随着人工智能技术的迅速发展, 国网集团启动了“互联网+电力营销”的工作模式, 将传统的线下营业厅与人工客服热线升级为自动化的电力客服机器人. 为了支撑智能化的客服问答, 构建知识图谱成为了一个主要途径. 而在整个构建流程中, 如何从电力领域文本中进行命名实体识别(named entity recognition, NER)[1]是一个重要环节, 它旨在将输入文本中的单词或短语识别为不同类型的实体标签[2], 为后续关系抽取等步骤提供基础.
传统的NER方法主要是基于BiLSTM-CRF框架. 鉴于预训练语言模型(pre-trained language model, PLM)[3]在多项自然语言处理任务上带来的显著提升, 微调PLM的参数以编码输入文本, 并利用Softmax或条件随机场(conditional random field, CRF)[4]分配实体标签, 成为了NER领域的普遍做法. 尽管这类方法在一般任务上表现不俗, 但是由于预训练和下游NER任务之间存在差距, 且对于新的目标领域, 模型需要足够的训练实例进行微调, 因此在电力场景下, NER[5]任务仍然面临着以下挑战:
首先, 现有方法大多假定具有充足的标注训练数据, 然而, 提供电力领域的标注往往需要具备领域知识的专业人员. 这使得在实际应用中训练数据不足, 即存在少样本(few-shot)问题. 其次, 在传统开放领域NER数据集中, 实体类型一般较少且更含义宽泛, 如在广泛使用的英文数据集CoNLL03[2]中, 只有4种实体类型. 而在中文电力场景中, 由于其行业特殊性, 实体类型高达14种, 而且训练数据更少, 这无疑加大了预测实体类型的难度.
为了克服上述挑战, 本文提出了一种基于主题提示的NER模型(topic prompt NER model, TP-NER). 该模型打破了BERT-LSTM-CRF范式, 使用自然语言提示模板挖掘PLM的潜在知识, 以提升少样本NER的效果. 同时, 该模型利用了电力语料中的主题信息, 使得实体类型预测更加准确.
1 相关工作近年来, 基于神经网络的方法在 NER 任务中提供了有竞争力的表现. Lewis等人[5]和Chiu等人[6]将NER视为对输入文本的每个单词的分类问题. Ma等人[4]利用CRF和“序列-到-序列”框架[7], 从而得到实体跨度与对应类型标签. Zhang等人[8], Cui等人[9]和Gui等人[10]分别使用标签注意网络和贝叶斯神经网络. 随着预训练模型的兴起, Yamada等人[11]提出了基于实体感知的预训练, 从而NER 上获得不错的效果. 这些方法与本文方法的区别是它们是为指定的命名实体类型[12–14]设计的, 采用了序列标注的框架, 这令它们在少样本场景难以适应新的类型.
目前已经有一些关于少样本场景下NER的研究. Wiseman等人[15]提出了不同的预训练方法和微调策略. Yang等人[16]利用常见的少样本分类方法, 如原型网络和匹配网络, 其中还学习了提高性能的转换分数. 这些方法依赖复杂的训练过程, 但结果并不显著. Chen等人[17]的方法不需要元训练, 通过最近邻分类器和结构化解码器, 取得了更好效果.
利用外部知识来提高 PLM 的性能近年来得到了广泛的研究, 通常应用于预训练和微调阶段. 具体来说, 在文本分类任务中, Li等人[18]探索了利用知识图谱来增强输入文本. 与这些方法不同, 本文的方法在提示调优结合了主题知识, 因此在少样本NER任务中产生了显著的改进.
自从 GPT-3出现以来, 提示调优受到了相当大的关注. GPT-3表明, 通过即时调整和上下文学习, 大规模语言模型可以在低资源情况下表现良好. Schick等人[19]认为小规模语言模型也可以使用提示调整获得不错的性能. 虽然大多数研究都是针对文本分类任务进行的, 但一些工作将提示调整的影响扩展到其他任务, 例如关系抽取. 除了对各种下游任务使用提示调优, 提示模板还用于从PLM中探查知识. 因此, 这为NER任务提供了一种前景, 即通过运用提示模板, 模型可能有效利用预训练带来的知识.
2 基于主题提示的电力NER模型 2.1 任务定义给定一条输入电力文本
例1. 输入文本: 复电手续如何申请?
输出:
解释:
例2. 输入文本: 这是怎么回事?
输出:
解释: 该输入文本中无实体.
2.2 基于提示调优的NER框架PLM模型蕴含了从海量语料中学习到的丰富知识. 利用这些涵盖各个领域的知识即可在仅有少量训练样本的情况下对电力领域完成快速适配. 在传统NER常用的BERT+LSTM+CRF模型[20] 中, 尽管预训练的BERT被用于编码输入文本, 但最终还是需要通过微调(fine-tuning)其参数以适应NER任务. 由于预训练的目标(掩码预测)与NER微调的目标(序列标注)不一致, 因此知识无法被有效利用, 使得基于微调的模型在电力NER上通常无法取得较好的结果.
区别于这些微调模型, 本文提出的TP-NER构建了一种基于提示调优(prompt-tuning)的框架, 以解决的电力场景的少样本问题. 简单来说, TP-NER将NER的输出包装成自然语言提示模板. 相比于原有的三元组形式, PLM更适合对自然语言进行语义表示和打分, 这是因为它原本就在自然语言语料上进行预训练. 这种提示模板统一了预训练任务与下游NER任务的形式, 使得PLM中的知识可以被直接利用. 这样, 仅使用少量的训练样本即可完成对电力领域的适配.
整个方法流程概览如图1所示. 在离线阶段, 预先构建NER自然语言模板; 在推理阶段, 首先通过枚举候选跨度填充模板, 生成候选提示句, 再利用PLM对候选提示句直接打分排序. 得分最高的提示句所对应的实体与类型作为输出被返回.
![]() |
图 1 基于主题提示的NER方法流程图 |
2.2.1 NER提示模板构建
在本文的定义中, NER提示模板是一个包含空槽位的自然语言句子. 例如, “[MASK-e]是一个[MASK-t]类型的实体”是一个模板. 其中, [MASK-e]表示识别出的实体跨度, 如“电能表”; [MASK-t]表示实体[MASK-e]的类型, 如“机器设备”. 这种模板以自然语言的形式对候选的实体与类型进行了重新包装, 以便PLM模型可以利用在自然语言语料上学习到的先验知识克服少样本问题.
如引言所提到的, 电力领域中实体类型较多, 包含14种, 如“业务需求”“机器设备”. 在少样本场景下, PLM模型缺少足够的训练数据去理解这些细粒度实体类型的差别. 因此, 对上述NER提示模板进行实体类型方面的增强. 具体地, 模板被扩充为“[MASK-e]是一个[MASK-t]类型的实体, 与[MASK-r]相关”. 其中, [MASK-r]表示与实体类型[MASK-t]语义关联的提示词. 这些词与实体类型密切相关, 在预训练的语料中往往与对应的类型共同出现, 因此对PLM可以起到有效的提示作用, 从而进一步帮助它理解实体类型的语义.
在离线阶段, 为了涵盖不同的自然语言表达方式, 设计了3种正样本模板
![]() |
表 1 命名实体模板 |
2.2.2 模板填充与候选提示句生成
在推理阶段, 首先从正样本模板中随机选择一个模板
此阶段的目标是计算每个候选提示句的分数. 为了克服电力领域的少样本问题, 使用生成式PLM模型BART[5], 以其蕴含的丰富知识弥补训练样本的缺失. BART是一种基于编码器-解码器框架的PLM模型, 集成了BERT双向编码和GPT自左向右解码的特点, 这使得它比BERT更适合文本生成的场景. 在本文中, 将文本
具体来说, 对输入文本
score(Tus,ue,l)=n′∑i=1logP(ˆti=ti|t1:i−1,X) | (1) |
c1:n=encoder(x1:n) | (2) |
hi=decoder(t1:i−1,c1:n) | (3) |
P(ˆti|t1:i−1,X)=Softmax(Whi+b) | (4) |
其中, encoder和decoder分别表示BART的编码器与解码器,
最终, TP-NER选择
![]() |
图 2 TP-NER框架 |
2.3 主题模型生成提示词
上文已提到, NER提示模板中的槽位[MASK-r]用于补充与类型[MASK-t]相关的语义信息, 以帮助PLM在少样本电力场景下区分实体类型. 由于行业文本的特殊性, 电力领域中的一种实体类型标签(如“机器设备”“财务票据”“业务需求”)往往可以看作一个主题, 而相关主题词可以视为对主题的进一步描述, 用于提示PLM. 例如, 对于“故障异常”类型, 常见主题词有“掉落、停电、故障、破坏、波动、倾斜、失败、没电、欠费”等; 对于“业务需求”类型, 常见主题词有“需要、需求、业务、恢复、要求、申请、手续、办理、核实”等. 这些主题词在预训练的语料中就常常伴随着类型(主题)共同出现, 有利于为预训练语言模型提供语义提示, 从而帮助确定实体类型. 基于此动机, 本文使用经典的主题模型LDA[20]从训练语料中抽取主题词加入到提示模板中, 以增强PLM处理电力领域数量较多实体类型的能力.
2.3.1 文档构成对于电力训练集中每个实体类型标签
参考LDA模型[20], 对电力文档
![]() |
图 3 LDA模型示意图 |
具体来说, 设
(1)根据泊松分布, 得到电力文档的词数
(2)根据狄利克雷分布
(3)对于隐含实体类型
(4)对于
基于此过程, 在参数
P(D|α,β)=∫P(θ|α)(N∏i=1∑lP(l|θ)P(wi|l,β))dθ | (5) |
其中,
为了对
(1)为每个单词
(2)对于任意
(3)重复迭代步骤(2), 直到每个单词
其中,
P(li|l−i,wi)=(nwili+β)/(nli+Nβ)⋅(nliD+α)/(nD+Lα) | (6) |
其中,
φl,w=(nwl+β)/(nl+Nβ) | (7) |
θD,l=(nlD+α)/(nD+Lα) | (8) |
其中,
最后, 将电力文档
为了训练TP-NER中的打分排序模型, 需要使用训练数据中提供的正确实体构建提示句. 假设实体跨度
loss=−n′∑i=1logP(ˆti|t1:i−1,X) | (9) |
其中,
实验的硬件环境: Intel® Core 7700, 内存8 GB. 软件环境: Ubuntu 16.04, Python 3.6.8, GPU采用Nvidia RTX-2080ti 11 GB, 深度学习框架采用PyTorch 1.4.0. 代码开发环境选择PyCharm 2019.3.4.
3.2 数据集本文重点关注中文电力领域, 采用国家电网真实工单数据与用户互动数据, 构建了电力领域命名实体识别数据集. 该数据集定义包括以下14种类型的实体: “机器设备、电价电费、业务需求、故障异常、财务票据、电子渠道、用户信息、文件法规、营销活动、身份、公司、违法行为、专业词汇”. 训练集, 验证集, 测试集, 分别包含10 244、1 059、2 032条电力文本与对应的实体、类型标注.
3.3 评价指标本文采用准确率(P)、召回率(R)以及F1 值(F1)作为模型性能的评价指标, 对测试集上的实体识别结果进行评估, 计算方式如下:
P=TTP/(TTP+FTP)×100% | (10) |
R=TTP/(TTP+FFN)×100% | (11) |
F1=2PR/(P+R)×100% | (12) |
其中,
本文对比的方法包括几种常用的NER模型: BiGRU、BiLSTM-CNN、BiLSTM-CRF、BiLSTM-CNN. 同时, 本文也与开放领域上表现优异的预训练模型进行对比: BERT和BERT-BiLSTM-CRF.
实验结果如表2所示. 从中可以看出, 本文提出TP-NER模型在中文电力NER数据集上击败了所有的对比模型, 取得了最好的结果. 对比开放领域中表现优异的BERT-BiLSTM-CRF模型, TP-NER在F1指标上提升了2.17%, 这证明了本文提出的主题提示调优方法相比于传统序列标注方式, 在处理多实体类型的NER任务时更加有效.
![]() |
表 2 电力命名实体识别总体结果(%) |
3.5 消融实验
为了检验TP-NER模型中的两个主要改进: 提示模板与LDA主题提示词各自的贡献, 我们针对如下两种模型设置进行了消融实验:
1)移除提示模板: 将提示模板移除, 仅使用BART对输入文本执行一般的序列标注以识别实体.
2)移除LDA提示词: 不使用LDA模型对提示模板进行扩充, 仅依赖实体跨度与实体类型构建候选提示句并进行排序.
消融实验结果如表3所示, 移除提示模板后, 模型F1下降了约3.5%, 而移除LDA提示词后, F1下降约1%, 这证明了这两个组件对模型均有贡献. 相比之下, 提示模板带来的提升比LDA带来的提升更大, 因为它从根本上改变了NER的任务形式.
![]() |
表 3 消融实验结果(%) |
3.6 少样本场景实验结果
为了探究TP-NER在少样本场景下的表现, 本文设计如下少样本场景, 对于每个实体类型, 分别从训练集中随机抽取{10, 20, 50, 100}个样本组成小样本训练集训练模型, 再统计模型在测试集上的F1分数.
实验结果如表4所示. 从中可以看出, 与使用全部训练集时相比, TP-NER在少样本场景下相对对比模型的优势更大. 并且, 训练样本越少, TP-NER的优势越明显. 同时可以发现, 在不同数量的训练样本, TP-NER整体模型始终比移除提示模板后效果更好. 这充分说明了提示模板对于整个模型的贡献. 值得注意的是, LDA提示词在样本数较少时提升更大.
![]() |
表 4 少样本命名实体识别F1分数(%) |
3.7 不同类型实验结果
为了探究TP-NER在不同实体类型下的表现, 本文对测试集上每个类型都统计了模型的F1分数.
实验结果如表5所示. 从中可以看出, TP-NER模型在大部分任务上都能取得比BERT-LSTM-CRF模型更好的效果, 尤其是在“文件法规”“公司”“营销活动”和“违法行为”这4种类型上提升最大. 造成这种显著提升的原因主要是, 在数据集中这些类型的标注样本较少, 平均不足100条, BERT-LSTM-CRF模型没有足够的训练数据对其参数进行微调, 以至于利用BERT的先验知识完成识别. 相反地, TP-NER将三元组输出的形式包装成自然语言形式, 使得PLM可以快速适配到电力NER任务上, 从而有效利用其知识. 在如“财务票据”“电子渠道”等类型上, TP-NER稍稍落后于BERT-LSTM-CRF, 这是因为这些类型的训练样本较多, 在这种训练资源丰富的场景中预训练模型微调与提示调优的差距不足以体现. 此外, 与“电价电费”“专业词汇”相比, “文件法规”“公司”“违法行为”这些类型的粒度更细, LDA收集到的主题词与类型有着紧密的语义联系. 例如“违法行为”包含“民事责任”“举报”等密切相关的主题词, 因此可以精准地提示PLM, 从而取得显著的提升.
![]() |
表 5 各领域命名实体识别F1分数(%) |
4 结束语
本文针对中文电力领域场景的少样本问题和多类型问题, 提出一种基于主题提示的中文电力领域命名实体识别方法. 与传统的BERT-LSTM-CRF框架不同, 该方法提出了一种新的NER方式: 通过枚举实体跨度, 实体类型, 主题词从而构造候选提示句. 这种方式可以有效利用预训练模型中潜在的知识, 从而克服少样本NER的挑战.
此外, 该模型还提出使用LDA模型从语料中抽取主题词, 作为提示以增强模型对于实体类型的感知, 从而缓解实体类型较多带来的挑战.
实验结果表明, 本文的方法在电力场景中取得了比传统方法更好的结果. 尤其在“营销活动”“公司”“业务需求”等类型的实体识别上, 本文方法的优势更为显著.
在未来工作中, 尝试使用基于神经网络的方法替代主题模型, 引入外部知识以尝试解决更加困难的零样本NER任务.
[1] |
刘浏, 王东波. 命名实体识别研究综述. 情报学报, 2018, 37(3): 329-340. DOI:10.3772/j.issn.1000-0135.2018.03.010 |
[2] |
Sang EFTK, De Meulder F. Introduction to the CoNLL-2003 shared task: Language-independent named entity recognition. Proceedings of the 7th Conference on Natural Language Learning. Edmonton: ACL, 2003. 142–147.
|
[3] |
Devlin J, Chang MW, Lee K, et al. BERT: Pre-training of deep bidirectional transformers for language understanding. Proceedings of 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Minneapolis: ACL, 2019. 4171–4186.
|
[4] |
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.
|
[5] |
Lewis M, Liu YH, Goyal N, et al. BART: Denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension. Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: ACL, 2020. 7871–7880.
|
[6] |
Chiu JPC, Nichols E. Named entity recognition with bidirectional LSTM-CNNs. Transactions of the Association for Computational Linguistics, 2016, 4: 357-370. DOI:10.1162/tacl_a_00104 |
[7] |
Strubell E, Verga P, Belanger D, et al. Fast and accurate entity recognition with iterated dilated convolutions. Proceedings of 2017 Conference on Empirical Methods in Natural Language Processing. Copenhagen: ACL, 2017. 2670–2680.
|
[8] |
Zhang Y, Chen HS, Zhao YH, et al. Learning tag dependencies for sequence tagging. Proceedings of the 27th International Joint Conference on Artificial Intelligence. Stockholm: IJCAI, 2018. 4581–4587.
|
[9] |
Cui LY, Zhang Y. Hierarchically-refined label attention network for sequence labeling. Proceedings of 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Hong Kong: ACL, 2019. 4115–4128.
|
[10] |
Gui T, Ye JC, Zhang Q, et al. Uncertainty-aware label refinement for sequence labeling. Proceedings of 2020 Conference on Empirical Methods in Natural Language Processing. Stroudsburg: ACL, 2020. 2316–2326.
|
[11] |
Yamada I, Asai A, Shindo H, et al. LUKE: Deep contextualized entity representations with entity-aware self-attention. Proceedings of 2020 Conference on Empirical Methods in Natural Language Processing. Stroudsburg: ACL, 2020. 6442–6454.
|
[12] |
买买提阿依甫, 吾守尔·斯拉木, 帕丽旦·木合塔尔, 等. 基于BiLSTM-CNN-CRF模型的维吾尔文命名实体识别. 计算机工程, 2018, 44(8): 230-236. |
[13] |
李健龙, 王盼卿, 韩琪羽. 基于双向LSTM的军事命名实体识别. 计算机工程与科学, 2019, 41(4): 713-718. DOI:10.3969/j.issn.1007-130X.2019.04.019 |
[14] |
顾亦然, 霍建霖, 杨海根, 等. 基于BERT的电机领域中文命名实体识别方法. 计算机工程, 2021, 47(8): 78-83, 92. |
[15] |
Wiseman S, Stratos K. Label-agnostic sequence labeling by copying nearest neighbors. Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. Florence: ACL, 2019. 5363–5369.
|
[16] |
Yang Y, Katiyar A. Simple and effective few-shot named entity recognition with structured nearest neighbor learning. Proceedings of 2020 Conference on Empirical Methods in Natural Language Processing. Stroudsburg: ACL, 2020. 6365–6375.
|
[17] |
Chen JD, Hu YZ, Liu JP, et al. Deep short text classification with knowledge powered attention. Proceedings of the 33rd AAAI Conference on Artificial Intelligence. Honolulu: AAAI Press, 2019. 6252–6259.
|
[18] |
Li WB, Sun L, Zhang DK. Text classification based on labeled-LDA model. Chinese Journal of Computers, 2008, 31(4): 620-627. |
[19] |
Schick T, Schmid H, Schütze H. Automatically identifying words that can serve as labels for few-shot text classification. Proceedings of the 28th International Conference on Computational Linguistics. Barcelona: ACL, 2020. 5569–5578.
|
[20] |
Jelodar H, Wang YL, Yuan C, et al. Latent Dirichlet allocation (LDA) and topic modeling: Models, applications, a survey. Multimedia Tools and Applications, 2019, 78(11): 15169-15211. DOI:10.1007/s11042-018-6894-4 |