/ Nieuws

Wiego Bergsma

Verslag van de meetup over artificial intelligence in webdesign

Afgelopen vrijdag was de kennisoverdracht avond over Artificial Intelligence (A.I.) in webdesign.

Introductie

Als een klant een fysieke winkel bezoekt, vindt er interactie plaats tussen de klant en de verkoper. Dat kan zowel op een plezierige manier gebeuren als op een onplezierige manier. Maar als deze interactie niet plaats vind, als de verkoper niet opkijkt van zijn tijdschrift, zal de klant waarschijnlijk niets kopen.

Tot nu toe was de interactie tussen klant en verkoper op een website beperkt tot zogenaamde call-to-actions voor de conversie van bezoekers naar klanten ("Download gratis E-book", scrijf je in, koop, ...), van A/B split-testing en van landing-pages die zijn geoptimaliseerd voor verschillende segmenten bezoekers (kijkers, vergelijkers en kopers). Maar pagina's reageren niet op individuele bezoekers. Het verkoopverhaal op de website is altijd hetzelfde. De call-to-actions zijn altijd hetzelfde (en er zijn er te veel om in te kunnen spelen op zowel kijkers, vergelijkers als kopers). In de resultaten van A/B split-testing en analytics is geen onderscheid te maken tussen kijkers, vergelijkers en kopers. Kortom, de hele online verkoopervaring is er een met een verveelde verkoper die niet luistert naar de klant en steeds hetzelfde riedeltje opdreunt ongeacht de klant.

Zou het niet mooi zijn als dat anders kon? Als een pagina zijn call-to-actions, inhoud, vormgeving, etc. zou kunnen aanpassen op basis van het gedrag van individuele bezoekers?

Artificial Intelligence in webdesign

De term "Artificial Intelligence" klinkt mooier, maar praktisch gezien hebben we het eigenlijk altijd over "Machine learning". Machine learning omvat het vermogen van software om patronen in data te herkennen en die patronen zelfstandig te interpreteren (zonder inmenging van mensen).

Voorbeelden

  • Suggesties - suggereer items (producten/artikelen) waar iemand waarschijnlijk in ge├»nteresseerd is op basis van eerder bekeken items.
  • Filters - Social Media feeds gebruiken A.I. om te bepalen welke berichten ze wel/niet tonen. Anders zouden het al snel teveel zijn.
  • Reclame - Overal op internet zien we gepersonaliseerde reclame
  • Security - Denk aan de waarschuwingen die je soms ontvangt van je bank als je een uitzonderlijke transactie doet
  • ...

Hoewel het voor de hand ligt om voor Python te kiezen wanneer we het hebben over machine learning, is het tegenwoordig dankzij betere processoren en hardware acceleration (vooral op smartphones) mogelijk om javascript te gebruiken om machine learning algoritmes te schrijven, trainen en gebruiken. Deze ontwikkeling is extra relevant omdat de toegenomen bewustwording rondom privacy het steeds aantrekkelijker maakt om AI toe te passen binnen de browser (zonder dat data naar een server wordt gestuurd).

Tijdens de kennisoverdracht avond van vrijdag 22 november keken we daarom vanaf 19:00 uur naar Machine learning in the browser.

Javascript frameworks

Er bestaan javascript frameworks die patronen in foto's, video en geluid kunnen herkennen en om je voorkeuren te voorspellen. Deze maken gebruik van Artificial Neural Networks (ANNs),  complexe systemen die nabootsen hoe onze hersenen verbindingen leggen.

Enkele voorbeelden:

Voor toepassingen in webdesign kunnen we A.I. gebruiken om de voorkeuren van een bezoeker te ontdekken en op basis van die voorkeuren de volgorde van content, het kleurgebruik en het taalgebruik op de website aan te passen aan een individuele gebruiker. Dankzij javascript kunnen we dat doen zonder dat deze data ooit naar de server wordt gestuurd en we kunnen deze voorkeuren opslaan in de browser.

Profiling en het gebrek aan "Big Data"

Natuurlijk moeten we eerst een profiel opstellen voor een bezoeker (http://stevenmiller888.github.io/mindjs.net/). Dat doen we aan de hand van de interacties van de bezoeker met onze website (vooral clicks maar ook bijvoorbeeld tijd op pagina). Het probleem is natuurlijk dat er relatief veel clicks nodig zijn voordat je voorkeuren kunt gaan voorspellen. Bezoekers moeten dus lang en/of vaak actief zijn op een site. Dat is een probleem want hiermee vallen de meeste websites af. Door de data van meerdere bezoekers op te slaan op de server zou je natuurlijk een soort algemeen profiel kunnen opstellen van gemiddelde voorkeuren maar omdat wij ons hier beperken tot javascript is dat nu geen optie. 

Het gebruik van scroll pauzes

Toen kwam ik op het idee om pauzes in het scrollen op een pagina te gebruiken voor het opstellen van een profiel. Veel websites maken op hun homepagina gebruik van een langgerekt ontwerp dat een soort samenvatting geeft van de website. Bezoekers scrollen door dat ontwerp terwijl ze de pagina scannen. 

  • nieuwe bezoeker komt op website
  • nadat de bezoeker stopt met scrollen wacht je X ms om onderscheidt te maken tussen bezoekers die lezen en bezoekers die hun vinger verplaatsen op het scherm
  • je identificeert de ID van het kopje of de foto die op dat moment in beeld is en slaat die op
  • deze data geef je door aan Mind.js
  • Mind.js past de call-to-sctions, het taalgebruik, etc. op de website aan op basis van de voorspellingen die Mind.js doet aan de hand van de opgeslagen scroll pauzes

Het is dan belangrijk dat de pagina geen links of call-to-actions bevat die dit proces kunnen verstoren (de bezoeker naar een andere pagina sturen). Simpel gezegd mag de bezoeker even genieten van een rustige beleving om daarna gepersonaliseerde call-to-actions gepresenteerd te krijgen. Frameworks zoals Vue.js maken het gemakkelijk om real-time kleine aanpassingen te doen aan het taalgebruik, afbeeldingen en de call-to-actions op een website.

Tijdens deze meetup wisselden we hierover van gedachten.

Ethiek

Bij de term Machine Learning is het voor iedereen duidelijk dat het om een objectieve interpretatie van data gaat, om statistiek. We weten inmiddels dat de term term Artificial Intelligence eigenlijk op hetzelfde neerkomt, maar interessanter klinkt. 

Maar er is nog een ander verschil tussen deze twee termen.

Heel veel projecten rondom Machine Learning (bijvoorbeeld van Google of Facebook) maken gebruik van ingebouwde correcties om ongewenste uitkomsten te voorkomen. Met andere woorden, correcties die ervoor zorgen dat de resultaten zich conformeren aan bepaalde gewenste beginselen. In tegenstelling tot de term Machine Learning, suggereert de term Artificial Intelligence dat de discrepantie tussen statistiek en interpretatie niet wordt toegewezen aan ideologie  maar aan intelligentie. In tegenstelling tot de term Machine Learning (die verduidelijkt waar we het over hebben), doet de term Artificial Intelligence het omgekeerde. 

Zo hanteert Facebook een ideologisch uitgangspunt dat er niet slechts 2 geslachten zijn maar inmiddels geloof ik 71 (BRON). Als dat je uitgangspunt is mogen de uitkomsten van Machine Learning geen patronen blootleggen die met 93% zekerheid kunnen voorspellen of iemand man of vrouw is (BRON). Artificial Intelligence biedt dan de mogelijkheid om de uitkomsten te corrigeren. Door de term Artificial Intelligence te gebruiken wijs je de gecorrigeerde uitkomst van de som 2 + 2 = 8 toe aan intelligentie. In werkelijkheid hebben we het natuurlijk gewoon over ideologisch gemotiveerde correcties (BRON). Dat is gevaarlijk, een mens kan niet vliegen door hard met zijn armen te wapperen, hoezeer hij dat ook gelooft. Dat is voor sociale wetenschappen niet anders en ook de gevolgen zijn niet perse kleiner al vallen er niet meteen vliegtuigen uit de lucht. Het toekomstig onethisch gebruik van A.I. ligt al besloten in de term (zie filologie). Voor het voorspellen ervan heb je net zo min een glazen bol nodig als voor het voorspellen dat een baksteen die je omhoog werpt weer omlaag zal vallen.

https://www.volkskrant.nl/nieuws-achtergrond/hoe-een-chinese-supercomputer-honderdduizenden-onschuldigen-preventief-laat-opsluiten~b1b6aa682/

The Conditional Pixel is een handelsnaam van:

briddle logo