miniatura|a sketch of  a recommenation system Els sistemes de recomanació són sistemes intel·ligents que proporcionen als usuaris un seguit de suggeriments personalitzats (recomanacions) sobre un determinat tipus d'elements (ítems) que poden interessar a l'usuari basant-se en les preferències que ha expressat de forma implícita o explícita.

Així doncs, dona suport a l'usuari a l'hora de prendre decisions mentre interactua amb una massa important d'informació, emprant diversos mètodes per fer aquesta tria automàtica. De manera que permeten que a l'usuari li arribi allò que li interessa de manera més ràpida i eficaç.

Motivacions 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 amb el perfil dels usuaris subscrits al servei, es generen periòdicament (o a petició del mateix 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ó 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 Es considera que un sistema de recomanació utilitza preferències explícites, quan l'usuari expressa de forma clara les seves preferències conscientment en el perfil, sent una tècnica molt potent en la qualitat d'informació que s'obté.

Per exemple, el cas de valorar un contingut (on la valoració consisteix a donar un valor numèric dins d'un interval 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. Com la informació s'obté directament des de l'usuari, es redueix el marge d'error. Tot i així, aquestes tècniques requereixen l'atenció de l'usuari, per tant, la interrupció de la seva activitat habitual en l'aplicació, cosa que pot resultar un inconvenient.

Informació implícita Sistemes que dedueixen les preferències a partir del comportament de l'usuari i del seu historial, així permetent 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. Solen ser els preferits, ja que tenen un impacte molt reduït o inexistent en la interacció habitual de l'usuari amb l'aplicació.

Per exemple, el passat d'usuaris amb perfil semblant al subjecte en qüestió, sistemes d'aprenentatge, etc.

Aquestes tècniques requereixen un grau d'interpretació per part de l'expert per entendre els objectius reals de l'usuari i per tant, es genera un possible error que afectarà la creació  dels perfils d'usuari. 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 quals l'usuari pertany, i d'aquesta forma es poden esbrinar els seus gustos i preferències. En general, els sistemes de recomanació combinen aquestes preferències per construir els perfils d'usuari, utilitzant inicialment mètodes explícits per obtenir la informació bàsica del perfil, i 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 diferents metodologies: basada en el contingut, basada en coneixement, en filtre cooperatiu, en mètodes demogràfics i finalment la metodologia  híbrida, basada en la combinació de les anteriors.

Mètodes de recomanació Per dur a terme la cerca idònia, el perfil de l'usuari és contrastat amb les característiques dels ítems. Hi ha diversos mètodes:

Sistemes de recomanació basats en contingut Els sistemes basats en contingut, consisteixen en la recerca d'objectes basant-se en el coneixement que es té sobre les valoracions de l'usuari, així recomanant ítems que s'adaptin millor a les seves preferències, sent similars, de manera que li puguin agradar o interessar.

Utilitza tècniques d'aprenentatge tal com els Decision Trees, els Neural Networks o les representacions basades en vectors.

Avantatjes Fa recomanacions per continguts i no per opinions subjectives d'altres usuaris. El sistema pot generar explicacions sobre les recomanacions que ha fet sobre la base de l'historial de l'usuari. No hi ha cap mena de dispersió, ja que el modelat de la informació està present en les característiques del document i no necessiten proveir-les altres usuaris. Problemes Arrencada en fred pels usuaris. La qualitat de la recomandació depèn de la mida de l'historial de valoracions. Sobre aprenentatje (resultats molt similars a la cerca)  - Absència de serendipitat Sobre especialització, ón l'usuari està limitat al fet que li recomanin ítems similars als que ell ha recomanat. Subjectivitat dels continguts, és a dir, dificultat als dominis amb contingut difícil d'analitzar (àudios, gràfics, imatges, video…) Problemes d'usuari nou, on l'usuari ha de valorar un nombre suficient d'ítems perquè el sistema pugui realment entendre les seves preferències. Representació del perfil d'ítem, on per cada ítem s'extreuen certes característiques sobre les quals s'avalua la similitud. Efecte Portfolio, es dona en dominis com en recomanació de notícies, ja que és possible descartar notícies  que poden ser molt similars a les prèvies, presentant al mateix temps fets nous i importants. Escalabilitat vs. plasticitat: Difícil adaptació del sistema als canvis dins el perfil de l'usuari fins no haver recol·lectat un nombre suficient de ratings (classificacions) actualitzades. Tasca onerosa (pesada) de valorar.

Sistemes de recomanació basats en filtratge col·laboratiu Els sistemes de recomanació basats en el filtratge col·laboratiu són aquells en els que les recomanacions es realitzen basant-se únicament en els termes de similitud entre els usuaris. Aquesta similitud la determinarà el perfil de cada usuari. Els usuaris d'un sistema col·laboratiu comparteixen les seves valoracions i opinions respecte als ítems que coneixen.

La base teòrica d'aquests sistemes de recomanació és bastant senzilla: es formen grups d'usuaris més propers (aquells que els seus perfils són més semblants) i se li recomanen aquells objectes que són més similars a ell.

Shardaham i Maes van distingir tres fases fonamentals en el funcionament d'aquests sistemes:

1. El sistema guarda el perfil de cada usuari amb les seves preferències dins d'una base de dades.

2. Es creen grups d'usuaris amb les característiques semblants mitjançant el grau de similitud entre els usuaris que hi ha a la base de dades.

3. El sistema utilitza la informació obtinguda anteriorment per poder realitzar les recomanacions.

Per la realització d'un bon sistema de recomanació col·laboratiu és necessari utilitzar un bon algoritme de filtratge col·laboratiu. Aquests algoritmes es poden separar en dues categories:

Basat en memòria o usuari Aquests algoritmes utilitzen tota la base de dades per tal de generar una predicció. S'utilitzen tècniques de similitud per trobar les semblances entre una parella d'usuaris. Posteriorment, s'utilitza una sèrie d'algoritmes que combinen les preferències de tots dos per realitzar les prediccions i les recomanacions.

Aquests algoritmes són molt populars i d'èxit a la pràctica però també són els que tenen més problemes d'escassetat i escalabilitat a la base de dades.

Basat en el model o element Aquests algoritmes proporcionen recomanacions d'ítems desenvolupant primer un model de les puntuacions dels usuaris sobre aquests ítems. S'utilitza una aproximació probabilística que calcula el valor esperat d'una predicció de l'usuari donades les seves puntuacions sobre altres ítems.

Avantatges Permet recomanar continguts difícils d'analitzar. Recomana ítems basats en les preferències de l'usuari. Realitza recomanacions vàlides però no esperades, la qual cosa pot ser de gran utilitat. Problemes Dispersió (Sparsity): el baix nombre d'usuaris amb relació a la gran quantitat d'informació en el sistema… Arrencada en fred: 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 Escalabilitat: a mesura que la quantitat d'ítems i usuaris creix, també creix la quantitat de veïns més propers per la determinació d'usuaris similars. Como els càlculs es fan a temps real, el sistema es pot col·lapsar Gray sheep: fa referència a aquells usuaris que no es poden relacionar amb cap grup en concret i que, per tant, no beneficien al sistema col·laboratiu Sinonímia: es produeix per l'escassetat de qualsevol forma d'interpretació semàntica Subjectivitat: respecte a la naturalesa de les classificacions