كيفية حساب مسافة levenshtein في بايثون
مسافة Levenshtein بين سلسلتين هي الحد الأدنى لعدد تغييرات الحرف الواحد المطلوبة لتحويل كلمة إلى أخرى.
كلمة “تعديلات” تشمل الإبدال والإدراج والحذف.
على سبيل المثال، لنفترض أن لدينا الكلمتين التاليتين:
- لنحتفل
- حديقة
مسافة ليفنشتاين بين الكلمتين (أي عدد التغييرات التي نحتاج إلى إجرائها لتحويل كلمة إلى أخرى) ستكون 2 :
من الناحية العملية، يتم استخدام مسافة ليفنشتاين في العديد من التطبيقات المختلفة، بما في ذلك مطابقة السلسلة المبهمة، والتدقيق الإملائي، ومعالجة اللغة الطبيعية.
يشرح هذا البرنامج التعليمي كيفية حساب مسافة Levenshtein بين السلاسل في Python باستخدام وحدة python-Levenshtein.
يمكنك استخدام بناء الجملة التالي لتثبيت هذه الوحدة:
pip install python-Levenshtein
يمكنك بعد ذلك تحميل الدالة لحساب مسافة Levenshtein:
from Levenshtein import distance as lev
توضح الأمثلة التالية كيفية استخدام هذه الوظيفة عمليًا.
مثال 1: مسافة ليفنشتاين بين سلسلتين
الكود التالي يوضح كيفية حساب مسافة ليفنشتاين بين السلسلتين “party” و”park”:
#calculate Levenshtein distance lev(' party ', ' park ') 2
وتبين أن مسافة ليفنشتاين هي 2 .
مثال 2: مسافة ليفنشتاين بين جدولين
يوضح التعليمة البرمجية التالية كيفية حساب مسافة Levenshtein بين كل مجموعة زوجية من السلاسل في صفيفين مختلفين:
#define arrays a = ['Mavs', 'Spurs', 'Lakers', 'Cavs'] b <- ['Rockets', 'Pacers', 'Warriors', 'Celtics'] #calculate Levenshtein distance between two arrays for i,k in zip (a,b): print (lev(i, k)) 6 4 5 5
وطريقة تفسير النتيجة هي كما يلي:
- مسافة ليفنشتاين بين “Mavs” و “Rockets” هي 6 .
- مسافة ليفنشتاين بين “سبيرز” و”بيسرز” هي 4 .
- مسافة ليفنشتاين بين «الليكرز» و«وريورز» هي 5 .
- مسافة ليفنشتاين بين “كافس” و”سيلتيكس” هي 5 .
مصادر إضافية
كيفية حساب مسافة هامينغ في بايثون
كيفية حساب المسافة الإقليدية في بايثون
كيفية حساب المسافة Mahalanobis في بايثون