Ajánlórendszerek a gyakorlatban
Egy rövid és felületes bevezető

Bevezetés az ajánlórendszerek világába
A minket körülvevő digitális világ soha nem látott módon – és egyre növekvő mértékben – zúdítja ránk az információ tömkelegét, melyből valódi kihívást jelent kiválogatni a számunkra fontos elemeket.
Az információ, ősidőktől fogva felismerten értéket képviselt. Napjainkra ennek túlzott mennyisége okán a valódi értéket és szolgáltatást az jelenti, ha a felhasználó számára a releváns információkat le tudjuk válogatni. Az ajánlórendszerek célja éppen ezen információáradat megszűrése, így segítve minket abban, hogy csak a számunkra releváns tartalmakkal tudjunk foglalkozni, minimalizálva az erre fordított időt.
Az okostelefonok elterjedésével ez a segítség folyamatosan elérhetővé vált számunkra igen sok területen. Személyes tapasztalatom alapján ez a komfort még nem áll kellő mértékben rendelkezésünkre életünk megannyi aspektusát tekintve, ideértve például a kereskedelmet, turizmust, stb.
Funkcióját tekintve – a végletekig leegyszerűsítve – az ajánlórendszer legfőbb célja, hogy segítségével több terméket adjanak el. Ez megvalósulhat kézzelfogható termékeladásban, vagy akár abban, mennyi időt tölt valaki egy adott weboldal tartalmának böngészésével, vagy hányan klikkelnek egy cikkre. A rendszer célja, hogy a felhasználóval történő interakciók során kiismerje annak preferenciáit és “megértse”, mire van szüksége a felhasználónak. Elégedettségének fokozásával olyan fogyasztói bizalmat és hűséget építhet ki, mely hosszú távon jelenthet profitábilis együttműködést. A kellő bizalom kialakulása és a felhasználó megismerése lehetővé teszi azt is, hogy sokkal széleskörűbb termékskálát tudjunk adott csatornán értékesíteni. Ha nem ismerünk valakit, kevésbé kockázatos, ha csak a legnépszerűbb termékeket kínáljuk, hisz azzal nehezen futhatunk aknára. Egy jól kiismert felhasználónak azonban egy-egy a tömegek által elhanyagolt termékkel is próbálkozhatunk, ha az a profiljába vág.
A szokásos ajánlási funkción túl sok egyéb speciális feladata is lehet egy rendszernek, nem csak sorba rendezheti az elemeket vélt relevanciájuk alapján, de megkeresheti az összes “jó” vagy “hasznos” elemet. Ajánlhatja elemek sorozatát, melyek hasznosak lehetnek a felhasználó számára. Például egy adott tankönyv megrendelése után az arra épülő további ismeretanyag megszerzése is érdekes lehet a vásárlónak. Gyakran nem elemek sorozatára van szükségünk, hanem egy termékcsomagra, mely együtt lehet hasznos számunkra. Ha például utazni készülünk, jellemzően szükségünk van látnivalókra, éttermekre, szállásra, repülőjegyre, és ezeket mind megkaphatjuk egy csomagban. Az ilyen ajánlatok csomagban történő értékesítése megváltoztathatja az alapkoncepciónkat, és már nem azt döntjük el először, hova megyünk, ez az előbbiek következménye lesz csupán. Az ajánlórendszerek feladata néha csak addig terjed, hogy segítsenek egy adott témában olyan – hiteles – véleményvezért találni, aki képes lesz számunkra kielégítő információt adni, vagy segíteni a döntésünkben.
Az ajánlórendszerek típusai
Az ajánlórendszerek működésének alapfeltétele, hogy adatok állnak rendelkezésünkre a felhasználókra, az ajánlott elemekre és a tranzakciókra vonatkozóan. Az ajánlórendszer típusától függően akadnak kevés adatot felhasználó modellek, míg egyesek igen adat-intenzívek. A felhasználók preferenciáit és egyéb körülményeit leíró profilt a modell igényeinek megfelelően szükséges felépíteni. Ez állhat a felhasználó önbevalláson alapuló paramétereiből, demográfiai adatokból, az egyes elemekre adott értékeléseiből, vagy egyszerűen az elemek kiválasztásából (megvásárlásából). A választható elemek leírása kézenfekvően karakterizálható saját paramétereivel, egy könyv például a műfajával, korával, témájával, szerzőjével, stb. Akadnak ennél jóval komplexebb témák is, mint a zene, az utazás, egy elektronikai cikk vagy egy másik felhasználó a társkereső oldalon. Ezek mellett fontos még az elem leírásában annak költsége és a fogyasztásához vagy birtoklásához kapcsolódó hasznosság.
A tranzakciók nem csupán a felhasználók és az elemek közötti interakciót – például értékelések adása – jelenti, de bármilyen – az ajánlórendszer modellje által felhasznált – interakciót a felhasználó és a computer között. Ilyen lehet például a felhasználó böngészési szokása a weboldalon. Az értékelések modelltől függően igen széles körben értelmezhetőek. Lehetnek hagyományos, numerikus értékelések, vagy binárisak – igen/nem, megvette/nem vette meg – ordinális értékelések (például top 5). Néhány rendszer lehetőséget ad tagek használatára is, amit matricaként használva felcímkézhetjük az elemeket. Egy könyvajánló esetén például a numerikus értékelésen túl részletezhetjük a problémáinkat – például túl hosszú, unalmas vagy rossz a befejezés – és elmondhatjuk pozitív értékelésünk okát is (például letehetetlen, fordulatokban gazdag, stb).
Kollaboratív szűrés
Akik korábban hasonló dolgokat kedveltek, azok a jövőben is hasonló dolgokat fognak kedvelni [1]. Talán így fogalmazható meg legegyszerűbben a kollaborációs szűrés felhasználókkal kapcsolatos alapfeltevése. A módszer a felhasználókat igyekszik a cselekedeteik alapján profilozni, majd az így kialakított profilok közötti hasonlóságot ragadják meg különféle eszközökkel. Egy adott felhasználó által kedvelt elemeket ezután ajánlja a rendszer a hasonlóként azonosított társainak. A megoldás hatalmas előnye, hogy nem igényli az ajánlandó termék megértését, hogy javaslatokat tegyünk a felhasználók számára, hiszen teljes mértékben a felhasználók megértésére épít a rendszer. Egyik komoly hátránya azonban, hogy a felhasználók viselkedésével kapcsolatos – viszonylag nagy mennyiségű – kezdeti információ hiányában a rendszer működésképtelen. Ezt nevezi a szakirodalom a “hideg indulás” problémájának.
Rong et al. Monte Carlo algoritmust javasol a kezdeti információhiány áthidalására, melyet hatékonyan alkalmaznak a felhasználók hasonlóságának előkalkulálására és majdani értékeléseik megjóslására [2].
Egy másik bevált módszer a felhasználók demográfiai adatainak figyelembevétele a javaslattétel során. A demográfiai alapú szűrést gyakran önálló eljárásként szokták besorolni [1], én mégis inkább a kollaborációs szűrés egyik aleseteként azonosítanám tekintve, hogy ez is a felhasználók közötti hasonlóságok feltárásán alapszik azzal a különbséggel, hogy itt az alapfeltevés inkább az, hogy a hasonló demográfiai karakterű emberek (kor, nem, iskolázottság, stb.) hasonló érdeklődéssel bírnak. Erre a feltevésre építeni önmagában nyilván igen kevés sikerrel kecsegtet, és sokkal inkább a kényszer – pontosabban a kezdeti információ hiánya – szüli a megoldást, ám kiegészítő információként hibrid ajánlórendszerekben szignifikáns javulást tud eredményezni.
A kezdetben fellépő információs hiányt természetesen explicit (kedvencek megjelölése, keresések, választás két elem között, elemek rangsorolása, elemek értékelése, stb.) és implicit módon (a felhasználó szociális hálózatának elemzése, egérmozgás hőtérkép, az egyes elemek megtekintésével töltött idő, korábban megtekintett vagy akár megvásárolt elemek listája) is igyekeznek mihamarabb csökkenteni.
Még a fenti technikák ellenére is igen nehéz némely területen jól működő ajánlórendszer építése, amennyiben – a felhasználók számához viszonyítva – igen nagy változatosságú termékek (elemek) piacáról beszélünk, hiszen így egy-egy terméktípus nagyon kevés értékelést kap, mely rontja az ajánlások pontosságát, illetve sok termék nem kap értékelést, és így nem is kerül majd felhasználóknak tett javaslatok listájára. Az elmondottak alapján világos, hogy szofisztikált ajánlórendszerek kialakítása (súlyosbítva a magas felhasználó- és termékszámmal) komoly kihívást jelent a jelenlegi számítógépek számítási kapacitása mellett.
Tartalom alapú szűrés
Az ajánlórendszerek ezen osztályának gyökerei az információszűrő és információvisszanyerő rendszerekben keresendőek. Alapfeltevése, hogy amit a felhasználó korábban kedvelt, ahhoz hasonló termékeket a jövőben is kedvelni fog. Ennek érdekében tehát szükséges a termékek megismerhetősége és karakterük megragadása, tömörítése tulajdonságokba, kategóriákba.
A gondolatmenet ismerős a mátrixfaktorizácós eljárásokból. Ahogyan ott feltártuk algoritmusok segítségével a termékeket megítélését befolyásoló (rejtett) tulajdonságokat, úgy tárjuk fel itt is, vagy adottnak feltételezzük. Míg a kollaborációs szűrés esetén ez dimenziócsökkentésre szolgáló eljárás volt, addig a tartalom alapú szűrésnél előfeltétel a termékek karakterének leírhatósága. Ez alapvetően megnehezíti a tartalom alapú szűrési eljárások alkalmazását. Az 1999-es Music Genome Project során több, mint 400 ilyen tulajdonság került meghatározásra a zene esetében és a tisztán tartalom alapú szűrést használó Pandora Rádió ezen a zenével kapcsolatos tudáson alapszik [3].
Természetesen sok más területen is sikeresen alkalmazzák a tartalom alapú szűrőket, ilyen például az IMDb és a Rotten Tomatoes filmajánló oldalak. Fontos tisztázni, hogy mi a különbség a termék alapú szűrés és a tartalom alapú szűrés között, az előbbi esetben termékek felhasználók által adott értékelésekből összeállított vektorai közötti hasonlóságot vizsgálja, addig a tartalom alapú szűrés a termékeket leíró tulajdonságok terében ábrázoló vektorok közötti hasonlóságokat keresi.
Az ajánlórendszert leíró modellhez az alábbi elemek szükségesek:
- Termékprofil: A termékek karakterét alkotó faktorok, tulajdonságok rendezett sora, melyet leggyakrabban egy vektorral adunk meg, az egyes tulajdonságértékek helyén feltüntetett számérték pedig az adott tulajdonság termékre vonatkozó relevanciáját jelöli.
- Felhasználói profil: az egyes felhasználók esetén szintén vektorba rendezzük azt, hogy az egyes tulajdonságok mennyire fontosak a számára (ezzel írva le a felhasználó preferenciáit). Ezt az információt begyűjthetjük a felhasználótól direkt módon, nyilatkoztatva az egyes tulajdonságok fontosságáról, vagy indirekt módon az egyes termékek értékelése kapcsán. Ha értékeli a terméket, akkor a terméket leíró tulajdonságvektor – az értékelést, mint súlyt figyelembe véve – hozzájárul a felhasználó profilvektorához.
- Hasonlóság kereső algoritmusok: ha már meghatároztuk a termék- és felhasználói profilokat (mindkettőt a tulajdonságok vektorterében megadva), akkor egy hasonlóságot azonosító algoritmussal megadhatjuk a felhasználó számára azokat az elemeket, melyeket a lehető legvalószínűbb, hogy kedvelni fog.
Hibrid szűrők
A korábban tárgyalt szűrési megoldások számos korláttal küzdenek, így ezek kiküszübölésére igyekeznek azokat kombinálni az ajánlások során, hogy kihasználjanak bizonyos szinergiákat. Például a kollaborációs technikák esetén ismert kezdeti információs nehézségek áthidalhatóak tartalom- vagy tudás alapú szűrési eljárással, míg a kollaborációs szűrés segítségével hasonló felhasználókat találhatunk, akik segítenek finomítani a javaslatokat, vagy akár olyan ajánlásokat tehetünk ezen keresztül, amire egy tartalom alapú megközelítéssel aligha juthattunk volna.
Ajánlórendszerek a gyakorlatban – Zárszó
Az fentiekben tárgyalt rendszereknek az elmondottakon túl még számos egyéb funkciója lehetséges, mellyel segíthetik a mindennapokban történő eligazodást. Mégis ha csak egy okot emelhetnék ki, amiért e gyakorlati területtel foglalkozni érdemes, egy rám igen nagy hatást gyakorolt eset jut eszembe: Az amerikai Target áruházlánc már jópár éve implementált ajánlórendszert működtetett, mely elég nagy pontossággal tett ajánlásokat vevői számára. Egy diáklány vásárlásai alapján a rendszer úgy észlelte, hogy a fogyasztója nagy valószínűséggel terhes (mivel olyan fogyasztási szokásokat kezdett mutatni, amit más terhes nők), így kismamáknak szóló terméket is ajánlott számára. A lány szülei első felháborodásukban be akarták perelni a céget, ám hamar letettek ezen szándékukról, miután szembesültek a ténnyel, a rendszer nem tévedett [4]. Az ügy tanulsága, hogy egy jól kalibrált modell bizony többet tudhat rólunk, mint mi magunk, ami aligha megnyugtató.
Hivatkozások
• [1] https://en.citizendium.org/wiki/Recommendation_system
• [2] Y. Rong – X. Wen – H. Cheng (2014): A Monte Carlo Algorithm for Cold Start Recommendation, WWW’14 Proceedings of the 23rd international conference on World wide web, pp. 327-336.
• [3] M.H. Ferrara – M. P. LaMeau (2012): Pandora Radio/Music Genome Project. Innovation Masters: History’s Best Examples of Business Transformation. Detroit. pp. 267-270. Gale Virtual Reference Library.
• [4] https://www.forbes.com/sites/kashmirhill/2012/02/16/how-target-figured-out-a-teen-girl-was-pregnant-before-her-father-did/
Ajánlórendszerek a gyakorlatban
Szerző: Apáthy Sándor
Onespire Data science és analytics szolgáltatás

Tekintse meg további bejegyzéseinket!
SAP RISE konferencia 2023
Beszámoló cégünk a Digitális Transzformációs napok eseménysorozat SAP RISE 2023 konferencia első napján tartott előadásáról.
Onespire és Mindspire közös síelés 2023 – Ausztria
A hagyományokat folytatva idén a Onespire és a Mindspire közös síelést szervezett Kreischbergbe.
Onespire All-Staff Meeting 2023
A hagyományosan megrendezésre kerülő évindító Onespire eseménynek idén a Larus Étterem és Rendezvényközpont adott otthont.