Spacy NER将实体拆分为两个独立的实体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spacy NER将实体拆分为两个独立的实体相关的知识,希望对你有一定的参考价值。

我在下面的文字上做NER

print([(i.text, i.label_) for i in doc.ents])

我的文字看起来像

ZS L-1 Cocoa & Burgers Ltd
-
2013 to 2017

我得到了输出

('ZS L-1', 'ORG'), ('Cocoa & Burgers Ltd', 'ORG'), ('2017', 'DATE')

我怎样才能正确获得ORG名称

('ZS L-1 Cocoa & Burgers Ltd', 'ORG')

此外,它未能将2013年视为DATE实体。我的spacy版本是2.0,我正在使用这个模型 - en_core_web_md-2.0.0。当我在整个文本上做NER时,通常会发生这种情况。当我在公司名称上做NER时,它工作正常。

答案

我没有足够的声誉来评论,所以在这里添加答案:

你有两个解决方案:

您可以根据自己的数据训练模型:

Training spaCy’s Statistical Models

第二个选项尝试下载大型模型,这次你使用的是中型:

Available models : sm,md,lg

您还可以比较小型,大型here的输出:

以上是关于Spacy NER将实体拆分为两个独立的实体的主要内容,如果未能解决你的问题,请参考以下文章

为 SpaCy NER 格式化训练数据集

在简历 (NER) 中标记自定义实体

使用使用nltk 和 spacy进行命名实体提取/识别

将 NER 训练数据转换为 Spacy 训练数据格式

stanford CoreNLP 命名实体识别NER学习笔记

使用 BERT 的偏移量将实体添加到 spacy doc 对象