A tartalomalapu ajánlás (content-based filtering) olyan megközelítés, amely az elemek leíró jellemzőire és a felhasználói preferenciák leírására épít, nem pedig más felhasználók viselkedésére. Ez teszi különösen alkalmassá olyan esetekben, ahol kevés közös interakciós adat áll rendelkezésre — például új felhasználók számára vagy niche jellegű tartalomkatalógusoknál.

Neurális hálózat architektúra tartalomalapu ajánláshoz

Többrétegű neurális hálózat, amely az elem jellemzőiből épít fel rejtett reprezentációkat. Forrás: Wikimedia Commons, CC BY-SA 3.0.

Az elem reprezentációja

TF-IDF és vektortér-modellek

A szöveges tartalmak (filmleírások, termékleírások, hírcikkek) esetén a TF-IDF (Term Frequency–Inverse Document Frequency) az egyik legelterjedtebb jellemzőkinyerési módszer. Az elv: egy szó annál fontosabb egy dokumentumban, minél többször fordul elő benne, de annál kevésbé megkülönböztető, minél több dokumentumban jelenik meg az összes többi dokumentumhoz képest.

Például egy híroldal esetén a "Magyarország" szó kevésbé megkülönböztető jelleg, mert szinte minden cikkben megjelenik. Ezzel szemben az "ajánlórendszer" vagy a "mátrix-faktorizáció" erősen megkülönböztető kifejezések lehetnek egy adott cikk esetén.

// TF-IDF számítása // TF(t, d) = (t szó előfordulása d dokumentumban) / (d dokumentum szavainak száma) // IDF(t) = log(N / df(t)) // ahol N = dokumentumok száma, df(t) = t-t tartalmazó dokumentumok száma // TF-IDF(t, d) = TF(t, d) × IDF(t)

Elemek közötti hasonlóság

Miután minden elem vektorreprezentációt kap, a hasonlóságot általában a kosinus-hasonlósággal mérik. Két elem kosinus-hasonlósága a köztük lévő szög koszinusza a vektortérben — értéke 0 és 1 közé esik, ahol 1 a teljes egyezést jelenti.

Klaszterezési módszer alkalmazása tartalomalapu ajánlásban

Klaszterezési megközelítés: hasonló elemek csoportosítása a tartalomalapu ajánlási folyamatban. Forrás: Wikimedia Commons.

Felhasználói profilok felépítése

A felhasználói profil a tartalomalapu rendszerben azoknak az elemeknek az aggregált jellemzőiből épül fel, amelyekkel a felhasználó pozitívan lépett interakcióba. Ha egy felhasználó rendszeresen olvas "gépi tanulás" témájú cikkeket, a profilja erre vonatkozó súlyokat fog tartalmazni.

A profilfrissítés módszerei:

  • Súlyozott átlagolás: Az összes értékelt elem vektorának súlyozott átlaga adja a felhasználói profilt.
  • Rocchio-algoritmus: Klasszikus módszer, amely külön kezeli a pozitív és negatív visszajelzések hatását a profilra.
  • Időalapú súlyozás: A közelmúltbeli interakcióknak nagyobb súlyt adnak, figyelembe véve az érdeklődés időbeli változását.

Neurális hálózat alapú megközelítések

A mély tanulás elterjedésével a tartalomalapu rendszerek is jelentősen fejlődtek. A Word2Vec (Mikolov et al., 2013) és utódai lehetővé tették a szöveges tartalmak szemantikailag gazdag vektorreprezentációját. A BERT (Devlin et al., 2018) és hasonló transzformer-alapú modellek tovább javítják a kontextus megértését.

A Google Play Store ajánlórendszeréről publikált tanulmányok (2019, Google Research) leírják, hogyan alkalmaznak mély neurális hálózatokat az alkalmazásleírások és a felhasználói kontextus közös reprezentációjához.

Előnyök és korlátok

A tartalomalapu megközelítés főbb jellemzői:

  • Hidegindítás felhasználónál: Amennyiben az elem jellemzői ismertek, az ajánlás más felhasználók adatai nélkül is elkészíthető.
  • Átláthatóság: Az ajánlás oka könnyebben magyarázható ("Azért ajánljuk, mert korábban hasonló témájú cikket olvasott").
  • Túlspecializáció (over-specialization): A rendszer hajlamos a megszokott témakörökbe zárt ajánlásokra, csökkentve a véletlenszerű felfedezés lehetőségét (serendipity).
  • Hidegindítás elemeknél: Új elemek esetén, amelyek jellemzői még nem elérhetők (pl. újonnan feltöltött videó), az ajánlás korlátozott.
„A tartalomalapu módszerek különösen értékesek ott, ahol az elemek strukturált metaadatai gazdagok és megbízhatók, mint például a szaksajtó vagy az oktatási tartalmak területén." — Pazzani és Billsus, 2007, Content-Based Recommendation Systems (Springer)

Alkalmazási területek

A tartalomalapu ajánlás jellemző felhasználási területei:

  • Hírportálok és tartalomszolgáltatók (pl. a Reuters és AP archívumaihoz fejlesztett ajánlók)
  • Akadémiai cikkajánlók (pl. Semantic Scholar, az Allen Institute for AI rendszere)
  • Zeneajánlók akusztikai jellemzők alapján (hangszín, tempó, tonalitás)
  • Ingatlanajánlók leíró adatok (elhelyezkedés, méret, jellemzők) alapján

A cikkben szereplő módszerleírások általános ismeretterjesztő célokat szolgálnak. A hivatkozott tanulmányok az ACM Digital Library, a Google Scholar és a Springer kiadónál érhetők el nyilvánosan vagy előfizetéssel.