تعریف Tokenization
توکن سازی (Tokenization)
توکنسازی یا Tokenization به پروسه شکستن یک متن و تبدیل آن به واحدهای کوچکتر مانند لغت، عبارت و یا جمله اطلاق میشود.
و یکی از مراحل آمادهسازی دیتا در NLP (پردازش زبان طبیعی) میباشد. در واقع، tokenization اولین قدم در تحلیل متن است که با شکستن یک متن به واحدهای قابل پردازشتر، زمینه را برای تحلیلهای پیچیدهتر فراهم میکند. به عنوان مثال، جملهی “فراگیری دیپلرنینگ را با کلاسویژن شروع کنید” میتواند به واحدهای کوچکتر “فراگیری“، “دیپلرنینگ“، “را“، “با“، “کلاسویژن“، “شروع” و “کنید” تقسیم شود.
مفاهیم مرتبط:
Stemming (ریشهیابی):
به پروسهی کاهش یک کلمه و رسیدن به ریشهی آن کلمه stemming میگویند، که معمولاً با حذف پیشوند و پسوندها انجام میشود. برای مثال، کلمهی “کتابها” با استفاده از stemming به “کتاب” تبدیل میشود. مانند کاهش “Running” به “Run”.
البته این پروسه میتواند در برخی موارد منجر به ریشههایی شود که معنادار نیستند!
Lemmatization (ریشهیابی لغوی):
به پروسهی کاهش یک کلمه و رسیدن به ریشهی معنادار آن کلمه lemmatization میگویند. در این پروسه، کلمه به شکل پایه و اصلی خود بازمیگردد، که این شکل پایه در فرهنگ لغت قابل یافتن است. برای مثال، کلمهی “geese” (غازها) در فرآیند lemmatization به “goose” (غاز) تبدیل میشود، که یک ریشهی معنادار است.
فرق Stemming و Lemmatization:
هر دو پروسه به کاهش کلمه و رسیدن به شکل سادهتر آن میپردازند، ولی در stemming ممکن است کلمه کاهشیافته معنادار نباشد. برای مثال، کلمهی “Caring” اگر stem شود به “Car” تبدیل میشود، که از لحاظ معنایی هیچ ارتباطی با هم ندارند. ولی در lemmatization، کلمهی کاهشیافته حتماً یک ریشهی معنادار دارد. مثلاً همان “Caring” اگر lemma شود به “Care” تبدیل میشود.
کتابخانههایی مانند NLTK برای زبان انگلیسی ابزارهایی برای lemmatization دارند که توانایی تشخیص ریشهی معنادار را دارند. معمولاً پروسهی stemming با سرعت بیشتری نسبت به lemmatization انجام میشود.
وکتورسازی یا Vectorization:
در اصطلاح دقیقتر، توکنسازی به فرآیند تقسیم یک رشته متن به واحدهای کوچکتر مانند کلمات یا کاراکترها اشاره دارد. در حالی که وکتورسازی به فرآیند تبدیل هر توکن به یک بردار عددی با مقادیر واقعی (real-valued) اشاره دارد.
اما در برخی متون هر دو اصطلاح “توکنسازی” و “وکتورسازی” به طور همزمان برای توصیف فرآیند تبدیل یک جمله به دنبالهای از اعداد استفاده شده بود.
برای شفافیت بیشتر، بهتر است از این دو اصطلاح به طور جداگانه استفاده شود:
- توکنسازی: تقسیم یک رشته متن به واحدهای کوچکتر مانند کلمات یا کاراکترها.
- وکتورسازی: تبدیل هر توکن به یک بردار عددی با مقادیر واقعی (real-valued).
در اینجا مثالی از نحوه استفاده از این دو اصطلاح به طور جداگانه آورده شده است:
مرحله 1: توکنسازی:
جمله “من عاشق یادگیری زبان هستم” را به کلمات جداگانه تقسیم میکنیم:
["من", "عاشق", "یادگیری", "زبان", "هستم"]
مرحله 2: وکتورسازی:
هر کلمه را به یک بردار عددی تبدیل میکنیم:
[0.25, 0.7, 0.3, 0.5, 0.1]
در این مثال، هر کلمه به یک بردار 5 بعدی از اعداد واقعی تبدیل شده است. هر عدد در این بردار به معنای یک ویژگی خاص از کلمه است. به عنوان مثال، عدد 0.7 ممکن است به معنای “مثبت بودن” کلمه “عاشق” باشد.
دیدگاهتان را بنویسید