gpt4 book ai didi

python - spacy 中空白模型和预训练模型之间的区别

转载 作者:行者123 更新时间:2023-12-05 02:08:27 27 4
gpt4 key购买 nike

我目前正在尝试使用 spacy 训练文本分类器,但我遇到了以下问题:使用 spacy.blank('en') 创建空白模型有什么区别 并使用预训练模型 spacy.load('en_core_web_sm')。只是为了看看我写这段代码的区别:

text = "hello everyone, it's a wonderful day today"

nlp1 = spacy.load('en_core_web_sm')
for token in nlp1(text):
print(token.text, token.lemma_, token.is_stop, token.pos_)

它给了我以下结果:

hello hello False INTJ

everyone everyone True PRON

, , False PUNCT

it -PRON- True PRON

's be True AUX

a a True DET

wonderful wonderful False ADJ

day day False NOUN

today today False NOUN

然后我尝试了这个(对于相同的文本)

nlp2 = spacy.blank('en')
for token in nlp2(text):
print(token.text, token.lemma_, token.is_stop, token.pos_)

结果是

hello hello False

everyone everyone True

, , False

it -PRON- True PRON

's 's True

a a True

wonderful wonderful False

day day False

today today False

不仅结果不同(例如,'s 的引理不同),而且空白模型中的大多数单词也没有词性标注。

很明显,我需要一个预训练模型来规范化我的数据。但我仍然不明白我的数据分类器应该如何处理。我应该 1) 创建一个空白模型来训练文本分类器(使用 nlp.update())并加载一个预训练模型来删除停用词、词形还原和 POS 标记,或者 2) 只加载一个预训练模型两者:规范化和训练我的文本分类器?

提前感谢您的任何建议!

最佳答案

如果您使用的是 spacy 的文本分类器,那么从空白模型开始就可以了。 TextCategorizer 不使用任何其他管道组件的功能。

如果您使用 spacy 为另一个文本分类器预处理数据,那么您需要确定哪些组件对您的任务有意义。预训练模型默认加载标记器、解析器和 NER 模型。

lemmatizer 不是作为单独的组件实现的,它是其中最复杂的部分。它尝试使用可用数据和模型提供最佳结果:

  • 如果您没有安装软件包 spacy-lookups-data 并且您创建了一个空白模型,您将获得小写形式作为默认/虚拟引理。

  • 如果您安装了包 spacy-lookups-data 并创建了一个空白模型,它会自动加载适用于该语言的查找引理。

  • 如果您加载提供的模型并且管道包含标注器,则词形还原器会切换到更好的基于规则的词形还原器,前提是该语言可用 spacy(目前:希腊语、英语、法语、挪威语 Bokmål、荷兰语、瑞典语)。提供的模型还始终包含该语言的查找数据,因此可以在标记器未运行时使用它们。

如果你想从提供的模型中获取查找引理,你可以通过加载没有标记器的模型来查看它们:

import spacy
nlp = spacy.load("en_core_web_sm", disable=["tagger"])

一般来说,查找引理的质量不是很好(没有信息可以帮助处理模棱两可的情况),基于规则的引理会好很多,但是运行标注器确实需要额外的时间,所以你可以选择如果质量足以完成您的任务,查找引理可以加快速度。

如果您不使用解析器或 NER 模型进行预处理,您可以通过禁用它们来加快速度:

nlp = spacy.load("en_core_web_sm", disable=["ner", "parser"])

关于python - spacy 中空白模型和预训练模型之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60888020/

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