Introduction to AWS Machine Learning AI Services for Pythonistas

Piotr Grzesik

What I do ?

What I will be talking about ?

  • What are the benefits of Machine Learning APIs ?
  • Overview of ML APIs services on AWS
  • How to use Machine Learning APIs in Python apps ?

Building your own solution

Using Machine Learning APIs

Benefits of ML APIs

  • Does not require specific ML knowledge (can be used by "regular" developers)
  • Easy to consume via API/SDK
  • Trained on a large dataset
  • Models are constantly re-trained/improved
  • "Infinitely" scalable
  • Pay-per-use

Cons of ML APIs

  • Limited functionality, suitable only for common tasksĀ 
  • Can be much pricier than custom solution in the long run
  • No way to customize/tweak models (there are small exceptions)
  • Vendor lock-in (not really)

Providers

What AWS has to offer ?

  • Rekognition Image/Video
  • Polly
  • Comprehend
  • Transcribe
  • Translate
  • Textract
  • Lex

Rekognition

  • Image and video recognition service
  • Supports processing images from S3 buckets
  • Supports batch and real-time processing
  • 1000 minutes of video analysis and 5000 images per month available in Free Tier
  • Alternatives: Google Cloud Vision API, Azure Computer Vision API

Rekognition Image features

  • Object and scenery detection
  • Facial recognition
  • Facial analysis
  • Face comparision
  • Inappropriate image detection
  • Celebrity recognition
  • Text in image

Rekognition Video features

  • Person identification, tracking and pathing
  • Face recognition
  • Facial analysis
  • Objects, scenes and activities detection
  • Inappropriate video detection
  • Celebrity recognition

Rekognition Image demo

Rekognition use cases

  • Detect unsafe/inappropriate images and videos
  • Indexing images/videos based on scenery and/or emotions
  • Blurring faces on images and videos
  • User verification based on face image
  • License plate verification
  • Reading handwritten text from images

Polly

  • Speech synthesis service
  • Supports near real-time and batch processing
  • 5 million characters for speech or Speech Marks requests per month available in Free Tier
  • Alternatives: Google Cloud Text-To-Speech

Polly features

  • Supports mp3, Vorbis and PCM formats
  • Supports generating "Speech Marks"
  • Supports SSML (Speech Synthesis Markup Language)
  • Supports PLS (Pronounciation Lexicon Specification)

Polly demo

Polly use cases

  • Wordpress Polly plugin
  • Combine Rekognition and Polly to provide audio files from handwritten notes
  • Language learning applications
  • Voicing dialogs in games
  • Creating audiobooks

Comprehend

  • Natural language processing (NLP) service
  • Integrates with Amazon S3 and AWS Glue
  • Supports batch processing
  • Supports English, Spanish, French, German, Italian, Portuguese
  • 5 million characters per month available in Free Tier
  • Alternatives: Google Cloud Natural Language API, Azure Language API

Comprehend features

  • Keyphrase extraction
  • Sentiment analysis
  • Syntax analysis
  • Entity recognition
  • Language detection
  • Topic modeling
  • Medical Named Entity extraction
  • Custom classification models

Comprehend demo

Comprehend use cases

  • Analyze sentiment in hotel reviews
  • Generate tags for articles
  • Group documents by topic
  • Search text based on key phrases or sentiment

Transcribe

  • Automatic speech recognition service
  • Supports Spanish, English, French, Portuguese, Hindi, Korean, German
  • Supports multiple speakers and custom vocabulary
  • Optimized for Telephony Audio
  • Supports channel indentification
  • 60 minutes per month available in Free Tier
  • Alternatives: Google Cloud Speech API, Azure Speech API

Transcribe demo

Transcribe use cases

  • Generate podcast transcripts
  • Generate notes from board meetings
  • Combine with Comprehend for sentiment analysis of speech
  • Generate transcripts of telephone calls
  • Combine with Translate for generation of translated movie subtitles

Translate

  • Text translation service
  • Supports real-time and batch processing
  • Supports Named Entity Translation Customization
  • Automatically detects source language
  • Supports 25 languages, 595 translation combinationsĀ 
  • 2 million characters per month available in Free Tier
  • Alternatives: Google Cloud Translation API, Azure Translator Text API

Translate use cases

  • Automatic translation of customer reviews
  • Automatic translation of company website
  • Automatic translation of emails
  • Translation support in conversational applications
  • Translation capabilities in language learning applications
  • Integrate with Polly to provide audio files in multiple languages

Textract

  • Document analysis service, extracts text and data
  • Supports PDF, PNG and JPG
  • Currently only supports English
  • Support for form and table extraction
  • 1000 pages per month for Detect Document Text API and 100 pages per month for Analyse Document API available in Free Tier
  • Alternatives: Google Cloud Cloud Vision API, Microsoft Azure Form Recogniser API [preview]

Textract use cases

  • Extract text that can be later analyzed with Comprehend
  • Automatically extract key data from paper forms and documents
  • Combine it with Polly to provide audio files from processed documents

Lex

  • Service for building conversational interfaces
  • Supports both voice and text inputs
  • Uses the same technology as Amazon Alexa
  • 10000 text requests and 5000 voice requests per month available in Free Tier
  • Alternatives: Dialogflow, Azure Bot Service

Lex features

  • Speech recognition
  • Natural language understanding
  • Multi-turn conversations
  • Confirmation and error prompts
  • Intent chaining

Lex use cases

  • Customer support Messenger bots
  • Learning bots that asks questions and verify answers
  • Bots for adding voice control to connected devices e.g. smart bulbs

Summary

If you want to...

  • analyze images and videos, use Rekognition
  • generate audio from text, use Polly
  • analyze text, use Comprehend
  • recognize speech, use Transcribe
  • translate text, use Translate
  • extract text from documents, use Textract
  • build a chatbot, use Lex

Thanks!

@p_grzesik

pj.grzesik@gmail.com

Introduction to AWS Machine Learning Application Services for Pythonistas

By progressive

Introduction to AWS Machine Learning Application Services for Pythonistas

Recently, Machine Learning is rapidly gaining popularity and are being used for a variety of applications. What if you'd like to enchance your Python app with AI-capabilities, but don't have resources to develop it on your own ? AWS Machine Learning Application Services to the rescue! During my presentation, I will describe what services has AWS to offer when it comes to ML-driven APIs and I'll show how Pythonistas can leverage services like AWS Polly, AWS Rekognition or AWS Transcribe to add image analysis or text to speech conversion to their services.

  • 788