به محتوای اصلی بروید

مبانی

تعبیه (Embedding) چیست؟

تعبیه متن را به برداری از اعداد تبدیل می‌کند که معنای آن را نشان می‌دهد، و همین چیزی است که جست‌وجو بر اساس معنا به‌جای عبارت دقیق را ممکن می‌سازد. تشابه چگونه سنجیده می‌شود و چرا تعبیه‌های مدل‌های مختلف با هم ترکیب نمی‌شوند.

همهٔ توضیح‌ها · آخرین بازبینی:

فهرستی از اعداد به‌جای معنا

یک مدل تعبیه تکه‌ای از متن — یک واژه، یک جمله، یک پاراگراف، گاهی یک سند کامل — را می‌خواند و برداری با طول ثابت خروجی می‌دهد: فهرستی مرتب از اعداد، معمولاً به طول صدها یا هزاران عنصر. آن بردار خلاصه‌ای قابل خواندن برای انسان نیست؛ موقعیتی در فضایی ریاضی است که مدل هنگام آموزش یاد گرفته، طوری چیده‌شده که متن‌های با معنای مرتبط کنار هم قرار گیرند.

آنچه کنار هم قرار می‌گیرد معنای مشابه است، نه املای مشابه

دو جمله که تقریباً هیچ واژه‌ای مشترک ندارند اما تقریباً یک چیز را می‌گویند می‌توانند بردارهایی نزدیک به هم تولید کنند، چون مدل تعبیه هنگام آموزش پیوندهای میان مفاهیم را یاد گرفته، نه فقط اینکه چه حروفی ظاهر می‌شوند. برعکس، دو جمله که واژه‌های مشترک زیادی دارند اما معنایشان متفاوت است می‌توانند در نهایت بسیار دور از هم قرار گیرند. این تفاوت اصلی میان جست‌وجوی مبتنی بر تعبیه و تطبیق با کلیدواژهٔ دقیق است.

نزدیکی سنجیده می‌شود، نه با چشم تخمین زده

وقتی متن به‌صورت بردار نمایش داده شود، مقایسهٔ معنا به یک مسئلهٔ هندسی تبدیل می‌شود: امتیاز شباهتی که میان دو بردار محاسبه می‌شود، اغلب بر اساس اینکه چقدر در جهت یکسانی قرار دارند. جست‌وجو در یک مجموعهٔ بزرگ یعنی محاسبهٔ آن امتیاز میان بردار پرسش و هر بردار ذخیره‌شده، سپس بازگرداندن نزدیک‌ترین تطابق‌ها — همان عملیات، چه مجموعه صد رکورد داشته باشد چه صد میلیون.

تعبیه‌های مدل‌های مختلف با هم ترکیب نمی‌شوند

مانند واژگان یک توکن‌ساز، فضای برداری یک مدل تعبیه مختص همان مدل و نحوهٔ آموزش آن است. برداری که یک مدل تعبیه تولید می‌کند به‌طور معناداری با برداری که مدل دیگری تولید کرده قابل مقایسه نیست، حتی اگر هر دو بردار تعداد بُعد یکسانی داشته باشند. تعویض مدل تعبیه یعنی بازتعبیهٔ هر آنچه از قبل ذخیره شده، نه فقط محتوای تازه از آن پس.

کار یک مدل تعبیه با کار یک مدل زبانی فرق دارد

یک مدل زبانی از روی یک درخواست، متن را توکن‌به‌توکن تولید می‌کند. یک مدل تعبیه چیزی تولید نمی‌کند — متن را به بردار تبدیل می‌کند و همان‌جا متوقف می‌شود. برخی سامانه‌ها از یک مدل پایهٔ یکسان برای هر دو کار استفاده می‌کنند و برخی از دو مدل کاملاً جدا؛ در هر صورت، برداری که از مرحلهٔ تعبیه بیرون می‌آید خودش پاسخ نیست، فقط چیزی است که مرحلهٔ جست‌وجو یا تطبیق می‌تواند با آن مقایسه کند.

این در عمل کجا دیده می‌شود

تعبیه‌ها چیزی هستند که تولید تقویت‌شده با بازیابی را ممکن می‌سازند — برای اینکه بازیابی چگونه با مدل زبانی ترکیب می‌شود به صفحهٔ RAG چیست؟ نگاه کنید — اما همین فن در پس جست‌وجوی معنایی در تیکت‌های پشتیبانی یا مستندات، تطبیق گفت‌وگوهای گذشتهٔ مشابه، حذف محتوای تقریباً یکسان، و دسته‌بندی موارد مرتبط بدون اینکه کسی دسته‌ها را دستی برچسب بزند نیز قرار دارد.

پرسش‌های پرتکرار

آیا تعبیه همان توکن است؟
نه. توکن واحدی گسسته از متن است که مدل زبانی یکی‌یکی می‌خواند یا می‌نویسد. تعبیه برداری پیوسته است که معنای تکه‌ای بزرگ‌تر از متن را نشان می‌دهد و از مرحله‌ای جدا به دست می‌آید که چیزی تولید نمی‌کند.
آیا می‌توانم تعبیه‌های دو مدل مختلف را مقایسه کنم؟
به‌طور معنادار نه. هر مدل تعبیه هنگام آموزش فضای برداری خودش را تعریف می‌کند، پس فاصله‌ای که در فضای یک مدل به معنای «بسیار مشابه» است در فضای مدل دیگر معنای مشخصی ندارد، حتی با طول بردار یکسان.
آیا بردار تعبیهٔ بزرگ‌تر یعنی جست‌وجوی بهتر؟
به‌تنهایی نه. بُعدهای بیشتر می‌توانند ظرافت بیشتری ثبت کنند، اما کیفیت به این بستگی دارد که مدل روی چه چیزی آموزش دیده و این چقدر با محتوای شما سازگار است، نه فقط به شمار بُعدها.
آیا کسی می‌تواند از روی یک تعبیه متن اصلی را بازیابی کند؟
بازیابی دقیق معمولاً غیرعملی است، اما تعبیه هنوز مستقیماً از محتوای شما گرفته شده و در برخی حمله‌ها می‌تواند اطلاعات معناداری دربارهٔ آن فاش کند. با تعبیه‌های ذخیره‌شدهٔ متن حساس با همان دقتی رفتار کنید که با خود متن، نه انگار از پیش ناشناس‌سازی شده‌اند.

به‌جای خواندن، امتحانش کنید

ویژگی‌های حافظه و بستهٔ زمینهٔ ClawAI تعبیه‌ها را به‌صورت محلی از طریق Ollama می‌سازند و در یک پایگاه دادهٔ برداری برای جست‌وجوی شباهت ذخیره می‌کنند، به‌جای فرستادن محتوای شما به یک واسط برنامه‌نویسی تعبیهٔ ابری جداگانه برای این کار.