Skip to content

Em-dash post-processing

AI language models overuse em-dashes: they are the most recognisable marker of AI-generated text. DXAI's real-time post-processing engine detects em-dashes in generated content and replaces them with natural punctuation (colons, semicolons, commas, or restructured sentences), so your content reads as though a person wrote it.

Intensity levels

The em-dash processor has four levels, controlled by the em_dash_mode setting:

Level Name Behaviour
0 Off No changes. Em-dashes pass through unchanged.
1 Low Replaces paired em-dashes only. These are parenthetical inserts where an em-dash appears on both sides of a phrase.
2 Medium Paired em-dashes plus standalone mid-sentence em-dashes. Trailing em-dashes at the end of a clause are kept.
3 High Replaces all em-dashes, including trailing ones. This is the default.

The em_dash_mode value is sent with every chat payload to the Kavya API, which applies the replacement server-side before returning the response.

Configuration

Navigate to /admin/config/ai/providers/dxpr. The Em-dash processor section shows:

Em-dash intensity slider moving through Off, Low, Medium, and High levels with live preview

  1. Intensity slider: a range control labelled Off / Low / Medium / High. Drag it or click a label to select a level.
  2. Live preview: a panel below the slider showing before and after text. The preview updates immediately when you move the slider, so you can see the effect of each level without saving.
  3. Mode description: a short explanation of the selected level appears beneath the slider.

Per-language overrides

On multilingual sites, each language can have its own em-dash mode. This is useful because some languages use em-dashes as standard punctuation (for example, Russian and Polish use them in place of quotation marks for dialogue).

Per-language overrides appear below the main slider when your site has multiple languages enabled. Each language shows its own intensity selector. Languages without an override inherit the global setting.

When translating content, the em-dash mode resolves based on the target language, not the source language or the current interface language. This ensures that a translation into Russian (where em-dashes are conventional) can keep them, while a translation into English (where they signal AI authorship) can remove them.

Drush configuration

You can read and write the em-dash settings from the command line:

# Check the current mode
drush config:get ai_provider_dxpr.settings em_dash_mode

# Set the mode (0 = Off, 1 = Low, 2 = Medium, 3 = High)
drush config:set ai_provider_dxpr.settings em_dash_mode 3

# Set a per-language override (example: Russian to Off)
drush config:set ai_provider_dxpr.settings em_dash_language_overrides.ru 0