ForHosting KIT · أدوات المطورين

حاسبة مسافة التحرير ليفنشتاين

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

● Betaمجاني · داخل متصفحك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

أدخل سلسلة المصدر وسلسلة الهدف لتحصل على المسافة وطول كل منهما. الحساب حتمي ويراعي حالة الأحرف والمسافات ومحارف Unicode، ولذلك يمكنكم استخدامه للتحقق من الخوارزميات ومقارنة المدخلات وبناء إجراءات مطابقة نصوص قابلة لإعادة الإنتاج.

ما الذي تقيسه مسافة ليفنشتاين

تحوّل مسافة ليفنشتاين مقارنة سلسلتين إلى عدد صحيح واضح. تعني القيمة 0 أن السلسلتين متطابقتان، وتعني القيمة 1 أن عملية إدراج أو حذف أو استبدال واحدة تكفي. وتمثل القيم الأكبر أقصر تسلسل ممكن من هذه العمليات. فمثلًا، يتطلب تحويل <code>kitten</code> إلى <code>sitting</code> عدد 3 تعديلات: استبدالان وإدراج واحد. تراعي هذه المسافة الموضع والترتيب، وهي متناظرة أيضًا؛ فعكس المصدر والهدف لا يغيّر النتيجة. النتيجة عدد مطلق وليست نسبة تشابه. لذلك قد تكون مسافة 3 كبيرة لرمز قصير لكنها صغيرة لفقرة طويلة. تعرض الحاسبة طول السلسلتين مع المسافة لكي تتمكنوا من تفسير الرقم ضمن سياقه الصحيح.

كيفية معالجة النص وUnicode

تُقارن السلسلتان كما أُرسلتا تمامًا. تختلف الأحرف الكبيرة عن الصغيرة، وتُحتسب المسافات وعلامات الترقيم، ولا يُطبّق أي تطبيع Unicode. يمنع ذلك أي تنظيف خفي من تغيير المقارنة المطلوبة. تُقرأ المحارف كنقاط ترميز Unicode بدل وحدات UTF-16، ولذلك يُحسب الرمز التعبيري الشائع محرفًا واحدًا لا نصفين. ومع ذلك قد يتكون الرمز المرئي المركب من عدة نقاط ترميز. إذا كان تطبيقكم يحتاج إلى مطابقة الأشكال المتكافئة بصريًا، فطبّعوا المدخلين وفق سياسة واضحة قبل الإرسال. تستخدم الخوارزمية البرمجة الديناميكية مع الاحتفاظ بصفين فقط، فتتناسب الذاكرة مع السلسلة الأقصر. ويقتصر كل مدخل على 5,000 نقطة ترميز لضبط العمل التربيعي.

استخدام النتيجة بطريقة سليمة

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

فحص اقتراحات التصحيح

رتّبوا التصحيحات المرشحة وفق أقل عدد من التعديلات بين الاستعلام وكل مصطلح معروف.

كشف السجلات شبه المكررة

قارنوا الأسماء أو التسميات أو المراجع وأرسلوا التطابقات القريبة للمراجعة قبل الدمج.

اختبار تحويلات النص

تحققوا من مسافة دقيقة بين القيمة الأصلية والناتج في اختبارات آلية حتمية.

ما العمليات التي تُحسب تعديلًا واحدًا؟

يُحسب إدراج محرف واحد أو حذفه أو استبداله بمحرف آخر تعديلًا واحدًا.

هل يراعي الحساب حالة الأحرف؟

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

هل تؤثر المسافات في النتيجة؟

نعم. تُحفظ المسافات وعلامات الجدولة وفواصل الأسطر وتُقارن كما هي.

كيف تُحسب الرموز التعبيرية وUnicode؟

يستخدم الحساب نقاط ترميز Unicode، مع احتمال احتواء الرمز المركب على عدة نقاط.

هل هذه مسافة Damerau-Levenshtein؟

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

ما تكلفة طلب API؟

تبلغ تكلفة كل طلب API مقدار $0.002. تعمل نسخة المتصفح محليًا من دون طلب مدفوع.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/dev/levenshtein

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/dev/levenshtein \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"source":"kitten","target":"sitting"}'
{
  "source": "kitten",
  "target": "sitting"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.levenshtein",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

max_chars5000
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

اطّلع على توثيق KIT الكامل ←