Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verzePoslední revizeObě strany příští revize |
kurz:regularni_vyrazy [2021/03/09 21:44] – [Sekvence libovolných znaků] vaclavcvrcek | kurz:regularni_vyrazy [2021/03/10 11:59] – jankocek |
---|
===== 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 s výchozím atributem **Word** (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 info 50%> | <WRAP round info 50%> |
| |
| |
[{{ :kurz:jestli-oral2013.png?nolink&direct&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é ne vždy bývají [[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%> |
Zkuste v korpusu [[cnk:oral2013|ORAL2013]] nalézt co nejvíc různých podob výrazu //jestli//. | Zkusme si v 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í této výzkumné otázky využijeme z regulárních výrazů nejvíc 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-frekvence.png?direct&300|Frekvenční distribuce podob //jestli// v korpusu ORAL2013}}] |
| |
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 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: |
| |
| ^ 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| |
| |
| |
=== Příklad dotazu: Konkurence forem === | === Příklad dotazu: Konkurence forem === |
</WRAP> | </WRAP> |
| |
Použili jsme dotaz ''vy.+(lý|ný)'' s výchozím atributem ''lemma|word'', slovní druh jsme omezili na přídavná jména. Celkem jsme dostali 105 328/373 FIXME 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'', slovní druh jsme omezili na přídavná jména. 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. | S tímto dotazem úzce souvisí nástroj [[manualy:morfio|Morfio]], který slouží pro slovotvornou analýzu. |
<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 typu **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 nominativ singuláru)FIXME | - 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) |
| |
| |