n-gram و کاربرد آن در متن‌کاوی

درس قبل را به خاطر بیاورید. در آن درس به تحلیل احساسات در نظرات مختلف پرداختیم. به این صورت که ما با استفاده از مدلی مانند کوله‌ای از کلمات (Bag of Words) کلماتِ یک متن را از همدیگر جدا کرده و هر کدام را به عنوان یک ویژگی (بُعد) در نظر گرفتیم. این ابعاد که ماتریسِ مجموعه‌ی آموزشیِ ما را تشکیل می‌دادند، به الگوریتمِ طبقه‌بندی تزریق می‌شدند تا عملیاتِ یادگیری و طبقه‌بندی جهت برچسب‌زنیِ خودکار (مثبت، منفی یا خنثی) را با توجه به ابعاد و ویژگی‌ها (که همان کلمات بودند) انجام دهند. این خلاصه‌ای از دروس گذشته‌ی این دوره بود.

ادامه خواندن “n-gram و کاربرد آن در متن‌کاوی”

تحلیل احساسات (Sentiment Analysis) در متن‌کاوی

یکی از کاربردهای متن‌کاوی که بسیار مورد توجهِ متخصصان و دانشمندان علوم‌داده قرار گرفته است، تحلیل احساسات یا همان Sentiment Analysis می‌باشد. تحلیل احساسات می‌تواند به معنیِ پیدا کردنِ احساس یا حالت گفتار (مثبت، منفی یا خنثی و یا موارد دیگر) در متون باشد. فرض کنید قبل از انتخاباتِ ریاست جمهوری یک گروهِ سیاسی به شما پیشنهاد داده است که نظراتِ مختلفِ مردم در شبکه‌های اجتماعی را جمع‌آوری کنید و بگویید که مردم در این نظرات، حس خوبی به گروهِ سیاسی داشته‌اند یا خیر؟ و یا نسبت یا درصدِ این نظرات را بگویید. این یک نوع مسئله‌ی تحلیل احساسات است که در این درس به آن می‌پردازیم.

ادامه خواندن “تحلیل احساسات (Sentiment Analysis) در متن‌کاوی”

روش TF-IDF برای ساختاردهی به داده‌های متنی

در درسِ قبلی یاد گرفتیم که چگونه می‌توان داده‌های غیرساختاریافته‌ی متنی را به داده‌های ساختاریافته‌ی ماتریسی توسط BoW تبدیل کرد. در این درس می‌خواهیم به هر کلمه در متن یک وزن اختصاص دهیم. با این کار، می‌توانیم اهمیتِ یک کلمه را در فرآیندِ مهندسیِ ویژگی (Feature Engineering) بهتر شناسایی کرده و در نهایت ویژگی‌های بهتری را برای تزریق به الگوریتم‌های بعدی مانند طبقه‌بندی یا خوشه‌بندی داشته باشیم.

ادامه خواندن “روش TF-IDF برای ساختاردهی به داده‌های متنی”

ساخت کوله‌ی کلمات (Bag of Words) در پیش‌پردازش متون

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

ادامه خواندن “ساخت کوله‌ی کلمات (Bag of Words) در پیش‌پردازش متون”

متن کاوی (Text Mining) و پردازش زبان طبیعی (NLP) چیست؟

ما هر روزه با زبانِ فارسی با هم گفت‌و‌گو می‌کنیم. انگلیسی‌ها هم با زبانِ انگلیسی با یکدیگر صحبت می‌کنند. به این صورت است که زبان، ابزاری برای ارتباط با همنوعان در‌آمده است. به این زبان، زبانِ طبیعی (Natural Language) می‌گویند و مشکلِ اصلیِ آن (از نگاهِ کامپیوتر) این است که کامپیوتر به صورت پیش‌فرض فقط ۰ها و ۱ها را می‌فهمد. یعنی یک کامپیوتر نمی‌تواند زبانِ طبیعیِ محاوره‌ایِ ما را متوجه شود. برای همین نیاز است تا یک مجموعه عملیات (Processes) بر روی این زبان طبیعی انجام شود (Natural Language Processing یا همان NLP) تا بتوان آن را برای کامپیوتر قابل فهم کرد. بعد از آن می‌توان از قدرتِ کامیپوتر در محاسبات و یادگیری ماشین استفاده کنیم تا اطلاعاتِ ارزشمندی را از میان این داده‌ها استخراج کنیم.

