问题标签 [spacy-3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1416 浏览

python - Spacy 3 对命名实体识别的置信度得分

我需要获得 NER 'de_core_news_lg' 模型预测的标签的置信度分数。Spacy 2 中有一个众所周知的解决方案:

但是,在 Spacy 3 中,我收到以下错误:

显然language对象不再具有entity属性。有谁知道如何在 Spacy 3 中获得置信度分数?

0 投票
0 回答
158 浏览

nlp - 如何使用 FP16 混合精度训练 Spacy3 项目

目标是以python -m spacy trainFP16 混合精度运行,以便在有限的 VRAM (RTX 2080ti 11 GB) 中使用大型变压器(roberta-large、、albert-large等)。

新的 Spacy3 project.yml训练方法直接使用通过Spacy-transformers v1.0加载的Huggingface-transformers 模型。只需添加标志(如此处所述) ,Huggingface 模型就可以混合精度运行。--fp16

spacy 配置是使用 生成的python -m spacy init config --lang en --pipeline ner --optimize efficiency --gpu -F default.cfg,并由python -m spacy init fill-config default.cfg config.cfg --diff. 但是找不到 FP16 / 混合精度。

重现

使用spaCy 项目:命名实体识别 (WikiNER)并更改init-configproject.yml使用 GPU 和转换器(roberta-base默认情况下):

测试了什么

  • 添加--fp16python -m spacy project run
  • 添加--fp16python -m spacy train
  • 添加fp16 = truedefault.cfg各个部分 ( [components.transformer], [components.transformer.model], [training], [initialize])

逻辑transformers在 FP16 中运行,如下所示:

软件堆栈细节

0 投票
1 回答
722 浏览

python - 在 Spacy 3 中向管道添加自定义组件

我用 Spacy3 训练了一个 NER 模型。我想在 NER 任务的管道中添加一个自定义组件 (add_regex_match)。目的是改进现有的NER结果。

这是我要实现的代码:

当我想使用命令行评估保存的模型 ml_rule_regex_model 时python -m spacy project run evaluate,出现错误:'ValueError: [E002] Can't find factory for 'add_regex_match' for language German (de)。当 spaCynlp.create_pipe使用未在当前语言类上注册的自定义组件名称调用时,通常会发生这种情况。如果您使用的是 Transformer,请确保安装“spacy-transformers”。如果您使用的是自定义组件,请确保您已添加装饰器@Language.component(用于功能组件)或@Language.factory(用于类组件)。

我该怎么做?有没有人有经验?非常感谢您的提示。

0 投票
0 回答
239 浏览

spacy - Spacy [E047] 无法为未注册的扩展属性“trf_data”赋值

我正在尝试使用 Spacy 的 en_core_web_trf 进行句子分离。出于某种原因,我收到“[E047] 无法为未注册的扩展属性 'trf_data' 赋值。你忘记调用该set_extension方法了吗?” 当我将模型切换到 en_core_web_lg 时,它起作用了。知道如何使用 trf 模型吗?谢谢

0 投票
0 回答
169 浏览

config - spaCy v3 [E930] `el_core_news_lg` 的训练配置文件

我想使用el_core_news_lgspaCy v3 中引入的训练配置文件为 NER 任务进一步训练 spaCy 的希腊模型。

spacy train命令抛出错误:

[E923] It looks like there is no proper sample data to initialize the Model of component 'tok2vec'. To check your input data paths and annotation, run: python -m spacy debug data config.cfg

当我spacy debug data按照错误提示运行时,出现错误:

[E930] Received invalid get_examples callback in Tok2Vec.initialize. Expected function that returns an iterable of Example objects but got: []

有任何想法吗?

0 投票
2 回答
219 浏览

python - 我可以使用 spacy 在字符串中识别“问题词”(谁,如何,何时......)?

我有一个字符串

此代码正在打印字符串的所有文本、依赖项和位置。我想在字符串中识别问题词“How”。

0 投票
1 回答
408 浏览

python - 在 Spacy 3.0 中使用预训练的 BERT 嵌入作为 textcat 模型的输入

我正在尝试切换到 Spacy 3.0 的培训配置文件框架,并且无法将设置调整为我想做的事情。简单地说,我想使用一个开箱即用的 textcat 模型(例如,词袋),但传入由预训练的转换器(例如,bert base cased)产生的词嵌入,而不进行任何微调。到目前为止,我一直在使用 Spacy 网站上提供的 texcat 配置模板。

任何帮助将非常感激。如有必要,我可以提供更多详细信息。谢谢!

0 投票
1 回答
975 浏览

python - ImportError 在 jupyter notebook 中加载 spacy

我遇到了一个我似乎无法弄清楚的问题。我第一次将 Spacy 导入 Jupyter 笔记本时没有任何问题。它只是按我的预期导入了它。

我第二次尝试导入它(使用不同的笔记本),我得到:

所以我尝试重新启动内核并再次尝试(认为这可能是问题)。那并没有解决它。同样尝试运行在第一个笔记本中导入 Spacy 的同一单元格在第一次运行良好后现在也会引发错误。

0 投票
1 回答
249 浏览

memory-leaks - 内存泄漏与 en_core_web_trf 模型,Spacy

使用 en_core_web_trf 模型的管道时存在内存泄漏,我使用具有 16GB RAM 的 GPU 运行模型,这是代码示例。

此代码在达到 31K 时会破解,并引发 OOM 错误。

我只是使用管道来预测,而不是训练任何数据或其他东西,并尝试使用不同的批量大小,但什么也没发生,仍然崩溃。

你的环境

  • spaCy 版本: 3.0.5
  • 平台: Linux-4.19.112+-x86_64-with-Ubuntu-18.04-bionic
  • Python版本: 3.7.10
  • 管道: en_core_web_trf (3.0.0)
0 投票
0 回答
16 浏览

python-3.x - 如何在具有 glibc 2.14 的 unix 机器上导入 spacy 3?

我在装有 glibc 2.12 的 Unix 机器上安装了 spacy 3.0.4。当我这样做时import spacy,它会抛出一个错误,提示找不到版本“GLIBC_2.14” 。除了升级到 2.14 之外,还有其他解决方法吗?