Stemmatizácia odreže zo slova koncovku a nechá kmeň (topánky, topánok, topánkami → topánk). Lematizácia nájde slovníkový základný tvar (topánkami → topánka). Obe slúžia na to, aby vyhľadávanie našlo produkt bez ohľadu na pád, číslo či rod, v ktorom zákazník slovo napíše. Stemmatizácia je rýchla a jednoduchá, lematizácia presnejšia, ale potrebuje slovník a viac výpočtov.
Prečo je to pre slovenské e-shopy dôležitejšie ako pre anglické
Angličtina má pár koncoviek (shoe, shoes). Slovenčina a čeština majú sedem pádov, tri rody a desiatky vzorov. Jedno podstatné meno má bežne viac ako desať tvarov. Zákazník napíše „nabíjačky na mobil“, produkt sa volá „Nabíjačka na mobil USB-C“. Bez úpravy tvarov sú „nabíjačky“ a „nabíjačka“ pre počítač dve rôzne slová.
Štandardné vyhľadávanie WordPressu a WooCommerce hľadá text cez SQL podmienku LIKE. „Nabíjačk“ by našlo obe, ale celé slovo „nabíjačky“ nenájde produkt, ktorý má v názve len „nabíjačka“.
Stemmatizácia a lematizácia v porovnaní
| Stemmatizácia | Lematizácia | |
|---|---|---|
| Princíp | Pravidlá odrezávajú koncovky | Slovník a morfologická analýza vracajú základný tvar |
| Výsledok | Kmeň, nemusí to byť skutočné slovo | Skutočné slovo (lema) |
| Rýchlosť | Veľmi rýchla | Pomalšia |
| Chyby | Občas spojí slová, ktoré k sebe nepatria, alebo nespojí nepravidelné tvary | Menej chýb, ak slovník slovo pozná |
| Vhodné pre | Vyhľadávanie v reálnom čase, našepkávač | Analýzu textu, vyhľadávače s veľkým rozpočtom |
Učebnica Introduction to Information Retrieval zo Stanfordu to opisuje podobne: stemmatizácia je hrubá heuristika, ktorá odsekáva konce slov, lematizácia používa slovník a morfologickú analýzu a vracia slovníkový tvar.
Kde stemmatizácia robí chyby a ako ich obísť
- Príliš agresívne odrezanie. „Lampa“ a „lampión“ môžu skončiť pri rovnakom kmeni. Riešením je opatrný stemmer, ktorý reže len bežné koncovky, a radenie, ktoré uprednostní presnú zhodu.
- Nepravidelné tvary. „Človek“ a „ľudia“ stemmer nespojí. Na e-shope je to zriedkavé, a keď sa to stane, pomôžu synonymá vo vyhľadávaní.
- Značky a kódy. „Adidas“ nesmie stratiť „s“. Krátke slová, čísla a kódy treba nechať bez zmeny.
Ako to rieši wooacademy search 1.0.3
V plugine som zvolil ľahký stemmer pre slovenčinu a češtinu. Dôvod je rýchlosť: stemmer beží pri každom písmene v našepkávači a pri tisícoch produktov musí výsledok prísť za pár milisekúnd.
- Pri indexovaní sa slová z názvu, popisu, kategórií a atribútov zbavia diakritiky a skrátia na kmeň.
- Rovnako sa upraví aj dopyt, takže „nabíjačky“, „nabíjačkou“ aj „nabijacka“ sa stretnú pri rovnakom kmeni.
- Krátke slová a slová s číslicami stemmer nemení.
- Presná zhoda má pri radení vyššiu váhu ako zhoda kmeňa. Viac o tom, ako sa skladá poradie, v článku o relevancii vyhľadávania.
- Nad stemmerom beží tolerancia preklepov, takže zvládne aj „nabijacky“ s chýbajúcim písmenom.
Vyhľadávanie, ktoré rozumie slovenčine a češtine
wooacademy search 1.0.3 hľadá bez ohľadu na pád, diakritiku a malý preklep. Výsledky radí podľa zhody, predajov a skladu.
Chcem vyhľadávanie na svoj e-shop · ročná licencia pre 1 doménu 249 €, s nastavením na kľúč 499 €
Ako zistiť, či vám tvary slov berú výsledky
Napíšte do vyhľadávania päť produktov v množnom čísle a v 2. páde (bez topánok, s nabíjačkami). Ak sa výsledky výrazne líšia od hľadania v základnom tvare, vaše vyhľadávanie tvary nespája. V štatistike hľadaných výrazov potom uvidíte práve tieto dopyty medzi nulovými výsledkami.
Časté otázky
Je lematizácia vždy lepšia ako stemmatizácia?
Pre analýzu textu áno, pre vyhľadávanie v e-shope nie nevyhnutne. Stemmatizácia je rýchlejšia a pri názvoch produktov sú rozdiely v presnosti malé, ak radenie uprednostní presnú zhodu.
Funguje stemmer aj pre češtinu?
Áno, wooacademy search má ľahký stemmer pre slovenčinu aj češtinu.
Musím kvôli stemmatizácii prepísať názvy produktov?
Nie. Úprava tvarov sa robí v indexe vyhľadávania, texty na webe ostávajú bez zmeny.
Čo sú stop slová a súvisia so stemmatizáciou?
Stop slová sú veľmi časté slová (a, na, pre), ktoré vyhľadávanie pri radení ignoruje alebo im dáva malú váhu. Je to iný krok spracovania textu, ale robí sa v rovnakej fáze.
Autor: Milan Fraňo, wooacademy.sk. Robím WooCommerce e-shopy, merania a SEO. Plugin wooacademy search som vyvíjal pre e-shopy, ktoré chcú dobré vyhľadávanie bez mesačného poplatku externej službe.





