0

我从两个附加文件中提取了两个数据框。我想计算文件中标记的 JaroWinkler 相似度。我正在使用下面的代码。

from similarity.jarowinkler import JaroWinkler
jarowinkler = JaroWinkler()
df_gt['jarowinkler_sim'] = [jarowinkler.similarity(x.lower(), y.lower()) for x, y in zip(df_ex['abstract_ex'], df_gt['abstract_gt'])]

我面临两个问题:

1. 代币订单未处理。当 token 'can' 和 'interesting' 的位置改变时,相似度指数计算错误!!

    Unnamed: 0   abstract_gt  jarowinkler_sim
0            0     Bipartite         1.000000
1            1   fluctuations         0.914141
2            2           can         0.474747 <--|
3            3       provide         1.000000    |-- Position swapped in one file
4            4   interesting         0.474747 <--|
5            5   information         1.000000
6            6         about         1.000000
7            7  entanglement         1.000000
8            8    properties         1.000000
9            9           and         1.000000
10          10  correlations         1.000000

2. 数据框的大小可能并不总是相同的。当其中一个数据框包含较少的元素时,我的解决方案会出错。

raise ValueError(ValueError: 值的长度 (10) 与索引的长度 (11) 不匹配

如何解决这两个问题并准确计算相似度?

谢谢 !!

TSV 文件

1.df_ex

    abstract_ex
0   Bipartite
1   fluctuations
2   interesting
3   provide
4   can
5   information
6   about
7   entanglement
8   properties
9   and
10  correlations

df_gt

    abstract_gt
0   Bipartite
1   fluctuations
2   interesting
3   provide
4   can
5   information
6   about
7   entanglement
8   properties
9   and
10  correlations
4

0 回答 0