Ako súvisia Hry o tróny so Zaklínačom a Dominik Dán s Jussi Adler Olsenom

Odporučiť človeku dobrú knihu, práčku či audioknihu nie je jednoduché. Na prvý pohľad zdanlivo jednoduchá úloha je v skutočnosti komplikovaná a nadmieru komplexná. V tomto článku vám skúsim cez rôzne príklady (nie technické detaily, nebojte) vysvetliť, ako odporúčanie funguje. Poďme na to.

Dobrý deň, poradím vám?

Poďme na chvíľu do kamenného kníhkupectva. Zažili ste už (alebo odpočuli) dialóg podobný tomuto?

Dobrý deň, poradím vám?
“Dobrý, áno prosím, hľadám nejakú dobrú detektívku…”
Máme túto novinku od Dominika Dána
“Ďakujem, tá je super, ale tú som už prečítal…”
Páčila sa? A čo tak niečo staršie od neho?
“Všetky Dánovky už mám dávno prečítané…”
Rozumiem, a čo tak niečo od Michaela Connellyho, práve vyšla táto.
Aj tú už mám prečítanú…
Jasné, no tak potom sa skúste pozrieť tu, v tejto časti máme detektívky vedľa seba, zoradené podľa autora, možno vás niečo zaujme…

Zažili ste na vlastnej koži? Počuli ste? Určite. A nie ste sami. Nechcem kritizovať kamenné obchody a už vôbec nie kníhkupcov v nich predávajúcich. To nie je cieľ tohto článku. Práve naopak! Ľahko sa dá vysvetliť, prečo to takto chodí.

Skúsenosti s predávaným tovarom majú svoje limity

Prvým problémom predávajúceho je množstvo ponúkaných položiek.

Vezmime si množstvo rôznych žánrov či autorov, počet kníh, ktoré každý rok pribudnú a množstvo času, ktoré má bežný človek (vrátane kníhkupca) na čítanie.

Aj s úplnými základmi matematiky je nám jasné, že toľko kníh zase jeden neprečíta. Nemá totiž kedy. A ak aj má čas a chuť, o koľkých tituloch si dokáže čo to zapamätať? O desiatkach? O niižších stovkách? Pri obrovskom množstve existujúcich a neustále pribúdajúcich kníh je to veľmi málo.

Toto samozrejme nie je problém len v kníhkupectvách. Platí to v ktoromkoľvek obchode. Ak sa množstvo ponúkaných položiek každoročne rozrastá a staré neubúdajú, v bledoružovom je problém rovnaký. Dokonca aj u nás v Audiolibrixe.

Dobrý deň, poznáme sa?

Druhým problémom predávajúceho je neznalosť zákazníka.

Chodievate pravidelne do obľúbenej reštaurácie, baru či bistra? A stalo sa vám niekedy, že vás obsluha privítala frázou „Dobrý deň, vitajte. To čo vždy?

Príjemné, však?

Keď vás obsluha dokonale pozná

To sa vám stane len vtedy, keď vás ako zákazníka dobre poznajú. Ekvivalent tohto by v kníhkupectve bolo „Dobrý, tak už vyšiel nový Dominik Dán, nájdete ho tam kde vždy.

Lenže ak vás obsluha/predavač/kníhkupec nepozná, podobné zažijete iba ťažko.

Všetko začne ako som písal na začiatku článku. A ani po pár otázkach nebude mať predavač o vás dostatok informácií, takže jeho rady, aj keď dobre mienené a fundované, budú stále dosť všeobecné.

Čím viac informácií o vás predávajúci má, čím viac vie o predávanom tovare a čím viac skúseností s ním má, tým väčšia šanca, že sa mu podarí aspoň ako tak sa trafiť do vášho vkusu.

Vynikajúco vám poradí, keď vás dokonale pozná. A ešte lepšie, keď váš vkus zdieľa. Alebo pozná niekoho, kto má veľmi podobný vkus ako vy. Ale o tom trochu neskôr…

Vitajte v našom e-shope

A teraz sa prenesme do digitálneho sveta e-shopov.

Ako funguje popísaný proces v nich? Je to lepšie či horšie než v obchodoch kamenných? Má počítačový systém šancu vedieť o zákazníkovi viac a odporučiť mu lepšie ako živý predajca?

Nuž, to závisí od obchodu k obchodu. Záleží na tom, ako moc sa obsluha a samotné vedenie snaží. A dobrý obchod sa samozrejme snaží. Aspoň by sa mal.

Ak zákazník nevie prísť osobne, musí pre neho e-shop spraviť maximum tzv. off-line – neosobne a na diaľku.

Znie to streštene?

Najväčšie argumenty, ktoré hovoria pre kamenné obchody a proti internetovým sú najčastejšie dva:

  • venuje sa mi živý človek
  • tovar si viem vyskúšať

Pozrime sa spoločne na to, či a ako obstoja tieto argumenty.

Živý predavač ma skôr pochopí než (neživý) počítač

Pokiaľ chcete viesť konverzáciu, šance sú vysoké, že s človekom sa vám bude konverzovať oveľa lepšie než s počítačom. I keď, pokrok nezastavíme a už dnes sa dá s veľa zariadeniami celkom slušne pokonverzovať. Teplé ľudské slovo od počítača nečakajte, ale dobré rady už pomaly aj áno.

Problémov pri tomto argumente je však viac. A určite vás ani jeden neprekvapí.

Prvý je, že klasické obchody nie sú otvorené 24 hodín denne, 7 dní v týždni. Takže, možno nájdete niekoho, kto sa rád posnaží pomôcť vám, ale nie keď to zrovna potrebujete. Iba keď je otvorené.

Kedy si chcete vy vyberať novú knihu, práčku alebo telefón?

Ja v kľude a ideálne nie cez moju pracovnú dobu. Ktorá, žiaľ, je obvykle identická s pracovnou dobou predavača. Takže áno, môžem sa ísť s predavačom poradiť, ale buď po práci (ak majú ešte otvorené), cez obednú pauzu (snáď nepôjde na obed vtedy keď aj ja) alebo cez víkend. Super.

Druhý, podľa mňa ešte väčší problém, je práve ten, že sa mi bude snažiť poradiť človek. A povedzme si, že my ľudia máme kopec charakteristík, ktoré nie sú všetky pozitívne.

O ktorých píšem? Zvykneme sa mýliť, nevieme/nepoznáme všetko, nie vždy máme prívetivú náladu a máme predsudky. A tiež máme rôzne motívy – ak máme z jedného produktu väčšiu províziu, neodporučíme radšej ten?

A viete, kto ľudskými charakteristikami netrpí? Ak ste práve nahlas, alebo aspoň v duchu, povedali „počítače“, dajte si jeden bod.

V kamennom obchode si tovar vyskúšam osobne

To závisí.

Knihu si prelistujete v obchode ale často aj na internete (i keď len virtuálne). Audioknihu si v obchode nevypočujete vôbec, na internete áno. Sluchátka si nevyskúšate ani na internete, ani v obchode (lebo hygiena, balenie, strach z poškodenia a podobne).

Chladničku si v obchode obzriete, možno sa jej dotknete, otvoríte dvierka ale o skúšaní v zásade nemôže byť reč a, ruku na srdce, viac sa o nej dozviete na ľubovoľnej web stránke, než z malého letáku v kamennom obchode.

A to nehovorím ešte o porovnávaní – porovnať si 5 chladničiek na webe je na pár kliknutí, v obchode v zásade nemožné. Na internete uvidíte hodnotenia z reálneho skúšania a používania užívateľmi, v obchode len zriedka praktickú skúsenosť samotného predajcu.

Často je tak dnes situácia oveľa lepšia na internete než v kamenných obchodoch a tak tento argument už viac neplatí než platí. Česť výnimkám.

Počítač dokáže odporučiť tovar lepšie než predavač

Po prečítaní tohto argumentu asi pochybovačne dvíhate obočie. Kľudne ho spustite, hneď vám vysvetlím viac. Počítač má ku kvalitnému odporúčaniu totiž všetky predpoklady:

  • je vždy pripravený (má na vás čas 24 hodín denne, 7 dní v týždni)
  • nemýli sa, nemá predsudky, nie je náladový (je to predsa stroj)
  • má dokonalú pamäť (vie všetko o každej položke v obchode a nikdy to nezabudne)
  • pozná vás (a čím viac o vás vie, tým fundovanejšie vám poradí)
  • pozná ďalších zákazníkov (a keď pozná niekoho, kto má podobný vkus ako vy, vie poradiť na základe tejto “skúsenosti”).

Dobre. Ale ako mi môže niečo odporučiť. AKO? Ako to robí?

Rozumiem.

Spôsobov je viac a každý má nejaké výhody. A aj nevýhody.

Poďme sa teda na ne pozrieť a keďže Audiolibrix sa venuje predaju audiokníh, budeme sa baviť práve o nich. Princípy sú ale v zásade podobné bez ohľadu na typ predávaného tovaru.

Odporúčanie na základe obsahu

