تُنظَّف السجلات الأساسية المكرّرة وغير المتطابقة بمعاملة إزالة التكرار على أنها حلّ للكيانات (entity resolution) لا مجرّد مطابقة للنصوص: تقسّم السجلات إلى مجموعات مرشّحة، وتقيّم كل زوج عبر الاسم والعنوان والمعرّف الضريبي والبيانات المصرفية معًا، ثم تطبّق قواعد السجل الباقي (survivorship) لاختيار سجلّ واحد يبقى. يقترح النموذج عمليات الدمج، ويوافق المراجِع على ما يتجاوز ميزانيتك للنتائج الإيجابية الكاذبة، ويمرّ الباقي دون تدخّل.
بيانات الموردين الأساسية السيئة لا تُعلن عن نفسها. تبقى ساكنة في هدوء إلى أن يتلقّى المورّد نفسه، المُدخل مرتين تحت اسمين مختلفين قليلًا، دفعتين مقابل فاتورة واحدة. أو إلى أن تفشل المطابقة الثلاثية (three-way match) لأن أمر الشراء (PO) يشير إلى “Acme Ltd” بينما تصل الفاتورة من “Acme Limited”، فيلتفّ الموظّف حول المشكلة بإدخال يدوي. الجدول الفوضوي نفسه رخيص الكلفة، أما الدفعة المزدوجة فليست كذلك، ولا الساعات التي يخسرها أحدهم في تسوية مبلغ إجمالي تُبلّغ عنه ثلاثة أنظمة بثلاث طرق مختلفة.
لماذا توجد هذه التكرارات أصلًا
تتدهور البيانات الأساسية عبر الاستخدام العادي. يُسجَّل المورّد على يد قسم المشتريات، ثم يُسجَّل مرة أخرى على يد قسم الحسابات الدائنة حين يتعذّر العثور على السجل الأول. تغيّر شركةٌ اسمها التجاري بعد عملية استحواذ فتبقى النسختان معًا. يلصق أحدهم عنوانًا بمسافة زائدة في آخره. لا شيء من هذا درامي، وتلك هي المشكلة تحديدًا: كل حالة تبدو سليمة على شاشتها الخاصة.
الأنماط الجديرة بالتسمية، لأنها تحدّد كيف تطابق:
- الأسماء شبه المكرّرة: “Acme Ltd” و”Acme Limited” و”ACME LTD”. كيان واحد، ثلاث سلاسل نصية.
- كيانات متمايزة تبدو متطابقة: شركتان تابعتان على عنوان مكتب رئيسي واحد، بأرقام ضريبية مختلفة وحسابات مصرفية مختلفة. دمج هاتين أسوأ من تركهما منفصلتين.
- معرّفات مبدّلة الأرقام أو ناقصة: رقم ضريبة قيمة مضافة (VAT) بأرقام متبادلة، أو رقم آيبان (IBAN) مُدخل بطول خاطئ.
- القديم مقابل الحالي: عنوان مُسجَّل قديم إلى جانب العنوان الجديد، وكلاهما صحيح تقنيًا في لحظتين زمنيتين مختلفتين.
الحالة الأخيرة هي سبب أهمية الصحّة عند نقطة زمنية محدّدة (point-in-time correctness) حتى هنا. إذا كنت تطابق فاتورة مؤرّخة في مارس مع سجل أساسي تغيّر عنوانه في مايو، فإن سمات حقبة مارس هي التي ينبغي أن تتوافق. طيّ كل النسخ في صفّ “ذهبي” واحد يهدر التاريخ الذي ستحتاجه التسوية والتدقيق لاحقًا.
منهج حلّ الكيانات
تشابه السلاسل النصية على حقل واحد غير كافٍ، ومقارنة كل سجل بكل سجل آخر لا يمكن أن تتوسّع. جدول بمليون مورّد يعني نصف تريليون زوج. يتألف المنهج من ثلاث مراحل.
يأتي التقسيم (blocking) أولًا. تقسّم السجلات إلى مجموعات مرشّحة بحيث لا تُقارَن إلا السجلات المحتمل تطابقها فعلًا. قد يكون مفتاح التقسيم أول أربعة أحرف من اسم مُطبَّع مضافًا إليه الرمز البريدي، أو ترميزًا صوتيًا (phonetic encoding) للاسم، أو بادئة المعرّف الضريبي. التقسيم الجيّد يقلّص فضاء المقارنة بمراتب من حيث الحجم مع إبقاء التطابقات الحقيقية داخل المجموعة نفسها. فإن لم يقع زوج مكرّر حقيقي في مجموعة مشتركة، فلن يستطيع أي نموذج لاحق استرجاعه، ولذا فإن استدعاء التقسيم (blocking recall) هو الرقم الذي يجب مراقبته.
يأتي التقييم (scoring) ثانيًا. داخل كل مجموعة، يحصل كل زوج مرشّح على متجه تشابه: مسافة التحرير (edit distance) على الاسم، وتداخل الرموز (token overlap) على العنوان، ومطابقة تامة أو لا على المعرّف الضريبي، ومطابقة تامة أو لا على الحساب المصرفي، والمسافة بين تواريخ التسجيل. يحوّل نموذج ذلك المتجه إلى احتمال تطابق، وغالبًا ما يكون هذا النموذج أشجاراً معزّزة بالتدرّج (gradient-boosted trees)، وأحيانًا مُشفّراً مضبوط الدقّة (fine-tuned encoder) للحقول النصية. الغاية من التقييم عبر الحقول معًا هي ألا يقرّر أي حقل بمفرده. حساب مصرفي مشترك مع اسم متشابه يشكّل تطابقًا قويًا حتى لو اختلف العنوانان. وعنوان مشترك مع أرقام ضريبية مختلفة وحسابات مصرفية مختلفة يشكّل عدم تطابق قوي، وهذا بالضبط حالة الشركة التابعة التي يجب ألا تدمجها.
يأتي السجل الباقي (survivorship) ثالثًا. حالما يُحكم على عنقود من السجلات بأنها الكيان نفسه، تقرّر أي القيم تبقى في السجل المدمج: أحدث حساب مصرفي مُتحقَّق منه، وأطول عنوان مكتمل، والمعرّف الضريبي الذي يجتاز التحقّق مقابل السجل الرسمي. هنا يثبت التتبّع (lineage) جدواه. ينبغي أن يحمل كل حقل باقٍ مؤشرًا يعود إلى السجل المصدر الذي جاء منه، بحيث يستطيع المدقّق أن يسأل لماذا يحمل المورّد المدمج رقم الآيبان هذا ويحصل على إجابة.
ضبط الحدّ الفاصل، والتعايش معه
لا يوجد حدّ فاصل يلتقط كل تكرار ولا يدمج شيئًا لا ينبغي دمجه. أنت تُقايض بين نوعين من الخطأ، وهما في المدفوعات غير متماثلين. التكرار الفائت يترك سجلّين قد يسبّبان دفعة مزدوجة لاحقًا. الدمج الخاطئ يصهر كيانين حقيقيين وقد يوجّه أموال شركة إلى حساب شركة أخرى. الثاني أسوأ، وينبغي أن تعكس ميزانيتك للنتائج الإيجابية الكاذبة ذلك.
لذا اضبط نقطة التشغيل بتعمّد:
- ابنِ مجموعة تقييم من الأزواج المُصنّفة، تشمل تطابقات حقيقية وعدم تطابقات حقيقية بما فيها حالات الشركات التابعة الصعبة، وقِس عليها الدقّة (precision) والاستدعاء (recall)، لا على عرض تجريبي.
- اختر نطاقًا عالي الثقة يمرّ فيه الدمج آليًا دون تدخّل، ونطاقًا منخفضًا يُرفَض فيه آليًا، ونطاقًا وسطًا يراجعه إنسان. عرض ذلك النطاق الوسط قرار كلفة لا قرار تقني.
- وجّه كل عملية دمج آلية وكل قرار مراجِع إلى سجل تدقيق (audit trail)، بحيث يمكن تفسير أي دمج، وإن كان خاطئًا، التراجع عنه.
ثم راقب الانحراف (drift). نظام مصدر جديد، أو نموذج تسجيل مختلف، أو تغيّر في طريقة تنسيق منطقة ما للعناوين: أيٌّ من هذه قد يزيح توزيع الدرجات ويحرّك السجلات بهدوء عبر حدودك الفاصلة. إعادة التقييم مقابل مجموعة التقييم وفق جدول منتظم، ومرة أخرى قبل نهاية الربع حين يرتفع الحجم، تخبرك ما إذا كانت نقطة التشغيل لا تزال صالحة. البيانات الأساسية لا تبلغ حالة مكتملة أبدًا. إنها جدول يظلّ ينحرف بينما يُدخل الناس الموردين على طريقتهم المعتادة، وخط أنابيب حلّ الكيانات هو ما يبقيه في مكانه.
الأسئلة الشائعة
هل سيدمج الذكاء الاصطناعي سجلات الموردين المكرّرة تلقائيًا؟
من المفترض أن يقترح عمليات الدمج لا أن ينفّذها. يُنتج النموذج أزواجًا مرشّحة مع درجات ثقة واقتراحًا للسجل الباقي (survivorship)؛ ويوافق المراجِع على كل ما يتجاوز حدّ تحمّلك للنتائج الإيجابية الكاذبة، بينما يمرّ الباقي دون تدخّل.
كيف تمنعون دمج كيان ثانٍ مشروع في الكيان الأول؟
قد يتشارك سجلّان الاسم والعنوان ويبقيان مع ذلك كيانين قانونيين مختلفين لهما أرقام ضريبية وبيانات مصرفية مختلفة. يتعامل التقسيم (blocking) والتقييم (scoring) مع الحساب المصرفي والمعرّف الضريبي كإشارات قوية، وتُحال الأزواج الحديّة إلى المراجعة بدلًا من دمجها آليًا.
بمَ يختلف هذا عن المطابقة التقريبية (fuzzy matching) في نظام تخطيط الموارد (ERP) لدينا؟
المطابقة التقريبية للنصوص تقيّم حقلًا واحدًا في كل مرة ولا ذاكرة لها. أما حلّ الكيانات فيقسّم البيانات إلى مجموعات مرشّحة، ويقيّم عبر حقول متعددة معًا، ويتعلّم الحدود الفاصلة من مجموعة تقييم مُصنّفة (labelled eval set) بحيث يمكنك ضبط معدّل النتائج الإيجابية الكاذبة.