SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
MACHINE LEARNING AS
A SERVICE
MAKING SENTIMENT PREDICTIONS IN REALTIME WITH ZMQ
AND NLTK
ABOUT ME
DISSERTATION
Let's make somethingcool!
SOCIAL MEDIA
+
MACHINE
LEARNING
+
API
SENTIMENT ANALYSIS
AS A SERVICE
A STEP-BY-STEP GUIDE
FundamentalTopics
Machine Learning
NaturalLanguage Processing
Overview of the platform
The process
Prepare
Analyze
Train
Use
Scale
MACHINE LEARNING
WHAT IS MACHINE LEARNING?
Amethod of teachingcomputers to make and improve
predictions or behaviors based on some data.
Itallow computers to evolve behaviors based on empiricaldata
Datacan be anything
Stock marketprices
Sensors and motors
emailmetadata
SUPERVISED MACHINE LEARNING
SPAM OR HAM
SUPERVISED MACHINE LEARNING
SPAM OR HAM
SUPERVISED MACHINE LEARNING
SPAM OR HAM
SUPERVISED MACHINE LEARNING
SPAM OR HAM
SUPERVISED MACHINE LEARNING
SPAM OR HAM
SUPERVISED MACHINE LEARNING
SPAM OR HAM
SUPERVISED MACHINE LEARNING
SPAM OR HAM
SUPERVISED MACHINE LEARNING
SPAM OR HAM
NATURAL LANGUAGE PROCESSING
WHAT IS NATURAL LANGUAGE PROCESSING?
Interactions between computers and human languages
Extractinformation from text
Some NLTK features
Bigrams
Part-or-speech
Tokenization
Stemming
WordNetlookup
NATURAL LANGUAGE PROCESSING
SOME NLTK FEATURES
Tokentization
Stopword Removal
>>>phrase="Iwishtobuyspecifiedproductsorservice"
>>>phrase=nlp.tokenize(phrase)
>>>phrase
['I','wish','to','buy','specified','products','or','service']
>>>phrase=nlp.remove_stopwords(tokenized_phrase)
>>>phrase
['I','wish','buy','specified','products','service']
SENTIMENT ANALYSIS
CLASSIFYING TWITTER SENTIMENT IS HARD
Improper language use
Spellingmistakes
160 characters to express sentiment
Differenttypes of english (US, UK, Pidgin)
Gr8 picutre..God bless u RT @WhatsNextInGosp:
Resurrection Sunday Service @PFCNY with
@Donnieradio pic.twitter.com/nOgz65cpY5
7:04 PM - 21 Apr 2014
Donnie McClurkin
@Donnieradio
Follow
8 RETWEETS 36 FAVORITES
BACK TO BUILDING OUR API
.. FINALLY!
CLASSIFIER
3 STEPS
THE DATASET
SENTIMENT140
160.000 labelled tweets
CSVformat
Polarityof the tweet(0 = negative, 2 = neutral, 4 = positive)
The textof the tweet(Lyx is cool)
FEATURE EXTRACTION
How are we goingto find features from aphrase?
"Bag of Words"representation
my_phrase="Todaywassucharainyandhorribleday"
In[12]:fromnltkimportword_tokenize
In[13]:word_tokenize(my_phrase)
Out[13]:['Today','was','such','a','rainy','and','horrible','day']
FEATURE EXTRACTION
CREATE A PIPELINE OF FEATURE EXTRACTORS
FORMATTER=formatting.FormatterPipeline(
formatting.make_lowercase,
formatting.strip_urls,
formatting.strip_hashtags,
formatting.strip_names,
formatting.remove_repetitons,
formatting.replace_html_entities,
formatting.strip_nonchars,
functools.partial(
formatting.remove_noise,
stopwords=stopwords.words('english')+['rt']
),
functools.partial(
formatting.stem_words,
stemmer=nltk.stem.porter.PorterStemmer()
)
)
FEATURE EXTRACTION
PASS THE REPRESENTATION DOWN THE PIPELINE
In[11]:feature_extractor.extract("Todaywassucharainyandhorribleday")
Out[11]:{'day':True,'horribl':True,'raini':True,'today':True}
The resultis adictionaryof variable length, containingkeys as
features and values as always True
DIMENSIONALITY REDUCTION
Remove features thatare common across allclasses (noise)
Increase performanceof the classifier
Decrease the sizeof the model, less memoryusage and more
speed
DIMENSIONALITY REDUCTION
CHI-SQUARE TEST
DIMENSIONALITY REDUCTION
CHI-SQUARE TEST
DIMENSIONALITY REDUCTION
CHI-SQUARE TEST
DIMENSIONALITY REDUCTION
CHI-SQUARE TEST
DIMENSIONALITY REDUCTION
CHI-SQUARE TEST
NLTK gives us BigramAssocMeasures.chi_sq
DIMENSIONALITY REDUCTION
CHI-SQUARE TEST
#Calculatethenumberofwordsforeachclass
pos_word_count=label_word_fd['pos'].N()
neg_word_count=label_word_fd['neg'].N()
total_word_count=pos_word_count+neg_word_count
#Foreachwordandit'stotaloccurance
forword,freqinword_fd.iteritems():
#Calculateascoreforthepositiveclass
pos_score=BigramAssocMeasures.chi_sq(label_word_fd['pos'][word],
(freq,pos_word_count),total_word_count)
#Calculateascoreforthenegativeclass
neg_score=BigramAssocMeasures.chi_sq(label_word_fd['neg'][word],
(freq,neg_word_count),total_word_count)
#Thesumofthetwowillgiveyouit'stotalscore
word_scores[word]=pos_score+neg_score
TRAINING
Now thatwe can extractfeatures from text, we can train a
classifier. The simplestand mostflexible learningalgorithm for
textclassification is Naive Bayes
P(label|features)=P(label)*P(features|label)/P(features)
Simple to compute = fast
Assumes feature indipendence = easytoupdate
Supports multiclass = scalable
TRAINING
NLTK provides built-in components
1. Train the classifier
2. Serialize classifier for later use
3. Train once, use as much as you want
>>>fromnltk.classifyimportNaiveBayesClassifier
>>>nb_classifier=NaiveBayesClassifier.train(train_feats)
...waitalotoftime
>>>nb_classifier.labels()
['neg','pos']
>>>serializer.dump(nb_classifier,file_handle)
USING THE CLASSIFIER
#Loadtheclassifierfromtheserializedfile
classifier=pickle.loads(classifier_file.read())
#Pickanewphrase
new_phrase="AtPyconItaly!Lovethefoodandthisspeakerissoamazing"
#1)Preprocessing
feature_vector=feature_extractor.extract(phrase)
#2)Dimensionalityreduction,best_featuresisoursetofbestwords
reduced_feature_vector=reduce_features(feature_vector,best_features)
#3)Classify!
printself.classifier.classify(reduced_feature_vector)
>>>"pos"
BUILDING A CLASSIFICATION API
Classifier is slow, no matter how much optimization is made
Classifier is ablockingprocess, API mustbe event-driven
BUILDING A CLASSIFICATION API
SCALING TOWARDS INFINITY AND BEYOND
BUILDING A CLASSIFICATION API
ZEROMQ
Fast, uses native sockets
Promotes horizontalscalability
Language-agnostic framework
BUILDING A CLASSIFICATION API
ZEROMQ
...
socket=context.socket(zmq.REP)
...
whileTrue:
message=socket.recv()
phrase=json.loads(message)["text"]
#1)Featureextraction
feature_vector=feature_extractor.extract(phrase)
#2)Dimensionalityreduction,best_featuresisoursetofbestwords
reduced_feature_vector=reduce_features(feature_vector,best_features)
#3)Classify!
result=classifier.classify(reduced_feature_vector)
socket.send(json.dumps(result))
DEMO
POST-MORTEM
Real-time sentimentanalysis APIs can be implemented, and
can be scalable
Whatif we use Redis instead of havingserialized classifiers?
Deep learningis givingverygood results in NLP, let's tryit!
FIN
QUESTIONS

