Alexandre Barroso ←

A violação vista por uma função de ligação

Uma restrição contínua não devolve uma violação — devolve um número. O quanto uma vogal se afasta do alvo, digamos: uma distância, crua, em hertz ou no que for. Chamar esse número de "violação" é pular uma etapa. Entre o valor bruto e a penalidade mora uma escolha que quase nunca explicitamos: uma função de ligação, que decide como o valor vira castigo.

E há mais de um jeito honesto de fazer isso. A ligação pode ser linear e apenas repassar o número como está. Pode ser exponencial e punir cada passo de afastamento com mais fúria que o anterior. Pode ser logística e tolerar o desvio até certo ponto, para então desabar num paredão. Todas partem de zero e crescem com a distância — o mínimo que se espera de uma penalidade —, mas o formato de cada uma é uma teoria diferente sobre o que conta como "ruim":

Poderia parecer um detalhe técnico, não fosse o que acontece rio abaixo. A gramática não lê violações e para por aí: ela as pondera, soma e transforma em probabilidade — e faz isso exponenciando, $P \propto e^{-\sum_k w_k v_k}$, como nas gramáticas de máxima entropia (Hayes & Wilson, 2008; Jäger, 2007). Ou seja, a distribuição que o modelo prevê sobre a vogal já nasce de uma exponencial. A ligação que escolhemos lá atrás reaparece aqui dentro, moldando o pico, os ombros e as caudas do que se espera ver.

Repare, então, que uma das ligações fala a mesma língua da máquina. Se a saída já é uma exponencial, uma ligação exponencial mantém tudo na mesma moeda: positiva, multiplicativa, compondo-se sem emendas. Não é a única possível, mas é a que menos atrita com o que vem depois. Dá para ver isso num tableau: tome três candidatos a distâncias 0, 1 e 2 do alvo. Lida pela ligação linear, a diferença entre eles é suave:

Tableau MaxEnt com ligação linear: a violação é a própria distância, e a probabilidade cai devagar com o afastamento.

Lida pela ligação exponencial ($v=e^{r}-1$), a mesma distância pesa muito mais longe do alvo, e a probabilidade se concentra com força no vencedor:

Tableau MaxEnt com ligação exponencial: a mesma distância vira uma violação muito maior longe do alvo, e a probabilidade se concentra no vencedor.

Vale conferir a conta em vez de confiar no desenho — as duas colunas de $P$ saem de um mesmo punhado de distâncias, só que vistas por ligações diferentes:

pythonas mesmas distâncias, duas ligações
import math
# Uma restrição devolve uma distância crua; a ligação a transforma em violação.
# Três candidatos a distâncias 0, 1, 2 do alvo, vistos por duas ligações.
r = [0, 1, 2]
def P(vs, w=1.0):                 # saída MaxEnt: exponencia o negativo da harmonia
    hs = [math.exp(-w * v) for v in vs]
    Z = sum(hs)
    return [h / Z for h in hs]

linear = list(r)                              # v = r
expo = [math.exp(x) - 1 for x in r]           # v = e^r - 1

print("candidato    r    v(lin)  v(exp)")
for i, x in enumerate(r):
    print(f"    {i}        {x}     {linear[i]:.2f}    {expo[i]:.2f}")
print("P linear:", [round(p, 3) for p in P(linear)])
print("P exp   :", [round(p, 3) for p in P(expo)])

No fim, a moral é modesta e um tanto desconcertante: a violação não estava no mundo à espera de ser medida. Ela é fabricada — pela restrição, sim, mas também pela ligação silenciosa que escolhemos para lê-la. Nomeie a ligação e você já terá decidido, sem perceber, boa parte do que a gramática vai prever.

  1. Hayes, B., & Wilson, C. (2008). A Maximum Entropy Model of Phonotactics and Phonotactic Learning. Linguistic Inquiry.
  2. Jäger, G. (2007). Maximum Entropy Models and Stochastic Optimality Theory. Preprint.

Barroso, A. M. (2025). A violação vista por uma função de ligação. alexandrebarroso.com. https://alexandrebarroso.com/notes/a-violacao-por-uma-ligacao.html

@misc{barroso2025aviolacaoporumaligacao,
  author       = {Alexandre Menezes Barroso},
  title        = {A violação vista por uma função de ligação},
  year         = {2025},
  howpublished = {alexandrebarroso.com},
  url          = {https://alexandrebarroso.com/notes/a-violacao-por-uma-ligacao.html},
  note         = {alexandrebarroso.com}
}