PORTFOLIO ★
February 11, 2023

HideGPT.app или как скрыть текст сгенерированный ChatGPT от обнаружения?

Сегодня ChatGPT одна из самых обсуждаемых моделей генеративного искусственного интеллекта в мире технологий. Чатбот на базе ИИ, который предоставляет человекоподобные ответы на вопросы, существует с прошлого года и заставил людей говорить о себе после запуска в ноябре 2022 года.

ChatGPT и другие большие языковые модели, такие как BLOOM, Bart, AI от you.com, GPT3 и другие при генерации текста используют статистику, распределения и вероятности.

Для обнаружения факта написания текста ИИ языковой модели, аналогичным образом, можно применять комбинацию из статистических и эвристических методов. Подробнее я писал об этом статье о CheckGPT.app.

Появляются сервисы и целая индустрия вокруг определения сгенерированного нейросетями текстового контента.

Но что, если перед нами стоит противоположная задача: скрыть факт написания ChatGPT от таких сервисов? Мы разобрались в этом вопросе и придумали алгоритм для сокрытия (маскировки) текста, написанного ИИ от всех существующих решений по обнаружению текстового ИИ контента!

Как работает HideGPT?

Для сокрытия сгенерированного текста и придания ему вида, аналогичного написанному человеком, мы используем комбинацию статистических и эвристических методов.

- Статистические признаки. Мы алгоритмические добиваемся выравнивания таких метрик как, индекс читаемости и связанности текста, комплексная сложность текста, перплексия, количество уникальных и сложных слов, длина слов и предложений, количество символов и др, юниграмы и токены, доводя их до аналогичных показателей для текстов, написанных человеком.

- Эвристические признаки. Мы эксплуатируем тот факт, что нейросети строят предложения определённым способом, в котором мы нашли закономерности. Мы обрабатываем текст таким образом, чтобы отклонения в фразах от текстов, написанных человеком были минимальными.

В качестве метрики сравнения текстов ДО и ПОСЛЕ обработки мы используем метрику похожести (text similarity).

Алгоритм нормализует такие метрики, как:

  • Перплексия (perplexity) или же «коэффициент неопределённости» — метрика оценки языковых моделей. Она определяет сложность текста.
  • Автоматический индекс удобочитаемости (automated readability index (ARI) — мера определения сложности восприятия текста читателем, аппроксимирующая сложность текста.
  • Корреляция встречаемости речевых оборотов в текстах.
  • Индекс сложности текста (text complexity).
  • Индекс удобочитаемости Флеша (Flesch reading ease formula) — метрика, использующая формулу, оценивающую сложность текста.
  • Индекс Колман-Лиау (Coleman–Liau index)) — индекс удобочитаемости, который наряду с индексом ARI может использоваться для определения сложности восприятия текста читателем путём аппроксимирования сложности текста.
  • Уникальность текста - метрика определения вероятностных и уникальных слов и их комбинаций в предложениях.
  • Связанность предложений (cohesion) - и лексическая связность текста или предложения, которая соединяет их в единое целое и придает им смысл; одна из определяющих характеристик текста/дискурса и одно из необходимых условий текстуальности..
  • Когерентность (Coherence) - метрика оценки целостности текста, заключающаяся в логико-семантической, грамматической и стилистической соотнесённости и взаимозависимости составляющих его элементов (слов, предложений и т. д.).
  • Индекс смешанности (Code Mixing Index) - метрика обозначает спонтанное переключение предложения или речевой составляющей.
  • другие know-how решения.

При этом входной текст после обработки HideGPT, визуально практически не меняется, за исключением некоторых слов, фраз и токенов. Но на уровне статистических и частотных признаков это новый текст, и для любых проверяемых сервисов и алгоритмов проверки на предмет сгенерированного контента, будет определяться, как написанный человеком!

Маскируем текст:

Для примера возьмём текст, сгенерированный ChatGPT:

1. Set up a FastAPI server:
- Choose the right hosting provider and make sure to have the right server specs to run a FastAPI app.
- Configure the web server to handle requests and responses, and set up the appropriate URLs.

2. Develop the API using FastAPI:
- Use the object-oriented features of FastAPI to create the logic for your API.
- Implement all of your API's endpoints.

3. Integrate payment processing:
- Use a third-party payment processor to handle token sales.
- Configure the API to receive and process the payment information.

4. Monitor and secure your API:
- Keep an eye on your API’s performance by using a service like New Relic.
- Secure your API using a reliable web application firewall.

5. Deploy in production:
- Make sure your API is running in a production environment.
- Set up a continuous delivery system to ensure timely releases and bug fixes.

6. Monitor customer satisfaction:
- Monitor customer satisfaction by keeping track of API usage metrics.
- Listen to customer feedback and implement improvements as necessary.

и попросим CheckGPT проверить его:

на 89.5% CheckGPT уверен, что текст сгенерирован ChatGPT, что является верным!

и для чистоты эксперименты проверим на еще одном сервисе проверки, copywrite.ai:

Аналогично текст определился, как сгенерированный ИИ.

Маскируем текст:

Теперь попросим HideGPT.app обработать текст для сокрытия от любых сервисов проверки.

=============================================
Obscured Language detection:  en
=============================================
Similarity: 0.4363
=============================================

Проверяем замаскированный текст:

Вердикт: Текст написан человеком, с уверенностью почти на 99%

Проверим на другом сервисе:

Аналогично, текст определяется как, написанный человеком!

HideGPT.app блестяще справился со своей задачей :)

Решение:

HideGPT.app реализован и запущен в виде: