# वर्गीकरण, Routing और Few-Shot Labelling — Embeddings और Vector Search

Source: https://www.geekswithgeeks.com/hi/embeddings/u-classify

> सस्ते, तेज़ classifiers के लिए embeddings को features की तरह उपयोग करें।

## Vectors के ऊपर छोटा classifier

Embeddings पाठ वर्गीकरण को सरल समस्या बना देते हैं। Labelled उदाहरण embed करें और vectors पर हल्का classifier (logistic regression, k-nearest neighbours) प्रशिक्षित करें: इसे scratch से पाठ मॉडल प्रशिक्षित करने से कहीं कम labels चाहिए, यह माइक्रोसेकंड में चलता है, और दोबारा प्रशिक्षित करना आसान है। शून्य-प्रशिक्षण रूप है **nearest-prototype routing**: प्रति श्रेणी कुछ उदाहरण वाक्य embed करें, उनका औसत **centroid** बनाएँ, और नए पाठ को निकटतम centroid से जोड़ें, ऐसी similarity सीमा के साथ जिसके नीचे उत्तर "अज्ञात / मनुष्य को भेजें" है। यह intent routing, tagging और triage के लिए अच्छा चलता है। Held-out उदाहरणों पर confusion matrix से प्रति श्रेणी सटीकता जाँचें, और उन श्रेणियों पर नज़र रखें जिन्हें embedding अलग नहीं करता।

## Nearest-centroid routing (उदाहरण)

मानता है कि `embed()` इकाई vectors लौटाता है; यहाँ चलाया नहीं गया क्योंकि इसे असली embedding model चाहिए।

```python
import numpy as np

examples = {
    "billing":   ["I was charged twice", "refund my invoice"],
    "technical": ["the app crashes on start", "cannot log in"],
}
centroids = {}
for label, texts in examples.items():
    c = np.mean([embed(t) for t in texts], axis=0)
    centroids[label] = c / np.linalg.norm(c)

def route(text, threshold=0.45):
    v = embed(text)
    label, score = max(((l, float(v @ c)) for l, c in centroids.items()), key=lambda x: x[1])
    return label if score >= threshold else "unknown"          # below threshold: send to a human
```

**Quiz:** Nearest-centroid routing में similarity सीमा क्यों रखें?

- [ ] Embeddings से बचने के लिए
- [ ] Vectors लंबे करने के लिए
- [x] ताकि विषय-बाह्य इनपुट ज़बरदस्ती ग़लत label की जगह "अज्ञात" बनें
- [ ] प्रशिक्षण तेज़ करने के लिए

*Answer:* ताकि विषय-बाह्य इनपुट ज़बरदस्ती ग़लत label की जगह "अज्ञात" बनें. Nearest-neighbour तरीक़े हमेशा कुछ लौटाते हैं; सीमा विरत रहने देती है।
