Apply to my task
arXiv:2609.01564 ★ 72 Sep 1, 2026

Confusion-Aware Classification: Explicit Tie-Breaker Rules for Look-Alike Categories

Key result

The model sees the right category in the candidate list and still picks the one next to it. The problem isn't the list; it's that the model doesn't know which feature distinguishes similar categories from each other. Confusion-Aware Knowledge Augmentation lets you find systematic confusions between categories and turn them into explicit rules right in the prompt. The method finds the category pairs the model confuses most often and writes a ready-made tie-breaker rule into the final prompt, without picking through hundreds of errors by hand.

01

TL;DR

When you need to sort texts into categories and the categories resemble each other, the model gets confused not because it can't see the right category in the list, but because it doesn't know what exactly sets that category apart from its neighbor. The method fixes this in two steps: first it finds which pairs of categories the model mixes up most often, then for each such pair it writes an explicit tie-breaker rule and drops it straight into the classification prompt.

Anyone who has ever tagged customer requests or products by category knows the pain: the model will just as confidently pick "Product return" and "Product exchange" for the very same request. Even if both categories are in the candidate list, that's not enough: the model doesn't know which feature separates them. Simply growing the candidate list (taking more options) doesn't help: the chance of the right category being retrieved goes up, but the model makes more selection errors among similar options.

The method, Confusion-Aware Knowledge Augmentation, works in two stages. First it finds the pairs of categories the model systematically confuses (based on its own errors on examples) and makes sure both labels of such a pair land in the candidate list together. Then, for each problem pair, it generates a concrete rule of the form "if the text contains X, it's category A; if Y, it's category B", and adds those rules straight into the final prompt.

Want this for your own case? Apply this study to your task: AI adapts its method to what you are working on and writes the prompt.

02

Method Blueprint

STEP 1 (once, setup): Find the confusion
→ Run classification on examples with known correct answers
→ Collect the list of category pairs the model confuses most often

STEP 2 (once, setup): Generate the rules
→ For each confused pair, show the model examples of its errors
→ Ask it to spell out: "which feature distinguishes A from B"
→ Collapse the many observations into one clear rule

STEP 3 (on every new classification): Apply
→ In the prompt with the text and the category list, add:
   - both labels of every confused pair (even if retrieval found only one)
   - the ready-made tie-breaker rules for those pairs
→ The model picks the final category

Steps 1 and 2 are offline prep, done once per taxonomy. Step 3 runs on every new classification.

03

Example in Practice

Task: The support team of an online marketplace tags customer requests by category: hundreds of tickets a day, and categories like "Product return", "Product exchange", "Quality complaint" and "Defect complaint" constantly get mixed up.

Prompt (step 1, find the confusion):

Here is the list of request categories: {category_list}.

Here are 20 requests where the previous classification was wrong 
(in parentheses: the correct category, then the one the model chose):
{list_of_error_examples}

Analyze: which pairs of categories get confused most often? 
For each pair, state the direction of the confusion 
(category A mistaken for B, or vice versa, or both ways).

Prompt (step 2, generate a rule for a pair you found):

Here are examples of requests that belong sometimes to the category 
"{category_A}" and sometimes to the category "{category_B}":
{examples}

Write one clear rule: which specific words 
or phrases in the text tell you it's "{category_A}" 
and not "{category_B}", and vice versa.

Prompt (step 3, final classification with rules):

Classify the customer request into one of these categories: {category_list}.

Take into account the rules for telling similar categories apart:
- "{category_A}" vs "{category_B}": {rule}
- "{category_C}" vs "{category_D}": {rule}

Customer request: "{request_text}"

Answer with the category name only, no explanation.

Result: In step 1 the model will produce a list of confused pairs with the direction of the error. In step 2, one tie-breaker rule per pair, in the form "if the text has feature X → category A". In step 3, the final category, with noticeably higher accuracy on look-alike categories than without rules in the prompt.

04

Why It Works

