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

در این پروژه شما باید آیات قرآن را با استفاده از ظاهر آیات به همراه ترجمه و تفسیر آنها خوشه‌بندی کنید.

۱. مقدمه

با توجه به گسترش روز افزون داده ها و دشوار شدن پردازش اطلاعات توسط انسان و نیاز به دسترسی سریع به منابع مهم و مورد علاقه به لزوم استفاده از ماشین- ها و وجود روش هایی قوی برای پردازش اطلاعات در این زمینه پی برده شد. در همین راستا ارائه ی ابزارهایی که با بررسی متون بتوانند تحلیلی روی آنها انجام دهند باعث شکل گیری زمینه‌ای جدید در هوش مصنوعی به نام یادگیری متن گردید. این حوزه شامل تمام فعالیت هایی که به نوعی به دنبال کسب دانش از متن هستند ( مثل آنالیز داده های متنی توسط تکنیکهای یادگیری ماشین، بازیابی اطلاعات هوشمند، پردازش زبان طبیعی یا روشهای مرتبط دیگر) می شود. یکی از تکنیکهای یادگیری ماشین در زمینه پردازش متن استخراج الگوهای موجود در بین مجموعه داده های بزرگ است که داده کاوی نام دارد. استفاده از داده کاوی در مورد متن شاخه ای به نام متن کاوی را در علوم هوش مصنوعی بوجود آورد. از جمله فعالیتهای بسیار مهم در این زمینه، خوشه بندی متن می‌باشد.
خوشه بندی داده ها را به گروه هایی تقسیم می کند که با معنا و کارا هستند. خوشه ها باید به گونه ای باشند که ماهیت داده ها را حفظ کنند و تمام ویژگی های آنها را داشته باشند. هدف این است که داده های داخل خوشه حداکثر شباهت را با هم و حداقل شباهت را با داده های سایر خوشه ها داشته باشند. داده ها را به شکل های متفاوت می توان خوشه بندی کرد و به طور قطع نمی توان گفت که کدام نوع از خوشه بندی بهترین نوع است زیرا تعریف خوشه بندی یک تعریف نادقیق1 است. بهترین خوشه بندی را نتیجه مورد انتظار ما و ماهیت داده ها مشخص می کند[1].
از جمله کاربردهای خوشه بندی می توان به یافتن سند های مشابه، سازماندهی مجموعه های عظیم سند، سیستم پیشنهاد دهنده، تشخیص محتوای تکراری و تقلب و بهینه سازی جست و جو اشاره کرد[2].
قرآن کریم کتاب مرجع بیش از 1.6 میلیارد مسلمان سرتاسر جهان است و استخراج دانش و اطلاعات از آن مختص گروه خاصی از مردم نیست. قرآن طیف گسترده ای از موضوعات و قوانین زندگی را پوشش می دهد اما هر موضوعی توسط مجموعه ای از آیات و سوره های متوالی پوشش نمی یابد و یک سوره (حتی یک آیه) معمولا به موضوعات مختلفی می پردازد، از این رو خوشه بندی آیات قرآن برای دسترسی بهتر به موضوعات مختلف مورد نیاز بشر انجام می شود.

۲. کارهای مرتبط

برای قابل فهم کردن اسناد برای ماشین از مدل های نمایش بردار از قبیل مدل فضای برداری، مدلIDF-TF 2 ، مدل گراف و مدل های احتمالی استفاده می شود[3].
مرحله ی بعد مرحله ی پیش پردازش متن است، در این مرحله روی داده های ورودی عملیاتی (مثل حذف بعضی کلمات و یا تغییر شکل آنها) انجام می شود تا به صورتی درآیند که برای پردازش مناسب تر باشند. از خروجی این مرحله که مجموعه ای از کلمات است در مدل فضای برداری استفاده می شود.

  1. فیلتر کردن:
    حذف کلماتی که اطلاعات مفیدی درباره ی متن ندارند. در مورد آیات قرآن این مرحله شامل حذف حرکات از کلمات است. چرا که برای خوشه بندی و مدل سازی کلمه ی «الرَّحمنِ»با کلمه ی «الرحمن» تفاوتی ندارد و حرکات تمایزی بین معنای کلمات ایجاد نمی کنند.

  2. نرمال سازی:
    یکی از مشکلات زبان عربی که خصوصاً در رسم الخط قرآن بسیار به چشم می خورد شیوه های مختلف نوشتن یک کلمه است. مثلاً نگارش همزه در این زبان چندین شکل مختلف دارد (ئ، أ، ؤ، ء) که در مواقع مختلف و با توجه به حرکتی که روی آن قرار گرفته از یکی از آن ها استفاده می شود در مرحله ی نرمال سازی این گونه موارد به یک شکل تبدیل می شوند.

    1. ریشه یابی:
      در این مرحله، ریشه ی کلمات استخراج می شوند و برای عملیات خوشه بندی و مدل سازی از ریشه ی کلمه به جای خود کلمه استفاده می شود تا نتایج دقیق تری حاصل شود. برای مثال کلمات «الرحمن»، «الرحیم»، «رحمه»هر سه از ریشه ی «رحم» هستند و باید در یک موضوع قرار گیرند. الگوریتم های ریشه یابی برای زبان های مختلف یکسان نیستند و کاملاً بستگی به زبان دارند.

    2. حذف کلمات توقف:
      کلمه ی توقف 3 به کلمه ای گفته می شود که به تنهایی معنای خاصی را نمی رساند و در واقع در مدل فضای برداری اطلاعات مفیدی در اختیار نمی گذارد. معمول ترین روش برای حذف کلمات توقف مقایسه ی مجموعه کلمات متن با مجموعه ی مشخصی از کلمات توقف است. معمولاً لیستی از کلمات توقف برای زبان های مختلف موجود است.

    3. هرس کردن:
      در این مرحله کلماتی که تکرار آن ها در مجموعه ی اسناد بسیار کم است را حذف می کنند. ایده ی این کار آن است که این کلمات حتی اگر برای تمایز خوشه ها قدرت زیادی داشته باشند، تنها به ساخت تعداد کمی از خوشه ها کمک می کنند. در بعضی موارد کلماتی که بسیار تکرار شده باشند را هم حذف می کنند.

  3. کاهش ابعاد 4 :
    داده های با ابعاد زیاد باعث پیچیدگی محاسبات خواهند شد. در طول خوشه بندی N سند ممکن است M خصوصیت مختلف را در نظر بگیریم درحالی که M>>N؛ اما مسئله اینجاست که ممکن است نیازی به بررسی این تعداد خصوصیت نباشد و در نتیجه ابعاد را کاهش می دهیم. درصورتی که کاهش ابعاد در یک فرایند با ناظر انجام پذیرد، به آن انتخاب خصوصیات می گوییم. در این فرایند، ناظر خصوصیاتی را که معیارهای مشخصی داشته باشد انتخاب می کند. در حالت دیگر استفاده از یک فرایند بدون ناظر است. به این فرایند استخراج خصوصیات گفته می شود. استخراج خصوصیات طی یک تبدیل از فضای M-بعدی به یک فضای K-بعدی صورت می پذیرد که K<M. این تبدیل می تواند هم به صورت خطی و هم به صورت غیرخطی انجام شود. تحلیل اجزای اصلی و تجزیه ی مقادیر منحصر به فرد از جمله روش های کاهش ابعاد هستند[3].
    در مرحله ی بعد به خوشه بندی مطالب می رسیم
    روش‌های خوشه‌بندی
    روش‌های خوشه‌بندی را می‌توان از چندین جنبه تقسیم‌بندی کرد:

  4. خوشه‌بندی انحصاری 5 و خوشه‌بندی با هم‌پوشی [^Overlapping or Soft Clustering]:
    در روش خوشه‌بندی انحصاری پس از خوشه‌بندی هر داده دقیقأ به یک خوشه تعلق می‌گیرد (مانند روش خوشه‌بندی K-Means). ولی در خوشه‌بندی با همپوشی پس از خوشه‌بندی به هر داده یک درجه تعلق به ازای هر خوشه نسبت داده می‌شود. به عبارتی یک داده می‌تواند با نسبتهای متفاوتی به چندین خوشه تعلق داشته باشد. (نمونه‌ای از آن خوشه‌بندی فازی است.)

  5. خوشه‌بندی سلسله مراتبی 6 و خوشه‌بندی مسطح[^Flat]:
    در روش خوشه بندی سلسله مراتبی، به خوشه‌های نهایی بر اساس میزان عمومیت آنها ساختاری سلسله‌ مراتبی نسبت داده می‌شود. (مانند روش Single Link). ولی در خوشه‌بندی مسطح تمامی خوشه‌های نهایی دارای یک میزان عمومیت هستند (مانند K-Means). به ساختار سلسله مراتبی حاصل از روشهای خوشه‌بندی سلسله مراتبی دندوگرام 7 گفته می‌شود.
    با توجه با اینکه روش‌های خوشه‌بندی سلسله مراتبی اطلاعات بیشتر و دقیق‌تری تولید می‌کنند برای تحلیل داده‌های با جزئیات پیشنهاد می‌شوند ولی از طرفی چون پیچیدگی محاسباتی بالایی دارند برای مجموعه داده‌های بزرگ روش‌های خوشه‌بندی مسطح پیشنهاد می‌شوند.

    برای خوشه بندی آیات قرآن از مدل فضای برداری TF-IDF وا لگوریتم K-Means استفاده می کنیم.برای انجام خوشه بندی به صورت همزمان برای آیات و ترجمه ی آن ها نیاز داریم تا ترجمه ی آیات را نیز به داده های آموزشی اضافه کنیم. این عمل را با خواندن ترجمه ی آیات از داخل فایل ترجمه و سپس پیش پردازش و حذف کلمات توقف و ریشه یابی کلمات ترجمه انجام می دهیم. پس از آن ماتریس TF-IDF را این بار برای ترجمه ی آیات محاسبه می کنیم و مقادیر این ماتریس را به صورت ستون های اضافی به ماتریس TF-IDFحاصل از متن عربی آیات اضافه می کنیم در واقع با این عمل به تعداد ویژگی های نمونه های آموزشی اضافه می کنیم. پس از این مرحله الگوریتم خوشه بندی را بر روی ماتریس حاصل اجرا می کنیم.

