Simhash モジュール ( https://github.com/leonsim/simhash ) をチェックしていました。
Simhash("String").distance(Simhash("Another string")) は、2 つの文字列間のハミング距離だと思います。さて、( https://leons.im/posts/a-python-implementation-of-simhash-algorithm/ ) に示すように、この "get_features(string) メソッドを完全に理解しているかどうかはわかりません。
def get_features(s):
width = 2
s = s.lower()
s = re.sub(r'[^\w]+', '', s)
return [s[i:i + width] for i in range(max(len(s) - width + 1, 1))]
ここで、幅 2 を使用して「aaaa」と「aaas」の間の距離を計算しようとすると、距離が 0 になります。
from simhash import Simhash
Simhash(get_features("aaas")).distance(Simhash(get_features("aaaa")))
ここで何が欠けているのかわかりません。