十九、命名实体识别(Named Entity Recognition/NER)

到目前位置我们主要关注一项NLP任务-分类然而还有其他NLP任务可以采用神经网络完成命名实体识别(Named Entity Recognition)就是其中之一它处理识别文本中指定的实体比如地点人名日期时间间隔化学式等

课前练习

使用NER的示例

假设您想开发一个自然语言聊天机器人类似于Amazon Alexa或者谷歌助手智能聊天机器人的工作原理是通过对输入的语句进行文本分类以理解用户想要什么分类的结果称作意图intent),它决定了聊天机器人应该做什么

图像有作者提供

但用户可能会在短语中提供一些参数作为输入例如当询问天气用户可能指定位置或者日期机器人要有能力理解这些实体并在执行操作之前填入相应的参数这就是NER发挥作用的地方

 另一个例子是分析科学医学论文我们需要查找的主要内容之一是特定的医学术语比如说疾病和医疗物质虽然使用子字符搜索可以提取小部分疾病数复杂的实体比如说化合物名称和药物名称需要使用更复杂的方法

使用NER进行词元(Token)分类

NER模型本质上是一种词元token分类模型因为对于每个输入词元token),我们需要决定它是否属于某个实体如果属于那属于哪个实体类别

考虑如下沦为标题

新生儿婴儿三尖瓣关闭不全和碳酸锂中毒 Tricuspid valve regurgitation and lithium carbonate toxicity in a newborn infant

这里的实体是

  • 三尖瓣关闭不全是一种疾病Tricuspid valve regurgitation is a disease) (DIS)
  • 碳酸锂是一种化学物质Lithium carbonate is a chemical substance) (CHEM)
  • 中毒也是一种疾病Toxicity is also a disease) (DIS)

注意一个实体可以跨越多个词元token)。而且正如这个例子我们需要区分连续的两个实体因此每个实体通常使用两个类别-一个确定第一个token的实体通常使用B-作为签注表示开头),另一个表示实体的延续I-,表示内部词元)。我们也使用O作为一个类别表示所有其他token这种token标记称作BIO 标记或者IOB)。标记后我们的标题将如下所示Notice that one entity can span several tokens. And, as in this case, we need to distinguish between two consecutive entities. Thus, it is common to use two classes for each entity - one specifying the first token of the entity (often the B- prefix is used, for beginning), and another - the continuation of an entity (I-, for inner token). We also use O as a class to represent all other tokens. Such token tagging is called BIO tagging (or IOB). When tagged, our title will look like this:

Token

Tag

Tricuspid

B-DIS

valve

I-DIS

regurgitation

I-DIS

and

O

lithium

B-CHEM

carbonate

I-CHEM

toxicity

B-DIS

in

O

a

O

newborn

O

infant

O

.

O

因为我们需要在token和类别之间简历一对一的对应关系我们可以训练一个最下图的右边的多对多的神经网络模型

图片出自Andrej Karpathy这篇博客文章 。NER 词元token分类模型属于这种图片最右边的神经网络结构

训练NER模型

因为NER模型实质上是一个词元token分类模型我们可以使用我们熟悉的RNN模型来完成这个任务在这种情况下每一个循环神经网络块都将返回词元tokenID以下代码笔记中的示例展示了如何训练LSTM进行词元(token分类

✍示例代码笔记: NER

继续阅读以下代码笔记进行学习

总结

NER模型是一种词元token分类模型这意味着它可以用来执行词元token分类这是NLP中非常常见的任务可以帮助识别文本中的地方名字日期等特定实体

挑战

完成下面链接中的作业训练一个用于识别医疗术语的NER模型然后尝试将其应用于其他数据集上

课后练习

复习与自学

通读这篇博客 《循环神经网络的非凡效果(The Unreasonable Effectiveness of Recurrent Neural Networks)》 并遵循这篇文章中的“进一步阅读”部分加深您的知识

作业

在这节课的作用中您需要训练一个医疗实体识别模型您可以从训练一个这节课中描述的LSTM开始然后使用BERT transform模型进一步训练阅读说明获取所有细节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值