0.5 – Processamento de Linguagem Natural – Simbolico
0.5.1 – Gramaticas Formais
0.5.1.1 – Gramatica Livre de Contexto
0.5.1.2 – Gramatica de Clauses Definidas – DCG
a espinha dorsal da análise sintática
Gramáticas livres de contexto (GLC) são a ferramenta mais utilizada para descrever a sintaxe das linguagens naturais. Elas consistem em um conjunto de regras de produção que definem como formar frases válidas. Cada regra substitui um símbolo não-terminal por uma sequência de símbolos terminais e não-terminais. Por exemplo, uma regra fundamental: S → NP VP (frase se transforma em sintagma nominal + sintagma verbal). Outra regra: NP → Det N (sintagma nominal se transforma em artigo + substantivo). Essas regras geram árvores sintáticas que revelam a estrutura hierárquica das frases. A simplicidade das GLC permite análise eficiente por algoritmos como CYK e Earley.
componentes de uma gramática livre de contexto
Uma GLC possui quatro componentes essenciais que definem seu comportamento e expressividade. O conjunto de terminais representa as palavras ou categorias lexicais da linguagem (artigos, substantivos, verbos). O conjunto de não-terminais representa categorias sintáticas como frase, sintagma nominal e sintagma verbal. O símbolo inicial é o ponto de partida para todas as derivações (geralmente S para frase). As regras de produção definem as transformações permitidas entre não-terminais e terminais. Por exemplo, VP → V NP (verbo seguido de sintagma nominal como objeto). Cada regra pode ter múltiplas alternativas representadas por diferentes produções para o mesmo não-terminal. Essa estrutura permite gerar frases de complexidade variada.
exemplo prático de derivação
Considere a frase “O gato dorme” e sua derivação por uma gramática livre de contexto simples. Começamos com o símbolo inicial S e aplicamos regras sequencialmente até obter apenas terminais. S → NP VP (aplicamos regra que expande frase em sujeito e predicado). NP → Det N (expandimos sintagma nominal em artigo e substantivo). Det → “o” (artigo definido se torna a palavra “o”). N → “gato” (substantivo se torna a palavra “gato”). VP → V (predicado se expande apenas em verbo). V → “dorme” (verbo se torna a palavra “dorme”). A sequência completa gera a frase “o gato dorme” com sua estrutura hierárquica revelada.
ambiguidade estrutural
Um dos principais desafios das gramáticas livres de contexto é a ambiguidade estrutural. Uma mesma frase pode ter múltiplas árvores sintáticas diferentes com significados distintos. Por exemplo, “Vi o homem com o telescópio” tem duas interpretações válidas. Em uma árvore, “com o telescópio” modifica o verbo (eu usei o telescópio para ver). Em outra árvore, “com o telescópio” modifica o homem (o homem possuía o telescópio). Gramáticas livres de contexto geram ambas as análises, exigindo mecanismos adicionais para desambiguação. Esse fenômeno demonstra que GLC capturam a estrutura superficial, mas não o significado. Estratégias como análise probabilística ajudam a escolher a interpretação mais provável.
aplicações e limitações práticas
Gramáticas livres de contexto são amplamente utilizadas em compiladores e processamento de linguagens formais. Para linguagens naturais, elas servem como base para analisadores sintáticos em sistemas de PLN. Ferramentas como NLTK e Stanford Parser utilizam GLC como fundamento para análise sintática. Contudo, GLC enfrentam limitações com fenômenos como concordância e dependências de longa distância. Por exemplo, a concordância entre sujeito e verbo em número (singular/plural) não é facilmente capturada. Gramáticas de unificação e abordagens baseadas em traços ampliam o poder descritivo para superar essas limitações. Para iniciantes, GLC oferecem uma introdução clara e poderosa à estrutura da linguagem. Elas revelam como frases são construídas a partir de partes menores combinadas hierarquicamente.