20 december 2021

In deze blog laat ik de resultaten zien van tekstanalyse op een groot aantal nieuwsartikelen (ruim 8.000) over corona. Wat zijn de belangrijkste thema’s en wie zijn de hoofdrolspelers?  Voor de analyse maak ik gebruik van topic modeling en Named Entity Recognition.

In verhalen verwoorden we hoe wij de wereld om ons heen zien en beleven.  Alles wat we in die verhalen uitdrukken bevat een enorme hoeveelheid informatie. De onderwerpen die we gebruiken, de toon van het verhaal, woordkeuze, etc. Al die dingen geven expliciete en impliciete instructies hoe we het verhaal moeten interpreteren. Iedere schrijver heeft zijn eigen stijl en gebruikt taal om feiten en gevoelens uit te drukken. Dit dynamische (voor computers chaotische) karakter maakt het voor computers moeilijk om al de verschillende dimensies van een verhaal te structureren en te analyseren.

We zijn dankzij de snelle ontwikkelingen op het gebied van onder andere machine learning steeds beter in staat om geautomatiseerd teksten te analyseren en verhalen te duiden.  Natural Language Processing (NLP) is het vakgebied dat zich hiermee bezig houdt.

In een serie blogs laat ik voor een aantal veel gebruikte NLP-taken zien hoe ze helpen inzicht uit tekst te halen.

Topic modeling

Topic modeling is vaak een eerste stap die ik neem om meer inzicht te krijgen in teksten. Waar gaan teksten over? Wat zijn de onderwerpen? Veel machine learning algoritmes moeten eerst getraind worden om een bepaalde taak uit te voeren. Dit is bij het topic modeling algoritme niet het geval. Het algoritme doorloopt alle artikelen en creëert clusters van gelijksoortige woorden (keywords). De onderzoeker zal aan de hand van deze keywords zelf met een goede naam voor de topics moeten komen.

Voor deze blog heb ik ruim 8.000 nieuwsartikelen geselecteerd met daarin de woorden: coronavirus en covid. De periode loopt van januari tot en met september van dit jaar. Doelstelling is om te kijken of we met behulp het topic modeling algoritme de belangrijkste onderwerpen in nieuwsartikelen over Covid-19 kunnen bepalen. Welke verhalen krijgen in de media de meeste aandacht? In onderstaande tabel staat de top 5 belangrijkste topics.

 Topic Keywords Aandeel
Leven en werk goed, leven, nieuw, kind, vaak, jong, ander, oud, belangrijk, aantal 49%
Aantal besmettingen en ziekenhuis nieuw, ziekenhuis, besmetting, afgelopen, melden, patiënt, hoog, coronapatiënt, cijfer 15%
Regering landen landen, regering, nieuw, maand, duitsland, frankrijk, nederland, bevolking, coronavirus, vorig 10%
Vaccineren en prikken vaccin, vaccineren, prik, vaccinatie, prikken, vaccinatiegraad, beschermen, janssen, jong, astrazeneca 9%
Testen Nederland, coronavirus, gelden, augustus, juli, verplichten, testen, mogelijk, test, reiziger 6%

Voor het topic modeling model heb ik het LDA algoritme gebruikt. Dit algoritme kan meerdere topics in één artikel benoemen. In onderstaand figuur heeft het topic modeling algoritme bijvoorbeeld 3 topics in het document ontdekt (rood, geel en groen).  Het onderstaande figuur laat zien dat ‘rood’ het belangrijkste topic is. Dit komt omdat topic ‘rood’ meer woorden in het document heeft dan de andere 2 topics. In de verdere analyse wijzen we nieuwsartikelen toe aan het belangrijkste topic.

Bron: https://www.sciencedirect.com/science/article/abs/pii/S095741741930154X

Topic modeling (LDA algoritme)

Namend Entity recognization (NER)

Om een nog beter beeld van ieder topic te krijgen heb ik met behulp van NER de belangrijkste hoofdpersonen bepaald. NER is  een NLP-taak waarmee je ‘entities’ uit teksten kunt filteren. Entities zijn vaak namen van personen, organisaties, locaties, etc.  In deze serie blogs zal ik in een blog apart aandacht besteden aan NER.

Verhaallijn

Ik heb hieronder voor de 5 belangrijkste topics typerende  tekstfragmenten en de hoofpersonen weergegeven. Dit geeft een goed beeld van waar de topics over gaan.

Topic 1: werk en leven

“Onze medewerkers blijven zich onafgebroken inzetten voor goede zorg voor alle patiënten en dat verdient een groot compliment. Het uitstellen van operaties heeft direct invloed op de kwaliteit van leven van patiënten.”

Hoofdrolspelers

Mark Rutte, Hugo de Jonge, Donald Trump

 Topic 2: Aantal besmettingen en ziekenhuizen

“Dinsdag werden slechts 45 nieuwe besmettingen vastgesteld, het laagste aantal sinds eind september.. Afgelopen week bleef de druk op de ziekenhuizen onverminderd hoog, concludeert het RIVM.”

Hoofdrolspelers

Ernst Kuipers, Hugo de Jonge, Mark Rutte

Topic 3: Regering landen

“Dat soort bijeenkomsten mogen weer, nadat zijn regering de afgelopen weken het openbare leven stap voor stap van het slot haalde. De Verenigde Staten bijvoorbeeld zeiden ronduit eerst de eigen bevolking volledig te willen vaccineren, voordat Washington bereid was andere landen te helpen.”

Hoofdrolspelers

Boris Johnson, Hugo de Jonge, Joe Biden

Topic 4: vaccineren en prikken

“Ongeveer vijftig procent van alle Twentenaren van 18 jaar en ouder is nu ten minste één keer gevaccineerd. In andere Europese landen waar het vaccin weer gebruikt gaat worden, zoals Ierland, worden de eerste prikken morgen al gezet”

Hoofdrolspelers

Hugo de Jonge, van Egmond, Diederik Gommers

Topic 5: maatregelen die gelden

“Lees daarom voor vertrek het actuele reisadvies op wijsopreis.nl en welke maatregelen gelden in het land van bestemming. Daarnaast kunnen burgers ook met een bewijs dat zij het coronavirus gehad hebben of een recent negatief testbewijs een digitale coronareispas krijgen.”

Hoofdrolspelers

Hugo de Jonge, Mark Rutte, Joe Biden

De analyse resultaten heb ik in onderstaand interactief dashboard gevisualiseerd.

Instructies Dashboard

Rechtsonder het dashboard vind je het icoon waarmee je het dashboard beeldvullend kunt weergeven. Via de topic filter kun je de topics selecteren. Het model heeft in totaal 12 topics benoemd. Het dasboard pas zich aan de selectie aan. Wanneer je met de cursor op een grafiek staat verschijnen er rechts bovenin een icoontje met de focusmode. Door op de focusmode te klikken wordt de grafiek vergroot. Conclusie

Topic modeling maakt de onderwerpen (topics) van teksten inzichtelijk zonder dat je deze gelezen hoeft te hebben. Wanneer je teksten wilt structureren heb je vaak wel een (onderbuik) gevoel van wat die  onderwerpen zouden kunnen zijn. Topic modeling geeft een meer wetenschappelijke benadering om de onderwerpen te bepalen.  Het kan zijn dat je onderbuik gevoel wordt bevestigd, het kan ook zijn dat het model onderwerpen benoemt waar je zelf nog niet aan  hebt gedacht.

Je kunt topic modeling gebruiken om conclusies te trekken. Aan de hand van het bovenstaande dashboard kun je bijvoorbeeld concluderen dat corona in relatie tot Leven & Werk de meeste aandacht krijgt, dat er over Politie & Demonstreren voornamelijk in januari werd geschreven,  dat Ernst Kuipers, Hugo de Jonge, Mark Rutte de meeste genoemde personen zijn in artikelen uit het topic ‘Aantal besmettingen en ziekenhuizen’.

Topic modeling is van toegevoegde waarde voor grote datasets die je redelijkerwijs niet handmatig kan analyseren. Je kunt het gebruiken om teksten te structuren en te clusteren. Maar je kunt ook al de eerste conclusies uit de resultaten trekken. Afhankelijk van de informatie behoefte kun je topic modeling ook in combinatie met andere NLP-taken gebruiken zoals: tekst classificatie, Named entity Recognizion (NER) of sentiment analyse.