Ответ на вопрос
Кратко — набор тестов, метрик и критериев при оценке синтаксического анализа чат-сообщений (включая устойчивость к ошибкам, контекст и многозначность).
1) Базовая корректность
- Тесты: POS-теггинг, constituency- и dependency-парсинг на разметке (корпус сообщений).
- Метрики:
- POS-accuracy: доля верных тегов.
- UAS (Unlabeled Attachment Score): \(\mathrm{UAS}=\frac{\#\text{парсинг-голов верных}}{\#\text{токенов}}\).
- LAS (Labeled Attachment Score): \(\mathrm{LAS}=\frac{\#\text{парсинг-голов и меток верных}}{\#\text{токенов}}\).
- Sentence Exact Match: доля предложений с полностью совпадающим деревом.
- Критерии (ориентиры для чат-домена): POS \(\ge\) \(95\%\), UAS \(\ge\) \(88\%\), LAS \(\ge\) \(80\%\).
2) Устойчивость к вводным ошибкам (noise robustness)
- Типы шума: опечатки, пропуски слов, лишние повторения букв, потеря пунктуации, регистровые вариации, эмодзи, транслит, сленг, смешение языков.
- Тесты: синтетическое заражение корпуса уровнем шума \(p\) (доля изменённых токенов), реальные noisy-сборки из чатов.
- Оценка: строить кривые метрик M(p) при \(p\in\{0,0.05,0.1,0.2\}\). Измерять относительное падение:
\(\Delta(p)=\frac{M(0)-M(p)}{M(0)}\cdot 100\%\).
- Критерии: при \(p=0.1\) падение LAS \(\Delta(0.1)\le 10\%\); при \(p=0.2\) — \(\Delta(0.2)\le 25\%\).
3) Контекстуальные тесты (multi-turn и внутренняя связность)
- Тесты: анафорическое разрешение (он/она/это), эллипсис (ответы типа «и мне»), перенос слотов между репликами, сегментация предложений в диалоге.
- Набор: парные сценарии (утверждение + последующая реплика) и ожидание согласованного разбора второй реплики при наличии первого сообщения.
- Метрики:
- Contextual Consistency Rate: доля случаев, где разбор с контекстом совпадает с разбором-гольдом.
- Coreference-aware LAS (учитывать корректные привязки местоимений).
- Критерии: Contextual Consistency \(\ge\) \(75\%\); coref accuracy \(\ge\) \(70\%\).
4) Тесты на многозначность и дисамбигуацию
- Категории: PP-attachment (например, «увидел мужчину с биноклем»), координационная неоднозначность, глагольно-именные омонимы, garden-path предложения.
- Метод: минимальные пары (контекст/синтаксис одинаков, смыслы разные) — проверять выбор правильного разбора.
- Метрика: Ambiguity Resolution Accuracy = доля правильных разборов на наборе неоднозначных примеров.
- Критерий: Ambiguity Accuracy \(\ge\) \(85\%\) для часто встречающихся конструкций; для редких — отслеживать направление ошибок.
5) Стресс-тесты и крайние случаи
- Тесты: очень длинные предложения (узнать предел глубины), вложенные конструкции, многочисленные координации, редкие синтаксические формы.
- Оценка: процент разборов с ошибкой при длине \(L\) токенов; строить кривую ошибок по \(L\).
- Критерии: стабильный рост ошибки по длине; определить допустимую длину \(L_{\max}\) при заданном QoS.
6) Адверсариальные и парафразные тесты
- Тесты: перефразировки, перестановки, введение омонимов, целенаправленные perturbations.
- Цель: выявить ломкие места; метрика — F1 на adversarial-сете. Критерий — не более X фейлов на N примеров (напр., не более \(10\%\) ошибок на контролируемом наборе).
7) Оценка обобщения и переносимости
- Тесты: out-of-domain (темы, сленг, код-микс), новые пользователи.
- Метрики: относительное падение производительности: \(\mathrm{Drop}=\frac{M_{\text{in}}-M_{\text{out}}}{M_{\text{in}}}\cdot 100\%\).
- Критерии: Drop \(\le\) \(15\%\) для близких доменов; \(\le\) \(30\%\) для далёких.
8) Операционные метрики
- Задержка: среднее время обработки \(\bar{t}=\frac{1}{N}\sum_{i=1}^{N} t_i\) (целевой порог, напр.: \(\bar{t}\le 100\) ms).
- Пропускная способность: сообщений в секунду (msg/s).
- Надёжность: доля успешно распарсенных сообщений (без падений).
- Критерии: \(\bar{t}\le 100\) ms, throughput \(\ge 100\) msg/s для реального чата (ориентиры — на инфраструктуру).
9) Процедура проверки и выбор выборок
- Размеры выборок: для надёжной оценки каждого теста использовать минимум \(N\ge 1000\) примеров; для редких конструкций — собрать специализированный корпус.
- Статистическая значимость: bootstrap или тесты на значимость при сравнении моделей.
- Ручная валидация ошибок: аннотировать случайную стратифицированную подвыборку ошибок (напр. \(n=200\)) для анализа типов ошибок.
10) Отчётность и разбор ошибок
- Отдавать: общие метрики + разбивка по длине, типу шума, частоте конструкции, по dependency-relations (F1 по каждой метке).
- Выделять приоритетные классы ошибок для исправления (наиболее частые + наиболее критичные для downstream).
Примеры тестовых предложений (коротко):
- Опечатки: «привте, как дела?» — ожидать корректную POS/связность несмотря на typo.
- Эллипсис: «Пойдёшь в кино?» — «Я — да.» (разбор эллипсиса и подразумеваемого глагола).
- PP-attachment: «Я видел девушку с биноклем» vs «Я видел мужчину с собакой» (правильная привязка).
- Garden-path: «Old men and women were... » — корректный разбор неоднозначности.
Итог — соберите набор тестов по перечисленным категориям, определите пороговые значения для каждой метрики, прогоняйте регулярные регрессионные тесты (ежедневно/при релизе) и анализируйте падения по типам ошибок.
Еще