امبدینگ و جستوجوی معنایی به زبان ساده
امبدینگ هر متن را به فهرستی از اعداد تبدیل میکند که معنایش را نشان میدهد. به همین دلیل ربات میفهمد «کی میرسه؟» و «زمان تحویل چقدر است؟» یک سؤالاند.
نویسنده
تیم بایتیرا
تاریخ انتشار
۳ خرداد ۱۴۰۵
زمان مطالعه
7 دقیقه
خلاصه
امبدینگ هر متن را به فهرستی از اعداد تبدیل میکند که معنایش را نشان میدهد. به همین دلیل ربات میفهمد «کی میرسه؟» و «زمان تحویل چقدر است؟» یک سؤالاند.
امبدینگ (Embedding) روشی است که هر تکه متن را به فهرستی از اعداد تبدیل میکند؛ فهرستی که بهجای شکل کلمات، معنای آن متن را نشان میدهد. جستوجوی معنایی با همین اعداد متنی را پیدا میکند که از نظر معنا به پرسش نزدیک است، حتی اگر هیچ کلمه مشترکی نداشته باشند. نتیجه برای شما ساده است: مشتری مینویسد «کی میرسه؟» و ربات پاراگراف «زمان تحویل سفارش» سایت شما را پیدا میکند.
مشکل جستوجوی کلیدواژهای
جستوجوی کلیدواژهای دنبال همان کلماتی میگردد که کاربر تایپ کرده است. این روش وقتی خوب کار میکند که مشتری دقیقاً با واژههای شما حرف بزند، و در عمل این اتفاق کم میافتد.
فرض کنید در صفحه قوانین فروشگاه نوشتهاید «مهلت مرجوع کردن کالا هفت روز است». مشتریها معمولاً اینطور میپرسند:
- «اگه سایز نشد میتونم پس بدم؟»
- «چند روز وقت دارم کالا رو برگردونم؟»
- «شرایط عودت چیه؟»
هیچکدام کلمه «مرجوع» را ندارند. جستوجوی کلیدواژهای یا چیزی پیدا نمیکند یا صفحهای نامربوط را نشان میدهد که تصادفاً کلمه «سایز» در آن آمده است. جستوجوی معنایی هر سه پرسش را به همان یک پاراگراف میرساند.
امبدینگ چطور معنا را به عدد تبدیل میکند
یک نقشه را تصور کنید که بهجای شهرها، معناها روی آن نشستهاند. «تحویل»، «ارسال» و «کی میرسه» در یک محلهاند و «ساعت کاری» و «تا کی بازید» در محلهای دیگر. امبدینگ برای هر متن یک نشانی روی این نقشه میسازد. این نشانی فهرستی از اعداد است که به آن «بردار» میگویند.
این نقشه را کسی دستی نکشیده است. یک مدل امبدینگ با دیدن حجم بسیار زیادی متن یاد گرفته کدام عبارتها در موقعیتهای مشابه به کار میروند و همین را به فاصله روی نقشه تبدیل میکند. نقشه واقعی بهجای دو بُعد، صدها بُعد دارد؛ برای همین میتواند تفاوتهای ظریفتر را هم نگه دارد.
دو نکته فنی که دانستنش مفید است:
- پرسش و محتوا باید با یک مدل به بردار تبدیل شوند. بردارهای دو مدل مختلف روی دو نقشه متفاوتاند و با هم قابل مقایسه نیستند. به همین دلیل، عوض کردن مدل امبدینگ یعنی ساختن دوباره بردار همه محتوا.
- نزدیکی یک عدد است. معمولاً با معیاری به نام «شباهت کسینوسی» سنجیده میشود که زاویه بین دو بردار را اندازه میگیرد. همین عدد امکان میدهد برای «به اندازه کافی مرتبط» آستانه بگذاریم.
جستوجوی معنایی گامبهگام: از پرسش تا پاسخ
در یک ربات پاسخگوی سایت، امبدینگ بخشی از زنجیرهای است که به آن تولید پاسخ با بازیابی یا RAG میگویند. مسیر از این قرار است:
- گام ۱: تکهتکه کردن. متن هر صفحه به قطعههایی در حد چند پاراگراف تقسیم میشود، چون یک صفحه بلند معمولاً درباره چند موضوع حرف میزند.
- گام ۲: ساختن بردار. برای هر قطعه یک بردار ساخته و در پایگاه دانش ذخیره میشود.
- گام ۳: بردار پرسش. وقتی بازدیدکننده سؤالی میپرسد، پرسش او هم با همان مدل به بردار تبدیل میشود.
- گام ۴: پیدا کردن نزدیکترینها. سیستم چند قطعهای را که بردارشان به بردار پرسش نزدیکتر است بیرون میکشد.
- گام ۵: سنجیدن آستانه. اگر حتی نزدیکترین قطعه هم به اندازه کافی مرتبط نباشد، بهتر است پاسخی ساخته نشود.
- گام ۶: نوشتن پاسخ. قطعههای پیداشده به مدل زبانی داده میشوند تا پاسخ را فقط بر اساس همانها بنویسد.
ربات پاسخگوی سایت بایتیرا همین مسیر را طی میکند: پاسخ فقط از قطعههای بازیابیشده محتوای خود شما ساخته میشود و صفحه منبع زیر هر پاسخ نمایش داده میشود. وقتی چیز مرتبطی پیدا نشود، ربات پیامی را نشان میدهد که خودتان نوشتهاید، مثلاً راه تماس با پشتیبانی، و بازدیدکننده را به مسیر درست میفرستد.
مثال: کلینیک دندانپزشکی
یک کلینیک دندانپزشکی را در نظر بگیرید که در سایتش صفحههایی درباره جرمگیری، ایمپلنت و شرایط نوبتدهی دارد و ساعت کاری را در بخش اطلاعات کسبوکار ربات نوشته است. ببینید هر روش با پرسشهای واقعی بیماران چه میکند:
| پرسش بیمار | متن موجود | جستوجوی کلیدواژهای | جستوجوی معنایی |
|---|---|---|---|
| «جرمگیری درد داره؟» | «آیا جرمگیری دردناک است؟» | احتمالاً پیدا میکند | پیدا میکند |
| «عصرها هم بازید؟» | «ساعت کاری: ۹ صبح تا ۸ شب» | پیدا نمیکند | پیدا میکند |
| «دندون ثابت چند سال دوام داره؟» | «طول عمر ایمپلنت» | پیدا نمیکند | به احتمال زیاد پیدا میکند |
| «پارکینگ دارین؟» | در سایت نیامده | پیدا نمیکند | پیام راهنمای شما را نشان میدهد |
ردیف آخر مهم است. جستوجوی معنایی چیزی را که ننوشتهاید از هیچ نمیسازد. کارش این است که آنچه نوشتهاید را با هر بیانی که مشتری به کار ببرد پیدا کند. پس اگر چنین پرسشی چند بار تکرار شد، یک خط درباره پارکینگ به سایت یا اطلاعات کسبوکار اضافه کنید.
کلیدواژه یا معنایی: کدام کجا بهتر است؟
جستوجوی معنایی همهجا برنده نیست. برای چیزهایی که باید دقیقاً همان رشته پیدا شود، تطبیق کلمه هنوز ابزار درستی است:
| موقعیت | روش مناسبتر |
|---|---|
| پرسش محاورهای با کلمات خود مشتری | معنایی |
| پرسشهای «چطور» و «آیا» | معنایی |
کد محصول یا شماره مدل مثل SM-200 | کلیدواژهای |
| نام دقیق یک قطعه یا برند به همراه توضیح | ترکیب هر دو |
به همین دلیل بسیاری از سیستمهای جستوجو دو روش را با هم ترکیب میکنند. اگر میخواهید تفاوت ربات با جعبه جستوجوی معمولی سایت را دقیقتر ببینید، مطلب چتبات در برابر جستوجوی داخلی سایت را بخوانید.
اشتباهات رایج در نوشتن محتوا برای جستوجوی معنایی
جستوجوی معنایی کار شما را سادهتر میکند، اما چند عادت قدیمی اینجا کمکی نمیکنند یا حتی نتیجه را بدتر میکنند:
- فهرست کردن مترادفها. نوشتن «ارسال، تحویل، پست، فرستادن» پشت سر هم لازم نیست. مدل خودش اینها را نزدیک هم میبیند. یک جمله روشن کافی است.
- قاطی کردن چند موضوع در یک پاراگراف. پاراگرافی که هم درباره ارسال است، هم گارانتی و هم تخفیف، برداری میگیرد که به هیچکدام خیلی نزدیک نیست. هر موضوع را جدا بنویسید.
- نوشتن اطلاعات داخل تصویر. جدول قیمتی که عکس است، برای سیستم متن نیست و وارد پایگاه دانش نمیشود.
- عبارتهای مبهم. «ارسال سریع» درباره سرعت حرف میزند اما پاسخی نمیدهد. «ارسال تهران یکروزه و شهرستان دو تا چهار روز کاری» پاسخ واقعی است.
- صفحههای متناقض. اگر یک صفحه میگوید هفت روز مهلت مرجوعی و صفحه قدیمی دیگری ده روز، ممکن است هر دو بازیابی شوند و پاسخ را مبهم کنند.
برای فهرست کاملتر، راهنمای محتوای مناسب برای چتبات را ببینید.
پرسشهای رایج
آیا باید کلمات کلیدی و مترادفها را دستی به ربات بدهم؟
نه. کافی است محتوای سایت روشن و کامل باشد. جستوجوی معنایی ارتباط «کی میرسه» و «زمان تحویل» را خودش برقرار میکند. وقتتان را صرف نوشتن پاسخهای دقیق کنید، نه فهرست واژهها.
امبدینگ با فارسی محاورهای هم کار میکند؟
مدلهای امبدینگ چندزبانه امروزی معمولاً با فارسی رسمی و محاورهای کنار میآیند، اما کیفیت به مدل بستگی دارد. بهترین راه سنجش این است که پرسشهای واقعی مشتریان را با همان لحن خودشان از ربات بپرسید و صفحه منبع پاسخ را نگاه کنید.
فرق مدل امبدینگ با مدل زبانی بزرگ چیست؟
مدل امبدینگ متن نمینویسد؛ فقط متن را به بردار تبدیل میکند تا مقایسه ممکن شود. مدل زبانی بزرگ متن تولید میکند. در ربات پاسخگو، اولی پیدا میکند و دومی با آنچه پیدا شده پاسخ مینویسد. برای آشنایی بیشتر با دومی، طرز کار مدلهای زبانی بزرگ را بخوانید.
مطالب مرتبط
پاسخگویی خودکار به کجا میرود و از امروز چه کنیم
جهت حرکت روشن است: از پاسخ دادن به سمت انجام دادن کار برای مشتری. پیشنیاز هر دو یک چیز است، محتوای درست و قواعد روشن؛ کاری که از همین امروز ارزش دارد.
خواندنچتبات یا جستوجوی داخلی سایت؟ کدام برای چه کاری
جستوجوی داخلی فهرستی از صفحهها میدهد و برای مرور گزینهها عالی است؛ چتبات به پرسش مشخص مستقیم پاسخ میدهد. بیشتر سایتها به هر دو نیاز دارند و این دو رقیب هم نیستند.
خواندنربات دوزبانه: وقتی مخاطب شما فارسی و انگلیسی است
ربات بایتیرا میتواند همیشه فارسی، همیشه انگلیسی یا همزبان با بازدیدکننده پاسخ دهد. حتی اگر محتوای سایت فقط فارسی باشد، پاسخ انگلیسی از دل همان محتوا ساخته میشود؛ ترجمه چند صفحه کلیدی دقت را بالاتر میبرد.
خواندن