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