首页 / 资料库 / 微软 · AI 入门

资料库12 分钟读完MIT自然语言处理命名实体识别词元分类BIO标注

命名实体识别

译自《Named Entity Recognition》 · 查看英文原文

原文出处Named Entity Recognition 原作者:Microsoft · 许可证:MIT License 中文译本由诸葛AI学院整理,仅供学习参考,版权归原作者与微软所有。

命名实体识别

到目前为止,我们聊得最多的是 NLP 的一个任务:分类。神经网络还能做别的 NLP 任务,命名实体识别(Named Entity Recognition,NER)就是其中之一。它负责认出文本里的具体实体,比如地名、人名、日期时间区间、化学分子式之类。

课前测验

NER 的使用示例

假设你要开发一个自然语言聊天机器人,像 Amazon Alexa 或 Google Assistant 那样。智能聊天机器人的工作原理,是对输入句子做文本分类,从而理解用户想要什么。分类的结果就是所谓的意图(intent),它决定机器人该去做什么。

原文此处有一张作者自绘的示意图,画的是聊天机器人先从用户话语里识别意图,再用 NER 抽出实体填充参数槽位的过程。

不过,用户可能在一句话里顺带给出一些参数。比如问天气时,她可能说明地点或日期。机器人要能识别这些实体,在动手执行之前把参数槽位填好。NER 派的正是这个用场。

再举一个例子:分析医学科研论文。我们要找的主要是具体的医学术语,比如疾病和医学物质。少数疾病大概用子字符串搜索就能抽出来,但更复杂的实体,比如化学化合物和药物名称,需要更复杂的办法。

NER 即词元分类

NER 模型本质上是词元分类(token classification)模型:对每个输入词元,要判断它属不属于某个实体;如果属于,还要判断属于哪个实体类别。

看下面这个论文标题:

Tricuspid valve regurgitation and lithium carbonate toxicity in a newborn infant. (新生儿三尖瓣反流与碳酸锂中毒。)

里面的实体有:

  • 三尖瓣反流(Tricuspid valve regurgitation)是一种疾病(DIS
  • 碳酸锂(lithium carbonate)是一种化学物质(CHEM
  • 中毒(toxicity)也是一种疾病(DIS

注意,一个实体可以横跨好几个词元;而且像这个例子里,还得把紧挨着的两个实体区分开。所以常见做法是每个实体用两个类别:一个标记实体的首个词元(常用 B- 前缀,取自 beginning,开始),一个标记实体的后续词元(I-,取自 inner token,内部词元)。剩下的词元统一归入 O 类(other,其他)。这种词元标注法叫 BIO 标注(也叫 IOB)。标注完成后,上面这个标题长这样:

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

因为要在词元和类别之间建立一一对应,我们可以从这张图里选最右侧的多对多(many-to-many)神经网络结构来训练:

原文此处有一张图(第 17 课引用过的常见循环神经网络模式图,展示一对一、多对一、一对多、多对多几种结构),出自 Andrej Karpathy 的这篇博客。NER 词元分类模型对应的就是图中最右侧的多对多架构。

训练 NER 模型

既然 NER 模型本质上是词元分类模型,我们完全可以把前面学过的 RNN 直接拿来用。这种情况下,循环网络的每个单元块都会返回一个词元 ID。下面这个 notebook 演示如何训练 LSTM 做词元分类。

✍️ 示例 Notebook:NER

继续在下面的 notebook 里学:

本课小结

NER 模型是一个词元分类模型,也就是说它可以执行词元分类任务。这在 NLP 里很常见,帮助识别文本中的具体实体,包括地名、人名、日期等等。

🚀 挑战

完成下面链接的作业:训练一个医疗术语的命名实体识别模型,然后换一个数据集再试试。

课后测验

复习与自学

读一遍博客《循环神经网络为何出奇地有效》(The Unreasonable Effectiveness of Recurrent Neural Networks),跟着文中的 Further Reading(延伸阅读)部分继续深入。

作业

这节课的作业要求训练一个医疗实体识别模型。你可以按本课讲的方法先训一个 LSTM,再进阶到 BERT 这类 Transformer 模型。具体细节见作业说明

这篇在讲什么,跟咱们的课怎么对?

资料库是大厂公开教材的中文译本,偏原理和工程做法。想看面向中小企业的白话版本,去入门课场景课