پیش پردازش داده های متنی برای آماده سازی جهت تجزیه و تحلیل در متلب

  • دوشنبه ۲۳ خرداد ۱۴۰۱
  • بازدید ۴۱۳ نفر

تصویر preprocesses-text-datas-analysis-matlab_5082_1 پیش پردازش داده های متنی برای آماده سازی جهت تجزیه و تحلیل در متلب

پیش پردازش داده های متنی برای تجزیه و تحلیل در MATLAB

این مثال نحوه ایجاد تابعی را در متلب نشان می دهد که داده های متنی را برای تجزیه و تحلیل و پاکسازی پیش پردازش می کند. داده های متنی می تواند بزرگ باشد و همچنین حاوی نویزهای زیادی باشد که بر روی تحلیل آماری تأثیر منفی می گذارد. به عنوان مثال، داده های متنی می تواند حاوی موارد زیر باشد:

  • تغییرات موردی، به عنوان مثال “new” و “New”
  • تغییرات در اشکال کلمه، به عنوان مثال “walk” و “walking”
  • کلماتی که نویز اضافه می کنند، به عنوان مثال کلماتی مانند “the” و “of” را متوقف می کنند
  • علائم نگارشی و کاراکترهای خاص
  • تگ های HTML و XML

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

تصویر preprocesses-text-datas-analysis-matlab_5082_2 پیش پردازش داده های متنی برای آماده سازی جهت تجزیه و تحلیل در متلب

لود و استخراج داده های متنی

داده های نمونه را بارگیری کنید. فایل factoryReports.csv حاوی گزارش های کارخانه، از جمله توضیحات متنی و برچسب های دسته بندی برای هر رویداد است.

داده های متنی را از قسمت Description و داده های برچسب را از فیلد Category استخراج کنید.

 

 

قطعه بندی اسناد (Tokenized Documents)

آرایه ای از اسناد قطع بندی شده ایجاد کنید.

 

برای بهبود واژه سازی (Lemmatization) ، بخشی از جزئیات گفتار را با استفاده از addPartOfSpeechDetails به اسناد اضافه کنید. از تابع addPartOfSpeech قبل از حذف کلمات توقف و lemmatizing استفاده کنید.

کلماتی مانند “a” ، “and” ، “to” و “the” که به کلمات توقف معروف هستند، می توانند به داده ها نویز اضافه کنند. شما می توانید با استفاده از تابع removeStopWords فهرستی از کلمات توقف را حذف کنید. قبل از استفاده از تابع normalizeWords از تابع removeStopWords استفاده نمایید.

 

کلمات را با استفاده از normalizeWords یکنواخت کنید.

 

علائم نگارشی را از اسناد پاک کنید.

 

کلمات با 2 نویسه یا کمتر و کلمات با 15 نویسه یا بیشتر را حذف کنید.

 

ایجاد مدل بسته از کلمات

یک مدل بسته ای از کلمات را ایجاد کنید.

 

کلماتی که بیش از دو بار در مدل بسته ای کلمات ظاهر نمی شوند را حذف کنید.

 

برخی از مراحل پیش پردازش مانند removeInfrequentWords اسناد را در مدل بسته ای کلمات خالی می گذارد. برای اطمینان از اینکه پس از پیش پردازش، هیچ سند خالی در مدل بسته ای از کلمات باقی نمی ماند، از removeEmptyDocuments به عنوان آخرین مرحله استفاده کنید. همچنین اسناد خالی را از مدل بسته ای کلمات و برچسب های مربوطه را از برچسب ها حذف کنید.

 

ایجاد تابع پیش پردازش

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

  1. فهرستی از کلمات توقف مانند “and” ، “off” و “the” را با استفاده از removeStopWords حذف کنید.
  2. کلمات را با استفاده از normalizeWords یکنواخت کنید.
  3. با استفاده از erasePunctuation علائم نگارشی را پاک کنید.
  4. کلمات دارای 2 کاراکتر یا کمتر را با استفاده از removeShortWords حذف کنید.
  5. کلمات دارای 15 کاراکتر یا بیشتر را با استفاده از removeLongWords حذف کنید.

از مثال تابع پیش پردازش (preprocessText) برای تهیه داده های متنی استفاده کنید.

 

مقایسه با داده های خام

داده های از پیش پردازش شده را با داده های خام مقایسه کنید.

 

کاهش داده ها را محاسبه کنید.

 

داده های خام و دادخ های پاک شده را با تجسم دو مدل بسته ای کلمات با استفاده از ابرهای کلمه ای مقایسه کنید.

 

تصویر preprocesses-text-datas-analysis-matlab_5082_2 پیش پردازش داده های متنی برای آماده سازی جهت تجزیه و تحلیل در متلب

تابع پیش پردازش

تابع preprocessText مراحل زیر را به ترتیب انجام می دهد:

  • با استفاده از tokenizedDocument متن را قطعه بندی کنید.
  • فهرستی از کلمات توقف مانند “off” ، “and” و “the” را با استفاده از removeStopWords حذف کنید.
  • کلمات را با استفاده از normalizeWords یکنواخت کنید.
  • با استفاده از erasePunctuation علائم نگارشی را پاک کنید.
  • کلمات دارای 2 کاراکتر یا کمتر را با استفاده از removeShortWords حذف کنید.
  • کلمات دارای 15 کاراکتر یا بیشتر را با استفاده از removeLongWords حذف کنید.

نکته پایانی: این مقاله آموزشی متلب از مثال های آماده خود نرم افزار MATLAB است که شما می توانید با تایپ دستور زیر در پنجره کامند متلب به این کدها و دستورات دسترسی داشته باشید.

منبع: mathworks

 

مطالب مرتبط
ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است