Wednesday, January 9, 2013

سیستم های پیشنهاد دهنده (Recommender Systems)

ما در زندگی روزانه به پیشنهاداتی تکیه می کنیم که از آدم های دیگر به صورت شخصی، از طریق توصیه نامه ها، نقد فیلم و کتاب، و غیره در یافت می کنیم. سیستم های پیشنهاد دهنده (Recommender Systems) از الگو ریتم هایی استفاده می کنند که محتوا های متناسب مثل خبر، کتاب، فیلم، موسیقی، تعطیلات، خودرو و غیره را به صورت خودکار به کاربر پیشنهاد میدهند.      

Friday, January 4, 2013

هوشمندی کسب و کار (Business Intelligence)

 تصو ر کنید که  شما به یک فروشگاه می روید و پنیر می خرید. شما پول پنیر رو می پردازید و از مغازه خارج می شوید و ممکن است ندانید که مغازه اطلاعات جدیدی را در مورد پنیری که شما خریدید، زمان خرید، و مقدار خرید جمع آوری می کند.  یکی از وظایف روزانه  مدیر تدارکات (Supply Manager) این است که مشخص کند چه مقدار پنیر باید خریداری شود. تنها راه ممکن برای او این است که بداند چه مقدار پنیر توسط مشتریان خریداری شده است. برای یافتن مقدار پنیر فروخته شده در یک روز ، مدیر مربوطه باید تمامی تراکنش های روز را بررسی کند تا مقدار پنیر فروخته شده در یک روز را مشخص کند.  این کار زمان زیادی نیاز دارد و کاری است که باید به دفعات انجام شود. در نتیجه مدیر تصمیم می گیرد که از یک نرم افزار هوشمندی کسب و کار (Business Intelligence) استفاده کند تا چنین اطلاعاتی را فراهم کند. استفاده از نرم افزار  هوشمندی کسب و کار اجازه خلاصه کردن (Roll up) دوره ای داده ها را می دهد. هوشمندی کسب و کار فرآیند تولید اطلاعاتی از این دست از داده های خام است. هوشمندی کسب و کار دامنه وسیعی دارد. برخی از نمونه های متداول در اینجا ذکر میشوند:              
1)  گزارش های عملیاتی (Operational Reporting) : مثل رسید عا بر بانک ، معمولا دارای ساختار مشخص برای نمایش داده ها به کاربر میباشد. تجربه کاربر مثل چگونگی تحلیل داده ها و فهمیدن آنها مواردی هستند که در تهیه چنین  گزارش های باید مد نظر قرار بگیرند.  
2) گزارش های ویژه (Ad Hoc Reporting): این دسته از گزارش ها به کاربر اجازه میدهد تا گزارش های ایجاد کند که دارای ظاهر (Look & Feel) و محتوای (Content) مورد نظر اوست. 
3) تحلیل OLAP : این دسته از تحلیل ها ، داده هایی از پیش محاسبه شده را برای کاربران تجاری تهیه می کند.
4) نمایش داده ها (Data Visulization) : در نمایش داده ها خلاصه کردن داده ها به صورت خودکار انجام و در حافظه ذخیره می شود. این ویژگی اجازه می دهد تا نرم افزار هوشمندی کسب و کار به صورت نصب و مورد استفاده قرار گیرد (Plug & Play). همچنین، جواب دادن به سوالاتی که ممکن است تنها یکبار مطرح شوند (One-off questions)  را آسان می کند.
5) داشبورد (Dashboards) : داشبورد اجازه می دهد تا به سازمان از بالا نگاه کرد. با وجود داشبورد، کاربر نیازی به بررسی صد ها گزارش و داده ندارد و هر زمان  که در داشبورد مشکلی پیش اید، کاربر گزارشات مربوط به ان قسمت را با دقت بررسی می کند. معمولا داشبورد شامل اجزا مختلفی برای نمایش و تحویل داده ها است که در بالا بعضی از آنها معرفی شدند.

