13 mei 2020

Taken:

  1. SPOD
    • paper voor CLIN doornemen
  2. Alpino
    • programma om extra attributen in corpora toe te voegen, zoals _deste, _np en _vorfeld
      • zie beneden
  3. AlpinoGraph
    • voorlopig alleen met globale corpora
    • tekst afgebroken vervangen door iets gebruikersvriendelijker
    • UD en mwu: alle woorden/lemma’s van mwu geven i.p.v. alleen het eerste
      • aangepaste query: voorbeeld
      • hulpattributen op het eerste woord: words, lemmas
        • dat zou op alle woorden moeten, niet alleen woorden die deel van mwu zijn
    • veel documentatie nodig, met afbeeldingen, over agensgraph in het algemeen, over structuur van Alpino_ds in agensgraph, en over structuur van hulpattributen, met een uitgebreide stap-voor-stap HOWTO
    • automatisch ontdubbelen
    • query’s vereenvoudigen, zie beneden
    • weergave van bomen soms erg traag, is daar wat aan te doen?
      • enkele trage query’s vervangen door snellere varianten
    • lijst van features voor woorden en nodes
    • snellere file-server
      • meer/alle globale corpora uit PaQu invoeren
  4. Corpus Query Language

Attributen toevoegen, voorbeeld:

dact_attrib \
  -m macros.txt \
  infile.dact \
  outfile.dact \
  '//node[%PQ_vorfeld%]' 'VORFELD="true"' \
  '//node[%PQ_np%]' 'NP="true"' \
  '//node[node[@graad="comp"] and node[@lemma=("hoe", "deste") or (node[@lemma="des"] and node[@lemma="te"])]]' 'DESTE="true"'

Verschil in tijden, zonder of met hulpattribuut, alles zoeken met dbxml_match in Alpino Treebank, uitvoer naar /dev/null:

time dbxml_match -m macros.txt cdb.dact '//node[%PQ_vorfeld%]' > /dev/null
time dbxml_match -m macros.txt cdb.dact '//node[@VORFELD]' > /dev/null
time dbxml_match -m macros.txt cdb.dact '//node[%PQ_np%]' > /dev/null
time dbxml_match -m macros.txt cdb.dact '//node[@NP]' > /dev/null
time dbxml_match -m macros.txt cdb.dact '//node[node[@graad="comp"] and node[@lemma=("hoe", "deste") or (node[@lemma="des"] and node[@lemma="te"])]]' > /dev/null
time dbxml_match -m macros.txt cdb.dact '//node[@DESTE]' > /dev/null
zoekterm zonder met
vorfeld 1:46 0:10
np 1:08 0:49
deste 0:00.20 0:00.04

Query’s vereenvoudigen. Van dit:

select count(distinct(sentid)) as zinnen, count(sentid) as items
from (
  match ...
  return distinct n.sentid, n.id
) as foo

… naar dit:

match ...
with distinct n.sentid as sentid, n.id as id
return count(distinct(sentid)) as zinnen, count(sentid) as items
alpino alpinograph blacklab cql spod