مقدمة لتشابه جارو-وينكلر (التعريف والمثال)
في الإحصاء، تشابه جارو وينكلر هو وسيلة لقياس التشابه بين سلسلتين.
يتم تعريف تشابه جارو (sim j ) بين سلسلتين على النحو التالي:
سيم ي = 1/3 * ( م /|ث 1 | + م/|ث 2 | + (ط)/م )
ذهب:
- م : عدد الأحرف المطابقة
- يعتبر حرفان من s 1 و s 2 متطابقين إذا كانا متماثلين وليس أبعد من [max(|s 1 |, |s 2 |) / 2] – حرف واحد من بعضهما البعض.
- |ق 1 | , |ق 2 | : طول السلاسل الأولى والثانية، على التوالي
- t : عدد التحويلات
- يتم حسابه كعدد الأحرف المطابقة (ولكن بترتيب تسلسلي مختلف) مقسومًا على 2.
يتم تعريف تشابه جارو وينكلر (sim w ) على النحو التالي:
سيم ث = سيم ي + ليرة لبنانية (1 – سيم ي )
ذهب:
- sim j : تشابه جارو بين سلسلتين s 1 و s 2
- l : طول البادئة الشائعة في بداية السلسلة (4 أحرف كحد أقصى)
- p : عامل القياس الذي يشير إلى مقدار تعديل النتيجة لأعلى للحصول على بادئات مشتركة. عادةً ما يتم تعريف ذلك على أنه p = 0.1 ويجب ألا يتجاوز p = 0.25.
يكون تشابه Jaro-Winkler بين سلسلتين دائمًا بين 0 و1 حيث:
- 0 يشير إلى عدم وجود تشابه بين السلاسل
- 1 يشير إلى أن السلاسل متطابقة تمامًا
ملاحظة : سيتم تعريف المسافة بين جارو وينكلر على أنها 1 – sim w .
يوضح المثال التالي كيفية حساب تشابه Jaro-Winkler بين سلسلتين عمليًا.
مثال: حساب تشابه جارو وينكلر بين سلسلتين
لنفترض أن لدينا السلسلتين التاليتين:
- القناة 1 (ق 1 ): الفأرة
- القناة 2 (ق 2 ): كتم الصوت
أولاً، دعونا نحسب تشابه جارو بين هاتين السلسلتين:
سيم ي = 1/3 * ( م /|ث 1 | + م/|ث 2 | + (ط)/م )
ذهب:
- م : عدد الأحرف المطابقة
- يعتبر حرفان من s 1 و s 2 متطابقين إذا كانا متماثلين وليس أبعد من [max(|s 1 |, |s 2 |) / 2] – حرف واحد من بعضهما البعض.
في هذه الحالة، يتم حساب [max(|s 1 |, |s 2 |) / 2] – 1 على النحو التالي: 5/2 – 1 = 1.5. سوف نحدد ثلاثة أحرف على أنها متناظرة: m، u، e. إذن م = 3
- |ق 1 | , |ق 2 | : طول السلاسل الأولى والثانية، على التوالي
في هذه الحالة، |s 1 | = 5 و | ق 1 | = 4 .
- t : عدد التحويلات
- يتم حسابه كعدد الأحرف المطابقة (ولكن بترتيب تسلسلي مختلف) مقسومًا على 2.
في هذه الحالة هناك ثلاثة أحرف متطابقة ولكنها بالفعل بنفس الترتيب التسلسلي، لذلك t = 0 .
لذلك، فإننا سوف نحسب تشابه جارو على النحو التالي:
سيم ي = 1/3 * (3/5 + 3/4 + (3-0)/3) = 0.78333.
بعد ذلك، دعونا نحسب التشابه بين جارو وينكلر (sim w ) على النحو التالي:
سيم ث = سيم ي + ليرة لبنانية (1 – سيم ي )
في هذه الحالة سنحسب:
سيم ث = 0.78333 + (1)*(0.1)(1 – 0.78333) = 0.805.
تشابه جارو وينكلر بين السلسلتين هو 0.805 .
وبما أن هذه القيمة قريبة من 1، فهذا يخبرنا أن السلسلتين متشابهتان جدًا.
يمكننا التأكد من صحة ذلك عن طريق حساب تشابه Jaro-Winkler بين السلسلتين في R:
library (stringdist) #calculate Jaro-Winkler similarity between 'mouse' and 'mute' 1 - stringdist("mouse", "mute", method = "jw", p= 0.1 ) [1] 0.805
وهذا يتوافق مع القيمة التي حسبناها يدويًا.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية حساب مقاييس التشابه الأخرى: