Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK

Kundnöjdhet är ett kraftfullt mått som direkt påverkar lönsamheten i en organisation. Med snabba tekniska framsteg under det senaste decenniet eller så är det ännu viktigare att höja kundfokus på följande sätt:

  • Gör din organisation tillgänglig för dina kunder i flera olika modaliteter, inklusive röst, text, sociala medier och mer
  • Ge dina kunder en mycket effektiv upplevelse efter försäljning och service
  • Ständigt förbättra kvaliteten på din tjänst när affärstrender och dynamik förändras

Att etablera högeffektiva kontaktcenter kräver betydande automatisering, förmåga att skala och en mekanism för aktivt lärande genom kundfeedback. Det finns en utmaning vid varje punkt i kontaktcentrets kundresa – från långa hålltider i början till driftskostnader förknippade med långa genomsnittliga hanteringstider.

I traditionella kontaktcenter är en lösning för långa hålltider att möjliggöra självbetjäningsalternativ för kunder som använder ett interaktivt röstsvarssystem (IVR). En IVR använder en uppsättning automatiska menyalternativ för att hjälpa till att minska agentsamtalsvolymerna genom att adressera vanliga vanliga förfrågningar utan att involvera en liveagent. Traditionella IVR:er följer dock vanligtvis en förutbestämd sekvens, utan förmåga att svara intelligent på kundförfrågningar. En icke-konversations IVR som denna kan frustrera dina kunder och få dem att försöka kontakta en agent så snart som möjligt, vilket ökar dina samtalsavledningshastigheter. Du kan lösa denna utmaning genom att lägga till artificiell intelligens (AI) till din IVR. En AI-aktiverad IVR kan snabbare och mer exakt hjälpa din kund att lösa problem utan mänsklig inblandning. När en agent behövs kan den AI-aktiverade IVR dirigera din kund till rätt agent med den korrekta informationen som redan har samlats in, och därmed rädda kunden från att behöva upprepa informationen. Med AWS AI-tjänster är det ännu enklare eftersom det inte krävs någon utbildning i maskininlärning (ML) eller expertis för att använda kraftfulla, förutbildade ML-modeller.

AI-drivna automatiserade applikationer är ett naturligt val för IVR eftersom de kan förstå och svara på naturligt språk. Dessutom kan du lägga till förbättrade funktioner till din IVR för att lära dig och utvecklas baserat på hur kunder interagerar med den. Med Amazon Lex, kan du bygga kraftfulla, flerspråkiga konversations-AI-system och höja självbetjäningsupplevelsen för dina kunder utan att behöva ML-kunskaper. Med Amazon Chime SDK kan du enkelt integrera ditt befintliga kontaktcenter med Amazon Lex med hjälp av en Amazon Chime SDK SIP mediaapplikation. Detta inkluderar kontaktcenter som Avaya, Cisco, Genesys och andra. Amazon Chime SDK-integration med Amazon Lex är tillgänglig i AWS-regionerna i USA:s östra (N. Virginia) och västra USA (Oregon).

Detta ger dig flexibiliteten hos inbyggd integration med Amazon Lex för AI-driven självbetjäning, och möjligheten att integrera med en mängd andra AWS AI-tjänster för att förändra hela din kontaktcenterverksamhet.

I det här inlägget ger vi en genomgång av hur du kan lägga till AI-drivna IVR:er till alla kontaktcenter som stöder SIP-trunking med Amazon Chime SDK och Amazon Lex, via den nyligen lanserade Amazon Chime SDK PSTN-ljudintegration med Amazon Lex. Vi tar upp följande ämnen i det här inlägget:

  • Referenslösningsarkitektur för självbetjänings-AI
  • Distribuera lösningen
  • Granska chatboten Kontosaldo
  • Granskning av Amazon Chime SDK Voice Connector
  • Testa lösningen
  • Rengöring av resurser

Lösningsöversikt

