در دو دهه قبل توانايي های فنی بشر در برای توليد و جمع آوری داده‌ها به سرعت افزايش يافته است. عواملی نظير استفاده گسترده از بارکد برای توليدات تجاری، به خدمت گرفتن کامپيوتر در کسب و کار، علوم، خدمات دولتی و پيشرفت در وسائل جمع آوری داده، از اسکن کردن متون و تصاوير تا سيستمهای سنجش از دور ماهواره ای، در اين تغييرات نقش مهمی دارند [‎1].

بطور کلی استفاده همگانی از وب و اينترنت به عنوان يک سيستم اطلاع رسانی جهانی ما را مواجه با حجم زیادی از داده و اطلاعات می‌کند. اين رشد انفجاری در داده‌های ذخيره شده، نياز مبرم وجود تکنولوژی های جديد و ابزارهای خودکاری را ايجاد کرده که به صورت هوشمند به انسان ياری رسانند تا اين حجم زياد داده را به اطلاعات و دانش تبديل کند: داده کاوی به عنوان يک راه حل برای اين مسائل مطرح مي باشد. در يک تعريف غير رسمی داده کاوی فرآيندی است، خودکار برای استخراج الگوهايی که دانش را بازنمايی مي کنند، که اين دانش به صورت ضمنی در پايگاه داده های عظيم، انباره داده[2] و ديگر مخازن بزرگ اطلاعات، ذخيره شده است. داده کاوی بطور همزمان از چندين رشته علمی بهره مي برد نظير: تکنولوژی پايگاه داده، هوش مصنوعی، يادگيری ماشين، شبکه های عصبی، آمار، شناسايی الگو، سيستم های مبتنی بر دانش[3]، حصول دانش[4]، بازيابی اطلاعات[5]، محاسبات سرعت بالا[6] و بازنمايی بصری داده[7] . داده کاوی در اواخر دهه 1980 پديدار گشته، در دهه 1990 گامهای بلندی در اين شاخه از علم برداشته شده و انتظار می رود در اين قرن به رشد و پيشرفت خود ادامه دهد [‎2].

واژه های «داده کاوی» و «کشف دانش در پایگاه داده»[8] اغلب به صورت مترادف یکدیگر مورد استفاده قرار می گیرند. کشف دانش به عنوان يک فرآيند در شکل1-1 نشان داده شده است.

 کشف دانش در پایگاه داده فرایند شناسایی درست، ساده، مفید، و نهایتا الگوها و مدلهای قابل فهم در داده ها می باشد. داده کاوی، مرحله ای از فرایند کشف دانش می باشد و شامل الگوریتمهای مخصوص داده کاوی است، بطوریکه، تحت محدودیتهای مؤثر محاسباتی قابل قبول، الگوها و یا مدلها را در داده کشف می کند [‎1]. به بیان ساده تر، داده کاوی به فرایند استخراج دانش ناشناخته، درست، و بالقوه مفید از داده اطلاق می شود. تعریف دیگر اینست که، داده کاوی گونه ای از تکنیکها برای شناسایی اطلاعات و یا دانش تصمیم گیری از قطعات داده می باشد، به نحوی که با استخراج آنها، در حوزه های تصمیم گیری، پیش بینی، پیشگویی، و تخمین مورد استفاده قرار گیرند. داده ها اغلب حجیم ، اما بدون ارزش می باشند، داده به تنهایی قابل استفاده نیست، بلکه دانش نهفته در داده ها قابل استفاده می باشد. به این دلیل اغلب به داده کاوی، تحلیل داده ای ثانویه[9] گفته می شود.

 

1-1 چه چيزی سبب پيدايش داده کاوی شده است؟

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

