有没有其他方法可以找到低开销和高精度的记录之间的相似性度量(除了JaroWinkler算法)?

2024-10-02 20:30:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python中的Jaro-Winkler算法来实现字符串之间的相似度度量,我正在使用anaconda环境,并将其部署在阿里云ECS实例上。你知道吗

我用于查找相似性的示例代码:

from pyjarowinkler import distance
print ("Average Score ---->", distance.get_jaro_distance("hello", "haloa"))

Average Score ---->0.76

当我处理60万条记录时,需要20多分钟。处理大量记录非常慢。有没有其他方法可以在低开销和高精度的记录之间找到相似性度量?你知道吗


Tags: 实例字符串算法环境度量部署记录anaconda
1条回答
网友
1楼 · 发布于 2024-10-02 20:30:40

Jaro-Winkler距离,表示两个字符串之间的相似性分数。Jaro度量是每个文件中匹配字符和转置字符百分比的加权和。Winkler增加了匹配初始字符的度量。你知道吗

最初的实现是基于Jaro-Winkler相似性算法文章的,该文章可以在Wikipedia上找到。原始实现的这个Python版本基于Apache StringUtils library。你知道吗

Unittest类似于StringUtils库中的内容,用于验证实现。你知道吗

>>> from pyjarowinkler import distance
>>> # Scaling is 0.1 by default
>>> print distance.get_jaro_distance("hello", "haloa", winkler=True, scaling=0.1)
0.76
>>> print distance.get_jaro_distance("hello", "haloa", winkler=False, scaling=0.1)
0.733333333333

this link获取更多详细信息

我希望这能对你的问题有所帮助。你知道吗

相关问题 更多 >