Som beskrivits i föregående avsnitt använder vi två viktiga AWS-tjänster, Amazon Lex och Amazon Chime SDK, för att bygga självbetjäningslösningen för AI. Vi använder också AWS Lambda (en helt hanterad serverlös datortjänst), Amazon Elastic Compute Cloud (Amazon EC2, en datorinfrastruktur), och Amazon DynamoDB (en helt hanterad ingen SQL-databas) för att skapa ett fungerande exempel. Kodbasen för denna lösning finns tillgänglig i medföljande GitHub-arkiv. Instruktioner för att distribuera och testa den här lösningen finns i nästa avsnitt.

Följande diagram illustrerar lösningsarkitekturen.

Lösningsarbetsflödet består av följande steg:

  1. När vi ringer ett telefonsamtal med hjälp av en fast telefon eller mobiltelefon kopplar PSTN (Public Switched Telephone Network) oss till den andra parten. I den här demon använder vi en Asterisk server (ett gratis ramverk för kontaktcenter) utplacerat på en Amazon EC2-server för att emulera ett kontaktcenter anslutet till PSTN via en Amazon Chime Voice Connector. Asterisk är en mjukvaruimplementering av en privat filialväxel (PBX) – en styrenhet för ett privat telefonnät som används inom ett företag eller en organisation.
  2. Som en del av denna demo, förvärvas ett telefonnummer via Amazon Chime SDK och associeras med Asterisk PBX. När ett samtal görs till detta nummer levereras det som SIP (Session Initiation Protocol) till Asterisk PBX-servern. Asterisk PBX dirigerar sedan detta samtal till Amazon Chime Voice Connector med hjälp av SIP, där det utlöser en Amazon Chime SIP mediaapplikation.
  3. Amazon Chime PSTN-ljud använder en SIP-mediaapplikation för att skapa en programmerbar VoIP-applikation. Medieapplikationen Amazon Chime SIP fungerar med en Lambda-funktion för att programmässigt hantera samtalet.
  4. När samtalet anländer till Amazon Chime SIP-mediaapplikationen anropas den tillhörande Lambda-funktionen. Funktionen lagrar samtalsinformationen i en DynamoDB-tabell och returnerar en StartBotConversation handling. De StartBotConversation action upprättar en röstkonversation mellan slutanvändaren på PSTN och Amazon Lex-boten.
  5. Amazon Lex är en fullt hanterad AWS AI-tjänst med avancerade naturliga språkmodeller för att designa, bygga, testa och distribuera konversationsgränssnitt i applikationer. Den kombinerar automatisk taligenkänning och naturlig språkförståelse för att skapa en mänsklig interaktion för dina applikationer. Som ett exempel distribuerar den här demon en bot för att utföra tre automatiserade uppgifter, eller avsikter: Check Balance, Transfer Fundsoch Open Account. En avsikt representerar en handling som användaren vill utföra.
  6. Konversationen börjar med att den som ringer interagerar med Amazon Lex-boten genom att berätta för boten vad de vill göra. Bottens funktioner för automatisk taligenkänning (ASR) och naturlig språkförståelse (NLU) hjälper den att förstå användarinmatningen. Amazon Lex kan bestämma avsikten som efterfrågas baserat på uppringarens inmatning och exempel på yttranden som konfigurerats för varje avsikt.
  7. Efter att avsikten har bestämts interagerar Amazon Lex med den som ringer för att samla information för alla platser som är konfigurerade för den avsikten. Till exempel Open Account avsikt inkluderar fyra platser:
    1. Förnamn
    2. Efternamn
    3. Användartyp
    4. Telefonnummer
  8. Amazon Lex samarbetar med den som ringer för att fånga information för alla dessa nödvändiga platser av den valda avsikten. Efter att dessa har fångats och avsikten har uppfyllts, returnerar Amazon Lex samtalsbehandling till Amazon Chime SIP-mediaapplikationen, tillsammans med de fullständiga resultaten av Amazon Lex-botkonversationen.
  9. De efterföljande bearbetningsstegen utförs av PSTN-ljudhanterarens Lambda-funktion. Detta inkluderar att analysera resultaten, bestämma nästa samtalsruttåtgärd, lagra resultaten i en DynamoDB-tabell och returnera åtgärden för att lägga på.
  10. Asterisk PBX använder informationen som lagras i DynamoDB-tabellen för att bestämma nästa åtgärd. Om den som ringer till exempel vill kontrollera sitt saldo avslutas samtalet. Men om den som ringer ville öppna ett konto skickas samtalet till agenten och inkluderar informationen som fångats i Amazon Lex-boten.