Odborný názov pre odporúčanie znie Odporúčací systém (po anglicky Recommendation system). Je to teda systém (krásne slovo, všakže), ktorý má na starosti odporúčania.

Prvou veľkou skupinou je tzv. Content-based recommendation system, po našom by sme ho mohli pomenovať ako Odporúčací systém na základe obsahu.

A ako funguje Odporúčací systém na základe obsahu?

No predsa na základe obsahu.

Lepšie povedané, na základe informácií o obsahu, kde obsahom sa rozumie predávaný tovar. V našom prípade audioknihy.

Systém pozná základné informácie, ako názov audioknihy, jej anotáciu (popis), autorov, interprétov a dĺžku. A tiež žánre, série či kolekcie, do ktorých je audiokniha zaradená. Bez ohľadu na množstvo titulov, žánrov či autorov. Vie všetko. Vždy. A navždy.

Keď by ste vy mali informácie o všetkých predávaných audioknihách a niekto za vami príde, že práve dopočúval poslednú audioknihu od Dominika Dána, akú ďalšiu by ste mu poradili?

No, ak by ste fungovali ako tento systém, t.j. na základe obsahu, tak by ste na to išli jednoducho. V prvom rade by ste mu odporučili všetky ostatné audioknihy od Dominika Dána. Tak ako náš fiktívny predavač v dialógu na začiatku tohto článku. A je možné, že rovnako ako predavač by ste narazili na to, že dotyčný už všetko od Dominika Dána čítal. Ako by ste postupovali ďalej?

V druhom kroku by ste mali vybrať ďalší vhodný atribút audioknihy, na základe ktorého by ste hľadali podobné audioknihy. Lebo ak je niečo podobné, šance sú vysoké, že sa to bude človeku aj podobne páčiť. Že s tým bude podobne spokojný.

Čo by to bolo? Opäť, v našom dialógu vyššie na to predavač išiel šikovne. Vyhodnotil, že Dominik Dán píše detektívky, vylovil z pamäte ďalšieho autora detektívok (Michaella Connellyho) a poradil titul od neho (v našom prípade nejakú novinku).

Vy by ste na to mohli ísť podobne. Pozriete sa na najvhodnejšie atribúty a skúsite nájsť audioknihy, u ktorých nájdete zhodu. Alebo, ešte lepšie, skúsite nájsť zhodu u viacerých atribútov. Napríklad by ste nehľadali len detektívky (zhoda jedného atribútu) ale aj s rovnakým interprétom (žiaľ Marián Geišberg nebol interprétom žiadnej inej detektívky) alebo s rovnakou kolekciou.

Jéj, veď posledná Dánovka bola v kolekcii Novinky, tak čo tak nájsť inú detektívku zaradenú do noviniek? Máte zhodu v dvoch atribútoch a to je vždy lepšie. A tak by ste možno odporučili najnovšiu audioknihu od Jussi Adler Olsena.

Nie je to tak jednoduché… ak ste človek

Zatiaľ to znie jednoducho, však?

Ono to ale zas až tak jednoduché nie je, pretože audiokníh, ktoré majú rovnakých viacero atribútov, alebo kľudne len jeden, môže byť mnoho. Desiatky, možno aj stovky. A vašou úlohou (nezabudnite, vy ste teraz odporúčací systém) je:

  • poznať naozaj všetky atribúty všetkých audiokníh, ktoré predávate (aby ste našli naozaj všetky, ktoré by sa páčiť mohli)
  • mať čo najviac informácií o zákazníkovi (aby ste mu neodporúčali audioknihy, ktoré už počul)
  • rozumne ich zoradiť (aby na začiatku vášho zoznamu odporúčaní boli naozaj tie, ktoré majú najväčšiu šancu sa zapáčiť)

A tu ako predavač v kamennom obchode začínate od počítača dostávať pekne “na frak”. Taký malý knockout. O koľkých audioknihách si dokážete všetko zapamätať? Desiatkach? Najskôr. Stovkách. Pochybujem. A počítač? O všetkých. Počítač si pamätá všetko. A bez chýb.

Ak si aj zapamätáte o všetkých audioknihách všetko, čo všetko viete o zákazníkovi? Skoro nič, lebo ste neboli pri každom jeho nákupe. A ak by ste aj boli, aj tak si to nebudete pamätať. Nie, každý nákup každého zákazníka si jednoducho nezapamätáte. To nejde. Viete kto to zvládne ľavou zadnou? Počítač. A to sa pri tom ani trošku nezapotí.

Komplikované?

