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 স্ট্রিং ম্যাচিং-এ খুব কার্যকর। আরও এক্সপ্লোর করুন। প্রশ্ন থাকলে কমেন্ট করুন।