Skip to content

dumuzeyn/NLP-Practice-Notebooks

Repository files navigation

Практикум по прикладному NLP

Репозиторий содержит набор Jupyter Notebook с практическими примерами обработки естественного языка. Материалы идут от классических методов анализа текста к нейросетевым моделям и transformer-подходам. Каждый ноутбук можно открыть отдельно: внутри уже сохранены результаты выполнения ячеек, графики, таблицы и промежуточные выводы.

Что есть в проекте

Файл Что делает Практическая ценность
01-classic-nlp-pipeline.ipynb Показывает базовый NLP-пайплайн: загрузка текста, токенизация, подсчёт частот, стемминг, лемматизация, закон Ципфа, NER и синтаксический разбор через spaCy. Помогает понять, как из сырого текста получить структуру: слова, леммы, частоты, сущности и грамматические связи.
02-domain-shift-naive-bayes.ipynb Разбирает различия между текстовыми доменами, строит log-odds для сравнения словарей, обучает Naive Bayes и оценивает качество классификации. Полезен для диагностики датасетов: видно, какие слова отличают темы и как меняется качество модели при смене распределения данных.
03-embeddings-retrieval.ipynb Работает с Word2Vec/эмбеддингами, ищет ближайшие слова, проверяет векторные сдвиги и строит простой поиск документов по смысловой близости. Даёт основу для semantic search, retrieval-прототипов и понимания, как текст превращается в векторное представление.
04-rnn-language-model.ipynb Строит простую RNN/LSTM-модель для языкового моделирования: готовит словарь, батчи, обучает модель и генерирует текст. Показывает механику sequence modeling до transformer-архитектур: как модель учится предсказывать следующий токен.
05-tokenizers-attention.ipynb Сравнивает токенизаторы, разбирает формы тензоров в PyTorch и демонстрирует работу attention. Помогает уверенно читать код transformer-моделей: понимать input ids, batch/sequence dimensions и матричные операции attention.
06-bert-finetuning.ipynb Показывает fine-tuning BERT для нескольких NLP-задач: классификация текста, NER, sentence pair classification и extractive QA. Даёт шаблоны для адаптации pretrained transformer-моделей под реальные задачи анализа текста.

Как запускать

Откройте нужный .ipynb в Jupyter, PyCharm Professional, VS Code или Google Colab. Если нужно пересчитать ноутбуки локально, установите зависимости:

pip install notebook jupyterlab nbconvert ipykernel
pip install numpy pandas matplotlib seaborn scikit-learn scipy
pip install spacy nltk gensim torch transformers datasets evaluate seqeval accelerate faiss-cpu
python -m spacy download ru_core_news_sm

Некоторые ноутбуки используют внешние датасеты и модели, поэтому для полного пересчёта может понадобиться интернет. Для fine-tuning BERT желательно использовать GPU.

Структура и идея

Проект можно воспринимать как небольшую рабочую тетрадь по прикладному NLP. Он показывает не только итоговые модели, но и промежуточную аналитику: частоты, графики, таблицы, метрики, примеры токенизации и результаты инференса. Это удобно для повторения базовых концепций, подготовки собственных экспериментов и демонстрации практических навыков анализа текста.

About

Практический набор NLP-ноутбуков: классическая обработка текста, анализ domain shift, Word2Vec, semantic retrieval, RNN-моделирование, токенизаторы, attention и fine-tuning BERT.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors