Clustering with BERT
1.0.0
強大的文檔聚類模型至關重要,因為它們可以有效地處理大量文檔集。這些模型在包括一般研究在內的許多領域都有幫助。搜索大量出版物可能是一項緩慢而繁瑣的任務。這樣的模型可以大大減少這段時間。我們研究了預先訓練的BERT模型的不同變化,以查找哪些最能夠產生單詞嵌入以表示較大語料庫中的文檔。這些嵌入使用PCA降低了維度,並與K均值聚集在一起,以洞悉哪種模型可以最好地區分語料庫中的主題。我們發現Sbert是經過測試的BERT變化中的最佳模型。
先決條件:
依賴關係:該項目使用多個Python庫,這些庫是運行此代碼所需的。要安裝代碼,請在Anaconda提示中運行以下代碼段。
pip install -r requirements.txt
Python筆記本:有兩個Python筆記本:[1] NLP_FINAL_PROJECT_CODE.IPYNB和[2] BERT餘弦相似性測試。 IPYNB
nlp_final_project_code.ipynb包含用於評估bert文本嵌入的代碼庫。我們已經使用PCA來降低維度,而K-均值進行聚類。分別計算嵌入式,並存儲在./ Data文件夾中的CSV文件中。
在BERT餘弦相似性測試中,我們正在測試Bert嵌入捕獲文檔之間相似性的能力。為此,我們根據其內容手動對文件進行了分組1)類似文件組和2)不同的文件組。然後,我們測量了每組之間的餘弦相似性。我們假設BERT嵌入可以根據預驗證的代表來檢測文件之間的相似性。我們還評估了Sbert,事實證明,Sbert提供了比Bert的不同變體更好的代表。