APP下载

在线中文命名实体识别平台研究

2020-07-20宋汝良杜国宁

江苏科技信息 2020年15期
关键词:进阶命名实体

宋汝良,杜国宁

(上海梦创双杨数据科技股份有限公司,上海 200333)

0 引言

命名实体识别(Named Entity Recognition,NER),又称实体识别、实体分块和实体提取等,是信息提取任务的一个子任务。命名实体识别旨在定位文本中具有特殊意义的实体并分类为预先定义的类别,如人员、组织、位置等。命名实体识别是自然语言处理领域中的基本任务之一,在信息抽取、信息检索、机器翻译、问答系统等多种自然语言处理技术中具有重要意义。在自然语言处理中,命名实体识别可以看作一种在词法分析中对未收录词的识别,并且是未收录词数量最多、识别难度最大、对分词效果影响最大的问题。根据SIGHAN Bakeoff数据评测结果[1],未登录词造成的分词精度损失至少比歧义大5倍以上,这证明了命名实体的重要性。

1 项目背景

本项目中,研究员针对中文命名实体识别问题,首先调研了命名实体识别的通用技术及其发展,其次使用PyTorch框架构建了两种用于完成命名实体识别任务的模型,搭建了中文命名实体识别平台,最后在人民日报数据集中,对比评估了不同模型的效果。

国外对于英文命名实体识别的研究开始比较早。1991年Rau[2]在第7届IEEE人工智能应用会议上发表了“抽取和识别公司名称”的有关研究文章,首次描述了抽取和识别公司名称的系统,该系统主要采用启发式算法和手工编写规则的方法。1996年,命名实体评测作为信息抽取的一个子任务被引入MUC-6,在其后的MUC-7、MET-2、IEER-99、CoNLL-2002、CoNLL-2003、IREX、LREC等一系列国际会议中,命名实体识别都被作为其中的一项指定任务。

和英语相比,汉语命名实体识别任务更加复杂,由于分词等因素的影响难度较大,其难点主要表现在如下几个方面:

(1)命名实体类型多样,数量众多,不断有新的命名实体涌现,如新的人名、地名等,难以建立大而全的姓氏库、名字库、地址库等数据库。

(2)命名实体构成结构比较复杂,并且某些类型的命名实体词的长度没有一定的限制,不同的实体有不同的结构,比如组织名存在大量的嵌套、别名、缩略词等问题,没有严格的规律可以遵循;人名中也存在比较长的少数民族人名或翻译过来的外国人名,没有统一的构词规范。因此,对这类命名实体识别的召回率相对偏低。

(3)在不同领域、场景下,命名实体的外延有差异,存在分类模糊的问题。不同命名实体之间界限不清晰,人名也经常出现在地名和组织名称中,存在大量的交叉和互相包含现象,而且部分命名实体常常容易与普通词混淆,影响识别效率。在个体户等商户中,组织名称中也存在大量的人名、地名、数字的现象,要正确标注这些命名实体类型,常常要涉及上下文语义层面的分析,这些都给命名实体的识别带来困难。

(4)在不同的文化、领域、背景下,命名实体的外延有差异。目前对命名实体的定界和类型确定还没有形成共同遵循的、严格的命名规范。本项目基于上述背景展开。

2 相关工作介绍

目前,研究人员已经提出了许多用于命名实体识别任务的方法。命名实体识别的早期研究经常利用支持向量机(Support Vector Machine,SVM)[3]、隐马尔科夫模型(Hidden Markov Model,HMM)[4]和条件随机场(Conditional Random Field,CRF)方法,这在很大程度上依赖于特征工程。近年来,神经网络模型已经被引入命名实体识别任务中。Huang等[5]的研究利用双向长短时记忆(Bi-directional Long Short-Term Memory Network,BiLSTM)网络提取特征并将其馈入CRF解码器。之后的研究通常将BiLSTM-CRF模型用作基准模型。Peng等[6]于2016年提出了针对中文命名实体识别的联合模型,该模型是通过中文词语分割(Chinese Word Segmentation,CWS)任务共同训练的。但是,CWS任务带来的某些特征会降低中文命名实体识别任务的性能。此外,Wang等[7]于2017年提出了针对中文命名实体识别的门控卷积神经网络(Gated Convolutional Neural Networks,GCNN)模型。

目前较为成熟的解决方案是应用BiLSTM-CRF模型完成命名实体识别任务。BiLSTM模型可以学到记忆哪些信息和遗忘哪些信息,并且能够捕捉双向的语义依赖,具有良好的语义建模能力。条件随机场(Conditional Random Field,CRF)是一类统计建模方法,通常应用于模式识别和机器学习中,并用于结构化预测。它能够在预测时考虑上下文的联系,可以在预测中实现顺序依赖性。BiLSTM和CRF的优点使得它们在命名实体识别任务中大放异彩。

