हर एनरिचमेंट जो कोई सिमैंटिक ID रिज़ॉल्व करती है, या तो आपके संगठन को पहले से ज्ञात किसी कॉन्सेप्ट का दोबारा उपयोग करती है या एक नया गढ़ती है। सिमैंटिक ID पेज वह जगह है जहाँ यह बढ़ती शब्दावली देखने लायक चीज़ बन जाती है: उसे ब्राउज़ करें, मापें कि दो प्रविष्टियाँ वास्तव में कितनी करीब हैं, हाथ से शब्द जोड़ें, उन नज़दीकी डुप्लिकेट को खोजें जो थ्रेशोल्ड से नीचे खिसक गए, जो अब नहीं चाहिए उसे हटाएँ, और पूरी चीज़ को किसी दूसरे एम्बेडिंग मॉडल पर ले जाएँ।
यह साइडबार में /semantic-ids पर मिलता है, और यह तभी उपयोगी है जब आपके संगठन के पास एक एम्बेडिंग मॉडल हो और कम से कम एक ऐसा स्कीमा हो जिसमें सिमेंटिक ID हो — कॉन्सेप्ट एनरिचमेंट से बनते हैं, इस पेज से नहीं।
हर रो एक कॉन्सेप्ट है: उसका कैनॉनिकल टेक्स्ट (वह पहचान टेक्स्ट जिसने उसे सबसे पहले बनाया), उसका कॉन्सेप्ट टाइप (वह स्पेस जिसमें वह रहता है — डिफ़ॉल्ट रूप से एंटिटी टाइप का नाम), कितने रिकॉर्ड उसका उपयोग करते हैं, और वह कब बनाया गया। ध्यान देने लायक एंट्री ढूँढने के लिए टेक्स्ट से, किसी भी संख्या में कॉन्सेप्ट टाइप से, या न्यूनतम उपयोग से फ़िल्टर करें; व्यू एक्सपोर्ट करें ठीक वही डाउनलोड करता है जो फ़िल्टर दिखा रहे हैं।

समानता केवल एक ही स्पेस के भीतर मापी जाती है। वेक्टर केवल एक ही कॉन्सेप्ट टाइप और एम्बेडिंग मॉडल के भीतर तुलना योग्य होते हैं। चयनित कॉन्सेप्ट के स्पेस से बाहर की पंक्तियाँ — दिखाती हैं, जिसका अर्थ है “तुलना योग्य नहीं” — कभी भी “0%” नहीं।
कभी-कभी डेटा आने से पहले ही आपको शब्दावली पता होती है — व्यंजनों, स्टेटस या प्रोडक्ट फ़ैमिली की सूची। क्यूरेट बार इसी सूची को टाइप करने के लिए ही बना है: एक बार इसे किसी concept type तक सीमित कर दें — यह scope पेज के पते में चला जाता है, इसलिए /semantic-ids/<concept type> सीधे उसी हिस्से का लिंक होता है — फिर वैल्यू टाइप करें → Check → Add दोहराते रहें। Enter जाँचता है, दूसरा Enter जोड़ देता है, और फ़ील्ड ख़ाली होकर focus बनाए रखता है, इसलिए पचास शब्दों की शब्दावली बिना माउस छुए कुछ ही मिनटों की टाइपिंग है।

जाँच असली रेज़ोल्यूशन लैडर का एक ड्राई रन है — वही जो कोई एनरिचमेंट चलाती है — इसलिए इसका फ़ैसला कोई अनुमान नहीं है। और चूँकि आप उस फ़ैसले का भुगतान कर ही चुके हैं, यह डुप्लिकेट गार्ड का काम भी करता है: जब कोई मौजूदा कॉन्सेप्ट आपके टेक्स्ट को थ्रेशोल्ड पर या उससे ऊपर कवर करता है, तो कॉन्सेप्ट जोड़ें निष्क्रिय रहता है।

