هوش مصنوعی -الگوریتم مدل فضای برداری3- ابراهیم خلیلی

هوش مصنوعی -الگوریتم مدل فضای برداری3- ابراهیم خلیلی هوش مصنوعی -الگوریتم مدل فضای برداری3- ابراهیم خلیلی

هوش مصنوعی -الگوریتم مدل فضای برداری3- ابراهیم خلیلی

هوش مصنوعی -الگوریتم مدل فضای برداری3- ابراهیم خلیلی

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

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

در مدل سازی کلمه با کلمه، بررسی کردیم که کلمهdata  در دو جمله  با سایر کلمات اون جمله چه رابطه ای داره و ماتریسی به دست آوردیم که این رابطه و نزدیکی مفهومی اونها رو به نوعی مدل سازی کنه. این بار می خواهیم چند مقاله و یا حیطه موضوعی رو با معیار قرار دادن کلمات و کلیدواژه ها، از لحاظ نزدیکی با همدیگر بررسی کنیم و به ماشین بفهمونیم که این دو موضوع به همدیگه نزدیک هستند. این نوع مدل سازی رو ما هر روز در تکنولوژی های اطرافمون از جمله در شبکه های اجتماعی و موتورهای جستجو می بینیم. برای مثال فرض کنید ما کلیدواژه ((کهکشان)) رو در موتورجستجو گوگل در بخش تصاویر جستجو میکنیم که نتایج را به شکل زیر به ما ارائه می دهد:

همانطور که مشاهده میکنید، موتور جستجو گوگل در آیکون های بالای تصاویر مربوط به موضوع ((کهشکان))، موضوعات دیگری مانند (( سیارات))، ((نجوم))، ((زمین))، ((والپیپر))، ((پس زمینه))، ((تلسکوپ)) و غیره رو بهمون پیشنهاد می ده. شاید در نگاه اول فکر کنیم خب این کار مهمی نیست و هر انسانی میدونه که موضوع ((کهشکان)) با موضوع (( تلسکوپ)) و یا ((جرم)) نزدیکی مفهومی داره، ولی یادتون نره که ما در این تکنولوژِی ها با یک سری کدهای برنامه نویسی طرف هستیم، نه با یک موجود هوشمند؛ به عبارت دیگر، برای یک نرم افزار یا یک ماشین، موضوع (( سیاره)) یا (( کهکشان)) مفهوم خاصی نداره، مگر اینکه به وسیله یک سری داده ها   و مدل سازی ها، این مفاهیم رو بتونه پردازش و طبقه بندی کنه. پس وظیفه کسی که این تکنولوژی رو به وجود آورده این بوده که از طریق این کدها، الگوریتم هایی رو ابداع کنه که یک ماشین، توانایی مقایسه مفاهیم رو با همدیگه داشته باشه.

خب الان فرض کنید می خوایم برای یک نرم افزار تعریف کنیم که سه موضوع ((سرگرمی))، ((اقتصاد)) و ((یادگیری ماشین)) به چه میزان با هم نزدیکی موضوعی و مفهومی  دارند. ابتدا باید برای هر کدام از موضوع های ذکرشده، یک سری منابع داشته باشیم؛ مثلا برای هر کدوم از سه موضوع گفته شده، دسترسی به 100 مقاله و صفحه اینترنتی داشته باشیم.


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

 

این اعداد به این معناست که مثلا در مقالات حیطه سرگرمی، 500 بار کلیدواژه ی ((داده)) تکرار شده است، این در حالیست که تعداد تکرار این کلیدواژه برای حیطه یادگیری ماشین، 6620 و در حیطه اقتصاد 9320 بار بوده است. بنابراین، در نتایج اولیه ماشین می فهمد که با معیار قرار دادن کلیدواژه ((داده))، دو موضوع اقتصاد و یادگیری ماشین نسبت به سرگرمی به هم دیگر نزدیک تر هستند. حال به سطر دوم جدول توجه کنید، جایی که کلیدواژه ی ((ویدیو)) در مقالات حیطه سرگرمی 7000 بار، در مقالات یادگیری ماشین 4000 بار و در مقالات اقتصاد 1000 بار تکرار شده است. پس اینبار با معیار قرار دادن کلیدواژه ویدیو، دو موضوع یادگیری ماشین و سرگرمی نسبت به اقتصاد بهم نزدیک تر هستند . بنابراین صرفا با داده های خام و جداول، نمی توان مشخص کرد که کدام موضوع ها به هم دیگر نزدیک تر هستند. پس برای مشخص کردن نزدیکی و قرابت دقیق دو مفهوم با همدیگر، نیاز به ترسیم نمودار و ایجاد فضای برداری داریم و برای مدل سازی مقادیر به دست آمده ، سراغ میدان های برداری می رویم. با توجه به اینکه دو متغییر ((داده))  و ((ویدیو )) را مورد بررسی قرار دادیم، یک دستگاه مختصات کارتزین با دو محور با نام های ((داده)) و ((ویدیو)) رسم میکنیم که در شکل زیر، مشخص شده است: 


سپس، برای هر یک از موضوعات، یک بردار در این دستگاه رسم می کنیم؛ یا به عبارت دیگر بردارهای سرگرمی با مختصات (500,700)، اقتصاد با مختصات (6620,4000) و یادگیری ماشین با مختصات (9320,1000) رو در محور داده – فیلم رسم می کنیم . 

 

اگر بردار سرگرمی را با A ، بردار اقتصاد را با B و بردار یادگیری ماشین را با C نشان دهیم، بردارها به زبان ریاضی، به صورت های زیر بیان می شوند:

 


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

منابع : 

http://technoamooz.ir/product/classification-vector-spaces-in-nlp/

http://machinelearningmastery.com/a-gentle-introduction-to-vector-space-models/

https://www.aparat.com/v/goalx?playlist=657059 


مقاله هفتم هوش مصنوعی


دوستان عزیزم؛ برای ارتباط با برترها و رزرو پشتیبان ویژه پیج کانون برترها را  دنبال کنید.

همچنین میتوانید با شماره 0218451 داخلی 3123 تماس بگیرید.


Menu