ShareValue | Machine Learning in begrijpelijke taal

Machine Learning in begrijpelijke taal

Tijdens Microsoft Build in Seattle stond Microsoft stil bij een aantal (voor hen en ons) belangrijke onderwerpen. Een van de onderwerpen is Machine Learning (ML). In dit blog leg ik uit wat het is en waarom jij dit moet weten.

Wat is Machine Learning?

“Programming the unprogrammable”: dé definitie die tijdens de conferentie het meest gebruikt wordt. Maar ondanks dat deze definitie juist is, zegt het helemaal niets. Naar mijn mening is de beste uitleg in de vorm van een voorbeeld: bedenk een methode die op basis van tekst (input) aangeeft wat het sentiment (output) is van de tekst. Oftewel: is er sprake van een positief of negatief sentiment? In C# zou dat zijn: 

public SentimentPrediction GetSentiment(string input) {…}
(waarbij SentimentPrediction een zelfbedachte definitie is als output en tussen de accolades zich de daadwerkelijke code bevindt).

De input “het is vandaag een prachtig mooie dag” heeft een positief sentiment, terwijl “vanmorgen was het koud, nu regent het en straks wordt het veel te warm” een negatief sentiment heeft. Aangezien hier een interpretatie gedaan moet worden, wordt niet alleen het sentiment voorspeld, maar ook de waarschijnlijkheid van deze voorspelling gegeven. Hoe hoger de waarschijnlijkheid, hoe hoger de nauwkeurigheid van de voorspelling.

Hoe werkt het onder de motorkap?

De input is vergelijkbaar met een model. Een model is een verzameling data die opgemaakt kan worden vanuit (onder andere) Visual Studio (ML.NET Model Builder) en Azure (Azure Machine Learning). Om een model te maken is het niet nodig om kennis te hebben van ML. Een wizard leidt je door de stappen, waarna je een werkend model hebt. AutoML past automatisch verschillende algoritmes toe, waarna het beste algoritme gekozen wordt om toe te passen op het model.

Om een model te maken heb je data nodig. In dit geval gebruiken we een bestaande*) dataset om het sentiment te bepalen. Deze dataset bestaat uit tekst en hun bijbehorend sentiment, hierbij een klein deel ter illustratie:

 Tekst  Sentiment (0 is negatief, 1 is positief)
 Did not like it at all.  0
 The burrittos is blah!   0
 The food, amazing.   1
 Service is also cute.   1
 
 
Het model maken bestaat uit twee stappen, eerst een deel van de totale dataset importeren om te leren “train” en daarna met het overig deel van de dataset testen welk algoritme het best presteert “evaluate”. Nu is, na kiezen voor het beste algoritme, het model klaar om te gebruiken.

Waar kan ik het voor toepassen?

Als bedrijf kan je met behulp van deze techniek eenvoudig en geautomatiseerd bepalen wat het sentiment is over jouw organisatie, bijvoorbeeld op Social Media of bij het gebruik van een chatbot. Een hulpmiddel waardoor je sneller kunt acteren op negatieve (of positieve!) sentimenten die op dat moment spelen.

Hoe pas je het toe?

Microsoft heeft een open-source platform ontwikkeld om Machine Learning eenvoudig te integreren in een .NET toepassing: ML.NET. Met behulp van een paar regels code kan je ML eenvoudig gebruiken. Zie een uitgewerkt voorbeeld op deze tutorial pagina van Microsoft.

Waarom moet je dit weten?

Met het beschikbaar stellen van alle tooling op het gebied van Machine Learning, heeft Microsoft het relatief eenvoudig gemaakt om geavanceerde analyses uit te voeren en deze functioneel direct toepasbaar te maken in applicaties. De mogelijkheden zijn enorm, terwijl de investeringskosten laag kunnen blijven.

 

Heb ik jouw interesse gewekt, en wil je meer weten over Machine Learning? Laat het ons weten en we komen een keer vrijblijvend bij je langs om je meer te vertellen over alles wat we tijdens Microsoft Build hebben geleerd. 

 

 

*) The datasets for this tutorial are from the 'From Group to Individual Labels using Deep Features', Kotzias et. al,. KDD 2015, and hosted at the UCI Machine Learning Repository - Dua, D. and Karra Taniskidou, E. (2017). UCI Machine Learning Repository [http://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science.

 

01-07-2019 | Emiel

Vond je dit een interessant bericht? Deel het!

© ShareValue 2019