در این مطلب، با مبحث محاسبه آمار عبارات یکتا در «زبان برنامه‌نویسی پایتون» (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:

خروجی:

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

^^

«مرتضی جادریان»، دانشجوی مقطع دکتری مهندسی کامپیوتر گرایش هوش مصنوعی است. او در زمینه سیستم‌های هوشمند، به ویژه سیستم‌های هوشمند اطلاعاتی، روش‌های یادگیری ماشین، سیستم‌های دانش محور و محاسبات تکاملی فعالیت دارد.

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *