در مدلسازی موضوعی، فرض میکنیم که مجموعه متون ورودی از روی چند موضوع نامعلوم ساخته شدهاند و باید این موضوعات را پیدا کنیم. هر موضوع یک توزیع احتمال نامعلوم روی واژهها است و هر متن توزیع احتمالی روی موضوعها. در این پروژه شما باید بعد از *فهمیدن* فرایند مدلسازی موضوعی، تلاش کنید موضوعات بیانشده را برای آیات قرآن پیدا کنید. دادههای ورودی شما **ظاهر آیات به همراه ترجمه و تفسیر آنها** هستند. # مقدمه همان طور که اطلاعات در دنیای امروز در حال زیاد شدن است پیدا کردن موضوعی که ما به آن نیاز داریم نیز سخت تر میشود. پس ما برای ساماندهی ، جستجو و فهمیدن این اطلاعات وسیع نیاز به ابزاری مناسب داریم. مدل سازی موضوعی یک سری روش است که به طور اتوماتیک ساماندهی ، فهمیدن ، جستجوکردن و خلاصه کردن مقالات الکترونیکی را انجام می دهند. درواقع سه وظیفه ی اصلی آن ها عبارتند از: ۱. پیدا کردن موضوعات نامعلوم که در مجموعه اسناد وجود دارند.(شایع هستند) ۲. تفسیر کردن اسناد بر اساس موضوعات آن ها . ۳. استفاده کردن از این تفاسیر برای سازمان دهی کردن ، خلاصه کردن و جستجو کردن متن ها. ما در این پروژه قصد داریم بر اساس الگوریتم (LDA) مدل سازی موضوعی را انجام دهیم.حال کمی به توضیح مبانی این روش می پردازیم: + هر **موضوع** توزیعی روی کلمات است. + هر **سند** ترکیبی از موضوعات کل اسناد است. + هر **کلمه** از یک موضوع گرفته شده است. ![latent dirichlet allocation](http://www.scottbot.net/HIAL/wp-content/uploads/2011/11/IntroToLDA.png) در واقع ما فقط اسناد را می بینیم و دیگر ساختار ها **ساختار های نامعلوم** هستند. هدف ما حدس زدن این ساختار های نامعلوم است. LDA به صورت یک مدل گرافیکی: ![lda as a graphical model](http://upload.wikimedia.org/wikipedia/commons/4/4d/Smoothed_LDA.png) که در این مدل : w=کلمات مشاهده شده $\theta$= نسبت فراوانی موضوعات برای هر سند $\alpha$= پارامتر نسبت ها Z= موضوع اختصاص داده شده برای هر کلمه $\phi$= موضوعات $\beta$= پارامتر موضوع و این هم یک فرمول ریاضی برای محاسبه ی LDA: ![LDA solution](https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRSlP_Yi8T1e9Evj34qTaK4j7sX2bFFHJ4SP9pEJQQUFSUcJx_e) به علاوه در مورد مدل LDA دانستن موارد ذیل مفید است: + LDA یک مدل احتمالی از متن است. این مدل مساله پیدا کردن موضوعات در مجموعه ای بزرگ از اسناد را به مساله استنتاج قبلی (posterior inferecne problem) محدود می کند. + این مدل به ما اجازه میدهد تا در یک مجموعه اسناد بزرگ و حجیم ساختار موضوعی نامعلومی را تصور کنیم و همچنین اطلاعاتی جدید را که برای این ساختار مناسب هستند را تولید کنیم. در ضمن این مدل محاسبات ریاضی و احتمالی دارد که از آوردن آنها در این جا صرف نظر می کنیم ولی در صورت نیاز میتوانید روی این [مقاله] کلیک کنید. [مقاله]: http://www.cs.princeton.edu/~blei/papers/HoffmanBleiBach2010b.pdf # کارهای مرتبط خلاصه ای از روش پیاده سازی : ما ابتدا باید با استفاده از ابزاری ، زبان های فارسی و عربی را در زبان برنامه نویسی مورد نظر که احتمالا پایتون است ، پردازش کنیم. سپس با استفاده از کتابخانه gensim که ابزازی برای مدل سازی موضوعی است متن قرآن را مدل سازی موضوعی کنیم.در حقیقت ما LDA را پیاده سازی نمیکنیم بلکه library آن در زبان پایتون به نام gensim وجود دارد و ما برای انجام پروژه از آن استفاده می کنیم.یکی از کارهای انجام شده در مورد مدل سازی موضوعی مرورگری برای ۱۰۰۰۰۰ مقاله سایت ویکی پدیا است که از [TMVE] استفاده میکند. بعد باید با استفاده از ابزار[TMVE] برای این مدل سازی یک مرورگر بنویسیم.در واقع کار ما از این مرورگر ایده میگیرد . که می خواهیم این مرورگر ویژگی های گفته شده در ذیل را داشته باشد: + بتواند موضوعات را به ترتیب تکرار بیشتر زیر هم مرتب کند + روی هر موضوعی کلیک می شود کلمات پر تکرار آن موضوع ، موضوعات مرتبط با آن موضوع و همچنین اسناد مربوطه را نشان دهد و به همین ترتیب اگر روی اسناد کلیک شد متن سند را نشان دهد. در این جا منظور از سند میتواند یک سوره یا یک صفحه از قرآن باشد. + در هر موضوع مشخص باشد که چه کلماتی با چه درصد هایی وجود دارند. + یک صفحه از مرورگر شامل تمام موضوعات با ۵ کلمه پر تکرار آن ها باشد. + صفحه ای دیگر شامل همه ی کلمات به ترتیب تکرار آنها در کل قرآن باشد که مشخص شود که به طور کلی هر کلمه ای در قرآن چند بار تکرار شده است. در ضمن برای درک بیشتر به این [لینک] می توانید مراجعه کنید. در حوزه ی مدل سازی موضوعی library های مفیدی نیز برای زبان های مختلف وجود دارد که در این [سایت] وجود دارد. [سایت]:https://www.cs.princeton.edu/~blei/topicmodeling.html [لینک]: http://www.princeton.edu/~achaney/tmve/wiki100k/browse/topic-presence.html [TMVE]:http://code.google.com/p/tmve/ # آزمایشها همانطور که در بخش **کارهای مرتبط** گفته شد یکی از مهمترین آزمایش ها روی مدل سازی موضوعی مرورگری است که ۱۰۰۰۰۰ مقاله ویکی پدیا را مدل سازی موضوعی کرده است. + [مدل سازی موضوعی ویکی پدیا](http://www.princeton.edu/~achaney/tmve/wiki100k/browse/topic-presence.html) یکی دیگر از این آزمایش ها روی مدل کردن تحول علم صورت گرفته است که برای رفتن به آن می توانید روی [اینجا] کلیک کنید. [اینجا]: http://topics.cs.princeton.edu/Science/ # کارهای آینده # مراجع + Blei, David M. "Probabilistic topic models." Communications of the ACM 55.4 (2012): 77-84. + Probabilistic Topic Models Mark Steyvers Tom Griffiths + On-Line LDA: Adaptive Topic Models for Mining Text Streams with Applications to Topic Detection and Tracking Loulwah AlSumait, Daniel Barbar´a, Carlotta Domeniconi + Joint Sentiment/Topic Model for Sentiment Analysis Chenghua Lin Yulan He + Exploring Content Models for Multi-Document Summarization Aria Haghighi Lucy Vanderwende + Visualizing Topic Models Allison J. B. Chaney and David M. Blei # پیوندهای مفید + [ابزار مدلسازی موضوعی در پایتون](https://github.com/piskvorky/gensim) + [ابزار پردازش زبان فارسی در پایتون](http://www.sobhe.ir/hazm) + [پیکره قرآن تنزیل](http://tanzil.net/wiki/Resources) + [پیکره تفاسیر اهل سنت](http://www.textminingthequran.com/wiki/Tasir_corpus) + [مرجع اصلی مدل سازی موضوعی](https://www.cs.princeton.edu/~blei/topicmodeling.html) + [چگونگی محاسبه ی LDA از منظر ریاضیات واحتمال](http://www.cs.princeton.edu/~blei/papers/HoffmanBleiBach2010b.pdf) + [اسلاید هایی مناسب برای درک مدل سازی موضوعی و مدل LDA](https://www.cs.princeton.edu/~blei/kdd-tutorial.pdf) + [فیلمی درباره ی مدل های موضوعی وابسته و پویا](http://www.youtube.com/watch?v=7BMsuyBPx90)