चरण 2: एम्बेडिंग्स और सिमेंटिक सर्च

कीवर्ड सर्च तब विफल हो जाता है जब शब्द बिल्कुल मेल नहीं खाते।

यदि किसी रिज्यूमे में "team management" लिखा है और जॉब डिस्क्रिप्शन में "leadership" की मांग की गई है, तो एक बेसिक सर्च शून्य परिणाम देता है। शब्द अलग हैं, लेकिन अर्थ एक ही है।

चरण 2 एम्बेडिंग्स और सिमेंटिक सर्च का उपयोग करके इस समस्या का समाधान करता है।

यह कैसे काम करता है:

• टोकनाइज़ेशन (Tokenization): कंप्यूटर शब्दों को नहीं पढ़ते। वे नंबर पढ़ते हैं। एक टोकनाइज़र टेक्स्ट को छोटे टुकड़ों में तोड़ता है जिन्हें टोकन कहा जाता है और उन्हें Token IDs में बदल देता है। सामान्य शब्द एक टोकन बन जाते हैं। दुर्लभ शब्द कई टोकन में टूट जाते हैं।

• एम्बेडिंग्स (Embeddings): एक Token ID केवल एक लेबल है। एम्बेडिंग लेयर उस ID को एक वेक्टर (vector) में बदल देती है। वेक्टर नंबरों की एक लंबी सूची होती है जो अर्थ को दर्शाती है। एक नंबर के बजाय, एक मॉडल किसी अवधारणा (concept) का वर्णन करने के लिए कई आयामों (dimensions) का उपयोग करता है।

• आयाम (Dimensions): इन नंबरों को निर्देशांक (coordinates) के रूप में सोचें। एक आयाम "frontend vs backend" को दर्शा सकता है। दूसरा "web vs systems" को दर्शा सकता है। हाई-डायमेंशनल वेक्टर्स मॉडल को गणितीय स्थान (mathematical space) में "React" और "JavaScript" को एक-दूसरे के करीब रखने की अनुमति देते हैं।

• सिमेंटिक सर्च (Semantic Search): जब आप कोई प्रश्न पूछते हैं, तो सिस्टम आपके प्रश्न को एक वेक्टर में बदल देता है। फिर यह आपके वेक्टर की तुलना आपके संग्रहीत दस्तावेज़ों के वेक्टर्स से करता है।

• कोसाइन सिमिलरिटी (Cosine Similarity): यह दो वेक्टर्स के बीच के कोण को मापता है। यदि वेक्टर्स एक ही दिशा में इशारा करते हैं, तो वे समान होते हैं। यह सिस्टम को "resignation requirements" खोजने की अनुमति देता है, भले ही आपने केवल "notice period" खोजा हो।

प्रोडक्शन के लिए मुख्य सबक:

  • वेक्टर डेटाबेस (Vector Databases): लाखों वेक्टर्स को खोजना धीमा होता है। Pinecone या Qdrant जैसे डेटाबेस मिलीसेकंड में निकटतम पड़ोसियों (nearest neighbors) को खोजने के लिए इंडेक्सिंग का उपयोग करते हैं।
  • मॉडल माइग्रेशन (Model Migrations): प्रत्येक एम्बेडिंग मॉडल एक अलग गणितीय स्थान का उपयोग करता है। आप OpenAI वेक्टर की तुलना Cohere वेक्टर से नहीं कर सकते। यदि आप मॉडल बदलते हैं, तो आपको अपने सभी डेटा को फिर से एम्बेड (re-embed) करना होगा।
  • लागत बनाम ROI: लाखों चंक्स (chunks) को फिर से एम्बेड करना महंगा है। कंपनियां अक्सर पुराने मॉडलों के साथ ही रहती हैं जब तक कि सटीकता में वृद्धि माइग्रेशन लागत को उचित न ठहरा दे।
  • अपने रॉ टेक्स्ट चंक्स (raw text chunks) को हमेशा स्टोर करें। यदि आप बाद में अपने मॉडल को अपग्रेड करते हैं, तो आप नए वेक्टर बनाने के लिए पुराने टेक्स्ट का उपयोग कर सकते हैं।

चरण 2 वह जगह है जहाँ बुद्धिमत्ता (intelligence) काम करती है।

स्रोत: https://dev.to/surajrkhonde/phase-2-embeddings-semantic-search-3lco

वैकल्पिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi