Potřebné nástroje pro tento díl
- Nástroj Open Refine.
- Soubor s klíčovými slovy z předchozího dílu. Pokud jste přeskočili první díl, nabízím svůj kompletní seznam klíčových slov z skliku ve formátu xlsx.
Pokud umíte anglicky a myslíte to s Open Refine vážně, doporučuji úžasnou knížku Using OpenRefine (Ruben Verborgh, Max De Wilde).
Podle čeho chceme data rozdělit
V našem souboru máme zatím nijak nekategorizovaná klíčová slova, která se vztahují k tématu práva a soudů. V první fázi budeme tato klíčová slova rozdělovat do větších skupin na základě záměru uživatele. Toto třídění je nutné kvůli tomu, že s každou skupinou dotazů chceme pracovat jinak.
Nyní se na klíčová slova blíže podíváme a začneme mezi nimi hledat logické skupinky. Jedna se může týkat například dotazů zaměřených na informace ohledně soudů, další zase dotazů, jimiž uživatel hledá právního zástupce. Vytvoříme si v Excelu s klíčovými slovy nový sloupec a ke každému klíčovému slovu uvedeme skupinu, do které jsme ho zařadili. Například u klíčového slova “vzor smlouvy na auto” bude skupina “Vzory smluv”. Výsledkem této fáze tedy je to, že máme pohromadě dotazy na vzory smluv, informace a pomoc při rozvodu, právní služby, typy práva, informace o soudech atd.
První kroky s Open Refine
Nyní je ten správný čas stáhnout a naistalovat Open Refine. Stačí pouze rozbalit složku a spustit soubor s koncovkou “.exe”.
Po spuštění Open Refine dojde k otevření nového okna ve Vašem výchozím webovém prohlížeči. Ačkoliv se prostředí Open Refine jeví jako webová stránka, veškeré operace probíhají lokálně (bez nutnosti připojení k internetu).
Nahráváme vytvořený seznam klíčových slov
- Zvolíme náš Excel a pokračujeme přes tlačítko Next.
- Data zkontrolujeme. Slova by měla mít v náhledu černou barvu a čísla zelenou. Refine se pokusí odhadnout formát buňky. Pro práci s čísly je důležité, aby Refine správně detekoval jejich formát a nepovažoval je za text.
- Import projektu dokončíme tlačítkem Create project.
Slučujeme a čistíme vyhledávací dotazy
Prvním úkolem u každého projektu je normalizace klíčových slov. Například výrazy s diakritikou a bez ní mají pro nás stejný význam, je tedy zbytečné s nimi pracovat odděleně. Také výrazy, kde je pouze jiné pořadí klíčových slov, mají ve výsledku stejný význam, proto je chceme mít ve stejné skupině. Prvním krokem při práci s nástrojem tedy bude odstranění diakritiky a sloučení dotazů s přehozeným pořadím slov ve výrazu. Postup bude následující:
- Zkopírujeme si obsah sloupečku Klíčové slovo do nového sloupce, který si nazveme Dotaz. (Edit column > Add column based on this column > odkliknutí OK)
- Odstraníme ze sloupečku Dotaz kompletně diakritiku pomocí tohoto vzorečku:
import unicodedata;
return unicodedata.normalize('NFKD', value).encode('ASCII', 'ignore') - Odstraníme dvojité mezery mezi slovy. (Edit cells > Common tranforms > Trim leading and trailing whitespace)
- Dotazy sloučíme pomocí funkce Cluster. Tím ušetříme čas při značkování. (Edit cells > Cluster and edit > Projdeme výsledky, dáme Select all > Merge selected and recluster > Close)
Jelikož pracujeme pouze s 12 000 dotazy, není nutné se dlouze snažit dotazy slučovat pomocí funkce Cluster. V případě většího množství dat bych ale slučování věnoval více času.
Co jsou to Facety
Pro následující funkce je třeba si přiblížit tzv. Facety v nástroji Open Refine. Facety slouží jako náhled na vybraný sloupeček v našem projektu.
První Facet, který je pro nás zajímavý, je “Word Facet”. Tento Facet rozdělí veškeré výrazy na slova a všechna je vypíše. Můžeme si tak velmi jednoduše vyfiltrovat například dotazy obsahující slovo “smlouvy”.
Další Facet, který budeme potřebovat, je “Text Facet”. Text Facet nám zobrazuje všechny výrazy ve vybraném sloupečku. Tento Facet nám bude sloužit k označení prázdných buněk v daném sloupci. Díky tomu budeme moci v průběhu pracovat s řádky, které nejsou zařazeny v žádné skupině.
Vybrané dva Facety nejsou samozřejmě jediné, které nástroj nabízí. Pro naše potřeby, alespoň pro následující kroky, ovšem budou stačit.
Při naší práci budeme neustále mít zapnutý “Word Facet” na sloupeček Dotaz a “Text Facet” na sloupeček Kategorie.
Třídíme výrazy do skupin
- Rozbalíme si menu sloupečku Dotaz > Facet > Customized Facets > Word Facet.
- Rozbalíme volby sloupečku Kategorie > Facet > Text Facet.
- Ve “Word Facetu” najdeme výraz “smlouva” a klikneme na tlačítko Include.
- Klikneme na tlačítko Edit u blank (prázdné buňky) v “Text Facetu” sloupce Kategorie. Edit se objeví až po najetí myší do dané oblasti. Přepíšeme hodnotu na Smlouvy a vzory. Tím jsme si přidali všechny dotazy, které obsahují slovo “smlouva”, do skupiny Smlouvy a vzory.
- Nyní musíme kliknout na Reset u “Word Facetu” sloupce Dotaz.
- V “Text Facetu” máme v současné době 2 hodnoty – “Blank” a “Smlouvy a vzory”.
- Nyní si označíme si pouze buňky, které jsou “Blank”.
Následně proces opakujeme, dokud nemáme všechna klíčová slova zařazená do skupin. Pro lepší pochopení je níže video popisující kompletní průběh třídění i s komentářem.
Shrnutí
Opakováním předchozího procesu se nám po čase podaří roztřídit klíčová slova do širších skupin. V dalším článku si ukážeme, jak pomocí kontingenční tabulky v Excelu najít ve skupinách potřebné informace o jejich hledanost a konkurenci.
Další tipy a triky
Vyhledání “kořene” slova
Pokud nechcete hledat všechny tvary slova u Word Facetu, je možné místo toho hledat buňky, které v sobě obsahují určitý řetězec. Například v případě slova “smlouvy” chceme označit všechny další tvary slova (smlouva, smluv, smlouvám, smluv a podobně). Na toto používám vlastní vzoreček. Otevřu si volby sloupečku Dotaz a zvolím Facet > Custom text Facet. Zde zadám vzoreček:
or(value.contains("smlouv"),value.contains("smluv"),value.contains("vzor"))
V podstatě jsem tím Open Refine řekl, že chci najít všechny dotazy, ve kterých se vyskytují výrazy “smluv”, “vzor”, “smlouv”. Nástroj se mě zeptá, zda chci zobrazit výsledky vyhovující, nebo nevyhovující mému zadání (True or False). Jakmile vyberu možnost True, zobrazí se mi všechny dotazy, jež splňují moje požadavky. Vzoreček si můžete sami velmi jednoduše upravovat podle Vašeho záměru.
Pro pohodlnější vytvoření vzorečku můžete použít náš jednoduchý převodník:
V další kapitole se podíváme na výstup z třídění dotazů do skupin. Nyní potřebujeme kategorie, které vznikly, dále klasifikovat.