تمامی اشکال هوشمندی کسب و کار که در بالا معرفی شدند به همراه موارد بسیار دیگر مثل زمانبندی گزارشات به صورت خودکار، حفاظت داده ها و غیره به صورت  یکپارچه و در قالب یک  سیستم تحویل داده  می شود. کار اصلی در هوشمندی کسب و کار در پشت صحنه و در داده‌گاه (Data Marts) و  انبار داده (Data Warehouses) اتفاق می افتد. اگر مشکلی در نرم افزار هوشمندی کسب و کار وجود دارد معمولا سرچشمه مشکل در انبار داده است. در پست های آتی سعی می کنم انبار داده را به صورت مفصل تر شرح  دهم.      

 

Saturday, December 29, 2012

داده کاوی فرایند های تجاری (Business Process Mining)

سیستم های اطلاعا تی در سازمانها ، روزانه حجم عظیمی از رویداد ها را ذخیره سازی میکنند. این رویداد ها مربوط به فرایند های عملیاتی سازمان هستند. معمولا سازمانها در استخراج اطلاعات مفید از سیستم های اطلاعا تی خود مشکل دارند.  هدف داده کاوی فرایند های تجاری (Business Process Mining) این است که از رویداد های ذخیره شده در سیستم های اطلاعآتی سازمان ها ، اطلاعات مفید در مورد فرایند ها استخراج کند: برای نمونه، کشف اتوماتیک مدل فرایند (process model) بر اساس رویدادهای ذخیره شده در سیستم سازمانی. داده کاوی فرایند های تجاری این امکان را میدهد تا فرایند های واقعی سازمان مورد  بررسی قرار گیرد: انحرافها تحلیل شود و کیفیت مدل ها افزوده شود.
یک فرایند تجاری(Business Process) مجمو عه ای از فعا لیت های(Activities) یا کارهای(Tasks) به هم مرتبط  است که یک محصول یا خدمات با هدف مشخص را برای مشتریان تولید میکنند.     
داده کاوی فرایند های سازمانی یک زمینه تحقیقاتی جدید است که از یک سو به داده کاوی (Data Mining)  و یاد گیری ماشین (Machine Learning) و از سوی دیگر به مدلسازی و تحلیل فرایند ها (Process Modeling and Analysis) مرتبط ا ست. ایده اصلی در داده کاوی فرایند ها کشف و بهتر ساختن فرایندهای واقعی(نه فرایند های مفروض) با استفاده از رویداد های ذخیره شده در فایل های ذخیره شده در سیستم هاست (log files). 
برای روشن شدن موضو ع به ساختار یک نمونه لاگ فایل که در زیرآمده است توجه  کنید:



در نمونه فایل، بخشی از لاگ مربوط به ... آورده شده است. هر خط از لاگ متناظر با یک رویداد است. رویدادهای مربوط به هر مورد (Case) گروه بندی شده اند و در مجموع سه مورد وجود دارد. مورد اول پنج رویداد دارد که اولین آنها ثبت درخواست (Register Request) است. نکته دیگر اینکه هر رویداد دارای یک تاریخ و زمان است. در بعضی فایل های لاگ فقط تاریخ یا ترتیب جزیی (Partial Order) رویداد ها ثبت می شود یا در بعضی دیگر زمان شروع و تکمیل رویداد ها نیز ثبت میشود. در جدول می بینیم که هر رویداد به یک منبع (Resource)  نسبت داده شده است. در بازی فایل ها این اطلا عات موجود نمی باشد. اینها اطلاعات نوعی موجود در لاگ فایل ها می باشند. بسته به روش داده کاو ی فرآیند مورد استفاده و مساله که می خواهیم حل کنیم فقط بخشی از این اطلاعات استفاده می شود.
برای انجام داده کاوی فرایند یک لاگ فایل باید شامل حداقل موارد زیر باشد: ١) مجموعه ای از مورد ها به همراه رویداد های مربوطه ،٢) هر رویداد متناظر با یک فعالیت باشد، ٣) رویدادهای مربوط به هر مورد بر اساس زمان اتفاق افتادن شان مرتب باشند.ستونهای شماره مورد و فعالیت کمترین اطلاعات لازم برای داده کاوی فرایند هستند.
الگوریتم های داده کاوی فرایند که کشف فرایند (Process Discovery)  را بر عهده دارند ، دو ستون شماره مورد و فعالیت را به مدلهای فرایند تبدیل می کنند.  به عنوان نمونه الگوریتم آلفا (α) مدل فرایند زیر را که به صورت یک پتری نت(Petri Net) می باشد استخراج می کند. همانطور که جدول می بینیم همه موارد با فعالیت Register Request شرو ع می شوند و با فعالیت Pay Compensation یا Reject Request ختم می شوند.    


