Как быстро фильтровать спам и оскорбления в PHP-приложении

Как быстро фильтровать спам и оскорбления в PHP-приложении

Современные приложения часто работают с пользовательским контентом, который может включать спам, оскорбления или нейтральные сообщения. Ручная модерация таких данных неэффективна и подвержена ошибкам. Kolas.ai предоставляет SaaS-решение на основе машинного обучения для классификации сообщений по категориям — Нейтральное, Оскорбление, Спам и др.

В этой статье я покажу, как PHP-разработчики могут интегрировать PHP-клиент Kolas.ai Clean Talk в свои проекты для синхронной и асинхронной классификации сообщений.

Шаг 1: Создание проекта Clean Talk

Прежде всего, необходимо создать новую учётную запись и новый проект Clean Talk. Если PHP-приложение должно поддерживать асинхронную интеграцию, необходимо добавить вебхук приложения и получить секрет для X-Signature.

Шаг 2. Установка PHP-клиента

Клиент доступен через Composer. Выполните в корне проекта:

composer require kolasai/clean-talk-php-client

Это добавит библиотеку в ваш проект и настроит автозагрузку.

Шаг 3. Аутентификация через OAuth2

Для безопасного доступа API Kolas.ai используется OAuth2 Client Credentials. Сначала получите Client ID и Secret на платформе Kolas.ai.

use CleanTalk\KolasAiOAuthClient; $oauthClient = newKolasAiOAuthClient(); $authResult = $oauthClient->auth(YOUR_CLIENT_ID, YOUR_CLIENT_SECRET); // Access token для запросов к API $accessToken = $authResult->getAccessToken();

Токены имеют срок действия, поэтому важно обновлять их после истечения.

Шаг 4. Синхронная классификация сообщений

После аутентификации вы можете классифицировать сообщения в синхронном режиме с помощью CleanTalkPredictionClient и PredictRequest.

use CleanTalk\CleanTalkPredictionClient; use CleanTalk\Message; use CleanTalk\PredictRequest; $client = new CleanTalkPredictionClient($accessToken); $request = new PredictRequest( YOUR_PROJECT_ID, [ new Message('11177c92-1266-4817-ace5-cda430481111', 'Hello world!'), new Message('22277c92-1266-4817-ace5-cda430482222', 'Buy our product now!'), ] ); $response = $client->predict($request); foreach ($response->getPredictions() as $prediction) { echo "MessageId: {$prediction->getMessageId()}\n"; echo "Message: {$prediction->getMessage()}\n"; echo "Prediction: {$prediction->getPrediction()}\n"; echo "Probability: {$prediction->getProbability()}\n"; echo "Categories: " . implode(', ', $prediction->getCategories()) . "\n"; }

В ответе API вы получите категорию и вероятность для каждого сообщения, что позволит автоматически фильтровать контент.

Шаг 5. Асинхронная классификация

Для высоконагруженных сценариев используйте asyncPredict. Ответы будут отправлены на webhook, указанный в настройках проекта.

$client->asyncPredict($request);

Такой подход подходит для обработки больших массивов сообщений или в системах реального времени, где нельзя блокировать выполнение.

Шаг 6. Поддержка нескольких языков

По умолчанию клиент поддерживает английский, русский и украинский. Дополнительные языки можно подключить по запросу через info@kolas.ai. При отправке сообщений достаточно указать нужный язык в параметрах.

Заключение

Интеграция PHP-клиента Kolas.ai позволяет автоматизировать модерацию контента, сократить ручной труд и повысить качество взаимодействия пользователей с вашим продуктом. Синхронные и асинхронные запросы, поддержка нескольких языков и выдача вероятностей классификации дают разработчикам гибкие возможности для внедрения интеллектуальной модерации.

Начните уже сегодня, создав проект на платформе Kolas.ai, и обеспечьте безопасность вашего приложения с помощью автоматической классификации сообщений.