Мощные модели кластеризации документов необходимы, поскольку они могут эффективно обрабатывать большие наборы документов. Эти модели могут быть полезны во многих областях, включая общие исследования. Поиск по крупной корпорации публикаций может быть медленной и утомительной задачей; Такие модели могут значительно сократить это время. Мы исследовали различные вариации предварительно обученной модели BERT, чтобы найти, которая лучше всего способна создавать встраивание слов для представления документов в большем корпусе. Эти встраивания уменьшаются в размерности с использованием PCA и кластерся с помощью K-средних, чтобы получить представление о том, какая модель может наилучшим образом дифференцировать темы внутри корпуса. Мы обнаружили, что Sbert был лучшей моделью для этой задачи из тестируемых вариаций BERT.
Предварительные условия:
Зависимости: проект использует несколько библиотек Python, которые необходимы для запуска этого кода. Чтобы установить код, пожалуйста, запустите приведенный ниже фрагмент кода в приглашении Anaconda.
pip install -r requirements.txt
Notebook Python: есть две записные книжки Python: [1] NLP_FINAL_PROJECT_CODE.IPYNB и [2] БЕРТ КОСИРОК
Nlp_final_project_code.ipynb содержит базу кода для оценки текстовых встроений Bert для кластеризации. Мы использовали PCA для уменьшения размерности и K-средних для кластеризации. Встроения рассчитываются отдельно и хранятся в файле CSV в папке ./data .
В тесте сходства косинуса косинуса. Для этого мы вручную сгруппировали файлы на основе их содержимого 1) группы аналогичных файлов и 2) группы разнородных файлов. Затем мы измерили сходство косинуса между каждой группой. Мы предположили, что BERT Enterdings может обнаружить сходство между документом на основе их предварительного представления. Мы также оценили Sbert, который оказался, чтобы обеспечить лучшее представление, чем различные варианты Берта.