Académique Documents
Professionnel Documents
Culture Documents
LINGUAGEM NATURAL
LINGUAGEM NATURAL
O PROBLEMA DA ANÁLISE LÉXICA
Para entender uma frase numa língua qualquer, o primeiro passo geralmente consiste em verificar se a frase segue
as regras gramaticais da língua.
Computacionalmente, uma das maneiras mais simples de fazer esta verificação é usando gramáticas livres de
contexto.
LIVRE DE CONTEXTO
A gramática consiste em um certo número de regras, que dizem como os diversos itens da frase podem ser
decompostos.
Exemplo: As regras anteriormente mostradas definem que uma sentença válida deve ser composta de um sujeito
seguido de um predicado. Por sua vez, um sujeito é formado por um artigo seguido de um substantivo. E assim
por diante.
Para verificar se uma sentença é válida, devemos tentar “encaixá-la” na definição acima. Na frase “O home come
pera”. Ela pode ser encaixada na gramática que demos da maneira indicada a seguir:
sentença
sujeito predicado
come a pera
PRINCIPAL
Aos definir os diversos itens da frase, há sempre um que é o principal, do qual emanam todos os demais. No
nosso caso, este item é “sentença”, definido na primeira regra. E, ao definir cada item em função de outros,
fatalmente acabamos chegando aos itens chamados terminais, para os quais a definição é dada em termos de
exemplos concretos.
Os itens verbo, artigo e substantivo são terminais na gramática dada anteriormente.
A ANÁLISE LÉXICA
O problema da análise léxica e dada uma frase qualquer, determinar se ela se encaixa numa descrição
de gramática como a que demos nesta seção, e construir uma árvore léxica para ela. Um programa
Ao realizar análise léxica em Prolog, é usual representar palavras por átomos e frases
por listas de átomos. Assim, a frase “o homem come a pera” seria representada pela
lista.
Isto posto, é natural implementar a análise léxica como um predicado que será
satisfeito quando a frase dada (em forma de lista) segue as regras gramaticais
satisfeito quando X for uma lista de palavras que formam uma sentença válida.
COMO TESTAR ISTO?
Segundo as regras, uma sentença válida deve ser formada por um sujeito seguido de um predicado.
Observe que a “predicado” está agora sendo usada em dois sentidos diferentes. Um deles são os predicados em
Prolog. O outro é o predicado que é um item, ou seja, uma parte, de uma frase válida
PREDICADOS EM PROLOG
Continuando, seria interessante ter predicados (de Prolog) para validar os outros itens da frase, por
predicado(X) que é satisfeito quando X representa um predicado válido. Com isto, poderíamos
Note o uso de append, que quebra a frase inicial de todas as formas possíveis e testa,
para cama uma delas, se os pedaços resultantes podem ser vistos como sujeitos e
predicados. Para que o predicado sentença possa funcionar, é preciso definir todos os
Agora o programa está completo, e será capaz de verificar frases de acordo com a nossa gramática. A pergunta é
respondida corretamente.