Bosh sahifa Wiki Recommendation

Recommendation

Recommendation — foydalanuvchi, kontekst va obyektlar haqidagi ma’lumot asosida mos mahsulot, maqola, video, musiqa, ish, kurs yoki boshqa elementlarni saralab tavsiya qiladigan tizim. Recommendation system foydalanuvchiga katta katalog ichidan qiziqishi ehtimoli yuqori bo‘lgan variantlarni topishga yordam beradi.

Tizim faqat “o‘xshash narsani ko‘rsatish” bilan cheklanmaydi. U relevance, diversity, novelty, availability, business qoida va xavfsizlikni birgalikda hisobga olishi mumkin.

User va item

Asosiy entitylar:

  • user — tavsiya oluvchi;
  • item — tavsiya qilinadigan obyekt;
  • interaction — click, view, purchase, like yoki boshqa signal.

User va item IDlari, metadata va tarix model inputiga aylanadi.

Explicit feedback

Foydalanuvchi bevosita baho beradi:

  • yulduz;
  • like;
  • dislike;
  • rating;
  • tanlangan preference.

Bu signal tushunarli, ammo barcha user feedback bermaydi.

Rating scale userlar orasida boshqacha ishlatilishi mumkin.

Implicit feedback

Xatti-harakatdan olingan signal:

  • ko‘rish;
  • click;
  • watch time;
  • scroll;
  • purchase;
  • skip;
  • save.

Bu ko‘p, ammo noaniq.

User itemni ko‘rmagani uni yoqtirmaydi degani emas.

Popularity baseline

Eng ko‘p ko‘rilgan yoki sotilgan itemlarni tavsiya qilish sodda baseline.

Yangi yoki anonymous user uchun foydali.

Biroq personalization kam va mashhur itemlar yanada ko‘p exposure oladi.

Category yoki region bo‘yicha popularity aniqlashtirilishi mumkin.

Content-based filtering

Item metadata va user tarixidagi content o‘xshashligiga tayanadi.

Masalan, user Python maqolalarini o‘qisa boshqa Python materiallari tavsiya qilinadi.

Featurelar:

  • category;
  • tag;
  • text embedding;
  • author;
  • price;
  • technical attribute.

Yangi item uchun ham ishlashi mumkin.

Collaborative filtering

O‘xshash userlar va interaction patternlaridan foydalanadi.

“Bu itemni ko‘rganlar yana nimani ko‘rgan” g‘oyasi.

Item metadata shart emas.

Katta interaction matrix sparse bo‘ladi.

Matrix factorization

User-item interaction matrix ikki past rankli matrixga ajratiladi.

Har user va item latent vector oladi.

Dot product preference score beradi.

Bias term user va itemning umumiy moyilligini hisobga olishi mumkin.

Nearest neighbor

User-user yoki item-item similarity hisoblanadi.

Item-based collaborative filtering productionda barqaror bo‘lishi mumkin.

Similarity cosine, Jaccard yoki interaction overlap bilan o‘lchanadi.

Katta katalogda approximate index kerak.

Neural recommendation

Deep model:

ni birlashtirishi mumkin.

Murakkab model ko‘p data va infrastructure talab qiladi.

Oddiy baseline bilan doim solishtiriladi.

Candidate generation

Millionlab itemdan birinchi bosqich yuzlab candidate tanlaydi.

Usullar:

  • collaborative retrieval;
  • vector search;
  • popularity;
  • follow graph;
  • category;
  • business source.

Candidate generation yuqori recallga intiladi.

Ranking

Ranker candidate’larni relevance score bo‘yicha tartiblaydi.

Input:

Ranking latency qat’iy bo‘lishi mumkin.

Re-ranking

Yakuniy ro‘yxatga qo‘shimcha qoidalar qo‘llanadi:

Faqat eng yuqori score bir xil itemlar bilan monoton ro‘yxat berishi mumkin.

Cold start

Yangi userda tarix yo‘q.

Yechimlar:

  • onboarding preference;
  • popularity;
  • context;
  • demographicni ehtiyotkor ishlatish;
  • session behavior;
  • exploration.

Yangi item uchun metadata va content embedding ishlatiladi.

Session-based recommendation

Login qilmagan yoki tez o‘zgaradigan intent uchun joriy session actionlari muhim.

Sequence model oxirgi clicklar asosida keyingi itemni bashorat qiladi.

Uzoq muddatli preference va joriy intent birlashtirilishi mumkin.

Exploration va exploitation

Exploitation eng yaxshi deb hisoblangan itemni ko‘rsatadi.

Exploration yangi yoki noaniq itemni sinaydi.

Faqat exploitation filter bubble yaratishi mumkin.

Bandit usullari reward va uncertainty’ni hisobga oladi.

Negative sampling

User interaction qilmagan barcha itemni trainingda ishlatish qimmat.

Tanlangan negative samplelar olinadi.

Random negative juda oson bo‘lishi mumkin.

Impression bo‘lgan, ammo click qilinmagan item kuchliroq negative signal, lekin position biasga ega.

Position bias

Ro‘yxat yuqorisidagi item ko‘proq click oladi.

Bu item sifati emas, exposure natijasi.

Training log position va impressionni saqlaydi.

Counterfactual yoki propensity weighting ishlatilishi mumkin.

Evaluation

Offline metriclar:

  • precision@k;
  • recall@k;
  • NDCG;
  • MAP;
  • hit rate;
  • coverage;
  • diversity.

Online:

  • CTR;
  • conversion;
  • watch time;
  • retention;
  • revenue;
  • complaint.

Offline yaxshi model online’da yomon bo‘lishi mumkin.

Filter bubble

Tizim faqat userning oldingi qiziqishiga o‘xshash content ko‘rsatsa yangi mavzu ko‘rinmaydi.

Diversity va serendipity tavsiyalarni boyitadi.

News va siyosiy contentda ijtimoiy ta’sir ham hisobga olinadi.

Privacy

Recommendation user behaviorini yig‘adi.

Data minimization, consent, retention, access va deletion boshqariladi.

Sensitive attribute bevosita yoki embedding orqali infer qilinishi mumkin.

Personalization transparent va controlga ega bo‘ladi.

Diversity

Ro‘yxatdagi barcha item bir category yoki bir authorga tegishli bo‘lsa userning tanlovi torayadi. Re-ranker pairwise similarityni kamaytirib, relevance’ni juda yo‘qotmasdan turli variantlar beradi. Diversity metric katalog coverage bilan birga kuzatiladi.

Freshness

News, vacancy yoki event recommendationida vaqt muhim. Eski item relevance score’i yuqori bo‘lsa ham amaliy qiymati qolmagan bo‘lishi mumkin. Decay, expiration va valid-through qoidasi rankingga kiradi.

Feedback loop

Tizim ko‘rsatgan itemlar ko‘proq interaction oladi va keyingi trainingda yanada kuchayadi. Exposure log va controlled exploration bu self-reinforcing loopni tahlil qilishga yordam beradi.

Bog‘liq tushunchalar

Recommendation system, Collaborative filtering, Content-based filtering, Matrix factorization, Ranking, Candidate generation, Cold start, Personalization, NDCG, User-item interaction