Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verzePoslední revizeObě strany příští revize |
kurz:pokrocile_dotazy [2021/03/23 10:18] – [Hlavní rysy CQL] vaclavcvrcek | kurz:pokrocile_dotazy [2023/11/06 14:37] – [Posloupnost pozic] kovarikova |
---|
===== Posloupnost pozic ===== | ===== Posloupnost pozic ===== |
| |
Jedny hranaté závorky s atributem a jeho hodnotou odpovídají v CQL jedné pozici v textu. Pokud za sebou v CQL zapíšeme dvoje hranaté závorky za sebou, vyhledají se (samozřejmě podle zadaných podmínek) dvě pozice v textu bezprostředně následující za sebou. Můžeme například vyhledat spojení //zelené jablko//, a to prostřednictvím dotazu ''[word=<nowiki>"</nowiki>zelené<nowiki>"</nowiki>][word=<nowiki>"</nowiki>jablko<nowiki>"</nowiki>]''. Podobně můžeme vyhledat i větší množství slov následujících za sebou v textu, např. dotaz ''[lemma=<nowiki>"</nowiki>od<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>ráno<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>do<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>večer<nowiki>"</nowiki>]'' v korpusu [[cnk:syn2015|SYN2015]] vyhledá [[https://kontext.korpus.cz/view?q=~RfkXq3PT&attr_allpos=kw&attrs=word&corpname=syn2015&ctxattrs=word&pagesize=30&refs=%3Ddoc.title&structs=s&viewmode=kwic&|426 výskytů]] fráze //od/Od rána do večera//, dotaz ''[lemma=<nowiki>"</nowiki>rozhodnout<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>se<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>,<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>že<nowiki>"</nowiki>]'' [[https://kontext.korpus.cz/view?q=~EOlDKJmd&attr_allpos=kw&attrs=word&corpname=syn2015&ctxattrs=word&pagesize=30&refs=%3Ddoc.title&structs=s&viewmode=kwic&|téměř tisíc výskytů]] spojení slov //rozhodnout se, že// v různých tvarech. Atributy v jednotlivých pozicích se samozřejmě můžou lišit, např. dotaz ''[pos=<nowiki>"</nowiki>V<nowiki>"</nowiki>][word=<nowiki>"</nowiki>,<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>že<nowiki>"</nowiki>]'' vyhledá slovesa, která předcházejí spojce //že//. | Jedny hranaté závorky s atributem a jeho hodnotou odpovídají v CQL jedné pozici v textu. Pokud za sebou v CQL zapíšeme dvoje hranaté závorky za sebou, vyhledají se (samozřejmě podle zadaných podmínek) dvě pozice v textu bezprostředně následující za sebou. Můžeme například vyhledat spojení //zelené jablko//, a to prostřednictvím dotazu ''[word=<nowiki>"</nowiki>zelené<nowiki>"</nowiki>][word=<nowiki>"</nowiki>jablko<nowiki>"</nowiki>]''. Podobně můžeme vyhledat i větší množství slov následujících za sebou v textu, např. dotaz ''[lemma=<nowiki>"</nowiki>od<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>ráno<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>do<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>večer<nowiki>"</nowiki>]'' v korpusu [[cnk:syn2020|SYN2020]] vyhledá [[https://www.korpus.cz/kontext/view?viewmode=kwic&pagesize=50&attrs=word&attrs=verbtag&attr_vmode=visible-kwic&base_viewattr=word&refs=%3Ddoc.title&refs=%3Ddoc.txtype&q=~jG2yEO4SqMks&cutoff=0|415 výskytů]] fráze //od/Od rána do večera//, dotaz ''[lemma=<nowiki>"</nowiki>rozhodnout<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>se<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>,<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>že<nowiki>"</nowiki>]'' [[https://www.korpus.cz/kontext/view?maincorp=syn2020&viewmode=kwic&pagesize=40&attrs=word%2Clemma%2Ctag%2Cverbtag&attr_vmode=mouseover&base_viewattr=word&structs=s&refs=%3Ddoc.title&q=~Tq24E8MC8GQW|přes 1100 výskytů]] spojení slov //rozhodnout se, že// v různých tvarech. Atributy v jednotlivých pozicích se samozřejmě můžou lišit, např. dotaz ''[pos=<nowiki>"</nowiki>V<nowiki>"</nowiki>][word=<nowiki>"</nowiki>,<nowiki>"</nowiki>][lemma=<nowiki>"</nowiki>že<nowiki>"</nowiki>]'' vyhledá slovesa, která předcházejí spojce //že//. |
| |
Nyní si ukážeme počítání pozic **včetně interpunkce** (i ta tvoří v korpusech samostatné pozice) ještě na konkrétním dotazu, v němž jde o publicistické užití a aktualizace přísloví //vlk se nažral a koza zůstala celá//: | Nyní si ukážeme počítání pozic **včetně interpunkce** (i ta tvoří v korpusech samostatné pozice) ještě na konkrétním dotazu, v němž jde o publicistické užití a aktualizace přísloví //vlk se nažral a koza zůstala celá//: |
===== Velikost písmen v CQL ===== | ===== Velikost písmen v CQL ===== |
| |
Pro práci s velikostí písmen slouží v CQL specifická sekvence znaků ''(?i)''. Pokud ji použijeme hned za uvozovkami, bude celý dotaz vyhodnocen jako [[pojmy:case-sensitive|case-insensitive]]. | Pro práci s velikostí písmen slouží v CQL specifická sekvence znaků ''(?i)''. Pokud ji použijeme hned za uvozovkami, bude celý dotaz vyhodnocen jako [[pojmy:case-sensitive|case-insensitive]], tedy bez ohledu na velikost písmen. |
| |
^ Dotaz ^ Co mu odpovídá ^ | ^ Dotaz ^ Co mu odpovídá ^ |
V [[zobrazeni_dotazu|druhé lekci]] jsme se naučili, jak v konkordanci zobrazit [[pojmy:atributy_strukturni|strukturní značky]]. Pokud povolíme zobrazování značek označujících začátky a konce vět (''[[pojmy:s|<s>]]'' a ''</s>''), můžeme si snadno ověřit, jestli funguje hledání slov vyskytujících se na začátku nebo na konci vět: | V [[zobrazeni_dotazu|druhé lekci]] jsme se naučili, jak v konkordanci zobrazit [[pojmy:atributy_strukturni|strukturní značky]]. Pokud povolíme zobrazování značek označujících začátky a konce vět (''[[pojmy:s|<s>]]'' a ''</s>''), můžeme si snadno ověřit, jestli funguje hledání slov vyskytujících se na začátku nebo na konci vět: |
| |
^ značka ^ význam ^ výzkumná otázka ^ příklad dotazu ^ výsledek pro SYN2015 ^ | ^ značka ^ význam ^ výzkumná otázka ^ příklad dotazu ^ výsledek pro SYN2020 ^ |
| ''<s>'' | začátek věty | Vyskytují se věty začínající interpunkcí? | ''<s> [tag=<nowiki> "Z.*"</nowiki>]'' | Převažují přímé řeči. | | | ''<s>'' | začátek věty | Vyskytují se věty začínající interpunkcí? | ''<s> [tag=<nowiki> "Z.*"</nowiki>]'' | [[https://www.korpus.cz/kontext/view?maincorp=syn2020&viewmode=kwic&pagesize=40&attrs=word%2Clemma%2Ctag%2Cverbtag&attr_vmode=mouseover&base_viewattr=word&structs=s&refs=%3Ddoc.title&q=~9OWOMGQUogY8|Převažují přímé řeči]] | |
| ''</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> '' | [[https://www.korpus.cz/kontext/view?maincorp=syn2020&viewmode=kwic&pagesize=40&attrs=word%2Clemma%2Ctag%2Cverbtag&attr_vmode=mouseover&base_viewattr=word&structs=s&refs=%3Ddoc.title&q=~TCCwUquwAukE|Různé kombinace interpunkčních znamínek]] | |
| |
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: | 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: |
| |
<WRAP round important 40%> | <WRAP round important 40%> |
Konec věty ''</s>'' má velmi podobnou značku jako její obsah ''<s/>''. | Nenechte se splést tím, že konec věty ''</s>'' má velmi podobnou značku jako její obsah ''<s/>''. |
</WRAP> | </WRAP> |
| |
| |
<WRAP round help 60%> | <WRAP round help 60%> |
Ve stejném korpusu (SYN2009PUB) zadejte dotaz ''%%[lemma="vlk"][]+[lemma="koza"][]+[lemma="celý"]%% within <s/>'' a porovnejte přesnost vyhledávání s pečlivě specifikovanými počty pozic. | V korpusu SYN2009PUB zadejte dotaz ''%%[lemma="vlk"][]+[lemma="koza"][]+[lemma="celý"]%% within <s/>'' a porovnejte přesnost vyhledávání s pečlivě specifikovanými počty pozic. |
| |
Výskytů je oproti předchozím dotazům o něco více, [[https://kontext.korpus.cz/view?q=~HBFbCLdp&attr_allpos=kw&attrs=word&corpname=syn2009pub&ctxattrs=word&pagesize=30&refs=%3Dopus.nazev&structs=p%2Cg%2Cerr%2Ccorr&viewmode=kwic&|celkem 312]] V těch nových figuruje např. věta //<fc #FF00FF>Vlk</fc> by měl předstírat, že žere, a <fc #008000>koza</fc> rozhodně musí zůstat celá.// Mezi klíčovými slovy //vlk// a //koza// je, včetně samostatně počítané interpunkce, dohromady 8 pozic, ve větě //%%...%% uzná sice obžalované vinnými (takže <fc #FF00FF>vlk</fc> se nažere), ale zároveň poukáže na to, že dosud nebyli trestáni a žili řádným občanským životem (<fc #008000>koza</fc> zůstane celá) -- takže mohou domů.// dokonce 20. Všechny nově nalezené případy jsou aktualizacemi námi hledaného frazému, v tomto případě se tudíž jako nejpřesnější jeví použití podmínky within. | Výskytů je oproti předchozím dotazům o něco více, [[https://kontext.korpus.cz/view?q=~HBFbCLdp&attr_allpos=kw&attrs=word&corpname=syn2009pub&ctxattrs=word&pagesize=30&refs=%3Dopus.nazev&structs=p%2Cg%2Cerr%2Ccorr&viewmode=kwic&|celkem 312]] V těch nových figuruje např. věta //<fc #FF00FF>Vlk</fc> by měl předstírat, že žere, a <fc #008000>koza</fc> rozhodně musí zůstat celá.// Mezi klíčovými slovy //vlk// a //koza// je, včetně samostatně počítané interpunkce, dohromady 8 pozic, ve větě //%%...%% uzná sice obžalované vinnými (takže <fc #FF00FF>vlk</fc> se nažere), ale zároveň poukáže na to, že dosud nebyli trestáni a žili řádným občanským životem (<fc #008000>koza</fc> zůstane celá) -- takže mohou domů.// dokonce 20. Všechny nově nalezené případy jsou aktualizacemi námi hledaného frazému, v tomto případě se tudíž jako nejpřesnější jeví použití podmínky within. |
===== 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 <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: | 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"] & 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"]%% '' |
| |
| 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á. |
| |
Chceme-li najít po sobě následující adjektivum a substantivum, které se shodují v pádě, zadáme dotaz:\\ | Chceme-li najít po sobě následující adjektivum a substantivum, které se shodují v pádě, zadáme dotaz:\\ |
| |
<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:syn2020|SYN2020]] a [[cnk:syn2013pub|SYN2013PUB]]. |
* 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ů. | * 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ů. |
| |