• Nenhum resultado encontrado

Processamento de Linguagem Natural

N/A
N/A
Protected

Academic year: 2021

Share "Processamento de Linguagem Natural"

Copied!
22
0
0

Texto

(1)

Processamento de

Linguagem Natural

Prof. Dr. Silvio do Lago Pereira

Departamento de Tecnologia da Informação

Faculdade de Tecnologia de São Paulo

(2)

Introdução

Processamento de linguagem natural (PLN)

Processamento de linguagem natural (PLN)

consiste no desenvolvimento de modelos computacionais para a realização de tarefas

que dependem de informações expressas em uma língua natural.

consiste no desenvolvimento de modelos computacionais para a realização de tarefas

que dependem de informações expressas em uma língua natural.

Alguns exemplos de aplicação:

tradução e interpretação de textos

busca de informações em documentos

interface homem-máquina (chatterbots)

Aspectos da pesquisa em PLN:

som: fonologia

estrutura: morfologia e sintaxe

(3)

Alguns aspectos da pesquisa em PLN

Fonologia: reconhece os sons (fonemas) que formam as palavras de uma língua.

Morfologia: reconhece uma palavra em termos de unidades básicas (morfemas).

Sintaxe: define a estrutura de uma frase com base na forma como as palavras

desta frase se relacionam entre si (categorias gramaticais).

Semântica: associa significado às estruturas sintáticas, em função do significado

das palavras que a compõem.

Pragmática: adequa o significado de uma frase ao contexto em que ela é usada.

Considerações

Considerações

PLN é uma vasta área de pesquisa que envolve diversas áreas do conhecimento.

Para simplificar, abordaremos apenas alguns conceitos básicos de análise sintática.

Mostraremos como usar conceitos básicos de linguagens formais para definir uma

gramática capaz de gerar e reconhecer um conjunto restrito de frases em português.

PLN é uma vasta área de pesquisa que envolve diversas áreas do conhecimento.

Para simplificar, abordaremos apenas alguns conceitos básicos de análise sintática.

Mostraremos como usar conceitos básicos de linguagens formais para definir uma

gramática capaz de gerar e reconhecer um conjunto restrito de frases em português.

(4)

Gramáticas

Uma linguagem é um conjunto de sentenças, formadas pela concatenação de símbolos.

Linguagens formais são linguagens artificiais (tais como lógica proposicional ou Pascal) que

podem ser matematicamente definidas, de forma rigorosa.

Linguagens naturais (tais como português ou inglês) não são matematicamente definidas.

Embora a correspondência não seja perfeita, podemos tratar linguagens naturais como

tratamos linguagens formais.

Uma gramática

Uma gramática

é uma especificação matemática da estrutura das sentenças de uma linguagem.

é uma especificação matemática da estrutura das sentenças de uma linguagem.

Formalmente, uma gramática é definida por:

S: o símbolo inicial da gramática (S∈N)

T: um conjunto de símbolos terminais, denotando palavras da linguagem (léxico).

N: um conjunto de símbolos não-terminais, denotando componentes de sentenças.

R: um conjunto de regras de produção, que especificam como símbolos não-terminais

podem ser expandidos em símbolos não-terminais e terminais.

(5)

Especificação de gramática usando diferença de listas

Considere a gramática a seguir:

S = {

frase

}

T = {

o

,

gato

,

rato

,

caçou

}

N = {

frase

,

sujeito

,

predicado

,

artigo

,

substantivo

,

verbo

}

R = {

frase --> sujeito, predicado

,

sujeito --> artigo, substantivo

,

predicado --> verbo, artigo, substantivo, artigo --> [o],

substantivo --> [gato] | [rato], verbo --> [caçou]

}

De acordo com esta gramática:

uma frase é um sujeito seguido de um predicado

um sujeito é um artigo seguido de um substantivo

um predicado é um verbo, seguido de um artigo, seguido de um substantivo

um artigo é o símbolo terminal

oooo

um substantivo é o símbolo terminal

gatogatogatogato

ou

ratoratoratorato •

um verbo é o símbolo terminal

cacacacaççççouououou

(6)

Especificação de gramática usando diferença de listas

Considere que frases são representadas por listas de palavras. Então, por

exemplo, a frase “o gato caçou o rato” pode ser representada como

[ [[

[oooo,,,,gatogatogatogato,,,,cacacacaççouççououou,,,,oooo,,,,ratoratoratorato]]]]

Reconhecendo o primeiro artigo em

[o,gato,caçou,o,rato]

, obtemos a lista

[gato,caçou,o,rato]

. Isto pode ser indicado em Prolog com o fato:

artigo([ artigo([artigo([

artigo([oooo|A|A],A).|A|A],A).],A).],A).

Analogamente, reconhecendo o primeiro substantivo em

[gato,caçou,o,rato]

,

obtemos a lista

[caçou,o,rato]

. Isto pode ser indicado com o fato:

substantivo([ substantivo([substantivo([

substantivo([gatogatogatogato|A|A|A|A],A).],A).],A).],A).

Neste ponto, é importante notar que, reconhecendo um artigo seguido de um

substantivo, acabamos reconhecendo o sujeito da frase. Em Prolog, isto pode ser

indicado pela regra:

sujeito(A,C) : sujeito(A,C) :sujeito(A,C) :

(7)

Especificação de gramática usando diferença de listas

Após o reconhecimento do sujeito em

[o,gato,caçou,o,rato]

, obtemos a lista

[caçou,o,rato]

. Reconhecendo o verbo nesta lista, obtemos a lista

[o,rato]

.

Isto pode ser indicado com o fato:

verbo([ verbo([ verbo([

verbo([cacacacaçççouçououou|A|A|A|A],A).],A).],A).],A).

O artigo em

[o,rato]

pode ser reconhecido pelo fato já declarado anteriormente

e, para reconhecer este novo substantivo, podemos usar o fato:

substantivo([ substantivo([substantivo([

substantivo([ratoratoratorato|A|A|A|A],A).],A).],A).],A).

