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

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

۱. مقدمه

خوشه بندی فرایند سازماندهی عناصر به گروه هایی است که اجزای آن شبیه به هم هستند .در یک خوشه مجموعه عناصری هستند که با هم مشابهت دارند و با اجزای دیگر خوشه ها نا همگون می باشند . هدف از خوشه بندی دست یابی سریع و مطمئن به اطلاعات مشابه و شناسایی ارتباط منطقی میان انهاست.
خوشه بندی را می توان بر اساس رابطه ها به 3 نوع تقسیم کرد.

  • 1-رابطه ی هم ارز که متداول ترین رابطه بوده و مترادف های واژه را ارائه می دهد در این نوع رابطه واژه هایی مورد نظر است که همپوشانی معناداری بین آن ها وجود دارد اما از لحاظ واژگانی متفاوتند مثل درد , الم ,بیماری ,تالم و . . .

  • 2-رابطه ی سلسله مراتبی در این رابطه یک واژه به عنوان رده ی اصلی انتخاب شده و زیرمجموعه ها یا نمونه های خاصی از واژه ی کلی هستند مثل رایانه , پنتیوم و . . .

  • 3-رابطه غیر سلسله مراتبی که انواع دیگر روابط بین واژه ها غیر از 2 مورد قبلی از قبیل موضوع و ویژگی های مربوط را در بر میگیرد مثل کارمند -> عنوان شغل

در اینجا از رابطه ی سلسله مراتبی برای خوشه بندی ایات استفاده می کنیم.

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

برای خوشه بندی آیات قرآن باید علاوه بر ظاهر آیات ترجمه و تفسیر آیات هم در نظر گرفته شود و برای هر کدام از آن ها الگوریتم پیشنهادی را پیاده کرد در زیر به 2 الگوریتم موجود برای خوشه بندی اشاره شده .
روش k-means : این روش روشی پایه برای بسیاری از روش های دیگر محسوب می شود در نوع ساده‌ای از این روش ابتدا به تعداد خوشه‌‌های مورد نیاز نقاطی به صورت تصادفی انتخاب می‌شود. سپس در داده‌ها با توجه با میزان نزدیکی (شباهت) به یکی از این خوشه‌ها نسبت داده‌ می‌شوند و بدین ترتیب خوشه‌های جدیدی حاصل می‌شود. با تکرار همین روال می‌توان در هر تکرار با میانگین‌گیری از داده‌ها مراکز جدیدی برای آنها محاسبه کرد و مجدادأ داده‌ها را به خوشه‌های جدید نسبت داد. این روند تا زمانی ادامه پیدا می‌کند که دیگر تغییری در داده‌ها حاصل نشود .
همان‌گونه که گفته شد الگوریتم خوشه‌بندی K-Means به انتخاب اولیة خوشه‌ها بستگی دارد و این باعث می‌شود که نتایج خوشه‌بندی در تکرارهای مختلف از الگوریتم متفاوت شود. برای رفع این مشکل الگوریتم خوشه‌بندی LBG پیشنهاد می شود که قادر است به مقدار قابل قبولی بر این مشکل غلبه کند.
در این روش ابتدا الگوریتم تمام داده‌ها را به صورت یک خوشه‌ در نظر می‌گیرد و سپس برای این خوشه یک بردار مرکز محاسبه می‌کند.(اجرای الگوریتم K-Means با تعداد خوشة 1K=). سپس این بردار را به 2 بردار می‌شکند و داده‌ها را با توجه به این دو بردار خوشه‌بندی می‌کند (اجرای الگوریتم K-Means با تعداد خوشة K=2 که مراکز اولیه خوشه‌ها همان دو بردار هستند). در مرحلة بعد این دو نقطه به چهار نقطه شکسته می‌شوند و الگوریتم ادامه پیدا می‌کند تا تعداد خوشة مورد نظر تولید شوند .
الگوریتم زیر را می‌توان برای این روش خوشه‌بندی در نظر گرفت :
1-شروع: مقدار M(تعداد خوشه‌ها) با عدد 1 مقدار دهی اولیه می‌شود. سپس برای تمام داده‌ها بردار مرکز محاسبه می‌شود .
2-شکست: هر یک از M بردار مرکز به 2 بردار جدید شکسته می‌شوند تا 2Mبردار مرکز تولید شود. هر بردار جدید بایستی درون همان خوشه قرار داشته باشد و به اندازة کافی از هم دور باشند .
3-K-Means: با اجرای الگوریتم K-Means با تعداد خوشة 2M و مراکز اولیه خوشه‌های محاسبه شده در مرحلة ii خوشه‌های جدیدی با مراکز جدید تولید می‌شود .
4-شرط خاتمه: در صورتی که M برابر تعداد خوشة مورد نظر الگوریتم LBG بود الگوریتم خاتمه می‌یابد و در غیر این صورت به مرحلة ii رفته و الگوریتم تکرار می‌شود .

۳. آزمایش‌ها

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

۵. مراجع

۶. پیوندهای مفید

محسن ایمانی

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

نقطه قوت اصلی کار شما مختصر و مفید بودن آن است. یعنی توضیحات کافی را در مورد هر بخش دادید و از آوردن جزئیات و همچنین حاشیه رفتن پرهیز کردید که این راهبرد بسیار خوبیست.

اما چند نکته که باید در فازهای بعدی کار مد نظر داشته باشید:

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

  • الگوریتم LBG را شما عملا دو بار توضیح دادید در صورتی که همان توضیح کلی اولیه شما در مورد نحوه عملکرد الگوریتم گویا و کافی بود.

  • بهتر است هر روش و یا دسته‌بندی خاصی را که در متن خود بیان می‌کنید، بلافاصله آن را به مقاله یا کتابی که این روش یا دسته‌بندی را از آن برداشت نموده‌اید ارجاع دهید تا خواننده مثلا اگر خواست ببیند دسته‌بندی روابط شما بر چه مبنایی بوده و یا اگر خواست حزئیات بیشتری از الگوریتم LBG ببیند، بتواند به مرجعی که از آن برداشته کرده‌اید رجوع کند. برای این کار می‌توانید در مقالات نمونه نحوه ارجاع به مراجع را در متن مشاهده کنید.

  • لینک‌هایی که شما در قسمت مراجع آورده‌اید به هیچ وجه مرجع محسوب نمی‌شود. مراجع شما غالبا مقالات و کتاب‌ها هستند که باید آن را به طور دقیق و شبیه به قالب مراجع نمونه‌ای که برای شما گذاشته شده، در قسمت مراجع بیاورید. در واقع شما در این فاز هیچ مرجع جدیدی را معرفی نکرده‌اید که این مسئله ممکن است به کار شما در فازهای بعدی لطمه بزند و این نقص را حتما باید در فاز بعد جبران کنید. برای پیدا کردن و مطالعه مراجع بیشتر می‌توانید به مراجعی که مقالات نمونه‌ از آن‌ها استفاده کرده‌اند رجوع کنید.