ادامه خواندن “متن کاوی (Text Mining) و پردازش زبان طبیعی (NLP) چیست؟”

الگوریتم ABOD جهت تشخیص داده‌های پرت از طریق زاویه

در دروس قبلی از دوره‌ی جاری با داده‌های پرت (Outliers) و چندین الگوریتم جهت شناسایی این داده‌ها آشنا شدیم. این الگوریتم‌ها معمولاً داده‌هایی را به عنوانِ داده‌ی پَرت انتخاب می‌کنند که آن داده، جدا از داده‌های دیگر باشد یا به نوعی جدا از داده‌های دیگر رفتار کنند. اگر درس ویژگی یا همان بُعد و درس داده‌هایی با ابعادِ بالا را خوانده باشید، متوجه می‌شوید که برخی از مجموعه‌ی داده‌ها در ابعادِ بسیار زیادی قرار دارند. برای مثال ممکن است یک مجموعه‌ی داده‌ی تصویری، ۱میلیون ویژگی (بُعد) داشته باشد که این، کار را برای الگوریتم‌های مختلف در داده‌کاوی سخت می‌کند. برای شناسایی داده‌های پرت در این دست از مسائل که ابعاد زیادی دارند، می‌توان از الگوریتم‌هایی مانند ABOD که در این درس به آن می‌پردازیم استفاده کرد.

ادامه خواندن “الگوریتم ABOD جهت تشخیص داده‌های پرت از طریق زاویه”

مجموعه داده‌هایی با ابعاد زیاد (High Dimensional)

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

ادامه خواندن “مجموعه داده‌هایی با ابعاد زیاد (High Dimensional)”

کاربرد الگوریتم DBSCAN در تشخیص داده‌های پَرت (Outliers)

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

ادامه خواندن “کاربرد الگوریتم DBSCAN در تشخیص داده‌های پَرت (Outliers)”

الگوریتم جنگل ایزوله (Isolation Forest) جهت تشخیص داده‌های پرت

ایده‌ی جنگل، در بین الگوریتم‌های داده‌کاوی و یادگیری‌ماشین ایده‌ی مرسومی است. برای مثال الگوریتمِ جنگلِ تصادفی (Random Forest) را از دوره‌ی الگوریتم‌های طبقه‌بندی به یاد بیاورید. ایده‌ی اصلی در الگوریتم‌هایی که با نام جنگل شناخته می‌شوند این است که این الگوریتم‌ها از تعدادی درخت (مانند درختِ تصمیم-Decision Tree) استفاده می‌کنند و با کمکِ این درختان به یک جمع‌بندیِ کلی می‌رسند. در الگوریتمِ جنگلِ تصادفی، دیدیم که این ایده‌ی کلی، به این صورت بود که می‌توانست طبقه‌بندی (Classification) را بر روی مجموعه‌ی داده انجام دهد.

ادامه خواندن “الگوریتم جنگل ایزوله (Isolation Forest) جهت تشخیص داده‌های پرت”

محاسبه‌ی داده‌های پَرت با استفاده از z-score

در درسِ گذشته در مورد تِست‌های آماری و ایده‌ی کلیِ آن‌ها در تشخیصِ داده‌های پَرت سخن گفتیم. به صورت خلاصه گفتیم این تست‌های آماری (Statistical Tests) فرض می‌کنند داده‌ها از یک توزیعِ احتمالی-مثلا یک الگوی مشخص مانند گوسی- پیروی کرده و سپس آن داده‌هایی را که از این الگو (توزیعِ احتمالی) پیروی نکنند به عنوانِ داده‌ی پَرت در نظر می‌گیرند. در این درس می‌خواهیم z-score که یکی از این روش‌ها است-و به نظر معروف‌ترین روش هم می‌رسد- را با یکدیگر یاد بگیریم.

ادامه خواندن “محاسبه‌ی داده‌های پَرت با استفاده از z-score”