AplikaceAplikace
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í revizePředchozí verze
Následující verze
Předchozí verze
kurz:regularni_vyrazy [2016/08/10 15:59] – [Tečka: libovolný znak] Michal Škrabalkurz:regularni_vyrazy [2021/03/10 12:50] (aktuální) – [Další speciální symboly] Václav Cvrček
Řádek 3: Řádek 3:
 V předchozích lekcích jsme se naučili [[kurz:prvni_dotaz|pokládat dotaz]], [[kurz:zobrazeni_dotazu|zobrazovat a ukládat]] výsledky a [[kurz:vyhodnoceni_dotazu|vyhodnocovat výsledky]] pomocí frekvenční distribuce. V této lekci se podíváme na pokročilejší způsoby dotazování. V předchozích lekcích jsme se naučili [[kurz:prvni_dotaz|pokládat dotaz]], [[kurz:zobrazeni_dotazu|zobrazovat a ukládat]] výsledky a [[kurz:vyhodnoceni_dotazu|vyhodnocovat výsledky]] pomocí frekvenční distribuce. V této lekci se podíváme na pokročilejší způsoby dotazování.
  
-Tzv. [[pojmy:regularni_vyrazy|regulárními výrazy]] rozumíme sekvence znaků, pomocí kterých můžeme vyhledat množinu slov. Regulární výrazy využívají jednak znaky se speciálním významem (například znak ''*'' se používá jako zástupný symbol pro libovolný počet opakování, znak ''|'' je symbolem pro výběr z alternativ, podrobněji viz níže), jednak běžné znaky, tj. znaky abecedy, číslice apod., které mají doslovný význam. Všechny speciální znaky si postupně představíme a zároveň si vyzkoušíme, jak fungují v [[kontext|rozhraní KonText]]. +Tzv. [[pojmy:regularni_vyrazy|regulárními výrazy]] rozumíme sekvence znaků, pomocí kterých můžeme vyhledat množinu slov. Regulární výrazy využívají jednak znaky se speciálním významem (například znak ''*'' se používá jako zástupný symbol pro libovolný počet opakování, znak ''|'' je symbolem pro výběr z alternativ, podrobněji viz níže), jednak běžné znaky, tj. znaky abecedy, číslice apod., které mají doslovný význam. Všechny speciální znaky si postupně představíme a zároveň si vyzkoušíme, jak fungují v [[kontext|rozhraní KonText]]. 
 + 
 +<WRAP round important 50%> 
 +Pro hledání v rámci **jednoduchého** dotazu s využitím **regulárních výrazů** je třeba povolit příslušnou volbu pod dotazovacím řádkem. Následující výklad v této lekci předpokládá, že tato volba je zapnuta. 
 +</WRAP> 
 + 
  
 ===== Tečka: libovolný znak ===== ===== Tečka: libovolný znak =====
  
-Začněme tím nejuniverzálnějším znakem, tedy tečkou (''.''), která zastupuje právě jeden libovolný znak. Jakékoliv třípísmenné slovo tak lze v KonTextu najít (mimo jiné) pomocí sekvence tří teček za sebou (''<nowiki>...</nowiki>''). Zadáme-li takový dotaz jako **Slovní tvar**, zobrazí se ve výsledku slova jako: //ale, pro, tak, jak// apod.+Začněme tím nejuniverzálnějším znakem, tedy tečkou (''.''), která zastupuje právě jeden libovolný znak. Jakékoliv třípísmenné slovo tak lze v KonTextu najít (mimo jiné) pomocí sekvence tří teček za sebou (''<nowiki>...</nowiki>''). Zadáme-li takový dotaz s výchozím atributem **word** (slovní tvar), zobrazí se ve výsledku slova jako: //ale////pro////tak////jak// apod.
  
