На телефонској линији обоје могу да говоре истовремено. Гласовни агент који одговара само кад позивалац ћути, а док говори је глув, ради у халф-дуплеx режиму и звучи као воки-токи. Ова белешка описује како Dialogist агент наставља да слуша док говори. Надовезује се на ранију белешку, Како знамо да је позивалац завршио.
Бројке о латенцији потичу са правих телефонских позива (модел краја реплике) и са стенда за тест оптерећења с агентом за регрутацију (рани старт).
| Мера | Вредност |
|---|---|
| Реплике позивалаца на правим позивима рано затворене интонацијом, пре тајмера | 87% |
| Време враћено по реплици тим раним затварањима, у просеку | ≈ 0,3 с |
| Одговори код којих језички модел почиње пре краја паузе | 98% |
| Уштеда времена одговора због раног старта, од једног позива до 128 разговора | од 89 до 235 мс |
| Клипови „аха“ пуштани позиваоцу без одобрења човека | 0 |
Шта подразумевамо под фулл дуплеx
Агент је стримујући цевовод, а својство до ког нам је стало је да канал позиваоца остаје отворен. Док агент говори:
- детекција гласа наставља да ради на звуку позиваоца;
- препознавање га наставља стримовати у оквирима од 20 мс;
- агентов излазни звук пролази кроз миксер који га може стишати, затупити, паузирати и наставити, и у њега мешати друге звукове.
Одељци испод описују шта агент ради са тим отвореним каналом.
Одлука да је реплика готова
Тајмер тишине бира између две лоше опције: чекати довољно дуго да буде сигуран, па сваки одговор касни, или реаговати на кратку паузу и прекинути људе усред броја.
Агент чека 192 мс, а затим пита мали модел да ли је реченица звучала завршено. Ако је модел сигуран, реплика се одмах затвара. Ако није, агент наставља да слуша, а дужа тишина и даље затвара реплику да нико не чека бесконачно.
- Пресуда модела важи на следећем оквиру звука од 32 мс.
- На правим позивима (1.468 реплика позивалаца) модел је рано затворио 87% реплика, 95% њих на први поглед, и вратио у просеку око 0,3 с по реплици. У 96% пауза у којима је позивалац само размишљао, сачекао је.
- Прво посматрај. Модел има три режима по агенту: офф, обсерве и цоммит. У режиму обсерве бележи шта би одлучио и ништа не мења. Прагове подешавамо на правим позивима у режиму обсерве, а прелазимо на цоммит кад се лог слаже с оним што су позиваоци радили.
- Листе и бројеви су место где најпажљивије тражимо прерана затварања. Позивалац који чита број картице звучи завршено између група цифара.
Почетак одговора пре краја паузе
Између последње речи позиваоца и затварања реплике постоји прозор од 200 до 400 мс. Препознавање у паузи прави пробни пролаз, па је текст обично већ познат.
Рани старт користи тај прозор. Када је пауза довољно дуга, а пробни текст довољно поуздан, агент гради промпт који би градио после затварања реплике, с очекиваним одговором позиваоца на врху, и шаље га језичком моделу. Модел пише прву реченицу док је реплика формално још отворена.
Рани захтев може само да чита, и зато је безбедан:
- не уписује ништа у историју разговора;
- не позива синтезу говора;
- не извршава алат и не може да заврши ни пребаци позив;
- ако се реплика затвори с истим текстом, истим промптом и истом историјом, агент узима припремљене реченице. Ако се било шта разликује, агент одбацује захтев и извршава се уобичајени пут;
- ако позивалац поново почне да говори или упадне у реч, агент отказује захтев и затвара HTTP ток.
У тесту оптерећења захтев је кренуо пре одлуке код 98% одговора, у просеку 225 мс раније при 50 разговора и 508 мс раније при 128. Рани старт скратио је просечно време одговора за 89 мс с једним разговором, за 189 мс при 96 и за 235 мс при 128.
Уштеда расте с оптерећењем: под оптерећењем се реплика дуже затвара, па припремљени одговор има више времена да буде готов.
Упадице
Позиваоци упадају агентима у реч. Агент у неколико десетина милисекунди одлучује о две ствари: да ли је ово уопште упадица и да ли је довољно важна да стане.
Два начина откривања
Упадица потврђена текстом тражи да је препознавање произвело бар четири слова текста. Акустичка тражи да детекција гласа чује непрекинут говор, што је брже. Акустички режим има сопствени праг, одвојен од оног који отвара обичну реплику, јер грешка кошта више: погрешно „реплика отворена“ кошта празан бафер, а погрешна упадица прекида агента усред речи.
Шта се не рачуна
Акустички режим захтева непрекинут говор изнад прага. Тастатура производи много кратких налета; бројач се ресетује на сваком размаку између њих и никад не достиже границу. Говор га држи без размака. Кашаљ и голи „аха“ такође се не рачунају.
Ехо
У позивима из прегледача ехо агентовог сопственог гласа може стићи до микрофона. Агент га препознаје као ехо, без акустичке потврде и уз ниску поузданост препознавања, и завршава своју реченицу.
Шта агент памти
Агент прекинут одговор означава у следећем промпту, тако да модел зна да позивалац није чуо све. Опционо агент добија и неизговорени остатак одговора и може да га настави или одбаци.
Прекидач
Агент се може подесити да уопште не уступа реч, за линије које се морају прочитати у целини.
Корак уназад пре заустављања
Прекинути на први звук је непристојно кад је тај звук „да, да“. Када позивалац почне да говори, агентов глас се прво повлачи и стаје тек ако се говор покаже као упадица.
- Када позивалац почне да говори, јачина се спушта. Подразумевано пада 15 дБ у 150 мс, а глас се и затупљује: високе фреквенције се смањују и укључује се нископропусни филтер, па спуштање звучи као да се неко одмакнуо од телефона.
- У режиму холд агент прави паузу после отприлике једног слога (200 мс). У режиму дуцк наставља да говори тише.
- Ако се говор позиваоца рачуна као упадица, агент стаје, уз утишавање од 30 мс. Ако се не рачуна, глас се враћа за 300 мс.
- После холд-а агент чека пола секунде у случају да позивалац поново проговори, а затим наставља од најближег размака између слогова (до 400 мс уназад), од почетка реченице или од тачне тачке, шта год одговара. Ако је пауза била дуга (1,5 с), враћа се на почетак реченице.
- Ако се ни једно ни друго не деси 2,5 с, агент одлучује да ли ће стати или вратити глас.
Свака од ових ставки има поставку по агенту, а агент који не сме да буде прекидан не спушта јачину.
Изговарање „аха“
Док позивалац дуго говори, тишина с друге стране звучи као прекинут позив. Људи је попуњавају ситним гласовима.
Агент ради исто, с банком кратких потврда: „аха“, „тако је“, „мм“. Клипови су унапред рендеровани агентовим сопственим гласом, а човек их слуша и одобрава пре него што се било који може употребити. Ако глас нема одобрену банку, функција се за тај позив сама искључује, а агент не пушта ниједан непроверен клип.
Агент пушта један клип:
- у паузи у говору позиваоца (250 до 600 мс тишине) или на тајмеру;
- тек пошто је позивалац говорио 2,5 с;
- с вероватноћом (подразумевано 0,6), највише једном у 3 с и 3 пута по реплици;
- никад исти клип као један од последња четири;
- не када модел краја реплике процењује вероватноћу „завршено“ изнад 0,4.
Агент пуштени клип изоставља из историје разговора, а када се његов ехо врати линијом са слушалице позиваоца, агент га уклања из транскрипта. Све ово тражи прозор паузе: реплика мора остати отворена дуже од пауза које агент тражи. Ако поставке не остављају простора, функција се за тај позив сама искључује, а картица агента у Промпт Студију приказује упозорење.
Остатак просторије
- Позадина. Опциони звук канцеларије или сале за састанке, еквилизован, умешан од прве секунде позива. Агент га не рачуна као сопствени глас за тајмере тишине и упадице.
- Тишина. Поновни упит па учтиво поздрављање, мерено од краја репродукције на линији, а не од краја синтезе.
- Поузданост. Агент прослеђује несигурност препознавача језичком моделу као напомену уз реплику, број или ознаке уз поједине речи. Промпт налаже моделу да пита поново уместо да погађа име или цифру.
- Поздрав. Агент генерише поздрав и стримује га по реченицама током кашњења звоњаве, тако да почиње чим се линија јави.
Како то тестирамо
- Обсерве пре цоммит за модел краја реплике, као горе.
- Prompt Studio има картицу за позив: из прегледача позовете агента и чујете исти поздрав, исто руковање тишином и иста пребацивања као на телефону.
- Polygon сонде проверавају понашање у симулираним разговорима („да ли је агент поново питао после чудног одговора?“). Како оцењујемо разговор описује методу, а страница Технологије описује Polygon.
- Тест оптерећења проверава да све ово важи уз 100 активних позива: погледајте Један Server Unit под оптерећењем.