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