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

Обработка естественного языка (NLP) на Python

Fouad Trad

Machine Learning Engineer

Знакомьтесь: ваш преподаватель...

 

Фото преподавателя.

 

Fouad Trad

  • Инженер по машинному обучению
  • Исследователь
  • NLP в кибербезопасности и медицине
Обработка естественного языка (NLP) на Python

Что такое NLP?

 

 

  • Язык — основной способ общения
  • Компьютеры не понимают человеческий язык

Изображение источников языка: книги, сайты, посты в соцсетях и электронные письма.

Обработка естественного языка (NLP) на Python

Что такое NLP?

Позволяет компьютерам анализировать человеческий язык

Изображение: человек разговаривает с машиной, а NLP переводит его речь так, чтобы машина её поняла.

Обработка естественного языка (NLP) на Python

Рабочий процесс NLP

Первый шаг рабочего процесса: необработанный текст.

  • Необработанный текст: от твита до абзаца книги
Обработка естественного языка (NLP) на Python

Рабочий процесс NLP

Второй шаг рабочего процесса: предобработка

  • Необработанный текст: от твита до абзаца книги
  • Предобработка: очистка текста и удаление лишних элементов
Обработка естественного языка (NLP) на Python

Рабочий процесс NLP

Третий шаг рабочего процесса: извлечение признаков.

  • Необработанный текст: от твита до абзаца книги
  • Предобработка: очистка текста и удаление лишних элементов
  • Извлечение признаков: преобразование текста в числа
Обработка естественного языка (NLP) на Python

Рабочий процесс NLP

Четвёртый шаг рабочего процесса: моделирование

  • Необработанный текст: от твита до абзаца книги
  • Предобработка: очистка текста и удаление лишних элементов
  • Извлечение признаков: преобразование текста в числа
  • Модель: анализ, предсказание, классификация, генерация контента
Обработка естественного языка (NLP) на Python

План курса

Полная схема рабочего процесса с указанием, что в главе 1 рассматривается предобработка с помощью NLTK

Обработка естественного языка (NLP) на Python

План курса

Полная схема рабочего процесса с указанием, что в главе 2 рассматривается извлечение признаков с помощью scikit-learn и Gensim.

Обработка естественного языка (NLP) на Python

План курса

Полная схема рабочего процесса с указанием, что в главах 3 и 4 рассматриваются конвейеры, объединяющие три шага — предобработку, извлечение признаков и моделирование — с помощью библиотеки transformers.

Обработка естественного языка (NLP) на Python

Токенизация

  • Разбивает текст на токены (небольшие управляемые фрагменты)

Изображение: человек нарезает морковь

Обработка естественного языка (NLP) на Python

Токенизация предложений

  • Текст → предложения
  • Даёт более чёткое представление, чем анализ текста целиком
import nltk

nltk.download('punkt_tab')
text = "NLP is fun. Let's dive into it!"
sentences = nltk.sent_tokenize(text)
print(sentences)
["NLP is fun.", "Let's dive into it!"]

Изображение иконки перевода.

Обработка естественного языка (NLP) на Python

Токенизация слов

  • Текст → слова и знаки препинания
  • Полезна для задач, требующих:
    • Выявления ключевых терминов
    • Подсчёта частоты слов
text = "Claim your free prize now!"

words = nltk.word_tokenize(text)
print(words)
['Claim', 'your', 'free', 'prize', 'now', '!']

Изображение иконки спам-письма.

Обработка естественного языка (NLP) на Python

Давайте потренируемся!

Обработка естественного языка (NLP) на Python

Preparing Video For Download...