【问题标题】:Spacy NER doesn't identify lowercase entitiesSpacy NER 不识别小写实体
【发布时间】:2019-06-18 09:52:38
【问题描述】:

我在检测以小写字母开头的命名实体时遇到问题。我已经尝试了链接https://github.com/explosion/spaCy/issues/701 上提供的解决方案。它似乎不适合我。

===== 关于 spaCy 的信息==============

spaCy version    2.1.4
Platform         Darwin-16.7.0-x86_64-i386-64bit
Python version   3.6.5
Models           en
import spacy
from spacy import displacy
nlp = spacy.load('en_core_web_sm')
sk = nlp.vocab[u'south korea']
SK = nlp.vocab[u'South Korea']
sk.is_lower = SK.is_lower
sk.shape = SK.shape
sk.shape_ = SK.shape_
sk.is_upper =SK.is_upper
sk.cluster = SK.cluster
sk.is_title = SK.is_title
doc = nlp(u'south korea is a country in asia')
for word in doc:
    print(word.text, word.tag_, word.ent_type_) 

预期的输出是:

south NNP GPE
korea NNP GPE
is VBZ 
a DT 
country NN 
in IN 
asia NNP 

但是上面代码的输出是:

south JJ 
korea NN 
is VBZ 
a DT 
country NN 
in IN 
asia NNP 

【问题讨论】:

    标签: nlp spacy named-entity-recognition


    【解决方案1】:

    NE 识别器是机器学习的,因此依赖于它在训练数据中看到的最强特征。

    您可以使用 truecaser/recaser,这是一种静态模型,可修复小写文本中的大小写并将输出传递给 spacy。您可以使用:

    或者,您可以尝试 train your recognizer 并修改您的训练数据,使其也包含小写实体,但这是一个相当乏味的过程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-13
      • 1970-01-01
      • 2017-06-19
      • 2012-04-20
      • 2021-05-06
      • 1970-01-01
      • 2020-02-06
      • 1970-01-01
      相关资源
      最近更新 更多