سؤال

أعمل حاليا على المشروع حيث يتعين علي مطابقة كمية كبيرة من الأسماء التي تم إنشاؤها من قبل المستخدم مع قائمة منفصلة بنفس الأسماء بتنسيق مقاطعة. المشكلة هي أن الأسماء التي أنشئتها المستخدم تحتوي على العديد من الأخطاء الإغرائية والاختصارات، بالإضافة إلى بيانات غير صالحة ببساطة، مما يجعل من الصعب إجراء مرجع التبادلي بالبيانات الكنسية. أي اقتراحات بشأن طرق للقيام بذلك؟

لا يجب القيام بذلك في الوقت الفعلي وفي هذه الحالة دقة أكثر أهمية من السرعة.

الأفكار الحالية لهذا:

  1. قم بإدخال بحث غامض للمستخدم الاسم في قاعدة البيانات الكنسية باستخدام تطبيق بحث موجود مثل Lucene أو SPHINX، الذي افترضني استخدام شيء مثل مسافة Levenshtein لهذا.
  2. مرجع التبادلي في Soundex Hash (الذي يفترض حسابه على صوت الاسم بدلا من الإملاء) بدلا من استخدام الاسم الفعلي.
  3. مزيج من بعض ما ورد أعلاه

أي شخص لديه أي ردود فعل على أي من هذه أو أفكار خاصة بهم؟

أحد مخاوفي هو أن أيا من الأساليب المذكورة أعلاه ستعامل مع الاختصارات بشكل جيد للغاية. هل يمكن لأي شخص أن يوضح لي في اتجاه بعض طرق تعلم الآلات في الواقع بحثا عن الاختصارات الموسعة (أو أخبرني أنني مجنون)؟ شكرا مقدما.

هل كانت مفيدة؟

المحلول

أولا، أود أن أضيف إلى قائمتك التقنيات التي تمت مناقشتها في بيتر نورفيج وظيفة على تصحيح الإملاء.

ثانيا، سأطلب أي نوع من "الأسماء الناتجة عن المستخدم" التي تتحدث عنها. بعد أن تعاملت مع كلاهما، أعتقد أن الاستدلال التي تستخدمها لأسماء الشوارع تختلف إلى حد ما عن الاستدلال لأسماء الشخص. (كمثال بسيط، هل يتوسع "DR" إلى "محرك الأقراص" أو "الطبيب"؟)

ثالثا، أود أن أنظر إلى مجموعة باستخدام الاختبار لتأسيس مجموعة من المعاملات مقابل الجمع بين نتائج التقنيات المختلفة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top