۳. آزمایش‌ها

۴. کارهای آینده

۵. مراجع

[1] م.ایمانی، خوشه‌بندی متون فارسی، پایان‌نامه کارشناسی، دانشگاه علم و صنعت ایران، ۱۳۹۱ دریافت

[2]م.رحیمی بافقی، م.پورباقری، خوشه‌بندی آیات قرآن، پایان‌نامه کارشناسی، دانشگاه علم و صنعت ایران، ۱۳۹۳
[3]پ.پاسبان، بررسی ارتباط خوشه بندی متون با برچسب های پردازش زبان طبیعی، سمینار کارشناسی ارشد، دانشگاه علم و صنعت ایران،۱۳۸۹
[4]Akour, Mohammed; Alsmadi, Izzat; and Alazzam, Iyad. (2014). "MQVC: Measuring Quranic Verses Similarity and Sura Classification Using N-Gram".WSEAS Transactions on Computers, 13, 485-491.
پیوندهای مفید
خوشه بندی
خوشه بندی2


  1. imprecise

  2. Term Frequency-Inverse Document Frequency

  3. Stop Word

  4. Dimension Reduction

  5. Exclusive or Hard Clustering

  6. Hierarchical

  7. Dendogram

تایید شده

سلام
تشکر می‌کنم بابت زحمتی که برای انجام این پروژه کشیده‌اید و در ادامه خواهید کشید.
مطالب زیر مربوط به چیزی که تاکنون نوشته‌اید به ذهن بنده می‌رسد:
۱- سعی کنید متن خود را مطابق با راهنمای نگارش مارک‌دان بنویسید. در این فاز چون احتمالا دفعه‌ی اولی است که با مارک‌دان می‌نویسید از خطاها چشم‌پوشی می‌شود ولی انتظار می‌رود در فازهای بعدی متن شما مرتب و مطابق با دستور نگارش باشد. ساختار متن خود را نیز زیباتر کنید و ساختار بهتری به عناوین بدهید تا درک مطلب را برای خواننده بهتر کند.
۲- مقدمه به صورت روان و خوبی نوشته شده‌است ولی قسمت کارهای مرتبط جامع نیست و همانطور که در توضیح این فاز نیز آمده است انتظار می‌رفت مقالات و عناوین بیشتری را مورد بررسی قرار می‌دادید.
۳- قسمت‌های «ریشه‌یابی»، «حذف کلمات توقف» و «هرس کردن» را با شماره‌های جدید شروع کرده‌اید که به نظر می‌رسد آن‌ها را زیر‌ مبحث «نرمال‌سازی» در نظر گرفته‌اید که اگر اینطور باشد درست نیست. اگر هم که اشتباه در شماره‌گذاری است حتما اصلاح کنید.
۴- مراجع شما خیلی کم است انتظار می‌رفت در قسمت کارهای مرتبط حداقل مباحث مرتبط با روشی که قرار است پیاده‌سازی آن را انجام دهید بیشتر توضیح می‌دادید.
۵-به صورت کلی متن را بسیار ساده نوشته‌اید و هیچ یک از کلمات را bold یا italic نکرده‌اید. از هیچ شکل و جدولی برای توضیح کارتان استفاده نکرده‌اید.
۶- پیوندهای مفیدی که اضافه کرده‌اید هیچ توضیحی ندارد و پیوند دوم شما به یک سایت است که برای دانلود مقاله استفاده می‌شود. سعی کنید از پیوند‌هایی که کارهای مرتبط یا مفید را معرفی کرده‌اند استفاده کنید.

