В этом репозитории содержатся задания, выполненные мной для учебного курса по NLP в СПбГУ.
В 1_2.ipynb производится предобработка малой выборки текстовых данных с использованием NLTK и pymorphy2. Далее эти данные векторизуются через TF-IDF и кластеризуются через k-means и аггломеративную кластеризацию.
В 3.ipynb аналогичные действия выполняются для большей выборки данных из датасета 20newsgroups.
Далее используется та же выборка.
В 4.ipynb данные векторизуются с помощью BERT, RoBERTa и DistilBERT, затем выполняется и оценивается кластеризация через k-means и аггломеративную кластеризацию. Наблюдается проблема с отображением на GitHub, ссылка на Colab: https://colab.research.google.com/drive/1FxO_LpWzKDQYxtSIwUIH8m3J5AuxcxMI
В 5.ipynb вычисляется bag of words, затем выполянется векторизация с помощью LDA и LSI и кластеризация аналогично предыдущему.
В 6_7.ipynb сравнивается качество классификации данных. Для векторизации используются TF-IDF, DistilBERT и LDA, для классификации SVM, наивный байесовский классификатор, деревья решений, Random Forest, AdaBoost и многослойный персептрон. Наблюдается проблема с отображением на GitHub, ссылка на Colab: https://colab.research.google.com/drive/1acu7U0VrMpQUdsOXwT9GRD49LWZFX1O1