#1200·compromise

Request: #AbstractNoun tag for context-sensitive pattern matching

Author: bracoCreated Mar 13, 2026Updated Mar 19, 2026

Many writing quality and style detectors need to distinguish between abstract and concrete noun usage. For example, the difference between verb highlight when used figuratively ("highlights the importance of X") vs used literally ("highlights the text", "highlights them"). The only reliable signal is whether the object noun is abstract or concrete, something the current tag set doesn't expose.

The fix would be to add an #AbstractNoun tag (and optionally #ConcreteNoun) to the two-tier POS tagger, covering nouns that represent concepts, states, qualities, or relationships rather than physical objects or entities.

This would enable patterns like:

doc.match('highlight+ the #AbstractNoun') // → fires on: "highlights the importance", "highlighted the need", "highlighting the complexity" // → silent on: "highlights the text", "highlights the selection", "highlighted the code"

Example #AbstractNouns importance, significance, urgency, need, role, value, impact, complexity, tension, severity

Example #ConcreteNouns text, file, button, word, selection, match, result

WordNet distinguishes concrete vs abstract via the [noun.cognition], [noun.attribute], and [noun.state] synset categories. A curated lexicon seeded from WordNet's abstract synsets would cover the most common cases without requiring inference.

Source: spencermountain/compromise