*پس مسئله خوشهبندی آیات قرآن را نیز میتوان به صورت گروهبندی آیات قرآن به صورت خودکار در گروه آیههای هممعنی معرفی نمود. برای درک این رابطهی شباهت معنایی بین آیات میتوان از روشهای مختلفی از جمله شباهتیابی بر مبنای واژههای آیه، واژههای ترجمه، تفسیر آیه و ... استفاده نمود.* *در این پروژه شما باید آیات قرآن را با استفاده از **ظاهر آیات به همراه ترجمه و تفسیر آنها** خوشهبندی کنید.* # مقدمه دادهکاوی، فرایند یا پروژه ای نسبتاً پیچیده برای شناسایی الگوها و مدلهای صحیح، قابل استناد و مفید در حجم وسیعی از داده است؛ به گونهای که این الگوها و مدلها برای انسانها قابل درک باشند. خوشه بندی یکی از پرکاربردترین کارها در حوزه داده کاوی است. خوشهبندی به فرآیند تبدیل حجم عظیمی از دادهها به گروههای دادهای مشابه گفته میشود. به همین صورت خوشهبندی متون عبارت است از تبدیل حجم عظیمی از اسناد متنی به گروههایی از متنهای مشابه؛ که به هر کدام از این گروهها یک خوشه گفته میشود. برای خوشهبندی کاربرد هایی نظیر کاهش داده(فشرده و یکجاسازی اطلاعات) و تولید فرضیه(استنتاج و کشف فرضیههای پنهان) وجود دارد. این مهم، از لوازم اولیه پژوهشهاست. زمانی که محقق می خواهد در مورد موضوعی تحقیق کند، جمعآوری و دستهبندی متونی که جهت پژوهش خود به آن نیاز دارد، برای او ضروری است. استخراج اطلاعات و دانش از قرآن مجید، کتاب مرجع بیش از ۱.۶ میلیارد مسلمان در اقصی نقاط دنیا، هم برای عموم مردم و هم برای متخصصان مطالعات اسلامی بسیار سودمند است. **خوشهبندی در مقابل طبقهبندی** در طبقهبندی هر داده به یک طبقه (کلاس) از پیشین مشخص شده تخصیص مییابد ولی در خوشهبندی هیچ اطلاعی از کلاسهای موجود درون دادهها وجود ندارد و به عبارتی خود خوشهها نیز از دادهها استخراج میشوند. در شکل زیر تفاوت بین خوشهبندی و طبقهبندی بهتر نشان داده شده است. ![در طبقهبندی با استفاده یک سری اطلاعات اولیه دادهها به دستههای معلومی نسبت داده میشوند.](https://boute.s3.amazonaws.com/264-image002.jpg) ![در خوشهبندی دادهها با توجه به الگوریتم انتخاب شده به خوشههایی نسبت داده میشوند.](https://boute.s3.amazonaws.com/264-image003.jpg) # کارهای مرتبط ## پیشپردازش و مراحل آن پیش از مراحل انتخاب ویژگی و خوشهبندی نیازمند پردازشهای مقدماتی بر روی متون هستیم. هدف از این پیشپردازش ارائه ورودی قابل فهم و قابل تفسیر برای ماشین است. این مرحله اهمیت بهسزایی در افزایش صحّت نتایج و کاهش مرتبه زمانی دارد. ### حذف حرکهها این گام مختص زبانهایی مانند زبان عربی هستند که حرکات نقش مهمی ایفا میکنند. علی رغم اینکه امروزه در عربی همانند فارسی از ذکر حرکات صرف نظر میشود، با توجه به اینکه حوزه عمل پژوهش حاضر آیات مبارکه قرآن است، نیاز به حذف حرکات و اعراب داریم. این گام اگرچه از ریزبینی اعجازآمیز کلام وحی میکاهد اما پژوهشگر را در مراحل ابتدایی، یاری میرساند. ### نشانهگذاری در گام نخست، متن را به عباراتی جدا از هم تقسیم می کنیم. هر عبارت ممکن است مشتمل بر یک کلمه یا چند کلمه که یک اصطلاح را تشکیل میدهند باشد. نشانهگذاری مطلوب تأثیر شگرفی در پردازش متن دارد اگر چه ما در آزمایش پژوهش حاضر، همه عبارات را تک کلمهای فرض کرده ایم. ### حذف کلمات بیاثر تعداد این کلمات در زبان انگلیسی معمولا کمتر از ۶۰۰ عدد است و لیستهای مختلف و متغیر مربوط به آن موجود است. در مورد زبان عربی، در پیادهسازیهای موجود از ۲۰۰ تا ۸۰۰ عدد متغیر است. از جمله میتوان از کلماتی نظیر «فی، من، هو، منذ، هناک، وکانت» نام برد که طی این مرحله از پیشپردازش متن، حذف میشوند. ### ریشهیابی در زبان انگلیسی، معمولا کلمات هم خانواده در چندین حرف انتهایی مختلف اند و همخانوادگی کلمات با تطبییق حرف به حرف ممکن است. این فرایندِ بسیار کاربردی شامل حذف پیشوندها و پسوندهای کلمات، تبدیل افعال و مشتقات به مصادر اصلی خود، حذف حروف بیبار از متن، تبدیل جمع ها به مفردات و مؤنتها به مذکّر است. یک مثال کاربردی از آن تبدیل کلمه «استغفار» به ریشه آن یعنی «غفر» و یافتن کلمات با ریشه یکسان مانند «لیستغفر»، «یستغفرون» و ... است. ### هرس کردن در این مرحله کلماتی که تکرار آنها در سند بسیار نادر است حذف میکنیم. همچنین کلماتی که تکرار بسیار زیادی دارند هم حذف میشوند. پیشفرض انجام این عملیت این است که این کلمات، حتی اگر قدرت تمایز زیادی داشته باشد، کمک حال خوشهبندی نخواهند بود. مثلاً عبارت «فَبِأَیِّ آلَاءِ رَبِّکُمَا تُکَذِّبَانِ» در سوره مبارکه الرحمن تاثیرگذاری مطلوب بر فرایند خوشهبندی ندارد. ### کاهش ابعاد ابعاد زیاد دادهها پیچیدگی محاسبات را سبب میشود. در خوشه بندی `N` سند ممکن است `M` خصوصیت مختلف استخراج شود اما اگر `M >> N` غیرمنطقی است. در پاسخ به این مشکل نیاز به کاهش ابعاد پیدا میکنیم. این عمل یا با ناظر انجام میشود که به آن انتخاب خصوصیات گفته میشود یا بیناظر که فرایند تبدیل فضای `M`-بعدی به `K`-بعدی به صورت خطی یا غیر خطی است به طوری که `K < M`. ### انتخاب خصوصیت در این روش از ادبیات بهره میگیریم و کلماتی غیرمؤثر را کنار میگذاریم. طی این فرایند از قواعد و دیدگاه زبانشناسانه به بررسی اجزاء جمله مانند عبارت فعلی و عبارت اسمی میپردازیم و دیگر بخش ها که تنها فعل و نقشهایی مثل فاعل یا مفعول یا ... را نگه میداریم. مثلا از عبارت «أَفَلَمْ یَسِیرُوا فِی الْأَرْضِ فَیَنظُرُوا کَیْفَ کَانَ عَاقِبَةُ الَّذِینَ مِن قَبْلِهِمْ دَمَّرَ اللَّهُ عَلَیْهِمْ وَ لِلْکَافِرِینَ أَمْثَالُهَا» پس از هرس کردن مثل حذف «اللَّهُ» و حذف کلمات بیاثر مثل «کَیْفَ» به چنین عبارتی می رسیم:«یَسِیرُوا الْأَرْضِ یَنظُرُوا عَاقِبَةُ قَبْلِهِمْ دَمَّرَ الکَافِرِینَ أَمْثَالُهَا». حال با توجه به مفاهیم ادبی میتوانیم کلماتی چون «الْأَرْضِ» را کنار بگذاریم و خروجیای پیراستهتر داشته باشیم: «یَسِیرُوا عَاقِبَةُ دَمَّرَ الکَافِرِینَ» ## روشهای خوشهبندی ### `K`-معدلهای پایه ایده پایه معرفی نقاطی گرانیگاهی بر اساس فاصلهی تمام عناصر خوشه مورد نظر است. با هر انتصاب جدید نقاط گرانیگاه جابجا شده و بر دقت میافزایند. تصویر زیر چند مرحله از این الگوریتم در خوشهبندی فرضی را به تصویر میکشد. ![چند مرحله از یک الگوریتم K-معدل در خوشهبندی](https://upload.wikimedia.org/wikipedia/commons/e/ea/K-means_convergence.gif) الگوریتم K-معدلهای پایه به این شرح است: ~~~ sudo Initialize k centroids Repeat For all objects in input do Assign each element to its closest centroid End for For all centroids do Compute the mean of the assigned points This mean now becomes the new centroid End for Until all centoids remains unchanged or other termination criteria ~~~ با توجه به الگوریتم، بیشترین زمان اجرایی برای این الگوریتم محاسبهی بردار فاصله است. در هر مرحله تمام فاصله ها یک بار محاسبه میشود و پس از آن به بهترین نقطه ممکن منتسب میشود. در آخر نقاط گرانیگاه نسبت به تمامی اعضای مجموعهی خود تجدید میشوند. پیچیدگی زمانی این الگوریتم `O(iknd(` خواهد بود که `i` تعداد تکرار و `k` تعداد گرانیگاههاست. این پیچیدگی در عمل برای خوشهبندی اسناد بسیار سبک است چرا که بردارها بسیار تنک هستند و ابعاد هر بردار بسیار کمتر از `d` خواهد بود. اگر انتساب شعاع محور باشد، این الگوریتم خوشههایی کروی تشکیل میدهد. در این روش در خوشههایی که شکل کروی ندارند موفق نیست. این الگوریتم هیچ تضمینی برای خوشهبندی بهینه ندارد اما مقدار دهی اولیه میتواند بهینگی محلی بدهد. به همین منظور بعضا پیشنهاد میشود که یک خوشهبندی سلسلهمراتبی با تعداد محدودی از ورودی ها انجام شود و نقاط مرکزی خوشههای بهدستآمده گرانیگاههای پایه الگوریتم اصلی در نظر گرفته شوند. ### `K`-معدلهای میانی شاخه ای از الگوریتم k-معدل است به این صورت که ابتدا همهی دادهها را در یک خوشه فرض میکند سپس شروع به تقسیم کردن آن میکند. در هر مرحله بدترین خوشه انتخاب شده و به دو قسمت تقسیم میشود. الگوریتم k-معدلهای میانی ~~~ sudo Repeat pick a cluster to split according to a criterion for I = 1 to N do Bisect into two sub-cluster using k-means for k=2 Keep track of best candidate End for ~~~ پیچیدگی این الگوریتم در بدترین حالت `O(nk(` است اما در عمل معمولا الگوریتم کمی سریعتر از حالت عادی اجرا میشود #### مشکلات روش خوشهبندی K-Means علیرغم اینکه خاتمهپذیری الگوریتم بالا تضمین شده است ولی جواب نهایی آن واحد نبوده و همواره جوابی بهینه نمیباشد. به طور کلی روش ساده بالا دارای مشکلات زیر است. + جواب نهایی به انتخاب خوشههای اولیه وابستگی دارد. + روالی مشخص برای محاسبة اولیة مراکز خوشهها وجود ندارد. + اگر در تکراری از الگوریتم تعداد دادههای متعلق به خوشهای صفر شد راهی برای تغییر و بهبود ادامة روش وجود ندارد. + در این روش فرض شده است که تعداد خوشهها از ابتدا مشخص است. اما معمولا در کاربردهای زیادی تعداد خوشهها مشخص نمیباشد. ### خوشهبندی متراکم سلسلهمراتبی هر عنصر را به عنوان یک شیء فرض میکند و طی چند ادغام به یک ریشه میرسد. در این مسیر، دادهها درختی را تشکیل میدهند. برای ادغام نیازمند محاسبهی مشابهت هستیم. برای دوری از پیچیدگی `O(n^2(` عوض محاسبه مشابهت در هر مرحله، شباهت ها را در هر دور به یاد میسپاریم. ~~~ sudo Compute the similarity matrix Repeat Find two best candidates according to criterion Save these two in the hierarchy as sub clusters Insert new cluster containing elements of both clusters Remove the old two from the list of active clusters Until k or one cluster remains ~~~ خوشه بندی پیوند یگانه ارزانترین معیار ادغام است. به صورت محلی و با در نظر گرفتن نزدیک ترین نقاط بین خوشهها، میزان مشابهت آنها مشخص میشود. زمان کل خوشهبندی پیوند یگانه به وسیلهی ماتریس مشابهت از `O(n^2)` است. خوشه بندی پیوند کامل حریصانه به دنبال کمینه کردن قطر خوشههاست. در نتیجه دورترین نقاط هر خوشه بیشتر مورد توجه باشند. این قاعده در نهایت باعث مقداری محاسبات اضافی در فاز ادغام میشود و پیچیدگی زمانی `O(n^2logn)` را منجر میشود. برگ برندهی این الگوریتم قطعی بودن آن است بطوری که با ورودی یکسان همیشه خروجی یکسان بازگردانده خواهد شد. ![نمونه خوشهبندی دادگان پرتقال توسط الگوریتم متراکم سلسلهمراتبی](https://upload.wikimedia.org/wikipedia/commons/9/97/Orange-data-mining-hierarchical-clustering.png) روشهای خوشهبندی بر اساس ساختار سلسله مراتبی تولیدی توسط آنها معمولا به دو دستة زیر تقسیم میشوند: + بالا به پایین (Top-Down) یا تقسیم کننده (Divisive) در این روش ابتدا تمام دادهها به عنوان یک خوشه در نظر گرفته میشوند و سپس در طی یک فرایند تکراری در هر مرحله دادههایی شباهت کمتری به هم دارند به خوشههای مجزایی شکسته میشوند و این روال تا رسیدن به خوشههایی که دارای یک عضو هستند ادامه پیدا میکند. + پایین به بالا (Bottom-Up) یا متراکم شونده (Agglomerative) در این روش ابتدا هر دادهها به عنوان خوشهای مجزا در نظر گرفته میشود و در طی فرایندی تکراری در هر مرحله خوشههایی که شباهت بیشتری با یکدیگر با یکدیگر ترکیب میشوند تا در نهایت یک خوشه و یا تعداد مشخصی خوشه حاصل شود. از انواع الگوریتمهای خوشهبندی سلسله مراتبی متراکم شونده رایج میتوان از الگوریتمهای Single-Link، Average-Link و Complete-Linkنام برد. تفاوت اصلی در بین تمام این روشها به نحوة محاسبة شباهت بین خوشهها مربوط میشود. ## اندازهگیری اعتبار خوشهها نتایج حاصل از اعمال الگوریتمهای خوشهبندی روی یک مجموعه داده با توجه به انتخابهای پارامترهای الگوریتمها میتواند بسیار متفاوت از یکدیگر باشد. هدف از اعتبارسنجی خوشهها یافتن خوشههایی است که بهترین تناسب را با دادههای مورد نظر داشته باشند. دو معیارِ پایة اندازهگیری پیشنهاد شده برای ارزیابی و انتخاب خوشههای بهینه عبارتند از: + تراکم (Compactness) دادههای متعلق به یک خوشه بایستی تا حد ممکن به یکدیگر نزدیک باشند. معیار رایج برای تعیین میزان تراکم دادهها واریانس دادهها است. + جدایی (Separation) خوشهها خود بایستی به اندازه کافی از یکدیگر جدا باشند. سه راه برای سنجش میزان جدایی خوشهها مورد استفاده قرار میگیرد که عبارتند از: + فاصلة بین نزدیکترین دادهها از دو خوشه + فاصلة بین دورترین دادهها از دو خوشه + فاصلة بین مراکزخوشهها همچنین روشهای ارزیابی خوشههای حاصل از خوشهبندی را به صورت سه دسته تقسیم میکنند که عبارتند از: + معیارهای خروجی (External Criteria) + معیارهای درونی (Internal Criteria) + معیارهای نسبی (Relative Criteria) هم معیارهای خروجی و هم معیارهای درونی بر مبنای روشهای آماری عمل میکنند و پیچیدگی محاسباتی بالایی را نیز دارا هستند. معیارهای خروجی عمل ارزیابی خوشهها را با استفاده از بینش خاص کاربران انجام میدهند. معیارهای درونی عمل ارزیابی خوشهها را با استفاده از مقادیری که از خوشهها و نمای آنها محاسبه میشود، انجام میدهند. پایه معیارهای نسبی، مقایسة بین شماهای خوشهبندی (الگوریم به علاوة پارامترهای آن) مختلف است. یک و یا چندین روش مختلف خوشهبندی چندین بار با پارامترهای مختلف روی یک مجموعة داده اجرا میشوند و بهترین شمای خوشهبندی از بین تمام شماها انتخاب میشود. در این روش مبنای مقایسه، شاخصهای اعتبارسنجی (Validity-Index) هستند. شاخصهای ارزیابی بسیار متنوعی پیشنهاد شدهاند که به معرفی آنها میپردازیم اما ارائه معادلات ریاضی از مجال پژوهش حاضر بیرون است. ### شاخص دون (Dunn Index) اگر مجموعة دادهای، دارای خوشههایی جداپذیر باشد، انتظار میرود فاصلهٔ بین خوشهها زیاد و قطر خوشههای (Diameter) آن کوچک باشد. در نتیجه مقداری بزرگتر برای رابطهٔ این معیار مقداری مطلوبتر است. #### معایب این معیار معایبی دارد که عبارتند از: + محاسبهٔ زمانبر + حساسیت به نویز (قطر خوشهها در صورت وجود یک دادة نویزی میتواند بسیار تغییر کند.) ### شاخص دیویس بولدین (Davies Bouldin Index) این شاخص در واقع میانگین شباهت بین هر خوشه با شبیهترین خوشهٔ به آن را محاسبه میکند. میتوان دریافت که هرچه مقدار این شاخص بیشتر باشد، خوشههای بهتری تولید شده است. ### شاخصهای اعتبارسنجی ریشة میانگین مربع انحراف از معیار (RMSSDT) هرچند این شاخصها معمولا در اعتبارسنجی الگوریتمهای سلسله مراتبی مورد استفاده قرار میگیرند ولی قابلیت ارزیابی نتایج سایر تکنیکهای خوشهبندی را نیز دارا میباشند. در شاخص اعتبارسنجی RMSSDT (root – mean– square standard deviation) از واریانس خوشهها استفاده میشود. هرچه مقدار آن کمتر باشد نشان دهندهٔ خوشهبندی بهتر دادهها است. ### شاخص اعتبارسنجی SD اساس شاخص اعتبارسنجی SD، میاگین پراکندگی (Average Scattering) و جدایی کلی (Total Separation) خوشهها است. پراکندگی از طریق محاسبهٔ واریانس خوشهها و واریانس کل محموعهٔ دادهها بدست میآید. با توجه به اینکه این معیار هم از میزان همگنی دادهها و هم از میزان تراکم خوشهها بهره میبرد معیار مناسبی برای ارزیابی خوشهها محسوب میشود. مقدار محاسبه شده توسط این معیار هرچه کوچکتر باشد به معنی خوشهبندی بهتر است. ### شاخص اعتبارسنجی S_Dbw همانند شاخص SD این معیار هم بر اساس تراکم درونخوشهای و میزان جدایی خوشهها اما در این شاخص سعی شده تا چگالی خوشهها نیز دخیل شود. به شکل رسمی میتوان گفت که شاخص S_Dbw از واریانس بین خوشهای و واریانس درون خوشهای استفاده میکند. در شاخص S_Dbw سعی شده هر دو معیار خوبی خوشهها با هم ترکیب شوند و تخمینی دقیق از خوشههای حاصل بدست آید. مقدار کم برای این شاخص به معنی خوشهبندی بهتر است. ## آزمایش و مقایسه کارایی شاخصهای اعتبارسنجی در اینجا با آزمایش سعی میشود کارایی 4 شاخص از شاخصهای خوشهبندی بالا با هم مقایسه شوند. برای این منطور از سه دسته داده با ویژگیهای متفاوت استفاده میشود. + خوشههای کاملا جدا: دادههای متعلق به هر خوشه در کاملا به هم نزدیک هستند. ![خوشههای کاملا جدا](https://boute.s3.amazonaws.com/264-image083.gif) طبق آزمایشها چهار شاخص اعتبارسنجی دون، دیویس بلودین، SD و D_Dbw نتایج صحیح ارائه میدهند. + خوشههای حلقهای شکل: خوشهای که خوشهای دیگر درون آن قرار دارد. ![خوشههای حلقویشکل](https://boute.s3.amazonaws.com/264-image085.gif) طبق آزمایشها تنها با شاخص دون و S_Dbw مقادیر صحیحی بهدست میآوریم. + خوشههای با شکل دلخواه: دو خوشه با شکلی دلخواه. ![خوشههای با شکل دلخواه](https://boute.s3.amazonaws.com/264-image087.gif) طبق آزمایشها تنها شاخص دون مقادیر صحیحی را محاسبه میکند. # آزمایشها ## پیشپردازش ### حذف اعراب با استفاده از [پروژه متن باز](https://github.com/motazsaad/process-arabic-text) ورودی و خروجی مدنظر را میبینیم: *ورودی:* قُلْ إِنَّما أَنَا بَشَر مِثْلُکُمْ یوحی إلَی أَنَّما إلهُکُمْ إِله واحِد فَمَن کانَ یرْجُوا لِقاءَ رَبِّهِ فَلْیعْمَلْ عَمَلاً صالِحاً وَ لا یشْرِکْ بِعِبادةِ رَبِّهِ أَحَدا *خروجی:* قل إنما أنا بشر مثلکم یوحی إلی أنما إلهکم إله واحد فمن کان یرجوا لقاء ربه فلیعمل عملا صالحا و لا یشرک بعبادة ربه أحدا # کارهای آینده ## دقتافزایی در مرحله پیشپردازش شاید مهمترین گام پژوهشگران آتی افزایش دقت در مرحله پیشپردازش باشد. در این مرحله آنگونه که در مقدمه بیان شد، از بسیاری از ظرایف زبان فصیح عربی چشمپوشی شد؛ ظرایفی که تفاوتهایی عمیق در فهم قرآن مجید و خوشهبندی دقیق آن را سبب میشوند. ### حذف اعراب اعراب و حرکات حروف در زبان عربی تأثیر قابلتوجهی دارند، علی الخصوص کلام وحی که جزئیات مهمی را دارد. ### نشانهگذاری هر عبارت در نشانهگذاری این پژوهش یک کلمهای فرض شد. دخیل کردن اصطلاحات و عبارات چند کلمهای دقت ما را بهخوبی میافزاید. ناکارآمدی بیشتر نشانهگذاری در زبان عربی، خروجی کاملا یکسان برای الگوریتمهای متنوع نشانهگذاری است بطوری که از پنج روش آن شامل TreebankWordTokenizer، WordPunctTokenizer، PunktWordTokenizer WhitespaceTokenizer و pattern خروجی یکسان حاصل میشود.[2] پس نیاز به نشانهگذاری تخصصی متناسب با ویژگیهای زبان عربی داریم. #### فراهمآوردن دادههای آموزشی با طراحی یک سیستم خبره و در نظر گرفتن قوانین با همآیی کلمات میتوان متون مشابه را به صورت ماشینی شناسایی کرد. در ادامه این پژوهش میتوان با ضمیمه نمودن بخش قواعد معنوی و بانکهای مترادفات و مشترکات بر صحّت پاسخ ها افزود. ### حذف کلمات بیاثر لیستهای موجود کلمات بیاثر در زبان عربی با بیان بلیغ قرآنی بهینه نیستند. مثلا کلماتی نظیر «الیوم، دون ،نفسه» جزو کلمات محذوف اند در حالی که در معنی تأثیر قابل توجه دارند. ### ریشهیابی ماهیت و روش ریشهیابی در زبان عربی با زبان انگلیسی بسیار متفاوت است. با دستیابی به الگوریتمی بهینه و کارا در این زمینه نه تنها موضوع پژوهش ما، بلکه دیگر استفادههای دادهکاوی در علوم اسلامی نیز جهش خواهد داشت. مقاله «بهبود فرایند ریشهیابی عربی با استفاده از منابع و ابزارهای محکزنی» که در بخش پیوندهای مفید ذکر شده است بهره برد. ## امنیت حداکثری در کاهش ابعاد کاهش ابعاد علی الخصوص هنگامی که تفاسیر و روایات هم مورد پردازش قرار میگیرند الزامی است. کاهش بعد مناسب با رجوع به مقاله «راهی کارا برای روش انتخاب خصوصیت برای طبقهبندی متن عربی» که در مراجع ذکر شده است راهگشاست. ### انتخاب خصوصیت مثالی که از انتخاب خصوصیت در بخش مقدمه ذکر شد حالت ایدهآل بود. اما در حقیقت روشهای فعلی از چنین هوشمندیای بهرهمند نیستند و نیاز است تحقیقی خاص منحصرا ناظر بر این بخش صورت پذیرد. ## وسعتبخشیدن به دامنه دادهها علاوه بر این پردازش متون روایی و تفاسیر و دخیل کردن همه نتایج، ما را در رهیابی به تصویری یکپارچه از قرآن یاریگر است. ## پیادهسازی الگوریتم امید ریاضی بیشینه تصویر زیر که مقایسه بین k-معدلهای میانگین و امید ریاضی بیشینه است گویای برتری و هوشمندی بیشتر این الگوریتم است. پیادهسازی و بهرهگیری از این الگوریتم در خوشه بندی اثر بهبودی قابل توجهی خواهد داشت. ![مقایسه الگوریتم k-معدلهای میانگین و امید ریاضی بیشینه](https://upload.wikimedia.org/wikipedia/commons/0/09/ClusterAnalysis_Mouse.svg) # پاورقی [2] ر.ک: [Word Tokenization with Python NLTK](http://text-processing.com/demo/tokenize/) # مراجع + حسین عابدینی، دکتر بهروز مینایی. «کاربردهای دادهکاوی در علوم اسلامی» (ویژهنامه سمینار فناوریهای پردازش هوشمند متون اسلامی) + حمید محمودی، دکتر اقبال منصوری. «ارائه یک مدل آماری برای خوشهبندی متون» (پایاننامه کارشناسی ارشد، دانشگاه شیراز) + Bilal Hawashin, Ayman M Mansour, Shadi Aljawarneh. "An Efficient Feature Selection Method for Arabic Text Classification" (International Journal of Computer Applications Volume 83 – No.17, December 2013) + [محتوای آموزشی درس یادگیری ماشین، دکتر شیری](http://ceit.aut.ac.ir/~shiry/lecture/machine-learning/tutorial/clustering/TOC.htm) دانشگاه امیرکبیر تهران (۱۳۸۵) + [مبانی خوشهبندی](http://ce.aut.ac.ir/~shiry/lecture/machine-learning/tutorial/word%20files/Clustering.pdf) دانشگاه امیرکبیر + Ebbesson, Magnus, and Christopher Issal. "Document Clustering." (2010). + Berry, Michael W., ed. Survey of Text Mining I: Clustering, Classification, and Retrieval. Vol. 1. Springer, 2004. + [م.ایمانی، خوشهبندی متون فارسی، پایاننامه کارشناسی، دانشگاه علم و صنعت ایران، ۱۳۹۱](http://bayanbox.ir/id/8155819707974834975) # پیوندهای مفید + قُطوف [Arabic Morphological Analyzer (with Stemmer)](https://github.com/Muhammad-Altabba/Qutuf) + تاشفین [Tashaphyne Arabic Light Stemmer](https://pypi.python.org/pypi/Tashaphyne) + [Hierarchical clustering](https://en.wikipedia.org/wiki/Hierarchical_clustering) + [_k_-means clustering](https://en.wikipedia.org/wiki/K-means_clustering) + [Adapt Clustering Methods for Arabic Documents](http://pubs.sciepub.com/ajis/1/1/4/index.html) + [اسلایدهای درس یادگیری ماشین، دانشگاه شهید بهشتی](http://facultymembers.sbu.ac.ir/a_mahmoudi/ML_93_1/ML_93_1_Chap7_Clustering&EM.pdf) (۱۳۹۳) + [پردازش زبان فارسی در پایتون](http://www.sobhe.ir/hazm) + [خوشهبندی با scikit-learn](http://scikit-learn.org/stable/modules/clustering.html#clustering) + [یک نمونه کد از K-Means](http://scikit-learn.org/stable/auto_examples/document_clustering.html) + [راهنمایی برای استخراج ویژگی از متن زبان طبیعی](http://pyevolve.sourceforge.net/wordpress/?p=1589) + [نمونهای از کشف آیات مشابه با استفاده از تفسیر ابن کثیر](http://textminingthequran.com/apps/similarity.php) + [پیکره قرآن تنزیل](http://tanzil.net/wiki/Resources) + [پیکره تفاسیر اهل سنت](http://www.textminingthequran.com/wiki/Tasir_corpus) + Younes Jaafar, Driss Namly, Karim Bouzoubaa, Abdellah Yousfi. ["Enhancing Arabic stemming process using resources and benchmarking tools"](http://www.sciencedirect.com/science/article/pii/S1319157816301239)