類似度計算とは
類似度計算(Similarity Calculation)とは、2つのデータ(テキスト、ベクトル、文書など)の間の類似性を数値的に測定する手法です。自然言語処理では、単語・文・文書の意味的な近さを定量化するために広く使用されており、検索、推薦、クラスタリングなどの基盤技術です。
ベクトル空間での類似度
テキストをベクトルに変換した後、ベクトル間の距離や角度で類似度を計算します。コサイン類似度は最も広く使用される指標で、ベクトル間の角度のコサイン値を計算します。ユークリッド距離はベクトル間の直線距離を測り、マンハッタン距離は各次元の差の絶対値の和を測ります。
文字列ベースの類似度
編集距離(レーベンシュタイン距離)は一方の文字列を他方に変換するのに必要な編集操作の最小回数を測ります。Jaccard係数は2つの集合の共通要素の割合を計算します。これらはスペルチェックやファジーマッチングに使用されます。
意味的類似度
近年はBERTやSentence-BERTなどの事前学習モデルを使い、文脈を考慮した意味的な類似度を計算する手法が主流です。STS(Semantic Textual Similarity)ベンチマークで評価され、人間の判断との高い相関が報告されています。