Наука

Как за ночь создать классификатор для выявления AI-текстов на примере статей с Хабра

Краткое резюме

Автор делится опытом создания модели для выявления искусственно сгенерированных текстов. Он разработал классификатор, используя код и датасет AI, и опубликовал обученную модель на huggingface.co.

**Создание модели для определения искусственного текста: личный опыт** Уважаемые специалисты в области обработки естественного языка! Данная статья не является обучающим материалом. Автор не обладает глубокими знаниями в этой сфере и делится лишь своим опытом. Недавно я задумался о том, как можно выявить искусственно сгенерированные тексты. После прочтения статьи о методах обнаружения такого контента мне пришла в голову идея: почему бы не разработать собственное решение с помощью кода? Я не являюсь юристом, но предполагаю, что публикация датасета Хабра, собранного на статьях пользователей, может быть ограничена. Однако в репозитории доступен код и датасет AI, которые позволят вам обучить модель на собственных данных. Также на huggingface.co я публикую обученную модель, распознающую признаки AI. **Поиск готовых решений** Я начал с поиска готовых решений. Существует несколько публичных сервисов, предлагающих подобные услуги за плату. Однако при тестировании на русскоязычных текстах результаты были неудовлетворительными. У меня есть некоторый интерес к нейросетям, в основном как у пользователя. Я знаю о существовании сайта huggingface, где можно найти готовые решения с открытым кодом и данными. Однако выяснилось, что доступные решения ориентированы на английский язык и не подходят для наших целей. **Разработка собственного решения** Как определить, что текст написан не человеком? Тексты, созданные нейросетями, часто имеют повторяющиеся паттерны и фразы. Это можно использовать для их обнаружения. Несмотря на то что у меня нет опыта в обучении нейросетей, я решил попробовать разработать собственную модель. На помощь пришёл наш любимый нейрослоп. Новая нейросеть от Google оказалась способной показать зачатки разума и подсказать, что нужно сделать для создания собственной модели даже при отсутствии знаний в этой области. Для решения задачи мне нужна модель-классификатор. Это такая сеть, которая обучается на входных данных и метке, позволяющей определить эти данные. Вместо того чтобы обучать модель с нуля, я решил использовать готовое решение и переобучить его на своих данных. Это будет проще и дешевле, а также не факт, что с нуля у нас вообще что-то получится. Google рекомендует для такой задачи использовать сеть BERT и перетренировать её на своих данных. BERT хорошо знает английский, но нам нужна модель для русского языка. И такая есть: SberDevices пару лет назад взяли BERT и обучили его на русском языке.

Фильтры и сортировка