Před 12 lety jsem zpopularizoval analýzu klíčových slov v nástroji Open Refine a ve spreadsheetu. Vy ji tak možná děláte dodnes a netušíte, že to jde lépe. A ono jde: v R. Ukážu vám jak klíčovka v R vypadá a proč by vás to vlastně mělo zajímat.
3. Proč ne Excel a Open Refine
● Ruční práce v Excelu je pomalá.
● Čím víc dotazů klasifikujete, tím víc chyb při tom děláte.
● Výsledná klíčovka se špatně aktualizuje a doplňuje o nové dotazy.
● Práci odvedenou na jedné klíčovce nemůžete využít na jinou klíčovku.
● Špatná návaznost na další zpracování dat, reporting apod.
● Open Refine je výborný nástroj na něco úplně jiného.
4. Proč R
● Na více dotazech (10 000+) velká úspora práce a času.
● Klíčovka se snadno aktualizuje.
● Klasifikace podobných dotazů (třeba ze Search Console nebo PPC) je téměř
bez práce.
● Obecnější části klasifikace (cenová upřesnění, barvy, místa apod.) jdou
opakovaně aplikovat na zcela různé datasety.
● Snadná návaznost na další zpracování a reporting, např. content gap
analysis, zadání pro copywritery atd.
6. Klasifikace na základě pravidel
1. Všechny dotazy jde klasifikovat tím, že se na ně aplikuje sada pravidel.
2. Pravidla určují, které dotazy se vyřadí a které se označí jakým štítkem.
3. Libovolná množina dotazů jde vybrat regulárním výrazem (match) nebo
kombinací max. dvou regulárních výrazů (match - except).
9. Import a konsolidace vstupních dat
Import dat z nejrůznějších zdrojů:
● Marketing Miner
● Search Console
● Google Ads
Dotazy z různých zdrojů se automaticky deduplikují resp. agregují.
10. Normalizace dotazů
Automaticky se sjednotí dotazy, které se liší jen:
● interpunkcí (tečky, pomlčky apod.),
● diakritikou,
● pořadím slov.
11. Průzkum dotazů
● N-gramy
● Dotazy v dotazech (poddotazy, subqueries)
● Kolokace
Z průzkumu vypozoruji typické vzorce, které formuluji jako regulární výrazy.
12. Ověření vzorců
Každý regulární výraz si můžu otestovat a tím dostanu:
1. Přehled dotazů, které regulárnímu výrazu odpovídají.
2. Jakému textu v dotazu regulární výraz odpovídá.
3. Co je před tímto textem a co za ním.
4. N-gramy z okolního textu.
To vše bohatě stačí k tomu, abych ověřil správnost vzorce a případně ho doladil.
13. Sestavení klasifikačních pravidel
Pravidla definuji v jednoduchých souborech typu
YAML, případně je mohu do souborů přidávat
funkcemi.
- type: label
name: brand
rules:
- match:
- hohner
- seydel
- suzuki
values:
- value: lee oskar
rules:
- match: os[kc]ar
14. Vlastní klasifikace
kwr <- kwr |>
kwr_classify("recipes/brand.yml") |>
kwr_classify("recipes/model.yml")