علیرضا مدنی
علیرضا مدنی
خواندن ۵ دقیقه·۴ سال پیش

یک تصویرسازی از الگوریتم Word2vec

مفهوم جاسازی (embedding) یکی از جذاب‌ترین ایده‌ها در یادگیری ماشین است. اگر قبلاً از Siri، دستیار Google، الکسا، Google Translate یا حتی صفحه کلید تلفن‌های هوشمند با قابلیت پیش‌بینی کلمه بعدی استفاده کرده اید ، احتمالاً از این ایده که در مدل های پردازش زبان طبیعی بسیار مهم است استفاده کرده‌اید. در طی چند دهه گذشته استفاده از جاسازی کلمه برای مدل های عصبی کاملاً پیشرفت داشته است (تحولات اخیر شامل جاسازی کلمات متنی است که منجر به مدل های پیشرفته ای مانند BERT و GPT2 می شود).

تبدیل کلمه به بردار (Word2vec) روشی کارآمد برای جاسازی کلمات است و از سال 2013 وجود دارد. اما علاوه بر کاربرد آن به عنوان یک روش جاسازی کلمه ، برخی از مفاهیم آن نیز در ایجاد موتورهای توصیه گر و ایجاد منطق برای توالی داده ها در کارهای تجاری و حتی غیر مرتبط با زبانی نیز موثر است. شرکتهایی مانند Airbnb ،Alibaba ،Spotify و Anghami همگی در تراشیدن این الماس درخشان در دنیای NLP و استفاده از آن برای توانمندسازی نسل جدیدی از موتورهای توصیه گر بهره مند شده اند.

در این پست ،به مفهوم جاسازی و مکانیسم تولید جاسازی کلمه با word2vec خواهیم پرداخت. اما بیایید با یک مثال شروع کنیم تا با کاربرد بردارها برای نشان دادن چیزها آشنا شویم. آیا می دانید لیستی از پنج عدد (یک بردار) می تواند بیانگر شخصیت شما باشد؟

جاسازی شخصیت: شما چه شخصیتی دارید؟

در مقیاس 0 تا 100 ، چقدر درون گرا/برونگرا هستید (0 بیشترین درونگرایی و 100 بیشترین برونگرایی)؟ آیا تا به حال یک تست شخصیت مانند MBTI یا تست پنج ویژگی بزرگ شخصیتی را انجام داده اید؟ اگر این کار را تابه‌حال نکرده اید، اینها تست هایی هستند که لیستی از سوالات را از شما می پرسند ، سپس در تعدادی از موارد به شما امتیاز می دهند که درونگرایی/برونگرایی یکی از آنها است.

نمونه ای از نتیجه تست ویژگی پنج شخصیت بزرگ. این تست می تواند چیزهای زیادی در مورد شخصیتتان به شما بگوید و  توانایی پیش بینی تحصیلی ، شخصی و شغلی را دارد.
نمونه ای از نتیجه تست ویژگی پنج شخصیت بزرگ. این تست می تواند چیزهای زیادی در مورد شخصیتتان به شما بگوید و توانایی پیش بینی تحصیلی ، شخصی و شغلی را دارد.


تصور کنید من امتیاز 38/100 را به عنوان نمره درونگرایی/برونگرایی کسب کرده ام. می توانیم آن را اینگونه رسم کنیم:

اجازه دهید دامنه را به 1- تا 1 تبدیل کنیم:

ولی اینکه فقط یک بخش از شخصیت فرد را بررسی کنیم حس خوبی نیست؟ شخصیت انسانها بسیار پیچیده است. پس بیایید یک بعد دیگر هم اضافه کنیم - امتیاز یک ویژگی دیگر تست.

می توان دو بعد را به عنوان یک نقطه در نمودار، یا به عنوان بردار از مبدا تا آن نقطه نشان دهیم. ما ابزارهای باورنکردنی برای کارکردن با بردارها داریم که خیلی زود به کار ما می آیند.
می توان دو بعد را به عنوان یک نقطه در نمودار، یا به عنوان بردار از مبدا تا آن نقطه نشان دهیم. ما ابزارهای باورنکردنی برای کارکردن با بردارها داریم که خیلی زود به کار ما می آیند.


من اینکه چه ویژگی شخصیتی را اضافه کردم را مخفی کردم فقط برای اینکه عادت کنید که الزاما نمیدانیم هر بعد چه عواملی را نشان می دهد. اما با این وجود جنبه‌ای از بازنمایی شخصیت یک فرد را نشان می‌دهد.

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

وقتی که با بردارها کار میکنید یک روش معمول برای محاسبه میزان شباهت دو بردار استفاده از کسینوس - تشابه است:

شخص شماره 1 از نظر شخصیتی بیشتر به من شباهت دارد. بردارهایی که در یک جهت حرکت می کنند (طول هم نقش دارد) دارای مفدار تشابه کسینوس بالاتری هستند.
شخص شماره 1 از نظر شخصیتی بیشتر به من شباهت دارد. بردارهایی که در یک جهت حرکت می کنند (طول هم نقش دارد) دارای مفدار تشابه کسینوس بالاتری هستند.


هنوز هم دو بعد برای گرفتن اطلاعات کافی در مورد تفاوت افراد کافی نیست. دهه ها تحقیق روانشناسی منجر به پنج ویژگی عمده (و بسیاری از ویژگیهای فرعی) شده است. بنابراین اجازه دهید از هر پنج بعد در مقایسه خود استفاده کنیم:

مشکلی که در پنج بعد وجود دارد این است که ما توانایی رسم فلش هایی که در دو بعد داشتیم را نداریم. چالشی مشترک در یادگیری ماشین که اغلب باید در فضایی با ابعاد بالا کار کنیم. ولی خوبی آن این است که شباهت_ کسینوس هنوز هم با هر تعداد ابعاد کار می کند:

تشابه کسینوس برای هر ابعادی کار می کند. این ویژگی از نمایش امتیازی بهتر است چون بر اساس نمایش تعداد بیشتری  از موارد مقایسه محاسبه می شود.
تشابه کسینوس برای هر ابعادی کار می کند. این ویژگی از نمایش امتیازی بهتر است چون بر اساس نمایش تعداد بیشتری از موارد مقایسه محاسبه می شود.


در پایان این بخش ما با دو ایده اصلی بیرون می آییم:

  • ما می توانیم مردم (و اشیا) را به عنوان برداری از اعداد نشان دهیم (که برای درک توسط ماشین عالی است!).
  • ما می توانیم به راحتی میزان شباهت بردارها به یکدیگر محاسبه کنیم.

ادامه این مقاله را میتوانید در پست بعد بخوانید.


منبع:

https://jalammar.github.io/illustrated-word2vec/<br/>

nlpmlپردازش زبان طبیعییادگیری ماشینword2vec
شاید از این پست‌ها خوشتان بیاید