The model struggles to distinguish categories that are semantically close but specific to a particular taxonomy. For example, how "Return" differs from "Exchange" under your store's specific policies is something the model can't know from general knowledge. Simply growing the candidate list doesn't help: when there are more categories, there are also more options to get wrong.

On the other hand, the model is good at following an explicit rule if it's stated concretely and given right in the prompt. A rule like "if the customer wants a different item instead, it's an Exchange; if they want their money, it's a Return" removes the ambiguity the model can't resolve on its own.

The method uses that strength: instead of counting on the model to "figure out" how to tell similar categories apart, it gets a direct instruction for each specific problem pair.

Control levers: - Number of errors analyzed in step 1 → the more error examples, the more reliable the list of confused pairs; for a quick test 15-20 examples is enough - How the rule is worded → you can ask the model to express the rule as specific keywords/features rather than a general description, which makes it easier for the model to apply the rule literally - Number of pairs you generate rules for → if you have many categories, start with the 5-10 most frequent confusions; don't try to cover everything at once

05

Prompt Template

STEP 1 — find the confusion:
Here is the list of categories: {category_list}.
Here are examples of requests where the classification was wrong 
(correct category → category the model chose):
{error_examples}

Find the pairs of categories that get confused most often. 
For each pair, state the direction of the confusion.

---

STEP 2 — write a rule (repeat for each pair):
Here are examples of texts that belong sometimes to "{category_A}" 
and sometimes to "{category_B}":
{examples}

Give one clear rule: which feature in the text distinguishes these two categories.

---

STEP 3 — classification with rules:
Classify the text into one of these categories: {category_list}.

Rules for telling similar categories apart:
- "{category_A}" vs "{category_B}": {rule}

Text: "{text}"

Answer with the category name only.

Plug in your own category list, your own error examples and the text to classify. The rules from step 2 accumulate in a separate list and get reused in every step 3 prompt.

🚀 Quick start: paste this into the chat:

Here's a template for the "telling similar categories apart" method. Adapt it to my task: 
{your classification task}. Ask me questions to fill in the fields.

[paste the template above]

The LLM will ask what your categories are and whether you have examples of misclassifications, because without concrete categories and error examples it's impossible to write tie-breaker rules. It will take the template's structure and tailor it to your taxonomy.

06

Limitations

⚠️ The effect is weak for short category lists: if you have 5-7 clearly distinct categories with no overlap in meaning, the method won't give a noticeable gain. There's almost no confusion, so tie-breaker rules are overkill.

⚠️ You need error examples: the method works off of seeing where the model actually makes mistakes. Without at least a dozen labeled examples with correct answers, you can't find the problem pairs and will have to guess by hand.

⚠️ The rules are specific to your taxonomy: a rule written for one set of categories doesn't carry over to another set. If the categories change, steps 1-2 have to be repeated.

07

How They Tested It

The team tested the method on three large datasets: court documents (100 categories), scientific papers (134 categories, two levels of hierarchy) and online store products (351 categories, three levels). For each dataset they compared the standard approach (take the top-K similar categories and ask the model to choose) against adding "confusable partners" and generated rules.

The error analysis revealed something curious: when similar categories were added to the candidate list, the chance that the correct category was in the list at all rose almost to the maximum, but the model started making more mistakes in the choice itself among similar options. That's exactly why expanding the list alone isn't enough: you also need tie-breaker rules, which eliminated most of these new errors.

Separately, they tested knowledge transfer: rules generated by a large model delivered the same quality gain for models many times smaller and cheaper. In other words, the heavy lifting of writing the rules can be done once with a powerful model, and the classifying can then be done by a simpler, faster one. They also compared against fine-tuning: on clean data the fine-tuned models were more accurate, but with noisy labels or few examples the rules-based method proved more robust and lost far less accuracy.

Research digest

Key result

The model sees the right category in the candidate list and still picks the one next to it. The problem isn't the list; it's that the model doesn't know which feature distinguishes similar categories from each other. Confusion-Aware Knowledge Augmentation lets you find systematic confusions between categories and turn them into explicit rules right in the prompt. The method finds the category pairs the model confuses most often and writes a ready-made tie-breaker rule into the final prompt, without picking through hundreds of errors by hand.

