Você está na página 1de 91

UNIVERSIDADE REGIONAL INTEGRADA DO ALTO URUGUAI E DAS

MISSES- CAMPUS FREDERICO WESTPHALEN


CURSO DE INFORMTICA

Acesso a Base de Dados


Atravs da Linguagem Natural

Por

ELISA MARIA PIVETTA CANTARELLI

Trabalho de Concluso de Curso


para obteno do ttulo de
Bacharel em Informtica

Prof. Valmor Jos Prevedello


Orientador
Prof. Evandro Preuss
Co-orientador

Frederico Westphalen, julho de 1998.

Este trabalho dedicado

Aos professores, colegas e funcionrios da URI que


tornaram agradvel a nossa estada nesta Universidade

Ao professor e orientador, Valmor Jos Prevedello, que


me auxiliou, no somente neste trabalho, mas em
muitas outras atividades.

Em especial

Ao meu esposo Luiz e meus filhos Marlon e Margel,


cujo amor, dedicao e compreenso
sustentaram e estimularam toda esta caminhada

Sumrio

LISTA DE SMBOLOS ....................................................................................................................... 5


LISTA DE FIGURAS .......................................................................................................................... 6
RESUMO .............................................................................................................................................. 7
ABSTRACT .......................................................................................................................................... 8
OBJETIVOS ......................................................................................................................................... 9
1 INTRODUO ............................................................................................................................... 10
2 COMPREENSO DA LINGUAGEM NATURAL...................................................................... 13
2.1 IA............................................................................................................................................... 14
2.2 O QUE LINGUAGEM ................................................................................................................. 16
2.3 IMPLICAES NA INTERPRETAO DA LINGUAGEM ................................................................... 17
2.3.1 Ambigidade ...................................................................................................................... 18
2.3.2 Gramaticalidade e aceitabilidade...................................................................................... 20
2.4 CONTRIBUIES ......................................................................................................................... 21
3 PROCESSAMENTO DA LINGUAGEM NATURAL................................................................. 23
3.1 TECNOLOGIA DO PROCESSAMENTO: INTERFACE HOMEM-MQUINA .......................................... 24
3.1.1 Query em Linguagem Natural ........................................................................................... 24
3.1.2 Linguagem Natural Baseada no Conhecimento ................................................................ 26
4 GRAMTICAS E ANALISADORES ........................................................................................... 28
4.1 PROCESSAMENTO MORFOLGICO .............................................................................................. 30
4.2 PROCESSAMENTO LXICO .......................................................................................................... 31
4.2.1 Processamento lxico-morfolgico.................................................................................... 32
4.3 PROCESSAMENTO SINTTICO ..................................................................................................... 33
4.3.1 Gramtica Linear .............................................................................................................. 39
4.3.2 Gramtica Livre de Contexto............................................................................................ 41
4.3.3 Gramtica Sensvel ao Contexto........................................................................................ 42
4.3.4 Gramtica Irrestrita........................................................................................................... 44
4.4 PARSERS OU RVORES DE DERIVAO ..................................................................................... 44
4.5 MODELOS QUE NO REQUEREM UMA SINTAXE ........................................................................... 49
4.6 PROCESSAMENTO SEMNTICO ................................................................................................... 50
4.6.1 Gramtica de Caso ............................................................................................................ 51
4.6.2 Gramtica Semntica ........................................................................................................ 53
4.7 PROCESSAMENTO PRAGMTICO E DO DISCURSO ........................................................................ 55
4.8 REDES DE TRANSIO AUMENTADAS (ATNS) ............................................................................ 56
4.9 TRATAMENTO DE ERROS ............................................................................................................ 60
4.9.1 Erros Comuns .................................................................................................................... 63
5 SISTEMAS DESENVOLVIDOS COM INTERFACE DE LINGUAGEM NATURAL........... 64
5.1 BASEBALL, STUDENT E ELIZA .................................................................................................... 64
5.2 PROSPECTOR .............................................................................................................................. 65
5.3 RENDEZVOUS E INTELLECT ........................................................................................................ 66
6 AMBIENTES E INSTRUMENTOS .............................................................................................. 68
6.1 LINGUAGENS .............................................................................................................................. 69

7 MODELO DO PROTTIPO ......................................................................................................... 73


7.1 ANALISADOR LXICO ................................................................................................................. 76
7.1.1 Lxico (dicionrio) ............................................................................................................ 76
7.2 ANALISADOR SINTTICO ........................................................................................................... 79
7.2.1 Regras determinsticas e indeterminsticas....................................................................... 80
7.2.2 Gramtica ................................................................................................................ .......... 82
7.3 ANALISADOR SQL ..................................................................................................................... 86
8 CONCLUSO ................................................................................................................................. 88
BIBLIOGRAFIA ................................................................................................................................ 90

Lista de Smbolos

IA
SN
SA
SP
PLN
IBM
NQL
KBNL
4GL
G
S
SNC
SV
ATN
LISP
PROLOG

Inteligncia Artificial
Sintagma Nominal
Sintagma Adverbial
Sintagma preposicional
Processamento da Linguagem Natural
International Business Machine
Natural Language Query
Knowledge Base Natural Language
Linguagem de Quarta Gerao
Gramtica
Sentena
Sintagma Nominal Complementar
Sintagma Verbal
Augmented Transition Networks
Linguagem de programao baseada no
processamento de listas
Linguagem de programao simblica
baseada no clculo dos predicados

Lista de Figuras

Figura 2.1 Sentena gerando ambigidade............................................ 19


Figura 2.2 Sentena gerando ambigidade............................................ 19
Figura 3.1 Exemplo de uma consulta em SQL ....................................... 25
Figura 4.1 Exemplo de uma gramtica gerativa ..................................... 37
Figura 4.2 Regras sintticas que podem gerar a figura 4.1.................... 37
Figura 4.3 Gramtica Gerada a partir das regras da figura 4.2 ............. 37
Figura 4.4 Classificao das Gramticas segundo Chomski.................. 39
Figura 4.5 Gramtica linear .................................................................... 40
Figura 4.6 rvore de derivao -gramtica Linear.................................. 41
Figura 4.7 Gramtica Livre de Contexto................................................. 42
Figura 4.8 Gramtica Sensvel ao Contexto ........................................... 43
Figura 4.9 Gramtica irrestrita ................................................................ 44
Figura 4.10 Parsers ou rvore de derivao ............................................ 45
Figura 4.11 Exemplo da rvore de derivao - sentena 1 ...................... 47
Figura 4.12 Exemplo da rvore de derivao - sentena 2 ...................... 48
Figura 4.13 -- Exemplo em ATN ................................................................. 58
Figura 6.1 Os nveis da programtica entre os problemas humanos e o
equipamento ......................................................................... 68
Figura 7.1 Esquema do prottipo ........................................................... 75
Figura 7.2 Exemplo de gramtica sinttica............................................. 81

Resumo

Explorar

as

possibilidades

oferecidas

pelos

recursos

computacionais ao processamento da linguagem humana tem sido um dos


grandes desafios em nossos dias. A linguagem natural primariamente
processada por pessoas, de modo que, para projetar mquinas que a
compreendam, devemos contar com o avano das cincias cognitivas e
com o desenvolvimento de tcnicas adequadas. Existem vrias tentativas
de apresentar um modelo unificado, porm este ainda est alm do alcance
da pesquisa. Assim, nesse trabalho, procuramos mapear o mundo real da
linguagem natural para o meio computacional, apresentando tcnicas de
reconhecimento conforme

nveis lingsticos e

modelos de gerao de

gramticas. Abordaremos tambm problemas e dificuldades com o


processamento da linguagem que permanecem no resolvidos. Diante do
exposto, nosso objetivo , apesar da incgnita que o processo de
reconhecimento e processamento da lngua, produzir uma interface atravs
da linguagem natural que acesse bases de dados, utilizando ferramentas de
quarta gerao, mantendo uma relao de entendimento razovel com o
usurio.

Abstract

To explore the possibilities offered by the

computational

resources to the processing of the human language has been one of the
great challenges in our days. The natural language is processed primarily by
people, so that, to project machines that understand it, we should count with
the progress of the cognitive sciences and with the development of
appropriate techniques. Several attempts exist of presenting an unified
model, even so this is still besides the reach of the research. Thus, in that
work, we tried to transpose the real world of the natural language for the
computational way, presenting recognition techniques according to linguistic
levels and models of generation of grammars.

We will also approach

problems and difficulties with the processing of the language that are not
solved. Before the exposed, our objective is, in spite of the incognito that it is
the recognition process and processing of the language, to produce an
interface through the natural language that search bases of data, using tools
of fourth generation, maintaining a relationship of reasonable understanding
with the user.

Objetivos

Objetivos Gerais:
Desenvolver e implementar um sistema que possibilite ao usurio
final interagir com uma base de dados (que suporta o padro SQL) de forma
que a entrada para consultas seja feita atravs da linguagem natural.

Objetivos Especficos:

Realizar um estudo das necessidades disponveis para tratamento da


linguagem em nvel de anlise de sentenas;

Implementar um software em linguagem de Quarta Gerao, ou seja,


Banco de Dados, para servir de suporte e viabilizar a interao com a
linguagem natural ;

Criar uma interface atravs da linguagem natural que possibilite ao


usurio no especializado acessar a base de dados, elaborando suas
prprias consultas;

10

1 Introduo

Muito antes da revoluo industrial, o homem tem procurado


aumentar os limites de suas habilidades, inventando aparatos mecnicos. A
p e a picareta, o carrinho de mo e outras ferramentas similares so
exemplos que remontam a antigidade. Mais recentemente, veculos a
motor, robs industriais e, finalmente, computadores tm sido acrescentados
elite dos assistentes artificiais. Mas, temos a linguagem que, com certeza,
o mais importante, o mais onipresente dos fenmenos sociais; um prrequisito para a prpria existncia das sociedades humanas.

O grande desafio ento, disponibilizar recursos que possibilitem


o processamento desta linguagem atravs da computao. Neste trabalho
sobre Acesso a base de dados atravs da linguagem natural,
pretendemos mostrar mtodos que possibilitam

a implementao de

interfaces em Linguagem Natural.

Evidenciou-se recentemente, que vrias so as tcnicas que


capacitam os computadores a ajudarem as pessoas a analisar problemas e
a tomar decises. Numerosas aplicaes comerciais esto a caminho,
despertando o entusiasmo das empresas, dos

profissionais liberais e

especialistas. Em resumo todo o ambiente, seja comercial, domstico ou


acadmico se tornar mais racional. Em resposta, informaes sero
reunidas, sintetizadas e postas em forma til o mais rpido possvel.

Grande parte das pessoas, em especial os usurios ocasionais,


poderiam fazer bom uso dos recursos disponveis de software, solucionando
muitos dos seus problemas, no o fazem por medo do computador, da
complexidade e da diversidade das interfaces utilizadas. Os que se
aventuram na tentativa de descobrir todos os segredos do sistema s o
conseguem adaptando-se a interface oferecida pelo sistema.

11

Encontrar um mtodo ideal para processar a linguagem natural


assunto que vem preocupando profissionais atuantes em vrios campos
do conhecimento, seja na cincia da computao, informtica, traduo
automtica, robtica, engenharia do conhecimento e tambm reas de pesquisa especficas como a lingstica.

Para entender o processamento da linguagem natural atravs da


computao,

procedeu-se

uma

reviso

especializada, como Rich e Knight (1993),

bibliogrfica,

literatura

Harmon e King (1988), Date

(1989), Keller (1991), Chomski (1971), Robin (1987), Kowaltowski (1983),


Perini (1976) e Lobato (1986).

Para discutir aspectos relativos ao processamento da linguagem


natural e sua utilizao como interface a um banco de dados, formulam-se
as seguintes questes que norteiam esta pesquisa:

1) Como identificar cada palavra de uma sentena, solicitada


pelo usurio, e consequentemente verificar sua existncia?

2) Como validar uma sentena sintaticamente?

3) Como traduzir uma sentena em linguagem natural para


linguagem de mquina?

Este trabalho est organizado da seguinte forma: o segundo


captulo trs uma explanao sobre o que linguagem natural e suas
implicaes, ambigidade, gramaticalidade e aceitabilidade

No terceiro captulo, apresentamos a rea que trata do


processamento da linguagem natural. O Enfoque dado as reas de
aplicaes e suas geraes.

Para a compreenso e processamento da linguagem natural


necessrio entender os componentes do processo, os quais se encontram

12

no quarto captulo, e dividem-se em: anlise lxico-morfolgica, anlise


sinttica, anlise semntica e pragmtica. Ainda neste captulo, explanamos
modelos de geraes de gramticas, seus formalismos e suas regras de
produo.

No quinto captulo, um breve enfoque a sistemas desenvolvidos


com interface de linguagem natural, com alguns exemplos. No sexto
captulo, uma viso geral das linguagens, ambientes e instrumentos.

Para a concretizao do trabalho, no stimo captulo relatamos o


prottipo. A funo deste prottipo de receber uma sentena em
linguagem natural, test-la gramaticalmente e converter em comandos SQL
(Structure

Query

Language)

consequentemente

execut-la.

Na

implementao, o vocabulrio ser limitado a um universo especfico, no


caso, um cadastro de clientes.

Assim, explorar as possibilidades de realizar um tratamento


sistemtico da linguagem natural e disponibilizar meios para aproximar o
conhecimento humano, nossa forma de linguagem com a computao, com
objetivo de chegar a alguma forma de processamento automatizado, que
apresente um modelo simples de

acesso para

os

usurios no

especializados, oferecendo uma interao homem-mquina que possibilite


um tratamento natural o objeto de estudo deste trabalho.

13

2 Compreenso da Linguagem natural

A linguagem destina-se comunicao entre as pessoas,


compreend-la extremamente complexo. O ser humano, desde tempos
remotos, tem refletido sobre sua prpria linguagem. Estas reflexes foram
absorvidas

por

certas

disciplinas:

gramtica, filosofia

lingistica.

Atualmente, a informtica vem contribuindo com novas perspectivas capazes


de revolucionar o estudo sobre a linguagem.

Ao

dizermos

que

uma

linguagem

natural,

estamos

considerando que algo que j existe, e que provem de nossa interao


com outras pessoas. Ao contrrio de uma linguagem de programao formal
ou artificial (Cobol, Pascal, C,...) que serve apenas a um propsito
especfico.

linguagem

natural

difere

das

linguagens

formais,

principalmente quando consideramos o conhecimento humano. O acervo de


conhecimento da humanidade encontra-se

expresso, basicamente, em

linguagem natural, seja em meio magntico ou ainda em papel. [LIM 96 ]

O estudo da linguagem natural na informtica, remonta ao prprio


advento do computador. Despertou muitas esperanas, seguidas de muitas
decepes. Decorreram muitos anos, at que os pesquisadores se
convencessem de que o problema era a representao do conhecimento.
Mesmo assim este problema ainda no foi resolvido, mas j possvel
realizar com confiabilidade sistemas que tm desempenhos teis de domnio
de semntica ainda que restrito.

Quando tentamos compreender a linguagem falada, aproveitamos


pistas, como gestos, expresses faciais, postura, s quais no temos acesso
quando escrevemos um texto. Usamos a linguagem em uma variedade de
situaes to ampla que nenhuma definio de compreenso capaz de
responder a todas elas. De forma que, para definir compreenso dentro da
tica de processamento atravs de mquina, devemos mapear a informao

14

recebida para uma forma mais diretamente utilizvel. Quando iniciamos a


tarefa de criar programas de computador que compreendem a linguagem
natural, uma das primeiras coisas que temos que fazer definir
precisamente a tarefa subjacente e como deve ser a representao.
Devemos assumir que nosso objetivo ser capaz de raciocinar com o
conhecimento contido nas expresses lingsticas e explorarmos a forma
ideal para process-la.

Atualmente no existem dvidas sobre a necessidade de se ter


um modelo ideal para processar

a linguagem humana atravs do

computador. Entretanto, at hoje no existe uma rea integrada,


academicamente estabelecida, na qual se concentram os esforos
referentes ao tratamento automatizado da linguagem natural. Tambm no
Brasil, as pesquisas apresentam-se dispersas por diversas reas, em geral
sob a forma de dissertaes, teses, comunicaes e congressos ou
simpsios, e publicaes no-convencionais, de circulao restrita. [COUKAY 91]

2.1 IA
Uma das reas de grande relevncia da Informtica, a
Inteligncia

Artificial - IA (Artificial Intelligence - AI). Surgiu como disciplina

cientfica a partir da Segunda Grande Guerra. Defini-la um processo


complexo, mas podemos dizer que uma rea que tenta simular a
inteligncia humana.

A Compreenso da Linguagem Natural um dos campos de


estudo da Inteligncia Artificial. A IA possui outras reas de aplicaes, tais
como:

- Sistemas Especialistas;
- Sistemas Inteligentes e autodidatas;
- Reconhecimento de Modelos;

15

- Educao Assistida por Computador;


- Sistemas Neurais.
Sistemas Especialistas: para a programao organizada de
rvores lgicas consecutivamente resolvendo preposies
(silogismos), foram elaboradas linguagens

prprias para a

Inteligncia Artificial, tais como LISP e PROLOG. O que no


obriga que esse tipo de programas, conhecidos por Sistemas
Especialistas (tambm conhecidos por Sistemas Expertos)
sejam unicamente desenvolvidos nessas linguagens. No
mercado

atual

encontramos

programas

deste

gnero

desenvolvidos nas mais diversas linguagens, tais como C,


PASCAL e at mesmo BASIC. Abrangendo reas como
medicina, mecnica, etc., auxiliando os profissionais a
executar mais rpido e com menor possibilidades de erros
determinadas tarefas.
Sistemas Inteligentes e Autodidatas: a partir da evoluo do
algoritmo utilizado em jogos como o conhecido "Jogo da
Velha", surgiram os sistemas inteligentes e autodidatas. Ao
contrrio dos Sistemas Especialistas que necessitam de
regras pr- estabelecidas, a deciso prpria. Discernindo as
regras corretas das incorretas.
Reconhecimento de Modelos :encontramos o reconhecimento
de imagens e o de sons. justamente a parte que mais tem
evoludo e sido utilizada. A tendncia a explorao de todos
os sentidos conhecidos, como a viso, audio, paladar, olfato
e tato.
Educao Assistida por Computador: a idia de se ter num
computador um instrutor inteligente representada pela
Educao Assistida por Computador, expondo questes
correlacionadas ao desenvolvimento dos alunos.

16

Sistemas Neurais: atravs de Sistemas Neurais, hoje muito


comentados, pretendido, baseado em sistemas neurolgicos
dos seres vivos, chegar a combinao de tudo que abrange a
Inteligncia Artificial.

Ainda hoje no se consegue criar uma inteligncia tal qual a


humana em mquinas. De qualquer forma, no podemos descartar a
hiptese de que um dia isso possa acontecer. Encontramos diversos
cientistas no mundo inteiro trabalhando e acreditando nesta possibilidade.

2.2 O que Linguagem


Linguagem a utilizao oral ou escrita da lngua. Em tal sentido
que empregamos a palavra nas expresses Linguagem Oral e Linguagem
Escrita. Num sentido mais genrico, linguagem seria qualquer sistema de
sinais de que se valem os indivduos comunicar-se.[AND 78]

Em meio a tanta diversidade de falas dentro de uma comunidade,


imprescindvel manter-se a unidade da lngua, pois graas a ela que ns
nos entendemos.

Uma lngua pode ser definida como um conjunto de sentenas,


sendo cada uma delas formada por uma cadeia de elementos (palavras ou
morfemas). A estrutura das sentenas no se resume colocao desses
elementos em seqncia uns aps aos outros, mas compreende tambm
unidades intermedirias hierarquicamente dispostas.

Nem todas as combinaes possveis dos elementos de uma


lngua formam sentenas; mas, ainda assim, o nmero de sentenas
possveis em qualquer lngua natural ( isto , portugus, japons, ingls etc.)
infinito.

17

Pode-se conceber o conhecimento de uma lngua como uma


espcie de mecanismo que permite a formao e a interpretao de
sentenas, e a lingstica como uma tentativa de deslindar as peas e o
funcionamento desse mecanismo.

A par dos variados nveis de fala, existe uma linguagem padro,


utilizada por todos que buscam instruo e que, pelo aprimoramento cultural,
necessitam expressar-se com mais clareza e preciso, de modo mais
variado e fluente.

Porm, quando nos referimos a linguagem escrita, esta tem por


finalidade representar a falada. Na medida do possvel, pois os smbolos
grficos no conseguem evocar muitos elementos da fala. Apesar de suas
limitaes a linguagem escrita de valor incalculvel para a humanidade.
Basta dizer que toda a cultura do homem tem sido preservada e perpetuada,
atravs dos sculos, pela escrita. Neste particular, nenhum outro
instrumento de comunicao se lhe pode comparar.

Dentro do enfoque da computao tanto a linguagem oral como a


escrita, so objetos de estudo para desenvolver sistemas na

rea de

Inteligncia Artificial .

2.3 Implicaes na Interpretao da Linguagem


Nenhum programa de linguagem natural pode ser completo
porque novas palavras, expresses e significados podem ser gerados com
bastante liberdade. A linguagem pode evoluir juntamente com a evoluo
das experincias que queremos comunicar. Ex.: Eu xeroco uma cpia para
voc.

Sabemos ainda, que existem inmeras maneiras de dizer a


mesma coisa. Como na frase abaixo:

18

- Maria nasceu no dia 11 de outubro


ou
- O aniversrio de Maria no dia 11 de outubro.

As frases de uma lngua so descries incompletas das


informaes que pretendem transmitir. A linguagem permite aos que falam
ser to vagos ou precisos quanto quiserem. Ela tambm permite que se
deixe de mencionar coisas que achamos que os ouvintes j sabem. Ainda, a
linguagem nos permite dizer coisas sobre um mundo infinito usando um
nmero finito de smbolos.

Um dos grandes debates filosficos deste sculo priorizou


questo do que significa uma frase. A compreenso da linguagem envolve
seu mapeamento para alguma representao que seja apropriada a uma
determinada situao .Fica ento difcil responder o que significa uma frase,
e o que compreenso da linguagem. Usamos a linguagem em uma
variedade de situaes to ampla que nenhuma nica definio de
compreenso capaz de responder por todas elas.[RIC 94]

2.3.1 Ambigidade

Um processo complicado no caso da compreenso da linguagem


so as frases genuinamente ambguas, como: O p est mido.

Se faz necessrio encontrar no apenas uma interpretao, mas


todas possveis, ao contrrio no poderemos definir que p est mido.
Poderia ser, o p da laranjeira, o p da mesa ou o meu/seu p. Ou ainda, a
manga vermelha.

Porm, mais complicado ainda quando no existe nenhum caso


de homonmia lexical que possa constituir a base da sua ambigidade. Na
frase, a cortina de seda antiga , encontramos os dois seguintes sentidos:

19

a cortina de seda em si que antiga (evidente, neste caso,


que a seda tambm antiga)
a seda

que antiga (podendo a cortina em si ter sido

fabricada recentemente, embora no necessariamente)

As duas estruturas de constituintes imediatos sero pois:

a)

SN

SN

SA

A cortina de seda

antiga

Figura 2.1 - Sentena gerando ambigidade


Fonte - Perini Gramtica Gerativa

b)

SN

SN

A cortina

SP

de seda antiga

Figura 2.2 Sentena gerando ambigidade


Fonte - Perini Gramtica Gerativa

20

Onde:
SN sintagma nominal
SA sintagma adverbial
SP sintagma preposicional

2.3.2 Gramaticalidade e aceitabilidade

importante diferenciar gramaticalidade de aceitabilidade, que


esto de certa maneira relacionadas e notar que no so determinadas
unicamente pelo nosso conhecimento da lngua. Este apenas um dos
fatores relevantes, ao lado de limitaes de memria, ateno e falta de
ateno, estado de esprito

e elementos do contexto situacional, como

barulho, nmero de interlocutores e assim por diante. Todos esses fatores


podem interferir no funcionamento do nosso mecanismo lingstico, isto ,
no uso que fazemos do nosso conhecimento da lngua.

Existem seqncias de elementos que so aceitas pelos falantes


da lngua com enunciados normais, ao passo que outras no so. Exemplo:
o livro est aberto
o est aberto livro

A primeira seqncia aceitvel, enquanto a Segunda seqncia


inaceitvel.

Aceitabilidade um fenmeno essencialmente intuitivo: muitas


vezes, ao encontrarmos uma sentena como a segunda, sentimos que ela
no normal em portugus. Essa intuio no resultado do nosso estudo
de portugus na escola, porque qualquer falante da lngua, ainda que nunca
haja freqentado uma escola, pode emitir julgamentos deste tipo.

O que nem sempre fcil decidir se determinada seqncia de


elementos de uma lngua aceitvel ou no. Os julgamentos de todos os
falantes acerca das duas sentenas anteriores so claros, mas h casos em

21

que o falante hesita em seu julgamento, ou em que diferentes falantes da


mesma lngua tm julgamento diversos.
Exemplo:

1 - Os conspiradores planejam incendiarem o Parlamento.


2 - Os conspiradores planejam constantemente incendiarem o
Parlamento.
3 - Os conspiradores planejam diariamente em seu esconderijo
no depsito de bondes da capital incendiarem o Parlamento.

Segundo Perini a frase inaceitvel seria a 1, e que 2 melhor que


1 e 3 ainda melhor que 2, sem que no entanto nenhuma dessas seqncias
seja to aceitvel quanto a 4:

4 Os conspiradores planejam incendiar o Parlamento.

Ainda, possvel que algum discorde a respeito de 1, 2 e 3, o


que seria mais um exemplo ilustrando esta explicao. [PER 76]

evidente que no podemos considerar gramaticais apenas as


sentenas que j foram efetivamente observadas. A lngua um conjunto
infinito de sentenas, e portanto mesmo que tivssemos uma lista completa
de todos os enunciados at hoje proferidos no poderamos elaborar a
partir da uma lista completa de sentenas gramaticais dessa lngua.
Conforme j apontado anteriormente, estamos a todo momento produzindo
ou recebendo frases totalmente novas.

2.4 Contribuies
Vrias reas tm contribudo para solues no estudo da
linguagem. A neurologia, a filosofia, a metafsica, a psicologia e a lingstica
so algumas que merecem destaques. Mas quando as pesquisas deslocam-

22

se para a representao do conhecimento os psiclogos tm mais a


contribuir do que os lingistas.

Quando os especialistas em informtica querem construir um


sistema no qual se faz uso a linguagem natural, a primeira reao voltarse para os lingistas, ou para as vagas lembranas de gramtica, datando
sua prpria vida escolar. considervel, pois os resultado obtidos pelos
lingistas constituem um conhecimento extremamente valioso. Porm, uma
lngua delimita em primeiro lugar a um conjunto que corresponde aquilo que
aceitvel e a outro o no aceitvel. De outro lado, deve-se considerar que
o conhecimento jamais o suficiente, e nem sempre necessrio, para os
objetivos fixados pela informtica.

Do ponto de vista da psicologia, o que realmente envolve toda


a

anlise

referente

ao

sentido,

significado, levando em

conta

comportamento humano. Este, muitas vezes, converte a linguagem natural


em uma linguagem interior. Numerosas pesquisas, mostram que um texto
sempre processado, antes de ser memorizado, ao ponto de as pessoas se
revelarem incapazes de designar, entre vrias verses semanticamente
equivalentes, aquela que efetivamente leram.

Na informtica, no obrigado respeitar regras, sejam elas na


rea da lingstica ou da psicologia, ainda que, seja interessante segui-las.
No necessrio justificar os mtodos nem no plano formal nem no da
conformidade com os resultados experimentais. O nico gabarito segundo o
qual o especialista poder vir a ser julgado o da eficcia (rapidez,
portabilidade e capacidade de extenso) dos algoritmos utilizados para
resolver os problemas. Naturalmente, modelos e hipteses antecipados por
psiclogos e lingistas so teis e bem vindos.[HAR 88]

23

3 Processamento da Linguagem Natural

O Processamento da Linguagem Natural (PLN), uma rea da


