Gomendio-sistema

thumb|Gomendio-sistema baten egitura
**Gomendio-sistemak** informazioa iragazten duen sistema baten parte dira eta hainbat motatako edukiak erabiltzaile jakin baten gustukoak diren jakiteko erabiltzen dira; adibidez, filmak, musika, liburuak, albisteak, irudiak, web-orriak, opariak, etab. Oro har, gomendio-sistema batek erabiltzailearen profila ezaugarri zehatz batzuekin konparatzen du, eta sistemak oraindik kontuan hartu ez dituen gaientzat kalkulatuko liokeen puntuazioa aurreikustea du helburu. Ezaugarri horiek erabiltzaileak gaiarekin duen harremanean, hurbilketan edo giro sozialean oinarritu daitezke. 

## Historia 
1979an, Elaine Rich-ek lehen gomendio-sistema sortu zuen, Grundy izenekoa.[1][2] Erabiltzaileei gustuko liburuak gomendatzeko modu bat bilatzen ari zen. Erabiltzaileei galdera espezifikoak egingo zizkien eta, erantzunen arabera, lehentasun-klaseetan edo "estereotipoetan" sailkatuko zituen sistema bat sortu nahi zuen. Estereotipoaren arabera, erabiltzaileek gustuko izan zitzaketen liburuen gomendioak jasoko zituen. 

Beste gomendio-sistema aitzindari bat, "apalategi digital" izenekoa, 1990eko txosten tekniko batean deskribatu zuen Columbiako Unibertsitateko Jussi Karlgren-ek.[3] Sistema hori maila orokorrean inplementatu zen, eta 1994tik aurrera txosten teknikoetan eta argitalpenetan garatu zuten Jussi Karlgrenek (orduan SICSen) [4][5] eta Pattie Maes-ek (MITen) zuzendutako ikerketa-taldeek  [6], Will Hill-ek (Bellcoren), [7] eta Paul Resnick-ek (MITen ere bai) [8][9]. Group Lensekin egindako lanari 2010eko Software Sistemen ACM saria eman zioten. 

Montanerrek gomendio-sistemen lehen ikuspegi orokorra eskaini zuen, eragile adimendunen ikuspegitik.[10] Adomaviciusek gomendio-sistemen ikuspegi orokor alternatiboa aurkeztu zuen.[11] Herlockerrek gomendio-sistemetarako ebaluazio-tekniken ikuspegi orokor gehigarria eskaini zuen, [12] eta Beel et al.-ek lineaz kanpoko ebaluazioen arazoak aztertu zituzten.[13] Beel et al. -ek gomendio-sistemei buruzko berrikuspen bibliografikoak ere egin izan dituzte, eskuragarri dauden ikerketa-artikuluetan.[14][15] 

## Hurbilpenak 
#### Iragazpen kolaboratiboa 
thumb|Iragazpen kolaboratibo baten adibide bat, kalifikazio sistema batean oinarritua.
Gomendio-sistemen diseinuan asko erabiltzen den ikuspegia iragazpen kolaboratiboa da[16]. Metodo hori irizpide honetan oinarritzen da: iraganean bat etorri zirenak etorkizunean bat etorriko dira eta antzeko lehentasunak izango dituzte. Sistemak gomendioak sortzen ditu, erabiltzaile edo artikulu desberdinen balorazio-profilei buruzko informazioa soilik erabiliz. Erabiltzailearen edo egungo artikuluaren antzeko balorazio-historia duten erabiltzaileak edo artikuluak identifikatzean, multzo horretan oinarritutako gomendioak sortzen ditu. Ikuspegi hori funtsezkoa da milaka erabiltzaileren erosketa-ereduak aztertzen dituzten merkataritza elektronikoko guneentzat, gustuko izan ditzaketen produktuak iradokitzeko. 

