امبدینگ چیست و چرا جست‌وجوی معنایی را ممکن می‌کند

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

🍊 تیم نارنگی ⏱ 5 دقیقه مطالعه
نمایش نقطه‌های نزدیک به هم به‌عنوان استعاره‌ای از فضای معنایی متن

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

این شکاف بین «کلمه» و «معنی»، همان چیزی است که امبدینگ حل می‌کند. و چون تقریباً هر سیستم پرسش‌وپاسخ روی اسناد سازمانی روی همین پایه ساخته می‌شود، فهمیدنش ارزش نیم ساعت وقت را دارد.

امبدینگ دقیقاً چیست

امبدینگ یعنی تبدیل یک تکه متن به فهرستی از عددها — معمولاً چند صد تا چند هزار عدد. این فهرست، مختصات آن متن در یک فضای معنایی است. متن‌هایی که معنی نزدیک دارند، مختصات نزدیک می‌گیرند.

یک تشبیه که تقریب خوبی است: نقشه‌ی شهر. هر مغازه یک طول و عرض جغرافیایی دارد. اگر بپرسید «نزدیک‌ترین جای شبیه این» کافی است فاصله را حساب کنید. امبدینگ همین کار را می‌کند، با این تفاوت که به‌جای دو بعد، صدها بعد دارد و «نزدیکی» یعنی شباهت معنایی.

نکته‌ی مهم: این عددها برای انسان معنی ندارند. نمی‌توانید به بعد شماره‌ی ۴۲ نگاه کنید و بگویید نماینده‌ی چیست. تنها چیزی که به کار می‌آید، فاصله‌ی بین بردارهاست.

شباهت چطور سنجیده می‌شود

روش رایج، شباهت کسینوسی است: زاویه‌ی بین دو بردار. هرچه زاویه کوچک‌تر، شباهت بیشتر. عددی بین منفی یک تا یک به دست می‌آید که در عمل اغلب بین صفر و یک می‌ماند.

یک هشدار عملی: عدد مطلق شباهت معنی ثابتی ندارد. در یک مجموعه، ۰٫۸۲ ممکن است بسیار مرتبط باشد و در مجموعه‌ای دیگر بی‌ربط. آستانه را با داده‌ی خودتان پیدا کنید، از عددهای اینترنتی کپی نکنید.

کاربر پرسیده: «گوشیم آب خورده چیکار کنم»

نتایج به ترتیب شباهت:
۰٫۸۷  «نفوذ مایعات به تلفن همراه و اقدام اولیه»
۰٫۷۹  «خشک کردن دستگاه پس از تماس با آب»
۰٫۴۱  «تعویض باتری گوشی»
۰٫۱۲  «شرایط گارانتی لوازم خانگی»

هیچ‌کدام از دو نتیجه‌ی اول، کلمه‌ی مشترکی با سؤال ندارند.

کجا به کار می‌آید

کاربردچه کاری می‌کند
جست‌وجوی داخلی سایتپیدا کردن مطلب بر اساس منظور، نه کلمه
پاسخ‌گویی روی اسناد شرکتپیدا کردن بخش مرتبط قبل از پاسخ‌دادن
دسته‌بندی تیکت پشتیبانیهدایت خودکار به تیم درست
پیدا کردن تیکت تکراریتشخیص شکایت‌های هم‌معنی با جمله‌بندی متفاوت
پیشنهاد محتوای مرتبط«مطالب مشابه» بدون برچسب‌گذاری دستی
تشخیص محتوای تکراریپیدا کردن متن‌های بازنویسی‌شده

پرکاربردترین حالت، همان مورد دوم است: بازیابی متن مرتبط و بعد پاسخ‌دادن با مدل زبانی. معماری کاملش در RAG چیست باز شده و امبدینگ، لایه‌ی زیرین آن است.

فارسی: جایی که باید دقت کرد

کیفیت امبدینگ فارسی به‌شدت به تمیزی متن وابسته است. سه مشکلی که در پروژه‌های واقعی بیشترین ضربه را می‌زنند:

  • نیم‌فاصله. «می‌رود»، «می رود» و «میرود» ممکن است بردارهای متفاوتی بگیرند. قبل از تبدیل، یکسانشان کنید.
  • حروف عربی. «ي» و «ك» عربی با «ی» و «ک» فارسی یکی نیستند. در متن‌های کپی‌شده از منابع مختلف، هر دو شکل پیدا می‌شود.
  • اعداد. «۱۴۰۴» و «1404» دو رشته‌ی متفاوت‌اند.
