پاكسازي داده - قسمت چهارم و آخر

ارسال شده توسط | 19 Apr, 2009
 
سلام.
در قسمتهای قبل راجع به تعریف پاکسازی داده، هدف و جایگاه آن در ساخت پایگاه داده تحلیلی و روشهای کاربرد آن صحبت شد. امروز قصد دارم به چالشها و مشكلات پاكسازي داده بپردازم.

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

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

  • فقدان چارچوب پاكسازي داده
در بسياري از موارد، تشريح گراف كامل فرآيند پاكسازي امكان پذير نيست و تعريف پردازش اجرا و مستندسازي آن بايد در قالب چارچوبي ارائه شود. يك چارچوب، مجموعه ای از روشها براي تشخيص و رفع خطا و همچنين روش هايي براي بررسي داده و تعريف عمليات پاكسازي با استفاده از رابط كاربر مناسب است. نيازمنديهاي يك چارچوب داده عبارتند از:
  1. قابليت توصيف ساختار يكسان و دسترسي به منابع داده اي كه احتمالا مدل هاي داده اي متفاوتي استفاده كرده اند. همچنين امكان اعلام در صورت حذف، اضافه و بروز رساني در منابع داده وجود داشته باشد.
  2. تعريف مختصري از انواع خطاهاي ممكن كه كاربر را در بررسي داده راهنمايي كند. همچنين براي هر نوع خطا، روشهاي قابل استفاده براي تشخيص و رفع خطا وجود داشته باشد. روشهاي يادگيري ماشين هم مي تواند در اين چارچوب بكار گرفته شود. با استفاده از يادگيري در خصوص انواع نمونه خطاها و نحوه اصلاح آنها، چارچوب مي تواند با ارائه تذكرهاي  مفيد، كاربر را در اجراي فرآيند پاكسازي داده حمايت كند.
  3. براي پاكسازي داده، يك رابط كاربر آسان لازم است تا با استفاده از يك زبان رسمي و صفحات گرافيكي، بتواند فرآيند پاكسازي را توصيف كند.
  4. فعاليت هاي انجام شده براي رديابي هاي آينده بايد ثبت شوند تا در صورت بروز خطاي مشابه، امكان اجراي همان فرآيند پاكسازي وجود داشته باشد. مستندسازي عمليات انجام شده و جمع آوري اطلاعات متا داده، امكان بازبيني اصلاحات انجام شده برای هر ركورد را فراهم مي كند. با ثبت عمليات انجام شده روي ركوردهاي متفاوت، يك ترتيب مناسب از عمليات پاكسازي براي رفع يك ناهنجاري مشخص حاصل مي شود.
 

امیدوارم این مطالب اندک بتونه برای تحقیقات بعدی شما در این زمینه مفید باشه. 
این هم  لیست مهمترین  مراجعی  که من استفاده کردم:
 
  • Rahm, H. Hai Do,  Data Cleaning: Problems and Current Approaches, 2005
  •  H. Muller, J. Freytag,Problems, Methods, and Challenges in Comprehensive Data Cleansing, 2003
  • A. Hernandez, S.J. Stolfo,The merge/purge problem for large databases. Proceedings of the ACM SIGMOD Conference, 1995
  • J.I. Maletic, A. Marcus, Data Cleansing: Beyond Integrity Analysis, Proceedings of the Conference on Information Quality, October 2000
  • Mong Li Lee, Hongjun Lu, Tok Wang Ling, Yee Teng Ko, Cleansing data for mining and warehousing. Proceedings of the 10th International Conference on Database and Expert Systems Applications, Florence, Italy, August 1999
  • S. M. Embury, S. M. Brand, J. S. Robinson, I. Sutherland, F. A. Bisby, W. Gray, A. C. Jones, R. J. White Adapting integrity enforcement techniques for data reconciliation, Information Systems, Vol. 26, 2005, 657-689
  • K.-U. Sattler, E. Schallehn A Data Preparation Framework based on a Multi database Language. International Database Engineering Applications Symposium (IDEAS), Grenoble, France, 2001
  •   V. Raman, J.M. Hellerstein Potter’s Wheel: An Interactive Framework for Data Transformation and Cleaning, Proceedings of the 27th VLDB Conference, Roma, Italy, 2001
  • M. Tierstein, A Methodology for Data Cleansing and Conversion, 2004
  •    J. Jebamalar Tamilselvi and V. Saravanan, A Unified Framework and Sequential Data Cleaning Approach for a Data Warehouse, International Journal of Computer Science and Network Security, VOL.8 No.5, May 2008


