(Реализация и исходный код)

Привет всем энтузиастам НЛП, читающим это! Разве нам не интересен этот простой вопрос: как чат-боты заменили всех тех парней из колл-центра, которые отвечали за то, чтобы лично отвечать на вопросы клиентов во время звонков? Как машина поймет смысл вопроса, который пытается задать пользователь? Машины не обладают человеческим мозгом, чтобы понимать эмоции, По крайней мере, они так говорят!!!

OHHHHH Ну хорошо, но подождите минутку! Вот где вам нужно заглянуть в классификацию намерений.

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

Что такое классификация намерений?

Классификация намерений (иногда называемая распознаванием намерений) — это метод, используемый при обработке естественного языка (НЛП). Классификация намерений анализирует намерения, стоящие за текстами, и распределяет их по категориям, таким как запросы или утверждения.

Как работает классификация намерений?

Классификация намерений принимает письменные или устные тексты в качестве входных данных и использует методы машинного обучения и НЛП для автоматического сопоставления каждого слова с их намерением.

  • Ввод может быть в виде текста или речи. Речевой ввод должен быть преобразован в текстовую форму с помощью технологии преобразования речи в текст.
  • Следует определить намерения, соответствующие варианту использования.
  • Затем обучаются классификаторы намерений, и текст помечается намерениями. Например, предложение «Я хочу поговорить с Дэвидом» указывает на запрос и может быть помечено как таковое.

Как бизнес может извлечь выгоду из классификации намерений?

  • Классификация намерений используется в приложениях разговорного ИИ, чтобы предоставить пользователям персонализированный опыт общения. Это помогает увеличить продажи и улучшить общее качество обслуживания клиентов. Это позволяет компаниям понять намерения клиентов и дать более точный ответ своим клиентам.
  • Это может позволить предприятиям автоматизировать взаимодействие между заинтересованными покупателями и представителями бизнеса. Он классифицирует потребности клиентов и их особое внимание, затем анализирует, чего клиенты намерены достичь, и направляет их соответствующему представителю, классифицируя намерения клиентов.

Давайте рассмотрим концепцию NLU!!

Классификация намерений использует концепцию понимания естественного языка (NLU).

Понимание естественного языка (NLU) — это подмножество обработки естественного языка (NLP), которое фокусируется на машинном понимании прочитанного посредством проверки грамматики и контекста, в котором используется слово.

Это позволяет ему определить предполагаемое значение данного предложения. Вот почему он используется для классификации намерений.

С другой стороны, НЛП фокусируется на обработке текста без поиска контекста или смысла текста.

На изображении ниже показаны примеры обработки естественного языка (NLP) и понимания естественного языка (NLU).

Сценарий использования 1:

"Какая погода сегодня?" будет соответствовать намерению «weather_inquiry» всей формулировкой, а не какой-то конкретной частью.

Случай использования 2:

Поиск ресторана можно выразить по-разному: - Я голоден. Покажи мне хорошие места для пиццы. Я хочу пригласить своего парня на суши

Это также может быть request_booking.

Методы классификации намерений:

  1. Модели глубокого обучения
  2. ML-модели

Классификация намерений с использованием SPacy и SVM

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

SpaCy — это популярная библиотека НЛП для Python, которую можно использовать для предварительной обработки текстовых данных перед их подачей в модель SVM. Этапы предварительной обработки могут включать в себя токенизацию, удаление стоп-слов, выделение корней и векторизацию. Затем векторизованные данные можно использовать для обучения модели SVM.

Таким образом, вы можете использовать SVM и SpaCy вместе для выполнения классификации намерений путем предварительной обработки текстовых данных с помощью SpaCy, преобразования их в числовые векторы, а затем обучения модели SVM для классификации входных текстовых данных на основе их намерений.

Получите полные коды и набор данных здесь:

https://github.com/anirudhbarbude/Intent-Classification.git

Классификация намерений с несколькими метками

Чтобы реализовать следующее Я использовал для прогнозирования полиномиальный алгоритм Naive_Bayes, потому что я нахожу его простым в реализации и обладающим высокой точностью.

Стратегия OneVsRest может использоваться для обучения с несколькими метками, когда классификатор используется, например, для прогнозирования нескольких меток. Наивный байесовский подход поддерживает несколько классов, но мы находимся в сценарии с несколькими метками, поэтому мы оборачиваем наивный байесовский класс в OneVsRestClassifier.

Стратегия OneVsRest с несколькими ярлыками

Алгоритм Multi-label принимает двоичную маску для нескольких ярлыков. Результатом каждого прогноза будет массив из нулей и единиц, указывающий, какие метки классов применяются к каждой входной выборке строки.

Следовательно, чтобы использовать Наивный Байес для классификации намерений с несколькими метками, необходимо сначала обучить модель на большом размеченном наборе данных, где входной текст разбит на несколько классов. На этапе обучения модель изучает отношения между словами в тексте и метками. После того, как модель обучена, ее можно использовать для классификации нового входного текста по нескольким классам путем вычисления вероятностей и присвоения наиболее вероятных меток.

Получите полные коды и набор данных здесь:

https://github.com/anirudhbarbude/Intent-Classification.git

Классификация намерений с использованием LSTM

Одним из подходов глубокого обучения для решения этой задачи является использование сетей с долговременной кратковременной памятью (LSTM), которые представляют собой тип рекуррентной нейронной сети (RNN).

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

Точность классификатора намерений на основе LSTM зависит от различных факторов, таких как качество и количество обучающих данных, архитектура сети и выбор методов предварительной обработки и разработки признаков.

Получите полные коды и набор данных здесь:



Спасибо за чтение! Пожалуйста, хлопайте, если вам понравилось, комментируйте (отзывы или сомнения) и делитесь 😄

Вы можете связаться со мной на Github, Linkedin😄