به آسانی میتوان دید که همه موارد جدول بالا در این مدل ممکن می باشند اصطلاحا conforms to.
در پستهای آتی سعی می کنم یکی از الگو ریتم ها را با جزییات شرح بدهم.     
  

Friday, December 28, 2012

تجزیه و تحلیل پیشگویانه (Predictive Analytics) چیست؟

من پیشنهاد ترجمه این ویدئو (http://www.youtube.com/watch?v=BjznLJcgSFI) رو از جامعه مجازی مدیران فردای ایران گرفتم . ویدئو  تجزیه و تحلیل پیشگویانه (من آنرا به این صورت ترجمه کردم اما ممکن است بهترین نباشد ) را  تعریف و ضرورت آنرا برای شرکتها توجیه میکند. من قصد دارم در آینده موارد عملی از  تجزیه و تحلیل پیشگویانه را در این بلاگ بیاورم. لطفآ با پیشنهادات خود مرا در این امر یاری کنید:

شما ممکن است ایده های بازاریابی خیلی خوبی داشته باشید ولی به خاطره استفاده از تکنیکهای بازاریابی سنتی هر چه قدر هم که کالا و تبلیغ خوب باشند مشتری آنها را جالب نمیداندمصرف کنندگان با خیل عظیم پیشنهادات در اینترنت ، وسیله های موبایل و غیره مواجه هستند. ما  به عنوان بازاریاب همه مشتریان را یکسان میپنداریم، اما اینطور نیست. پس چطور توجه آنها را جلب کنیم؟ به جای دادن پیشنهادات یکسان به همه، شما باید اطلاعات زیادی رو که راجع به مشتریان خودتون جمع  کردید مثل اطلاعا ت شخصی ( سن، جنسیت، کد پستی )، رفتار (چه کالا هایی خریدند، در سه ماهه گذشته برای هر کدام چه مقدار خارج کردند؟، ...)  رو تحلیل کنید تا الگو هایی را پیدا کنید که به شما کمک کنند تا پیشنهادمناسب را برای هر مشتری پیدا کنیداین عمل تجزیه و تحلیل پیشگویانه (Predictive Analytics) نامیده میشود . 
مشکل اساسی بازاریابی سنتی این است که شما باید  با تعداد زیادی از مشتریان ارتباط بر قرار کنید تا بتوانید مشتریان بالقوه خودتان را شناسائی کنید. با استفاده از تجزیه و تحلیل پیشگویانه شما میتوانید بخشی از مشتریان خود رو هدف قرار دهید و نتیجه صد در صد بگیرید. دلیل اینکه همه تجارتها از تجزیه و تحلیل پیشگویانه استفاده نمیکنند این است که در گذشته ساختن حتی  یک مدل پیشگویانه چندین ماه به طول میانجامد . امروزه مشتریان از ما میخواهند که هر گونه تماس  با آنها  شخصی (Personalized) شود از ایمیل گرفته تا تلفن همراه ، رسانه های اجتما عیتجزیه و تحلیل پیشگویانه  به شما اجازه میدهد که مدل های زیادی بسازید و هر ارتباط مشتری رو بهینه سازی کنید و پیشنهاد مناسب رو جلوی مشتری مربوطه بگذارید.