Automatiseren met Microsoft Cognitive Services

Microsoft heeft groot ingezet op ‘machine learning’ en daaruit vloeiende ‘deep learning’. Iedereen heeft op zijn of haar Windows 10 machine Cortana (je digitale assistent) geïnstalleerd gekregen en daardoor de beschikking over de cognitieve diensten die dit biedt. Maar wat kun je hiermee binnen jouw organisatie?

In deze blog behandel ik de meest gebruikte varianten van deze cognitieve diensten. Misschien zitten er handige toepassingen bij die voor jouw organisatie geschikt zijn? 

Speech
Spraakherkenning is in vele manieren het hart van kunstmatige intelligentie. 
Samuel Johnson
De Engels schrijver Samuel Johnson schreef het al: “Language is the dress of thought” (vrije vertaling: taal is de inkleding van gedachten). Artificial Intelligence (AI) onderzoek richt zich meestal op het feit dat een machine leert te denken als een mens. Maar om te begrijpen wat de mens denkt, vereist op zijn beurt een begrip van wat mensen zeggen.

De Speech API kun je opdelen in vier categorieën: 
Bing Speech: Bing Speech API zet gesproken geluid om in tekst en omgekeerd
Speaker Recognition: identificeert een spreker en kan deze gebruiken als verificatie van de spreker
Custom Speech Service (voorheen CRIS): deze dienst biedt de mogelijkheid om omgevingsgeluid en gespecialiseerde woorden te vertalen naar tekst en omgekeerd
Translator Speech: vertaalt gesproken tekst naar andere talen (wordt bijvoorbeeld gebruikt voor Skype telefoongesprekken)

Speech Overview

Een goede manier om de relatie tussen de Bing Speech API en de andere API's te begrijpen is dat terwijl Bing Speech en Translator Speech gesproken taal omzet naar tekst of geluid (zonder dat er iets over de spreker wordt herkent), gaan de Custom Speech Service en Speaker Recognition verder. Zij proberen de verwerking te gebruiken en het ruwe geluid op te ruimen of te vergelijken met andere spraakvoorbeelden. Ze doen dus eigenlijk extra spraakanalyse en geven daar extra informatie over.

Speech Functionality

Bing Speech
Bing Speech API vertaalt tekst naar spraak en spraak naar tekst. Dit zet gestructureerde data dus om naar spraak met verschillende talen en stemmen. Daarnaast kan de Bing Speech API ook gebruikt worden om de geluid karakteristieken aan te passen zoals uitspraak, volume, toonhoogte, enz. met behulp van zogenoemde SSML-tags.
Met Bing Speech kun je bijvoorbeeld spraak direct omzetten naar geschreven tekst waardoor notuleren overbodig wordt. Voeg daarbij een automatische vertaling naar andere talen en je kunt een ieder in zijn eigen taal een geschreven document sturen in zijn of haar eigen taal. Een stap verder kan nu al via Skype. Skype vertaalt in realtime gesproken woorden direct naar gesproken woorden in een andere taal. Skype maakt dan ook gebruik van de Speech API. Een heel krachtige oplossing om te kunnen gebruiken in elk bedrijf.

Spraak naar tekst voorbeeld:
https://azure.microsoft.com/nl-nl/services/cognitive-services/speech/

Tekst naar spraak voorbeeld:
https://azure.microsoft.com/nl-nl/services/cognitive-services/speech/

Speaker Recognition
Terwijl de Bing Speech API erachter kan komen wat je zegt zonder dat je iets weet over wie je als spreker bent, gaat de Speaker Recognition API in Cognitive Services om het uitzoeken van wie je bent zonder dat het geeft wat je specifiek zegt. Er is een mooie symmetrie hiervoor. Met behulp van machine learning, vindt de Speaker Recognition API kwaliteiten in je stem die je identificeren, evenals je vingerafdrukken of retinale patronen.
Deze API wordt typisch gebruikt voor twee doeleinden: identificatie en verificatie. Met identificatie kan een stem worden vergeleken met een groep stemmen om de beste match te vinden. Dit is het auditieve equivalent van hoe de Cognitive Services Face API omgaat met gezichten die op elkaar lijken.
Met verificatie van de spreker kun je de stem van een persoon gebruiken als onderdeel van een two-factor inlogmechanisme. Om te verifiëren moet de spreker een specifiek, geselecteerde wachtwoordzin zeggen zoals "appelsap smaakt raar na het poetsen met tandpasta". Het beste werkt dit als het een zin is met veel verschillende klanken en toonsoorten.

Een voorbeeld kun je vinden op:
https://azure.microsoft.com/nl-nl/services/cognitive-services/speaker-recognition/

Custom Speech Service
Je weet al waarvoor je de Bing Speech-to-text-capaciteit kunt gebruiken. Deze cognitieve dienst is gebouwd rond normale taalmodellen om voor de meeste mensen te werken. Maar wat als je spraakherkenning wilt hebben met gespecialiseerde woordenschat of jargon? Om deze situaties aan te pakken heb je wellicht een aangepast taalmodel nodig.
Op dezelfde manier kan het algemene akoestische model dat gebruikt wordt om Bing Speech te trainen niet goed werken als deze gebruikt wordt in een atypische akoestische omgeving, zoals een vergaderruimte of een fabrieksvloer.
Custom Speech Service maakt het mogelijk om op maat gemaakte taalmodellen en aangepaste akoestische modellen voor je spraak-naar-tekst-engine te maken. Je kunt dan dit specifieke model gebruiken in plaats van de Bing Speech.

Vision
Een heel andere Cognitieve Service van Microsoft is de Vision API. Binnen Vision zijn er algoritmen beschikbaar voor de verwerking van afbeeldingen om je afbeeldingen op een slimme manier te identificeren en van bijschriften te voorzien.

De Vision API kun je opdelen in 7 categorieën:
Computer Vision: geeft inzicht in afbeeldingen d.m.v. tags en omschrijvingen
Content Moderator: houdt toezicht op afbeeldingen, tekst en video’s
Video: verwerkt op een intelligente manier video’s
Video Indexer: geeft inzicht in je video’s d.m.v. tags en omschrijvingen
Face: herkent, identificeert en organiseert gezichten in foto’s en geeft uitgebreide analyses
Emotion: geeft de mogelijkheid tot het herkennen van emoties van mensen en biedt daardoor de mogelijkheid om andere specifieke paden te bewandelen
Custom Vision Service: past het verwerken van afbeeldingen en video’s aan met de specifieke eisen van de situatie

Vision Overview

Computer Vision
Met de Computer Vision API is het mogelijk om plaatjes te laten analyseren op visuele inhoud. Computer Vision genereert op basis van de afbeelding een lijst met tags, beschrijvingen en domein specifieke modellen. Dit scheelt veel werk bij het invoeren van afbeeldingen in een beeldbank oplossing.

Vision Functionality

Content Moderator
Met Content Moderator worden afbeeldingen, teksten en video’s gecontroleerd op bepaalde termen en content op basis van een blacklist. Als deze specifieke tekst, plaatjes en/of video’s zijn uitgefilterd, worden deze in een speciale lijst gezet waarna een content moderator kan bepalen of de filtering terecht is of dat er eigenlijk niets aan de hand is.
Een toepassing zou kunnen zijn om bepaalde merken en/of personen te moeten filteren van foto’s. Een specifiek voorbeeld kan bijvoorbeeld een kinderdagverblijf zijn waarbij de foto’s op de site geen gezichten van (bepaalde) kinderen mogen bevatten.

Video-API
De Microsoft Cognitive Services Video API biedt cloud-based gezichtsdetectie en tracking. Het ondersteunt het detecteren van bewegingen, het stabiliseren van bewegingen en het maken van miniaturen van video. Deze API kan tot 64 menselijke gezichten detecteren (waarbij frontale gezichten zorgen voor betere resultaten). Daarnaast kan het worden gebruikt om surveillance en bewegende video's te stabiliseren en een voorbeeld of momentopname van een video te genereren.

Video Indexer
Bestaande video zoekoplossingen zijn tekst gebaseerd en behandelen video als een ondoorzichtig object. Deze zoekoplossingen indexeren de video-metagegevens, zoals titel, beschrijving, enz. Deze aanpak is beperkt omdat het volledige potentieel van wat de video te bieden heeft niet losgelaten wordt. Video Indexer maakt het mogelijk om menselijke, begrijpelijke, tijd gestempelde metadata te extraheren. Door zoekindexen op basis van die metagegevens te bouwen, kan het de gebruiker een krachtiger zoekoplossing bieden. Bijvoorbeeld, het indexeren van gesproken woorden en gezichten kan de zoekervaring mogelijk maken om momenten in een video te vinden waar een bepaalde persoon bepaalde woorden heeft gesproken of wanneer twee mensen samen gezien werden. 

