ایجاد مدل متنی ساده برای طبقه بندی در متلب

  • سه شنبه 24 خرداد 1401
  • بازدید ۲۳ نفر

ایجاد مدل متنی ساده برای طبقه بندی در متلب

ایجاد مدل متنی ساده برای طبقه بندی در MATLAB

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

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

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

 

ایجاد مدل متنی ساده برای طبقه بندی در متلب

برچسب های موجود در ستون Category جدول را به دسته بندی تبدیل کنید و توزیع کلاس ها را در داده ها با استفاده از یک هیستوگرام مشاهده کنید.

ایجاد مدل متنی ساده برای طبقه بندی در متلب

داده ها را به یک مجموعه آموزشی و یک مجموعه تست نگهدارنده تقسیم کنید. درصد ماندگاری را ۱۰ درصد تعیین کنید.

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

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

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

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

از مثال تابع preprocessing preprocessText برای تهیه داده های متنی استفاده کنید.

یک مدل بسته ای از کلمات از اسناد طبقه بندی شده ایجاد کنید.

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

آموزش طبقه بندی کننده تحت نظارت

یک مدل طبقه بندی نظارت شده را با استفاده از شمارش فراوانی کلمات از مدل بسته ای کلمات و برچسب ها آموزش دهید. یک مدل طبقه بندی خطی چند کلاسه با استفاده از fitcecoc آموزش دهید. ویژگی Counts مدل بسته ای کلمات را به عنوان پیش بینی کننده ها و برچسب های نوع رویداد را به عنوان پاسخ مشخص کنید. خطی بودن زبان آموزان را مشخص کنید. این یادگیرندگان از ورودی داده های پراکنده پشتیبانی می کنند.

برای تناسب بهتر، می توانید پارامترهای مختلف زبان آموزان خطی را مشخص کنید. برای اطلاعات بیشتر در مورد الگوهای یادگیرنده طبقه بندی خطی، به مقاله آموزشی templateLinear مراجعه کنید.

ایجاد مدل متنی ساده برای طبقه بندی در متلب

تست طبقه بندی

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

برچسب های داده های آزمون را با استفاده از مدل آموزش دیده پیش بینی کنید و دقت طبقه بندی را محاسبه کنید.

پیش بینی با استفاده از داده های جدید

نوع رویداد گزارش های کارخانه جدید را طبقه بندی کنید. یک آرایه رشته ای حاوی گزارش های کارخانه جدید ایجاد کنید.

مثال تابع پیش پردازش

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

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

کلمات دارای ۱۵ کاراکتر یا بیشتر را با استفاده از removeLongWords حذف کنید.

نکته پایانی: این مقاله آموزشی متلب از مثال های آماده خود نرم افزار MATLAB است که اگر تولباکس تجزیه و تحلیل متن (Text Analytics Toolbox) بر روی متلب شما نصب باشد، می توانید با تایپ دستور زیر در پنجره کامند متلب به این کدها و دستورات دسترسی داشته باشید.

منبع: mathworks

 

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

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