統計ER

統計ソフトRの使い方を中心に、統計解析方法の解説をするブログ。ありそうでなかなか見つからないサンプルサイズ計算などニッチな方法について紹介しています。

Jaccard係数とは?―文章と文章の距離を測る方法

Toukei Consul Banner

KH Coder Consul Banner

テキストマイニングツールKH Coderでは、文章と文章の距離をJaccard(ジャッカード)係数で計算するのが標準になっている。

Jaccard係数とは一体何だろうか?

テキストマイニングツールKH Coderとは?

テキストマイニングツール KH Coderは、無料で使えるテキストマイニング専門ツールだ。詳しくはこちらの記事を参照。

toukeier.hatenablog.com

Jaccard係数とは?

Jaccard 係数とは、植物学者 Paul Jaccard が考案した集合の類似度を測る指標のこと。

詳しくはこちらを参照。

en.wikipedia.org

Jaccard 係数はどのように考えればいいか?

KH Coderにおいて、Jaccard 係数は、ある語Aとある語Bのどちらかもしくは両方を含む「文書」のうち、AとB両方を含む「文書」の数、つまり割合のことだ。

KH Coderにおける「文書」とは、Excelデータであれば1セルの文章のこと。

KH Coderでテキストマイニングにかけるときに、列の方向に、1セルずつ、一区切りの文章を入れておく。例えば、一人一人のコメントを1セルずつに入れる。コメントはいくつかの文でも大丈夫。

KH Coder 公式説明スライドはこちら。

www.slideshare.net

Jaccard 係数の計算例

例えば、「知る(A)」が80の文書に登場し、「人(B)」が110の文書に出現したとする。

「知る」と「人」が一緒に、20の文書において登場したとする。

この場合 Jaccard 係数は以下のように計算される。

 \displaystyle \frac{A \cap B}{A \cup B} = \frac{A \cap B}{A + B - A \cap B} = \frac{20}{80+100-20} = 0.125

Jaccard 係数が大きいほど、共通に登場した文書が多く、その二つの語は「近い」と判断する。

ちなみに、どちらの語も登場しなかった文書は計算に考慮されない。

Jaccard 係数はどの方法に使われているか?

KH Coderでは、Jaccard 係数を3つの分析方法の標準にしている。その3つとは、

  1. 多次元尺度構成法
  2. 階層的クラスター分析
  3. 共起ネットワーク

である。

階層的クラスター分析は、以下の記事を参照。その他二つも記事を書く予定。

toukeier.hatenablog.com

まとめ

Jaccard 係数は集合の類似度を表す指標で、テキストマイニングでは、文章と文章の類似度=距離を表す指標になる。

具体的には、2つの語少なくともどちらかが含まれる文章を数えて、2つの語両方が含まれる文章の割合を計算する。

割合が大きければ、2つの語は今回のテキストデータセットの中において「近い」と判断される。

Jaccard 係数の大小=「遠い」「近い」を図示したのが、多次元尺度構成法、階層的クラスター分析、共起ネットワークである。