实体识别 到目前为止,我们主要集中在一种NLP任务——分类。然而,还有其他一些可以通过神经网络完成的NLP任务。其中一个任务是命名实体识别(NER),它处理在文本中识别特定实体的问题,例如地点、人名、时间区间、化学公式等。 课前测验 使用NER的示例 假设你想开发一个自然语言聊天机器人,类似于亚马逊Alexa或谷歌助手。智能聊天机器人的工作方式是通过输入句子的文本分类来“理解”用户的需求。这种分类的结果被称为“意图”,它决定了聊天机器人应该做什么。 图片由作者提供 但是,用户可能会在句子中提供一些参数。例如,当询问天气时,她可能会指定一个地点或日期。聊天机器人需要能够理解这些实体,并相应地填充参数槽位,然后执行操作。这就是NER发挥作用的地方。 ✅ 另一个例子是分析科学医学论文。
到目前为止,我们主要集中在一种NLP任务——分类。然而,还有其他一些可以通过神经网络完成的NLP任务。其中一个任务是**命名实体识别**(NER),它处理在文本中识别特定实体的问题,例如地点、人名、时间区间、化学公式等。
假设你想开发一个自然语言聊天机器人,类似于亚马逊Alexa或谷歌助手。智能聊天机器人的工作方式是通过输入句子的文本分类来“理解”用户的需求。这种分类的结果被称为“意图”,它决定了聊天机器人应该做什么。
图片由作者提供
但是,用户可能会在句子中提供一些参数。例如,当询问天气时,她可能会指定一个地点或日期。聊天机器人需要能够理解这些实体,并相应地填充参数槽位,然后执行操作。这就是NER发挥作用的地方。
✅ 另一个例子是分析科学医学论文。我们需要查找的主要内容是一些特定的医学术语,如疾病和医疗物质。虽然一小部分疾病可能可以通过子串搜索提取出来,但更复杂的实体,如化学化合物和药物名称,则需要更复杂的方法。
NER模型本质上是标记分类模型,因为对于每个输入标记,我们需要决定它是否属于某个实体,如果是的话,属于哪个实体类别。
考虑以下论文标题:
三尖瓣反流 和 碳酸锂 中毒 在新生儿中。
实体包括:
DIS)CHEM)DIS)注意,一个实体可以跨越多个标记。在这种情况下,我们需要区分两个连续的实体。因此,通常会使用两个类别来表示每个实体——一个指定实体的第一个标记(常使用B-前缀,代表beginning),另一个表示实体的延续(I-,代表inner标记)。我们还使用O来表示所有other标记。这种标记方法称为BIO标记(或IOB)。标记后的标题如下所示:
| 标记 | 标签 |
|---|---|
| 三尖瓣 | B-DIS |
| 瓣膜 | I-DIS |
| 反流 | I-DIS |
| 和 | O |
| 碳酸锂 | B-CHEM |
| 中毒 | B-DIS |
| 在 | O |
| 新生儿 | O |
| 中 | O |
| . | O |
由于我们需要在标记和类别之间建立一对一的关系,我们可以训练一个从这张图中右下角的多对多神经网络模型:

图片来自这篇博客文章,作者是Andrej Karpathy。NER标记分类模型对应于这张图中最右边的网络架构。
由于NER模型本质上是一个标记分类模型,我们可以使用我们已经熟悉的RNN来进行此任务。在这种情况下,每个循环网络块将返回标记ID。下面的示例笔记本展示了如何训练LSTM进行标记分类。
继续在下面的笔记本中学习:
NER模型是一种标记分类模型,这意味着它可以用于执行标记分类。这是NLP中非常常见的任务,有助于识别文本中的特定实体,包括地点、名称、日期等。
完成下面链接中的作业,训练一个用于医学术语的命名实体识别模型,然后尝试在一个不同的数据集上使用它。
阅读博客文章循环神经网络的不合理有效性,并按照该文章的进一步阅读部分深入学习。
在本节课的作业中,你将不得不训练一个医学实体识别模型。你可以从训练一个如本文所述的LSTM模型开始,然后继续使用BERT变换器模型。请阅读说明以获取所有细节。
声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。