پاكسازي داده - قسمت سوم

ارسال شده توسط | 19 Apr, 2009
 
سلام.
در قسمتهای قبل راجع به تعریف پاکسازی داده، هدف و جایگاه آن صحبت شد. امروز قصد دارم به روشهایی که برای پاکسازی داده مورد استفاده قرار می گیرند، بپردازم.
 
 
پاكسازي داده، زماني مورد نياز است كه مشكلات داده اي در سيستم رخ دهد. استراتژي هاي جلوگيري از خطا مي تواند بسياري از مشكلات داده اي را كاهش دهد، ولی نمي تواند آنها را از بين ببرد. روشهاي مختلفي در فرآيند پاكسازي داده مورد استفاده قرار مي گيرد. در اينجا به مهمترين آنها اشاره مي شود:

  •  تجزيه  
در فرآيند پاكسازي داده از تجزيه براي شناسايي خطاهاي نحوي  استفاده مي شود. يك تجزيه كننده  گرامرG، برنامه ایست كه تشخيص مي دهد آيا رشته ورودي، متعلق به زبان تعريف شده توسط گرامر هست يا خير. در زبان هاي برنامه سازي، رشته يك برنامه است؛ و در پاكسازي داده، رشته ها مي توانند رکورد و يا مقادير داده اي باشند. رشته هايي كه خطاي نحوي دارند، بايد اصلاح شوند. تعداد خطاهاي نحوي موجود در داده بستگي به محدوديت هاي محيطي دارد كه داده در آن ذخيره شده است. اگر داده در فايل بدون ساختار ذخيره شده باشد داراي خطاهاي نحوي و دامنه اي بیشتری خواهد بود.
 
  • تبديل داده
تبديل داده، به عمل نگاشت داده از يك فرمت به فرمت مورد نظر با استفاده از يك نرم افزار گفته مي شود. اين تبديل هم الگوي رکورد و هم دامنه مقادير را تغيير مي دهد؛ به اين ترتيب كه ابتدا داده هاي چند منبع به يك الگوي مشترك كه نيازها را به نحو مطلوبي برآورده مي سازند تبديل مي شوند؛ سپس اصلاح مقادير در صورتي انجام مي شود كه داده هاي ورودي با الگوي مشترك مطابقت نداشته باشد و اين عدم تطابق باعث شكست تبديل داده شود. استاندارد سازي و نرمالسازي، تبديل هايي هستند كه در سطح نمونه براي از بين بردن ناهنجاري هاي استفاده می شوند.

  • اعمال محدوديت هاي جامعيت
اين روش، محدويت هاي جامعيت را پس از انجام تراكنش هاي تغيير داده (شامل حذف، اضافه و بروز رساني) تأمين و تضمين مي كند. دو رويكرد مختلف براي اين روش، كنترل محدوديت جامعيت  و حفظ  محدوديت جامعيت  است. در روش اول، تراكنش هایی كه نقض كننده جامعيت هستند، برگشت داده مي شوند و در روش دوم، تراكنش هاي بروز رساني و اعمال تغييرات در داده هاي اصلي شناسايي می شوند تا داده ها پس از تغيير، هيچ يك از محدوديت هاي جامعيت را نقض نكنند.
 
  • از بين بردن داده هاي تكراري
