1 Machine Learning Best Practices with Alfresco & ActivitiJason Jolley Hi There! My name is Jason Jolley. I am the Director of Application Development for Micro Strategies – A US based Alfresco partner. Today I’d like to talk about Machine Learning Best Practices with Alfresco and Activiti. Please don’t hesitate to ask questions as we go through the presentation.
2 Goal
3 Empower everyone to use Machine Learning in Content and Process Services.By the end of this session I hope you will have enough information to get started building your own solutions.
4 Want to build your own Cognitive Process?Download an Activiti Enterprise Trial Sign up for a free IBM BlueMix Account [No Credit Card Required] Configure an Activiti Endpoint to the BlueMix Watson service of your choosing. Enjoy! You will be able to create your very own Cognitive Process POC without writing any code! Back to this near the end of the presentation How many of you have worked with Activiti Enterprise? Before we get to deep – here is some very high level instructions on how to get setup. While this session isn’t a tutorial – if you are so inclined, you can get started with Cognitive Services while we are talking
5 Agenda
6 Agenda Machine Learning Overview Common Tools & ServicesPatterns Applied to Alfresco and Activiti
7 Machine Learning?
8 What is Machine Learning?An Overused Buzzword A Transformative Technology A Confusing Mess All of the above
9 What is Machine Learning?“A field of study that gives computers the ability to learn without being explicitly programmed.” -Dr. Arthur Samuel Think: “The algorithms to accomplish a task.”
10 What about “Cognitive Computing”?For most of us – Machine Learning and Cognitive Computing are analogous. Cognitive computing leverages machine learning and other AI to emulate Human Cognition. Most of the major vendors now brand themselves with ‘Cognitive Services’
11 How does it relate to Content & Process Services?Content & Process Services deal with unstructured content! Sometimes, A LOT of unstructured content! Today’s cognitive processes LOVE unstructured content.
12 “Ready to Go” Cognitive Services API
13 Natural Language ProcessingCommon APIs Natural Language Processing Tone Analysis Visual Processing Document Conversion Language Translation Speech Personality Insights There are commonalities in various Cognitive Services Each API is independent. Best Practice: Mix and Match the APIs for your the solution
14 Watson Services (Part of IBM BlueMix)
15 Microsoft Cognitive Services
16 Natural Language Processing (NLP)
17 NLP
18 Natural Language ProcessingAnalyzes Unstructured Text to extract items like: Key Phrases Entities Categories Concept Topics Language Detection Semantic Roles Emotion Sentiment
19 NLP Example: http://www.beecon.buzzSentiment Note: All Scores are between 0.00 and 1.00 Entities Emotion Categories
20 NLP Example: http://www.beecon.buzzKeywords Keywords
21 NLP Use Cases with Content & Process ServicesToo Many Uses Cases! Bulk Document Classification & Re-organization Inbound Document Parsing Automatic Categorization & Tagging of Content Automatic Folder creation and document relocation Process Decisions Issue Escalation And many more…. Best Practice: Mix and Match the APIs for your the solution More : Conflict Analysis
22 NLP Demo
23 NLP Demo
24 Visual Recognition
25 Visual Recognition Visual Recognition uses deep learning algorithms to analyze images that can give you insights into your visual content. Object Classification Face Detection
26 Visual Recognition Visual Recognition uses deep learning algorithms to analyze images that can give you insights into your visual content. Object Classification Face Detection
27 Beecon Hackathon
28 Beecon Hackathon 160 attendees from all over the world
29 Beecon Hackathon 160 attendees from all over the world
30 Some Hackathon Stats
31 Some Hackathon Stats WAIT!!! Who is that?Imagine walking into a department store. There is a camera that takes your picture as you enter and analyzes your gender, age, even emotion. Then – a TV screen display products marketed directly to you personally. This is real world functionality that is easy to implement, and will soon be commonplace. A Valuable lesson learned Cognitive Computing is GREAT at making generalizations. But – it can be fooled. Everything is rated on a confidence scale. 100% confidence is rare.
32 Tone Analysis
33 Tone Analysis Detect and interpret emotions, social tendencies, and language style cues found in text. Fear Sad Disgust Joy Anger Sentiment Analysis 1 Negative 0.5 Positive
34 Use Case – JIRA & Customer ServiceWe use JIRA to help service our clients. Customer Response Time is VERY Important. BUT – Even More Important is Customer Satisfaction! Response Time is easy to measure. How do you automatically measure Customer Satisfaction?
35 Use Case – JIRA & Customer ServiceCustomers can choose Priority… Priority != Satisfaction A Customer could log a Trivial issue, but still be very dis-satisfied.
36 Use Case – JIRA & Customer ServiceCustomer Enters JIRA Ticket Activiti Calls Watson Watson Analyzes Sentiment & Emotion: Summary Description Comments Activiti notifies Stakeholders if thresholds are exceeded. Stores Data for reporting. Technically JIRA has a webhook that can call a RESTful service. The Webhook calls a custom service that passes the Summary, Description and/or comments to a new Activiti process. Activiti – using a REST Call Task (or a custom service) – calls Watson with the text. Watson analyses it and provides a score back to Activiti Activiti decides what to do next
37 Use Case – JIRA & Customer ServiceSome tips: Start Small – a Test Project, then a small project Configurable Thresholds Save historical data for trends. Consider using trends for alerts instead of individual tickets.
38 Configuration - Demo
39 [email protected] @jasonjolleyTHANK YOU!!! Jason Jolley @jasonjolley