Vi har använt AWS Cloud Development Kit (AWS CDK) för att paketera denna applikation för enkel distribution i ditt konto. AWS CDK är ett ramverk för utveckling av programvara med öppen källkod för att definiera dina molnapplikationsresurser med hjälp av välbekanta programmeringsspråk. Det ger komponenter på hög nivå som kallas konstrukt som förkonfigurerar molnresurser med beprövade standardinställningar, så att du enkelt kan bygga molnapplikationer.

Förutsättningar

Innan vi distribuerar lösningen måste vi ha ett AWS-konto och en lokal maskin för att köra AWS CDK-stacken. Slutför följande steg:

  1. Logga in på ditt AWS-konto.
    Om du inte har ett AWS-konto kan du registrera dig för en.För nya kunder tillhandahåller AWS en Gratis nivå, som ger möjlighet att utforska och prova AWS-tjänster utan kostnad (upp till de angivna gränserna för varje tjänst). Detta kan hjälpa dig att få praktisk erfarenhet av AWS-plattformen, produkterna och tjänsterna. Vi använder en lokal maskin, såsom en bärbar eller stationär dator, för att distribuera stacken med AWS CDK.
  2. Öppna ett nytt terminalfönster för MacOS, eller kitt för Windows OS att installera alla förutsättningar som krävs för att distribuera lösningen.
  3. Installera följande nödvändiga programvara:
    1. AWS-kommandoradsgränssnitt (AWS CLI) – Ett kommandoradsverktyg för att interagera med AWS-tjänster. För installationsanvisningar, se Installera, uppdatera och avinstallera AWS CLI.
    2. node.js > 16 – JavaScript-backendmotor med öppen källkod för applikationsutveckling och distribution. För installationsanvisningar, se Handledning: Konfigurera Node.js på en Amazon EC2-instans.
    3. garn – Garn är en pakethanterare för din kod. Det ger enkel åtkomst att använda och dela koden mellan utvecklare. Kör följande kommando för att installera Yarn:
      curl -o- -L https://yarnpkg.com/install.sh | bash

      Nu kör vi följande kommandon för att ställa in AWS-åtkomstnycklarna vi behöver. För mer information, se Hantera åtkomstnycklar för IAM-användare.

  4. Kör följande kommando:
    aws configure list

  5. Kör följande kommando:
    aws configure

  6. Ange värdena för ditt AWS-kontos åtkomstnyckel-ID och hemliga åtkomstnyckel.
  7. Ändra regionnamnet eller lämna standardregionen som den är.
  8. Acceptera standardvärdet för JSON för utdataformatet.

Distribuera lösningen

Du kan också skräddarsy denna lösning för dina behov. Granska utdataresurserna som denna distribution innehåller och modifiera Lambda-funktionen för att lägga till den anpassade affärslogik du behöver för din egen lösning.

Kör följande steg i samma terminal för att distribuera programmet:

  1. Klona git-förvaret:
    git clone https://github.com/aws-samples/amazon-chime-pstn-audio-with-amazon-lex.git

    Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

  2. Gå in i projektkatalogen:

    cd amazon-chime-pstn-audio-with-amazon-lex

    Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

  3. Distribuera AWS CDK-applikationen:
    yarn launch

    Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
    Efter några minuter bör din stackdistribution vara klar. Följande skärmdump visar exempelutdata.
    Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

  4. Installera webbklientens SIP-telefon med följande kommandon:
    cd site Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
    Yarn Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

    yarn run start

    Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Granska Amazon Chime SDK Voice Connector

