خوشه‌بندی آیات قرآن

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

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

مقدمه

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

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

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

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

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

1-پیدا کردن سندهای مشابه1

زمانی که کاربر داکیومنت خوبی پیدا می کند وبه دنبال موارد مشابهی از این داکیومنت است در این حالت با استفاده از خوشه بندی به راحتی می توان به داکیومنت هایی با مفهوم مشابه دست یافت نسبت به الگوریتم های مبتنی بر جستجو که موارد ی را پیدا میکنند که فقط شباهت لغوی با داکیومنت مورد نظر دارند.

2-سازماندهی مجموعه سند های بزرگ2

بازیابی داکیومنت ها3 روی پیدا کردن داکیومنت های مربوط به یک کوئری متمرکز است ولی در مقابل داکیومنت ها ی بزرگی که طبقه بندی نشده ناتوان است.

3-تشخیص محتوای تکراری4

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

4-سیستم های توصیه گر5

مثلا مقاله ای را بر اساس مقاله ای که قبلا کاربر خوانده به او پیشنهاد می کند . خوشه بند یمقالات استفاده از انها را در زمان کوتاه و با کیفیت بالاتر تضمین می کند.

5-جستجوی بهینه6

خوشه بندی کمک زیادی به بهتر شدن کیفیت و بهره وری از موتور های جستجو میکند در واقع این کار را با مقایسه ی کوئری کاربر با خوشه ها (به جای مقایسه با کل داکیومنت ) انجام میدهد همچنین نتایج جستجو نیز به راحتی مرتب می شوند.

کارهای مرتبط

قبل از شروع به خوشه بندی ابتدا باید متن را مرتب کنیم که این کار در بیشتر الگوریتم های خوشه بندی انجام می شود.

1- فیلتر کردن عنصرها7

حذف کردن stop word هایکی از رایج ترین روش های فیلتر کردن عنصر ها[^7] می باشد که لیست این stop word ها معمولا در دسترس می باشد.

تکنیک های دیگر فیلتر کردن عنصرها[^7] :

حذف کردن ترم هایی با فرکانس سند8 کمتر که برای بالا بردن سرعت و کمتر کردن مصرف حافظه در برنامه ها استفاده می شود.

حذف کردن اعدادی که نقش زیادی در خوشه بندی ندارند به جز تاریخ و کد پستی.

2-ریشه یابی9

ریشه یابی فرایند کوتاه کردن کلمات به ریشه یشان است مثل کتابدار , کتابهایش که هر 2 به یک کلمه ی کتاب تبدیل می شوند.

3_ پیش پردازش گراف10

در برخی از الگوریتم ها که از گراف برای خوشه بندی استفاده می شود برای بهبود کیفیت و بهره وری نیازمند پیش پردازش گراف هستند.که بعضی از روش های ساده ی پردازش گراف[^10] شامل حذف کردن نود هایی با وزن کمتر از استانه می باشد یا حذف نودهایی که به هیچ نود دیگری مرتبط نیستند.

نمره دهیTF-IDF:

قبل از اینکه قادر به اجرای الگوریتم k-means روی مجموعه ای از داکیومنت ها باشیم باید بتوان اسناد و مدارک را به عنوان بردار های دو به دو مقایسه کرد برای این کار می توان از تکنیک نمره دهی TF-IDF استفاده کرد. Tf-idf یا ( term frequency-inverse document frequency) ترم ها را بر اساس اهمیتشان وزن دهی می کند فرکانس ترم11 نسبت تعداد تکرار یک کلمه در سند به تعداد کل کلمات موجود در سند است. معکوس فرکانس سند[^8] لگاریتم نسبت تعداد داکیومنت ها در کورپوس به تعداد داکیومنت هایی است که ترم مورد نظر را داراست.

ضرب این 2 مقدار در هم مقدار TF-IDF را میدهد.

خوشه بندی به روش K_MEANS:

برای خوشه بندی آیات قرآن باید علاوه بر ظاهر آیات ترجمه و تفسیر آیات هم در نظر گرفته شود و برای هر کدام از آن ها الگوریتم پیشنهادی را پیاده کرد در زیر به 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 رفته و الگوریتم تکرار می‌شود .

خوشه بندی آیات قرآن

برای خوشه بندی آیات قرآن از تعدادی از کتابخانه های زبان پایتون که به همین منظور هستند استفاده کردم مثل :sicitik_learn و hazmو scipyو nump و . . .
برای خوشه بندی متون فارسی زبان پایتون لایبرری scikit_learn را دارد که از چند طریق مختلف می توان (با چند الگوریتم مختلف) متون را خوشه بندی کرد:
در جدول زیر خلاصه ای از الگوریتم های خوشه بندی با استفاده از کتابخانه ی scikit_learn پایتون میبینید:

کلاستر

kmeans

این الگوریتم قبلا توضیح داده شده و به نسبت بقیه ی الگوریتم ها کارایی بهتری دارد به همین دلیل در این پروژه از این الگوریتم استفاده می کنیم.

انتشار میل12

خوشه ها را با فرستادن پیام هایی بین جفت نمونه ها تا زمانی که همگرا شوند ایجاد می کند.
در اینجا مهم ترین پارامترها یکی میزان عملکرد است که تعداد نمونه هایی که استفاده می شوند را کنترل می کند و دوم فاکتور تعدیل است.
اصلی ترین اشکال این روش پیچیدگی آن است که o(n^2*t) می باشد.

متوسط تغییر13

داده ها را با تخمین حبابی در مناطق متراکم ماتریس نقاط خوشه بندی می کند.
در مقیاس گذاری برای هزاران نمونه دچار مشکل می شود.

Spectal Clustering

یک ماتریس وابستگی کم بعد از بین نمونه ها درست می کند و بسیار موثر است اگر ماتریس وابستگی بسیار نادر باشد و ماژول pyamg نصب شده باشد. برای خوشه بندی در تعداد کم خوب است ولی برای تعداد داده های زیاد پیشنهاد نمی شود

سلسله مراتبی14

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

Dbscan

خوشه ها را به عنوان مناطق با تراکم بالا که از مناطق با تراکم پایین جدا شده اند نشان می دهد.

لینک کد اولیه در گیت هاب.
لینک کد فاز سوم در گیت هاب.
لینک کد فاز چهارم در گیت هاب.

آزمایش‌ها

ارزیابی عملکرد الگوریتم ها ی خوشه بندی به سادگی شمارش تعداد خطاها یا دقت15 و یادآوری16 الگوریتم خوشه بندی نیست.

در خود کتابخانه ی scikitlearn ماژول ارزیابی الگوریتم ها ی خوشه بندی وجود دارد به صورت زیر:

Sklearn.metrics.adjusted_rand_score
در بخش اعتبار خوشه بندی باید اولاَمیزان تراکم یعنی داده های موجود در یک خوشه باید تا حد زیادی به یکدیگر نزدیک باشند که معیار رایج برای تعیین میزان تراکم داده ها واریانس داده هاست و دوماَ جدایی یعنی خوشه های متفاوت باید به اندازه ی کافی از همدیگر متمایز باشند.

یک روش اعتبار سنجی

شاخص دون که از رابطه ی :

D=\min_{i=1,\dots,n_c} \lbrace \min_{j=i+1,\dots,n_c} (\dfrac{ d(c_i,c_j) } {\max_{k=I,\dots , n_c} (diam(c_k)) )} \rbrace

به دست می آید
که در این رابطه داریم :

D(c_i,c_j) = \min_{x\in{c_i}, y\in{c_j}} \lbrace d(x,y) \rbrace

و

Diam(c_i) = \max_{x,y\in{c_i} }\lbrace(x,y)\rbrace

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

که در این رابطه ها :

جدول

n_c تعداد خوشه ها
d تعداد ابعاد
(d(x,y فاصله بین دو داده
c_i خوشه ی i ام

نتایج

در فاز قبل روشی با استفاده از کتابخانه ی Scikitlearn و روش KMeans پیاده سازی شد(بدون انجام بهینه سازی روی داده های ورودی از جمله حذف stopword ها و . . .) که برای یک فایل متنی 1.26 مگابایتی در مدت زمانی حدود 1 ثانیه انجام شد.
در این فاز برای بهبود بخشیدن به سرعت اجرا کلمات هر آیه ریشه یابی شد و کلمات بیهوده حذف شدند که این کار باعث شد برای یک فایل متنی 1.26 مگابایتی
زمانی در حدود 0.017 صرف شد که همانطور که میبینید در مقایسه با فاز قبل در زمان صرفه جویی شد , همچنین به علت حذف کلمات اضافه فایل خروجی کم حجم تر وآیات موجود در هر خوشه به هم نزدیکتر شدند.

کارهای آینده

در میان تمامی راه هایی که تا به امروز برای خوشه بندی متون وجود دارد الگوریتم kmeans بهترین و سریعترین روش برای این کار می باشد که توسط کتابخانه ی scikitlearn پشتیبانی می شود.
الگوریتم هایی دیگری که برای خوشه بندی می شود از آن ها استفاده کرد در قسمت کارهای مرتبط امده است مانند:Affinity propagation,MeanShift. . .
که این الگوریتم ها هم توسط کتابخانه ی scikit learn پشتیبانی می شوند.
برای بهینه تر کردن خوشه بندی متون اولویت های اصلی در سرعت و دقت خوشه هاست که برای این کار میتوان مثلا در قسمت ریشه یابی سرعت و دقت را افزایش داد یا برای دقیق تر شدن نزدیکی آیه های یک خوشه از معنا و تفسیر آنها نیز استفاده کرد.

مراجع

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


  1. Finding Similar Documents

  2. Organizing Large Document Collections

  3. document retrieval

  4. Duplicate Content Detection

  5. Recommendation System

  6. Search Optimization

  7. Term Filtering

  8. document frequency

  9. Stemming

  10. Graph Preprocessing

  11. term frequency

  12. affinity propagation

  13. MeanShift

  14. Hierarchical

  15. precision

  16. recall

محسن ایمانی

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

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

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

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

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

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

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

رد شده

۱.توضیحات در مورد مقدمه و الگوریتم خوب بود.
۲.پیکره نوشتار مرتب بود.
۳.بهتر بود از مثال استفاده میشد.

رد شده

توضیحات کامل بود و مراحل انجام کار به خوبی توضیح داده شده.
موفق باشید

رد شده

باسلام.
به نظر این پروژه اطلاعات مفیدی از مبحث خوشه بندی در اختیارمان قرار میدهد.
پیشنهاد:میتوانستید از کتابخانه های پیشنهادی در لینک (پردازش زبان فارسی در پایتون) نیز استفاده کنید.

محسن ایمانی

برای این فاز از شما اننتظار می‌ٰفت در کارهای مرتبط روش‌های دیگر خوشه‌بندی را هم مورد برررسی قرار دهید.

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

لازم نیست شما در پیاده‌سازی خود الگوریتم‌های خوشه‌بندی و یا محاسبه TF-IDF را خودتان پیاده‌سازی کنید و از کتابخانه‌های دیگر مثل scikit-learn و توابع آن برای محاسبه TF-IDF و یا الگوریتم‌های خوشه‌بندی می‌توانید استفاده کنید. چیزی که ما از شما به عنوان پیاده‌سازی می‌خواهیم استفاده از روش‌های خوشه‌بندی برای خوشه‌بندی آیات قرآن می‌باشد و شما مجبور به پیاده‌سازی این روش‌ها نخواهید بود. در واقع ما هم مایل هستیم که شما به جای وقت گذاشتن روی پیاده‌سازی روش‌ها، بتوانید روش‌های بیشتری از خوشه‌بندی را امتحان کرده و بیشتر روی روش‌های شباهت‌یابی آیات قرآن، که تا کنون مطلبی درباره آن بیان نکردید، تمرکز کنید.

رد شده

--در بخش آزمایش ها فقط به استفاده از یک کتابخانه از زبان پایتون بسنده کرده اید, در صورتی کارهای بسیاری همچون امتحان کردن یک الگوریتم دیگر و مقایسه آن با الگوریتم k-mean می توانست کمک بیشتری به شما کند.
++کد شما یک پیاده سازی بی نقص با استفاده از الگوریتم k-mean بود که از امتیازات پروژه شماست.
+روش اعتبار سنجی به نظر روش مناسبی است...
-کاش روش اعتبار سنجی پیاده سازی میشد.
-با توجه به این که پروژه شما خوشه بندی آیات قرآن است کاش در پیاده سازی کد خود از لغات عربی برای خوشه بندی استفاده می کردید.
-اشتباه های کوچک نگارشی در متن پروژه شما به چشم میخورد که در قیاس با اصل پروژه شما, خدشه ای به آن وارد نخواهد کرد.
-ایت واز بتر ایف یو یوزد ورد "کتابخانه" ردر دن "لایبرری" !
همواره موفق باشید ;(

رد شده

پروژه ی خوبی انجام دادید . تبریک می گم خدمتتون ...

تایید شده

با سلام، پروژه بسیار خوبی است. موارد زیر به ذهن بنده می‌رسد:

  • لطفا از مارک‌دان بهتر استفاده کنید. همچنین، می‌توانستید عناوین را فارسی بنویسید و در صورت نیاز در پاورقی واژه‌های انگلیسی مورد نیاز را بیاورید.

  • بهتر است ویکی پدیا را در یک متن علمی، به عنوان منبع مطرح نکنید. در ابتدای مقالات، معمولا همان‌ توضیحات را می‌توان پیدا کرد.

  • در بخش ارزیابی، بهتر بود شاخص ‌هایی که توضیح داده‌اید را برای روشی که پیاده سازی کرده اید اندازه گیری می‌کردید.

  • کد شما خیلی خوب است. فقط لطفا به جای ساختن یک readme به فرمت ورد یک فایل به نام README.md بسازید و توضیحات خودتان را با فرمت مارک‌دان توی آن بنویسید.

  • سوال: آیا قرآن کریم ویژگی‌های خاصی دارد که بتوان در خوشه بندی آیات، از آن‌ها استفاده کرد؟ یعنی در واقع روش‌های آماری کلی مثل K-means را که توضیح داده‌اید با ویژگی‌های متن عربی یا قرآن تلفیق کرد تا نتایج بهتری گرفت. لطفا برای فازهای بعد توضیح دهید که از ترجمه و تفسیر قرآن چه استفاده ای در خوشه بندی آیات می‌شود.

محسن ایمانی

این که شما در پروژه خود به ارزیابی فکر نموده‌اید و روش‌های ارزیابی در یک یادگیری بی‌ناظر یعنی خوشه‌بندی را مورد مطالعه و بررسی قرار دادید یک نقطه مثبت از کار شماست.

استفاده از کتابخانه‌های آماده برای پیاده‌سازی روش‌ها و الگوریتم‌ها هم نقاط دیگر مثبت کار شما می‌باشد.

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

رد شده

خوب است ولی تغییراتی مشاهده نمیشود

رد شده

برای این فاز کاری جز گذاشتن یک لینک نکرده اید که ان لینک هم خالی است!!!! کارتون بد نیست اما واقعا این فاز کاری انجام نداده اید یا هم در زمان نا مناسبی ثبت کرده اید. مجبورم نمره خوبی ندم!

رد شده

تغییرات مربوط به این فاز مشاهده نشد.

تایید شده

عدو وجود بخش بهینه سازی
عدو وجود داده های آماری برای ارزابی آزمایشات و صرفا نوشتن چند فرمول در این بخش
عدم استفاده از عکس ( یک مورد استفاده شده که آن هم لود نمیشود) - وجود عکس های مفهومی به درک پروژه کمک میکند .
عنوان بندی پروژه مشکل دارد. و در بعضی جاها اشتباه شده است.

تایید شده

بسم الله
سلام و خسته نباشید

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

قسمت کارهای آینده نوشته نشده است و به نظر می رسد که موفق نشدید آخرین تغییرات را قرار دهید.

اگر لینک کتابخانه های مربوطه را قرار می دادید ، گزارش شما به یک گزارش علمی و دقیق نزدیک تر می شد.

رد شده

سلام و خسته نباشید

  • توضیحات گویا و با دسته بندی مناسب بود .

  • بهتر بود کارها و آزمایش های خودتان و کدتان را بیشتر توضیح می دادید.

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

  • قسمتی تحت عنوان کارهای آینده وجود نداشت
    -برای بهینه سازی نتایج توضیحی وجود نداشت
    موفق باشید

رد شده

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

رد شده

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

محسن ایمانی

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

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

نکته دیگر این که بهتر بود مثال‌هایی از گروه‌های آیات که به عنوان خروجی خوشه‌بندی به آن دست پیدا کرده‌اید را در متن خود نشان می‌دادید و دو روش مختلف پیاده‌سازی شده را در این خروجی ها هم مقایسه می‌کردید.

ضمنا شما با این که به چگونگی نحوه ارزیابی کار خود و روش‌های آن پرداخته اید اما یک کار خوشه‌بندی خود را با این روش‌ها ارزیابی نکرده‌این که این هم از نقاط ضعف کار شما به شمار می‌رود.