কম্পিউটার টিউটোরিয়াল

পাইথনের FuzzyWuzzy লাইব্রেরি দিয়ে ফাজি স্ট্রিং ম্যাচিং

FuzzyWuzzy পাইথন লাইব্রেরি দুটি স্ট্রিং তুলনা করার জন্য তৈরি। রেজেক্স বা difflib আছে, কিন্তু FuzzyWuzzy অনন্য কারণ এটি ১০০ এর মধ্যে স্কোর দেয় কতটুকু মিলেছে।

ইনস্টলেশন:

pip install fuzzywuzzy
pip install python-Levenshtein  # লিনাক্স
# উইন্ডোজে: easy_install python-Levenshtein

fuzz মডিউল

fuzz দুটি স্ট্রিং তুলনা করে ১০০ এর মধ্যে স্কোর দেয়।

fuzz.ratio()

দুটি স্ট্রিং তুলনা করে স্কোর দেয়।

উদাহরণ

from fuzzywuzzy import fuzz

print(f"Equal Strings: {fuzz.ratio('tutorialspoint', 'tutorialspoint')}")      # 100
print(f"Slight Changed: {fuzz.ratio('tutorialspoint', 'TutorialsPoint')}")    # 86
print(f"Slight Changed: {fuzz.ratio('tutorialspoint', 'Tutorials Point')}")   # 86
print(f"Different: {fuzz.ratio('abcd', 'efgh')}")                             # 0

আউটপুট

Max Score: 100
Slight Changed Strings: 86
Slight Changed Strings: 86
Different Strings: 0

fuzz.WRatio()

আপার/লোয়ার কেস এবং এক্স্ট্রা ক্যারেক্টার হ্যান্ডেল করে।

উদাহরণ

from fuzzywuzzy import fuzz

print(f"Max Score: {fuzz.WRatio('tutorialspoint', 'tutorialspoint!!!')}")     # 100
print(f"Slight Changed: {fuzz.WRatio('tutorialspoint', 'TutorialsPoint')}")   # 100
print(f"Different: {fuzz.ratio('abcd', 'efgh')}")                             # 0

আউটপুট

Max Score: 100
Slight Changed Strings: 100
Slight Changed Strings: 100
Different Strings: 0

WRatio কেস ইগনোর করে এবং এক্স্ট্রা ক্যারেক্টারও অনুমতি দেয়। এটি সরল ratio-এর চেয়ে ভালো ম্যাচিং দেয়।

উপসংহার

FuzzyWuzzy স্ট্রিং ম্যাচিং-এ খুব কার্যকর। আরও এক্সপ্লোর করুন। প্রশ্ন থাকলে কমেন্ট করুন।


  1. পাইথনে স্ট্রিং আপডেট করা

  2. পাইথনে স্ট্রিংর গ্রেটেস্ট কমন ডিভাইজর (Greatest Common Divisor of Strings in Python)

  3. পাইথনে স্ট্রিং-এ % অপারেটর কী করে

  4. পাইথনে স্ট্রিংয়ের লিস্ট সর্ট করা