Яка задача NLP — і як її оцінюють?
Сім мовних задач пліч-о-пліч, що кожна повертає і як її оцінюють, і один запуск, де текст, який модель вважає найімовірнішим, — її найгірший.
друкується на 2 сторінках A4з 8 сторінок і 1 каталогучитати безкоштовно · PDF — із безкоштовним акаунтомОновлено 24 жовт. 2026 р.
PDF і кнопка «Друкувати» просять увійти; безкоштовного акаунта досить. Читати й перевіряти себе може кожен.
Пліч-о-пліч
Перші стовпці — з каталогу NLP tasks; решта — з кожної сторінки.
Формулу наведено, лише коли вона коротша за слова; решту сказано словами, а формула є на кожній сторінці.
Легко сплутати
Питання «чим відрізняється…» — кожне у два рядки.
Точність токенів проти F1 фрагментів
Точність рахує токени, здебільшого поза сутностями; F1 фрагментів — цілі сутності, знайдені точно.
Завжди F1 фрагментів; точність лестить моделі, що нічого не знаходить.
Бі-енкодер проти Крос-енкодер
Бі-енкодер вкладає кожен текст раз, і пошук — це вибірка; крос-енкодер читає пару разом, повільніше й точніше.
Бі-енкодер — знайти, крос-енкодер — переранжувати знайдене.
Жадібне проти Вибірка
Жадібне бере найімовірніший токен і швидко зациклюється; вибірка тягне з розподілу й читається як текст.
Top-p для відкритого тексту; жадібне чи променевий пошук — лише для коротких закритих відповідей.
BLEU проти Perplexity
BLEU порівнює вихід з еталонами; перплексія міряє, як добре модель передбачає відкладений текст.
BLEU для перекладу, поруч з людьми; перплексія — порівнювати моделі, але не на їхньому виході.
Один справжній запуск
Одна триграмна модель декодує 300 токенів кожною стратегією, поруч із відкладеним людським текстом.
| Стратегія | Повтори 4-грам | Різні токени | Перплексія |
|---|---|---|---|
| held-out human text | 0% | 55.7% | 881.60 |
| greedy | 96.6% | 3% | 16.40 |
| sampling, T = 1.0 | 0% | 68.3% | 64.80 |
| top-k, k = 50 | 1.3% | 63.7% | 63.30 |
| top-p, p = 0.9 | 0% | 66% | 67.40 |
«Жадібне декодування дає найімовірніший текст і найгірший текст.»
«Колонка людського тексту — це орієнтир, якого ніхто не друкує.»
«Не читайте рядки семплування один проти одного.»
Запуск і ці рядки — практичний приклад зі сторінки «Decoding», як його виведено: a trigram model of 132,188 words, decoded 300 tokens per strategy
Що обрати?
Наскільки велика відповідь?
- Мітка для всього тексту Bag of words
- Фрагменти чи мітка на токен Named entity recognition · BERT
- Новий текст Sequence-to-sequence · Decoding
Ви ранжуєте чи групуєте тексти?
- Так, за змістом Sentence embeddings
Як оцінюватимуть згенерований текст?
- За еталонними текстами BLEU
- За тим, як модель його передбачає Perplexity
Кожна відповідь — з розділу «Чому і коли» своєї сторінки.
Усі пастки цих сторінок: 48
Кожна — перший рядок однієї з типових помилок; чому — пояснює її сторінка.
Bag of words
- Будувати словник на тестовій вибірці.
- Вважати, що високий підрахунок означає важливість.
- Прибирати стоп-слова рефлекторно.
- Порівнювати документи сирим скалярним добутком.
- Читати позиційну незалежність як твердження про мову.
BERT
- Брати головний класифікаційний вектор як ембединг речення без донавчання параметрів.
- Чекати, що BERT породжуватиме текст.
- Забувати про межу в 512 токенів.
- Змішувати токенізатори.
- Читати «двоспрямований» як два зчеплені напрями.
Named entity recognition
- Звітувати точність на рівні токенів.
- Порівнювати F1 між наборами даних із різною довжиною сутностей.
- Декодувати кожен токен незалежно.
- Вважати, що абляція переноситься між мовами.
- Ігнорувати шов між словом і підтокеном.
- Зараховувати часткові збіги як успіх.
- Вважати, що багатша схема тегів — краща.
Sentence embeddings
- Використовувати сирий вихід BERT як вектор речення.
- Порівнювати вектори з різних моделей чи з різним пулінгом.
- Забувати нормувати довжину.
- Використовувати крос-енкодер для пошуку.
- Сприймати високий косинус як еквівалентність.
- Вимірювати на бенчмарку з чужого домену.
Sequence-to-sequence
- Передавати один вектор між енкодером і декодером.
- Вважати увагу ідеєю трансформера.
- Оцінювати лише на коротких реченнях.
- Нехтувати розбіжністю навчання й тесту через примусове навчання.
- Читати ваги уваги як пояснення моделі.
- Забути про токен кінця послідовності.
Decoding
- Променевий пошук для відкритого генерування.
- Подання згенерованого тексту без параметрів декодування.
- Трактування низької температури як запобіжного заходу.
- Вибір k один раз і використання його скрізь.
- Налаштування декодування на перплексію.
- Очікування, що більша модель виправить повторення.
BLEU
- Порівнювати BLEU між статтями.
- Порівнювати BLEU між тестовими наборами чи мовами.
- Читати приріст в один пункт як поступ.
- Вживати її на коротких виходах без згладжування.
- Вживати її поза машинним перекладом, не перевіривши, чи вона там працює.
- Припускати, що висока оцінка означає правильний зміст.
- Наводити кореляцію, не кажучи, по яких системах її обчислено.
Perplexity
- Порівнювати перплексії між токенізаторами.
- Наводити її без розміру словника.
- Мінімізувати перплексію породженого тексту.
- Чекати, що вона зловить рідкісні катастрофічні помилки.
- Читати її як точність чи правдивість.
- Порівнювати між корпусами.