insirius – interface inteligente em linguagem...
Post on 16-Nov-2018
213 Views
Preview:
TRANSCRIPT
INPE-6833-TDI/646
INSIRIUS – INTERFACE INTELIGENTE EM LINGUAGEM NATURAL PARA O SISTEMA SIRIUS
Flávia Beatriz Vasconcellos Rodrigues
Dissertação de Mestrado em Computação Aplicada, orientada pelo Dr. Carlos Alberto de Oliveira e Dr. Sólon Venâncio de Carvalho, aprovada em fevereiro de 1998
INPE São José dos Campos
1998
681.3.019 RODRIGUES, F. B. V.
Insirius-interface inteligente em linguagem natural para o sistema sirius / F. B. V. Rodrigues. - São José dos Campos: INPE, 1998.
108p. – (INPE-6833-TDI/646). 1.Inteligência artificial. 2.Linguagem natural.
3.Interfaces. 4. Interação homem-máquina. 5.Representação do conhecimento. 6.Lingüística computacional. I. Título.
“ Se as coisas inanimadas como a flauta ou a cítara não derem
sons distintos, como se distinguirá o que se toca na flauta ou na cítara? E
se a trombeta der um som confuso, quem se preparará para a batalha?
Assim também vós, se falando uma língua não fizerdes um discurso bem
inteligível, como se entenderá o que dizeis? Falareis ao vento! Há, com
efeito, tantos gêneros de línguas neste mundo e todas têm a sua expressão.
Se eu, pois, não entender o que significam as palavras, serei bárbaro para
aquele a quem falo; e o que fala será bárbaro para mim.”
Coríntios 14, vs. 7 – 11.
AGRADECIMENTOS
Ao Dr. Carlos Alberto de Oliveira pela paciência e apoio dados durante a
realização do trabalho, bem como pela excelente orientação.
Ao Dr. Solon Venâncio de Carvalho por concordar em assumir a
orientação do trabalho permitindo o seu desenvolvimento.
Ao Dr. Orion de Oliveira Silva pelo incentivo prestado para a realização
do Mestrado.
Ao Mestre José Demísio Simões da Silva pelas sugestões, auxílio e
opiniões sobre o desenvolvimento do protótipo.
À colega Lucinda Maria da Silva com quem iniciei a modelagem da
Interface proposta neste trabalho durante o curso de Processamento da Linguagem
Natural na Interação Homem Máquina, ministrado pelo professor Carlos Alberto de
Oliveira.
Ao Adhemar pelas opiniões e críticas levantadas sobre a leitura do texto.
À minha família pelo apoio e incentivo que sempre deram para a
realização de meus estudos.
Ao INPE pela aceitação no curso de Mestrado em Computação Aplicada,
e por tornar possível o desenvolvimento deste trabalho.
RESUMO
Este trabalho descreve o desenvolvimento de uma interface inteligente em linguagem
natural para o sistema de pesquisa e recuperação bibliográfica da biblioteca do INPE, o
SIRIUS. A interface proposta traduz uma consulta formulada em linguagem natural para
um comando aceito pelo sistema SIRIUS, sempre que esta puder ser compreendida e
interpretada. O idioma utilizado pela interface é o português do Brasil na forma escrita.
A solicitação do usuário é analisada sintática e semanticamente pela interface. Há uma
base de conhecimento que pode ser expandida a partir de interações com o usuário.
Sempre que a interface não conseguir compreender uma solicitação, será estabelecido
um diálogo com o usuário para tentar capturar sua intenção. O trabalho aborda conceitos
de Inteligência Artificial (IA) e Lingüística Computacional. Utiliza frames e regras de
produção para representar o conhecimento inerente ao protótipo do sistema.
INSIRIUS – INTELLIGENT INTERFACE IN NATURAL LANGUAGE TO THE
SIRIUS SYSTEM
ABSTRACT
This dissertation describes the development of a natural language intelligent interface
for the bibliographical research and retrieval system for the library of INPE, the
SIRIUS. The interface translates a query formulated in natural language into a
command accepted by the SIRIUS system. This occurs when the interface understands
the query. The idiom used by the interface is the Portuguese from Brazil in its written
form. The interface parses the user’s sentence syntatic and semanticly. There is a
knowledge base which can be increased with the interactions with the user. A dialog
with the user will be established whenever the interface does not understand the
sentence. The purpose of this dialog is to capture the intention of the user. The thesis
uses some Artificial Intelligence and Computational Linguistics concepts. It also uses
frames and production rules to represent the knowledge within the prototype system.
XIII
SUMÁRIO
LISTA DE FIGURAS................................................................................................XV
CAPÍTULO 1 - INTRODUÇÃO............................................................................... 17
1.1 - CONSIDERAÇÕES SOBRE AS DIFICULDADES MAIS COMUNS NO TRATAMENTO DA LN18
1.2 - MOTIVAÇÃO, JUSTIFICATIVA E OBJETIVOS ..............................................................20
CAPÍTULO 2 - SISTEMA SIRIUS - UMA VISÃO GERAL................................. 24
2.1 - LINGUAGEM DE CONSULTA .....................................................................................24
2.1.1 - Pesquisa bibliográfica ........................................................................................24
2.1.2 - Informação de circulação ...................................................................................27
2.1.3 - Comandos auxiliares ..........................................................................................27
2.2 - ESQUEMA SIMPLIFICADO DO SÍRIUS ........................................................................28
CAPÍTULO 3 - O QUE SERÁ MODELADO ......................................................... 30
3.1 - A LÍNGUA................................................................................................................30
3.2 - O PROCESSO DE COMUNICAÇÃO ..............................................................................31
3.3 - O CONHECIMENTO ..................................................................................................34
3.3.1 - Considerações sobre a representação do conhecimento.....................................34
3.3.2 - Algumas maneiras de representar o conhecimento............................................36
3.4 - A INTERFACE ..........................................................................................................38
3.4.1 - Introdução ..........................................................................................................38
3.4.2 - Regras gerais de utilização.................................................................................38
3.5 - O USUÁRIO..............................................................................................................42
3.5.1 - Perfil do usuário .................................................................................................43
3.5.2 - Intertextualidade, intencionalidade, situcionalidade e informatividade.............44
3.5.3 - Metas do usuário ................................................................................................45
3.5.4 - Pré-condições e condições de aplicabilidade .....................................................49
3.5.5 - Regras e seus efeitos ..........................................................................................49
CAPÍTULO 4 - MODELAGEM DA INTERFACE INSIRIUS ............................. 52
XIV
4.1 - REPRESENTAÇÃO DA ESTRUTURA FUNCIONAL DA INSIRIUS.....................................52
4.2 - DESCRIÇÃO DOS COMPONENTES FUNCIONAIS DA INSIRIUS ......................................55
4.2.1 - Componente 1: receber solicitação do usuário...................................................55
4.2.2 - Componente 2: verificar solicitação...................................................................55
4.2.3 - Componente 3: apresentar help para solicitação vazia ......................................56
4.2.4 - Componente 4: analisar solicitação não-vazia ...................................................57
4.2.5 - Componente 5: separar palavra a palavra ..........................................................57
4.2.6 - Componente 6: executar analisador sintático e semântico.................................58
4.2.7 - Componente 7: preencher frame de pesquisa.....................................................68
4.2.8 - Componente 8: interagir com usuário para preencher frame .............................69
4.2.9 - Componente 9: converter solicitação para maiúscula........................................74
4.2.10 - Componente 10: montar comando sirius..........................................................74
4.2.11 - Componente 11: finalizar .................................................................................76
CAPÍTULO 5 - CONCLUSÕES ............................................................................... 78
5.1 - CONSIDERAÇÕES INICIAIS .......................................................................................78
5.2 - O PROTÓTIPO INSIRIUS ............................................................................................78
5.2.1 - Arquitetura da insirius........................................................................................81
5.2.2 – Configuração física............................................................................................82
5.2.3 - Desempenho.......................................................................................................83
5.3 – PERSPECTIVAS .......................................................................................................83
5.4 – CONSIDERAÇÕES FINAIS .........................................................................................84
REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................... 87
APÊNDICE A - BIBLIOGRAFIA COMPLEMENTAR........................................ 89
XV
LISTA DE FIGURAS
2.1 - Esquema de expressões de busca utilizando os operadores E e OU.....................25
2.2 - Esquema simplificado do sistema SIRIUS............................................................28
3.1 - Esquema do fluxo de dados entre o usuário, a interface e o sistema SIRIUS.......32
3.2 - Mapeamento entre fatos e representações.............................................................35
3.3 - Verbos da INSIRIUS e suas relações com as primitivas SIRIUS.........................39
3.4 - Palavras-chave.......................................................................................................40
3.5 - Tela com informações básicas da interface...........................................................46
3.6 - Interação interface x usuário: omissão de primitiva. ............................................47
3.7 - Interação interface x usuário: solicitação não compreendida ...............................47
3.8 - Interação interface x usuário: primitiva não pertencente ao domínio. ..................48
3.9 - Consulta à interface: utilização de indicador inferencial. .....................................49
3.10 - Interação interface x usuário: objeto de busca diferente da sintaxe do sistema..49
4.1 - Árvore de decisão INSIRIUS................................................................................53
4.2 - Linguagem natural: análise da língua. ..................................................................54
4.3 - Predicado recebe_solicitação. ...............................................................................55
4.4 - Predicado verifica_solicitação. .............................................................................55
4.5 - Estrutura do frame de resposta..............................................................................56
4.6 - Regras de produção para o frame de resposta. ......................................................57
4.7 - Predicado separa_componentes. ...........................................................................57
4.8 - Predicado separa_palavras. ...................................................................................58
4.9 - Estrutura do analisador sintático e semântico .......................................................59
4.10 - Gramática do sistema. .........................................................................................61
4.11 - “Parse tree”..........................................................................................................62
4.12 - ATN.....................................................................................................................63
4.13 - Representação do conhecimento: vocabulário do sistema ..................................64
4.14 - Regra simplificada de formação do vocabulário.................................................64
4.15 - Predicado classifica_componentes......................................................................65
4.16 - Regras de inferência simplificadas do predicado classifica_componentes.........66
XVI
4.17 - Predicado interpreta_solicitacao. ........................................................................67
4.18 - Regras de inferência: ação desejada....................................................................67
4.19 - Regras de inferência: pesquisa ou solicitação de ajuda. .....................................68
4.20 - Frame de pesquisa. ..............................................................................................69
4.21 - Regras de inferência: preenchimento do frame de pesquisa. ..............................69
4.22 - Frame (situação 1)...............................................................................................70
4.23 - Frame (situação 2)...............................................................................................71
4.24 - Frame (situação 3)...............................................................................................71
4.25 - Frame (situação 4)...............................................................................................72
4.26 - Exemplo de regra de produção: diálogo entre o usuário e a interface. ...............73
4.27 - Predicado converte_solicitacao: representação da conversão dos caracteres da
solicitação em letras maiúsculas.........................................................................74
4.28 - Predicado sinon: representação da busca de sinônimos nos dicionários da
INSIRIUS. ..........................................................................................................74
4.29 - Representação de formatos SIRIUS....................................................................75
4.30 - Predicado formato_pesquisa: representação da formatação do objeto de pesquisa
de acordo com a sintaxe do SIRIUS...................................................................75
4.31 - Predicado associacao: associa verbos em consultas na INSIRIUS com comandos
SIRIUS. ..............................................................................................................76
4.32 - Regra para a montagem do comando SIRIUS. ...................................................76
5.1 - Tela de interação com o usuário para solicitação de ajuda ou solicitação vazia. .. 81
17
CAPÍTULO 1
INTRODUÇÃO
Entre os problemas inerentes à ciência da computação, destaca-se a interação homem-
máquina (IHM). Tal problema caracteriza-se pela dificuldade de diálogo com o usuário,
necessária principalmente quando este não domina plenamente a tarefa que está
executando. Deste modo, a execução da tarefa torna-se mais lenta por exigir mais tempo
e atenção do usuário.
A preocupação no desenvolvimento de interfaces mais amigáveis e inteligentes é
crescente. Os mecanismos de interação utilizados têm variado desde menus até sistemas
que utilizam recursos de Linguagem Natural (LN), incluindo a comunicação escrita e/ou
falada.
Dentre os vários tipos de interação, a interação por menus direciona a realização da
tarefa executada pelo usuário, não permitindo um “diálogo flexível” com a máquina.
Outra ferramenta utilizada na IHM são os ícones, que consistem em figuras que
induzem a alguma ação, com a finalidade de conduzir o usuário na realização de uma
tarefa. Os ícones também apresentam pouca flexibilidade, por não permitirem o
estabelecimento de um diálogo livre com o usuário. Já uma interface em LN permite
uma interação flexível, uma vez que possibilita a comunicação direta entre o homem e a
máquina, através da “linguagem humana”, seja ela escrita e/ou falada. O tratamento da
LN não é tarefa fácil, devido à diversidade de construções permitidas na língua, às
ambigüidades existentes e ao seu alto grau de complexidade. É importante lembrar
também que a comunicação humana não se limita ao sentido das palavras, está dotada
de intencionalidade e é enriquecida de expressões não verbais, como a expressão
corporal, a entonação e o volume da voz.
“Pode-se então, pensar no uso da LN no desenvolvimento de interfaces que facilitem a
IHM. Um ambiente em LN numa abordagem cognitiva, ou seja, baseado em
conhecimento, permite que o usuário participe do processo de execução da tarefa-meta,
explicitando interativamente sua “intenção” . Oliveira (1990).
18
A LN serve como veículo primário de transmissão de informações, permitindo ao
homem expressar diversas idéias e pensamentos, opiniões sobre o mundo e sobre os
fatos. Se é através da LN que o homem estabelece comunicação com os outros seres,
porque não tornar possível o estabelecimento de diálogo entre o homem e a máquina
também através da LN? A LN, por tratar-se da língua utilizada pelo homem em seu
cotidiano, pode facilitar a IHM, deixando-o mais seguro e a vontade para realizar as
tarefas em computador, uma vez que ele não precisa dominar linguagens de comandos,
menus ou ícones para obter uma interação eficiente. É importante ressaltar que a opção
pelo uso da LN não implica a não utilização de menus, ícones etc. na IHM. O uso de
menus, por exemplo, pode ser de muita utilidade por estes conduzirem o usuário em
algum ponto da realização da tarefa, como uma confirmação para validar uma
solicitação por ele efetuada.
As palavras dado e informação são usadas, neste contexto, como sinônimos, e tem o
seguinte significado: representam fatos ou entidades conhecidas. A palavra
conhecimento representa o conjunto de informações que o usuário e a interface
possuem.
1.1 - CONSIDERAÇÕES SOBRE AS DIFICULDADES MAIS COMUNS NO
TRATAMENTO DA LN
Apesar de os recursos da LN facilitarem a IHM, muitos optam por não utilizá-los
devido a muitos dos problemas inerentes à LN não terem sido totalmente resolvidos,
dificultando, deste modo, o desenvolvimento dos sistemas. Tais problemas incluem a
quantidade de conhecimento a ser armazenada, que é fundamental para a realização da
IHM. Uma vez que o usuário emprega sua linguagem habitual para realizar uma tarefa
em computador dentro de um domínio específico, é necessário que a máquina
compreenda sua solicitação e possua conhecimento suficiente para efetuá-la.
A Lingüística Computacional é o estudo pelo qual se visa obter a compreensão e
geração da LN por computador. O conhecimento referente ao domínio do problema
deve ser representado de modo que a IHM seja possível. Novos conhecimentos poderão
19
ser adquiridos a partir do diálogo entre o homem e a máquina, os quais serão
armazenados, caracterizando um “aprendizado” da máquina obtido a partir de suas
interações com o homem. Deste modo o conhecimento da máquina será expandido,
tornando-a cada vez mais “apta” para realizar as tarefas pertencentes aquele domínio
específico. Devido ao conhecimento mais amplo, o número de interações homem-
máquina será reduzido, diminuindo também o tempo total despendido para realizar a
tarefa.
Um dos problemas mais difíceis de tratar computacionalmente será o da ambigüidade
das linguagens naturais, ou seja, a existência de várias formas possíveis de entender
uma mesma frase. Normalmente, procura-se resolver o problema da ambigüidade
analisando-se o contexto da própria frase (análise semântico-pragmática). Se não for
possível captar a intenção do usuário, através da compreensão da sentença por ele
fornecida, a interface estabelecerá diálogo a fim de tentar descobrir sua intenção:
ocorrendo ambigüidade, a consulta ao usuário fica inevitável.
Existem ainda dois fenômenos lingüísticos que ocorrem na construção de frases: a
Elipse e a Anáfora. Elipse é a omissão de palavras numa frase, as quais ficam
subentendidas. Por exemplo: “Quanta beleza na Terra. (Quanta beleza há na Terra).”
Anáfora é a referência, usando pronomes, a uma entidade já definida anteriormente. Por
exemplo: “Raul é médico. Ele costuma atender vários pacientes por dia.” Ambos os
fenômenos são muito comuns na comunicação através da LN e para tratá-los deverão
ser mantidas estruturas frasais que constituam uma espécie de foco do texto ou diálogo,
que escapam à Semântica, mas são estudados pela Pragmática.
Para possibilitar uma IHM eficiente, o usuário deverá ser modelado, de modo que sua
intenção possa ser descoberta com maior eficiência pela interface e que esta forneça
resultados satisfatórios. Tal modelagem pode ser realizada utilizando-se os recursos da
própria LN ou outros recursos tais como lógica fuzzy ou neurocomputação.
A comunicação através da LN, por sua vez, necessita de um maior número de recursos
de hardware uma vez que a linguagem habitual do homem é livre, ou seja, permite a
20
utilização de vários tipos de construção gramatical para expressar uma mesma idéia,
respeitando-se, evidentemente, a sintaxe e semântica da língua. O aumento do
armazenamento de informações não representa um empecilho para a utilização da LN,
uma vez que as máquinas atuais apresentam grande capacidade de armazenamento e
estão em plena evolução.
Outra dificuldade encontrada na utilização da LN é que a representação do
conhecimento pertencente a um certo domínio pode apresentar alto grau de
complexidade, exigindo que o projetista torne-se um profundo conhecedor do domínio,
ou mantenha interações constantes com especialistas no domínio. Por um lado, diminui
a dificuldade do usuário em realizar uma tarefa pertencente a um domínio específico,
uma vez que este não precisa decorar sintaxes nem comandos para isto; por outro lado,
aumenta o envolvimento do projetista na realização do trabalho devido à representação
do conhecimento em um sistema em LN ser minuciosa e detalhada.
É importante ressaltar que embora o objetivo dos sistemas em LN na IHM seja o
estabelecimento de um diálogo o mais próximo possível do homem, neste caso
realizado através de sua língua habitual, seja ela escrita (transmitida à máquina via
teclado) e/ou falada (via microfone), a utilização de outros recursos, tais como, mouses,
ícones, menus etc. não deve ser descartada, pois pode facilitar a interação,
direcionando-a de forma mais adequada.
Uma decisão que deve ser tomada ao desenvolver sistemas em LN refere-se ao modo
de representação do conhecimento e à escolha da ferramenta a serem utilizados, tratados
respectivamente nos Capítulo 3 e 4.
1.2 - MOTIVAÇÃO, JUSTIFICATIVA E OBJETIVOS
Estudos sobre o processamento da LN, muitos deles relacionados à IHM, têm sido
desenvolvidos em diversos países do mundo, mostrando o interesse no crescimento da
área e caracterizando sua importância para a Ciência da Computação.
21
Na Universidade de StaffordShire, Inglaterra, o Dr. B. Sharp do grupo de pesquisa de
Inteligência Artificial, interessado no processamento e compreensão da Linguagem
Natural, está desenvolvendo o protótipo INFORMEX que produz a extração automática
de um conjunto de textos científicos usando conhecimentos lingüísticos, cognitivos e
regras heurísticas. A pesquisa em andamento investiga várias estratégias para
representar o conhecimento do domínio no INFORMEX.
O Departamento de Inteligência Artificial da Universidade de Edinburgh, Inglaterra,
tem uma longa experiência na área de Processamento da Linguagem Natural e
Lingüística Computacional, mantendo ligações com outros departamentos e centros da
Universidade de Edinburgh que também trabalham na área de linguagem. Tais
departamentos incluem o Centro de Ciência Cognitiva (CCS), o Centro de Pesquisa
sobre a Comunicação Humana (HCRC), o Departamento de Lingüística e o Centro
Tecnológico de Pesquisa da Linguagem. Possui, ainda, ligação com a Rede Européia de
Linguagem e Fala (ELSNET). Suas principais áreas de interesse são:
a construção de interfaces de usuários integrados empregando a linguagem
natural para a entrada e/ou saída extraindo informações de bases de conhecimento;
o desenvolvimento de representações de significado lingüisticamente gerais, mas
computacionalmente tratáveis;
o estudo matemático das propriedades de notações lingüísticas e sistemas de
regras, como por exemplo complexidade.
O trabalho desenvolvido pelo “Massachusetts Institute of Technology” (MIT),
intitulado: “Advances in Human-Computer Interaction: The Intelligent Room”, também
demonstra o interesse deste instituto no aprimoramento da IHM. Além disso, o
Laboratório de Inteligência Artificial do MIT possui um sistema de perguntas e
respostas em linguagem natural, através do qual os usuário da Internet podem obter
informações sobre as pesquisas e as pessoas ligadas ao Laboratório. O sistema START,
que está sendo desenvolvido por Boris Katz, está disponível na “World Wide Web”
(WWW) desde dezembro de 1993. Ele consiste em um sistema de processamento da
linguagem natural que analisa textos e gera uma base de conhecimentos que incorpora
22
informações encontradas no texto (ampliação do conhecimento). Um usuário pode
recuperar uma informação armazenada na base de conhecimento através de uma
pergunta em inglês, para a qual o sistema produzirá uma resposta também em inglês.
Embora os objetivos da pesquisa em LN sejam muito variados, a motivação principal
tem sido o desenvolvimento de sistemas específicos, principalmente para recuperação
de informações, tradução por computador e interfaces homem-máquina. As interfaces
em LN para a IHM têm tido um sucesso maior em relação as outras áreas de aplicação
(tradução por computador e recuperação de informações), devido a sua natureza
interativa, que permite ao sistema estabelecer diálogo com o usuário, caso não consiga
compreender sua solicitação. Grishman (1986).
O uso da LN na IHM apresenta vantagens sobre a utilização de ícones, menus etc. por
possibilitar o estabelecimento de diálogos entre o homem e a máquina quando
necessário. Ademais, por tratar-se da língua utilizada pelo homem em seu cotidiano,
possibilita facilidades quanto ao uso de sistemas computacionais. Assim, um dos
principais aspectos que motivaram esta pesquisa foi estudar o Processamento da
Linguagem Natural na Interação Homem Máquina, observando as facilidades de uso
que uma interface inteligente em LN proporciona aos seus usuários.
Escolheu-se o sistema SIRIUS, sistema de pesquisa e recuperação bibliográfica da
biblioteca do INPE, como base para o desenvolvimento desta interface inteligente,
devido a sua sintaxe difícil e pouco amigável, que pode ser observada através da leitura
do Capítulo 2.
É com base no discutido anteriormente que decidiu-se desenvolver uma interface
inteligente para facilitar a utilização do sistema SIRIUS, tratado no Capítulo 2.
A idéia de desenvolver uma interface para o sistema SIRIUS surgiu de estudos sobre o
processamento da LN na IHC realizados pelas alunas do curso de mestrado em
Computação Aplicada do INPE, Flávia Beatriz e Lucinda Maria com a orientação do
professor Dr. Carlos Alberto de Oliveira. O trabalho teve início em meados do ano de
1996 e limitou-se à modelagem de uma interface de nome INSIRIUS para facilitar a
23
utilização do sistema SIRIUS da biblioteca. A interface modelada previa diálogos com o
usuário, o mais próximo possível de sua realidade, a fim de tornar mais amigável a
interação com a máquina. Optou-se pela utilização do idioma português do Brasil,
apenas na forma escrita, permitindo-se o uso de palavras de idioma estrangeiro apenas
quando estas fossem pertencentes a nome de obras, autores, assuntos etc., e palavras
conhecidas dos utilizadores de computador, tais como HELP. A língua, o processo de
comunicação, o conhecimento, a interface e o usuário estão modelados no Capítulo 3. O
Capítulo 4 descreve a modelagem da interface INSIRIUS. As conclusões e
considerações sobre o protótipo são discutidas no Capítulo 5.
O objetivo desse trabalho de mestrado, que é parte de um programa de pesquisa do
professor Dr. Carlos Alberto de Oliveira, é o estudo do Processamento da Linguagem
Natural na Interação Homem Máquina, através do aperfeiçoamento e da implementação
da interface modelada. Optou-se pela construção de um sistema (protótipo) que seja
capaz de permitir uma interação simples e amigável entre o usuário da biblioteca do
INPE e o sistema SIRIUS, objetivando mostrar as vantagens e desvantagens em se
desenvolver sistemas em LN e o porquê da opção pela LN.
Pelo domínio da aplicação ser restrito, optou-se pelo uso de uma sublinguagem
composta de um vocabulário (gramática do sistema) e um conjunto de regras, a fim de
reduzir a ambigüidade existente na língua como um todo e facilitar a interpretação das
sentenças.
24
CAPÍTULO 2
SISTEMA SIRIUS - UMA VISÃO GERAL
O Sistema de Pesquisa e Recuperação Bibliográfica, denominado SIRIUS, é um
mecanismo de pesquisa e recuperação de informação relativa ao acervo bibliográfico da
Biblioteca do INPE. Este sistema é aberto a qualquer usuário e sua utilização dá-se por
meio de um terminal de vídeo.
2.1 - LINGUAGEM DE CONSULTA
A linguagem é composta por um conjunto de COMANDOS, utilizados na interface
entre o usuário e o sistema. São permitidas duas categorias de consultas:
- Pesquisa Bibliográfica
- Informação de Circulação
2.1.1 - PESQUISA BIBLIOGRÁFICA
Realizada através da composição de argumentos-de-busca.
2.1.1.1 – ARGUMENTOS DE BUSCA
São as palavras utilizadas para localizar referências bibliográficas.
Os tipos de argumentos e a sintaxe permitida são os seguintes:
“Palavra-do-Título(*)” : recuperar referências bibliográficas que possuem no
título determinada palavra. 1 a 100 caracteres.
<Nome-de-Autor(*)> : recuperar referências bibliográficas que pertencem ao
autor. 1 a 100 caracteres.
[Assunto(*)] : recuperar referências bibliográficas sobre determinado assunto. 1
a 100 caracteres.
$Palavra-de-Série(*)$ : recuperar referências bibliográficas pertencentes a uma
série de publicações. 1 a 100 caracteres.
25
A combinação de argumentos-de-busca permite a criação de EXPRESSÕES-DE-
BUSCA, utilizadas como especificação para as pesquisas.
A utilização do * (opcional) no final do argumento-de-busca permite criar um prefixo,
que representa simultaneamente todos os argumentos-de-busca existentes, cujos
caracteres iniciais são iguais aos daquele prefixo.
2.1.1.2 – EXPRESSÕES DE BUSCA
Combinação de um ou mais argumentos-de-busca, através dos operadores: E, OU,
MASNAO.
Prioridade dos Operadores: MASNAO, E, OU.
A utilização de parênteses ( ) força a mudança nesta hierarquia.
Exemplo:
arg1 OU arg2 E arg3
( arg1 OU arg2 ) E arg3
1
2
1
2
Fig. 2.1 - Esquema de expressões de busca utilizando os operadores E e OU
2.1.1.3 – NOMES DE EXPRESSÃO
Nome qualquer utilizado para associar a uma expressão-de-busca, que será usado
posteriormente. Admite de 1 a 12 caracteres. Não permite os nomes E, OU e MASNAO.
26
2.1.1.4 - COMANDOS
A) DEFINA
Comando pelo qual se efetua uma pesquisa bibliográfica. Define um nome-de-expressão
associando-o a uma expressão-de-busca.
Sintaxe:
DEFINA nome-de-expressão = expressão-de-busca
B) MOSTRE
Lista todas as referências bibliográficas cujos argumentos-de-busca possuem a mesma
raiz.
Sintaxe:
MOSTRE argumento-de-busca
C) VERIFIQUE
Exibe no terminal as referências bibliográficas, uma a uma, que correspondam a uma
expressão-de-busca definida anteriormente pelo comando DEFINA.
Sintaxe:
VERIFIQUE nome-de-expressão
D) IMPRIMA
Tem o mesmo efeito do comando VERIFIQUE, listando os resultados através da
impressora.
Sintaxe:
IMPRIMA nome-de-expressão (A/C/T)
onde o parâmetro opcional indica o modo de ordenação do relatório:
A - autor C - cronológica T - título
27
E) NOMES
Exibe a relação de todos os nomes-de-expressão definidos desde a inicialização da
sessão de consultas.
Sintaxe:
NOMES
2.1.2 - INFORMAÇÃO DE CIRCULAÇÃO
Informa a situação de um usuário e/ou material quanto a empréstimos e reservas.
2.1.2.1 - COMANDOS
A) MATERIAL
Situação atual do material.
Sintaxe:
MATERIAL (L/F/R)+número-de-tombo
Em que: L - livro F - folheto R - revista
B) USUARIO
Situação atual do usuário.
Sintaxe:
USUARIO número-de-registro-no-INPE
2.1.3 - COMANDOS AUXILIARES
A) SOS - help
Sintaxe:
SOS(COMANDO-SIRIUS/ARGUMENTO/EXPRESSÃO/
PREFIXO/MASNAO/E/OU)
28
B) FIM
Encerra uma sessão de consultas.
Sintaxe:
FIM
2.2 - ESQUEMA SIMPLIFICADO DO SÍRIUS
O esquema simplificado do sistema de pesquisa e recuperação bibliográfica SIRIUS é
representado a seguir (Figura 2.2):
SISTEMA DE PESQUISA E RECUPERAÇÃOBIBLIOGRÁFICA - SIRIUS
PESQUISABIBLIOGRÁFICA
INFORMAÇÃO DECIRCULAÇÃO
ARGUMENTOS OPERADORES COMANDOS
"palavra-do-título" E MOSTRE<nome-do-autor> OU DEFINA[assunto] MASNAO VERIFIQUE$palavra-de-série$ IMPRIMA NOMES
COMANDOS Nro. Material ou Usuário
MATERIAL cód. nro. material L-livro nro-tombo F-folheto nro-tombo R-revista nro-de-código
USUÁRIO nro-do-registro-INPE
Comandos AuxiliaresSOSFIMÁrea de
Abrangênciada
Interface
Fig. 2.2 - Esquema simplificado do sistema SIRIUS
29
A área de abrangência da interface, delimitada na Figura 2.2 acima, indica a parte do
sistema SIRIUS estudado para o desenvolvimento da interface INSIRIUS. A interface
estará restrita apenas ao domínio de pesquisas bibliográficas, por ele ser suficiente para
validar os estudos realizados sobre o processamento da LN na IHM e pela Interface
tratar-se apenas de um protótipo para validar tais estudos. A parte do sistema SIRIUS
referente a Informações de Circulação poderá vir a ser tratada em um trabalho futuro.
30
CAPÍTULO 3
O QUE SERÁ MODELADO
São modelados alguns aspectos principais presentes no processo de interação entre o
usuário e a interface, entre eles:
a língua empregada na comunicação e sua forma de utilização;
o processo de comunicação entre o usuário e a interface;
o conhecimento inerente à interface;
a interface e suas regras gerais de utilização;
o usuário da interface.
3.1 - A LÍNGUA
Língua é um sistema de signos e pode servir como metalinguagem/linguagem objeto
para a maioria das outras linguagens. “Linguagem é uma forma de ação, ação sobre o
mundo dotada de intencionalidade, veiculadora de ideologia, caracterizando-se,
portanto, pela argumentatividade.” Koch (1984)
Embora a linguagem falada seja a forma mais natural de interação entre o homem e a
máquina, devido a sua complexidade, a interface proposta neste trabalho utiliza a
linguagem escrita. O uso desta linguagem obedece a um esquema constituído de uma
gramática fixa que pode ser complementada através de interações entre a interface e o
usuário, sempre que for possível identificar a intencionalidade deste. O conhecimento
da interface está armazenado em dicionários, sendo eles abertos (dinâmicos) e
fechados. Os dicionários fechados são fixos. Todos os verbos inicialmente conhecidos
pela interface (verbos primitivos), estão armazenados no dicionário fechado de verbos,
antes mesmo que qualquer interação com o usuário tenha sido realizada. Os dicionários
abertos poderão ser ampliados a partir das interações com o usuário. Cada vez que este
informar à interface que um determinado verbo por ele escrito é sinônimo de um verbo
conhecido da interface (pertencente ao dicionário fechado de verbos), tal verbo será
31
acrescentado ao dicionário aberto de verbos, aumentando a quantidade de conhecimento
da interface. Esta gramática está descrita no item Modelagem dos Níveis de Análise da
Língua (Capítulo 4).
Os níveis de descrição sintático e semântico são compostos por um subconjunto
bastante restrito de signos e regras pertencentes à língua portuguesa do Brasil. As
únicas palavras permitidas de outra língua são as que representam algum tipo de
argumento-de-busca, que são os parâmetros necessários para a montagem de um
comando de pesquisa no Sistema SIRIUS, ou a palavra HELP utilizada neste contexto
como sinônimo de AJUDA. Maiores detalhes sobre estes níveis estão tratados na
Modelagem dos Níveis de Análise da Língua (Capítulo 4).
3.2 - O PROCESSO DE COMUNICAÇÃO
Segundo Jakobson (1969), podem ser isolados seis fatores intervenientes no ato da
comunicação, a saber : “ Um remetente (emissor ou destinador de signos) envia uma
mensagem a um destinatário (ouvinte, receptor de signos), através de um canal. Esta
mensagem, construída com um código parcialmente comum ao remetente e ao
destinatário, refere-se a um contexto”.
Neste trabalho, o usuário e a interface podem ser considerados remetente ou
destinatário, dependendo do papel que estejam desempenhando na comunicação, em um
determinado instante. As mensagens são veiculadas através de um canal constituído
pelo hardware do computador onde a interface estiver instalada. O código é composto
do esquema gramatical citado anteriormente e o contexto refere-se às possibilidades de
busca de informação bibliográfica no Sistema SIRIUS.
Uma vez que o processo de comunicação utiliza como canal o hardware de um
computador, deve-se ressaltar que a interface não trata problemas associados ao mal
funcionamento deste. Uma premissa importante é que o hardware deve estar em
condições apropriadas para a execução do sistema, atendendo aos seguintes requisitos
básicos:
32
Existência de um microcomputador PC com tecnologia atualizada de
microprocessador;
Monitor de vídeo preferencialmente colorido;
Teclado padrão 101 teclas (português);
O processo de comunicação entre o usuário da biblioteca, a interface INSIRIUS e o
sistema SIRIUS é ilustrado a seguir (Figura 3.1). Devido à proposta deste trabalho ser a
aplicação da LN na IHM, a implementação do protótipo está abordando apenas a
comunicação entre o usuário e a interface, não tratando, portanto, a comunicação efetiva
com o sistema SIRIUS.
Remetente/Destinatário
SistemaSIRIUS
Destinatário/Remetente
USUÁRIOINTERFACEC1 -> M1
C2 -> M2
C3 -> M3
C4 -> M4
C5 -> M5
LEGENDA
Fluxos de Dados sobre a Responsabilidade da InterfaceFluxos de Dados sobre a Responsabilidade de outra Interface( fora do escopo deste trabalho )
C
M
Canal de Comunicação
Mensagem
Fig. 3.1 - Esquema do fluxo de dados entre o usuário, a interface e o sistema SIRIUS.
Em que: Os canais de comunicação são representados por C1, C2, C3, C4 e C5 e as
mensagens por M1, M2, M3, M4 e M5, cujas descrições são dadas a seguir:
C1 : canal utilizando o teclado como meio de entrada de dados. Linguagem
escrita utilizando português restrito e ampliável (esquema gramatical).
M1: mensagem contendo a solicitação do usuário à interface, ou resposta a uma
pergunta recebida da interface.
33
C2: canal utilizando o monitor de vídeo como meio de saída de dados.
Linguagem escrita utilizando português restrito e ampliado pelas interações com
o usuário.
M2: mensagem correspondente à resposta da interface ao usuário. Informa que
houve uma solicitação satisfatória ou elabora perguntas, segundo heurísticas,
que estão modeladas no Capítulo 4, para tentar descobrir a intencionalidade do
usuário (meio utilizado para ampliar o léxico da interface). Esta mensagem deve
ser construída, de forma tal que o diálogo com o usuário não seja interrompido
até que uma meta seja alcançada.
C3: canal a definir – seria o meio de comunicação com o sistema SIRIUS;
M3: mensagem a definir – seria o envio do comando gerado pela interface após
a interpretação da solicitação do usuário para o SIRIUS.
C4: canal a definir - meio através do qual o SIRIUS sinalizaria à interface se um
resultado positivo foi ou não alcançado.
M4: mensagem a definir - indicaria o estado do SIRIUS em função do comando
recebido da interface.
C5: canal a definir - utilizaria o monitor de vídeo na comunicação com o
usuário;
M5: mensagem a definir - conteria o resultado da pesquisa efetuada pelo sistema
SIRIUS.
As funções dialógicas enfatizadas na comunicação entre o usuário e a interface são:
Função Referencial: indicativa da intertextualidade. Tanto a interface quanto o
usuário deverão estabelecer o diálogo utilizando o mesmo conjunto de signos e
regras do esquema gramatical.
Função Emotiva: indicativa da tentativa da interface em descobrir a
intencionalidade do usuário, através de diálogos.
Função Conativa: indicativa da propriedade da interface em influenciar o usuário
a utilizar corretamente os recursos disponíveis.
34
Função Fática: indicativa da propriedade da interface em criar solidariedade com
o usuário, evitando que o diálogo seja interrompido bruscamente sem que o
usuário saiba o que está acontecendo (situacionalidade).
Função Metalingüística: quando a interface utilizar seu próprio conjunto de
regras para explicar seu funcionamento ao usuário.
3.3 - O CONHECIMENTO
3.3.1-CONSIDERAÇÕES SOBRE A REPRESENTAÇÃO DO CONHECIMENTO
A fim de proporcionar uma eficiente interação com o usuário, a interface INSIRIUS
requer uma certa quantidade de conhecimento e alguns mecanismos para manipular este
conhecimento. Diversas formas de se representar o conhecimento (fatos) têm sido
exploradas em sistemas de Inteligência Artificial (IA). Para tanto, deve-se considerar a
existência de fatos e a representação desses fatos.
Segundo Rich (1993): “Fatos são verdades em algum mundo relevante, são coisas que
queremos representar. Representações de Fatos em algum formalismo escolhido são as
coisas que realmente conseguiremos manipular”. Propõe ainda a estruturação dessas
entidades (Fatos e Representação dos Fatos) em dois níveis:
Nível do Conhecimento - onde os fatos são descritos;
Nível do Símbolo - onde as representações dos objetos no nível do
conhecimento são definidas em termos de símbolos que podem ser manipulados
por programas.
A estruturação das entidades (Fatos e Representação dos fatos) é ilustrada a seguir
(Figura 3.2). As ligações representam o tipo de mapeamento existente entre as
entidades.
35
Fatos
Representações do Português
Representações Internas
Representaçãodo Português
Programas de Raciocínio
Geração do Português
Fig. 3.2 - Mapeamento entre fatos e representações. FONTE: RICH(1993, p. 126)
O mapeamento da representação para frente vai dos fatos para as representações e o da
representação para trás vai das representações para os fatos.
Nesta interface, o interesse está na representação dos fatos da língua portuguesa
pertencentes ao domínio estabelecido, a fim de obter informações do sistema e para o
sistema. Para isso, estão sendo utilizados mecanismos de mapeamento de sentenças em
LN pertencentes ao domínio restrito para a representação permitida pelo sistema e vice-
versa (Figura 3.2).
O sistema deve interpretar a sentença através da identificação do fato por ela
representado, convertendo-a para a representação lógica por ele utilizada. Sua tarefa é a
de interpretar as informações do usuário, manipulando as representações internas dos
fatos que lhe são dados, gerando sentenças que correspondam à resposta ao problema
descrito pela sentença inicial (conjunto inicial de fatos).
Segundo Rich (1993), as propriedades da representação do conhecimento são as
seguintes:
Adequação Representacional - capacidade de representar todos os tipos de
conhecimento necessários naquele domínio.
Adequação Inferencial - capacidade de manipular as estruturas
representacionais de modo a derivar novas estruturas que correspondam a novos
36
conhecimentos inferidos a partir de conhecimentos antigos. Tais conhecimentos
são inferidos pelo sistema dedutivo do Prolog, linguagem utilizada na fase de
implementação do protótipo.
Eficácia Inferencial - capacidade de incorporar à estrutura de conhecimento
informações adicionais que podem ser usadas para focalizar a atenção dos
mecanismos de inferência nas direções mais promissoras.
Eficácia Aquisitiva - Capacidade de adquirir novas informações facilmente.
3.3.2 - ALGUMAS MANEIRAS DE REPRESENTAR O CONHECIMENTO
A representação do conhecimento pode ser realizada utilizando-se vários recursos,
devendo o modelador escolher aquele que melhor se adapte a seus propósitos. Entre as
representações de conhecimento mais comuns em IA, estão:
Lógica de Predicados;
Regras de Produção;
Sistemas Não-Monotônicos;
Sistemas de Raciocínio Estatístico;
Redes Semânticas;
Frames;
Dependência Conceitual;
Roteiros (Script);
As representações através da lógica de predicados, sistemas não-monotônicos e
sistemas de raciocínio estatístico apresentam regras com inferência de procedimentos
estritamente sintáticos. Embora os sistemas de regras de produção também sejam
basicamente sintáticos, é possível criar sistemas de regras de produção que possuam
semântica nas regras.
As redes semânticas destinam-se a captar os relacionamentos semânticos entre
entidades e normalmente são empregadas com um conjunto de regras de inferência
projetado com a finalidade de controlar adequadamente os tipos específicos de ramos
que conectam os nós da rede.
37
Segundo Rich (1993) os sistemas de frames são geralmente mais altamente estruturados
do que as redes semânticas e contém um conjunto ainda maior de regras de inferência
especializadas. Um frame é uma coleção de atributos, em geral chamados de escaninhos
(slots), e valores a eles associados (e possivelmente restrições a esses valores) que
descrevem alguma entidade do mundo. Um sistema de frames consiste em um conjunto
de frames interligados. Às vezes um frame descreve uma entidade em termos absolutos;
às vezes representa a entidade de um determinado ponto de vista - como aconteceu na
proposta do sistema de visão de Minsky (1975), na qual o termo frame foi introduzido.
Rich (1993). O esquema do sistema de frames pode ajudar a explicar muitos fenômenos
da inteligência humana. Ele é apropriado na interpretação de uma seqüência específica
observada e é útil para prever a ocorrência de certos acontecimentos que não tenham
sido mencionados anteriormente. Em particular, os sistemas de frames são úteis para
domínios em que a forma e o conteúdo do dado desempenham um papel importante na
solução do problema, tais como: interpretação visual de cenas ou entendimento da fala.
Passos (1988).
A Dependência Conceitual (DC) apresenta uma representação semântica ainda mais
forte, pois não fornece apenas a estrutura abstrata de uma representação, mas também
uma indicação específica do que os componentes da representação devem conter. O
objetivo é representar o conhecimento de modo que as inferências sejam facilitadas,
independentemente da linguagem utilizada para expressar as sentenças. Deste modo, a
representação em DC não se dá a partir de primitivas que correspondam às palavras da
sentença, e sim a partir de primitivas conceituais, as quais podem ser combinadas para
gerar os significados das palavras da sentença escrita em qualquer linguagem (teoria
desenvolvida em Schank (1975)).
Os Roteiros ou Scripts consistem em frames, cujos escaninhos podem apresentar
informações sobre os tipos de valores que ele pode conter e um valor default para o caso
de não haver informações disponíveis para aquela ação. Embora sistemas de frames e
roteiros apresentem estruturas bastante similares, em alguns casos a utilização de frames
é mais conveniente, devido aos roteiros possuírem estruturas menos genéricas, sendo
38
portanto inadequados para a representação de todos os tipos de conhecimento. Em geral,
roteiros são eficientes para representar tipos específicos de conhecimento para os quais
foram projetados.
Embora a representação do conhecimento por frames não seja semanticamente a mais
forte, ela está sendo utilizada na representação do conhecimento inerente à interface,
uma vez que se trata de um modo de representação consistente e apresenta uma fácil
transição para o Prolog, linguagem utilizada na fase de implementação do sistema.
Também estão sendo utilizadas regras de produção para representar as sentenças, de
modo que estas possam ser analisadas sintaticamente.
3.4 - A INTERFACE
3.4.1 - INTRODUÇÃO
Uma interface constitui-se em um software que visa a estabelecer uma interação entre o
usuário de computador e a máquina. A INSIRIUS constitui-se em uma interface em LN,
baseada em um domínio restrito de signos e regras da língua portuguesa do Brasil
(esquema gramatical), entre os usuários da Biblioteca do INPE e o sistema SIRIUS.
Para utilizá-la, o usuário deve digitar sua solicitação no teclado do computador.
As consultas devem seguir algumas regras simples (tratadas a seguir), a fim de facilitar
o entendimento entre a interface e o usuário. Para que seja alcançado um resultado
eficiente é importante que se procure seguir tais regras, evitando, desta forma, que a
interface tenha que estabelecer muitas inferências para descobrir a intencionalidade do
usuário.
As condições de exceções e erros estão definidas no item 3.5 deste Capítulo.
3.4.2 - REGRAS GERAIS DE UTILIZAÇÃO
As consultas devem ser iniciadas por verbos, no infinitivo ou terceira pessoa do singular
do imperativo afirmativo. Logo após o verbo, devem ser colocadas palavras-chaves para
indicar a modalidade da pesquisa e a pesquisa em si. A pesquisa poderá constituir-se
39
em: assunto, nome do autor, título do livro ou palavra-de-série (todas palavras-chaves).
Acentos não serão considerados.
A modelagem da interface INSIRIUS apresentada neste trabalho não trata o uso de
expressões-de-busca, previsto no sistema SIRIUS. A utilização de tais expressões
poderá vir a ser estudada em um trabalho futuro.
Exemplo Geral da Sintaxe:
verbo palavra-chave objeto-de-pesquisa
Em que: verbo: indica a ação a ser realizada
palavra-chave: indica o tipo de pesquisa
objeto-de-pesquisa: conteúdo da pesquisa
O vocabulário inicial do sistema é dado a seguir (Figura 3.3):
Primitivas
SIRIUS
Primitivas
INSIRIUS
Verbos ( dicionário fechado )
INSIRIUS
MOSTRE MOSTRAR MOSTRAR, RELACIONAR,
EXIBIR
VERIFIQUE VERIFICAR VERIFICAR, VER
ENCONTRAR, PESQUISAR,
AVERIGUAR
IMPRIMA IMPRIMIR IMPRIMIR, ESCREVER
Fig. 3.3 - Verbos da INSIRIUS e suas relações com as primitivas SIRIUS
As primitivas INSIRIUS e os verbos acima estão armazenados no sistema em um
dicionário fechado, havendo também outro dicionário incluindo as flexões verbais nos
tempos: infinitivo e imperativo afirmativo. “Mostrar e “mostre” são usados como
sinônimos e dependem do grau de cordialidade/formalidade que o usuário quer imprimir
a sua solicitação.
40
A interface possui também um dicionário aberto (dinâmico) que será ampliado a partir
das interações com o usuário. O novo verbo será incluído sempre que for indicado que
este constitui-se um sinônimo de qualquer uma das primitivas INSIRIUS descritas
acima.
É importante ressaltar que a adição de um verbo ao dicionário dinâmico é decorrente da
associação deste verbo a um outro pertencente ao dicionário estático. Tal associação
poderá não satisfazer as necessidades de pesquisa de outros usuários, o que pode ser
resolvido através do estabelecimento de um novo diálogo com o usuário, a fim de que
este possa informar o sentido da ação que deseja realizar com o verbo utilizado em sua
solicitação.
PALAVRAS-CHAVE: Palavras que identificam, na solicitação do usuário, o tipo de
pesquisa a realizar (Figura 3.4). Estas palavras têm por objetivo agilizar o processo de
inferência. Todas as outras palavras que sucederem a palavra-chave indicarão o objeto-
de-pesquisa.
Palavras-Chave Sinônimos
ASSUNTO ASSUNTO, TEMA
AUTOR AUTOR, ESCRITOR
SERIE SERIE
TITULO TITULO
Fig. 3.4 - Palavras-chave
As palavras-chaves e os sinônimos acima estão armazenados no sistema em um
dicionário fechado.
A interface prevê a criação de um dicionário aberto (dinâmico), construído através das
interações com o usuário. Um novo sinônimo será incluído sempre que for indicado que
este constitui um equivalente a uma palavra-chave.
41
OBJETOS-DE-PESQUISA: Correspondem ao que no SIRIUS denominamos
argumento-de-busca. Os objetos-de-pesquisa representam o tipo de consulta que o
usuário deseja fazer.
A - Pesquisas por Assunto
Recuperar todas as referências bibliográficas sobre determinado assunto.
Ex.: pesquisar assunto linguagem natural
verificar o assunto geoprocessamento
O tratamento das preposições, usadas como indicadores do tipo de pesquisa que o
usuário deseja realizar, poderá vir a ser realizado em um trabalho futuro. Apenas um
exemplo deste tipo de tratamento foi realizado, através do uso da preposição “sobre”.
Ex.: pesquisar sobre ecologia
Onde através da preposição “sobre”, pode-se inferir o tipo de pesquisa a ser realizada:
pesquisa por assunto.
B - Pesquisas por Autor
Recuperar referências bibliográficas que pertençam ao autor.
As pesquisas por nome de autor devem conter apenas o último sobrenome, como
mostram os exemplos do item 1 abaixo. Caso o usuário deseje referenciar o autor pelo
nome completo, a consulta deverá conter o último sobrenome e as iniciais dos nomes,
de acordo com os exemplos do item 2.
1. Ex.: verificar autor martin
mostrar o autor yourdon
2. Ex.: verificar autor pessoa
mostrar autor neruda
C - Pesquisas por Título de Livro
42
Recuperar referências bibliográficas, cujo título corresponda ao objeto-de-pesquisa
especificado pelo usuário.
Ex.: pesquisar titulo linguistica computacional
encontrar o titulo o segredo do abismo
D - Pesquisas por Palavra-de-Série
Recuperar referências bibliográficas que pertençam a uma série de publicações.
Ex.: mostrar serie acm
pesquisar a serie cognitive science
Solicitada a pesquisa, o sistema procurará identificar o que o usuário deseja como
resposta, através da análise da sentença.
Existe uma base de dados consistente, a qual será consultada mediante cada solicitação.
Caso o sistema não consiga interpretar os requisitos do usuário, estabelecerá um diálogo
a fim de tentar descobrir sua intencionalidade. Maiores detalhes são fornecidos no item
3.5 deste Capítulo.
3.5 - O USUÁRIO
Devido ao fato de a interface relacionar-se ao Sistema SIRIUS, situado na Biblioteca do
INPE, admite-se como pressuposto que os usuários da interface serão todos os usuários
da biblioteca, a saber:
Alunos dos cursos oferecidos pelo INPE - não necessitam conhecer
profundamente os recursos da interface;
funcionários técnico-administrativos, inclusive as bibliotecárias e funcionários
da biblioteca - necessitam conhecer com mais profundidade os recursos de
utilização da INSIRIUS;
pesquisadores e docentes - idem a alunos;
43
demais pessoas, não necessariamente do INPE, que tenham acesso ao acervo da
biblioteca - idem a alunos.
Desta forma, o usuário modelado neste trabalho é o usuário do sistema SIRIUS,
considerando-se o conhecimento que ele necessita ter para utilizar o sistema
eficientemente.
3.5.1 - PERFIL DO USUÁRIO
A) Quanto ao Nível de Alfabetização
O usuário precisa ser alfabetizado (ler e escrever) e conhecedor superficial da língua
portuguesa. Precisa saber expressar-se com frases construídas segundo a organização
formal de coesão (quanto à construção) e coerência na solicitação, devido às restrições
do motor de inferências presentes na interface. Frases como:
De MOSTRAR João ao assunto
nem sempre poderão ser reconhecidas.
B) Quanto ao Nível de Conhecimento na Operação de Sistemas Computacionais
Habilidades de utilização dos recursos de entrada de dados via teclado são necessárias.
O usuário não precisa ser profundo conhecedor de computadores, uma vez que, sabendo
utilizar os recursos disponíveis no teclado do computador este será guiado pela interface
a informar os dados necessários à execução de uma tarefa (caso seja conveniente).
C) Quanto às Capacidades Físicas do Usuário
Por tratar-se de uma interface baseada na língua escrita, e por não dispor de nenhum
recurso sonoro, nem do Sistema Braille, infelizmente usuários portadores de
deficiências visuais graves (que impeçam a visualização das mensagens) não poderão
utilizar diretamente o sistema.
D) Quanto aos Conhecimentos Inerentes à Interface
44
O usuário, para maior agilidade do sistema, deve saber como a linguagem pode ser
usada. Sem este conhecimento, serão necessárias muito mais interações com a interface
para que a intencionalidade da solicitação possa ser descoberta. Caso isso não seja
possível, devido ao excessivo nível de empilhamento do sistema, o usuário será
orientado a procurar a bibliotecária e o diálogo será finalizado para aquela solicitação.
3.5.2 - INTERTEXTUALIDADE, INTENCIONALIDADE, SITUCIONALIDADE
E INFORMATIVIDADE
Esses fatores estão modelados nos seguintes itens:
Definir as Metas do Usuário, descrito no item 3.5.3;
definir Pré-condições e Condições de Aplicabilidade - para determinar como as
ações do sistema serão executadas para propiciar o tratamento de situações de
erro, descrito no item 3.5.4;
definir Regras e Efeitos destas, em caso de sucesso, item 3.5.5. Carberry (1988).
Devido à existência de uma certa regularidade nos objetivos das pessoas e no modo
como a linguagem pode ser usada, para alcançá-los pode-se utilizar um conjunto de
postulados conversacionais, que são regras sobre a conversação que podem ser
compartilhadas sobre todos os interlocutores. Grice (1975). Habitualmente, estas são
seguidas, mas quando não são, sua própria violação comunica algo.
Condições de Sinceridade: o usuário tem realmente que querer que a interface
execute uma tarefa, e esta deve ser capaz de executá-la;
Condições de Razoabilidade: o usuário possui um motivo para fazer a
solicitação;
Condições de Adequabilidade: a solicitação do usuário deve suprir a quantidade
correta de informação, deve refletir precisamente as crenças de quem fala.
Partindo do princípio de que o usuário sabe o que quer fazer (sinceridade), que tem um
motivo para fazê-lo (razoabilidade) e que conhece os requisitos básicos da língua para
45
fazer uma solicitação (adequabilidade), pode-se inferir as metas do usuário em relação à
solicitação que este pode formular para a interface.
Um exemplo prático de quando uma das condições de adequabilidade forem violadas, é
o seguinte: O professor X pediu ao professor Y que escrevesse sobre o aluno Z, obtendo
como resposta “assíduo, obediente, amigo dos colegas, paga suas mensalidades sempre
em dia”. Se o professor Y descumpriu uma das condições é porque ele queria informar
algo de outra forma (“o aluno Z é uma pessoa ótima, mas, como aluno...”). O usuário
também deve ser visto assim: Se a Interface não conseguir entender sua solicitação, o
problema não é do usuário, e sim da Interface. O usuário está dizendo sempre
“exatamente” o que quer.
3.5.3 - METAS DO USUÁRIO
A - Usuário deseja saber do que se trata a Interface
Uma vez acionada, a Interface entrará em estado de espera exibindo uma mensagem
para a entrada de uma solicitação. Caso o usuário pressione a tecla ENTER (solicitação
vazia), ou digite alguma palavra relacionada com socorro (HELP, SOCORRO, AJUDA,
? ...), a Interface deverá responder exibindo uma tela com informações básicas sobre
seus objetivos e um help resumido de seus comandos. Informará também ao usuário que
este poderá iniciar uma sessão de consultas digitando uma solicitação após o
aparecimento da mensagem, de forma semelhante à ilustrada a seguir (Figura 3.5).
> socorro
I> Seja bem vindo ao INSIRIUS
Este sistema tem por objetivo ...
Comandos
Mensagem ...
Por favor, responda:
1 - Desejo realizar uma nova consulta 2 - Não desejo tentar novamente.
======>
46
Fig. 3.5 - Tela com informações básicas da interface.
B - Usuário deseja pesquisar referências bibliográficas
B.1 - Usuário faz corretamente a solicitação (sintaxe correta)
O sistema transformará a solicitação em um conjunto de comandos que serão enviados
ao SIRIUS.
Usuário: > mostrar autor alencar
Comando SIRIUS: MOSTRE <ALENCAR>
B.2 - Usuário omite o verbo correspondente à ação desejada
A interface estabelecerá diálogo com o usuário, solicitando um verbo para a solicitação,
de modo semelhante ao exemplificado a seguir (Figura 3.6).
I> N ão consegui com preender com pletam ente sua solicitação. N ão foi possível recuperar todas as inform ações necessárias a pesquisa. P or favor, que ação deseja realizar sobre a pesquisa?
1 . M O STR AR 2 . V ER IFIC AR 3 . IM P R IM IR 4 . N ão sei 5 . C ancelar a consulta
D igite o núm ero da opção: _
47
Fig. 3.6 - Interação interface x usuário: omissão de primitiva.
Se o usuário disser que não sabe qual verbo escolher, a interface mostrará outra tela ao
usuário, desta vez com uma breve descrição sobre cada verbo. Se ainda assim ele não
souber, a interface exibirá uma mensagem semelhante a mostrada a seguir (Figura 3.7).
I> Desculpe, mas não estou conseguindo compreender sua solicitação .
Por favor, tente reformulá-la!
Por exemplo, para verificar as obras escritas por Machado de Assis, digite:
VERIFICAR AUTOR MACHADO DE ASSIS
Para pesquisar sobre determinado assunto, por exemplo, ecologia, digite:
PESQUISAR ASSUNTO ECOLOGIA
Caso você não queira tentar novamente, procure a bibliotecária
de referencia.
>
Fig. 3.7 - Interação interface x usuário: solicitação não compreendida.
B.3 - Usuário omite o espaço entre as palavras da solicitação
A interface estabelecerá diálogo com o usuário a fim de conseguir interpretar a
solicitação. Caso isso não seja possível, o sistema exibirá uma mensagem semelhante a
ilustrada na Figura 3.7.
B.4 - Usuário utiliza um verbo que não pertence ao léxico do sistema
A interface solicitará o significado do verbo e o anexará ao léxico do sistema, de modo
semelhante ao exemplificado a seguir (Figura 3.8).
> conseguir o autor rocha
48
I> Não consegui compreender completamente sua solicitação. Não foi possível recuperar todas as informações necessárias a pesquisa. Por favor, qual o significado de CONSEGUIR?
1. M OSTRAR 2. VERIFIC AR 3. IM PRIM IR 4. Não sei 5. Cancelar a consulta
D igite o número da opção: _
Fig. 3.8 - Interação interface x usuário: primitiva não pertencente ao domínio.
Se o usuário disser que não sabe o significado do verbo, a interface mostrará outra tela
ao usuário, desta vez com uma breve descrição sobre cada verbo. Se ainda assim ele não
souber, a interface exibirá uma mensagem semelhante a descrita na Figura 3.7.
B.5 - Usuário não define palavras-chave
A interface tentará encontrar na frase do usuário uma palavra-chave que possa indicar
qual é a categoria do objeto-de-pesquisa, através da consulta ao dicionário de
indicadores inferenciais. Se nada for encontrado, será estabelecido diálogo com o
usuário, sendo exibida uma tela semelhante a ilustrada pela Figura 3.10. Caso contrário,
a interface associará o indicador inferencial encontrado e a palavra-chave equivalente
no dicionário, confirmando com o usuário de modo semelhante ao exemplo abaixo
(Figura 3.9):
> mostrar os livros de rocha
I> Você deseja recuperar referências bibliográficas por AUTOR (S/N)? _
49
Fig. 3.9 – Consulta à interface: utilização de indicador inferencial.
Se a resposta do usuário for N, a interface estabelecerá um diálogo com o usuário,
semelhante ao descrito a seguir (Figura 3.10):
I> Não consegui compreender completamente sua solicitação. Não foi possível recuperar todas as informações necessárias a pesquisa. Que tipo de pesquisa você deseja realizar?
1. AUTOR 2. ASSUNTO 3. SERIE 4. TITULO 5. Não Sei 6. Cancelar a consulta
Digite o número da opção: _
Fig. 3.10 - Interação interface x usuário: objeto de busca diferente da sintaxe do
sistema.
Se o usuário disser que não sabe, a interface exibirá um tela de mensagem semelhante a
ilustrada pela Figura 3.7.
3.5.4 - PRÉ-CONDIÇÕES E CONDIÇÕES DE APLICABILIDADE
As pré-condições e condições de aplicabilidade devem ser definidas para determinar
como as ações do sistema serão executadas para tratar as situações de erro,
anteriormente citadas.
3.5.5 - REGRAS E SEUS EFEITOS
Uma vez descoberta a intencionalidade do usuário, sua solicitação deverá ser convertida
para um comando, formatado segundo a sintaxe SIRIUS, que possa ser interpretado e
executado (pelo SIRIUS).
50
A modelagem da representação do conhecimento por regras e seus efeitos será
apresentada no Capítulo 4.
52
CAPÍTULO 4
MODELAGEM DA INTERFACE INSIRIUS
A interface INSIRIUS está dividida em 11 componentes, cada um responsável por uma
função específica. Estes componentes, chamados de componentes funcionais, estão
representados através de uma árvore de decisão (Figura 4.1) e são descritos no item 4.2
deste capítulo.
4.1 - REPRESENTAÇÃO DA ESTRUTURA FUNCIONAL DA INSIRIUS
A representação da estrutura funcional de um sistema pode ser feita utilizando-se
diferentes técnicas, as quais são capazes de expressar as relações existentes entre os
seus diversos componentes. Entre elas, pode-se citar:
DFD (Diagrama de Fluxo de Dados);
Modelagem Orientada a Objetos;
Diagramas de Transição de Estado;
Árvores de Decisão.
A ferramenta utilizada para a representação da estrutura funcional da Interface é a
árvore de decisão, por atender aos seguintes requisitos:
é adequada para representar os componentes do sistema e a hierarquia existente
entre eles;
tem uma estrutura de representação muito próxima à estrutura de codificação de
programas em Prolog, facilitando, desta forma, a transição da modelagem da
interface para a implementação do protótipo.
A representação funcional da interface INSIRIUS é ilustrada a seguir (Figura 4.1).
53
INSIRIUS
1.Receber
Solicitaçãodo Usuário
2.Verificar
Solicitação
11.Finalizar
3.ApresentarHELP parasolicitação
vazia
4.Analisar
Solicitaçãonão-vazia
5.Separar
Palavra aPalavra
6.Executar
AnalisadorSintático
eSemântico
9.ConverterSolicitação
paraMaiúscula
7.PreencherFrame dePesquisa
8.Interagir com
UsuárioPreencher
Frame
Erro -Procure a
Bibliotecária
10. Montar
ComandoSIRIUS
10. MontarComandoSIRIUS
E
Fig. 4.1 - Árvore de decisão INSIRIUS.
54
A interface INSIRIUS é ativada pela entrada, via teclado, de uma solicitação de
pesquisa bibliográfica. Uma vez ativada, sua meta será tentar descobrir a intenção do
usuário, transformando a sentença inicial em uma seqüência de comandos a ser
interpretada pelo SIRIUS (o processo de pesquisa realizado pelo SIRIUS e sua interação
com o usuário não pertencem ao escopo deste trabalho).
É importante lembrar que num sistema em LN o objetivo é a compreensão da língua,
através da análise da sentença pela sua sintaxe e semântica, assim como pelas
características pragmáticas do evento frasal.
Para um sistema em LN ser bem sucedido, ele deve ser capaz de analisar diversas
sentenças pertencentes ao domínio da aplicação em questão. O objetivo da análise da
sentença é descobrir seu significado. Na prática, isso consiste em traduzir a LN de
entrada para uma linguagem com uma semântica simples, como por exemplo a lógica
formal, ou para uma linguagem que possa ser interpretada por um sistema
computacional existente.
Na maioria dos sistemas, o primeiro estágio para esta tradução é a análise sintática, que
consiste na determinação da estrutura da sentença; passando-se depois para a análise
semântica, que visa à obtenção do resultado (Figura 4.2).
Linguagem N atural
análise da sentença
análise sem ântica
análise sintática
discurso e diálogo estruturado
geração da línguaanálise da língua
Fig. 4.2 - Linguagem natural: análise da língua. FONTE: GRISHMAN (1986, p. 8-9)
55
O processo de busca da solução para a solicitação feita obedece a hierarquia
representada pela árvore (Figura 4.1) que será percorrida em profundidade da esquerda
para a direita. Os nós da árvore, que representam os componentes funcionais da
interface, estão detalhados juntamente com as representações dos níveis morfológico,
sintático e semântico-pragmático.
4.2 - DESCRIÇÃO DOS COMPONENTES FUNCIONAIS DA INSIRIUS
4.2.1 - COMPONENTE 1: RECEBER SOLICITAÇÃO DO USUÁRIO
Recebe a solicitação digitada pelo usuário, a qual representa a sua intenção perante a
interface.
Pode ser facilmente representado por um predicado (Figura 4.3).
recebe_solicitacao(&solicitacao) :- ler_string(&solicitacao,&tamanho_maximo)
Fig. 4.3 – Predicado recebe_solicitação.
Em que: solicitacao representa o conteúdo da entrada do usuário.
tamanho_maximo representa o número máximo de caracteres permitidos na
solicitação (devido às limitações do SIRIUS - 100 caracteres).
4.2.2 - COMPONENTE 2: VERIFICAR SOLICITAÇÃO
Consiste em verificar se a solicitação recebida é vazia ou não. Este processo pode ser
representado por uma regra de produção (Figura 4.4).
Se : número de caracteres da solicitação é zero
Então: solicitação é vazia, e
apresente_help_interface
Senão: solicitação é não vazia, e
analise(solicitação)
Fig. 4.4 – Predicado verifica_solicitação.
56
4.2.3 - COMPONENTE 3: APRESENTAR HELP PARA SOLICITAÇÃO VAZIA
Consiste na apresentação de tela(s) de auxílio ao usuário, fornecendo informações
básicas sobre objetos e comandos da interface.
Para a representação desse conhecimento, estão sendo utilizados frames de resposta
(Figura 4.5) e regras de produção (Figura 4.6).
Representação:
help-geral
mensagem-boas-vindas
...
objetivo
...
mensagem-finalizacao
...
help-comandos
mensagem-inicial
...
exemplo
...
mensagem-final
...
Fig. 4.5 - Estrutura do frame de resposta
57
Predicado:
help-geral(&mensagem-boas-vindas, &objetivo, &mensagem-finalizacao)
help-comandos(&mensagem-inicial, &exemplo, &mensagem-final)
Predicado da construção do HELP:
apresente-help-interface: escreva (tela, conteudo-help-geral);
enquanto houver help-comando
escreva (tela, conteudo-help-comando).
Fig. 4.6 – Regras de produção para o frame de resposta.
Em que: & indica variáveis a serem instanciadas.
4.2.4 - COMPONENTE 4: ANALISAR SOLICITAÇÃO NÃO-VAZIA
Responsável pelo controle de chamadas aos componentes que irão possibilitar a análise
sintática e semântica da solicitação:
Separar palavra a palavra
Executar analisador sintático e semântico
4.2.5 - COMPONENTE 5: SEPARAR PALAVRA A PALAVRA
Fragmenta a solicitação (já convertida) em seus componentes (palavras). Representado
pelo predicado separa_componentes (Figura 4.7).
separa_componentes(&conv_solicitacao,&lista_de_componentes) :-
elimina_espacos(&conv_solicitacao,&nova_solicitacao),
decompoe_solicitacao(&nova_solicitacao,&lista_de_componentes)
Fig. 4.7 – Predicado separa_componentes.
58
O predicado elimina_espacos irá eliminar os possíveis espaços em branco existentes no
início e no fim da solicitação.
O predicado decompoe_solicitacao irá provocar a chamada a separa_palavras (Figura
4.8).
separa_palavras(&nova_solicitacao,&lista_de_componentes,&posicao):-
encontra_palavra(&palavra,&nova_solicitacao,&posicao,
&posicao_proxima_palavra),
insere_fim_lista_palavra(&palavra,&lista_de_componentes)
Se posicao_proxima_palavra ≤ tamanho(solicitacao) chame
separa_palavras(&nova_solicitacao,&lista_de_componentes,&p_posicao)
Fig. 4.8 – Predicado separa_palavras.
O predicado encontra_palavra pesquisará, a partir da posição do primeiro caracter da
solicitação, até encontrar um espaço em branco, compondo assim, a palavra
(componente). Deste modo, as demais palavras serão localizadas.
Separados os componentes, o conteúdo da lista_de_componentes será:
[ [“COMPONENTE1”],[“COMPONENTE2”],...,[“COMPONENTEn”] ]
4.2.6 - COMPONENTE 6: EXECUTAR ANALISADOR SINTÁTICO E
SEMÂNTICO
Este componente é responsável pelas análises sintática e semântica da solicitação.
Não é necessária a realização de uma análise morfológica profunda, visto que o
domínio da aplicação é restrito. Um dicionário fechado (estático) é suficiente para
armazenar as palavras (lexias) e os gramemas.
59
Um dicionário dinâmico (conjunto de sinônimos para componentes do dicionário
fechado) atuará como colaborador no processo de inferências do sistema, estando em
constante atualização.
A análise dos níveis sintático e semântico está utilizando regras baseadas nos
Postulados Conversacionais citados no Capítulo 3, no Modelo do Usuário e na Sintaxe
Básica da INSIRIUS. De acordo com os princípios e crenças neles descritos, foi
concluído que:
o domínio do problema comporta um vocabulário limitado;
embora a INSIRIUS utilize uma sintaxe simples para a formulação da solicitação
do usuário, não é possível prever todas as possibilidades de construções
sintáticas.
A estrutura do analisador sintático e semântico é ilustrada pela a seguir (Figura 4.9):
AnalisadorSintático
AnalisadorSemântico
lista_de_componentes
dicionário estático edinâmico estrutura_sintática
lista_de_componentes_classificados
ação,chave,objeto_de_pesquisa,ação_conhecida
Fig. 4.9 - Estrutura do analisador sintático e semântico
60
A - Análise Sintática
A análise sintática é essencial para o tratamento semântico por definir quais regras serão
aplicadas e em que ordem.
As categorias sintáticas correspondem aos não terminais das linguagens formais. Nas
gramáticas de linguagens naturais, as categorias sintáticas são definidas procurando
trechos de orações com significados coesos, de acordo com a intuição dos gramáticos.
Tais trechos são chamados sintagmas. Savadovsky (1988)
O sintagma nominal refere-se ao trecho da oração que define uma entidade ou grupo de
entidades do mundo falante. O sintagma verbal consiste da parte da oração que afirma
algo sobre o sintagma nominal. Pode conter um ou mais verbos, sendo eles classificados
como verbo auxiliar e verbo principal. Os verbos podem ser intransitivos, transitivos
diretos ou transitivos indiretos, sendo que os transitivos exigem a presença de um objeto
(sintagma substantivo - no caso dos transitivos indiretos precedido de preposição) para
complementá-los. A interface INSIRIUS trabalhará apenas com o verbo principal,
sendo ele transitivo, devido ao tipo de aplicação. Neste caso é suficiente o tratamento
apenas do sintagma verbal.
É importante realizar as análises sintática e semântica da sentença para que a frase não
apenas se enquadre nas regras de construção sintática, mas também possua coerência e
coesão.
Uma gramática consiste de um conjunto de regras e de elementos que manipulam estas
regras. A ferramenta utilizada na modelagem do nível sintático é a gramática livre de
contexto, muito usada em LN. Embora ela não seja capaz de capturar toda a gramática
em LN, permite a captura de estruturas gramaticais que estejam fora do alcance das
gramáticas regulares, sendo adequada e suficiente devido ao domínio da aplicação ser
restrito.
A aplicação da gramática livre de contexto está utilizando a notação chamada “Backus-
Naur Form” (BNF), na qual os símbolos não terminais são colocados entre “ < > ” e o
61
símbolo “ :: = ” é usado no lugar de →. O símbolo “ / ” é usado para separar duas
produções de um único não-terminal (Figura 4.10).
Diferentes analisadores livres de contexto têm sido desenvolvidos, sendo o mais comum
deles, o algoritmo backtracking top-down1. A estrutura dessa gramática pode ser
representada de forma mais clara através de uma Parse Tree, capaz de representar as
sentenças que empregam a sintaxe correta do sistema (Figura 4.11). Esta técnica
mostrou-se adequada para a representação das principais formas sintáticas que poderão
ocorrer na solicitação do usuário, expressando o sequenciamento entre as diversas
classes de palavras. Entretanto, ela foi adaptada aos propósitos deste trabalho. O objeto-
de-pesquisa será representado como um único elemento (independente de ser ou não
composto por mais de uma palavra).
<S> :: = <SV>
<SV> :: = <VERB> <COMPLE>
<COMPLE> :: = <COMPLE1> / <COMPLE2>
<COMPLE1> :: = <CHAVE> <OBJ-PESQ>
<COMPLE2> :: = <IND-INF> <OBJ-PESQ>
<VERB> :: = Λ / mostrar / verificar / imprimir /...
<CHAVE> :: = <ARTIGO>* <PAL-CHAVE>
<PAL-CHAVE> :: = Λ / autor / titulo / assunto / serie / ...
<IND_INF> :: = <ARTIGO>* <IND> <PREP>*
<ARTIGO> :: = Λ / o / a / um / uma / ...
<IND> :: = Λ / livro / obra / ...
<PREP> :: = Λ / de / do / sobre / ...
<OBJ-PESQ> :: = [ valor-do-objeto-de-pesquisa (string)]
Fig. 4.10 – Gramática do sistema.
1 O algoritmo “backtracking top-down” realiza derivações até encontrar uma capaz de gerar a sentença inicial. Livro “Computational Linguistics”, Ralph Grishman, 1986, pág. 28.
62
Em que: S - estado inicial
SV - solicitação do usuário (sintagma verbal)
VERB - verbos primitivos da INSIRIUS
PAL-CHAVE - palavras-chave da solicitação
OBJ-PESQ - conteúdo do objeto-de-pesquisa
IND-INF - indicador inferencial - palavras que permitem inferir o tipo de
pesquisa a realizar
Λ - indica que o componente gramatical pode ser vazio, embora muitas vezes
seja necessário para a correta interpretação da sentença. Neste caso, serão
feitas inferências até que se consiga recuperá-lo.
* - indica que o componente gramatical não é imprescindível à sentença,
podendo ser nulo.
Palavras maiúsculas - não-terminais Palavras minúsculas – terminais
Fig. 4.11 – “Parse tree”
A estrutura em árvore não capta todas as possibilidades de ocorrências sintáticas.
Entretanto, a característica “inteligente” da interface é a possibilidade de estabelecer
S
SV
VERB COMPLE
COMPLE 1 COMPLE 2
CHAVE OBJ-PESQ IND-INF OBJ-PESQ
ARTIGO PAL-CHAVE IND PREPARTIGO
63
diálogos com o usuário a fim de descobrir possíveis elementos que faltem na estrutura
da solicitação necessários à realização da pesquisa.
Outra forma de representação em LN são as “Augmented Transition Networks” (ATN).
O analisador da ATN deve encontrar um caminho que permita ir do nó inicial ao nó
final, normalmente obtido através da aplicação de um algoritmo backtracking top-down,
semelhante ao usado pela análise livre de contexto. A representação da estrutura
sintática da interface por ATN é dada a seguir (Figura 4.12).
Fig. 4.12 - ATN
A-1) Representação do Conhecimento - vocabulário do sistema
A representação do conhecimento - vocabulário do sistema é ilustrada a seguir (Figura
4.13):
sq2
q3
q4
q5
q6
q7
q8
q14
q13
q12
q9
q11
SV
verb
comple
q10
comple1
comple2
chave
obj-pesq
artigo
pal-chave
obj-pesqobj-pesq
artigo
indprep
obj-pesq
pal-chave
ind-inf
ind
obj-pesq
obj-pesqobj-pesq
obj-pesq
obj-pesq
comple
64
PALAVRAS
Valor-Instância
Valor-Sinônimo
Valor-Classeclasse
instância
sinônimo
Valor-Puralplural
Fig. 4.13 - Representação do conhecimento: vocabulário do sistema
Em que, Valor-classe assumirá os seguintes valores:
• verbo - verbos primitivos INSIRIUS
• artigo - artigos definidos e indefinidos
• prep - preposição
• chave - palavra-chave
• ind-inf - indicador inferencial
• ajuda - help do sistema
Valor-sinônimo relacionará palavras a seus sinônimos
Valor-plural indicará o plural da palavra
Os verbos estão armazenados no vocabulário na terceira pessoa do singular nos modos
infinitivo e imperativo afirmativo (Figura 4.14).
acha_classe(&Palavra,&Classe) :-
verb(&Palavra,&Verbo); sin_verb(&Palavra,&SVerb);
chave(&Palavra,&Chave); ind_inf(&Palavra,&Ind);
sin_chave(&Palavra,&Schave);
plural(&Palavra,&Plural).
Fig. 4.14 - Regra simplificada de formação do vocabulário.
65
Exemplos: chave(“AUTOR”, “AUTOR”)
sin_chave(“ESCRITOR”, “AUTOR”)
plural(“ESCRITORES”, “ESCRITOR”)
verb(“MOSTRAR”, “MOSTRAR”)
sin_verb(“MOSTRE”, “MOSTRAR”)
A-2) Identificação da Classe dos Componentes da Solicitação
O predicado classifica_componentes busca a classe de cada componente da lista nos
dicionários (fechado e dinâmico) do sistema (Figura 4.15). Se o componente não for
encontrado, o valor da classe será desconhecida.
O valor obtido será utilizado posteriormente pelo analisador semântico para inferir
sobre a ação, a chave e o objeto-de-pesquisa.
classifica_componentes(&lista_de_componentes,
&lista_de_componentes_classicados)
Fig. 4.15 – Predicado classifica_componentes.
O predicado utiliza regras de inferência para tentar determinar a classe de cada palavra
(Figura 4.16).
Inferência 1: Componente existe no dicionário, retorna a classe.
Inferência 2: Componente não existe no dicionário, tentar inferir se este é verbo.
66
classifica_componentes(&lista_de_componentes,
&lista_de_componentes_classificados)
Para cada um dos componentes de lista_de_componentes:
1) verb(&Componente,&Verbo) ou
sin_verb(&Componente,&SVerbo), ou
2) ( Não conseguiu encontrar o componente no dicionário )
Se terminação é A,E,AR,ER,IR ou OR
Se é primeiro componente Então classe é verbo.
Confirmar com o usuário.
3) chave(&Componente,&Chave) ou
sin_chave(&Componente,&SChave) ou
ind_inf(&Componente,&Ind) ou
plural(&Componente,&Plural)
4) Senão Classe é desconhecida.
5) Atribuir à lista_de_componentes_classificados o valor encontrado para a classe.
[ [“COMPONENTE1”,classe1],.....,[“COMPONENTEn”,classen]]
Fig. 4.16 – Regras de inferência simplificadas do predicado classifica_componentes.
B - Análise Semântica
A semântica de uma linguagem é o estudo da atribuição de significado para as frases e
palavras. O significado do todo é uma função do significado de suas partes e de seu
modo de combinação.
Uma sentença é composta de um conjunto de palavras estruturadas sintaticamente em
árvore. As palavras correspondem aos nós desta árvore, e são criadas a partir de
aplicações de regras sintáticas às sentenças. Cada regra sintática deve ter uma regra
semântica correspondente que calcule o valor semântico da entidade sintática
produzida. O valor semântico obtido para o símbolo inicial (nó raiz da árvore) é o
significado da sentença.
67
Quando se está trabalhando com LN na IHC, a idéia é que esta seja capaz de interpretar
uma solicitação do usuário e fornecer-lhe resultados. Para isso, a entrada em LN deve
ser traduzida para alguma linguagem formal conhecida pelo sistema. Estas linguagens
formais devem incorporar as seguintes propriedades:
não ser ambígua;
ter regras simples de interpretação e inferência;
ter uma estrutura lógica determinada pela forma da sentença.
O analisador semântico deve inferir, a partir da lista_de_componentes classificados, a
ação que o usuário deseja realizar, o tipo de pesquisa (representado pela classe chave), o
objeto-de-pesquisa (o que se deseja pesquisar) e se a ação é conhecida pelo sistema
(Figuras 4.17, 4.18 e 4.19).
interpreta_solicitacao(&lista_de_componentes_classificados,&ação,
&chave,&objeto_de_pesquisa,&ação_conhecida)
Fig. 4.17 – Predicado interpreta_solicitacao.
1) Buscar na lista a classe dos verbos existentes
A) Analisa primeira palavra
B) Procura verbo no vocabulário do sistema
C) Se verbo encontrado, Então ação_conhecida=“SIM”,
Senão ação_conhecida=“NÃO”.
Se ação_conhecida=”NÃO”, Então Verificar desinência verbal
Se existir desinência verbal, Então confirmar se é verbo
Se sim, Então ação_conhecida=”SIM”
Recuperar a primeira palavra classificada como verbo.
Senão ação_conhecida=”NÃO”
Estabelecer diálogo com o usuário.
D) Se ação_conhecida= “NÃO” Então verbo=vazio
Fig. 4.18 – Regras de inferência: ação desejada.
68
2) Encontrar a chave de pesquisa ( tipo de pesquisa )
A) Buscar na lista_de_componentes a segunda palavra e verificar se é chave.
B) Se existe chave Então chave=&componente e posição=posição_na_lista.
C) Se não existe chave Então verificar se existe classe ind_inf
Se existe recuperar da lista os componentes próximo e anterior a classe
Sobre eles inferir:
- Se próximo é preposição “sobre” Então chave = assunto e
posição = posicao_preposicao
Senão Se próximo é outra preposição Então confirmar com o usuário
o tipo de pesquisa
D) Se nenhuma das regras foi satisfeita Então chave=vazio.
Estabelecer contato com o usuário
3) Encontrar o objeto-de-pesquisa
objeto_de-pesquisa = todos os componentes da lista a partir da
próxima posição
4) Se ( ação=vazio, chave=vazio e objeto-de-pesquisa=vazio) e existe na
lista_de_componentes_classificados componente cuja classe é ajuda, abandona o
processo de análise e recupera o help do sistema.
Concluída a análise chame
Preencher frame de pesquisa.
Fig. 4.19 – Regras de inferência: pesquisa ou solicitação de ajuda.
4.2.7 - COMPONENTE 7: PREENCHER FRAME DE PESQUISA
Neste ponto, é preenchido o frame (Figura 4.20), de acordo com os valores inferidos
através da análise semântica da solicitação do usuário (Figura 4.21).
69
Frame-Pesquisa ação-p
chave-p
objeto-de-pesquisa-p
Fig. 4.20 – Frame de pesquisa.
Em que: ação_p: verbo a ser associado a uma primitiva INSIRIUS
chave_p: tipo de pesquisa
objeto-de-pesquisa-p: valor a ser pesquisado
preencher_frame(&acao_p,&chave_p,&objeto_de_pesquisa_p) :-
acao_p = acao
chave_p = chave
objeto_de_pesquisa_p = Objeto_de_pesquisa
Se acao_conhecida = “SIM” e acao ≠ vazio e chave ≠ vazio chame
montar_Comando SIRIUS
Senão
chame interagir com usuário para preencher frame.
Fig. 4.21 – Regras de inferência: preenchimento do frame de pesquisa.
4.2.8 - COMPONENTE 8: INTERAGIR COM USUÁRIO PARA PREENCHER
FRAME
Dependendo do conteúdo dos slots do frame de pesquisa e do conteúdo de ação-
conhecida, a interface estabelecerá diálogos diferenciados com o usuário.
Os padrões de diálogos foram modelados segundo estruturas de frame.
70
Estrutura dos Frames de Diálogo:
Foram estabelecidos padrões de frames de diálogo, a serem utilizados pela interface na
interação com o usuário. Cada um deles foi estruturado de maneira simples, com o
objetivo de orientar o usuário na realização de consultas. As mensagens são padrões e
possuem variáveis que serão instanciadas com os valores de ação_p, classe_p e
objeto_de_pesquisa_p do frame de pesquisa (Figuras 4.22, 4.23, 4.24 e 4.25).
O conteúdo dos slots mensagem, opções e default representam:
Mensagem: mensagem exibida ao usuário caso a interface não tenha conseguido
reconhecer todas as informações necessárias ao processo de pesquisa;
Opções: relaciona, ao usuário, as opções de tipos de ações e tipos de chaves de
pesquisa utilizadas pelo sistema;
Mensagem Final: mensagem de finalização exibida pela interface.
Padrões de Frames de Diálogo:
Fig. 4.22 - Frame (situação 1).
Diálogo 1
mensagem
"Não consegui compreender completamente sua solicitação Não consegui recuperar todas as informações necessárias Por favor, que ação você deseja realizar na pesquisa? opções
1- mostrar 2- verificar 3 - imprimir 4 - não sei 5 - Cancelar a consulta mensagem_final "vazia"
71
Frame ( situação 3 )
Fig. 4.23 - Frame (situação 2).
Fig. 4.24 - Frame (situação 3).
Diálogo 2
mensagem
"Não consegui compreender completamente sua solicitação Não consegui recuperar todas as informações necessárias Por favor, qual o significado de &acao_p ? opções
1- mostrar 2- verificar 3 - imprimir 4 - não sei 5 - Cancelar a consulta mensagem_final "vazia"
Diálogo 3
mensagem
"Não consegui compreender completamente sua solicitação Não consegui recuperar todas as informações necessárias Por favor, que tipo de pesquisa você deseja realizar ? opções
1- autor 2- assunto 3 - título 4 - palavra de série 5 - Nao sei 6 - Cancelar a consulta mensagem_final "vazia"
72
Fig. 4.25 - Frame (situação 4).
Acionamento dos Frames de Diálogo
O acionamento dos frames de diálogos ocorre de acordo com as respostas do usuário às
perguntas realizadas pela interface.
O tipo de informação não interpretada pela interface na solicitação do usuário definirá a
seqüência na qual os frames de diálogo serão acionados. Outro fator determinante são as
respostas dadas pelo usuário às perguntas da interface.
Interações com o Usuário
Sempre que a interface não conseguir compreender uma solicitação do usuário, serão
estabelecidos diálogos diferenciados a fim de tentar interpretá-la. Caso a intenção não
seja descoberta, a interface orientará o usuário sobre a sintaxe do sistema, estimulando o
mesmo a tentar digitar novamente a solicitação ou a procurar a bibliotecária de
referência.
mensagem "Me desculpe, mas nao estou conseguindo compreender sua solicitacao. Lembre-se: As solicitações de pesquisa devem seguir a estrutura demonstrada nos exemplos abaixo: Para pesquisar obras de Machado de Assis, digite: mostre autor assis
Para pesquisar sobre o assunto Robótica, digite: ver assunto robotica
mensagem_final "Se desejar mais esclarecimentos, procure a bibliotecária"
Diálogo 4
opcoes"1 - Quero reformular a solicitacao2 - Nao quero tentar novamente "
"
73
Interações com o Usuário - Regras de Produção
Um exemplo de regra de produção que pode ser aplicada no diálogo entre usuário e
interface é ilustrada a seguir (Figura 4.26).
Se frame-pesquisa possuir slot não preenchido
Se acao_p = vazio
Então acionar situação1
Se opção do usuário ≠ “Nao Sei”e “Cancelar”
Então &ação_p=verbo da ação escolhida.
Senão
Se ação_conhecida=“NÃO”
Então acionar situação2
Se opção do usuário ≠ “Nao Sei”e “Cancelar”
Então grave no dicionário o sinônimo e
&ação_p=verbo da ação escolhida.
Se chave_p = vazio
Então acionar situação3
Se opção do usuário ≠ “Nao Sei”e “Cancelar”
Então &chave_p=valor da chave da opção escolhida.
Fig. 4.26 – Exemplo de regra de produção: diálogo entre o usuário e a interface.
Este conjunto de regras estrutura o comportamento básico da interface em relação aos
diálogos com o usuário.
Concluída a análise da solicitação, são executados os componentes “Converter
Solicitação para Maiúscula” e “Montar Comando SIRIUS”.
74
4.2.9 - COMPONENTE 9: CONVERTER SOLICITAÇÃO PARA MAIÚSCULA
Converte a solicitação em letras maiúsculas (Figura 4.27).
converte_solicitacao(&solicitacao,&conv_solicitacao,&posicao_caracter) :-
concatene(&conv_solicitacao,&maiuscula-do-caracter-na-posicao),
Se posicao_caracter ≤ tamanho_total(solicitacao)
converte_solicitacao(&solicitacao,&conv_solicitacao,&posicao_proximo-
caracter).
Fig. 4.27 – Predicado converte_solicitacao: representação da conversão dos caracteres
da solicitação em letras maiúsculas.
Em que: maiúscula_do_caracter_na_posicao corresponde à conversão do caracter em
maiúsculo, na posição indicada por posicao_caracter.
4.2.10 - COMPONENTE 10: MONTAR COMANDO SIRIUS
Este componente criará a estrutura do comando para o SIRIUS, a partir dos dados dos
slots do frame de pesquisa.
O processo será dividido em três etapas.
Etapa1: Encontrar no dicionário a correspondência entre ação_p e o verbo
primitivo do SIRIUS
Encontrar o sinônimo do verbo digitado pelo usuário representado por &acao_p (Figura
4.28).
sinon(&acao_p,&primitivo)
Fig. 4.28 – Predicado sinon: representação da busca de sinônimos nos dicionários da
INSIRIUS.
75
Etapa2: Formatar o objeto-de-pesquisa de acordo com as regras do SIRIUS
Essa etapa utilizará os slots classe_p e objeto_de_pesquisa_p do frame de pesquisa. O
predicado utilizado irá retornar o objeto_de_pesquisa_p devidamente formatado para o
comando SIRIUS.
A representação deste conhecimento é dada a seguir (Figuras 4.29 e 4.30).
OBJETO-DE-PESQUISA
TITULO
AUTOR
SERIE ASSUNTO
$SERIE$ "TITULO" [ASSUNTO]
<AUTOR>instância instância instância
instância
formato formato formato
formato
Fig. 4.29 - Representação de formatos SIRIUS
transforma(&classe_p,&objeto_de_pesquisa_p,&formato) :-
formato_pesquisa(&classe_p,&simb_ini,&simb_fim),
formato = simb_ini + objeto_de_pesquisa_p + simb_fim.
formato_pesquisa(“AUTOR”, “<”, “>”).
formato_pesquisa(“ASSUNTO”, “[“, “]”).
formato_pesquisa(“SERIE”, “$”, “$”).
formato_pesquisa(“TITULO”, “ “ “, “ ” “).
Fig. 4.30 – Predicado formato_pesquisa: representação da formatação do objeto de
pesquisa de acordo com a sintaxe do SIRIUS.
76
Etapa 3: Montar Comando
Encontrar o comando SIRIUS corresponde à primitiva INSIRIUS, através da busca no
dicionário de associações (Figuras 4.31 e 4.32).
associacao(&primitivo,&comando)
associacao(“MOSTRAR”, “MOSTRE”).
associacao(“VERIFICAR”, “VERIFIQUE”).
associacao(“IMPRIMIR”, “IMPRIMA”).
Fig. 4.31 – Predicado associacao: associa verbos em consultas na INSIRIUS com
comandos SIRIUS.
comando_sirius=comando+espaço-em_branco+formato
Se comando = “VERIFIQUE” ou “IMPRIMA”
Então defina def = “DEFINA “ + &variável “=“.
Senão defina def = “”.
Fig. 4.32 – Regra para a montagem do comando SIRIUS.
4.2.11 - COMPONENTE 11: FINALIZAR
Concluído o processo de consulta, a interface deverá retornar ao ambiente Prolog para
que o usuário possa elaborar uma nova solicitação.
78
CAPÍTULO 5
CONCLUSÕES
5.1 - CONSIDERAÇÕES INICIAIS
Devido ao Prolog ter sido desenvolvido com o principal objetivo de servir de apoio a
sistemas de processamento de linguagem natural, orientado para processamento
simbólico, com pouca ou nenhuma ênfase na manipulação de números, Cordeiro (1985),
optou-se pelo seu uso na fase de implementação do protótipo.
A interface INSIRIUS (Interface Inteligente em Linguagem Natural para o Sistema
SIRIUS), foi construída com o objetivo de validar os estudos realizados sobre o
processamento da LN na IHC. Ao utilizar um sistema de pesquisa e recuperação
bibliográfica, o usuário, muitas vezes fica perdido sem nem mesmo saber por onde
começar. O sistema SIRIUS, especificamente, devido a sua sintaxe complexa, dificulta
a realização das consultas. Uma interface em linguagem natural resolve o problema,
uma vez que permite ao usuário uma flexibilidade na formulação das solicitações de
pesquisa, dentro de seu domínio restrito.
5.2 - O PROTÓTIPO INSIRIUS
O protótipo visa capturar algumas construções simples em linguagem natural realizadas
dentro do domínio do problema e interpretá-las, gerando como resposta um comando de
pesquisa aceito pelo sistema SIRIUS. A comunicação efetiva com o SIRIUS não foi
estabelecida, podendo ser realmente efetivada através do desenvolvimento de uma outra
interface capaz de realizar a transferência de dados entre os dois sistemas. Assim, o
campo para o desenvolvimento de um futuro trabalho na área e aprimoramento do
protótipo já implementado está aberto.
A interface limita-se às pesquisas bibliográficas realizadas pelos usuários da biblioteca
do INPE, tratando apenas os argumentos-de-busca não abordando expressões-de-busca
nem Informações de Circulação (Capítulo 2). O tratamento de expressões-de-busca
79
aumentaria muito a complexidade do sistema, pois seria necessária a análise de
conjunções e preposições dentro do contexto da solicitação para que ela pudesse ser
interpretada de forma correta. Ademais, o tratamento de solicitações formuladas apenas
utilizando argumentos-de-busca, por si só, já é suficiente para validar os estudos
propostos neste trabalho.
As consultas deverão ser escritas obedecendo a estrutura sintática definida no Capítulo
3, seguindo-se as regras de coesão e coerência da língua portuguesa do Brasil. A
interface reconhece todas as consultas formuladas de acordo com a sintaxe modelada
(Capítulo3), bem como tem capacidade de tentar inferir o significado de uma solicitação
desconhecida através do estabelecimento de um diálogo com o usuário.
Os diálogos são estabelecidos na forma de menus, devido a eles direcionarem a resposta
do usuário de acordo com as necessidades de informação da interface. Deste modo, uma
solicitação não precisa necessariamente ser formulada com um dos verbos primitivos.
Caso o usuário utilize um verbo não conhecido pela interface, esta estabelecerá diálogo
com ele, a fim de tentar compreender sua solicitação. O mesmo ocorrerá se a solicitação
não possuir palavra-chave. A interface procurará na solicitação por outras palavras que
indiquem o tipo de pesquisa que o usuário deseja realizar e estabelecerá diálogo com
ele.
Sempre que a interface não conseguir capturar a intenção do usuário, seja pelo uso de
um verbo não conhecido por ela, ou pela omissão do verbo, ou pela omissão da palavra-
chave, ou pelo uso de um indicador-inferencial não conhecido, será estabelecido um
diálogo apropriado, a fim de tentar capturar a intenção do usuário.
O uso de preposições na solicitação também não foi tratado, apenas alguns casos foram
previstos. Portanto, a interface nem sempre reconhecerá uma solicitação que possua
uma preposição indicativa do tipo de pesquisa. Por exemplo, em uma conversa informal
entre um usuário da biblioteca e a bibliotecária, se o primeiro diz ao segundo: “quero
pesquisar os livros sobre filosofia”, a bibliotecária consegue compreender a necessidade
do usuário de ter livros sobre o assunto filosofia, pois ela possui capacidade de dedução
80
devido às características cognitivas desenvolvidas nos seres humanos. Mas em se
tratando de IHM, isto não é tão simples assim. Uma série de inferências devem ser
feitas para que uma máquina chegue a esta conclusão, devido a intenção do usuário
estar oculta.
As pesquisas “por autor” devem ser feitas através do fornecimento do último
sobrenome. Se o usuário desejar filtrar um pouco mais a pesquisa, informando o nome
completo do autor, deverá escrever o último sobrenome seguido das iniciais do pré-
nome e demais sobrenomes. Tal procedimento se deve ao fato da estruturação interna
do sistema SIRIUS e da maioria dos sistemas de consulta e recuperação bibliográfica
que possuem suas bases de dados indexadas pela último sobrenome dos autores.
A referência às pessoas por seus sobrenomes é comum no trato formal. O uso do
primeiro nome denota uma informalidade e naturalidade no tratamento humano, e seria
interessante que fosse empregado na realização das consultas em uma interface em
linguagem natural. É importante ressaltar que nada impedirá o usuário de realizar uma
consulta “por autor” referenciando-o por seu pré-nome seguido dos sobrenomes. A
interface aceitará esta solicitação e formulará o comando de pesquisa.
Os diálogos estão representados através de frames, e são mostrados aos usuários sempre
que necessário, de acordo com as necessidades da interface, ou sempre que for
entendido que o usuário está solicitando algum tipo de ajuda. As telas de ajuda são
usadas para explicitar ao usuário para que serve a interface e qual a sintaxe correta a ser
usada em uma consulta. Estas telas são apresentadas toda vez que o usuário dá entrada a
uma solicitação vazia, solicita ajuda, ou quando a interface não consegue compreender a
solicitação do usuário após ter interagido com ele. Um exemplo desse tipo de interação
é mostrado a seguir (Figura 5.1).
81
Fig. 5.1 – Tela de interação com o usuário para solicitação de ajuda ou solicitação
vazia.
Todo o conhecimento da interface está armazenado em dicionários abertos, que poderão
ser ampliados a partir das interações com o usuário, e em dicionários fechados. Deste
modo, futuras consultas aos usuários diminuirão, devido à capacidade de expansão dos
dicionários abertos. É importante ressaltar que, neste caso, considerando-se as
condições de sinceridade, razoabilidade e adequabilidade, descritas no Capítulo 3, não
será realizado nenhum tipo de confirmação com o usuário quando a interface já
conhecer o que lhe foi solicitado, ou seja, a palavra ou expressão procurada já fizer
parte do vocabulário do sistema. Este procedimento caracteriza um aprendizado
gradativo da máquina.
5.2.1 - ARQUITETURA DA INSIRIUS
O protótipo está dividido em componentes, como descrito no Capítulo 4, cada qual com
uma responsabilidade específica na análise da solicitação.
INTERFACE INSIRIUS
Bem vindo à interface INSIRIUS
As consultas deverão ser iniciadas por um verbo, preferencialmente no infinitivo ou imperativo, seguido de uma palavra-chave e do objeto-de-pesquisa.
Exemplos: mostrar autor alencarverificar assunto inteligencia artificial
VERBOS PRIMITIVOS PALAVRAS-CHAVE
mostrarverificarimprimir
autorassuntotituloserie
Responda: 1- Quero fazer uma pesquisa2 - Não quero fazer uma pesquisa
========> _
82
O processamento de uma solicitação não vazia consiste na análise de sua estrutura e
reconhecimento dos termos utilizados.
O componente “Separar Palavra a Palavra” é responsável pela extração de cada palavra
da solicitação. Após sua execução, são executados os componentes responsáveis pela
análise sintática e semântica da solicitação.
O componente “Preencher Frame de Pesquisa” é responsável pelo preenchimento do
frame com os valores inferidos através da análise semântica da solicitação do usuário.
Este componente também é responsável pela chamada ao componente “Interagir com
Usuário para Preencher Frame” o qual após uma interação ativará o componente
“Montar Comando SIRIUS” ou então, caso não tenha conseguido interpretar a
solicitação do usuário, apresentará uma nova tela de interação, sugerindo que o usuário
reformule a solicitação ou procure a bibliotecária de referência.
5.2.2 – CONFIGURAÇÃO FÍSICA
O protótipo da interface foi desenvolvido no ambiente Prolog, como mencionado
anteriormente, e necessita deste ambiente para ser executado.
O desenvolvimento do sistema bem como os testes de validação e verificação de
desempenho, foram realizados em um microcomputador, com microprocessador
Pentium de velocidade igual a 100 Mhz e 32 MB de memória RAM.
As solicitações referentes aos testes e as interações com o usuário foram efetuadas
através de um teclado de 101 teclas, padrão português. O protótipo não prevê o uso de
mouse.
O meio utilizado para a visualização das informações tanto solicitadas à interface
quanto emitidas por ela foi um monitor de vídeo colorido de 15 polegadas.
83
5.2.3 - DESEMPENHO
A interface apresenta uma resposta em um tempo curto, que varia de acordo com a
necessidade ou não de estabelecer interações com o usuário. Uma solicitação formulada
com a sintaxe correta, modelada no Capítulo 3, apresenta um tempo de resposta de
aproximadamente três segundos. Quando há a necessidade de interagir com o usuário,
seja apresentando as telas de ajuda, seja para inferir algum conhecimento não
compreendido, este tempo é acrescido de forma variável, dependendo do número de
interações realizadas.
5.3 – PERSPECTIVAS
Conforme descrito nos itens anteriores deste Capítulo, o protótipo não trata todos os
aspectos abordados pelo sistema SIRIUS, nem todas as estruturas sintáticas
pertencentes à língua portuguesa do Brasil, comumente usadas por seus falantes.
A compreensão de expressões-de-busca constantes em uma consulta INSIRIUS, é
importante tanto por aprimorar a interface em relação ao sistema SIRIUS, como por
possibilitar um estudo mais detalhado de preposições e conjunções que poderão fazer
parte dessas expressões. O tratamento de preposições, apesar de deixar o sistema mais
complexo, é importante pois aumenta a característica inteligente do sistema. Quanto
mais conhecimento a máquina possuir e quanto maior for sua capacidade de inferir
sobre o domínio do problema e fornecer resultados satisfatórios, certamente, melhor
será o seu desempenho.
O estudo de formas dialogais, tal como a detecção de pressuposições pode ser realizado
a médio e longo prazo, permitindo à interface capturar a intenção do usuário, quando
este não for direto na comunicação, ou seja, informar algo nas “entrelinhas”.
Pode-se então verificar que há necessidade de aumentar o volume de conhecimento
lingüístico da língua portuguesa do Brasil na interface, tanto pela expansão de seu
vocabulário (inclusão de novas informações), como pelo seu refinamento.
84
A ligação da interface INSIRIUS à INTERNET poderia vir a ser estudada. A
possibilidade de consultar o acervo bibliográfico, tanto da biblioteca do INPE quanto de
qualquer outra biblioteca, via rede WWW, traz facilidades aos usuários, poupando-lhes
tempo e esforço, no sentido de que estes não precisarão se deslocar até a biblioteca
apenas para realizar uma consulta.
Outro aspecto interessante que poderia ser considerado é a existência de um dicionário
inteligente, com a finalidade de auxiliar a interface nas análises sintáticas e semânticas
das solicitações. Desta forma, o problema da ambigüidade das linguagens naturais
poderia ser suavizado.
Além disso, outras características inteligentes poderiam ser desenvolvidas na interface,
como por exemplo a capacidade de se adaptar a diferentes perfis de usuário. Isso
permitiria uma maior otimização do sistema uma vez que a interface seria capaz de
estabelecer diálogos distintos com o usuário, de acordo com o grau de conhecimento
cada um.
A implementação de novos módulos, que abordem os aspectos descritos acima, seria
útil não apenas por tornar a interface mais eficiente, mas principalmente por permitir a
continuidade dos estudos.
A metodologia de desenvolvimento utilizada poderá ser empregada na concepção de
novas interfaces, realizando-se as modificações necessárias.
Desta forma pode-se perceber que o campo para a pesquisa e o desenvolvimento de
futuros trabalhos está aberto, pois sempre existirá a necessidade de aperfeiçoamento e
implementação dos estudos já desenvolvidos.
5.4 – CONSIDERAÇÕES FINAIS
Construir uma interface robusta e inteligente em LN é uma tarefa difícil e complexa.
Um sistema em LN incorpora diferentes tipos de conhecimento - conhecimento
sintático, conhecimento semântico-pragmático e conhecimento do domínio da
85
aplicação. Um modo de facilitar o desenvolvimento desta tarefa é o uso da
modularidade. A modularidade consiste em dividir o conhecimento do sistema em
componentes diferentes (módulos). A divisão do problema permite que seus módulos
sejam atacados independentemente, tornando a tarefa mais clara e simples.
Outro modo de simplificar esta tarefa é o uso de modelos formais. Muitos sistemas são
difíceis de projetar, modificar e compreender. O desenvolvimento desses sistemas
poderia ser incrementado com maior facilidade se existisse um modelo simples e
abstrato capaz de ser usado na implementação de novos modelos, contribuindo para o
desenvolvimento da área como um todo.
O trabalho apresenta restrições quanto ao reconhecimento de solicitações dos usuários,
devido às dificuldades de tratamento da linguagem natural .As ferramentas utilizadas
na modelagem do conhecimento conseguem capturar as principais características do
sistema, visto que, o domínio da aplicação é restrito.
A interface proposta necessita de um módulo adicional ( protocolo de comunicação ),
que será responsável pelo intercâmbio de informações entre o SIRIUS e a INSIRIUS.
Este componente não foi modelado por não fazer parte do escopo deste trabalho.
O ideal é que a interface possa interagir com o usuário através da linguagem falada,
tendo como apoio recursos gráficos, tornando sua utilização mais intuitiva. Entretanto, a
modelagem aqui apresentada, não é suficiente para capturar este tipo de conhecimento.
O sistema de apresentação de HELP pode ser melhorado, fazendo distinção entre o tipo
de pergunta do usuário e o tipo de resposta do sistema, a qual poderia ser mais simples
ou mais detalhada. O sistema poderia dar respostas mais explicativas (detalhadas), ou
mais gerais, dependendo do tipo de usuário. Isso pode ser obtido através do refinamento
dos frames de diálogo e do componente de apresentação de HELP.
Apesar das limitações que apresenta, a INSIRIUS é um melhoramento em relação à
interface do sistema SIRIUS, por apresentar características de comunicação mais
próximas do usuário.
87
REFERÊNCIAS BIBLIOGRÁFICAS
Carberry, S. Modeling the user’s plans and goals. Computational Linguistics, v.14,
n.3, p. 23-37, 1988.
Cordeiro, J. L. Anatomia do prolog. Rio de Janeiro. Dissertação (Mestrado em
Ciências em Engenharia de Sistemas) - IME, 1985.
Grice, H. P. Logic and conversation. New York: Academic Press, 1975.
Grishman, R. Computacional linguistcs. New York: Cambridge University Press,
1986.
Jakobson, R. Lingüística e comunicação. São Paulo: Cultrix, 1969
Katz, B. START - Natural Language System. [online]. Laboratório de Inteligência
Artificial. MIT. <http://www.ai.mit.edu/>, 03 Novembro 1997.
Koch, I. G. V. Argumentação e linguagem. São Paulo: Cortez, 1984.
Minsky, M. A Framework for representing knowledge. In: Winston, P., ed. The
Psychology of Computer Vision. New York: McGraw-Hill, 1975.
Oliveira, C. A. IDEAL - Uma interface dialógica em linguagem natural para
sistemas especialistas. São José dos Campos. (INPE-5151-TLD/424). Tese
(Doutorado em Computação Aplicada) – Instituto Nacional de Pesquisas
Espaciais, 1990.
Passos, E. L. Inteligência artificial. São Paulo: McGraw-Hill, 1988.
Rich, E.; Knight, K. Inteligência artificial. São Paulo: Makron Books, 1993.
Savadovsky, P. Introdução ao projeto de interfaces em linguagem natural. São
Paulo: SID Informática, 1988.
88
Schank, R. C. Conceptual information processing. Amsterdam, North-Holland:
Holland Publishing Company, 1975.
Sharp, B.; EL Gihani, A. Natural language processing and understanding.
INFORMEX. [online]. Grupo de Inteligência Artificial. Universidade de
StaffordShire, U.K. <http://www.staffs.ac.uk/research/groups/ai/ai_projects.html>.
04 Novembro 1997.
89
APÊNDICE A
BIBLIOGRAFIA COMPLEMENTAR
Arariboia, G. Inteligência artificial: um curso prático. Rio de Janeiro: Livros
Técnicos e Científicos Editora, 1989.
Casanova, M. A.; Giorno, F. A. C.; Furtado, A. L. Programação em lógica e a
linguagem prolog. Rio de Janeiro: Editora Edgard Blücher, 1987.
Instituto Nacional de Pesquisas Espaciais (INPE). SIRIUS: sistema de pesquisa e
recuperação bibliográfica. Manual do Usuário. São José dos Campos.
Lopes, E. Fundamentos da lingüística contemporânea. São Paulo: Cultrix, 1995.
Oliveira, C. A. Lingüística textual e representação do conhecimento: um enfoque.
São José dos Campos: INPE, 1990 (INPE-5064-PRE/1590).
Oliveira, C .A .; Silva, J. D. S. Interface para a tradução de frases em linguagem
natural para uma linguagem de representação geométrica. São José dos
Campos: INPE, 1993 (INPE-5467-PRE/1775).
Oliveira, C. A. O tratamento automático de linguagem natural em processos de
aquisição de conhecimento. São José dos Campos: INPE, 1988 (INPE-4737-
PRE/1412).
Oliveira, C. A. Uma proposta de classificação verbal como unidade geradora de
texto. São José dos Campos: INPE, 1992 (INPE-3712-PRE-848).
Oliveira, C. A. Uma proposta de (re) classificação verbal como unidade geradora
de texto. São José dos Campos: INPE, 1992 (INPE-3712-PRE-856).
Oliveira, C. A. Um tradutor automatizado de frases de língua natural escrita para o
formalismo FASE. São José dos Campos: INPE, 1992 (INPE-5626-PRP-191).
90
Ritchie, G. Information, extraction and manipulation using natural language.
[online]. Departamento de Inteligência Artificial. Grupo de Linguagem
Natural. Universidade de Edinburg, U.K. <http://www.daí.ed.ac.uk/groups/npl/NPL
home page.html>. 03 Novembro 1997.
Rodrigues, F. B. V.; Silva, L. M. INSIRIUS: uma interface em linguagem natural
para o sistema SIRIUS. São José dos Campos: INPE, 1996.
Ruwet, N. Introdução à gramática gerativa. São Paulo: Perspectiva, 1975.
Sharp, B.; Liu, K.; Filipe, J. Knowledge base information systems. [online]. Grupo de
Inteligência Artificial. Universidade de StaffordShire,U.K.,
<http://www.staffs.ac.uk/research/groups/ai/ai_projects.html>. 04 Novembro 1997.
Silva, J. D. Ambiente inteligente para conversão de aplicações em linguagem
natural para uma linguagem de transformações. Dissertação (Mestrado -
Centro de Ciência e Tecnologia) - Universidade Federal da Paraíba. 1992.
Souza, G. Interface Configurável. Dissertação (Mestrado em Computação Aplicada) -
Instituto Nacional de Pesquisas Espaciais, São José dos Campos, Fevereiro 1997.
Torrance, M. C. Advances in human-computer interaction: the intelligent room.
[online]. Laboratório de Inteligência Artificial. MIT. <http://www.ai.mit.edu/>.
03 Novembro 1997.
top related