  Fringe groups and organizations have a long history of using
euphemisms--ordinary-sounding words with a secret meaning--to conceal what they
are discussing. Nowadays, one common use of euphemisms is to evade content
moderation policies enforced by social media platforms. Existing tools for
enforcing policy automatically rely on keyword searches for words on a "ban
list", but these are notoriously imprecise: even when limited to swearwords,
they can still cause embarrassing false positives. When a commonly used
ordinary word acquires a euphemistic meaning, adding it to a keyword-based ban
list is hopeless: consider "pot" (storage container or marijuana?) or "heater"
(household appliance or firearm?) The current generation of social media
companies instead hire staff to check posts manually, but this is expensive,
inhumane, and not much more effective. It is usually apparent to a human
moderator that a word is being used euphemistically, but they may not know what
the secret meaning is, and therefore whether the message violates policy. Also,
when a euphemism is banned, the group that used it need only invent another
one, leaving moderators one step behind.
  This paper will demonstrate unsupervised algorithms that, by analyzing words
in their sentence-level context, can both detect words being used
euphemistically, and identify the secret meaning of each word. Compared to the
existing state of the art, which uses context-free word embeddings, our
algorithm for detecting euphemisms achieves 30-400% higher detection accuracies
of unlabeled euphemisms in a text corpus. Our algorithm for revealing
euphemistic meanings of words is the first of its kind, as far as we are aware.
In the arms race between content moderators and policy evaders, our algorithms
may help shift the balance in the direction of the moderators.
