Sistema de recomanació

De Viquipèdia
Dreceres ràpides: navegació, cerca

Els sistemes de recomanació són sistemes capaços de processar grans quantitats d'informació i fer-ne una tria automàtica que permeti que l'usuari arribi a allò que li interessa de manera més ràpida i eficaç. Molts dels algoritmes utilitzats per els sistemes de recomanació es basen en tècniques de data mining mineria de dades i d'intel·ligència artificial.

Motivacions[modifica | modifica el codi]

Un dels principals reptes que avui dia han d'afrontar els sistemes d'informació és la gestió eficaç del gran volum de documents que emmagatzemen per poder facilitar l'accés a la informació i a recursos que satisfacin les seves necessitats d'una manera senzilla i àgil. Aquesta necessitat es torna més apressant en una societat com l'actual on el nivell d'exigència dels usuaris és cada vegada major.

Tradicionalment, en l'àmbit de les biblioteques el problema de la sobrecàrrega d'informació s'ha abordat adoptant diferents mesures, com per exemple la creació de serveis de difusió selectiva d'informació (DSI), en els quals, d'acord al perfil dels usuaris subscrits al servei, es generen periòdicament (o a petició del propi usuari) una sèrie d'alertes en les quals se'ls notifica de l'existència de recursos que s'adeqüen als seus interessos.

La Web, encara que presenta característiques pròpies que la diferencien clarament de les biblioteques, pateix, en essència, el mateix problema i els esforços per atenuar-ho se centren en l'aplicació de solucions similars, com és el cas dels sistemes de filtratge d'informació (també coneguts com a sistemes de recomanació). De fet, els sistemes de recomanació podrien considerar-se sistemes de DSI aplicats a la Web però, lògicament, amb unes capacitats de filtratge infinitament més potents i sofisticades. Aquests sistemes apliquen tècniques de filtratge d'informació que faciliten l'accés dels usuaris a la informació que necessiten. En dominis textuals, els sistemes de filtratge avaluen i garbellen els recursos disponibles en la Web (normalment en format HTML o XML) bàsicament per assistir als usuaris en tasques de recuperació d'informació (principalment mitjançant l'ús d'agents de filtratge), encara que també s'utilitzen per predir la valoració dels usuaris sobre ítems que encara no han avaluat.

L'origen d'aquest tipus de sistemes es remunta a principis de la dècada dels 90 del passat segle, quan comencen a sorgir dins dels serveis de newsgroups (grups de notícies) serveis de filtratge de notícies que permetien a la seva comunitat d'usuaris accedir exclusivament a aquelles que potencialment podien ser del seu interès.

En l'actualitat els sistemes de recomanació han evolucionat i és possible trobar-los en diversos àmbits d'aplicació com en el comerç electrònic, on s'han convertit en una eina fonamental per als proveïdors en línia o en els serveis d'informació científica.

No obstant això, en cada domini es presenten diferents problemes als quals cal donar diferents solucions. La necessària capacitat d'evolució ha implicat que els sistemes de recomanació s'hagin diversificat. Els sistemes de recomanació són la peça clau de les xarxes socials i de la indústria de l'entreteniment.

Tipus de sistemes de recomanació[modifica | modifica el codi]

Els sistemes de recomanació necessiten principalment dades de l'usuari perquè les recomanacions siguin encertades. Se solen classificar per si utilitzen preferències explícites, implícites o una combinació d'ambdues per calcular les recomanacions:

Informació explícita[modifica | modifica el codi]

Es considera que un sistema de recomanació utilitza preferències explícites, quan l'usuari expressa les seves preferències conscientment en el perfil. Com per exemple en el cas de valorar un contingut (on la valoració consisteix a donar un valor numèric dins d'un rang definit), preguntes personals i socials, etc.

Alguns exemples de recol·lecció de dades de forma explícita són:

  • Sol·licitar a l'usuari que ponderi basant-se en una escala proporcionada, algun tema en particular.
  • Sol·licitar a l'usuari que ponderi un conjunt de temes d'una llista de temes favorits.
  • Presentar a l'usuari dos temes, i sol·licitar que en seleccioni un d'ells.
  • Sol·licitar a l'usuari que generi una llista de temes amb les seves preferències.

Informació implícita[modifica | modifica el codi]

Els sistemes que utilitzen preferències implícites dedueixen les preferències a partir del comportament de l'usuari i del seu historial. Això permet que en la majoria dels casos no sigui necessari demanar a l'usuari gran quantitat d'informació sobre les seves preferències perquè pugui ser recomanat. Per exemple, el passat d'usuaris amb perfil semblant al subjecte en qüestió, sistemes d'aprenentatge, etc.

Alguns exemples de recol·lecció de dades de forma implícita són:

  • Guardar un registre dels temes que l'usuari ha vist a una botiga online.
  • Analitzar el nombre de visites que rep un article
  • Guardar un registre dels articles que l'usuari ha seleccionat.
  • Obtenir un llistat dels articles que l'usuari ha seleccionat o vist al seu ordinador.
  • Analitzar les xarxes socials a les que l'usuari pertany, d'aquesta forma es poden esbrinar els seus gustos i preferències

