ドキュメントの類似性の測定


21

(テキスト)ドキュメントをクラスタ化するには、ドキュメントのペア間の類似性を測定する方法が必要です。

次の2つの選択肢があります。

  1. コサイン類似性とTF / IDFを用語の重み付けとして使用して、文書を用語ベクトルとして比較します。

  2. カルバック・ライブラー発散など、 f発散を使用して各ドキュメントの確率分布を比較する

1つの方法を他の方法よりも好む直感的な理由はありますか(100語の平均ドキュメントサイズを想定)。

回答:


23

テキストドキュメントの場合、特徴ベクトルは非常に高次元であり、標準的な表現(バッグオブワードまたはTF-IDFなど)のいずれかの下でスパースになる可能性があります。このような表現の直下の距離を測定することは、非常に高い次元では2点間の距離が同じように見えることが知られているため、信頼できない場合があります。これに対処する1つの方法は、PCAまたはLSA(潜在セマンティック分析潜在セマンティックインデックス付けとも呼ばれます)を使用してデータの次元を減らし、新しい空間で距離を測定することです。PCAではなくLSAのようなものを使用すると、低次元の空間で距離を測定する以外に、「セマンティックコンセプト」の観点から意味のある表現を提供できるため、有利です。

確率分布に基づいてドキュメントを比較するには、通常、最初に各ドキュメントのトピック分布を計算し(Latent Dirichlet Allocationのようなものを使用)、次にドキュメントのペアのトピック分布間の何らかの分岐(KL分岐など)を計算します。ある意味では、実際にはLSAを最初に実行してから、ベクトル間のKL発散を使用して(コサインの類似性の代わりに)LSA空間の距離を測定することに似ています。

KL発散は、分布を比較するための距離の尺度であるため、ドキュメント表現が何らかの分布の観点から望ましい場合があります(多くの場合、実際にそうです-たとえば、LDAのようにトピックの分布として表されるドキュメント)。また、このような表現では、特徴ベクトルのエントリの合計が1になることに注意してください(基本的に、ドキュメントはトピックまたはセマンティックコンセプトの分布として扱われるため)。

こちらの関連​​スレッドもご覧ください。


ありがとう。LDAでは、事前にトピックを知る必要がありますか?私たちのケースでは、各文書が属する話題に知っていないと我々はクラスタリング(EM-G-手段、またはGAAC)を実行するために類似性尺度を使用することになります
ジョエル・

@ ebony1 LSAへの素敵な言及、私は先ほどstats.stackexchange.com/questions/369/
chl

1
@Joel:いいえ、LDAは、各ドキュメントのトピックを事前に知っているとは想定していません。ちなみに、LDAは各ドキュメントを単一のトピックではなく、トピックの混合物として表します。そのため、各トピックはドキュメント内の一部に貢献します(個々の部分は合計で1になります)。基本的に、LDAは、ドキュメント内の各単語が特定のトピックによって生成されると想定しています。
ebony1

@ebony-ありがとう!質問を言い換えて自分自身を繰り返すリスクがある場合、LDAでは慎重なトピックの数を知る必要がありますか?
ジョエル

はい。しかし、トピックの数を指定する必要のないLDA(HDP-LDA)のバリアントがあります。このペーパーを参照してください:cse.buffalo.edu/faculty/mbeal/papers/hdp.pdf
ebony1

0

コサインドキュメントの類似性については、このオンラインサービスをお試しください。http://www.scurtu.it/documentSimilarity.html

import urllib,urllib2
import json
API_URL="http://www.scurtu.it/apis/documentSimilarity"
inputDict={}
inputDict['doc1']='Document with some text'
inputDict['doc2']='Other document with some text'
params = urllib.urlencode(inputDict)    
f = urllib2.urlopen(API_URL, params)
response= f.read()
responseObject=json.loads(response)  
print responseObject

2
詳細を入力してください。
西安
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.