Как следует тестировать искусственный интеллект? (7) Тестирование системы обслуживания клиентов крупной модели.
Как следует тестировать искусственный интеллект? (7) Тестирование системы обслуживания клиентов крупной модели.

двигатель знаний

Мы должны были в какой-то степени сталкиваться с разговорными роботами в своей жизни. Например, мы все знаем, что многие роботы службы поддержки клиентов сначала отвечают на вопросы пользователей. Некоторые роботы обладают значительными запасами знаний, Например, если вы покупаете машину, Затем я хочу узнать в службе поддержки подробности страховки автомобиля. Вы спросите: Сколько стоит годовая страховка автомобиля? Но во многих случаях размер страховой премии зависит от разных моделей, годов выпуска и других деталей. В это время роботу необходимо собрать эту информацию в форме запросов (мы называем это информационными слотами), поэтому робот должен сначала определить намерение пользователя. Затем определите, какие ключевые слова (то есть, информация) отсутствуют для ответа на этот вопрос, а затем соберите эту информацию путем повторных вопросов и разъяснений. чтобы ответить на вопрос. Или пользователь задает роботу очень профессиональный вопрос: Например, вопрос «Как поменять тормозную жидкость определенной модели» требует от робота значительных запасов знаний. Во многих случаях этот ответ не может быть найден ни одной поисковой системой, а уточняется на основе строгого руководства по эксплуатации компании клиента. Итак, все знают, да? Разговорный робот корпоративного уровня — это не просто случайный робот, как GPT Просто добавьте такую ​​модель (GPT могу только столкнуться C Чтобы конечные пользователи могли использовать разговорный робот компании или робот службы поддержки клиентов, он должен обладать профессиональными знаниями компании). Поэтому нам нужен двигатель со значительным опытом в этой области. Можно только создавать знания.

Как построить двигатель знаний

Прежде всего, мы сейчас живем в эпоху больших моделей. Итак, аналогичный GPT Крупные производители довольно часто добавляют в свою продукцию такие большие модели. У каждого крупного производителя есть свои большие модели для тренировок. иметь GPT Такая большая модель может значительно улучшить качество ответов разговорных роботов. Но, как мы сказали выше, этого недостаточно. По вопросам и ответам в профессиональных областях, Требуется создание базы профессиональных знаний. Поэтому среди таких изделий их обычно называют двигателем. знаний。

  • Загрузка документов: вообще говоря, этот вид продукта должен предоставлять клиентам функцию загрузки документов. Эти документы содержат профессиональные знания этой компании. Заказчик загружает в систему знания, которые должен знать робот, в виде документов.
  • Парсинг документов: Это очень тяжелый шаг, Даже этот Возможности документов могут вырасти до размера компании, потому что Типы и форматы документов обслуживания клиентов разнообразны и появляются бесконечно. Этот индивидуальный документ может быть word,excel,pdf。 нравиться pdf Разобрать будет сложнее, потому что pdf В нем слишком много форматов данных, иметькартина, иметьхарактер, Иметь таблицы в различных форматах, иметь смешанные изображения и тексты и т. д. Автоматически анализировать содержимое этих документов очень сложно. Некоторые студенты могут спросить, почему бы не указать индивидуальный формат и не разрешить пользователям загружать документы в этом формате. Такая индивидуальная форма практически невозможна, эти документы — это знания, накопленные заказчиками за многие годы развития. Его количество очень огромно, Вы просите клиента переписать такой огромный документ под ваш формат, Это неработоспособно. Итак, одининдивидуальныйдвигатель Как строятся знания, Способность парсинга документов играет решающую роль,И это также является целью тестирования.
  • Разделение документа. Также называется разделением документа. Документ необходимо разделить на разные параграфы в соответствии с семантикой с помощью правил или моделей. потому что в документе много контента, Конечно, дело не только в чем-то одном. Например, когда пользователь спрашивает: «Я хочу знать, как заменить жидкость для стекла в этой машине», Отвечать на индивидуальный вопрос можно в виде документа, аналогичного «Руководству по эксплуатации автомобилей различных моделей». Тогда, когда пользователь задает вопрос об индивидуальном вопросе, Вы не можете отправить этот документ объемом почти 10 000 слов всем пользователям одновременно, верно? Мы ожидаем отправлять пользователю только информацию о смене стакана воды. Поэтому отдельный документ необходимо разделить семантически.
  • Функции/векторы слов. Векторы слов часто называют слоями внедрения (внедрениями). NLP Очень важная особенность инженерного метода в данной области (обработка естественного языка). Он может преобразовать индивидуальное слово в индивидуальное. N размерные собственные векторы (например, 512 измерение). Я использую следующий пример, чтобы объяснить, что такое векторы слов: Предположим, у нас есть набор информации: пол, класс, школа. Чтобы иметь дело с такими дискретными функциями, мы обычно используем one-hot (горячее кодирование). Например, у нас есть группа студентов, они могут пройти 3 индивидуальные характеристики для описания, это: Пол: «Мужской», «Женский». Оценка: «Первый сорт», «Второй сорт», «Третий сорт». Школы: «Средняя школа №1», «Вторая средняя школа», «Третья средняя школа», «Четвертая средняя школа». Мы используем принятие N регистр состояния бита N индивидуальный статус закодирован. В приведенном выше примере это: [

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

Предположим, что в столбце профессий имеется в общей сложностииметь 100 ценить, Предположим, учитель считает 6 В этом положении число 6 расположение ide Значение 1, все остальные значения 0, мы используем этот вектор для представления характеристики учителя. По аналогии, если номер студенческого представителя 10, затем

10 Стоимость в этом месте составляет 1. Значения в остальных позициях 0, используя векторы слов для представления студентов. Таким образом, в конце концов мы 100 индивидуальный 100 размерные векторы для представления этих функций.

Вышеупомянутые два метода являются очень распространенными методами, используемыми для выражения особенностей текста.,Но их вопрос в том, что слова независимы друг от друга.,Нет друг другаиметьассоциация。 Например, в наших данных обучения предложение иметь-индивидуальный this is apple сок, мы ожидаем появления, когда this is orange __ , модель может сделать для нас вывод, что пустое пространство этого человека также должно быть заполнено словами. juice。 То есть мы надеемся, что модель сможет найти связь между словами посредством предыдущего обучения первому индивидуальному предложению, и модель сможет узнать apple и orange слова со схожим значением, поэтому можно сделать вывод, что orange Вы также можете заполнить его позже juice。 И это именно то, что делают векторы слов.

Как показано выше,Векторы слов вращаются вокруг этих центральных слов (гендер,вещь,Дворянская степень), вычисляют степень корреляции между каждым отдельным словом и этими центральными словами. Таким образом, мы можем вычислить связь между словами по степени ассоциации каждого слова по отношению к этим центральным словам. Например, яблоки и апельсины имеют относительно высокие и близкие значения в центральных словах «еда».,Таким образом, модель может знать, что яблоки и апельсины в определенных сценариях похожи на одни и те же король и королева. Таким образом, модель также знает, что в некоторых сценариях король и королева похожи. Итак, вернемся к вопросу о заполнении пропусков, о котором мы упоминали выше: Когда мы тренировались раньше, мы apple Забрал позже juice Это индивидуальное слово, которое мы знаем на основе слова-вектора. apple и orange похожи, поэтому apple Забрал позже сок, затем orange Позже велика вероятность, что за ним последует juice из. Объяснив таким образом роль векторов слов, каждый поймет. Фактически, принцип этой похожей на блокировку модели (или генеративной модели, которая представляет собой модель, генерирующую «Отвечать» для пользователей, например, разговорного робота), заключается в обходе всех слов в словаре на основе слов, которые пользователь уже использовал. сгенерированное слово, Вычислите вероятность того, что каждое индивидуальное слово появится в следующей индивидуальной позиции, а затем вставьте индивидуальное слово с наибольшей вероятностью в следующую индивидуальную позицию. Итак, все видят, Однажды я сказал, что почти все модельные сценарии не могут избежать бинарной классификации, мультиклассификации и регрессии. Наша генеративная модель на самом деле представляет собой очень большую модель с несколькими классификациями (возьмите вероятность каждой классификации, а затем выберите ту, которая имеет наибольшую вероятность). дивидуальный классифицируется как Отвечать, и здесь каждая индивидуальная классификация — это каждое индивидуальное слово в словаре).

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

Как получить ответы

