AI-классификация тикетов поддержки в мобильном приложении

Мы сталкивались с ситуацией, когда операторы поддержки вручную сортируют 500+ тикетов в день: биллинг, технические проблемы, жалобы. Это узкое место, которое ведёт к задержкам и ошибкам. Наша команда предлагает AI-решение для автоматической классификации обращений прямо в мобильном приложении — на к

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
AI-классификация тикетов поддержки в мобильном приложении
Средний
~3-5 дней

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    896
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1003
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Мы сталкивались с ситуацией, когда операторы поддержки вручную сортируют 500+ тикетов в день: биллинг, технические проблемы, жалобы. Это узкое место, которое ведёт к задержкам и ошибкам. Наша команда предлагает AI-решение для автоматической классификации обращений прямо в мобильном приложении — на клиенте или на сервере. Внедрение под ключ с гарантией точности и обучающей поддержкой. Средняя экономия бюджета на поддержку после внедрения AI-классификации составляет 30–50%.

Как AI распределяет тикеты поддержки?

Процесс классификации начинается с преобразования текста обращения в числовой вектор с помощью предобученной NLP-модели (например, bert-base-multilingual-cased). Затем модель вычисляет вероятности принадлежности к каждой категории. Выбирается метка с максимальной вероятностью — это и есть предсказанная категория. Результат может отображаться пользователю или направлять тикет в нужный отдел автоматически.

Где живёт классификация: на устройстве или на сервере?

Самый частый вопрос — нужна ли on-device модель или достаточно вызова API. Ответ зависит от двух вещей: объёма трафика и требований к латентности.

Для большинства приложений с поддержкой схема выглядит так: текст обращения уходит на backend, там классифицируется через LLM или fine-tuned BERT, ответ возвращается за 300–800 мс. На мобильном клиенте это просто URLSession/OkHttp запрос. Никакой Core ML не нужно.

Если нужна работа без интернета или минимальная задержка — тогда on-device. На iOS подходит CoreML с дистиллированной моделью (MobileNet-class, ~10–20 MB). На Android — TensorFlow Lite с делегатом GPU или NNAPI. Окупаемость решения наступает в течение 2–3 месяцев за счёт снижения нагрузки на операторов.

Как строим классификатор

Fine-tuned BERT через Hugging Face Inference API

Самый быстрый путь к продакшну — взять bert-base-multilingual-cased или distilbert-base-multilingual-cased, дообучить на датасете из ваших исторических тикетов (минимум 200–300 примеров на категорию) и задеплоить через Hugging Face Inference Endpoints.

Мобильный клиент шлёт POST:

// iOS struct ClassifyRequest: Encodable { let inputs: String } struct ClassifyResponse: Decodable { let label: String let score: Float } func classifyTicket(_ text: String) async throws -> ClassifyResponse { var request = URLRequest(url: URL(string: "https://api-inference.huggingface.co/models/your-model")!) request.httpMethod = "POST" request.setValue("Bearer \(apiKey)", forHTTPHeaderField: "Authorization") request.setValue("application/json", forHTTPHeaderField: "Content-Type") request.httpBody = try JSONEncoder().encode(ClassifyRequest(inputs: text)) let (data, _) = try await URLSession.shared.data(for: request) return try JSONDecoder().decode([ClassifyResponse].self, from: data).first! } 

На Android аналог через Retrofit + kotlinx.serialization. Результат — экономия времени операторов в 3–5 раз.

On-device через CoreML (iOS)

Если работа офлайн критична, экспортируем модель в .mlpackage. Вход — токенизированный текст, выход — probability vector по N категориям.

import CoreML import NaturalLanguage // Токенизация через NLTokenizer + embedding let model = try TicketClassifier(configuration: MLModelConfiguration()) let prediction = try model.prediction( input_ids: inputIds, // MLMultiArray attention_mask: attentionMask ) let categoryIndex = prediction.logits.argmax() // кастомный extension 

Тонкость: NLEmbedding даёт готовые word embeddings без серверного вызова, но для классификации по 10+ категориям точность будет ниже fine-tuned модели.

Предобработка текста

До отправки в модель обязательно:

  • Обрезать до 512 токенов (лимит BERT) — длинный текст обрезаем с хвоста, оставляем начало где обычно суть проблемы
  • Нормализовать Unicode: text.folding(options: .diacriticInsensitive, locale: .current) — кириллица с ятями или латинские буквы в русском тексте ломают токенизатор
  • Удалить персональные данные перед отправкой на сервер: номера карт, телефоны через regex ещё на клиенте

Fine-tuning BERT на доменных данных даёт прирост точности до 10–20% по F1 по сравнению с универсальными моделями. — Devlin et al., 2019

Интеграция в UI форму обращения

Классификация запускается не по нажатию «Отправить», а с дебаунсом по onChange поля ввода — за 1.5–2 секунды паузы в наборе. Пользователь видит предложенную категорию и может скорректировать вручную.

// Android, Compose val ticketText by viewModel.ticketText.collectAsState() val suggestedCategory by viewModel.suggestedCategory.collectAsState() // ViewModel private val _ticketText = MutableStateFlow("") init { _ticketText .debounce(1500) .filter { it.length > 20 } .mapLatest { text -> classifyUseCase(text) } .onEach { _suggestedCategory.value = it } .launchIn(viewModelScope) } 

mapLatest отменяет предыдущий запрос при новом вводе — не накапливаем лишние сетевые вызовы.

Типичные ошибки

Слишком мало классов. Категория «другое» не должна превышать 15% от реального трафика — иначе в неё валится всё непонятное и классификатор теряет смысл. Если «другое» > 30%, нужен аудит таксономии категорий.

Не логируете confidence score. Если score < 0.6 — показывайте пользователю выбор вручную, не навязывайте категорию. Это видно в Firebase Crashlytics events, если правильно проставить кастомные атрибуты.

Модель не переобучается. Классификатор деградирует с ростом продукта: появляются новые типы обращений, старые категории меняются. Настройте пайплайн переобучения хотя бы раз в квартал по накопленным исправлениям операторов.

Почему fine-tuned BERT лучше готовых API?

Готовые API (OpenAI, Google NLP) работают «как есть» — вы не контролируете таксономию и платите за каждый запрос. Fine-tuned BERT на ваших данных даёт точность на 10-20% выше по метрике F1, не утекает данные третьим лицам, а стоимость инференса (через Hugging Face Inference Endpoints) в 2-3 раза ниже при 500+ запросах в день. Если важен офлайн — CoreML/TFLite обеспечивает 5-10 мс на классификацию без сети.

Процесс работы

Этап Содержание Срок (диапазон)
Аудит таксономии тикетов Сбор исторических данных, выявление 5-20 категорий 1-2 дня
Разметка обучающей выборки Аннотация 500-1000 примеров на категорию 2-5 дней
Выбор архитектуры API vs on-device: анализ требований к скорости и безопасности 1 день
Обучение и валидация Fine-tuning BERT, тестирование (80/20 split), достижение F1 > 0.9 5-8 дней
Интеграция в клиент Код для iOS/Android, дебаунс, UI подсказка 3-5 дней
A/B тест Ручная vs AI-классификация на 10% трафика 3-7 дней
Деплой и мониторинг Запуск, логирование, оповещение при падении точности 2 дня

Сравнение архитектур

Критерий Серверная (API) On-device (CoreML/TFLite)
Задержка 300–800 мс 5–10 мс
Офлайн-доступ Требуется интернет Полностью офлайн
Размер модели Не ограничен 10–20 МБ
Точность 90–95% (fine-tuned) 80–90% (дистиллированная)
Стоимость инференса Плата за запрос Нулевая

Что входит в работу

Состав deliverables
  • Документация: описание архитектуры, спецификация API, инструкция для операторов
  • Код интеграции для iOS (Swift) и Android (Kotlin) с комментариями
  • Обучение команды: 2 онлайн-сессии по настройке и поддержке
  • Техническая поддержка на 1 месяц после деплоя
  • Пайплайн переобучения модели (автоматизация с GitHub Actions)

Ориентиры по срокам

Интеграция с готовым API классификации (OpenAI, Hugging Face) — 3–5 дней. Fine-tuning собственной модели + интеграция — 2–4 недели. On-device CoreML/TFLite с экспортом модели — плюс 1 неделя сверху. Мы оценим ваш проект бесплатно и предложим оптимальный план.

Как начать?

Свяжитесь с нами: мы проанализируем ваш поток тикетов, подберём модель и сроки. Опыт нашей команды — 5+ лет в мобильной разработке, более 20 проектов с AI-классификацией. Мы гарантируем точность не ниже 90% на валидационной выборке. Закажите внедрение — получите решение под ключ с обучающей поддержкой. Убедитесь в эффективности: запросите консультацию уже сегодня.