यह इनकार जानबूझकर है: थ्रेशोल्ड से ऊपर मौजूद कोई जुड़वाँ कभी कोई रिज़ॉल्यूशन नहीं जीत पाएगा, और भविष्य के मैच दोनों एंट्री के बीच अप्रत्याशित रूप से बँट जाएँगे। फ़ील्ड के बगल वाला थ्रेशोल्ड स्लाइडर तय करता है कि आपकी जाँचों के लिए यह रेखा कहाँ हो — सख़्त होने के लिए इसे बढ़ाएँ, ज़्यादा आक्रामक तरीके से मर्ज करने के लिए घटाएँ।
शब्दावली का किसी एनरिचमेंट से शुरू होना भी ज़रूरी नहीं है: नया कॉन्सेप्ट प्रकार… (पेज टूलबार, एडिटर और उससे ऊपर) एक प्रकार को नाम देता है और वह embedding मॉडल चुनता है जिसमें उसके कॉन्सेप्ट रहेंगे — डिफ़ॉल्ट रूप से आपके संगठन का मॉडल। क्यूरेट बार तुरंत उसी तक सीमित हो जाता है, और आप जो पहला कॉन्सेप्ट जोड़ते हैं उसके साथ यह प्रकार शब्दावली में जुड़ जाता है; जो प्रकार पहले से मौजूद है वह अपना मॉडल बनाए रखता है, क्योंकि किसी शब्दावली को एक मॉडल से दूसरे मॉडल में ले जाना ही माइग्रेशन का काम है।
थ्रेशोल्ड से ऊपर की हर चीज़ पहले ही आपके लिए मर्ज कर दी गई है। दिलचस्प मामले ठीक उसके नीचे होते हैं — इतने पास कि संदेह हो, पर इतने पास नहीं कि आपस में मिल गए हों। डुप्लिकेट व्यू ठीक उसी बैंड को सूचीबद्ध करता है, और स्लाइडर उसे चौड़ा या सँकरा करता है।

तुलना करें → उस कॉन्सेप्ट के चयनित रहते हुए आपको वापस टेबल पर ले जाता है, ताकि तय करने से पहले आप देख सकें कि उसके आसपास और क्या है। जिस जोड़ी को आप सच्चा डुप्लिकेट मानते हैं, वह उस प्रॉपर्टी के थ्रेशोल्ड के बारे में एक संकेत है जो उसे पैदा करता है: स्कीमा एडिटर में उसे घटाएँ और आगे की एनरिचमेंट उस जोड़ी को अपने आप मिला देंगी। उपयोग की गिनती बताती है कि डेटा वास्तव में दोनों में से किसे पसंद करता है।
दाईं ओर का पैनल कॉन्सेप्ट का ID दिखाता है (कॉपी करने योग्य — आपका डेटाबेस इसी पर जॉइन करता है), उसका नॉर्मलाइज़्ड टेक्स्ट, उसके पीछे का एम्बेडिंग मॉडल, और वे रिकॉर्ड जो इससे रिज़ॉल्व हुए। चुना गया कॉन्सेप्ट पेज के पते का हिस्सा होता है, इसलिए आपके एड्रेस बार का URL सीधे उसी पर लौटने वाला लिंक है — सहकर्मी के साथ साझा करने योग्य, या किसी टिकट में रखने लायक। दो व्यू इसे इसके पड़ोसियों के बीच रखकर दिखाते हैं।


1536 आयामों को 3 में समेटने पर दूरियाँ बरकरार नहीं रह सकतीं, और लेआउट क्लस्टरों को ज़रूरत से ज़्यादा सघन दिखाता है। दोनों व्यू हर बिंदु को एक ही समानता स्केल से रंगते हैं, इसलिए रंग पढ़ें, दूरी नहीं। किसी सत्र का पहला मैप बनने में कुछ सेकंड लगते हैं; उसके बाद वाले तुरंत तैयार होते हैं।
हर लिंक किया गया रिकॉर्ड वह स्कोर दिखाता है जिस पर वह यहाँ रिज़ॉल्व हुआ। — का मतलब है कि ID इनपुट में ही आया था और उसे वैसे ही आगे भेज दिया गया, इसलिए कभी कोई तुलना हुई ही नहीं — सिमैंटिक-ID गाइड में बताया गया मुफ़्त और स्पष्ट रास्ता।
इम्पोर्ट और रिज़ॉल्व पूरे CSV कॉलम को उसी ladder से गुज़ारता है और हर row पर बताता है कि उसके साथ क्या होगा — फ़ाइल के आकार की कोई सीमा नहीं है; बड़ी फ़ाइलें 1000 के batch में लाइव प्रगति के साथ रिज़ॉल्व होती हैं। फ़ाइल आपके ब्राउज़र में ही parse होती है — केवल values ही भेजी जाती हैं।

