[英]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.