強力なドキュメントクラスタリングモデルは、大規模なドキュメントセットを効率的に処理できるため、不可欠です。これらのモデルは、一般的な研究を含む多くの分野で役立ちます。出版物の大規模なコーパスを検索することは、ゆっくりと退屈な作業になる可能性があります。このようなモデルは、この時間を大幅に減らすことができます。事前に訓練されたBERTモデルのさまざまなバリエーションを調査して、より大きなコーパス内のドキュメントを表すために単語の埋め込みを生成できるのに最適なものを見つけました。これらの埋め込みは、PCAを使用して次元が減少し、K-meansでクラスター化されて、モデルがコーパス内のトピックを最もよく区別できる洞察を得ることができます。 Stbertは、テストされたBERTバリエーションからこのタスクの最良のモデルであることがわかりました。
前提条件:
依存関係:プロジェクトは、このコードを実行するために必要な複数のPythonライブラリを使用します。コードをインストールするには、Anacondaプロンプトで以下のコードスニペットを実行してください。
pip install -r requirements.txt
Pythonノートブック:2つのPythonノートブックがあります:[1] nlp_final_project_code.ipynbおよび[2] bert cosine類似性test.ipynb
nlp_final_project_code.ipynbには、クラスタリング用のBERTテキスト埋め込みを評価するためのコードベースが含まれています。次元削減にPCAを使用し、クラスタリングにK-meansを使用しました。埋め込みは個別に計算され、 ./DataフォルダーのCSVファイルに保存されます。
Bert Cosineの類似性test.ipynbでは、ドキュメント間の類似性をキャプチャするためにBert Embeddingの能力をテストしています。このため、コンテンツに基づいてファイルを手動でグループ化した1)同様のファイルのグループと2)類似ファイルのグループ。次に、各グループ間のコサインの類似性を測定しました。私たちは、Bert Embeddingsが、事前に守られた表現に基づいて、ドキュメント間の類似性を検出できると仮定しました。また、Sbertを評価しました。これは、Bertのさまざまなバリエーションよりも優れた表現を提供することが証明されました。