NER与无监督学习?

数据挖掘 nlp 无监督学习 命名实体识别
2022-02-28 02:40:35

如果我们将 NER 视为分类/预测问题,我们将如何处理不在训练语料库中的名称实体?

例如,“詹姆斯出生在英国”。James 被标记为 PERSON,England 被标记为 LOCATION。但是我们输入了另一个完全奇怪的句子,例如“Fyonair 来自 Fuabalada”。作为人类,我们可以理解 Fyonair 是一个人(或者也许是童话中的公主),而 Fuabalada 是她来自的土地。

如果它不包含在数十亿的语料库和令牌中,我们的模型将如何识别它?无监督学习能完成这个任务吗?

2个回答

如果我们将 NER 视为分类/预测问题,我们将如何处理不在训练语料库中的名称实体?

NER Tagger 的目标是在给定一组预先指定的类的情况下,学习可用于对单词(或更一般地,标记)进行分类的语言模式。这些类是在训练之前定义的并且保持不变。类,例如:PERSON, DATETIME, ORGANIZATION, ... 你可以命名它。

一个好的 NER 标注器将学习一种语言的结构,并识别出"Fyonair is from Fuabalada land."遵循一些语言规则和规律,并且从这些规律(在训练期间自主学习)中,分类器可以将FyonairclassPERSONFuabaladaclass 归类LOCATION


如果它不包含在数十亿的语料库和令牌中,我们的模型将如何识别它?

事实上,深度学习模型往往比其他具有非常大数据集(所谓的“大数据”)的模型更好地工作。在小型数据集上,它们并不是非常有用。


无监督学习能完成这个任务吗?

NER 标记是一项有监督的任务。您需要一组标记示例的训练集来为此训练模型。但是,可以做一些无监督的工作来稍微提高模型的性能。我从Geron 的书中摘录了一段有用的段落:

假设您要处理一项没有太多标记训练数据的复杂任务 [...] 如果您可以收集大量未标记的训练数据,则可以尝试使用它来训练无监督模型,例如自动编码器或生成对抗网络 [...] 然后您可以重用自动编码器的较低层或 GAN 鉴别器的较低层,在顶部添加任务的输出层,并使用监督学习微调最终网络(即标签训练示例)。

Geoffrey Hinton 和他的团队在 2006 年使用的正是这种技术,并导致了神经网络的复兴和深度学习的成功。

[页。349,第 2 版。]

(有史以来最好的机器学习书籍,恕我直言。)

这种无监督预训练是我能想到的将无监督模型用于 NER 的唯一方法。

祝你任务顺利!

首先,当我们人类解释“Fyonair 来自 Fuabalada 土地”时,我们使用“来自”“X 土地”的知识来推断Fyonair可能是一个人,而Fuabalada 土地可能是一个地点。因此我们的过程不是(至少不是完全)无监督的:我们之前已经看到过这个句子结构(“训练”),我们使用我们的“模型”来“预测”这两个实体。

一个好的(监督的)NER也被训练来识别这种模式。你提到的例子可能有点太难了,但是像“Fyonair 博士是 Fubalada 的新 CEO”这样一个体面的 NER 应该能够识别“Fyonair 博士”是一个人(感谢“Dr”)并且“Fubalada”是一家公司(感谢“CEO of”),尽管它从未见过这些特殊的专有名称。

因此,标准(监督)NER 应该能够识别它以前从未见过的实体,只要它在句子中有关于它们的线索。从技术上讲,如果它只识别它在训练期间看到的实体,它就不是最先进的 NER,它只是一个字符串匹配程序。的确,NER 会在实体上犯很多以前从未见过的错误,但这仅仅是因为它们通常更难被捕获。