Skip to content
Natural Language Processing on AWS Workshop
Jupyter Notebook Python JavaScript Other
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Creating initial file from template Jul 15, 2018
2_SentimentAnalysis Switch stack Jan 28, 2019
3_GenderClassification Update dockerizer-orchestration-gender-classifier.ipynb Jan 28, 2019
images Initial commit Jul 18, 2018
templates Initial commit Jul 18, 2018
.gitignore Creating initial file from template Jul 15, 2018 Creating initial file from template Jul 15, 2018
LICENSE Creating initial file from template Jul 15, 2018
Presentation-AWS-NLP-workshop.pptx Updated overview slide deck Aug 16, 2018 Updated instructions for workshop home page Aug 16, 2018 Initial commit Jul 18, 2018
nlpworkshop.json Initial commit Jul 18, 2018

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.


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.


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


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)


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
You can’t perform that action at this time.