diff --git a/cheddahbot/tools/linkbuilding.py b/cheddahbot/tools/linkbuilding.py index 9b5b552..25d81fc 100644 --- a/cheddahbot/tools/linkbuilding.py +++ b/cheddahbot/tools/linkbuilding.py @@ -285,6 +285,15 @@ def _fuzzy_keyword_match(a: str, b: str, llm_check: Callable[[str, str], bool] | return True if llm_check is None: return False + + # Only call LLM when keywords share most words (possible plural difference). + words_a = set(a.split()) + words_b = set(b.split()) + shared = words_a & words_b + total = max(len(words_a), len(words_b)) + if total > 1 and len(shared) < total - 1: + return False + return llm_check(a, b)