Разговорные приложения с моделями большого языка, понимание последовательности ввода пользователей, подсказок и ответов

Веселые разговорные приложения с пониманием пользовательского ввода, подсказками и ответами от моделей большого языка

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

Ввод пользователя

Все начинается с ввода пользователя, который может быть голосовой командой, текстовым сообщением или даже нажатием кнопки. Например, предположим, что пользователь говорит: “Привет, какая сегодня погода?”

Предварительная обработка

После получения пользовательского ввода он проходит через ряд этапов предварительной обработки. К ним могут относиться:

  • Токенизация: Разбиение ввода на отдельные слова или токены. В нашем примере “Привет” будет одним токеном, “Какая” – другим и так далее.
  • Распознавание именованных сущностей (NER): Выявление конкретных сущностей во вводе, таких как имена, местоположения, организации и т.д. Например, если пользователь сказал: “Какая погода в Нью-Йорке?”, то именованной сущностью будет “Нью-Йорк”.
  • Определение частей речи (POS-тегирование): Определение грамматической категории каждого слова, такой как существительное, глагол, прилагательное и т.д.
  • Синтаксический разбор: Анализ отношений между токенами, таких как субъект-глагол-объект.

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

Генерация запроса

Предварительно обработанный ввод затем преобразуется в запрос, который является кратким представлением запроса или запроса пользователя. Запрос разработан так, чтобы предоставить LLM достаточную информацию для генерации соответствующего ответа.

В нашем примере запрос может выглядеть примерно так:

{“intent”: “check_weather”,”location”: “New York City” }

Обратите внимание, как в запросе содержится два ключевых элемента информации: намерение (check_weather) и местоположение (Нью-Йорк). Эта информация помогает LLM понять, что пользователь хочет и соответствующим образом настроить ответ.

Обработка больших языковых моделей (LLM)

Запрос готов к отправке LLM для обработки. LLM использует алгоритмы естественной обработки языка (NLU), чтобы понять значение запроса и сгенерировать ответ.

Допустим, LLM генерирует следующий ответ:

“Прогноз погоды для Нью-Йорка показывает ясное небо, с максимальной температурой 75 градусов по Фаренгейту и минимальной температурой 50 градусов по Фаренгейту.”

Пост-обработка

После получения ответа от LLM могут быть выполнены дополнительные этапы пост-обработки для улучшения вывода. Некоторые из этих этапов могут включать:

  • Анализ эмоциональной окраски: Определение того, является ли тональность ответа позитивной, негативной, нейтральной или смешанной.
  • Классификация намерения: Уверенность в том, что ответ соответствует изначальному намерению пользовательского ввода.
  • Оценка плавности: Оценка связности и читабельности ответа.

Если необходимо, ответ может быть дальше усовершенствован с помощью алгоритмов машинного обучения или правиловых движков для обеспечения определенных стандартов качества.

Представление ответа

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

Давайте рассмотрим некоторые конкретные сценарии отрасли, чтобы понять, как работает поток. Здесь я беру концепцию “сопоставления сущностей”, важную в пространстве управления данными, и исследую, как работают разговорные приложения, основанные на LLM.

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

Далее я рассмотрю два отраслевых сценария, банковскую и розничную торговлю, чтобы показать поток.

Пример 1: Сопоставление “Пользовательской сущности” в контексте процесса “Знай своего клиента” (KYC) в банковском секторе

Ввод пользователя

“Привет, я новый клиент и хотел бы открыть текущий счет”.

Предварительная обработка

Система разговорного ИИ начинает анализировать ввод пользователя для идентификации упоминаемых ключевых сущностей. В этом случае пользователь упомянул финансовое учреждение (“банк”) и финансовый продукт (“текущий счет”). Система выполняет распознавание сущностей, чтобы определить конкретный банк и тип счета, соответствующий описанию пользователя. Допустим, система определяет банк как “ABC Bank”, а тип счета как “Личный текущий счет”.

Генерация подсказки

Затем система создает подсказку, которая кодирует определенные сущности и контекст запроса пользователя. Подсказка может выглядеть следующим образом:

{“entity1”: “ABC Bank”,”entity2″: “Личный текущий счет”,”context”: “открытие счета” }

Обработка большой языковой модели (LLM)

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

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

Получив ответ от LLM, разговорная система ИИ выполняет дополнительную обработку для уточнения вывода. Это может включать:

  • Сопоставление сущностей: Идентификацию связей между сущностями в ответе и их привязку к внешним базам данных или системам. Например, система может связать имя пользователя с его кредитным отчетом или данными о государственном идентификаторе.
  • Обнаружение рисков: Анализ ответов пользователя и документов для выявления потенциальных рисков или вопросов соблюдения правил. Например, система может выявить пользователя, предоставившего несогласованные документы для идентификации или чья личная информация соответствует известному мошеннику.
  • Соблюдение нормативных требований: Проверку информации и документов пользователя на соответствие нормативным требованиям KYC. Система может проверять соответствие федеральным нормам, таким как закон PATRIOT США, или международным стандартам, например, Принципам Вольфсберг.

Формат отображения ответа

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

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

Пример 2: Сопоставление “Продуктовой сущности” в контексте процесса цепи поставок в розничной торговле

Ввод пользователя

“Мы получили дублированные поставки одного и того же продукта от разных поставщиков. Можете помочь нам сопоставить продукты и решить проблему?”

Предварительная обработка

Система разговорной искусственной интеллекта начинает с анализа ввода пользователя для определения ключевых упомянутых сущностей. В данном случае пользователь упомянул продукт и нескольких поставщиков. Система производит распознавание сущностей для определения конкретного продукта и поставщиков, соответствующих описанию пользователя. Предположим, что система идентифицирует продукт как “Виджет X” и поставщиков как “Поставщик А” и “Поставщик Б”.

Генерация подсказки

Затем система создает подсказку, кодирующую определенные сущности и контекст запроса пользователя. Подсказка может выглядеть примерно так:

{“сущность1”: “Виджет X”, “сущность2”: [“Поставщик А”, “Поставщик Б”], “контекст”: “поиск продукта”}

Обработка большой языковой модели (LLM)

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

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

После получения ответа от LLM, система разговорной искусственной интеллекта выполняет дополнительную обработку для уточнения вывода. Это может включать:

  • Анализ характеристик продукта: Сравнение характеристик продукта, указанных пользователем и поставщиками, для выявления любых расхождений или несоответствий. Например, если Поставщик А описывает Виджет X как синий и сделанный из пластика, а Поставщик Б описывает его как красный и сделанный из металла, система может отметить это как потенциальную проблему.
  • Проверка документации: Запрос и проверка документации у поставщиков для подтверждения происхождения и подлинности продукта. Это может включать сертификаты подлинности, серийные номера или другую идентифицирующую информацию.
  • Распознавание изображений: Использование алгоритмов компьютерного зрения для анализа изображений продукта, предоставленных поставщиками, и их сравнение друг с другом и с базой данных известных продуктов. Это помогает выявить любые различия или сходства между продуктами.

Представление ответа

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

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

Выводы

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