SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Alex Ingerman
Sr. Manager, Tech. Product Management, Amazon Machine Learning
2/25/2016
Real-World Smart
Applications with Amazon
Machine Learning
Agenda
• Why social media + machine learning = happy customers
• Using Amazon ML to find important social media
conversations
• Building an end-to-end application to act on these
conversations
Application details
Goal: build a smart application for social media listening in the cloud
Full source code and documentation are on GitHub:
http://bit.ly/AmazonMLCodeSample
Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Amazon
Mechanical Turk
Motivation for listening to social media
Customer is reporting a possible service issue
Motivation for listening to social media
Customer is making a feature request
Motivation for listening to social media
Customer is angry or unhappy
Motivation for listening to social media
Customer is asking a question
Why do we need machine learning for this?
The social media stream is high-volume, and most of the
messages are not CS-actionable
Amazon Machine Learning in one slide
• Easy to use, managed machine learning
service built for developers
• Robust, powerful machine learning
technology based on Amazon’s internal
systems
• Create models using your data already
stored in the AWS cloud
• Deploy models to production in seconds
Formulating the problem
We would like to…
Instantly find new tweets mentioning @awscloud, ingest and
analyze each one to predict whether a customer service agent
should act on it, and, if so, send that tweet to customer service
agents.
Formulating the problem
We would like to…
Instantly find new tweets mentioning @awscloud, ingest and
analyze each one to predict whether a customer service agent
should act on it, and, if so, send that tweet to customer service
agents.
Twitter API
Formulating the problem
We would like to…
Instantly find new tweets mentioning @awscloud, ingest and
analyze each one to predict whether a customer service agent
should act on it, and, if so, send that tweet to customer service
agents.
Twitter API Amazon
Kinesis
Formulating the problem
We would like to…
Instantly find new tweets mentioning @awscloud, ingest and
analyze each one to predict whether a customer service agent
should act on it, and, if so, send that tweet to customer service
agents.
Twitter API Amazon
Kinesis
AWS
Lambda
Formulating the problem
We would like to…
Instantly find new tweets mentioning @awscloud, ingest and
analyze each one to predict whether a customer service
agent should act on it, and, if so, send that tweet to customer
service agents.
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Formulating the problem
We would like to…
Instantly find new tweets mentioning @awscloud, ingest and
analyze each one to predict whether a customer service agent
should act on it, and, if so, send that tweet to customer
service agents.
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Building smart applications
Pick the ML
strategy
1
Prepare
dataset
2 3
Create
ML model
4
Write and
configure code
5
Try it out!
Picking the machine learning strategy
Question we want to answer:
Is this tweet customer service-actionable, or not?
Our dataset:
Text and metadata from past tweets mentioning @awscloud
Machine learning approach:
Create a binary classification model to answer a yes/no question, and
provide a confidence score
Building smart applications
Pick the ML
strategy
1
Prepare
dataset
2 3
Create
ML model
4
Write and
configure code
5
Try it out!
Retrieve past tweets
Twitter API can be used to search for tweets containing our
company’s handle (e.g., @awscloud)
import twitter
twitter_api = twitter.Api(**twitter_credentials)
twitter_handle = ‘awscloud’
search_query = '@' + twitter_handle + ' -from:' + twitter_handle
results = twitter_api.GetSearch(term=search_query, count=100, result_type='recent’)
# We can go further back in time by issuing additional search requests
Retrieve past tweets
Twitter API can be used to search for tweets containing our
company’s handle (e.g., @awscloud)
import twitter
twitter_api = twitter.Api(**twitter_credentials)
twitter_handle = ‘awscloud’
search_query = '@' + twitter_handle + ' -from:' + twitter_handle
results = twitter_api.GetSearch(term=search_query, count=100, result_type='recent')
# We can go further back in time by issuing additional search requests
Good news: data is well-structured and clean
Bad news: tweets are not categorized (labeled) for us
Labeling past tweets
Why label tweets?
(Many) machine learning algorithms work by discovering
patterns connecting data points and labels
How many tweets need to be labeled?
Several thousands to start with
Can I pay someone to do this?
Yes! Amazon Mechanical Turk is a marketplace for tasks that
require human intelligence
Creating the Mechanical Turk task
Creating the Mechanical Turk task
Creating the Mechanical Turk task
Creating the Mechanical Turk task
Creating the Mechanical Turk task
Publishing the task
Publishing the task
Preview labeling results
Sample tweets from our previously collected dataset + their labels
This column was
created from
Mechanical Turk
responses
Preview labeling results
Sample tweets and labels (most metadata fields removed for clarity)
Preview labeling results
Sample tweets and labels (most metadata fields removed for clarity)
Preview labeling results
Sample tweets and labels (most metadata fields removed for clarity)
Preview labeling results
Sample tweets and labels (most metadata fields removed for clarity)
Preview labeling results
Sample tweets and labels (most metadata fields removed for clarity)
Building smart applications
Pick the ML
strategy
1
Prepare
dataset
2 3
Create
ML model
4
Write and
configure code
5
Try it out!
Amazon ML process, in a nutshell
1. Create your datasources
Two API calls to create your training and evaluation data
Sanity-check your data in service console
2. Create your ML model
One API call to build a model, with smart default or custom setting
3. Evaluate your ML model
One API call to compute your model’s quality metric
4. Adjust your ML model
Use console to align performance trade-offs to your business goals
Create the data schema string
{
"dataFileContainsHeader": true,
"dataFormat": "CSV",
"targetAttributeName": "trainingLabel",
"attributes": [
{
"attributeName": "description",
"attributeType": "TEXT"
},
<additional attributes here>,
{
"attributeName": "trainingLabel",
"attributeType": "BINARY"
}
]
}
Schemas communicate metadata about your dataset:
• Data format
• Attributes’ names, types, and order
• Names of special attributes
Create the training datasource
import boto
ml = boto.connect_machinelearning()
data_spec = {
'DataLocationS3’ : s3_uri # E.g.: s3://my-bucket/dir/data.csv
'DataSchema’ : data_schema } # Schema string (previous slide)
# Use only the first 70% of the datasource for training.
data_spec['DataRearrangement'] = ‘{ "splitting”: {"percentBegin": 0, "percentEnd”: 70 } }’
ml.create_data_source_from_s3( data_source_id = “ds-tweets-train”,
data_source_name = “Tweet training data (70%)”,
data_spec,
compute_statistics = True)
Create the evaluation datasource
import boto
ml = boto.connect_machinelearning()
data_spec = {
'DataLocationS3’ : s3_uri # E.g.: s3://my-bucket/dir/data.csv
'DataSchema’ : data_schema } # Schema string (previous slide)
# Use the last 30% of the datasource for evaluation.
data_spec['DataRearrangement'] = ‘{ "splitting”: {"percentBegin": 70, "percentEnd”: 100 } }’
ml.create_data_source_from_s3( data_source_id = “ds-tweets-eval”,
data_source_name = “Tweet evaluation data (30%)”,
data_spec,
compute_statistics = True)
Visually inspecting training data
Create the ML model
import boto
ml = boto.connect_machinelearning()
ml.create_ml_model( ml_model_id = “ml-tweets”,
ml_model_name = “Tweets screening model”,
ml_model_type = “BINARY”,
training_data_source_id = “ds-tweets-train”)
Input data location is looked up from the training datasource ID
Default model parameters and automatic data transformations are used, or you
can provide your own
Evaluate the ML model
import boto
ml = boto.connect_machinelearning()
ml.create_evaluation( evaluation_id = “ev-tweets”,
evaluation_name = “Evaluation of tweet screening model”,
ml_model_id = “ml-tweets”,
evaluation_data_source_id = “ds-tweets-eval”)
Input data location is looked up from the evaluation datasource ID
Amazon ML automatically selects and computes an industry-standard
evaluation metric based on your ML model type
Visually inspecting and adjusting the ML model
Building smart applications
Pick the ML
strategy
1
Prepare
dataset
2 3
Create
ML model
4
Write and
configure code
5
Try it out!
Reminder: Our data flow
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Create an Amazon ML endpoint for retrieving real-
time predictions
import boto
ml = boto.connect_machinelearning()
ml.create_realtime_endpoint(“ml-tweets”)
# Endpoint information can be retrieved using the get_ml_model() method. Sample output:
#"EndpointInfo": {
# "CreatedAt": 1424378682.266,
# "EndpointStatus": "READY",
# "EndpointUrl": ”https://realtime.machinelearning.us-east-1.amazonaws.com",
# "PeakRequestsPerSecond": 200}
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Create an Amazon Kinesis stream for receiving
tweets
import boto
kinesis = boto.connect_kinesis()
kinesis.create_stream(stream_name = ‘tweetStream’, shard_count = 1)
# Each open shard can support up to 5 read transactions per second, up to a
# maximum total of 2 MB of data read per second. Each shard can support up to
# 1000 records written per second, up to a maximum total of 1 MB data written
# per second.
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Set up AWS Lambda to coordinate the data flow
The Lambda function is our application’s backbone. We will:
1. Write the code that will process and route tweets
2. Configure the Lambda execution policy (what is it allowed to do?)
3. Add the Kinesis stream as the data source for the Lambda function
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Create Lambda functions
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
// These are our function’s signatures and globals only. See GitHub repository for full source.
var ml = new AWS.MachineLearning();
var endpointUrl = '';
var mlModelId = ’ml-tweets';
var snsTopicArn = 'arn:aws:sns:{region}:{awsAccountId}:{snsTopic}';
var snsMessageSubject = 'Respond to tweet';
var snsMessagePrefix = 'ML model '+mlModelId+': Respond to this tweet:
https://twitter.com/0/status/';
var processRecords = function() {…} // Base64 decode the Kinesis payload and parse JSON
var callPredict = function(tweetData) {…} // Call Amazon ML real-time prediction API
var updateSns = function(tweetData) {…} // Publish CS-actionable tweets to SNS topic
var checkRealtimeEndpoint = function(err, data) {…} // Get Amazon ML endpoint URI
Create Lambda functions
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
// These are our function’s signatures and globals only. See GitHub repository for full source.
var ml = new AWS.MachineLearning();
var endpointUrl = '';
var mlModelId = ’ml-tweets';
var snsTopicArn = 'arn:aws:sns:{region}:{awsAccountId}:{snsTopic}';
var snsMessageSubject = 'Respond to tweet';
var snsMessagePrefix = 'ML model '+mlModelId+': Respond to this tweet:
https://twitter.com/0/status/';
var processRecords = function() {…} // Base64 decode the Kinesis payload and parse JSON
var callPredict = function(tweetData) {…} // Call Amazon ML real-time prediction API
var updateSns = function(tweetData) {…} // Publish CS-actionable tweets to SNS topic
var checkRealtimeEndpoint = function(err, data) {…} // Get Amazon ML endpoint URI
Configure Lambda execution policy
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
{ "Statement": [
{ "Action": [ "logs:*” ],
"Effect": "Allow",
"Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*"
},
{ "Action": [ "sns:publish” ],
"Effect": "Allow",
"Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}"
},
{ "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ],
"Effect": "Allow",
"Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}”
},
{ "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”,
"kinesis:DescribeStream”,"kinesis:ListStreams” ],
"Effect": "Allow",
"Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}"
}
] }
Configure Lambda execution policy
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
{ "Statement": [
{ "Action": [ "logs:*” ],
"Effect": "Allow",
"Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*"
},
{ "Action": [ "sns:publish” ],
"Effect": "Allow",
"Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}"
},
{ "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ],
"Effect": "Allow",
"Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}”
},
{ "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”,
"kinesis:DescribeStream”,"kinesis:ListStreams” ],
"Effect": "Allow",
"Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}"
}
] }
Allow request
logging in
Amazon
CloudWatch
Configure Lambda execution policy
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
{ "Statement": [
{ "Action": [ "logs:*” ],
"Effect": "Allow",
"Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*"
},
{ "Action": [ "sns:publish” ],
"Effect": "Allow",
"Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}"
},
{ "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ],
"Effect": "Allow",
"Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}”
},
{ "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”,
"kinesis:DescribeStream”,"kinesis:ListStreams” ],
"Effect": "Allow",
"Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}"
}
] }
Allow
publication of
notifications to
SNS topic
Configure Lambda execution policy
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
{ "Statement": [
{ "Action": [ "logs:*” ],
"Effect": "Allow",
"Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*"
},
{ "Action": [ "sns:publish” ],
"Effect": "Allow",
"Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}"
},
{ "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ],
"Effect": "Allow",
"Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}”
},
{ "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”,
"kinesis:DescribeStream”,"kinesis:ListStreams” ],
"Effect": "Allow",
"Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}"
}
] }
Allow calls to
Amazon ML
real-time
prediction APIs
Configure Lambda execution policy
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
{ "Statement": [
{ "Action": [ "logs:*” ],
"Effect": "Allow",
"Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*"
},
{ "Action": [ "sns:publish” ],
"Effect": "Allow",
"Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}"
},
{ "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ],
"Effect": "Allow",
"Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}”
},
{ "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”,
"kinesis:DescribeStream”,"kinesis:ListStreams” ],
"Effect": "Allow",
"Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}"
}
] }
Allow reading of
data from
Kinesis stream
Connect Kinesis stream and Lambda function
import boto
aws_lambda = boto.connect_awslambda()
aws_lambda.add_event_source(
event_source = 'arn:aws:kinesis:' + region + ':' + aws_account_id + ':stream/' + “tweetStream”,
function_name = “process_tweets”,
role = 'arn:aws:iam::' + aws_account_id + ':role/' + lambda_execution_role)
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Building smart applications
Pick the ML
strategy
1
Prepare
dataset
2 3
Create
ML model
4
Write and
configure code
5
Try it out!
Amazon ML real-time predictions test
Here is a tweet:
Amazon ML real-time predictions test
Here is the same tweet…as a JSON blob:
{
"statuses_count": "8617",
"description": "Software Developer",
"friends_count": "96",
"text": "`scala-aws-s3` A Simple Amazon #S3 Wrapper for #Scala 1.10.20 available :
https://t.co/q76PLTovFg",
"verified": "False",
"geo_enabled": "True",
"uid": "3800711",
"favourites_count": "36",
"screen_name": "turutosiya",
"followers_count": "640",
"user.name": "Toshiya TSURU",
"sid": "647222291672100864"
}
Amazon ML real-time predictions test
Let’s use the AWS Command Line Interface to request a prediction for this tweet:
aws machinelearning predict 
--predict-endpoint https://realtime.machinelearning.us-east-1.amazonaws.com 
--ml-model-id ml-tweets 
--record ‘<json_blob>’
Amazon ML real-time predictions test
Let’s use the AWS Command Line Interface to request a prediction for this tweet:
aws machinelearning predict 
--predict-endpoint https://realtime.machinelearning.us-east-1.amazonaws.com 
--ml-model-id ml-tweets 
--record ‘<json_blob>’
{
"Prediction": {
"predictedLabel": "0",
"predictedScores": {
"0": 0.012336540967226028
},
"details": {
"PredictiveModelType": "BINARY",
"Algorithm": "SGD"
}
}
}
Recap: Our application’s data flow
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
End-to-end application demo
Generalizing to more feedback channels
Amazon
Kinesis
AWS
Lambda
Model 1 Amazon
SNS
Model 2
Model 3
What’s next?
Try the service:
http://aws.amazon.com/machine-learning/
Download the Social Media Listening application code:
http://bit.ly/AmazonMLCodeSample
Get in touch!
ingerman@amazon.com
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

End-to-End Machine Learning with Amazon SageMaker
End-to-End Machine Learning with Amazon SageMakerEnd-to-End Machine Learning with Amazon SageMaker
End-to-End Machine Learning with Amazon SageMakerSungmin Kim
 
MindsDB - Machine Learning in ClickHouse - SF ClickHouse Meetup September 2020
MindsDB - Machine Learning in ClickHouse - SF ClickHouse Meetup September 2020MindsDB - Machine Learning in ClickHouse - SF ClickHouse Meetup September 2020
MindsDB - Machine Learning in ClickHouse - SF ClickHouse Meetup September 2020Altinity Ltd
 
Predictive Analytics: Getting started with Amazon Machine Learning
Predictive Analytics: Getting started with Amazon Machine LearningPredictive Analytics: Getting started with Amazon Machine Learning
Predictive Analytics: Getting started with Amazon Machine LearningAmazon Web Services
 
AWS Machine Learning Week SF: End to End Model Development Using SageMaker
AWS Machine Learning Week SF: End to End Model Development Using SageMakerAWS Machine Learning Week SF: End to End Model Development Using SageMaker
AWS Machine Learning Week SF: End to End Model Development Using SageMakerAmazon Web Services
 
Azure Machine Learning Dotnet Campus 2015
Azure Machine Learning Dotnet Campus 2015 Azure Machine Learning Dotnet Campus 2015
Azure Machine Learning Dotnet Campus 2015 antimo musone
 
Scale Machine Learning from zero to millions of users (April 2020)
Scale Machine Learning from zero to millions of users (April 2020)Scale Machine Learning from zero to millions of users (April 2020)
Scale Machine Learning from zero to millions of users (April 2020)Julien SIMON
 
Become a Machine Learning developer with AWS services (May 2019)
Become a Machine Learning developer with AWS services (May 2019)Become a Machine Learning developer with AWS services (May 2019)
Become a Machine Learning developer with AWS services (May 2019)Julien SIMON
 
Automate your Amazon SageMaker Workflows (July 2019)
Automate your Amazon SageMaker Workflows (July 2019)Automate your Amazon SageMaker Workflows (July 2019)
Automate your Amazon SageMaker Workflows (July 2019)Julien SIMON
 
Building Machine Learning Inference Pipelines at Scale (July 2019)
Building Machine Learning Inference Pipelines at Scale (July 2019)Building Machine Learning Inference Pipelines at Scale (July 2019)
Building Machine Learning Inference Pipelines at Scale (July 2019)Julien SIMON
 
Build, train and deploy ML models with SageMaker (October 2019)
Build, train and deploy ML models with SageMaker (October 2019)Build, train and deploy ML models with SageMaker (October 2019)
Build, train and deploy ML models with SageMaker (October 2019)Julien SIMON
 

Was ist angesagt? (12)

End-to-End Machine Learning with Amazon SageMaker
End-to-End Machine Learning with Amazon SageMakerEnd-to-End Machine Learning with Amazon SageMaker
End-to-End Machine Learning with Amazon SageMaker
 
Machine Learning On AWS
Machine Learning On AWSMachine Learning On AWS
Machine Learning On AWS
 
MindsDB - Machine Learning in ClickHouse - SF ClickHouse Meetup September 2020
MindsDB - Machine Learning in ClickHouse - SF ClickHouse Meetup September 2020MindsDB - Machine Learning in ClickHouse - SF ClickHouse Meetup September 2020
MindsDB - Machine Learning in ClickHouse - SF ClickHouse Meetup September 2020
 
Predictive Analytics: Getting started with Amazon Machine Learning
Predictive Analytics: Getting started with Amazon Machine LearningPredictive Analytics: Getting started with Amazon Machine Learning
Predictive Analytics: Getting started with Amazon Machine Learning
 
AWS Machine Learning Week SF: End to End Model Development Using SageMaker
AWS Machine Learning Week SF: End to End Model Development Using SageMakerAWS Machine Learning Week SF: End to End Model Development Using SageMaker
AWS Machine Learning Week SF: End to End Model Development Using SageMaker
 
Azure Machine Learning Dotnet Campus 2015
Azure Machine Learning Dotnet Campus 2015 Azure Machine Learning Dotnet Campus 2015
Azure Machine Learning Dotnet Campus 2015
 
Scale Machine Learning from zero to millions of users (April 2020)
Scale Machine Learning from zero to millions of users (April 2020)Scale Machine Learning from zero to millions of users (April 2020)
Scale Machine Learning from zero to millions of users (April 2020)
 
AWS AI 新服務探索
AWS AI 新服務探索AWS AI 新服務探索
AWS AI 新服務探索
 
Become a Machine Learning developer with AWS services (May 2019)
Become a Machine Learning developer with AWS services (May 2019)Become a Machine Learning developer with AWS services (May 2019)
Become a Machine Learning developer with AWS services (May 2019)
 
Automate your Amazon SageMaker Workflows (July 2019)
Automate your Amazon SageMaker Workflows (July 2019)Automate your Amazon SageMaker Workflows (July 2019)
Automate your Amazon SageMaker Workflows (July 2019)
 
Building Machine Learning Inference Pipelines at Scale (July 2019)
Building Machine Learning Inference Pipelines at Scale (July 2019)Building Machine Learning Inference Pipelines at Scale (July 2019)
Building Machine Learning Inference Pipelines at Scale (July 2019)
 
Build, train and deploy ML models with SageMaker (October 2019)
Build, train and deploy ML models with SageMaker (October 2019)Build, train and deploy ML models with SageMaker (October 2019)
Build, train and deploy ML models with SageMaker (October 2019)
 

Andere mochten auch

Reference - Dirk van Schalkwyk
Reference - Dirk van SchalkwykReference - Dirk van Schalkwyk
Reference - Dirk van SchalkwykPieter Duvenhage
 
Gry planszowe w edukacji, o doświadczeniach z Trzęsienia Danych, Avangarda X
Gry planszowe w edukacji, o doświadczeniach z Trzęsienia Danych, Avangarda XGry planszowe w edukacji, o doświadczeniach z Trzęsienia Danych, Avangarda X
Gry planszowe w edukacji, o doświadczeniach z Trzęsienia Danych, Avangarda XKamil Śliwowski
 
Policy matchmaking
Policy matchmakingPolicy matchmaking
Policy matchmakingkauffmanfdn
 
Community Leaders Support Omar
Community Leaders Support OmarCommunity Leaders Support Omar
Community Leaders Support OmarPeter Ortiz
 
Security Boundaries and Functions of Services for Serverless Architectures on...
Security Boundaries and Functions of Services for Serverless Architectures on...Security Boundaries and Functions of Services for Serverless Architectures on...
Security Boundaries and Functions of Services for Serverless Architectures on...AWS Germany
 
SOAP2015 - Key Challenges in Global Content Development
SOAP2015 - Key Challenges in Global Content DevelopmentSOAP2015 - Key Challenges in Global Content Development
SOAP2015 - Key Challenges in Global Content DevelopmentPiotr Peszko
 
IoT Security, Threats and Challenges By V.P.Prabhakaran
IoT Security, Threats and Challenges By V.P.PrabhakaranIoT Security, Threats and Challenges By V.P.Prabhakaran
IoT Security, Threats and Challenges By V.P.PrabhakaranKoenig Solutions Ltd.
 
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...Amazon Web Services
 
AWS re:Invent 2016| HLC301 | Data Science and Healthcare: Running Large Scale...
AWS re:Invent 2016| HLC301 | Data Science and Healthcare: Running Large Scale...AWS re:Invent 2016| HLC301 | Data Science and Healthcare: Running Large Scale...
AWS re:Invent 2016| HLC301 | Data Science and Healthcare: Running Large Scale...Amazon Web Services
 
Basic Computer Architecture
Basic Computer ArchitectureBasic Computer Architecture
Basic Computer ArchitectureYong Heui Cho
 
500 Kobe Pre-Accelerator Demo Day >> Neil Dugal of 500 Startups
500 Kobe Pre-Accelerator Demo Day >> Neil Dugal of 500 Startups500 Kobe Pre-Accelerator Demo Day >> Neil Dugal of 500 Startups
500 Kobe Pre-Accelerator Demo Day >> Neil Dugal of 500 Startups500 Startups
 
Big Data in Real-Time at Twitter
Big Data in Real-Time at TwitterBig Data in Real-Time at Twitter
Big Data in Real-Time at Twitternkallen
 

Andere mochten auch (18)

Medical Conditions2
Medical Conditions2Medical Conditions2
Medical Conditions2
 
Reference - Dirk van Schalkwyk
Reference - Dirk van SchalkwykReference - Dirk van Schalkwyk
Reference - Dirk van Schalkwyk
 
20141212165557913
2014121216555791320141212165557913
20141212165557913
 
Gry planszowe w edukacji, o doświadczeniach z Trzęsienia Danych, Avangarda X
Gry planszowe w edukacji, o doświadczeniach z Trzęsienia Danych, Avangarda XGry planszowe w edukacji, o doświadczeniach z Trzęsienia Danych, Avangarda X
Gry planszowe w edukacji, o doświadczeniach z Trzęsienia Danych, Avangarda X
 
Policy matchmaking
Policy matchmakingPolicy matchmaking
Policy matchmaking
 
Designed Art
Designed ArtDesigned Art
Designed Art
 
Community Leaders Support Omar
Community Leaders Support OmarCommunity Leaders Support Omar
Community Leaders Support Omar
 
Busia 1
Busia 1Busia 1
Busia 1
 
HCL Recognition
HCL RecognitionHCL Recognition
HCL Recognition
 
Security Boundaries and Functions of Services for Serverless Architectures on...
Security Boundaries and Functions of Services for Serverless Architectures on...Security Boundaries and Functions of Services for Serverless Architectures on...
Security Boundaries and Functions of Services for Serverless Architectures on...
 
SOAP2015 - Key Challenges in Global Content Development
SOAP2015 - Key Challenges in Global Content DevelopmentSOAP2015 - Key Challenges in Global Content Development
SOAP2015 - Key Challenges in Global Content Development
 
Can you afford not to consider sustainable ICT?
Can you afford not to consider sustainable ICT?Can you afford not to consider sustainable ICT?
Can you afford not to consider sustainable ICT?
 
IoT Security, Threats and Challenges By V.P.Prabhakaran
IoT Security, Threats and Challenges By V.P.PrabhakaranIoT Security, Threats and Challenges By V.P.Prabhakaran
IoT Security, Threats and Challenges By V.P.Prabhakaran
 
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
 
AWS re:Invent 2016| HLC301 | Data Science and Healthcare: Running Large Scale...
AWS re:Invent 2016| HLC301 | Data Science and Healthcare: Running Large Scale...AWS re:Invent 2016| HLC301 | Data Science and Healthcare: Running Large Scale...
AWS re:Invent 2016| HLC301 | Data Science and Healthcare: Running Large Scale...
 
Basic Computer Architecture
Basic Computer ArchitectureBasic Computer Architecture
Basic Computer Architecture
 
500 Kobe Pre-Accelerator Demo Day >> Neil Dugal of 500 Startups
500 Kobe Pre-Accelerator Demo Day >> Neil Dugal of 500 Startups500 Kobe Pre-Accelerator Demo Day >> Neil Dugal of 500 Startups
500 Kobe Pre-Accelerator Demo Day >> Neil Dugal of 500 Startups
 
Big Data in Real-Time at Twitter
Big Data in Real-Time at TwitterBig Data in Real-Time at Twitter
Big Data in Real-Time at Twitter
 

Ähnlich wie Real-World Smart Applications with Amazon Machine Learning - AWS Machine Learning Web Day

Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...PAPIs.io
 
使用Amazon Machine Learning 建立即時推薦引擎
使用Amazon Machine Learning 建立即時推薦引擎使用Amazon Machine Learning 建立即時推薦引擎
使用Amazon Machine Learning 建立即時推薦引擎Amazon Web Services
 
Build a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-timeBuild a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-timeAmazon Web Services
 
Amazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Web Services
 
Amazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Web Services
 
Getting Started with Amazon Machine Learning
Getting Started with Amazon Machine LearningGetting Started with Amazon Machine Learning
Getting Started with Amazon Machine LearningAmazon Web Services
 
Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...
Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...
Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...Amazon Web Services
 
Amazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Web Services
 
Machine Learning for Developers
Machine Learning for DevelopersMachine Learning for Developers
Machine Learning for DevelopersDanilo Poccia
 
Getting Started with Amazon Machine Learning
Getting Started with Amazon Machine LearningGetting Started with Amazon Machine Learning
Getting Started with Amazon Machine LearningAmazon Web Services
 
Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...
Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...
Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...goodfriday
 
Amazon Machine Learning Workshop (實作工作坊)
Amazon Machine Learning Workshop (實作工作坊)Amazon Machine Learning Workshop (實作工作坊)
Amazon Machine Learning Workshop (實作工作坊)Amazon Web Services
 
Amazon Machine Learning #AWSLoft Berlin
Amazon Machine Learning #AWSLoft BerlinAmazon Machine Learning #AWSLoft Berlin
Amazon Machine Learning #AWSLoft BerlinAWS Germany
 
Building a Serverless AI Powered Twitter Bot: Collision 2018
Building a Serverless AI Powered Twitter Bot: Collision 2018Building a Serverless AI Powered Twitter Bot: Collision 2018
Building a Serverless AI Powered Twitter Bot: Collision 2018Amazon Web Services
 
Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...
Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...
Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...Amazon Web Services
 
MongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB
 
Machine Learning as a Service with Amazon Machine Learning
Machine Learning as a Service with Amazon Machine LearningMachine Learning as a Service with Amazon Machine Learning
Machine Learning as a Service with Amazon Machine LearningJulien SIMON
 

Ähnlich wie Real-World Smart Applications with Amazon Machine Learning - AWS Machine Learning Web Day (20)

Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
 
使用Amazon Machine Learning 建立即時推薦引擎
使用Amazon Machine Learning 建立即時推薦引擎使用Amazon Machine Learning 建立即時推薦引擎
使用Amazon Machine Learning 建立即時推薦引擎
 
Build a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-timeBuild a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-time
 
Amazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart Applications
 
Amazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart Applications
 
Amazon Machine Learning
Amazon Machine LearningAmazon Machine Learning
Amazon Machine Learning
 
Getting Started with Amazon Machine Learning
Getting Started with Amazon Machine LearningGetting Started with Amazon Machine Learning
Getting Started with Amazon Machine Learning
 
Amazon Machine Learning
Amazon Machine LearningAmazon Machine Learning
Amazon Machine Learning
 
Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...
Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...
Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...
 
Amazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart Applications
 
Machine Learning for Developers
Machine Learning for DevelopersMachine Learning for Developers
Machine Learning for Developers
 
Getting Started with Amazon Machine Learning
Getting Started with Amazon Machine LearningGetting Started with Amazon Machine Learning
Getting Started with Amazon Machine Learning
 
Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...
Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...
Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...
 
Amazon Machine Learning Workshop (實作工作坊)
Amazon Machine Learning Workshop (實作工作坊)Amazon Machine Learning Workshop (實作工作坊)
Amazon Machine Learning Workshop (實作工作坊)
 
Amazon Machine Learning #AWSLoft Berlin
Amazon Machine Learning #AWSLoft BerlinAmazon Machine Learning #AWSLoft Berlin
Amazon Machine Learning #AWSLoft Berlin
 
Building a Serverless AI Powered Twitter Bot: Collision 2018
Building a Serverless AI Powered Twitter Bot: Collision 2018Building a Serverless AI Powered Twitter Bot: Collision 2018
Building a Serverless AI Powered Twitter Bot: Collision 2018
 
Where ml ai_heavy
Where ml ai_heavyWhere ml ai_heavy
Where ml ai_heavy
 
Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...
Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...
Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...
 
MongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google Cloud
 
Machine Learning as a Service with Amazon Machine Learning
Machine Learning as a Service with Amazon Machine LearningMachine Learning as a Service with Amazon Machine Learning
Machine Learning as a Service with Amazon Machine Learning
 

Mehr von AWS Germany

Analytics Web Day | From Theory to Practice: Big Data Stories from the Field
Analytics Web Day | From Theory to Practice: Big Data Stories from the FieldAnalytics Web Day | From Theory to Practice: Big Data Stories from the Field
Analytics Web Day | From Theory to Practice: Big Data Stories from the FieldAWS Germany
 
Analytics Web Day | Query your Data in S3 with SQL and optimize for Cost and ...
Analytics Web Day | Query your Data in S3 with SQL and optimize for Cost and ...Analytics Web Day | Query your Data in S3 with SQL and optimize for Cost and ...
Analytics Web Day | Query your Data in S3 with SQL and optimize for Cost and ...AWS Germany
 
Modern Applications Web Day | Impress Your Friends with Your First Serverless...
Modern Applications Web Day | Impress Your Friends with Your First Serverless...Modern Applications Web Day | Impress Your Friends with Your First Serverless...
Modern Applications Web Day | Impress Your Friends with Your First Serverless...AWS Germany
 
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...AWS Germany
 
Modern Applications Web Day | Container Workloads on AWS
Modern Applications Web Day | Container Workloads on AWSModern Applications Web Day | Container Workloads on AWS
Modern Applications Web Day | Container Workloads on AWSAWS Germany
 
Modern Applications Web Day | Continuous Delivery to Amazon EKS with Spinnaker
Modern Applications Web Day | Continuous Delivery to Amazon EKS with SpinnakerModern Applications Web Day | Continuous Delivery to Amazon EKS with Spinnaker
Modern Applications Web Day | Continuous Delivery to Amazon EKS with SpinnakerAWS Germany
 
Building Smart Home skills for Alexa
Building Smart Home skills for AlexaBuilding Smart Home skills for Alexa
Building Smart Home skills for AlexaAWS Germany
 
Hotel or Taxi? "Sorting hat" for travel expenses with AWS ML infrastructure
Hotel or Taxi? "Sorting hat" for travel expenses with AWS ML infrastructureHotel or Taxi? "Sorting hat" for travel expenses with AWS ML infrastructure
Hotel or Taxi? "Sorting hat" for travel expenses with AWS ML infrastructureAWS Germany
 
Wild Rydes with Big Data/Kinesis focus: AWS Serverless Workshop
Wild Rydes with Big Data/Kinesis focus: AWS Serverless WorkshopWild Rydes with Big Data/Kinesis focus: AWS Serverless Workshop
Wild Rydes with Big Data/Kinesis focus: AWS Serverless WorkshopAWS Germany
 
Log Analytics with AWS
Log Analytics with AWSLog Analytics with AWS
Log Analytics with AWSAWS Germany
 
Deep Dive into Concepts and Tools for Analyzing Streaming Data on AWS
Deep Dive into Concepts and Tools for Analyzing Streaming Data on AWS Deep Dive into Concepts and Tools for Analyzing Streaming Data on AWS
Deep Dive into Concepts and Tools for Analyzing Streaming Data on AWS AWS Germany
 
AWS Programme für Nonprofits
AWS Programme für NonprofitsAWS Programme für Nonprofits
AWS Programme für NonprofitsAWS Germany
 
Microservices and Data Design
Microservices and Data DesignMicroservices and Data Design
Microservices and Data DesignAWS Germany
 
Serverless vs. Developers – the real crash
Serverless vs. Developers – the real crashServerless vs. Developers – the real crash
Serverless vs. Developers – the real crashAWS Germany
 
Query your data in S3 with SQL and optimize for cost and performance
Query your data in S3 with SQL and optimize for cost and performanceQuery your data in S3 with SQL and optimize for cost and performance
Query your data in S3 with SQL and optimize for cost and performanceAWS Germany
 
Secret Management with Hashicorp’s Vault
Secret Management with Hashicorp’s VaultSecret Management with Hashicorp’s Vault
Secret Management with Hashicorp’s VaultAWS Germany
 
Scale to Infinity with ECS
Scale to Infinity with ECSScale to Infinity with ECS
Scale to Infinity with ECSAWS Germany
 
Containers on AWS - State of the Union
Containers on AWS - State of the UnionContainers on AWS - State of the Union
Containers on AWS - State of the UnionAWS Germany
 
Deploying and Scaling Your First Cloud Application with Amazon Lightsail
Deploying and Scaling Your First Cloud Application with Amazon LightsailDeploying and Scaling Your First Cloud Application with Amazon Lightsail
Deploying and Scaling Your First Cloud Application with Amazon LightsailAWS Germany
 

Mehr von AWS Germany (20)

Analytics Web Day | From Theory to Practice: Big Data Stories from the Field
Analytics Web Day | From Theory to Practice: Big Data Stories from the FieldAnalytics Web Day | From Theory to Practice: Big Data Stories from the Field
Analytics Web Day | From Theory to Practice: Big Data Stories from the Field
 
Analytics Web Day | Query your Data in S3 with SQL and optimize for Cost and ...
Analytics Web Day | Query your Data in S3 with SQL and optimize for Cost and ...Analytics Web Day | Query your Data in S3 with SQL and optimize for Cost and ...
Analytics Web Day | Query your Data in S3 with SQL and optimize for Cost and ...
 
Modern Applications Web Day | Impress Your Friends with Your First Serverless...
Modern Applications Web Day | Impress Your Friends with Your First Serverless...Modern Applications Web Day | Impress Your Friends with Your First Serverless...
Modern Applications Web Day | Impress Your Friends with Your First Serverless...
 
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
 
Modern Applications Web Day | Container Workloads on AWS
Modern Applications Web Day | Container Workloads on AWSModern Applications Web Day | Container Workloads on AWS
Modern Applications Web Day | Container Workloads on AWS
 
Modern Applications Web Day | Continuous Delivery to Amazon EKS with Spinnaker
Modern Applications Web Day | Continuous Delivery to Amazon EKS with SpinnakerModern Applications Web Day | Continuous Delivery to Amazon EKS with Spinnaker
Modern Applications Web Day | Continuous Delivery to Amazon EKS with Spinnaker
 
Building Smart Home skills for Alexa
Building Smart Home skills for AlexaBuilding Smart Home skills for Alexa
Building Smart Home skills for Alexa
 
Hotel or Taxi? "Sorting hat" for travel expenses with AWS ML infrastructure
Hotel or Taxi? "Sorting hat" for travel expenses with AWS ML infrastructureHotel or Taxi? "Sorting hat" for travel expenses with AWS ML infrastructure
Hotel or Taxi? "Sorting hat" for travel expenses with AWS ML infrastructure
 
Wild Rydes with Big Data/Kinesis focus: AWS Serverless Workshop
Wild Rydes with Big Data/Kinesis focus: AWS Serverless WorkshopWild Rydes with Big Data/Kinesis focus: AWS Serverless Workshop
Wild Rydes with Big Data/Kinesis focus: AWS Serverless Workshop
 
Log Analytics with AWS
Log Analytics with AWSLog Analytics with AWS
Log Analytics with AWS
 
Deep Dive into Concepts and Tools for Analyzing Streaming Data on AWS
Deep Dive into Concepts and Tools for Analyzing Streaming Data on AWS Deep Dive into Concepts and Tools for Analyzing Streaming Data on AWS
Deep Dive into Concepts and Tools for Analyzing Streaming Data on AWS
 
AWS Programme für Nonprofits
AWS Programme für NonprofitsAWS Programme für Nonprofits
AWS Programme für Nonprofits
 
Microservices and Data Design
Microservices and Data DesignMicroservices and Data Design
Microservices and Data Design
 
Serverless vs. Developers – the real crash
Serverless vs. Developers – the real crashServerless vs. Developers – the real crash
Serverless vs. Developers – the real crash
 
Query your data in S3 with SQL and optimize for cost and performance
Query your data in S3 with SQL and optimize for cost and performanceQuery your data in S3 with SQL and optimize for cost and performance
Query your data in S3 with SQL and optimize for cost and performance
 
Secret Management with Hashicorp’s Vault
Secret Management with Hashicorp’s VaultSecret Management with Hashicorp’s Vault
Secret Management with Hashicorp’s Vault
 
EKS Workshop
 EKS Workshop EKS Workshop
EKS Workshop
 
Scale to Infinity with ECS
Scale to Infinity with ECSScale to Infinity with ECS
Scale to Infinity with ECS
 
Containers on AWS - State of the Union
Containers on AWS - State of the UnionContainers on AWS - State of the Union
Containers on AWS - State of the Union
 
Deploying and Scaling Your First Cloud Application with Amazon Lightsail
Deploying and Scaling Your First Cloud Application with Amazon LightsailDeploying and Scaling Your First Cloud Application with Amazon Lightsail
Deploying and Scaling Your First Cloud Application with Amazon Lightsail
 

Kürzlich hochgeladen

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Real-World Smart Applications with Amazon Machine Learning - AWS Machine Learning Web Day

  • 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Alex Ingerman Sr. Manager, Tech. Product Management, Amazon Machine Learning 2/25/2016 Real-World Smart Applications with Amazon Machine Learning
  • 2. Agenda • Why social media + machine learning = happy customers • Using Amazon ML to find important social media conversations • Building an end-to-end application to act on these conversations
  • 3. Application details Goal: build a smart application for social media listening in the cloud Full source code and documentation are on GitHub: http://bit.ly/AmazonMLCodeSample Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS Amazon Mechanical Turk
  • 4. Motivation for listening to social media Customer is reporting a possible service issue
  • 5. Motivation for listening to social media Customer is making a feature request
  • 6. Motivation for listening to social media Customer is angry or unhappy
  • 7. Motivation for listening to social media Customer is asking a question
  • 8. Why do we need machine learning for this? The social media stream is high-volume, and most of the messages are not CS-actionable
  • 9. Amazon Machine Learning in one slide • Easy to use, managed machine learning service built for developers • Robust, powerful machine learning technology based on Amazon’s internal systems • Create models using your data already stored in the AWS cloud • Deploy models to production in seconds
  • 10. Formulating the problem We would like to… Instantly find new tweets mentioning @awscloud, ingest and analyze each one to predict whether a customer service agent should act on it, and, if so, send that tweet to customer service agents.
  • 11. Formulating the problem We would like to… Instantly find new tweets mentioning @awscloud, ingest and analyze each one to predict whether a customer service agent should act on it, and, if so, send that tweet to customer service agents. Twitter API
  • 12. Formulating the problem We would like to… Instantly find new tweets mentioning @awscloud, ingest and analyze each one to predict whether a customer service agent should act on it, and, if so, send that tweet to customer service agents. Twitter API Amazon Kinesis
  • 13. Formulating the problem We would like to… Instantly find new tweets mentioning @awscloud, ingest and analyze each one to predict whether a customer service agent should act on it, and, if so, send that tweet to customer service agents. Twitter API Amazon Kinesis AWS Lambda
  • 14. Formulating the problem We would like to… Instantly find new tweets mentioning @awscloud, ingest and analyze each one to predict whether a customer service agent should act on it, and, if so, send that tweet to customer service agents. Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning
  • 15. Formulating the problem We would like to… Instantly find new tweets mentioning @awscloud, ingest and analyze each one to predict whether a customer service agent should act on it, and, if so, send that tweet to customer service agents. Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 16. Building smart applications Pick the ML strategy 1 Prepare dataset 2 3 Create ML model 4 Write and configure code 5 Try it out!
  • 17. Picking the machine learning strategy Question we want to answer: Is this tweet customer service-actionable, or not? Our dataset: Text and metadata from past tweets mentioning @awscloud Machine learning approach: Create a binary classification model to answer a yes/no question, and provide a confidence score
  • 18. Building smart applications Pick the ML strategy 1 Prepare dataset 2 3 Create ML model 4 Write and configure code 5 Try it out!
  • 19. Retrieve past tweets Twitter API can be used to search for tweets containing our company’s handle (e.g., @awscloud) import twitter twitter_api = twitter.Api(**twitter_credentials) twitter_handle = ‘awscloud’ search_query = '@' + twitter_handle + ' -from:' + twitter_handle results = twitter_api.GetSearch(term=search_query, count=100, result_type='recent’) # We can go further back in time by issuing additional search requests
  • 20. Retrieve past tweets Twitter API can be used to search for tweets containing our company’s handle (e.g., @awscloud) import twitter twitter_api = twitter.Api(**twitter_credentials) twitter_handle = ‘awscloud’ search_query = '@' + twitter_handle + ' -from:' + twitter_handle results = twitter_api.GetSearch(term=search_query, count=100, result_type='recent') # We can go further back in time by issuing additional search requests Good news: data is well-structured and clean Bad news: tweets are not categorized (labeled) for us
  • 21. Labeling past tweets Why label tweets? (Many) machine learning algorithms work by discovering patterns connecting data points and labels How many tweets need to be labeled? Several thousands to start with Can I pay someone to do this? Yes! Amazon Mechanical Turk is a marketplace for tasks that require human intelligence
  • 29. Preview labeling results Sample tweets from our previously collected dataset + their labels This column was created from Mechanical Turk responses
  • 30. Preview labeling results Sample tweets and labels (most metadata fields removed for clarity)
  • 31. Preview labeling results Sample tweets and labels (most metadata fields removed for clarity)
  • 32. Preview labeling results Sample tweets and labels (most metadata fields removed for clarity)
  • 33. Preview labeling results Sample tweets and labels (most metadata fields removed for clarity)
  • 34. Preview labeling results Sample tweets and labels (most metadata fields removed for clarity)
  • 35. Building smart applications Pick the ML strategy 1 Prepare dataset 2 3 Create ML model 4 Write and configure code 5 Try it out!
  • 36. Amazon ML process, in a nutshell 1. Create your datasources Two API calls to create your training and evaluation data Sanity-check your data in service console 2. Create your ML model One API call to build a model, with smart default or custom setting 3. Evaluate your ML model One API call to compute your model’s quality metric 4. Adjust your ML model Use console to align performance trade-offs to your business goals
  • 37. Create the data schema string { "dataFileContainsHeader": true, "dataFormat": "CSV", "targetAttributeName": "trainingLabel", "attributes": [ { "attributeName": "description", "attributeType": "TEXT" }, <additional attributes here>, { "attributeName": "trainingLabel", "attributeType": "BINARY" } ] } Schemas communicate metadata about your dataset: • Data format • Attributes’ names, types, and order • Names of special attributes
  • 38. Create the training datasource import boto ml = boto.connect_machinelearning() data_spec = { 'DataLocationS3’ : s3_uri # E.g.: s3://my-bucket/dir/data.csv 'DataSchema’ : data_schema } # Schema string (previous slide) # Use only the first 70% of the datasource for training. data_spec['DataRearrangement'] = ‘{ "splitting”: {"percentBegin": 0, "percentEnd”: 70 } }’ ml.create_data_source_from_s3( data_source_id = “ds-tweets-train”, data_source_name = “Tweet training data (70%)”, data_spec, compute_statistics = True)
  • 39. Create the evaluation datasource import boto ml = boto.connect_machinelearning() data_spec = { 'DataLocationS3’ : s3_uri # E.g.: s3://my-bucket/dir/data.csv 'DataSchema’ : data_schema } # Schema string (previous slide) # Use the last 30% of the datasource for evaluation. data_spec['DataRearrangement'] = ‘{ "splitting”: {"percentBegin": 70, "percentEnd”: 100 } }’ ml.create_data_source_from_s3( data_source_id = “ds-tweets-eval”, data_source_name = “Tweet evaluation data (30%)”, data_spec, compute_statistics = True)
  • 41. Create the ML model import boto ml = boto.connect_machinelearning() ml.create_ml_model( ml_model_id = “ml-tweets”, ml_model_name = “Tweets screening model”, ml_model_type = “BINARY”, training_data_source_id = “ds-tweets-train”) Input data location is looked up from the training datasource ID Default model parameters and automatic data transformations are used, or you can provide your own
  • 42. Evaluate the ML model import boto ml = boto.connect_machinelearning() ml.create_evaluation( evaluation_id = “ev-tweets”, evaluation_name = “Evaluation of tweet screening model”, ml_model_id = “ml-tweets”, evaluation_data_source_id = “ds-tweets-eval”) Input data location is looked up from the evaluation datasource ID Amazon ML automatically selects and computes an industry-standard evaluation metric based on your ML model type
  • 43. Visually inspecting and adjusting the ML model
  • 44. Building smart applications Pick the ML strategy 1 Prepare dataset 2 3 Create ML model 4 Write and configure code 5 Try it out!
  • 45. Reminder: Our data flow Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 46. Create an Amazon ML endpoint for retrieving real- time predictions import boto ml = boto.connect_machinelearning() ml.create_realtime_endpoint(“ml-tweets”) # Endpoint information can be retrieved using the get_ml_model() method. Sample output: #"EndpointInfo": { # "CreatedAt": 1424378682.266, # "EndpointStatus": "READY", # "EndpointUrl": ”https://realtime.machinelearning.us-east-1.amazonaws.com", # "PeakRequestsPerSecond": 200} Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 47. Create an Amazon Kinesis stream for receiving tweets import boto kinesis = boto.connect_kinesis() kinesis.create_stream(stream_name = ‘tweetStream’, shard_count = 1) # Each open shard can support up to 5 read transactions per second, up to a # maximum total of 2 MB of data read per second. Each shard can support up to # 1000 records written per second, up to a maximum total of 1 MB data written # per second. Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 48. Set up AWS Lambda to coordinate the data flow The Lambda function is our application’s backbone. We will: 1. Write the code that will process and route tweets 2. Configure the Lambda execution policy (what is it allowed to do?) 3. Add the Kinesis stream as the data source for the Lambda function Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 49. Create Lambda functions Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS // These are our function’s signatures and globals only. See GitHub repository for full source. var ml = new AWS.MachineLearning(); var endpointUrl = ''; var mlModelId = ’ml-tweets'; var snsTopicArn = 'arn:aws:sns:{region}:{awsAccountId}:{snsTopic}'; var snsMessageSubject = 'Respond to tweet'; var snsMessagePrefix = 'ML model '+mlModelId+': Respond to this tweet: https://twitter.com/0/status/'; var processRecords = function() {…} // Base64 decode the Kinesis payload and parse JSON var callPredict = function(tweetData) {…} // Call Amazon ML real-time prediction API var updateSns = function(tweetData) {…} // Publish CS-actionable tweets to SNS topic var checkRealtimeEndpoint = function(err, data) {…} // Get Amazon ML endpoint URI
  • 50. Create Lambda functions Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS // These are our function’s signatures and globals only. See GitHub repository for full source. var ml = new AWS.MachineLearning(); var endpointUrl = ''; var mlModelId = ’ml-tweets'; var snsTopicArn = 'arn:aws:sns:{region}:{awsAccountId}:{snsTopic}'; var snsMessageSubject = 'Respond to tweet'; var snsMessagePrefix = 'ML model '+mlModelId+': Respond to this tweet: https://twitter.com/0/status/'; var processRecords = function() {…} // Base64 decode the Kinesis payload and parse JSON var callPredict = function(tweetData) {…} // Call Amazon ML real-time prediction API var updateSns = function(tweetData) {…} // Publish CS-actionable tweets to SNS topic var checkRealtimeEndpoint = function(err, data) {…} // Get Amazon ML endpoint URI
  • 51. Configure Lambda execution policy Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS { "Statement": [ { "Action": [ "logs:*” ], "Effect": "Allow", "Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*" }, { "Action": [ "sns:publish” ], "Effect": "Allow", "Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}" }, { "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ], "Effect": "Allow", "Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}” }, { "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”, "kinesis:DescribeStream”,"kinesis:ListStreams” ], "Effect": "Allow", "Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}" } ] }
  • 52. Configure Lambda execution policy Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS { "Statement": [ { "Action": [ "logs:*” ], "Effect": "Allow", "Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*" }, { "Action": [ "sns:publish” ], "Effect": "Allow", "Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}" }, { "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ], "Effect": "Allow", "Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}” }, { "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”, "kinesis:DescribeStream”,"kinesis:ListStreams” ], "Effect": "Allow", "Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}" } ] } Allow request logging in Amazon CloudWatch
  • 53. Configure Lambda execution policy Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS { "Statement": [ { "Action": [ "logs:*” ], "Effect": "Allow", "Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*" }, { "Action": [ "sns:publish” ], "Effect": "Allow", "Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}" }, { "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ], "Effect": "Allow", "Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}” }, { "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”, "kinesis:DescribeStream”,"kinesis:ListStreams” ], "Effect": "Allow", "Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}" } ] } Allow publication of notifications to SNS topic
  • 54. Configure Lambda execution policy Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS { "Statement": [ { "Action": [ "logs:*” ], "Effect": "Allow", "Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*" }, { "Action": [ "sns:publish” ], "Effect": "Allow", "Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}" }, { "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ], "Effect": "Allow", "Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}” }, { "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”, "kinesis:DescribeStream”,"kinesis:ListStreams” ], "Effect": "Allow", "Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}" } ] } Allow calls to Amazon ML real-time prediction APIs
  • 55. Configure Lambda execution policy Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS { "Statement": [ { "Action": [ "logs:*” ], "Effect": "Allow", "Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*" }, { "Action": [ "sns:publish” ], "Effect": "Allow", "Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}" }, { "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ], "Effect": "Allow", "Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}” }, { "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”, "kinesis:DescribeStream”,"kinesis:ListStreams” ], "Effect": "Allow", "Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}" } ] } Allow reading of data from Kinesis stream
  • 56. Connect Kinesis stream and Lambda function import boto aws_lambda = boto.connect_awslambda() aws_lambda.add_event_source( event_source = 'arn:aws:kinesis:' + region + ':' + aws_account_id + ':stream/' + “tweetStream”, function_name = “process_tweets”, role = 'arn:aws:iam::' + aws_account_id + ':role/' + lambda_execution_role) Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 57. Building smart applications Pick the ML strategy 1 Prepare dataset 2 3 Create ML model 4 Write and configure code 5 Try it out!
  • 58. Amazon ML real-time predictions test Here is a tweet:
  • 59. Amazon ML real-time predictions test Here is the same tweet…as a JSON blob: { "statuses_count": "8617", "description": "Software Developer", "friends_count": "96", "text": "`scala-aws-s3` A Simple Amazon #S3 Wrapper for #Scala 1.10.20 available : https://t.co/q76PLTovFg", "verified": "False", "geo_enabled": "True", "uid": "3800711", "favourites_count": "36", "screen_name": "turutosiya", "followers_count": "640", "user.name": "Toshiya TSURU", "sid": "647222291672100864" }
  • 60. Amazon ML real-time predictions test Let’s use the AWS Command Line Interface to request a prediction for this tweet: aws machinelearning predict --predict-endpoint https://realtime.machinelearning.us-east-1.amazonaws.com --ml-model-id ml-tweets --record ‘<json_blob>’
  • 61. Amazon ML real-time predictions test Let’s use the AWS Command Line Interface to request a prediction for this tweet: aws machinelearning predict --predict-endpoint https://realtime.machinelearning.us-east-1.amazonaws.com --ml-model-id ml-tweets --record ‘<json_blob>’ { "Prediction": { "predictedLabel": "0", "predictedScores": { "0": 0.012336540967226028 }, "details": { "PredictiveModelType": "BINARY", "Algorithm": "SGD" } } }
  • 62. Recap: Our application’s data flow Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 64. Generalizing to more feedback channels Amazon Kinesis AWS Lambda Model 1 Amazon SNS Model 2 Model 3
  • 65. What’s next? Try the service: http://aws.amazon.com/machine-learning/ Download the Social Media Listening application code: http://bit.ly/AmazonMLCodeSample Get in touch! ingerman@amazon.com