gpt4 book ai didi

python - 区分大小写的实体识别

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:39 25 4
gpt4 key购买 nike

我的关键字都以小写形式存储,例如“discount nike shoes”,我正在尝试对其执行实体提取。我遇到的问题是,当涉及到 NER 时,spaCy 似乎区分大小写。请注意,我不认为这是 spaCy 特有的。

当我跑...

doc = nlp(u"i love nike shoes from the uk")

for ent in doc.ents:
print(ent.text, ent.start_char, ent.end_char, ent.label_)

...什么都没有返回。

当我跑...

doc = nlp(u"i love Nike shoes from the Uk")

for ent in doc.ents:
print(ent.text, ent.start_char, ent.end_char, ent.label_)

我得到以下结果...

Nike 7 11 ORG
Uk 25 27 GPE

我应该把所有的东西都用标题大小写吗?我可以使用其他解决方法吗?

最佳答案

spaCy 的 pre-trained statistical models接受了大量一般新闻和网络文本的训练。这意味着实体识别器可能只看到非常少的全小写示例,因为在这些类型的文本中这种情况要少得多。在英语中,大写也是命名实体的有力指标(与德语不同,所有名词通常都大写),因此该模型可能更关注这一点。

如果您正在处理没有正确大写的文本,您可能需要微调模型以降低此处的敏感度。请参阅 updating the named entity recognizer 上的文档了解更多详情和代码示例。

希望生成训练示例不会很困难,因为您可以使用现有的注释和数据集,或者使用预训练模型创建一个,然后将所有内容小写。例如,您可以使用适当大写的文本,在其上运行模型并提取文本中的所有实体范围。接下来,将所有文本小写,并使用新数据更新模型。确保在文本中混合使用适当的大写字母,因为您不希望模型学习“现在一切都是小写字母!大写字母不再存在!”之类的东西。

顺便说一句,如果您有可以使用列表或规则集定义的实体,您可能还想查看 EntityRuler component .它可以与统计实体识别器结合使用,让您传入完全匹配的字典或不区分大小写的抽象标记模式。例如,[{"lower": "nike"}] 将匹配一个小写形式为“nike”的标记——因此“NIKE”、“Nike”、“nike”、“NiKe”等.

关于python - 区分大小写的实体识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56384231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com