Verbetering van gebruikersbetrokkenheid is een belangrijk “business goal” voor content service providers, aangezien een hogere gebruikersbetrokkenheid vertaalt in meer inkomensmogelijkheden. Video-inzichten ontgrendeld door Video Indexer kunnen worden gebruikt om de gebruikersbetrokkenheid te verbeteren door de relevante videomomenten aan gebruikers te positioneren. Bijvoorbeeld, beschouw een educatieve video die in de eerste 30 minuten driehoeken verklaart en dan voor de 30 minuten daarna piramides verklaart. Een student die over piramides leest zou meer profiteren als de video gepositioneerd is vanaf de 30-minuten markering. Op dezelfde manier kunnen video-aanbevelingen de video-inzichten gebruiken om betere beslissingen te maken over welke video aan de gebruiker moet worden aanbevolen.
Video Indexer extraheert metadata, zoals de gesproken woorden, de mensen die aanwezig zijn in een videosegment, de tekst die deel uitmaakt van de video enzovoort. Deze metagegevens kunnen worden gebruikt om inhoud toegankelijk te maken voor mensen met een visuele- en/of gehoorbeperking. Bijvoorbeeld de speler-widget die door Video Indexer is geleverd, heeft ingebouwde ondersteuning om het transcript in andere talen te vertalen.

Face
Met de Face-API is het detecteren van een of meer menselijke gezichten in een afbeelding mogelijk, waarna in de afbeelding rechthoeken om de gezichten worden weergegeven, samen met gezichtskenmerken die zijn gebaseerd op voorspellingen van gelaatstrekken via machine learning. De beschikbare functies voor gezichtskenmerken zijn: Leeftijd, Emotie, Geslacht, Houding, Glimlach en Gezichtshaar, samen met 27 oriëntatiepunten voor elk gezicht in de afbeelding.
Een voorbeeld kan bijvoorbeeld zijn om gelijke gezichten te zoeken op internet. Met deze API wordt dan een verzameling soortgelijke gezichten geretourneerd op basis van een verzameling gezichten en een nieuw gezicht als query. Ook het inloggen op je Windows computer (met Windows Hello) is een voorbeeld van het gebruik van deze API.

Emotion
De Emotion API neemt een gezichtsuitdrukking in een afbeelding als een invoer, en geeft het informatie over een reeks emoties voor elk gezicht in de afbeelding, evenals de grens van het gezicht, waardoor er meerdere emoties gescheiden kunnen worden op 1 beeld.
De gedetecteerde emoties zijn woede, minachting, afschuw, angst, geluk, neutraal, verdriet en verrassing. Deze emoties worden multicultureel begrepen en universeel gecommuniceerd met bijzondere gezichtsuitdrukkingen.
Dit kan bijvoorbeeld van pas komen bij beveiliging van mensen en gebouwen, maar ook voor mensen met autisme om hun te helpen om emoties te herkennen.

Custom Vision
De Custom Vision API is gemaakt om specifieke bedrijfsdoeleinden te ondersteunen. Upload een paar afbeeldingen en laat de Custom Vision Service het harde werk doen.

De stappen om gebruikt te kunnen maken van de Custom Vision API zijn de volgende:
1) Upload afbeeldingen; upload je eigen gelabelde afbeeldingen of gebruik de Custom Vision Service om ongelabelde afbeeldingen snel te taggen
2) Train; gebruik je gelabelde afbeeldingen om de Custom Vision Service te trainen van wat je wilt detecteren in de plaatjes die je geüpload hebt
3) Controleren, maak gebruik van de eenvoudige API-aanroepen om snel afbeeldingen te controleren of het inderdaad herkent wat je specifiek wil herkennen in afbeeldingen
4) Actief leren, afbeeldingen die worden geëvalueerd via je aangepaste ‘computer visie model’ worden onderdeel van een feedback lus die je kunt gebruiken om je classificatie van de afbeeldingen te verbeteren

Conclusie
De Microsoft Cognitive Services bieden veel kansen om veel voorkomende taken te automatiseren. Welke taken dit zijn, is per organisatie verschillend. Het is zeker interessant om te onderzoeken welke taken dit zijn en hoeveel tijdswinst dit kan opleveren. Succes!

Bert Pijl



29-11-2017 | Bert

Vond je dit een interessant bericht? Deel het!

Foto auteur

Auteur

Bert Developer

Wil je meer weten over dit onderwerp? Onze experts staan voor je klaar.
Neem contact met ons op voor een vrijblijvende, oriënterende afspraak. 

© ShareValue 2018