تغییر نگرش‌های مولد: نگاهی به تحولات اخیر هوش مصنوعی (۲)​

word-embedding22

تغییر نگرش به شیوه نگاشت عددی کلمات

تغییر نگرش‌های مولد: نگاهی به تحولات اخیر هوش مصنوعی (۲)

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

زبان بستر اصلی انتقال مفاهیم، اندیشه‌ها و احساسات است. کلمات واحدهای سازنده زبان هستند که  با ایجاد پیوندهای معنایی پیچیده و چند لایه، درک مشترکی از جهان را میان انسان‌ها برقرار می‌سازند. فهم چند لایه زبان طبیعی به هیچ رو ساده‌ نیست. شاید ما به عنوان یک انسان با قابلیت‌های ذهنی سطح بالا و پیشرفته به این پیچیدگی‌ها چندان واقف نباشیم. یادگیری زبان برای ما یک امر بدیهی است و تنها وقتی می‌خواهیم آن را به یک موجود کم هوش تر مثل ماشین آموزش دهیم با این ظرائف و پیچیدگی‌ها مواجه می‌شویم. به عنوان نمونه آیا تا به حال به این فکر کرده‌اید که چرا کلماتی مثل “پادشاه” و “ملکه” در ذهن ما به هم نزدیک‌تر از کلمات “پادشاه” و “زرد” هستند؟ 

ظاهرا مغز انسان به صورت شهودی کلمات را بر اساس معانی و روابطشان با یکدیگر دسته‌بندی‌هایی می‌کند و بر این اساس آن‌ها را درک و پردازش می‌کند و به ساختن عبارات و جملات جدید مبادرت می‌ورزد. آیا می‌توانیم این درک شهودی از کلمات را به عنوان یکی از قابلیت‌های زبانی مهم به ماشین بیاموزیم؟

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

در حقیقت یکی از چالش‌های اساسی در حوزه هوش مصنوعی، برقراری ارتباط موثر بین انسان و ماشین  در حوزه‌های مختلف است. پردازش زبان طبیعی (NLP)، شاخه‌ای از هوش مصنوعی است که با هدف درک و تولید زبان طبیعی توسط ماشین‌ها، در قلمرو  زبان به این چالش می‌پردازد و تاکنون رویکردهای مختلفی برای فهماندن معنای کلمات و روابط معنایی عبارات در آن آزموده شده است. 

نمایش برداری کلمات (Word Embedding) راهکاری نوآورانه برای حل این مسئله است. در این روش، هر کلمه به یک بردار عددی در یک فضای چند بعدی نگاشته می‌شود. به عبارت ساده‌تر به هر کلمه مجموعه‌ای مرتب از اعداد نسبت داده می‌شود تا یک بردار عددی نشان‌دهنده آن باشد. در این شیوه کلمات در یک فضای چند بعدی قرار می‌گیرند و مقادیر آن‌ها به گونه‌ای تعیین می‌شود که کلماتی که معنای نزدیک‌تری دارند به یکدیگر در فضای برداری نیز به یکدیگر نزدیک باشند و حرکت در جهت‌های مختلف حاوی معناهایی قابل فهم در ساحت زبان باشد.

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

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

کدگذاری کلمه در قالب عدد تقریبا یکی از گام‌های ابتدایی در پردازش زبان‌های طبیعی به شمار می‌رود. به همین خاطر، مواجهه عددی با کلمات در طول زمان تحولات شگرفی را تجربه کرده است. پیش از ظهور مدل‌های زبانی بزرگ، روش‌های ساده‌تری مانند One-Hot Encoding برای نمایش کلمات به کار می‌رفت. در دوره‌های قبل از مدل‌های زبانی بزرگ، نمایش‌های کلمات عمدتاً بر اساس فراوانی کلمات در متن ساخته می‌شد. این روش‌های ساده قادر به درک مفاهیم پیچیده و روابط معنایی زبان نبودند. این مدل‌ها با روش‌های دیگری مانند Word2Vec و GloVe پیشرفت کرد و بعد در مدل‌های پیچیده‌تری مانند BERT و پیدایش مدل‌های زبانی بزرگ نوعی انقلاب در پردازش زبان‌های طبیعی و هوش مصنوعی به وجود آوردند. نگاشت کارآمد کلمات در فضاهای برداری یکی از پایه‌های اصلی در به وجود آمدن مدل‌های زبانی بزرگ است. در مدل‌های زبانی بزرگ، مقدارهای عددی کلمات با پردازش مجموعه وسیعی از داده‌های متنی تعیین می‌شود و به همین خاطر توانایی ماشین در پردازش زبان و اشراف بر بسیاری از پیچیدگی‌های آن به سطحی کاملا جدید ارتقا پیدا کرده است.

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

بازنمایی با یک و صفرها (one-hot encoding)

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

برای مثال، فرض کنید واژگان ما شامل 10,000 کلمه باشد. کلمه “کتاب” در این واژگان به یک بردار 10,000 بعدی تبدیل می‌شود که در آن عنصر مربوط به مولفه “کتاب” برابر 1 و بقیه عناصر برابر 0 هستند.

پیاده‌سازی این روش ساده است. اما مشکلاتی نیز دارد. ابعاد بردارها با افزایش تعداد واژگان افزایش می‌یابد که می‌تواند منجر به مشکلات محاسباتی شود. به علاوه این روش هیچ اطلاعاتی در مورد روابط معنایی بین کلمات ارائه نمی‌دهد. به عنوان مثال، کلمات “کتاب” و “رمان” که معنای نزدیکی دارند، در این روش بردارهای بسیار متفاوتی خواهند داشت.

این روش صرفاً حضور یا عدم حضور یک کلمه را در متن نشان می‌دهد و به فراوانی آن توجهی ندارد. برای بهبود بردارها در روش‌های بعدی سعی شده که تا به تکرار کلمات و موقعیت معنایی آن‌ها در جملات نیز تا جدی توجه داشته باشند.

فراوانی وزنی TF-IDF

روش فراوانی وزنی term frequency–inverse document frequency یا به اختصار TFD-IDF نوعی بهبود نسبت به روش one-hot encoding است. در این روش به جای کدگذاری مطلق با 0 و 1 به هر کلمه یک وزن نسبت داده می‌شود که نشان‌دهنده اهمیت آن کلمه در داده‌هایی است که با آن سروکار داریم. 

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

بسامد عبارت Term Frequency

بسامدِ عبارت نشان‌دهنده فراوانی یک کلمه یا عبارت در یک سند خاص است. چون طول سندها متفاوت است این اعداد به طول سندها (یعنی کل کلمات یا عبارات داخل آن) تقسیم می‌شود تا عددی بین صفر و یک تولید شود و طول سند خللی در محاسبات ایجاد نکند. به این ترتیب، کلماتی که در یک سند بیشتر تکرار شوند، بسامد بیشتری خواهند داشت.

معکوس بسامد اسناد (Inverse Document Frequency)

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

در این روش با در نظر گرفتن فراوانی کلمات اهمیت آن‌ها بهتر نشان داده می‌شود. مثلا در بردار کلماتی مانند “و”، “که”، “در” که در اکثر سندها ظاهر می‌شوند وزن نهایی مقدار کمتری خواهد داشت.

این روش کمک می‌کند که اهمیت هر کلمه را در هر سند در مقایسه با سایر اسناد مجموعه، بسنجیم. این نمایش عددی، نه تنها حضور یک کلمه در سند را نشان می‌دهد، بلکه فراوانی آن و نادر بودن آن در کل مجموعه اسناد را نیز در نظر می‌گیرد. اگر یک کلمه در سندی زیاد تکرار شود اما در سایر اسناد به ندرت یافت شود حتما یک کلمه کلیدی آن سند است و وزن بالایی در آن دارد. روش TF-IDF به عنوان یک ابزار قدرتمند در سیستم‌های بازیابی اطلاعات مانند Elasticsearch به کار می‌رود تا اسناد مرتبط با یک پرس‌وجو را با دقت بیشتری پیدا کنند.

ادامه دارد …

 

تغییر نگرش‌های مولد: نگاهی به تحولات اخیر هوش مصنوعی (۱)

«هوش مصنوعی مولد» شاخه‌ای از هوش مصنوعی است که بر نوع خاصی از به کارگیری ایده «یادگیری ماشین» بنا شده است. آموزش یادگیری ماشین کتاب‌ها و درس‌های دانشگاهی معمولا با یک تقسیم‌بندی حول مقوله «دادۀ برچسب‌خورده» آغاز می‌شود: یادگیری بانظارت، یادگیری بدون‌نظارت و پس از آن‌ها یادگیری تقویتی؛ اما آنچه باعث رشد و توسعه ناگهانی هوش مصنوعی مولد شده، بازی با این تقسیم‌بندی کلاسیک و خلاقیت در تلفیق آن‌ها با یکدیگر و ارائه یک چهارچوب‌ جدید است.

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors