diff --git a/README.md b/README.md index d31c876..a91796d 100644 --- a/README.md +++ b/README.md @@ -1,78 +1,22 @@ -# Verzamelen van nieuwsberichten +# Actuele nieuwsberichten -## Bronnen: verzamelen +- voor Alpino: nieuwe namen en nieuwe woorden +- voor *Woord van de maand* ook: toplijsten van personen, plaatsen, + organisaties en andere namen (TODO: url van webapp) -Elke directory waarvan de naam met een hoofdletter begint is voor een -enkele nieuwsbron. - -De onverwerkte berichten worden opgeslagen in een subdirectory -jaar/maand/dag voor NieuwsNL en in subdirectory jaar/weeknummer voor de -overige bronnen. - -Het formaat van de data verschilt per bron. Soms is er voor elk bericht -alleen een XML-bestand (`*.xml`), een fragment afkomstig uit de -RSS-feed, waar heel de tekst en alle gegevens al in staan. Wanneer de -RSS-feed niet de complete tekst bevat, dan worden de HTML-pagina's van -nieuwe berichten gedownload, en wordt daar de tekst uit gehaald. Dan -krijg je bestanden zoals `*.json` en/of `*.txt`. - -Als er fouten bij het verzamelen zijn dan zijn er bestanden op `*.err` -en mogelijk `*.html`. - -Gewoonlijk als er iets mis gaat probeert de software een uur later -dezelfde berichten weer te verwerken. Om dat te voorkomen kunnen -bestanden handmatig hernoemd worden van `*.err` naar `*.skip`. Voor -berichten van een type waarvan bekend is dat ze geen tekst bevatten -worden automatisch bestanden op `*.skip` gemaakt. - -## Verwerking - -Elke dag voor NieuwsNL en alleen op dinsdag voor de overige bronnen -worden de teksten verwerkt. De teksten worden omgezet naar -getokeniseerde zinnen met labels, door Alpino geparst, en voorzien van -metadata. - -Dit gebeurt door de scripts `txt2corpus.sh` van elke bron. De scripts -variëren per bron omdat het formaat waarin de teksten aanwezig zijn -verschillen per bron. - -De resultaten staan in de subdirectory's `corpus` van elke bron. - -## Analyse - -Op woensdag worden de geparste zinnen van de afgelopen week geanalyseerd. -(De data voor NieuwsNL worden hierbij samengevoegd in één week.) Er -worden queries uitgevoerd, tellingen gedaan, ranglijsten gemaakt. Voor -sommige queries wordt een top 20 samengesteld van meest voorkomende -items die nog niet eerder in de top 20 stonden. - -Voor de analyse worden bronnen samengevoegd in onderdelen: algemeen, -amsterdam, groningen, literatuur, vlaanderen. De resultaten worden -bij elkaar opgeslagen in directory `data`. - -Uit de analyse worden de data gehaald die nodig zijn voor de -webapp, en opgeslagen als json, in subdirectory `data/json`. - -Dit alles gebeurt door het script `collect.sh` - -Je kunt de analyse ook handmatig doen, met het script `query.sh` - - -## Uitvoering - -Alles gebeurt vanuit cron. Foutmeldingen en waarschuwingen worden per -mail verstuurd door cron. - -### crontab van p209327@colossus - -Is `/net/corpora` schrijfbaar? +Voor interactief gebruik: ``` -# m h dom mon dow command -2 * * * * /net/aistaff/kleiweg/services/nfs/test.sh +query.sh ``` -Berichten verzamelen +## 1. Verzamelen van berichten + +Berichten van NieuwsNL in `NieuwsNL/yyyy/mm/dd/` + +Overigen in `[A-Z]*/yyyy/ww/` (weeknummer) + +crontab van p209327@colossus ``` # m h dom mon dow command @@ -95,9 +39,13 @@ Berichten verzamelen 19 * * * * /net/corpora/nlnieuws/VRT/vrt ``` -Nieuws verwerken: tekst omzetten naar zinnen, parsen, metadata toevoegen +## 2. Teksten verwerken: omzetten naar zinnen, parsen, metadata toevoegen -NieuwsNL elke dag, overigen alleen op dinsdag +Uitvoer in `[A-Z]*/corpus/` + +NieuwsNL elke dag, de rest alleen op dinsdag + +crontab van p209327@colossus ``` # m h dom mon dow command @@ -120,24 +68,24 @@ NieuwsNL elke dag, overigen alleen op dinsdag 0 1 * * 2 /net/corpora/nlnieuws/VRT/txt2corpus.sh ``` -Ging alles goed: zo niet, dan kunnen er nog lockfile zijn +## 3. Queries uitvoeren, tellingen doen -``` -# m h dom mon dow command -50 0 * * * find /net/corpora/nlnieuws -name lock -``` +Tellingen in `data/` -Op woensdag alles verzamelen: queries uitvoeren, data die nodig is voor -webapp omzetten naar json +Gegevens voor webapp in `data/json/` + +Op woensdag + +crontab van p209327@colossus ``` # m h dom mon dow command 0 1 * * 3 /net/corpora/nlnieuws/collect.sh ``` -### crontab van f109308@colossus +## 4. Data in json op webplatform zetten -Json-bestanden voor de webapp overzetten naar het webplatform +crontab van f109308@colossus ``` # m h dom mon dow command diff --git a/collect.sh b/collect.sh index c67ea4e..3f88440 100755 --- a/collect.sh +++ b/collect.sh @@ -165,3 +165,7 @@ data2json $ds 1 > json/DATA-$ds-1.json data2json $ds 4 > json/DATA-$ds-4.json dates2json > json/index1.json dates2json > json/index4.json + +# rechten bijwerken +chmod -R g+w /net/corpora/nlnieuws +chgrp -R software /net/corpora/nlnieuws