Вопрос или проблема
Я совсем новичок в машинном обучении. Я только что прошел несколько учебников в Azure и завершил один практический рабочий процесс (предсказание цены на автомобиль). Надеюсь, что смогу задать здесь базовые вопросы.
Сценарий: Мы получаем запросы на обслуживание от наших клиентов по электронной почте. В запросе есть такие поля, как имя клиента, имя пользователя, адрес электронной почты, оборудование, затронутое проблемой, тип запроса и описание проблемы (это область свободного текста).
Сотрудник читает это письмо, в основном раздел с описанием проблемы. Основываясь на разделе с описанием проблемы, он или она принимает соответствующие меры. У нас будет 4-6 полей (тип запроса, несколько вопросов и т. д.). Описание проблемы – это область свободного текста, где клиент может написать все, что угодно о проблеме.
Подходит ли это для модели ИИ, если у нас есть данные за последние 2-3 года? Если да, то является ли многоклассовая классификация решением? Если нет, то какой алгоритм машинного обучения нужно использовать? Могу ли я полагаться на Azure для этого, или нам нужно разработать новую модель/алгоритм для этого?
Извините, если это слишком базовый вопрос.
Он читает это и в другом приложении регистрирует звонок. Там ему нужно заполнить тип запроса и несколько анкет.
Это задача классификации “многоклассовая”.
Вы можете начать с библиотеки, которая упрощает смешивание текстовых, категориальных и числовых атрибутов.
Текст: атрибут “описание проблемы” (библиотека должна уметь применять НЛП к тексту)
Категориальный: “тип запроса” и аналогичные атрибуты
Числовой: “цена” и аналогичный атрибут (если применимо)
Одной из таких библиотек является: Uber Ludwig
Если у вас есть данные в CSV, это не должно занять более нескольких часов для обучения модели.
Документация: https://uber.github.io/ludwig/user_guide/
Введение: https://hackaday.com/2019/02/25/ludwig-promises-easy-machine-learning-from-uber/
Ответ или решение
Конечно! Ваша задача по классификации запросов на обслуживание и заполнению анкеты представляет собой хороший сценарий для применения методов машинного обучения. Давайте разберем основные моменты и шаги, которые вам понадобятся для решения данной задачи.
Описание задачи
Вы получаете запросы от клиентов на электронную почту, которые содержат несколько полей, включая:
- Имя клиента
- Имя пользователя
- Электронный адрес
- Оборудование, которое испытывает проблемы
- Тип запроса
- Проблема, с которой столкнулся клиент (свободный текст)
На основе этого "проблема" служащий принимает соответствующие меры, что может включать в себя классификацию типа запроса и заполнение нескольких анкет.
Классификация запросов
-
Поскольку "проблема" — это свободный текст, это будет задачей многоуровневой классификации (multi-class classification). Вам потребуется классификатор, который будет способен обрабатывать текстовые данные и способен классифицировать их по заранее определенным категориям.
-
Существуют несколько моделей и алгоритмов машинного обучения, которые могут быть полезны в этом случае:
- Машины векторной поддержки (SVM): Хорошо справляются с классификацией текстов.
- Наивный байесовский классификатор: Прост в реализации и часто используется для текстовой классификации.
- Модели глубокого обучения: Использование рекуррентных нейронных сетей (RNN) или трансформеров, таких как BERT, может дать более точные результаты, особенно если у вас достаточно данных.
Использование Azure
Azure предоставляет мощные инструменты для машинного обучения, включая Azure Machine Learning Studio и Cognitive Services. Эти инструменты могут помочь вам в реализации задачи.
- Azure Machine Learning Studio: Вы можете загрузить свои данные, предобработать их и применить различные алгоритмы машинного обучения без необходимости глубоких знаний в программировании.
- Cognitive Services: Если вы хотите использовать уже обученные модели для обработки естественного языка (NLP), вы можете воспользоваться API для анализа текстов.
Процесс работы
-
Сбор данных: Соберите данные, содержащие истории запросов клиентов за последние 2-3 года. Убедитесь, что у вас есть метки для каждого запроса, которые обозначают, какой тип запроса или вопрос был сделан.
-
Предобработка данных:
- Очистка текста (удаление лишних символов, токенизация и т. д.)
- Преобразование текстов в числовые представления (например, с помощью TF-IDF или эмбеддингов слов).
-
Обучение модели:
- Выберите подходящую модель или используйте готовые решения в Azure или других библиотек, таких как Ludwig, о которых упоминалось ранее.
- Обучите модель на ваших данных и проверьте её точность на тестовом наборе.
-
Развертывание:
- После успешного тестирования модели вы можете настроить её для интеграции с вашей системой обработки запросов, чтобы автоматизировать процесс классификации.
-
Непрерывное обучение: Регулярно обновляйте модель новыми данными, чтобы она оставалась актуальной.
Заключение
Да, ваша задача подходит для применения методов искусственного интеллекта, и алгоритмы многоклассовой классификации действительно являются одним из возможных решений. Вы можете использовать Azure для разработки модели, а также многие библиотек, которые облегчают использование текстовых данных и другие типы атрибутов. Надеюсь, это поможет вам продвинуться вперед в проекте! Не стесняйтесь задавать дополнительные вопросы, если они возникнут.