در ادامه قصد داریم به یکی از کاربردهای دسته بندی بپردازیم:
تشخیص کلاهبرداری: هدف، پیش بینی موارد کلاهبرداری در تراکنشهای کارتهای اعتباری است. (البته تشخیص کلاهبرداری لزوماً منحصر به تراکنشهای کارتهای اعتباری نبوده و قابل طرح در بسیاری از کاربردهای مالی دیگر نظیر بیمه و بورس میباشد). روش کار به اینصورت است که در گذشته نیز تعداد زیادی تراکنش اتفاق افتاده و هرکدام از آنها بررسی شدهاند و به عنوان یک تراکنش کلاهبرداری یا یک تراکنش عادی برچسب خوردهاند. تمام این تراکنشها در سیستم ثبت شدهاند. حال از اطلاعات مربوط به این تراکنشها استفاده نموده و یک مجموعه رکورد جمع آوری میکنیم. در هر رکورد اطلاعات صاحب حساب و کارهایی که در حال انجام آن میباشد را به عنوان ویژگی در نظر میگیریم. به علاوه یک ویژگی دسته هم تعریف میکنیم که شامل دو مقدار کلاهبرداری و عادی است. هر رکورد یکی از این دو مقدار را به ازای ویژگی دسته خود دارد. به عنوان مثال تعدادی از این ویژگیها عبارتند از: مشتری چه موقع در حال خرید است؟ در حال خرید چه چیزی است؟ آیا هزینه را به موقع پرداخت میکند؟ و… این مجموعه رکوردها به دو قسمت مجموعه دادههای آموزشی و آزمایشی شکسته میشوند. الگوریتم یادگیرنده بر اساس مجموعه دادههای آموزش، مدلی را برای وضعیتهای کلاهبرداری و عادی میسازد. حال فرد جدیدی که وارد شد و کارت خود را وارد سیستم نمود، ویژگیهای آن به مدل داده میشود و مدل تشخیص میدهد که آیا این فرد قصد انجام یک کار کلاهبردارانه را دارد یا نیت او انجام یک تراکنش عادی است.
رگرسیون: پیش بینی مقدار یک متغیر پیوسته بر اساس مقادیر سایر متغیرها بر مبنای یک مدل وابستگی خطی یا غیر خطی رگرسیون نامیده میشود. رگرسیون در علوم آمار و شبکههای عصبی به صورت وسیع مورد مطالعه و بررسی قرار میگیرد. در واقع یک بردار x به عنوان ورودی داریم که به یک متغیر خروجی y نگاشت شده است. هدف محاسبه y یا همان F(x) است که از روی تخمین تابع مقدار آن محاسبه میشود. در اینجا میبایست به ازای یک بردار x ، مقدار دقیق y قابل محاسبه باشد. این کاربرد نیز مانند دسته بندی یک کاربرد از نوع پیش بینی یا با ناظر است. دلیل آن هم کاملاً روشن است، چرا که باید مقدار یک متغیر که در اینجا y نشان داده شده، از روی مقادیر متغیرهای دیگر که آن را با بردار x مشخص میکنیم، پیش بینی شود. بنابراین در رگرسیون هم دو مرحله آموزش و آزمایش وجود خواهد داشت. روشهای موجود در رگرسیون بیشتر مبتنی بر ریاضیات آماری هستند. یک نوع خاصی از رگرسیون، پیش بینی سریهای زمانی[۲۹] است. در مسائل پیش بینی سریهای زمانی یکی از متغیرهای اصلی، زمان است. در این مسائل یک مجموعه از xها و yها به صورت یک تابع ریاضی وجود دارند. به عبارت دیگر به ازای هر x فقط و فقط یک y موجود میباشد (در غیر اینصورت زمان به عقب بر خواهد گشت). هدف این است که به ازای یک x جدید مقدار y آن را پیش بینی کنیم. مثالهایی از رگرسیون عبارتند از:
-
- پیش بینی میزان فروش یک محصول جدید بر اساس میزان فروش محصولات گذشته، مشخصات محصولات گذشته و میزان تبلیغات انجام شده بر روی آن
-
- پیش بینی سرعت باد به عنوان تابعی از دما، رطوبت و فشار هوا
-
- مسائل مربوط به پیش بینی سریهای زمانی از قبیل: بورس اوراق بهادار، تغییرات جوّی آب و هوا و …
تشخیص انحراف: در مواقعی از این کاربرد استفاده میشود که تنها نمونههای با یک برچسب یکسان، که معمولاً وضعیت نرمال را نشان میدهد، در دسترس باشند و امکان مالکیت بر دادهها با تمامی برچسبهای موجود به دلایل مختلف وجود نداشته باشد. بنابراین چون فقط نمونههای دسته نرمال در اختیار است، الگوریتم برای وضعیت نرمال و با توجه به یک آستانه[۳۰] مشخص مدل میسازد و هرگونه تخطی از آن آستانه را به عنوان وضعیت غیر نرمال در نظر میگیرد و هشدار میدهد. یک نمونه از کاربردهای تشخیص انحراف عبارتست از: تشخیص نفوذ به شبکههای کامپیوتری.
روشهای توصیفی: این روشها الگوهای قابل توصیفی را پیدا میکنند که روابط حاکم بر دادهها را بدون در نظر گرفتن هرگونه برچسب و یا متغیر خروجی تبیین نمایند. در متون علمی مختلف روشهای توصیفی با نام روشهای بدون ناظر[۳۱] نیز شناخته میشوند. روشهای خوشه بندی[۳۲] ، کاوش قوانین انجمنی[۳۳] و کشف الگوهای ترتیبی[۳۴] سه روش یادگیری مدل در داده کاوی با ماهیت توصیفی هستند. در ادامه به بررسی هر کدام از این روشها میپردازیم.
خوشه بندی: در مسائل خوشه بندی یک مجموعه رکورد داریم که هر کدام یک مجموعه از ویژگیها را دارا هستند. یک معیار مشابهت میان آنها تعریف میکنیم. این معیار مشابهت در مسائل مختلف متفاوت است. به عنوان مثال اگر ویژگیها پیوسته باشند میتوان فاصله اقلیدسی را به عنوان معیار مشابهت در نظر گرفت. به این ترتیب هر رکورد را به صورت یک نقطه در فضای چند بعدی در نظر میگیریم. هر بعد، نماینده یکی از ویژگیهای مسئله است. در مسائل خوشه بندی هیچگونه دسته خاصی وجود ندارد. در واقع ویژگی دسته نداریم و فقط بر اساس معیار شباهت گروهبندی و خوشه بندی دادهها صورت میپذیرد. خوشه بندی به این شکل انجام میشود که رکوردهایی که بیشترین شباهت را به یکدیگر دارند (با توجه به معیار شباهت تعریف شده) در یک خوشه قرار میگیرند. در نتیجه دادههای موجود در خوشههای متفاوت کمترین شباهت را به یکدیگر خواهند داشت. خروجی الگوریتمهای خوشه بندی دوباره تحلیل خواهد شد تا در صورت امکان نظمی در خوشهها آشکار شود. نکته مهمی که میبایست به آن توجه نمود آن است که خوشه بندی همیشه بر اساس ویژگیهای ورودی و نمونهها انجام میشود. به عنوان مثال در صورت خوشه بندی رکوردهای مربوط به دانشجویان یک دانشکده هر خوشه ممکن است بیانگر رکوردهایی باشد که از جنبههای مختلف به یکدیگر شبیه هستند. مثلاً یک وضعیت ممکن است این باشد که دو خوشه بوجود آید که نشانگر دانشجویان زرنگ و تنبل باشند. ممکن است این دو خوشه بیانگر دانشجویان پسر و دختر باشند. هدف در همه الگوریتمهای خوشه بندی کمینه کردن فاصله درون خوشهای[۳۵] و بیشینه نمودن فاصله بین خوشهای[۳۶] میباشد. عملکرد خوب یک الگوریتم خوب خوشه بندی زمانی محرز میشود که تا حد امکان خوشهها از یکدیگر دور باشند و به علاوه رکوردهای درون یک خوشه بیشترین شباهت را به یکدیگر دارا باشند. در ادامه به بررسی یکی از کاربردهای خوشه بندی میپردازیم:
خوشه بندی اسناد: هدف پیدا کردن گروههایی از اسناد مشابه بر اساس تعداد رخداد کلمات و اصطلاحات مهم موجود در آنها میباشد. به عنوان مثال فرض کنید یک مجموعه مقاله داریم. از میان چکیده این مقالهها عبارات و کلمات کلیدی مهم را استخراج میکنیم. بنابراین ویژگیهای ما یک مجموعه از کلمات کلیدی و عبارات مهم هستند که از چکیده مقالهها استخراج میشوند. حال تعداد رخداد هر کدام از این کلمات و عبارات را در هر یک از مقالهها پیدا میکنیم. در واقع یک مجموعه رکورد جمع آوری مینماییم که هر رکورد نماینده یک از مقالهها میباشد. هر رکورد مجموعه مشخصی از ویژگیها را دارد که همان کلمات مهم موجود در مقالهها هستند. حال تعداد رخداد هر کدام از این کلمات را در هر یک از مقالهها مییابیم و به عنوان مقدار ویژگیها برای هر یک از رکوردها در جدول ثبت مینماییم. سپس مجموعه رکوردهای حاصله را به الگوریتم خوشه بندی ارائه میکنیم. الگوریتم بر اساس فاصله بین رکوردها (یعنی بر اساس تعداد رخداد کلمات مهم در هر یک از اسناد) آنها را خوشه بندی نموده و تعدادی خوشه ایجاد میکند. به عنوان مثال ممکن است چهار خوشه تولید شده باشد، پس از بررسی مشخص خواهد شد اسنادی که در یک خوشه قرار گرفتهاند مرتبط با چه موضوعاتی هستند. مثلاً ممکن است مشخص شود که تمام مقالههای موجود در خوشه نخست سیاسی، مقالههای موجود در خوشه دوم ورزشی، مقالههای موجود در خوشه سوم مالی و در خوشه آخر مقالههای مربوط به بخش فرهنگی وجود دارند. مزیت خوشه بندی اسناد در کاربردهای بازیابی اطلاعات است. یک نمونه دیگر از کاربردهای خوشه بندی اسناد، در تعیین یک خوشه یک سند جدید با توجه به خوشههای یافته شده میباشد.
کشف قوانین انجمنی: در این کاربرد به دنبال پیدا کردن یک مجموعه از قوانین وابستگی یا انجمنی هستیم که بر اساس آن قوانین بگوییم وجود کدامیک از مجموعه اشیا[۳۷] بر وجود چه مجموعه اشیای دیگری اثر گذار است. به عنوان مثال در یک سوپر مارکت اگر کسی کالای x را خرید آنگاه کالای y را هم خواهد خرید. در واقع به دنبال پیدا کردن قوانینی هستیم که بر اساس آنها بگوییم هر فرد چه چیزی (چیزهایی) را به همراه چه چیزی (چیزهایی) میخرد. این قوانین وابستگی اتفاق و وقوع یک شئ را بر اساس وقوع سایر اشیاء پیش بینی میکنند.
کشف الگوهای ترتیبی: در اینجا به دنبال کشف الگوهای ترتیبی هستیم که وابستگیهای ترتیبی محکمی را در میان وقایع مختلف نشان میدهند. به عنوان مثال به دنبال پیدا کردن قانونی به صورت هستیم. این قانون میگوید: اگر A و B به هر ترتیبی اتفاق افتادند (الگوهایی که در یک پرانتز قرار میگیرند ترتیب وقوعشان مهم نیست و با هر ترتیبی میتوانند رخ دهند) و بعد از آنها C اتفاق افتد، D و E اتفاق میافتند (اینکه ابتدا D یا E اتفاق میافتند هم مهم نیست). قوانینی که در اینجا مطرح هستند در مورد مسائلی که در آنها زمان و ترتیب اهمیت دارد، قابل ارائه میباشند. این کارکرد نیز از جمله کارکردهای توصیفی است. این کاربرد مانند کاوش قوانین انجمنی میباشد با این تفاوت که در کاوش قوانین انجمنی زمان و ترتیب زمانی مطرح نیست.
ارزیابی و تفسیر مدل: در این مرحله دانش تولید شده در مرحله قبل ارزیابی شده و مورد تفسیر قرار میگیرد. منظور از ارزیابی دانش آن است که میبایست میزان صحت دانش تولید شده مشخص شود تا بتوان به آن اعتماد نمود و به صورت علمی از آن استفاده کرد. روشهای مختلفی برای ارزیابی دانش تولید شده وجود دارد رابطه تنگاتنگی با روش یادگیری مدل دارند.
تفسیر مدل به معنای آن است که دانش تولید شده را مورد بررسی قرار داده و توجیهی معنایی جهت تبیین منطق آن ارائه نماییم. در صورت قابل تفسیر بودن دانش تولید شده انجام این کار بسیار ساده است (به عنوان مثال زمانی که دانش به صورت درخت یا مجموعه قوانین باشد). در مقابل امکان تفسیر دانش برای مواقعی که دانش به صورت غیر قابل تفسیر باشد (مانند دانش تولید شده توسط شبکههای عصبی و یا ماشین بردار پشتیبان) بسیار مشکلتر و شاید غیر ممکن خواهد بود.
۲-۶ دلایل وجود و ضرورت داده کاوی
رشد سریع و چشمگیر داده، جمع آوری و ذخیره سازی آنها در پایگاه دادههای بیشمار جدا از توانایی بشر برای ادراک و فهم آن، بدون وجود ابزارهای قدرتمند میسر نمیباشد. دادههای جمع شده در پایگاه داده به مقبره داده تبدیل شده است. پیامد آن، تصمیمات مهم بر پایه اطلاعات غنی ذخیره شده در پایگاه دادهها نبوده و تصمیم گیران ابزاری برای دانش پنهان شده در پایگاه دادههای عظیم را نداشتند. دلیل عمدهای که داده کاوی مورد توجه صنعت اطلاعات در سالهای اخیر واقع شده این است که با حجم بالای داده در سطح گستردهای سر و کار داشته و تصمیم گیران در جمع آوری اطلاعات غنی، بهره برداری از منابع برای اتخاذ تصمیمات واقعی ناتوان هستند و با وجود در دسترس بودن دادههای تجاری بسیار در فقدان دانش تجاری به سر میبرند.
واضح و روشن است که حجم وسیعی از دادهها تجمیع شدهاند، هر چند چه چیزی از این دادهها یادگیری میشود؟ چه دانشی از این اطلاعات بدست میآید؟ در اوایل سال ۱۹۸۴ جان نایسبیت[۳۸] در کتاب Megatrends اظهار داشته است که “ما در اطلاعات غرق شدهایم، در حالی که گرسنه دانش هستیم” [۹].
۲-۷ داده کاوی سازمانی
اصول اولیه فناوری داده کاوی سازمانی در سه حوزه هوش مصنوعی، فناوری اطلاعات و تئوری سازمانی مقوله بندی میشود. این فناوری قدرتمند، پردازش بهینه تصمیم گیری را در سازمانها تسهیل نموده و به عنوان شیوه به کار بردن ابزارهای داده کاوی تعریف شده است. داده سازمانی پردازش تصمیم گیری را توسط ترجمه داده به دانش با ارزش برای کسب سود رقابتی میسر میسازد. بکار گرفتن داده کاوی سازمانی، سازمانها را قادر میسازد تا نسبت به آینده سریعتر عمل نمایند، فعال باشند تا اینکه واکنش پذیر باشند، بدانند تا اینکه حدس بزنند [۹].
داده کاوی سازمانی محدوده وسیعی از فناوریها را در حوزههای تجارت هوشمند الکترونیک[۳۹]، تحلیل داده، مدیریت ارتباط با مشتری، پورتال الکترونیکی و سیستمهای اطلاعاتی اجرایی[۴۰] در بر میگیرد. حوزه تئوری سازمانی، هسته اصلی تفاوت بین داده کاوی و داده کاوی سازمانی میباشد.
داده کاوی سازمانی، سازمانها را قادر میسازد تا به سؤالاتی درباره خود توضیح دهند که در گذشته چه اتفاقاتی افتاده است؟ در حال حاضر چه اتفاقاتی در حال رخ دادن هستند؟ در آینده چه اتفاقاتی خواهد افتاد [۹]؟
۲-۸ نقش داده کاوی سازمانی در معرفت سازمانی
داده کاوی با سرعت پدیدار شده است به عنوان ابزاری که میتواند اجازه دهد تا سازمانها از سرمایه اطلاعاتشان بهره برداری نمایند. این ابزار برای پشتیبان استراتژی تصمیم گیری استفاده میگردد. تئوری سازمانی به عقاید شخصی که سازمانها راجع به مشتریان و رقبای خود دریافت مینمایند، ارجاع داده میشود.
داده کاوی تکمیل کننده راهبرد و خط مشی سنتی فرموله سازی و بیان ریاضی نسبت به خودکار بودن آن میباشد. برای کنترل و مهار نمودن راهبرد بالقوه نیاز است ملاحظاتی را در خصوص خروجیهایی در زمینه عقاید سیستمی که دانش سازمانی را درباره محیط اطراف تشکیل میدهد داشت. سازمانها اطلاعات مختلفی را راجع به موجودیتهایی که با آنها سر و کار دارند جمع آوری مینمایند. این اطلاعات از منابع داخلی و خارجی و اطلاعاتی راجع به مشتریان، کارکنان، عرضه کنندگان و غیره بوجود آمده است. نتایج این دادهها به مفهومی از عقاید سیستمی محیط اطرافشان تفسیر و ترجمه میشوند.
داده کاوی سازمانی به سازمانها ضرورت بهبود پردازش تصمیم گیری را پیشنهاد می کند که منجر به تخصیص بهینه منابع میگردد و فرصتهای جدیدی را توسط تبدیل داده به دانش با ارزش را بدست میآورد. این ابزارها پتانسیلی برای کاهش قابل توجه هزینههای سازمانها به وسیله شناخت حوزههای بالقوه تجارت میباشند و نیازمند توجه به حوزههایی است که در آن فروش و برگشت سرمایه ضعیفی در دوره زمانی معین دارند [۹].
۲-۹ معیارهای تعریف نیازمندیهای سیستم
جهت تعریف نیازمندیها نیز معیارهایی در نظر گرفته شده که درک صحیح و انجام درست فاز استخراج نیازمندیها کمک میکند. نادیده گرفتن هر یک از این معیارها ممکن است منجر به شکست پروژه گردد. این معیارها از قرار زیر هستند:
سازگاری: یعنی نیازها فاقد ابهام و تداخل باشند.
کامل بودن: یعنی تمام ورودیها و پاسخها باید تشریح گردند.
ممکن بودن: یعنی ارضای نیاز با توجه به امکانات و اجبارهای موجود، ممکن باشد.
مورد نیاز بودن: یعنی کاملاً برای دستیابی به اهداف سیستم لازم باشند.
صحت: یعنی نیازها به درستی بیان شوند.
قابلیت رد گیری: یعنی مستقیماً به یک قابلیت و یا عملکرد نگاشت شوند.
قابلیت بررسی: یعنی با آزمایش بتوان وجود آن را چک کرد.
روشهای موجود در استخراج نیازمندیها هر کدام به نحوی برخی از این معیارها شامل میشوند و حتیالامکان سعی در استخراج صحیح و کامل نیازها در پرهیز از نتایج زیان بار استخراج غلط و ناقص دارند.
۲-۱۰ نتایج نیازمندیهای نادرست
جهت جلوگیری از بیان مبهم نیازمندیها و انجام هرچه کاملتر و بهتر فاز استخراج و کشف نیازها تا به حال روشهای متعددی ابداع گردیده است. نیازمندیها باید به درستی استخراج گردند، چرا که در غیر اینصورت نتایجی غیر قابل جبران به بار خواهند آورد. از جملهی این نتایج میتوان به موارد زیر اشاره کرد:
ممکن است هزینه پروژه بیش از هزینه برنامه ریزی شده شود.
ممکن است زمان پروژه بیش از زمان مجاز شود.
ممکن است سیستم انتظارات ذینفعان را برآورده نسازد و نارضایتی سبب عدم استفاده از آن شود.
ممکن است بعد از تولید، هزینهی نگهداری و ارتقای سیستم بسیار بالا باشد.
ممکن است در سازمانهایی همچون مدیریت شهری ۱۳۷، ارضای برخی نیازمندیها با جان آدمی درگیر باشد.
۲-۱۱ پیشینه تحقیق
در این بخش روشهای رایج و پر کاربرد موجود در استخراج نیازمندیها را به سه گروه روشهای سنتی، استفاده از ابزارها و روشهای نوین تقسیم کردهایم و قصد داریم این روشها را مورد بررسی و تجزیه و تحلیل قرار داده و در ارتباط با مزایا و معایب هر کدام بحث کنیم. سپس در ارتباط با تکنیکهایی که در افزایش سطح رضایتمندی شهروندان و یا مشتریان مورد استفاده قرار میگیرند بحث خواهیم کرد و روشهایی را مورد تجزیه و تحلیل قرار میدهیم.
۲-۱۱-۱ روشهای سنتی
تکنیک نمونه سازی[۴۱]: نمونه اولیه، نسخهی ابتدایی از سیستمی است که در مراحل آغازین توسعه قرار دارد. یکی از کاربردهای نمونه سازی در سیستمهای نرمافزاری، استخراج و اعتبار سنجی نیازمندیها است. در این روش، نمونهای از رابط کاربر تهیه میگردد و با سایر نیازمندیها نظیر مورد کاربرد و قواعد کسب و کار مطابقت داده میشود. نمونه اولیه را از جنبههای متفاوتی میتوان دسته بندی کرد. بر اساس دامنهی عملکرد، نمونه اولیه به دو دسته نمونه اولیه افقی و نمونه اولیه عمودی تقسیم میگردد. در نمونه اولیه افقی، سطحی کم عمق و احتمالاً وسیع از سیستم بدون پیاده سازی بدون پیاده سازی قاعده و یا کنترلی تهیه میشود. در نمونه اولیه عمودی، سطحی عمیق و اغلب محدود با رعایت قواعد و کنترلها پیاده سازی میگردد. بر اساس چرخهی عمر نمونه اولیه میتوان آن را به دو دسته دور ریختنی و تکاملی دسته بندی نمود [۱۱].
تکنیک تصویر داستان[۴۲]: عبارتست از مجموعهای از تصاویر که بیانگر یک سری از فعالیتهای کاربر در سیستم موجود و یا خیالی و یا یک قابلیت میباشد. این تکنیک یک نوع نمونه سازی بر روی کاغذ است. مشتریان، کاربران یا توسعه دهندگان کار را با رسم تصاویری از صفحات نمایش، فرمهای محاوره، نوارهای ابزار و سایر عناصری که از نظر آنها باید در سیستم وجود داشته باشد آغاز مینمایند. گروه کار خود را تا استخراج و توافق بر روی نیازمندیها و جزئیات آن ادامه میدهند. این تکنیک هزینه ناچیزی داشته و موجب کاهش ریسک و هزینه بالاتر روش نمونه سازی میگردد [۱۲].