1

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")))

ここで何が欠けているのかわかりません。

4

1 に答える 1