I’ve been experimenting with Microsoft LUIS (Language Understanding Intelligent Service) to bootstrap a very simple language model at work1. It’s a pretty neat tool within the Azure Cognitive Services portfolio.
The hallmark application of LUIS is chat bot development, which Microsoft went a little gaga over as a vehicle for intelligence about a year ago (#BotHack2016 #BotsAreTheNewApps #RIPTay).
“Bots are the new apps.” — Satya Nadella, Build 2016 Keynote
Well, the chat bot revolution is not (yet?) upon us… but LUIS did come out of that frenzy, and so far, it has been as fast and as easy as advertised.
I’m not building a bot; rather, I am using it to prototype my task/to-do/action item detection idea with the hypothesis that present tense verbs are probably a decent (although far from foolproof) indicator of whether or not a phrase is a task.
LUIS allows anyone to build a supervised, rule-based2 learning system without having to actually know that’s what they’re doing. I think this abstracting quality is valuable and perhaps even underrated from what I’ve seen so far in the world of commoditized ML.
My absolute favorite piece of LUIS is its active learning capability3, which allows your initial model to improve over time from user interaction. This is a critical type of machine learning that I’m hoping to establish as vital to my org and its long-term investment in the field4. And again, LUIS makes it very simple to hook up such a workflow. I’m using this feature to enable the sort of is this correct? (yes/no) question-answering to feed directly back into LUIS for use in the next batch of training.
I don’t think I’ll need LUIS after the first couple prototype iterations: again, my present-tense language model is very simple, and as it matures, I don’t see it fitting the central triad of concepts in LUIS - utterances, entities, and intents - any better than it does now (e.g., I’m not using entities at all, although maybe I’m misunderstanding how they can be used). But as far as getting some sort of model up quickly, LUIS has been extremely helpful.
I work at Microsoft, but I don’t work on LUIS or Azure or anything else too related. ↩
Honestly, before LUIS and this book I’m reading called The Master Algorithm by Pedro Domingos (expect a blog post on completion), I was having an internal debate over whether or not sets of essentially IF-THENs can be considered machine learning… and then I learned that apparently they can be. ↩
Active learning in LUIS, in their own words: “Label Suggested Utterances” ↩
I’ve blogged previously in “Good Enough” about my epiphany around incorporating user feedback early on in the learning process. ↩