E5.14.3command synonym matchingdesignresearch

Synonyms and fuzzy match have to carry it

Aliases: fuzzy command search · vocabulary problem

What it is

Even when people know the kind of action they want, the word they bring is often not the word on the product’s menu. Synonym and fuzzy matching is what makes Delete / Remove / Trash / del land on the same command. A palette is indexed by names; if the name is narrow, the recall channel breaks at “the words did not meet” — not because people do not know what they are looking for, but because they do not know what you call it.

Why it happens

This is the classic vocabulary problem: designers pick one label, users search with another. Exact substring matching only covers the cases that happen to share a stem. Find misses Search; Archive misses Hide from inbox; one letter off is a zero result. People reformulate once or twice and then conclude the function does not exist. A synonym list, common abbreviations, and names of reverse operations (“unpin” must find “Unpin from sidebar”) map several spoken forms onto one record. Fuzzy matching (edit distance, tokenisation, romanisation) covers spelling and word order; it does not replace synonyms. Two words with no letters in common will not be saved by fuzz.

Ranking matters as much. Fuzz that is too loose fills the list with near-misses and shoves the real target off the first screen: a mathematical match and a choice failure. Context weights (commands for the current editor first) can lift the right row.

Studying it

Collect real queries (zero-result rows and reformulation chains in the logs) into a set of “what the user said → target command”. Independent variables: exact match, plus synonyms, plus fuzz. Dependent variables: first-screen hit rate, reformulation count, zero-result rate.

Do not test with names the designers themselves would search; that systematically underestimates the vocabulary problem. Run a pass with multilingual users querying in their language.

Where it stops holding

Too many synonyms pull in unrelated commands (open matches too much). Legal or destructive commands need a tighter match so del does not prefer Deploy. Internal code names should not be primary matches unless that is already what the user community says. With no corpus, run a small open naming: show the action, ask what people would type, and write the frequent forms into synonyms rather than inventing them in a closed room.

Applying it

  • Keep a searchable-name list per command: official label, spoken synonyms, reverse-operation names, common abbreviations.
  • On zero results, say there was no match and offer spelling suggestions; do not silently return a long unrelated list.
  • Patch synonyms from real zero-result logs. When the first screen is often crowded by the wrong command, tighten fuzz and strengthen context weights.
  • How to check: run queries in the users’ wording, not the official labels; the target should sit on the first screen. Every zero-result query later shown to have a living function is a missing word. Then misspell by a letter or two: it should still be recognised, without lifting a totally different destructive command to the front.

Related

  • Within the group: E5.14.1 A command palette replaces hierarchical lookup with search · E5.14.2 It depends on users knowing what to look for
  • Adjacent: E2.10 Search Fields · E5.16 Shortcuts and Pinned Items
  • Search terms: vocabulary problem · synonym matching · command palette

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/E5.14.3