Iragazpen kolaboratiboko ikuspegiaren funtsezko abantaila bat da ez dagoela makinaz azter daitekeen edukiaren mende, eta, beraz, gai dela elementu konplexuak zehaztasunez gomendatzeko, hala nola filmak, elementua bera "ulertu" beharrik gabe. 

Erabiltzailearen profil bat sortzen denean, ezaugarrien bilketan bi metodo erabiliz sortzen da: metodo inplizitua eta metodo esplizitua. 

Hona hemen datuak modu esplizituan erabiliz biltzeko adibide batzuk: 

* Erabiltzaileari eskatzea gai zehatzen bat neurtzeko, eskala proportzionatu batean oinarrituta. 

* Erabiltzaileari bilaketa bat egiteko eskatzea. 

* Erabiltzaileari gai-zerrenda bat emanda, gustukoen dituen gaiak hautatzeko eskatzea. 

* Erabiltzaileari bi gai aurkeztea, eta horietako bat hautatzeko eskatzea. 

* Erabiltzaileari gustuko dituen gaien zerrenda bat eskatzea. 

Hona hemen datuak modu inplizituan biltzeko adibide batzuk: 

* Erabiltzaileak online denda batean ikusi dituen gaien erregistro bat  gordetzea. 

* Artikulu batek zenbat bisita jasotzen dituen aztertzea. [17] 

* Erabiltzaileak aukeratutako artikuluen erregistro bat gordetzea. 

* Erabiltzaileak ordenagailuan hautatu edo ikusi dituen artikuluen zerrenda lortzea. 

* Erabiltzailearen sare sozialak aztertzea eta, horrela, haren gustuak eta lehentasunak ezagutzea. 

Iragazpen kolaboratiboko metodoek hiru arazo dituzte: hasiera hotza, eskalagarritasuna eta datu-gabezia.[18] 

* Hasiera hotza: erabiltzaile edo artikulu berri batentzat, ez dago gomendio zehatzak egiteko nahikoa datu.  

* Eskalagarritasuna: sistema horiek gomendioak egiten dituzten ingurune askotan, milioika erabiltzaile eta produktu daude. Beraz, askotan zenbatzeko gaitasun handia behar da gomendio horiek kalkulatu ahal izateko. 

* Datu-gabezia: merkataritza elektronikoko gune nagusietan saldutako gaien kopurua izugarria da. Erabiltzaile aktiboenek datu-base osoaren zati txiki bat baino ez dute baloratuko. Beraz, artikulu ezagunenak ere oso gutxi baloratzen dira. 

Iragazpen kolaboratiboko adibide ezagunenetako bat itemetik itemerako iragazketa da (X erosten dutenek Y ere erosten dute), Amazon.com gomendio-sistemak zabaldutako algoritmoa. [19] 

Sare sozial askok, hasieran, iragazketa kolaboratiboa erabili zuten lagun berriak, taldeak eta beste konexio sozial batzuk gomendatzeko, erabiltzaile baten eta bere lagunen arteko konexio-sarea aztertuz.[20]  Gainera, iragazketa kolaboratiboa sistema hibridoen zati gisa erabiltzen da oraindik. Teknika honek “embedding” edo txertakuntzak erabil ditzake, ikasketa automatikoko teknika bat.[21] 

#### Edukian oinarritutako iragazketa 
Gomendio-sistemak diseinatzeko beste ikuspegi arrunt bat edukian oinarritutako iragazketa da. Edukian oinarritutako iragazketa-metodoak elementuaren deskribapenean eta erabiltzailearen lehentasunen profilean oinarritzen dira. [22][23] Metodo horiek egokiak dira elementu bati buruzko datu ezagunak direnean (izena, kokapena, deskribapena, etab.), eta erabiltzaileari buruzko datuak ezagunak ez direnean. Edukian oinarritutako gomendio-sistemek erabiltzailearen sailkapen-arazo espezifiko bezala hartzen  dute gomendioa, eta erabiltzailearen gustuen eta lehentasunen sailkatzaile bat barneratzen dute, elementuaren ezaugarrietatik abiatuta. 

Sistema horretan, gako-hitzak erabiltzen dira elementuak deskribatzeko, eta erabiltzaile-profil bat sortzen da, gustuko elementu-mota adierazteko. Bestela esanda, algoritmo horiek erabiltzaileak iraganean hobetsi dituen edo gaur egun kontsultatzen ari den elementuen antzekoak gomendatzen saiatzen dira. Ez da saioa hasteko mekanismorik behar profil hori sortzeko, aldi baterakoa izaten baita. Zehazki, hainbat elementu hautagai alderatzen dira erabiltzaileak aurrez baloratu dituenekin, eta hobekien egokitzen direnak gomendatzen dira. Ikuspegi horrek informazioa berreskuratzeari eta iragazteari buruzko ikerketan ditu sustraiak. 

Erabiltzaile-profil bat sortzeko, sistema bi informazio-motetan oinarritzen da: 

* Erabiltzailearen lehentasunen eredu bat. 

* Erabiltzaileak gomendio-sistemarekin duen elkarreraginaren historia. 

Bereziki, item-profil bat (hau da, atributu eta ezaugarri diskretuen multzo bat) erabiltzen dute metodo horiek, itema sistemaren barruan bereizten duena. Itemek sisteman dituzten ezaugarriak identifikatzeko, itemak aurkezteko algoritmo bat aplikatzen da. Asko erabiltzen den algoritmoa TF-IDF irudikapena da (espazio bektorialaren irudikapena ere esaten zaio).[24] Sistemak edukian oinarritutako erabiltzaile-profil bat sortzen du, itemen ezaugarrien bektore haztatu batetik abiatuta. Haztapenek ezaugarri bakoitzak erabiltzailearentzat duen garrantzia adierazten dute, eta banaka hainbat teknikaren bidez kalifikatutako eduki-bektoreetatik abiatuta kalkula daitezke. Ikuspegi sinpleek item kalifikatuen bektorearen batez besteko balioak erabiltzen dituzte; beste metodo sofistikatu batzuek, berriz, ikasketa automatikoko teknikak erabiltzen dituzte, hala nola sailkatzaile bayestarrak, klusterren analisiak, erabaki-zuhaitzak eta neurona-sare artifizialak, erabiltzaileari itema gustatzeko probabilitatea kalkulatzeko [25]. 

Edukian oinarritutako iragazketaren funtsezko alderdi bat da sistemak erabiltzailearen lehentasunak ikas ditzakeen, bere ekintzetatik abiatuta eduki-iturri bati eta beste eduki mota batzuei aplikatzeko. Sistema erabiltzaileak erabiltzen duen mota bereko edukia gomendatzera mugatzen denean, haren erabilgarritasuna beste zerbitzu batzuetako beste eduki mota batzuk gomendatuko balira baino nabarmen txikiagoa da. Adibidez, nabigazio-jardueraren arabera albiste-artikuluak gomendatzea erabilgarria da. Hala ere, askoz ere erabilgarriagoa izango litzateke hainbat zerbitzutako musika, bideoak, produktuak, eztabaidak eta abar gomendatzea, jarduera horretan oinarrituta. Hori konpontzeko, edukian oinarritutako gomendio-sistema gehienek sistema hibridoren bat erabiltzen dute gaur egun. 

