【发布时间】:2021-08-11 13:45:45
【问题描述】:
我想检查第一个数组的第一个元素与第二个数组的所有其他元素的余弦相似度,然后检查第一个元素的第二个元素与第二个数组的所有元素的余弦相似度,依此类推。我还想存储所有匹配的数组。
df1
title
Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet
df2
claim
fact checked claims one
fact checked claims tweet
from sklearn.metrics.pairwise import cosine_similarity
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('bert-base-nli-mean-tokens')
title=df1['title'].tolist()
claim=df2['claim'].tolist()
title=model.encode(title)
claim=model.encode(claim)
from sklearn.metrics.pairwise import cosine_similarity
for i in title:
for j in claim:
cosine_similarity(title[i].reshape(1,-1),claim[j].reshape(1,-1))
错误
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-26-7d0694ac4823> in <module>()
1 for i in title:
2 for j in claim:
----> 3 cosine_similarity(title[i].reshape(1,-1),claim[j].reshape(1,-1))
4
IndexError: arrays used as indices must be of integer (or boolean) type
【问题讨论】:
-
欢迎来到Stack Overflow.!如果不查看产生问题的数据和您编写的代码,就很难回答您的问题。请阅读如何提出一个好的问题并尝试发布Minimal Reproducible Example,以便我们更好地帮助您。
-
@itprorh66 哎呀,我已经添加了数据集,
-
请贴出以 Traceback 开头的整个错误信息
-
@itprorh66 更新错误,请查看
标签: python python-3.x loops for-loop word-embedding