Предупреждающее всплывающее окно при обнаружении изображения в сообщении

Когда кто-то создаёт новый пост, появляется маленькое уведомление «Ваша тема похожа на…». Можно ли добавить туда что-то ещё?

В частности, было бы здорово, если бы можно было определять, встраивается ли в пост изображение, и затем предлагать пользователям что-то вроде: «Пожалуйста, не публикуйте изображения текста, логов или кода. Их трудно читать, невозможно искать и воспроизводить (если это код), а некоторые пользователи могут вообще не иметь возможности их увидеть».

У нас действительно есть посты с элементами интерфейса, для которых нужны скриншоты, но гораздо чаще пользователи публикуют скриншоты (или даже фотографии экранов) таких вещей, как файлы конфигурации или логи, либо другие текстовые форматы.

7 лайков

Да, я понимаю твою боль в этом вопросе. Тем не менее, мне кажется, что люди, которые выкладывают скриншоты, на миллион шагов впереди тех, кто просто заявляет о проблеме без каких-либо объяснений или доказательств. У меня нет решения, но мне кажется, что использование OCR для анализа изображений будет гораздо продуктивнее, чем упрекать людей за попытки…

4 лайка

Технически здесь можно что-то сделать с помощью интеграции ИИ, но успеть вовремя будет сложно.

Вот немного старая публикация на эту тему:

https://towardsdatascience.com/how-i-used-machine-learning-to-detect-chat-screenshots-on-my-phone-a46d875b07af

Ещё несколько идей:


Возможно, здесь подойдёт очень простой плагин, который «сделает своё дело ™»: автоматизировать tesseract:

Передаём изображение → получаем текст → считаем общее количество букв → если их больше N, то с высокой вероятностью это фрагмент кода. Тогда мы можем предупредить перед публикацией.

Я считаю, что реализовать это в плагине вполне реально.

4 лайка

Было бы проще добавить обработчик, чтобы при нажатии на кнопку загрузки или перетаскивании изображения появлялось всплывающее окно?

Это вполне реализуемо, однако такая функциональность должна быть реализована в виде плагина, особенно в зависимости от способа её внедрения.

Подобно Tesseract, это сложный инструмент для установки — здесь возникает своего рода дилемма. Либо вы разворачиваете новый API, либо засоряете контейнер вашего приложения. Разворачивание отдельного API обеспечивает лучшую изоляцию, но тогда любой, кто устанавливает такой плагин (вне нашей хостинг-среды), должен будет настроить и запустить второй контейнер для выполнения этой задачи.

Нам нужно будет очень внимательно относиться к таймаутам (что, если на определение того, что это скриншот кода, уйдёт 10 секунд? Что увидит пользователь?).

Мои спонтанные идеи на этот счёт:

  • Пользователь публикует изображение;
  • Изображение отображается в посте;
  • (Параллельно) пост отправляется в сервис «Определить, является ли это скриншотом кода»;
  • Когда сервис в конечном итоге отвечает, вы показываете предупреждение.

Блокировка всех загрузок изображений на сервисе (даже локальном) рискованна, так как это может существенно ухудшить пользовательский опыт.

Можно добавить одну «финальную» задержку непосредственно перед публикацией, чтобы убедиться, что в очереди ничего не осталось.

Всё это потенциально выполнимая работа, которую мы могли бы взять на себя, но нам сначала понадобится набор данных для работы, чтобы мы могли сформировать ожидания (например, 50 изображений с фрагментами кода и 50 без них).

Это очень размытая задача, поэтому примеры помогут понять, насколько хорошо такая система сможет работать.


Интересный поворот: если бы этот волшебный сервис «преобразовывал» скриншоты обратно в исходный код и сообщал пользователю: «Эй, я вижу, что вы попытались опубликовать здесь исходный код. Хотите, я преобразую его в этот текстовый блок?»

2 лайка

Похоже на плагин OCR, но, возможно, более удобный для пользователя :wink:

2 лайка

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

Это как версия 1. «ИИ для поиска текста» — это уже версия 10.

2 лайка

Да, в общем-то всё, приятель.

1 лайк

Атомное предупреждение, зависящее от уровня доверия (и, возможно, количества постов), довольно просто реализовать в компоненте темы, но в зависимости от настроек форума это может стать довольно раздражающим.

1 лайк