محاسبه آمار عبارات یکتا در پایتون – راهنمای کاربردی
در این مطلب، با مبحث محاسبه آمار عبارات یکتا در «زبان برنامهنویسی پایتون» (Python Programming language) آشنا خواهید شد. یکی از کاربردهای مهم محاسبه آمار عبارات یکتا و تحلیل آنها، در «پردازش زبان طبیعی» (Natural Language Processing) است. همچنین، از محاسبه آمار عبارات یکتا به شکل گستردهای برای «متنکاوی» (Text Mining) یا «تحلیل کیفی متن» (Text Analysis) استفاده میشود.
یکی از مهمترین «مدلهای زبانی» (Language Models) برای شناسایی و محاسبه آمار عبارات یکتا در دادههای متنی، مدل زبانی N-gram است. به بیان ساده، مدلهای N-gram، مجموعهای از N کلمه «هماتفاق یا باهمگذاری شده» (Co-Occurring) در یک «پنجره محتوایی» (Context Window) هستند که یک عبارت مشخص در دادههای متنی را نمایش میدهند.
پس از شناسایی یک عبارت N-gram در دادههای متنی، پنجره محتوایی، یک کلمه رو به جلو در متن حرکت میکند و از این طریق، فرایند محاسبه آمار عبارات یکتا یا همان عبارات یکتای N-gram در دادههای متنی انجام میشود.
مدلهای «دو کلمهای» (2Gram)، «سه کلمهای» (3Gram)، «چهار کلمهای» (4Gram) و «پنج کلمهای» (5Gram)، مهمترین مدلهای شناسایی و محاسبه آمار عبارات یکتا در دادههای متنی محسوب میشوند.
نحوه محاسبه آمار عبارات یکتا با استفاده از مدلهای N-Gram
در این بخش، ابتدا توضیح مختصری در مورد عبارات N-gram در زبانهای طبیعی داده میشود. سپس، مدلهای N-gram به طور مختصر تعریف میشوند. در نهایت، کدهای لازم برای پیادهسازی مدلهای N-gram و محاسبه آمار عبارات یکتا نمایش داده میشوند.
اهمیت ترتیب کلمات در پردازش زبان طبیعی
ترتیب استفاده کلمات در زبانهای طبیعی بسیار مهم است و به هیچ عنوان تصادفی نیست. به عنوان نمونه، شما در زبان فارسی از عبارت سیب قرمز و آبدار استفاده میکنید و نه عبارت قرمز آبدار سیب.
روابط میان کلمات در دادههای متنی، غالبا بسیار پیچیده است. این پیچیدگی به حدی است که یک حوزه کاملا متمایز در «زبانشناسی» (Linguistics) به نام «نحو زبان» (Language Syntax) به آن اختصاص داده شده است. با این حال، دانشمندان این حوزه روشهای ساده ولی هوشمندانهای برای شناسایی و تحلیل برخی از روابط موجود میان کلمات ابداع کردهاند.
محققان حوزه زبانشناسی بیان میکنند که برای شناسایی روابط میان کلمات و استخراج اطلاعات از آنها، میتوان از هماتفاقی کلمات در زمینههای محتوایی متفاوت استفاده کرد. به عبارت دیگر، این موضوع که در یک داده متنی، معمولا چه کلماتی در کنار هم ظاهر میشوند، اطلاعات زیادی در مورد زمینه محتوایی آن داده متنی در اختیار قرار میدهد.
تعریف مدلهای N-gram
ایده اصلی مدلهای N-gram این است که N کلمه (دو کلمه، سه کلمه و چهار کلمه و سایر موارد) ظاهر شده در کنار هم (کلمات هماتفاق)، شناسایی و تحلیل شوند. در یک مجموعه بزرگ از دادههای متنی، ممکن است عباراتی نظیر سیب قرمز یا قرمز آبدار به دفعات در دادههای متنی مشاهده شوند؛ با این حال، احتمال مشاهده عباراتی نظیر قرمز سیب یا آبدار سیب در دادههای متنی بسیار پایین است.
چنین مواردی، زمانی برای سیستمهای پردازش متن مفید هستند که مدلهای پردازش زبان طبیعی بخواهد مشخص کند که یک از عبارات فوق در یک زبان طبیعی معتبر است تا توسط سیستم «بازشناسی خودکار گفتار» (Automatic Speech Recognition) مورد استفاده قرار بگیرد.
بنابراین به مدلهای شناسایی کلمات هماتفاق، مدلهای N-gram گفته میشود. در این مدلها، N مشخص کننده طول عبارات هماتفاق در دادههای متنی است. مدلهای دو کلمهای (2Gram)، سه کلمهای (3Gram)، چهار کلمهای (4Gram) و پنج کلمهای (5Gram)، مهمترین مدلهای N-gram محسوب میشوند.
کدهای محاسبه آمار عبارات یکتا در زبان پایتون
از کدهای زیر برای شناسایی متناوبترین عبارات دو کلمهای (2Gram)، سه کلمهای (3Gram)، چهار کلمهای (4Gram) و پنج کلمهای (5Gram) در دادههای متنی، تعداد تناوب آنها در دادههای متنی و نمایش آنها در خروجی استفاده میشود.
داده متنی زیر بخشی از مجموعه دادهای است که برای شناسایی متناوبترین مدلهای N-gram استفاده شده است.
کدهای زبان برنامهنویسی پایتون برای شناسایی متناوبترین مدلهای N-gram:
خروجی:
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون Python
- گنجینه آموزشهای برنامه نویسی پایتون (Python)
- مجموعه آموزشهای برنامهنویسی
- زبان برنامه نویسی پایتون (Python) — از صفر تا صد
- شمارنده کلمات در زبان های برنامه نویسی مختلف — راهنمای کاربردی
- متن کاوی (Text Mining) — به زبان ساده
^^