بخش گذشته (لینک)
در این بخش میخواهیم با هم یاد بگیریم که چگونه یک متن به یک بردار تبدیل میشود. تبدیل متن به بردار یکی از پایهای ترین و مهمترین کارها در پردازش زبان طبیعی و یادگیری ماشین است.
با تبدیل متن به بردار میتوان بخش عمدهای از عملیات مورد نیاز برای پردازش زبان طبیعی به عملیات روی بردارها تبدیل میشود. برای درک این موضوع اجازه دهید مثالی از درس فیزیک را با هم مرور کنیم.
در مبحث حرکت در درس فیزیک، نقطهای را به عنوان مبدا در نظر میگرفتیم. موقعیت متحرک را هم روی محور افقی (محور ایکس) نشان میدادیم. مثلن اگر متحرک در سمت راست مبدا مختصات و به فاصله ۵ متری آن بود آن را به صورت بردار مثبت ۵ (+۵) نشان میدادیم. اگر متحرک به اندازه ۷ متر به سمت چپ حرکت میکرد، میزان جابهجایی آن را به صورت بردار منفی ۷ (-۷) نشان میدادیم. برای پیدا کردن مقصد متحرک کافی است که دو بردار +۵ و -۷ یعنی مبدای حرکت و میزان جا به جایی متحرک را با هم جمع کنیم تا به مقصد یعنی منفی ۲ (-۲) برسیم. در اینجا اگر سه متحرک الف، ب، پ داشته باشیم که بردار مکان آنها +۴ و +۱۳ و +۱۵ باشد میتوانیم نتیجه بگیریم که دو متحرک ب و پ که فاصلهی بردار آنها ۲ است به هم نزدیکترند تا دو متحرک الف و ب که فاصلهی دو بردار آنها ۱۱ است.
یا اگر از مختصات دو بعدی ایکس و ایگرگ استفاده میکردیم هم کافی بود بردار مبدا متحرک (برداری که طول و عرض آن نشاندهندهی فاصله متحرک از مبدا نسبت به محور افقی و عمودی است) را با بردار جا به جایی آن جمع کنیم تا پیدا کنیم که متحرک در پایان به کجا میرسد. یا برای این که ببینیم از بین سه متحرک الف، ب و پ کدام دو تا به هم نزدیکترند کافی بود که بردارهای آنها را دو به دو از هم کم کنیم و هر کدام که کوچکتر بود را انتخاب کنیم.
بردارسازی که به آن دگرنمایی یا جاسازی (embedding) هم گفته میشود [به معنای جا دادن کلمات در یک فضای چند بعدی یا نمایش کلمات در یک فضای چند بعدی] کمک میکند تا کلمات در یک فضا (مشابه با محورهای مختصات در درس فیزیک) جاسازی شوند. در پایان جاسازی واژگان، هر واژه در نقطهای از این فضا قرار میگیرد که شبیه به نمایش مکان متحرک در مثال قبلی است. هر چه دقت این بردارها بیشتر باشد عملیات بعدی دقیقتر و درستتر خواهد بود.
حالا با در نظر گرفتن آموختههای درس فیزیک بیایید مثالی از بردارهای کلمات را با هم مرور کنیم. برای سادگی فرض میکنیم که دستگاه مختصات یک بعدی است و فقط محور ایکس وجود دارد. در نظر بگیرید که در پایان بردارسازی کلمات، کلمهی «برادر» در نقطهی ۱۱ و کلمهی «مرد» در نقطهی ۶ و کلمهی «زن» در نقطهی +۷ قرار گرفته باشند. حدس بزنید اگر بردارهای «مرد»، «زن» و «برادر» را به شکل زیر جمع و تفریق کنیم نتیجه چه خواهد شد؟
برادر – مرد + زن = ؟
احتمالن درست حدس زدید! نتیجهی این عملیات ریاضی که بردار +۱۲ خواهد بود باید محل قرار گرفتن کلمهی «خواهر» در دستگاه مختصات باشد.
حالا به این پرسش پاسخ دهید:
گیلان – رشت + کردستان = ؟
بله! پاسخ باید برابر با سنندج باشد اگر مکانیزم بردارسازی ما به اندازه کافی دقیق و درست باشد.
با این مقدمه نگاهی بندازیم به ویدیوهای زیر که تلاش دارد نشان دهد چگونه میتوان کلمات را در نقاط مختلف یک فضا جاسازی کرد.
ویدیوی یک: از ابتدا تا دقیقه ۶
لینک
A Complete Overview of Word Embeddings by AssemblyAI
ویدیوی دو: از دقیقه ۶:۳۰ تا دقیقه ۱۰:۳۰
لینک
What Are Word Embeddings? by Under The Hood
دیدگاهتان را بنویسید