To najhoršie na koniec: ak aj máte vybranú zhodu, ako audioknihy zoradíte? Podľa abecedy? Podľa počtu rovnakých atribútov? To nejde, lebo zhodu v dvoch atribútov môžu mať desiatky audiokníh, takže musíte vymyslieť, ako zoradíte tie. Podľa dátumu vydania? Naozaj je to pre zákazníka ten najlepší spôsob?

Je to veľmi jednoduché… ak ste počítač

Pre počítač sú všetky spomínané informácie signály, ktoré môže použiť na to, aby odporúčanie bolo nie len presné, ale aj čo najlepšie zoradené.

Ako by teda mohol počítať postupovať v našom fiktívnom scenári?

Zistí, o ktorý titul sa jedná (posledná Dánovka) a pozrie sa na hodnoty jeho atribútov (kto sú autori, interpréti, žánre, …).

Následne sa pozrie, ktoré audioknihy majú s touto audioknihou aspoň jeden atribút zhodný. Tak získa zoznam povedzme 200 audiokníh. Tu ale jeho práca zďaleka nekončí.

Audioknihy najskôr preriedi – zo zoznamu odstráni tie, ktoré už zákazník má zakúpené. Spomeňte si, počítač si to všetko pamätá, pamäť (a informácie) predavača by v tomto momente zlyhali.

Ďalej by mal zo zoznamu vyradiť tie audioknihy, ktoré sú úplne mimo. Toto je dosť špecifické, ale napríklad ak hľadáte podobnosť s nejakou kresťanskou knihou, asi nechcete, aby sa v odporúčaniach zobrazovali erotické romány a to ani za predpokladu, že majú rovnakého interpréta, či sú v rovnakých kolekciách (napríklad v novinkách).

V druhom kroku musí audioknihy nejak zotriediť. Podľa čoho, to závisí na tom, ako k tomuto problému pristupuje ten ktorý obchod. V obchode by mal byť niekto, kto navrhne tie najoptimálnejšie signály.

Bežne je dôležitým signálom to, koľko spoločných atribútov s pôvodnou audioknihou zdieľajú – čím viac, tým lepšie. Ale to je len jedna z možností.

Ďalším běžným postupom je napríklad zoradenie podľa predajnosti. Logika za tým je jednoduchá, čím je audiokniha predávanejšia (koľko ľudí si ju kúpilo), tým je populárnejšia a tým je o ňu väčší záujem. A prečo, keď je tak zaujímavá pre iných, by nemohla byť zaujímavá aj pre tohto zákazníka?

Prečo ale ostať u tohto signálu? Prečo neísť ešte trochu ďalej? Predajnosť je samozrejme dobrý signál, ale dá sa z neho vyťažiť ešte oveľa viac. Čo ak by sa systém nepozrel na celkovú predajnosť nájdených audiokníh? Čo ak by sa radšej pozrel na to, koľko ľudí si kúpilo aj pôvodnú (t.j. novú Dánovku) a zároveň aj nájdenú audioknihu?

Takto sa do popredia dostanú audioknihy, ktoré sa často kupujú spolu/pred/po tej, podľa ktorej hľadáme. Zlepší sa nám relevantnosť, nakoľko zákazníkovi odporúčame na základe kolektívneho správania.

Malé cvičenie: Poslednú audioknihu od Jussi Adler Olsena si celkovo kúpilo 1000 ľudí. Z nich 100 si kúpilo aj poslednú Dánovku. Druhú podobnú audioknihu, poslednú od Michaella Connelyho, si kúpilo menej, len 900 ľudí. Ale z nich si aj poslednú Dánovku kúpilo 200 ľudí. Ktorú by ste odporučili nášmu fiktívnemu zákazníkovi? Olsenovku (1000 je viac než 900) alebo Connellyovku (200 je viac ako 100).

Vidíte, kam tým mierim?

Týmto sa dostávame k druhej skupine odporúčacích systémov, fungujúcich na princípe kolaboratívneho odporúčania.

Kolaboratívne odporúčanie

Takýto odporúčací systém vychádza z predpokladu, že ak sa dvaja zákazníci v minulosti zaujímali o to isté, je vysoko pravdepodobné, že sa budú o to isté zaujímať aj v budúcnosti.

Zároveň, tento systém ignoruje charakteristiky produktov, teda miesto toho, aby sa snažil porozumieť podobnosti produktov, hľadá radšej podobných zákazníkov.

Teda takých, ktorí si kúpili množstvo rovnakých audiokníh (čím viac spoločných, tým lepšie), možno majú v zozname želaní to isté/podobné, dobré hodnotenie dali podobným audioknihám, medzi ich neobľúbené audioknihy tiež patria podobné. Čím viac toho majú spoločné, tým sú si podobnejší.

