راه
۶ کیو· متوسطمتوسطPYTHON۴ ثانیه · ۲۵۶ مگابایت

یکسان‌سازی و توکن‌سازی متن فارسی

متن فارسی پیش از هر شمارشی باید یکسان شود؛ وگرنه «كتاب» با کاف عربی و «کتاب» با کاف فارسی دو واژه‌ی متفاوت شمرده می‌شوند. تابع persian_tokens(text) این گام‌ها را به همین ترتیب انجام می‌دهد:

  1. حروف عربی به فارسی: ي (U+064A) و ى (U+0649) به ی (U+06CC)، و ك (U+0643) به ک (U+06A9).
  2. حذف اعراب (فتحه، کسره، ضمه، تنوین، تشدید، سکون: U+064B تا U+0652) و کشیده (ـ، U+0640).
  3. رقم‌ها به لاتین: رقم‌های فارسی (۰ تا ۹، U+06F0 تا U+06F9) و عربی (٠ تا ٩، U+0660 تا U+0669) به 0 تا 9.
  4. توکن‌ها: هر دنباله‌ی پیوسته از کاراکترهایی که یا حرف و رقم‌اند (\w در پایتون) یا نیم‌فاصله (U+200C). یعنی re.findall(r"[\w‌]+", text). علامت‌ها و فاصله‌ها جداکننده‌اند و نیم‌فاصله جزء کلمه می‌ماند: «کتاب‌ها» یک توکن است.

خروجی: فهرست توکن‌ها.

نمونه‌ها

ورودی نمونه ۱
["كتاب‌هاي خوبي خواندم."]
خروجی نمونه ۱
["\u06a9\u062a\u0627\u0628\u200c\u0647\u0627\u06cc", "\u062e\u0648\u0628\u06cc", "\u062e\u0648\u0627\u0646\u062f\u0645"]

برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.

ورود