相同的句子在 XLNet 中产生不同的向量

Ano*_*ram 5 python nlp bert-language-model huggingface-transformers sentence-transformers

我使用XLNet embedding-as-service计算了两个相同句子的向量。但是该模型为两个相同的句子生成不同的向量嵌入,因此余弦相似度不为 1,欧几里得距离也不为 0。在 BERT 的情况下,它工作得很好。例如; 如果

vec1 = en.encode(texts=['he is anger'],pooling='reduce_mean')
vec2 = en.encode(texts=['he is anger'],pooling='reduce_mean')
Run Code Online (Sandbox Code Playgroud)

模型(XLNet)表明这两个句子不相似。

Dav*_*cco 0

作为解决方法,如果您有一定的灵活性,那么使用普通transformers库怎么样?

由于。。。导致的结果

from transformers import pipeline
embedder = pipeline("feature-extraction", model="xlnet-base-cased")
embedder("he is anger")
Run Code Online (Sandbox Code Playgroud)

是确定性的。