روش هاي متفاوتي براي حذف داده هاي تكراري وجود دارد كه در همه اين روشها، بايد به الگوريتمي وجود داشته باشد كه تشخيص دهد دو يا چند ركورد، نمايش هاي تكراري از يك موجوديت مي باشند.
براي يك تشخيص كارا، هر ركورد بايد با همه ركورد هاي ديگر مقايسه شود. به عنوان مثال با استفاده از روش همسايگي مرتب شده، مي توان تعداد مقايسه ها را به حداقل رساند. به اين ترتيب كه ركورد ها بر اساس كليدي مرتب مي شوند كه ركورد هاي تكراري نزديك هم قرار گيرند. سپس ركورد هايي كه در يك پنجره كوچك شناور قرار دارند، با يكديگر  مقايسه مي شوند. تشخيص ركورد هاي تكراري بر اساس قوانين موجود در دانش حوزه مورد مطالعه است.

  • روشهاي آماري
در  كاربرد روش هاي آماري در پاكسازي داده ارائه شده است. اين روشها هم براي بررسي داده و هم براي اصلاح ناهنجاري داده مورد استفاده قرار مي گيرند. تشخيص و از بين بردن خطاهاي پيچيده با استفاده از كنترل و اعمال محدوديت هاي جامعيت امكان پذير نيست. با تحليل داده ها بر اساس مقادير ميانگين، انحراف معيار و الگوريتم هاي خوشه بندي، اشخاص خبره ممكن است مقادير داده هاي پيش بيني نشده ای را پيدا كنند كه نشان دهنده ركورد هاي نامعتبر است. معمولا اصلاح اين خطاها غير ممكن است، زیرا صفات جدول دارای مقادير داده اي صحيح هستند. يك راه حل ممكن با استفاده از روشهاي آماري، قراردادن مقادير آماري از قبيل ميانگين در اين صفات ست. ناهنجاري ديگري كه بوسيله روش هاي آماري اصلاح مي شود، مقادير خالي است كه با داده هاي قابل قبول جايگزين مي شود. توليد اين داده ها، نيازمند الگوريتم هاي توليد داده  وسيع است.
 
ادامه دارد ... 

پاكسازي داده - قسمت دوم

ارسال شده توسط | 19 Apr, 2009

 

سلام

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


جایگاه پاکسازی داده در فرایند کشف دانش


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


•    پاکسازی داده ها (از بين بردن ناسازگاری داده ها)
•    يکپارچه سازی داده ها  (ترکیب چندين منبع داده)
•    انتخاب داده ها  (بازيابی داده های مرتبط با تحلیل از پايگاه داده
•    تبديل داده ها  (تبديل داده ها به فرم مناسب برای داده کاوی مثل خلاصه سازی  و همسان سازی)
•    داده کاوی (استفاده از روالهای هوشمند برای استخراج الگوها از داده ها)
•    ارزيابی الگو  (مشخص کردن الگوهای صحيح و مورد نظر براساس معيارهای اندازه گيری)
•    ارائه دانش  (استفاده از تکنيکهای بازنمايي دانش برای ارائه دانش کشف شده به کاربر)
 
 
جایگاه پاکسازی داده در فرایند ساخت پايگاه داده تحليلي

پايگاه داده تحليلي، از پايگاههاي داده مختلف و ناهمگن ايجاد مي شود. بنابراين، فرايند ساخت پايگاه داده تحليلي، شامل کارهاي متعددي است  که عبارتند از:


•    استخراج اطلاعات لازم، از منابع اطلاعاتي مختلف
•    يکپارچه سازي و پاکسازي اين داده ها، جهت ذخيره در پايگاه داده تحليلي
•    تغييرشکل داده ها جهت نگهداري در پايگاه داده تحليلي
•    فراخواني داده ها در پايگاه داده تحليلي
•    مجتمع سازي داده ها در پايگاه داده تحليلي، جهت پاسخگويي سريع به پرس و جوهاي کاربران
•    طراحي و نگهداري مخزن فراداده
•    نگهداري اجداد
•    نوسازي داده در پايگاه داده تحليلي


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

 ادامه دارد ...


 

 

مقدمه اي بر پاكسازي داده

ارسال شده توسط | 19 Apr, 2009

 

 

سلام.

امروز ميخوام مطالبي راجع به پاكسازي داده مطرح كنم تا شايد بتونه مقدمه اي براي  تحقيقات بعدي علاقه مندان در اين حوزه باشه. 

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

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

 

علائم مشكلات داده اي در سيستم

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


تعریف و هدف پاکسازی داده

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

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

 

  ادامه دارد ...