Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verzeNásledující verzeObě strany příští revize |
kurz:regularni_vyrazy [2018/08/08 10:10] – [Sekvence libovolných znaků] Václav Cvrček | kurz:regularni_vyrazy [2018/08/08 10:18] – [Vyzkoušejte si na závěr] Michal Škrabal |
---|
| **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> |
| |
| |
=== Příklad dotazu: Adjektiva s prefixem vy- === | |
| |
<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 === |
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í 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í dotazu na **Slovní tvar** všechny prefigované infinitivy odvozené od slovesa //téct/téci// | - pomocí dotazu typu **Slovní tvar** 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) | - 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) |
| |