【问题标题】:Is there a way of creating a cosine similarity matrix between sentence embeddings having different values?有没有办法在具有不同值的句子嵌入之间创建余弦相似度矩阵?
【发布时间】:2023-03-15 10:50:01
【问题描述】:

我想创建一个大小为 7x7 的余弦相似度矩阵,其中矩阵的每个元素将是两个大小为 1024 的数组的余弦相似度。

[[ 0.1463873   0.6160218  -0.8804966  ...  1.520877    0.09114664
   0.14081596]]
[[ 0.54208326  0.7649026  -1.4366877  ...  1.6818116  -0.20427406
   0.3631045 ]]
[[ 0.32065052  0.67767006 -1.2465438  ...  0.6658634  -0.17746
   0.39568862]]
[[ 0.25573847  0.70055985 -1.1845624  ...  1.4804083  -0.34156996
   0.04723666]]
[[ 0.62882924  1.3213214  -1.4690932  ...  1.3146497  -0.1773764
  -0.4018889 ]]
[[ 0.82711285  1.1108592  -1.1221949  ...  1.4259428  -0.41509023
  -0.03925738]]
[[-0.04750526  0.42094198 -1.2134333  ...  0.7967724  -0.08025895
   0.32510945]]

假设这些是 7 个数组,每个数组的大小为 1024。我想在它们之间生成一个余弦相似度矩阵,使得矩阵的大小为 7x7。有什么办法吗?

【问题讨论】:

    标签: python arrays matrix nlp cosine-similarity


    【解决方案1】:

    我相信您正在寻找的是 sklearn 的 cosine_similarity 函数。
    看看this

    另外,this 在风筝上也有一个很好的例子。

    调用 sklearn.metrics.pairwise.cosine_similarity(array) 返回一个 包含数组行的余弦相似度的数组。这 结果的第 i 行第 j 列中的值是余弦 数组第 i 行和第 j 行的相似度。

    【讨论】:

      猜你喜欢
      • 2017-06-13
      • 2019-04-07
      • 2020-10-28
      • 1970-01-01
      • 2017-04-15
      • 2019-02-10
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多