Inteligncia Artificial(IA) que tm por objetivo dotar as interfaces de
computadores da capacidade de comunicar-se com seu usurio na lngua
deste.
Para processarmos a linguagem natural, duas etapas so
necessrias, a primeira a compreenso e a segunda a produo. A
compreenso, envolve reconhecimento com exatido da linguagem, exigindo
etapas de anlise. Um sistema para processar a linguagem natural
normalmente rene mdulos associados aos nveis lingsticos de
processamento de linguagem, os quais sero descritos no prximo captulo.

As tcnicas desenvolvidas para o processamento de linguagens


artificias devem ser ampliadas e expandidas a vrios campos de estudo. A
linguagem natural primariamente processada por pessoas e para
conseguirmos projetar mquinas que a compreendam plenamente, devemos
contar com o avano da lingstica e das cincias cognitivas, como a
psicolingstica.

Na dcada de 50, no Massachussets Institute of technology,


comeavam a ser implementados trabalhos que definiam as linguagens
artificiais. Em 1956 a IBM implementava o FORTRAN. Na mesma poca
pesquisas avanavam em relao lingstica nas cincias naturais, atravs
de trabalhos desenvolvidos por Noam Chomsky. Chomski redefiniu a
lingstica num modelo mais formal. Estudou regras de estrutura da frase
baseando-se numa estrutura profunda, o lxico e regras transformacionais,
buscando explicitar o funcionamento mente-crebro. Obtendo assim, uma
gramtica universal, a qual estaria por traz de qualquer lngua.

Atualmente, vrios elementos tm contribudo para impulsionar


os estudos nesta rea. Pesquisas no tratamento computacional da

24

linguagem natural vm sendo desenvolvida principalmente em trs


aplicaes:

- Interfaces Homem-mquina: Interfaces em linguagem natural,


com o objetivo de atender principalmente aos usurios no especializados,
por apresentarem simplicidade da linguagem necessria tm alcanado
resultados prticos na implementao.

- Traduo Automtica: Implementaes que possibilitam a


traduo automtica de textos entre diferentes idiomas. A dificuldade de criar
sistemas de qualidade se deve, a falta de formalismos adequados para o
tratamento do significado do texto reconhecido.

- Recuperao de Informaes: Possibilita usurios a escrever,


consultar banco de dados, utilizando a linguagem natural, sendo do sistema
a responsabilidade da traduo para uma linguagem computacional.

3.1 Tecnologia do Processamento: Interface Homem-mquina


A tecnologia do processamento da linguagem natural em relao
a interface homem-mquina, divide-se em duas geraes:
Sistema Query de Base de Dados em Linguagem Natural

NQL (Natural Language Query);


Sistemas de Linguagem Natural Baseados no Conhecimento
KBNL (Knowledge Base Natural Language).

3.1.1 Query em Linguagem Natural

Query em Linguagem Natural (NQL), a primeira gerao de


sistemas

de

linguagem

natural

cujo

conhecimento

especfico

est

25

incorporado em suas regras

para compreenso de queries. Sua funo

principal servir como front-end em resposta a uma query em linguagem


natural.

O acesso por meio da linguagem natural um importante avano.


Usurios com pouco ou nenhum conhecimento podem interagir com a
mquina, permitindo acesso a vrios arquivos sem que o usurio tenha que
aprender uma linguagem query formal, como as de Quarta gerao (4GL).

Um usurio poderia querer selecionar no cadastro de clientes,


como por exemplo:

todos os clientes que possuem renda maior que R$1.000,00 e


ser do sexo Masculino,

Num ambiente 4GL a consulta seria:

Select nome, salrio, fone


From cliente
Where salrio > 1000
And
Sexo = Masculino

Figura 3.1 Exemplo de uma consulta em SQL

Para um usurio que no tem conhecimento de linguagens de


quarta gerao improvvel que ele consiga realizar este tipo de consulta,
mas se houver a possibilidade da entrada ser em forma de linguagem
natural, mesmo seguindo algumas regras, esta consulta poderia ter sucesso.
Apesar das vantagens, no necessrio usar um sistema NQL
por muito tempo para perceber que ele no entende uma pergunta da
mesma forma que um assistente humano entenderia. So muito limitados no

26

poder de entendimento, em parte porque sua meta principal de traduzir um


query numa forma aceitvel e os

dados disponveis so os fatos

armazenados em sua base de dados.[KEL 91]

Muitas vezes operar com sistemas NQL pode ser irritante.


Embora sejam programados h evitar respostas erradas, a compreenso
limitada e geralmente impede de fornecer algo mais que uma resposta
correta e razoavelmente adequada. irritante pois usurios finais esperam
que qualquer sistema que se diz capaz de entender a linguagem natural,
entenda no somente as palavras mas tambm a inteno por trs delas.
Infelizmente os sistemas NQL no tm habilidade de compreender a real
inteno de um usurio ao formular uma pergunta.

3.1.2 Linguagem Natural Baseada no Conhecimento

Um sistema baseado no conhecimento pode responder todas as


questes de um mesmo tipo, como um sistema NQL, mas ele vai um passo
adiante. Ele possui conhecimento extensivo de um domnio, incluindo as
razes das pessoas fazerem certas perguntas e como ser til em reas de
incerteza.

Em muitas situaes query, no h informao suficiente na


pergunta ou na base de dados para permitir uma compreenso profunda da
questo, a despeito dos esforos para ser capaz de fornecer ao usurio uma
resposta expressiva.

A tecnologia KBNL faz isso mantendo trilhas, numa base de


dados, das muitas situaes que podem possivelmente ocorrer de forma
sensata num domnio especfico. Estes dados no esto na base de dados ,
so situaes possveis para um dado domnio chamado Scripts. por meio
deste scripts que o sistema capaz de compreender a inteno do usurio

27

quando este formula sua questo ou de agir segundo as implicaes de uma


declarao.

A real compreenso significa ter um conhecimento completo de


um contexto particular. Quase toda a situao que encontramos possui
scripts mais ou menos bem definidos. Na vida real, somos capazes de
manter bons relacionamentos porque entendemos os scripts da situao na
qual nos encontramos. O conhecimento especializado em uma dada
situao geralmente depende de quo bem se entende as suposies no
declaradas naquela situao.[KEL 91]

O conhecimento KBNL bastante similar a um sistema


especialista, embora as metas do sistema especialista sejam um tanto
quanto estreitas. O objetivo principal de um sistema especialista executar
tarefas de planejamento e tomada de deciso de forma anloga a que um
especialista humano faz; quando sua base de conhecimento chega a um
estgio de verdadeiro especialista, espera-se ter a opo de substituir o
especialista humano. Os sistemas KBNL esto envolvidos tambm com o
planejamento e tomada de decises baseadas no conhecimento. Entretanto,
eles explicitamente adicionam a isto a habilidade de comunicar em
linguagem natural compreensiva e so mais provveis de serem usados
como um aprendiz inteligente ou consultor.

28

4 Gramticas e Analisadores

Para a compreenso e processamento da linguagem natural


necessrio entender os componentes do processo, os quais se dividem em:
Anlise Lxico-Morfolgica: realiza um tratamento a nvel
das palavras, permitindo reconhecer as palavras sob as
diferentes formas que sua funo na sentena lhes confere. O
analisador lxico-morfolgico identifica, numa sentena as
palavras ou expresses elementares da lngua, e obtm, para
cada uma delas, as diferentes categorias em que podem estar
atuando, com outras informaes disponveis atravs do
lxico.
Anlise Sinttica: O analisador sinttico funciona com um
parser. Utilizando gramtica da linguagem a ser analisada, e
uma seqncia de informaes provenientes da anlise lxicomorfolgica, a respeito das palavras, busca construir rvores
de derivao para cada sentena (onde so explicitadas as
relaes entre as palavras que compem a sentena),
determinando a gramaticalidade ou no da sentenas.
Seqncias lineares de palavras so transformadas em
estruturas que mostram como as palavras so relacionadas
entre si. Algumas seqncias podem ser rejeitadas, se
violarem as regras da linguagem. Ex. Maria a vai cinema ao

Anlise Semntica: As estruturas criadas pelo analisador


sinttico recebem significado. feito um mapeamento entre as
estruturas sintticas. As seqncias lingisticas cujo sentido o
analisador semntico deve calcular compem-se de um certo

29

nmero de palavras, identificadas pela anlise morfolgica, e


reagrupadas em estruturas de anlise sinttica.
Anlise Pragmtica: A estrutura que representa o que foi dito
reinterpretada para determinar o que realmente quis dizer. A
anlise semntica se restringe, normalmente, a lidar com os
significados das sentenas tais quais so determinados pelos
significados de suas partes, integrando o ponto de vista lxico
e o gramatical. Mas normalmente a compreenso no ocorre
assim, por partes. medida que avanamos, vamos
construindo uma interpretao do todo. Isso exige a resoluo
das ligaes anforas e de outros fenmenos de referncia.
Os fenmenos pragmticos-textuais (como a co-referncia,
anfora associativa, elipse, etc.) devem ser tratados atravs
do clculo das relaes interfrsicas, do clculo das
referncias e do clculo dos significados implcitos, tentando
levar em conta, inclusive, os atos da fala.

Todos os componentes vistos so importantes em um sistema


que processe a linguagem natural, mas nem todos os programas so
escritos exatamente com esses componentes, s vezes dois ou mais so
omitidos. Esta omisso resulta em um sistema mais fcil de ser criado,
porm mais difcil de ampliar no caso de uma abrangncia mais extensa.
[RIC 94]

O processo de compreenso de uma frase poder ser um grande


processo de busca, muitas vezes exaustivo. H necessidade de decidir se
todos os caminhos sero explorados ou se apenas um, e com este produzir
o resultado. Em todos os processos de busca emerge o problema de
deciso, qual caminho ou quantos devem ser seguidos e como trabalhar.

A primeira etapa de qualquer sistema procurar palavras em um


dicionrio (o lxico, que compe o processamento semntico) e extrair seu
significado. Infelizmente, para fazer o mapeamento de palavras em uma

30

base de conhecimento, a ambigidade lxica maior do que denota no diaa-dia. Como no exemplo j visto: o p est mido . Se todas as formas de
interpretao for considerada, pode se tornar muito dispendioso e caro.
Muitos sistema tratam de uma nica interpretao plausvel e se rejeitada
faz-se uma nova tentativa, resultando um sistema prtico e satisfatrio.

4.1 Processamento Morfolgico


A utilizao de processamentos morfolgicos evita que se tenha
de mencionar no lxico todas as formas possveis que uma palavra pode
assumir. Conserva-se uma forma nica, como num dicionrio, devendo
encontrar-se as demais por meio de regras que descrevem as flexes
possveis. O lxico torna-se mais organizado, ficando mais rpido e menos
volumoso.

O analisador morfolgico tem a funo de achar, a partir da


forma constante do texto, a forma

representativa de uma palavra

armazenada no lxico. A grande dificuldade

que o lxico detm as

informaes quanto a natureza gramatical dificultando o processamento.

Uma maneira de contornar a situao considerar todas as


desinncias a priori, da mais curta a mais longa, aps examinar se para
cada uma dessas desinncias existe uma raiz no lxico, verificando ainda se
h concordncia de natureza gramatical entre a palavra encontrada e a
respectiva desinncia. Todas as solues satisfatrias so conservadas e a
ambigidade encontrada ser tratada em nveis superiores.

Outro problema do analisador

morfolgico que os mdulos

morfolgicos no podem ser construdos de forma desejvel. Alguns


proponentes de sistemas julgam necessrio uma anlise particular para
cada caso, acrescenta-se a isto o carter efmero das regras e a falta de
unanimidade sobre o que o uso correto.

31

H tambm usos que no apresentam regularidade suficiente. O


verbo cozer, por exemplo, cozimento gera uma ao e cozido gera o
resultado da ao. Contudo, no existe uma regra na lngua portugusa que
nos permita classificar em ao os substantivos que terminam em mento.

4.2 Processamento Lxico


O lxico ou dicionrio, importante estrutura de dados que
acompanha o processo de anlise e gerao da linguagem natural,
armazena as palavras e associa, s mesmas, informaes. Pode conter
todas as palavras ou ser estruturado contendo apenas morfemas. A
vantagem do primeiro, podermos reconhecer e processar diretamente a
palavra sem necessidade de reconstru-la. O segundo, por sua vez , permite
uma estrutura mais organizada.

O nvel lxico responsvel pela leitura do texto, caracter a


caracter, identificando as palavras, onde uma palavra um conjunto de
caracteres que determinam uma unidade de informao. Faz ento,
corresponder a palavra, uma vez reconhecida s informaes de que se
dispe sobre a mesma. [SUE 97]

Seja qual for a aplicao, o emprego do lxico obrigatrio. O


lxico fornece as mais diversas informaes associadas as palavras, que
permitem analisar e compreender a sentena em seu todo. Essas
informaes referem-se principalmente:

ao fato de que cada palavra deve ser considerada no nvel de


sua aplicao;

codificao da palavra sob uma outra forma (como, um


cdigo escolhido para delimit-la melhor);

s informaes gramaticais: natureza da palavra, suas flexes


etc.;

32

s informaes semntico-pragmticas, tais como nmero,


lista de caractersticas, indicadores de sinnimos, etc.,

Todos esses itens dependem da linha de trabalho adotada. Em


informtica lida-se com grandes quantidades de informaes. Por isso, a
extenso dos lxicos no acarreta maiores dificuldades. Em alguns casos
lxicos pequenos j so suficientes. iluso querer catalogar, de uma s
vez, o conjunto de todas as palavras teis de uma aplicao. Convm prever
uma organizao que possibilite

atualizar os lxicos, logo que os

mecanismos de dilogo ou de compensao

permitam recuperar as

informaes complementares a serem associadas s novas palavras assim


inseridas.

Permite ainda, a associao das informaes


palavra

disponveis

reconhecida, como a codificao para a palavra, informaes

gramaticais e informaes semnticas. Para facilitar o processo na anlise


lxica, empregado o analisador morfolgico que antecede o processo de
anlise lxica.

O processo de determinar o significado correto de uma palavra


isolada chamado de desambiguao do sentido da palavra ou
desambiguao lxica. Associam-se a cada palavra do lxico informaes
sobre os contextos que pode aparecer cada sentido da palavra. Cada uma
das palavras de uma frase pode fazer parte do contexto em que os
significados das outras palavras precisam ser determinados.

4.2.1 Processamento lxico-morfolgico

