Deze opdracht is een introductie voor topic modeling voor historisch digitaal bronmateriaal. Topic modeling is een manier om inzicht te krijgen in de thematische structuur van grote digitale bronnen. Het wordt veelal gebruikt om serieele bronnen te ontsluiten en te analyseren, waarbij de onderwerpen automatisch afgeleid worden uit het materiaal, en een beeld geven van de ontwikkeling van onderwerpen in die bronnen door de tijd.
Voor de opdracht wordt het gedigitaliseerde corpus van het Tijdschrift voor Geschiedenis (TvG) gebruikt. De jaargangen 1886-2008 zijn digitaal beschikbaar gemaakt via de website van Huygens ING. De data voor de opdracht bestaat uit platte tekstbestanden van gedigitaliseerde versie, in combinatie met metadata die beschrijft uit welke jaargang en welk artikel de tekstbestanden komen. Topic modeling maakt het mogelijk om veranderingen in de besproken onderwerpen in het tijdschrift zichtbaar te maken.
Werk voor de opdracht in kleine groepen van twee of drie personen. Met elkaar kun je makkelijker reflecteren op wat je ziet en doet en wellicht ook makkelijker de vragen beantwoorden.
tvg_data
met 20 jaargangen van het Tijdschrift voor Geschiedenis (TvG). Elke jaargang heeft weer een eigen directory met daarin een tekstbestand (.txt) per pagina van die jaargang,tvg_metadata.csv
dat per TvG pagina (dus per tekstbestand) beschrijft uit welk jaar en welke jaargang deze pagina komt, bij welk artikel het hoort, wie dat geschreven heeft,Voor het uitvoeren van de analyse, worden de stappen in de TMT Quickstart guide gevolgd, maar gebruikmakend van de TvG data.
tvg_01
, om te controlleren dat alles werkt naar behoren: in de TMT, selecteer Input Dir...
en kies vervolgens de directory tvg_01
in de tvg_data
directory. Kies als output directory tvg_ouptut
.De topics die je ziet bevatten veel algemene functiewoorden. Een eerste stap om betere topics te verkrijgen is die functiewoorden verwijderen.
Stopwoorden zijn woorden die veel voorkomen en vooral syntactische functies hebben in de tekst, maar weinig over de inhoud zeggen. In allerlei vormen van inhoudelijke tekstanalyse worden stopwoorden vaak verwijderd. Zo ook in topic modelling
Gebruik eerst de standaard stopwoorden lijst stopwoorden-iso-nl.txt
die in de TvG directory staat (afkomstig van de Stopwords Dutch repository op GitHub). Kies in de TMT voor Optional settings
en in het volgende menu voor Stopword file
, en selecteer dan het stopwoordenbestand. Draai opnieuw de topic modeling analyse.
Waarschijnlijk levert dit al betere resultaten op, maar er zijn nog steeds allerlei stopwoorden te vinden in de topics. Het zijn met name oudere spellingsvarianten van moderne stopwoorden. Dit is een typisch probleem van werken met historisch materiaal: digital tools ontwikkeld voor moderne talen werken niet goed voor ouder materiaal zonder aanpassing.
Probeer nu een alternatieve stopwoordenlijst die ook in de TvG directory staat: tvg_stopwoorden.txt
. Deze bevat een veel langere lijst met zowel moderne als historische stopwoorden en veel andere, korte woorden die weinig inhoudelijk zijn. Als je opnieuw het topic modeling proces draait zul je waarschijnlijk weinig stopwoorden meer tegenkomen.
Vragen:
Vind je nog stopwoorden in de topics? Zo ja, welke? Deze kun je eventueel toevoegen aan het stopwoorden bestand. Als je dat doet, zorg dan dat je het bestand opent in een platte-tekst editor zoals Notepad
en nieuwe stopwoorden elk op een afzonderlijke regel plaatst.
Zijn de topics coherent? Welke topics vertonen thematische samenhang? Zijn er ook topics die een andere vorm van samenhang vertonen?
Kun je topics interpreteren? Probeer inhoudelijke labels te verzinnen voor de topics die je vindt.
In grotere teksten komen meer verschillende woorden voor dus is er meer verbinding tussen woorden. Maar langere teksten hebben ook vaak meer variatie in onderwerpen. Als je langere stukken tekst gebruikt om te modelleren, raken onderwerpen meer vermengd met elkaar in een enkel document. Denk bijvoorbeeld aan het verschil in de variatie aan onderwerpen op een enkele pagina van het Tijdschrift voor Geschiedenis met een volledige jaargang. Er is gekozen om elke pagina als apart document te gebruiken, zodat elke document redelijk gefocust is.
Een enkele jaargang heeft minder onderwerpsvariatie dan een reeks jaargangen, dus wellicht ook minder topics om te modelleren. Met meer jaargangen is het zinniger om het aantal topics dat je wilt vinden te verhogen.
Input Dir
de directory met alle 20 jaargangen, verhoog het aantal topics naar 20 en probeer het opnieuw. Je kunt alvast het metadata-bestand tvg_metadata.csv
gebruiken om straks, in het volgende deel van de opdracht, de resultaten te visualiseren zoals in de Quickstart guide. Vragen:
Zijn alle topics nog samenhangend? Experimenteer met grotere en kleinere aantallen topics.
Vergelijk de topics op basis van 20 jaargangen met de topics op basis van 1 jaargang. Zijn de topics coherenter?
Kun je topics beter interpreteren? Voor hoeveel topics kun je inhoudelijke labels bedenken?
Bekijk de output die de TMT genereert in de output directory die je hebt opgegeven. In de output_html
directory kun je het all_topics.html
bestand vinden. Open deze in je browser en kies het meest coherente of interessante topic. Bekijk de top-ranked documenten.
Volg nu de stappen in de TMT Quickstart guide vanaf Build a pivot table using topics-metadata.csv
, waarmee je in Excel een grafiek kunt maken om de ontwikkeling te zien in de aandacht voor verschillende onderwerpen in het TvG.
Kijk naar de volgende set van topics die de TMT heeft gevonden a.d.h.v. een analyse van alle jaargangen van TvG: 100 topics in 122 jaargangen van TvG.
Probeer passende topic labels te bedenken voor de eerste 10 topics. Sommige topics zijn makkelijker te benoemen dan andere.
Vergelijk de labels die je hebt bedacht met een andere groep. Over welke topics zijn jullie het eens? Over welke niet? In hoeverre gaat het om een verschil in interpretatie en in hoeverre om verschillende woorkeus? Wat is een mogelijke reden voor verschillende interpretaties?
Download het bestand tvg_all_topics_averages.csv en importeer het met Excel. Hierin zijn voor de bovenstaande 100 topics de gemiddelde topic scores per jaar uitgerekend voor de jaren 1886-1992. Maak lijngrafieken voor enkele topics. Welke trends zie je over deze periode van ruim 100 jaar? Wat zijn mogelijke historische verklaringen voor de verschillende pieken en dalen?