POGOVORNI PRIPOROČILNI SISTEM Z NADZOROVANO RAZNOLIKOSTJO - ZUPANIČ, PETER (2016)
Priporočilni sistem je običajno skupek elementov programske kode, ki s filtriranjem informacij išče oceno ali preferenco, ki bi jo uporabnik dodelil nekemu produktu. Takšni sistemi za uspešno delovanje običajno potrebujejo veliko podatkov o različnih uporabnikih in produktih. Priporočilni sistem s pomočjo zgodovine uporabnikovih dejanj predvideva, kaj je uporabniku všeč in kaj mu ni všeč. S pogostejšo rabo priporočilnega sistema se izpopolnjuje profil uporabnika in posledično izboljšujejo sami rezultati [1]. Za primer lahko vzamemo filmski priporočilni sistem. Takšne priporočilne sisteme uporabljajo spletne storitve, kot sta npr. Netflix [2] in IMDb [3]. Te spletne storitve shranjujejo podatke o filmih, ki so si jih ogledali njihovi uporabniki. Za določenega uporabnika lahko tako z analizo podatkov predvidijo, kateri filmi mu bodo všeč in kateri ne. Uporabniku nato priporočijo filme, za katere so predvideli, da mu bodo všeč. S tem izboljšajo celotno uporabniško izkušnjo, saj tako več uporabnikov najde filme po svojem okusu. Uporabnikova zavrnitev ali sprejem predlogov predstavlja dodatno povratno informacijo, ki pripomore k izboljšanju priporočil samega sistema. Priporočilni sistemi se pogosto srečujejo s problemi, kot npr. ozek nabor priporočenih produktov, ki so si med seboj zelo podobni. Sistemi namreč takšne nabore pogosto priporočijo uporabnikom zaradi pomanjkanja podatkov, hladnega zagona (problem, ki se pojavi ob zagonu oz. postavitvi novega sistema, ki še nima dovolj podatkov za izračun primernih priporočil) ali prevelike oz. neustrezne natančnosti. Priporočila z majhno skupinsko raznolikostjo so nezaželena, saj se redkokateri uporabnik zanima zgolj za zelo podobne izdelke. Vzrok za problem premajhne raznolikosti je v metrikah uspešnosti priporočilnih sistemov, ki običajno merijo le razliko med napovedanimi ocenami produktov in ocenami, ki jih je podal uporabnik. Manjša kot je ta razlika, bolj natančna so priporočila. Ker je cilj priporočilnih sistemov izračun čim bolj natančnih priporočil, se s približevanjem temu cilju lahko hitro zmanjša raznolikost priporočil. Tako bi v primeru priporočanja počitniških paketov sistem lahko priporočil 5 podobnih paketov na isti lokaciji, ki se med seboj razlikujejo le v izbiri vrste prenočišča. Takšna priporočila so lahko zelo natančna glede na uporabnikovo zgodovino, a za izbiro počitnic verjetno neuporabna. Bolj primerna bi bila priporočila 5 počitniških paketov na različnih lokacijah, kjer bi se uporabnik odločil, katera mu je bolj všeč, in šele nato zahteval več podatkov o lokacijah, ki bi mu bile zanimive [4]. V tem magistrskem delu smo predlagali zasnovo priporočilnega sistema, pri katerem bi se z uporabo različnih algoritmov in s pomočjo prilagojenih metrik merjenja uspešnosti izognili temu problemu. Izvedli smo tudi eksperiment, kjer smo opazovali razmerje med raznolikostjo priporočenih produktov in zadovoljstvom uporabnikov. Za izvedbo eksperimenta smo izdelali pogovorni priporočilni sistem z nadzorovano raznolikostjo. Naš sistem temelji na že obstoječem priporočilnem sistemu Laboratorija za uporabniku prilagojene komunikacije in ambientno inteligenco. Eksperiment je potekal tako, da smo uporabnikom prikazali več priporočil z nadzorovano notranjo raznolikostjo, ob tem pa jih prosili za povratno informacijo o zadovoljstvu s skupino priporočenih produktov. V našem eksperimentu je sodelovalo 38 uporabnikov, ki so skupaj oddali 190 ocen raznolikosti skupin filmov in kakovosti priporočil. Na ocenah, ki so jih oddali uporabniki, smo izvedli analizo s pomočjo statističnih metod in ugotovili, da so naši rezultati statistično značilni pri 5-odstotnem tveganju. Zbrani eksperimentalni rezultati kažejo, da so uporabnikom bolj všeč priporočila z večjo skupinsko raznolikostjo. Vsekakor bi bilo eksperiment smiselno ponoviti z večjim številom sodelujočih uporabnikov in na različnih priporočilnih sistemih. Recommendation systems gather and filter information in order to provide users with products they might like. They use the user’s history of interactions with the system in order to recognize one’s preferences. The overall quality of recommendations usually improves with frequent system usage [1]. Web services, such as Netflix [2] and IMDb [3] both use recommendation systems for movies. They track user’s interactions and gather information about movies which one watched, liked or disliked. Later, they compare this information with other data in their database and prepare predictions which movies a user might prefer. The user’s rejection or approval of the recommended movie represents another piece of information on that user, which can improve the overall quality of recommendations. Recommendation systems often face problems of high similarity between recommended items. These systems recommend similar items due to the lack of data on users or products (cold start problem). The same issue also occurs due to the aim of recommendation systems to make accurate predictions. Very similar recommended products (small diversity) usually do not present any real value to the end user. The problem of low diversity between recommended products originates from the evaluation metrics of recommendation systems, where usually only the difference between the predicted rating for an item and the user’s real rating for it is measured. The smaller the difference, the better is the recommendation accuracy. For example, with the knowledge of user’s holiday preferences we can recommend 5 different holiday packages at the same location, as the prediction was that the user would like this location. These recommendations might be very accurate as they are based on user’s preferences and history, but they are probably useless for the user when choosing the holiday destination. Instead, we should recommend him 5 packages with different locations and give an option to choose the preferred location and request more details [4]. In this work, we propose a recommendation system which would use a combination of different recommendation algorithms and use the proposed evaluation metric in order to evade the diversity problem. Also, during an experiment we conducted, we evaluated the correlation between diversity in recommended items and user’s satisfaction. For this experiment, we created a conversational recommendation system with controlled diversity, which was based on a recommendation system of the User-adapted Communication and Ambient Intelligence Laboratory of the Faculty of Electrical Engineering at the University of Ljubljana. In the experiment, we showed users 5 sets of recommended items with controlled diversity and asked them for feedback, how they are satisfied with the recommended items. 38 users participated in the experiment and provided us with 190 ratings of diversity and quality for recommended sets of items. We analyzed this data statistically and the results are statistically significant at the risk of 5 percent. The result is that users prefer recommended items with increased diversity. However, we recommend repeating the experiment on a bigger group of participants (larger sample) and on different recommendation systems.