Een scraper die elke week 26.000 Google resultaten verzamelt over Truck Theft

Truck Theft

Voor SensiTech, een global supply chain bedrijf gefocust op digital transformation zijn we druk bezig met het automatiseren van een proces. Bij dit proces wordt er door meerdere medewerkers elke week duizenden Google zoekresultaten handmatig afgestruind op zoek naar artikelen over vrachtwagen overvallen/diefstal/etc. Dit moet toch anders kunnen?

Wat hebben we gedaan?

Om te zorgen dat dit proces zoveel mogelijk geautomatiseerd wordt hebben we een Google Scraper gebouwd. Deze scraper struint elke week de eerste 10 zoekpagina’s van Google af voor een groot scala aan zoekwoorden voor 13 landen om zo relevante artikelen te vinden. Hierna wordt aan de hand van de artikeltekst ook nog automatisch bepaald waar het incident heeft plaatsgevonden, wat er gestolen is, wat de manier van overval was en meer!

Natuurlijk komt dit niet zonder uitdagingen. Wat doe je bijvoorbeeld als één gebeurtenis op meerdere bronnen besproken wordt? Of als een Google link je leidt naar een website waarop meerdere artikelen gevonden worden? Om dit soort problemen te verhelpen is het essentieel om de applicatie zo ‘streng’ te maken dat hij alleen relevante artikelen doorlaat, maar ook niet te ‘streng’ dat je artikelen weggooit die wel relevant zijn. Het is dan ook essentieel om samen met de klant en onze applicatiebouwer om de tafel te zitten en samen tot de juiste balans te komen.

Welke technieken zijn er gebruikt?

Technieken die we gebruiken zijn Python als codeertaal voor de scraper. De volledige applicatie werkt vanuit een Azure Container instantie (in de Cloud) en de data wordt automatisch ontsloten in een datawarehouse als ook een Azure Blob Container, waar ook verschillende input bestanden aanwezig zijn om de applicatie op een no-code manier te fine-tunen.

Wat hebben we opgelost en opgeleverd?

Het zoeken naar relevante artikelen is erg tijdsintensief als dit met de hand moet gebeuren. Tevens is deze applicatie schaalbaar om gemakkelijk uit te breiden naar andere landen (zonder dat medewerkers de lokale taal hoeven te spreken).

Nu wordt er wekelijks een overzicht van gevonden relevante artikelen als ook tientallen categorisaties over bijvoorbeeld het type event, en de gestolen producten.

Hoe worden de data gepresenteerd?

Alle verzamelde data worden gedisplayd in een PowerBI rapport. Overzichtelijk en efficiënt.

Gebruikte applicaties;

In 5 duidelijke stappen naar een succesvolle Machine Learning implementatie

Machine Learning

85% van alle AI (Artificial Intelligence) projecten in 2022 haalt de productie fase niet en wordt dus niet geïmplementeerd, voorspelde Gartner al In 2018. Recenter onderzoek door Pactera Technologies bevestigt dit beeld. Gezien de investeringen die ermee gemoeid gaan zijn dit schokkende cijfers – maar er is hoop.

In de praktijk zien we dat ML (Machine Learning) projecten vaak falen omdat:

  • Het model geen antwoord geeft op een relevante business vraag
  • Het model te weinig oplevert of de ontwikkelingstijd is te lang
  • Er geen vertrouwen is in het model

Door schade en schande wordt men wijs, maar nog veel waardevoller zijn de patronen die te ontdekken zijn in de succesvolle AI/ML projecten. Deze patronen zijn te vertalen in 5 stappen, waarbij de samenwerking tussen de Business (Project Manager) en Data Scientist centraal staat.
1 – De Business Case

Een businesscase is cruciaal voor de onderbouwing van de strategische relevantie (waarde toevoeging: omzet, kwaliteit, bedrijfskosten) en zakelijke rechtvaardiging (projectkosten en waarde: beiden liefst zo financieel mogelijk) om dit project te starten. Begin je project met een duidelijk en concreet einddoel met realistische planning en zorg ervoor dat het hele team op één lijn zit: van Project Manager als vertegenwoordiger van de business tot Data Scientist en Front-/Backend Application Developer. Bedenk samen van te voren al welke variabelen zich goed laten voorspellen ten behoeve van jouw einddoel en bouw sterke hypotheses die de scherp gedefinieerde onderzoeksvraag onderbouwen. De beste modellen zijn immers gebaseerd op sterke hypotheses – nog niet bewezen veronderstellingen – gevoed vanuit de expertise van de business. Vervolgens kun je het eindproduct al schetsen, ondersteund door een conceptueel model als grafische weergave van de werkelijkheid.

Door in een vroeg stadium al een goed beeld te hebben van de uitkomst voorkom je verspilde tijd en energie in latere stappen, of in het ergste geval een model dat uiteindelijk niet binnen de praktijk past. Op deze manier ontstaat er toewijding vanuit het management team en is de basis gelegd voor daadwerkelijke gedragsverandering binnen de organisatie, met een verzilverde business case als resultaat.

2Data Selectie en Manipulatie

Het doel in de volgende stap is een bruikbare dataset te creëren met duidelijke definities, vrij van outliers en missende waarden, want ook bij het modeleringsproces geldt: Garbage in = garbage out. De prestaties van je model kunnen sterk gelimiteerd worden door data problemen. Neem voldoende tijd om de juiste data te verzamelen, de kwaliteit te controleren en data problemen op te lossen.

Dit kan ook betekenen dat er binnen de organisatie geïnvesteerd dient te worden in structurele verbeteringen omtrent de continue datastromen om de schaalbaarheid en data gedreven toekomst te waarborgen.  De Data Scientist en de Business Project Manager dienen samen te werken op het gebied van data ontsluiting en interpretatie van eventueel nieuwe data bronnen en data definities. De Data Scientist doet er goed aan een datakwaliteitsrapport bij te houden en problemen te rapporteren.

3 – Analyse 

Met de zojuist gerealiseerde dataset worden in de analyse fase de initiële hypotheses getest en nieuwe hypotheses gevormd op basis van nieuw verworven inzichten. Het resultaat is een lijst van hypotheses, waar en onwaar, welke als recept dient voor een sterk presterend model. Technisch betekent dit het plotten van de variabelen, combineren van variabelen en maken van een correlatiematrix om uiteindelijk het model op de juiste manier vorm te geven met de juiste ingrediënten.

In de praktijk komt dit proces het beste tot haar recht wanneer de Business Project Manager en Data Scientist samen alle relevante resultaten interpreteren en met behulp van business expertise tot nieuwe hypotheses wordt gekomen. Van cruciaal belang is hierbij de business case en het oorspronkelijke einddoel in het vizier te houden zodat de praktische relevantie van het eindresultaat niet in het geding komen en de steun van het management team onverminderd blijft.

 

4 – Model keuze
Nu het einddoel, de juiste data en relevante variabelen voor het model bekend zijn is het zaak het juiste model te kiezen voor een optimale prestatie. Er zijn honderden modellen beschikbaar en daarnaast nog vele verschillende te kiezen evaluatiecriteria om deze modellen te beoordelen. De evaluatiecriteria, en daarmee de keuze voor het model, hangen sterk af van het eerder gedefinieerde doel van het model omdat er vaak een trade-off moet worden gemaakt:

  1. In het geval van tumor detectie wil je zoveel mogelijk gevallen herkennen, ook wel de sensitivity score, ook al betekent dat in een aantal gevallen een onterechte verdenking.
  2. Terwijl bij de spam filter voor een mailbox de precision score meer van belang is: alleen wanneer het zeker spam betreft mag deze in de spam folder verdwijnen.

Zo zijn er nog veel meer evaluatie criteria om uit te kiezen. De rol van Business Project Manager is essentieel door te helpen bij het maken van de juiste afwegingen voor het optimaliseren van de praktische toepasbaarheid van het model en de interpretatie van de evaluatie criteria. Het moet helder zijn waarom een bepaald model is gekozen, waarom bepaalde evaluatie criteria zijn geselecteerd en wat deze nou daadwerkelijk betekenen.

Er kan heel veel tijd zitten in het optimaliseren en juist afstellen van de parameters van een model en het is eenvoudig jezelf hierin te verliezen. Daarom is het altijd van belang een goede inschatting te maken van de nog mogelijk te verwachten optimalisatie, de tijd die daarvoor nodig is en in hoeverre dit past binnen de gedefinieerde business case.

5 – Implementatie in dagelijkse bedrijfsvoering

In de laatste fase is het tijd om daadwerkelijk waarde te creëren door het model te integreren met de dagelijkse bedrijfsvoering en positieve verandering tot stand te brengen. Daarnaast dienen de prestaties van het model gemonitord te worden.
Verschillende specialisten komen hier van pas zoals de Data Engineer die de geautomatiseerde data stromen faciliteert of de Front- en Backend Developers die voor een applicatie zorgen waarmee real-time met de data en het model geïnteracteerd kan worden. Daarnaast zal kennis van data visualisatie (bijv. Tableau of PowerBI) van pas komen voor het dagelijks inzichtelijk maken van de prestaties van het model. Zeker wanneer er meerdere modellen draaien binnen de organisatie helpt dit om overzicht en controle te creëren.

Het duidelijk in kaart brengen van de resultaten van het project kan helpen bij de opzet van een volgende business case en om het management team volledig achter het project te krijgen. Alleen met een toegewijd management team, de juiste data professionals en een sterke business case kunnen we het percentage gefaalde ML projecten significant laten dalen.

 

Deze 5 essentiële stappen en de cruciale samenwerking tussen de business en data professional verhogen de slagingskans van je ML project aanzienlijk. Overweeg je ook Machine Learning in te zetten om kostenbesparingen, kwaliteitsverbeteringen of verhoogde inkomsten te realiseren? Den of Data begeleidt je graag in dit proces.