هل توجد أي مكتبات لوظائف البحث الغامض أو تشابه السلسلة مكتوبة لـ C#؟[مغلق]

StackOverflow https://stackoverflow.com/questions/83777

  •  01-07-2019
  •  | 
  •  

سؤال

هناك أسئلة مماثلة، ولكن ليس فيما يتعلق بمكتبات C# التي يمكنني استخدامها في كود المصدر الخاص بي.

شكرا لكم جميعا لمساعدتكم.

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

تحتوي الإجابة التي حددتها على خوارزميتين سهلتين للغاية، إحداهما تستخدم LINQ أيضًا، لذا فهي مثالية.

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

المحلول

تنفيذ مسافة ليفنشتاين:

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

نصائح أخرى

يمكنك أيضًا الاطلاع على المكتبة الرائعة للغاية والتي تحمل عنوان Sam's String Metrics http://sourceforge.net/projects/simmetrics/files/.يتضمن ذلك مجموعة من الخوارزميات.

  • مسافة هامينغ
  • مسافة ليفنشتاين
  • مسافة Needleman-Wunch أو خوارزمية البائعين
  • مسافة سميث ووترمان
  • مسافة جوتوه أو مسافة سميث-ووترمان-جوتوه
  • مسافة الكتلة أو مسافة L1 أو مسافة كتلة المدينة
  • مسافة مونج إلكان
  • جارو قياس المسافة
  • جارو وينكلر
  • مقياس المسافة SoundEx
  • معامل المطابقة
  • معامل النرد
  • تشابه جاكارد أو معامل جاكارد أو معامل تانيموتو
  • معامل التداخل
  • المسافة الإقليدية أو المسافة L2
  • تشابه جيب التمام
  • المسافة المتغيرة
  • مسافة هيلينجر أو مسافة بهاتاشاريا
  • نصف قطر المعلومات (اختلاف جنسن-شانون)
  • الوسط التوافقي
  • انحراف الانحراف
  • احتمال الارتباك
  • تاو
  • مقياس فيليجي وسونترز (SFS).
  • TFIDF أو TF/جيش الدفاع الإسرائيلي
  • فاست أ
  • انفجارP
  • الحد الأقصى من التطابقات
  • كيو جرام
  • خوارزميات أوكونن

إنها ليست من اختراعي، ولكنها المفضلة لدي وقد قمت للتو بالتدوين عنها ونشرت نسختي المعدلة من معامل النرد ومسافة ليفنشتاين وأطول تسلسل مشترك وميتافون مزدوج في منشور مدونة يسمى أربع وظائف للعثور على تطابقات سلسلة غامضة في ملحقات C#.

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

هذا ورقة مشروع الكود لديه وظيفة تشابه السلسلة باستخدام مسافة ليفنشتاين.

هناك خوارزمية مسافة Levenshtein التالية التي تحدد قيمة للتشابه بين سلسلتين (حسنًا، الفرق في الواقع)، والتي يمكن استخدامها للبناء عليها: http://www.merriampark.com/ldcsharp.htm

ال مشروع بيجل لنظام التشغيل Linux مكتوب بلغة c# (أحادية) وهو عبارة عن أداة بحث تشبه سطح مكتب Google.قد يحتوي على بعض التعليمات البرمجية لهذا النوع من مطابقة السلسلة.

إذا كنت أتذكر بشكل صحيح، فإنه يستخدم لوسين مكتبة للبحث واسترجاع البيانات.ربما يمكن أن يكون ذلك مفيدًا لمشروعك أيضًا.

لقد استخدمت "قاموس شجرة البحث الثلاثي في ​​​​C #" (http://www.codeproject.com/KB/recipes/tst.aspx) للبحث عن سلاسل مماثلة.

تحياتي باتريسيو

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