/aws-nlp-workshop

Natural Language Processing on AWS Workshop

Primary LanguageJupyter NotebookMIT No AttributionMIT-0

AWS NLP Workshop

In this workshop you will explore the AWS services needed to enhance your a voice-of-the-customer application with Natural Langage Processing techniques. The application architecture uses Amazon Comprehend, Amazon SageMaker, AWS Lambda, Amazon API Gateway, Amazon S3, Amazon DynamoDB and Amazon ECR.

Amazon Comprehend provides Natural Language Processing service needed to predict the sentiment from the feedback entered by users. Amazon SageMaker is used to orchestrate the machine learning process needed to predict gender of the user from name. S3 hosts static web resources including HTML, CSS, JavaScript, and image files which are loaded in the user's browser. JavaScript executed in the browser sends and receives data from a public backend API built using Lambda and API Gateway. DynamoDB provides a persistence layer where data can be stored by the API's Lambda function. ECR is used to host the machine learning training code. Finally, Python binding for Keras - machine learning framework is used to create the model needed for gender prediction.

Prerequisites

AWS Account

In order to complete this workshop you'll need an AWS Account with access to create AWS IAM, S3, DynamoDB, Lambda, API Gateway, Comprehend, and Sagemaker. The code and instructions in this workshop assume only one student is using a given AWS account at a time. If you try sharing an account with another student, you'll run into naming conflicts for certain resources. You can work around these by appending a unique suffix to the resources that fail to create due to conflicts, but the instructions do not provide details on the changes required to make this work.

All of the resources you will launch as part of this workshop are eligible for the AWS free tier if your account is less than 12 months old. See the AWS Free Tier page for more details.

Browser

We recommend you use the latest version of Chrome to complete this workshop.

Modules

This workshop is broken up into multiple modules. You must complete each module before proceeding to the next. The first module has a slidedeck to understand the context, then second module explores the use of Amazon Comprehend, the next model helps you build a TensorFlow Model in Sagemaker, and in the last module we build the complete voice-of-the-customer application using a CloudFormation template.

  1. NLP workshop Slides - 15 mins
  2. Creating a VOC application framework - 15 mins
  3. Using Amazon Comprehend to add sentiment analysis - 30 mins
  4. Create your own Gender classifier - 60 mins
  5. [Create a summarizer](Coming soon)

Cleanup

After you have completed the workshop, you can delete all of the resources using the following steps:

  1. Delete all Cloudformation stacks created in all modules
  2. Delete the Sagemaker deployment instance hoting the endpoint
  3. Delete the Sagemaker notebook instance