@cite{yoon-etal-2020} — Polite Speech Emerges From Competing Social Goals #
Overview #
Politeness arises from the interplay of three communicative goals: informativity (conveying the true state), social value (making the listener feel good), and presentational utility (appearing kind to the listener). This file implements both the S1 submodel (informativity + social tradeoff) and the full S2 model (adding presentational utility).
Experimental Design #
- 202 participants on Amazon MTurk
- 12 scenarios per participant (3 goals × 4 states)
- Goals: informative, kind, both
- States: 0-3 hearts (true quality rating)
- Utterances: 8 options (4 adjectives × pos/neg)
Finding #
Speakers with BOTH goals (informative + kind) produce more negation in bad states (0-1 hearts) compared to single-goal conditions. This is the signature of indirect speech driven by self-presentation.
File Structure #
- §1. Types & Semantics — shared across S1 and S2 models
- §2. S1 Submodel — simplified (α=3, 5-point φ), demonstrating the informativity–social tradeoff that drives negation
- §3. Full S2 Model — paper's fitted parameters (α≈4.47, 20-point φ grid), with presentational utility driving the "both" condition's negation pattern
Heart state: 0-3 hearts representing true quality
- h0 : HeartState
- h1 : HeartState
- h2 : HeartState
- h3 : HeartState
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Is this a negated utterance?
Equations
- Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.notTerrible.isNegated = true
- Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.notBad.isNegated = true
- Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.notGood.isNegated = true
- Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.notAmazing.isNegated = true
- x✝.isNegated = false
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.terrible.baseAdjective = Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.terrible
- Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.notTerrible.baseAdjective = Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.terrible
- Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.bad.baseAdjective = Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.bad
- Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.notBad.baseAdjective = Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.bad
- Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.good.baseAdjective = Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.good
- Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.notGood.baseAdjective = Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.good
- Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.amazing.baseAdjective = Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.amazing
- Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.notAmazing.baseAdjective = Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.amazing
Instances For
Speaker goal conditions from the experiment
- informative : GoalCondition
- kind : GoalCondition
- both : GoalCondition
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Soft semantic meaning: P(accept | adjective, state) from the literal semantics norming task.
Raw acceptance proportions from literal_semantics.csv in the paper's
GitHub repository (https://github.com/ejyoon/polite_speaker). N=49
participants (after exclusions; supplement reports N=51 recruited) made
binary yes/no judgments for each adjective × state combination.
The paper's full model infers θ via a Beta-Binomial BDA (uniform Beta(1,1) prior), marginalizing over posterior uncertainty. We use the raw proportions k/49 as point estimates — the maximum likelihood values.
Equations
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.terrible Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h0 = 1
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.terrible Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h1 = 26 / 49
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.terrible Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h2 = 0
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.terrible Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h3 = 1 / 49
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.bad Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h0 = 1
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.bad Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h1 = 45 / 49
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.bad Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h2 = 0
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.bad Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h3 = 0
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.good Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h0 = 1 / 49
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.good Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h1 = 2 / 49
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.good Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h2 = 47 / 49
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.good Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h3 = 1
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.amazing Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h0 = 1 / 49
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.amazing Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h1 = 1 / 49
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.amazing Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h2 = 7 / 49
- Phenomena.Politeness.Studies.YoonEtAl2020.softSemantics Phenomena.Politeness.Studies.YoonEtAl2020.Adjective.amazing Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h3 = 47 / 49
Instances For
Base adjective meaning (positive form).
Returns a graded proposition GProp HeartState = HeartState → ℚ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Compositionally derived utterance semantics.
Negated utterances are derived by applying Core.GradedProposition.neg
to base meanings:
- ⟦not terrible⟧ = neg(⟦terrible⟧)
This mirrors Montague's compositional semantics where ⟦not φ⟧ = pnot(⟦φ⟧),
lifted to graded propositions (see neg_involutive, neg_antitone).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Utterance cost: number of words
Equations
- Phenomena.Politeness.Studies.YoonEtAl2020.utteranceCost Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.terrible = 2
- Phenomena.Politeness.Studies.YoonEtAl2020.utteranceCost Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.bad = 2
- Phenomena.Politeness.Studies.YoonEtAl2020.utteranceCost Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.good = 2
- Phenomena.Politeness.Studies.YoonEtAl2020.utteranceCost Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.amazing = 2
- Phenomena.Politeness.Studies.YoonEtAl2020.utteranceCost Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.notTerrible = 3
- Phenomena.Politeness.Studies.YoonEtAl2020.utteranceCost Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.notBad = 3
- Phenomena.Politeness.Studies.YoonEtAl2020.utteranceCost Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.notGood = 3
- Phenomena.Politeness.Studies.YoonEtAl2020.utteranceCost Phenomena.Politeness.Studies.YoonEtAl2020.Utterance.notAmazing = 3
Instances For
Subjective value V(s): linear mapping from states to values. The listener prefers higher heart states: V(3 hearts) > V(0 hearts).
Equations
- Phenomena.Politeness.Studies.YoonEtAl2020.subjectiveValue Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h0 = 0
- Phenomena.Politeness.Studies.YoonEtAl2020.subjectiveValue Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h1 = 1
- Phenomena.Politeness.Studies.YoonEtAl2020.subjectiveValue Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h2 = 2
- Phenomena.Politeness.Studies.YoonEtAl2020.subjectiveValue Phenomena.Politeness.Studies.YoonEtAl2020.HeartState.h3 = 3
Instances For
The model uses soft semantics: meaning values are in [0,1].
Negated utterances cost more than direct ones.
Direct utterances cost less.
S1 Submodel #
The S1 speaker's utility is a weighted sum of informativity and social value, interpolated by a latent kindness weight φ:
U_S1(u, s; φ) = φ · log L0(u,s) + (1−φ) · E_L0[V|u] − c · l(u)
This submodel uses approximate parameters (α = 3, c = 1, 5-point φ grid)
to demonstrate the qualitative predictions. The paper infers α and c via
BDA with priors α Uniform(0, 20) and c Uniform(1, 10).
Discretized kindness weight. The paper uses continuous φ ~ Uniform(0, 1); we discretize to {0, 1/4, 1/2, 3/4, 1} for computable verification. Higher φ = speaker prioritizes informativity over social value.
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
The rational value of each φ level.
Equations
Instances For
S1 submodel with approximate parameters (α = 3, c = 1).
S1 utility = φ · log L0(u,s) + (1−φ) · E_L0[V|u] − l(u)
Three components:
- φ · log L0 (informativity at true state)
- (1−φ) · E_L0[V|u] (social value: expected subjective value under L0)
- −l(u) (utterance length cost, with c = 1)
The log gate is inactive for the pure social speaker (φ=0, weight=0). This allows semantically incompatible utterances to receive positive scores when the speaker doesn't care about informativity.
Equations
- One or more equations did not get rendered due to their size.
Instances For
"terrible" → h0: L1 assigns more mass to h0 than h3.
"terrible" → h0: L1 assigns more mass to h0 than h1.
"bad" → h1: L1 assigns more mass to h1 than h0.
"bad" → h1: L1 assigns more mass to h1 than h3.
"good" → h2: L1 assigns more mass to h2 than h0.
"good" → h2: L1 assigns more mass to h2 than h3.
"amazing" → h3: L1 assigns more mass to h3 than h0.
"amazing" → h3: L1 assigns more mass to h3 than h2.
"not terrible" shifts away from h0: L1 prefers h1 over h0. Negation makes bad states more acceptable, so the listener infers the state is "not the worst" rather than "the worst".
"not bad" peaks at h2: L1 prefers h2 over h3. "Not bad" is most compatible with moderate-good states.
At h0, a purely informative speaker (φ=1) prefers "terrible" over "not terrible". Direct speech maximizes informativity.
At h0, a purely social speaker (φ=0) prefers "not terrible" over "terrible". Indirect speech maximizes social value: E[V|"not terrible"] is much higher than E[V|"terrible"] because L0 assigns probability to high-value states.
Even at φ=1/4, the speaker still prefers "terrible" over "not terrible" at h0. The informativity penalty of "not terrible" at h0 outweighs the social benefit until φ drops to 0. This shows the crossover between direct and indirect preference is between φ=0 and φ=1/4.
At h3, a purely social speaker prefers "amazing" over "good". Even without informativity concerns, the higher expected social value from "amazing" (which concentrates L0 on h3) drives the preference.
At h3, a purely informative speaker prefers "amazing" over "not amazing". Direct positive speech is more informative.
Full S2 Model #
The S2 speaker's utility has three terms computed w.r.t. L1 marginals:
U_S2(u, s; ω, φ̂) = ω_inf · ln P_L1(s|u)
+ ω_soc · Σ_s' P_L1(s'|u) · V(s')
+ ω_pres · ln P_L1(φ̂|u)
P_S2(u|s, ω) ∝ exp(-cost(u)) · exp(α · U_S2)
The three utility components:
- Informativity (ω_inf): log probability of the true state under L1
- Social (ω_soc): expected subjective value under L1
- Presentational (ω_pres): log probability that L1 infers the target kindness level φ̂ (speaker wants to appear kind)
Parameters #
This uses the paper's fitted parameters from the supplement:
- α ≈ 4.47: shared by S1 and S2
- c ≈ 2.64: cost of negation (positive utterances cost 1)
- ω weights and φ̂: posterior means per goal condition
- φ grid: 20 values {0, 1/20,..., 19/20}
Cost Encoding #
Cost enters the S2 model multiplicatively via the utterance prior:
P_prior(u) ∝ exp(-cost(u)). In the combinedUtility framework (where
the exponent is α · Σ terms), this is encoded as a constant term
−cost(u)/α, so that α · (−cost/α) = −cost, yielding the correct
exp(−cost) factor after exponentiation.
Discretized kindness weight φ ∈ [0, 1] on a 5-point grid.
Grid: {0, 1/4, 1/2, 3/4, 1}. The paper's WebPPL uses 40 values
at 0.025 spacing; we use 5 matching the S1 submodel's Phi type
for tractable L1 computation (200 cells vs 800 with Fin 20).
MAP estimates (φ̂ ≈ 0.35-0.50) are mapped to nearest grid point.
Instances For
The rational value of each grid point: k/4 for k ∈ {0,..., 4}.
Equations
Instances For
Weights for "informative" goal condition (Table 2). High presentational weight (ω_pres = 62%) with neutral φ̂ ≈ 0.49. Discretized to 2/4 = 0.50.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Weights for "kind" (social) goal condition (Table 2). Highest social weight (ω_soc = 31%) with kind φ̂ ≈ 0.37. Discretized to 1/4 = 0.25.
Equations
- Phenomena.Politeness.Studies.YoonEtAl2020.kindWeights = { ωInf := 25 / 100, ωSoc := 31 / 100, ωPres := 44 / 100, phiHat := ⟨1, Phenomena.Politeness.Studies.YoonEtAl2020.kindWeights._proof_2⟩ }
Instances For
Weights for "both" goal condition (Table 2). Balanced: ω_inf = 36%, ω_soc = 11%, ω_pres = 54%, φ̂ ≈ 0.36. Discretized to 1/4 = 0.25. The combination of informativity and presentational pressure drives the "both" condition's distinctive negation pattern.
Equations
- Phenomena.Politeness.Studies.YoonEtAl2020.bothWeights = { ωInf := 36 / 100, ωSoc := 11 / 100, ωPres := 54 / 100, phiHat := ⟨1, Phenomena.Politeness.Studies.YoonEtAl2020.kindWeights._proof_2⟩ }
Instances For
Base RSAConfig for the S2 model's S1/L1 layers. Same scoring as the S1 submodel but with:
- 5-point φ grid (PhiGrid = Fin 5), matching the S1 submodel
- α ≈ 4.47 (paper's fitted value)
- Cost encoded as −cost/α in the constant term
Equations
- One or more equations did not get rendered due to their size.
Instances For
S2 utility for a given goal condition.
U_S2(u, s; ω, φ̂) = ω_inf · ln P_L1(s|u) + ω_soc · Σ_s' P_L1(s'|u) · V(s') + ω_pres · ln P_L1(φ̂|u) + costTerm(u)
Since S2 score ∝ exp(α₂ · U_S2) and exp is monotone, comparing utilities is equivalent to comparing S2 scores.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Under "both" goals at h0, S2 prefers "not terrible" over "terrible". This is the paper's main finding: dual goals produce negation.
Does not hold with raw acceptance proportions (k/49) as point estimates for the literal semantics. The paper's full model infers θ via BDA, marginalizing over posterior uncertainty in a joint posterior over (α, c, ω, φ̂, θ). The qualitative prediction depends on this full posterior, not point estimates — both directions fail interval verification, confirming the values are indistinguishable under point estimation.
Under "informative" goals at h0, S2 prefers "terrible" over "not terrible". Direct speech dominates when the speaker prioritizes informativity.
Under "kind" goals at h0, S2 prefers "not terrible" over "terrible". The social and presentational weights favor indirect speech.
The S1/S2 politeness model instantiates Traugott's intersubjectivity: the speaker attends to the addressee's face/self-image.
When phi < 1, the speaker trades informativity for social value, i.e. the utterance is shaped by attention to the addressee -- the defining characteristic of @cite{traugott-dasher-2002}'s intersubjective level. The S2 model adds a second layer: the speaker also manages how kind they appear, which is doubly intersubjective.
@cite{narrog-2010} §4.2 connects this to modality: strong obligation is face-threatening precisely because it is performative and volitive, making the speaker's imposition on the addressee maximally salient.