Los potentes modelos de agrupación de documentos son esenciales, ya que pueden procesar eficientemente grandes conjuntos de documentos. Estos modelos pueden ser útiles en muchos campos, incluida la investigación general. Buscar grandes corpus de publicaciones puede ser una tarea lenta y tediosa; Tales modelos pueden reducir significativamente este tiempo. Investigamos diferentes variaciones de un modelo Bert previamente capacitado para encontrar, que es mejor producir incrustaciones de palabras para representar documentos dentro de un corpus más grande. Estas incrustaciones se reducen en dimensionalidad utilizando PCA y se agrupan con K-means para obtener información sobre qué modelo puede diferenciar mejor los temas dentro de un corpus. Descubrimos que Sbert era el mejor modelo para esta tarea de las variaciones de Bert probadas.
Prerrequisitos:
Dependencias: el proyecto utiliza múltiples bibliotecas de Python, que se requieren para ejecutar este código. Para instalar el código, ejecute el siguiente fragmento de código en el indicador de Anaconda.
pip install -r requirements.txt
Python Notebook: hay dos cuadernos de Python: [1] nlp_final_project_code.ipynb y [2] test de similitud de coseno bert.ipynb
El nlp_final_project_code.ipynb contiene la base de código para evaluar los incrustaciones textuales de Bert para la agrupación. Hemos utilizado PCA para la reducción de dimensionalidad y K-medias para la agrupación. Los incrustaciones se calculan por separado y se almacenan en el archivo CSV en la carpeta ./data .
En la prueba de similitud de Bert Cosine. Para esto, agrupamos manualmente archivos en función de su contenido 1) grupo de archivos similares y 2) grupo de archivos diferentes. Luego medimos la similitud de coseno entre cada grupo. Presumimos que Bert Incrushings podría detectar similitudes entre el documento basados en su representación previa a la petróleo. También evaluamos a Sbert, que demostró proporcionar una mejor representación que las diferentes variantes de Bert.