داده کاوی را می توان حاصل سير تکاملی طبيعی تکنولوژی اطلاعات دانست، که اين سير تکاملی ناشی از يک سير تکاملی در صنعت پايگاه داده می باشد، نظير عمليات: جمع آوری داده ها وايجاد پايگاه داده، مديريت داده و تحليل و فهم داده ها. در شکل1-2 اين روند تکاملی در پايگاه های داده نشان داده شده است ]3[.

شکل1-1:  داده کاوی به عنوان يک مرحله از فرآيند کشف دانش

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

ابزارهای داده کاوی داده ها را آناليز می کنند و الگوهای دادهای را کشف می کنند که می توان از آن در کاربردهايی نظير: تعيين استراتژی برای کسب و کار، پايگاه دانش[10] و تحقيقات علمی و پزشکی، استفاده کرد. شکاف موجود بين داده ها و اطلاعات سبب ايجاد نياز برای ابزارهای داده کاوی شده است تا داده های بی ارزش را به دانشی ارزشمند تبديل کنيم [‎2].

 

به طور ساده داده کاوی به معنای استخراج يا «معدن کاری[11]» دانش از مقدار زيادی داده خام است. البته اين نامگذاری برای اين فرآيند تا حدی نامناسب است، زيرا به طور مثال عمليات معدن کاری برای استخراج طلا از صخره و ماسه را طلا کاوی می ناميم، نه ماسه کاوی يا صخره کاوی، بنابراين بهتر بود به اين فرآيند نامی شبيه به «استخراج دانش از داده» می داديم که متاسفانه بسيار طولانی است. «دانش کاوی» به عنوان يک عبارت کوتاهتر به عنوان جايگزين، نمی تواند بيانگر تاکيد و اهميت بر معدن کاری مقدار زياد داده باشد. معدن کاری عبارتی است که بلافاصله انسان را به ياد فرآيندی مي اندازد که به دنبال يافتن مجموعه کوچکی از قطعات ارزشمند از حجم بسيار زيادی از مواد خام هستيم ]2].

 

با توجه به مطالب عنوان شده، با اينکه اين فرآيند تا حدی دارای نامگذاری ناقص است ولی اين نامگذاری يعنی داده کاوی بسيار عموميت پيدا کرده است. البته اسامی ديگری نيز برای اين فرآيند پيشنهاد شده که بعضا بسياری متفاوت با واژه داده کاوی است، نظير: استخراج دانش از پايگاه داده، استخراج دانش[12] ، آناليز داده / الگو، باستان شناسی داده[13]، و لايروبی داده ها[14].

1-2 مراحل کشف دانش

کشف دانش دارای مراحل تکراری زير است:

1- پاکسازی داده ها[15] (از بين بردن نويز و ناسازگاری داده ها).

2- يکپارچه سازی داده ها[16] (چندين منبع داده ترکيب می شوند).

3- انتخاب داده ها[17] (داده های مرتبط با آناليزازپايگاه داده بازيابی می شوند).

4- تبديل کردن داده ها[18] (تبديل داده ها به فرمی که مناسب برای داده کاوی باشد مثل خلاصه سازی[19] و همسان سازی[20]

5-داده کاوی (فرايند اصلی که روالهای هوشمند برای استخراج الگوها از داده ها به کار گرفته مي شوند.)

6-ارزيابی الگو[21] (برای مشخص کردن الگوهای صحيح و مورد نظربه وسيله معيارهای اندازه گيری)

7-ارائه دانش[22] (يعنی نمايش بصری، تکنيکهای بازنمايي دانش برای ارائه دانش کشف شده به کاربر استفاده می شود)]1[ .

 

شکل1-2: سير تکاملی صنعت پايگاه داده

 

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

“داده کاوی عبارتست از فرآيند يافتن دانش از مقادير عظيم داده های ذخيره شده در پايگاه داده، انباره داده ويا ديگر مخازن اطلاعات”  [‎3].

بر اساس اين ديدگاه يک سيستم داده کاوی به طور نمونه دارای اجزاء اصلی زير است که شکل1-3 بيانگر معماری سيستم است.

شکل1-3: معماری يک نمونه سيستم داده کاوی

 

1- پايگاه داده، انباره داده يا ديگر مخازن اطلاعات: که از مجموعه ای از پايگاه داده ها، انباره داده، صفحه گسترده[23]، يا ديگر انواع مخازن اطلاعات. پاکسازی داده ها و تکنيکهای يکپارچه سازی روی اين داده ها انجام می شود.

2- سرويس دهنده پايگاه داده يا انباره داده: که مسئول بازيابی داده های مرتبط بر اساس نوع درخواست داده کاوی کاربر می باشد.

3- پايگاه دانش: اين پايگاه از دانش زمينه[24] تشکيل شده تا به جستجو کمک کند، يا برای ارزيابی الگوهای يافته شده از آن استفاده می شود.

4- موتور داده کاوی[25] : اين موتور جزء اصلی از سيستم داده کاوی است و به طور ايدآل شامل مجموعه ای از پيمانه[26] هايی نظير توصيف[27]، تداعی[28]، کلاسبندی[29]، آناليزخوشه ها[30]، و آناليز تکامل وانحراف[31]، است.

5- پيمانه ارزيابی الگو[32] : اين جزء معيارهای جذابيت[33] را به کار می بندد و با پيمانهء داده کاوی تعامل می کند بدينصورت که تمرکز آن بر جستجو بين الگوهای جذاب می باشد، و از يک حد آستانه جذابيت استفاده می کند تا الگوهای کشف شده را ارزيابی کند.

6- واسط کاربرگرافيکی[34] : اين پيمانه بين کاربر و سيستم داده کاوی ارتباط برقرار می کند، به کاربر اجازه می دهد تا با سيستم داده کاوی از طريق پرس وجو[35] ارتباط برقرار کند، اين جزء به کاربر اجازه می دهد تا شمای پايگاه داده يا انباره داده را مرور کرده، الگوهای يافته شده را ارزيابی کرده و الگوها را در فرمهای بصری گوناگون بازنمايی کند.

با انجام فرآيند داده کاوی، دانش، ارتباط يا اطلاعات سطح بالا از پايگاه داده استخراج می شود و قابل مرور از ديدگاههای مختلف خواهد بود. دانش کشف شده در سيستم های تصميم يار، کنترل فرآيند، مديريت اطلاعات و پردازش پرس وجو[36] قابل استفاده خواهد بود [‎2].

 

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

1-3 جایگاه داده کاوی در میان علوم مختلف

ریشه های داده کاوی در میان سه خانواده از علوم، قابل پیگیری می باشد [‎1]. مهمترین این خانواده ها، آمار کلاسیک[37] می باشد. بدون آمار، هیچ داده کاوی وجود نخواهد داشت، بطوریکه آمار، اساس اغلب تکنولوژی هایی می باشد که داده کاوی بر روی آنها بنا می شود. آمار کلاسیک مفاهیمی مانند تحلیل رگرسیون، توزیع استاندارد، انحراف استاندارد، واریانس، تحلیل خوشه، و فاصله های اطمینان را که همه این موارد برای مطالعه داده و ارتباط بین داده ها می باشد، را در بر می گیرد. مطمئنا تحلیل آماری کلاسیک نقش اساسی در تکنیکهای داده کاوی ایفا می کند.

دومین خانواده ای که داده کاوی به آن تعلق دارد هوش مصنوعی[38] می باشد. هوش مصنوعی که بر پایه روشهای ابتکاری می باشد و با آمار ضدیت دارد، تلاش دارد تا فرایندی مانند فکر انسان، را برای حل مسائل آماری بکار بندد. چون این رویکرد نیاز به توان محاسباتی بالایی دارد، تا اوایل دهه 1980 عملی نشد. هوش مصنوعی کاربردهای کمی را در حوزه های علمی و حکومتی پیدا کرد، اما نیاز به استفاده از کامپیوترهای بزرگ با عث شد همه افراد نتوانند از تکنیکهای ارائه شده استفاده کنند.

سومین خانواده داده کاوی، یادگیری ماشین[39] می باشد، که به مفهوم دقیقتر، اجتماع آمار و هوش مصنوعی می باشد. درحالیکه هوش مصنوعی نتوانست موفقیت تجاری کسب کند، یادگیری ماشین در بسیاری از موارد جایگزین آن گردید. از یادگیری ماشین به عنوان تحول هوش مصنوعی یاد شد، چون مخلوطی از روشهای ابتکاری هوش مصنوعی به همراه تحلیل آماری پیشرفته می باشد. یادگیری ماشین اجازه می دهد تا برنامه های کامپیوتری در مورد داده ای که آنها مطالعه می کنند، مانند برنامه هایی که تصمیمهای متفاوتی بر مبنای کیفیت داده مطالعه شده می گیرند، یادگیری داشته باشند و برای مفاهیم پایه ای آن از آمار استفاده می کنند و از الگوریتمها و روشهای ابتکاری هوش مصنوعی را برای رسیدن به هدف بهره می گیرند.

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

 

  • ·         کاربردهای معمول تجاری: از قبیل تحلیل و مدیریت بازار، تحلیل سبد بازار، بازاریابی هدف، فهم رفتار مشتری، تحلیل و مدیریت ریسک؛
  • ·         مدیریت و کشف فریب: کشف فریب تلفنی، کشف فریبهای بیمه ای و اتومبیل، کشف حقه های کارت اعتباری، کشف تراکنشهای مشکوک مالی (پولشویی)؛
  • ·         متن کاوی[40]: پالایش متن (نامه های الکترونیکی، گروههای خبری و غیره)؛
  • ·         پزشکی: کشف ارتباط علامت و بیماری، تحلیل آرایه های DNA ، تصاویر پزشکی؛
  • ·         ورزش: آمارهای ورزشی؛
  • ·         وب کاوی[41]: پیشنهاد صفحات مرتبط، بهبود ماشینهای جستجوگر یا شخصی سازی حرکت در وب سایت؛

1-4 داده کاوی چه کارهایی نمی تواند انجام دهد؟

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

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

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

1-5 داده کاوی و انبار داده  ها  [42]

معمولا داده هایی که در داده کاوی مورد استفاده قرار می گیرند از یک انبار داده استخراج می گردند و در یک پایگاه داده[43] یا مرکز داده [44]ای ویژه برای داده کاوی قرار می گیرند.

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

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

شکل 4 . داده ها از انباره داه ها استخراج می گردند

ولی با این حال وجود انباره داده ها برای انجام داده کاوی شرط لازم نیست و بدون آن هم

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

شکل 5 .داده ها از چند پایگاه داده استخراج شده اند



[1] Data Mining

[2] Data  warehouses

[3] Knowledge-based system

[4] Knowledge-acquisition

[5] Information  retrieval

[6] High-performance  computing

[7] Data  visualization

[8] Knowledge Discovery in Database

[9] Secondary Data Analysis

[10] Knowledge base

[11] Mining

[12] Knowledge extraction

[13] Data archaeology

[14] Data dredging

[15] Data cleaning

[16] Data integration

[17] Data selection

[18] Data  transformation

[19] Summary

[20] Aggregation

[21] Pattern  evaluation

[22] Knowledge presentation

[23] Spread sheets

[24] Domain knowledge

[25] Data mining engine

[26] Module

[27] Characterization

[28] Association

[29] Classification

[30] Cluster analysis

[31] Evolution and deviation analysis

[32] Pattern evaluation module

[33] Interesting measures

[34] Graphical User Interface (GUI)

[35] Query

[36] Query processing

[37] Classic Statistics

[38] Artificial Intelligence

[39] Machine Learning

[40] Text Mining

[41] Web Mining

[42] Data warehouse

[43] Database

[44] Data mart