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的不同变体更好的代表。