مفهوم جاسازی (embedding) یکی از جذابترین ایدهها در یادگیری ماشین است. اگر قبلاً از Siri، دستیار Google، الکسا، Google Translate یا حتی صفحه کلید تلفنهای هوشمند با قابلیت پیشبینی کلمه بعدی استفاده کرده اید ، احتمالاً از این ایده که در مدل های پردازش زبان طبیعی بسیار مهم است استفاده کردهاید. در طی چند دهه گذشته استفاده از جاسازی کلمه برای مدل های عصبی کاملاً پیشرفت داشته است (تحولات اخیر شامل جاسازی کلمات متنی است که منجر به مدل های پیشرفته ای مانند BERT و GPT2 می شود).
تبدیل کلمه به بردار (Word2vec) روشی کارآمد برای جاسازی کلمات است و از سال 2013 وجود دارد. اما علاوه بر کاربرد آن به عنوان یک روش جاسازی کلمه ، برخی از مفاهیم آن نیز در ایجاد موتورهای توصیه گر و ایجاد منطق برای توالی داده ها در کارهای تجاری و حتی غیر مرتبط با زبانی نیز موثر است. شرکتهایی مانند Airbnb ،Alibaba ،Spotify و Anghami همگی در تراشیدن این الماس درخشان در دنیای NLP و استفاده از آن برای توانمندسازی نسل جدیدی از موتورهای توصیه گر بهره مند شده اند.
در این پست ،به مفهوم جاسازی و مکانیسم تولید جاسازی کلمه با word2vec خواهیم پرداخت. اما بیایید با یک مثال شروع کنیم تا با کاربرد بردارها برای نشان دادن چیزها آشنا شویم. آیا می دانید لیستی از پنج عدد (یک بردار) می تواند بیانگر شخصیت شما باشد؟
جاسازی شخصیت: شما چه شخصیتی دارید؟
در مقیاس 0 تا 100 ، چقدر درون گرا/برونگرا هستید (0 بیشترین درونگرایی و 100 بیشترین برونگرایی)؟ آیا تا به حال یک تست شخصیت مانند MBTI یا تست پنج ویژگی بزرگ شخصیتی را انجام داده اید؟ اگر این کار را تابهحال نکرده اید، اینها تست هایی هستند که لیستی از سوالات را از شما می پرسند ، سپس در تعدادی از موارد به شما امتیاز می دهند که درونگرایی/برونگرایی یکی از آنها است.
تصور کنید من امتیاز 38/100 را به عنوان نمره درونگرایی/برونگرایی کسب کرده ام. می توانیم آن را اینگونه رسم کنیم:
اجازه دهید دامنه را به 1- تا 1 تبدیل کنیم:
ولی اینکه فقط یک بخش از شخصیت فرد را بررسی کنیم حس خوبی نیست؟ شخصیت انسانها بسیار پیچیده است. پس بیایید یک بعد دیگر هم اضافه کنیم - امتیاز یک ویژگی دیگر تست.
من اینکه چه ویژگی شخصیتی را اضافه کردم را مخفی کردم فقط برای اینکه عادت کنید که الزاما نمیدانیم هر بعد چه عواملی را نشان می دهد. اما با این وجود جنبهای از بازنمایی شخصیت یک فرد را نشان میدهد.
اکنون می توانیم بگوییم که این بردار تا حدی شخصیت من را نشان می دهد. مزیت چنین بازنمایی زمانی مشخص میشود که مثلا شما بخواهید دو نفر دیگر را با من مقایسه کنید. مثلا ممکن است که من با یک اتوبوس تصادف کردم و باید شخصی با شخصیت مشابه من جایگزین شود. در شکل زیر ، کدام یک از این دو نفر بیشتر به من شباهت دارد؟
وقتی که با بردارها کار میکنید یک روش معمول برای محاسبه میزان شباهت دو بردار استفاده از کسینوس - تشابه است:
هنوز هم دو بعد برای گرفتن اطلاعات کافی در مورد تفاوت افراد کافی نیست. دهه ها تحقیق روانشناسی منجر به پنج ویژگی عمده (و بسیاری از ویژگیهای فرعی) شده است. بنابراین اجازه دهید از هر پنج بعد در مقایسه خود استفاده کنیم:
مشکلی که در پنج بعد وجود دارد این است که ما توانایی رسم فلش هایی که در دو بعد داشتیم را نداریم. چالشی مشترک در یادگیری ماشین که اغلب باید در فضایی با ابعاد بالا کار کنیم. ولی خوبی آن این است که شباهت_ کسینوس هنوز هم با هر تعداد ابعاد کار می کند:
در پایان این بخش ما با دو ایده اصلی بیرون می آییم:
ادامه این مقاله را میتوانید در پست بعد بخوانید.
منبع: