Welcome to Amazon Textract & Amazon Rekognition
**Instructor**:
Heiwad Osman heiwad@amazon.com
**Notes**
- **Sign up** for an account at https://aws.qwiklabs.com for access to the lab environment - Please use the same email you used in your registration profile.
- Download the course PDF from https://links.demolab.cloud/02pxu7k
- We’ll be running this class on Central Time!
- Expect 9AM - 4PMish.
- Lunch break from 12 Mountain/ 1PM Central Time!
**Agenda**:
- Introduction to Amazon Textract
- Lab 1 - Getting your hands dirty with Amazon Textract
- Lab 2 - Building an Amazon Textract automated workflow
- Introduction to Amazon Rekognition
- Lab 3 - Amazon Rekognition custom labels
- Lab 4 - Automated Video Editing with Amazon Rekognition
**Additional Resources:**
Textract Code Samples: https://github.com/aws-samples/amazon-textract-code-samples
Heiwad's AI Services Demo Notebook: https://github.com/heiwad/ai-services-notebook
**AI services sample applications:**
- [AWS Media Insights](https://github.com/awslabs/aws-media-insights)
- [Serverless Reference Architecture: Image Recognition and Processing Backend](https://github.com/aws-samples/lambda-refarch-imagerecognition)
- [AWS Video Transcriber](https://github.com/awslabs/aws-video-transcriber)
- [Amazon Rekognition Custom Labels Demo](https://github.com/aws-samples/amazon-rekognition-custom-labels-demo)
**AI services blog posts**
- [Making daily dinner easy with Deliveroo meals and Amazon Rekognition](https://aws.amazon.com/blogs/machine-learning/making-daily-dinner-easy-with-deliveroo-meals-and-amazon-rekognition/)
- [Powering Language Learning on Duolingo with Amazon Polly](https://aws.amazon.com/blogs/machine-learning/powering-language-learning-on-duolingo-with-amazon-polly/)
- [Translating documents with Amazon Translate, AWS Lambda, and the new Batch Translate API](https://aws.amazon.com/blogs/machine-learning/translating-documents-with-amazon-translate-aws-lambda-and-the-new-batch-translate-api/)
- [Enable smart text analytics using Amazon Elasticsearch Service and Amazon Comprehend](https://aws.amazon.com/blogs/machine-learning/enable-smart-text-analytics-using-amazon-elasticsearch-search-and-amazon-comprehend/)
- [Automated video editing with YOU as the star!](https://aws.amazon.com/blogs/machine-learning/automated-video-editing-with-you-as-the-star/)
- [Build a custom vocabulary to enhance speech-to-text transcription accuracy with Amazon Transcribe](https://aws.amazon.com/blogs/machine-learning/build-a-custom-vocabulary-to-enhance-speech-to-text-transcription-accuracy-with-amazon-transcribe/)
- [Translate, redact, and analyze text using SQL functions with Amazon Athena, Amazon Translate, and Amazon Comprehend](https://aws.amazon.com/blogs/machine-learning/translate-and-analyze-text-using-sql-functions-with-amazon-athena-amazon-translate-and-amazon-comprehend/)
**Questions?**
Can textract handle signatures and detect them?
At this time Textract appears to treat signatures the same as any other handwriting in a form. It can detect key-value pairs for forms, but the result of turning a signature into text often will have low confidence.
How to handle custom parts.
** Lab Feedback **
lab broken in a couple places. sudo pip install boto3. and the last part there is no S3 bucket so prompts to create one but we likely don't have IAM permissions to do so.
Lab 2: Lambda Console UI impacts/breaks steps for Task 1
Also: Lambda function doesn't have permission to write to CW Logs and awsstudent is missing permissions to view the Cloudwatch Metrics/Logs for Lambda.
Did a work around for running lambda locally with SAM CLI or by executing test event in the lambda console.
** Invoking Lambda CLI **
I used the following:
https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-using-invoke.html
1. Create a new file in the workspace called event.json and copy paste the test event into it
2. Edit the file contents so that the bucket name and the key name for one of your sample files is in it (don't include s3:// in front of the bucket name)
3. Run `sam local invoke ComprehendKeyPhraseAnalysis --event event.json` to invoke the lambda locally