Korpusový manažer EXAKT – quickstart

Table of Contents

1 Instalace, nastavení a připojení ke korpusu

Korpusový manažer EXAKT nedisponuje webovým rozhraním, nýbrž je potřeba si ho nainstalovat lokálně, podobně jako Bonito.

  1. Pokud nemáte nainstalovanou Javu, začněte s ní.
  2. Poté si stáhněte a nainstalujte sadu nástrojů pro práci s korpusy ve formátu EXMARaLDA. Obsahuje tři programy, z nichž nás v tuto chvíli zajímá jen ten třetí:
    • PartiturEditor slouží k vytváření a editaci přepisů (podobně jako ELAN nebo Transcriber)
    • CoMa slouží ke "zkorpusování" sady samostatných sond
    • EXAKT slouží k prohledávání korpusu vytvořeného v předchozím bodu
  3. Otevřete EXAKT (během instalace by se vám měla vytvořit ikona na ploše) a odsouhlaste žádost o vytvoření souboru, kam si můžete ukládat často používané regulární výrazy.
  4. Klikněte na Edit → EXAKT preferences… a na záložce Fonts si rovnou nastavte větší velikost písma pro zobrazení konkordance (alespoň 16), případně i jiný font (Arial).
  5. Klikněte na File → Open remote corpus…
  6. Pole Corpus URL, Username a Password vyplňte podle pokynů v zaslaném e-mailu a klepněte na OK. Chvilku potrvá, než se korpus nahraje (progress bar je vlevo nahoře); toto nahrání je potřeba zopakovat při každém novém sezení.
  7. Na stejnou kombinaci uživatelského jména a hesla se vás počítač pravděpodobně zeptá ještě jednou, a to ve chvíli, kdy si poprvé rozkliknete (dvojitým klikem na řádek v konkordanci, viz níže) detail nějaké části sondy. Když v dialogu zaškrtnete políčko Zapamatovat pověření, už by se vás neměl ptát znovu.
  8. S tím souvisí poslední (leč důležitá) technická drobnost: ve chvíli, kdy si takto rozkliknete detail sondy, stáhne se k ní rovnou celá nahrávka. Ta má ve formátu .mp3 většinou 10-15MB, případně méně, ojediněle naopak až kolem 20-30MB. V době dnešního rychlého internetu se to snese, ale důrazně bych to nedoporučoval v situacích, kdy máte na datový přenos nějaký nízký limit (např. připojení na chalupě přes internet v chytrém mobilu).

2 Rozhraní EXAKTu

Rozhraní EXAKTu vypadá následovně:

exakt.png

Můžeme ho rozdělit na pět částí (viz zelená čísla na obrázku):

2.1 Corpora – Aktivní korpusy

Zde se vám ukazují korpusy, které máte v manažeru zrovna nahrané. Zatím to bude jen ORAL 2013, časem možná přibude možnost otevřít si pracovní verzi ORTOFONu.

2.2 Word lists – Frekvenční seznamy

Na frekvenční analýzu se EXAKT moc nehodí, umí jen jednoúrovňovou v podobě wordlistu a i tu jsem vypnul, protože zpomaluje indexování při nahrávání korpusu a beztak je na to lepší KonText/Bonito, s kterými to už všichni umíme. Pro ORTOFON ale asi k dispozici budou, protože pracovní verze nebude přes manatee dostupná.

2.3 Concordances – Seznam otevřených konkordancí

Konkordancí můžete mít v podokně č. 4 otevřeno libovolné množství (viz níže), zde je jejich přehled včetně počtu nalezených dokladů ("295 tokens") a počtu typů na pozici KWICu (bere se v úvahu celý match).

2.4 Hlavní okno – aktivní konkordance

V tomto hlavním okně se zobrazuje konkordance ve velmi podobném formátu jako v KonTextu/Bonitu. Dotaz se zadává do okýnka nahoře, přičemž v seznamu nalevo je třeba zvolit typ prohledávání RegEx (T) (měl by být zvolený implicitně; o vyhledávání viz níže).