Poďme sa pozrieť na jeden z možných príkladov.

Vychádzajme z toho istého, s ktorým pracujeme celý článok.

Užívateľ dopočúval najnovšieho Dána a potrebuje poradiť. Systém (teda počítač) sa pozrie na to, aké audioknihy počul predtým a zistí, že to boli všetky Dánovky a všetky audioknihy od Olsena, ktoré doposiaľ vyšli.

Následne sa systém pozrie na každého zákazníka, ktorý v obchode kedy nakupoval a bude hľadať najpodobnejšieho. A keď ho nájde, pozrie sa čo ešte okrem Dánoviek a Olsenoviek si tento najpodobnejší zákazník kúpil a to odporučí.

Alebo nájde najpodobnejšieho na základe hodnotení audiokníh užívateľmi a keď nájde najpodobnejšieho (skvelo ohodnotil rovnaké tituly ako náš zákazník a aj zlé hodnotenie dal tým istým audioknihám), odporučí ďalšie, ktoré ohodnotil daný užívateľ na výbornú.

Keď víťaz nemusí byť len jeden

A ktorý systém je teda lepší? To záleží. Prvý! Nie, nie, druhý! Nie, prvý! Vlastne, oba.

V skutočnosti je úplne bežné, že odporúčací systém na webe nie je použitý len jeden, ale na rôznych miestach sú použité rôzne systémy. Jeden systém môže byť použitý na detaile tovaru, iný na stránke, ktorá je špecifická pre každého zákazníka (odporúčania pre teba), ďalší v nákupnom košíku…

Rovnako je bežné, že sa nepoužije jeden konkrétny systém alebo z jedného systému len jedna možnosť, ale akýsi hybrid, ktorý vyberie to najlepšie z ponúkaných možností.

Navyše, tak ako v rôznych kamenných obchodoch máte rôznych predajcov, tak aj v internetových obchodoch máte inak vyladený odporúčací systém. Každý obchod má systém nastavený a vyladený inak, ale cieľ je (aspoň by mal byť) rovnaký – čo najlepšie zákazníkovi poradiť (bez predsudkov a hlavne kvalitne).

Lenže aby všetko nebolo jednoduché, aj tieto na prvý pohľad skvelé systémy majú jeden veľký problém: studený štart.

Problém studeného štartu

Problém studeného štartu alebo takzvaný cold start problem je problém, kedy systém (počítač) nemá dostatok informácií k tomu, aby vedel správne fungovať – v našom prípade odporúčať.

V príkladoch tu uvedených nám cold-start môže spôsobovať dva problémy.

Nová audiokniha

Prvý problém sa týka nových audiokníh.

O novej audioknihe síce vieme všetky jej atribúty, a tak sa teoreticky začne k iným audioknihám odporúčať ihneď. A rovnako hneď sa aj k nej začnú odporúčať iné.

Problém ale nastane pri zoraďovaní výsledkov.

Ak zoraďujeme podľa počtu predajov, treba pamätať na to, že každá audiokniha začína na rovnakej štartovacej čiare – na počte nula predajov.

Studený štart nám tu spôsobuje, že novinka, ktorá ešte nemá predaje, alebo ich má zatiaľ veľmi nízke, sa nezačne zobrazovať ako odporúčaná ihneď. K audioknihe sa obvykle zobrazuje len limitovaná množina odporúčaní (rádovo nižšie desiatky) a tak môže trvať, kým audiokniha dosiahne toľko predajov, aby sa do tohto zoznamu dostala.

Nová audiokniha tiež začína bez hodnotení a zákazníci ju začínajú hodnotiť až keď si ju kúpia a vypočujú.

A tak ak by sme porovnávali zákazníkov na základe podobnosti pri hodnotení audiokníh, táto audiokniha sa tiež do zoznamov tak skoro nedostane – málo predajov znamená málo hodnotení.

Šanca, že podobnosť nastane na tejto audioknihe je nízka. Rovnako nízka je šanca, že ak aj podobných zákazníkov nájdeme, že už stihli hodnotiť túto audioknihu.

Nový zákazník

Druhý problém sa týka nových zákazníkov.

Pokiaľ je zákazník nový, nemá patričnú históriu. Zrejme si toho u nás ešte veľa nekúpil (ak vôbec niečo), veľa audiokníh nehodnotil (možno dokonca žiadnu) alebo jednoducho nerobil činnosť na základe ktorej zákazníkov porovnávame.

No a bez histórie k nemu budeme ťažko hľadať niekoho podobného. Ak ho aj nájdeme, tak podobnosť nemusí byť presná. Práve naopak.