-<WRAP round important 50%>+<WRAP round info 50%>
 Hledáme-li tečku jakožto interpunkční znaménko, využijeme zpětné lomítko (více [[regularni_vyrazy#dalsi_specialni_symboly|viz níže]]). Dotaz pak bude vypadat takto: ''\.'' Hledáme-li tečku jakožto interpunkční znaménko, využijeme zpětné lomítko (více [[regularni_vyrazy#dalsi_specialni_symboly|viz níže]]). Dotaz pak bude vypadat takto: ''\.''
 </WRAP> </WRAP>
Řádek 21: Řádek 27:
 | **hvězdička** | ''*'' | libovolný počet (0 a více) opakování předchozího znaku nebo celku | ekvivalentní s ''{0,}'' | | **hvězdička** | ''*'' | libovolný počet (0 a více) opakování předchozího znaku nebo celku | ekvivalentní s ''{0,}'' |
 | **plus** | ''+'' | 1 nebo více opakování předchozího znaku nebo celku | ekvivalentní s ''{1,}'' | | **plus** | ''+'' | 1 nebo více opakování předchozího znaku nebo celku | ekvivalentní s ''{1,}'' |
-| **otazník** | ''?'' | žádný nebo jeden výskyt předchozího znaku nebo celku | ekvivalentní s ''{0,1}'' nebo ''{,1}''+| **otazník** | ''?'' | žádný nebo jeden výskyt předchozího znaku nebo celku | ekvivalentní s ''{0,1}''
-| **interval ve složených závorkách** | ''{n, k}'' | //n// až //k// opakování předchozího znaku nebo většího celku | je-li //k// vynecháno, tedy zůstane-li ''{n,}'', odpovídá intervalu nejméně //n// opakování;\\ je-li //n// vynecháno, tedy zůstane-li ''{,k}'', doplní se na jeho místo nula;\\ pokud má výraz tvar ''{n}'', odpovídá mu přesně //n// opakování |+| **interval ve složených závorkách** | ''{n, k}'' | //n// až //k// opakování předchozího znaku nebo celku | je-li //k// vynecháno, tedy zůstane-li ''{n,}'', odpovídá intervalu nejméně //n// opakování;\\ pokud má výraz tvar ''{n}'', odpovídá mu přesně //n// opakování |
 | **kulaté závorky** | ''()'' | vytvářejí celek, na který lze aplikovat další operace, např. opakování | celkem mohou být konkrétní znaky i vyšší jednotky | | **kulaté závorky** | ''()'' | vytvářejí celek, na který lze aplikovat další operace, např. opakování | celkem mohou být konkrétní znaky i vyšší jednotky |
  
Řádek 33: Řádek 39:
 |''k.*o''|slova o libovolné délce začínající na písmeno //k// a končící písmenem //o// (//kdo//, //kolo//, //kafíčko//)| |''k.*o''|slova o libovolné délce začínající na písmeno //k// a končící písmenem //o// (//kdo//, //kolo//, //kafíčko//)|
 |''256''|číslo //256//| |''256''|číslo //256//|
-|''19..''|letopočty začínající číslem //19// (případně též kombinace čísla //19// s různými znaky)|+|''19..''| čtymístná čísla začínající číslicemi //1// a //9//, např. letopočty (případně též kombinace čísla //19// s různými znaky)|
 |''kočka''|slovo //kočka//| |''kočka''|slovo //kočka//|
 |''kočk.*''|všechny tvary lemmatu //kočka// s výjimkou Lsg. (//kočce//) a Gpl. (//koček//), ale i další odvozená slova: //kočkodan//, //kočkovitý//, //kočkovat// aj.| |''kočk.*''|všechny tvary lemmatu //kočka// s výjimkou Lsg. (//kočce//) a Gpl. (//koček//), ale i další odvozená slova: //kočkodan//, //kočkovitý//, //kočkovat// aj.|
  
-<wrap lo>Regulární výrazy budeme nejčastěji zadávat v rámci typu dotazu **CQL**, o němž bude řeč v [[kurz:pokrocile_dotazy|příští lekci]]; lze je ale používat i v [[kurz:prvni_dotaz#nac_je_ktery_typ_dotazu_vhodny|jiných typech dotazu]] – ty jsou totiž následně automaticky přeloženy do dotazovacího jazyka CQL. Pokud tedy do typu dotazu **Lemma** zadáme regulární výraz ''.*číst'', budou výsledkem všechny výskyty všech edponových sloves odvozených od slovesa //číst//.</wrap>+Regulární výrazy budeme nejčastěji zadávat v rámci CQL dotazu, tj. po přepnutí přepínače **Pokročilý dotaz**, o čemž bude řeč v [[kurz:pokrocile_dotazy|příští lekci]]. Lze je ale používat i v dotazu jednoduchém (ten je totiž následně automaticky přeložen do dotazovacího jazyka CQL), musí však být zapnuta volba **Povolit regulární výrazy** pod dotazovacím okénkem. V takovém případě je rovněž možné upřesnit výchozí [[pojmy:atributy_pozicni|poziční atribut]], podle nějž se má vyhledávat (např. zadáme-li regulární výraz ''.*číst'', zobrazí se nám i výchozím atributu ''word'' pouze infinitivní tvary prefigovaných odvozenin od slovesa //číst//, kdežto při atributu ''lemma'' se zobrazí všechny slovesné formy těchto sloves).
  
-Podívejme se nyní na konkrétní příklady regulárních výrazů zadaných do korpusu [[cnk:syn2010|SYN2010]] prostřednictvím typu dotazu **Slovní tvar**:+Podívejme se nyní na konkrétní příklady regulárních výrazů zadaných do korpusu [[cnk:syn2020|SYN2020]] prostřednictvím výchozího atributu ''word'':
  
 <WRAP round help 70%> <WRAP round help 70%>
Řádek 52: Řádek 58:
   * ''cha(cha)+''   * ''cha(cha)+''
  
-Zobrazte si u jednotlivých výsledků [[vyhodnoceni_dotazu#frekvencni_distribuce|frekvenční distribuci]] slovních tvarů (word) a lemmat. Nerozlišujte velikost písmen a vytvořte si přehled toho, co dané dotazy našly a co nenašly.+Zobrazte si u jednotlivých výsledků frekvenční distribuci (viz [[vyhodnoceni_dotazu#frekvencni_distribuce|předchozí lekce]]slovních tvarů (word) a lemmat. Nerozlišujte velikost písmen a vytvořte si přehled toho, co dané dotazy našly a co nenašly.
 </WRAP> </WRAP>
  
Řádek 58: Řádek 64:
  
 ^ dotaz ^ počet výskytů ^ odpovídající lemmata bez rozlišení velikosti (v závorce absolutní četnost) ^ ^ dotaz ^ počet výskytů ^ odpovídající lemmata bez rozlišení velikosti (v závorce absolutní četnost) ^
-| ''ps?t''182 pst (135), pt (47) | +| ''ps?t'' 45 //pt// (26), //pst// (19) | 
-| ''ps*t''302 pst (135), psst (65), pssst (48), pt (47), psssst (6), psssssssst (1) | +| ''ps*t'' 81 //pt// (26), //pssst// (24//pst// (19), //psssst// (7), //psst// (5) | 
-| ''ps+t''255 pst (135), psst (65), pssst (48), psssst (6), psssssssst (1) | +| ''ps+t'' 55 //pssst// (24//pst// (19), //psssst// (7), //psst// (5) | 
-| ''cha(cha)?''331 | //cha// (300), //chacha// (31) | +| ''cha(cha)?'' 150 | //cha// (108), //chacha// (42) | 
-| ''cha(cha)*''364 | //cha// (300), //chacha// (31), //chachacha// (31), //chachachacha// (2) | +| ''cha(cha)*'' 164 | //cha// (108), //chacha// (42), //chachacha// (10), //chachachacha// (2), //chachachachacha// (1), //chachachachachacha// (1)  
-| ''cha(cha)+''64 | //chacha// (31), //chachacha// (31), //chachachacha// (2) |+| ''cha(cha)+'' 56 | //chacha// (42), //chachacha// (10), //chachachacha// (2), //chachachachacha// (1), //chachachachachacha// (1) |
  
  
-Možná si kladete otázku, jestli se regulární výrazy hodí i pro výzkum zásadnějších jevů než citoslovcí. Je dobré zdůraznit, že se bez nich neobejdeme např. při prohledávání [[pojmy:mluveny|mluvených korpusů]], které zatím nejsou [[pojmy:lemma|lemmatizované]], obrovskou pomocí jsou ale i při vyhledávání v korpusech lemmatizovaných. +Možná si kladete otázku, jestli se regulární výrazy hodí i pro výzkum zásadnějších jevů než citoslovcí. Je dobré zdůraznit, že se bez nich neobejdeme např. při prohledávání [[pojmy:mluveny|mluvených korpusů]], které ne vždy bývají [[pojmy:lemma|lemmatizované]], obrovskou pomocí jsou ale i při vyhledávání v korpusech lemmatizovaných. 
  
 <WRAP round help 60%> <WRAP round help 60%>
-Zkuste v korpusu [[cnk:oral2013|ORAL2013]] nalézt co nejvíc různých podob výrazu //jestli//+Zkusme si jednom takovém nelematizovaném korpusu -- [[cnk:oral2013|ORAL2013]] -- najít co nejvíc různých podob výrazu //jestli//
-  - Zamyslete se nad tím, která písmena se při hovoru vynechávají, a lexém přesto zůstává srozumitelný.+  - Nejprve se zamyslete nad tím, která písmena se při hovoru vynechávají, a lexém přesto zůstává srozumitelný.
   - Zformulujte dotaz (drobná nápověda: vystačíte si pouze s písmeny a otazníky).   - Zformulujte dotaz (drobná nápověda: vystačíte si pouze s písmeny a otazníky).
   - Zobrazte si frekvenční distribuci.   - Zobrazte si frekvenční distribuci.
 </WRAP> </WRAP>
  
-Stejně jako u většiny úloh s regulárními výrazy i v tomto případě existuje více postupů, jak se dobrat ke stejnému výsledku. V každém případě nám může pomoct [[hledani_v_mluvenych_korpusech#jak_spravne_zadat_hledane_slovo|vyhledávač variant v korpusech řady ORAL]]. Pro řešení naší výzkumné otázky jsme zvolili symbol ''?'', který pomůže specifikovat, které segmenty se ve slově nemusejí vždy vyskytovat.+Stejně jako u většiny úloh s regulárními výrazy i v tomto případě existuje více postupů, jak se dobrat ke stejnému výsledku. My jsme si vybrali ten využívající symbol ''?'', který specifikuje, které segmenty se ve slově **nemusejí** vždy vyskytovat. Zápis je takovýto: ''j?est?l?i'' (tzn. předpokládáme, že zredukovat lze hlásky //j//, //t// a //l//) a výsledek tento:
  
-[{{:kurz:jestli-oral2013.png?nolink&200|FIXME}}]+[{{:kurz:jestli-frekvence.png?direct&300|Frekvenční distribuce podob //jestli// v korpusu ORAL2013}}]
  
-<WRAP clear/>+Ve frekvenčním seznamu se ocitly dva překvapivé tvary: //jesti// a //esti//. Pomocí modře označeného **p** ([[manualy:kontext:frekvencni_distribuce#frekvencni_seznam_vypis|pozitivní filtr]]) ve frekvenčním seznamu můžeme hned zkontrolovat, zda jde o námi hledaný význam (v obou případech tomu tak je) a nakolik je použití tohoto konkrétního tvaru regionálně či jinak podmíněné (zdá se to být východomoravské specifikum -- 6 případů ze 7, respektive 8 z 9 spadá do této nářeční oblasti).
  
 +Více o specifikách hledání v mluvených korpusech najdete v [[kurz:hledani_v_mluvenych_korpusech|bonusové lekci]].
  
-Ve frekvenčním seznamu se ocitly dva překvapivé tvary: //jesti// a //esti//. Pomocí modře označeného **p** ([[manualy:kontext:frekvencni_distribuce#frekvencni_seznam_vypis|pozitivní filtr]]) ve frekvenčním seznamu můžeme hned zkontrolovat, zda jde o námi hledaný význam (v obou případech tomu tak je) a nakolik je použití tohoto konkrétního tvaru regionálně či jinak podmíněné (zdá se to být východomoravské specifikum -- 6 případů ze 7, respektive 8 z 9 spadá do této nářeční oblasti). 
  
 ==== Sekvence libovolných znaků ==== ==== Sekvence libovolných znaků ====
  
-Nejmocnější kombinací je vyhledání libovolného počtu opakování libovolných znaků, tj. ''.*'' (tečka a hvězdička). Ta může reprezentovat celé slovo nebo jeho libovolnou část. Proto není vhodné zadávat samotný dotaz ''.*'', není-li to nutné, protože výsledkem zdlouhavého a výpočetně náročného hledání budou všechna slova v daném korpusu.+[{{ frekvdistr_vedom.png?nolink&direct&250|Frekvenční distribuce deseti nejčastějších lemmat získaných díky tečce a hvězdičce}}] 
 + 
 + 
 +Asi nejpoužívanější kombinací regulárních výrazů je vyhledání libovolného počtu opakování libovolných znaků, tj. ''.*'' (tečka a hvězdička). Ta může reprezentovat celé slovo nebo jeho libovolnou část. Proto není vhodné zadávat samotný dotaz ''.*'', není-li to nutné, protože výsledkem zdlouhavého a výpočetně náročného hledání budou všechna slova v daném korpusu. 
  
 <WRAP round help 60%> <WRAP round help 60%>
-  * Vyhledejte v korpusu [[cnk:syn2015|SYN2010]] v typu dotazu **Slovní tvar** řetězec znaků ''.*vědom.*''.+  * Vyhledejte v korpusu [[cnk:syn2020|SYN2020]] v jednoduchém typu dotazu řetězec znaků ''.*vědom.*'' (je zapotřebí zapnout možnost **Povolit regulární výrazy** a pro srovnatelnost výsledků zvolit jako výchozí atribut **word**).
   * Zobrazte si frekvenční distribuci takto identifikovaných lemmat a výsledný frekvenční seznam si uložte.   * Zobrazte si frekvenční distribuci takto identifikovaných lemmat a výsledný frekvenční seznam si uložte.
 </WRAP> </WRAP>
  
-Jak kýžená frekvenční distribuce vypadá? Najde veškerá lemmata obsahující daný řetězec znaků (v tomto případě slovní základ //vědom//) a umožní zkoumat nejrůznější typy odvozování, zároveň s územ (reprezentovaným frekvencí). +Jak kýžená frekvenční distribuce vypadá? Najde veškerá lemmata obsahující daný řetězec znaků (v tomto případě slovní základ //vědom//) a umožní zkoumat nejrůznější typy odvozování.
- +
-{{frekvdistr_vedom.png?300|Frekvenční distribuce deseti nejčastějších lemmat získaných díky tečce a hvězdičce}}+
  
 ===== Další speciální symboly ===== ===== Další speciální symboly =====
Řádek 104: Řádek 112:
 | **seznam** | ''[ ]'' | alternativa, možnost výběru **jednoho** libovolného znaku ze znaků uvnitř hranatých závorek | v rámci seznamu je možné používat také pomlčku (''-'') jako operátor rozsahu (např. ''[a-z]'', ''[1-9]'') pro alfabetické znaky a číslice | | **seznam** | ''[ ]'' | alternativa, možnost výběru **jednoho** libovolného znaku ze znaků uvnitř hranatých závorek | v rámci seznamu je možné používat také pomlčku (''-'') jako operátor rozsahu (např. ''[a-z]'', ''[1-9]'') pro alfabetické znaky a číslice |
 | **inverzní seznam** | ''[^ ]'' | výběr **jednoho** libovolného znaku **s výjimkou** znaků uvnitř hranatých závorek | pokud je prvním znakem seznamu stříška (''^''), jde o inverzní seznam: tedy jeden libovolný znak kromě těch uvedených uvnitř hranatých závorek | | **inverzní seznam** | ''[^ ]'' | výběr **jednoho** libovolného znaku **s výjimkou** znaků uvnitř hranatých závorek | pokud je prvním znakem seznamu stříška (''^''), jde o inverzní seznam: tedy jeden libovolný znak kromě těch uvedených uvnitř hranatých závorek |
-| **svislá čára** | ''|'' | alternativa, ovšem ne jenom mezi jednotlivými znaky, ale mezi celými řetězci tvořícími celek | kombinuje se často s kulatými závorkami, které pomáhají určit prioritu vyhodnocení |+| **svislá čára** | ''|'' | alternativa, ovšem ne jenom mezi jednotlivými znaky, ale mezi řetězci tvořícími celek | kombinuje se často s kulatými závorkami, které pomáhají určit prioritu vyhodnocení |
 | **zpětné lomítko** | ''\'' | pokud předchází speciálnímu znaku, ztrácí daný symbol svůj zvláštní význam | takto lze vyhledávat např. interpunkční znaménka či další speciální znaky v textu | | **zpětné lomítko** | ''\'' | pokud předchází speciálnímu znaku, ztrácí daný symbol svůj zvláštní význam | takto lze vyhledávat např. interpunkční znaménka či další speciální znaky v textu |
  
  
 <WRAP round important 60%> <WRAP round important 60%>
-Pozor! Význam hranatých závorek je dvojí:+Význam hranatých závorek je dvojí:
   - v rámci regulárních výrazů představují seznam (viz tabulka výše)   - v rámci regulárních výrazů představují seznam (viz tabulka výše)
   - v rámci [[pojmy:cql|CQL]] představují samostatnou pozici, [[pokrocile_dotazy#hlavni_rysy_cql|viz příští lekce]].   - v rámci [[pojmy:cql|CQL]] představují samostatnou pozici, [[pokrocile_dotazy#hlavni_rysy_cql|viz příští lekce]].
 </WRAP> </WRAP>
  
 +A opět pár příkladů s výsledky:
  
-=== Příklad dotazu: Adjektiva s prefixem vy- ===+^ Dotaz ^ Výsledek ^ 
 +|''b[iy]l.*''|všechna slova začínající na //bil// nebo //byl//| 
 +|''b[^iy]l.*''|všechna slova nezačínající na na //bil// nebo //byl//, teda např. //bílý//, //bolest//, //bát// aj.| 
 +|''za(ps|sp)ati?''|infinitivy //zapsat(i)// a //zaspat(i)//
 +|''\.\!?''|sekvence interpunkčních znamének tečka vykřičník otazník| 
 +|''[\.\!?]''|všechny tečky, vykřičníky a otazníky|
  
-<WRAP round help 60%> 
-V korpusu [[cnk:oral2013|ORAL2013]] ověřte, jak expanduje prefix //vy-//, a to především u adjektiv. Korpus není lemmatizovaný ani tagovaný, musíme si proto vystačit s hledáním pomocí **Slovního tvaru**. 
- 
-   - Nejprve si představte slova s touto předponou: //vykalený//, //vymazlený//, //vytuněný// ... 
-   - Rozepište si, jaké mužské koncovky – pro jednoduchost jen tyto – mohou adjektiva (v obou číslech) mít. 
-   - Vytvořte dotaz na slovní tvar, u něhož znáte začátek i konec výrazů a hledáte prostřední část. 
-</WRAP> 
- 
-Dotaz mohl vypadat takto nějak: ''vy.+(ý|ej|ma|mi|ho|mu|ých|ejch))''. Konkrétně na tento dostaneme v korpusu ORAL2013 1285 výskytů, nejfrekventovanějšími tvary jsou //vysoký// (111), //vysokej// (67), //vyřešený// (20), //vyřízený// (17), //vyfocený// (16), //vystavený// (16). Sedmý v pořadí (s absolutní frekvencí 16) je word //vyndej//, ten s dalšími slovesnými tvary (//vydržej// 13, //vymejšlej// 9 aj.) hledaným tvarům neodpovídá. V takovýchto případech je nezbytné ruční třídění výsledků (jde o potíž s tzv. [[pojmy:precision|precision a recall]] – jak přesně zformulovaný dotaz položit, aby nevyloučil příliš mnoho dokladů, které nás mohou zajímat). 
  
 === Příklad dotazu: Konkurence forem === === Příklad dotazu: Konkurence forem ===
  
 <WRAP round help 50%> <WRAP round help 50%>
-Vyhledejte v korpusu [[cnk:syn2015|SYN2015]] v typu dotazu **Lemma** prefigovaná adjektiva na //vy-// zakončená na //-lý// nebo //-ný// (např. //vyčpělý// a //vydýchaný//).+Vyhledejte v korpusu [[cnk:syn2015|SYN2015]] prefigovaná adjektivní lemmata začínající na //vy-// zakončená na //-lý// nebo //-ný// (např. //vyčpělý// a //vydýchaný//).
 </WRAP> </WRAP>
  
-Použili jsme dotaz ''vy.+(lý|ný)'', slovní druh jsme omezili na přídavná jména. Celkem jsme dostali  105 328 případů, mezi nejčastějšími figurují slova //vyspělý// (2220), //vytrvalý// (1127), //vybledlý// (695) z první skupiny, z druhé pak //vybraný// (6390), //vyrovnaný// (3158), //vyrobený// (2760) a další+Použili jsme dotaz ''vy.+(lý|ný)'' s výchozím atributem ''lemma|word''. Celkem jsme dostali 105 373 případů, mezi nejčastějšími figurují slova //vyspělý// (2220), //vytrvalý// (1127), //vybledlý// (695) z první skupiny, z druhé pak //vybraný// (6390), //vyrovnaný// (3158), //vyrobený// (2760) a další.
- +
-S tímto dotazem úzce souvisí nástroj [[manualy:morfio|Morfio]], který slouží pro slovotvornou analýzu.+
  
 ===== Vyzkoušejte si na závěr ===== ===== Vyzkoušejte si na závěr =====
Řádek 141: Řádek 144:
 <WRAP round help 60%> <WRAP round help 60%>
 V korpusu [[cnk:syn2015|SYN2015]] najděte: V korpusu [[cnk:syn2015|SYN2015]] najděte:
-  - pomocí dotazu typu **Lemma** všechna slova, která obsahují sekvenci //kořen//, kterou následuje i předchází alespoň jeden znak (typicky předpona a přípona) +  - pomocí výchozího atributu **lemma** všechna slova, která obsahují sekvenci //kořen//, kterou následuje i předchází alespoň jeden znak (typicky předpona a přípona) 
-  - pomocí dotazu na **Slovní tvar** všechny prefigované infinitivy odvozené od slovesa //téct/téci// +  - pomocí atributu **word** všechny prefigované infinitivy odvozené od slovesa //téct/téci// 
-  - všechny výskyty tvarů negativního superlativu, tj. tvary začínající na //nejne-// a končící na //-ší// nebo //-čí// (pro jednoduchost odhlédněme od jiných tvarů, než je nom. sg.)+  - všechny výskyty tvarů negativního superlativu, tj. tvary začínající na //nejne-// a končící na //-ší// nebo //-čí// (pro jednoduchost odhlédněme od jiných tvarů, než je nominativ singuláru) 
  
 Výsledky najdete jako vždy v [[reseni_ukolu#lekce_4|Řešení úkolů]]. Výsledky najdete jako vždy v [[reseni_ukolu#lekce_4|Řešení úkolů]].