繁体   English   中英

使用 spacy 通过令牌 ID 提取张量

[英]using spacy to extract tensor by token id

我正在使用 spacy 3.0 使用转换器模型对文本进行矢量化。 由于数据隐私的原因,矢量化必须在与训练模型的机器不同的机器上。 为了减少我生成的数据量以及必须在机器之间传输的数据量,我像这样提取文本的令牌 ID:

import spacy
nlp = spacy.load("de_dep_news_trf")
doc = nlp("Eine Bank steht im Park.")
print(doc._.trf_data.tokens["input_ids"])

返回

tensor([[    3,   917,  2565,  1302,   106,  3087, 26914,     4]])

现在有了 id,是否可以使用 spacy 从语言模型( de_dep_news_trf )中提取正确的张量?

不幸的是,这是不可能的。 问题在于 Transformer 模型为上下文中的各个标记生成嵌入。 意思是,如果你在两个不同的句子中有相同的token_id ,它们可能会有(显着)不同的嵌入。 唯一的方法是返回与每个标记关联的张量,但您不能仅根据input_ids生成它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM