Gramática, reconhecimento e análise gramatical. Luiz Arthur Pagani

Documentos relacionados
Diagramas em árvore. Luiz Arthur Pagani (UFPR)

Autômatos e Linguagens

Gramáticas ( [HMU00], Cap. 5.1)

Aula 6 GERATIVISMO. MARTELOTTA, Mário Eduardo. Manual de Linguística. São Paulo: Contexto, 2012, p

LFA Aula 09. Gramáticas e Linguagens Livres de Contexto 18/01/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.

Linguagens Formais e Autômatos (LFA)

Análise Sintática. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 18

Gramáticas Livres de Contexto Parte 1

Tokens, Padroes e Lexemas

Análise Sintática II. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 34

Análise Léxica II. Eduardo Ferreira dos Santos. Setembro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 30

Ferramenta de apoio a identificação de eventos utilizando Linguagem Natural. Aluno: Ricardo Tomelin Orientador: Everaldo Artur Grahl

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Construção de Compiladores Aula 16 - Análise Sintática

Linguagens Formais e Autômatos P. Blauth Menezes

Compiladores Analisador Sintático. Prof. Antonio Felicio Netto Ciência da Computação

LINGUAGENS FORMAIS Definições. Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam

Conceitos de Linguagens de Programação

Análise Sintática. Compiladores Cristina C. Vieira. Compiladores 2012/2013

Compiladores - Gramáticas

01/10/2010 SINTAXE PARTE 3. SCC5869 Tópicos em Processamento de Língua Natural. Thiago A. S. Pardo ATRIBUTOS E UNIFICAÇÃO

Funções gramaticais: Complemento e adjunto. Luiz Arthur Pagani (UFPR)

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador

Processamento de Linguagem Natural

Alfabeto, Cadeias, Operações e Linguagens

Análise Sintática de Frases utilizando Gramáticas Livres de Contexto Probabilísticas

Análise sintática. Análise sintática. Top-down ou descendente. Com retrocesso: por tentativa e erro. Preditiva: para gramáticas LL(1) 09/04/2012

Funções gramaticais: Sujeito e predicado. Luiz Arthur Pagani (UFPR)

Definições Exemplos de gramáticas

INE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Apresentação. !! Familiarização com os métodos de construção de compiladores de linguagens e com as técnicas de compilação mais habituais.

Compilação: Erros. Detecção de Erros: * Analisadores Top-Down - Preditivo Tabular (LL) - Feito a mão. * Analisadores Botton-Up: - Shift-Reduce (SLR)

Processamento de Linguagem Natural

Construção de Compiladores

Linguagens Formais e Autômatos. Conceitos Básicos Prof. Anderson Belgamo

Plano da aula. Compiladores. Os erros típicos são sintáticos. Análise Sintática. Usando Gramáticas. Os erros típicos são sintáticos

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 12. Instituto de C

BNF (Backus-Naur Form) Gramática Livres de Contexto / Estruturas Recursivas

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Prof. Adriano Maranhão COMPILADORES

DESDEMONIZANDO O ENSINO DE GRAMÁTICA. Emilio Pagotto - USP

Inteligência Artificial

Linguagens Formais e Autômatos P. Blauth Menezes

MA11 - Unidade 4 Representação Decimal dos Reais Semana 11/04 a 17/04

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 30. Instituto de C

17/09/2010 SINTAXE PARTE 1. SCC5869 Tópicos em Processamento de Língua Natural. Thiago A. S. Pardo SINTAXE E GRAMÁTICAS

Interpretações, cap. 8 de Introdução à Lógica (Mortari 2001) Luiz Arthur Pagani

Linguagens de Programação Aula 3

Linguagens Formais e Autômatos P. Blauth Menezes

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Análise Sintática. Fabiano Baldo

Lógica Proposicional. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Comunicação. Capítulo 22

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores

Compiladores I Prof. Ricardo Santos (cap 1)

Análise Sintática (Cap. 04) Análise Sintática Descendente

Introdução. Compiladores Análise Semântica. Introdução. Introdução. Introdução. Introdução 11/3/2008

CAP. VI ANÁLISE SEMÂNTICA

(2) SN N (SP)/(Adj) {gerando por exemplo: SN = N-livro SP-de chocolate; SN = N-rabo Adj-amarelo]

Compiladores - Análise Ascendente

01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II

Estrutura de constituintes. Luiz Arthur Pagani (UFPR)

Paradigmas de Programação

TÓPICO III: INTRODUÇÃO A UMA ABORDAGEM FORMAL DA GRAMÁTICA 1. Teoria X-barra (ou: dos Constituintes Sintáticos)

Lógica Proposicional (Consequência lógica / Dedução formal)

Gramática. Gramática. Gramática

RONALDO LIMA ROCHA CAMPOS GERADOR DE COMPILADORES

Aula 5 ESTRUTURALISMO

Módulo 01: As distintas abordagens sobre a linguagem: Estruturalismo, Gerativismo, Funcionalismo, Cognitivismo

UNIDADE ACADÊMICA: Faculdade de

TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS

DADOS DO COMPONENTE CURRICULAR

Algoritmos e Estrutura de Dados. Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira

Aula 11 Desenvolvimento da linguagem: emergência da sintaxe (parte 2)

As línguas de sinais, usadas pelas comunidades surdas, são constituídas de elementos próprios

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Transcrição:

Gramática, reconhecimento e análise gramatical Luiz Arthur Pagani 1

1 Introdução estrutura de constituintes: Uma sentença em uma língua natural é composta por estruturas, chamadas de sintagmas ou constituintes sintáticos, sendo que cada constituinte é por sua vez composto por outros constituintes. [1, p. 46; tradução minha] duplamente subjacente (estrutura hierárquica e interpretação): os objetos linguísticos são objetos estruturados. Mas eles não apresentam explicitamente suas estruturas. Qualquer interpretação do signicado de uma sentença depende essencialmente da habilidade de inferir sua estrutura uma hablidade da qual muito provavelmente o falante não tem consciência. [2, p. 5; tradução minha] 2

2 Gramática gramática: Uma gramática é uma descrição declarativa de uma língua. Ou seja, ela apenas estabelece as condições que devem ser satisfeitas para que uma cadeia de palavras seja uma expressão válida de uma língua. [3, p. 125; tradução minha] exemplo de regras gramaticais: Sintagmáticas Lexicais 1. S 5. {o, a, um, uma,..., os, as,... } 2. 6. {menino,..., bola,... } 3. V int 7. V int {correu,... } 4. V td 8. V td {chutou,... } 3

gramática independente (livre) de contexto (GIC) (context-free grammar): uma GIC é uma quádrupla (C, T, R, Σ) tal que C é o conjunto de símbolos não-terminais. Estes símbolos são usados para representar os constituintes sintáticos. T é o conjunto de símbolos terminais. o nosso caso, este conjunto vai corresponder ao conjunto de palavras da língua. R é o conjunto de regras. Cada regra tem a forma α β, tal que α é membro de C e β é uma lista nita ordenada de elementos tanto de C quanto de T : (α C, β C T ). As regras permitem a denição das estruturas em termos das subestruturas pelas quais elas são compostas. Σ é um elemento particular chamado de `símbolo inicial' ou axioma. É o símbolo que corresponde ao constituinte sintático de nível mais elevado: no nosso caso, será o símbolos S (para as sentenças). [1, p. 48; tradução minha] 4

Σ C (raiz da árvore; símbolo do qual deriva toda a árvore que representa a estrutura da sentença) de volta ao exemplo: C = {S,,,,, V int, V td } T = {o, a, um, uma,..., os, as,..., menino,..., bola,..., correu,..., chutou,... } R = Σ = S S, {o, a, um, uma,..., os, as,...},, {menino,..., bola,...}, V int, V int {correu,...}, V td, V td {chutou,...}, 5

3 Reconhecedor gramatical reconhecimento: A identicação de uma cadeia de palavras sintaticamente bem-formada é um processo conhecido como reconhecimento. [3, p. 125; tradução minha] identicação de gramatical ou agramatical exemplo: o menino correu * o menina correu uma menina chutou outra bola * uma outra bola menina chutou 6

reconhecimento de uma menina chutou outra bola: Id. Operação Justicação 1. S estado inicial 2. 1 e regra 1 3. 2 e regra 2 4. uma 3 e regra 5 5. uma menina 4 e regra 6 6. uma menina V td 5 e regra 4 7. uma menina chutou 6 e regra 8 8. uma menina chutou 7 e regra 2 9. uma menina chutou outra 8 e regra 5 10. uma menina chutou outra bola 9 e regra 6 11. estado nal 7

4 Analisador gramatical em inglês, parser instrumento para inferir estrutura: Um instrumento computacional que infere a estrutura a partir de uma cadeia gramatical de palavras é conhecido como analisador gramatical, e a maior parte da história do PL nos últimos 20 anos foi ocupado pelo desenvolvimento de analisadores gramaticais. [2, p. 5; tradução minha] 8

gramática analisador: Conceitualmente, o analisador e a gramática são coisas de tipos bem diferentes: uma gramática é apenas uma denição abstrata de um conjunto de objetos estruturados bem-formados, enquanto o analisador é um algoritmo ou seja, um conjunto preciso de instruções para se chegar a estes objetos. [2, p. 5; tradução minha] funcionamento: Modernamente, um analisador é concebido como um instrumento que toma uma gramática e uma cadeia de palavras e ou oferece uma estrutura gramatical imposta à cadeia de palavras, se a cadeia de palavras for gramatical em relação à gramática, ou não responde nada, se não for gramatical. [2, p. 5; minha tradução] 9

declarativo/procedimental: A análise e o reconhecimento, por outro lado, são processos que, a partir da descrição gramatical da língua, determina se uma determinada cadeia é uma expressão válida e, se for, qual é sua respectiva estrutura. É conceitualmente importante manter a distinção declarativo/procedimental entre gramáticas e reconhecedores/analisadores bem clara. [3, p. 125; tradução minha] ou seja, o analisador é um reconhecedor gramatical que, além de identicar a gramaticalidade (ou não), também infere a estrutura da expressão (quando for gramatical) 10

exemplos: * o menina correu * uma outra bola menina chutou S S o menino V int correu uma menina V td chutou outra bola 11

análise de o menino correu: Id. Operação Justicação 1. S estado incial 2. S 1 e regra 1 3. S 2 e regra 2 4. S 3 e regra 5 o 12

5. S 4 e regra 6 o menino 6. S 5 e regra 3 o menino V int 13

7. S 6 e regra 7 o menino V int correu 14

Referências [1] Annie Gal, Guy Lapalme, Patrick Saint-Dizier, and Harold Somers. Prolog for atural Language Processing. John Wiley & Sons, Chichester, 1991. [2] Gerald Gazdar and Chris Mellish. atural Language Processing in Prolog. Addison-Wesley, Wokingham, 1989. [3] Clive Matthews. An Introduction to atural Language Processing through Prolog. Longman, London, 1998. 15