我试图计算两个列表之间的相似性。它们的大小差别很大(一个有10句话),另一个有2万句话。目标是让短列表中的每个句子在大列表中找到最相似的句子。你知道吗
我试着使用spacy,但我不能使用类似于most_similar的东西,只打印每个句子的前3个相似性(在这个测试中,只有前3个,有我的大量数据,前10个)。你知道吗
import spacy
little_list = ['nouveau livre révélant', 'bibliothèque pour la modélisation du sujet', 'potentiellement embarrassant']
big_list = ['plusieurs internationaux', 'quotidiens', 'il a grossi', 'pour rendre ces histoires disponibles', 'a aidé à prendre le contrôle', 'une catégorie pouvant inclure les emplois mêmes']
nlp = spacy.load("fr_core_news_sm")
little = list(nlp.pipe(little_list))
big = list(nlp.pipe(big_list))
scores = [(token1.text, token2.text, token1.similarity(token2)) for token2 in big for token1 in little]
import pandas as pd
df = pd.DataFrame(scores)
print(df)
我的输出:
0 1 2
0 nouveau livre révélant plusieurs internationaux -0.131661
1 bibliothèque pour la modélisation du sujet plusieurs internationaux 0.072430
2 potentiellement embarrassant plusieurs internationaux -0.267387
3 nouveau livre révélant quotidiens 0.060414
4 bibliothèque pour la modélisation du sujet quotidiens 0.036732
5 potentiellement embarrassant quotidiens -0.024117
6 nouveau livre révélant il a grossi 0.243315
7 bibliothèque pour la modélisation du sujet il a grossi -0.033608
8 potentiellement embarrassant il a grossi 0.214442
9 nouveau livre révélant pour rendre ces histoires disponibles 0.053788
10 bibliothèque pour la modélisation du sujet pour rendre ces histoires disponibles 0.061164
11 potentiellement embarrassant pour rendre ces histoires disponibles 0.045495
12 nouveau livre révélant a aidé à prendre le contrôle 0.512961
13 bibliothèque pour la modélisation du sujet a aidé à prendre le contrôle 0.372229
14 potentiellement embarrassant a aidé à prendre le contrôle 0.118832
15 nouveau livre révélant une catégorie pouvant inclure les emplois mêmes 0.159283
16 bibliothèque pour la modélisation du sujet une catégorie pouvant inclure les emplois mêmes 0.191632
17 potentiellement embarrassant une catégorie pouvant inclure les emplois mêmes 0.086039
我只想打印零栏句子的三个主要相似之处。你知道吗
我希望我能解释清楚!你知道吗
好吧,我想我明白你的意思。你知道吗
从你和你的朋友在一起的地方。您可以按小列表中的句子分组,然后对组内的分数进行排序,并打印前三名。你知道吗
相关问题 更多 >
编程相关推荐