BERT模型[8]出现于Google AI语言研究人员发表的最新论文中。通过在各种NLP任务中展示最新结果,在机器学习社区引起了轰动。BERT的主要技术创新是将注意力模型Transformer的双向培训应用于语言建模。现在,研究人员可以在BERT模型的基础上进行微调,以获取针对特定任务的模型。

3 项目成果

在本次项目中,研究员结合对中文命名实体识别的探索,选择了使用Embedding-BiLSTM-CRF这一成熟的架构作为基本模型。除此之外,研究员还尝试将BERT模型与基本模型结合,通过预训练BERT模型替换原有的嵌入层,通过微调对模型进行更新,并将这一模型称为进阶模型。

基础模型的输入是一个序列,序列中的元素对应句子中每个字id。模型的Embedding层将字的id转为该字对应的向量,BiLSTM层对该向量进行编码和解码,输入CRF层。CRF层对输入的序列进行路径计算,最终获取每个字对应的标签id。

进阶模型与基础模型类似,区别在于使用预训练的BERT模型替换了Embedding层,模型的输入为字序列。BERT模型将字序列转为对应的序列向量,之后的过程与基础模型相同。

3.1 命名实体识别模型

在本次项目中,研究员结合对中文命名实体识别的探索,选择了使用Embedding-BiLSTMCRF这一成熟的架构作为基本模型。除此之外,研究员还尝试将BERT模型与基本模型结合,通过预训练BERT模型替换原有的嵌入层,通过微调对模型进行更新,将这一模型称为进阶模型。

基础模型的输入是一个序列,序列中的元素对应句子中每个字id。模型的Embedding层将字的id转为该字对应的向量,BiLSTM层对该向量进行编码和解码,输入CRF层。CRF层对输入的序列进行路径计算,最终获取每个字对应的标签id。

进阶模型与基础模型类似,区别在于使用预训练的BERT模型替换了Embedding层,模型的输入为字序列。BERT模型将字序列转为对应的序列向量,之后的过程与基础模型相同。

3.2 在线中文命名实体识别平台

研究员为中文命名实体识别任务开发了一个网页平台,方便用户快速从文本中提取人名、地点和组织。该平台以Python为后端,前端则以Bootstrap框架开发,应用的初始界面如图1所示。

在输入框中输入一个句子,点击“识别”按钮,该句子将通过Ajax方式发送至后端。后端将加载训练好的模型,对接收到的句子进行预测,并将预测结果以Json文件形式返回前端。前端接收到返回结果后,将对网页进行部分刷新,以展示预测结果。除了单个句子的预测,平台也支持对多个句子同时预测,一个示例如图2所示。

4 实验与结果

为了验证命名实体识别模型的识别效果,研究员设计并进行了实验,使用公开数据集对模型的识别能力进行了验证。

实验所采用的数据集为人民日报数据集,是中文命名实体识别任务最常用的数据集之一。数据集中包含有LOC(地名)、ORG(机构名)、PER(人名)3种标签,使用BIO标注策略对数据进行标注。

图1 在线中文命名实体识别平台初始界面

图2 识别结果示例

为了比较基础模型和进阶模型的效果,研究员设置了多组参数,分别构建了两类模型进行训练,并在测试集中对模型效果进行验证。验证选取的评估指标为查准率、召回率和f1-score。对于每个预测结果,当且仅当预测出的命名实体的起始坐标、终止坐标与golden tag都相同时,认为该次预测是正确的。实验所采用的评价指标为查准率、查全率和F1分数,结果如表1所示。

表1 模型在人民日报数据集中的实验结果

从实验结果可以看出,引入预训练的BERT模型作为嵌入层后,模型的整体效果被很轻易地大幅提升了。

5 结语

本项目针对中文命名实体识别任务展开了探索,并选取了目前应用最广泛的Bi-LSTM+CRF模型作为基础模型,完成了中文命名实体识别任务。此外,本项目还引进了BERT模型,对基础模型进行改进,即使用预训练的BERT模型替换基础模型中的嵌入层。研究员使用人民日报数据集进行实验,训练和评估了基础模型和进阶模型,实验结果表明进阶模型能够大幅提升模型预测效果。另外,本项目还为中文命名实体识别任务开发了对应的平台,方便用户使用训练后的模型对中文语句进行预测。

本项目实现的进阶模型具有识别效果好、训练简单、规模较小等优点。此外,使用这一模型完成命名实体识别任务时,并不需要对语句进行额外的数据预处理操作。同时,本项目所构建的在线中文命名实体识别平台为用户完成中文命名实体识别任务提供了便利。

猜你喜欢

进阶命名实体
命名——助力有机化学的学习
前海自贸区:金融服务实体
传祺GM6:家用MPV新进阶
领克进阶
2018车企进阶十字诀
进阶中的北汽新能源
有一种男人以“暖”命名
为一条河命名——在白河源
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”