Aqui também podemos notar que, para reconhecer o predicado da frase, é

necessário reconhecer um verbo, seguido de um artigo e um substantivo. Isto pode

ser indicado pela regra:

predicado(A,D) : predicado(A,D) : predicado(A,D) :

predicado(A,D) :--- verbo(A,B), artigo(B,C), substantivo(C,D).- verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).

Finalmente, para reconhecer uma frase, podemos usar a regra:

frase(A,C) : frase(A,C) :frase(A,C) :

(8)

Reconhecimento de frases

Exemplo 1. Especificação completa da gramática

Exemplo 1. Especificação completa da gramática

frase frase frase

frase(A,C) :(A,C) :(A,C) :(A,C) :---- sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C). sujeito

sujeito sujeito

sujeito(A,C) :(A,C) :(A,C) :(A,C) :---- artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C). predicado

predicado predicado

predicado(A,D) :(A,D) :(A,D) :(A,D) :---- verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D). artigo

artigo artigo

artigo([([([o([oo|Ao|A|A|A],A).],A).],A).],A). substantivo

substantivo substantivo

substantivo([([([gato([gatogato|Agato|A|A|A],A).],A).],A).],A). substantivo

substantivo substantivo

substantivo([([([rato([ratorato|Arato|A|A|A],A).],A).],A).],A). verbo

verbo verbo

verbo([([([([cacacacaççouççououou|A|A|A|A],A).],A).],A).],A). frase

frase frase

frase(A,C) :(A,C) :(A,C) :(A,C) :---- sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).

sujeito sujeito sujeito

sujeito(A,C) :(A,C) :(A,C) :(A,C) :---- artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).

predicado predicado predicado

predicado(A,D) :(A,D) :(A,D) :(A,D) :---- verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).

artigo artigo artigo

artigo([([([([oooo|A|A|A|A],A).],A).],A).],A).

substantivo substantivo substantivo

substantivo([([([([gatogatogatogato|A|A|A|A],A).],A).],A).],A).

substantivo substantivo substantivo

substantivo([([([([ratoratoratorato|A|A|A|A],A).],A).],A).],A).

verbo verbo verbo

verbo([([([([cacacacaççouççououou|A|A|A|A],A).],A).],A).],A).

Exercício 1. Uso da gramática para reconhecimento de frases

Exercício 1.

Uso da gramática para reconhecimento de frases

Digite a gramática do Exemplo 1 e faça as consultas a seguir:

?- artigo([o,gato,caçou,o,rato],R). ?- sujeito([o,gato,caçou,o,rato],R). ?- frase([o,gato,caçou,o,rato],[]). ?- frase([o,gato,rato,o,caçou],[]). ?- frase([o,rato,caçou,o,gato],[]). ?- frase([gato,caçou,rato],[]).

Digite a gramática do Exemplo 1 e faça as consultas a seguir:

?- artigo([o,gato,caçou,o,rato],R). ?- sujeito([o,gato,caçou,o,rato],R). ?- frase([o,gato,caçou,o,rato],[]). ?- frase([o,gato,rato,o,caçou],[]). ?- frase([o,rato,caçou,o,gato],[]). ?- frase([gato,caçou,rato],[]).

(9)

Reconhecimento de frases

? ??

?---- frase(frase(frase(frase([o,gato,ca[o,gato,ca[o,gato,ca[o,gato,caççou,o,rato]ççou,o,rato]ou,o,rato],[])ou,o,rato],[]),[]),[])....

/* 1 */ /* 1 */ /* 1 */

/* 1 */ frasefrasefrasefrase(A,C) :(A,C) :(A,C) :(A,C) :---- sujeito(A,B), predicado(B,C). sujeito(A,B), predicado(B,C). sujeito(A,B), predicado(B,C). sujeito(A,B), predicado(B,C).

/* 2 */ /* 2 */ /* 2 */

/* 2 */ sujeitosujeitosujeitosujeito(A,C) :(A,C) :(A,C) :(A,C) :--- artigo(A,B), substantivo(B,C).- artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).

/* 3 */ /* 3 */ /* 3 */

/* 3 */ predicadopredicadopredicadopredicado(A,D) :(A,D) :(A,D) :-(A,D) :--- verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).

/* 4 */ /* 4 */ /* 4 */

/* 4 */ artigoartigoartigo([artigo([([o([o|Aoo|A|A],A).|A],A).],A).],A).

/* 5 */ /* 5 */ /* 5 */

/* 5 */ substantivosubstantivosubstantivo([substantivo([([([gatogato|Agatogato|A|A|A],A).],A).],A).],A).

/* 6 */ /* 6 */ /* 6 */

/* 6 */ substantivosubstantivosubstantivo([substantivo([([([ratorato|Aratorato|A|A|A],A).],A).],A).],A).

/* 7 */ /* 7 */ /* 7 */

/* 7 */ verboverboverbo([verbo([([([cacacacaççouççouou|Aou|A|A|A],A).],A).],A).],A).

/* 1 */ /* 1 */ /* 1 */

/* 1 */ frasefrasefrasefrase(A,C) :(A,C) :(A,C) :(A,C) :---- sujeito(A,B), predicado(B,C). sujeito(A,B), predicado(B,C). sujeito(A,B), predicado(B,C). sujeito(A,B), predicado(B,C). /* 2 */

/* 2 */ /* 2 */

/* 2 */ sujeitosujeitosujeitosujeito(A,C) :(A,C) :(A,C) :(A,C) :--- artigo(A,B), substantivo(B,C).- artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C). /* 3 */

/* 3 */ /* 3 */

/* 3 */ predicadopredicadopredicadopredicado(A,D) :(A,D) :-(A,D) :(A,D) :--- verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D). /* 4 */

/* 4 */ /* 4 */

/* 4 */ artigoartigoartigoartigo([([([([oooo|A|A],A).|A|A],A).],A).],A). /* 5 */

/* 5 */ /* 5 */

/* 5 */ substantivosubstantivosubstantivosubstantivo([([([([gatogatogatogato|A|A|A|A],A).],A).],A).],A). /* 6 */

/* 6 */ /* 6 */

/* 6 */ substantivosubstantivosubstantivosubstantivo([([([([ratoratoratorato|A|A|A|A],A).],A).],A).],A). /* 7 */

/* 7 */ /* 7 */

/* 7 */ verboverboverboverbo([([([([cacacacaççouççououou|A|A|A|A],A).],A).],A).],A).

? ? ?

?---- sujeito(sujeito([o,gato,casujeito(sujeito([o,gato,ca[o,gato,ca[o,gato,caççou,o,rato]ççou,o,rato]ou,o,rato]ou,o,rato],B,B,B,B1111)))), predicado(B, predicado(B, predicado(B, predicado(B1111,[]).,[]).,[]).,[]).

? ??

?---- artigo(artigo(artigo(artigo([o,gato,ca[o,gato,ca[o,gato,ca[o,gato,caççççou,o,rato]ou,o,rato],Bou,o,rato]ou,o,rato],B,B,B2222)))), substantivo(B, substantivo(B, substantivo(B, substantivo(B2222,B,B,B,B1111), predicado(B), predicado(B), predicado(B), predicado(B1111,[]).,[]).,[]).,[]).

? ??

?---- substantivo(substantivo(substantivo(substantivo([gato,ca[gato,caç[gato,ca[gato,caççou,o,rato]çou,o,rato]ou,o,rato]ou,o,rato],B,B,B,B1111)))), predicado(B, predicado(B, predicado(B, predicado(B1111,[]).,[]).,[]).,[]).

? ? ?

?---- predicado(predicado([capredicado(predicado([ca[ca[caççou,o,rato]ççou,o,rato]ou,o,rato]ou,o,rato],[]),[]),[]),[])....

? ??

?---- verbo(verbo(verbo(verbo([ca[ca[ca[caçççou,o,rato]çou,o,rato],Bou,o,rato]ou,o,rato],B,B,B3333)))), artigo(B, artigo(B, artigo(B, artigo(B3333,C,C,C,C3333), substantivo(C), substantivo(C), substantivo(C), substantivo(C3333,[]).,[]).,[]).,[]).

? ??

?---- artigo(artigo(artigo(artigo([o,rato][o,rato][o,rato][o,rato],C,C,C,C3333)))), substantivo(C, substantivo(C, substantivo(C, substantivo(C3333,[]).,[]).,[]).,[]).

? ??

(10)

Reconhecimento de frases

? ??

?---- frase(frase(frase(frase([o,gato,rato,o,ca[o,gato,rato,o,ca[o,gato,rato,o,ca[o,gato,rato,o,caççou]ççou]ou]ou],[]),[]),[]),[])....

/* 1 */ /* 1 */ /* 1 */

/* 1 */ frasefrasefrasefrase(A,C) :(A,C) :(A,C) :(A,C) :---- sujeito(A,B), predicado(B,C). sujeito(A,B), predicado(B,C). sujeito(A,B), predicado(B,C). sujeito(A,B), predicado(B,C).

/* 2 */ /* 2 */ /* 2 */

/* 2 */ sujeitosujeitosujeitosujeito(A,C) :(A,C) :(A,C) :(A,C) :--- artigo(A,B), substantivo(B,C).- artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).

/* 3 */ /* 3 */ /* 3 */

/* 3 */ predicadopredicadopredicadopredicado(A,D) :(A,D) :(A,D) :-(A,D) :--- verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).

/* 4 */ /* 4 */ /* 4 */

/* 4 */ artigoartigoartigo([artigo([([o([o|Aoo|A|A],A).|A],A).],A).],A).

/* 5 */ /* 5 */ /* 5 */

/* 5 */ substantivosubstantivosubstantivo([substantivo([([([gatogato|Agatogato|A|A|A],A).],A).],A).],A).

/* 6 */ /* 6 */ /* 6 */

/* 6 */ substantivosubstantivosubstantivo([substantivo([([([ratorato|Aratorato|A|A|A],A).],A).],A).],A).

/* 7 */ /* 7 */ /* 7 */

/* 7 */ verboverboverbo([verbo([([([cacacacaççouççouou|Aou|A|A|A],A).],A).],A).],A).

/* 1 */ /* 1 */ /* 1 */

/* 1 */ frasefrasefrasefrase(A,C) :(A,C) :(A,C) :(A,C) :---- sujeito(A,B), predicado(B,C). sujeito(A,B), predicado(B,C). sujeito(A,B), predicado(B,C). sujeito(A,B), predicado(B,C). /* 2 */

/* 2 */ /* 2 */

/* 2 */ sujeitosujeitosujeitosujeito(A,C) :(A,C) :(A,C) :(A,C) :--- artigo(A,B), substantivo(B,C).- artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C). /* 3 */

/* 3 */ /* 3 */

/* 3 */ predicadopredicadopredicadopredicado(A,D) :(A,D) :-(A,D) :(A,D) :--- verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D). /* 4 */

/* 4 */ /* 4 */

/* 4 */ artigoartigoartigoartigo([([([([oooo|A|A],A).|A|A],A).],A).],A). /* 5 */

/* 5 */ /* 5 */

/* 5 */ substantivosubstantivosubstantivosubstantivo([([([([gatogatogatogato|A|A|A|A],A).],A).],A).],A). /* 6 */

/* 6 */ /* 6 */

/* 6 */ substantivosubstantivosubstantivosubstantivo([([([([ratoratoratorato|A|A|A|A],A).],A).],A).],A). /* 7 */

/* 7 */ /* 7 */

/* 7 */ verboverboverboverbo([([([([cacacacaççouççououou|A|A|A|A],A).],A).],A).],A).

? ??

?---- sujeito(sujeito(sujeito(sujeito([o,gato,rato,o,ca[o,gato,rato,o,caç[o,gato,rato,o,ca[o,gato,rato,o,caççou]çou]ou]ou],B,B,B,B1111)))), predicado(B, predicado(B, predicado(B, predicado(B1111,[]).,[]).,[]).,[]).

? ? ?

?---- artigo(artigo([o,gato,rato,o,caartigo(artigo([o,gato,rato,o,ca[o,gato,rato,o,ca[o,gato,rato,o,caççççou]ou],Bou]ou],B,B,B2222)))), substantivo(B, substantivo(B, substantivo(B, substantivo(B2222,B,B,B,B1111), predicado(B), predicado(B), predicado(B), predicado(B1111,[]).,[]).,[]).,[]).

? ? ?

?---- substantivo(substantivo([gato,rato,o,casubstantivo(substantivo([gato,rato,o,caç[gato,rato,o,ca[gato,rato,o,caççou]çou]ou]ou],B,B,B,B1111)))), predicado(B, predicado(B, predicado(B, predicado(B1111,[]).,[]).,[]).,[]).

? ? ?

?---- predicado(predicado([rato,o,capredicado(predicado([rato,o,ca[rato,o,ca[rato,o,caççou]ççou]ou],[])ou],[]),[]),[])....

? ? ?

?---- verbo(verbo([rato,o,caverbo(verbo([rato,o,ca[rato,o,caç[rato,o,caççou]çou],Bou]ou],B,B,B3333)))), artigo(B, artigo(B, artigo(B, artigo(B3333,C,C,C,C3333), substantivo(C), substantivo(C), substantivo(C), substantivo(C3333,[]).,[]).,[]).,[]).

(11)

Geração de frases

Exemplo 1. A gramática completa

Exemplo 1. A gramática completa

frase frase frase

frase(A,C) :(A,C) :(A,C) :(A,C) :---- sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C). sujeito

sujeito sujeito

sujeito(A,C) :(A,C) :(A,C) :(A,C) :---- artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C). predicado

predicado predicado

predicado(A,D) :(A,D) :(A,D) :(A,D) :---- verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D). artigo

artigo artigo

artigo([([([o([oo|Ao|A|A|A],A).],A).],A).],A). substantivo

substantivo substantivo

substantivo([([([gato([gatogato|Agato|A|A|A],A).],A).],A).],A). substantivo

substantivo substantivo

substantivo([([([rato([ratorato|Arato|A|A|A],A).],A).],A).],A). verbo

verbo verbo

verbo([([([([cacacacaççouççououou|A|A|A|A],A).],A).],A).],A). frase

frase frase

frase(A,C) :(A,C) :(A,C) :(A,C) :---- sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).

sujeito sujeito sujeito

sujeito(A,C) :(A,C) :(A,C) :(A,C) :---- artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).

predicado predicado predicado

predicado(A,D) :(A,D) :(A,D) :(A,D) :---- verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).

artigo artigo artigo

artigo([([([([oooo|A|A|A|A],A).],A).],A).],A).

substantivo substantivo substantivo

substantivo([([([([gatogatogatogato|A|A|A|A],A).],A).],A).],A).

substantivo substantivo substantivo

substantivo([([([([ratoratoratorato|A|A|A|A],A).],A).],A).],A).

verbo verbo verbo

verbo([([([([cacacacaççouççououou|A|A|A|A],A).],A).],A).],A).

Exercício 2. Uso da gramática para geração de frases

Exercício 2.

Uso da gramática para geração de frases

Faça as consultas a seguir, que geram todas as frases da linguagem definida pela

gramática do Exemplo 1:

? ? ?

?---- frase(F,[]).frase(F,[]).frase(F,[]).frase(F,[]). ?

? ?

?--- forall- forallforallforall( ( ( ( frasefrase(F,[]), frasefrase(F,[]), (F,[]), (F,[]), writelnwritelnwritelnwriteln(F) ).(F) ).(F) ).(F) ).

Faça as consultas a seguir, que geram todas as frases da linguagem definida pela

gramática do Exemplo 1:

? ? ?

?---- frase(F,[]).frase(F,[]).frase(F,[]).frase(F,[]). ?

? ?

(12)

Geração de frases

Exemplo 1. A gramática completa

Exemplo 1. A gramática completa

frase frase frase

frase(A,C) :(A,C) :(A,C) :(A,C) :---- sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C). sujeito

sujeito sujeito

sujeito(A,C) :(A,C) :(A,C) :(A,C) :---- artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C). predicado

predicado predicado

predicado(A,D) :(A,D) :(A,D) :(A,D) :---- verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D). artigo

artigo artigo

artigo([([([o([oo|Ao|A|A|A],A).],A).],A).],A). substantivo

substantivo substantivo

substantivo([([([gato([gatogato|Agato|A|A|A],A).],A).],A).],A). substantivo

substantivo substantivo

substantivo([([([rato([ratorato|Arato|A|A|A],A).],A).],A).],A). verbo

verbo verbo

verbo([([([([cacacacaççouççououou|A|A|A|A],A).],A).],A).],A). frase

frase frase

frase(A,C) :(A,C) :(A,C) :(A,C) :---- sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).sujeito(A,B), predicado(B,C).

sujeito sujeito sujeito

sujeito(A,C) :(A,C) :(A,C) :(A,C) :---- artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).artigo(A,B), substantivo(B,C).

predicado predicado predicado

predicado(A,D) :(A,D) :(A,D) :(A,D) :---- verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).verbo(A,B), artigo(B,C), substantivo(C,D).

artigo artigo artigo

artigo([([([([oooo|A|A|A|A],A).],A).],A).],A).

substantivo substantivo substantivo

substantivo([([([([gatogatogatogato|A|A|A|A],A).],A).],A).],A).

substantivo substantivo substantivo

substantivo([([([([ratoratoratorato|A|A|A|A],A).],A).],A).],A).

verbo verbo verbo

verbo([([([([cacacacaççouççououou|A|A|A|A],A).],A).],A).],A).

Exercício 3. Ampliação do léxico da gramática

Exercício 3.

Ampliação do léxico da gramática

Altere a definição da gramática do Exemplo 1, adicionando o artigo

um

um

um

um

e o verbo

assustou

assustou

assustou

assustou

. Em seguida, faça as consultas a seguir:

?

? ?

?---- frase(F,[]).frase(F,[]).frase(F,[]).frase(F,[]). ?

? ?

?--- forall- forallforallforall( ( ( ( frasefrase(F,[]), frasefrase(F,[]), (F,[]), (F,[]), writelnwritelnwritelnwriteln(F) ).(F) ).(F) ).(F) ).

Altere a definição da gramática do Exemplo 1, adicionando o artigo

um

um

um

um

e o verbo

assustou

assustou

assustou

assustou

. Em seguida, faça as consultas a seguir:

? ? ?

?---- frase(F,[]).frase(F,[]).frase(F,[]).frase(F,[]). ?

? ?

(13)

Notação DCG (Definite Clause Grammar)

Exemplo 2. Uma gramática em notação DCG

Exemplo 2. Uma gramática em notação DCG

frase frase frase

frase --->-->> sujeito, predicado.> sujeito, predicado.sujeito, predicado.sujeito, predicado. sujeito

sujeito sujeito

sujeito ---> artigo, substantivo.--> artigo, substantivo.> artigo, substantivo.> artigo, substantivo. predicado

predicado predicado

predicado ---> verbo, artigo, substantivo.> verbo, artigo, substantivo.> verbo, artigo, substantivo.> verbo, artigo, substantivo. artigo artigo artigo artigo ---> [> [> [> [oooo].].].]. substantivo substantivo substantivo

substantivo ---> [> [> [> [gatogato] | [gatogato] | [] | [] | [ratoratoratorato].].].]. verbo

verbo verbo

verbo ---> [--> [> [ca> [caçcacaççouçououou].].].]. frase

frase frase

frase ---->---->> sujeito, predicado.> sujeito, predicado.sujeito, predicado.sujeito, predicado.

sujeito sujeito sujeito

sujeito ----> artigo, substantivo.----> artigo, substantivo.> artigo, substantivo.> artigo, substantivo.

predicado predicado predicado

predicado ---> verbo, artigo, substantivo.> verbo, artigo, substantivo.> verbo, artigo, substantivo.> verbo, artigo, substantivo.

artigo artigo artigo artigo ---> [> [> [> [oooo].].].]. substantivo substantivo substantivo

substantivo ---> [--> [> [> [gatogatogatogato] | [] | [] | [] | [ratoratoratorato].].].].

verbo verbo verbo

verbo ----> [----> [> [> [caçcacacaççouçououou].].].].

Exercício 4. Análise do resultado da compilação da notação DCG

Exercício 4.

Análise do resultado da compilação da notação DCG

Digite a gramática do Exemplo 2, compile e faça a consulta a seguir:

?

? ?

?---- listing.listing.listing.listing.

Digite a gramática do Exemplo 2, compile e faça a consulta a seguir:

? ? ?

?---- listing.listing.listing.listing.

A linguagem Prolog oferece uma notação, denominada DCG, que facilita a

especificação de gramáticas. Ao ser compilada, uma gramática em notação DCG é

automaticamente transformada em uma gramática usando diferença de listas.

(14)

Categorias gramaticais

Em PLN, é bastante comum o uso de termos técnicos para designar categorias

gramaticais. Alguns destes termos são os seguintes:

s ss

s

: sintagma sentencial (frase)

sn snsn sn

: sintagma nominal

sv svsv sv

: sintagma verbal

det detdet

det

: determinante (artigo)

n nn n

: nome (substantivo)

adj adjadj adj

: adjetivo

v vv v

: verbo

vi vivi vi

: verbo intransitivo

vt vtvt vt

: verbo transitivo

adv advadv adv

: advérbio

A fim de simplificar a notação, usaremos estes termos na especificação das

próximas gramáticas.

(15)

Categorias gramaticais

Exemplo 3. Gramática G1

Exemplo 3. Gramática G1

s s s s ---> sn, sv.--> sn, sv.> sn, sv.> sn, sv. sn sn sn

sn ---> det, n, adj.--> det, n, adj.> det, n, adj.> det, n, adj. sv

sv sv

sv ---> vi, adv.--> vi, adv.> vi, adv.> vi, adv. sv

sv sv

sv ---> vt, adv, sn.--> vt, adv, sn.> vt, adv, sn.> vt, adv, sn. det det det det ---> [--> [> [o> [ooo].].].]. n n n

n ---> [--> [> [gato> [gato] | [gatogato] | [] | [rato] | [ratorato].rato].].]. adj

adj adj

adj ---> [] | [--> [] | [> [] | [gordo> [] | [gordo] | [gordogordo] | [] | [] | [magromagromagromagro].].].]. vi

vi vi

vi ---> [--> [> [ca> [cacacaççouççououou] | [] | [] | [] | [dormiudormiudormiudormiu].].].]. vt

vt vt

vt ---> [--> [> [ca> [caçcacaççouçououou]. ]. ]. ]. adv

adv adv

adv ---> [] | [--> [] | [> [] | [silenciosamente> [] | [silenciosamentesilenciosamentesilenciosamente].].].].

s s s s ---> sn, sv.--> sn, sv.> sn, sv.> sn, sv. sn sn sn

sn ---> det, n, adj.--> det, n, adj.> det, n, adj.> det, n, adj. sv

sv sv

sv ---> vi, adv.--> vi, adv.> vi, adv.> vi, adv. sv

sv sv

sv ---> vt, adv, sn.--> vt, adv, sn.> vt, adv, sn.> vt, adv, sn. det det det det ---> [--> [> [> [oooo].].].]. n n n

n ----> [----> [> [> [gatogatogatogato] | [] | [] | [] | [ratoratoratorato].].].]. adj

adj adj

adj ----> [] | [----> [] | [> [] | [> [] | [gordogordogordogordo] | [] | [] | [] | [magromagromagromagro].].].]. vi

vi vi

vi ----> [----> [> [> [cacacacaçççouçououou] | [] | [] | [] | [dormiudormiudormiudormiu].].].]. vt vt vt vt ----> [----> [> [> [cacaçcacaççouçououou]. ]. ]. ]. adv adv adv

adv ---> [] | [--> [] | [> [] | [> [] | [silenciosamentesilenciosamentesilenciosamentesilenciosamente].].].].

Exercício 5. Teste da gramática G1

Exercício 5.

Teste da gramática G1

Gere e analise todas as frases da linguagem definida pela gramática G1.

(16)

Dependência de contexto

Exemplo 4. Gramática G2

Exemplo 4. Gramática G2

s s s s ---> sn, sv.--> sn, sv.> sn, sv.> sn, sv. sn sn sn

sn ---> det, n.--> det, n.> det, n.> det, n. sv sv sv sv ---> v, sn.--> v, sn.> v, sn.> v, sn. det det det det ---> [--> [> [o> [ooo].].].]. n n n

n ---> [--> [> [gato> [gato] | [gatogato] | [] | [rato] | [ratorato].rato].].]. v

v v

v ---> [--> [> [ca> [caçcacaççouçououou].].].].

s s s s ---> sn, sv.--> sn, sv.> sn, sv.> sn, sv. sn sn sn

sn ---> det, n.--> det, n.> det, n.> det, n. sv sv sv sv ---> v, sn.--> v, sn.> v, sn.> v, sn. det det det det ---> [--> [> [> [oooo].].].]. n n n

n ----> [----> [> [> [gatogatogatogato] | [] | [] | [] | [ratoratoratorato].].].]. v

v v

v ----> [----> [> [> [cacaçcacaççouçououou].].].].

Exercício 6. Ampliação da gramática com gênero feminino

Exercício 6.

Ampliação da gramática com gênero feminino

Amplie a gramática G2, adicionando o artigo a e os substantivos gata e rata. Em

seguida, gere e analise todas as frases definidas pela gramática alterada.

Amplie a gramática G2, adicionando o artigo a e os substantivos gata e rata. Em

seguida, gere e analise todas as frases definidas pela gramática alterada.

A dependência de contexto ocorre quando uma palavra da frase deve concordar com

outras palavras da mesma frase.

A dependência de contexto ocorre quando uma palavra da frase deve concordar com

outras palavras da mesma frase.

(17)

Dependência de contexto

Exemplo 5. Gramática com concordância de gênero G3

Exemplo 5. Gramática com concordância de gênero G3

s s s s ---> sn, sv.> sn, sv.> sn, sv.> sn, sv. sn sn sn

sn ---> det(> det(> det(> det(GG), n(GG), n(), n(), n(GGGG).).).). sv sv sv sv ---> v, sn.> v, sn.> v, sn.> v, sn. det( det( det( det(mmm) m) ) ) ----> [----> [> [> [oooo].].].]. det( det( det( det(fff) f) ) ) ----> [----> [> [> [aaaa].].].]. n( n( n(

n(mmmm) ) ) ) ---> [> [gato> [> [gatogatogato] | [] | [] | [] | [ratoratoratorato].].].]. n(

n( n(

n(ffff) ) ) ) ---> [> [gata> [> [gatagatagata] | [] | [] | [] | [ratarataratarata].].].]. v

v v

v ---> [> [> [> [cacaçcacaçççououou].ou].].].

s s s s ---> sn, sv.> sn, sv.> sn, sv.> sn, sv. sn sn sn

sn ---> det(--> det(> det(> det(GGGG), n(), n(), n(), n(GGGG).).).). sv sv sv sv ---> v, sn.> v, sn.> v, sn.> v, sn. det( det( det( det(mmmm) ) ) ) ----> [----> [> [> [oooo].].].]. det( det( det( det(ffff) ) ) ) ----> [----> [> [> [aaaa].].].]. n( n( n(

n(mmmm) ) ) ) ---> [> [> [> [gatogatogatogato] | [] | [] | [] | [ratoratoratorato].].].]. n(

n( n(

n(ffff) ) ) ) ---> [> [> [> [gatagatagatagata] | [] | [] | [] | [ratarataratarata].].].]. v

v v

v ---> [--> [> [> [cacaçcacaçççouououou].].].].

Exercício 7. Gramática com concordância de gênero

Exercício 7.

Gramática com concordância de gênero

Gere e analise todas as frases definidas pela gramática G3.

Gere e analise todas as frases definidas pela gramática G3.

Exercício 8. Ampliação do léxico

Exercício 8.

Ampliação do léxico

Adicione os artigos indefinidos

um

um

um

um

e

uma

uma

uma

uma

e gere as frases definidas pela gramática.

(18)

Dependência de contexto

Exercício 9. Ampliação da gramática com plural

Exercício 9.

Ampliação da gramática com plural

Amplie a gramática G4, adicionando:

os artigos: os, uns, as, umas

os substantivos: gatos, ratos, gatas, ratas

o verbo: caçaram

Em seguida, gere e analise todas as frases definidas pela nova gramática.

Amplie a gramática G4, adicionando:

os artigos: os, uns, as, umas

os substantivos: gatos, ratos, gatas, ratas

o verbo: caçaram

Em seguida, gere e analise todas as frases definidas pela nova gramática.

Exemplo 6. Gramática G4

Exemplo 6. Gramática G4

s s s s ---> sn, sv.> sn, sv.> sn, sv.> sn, sv. sn sn sn

sn ---> det(> det(> det(> det(GG), n(GG), n(), n(), n(GGGG).).).). sv sv sv sv ---> v, sn.> v, sn.> v, sn.> v, sn. det( det( det(

det(mmm) m) ) ) ---> [> [o> [> [ooo] | [] | [] | [um] | [umumum].].].]. det(

det( det(

det(fff) f) ) ) ---> [> [a> [> [aaa] | [] | [] | [uma] | [umaumauma].].].]. n(

n( n(

n(mmmm) ) ) ) ---> [> [gato> [> [gatogatogato] | [] | [] | [] | [ratoratoratorato].].].]. n(

n( n(

n(ffff) ) ) ) ---> [> [gata> [> [gatagatagata] | [] | [] | [] | [ratarataratarata].].].]. v

