Goldwater and Johnson (2003): Learning OT Constraint Rankings Using a Maximum Entropy Model #
Goldwater and Johnson's maximum entropy model of constraint-based phonology gives an output of an
input the probability of eq. (1), the MaxEnt distribution maxEnt of the input's candidates.
Learning maximizes the log pseudo-likelihood of the training pairs (eq. (2)) less a Gaussian
penalty on the weights (eq. (3)). The log pseudo-likelihood is concave in the weights, as
footnote 4 says, and the penalty makes the objective strictly concave, so at most one weighting
maximizes it. Replicating the corpus r times while dividing the prior's variance by r rescales the
objective by r, so only nσ² matters for the weights learned.
The learned weights of the Wolof tongue-root grammar (Table 1) are exponentially separated, the spacing that recovers strict domination in Johnson's limit. For Boersma and Hayes's Finnish genitive plurals, a model choosing between two candidates sees their violations only through the difference vector, so Table 2's naapuri and ministeri classes, distinct in violations but not in differences, are one class for the learner.
Main results #
concaveOn_logPseudoLikelihood,eq_of_isMaxOn_regularizedObjective: footnote 4.isGreatest_condEntropy_of_isMaxOn_logPseudoLikelihood: section 2's maximum entropy, the most likely grammar having the greatest conditional entropy among the models matching the training data.regularizedObjective_replicate: only nσ² matters.wolof_separated: Table 1's weights are exponentially separated.maxEnt_pairConstraintSet_real_zero,rows_collapse: a pair sees only differences (Table 3).
Implementation notes #
Footnote 4 infers a single global maximum from concavity of the log conditional likelihood, but a concave function can be maximized on a whole convex set, as when two constraints are violated alike; uniqueness comes from the strictly convex penalty of (3).
The four Finnish rows carry Table 2's violation vectors as digit strings, one digit per constraint
in Boersma and Hayes's order; Anttila's full grammar is in Studies/Anttila1997.lean. The Wolof
weights are the learned values of Table 1; the error rates and Table 4 stay in the paper, as does
the comparison with Boersma's Gradual Learning Algorithm.
References #
The log pseudo-likelihood of the training pairs, eq. (2) logged, sums the log-probabilities of the observed outputs under the MaxEnt distributions (1) of their inputs' candidates.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Eq. (3) with the paper's common prior, mean zero and deviation σ for every weight.
Equations
- GoldwaterJohnson2003.regularizedObjective con w data σ = GoldwaterJohnson2003.logPseudoLikelihood con w data - ∑ j : Fin n, w j ^ 2 / (2 * σ ^ 2)
Instances For
Replicating the corpus r times while dividing the prior's variance by r multiplies the objective by r: the weights learned depend on nσ² alone.
The same weights maximize the objective before and after replication.
The empirical distribution of the training pairs.
Equations
- GoldwaterJohnson2003.empirical data = (↑data.length)⁻¹ • ∑ i : Fin data.length, MeasureTheory.Measure.dirac data[i]
Instances For
The log pseudo-likelihood is concave in the weights (footnote 4), as a sum of the log-likelihoods of single observations.
With the Gaussian prior the objective (3) is strictly concave in the weights.
At most one weighting maximizes the objective (3), footnote 4's single global maximum.
Maximum entropy (section 2) #
The log pseudo-likelihood (2) is the number of training pairs times the conditional log-likelihood of their empirical distribution.
Maximum entropy models "have as high an entropy as possible under the constraint that they match the training data" (section 2). Weights maximizing the log pseudo-likelihood give the grammar of greatest conditional entropy among the conditional models whose violations, averaged over the training inputs, are the training data's.
Two candidates: learning from differences (section 3.2) #
Two candidates as a constraint set, the winner at 0 and the loser at 1.
Equations
- GoldwaterJohnson2003.pairConstraintSet win lose j c = if c = 0 then win j else lose j
Instances For
A two-candidate model sees the violations only through their difference, the winner's probability being the sigmoid of the weighted difference vector.
Two candidate pairs with the same difference vector get the same winner probability under every weighting.
Table 1: the Wolof tongue-root grammar #
The weights learned for Boersma's five Wolof constraints *RTRHI, PARSE[RTR], GESTURE[CONTOUR], PARSE[ATR] and *ATRLO (Table 1, nσ² ≈ 1,200,000).
Equations
- GoldwaterJohnson2003.wolofWeights 0 = 3389 / 100
- GoldwaterJohnson2003.wolofWeights 1 = 17
- GoldwaterJohnson2003.wolofWeights 2 = 10
- GoldwaterJohnson2003.wolofWeights 3 = 353 / 100
- GoldwaterJohnson2003.wolofWeights 4 = 41 / 100
Instances For
The learned weights are exponentially separated, each exceeding the sum of all lower ones, the
spacing under which Harmonic Grammar reproduces the strict domination of the ranking the Gradual
Learning Algorithm finds ([Joh02], lex_imp_lower_violations).
Tables 2 and 3: Finnish genitive plurals #
The digits of a feature string as violation counts, one per constraint.
Equations
- GoldwaterJohnson2003.digits s = List.map (fun (c : Char) => c.toNat - '0'.toNat) s.toList
Instances For
A violation vector over [BH01]'s eleven constraints.
Equations
- GoldwaterJohnson2003.vec l j = l.getD (↑j) 0
Instances For
A stem class, given by the violation vectors of the winning and the losing genitive plural.
- winner : Fin 11 → ℕ
- loser : Fin 11 → ℕ
Instances For
Equations
- GoldwaterJohnson2003.instDecidableEqRow.decEq { winner := a, loser := a_1 } { winner := b, loser := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
The four stem classes of Table 2.
Equations
Instances For
The two classes receive the same winner probability under every weighting.