مطالبی نیز برای فازهای آتی به عرض می‌رسد:
سعی کنید آزمایش‌های خود را سریع‌تر آغاز کنید تا بتوانید نتیجه‌ی خوبی در فازهای آتی بگیرید.
از جمله چالش‌های شما در این پروژه پردازش زبان‌های مختلف مخصوصاً زبان عربی خواهد بود که شما را دچار مشکل خواهد کرد. ( در صورتی که نیاز به کمک در این مورد دارید به بنده ایمیل بزنید.)
همچنین افزودن ترجمه و تفسیر و خوشه‌بندی آیات بر اساس آنها نیز از مواردی است که از شما انتظار می‌رود.
نمایش خوب خروجی‌ها و نتیجه‌‌گیری بر اساس آن‌ها می‌تواند یکی از نقاط قوت کار شما در آینده باشد.

با آرزوی موفقیت برای شما.

تایید شده

سلام
تشکر می‌کنم بابت زحمتی که برای انجام این پروژه کشیده‌اید و در ادامه خواهید کشید.
مطالب زیر مربوط به چیزی که تاکنون نوشته‌اید به ذهن بنده می‌رسد:
۱- سعی کنید متن خود را مطابق با راهنمای نگارش مارک‌دان بنویسید. در این فاز چون احتمالا دفعه‌ی اولی است که با مارک‌دان می‌نویسید از خطاها چشم‌پوشی می‌شود ولی انتظار می‌رود در فازهای بعدی متن شما مرتب و مطابق با دستور نگارش باشد. ساختار متن خود را نیز زیباتر کنید و ساختار بهتری به عناوین بدهید تا درک مطلب را برای خواننده بهتر کند.
۲- مقدمه به صورت روان و خوبی نوشته شده‌است ولی قسمت کارهای مرتبط جامع نیست و همانطور که در توضیح این فاز نیز آمده است انتظار می‌رفت مقالات و عناوین بیشتری را مورد بررسی قرار می‌دادید.
۳- قسمت‌های «ریشه‌یابی»، «حذف کلمات توقف» و «هرس کردن» را با شماره‌های جدید شروع کرده‌اید که به نظر می‌رسد آن‌ها را زیر‌ مبحث «نرمال‌سازی» در نظر گرفته‌اید که اگر اینطور باشد درست نیست. اگر هم که اشتباه در شماره‌گذاری است حتما اصلاح کنید.
۴- مراجع شما خیلی کم است انتظار می‌رفت در قسمت کارهای مرتبط حداقل مباحث مرتبط با روشی که قرار است پیاده‌سازی آن را انجام دهید بیشتر توضیح می‌دادید.
۵-به صورت کلی متن را بسیار ساده نوشته‌اید و هیچ یک از کلمات را bold یا italic نکرده‌اید. از هیچ شکل و جدولی برای توضیح کارتان استفاده نکرده‌اید.
۶- پیوندهای مفیدی که اضافه کرده‌اید هیچ توضیحی ندارد و پیوند دوم شما به یک سایت است که برای دانلود مقاله استفاده می‌شود. سعی کنید از پیوند‌هایی که کارهای مرتبط یا مفید را معرفی کرده‌اند استفاده کنید.

مطالبی نیز برای فازهای آتی به عرض می‌رسد:
سعی کنید آزمایش‌های خود را سریع‌تر آغاز کنید تا بتوانید نتیجه‌ی خوبی در فازهای آتی بگیرید.
از جمله چالش‌های شما در این پروژه پردازش زبان‌های مختلف مخصوصاً زبان عربی خواهد بود که شما را دچار مشکل خواهد کرد. ( در صورتی که نیاز به کمک در این مورد دارید به بنده ایمیل بزنید.)
همچنین افزودن ترجمه و تفسیر و خوشه‌بندی آیات بر اساس آنها نیز از مواردی است که از شما انتظار می‌رود.
نمایش خوب خروجی‌ها و نتیجه‌‌گیری بر اساس آن‌ها می‌تواند یکی از نقاط قوت کار شما در آینده باشد.

با آرزوی موفقیت برای شما.