ASR-beheer
Deze sectie biedt informatie over het beheer van uw met automatische spraakherkenning (ASR) verbeterd IVR Interactive Voice Response: een telefoonmenu waarmee bellers via telefoontoetsen en/of gesproken opdrachten keuzes kunnen maken en/of informatie kunnen invoeren.-menusysteem in CXone.
Om een doeltreffend IVR-systeem met ASR-ondersteuning te kunnen maken, is het belangrijk dat u kennis hebt van automatische spraakherkenning en de Nuance-ASR engine. Complete documentatie voor het gebruik van deze engine is beschikbaar bij Nuance.
Tuning
Vereiste machtigingen: Rapport ASR-tuning weergeven
Tuning biedt u de mogelijkheid uw ASR-systeem te verbeteren op basis van gegevens over hoe ASR Studio-acties momenteel presteren. Het is een belangrijk deel van het ontwikkelen en onderhouden van uw ASR-systeem.
Het Rapport ASR-tuning biedt informatie die u kunt gebruiken in uw tuningproces. Het bied responssnelheden voor ASR-acties die worden geactiveerd in een script en toont een lijst van uitingen die de ASR niet kon herkennen. Dit rapport wordt uitgesplitst per actie en per vertrouwensniveau.
Als tuning is ingeschakeld, kunt u deze segmenten openvouwen en de opgenomen audiobestanden uit dat segment beluisteren. Dit geeft u informatie over de reacties die het ASR-systeem die het systeem niet kon begrijpen. U kunt deze toevoegen aan uw grammaticabestanden en woordgroeplijsten.
Wanneer u uw ASR-systeem afstemt, kunt u het volgende:
- Geef het ASR-tuningrapport weer en evalueer de gegevens die het biedt.
- Luister naar opnamen van het ASR-tuningrapport om te begrijpen wat hetzelfde is over de interacties.
- Identificeer wat uw contacten zeggen en hoe ze het zeggen.
- Werk grammaticabestanden bij op basis van wat u leert.
- Pas de vertrouwenswaarden aan indien nodig.
Tuning inschakelen
Als de IVR PII -gegevens (persoonlijk identificeerbare informatie) vastlegt, wilt u wellicht nauwgezet kiezen welke secties van uw IVR moeten worden geregistreerd tijdens de tuning. Dit zal u helpen problemen met het vastleggen van persoonlijke gegevens te vermijden. Als u bijvoorbeeld een Asrdigits-actie hebt die een vertrouwelijk ID-nummer verzamelt, kunt u de tuning na die actie starten. Dit zal verhinderen dat het ID-nummer wordt geregistreerd.
Schakel de tuning uit wanneer u klaar bent met het actief tunen van uw IVR. Als u de tuning-functie ingeschakeld laat, ontstaat een enorme belasting van de server, omdat voor elke interactie een nieuw audiobestand wordt gemaakt.
- Open uw ASR-script in Studio en voeg een Voiceparams-actie toe. Deze moet zich bevinden vóór de ASR-acties waarmee u wilt werken tijdens de tuning.
- Als het enige doel van deze actie in uw script het in- en uitschakelen is, wijzigt u Caption om dit doel aan te geven. Bijvoorbeeld, Tuning On and Off. Als u ook actie gebruikt om de taal van uw IVR te wijzigen, heb u mogelijk een ander bijschrift nodig.
- In de Voiceparams-actie stelt u de eigenschap ASRTuningEnabled in op True.
- Wanneer u klaar bent met tuning, stelt u de ASRTuningEnabled-eigenschap in op False.
Parameters afstemmen
U kunt scriptspecifieke tuningparameters toewijzen voor uw Nuance ASR-acties. Stel hiervoor een dynamisch gegevensobject in een Snippet-actie in. Roep het object nuanceTuningParamsJson op. De waarde moet een geldige JSON-string zijn met Nuance-parameters die moeten worden gedefinieerd vanaf hun standaardwaarden. Bijvoorbeeld:
DYNAMIC asrParams
ASSIGN asrParams.sensitivity = "87"
ASSIGN asrParams.Speech_Complete_Timeout = "1000",
ASSIGN asrParams.Speech_Incomplete_Timeout = "1000"
ASSIGN asrParams.No_Input_Timeout = "1000"
ASSIGN global:nuanceTuningParamsJson = "{asrParams.asjson()}"
Als een parameter wordt ingesteld op een ongeldige waarde, dan wordt die ongeldige waarde vervangen door de standaardwaarde voor die parameter en wordt een variabele met de naam invalidParamsList geretourneerd met een lijst van alle waarden die zijn gecorrigeerd.
De onderstaande tabellen tonen de tuningparameters die worden ondersteund in Studio:
Nuance parameter | Beschrijving | Studio support |
---|---|---|
Speech_Complete_Timeout | Hoe lang er wordt gewacht voordat wordt besloten dat de beller klaar is met spreken. |
Ondersteund via nuanceTuningParamsJson. Standaard: "Speech-Complete-Timeout" : "0" |
Speech_Incomplete_Timeout | De duur van de stilte om vast te stellen dat de beller klaar is met spreken. |
Ondersteund via nuanceTuningParamsJson. Standaard: "Speech-Incomplete-Timeout": "1500" |
No_Input_Timeout |
Hoe lang er wordt gewacht op stemgeluid nadat een prompt is afgelopen. Opmerking: deze parameter begint te tellen wanneer de prompt begint af te spelen. Dit kan betekenen dat het script te snel de time-out bereikt. De eigenschap TimeoutSeconds van de |
Ondersteund via nuanceTuningParamsJson. Standaard: "No-Input-Timeout": "7000" |
sensitivity | De gevoeligheid van de spraakdetector bij het zoeken naar spraak. | Standaard: 50 (schaal van 0 tot 100) |
De volgende Nuance-parameters worden niet ondersteund in CXone omdat de Studio Asr-actie de prompts afspeelt en niet Nuance.
Nuance-parameter | Beschrijving | Standaardwaarde |
---|---|---|
swiep_suppress_barge_in_time | Schakelt de spraakonderbreking (barge-in) korte tijd uit aan het begin van een prompt. | 0 (geen vertraging) |
swiep_in_prompt_sensitivity_percent | Hiermee bepaalt u hoe hard bellers moeten spreken om prompts te onderbreken (spraakonderbreking) en spraak te laten detecteren. | 50 (procent) |
swirec_barge_in_mode | Definieert speciale detectie-mods in de recognizer. | normal |
Grammaticabestanden
In grammaticabestanden kunt u talrijke mogelijke uitingen vastleggen die een beller zou kunnen inspreken in antwoord op een prompt. De Nuance-ASR-engine probeert de reactie van de beller te koppelen aan een item in het grammaticabestand. Aangezien een ASR-engine een match moet vinden voor de volledige uiting, geven grammaticabestanden Nuance een gerichte lijst met uitingen om uit te selecteren.
Een grammaticabestand is een van de meest effectieve methoden om de nauwkeurigheid van uw IVR met ASR-ondersteuning te verhogen. ASR analyseert daadwerkelijke menselijke interacties, waardoor er ontelbare opties zijn die het systeem moet herkennen. Dit maakt een ASR-systeem veel complexer dan een systeem dat alleen reageert op DTMF Toetstonen die worden gegenereerd wanneer iemand op een toets van de telefoon drukt of tikt.-tonen. DTMF herkent 12 tonen, wat betekent dat er 12 opties zijn die het IVR-systeem moet herkennen. Menselijke spraak bevat exponentieel meer opties en combinaties van geluiden, woorden en woordgroepen die het ASR-systeem moet herkennen.
Een contact kan reageren op een prompt die het lidmaatschapsnummer vragen met de volgende zin: "Mijn lidmaatschapsnummer is 123456789." Een script met ASR-ondersteuning zal de volledige woordgroep herkennen, maar andere scripts zullen mislukken wanneer het contact begon met "Mijn lidmaatschapsnummer is...". in plaats van alleen het nummer.
Wanneer u een grammaticabestand bijwerkt, moet u het bestand hernoemen voordat u het gebruikt in productiescripts. Dit helpt bij het vermijden van conflicten tijdens het updateproces. Dat laat het originele bestand ook als een back-up in het geval u dit om welke reden ook moet terugdraaien. U kunt variabele vervanging gebruiken wanneer u de naam van het grammaticabestand in ASR-acties opgeeft in uw scripts.
Verbeterde nauwkeurigheid
Grammaticabestanden verbeteren de nauwkeurigheid van ASR-systemen. U kunt woorden en woordgroepen toevoegen aan een grammaticabestand die contacten waarschijnlijk zullen zeggen als aanvulling van de verwachte informatie. Als de prompt het contact bijvoorbeeld om een lidmaatschapsnummer vraagt, kunt u woordgroepen toevoegen aan het grammaticabestand, zoals "mijn lidmaatschapsnummer is", "Ik denk dat het", "wacht even, laat mij even mijn kaart zoeken" enz.
De gerichte lijst in een grammaticabestand helpt het aantal permutaties in uitingen te beperken. Hoe langer een verwachte respons is, hoe meer mogelijke antwoorden er kunnen zijn. Grammaticabestanden helpen het bereik van mogelijke reacties te beperken door de antwoorden op te nemen die algemeen zijn en het meest waarschijnlijk zullen worden gebruikt.
U hoeft niet te denken aan alle mogelijke toe te voegen reacties. Gebruik het tuningproces om te leren hoe contacten werkelijk praten. U kunt toevoegen aan uw grammaticabestanden op basis van wat u leert tijdens het tunen. Het maken van grammaticabestanden zou een iteratief proces moeten zijn wanneer contacten het systeem gebruiken en u leert van de plaatsen waar de ASR de antwoorden niet begrijpt.
Uitspraakvariaties
Wanneer u uw ASR-systeem afstemt, moet u luisteren naar variaties in de uitspraak. Dit kan nuttig zijn om meerdere gegevens toe te voegen aan uw woordgroeplijsten en grammaticabestanden met verschillende fonetische spellingen.
Dit kan vooral handig zijn als een prompt misschien antwoorden oplevert die vaak verkeerd worden uitgesproken of die verschillende uitspraken hebben. Een voorbeeld hiervan is het Engelse "fungi" (meervoud van fungus = schimmels). U zou, naast het standaard "fungi", ook de volgende fonetische items kunnen toevoegen: "fun guy", "fun gee", "fun jee".
Meertalige ondersteuning
ASR ondersteunt meerdere talen. Grammatica is taalspecifiek. Verwijs naar de naam van de taal in de koptekst van het bestand zodat de engine specifiek zoekt naar uitingen in die taal.
In elke grammaticabestand moet u hetzelfde alfabet, dezelfde zinsbouw enz. gebruiken van de ingestelde taal. Als u bijvoorbeeld het woord "piñata" toevoegt aan een Spaanse grammatica, moet u de letter ñ (met tildesymbool) gebruiken. Het item moet "piñata" zijn en niet "pinata".
ASR versus Natuurlijke taalverwerking
ASR en grammaticabestanden kunnen een resultaat opleveren dat vergelijkbaar is met dat van een natuurlijke taalverwerking (NLP NLP: een proces dat menselijke spraak of tekst begrijpt en reageert in natuurlijke taal.), maar ze zijn niet dezelfde. ASR is als een brug tussen DTMF en NLP. Het is niet bedoeld om alles vast te leggen, maar het kan de meeste zaken vastleggen. Dit is de reden waarom grammaticabestanden zo belangrijk zijn. Hoe beter het grammaticabestand, hoe meer reacties het ASR-systeem met succes kan herkennen.
Belangrijke informatie over grammaticabestanden
- Grammaticabestanden zijn noodzakelijk voor de meeste ASR-acties van Studio.
- De acties Asralphanum, Asrcurrency, Asrdate, Asrdigits, Asrnumber, Asrtime en Asryesno hebben ingebouwde grammaticabestanden. U kunt ook uw eigen grammaticabestanden maken en gebruiken naast de ingebouwde bestanden.
- De acties Asr en Asrmenu hebben geen ingebouwde grammaticabestanden. U moet uw eigen bestanden maken voor deze acties.
- De acties Asrcompile en Asrsql bieden u de mogelijkheid aangepaste grammaticabestanden op te bouwen vanaf een bestaande database.
- Symbolen kunnen niet worden gebruikt in de uitingen in een grammaticabestand, maar kunnen worden geretourneerd met de waarde.
- Het maken van grammaticabestanden moet een iteratief proces zijn. Telkens wanneer u uw ASR-systeem afstemt, ontdekt u nieuwe items die u moet toevoegen aan uw grammaticabestanden.
Voorbeeld grammaticabestanden
U kunt drie voorbeelden van grammaticabestanden downloaden:
Color_Grammar_Example.grxml (in een ZIP-bestand)
Digits_Grammar_Example.grxml (in een ZIP-bestand)
Format_Grammar_Example.grxml (in een ZIP-bestand)
Deze voorbeelden illustreren de "regelbenadering" voor de structuur van een grammaticabestand. Deze benadering gebruikt drie regels: een voorvoegsel, de hoofdgrammatica en een achtervoegsel. Voorvoegsels zijn uitingen die mensen vaak zeggen voordat ze de eigenlijke informatie geven, zoals "Dat is...", "Uhm..." of "Volgens mij is dat". Achtervoegsels zijn korte toevoegingen na afloop van een uiting, zoals "denk ik" of "maar ik weet het niet zeker". De middelste regel is de eigenlijke grammatica, waar u alle mogelijke items kunt instellen voor de gegevens die u wilt verzamelen, zoals kleuren, cijfers of modellen.
ASR-parameters en instellingen
In dit gedeelte wordt informatie gegeven over enkele belangrijke ASR-parameters en instellingen.
Vertrouwensniveaus
Wanneer de ASR-engine een woordgroep heeft herkend die door een beller is uitgesproken, retourneert de engine ook een percentage dat aangeeft hoe zeker de engine is in de afstemming van de uiting op een item in de woordgroeplijst of het grammaticabestand. Het vertrouwenspercentage kan worden gebruikt om oproepen te routeren naar verschillende vertakkingen in uw IVR-script met ASR-ondersteuning.
De vertrouwensniveaus die worden gebruikt in de CXone, zijn:
- Hoog: hoog vertrouwen; meestal 75% of meer. Stel de vertrouwenswaarde in met de HighConfidence-eigenschap in ASR-acties. Het contact kan de OnHighConfidence-vertakking volgen zonder eerst om een bevestiging van de herkende uiting te vragen.
- Medium: gemiddeld vertrouwen, tussen hoog en minimum. Het contact kan de OnMedConfidence-vertakking volgen waarbij wordt gevraagd om de herkende uiting eerst nog te bevestigen. Deze categorie heeft geen eigenschap. Alles wat tussen de geconfigureerde minimale en hoge niveaus valt, kan worden gerouteerd door deze vertakking.
- Minimum: het minimale acceptabele vertrouwensniveau.. Stel de vertrouwenswaarde in met de MinConfidence-eigenschap in ASR-acties. Deze waarde stelt het nummer in voor het laagste bereik van de OnMedConfidence-aftakking.
- Geen vertrouwen: de uiting was onherkenbaar en de ASR-engine kan deze niet interpreteren. Alles wat minder is dan de waarde MinConfidence valt binnen dit bereik. Het contact kan de OnNoConfidence-vertakking volgen waarbij wordt gevraagd om de uiting te herhalen.
De meeste ASR-acties hebben vertakkingen voor verschillende vertrouwensniveaus. Hiermee kunt u de gebruikerservaring aanpassen en omgaan met verschillen in de nauwkeurigheid. Vertrouwensvariabelen zijn systeemvariabelen en worden daarom niet in een script-trace weergegeven, behalve als u zelf instelt dat systeemvariabelen in de trace moeten worden opgenomen.
Vertrouwen wordt beïnvloed door factoren zoals achtergrondgeluiden of geroezemoes, het accent van de spreker of de spelling van items in een grammaticabestand.
MAX biedt methoden om de gevoeligheid voor omgevingsgeluid aan te passen wanneer een Personal Connection-skill is toegewezen aan een agent, zoals de parameter Drempelwaarde voor agentstem die het niveau van het achtergrondgeluid meet en dit geluid kan uitfilteren.
Time-out
De hoeveelheid tijd die de actie luistert naar een uiting en probeert een match te vinden. De standaardwaarde is 10 seconden.
Intervoice-time-out-instelling
Dit is de tijd die het systeem zal wachten nadat een contact stopt met praten. Het systeem wacht om zeker te zijn dat het contact niet blijft praten. Dit lijkt op de InterDigitTimeout-instelling voor DTMF Toetstonen die worden gegenereerd wanneer iemand op een toets van de telefoon drukt of tikt..
Wanneer mensen bijvoorbeeld een rekeningnummer opgeven, groeperen ze doorgaans de cijfers samen met pauzen tussenin: "123 <pause> 456 <pause> 789 <pause>". De <pauses> in dit voorbeeld staan voor de intervoice-time-out. De standaardwaarde is 3 seconden. Wanneer u bezig bent met de ontwikkeling of de tuning van een script, moet u rekening houden met de tijd die de beller heeft om te spreken, de tijd van de intervoice-time-out en een korte tijd voor de verwerking. Teveel gecombineerde time-outinstellingen kunnen resulteren in een mislukte actie.
Fouten
Fout | Beschrijving |
---|---|
ASR-initialisatie is mislukt | De mediaserver kan geen contact maken met de ASR-server. Dit kan verschillende oorzaken hebben, bijvoorbeeld dat de ASR-service niet beschikbaar is of dat er poorten niet geopend zijn. |
Fout in grammaticabestand: Grammatica kan niet worden gecompileerd. Controleer de grammatica op syntaxisfouten. | Dit wordt meestal veroorzaakt door XML-fouten in de grammatica. |
URL-fout: Recognizer heeft geen toegang tot de opgegeven URL. | De grammatica bestaat niet, er is niet correct naar verwezen of de bestandsserver kan niet worden bereikt. |
ASRRESULT | Geeft aan of ASR is gedetecteerd. |
ASRCONF | Het resulterende ASR-vertrouwensniveau (tussen 0 en 100). |
ASRCOMPLETIONCAUSECODE | Geeft ASR-voltooiing aan. |
ASRERRORMESSAGE | Een tekstbeschrijving van de foutmelding van Nuance. |
ASRSTATUSCODE | Geeft de status aan met een van de volgende waarden:
|