数千を超える文で構成される2つのドキュメント間の類似性を計算しようとしています。
ベースラインは、BOWを使用してコサイン類似度を計算します。
ただし、ドキュメント間のセマンティックの違いをもっと把握したいと思います。
したがって、各ドキュメントのすべての単語ベクトルを単純に平均してドキュメントベクトルを生成し、これらのドキュメントベクトル間の余弦の類似性を測定することで、単語の埋め込みを構築し、ドキュメントの類似性を計算しました。
ただし、各入力ドキュメントのサイズはかなり大きいため、上記の方法を使用して得られる結果は、単純なBOWコサイン類似度と非常によく似ています。
2つの質問があります。
Q1。gensimモジュールがソフトコサイン類似性を提供することがわかりました。しかし、私は上記の方法との違いを理解するのに苦労しており、100万ペアのドキュメント間の類似性を計算するメカニズムではないかもしれないと思います。
Q2。gensimによるDoc2Vecが私の目的により適していることがわかりました。しかし、Doc2Vecのトレーニングには私が持っているよりも多くのRAM(32GB)が必要であることを認識しました(ドキュメント全体のサイズは約100GBです)。コーパス全体の小さな部分(20GBなど)でモデルをトレーニングし、このモデルを使用してコーパス全体のペアワイズ類似性を計算する方法はありますか?はいの場合、望ましい列車セットのサイズはどれくらいですか?私が従うことができるチュートリアルはありますか?
広告Q1:類似性マトリックスに単語の埋め込みのコサイン類似性が含まれている場合(多かれ少なかれ含まれています。SemEval-2017タスク3のSimBowの式4を参照)、単語の埋め込みがL2正規化されている場合、SCM(Softコサインメジャー)は、単語の埋め込み(つまりベースライン)を平均化することと同じです。証明については、SCMの実装ノートの補題3.3を参照してください。SCMのマイGensim実装(1、2)に加えて、あなたがバニラSCMに比べてわずかに異なる結果が得られますので、メモリフットプリントの小さなを維持し、埋め込みを定例化する類似度行列をsparsifies。埋め込み平均が単純なBOWコサイン類似性と同様の結果をもたらす場合、埋め込みの品質に疑問があります。
広告Q2:データセット全体で1エポックのDoc2Vecモデルをトレーニングすることは、データセット全体のより小さなセグメントで、セグメントごとに1エポックでDoc2Vecモデルをトレーニングすることと同じです。Doc2Vecはトレーニングプロセスの一部としてドキュメントIDを使用するため、セグメンテーション後もIDが一意であることを確認する必要があることに注意してください(つまり、最初のセグメントの最初のドキュメントは、2番目のセグメントの最初のドキュメントとは異なるIDを持っている必要があります)セグメント)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加