我尝试了不同的句子相似度方法,即:
spaCy 模型:en_core_web_md和en_core_web_lg。
变形金刚:使用包sentence-similarity和sentence-transformers,我尝试过诸如distilbert-base-uncased,bert-base-uncased或 之类的模型sentence-transformers/all-mpnet-base-v2。
通用句子编码:使用包spacy-universal-sentence-encoder、同型号en_use_md和en_use_cmlm_lg。
然而,虽然这些模型通常可以正确检测等效句子的相似性,但在输入否定句子时它们都会失败。例如,这些相反的句子:
返回与模型0.931 的相似度en_use_md。
然而,可以认为非常相似的句子:
返回较小的相似度: 0.914。
我的问题是:有什么办法解决这个问题吗?在计算相似度时是否有其他模型/方法考虑句子的肯定/否定性质?
python nlp sentence-similarity spacy huggingface-transformers