2017-08-31 14 views
0

私は次の2つのテキストを持っています:MinHashを介して2つのバッグのJaccard類似性を持つ2つのテキストの類似度を計算する方法は?

text0 = "AAAAAAAAAAAA";

text1 = "AAAAABAAAAAA";

4面取りを使用しています。したがって、text0 = {AAAA}、text1 = {AAAA、AAAB、AABA、ABAA、BAAA}。

次に、Jaccardの類似度はsim = 1/5 = 0.2です。


私はこの結果を望んでいません。 2つのテキストは類似しているようです。

私は次のように袋の類似性を使用する:

text0 = {AAAA、AAAA、AAAA、AAAA、AAAA、AAAA、AAAA、AAAA、AAAA}、

テキスト1 = {AAAA、AAAA、 AAAB、AABA、ABAA、BAAA、AAAA、AAAA、AAAA}。

この2つのバッグを使用する場合、その類似点はsim = 5/9です。これは0.2よりはるかに高いです。

MinHashはこれを実行できますか?袋のために

答えて

1

あなたは

S. Ioffe, Improved consistent sampling, weighted minhash and l1 sketching, 2010

または

A. Shrivastava, Simple and Efficient Weighted Minwise Hashing, 2016を参照して、加重minwiseハッシュを使用することができます。

多重度が常に小さい整数である場合、エントリを一意にすることによって重み付けされていないmin-wiseハッシュを使用することもできます。ナンバリングを介し:

text0 = {AAAA1、AAAA2、AAAA3、AAAA4、AAAA5、AAAA6、AAAA7、AAAA8、AAAA9}、

テキスト1 = {AAAA1、AAAA2、AAAB1、AABA1、ABAA1、BAAA1、AAAA3、 AAAA4、AAAA5}。

+0

ありがとうございます。私はこれらの2つの論文を見ていきます。 –

+0

番号を付けてエントリを一意にすることは悪い考えです。つまり、 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"と "BCDEFGHIJKLMNOPQRSTUVWXYZ"の間には類似性は検出されません。 –

+0

あなたの例では、明らかに共通の要素を持つ text0 = {ABCD1、BCDE1、CDEF1、...} text1 = {BCDE1、CDEF1、DEFG1、...} があります。 – otmar

関連する問題