改进非英文文本的 NER 标签结果

数据挖掘 机器学习 分类 命名实体识别
2021-09-23 23:37:23

我正在研究一些中世纪拉丁文本,并使用各种 NER 方法,例如 CLTK(拉丁模型)、Spacy(多语言、意大利语、西班牙语模型)和 StanfordNER(西班牙模型)。当我使用非拉丁模型时,我使用原始拉丁文本,因为翻译后的文本没有任何意义。

幸运的是,Spacy 多语言模型成功地提取了示例文档的所有人物和地点,但我没有将它们视为实体的附加词。此外,标签不正确。

这是一个示例输出:

{'LOC': ['Artali', 'Artalis', 'Bruges', 'Unde'],
'MISC': ['Marianum lu Tignusu'],
 'PER': ['Simone de Mazara',
  'Artalem de Alagona',
  'Apoca',
  'Coram',
  'Pero de Naso',
  'Pero Caruana',
  'Bartholomeo Xacara',
  'Testamur',
  'Artalis de Alagona',
  'Melite',
  'Simonis de Mazara',
  'Simonem',
  'Simone',
  'Mariano',
  'Artalis',
  'Artalem',
  'Simoni',
  'Panormi',
  'Renunciando']}

LOCATIONS 应该是:Panormi、Bruges、Melite 和 PERSONAL 名称应该是除 Unde、Apoca、Coram、Testamur、Renunciando 之外的所有其他名称,它们既不是位置也不是个人名称。

我正在考虑忽略标签并做一些分类 ML 算法。问题是我没有任何可用的训练数据,唯一可能有用的可用语料库是 Proiel 树库,它将专有名词标记为 NE。你会怎么处理这样的问题?

1个回答

您可以采取的一种方法是多任务学习这种方法稍微复杂一些,但可以解决您手头的问题。

这个想法是你训练一个神经网络来执行不同的 NLP 任务。例如:

  • 翻译
  • 词性标注
  • 命名实体识别
  • 分块

或任何其他任务。

但是,您可能有翻译数据(例如西班牙语到拉丁语,或英语到拉丁语),您有西班牙语和英语的 NER 数据,但没有拉丁语的 NER 数据。

多任务学习背后的理论和研究表明,如果您使用该语言学习一项任务,例如翻译,您也可以在其他任务上做得更好,例如 NER。

因此,您可以通过学习其他语言的 NER 并学习翻译、分块和 POS 标记来学习拉丁语中的 NER。

这应该可以解决您在拉丁语中缺少 NER 数据的问题。