Введение в обработку естественного языка

1.

Введение в
обработку естественного языка

2.

План лекции
1. Обработка естественного языка (NLP)
2. Задачи NLP
3. Подготовка текстовых данных
4. Представление текстовых данных
5. Word2vec
6. Задача классификации текстовых данных
7. CNN для классификации текстовых данных

3.

Обработка естественного языка
Обработка естественного языка (Natural Language Processing, NLP) –
общее направление искусственного интеллекта и лингвистики,
изучающее методы анализа и синтеза естественного языка

4.

Обработка естественного языка

5.

Задачи NLP
Тематическое моделирование

6.

Задачи NLP
Тематическое моделирование

7.

Подготовка текстовых данных
Этапы подготовки (предобработки) текстовых данных:
– приведение к одному регистру
– замена «нетекстовой» информации
– удаление пунктуации
– токенизация
– удаление стоп-слов, редких и частых слов
– стемминг
– лемматизация
– векторизация

8.

Токенизация

9.

Удаление пунктуации

10.

Регистр и пунктуация

11.

Лемматизация и стемминг

12.

Фильтрация словаря

13.

Фильтрация словаря

14.

Задача классификации текстовых данных

15.

Представление текстовых данных

16.

One-Hot Vector и мешок слов (BOW)

17.

One-Hot Vector и мешок слов (BOW)

18.

Гипотеза дистрибутивной семантики

19.

Count-based подходы
Задача:
• вложение (embedding, вектор) слова должно содержать информацию о контексте
Count-based решение:
• рассчитать вложение на основе глобальных статистик документа

20.

TF-IDF

21.

SVD-разложение

22.

SVD-разложение: обоснование

23.

SVD-разложение: обоснование

24.

SVD-разложение: обоснование

25.

Поточечная взаимная информация
Поточечная взаимная информация (Pointwise Mutual Information, PMI)

26.

Prediction-based подходы
Задача:
• вложение (embedding, вектор) слова должно содержать информацию о контексте
Prediction-based решение:
• обновлять параметры вложений во время обучения модели
Модели векторных представлений на основе prediction-based подходов:
– word2vec
– GloVe
– fasttext
–…

27.

Word2vec: Skip-Gram and CBOW

28.

Word2vec: обучение

29.

Word2vec: обучение

30.

Word2vec: обучение

31.

Word2vec: обучение

32.

Word2vec
*Всяческие картинки про сумму векторов: король – мужчина = королева*

33.

GloVe: Global Vectors for Word Representation

34.

FastText

35.

Задача классификации текстовых данных

36.

LogReg для классификации текстовых данных

37.

NN для классификации текстовых данных

38.

CNN для классификации текстовых данных

39.

Инструменты для NLP
Специфичные:
– NLTK (предобработка, …)
– Gensim (векторизация,
тематическое моделирование, …)
– SpaCy (основные задачи NLP)
– Natasha (для русского языка:
предобработка, векторизация, NER)
– DeepPavlov (для русского языка:
векторизация, NER и остальные
основные задачи)
Знакомые:
– Sklearn (предобработка,
векторизация, тематическое
моделирование, …)
– Hugging Face (предобученные
модели, наборы данных)
– PyTorch
– re
English     Русский Правила