Môže sa stať, že zákazník k nám došiel a úplne prvý nákup spravil na úplne inom type audioknihy, než aké bežne počúva. Napríklad si kúpil Proč spíme (self help literatúru), pričom ale drtivá väčšina audiokníh, o ktoré má záujem, patrí do detektívok.

Tak nám vzniká predpojatosť a odporúčať mu budeme samovzdelávacie tituly, o ktoré ale nemá záujem. Situácia sa zlepší, až keď bude jeho história bohatšia (kúpi si zopár detektívok).

Existuje ale vôbec systém, ktorý problémom studeného štaru netrpí?

Nuž, existuje.

A u kníh a audiokníh bude fungovať priam úžasne. Čím sa pomaly dostávame k tomu, ako súvisia Hry o tróny so Zaklínačom a Dominik Dán s Jussi Adler Olsenom.

Viem, na odpoveď na túto otázku čakáte od samého začiatku článku. Ja byť na vašom mieste, tak si zbehnem pre kávičku, pretože ešte nie sme zďaleka na konci. Sľubujem ale, že sa k tomu pomaličky dostávame. Jedine, že by nie. Nechajte sa prekvapiť.

Keď počítač rozumie textu

Predstavte si, že ste v poslednej dobe prečítali 8 kníh. Polovica z nich boli detektívky, v dvoch bol rovnaký hlavný hrdina, ďalšie tri sa zase odohrávali na tom istom mieste a v iných bol vrahom záhradník.

Ako to, že to viete tak presne? Pretože si ich jednak pamätáte, ale hlavne – porozumeli ste textu. Čo je u kníh a audiokníh logické, lebo ak by ste textu alebo jazyku nerozumeli, asi by ste si našli lepšie hobby… A ak ste porozumeli textu, porozumeli ste aj obsahu. A viete nájsť ich spoločné rysy.

Logické, nie?

Čo to však znamená, že ste „porozumeli textu“? To znamená, že rozumiete významu slov. A zo slov sa skladajú vety, z viet odstavce, z odstavcov kapitoly a z kapitol knihy.

Je jedno, či sa snažíte porozumieť článku, fejtónu, poviedke alebo celej knihe. Váš úspech je založený na tom, že rozumiete slovám. U nich sa celá vaša snaha začína.

No a nebolo by krásne, ak by aj počítače rozumeli slovám?

Samozrejme, počítače dnes textu nerozumejú, ale výborná správa je, že sa to vedia naučiť. A nielen to, ale kludne sa naučia rozumieť ľubovoľnému jazyku. Dokonca aj vymyslenému!

Je to možné vďaka takzvanému Spracovaniu prirodzeného jazyka (Natural Language Processing; NLP) a vďaka Strojovému učeniu (Machine Learning; ML).

Do detailov nebudeme zabiehať, ale pre hrubú predstavu si predstavte, že dáte počítaču čítať veľké množstvo viet (kľudne aj milióny či miliardy) a on sa bude vďaka nim prirodzene a sám učiť porozumieť jednotlivým slovám jazyka. Čím viac viet, čím viac slov, tým lepšie im bude rozumieť.

Ak vás ale detaily predsa len zaujímajú a nevadí vám ani trochu technickejšie vysvetlenie toho, ako sa počítač dokáže naučiť rozumieť textu či ako dokáže nájsť podobné texty, dajte mi vedieť v komentároch. Ak sa vás nazbiera aspoň zopár, článok napíšem.

Od pochopenia textu k odporúčaniam

Hneď keď sa nám podarí počítač naučiť rozumieť jazyku a tým aj rozumieť textu v ňom napísanom, dáme mu „prečítať“ si všetky knihy, ktoré máme v predaji. Alebo aspoň ich zhrnutie, nemusí to nutne byť celá kniha. Avšak čím viac textu, tým lepšie.

Počítač, ktorý na rozdiel od človeka má bezchybnú pamäť a nerobí chyby, bude mať prečítanú každú (audio-)knihu, bude presne vedieť o čom je (lebo jej porozumel) a bude schopný (na rozdiel od človeka) všetky audioknihy medzi sebou porovnať.

Podobnosť nebude vedieť vyjadriť slovami ale číslom, čo nám však vôbec neprekáža.

Akým číslom?

Napríklad percentami – od 0% (čo znamená, že audioknihy si vôbec nie sú podobné) po 100% (čo znamená, že sú si úplne podobné, v zásade sú identické). Čím bude percento vyššie a bližšie k hodnote 100, tým podobnejšie si audioknihy sú.

Ako to použiť pri odporúčaní?

