پیش‌پردازش داده‌های متنی

منتشر‌شده در towardsdatascience به تاریخ ۱۷ جولای ۲۰۲۱
لینک منبع Preprocessing Textual Data

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

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

در این مقاله، ما کلین‌تکست و ویژگی‌های مختلف آن را بررسی خواهیم کرد.

بیایید شروع کنیم...

نصب کتابخانه‌های مورد نیاز

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

!pip install cleantext

وارد کردن کتابخانه‌های مورد نیاز

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

import nltk
nltk.download('stopwords')
import cleantext

پیش‌پردازش داده‌ها

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

cleantext.clean('Himanshu+-= S$harma WelC@omes!!! you to 123medium', extra_spaces=True, lowercase=True, numbers=True, punct=True)

شکل۲:حال اجازه دهید ببینیم چگونه می‌توانیم یک فایل متنی را تمیز کنیم. برای این منظور، ما یک فایل متنی را وارد کرده و برای انجام پیش‌پردازش آن را می‌خوانیم.
شکل۲:حال اجازه دهید ببینیم چگونه می‌توانیم یک فایل متنی را تمیز کنیم. برای این منظور، ما یک فایل متنی را وارد کرده و برای انجام پیش‌پردازش آن را می‌خوانیم.

file = open("/content/data.txt", 'rt')
text = file.read()
file.close()
cleantext.clean(text, all= True)

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

cleantext.clean_words('Himanshu+-= S$harma WelC@omes!!! you to 123medium',
all= False, # Execute all cleaning operations
extra_spaces=True , # Remove extra white space
stemming=True , # Stem the words
stopwords=True ,# Remove stop words
lowercase=True ,# Convert to lowercase
numbers=True ,# Remove all digits
punct=True ,# Remove all punctuations
stp_lang='english' # Language for stop words
)

اگر بخواهیم همه این پارامترها را روی true تنظیم کنیم می‌توانیم این کار را با تنظیم همه پارامترها روی true انجام دهیم همانطور که در کد زیر آورده شده است.

cleantext.clean_words('Himanshu+-= S$harma WelC@omes!!! you to 123medium', all=True)

در اینجا می‌توانید ببینید که چگونه متن، جملات و کلمات را با استفاده از کلین‌تکست تمیز کردیم. این می‌تواند در هنگام ایجاد یک مدل NLP مفید باشد زیرا ما می‌توانیم از متن پاک شده استفاده کنیم که علاوه بر افزایش عملکرد، به دستیابی به دقت بالاتر نیز کمک می‌کند.

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

از خواندن شما متشکرم!

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