setting up a machine learning platform
TRANSCRIPT
Monitoring social media the“smart” way.
SETTING UP A MACHINE LEARNING PLATFORM
TODAY’S EXAMPLES
● “Classic” learning — Social media monitor○ 10xnation.com/social-customer-care-amazon-machine-learning
● “Deep” learning — Extending the social monitor○ 10xnation.com/social-customer-care-ibm-watson
● Gathering data — Website traffic○ https://10xnation.com/wordpress-analytics
“CLASSIC” LEARNING
Example #2: A social media monitor using Amazon Machine Learning
THE PROBLEM
Too many social media posts to track and read.
Many of our customers/prospects are feeling neglected because we don’t have the resources to
read and respond to all of them.
Need a way to filter them down to only the ones where the sender is expecting a response.
THE QUESTION
Is this tweet actionable?
DETERMINING THE ANSWER
Is the sender…
● Making a request● Asking a question● Reporting a problem● Angry or Unhappy● None of the above
Actionable?
Yes (1)Yes (1)Yes (1)Yes (1)No (0)
THE SOLUTION
Use Amazon Machine Learning to analyze a Twitter stream in real-time and make a determination about
whether or not a tweet requires a response. (binary classification: yes or no)
Then route the positives to a customer service agent.
Based on: github.com/awslabs/machine-learning-samples/tree/master/social-media
Speechto Text
Sentiment Analysis
Actionable Analysis
Customer Support
PREDICTIVE ENGAGEMENT
Customer support call recordings
Convert audiointo text
Analyze formood keywords
Determine ifresponse is required
Reach out to customer/prospect
Blog & community comments
Social media mentions
Press & blog coverage
Customer support chat
Product reviews
Inbound emails
BREAK IT DOWN
Twitter API
Mechanical Turk
Amazon Kinesis
Amazon Machine Learning
Amazon Lamda
Model
Amazon SNS
Customer Service
Labels training data
Responds to tweets
Forwards “actionable” tweets to support team
Captures Twitter stream
Relays tweets between Kinesis, ML & SNS
Classifies tweets as “actionable” or not
END RESULT
Your staff doesn’t have to read each tweet, andyour customers feel appreciated and happy.
THE FEATUREScreated_at_in_secondsdescriptionfavorite_countfavoritedfavourites_countfollowers_countfriends_countgeo_enabledin_reply_to_screen_namein_reply_to_status_idin_reply_to_user_idlocationr.created_at_in_secondsr.descriptionr.favorite_count
r.favoritedr.favourites_countr.followers_countr.friends_countr.geo_enabledr.in_reply_to_screen_namer.in_reply_to_status_idr.in_reply_to_user_idr.locationr.retweet_countr.screen_namer.sidr.statuses_countr.textr.time_zone
r.uidr.user.namer.utc_offsetr.verifiedretweet_countscreen_namesidstatuses_counttexttime_zoneuiduser.nameutc_offsetverifiedtrainingLabel
TRAINING DATA
docs.google.com/spreadsheets/d/1Vgo67s8swCeE9_1G9uXOxiRY0l4OJrwFSn4XXpXilMI/edit
Warning: Live social media content.
10xnation.com/social-customer-care-amazon-machine-learning
STEP BY STEP GUIDE
● Step 1: Requirements ● Step 2: Gather training data ● Step 3: Prepare raw tweets for labeling● Step 4: Submit job to Mechanical Turk ● Step 5: Format labeled data ● Step 9: Upload training data to S3
● Step 7: Generate the Model ● Step 8: Configure Machine Learning ● Step 9: Configure Kinesis ● Step 10: Configure IAM ● Step 11: Configure SNS ● Step 12: Configure Lambda ● Step 13: Configure Twitter ● Step 14: Fire it up
“DEEP” LEARNING
Example #2: A social media monitor using IBM Watson
EXTENDING THE SOCIAL MONITOR
Let’s make our new social media monitor even better…
● Wrap a UI around it● Pre-populate a tweet response● Categorizes topic of each tweet● Determine sentiment of each tweet● Provide insight into personality of sender
THE SOLUTION
Use IBM Watson to analyze a Twitter stream in real-time and determine…
● Sentiment● If response required● Type of response required
Based on: github.com/watson-developer-cloud/social-customer-care
Speechto Text
Sentiment Analysis
Actionable Analysis
Customer Support
PREDICTIVE ENGAGEMENT
Customer support call recordings
Convert audiointo text
Analyze formood keywords
Determine ifresponse is required
Reach out to customer/prospect
Blog & community comments
Social media mentions
Press & blog coverage
Customer support chat
Product reviews
Inbound emails
Twitter API
AlchemyAPI
Responds to tweets
Customer Service
User Interface
Model
Personality Insights
Tone Analyzer
Natural Language Classifier
Analyzes sender’s prior tweets to estimate their
personality
Sentiment analysis of tweet stream
Classify topics in tweet stream
Analyzes sender’s prior tweets to determine common topics
END RESULT
A “smart” application that streamlines your customer service processes on Twitter.
TRAINING DATA
docs.google.com/spreadsheets/d/1daGb3Kai1gN9WUgnfFnzmwavnmCaKdvdgaj2fhlvYe0/edit
Warning: Live social media content.
STEP BY STEP GUIDE10xnation.com/social-customer-care-ibm-watson
● Step 1: Requirements ● Step 2: Configure Natural Language Classifier ● Step 3: Configure Alchemy Language ● Step 4: Configure Personality Insights ● Step 5: Configure Tone Analyzer ● Step 6: Configure Twitter ● Step 7: Train the Natural Language Classifier ● Step 8: Create the application ● Step 9: Fire it up
ENDLESS POSSIBILITIES
● Give customer service agents a way to provide feedback on the system’s accuracy
● Capture the agent’s feedback and tweet responses● Use new data to further refine prediction accuracy● Automate more and more as system gets “smarter”
GATHERING DATA
Example #3: Capturing website traffic data using WordPress
THE PROBLEM
To make accurate predictions and insights, we need data. The more, the better.
But most of us don’t have much data today.
THE QUESTION
How can we gather more data from our website,so we can better understand our visitors
— and predict their behavior.
THE SOLUTION
We’ll use WordPress for this example.
And we’ll capture as much data from it as we can.
STEP BY STEP GUIDE
10xnation.com/wordpress-analytics
● Step 1: Webserver Data ● Step 2: PHP Data ● Step 3: WordPress Data ● Step 4: Browsing Data
THOUGHTS?
Hurdles looking easier to navigate?
UNLEASH YOUR BUSINESSEMBRACE EXPONENTIAL
10xnation.com