Во-первых, нам нужно прояснить общую базовую логику разговорного робота.,Когда пользователь предлагает вопрос,Сама система сначалавопрос Послеиндивидуальный Модель мультиклассификации, используемая для идентификации пользователейнамерение,потому чтопо мнению разных пользователей, нам нужно дать разным подсистемам ответить, Например, если это общий тип чата, его можно отправить непосредственно в большую модель для ответа. И если это тип вопроса и ответа на знания, Вам нужно отправить его двигателю знания для поиска связанных Отвечать. Или это общий тип поиска, Например, если пользователь спрашивает, какова текущая цена акций Apple, очевидно, что этот вопрос нельзя отправить напрямую в двигатель. знания большая модель, но вызовите поисковик API наводить справки, Конечно, результаты запроса часто проходят через вторичную упаковку больших моделей, о чем мы поговорим позже. Здесь мы просто говорим об базовой логике разговорных роботов.

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

  • Модель семантического поиска. Это модель, специально используемая для поиска документов. Мы также часто используем из в поисковых системах. Его суть заключается в обработке документа с вопросами пользователя в векторы слов (встраивание). Также называется слоем внедрения), преобразуйте их в векторы признаков, а затем вычисляйте сходство между двумя отдельными векторами признаков. Например, мы часто проводим некоторую проверку, вычисляя сходство текста во время тестирования. Сходство текста заключается в вычислении косинусного сходства двух отдельных векторов признаков для решения из. Просто эта индивидуальная модель семантического поиска/сопоставления будет более сложной. Этот индивидуальный метод в настоящее время более распространен.
  • Модель вопросов и ответов: есть модель, которая специально генерирует вопросы и ответы из отдельного документа.,Учитывая индивидуальный документ,Извлеките его содержимое и сгенерируйте вопрос Отвечать. Таким образом, вы также можете использовать эту индивидуальную модель, чтобы заранее извлечь вопрос Отвечать, а затем сохранить ее в библиотеке.,Таким образом, когда пользователи задают вопросы, можно сопоставить вопросивопрос для достижения цели поиска.,Мы часто используем эту модель для генерации тестовых данных.
  • Пользователи напрямую загружают данные в форме вопросов и ответов. Пользователи могут напрямую загружать данные в форме вопросов и ответов, что устраняет необходимость использования модели вопросов и ответов. Но людей, использующих этот метод, еще меньше.

Подводя итог, можно сказать, что существует множество сценариев, в которых используется модель семантического поиска/сопоставления.

Как протестировать эти модели

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

Парсинг документов

Парсинг документов. Важно протестировать различные типы документов, которые могут использовать ваши клиенты (execl, word, pdf). и т. д.) и различные форматы в нем (текст, изображения, Смешанный текст и картинки, таблицы разных форматов, гиперссылки и т.д.). Поэтому важно подготовить разнообразные тестовые данные, Затем посчитайте соответствующие показатели. Например: Сходство текстовой последовательности: как правило, статистика включает частоту ошибок вставки = ошибка типа вставки/длина выходной последовательности алгоритма, частота ошибок замены = ошибка типа замены/длина выходной последовательности алгоритма, частота ошибок удаления = ошибка типа удаления/длина выходной последовательности алгоритма. , точная скорость = количество правильных символов/общая длина выходной последовательности алгоритма. Это то, что я писал раньше ASR Индивидуальные показатели в системе очень похожи на из.

Конечно, самое главное, чтобы тестовые данные охватывали разные сценарии:

Например, охватывая сценарии в разных отраслях:

  • государственные дела
  • машина
  • финансы
  • обучать
  • Культурный туризм ритейл
  • Прочее (транспорт и т.д.)

Например, охватывая документы разных форматов:

документ в формате docx:

  • простой текст
  • текст + изображение
  • текст + изображение + Стол (Стандартный key-value форма)
  • характер + Таблица (таблица заголовков с одинарной косой чертой)
  • характер + Таблица (таблица заголовков с несколькими косыми чертами)
  • характер + Таблица (таблица заголовков многострочных правил)
  • характер + Таблица (многострочная нерегулярная таблица заголовков)
  • Водяной знак/верхний/нижний колонтитул/номер страницы

Документ в формате pdf:

  • простой текст
  • текст + изображение
  • текст + изображение + Стол (Стандартный key-value форма)

Документация: вопросы и ответы

Цель исследования: на основе данного текста или диалога выделить один или несколько индивидуальных вопросов. + Ответ правильный. Фокус проверки: модель извлекает ключевую информацию из текста и преобразует ее в вопросы. + Способность «Отвечать» требует от модели определенной способности понимать текст, а модель должна правильно ответить на загаданный ею вопрос. Индекс оценки: степень точности. Измеряет долю правильных пар вопрос-ответ среди сгенерированных пар вопрос-ответ. Чем выше точность, тем точнее пары вопрос-ответ, генерируемые моделью, отражают ключевую информацию в тексте.

