сеньорчикОткрыть в Telegram
← все вопросывопросы для собеседований · NLP

Вопросы по NLP на собеседовании

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

57 вопросов в банке·6 подтем·ниже разбор 9

Из чего состоит тема

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

Разборы подтем

Конспект по каждой: что это, как отвечать вслух, на чём валятся, плюс вопросы для самопроверки.

Примеры вопросов с разбором

  1. #classic_tasks1 / 9
    Почему наивный байесовский классификатор — классический бейзлайн для классификации текста?
    A)Прост, быстр и на BoW/TF-IDF даёт неожиданно сильный результат, несмотря на наивную независимость слов
    B)Он в полной мере учитывает грамматический порядок слов и глубокий синтаксис каждого предложения при классификации входного текстового документа
    C)Он обязательно требует мощных GPU-ускорителей и очень больших объёмов размеченных данных
    D)Он точнее современных нейросетей на большинстве текстов
    показать ответ и разбор
    +A)Прост, быстр и на BoW/TF-IDF даёт неожиданно сильный результат, несмотря на наивную независимость слов

    // разбор: Naive Bayes оценивает P(класс|документ) ∝ P(класс)·∏P(слово|класс), считая слова независимыми при данном классе — предположение ложное, но классификация работает удивительно хорошо: нужны только частоты, обучение мгновенно, устойчив на малых данных и высоких размерностях. Отсюда роль быстрого бейзлайна (спам, темы). Требует сглаживания (Лапласа) для непросмотренных слов.

  2. #preprocessing2 / 9
    Чем лемматизация отличается от стемминга?
    A)Лемматизация приводит к словарной форме с учётом морфологии/части речи; стемминг грубо режет окончания по правилам
    B)Это одно и то же, просто разные названия
    C)Стемминг работает для английского языка и неприменим к другим
    D)Лемматизация — это про удаление стоп-слов
    показать ответ и разбор
    +A)Лемматизация приводит к словарной форме с учётом морфологии/части речи; стемминг грубо режет окончания по правилам

    // разбор: Стемминг — эвристическое усечение до основы (Porter: «running»→«run», но «argued»→«argu»), быстро и грубо, результат может не быть словом. Лемматизация использует словарь и морфоанализ (часто с частью речи), возвращая настоящую лемму («better»→«good»). Точнее, но дороже и требует ресурсов языка. Обе снижают разреженность, схлопывая словоформы.

  3. #sequence_models3 / 9
    Чем рекуррентная сеть (RNN) подходит для текста лучше, чем полносвязная сеть на BoW?
    A)Она игнорирует порядок следования слов во входной последовательности
    B)Она вообще не требует обучения на данных
    C)Она работает с числами, а не со словами
    D)Обрабатывает токены последовательно, перенося скрытое состояние — так учитывает порядок и левый контекст
    показать ответ и разбор
    +D)Обрабатывает токены последовательно, перенося скрытое состояние — так учитывает порядок и левый контекст

    // разбор: Полносвязная сеть на BoW теряет порядок. RNN читает токены по одному, поддерживая скрытое состояние (память), которое обновляется на каждом шаге и переносит информацию о предыдущих словах — так учитывается последовательность и контекст. Это позволило моделировать зависимости в тексте (LM, теггинг, seq2seq) до трансформеров. Ограничение — последовательность мешает параллелизму и длинным зависимостям.

  4. #text_representation4 / 9
    Что такое мешок слов (bag-of-words)?
    A)Упорядоченная последовательность всех слов документа с полным сохранением их исходного порядка следования
    B)Плотный вектор фиксированной длины, полученный из нейросети
    C)Представление текста вектором частот слов из словаря, порядок игнорируется
    D)Список уникальных символов, встретившихся в тексте
    показать ответ и разбор
    +C)Представление текста вектором частот слов из словаря, порядок игнорируется

    // разбор: Bag-of-words представляет документ вектором длины словаря, где координата — число вхождений слова; порядок отбрасывается («собака укусила человека» = «человек укусил собаку»). Просто, интерпретируемо, работает для тематической классификации. Минусы: теряет порядок и семантику (синонимы — разные оси), вектор огромный и разреженный. TF-IDF — взвешенная версия BoW.

  5. #tokenization_embeddings5 / 9
    Зачем токенизатору специальные токены вроде UNK и PAD?
    A)Они хранят метаданные документа: язык, кодировку и длину
    B)Они помечают границы предложений для разбиения текста
    C)Они обозначают неизвестное слово и добивку последовательности до общей длины
    D)Они задают вес токена при подсчёте частот в корпусе
    показать ответ и разбор
    +C)Они обозначают неизвестное слово и добивку последовательности до общей длины

    // разбор: Модель работает с батчами одинаковой длины, поэтому короткие последовательности добивают PAD — и в маске внимания эти позиции гасят, чтобы они не влияли на результат. UNK — заглушка для того, чего нет в словаре: у subword-токенизаторов она почти не нужна, слово разложится на куски, а у словарных встречается постоянно.

  6. #word_embeddings6 / 9
    Какая идея лежит в основе word2vec?
    A)Просто подсчитывать сырые частоты вхождений слов в документах, ровно как классический подход TF-IDF без какого-либо предсказательного обучения плотных векторов
    B)Учить плотный вектор слова, предсказывая его контекст (соседей): близкие по употреблению слова близки в пространстве
    C)Автоматически переводить слова между разными языками
    D)Сортировать все слова по алфавиту в векторном пространстве
    показать ответ и разбор
    +B)Учить плотный вектор слова, предсказывая его контекст (соседей): близкие по употреблению слова близки в пространстве

    // разбор: Word2vec опирается на дистрибутивную гипотезу: слово характеризуется окружением. Модель (skip-gram или CBOW) учит для каждого слова плотный вектор так, чтобы по слову предсказывались соседи (или наоборот). Слова из похожих контекстов получают близкие векторы — семантика проявляется геометрически (синонимы рядом, аналогии как сдвиги). Self-supervised: метки — сам текст.

  7. #classic_tasks7 / 9
    Что решает задача NER (named entity recognition)?
    A)Автоматический машинный перевод всех найденных именованных сущностей текста на другой целевой язык
    B)Нахождение и классификация в тексте спанов-сущностей (имена, организации, локации, даты)
    C)Подсчёт общего числа слов в документе
    D)Определение эмоциональной тональности отзыва
    показать ответ и разбор
    +B)Нахождение и классификация в тексте спанов-сущностей (имена, организации, локации, даты)

    // разбор: NER размечает в тексте фрагменты (спаны), являющиеся сущностями, и присваивает тип: персона, организация, локация, дата и т.д. Это последовательная разметка на уровне токенов (часто в схеме BIO: B-ORG, I-ORG, O). Классически — CRF/HMM поверх признаков, современно — нейросетями. Основа для извлечения информации, поиска, QA, связывания сущностей.

  8. #preprocessing8 / 9
    Зачем в классическом NLP удаляют стоп-слова (the, и, в, на)?
    A)Эти слова несут в себе ключевой смысл и главную информацию предложения, и без них смысл предложения во многом теряется
    B)Они частотны и малоинформативны для BoW/TF-IDF — удаление режет шум и размерность
    C)Их сложно токенизировать корректно
    D)Это обязательное требование алгоритма word2vec
    показать ответ и разбор
    +B)Они частотны и малоинформативны для BoW/TF-IDF — удаление режет шум и размерность

    // разбор: Стоп-слова встречаются почти везде и слабо различают документы, поэтому в мешке слов/TF-IDF добавляют шум и раздувают размерность. Стандартный шаг для классификации/поиска. Оговорка: не всегда полезно — где важен порядок/синтаксис (сентимент «not good», фразовый поиск), удаление стоп-слов вредит. В нейронных моделях их обычно не режут.

  9. #sequence_models9 / 9
    Какую проблему ванильных RNN решают LSTM/GRU?
    A)Затухающие/взрывающиеся градиенты и потерю длинных зависимостей — вентили LSTM хранят информацию много шагов
    B)Чрезмерно быструю сходимость процесса обучения на обучающих выборках
    C)Неспособность RNN обрабатывать числовые данные
    D)Избыточное потребление оперативной памяти при инференсе
    показать ответ и разбор
    +A)Затухающие/взрывающиеся градиенты и потерю длинных зависимостей — вентили LSTM хранят информацию много шагов

    // разбор: В ванильной RNN градиент, распространяясь на много шагов назад, экспоненциально затухает (или взрывается) — сеть «забывает» далёкое. LSTM вводит ячейку памяти и вентили (вход/забывание/выход), регулирующие, что сохранять и что стирать, давая градиенту почти прямой путь через время — информация держится десятки шагов. GRU — упрощённый вариант. Длинные зависимости и параллелизм остаются слабостью против трансформеров.

это 9 из 57

Ещё 48 вопросов по теме — в тренажёре, с движком повторения

Прочитать разбор и ответить самому — разные навыки. В Сеньорчике вопросы идут сессиями, а движок возвращает подтемы, где вы ошибаетесь, пока они не начнут отскакивать. Бесплатно, лимит по энергии.

Частые вопросы