Научная статья на тему нейросеть: где тест знает ответ
Научная статья на тему нейросеть начинается с измеримого вопроса. Учебный пример объявлений: метки, независимый тест и таблица без выдуманных результатов.
Андрей
Преподаватель, научный редактор
8 мин чтения
«Занятие перенесли на четверг». «Занятие отменили». В первом случае человек придёт в другой день, во втором не придёт вовсе. На доске обе фразы легко подписать одним словом «изменение», а потом объявить, что нейросеть отлично понимает сообщения. Я бы вернул такой вывод студенту: что именно система должна различать и на каких новых фразах её проверяли? Так широкая научная статья на тему нейросеть превращается в один вопрос, который можно исследовать.
Для разбора я придумал короткие объявления о занятиях. Они не относятся к настоящей школе, ученикам или расписанию. Здесь нет проведённого эксперимента и цифры точности модели. Зато на этом маленьком сюжете можно заранее решить, какие записи понадобятся для настоящей статьи и где появляется мнимый успех ещё до первого запуска.
Научная статья на тему нейросеть: сузить вопрос
«Нейросети в образовании» — тема для обзора, но слишком широкая для моего эксперимента. Я написал в верхней строке рабочего листа другое: различает ли текстовая модель перенос, отмену и отсутствие изменения в коротких русских объявлениях? Сразу видны объект, действие и ожидаемые виды ошибок. Статья о применении чата как помощника автору решает иную задачу; здесь модель сама становится объектом проверки.
Первым делом я выписал определения меток. Без них фраза «урок сегодня не отменяется» окажется то отменой из-за слова «отмен», то отсутствием изменения из-за смысла. Я не могу засчитать верный ответ, пока сам не описал, что считать верным.
Вымышленная карточка · Метка по нашему правилу · Почему
«Занятие перенесли на четверг» — Перенос — Есть новый день вместо прежнего
«Занятие отменили» — Отмена — Сообщено, что занятия не будет
«Урок сегодня не отменяется» — Без изменения — Отрицание отменяет предполагаемую отмену
«О времени сообщим позже» — Неясно — По одной фразе не видно, было ли изменение
Четвёртая строка для меня важнее самой простой первой. Если выкинуть все неясные сообщения после просмотра ответов модели, результат станет красивее, но вопрос исследования незаметно изменится. До опыта нужно решить, выводим ли такие случаи в отдельный класс, передаём ли человеку или исключаем по заранее записанному правилу. И в статье указать, сколько таких случаев было на самом деле, когда данные появятся.
Я проверил собственное правило на строке «урок сегодня не отменяется». Простейший поиск по корню «отмен» назовёт её отменой. Человек, который прочитал всё предложение, видит отрицание. Так у меня появилась первая контрольная карточка для обсуждения с разметчиками: надо читать фразу целиком и не превращать совпадение букв в смысл. Это пока проверка правила на вымышленной строке, а не измеренная ошибка обученной модели.
Двенадцать придуманных карточек могли бы помочь на семинаре договориться о метках. Они не стали бы убедительной выборкой для вывода о качестве модели. Для реальной работы нужен набор, соответствующий исследовательскому вопросу: разные формулировки, отрицания, короткие и длинные сообщения, понятное происхождение и разрешение на использование. Сколько именно записей достаточно, нельзя вывести из красоты числа в плане; это зависит от того, какой вывод ты собираешься сделать.
Где контрольный набор подскажет модели ответ
Представь три сообщения об одном событии: «занятие во вторник перенесли на четверг», «вторничное занятие будет в четверг» и «встречаемся в четверг вместо вторника». Если первое лежит в наборе для подбора промпта, а два других случайно попали в итоговый тест, я проверяю почти тот же случай, который уже видел при настройке. Формулировки разные, событие одно. Это плохая опора для вывода о новых объявлениях.
В официальном курсе Google Machine Learning Crash Course отдельно объясняется, зачем держать тестовые примеры отдельно от обучающих и проверочных, удалять дубли и не возвращаться к одному тесту после каждой настройки. Для моего сюжета я бы разделял карточки по событию или шаблону объявления, а не просто перемешал строки. Иначе родственные версии пересекут границу набора. Это методическое решение для предложенного исследования, не отчёт о том, что я обучил модель.
Я нарисовал на полях два конверта: «настройка» и «закрытый тест». Три варианта одного переноса нельзя разложить по разным конвертам только ради ровного количества строк. Если в будущем появятся настоящие сообщения, придётся сначала установить, относятся ли они к одному событию, и только потом распределять их. Иногда это уменьшит число независимых примеров сильнее, чем кажется по размеру таблицы. Лучше признать небольшой тест, чем выдать повтор одного объявления за три независимых проверки.
До запуска я зафиксировал бы пять решений:
Корпус. Откуда взяты сообщения, кто имеет право их использовать и какие признаки удалены. Для учебной пробы — только собственные вымышленные карточки.
Метки. Какие слова и обстоятельства означают перенос, отмену, отсутствие изменения или неясный случай. Два независимых человека должны суметь применить правило одинаково; разногласия надо учитывать, а не скрывать.
Разделение. Какие события и шаблоны ушли в настройку, какие останутся закрытыми до итоговой проверки. Родственные перефразы не должны перескакивать между частями.
Сравнение. Простой исходный способ, например правило по словам «перенесли» и «отменили». Оно ошибётся на «не отменяется», и именно поэтому полезно: станет видно, что добавила модель сверх поиска ключевых слов.
Измерение. Считать не только общую долю верных меток, но и ошибки по каждому важному классу. Если переносы угадываются, а отмены пропускаются, одно среднее число скроет главный риск.
В работе с готовой текстовой моделью я отдельно записал бы её название, доступную версию, дату, полный запрос и правила повторных запусков. Иначе позже трудно понять, что именно проверяли. Изменение промпта после просмотра итогового теста требует нового независимого теста для честного окончательного вывода. Хороший результат на одном наборе не делает правило универсальным для других школ, языков и типов объявлений.
Для класса «отмена» мне особенно важно число пропусков. Допустим, в закрытом наборе было бы десять отмен, а способ назвал бы восемь из них правильно. Тогда две отмены остались бы нераспознанными; в статье я указал бы и долю 8 из 10, и сами типы пропущенных фраз. Это арифметический пример того, что считать, а не наблюдение о LibraChat или другой модели. При настоящем испытании знаменатель и число ошибок надо брать из сохранённой разметки, не подбирать под красивый процент.
Как выглядит статья до появления результатов
Научную статью по такому вопросу я не начинал бы с красивого вывода «ИИ надёжно понимает объявления». Сначала нужна связка разделов, которую потом можно заполнить реальными действиями:
Введение: почему путаница между переносом и отменой вообще важна; какое узкое свойство модели проверяем.
Метод: откуда сообщения, как разметили спорные случаи, что осталось в закрытом тесте, какая модель и какое простое правило сравнивались.
Результаты: сколько было случаев каждого класса и где ошиблись оба способа; только фактически полученные числа.
Обсуждение: какие ошибки важнее для пользователя, что ограничивает перенос вывода на другой корпус.
Для себя я оставил бы пустую таблицу результатов до проведения работы. Она останавливает особенно соблазнительную привычку написать «точность выросла» ещё до подсчёта.
Что сравнивается · Число тестовых случаев · Верно распознано · Ошибки отмены · Ошибки переноса
Простое правило по словам — [после разметки] — [после проверки] — [после проверки] — [после проверки]
Текстовая модель — [тот же закрытый тест] — [после проверки] — [после проверки] — [после проверки]
В аннотации после опыта придётся назвать вопрос, корпус, метод сравнения и главный измеренный результат. Пока последней части нет, это план исследования, а не готовая научная публикация. Здесь важнее не стилистика текста, а честность устройства проверки.
Что можно поручить чату до эксперимента
На безопасных вымышленных примерах LibraChat может помочь найти неоднозначную формулировку метки. Я предложил бы ему такой текстовый запрос, не называя его полученный ответ результатом исследования:
Для учебного плана исследования придумай четыре коротких вымышленных объявления: ясный перенос, ясную отмену, отрицание отмены и случай, где изменение неясно. Не используй реальные имена, школы или расписание. Для каждого укажи предполагаемую метку и объясни слово, на котором легко ошибиться. Не оценивай качество модели и не придумывай проценты точности.
Полученные варианты надо прочитать самому: иногда спор возникает из-за плохого задания, а не сложной фразы. Чат может подкинуть крайний случай для обсуждения правила. Он не заменит независимую разметку и не даст достоверный итоговый процент без закрытого набора. Если решишь использовать конкретный режим, условия проверь на странице тарифов; это организационный шаг, не часть научного доказательства.
Когда проверяемый вопрос и таблица готовы, можно отдельно заняться формой рукописи: ей посвящён разбор научной статьи с нейросетью как помощником автора. Он пригодится для редакторской работы над разделами, уже после того как ты обозначил данные и пределы вывода.
Прямо сейчас напиши две вымышленные фразы: в одной занятие перенесено, в другой отменено. Затем добавь третью, где есть слово «отмена» с отрицанием. Сформулируй правило, по которому два человека дадут им одинаковые метки, и запиши, какой пример нельзя показывать модели до итогового теста. Если это получилось, у научной статьи на тему нейросети появился проверяемый вопрос. Числа и выводы появятся только после настоящей работы.