v v

v ---> [> [> [> [cacaçcacaçççououou].ou].].].

s s s s ---> sn, sv.> sn, sv.> sn, sv.> sn, sv. sn sn sn

sn ---> det(--> det(> det(> det(GGGG), n(), n(), n(), n(GGGG).).).). sv sv sv sv ---> v, sn.> v, sn.> v, sn.> v, sn. det( det( det( det(mmmm) ) ) ) ---> [> [> [> [oooo] | [] | [] | [] | [umumumum].].].]. det( det( det(

det(ffff) ) ) ) ---> [> [> [> [aaaa] | [] | [] | [] | [umaumaumauma].].].]. n(

n( n(

n(mmmm) ) ) ) ---> [> [> [> [gatogatogatogato] | [] | [] | [] | [ratoratoratorato].].].]. n(

n( n(

n(ffff) ) ) ) ---> [> [> [> [gatagatagatagata] | [] | [] | [] | [ratarataratarata].].].]. v

v v

(19)

Dependência de contexto

Exercício 10. Teste da gramática G5

Exercício 10.

Teste da gramática G5

Gere e analise todas as frases definidas pela gramática G5.

Gere e analise todas as frases definidas pela gramática G5.

Exemplo 7. Gramática G5

Exemplo 7. Gramática G5

s s s s ---> sn(> sn(> sn(N> sn(N), sv(NN), sv(), sv(), sv(NNNN).).).). sn( sn( sn(

sn(NNNN) ) ) --) ---> det(> det(> det(G> det(GGG,,N,,NNN), n(), n(), n(G), n(G,GG,,,NNN).N).).). sv( sv( sv( sv(NNNN) ) ) --) ---> v(> v(N> v(> v(NN), sn(N), sn(), sn(), sn(___)._).).). det( det( det(

det(mmm,m,,,sss) s) ) ) ----> [----> [> [o> [ooo] | [] | [um] | [] | [umumum].].].]. det(

det( det(

det(mmm,m,,,ppp) p) ) ) ----> [----> [> [os> [ososos] | [] | [uns] | [] | [unsunsuns].].].]. det(

det( det(

det(fff,f,,,sss) s) ) ) ----> [----> [> [a> [aaa] | [] | [uma] | [] | [umaumauma].].].]. det(

det( det(

det(fff,f,,,ppp) p) ) ) ----> [----> [> [as> [asasas] | [] | [umas] | [] | [umasumasumas].].].]. n(

n( n(

n(mmmm,,,,sss) s) ) ) ----> [----> [> [gato> [gatogatogato] | [] | [rato] | [] | [ratoratorato].].].]. n(

n( n(

n(mmmm,,,,ppp) p) ) ) ----> [----> [> [gatos> [gatosgatosgatos] | [] | [ratos] | [] | [ratosratosratos].].].]. n(

n( n(

n(ffff,,,,sss) s) ) ) ----> [----> [> [gata> [gatagatagata] | [] | [rata] | [] | [rataratarata].].].]. n(

n( n(

n(ffff,,,,ppp) p) ) ) ----> [----> [> [gatas> [gatasgatasgatas] | [] | [ratas] | [] | [ratasratasratas].].].]. v(

v( v(

v(ssss) ) ) ) ---> [> [ca> [> [cacacaççççouououou].].].]. v(

v( v(

v(pppp) ) ) ) ---> [> [ca> [> [cacacaççççaramaramaramaram].].].].

s s s s ---> sn(--> sn(> sn(> sn(NNNN), sv(), sv(), sv(), sv(NNNN).).).). sn( sn( sn(

sn(NNNN) ) --) ) ---> det(> det(> det(> det(GGGG,,,,NNNN), n(), n(), n(), n(GGGG,,,,NNNN).).).). sv( sv( sv( sv(NNNN) --) ) ) ---> v(> v(> v(> v(NNNN), sn(), sn(), sn(), sn(____).).).). det( det( det( det(mmmm,,,,ssss) ) ) ) ----> [----> [> [> [oooo] | [] | [] | [] | [umumumum].].].]. det( det( det(

det(mmmm,,,,pppp) ) ) ) ----> [----> [> [> [osososos] | [] | [] | [] | [unsunsunsuns].].].]. det(

det( det(

det(ffff,,,,ssss) ) ) ) ----> [----> [> [> [aaaa] | [] | [] | [] | [umaumaumauma].].].]. det(

det( det(

det(ffff,,,,pppp) ) ) ) ----> [----> [> [> [asasasas] | [] | [] | [] | [umasumasumasumas].].].]. n(

n( n(

n(mmmm,,,,ssss) ) ) ) ----> [----> [> [> [gatogatogatogato] | [] | [] | [] | [ratoratoratorato].].].]. n(

n( n(

n(mmmm,,,,pppp) ) ) ) ----> [----> [> [> [gatosgatosgatosgatos] | [] | [] | [] | [ratosratosratosratos].].].]. n(

n( n(

n(ffff,,,,ssss) ) ) ) ----> [----> [> [> [gatagatagatagata] | [] | [] | [] | [ratarataratarata].].].]. n(

n( n(

n(ffff,,,,pppp) ) ) ) ----> [----> [> [> [gatasgatasgatasgatas] | [] | [] | [] | [ratasratasratasratas].].].]. v( v( v( v(ssss) ) ) ) ---> [> [> [> [cacacacaççççouououou].].].]. v( v( v(

(20)

Construção de árvore sintática

A árvore sintática de uma sentença é uma árvore em que:

1 – a raiz é rotulada com o símbolo inicial da gramática

2 – as folhas são rotuladas com símbolos terminais da gramática

3 – os demais nós são rotulados com símbolos não-terminais da gramática

4 – a relação entre nós é definida pelas regras de produção da gramática

Exemplo:

s s s s ---> sn, sv.--> sn, sv.> sn, sv.> sn, sv. sn sn sn

sn ---> det, n.--> det, n.> det, n.> det, n. sv sv sv sv ---> v, sn.--> v, sn.> v, sn.> v, sn. det det det det ---> [--> [> [> [oooo].].].]. n n n

n ----> [----> [> [> [gatogatogatogato] | [] | [] | [] | [ratoratoratorato].].].]. v v v v ---> [--> [> [> [caçcacacaççouçououou].].].]. s ss s rato ratorato rato ca caca caççççouououou oooo o oo

o gatogatogatogato

det det det det det detdet det nnnn vvvv nnnn sn sn sn sn svsvsvsv

(21)

Construção de árvore sintática

Exemplo 8. Gramática G6

Exemplo 8. Gramática G6

s( s( s(

s(s(A,B)s(A,B)s(A,B)s(A,B)) ) ) --) ---> sn(A), sv(B).> sn(A), sv(B).> sn(A), sv(B).> sn(A), sv(B). sn(

sn( sn(

sn(sn(A,B)sn(A,B)sn(A,B)sn(A,B)) ) ) ) ---> det(A), n(B).> det(A), n(B).> det(A), n(B).> det(A), n(B). sv(

sv( sv(

sv(sv(A,B)sv(A,B)sv(A,B)sv(A,B)) ) ) ) ---> v(A), sn(B).> v(A), sn(B).> v(A), sn(B).> v(A), sn(B). det(

det( det(

det(det(o)det(o)det(o)) det(o)) ) ) ----> [----> [> [> [oooo].].].]. n(

n( n(

n(n(A)n(A)n(A)n(A)) ) ) --) --> [----> [> [> [AAAA], { ], { ], { member], { member(membermember((A(AAA,[,[,[gato,[gato,gatogato,,,ratoratoratorato]) }.]) }.]) }.]) }. v(

v( v(

v(v(cav(cav(cav(caçççou)çou)ou)ou)) ) ) ) ----> [----> [> [> [cacacacaççouççouou].ou].].].

s( s( s(

s(s(A,B)s(A,B)s(A,B)s(A,B)) ) --) ) ---> sn(A), sv(B).> sn(A), sv(B).> sn(A), sv(B).> sn(A), sv(B). sn(

sn( sn(

sn(sn(A,B)sn(A,B)sn(A,B)sn(A,B)) ) ) ) ---> det(A), n(B).> det(A), n(B).> det(A), n(B).> det(A), n(B). sv(

sv( sv(

sv(sv(A,B)sv(A,B)sv(A,B)sv(A,B)) ) ) ) ---> v(A), sn(B).> v(A), sn(B).> v(A), sn(B).> v(A), sn(B). det(

det( det(

det(det(o)det(o)det(o)det(o)) ) ) ) ----> [----> [> [> [oooo].].].]. n(

n( n(

n(n(A)n(A)n(A)n(A)) ) --) ) ---> [> [> [> [AAAA], { ], { member], { ], { membermembermember((((AAAA,[,[,[,[gatogatogatogato,,,,ratoratoratorato]) }.]) }.]) }.]) }. v(

v( v(

v(v(cav(cav(cav(caçççou)çou)ou)ou)) ) ) ) ----> [----> [> [> [cacacacaççouççououou].].].].

Exercício 11. Construção de árvore sintática

Exercício 11.

Construção de árvore sintática

Digite a gramática G6 e faça as consultas a seguir:

?

? ?

?---- s(A,s(A,s(A,s(A,[o,gato,ca[o,gato,caç[o,gato,ca[o,gato,caçççou,o,rato]ou,o,rato]ou,o,rato],[]).ou,o,rato],[]).,[]).,[]). ?

? ?

?---- s(A,F,[]).s(A,F,[]).s(A,F,[]).s(A,F,[]).

Digite a gramática G6 e faça as consultas a seguir:

? ? ?

?--- s(A,- s(A,s(A,s(A,[o,gato,ca[o,gato,caç[o,gato,ca[o,gato,caçççou,o,rato]ou,o,rato]ou,o,rato]ou,o,rato],[]).,[]).,[]).,[]). ?

? ?

?---- s(A,F,[]).s(A,F,[]).s(A,F,[]).s(A,F,[]).

Exercício 12. Alteração de gramática para construção de árvore sintática

Exercício 12.

Alteração de gramática para construção de árvore sintática

Altere a gramática G5 para que ela construa a árvore das sentenças geradas.

(22)

Referências

Documentos relacionados

Mestrado em: Nutrição Humana ou Nutrição Clínica ou Saúde Coletiva ou Ciências da Saúde ou Ciências ou Saúde ou Alimentos e Nutrição e Desenvolvimento na

Mas ele é ( verbo ser, no Presente do Indicativo ) apenas um gato e não tinha tido ( verbo ter, no Pretérito Mais-Que-Perfeito Simples do Indicativo ) tempo de aprender (

Biólogo, mestre em ciências (Biologia celular e molecular) pelo instituto oswaldo cruz (ioc/Fiocruz) e egresso do curso técnico de Pesquisa em Biologia Parasitária do mesmo

da resposta imune que, frequentemente, resultam em anular a ação de biopatógenos, por meio da ativação do sistema complemento, opsonização dos antígenos para

Esses vírus se ligam a receptores específicos localizados na superfície da membrana celular e entram na célula hospedeira via fusão do envelope viral, com a superfície da célula em

Para diminuir ao máximo a interferência das proteínas que ainda podem estar presentes na amostra, deve-se fazer uma leitura a 280 nm – comprimento de onda em que as

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No

A atribuição de incentivos financeiros à equipa multiprofissional depende da concretização dos critérios para atribuição das unidades contratualizadas (UC) referentes às