Model pengelompokan dokumen yang kuat sangat penting karena mereka dapat memproses dokumen yang besar secara efisien. Model -model ini dapat membantu di banyak bidang, termasuk penelitian umum. Mencari melalui korpora besar publikasi bisa menjadi tugas yang lambat dan membosankan; Model seperti itu dapat secara signifikan mengurangi waktu ini. Kami menyelidiki berbagai variasi model BerT yang sudah terlatih untuk menemukan mana yang paling mampu menghasilkan embeddings kata untuk mewakili dokumen dalam korpus yang lebih besar. Embeddings ini dikurangi dalam dimensi menggunakan PCA dan dikelompokkan dengan K-means untuk mendapatkan wawasan tentang model mana yang dapat membedakan topik dalam corpus. Kami menemukan bahwa Sbert adalah model terbaik untuk tugas ini dari variasi Bert yang diuji.
Prasyarat:
Ketergantungan: Proyek ini menggunakan beberapa pustaka Python, yang diperlukan untuk menjalankan kode ini. Untuk menginstal kode, silakan jalankan cuplikan kode di bawah ini di prompt Anaconda.
pip install -r requirements.txt
Python Notebook: Ada dua buku catatan Python: [1] nlp_final_project_code.ipynb dan [2] uji kesamaan cosinus Bert.ipynb
NLP_Final_Project_code.ipynb berisi basis kode untuk mengevaluasi embeddings tekstual Bert untuk pengelompokan. Kami telah menggunakan PCA untuk pengurangan dimensi dan k-means untuk pengelompokan. Embeddings dihitung secara terpisah dan disimpan dalam file CSV di folder ./data .
Dalam uji kesamaan cosinus Bert.ipynb, kami menguji kemampuan embedding Bert untuk menangkap kesamaan antara dokumen. Untuk ini, kami mengelompokkan file secara manual berdasarkan konten 1) grup file serupa dan 2) grup file yang berbeda. Kemudian kami mengukur kesamaan kosinus antara masing -masing kelompok. Kami berhipotesis bahwa Bert Embeddings dapat mendeteksi kesamaan di antara dokumen berdasarkan representasi pretrained mereka. Kami juga mengevaluasi Sbert, yang terbukti memberikan representasi yang lebih baik daripada varian Bert yang berbeda.