Konkordance obsahuje informace o sondě, KWIC a levý a pravý kontext (množství kontextu lze upravit pomocí tlačítek s lupou v liště napravo). Podle všech těchto parametrů lze třídit kliknutím na příslušné políčko v hlavičce tabulky. Pozor, levý kontext se třídí retrográdně – EXAKT sám o sobě nemá potuchy o hranicích tokenů.

Úplně vlevo jsou navíc u každé položky zaškrtávací políčka; když je u některých záznamů odškrtnete a poté kliknete na ikonu koše vpravo, vyřadíte tím záznamy z konkordance (můžete si ji takto ručně pročistit). Ovlivnit stav zaškrtávacích políček lze také pomocí tlačítka Filter v liště napravo, které umožňuje konkordanci filtrovat podle jednotlivých sloupců. Vše zresetovat do původního stavu (= všechno vybráno) lze pomocí menu Rows → Select all.

Kromě vyřazování záznamů lze konkordanci ještě anotovat, přičemž EXAKT anotacím říká Analysis (Annotation pro něj je už v průběhu kompilace korpusu vytvořená a prohledávatelná anotace). Klikněte na Columns → Add analysis…, vyberte pro analýzu název a zvolte její typ. Analýza se vám zobrazí jako další kolonka v konkordanci, v níž ovšem můžete obsah políček měnit. Pokud jste jako typ zvolili Free, můžete do kolonky volně psát; u typu Closed category list vybíráte z kategorií, které jste si předem nadefinovali, a typ Binary je zjednodušenou verzí toho předchozího, kde jsou jen dvě kategorie.

Když už jste si dali práci s pročištěním a oanotováním konkordance, dává smysl, že si ji můžete i vyexportovat (uložit na disk) pomocí Concordance → Save concordance, a během nějakého dalšího sezení ji znovu otevřít a dále na ní pracovat pomocí Concordance → Open concordance.

Konkordancí můžete mít souběžně otevřených několik: stačí kliknout na menu Concordance → New concordance a v podokně konkordancí se vám vytvoří nová záložka. Mezi výsledky jednotlivých dotazů lze tím pádem pohodlně přepínat.

Pokud na řádek v konkordanci jednou kliknete, zobrazí se vám v okýnku pod ní delší kontext promluvy daného mluvčího, v níž je KWIC obsažen. Pokud na něj kliknete dvakrát, otevře se příslušná část nahrávky v podokně Partitur (viz následující oddíl) ve formátu časové osy, v níž má každý mluvčí v konverzaci svou vlastní transkripční vrstvu.

Douška na závěr: EXAKT je implicitně nastaven tak, aby okolo 10000 nalezených dokladů zastavil hledání (aby netrvalo zbytečně dlouho). Pokud chcete najít opravdu všechny výskyty, je potřeba v menu Edit → EXAKT Preferences… na záložce Performance zaškrtnout políčko Unlimited u první položky. Stejně tak lze na této záložce ovlivnit maximální zobrazitelný kontext v konkordanci a na časové ose (partituře).

2.5 Partitur – Časová osa

Partitura nabízí přehledné zobrazení výsledků hledání zasazených do kontextu celé konverzace, z níž pocházejí. Pomocí horních dvou tlačítek v tomto podokně lze spustit/zastavit přehrávání zvuku; tlačítko se zeměkoulí slouží k vygenerování partitury v HTML formátu, která je členěná i vertikálně a tedy možná pohodlnější na čtení; tlačítko s lupou ke zvětšení písma (znovu nutné). Kolik se z celého přepisu zobrazí závisí na nastavení popsaném v předchozím odstavci.

Kromě partitury nabízí toto podokno ještě dvě jednodušší zobrazení, List a HTML. V nich je nahrávka členěna do řádků po jednotlivých promluvách.

Připomínám, že ve chvíli, kdy si rozkliknete u některého konkordančního řádku partituru, se vám automaticky stáhne celý zvukový soubor patřící k sondě.

3 Vyhledávání

Nyní k samotnému vyhledávání. EXAKT je v tomto ohledu primitivnější nástroj než manatee, nepracuje s tokenizací na úrovni slov – vyhledává rovnou v celých promluvách (tzv. segment chains). Promluva je definována jako souvislá sekvence na sebe těsně navazujících segmentů v rámci vrstvy jednoho mluvčího. Např. v níže uvedeném obrázku je u mluvčího spk2 jedna promluva no .. Leni tu mám ty . vzorniky víš ? různé, další tu mám z jedne firmy apod. POZOR, promluva je tedy do jisté míry technická jednotka (takže by asi bylo lepší neříkat tomu promluva, ale jiný krátký a úderný termín mě nenapadá…).

promluva.png

Nevýhodou je, že nelze hledat přes hranice promluv1 – kdybych tedy třeba hledal sekvenci slov různé tu mám, tak mi EXAKT příslušné místo v projevu mluvčího spk2 v předchozím obrázku nenalezne, neboť obě části, které by dohromady s dotazem matchovaly (různé a tu mám) jsou odděleny hranicí promluvy. Na druhou stranu, s KonTextem je to v tomto ohledu z bláta do louže, protože tam bychom zase ve vertikále měli mezi různé a tu mám vmezeřený vstup druhého mluvčího.

Jestliže EXAKT nepracuje s explicitní tokenizací, je třeba využít znalostí o podobě přepisu k tokenizaci implicitní. V našem případě víme, že se můžeme spolehnout na to, že budou jednotlivá slova vždy oddělena jednou mezerou. Vybaveni touto znalostí můžeme s pomocí regulárních výrazů korpus prohledávat podobně volně jako v KonTextu (byť možná méně pohodlně).

Pozor, v KonTextu/manatee/CQL se regulární výrazy používají vždy pouze pro specifikaci dané pozice (slova); v EXAKTu nic jako pozice nemáme, takže regulárními výrazy budeme vždy rovnou vyjadřovat i celou sekvenci slov – budou v nich tedy na rozdíl od KonTextu zahrnuty právě i ony mezery.

3.1 Regulární výrazy

NB: Příklady vyhledávacích dotazů v této sekci jsou <ohraničeny dvěma zobáčky>, přičemž tyto zobáčky už do zadání samotného dotazu nepatří.

Když do hledacího boxu v podoknu konkordance napíšu jen <to>, najde mi to i výskyty, kde je "to" jen podřetězcem nalezeného slova – "auto", "katovna", "topinambur" apod. Můžu tedy zkusit hledat < to > ohraničené z obou stran mezerami. To už budu úspěšnější, ale stále mi vypadnou všechny výskyty "to" na začátcích promluv, kde není z levé strany mezera (naopak "to" na koncích promluv z pravé strany mezeru mají, takže tam je vše v pořádku).

Abych našel opravdu všechna "to", která jsou samostatnými slovy, musím použít speciální značku, kterou se v regulárních výrazech označují hranice slov: <\b>. Když se tedy EXAKTu zeptám na <\bto\b>, dostanu už opravdu úplně všechny.2 V praxi je to <\b> potřeba pouze na začátku dotazu – ve zbytku už jej lze v našem případě nahradit mezerami, takže dotazy <\bto\b> a <\bto > jsou ekvivalentní (a ten druhý ušetří trochu psaní).

Co když chci hledat "to" na začátcích promluv? Od toho je tu stříška, <^>. Dotaz <^to > nalezne všechna "to", kterými promluvy začínají. Podobným způsobem funguje na konce promluv dolar, nesmíme ovšem zapomenout na příslušné mezery: < to $>. (Doplnit <\b> je v obou případech možné, ale redundantní – víme, že hranice promluvy je zároveň hranicí slova.)

Když chci hledat sekvenci více slov, oddělím je jednoduše mezerami: < to je fakt > najde všechny výskyty "to je fakt" uprostřed promluv, <^to je fakt > na začátcích a <\bto je fakt > na libovolném místě.

Jak specifikovat, že na daném místě v hledaném výrazu může být libovolný token? Stačí si vzpomenout, že v regulárních výrazech lze pomocí hranatých závorek specifikovat celé množiny znaků:

  • <\bto [abcd]> najde "to" následované slovem začínajícím (všimněte si, že po uzavírající hranaté závorce není mezera) na "a", "b", "c" nebo "d"
  • <\bto [abcd]+ > najde "to" následované slovem složeným (zde už mezera je) pouze z těchto čtyř písmen:
    • <+> značí, že se předchozí znak (či libovolný kombinace znaků ze skupiny definované pomocí závorek) může libovolněkrát (ale alespoň jednou) opakovat
    • <*> značí, že se předchozí znak (či libovolná kombinace znaků ze skupiny definované pomocí závorek) může libovolněkrát (klidně i nulakrát) opakovat
    • lze stanovit i konkrétní požadované rozmezí pro počet opakování: <a{3,5}> matchuje "aaa", "aaaa" a "aaaaa", <a{5,}> matchuje pět "a" v řadě za sebou a víc, <a{,5}> matchuje pět "a" v řadě za sebou a míň
  • lze použít i negaci – zde se v nové roli uplatní stříška, která má bezprostředně po otevírající hranaté závorce význam negace: <\bto [^abcd]+ > najde "to" následované slovem, v němž se nesmí vyskytovat ani jedno ze čtyř uvedených písmen
  • teď už tedy dokážeme zapsat i libovolný token – je to sekvence čehokoli, co nejsou mezery, příslušně oddělená mezerami nebo pomocí <\b>: <\b[^ ]+ >
  • pokud chceme hledat pouze slova (tj. vynechat tokeny jako je pauza apod.), můžeme využít speciálního znaku <\p{L}>, který označuje libovolné písmeno: <\b\p{L}+ > tedy najde libovolné slovo (ale ne pauzu, otazník apod.)
  • existují také znaky pro libovolné velké písmeno <\p{Lu}> ("Letter uppercase") a malé písmeno <\p{Ll}> ("Letter lowercase") – mohou se hodit, kdyby někdo chtěl např. hledat anonymizační značky
  • negace (doplňky) těchto množin obdržíte tak, že místo <\p{...}> použijete <\P{...}>

Jinak umí EXAKT při hledání vše, co umí regulární výrazy v Javě (protože je přímo používá). I veškeré znalosti z regulárních výrazů v CQL je možné aplikovat3, jen je třeba mít neustále na paměti, že EXAKT na rozdíl od manatee nehledá v sekvencích ohraničených tokenů, ale v celých jednotlivých promluvách.

Na závěr je dobré připomenout, že pokud chcete vyhledávat nějaký znak, který má v regulárních výrazech speciální význam (*, +, ., ? …), je potřeba v dotazu tento speciální význam zrušit tím, že před ním přidáte zpětné lomítko. Např. všechny krátké (".") a střední ("..") pauzy v ORALu 2013 tedy vyhledáme dotazem < \.{,2} >.

4 FAQ

Budou-li nějaké, pište na adresu uvedenou zde.

Footnotes:

1

Nebo se mi na to zatím nepodařilo přijít… Podobně se obávám, že na rozdíl od korpusového manažeru ANNIS nelze hledat ve více vrstvách paralelně.

2

Zpětné lomítko jakož i další značky často používané v regulárních výrazech se na základní české klávesnici nezadávají úplně pohodlně; v EXAKTu je možné je zadat jednodušeji tak, že kliknete pravým tlačítkem do vyhledávacího boxu a vyberete kýžený znak ze seznamu, který se objeví.

3

Jsou stejné – doufám.

Author: David Lukeš

Created: 2014-06-26 Thu 09:28

Emacs 24.3.1 (Org mode 8.0.7)

Validate XHTML 1.0