|
|
1
12
这个
Spacy documentation
因为向量相似性解释了它的基本思想:
现在,单词嵌入 完整的句子 就是所有不同单词的平均值。如果现在有很多词汇在语义上位于同一区域(例如“he”、“was”、“this”等填充词),并且附加词汇“cancels out”,那么您可能会得到类似的结果,如案例所示。
遗憾的是,目前还没有一个干净的方法可以简单地解决这个问题。 |
|
|
2
20
Spacy通过平均单词嵌入来构造句子嵌入。因为,在一个普通的句子里,有很多没有意义的词(叫做 stop words
或者只保留名词,因为它们有最多的信息:
|
|
|
3
6
正如其他人所指出的,您可能希望使用通用句子编码器或Infersent。 对于通用句子编码器,您可以安装预构建的空间模型来管理TFHub的包装,这样您只需安装带有pip的包,向量和相似性就可以按预期工作。 您可以按照此存储库的说明操作(我是作者) https://github.com/MartinoMensio/spacy-universal-sentence-encoder-tfhub
|
|
|
4
3
正如@dennlinger所指出的,Spacy的句子嵌入只是所有单词向量嵌入的平均值。因此,如果你有一个否定词的句子,比如“good”和“bad”,它们的向量可能会相互抵消,导致不太好的上下文嵌入。如果你的用例是特定于获得句子嵌入的,那么你应该尝试下面的SOTA方法。 我已经尝试了这两种嵌入,并给你很好的结果,从大多数时候开始,使用单词嵌入作为构建句子嵌入的基础。 干杯! |