Amazon Lex'i kullanıcı girdisini kopyalamak, isteklerinin yapısını belirlemek ve konuşmaları verimli bir şekilde yönetmek için otomatik konuşma tanıma (ASR) ve doğal dil anlama (NLU) teknolojileri sağlar. Lex, gelişmiş konuşmalar oluşturmanıza, müşteri memnuniyeti (CSAT) puanlarını iyileştirmek için kullanıcı deneyiminizi düzenlemenize ve iletişim merkezlerinizdeki kapsamı artırmanıza olanak tanır.
Doğal, etkili müşteri etkileşimleri, Lex sanal aracısının müşteri tarafından sağlanan bilgileri doğru bir şekilde yorumlamasını gerektirir. Özellikle zorlayıcı olabilecek bir senaryo, arama sırasında bir sokak adresini yakalamaktır. Örneğin, yakın zamanda yeni bir şehre taşınan ve kablosuz hesabı için sokak adresini güncellemek için arayan bir müşteriyi düşünün. Tek bir Amerika Birleşik Devletleri posta kodu bile çok çeşitli sokak adları içerebilir. Telefon üzerinden doğru adresi almak, insan aracılar için bile zor olabilir.
Bu gönderide, Amazon Lex'i nasıl kullanabileceğinizi göstereceğiz ve Amazon Konum Hizmeti adreslerini ses veya metin yoluyla yakalamak için etkili bir kullanıcı deneyimi sağlamak.
Çözüme genel bakış
Bu örnek için, self servis özellikleri sağlayan bir Amazon Lex botu kullanacağız. Amazon Bağlantısı temas akışı. Kullanıcı telefonundan aradığında adresini değiştirmek isteyebilir ve bot onlardan müşteri numarasını ve yeni adresini ister. Çoğu durumda, yeni adres ilk denemede doğru şekilde yakalanacaktır. Daha zorlu adresler için, bot onlardan sokak adlarını yeniden yazmalarını, sokak adlarını hecelemelerini veya doğru adresi yakalamak için posta kodlarını veya adres numaralarını tekrar etmelerini isteyebilir.
Lex botumuzu modellemek için örnek bir kullanıcı etkileşimi:
IVR: Merhaba, ACME bank müşteri hizmetlerine hoş geldiniz. Nasıl yardımcı olabilirim? Hesap bakiyelerini kontrol edebilir, çek sipariş edebilir veya adresinizi değiştirebilirsiniz.
kullanıcı: Adresimi değiştirmek istiyorum.
IVR: Müşteri numaranızı söyler misiniz?
kullanıcı: 123456.
IVR: Teşekkürler. Lütfen bana yeni posta kodunuzu söyleyin.
kullanıcı: 32312.
IVR: Tamam, yeni adresiniz nedir?
kullanıcı: 6800 Thomasville Yolu, Süit 1-oh-1.
IVR: Teşekkür ederim. Doğru anladığımdan emin olmak için bana sadece sokağınızın adını söyleyebilir misiniz?
kullanıcı: Thomasville Yolu.
IVR: Tamam, yeni adresiniz 6800 Thomasville Road, Suite 101, Tallahassee Florida 32312, ABD. Bu doğru mu?
kullanıcı: Evet.
IVR: Tamam, adresiniz güncellendi. Yardımcı olabileceğim başka bir şey var mı?
kullanıcı: Hayır, teşekkürler.
IVR: Ulaştığınız için teşekkür ederiz. İyi günler!
Alternatif bir yaklaşım olarak, önce posta kodunu sormak yerine tüm adresi tek bir dönüşte yakalayabilirsiniz:
IVR: Merhaba, ACME bank müşteri hizmetlerine hoş geldiniz. Nasıl yardımcı olabilirim? Hesap bakiyelerini kontrol edebilir, çek sipariş edebilir veya adresinizi değiştirebilirsiniz.
kullanıcı: İstiyorum güncelleştirme benim adresim.
IVR: Müşteri numaranızı söyler misiniz?
kullanıcı: 123456.
IVR: Teşekkürler. Lütfen bana cadde, şehir, eyalet ve posta kodu dahil olmak üzere yeni adresinizi söyleyin.
kullanıcı: 6800 Thomasville Yolu, Süit 1-oh-1, Tallahassee Florida, 32312.
IVR: Teşekkür ederim. Doğru anladığımdan emin olmak için bana sadece sokağınızın adını söyleyebilir misiniz?
kullanıcı: Thomasville Yolu.
IVR: Tamam, yeni adresiniz 6800 Thomasville Road, Suite 101, Tallahassee Florida 32312, ABD. Bu doğru mu?
kullanıcı: Evet.
IVR: Tamam, adresiniz güncellendi. Yardımcı olabileceğim başka bir şey var mı?
kullanıcı: Hayır, teşekkürler.
IVR: Ulaştığınız için teşekkür ederiz. İyi günler!
Çözüm mimarisi
Bu çözümde Amazon Connect ile entegre bir Amazon Lex botu kullanacağız. Kullanıcı arayıp yeni adresini verdiğinde Lex, konuşmalarını metne dönüştürmek için otomatik konuşma tanımayı kullanır. Daha sonra, bir kullanır AWS Lambda Adres araması yapan ve normalleştirilmiş bir adres döndüren Amazon Konum Hizmeti'ne kopyalanan metni göndermek için yerine getirme işlevi.
kapsamında AWS CloudFormation yığın, ayrıca isteğe bağlı bir Amazon CloudWatch Günlükleri Sonuçları görselleştirmek için bir konuşma analizi panosu oluşturmak için kullanılabilen Lex konuşma günlüklerini yakalamak için günlük grubu (yazıya bakın) Amazon Lex botlarınız için bir iş zekası panosu oluşturma Bunu yapmanın bir yolu için).
Nasıl çalışır
Bu çözüm, aşağıdakiler de dahil olmak üzere, etkili bir kullanıcı deneyimi oluşturmak için çeşitli teknikleri birleştirir:
- Konuşmayı metne dönüştürmek için Amazon Lex otomatik konuşma tanıma teknolojisi.
- Adres arama ve normalleştirme için Amazon Konum Hizmeti ile entegrasyon.
- Lex yazım stilleri, ses girişleri net olmadığında bir "söyle-yazım" yaklaşımı uygulamak için (örneğin, kullanıcıdan sokak adını söylemesini ve ardından gerekirse hecelemesini isteyin).
İlk adım, gerekli yuvaların yakalandığından emin olmaktır.
Takip eden ilk kod bölümünde, kullanıcıdan Lex'i kullanarak posta kodunu ve sokak adresini isteriz. ElicitSlot
diyalog eylemi. bu elicit_slot_with_retries()
işlevi, kullanıcıya bir dizi yapılandırılabilir bilgi istemine göre bilgi verir.
Yukarıdaki kodun son bölümü bir yardımcı işlev kullanır parse_address.parse()
konuşulan sayıları rakamlara çeviren (örneğin, "altmış sekiz yüz"ü "6800"e çevirir).
Ardından, kullanıcının ifadesini Amazon Konum Hizmetine gönderir ve yanıtı inceleriz. Sokağı, sokak numarası olmayan veya yanlış posta koduna sahip girişleri atıyoruz. Bir sokak adı veya numarası için yeniden sormamız gereken durumlarda, daha önce önerilen adresleri de atıyoruz.
Çözümlenmiş bir adresimiz olduğunda, bunu kullanıcıyla onaylarız.
Amazon Konum Hizmeti'nden çözümlenmiş bir adres alamazsak veya kullanıcı önerdiğimiz adresin doğru olmadığını söylerse, bazı ek bilgileri yeniden isteriz ve yeniden deneriz. Ek bilgi yuvaları şunları içerir:
- StreetName: alan türü AMAZON.StreetName
- SpelledStreetName: AMAZON.AlphaNumeric alan türü (Amazon Lex kullanarak yazım stilleri)
- StreetAddressNumber: yuva türü AMAZON.Number
Yeniden sorma mantığı, next_retry()
denenecek eylemlerin bir listesine danışan işlev:
The next_retry()
işlevi bu eylemleri sırayla deneyecektir. içindeki sırayı değiştirerek istemlerin sırasını değiştirebilirsiniz. RETRY_ACTIONS
liste. Ayrıca, Amazon Konum Hizmetinin bir eşleşme bulamadığı senaryolar ile kullanıcının önerilen adresin doğru olmadığını söylediği durumlar için farklı istemler yapılandırabilirsiniz. Gördüğünüz gibi, kullanıcıdan sokak adını yeniden yazmasını isteyebiliriz ve bu olmazsa, Amazon Lex yazım stillerini kullanarak hecelemesini isteyebiliriz. Biz buna “söyle-büyü” yaklaşımı diyoruz ve bu senaryoda bir insan aracının bir müşteriyle nasıl etkileşime gireceğine benzer.
Bunu çalışırken görmek için AWS hesabınıza dağıtabilirsiniz.
Önkoşullar
Çözümü kendi AWS hesabınızda dağıtmak için aşağıdaki CloudFormation bağlantısını kullanabilirsiniz. Bu çözümü dağıtmadan önce, aşağıdaki ön koşullara sahip olduğunuzu onaylamanız gerekir:
- mevcut AWS hesabı çözümü dağıtabileceğiniz yer.
- Aşağıdaki AWS hizmetlerine erişim:
- Amazon Lex'i
- AWS Lambda, Amazon Konum Hizmeti ile entegrasyon için
- Adres arama için Amazon Konum Hizmeti
- AWS Kimlik ve Erişim Yönetimi (IAM), gerekli politikaları ve rolleri oluşturmak için
- Lambda işlevi için günlük grupları oluşturmak ve isteğe bağlı olarak Lex konuşma günlüklerini yakalamak için CloudWatch Günlükleri
- Yığını oluşturmak için CloudFormation
- Bir Amazon Connect eşgörünümü (birini kurmayla ilgili talimatlar için bkz. Amazon Connect örneği oluşturun).
Aşağıdaki AWS Bölgeleri Amazon Lex, Amazon Connect ve Amazon Konum Hizmetini destekler: ABD Doğu (K. Virginia), ABD Batı (Oregon), Avrupa (Frankfurt), Asya Pasifik (Singapur), Asya Pasifik (Sidney) Bölgesi ve Asya Pasifik (Tokyo).
Örnek çözümü dağıtma
Adresinde oturum açın AWS Yönetim Konsolu AWS hesabınızda ve örnek çözümü dağıtmak için aşağıdaki bağlantıyı seçin:
Bu, yeni bir CloudFormation yığını oluşturacaktır.
Bir girin Yığın adıGibi lex-update-address-example
. Çözümü test etmek için kullanacağınız Amazon Connect bulut sunucusu için ARN'yi (Amazon Kaynak Adı) girin. Diğer parametreler için varsayılan değerleri koruyabilir veya ihtiyaçlarınıza göre değiştirebilirsiniz. Seçmek Sonrakive yığınınız için isteyebileceğiniz etiketleri ekleyin (isteğe bağlı). Seçmek Sonraki tekrar yığın ayrıntılarını gözden geçirin, IAM kaynaklarının oluşturulacağını onaylamak için onay kutusunu seçin ve ardından Yığın oluştur.
Birkaç dakika sonra yığınınız tamamlanacak ve aşağıdaki kaynakları içerecektir:
- Bir takma ada sahip yayınlanmış bir sürüm de dahil olmak üzere bir Lex botu (
Development-Alias
) - Bot için bir Lambda gerçekleştirme işlevi (
BotHandler
) - Lex konuşma günlükleri için bir CloudWatch Logs günlük grubu
- Gerekli Amazon IAM rolleri
- Connect örneğinize örnek bir kişi akışı ekleyen özel bir kaynak
Bu noktada yukarıdaki örnek etkileşimi Lex V2 konsolunda deneyebilirsiniz. CloudFormation şablonunda belirttiğiniz ada sahip örnek botu görmelisiniz (örn. update-address-bot
).
Bu botu seç, seç Bot sürümleri sol taraftaki gezinme panelinde, Sürüm 1 sürümünü seçin ve ardından Amaçlar sol taraftaki panelde. Bir niyet listesinin yanı sıra bir test düğmesine basın.
Test etmek için, test düğme, seçmek Development-Alias
Ve sonra seçim Onaylamak Test penceresini açmak için
Başlamak için "Adresimi değiştirmek istiyorum"u deneyin. Bu UpdateAddressZipFirst
posta kodunu sorarak ve ardından sokak adresini sorarak bir adres yakalama niyetindesiniz.
Şunu da söyleyebilirsiniz: güncelleştirme adresim” denemek için UpdateAddress
tek bir ifadeyle bir adresi bir kerede yakalayan niyet.
Amazon Connect ile test etme
Şimdi bunu bir Connect örneği kullanarak sesle deneyelim. Connect örneğinizde bir örnek kişi akışı zaten yapılandırılmıştır:
Tek yapmanız gereken bir telefon numarası belirlemek ve bu iletişim akışı ile ilişkilendirmek. Bunu yapmak için şu adımları izleyin:
- AWS Konsolunda Amazon Connect'i başlatın.
- öğesini seçerek Connect örneğinizi açın. Erişim URL'si, ve örneğe giriş yapın.
- Pano'da, seçin Telefon numaralarını görüntüleyin.
- seç Bir numara talep edin, arasından bir ülke seçin Ülke açılır menüsüne gidin ve bir sayı seçin.
- "Amazon Lex ile bir adresi güncellemek için örnek akış" gibi bir Açıklama girin ve az önce oluşturduğunuz kişi akışını seçin.
- Klinik İndirim.
Artık botunuzu ses kullanarak test etmek için Connect örneğinize çağrı yapmaya hazırsınız. Sadece telefonunuzdaki numarayı çevirin ve bazı ABD adreslerini deneyin. Posta kodu yaklaşımını denemek için önce "adresimi değiştir" deyin. Adres değiştirme yöntemini tek dönüşte denemek için “adresimi güncelle” deyin. Ayrıca "yeni adresim" deyip ardından geçerli bir ABD adresi de diyebilirsiniz.
Ama bekleyin… dahası var
Ses senaryoları için bir başka zorlu kullanım durumu, bir kullanıcının e-posta adresini yakalamaktır. Bu genellikle kullanıcı doğrulama amacıyla veya yalnızca kullanıcının dosyadaki e-posta adresini değiştirmesine izin vermek için gereklidir. Lex, Lex yazım stillerini de destekleyen AMAZON.EmailAddress yerleşik yuva türünü kullanan e-posta adresleri için yerleşik desteğe sahiptir.
E-posta adreslerini yakalamak için bir "söyleme-yazım" yaklaşımı kullanmak çok etkili olabilir ve bu yaklaşım, yukarıda açıkladığımız sokak adresi yakalama senaryolarındaki kullanıcı deneyimine benzer olduğu için buraya ekledik. Bir şans ver!
Temizlemek
Devam eden ücretlere maruz kalmamak için botu kullanmayı bitirdiğinizde CloudFormation şablonunun bir parçası olarak oluşturulan kaynakları temizlemek isteyebilirsiniz. Bunu yapmak için CloudFormation Stack'i silin.
Sonuç
Amazon Lex, otomatikleştirilmiş self servis işlevsellik sağlamak için kullanıcılarınızdan ihtiyaç duyulan bilgileri almak için kullanılabilecek güçlü otomatik konuşma tanıma ve doğal dil anlama özellikleri sunar. Cadde, şehir ve kasaba adlarının çeşitliliği nedeniyle konuşma tanıma yoluyla bir müşterinin adresini yakalamak zor olabilir. Ancak, müşterinin girdisine göre doğru adresi aramak için Amazon Lex'i Amazon Konum Hizmeti ile kolayca entegre edebilirsiniz. Bu tekniği kendi Lex konuşma akışlarınıza dahil edebilirsiniz.
Yazar Hakkında
Brian Yost AWS Lex ekibinde Kıdemli Teknik Program yöneticisidir. Boş zamanlarında dağ bisikleti sürmekten, evde bira yapmaktan ve teknolojiyle uğraşmaktan hoşlanıyor.