Deze opdrachten zijn onderdeel van een cursus gegeven in de opleiding Informatiekunde van de Rijksuniversiteit Groningen.
Bij deze opdrachten gebruiken we het Wikipediadeel van het Lassykleincorpus (7341 zinnen; 98107 tokens). De locatie van dit deelcorpus op de practicummachines is /net/corpora/pt11/lassy . Zinnen met specifieke woorden van dit deelcorpus kunnen met het volgende terminalcommando worden opgezocht:
$ /net/corpora/pt11/dtsearch -s '//node[@word="stap"]' lassy/*xml lassy/wiki-154.p.12.s.2.xml Bij deze [stap] in de federalisering werd de machtspositie van de Franstaligen in België beschermd . lassy/wiki-8628.p.4.s.6.xml Elke [stap] in dit proces is uiteindelijk van invloed op de smaak van het bier .
Het aantal zinnen met een bepaald token kan worden geteld door | wc -l achter het commando te plaatsen:
$ /net/corpora/pt11/dtsearch -s '//node[@word="stap"]' lassy/*xml | wc -l 2
Een samenvatting van de attributen van de resultaten kan worden verkregen door de optie -l in plaats van -s te gebruiken:
$ /net/corpora/pt11/dtsearch -l '//node[@word="stap"]' lassy/*xml postag: 11 N(soort,ev,basis,zijd,stan) pos: 9 noun 2 adv rel: 8 hd 2 mwp 1 obj1 cat:
Op de practicummachines is ook grafische uitvoer beschikbaar door bij het commando de optie -v in plaats van -s te gebruiken:
$ /net/corpora/pt11/dtsearch -v '//node[@word="stap"]' lassy/*xml (grafische uitvoer)
Gebruik het commando dtsearch om de volgende vragen te beantwoorden:
Opdracht 6.1
Geef in deze en de volgende opdrachten als resultaat zowel de antwoorden op de vragen als de commando's die je hebt gebruikt om de antwoorden te bepalen.
- Hoeveel zinnen van het corpus bevatten het woord bestaan?
- Hoeveel zinnen van het corpus bevatten het woord bestaan als zelfstandig naamwoord? (gebruik het attribuut pos; vervang eventueel -s door -l om te controleren welke waarden dit attribuut bij het woord bestaan kan hebben)
- Hoeveel zinnen van het corpus bevatten het woord bestaan als werkwoord? (gebruik het attribuut pos, automatisch gegenereerd door de Alpinoparser)
- Naast het attribuut pos bevat de annotatie ook een
attribuut postag, een uitgebreide beschrijving van de
woordklasse die door mensen is gecontroleerd. Als je
dtsearch aanroept met optie -l in plaats van
-s dan krijg je een samenvatting van de waarden van
beide attributen.
Geef een zin met het woord bestaan uit het corpus waarin de waarden van pos en postag radicaal verschillen. Geef aan welke waarde je beter vindt passen bij het woord bestaan in deze zin.
- Een lemma is de basisvorm van een woord. De corpusannotatie bevat ook een attribuut lemma. Hoeveel zinnen met woorden met het lemma bestaan bevat het corpus? Leg uit waarom dit aantal anders is dan dat van vraag 1.
Opdracht 6.2
- Een bepaling of modifier (@rel="mod") is een woord of zinsdeel dat iets zegt over een ander zinsdeel. Hoeveel zinnen met bepalingen bevat het Wikipediadeel van het Lassykleincorpus?
- Het meestvoorkomende type bepaling in het corpus is de voorzetselconstituent of prepositional phrase (@cat="pp"), een zinsdeel met een voorzetsel als hoofd. Hoeveel zinnen in het corpus bevatten modifiers die voorzetselconstituenten zijn? Geef ook een voorbeeld van een zin met zo'n voorzetselconstituent.
- Een ander veelvoorkomend type bepaling is een bijvoegelijk naamwoord (@pt="adj"; het attribuut @pt is hetzelfde als @postag maar dan zonder het deel tussen haakjes). Tel hoeveel zinnen in het corpus bepalingen bevatten die uitsluitend bestaan uit een bijvoegelijk naamwoord en geef een zin uit het corpus die zo'n bijvoegelijk naamwoord bevat.
- Ook bijwoorden (@pt="bw") komen regelmatig voor als bepalingen. Tel hoeveel zinnen van het corpus een bijwoord bevatten dat op zichzelf een bepaling vormt en geef een zin uit het corpus die zo'n bijwoord bevat.
- Bij bijwoordelijke bepalingen zou je verwachten dat ze
horen bij (een zuster zijn van) een zinsdeel dat geen
zelfstandig naamwoord (@pt="n") als hoofd (@rel="hd") heeft.
Immers, anders zouden deze bijvoegelijke bepalingen moeten
zijn. Toch zijn er in het corpus 259 zinnen met
bijwoordelijke bepalingen die bij zelfstandige naamwoorden
horen, bijvoorbeeld:
Bekijk drie van deze zinnen (met dtsearch -v) en controleer of de bewuste bepalingen wel goed zijn geannoteerd. Vermeld bij de antwoorden op deze vraag zowel woorden van deze zinnen als de resultaten van de controle.
Opdracht 6.3
- Een voorzetselconstituent of prepositional phrase (@cat="pp")
is vaak een onderdeel van een zinsdeel met een zelfstandig
naamwoord of een werkwoord als hoofd. Hoeveel zinnen
van het Lassykleincorpus bevatten voorzetselconstituenten die
zusters zijn van een hoofd met daarin een zelfstandig naamwoord
(@pt="n")?
Voorbeeld:
- Hoeveel zinnen van het corpus bevatten voorzetselconstituenten
die zusters zijn van een hoofd met daarin een werkwoord
(@pt="ww")?
Voorbeeld:
- Met het commando dtsearch -c (dus optie -c in plaats
-s) kan je een lijst van zinsdelen opvragen die voldoen aan een
query. Daarbij wordt dan wel de naam van een bestand vermeld en
die kan uit de resultaten worden gehaald door achter de instructie
| cut -f2- te plaatsen.
Bepaal welke voorzetsels worden gebruikt in voorzetselconstituenten die zusters zijn van een hoofd met daarin een zelfstandig naamwoord (@pt="n") en maak een gesorteerde frequentielijst van deze voorzetsels
- Bepaal welke voorzetsels worden gebruikt in voorzetselconstituenten die zusters zijn van een hoofd met daarin een werkwoord (@pt="ww") en maak een gesorteerde frequentielijst van deze voorzetsels.
- Vergelijk de resultaten van vraag 13 en vraag 14. Zijn er voorzetsels die relatief vaker worden gebruikt bij voorzetselconstituenten bij zelfstandige naamwoorden dan bij werkwoorden of omgekeerd? Geef voor beide richtingen een voorbeeld waarbij je uitrekent wat de verwachte frequentie is en de werkelijke frequentie.
Lever jouw programma's, testresultaten en antwoorden op vragen in op Nestor samengevoegd in 1 tekstbestand met naam studentnummer-weeknummer.txt, bijvoorbeeld s1234567-6.txt, voor vrijdag 10 juni 2011, 18:00.
Antwoorden
Last update: June 15, 2011. erikt(at)xs4all.nl