Skrýt
Nastavení

Toto je starší verze dokumentu!


Menu: Dotaz

Formulář pro vytváření dotazu

Pomocí volby Dotaz → Nový dotaz je možné kdykoli začít nové hledání v korpusech. Kliknutím na tuto volbu předchozí vyhledaný dotaz, případně výsledky na něm vytvořené, opustíme a začínáme s novým hledáním. Následující text se zabývá především pokládáním dotazu do jednojazyčných korpusů, specifika zadávání dotazů do paralelního korpusu InterCorp popisuje podrobněji bonusová lekce základního kurzu práce s ČNK.

Po kliknutí na položku Nový dotaz se uživateli zobrazí základní menu pro dotazování. V rámci tohoto formuláře je možné zvolit korpus, v němž se bude vyhledávat, a typ dotazu, který bude použit. Samotný dotaz je vkládán do vstupního řádku. Součástí formuláře je i interaktivní mezinárodní klávesnice pro zápis speciálních znaků (zejména pro vyhledávání v nečeských textech a pro vkládání speciálních znaků dotazovacího jazyka CQL). Dříve položené dotazy je možné vyvolat pomocí odkazu předchozí dotazy nad dotazovacím řádkem.

Volba korpusu

Volba korpusu vhodného pro řešení dané výzkumné otázky je důležité rozhodnutí, které je nutné učinit ještě před samotným započetím výzkumu. Spektrum korpusů dostupných v projektu Český národní korpus se neustále rozšiřuje, jak ukazuje jejich seznam, bylo proto nutné způsob výběru korpusu v rozhraní KonText přizpůsobit jejich rostoucímu počtu. Do podzimu roku 2015 měla volba korpusu podobu výběru z hierarchicky setříděného stromu; tento systém však měl několik nevýhod: od ne vždy jednoznačného umístění daného korpusu v hierarchii až po velký nárůst počtu nových korpusů a jejich verzí. Hierarchické uspořádání tím přestalo být přehledné a do budoucna udržitelné, a proto jsme přešli na nový, štítkový systém. Jeho cílem je především usnadnit orientaci v množství nabízených korpusů a zároveň zrychlit práci s nimi těm, kteří využívají jen menší počet oblíbených korpusů.

Po kliknutí na jméno korpusu (ve výchozím nastavení je jím vždy aktuální reprezentativní korpus synchronní psané češtiny, v současnosti SYN2010) se objeví rámeček pro výběr pracovního korpusu, který má dvě hlavní části:

Výběr korpusů: vlajkové a oblíbené korpusy
  1. Můj seznam se zrychlenou volbou korpusů na jedno kliknutí. Tato zrychlená volba obsahuje jednak oblíbené korpusy, jejichž výběr je plně na uživateli, a dále tzv. vlajkové korpusy: přednastavený seznam několika korpusů, které ČNK považuje v jednotlivých oblastech své produkce za zvláště důležité. Jejich soustředění do jednoho místa pak usnadňuje volbu korpusu zejména uživatelům, kteří s ČNK pracovat teprve začínají. Oblíbené korpusy je možné zvolit buď na stránce se všemi dostupnými korpusy, nebo při práci s nimi v okamžiku zadávání dotazu (takové korpusy jsou signalizovány žlutou hvězdičkou).
  2. Všechny korpusy s možností vyhledávání ve všech zpřístupněných korpusech pomocí tzv. štítků, které korpusy charakterizují (typický korpus má štítků několik, např. SYN2010: psaný, synchronní, čeština, řada SYN, reprezentativní). Hledáte-li tedy například webový korpus češtiny, stačí zvolit štítky „čeština“ + „webový“ a objeví se všechny takové korpusy, které má ČNK v nabídce. Vyhledávání je možné zpřesňovat také zadáním části jména korpusu nebo jeho popisu do vyhledávacího řádku, výsledný seznam korpusů se přitom podle takto zadaných klíčových slov nebo jejich částí interaktivně filtruje. Je však třeba mít na paměti, že seznam z prostorových důvodů zobrazuje pouze prvních 25 položek; je-li seznam příliš dlouhý, je potřeba dotaz zpřesnit přidáním dalšího štítku nebo vyhledáním části jména korpusu.

Příklad: Uživatel hledá v záložce Všechny korpusy současnou verzi anglické části paralelního korpusu InterCorp. Zvolí nejprve štítky „InterCorp“ a „současná verze“, v seznamu se objeví prvních 25 korpusů vyhovující zadané podmínce, ačkoli InterCorp zahrnuje mnohem více jazyků. K nezobrazeným korpusům se lze dostat dalším filtrováním pomocí zadání části názvu či jazyka (pozor: názvy jednotlivých jazykových verzí korpusu InterCorp jsou anglicky). Po nalezení patřičného korpusu a kliknutí na něj se korpus zvolí jako aktuální pro vyhledávání a lze jej zároveň také kliknutím na hvězdičku označit jako oblíbený. Tím je tento korpus zařazen na seznam oblíbených korpusů a lze se k němu rychle a snadno dostat na jedno kliknutí.

Typ dotazu

Typy dotazů a jejich využití

Typ dotazu Nač je vhodný Jak funguje Co umí Příklady
Základní dotaz pro první seznámení s korpusem Vyhledá vložený výraz jako slovní tvar bez ohledu na velikost písmen; jde-li zároveň o základní slovníkový tvar (lemma), vyhledají se také všechny jeho tvary. bez regulárních výrazů (RE), case-insensitive (nerozlišuje malá a velká písmena) černý kočka > černá kočka, černou kočku, černých koček…
černá kočka > černá kočka
Lemma pro analýzu celého paradigmatu/lexému Vyhledá všechny tvary přiřazené k danému lemmatu. RE (možnost použít regulární výrazy), case-sensitive (rozlišuje malá a velká písmena), možnost upřesnit slovní druh černý > černý, černému, černá, černé, černými…
kočka > kočka, kočku, koček, kočkám…
Fráze pro víceslovnou kombinaci v daném tvaru Vyhledá přesně zadanou frázi. RE, case-sensitive černý pes > černý pes
český pes > český pes
černého psa > černého psa
Slovní tvar pro analýzu jednoho konkrétního tvaru Vyhledá přesně zadaný tvar. RE, case-in/sensitive (možnost volby Shoda velikosti) jakkoli > jakkoli
jakkoliv > jakkoliv
jakkoli.* > jakkoli, jakkoliv, Jakkoli, JAKKOLIV…
Podřetězec pro vyhledání řetězce znaků kdekoli ve slově Vyhledá po sobě následující znaky v rámci jednoho slova. RE, case-sensitive pra > praděda, praxe, doprava, lepra…
křá > pookřát, křáp, Jiskřákovi…
CQL pro vyhledání všeho, co lze pomocí korpusového manažeru vyhledat CQL je Corpus Query Language, korpusový dotazovací jazyk (do něhož si rozhraní KonText samo interně převádí všechny předchozí typy dotazů). RE, case-sensitive, CQL syntax [lemma="kočka"] > kočka, kočku, koček, kočkám…
[word="černá"] > černá
[lemma="číst"][tag="N.*"] > číst levity, četli článek, nečtete noviny…

Volbou korpusu a typu dotazu se může částečně měnit i podoba formuláře:

  1. Korpusy, které nemají lemmatizaci, např. neumožňují použít lemma jako typ dotazu.
  2. Některé typy dotazu (pouze ty, u kterých je to smysluplné) dovolují uživateli specifikovat, zda má být dotaz vyhodnocen s ohledem na velikost písmen (case-sensitive), nebo bez ohledu na velká/malá písmena (case-insensitive).
  3. V případě typu dotazu lemma a word je možné specifikovat i slovní druh (poziční atribut pos).
  4. Dotaz typu CQL umožňuje vkládat i interaktivně generované morfologické značky (u korpusů, které jsou takto značkovány) či podmínky specifikující texty, v nichž se má hledat (podmínka within).
  5. Zcela specifický je způsob kladení dotazu při vyhledávání v korpusech paralelních.

V momentě, kdy je dotaz zadán, je možné spustit vyhledávání buď kliknutím na tlačítko Hledat, nebo stisknutím klávesy Enter, pokud je kurzor umístěn v zadávacím řádku.

Každý dotaz je možné dále specifikovat na základě kontextu, v kterém se hledaný výraz nachází, a dokumentů, v kterých se v rámci korpusu korpusu má hledat.

Specifikovat kontext

Formulář pro hledání v kontextu

Každý dotaz je možné dále specifikovat s ohledem na kontext (textové okolí), v němž se hledané slovo nebo fráze nachází. Ke specifikaci slouží kontextová nabídka, která se nachází ve spodní části dotazovacího formuláře (v základním nastavení je skryta, je třeba ji aktivovat kliknutím).

Ve své podstatě je hledání v kontextu dodatečným filtrováním základní konkordance, která je specifikována dotazem v hlavní části formuláře. Uživatel má možnost nastavit rozsah kontextu, na nějž bude dodatečná filtrovací podmínka aplikována, typ dotazu, případně i slovní druh.

Obecně je možné říct, že libovolné hledání v kontextu je možné převést na běžné hledání a následné filtrování (pomocí pozitivního nebo negativního filtru). Libovolné filtrování je ale také možné uskutečnit pomocí dotazovacího jazyka a provést totožnou operaci pouze v jednom kroku. Platí tedy, že vždy vede vícero cest k jednomu výsledku a záleží plně na uživateli, kterou možnost považuje za nejpohodlnější.

Specifikovat dotaz podle metainformací

Pokud potřebujeme hledat jen v úzce vymezené skupině textů z celého korpusu, máme dvě možnosti. Buď vytvoříme vlastní virtuální subkorpus, který bude pak možné vybrat v rámci nabídky korpusů, nebo dotaz omezíme nějakými podmínkami (typicky pomocí příkazu within). První možnost volíme zpravidla v situacích, kdy víme, že subkorpus budeme potřebovat delší dobu, nebo když je jeho specifikace složitá. Druhou možnost pak užíváme při ad hoc hledání v rámci nějakých jasně daných kategorií textů, které jsou specifikovány základními strukturními atributy.

Formulář nového dotazu poskytuje zjednodušení ve formě dodatečného formuláře Specifikovat dotaz podle metainformací, který je umístěn pod kontextovým hledáním a aktivuje se podobně jako (výše popsaná) specifikace kontextu kliknutím.

Formulář pro hledání v ad hoc vytvořeném subkorpusu

V rámci tohoto formuláře je možné zaškrtnout ty hodnoty vybraných strukturních atributů, které nás zajímají. Formulář neobsahuje všechny strukturní atributy, pouze ty nejpoužívanější v daném korpusu (např. při hledání v SYN2010 jsou to txtype_group, txtype, genre, med, srclang). Použité zkratky je možné dohledat v příslušné sekci seznamů.

V posledním sloupci se objevuje seznam konkrétních opusů nebo dokumentů (v závislosti na zvoleném korpusu), které odpovídají specifikované podmínce. Pokud by takový seznam byl příliš dlouhý, je v daném sloupci uveden pouze počet položek. V případě, že si z nabídky zvolíme nějaké kategorie, můžeme si zobrazit soupis textů, které takovéto podmínce odpovídají, pomocí tlačítka zúžit výběr (vlevo dole). Sloupec se seznamem textů se přepočítá podle aktuálně zaškrtnutých kritérií. Takto můžeme pokračovat do té doby, než budeme spokojeni s vymezením dat, která k hledání chceme použít.

Pro podrobnější specifikaci je třeba buď použít podmínku within v rámci CQL dotazu, nebo vytvořit nový virtuální subkorpus.

Předchozí dotazy

Položka zobrazí přehled posledních kladených dotazů (zkrácený seznam dříve kladených dotazů je přístupný i přímo z dotazovacího formuláře prostřednictvím odkazu nad vstupním řádkem). Kliknutím na odkaz použít dotaz vložíme dříve specifikované zadání do dotazovacího formuláře a můžeme ho buď beze změny hned vyhodnotit nebo ho dále modifikovat (např. změnit korpus, na němž bude vyhodnocen, typ dotazu nebo specifikovat jeho kontext).

Seznam slov

Základním výstupem jakéhokoli dotazu je konkordance, tj. seznam všech výskytů (tokenů) odpovídajících dotazu spolu s jejich textovým okolím. Funkce Seznam slov naproti tomu vyhodnocuje dotaz tak, že výsledkem je seznam různých slov (typů), které dotazu odpovídají, spolu s jejich absolutní frekvencí, ARF nebo počtem dokumentů, v němž se hledaný jev vyskytuje. Funkce Seznam slov je tak analogická frekvenční distribuci, její výhodou je však rychlost a výpočetní nenáročnost, protože mezikrok přes konkordanci není u Seznamu slov potřeba.

Formulář pro vytváření seznamu slov

Ve formuláři je možné nastavit různé parametry hledání:

  • korpus (příp. jeho subkorpus), v kterém budeme seznam slov vytvářet
  • atribut (poziční nebo strukturní), který má být v seznamu vypsán
  • regulární výraz, kterému mají výsledná slova odpovídat (není-li zadán, seznam bude obsahovat všechny položky v korpusu, pokud odpovídají ostatním specifikacím ve formuláři)
  • minimální frekvence
  • whitelist – seznam předvybraných slov (v samostatném souboru), která ve výsledném seznamu chceme vidět
  • blacklist – seznam předvybraných slov (v samostatném souboru), která z výsledného seznamu chceme vyloučit
  • volba „Včetně číslic a interpunkce“, která rozšiřuje hledání i na slova, která nejsou složena pouze z alfabetických znaků

Mezi nastaveními druhu výstupu najdeme kromě volby mezi absolutní frekvencí, ARF a počtem dokumentů také volbu konkrétního výstupního atributu či atributů. Tyto atributy přitom nemusejí být shodné s pozičním atributem zvoleným v horní části formuláře, na který jsou aplikovány všechny výše uvedené filtry. To umožňuje vytvořit např. frekvenční seznam všech sloves tak, že v horní části zadáme atribut tag, na něj podmínku na sloveso jako V.* a nakonec jen „přepneme“ typ výstupu na lemma – příklad takového zadání ukazuje obrázek.