առաջարկությունների համակարգի ուրվագիծ
Վարկանիշային համակարգի հիման վրա համագործակցության ֆիլտրման օրինակ
Առաջարկման համակարգ
**Առաջարկման համակարգեր** (անգլ.՝ Recommender system) ալգորիթմների, ծրագրերի և ծառայությունների համալիրներ են, որոնց հիմնական խնդիրն է կանխատեսել, թե որ առարկաները (ապրանքները կամ ծառայությունները) հետաքրքրիր կլինեն օգտագործողին՝ տեղեկություններ ունենալով նրանց պրոֆիլի կամ այլ տվյալների մասին։

Առաջարկող համակարգերը համեմատում են օգտագործողի կողմից նախկինում գնահատված ապրանքները և առաջարկում են լավագույնս համապատասխանող իրեր։

Ներածություն
------------

Ժամանակակից ինտերնետային տարածքը օգտագործողին տրամադրում է հսկայական տեղեկատվություն, որը գնալով ավելի բարդ է դառնում որոնելու համար։ Անհնար է թերթել բոլոր նյութերը `ընտրելու համար ճիշտը ձեզ համար։ Այս պատճառով, սկսեցին հայտնվել , այսպես կոչված, առաջարկությունների համակարգեր, որոնք ուղղված են այնպիսի տեղեկությունների տրամադրմանը, որոնք առավելագույնը բավարարում են օգտագործողի շահերին։

Վերջին տասնամյակներում առաջարկող համակարգերը ավելի ու ավելի շատ տեղ են գրավում մեր կյանքում՝ Էլեկտրոնային առևտրից ( գնորդներին առաջարկել այնպիսի հոդվածներ, որոնք կարող են հետաքրքրել նրանց) մինչև առցանց գովազդ(օգտագործողներին առաջարկել ճիշտ բովանդակություն, համապատասխանեցնելով նրանց նախասիրություններին)։

Առաջարկվող համակարգերը նաև շատ կարևոր են որոշ արդյունաբերություններում, քանի որ դրանք կարող են հսկայական եկամուտ առաջացնել, երբ դրանք արդյունավետ են, կամ նաև մրցակիցներից էականորեն առանձնանալու միջոց են։

Պատմություն
-----------

Առաջին սարքավորումը, որը փորձեց հաշվի առնել օգտագործողների նախասիրությունները, Tivo թվային տեսաձայնագրիչն էր, որը հայտնվեց 1990-ականների վերջին։ Այն վաճառվում էր այնպիսի ֆիրմաների կողմից, ինչպիսիք են Սոնին և Philips-ը։ Այն ժամանակ բոլոր հեռարձակվող հեռահաղորդակցությունների համար չկային կառուցվածքային լավ նկարագրություններ, և բարդ հաշվարկների համար օգտագործող սարքերի հզորությունը նույնպես բավարար չէր։

Եթե երկու տարբեր TiVo սարքերի վրա հեռուստադիտողները սովորաբար ընտրում էին նույն ծրագրերը, և ապա առաջին օգտագործողը սկսեց պարբերաբար դիտել նոր հեռուստաշոու, ապա այդ հեռուստաշոուն առաջարկվում էր նաև երկրորդ օգտագործողին:Առավելությունն այն էր, որ սարքը կարողանում էր գտնել, համեմատել նույն ճաշակն ունեցող հանդիսատեսին, և սարքը չէր ծանրաբեռնվում այլ համակարգչային հնարավորություններով։ Այս սարքավորման պարզունակությունը շատ հետևորդներ հավաքեց։ Բայց Tivo-ն երբեմն չէր կարողանում ճիշտ որոշել օգտագործողի իրական հետաքրքրությունները։ Այդ պատճառով փորձ կատարվեց ավելի ճշգրտել ինֆորմացիան։ Նեթֆլիքսը դարձավ հայտի չեմպիոն, որը DVD-ի վարձույթով զբաղվող բիզնեսի համար ներգրավեց մշակողների մի խումբ և տարեցտարի հասավ բոլոր լավագույն արդյունքներին։ 2006-ից մինչև 2009 թվականը Նեթֆլիքսը հովանավորեց մրցույթ՝ թիմին առաջարկելով 1000,000 ԱՄՆ դոլարի մեծ մրցանակ, որը կարող էր վերցնել առաջարկվող տվյալների բազա՝ ավելի քան 100 միլիոն կինոնկարների վարկանիշներով և վերադարձնել առաջարկություններ, որոնք 10% -ով ավելի ճշգրիտ էին, քան ընկերության առաջարկած համակարգը։ Այս մրցակցությունը աշխուժացրեց նոր և ավելի ճշգրիտ ալգորիթմների որոնումը։

Այնուհետև սկսվեց Խնդրի լուծման նոր մոտեցումների մշակում։ Գործընթացում հայտնվեցին նոր ընկերություններ, մասնավորապես՝ Jinni Archived 2015-06-28 at the Wayback Machine.- ն և Aprico- ն,որոնք գիտակցեցին, որ երաշխավորված բովանդակության մասին ինֆորմացիան կարող է լուրջ հիմք հանդիսանալ օգտատիրոջ հետաքրքրությունների վերաբերյալ։

Նեթֆլիքսը միանգամից բարձր գնահատեց նկարագրությունների իմաստաբանական վերլուծության հեռանկարները և կրկին որոշեց ստանձնել սեփական զարգացումը։ Jinni-ի նման նրանք սկսեցին ստեղծել իրենց կատալոգում ֆիլմերի նկարագրություններ և դասակարգիչներ։ Սակայն այս մոտեցումը ևս ուներ մի շարք խնդիրներ, քանի որ այն ողջամիտ և հիմնավորված էր միայն այն դեպքում, եթե վիդեո գրացուցակը համեմատաբար փոքր էր և դանդաղ էր աճում։

Այս ամենի հիման վրա հետազոտողները ստացան հստակ տեղեկություններ, թե ինչ տեսքով են օգտատերերը ուզում ստանալ առաջարկությունները, ինչպես են արձագանքում և ինչ հետադարձ կապ են առաջարկում։ Եվ պարզվեց, որ ոչ մի հստակ առաջարկվող ալգորիթմ չի կարող լիովին բավարարել օգտատիրոջ պահանջները։ Օգտատերը ինքը պետք է խմբագրի առաջարկությունը, բովանդակությունը և գրի, թե ինչ է իրեն դուր գալիս և սարքը կբերի նմանատիպ տարբերակներ։ Այսպիսով մենք հասանք մի նոր փուլ, որում հիմնական դերը խաղում է համատեքստը, անմիջական մտադրությունները, հետաքրքրություններ և օգտատերի միջավայրը։

Նպատակը
-------

Առաջարկությունների համակարգերի նպատակը արդյունավետ ալգորիթմների ուսումնասիրությունը և մշակումն է, որոնք թույլ են տալիս ընտրել մեծ թվով օգտագործողների համար առաջարկություններ՝ իրենց նախասիրությունների վերաբերյալ, թերի կամ բացակայող տեղեկատվություն, ինչպես նաև այդպիսի ալգորիթմների միջոցով համակարգային ճարտարապետության մշակում։

Առաջարկող համակարգերի վերջնական նպատակը ընկերության վաճառքի բարձրացումն է։ Դա կատարելու համար առաջարկությունների համակարգերը պետք է ցուցադրեն կամ օգտագործողին տրամադրեն միայն բովանդակալից նյութեր։ *Charu C Aggarwal-* ը իր *առաջարկությունների համակարգերի* գրքում ամփոփում է առաջարկությունների շարժիչների ցանկալի նպատակները հետևյալ չորս կետերում.

* **Բազմազանություն** - Օգտագործողները հակված են գոհ լինել առաջարկներից, երբ առկա է ցուցակի ավելի մեծ բազմազանություն։
* **Առաջարկողի համառություն** - Որոշ իրավիճակներում ավելի արդյունավետ է առաջարկությունները կրկին ցուցադրել, կամ թույլ տալ, որ օգտագործողները նորից գնահատեն իրերը, քան նոր իրեր ցույց տալը։ Դրա համար կան մի քանի պատճառներ։ Օգտագործողները կարող են անտեսել այն իրերը, որոնք առաջին անգամ ցուցադրվում են, օրինակ, քանի որ ժամանակ չունեին ուշադիր ստուգելու առաջարկությունը։
* **Գաղտնիություն** - Հանձնարարական համակարգերը սովորաբար պետք է զբաղվեն գաղտնիության հարցերով քանի որ օգտագործողները պետք է բացահայտեն զգայուն տեղեկատվությունը։ Եվրոպական շատ երկրներ ունեն տվյալների գաղտնիության ուժեղ մշակույթ։
* **Օգտագործողի ժողովրդագրություններ** - Օգտագործողների ժողովրդագրությունը կարող է ազդել, թե որքանով են գոհ օգտվողները առաջարկություններից։ Պարզվեց, որ, օրինակ, տարեց օգտվողներին ավելի շատ են հետաքրքրում առաջարկությունները, քան երիտասարդներին։

Առաջարկող համակարգերի տեսակները
-------------------------------

### Համագործակցային զտում

Համագործակցային մոտեցումը ստեղծում է առաջարկներ՝ օգտագործողների շրջանում նմանություն գտնելով։ Ելնելով այն սկզբունքից, որ նմանատիպ օգտագործողները կարող են նույն տարրին տալ նույն գնահատականը, ալգորիթմը օգտագործողին տրամադրում է այլ օգտվողների կողմից առավելագույն գնահատականներ ստացած տարրերը։ Եթե, օրինակ,A և B օգտագործողները ունեն նմանատիպ կինոնկարի նախասիրություններ, և A- ն վերջերս դիտել է Titanic-ը, որը օգտվող B- ն դեռ չի տեսել, ապա գաղափարն այն է, որ այս նոր ֆիլմը առաջարկել օգտվող B- ին։ Ամենատարածված խնդիրը, որը առաջանում է համագործակցային մոտեցումը կիրառելիս տեղի է ունենում, երբ նոր օգտվող է միանում է կայքին։ Համակարգը չի ունենում բավարար տեղեկատվություն սպառողի վերաբերյալ։ Նույն իրավիճակը տեղի է ունենում նաև , երբ կատալոգում նոր ապրանք է ավելացվում։

Կառուցելով ֆիլտրի համատեղ առաջարկությունների համակարգեր, մենք կիմանանք հետևյալ ասպեկտների մասին.

* Ինչպե՞ս հաշվարկել օգտագործողների միջև նմանությունը։
* Ինչպե՞ս հաշվարկել իրերի միջև նմանությունը։
* Ինչպե՞ս են առաջարկվում առաջարկությունները։
* Ինչպե՞ս վարվել նոր իրերի և նոր օգտվողների հետ, որոնց տվյալները հայտնի չեն։

### Բովանդակության վրա հիմնված առաջարկող համակարգեր

Առաջարկող համակարգերի նախագծման մեկ այլ ընդհանուր մոտեցում է պարունակության վրա հիմնված ֆիլտրումը ։ Այս մեթոդը առավելագույնս հարմար է այն իրավիճակների համար, երբ կան հայտնի տվյալներ որևէ առարկայի (անուն, գտնվելու վայր, նկարագրություն և այլն), բայց ոչ օգտագործողի վերաբերյալ։

Այլ կերպ ասած, ալգորիթմները փորձում են առաջարկել արտադրանքներ, որոնք նման են այն ապրանքներին, որոնք օգտագործողին նախկինում դուր է եկել։ Բովանդակության վրա հիմնված ֆիլտրման գաղափարը հետևյալն է. եթե ձեզ դուր է գալիս որևէ ապրանք, ապա ձեզ դուր կգա նաև «նման» այլ ապրանք։ Օրինակ, երբ մենք առաջարկում ենք նույն տեսակի կինոնկար կամ երգ։

Այսպիսով, բովանդակության վրա հիմնված առաջարկող համակարգում օգտագործվող ալգորիթմներն այնպիսին են, որ օգտագործողներին առաջարկում են նմանատիպ իրեր, որոնք օգտագործողին նախկինում դուր է եկել կամ ներկայումս ուսումնասիրում է։

Բովանդակության վրա հիմնված առաջարկությունների համակարգ կառուցելիս հաշվի ենք առնում հետևյալ հարցերը.

* Ինչպե՞ս ենք ընտրում արտադրանքի բովանդակությունը կամ առանձնահատկությունները։
* Ինչպե՞ս կարող ենք նմանություն ստեղծել իրերի միջև՝ ելնելով նրանց հատկություններից։
* Ինչպե՞ս ենք անընդհատ ստեղծում և թարմացնում օգտվողի պրոֆիլները։

### Ժողովրդագրական հիման վրա առաջարկող համակարգ

Այս համակարգը նպատակ ունի օգտագործողներին դասակարգել հատկանիշների հիման վրա և առաջարկություններ ներկայացնել ժողովրդագրական դասերի հիման վրա։ Բազմաթիվ արդյունաբերություններ այսպիսի մոտեցում են ցուցաբերել, քանի որ այն այդքան էլ բարդ և հեշտ չէ իրականացնել։ Ժողովրդագրական հիման վրա առաջարկող համակարգում ալգորիթմներին առաջին հերթին անհրաժեշտ են նշված տարածաշրջանում պատշաճ շուկայի ուսումնասիրություն կատարելու, տվյալների հավաքագրման համար։ Ժողովրդագրական մոտեցման առավելությունն այն է, որ այն չի պահանջում օգտագործողների վարկանիշների պատմություն, ինչպես է համատեղ և բովանդակության վրա հիմնված առաջարկող համակարգերում։

### Կոմունալ ծառայություններ առաջարկող համակարգ

Կոմունալ ծառայությունների հիման վրա առաջարկների համակարգը առաջարկություններ է անում `հիմնվելով օգտագործողի համար յուրաքանչյուր օբյեկտի օգտակարության հաշվարկի վրա։ Իհարկե, այս տեսակի համակարգի համար հիմնական խնդիրն այն է, թե ինչպես ստեղծել անհատական օգտվողներ։ Կոմունալ տնտեսության վրա հիմնված համակարգում յուրաքանչյուր արդյունաբերություն կունենա տարբեր տեխնիկա։ Այս առաջարկող համակարգն օգտագործելու հիմնական առավելությունն այն է, որ այն կարող է գործոնավորել ոչ ապրանքային հատկանիշները, ինչպիսիք են վաճառողի հուսալիությունը և ապրանքի մատչելիությունը կոմունալ հաշվարկների մեջ։

### Գիտելիքի հիման վրա առաջարկող համակարգ

Այս տեսակի առաջարկող համակարգը փորձում է օբյեկտներ առաջարկել օգտագործողի կարիքների և նախասիրությունների վերաբերյալ ենթադրությունների հիման վրա։ Գիտելիքի վրա հիմնված առաջարկությունն աշխատում է ֆունկցիոնալ գիտելիքների վրա. Նրանք գիտելիքներ ունեն այն մասին, թե ինչպես է նյութը բավարարում օգտագործողի կարիքին, և, հետևաբար, կարող են պատճառաբանել անհրաժեշտության և հնարավոր առաջարկության միջև փոխհարաբերությունների մասին։

### Հիբրիդային առաջարկությունների համակարգեր

Այս տեսակի առաջարկությունների շարժիչը կառուցված է տարբեր առաջարկությունների համակարգերի համատեղմամբ `ավելի ուժեղ համակարգ կառուցելու համար։ Միավորելով տարբեր առաջարկությունների համակարգեր, մենք կարող ենք մեկ համակարգի թերությունները փոխարինել մեկ այլ համակարգի առավելություններով և դրանով իսկ կառուցել ավելի ամուր համակարգ։ Վերջին հետազոտությունները ցույց են տալիս, որ համատեղ և բովանդակության վրա հիմնված առաջարկությունը համատեղելը կարող է լինել ավելի արդյունավետ։

Netflix- ը հիբրիդային առաջարկող համակարգերի օգտագործման լավ օրինակ է ։ Կայքում առաջարկություններ են արվում ՝ համեմատելով նման օգտագործողների դիտման և որոնման սովորույթները (այսինքն ՝ համատեղ ֆիլտրում), ինչպես նաև առաջարկելով այնպիսի ֆիլմեր, որոնք օգտագործողը բարձր է գնահատել (բովանդակության վրա հիմնված ֆիլտրում)։

Որոշ առաջարկող համակարգեր
-------------------------

Մեր առօրյա կյանքում առաջարկությունների որոշ օրինակներ են.

* **Amazon**

Amazon-ն օգտագործում է իր միլիոնավոր հաճախորդների տվյալները `պարզելու, թե որ իրերն են սովորաբար գնում միասին և դրա հիման վրա առաջարկություններ է անում։ Amazon.com- ի առաջարկությունները տրամադրվում են հստակ տրամադրված վարկանիշների, գնումների վարքի և զննման պատմության հիման վրա։

* **Linkedin**

Linkedin- ն օգտագործում է ձեր անցած փորձի, աշխատանքային ընթացիկ անվանումների և հաստատումների տվյալները `ձեզ համար հավանական աշխատանք առաջարկելու համար։

* **Նեթֆլիքս**

Երբ մենք գնահատում ենք ֆիլմ կամ տեղադրում ենք մեր նախասիրությունները Netflix- ում, այն օգտագործում է այս տվյալները և հարյուրավոր այլ բաժանորդների տվյալներ `ֆիլմեր և շոուներ առաջարկելու համար։

* **Ֆեյսբուք**

Առաջարկող համակարգերը, ինչպիսիք են Facebook- ը, ուղղակիորեն չեն առաջարկում արտադրանքներ, այլ նրանք խորհուրդ են տալիս կապեր։

Բացի այդ **Spotify, Youtube, IMDB, Trip Advisor, Google News** և շատ այլ հարթակներ շարունակաբար տալիս են առաջարկություններ `մեր կարիքները բավարարելու համար։

Եզրակացություն
--------------

Վերջին տարիներին զգալի առաջընթաց է արձանագրվել առաջարկությունների համակարգերի մշակման գործընթացը։ Որոշ համակարգեր գտել են գործնական կիրառություն առևտրի արդյունաբերության մեջ։ Այնուամենայնիվ, չնայած առաջընթացին, ժամանակակից սերնդի առաջարկությունների համակարգերը պահանջում են հետագա կատարելագործումներ` ավելի մեծ արդյունավետությամբ աշխատելու համար։ Այս աշխատանքում ուսումնասիրվել են առաջարկների ժամանակակից մեթոդներով բախվող տարբեր սահմանափակումներ, ինչպես նաև անհրաժեշտ բարելավումների վերանայում, որոնք պետք է դարձնեն առաջարկող համակարգերը ավելի արդյունավետ։ Նման բարելավումները ներառում են, ի թիվս այլոց, օգտագործողի և արտադրանքի բարելավման մոդելավորման, առաջարկությունների գործընթացում ենթատեքստային տեղեկատվության ներառմանը, բազմամակարդակ չափանիշների գնահատման հնարավորությանը, ավելի ճկուն և ավելի քիչ ինտրիգային առաջարկությունների առկայությանը։

