สมมติว่าเราได้รับคำและเราต้องการค้นหาคำที่ใกล้เคียงที่สุด ไม่ใช่การจับคู่แบบตรงทั้งหมด แต่เป็นคำอื่นๆ ที่มีความคล้ายคลึงกันในรูปแบบใกล้เคียงกับคำที่กำหนด สำหรับสิ่งนี้ เราใช้โมดูลที่เรียกว่า difflib และใช้เมธอดชื่อ get_close_matches
get_close_matches
วิธีนี้เป็นส่วนหนึ่งของโมดูล difflib และให้การจับคู่กับรูปแบบที่เป็นไปได้ที่เราระบุ ด้านล่างนี้คือไวยากรณ์
difflib.get_close_matches(word, possibilities, n, cutoff) word: It is the word to which we need to find the match. Possibilities: This is the patterns which will be compared for matching. n: Maximum number of close matches to return. Should be greater than 0. Cutoff: The possibilities that do not score this float value between 0 and 1 are ignored.
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
ตัวอย่าง
ในตัวอย่างด้านล่าง เราจะใช้คำศัพท์และรายการความเป็นไปได้หรือรูปแบบที่ต้องเปรียบเทียบ จากนั้นเราก็ใช้วิธีเพื่อให้ได้ผลลัพธ์ที่ต้องการ
from difflib import get_close_matches word = 'banana' patterns = ['ana', 'nana', 'ban', 'ran','tan'] print('matched words:',get_close_matches(word, patterns))
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
matched words: ['nana', 'ban', 'ana']