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

RNN/LSTM for NLP

RNN/LSTM в NLP

классикаНиша: маленькие модели без GPU; иначе трансформеры.

Первое поколение нейросетевых моделей языка: последовательная обработка токенов со скрытым состоянием.

Ключевые тезисы

  • Двунаправленные версии видят контекст слева и справа.
  • Долго были стандартом для NER и разметки последовательностей.
  • Уступили трансформерам из-за отсутствия параллелизма и ограниченной памяти.

Подробный разбор

2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.

1

Как их применяли к тексту

Разметка последовательностей и классификация до эпохи трансформеров.

  • Классификация: последнее скрытое состояние (или его max/mean-пулинг) подаётся в линейный слой.
  • Разметка (NER): на каждом шаге свой выход; сверху часто ставили CRF для согласованности меток.
  • BiLSTM: два прохода — слева направо и справа налево — дают контекст с обеих сторон.
На практике

BiLSTM-CRF долгие годы был стандартом для NER и до сих пор остаётся разумным выбором, когда нужна маленькая быстрая модель без GPU.

2

BiLSTM-CRF для разметки

Зачем поверх нейросети ставить условное случайное поле.

Сеть предсказывает метку каждого токена независимо, поэтому может выдать невозможную последовательность вроде I-PER сразу после O. CRF моделирует переходы между метками и выбирает наиболее правдоподобную последовательность целиком.

Обозначения
  • истинное значение целевой переменной
  • объект: вектор признаков
  • суммирование по всем перечисленным элементам
Декодирование — алгоритм Витерби по этой сумме

Связанные темы

Последовательные модели