یک برنامه پایتون بنویسید که با استفاده از کتابخانه nltk یک متن ورودی را توکنایز کند، کلمات توقف را حذف کرده و فراوانی هر کلمه را به صورت یک دیکشنری بازگرداند.

17.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:54

0.0

برای حل این مسئله از توکن‌سازی nltk (مثل word_tokenize) و لیست کلمات توقف nltk استفاده کنید؛ در ابتدا با nltk.download('punkt') و nltk.download('stopwords') منابع لازم را دانلود کنید. متن را به حروف کوچک تبدیل، علائم نگارشی را حذف یا فیلتر کنید، سپس با collections.Counter یا یک دیکشنری ساده تعداد هر کلمه را بشمارید. اگر متن به زبانی غیر از انگلیسی است، می‌توانید لیست کلمات توقف دلخواه بسازید یا قبل از شمارش از stemmer ساده‌ای مثل PorterStemmer استفاده کنید تا کلمات مشتق‌شده یکسان شمرده شوند.

توسط پژوهشگر در 198 روز قبل ساعت 02:54
دسته بندی ها: Python Python for beginner
arash در 198 روز قبل ساعت 02:55

قبل از توکنایز کردن متن با word_tokenize حتماً متن را به حروف کوچک تبدیل و با regex یا str.translate علائم نگارشی را حذف کنید چون word_tokenize علائم را هم جدا می‌کند و روی شمارش تاثیر می‌گذارد. دانلود ماژول‌های nltk با nltk.download('punkt') و nltk.download('stopwords') را فراموش نکنید و برای زبان‌های غیرانگلیسی لیست کلمات توقف مناسب یا stemmer/lemmatizer مربوطه را استفاده کنید. برای شمارش از collections.Counter استفاده کنید که ساده و بهینه است و در صورت نیاز تعداد top-N را با most_common برگردانید. اگر متن بزرگ است، پردازش دسته‌ای و حذف توقف‌ها قبل از شمارش می‌تواند حافظه و زمان اجرا را بهبود دهد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری