问题标签 [spacy-transformers]

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 回答
565 浏览

named-entity-recognition - 在函数注册表“架构”中找不到函数“spacy-transformers.TransformerModel.v3”

我试图创建一个自定义的 NER 模型。我使用 spacy 库来创建模型。而这行代码就是从文件中创建配置base.config文件。 我的代码是:

错误

可用名称:

0 投票
1 回答
381 浏览

spacy - 如何将现有的拥抱脸变压器模型用于 spacy?

我在这里问你们是否可以使用现有的训练有素的抱脸变形器模型和 spacy。

我的第一次天真的尝试是通过 加载它spacy.load('bert-base-uncased'),它没有工作,因为 spacy 需要某种结构,这是可以理解的。

现在我试图弄清楚如何使用该spacy-transformers库来加载模型,创建 spacy 结构,并从那时起将其用作普通的 spacy 感知模型。

我不知道这是否可能,因为我找不到有关该主题的任何内容。我尝试阅读文档,但我发现的所有指南、示例和帖子都是从 spacy/en_core_web_sm 之类的 spacy 结构化模型开始的,但是该模型最初是如何创建的?我可以相信有人必须用 spacy 重新训练所有东西。

我能得到你的帮助吗?

谢谢。

0 投票
1 回答
109 浏览

spacy - 向 spacy 模型添加自定义标点符号

您如何将自定义标点符号(例如星号)添加到 Tokenizer 中的中缀列表中,并将其识别nlp.explain为标点符号?我希望能够从集合中缀列表中将当前未被识别为标点符号的字符添加到标点符号列表中,以便匹配器在匹配时可以使用它们{'IS_PUNCT': True}

此处提供了对类似问题的答案 如何将自定义符号添加到 spaCy 的标点符号功能?

唯一的问题是我无法将新识别的标点符号与模型打包。附注:分词器已经识别出带有所需标点符号的中缀,所以剩下的就是将其传播到匹配器。

0 投票
1 回答
139 浏览

python - 如何在 BucketIterator 中迭代标记化的 pytorch Multi30k 数据集?

我正在使用 Pytorch(1.10 v),我正在使用 Multi30k 德语到英语数据集进行机器翻译。我正在使用 spacy 进行标记化(英语和德语单词),并希望将标记化的数据传递给(torchtext.legacy.data.BucketIterator)以进行填充并将字符串转换为索引。发生与 sort_key 相关的一些错误,我没有得到它。有人,请帮帮我。

编码

错误

0 投票
2 回答
201 浏览

python - 如何将自定义转换应用于我的自定义数据集 pytorch

我在 pytorch 项目中创建了我的自定义数据集,我需要通过转换向我的数据集添加高斯噪声。我的数据集是 1 和 -1 的二维数组。我执行以下操作:

要检查结果:

什么都没发生。但自定义转换在 MyDataset 类之外运行良好:

不明白问题出在哪里,谢谢

0 投票
0 回答
59 浏览

python - 我如何在 spacy 版本 2 中使用thinc.types

我正在使用spacy version==2.2.4名称实体识别并希望使用相同的版本来测试自定义 spacy 关系提取管道。但不幸的是,在使用上述 spacy 版本运行自定义关系提取模型时,我遇到了以下问题。

我已经使用spacy github链接来训练自定义关系提取管道。对于培训,我使用了spacy==3.1.4.

现在,我需要连接两个不同的模型,而名称实体识别是在 spacy 版本 2 上训练的,而 spacy 关系提取模型在 spacy 版本 3 上工作得很好。

我做了一些调试,这是我的结果

  1. 我在spacy github issue 7219中读到,要使用 spaCy v2 的关系提取模型,请使用spacy-transformers==0.6.2. 我做了完全相同但没有成功。关于 spacy 变压器的 pypi 链接说 spacy 变压器需要spacy>=3.0
  2. 我并没有停止那里的研究,而是去了另一个spacy github issue 7910,它说使用thinc version 8.0.3. 此版本不兼容spacy==2.2.4

我面临使用 spaCy v2 测试自定义 spaCy 关系提取管道的问题。如果不可能,那么解决方案之一是在两端使用相同的 spacy 版本。我可以很容易地实现这一点,但在两者之间还有另一个挑战,即在两者之间也使用了不能与 spaCy v3 一起安装的神经核。所以这个问题的任何解决方案都将有助于解决这个问题。

我也在考虑为(NER + Coreference)和(关系提取)使用不同的环境。这听起来是不是一个很好的解决方案。

0 投票
0 回答
166 浏览

python - ImportError:无法从“变压器”导入名称“AlbertModel”-Bert summaryer

我正在尝试通过以下步骤用“使用 BERT 进行文本汇总”来总结一些文本:首先,安装:

其次,导入摘要器:

然后我得到了这样的 importError: cannot import name 'AlbertModel' from 'transformers'

我的参考资料:https ://medium.com/analytics-vidhya/text-summarization-using-bert-gpt2-xlnet-5ee80608e961

0 投票
0 回答
46 浏览

nlp - 如何使用自定义 spacy ner 模型初始化 tok2vec Transformer

我在使用自定义 spacy ner 模型初始化 tok2vec Transformer 时遇到了一些麻烦。在管道中的 ner 步骤开始之前,如何正确使用 tok2vec?

在里面:

训练:

0 投票
1 回答
22 浏览

spacy-3 - 我可以在培训后更新 spacy 的实体链接知识库吗?

假设我已经成功地训练了一个实体链接模型,并且它工作得很好。但是,最终,我将更新知识库的一些别名。只是一些别名不是描述也不是新实体。

我知道 spacy 有一种方法可以做到这一点:kb.add_alias(alias="Emerson", entities=qids, probabilities=probs). 但是,如果我必须在培训过程之后这样做呢?我应该重新运行所有内容,还是更新知识库?

0 投票
1 回答
83 浏览

spacy - Spacy v3 - ValueError: [E030] Sentence boundaries unset

I'm training an entity linker model with spacy 3, and am getting the following error when running spacy train:

ValueError: [E030] Sentence boundaries unset. You can add the 'sentencizer' component to the pipeline with: nlp.add_pipe('sentencizer'). Alternatively, add the dependency parser or sentence recognizer, or set sentence boundaries by setting doc[i].is_sent_start. .

I've tried with both transformer and tok2vec pipelines, it seems to be failing on this line: File "/usr/local/lib/python3.7/dist-packages/spacy/pipeline/entity_linker.py", line 252, in update sentences = [s for s in eg.reference.sents]

Running spacy debug data shows no errors.

I'm using the following config, before filling it in with spacy init fill-config:

I can write a script to add the sentence boundaries in manually to the docs, but am wondering why the sentencizer component is not doing this for me, is there something missing in the config?