پردازش متن فارسی در پایتون با کتابخانه هضم

۳۲۶۰
۱۴۰۳/۱۰/۹
۳ دقیقه
PDF
پردازش متن فارسی در پایتون با کتابخانه هضمپردازش متن فارسی در پایتون با کتابخانه هضم
آموزش متنی جامع
امکان دانلود نسخه PDF
سلب مسئولیت مطالب رپورتاژ آگهی: مجموعه‌ی «فرادرس» در تهیه‌ و تنظیم این محتوای تبلیغاتی نقشی نداشته و مسئولیتی راجع به صحت آن نمی‌پذیرد.

فرض کنید هزاران پیام فارسی را از شبکه‌های اجتماعی جمع‌آوری کرده‌اید و حالا می‌خواهید پردازش ساده‌ای روی این متن‌ها انجام دهید؛ مثلاً می‌خواهید بدانید چند درصدِ این پیام‌ها، درباره «کتاب» است. احتمالاً آسان‌ترین راه این است که کلمه «کتاب» را بین این پیام‌ها جستجو کنید و بر اساس آن، فراوانی کلمه را محاسبه کنید. اما اینجا مشکلی وجود دارد!

آنچه در این مطلب می‌آموزید:
  • خواهید آموخت چگونه متون خام فارسی را نرمال و پاک‌سازی کنید.
  • یاد می‌گیرید متن فارسی را با Hazm به توکن‌های دقیق تقسیم کنید.
  • می‌آموزید ریشه واژه‌ها را استخراج و واژگان را ساده‌سازی کنید.
  • نقش دستوری و گروه‌های معنایی کلمات را برچسب‌گذاری خواهید کرد.
  • ساختار نحوی و رابطه میان واژه‌ها را با dependency parsing تحلیل می‌کنید.
  • خواهید توانست embedding واژه و جمله را برای پروژه‌های NLP به‌کار ببرید.
  • با تکنیک‌های خواندن و پردازش پیکره‌های متنی فارسی آشنا می‌شوید.
  • کاربرد عملی Hazm در مدل‌سازی و تحلیل داده متنی را خواهید شناخت.
997696

کلمه «کتاب» لزوماً به یک شکل نوشته نمی‌شود. کتاب، کتــــاب، ڪتاب، کتابـــ و ... . از دید ماشین هر یک از این کلمات، جداست؛ در حالی که اینطور نیست.

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

این یعنی حذف فاصله‌های اضافه، اصلاح فاصله‌ها در پسوندها و پیشوندها، اصلاح فاصله در علائم نگارشی، تبدیل اعداد غیر فارسی به فارسی، استفاده از گیومه به جای کوتیشن، تبدیل حروف عربی و غیراستاندارد به حروف فارسی، حذف تکرارهای بیهوده حروف،‌ حذف علائم و کاراکترهای بی‌فایده، اصلاح فاصله در ترکیب اعداد و کلمات و ... .

اگر بخواهید همه این کارها را خودتان انجام دهید باید زمان زیادی را برای تشخیص حالات مختلف و کدنویسی برای هر یک از این حالت‌ها صرف کنید.

اما راه آسان‌تری وجود دارد: کتابخانه هضم

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

این متن را با کمک کتابخانه هضم تمیز می‌کنیم:

خروجی به صورت زیر خواهد بود:

«سلام بچه‌ها برای یادگیری و درک بهتر «پردازش زبان طبیعی» کتاب خوبی سراغ دارید؟ از ۷ شب دارم می‌گردم؛ ولی کتاب خوبی پیدا نکردم … .»

در ادامه با قابلیت‌های هضم، بیشتر آشنا می‌شویم:

تمیزکردن متن

هدف از تمیزکردن متن یا اصطلاحاً نرمال‌سازی، رفع نایکدستی‌ها و متحدالشکل کردن متن، جهت آماده‌سازی آن برای پردازش‌های بعدی است. کتابخانه هضم توانایی بسیار خوبی در این بخش دارد.

استخراج جملات و کلمات

گاهی لازم است جملات یا کلمات متن را استخراج کنید. هضم می‌تواند این کار را به سادگی برای شما انجام دهد.

حتی می‌تواند در هنگام استخراج جملات، مفاهیمی مثل هشتگ، ایمیل، عدد و لینک را هم علامت بگذارد.

ریشه‌یابی کلمات

با کتابخانه هضم می‌توانید ریشه یا بن کلمات را پیدا کنید. مثلاً ریشه کلمه «کتاب‌ها»، «کتاب» است، یا در کلمه «می‌روم»، بن ماضی و مضارع به ترتیب «رفت» و «رو» است.

برچسب‌گذاری کلمات

شاید لازم باشد فعل‌ها، اسم‌ها، صفت‌ها و دیگر ساخت‌های زبانی را استخراج کنید. این کار نیز با کمک هضم امکان‌پذیر است.

قطعه‌بندی

گاهی در برخی از جملات مثل «رئیس جمهور ایران به نیویورک سفر کرد.»، عبارت «رئیس جمهور ایران»، در ظاهر سه کلمه است ولی در حقیقت یک واحد معنایی است. کتابخانه هضم امکان استخراج این گروه‌های معنایی را نیز دارد.

تجزیه نحو وابستگی

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

نمونه‌ای از خروجی تجزیه‌گر عمقی که برای درک بهتر به شکل نمودار ترسیم شده است:

بازنمایی واژه‌ها و جملات

با استفاده از بازنمایی واژه‌ای هضم می‌توانید شبکه‌های عمیق را با سهولت بیشتری برای کاربردهای زبانی دلخواه خود آموزش دهید. همچنین با استفاده از بازنمایی جمله‌ای می‌توانید شباهت میان متون را بسنجید.

خواندن آسان پیکره‌های متنی

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

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

بر اساس رای ۱۲ نفر
آیا این مطلب برای شما مفید بود؟
اگر پرسشی درباره این مطلب دارید، آن را با ما مطرح کنید.
PDF
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *