Пређи на садржај

Системи за препоруку

С Википедије, слободне енциклопедије
Recommender system

Sistemi za preporuku (engl. recommender system; recommendation system) системи су чији је главни задатак да пруже кориснику информацију - препоруку о потенцијално занимљивом предмету. Популарност ових система нарочито је порасла задњих година повећањем количине информација које нас окружују, те дигитализацијом наше свакодневнице и појавом интернетских сервиса попут Фејсбука, Гугла, Амазона, Ибеја и Нетфликса.

Увод[уреди | уреди извор]

Порастом количине информација које нас окружују, појављује се потреба за издвајањем, филтрирањем и рангирањем корисних информација. Објекат препоруке могу бити: књига, музички албум, игра, филм, новост, итд. Главни задатак система за препоруку је да идентификује објекат (предмет) који је потенцијално користан или интересантан за одређену особу (корисника). У процесу идентификације систем мора предвидети корисност објекта, упоредити низ таквих корисности и одредити најбоље објекте на темељу тог поређења.

Проблем препоруĉивања може се формализирати на сљедећи наĉин. Нека је C скуп свих корисника, а С скуп свих објеката које је могуће препоручити. Тада се дефинише функција корисности која представља процену корисности у објекта с за корисника ц:

При чему је Р уређени скуп, нпр. позитивних целих бројева у интервалу [1, 5] или реалних бројева. Тада за сваког корисника ц ∈ C тражимо објекат с' ∈ С који даје максималну вредност функције:

У системима за препоруку функција корисности се често приказује као ранг (оцена), која показује колико је одређеном кориснику занимљив одређени објекат. Нпр. корисник Петар Петровић је оценио филм Матриx оценом 8 (од 10). Сваки елемент из скупа корисика C може се описати корисничким профилом који садржи различите информације, карактеристичне за појединог корисника. Пример таквих информација су: доба, пол, приход, брачно стање, итд. Такође на сличан начин могу се описати елементи из скупа обеката. На примеру филмова те информације могу бити: име филма, жанр, трајање, попис глумаца, режисер, година издавања, итд.

Према начину одређивања препоруке, системи за препоруку могу бити:

  1. На основу садржаја (енгл. цонтент-басед[1])– препоручују објекте који су кориснику били занимљиви/корисни у прошлости.
  2. На основу сарадњи (енгл. цоллаборативе филтеринг[2]) – препоручују објекте на основу оцена које су други корисници сличних интереса дали појединим објектима.
  3. Хибридни[3] – као комбинација метода из претходна два система.

Системи за препоруку на основу садржаја[уреди | уреди извор]

Системи препоруке који су на основу садржаја, настоје кориснику препоручити објекте сличне објектима који су му били занимљиви у прошлости. Основа истраживања ових система налазе се у подручјима дохвата и филтрирања информација, при чему се најчешће користе методе за поређење неструктурираног текста.

Принцип рада овог система састоји се у изградњи „корисничког профила“ који садржи корисников интерес и склоности у облику атрибута. Атрибути тог профила се затим упоређују с атрибутима расположивих објеката, па се бирају они објекти с највећом сличности. За рачунање сличности користи се векторски просторни модел где се објекти (документи) приказују векторима у векторском простору. Векторски простор је одређен свим речима које се појављују у документу, тзв. речником колекције. Свака реч из речника колекције представља једну димензију векторског простора. Због тога за велике колекције докумената број димензија може бити изузетно велики. Одређена истраживања су ишла у смеру смањивања броја димензија. Фаб систем[4] за препоруку wеб страница разлаже wеб страницу на највише 100 кључних речи, док Паззанини и Биллсус предлажу представљање докумената с највише 128 кључних речи.

Предности система препоруке на основу садржаја су:

  • Независност о осталим корисницима
  • Транспарентност – на темељу својстава појединог објекта, могуће је јасно одредити зашто је одређени објекат препоручен.
  • Могућност препоручивања нових објеката који претходно нису били оцењени.

Главни недостаци ових система су:

  • Ограничена анализа садржаја – методе за извлачење знања довољно су добре за анализу текстуалних докумената, али не и мултимедијалног садржаја попут слика, звучних и видео записа, због чега је пожељно ручно класификовати ове објекте. Такође сама текстуална анализа, која се темељи на заступљености најважнијих речи, не може разликовати добро написане од лоше написаних чланака.
  • Претерана специјализација (енгл. оверспециализатион) – ови системи су у стању препоручити једино објекте који су слични постојећим занимљивим објектима. Што у завршници може резултовати давањем очигледних препорука и/или превидом потенцијално занимљиве препоруке. Пример система који препоручује ресторане, особи која је посећивала само кинеске ресторане неће препоручити (најбољи) италијански ресторан.
  • Проблем новог корисника – како би препорука била што боља, потребно је прикупити што већи број оцена. Тако да у случају новог корисника, систем не може дати прецизну препоруку.

Системи за препоруку на основу сарадњи[уреди | уреди извор]

Системи за препоруку на основу сарадњи

Системи препоруке на основу сарадњи препоручују кориснику објекте који су били занимљиви корисницима са сличним интересима (корисници са сличним укусом). Сличност у укусу између двоје корисника рачуна се на основу прошлих одабраних занимљивих објеката. Основна претпоставка система је да корисници који су имали сличан интерес (укус) у прошлости, има ће сличан интерес и у будућности.

За разлику од система препоруке на основу садржаја, систем препоруке на основу сарадњи могу препоручити различите врсте објеката који нису нужно слични објектима који су били занимљиви кориснику у прошлости.

Неки од главних недостатака систама препоруке на основу сарадњи су:

  • Проблем новог објекта – уколико нови објекат није довољно пута оцењен, ови системи га неће препоручивати.
  • Проблем новог корисника – Како би био у стању давати прецизне препоруке систем препоруке на основу корисничких оцена, најпре треба „научити“ корисничке склоности.
  • Недостатак препорука у случају слабо попуњене матрице оцена (енгл. спарситy[5]) – обично је код система препоуке број оцењених објеката мали у односу на оцене које систем треба предвидети, због чега је битно својство ефективне (квалитетне) препоруке за мали број расположивих оцена. У овим системима на квалитету оцена утиче број корисника који је оценио објекат, због чега одређени објекти које је оценио мали број корисника, неће бити препоручени, иако су они можда оцењени великим оценама. Што доводи до лошег квалитета препорука за кориснике са специфичним укусом.

Хибридни системи препоруке[уреди | уреди извор]

Хибридни системи се развијају како би се избегли главни недостатци појединачних система за препоруку, а настају као комбинација система препоруке на основу садржаја и сарадњи. Хибридни системи могу настати :

А. Повезивањем резултата препорука које дају системи препоруке на основу садржаја и сарадњи.

Један од приступа у развоју хибридног система је имплементација два (или више) одвојених система препоруке на основу садржаја и/или сарадњи. Такође у овом приступу могуће је користити само резултате одређеног система, зависно од „квалитета“ препорука која се добија анализом оцена које је корисник дао претходно препорученим објектима.

Б. Додавањем својстава система препоруке на основу садржаја у модел система препоруке на основу сарадњи (и обрнуто).

Одређени системи заснивају се на типичним методама система препоруке на основу сарадњи, али притом још за сваког корисника изграђују његов профил користећи принципе из метода система препоруке на основу садржаја. Приликом рачунања сличности између корисника не гледају се објекти које су корисници заједнички оценили, већ се упоређују кориснички профили. На овај начин је избегнут проблем различитости препорука. Такође у овом случају кориснику неће бити препоручивани само објекти с високом оценом других корисника сличног профила, већ и други објекти који су слични самом корисничком профилу.

Мелвилле, Моонеy и Нагарајан Архивирано на сајту Wayback Machine (23. мај 2014) предлажу садржајно помогнут алгоритам сарадње који за класификацију користи Бејсов класификатор (енгл. наиве Баyес цлассифиер[6]) на темељу којег се попуњавају празна места у матрици оцењених објеката. Корисничке препоруке се затим рачунају из добијене псеудо матрице оцена, кориштењем тежинског Пеарсоновог корелацијског алгоритма (који даје већу тежину објектима које је оценио већи број корисника). Овај приступ такође решава проблем различитости препоруке, те проблеме новог објекта или новог корисника – тзв. проблем хладног старта (енгл. цолд старт проблем[7]).

Све хибридне системе карактерише становита сложеност, као и увођење додатних параметара у модел, уз помоћ којих се настоје избећи сви недостаци и мањкавости „једноставнијих“ система на основу садржаја и сарадњи.

Приватност података[уреди | уреди извор]

Да би генерисали тачне персонализоване препоруке, системи за препоруку се ослањају на детаље личних података о преференцијама корисника. Примери су оцене, сагледавање историје онога што корисник воли и лични профили. Системи препоруке су корисни, међутим ризици везани за приватност при прикупљању и обради личних података често се потцењују или игноршу. Многи корисници нису довољно свесни, колико је њихових података прикупљено, и да ли се њхови подаци продају трећим лицима, или се безбедно чувају и колико дуго.[8]

Филтер Буббле[уреди | уреди извор]

Ели Парисер

Филтер Буббле је резултат стања у коме вебсајт алгоритам селективно нагађа које информације корисник жели да види на основу информација о кориснику (као што су локација, сеарцх историје) и, као резултат тога, корисници постају одвојени од информације које се не слаже са њиховим ставовима, ефикасно их изолује у својим културним или идеолошким мехурићима. Први примери тога су персонализоване Гугл-ове претраге. Термин је измислио Интернет активиста Ели Парисер у својој књизи истог имена ; „аццординг то Парисер” , корисници добијају мању изложеност супротстављању ставова и изоловани су у свом информационом мехуру. Парисер повезује пример у којем један корисник у Гугл-овој претрази укуца " БП " и добија као резултат инвестиционе вести о Бритисх Петролеум, док је други корисник добио као резултат информације о Деепwатер Хоризон оил спилл. Овај пример показује да су резултати претраге "упадљиво другачији".[9]

Могући смерови даљих истраживања[уреди | уреди извор]

Истраживање које се бави системима препоруке је веома широко подручје и на њему су направљени бројни помаци. Откривене су различите нове методе на основу сарадњи и садржају, као и хибридном приступу. Упркос свим напретцима, потребна су додатна побољшања метода за препоручивање како би оне биле још боље и имале ширу могућност примене.

Додатна побољшања обухватају побољшавање метода које моделују кориснике (корисничке профиле) и објекте препоруке, коришћењем напреднијих метода из подручја извлачења знања секвенци те препознавања узорка из тока података. Затим увођењем могућности давања препорука из аспекта различитих критеријума (енгл. мултицритериа ратингс[10]). Пример, давање препоруке ресторана на основу критеријума квалитете услуге, хране и уређења ресторана.


Приликом израде препорука често није довољно узимати у обзир само информације о објекту препоруке и кориснику за којег се израђује препорука. Понекад је потребно уградити контекстну информацију у сам процес препоручивања како би се кориснику препоручио објекат зависно о одређеним околностима. Пример, за препоруку о туристичкој дестинацији зависно о временском контексту, добијају се различити резултати за различита годишња доба (нпр. за зиму и лето). Увођење контекстне информације је пример додатног проширења система за препоруку те је такође предмет истраживања.


Велик број система за препоруку, пре него што су у стању новом кориснику дати препоруку, морају експлицитно од корисника затражити да оцени неколико објеката. Често то може бити и неколико десетака објеката, па се овакво „понашање“ система сматра наметљивим (енгл. интрусивенесс) те се настоји чим више смањити. Један од фокуса истраживања је и смањивање наметљивости ових система, где се настоји пронаћи оптималан број оцена које је потребно дати, како би систем задржао одређену ниво прецизности.


Одређена истраживања усмерена су ка детекцији и спречавању напада у системима препоруке на основу садржаја. Злонамерни корисници разним методама настоје утицати на исходе препорука, због чега потребно уложити додатне напоре у истраживање како би системи постали што робуснији и отпорнији на овакве нападе.


Посебно изазовно и занимљиво представља вредновање и побољшавање стварних система који се користе у пракси што подразумева обрађивање врло великих скупова корисника и предмета, те послуживање неколико милиона корисника с великим бројем квалитетних препорука у стварном времену.

Види још[уреди | уреди извор]

Референце[уреди | уреди извор]

Литература[уреди | уреди извор]

Спољашње везе[уреди | уреди извор]