实体识别


文档摘要

实体识别 到目前为止,我们主要集中在一种NLP任务——分类。然而,还有其他一些可以通过神经网络完成的NLP任务。其中一个任务是命名实体识别(NER),它处理在文本中识别特定实体的问题,例如地点、人名、时间区间、化学公式等。 课前测验 使用NER的示例 假设你想开发一个自然语言聊天机器人,类似于亚马逊Alexa或谷歌助手。智能聊天机器人的工作方式是通过输入句子的文本分类来“理解”用户的需求。这种分类的结果被称为“意图”,它决定了聊天机器人应该做什么。 图片由作者提供 但是,用户可能会在句子中提供一些参数。例如,当询问天气时,她可能会指定一个地点或日期。聊天机器人需要能够理解这些实体,并相应地填充参数槽位,然后执行操作。这就是NER发挥作用的地方。 ✅ 另一个例子是分析科学医学论文。

实体识别

到目前为止,我们主要集中在一种NLP任务——分类。然而,还有其他一些可以通过神经网络完成的NLP任务。其中一个任务是**命名实体识别**(NER),它处理在文本中识别特定实体的问题,例如地点、人名、时间区间、化学公式等。

课前测验

使用NER的示例

假设你想开发一个自然语言聊天机器人,类似于亚马逊Alexa或谷歌助手。智能聊天机器人的工作方式是通过输入句子的文本分类来“理解”用户的需求。这种分类的结果被称为“意图”,它决定了聊天机器人应该做什么。

聊天机器人NER

图片由作者提供

但是,用户可能会在句子中提供一些参数。例如,当询问天气时,她可能会指定一个地点或日期。聊天机器人需要能够理解这些实体,并相应地填充参数槽位,然后执行操作。这就是NER发挥作用的地方。

✅ 另一个例子是分析科学医学论文。我们需要查找的主要内容是一些特定的医学术语,如疾病和医疗物质。虽然一小部分疾病可能可以通过子串搜索提取出来,但更复杂的实体,如化学化合物和药物名称,则需要更复杂的方法。

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模型

由于NER模型本质上是一个标记分类模型,我们可以使用我们已经熟悉的RNN来进行此任务。在这种情况下,每个循环网络块将返回标记ID。下面的示例笔记本展示了如何训练LSTM进行标记分类。

✍️ 示例笔记本:NER

继续在下面的笔记本中学习:

结论

NER模型是一种标记分类模型,这意味着它可以用于执行标记分类。这是NLP中非常常见的任务,有助于识别文本中的特定实体,包括地点、名称、日期等。

挑战

完成下面链接中的作业,训练一个用于医学术语的命名实体识别模型,然后尝试在一个不同的数据集上使用它。

课后测验

复习与自学

阅读博客文章循环神经网络的不合理有效性,并按照该文章的进一步阅读部分深入学习。

作业

在本节课的作业中,你将不得不训练一个医学实体识别模型。你可以从训练一个如本文所述的LSTM模型开始,然后继续使用BERT变换器模型。请阅读说明以获取所有细节。

声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。


发布者: 作者: 转发
评论区 (0)
U