{"id":197,"date":"2020-09-08T22:42:46","date_gmt":"2020-09-08T22:42:46","guid":{"rendered":"https:\/\/machine-learning.webcloning.com\/2020\/09\/08\/creating-a-sophisticated-conversational-experience-using-amazon-lex-in-australian-english\/"},"modified":"2020-09-08T22:42:46","modified_gmt":"2020-09-08T22:42:46","slug":"creating-a-sophisticated-conversational-experience-using-amazon-lex-in-australian-english","status":"publish","type":"post","link":"https:\/\/salarydistribution.com\/machine-learning\/2020\/09\/08\/creating-a-sophisticated-conversational-experience-using-amazon-lex-in-australian-english\/","title":{"rendered":"Creating a sophisticated conversational experience using Amazon Lex in Australian English"},"content":{"rendered":"<div id=\"\">\n<p><a href=\"https:\/\/aws.amazon.com\/lex\/\">Amazon Lex<\/a> is a service for building conversational interfaces into any application using voice and text. To build truly engaging conversational experiences, you need high quality speech recognition and natural language understanding that understands the intent of the customer accurately.<\/p>\n<p>We are excited to announce that <a href=\"https:\/\/aws.amazon.com\/lex\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon Lex<\/a> now supports Australian English. With Australian English, you can deliver a robust and localized conversational experience that accurately understands the Australian dialect. You can also respond to users with natural sounding Amazon Polly Australian voices to provide a fully localized conversational experience.<\/p>\n<p>This post shows how you can build a bot with Australian English support and use the pre-defined built-ins to deliver a superior experience to your users.<\/p>\n<h2>Building an Amazon Lex bot<\/h2>\n<p>This post uses the following conversation to model a bot:<\/p>\n<p><em><strong>User:<\/strong> I\u2019d like to schedule an appointment for a dishwasher repair.<br \/><\/em><em><strong>Agent:<\/strong> Sure, what city are you in?<br \/><\/em><em><strong>User:<\/strong> Ballarat.<br \/><\/em><em><strong>Agent:<\/strong> Got it. And what\u2019s the serial number?<br \/><\/em><em><strong>User:<\/strong> 1234.<br \/><\/em><em><strong>Agent:<\/strong> Ok. For that model, I have technicians available next week. When would you prefer to have them visit?<br \/><\/em><em><strong>User:<\/strong> Can I get someone on 4\/9?<br \/><\/em><em><strong>Agent:<\/strong> Sure. You are all set for September 4th.<br \/><\/em><em><strong>User:<\/strong> Thanks!<\/em><\/p>\n<p>The first step is to build an Amazon Lex bot with intents to manage appointments. The <code>ScheduleAppointment<\/code>, <code>ModifyAppointment<\/code>, and <code>CancelAppointment<\/code> intents provide this capability. You can <a href=\"https:\/\/aws-ml-blog.s3.amazonaws.com\/artifacts\/lex-en-au\/AppointmentBot.zip\" target=\"_blank\" rel=\"noopener noreferrer\">download a sample bot definition<\/a> to follow along with this post.<\/p>\n<h2>Creating a bot in Australian English<\/h2>\n<p>For this post, you will create an Amazon Lex bot called <code>AppointmentBot<\/code>. Alternatively, you can also <a href=\"https:\/\/docs.aws.amazon.com\/lex\/latest\/dg\/import-from-lex.html\">import<\/a> the <a href=\"https:\/\/aws-ml-blog.s3.amazonaws.com\/artifacts\/lex-en-au\/AppointmentBot.zip\">sample bot<\/a> directly and skip the bot creation process.<\/p>\n<ol>\n<li>Open the AWS console, and make sure you have selected the Asia Pacific (Sydney)\/ap-southeast-2 region.<\/li>\n<li>Go to the Amazon Lex console. On the Bots tab, choose <strong>Create.<\/strong>\n<\/li>\n<li>Select <strong>Custom Bot.<\/strong>\n<\/li>\n<li>Enter the <strong>Bot name<\/strong> and select English (AU) as <strong>Language. <\/strong>\n<\/li>\n<li>Select the <strong>Output voice<\/strong><strong>. <\/strong>The list of voices are specific to the language selected for the bot. <strong>\u00a0<\/strong>\n<\/li>\n<li>Specify Sentiment analysis, Session timeout, and COPPA settings.<\/li>\n<li>Choose\u00a0<strong>Create.<\/strong>\n<\/li>\n<li>Once the bot is created, create <code>ScheduleAppointment<\/code>, <code>ModifyAppointment<\/code>, and <code>CancelAppointment<\/code> intents for your bot by adding sample utterances and slot values.<\/li>\n<li>Select\u00a0<strong>Build<\/strong>.<\/li>\n<\/ol>\n<p>At this point, you should have a working Lex bot.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-15673 size-full\" title=\"Selecting English (AU) for Language\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/09\/08\/2-Language-Selection.jpg\" alt=\"\" width=\"901\" height=\"404\"><\/p>\n<h2>Setting up an Amazon Connect flow<\/h2>\n<p>In this section, we deploy the bot in an <a href=\"http:\/\/aws.amazon.com\/connect\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon Connect<\/a> Interactive Voice Response (IVR).<\/p>\n<h3>Creating your Amazon Connect instance<\/h3>\n<p>In this first step, you create your Amazon Connect instance:<\/p>\n<ol>\n<li>On the <a href=\"http:\/\/aws.amazon.com\/console\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Management Console<\/a>, choose <strong>Amazon Connect<\/strong>.<\/li>\n<li>If this is your first Amazon Connect instance, choose <strong>Get started<\/strong>; otherwise, choose <strong>Add an instance<\/strong>.<\/li>\n<li>For <strong>Identity management<\/strong>, choose <strong>Store users within Amazon Connect<\/strong>.<\/li>\n<li>Enter a URL prefix such as <code>test-instance-<\/code><span><strong><em>############<\/em><\/strong><\/span>, where \u201c<strong><span><em>############<\/em><\/span><\/strong>\u201d is your current AWS account number.<\/li>\n<li>Choose <strong>Next step<\/strong>.<\/li>\n<li>For <strong>Create an administrator<\/strong>, enter a name, password, and email address.<\/li>\n<li>Choose <strong>Next step<\/strong>.<\/li>\n<li>For <strong>Telephony Options<\/strong>, leave both call options selected by default.<\/li>\n<li>Choose<strong> Next step<\/strong>.<\/li>\n<li>For <strong>Data storage<\/strong>, choose <strong>Next step<\/strong>.<\/li>\n<li>Review the settings and choose <strong>Create instance<\/strong>.<\/li>\n<li>After your instance is created, choose <strong>Get started<\/strong>.<\/li>\n<\/ol>\n<h3>Associating your bot with your Amazon Connect instance<\/h3>\n<p>Now that you have an Amazon Connect instance, you can claim a phone number, create a contact flow, and integrate with the <code>AppointmentBot<\/code> Lex bot you created in the prior step. First, associate your bot with your Amazon Connect instance:<\/p>\n<ol>\n<li>On the Amazon Connect console, open your instance by choosing the <strong>Instance Alias<\/strong>\n<\/li>\n<li>Choose <strong>Contact flows<\/strong>.<\/li>\n<li>From the drop-down list, choose <code>AppointmentBot<\/code>. If you don\u2019t see the bot in the list, make sure you have selected the same Region you used when you created your Lex bot.<\/li>\n<li>Choose <strong>+ Add Lex Bot<\/strong>.<\/li>\n<\/ol>\n<h3>Configuring Amazon Connect to work with your bot<\/h3>\n<p>Now you can use your bot with Amazon Connect.<\/p>\n<ol>\n<li>On the Amazon Connect dashboard, for <strong>Step 1<\/strong>, Choose <strong>Begin<\/strong>.<\/li>\n<li>For your phone number, choose Australia for the country, Direct Dial or Toll Free, and choose a phone number.<\/li>\n<li>Choose <strong>Next<\/strong>.<\/li>\n<li>If you want to test your new phone number, try it on the next screen or choose <strong>Skip for now<\/strong>.<\/li>\n<\/ol>\n<p>For this post, you can skip hours of operation, creating queues, and creating prompts. For more information on these features, see the <a href=\"https:\/\/docs.aws.amazon.com\/connect\/latest\/adminguide\/what-is-amazon-connect.html\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon Connect Administrator Guide<\/a>.<\/p>\n<ol start=\"5\">\n<li>For <strong>Step 5<\/strong>, <strong>Create contact flows<\/strong>, choose <strong>View contact flows<\/strong>.<\/li>\n<li>Choose <strong>Create contact flow<\/strong>.<\/li>\n<li>Change the name of the contact flow to <code>Manage repairs<\/code>.<\/li>\n<li>From the Set drop-down menu, drag a Set voice card to the contact flow canvas. Open the card and change the <strong>Language<\/strong> to \u201cEnglish (Australian)\u201d, choose an available <strong>Voice<\/strong>, and choose <strong>Save<\/strong>.<\/li>\n<li>Drag a connector from the <strong>Entry point<\/strong> card to your new <strong>Set voice\u00a0<\/strong>card.<\/li>\n<li>From the <strong>Interact<\/strong> drop-down menu, drag a <strong>Play prompt<\/strong> card to the contact flow canvas.<\/li>\n<li>In the <strong>Play prompt<\/strong> details, choose <strong>Text-to-speech<\/strong> or <strong>chat text<\/strong>.<\/li>\n<li>In the text box, enter <code>Hi. How can I help? You can schedule or change a repair appointment.<\/code>\n<\/li>\n<li>Choose <strong>Save<\/strong>.<\/li>\n<li>Drag a connector from the <strong>Set voice<\/strong> card to your new <strong>Play prompt\u00a0<\/strong>card.<\/li>\n<li>Drag a <strong>Get customer input<\/strong> card to the contact flow canvas.<\/li>\n<li>In the <strong>Get customer input<\/strong> details, choose <strong>Text-to-speech<\/strong> or <strong>chat text<\/strong>.<\/li>\n<li>In the text box, enter <code>What would you like to do?<\/code>\n<\/li>\n<li>Choose <strong>Amazon Lex<\/strong>, and choose the <code>AppointmentBot<\/code> bot in the drop-down list.<\/li>\n<li>Add each <code>AppointmentBot<\/code> intent to the contact flow: <code>ScheduleAppointment<\/code>, <code>ModifyAppointment<\/code>, <code>CancelAppointment<\/code>, and <code>Disconnect<\/code>.<\/li>\n<li>Choose <strong>Save<\/strong>.<\/li>\n<li>Drag a connector from the <strong>Play prompt<\/strong> card to the <strong>Get customer input<\/strong>\n<\/li>\n<li>Drag a <strong>Play prompt<\/strong> card to the contact flow.<\/li>\n<li>Choose <strong>Text-to-speech<\/strong> or <strong>chat text<\/strong>.<\/li>\n<li>In the text box, enter <code>Is there anything else I can help you with?<\/code>\n<\/li>\n<li>Choose <strong>Save<\/strong>.<\/li>\n<li>Drag connectors for each entry (except for <strong>Disconnect<\/strong>) in the <strong>Get customer input<\/strong> card to the new <strong>Play prompt\u00a0<\/strong>card.<\/li>\n<li>Drag a connector from the new <strong>Play prompt<\/strong> card back to the <strong>Get customer input\u00a0<\/strong>card.<\/li>\n<li>From the <strong>Terminate\/Transfer<\/strong> drop-down menu, and drag a <strong>Disconnect\/Hang up<\/strong> card to the contact flow.<\/li>\n<li>Drag a connector from the <strong>Disconnect<\/strong> entry in the <strong>Get customer input<\/strong> card to the <strong>Disconnect\/Hang up<\/strong> card.<\/li>\n<\/ol>\n<p>Your contact flow should look something like the following image.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-15427 size-full\" title=\"Contact Flow\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/31\/1-Deploy-Screenshot.jpg\" alt=\"\" width=\"900\" height=\"473\"><\/p>\n<ol start=\"30\">\n<li>Choose <strong>Save<\/strong> to save your contact flow.<\/li>\n<li>Choose <strong>Publish<\/strong> to make your new contact flow available to your callers.<\/li>\n<li>Choose the <strong>Dashboard<\/strong> icon from the side menu.<\/li>\n<li>Choose <strong>Dashboard<\/strong>.<\/li>\n<li>Choose <strong>View phone numbers<\/strong>.<\/li>\n<li>Choose your phone number to edit it, and change the contact flow or IVR to the <code>Manage Repairs<\/code> contact flow you just created. Choose <strong>Save<\/strong>.<\/li>\n<\/ol>\n<p>Your Amazon Connect instance is now configured to work with your Amazon Lex bot. Try calling the phone number to see how it works.<\/p>\n<h2>Conclusion<\/h2>\n<p>Conversational experiences are vastly improved when you understand your user\u2019s accent and respond in a style familiar to them. With Australian English support on Amazon Lex, you can now build bots that are better at understanding the Australian English accent. You can also use pre-defined slots to capture local information such as names and cities. Australian English allows you deliver a robust and localized conversational experience to your users in the Australia region. Australian English is available at the same price, and in the same Regions, as US English. You can try Australian English via the console, the <a href=\"http:\/\/aws.amazon.com\/cli\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Command Line Interface<\/a> (AWS CLI), and the AWS SDKs. Start building your Aussie bot today!<\/p>\n<hr>\n<h3>About the Authors<\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-15359 alignleft\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/28\/Brian-Yost.jpg\" alt=\"\" width=\"100\" height=\"134\">Brian Yost is a Senior Consultant with the AWS Professional Services Conversational AI team. In his spare time, he enjoys mountain biking, home brewing, and tinkering with technology.<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-15360 alignleft\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/28\/Anubhave-Mishra.jpg\" alt=\"\" width=\"100\" height=\"134\">Anubhav Mishra is a Product Manager with AWS. He spends his time understanding customers and designing product experiences to address their business challenges.<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/aws.amazon.com\/blogs\/machine-learning\/creating-a-sophisticated-conversational-experience-using-amazon-lex-in-australian-english\/<\/p>\n","protected":false},"author":0,"featured_media":198,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/posts\/197"}],"collection":[{"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/comments?post=197"}],"version-history":[{"count":0,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/posts\/197\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/media\/198"}],"wp:attachment":[{"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/media?parent=197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/categories?post=197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/tags?post=197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}