Predstavte si, že ste opäť tým počítačom, ktorý si prečítal 5000 tisíc kníh (všetky audioknihy, ktoré aktuálne existujú). Každú si pamätáte. Každú si porovnáte s každou a priradíte porovnaniu hodnotu od 0 do 100. Vykonali ste teda 5000 krát 5000 (čiže 25 miliónov) porovnaní.

Ak teraz chcete niekomu odporučiť audioknihu na základe inej, stačí si pozrieť všetky porovnania tejto audioknihy s každou ďalšou. Čiže sa pozrieť „len“ na 5000 porovnaní (jedna audiokniha s každou ďalšou).

Potom ich zoradíte podľa podobnosti zostupne, t.j. podľa tej číselnej podobnosti od najväčšej po najmenšiu. A vyberiete z nich povedzme prvých 20 – to budú audioknihy, ktoré sa najviac podobajú tej, ku ktorej chcete zákazníkovi niečo odporučiť.

A funguje to? Naozaj takto počítač dokáže odporúčať podobné audioknihy?

Funguje. A funguje to tým lepšie, čím lepšie sa nám podarí počítač naučiť význam slov. Čo je síce neľahká úloha, ale dnes už nie je nemožná.

Ale podobnosťou jednotlivých kníh to nekončí.

Vďaka porozumeniu textu a možnosti zistenia podobnosti dvoch „textov“ sa nám otvárajú úplne nové možnosti…

Sme to, čo čítame

Počuli ste už niekedy, že ste to, čo čítate? Súhlasíte? Niečo na tom rozhodne bude.

Vezmime si už toľko krát spomenuté Dánovky. Ak si prečítate tri Dánovky, neznamená to síce, že ste Dominik Dán, ale veľa to o vás napovie.

Či si to uvedomíte alebo nie, tie Dánovky budú mať v zásade rovnaký jazyk, rovnaký štýl písania (veď ich napísal jeden autor) a hlavne podobné slová.

Bez ohľadu na to, aký je jazyk ktorým hovoríme na slová bohatý, každý z nás používa niektoré slová častejšie, niektoré menej často a niektoré vôbec. Tieto knihy sa tak budú na seba dosť podobať.

Áno, príbeh bude rozdielny ale keď sa na ne pozriete z pohľadu slov alebo obsahu, dá sa povedať, že „v priemere“ budú veľmi, veľmi podobné. Keď sa na ne pozrie počítač, tiež sa mu budú zdať podobné.

Ale to nie je to najzaujímavejšie.

Počítač si rád „prečíta“ akúkoľvek knihu, ktorú mu dáte prečítať. Poslednú Dánovku, prvú Dánovku, ktorúkoľvek. Nebude hodnotiť jej obsah. Bude sa na ňu pozerať ako na množinu slov.

A teraz si predstavte niečo, čo by pre človeka bolo na prvý pohľad čudné, neprirodzené a asi aj nezmyselné.

Predstavte si, že by vám niekto dal tri Dánovky spojené do jednej. Presne tak, jeden príbeh za druhým. A tváril by sa, že sa jedná o jednu knihu. Čudné?

Lenže, počítaču to čudné nepríde, počítaču je to úplne jedno.

Pre neho je to len text, sada slov a tak k tomuto textu aj pristúpi. Takže kľudne vezme túto „knihu“ (v skutočnosti tri knihy) a porovná ju s ostatnými, s každou každučičkou. Pre každý pár vie zase zistiť podobnosť a bude tak vedieť odporučiť tie najpodobnejšie.

Je už zrejmé, kam tým mierim?

Pomaličky sa vraciam k tomu, že ste to, čo čítate. Ste množina kníh. Ste množina slov.

Pre počítač sa tak môžete stať jedným jediným textom. Textom, ktorý v skutočnosti bude textom zloženým zo všektých kníh, ktoré ste kedy prečítali.

A ak ste jeden text, jedna „kniha“, počítaču nebude robiť sebemenší problém vás porovnať so všetkými knihami, ktoré pozná. A zistiť, na ktoré sa najviac podobáte. S ktorými máte najviac spoločného. A toto sú knihy, ktoré vám odporučí.

Somarina? Že to nebude dobre fungovať?

Nuž, možno budete prekvapení, ale funguje to. Dokonca výborne.

Ak ste prečítali veľa detektívok, bude vám to pravdepodobne odporúčať ďalšie detektívky, možno dokonca s drobným presahom do thrillerov…

Trafí vás to veľmi presne. A to bez toho, aby o knihách počítač vedel čokoľvek iné.