| परिणाम | इसका क्या मतलब है |
|---|---|
exact | वही टेक्स्ट, नॉर्मलाइज़ करने पर, पहले से मौजूद है — निःशुल्क, कोई मॉडल कॉल नहीं। |
matched | एक अलग शब्दरचना थ्रेशोल्ड से ऊपर किसी मौजूदा कॉन्सेप्ट पर रिज़ॉल्व हो गई। |
would_mint | कुछ भी पर्याप्त निकट नहीं था; यहाँ एनरिचमेंट एक नया कॉन्सेप्ट बनाएगा। |
minted | वही स्थिति, निर्माण चालू करके — अब कॉन्सेप्ट मौजूद है (केवल स्वामी)। |
रिज़ॉल्व हुई पंक्तियाँ अपनी अलग CSV के रूप में डाउनलोड होती हैं, इसलिए इम्पोर्ट को सिर्फ़ ऑडिट के तौर पर भी इस्तेमाल किया जा सकता है: हमारे 900 सप्लायर नामों में से कौन-से पहले से ज्ञात हैं, और कौन-से नई पहचान बनाएँगे? एक्सपोर्ट उल्टी दिशा में काम करते हैं और फ़ाइल का नाम उन फ़िल्टरों पर रखते हैं जिनके साथ उन्हें लिया गया था, ताकि उनका फ़ोल्डर ख़ुद अपनी व्याख्या करता रहे।
यहाँ डिलीट करना उस तरह सुरक्षित है जैसा ज़्यादातर डेटा विलोपन नहीं होते: शब्दावली खुद को फिर से बना लेती है, क्योंकि अगली एनरिचमेंट को जो चाहिए वह दोबारा गढ़ लेती है। जो वापस नहीं आता, वह है आपके पहले से संग्रहीत ID के साथ अभिसरण, और पुष्टि करने से पहले डायलॉग असली गिनती के साथ यह बता देता है।

ऐसे बदलाव के बाद पुराने कॉन्सेप्ट को बनाए रखना सतर्क नहीं, बल्कि जोखिम भरा विकल्प है: नई कुंजियों से बनी पहचानें अब भी पुराने वेक्टरों के थ्रेशोल्ड के भीतर आ सकती हैं और चुपचाप उनमें समा सकती हैं, जिससे आपके पास ऐसे ID रह जाएँगे जिनका मतलब न यह होगा, न वह।
दो अलग-अलग मॉडलों के वेक्टर आपस में तुलनीय नहीं होते, इसलिए मॉडल बदलने का मतलब है हर कॉन्सेप्ट को दोबारा एम्बेड करना। कॉन्सेप्ट बन जाने के बाद, यह माइग्रेशन ही ऐसा करने का एकमात्र स्वीकृत तरीका है — और यही वजह है कि संगठन की एम्बेडिंग-मॉडल सेटिंग अपने आप नहीं बदलती।

प्रीव्यू बताता है कि री-एम्बेडिंग की लागत क्या होगी, और कौन-से कॉन्सेप्ट जोड़े टकरा सकते हैं — यानी नए स्पेस में एक-दूसरे के थ्रेशोल्ड के भीतर आ जाएँ और साथ-साथ रिज़ॉल्व होने लगें। यह हर जोड़े के बजाय वास्तविक उम्मीदवारों को मापता है, और यह बात बताता भी है।
जब तक नए वेक्टर साथ-साथ बनते रहते हैं, एनरिचमेंट पुराने स्पेस में ही रिज़ॉल्व होती रहती हैं; इस बीच गढ़े गए कॉन्सेप्ट बाद के एक पास में शामिल कर लिए जाते हैं। स्विच अंत में एक ही चरण में होता है, जो आपके संगठन का डिफ़ॉल्ट एम्बेडिंग मॉडल भी बदल देता है। इसे बीच में रोकना हानिरहित है — दोबारा शुरू करने पर यह वहीं से आगे बढ़ता है जहाँ रुका था।
जाँच, जोड़ना और इम्पोर्ट किसी भी अन्य एम्बेडिंग उपयोग की तरह ही बिल किए जाते हैं, और एकदम सटीक मैच पर कुछ खर्च नहीं होता क्योंकि वे कभी किसी मॉडल तक पहुँचते ही नहीं। ब्राउज़िंग, तुलना, ऑर्बिट, 3D मैप, एक्सपोर्ट और डिलीट मुफ़्त हैं। एक दिन का पूरा इंटरैक्टिव खर्च आपके क्रेडिट इतिहास में एक ही पंक्ति में जोड़ दिया जाता है, ताकि लेजर सेंट के अंशों से भरने के बजाय पढ़ने लायक बना रहे।