I det här inlägget använder vi Amazon Chime SDK för att dirigera de samtal som tas emot på Asterisk PBX-servern (eller dina befintliga kontaktcenter) till Amazon Lex. Detta görs med Amazon Chime SIP PSTN-ljud och Amazon Chime Voice Connector. Amazon Chime PSTN-ljud gör att du kan skapa programmerbara telefoniapplikationer med Lambda-funktioner. Dessa Amazon Chime SIP-mediaapplikationer utlöses av antingen ett PSTN-telefonnummer eller Amazon Chime Voice Connector. Följande skärmdump visar SIP-regeln som utlöses av en Amazon Chime SDK Voice Connector och riktar sig till en SIP-mediaapplikation.

Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Granska chatboten Kontosaldo

Amazon Lex-boten i denna demo innehåller tre avsikter. Dessa avsikter kan begäras genom naturligt språktal från den som ringer. Till exempel Check Balance avsikten är sådd med följande exempel på yttranden.

Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

En avsikt kan kräva noll eller fler parametrar, som kallas spelautomater. Vi lägger till slots som en del av avsiktskonfigurationen medan vi bygger blotten. Vid körning frågar Amazon Lex användaren om specifika slotvärden. Användaren måste ange värden för alla nödvändiga slots innan Amazon Lex kan uppfylla avsikten.

För Check Balance avsikt, frågar Amazon Lex om platsdata, såsom:

For which account would you like to check the balance?
For verification purposes, what is your date of birth?

Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Efter att Amazon Lex-boten har samlat in all nödvändig slotinformation, uppfyller den avsikten genom att anropa lämpligt svar. I det här fallet frågar den efter kontosaldot som är relaterat till kontot och tillhandahåller det till kunden.

I det här inlägget använder vi en Lambda-funktion för att initiera, validera och uppfylla syftet. Följande är exempel på Python-koden som visar hur funktionen hanterar anrop beroende på vilken avsikt som används:

def dispatch(intent_request):
    intent_name = intent_request["sessionState"]["intent"]["name"]
    response = None
    # Dispatch to your bot's intent handlers
    if intent_name == "CheckBalance":
        return CheckBalance(intent_request)
    elif intent_name == "FollowupCheckBalance":
        return FollowupCheckBalance(intent_request)
    elif intent_name == "OpenAccount":
        return OpenAccount(intent_request)

    raise Exception("Intent with name " + intent_name + " not supported")


def lambda_handler(event, context):
    print(event)
    response = dispatch(event)
    print(response)
    return response 

Följande är exempelkoden som förklarar kodblocket för Check Balance avsikt i lambdafunktionen. I det här exemplet genererar vi ett slumpmässigt tal som kontosaldo, men detta kan integreras med din befintliga databas för att ge korrekt information om den som ringer.

def CheckBalance(intent_request):
    session_attributes = get_session_attributes(intent_request)
    slots = get_slots(intent_request)
    account = get_slot(intent_request, "accountType")
    # The account balance in this case is a random number
    # Here is where you could query a system to get this information
    balance = str(random_num())
    text = "Thank you. The balance on your " + account + " account is $" + balance
    message = {"contentType": "PlainText", "content": text}
    fulfillment_state = "Fulfilled"
    return close(session_attributes, "CheckBalance", fulfillment_state, message)

Testa lösningen

Låt oss gå igenom lösningen genom att följa sökvägen för en enskild användarförfrågan:

  1. Få telefonnumret från utgången efter att du har distribuerat AWS CDK:
    Outputs:
    LexContactCenter.voiceConnectorPhone = +1NPANXXXXXX

  2. Slå in telefonnumret från vilken PSTN-baserad telefon som helst.
  3. Nu kan du prova menyalternativen.

För att Amazon Lex-boten ska förstå Check Balance avsikt kan du säga något av följande yttranden:

  • Vad är saldot på mitt konto?
  • Kontrollera mitt kontosaldo?
  • Jag vill kontrollera saldot?

