Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verzeNásledující verzeObě strany příští revize |
kurz:regularni_vyrazy [2017/05/18 13:36] – michalskrabal | kurz:regularni_vyrazy [2018/08/08 10:10] – [Sekvence libovolných znaků] vaclavcvrcek |
---|
| **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;\\ <WRAP round important 50%> | | **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í;\\ je-li //n// vynecháno, tedy zůstane-li ''{,k}'', doplní se na jeho místo nula;\\ <WRAP round important 50%> |
Pozor! Dočasně tento způsob dotazu nefunguje, a je tudíž potřeba zadat obě hodnoty, tzn. //n// i //k//. Na odstranění této technické chyby pracujeme. | Pozor! Dočasně tento způsob dotazu nefunguje, a je tudíž potřeba zadat obě hodnoty, tzn. //n// i //k//. |
</WRAP> pokud má výraz tvar ''{n}'', odpovídá mu přesně //n// opakování | | </WRAP> 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 | |
<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]] – i 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 předponových sloves odvozených od slovesa //číst//.</wrap> | <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]] – i 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 předponových sloves odvozených od slovesa //číst//.</wrap> |
| |
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:syn2015|SYN2015]] prostřednictvím typu dotazu **Slovní tvar**: |
| |
<WRAP round help 70%> | <WRAP round help 70%> |
| |
^ 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'' | 212 | //pst// (141), //pt// (76) | |
| ''ps*t'' | 302 | //pst// (135), //psst// (65), //pssst// (48), //pt// (47), //psssst// (6), //psssssssst// (1) | | | ''ps*t'' | 336 | //pst// (141), //pt// (76), //psst// (64), //pssst// (47), //psssst// (6), //psssssssst// (1), //pssssst// (1) | |
| ''ps+t'' | 255 | //pst// (135), //psst// (65), //pssst// (48), //psssst// (6), //psssssssst// (1) | | | ''ps+t'' | 260 | //pst// (141), //psst// (64), //pssst// (47), //psssst// (6), //psssssssst// (1), //pssssst// (1) | |
| ''cha(cha)?'' | 331 | //cha// (300), //chacha// (31) | | | ''cha(cha)?'' | 371 | //cha// (316), //chacha// (55) | |
| ''cha(cha)*'' | 364 | //cha// (300), //chacha// (31), //chachacha// (31), //chachachacha// (2) | | | ''cha(cha)*'' | 395 | //cha// (316), //chacha// (55), //chachacha// (18), //chachachacha// (2), //chachachachacha// (2), //chachachachachacha// (1), //chachachachachachachachachachachacha// (1) | |
| ''cha(cha)+'' | 64 | //chacha// (31), //chachacha// (31), //chachachacha// (2) | | | ''cha(cha)+'' | 79 | //chacha// (55), //chachacha// (18), //chachachacha// (2), //chachachachacha// (2), //chachachachachacha// (1), //chachachachachachachachachachachacha// (1) | |
| |
| |
[{{ :kurz:jestli-oral2013.png?nolink&250|Frekvenční distribuce podob //jestli// v mluveném korpusu}}] | [{{ :kurz:jestli-oral2013.png?nolink&250|Frekvenční distribuce podob //jestli// v mluveném korpusu}}] |
| |
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é převážně nejsou [[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%> |
| |
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). | 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]]. |
| |
| |
==== Sekvence libovolných znaků ==== | ==== Sekvence libovolných znaků ==== |
| |
</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í. |
| |
===== Další speciální symboly ===== | ===== Další speciální symboly ===== |