Pri tomto spôsobe, teda keď počítač rozumie textu, nepotrebuje a obvykle ani nič nevie o ďalších atribútoch. Netuší, kto je autorom, kto je interprétom a dokonca netuší ani žáner. Podobnosť sa naozaj zisťuje len na základe podobnosti textu.

Bez problémov studeného štartu, ale…

Výbornou správou je, že tento systém netrpí problémom studeného štartu.

Nová audiokniha? Pohoda, stačí ju dať počítaču prečítať a hneď ako ju prečítal, vie ju okamžite začať porovnávať s ostatnými.

Nová audiokniha sa tak môže hneď začať zobrazovať ako odporúčanie k iným a naopak. Bez čakania, bez nutnosti zbierania dodatočných informácií. Všetko, čo tento systém potrebuje (text audioknihy), má hneď k dispozícii.

A čo nový zákazník?

Pokiaľ o ňom netušíme absolútne nič, nepomôže nám sebelepší systém. Avšak v momente kedy o zákazníkovi začneme získavať prvé informácie (signály), môžeme si zákazníka začať predstavovať ako „text“, ako jednu knihu.

Či už od momentu prvej zakúpenej audioknihy (v zmysle „si to, čo čítaš“), pridania prvej audioknihy do zoznamu želaní (v zmysle trochu upraveného ale stále rozumného „si to, čo si želáš čítať“) alebo ohodnotenia prvej audioknihy („si to, čo hodnotíš kladne“).

Niektoré signály budú fungovať lepšie, niektoré slabšie.

Je to vždy na obchode, aby sa s tým popasoval a celý systém vyladil tak, aby bol pre zákazníkov naozaj užitočný.

Úžasné, ale…

Áno, každý systém má nejaké „ale“. Žiaden systém nie je dokonalý.

Tento systém napríklad trpí, pokiaľ systém nerozumie správne slovám, ak sme ho nenaučili poriadne rozumieť jazyku.

Rovnako problematické je, keď chceme porovnávať audioknihy v rôznych jazykoch. Pre veľa ľudí je jednoduché a bežné čítať knihy vo viacerých jazykoch, pre počítač to je žiaľ stále komplikované. Nie neriešiteľné, ale náročné.

A aby sme nezabudli, spomínate si ako som vravel, že pri 5000 audioknihách musí počítač vypočítať 25 miliónov podobností? A čo keď je tých audiokníh viac? Čo tak 10000? Presne, dva krát viac audiokníh znamená nutnosť vypočítať až štyri krát viac podobností (áno, 100 mliliónov). A to všetko trvá čas.

Takže, tento odporúčací systém funguje výborne, ale zase nie rýchlo. Aby bol rýchly, musí sa toho veľa udiať. To sú ale zase technické detaily, ktoré tu rozoberať nemusíme.

Až sa najbližšie uvidíme

Keď sa najbližšie zastavíte na Audiolibrixe, všimnite si, že na rôznych miestach nájdete rôzne odporúčania.

Ktoré systémy kde používame?

Nuž, to je naše tajomstvo. Ale pozývam vás, aby ste sa pri odporúčaniach zastavili a zamysleli.

Ak ste pozorne dočítali až sem, zamyslieť sa môžete nie len nad tým, či dostávate zaujímavé a relevantné odporúčania (čo viete aspoň subjektívne zhodnotiť) ale aj nad tým, aký asi systém je na odporúčanie použitý – teraz keď jednotlivé systémy poznáte, niektoré by ste mohli vedieť ľahko identifikovať.

Zároveň, keď pôjdete do nejakého iného obchodu (je jedno aký tovar predáva), skúste sa nad ním zamyslieť. Skúste zhodnotiť, ako moc sa obchod snaží aby vám pomohol a ak vám nedáva dobré odporúčania, skúste si povedať prečo – či len nezvolili dobrý systém alebo dobrý systém postaviť nevedia. Uvidíte, bude to zábava!

Tak dúfam, že odteraz už na odporúčania budete pozerať inými očami a ak aj nie, verím, že vás článok zaujal. Kludne ho odporučte kamarátom, potešíte ako ich, tak aj mňa.

Mimochodom, odporúčania od kamarátov bývajú jedny z najlepších. Lenže, to už za vás žiaden systém, počítač ani obchod sám nespraví. To musíte spraviť sami.

A čože to teda má Hra o tróny spoločné so Zaklínačom?

No, z pohľadu zmieňovaných atribútov a systémov odporúčaní nič moc. K obom audioknihám by sme našli lepšie odporúčania, než ich odporúčať jednu k druhej. Ale stopercentne spoločné majú aspoň to, že na základe oboch bol natočený seriál. To je však téma na úplne iný článok.