#### Gomendio-ikuspegi hibridoak 
Gaur egungo gomendio-sistema gehienek ikuspegi hibridoa erabiltzen dute, iragazpen kolaboratiboa, edukian oinarritutako iragazketa eta beste metodo batzuk konbinatzen dituena. Merkataritza elektronikoko plataformek ikuspegi hibridoak erabili ohi dituzte arazoak konpontzeko, hala nola, hotzean abiaraztearena; izan ere, erabiltzaile berri batek ez du elkarlaneko iragazketa azter lezakeen historialik. Ez dago arrazoirik mota bereko hainbat teknika hibridatu ezin izateko. Ikuspegi hibridoak hainbat modutan inplementa daitezke: edukian eta elkarlaneko iragazketan oinarritutako iragarpenak bereizita eginez eta gero konbinatuz; edukian oinarritutako gaitasunak gehituz elkarlaneko iragazketan oinarritutako ikuspegiari (eta alderantziz); edo ikuspegiak eredu bakar batean bateratuz.[26] Metodo hibridoen errendimendua metodo kolaboratibo hutsekin eta edukian oinarritutako metodoekin enpirikoki alderatu zuten hainbat azterlanek frogatu zuten metodo hibridoek gomendio zehatzagoak eman ditzaketela ikuspegi hutsek baino. Metodo hauek gomendio-sistemetan ohikoak diren arazo batzuk gainditzeko ere erabil daitezke, hala nola, hotzean abiatzea eta datu-eskasia, eta ezagutzaren ingeniaritzaren botila-lepoa ezagutzan oinarritutako ikuspegietan. [27] 

Netflix gomendio-sistema hibridoen erabileraren adibide ona da.[28]Webguneak antzeko elementuak ikusteko eta bilatzeko ohitura duten erabiltzaileak alderatzen ditu, haiei gomendioak egiteko (hau da, elkarlaneko iragazketa), eta, horrez gain, erabiltzaile batek positiboki baloratu dituen pelikulekin ezaugarriak partekatzen dituzten filmak eskaintzen ditu (edukian oinarritutako iragazketa). 

## Algoritmoak 
Gomendio-sistemetan gehien erabiltzen den algoritmoetako bat Nearest Neighborhood da (hurbilen dauden bizilagunak). Sare sozial batean, metodo honek antzeko gustu eta interesak dituzten erabiltzaileak identifikatzen ditu, eta haien lehentasunak Pearsonen korrelazioaren bidez alderatzen ditu. Antzekotasun handiena duten N erabiltzaileak (bizilagunak) aurkitu ondoren, haien lehentasun-datuak bildu eta konbinatu egiten dira, eta pisu handiagoa ematen zaie antzekotasun handiena dutenei. Informazio horrekin, erabiltzaile jakin baten lehentasunak aurreikus daitezke, hainbat kalkulu-teknikaren bidez. 

## Gomendio-sistemen ebaluazioa 
Gomendio-sistemen kalitatea neurtzeko, hainbat errore-metrika erabiltzen dira. Metrika horiek gomendatutako balioen eta erabiltzaileek benetan adierazitako lehentasunen arteko aldeak kuantifikatzen dituzte. 

#### Mean Absolute Error (MAE) 
Batez besteko errore absolutua erabiltzailearen benetako balioen eta sistemak aurreikusitako balioen arteko alde absolutuen batezbestekoa da. Balio txikiagoek zehaztasun handiagoa adierazten dute. 

Erabilitako formula: 

MAE = \sum_{i=1}^N \frac{N} 

#### Normalized Mean Absolute Error (NMAE) 
MAE normalizatua erreferentzia-tarte jakin batean eskalatutako errorea da. Horrek aukera ematen du sistema desberdinen arteko konparazio bidezkoa egiteko, nahiz eta balorazio-eskalak ezberdinak izan. 

Erabilitako formula: 

NMAE = \sum_{i=1}^N \frac{(|p_i - q_i|)/q_i}{N}

#### Root Mean Squared Error (RMSE) 
Errore karratuaren errorearen batez besteko errorea (RMSE) benetako eta aurreikusitako balioen arteko alde karratuen batezbestekoaren errorea da. Metrika honek errore handiak gehiago zigortzen ditu, eta horregatik oso erabilia da sistema konplexuetan. 

Erabilitako formula: 

EMC = \sum_{i=1}^N \sqrt{\frac{(|p_i - q_i|)^2}{N}}

## Gomendio-sistemen etorkizuna 
Etorkizunean, gomendio-sistemek bilaketa-teknikekin geroz eta lotura estuagoa izango dute, erabiltzailearen asmoa modu zehatzagoan ulertzeko. Sistemek bi alderdi horiek uztartzen dituzten eredu hibridoak garatuko dituzte, bilaketa esplizitutik nahiz portaera-ereduetatik eratorritako gomendio inplizituek elikatuta. Nabigatzaileetan eta plataformetan integratutako agenteek erabiltzailearen interakzioak unean bertan aztertuko dituzte, eta, horren arabera, eduki egokiagoak proposatuko dituzte. Etorkizuneko sistemek elkarreragin dinamikoagoa izango dute; horrela, erabiltzaileak bere interesak zuzentzeko aukera izango du, eta sistemak berehala egokituko dira informazio berrietara. 

## Erreferentziak 
# BEEL, Joeran, et al. Paper recommender systems: a literature survey. International Journal on Digital Libraries, 2016, 17. Jg., Nr. 4, S. 305–338.
# ICH, Elaine. User modeling via stereotypes. Cognitive science, 1979, 3. Jg., Nr. 4, S. 329–354.
# Karlgren, Jussi. "An Algebra for Recommendations.Archived 2024-05-25 at the Wayback Machine. Syslab Working Paper 179 (1990). "
# Karlgren, Jussi. "Newsgroup Clustering Based On User Behavior-A Recommendation Algebra Archived February 27, 2021, at the Wayback Machine." SICS Research Report (1994).
# Karlgren, Jussi (October 2017). "A digital bookshelf: original work on recommender systems". Retrieved October 27, 2017.
# Shardanand, Upendra, and Pattie Maes. "Social information filtering: algorithms for automating "word of mouth"." In Proceedings of the SIGCHI conference on Human factors in computing systems, pp. 210–217. ACM Press/Addison-Wesley Publishing Co., 1995.
# Hill, Will, Larry Stead, Mark Rosenstein, and George Furnas. "Recommending and evaluating choices in a virtual community of use Archived 2018-12-21 at the Wayback Machine." In Proceedings of the SIGCHI conference on Human factors in computing systems, pp. 194–201. ACM Press/Addison-Wesley Publishing Co., 1995.
# Resnick, Paul, Neophytos Iacovou, Mitesh Suchak, Peter Bergström, and John Riedl. "GroupLens: an open architecture for collaborative filtering of netnews." In Proceedings of the 1994 ACM conference on Computer supported cooperative work, pp. 175–186. ACM, 1994.
# Resnick, Paul, and Hal R. Varian. "Recommender systems." Communications of the ACM 40, no. 3 (1997): 56–58.
# Montaner, M.; Lopez, B.; de la Rosa, J. L. (June 2003). "A Taxonomy of Recommender Agents on the Internet". *Artificial Intelligence Review*. **19** (4): 285–330. doi:10.1023/A:1022850703159. S2CID 16544257.
# Adomavicius, G.; Tuzhilin, A. (June 2005). "Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions". *IEEE Transactions on Knowledge and Data Engineering*. **17** (6): 734–749. Bibcode:2005IDSO...17..734A. CiteSeerX 10.1.1.107.2790. doi:10.1109/TKDE.2005.99. S2CID 206742345.
# Herlocker, J. L.; Konstan, J. A.; Terveen, L. G.; Riedl, J. T. (January 2004). "Evaluating collaborative filtering recommender systems". *ACM Trans. Inf. Syst*. **22** (1): 5–53. CiteSeerX 10.1.1.78.8384. doi:10.1145/963770.963772. S2CID 207731647.
# Beel, J.; Genzmehr, M.; Gipp, B. (October 2013). "A comparative analysis of offline and online evaluations and discussion of research paper recommender system evaluation" (PDF). *Proceedings of the International Workshop on Reproducibility and Replication in Recommender Systems Evaluation*. pp. 7–14. doi:10.1145/2532508.2532511. ISBN 978-1-4503-2465-6. S2CID 8202591. Archived from the original (PDF) on April 17, 2016. Retrieved October 22, 2013.
# Beel, J.; Langer, S.; Genzmehr, M.; Gipp, B.; Breitinger, C. (October 2013). "Research paper recommender system evaluation: A quantitative literature survey" (PDF). *Proceedings of the International Workshop on Reproducibility and Replication in Recommender Systems Evaluation*. pp. 15–22. doi:10.1145/2532508.2532512. ISBN 978-1-4503-2465-6. S2CID 4411601.
# Beel, J.; Gipp, B.; Langer, S.; Breitinger, C. (July 26, 2015). "Research Paper Recommender Systems: A Literature Survey". *International Journal on Digital Libraries*. **17** (4): 305–338. doi:10.1007/s00799-015-0156-0. S2CID 207035184.
# John S. Breese; David Heckerman & Carl Kadie (1998). *Empirical analysis of predictive algorithms for collaborative filtering*. In Proceedings of the Fourteenth conference on Uncertainty in artificial intelligence (UAI'98). arXiv:.
# Parsons, J.; Ralph, P.; Gallagher, K. (July 2004). *Using viewing time to infer user preference in recommender systems*. AAAI Workshop in Semantic Web Personalization, San Jose, California.
# Sanghack Lee and Jihoon Yang and Sung-Yong Park, Discovery of Hidden Similarity on Collaborative Filtering to Overcome Sparsity Problem, Discovery Science, 2007.
# Collaborative Recommendations Using Item-to-Item Similarity Mappings Archived 2015-03-16 at the Wayback Machine
# Ricci, Francesco; Rokach, Lior; Shapira, Bracha (2022). "Recommender Systems: Techniques, Applications, and Challenges". In Ricci, Francesco; Rokach, Lior; Shapira, Bracha (eds.). *Recommender Systems Handbook* (3 ed.). New York: Springer. pp. 1–35. doi:10.1007/978-1-0716-2197-4_1. ISBN 978-1-0716-2196-7.
# Zhao, Xiangyu; Wang, Maolin; Zhao, Xinjian; Li, Jiansheng; Zhou, Shucheng; Yin, Dawei; Li, Qing; Tang, Jiliang; Guo, Ruocheng (2023). "Embedding in Recommender Systems: A Survey". arXiv: .
# Aggarwal, Charu C. (2016). *Recommender Systems: The Textbook*. Springer. ISBN 978-3-319-29657-9.
# Peter Brusilovsky (2007). ''*. Springer. p. . ISBN 978-3-540-72078-2.
# Wang, Donghui; Liang, Yanchun; Xu, Dong; Feng, Xiaoyue; Guan, Renchu (2018). "A content-based recommender system for computer science publications". *Knowledge-Based Systems*. 157: 1–9. doi:10.1016/j.knosys.2018.05.001.
# Blanda, Stephanie (May 25, 2015). "Online Recommender Systems – How Does a Website Know What I Want?". *American Mathematical Society*. Retrieved October 31, 2016.
# Adomavicius, G.; Tuzhilin, A. (June 2005). "Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions". *IEEE Transactions on Knowledge and Data Engineering*. **17** (6): 734–749. Bibcode:2005IDSO...17..734A. CiteSeerX 10.1.1.107.2790. doi:10.1109/TKDE.2005.99. S2CID 206742345.
# Rinke Hoekstra, The Knowledge Reengineering Bottleneck, Semantic Web – Interoperability, Usability, Applicability 1 (2010) 1, IOS Press
# Gomez-Uribe, Carlos A.; Hunt, Neil (December 28, 2015). "The Netflix Recommender System". *ACM Transactions on Management Information Systems''. **6** (4): 1–19. doi:10.1145/2843948.