O analisador lxico-morfolgico identifica, numa sentena, as


palavras e obtm para cada uma, as diferentes categorias em que podem
estar atuando, com outras informaes disponveis do lxico. Por exemplo, a
palavra um poder ser analisada como um artigo indefinido ou como um
numeral. A riqueza da anlise depender da riqueza do lxico utilizado.

33

A ambigidade lxica-morfolgica ocorre quando uma mesma


palavra denota entidades diferentes do mundo, normalmente em famlias
diferentes. A nvel lxico importante que todas as formas possveis sejam
buscadas e devolvidas pois a ambigidade somente poder ser tratada em
nveis mais avanados.

4.3 Processamento Sinttico


O processamento sinttico a etapa em que a frase plana
convertida em estrutura hierrquica que corresponde s unidades de
significado da frase. Embora haja sistemas que pulem esta etapa, ela
muito importante. Se no houver anlise sinttica, o sistema semntico ter
que decidir quais so seus prprios componentes. Quando a anlise feita,
por outro lado, restringe o nmero de componentes que a semntica pode
examinar.

anlise

sinttica

menos

dispendiosa

em

termos

computacionais do que o processamento semntico. Assim, ela pode


desempenhar um papel significativo na reduo da complexidade do
sistema.

A anlise sinttica trata da disposio das palavras, reconhecidas


pelo analisador lxico, numa sentena. responsvel pela criao de uma
rvore de derivao, onde so explicitadas as relaes entre as palavras
que compe o texto.

Durante a construo da rvore de derivao realizada a


verificao da adequao da seqncia de palavras, os termos que compe
a frase, perodo ou orao, s regras de formao de concordncia,
regncia e posicionamento dos termos impostos pela linguagem.

Para tanto, a anlise sinttica utiliza uma representao


gramatical, onde esto declarados os fatos sintticos da linguagem, as

34

estruturas de composio dos sintagmas e um procedimento de anlise,


responsvel por verificar se a frase de entrada esta de acordo com a regras
gramaticais e gerar uma estrutura hierrquica, representando a estrutura da
frase analisada.

O desejo de se construir sistema modulares, faz com que se


encontre freqentemente em informtica uma diviso de tarefas semelhante
aquela dos lingistas. A arquitetura na maioria dos sistemas existentes, se
limita a uma execuo seqencial dos processamento, do morfolgico ao
pragmtico, com possibilidades, ainda que limitadas, de voltar atrs. Ao
mesmo tempo que se reconhecem as vantagens de uma abordagem mais
integrada, as realizaes prticas permanecem raras.

Os modelos que utilizam uma sintaxe se caracterizam pelo fato


de reconhecerem que as sentenas tm uma estrutura. Estes modelos se
adaptam descrio da linguagem natural, mas convm lembrar que em
geral, no se prestam muito anlise das lnguas. [COU 92]

Existem muitas maneiras de produzir uma anlise, quase todos os


sistemas possuem pelo menos uma representao declarativa, chamada de
gramtica, dos fatos sintticos da linguagem. Um procedimento, chamado
analisador, que compara a gramtica com as frase de entrada para produzir
estruturas analisadas.

Conforme Chomsky, grande pensador na rea da lingstica,


existe por trs da lngua, de um modo no palpvel, um corpo de
generalizaes, princpios e regras abstratas em nmero finito, que
determinam as frase da lngua, a sua gramaticalidade, suas propriedades e
caractersticas. Este corpo altamente organizado chama-se gramtica. Cada
ser humano possui ento uma gramtica interiorizada, adquirida enquanto
criana num perodo relativamente curto e possivelmente na base de alguns
princpios inatos, prprios espcie humana, a faculdade da linguagem.

35

Formalmente, uma linguagem um conjunto de sentenas, onde


cada sentena a concatenao de um ou mais smbolos, chamados
palavras, do vocabulrio da linguagem. Os lingistas formalizaram um
conceito de gramtica em seus estudos sobre a linguagem natural e
definiram como sendo a especificao finita deste conjunto.

Os formalismos das gramticas fundamentam muitas teorias


lingsticas, que por sua vez do base para muitos sistemas de
compreenso da linguagem natural. Entretanto, nas teorias da lingstica
moderna, Chomsky (1986), Gazdar (1985), Sells (1986) e Bresnan (1982)
concordavam que o processamento da linguagem natural tm pouco em
comum com os sistemas de processamento de linguagem para computador
(como os compiladores) do que era de se esperar. As gramticas sendo elas
puras ou livres de contextos no so eficazes ou adequadas para descrever
as linguagens naturais.

Entretanto, o esforo se concentrava em definir uma sentena


vlida e ento, prover

descries estruturais com o objetivo de tornar

possvel o entendimento de uma linguagem pelo computador.

Porm, independente da base terica da gramtica, o processo


de anlise usa as regras da gramtica e compara-as com a frase de entrada.
Cada regra coincidente acrescenta algo estrutura completa que est sendo
criada para a frase. A estrutura mais simples que se pode criar a rvore
gramatical, que simplesmente registra as regras e como elas so
comparadas.

Em uma gramtica simples o n da rvore gramatical corresponde


a uma palavra da frase de entrada ou a um smbolo no-terminal na nossa
gramtica. Cada nvel corresponde aplicao de uma regra da gramtica.

A gramtica de uma lngua uma descrio finita, capaz de gerar


todas as sentenas desta lngua e apenas estas. Uma linguagem formal
construda com base em um alfabeto, tambm chamado de vocabulrio

36

terminal, um subconjunto de todas as cadeias formadas pelos elementos


deste alfabeto. A operao de base

chamada reescrita,

que permite

substituir um axioma S por cadeias compostas de elementos terminais e/ou


auxiliares, sendo estes ltimos representados por letras maisculas.

As gramticas so objetos de diferentes classificaes em funo


de sua complexidade. Caso a linguagem seja composta por um conjunto
finito de sentenas a gramtica pode ser uma simples listagem de todas as
sentenas vlidas. Por outro lado, para as linguagens finitas, necessrio
um formalismo mais complexo.

No primeiro caso, o das linguagens finitas, o analisador pode ser


implementado como um simples algoritmo de pesquisa sobre o conjunto das
sentenas vlidas. No segundo caso, o das linguagens infinitas, que
correspondem a maioria das linguagens utilizadas, o analisador um
algoritmo que caminha sobre a representao gramatical da linguagem
determinando se a sentena pertence, ou no, a linguagem.

Alguns conceitos bsicos so necessrios uma introduo nesta


rea, so eles:

Gramtica Gerativa: nmero limitado de regras a partir do qual


se pode gerar um nmero infinito de frases que formam uma lngua, dandolhe uma carter aberto, dinmico e criativo.

Frase: uma unidade de linguagem que comunica um


pensamento ou a inteno de uma pessoa.

Sintaxe: o estudo das regras que determinam quais cadeias de


palavras de um vocabulrio podem formar frases.

Nem toda cadeia de palavras sintaticamente correta uma


frase.[LOB 86]

37

Para ilustrar o conceito de gramtica gerativa, vamos supor um


vocabulrio limitado a um par de letras {a,b}. E frases bem formadas que
respeitam a sintaxe da linguagem, seriam as seguintes:

Figura 4.1 Exemplo de uma gramtica gerativa

onde, a Segunda metade igual primeira invertida. As regras


sintticas que geraram estas frases podem ser as seguintes:

Figura 4.2 Regras sintticas que podem gerar a figura 4.1

Estas regras geram as frases conforme o seguinte procedimento:


inicia-se com o smbolo S e o substitu pelo lado direito da regra, se este
lado tambm possuir um S, repete-se o processo at que no haja mais S.
Por exemplo:

Figura 4.3 Gramtica Gerada a partir das regras da figura 4.2

38

Os elementos escritos em minsculo so chamados terminais ( no


caso a e b ), ou seja, partindo somente deles no mais possvel aplicar-se
qualquer regra. Enquanto os escritos em maisculo so no-terminais (no
caso S).

A partir deste exemplo, pode-se ilustrar como formalmente uma


gramtica (G). Ela composta por quatro conjuntos de elementos. Assim:

G = (N,,P,So), onde
N - conjunto dos no terminais
- conjunto dos terminais
P - regras gramaticais ou de produo
So - um no-terminal que serve como smbolo inicial

Por exemplo:

G = ( { S } , { a,b } , { Saa, SaSa, Sbb, SbSb } , So)

A linguagem gerada por esta gramtica representada como:


L (G) = (conjunto de todas as frases de G)

As regras de produo podem ser formadas de muitas maneiras,


caracterizando seu poder de expresso e consequentemente implicando na
complexidade da linguagem. Chomsky classificou as gramticas como
sendo de quatro tipos: linear, livre de contexto, sensvel ao contexto e
irrestrita. A complexidade das regras, e o esforo computacional necessrio
para manuse-las significativamente diferente para cada tipo. Tambm o
ferramental matemtico necessrio para prover o tratamento formal de cada
tipo significativamente mais elaborado de um tipo para outro. Estas classes
esto contidas propriamente umas nas outras. Pode ser observado que uma
gramtica irrestrita engloba uma gramtica sensvel ao contexto que, por sua
vez, engloba uma gramtica livre de contexto que engloba a linear.

39

Figura 4.4 Classificao das Gramticas segundo Chomski

As gramticas que produzem essas linguagens so chamadas


de gerativas. Cada categoria capaz de gerar a classe correspondente, e as
nela contidas. As gramticas regulares e livres de contexto so insuficientes,
por exemplo, para a partir delas produzir frases como : Ana, Maria e Paula
so as esposas de Jos, Mrio e Mauro, respectivamente. Por outro lado,
as gramticas sensveis ao contexto se tornam ineficientes, por introduzirem
ambigidade e por conterem regras complexas e de difcil leitura.

4.3.1 Gramtica Linear

Gramticas
reconhecidas,

porm

regulares
tem

so
um

bastante
poder

de

simples

expresso

facilmente
limitado,

consequentemente no muito teis para o processamento sinttico da


linguagem natural.
As regras de derivao so do tipo YX , onde designa um
elemento do alfabeto, e X e Y so smbolos que pertencem ao vocabulrio
auxiliar. X pode estar ausente. As linguagens descritas por essas gramticas
caracterizam-se pela possibilidade de acrescentar, um nmero arbitrrio de

40

vezes, uma seqncia de palavras, desde que previsto pela respectiva


gramtica.
X Y ou X
X e Y so no terminais e um terminal
Gramtica:
S aX
S bY
Ya
Y aX
Xb
X bY
Exemplo:

Figura 4.5 - Gramtica linear

Onde:

GN = grupo nominal
N = grupo nominal sem determinante
SGN = seqncia do grupo nominal
d = determinante
n = nome
prep = preposio
cc = conjuno coordenativa

41

Sentena e rvore de derivao:

GN N SGN GN

N SGN N

prep

prep

os

alunos

de

(a)

cidade

de

Frederico

Figura 4.6 rvore de derivao -gramtica Linear


Fonte-COULON-KAYSER Informtica e Linguagem natural

Esta mesma gramtica pode ser representada, como segue:


GN d N
N n

n SGN

SGN prep GN

cc GN

| prep N

O smbolo | serve como abreviatura, a saber: A | resume


em uma nica representao as duas regras A e A .

4.3.2 Gramtica Livre de Contexto

Todas as regras de produo de P tem o seguinte formato


X
Onde X est em N e est em (N U ) +
(N U ) a unio dos No terminais com os terminais;
+ o conjunto resultante tem um ou mais elementos
* o conjunto resultante tem zero ou mais elementos

42

Permitem especialmente resolver os chamados fenmenos de


encaixe. Por essa operao, inclui-se totalmente uma seqncia em outra,
inserindo-a no lugar de um dos constituintes dessa ltima.
Gramtica:

Figura 4.7 Gramtica Livre de Contexto

Gera seqncias como:


S bX
babXb
babab
A questo se as gramticas de contexto livre bastam para
descrever as lnguas naturais assunto controvertido. Aps Ter sido
contestada tal possibilidade, a questo foi reaberta a partir dos trabalhos de
Salkoff -79 e de Gazdar 83 . Entretanto, o nmero de regras consideradas
por esses autores to grande (da ordem de bilho), que as conseqncias
prticas so quase as mesmas.

Deve-se assinalar, contudo, que modelos de contexto livre e com


um pequeno nmero de regras so perfeitamente adaptados a subconjuntos
muito limitados da linguagem natural.

4.3.3 Gramtica Sensvel ao Contexto

Se todas as regras de produo de P possuem o seguinte


formato:
Y1 X Y2 Y1 Y2

43

Onde, X pertence a N; Y1, Y2 e esto em (N U )+.


Intuitivamente, X pode ser restrito com , mas somente no contexto de Y1 e
Y2.
Gramtica:

Figura 4.8 Gramtica Sensvel ao Contexto

Onde a seguinte seqncia pode ser gerada:

aX1bc

abX1c

abX2bcc

aX2bbcc

aaX1bbcc

aabX1bcc

aabbX1cc

aabbX2bccc

aaX2bbbccc

aaabbbccc

Em uma gramtica deste tipo as regras somente podem ser


utilizadas em contextos onde o lado esquerdo, incluindo seus terminais e
no-terminais, casa com o conjunto que se deseja provar. Na gramtica
definida para o exemplo anterior o no-terminal X1 s pode ser substitudo
se for seguido por c (regra b) ou por b (regra e).

44

4.3.4 Gramtica Irrestrita

Se todas as regras de produo de P apresentam a seguinte


forma:

onde, pertence ao conjunto (N U )+ e pertence a (N U )*.

Figura 4.9 Gramtica irrestrita

Grande parte das implementaes de verificadores de sintaxe,


como os utilizados em compiladores, queries de banco de dados, e at
mesmo para a linguagem natural, se utilizam gramticas do tipo livre de
contexto. Isto se deve ao fato desta gramtica ter uma performance muito
melhor devido sua maior simplicidade de implementaes e utilizao e
porque atende aos principais requisitos exigidos por estas aplicaes.

4.4 Parsers ou rvores de Derivao


Na gerao de sentenas para gramticas lineares e livres de
contexto podemos observar que a partir do smbolo inicial So, outros
smbolos so chamados at que a seqncia de caracteres da entrada
esteja completa. Este processo pode muito bem ser representado por uma
rvore, onde So a raiz e os no terminais (X,Y,....) da regra So seus
ramos. Os ramos (X,Y) por sua

vez, podem ter outros ramos, at

chegarmos as folhas da rvore, os smbolos terminais.


Dado a gramtica
S aa | aSa | bb| bSb, com a seqncia abbaabba, temos a seguinte
rvore.

45

Figura 4.10 Parsers ou rvore de derivao

Consideramos uma gramtica, onde:


N = { S, SN, SV, SP }
S = Sentena
SN = Sintagma Nominal;
SNC= Sintagma Nominal Complementar;
SV = Sintagma Verbal e
SP = Sintagma Preposicional.
= { artigo, substantivo comum, substantivo prprio, numeral, verbo, prep.}
P = { S SV SNC
SV Verbo SN
SN Artigo SubstComum SN
SN Artigo SubstComum SP
SP Preposio SN
SP preposio
SNCSubstPrprio

46

}
So = S

Podemos interpretar P da seguinte forma: um SV formado por


um verbo seguido de um SN. Um SN formado por artigo seguido de um
substantivo, seguido de um SP ou do prprio SN. A mesma interpretao
pode ser feita para as demais regras.
Deve ser observado que formado por categorias de palavras,
por exemplo:

Artigo = {o,a,os,as}

Substantivo comum = { cliente, endereo,cidade, telefone}

Substantivo prprio = { Frederico Wesphalen, Seberi,Maria}

Verbo = { selecionar, mostrar, listar}

Preposio = {para, de, por}

Conjuno = { com, e}

Derivada desta gramtica, poderia ser geradas frases como:


Mostre os clientes de Frederico Westphalen.
Liste o nome, o telefone dos clientes de Seberi
O exemplo a seguir mostra a derivao da rvore para as frases
citadas acima.

47

a) Mostre os clientes de Frederico Westphalen.

SV

Verbo

SNC

SN

art

subst

SP

prep

Mostre

os

Clientes

de

Frederico Westphalen

Figura 4.11 Exemplo da rvore de derivao - sentena 1

48

b) Liste o nome, o telefone, dos clientes de Seberi

SV

Verbo

art

SNC

SN

subst

art

SN

subst

SP

prep

art

SN

subst

SP

prep

Liste o

nome o

telefone

de os

clientes

de Seberi

Figura 4.12 Exemplo da rvore de derivao - sentena 2

49

Dado um G=(N, , P, So), o procedimento para criar uma rvore


de derivao a partir das regras pode ser facilmente descrito como:
Se Sn X1 X2 X3 ....Xn pertencentes a P, ento liga-se a raiz
Sn aos ndos X1 X2 X3 ...Xn como sendo seus descendentes.
Para cada descendente, Xi Y1 Y2 Y3 ...Yn, liga-se Xi aos
ndos Y1 Y2 Y3 Yn como sendo seus descendentes.

Continue at que todos os conjuntos de descendentes sejam


terminais, ou strings vazias.

4.5 Modelos que no requerem uma sintaxe

Um modelo que no utiliza a sintaxe, apesar de ser muito restrito,


mas com mrito da simplicidade, possui duas categorias de palavras: as
portadoras de significado e as demais. Esta abordagem leva a reduzir o
texto a um conjunto de palavras chaves. Os sinnimos processados
permitem identificar se um texto responde positivo ou no a uma consulta
formulada. Mtodos assim, no podem ser empregados num domnio
semntico muito extenso, pois se existirem muitas palavras o risco de
ambigidade grande, ou quando as construes forem mais complexas.
Existem aplicaes satisfatrias que utilizam este mtodo.Com efeito, no
seria nada descabido traduzir uma consulta desta forma: Mostre o

endereo de Maria por endereo, Maria. No entanto, convm acrescentar


fatores limitativos, como a ordem das palavras (para distinguir, por exemplo,

a casa do chefe de o chefe da casa).[COU 92]

50

4.6 Processamento Semntico


H sempre dois componentes de uma linguagem qualquer: a
maneira na qual ela escrita sua sintaxe e o significado que contm sua
semntica.

No processamento da linguagem natural o problema semntico


crtico e deve ser tratado em todos os nveis do processo de reconhecimento
da linguagem. Pode-se dizer que todas as etapas do tratamento envolvem
um forte componente semntico.

A nvel lxico, a categorizao das palavras, em categorias


gramaticais, prov um primeiro nvel de tratamento semntico. Ao
associarmos informaes como gnero, nmero, a uma palavra, estamos
atribuindo mesma um significado, que ser fundamental para o tratamento
semntico da linguagem.

A nvel sinttico, temos o conceito de dependncia, por exemplo


dependncia verbal onde o sujeito deve concordar com o verbo. Esta
dependncia, ao ser tratada como um problema gramatical, na verdade um
conjunto de restries semnticas impostas pela linguagem para determinar
se uma sentena , ou no, bem formada.

A anlise sinttica-semntica da linguagem natural assemelha-se


muito aos conceitos aplicados s linguagens de programao, onde a
sintaxe uma expresso da forma das sentenas vlidas, enquanto a
semntica se preocupa com uma teoria dos tipos, rejeitando as construes
vlidas, porm sem sentido.

Ento, o primeiro mito a desfazer o de que existe um conjunto


rigoroso de regras que formam a gramtica de qualquer linguagem, o que
no verdade, pois uma linguagem, tal como o ingls ou qualquer outra,
suficientemente sutil para fazer com que nenhum conjunto simples de regras

51

seja suficiente para descrever todas as maneiras em que se pode dizer


alguma coisa.

Outra idia importante que nem tudo o que obedece

mesmo as mais simples regras da gramtica faz sentido. Por exemplo,


sonho dorme furiosamente, uma sentena corretamente formada em
portugus, tendo um substantivo, um verbo e at um advrbio, mas no tem
nenhum sentido. Sonho um substantivo, mas no algo que possa
dormir, que por sua vez, um verbo ao qual no razovel aplicar o
advrbio furiosamente. Em resumo, uma sentena correta mas sem
sentido. [SUE 98]

Vrias abordagens para o problema da criao de uma


representao semntica para uma frase foram desenvolvidas, incluindo as
seguintes:
-

Gramticas de casos, onde a estrutura criada pelo analisador


contm informaes semnticas.

Gramticas semnticas, que combinam conhecimento sintticos,


semnticos e pragmticos em um nico conjunto de regras na
forma de uma gramtica.

Anlise conceitual, os conhecimentos sintticos e semnticos so


combinados em um nico sistema de interpretao orientado pelo
conhecimento semntico. Nessa abordagem, a anlise sinttica
est subordinada interpretao semntica.

Interpretao semntica aproximadamente composicional, onde o


processo semntico aplicado ao resultado de uma anlise
sinttica.

4.6.1 Gramtica de Caso

As gramticas de caso, introduzidas por Fillmore 68, resolvem um


certo nmero de problemas, por abordarem diferente o problema de como

52

combinar a interpretao sinttica e semntica. As regras gramaticais so


escritas para descrever regularidades sintticas, e no semnticas. Mas as
estruturas que as regras produzem correspondem as relaes semnticas, e
no estritamente sintticas.
Consideramos as sentenas: Maria lava a loua e Carla lava a

loua tm a mesma estrutura. Como diferem apenas pelo sujeito, parece


lcito fundi-las em uma s, ou seja, Maria e Carla lavam a loua. Essa
transformao j no possvel com a sentena O sabo lava a loua, pois
a composio Maria e o sabo lavam a loua no aceitvel.

Uma transformao desse tipo deve ter como condio que os


dois sujeitos sejam da mesma classe, o que no se verifica com Maria e
sabo. [COU 92].
Outro exemplo, mame cozinhou por trs horas e o feijo

cozinhou por trs horas. A estrutura sinttica das duas frases so quase
idnticas. O que muda somente o sujeito, "mame" e "o feijo".
importante notar que essa informao semntica na verdade interfere na
sintaxe da lngua. Embora seja permitido juntar duas frases paralelas, ou
seja, podemos unir, como por exemplo, "o feijo e o arroz cozinharam", mas
nunca " A mame e o feijo cozinharam".

No existe uma clara concordncia em torno de qual deve ser


exatamente o conjunto correto de casos profundos, mas alguns bvios sero
listados a seguir:

(A) Agente - Instigador da ao


(I) Instrumento - Causa do evento ou objeto usado para causar o evento
(D) Dativo - Entidade afetada pela ao
(F) Factitivo - Objeto ou ser resultante do evento
(L) Locativo - Local do evento
(F) Fonte - Local a partir de onde alguma coisa se move
(M) Meta - local para onde alguma coisa se move

53

(B) Beneficirio - Ser em cujo interesse (ou benefcio) o evento ocorreu


(T) Tempo - Tempo em que ocorreu o evento
(O) Objeto - Entidade que recebe a ao ou que se transforma, o caso
mais genrico. [RIC 94]

O processo de anlise em representao de casos dirigido


pelas inseres lxicas associadas a cada verbo. As linguagens tm regras
para o mapeamento de estruturas de casos subjacentes para formas
sintticas de superfcie. Por exemplo, se A est presente , ele o sujeito.
Caso contrrio, se I estiver presente, ele o sujeito. Ou ento, o sujeito O.

A anlise travs da gramtica de casos normalmente dirigida


por expectativas. Uma vez localizado o verbo da frase, ele pode ser usado
para prever os sintagmas nominais que ocorrero e determinar o
relacionamento desses sintagmas como resto de frase.

As redes de transio aumentadas (ATNs), que sero descritas


nas prximas pginas, oferecem uma boa estrutura para anlise atravs da
gramtica de caso. Ao contrrio dos algoritmos de anlise tradicionais, em
que a estrutura resultante sempre espelha a estrutura das regras gramaticais
que a criaram, ATNs permitem estruturas de sada de formato arbitrrio.

4.6.2 Gramtica Semntica


Uma gramtica semntica uma gramtica livre de contextos,
onde a escolha de smbolos no-terminais e regras de produo
governada por funes semnticas e sintticas. O resultado da anlise e da
aplicao de todas as aes semnticas associadas ao significado da frase.
Essa ligao ntima entre aes semnticas e regras gramaticais funciona
porque as prprias regras gramaticais so criadas em torno de conceitos
semnticos chave.[SUE 97]
Para evitar as dificuldades em uma anlise sinttica completa,
antes de iniciar qualquer interpretao, ou aquelas dificuldades que surgem

54

ao se associarem os dois nveis (sintticos e semnticos) ao longo de uma


anlise, deve-se ampliar o mecanismo de anlise das gramticas de
contexto livre. Classifica-se as palavras no apenas segundo sua natureza
gramatical, mas tambm pelo seu significado.

Suas principais vantagens so:


Quando a anlise estiver completa, o resultado pode ser
usado

imediatamente,

processamento

do

sem

que

seria

estgio
necessrio

adicional
caso

do
uma

interpretao semntica ainda no tivesse sido realizada.


Ambigidades que surgem durante uma anlise estritamente
sinttica podem ser evitadas. Considere como exemplo: Eu
quero imprimir todos os alunos na impressora X. Durante uma
anlise estritamente sinttica, no seria possvel decidir se o
adjunto adverbial na impressora X refere-se a quero ou a
imprimir. Se usarmos uma gramtica semntica, no haver
ambigidade na interpretao.
A frase: Mostre todos os carros que sonham pela anlise
sinttica a sentena estaria correta mas quando passar pela
semntica resultaria em erro. A semntica acusa que a ao
sonhar esta associada a um ser humano, portanto carro no
humano e no sonha.
As questes sintticas que no afetam a semntica podem ser
ignoradas. Ex.: Imprimir todos os alunos de Frederico
Westphalen na impressora X.

No entanto, h certas desvantagens no uso das gramticas


semnticas:
Nmeros de regras exigidas pode ficar muito grande, porque
muitas generalizaes sinttica no so feitas.

55

Devido ao grande nmero de regras de gramtica, o processo


de anlise pode ser dispendioso.
Depois de muitas experincias com as gramticas semnticas,
em uma variedade de domnio, a concluso parece ser de que
elas so teis para produzir rapidamente interfaces de
subconjuntos restritos de linguagem natural. Mas, no se
acomodam como soluo global para o problema

de

compreenso da linguagem. Elas no foram aprovadas por


no

conseguirem

captar

importantes

generalizaes

lingsticas.[RIC 94]

4.7 Processamento Pragmtico e do Discurso


Para compreendermos uma frase, mesmo que simples,
necessrio considerar o contexto do discurso e o contexto pragmtico em
que a frase foi preferida. Estas questes tornam-se mais importantes,
quando temos por finalidade a compreenso de dilogos.

Considere o texto:
Meu carro foi assaltado ontem.
Eles levaram o aparelho de som e os CDs.

O pronome eles deve ser reconhecido como referncia aos


ladres que entraram na casa.

Para ser possvel reconhecer o relacionamento entre as frases, o


conhecimento sobre o que est sendo discutido tem que ser muito grande.
Os programas que executam a compreenso de vrias frases recorrem a
grandes base de conhecimento ou a forte restries sobre o Domnio do
discurso que apenas uma base de conhecimentos mais limitada seja

56

necessrio. A maneira como esse conhecimento organizado crucial para


o sucesso do programa de compreenso.

Os processamentos efetuados nos diferentes nveis so bastantes


especficos. As realizaes prticas de processar atravs de mquina todos
os nveis e chegar a um bom resultado, ainda que restrito, so raras. Os dois
primeiros nveis no oferecem maiores dificuldades. Este porm, no o
caso dos nveis superiores, semntico e o pragmtico.

4.8 Redes de transio aumentadas (ATNs)


Desde o primeiro uso da ATN ( Augmented Transition Networks)
no sistema LUNAR (Woods, 1993), que permitiu acesso a um grande banco
de dados de informaes sobre a geologia lunar, o mecanismo tem sido
explorado em muitos sistemas de compreenso da linguagem.

As ATNs so formas de representao para gramticas de


linguagens naturais, em substituio s gramticas formais. As ATNs
aceitam alguns modelos gramaticais existentes (sintticos-semnticos). So
grafos do tipo redes recursivas de transio, de que so um incremento.
Esto baseadas nos mesmos autmatos finitos que emergem do
processamento das gramticas regulares, mas com acrscimo de testes
adicionais e efeitos colaterais, na forma de aes apostas a seus arcos.
Com tal expanso, esses mecanismos tornam-se suficientemente poderosos
para processar as linguagens naturais at o grau de manuseio exigido pelas
tarefas que se esperam atualmente dos computadores.