Ծանոթագրություններ
------------------

1. ↑  Առաջարկության համակարգ (անգլ.)
2. ↑  Առաջարկման համակարգի պատմությունը
3. ↑  Առաջարկման համակարգի պատմությունը
4. 1 2  "Առաջարկման համակարգի տեսակները". Արխիվացված է the original 2019 թ․ նոյեմբերի 9-ին. Retrieved 2019 թ․ հոկտեմբերի 20. `{{cite web}}`: Unknown parameter `|dead-url=` ignored (`|url-status=` suggested) (help)
5. 1 2 3 4  Առաջարկվող համակարգի տեսակները

Արտաքին հղումներ
----------------

* Նեթֆլիքսի կայքը(չաշխատող հղում)
* Linkedin-i կայքը
* Spotify-i կայքը
* IMBD՝ ֆիլմերի և հեռուստահաղորդումների կայք
* Նեթֆլիքս մրցանակի մասին Archived 2006-12-10 at the Wayback Machine.

Գրականություն
-------------

* *Recommender Systems: The Textbook*
* Kim Aggarwal, Falk (2019). *Practical Recommender Systems:*.
* P. Aggarwal, Turney (2002). *Thumbs up or thumbs down?: semantic orientation applied to unsupervised classification of reviews:*.
* K. Aggarwal, Suresh (2016). *Building Recommendation Engines*.
* О. В. Aggarwal, Арбузова (2013). *Разработка и исследование алгоритмов для повышения эффективности интеллектуального анализа web-контента// реферат выпускной работы магистра Факультет вычислительной техники и информатики ДонНТУ:*.
* Е. В. Aggarwal, Котельников (2012). *Автоматический анализ тональности текстов на основе методов машинного обучения // Компьютерная лингвистика и интеллектуальные технологии: по материалам ежегодной международной конференции «Диалог»* (РГГУ ed.).
* М.В. Aggarwal, Клековкина (2011). *Метод классификации текстов по тональности, основанный на словаре эмоциональной лексики// Компьютерная лингвистика и интеллектуальные технологии: по материалам ежегодной международной конференции «Диалог»*.
* Y. Aggarwal, Koren (2009). *Collaborative Filtering with Temporal Dynamics*.
* W.P. Jones, G.W. Furnas Pictures of Relevance: Aggarwal (1987). *A Geometric Analysis of Similarity Measures. Journal of the American society for information science*.
* *Building a Recommendation System with R Kindle*
* *Recommender Systems Handbook*
* Deepak K. Agarwal, Bee-Chung Chen (2016). *Statistical Methods for Recommender Systems:*.
* Alexander Felfernig, Martin Stettinger, Marko Tkalčič, Лудовико Боратто (2018). *Group Recommender Systems: An Introduction:*.`{{cite book}}`: CS1 սպաս․ բազմաթիվ անուններ: authors list (link)
* Panagiotis Symeonidis, Yannis Manolopoulos, Dimitrios Ntempos (2014). *Recommender Systems for Location-based Social Networks:*.`{{cite book}}`: CS1 սպաս․ բազմաթիվ անուններ: authors list (link)