• ベストアンサー

文書間の類似度を調べるのにコサイン類似度を用いない理由 ( コサイン類似度の欠点 ) があったら教えてください

ここのカテゴリでいいかわからないのですが質問させてください。 今ある事情である文書とべつの文書が類似してるかどうか調べています。 この時オーソドックスなのがコサイン類似度を用いるのが普通だと思います。 しかし事情があり、別の方法を取りたいと考えています。 そこで他人に説明するときにコサイン類似度を用いない理由を説明する必要があるので、考えられるコサイン類似度を用いない理由 ( コサイン類似度の欠点 ) があったら教えてください。 また、他に適切なカテゴリがあったら教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsumi01
  • ベストアンサー率30% (976/3185)
回答No.1

コサイン類似度の定義が明確でないので答えられません。 常識的に考えると、二つのベクトル a, b があるとき、その類似度は (a, b) /(||a||・||b||) で定義されます。分子はベクトルの内積で、分母はそれぞれのノルムです。これはベクトル空間における二つのベクトルのコサインになります。 このように定義された類似度 s は -1 ≦ s ≦ 1 になり、右側の等号が成立するのは a=Kb (K>0) のときだけです。 このような性質があるので類似度は良く用いられますが、これおを用いなければならない必然性があるわけではありません。

aopon1981
質問者

お礼

申し訳ありません、定義を書き忘れました。 tatsumi01 さんの定義を想定していました。

その他の回答 (1)

  • tatsumi01
  • ベストアンサー率30% (976/3185)
回答No.2

No. 1 のものですが補足します。 「文書」の定義がわかりません。スキャナで取り込んだ文書画像でしょうか、それとも文字列でしょうか。 文書画像 (H×V) としますと、画素の値を並べて N=HV 次元のベクトルを作れば No. 1 での回答通りになります。ただし、画像の場合は類似度ではダメです。全く同じ画像でも、数画素ずらしても、傾けても、拡大倍率が変わっても、類似度は大きく下がります。その補正方法はいろいろ考えられています。 文字コード系列とすると、そもそも文字数が違いますから内積が定義できません。文字数が異なる場合の文字列のマッチングは DTW (Dynamic Time Warping) と呼ばれ、音声認識や文書検索で広く用いられています。

aopon1981
質問者

お礼

「文書」の定義も書き忘れていました、申し訳ありません。 文字列を考えていました。