هوش مصنوعی در پاک‌سازی و مهاجرت داده

تیم آرادتیم مهندسی

در مهاجرت داده گفتیم که سخت‌ترین بخش، خود انتقال نیست — کیفیت دادهٔ مبدأ است. ستون کد ملی که در هزار ردیف خالی است، در سیصد ردیف شمارهٔ تلفن دارد، و در چهل ردیف نوشته «ندارد».

اینجا هوش مصنوعی واقعاً کمک می‌کند. اما نه همه‌جا — و تشخیص اینکه کجا قاعدهٔ ساده بهتر جواب می‌دهد، بیشتر از خود ابزار ارزش دارد.

قاعدهٔ اول: اول قاعده، بعد مدل

بخش زیادی از پاک‌سازی داده با کد ساده حل می‌شود و نباید سراغ مدل رفت:

  • نرمال‌سازی نویسه‌ها: «ی» و «ک» عربی، نیم‌فاصله، اعداد فارسی. یک تابع.
  • قالب‌بندی: شمارهٔ تلفن، کد پستی، تاریخ.
  • حذف فاصلهٔ اضافه و کاراکترهای نامرئی.
  • اعتبارسنجی ساختاری: کد ملی با الگوریتم کنترلی‌اش بررسی می‌شود، نه با حدس.

این‌ها قطعی‌اند، سریع‌اند، و قابل توضیح. مدل زبانی برای اینها هم کندتر است و هم غیرقابل پیش‌بینی‌تر.

جزئیات این نرمال‌سازی‌ها در چالش‌های پردازش زبان فارسی و حاکمیت داده آمده.

سراغ مدل وقتی بروید که قاعده‌ای وجود ندارد — یعنی جایی که تصمیم به قضاوت نیاز دارد.

کجا مدل واقعاً کمک می‌کند

تطبیق رکوردهای تکراری

«شرکت الف»، «شركت الف»، «الف (تهران)»، «شرکت الف - دفتر مرکزی».

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

اما هرگز خودکار ادغام نکنید. خروجی باید پیشنهاد با درجهٔ اطمینان باشد، و آدم تأیید کند. ادغام اشتباه، برخلاف تکراری ماندن، برگشت‌ناپذیر است.

نگاشت فیلدها

سامانهٔ قدیمی سیصد ستون دارد با نام‌هایی مثل fld_23 و mablagh2. مدل می‌تواند بر اساس نام، نمونه‌داده و بافت، حدس بزند هر ستون چیست.

این بهترین کاربرد در کل این حوزه است — چون مرحلهٔ نگاشت، وقت‌گیرترین بخش هر مهاجرت است و خروجی مدل اینجا فقط نقطهٔ شروع است، نه تصمیم. آدم تأیید می‌کند و همان سند نگاشت را می‌سازد که در مهاجرت داده گفتیم باید کارفرما امضایش کند.

طبقه‌بندی متن آزاد

فیلد «توضیحات» که ده سال هر چیزی در آن نوشته شده. مدل می‌تواند دسته‌بندی کند: این یادداشت تحویل است، این شکایت است، این شمارهٔ پیگیری است.

استخراج داده از متن نامنظم

آدرسی که در یک فیلد نوشته شده و باید به استان و شهر و خیابان تفکیک شود. برای آدرس ایرانی که توصیفی است، این کار با قاعده تقریباً غیرممکن است و با مدل شدنی.

تشخیص ناهنجاری

رکوردهایی که الگویشان با بقیه نمی‌خواند: مبلغی که هزار برابر میانگین است، تاریخی در آینده، ارجاعی که مقصدش وجود ندارد.

این را در مرحلهٔ نمایه‌سازی داده استفاده کنید — همان مرحله‌ای که در مهاجرت داده گفتیم باید پیش از هر برآوردی انجام شود.

کجا کمک نمی‌کند

تصمیم دربارهٔ دادهٔ بد. اینکه رکورد ناقص اصلاح شود، حذف شود یا منتقل نشود، تصمیم کسب‌وکاری است و مدل نباید بگیردش. همان بندی که در مهاجرت داده تأکید کردیم: تیم فنی نباید انتخاب کند چه چیزی «به‌اندازهٔ کافی مهم نیست».

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

اجرای خود مهاجرت. مدل نگاشت را پیشنهاد می‌دهد؛ کد قطعی اجرا می‌کند.

خطر اصلی: تولید داده به‌جای اصلاح داده

مهم‌ترین هشدار این مقاله.

مدل زبانی، پرکردن جای خالی را خوب انجام می‌دهد — و در پاک‌سازی داده، این دقیقاً همان چیزی است که نمی‌خواهید.

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

قاعده: مدل حق ندارد داده بسازد. فقط حق دارد داده‌های موجود را دسته‌بندی، تطبیق یا استخراج کند.

و در پرامپت صریح بگویید: «اگر مطمئن نیستی، بگو نامشخص.» خروجی «نمی‌دانم» از خروجی اشتباهِ مطمئن ارزشمندتر است.

روش عملی

۱. نمایه‌سازی داده با کمک مدل برای تشخیص الگو و ناهنجاری.

۲. نرمال‌سازی قاعده‌محور، بدون مدل.

۳. تطبیق تکراری‌ها با مدل، خروجی به‌صورت پیشنهاد با درجهٔ اطمینان.

۴. بازبینی انسانی موارد مشکوک. سقف اطمینان بگذارید: بالای آستانه خودکار، زیرش دستی.

۵. نگاشت فیلدها با پیشنهاد مدل و تأیید کارفرما.

۶. اجرای مهاجرت با کد قطعی و قابل اجرای دوباره.

۷. گزارش تطبیق: تعداد و جمع مالی در مبدأ و مقصد. این عدد باید دقیقاً بخواند و هیچ مدلی نباید در محاسبه‌اش دخالت داشته باشد.

محرمانگی

دادهٔ مهاجرت، دادهٔ واقعی مشتریان است. پیش از فرستادن هر ردیفی به سرویس بیرونی:

  • قرارداد محرمانگی را بررسی کنید.
  • نمونه بفرستید، نه کل داده، اگر هدف فهمیدن ساختار است.
  • ناشناس‌سازی کنید جایی که ممکن است.
  • برای دادهٔ حساس — سلامت، مالی، پرسنلی — مدل روی زیرساخت خودتان، که در مدل زبانی روی زیرساخت خودتان مقایسه‌اش کرده‌ایم.

این بند در پروژه‌های سازمانی معمولاً تعیین‌کننده است: بسیاری از مشتریان اجازهٔ خروج داده را نمی‌دهند، و آن محدودیت باید از ابتدای برآورد دیده شود نه در وسط پروژه.

و انتظار واقع‌بینانه

این ابزارها مرحلهٔ نمایه‌سازی و نگاشت را کوتاه می‌کنند — که در مهاجرت معمولی، بخش قابل توجهی از زمان است.

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

پروژه یا ایده‌ای دارید؟

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

مشاوره رایگان

پروژه‌تان را با هم بررسی کنیم

جلسهٔ اول رایگان است و معمولاً همان یک جلسه روشن می‌کند پروژه چقدر کار دارد.

چطور با شما تماس بگیریم؟

برای هماهنگی سریع‌تر — اگر تماس تلفنی را ترجیح نمی‌دهید، همان شماره را در پیام‌رسان پیام می‌دهیم.

راه دوم برای رساندن پاسخ — اگر تلفن در دسترس نبود، ایمیل می‌زنیم.

در حال ارسال…

درخواست شما ثبت شد.

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