شمارنده کلمات در زبان های برنامه نویسی مختلف – راهنمای کاربردی
«جداسازی واژگان» (Tokenization)، فرایندی است که در آن «کمیت» (Quantity) عظیمی از «دادههای متنی» (Text Data) به واحدهای کوچکتری به نام «توکن» (Token) تقسیمبندی میشوند. یک توکن میتواند، یک «کلمه» (Word)، یک «علامت نقطهگذاری» (Punctuation) و یا یک «دنباله از کلمات» (Sequence of Tokens) باشد. همچنین، در صورت تمایل برنامهنویس، یک توکن میتواند در قالب یک عبارت یا «جمله» (Sentence) تعریف شود. به سیستمهایی که تعداد کلمات موجود در یک داده متنی را شمارش میکنند، «شمارنده کلمات» (Word Counter) گفته میشود.
«پردازش زبان طبیعی» (Natural Language Processing)، حوزهای از «هوش مصنوعی» (Artificial Intelligence) محسوب میشوند که از مفاهیم موجود در آن برای ساختن سیستمهایی نظیر «متنکاوی» (Text Mining)، «دستهبندی متن» (Text Classification)، «چتباتهای هوشمند» (Intelligent Chatbots)، «تحلیل احساسات» (Sentiment Analysis)، «ترجمه ماشینی» (Machine Translation) و سایر موارد استفاده میشود.
برای پیادهسازی سیستمهای ذکر شده، ابتدا نیاز است تا «الگوهای» (Patterns) موجود در دادههای متنی شناسایی و درک شوند. توکنهای شناسایی شده در یک متن، نقش مهمی در پیدا کردن چنین الگوهایی ایفا میکنند. هدف این مطلب، آشنا کردن مخاطبان با مفهوم یک سیستم ساده شمارنده کلمات و پیادهسازی آن در زبانهای برنامهنویسی مختلف است.
صورت مسأله پیادهسازی یک سیستم شمارنده کلمات
یک سیستم شمارنده کلمات باید قادر باشد تا با داشتن یک ورودی دلخواه در قالب «رشته» (String)، کلمات موجود در آن را شناسایی و تعداد آنها را شمارش کند. کلمات موجود در داده یا رشته متنی، از طریق کاراکترهای زیر در متن جداسازی میشوند.
به این دسته از کاراکترها، «حائل» (جداکننده | Delimiter) نیز گفته میشود.
- کاراکتر «فاصله» (Space): این کاراکتر، به وسیله (' ') نمایش داده میشود.
- کاراکتر «جدولبندی» (Tab): این کاراکتر، به وسیله ('t\') نمایش داده میشود.
- کاراکتر «خط جدید» (New Line): این کاراکتر، به وسیله ('n\') نمایش داده میشود.
پیادهسازی سیستم شمارنده کلمات در زبانهای برنامهنویسی مختلف
برای مسأله شمارش کلمات در داده یا رشته متنی، راهحلهای مختلفی وجود دارد. در ادامه، برخی از راهحلهای ساده و جالب برای این مسأله، در زبانهای برنامهنویسی مختلف نمایش داده شده است. ایده اساسی حل این مسأله، ایجاد و نگهداری دو «وضعیت» (States) در برنامه نوشته شده است: وضعیت IN و وضعیت OUT. وضعیت OUT، بیانکننده دیده شدن یک کاراکتر جداکننده یا حائل در داده یا رشته ورودی است.
وضعیت IN نیز، دیده شدن یک کاراکتر کلمهای در داده یا رشته ورودی را نمایش میدهد. وقتی که وضعیت قبلی برابر OUT و کاراکتر بعدی نیز برابر با یک کاراکتر کلمهای باشد، برنامه باید یک واحد به شمارنده تعداد کلمات موجود در داده یا رشته متنی اضافه کند.
سیستم شمارنده کلمات در زبان برنامهنویسی C++
خروجی:
No of words : 5
سیستم شمارنده کلمات در زبان برنامهنویسی C
خروجی:
No of words : 5
سیستم شمارنده کلمات در زبان برنامهنویسی جاوا
خروجی:
No of words : 5
سیستم شمارنده کلمات در زبان برنامهنویسی پایتون (نسخه 3)
خروجی:
No of words : 5
سیستم شمارنده کلمات در زبان برنامهنویسی C#
خروجی:
No of words : 5
سیستم شمارنده کلمات در زبان برنامهنویسی PHP
خروجی:
No of words : 5
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون Python
- گنجینه آموزشهای برنامه نویسی پایتون (Python)
- مجموعه آموزشهای برنامهنویسی
- زبان برنامه نویسی پایتون (Python) — از صفر تا صد
- زبان برنامه نویسی جاوا (Java) — از صفر تا صد
- متن کاوی (Text Mining) — به زبان ساده
^^
خیلی خوب بود ممنون