Например: Джордж Оруэлл (1903-1950).,Родившийся Эрик Артур Блэр,британский писатель、Журналист и критик. Его произведения основаны на критике тоталитаризма и социальной несправедливости. на славится. Два самых известных романа Оруэлла — «Скотный двор» и «1984», оба из которых считаются 20 Одно из важнейших литературных произведений века. в его жизни,Оруэлл также написал большое количество эссе, репортажей и критических статей.,К ним относятся «Низшие классы Парижа и Лондона» и «Посвящение Каталонии».

Тогда согласно предположению модели нам нужно извлечь 5 индивидуальный Вопросы и ответы:

  • Вопрос 1: Каково было настоящее имя Джорджа Оруэлла? Ответ 1: Эрик Артур Блэр.
  • вопрос 2: Какие два романа Оруэлла считаются 20 Одно из самых важных литературных произведений века? Отвечать 2:《животноводческая ферма》и《1984 г.》。
  • вопрос 3: Работы Оруэлла в основном посвящены на каких аспектах? Отвечать 3: сосредоточиться на тоталитаризме и критике социальной несправедливости. на。
  • вопрос 4. К каким произведениям Оруэлла относятся «Низшие классы Парижа и Лондона» и «Посвящение Каталонии»? Отвечать 4: Очерки, репортажи и критические статьи.
  • вопрос 5: В какой период жил Джордж Оруэлл? Отвечать 5:1903-1950

Поэтому тестировщикам необходимо оценить эффективность этой индивидуальной модели. Фактически, это оценка правильности вопроса Отвечать, который он генерирует. Самое трудоемкое здесь то, что генерация этого вопроса и ответа может каждый раз быть разной. И корректны ли эти сгенерированные вопросы и ответы – это тоже относительно субъективное суждение, которое сложно проверить в автоматизированной форме. Так что на самом деле мне очень не нравится проверять эффект этой модели. Потому что это чисто физическая работа. Что касается того, как бороться с субъективными проблемами. Вы можете сослаться на средний балл нескольких людей, которых я публиковал ранее, и 3 система персонального арбитража.

Нарезка документов/семантическая нарезка

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

Поиск/сопоставление документов

Эта индивидуальная модель предназначена для извлечения фрагментов документа через вопрос пользователя, Первоначально это тоже была классическая сцена поисковой системы. Но поисковые системы могут возвращать несколько результатов и сортировать их по рейтингу. А диалоговые боты часто не могут вернуть несколько отдельных фрагментов документа. Вместо этого нам нужно выбрать тот Отвечать, который индивидуальная модель считает оптимальным. Поэтому некоторые индикаторы, изначально использовавшиеся поисковыми системами, такие как MAP и NDCG Большую часть времени его можно не использовать. Конечно, если мы тестируем возможности самой индивидуальной модели, это не имеет ничего общего с реальными бизнес-сценариями. Это все еще можно использовать MAP и NDCG из. Но если мы тестируем сквозной эффект, то точность может быть наиболее часто используемым показателем.

В дополнение к данным, охватывающим различные отраслевые сценарии, необходимо предоставить данные испытаний. Также при тестировании необходимо обратить внимание на статистику индикатора для длинного текста и короткого текста вопроса. Потому что в области сопоставления документов Мы делаем это, разбивая документ вопросов на embedding Наконец, определенный алгоритм сходства используется для расчета степени совпадения фрагментов интересующего документа, а затем ближайшие документы возвращаются пользователю после сортировки по степени совпадения. Итак, в этом поле существует два классических сценария: сопоставление короткого текста и сопоставление длинного текста.То есть, каков эффект модели, когда вопрос, заданный пользователем, очень короткий? А когда пользователь использует длинный абзац текста для описания своих требований,Как выглядит эффект сопоставления, возвращаемый моделью?

Модель распознавания намерений

Как мы сказали выше,Системе необходимо сначала использовать модель мультиклассификации, чтобы определить, какой тип индивидуального вопроса задал пользователь.,Какую индивидуальную подсистему следует отправить для ответа. Только если иметь принадлежит разделу викторины индивидуальноенамерение, оно будет отправлено двигателю. знаний Делать Поиск/сопоставление документов。 И как оценивать модели мультиклассификации, Как рассчитать матрицу путаницы,Также рекомендуется прочитать мой первый пост в серии «Индивидуальные».,Показатели оценки общепринятой научно-популярной модели.

Подвести итог

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

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода