- Super Vision
- Posts
- #2 Computer says 'whoa' 💬😶
#2 Computer says 'whoa' 💬😶
Hi 👋
Dit is de tweede Super Vision, jouw wekelijkse nieuwsbrief vol met creatieve toepassingen van AI & machine learning. Welkom aan alle nieuwe abonnees. (Ps. dank voor de ❤️, Halfvet en Klikdinges)
Deze week wil ik het met je hebben over computers en taal. Die kruisbestuiving heet in jargon NLP. En dan doel ik niet op het populaire fenomeen uit de 90's met hetzelfde acroniem: neuro linguïstisch programmeren... Tsjakka, over hete kooltjes lopen, Emile Ratelband, remember?!
Nee, in de context van AI staat NLP voor Natural Language Processing. In deze nieuwsbrief leg ik uit wat NLP is (wat het kan en waar je het al ziet), schets ik use cases voor mediamakers, tip ik online tools om mee te starten en heb ik nog wat food for thought...
📗Geschatte leestijd is 9 minuten. Veel plezier in ieder geval!
Groet, Laurens Vreekamp, Future Journalism Today
Ps. Volgende week behandel ik natural language generation. Heb je daar al mee gewerkt of ken je een interessant voorbeeld of tool? Laat het me weten: [email protected]
Natural Language Processing, dus!
Laten we beginnen met een redelijk heftig onderzoeksproject uit de Nederlandse journalistiek, Misogynie als politiek wapen:
In aanloop naar de Tweede Kamerverkiezingen [in Nederland, red.], waar een historisch aantal vrouwelijke lijsttrekkers op het stembiljet staan, deed de Utrecht Data School (Universiteit Utrecht) samen met De Groene Amsterdammer onderzoek naar de rol van seksisme in het politieke debat op sociale media en in de pers.
Het team van Coen van de Ven, onderzoeksjournalist bij De Groene, wilde o.a. het volgende weten:
Hoeveel haat ontvangen vrouwelijke (kandidaat-)Kamerleden dagelijks, en waar is die haat op gericht?
Om deze vraag te beantwoorden had de Utrecht Data School maar liefst 1 miljoen Nederlandstalige tweets gedownload (scrapen, in jargon), die verstuurd waren tussen 1 oktober 2020 en 26 februari 2021.
Tot zover the easy part. De volgende stap was om een willekeurige selectie van zo'n 500 tweets handmatig en stuk voor stuk te classificeren. Dit deden de teamleden door in een spreadsheet aan elke afzonderlijke tweet een label toe te kennen. Tweet voor tweet voor tweet.
Haat of agressie?
Nu vraag je je misschien af: hoe en wanneer bepaal je of een tweet 'haatdragend' of 'agressief' is? Door een hiervoor bestaand annotatieschema te gebruiken dat Amnesty International ook hanteert, kwamen ze bij De Groene al een heel eind.
Hier het uiteindelijke schema van het onderzoeksteam, met voorbeeld-tweet:
Maar, en dit zul je al wel aanvoelen: de inhoud van sommige tweets bleek multi-interpretabel te zijn. Een tweet die door twee mensen verschillend werd gelabeld, zorgde dan ook voor de nodige discussie binnen het team.
En voor wie nu denkt dat dergelijke ambiguïteit vooral bij dit soort heftige onderwerpen speelt, heb ik deze: wanneer is iets een dop of een deksel? Hint: mayonaise...
Uiteindelijk kon het team aan de hand van die gelabelde voorbeelden een machine learning model trainen - zie hier een schoolvoorbeeld van supervised learning - waarmee die andere 1 miljoen tweets (minus die 500 gelabelde) konden worden geclassificeerd - door de AI dus!
De volledige verantwoording van het onderzoek vind je hier. Het leest trouwens meteen ook als handleiding ;-)
1. Wat is Natural Language Processing?
Met natural language processing (NLP), het best te vertalen als ‘taaltechnologie’, kun je tekst en spraak verwerken met de kracht van AI. Eigenlijk gaat het over verschillende dingen wanneer mensen de term NLP gebruiken:
Natural language generation (NLG)
Dit betreft het genereren en creëren van teksten (al dan niet uitgesproken), op basis van miljoenen andere, reeds bestaande teksten. Die teksten kunnen overal vandaan komen (o.a. uit Wikipedia, boeken, kranten, literatuur, wetenschapspublicaties, Reddit, het Viva-forum, Twitter, etc.) en worden opgeslagen, verwerkt en verrijkt in zogeheten Large Language Models (LLM's). Wie trouwens natural language generation zegt, zegt vrijwel meteen ook GPT-3.
⏯Volgende week meer over natural language generation.
Natural language understanding (NLU)
Het understanding-deel van NLP gaat over het verwerken van tekst en het begrijpen ervan. En dat laatste is nogal een grote uitdaging voor computers, want: context!
Echter, met behulp van hedendaagse AI kun je tekst zowel syntactisch (zinsopbouw, grammatica en structuur) als semantisch (betekenis) goed verwerken. En het mooie is: dit mogen zogeheten ongestructureerde teksten zijn. En dan bedoel ik niet verhaalstructuur of vraag-antwoord-structuur. Nee, de teksten hoeven geen vooraf bepaalde of afgesproken opmaak of formaat te volgen. Denk dan aan tekens, woorden, zinnen, alinea's en pagina's die zich bevinden in verschillende documenten zoals tekstbestanden, spreadsheets, databases, PDF-documenten of afbeeldingen.
En omdat de machine learning- en taalmodellen steeds krachtiger zijn geworden (met ook de nodige kanttekeningen, zie Further reading verderop), biedt NLP veel mogelijkheden voor creatieve makers.
2. Waarom moet je iets weten over NLP?
Waar ik vorige week nog schreef over hoe AI je visueel kan helpen tijdens je creatieve proces, middels de StyleGANs, daar gaat deze nieuwsbrief meer over hulp bij tijdrovende klusjes.
Want heb je weleens gedacht of je met behulp van AI ook jouw werk zou kunnen versnellen, vereenvoudigen of verrijken...? Ja, Laurens, wel aan gedacht, maar nooit geprobeerd, want c’mon, waar moet ik beginnen, in godesnaam; Hoedan?!
Oke, look no further: lees gewoon rustig door.
Met de tools die ik vandaag met je deel kun je echt heel eenvoudig, zonder modellen te trainen of te programmeren, gebruik maken van natural language processing tijdens je werk. Maar eerst:
3. Wanneer ga je NLP inzetten?
Hier volgen een paar use cases die ik kan bedenken (en natuurlijk zijn er veel meer):
Bij (journalistiek) onderzoek:
Sneller inzichten en patronen halen uit documenten en teksten. Ik kan me situaties voorstellen waarbij je honderden documenten in verschillende bestandsformaten moet doorspitten, zoals bij WOB-verzoeken, archieven die je hebt verkregen of gelekte documenten die je onder tijdsdruk moet lezen.
Door gebruik te maken van zogeheten named entity recognition (NER in jargon) kun je automatisch plaatsnamen, personen, merken en organisaties herkennen, wat je ongetwijfeld meer grip geeft op het dossier.
Bij concept & creatie:
Gebruik natural language processing bijvoorbeeld voor je onderzoek naar markt, klant, doelgroep, onderwerp, trends en conversaties op social. Gooi alle info (en bijvoorbeeld ook geprinte interviews, Youtube-videos, tv-optredens en social posts) in een NLP-powered blender en leg daardoor snel nieuwe verbanden en krijg inzichten om mee te concepten.
Voor marketeers en copywriters zijn er al een aantal (gratis en betaalde) writing assistance services die je in kunt zetten om teksten te beoordelen en suggesties kan doen.
4. Waar zie je NLP al / kun je het verwachten?
AI-taaltechnologie zit natuurlijk al lang in chatbots van bijv. NMBS en zorgverzekeraars, in slimme assistenten van Amazon en Google, in je spamfilter en in de process flow achter [email protected] die automatisch je PDF-bijlage 'leest' en verwerkt.
Het wordt natuurlijk (pun intended!) pas echt interessant als je de technologie naar je eigen hand kunt zetten.
Wat andere makers zoal zelf hebben gebouwd met behulp van NLP?
Het Peruviaanse onderzoeksjournalistieke collectief Ojo Publico ontwikkelde een algoritme genaamd Funes om corruptie te detecteren bij overheidsprojecten.
Nu.nl gebruikt machine learning voor hun comment moderation.
De Californische krant KPCC/ The LAist gebruikte NLP om veelgestelde vragen aan het begin van de corona lockdown te categoriseren en lezers zo sneller naar een passend antwoord-artikel te verwijzen.
Verder kom je zogeheten automated journalism tegen bij verslagen over sport, beurskoersen en verkiezingsuitslagen (RTL, NOS).
En uiteraard ga je nog veel meer NLP zien bij customer services, en zal het steeds meer gebruikt gaan worden voor het genereren van automatische samenvattingen van artikelen, sportwedstrijden en andere tv-uitzendingen.
5. Zelf experimenteren?
👉Descript - Deze applicatie (die ook deels in de browser werkt) is een heel veelzijdige tool waarmee je o.a. geluid en video transcribeert, en vervolgens monteert alsof het een Google Doc of Word-document is. Descript herkent de stemmen van verschillende sprekers, verwijdert automatisch uh’s, ah’s, stiltes en filler words (“like, you know”) en genereert social media snippets met audio en captions. Let op: vooralsnog alleen Engelstalig.
Named entity recognisers
👉Pinpoint: herkent personen, locaties, organisaties (NER), biedt daarbij geavanceerd zoeken (pistool = geweer = wapen = weapon), 'leest' ook (schuin) ingescande documenten, verticale handschriften, bonnetjes en maakt ze doorzoekbaar. Kan zelfs handgeschreven teksten op protestborden (ook in niet-Westerse schriften) herkennen en teksten in foto’s van slides, op tv’s en in etiketten. Werkt vrij goed met Nederlandse taal en transcribeert ook Nederlandse audio-opnamen redelijk goed.
👉Datashare: qua NER vergelijkbaar met Pinpoint. Deze tool is ontwikkeld door onderzoeksjournalisten van de International Consortium of Investigative Journalists, werkt lokaal en ook offline. In principe taal-agnostisch maar werkt in mijn ervaring best met Engelstalige documenten. Let op: installatie vergt gevorderde technische kennis.
Teksthulp / SEO optimizer
👉 Grammarly AI-powered schrijf-assistent die je kunt gebruiken binnen o.a. Slack, Jira, Twitter, Outlook, Google Docs
👉 Loyal AI - een add-on voor Google Docs. Helpt je bij het schrijven door similar content van andere bronnen realtime te tonen in de kantlijn.
Volgende week: text generators die ook Nederlands aankunnen ;-)
Text-to-design
Y Combinator alumnus Sharif Shameem bouwde een layout generator waarbij je moet beschrijven wat voor interface element je wil tonen. Ondertussen doorgeëvolueerd naar Debuild.co 👈
Nog een minuut over? Dit kan NLP allemaal:
Waar natural language understanding zoal voor wordt gebruikt:
tref- en kernwoorden herkennen;
teksten classificeren: deze comment is strafbaar om reden x,y of z, deze niet;
vertalingen maken;
antwoorden destilleren;
sentimenten analyseren (de kaart van pizzarestaurant X krijgt in de recensies weinig liefde, de bediening veel);
entiteiten extraheren d.m.v. named entity recognition (NER).
En dit nog niet zo goed..
Hier een selectief aantal voorbeelden van klassieke NER-problemen:
🟠- koningshuizen en voetbalelftallen die worden aangeduid met dezelfde kleur;
🅧🅧 - muziekbands die zich hebben vernoemd naar uitspraken, gezegdes of andere aanduidingen;
dialecten, 'slang' en memes;
tweewoordige termen die beide een hoofdletter hebben;
Verslag van een Beatles-optreden in de Nederlandse plaats Blokker;
Politici met een achternaam die ook een plaatsnaam is.
Humor, en dan met name sarcasme, is an NLPain in the ass
Further reading
Een uitgebreide uitleg van NLP vind je bij Hugging Face, en -voor degenen die toch willen/kunnen programmeren- open source modellen en scripts om direct uit te proberen....
Timnit Gebru, Google's AI Ethics co-leader en researcher, deed onderzoek naar bias en racisme in Large Language Models. Na een geschil over een onderzoekspaper over die taalmodellen, ontsloeg Google haar in december 2020. De beslissing leidde tot veel reactie en commotie en richtte de schijnwerpers op toepassingen van NLP.
In deze Wired-coverstory lees je meer over de precieze paper, toedracht, ontwikkelingen, schandalen en consequenties...
Analyze your article's text for gender balance in the sources quoted and people mentioned.