En general, els sistemes de recomanació utilitzen tant preferències explícites com a implícites per construir els perfils d'usuari. De manera que inicialment solen utilitzar mètodes explícits per obtenir la informació bàsica del perfil, per més endavant, a mesura que l'usuari interacciona amb el sistema de recomanació, utilitzar preferències implícites amb la finalitat de refinar el perfil inicial i millorar les seves prediccions.

La forma més coneguda de classificar als sistemes de recomanació és segons la metodologia que utilitzen per resoldre el problema de la recomanació. En la literatura trobem bàsicament quatre metodologies diferents: basada en el contingut, basada en casos, basada en filtre cooperatiu i finalment la metodologia híbrida que es basa en la combinació de les anteriors.

Mètodes de recomanació[modifica | modifica el codi]

Per dur a terme la cerca idònia, el perfil de l'usuari és contrastat amb les característiques dels ítems. Podem classificar els mètodes per fer aquesta comparació en quatre grans grups:

Recomanació basada en el contingut[modifica | modifica el codi]

La recomanació basada en el contingut consisteix a buscar objectes que millor s'adaptin a les preferències de l'usuari que realitza la cerca. Utilitza com a element clau la mesura de la semblança que ens indica com de relacionat està un objecte amb l'usuari. En aquest mètode s'utilitza una predicció independent de l'usuari, tot i que comporta problemes com la sobre-especialització ja sigui perquè els resultats són molt similars a la cerca o perquè pot ser complicat extreure bona informació pel càlcul de semblança segons el domini dels objectes.

Recomanació basada en casos[modifica | modifica el codi]

Esquema bàsic del funcionament de la recomanació basada en casos.

Consisteix a recomanar objectes similars als que l'usuari ha valorat prèviament de manera positiva. En aquesta metodologia els elements clau són la mesura de similitud entre objectes i la classificació dels objectes de l'historial d'usuari segons la rellevància del objecte per l'usuari. Cal destacar que les paraules clau s'extreuen del perfil d'usuari. Utilitzant la seva informació aconseguim informació més variada.

El seu principal problema és la sobre-especialització i la qualitat de les recomanacions, ja que va lligada al nombre de valoracions fet anteriorment.

Recomanació cooperativa o basada en el filtratge col·laboratiu[modifica | modifica el codi]

En anglès collaborative filtering (filtres col·laboratius). En aquest cas, les recomanacions seran elements que han agradat a altres usuaris amb interessos similars. El perfil ens determinarà la similitud entre usuaris. Per a cada usuari es crea un conjunt de veïns propers les avaluacions anteriors dels quals tenen grans semblances amb les de l’usuari en qüestió. És un mètode eficaç quan disposem d’una gran base de dades productes/continguts, usuaris i interaccions entre usuaris i productes/continguts.

Basat en memòria o usuari[modifica | modifica el codi]

Són sistemes que usen un algorisme heurístic que realitzen les prediccions basant-se en la base de dades de l'usuari.

Basat en el model o element[modifica | modifica el codi]

Fitxer:Collaborative.png
Procés de la recomanació cooperativa.

Són sistemes que utilitzen un model per realitzar prediccions creat a partir de la base de dades de valoracions de l'usuari. Per a construir aquest model s'utilitzen tècniques d'aprenentatge. Les més utilitzades són:

  • Xarxa bayesiana
  • Tècniques de classificació
  • Tècniques basades en normes

Diversos estudis han demostrat que aquests algoritmes tenen millor rendiment en dominis amb gran pobresa de dades, alhora que els millors resultats s'extreuen de combinar les dues tècniques cooperatives.

Els principals problemes són:

  • La baixa densitat d'informació disponible
  • Els usuaris amb gustos diferents reben males recomanacions.
  • Un nou objecte no és recomanable fins que no és valorat per un nombre determinat d'usuaris
  • Són poc escalables

Recomanació híbrida[modifica | modifica el codi]

Es creen per poder resoldre les limitacions de cada recomanació explicada anteriorment. Segons la forma en que es combinen les diverses aproximacions els sistemes híbrids es poden classificar en:

  • Weighted: sistema on donat un objecte es combinen les diferents puntuacions de cada component mitjançant una fórmula lineal.
  • Switching: sistema que escull un únic component depenent de la situació de recomanació.
  • Cascade hybrids: sistema jeràrquic on el component secundari refina les decisions del primari.
  • Feature augmentation: sistema que consisteix a utilitzar un component per a generar una nova característica per a cada objecte, augmentant així la informació disponible per al component primari.

Principals problemes dels sistemes de recomanació[modifica | modifica el codi]

  1. Arrencada en fred: és un problema fer la primera recomanació, ja que no disposem de cap dada prèvia de l’usuari. El sistema no podrà obtenir recomanacions fins que l'usuari no tingui un perfil suficientment ampli per poder trobar el seu grup de veïns propers (en el cas del filtratge col·laboratiu), o per poder utilitzar el seu passat (en el cas de recomanacions basades en el contingut).
  2. Escassetat de dades: es necessiten moltes dades per fer una recomanació acurada. Aquest fet fa que ens trobem que els sistemes que fan millors recomanacions, són aquells que tenen una gran base de dades (per exemple Amazon, Netflix, Last.fm, Facebook, ...).
  3. Cerca de dades pertinents i fiables: trobar dades que realment permetin obtenir més informació de l’usuari és difícil, ja que l'adequació de les fonts d'informació utilitzades en els sistemes de recomanació no es solen mesurar. Un dels sistemes que sí intenta mesurar, i amb prou èxit, és l’anomenada metodologia de coneixement (en anglès acquaint methodology), que utilitza dos criteris, la rellevància (R) que obté les característiques de les fonts representatives i la confiança (T) que és un valor que representa el grau d'èxit de les recomanacions formulades usant aquesta font en el passat.
  4. Canvi constant en les dades: que les dades canviïn provoca que en general, els sistemes de recomanació no suggereixin mai nous articles/productes, ja que es basen en accions passades per fer les recomanacions (No hi ha botigues virtuals de moda que utilitzin sistemes de recomanació, no funcionen per a noves tendències).
  5. Canvi de la intenció de l'usuari: els sistemes de recomanació no poden preveure un canvi d'intencionalitat (p.e. Es vol llogar a Netflix una pel·lícula que agradi a una tercera persona, i no a l'usuari en qüestió).
  6. Ítems impredictibles: en totes les categories existeixen ítems impredictibles que causen reaccions molt diferents als usuaris que en principi són veïns propers (per exemple articles excèntrics).
  7. Sobre-especialització: és un problema de la recomanació basada en el contingut i la recomanació basada en casos que consisteix en que les recomanacions resultants solen ser sempre molt similars donat que es basen en la mateixa informació, i que depenent del domini dels objectes a recomanar, és difícil extreure bona informació d'aquests per realitzar un càlcul fiable de la similitud. Aquest problema es millora afegint aleatorietat a la cerca.
  8. Baixa densitat d’informació disponible: problemàtica de la recomanació cooperativa, ja que els usuaris amb gustos especials són mal recomanats perquè un nou objecte no és recomanable fins que no sigui valorat per un nombre determinat d'usuaris.

Motors de cerca i sistemes de recomanació[modifica | modifica el codi]

Els motors de cerca i els sistemes de recomanació, tenen com a principal objectiu trobar per al usuari allò que busca, però també cal destacar que hi ha diferències significatives entre ambdós.

Per una banda un motor de cerca està orientat a oferir respostes concretes a necessitats puntuals dels usuaris. Fins al moment, aquestes necessitats s'expressen en forma de consulta de text, i a partir d'aquestes consultes, els cercadors són capaços d'oferir continguts que estiguin relacionats amb les necessitats expressades a la consulta. D'aquesta manera, s'ajuda als usuaris a solucionar, almenys en part, el creixent problema de sobresaturació d'informació al que ens veiem sotmesos avui dia. Els cercadors més populars acostumen a oferir serveis addicionals a la cerca d'enllaços web, com per exemple la cerca de continguts audiovisuals, mapes o per exemple la traducció de texts.

Per l'altra banda, un sistema de recomanació s'encarrega d'obtenir informació de l'usuari de la forma més transparent possible, el sistema analitza el seu comportament i és capaç de detectar articles, productes o continguts que resultin interessants per l'usuari. L'usuari proporciona la informació necessària al sistema sense que pràcticament se'n adoni. Aquests sistemes poden i acostumen a utilitzar-se per enviar publicitat, és per això que cada cop més estan despertant l'interès de multitud d'empreses.

Futur dels sistemes de recomanació[modifica | modifica el codi]

Actualment, l'evolució d'aquests sistemes va encaminada a la fusió entre cercadors i recomanadors. Per una banda, als motors de cerca, la interacció (usuari/servei), es produeix sobretot de l'usuari cap al servei. És l'usuari el que introdueix la informació a cercar, el cercador es limita a oferir el tipus d'informació seleccionada per l'usuari.

Per contra, als sistemes de recomanació, la interacció (usuari/servei), es produeix del servei cap a l'usuari en major mesura. L'usuari es registra i no introdueix més informació de forma explícita.

Es pot dir que aquests sistemes tenen poca interactivitat. La tendència actual és aprofitar els avantatges dels dos sistemes per tal d'oferir una major interactivitat a on la interacció (usuari/servei) es du a terme de forma bidireccional. Un clar exemple d'aquesta tendència és el creixent nombre de xarxes socials que hi ha hagut en els últims anys, aquestes utilitzen motors de cerca i sistemes de recomanació conjuntament.En un futur proper, gràcies a l'espectacular creixement d'Internet, s'espera que aquests sistemes s'acabin integrant amb els navegadors web, i que aquests alhora s'integrin amb els sistemes operatius existents per tal d'oferir un servei únic.

Exemples[modifica | modifica el codi]

Logotip d'Amazon.
Logotip de Facebook.
Logotip de Spotify.

Alguns exemples de llocs web que utilitzen els sistemes de recomanació com a eina principal:

Referències[modifica | modifica el codi]