Principle

It works in three steps. Step 1: run classification on examples with known answers and collect the category pairs the model systematically confuses. Step 2: show the model its own errors on such a pair and ask it to write one clear rule: which words distinguish A from B. Step 3: put both labels of the pair and the ready-made rule into the final classification prompt. Instead of hoping the model figures it out on its own, you hand it a ready instruction for each specific problem pair.

Why it works

The model struggles with categories that are similar in meaning but specific to your taxonomy: from general knowledge it can't know how a "Return" differs from an "Exchange" under your store's particular policies. Simply expanding the candidate list doesn't help: the chance of the right category landing in the list goes up, but so do selection errors among similar options. On the other hand, the model follows an explicit rule very well if it's concrete: the phrase "if the customer wants a different item, it's an Exchange; if they want their money, it's a Return" clears up an ambiguity the model can't resolve on its own.

When to apply

Tagging customer requests, categorizing products, labeling datasets → specifically where categories are semantically close and specific to your taxonomy, especially when there are many categories (10+) and the same confusion repeats from text to text. NOT suitable for 5-7 clearly distinct categories with no overlap in meaning: there's almost no confusion there, so the rules are overkill.

Mini recipe

1. Collect errors: at least 15-20 examples where the previous classification was wrong, with the correct answer alongside. 2. Find the confused pairs: show the model these errors and ask it to identify category pairs and the direction of confusion (A mistaken for B or vice versa). 3. Write the rule: for each pair (start with the 5-10 most frequent), show examples and ask for one clear rule based on specific words or features. 4. Add it to the prompt: put both labels of the pair and the ready-made rule into the final classification prompt. 5. Reuse: the rules accumulate in a separate list and work for all new classifications; you only need to redo them if the categories change.

Examples

[BAD]: `Classify the request: "I want a different size of this jacket". Categories: Product return, Product exchange, Defect complaint` [GOOD]: `Classify the request into these categories: Product return, Product exchange, Defect complaint. Tie-breaker rules: "Product exchange" vs "Product return": if the customer wants to get a different item instead, it's an Exchange; if they want their money back, it's a Return. Request: "I want a different size of this jacket"`

In plain words

LLMs flub text classification not because they're dumb, but because they don't know your internal rules. To a base model, "return" and "exchange" or "quality complaint" and "defect complaint" mean practically the same thing. Dumping a wall of dozens of similar categories into the context is a surefire way to break your classifier, because as the list grows, so does the chance of getting lost in semantic noise.

It's like sending an intern to the records room and saying "sort the folders by contract type" without handing over any guidelines. Technically he understands the words, but the logic of how to split them is still in your head. Without clear markers he'll inevitably start reading tea leaves, mixing up similar documents simply because they're written in the same bureaucratic language.

The fix is a two-stage method, Confusion-Aware Knowledge Injection. First the algorithm identifies the pairs of maximum confusion, the categories where the model slips up most often. Then, for each such pair, an explicit tie-breaker rule is created (for example, "money back is a return, swapping for another size is an exchange") and mixed into the context dynamically right before classification.

The approach was tested on text, but the principle is universal. It's a lifesaver for routing support tickets, tagging CRM leads and content moderation: any task with a bloated taxonomy full of fine distinctions. Instead of overloading the context with descriptions of every single category, the system surgically pulls in only the conflicting rules.

The main takeaway: stop hoping the LLM will figure out the fine print of your business processes on its own. Find the model's blind spots, draw hard boundaries and feed them into the prompt. Either you explicitly explain the difference between similar tags, or your automation turns into a random category generator.

AI lab assistant

Apply this study to your task

Describe what you're working on. AI takes the method and the measured results from this paper and adapts them to your case, or writes a ready prompt built on them.

Based on Confusion-Aware Classification: Explicit Tie-Breaker Rules for Look-Alike Categories arXiv:2609.01564

Sign in to apply this study New accounts get 50 free credits.