💡 یکسان‌سازی، ارزان‌ترین بهبود

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

راه‌اندازی عملی

مسیر کار در چهار قدم خلاصه می‌شود. سند را به تکه‌های معنادار بشکنید — سرفصل‌ها معمولاً مرز خوبی هستند. هر تکه را به بردار تبدیل کنید و کنار متن اصلی ذخیره کنید. پرسش کاربر را با همان مدل به بردار تبدیل کنید. نزدیک‌ترین تکه‌ها را بردارید و به مدل زبانی بدهید.

دو نکته که تازه‌کارها را زمین می‌زند: بردار پرسش و بردار اسناد باید با یک مدل ساخته شده باشند، وگرنه فاصله‌ها بی‌معنی است. و اگر مدل امبدینگ را عوض کردید، باید کل مجموعه را از نو بسازید. جزئیات فنی و ابعاد بردارها در مستندات امبدینگ OpenAI آمده. برای جمع‌کردن متن اولیه از صفحات وب هم استخراج داده از سایت نقطه‌ی شروع است.

کجا جواب نمی‌دهد

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

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

جمع‌بندی

امبدینگ ایده‌ی ساده‌ای است با اثر بزرگ: معنی را به مختصات تبدیل کن تا بتوانی فاصله بگیری. همه‌ی جست‌وجوی معنایی، پیشنهاد محتوای مرتبط و پاسخ‌گویی روی اسناد سازمانی روی همین یک ایده سوار است.

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

مطالب مرتبط:

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

امبدینگ با فاین‌تیونینگ چه فرقی دارد؟ +
امبدینگ متن را به عدد تبدیل می‌کند تا بتوانید بین متن‌ها شباهت پیدا کنید؛ خود مدل تغییر نمی‌کند. فاین‌تیونینگ وزن‌های مدل را عوض می‌کند تا رفتار متفاوتی بگیرد. برای «مدل به اطلاعات ما دسترسی داشته باشد»، تقریباً همیشه امبدینگ راه ارزان‌تر و درست‌تر است.
برای فارسی چقدر خوب کار می‌کند؟ +
مدل‌های چندزبانه‌ی امروزی فارسی را قابل قبول پوشش می‌دهند، ولی نه به دقت انگلیسی. بیشترین ضربه از یکدست‌نبودن متن می‌آید: نیم‌فاصله، «ی» و «ک» عربی، و اعداد فارسی و انگلیسی. یکسان‌سازی متن قبل از تبدیل، تفاوت محسوسی می‌سازد.
اندازه‌ی هر تکه‌ی متن چقدر باشد؟ +
تکه‌هایی که یک موضوع کامل را در خود دارند، معمولاً بین دویست تا پانصد کلمه. تکه‌ی خیلی بزرگ چند موضوع را قاطی می‌کند و بردارش بی‌خاصیت می‌شود؛ تکه‌ی خیلی کوچک زمینه را از دست می‌دهد. کمی همپوشانی بین تکه‌ها هم کمک می‌کند.
برای پنجاه صفحه سند، پایگاه داده‌ی برداری لازم است؟ +
نه. تا چند هزار تکه، محاسبه‌ی شباهت به‌صورت ساده در حافظه کافی است و سریع اجرا می‌شود. پایگاه داده‌ی برداری وقتی معنی پیدا می‌کند که حجم بالا برود یا بخواهید فیلتر و به‌روزرسانی مداوم داشته باشید.
امبدینگ می‌تواند جواب سؤال را بدهد؟ +
نه، فقط مرتبط‌ترین متن‌ها را پیدا می‌کند. جواب‌دادن کار مدل زبانی است که آن متن‌ها را می‌خواند. این دو مرحله با هم همان چیزی است که به آن RAG می‌گویند.
#امبدینگ #جست‌وجوی معنایی #بردار معنایی #پایگاه داده برداری #شباهت متن
به‌دردِ کسی می‌خورد؟ تلگرام واتساپ
🍊

خواندنش خوب بود — حالا امتحانش کن

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

بدونِ نصب هم کار می‌کند — ولی در اپ سریع‌تر است