问题标签 [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 投票
1 回答
526 浏览

python - SpaCy 3 变压器矢量令牌对齐

我将 SpaCy3.0.1与变压器模型 ( en_core_web_trf) 一起使用。
当我之前使用 SpaCy 转换器时,可以从 aTokenSpan. 然而,在 SpaCy 3 中,您似乎只能通过Doc( doc._.trf_data) 访问转换器向量,而无需与 SpaCy 令牌正确对齐。

如何获得 SpaCy 令牌和向量/字词之间的对齐?
或者,是否有一些函数可以让您直接获取 aToken或的向量Span

0 投票
1 回答
859 浏览

python - 使用 spaCy 3 进行自定义 NER 训练会引发 ValueError

我正在尝试使用 spacy 3 添加自定义 NER 标签。我找到了旧版本的教程并对 spacy 3 进行了调整。这是我正在使用的整个代码:

此代码输出 ValueError 异常,但仅在 2 次迭代后 - 请注意前 2 行:

我看到ANIMAL标签是通过调用添加的ner.move_names

当我更改值LABEL = 'PERSON时,代码会成功运行并将马识别为PERSON新数据。这就是我假设代码本身没有错误的原因。

有什么我想念的吗?我究竟做错了什么?请问有人可以复制吗?

注意:这是我在这里的第一个问题。我希望我提供了所有信息。如果没有,请在评论中告诉我。

0 投票
0 回答
1066 浏览

python - spacy v3 en_core_web_trf 管道和 en_core_web_lg 管道之间的区别

我正在使用 spacy 版本 3 进行一些性能测试,以便在生产中正确调整我的实例大小。我正在观察以下内容

观察:

型号名称 没有NER的时间 NER时间 注释
en_core_web_lg 4.89 秒 21.9 秒 NER 将原始时间增加 350%
en_core_web_trf 43.64 秒 52.83 秒 NER 只比原来的时间增加了 20%

为什么在 Transformer 模型的情况下,有 NER没有 NER场景之间没有显着差异?在 en_core_web_trf 的情况下,NER 只是 POS 标记后的增量任务吗?

测试环境: GPU实例

测试代码:

0 投票
2 回答
602 浏览

python - 无法在 conda 环境中将 spacy 更新到较新的版本 3

我一直在尝试将 spacy 更新到 conda 环境中的新版本。尽管我使用了以下命令conda update spacy=3.0 ,但我还没有成功

0 投票
1 回答
1601 浏览

python - Spacy 3.0 的 nlp.update 问题:TypeError:[E978] Language.update 方法采用示例对象列表,但得到:{}

Spacy 3.0 版似乎对 nlp.update 进行了一些更改。我对这个简单的代码完全感到困惑:

当我执行 type(batch) 时,它表明批处理是类型列表。但是错误消息说它是一个元组。我也尝试将其转换为列表但没有成功。我究竟做错了什么?

确切的错误是:


TypeError Traceback (last last call last) in 22 23 for batch in minibatch(examples, size=8): ---> 24 nlp.update(batch, sgd=optimizer, drop=0.35, loss=losses) 25 26 print( "损失 ({}/{})".format(epoch + 1, epochs), loss)

~/nlp_learn/statbot/.statbot/lib/python3.8/site-packages/spacy/language.py in update(self, examples, _, drop, sgd, loss, component_cfg, exclude) 1090 if len(examples) = = 0: 1091 返回损失 -> 1092 validate_examples(examples, "Language.update") 1093 examples = _copy_examples(examples) 1094 如果 sgd 为 None:

~/nlp_learn/statbot/.statbot/lib/python3.8/site-packages/spacy/training/example.pyx 在 spacy.training.example.validate_examples()

TypeError: [E978] Language.update 方法采用示例对象列表,但得到:{<class 'tuple'>}

这里以 TRAIN_DATA 的第一行为例:('Auf Bauer Lehmanns Hof wird an beiden Pfingsttagen Brot im Backofen gebacken.', {'entities': [(10, 18, 'PER')]})

0 投票
1 回答
110 浏览

python - 如何从头开始创建一个新的 Spacy 3.0 项目?

我正在尝试从头开始为自定义 NLP 管道创建一个新的 Spacy 3.0 项目。似乎没有办法做到这一点。我可以在文档中找到的唯一机制是克隆现有项目存储库,然后对其进行编辑。有没有其他方法可以做到这一点?

0 投票
1 回答
407 浏览

nlp - 将代码从 Spacy2 转换为 Spacy3 - nlp.update 不起作用

编辑:感谢您的评论。我将 doc=nlp(text) 更改为 doc=nlp.make_doc(text)。

我找到了一个我试图复制的代码。它显然是用 Spacy2 编写的:

现在 Spacy3 不再接受文本和注释。因此,我尝试进行如下转换(经过多次绝望的尝试):

现在错误是

Valueerror 为空。我读过这可以连接到小样本?但是现在示例中有超过 5900 项。我正在尝试使用德国模型(de_core_news_lg)。

创建“示例”,他现在还在循环中给出了这个警告:

0 投票
2 回答
121 浏览

python - Android 中的 Spacy 版本错误使用 Chaquopy 和 nlp = spacy.load("en_core_web_sm") 错误

我在使用 chaquopy 时在我的代码中使用 spacy (nlp = spacy.load("en_core_web_sm") 但给出版本不兼容的错误,因为 chaquopy 更喜欢原生轮是任何解决方案,因此可以解决此问题,错误消息的图像如下所示 在这张图片中,我们有 spacy 版本问题

此图显示 spacy 已下载但 chaquopy 下载以前的版本

0 投票
1 回答
49 浏览

python - Python - 长时间运行进程的状态(多个进程的可能性)

我已经使用 Python 和FastAPI构建了一个 API 。使用这个 API,我的目标是训练自定义 spaCy NLP 模型。

这是我的代码:

我通过运行运行应用程序:

然后,我触发一个 POST 请求:http://127.0.0.1:8000/project/train使用以下正文:

我正在触发的子流程python -m spacy project run all基本上是在运行spaCy 工作流,这可能需要相当长的时间(数小时)才能完成。

可以说,在我的团队中,我们是两个用户,每个人都想训练一个自定义模型——这意味着我们都将向 API 发送请求(使用不同的项目令牌),并触发 NLP 模型的训练。

有没有办法可以查询正在运行的进程以获取每个进程的输出/进度?

0 投票
1 回答
207 浏览

python-3.x - 自定义 spacy 停用词并保存模型

我正在使用它来将停用词添加到 spacy 的停用词列表中

nlp.Defaults.stop_words |= {"my_new_stopword1","my_new_stopword2",}

但是,当我使用保存 nlp 对象并使用nlp.to_disk()再次加载它时nlp.from_disk(),我丢失了自定义停用词列表。有没有办法用 nlp 模型保存自定义停用词?

提前致谢