til//jaccard-similarity
jaccard-similarity.mdupdated 2026-08-011,018 chars

Jaccard類似度​(ジャカード類似度)​— 集合の​重なりを​0〜1で​測る​指標

Jaccard類似度とは​「共通要素の​数 ÷ 全ユニーク要素の​数」で​求まる、​二つの​集合間の​一致度を​表す指標である。​0(完全不​一致)から​1​(完全一​致)の​範囲を​取り、​要素の​順序は​一切​問わない。

計算式

計算式は​ J(A, B) = |A ∩ B| ÷ |A ∪ B| と​表される。​分子は​両集合が​共有する​要素数であり、​分母は​両集合を​合わせた​全ユニーク要素数である。​例えば​ A={apple, mandarin, banana}、​B={apple, banana, grape} と​すると、​共通要素は​ apple と​ banana の​2つ、​全体の​ユニーク要素は​4つとなる​ため、​J = 2÷4 = 0.50 と​なる。

なぜ重要か

Jaccard類似度は​「順位」ではなく​「集合と​しての​一致」を​測る​ため、​順序変動の​影響を​受けない。​ラインナップ​(=含まれる​要素の​顔ぶれ)が​同じで​あれば、​ランキングが​入れ替わっても​スコアは​維持される。

AI検索評価での​活用例

AI検索エンジンの​評価指標の​うち、​⑦引用重複率は、​複数の​AI検索エンジン間で​どれだけ​同じ​ドメインが​共有されているかを​Jaccard類似度で​計測する。​⑩引用​一貫性は、​週を​またいで​同じ​ドメインが​引用され​続けるか​どうかを​追跡する、​再テスト​信頼性​(=同じ​条件で​測り直しても​結果が​安定しているかを​示す指標)の​代理と​して​用いられる。

弱点と​バリアント​(派生指標)

Jaccard類似度は​集合サイズの​非対称に​弱い。​例えば​ |A|=100、​|B|=10 で、​Bの​要素が​すべて​Aに​含まれていたとしても、​Jは​0.10にとどまってしまう。​この​弱点を​補う​ため、​より​小さい方の​集合サイズで​割る​Overlap coefficient​(オーバーラップ係数)は、​サイズ差が​大きい​比較に​適している。​また、​引用頻度の​重みを​加味した​拡張版である​Weighted Jaccard​(重み​付きジャカード、​Ioffe 2010)と​いう​手法も​ある。​テキストの​類似度を​測る​場面では、​シングリング​(=テキストを​n-gram断片に​分割する​前処理)と​Jaccard類似度を​組み合わせる​手法も​古典的に​よく​使われる。

順序を​問わず​「二つの​集合が​どれだけ​一致するか」を​シンプルに​測りたい​時は、​Jaccard類似度を​使うと​よい。

出典・参考

148 notestil