Skip to content

Request: #AbstractNoun tag for context-sensitive pattern matching #1200

Description

@braco

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions