Embedding — so‘z, token, rasm, user, mahsulot, document yoki boshqa obyektni ko‘p o‘lchamli sonli vektor sifatida ifodalovchi o‘rganilgan representation. Embedding o‘xshash ma’no yoki behaviorga ega obyektlarni vector space’da bir-biriga yaqin joylashtirishga intiladi.
Embedding qidiruv, recommendation, classification, clustering, RAG va neural networklarda input representation sifatida keng qo‘llanadi.
Discrete obyekt
Kompyuter uchun so‘z yoki product ID diskret belgi.
Masalan:
"python"
"django"
"postgresql"
Ular orasidagi ma’no oddiy ID raqamidan bilinmaydi.
Embedding har birini dense vectorga aylantiradi.
Vector representation
Embedding misoli:
python → [0.18, -0.42, 0.73, ...]
Dimension o‘nlab, yuzlab yoki minglab bo‘lishi mumkin.
Har alohida coordinate’ning inson tushunadigan aniq ma’nosi bo‘lishi shart emas.
Ma’no vektorlar orasidagi umumiy geometry’da ifodalanadi.
Embedding matrix
Token embedding layer vocabularydagi har token uchun bitta vector saqlaydi.
Matrix o‘lchami:
vocabulary_size × embedding_dimension
Token ID matrixdan tegishli qatorni tanlaydi.
Training gradient orqali vectorlar yangilanadi.
Sparse va dense representation
One-hot vector vocabulary uzunligida bo‘lib, faqat bitta qiymati 1.
U sparse va similarity ma’lumotini bermaydi.
Embedding kichikroq dense vector.
U semantic va statistical relationshiplarni o‘rganishi mumkin.
Word embedding
Klassik word embedding usullari:
- Word2Vec;
- GloVe;
- FastText;
- matrix factorization.
Ular so‘z contextiga tayanib vector o‘rganadi.
Bitta so‘z odatda bitta static vectorga ega.
Contextual embedding
Transformer modelida token embedding layerlardan o‘tib contextga bog‘liq representation oladi.
Masalan, “bank” so‘zi moliya va daryo qirg‘og‘i gaplarida boshqa vectorga ega bo‘ladi.
Bu polysemy muammosini yaxshiroq boshqaradi.
Sentence embedding
Butun gap yoki paragraph bitta vectorga aylantiriladi.
Usullar:
- special token representation;
- mean pooling;
- max pooling;
- trained sentence encoder;
- contrastive learning.
Semantic search query va document embeddinglarini solishtiradi.
Document embedding
Uzun document:
- chunklarga bo‘linishi;
- har chunk embed qilinishi;
- pooled representation;
- hierarchical model
orqali ifodalanadi.
Bitta vector butun documentdagi barcha mayda detailni saqlamaydi.
Retrieval vazifasi uchun chunk darajasi muhim.
Image embedding
Vision model rasmni vector representationga aylantiradi.
O‘xshash object, scene yoki style yaqin joylashishi mumkin.
Multimodal model text va image embeddinglarini bir space’da o‘rgatadi.
Shunda text query bilan rasm qidirish mumkin.
User va item embedding
Recommendation tizim user va itemlarni vector sifatida o‘rganadi.
User vectori preference, item vectori xususiyatlarni ifodalashi mumkin.
Dot product yoki boshqa score interaction ehtimolini beradi.
Cold-start holatda yangi user yoki item uchun feature kerak.
Similarity
Embeddinglar orasidagi o‘xshashlik:
bilan o‘lchanadi.
Model qaysi objective bilan o‘qitilgan bo‘lsa, retrievalda shu metric mos ishlatiladi.
Cosine similarity
Cosine ikki vector orasidagi burchakni o‘lchaydi.
Magnitude’dan ko‘ra directionga e’tibor beradi.
Normalized vectorlarda dot product cosine’ga teng bo‘lishi mumkin.
Threshold dataset va vazifaga qarab tanlanadi.
Contrastive learning
Positive pairlar yaqin, negative pairlar uzoq bo‘lishga o‘rgatiladi.
Positive misollar:
Hard negative modelni nozik farqlarni o‘rganishga majbur qiladi.
Dimensionality
Katta dimension ko‘proq capacity beradi, ammo:
xarajatini oshiradi.
Dimension model trainingida belgilanadi.
Keyin oddiy kesish semantic sifatni buzishi mumkin.
Vector database
Millionlab embeddinglar approximate nearest-neighbor indexda saqlanadi.
Query embedding orqali yaqin vectorlar topiladi.
Metadata filter, tenant va permission retrievalga qo‘shiladi.
Vector similarity authorizationni almashtirmaydi.
Embedding drift
Model yangilanganda bir xil text boshqa vector olishi mumkin.
Eski va yangi embeddinglarni bitta indexda aralashtirish search sifatini pasaytiradi.
Model versioni metadata’da saqlanadi.
Migrationda barcha documentlar qayta embed qilinadi yoki alohida index ishlatiladi.
Bias
Embedding training data’dagi stereotype va biasni o‘rganishi mumkin.
Similarity va recommendationda bu noto‘g‘ri association yaratadi.
Evaluation turli til, guruh va domain bo‘yicha bajariladi.
Sensitive qaror faqat embedding scorega tayanmaydi.
Privacy
Embedding raw matn emas, ammo undan ma’lum attribute yoki training data haqida signal chiqarish mumkin.
Sensitive document vectori ham himoyalanadi.
Access control, encryption, tenant isolation va retention qo‘llanadi.
Negative sampling
Katta vocabulary yoki item to‘plamida barcha mumkin bo‘lmagan juftliklarni hisoblash qimmat. Negative sampling faqat tanlangan manfiy misollar bilan objective’ni yaqinlashtiradi. Juda oson negative modelga kam signal beradi, juda qiyin yoki noto‘g‘ri negative esa haqiqiy o‘xshash obyektlarni uzoqlashtirishi mumkin.
Hard negative
Queryga juda o‘xshash, ammo relevant bo‘lmagan document hard negative hisoblanadi. Masalan, bir xil termin ishlatilgan, lekin boshqa productga tegishli sahifa. Reranker yoki retrieval modeli nozik farqni o‘rganadi. Hard negative source’i va label sifati muhim.
Pooling
Token representationlardan sentence vector olishda mean, max yoki maxsus token pooling ishlatiladi. Padding tokenlar mean hisobiga qo‘shilmaydi. Model qaysi pooling bilan o‘qitilgan bo‘lsa, inference’da shu usul saqlanadi.
Embedding cache
Ko‘p takrorlanadigan query embeddingi cache qilinishi mumkin. Model versioni va normalization cache keyga kiradi. User-specific sensitive query umumiy cache’da saqlanmaydi.
Bog‘liq tushunchalar
Vector embedding, Vector space, Semantic similarity, Sentence embedding, Word2Vec, Contextual embedding, Cosine similarity, Vector database, Contrastive learning, Retrieval