コサイン類似度とは、ベクトル空間モデルにおいて、文書同士を比較する際に用いられる類似度計算手法。
コサイン類似度は、そのまま、ベクトル同士の成す角度の近さを表現するため、三角関数の普通のコサインの通り、1に近ければ類似しており、0に近ければ似ていないことになる。
だいたいは、tf-idfの値で計算を用いて計算される場合が多いと思います。
以下の式で計算できる。
正規化された単位ベクトルについての計算は、以下で可能。
ターム | 文書1 | 文書2 | 文書3 |
---|---|---|---|
天気 | 0.789 | 0.832 | 0.524 |
学校 | 0.515 | 0.555 | 0.465 |
自転車 | 0.335 | 0 | 0.405 |
コンビニ | 0 | 0 | 0.588 |
この表の値が正確であるとすれば、
cos(文書1,文書2) = (0.789×0.832)+(0.515×0.555)+(0.335×0)+(0×0)≒0.942
cos(文書1,文書3) = (0.789×0.524)+(0.515×0.465)+(0.335×0.405)+(0×0.555)≒0.797
cos(文書2,文書3) = (0.8320.832)+(0.555×0.465)+(0×0.405)+(0×0.555)≒0.695
という結果になり、文書1と文書2が一番類似していることになります。