import re docs = { "P1": "Unused items can be returned within 30 days.", "P2": "Standard shipping usually takes 5 days." } query = "How many days before unused items can be returned?" def words(text): return set(re.findall(r"[a-z]+", text.lower())) scores = {key: len(words(query) & words(text)) for key, text in docs.items()} best = max(scores, key=scores.get) print("Source:", best) print("Evidence:", docs[best])