Како оцењујемо разговор између гласовног агента и симулираног позиваоца

Polygon, наша платформа за тестирање, оцењује гласовног агента на целим разговорима: симулирани позиваоци, осам критеријума, строге капије и сонде понашања.

Истраживања

8оцењиваних критеријума, пондерисаних за телефонског агента

Polygon је платформа за тестирање иза ставке „Симулација дијалога“ у Про плану. Гради симулираног позиваоца, оцењује сваки разговор по осам критеријума, примењује строге капије, покреће сонде понашања и налази прву реплику у којој се две верзије агента разилазе. Блок о Polygonу на страници Технологије даје кратку верзију.

Ово је белешка о методи. Описује протокол и не наводи измерене резултате. Метода је описана у интерним радовима, а рубрика је верзионисана (в1 и в2).

Укратко: осам оцењиваних критеријума, пондерисаних за телефонског агента; три строге капије које обарају разговор без обзира на оцену; шест типова симулираних позивалаца, сваки с фиксним скупом чињеница; четири нивоа анализе промпта, од јефтиних правила до судије. Шум препознавања и узорковање користе фиксна семена, па се неуспео разговор репродукује реплику по реплику.

Проблем

Гласовни агент може тачно да одговори на свако појединачно питање, а да ипак омане на позиву. Заборави циљ, захвали се позиваоцу и спусти слушалицу, обећа нешто што не може да испуни или четири пута понови „Можете ли да поновите?“. Оцењивање одговор по одговор ништа од тога не види, зато оцењујемо цео разговор.

Други проблем је поређење. Када променимо промпт, модел или параметар узорковања, морамо да знамо да ли је агент постао бољи, на ком типу позиваоца и у којој реплици се понашање први пут променило. То један просек не може да каже.

Цевовод

scenario → simulirani pozivalac → razgovor sa zamenama za alate i šumom prepoznavanja → determinističke provere → sudija → sonde ponašanja → poređenje

Свака фаза описана је у наставку. Фазе држимо одвојено да би се резултат могао пратити до фазе која га је произвела.

Симулирани позиваоци са основном истином

Агент се тестира према моделу који игра персону. Персона има:

  • Тип: сарадљив, заузет, неповерљив, збуњен, агресиван или разговорљив.
  • Жељени исход: успех, одбијање, поновни позив или пребацивање.
  • Тежину: од 1 до 5.
  • Основну истину: чињенице које позивалац зна. Судија по њој одлучује да ли је агент постигао циљ и да ли је ишта измислио.

Polygon генерише позиваоце из агентовог промпта, по једну персону по захтеву, тако да један неуспех не повлачи целу серију. Сваки позивалац везан је за верзију промпта из које је настао. Када се промпт промени, Polygon позиваоце означи као застареле и поново их генерише.

Позиваоци говоре као позиваоци на телефону: кратким реченицама, упадицама, скретањима с теме.

Шум препознавања, намерно

Агент који је беспрекоран на чистом тексту може да пукне на ономе што препознавање испоручи на правом позиву. Polygon изобличава текст позиваоца пре него што га агент види, једним регулатором интензитета од 0 до 1:

Изобличења која Polygon примењује на текст позиваоца.
Изобличење Пример
Изостављене речи реч нестаје
Бројеви читани цифру по цифру „педесет“ постаје „пет нула“
Речи које слично звуче у руском „код“ (код) постаје „кот“ (мачак)
Узвици на почетку „овај“, „хм“, „хало?“

Polygon сеје изобличење из разговора и броја реплике, па се разговор који је пао може репродуковати реплику по реплику.

Замене за алате са грешкама

Агенти позивају алате: календар, CRM, пребацивање позива. Polygon их замењује стубовима који враћају фиксне одговоре, одговоре по шаблону или по правилима, или чувају стање између позива. Стуб може додати латенцију и убацити грешке, па се агент тестира и према спором или неисправном CRM-у, а не само према исправном.

Рубрика и укупна оцена

Модел судија чита цео разговор, основну истину позиваоца и траг позива алата. Оцењује осам критеријума од 1 до 5 и за сваки цитира доказ из транскрипта.

Осам критеријума судије и њихове тежине у коначној оцени.
Критеријум Тежина
Испуњење циља 25
Поштовање упутстава 15
Квалитет коришћења алата 15
Чињенична тачност 10
Квалитет дијалога 10
Отпорност 10
Усклађеност с безбедношћу 10
Персона и тон 5

Укупна оцена је пондерисани просек нормализованих оцена, од 0 до 100: composite = Σ weight × (score − 1) / 4. Саме јединице дају 0, саме петице 100, саме тројке 50. Разговор пролази од 75 навише, а упозорење добија од 50. Тежине кажу чему телефонски агент служи: постизање циља вреди пет пута више од тона.

Четири правила чувају поштење оцене:

  • Оцена која недостаје је минимум, никад просек. Непотпуна процена не може да ласка агенту.
  • Нечитљива оцена није јединица. Када судија врати оцену у облику који Polygon не може да прочита, она се рачуна као „неоцењено“ и ништа не покреће, па разговор не може да падне случајно. Резултат носи ознаку, тако да нико не замени делимичну укупну оцену за потпуну.
  • Понављања узимају медијану. Судија може да ради к пута; Polygon користи медијану сваког критеријума, а за парно к усредњава две средње вредности.
  • Оцене се пореде само унутар једне верзије рубрике. Промена тежина или критеријума значи нову верзију, а екран за поређење одбија да стави две верзије на исти графикон.