Os acrscimos feitos s redes recursivas para torn-las ATN


incluem:
registros de informaes sobre rvores de derivao parciais
entre saltos para diferentes sub-redes;

57

os arcos da rede, alm de conter nomes de classes


gramaticais ou estruturas sintticas, podem ter associados a
eles teste arbitrrios que devem estar satisfeitos antes que
eles possam ser seguidos numa transio;
aes especiais podem ser apostas a um arco, para que
sejam executadas toda vez que aquele arco seja seguido.

As ATNs so, ao contrrio das gramticas irrestritas, meios


prticos de implementao dos mtodos de gerao e reconhecimento de
linguagens naturais. Outra vantagem das ATNs a possibilidade de incluir
em sua representao diversas caractersticas que teoricamente pertencem
a diferentes formas gramaticais. Elas podem ser usadas, entre outras coisas,
para testar novas idias sobre as teorias gramaticais, existente ou sob
pesquisa.

Os testes e as aes opostos aos seus arcos tornam as ATNs


bem providas para manipular os encargos das gramticas transformacionais:
casos especiais e excees, to bem como as regras gerais esto em
perfeito controle. A principal desvantagem da ATN quando aplicadas ao
processamento da linguagem natural, sua dificuldade em manipular
enunciados agramaticais, embora significativos. Isso decorre de sua forte
dependncia das estruturas sintticas.

A implementao desses princpios dependem fortemente do


sistema computacional, sua capacidade de dados e sua velocidade, e
tambm da linguagem utilizada.

O processo de anlise das ATNs descrito como sendo a


transio de um estado inicial para um estado final em uma rede de
transio . Foi estendida uma classe de marcaes que podem ser
agregadas aos arcos que definem as transies entre os estados. Os arcos
podem ser marcados com uma combinao de:

58

Palavras especficas, como "com".


Categorias de palavras, como "verbo".
Extenses

para

outras

redes

que

reconhecem

os

componentes significativos de uma frase. Por exemplo, uma


rede destinada a reconhecer um sintagma preposicional (SP)
pode incluir um arco se estenda para um sintagma nominal
(SN).
Procedimentos que criam estruturas que faro parte da anlise
final.

Para melhor entendimento

segue um exemplo, elaborado por

Kevin-Elaine (1994), de como uma ATN funciona na frase O grande arquivo

foi impresso.

Figura 4.13 - Exemplo em ATN


Fonte: Rich e Knight - IA

59

As etapas dessa execuo so:

1. Comece com o estado F.


2. V para SN.
3. Teste para ver se "o" um artigo.
4. Se o resultado do teste for positivo, atribua ao registro artigo, o valor

definido e v para o estado Q6,


5. Teste a categoria para ver se "grande" um adjetivo.
6. Se positivo, anexe "grande" lista contida no registro Loc Adj. Fique no
estado Q6.
7. Teste a categoria para ver se "arquivo" um verbo. Esse teste falha.
8. Teste para ver se "arquivo" um substantivo. Se sucesso, atribua ao
registro substantivo o valor "arquivo" e v para o estado Q7.
9. Estenda para SP.
10. Teste a categoria para ver se "foi" uma preposio. Falha, ento
sinalize fracasso.
11. No h nada mais a ser feito no estado Q7. Retorne. O retorno faz com
que mquina v para o estado Ql,
12. Teste

para ver se foi" verbo. Se sucesso, ento atribua NIL ao

registro AUX e atribua ao registro V foi". V para o estado Q4.


13. V para o estado SN. Como a prxima palavra "impresso" no um
artigo ou substantivo prprio, FN retornar fracasso.
14. A nica outra coisa a fazer no estado Q4 parar. Mas ainda restam
outras informaes, ento no foi encontrada uma anlise completa. O
retrocesso se faz necessrio.
15. O ltimo ponto de escolha estava no estado Ql, ento volte para l. Os
registros AUX e V precisam ser redefinidos.
16. Teste para ver se foi" um verbo auxiliar. Sucesso, ento atribua ao
registro AUX para o valor "foi" e v para o estado Q3.
17. Teste para ver se "impresso" um verbo. Sucesso, portanto atribua ao
registro V o valor impresso. V para o estado Q4.
18. Como todas as entradas se esgotaram, Q4 um testado final aceitvel.
Retome a estrutura.

60

Existem vrias maneiras de usar ATNS que no foram mostradas


neste exemplo:

O contedo dos registros pode ser trocado. Por exemplo, se a


rede fosse expandida para reconhecer oraes passivas, no ponto de
deteco do passivo, o contedo atual do registro SUJ seria transferido para
um registro OBJ e o objeto da preposio "por seria colocado no registro
SUJ. Assim, a interpretao final das duas oraes a seguir seria a mesma:

Maria deletou o arquivo


O arquivo foi deletado por Maria
Testes arbitrrios podem ser colocados nos arcos. Em cada um
dos arcos deste exemplo, o teste especificado simplesmente por T
(sempre verdadeiro). Mas este no precisa ser o caso. Suponha que,
quando o primeiro SN for encontrado, seu nmero seja determinado e
registrado em um registro chamado nmero. Depois os arcos marcados V
poderiam executar um teste adicional que verificasse se o nmero
encontrado daquele verbo em particular era igual ao valor armazenado em

nmero. Testes mais sofisticados, envolvendo marcadores semnticos ou


outros recursos semnticos, tambm podem ser realizados.[RIC 94]

4.9 Tratamento de Erros


freqente o usurio cometer erros, seja de significado, sintaxe,
esquecimento e m interpretao. Antes de haver uma recusa para a
resposta

tentador tentar adivinhar o que ele quis dizer. Na prtica o

melhor encontrar a forma correta mais prxima, submetendo-a


confirmao pelo emissor.

No incio dos anos 50, comearam aparecer os primeiros


trabalhos de pesquisa relativo ao tratamento informatizado das lnguas

61

naturais. As ferramentas de tratamento de erros em um texto permitiram,


numa primeira etapa, o tratamento de erros a nvel lxico.

O mercado atual caracterizado por ferramentas que dominam o


universo da palavra, enquanto que ainda no pudemos vivenciar uma
evoluo significativa a nvel de estrutura da frase e de seu significado.
Atualmente, vrios so os programas comercialmente disponveis no que se
refere ao tratamento de erros lxicos, podemos citar WORD da Microsoft,
MANUSCRIPT da Lotus, entre outros. O fator que desencoraja o usurio a
utilizar revisores automticos de texto, alm do considervel tempo de
resposta que, certas ferramentas ou no detectam todas as palavras
erradas presentes no texto, ou assinalam como erradas palavras corretas.

Alguns erros, como os erros de natureza fontica, no so


suficientemente tratados, como o caso de hssido que tem a grafia
foneticamente equivalente a cido. Erros causados pela utilizao de
desinncia incorreta, como exemplo: atora dificilmente seria corrigido por
atriz.

Do ponto de vista lingstica clssico, durante a anlise de uma


frase podemos encontrar erros distribudos em trs nveis diferentes: o nvel
lxico, o nvel sinttico e o nvel semntico, ou seja, erros a nvel de palavra,
da construo e do sentido respectivamente.

A nvel lxico, distinguem-se os erros de ortografia, os erros


fonticos, como a transposio de x por ss, e os erros de gerao, como o
uso de uma desinncia incorreta do plural calcos. Os erros tipogrficos,
como a transposio das letras e e m em mesa (emsa) so igualmente
includos nesta categoria.

A nvel sinttico, devem ser considerados os erros no que diz


respeito a regras de construo de frases e a concordncia entre seus
componentes. Por exemplo, nas frases: ndio comer salada e Mostre

clientes todos podem ser consideradas como sintaticamente errnea, em

62

vista do erro de concordncia. O reconhecimento de erros a nvel sinttico


em um texto constituem um problema mais delicado. A verificao sinttica
exige aplicabilidade de um conjunto de regras que modelam as relaes
entre os componentes. Entre as relaes, encontram-se a ligao entre o
nome e seu determinante, o nome e seu adjetivo, o sujeito e o verbo, bem
como as conjunes, sejam elas coordenativas ou subordinativas.

A nvel semntico, a complexidade e consequentemente a


dificuldade de deteco de um erro

aumenta. Ainda assim, os erros

semnticos podem ser tratados. Por exemplo: O p da mesa est


morrendo. Consideramos que, o p da mesa um ser inanimado, sem vida,
portanto, no pode ento estar morrendo. Para tratar esse tipo de erro,
deve-se especificar algumas caractersticas

da palavra, ou seja, as

especificaes de cada palavra devem estar relacionadas e adicionadas na


base de dados. Para a palavra p por exemplo, sua especificao indicaria
que um ser inanimado, mas tambm, com vida, vegetal, etc. (possuiu
variadas caractersticas por ser uma palavra que pode gerar ambigidade ),
j no caso da palavra mesa indicaria que um ser inanimado, madeira.
Quanto a morrendo, sua especificao seria: ser vivo, humano, animal,
vegetal etc. Testa-se ento: no poder um ser inanimado como o caso
de mesa concordar com o verbo morrer se este refere-se a seres com vida.
A expresso concerta-se pneu deixa transparecer um erro difcil de tratar,
observando que,

se a expresso fosse concerto de gaitas no

detectaramos erro algum .

Os erros pragmticos so provenientes do emprego inapropriado


de uma frase, que por si s, no errnea. Tais erros violam as leis do
discurso, ou violam um cenrio, um script. Por exemplo: Antes do invento da

mquina de escrever, o computador era a ferramenta mais usada. A


perspectiva de chegar-se a um sistema completo de tratamento de erros se
apresenta como um longo caminho a percorrer.

63

4.9.1 Erros Comuns

Erros de Ortografia
No existe um processo de que seja infalvel para tratar esse tipo
de erro, mas pode-se utilizar alguns mtodos para recuperar esta forma de
erro. Uma palavra composta de letras a priori imutveis. Ento, quando
uma palavra mal escrita, ela comparada com as diferentes formas
armazenadas no lxico, no intuito de encontrar a mais adequada, ou seja, a
mais semelhante da solicitada.

Falta de Informaes
Um erro difcil

de ser tratado ou at detectado a falta de

informao. No d a possibilidade de recuperao, pois a dificuldade esta


em aonde e como assinalar as ausncias. Outra dificuldade diz respeito a
incoerncia entre as informaes, da mesma forma, pouco provvel de ser
detectada.

64

5 Sistemas desenvolvidos com interface de


linguagem natural

Vrios so os sistemas que vm sendo desenvolvidos com


interface de linguagem natural. No deve surpreender ento, que a
tecnologia continue avanando e permitindo-nos construir ferramentas que
aumentem nossa limitada, porem inigualvel capacidade humana.

5.1 Baseball, Student e Eliza


Os primeiros programas em linguagem natural procuravam obter
somente resultados limitados em domnios especficos, podemos citar:
BASEBALL de Green, STUDENT de Bodrow e ELIZA de Weizenbaum. As
sentenas de entrada eram simples interrogativas, do qual o programa
retirava palavras-chaves que eram utilizadas para encontrar a resposta. Por
causa do domnio restrito e do processamento de palavras-chaves, estes
sistemas ignoram a complexidade da linguagem.

Os princpios usados pelo ELIZA so muito fceis de descrever.


Inicialmente, varre a entrada em busca de palavra-chave, que, quando
detectadas, disparam sempre a mesma ao, que consiste em ou devolver
uma mensagem padro, ou usar parte da entrada

para construir uma

mensagem. Por exemplo, se o usurio digitasse:


Odeio sorvete
O programa detectaria a palavra- chave odeio e responderia.
No bom odiar
Observe que esta resposta era dada, independente do restante da
frase. Se isso fosse tudo o que ELIZA fizesse, ficaria muito fcil descobrir
que se tratava de um programa, pela quantidade limitada de respostas que
daria. Entretanto, para introduzir alguma variao em suas resposta, o

65

programa fazia uso de sentena de entrada. Qualquer sentena que o


usurio digitasse seria varrida em busca de certas palavras ou frases tais
como meu transformado em seu ou voc em eu sou . A finalidade
destas transformaes simples devolver ao usurio as sentenas que
tenha introduzido, como se estas fossem geradas pelo programa. Por
exemplo, recebendo a sentena:
Voc um idiota
o computador devolveria
sou um idiota
possivelmente acompanhada de alguns sinais de exclamao ou de
interrogao. Estas duas tcnicas, resposta a palavras-chaves e alteraes
de tempos verbais, acompanhada de alguns outros truques especializados,
podem produzir um programa que mantenha uma conversao razovel com
o usurio.

Outra abordagem (PROTO-SYNTHEX I ) de Simmongs, Burger


e Long 1966, onde utilizavam memrias semnticas. Estes sistemas
estocam a representao do texto numa base de dados, usando uma
variedade de esquemas (indexao inteligente) para recuperar materiais
contendo palavras e frases especficas. Respondem somente a perguntas
para as quais foi explicitamente armazenada na base de dados, ou seja, no
utilizam nenhum mecanismo de inferncia.

5.2 Prospector
PROSPECTOR foi desenvolvido nos fins da dcada de 70 no
Stanford Research Institute, por um grupo que inclua Peter Hart, Richard
Duda, R. Reboh, K. Konolige, P. Barret e M. Einandi. O desenvolvimento do
PROSPECTOR foi financiado pelo U. S. Geological Survey e pela National
Science Foundation.

O PROSPECTOR destina-se a oferecer consultas aos gelogos


nos primeiros estgios da pesquisa de um local sobre depsitos de teor

66

mineral. Os dados so sobretudo observaes geolgicas da superfcie e


partem do princpio de que so incertos e incompletos. O que difere o
PROSPECTOR de outros sistemas especialistas que, emprega uma
interface de linguagem natural restrita (LIFER) permitindo aos usurios
digitarem frases da mesma forma que fariam perguntas a um consultor de
geologia.

5.3 Rendezvous e Intellect


