انجام مراحل مختلف پیش پردازش متون با استفاده از Parsivar [بخش دوم]

انجام مراحل مختلف پیش پردازش متون با استفاده از Parsivar [بخش دوم]

نوشته شده توسط: تیم فنی نیک آموز
تاریخ انتشار: ۰۲ تیر ۱۳۹۹
آخرین بروزرسانی: ۱۷ تیر ۱۴۰۳
زمان مطالعه: 18 دقیقه
۱
(۱)

مقدمه

در این مقاله آموزشی بخش دوم از مراحل پیش پردازش متون را به کمک کتابخانه پارسی ور پیاده سازی کردیم. در این مجموعه ۴ بخشی، در بخش اول مفاهیم پردازش زبان طبیعی بررسی کرده و مهم ترین کاربردهای آن بیان شد. سپس در بخش دوم با ابزارهای پیش نیاز برای انجام یک پروژه پردازش زبان طبیعی آشنا شدیم. در بخش سوم برخی از مراحل مختلف پیش پردازش متون را با استفاده از Parsivar انجام دادیم. در نهایت و در بخش چهارم مابقی مراح پیش پردازش متون را با استفاده از پارسی ور پیاده کردیم.
مراحل پیش پردازش معمولا ثابت بوده و شامل مواردیست که در این آموزش به مرور ابتدا تعریف شده و سپس نحوه استفاده از آن در پارسی ور بررسی می‌شود.

پیش پردازش متون شامل موارد زیر است

  • نرمال سازی متن
  • تبدیل متن به جملات(Sentence Segmentation)
  • تبدیل جملات به کلمات(Tokenization)
  • ریشه یابی(Stemming)
  • Lemmatization
  • تشخیص نقش کلمات (Part-of-speech Tagging)
  • قطعه‌بندی (Chunker)
  • پارسر یا تجزیه‌گر جملات
  • تصحیح خطای املایی (Spell Correction)

تشخیص نقش کلمات (Part-of-speech Tagging)

هدف تعیین نقش هر کلمه در جمله است؛ مثلا تعیین می‌کنیم یک کلمه فعل است یا قید یا دیگر نقش‌ها. نقش کلمات در جملات از مهم ترین پیش پرادزش‌هایی است که در بسیاری از فعالیت‌های دیگر مثل Chunker استفاده می‌شود.
برای استفاده از این قابلیت در parsivar کافی است POSTagger را import کنیم.سپس یک شی از کلاس POSTagger بسازیم.حال یک متغیر رشته ای حاوی یک جمله تعریف می‌کنیم.سپس تابع parse از شی my_tagger فراخوانی کرده و جمله مان را به عنوان ورودی ارسال می کنیم.اگر با خطای مربوط به نصب نبودن جاوا روبرو شدید باید “Java Standard Edition” و ” Java Development Kit (JDK)” نصب کنید. سپس طبق این سایت، متغیرهای سیستمی لازم را ایجاد کنید و سیستم خود را Restart کنید.
سپس این سلول را مجددا Run کنید. نباید دچار خطا شوید.در نهایت خروجی را چاپ می‌کنیم.برای مثال کلمه “سمینار” به عنوان “اسم” شناخته شده است “می‌یابد” فعل تشخیص داده است. خروجی “.” خودش است و یعنی پارسی ور نقش آن را نتوانسته تشخیص دهد زیرا اگر به ازای کلمه‌ای، POSTagger خود کلمه را برگرداند، یعنی POSTagger نتوانسته نقش کلمه را تشخیص دهد.

قطعه‌بندی (Chunker)

فرآیندی که طی آن گروه‌های (عبارات) اسمی، فعلی، صفات و … در یک جمله تشخیص داده می شوند. برای مثال “نخستین فاتح قله اورست” یک عبارت اسمی است. برای استفاده از این ابزار در parsivar ابتدا FindChunks را import می کنیم.در گام بعدی یک شی از کلاس FindChunks ایجاد می‌کنیم.سپس تابع chunk_sentence از شی my_chunker فراخوانی کرده و جمله مان را به عنوان ورودی ارسال می‌کنیم.برای نمایش خروجی، کد زیر را اجرا می‌کنیم.“این سمینار” به درستی تشخیص داده شده ولی دو مورد بعدی دچار خطاست.

پارسر یا تجزیه‌گر جملات

وظیفه پارسر، تجزیه و تحلیل جمله و سپس شکستن آن به اجزای تشکیل ‌دهنده‌ مثل گروه‌‌های اسمی، فعلی، و غیره و تعیین روابط بین این اجزاست. برای استفاده از این ابزار در parsivar ابتدا DependencyParser را import می‌کنیم.در مرحله بعدی یک شی از کلاس DependencyParser ایجاد می‌کنیم.سپس تابع tokenize_sentences از شی my_tokenizer فراخوانی کرده و جمله‌مان را به عنوان ورودی ارسال می‌کنیم.خروجی کد بالا تبدیل متن ورودی به لیستی از جملات است. حالا این لیست را به تابع parse_sents از شی myparser می‌فرستیم.در نهایت برای چاپ نتایج از حلقه زیر استفاده می‌کنیم.نتیجه قابل قبول است و فاصله بین “می” و “دوید” به دلیل مشکل چاپ نوشته‌های فارسی در jupyter notebook است.

تصحیح خطای املایی (Spell Correction)

فرآیند اصلاح خودکار غلط‌های املایی که در نوشته وجود دارد. برای استفاده از این ابزار در پارسی ور ابتدا فایل با این آدرس را دانلود کرده و از حالت فشرده خارج می‌کنیم.
پس از انجام موارد بالا SpellCheck را import می‌کنیم.کد بالا اجرا می کنیم و با خطای زیر روبرو می‌شوید.سپس پوشه spell را به آدرسی که در خطای بالا وجود دارد انتقال دهید. برای مثال آدرس مناسب برای سیستم بنده به صورت زیر است.پس از انتقال پوشه، دوباره این دستور را اجرا می‌کنیم.بدون خطا باید اجرا شود. سپس یک شی از کلاس SpellCheck می‌سازیم.در نهایت متن دلخواهی را به تابع spell_corrector از شی myspell_checker می فرستیم.خروجی به صورت زیر است.

چه رتبه ای می‌دهید؟

میانگین ۱ / ۵. از مجموع ۱

اولین نفر باش

title sign
دانلود مقاله
انجام مراحل مختلف پیش پردازش متون با استفاده از Parsivar [بخش دوم]
فرمت PDF
6 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
313 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
پروفایل نویسنده
title sign
معرفی محصول
title sign
دیدگاه کاربران

ثبت‌نام دوره‌های آنلاین تابستانه نیک‌آموز شروع شد 🏄
مشاهده سرفصل و رزرو رایگان
close-image