adding machine learning to a web app
DESCRIPTION
A walk-through of how we approached adding tag suggestions to addsharedo.comTRANSCRIPT
Adding machine learning to a web app
Richard Dallaway @d6y
It’s easy, right?1. Get some data
2. Find magic stats & algorithms
3. Predict the future!
It’s easy, right?1. Get some data
2. Find magic stats & algorithms
3. Predict the future!
that helps solve the problem
frame the problem explore the data
pilotwhat’s success?
does this help users?UI impact?
behaviour changes?
Make it easier for users to #tag todos
tag
Can we suggest tags as a task is typed in?
Can we suggest tags as a task is typed in?
useful
Where to start?
from “Algorithms of the Intelligent Web”
“Google uses Bayesian filtering the way
Microsoft uses the if statement"
as told to Joel Spolsky
A contrived example#home 40% #work 60%
“windows”50%
“fix”50%
“windows”16.6%
“fix”83.4%
p(#home | “fix”, “windows”) ?
A contrived example#home 40% #work 60%
“windows”50%
“fix”50%
“windows”16.6%
“fix”83.4%
p(#home | “fix”) = 40% x 50%(40% x 50%) + (83.4% x 60%)
= about 28%
A contrived example#home 28% #work 72%
“windows”50%
“fix”50%
“windows”16.6%
“fix”83.4%
p(#home | “fix”, “windows”) = 28% x 50%(28% x 50%) + (16.6% x 72%)
= about 55%
p(#home | “fix”)
p(C | e) = P(C) x P(e | C) P(e)
p(C | e) = P(C) x P(e | C) P(e)
“the estimation of P(e | C) can be viewed as the central issue in designing learning systems. ”
— Weiss & Kulikowski “Computer Systems that Learn”
Demo:addsharedo.com
with tag suggestions
results of running the model
It’s easy, right?1. Explore the data
2. Frame your problem
3. Measure the performance honestly
Write it yourself?Find a library?Ask Google to do it for you?
How to build?
...but pilot with offline data first.
www.manning.com40% off with bathcamp40
until August 10th
Questions?or later: @d6y [email protected]