Groonga Advent Calendar 2015の23日目の記事です。 はじめに GroongaでJaccard係数を計算するプラグインを作る - CreateField Blog こちらの記事では、GroongaでJaccard係数を計算できるプラグインを作りました。しかしながら、毎回すべてのレコードについて類似度を計算すると非常に計算量が多くなってしまいます。 そこで、b Bit MinHashという方法を使って高速にJaccard係数を推定する方法を実装して試してみました。 naoa/groonga-minhash · GitHub ハッシュ関数にはMurmur3のc port、乱数の生成にはXorShiftを利用しています。 MinHashとは 2つの集合に対するランダムなハッシュ関数による最小ハッシュ値が一致する確率は、Jaccard係数に等しいという性質を持ちます。 こ