View on GitHub

Data Scopes workshop materials

Data Scopes Workshop, 2-30 September 2019

Workshop Home | Algemeen | Dag 1 | Dag 2 | Dag 3 | Dag 4 | Dag 5 | Data Scopes Home |

TvG Opdracht deel 3: Toegangen maken met Open Refine

Eerdere delen TvG opdracht:

Open een document voor het bijhouden van data interacties om tot data scope te komen en overwegingen daarbij. Gebruik bij voorkeur een nieuw Google Doc in de workshop drive folder op Google Drive, zodat alle aantekeningen bij elkaar staan zodat we die aan het eind de dag makkelijk kunnen vergelijken.

Introductie

Met grep kun je veel, gevarieerd en interessante output genereren, maar zeker als het veel is, is het soms moeilijk om er verder grip op te krijgen zonder naar het materiaal zelf te gaan. Een van de voordelen om bestandsnamen in de grep output te bewaren is dat je daarmee de informatie hebt om van een treffer naar een specifieke pagina in een specifieke editie te gaan.

Maar de treffers bevatten vaak veel varianten van namen of concepten die je zou willen normaliseren, en wellicht wil je ook meerdere treffers groeperen onder een breder trefwoord. Daar gaat het laatste deel van de TvG opdracht over.

Indices maken

Een mogelijkheid voor het verder bewerken van de grep output is om het om te vormen tot een index, waarin je verschillende lagen van structuur kunt aanbrengen. Hiermee creeer je nieuwe ingangen tot het TvG corpus waarmee je (of iemand anders) in verdere analyse makkelijker naar specifieke delen van het materiaal kunt springen voor close reading of selecties kunt maken van pagina’s gebaseerd op relevante indextermen voor distant reading. Een handige tool voor dit soort data-transformaties is Open Refine.

Open Refine

Open Refine lijkt in eerste instantie veel op spreadsheet programma’s, maar enige experimentatie ermee laat zien dat het heel andere doeleinden heeft. Net als de UNIX command line tools biedt het eindeloos veel geavanceerde opties om complexe bewerkingen uit te voeren, maar ook een aantal erg simpele maar zeer nuttige opties om data te normaliseren, selecteren, linken en classificeren (en zelfs modelleren, maar daar besteed deze opdracht geen aandacht aan).

Ook in Open Refine kun je en zul je op allerlei manieren reguliere expressies gebruiken voor de verschillende Data Scope activiteiten. De notatie zal dus hopelijk herkenbaar zijn en steeds vertrouwder voelen.

Voor raadpleging tijdens en na de opdracht, een handige cheat sheet voor Open Refine.

Geprepareerde grep bestanden

Hieronder zijn links naar een aantal bestanden met grep resultaten die je kunt gebruiken voor bovenstaande opdracht. Bij elk bestand staat de command line opdracht waarmee deze gegenereerd is zodat je het zelf na kunt gaan.

grep -r -E -o "(\w|-)*politiek(\w|-)*" tvg_*/ | grep -v -E "toc\.(csv|xml)" > tvg_politiek.txt
grep -r -E  -o -w "([A-Z](\w|-)+[- ])+[oO]pstand" tvg_*/ | grep -v -E "toc\.(csv|xml)" > tvg_opstand_pre.txt
grep -r -E  -o -w "[oO]pstand( \w+){,3} ([A-Z](\w|-)+ )+" tvg_*/ | grep -v -E "toc\.(csv|xml)" > tvg_opstand_post.txt
cat tvg_opstand_p* > tvg_opstand.txt
grep -r -E  --color -o -w "\w+ ([A-Z](\w|-)+[- ])+[oO]orlog" tvg_*/ | grep -v -E "toc\.(csv|xml)" > tvg_oorlog_pre.txt
grep -r -E  --color -o -w "\w+ [oO]orlog( (in|van|met|tussen|tegen)( \w+){,2}) ([A-Z](\w|-)+ )+" tvg_*/ | grep -v -E "toc\.(csv|xml)" > tvg_oorlog_post.txt
cat tvg_oorlog_p* > tvg_oorlog.txt
grep -r -E  --color -o -w "[mM]inister (([A-Z]\.)+ )*((van|de|den|der|te) )*([A-Z](\w|-)+)( [A-Z](\w|-)+)*" tvg_*/ | grep -v -E "toc\.(csv|xml)" > ../tvg_minister.txt
grep -r -E  --color -o -w "([A-Z](\w|-)+ )*(\w|-)+[mM]igra[nt](\w|-)+(( \w+){,2}( [A-Z0-9](\w|-)+)+)*" tvg_*/ | grep -v -E "toc\.(csv|xml)" > tvg_migratie.txt
grep -r -E  --color -o -w "([A-Z](\w|-)+ )*([gG]rondwet|[cC]onstitutie)( van ([A-Z0-9](\w|-)+ )*)*" tvg_*/ | grep -v -E "toc\.(csv|xml)" > tvg_grondwet.txt
grep -r -E  -i -o "\w*vrouw\w*" tvg_*/ > tvg_vrouw.txt
grep -r -E  -o -w "([A-Z](\w|-)+[- ])+(\w+[, ]){,3}[oO]ranje([ -][A-Z](\w|-)+)*" tvg_*/ | grep -v -E "toc\.(csv|xml)" > tvg_oranje.txt