3

現在、セマンティクス (意味) に基づいて 2 つのテキストを比較するプログラムを開発しています。文字列の距離を比較するための便利な方法を提供する lingpipe などのライブラリがあることは理解していますが、テキストの類似性を測定するには LSA が最適な方法であると聞いています。

LSA を使用してテキストの類似性を測定することに関して、1 つだけ混乱があります。そのプロセスは、LSA では、

1.Two passages are represented as two matrices X and Y. 

2.Using SVD, the matrices each are reduced to 3 different matrices 

3.And then the cosine distance is measured between the two matrices

4. The cosine distance determines how similar they are

ただ知りたいだけです...

A. SVD では、行列は 3 つの小さな行列に縮小されます。では、余弦距離の測定に使用される小さい行列はどれでしょうか?

B. 通常、余弦距離はベクトルに適用されます。したがって、それらを行列に適用する場合、行列が反復され、2つのベクトルごとにコサイン距離が測定されると仮定しました。そして、これらすべての距離の平均は、これら 2 つの行列間の最終的なコサイン距離であると見なされますか?

これは非常にニッチなトピックであることは理解していますが、この 2 つの質問に光を当てたいと思っています。ありがとう

4

1 に答える 1

2

あなたは間違った足で始めたと思います。

type x documentパッセージのコレクションは、マトリックスとして表されます。つまり、行はコレクションの「単語」を表します。列はコレクションのパッセージを表します。

(ここで、TF-IDF 重み付けスキームをマトリックスに適用することができます。)

SVD を使用すると、このような行列 (M) を 3 つの行列 (U、S、および V) に分解できます。

M = U * S * Vt

S は、降順で並べ替えられた M の特異値の対角行列です。k最初の特異値を保持し、その他を に設定することで、次元削減を実行できます0

ここでtype x document、前の式を使用して行列を再生成し、行ベクトル (型の類似性) または列ベクトル (パッセージの類似性) 間の余弦類似性の計算を開始できます。

于 2014-10-13T12:48:20.157 に答える