Processamento Baseado em Regras:

Gramáticas Formais

Marcelo Finger
Alan Barzilay

Linguagem

  • Linguagem é um fenômeno humano

  • Difere em natureza dos fenômenos naturais

    • estudados pela Física, Química e Biologia.

  • Ciências Humanas, em geral, não possuem tratamento matemático

  • Ou melhor, não possuíam até bem recentemente

Modelagem Matemática da Linguagem

  • Modelos não-numéricos ou quantitativos

    • Morfologia e Sintaxe: Linguagens Formais e Autômatos

    • Sintaxe: Gramáticas Formais e Lógica Categórica

    • Semântica: Lógica Categórica

       

  • Grande complexidade computacional

  • Muita matemática precisou ser "inventada" para o desenvolvimento da Linguística.

Gramáticas e Estrutura Frasal

Estrutura da Frase

  • A palavra é unidade básica na análise da frase.

  • A cada palavra é atribuída uma categoria morfo-sintática (classe gramatical)

  • Exemplos:

Categoria Conhecida como Abreviação
Determinante Artigo D
Nome Substantivo N
Verbo Transitivo -- VT

Representação usual:

 

 


 Por exemplo, temos o seguinte léxico:

\langle Categoria \rangle \longrightarrow \langle Palavra \rangle
\begin{array}{l} D \longrightarrow o\\ D \longrightarrow a\\ N \longrightarrow vilão\\ N \longrightarrow mocinha\\ VT \longrightarrow beijou \end{array}

Sintagmas

  • Palavras se combinam para formar novos componentes: sintagmas
\begin{array}{lc} Sintagma\ Nominal & SN\\ Sintagma\ Verbal & SV\\ Sintagma\ Prepositivo & SP\\ Sintagma\ Adjetival & SA\\ Sintagma\ Adverbial & SAdv\\ Sentença & S \end{array}
  • Nota: sintagma em inglês é phrase 
  • Sintagmas são categorias sintáticas                                 

Regras Gramaticais

Categorias se combinam para gerar novas categorias.

C \longrightarrow C_1, \ldots, C_n

Exemplos: 

\begin{array}{ll} S &\longrightarrow SN\ SV\\ S &\longrightarrow VI\\ SN &\longrightarrow D\ N\\ SV &\longrightarrow VT\ SN \end{array}

Gramáticas Livre de Contexto

Regras gramaticais + Léxico

Árvore (de derivação) sintática

\begin{array}{ll} S &\longrightarrow SN\ SV\\ SN &\longrightarrow D\ N\\ SV &\longrightarrow VT\ SN \end{array}
\begin{array}{l} D \longrightarrow o\\ D \longrightarrow a\\ N \longrightarrow vilão\\ N \longrightarrow mocinha\\ VT \longrightarrow beijou \end{array}

S

            SN                               SV

                                    VT                SN

    D             N                          D              N

                                             

    O         vilão       beijou      a       mocinha

\begin{array}{ll} Comando &\longrightarrow Var~ \textcolor{blue}{:=}~ Expressão\\ Comando &\longrightarrow \textcolor{blue}{If}~ Cond~ Comando~ \textcolor{blue}{Else} ~Comando\\ Comando &\longrightarrow \textcolor{blue}{While}~ Cond~ Comando\\ Comando &\longrightarrow Bloco\\ \\ Bloco &\longrightarrow \textcolor{blue}{Begin}~ SeqComandos~ \textcolor{blue}{End}\\ \\ SeqComandos &\longrightarrow Comando\\ SeqComandos &\longrightarrow Comando~ \textcolor{blue}{;}~ SeqComandos\\ \vdots \end{array}

Gramática livre de contexto de uma linguagem Pascal-like

Geração vs Reconhecimento

 

Perguntas duais:

  • Geração: Dada uma gramática G e uma sentença s, s é gerada por esta gramática?
  • Reconhecimento: Um programa que responde à pergunta acima é um reconhecedor para G

  A saída de um reconhecedor é:

  • NÃO, se G não gera s
  • SIM e uma árvore sintática associada a s, se G gera s

Ambiguidade sintática: mais de uma árvore associada

Gramática Ambígua

Dada a sentença:

Eu vi o menino com o telescópio

e a gramática:

\begin{array}{ll} S &\longrightarrow SN~ SV\\ SN &\longrightarrow Det~ N\\ SN &\longrightarrow PRO \\ SN &\longrightarrow SN~ SP \\ SV &\longrightarrow VT~ SN\\ SV &\longrightarrow SV~ SP\\ SP &\longrightarrow P~ SN \end{array}
\begin{array}{ll} PRO &\longrightarrow eu\\ VT &\longrightarrow vi\\ Det &\longrightarrow o\\ P &\longrightarrow com\\ N &\longrightarrow telescópio\\ N &\longrightarrow menino \end{array}

Sentido 1:  Anexação do SP ao SN

eu      vi      o       menino      com      o        telescópio

D               N

D            N              P                 SN

SN                            SP

PRO   VT                            SN

SN                    SV

S

Sentido: o menino estava carregando o telescópio

SN                            SP

Sentido 2:  Anexação do SP ao SV

eu      vi      o       menino      com      o        telescópio

D            N                         D               N

VT             SN                    P                 SN

PRO  

SN                                  SV

S

Sentido: eu usei o telescópio para ver o menino

SV                                    SP

Hierarquia de Chomsky

Gramática Tipo Complexidade
Genéricas 0 Não computável
Sensíveis a Contexto 1 Intratável
Livre de Contexto 2 Tratável
(Linguagens) Regulares 3 Eficiente

Introduction to Formal Languages, G. E. Révész, 1983.  Dover Publications (1991)

Imagem de um botão estilizado de volta para pagina inicial