Инструмент, который ищет маркеры в размеченном корпусе сам, и три правки каталога, сделанные по его результатам.
Что нового
Шахта паттернов eval/mine_patterns.py. Калибровка умела проверять готовый маркер, но не умела его находить. Шахта делает обратное: n-граммы по леммам, Apriori-отсечение по опоре, фильтры по lift и числу семейств моделей, проверка на отложенном сплите.
Уточнение к прошлому выводу. В v3.16.0 мы честно написали, что невиданную модель каталог не ловит. Точнее оказалось так: её не ловит собранный руками список банов. Набор, выведенный из данных, ловит unknown на 68.3% при 5% ложных срабатываний на людях (gpt-4-turbo 93.6%, llama 92.1%, gemma 84.7%) и устойчив к теме корпуса.
Но чёрным списком он не работает: хотя бы один кандидат есть у 79.5% человеческих текстов. Разделяет плотность маркеров, а не факт попадания. Числа и границы вывода в eval/MINING.md.
Дыра в бане закрыта. «Открывает новые горизонты/перспективы» расширено на «возможности»: самый частый вариант формулы проходил мимо. На людях 0.10% → 0.15%, у llama 0.58% → 5.51%.
Четыре маркера сканера, каждый измерен на людях до добавления: «внимание уделяется», «внимание уделено», «посвящена анализу/изучению/разработке», «исследование фокусируется на». Обе категории глушатся в академическом жанре.
Два кандидата отклонены при приёмке, и это поучительно: «статья рассматривает» как n-грамма даёт 0.07% ложных на людях, а как словоформенная регулярка 7.4%. Отсюда новое правило в CONTRIBUTING: мерить надо ту регулярку, которая едет в коммит.
Каталог остаётся 58 паттернов и 20 банов.
Полный список: CHANGELOG