Amazon Lex frågar efter slotdata som krävs för att uppfylla denna avsikt. För Check Balance avsikt, frågar Amazon Lex om kontot och födelsedatum:

  • För vilket konto vill du kontrollera saldot?
  • För verifieringsändamål, vilka är dina födelseuppgifter?

När du har tillhandahållit den nödvändiga informationen, uppfyller boten avsikten och tillhandahåller kontosaldoinformationen. Följande är ett exempel på ett utdatameddelande för Check Balance avsikt: Thank you. The balance on your <account> account is $<balance>.

  1. Slutför samtalet genom att lägga på eller bli förflyttad till en agent.

När konversationen med Amazon Lex-boten är klar återgår samtalet till SIP-mediaapplikationen och tillhörande Lambda-funktion med resultaten från botkonversationen.

Amazon Chime SIP-mediaapplikationen utför efterbearbetningsstegen och returnerar samtalet till Asterisk PBX. För Open Account detta gör att Asterisk PBX ringer en agent med en webbklientbaserad SIP-telefon. Följande skärmdump visar instrumentpanelen med information om agentsamtal. Detta samtal kan besvaras på webbklienten för att upprätta tvåvägsljud mellan den som ringer och agenten. Som visas på skärmdumpen har informationen som den som ringt lämnat har bevarats och presenterats för agenten.

Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Se följande video för ett exempel på en partnerlösning om hur man integrerar Amazon Lex med Cisco Unified Contact Center med Amazon Chime SDK:

Rengör resurser

För att rensa upp resurserna som används i den här demon och undvika ytterligare avgifter, kör följande kommando i terminalfönstret:

yarn destroy

Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Smakämnen AWS molnformation stack skapad av AWS CDK förstörs, vilket tar bort alla tilldelade resurser.

Slutsats

I det här inlägget demonstrerade vi en lösning med en referensarkitektur för att lägga till självbetjänings-AI till alla kontaktcenter som använder Amazon Lex och Amazon Chime SDK. Vi visade hur lösningen fungerar och gav en detaljerad genomgång av koden och implementeringsstegen. Denna lösning är tänkt att vara en referensarkitektur eller en snabbstartsguide som du kan anpassa efter dina egna behov.

Ge det en snurra och låt oss veta hur detta löste ditt användningsfall genom att lämna feedback i kommentarsektionen. För mer information, se projektets GitHub-förråd.


Om författarna

Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Prem Ranga är en NLP-domänledare och en Sr. AI/ML-specialist SA på AWS och en författare som ofta publicerar bloggar, forskningsartiklar och nyligen en NLP-lärobok. När han inte hjälper kunder att ta till sig AWS AI/ML, sysslar Prem med att bygga Simple Beer Service-enheter för AWS-kontor, köra konkurrenskraftiga spelevenemang med DeepRacer & DeepComposer och utbilda studenter, unga yrkesverksamma i karriärbyggande AI/ML-färdigheter. Du kan följa Prems arbete på LinkedIn.

Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Court Schuett är Lead Evangelist för Amazon Chime SDK med en bakgrund inom telefoni och älskar nu att bygga saker som bygger saker. Court är fokuserat på att lära utvecklare och icke-utvecklare hur man bygger med AWS.

Lägg till konversations-AI till alla kontaktcenter med Amazon Lex och Amazon Chime SDK PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Vamshi Krishna Enabothala är en Senior AI/ML Specialist SA på AWS med expertis inom big data, analys och orkestrering av skalbara AI/ML-arkitekturer för nystartade företag och företag. Vamshi är fokuserad på Language AI och förnyar sig i att bygga rekommendationsmotorer i världsklass. Utanför jobbet är Vamshi en RC-entusiast som bygger och leker med RC-utrustning (flygplan, bilar och drönare) och tycker också om trädgårdsarbete.

Tidsstämpel:

Mer från AWS maskininlärning