O RENDEZVOUS, um sistema experimental desenvolvido pela
Codd na IBM Research, e o INTELLECT, originalmente desenvolvido por
Harris em Dartmouth College (sob o nome de ROBOT) agora disponvel
atravs de Artificial Intelligence Corporation (AIC) e tambm pela IBM sob
licena da AIC (entretanto nem sempre sob o nome de INTELLECT), so
sistemas mais conhecidos em linguagem natural.

RENDEZVOUS opera transformando a consulta original em uma


expresso de clculo relacional, ao faz-lo usa uma base de conhecimento.
A transformao da consulta original feita de modo fragmentrio. De modo
geral, poder haver fragmentos que o RENDEZVOUS no entenda. Para
tanto ele utiliza

um dilogo de esclarecimento com o usurio, tentando

extrair os fragmentos que no foram entendidos.

A estrutura interna do INTELLECT bastante diferente. Primeiro


este sistema no oferece dilogo de esclarecimento com o usurio, emprega
o conhecimento embutido da sintaxe inglesa. Se a consulta oferece
possibilidades de vrias interpretaes, ele pesquisa o banco de dados na
tentativa de descobrir os significado pretendido pelo usurio. Para isto, ele
contm uma extenso ampla e dinmica do dicionrio. O que o INTELLECT
utiliza para a confirmao repetir a consulta para o usurio com o intuito
de esclarecer qual exatamente a consulta que o sistema est
respondendo.

67

idia

do

INTELLECT

parece

ser

prefervel

ao

do

RENDEZVOUS, pois envolve menos esforo por parte do usurio. De outro


lado, a pesquisa ao banco de dados poder ser cara se o banco de dados
for grande. Alm disso RENDEZVOUS mais apropriado quando a consulta
realizada

distante fisicamente do sistema central, porque no h

necessidade de acessar o banco de dados (exceto quanto ao catlogo que


pode estar localmente) at o momento da verso final e completa da
consulta.[HAR 88]

Todos os programas

acima citados

so somente de leitura,

operaes de atualizao no podem ser feitas. A entrada em linguagem


natural feita de forma restrita e digitada. O produto INTELLECT, serve
como front-end para a linguagem FOCUS (4GL).

Criar um razovel sistema de Linguagem natural um processo


lento e caro. O INTELLECT exigiu centenas de homem/ano de trabalho para
ser desenvolvido, at o ponto em que

usurios finais no treinados

pudessem us-lo com confiana.

Temos ainda o THEMIS e o MPG ENGLISH, suas funes so


de aceitar queries em ingls natural e traduzi-los em uma srie de comandos
que controlam a interao de quais sejam as funes do sistema
necessrias para produzir uma resposta. Existem ainda muitos sistemas em
teste e outros que se utilizam da linguagem query, ou seja, linguagem de
pesquisa, mas de forma muito primitiva.

68

6 Ambientes e Instrumentos

Neste captulo, daremos uma viso das caractersticas gerais das


linguagens e dos diferentes ambientes e instrumentos

empregados para

desenvolver sistemas cognitivos.

Figura 6.1 - Os nveis da programtica entre os problemas humanos e


o equipamento
Fonte - HARMON e KING - Sistemas Especialistas

A figura 6.1 oferece uma panormica dos vrios nveis de


programas que existem entre uma situao humana de problema e o

69

equipamento do computador. No cimo da figura, esto os problemas, se


decidimos construir um sistema cognitivo para ajudar o usurio, instrutivo
considerar exatamente quais os nveis que jazem sob o sistema cognitivo.
Devemos considerar o equipamento, a linguagem, o ambiente, o
instrumento, o conhecimento e o problema que se quer resolver. [HAR 88]

6.1 Linguagens
Para definir qual a melhor

linguagem de programao a ser

usada ao implementarmos um sistema de interface natural, devemos


analisar todo o cenrio existente. O que queremos desenvolver, quais so as
restries, as necessidades e principalmente quais objetivos queremos
alcanar. Qualquer que seja o processo, ele sempre existir num ambiente
de desenvolvimento, que a soma total de hardware e software. Pode-se
fazer muitos trabalhos interessantes em ambientes relativamente simples,
mas a nova gerao de software e hardware nos impele a examinar de
onde viemos e o que ser possvel e necessrio no futuro.

Atualmente, os programadores COBOL sentam-se em seus


terminais e utilizam um editor de texto para elaborar o cdigo-fonte ou
corrigir os erros da ltima compilao do sistema que esto construindo.
Feitas as alteraes, eles saem do programa editor e invocam o compilador
COBOL e o editor de linkagem. Aguardam, pela execuo do job de
compilao do programa. Se o programa for compilado e linkado sem erros,
o programador submeter um conjunto de comando JCL para testar o
programa, esperando novamente para o job ser executado. Este ciclo se
repete muitas vezes at que o programa funcione conforme especificaes.
Ainda, durante o processo, o programador deve estar ciente de cada detalhe
da operao do programa: tamanho de memria, definies de variveis,
condies de looping e muitos outros. Este cenrio descreve o ambiente de
desenvolvimento, um tanto penoso, no qual os programadores de COBOL
trabalham atualmente.

70

Os programadores de IA que usam mquinas LISP tm uma


experincia bastante diferente. Em um ambiente LISP pode no haver
compilador e o editor de programas uma parte integrante do mesmo
sistema que executa o cdigo. O programa escrito e depurado numa nica
srie de aes integradas. Se o programa funcionar, ele ento ser
submetido a um compilador uma nica vez, aps o que ser usado num
ambiente de produo. Alm disso, podem existir recursos inteligentes de
apoio ao programador responsveis pelo tratamento da verificao e por
toda a documentao que seria necessria num programa COBOL. Os
assuntos relacionados com tamanho de tabelas, tipos de variveis e outros
afins so, agora, funes para o ambiente de desenvolvimento de IA.

O ambiente contm prottipos depurados de tipos de programas


freqentemente usados, de tal forma que o programador precise somente
fazer alteraes especficas em seu sistema. Ainda, o sistema mantm um
histrico das entradas efetuadas pelo usurio e seus efeitos, as quais podem
ser modificadas ou repetidas, sendo possvel excluir uma srie de entradas,
isto tudo, enquanto o sistema testa o programa.

Tentar implementar um sistema baseado em COBOL, mesmo que


possvel, no nada fcil ou divertido, reduzindo ainda a experincia de
aprendizado. Outras linguagens oferecem um ambiente melhor, como
BASIC, preferencialmente PASCAL ou C e, na melhor das opes, LISP ou
PROLOG (LISP- Linguagem de processamento de listas). Ainda, caso
deseja-se trabalhar com acessos a base de dados em ambientes de 4
gerao, pode-se optar por trabalhar diretamente com a prpria linguagem
do banco de dados.

As linguagens da IA tm caractersticas embutidas que tornam


mais fcil de construir sistemas especialistas ou sistemas com interface em
linguagem natural. Destina-se a manipular, por exemplo, o processamento
simblico. As linguagens convencionais destinam-se essencialmente a
manipular operaes numricas.

muito mais prtico programar um

71

instrumento ou um sistema cognitivo em uma linguagem de IA do que usar


uma linguagem convencional.

Entretanto, o LISP e o PROLOG so menos conhecidos que as


linguagens convencionais (FORTRAM, C, PASCAL, 4GL, etc.). Em relao
ao uso da linguagem LISP, deparamos com um outro problema, rodam
lentos, uma vez que, os sistemas operacionais convencionais traduzem o
LISP de maneira ineficaz para a linguagem de mquina. Durante anos os
pesquisadores em IA procuraram desenvolver um equipamento que usasse
o LISP como sistema operacional. Estas mquinas, chamadas Mquinas
LISP, rodam sistemas cognitivos muito mais rpida e eficientemente que os
equipamentos convencionais que usam um sistema operacional padro.

A programao lgica existe desde o incio dos anos 70 (LISP),


mas no teve sucesso at que a linguagem PROLOG apareceu. PROLOG e
suas possveis linguagens derivadas, ainda no inventadas, provavelmente
tero um impacto importante no uso tradicional da anlise estruturada. Ela
introduz uma nova maneira de pensar no desenvolvimento de sistemas sem
descartar as boas caractersticas do processo tradicional. PROLOG uma
linguagem de especificao descritiva. Ela resolve uma ampla classe de
problemas. parte componente da Quinta gerao de linguagens.

Por outro lado, temos as linguagens de Quarta gerao (4GLs),


elas

so adequadas a uma classe limitada de problemas, nos quais

processos simples e bem determinados so aplicados a base de dados para


produzir respostas bem definidas. Alm disso, so

restritivas quanto

maneira que a informao armazenada. A principal vantagem que, a


maioria dos ambientes de trabalho possuem pelo menos uma a disposio,
e podem ser utilizadas na produo de prottipos de modo relativamente
fcil.

Na verdade, podemos construir sistemas independente do


ambiente, o que conta se ele realmente adequado e eficaz ao que se
quer atingir. Considera-se a virtude de usar o LISP ou o PROLOG pela

72

possibilidade de desenvolver instrumentos mais complexos ou refinados e


visarem mais o futuro imediato que o presente.[HAR 88]

73

7 Modelo do Prottipo

Consideramos no decorrer do trabalho os nveis lingsticos e os


modelos de gramticas existentes para a construo de um sistema de
interface natural. Ento, abordaremos neste captulo os aspectos operativos,
os quais basearam-se no referencial acima.

Nas fases de

processamentos da

linguagem encontramos

geralmente :
analisador morfolgico e lexical
um problema resolvido, com tempo de processamento
dependente do tamanho do dicionrio utilizado. A deciso de
qual o tipo de dicionrio utilizar depende dos objetivos do
sistema e do espao disponvel.
analisador sinttico e semntico
uma mesma frase pode ter mais de uma estrutura derivvel,
denotando interpretaes diferentes. A resoluo desta
ambigidade no possvel a nvel sinttico , devendo este
nvel gerar as interpretaes necessrias e serem tratadas a
nvel semntico.
Analisador pragmtico
Um aspecto que merece um estudo bem mais aprofundado
realizar o processamento a nvel pragmtico. Em certas frases
o

efeito

pretendido

claramente

declarativo,

esta

precisamente a atitude correta. Mas, em outras frases, o efeito


pretendido diferente.

Podemos descobrir este efeito

aplicando um conjunto de regras. A pragmtica trata da


coerncia do texto, como resultado de processos cognitivos
que se operam entre os interlocutores.

74

Devido a grande complexidade que denotam os processadores


semnticos e principalmente ao longo e indefinido perodo de tempo
necessrio para mapear praticamente todas as possibilidades que
definimos no ser possvel fazer uso de um analisador semntico. Para
tanto, desenvolvemos um modelo baseado em

gramticas puramente

sintticas.

Para a implementao utilizou-se

um analisador lxico,

juntamente com as classes gramaticais e os comandos existentes do SQL,


formando assim, um dicionrio de dados. Foi implementado tambm um
analisador sinttico, o qual trata a sintaxe da frase.

Quanto ao ambiente optou-se pelo Banco de Dados ZIM, pelo fato


de ter sido ministrado nas disciplinas de Banco de Dados e estar atualmente
disponvel na universidade. Foi considerado tambm a caracterstica de
portabilidade de sistemas operacionais, ou seja, compatvel com mais de
uma plataforma e principalmente por ser o SGBD em que temos maior
conhecimento.

Para melhor compreenso do problema

e para facilitar a

definio do prottipo, a figura 6.1 mostra a representao das estruturas


utilizada na implementao:

75

Figura 7.1 Esquema do prottipo

Interface: responsvel pela comunicao direta com

usurio, ou seja, ler as sentenas por ele digitadas e mostrar-lhe os


resultados.

Tambm compete interface auxiliar o usurio quanto a

operao do sistema.

Analisador lxico: verifica a existncia de cada palavra da


sentena e a classifica segundo sua classe (verbo, substantivo, artigo, etc.).
Classifica tambm, cada palavra da sentena em uma correspondente em
SQL, se est existir.

76

Analisador Sinttico: responsvel pela verificao sinttica da


sentena enviada, ou seja, verifica se a sentena pertence linguagem
definida pela gramtica. Se responder com sucesso passa para o analisador
SQL, ao contrrio retorna ao usurio uma mensagem de erro.

Analisador SQL:

Recebe a

frase do analisador

sinttico e

verifica se a mesma possui palavras que correspondem a comandos do


SQL, j classificados no lxico. Se positivo, gera a sentena em SQL e a
executa.

Gramtica: Esto armazenadas todas as regras que determinam


a estrutura da linguagem e a funo dos elementos desta estrutura. a
partir da gramtica que podemos, por exemplo, saber que a frase Liste os
Frederico Westphalen est errada.

Dicionrio:

Armazena

as palavras e seus sinnimos, sua

categoria e sua funo SQL, se corresponder a um comando.

7.1 Analisador Lxico


O analisador lxico verifica caracter por caracter at encontrar um
espao em branco, considera ento uma palavra. Verifica se esta palavra
existe no lxico, se positivo, verifica sua classe gramatical correspondentes.
Ainda no lxico testa se a palavra corresponde a algum comando SQL.

7.1.1 Lxico (dicionrio)

No lxico encontra-se a taxinomia das palavras. Exemplificados


resumidamente em:

Determinante (artigo)
determinante (o,a)

77

determinante (os,as)
determinante (um, uma)
determinante (uns, umas)

Pronomes
interrogativo (quantos)
relativo (todos)

Preposio
preposio ( a )
preposio (com)
preposio (de)
preposio (de+a)
preposio (em)

Conjuno
conjuno (e)
conjuno (que)

Advrbio
Lugar (onde)
Modo (como)
Intensidade (mais, menos)

Verbo
Verbo (liste, mostre, relacione)
Verbo (listar, mostrar, relacionar)

Substantivo
comum (cliente)
comum (clientes)

78

Ainda no lxico se encontram as palavras que correspondem a


valores de campo (com respectivos sinnimos se houverem) da base de
dados Clientes,

exemplo:
- Nome
- Endereo
- Bairro
- Cidade
- Cnjuge (esposo, esposa)
- Salrio (renda)
- Sexo

Se para uma palavra existente no dicionrio existir um comando


SQL, esta tambm constar no lxico. Exemplo:

Liste

Select

Relacione

Select

Onde

Where

Com

Where

Todos

Igual

Maior

>

O dicionrio de dados do prottipo compostos por:


Tabelas/Entidades

Categoria
cliente
coluna
dicionrio
funcaosql
gramtica

79

Campo
cacodcategoria
cadescricao

Tabela
categoria
categoria

Campo
clcodcli
clnome
clendereco
clbairro
clcep
clcidade
cldatanascimento
clfone
clsexo
clestadocivil
clconjuge
clsalario

Campo
codescricao
cotipo

Tipo
Tamanho
char
5
varchar
20

Indexado
unique
unique

Tabela
cliente
cliente
cliente
cliente
cliente
cliente
cliente
cliente
cliente
cliente
cliente
cliente

Tipo
int
varchar
varchar
varchar
char
varchar
date
char
char
char
varchar
vastint

Tamanho

Tabela
coluna
coluna

Tipo
varchar
char

Tamanho Indexado
20 unique
10 yes

Tipo
varchar
char
char

Tamanho Indexado
20 unique
5
yes
2
yes

Campo
dipalavra
dicodcategoria
dicodfuncaosql

Tabela
dicionrio
dicionrio
dicionrio

Campo
fucodfuncaosql
fudescricao

Tabela
funcaosql
funcaosql

Campo
grcodgra
grcodcategoria
grproximo

Tabela
gramtica
gramtica
gramtica

Tipo
char
varchar

Tipo
char
char
char

4
30
30
20
8
30
8
11
1
10
30
11

ndexado
unique
yes
no
yes
no
yes
yes
no
yes
yes
no
yes

Tamanho Indexado
2 unique
20 unique

Tamanho Indexado
5
yes
5
yes
5
yes

7.2 Analisador Sinttico


No prottipo o Analisador Sinttico tem a funo de analisar e
converter a frase digitada para ser avaliada pelo analisador SQL. Para atingir
este fim, ele interage com o lxico e a gramtica. Com o primeiro para

80

fornecer a classificao das palavras, e com o segundo para verificar a


funo sinttica desta palavra na frase.

7.2.1 Regras determinsticas e indeterminsticas

analisador

sinttico

dever

provar

regras,

tanto

determinsticas (com uma hiptese de soluo) como indeterminsticas (com


n hipteses de soluo).

As regras so montadas com dois componentes: lado esquerdo e


lado direito.
Ex: V verbo A
Leia-se: um V um verbo seguido de A

O lado esquerdo da regra o que deseja provar, o lado direito as


condies para o lado esquerdo ser verdadeiro.

O lado direito pode combinar elementos terminais e no-terminais,


desta forma todos os elementos devem ser provados para que a sentena
seja verdadeira.

Quando ocorre indeterminismo o analisador dever provar uma


das regras definidas, caso no consiga, tenta provar a outra, e assim
sucessivamente at conseguir provar uma das regras, ou esgotarem as
hipteses. Neste caso a frase no pertence a linguagem definida pela
gramtica.

Ex:
B substantivo
B substantivo C
Leia-se: um B um substantivo ou um substantivo
seguido de C.

81

O indeterminismo aumenta consideravelmente o tempo que o


Analisador Sinttico dispende para analisar a frase. Por exemplo:
a) B substantivo
b) B substantivo C
c) B cdigo C
Para se provar um B, ou se prova a primeira regra , ou a
Segunda, ou ainda, a terceira. Quando tentar provar (a) se verifica se a
palavra atual um substantivo, ou seja, pedir ao lxico para consultar a
taxinomia. Caso no se trate de um

substantivo a regra falha. Tentar

provar (b) novamente ter consultado o lxico realizando uma tarefa j feita
e falha. Tentar provar (c) novamente consulta o lxico agora para ver se a
palavra um cdigo, o que resulta em sucesso. Poder se tornar um
processo lento e caro a medida que a gramtica aumenta, isto , adaptando
casos de indeterminismos.

Exemplo 1
Relacione todos clientes
Verbo pronome substantivo
Exemplo 2
Relacione todos clientes da cidade de Seberi
Verbo pronome substantivo preposio campo
preposiovalor
S
V
A
B
B
C
D
E
X

V
verbo A
pronome B
substantivo
substantivo C
preposio D
campo E
preposio X
valor

Figura 7.2 Exemplo de gramtica sinttica

82

Para o exemplo 1 l-se:

S um verbo seguido de A
A um pronome seguido de B
B um substantivo

Para o exemplo 2 l-se:

S um verbo seguido de A
A um pronome seguido de B
B um substantivo seguido de C
C uma preposio seguido de D
D um valor de campo da base de dados seguido de E
E uma preposio seguida de X
X um valor de registro na base de dados

7.2.2 Gramtica

Uma gramtica realiza testes para que frases que no tenham


uma sintaxe correta no sejam aceitas pelo analisador.

Gramtica:

ver A

art B

pronr B

pronr C

AP

pr I

AV

ver2 AP

subc

99 D

83

subc K

subc E

99 A

subc R

art B

pr B

adv F

adv O

con F

99 G

adv H

adv I

ver2 I

art I

valor

valor J

valor AV

con F

pr L

99 M

pr I

art F

ver A

pron T

99 M

subc2 F

subc2 D

verax A

99 FS

FS

subc G

Onde:

99

- cdigo referindo-se a valor de campo

84

valor - refere-se ao registro do campo 99

Exemplos de sentenas que so aceitas pela gramtica acima:


Mostre todos os clientes
Liste os clientes
Relacione o nome, o endereo dos clientes
Liste o nome, o salrio dos clientes onde sexo for F
Relacione os clientes com salrio igual a 500
Quero os clientes da cidade de Frederico
Mostre os clientes que residem em Frederico
Liste o nome dos clientes que residem em Seberi
A gramtica utilizada no prottipo uma gramtica com
processamento sinttico. Na sua especificao foram utilizadas abreviaturas
(alfabeto) para o conjunto dos no-terminais e um cdigo para referenciar ao
valor de campo da base de dados Cliente.

Se a gramtica da figura 6.3 fosse processada para a seguinte


sentena de entrada:

Liste todos os clientes da cidade de Frederico

liste

verbo (ver)

todos

pronome (pronr)

os

artigo (art)

clientes

substantivo (subsc)

As regras para criao da rvore de derivao so:

1) Comece no estado S que um verbo, seguido de A


S

ver A

85

testa se a palavra liste verbo. Se for positivo, v para o


estado A

2) Estando no estado A teremos ramificaes:


A

art B

pron B

pron C

verax A

Testa se a palavra todos um artigo (Aart B), este teste falha.


Testa ento se todos um pronome (Apron B). Se sucesso, v
para o estado B.

3) Estando no estado B, teremos:


B

subsc

99 D

subc E

subc K

99 A

subc R

subc D

Testa se a palavra os susbtantivo (Bsubsc), este teste falha,


v para o prximo B.
Testa ento se os um valor de campo (B99 D) , falha
novamente.
Passa por todos os Bs, testando se um artigo. Falham todos
os testes.
Retorna ento ao estado A.

3)Estando no estado A, v at o n posterior ao ltimo percorrido


(Apron C).
Testa novamente a categoria, se a palavra todos pronome,
sucesso, ento segue at C.

86

4) Estando no estado C, testa se a palavra os artigo (C art B),


este teste positivo ento segue at B

5) Estando no estado B
B

subsc

99 D

subc E

subc K

99 A

subc R

subc D

testa se a palavra Clientes substantivo seguido de um valor


nulo (Bsubc), se positivo, ento fim.

7.3 Analisador SQL


Os comandos SQL utilizados pelo prottipo esto armazenados
no lxico, ou seja, se para um valor no lxico existir um comando SQL este
o armazenar. O analisador SQL verificar ento, se a sentena de entrada
formou uma sentena em SQL e se a mesma est correta. Se o resultado
positivo ento o analisador manda executar.

Para conseguir executar um comando em SQL padronizou-se que


a sentena de entrada quando se referir a um registro da base de dados
dever conter o nome do campo ou um sinnimo da palavra que se quer
referenciar. Por exemplo:

a) Sentenas vlidas:

Relacione o nome dos clientes da cidade de Ira

Relacione os clientes que moram em Ira.

Liste o cliente onde a renda mensal for superior 1000

87

b) Sentenas invlidas:

Relacione o nome dos clientes de Ira

Relacione os clientes de Ira

Liste o cliente onde for superior 1000

No item b, a primeira e a segunda sentenas so invlidas. No


foi informado que Ira cidade ou algum sinnimo para a palavra cidade,
como morar, residir. O mesmo ocorre na terceira sentena, onde tambm
no foi informado que superior a 1000 salrio ou um sinnimo, como
renda, rendimentos, etc.

88

8 Concluso
Este trabalho apresentou uma viso geral das etapas que
envolvem o reconhecimento e processamento da linguagem natural na
computao.

Descrevemos

os

conceitos

envolvidos

no

tratamento

computacional, em nvel lxico-morfolgico, sinttico, semntico, pragmtico


e do discurso. Problemas inerentes ao processamento da linguagem foram
levantados, podendo ser objeto de estudo para trabalhos futuros.

Todas as linguagens so geradas por um conjunto de regras.


Mesmo assim no universo das lnguas naturais, a definio de gramticas
sensveis aos fenmenos observados ainda no foi alcanada. Pode-se at
mesmo questionar a exeqibilidade de definio de uma gramtica exaustiva
para as lnguas naturais.

O desenvolvimento de sistemas, ainda que restritos,

de

linguagem natural indubitavelmente uma tarefa muito complexa. um


desafio, desenvolver sistemas, economicamente viveis e em tempo
aceitvel, atendendo a critrios de qualidade.

Os progressos, no entanto, se ainda deixam a desejar do ponto


de vista dos sistemas que sejam suficientemente gerais e poderosos para
resolver problemas, ou suficientemente capazes de aprender em reas
especializadas, tm a vantagem de ensinar muito em termos de
generalizao e de pesquisa, e tambm possibilitar a aproximao do
usurio com a mquina atravs de uma interface amigvel.

Diante da complexidade, o resultado obtido em relao ao


prottipo foi positivo, proporcionando-nos uma srie de questionamentos e
respostas, apesar de no encontrarmos bibliografia que referencia acesso a
base de dados, criamos um modelo, no qual a sentena em linguagem
natural convertida em comandos SQL, gerando um arquivo. O Banco de
dados executa a sentena gerada e apresenta o resultado para o usurio.

89

Embora a experincia tenha sido

realizada em domnio

especfico, com vocabulrio restrito e de tratamento apenas sinttico, ficou


evidente que o desenvolvimento em linguagem natural para domnio restrito
vivel.

importante porm, que para um trabalho de continuidade sejam


introduzidas melhorias. A implementao deve ser mais modular e genrica.
Dar uma continuidade ao tratamento sinttico e implementar o semntico,
apenas uma questo de tempo.

Convm ressaltar que a interdisciplinaridade, principalmente na


rea de lingstica, um pr-requisito para que bons trabalhos possam ser
realizados.

Muitos so os problemas a serem resolvidos para que se possa


simular em mquina o comportamento inteligente das pessoas. A
perspectiva de chegarmos a um sistema completo no processamento da
linguagem natural ainda se apresenta como um longo caminho a percorrer.
No entanto, com o resultado deste trabalho e principalmente com o da
implementao do prottipo, podemos ver que possvel dar a este uma
interface na linguagem dos usurios.

90

Bibliografia

[AND 79] ANDR, Hildebrando A. de .

Gramtica Ilustrada. Editora

Moderna-So Paulo, 1979.

[AGU 95] AGUSTINI, Alexandre. Estudo Inicial sobre o Processamento


da Linguagem Natural Trabalho Individual I PUC Curso de
Mestrado em Informtica 1995.

[COU 92] COULON, Daniel e KAYSER, Daniel. Informtica e Linguagem


Natural. Braslia: IBICT ; Rio de Janeiro: SENAI 1992.

[CHO 71] CHOMSKI, Noam. Linguagem e Pensamento. 2. Ed. Vozes


Petrpolis, 1971.

[DAT 89]

DATE, C.J.. Guia para o padro SQL. Ed. Campus-Rio de


Janeiro, 1989.

[HAR 88] HARMON, Paul e KING, David. Sistemas Especialistas. Editora


Campus Ltda Rio de Janeiro, 1988.

[HUN 87] ROBIN, Hunter.

Compiladores. Editora Presena Ltda

Impr./Acabamento. Artes Grficas Ltda. Marfa, 1987.

[KEL 91] KELLER, Roberto. Tecnologias de Sistemas Especialistas.


Makron Books So Paulo, 1991.

[KOW 83] KOWALTOWSKI, Tomasz. Implementao de Linguagens de


Programao, Editora Guanabara Dois S/A Rio de Janeiro,
1983.

91

[KOR 93] KORTH, Henry F. e SILBERSCHATZ, Abraham. Sistemas de


Banco de Dados. 2.ed. Makron Books - So Paulo, 1993.

[LIM 96] LIMA, Vera Lcia Strube de. Processamento da Linguagem


Natural premissas e desafios. Anais IV Escola Regional de
Informtica, 1996.

[LOB 86] LOBATO, Lcia Maria Pinheiro. Sintaxe Gerativa do Portugus.


Editora Vigla Ltda Belo Horizonte, 1986.

[PER 76] PERINI, Mrio A. . A Gramtica Gerativa. Editora Viglia Ltda


Belo Horizonte, 1976.

[PUC 90] PONTIFCIA UNIVERSIDADE CATLICA DO RIO GRANDE DO


SUL. Letras de Hoje. Conceitos de Inteligncia Artificial aplicados
a Lingstica Bertilo Frederico Becker - pg. 15-40. 1990.

[PUC 90] PONTIFCIA UNIVERSIDADE CATLICA DO RIO GRANDE DO


SUL. Letras de Hoje. Tratamento Automatizado da Lngua
Natural Vera Lcia Strube de Lima pg. 41 a 54. 1990.

[RAP 83] RAPOSO, Eduardo Paiva. Introduo Gramtica Generativa.


2.ed.Moraes Editores- Rio de Janeiro, 1983.

[RIC 93] RICH, Elaine e KNIGHT, Kevin. Inteligncia Artificial. Makron


Books do Brasil - So Paulo,1993.

[SUE 97] SUERETH, Russell. Developing Natural Language Interfaces.


McGraw-Hill United States of America, 1997.