Строге капије

Неке грешке се не смеју изгубити у просеку. Без обзира на укупну оцену, пресуда је пад када:

  • се забрањена фраза појави у агентовом говору;
  • критеријум безбедности добије 1 (и био је оцењен);
  • је позив алата с неисправним аргументима произвео одговор позиваоцу. Рубрика в2 додала је ову капију; разговори из в1 задржавају оригиналну пресуду.

Сонде понашања

Рубрика каже колико је разговор у целини био добар. Сонда поставља једно питање на које се одговара са да или не о једном понашању: да ли је агент поново питао после чудног одговора, да ли је дао разлог за одбијање, да ли је дао обећање које није могао да испуни.

  • Одговори: да, не или није применљиво. Polygon изоставља одговоре „није применљиво“ из имениоца и никад их не рачуна као нулу.
  • Поларитет: за пожељно понашање добро је да, за заштитну ограду добро је не. Пријављени број је усклађеност, удео применљивих разговора у којима је агент урадио праву ствар.
  • Посебан пролаз: сонде раде са сопственим промптом и не могу да промене укупну оцену ни пресуду. Тражење калибрисане оцене од 1 до 5 и бинарне чињенице у истом позиву усидрује оба одговора.
  • Интервали: свака стопа носи Wилсонов 95% интервал, па се „3 од 4“ приказује као широк распон око 75%.
  • Фиксна формулација: Polygon пореди сонду између извршавања само док је њена формулација непромењена (проверава хеш садржаја), па преформулисано питање не може неприметно да помери тренд.
  • Јефтино за додавање: сонде додајемо слободно, као хипотезе о понашању. Оне које се покажу важнима прелазе у рубрику или постају капија.

Поређење две верзије

Екран за поређење прима две или више конфигурација (модел, верзију промпта, профил параметара) и приказује:

  • Картон оцена по конфигурацији.
  • Матрицу сценарија, поређану по распону: разлика између најбоље и најгоре конфигурације на том сценарију. Сценарији у којима се верзије највише разилазе иду први.
  • Тачку разилажења: прву реплику у којој се два разговора раздвајају. Polygon поравнава разговоре реплику по реплику и узима прву реплику у којој се разликују позиви алата, у којој један завршава или пребацује позив а други не, у којој се формулације удаљавају (Жакарова сличност биграма речи испод 0,5) или у којој се говорници разликују.
  • Написану анализу систематских разлика, насталу из детерминистичког резимеа картона оцена.

Када једна конфигурација нема резултат за сценарио, Polygon сценарио означава као неупоредив уместо да га попуни нулама.

Читање промпта пре извршавања

Polygon чита агентов промпт у четири нивоа, од најјефтинијег: детерминистичких правила, затим изненађења (сурприсал) сваке фразе под језичким моделом, затим ембединга, па судије. Излаз је оцена од 0 до 1 по оси, где је већа гора, с истакнутим местима у уређивачу.

Осе које Polygon оцењује, од 0 до 1; већа оцена је гора.
Оса Шта хвата
Преоптерећење превише истовремених ограничења
Расипање пажње кључна правила изгубљена усред дугог промпта; сродна правила разбацана
Сукоб правила која се међусобно искључују или слабе
Двосмисленост формулације са више од једног читања
Понављање исто правило изречено на неколико начина

Промпт може бити крхак а ипак проћи све тестове, и ова провера налази слаба места пре него што на њих наиђе позивалац.

Претраге параметара и петље

  • Претраге мењају један по један параметар или пролазе пуну мрежу или случајне тачке, над кратким скупом сценарија. Свака тачка постаје непроменљива верзија профила. Претрага може да стане раније ако је прва тачка већ испод прага, а одбија да покрене тачку која би премашила ограничење токена. Ранг-листа сортира по средњој оцени, затим по стабилности, затим по брзини.
  • Детекција петље рано завршава разговор када се два последња агентова одговора поклапају 90% или више, и то означава. Одговор од једне речи попут „Да.“ рачуна се, што провера само по биграмима не би ухватила.

Прави позиви, онако како су се десили

Polygon може да увезе продукционе транскрипте и оцени их без поновног извођења. Прави разговор нема симулираног позиваоца ни основне истине, па провере које од тога зависе постају неприменљиве. Остало (детерминистичке метрике, судија над транскриптом, сонде) ради као за симулирани разговор. Резултат је обичан пролаз који може стајати у истом поређењу са синтетичким, и каже нам да ли нови промпт ради боље на позивима из прошлог месеца.

Читање резултата

  • Подешавања судије. Судија ради на температури близу нуле са структурисаним излазом. Понављања с медијаном чине га стабилнијим.
  • Критеријуми иза укупне оцене. Укупна оцена је један број за рангирање; осам критеријума иза ње каже шта треба поправити.
  • Реалистични позиваоци. Polygon генерише позиваоце из агентовог промпта, а ми их повремено ручно узоркујемо да остану реалистични.
  • Прави позиви. Увоз продукционих транскрипта тестира истог агента према позивима које је имао.

Наставите да читате

Следећи корак

Обезбедите рани приступ Dialogist гласовним агентима: тимове са листе чекања позивамо како се ослобађа капацитет.

Придружите се чекој листи

Уводно отварамо приступ постепено. Обавестићемо вас када се отвори ваше место.