繁体   English   中英

改善非英语文本上的NER标签结果

[英]Improve NER label results on non-English text

我正在研究一些中世纪的拉丁文字,并且正在使用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']}

位置应为:Panormi,Bruges,Melite和PERSONAL的名称应为所有其他名称,但Unde,Apoca,Coram,Testamur,Renunciando既不是地点,也不是个人名称。

我当时想忽略标签,而是执行一些分类ML算法。 问题是我没有任何可用的训练数据,并且我认为可能有用的唯一可能的可用语料库是Proiel树库,该树库将专有名词标记为NE。 你怎么会遇到这样的问题?

也许如果您有足够的原始文本,则可以尝试训练自定义Word2vec模型(或嵌入其他单词,甚至可以使用spacy中的单词...)。

这样,您可以构建基本的映射词->向量,并使用它来比较提取的术语。 从理论上讲,具有较近语义含义的术语(城市与城市,名称与名称)应具有更多相似的向量(余弦是比较这些向量的通常很好的方法)。

然后,如果您将一些术语归类为城市,将一些术语归类为名称,则可以尝试进行一些自定义分类(例如:城市和要分类的每个新术语的名称之间的前n个最接近的元素:如果前n个最相似的元素是在“城市”组中,则您的用语很可能在城市组中)。

这只是一个基本概念,我不知道它的精确程度。 我一直在使用它来进行快速分类,而没有任何训练数据集(但原始文本),并且在我的任务中表现出色,而且类别数量很多。 它在很大程度上取决于您为每个班级提供的示例以及您的word2vec tho的质量。 而且它处理多义性也很差。

另外: 也许看看https://datascience.stackexchange.com,因为这与代码不完全相关,而是关于使用方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM