Nastavení

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
Následující verze Obě strany příští revize
kurz:pokrocile_dotazy [2018/08/08 10:33]
Michal Škrabal [Posloupnost pozic]
kurz:pokrocile_dotazy [2018/08/08 11:01]
Michal Škrabal [Vyzkoušejte si na závěr]
Řádek 50: Řádek 50:
 </WRAP> </WRAP>
  
-Jak může vypadat podrobný rozpis pozic v jedné realizaci dotazu ''<fc #FF00FF>[lemma=<nowiki>"</nowiki>vlk<nowiki>"</nowiki>]</fc>[]{1,5}<fc #008000>[lemma=<nowiki>"</nowiki>koza<nowiki>"</nowiki>]</fc>[]{1,3}<fc #800000>[lemma=<nowiki>"</nowiki>celý<nowiki>"</nowiki>]</fc>'':+Jak může vypadat podrobný rozpis pozic v jedné realizaci dotazu ''<fc #FF00FF>[lemma=<nowiki>"</nowiki>vlk<nowiki>"</nowiki>]</fc>[]{1,5}<fc #008000>[lemma=<nowiki>"</nowiki>koza<nowiki>"</nowiki>]</fc>[]{1,3}<fc #800000>[lemma=<nowiki>"</nowiki>celý<nowiki>"</nowiki>]</fc>''shrnuje následující tabulka. Číselný údaj odkazující k jednotlivým pozicím se může měnit v závislosti na tom, zda pozici nula přiřadíme pravému či levému okraji KWICu.
  
 ^ slovní tvar | kterak | <fc #FF00FF>vlka</fc> | státotvorné | povinnosti | nakrmit | , | aby | <fc #008000>koza</fc> | divákova | zájmu | zůstala | <fc #800000>celá</fc> | . | ^ slovní tvar | kterak | <fc #FF00FF>vlka</fc> | státotvorné | povinnosti | nakrmit | , | aby | <fc #008000>koza</fc> | divákova | zájmu | zůstala | <fc #800000>celá</fc> | . |
 ^ pozice od začátku (levé strany) KWICu |  1L  |  <fc #FF00FF>0</fc>  |  1P  |  2P  |  3P  |  4P  |  5P  |  <fc #008000>6P</fc>  |  7P  |  8P  |  9P  |  <fc #800000>10P</fc>  |  11P  | ^ pozice od začátku (levé strany) KWICu |  1L  |  <fc #FF00FF>0</fc>  |  1P  |  2P  |  3P  |  4P  |  5P  |  <fc #008000>6P</fc>  |  7P  |  8P  |  9P  |  <fc #800000>10P</fc>  |  11P  |
 +^ pozice od začátku (pravé strany) KWICu |  11L  |  <fc #FF00FF>10L</fc>  |  9L  |  8L  |  7L  |  6L  |  5L  |  <fc #008000>4L</fc>  |  3L  |  2L  |  1L  |  <fc #800000>0</fc>  |  1P  |
 ^ |  levý kontext  |  KWIC  |||||||||||  pravý kontext  | ^ |  levý kontext  |  KWIC  |||||||||||  pravý kontext  |
 +
 <WRAP round important 60%> <WRAP round important 60%>
-Pozor: KWIC je vše, co je v dotazu specifikováno, tedy od levé strany, kde je lemma //vlk//, až po stranu pravou, kde je lemma //celý//. Také proto se celá struktura zobrazí červeně.+KWIC je vše, co je v dotazu specifikováno, tedy od levé strany, kde je lemma //vlk//, až po stranu pravou, kde je lemma //celý//. Také proto se celá struktura zobrazí červeně.
 </WRAP> </WRAP>
    
 Vidíme, že //vlka// a //kozu// dělí přesně 5 pozic (což je maximum umožněné naším dotazem), a stejně tak byl maximální rozptyl uplatněn i mezi lemmaty //koza// a //celý//. Vidíme, že //vlka// a //kozu// dělí přesně 5 pozic (což je maximum umožněné naším dotazem), a stejně tak byl maximální rozptyl uplatněn i mezi lemmaty //koza// a //celý//.
  
-A abyste nemohli říkat: "Vlk slibů, že tento kurz bude podrobný, se nažral, a koza zatajování znalostí zůstala celá", zkusíme si společně ještě právě obměnění počtu pozic v dotazu -- otázkou je, jestli už náhodou nedostaneme takové doklady, které nebudou obměněním zkoumaného přísloví:+A abyste nemohli říkat: "Vlk slibů, že tento kurz bude podrobný, se nažral, a koza zatajování znalostí zůstala celá", zkusme si společně ještě rozšířit počet pozic v dotazu -- otázkou je, jestli už náhodou nedostaneme takové doklady, které nebudou obměnou zkoumaného přísloví:
  
 ''<fc #FF00FF>[lemma=<nowiki>"</nowiki>vlk<nowiki>"</nowiki>]</fc>[]{1,7}<fc #008000>[lemma=<nowiki>"</nowiki>koza<nowiki>"</nowiki>]</fc>[]{1,5}<fc #800000>[lemma=<nowiki>"</nowiki>celý<nowiki>"</nowiki>]</fc>'' ''<fc #FF00FF>[lemma=<nowiki>"</nowiki>vlk<nowiki>"</nowiki>]</fc>[]{1,7}<fc #008000>[lemma=<nowiki>"</nowiki>koza<nowiki>"</nowiki>]</fc>[]{1,5}<fc #800000>[lemma=<nowiki>"</nowiki>celý<nowiki>"</nowiki>]</fc>''
Řádek 72: Řádek 74:
 Další možností je počet pozic nijak přesně nespecifikovat: ''[lemma=<nowiki>"</nowiki>vlk<nowiki>"</nowiki>][]+[lemma=<nowiki>"</nowiki>koza<nowiki>"</nowiki>][]+[lemma=<nowiki>"</nowiki>celý<nowiki>"</nowiki>]''. Výsledků je 383, některé jsou pro náš výzkum zcela nepodstatné (//<fc #FF00FF>vlky</fc> nechali postřílet //[...]// pastevci se zase strachují o své ovce a <fc #008000>kozy</fc>. "Komplex Červené Karkulky je evidentní – lidé z vlků mají strach. Přitom jsou v <fc #800000>celé</fc>// [...]//"//), jiné se výrazně liší od výchozího výrazu, ale můžeme se rozhodnout je do výzkumu zahrnout. Další možností je počet pozic nijak přesně nespecifikovat: ''[lemma=<nowiki>"</nowiki>vlk<nowiki>"</nowiki>][]+[lemma=<nowiki>"</nowiki>koza<nowiki>"</nowiki>][]+[lemma=<nowiki>"</nowiki>celý<nowiki>"</nowiki>]''. Výsledků je 383, některé jsou pro náš výzkum zcela nepodstatné (//<fc #FF00FF>vlky</fc> nechali postřílet //[...]// pastevci se zase strachují o své ovce a <fc #008000>kozy</fc>. "Komplex Červené Karkulky je evidentní – lidé z vlků mají strach. Přitom jsou v <fc #800000>celé</fc>// [...]//"//), jiné se výrazně liší od výchozího výrazu, ale můžeme se rozhodnout je do výzkumu zahrnout.
  
-Na tomto příkladu jsme si ukázali, že na dobře specifikovaných pozicích záleží. Na vás pak je, jaký typ specifikace budete potřebovat. 
 ===== Velikost písmen v CQL ===== ===== Velikost písmen v CQL =====
  
Řádek 91: Řádek 92:
 | ''</s>'' | konec věty | Jaké typy vět končí sekvencí tří interpunkčních pozic? | ''%%[pos="Z"]{3}%% </s> '' | Po přihlášení si výsledky [[https://kontext.korpus.cz/view?q=~H1uP3zbS&attr_allpos=kw&attrs=word&corpname=syn2015&ctxattrs=word&pagesize=30&refs=%3Ddoc.title&structs=s&viewmode=kwic&|ověřte sami]] | | ''</s>'' | konec věty | Jaké typy vět končí sekvencí tří interpunkčních pozic? | ''%%[pos="Z"]{3}%% </s> '' | Po přihlášení si výsledky [[https://kontext.korpus.cz/view?q=~H1uP3zbS&attr_allpos=kw&attrs=word&corpname=syn2015&ctxattrs=word&pagesize=30&refs=%3Ddoc.title&structs=s&viewmode=kwic&|ověřte sami]] |
  
-A jak hledat v rámci jedné věty? Existují dvě cesty. Buď položíme dotaz pomocí ''[[pojmy:within|within]]'' ("v rámci, uvnitř"), nebo za pomoci výrazu ''[[pojmy:containing|containing]]'' ("obsahuje"). Oba příkazy umožňují využívat informace ze strukturních atributů v rámci CQL dotazu a mají následující obecnou podobu: +Chceme-li hledat v rámci jedné věty, máme dvě možnosti. Buď položíme dotaz pomocí ''[[pojmy:within|within]]'' ("v rámci, uvnitř"), nebo za pomoci výrazu ''[[pojmy:containing|containing]]'' ("obsahuje"). Oba příkazy umožňují využívat informace ze strukturních atributů v rámci CQL dotazu a mají následující obecnou podobu: 
  
 ''DOTAZ within STRUKTURA''  ''DOTAZ within STRUKTURA'' 
Řádek 100: Řádek 101:
  
 <WRAP round important 40%> <WRAP round important 40%>
-Pozor, konec věty ''</s>'' má velmi podobnou značku jako její obsah ''<s/>''.+Konec věty ''</s>'' má velmi podobnou značku jako její obsah ''<s/>''.
 </WRAP> </WRAP>
  
  
-značka ^ význam ^ výzkumná otázka ^ příklad dotazu ^ výsledek pro SYN2015 ^ +příkaz ^ výzkumná otázka ^ příklad dotazu ^ výsledek pro SYN2015 ^ 
-| ''within <s/>'' | celá věta | Jaké věty obsahují zároveň citoslovce a slovesa (v libovolném pořadí)? | ''[tag=%%"I.*"][]*[tag="V.*"]|[tag="V.*"][]*[tag="I.*"%%] within <s/>'' | Např.: //Hele, já vím, jaký to je.// nebo //Sakra, někdo tam je!// | +| ''within <s/>'' | Jaké věty obsahují zároveň citoslovce a slovesa (v libovolném pořadí)? | ''[tag=%%"I.*"][]*[tag="V.*"]|[tag="V.*"][]*[tag="I.*"%%] within <s/>'' | Např.: //Hele, já vím, jaký to je.// nebo //Sakra, někdo tam je!// | 
-| ''<s/> containing'' | celá věta | Jaké věty obsahují posloupnost čtyř substantiv? | ''<s/> containing %%[tag="N.*"]%%{4}'' | Např.: //Oběžník vyvolá v Oddělení verifikace faktů pobavení.// |+| ''<s/> containing'' | Jaké věty obsahují posloupnost čtyř substantiv? | ''<s/> containing %%[tag="N.*"]%%{4}'' | Např.: //Oběžník vyvolá v Oddělení verifikace faktů pobavení.// |
  
 Rozdíl mezi příkazy ''within'' a ''containing'' je pouze v podobě [[pojmy:kwic|KWICu]]. Vyhodnocení dotazu s příkazem ''within'' označí za KWIC pouze specifikovanou sekvenci (např. sloveso, citoslovce a vše mezi nimi), kdežto dotaz s příkazem ''containing'' označí za KWIC celou strukturu (v našem případě větu), která odpovídá specifikované podmínce. Rozdíl mezi příkazy ''within'' a ''containing'' je pouze v podobě [[pojmy:kwic|KWICu]]. Vyhodnocení dotazu s příkazem ''within'' označí za KWIC pouze specifikovanou sekvenci (např. sloveso, citoslovce a vše mezi nimi), kdežto dotaz s příkazem ''containing'' označí za KWIC celou strukturu (v našem případě větu), která odpovídá specifikované podmínce.
Řádek 117: Řádek 118:
 ==== Automaticky vložená podmínka within ==== ==== Automaticky vložená podmínka within ====
  
-[[kurz:kontext|Rozhraní KonText]] uživatelům umožňuje vložit do CQL dotazu formulář podmínky pomocí klikatelné nabídky. V rámci jedné věty lze díky tomu vyhledávat i pomocí automaticky vložené podmínky ''within <s id=%%".*"%%/>'' (lze interpretovat takto: hledej v rámci jedné //libovolné// věty).+Rozhraní KonText uživatelům umožňuje vložit do CQL dotazu formulář podmínky pomocí klikatelné nabídky. V rámci jedné věty lze díky tomu vyhledávat i pomocí automaticky vložené podmínky ''within <s id=%%".*"%%/>'' (lze interpretovat takto: hledej v rámci jedné //libovolné// věty).
  
-[{{:kurz:vetybezsloves.png?400|Within vkládané přímo v rozhraní KonText}}]+[{{:kurz:vetybezsloves.png?400|Within vkládané přímo v rozhraní KonText FIXME}}]
  
 ===== Shoda (a neshoda) atributů ===== ===== Shoda (a neshoda) atributů =====
  
-V CQL lze využít také dotaz na shodu či neshodu atributů dvou nebo více tokenů; jejich hodnoty přitom nemusejí být jinak stanoveny. Je však nejprve potřeba označit pozice, u kterých chceme shodu testovat, a to uvedením čísla a dvojtečky v dotazu před hranatou závorku. Například dotazem '' %%1:[pos="N"] [word="a"] 2:[pos="N"]%% '' hledáme sekvenci tří tokenů, z nichž první je substantivum označené jako '1', následuje slovní tvar //a// a po něm další substantivum označené jako '2'. Shodu pak testujeme jako součást tzv. globální podmínky uvedené za znakem **&**, která je vždy až na konci celého dotazu. Samotný test shody se skládá z číselného odkazu na označenou pozici, tečky a názvu atributu, který se má shodovat, např. takto:+V CQL lze využít také dotaz na shodu či neshodu atributů dvou nebo více tokenů; jejich hodnoty přitom nemusejí být jinak stanoveny. Je však nejprve potřeba označit pozice, u kterých chceme shodu testovat, a to uvedením čísla a **dvojtečky** v dotazu před hranatou závorku. Například dotazem '' %%1:[pos="N"] [word="a"] 2:[pos="N"]%% '' hledáme sekvenci třÍ tokenů, z nichž první je substantivum označené jako <fc #ff0000>1</fc>, následuje slovní tvar //a// a po něm další substantivum označené jako <fc #ff0000>2</fc>. Shodu pak testujeme jako součást tzv. globální podmínky uvedené za znakem **&**, která je vždy až na konci celého dotazu. Samotný test shody se skládá z číselného odkazu na označenou pozici, **tečky** a názvu atributu, který se má shodovat, např. takto:
  
 '' %%1:[pos="N"] [word="a"] 2:[pos="N"] & 1.lemma = 2.lemma%% '' najde sekvenci substantivum, slovní tvar //a// a substantivum, přičemž lemmata obou substantiv jsou shodná. '' %%1:[pos="N"] [word="a"] 2:[pos="N"] & 1.lemma = 2.lemma%% '' najde sekvenci substantivum, slovní tvar //a// a substantivum, přičemž lemmata obou substantiv jsou shodná.
Řádek 133: Řádek 134:
 '' %%1:[pos="N"] [word="a"] 2:[pos="N"] & 1.case != 2.case%% '' (dotaz najde dvě substantiva oddělená slovem //a//, která se **ne**shodují v pádě). '' %%1:[pos="N"] [word="a"] 2:[pos="N"] & 1.case != 2.case%% '' (dotaz najde dvě substantiva oddělená slovem //a//, která se **ne**shodují v pádě).
  
-Podmínky lze také kombinovat, tj. uvést jich více oddělených znakem **&**:\\+Podmínky lze také kombinovat, tj. uvést jich více oddělených znakem &:\\
 '' %%1:[pos="N"] 2:[pos="A"] 3:[pos="N"] & 1.case = 2.case & 2.case != 3.case%% '' (najde sekvenci substantivum - adjektivum - substantivum, ve které se adjektivum shoduje v pádě s prvním substantivem, ale ne s druhým). '' %%1:[pos="N"] 2:[pos="A"] 3:[pos="N"] & 1.case = 2.case & 2.case != 3.case%% '' (najde sekvenci substantivum - adjektivum - substantivum, ve které se adjektivum shoduje v pádě s prvním substantivem, ale ne s druhým).
  
-**Upozornění**: podmínky lze aplikovat pouze na celé atributy, ne na jejich části. Lze tak ověřovat shodu či neshodu celých slovních tvarů, lemmat nebo morfologických značek, ne však už například shodu v rodě nebo čísle (nemají-li samostatný atribut).+<WRAP round important 60%> 
 +Podmínky lze aplikovat pouze na celé atributy, ne na jejich části. Lze tak ověřovat shodu či neshodu celých slovních tvarů, lemmat nebo morfologických značek, ne však už například shodu v rodě nebo čísle (nemají-li samostatný atribut). 
 + 
 +</WRAP>
  
 ===== Vyzkoušejte si na závěr ===== ===== Vyzkoušejte si na závěr =====
  
-Byla tato lekce náročná? Doufejme, že platí //těžko na cvičišti kurzu, lehko na bojišti praxe//. Nebo se nic podobného neříká?+Pravda, tato lekce byla poněkud náročná, doufejme však, že platí //těžko na cvičišti kurzu, lehko na bojišti praxe//. Nebo se nic podobného neříká?
  
 <WRAP round help 60%> <WRAP round help 60%>
   * Zkuste zformulovat dotaz, jímž ověříte ne/existující aktualizace přísloví //těžko na cvičišti, lehko na bojišti// v korpusech [[cnk:syn2015|SYN2015]] a [[cnk:syn2013pub|SYN2013PUB]].   * Zkuste zformulovat dotaz, jímž ověříte ne/existující aktualizace přísloví //těžko na cvičišti, lehko na bojišti// v korpusech [[cnk:syn2015|SYN2015]] a [[cnk:syn2013pub|SYN2013PUB]].
-  * A z jiného soudku: zaujaly vás někdy nadávky odvozené od německého //Herr Gott// jako např. //hergot//, //herdek// či //hernajs//Vyhledejte co nejvíc takovýchto odvozenin v korpusu [[cnk:oral2013|ORAL2013]] a zjistěte, zda se jejich užití liší podle regionů. +  * A z jiného soudku: Nadávek odvozených od německého //Herr Gott// je nemálo (např. //hergot//, //herdek////hernajs// a jistě vymyslíte další). Vyhledejte co nejvíc takovýchto odvozenin v korpusu [[cnk:oral2013|ORAL2013]] a zjistěte, zda se jejich užití liší podle regionů. 
  
 Řešení naleznete opět na [[reseni_ukolu#lekce_5|zvláštní stránce]]. Řešení naleznete opět na [[reseni_ukolu#lekce_5|zvláštní stránce]].