نرمال‌سازی متن

نرمال‌سازی متن: یکسان‌سازی حروف عربی/فارسی، تبدیل اعداد، حذف علائم و نیم‌فاصله — پایه پردازش فارسی

نرمال‌سازی چیست؟

نرمال‌سازی (Normalization) یعنی یکسان‌سازی اشکال مختلف نوشتاری یک متن تا ماشین آن‌ها را یکسان ببیند. بدون آن، «تهران» و «Tehran» و «تهران » (با فاصله اضافی) سه چیز متفاوت‌اند!

عملیات رایج نرمال‌سازی

  1. یکسان‌سازی حروف: «ي» عربی ← «ی» فارسی، «ك» ← «ک»
  2. تبدیل اعداد: ۱۲۳ فارسی ← 123 انگلیسی (یا برعکس)
  3. حذف فاصله‌های اضافی: چند فاصله پیاپی ← یک فاصله
  4. حذف/یکسان‌سازی علائم: حذف !؟ یا نگه‌داشتن جدا
  5. حروف کوچک/بزرگ: (انگلیسی) «Hello» ← «hello»
  6. اصلاح نیم‌فاصله: «می روم» ← «می‌روم»
  7. حذف دیاکریتیک: اِعراب عربی/اعرابگذاری

چرا برای فارسی حیاتی است؟

متن فارسی اینترنتی از منابع مختلف (کیبورد مختلف، کپی از ورد، سایت عربی) می‌آید و پر از ناهمگونی است:

مشکلمثالاصلاح
ی عربیكتابيکتابی
ک عربیكمپیوترکمپیوتر
اعداد عربی١٢٣۱۲۳ یا 123
همزهتأثیرتاثیر
فاصله اضافی« سلام »«سلام»

بدون این اصلاحات، جستجوی «کتابی» نتیجه «كتابي» را پیدا نمی‌کند!

چه چیزی را حذف کنیم؟

بسته به مسئله:

هشدار: نرمال‌سازی بیش از حد، اطلاعات را هم حذف می‌کند! حذف همه علائم برای تشخیص سؤال از خبر (؟) فاجعه است. همیشه متن مسئله را در نظر بگیرید.

پایپ‌لاین پیش‌پردازش استاندارد

متن خام
  ← نرمال‌سازی (حروف، اعداد، فاصله)
  ← توکن‌سازی
  ← حذف کلمات ایستا (مبحث بعد)
  ← ریشه‌یابی
  ← آماده برای بازنمایی و مدل!

جمع‌بندی

این مبحث بخشی از دوره آموزش کامل پردازش زبان طبیعی (NLP) است.

ابزارهای مرتبط