如何提高数据帧内字符串相似度得分的计算速度?

问题描述 投票:0回答:1

我有一个数据框如下:

df = pd.DataFrame(data=[[1, 'Berlin',], [2, 'Paris', ],
                    [3, 'Lausanne', ], [4, 'Bayswater',],
                    [5, 'Table Bay', ], [6, 'Bejing',],
                    [7, 'Bombay',], [8, 'About the IIS']],
                    columns=['id', 'text'],)

我想用库水母中的jaro_winkler来计算每个字符串与所有其余字符串的相似度得分,并输出最相似度或得到相似度得分矩阵如下:

      str1 str2 str3
str1    1   0.6  0.7
str2    0.6  1   0.3
str3    0.7  0.3  1

我怎么能以快速的方式得到这个结果。现在我只使用循环来比较每个并将结果存储在列表中。

 def sim_cal(string1, string2):
     similar = jellyfish.jaro_winkler(string1, string2)
     return similar

但是如果数据变大,速度会很慢,所以如果有任何办法可以加快速度吗?

谢谢。

python pandas nlp similarity
1个回答
0
投票

有了Gensim,你可以做像this这样的事情。

我在这个定时的例子中使用了GloVe

enter image description here

不会说谎,这很有趣。

© www.soinside.com 2019 - 2024. All rights reserved.