هنگامی که از متخصص علم داده صحبت میکنیم. منظورِ ما تبدیل شدن به شخصی است که بتواند از میان انبوهی از دادهها، الگوها و به دنبال آن. ارزشهای نهفته در بین آنها را کشف کند. کشف این الگوهاست که میتواند ارزشِ افزودهی یک کسبوکار را بالا و بالاتر ببرد.
اما برای تبدیل شدن از یک فردِ غیر متخصص به یک متخصص در حوزهی داده کاوی مراحلی لازم است. طبیعی است که مراحلی که در این مقاله نوشته میشوند تنها راهکار موجود نیستند. با این همه، به نظر میرسد که یک متخصص علم داده بایستی این ۸ قدم را دنبال کند.
در ادامهی مقاله این ۸ قدم را شرح میدهیم. سپس یکی از زیر حوزههای داده کاوی که متن کاوی است. را معرفی میکنیم و چند کاربرد آن در حوزههای مختلف را توضیح میدهیم.
مثالی از کاربرد علم داده
فرض کنید شرکتی مانند آمازون (یا نمونههای مشابه دیگر) که در واقع یک خردهفروشی و واسط فروش به صورت آنلاین هستند. با استفاده از دادههای خود، پیشبینی کنند که در سه ماه آینده کدام محصولات و هر کدام به چه مقدار، فروش خواهند رفت. طبیعی است که، این پیشبینی میتواند به مقدار زیادی به رشد این کسبوکار و افزایش سود آن منجر شود.
همین پیشبینیِ ساده که در بالا گفته شد. میتواند به تنظیم انبارهای فروش در مناطق مختلف کمک کرده. و هزینههای انبارداری و لجستیک را به میزان قابل توجهی کاهش دهد. مثلا آمازون پیشبینی میکند که در آغاز فصل تابستان، در منطقهی خاورمیانه، فروشِ نوعی لپتاپ افزایش پیدا میکند. این شرکت میتواند توسط کشتیهای تجاری مختلف، آن نوع لپتاپ را قبل از ایجاد نقطهی پیکِ تقاضاها. به انبار خود در خاورمیانه، انتقال دهد و در هنگام سفارش، به سرعت محصول را تحویل مشتری نماید. این کار باعث افزایش سرعت تحویل و رضایت مشتری و همچنین کاهش هزینههای حملونقل میشود.
در مثال گفته شده، افرادی که این سیستمِ پیشبینی را تولید میکنند، متخصصان علم داده هستند. این افراد که به متخصصین یادگیری ماشین یا متخصص دادهکاوی نیز شناخته میشوند، میتوانند سیستمهایی با قابلیت پیشبینی و یادگیری ساخته و به قسمتهای مختلف کسبوکارها کمک کنند. توجه کنید که عبارتهای «دادهکاوی» و «یادگیری ماشین» ممکن است به جای همدیگر استفاده شوند.
۱. یادگیری مبانی آمار و احتمالات
آمار و احتمالات یکی از علوم اساسیِ مورد نیاز در بسیاری از فعالیتهای علوم مهندسی است. علوم داده هم از این مورد استثنا نیست و در واقع علوم داده، خود را مدیونِ آمار و احتمالات و دانشمندان این حوزه میداند. بسیاری از الگوریتمهای ارائه شده در حوزهی دادهکاوی و یادگیری ماشین، بر مبنای آمار و احتمالات ارائه شدهاند و این خود میتواند دلیلی بر این گفته باشد که علم آمار و احتمال، مادر علوم مرتبط با داده است.
البته سوالی که برخی از دانشجویان مطرح میکنند این است تا چه مقدار بایستی آمار و احتمالات را برای حوزهی علوم داده یاد گرفت؟ پاسخ به این سوال بستگی به علاقه دانشجویان در زیر حوزهی مورد نیازشان دارد. برخی از دانشجویان بیشتر به سمت تحلیل و آنالیز داده میروند. این دانشجویان طبیعتاً بیشتر نیاز دارند تا مباحث آماری و تحلیلهای آماری را یاد بگیرند. اما اگر دانشجویی بیشتر به سمت پیادهسازی و رفتارهای مهندسیِ داده برود، نیاز به مباحث آماری کمتر حس میشود. با این همه، انتظار میرود تمامی دانشجویان، مستقل از حوزهی کاری، با مباحث پایهی آمار و احتمالات و تئوریهای اولیهی آن در حوزهی داده آشنایی داشته باشند.
برای یادگیری آمار و احتمالات منابع زیادی وجود دارد. برای مثال کتاب آمار و احتمالات مهندسی تالیف دکتر نعمت الهی و یا کتاب آمار و کاربرد آن در مدیریت که در دو جلد تنظیم شده است، از جلمه کتب اکادمیک خوب در این حوزه هستند. البته این کتابها بیشتر کتابهای دانشگاهی هستند ولی به دلیل محتوای بسیار خوب، میتوانند در راستای یادگیری آمار و احتمالات کاربردی مفید باشند. همچنین دورههای مختلف آنلاین به صورت رایگان وجود دارند که میتوانید از آنها در جهت یادگیری آمار و احتمالات استفاده کنید.
۲. یادگیری یک زبان برنامهنویسی
در مورد مزایای یادگیری یک زبان برنامهنویسی که سخنهای بسیاری رفته است. لازم به گفتن نیست که امروزه در بسیاری از رشتههای مهندسی، آموختنِ یک زبان برنامهنویسی از ملزومات پیشرفت تخصصی در آن رشته است. علوم داده نیز جدا از این رشتهها نیست. و هر متخصص علم داده بهتر است با زبانهای برنامهنویسی مانند پایتون، R یا جاوا، آشنایی داشته باشد، این زبانها میتوانند الگوریتمها و فرآیندهای یادگیری ماشین را بر روی یک پلتفرم اجرایی، پیادهسازی کنند. همچنین کتابخانههای آماده در این زبانهای برنامهنویسی وجود دارند که سرعت پیادهسازی فرآیندهای دادهکاوی را افزایش میدهند.
۳. یادگیری مبانی ماتریسها و جبر خطی
بسیاری از الگوریتمهای دادهکاوی مبتنی بر فضای جبر خطی (Linear Algebra) هستند. آنها از ماتریسها و عملیاتِ ماتریسی در فرآیندهای خود، بسیار استفاده میکنند. از این جهت، یادگیری مباحث پایهی ماتریسها و جبرخطی کمک شایانی به درک کارکرد الگوریتمهای علوم داده میکند. در برخی از کتابهای آموزش دادهکاوی و یادگیری ماشین، معمولاً یک فصل به این موضوع اختصاص داده شده است و یا در خلال آموزش مباحث، به بحث ماتریسها و جبر خطی میپردازند. ولی اگر بخواهیم کتابی را در این حوزه معرفی کنیم، میتوانیم به کتاب جبر خطی آقای اوار نرینگ اشاره کنیم.
۴. یادگیری مقدمات دادهکاوی و یادگیری ماشین
الگوریتمهای مقدماتی دادهکاوی و یادگیری ماشین، میتوانند راهحلی برای مسائل ابتدایی و کلاسیک این حوزه باشند. این الگوریتمها توانایی این را دارند که یک دید مناسب نسبت به مسائل و روش حل آنها را به دانشجویان این حوزه آموزش دهند. الگوریتمها و تنوع آنها میتوانند به وسعت دانشِ دانشجو کمک کرده و مباحث پایه را با این الگوریتمها فرا گیرند.
در فرآیند یادگیری دادهکاوی دانشجو بایستی به روشها و الگوریتمهای مختلف طبقهبندی (Classification) و خوشهبندی (Clustering) آشنا شده و بتواند با کمک آنها، مسائل مختلف این حوزه را حل نماید. همچنین بایستی بتواند دادهها را با توجه به نیاز خود، برای این الگوریتمها آماده و تمیز نماید. در این قسمت دانشجو همچنین باید بتواند مدلهای خود را ارزیابی کرده و مدلها و الگوریتمهای مختلف را با هم مقایسه کند تا بهترین الگوریتم و مدل را برای مسئلهی خود پیدا کند.
۵. یادگیری مثالهای متنوع و کاربردی در حوزهی دادهکاوی
یادگیری به جز با تمرین و تکرار در ذهن ماندگار نمیشود. اگر میخواهید به فردی خبره در این حوزه تبدیل شوید حتماً بایستی الگوریتمهای متنوع را بر روی مجموعه دادههای متنوع آزمایش کرده و نتایج را ببینید. مشاهدهی مثالهای مختلف و روش حل آنها میتواند الگوی حل مسئلهی دادهکاوی را در ذهن دانشجو هر چه بیشتر تعمق دهد. برای خبره شدن در این حوزه شرکتها و موسسات مختلفی وجود دارند
که میتوانید در آنها به کارآموزی بپردازید یا مسائل آنها را حل کنید. برای مثال میتوان به سایت Kaggle اشاره کرد که با برگزاری مسابقات متعدد، توانسته مرجع خوبی از مثالهای واقعی در حوزهی دادهکاوی باشد. با مراجعه و خواندن دادههای موجود در دنیای واقعی در این سایت، ذهن دانشجو میتواند به سرعت به صورت دادهمحور فکر کرده و مسئله را با توجه به ساختار موجود حل نماید.
۶. شبکههای عصبی و یادگیری عمیق
شبکههای عصبی (Neural Networks) و شبکههای عصبی عمیق یا همان یادگیری عمیق (Deep Learning)، کیفیت خروجیهای دادهکاوی را بالاتر بُرد و توجه بسیاری از افراد و دانشمندان این حوزه را به خود جلب کرد. در دادهکاوی دانشجویان میتوانند با استفاده از شبکههای عصبی عمیق و روشهای مختلفِ یادگیری عمیق، مسائل به مراتب پیچیدهتری را حل کرده و کیفیت مسائل مختلف را ارتقا ببخشند. این دست از الگوریتمها توانایی یادگیری الگوهای به مراتب پیچیدهتر در دادهها را دارند و رفته رفته به یکی از پایههای اصلی در حل مسائل دادهکاوی تبدیل شدهاند.
۷. یادگیری زیرحوزههای تخصصیِ علوم داده
بخشهای متفاوتی مانند متنکاوی (Text Mining)، تصویرکاوی (Image Mining)، فیلمکاوی (Video Mining)، صداکاوی (Voice Mining)، کار بر روی دادههای اقتصادی و… از زیرحوزههای مطرح در دادهکاوی هستند. دانشجویان بعد از فراگیری الگوریتمها، میتوانند یک یا چند زیر حوزه را به عنوان زیرحوزهی تخصصی انتخاب کرده و بر روی مسائل مربوط به آن زیرحوزه تمرکز کنند. همچنین یک فرد متخصص علم داده ، معمولاً در یکی از این زیرحوزهها تخصصِ لازم را پیدا کرده و مسائل پیچیدهتر هر زیرحوزه را به خوبی شناسایی و حل میکند.
۸. یادگیری الگوریتمها و روشهای پیشرفته مانند یادگیری تقویتی و روشهای بهینهسازی کاربردی
یادگیری تقویتی یا همان Reinforcement Learning و ترکیب آن با روشهای یادگیری عمیق، میتواند مسائل پیشرفتهتری را حل کند. یادگیریِ این روشها به دانشجو این امکان را میدهد تا بتوانند مسائل پیشرفتهتر در محیط پویا را حل کند.
متن کاوی
در ادامه برای تثبیت و تحکیم یادگیری و ایجاد یک دید از آیندهی شغلی در این حوزه، به یکی از زیرحوزههای دادهکاوی یعنی متن کاوی (Text Mining) میپردازیم. متن کاوی (Text Mining) یا پردازش زبان طبیعی (NLP) یکی از زیرحوزههای علم داده و دادهکاوی است. که بسیاری از شرکتهای فعال در حوزهی دادهکاوی، تمرکز خود را بر روی متنکاوی و استخراج الگوها از متن قرار دادهاند. در متن کاوی تمرکز روی دادههای متنی یعنی همان نوشتارهای روزمره است که از کلمات مختلف تشکیل شدهاند (مانند کلمات در زبانهای فارسی یا انگلیسی).
حجم زیادی از دادههای تولید شده توسط بشر امروزی، به صورت متن جمعآوری شده است و این خود محتوایی ارزشمند و غنی و به تبع آن، الگوهای پیچیده در میان دادههای متنی ایجاد کرده است. اما چگونه با استفاده از ابزارهای جدید، مانند کامپیوترها و ابرکامپیوترها، میتوان این الگوهای ارزشمند را از میان دادهها استخراج کرد؟ پاسخ این سوال، حوزهی متن کاوی را پدید آورد و بسیاری از دانشمندان، بر روی دادههایی از جنس متن شروع به کار کردند.
در حوزهی متن، روشهای مختلف و متفاوتی ارائه شده است که هر کدام برای یک یا چند مورد از مسائل این حوزه کاربرد دارند. این الگوریتمها معمولا توسط زبانهای برنامهنویسیِ مطرح مانند پایتون یا جاوا پیادهسازی هم شدهاند و برخی از آنها در کسبوکارهای بزرگ نیز مورد استفاده قرار گرفتهاند.
تحلیل احساس کاربران توسط متن کاوی
برای مثال، فرض کنید کسبوکاری مانند گوگلپلی (و یا مشابههای داخلی آن) میتوانند توسط الگوریتمهای متن کاوی، نظرات درج شده توسط کاربران در هر کدام از اپلیکیشنها را ارزیابی کرده و از کیفیت یا عدم کیفیت هر کدام از نرمافزارها (با توجه تحلیل احساس هر کدام از نظرات) با خبر شوند. این تحلیل احساس یا همان Sentiment Analysis میتواند بسیار دقیقتر یا پیشرفتهتر نیز شود.
فرض کنید هر کدام از متنها حاوی نظراتی راجع به قسمتی از نرمافزار باشند. مثلاً شخصی گفته باشد که «این اپلیکیشن از لحاظ ظاهری خوب است ولی سرعتش کم است». الگوریتمهای پیشرفته و روشهای ترکیبی تحلیل احساس میتوانند این تفکیک را در یک نرمافزار خاص متوجه شوند. در واقع الگوریتمها و روشهای متنکاوی، توانایی تحلیل متون را مانند انسان دارند.
جستجو در میان انبوهی از متنها توسط متن کاوی
از دیگر مسائلی که متن کاوی به دنبال حل آن است، جستجو در میان انبوهی از متنهاست. ساخت موتورهای جستجو مانند گوگل یا یاندکس از جملهی این مسائل هستند. گروهبندی متنها و صفحات مختلف و واکشی محتوای مناسب از میان انبوهی از متون، میتواند در جستجوی بسیار سریع از میان انبوهی از محتواها کمک شایانی کرده و کیفیت جستجو را افزایش دهد
. این الگوریتمها توانایی تحلیل و درک متون موجود در یک صفحه را دارند. برای مثال اگر صفحهای راجع به «بازی موبایل» باشد، این موتورهای جستجو میدانند که در این صفحه میتوان محتوایی مانند «بازی»، «موبایل»، «نرمافزار»، «آیتی» و… پیدا کرد، پس موتورهای جستجو صفحه را در کنار صفحاتی که در همین زمینهها فعالیت دارند، قرار میدهند و در هنگام جستجو، این صفحات را به کاربر نمایش میدهند.
راه اندازی سیستم خودکار پاسخ دهی به تیکت پشتیبانی توسط متن کاوی
یا برای مثال فرض کنید سامانهای دارید که افراد مختلف، با استفاده از سیستم پشتیبانی، تیکتها (tickets) و درخواستهای متفاوت را برای واحدهای مختلف یک شرکت ارسال میکنند. این تیکتها بایستی برای واحد مربوطه فرستاده شوند. یک سیستم هوشمند با استفاده از الگوریتمهای متنکاوی میتواند به صورت خودکار یک تیکت پشتیبانی را به واحد مربوطه ارسال کند.
همچنین در حالت پیشرفتهتر، یک پاسخ خودکار تولید کرده و آنرا برای کاربر ارسال نماید. بسیاری از شرکتها با توجه به روابطی که با مشتریان خود در طول سالهای متمادی داشتهاند، به دادههای ارزشمندی در قسمت پرسش و پاسخ خود رسیدهاند. برای مثال مشتریان بسیار زیاد هر روزه با اپراتور به صورت متنی چت میکنند. این چتها میتوانند دادههای ارزشمندی باشند که الگوریتم از همین پرسش و پاسخها، یادگیری را انجام داده و از این به بعد، خود الگوریتم به صورت خودکار میتواند پاسخهایی مفید و راهگشا به پرسش کاربران بدهد.
مدیریت ریسک سرمایهگذاری توسط متن کاوی
کاربرد دیگر متنکاوی را میتوان مدیریت ریسک سرمایهگذاری دانست. شرکتهای بزرگ سرمایهگذاری میتوانند با استفاده از تحلیل اخبار و نوشتههای موجود در روزنامههای رسمی شرکتها، به نکات مهم و ارزشمندی برای سرمایهگذاری دست پیدا کنند. برای مثال ممکن است الگوریتم، با توجه به اخباری که در گذشته از میان متون خبری یاد گرفته است، که هر گاه خبری در مورد واردات یک محصول خاص مشاهده کند بعد از یک هفته، سهام یک شرکت خاص افزایش پیدا میکند. الگوریتم با توجه به این الگوها و روندهایی که خود تشخیص میدهد، توانایی پیشنهاد سرمایهگذاری بر روی یک شرکت خاص را میدهد به گونهای که این شرکت خاص، سود زیادی برای صاحبان سرمایه به دست آورد.
تشخیص جرایم آنلاین توسط متن کاوی
متنکاوی در تشخیص جرایم آنلاین نیز میتواند نقش موثری ایفا کند. برای مثال سارقینی که طعمههای خود را از طریق فضای مجازی شکار میکنند، میتوانند صاحب الگوهایی خاص در میان چتها و یا کامنتها در شبکههای اجتماعی باشند. پلیس امنیت فضای مجازی در هر کشور میتواند با رصد کردن هوشمند شبکههای مجازی، به شناسایی این الگوها و مقابله با آنها به صورت قانونی اقدام کند.
تبلیغات هوشمند آنلاین توسط متن کاوی
از دیگر حوزههایی که متنکاوی میتواند نقش موثری در آن داشته باشد، تبلیغات هوشمند آنلاین است. شرکتهای تبلیغاتی با تحلیل صفحاتی که تبلیغاتشان در آنها قرار دارند، میتوانند محتوای صفحهی وب را درک کنند و تبلیغی را در آن صفحه نمایش دهند که مرتبط با موضوعِ موجود در آن صفحه باشد. برای مثال در یک صفحه ممکن است مطلبی در مورد «کیت الکترونیکی» باشد. موتورهای تبلیغاتی هوشمند که توسط مدیر سایت قرار داده شده است و دسترسی به آن صفحه دارند، سعی میکنند تا بتوانند مرتبطترین تبلیغ را به کاربر نمایش دهند.
جمعبندی:
برای تبدیل شدن به یک متخصص علم داده در حوزهی داده کاوی مراحلی لازم است. در این مقاله ۸ قدم تبدیل شدن به متخصص علم داده را توضیح دادیم، اما مسیر گفته شده در بالا، تنها مسیر موجود نیست و هر کدام از دانشجوها با توجه به علایق و تواناییهای خود میتوانند راههای مختلف را طی کنند ولی مسیر و نقشهی راه گفته شده در بالا، یکی از راههایی است که به نظر، مورد توجه بسیاری از دانشمندان حوزهی علوم داده است.
در ادامهی مقاله به معرفی یک از زیرحوزههای داده کاوی یعنی متن کاوی پرداختیم و چند کاربرد متن کاوی را توضیح دادیم، البته متن کاوی و پردازش زبان طبیعی موارد ذکر شده محدود نمیشود. ساخت و تصحیح متون، ایجاد متون تحلیلی، ساخت زیرنویسها، ترکیب متون برای ایجاد متون جدید، طبقهبندی اسناد به صورت خودکار، کشف روابط پنهان میان مقالات، ایجاد رباتهای گفتگو کننده (چتبات) و موارد متعدد دیگر میتوانند از کاربردهای دیگر متن کاوی باشد.