Welcome to this introductory course on Amazon Translate. I'm Tom Kelly, and I'm excited to walk you through this overview of Amazon Translate. Over the next few minutes, I'll highlight the services features and benefits, talk about how it works and how you can get started using it, and walk through some of the popular use cases. I've also included some demos throughout the course, so you can get a concrete look at how to connect to the Amazon Translate API and see some examples of applications built around the service. Amazon Translate is a neural machine translation service powered by deep learning models that allow for fast and accurate translation supporting multiple languages. It's a continually train solution that allows you to perform batch translations when you have large volumes of pre-existing text as well as real-time and on-demand translations when you want to deliver content as a feature of your application. Amazon Translate offers secure communication between the service and your applications through SSL encryption. Any content processed by Amazon Translate is encrypted and stored at rest in the AWS region where you're using the services. Additionally, you can ensure that information is kept secure and confidential by controlling access to Amazon Translate through AWS identity and access management policies. As an AWS service, Amazon Translate integrates nicely with several other AWS services such as Amazon Polly for translated speech-enabled products, Amazon Comprehend for analysis of translated text, and Amazon Transcribe for localized captioning of your media products. And with Amazon Translate, you only pay for what you use. You are charged based on the total number of characters sent to the API for translation. Now let's talk about some of the benefits of Amazon Translate. As a developer, you no longer need to manually extend your applications with new languages that meet your customer base. Instead, Amazon Translate allows you to create applications that can be used in any language. And you can do this with only a few lines of code. In just a minute, I'll walk you through calling the API from both the AWS CLI and AWS SDKs. If you're already an AWS customer and you're looking for a translation solution, it's convenient to stay within the AWS ecosystem for easier integration with other applications and for more efficient security of your data. But it's not just about ease and efficiency. Amazon Translate, powered by a neural machine translation engine, offers increased accuracy of translation when compared to traditional statistical and rule-based translation models. Here's an example of a customer review of a pocket knife in German, translated to English using a non-neural machine translation engine. As you can see, you get the gist of the review but lots of areas need improvement. Here's that same review, but this time, we've run it through Amazon Translate. As you can see, there are a couple minor areas to clean up. But overall, it's a much more accurate translation. Amazon Translate is based on neural networks that have been trained on various language pairs enabling the engine to translate between two different languages. The model is made up of two components, the encoder and the decoder. The encoder reads the source sentence one word at a time and constructs a semantic representation that captures the meaning of the source text. Amazon Translate uses attention mechanisms to understand context and decide which of those words in the source are most relevant for generating the next target word. One of the main advantages of the attention mechanism is to enable the decoder to shift focus on certain parts of the source sentence to make sure that ambiguous words or phrases are translated correctly. The decoder uses the semantic representation and the attention mechanism to generate a translation one word at a time in the target language. It may sound complex, but it's all happening under the hood. Amazon Translate takes care of the details for you. Getting started with the service just takes a few steps. You should first make sure that you have an AWS account and that you've created and assigned an IAM role with full access to all Amazon Translate API calls. Then you have three ways to connect to Amazon Translate, the Management Console, the AWS CLI, and the AWS SDKs. Let's first look at connecting to the service from the AWS Management Console. Once you've logged into the console, find your way to Amazon Translate under the list of AWS services. From within the service console, you can immediately start translating text, just choose the source and target language and then enter the text you want translated in the source language text box. The translated text appears immediately in the target language text box on the right. Below, you can see the corresponding JSON input and output to the translate text operation. If you're going to use the command line to connect to the service, first, make sure you've set up the AWS CLI. Once that's done, you can use the CLI in two ways to translate text with Amazon Translate. For short text, you can provide the text that you want to translate as a parameter of the translate text command. For longer text, you can provide the source language, target language, and text in a JSON file. You can also use Amazon Translate via AWS SDKs. Here's an example in Python where we call the translate text operation and pass the source text along with the source language and target language. In general, Amazon Translate is the right solution when you need to translate high volume of content and you need to do it quickly. Most use cases fall under one of two main categories, translating web-authored content for localization purposes, either on-demand or in real time, and batch translating pre-existing content for analysis and insights,. Let's look at a few specific examples. Here, we have a mock vintage car website where users can post reviews of cars they've purchased. As you can see, reviews on this particular car have been submitted in Spanish. If I want to read a review in English, I can just choose Translate, and then the English version of that review displays. Let's look at the architecture behind this application to better see what's happening here. This website is a single-page JavaScript application hosted in a public S3 bucket and delivered through Amazon CloudFront. The web page makes rest API calls using Amazon API Gateway, which invokes various lambda functions. These functions trigger Amazon Translate to execute translations. Amazon Comprehend analyzes the sentiment of the review, Amazon Aurora as the main database of the application. So while there's a lot going on here in terms of translation, all of that was taken care of with just one line of Python code in a lambda function. Here's another example of Amazon Translate, this time for chatbot translation. Here's the application. You can start by announcing the source and target language at the bottom. Once that's all set, you can type words in English and see the corresponding French on the left. Let's see what's happening here from an architectural perspective. The app is hosted in Amazon S3 and delivered through Amazon CloudFront. Amazon Lex interacts with the user requests for translations. And AWS Lambda retrieves past translations from DynamoDB and requests new translations, which are provided by Amazon Translate. The last example I want to show you uses Amazon Translate for batch translations. This batch of documents is hosted in S3 bucket. To translate, simply indicate the source bucket as well as a target S3 bucket. Working within a limit of 1,000 bytes of UTF-8 characters per request, this application performs two main functions. First, there's a function that breaks the source string into individual sentences. And then there's the main function which calls the translate operation for each sentence in the source string. This function also handles authentication with Amazon Translate. Before I wrap up, I want to summarize some of the salient points from this service introduction. Amazon Translate represents the next generation of translation solutions. It's built on a neural network that leverages deep learning techniques. Unlike conventional phrase-based machine translation, Amazon Translate takes into account the entire context of the source sentence as well as the translation it has previously generated. This results in more accurate and fluid translation. Amazon Translate is ideal for real-time and on-demand translation of web and app content that helps you reach a global audience. It also allows you to perform batch translations of pre-existing text. Amazon Translate integrates with a wide variety of other AWS services allowing you to extend the reach of your applications. The service is easy to get started with and you can access it through the AWS Management Console, AWS CLI, and through AWS SDKs. I hope you enjoyed this introduction to Amazon Translate and that you found it helpful in finding the right translation solution for your development needs. Thanks so much for watching.