回答:
幾何学的に考えてください。コサインの類似性は角度の違いのみを考慮し、ドット積は角度と大きさを考慮します。データを同じ大きさに正規化する場合、2つは区別できません。大きさを無視することが望ましい場合があるため、コサインの類似性は優れていますが、大きさが役割を果たす場合、類似性の尺度として内積が優れています。どちらも「距離メトリック」ではないことに注意してください。
あなたは正しい、余弦の類似性はベクトルの内積と多くの共通点を持っています。実際、それは大きさでスケーリングされたドット積です。また、スケーリングのため、0から1の間で正規化されます。CSは、データの変動性とフィーチャの相対頻度を考慮するため、CSが望ましいです。一方、単純なドット積は(複雑さと実装の点で)少し「安く」なります。
上記の答えにもう1つの次元を追加したいと思います。通常、データの段落で距離行列を使用することは推奨されないため、大きなテキストではコサインの類似性を使用します。また、クラスターを広くしたい場合、全体的に類似性をキャプチャするため、余弦類似性を使用する傾向があります。
たとえば、最大で2語または3語の長さのテキストがある場合、コサイン類似度を使用しても距離メトリックで達成される精度を達成できないと感じています。
一般的な内積ベースの類似性メトリックの優れた比較がここにあります。
特に、任意の実数であるドット積とは異なり、コサイン類似度は[0,1]内に正規化されますが、他の人が言っているように、ベクトルの大きさを無視する必要があります。個人的には、それは良いことだと思います。大きさは内部(ベクトル内)構造として、ベクトル間の角度は外部(ベクトル間)構造として考えています。それらは異なるものであり、(私の意見では)多くの場合、個別に分析するのが最適です。余弦の類似性を計算し、後で大きさを比較するだけでなく、内積を計算する状況を想像することはできません。
他の人が指摘しているように、これらは距離の「メトリック」ではありません。メトリックの基準を満たしていないためです。代わりに「距離測定」と言います。
とにかく、何を測定しているのですか?その情報は、お客様の状況により役立つ答えを提供するのに役立ちます。