Mais conteúdo relacionado

Semelhante a Machine Learning as a Service: making sentiment predictions in realtime with ZMQ and NLTK

The SAM Pattern: State Machines and Computation
The SAM Pattern: State Machines and ComputationThe SAM Pattern: State Machines and Computation
The SAM Pattern: State Machines and ComputationJean-Jacques Dubray
 
Concurrency and Parallelism with Scala
Concurrency and Parallelism with ScalaConcurrency and Parallelism with Scala
Concurrency and Parallelism with ScalaTimothy Perrett
 
Operationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyOperationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyPrasanna Gautam
 
Intro to PySpark: Python Data Analysis at scale in the Cloud
Intro to PySpark: Python Data Analysis at scale in the CloudIntro to PySpark: Python Data Analysis at scale in the Cloud
Intro to PySpark: Python Data Analysis at scale in the CloudDaniel Zivkovic
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Heiko Behrens
 
Bubbles & Trees with jQuery
Bubbles & Trees with jQueryBubbles & Trees with jQuery
Bubbles & Trees with jQueryBastian Feder
 
Data Summer Conf 2018, “Mist – Serverless proxy for Apache Spark (RUS)” — Vad...
Data Summer Conf 2018, “Mist – Serverless proxy for Apache Spark (RUS)” — Vad...Data Summer Conf 2018, “Mist – Serverless proxy for Apache Spark (RUS)” — Vad...
Data Summer Conf 2018, “Mist – Serverless proxy for Apache Spark (RUS)” — Vad...Provectus
 
Mashup University 4: Intro To Mashups
Mashup University 4: Intro To MashupsMashup University 4: Intro To Mashups
Mashup University 4: Intro To MashupsJohn Herren
 
FlasHR - Flex Mobile tuning
FlasHR - Flex Mobile tuningFlasHR - Flex Mobile tuning
FlasHR - Flex Mobile tuningIvan Ilijasic
 
Cakefest 2010: API Development
Cakefest 2010: API DevelopmentCakefest 2010: API Development
Cakefest 2010: API DevelopmentAndrew Curioso
 
Osdc09 Apr09 openQRM Workshop
Osdc09 Apr09 openQRM WorkshopOsdc09 Apr09 openQRM Workshop
Osdc09 Apr09 openQRM WorkshopVirttoo org
 
Intro To Mashups
Intro To MashupsIntro To Mashups
Intro To Mashupstristan.woo
 
Google Back To Front: From Gears to App Engine and Beyond
Google Back To Front: From Gears to App Engine and BeyondGoogle Back To Front: From Gears to App Engine and Beyond
Google Back To Front: From Gears to App Engine and Beyonddion
 
Phoenix for laravel developers
Phoenix for laravel developersPhoenix for laravel developers
Phoenix for laravel developersLuiz Messias
 
[1D6]RE-view of Android L developer PRE-view
[1D6]RE-view of Android L developer PRE-view[1D6]RE-view of Android L developer PRE-view
[1D6]RE-view of Android L developer PRE-viewNAVER D2
 
Re-Design with Elixir/OTP
Re-Design with Elixir/OTPRe-Design with Elixir/OTP
Re-Design with Elixir/OTPMustafa TURAN
 

Semelhante a Machine Learning as a Service: making sentiment predictions in realtime with ZMQ and NLTK (20)

The SAM Pattern: State Machines and Computation
The SAM Pattern: State Machines and ComputationThe SAM Pattern: State Machines and Computation
The SAM Pattern: State Machines and Computation
 
Concurrency and Parallelism with Scala
Concurrency and Parallelism with ScalaConcurrency and Parallelism with Scala
Concurrency and Parallelism with Scala
 
Operationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyOperationalizing Clojure Confidently
Operationalizing Clojure Confidently
 
Mobile optimization
Mobile optimizationMobile optimization
Mobile optimization
 
Intro to PySpark: Python Data Analysis at scale in the Cloud
Intro to PySpark: Python Data Analysis at scale in the CloudIntro to PySpark: Python Data Analysis at scale in the Cloud
Intro to PySpark: Python Data Analysis at scale in the Cloud
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
 
Bubbles & Trees with jQuery
Bubbles & Trees with jQueryBubbles & Trees with jQuery
Bubbles & Trees with jQuery
 
Android Starter Kit
Android Starter KitAndroid Starter Kit
Android Starter Kit
 
Mist - Serverless proxy to Apache Spark
Mist - Serverless proxy to Apache SparkMist - Serverless proxy to Apache Spark
Mist - Serverless proxy to Apache Spark
 
Data Summer Conf 2018, “Mist – Serverless proxy for Apache Spark (RUS)” — Vad...
Data Summer Conf 2018, “Mist – Serverless proxy for Apache Spark (RUS)” — Vad...Data Summer Conf 2018, “Mist – Serverless proxy for Apache Spark (RUS)” — Vad...
Data Summer Conf 2018, “Mist – Serverless proxy for Apache Spark (RUS)” — Vad...
 
Mashup University 4: Intro To Mashups
Mashup University 4: Intro To MashupsMashup University 4: Intro To Mashups
Mashup University 4: Intro To Mashups
 
FlasHR - Flex Mobile tuning
FlasHR - Flex Mobile tuningFlasHR - Flex Mobile tuning
FlasHR - Flex Mobile tuning
 
Cakefest 2010: API Development
Cakefest 2010: API DevelopmentCakefest 2010: API Development
Cakefest 2010: API Development
 
Osdc09 Apr09 openQRM Workshop
Osdc09 Apr09 openQRM WorkshopOsdc09 Apr09 openQRM Workshop
Osdc09 Apr09 openQRM Workshop
 
Intro To Mashups
Intro To MashupsIntro To Mashups
Intro To Mashups
 
Google Back To Front: From Gears to App Engine and Beyond
Google Back To Front: From Gears to App Engine and BeyondGoogle Back To Front: From Gears to App Engine and Beyond
Google Back To Front: From Gears to App Engine and Beyond
 
Phoenix for laravel developers
Phoenix for laravel developersPhoenix for laravel developers
Phoenix for laravel developers
 
[1D6]RE-view of Android L developer PRE-view
[1D6]RE-view of Android L developer PRE-view[1D6]RE-view of Android L developer PRE-view
[1D6]RE-view of Android L developer PRE-view
 
Re-Design with Elixir/OTP
Re-Design with Elixir/OTPRe-Design with Elixir/OTP
Re-Design with Elixir/OTP
 
mobl
moblmobl
mobl
 

Último

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Último (20)

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Machine Learning as a Service: making sentiment predictions in realtime with ZMQ and NLTK