Universidade Técnica de Lisboa
Instituto Superior Técnico
Edite − Um Sistema de Acesso a Base de
Dados em Linguagem Natural
Análise Morfológica, Sintáctica e Semântica
Maria Luísa Torres Ribeiro Marques da Silva
(Licenciada)
Dissertação para a obtenção do Grau de Mestre em
Engenharia Electrotécnica e de Computadores
Orientador:
Prof. Nuno João Mamede (IST/UTL)
Constituição do Júri:
Prof. Carlos Alberto Pinto Ferreira (IST/UTL)
Prof. Irene Pimenta Rodrigues (UE)
Prof. Nuno João Neves Mamede (IST/UTL)
Lisboa, Abril de 1997
A autora desta tese foi financiada pelo
INESC − Instituto Nacional de Engenharia de Sistemas e Computadores
− através da atribuição de uma Bolsa de Mestrado
Tese realizada sob a orientação do
Prof. Nuno João Neves Mamede
Professor Auxiliar
Departamento de Engenharia Electrotécnica e de Computadores
Instituto Superior Técnico
Título: Edite − Um Sistema de Acesso a Base de Dados em Linguagem Natural
Análise Morfológica, Sintáctica e Semântica
Autora: Maria Luísa Torres Ribeiro Marques da Silva
R e s um o
O Edite é um sistema que permite o acesso em linguagem natural à base de dados de
recursos turísticos dos quiosques multimédia do INESC.
Nesta tese são apresentadas três etapas a que se sujeita uma frase dada ao sistema:
a) análise morfológica, responsável pela associação de uma categoria morfológica às
palavras da frase; b) análise sintáctica, fase em que são geradas uma ou mais árvores
sintácticas representantes da estrutura da frase; c) análise semântica, onde é criada uma
forma lógica que exprime o significado da frase em tratamento.
No que diz respeito à análise morfológica, explica-se o uso que se faz do analisador
morfológico Jspell, e focam-se alguns problemas como o das contracções de preposição.
Quanto à análise sintáctica, apresenta-se com algum pormenor a gramática utilizada pelo
sistema − que representa frases que exprimem pedidos − e o algoritmo de Earley − o
analisador sintáctico eleito. Também é estudado o formalismo subjacente à análise
sintáctica, bem como o formalismo em que se baseia a análise semântica. Relativamente
a esta última fase, constroem-se as regras semânticas associadas a cada regra sintáctica da
gramática.
Descreve-se ainda o processo de extensão do sistema Edite a outras línguas,
nomeadamente ao Espanhol, Inglês e Francês.
P a l a vr a s C ha ve
Processamento de Linguagem Natural, Análise Morfológica, Análise Sintáctica, Análise
Semântica, Regras Sintácticas, Regras Semânticas.
Title:
Edite − A Database Access System using Natural Language
Morphological, Syntactic and Semantic Analysis
Author: Maria Luísa Torres Ribeiro Marques da Silva
Ab stra c t
The Edite system allows natural language access to INESC’s database of touristic
resources.
In this thesis the first three steps to which a statement given to the system is
submitted are presented: a) morphological analysis, responsible for the association of a
morphological category to the words of the sentence; b) syntactic analysis, where one or
more syntactic trees representing the structure of the sentence are generated; c)
semantic analysis, where a logic form expressing the meaning of the statement is
created.
In what concerns the morphological analysis, the use we make of the
morphological analyser Jspell is explained and some problems as the one of the
prepositions’ contraction are discussed. As to the syntactic analysis, both the grammar
used by the system − that represents sentences that express a request − and the Earley
algorithm − the elected parser − are presented. The underlying formalism to the
syntactic analysis is studied, as well as the formalism on which is based the semantic
analysis. Regarding this last phase, the semantic rules associated with each syntactic rule
of the grammar are also analysed.
Moreover, we describe the Edite system extension to other languages, namely
Spanish, French and English.
K ey Words
Natural Language Processing, Morphological Analysis, Syntactic Analysis, Semantic
Analysis, Syntactic Rules, Semantic Rules.
À Inês,
à Juliana,
à Nanusca,
à Rute,
à Susana.
A gr a d e c i m e nt o s
Agradeço à minha Mãe, Pai, Avó e Tia, o facto de me terem sempre apoiado na
decisão de continuar a estudar. Ao meu Pai agradeço também as leituras que fez desta tese
e as suas críticas e comentários.
Agradeço à minha irmã Ana, o melhor corrector ortográfico do mundo, ter lido e
corrigido alguns capítulos da minha tese.
Agradeço ao Carlos Carvalho e J.P., com quem partilhei uma sala no início deste
projecto, a amizade com que me deparei e a incrível disponibilidade que sempre
mostraram em ajudar-me.
Agradeço ao Pedro Soares, ao Luís Pinheiro, ao Nuno Santos e ao Paulo Reis,
companheiros de mestrado e amigos, tudo o que me ensinaram e a simpatia com que o
fizeram. Em particular, ao Paulo Reis, um dos pais do Edite, o eterno agradecimento por
toda a paciência que teve para com os meus erros e por todos as sugestões e ideias que me
deu.
Ao Professor Nuno Mamede, por me ter dado a oportunidade de trabalhar nesta
tese, por me ter sabido ouvir e aconselhar e pela sua amizade, um agradecimento muito
especial. Também eu tenho muito orgulho em ter sido sua aluna.
Agradeço também ao Tiago Rente que se sentou ao meu lado e me ajudou a
desbravar um problema no código, numa altura particularmente difícil para mim.
Agradeço ao João Dias de Almeida, todos os mails que trocámos sobre o Jspell,
sobre o Minho e sobre Lisboa.
Finalmente, o meu último agradecimento é para o Baudouin. Sem a sua força, os
seus conselhos, a sua amizade, a sua disciplina e o seu carinho, nunca teria chegado ao fim
do mestrado.
Í NDI C E
Índice ______________________________________________________________ i
Lista de Figuras e Tabelas_____________________________________________ iv
Lista de Regras_______________________________________________________v
Lista de Exemplos __________________________________________________ vii
Convenções Tipográficas______________________________________________ ix
1 Introdução ________________________________________________________1
1.1 Motivação______________________________________________________1
1.2 Estratégias_____________________________________________________2
1.3 O Sistema Edite ________________________________________________3
1.3.1 Léxico __________________________________________________________________3
1.3.2 Morfologia_______________________________________________________________3
1.3.3 Sintaxe__________________________________________________________________4
1.3.4 Semântica _______________________________________________________________6
1.3.5 Modelo Conceptual________________________________________________________7
1.3.6 O Acesso à Base de Dados __________________________________________________7
1.4 Organização da Tese ____________________________________________7
2 Análise Morfológica ________________________________________________9
2.1 Introdução _____________________________________________________9
2.2 O Jspell ______________________________________________________11
2.3 A Interacção com o Utilizador____________________________________13
2.4 Os Termos Compostos __________________________________________15
i
2.5 As Contracções de Preposição____________________________________15
3 Análise Sintáctica _________________________________________________17
3.1 Introdução ____________________________________________________17
3.2 Gramática ____________________________________________________18
3.2.1 Formalismo Gramatical____________________________________________________19
3.2.2 Tipos de Frase do Domínio do discurso_______________________________________21
3.2.3 Construção da gramática ___________________________________________________26
3.3 Algoritmo de Earley ____________________________________________50
4 Análise Semântica _________________________________________________56
4.1 Introdução ____________________________________________________56
4.2 A estrutura lógica da LIL e a sua sintaxe __________________________57
4.2.1 Termos_________________________________________________________________57
4.2.2 Fórmulas _______________________________________________________________58
4.2.3 Expressões LIL __________________________________________________________59
4.3 Atribuição de Semântica a uma palavra ___________________________59
4.4 Tipo de uma palavra ____________________________________________65
4.4.1 Relação Semântica/Tipo ___________________________________________________65
4.4.2 Tipo por Omissão ________________________________________________________66
4.5 Construção de Expressões em LIL ________________________________67
4.5.1 Operadores semânticos ____________________________________________________67
4.5.2 As Regras Semânticas_____________________________________________________71
4.6 Falhas da Análise Semântica ____________________________________83
4.6.1 Modelo Conceptual_______________________________________________________83
4.6.2 Problemas de Substituição _________________________________________________86
4.7 Algoritmo de Análise Semântica _________________________________86
5 Extensão a outras línguas ___________________________________________90
5.1 Introdução ____________________________________________________90
5.2 O Processo de Extensão _________________________________________90
5.3 Ficheiro de Afixos______________________________________________92
5.4 Dicionário ____________________________________________________92
5.5 Gramática ____________________________________________________93
ii
6 Conclusão ________________________________________________________96
6.1 Introdução ____________________________________________________96
6.2 Situação Actual________________________________________________96
6.3 Trabalho Futuro _______________________________________________97
6.4 O Sistema Ideal _______________________________________________99
6.5 Observações Finais____________________________________________100
Bibliografia_______________________________________________________102
APÊNDICE A: O Ficheiro de Afixos __________________________________108
Caracteres______________________________________________________108
Prefixos ________________________________________________________109
Sufixos_________________________________________________________110
APÊNDICE B: Sintaxe do dicionário__________________________________111
A Informação Semântica no Dicionário______________________________112
Termos Compostos _______________________________________________113
Contracções de Preposição ________________________________________114
APÊNDICE C: Sintaxe da Gramática __________________________________117
Regras Sintácticas _______________________________________________117
Regras Semânticas_______________________________________________118
APÊNDICE D: Gramática − Regras Sintácticas e Semânticas_______________119
APÊNDICE E: Algumas frases analisadas pelo sistema____________________123
Falhas na Análise Morfológica _____________________________________123
Falhas na Análise Sintáctica_______________________________________124
Falhas na Análise Semântica ______________________________________124
Frases bem sucedidas e respectivas LILs _____________________________124
iii
L I S T A DE F I G UR AS
E
TABE L AS
Figura 1.1 − Análise Morfológica ____________________________________________________4
Figura 1.2 − Análise Sintáctica ______________________________________________________5
Figura 1.3 − Análise Semântica______________________________________________________7
Figura 2.1− Pseudo-Fluxograma da Análise Morfológica _______________________________10
Figura 2.2 − Validação da palavra amavelmente______________________________________12
Figura 2.3 – Erro na escrita da palavra buracos_______________________________________13
Figura 2.4 – Sugestões de correcção _________________________________________________14
Figura 3.1 − Primeira árvore gerada para o SN bar, piscina e discoteca ___________________37
Figura 3.2 − Segunda árvore gerada para o SN bar, piscina e discoteca ___________________37
Figura 3.3 − Árvore gerada para o SN bar, piscina e discoteca evitando-se a recursividade das
regras de composição _________________________________________________________38
Figura 3.4 − Sintagma Preposicional No Algarve ______________________________________43
Figura 3.5 − Algoritmo de Earley ___________________________________________________51
Figura 3.6 − Matriz de Análise da Earley da frase Arraiolos tem hotéis? __________________52
Figura 4.1 − Sintagma Preposicional em Lisboa _______________________________________68
Figura 4.2 − Árvore gerada pelo SN hotel com piscina que tenha água quente _____________84
Figura 4.3 − Árvore gerada pelo SN hotel com piscina que tenha suite nupcial _____________84
Figura 4.4 − Ilustração do algoritmo de Análise Sintáctica______________________________87
Figura 5.1 − Tradução Automática das outras línguas para o Português__________________90
Figura 5.2 − Abordagens à Tradução Automática _____________________________________91
Figura 5.3 − A Sintaxe da Língua Inglesa em foco num livro de Astérix __________________94
Tabela 1 − Influência das preposições sobre os cardinais _______________________________77
Tabela 2 − Regras de Prefixação ___________________________________________________110
Tabela 3 − Regras de Sufixação ___________________________________________________110
Tabela 4 − Contracções de Preposição ______________________________________________115
Tabela 5 − Operadores Semânticos_________________________________________________118
iv
L I S T A DE R E G R AS
Regra 1 − Tipos de frases aceites pelo Sistema ________________________________________22
Regra 2 − Frases Interrogativas_____________________________________________________22
Regra 3 − Preposições antes das Partículas Interrogativas_______________________________23
Regra 4 − Se como Advérbio Interrogativo ___________________________________________23
Regra 5 − Substantivos____________________________________________________________28
Regra 6 − Sequências de Determinantes ______________________________________________30
Regra 7 − Sequências com Determinantes Numerais____________________________________31
Regra 8 − Sintagma Nominal Sujeito e com outras funções______________________________35
Regra 9 − Sintagmas Nominais Compostos ___________________________________________36
Regra 10 − Constituintes do Sintagmas Nominal ______________________________________38
Regra 11 − SN com Modificadores __________________________________________________39
Regra 12 − Modificadores__________________________________________________________39
Regra 13 − Composição de Modificadores ____________________________________________40
Regra 14 − Complemento Directo iniciado por uma preposição __________________________41
Regra 15 − Composição de CDs_____________________________________________________41
Regra 16 − Sequência Verbal_______________________________________________________42
Regra 17 − Verbos Transitivos e Intransitivos ________________________________________42
Regra 18 − Verbos Copulativos _____________________________________________________42
Regra 19 − Verbos Auxiliares ______________________________________________________43
Regra 20 − Sintagma Preposicional _________________________________________________44
Regra 21 − Sintagma Adjectival ____________________________________________________44
Regra 22 − Sintagmas Adjectivais ___________________________________________________45
Regra 23 − Composição de PSN1s___________________________________________________45
Regra 24 − Sintagmas Adjectivais que precedem o nome________________________________45
Regra 25 − Sintagma Adverbial ____________________________________________________46
Regra 26 − Relativas ______________________________________________________________47
Regra 27 − Orações Infinitivas _____________________________________________________47
Regra 28 − Frases sem SV (sem SV na oração principal)________________________________48
Regra 29 − Frases com Verbos Transitivos ___________________________________________48
v
Regra 30 − Frases com Verbos Intransitivos __________________________________________48
Regra 31 − Frases com Verbos Copulativos ___________________________________________49
Regra 32 − Sintagma Preposicional constituinte extranuclear da frase ____________________50
Regra 33 − Início das frases Interrogativas Indirectas __________________________________50
Regra 34 − Semântica da Composição de Sintagmas Nominais __________________________72
Regra 35 − Semântica dos Substantivos______________________________________________73
Regra 36 − Semântica de Sequências de Determinantes que incluem Numerais _____________73
Regra 37 − Semântica de Sequências com Determinantes não Numerais ___________________73
Regra 38 − Semântica de Sequências com Determinantes Numerais_______________________73
Regra 39 − Semântica do Sintagma Nominal com Modificador __________________________74
Regra 40 − Semântica da Composição de Modificadores________________________________74
Regra 41 − Semântica para Sintagmas Verbais com Verbos Transitivos e Intransitivos______75
Regra 42 − Semântica para Sintagmas Verbais com Verbos Copulativos __________________76
Regra 43 − Semântica para Sequências de Verbos _____________________________________76
Regra 44 − Semântica do Sintagma Preposicional Simples______________________________76
Regra 45 − Semântica do Sintagma Preposicional com Sintagma Adverbial _______________77
Regra 46 − Semântica do Sintagma Preposicional com Cardinais ________________________78
Regra 47 − Semântica do Sintagma Preposicional com Pontuação________________________78
Regra 48 − Semântica dos Sintagmas Adjectivais que antecedem um Nome ________________79
Regra 49 − Semântica dos Sintagmas Adjectivais que contêm uma Preposição _____________79
Regra 50 − Semântica dos Sintagmas Adverbiais______________________________________80
Regra 51 − Semântica das Orações Relativas__________________________________________80
Regra 52 − Semântica das Orações Infinitivas ________________________________________80
Regra 53 − Semântica das Interrogativas Indirectas____________________________________81
Regra 54 − Semântica do Complemento Directo _______________________________________81
Regra 55 − Semântica para Frases com Sintagmas Verbais com Verbos Transitivos Directos _81
Regra 56 − Semântica das Frases com Verbos Intransitivos _____________________________82
Regra 57 − Semântica das Frases com Verbos Copulativos ______________________________82
Regra 58 − Semântica do Sintagma Preposicional constituinte extranuclear da frase ________83
vi
L I S T A D E E X E MP L O S
Exemplo 2.1 – Termo Composto ____________________________________________________15
Exemplo 2.2 – Contracção de Preposição das = de + as_________________________________16
Exemplo 3.1 − Gramática__________________________________________________________19
Exemplo 3.2 − Concordâncias ______________________________________________________20
Exemplo 3.3 − Restrições __________________________________________________________21
Exemplo 3.4 − Tipo de Frase_______________________________________________________21
Exemplo 3.5 − Orações Subordinadas _______________________________________________24
Exemplo 3.6 − Perguntas Abertas e Fechadas _________________________________________26
Exemplo 3.7 − Nomes Comuns e Nomes Próprios______________________________________27
Exemplo 3.8 − Pronomes segundo [Relvas−27] e [Nunes et al.−86] _______________________28
Exemplo 3.9 − Determinantes ______________________________________________________29
Exemplo 3.10 − Numerais _________________________________________________________30
Exemplo 3.11 − Verbos Transitivos e Intransitivos ____________________________________31
Exemplo 3.12 − Verbos de Ligação ou Copulativos ____________________________________32
Exemplo 3.13 − Advérbios _________________________________________________________32
Exemplo 3.14 − Algumas Locuções Adverbiais________________________________________32
Exemplo 3.15 − Adjectivos_________________________________________________________33
Exemplo 3.16 − Preposições e Locuções Prepositivas ___________________________________33
Exemplo 3.17 − Conjunções Coordenativas e e ou _____________________________________34
Exemplo 3.18 − Funções do Sintagma Nominal _______________________________________35
Exemplo 3.19 − Tipos de Sujeito ___________________________________________________36
Exemplo 3.20 − Conjunções________________________________________________________40
Exemplo 3.21 − Verbos Auxiliares __________________________________________________42
Exemplo 3.22 − Funções do Sintagma Adjectival______________________________________44
Exemplo 3.23 − Função das Relativa ________________________________________________46
Exemplo 3.24 − Orações Relativas Restritivas e Explicativas ____________________________47
Exemplo 3.25 − Verbo haver vs verbo existir __________________________________________49
Exemplo 3.26 − SP constituinte extranuclear da frase __________________________________49
Exemplo 3.27 − Derivação da frase Arraiolos tem hotéis? _______________________________50
vii
Exemplo 4.1 − Termos ____________________________________________________________58
Exemplo 4.2 − Fórmulas Primitivas _________________________________________________58
Exemplo 4.3 − Conectivos Lógicos __________________________________________________59
Exemplo 4.4 − Expressões LIL _____________________________________________________59
Exemplo 4.5 − Expressão LIL e Conectivos Lógicos ___________________________________59
Exemplo 4.6 − Semântica de Verbos Transitivos e Intransitivos _________________________62
Exemplo 4.7 − Tipo por omissão ___________________________________________________66
Exemplo 4.8 − Operador ?_________________________________________________________67
Exemplo 4.9 − Operador S ________________________________________________________68
Exemplo 4.10 − Operador E _______________________________________________________69
Exemplo 4.11 − Operador & _______________________________________________________70
Exemplo 4.12 − Operador C _______________________________________________________70
Exemplo 4.13 − Operador P _______________________________________________________71
Exemplo 4.14 − Operador 0________________________________________________________71
Exemplo 4.15 − Composição de Modificadores do SN__________________________________75
Exemplo 4.16 − Verbos Intransitivos e Transitivos ____________________________________75
Exemplo 4.17 − Semântica de um Sintagma Verbal constituído por vários verbos __________76
Exemplo 4.18 − Frases com Verbos Intransitivos ______________________________________82
Exemplo 5.1 − Reutilização das macros e a semântica ID _______________________________93
Exemplo A. 1 – Extracto do Ficheiro de Afixos_______________________________________109
Exemplo A. 2 – Regra de Prefixação ________________________________________________109
Exemplo A. 3 – Regra de Sufixação ________________________________________________110
Exemplo B. 1– Entrada no Dicionário______________________________________________112
Exemplo B. 2 − Semântica no Dicionário ___________________________________________113
Exemplo B. 3 – Sintaxe dos Termos Compostos ______________________________________114
Exemplo C. 1 − Gramática________________________________________________________118
viii
C O NVE NÇ Õ E S TI P O G R ÁF I C AS
Nesta tese utilizou-se um conjunto de convenções tipográficas que se enunciam de
seguida:
• usou-se texto em Courier regular para entradas no dicionário, regras não
terminais da gramática, bem como para a semântica das palavras, i.e., para escrever
termos e fórmulas;
• usou-se texto em Courier itálico para representar o tipo de uma palavra;
• usou-se texto em
Arial (tamanho 8)
nas legendas das Figuras, Tabelas, Exemplos e Regras;
• usou-se texto [entre parêntesis rectos] para as referências bibliográficas;
• usou-se texto em Itálico para frases ilustrativas no meio de um texto, para os
símbolos terminais da gramática e para palavras em Latim, Inglês ou Francês;
• usou-se texto em Negrito para palavras chave.
ix
1 I NT R O DUÇ ÃO
1.1 Mot i vação
Portugal é um país cada vez mais consciente da importância da indústria do turismo
no equilíbrio da sua economia: são cada vez mais e de melhor qualidade os suportes
turísticos a oferecer. Num levantamento exaustivo dos recursos turísticos nacionais, surge
o Inventário de Recursos Turísticos ou IRT, cuja base de dados é da responsabilidade do
Instituto Nacional de Engenharia de Sistemas e Computadores, vulgo INESC.
De maneira a permitir que qualquer pessoa possa aceder a essa base de dados, o
INESC criou os quiosques multimédia que, pela sua aparência familiar, facilitam a
comunicação Homem-Máquina. No entanto, por muito atractivos que sejam os seus
gráficos e vídeos, um quiosque multimédia tem as suas limitações:
• um utilizador tem de se adaptar à linguagem do sistema, por muito simples que seja;
• um utilizador que procure uma informação inexistente pode perder muito tempo a
navegar, de janela em janela, até perceber que o sistema não o vai poder ajudar (e o
sistema não tem maneira de o avisar).
Uma maneira de contornar estes problemas foi a incorporação, nos quiosques
multimédia, de um sistema que torna possível o acesso à base de dados em Linguagem
Natural1 (LN): o utilizador passa a poder exprimir-se na sua própria língua, e, se por
acaso a informação que procura não existir, o sistema informa-o do facto.
Mas não são apenas estas as vantagens de uma interface de acesso a uma base de
dados em LN:
• as perguntas a que, por alguma razão, o sistema não consegue responder, podem ser
registadas e a causa do insucesso localizada e reparada. Desde modo o sistema está
sempre em crescimento, tornando-se cada vez mais robusto e competente;
1
Entende-se por Linguagem Natural aquela que evoluiu naturalmente através da comunicação entre as
pessoas (por exemplo Português, Espanhol, Italiano). Por oposição, tem-se as linguagens inventadas ou
códigos, como as linguagens de programação.
1
• passam a ser possíveis perguntas que envolvam quantificação − Indique-me 10 hotéis
com sauna. − qualificação − Indique-me uma pensão barata. − ou negação − Onde é
que há parques de campismo que não exijam cartão de campista?;
• suportam-se expressões elípticas2 , permitindo ao utilizador exprimir-se de uma forma
muito rápida − A torre de Belém está aberta ao sábado? E ao domingo?.
Nasce assim o sistema de Interface em Linguagem Natural (ILN) que esta tese
descreve parcialmente, baptizado com o nome de Edite. Neste trabalho, apenas os passos
iniciais do sistema são descritos; isto é, descreve-se a transformação da frase em LN
numa forma lógica mais próxima da linguagem que acede à base de dados de recursos
turísticos. Em [Reis & Mamede−96a] é apresentado o seguimento do processo.
A resposta dada pelo sistema não é em LN, pois utilizam-se gráficos disponíveis
nos quiosques multimédia. Assim, se um utilizador pedir Indique-me as reservas naturais
de Portugal, poderá surgir no ecrã um mapa de Portugal com essas regiões demarcadas.
Deve-se notar que esta tese não apresenta um sistema acabado, descrevendo apenas
uma primeira fase de um sistema em crescimento.
1.2 Es t r a t é gi a s
Sabendo que era impossível ter em 9 meses o sistema Edite a funcionar e a cumprir
a totalidade das funções a que se propunha, decidiu-se desenvolver um sistema mais
simples, que apenas respondesse a um tipo bem definido de perguntas, mas que fosse
depois fácil de estender. Assim, depois de se terem delimitado os objectivos a curto prazo,
escolheram-se as ferramentas para a construção do Edite. Também aqui o factor tempo
foi marcante e, sem grande espaço para discussões teóricas, aceitaram-se teorias e
modelos que já se tinham mostrado competentes nas suas áreas de aplicação e não se
entrou em estudos comparativos de desempenho.
Finalmente, e lembrando que este trabalho se enquadra na área da linguística
computacional, sem nunca subvalorizar o rigor linguístico, muitas vezes este foi
sacrificado em função da necessidade de atingir resultados práticos.
2
A elipse é uma figura de estilo que se caracteriza pela supressão de palavras numa frase, fáceis de se
subentenderem pelo contexto.
2
1.3 O Si s t e m a Edi t e
A primeira etapa do desenvolvimento de uma interface em LN passa pela definição
do subconjunto da linguagem de que o utilizador se poderá servir para alcançar os seus
propósitos. Esse subconjunto deverá cobrir todo o domínio da aplicação. No caso do
sistema Edite, como a base de dados em causa guarda informação sobre recursos
turísticos, interessam-nos todas as perguntas que alguém possa querer fazer
sobre turismo.
Repare-se que a delimitação do subconjunto da linguagem a tratar facilita o
desenvolvimento do sistema, pois apenas se torna necessário “domar” uma parcela do
Português.
1 . 3 . 1 Lé xi c o
Depois de assente qual o subconjunto da linguagem que se quer disponível, há que
decidir quais são as palavras que cobrem esse subconjunto, ou seja, há que definir o
vocabulário do Edite. Este vocabulário é guardado num dicionário. Repare-se que
palavras como fechadura e avó podem não constar no dicionário, mas nomes comuns
como hotel ou piscina têm de lá estar. Também alguns verbos como ter, indicar e alugar
ocupam certamente um lugar no dicionário, bem como nomes próprios que identifiquem
algum recurso: Jerónimos, Tejo, Lisboa, etc.…
1 . 3 . 2 M o r f o l o gi a
Para não sobrecarregar o dicionário, este apenas guarda uma palavra de cada
família 3 (por exemplo, no dicionário encontra-se a palavra aldeia, mas não as palavras
aldeias e aldeamento). Depois, através de certas regras (regras de afixação), são
identificadas e caracterizadas as palavras fornecidas pelo utilizador, caso não constem no
dicionário. Ao processo de identificação da categoria morfológica das palavras usadas
pelo utilizador chama-se análise morfológica (hotel nome comum (nc), masculino do
singular, o artigo (art) definido, masculino do singular, …).
3
Entenda-se por família de palavras um conjunto de palavras que se agrupam em torno de um radical
comum [Estrela & Pinto-Correia−94 ]. Por exemplo, nadar, natação, nadador, nadadoras, etc…
3
No fim da análise morfológica, se esta for bem sucedida, cada palavra da frase de
entrada terá a(s) sua(s) categoria(s) morfológica(s) associada(s).
Na Figura 1.1 pode-se observar o resultado simplificado da análise morfológica à
frase O Ritz tem piscina?.
Regras
de
Afixação
Dicionário
O Ritz tem
piscina ?
o/CAT=art
Analisador
Morfológico
Ritz/CAT=np
tem/CAT=v
piscina/CAT=nc
Figura 1.1 − Análise Morfológica
Mas a análise morfológica nem sempre é bem sucedida, podendo falhar por duas
razões:
• a palavra é conhecida pelo sistema, mas tem um erro ortográfico;
• a palavra é desconhecida.
Em ambos os casos haverá uma tentativa de tratar o potencial erro, mas enquanto
que no primeiro caso é possível que se descubra a palavra correcta, confrontando-se o
utilizador com o seu erro, no caso da palavra ser desconhecida, como a palavra
simplesmente não faz parte do vocabulário do Edite, a análise morfológica é mal
sucedida. Por exemplo, em fims-de-semana o Edite será capaz de reconhecer fins-desemana, mas a palavra hjfjgstfwet já provocaria um insucesso morfológico, pois o
analisador não seria capaz de obter uma sugestão para uma palavra tão “disforme”.
1 . 3 . 3 S i nt a xe
Depois de se terem decidido quais as palavras que constarão no dicionário, chega-se
à fase em que se decide como é que essas palavras se podem combinar para formar frases
com base na sua categoria morfológica. Ou seja, define-se a estrutura sintáctica das
4
frases que o utilizador poderá usar. Entra-se então na análise sintáctica, etapa em que,
com base num algoritmo (algoritmo de Earley) e numa gramática (onde se guardam as
regras sintácticas), se geram uma ou mais árvores sintácticas, contendo a estrutura
sintáctica da frase em estudo. Isto se a frase fornecida pelo utilizador for sintacticamente
correcta, pois caso a gramática não suporte a frase, nenhuma árvore é criada.
Na Figura 1.2 pode observa-se uma árvore (simplificada) gerada durante a análise
sintáctica da frase O Ritz tem piscina?.
Gramática
Frase
Regras Sintácticas
Sujeito
SV
o/CAT=art
Ritz/CAT=np
tem/CAT=v
Analisador
Sintáctico
(Algoritmo de Earley)
art
np
v
CD
o
Ritz
tem
nc
piscina/CAT=nc
piscina
Figura 1.2 − Análise Sintáctica
Como um sistema robusto deve ser capaz de compreender frases mal formadas
sempre que possível [Allen−95], a gramática do Edite não é uma gramática exacta para o
Português. Em particular, algumas frases telegráficas4 são sintacticamente aceites. No
entanto, o Edite não é um interpretador de texto e entradas como a que se segue jamais
serão gramaticalmente suportadas:
4
Designam-se por telegráficas as frases demasiado sintécticas. Geralmente são falsas frases, i.e. sem verbo.
Como exemplo, tome-se hotéis com piscina.
5
“Senhor Director
Somos uma pequena Agência de Viagens, mas foi-nos encomendada a
organização de um congresso luso-espanhol em Trás-Os-Montes para cerca de
150 pessoas (professores e assistentes universitários, bem como professores de
história do ensino secundário).
Pretendemos saber se:
- existe em algumas cidades transmontanas um auditório para aquele número de
pessoas com instalações de tradução simultânea;
- existe capacidade de alojamento em estabelecimento hoteleiro de nível médio
(3 e 4 estrelas ou equivalente) nessa cidade ou seus arredores;
- existe um restaurante com capacidade para 200 pessoas, pois há convidados
locais;
Em “post-convention” pretende-se conhecer alguns castelos ou fortalezas
medievais fronteiriças, pelo que se solicita a identificação desses monumentos
e onde poderão estacionar autocarros a uma distância máxima de 300 metros,
bem como uma pequena resenha histórica de cada um desses monumentos.
Muito agradeço esta informação o mais rápido possível.
O
Agente X”
1 . 3 . 4 S e m â nt i c a
Decidiu-se que este sistema de processamento de Linguagem Natural usaria uma
linguagem de representação intermédia para expressar o significado das frases em
estudo; intermédia, pois situa-se entre a frase escrita em LN e a linguagem com que é
feito o acesso à base de dados.
Segundo [Allen−95], as linguagens de representação, para serem competentes, têm
de ter as seguintes propriedades:
• a representação tem de ser precisa e não pode ser ambígua;
• a representação deve captar a estrutura intuitiva das frases em linguagem natural.
Chama-se análise semântica à etapa do sistema em que se transforma a estrutura
em árvore obtida durante a análise sintáctica, numa forma lógica que representa o
significado, independente de contexto, da frase. À linguagem usada chamou-se LIL
(Linguagem Intermédia Lógica).
O facto da representação lógica ser independente de contexto leva a que a análise
semântica, só por si, não reprove frases como Indique-me um hotel com meias. Na
realidade, a essa frase será atribuída uma representação em LIL, e a sua análise semântica
apenas falhará porque durante esta fase são feitas consultas ao chamado Modelo
Conceptual (existe ainda outra hipótese de reprovar uma frase durante a análise
semântica, mas esse caso apenas será observado em 4.6.2).
Resta ainda dizer que durante a análise semântica são usadas regras semânticas: a
cada regra sintáctica existe uma regra semântica associada.
6
Usando de novo o exemplo anterior, uma aproximação da expressão LIL,
resultante da análise semântica da frase O Ritz tem piscina?, pode ser vista na Figura 1.3.
Gramática
Modelo
Conceptual
Frase
Sujeito
art
o
Regras Semânticas
SV
np
Ritz
v
tem
CD
Analisador
Semântico
nc
LIL:
{ter (Ritz, piscina)}
piscina
Figura 1.3 − Análise Semântica
1 . 3 . 5 M o d e l o C o nc e p t ua l
O Modelo Conceptual é descrito em [Reis & Mamede−96b], saindo do domínio
desta tese. No entanto, é consultado durante a análise semântica. No caso do pedido do
hotel com meias, é o modelo conceptual que indicará que um hotel não pode ter meias, e
provocará o insucesso da análise semântica da frase. Já o exemplo do hotel com piscina
terá a aprovação do Modelo Conceptual, pois tem sentido dizer que um hotel tem (ou
não) piscina.
1 . 3 . 6 O A c e s s o à Ba s e d e D a d o s
Se a análise semântica tiver sido bem sucedida, resta transformar a expressão em
LIL que se obteve, numa fórmula em SQL (Structured Query Language), linguagem com
que é feito o “assalto” à base de dados. Este processo de tradução também não faz parte
desta tese sendo descrito em [Reis & Mamede−96a].
1 . 4 Or g a n i z a ç ã o d a T e s e
A ILN apresentada neste trabalho divide-se em três módulos fundamentais: análise
morfológica, análise sintáctica e análise semântica. Assim, os capítulos 2, 3 e 4,
7
respectivamente, encarregam-se de apresentar cada uma destas etapas. No capítulo 5 é
explicada a extensão do sistema a outras línguas, e no capítulo 6 é avaliado o estado
actual do sistema, focando-se alguns problemas que ainda não foram resolvidos e
sugerindo-se algumas ideias para a sua solução. Em apêndice descreve-se o ficheiro que
contém as regras de afixação (Apêndice A), a sintaxe do dicionário (Apêndice B), a
sintaxe da gramática (Apêndice C) e as regras da gramática (Apêndice D). Ainda se
apresenta um pequeno exemplo de frases aceites (ou não) pelo sistema no Apêndice E.
8
2 A NÁL I S E M O R F O L Ó G I C A
2.1 I nt r odução
No acto de comunicação, o emissor só pode ser compreendido pelo receptor se
ambos utilizarem o mesmo código, a mesma linguagem. Para perceber a mensagem
enviada, o receptor tem de começar por identificar as unidades que a constituem. No caso
de se tratar de comunicação verbal, esse processo passa pela identificação das palavras da
frase.
Apesar desta análise ser normalmente imperceptível, já é bem visível quando se lida
com uma língua mal conhecida, com alguém que fale muito depressa ou quando se tenta
ler um texto com má letra. Como ilustração, relembre-se uma velha charada, em que
alguém pergunta: Quando é que se abre a porta à Berta?. A maioria das pessoas fará
uma identificação errada das palavras desta frase, que lhes soará a Quando é que se abre
a porta aberta?.
Quando a pergunta é escrita num terminal não se dão casos como este, em que a má
interpretação se deve a uma confusão fonética. Mas também podem ocorrer problemas
na identificação das palavras da frase, as quais são geralmente identificadas pelo facto de
estarem separadas umas das outras por espaços em branco ou um por um sinal de
pontuação. No entanto, existem casos em que um conceito ou objecto é extraído de uma
sequência de palavras. Diz-se que essa sequência de palavras forma um termo composto
(por exemplo, Vila Real é um termo composto na frase Vila Real tem termas?).
Assim, a primeira etapa a realizar por uma ILN é a identificação das palavras da
frase a interpretar e, quando termina a “dissecação” da frase, é feita uma procura no
dicionário de maneira a investigar se as palavras existem ou não, e se fazem parte de um
termo composto. Ainda casos como o das contracções de preposição (do, no, numa,
…), têm de ser tratados à parte: a palavra do, por exemplo, tem de ser separada nas
palavras de e o que são as palavras que a constituem.
9
A cada palavra reconhecida é associada a sua categoria gramatical (poderá ter
várias). Se uma palavra for desconhecida pelo sistema, este, através de trocas ou
substituições de letras na palavra desconhecida, apresenta um menu com sugestões de
correcção, pedindo ao utilizador que escolha uma dessas palavras para substituir a que
empregou.
Caso o dicionário esteja exaustivamente carregado com todas as palavras e as suas
formas (hotel, hotéis, hoteleiro,…) e a análise à palavra for feita apenas à sua sintaxe,
está-se em presença de uma análise léxica. Se, pelo contrário, o dicionário contiver
apenas uma palavra de cada família (hotel) e for feita uma análise à morfologia da
palavra (hotéis plural de hotel, hoteleiro adjectivo relativo a hotel, …), fala-se de uma
análise morfológica.
Uma análise léxica só terá sentido se o domínio da linguagem a tratar for muito
pequeno. Por exemplo, para o Português, uma análise puramente léxica obrigaria a mais
de 600 000 entradas no dicionário [Almeida & Pinto−95]. Apesar do domínio de
linguagem do Edite restringir bastante o espaço linguístico, continua a ser demasiado
vasto para um dicionário e, deste modo, o sistema utiliza um analisador morfológico de
nome Jspell. Na Figura 2.1, pode-se ter uma ideia geral do processo global da análise
morfológica do Edite.
palavra i’(substituí-se palavra i por palavra i ’)
Aceita
palavrai ’
FRA SE:
palavra 1
palavra i
O JSPELL
reconhece a
palvra?
palavra 2
…
Não
Tem
Sugestões?
Sim
ACABA
sem sucesso
Sim
ACABA
com sucesso
Menu com
sugestões
Não
palavra n
Não
Sim
Sim
Tratamento
de termos
compostos
Sim
Tratamento
da contracção
de preposição
É Termo
Composto?
Há mais
palavras?
Não
Guarda
a
informação
Não
É Contracção
de Preposição?
Figura 2.1− Pseudo-Fluxograma da Análise Morfológica
10
Não aceita
sugestões
O Jspell é apresentado na secção seguinte − 2.2 − sendo a secção 2.3 dedicada à
interacção do sistema com o utilizador, focando-se o caso do utilizador apresentar uma
palavra desconhecida. Nas secções 2.5 e 2.4 são focados, respectivamente, os problemas
dos termos compostos e das contracções de preposição, pois estes dois casos obrigam a
um tratamento especial.
2.2 O Jspel l
O
Jspell é
uma
ferramenta
desenvolvida
na
Universidade
do
Minho
([Almeida & Pinto−94], [Almeida & Pinto−95]), e baseada no Ispell (corrector
ortográfico do UNIX [Ritchie & Thompson]); apoia-se num dicionário de Português
(mais de 35000 palavras) e num ficheiro de afixos que contém um conjunto de regras
para a formação de palavras a partir de palavras da mesma família. Essas regras também
se dizem regras de afixação, pois uma palavra pode ser formada a partir de outra por
acrescento de letras à cabeça desta (regras de prefixação) ou no fim (regras de
sufixação). O facto do Jspell já ter um dicionário de Português foi a principal razão para
a sua escolha, apesar de não se usar, na totalidade, o dicionário do Jspell, pois o domínio
do discurso do Edite é relativamente pequeno. Deste modo, a procura torna-se muito
mais rápida e ainda se evita que, em caso de erro por parte do utilizador, o número de
sugestões de correcção seja muito grande. Assim, o dicionário usado pelo sistema Edite é
um dicionário pessoal, cujas palavras pertencem ao domínio do discurso do turismo,
existindo algumas exigências à sintaxe das entradas do dicionário (vd. Apêndice B).
O Jspell traz ainda um dicionário com os verbos irregulares, onde todas as
conjugações destes verbos são entradas no dicionário, visto não ter sentido a criação de
regras de afixação tão particulares. O dicionário do Edite contém alguns desses verbos.
O ficheiro de afixos do Edite é praticamente idêntico ao original, sendo a única
grande diferença a introdução dos algarismos no ficheiro, de maneira a tornar possível a
sua utilização. Também a sintaxe do ficheiro de afixos é descrita no Apêndice A.
Descreve-se de seguida, e em traços largos, o funcionamento do Jspell, que se
reflecte nas seguintes fases:
• Identificação das palavras da frase: Esta etapa passa pelas definições que se
encontram no ficheiro de afixos (que caracteres são letras, podendo deste modo fazer
parte das palavras, que caracteres são separadores, …), bem como por certas opções
(aceitam-se, ou não, palavras concatenadas, …). Assim, de acordo com o ficheiro de
afixos, pode-se considerar, por exemplo, 1000$ como uma palavra (caso se tenha
em conta que o carácter $ pode fazer parte de uma palavra), ou não, e, neste último
11
caso, a palavra que o Jspell identifica é 1000. Também como exemplo, de acordo
com certa opção do Jspell, este pode identificar, ou não, em suitenupcial as palavras
suite e nupcial.
• Validação da palavra: Quando acaba o processo de identificação das palavras, o
Jspell é usado para descobrir se essas palavras existem. Começa por aplicar as regras
de sufixação/prefixação “ao contrário”. Para que se perceba o que quer dizer “aplicar
as regras ao contrário”, tome-se um exemplo: considere-se a palavra amavelmente.
O Jspell vai procurar todas as regras de sufixação que acrescentam os sufixos que se
podem obter da palavra (amavelmente, mavelmente, avelmente, velmente, etc.…).
No ficheiro de afixos, encontram-se várias regras que o fazem, mas destacam-se duas.
A primeira, a regra m, gera um advérbio a partir de um adjectivo, retirando à palavra
a terminação ável e acrescentando-lhe o sufixo avelmente (- ável + avelmente). Com
esta regra aplicada, “ao contrário” à palavra amavelmente (- avelmente + ável),
gera-se a palavra amável. A outra regra, a regra n, transforma um verbo no
infinitivo num adjectivo, substituindo o sufixo ir pelo sufixo ente (- ir + ente). Do
mesmo modo, gera-se a palavra amavelmir (- ente + ir). De seguida, procuram-se as
formas obtidas no dicionário: a palavra amável existe e a palavra amavelmir não.
Falta ainda observar se a regra m se encontra como uma regra que pode ser aplicada à
palavra amável. Em caso afirmativo, o Jspell devolve a classificação da palavra
amavelmente (vd. Figura 2.2).
Amavelmente
Regra m
Regra n
aplicada ao
aplicada ao
contrário
contrário
Amavelmente avelmente +
ável = amável
Existe no dicionário
e a regra m pode ser
aplicada
Ficheiro de Afixos
Regra m (adj -> adv)
- ável + avelmente
Regra n (v -> adj)
-ir + ente
Amavelmente ente + ir =
amavelmir
Não existe no
dicionário
Dicionário
amável/CAT=adj,N=s/m//
Amavelmente: advérbio formado a
partir do adjectivo singular amável
Figura 2.2 − Validação da palavra amavelmente
12
2 . 3 A I n t e r a c ç ã o c o m o Ut i l i z a d o r
Se o utilizador usar uma palavra que o sistema desconhece, este entende que a
palavra tem um erro ortográfico e tenta encontrar uma palavra que conheça e que se
assemelhe à palavra em causa. Assim, procuram-se as palavras que apenas diferem da
palavra desconhecida numa letra: por terem uma letra a mais, uma a menos, ou o mesmo
número de letras sendo uma delas diferente; também as palavras que têm duas letras
trocadas são tidas em conta.
Ilustre-se este processo com um exemplo: imagine-se que o utilizador se engana e
em vez de escrever a palavra buraco, escreve a palavra buaco, como se pode ver na
Figura 2.3 (os menus apresentados são os usados em testes e não os que se aparecem nos
quiosques multimédia).
Figura 2.3 – Erro na escrita da palavra buracos
O sistema gera várias hipóteses de correcção, bastando ao utilizador escolher a
correcção desejada (Figura 2.4).
13
Figura 2.4 – Sugestões de correcção
Estas sugestões devem-se ao facto de no dicionário estarem as entradas que se
seguem, em que SEM representa a semântica das palavras e TIPO os seu tipo (vd.
Capítulo 4):
Bracos/CAT=np,SEM=ID|0,TIPO=lugar/
Buarcos/CAT=np,SEM=ID|0,TIPO=freguesia/
Bucos/CAT=np,SEM=ID|0,TIPO=freguesia/
Bucos/CAT=np,SEM=ID|0,TIPO=aldeia/
buraco/CAT=nc,SEM=ID|1,TIPO=S,G=m/p/
Ou seja, existe um lugar chamado Bracos, uma freguesia chamada Buarcos e uma
chamada Bucos, que também é o nome de uma aldeia. A última sugestão é o nome
comum (nc) buraco, que é a palavra desejada.
Uma nota para o facto do utilizador, ao escolher uma solução, estar apenas a
indicar a palavra correcta que anteriormente não conseguiu escolher. Quando uma
solução tiver sido seleccionada, é de novo feita uma pesquisa da palavra eleita. Deste
modo tanto faz ao utilizador escolher a palavra Bucos que representa a freguesia ou a
aldeia, pois quando o dicionário for consultado, surgem as duas soluções.
14
2 . 4 Os T e r m o s Co m p o s t o s
O conceito de termo composto que aqui se apresenta não cai na definição de
palavras formadas por composição (aglutinação – embora = em + boa + hora – e
justaposição – guarda-chuva 5 ): um termo composto é formado por uma ou mais
palavras, separadas por hífenes (logo as palavras formadas por aglutinação não são
termos compostos). Mas também não são apenas termos compostos as palavras
formadas por justaposição que fazem parte do vocabulário Português. Os termos
compostos são constituídos por quaisquer palavras que interesse agrupar. Por exemplo,
consideram-se termos compostos nomes de terras com mais de uma palavra (Vila-Realde-Santo-António, Linda-a-Velha); as locuções adverbiais dão origem a termos
compostos (mais-de, mais-do-que); etc.
No caso de surgirem dois termos compostos que começam na mesma palavra,
selecciona-se o maior. Por exemplo, em Vila Real de Santo António toma-se o termo
composto Vila-Real-de-Santo-António, e não Vila-Real.
Todas as palavras que ocuparem a primeira posição de um termo composto têm de
indicar esse facto, no dicionário. Assim, para identificar um termo composto, existe a
categoria tc, seguindo-se à categoria a, ou as palavras, que contribuem para a formação
do termo composto. O termo composto, na totalidade, também tem de existir como
entrada no dicionário. A sintaxe detalhada das entradas de termos compostos encontra-se
no Apêndice B.
Exemplo 2.1 – Termo Composto
Considerando código-postal como um termo composto, tem-se
código/CAT=tc,{[postal]}//
código-postal/CAT=nc,SEM=ID,TIPO=S,G=m,N=s//
2 . 5 As Co n t r a c ç õ e s d e P r e p o s i ç ã o
As preposições a, de, em, por (na sua forma per), podem contrair-se com alguns
artigos, advérbios e pronomes, dando origem às chamadas contracções de preposição.
5
Uma palavra diz-se formada por aglutinação se for formada a partir de uma fundição das palavras
primitivas que a constituem. Diz-se formada por justaposição se os elemementos componentes conservarem
a sua integridade fonética, sendo irrelevante o facto de estarem ou não separados por um hífen
[Estrela & Pinto-Correia−94 ].
15
Durante a análise morfológica, sempre que é detectada uma contracção de
preposição, faz-se um processamento que a separa nos seus constituintes. Assim, se o
utilizador escrever no Algarve, este sintagma terá sido transformado, depois da análise
morfológica, em em o Algarve. Com este processamento evita-se uma nova categoria
gramatical e poupam-se regras sintácticas. As entradas no dicionário relativas às
contracções de preposição são apresentadas no Apêndice B.
Exemplo 2.2 – Contracção de Preposição das = de + as
No dicionário existe a entrada:
do/CAT=cp,Prep=de,Art=o/fp/
Se o utilizador usar a contracção de preposição das, são aplicadas as regras de
formação do plural e do feminino e obtém-se a palavra do. Como esta tem “permissão”
para aplicar essas regras (f e p), surge a seguinte classificação para a palavras das:
das/CAT=cp,Prep=de,Art=o,G=f,N=p
Ou seja, das é uma contracção de preposição, formada a partir da preposição de
(Prep=de) e do feminino (f) do plural (p) do artigo o (Art=o):
de/CAT=prep
das/CAT=cp
as/CAT=art,G=f,N=p
Para terminar, note-se que um termo composto tem precedência sobre uma
contracção de preposição. Por exemplo, se surgir a conjunção coordenativa no entanto,
o analisador não a vai transformar em em + o + entanto, mas sim no termo composto
no-entanto.
16
3 A NÁL I S E S I NT ÁC T I C A
3.1 I nt r odução
Depois de se ter associado a cada palavra a sua categoria morfológica, i.e., assim
que termina a análise morfológica, inicia-se a análise sintáctica.
É durante esta fase que se decide se a frase fornecida pelo utilizador tem uma
estrutura sintáctica compreensível para o sistema: se a ordem da sequência das palavras é
considerada correcta, e se são respeitados certos fenómenos de concordância,
característicos de muitas línguas naturais. Por exemplo, uma frase como *A hotel Ritz
piscina tem e bar 6 é uma frase errada do ponto de vista sintáctico: hotel é um nome
comum do género masculino e o artigo a é do género feminino, o que implica não haver
concordância de géneros; não tem sentido a sequência de nomes hotel Ritz piscina e
também não tem sentido a sequência tem e bar.
Não quer isto dizer que apenas frases consideradas correctas na língua Portuguesa
vão ser consideradas correctas pelo Edite. Pelo contrário, querendo facilitar o acesso ao
sistema, aceitam-se algumas frases de sintaxe imperfeita. Assim, por exemplo, frases
como Um hotel de cinco estrelas com piscina ou museus abertos ao sábado serão bem
sucedidas na análise sintáctica. Sem querer negligenciar a faceta linguística deste trabalho,
trata-se de aceitar um tipo de frases que, como já se viu em várias experiências pessoais,
são bastante frequentes.
Toda esta informação sobre a sintaxe “compreendida” pelo sistema é guardada
numa gramática. A tentativa de “encaixar” a frase fornecida pelo utilizador numa
estrutura gramatical, baseada nas regras da gramática, é feita por um analisador
gramatical. Um analisador gramatical é um algoritmo que tem como função reconhecer
(ou não) uma linha de símbolos como uma frase da linguagem, apresentando todas as
árvores de derivação possíveis para a frase em estudo. O analisador escolhido foi o
6
De acordo com a Standard Convention in Linguistics, usa-se o * antes de cada frase de sintaxe duvidosa.
17
algoritmo de Earley [Moll et al.−88], com o qual já se havia trabalhado e que portanto
já não era desconhecido.
A secção 3.2 é dedicada à gramática do sistema, sendo a gramática que se apresenta
nesta secção uma gramática formal. Segundo [Hagège & Duarte−95], uma gramática
formal é “… um instrumento que permite descrever ou gerar todas as frases possíveis da
linguagem […] independentemente da noção de correcção, segundo regras formais
rigorosas“. Em 3.2.1 apresentam-se os conceitos teóricos sobre os quais se apoia a
gramática do Edite e, depois de se conhecer o formalismo usado na escrita da gramática
do Edite, define-se a sintaxe da linguagem com que o utilizador poderá interrogar o
sistema, i.e., decide-se o tipo de frase de sintaxe compreensível para o Edite. Esta
restrição sintáctica ao domínio da linguagem é feita em 3.2.2, sendo a gramática do
sistema construída, passo a passo, em 3.2.3. Finalmente, a secção 3.3 é dedicada ao
algoritmo de Earley.
3 . 2 Gr a m á t i c a
Segundo [Allen−95], na construção de uma gramática há três objectivos a ter em
conta, interessando que a gramática seja:
1. geral, i.e., que seja capaz de gerar um grande leque de frases que se querem permitidas;
2. selectiva, ou seja, que não gere frases problemáticas (que não gere frases que não se
querem permitidas);
3. compreensível, que seja uma gramática simples.
Na realidade, a grande preocupação na construção da gramática foi respeitar os
pontos 1 e 3. Sempre que se acrescenta uma regra à gramática, deve-se ter o cuidado de
combinar essa regra com as já existentes, de maneira a observar se a nova regra não vai
permitir a geração de frases problemáticas, desrespeitando o ponto 2. Mas, na verdade,
não é fácil encontrar um equilíbrio: tentar criar uma gramática geral, abre as portas a
frases defeituosas; por outro lado, tentar “aniquilar” estas frases, pode complicar
muitíssimo a gramática. Deste modo, preferiu-se considerar que um utilizador do sistema
usará regras tão correctas quanto possível, e que não tentará exprimir-se através de
“aberrações” frásicas 7 . Por exemplo, como se verá mais adiante, a frase *Quais é que é
que é que são os hotéis com bar? será permitida pelo sistema.
7
Não se confundam estas construções, permitidas pelo sistema para simplificar a gramática, com as
construções, igualmente erradas do ponto de vista sintáctico, criadas propositadamente para facilitar o
acesso do utilizador.
18
3 . 2 . 1 F o r m a l i s m o Gr a m a ti c a l
Segundo [Moll et al.−88] e [Reichwein−92], uma gramática G é um quádruplo
(N, T, S0, P) em que:
• N é o conjunto de símbolos não terminais da gramática;
• T é o conjunto de símbolos terminais da gramática (T ∩ N = ∅);
• S0 é o símbolo inicial (S0 ∈ N);
• P é o conjunto das produções ou regras gramaticais.
Símbolos não terminais são os símbolos auxiliares da gramática (SN para
sintagma nominal, SV para sintagma verbal, etc…). Os símbolos terminais são os
símbolos que não podem ser mais decompostos: são as palavras que fazem parte do
vocabulário do sistema Edite.
Chamam-se regras não terminais as regras ou produções que contêm a
informação sobre a estrutura sintáctica do idioma seleccionado, e que são escritas usando
apenas símbolos não terminais. São estas as regras que vão ser descritas na secção
seguinte, e que constituem a gramática do Edite. Chamam-se regras terminais às que
são obtidas a partir da frase fornecida pelo utilizador, sendo, por isso, regras temporárias.
Do lado direito têm sempre um símbolo terminal.
Exemplo 3.1 − Gramática
G=(N, T, S0, P) com:
• N={F, SN1, SV, SN2, np, v, nc}
• T={Arraiolos, tem, hotéis}
• S0=F
• P={F ‡① SN1 SV, SN1 ‡② np, SV ‡③ v SN2, SN2 ‡④ nc, np ‡⑤ Arraiolos,
v ‡⑥ tem, nc ‡⑦ hotéis},
é uma gramática, em que:
1. F, o símbolo inicial, representa a frase, SN1 e SN2 os sintagmas nominais; SV
representa o sintagma verbal, np os nomes próprios, v os verbos e nc os nomes comuns;
2. np ‡⑤ Arraiolos, v ‡⑥ tem e nc ‡⑦ hotéis são regras terminais, sendo todas as
outras regras, regras não terminais.
Uma gramática diz-se algébrica ou livre de contexto [Reichwein−92] se as suas
produções são da forma
A ‡ W,
em que A ∈N e W ∈ (N∪T)*.
19
Ou seja, numa gramática algébrica, um só símbolo não terminal, A, é substituído por
uma sequência (eventualmente vazia) de palavras, independentemente do contexto em
que A ocorre.
Estas gramáticas são muito importantes por duas razões [Allen−95]:
• o formalismo é suficientemente poderoso para descrever a maioria das frases em
Linguagem Natural;
• por outro lado, é suficientemente restritivo para que se possam construir analisadores
eficientes.
A gramática do Edite é uma gramática livre de contexto. Apenas se restringe a
definição apresentada num ponto: a sequência do lado direito não pode ser vazia, i.e., as
regras são da forma:
A ‡ W,
em que A ∈N e W ∈ (N∪T)+.
Todavia, o formalismo gramatical, apresentado até ao momento, não é
suficientemente poderoso para lidar com as concordâncias que por vezes têm de ocorrer
entre palavras. Por exemplo, o sujeito tem de concordar em pessoa e número com o
verbo, e os determinantes em número e género com os nomes.
Assim, estende-se o formalismo gramatical através de pares atributo/valor, de
maneira a permitir que os constituintes das regras tenham certas características
associadas. Os pares de concordância escrevem-se entre parêntesis rectos, e presume-se a
conjunção de pares ([G=X,N=Y] representa a concordância em género − G − e em
número − N). O valor que cada atributo pode tomar pode ser uma variável ou uma
constante. As variáveis são indicadas por X, Y ou Z. Note-se que dois atributos diferentes
podem usar a mesma variável, pois esta apenas indica que a concordância dos
constituintes da frase tem de ser feita em termos do atributo. Ou seja, em [G=X,N=X], a
primeira variável é relativa ao género e a segunda ao número; independentemente de se
escreverem da mesma maneira, são duas variáveis distintas.
Exemplo 3.2 − Concordâncias
Um sintagma nominal (SN) pode ser construído com base num artigo (art) e num
nome comum (nc). Ora estas duas partículas têm de concordar em género e número (não
se diz a livro, nem as janela). Deste modo, escreve-se:
SN ‡ art nc [G=X,N=X]
O facto de se poderem usar constantes como valores dos atributos aumenta as
potencialidades deste formalismo, pois passa a ser possível não permitir a certos
20
constituintes gramaticais entrarem na formação de certas regras: pode ser desejável que
uma regra seja só para verbos transitivos, ou só para nomes no singular, ou só para
pronomes na 1ª pessoa, … Assim, este formalismo serve também para restringir o
domínio das regras gramaticais (Exemplo 3.3).
Exemplo 3.3 − Restrições
Se se quiser definir uma regra para um sintagma verbal (SV) que seja construído por
verbos intransitivos (TR=i), não se quer que um verbo transitivo (TR=t) “entre” nessa
regra. Deste modo, tem-se:
SV ‡ v [TR=i]
Decidiu-se ainda que uma palavra sem um certo atributo − uma palavra neutra no
que respeita a esse atributo − “entra” sempre numa regra que a possa “acolher”, e que
tenha esse atributo nas suas concordâncias. Assim, por exemplo, os verbos que tanto
podem ser transitivos como intransitivos, se não tiverem essa propriedade explicitada no
dicionário, entram nas regras para verbos transitivos e intransitivos.
O mecanismo da concordância é de novo abordado em 3.3; no capítulo 4 ver-se-á
que cada regra da gramática, para além das restrições, tem ainda uma componente
semântica associada.
3 . 2 . 2 Ti p o s d e F r a s e d o Do m í ni o d o d i s c ur s o
Uma frase (Frase) é uma palavra ou um conjunto de palavras, ordenadas de um
certo modo (sintaxe), que encerra um sentido completo.
Uma frase pode ser de um dos seguintes tipos: a) Declarativa (Fdec); b)
Interrogativa (Fint); c) Imperativa (Fimp); d) Exclamativa (Fexcl).
Exemplo 3.4 − Tipo de Frase
1.
2.
3.
4.
Frase declarativa: O hotel Tivoli tem bar.
Frase interrogativa: O hotel Tivoli tem bar?
Frase imperativa: Indique-me um hotel com bar.
Frase exclamativa: O hotel Tivoli tem um lindo bar!
Lembrando que o objectivo deste sistema é permitir que um utilizador possa extrair
informações de uma base de dados (e não acrescentar), parece bastante natural que se
21
entenda um acesso por parte do utilizador como uma pergunta. Assim, interessa que o
sistema compreenda as frases interrogativas ou imperativas que exprimam um
pedido.
Deste modo, apresentam-se as regras que simbolizam o tipo de frases aceites pela
gramática do Edite:
Regra 1 − Tipos de frases aceites pelo Sistema
Frase ‡ Fint
Frase ‡ Fimp
O hotel Ritz tem sauna?
Indique-me um hotel com sauna.
As frases interrogativas podem ser iniciadas por um pronome interrogativo (que,
quem, quanto,...) ou por um advérbio interrogativo (porque, onde, como, …). As frases
interrogativas que não têm um pronome ou advérbio interrogativo, chamam-se
interrogativas de eco. As que começam com um pronome interrogativo ainda se
dividem em dois subtipos: interrogativas directas e interrogativas indirectas. As
interrogativas directas, bem como as interrogativas de eco, terminam com um ponto de
interrogação, terminando as interrogativas indirectas com um ponto final, sendo a
interrogação introduzida por um verbo transitivo de sentido interrogativo (exemplo:
perguntar).
Podem-se agora escrever as regras, relativas às frases interrogativas, em que
FintD representa as frases interrogativas directas, FintI as indirectas e FintECO as
interrogativas de eco. Pint representa as partículas interrogativas (os pronomes
interrogativos − proni − e os advérbios interrogativos − advi), F representa o
seguimento da frase e F1 o início da interrogativa indirecta. Repare-se que deste modo,
uma interrogativa indirecta pode ser escrita à custa de uma interrogativa directa.
Regra 2 − Frases Interrogativas
Fint ‡ FintD
FintD ‡ Pint F
Pint ‡ advi
Pint ‡ proni
Fint ‡ FintI
FintI ‡ F1 FintD
Fint ‡ FintECO
FintECO ‡ F
Quanto custa um bilhete de metropolitano?
Onde posso encontrar um hotel com piscina?
Onde é o maior hotel de Lisboa?
Qual é o maior hotel de Lisboa?
Gostava de saber qual é a duração dos passeios no Douro.
Posso saber onde fica o hotel Berna.
Existem faias no parque de Monserrate?
Podem-se caçar perdizes na Serra do Gerês?
22
Repare-se que a seguir a todos aos pronomes e advérbios interrogativos, pode
seguir-se a lexia é que (Quanto é que custa um bilhete de metropolitano, Onde é que
posso encontrar um hotel com piscina, …).
Uma partícula interrogativa também pode ser precedida de uma preposição
(prep), continuando, ou não, a ser seguida pela lexia é que (De quando é que data o
castelo de São Jorge?, A quem é que se chama “O conquistador”?, De onde é que
parte a volta a Portugal em bicicleta?, …).
O facto da lexia é que preceder sempre um verbo implicou que esta fosse associada
a essa classe; assim as regras que lhe dizem respeito encontram-se na secção dedicada aos
verbos.
A regra relativa às preposições que antecedem as partículas interrogativas
apresenta-se de seguida:
Regra 3 − Preposições antes das Partículas Interrogativas
Pint ‡ prep Pint
Para quando (é que) é a Expo98?
Em [Estrela & Pinto-Correia−94], fala-se do se como advérbio interrogativo : “...
quando introduz no discurso uma oração interrogativa (indirecta geralmente) …”. Deste
modo, e tendo em conta que é difícil encontrar uma frase interrogativa directa começada
pelo se, tem-se a seguinte regra:
Regra 4 − Se como Advérbio Interrogativo
FintI ‡ F1 se F
Gostava de saber se o hotel Tivoli tem discoteca.
É portanto ponto assente que qualquer manifestação da parte do utilizador é
entendida como uma pergunta. Infelizmente, não se pode dizer que o Edite
“compreende” todas as perguntas. Por exemplo, uma frase como Queria que me dissesse
quanto é que custa um quarto no hotel Ritz porque queria ir para lá mas não tenho
muito dinheiro. é demasiado complicada, por agora, para “caber” nas regras sintácticas
que constituem a gramática do sistema. Deste modo, de maneira a poder restringir mais
ainda o domínio do discurso do Edite, apresenta-se o conceito de oração: dá-se o nome
de oração ao conjunto formado por um sintagma nominal e por um sintagma verbal.
As orações classificam-se em: a) principais; b) coordenadas; c) subordinadas. As
principais apresentam-se de um modo independente na frase e exprimem a ideia base. As
coordenadas estão ligadas entre si ou às principais por relações de significado, e
23
desempenham funções análogas. As subordinadas dependem das principais ou de outra
subordinada.
Uma frase tem sempre uma oração principal [Nogueira−89] e zero ou mais orações
coordenadas ou subordinadas. Diz-se simples se tiver uma única oração. Diz-se
composta caso contrário.
A gramática apresentada nesta tese foi feita a pensar nas frases simples, e apenas
algumas construções compostas são tratadas neste trabalho.
As orações coordenadas são introduzidas na frase por conjunções ou locuções
coordenativas, dividindo-se estas em: a) Copulativas (e, também, nem,…); b) Disjuntivas
(ou); c) Adversativas (mas, todavia,…); d) Conclusivas (logo, pois,….).
Não se estudam as orações coordenadas, apesar de se estudar a conjunção
coordenada copulativa e e a conjunção coordenada disjuntiva ou, quando se encontram a
ligar palavras ou sintagmas, i.e., quando não estão a iniciar uma oração coordenada. Por
exemplo, a frase Indique-me um hotel com bar e piscina é permitida, mas não o é a
frase Indique-me um hotel com bar e indique-me um hotel com piscina.
As orações subordinadas, por sua vez, podem ser introduzidas por palavras de
várias classes [Barros−61], nomeadamente:
• as orações subordinadas conjuncionais surgem com uma conjunção (ou com uma
locução conjuncional) subordinativa;
• as orações subordinadas relativas são apresentadas por um pronome relativo;
• as orações subordinadas interrogativas iniciam-se com um pronome ou advérbio
interrogativo8 ;
• as orações subordinadas infinitivas revelam-se com um verbo no infinitivo ou
uma preposição seguida de um verbo no infinitivo9 .
Exemplo 3.5 − Orações Subordinadas
1.
2.
3.
4.
Conjuncionais: Iria para o hotel Ritz se tivesse dinheiro.
Relativas: Indique-me um hotel que tenha piscina.
Interrogativas: Diga-me quanto custa a entrada no museu dos Azulejos.
Infinitivas: Queria uma praia para nadar.
8
Apenas as interrogativas indirectas podem ser subordinadas. As interrogativas directas nunca apresentam
sinais de subordinação ou dependência
Em [Nunes et al.−86 ] ainda se consideram as orações subordinadas gerundivas (verbo no gerúndio) e as
orações subordinadas participiais (verbo no particípio). No entanto, só são consideradas orações deste tipo
as que tiverem sujeito diferente do da sua subordinante (oração principal).
9
24
Apenas as orações subordinadas conjuncionais não são suportadas pela gramática do
Edite.
Uma pequena nota para as orações intercaladas: são orações que não estão ligadas a
outra, nem por relação de coordenação nem de subordinação. Suspendem o curso da frase
em que estão inseridas, surgindo entre parênteses, vírgulas ou travessões. Podem também
surgir no fim da frase. Geralmente têm como função atribuir palavras ou pensamentos a
alguém. Como exemplo, tome-se a seguinte frase Gostava de saber se o hotel Ritz − que
tem fama de ser muito bom − tem discoteca.. Não se estudarão.
Uma frase termina sempre com um sinal de pontuação que não seja a vírgula ‘,’, o
ponto e vírgula ‘;’ ou os dois pontos ‘:’. Em [Nogueira−89] pode ser lido o seguinte
texto:
“Conta-se que numa votação, certo ministro se manifestou por estas palavras: se
todos concordam eu não discordo, frase que o secretário pontuou assim: se
todos concordam, eu não discordo. − Um dia, porém, voltou-se a discutir o
mesmo assunto, e o secretário afirmou que a aprovação havia sido por
unanimidade. O referido ministro protestou, dizendo que havia negado o seu
voto. − O secretário, para comprovar a sua afirmação, apresentou a acta da
sessão, argumento que foi repudiado pelo ministro, dizendo que a pontuação da
frase estava errada, emendando-a assim: se todos concordam, eu não:
discordo.”.
Este é um exemplo interessante, que ilustra muito bem a importância da
pontuação: um sinal de pontuação pode mudar todo o sentido de uma frase. No entanto,
tendo de novo em conta os fins a que se destina este projecto − toma-se qualquer frase
introduzida pelo utilizador como uma pergunta − e pensando na facilidade com que se
deseja que o utilizador aceda à Base de Dados de Recursos Turísticos (o utilizador comum
esquece ou ignora a pontuação), resolveu-se que, para esta fase do trabalho, os sinais de
pontuação, com excepção para a vírgula e ponto e vírgula, são ignorados.
Deste modo, se um utilizador escrever a afirmação O hotel Ritz tem piscina., esta
será tratada como a interrogação O hotel Berna tem piscina?. Assim, o sistema vai
informar o utilizador sobre o facto do hotel Ritz ter piscina ou não, mesmo que a ideia
deste fosse tentar informar o sistema sobre a realidade desse facto. Como de qualquer
modo, não se pode inserir informação no sistema, neste caso ignorar o ponto final não é
um problema.
25
Do mesmo modo, se o utilizador falhar a pontuação final, por exemplo *Indiqueme um hotel com piscina?, esse erro é ignorado.
Outra das implicações levantadas pela decisão de ignorar a maior parte dos sinais de
pontuação, é a perda da informação sobre o tipo de resposta (se a pergunta exige uma
resposta sim/não − pergunta fechada − ou se exige uma resposta mais complexa −
pergunta aberta.).
Exemplo 3.6 − Perguntas Abertas e Fechadas
1. Pergunta Fechada: Existem palácios em Sintra? (Sim).
2. Pergunta Aberta: Quais os palácios de Sintra? (Palácio da Pena, Palácio Nacional de
Sintra)
Aparentemente, e com base em observações pessoais, existe uma relação entre a
pontuação final e o tipo de frase interrogativa:
• as interrogativas de eco (ponto de interrogação no final e sem partículas
interrogativas) são frases fechadas;
• as interrogativas directas e indirectas (com ou sem ponto de interrogação e com
partículas interrogativas) são frases abertas;
• as imperativas (com ponto final e sem partículas interrogativas) são frases abertas.
Assim, perdendo a informação da pontuação final, as frases fechadas são
respondidas como se fossem frases abertas; ou seja, o sistema nunca responde sim ou não,
respondendo com os factos que levariam a um sim ou a um não. Isto quer dizer que à
pergunta Existem palácios em Sintra? a resposta dada pelo Edite é: Palácio da Pena,
Palácio Nacional de Sintra. Em casos como este, o excesso de informação não é
prejudicial, sendo até bastante provável que fosse essa a resposta desejada pelo utilizador
(quanto se pergunta Tens horas? não se está à espera de ouvir Sim.).
3 . 2 . 3 C o ns t r uç ã o d a gr a m á t i c a
Uma das maiores dificuldades encontradas na escrita desta secção foi encontrar uma
arrumação satisfatória dos conceitos a apresentar, de maneira a que as regras gramaticais
fossem surgindo de uma forma “natural”. Assim, optou-se por apresentar, de início, as
várias classes de palavras e, apenas depois, a maneira como os elementos dessas classes se
combinam formando frases. Também não foi fácil encontrar uma divisão das palavras em
classes que agradasse na totalidade, pois cada gramática de Português apresenta a sua
própria classificação e, para além disso, se há categorias gramaticais imprescindíveis à
26
gramática em construção, outras há que dificilmente são usadas. Aliás, como se tornará
notório, certas classes de palavras são analisadas com algum pormenor, e noutras apenas
alguns conceitos básicos são apresentados. No entanto, este facto deve-se mais ao factor
tempo, que à pouca importância que essas classes poderão ter.
De qualquer maneira, tentou-se seguir, o mais rigorosamente possível, as gramáticas
do Português disponíveis: todas as regras são escritas em função dos conceitos gramaticais
apresentados e se foi necessário tomar alguma decisão de ordem mais prática, procurou-se
sempre “encaixar” esta decisão em alguma linha gramatical de alguma das gramáticas em
estudo. No entanto, deve-se notar que este capítulo não tem pretensões de documento
linguístico, tendo de admitir que certos rigores da língua Portuguesa foram sacrificados em
função de objectivos mais imediatos e, mais vezes ainda, a pensar na análise semântica
(capítulo 4). Finalmente, optou-se por dividir as palavras nas seguintes classes: a) classe
dos substantivos; b) classe dos pronomes; c) classe dos determinantes; d) classe dos
verbos; e) classe dos advérbios; f) classe dos adjectivos; g) classe das preposições; h) classe
das conjunções.
S u b st a n t i v o s
Nesta tese, usa-se o termo nome para designar os substantivos (S). Deste modo,
dentro da classe dos substantivos, distinguem-se: a) os nomes comuns (nc); b) os nomes
próprios (np).
Exemplo 3.7 − Nomes Comuns e Nomes Próprios
1. Nomes Próprios: Porto, Portugal, Algarve
2. Nomes Comuns: porto, gruta, museu
Os nomes comuns designam objectos não individualizados e os nomes próprios
referem pessoas ou objectos bem definidos. A flexão de um nome comum é em género
(G) e em número (N). Em relação aos nomes próprios considera-se que por vezes têm
um género associado. Por exemplo, os nomes de pessoas geralmente indicam se se trata
de uma pessoa do sexo masculino ou feminino (a Amália, o Chico).
Considerando a sequência constituída por um nc seguido de um np, tem-se, como
se verá adiante, que o np tem a função de aposto e serve para especificar o nc. Ou seja,
a sequência nc np identifica um único objecto. Deste modo apresentam-se as regras:
27
Regra 5 − Substantivos
S ‡ nc [G=X,N=X]
S ‡ np [G=X,N=X]
S ‡ nc np [G=X,N=X]
piscina, hotel
Ritz, Lisboa
hotel Ritz
P r onom es
Os pronomes são palavras que se empregam em vez de nomes ou substantivos,
permitindo evitar a repetição de informações já dada. Segundo [Nogueira−89], o prefixo
pro significa, neste caso, “em vez de”.
Os pronomes são palavras variáveis apresentando-se em formas diferentes, de
acordo com o número, o género e, por vezes, a função sintáctica do nome que
substituem.
Em [Relvas−27] e [Nunes et al.−86] dividem-se os pronomes nas seguintes
categorias: a) pessoais (pronp); b) possessivos (pronps); c) demonstrativos (prond);
d) interrogativos (proni); e) indefinidos (pron); f) relativos (pronr).
Exemplo 3.8 − Pronomes segundo [Relvas−27] e [Nunes et al.−86]
1.
2.
3.
4.
5.
6.
Pronomes pessoais: Eu gostava que me dissesse onde é que é a FIL.
Pronomes possessivos: Este hotel é meu?
Pronomes demonstrativos: Isto percebe russo?
Pronomes interrogativos: Que é que se pode saber sobre a Expo98?
Pronomes indefinidos: Alguém ficou entalado na porta do Castelo de S. Jorge?
Pronomes relativos: Indique-me um hotel que tenha ginásio.
Rodrigo de Sá Nogueira [Nogueira−89], por sua vez, afirma que os pronomes
possessivos não passam de adjectivos possessivos. Na realidade, quando se diz O meu livro
está-se a acrescentar uma característica ao livro: é meu. Nogueira chama a atenção para
as gramáticas, que perante a frase O António leu o meu livro mas não leu o teu.,
consideram a forma meu como um adjectivo possessivo, pois é acompanhado pelo
substantivo livro, e a forma teu como um pronome possessivo, porque não acompanha
nenhum nome. No entanto repare-se que se a frase fosse O António leu o meu livro mas
não leu o teu livro., a forma teu já seria um adjectivo possessivo.
Este autor apenas considera como pronomes, os pronomes pessoais, os
pronomes interrogativos e os pronomes relativos. São estes que se vão ter em
conta, nesta tese. Apenas se consideram mais pronomes interrogativos que em
[Nogueira−89]: não apenas quem, mas também que, qual (quais) e quanto (nas suas
várias formas), são tidos como pronomes interrogativos.
28
Trabalha-se assim com os pronomes interrogativos − já referidos na secção 3.2.2 −
com os pronomes relativos − igualmente abordados nessa secção − e com os pronomes
pessoais − que na realidade surgem com muita frequência, apesar de não transportarem
informação importante.
Det er m i nant es
Existem sete subclasses de determinantes segundo [Nunes et al.−86]: a) artigos
(art); b) demonstrativos (detd); c) possessivos (detp); d) interrogativos (detint);
e) relativos (detr); f) indefinidos (deti); g) numerais (detn). Pelo papel que
desempenharão na análise semântica (capítulo 4), estudam-se os artigos, os indefinidos
e os numerais. Por agora, não se consideram os determinantes relativos e os
determinantes interrogativos. Por outro lado, as outras duas subclasses de determinantes
(demonstrativos, possessivos) apenas fazem parte dos determinantes porque se decidiu
que não fariam parte da classe dos pronomes: concorda-se que a sua função é mais de
adjectivação. No entanto, não se consideram também adjectivos, pois a informação que
transportam é completamente “invisível” para o sistema (Aquele hotel é melhor que o
meu?). A classe dos numerais, por sua vez, é tratada no fim, pois das quatro subclasses em
que se divide, apenas uma é considerada 10 como fazendo realmente parte da classe dos
determinantes.
Exemplo 3.9 − Determinantes
1.
2.
3.
4.
5.
Determinantes artigos: O hotel Berna tem um bar?
Determinantes demonstrativos: Este hotel é o mesmo11 hotel que da outra vez.
Determinantes possessivos: O meu quarto está virado para uma parede.
Determinantes indefinidos: Algum hotel de Lisboa tem cinema?
Determinantes numerais: Indique-me um quarto que custe menos de 3 mil escudos.
Foquem-se, então, os determinantes: os artigos, podem designar seres conhecidos
(artigos definidos − o Ritz) ou apresentar seres desconhecidos (artigos indefinidos − um
hotel); os demonstrativos indicam a posição de um ser em relação ao mundo exterior
(Esse hotel é melhor que este?); os possessivos, exprimem, na maioria dos casos, posse
10
Leia-se [Nunes et al.−86 ].
Em [Nunes et al.−86 ], pode ler que “… mesmo, próprio e outro são determinantes demonstrativos quando
precedidos de artigo ou de outro determinante…”
11
29
em relação a uma das pessoas gramaticais (O teu hotel é enorme). Finalmente, os
determinantes indefinidos expressam uma quantidade (Indique-me todos os hotéis com
piscina, de Lisboa).
Os determinantes surgem com muita frequência e podem agrupar-se de várias
maneiras. Por exemplo, tome-se a sequência aquelas poucas moedas. É constituída por
um determinante demonstrativo seguido de um determinante indefinido. Do mesmo
modo, considerem-se as regras, em que Det representa uma sequência de determinantes.
Note-se que, geralmente, os determinantes variam em género e em número, interessando,
por isso, guardar essa informação e daí as restrições:
Regra 6 − Sequências de Determinantes
Det ‡ detd detp [N=X,G=X]
Det ‡ detd detd [N=X,G=X]
Det ‡ art detp [N=X,G=X]
Det ‡ deti art [N=X,G=X]
Det
‡
deti
art
detp
[N=X,G=X]
Det ‡ deti detp [N=X,G=X]
este meu
esse tal
o meu
todos os
todos os meus
outro meu
Os numerais indicam uma quantidade definida de seres ou objectos, podendo
também indicar o lugar que um ser ou objecto ocupa numa dada série. Dividem-se,
segundo [Pinto al.−96], em: a) cardinais (card); b) ordinais (ord); c) multiplicativos
(mult); d) fraccionários (frac); e) colectivos (col).
Os cardinais são os números básicos (5, cinco, …). Os ordinais indicam sucessão
(primeira, 1ª, …). Os multiplicativos (triplo, …), exactamente ao contrário dos
fraccionários (2/3, dois terços, …), indicam um aumento proporcional da quantidade. Os
colectivos (quarteto, dúzia, …), representam um grupo de seres.
Exemplo 3.10 − Numerais
1.
2.
3.
4.
5.
Numerais cardinais: Indique-me 5 (cinco) hotéis com piscina em Lisboa.
Numerais ordinais: Na 1ª (primeira) quinzena de Agosto, o Chapitô está aberto?
Numerais multiplicativos: O hotel Ritz tem quartos triplos?
Numerais fraccionários: Dois terços de Portugal é floresta?
Numerais colectivos: Indique-me uma dezena de quartetos.
Os numerais cardinais também se podem combinar com alguns determinantes. Para
distinguir as sequências de determinantes que contêm um numeral, das outras, usa-se o
símbolo DetN:
30
Regra 7 − Sequências com Determinantes Numerais
DetN
DetN
DetN
DetN
‡
‡
‡
‡
detd card [N=X,G=X]
deti card [N=X,G=X]
art card [N=X,G=X]
art detp card [N=X,G=X]
estes dois
quaisquer 3
os três
os meus 5
Saiba-se também que os numerais são invariáveis, com a excepção do um, dois e
das centenas a partir de duzentos, que são variáveis em género (um, uma, dois, duas,
duzentos, duzentas, …). A concordância só se faz para esses casos.
Ver bos
Um verbo é uma palavra variável que serve para atribuir uma acção, um estado ou
uma qualidade, a uma pessoa ou objecto. Nesta tese, separam-se os verbos em transitivos
e intransitivos e ainda se estuda o facto de um verbo ser um verbo copulativo ou de
ligação, ou não.
Os verbos transitivos, segundo [Relvas−27], são os que exprimem uma acção que
passa imediatamente a um objecto em que ela se exercita.
Os verbos intransitivos, são verbos de sentido pleno. Segundo [Barros−61] são os
que exprimem uma acção que permanece sempre no agente que a pratica, não passando a
outra pessoa gramatical.
Exemplo 3.11 − Verbos Transitivos e Intransitivos
1. Verbos transitivos: Onde encontro um hipermercado? (encontrar hipermercado)
2. Verbos intransitivos: Existem piscinas em Marinhais?
Os verbos copulativos não trazem uma ideia nova e servem apenas para estabelecer
a união entre duas palavras ou expressões [Cunha & Cintra−85]. Como verbo de ligação
ou copulativo, por excelência, tem-se o verbo ser. No entanto, existem outros como
estar, ficar, permanecer, parecer, aparecer e tornar-se, …[Nunes et al.−86] 12 .
12
[Barros−61 ] ainda refere alguns verbos transitivos, na voz passiva: ser eleito, ser constituído,…
31
Exemplo 3.12 − Verbos de Ligação ou Copulativos
1. O Ritz é um hotel?
2. Lisboa continua bonita?
Advér bi os e L ocuções Adver bi ai s
O advérbio é uma palavra inflexiva ou invariável que se pode juntar a verbos,
adjectivos e mesmo a outros advérbios.
De acordo com a circunstância que exprimem, os advérbios recebem a sua
designação. As subclasses dos advérbios também variam, de acordo com os autores. Nesta
tese consideram-se as espécies de advérbios, tal como são
apresentadas em
[Cunha & Cintra−85]: a) advérbios de afirmação (adva); b) advérbios de dúvida (advd);
c) advérbios de quantidade ou intensidade (advq); d) advérbios de lugar (advl); e)
advérbios de modo (advm); f) advérbios de negação (advn); g) advérbios de tempo
(advt); h) advérbios de ordem (advo); i) advérbios de exclusão (adve); j) advérbios de
inclusão (advic).
Exemplo 3.13 − Advérbios
1. Advérbios de afirmação: A Expo vai realmente abrir em 98?
2. Advérbios de dúvida: Acaso o hotel Tivoli terá um bar?
3. Advérbios de quantidade ou intensidade: Queria um hotel bastante grande.
4. Advérbios de lugar: Aconselhe-me uma aldeia bonita cá em Portugal.
5. Advérbios de modo: Na CREL vai-se depressa para o Algarve?
6. Advérbios de negação: Queria um hotel que não tivesse muita gente.
7. Advérbios de tempo: No parque do Gerês ainda existem lobos?
8. Advérbios de ordem: Primeiramente queria saber se o hotel Tivoli é caro.
9. Advérbios de exclusão: Gostava de saber preços de hotéis unicamente de Lisboa.
10.Advérbios de inclusão: Gostava de saber o preço dos hotéis, inclusive o do Ritz.
Alguns advérbios ainda se podem combinar com algumas preposições, dando origem
às chamadas locuções adverbiais (la), das quais se apresentam alguns exemplos:
Exemplo 3.14 − Algumas Locuções Adverbiais
1.
2.
3.
4.
Às vezes chove em Agosto?
Existe algum hotel livre, de momento?
Quais são os campos de golfe com mais de 18 buracos?
Queria um hotel que custasse menos de 5 contos.
32
Dada a enorme mobilidade dos advérbios e locuções adverbiais, apenas algumas
locuções adverbiais são tratadas neste trabalho.
Adj ect i vos
Os adjectivos (adj) são palavras variáveis (em género e número), que atribuem
características aos objectos representados pelos nomes a que estão associados. Segundo
[Relvas−27], sugere-se que, para se identificar um adjectivo, se tente pôr antes dele uma
das palavras pessoa ou coisa, e ver se faz sentido. Assim, por exemplo, considerando a
palavra bonito, observa-se que faz sentido tanto pessoa bonita, como coisa bonita.
Exemplo 3.15 − Adjectivos
1. Quais são as grutas naturais do Algarve?
2. Quais são os hotéis baratos de Lisboa?
P r e p o si ç õ e s
As preposições (prep) são palavras invariáveis que relacionam dois termos de
uma oração, podendo ainda formar as chamadas preposições compostas ou locuções
prepositivas, surgindo a seguir a um ou mais vocábulos.
Exemplo 3.16 − Preposições e Locuções Prepositivas
1. Em Portugal, quais são os castelos conquistados a mouros, por D. Afonso Henriques?
2. Através de um hotel, pode-se alugar um carro?
Como já se viu no capítulo 2, certas preposições podem contrair-se com alguns
determinantes, pronomes ou advérbios, formando as chamadas contracções de
preposição. Como a separação das contracções de preposição nos seus elementos
constituintes é feita na análise morfológica, estas não chegam à análise sintáctica. Assim,
não há regras a acrescentar à gramática.
Co n j u n çõ es
As conjunções (conj) são palavras invariáveis, que podem ser utilizadas na união
de frases, constituintes de frases ou orações. Dividem-se em coordenativas e
subordinativas. As primeiras estabelecem ligações entre palavras da mesma classe e com a
33
mesma função, i.e., relacionam termos ou orações de idêntica função gramatical. As
segundas ligam orações, criando entre elas uma relação de dependência.
O estudo da classe das conjunções é por agora muito restrito: só se trabalha com a
conjunção coordenativa copulativa e, e com a conjunção coordenativa disjuntiva ou.
Exemplo 3.17 − Conjunções Coordenativas e e ou
1. Indique-me um hotel que tenha piscina e discoteca.
2. Indique-me um hotel ou pensão que tenha bar.
S i nt agm a Nom i nal
Um sintagma nominal (SN) pode apresentar várias
formas e,
segundo
[Cunha & Cintra−85], pode ser constituído por nomes, pronomes, determinantes,
expressões nominais e adjectivos.
O SN desempenha várias funções [Cunha & Cintra−85][Nunes et al.−86]:
• sujeito: quando é um constituinte imediato da frase; o sujeito é o ser sobre o qual se
faz uma declaração (geralmente, o verbo principal ajuda-nos a determinar o sujeito:
suponha-se a frase: D. Afonso Henriques foi o 1º rei de Portugal; se se perguntar
Quem foi o 1º rei de Portugal?, a resposta é D. Afonso Henriques , i.e., o sujeito da
frase);
• complemento directo: quando é o complemento de um verbo transitivo directo.
Normalmente13 aparece directamente ligado ao verbo e indica o ser para o qual se
dirige a acção verbal;
• predicativo do sujeito: quando a base de um sintagma verbal é um verbo copulativo.
É o predicativo do sujeito que dá significado ao sintagma verbal;
• predicativo do complemento directo: alguns verbos de função transitiva directa
(vd Sintagma Verbal) podem ter um elemento que especifica alguma característica do
complemento directo. A esse elemento chama-se predicativo do complemento
directo;
• aposto: se o SN acrescentar informação a um substantivo, pronome ou equivalente.
13
Por vezes, o complemento directo, pode ligar-se ao verbo por uma preposição (Gosto deste trabalho).
34
Exemplo 3.18 − Funções do Sintagma Nominal
1.
2.
3.
4.
5.
Sujeito: O hotel Berna tem bar?
Complemento directo: O hotel Berna tem bar?
Predicativo do sujeito: O Ritz é um hotel?
Predicativo do complemento directo: O Ritz tem uma piscina sua?
Aposto: A cidade de Lisboa, O hotel Berna.
Denota-se por SN1 o sintagma nominal com a função de sujeito, e usa-se PSN1
para designar o sintagma nominal com função de predicativo do sujeito. CD representa o
complemento directo (não apenas os SNs com função de CDs). Não se tratam os
predicativos do CD, e o SN com função de aposto também não é agora tratado.
Quanto às concordâncias, do SN1 interessa guardar informação relativa ao número
(N), caso se trate de um nome, e ainda ao número e pessoa (P), caso se trate de um
pronome. Isto para que depois se teste a concordância com o sintagma verbal predicado
(em número e em pessoa). Como exemplo, tome-se a frase O hotel Berna tem bar?. O
verbo ter tem de concordar em número (singular) com o sujeito O hotel Berna. Do
mesmo modo, em Ele tem bar?, tem de haver concordância em número e também em
pessoa (3ª pessoa). Não se diz *O hotel Berna têm bar? nem *tu tem bar.
Quanto ao CD, os seus constituintes têm de ser coerentes, mas não têm de
concordar com outros sintagmas (pode-se escrever O hotel Berna tem bares).
O PSN1 também tem de transportar a informação do género e do número: diz-se o
Tivoli é um cinema? e não *o Tivoli é uma cinema?.
Regra 8 − Sintagma Nominal Sujeito e com outras funções
SN1 ‡ SN [N=X,G=Y,P=Z]
PSN1 ‡ SN [N=X,G=Y,P=Z]
CD ‡ SN []
O hotel Berna tem piscina?
O Tivoli é um cinema?
O hotel Berna tem piscina?
O sujeito de uma frase pode ser [Cunha & Cintra−85], [Barros−61]:
• simples: quando tem um único núcleo. Ou seja, quando o verbo se refere a um só
nome, pronome ou expressão equivalente;
• composto: quando tem mais do que um núcleo;
• oculto: quando não está materialmente expresso na oração, mas é possível a sua
identificação;
• indeterminado: quando o verbo não se refere a um objecto determinado, ou por se
desconhecer o executor da acção ou por não haver interesse na sua revelação. Assim,
35
o sujeito não só não está expresso na oração, como também não pode ser identificado
pelo verbo;
• inexistente: quando o processo verbal não é atribuído a nenhum ser. Nestes casos
está-se em presença de um verbo impessoal.
Exemplo 3.19 − Tipos de Sujeito
1.
2.
3.
4.
5.
Sujeito simples: Existem hotéis, em Lisboa, com bar?
Sujeito composto: O Ritz e o Berna têm bar?
Sujeito oculto: Dizem que o hotel Ritz é muito bom. 14
Sujeito indeterminado: Ainda se comia bem.
Sujeito inexistente: Chove no Alentejo?
Não apenas os SN com funções de sujeito, mas qualquer sintagma nominal, pode ser
simples ou composto. Tratar-se-ão mais tarde as frases com sujeito oculto,
indeterminado ou inexistente. Na Regra 9 apresentam-se as regras que servem para
construir SNs compostos. Note-se que é obrigatório o uso de vírgula (ou ponto e vírgula)
− punct − ou das conjunções e ou ou − conj. Isto porque se tal não fosse exigido, SNs
como hotel Berna seriam, em alguma análise sintáctica, tomados por um SN composto.
Assim, a vírgula tem de ser utilizada quando se pretende escrever um sintagma nominal
composto (o ponto e vírgula também serve). Usa-se o símbolo Pcomp para designar as
partículas que permitem a composição de sintagmas: conj e punct. Repare-se ainda
que não se exigem concordâncias.
Regra 9 − Sintagmas Nominais Compostos
SN1 ‡ SN Pcomp SN1 []
CD ‡ SN Pcomp CD []
PSN1 ‡ SN Pcomp PSN1 []
O Ritz, o Tivoli e o Alfa têm discoteca?
O Berna tem bar, discoteca e piscina?
O Ritz é um hotel ou uma pensão?
A composição de SNs é escrita de maneira algo complicada, pois não se pretendem
gerar regras desnecessárias, e, deste modo, tenta-se evitar a recursividade à esquerda nas
regras. Note-se que, deste modo, sempre que se introduzir na gramática uma regra do tipo
CD ‡ A, em que A é uma sequência qualquer de símbolos, há que acrescentar a regra,
relativa à composição de CDs, CD ‡ A Pcomp CD. O mesmo se passa para o caso
das regras com SN1 ou PSN1 do lado esquerdo (vd. Regra 15 e Regra 23).
14
Neste caso o sujeito é identificado pela desinência verbal -em. Ou seja, o sujeito é eles.
36
Considere-se o seguinte CD: bar, piscina e discoteca. Se a regra de composição
fosse CD ‡ CD Pcomp CD e não CD ‡ SN Pcomp CD, as árvores geradas
seriam:
CD
CD
Pcomp
e
CD
Pcomp
CD
SN
CD
discoteca
SN
SN
,
piscina
bar
Figura 3.1 − Primeira árvore gerada para o SN bar, piscina e discoteca
e
CD
CD
SN
Pcomp
CD
,
CD
Pcomp
CD
SN
e
SN
bar
discoteca
piscina
Figura 3.2 − Segunda árvore gerada para o SN bar, piscina e discoteca
Evitando a recursividade à esquerda, é gerada apenas uma árvore (vd Figura 3.3).
37
CD
SN
bar
Pc omp
CD
,
SN
Pcomp
CD
piscina
e
SN
discoteca
Figura 3.3 − Árvore gerada para o SN bar, piscina e discoteca evitando-se a recursividade das regras de composição
Após a apresentação dos vários tipos de SNs, passa-se à análise dos seus
componentes e volta-se assim a falar em determinantes, substantivos e adjectivos.
Os determinantes têm de concordar em género e em número com o nome a que
estão associados. Assim, não se aceitam expressões como o Amália, a hotel Ritz ou
algumas hotel.
Geralmente, um artigo definido antecede todos os nomes. Uma excepção são, por
exemplo, nomes de cidades que não são provenientes de nomes comuns: Lisboa,
Coimbra, em oposição a o Porto, a Guarda [Estrela & Pinto-Correia−94]. No entanto,
um nome pode também não ser precedido de um determinante. Usando N para denotar as
possíveis sequências deste elemento e lembrando que Det representa sequências de
determinantes não numerais, DetN as sequências que contêm um determinante numeral e
S um nome comum, um nome próprio ou um nome comum seguido de um nome próprio,
apresenta-se a Regra 10:
Regra 10 − Constituintes do Sintagmas Nominal
N ‡ S [N=X,G=Y]
N ‡ Det S [N=X,G=Y]
N ‡ DetN S [N=X,G=Y]
Indique-me hotéis baratos.
O hotel Tivoli é caro? Todos os bares são caros?
Indique-me os 3 bares mais “in”. A morada dos 3
Alfas.
Note-se que na primeira regra existem pares atributo/valor, não para obrigar a
concordâncias na regra (que só tem um elemento), mas para guardar o número e o género
38
do substantivo e obrigar, mais tarde, a uma possível concordância com um sintagma
verbal ou com um sintagma adjectival.
Mo d i f i c a d o r e s
Depois do nome pode-se ainda ter informação a acrescentar ao objecto
representado pelo nome. São os modificadores (MOD) do nome e são igualmente
opcionais; são constituintes extranucleares do SN e representam a sua expansão.
Regra 11 − SN com Modificadores
SN ‡ N MOD [N=X,G=Y]
Queria um quarto com jacuzzi.
Os MOD podem ser sintagmas preposicionais (SP), sintagmas adjectivais (SADJ) ou
orações relativas (REL). Ainda se consideram modificadores as orações infinitivas (INF).
Regra 12 − Modificadores
MOD
MOD
MOD
MOD
MOD
‡
‡
‡
‡
‡
SP []
SADV []
SADJ [G=X,N=Y]
REL []
INF []
Queria um hotel com piscina.
Há algum hotel cá.
Quais são as grutas naturais do Algarve?
Um hotel que tenha piscina.
Indique-me uma praia para surfar.
Todos os modificadores do nome podem surgir em qualquer ordem e podem ser
tantos quanto se queira (Indique-me um hotel grande, com bar, com piscina e com
discoteca e que tenha, ainda, ar-condicionado e cabeleireiro).
Quando o modificador é constituído por um ou mais sintagmas adjectivais, o género
e o número do(s) adjectivo(s) desse sintagma têm de ser retidos (piscinas limpas e
quentes, hotéis baratos, grandes e limpos). Note-se que os sintagmas preposicionais e o
resto dos possíveis modificadores não guardam nenhuma informação de concordância, o
que faz com que a composição de modificadores não retenha informação relativa a estes
casos. Deste modo, em presença de um segmento como hotel limpo em Lisboa, a palavra
hotel concorda em género e número com o adjectivo limpo e o SP em Lisboa é
completamente independente desta concordância.
39
Regra 13 − Composição de Modificadores
MOD ‡ MOD1 MOD2 [G=X,N=Y]
MOD
‡
MOD1
[G=X,N=Y]
MOD1 ‡ SP []
Pcomp
Queria um hotel grande com
piscina.
MOD2 Queria um hotel cá, em Lisboa.
Queria um hotel com piscina,
grande.
Há algum um hotel cá que tenha bar?
Indique um hotel grande com
piscina.
Um hotel que tenha bar, com
piscina.
Uma praia para nadar que seja
limpa.
Queria um hotel cá, em Lisboa.
MOD1 ‡ SADV []
MOD1 ‡ SADJ [G=X,N=Y]
MOD1 ‡ REL []
MOD1 ‡ INF []
MOD2 ‡ MOD [G=X,N=Y]
Repare-se que também estas regras são escritas de maneira a evitar a recursividade à
esquerda (caso contrário ter-se-iam as regras MOD1 ‡ MOD, MOD2 ‡ MOD).
Co n j u n ç õ e s c o m o e l e m e n t o s d e c o m p o si ç ã o
Até agora já se observou que as conjunções podem ser utilizadas na construção de
SNs compostos e de sequências de MODs (vd Regra 9 e Regra 13). Estas regras estão
escritas de maneira a evitar a recursividade à esquerda. Este facto vai provocar uma
associatividade das conjunções à direita. Como exemplo considerem-se as seguintes
frases:
Exemplo 3.20 − Conjunções
1. O hotel Berna tem bar ou piscina e discoteca ?
2. Indique-me um hotel com bar ou com piscina e com discoteca
Na primeira frase considera-se que se pergunta se o hotel Berna tem bar ou
(piscina e discoteca). Isto é, se tiver bar a resposta é afirmativa, se não tiver bar, só é
afirmativa se tiver piscina e discoteca. Ou seja um hotel que não tenha bar nem discoteca,
mas que tenha piscina, não é uma resposta à pergunta (F ∨ (V ∧ F) ⇔ F). Na
segunda frase o resultado é idêntico: a resposta é sim nas mesmas condições. É o processo
(algo arbitrário) que se usa para desambiguar este tipo de perguntas.
40
S i nt agm a Ver bal
O sintagma verbal (SV) tem como base o verbo (v), e, assim como o SN
constituinte imediato da frase desempenha a função de sujeito, o SV constituinte
imediato desempenha a função de predicado, sendo o predicado tudo aquilo que se diz do
sujeito.
Os verbos transitivos podem dar origem a construções transitivas directas e
indirectas. Nas construções transitivas directas a acção incide sobre um SN (O hotel
Berna tem bar?), e, como se sabe, diz-se que esse SN desempenha a função de CD. Mas
um CD também pode ser iniciado por uma preposição, ou ainda representar um SADV:
Regra 14 − Complemento Directo iniciado por uma preposição
CD ‡ prep SN []
CD ‡ SADV []
O que é que o Algarve tem de atractivo?
O campo de golfe da Estrela tem mais de 18 buracos?
Repare-se que, com estas novas regras, surge a necessidade de criar outras, relativas
à composição de CDs:
Regra 15 − Composição de CDs
CD ‡ prep SN Pcomp CD [] O que é que Portugal tem de lazer e de praia ?
CD ‡ SADV Pcomp CD []
Que campos de golfe têm mais de 18 buracos
e menos de 30?
Nas construções transitivas indirectas existe uma preposição a ligar o verbo e o
complemento. Em [Pinto et al.−96], tem-se que “… a acção expressa pelos verbos
transitivos indirectos transita indirectamente […] através da preposição a, para um
complemento indirecto que lhes completa o sentido.“. Os complementos indirectos não
serão aqui aprofundados.
Define-se agora o símbolo não terminal VB, um símbolo auxiliar, que poderá
representar apenas um verbo ou uma sequência de partículas que se querem agrupadas em
torno de um verbo. Assim, considera-se que um pronome pessoal reflexo pode iniciar
uma sequência VB. Deste modo, dá-se o mesmo tratamento a SVs como Indique-me… e
Me indique, tornado-se o sistema mais amigável para quem fale o Português do Brasil.
Por outro lado, passam a ser permitidas outras construções como Onde é que se pode ir
41
caçar javalis?. Também a lexia é que (Quem é que organiza a Expo?, Em que hotéis de
Lisboa é que há discoteca?), como surge sempre antes de um verbo, é agora tratada.
Regra 16 − Sequência Verbal
VB ‡ v [N=Y,P=X,TR=X]
O Berna tem cabeleireiro?
VB ‡ pronpr VB [N=Y,P=X,TR=X] Onde se podem comer alheiras?
VB ‡ é que SV [N=Y,P=X,TR=X] Quantos quartos é que tem o hotel
itz?
A propriedade de transitividade dos verbos será utilizada quando surgirem os SV ao
nível da frase. Aí os SV formados por verbos transitivos terão o seu CD associado. Por
agora tem-se a Regra 17, tanto para verbos transitivos como intransitivos.
Regra 17 − Verbos Transitivos e Intransitivos
SV ‡ VB [TR=X,N=Y,P=X]
O museu de Leiria fechou? O Berna tem bar?
Por vezes, os verbos transitivos são usados em construções intransitivas e viceversa. Neste caso, ocupam dois lugares no dicionário: uma em que o verbo é transitivo e
outra em que o verbo é intransitivo.
Os verbos de ligação ou copulativos (COP=s) funcionam, na frase, essencialmente
como elementos de ligação entre o SN sujeito e o sintagma adjectival ou SN com que se
constroem. O sintagma adjectival ou o SN que com esses verbos formam o SV têm a
função de predicativo do sujeito (PSN1).
Regra 18 − Verbos Copulativos
SV
‡
v
[N=Y,P=X,COP=s]
PSN1
O hotel Ritz é grande? O Ritz é um hotel?
Para terminar, considere-se que o SV ainda pode ser formado por dois (ou três)
verbos sendo um o principal e o(s) outro(s) auxiliar(es).
Exemplo 3.21 − Verbos Auxiliares
1. Posso pescar no rio Tejo?
2. Posso ir nadar na Boca do Inferno, em Cascais?
42
O verbo principal (pescar, nadar) é o que vai exprimir o significado do conjunto,
mas é o (primeiro) auxiliar (poder), que vai indicar as características a reter da
construção (pessoa e número). Quanto à transitividade do grupo verbal, é dada pela
transitividade do verbo principal.
Regra 19 − Verbos Auxiliares
VB ‡ VAUX VPRIN [N=X,P=Y,TR=X]
VB ‡ VAUX1 VAUX2 VPRIN [N=X,P=Y,
TR=X]
VAUX1 ‡ VAUX [N=X,P=Y]
VAUX2 ‡ VAUX []
VAUX ‡ v [N=X,P=Y]
VPRIN ‡ v [TR=X]
Posso comer queijadas?
Posso ir comer queijadas?
Posso
ir
posso
comer
S i n t a g m a P r e p o si c i o n a l
Apesar de por vezes um sintagma preposicional (SP) não ter a preposição
expressa, segundo [Florido et al.−90], pode-se pensar num SP como um SN que é
introduzido por uma preposição.
Como ilustração tome-se a árvore gerada pelo SP No (em+o) Algarve:
SP
prep
SN
em
N
art
np
o
Algarve
Figura 3.4 − Sintagma Preposicional No Algarve
As preposições podem subordinar um nome a outro nome, ou ainda servir de
complemento a um verbo. Como já se viu, o SP pode surgir como modificador do SN
(MOD), podendo surgir entre vírgulas.
43
Mas um SP pode também ser constituído por uma prep, um cardinal e um SN
(de 5 estrelas), ou ainda por uma prep e um sintagma adverbial (com mais de).
Regra 20 − Sintagma Preposicional
SP
SP
SP
SP
[]
SP
SP
‡ prep SN []
‡ punct SP []
‡ SP punct []
‡ punct SP punct
No Algarve há hotéis com lindas piscinas?
Indique-me hotéis com bar, com piscina…
Em Lisboa, existem hotéis com sauna?
Hotéis com bar, com piscina, com discoteca…
‡ prep card S []
‡ prep SADV []
Indique-me um15 hotel de 3 estrelas
Queria um campo de golfe com mais de 18
buracos
S i nt agm a Adj ect i val
A base do Sintagma Adjectival (SADJ) é o adjectivo (adj). A primeira regra é
trivial e a segunda é para os casos em que a seguir a um adjectivo se segue uma
preposição.
Regra 21 − Sintagma Adjectival
SADJ ‡ adj [G=X,N=Y]
SADJ ‡ adj prep SN []
Queria um grande hotel
Os museus estão abertos ao sábado?
Das funções do SADJ destacam-se as de:
• atributo do nome: quando o adjectivo ocorre como modificador do nome (MOD);
• predicativo do sujeito: quando é constituinte de um SV cuja base é, por exemplo,
um verbo copulativo.
Exemplo 3.22 − Funções do Sintagma Adjectival
1. Atributo do nome: Existem grutas naturais no Algarve?
2. Predicativo do Sujeito: O hotel Ritz é grande?
Os adjectivos têm de concordar em género e número como o nome a que dizem
respeito (diz-se As grutas naturais e não *As grutas natural). Apresenta-se assim a Regra
22, em que a primeira produção já não é novidade.
15
Repare-se que, para além de artigo, um é um cardinal.
44
Regra 22 − Sintagmas Adjectivais
MOD ‡ SADJ [G=X,N=Y]
PSN1 ‡ SADJ [G=X,N=Y]
Indique-me um hotel barato.
O Alfa é barato?
O aparecimento da segunda regra, leva à criação de uma nova regra, relativa à
composição de PSN1s:
Regra 23 − Composição de PSN1s
PSN1 ‡ SADJ Pcomp PSN1 [G=X,N=Y]
O Tivoli é grande e barato?.
Um SADJ, para além de poder estar a seguir ao nome que modifica, também pode
estar antes. No primeiro caso, é representado pela construção SN
‡
N
MOD,
anteriormente apresentada. O caso em que precede o nome, obriga a novas regras. Mas
repare-se que podem surgir vários adjectivos antes do nome. Assim, como a composição
dos SADJ já é permitida pela composição dos modificadores, corre-se o risco de ter dois
SADJ modificadores do nome a ser gerados por regras desnecessárias. Isto no caso de ser
criada a produção SADJ ‡ adj Pcomp SADJ. Para evitar repetições, usa-se um
predicado auxiliar: SADJAUX.
Regra 24 − Sintagmas Adjectivais que precedem o nome
N ‡ SADJAUX S [N=X,G=Y]
N ‡ Det SADJAUX S [N=X,G=Y]
N ‡ DetN SADJAUX S [N=X,G=Y]
SADJAUX
‡
adj
SADJAUX[N=X,G=Y]
SADJAUX ‡ SADJ [N=X,G=Y]
Pcomp
Existem belos lagos em
Portugal?
Indique-me um grande hotel?
Indique-me
três
grandes
hotéis?
uma grande e vasta praia.
grande
S i nt agm a Adver bi al
O elemento fundamental de um sintagma adverbial (SADV) é o advérbio. Nesta
tese, apenas se consideram os SADV que se seguem.
45
Regra 25 − Sintagma Adverbial
SADV ‡ adv
SADV ‡ adv card SN
SADV ‡ la card SN
Ainda existem lobos no Gerês?
Queria alugar um carro até 5 contos
Queria um quarto que custasse menos de 10 contos
O r ação S u b o r d i n ad a Rel at i v a
Uma oração subordinada relativa (REL) constitui uma das possibilidades de
realização do modificador do SN e funciona como atributo do nome desse sintagma. São
iniciadas por um pronome relativo (pronr), que substitui um SN, e subordinam uma
oração à outra, sendo a relativa a oração subordinada.
Uma oração relativa corresponde, em relação ao SN de que depende, a um
adjectivo (carácter adjectival da relativa) ou a um SP, com uma função respectivamente
de atributo ou de complemento.
Exemplo 3.23 − Função das Relativa
1. Função de atributo: Indique-me um hotel que16 não seja caro (barato).
2. Função de complemento: Queria um hotel onde não haja discoteca (sem
discoteca).
As orações relativas adjectivas podem ser restritivas ou explicativas17 . As
restritivas não podem ser suprimidas sem que o significado da frase fique incompleto ou
seja alterado, pois precisam e restringem a ideia expressa pelo antecedente. As
explicativas podem suprimir-se pois exprimem uma ideia acessória: enunciam uma
explicação para o que é afirmado na frase subordinante. Repare-se que as orações
explicativas são um problema: têm sintaxe igual às restritivas (logo se há regras
gramaticais que servem as restritivas também há regras para as explicativas) e não
veiculam nenhuma informação válida para o sistema. Pode-se dizer que uma frase com
uma oração relativa explicativa não faz parte do domínio da linguagem do Edite, mas a
realidade é que sintacticamente são frases aceites pelo sistema (espera-se que durante a
análise semântica sejam anuladas).
16
Por curiosidade, note-se que o pronome relativo que é um CD (um hotel).
17
Ainda se podem referir as relativas substantivas nas quais o pronome relativo desempenha a função de
sujeito (Quem chegar primeiro) ou CD (Fui a casa mas não encontrei quem esperava).
46
Exemplo 3.24 − Orações Relativas Restritivas e Explicativas
1. Restritivas: Indique-me um hotel que tenha piscina.
2. Explicativas: Indique-me umas termas que tenho problemas na coluna.
Do mesmo modo que se chamou Pint ao conjunto das formas interrogativas,
chama-se Prel ao conjunto dos pronomes relativos, mais as combinações que podem
ocorrer entre preposições e pronomes relativos: Indique-me uma praia em que possa
nadar.
A seguir à partícula relativa surge uma oração, tal como têm estado a ser definidas.
Assim, apresentam-se as regras:
Regra 26 − Relativas
REL ‡ Prel F []
Prel ‡ pronr []
Prel ‡ prep pronr []
Indique-me um hotel onde se possa nadar.
Quais são os hotéis que têm piscina?
Quais são as praias em que se pode nadar?
Or ação S ubor di nada I nf i ni t i va
Para terminar, e antes de se passar à sintaxe de uma frase completa, apresentam-se
as orações subordinadas infinitivas (INF). Consideram-se, apenas, as que são formadas
por uma preposição seguida de um verbo (ou sequência de verbos) no infinitivo18 :
Regra 27 − Orações Infinitivas
INF ‡ prep VB [T=inf]
Indique-me uma praia para (poder ir) surfar.
F r a se
Como já se viu, como constituintes nucleares de uma frase tem-se o SN e o SV, e,
em termos de concordância, o SV concorda sempre com o SN1 em pessoa (caso se trate
de um pronome) e em número. A lembrar, que a concordância é apenas quando o SN tem
a função de sujeito (SN1). Quando se trabalha com outro SN, essa concordância não
existe.
Segundo [Barros−61 ], as orações infinitivas também podem ser formadas por um único verbo no
infinitivo: É pena seres burro.
18
47
Algumas das regras apresentadas foram construídas para sintagmas verbais com
verbos intransitivos, outras para verbos transitivos, outras ainda para verbos copulativos.
Para começar considere-se a construção já mencionada, para frases constituídas apenas
por SN (género *Um hotel com bar, *Uma praia deserta) (deve-se lembrar que F pode
representar tanto uma frase interrogativa de eco, como uma frase imperativa, e ainda
uma sequência de palavras que se segue a uma partícula interrogativa (Existem grutas
naturais em Portugal? vs Onde existem grutas naturais em Portugal?)).
Regra 28 − Frases sem SV (sem SV na oração principal)
F ‡ SN []
*Hotéis onde se pode fazer ginástica.
De seguida apresentam-se as regras para verbos transitivos (Regra 29) e para os
verbos intransitivos (Regra 30):
Regra 29 − Frases com Verbos Transitivos
F
‡
SN1
SV
CD
[N=X,P=Y,TR=t]
F ‡ SV CD [N=X,P=Y,TR=t]
O Ritz tem rampas para deficientes?
Indique-me um bar?
Note-se que a segunda regra da tabela anterior permite escrever frases com sujeito
oculto: Digam hotéis.
Regra 30 − Frases com Verbos Intransitivos
F
‡
SN1
SV
MOD Quantos rios nascem em Portugal?
[N=X,P=Y,TR=i]
F ‡ SV SN1 [N=X,P=Y,TR=i]
Nascem rios em Portugal?
F
‡
SV
SP
SN1 Onde existem, em Lisboa, hotéis com
[N=X,P=Y,TR=i]
bar?
F ‡ SN1 SV [N=X,P=Y,TR=i]
Que hotéis existem?
F ‡ SV [N=X,P=Y,TR=i]
Onde é que posso caçar?
F ‡ SV MOD [N=X,P=Y,TR=i]
Chove muito no Alentejo?
Repare-se que as duas últimas construções permitem escrever frases: a) com sujeito
indeterminado (No Tejo pode-se nadar?); b) com sujeito inexistente (Neva em Lisboa?).
Um verbo que merece destaque é o verbo haver: pode empregar-se como verbo
impessoal (sem sujeito), ou quando tem o mesmo significado do verbo existir − Há hotéis
em Alpiarça? ou Existem hotéis em Alpiarça? − ou quando indica tempo que já passou
48
[Cunha & Cintra−85] (O fogo na Baixa foi há 10 anos?). Em ambos os casos, a
conjunção faz-se na 3ª pessoa do singular.
Quando o verbo haver é sinónimo do verbo existir, não tem sujeito. É um verbo
transitivo directo em que o complemento directo é o objecto existente. Isto, ao
contrário do verbo existir, que é intransitivo e tem sujeito: o objecto existente. No
entanto repare-se que as construções frásicas para estes verbos são absolutamente
idênticas:
Exemplo 3.25 − Verbo haver vs verbo existir
1. Em que praias há nadador salvador? Em que praias existe nadador salvador?
2. Que parques naturais há em Portugal? Que parques naturais existem em Portugal?
3. No Tejo há golfinhos? No Tejo existem golfinhos?
Deste modo (e que os linguistas perdoem), o verbo haver também surge no
dicionário como verbo intransitivo (esta decisão vai facilitar a análise semântica).
Mas ainda há o problema das concordâncias a resolver: diz-se há hotéis e não hão
hotéis. Assim, a forma há tem uma entrada extra, no dicionário, sem número associado.
Passe-se agora aos verbos copulativos:
Regra 31 − Frases com Verbos Copulativos
F ‡ SN1 SV [N=X,P=Y,TR=i,COP=s]
F
‡
SN
SN1
SV
[N=X,P=Y,TR=i,COP=s]
F
‡
SN
SV
SN1
[N=X,P=Y,TR=i,COP=s]
O hotel Berna está aberto?
A que horas o Ritz está aberto?
A que horas está aberto o
Tivoli?
Um SP pode ainda aparecer como constituinte extranuclear da frase. Neste caso,
desempenha a função de complemento circunstancial, i.e., exprime circunstâncias que
completam o significado contido nos elementos nucleares da frase. Geralmente é
facultativo e dispõe de uma certa mobilidade.
Exemplo 3.26 − SP constituinte extranuclear da frase
1. No Alentejo, existem grutas naturais?
2. Existem grutas naturais no Alentejo?
3. Existem, no Alentejo, grutas naturais?
49
A regra relativa aos SP extranucleares apresenta-se de seguida:
Regra 32 − Sintagma Preposicional constituinte extranuclear da frase
Frase ‡ SP Frase []
Frase ‡ Frase SP[]
Em Lisboa, onde posso encontrar um hipermercado
Onde posso encontrar um hipermercado, em Lisboa.
Finalmente resta definir F1, representante do início de uma frase interrogativa
indirecta. Por agora, usa-se a sequência verbal VB:
Regra 33 − Início das frases Interrogativas Indirectas
F1 ‡ VB []
Diga-me se existem praias paradisíacas em Portugal.
3 . 3 Al g o r i t m o d e E a r l e y
Diz-se que uma gramática deriva uma frase, se existir uma sequência de regras que
permitam reescrever o símbolo inicial a partir dessa frase. Este conceito é muito
importante, pois é a base tanto do processo de geração de frases, como do processo de
análise.
Exemplo 3.27 − Derivação da frase Arraiolos tem hotéis?
Considere-se a frase Arraiolos tem hotéis e a gramática G, apresentada no Exemplo
3.1. A seguinte derivação é uma das possíveis para esta frase:
F ⇒① SN1 SV ⇒③ SN1 v SN2 ⇒⑥ SN1 tem SN2 ⇒② np tem SN2 ⇒④ np
tem nc ⇒⑦ np tem hotéis ⇒⑤ Arraiolos tem hotéis
O algoritmo de Earley faz a análise de frases da esquerda para a direita combinando
a metodologia top-down com a bottom-up [Fonseca−93] e é um chart parser. Um chart
parser é um algoritmo que usa uma estrutura de dados chamada chart que permite guardar
resultados parciais sobre partes da frase que já foram analisadas, poupando assim
repetições.
O algoritmo de Earley compõe-se de quatro funções básicas: iniciar, prever, varrer
e completar. Os três últimos nomes são os usados em [Fonseca−93] para designar os
procedimentos expansion, shift e reduction, assim denominados em [Reichwein−93] e em
50
[Moll et al.−88]. A função completar é ligeiramente diferente da originalmente
apresentada por Earley, pois é estendida de maneira a suportar o mecanismo das
concordâncias. Na Figura 3.5 apresenta-se o algoritmo de Earley, discutindo-se de seguida
as funções acima referidas.
Algoritmo de Earley
Seja G=(N, T, S0, P) uma gramática algébrica (vd secção 3.2), sem produções com o
lado direito vazio, e seja F=p 1 …p n ∈ T* (ou seja, F é a frase, eventualmente vazia, a
analisar). O algoritmo de Earley preenche as células E(i, j)1 ≤ i ≤ j ≤ n da matriz de análise,
para y, w ∈ (N∪T)* e para x∈ (N∪T)+ , com o seguinte procedimento:
iniciar( )
prever(0, 0)
for j=1 to n do
{
for i=0 to j-1 do
varrer(i, j)
repetir
for i=0 to j do
{
prever(i, j);
for k=i to j-1 do
completar(i, j, k)
}
até não haver mais alterações
}
O algoritmo é bem sucedido se F ‡ v ∈ E(0, n), para v ∈ (N∪T)*.
Figura 3.5 − Algoritmo de Earley
De maneira a simplificar a apresentação do algoritmo, considere-se novamente a
frase Arraiolos tem hotéis?, e a seguinte gramática, ligeiramente diferente da apresentada
no Exemplo 3.1:
1. F ‡ SN1 SV [N=X,P=Y,TR=t]
2. SN1 ‡ SN [G=X,N=Y,P=Z]
3. SV ‡ v SN2 [TR=t,N=X,P=Y]
4. SN2 ‡ SN []
5. SN ‡ N [N=Y,G=Y]
6. N ‡ nc [G=X,N=Y]
7. N ‡ np []
Ao longo do algoritmo de Earley, uma matriz − dita matriz de análise de Earley
− vai sendo preenchida por regras da gramática marcadas. Essa marca é feita com um
ponto (•) e indica até que parte da frase já foi feita a análise (por exemplo, a regra
F ‡ SN1 • SV indica que já se descobriu um SN1 na frase). Para guiar este exemplo,
51
tem-se a Figura 3.6 que representa a matriz de análise de Earley para a frase Arraiolos
tem hotéis? e para a gramática previamente apresentada:
Arraiolos
tem
hotéis
E(I,
j)
i\j
0
0
1
F ‡ • SN1 SV
SN1 ‡ • SN
SN ‡ • N
N ‡ • nc
N ‡ • np
nc ‡ • hotéis
np ‡ • Arraiolos
2
np ‡ Arraiolos •
N ‡ np •
SN ‡ N •
SN1 ‡ SN •
F ‡ SN1 • SV
SV ‡ • v SN2
v ‡ • tem
1
2
3
F ‡ SN1 SV •
v ‡ tem •
SV ‡ v • SN2
SV ‡ v SN2 •
SN2 ‡ • SN
SN ‡ • N
N ‡ • nc
N ‡ • np
nc ‡ • hotéis
np ‡ • Arraiolos
nc ‡ hotéis •
N ‡ nc •
SN ‡ N •
SN2 ‡ SN •
3
Figura 3.6 − Matriz de Análise da Earley da frase Arraiolos tem hotéis?
De seguida descrevem-se as principais funções do algoritmo de Earley, mas antes
repare-se que como na célula E(0, 3) está a regra F ‡ SN1 SV •, conclui-se que a
análise foi bem sucedida (lembrar que F é o símbolo inicial).
i ni ci ar
Este procedimento coloca todas as regras que têm o símbolo inicial no lado
esquerdo na célula de coordenadas (0, 0) da matriz de análise de Earley. Ou seja:
iniciar( ): E(0, 0) := { S0‡ • x | S0 ‡ x ∈ P}
Como no caso da gramática em estudo apenas uma regra tem do lado esquerdo o
símbolo inicial (F ‡ SN1 SV), a regra F ‡ • SN1 SV é colocada na matriz de
análise de Earley, na célula E(0, 0) (vd Figura 3.6). Repare-se que a regra da matriz é uma
regra marcada (F ‡ • SN1 SV), ao contrário da regra da gramática que a originou
(F ‡ SN1 SV).
52
pr ever
Se na célula de coordenadas (i, j) existir a regra A ‡ w • B y e se nas produções da
gramática existir uma regra do tipo B ‡ x, então coloca-se na célula (i, j) a regra B ‡ •
x, i.e.:
prever(i, j): E(j, j) := E(j, j) ∪ {B ‡ • x | A ‡ w • B y ∈ E(i, j), B ‡ x ∈ P}
Como ilustração, estando a regra F ‡ • SN1 SV na célula E(0, 0) e existindo
na gramática a regra SN1 ‡ SN, a regra SN1 ‡ • SN é colocada na célula E(0, 0),
por aplicação deste procedimento. Como se continua a aplicar o método prever até não
haver mais alterações a fazer (vd Figura 3.5), as regras SN ‡ • N, N ‡ • nc, N ‡
• np, nc ‡ • hotéis e np ‡ • Arraiolos são também inseridas na célula
E(0, 0).
var r er
Esta é a única função que lida directamente e apenas com os símbolos terminais.
Deste modo, elemento que seja inserido na célula E(i, j) por aplicação de varrer(i, j),
indica que já foi lida a frase de entrada, da palavra i à palavra j. Ou seja:
varrer(i, j): E(i, j) ::= E(i, j) ∪ {A ‡ x p j • y | A ‡ x • p j y ∈ E(i, j-1)}
Como exemplo, a regra np ‡Arraiolos •, que se encontra na célula E(0, 1)
foi gerada por esta função, com base na regra np ‡ • Arraiolos da célula E(0, 1) e
no facto de Arraiolos ser a primeira palavra da frase, i.e., p1.
com pl et ar
Esta função toma duas regras − a primeira a indicar que a frase já foi analisada da
palavra i à palavra k e a segunda da palavra k à palavra j − e gera uma terceira − a
representar a análise da frase da palavra i à palavra j:
completar(i, j, k): E(i, j) := E(i, j) ∪ {B ‡ w A • y | A ‡ x • ∈ E(k, j),
B ‡ w • A y ∈ E(i, k)}
Um exemplo é a regra N ‡ np • da casa E(0, 1), gerada a partir das regras
N ‡ • np e np ‡ Arraiolos •, das casas E(0, 0) e E(0, 1), respectivamente.
53
Deve-se ainda lembrar que nesta função entra em acção o mecanismo da
concordância. Assim, suponha-se que a regra B ‡ w • A y tem o par de concordância
[G=X] associado. Se a regra A ‡ x • tiver como restrição [G=m], como o género da
primeira regra ainda não está definido, não haverá nenhum problema de concordância e a
nova regra, B ‡ w A • y, terá a restrição [G=m]. Mas, se a regra B ‡ w • A y, tiver o
género feminino associado [G=f], como a regra A ‡ x • tem a restrição [G=m], não há
concordância de géneros, e não se gera a regra B ‡ w A • y.
54
55
4 A N Á L I S E S E MÂ N T I C A
4.1 I nt r odução
Terminada a análise sintáctica e supondo que pelo menos uma árvore foi gerada,
inicia-se a análise semântica.
Durante esta etapa, à(s) estrutura(s) gerada(s) na fase anterior são associadas novas
expressões, escritas numa linguagem lógica mais próxima da linguagem de interrogação à
Base de Dados de Recursos Turísticos (BDRT), que no caso do Edite é o SQL. A essa
linguagem lógica, intermédia, chama-se linguagem de interrogação lógica (LIL), e,
se a análise semântica for bem sucedida, ter-se-á o sentido da interrogação colocada pelo
utilizador espelhado numa ou mais expressões em LIL. Inspirada no formalismo
apresentado no
projecto MASQUE\SQL [Androutsopoulos−92],
a
LIL,
aqui
formalizada, tem uma primeira abordagem em [Reis & Mamede−96a].
Cada palavra da frase fornecida pelo utilizador tem, geralmente, um ou mais
significados associados. A esse ou esses significados chama-se a semântica da palavra.
Por outro lado, cada palavra pode pertencer a uma ou mais classes. Não classes
morfológicas, mas classes que agrupem certas palavras de acordo com uma característica
comum. Assim, se uma palavra fizer parte de uma classe, diz-se que o nome dessa classe é
o tipo da palavra. Como exemplo, tome-se a palavra Lisboa: a sua semântica é
Lisboa, e tem três tipos: cidade, concelho e distrito. Esta informação está
guardada no dicionário e, deste modo, a palavra Lisboa tem três entradas, uma para cada
tipo diferente.
Também cada regra sintáctica da gramática apresentada no capítulo anterior tem
uma regra semântica associada. Tomando como exemplo a regra SN ‡ nc np,
tem-se que a semântica do sintagma nominal SN é obtida substituindo a semântica do
nome próprio (np) − que é uma constante − no primeiro argumento da fórmula que
representa a semântica do nome comum (nc). Ou seja, se se tiver o sintagma nominal
hotel Tivoli, a semântica deste sintagma é a fórmula LIL: hotel(Tivoli).
56
O algoritmo de análise semântica usa estes dois tipos de informação
(semântica e tipo das palavras e regras semânticas) para construir uma expressão LIL: é
um procedimento recursivo, que parte do topo de cada árvore sintáctica, e vai
combinando, de acordo com as regras semânticas, a semântica dos nós inferiores, que por
sua vez se escrevem em função dos nós que ainda lhes estão mais abaixo, na árvore. No
fim de todo este processo composicional atingem-se as folhas das árvores, cuja semântica
é a semântica das palavras da frase em estudo. Deste modo geram-se as expressões LIL.
Quanto aos tipos, estes também desempenham um papel fundamental mas que foge
um pouco ao âmbito desta tese: o sistema Edite tem um Modelo Conceptual
[Reis & Mamede−96b], que reprova certas construções pois neste modelo estão definidas
as relações possíveis entre tipos19 de palavras. Se, por exemplo, alguém “ousasse”
perguntar O hotel Ritz tem baratas?, a análise semântica falharia, pois os hotéis não têm
baratas (ou se têm, essa informação não surge, de certeza, na base de dados), e no Modelo
Conceptual não existe a relação ter entre hotel e baratas.
Na secção 4.2 formaliza-se a LIL e na 4.3 explica-se qual é a semântica que se deve
atribuir a cada palavra, de acordo com a sua categoria gramatical. Em 4.4 é a vez de se
falar dos tipos das palavra e em 4.5 apresentam-se as regras semânticas associadas às
regras sintácticas. Finalmente, 4.6 trata dos mecanismos que podem provocar uma falha
semântica − onde se inclui uma pequena explicação sobre o Modelo Conceptual −
descrevendo-se em 4.7 o algorítmo de análise semântica.
4.2 A e s t r ut ur a l ógi c a da LI L e a s ua s i nt a xe
A sintaxe da LIL é a de uma lógica de primeira ordem: o poder expressivo de uma
lógica de predicados permite representar, de uma maneira bastante intuitiva, os conceitos
do mundo real.
4 . 2 . 1 Te r m o s
Um termo pode ser uma constante ou uma variável20 : as constantes representam
objectos do mundo, incluindo objectos abstractos como eventos e situações; as variáveis,
tais como o nome indica, podem ser substituídas por objectos.
19
Repare-se que a consulta ao Modelo Conceptual é feita usando o tipo das palavras e não a sua semântica.
20
Um símbolo de função aplicado a um tuplo de termos também é um termo.
57
Para se escrever uma constante, admite-se qualquer cadeia de caracteres, deste que o
primeiro carácter não seja o símbolo "_" e os seguintes dígitos. Isto porque para escrever
uma variável, usa-se o símbolo "_" seguido de 1 ou 2 dígitos.
Exemplo 4.1 − Termos
1. Variáveis: _3, _89
2. Constantes: Airport77, Vila-Real, piscina, fome, -99, 1971.
4 . 2 . 2 F ó r m ul a s
Uma fórmula LIL pode ser uma fórmula primitiva, mas pode também ser
construída com base em conectivos lógicos.
F ór m ul as P r i m i t i vas
As fórmulas primitivas são constituídas por um símbolo de predicado e por uma
lista de argumentos (pelo menos 1). Os argumentos são termos, tais como definidos
em 4.2.1. Ou seja, uma fórmula primitiva tem a seguinte sintaxe:
simbolo_de_predicado (termo1, ..., termon).
Os símbolos de predicado de uma fórmula escrevem-se exactamente como se
escrevem as constantes, e os argumentos, como são termos, escrevem-se como tal. Notese que ao longo das próximas secções surgem fórmulas com variáveis nos argumentos; os
números usados para representar essas variáveis são escolhidos aleatoriamente.
Também sempre que uma fórmula surja com variáveis livres, deve-se supor que
estas são quantificadas existencialmente, a não ser que estejam associadas ao predicado
EXACT.
Exemplo 4.2 − Fórmulas Primitivas
1. hotel(_8),
2. em(_8, Lisboa)
58
Co n ect i v o s L ó g i co s
Os conectivos lógicos ligam duas fórmulas LIL e dão origem a outra fórmula. São
eles, a conjunção (&) e a disjunção (V). Tem-se, de um modo geral:
*(formula1,
formula2) em que
*∈{&,
V}
Exemplo 4.3 − Conectivos Lógicos
1. &(ter(_26, bar), ter(_26, piscina))
2. V(hotel(_7), pensão(_78))
4 . 2 . 3 Exp r e s s õ e s LI L
Ao conjunto de uma ou mais fórmulas, separadas por vírgulas, chama-se expressão
(em LIL), i.e., a sintaxe de uma expressão LIL é dada por:
formula1,…, formulan
Exemplo 4.4 − Expressões LIL
1. hotel(_26), &(ter(_26, piscina), ter(_26, bar))
2. hotel(_6), em (_6, Lisboa)
Uma expressão LIL pode ser vista como uma única fórmula, construída à custa do
conectivo lógico &.
Exemplo 4.5 − Expressão LIL e Conectivos Lógicos
A expressão LIL
hotel(_26), &(ter(_26, bar), ter(_26, piscina))
é equivalente à fórmula LIL
&(hotel(_26), &(ter(_26, bar), ter(_26, piscina)))
4 . 3 At r i b u i ç ã o d e S e m â n t i c a a u m a p a l a v r a
Quando uma palavra surge numa frase, é a sua semântica que a vai representar na
expressão LIL resultante da análise semântica dessa frase. Há palavras que dão origem a
termos (constantes), outras a fórmulas. Há ainda palavras que não têm semântica
associada e são assim desprezadas durante a análise semântica: são palavras às quais ainda
não se decidiu que semântica atribuir. Isto porque é muito delicado determinar a
59
semântica de uma palavra, pois esse valor não depende, de um modo rígido, da categoria
da palavra, nem de outra qualquer característica que permita agrupar as palavras em
classes semânticas. Na realidade, cada palavra é um caso particular. No entanto, como o
dicionário é extenso, foi necessário encontrar um denominador comum para alguns
conjuntos de palavras, de maneira a não tornar demasiado exaustivo o seu carregamento.
Assim, a categoria sintáctica serve, em alguns casos, para orientar a decisão de atribuição
de semântica a uma palavra. Noutras vezes, os valores semânticos escolhidos dependem
de um factor externo a este trabalho: a BDRT. Note-se que não há perda de generalidade
por isso, pois uma palavra pode ter mais do que uma entrada e, por agora, apenas foram
escolhidas as mais apropriadas: as que permitem extrair mais informação da BDRT.
Faça-se aqui uma pequena nota sobre a maneira como se escreve a informação
semântica no dicionário. Como não é novidade, cada entrada tem a forma:
palavra/CAT=x,SEM=semantica|nºargumentos…
Se o número de argumentos (nºargumentos) for 0 (zero) está-se em presença
de uma constante. Caso contrário tem-se uma fórmula21 . No caso de se ter uma fórmula,
semantica representa o símbolo de predicado dessa fórmula e no caso de se ter um
termo, semantica representa a constante.
Nom es pr ópr i os
Os nomes próprios são os mais fáceis de classificar pois considera-se que dão
sempre origem a constantes: um nome próprio que surja como uma fórmula é
considerado um erro. Como um nome próprio representa uma entidade particular, parece
natural esta decisão.
Mais ainda se pode adiantar sobre a informação semântica dos nomes próprios: a
semântica de um nome próprio é sempre representada pela própria palavra que define o
nome próprio. Isto é, a semântica de Ritz é Ritz, a de Verão é Verão e a de Portugal é
Portugal.
N o m es Co m u n s
Os nomes comuns, ao contrário dos nomes próprios, são os mais difíceis de
classificar, pois podem dar origem a constantes ou a fórmulas com diferentes números de
21
Uma constante pode ser vista como uma fórmula de aridade zero.
60
argumentos. Na realidade, a BDRT influenciou as decisões de atribuição de semântica aos
nomes comuns: a BDRT tem um conjunto de recursos turísticos dominantes aos quais
estão associados vários campos com informações. Por exemplo, existe o recurso hotel,
com os campos piscina, suite nupcial, cabeleireiro, lavandaria, … Geralmente esses
campos tomam o valor 1 se existirem no hotel, e 0 caso contrário. Ora, sobre esses
campos não há nenhuma informação, e assim, se se pode identificar um hotel em
particular (hotel(Ritz), hotel(Berna)), já não se pode identificar, por
exemplo, a piscina do hotel Ritz. Daí o facto de a semântica dos recursos turísticos
dominantes serem fórmulas com um argumento e a semântica dos campos
serem constantes. No entanto, existem recursos que não só são campos como também
são recurso turísticos dominantes, como é o caso de piscina, obrigando a duas entradas no
dicionário, uma como constante e outra como fórmula. Como exemplo, tomem-se as
frases A piscina Lido, na Madeira, está aberta em Abril? e O hotel Ritz, de Lisboa, tem
piscina?. No primeiro caso, a piscina de que se fala tem uma identificação própria. Tem
um nome: é a piscina Lido. Assim, para representar piscina Lido em LIL, parece
natural que a escolha caia sobre a fórmula piscina(Lido), ou seja, piscina surgirá no
dicionário como uma fórmula com predicado piscina e com um argumento. No
segundo caso, considerando a definição atribuída à palavra piscina, ter-se-á a expressão
em LIL, resultante da análise semântica: hotel(Ritz),
ter(Ritz,
_8),
piscina(_8). Isto é, haverá necessidade de procurar a identidade da piscina do Ritz,
quando esta não existe, não sendo possível preencher a variável _8 com essa
informação. Deste modo, considera-se também piscina como uma constante e obtém-se
a expressão LIL: hotel(Ritz), ter(Ritz, piscina).
Como se verá em 4.6.2, a constante piscina não servirá para representar a frase
A piscina Lido, na Madeira, está aberta em Abril?.
P r onom es
Os pronomes considerados nesta tese não sofrem tratamento semântico. Na
realidade, podem ter, no dicionário, uma semântica associada; no entanto, as regras
semânticas ignoram-nos completamente. Esta fase é obviamente transitória e no
capítulo 6 discutem-se alguns problemas levantados por este facto.
Det er m i nant es
Os únicos determinantes que não são semanticamente ignorados são os
determinantes numerais (cardinais). Os outros determinantes, tal como sucede com os
61
pronomes, podem surgir com a estrutura semântica que se quiser no dicionário, mas as
regras semânticas deixam-nos invariavelmente de lado.
A semântica de um numeral cardinal é representada (quer em numeração árabe, quer
por extenso), pelo próprio número (na notação árabe). Ou seja, a semântica de 5 é 5
assim como a semântica de cinco é 5.
No entanto, durante a análise semântica, há casos em que a semântica do cardinal é
dada pela fórmula EXACT(_8, card), onde card é o cardinal (na notação árabe),
referindo-se a variável _8 ao objecto que está a ser quantificado. Por exemplo, o
sintagma nominal 5 hotéis dá origem à expressão EXACT(_99, 5), hotel(_99).
Ver bos
Relembrando o capítulo anterior, existe geralmente um sujeito que pratica uma
acção que se reflecte num verbo. Então, atribui-se a um verbo a estrutura de uma fórmula
em que o primeiro argumento é o sujeito. Mas os verbos transitivos ainda têm o
complemento directo (e por vezes indirecto). Deste modo, para estes casos, surge um
segundo argumento para o complemento directo. Por agora não se considera um terceiro
argumento para um potencial complemento indirecto.
O predicado usado para a escrita da semântica dos verbos é o próprio verbo no
infinitivo (ou um sinónimo).
Exemplo 4.6 − Semântica de Verbos Transitivos e Intransitivos
Considerem-se as frases:
1) O Ritz tem discoteca?
2) Existe discoteca no Ritz?
O verbo ter, ao contrário do verbo existir, é um verbo transitivo. Ou seja, a
semântica de tem é ter(_9, _90) e a de existe é existir(_77). Fazendo uma
breve análise destas duas frases, tem-se que, para a primeira frase, O Ritz é o sujeito e tem
discoteca o sintagma verbal (em que discoteca é o complemento directo). Na segunda
frase, o sintagma verbal é existe, discoteca é o sujeito e no Ritz o SP. Ou seja, em LIL,
estas duas frases são representadas por ter(Ritz, discoteca), hotel(Ritz)
e existe(discoteca), em(discoteca, Ritz), respectivamente.
Outro caso que interessa referir é o dos verbos copulativos. A semântica que
apresentam obedece à dos outros verbos, mas, nas construções em que surgem como
elementos de ligação, são ignorados. Por exemplo, a semântica da frase O Alfa é
grande?, é grande(Alfa), sendo ignorada a semântica do é.
62
Finalmente deve ser referido o facto de certos verbos poderem surgir tanto em
construções transitivas como intransitivas. Como exemplo, na pergunta Onde é que
posso ir comer um bacalhau com natas? o verbo comer surge como verbo transitivo
(comer(_8, bacalhau-com-natas)) 22 , ao passo que em Onde é que se pode
comer?, já está numa construção intransitiva. Como já viu em 0, estes casos obrigam a
duas entradas no dicionário (uma em que o verbo é transitivo e possui dois argumentos e
outra em que o verbo é intransitivo e possui um argumento).
Advér bi os e L ocuções Adver bi ai s
Para os advérbio não há nenhuma regra geral para a atribuição de semântica. Cada
advérbio é um caso particular, e apenas um conjunto muito restrito de advérbios e
locuções adverbiais são tratados neste trabalho. Na realidade, apenas as locuções
adverbiais mais que, mais do que, mais de, menos que, menos do que e menos de, são
aqui analisadas.
Considerem-se então as frases Indique-me um campo de golfe com mais de 18
buracos e Indique-me um hotel com quartos que custem menos do que 18 contos.
Na primeira frase, o pedido reflecte-se na equação nº buracos > 18 e, na segunda,
em nº contos < 18. Ou seja, na primeira pede-se um campo de golfe com um número de
buracos superior a 18 e, na segunda, um hotel cujo preço dos quartos seja inferior a 18
contos. Deste modo introduzem-se os predicados SUP e INF para representarem a
semântica das locuções adverbiais mais que, mais do que, mais de, menos que, menos do
que e menos de (SUP para as três primeiras e INF para as três últimas). A semântica
destas locuções serão fórmulas com 2 argumentos: o primeiro para o objecto quantificado
e o segundo para o cardinal.
Tem-se então que, no fim da análise semântica da frase Indique-me um campo de
golfe com mais de 18 buracos, surge a expressão LIL:
com(buracos,
campo_golfe), SUP(buracos, 18). No final da análise da frase Indique-me
um hotel com quartos que custem menos do que 18 contos tem-se: hotel(_99),
com(quartos, _99),
custar(quartos,
contos),
INF(contos,
18).
22
Repare-se que a variável _8 representa o sujeito oculto Eu (onde é que eu posso ir comer bacalhau com
natas?).
63
Adj ect i vos
Cada adjectivo dá geralmente origem a uma fórmula que tem o próprio adjectivo
como predicado (ou um sinónimo), e que tem apenas um argumento. Nesse argumento
ficará o representante do objecto que o adjectivo qualifica. Por exemplo, a frase Quais
são as grutas naturais do Algarve? terá a sua expressão em LIL: gruta(_6),
natural(_6), de(_6, Algarve).
No entanto, há adjectivos que têm dois argumentos. Se se perguntar Quais são os
museus abertos ao sábado?, o adjectivo aberto tem aberto(_97, _56) como
semântica, gerando-se a expressão LIL aberto(_9, sábado), museu(_9).
P r e p o si ç õ e s
As preposições dão sempre origem a fórmulas com dois argumentos e cujo
predicado é a própria preposição. No primeiro argumento ficará o sujeito da frase ou o
nome que o sintagma preposicional modifica. No segundo argumento encontra-se o nome
que a preposição introduz.
Uma referência para a preposição com que tem um tratamento especial: em
questões como Indique-me um hotel com bar, a preposição com tem o significado do
verbo ter. Ou seja, pede-se um hotel que tenha bar. Assim, para além de uma entrada
comum às outras preposições, com ainda tem a entrada no dicionário:
com/CAT=prep,SEM=ter|2,…
Deste modo, o resultado da análise semântica da frase anterior é a expressão LIL:
ter(_7, bar), hotel(_7).
Co n j u n çõ es
A semântica da conjunção e é uma fórmula com dois argumentos e predicado &,
sendo a semântica da conjunção ou uma fórmula, igualmente com dois argumentos, e de
predicado V.
64
4.4 Ti po de um a pa l a vr a
Assim como a semântica de uma palavra representa o seu significado, é o tipo de
uma palavra que a insere numa ou em várias subclasses (tal como acontece com a
semântica, uma palavra pode não ter um tipo associado). Por exemplo, Lisboa é uma
cidade e assim, tal como todas as cidades, tem o tipo cidade. Mas também é um
concelho e um distrito, e também tem estes tipos.
Quando é feita a consulta ao Modelo Conceptual [Reis & Mamede−96b] é o tipo da
palavra que a representa. Deste modo, a escolha do tipo de uma palavra tem de estar de
acordo com o Modelo Conceptual, que já não faz parte desta tese. Há, no entanto, uma
certa relação entre a semântica de uma palavra e o seu tipo, e é este facto que é analisado
na secção seguinte.
Uma pequena nota para a notação usada nesta subsecção, em que se escreve o tipo
de cada termo à frente do termo, a seguir ao símbolo “:” (Lisboa: cidade).
4 . 4 . 1 Re l a ç ã o S e m â nt i c a / Ti p o
Nesta fase de desenvolvimento do sistema Edite, apenas as constantes têm um
tipo.
Geralmente, as constantes são a expressão semântica de um nome próprio, e o seu
tipo é mais ou menos óbvio: o tipo de Ritz é hotel, assim como o tipo de Jerónimos é
mosteiro e o de Portugal é país. Já as constantes originadas por nomes comuns têm
como tipo a própria palavra que as representa (o tipo de piscina é piscina) ou um
sinónimo (o tipo de refeitório é cantina).
As fórmulas com um argumento também têm um tipo associado, mas este não é o
seu próprio tipo, mas o tipo da variável que constitui o seu argumento. A palavra hotel,
por exemplo, dá origem a uma fórmula, e a variável que tem como argumento (único) vai
ter um tipo associado: o tipo hotel. É esta informação que vai permitir, ao Modelo
Conceptual, validar sintagmas como hotel Tivoli, e invalidar outros como museu Tivoli.
Isto porque, no primeiro caso, quando se tenta substituir a constante Tivoli: hotel
na fórmula hotel(_99: hotel), esta substituição é aceite pelo Modelo Conceptual,
pois Tivoli é do tipo da variável _99, o
mesmo não acontecendo com
Tivoli: hotel e museu(_88: museu) (vd. 4.6.1).
65
4 . 4 . 2 Ti p o p o r O m i s s ã o
Tome-se de novo a palavra Lisboa como exemplo, com a sua semântica Lisboa,
e os seus três tipos: cidade, concelho e distrito. Se surgir a frase Quais são os
hotéis da cidade de Lisboa, como Lisboa tem, pelo menos, três entradas no dicionário,
pelo menos três árvores são geradas durante a análise sintáctica. Assim, na análise
semântica
tem-se,
a
expressão
LIL
hotel(_9),
de(_9,
Lisboa),
cidade(Lisboa), comum à análise de todas as árvores. No entanto, se se observarem
os tipos associados à constante Lisboa, encontram-se três fórmulas bem distintas:
• hotel(_9:
hotel),
de(_9:
hotel,
Lisboa:
cidade),
cidade(Lisboa: cidade);
• hotel(_9:
hotel),
de(_9:
hotel,
Lisboa:
concelho),
hotel,
Lisboa:
distrito),
cidade(Lisboa: concelho);
• hotel(_9:
hotel),
de(_9:
cidade(Lisboa: distrito).
Ora o Modelo Conceptual, ao receber as fórmulas cidade(Lisboa:
concelho) e cidade(Lisboa:
distrito), reprova a análise semântica
relativa à árvore que lhes deu origem (vd. 4.6.1). Deste modo, não existe nenhum
problema, pois o utilizador mostrou explicitamente que estava interessado nos hotéis da
cidade de Lisboa. Mas agora, suponha-se que o pedido é Quais são os hotéis de Lisboa.
As expressões LIL resultantes são:
• hotel(_9: hotel), de(_9: hotel, Lisboa: cidade);
• hotel(_9: hotel), de(_9: hotel, Lisboa: concelho);
• hotel(_9: hotel), de(_9: hotel, Lisboa: distrito).
Ou seja, não se sabe se são pedidos os hotéis da cidade de Lisboa, do concelho de
Lisboa ou do distrito de Lisboa. Deste modo surge o conceito de tipo por omissão. Em
casos como este, apenas a expressão LIL relativa ao tipo por omissão é guardada
(vd. [Reis & Mamede−96a]).
A informação sobre o facto de uma entrada conter um tipo por omissão é indicada
pelo carácter d, no dicionário.
Exemplo 4.7 − Tipo por omissão
Para a palavra Lisboa, tem-se as entradas:
Lisboa/CAT=np,SEM=Lisboa|0d,TIPO=cidade,…
Lisboa/CAT=np,SEM=Lisboa|0,TIPO=conselho,…
Lisboa/CAT=np,SEM=Lisboa|0,TIPO=distrito,…
66
4 . 5 Co n s t r u ç ã o d e Ex p r e s s õ e s e m LI L
A cada regra da gramática existe uma regra semântica associada. Essas regras são
escritas através do que se chamou operadores semânticos. Deste modo, cada expressão
em LIL resultante da análise semântica é criada recursivamente com base na árvore
sintáctica e nas regras semânticas: a semântica de cada nó escreve-se à custa da semântica
do(s) nó(s) descendente(s).
4 . 5 . 1 O p e r a d o r e s s e m â nt i c o s
Os operadores semânticos são sete e apresentam-se de seguida. Apenas os dois
primeiros foram inspirados em [Reis & Mamede−96a]; os outros foram sendo criados à
medida que se tornavam necessários. Note-se que as regras semânticas aparecem entre
chavetas.
Oper ador ?
Este é o operador mais simples de todos: possui apenas um argumento e devolve a
semântica do objecto que recebe como argumento: ?X denota a semântica de X.
Exemplo 4.8 − Operador ?
Considere-se o SN O hotel, que pode ser escrito pelas regras:
SN ‡ N {?N} [G=X,N=Y]
N ‡ Det nc {?nc} [G=X,N=Y]
A primeira regra indica que a semântica do SN é dada pela semântica do N (?N
representa a semântica de N). A segunda regra, por sua vez, indica que a semântica de N é
dada pela semântica do nc (?nc). Ora a semântica do nome comum hotel é a fórmula
hotel(_84).
Ou
seja,
?nc=hotel(_84),
?N=hotel(_84)
e
?SN=hotel(_84), i.e., a semântica do sintagma nominal é a fórmula hotel(_84).
Oper ador S
O operador S tem três argumentos: o primeiro representa o objecto a substituir, o
segundo o argumento onde o objecto vai ser substituído e o terceiro o objecto onde vai
ser feita a substituição. A fórmula resultante é devolvida pelo operador. Isto é:
67
S (X N Y) devolve a fórmula que se obtém substituindo X no argumento N de
Y.
Exemplo 4.9 − Operador S
Considere-se o sintagma preposicional em Lisboa, gerado pelas regras:
SP ‡ prep SN {S (?SN 2 ?prep)} []
SN ‡ N {?N} []
N ‡ np {?np} []
A árvore gerada por este SP é a da Figura 4.1. Esta árvore mostra as regras
semânticas associadas a cada ramo.
Relembrando a semântica atribuída às preposições e a semântica atribuída aos
nomes próprios, tem-se que a semântica de em é em(_5, _9) e a semântica de Lisboa,
Lisboa. Começando pelo topo da árvore, a regra semântica S (?SN 2 ?prep)
indica que se deve substituir a semântica do SN no segundo argumento da fórmula que
representa a semântica de prep. E qual é a semântica de SN? E de prep? Começando
pela de SN, e descendo um nível na árvore, tem-se que a semântica de SN é dada pela
semântica de N (?N). Por sua vez, a semântica de N é a semântica de np (?np).
Finalmente, e chegando à folha da árvore que contém o nome próprio Lisboa, obtém-se
a semântica de Lisboa, que é a constante Lisboa. Deste modo, calculou-se a semântica
de np, de N e de SN. Ou seja a semântica de SN é a constante Lisboa. Do mesmo
modo, calcula-se a semântica de prep: a fórmula de dois argumentos em(_5,_9).
Fazendo a substituição pedida, obtém-se a semântica de SP: em(_5, Lisboa).
SP
S(?SN 2 ?prep)
prep
SN
em
N
?N
?np
np
Lisboa
Figura 4.1 − Sintagma Preposicional em Lisboa
Quando X é uma constante, a substituição é óbvia. No entanto, X pode ser também
uma fórmula. Se for uma fórmula com mais do que um argumento, a análise semântica
falha e acaba. Mas se X for uma fórmula com um único argumento, o termo que se
encontra nesse argumento é abstraído, e é substituído no argumento N da fórmula Y.
Assim, por exemplo, considerando o SN gruta natural, a regra que diz respeito a este
sintagma é SN ‡ nc adj {E (S
(?nc
68
1
?adj)
?nc)}; ignorando o
operador E, que é apresentado abaixo, fica uma substituição a fazer: S
(?nc
1
?adj). Como a semântica do nc gruta é gruta(_9), i.e., uma fórmula com um
argumento, abstrai-se a variável _9, e é esta que é substituída no primeiro argumento da
fórmula natural(_89), obtendo-se gruta(_9). Note-se que este processo serve
para evitar a geração de fórmulas como natural(gruta(_9)), que é mal formada
pois tem uma fórmula como argumento e não um termo.
Quanto à fórmula natural(_9), esta fica internamente associada à fórmula
gruta(_9), como sendo uma especificação desta fórmula; mais tarde, no fim da
análise
semântica,
as
duas
fórmulas
são
apresentadas
numa
conjunção:
&(gruta(_9), natural(_9)). Este processo relaciona-se directamente com o
operador que se apresenta de seguida.
Oper ador E
Este operador tem dois argumentos: o primeiro representa uma característica (uma
especificação) do segundo. É o segundo argumento que é devolvido, com a sua nova
propriedade associada: o primeiro argumento . Ou seja:
E(X Y)devolve Y como a semântica da regra, sendo Y especificado através de X
(X passa a ser uma característica associada a Y).
Este operador é algo complicado, pois a sua função é mais a de facilitar o algoritmo
de análise semântica, guardando como especificação de uma fórmula − ESPEC − fórmulas
que já estão acabadas (já não têm variáveis livres, ou já não vão ser mais mexidas). Deste
modo, a fórmula guardada como especificação torna-se invisível no resto do algoritmo,
tornando-o mais simples.
No fim da análise semântica, faz-se a conjunção de todas as fórmulas com a lista
das fórmulas que a especificam (Exemplo 4.10).
Exemplo 4.10 − Operador E
Considere-se de novo o SN gruta natural e a regra semântica
SN ‡ nc adj {E(S (?nc 1 ?adj) ?nc)}, que reflecte este SN. A regra diz
que a fórmula natural(_9) (obtida substituindo gruta(_9) no argumento 1 da
fórmula natural(_89)) passa a ser uma especificação da fórmula gruta(_6) que é
a fórmula devolvida como semântica da regra. Ou seja:
?SN=gruta(_9)
ESPEC(gruta(_9))=natural(_9)
No fim da análise semântica obtém-se a LIL: &(gruta(_9),
natural(_9)).
69
Esta regra tem de ser usada com o máximo de cuidado, pois a informação que é
associada como característica da fórmula resultante já não volta a estar disponível.
Oper ador &
Este operador é usado quando se quer formar uma nova fórmula a partir dos dois
argumentos deste operador. O predicado da nova fórmula é o conectivo lógico &, e os
argumentos da nova fórmula são os argumentos do operador &, sendo a nova fórmula
devolvida.
Exemplo 4.11 − Operador &
O SN hotel lindo com piscina tem dois modificadores: o SADJ lindo e o SP com
piscina. Ora a composição de modificadores, quando não há vírgulas ou conjunções a
separá-los, é feita pela regra MOD ‡ MOD1 MOD2 {& (MOD1 MOD2)} []. Ou seja,
sendo lindo(_8) a semântica de MOD1 e ter(_98, piscina) a semântica de
MOD2, tem-se que a semântica de MOD é a fórmula &( lindo(_8), ter(_98,
piscina)).
Oper ador C
Este operador permite a construção de uma fórmula a partir de uma conjunção − ou
vírgula − e de duas outras fórmulas. Isto é:
C(X, Y, Z) devolve uma fórmula (não primitiva) cujo conectivo lógico é dado
por X, sendo Y e Z os argumentos dessa fórmula.
Exemplo 4.12 − Operador C
A regra SN ‡ SN conj SNC {C (?conj ?SN ?SNC)}, que representa a
estrutura sintáctica do SN hotel e pensão, dá origem à fórmula &(hotel(_9),
pensão(_84)), pois a semântica de hotel é hotel(_9), a de pensão é
pensão(_84) e a de e é &(_9, _45).
Oper ador P
Este operador tem como argumento um cardinal e devolve a fórmula
EXACT(_6, card), em que card é o cardinal que recebe como argumento.
70
Exemplo 4.13 − Operador P
Se o utilizador fizer o pedido Indique-me 3 piscinas em Lisboa. o SN 3 hotéis é
gerado pela regra N ‡ DetN nc {E(S(?nc 1 PDetN) ?nc)}. Ou seja, a
fórmula EXACT(piscina, 3) passa a estar associada à constante piscina
(supondo de novo, para facilitar a compreensão, que piscina só tem um argumento).
Relembrando o que se disse sobre os cardinais, se a regra semântica for ?card, e
pensando que se está a trabalhar com o cardinal 5, por exemplo, tem-se que ?card=5.
Se a regra for Pcard, tem-se Pcard=EXACT(_9, 5). A razão deste operador é
poder gerar uma fórmula que associe o cardinal ao nome que quantifica. Numa frase como
Indique-me um hotel com mais de três piscinas, a locução adverbial mais de tem como
semântica SUP(_28, _34) e assim é possível relacionar o cardinal três com a palavra
piscina. Mas no caso do exemplo anterior isto não é possível. Deste modo, usa-se o
operador P.
Oper ador 0
Este operador não tem argumentos e indica que a regra não tem uma semântica
associada. A sua chamada provoca uma falha na análise semântica da árvore em análise,
pois a sua função é marcar as regras sintácticas para as quais as regras semânticas ainda
não foram pensadas e que, como tal, não podem ser usadas durante a análise semântica.
Exemplo 4.14 − Operador 0
Alguns determinantes não têm semântica associada. Assim, regras como
Det ‡ detp, têm {0} como semântica.
4 . 5 . 2 As Re gr a s S e m â nt i c a s
Nesta secção apresentam-se as regras semânticas associadas a cada regra da
gramática descrita no capítulo anterior. As regras sintácticas que só têm um símbolo do
lado direito, têm uma única possível regra semântica associada: inevitavelmente, a
semântica do lado esquerdo é dada pela semântica do lado direito. Assim, tem-se, por
exemplo, que a regra semântica associada à regra sintáctica S ‡ nc é {?nc}. Dada a
trivialidade destas regras, geralmente não são apresentadas nesta secção. Também para
facilitar a leitura, as relações de concordância são omitidas.
71
S i nt agm a Nom i nal
Comece-se com as regras relativas à composição de sintagmas nominais: como se
sabe, a composição de SNs faz-se através do uso de vírgulas ou das conjunções e e ou. O
operador C é o utilizado nestas regras:
Regra 34 − Semântica da Composição de Sintagmas Nominais
SN1 ‡ SN Pcomp SN1 {C (?Pcomp ?SN1 ?SN)}
CD ‡ SN Pcomp CD {C (?Pcomp ?CD ?SN)}
PSN1 ‡ SN Pcomp PSN1 {C (?Pcomp ?PSN1 ?SN)}
CD ‡ prep SN Pcomp CD {C (?Pcomp ?CD ?SN)}
CD ‡ SADV Pcomp CD {C (?Pcomp ?CD ?SADV)}
PSN1 ‡ SADJ Pcomp PSN1 {C (?Pcomp ?PSN1 ?SADJ)}
Atente-se agora nas seguintes frases: a) Indique-me um hotel com bar, piscina e
discoteca; b) Indique-me um hotel, residencial ou pousada com piscina. Alguém que
faça a pergunta a) está a pedir um hotel com bar e com piscina e com discoteca. Com a
pergunta b) é um hotel ou uma residencial ou uma pousada que são pedidos. Ou seja, no
primeiro caso a vírgula tem o significado da conjunção copulativa e, e, no segundo caso,
da conjunção adversativa ou, o que quer dizer que o significado das vírgulas é dependente
do contexto. Caso o utilizador use na frase uma sequência de expressões intercaladas por
vírgulas e não use nenhuma conjunção, por exemplo indique-me um hotel com piscina,
bar, discoteca, considera-se que a vírgula têm o significado do e. Resumindo:
• a semântica das vírgulas (vírgula e ponto e vírgula), é a fórmula virgula(_8,
_0);
• por omissão, considera-se que virgula(_8, _0)
⇔ &(_8,
_0), i.e., a
vírgula tem a mesma semântica que a conjunção coordenada copulativa e. Deste
modo, uma frase como Que hotéis têm bar, piscina, discoteca? será interpretada
como Que hotéis têm bar e piscina e discoteca?;
• se existir uma conjunção na sequência, o significado da vírgula passa a ser o da
conjunção. No caso de existirem várias, o significado da vírgula é o da conjunção que a
segue à direita. Ou seja, perguntar O hotel Berna tem bar, piscina e discoteca ou
bar?, é o mesmo que perguntar O hotel Berna tem bar e piscina e discoteca ou bar?.
Fale-se agora dos elementos básicos de um SN: os nomes (substantivos). Supondo
que se tem um SN como o hotel Alfa, a fórmula LIL resultante será algo como
72
hotel(Alfa), isto é, a fórmula resultante é o produto da substituição da semântica do
nome próprio − Alfa − no primeiro argumento da fórmula que representa a semântica
do nome comum − hotel(_9). Assim, tem-se a Regra 35:
Regra 35 − Semântica dos Substantivos
S ‡ nc np {S (?np 1 ?nc)}
Apenas os determinantes numerais têm tratamento semântico nesta tese. Isto quer
dizer que todas as regras que têm Det do lado esquerdo (Det ‡ detd detp, Det ‡
art detp, …), têm {0} como semântica. Ou seja, não têm semântica atribuída (mesmo
que no dicionário, os determinantes tenham uma semântica associada). Assim, apenas as
regras relativas aos cardinais − as que têm DetN do lado esquerdo − têm uma semântica
não vazia associada: a semântica destas regras é a semântica do cardinal.
Regra 36 − Semântica de Sequências de Determinantes que incluem Numerais
DetN‡
DetN‡
DetN‡
DetN‡
detd card {?card}
deti card {?card}
art card {?card}
art detp card {?card}
As regras que têm Det do lado direito, não podem “pedir” a semântica destes
objectos (no caso de Det é 0):
Regra 37 − Semântica de Sequências com Determinantes não Numerais
N ‡ Det S {?S}
Resta agora explicar a regra em que entram os cardinais. Relembrando o operador
P, este transforma a semântica de um cardinal, que é uma constante, numa fórmula. Ou
seja, se se estiver a tratar o cardinal 10, tem-se que P10=EXACT(_9, 10). Assim, se
forem pedidos 10 bares, a fórmula que se quer obter é EXACT(bar, 10). Daí a regra:
Regra 38 − Semântica de Sequências com Determinantes Numerais
N ‡ DetN S {E (S (?S 1 PDetN) ?S}}
73
Mo d i f i c a d o r e s
Lembrando que existem vários tipos de modificadores do SN, apresenta-se a regra:
Regra 39 − Semântica do Sintagma Nominal com Modificador
SN ‡ N MOD {E (S (?N 1 ?MOD) ?N)}
Qual o seu significado? Ver-se-á mais adiante que se espera que a semântica de um
MOD (?MOD) seja uma fórmula com apenas uma variável livre, e que esta esteja no
primeiro argumento da fórmula. Deste modo, quando se calcula a semântica de N (?N)
e se substitui essa variável pela semântica encontrada (S (?N 1 ?MOD)), obtém-se
uma fórmula fechada. Então, essa fórmula estará pronta a ser associada à semântica de N.
Justifica-se assim a presença do operador E que leva a que semântica de SN seja dada pela
semântica de N.
Para melhor compreensão considere-se o exemplo do início desta secção, em que o
SP em Lisboa é analisado. A semântica deste SP (que também é um modificador do SN)
é em(_5, Lisboa). Se se pensar no SN Ritz de Lisboa, de acordo com esta regra, terse-á a fórmula de(Ritz, Lisboa) associada à constante Ritz que, por sua vez, é
devolvida como semântica deste SN.
As outras regras relativas aos modificadores são triviais: do lado direito só existe
um elemento e logo, a semântica de MOD é dada pela semântica desse elemento (por
exemplo, a semântica da regra MOD ‡ SP é {?SP}). As regras relativas à composição
de modificadores assemelham-se às regras de composição de sintagmas nominais. A única
excepção é o caso da composição dos modificadores aquando da inexistência de
conjunções: um SN composto é obtido com base nas conjunções e nas vírgulas. Isto é,
aceitam-se SNs como o Berna e o Alfa ou o Berna, o Alfa, mas não se aceitam como o
Berna o Alfa. No entanto isso não se passa com os modificadores, em que são aceites
expressões como com bar, com piscina ou com bar e com piscina ou ainda com bar com
piscina. Considera-se que entre sequências de modificadores sem os “separadores
oficiais”, se subentende a conjunção copulativa e (e dai o uso do operador &).
Regra 40 − Semântica da Composição de Modificadores
MOD ‡ MOD1 MOD2 {& (MOD1 MOD2)}
MOD ‡ MOD1 Pcomp MOD2 {C (?Pcomp ?MOD1 ?MOD2)}
74
No exemplo que se segue observa-se a semântica de várias sequências de
modificadores.
Exemplo 4.15 − Composição de Modificadores do SN
1. hotel grande com piscina. Ë &(grande(_9), com(_95, piscina))
2. hotel grande, em Lisboa Ë virgula( em(_39, Lisboa),
grande(_9))
3. hotel grande e em Lisboa Ë &( em(_39, Lisboa), grande(_9))
S i nt agm a Ver bal
A regra para os sintagmas verbais transitivos e intransitivos é trivial:
Regra 41 − Semântica para Sintagmas Verbais com Verbos Transitivos e Intransitivos
SV ‡ VB {?VB}
Como a propriedade da transitividade é usada a nível da frase, a semântica dos SVs
transitivos e intransitivos é discutida na secção que trata a semântica das frases.
Exemplo 4.16 − Verbos Intransitivos e Transitivos
1. O museu dos azulejos fechou? Ë fechou(museu-dos-azulejos)
2. O Ritz tem piscina Ë ter(Ritz, piscina)
Seguem-se os verbos copulativos. Na realidade, o facto destes também se chamarem
verbos de significação indefinida [Barros−61], torna claro a sua pouca importância
semântica: são verbos que necessitam de um nome ou expressão para que o seu sentido
seja compreensível. Em oposição, tem-se os verbos de significação definida (cantar,
correr, …). De notar que há verbos que se usam quer como copulativos, quer como verbos
de significação definida.
Deste modo é compreensível a regra para verbos copulativos (COP=s), em que o
verbo é ignorado na construção semântica:
75
Regra 42 − Semântica para Sintagmas Verbais com Verbos Copulativos
SV
‡
v
{?PSN1}[COP=s,TR=i]
PSN1
O
Ritz
é
hotel(Ritz)
um
hotel?
Ë
Finalmente chega-se às construções auxiliares. Apenas a semântica dos verbos
principais é tida em conta. Os auxiliares são simplesmente ignorados. Também um
pronome que apareça numa sequência VB, não representa um valor semântico a
considerar.
Exemplo 4.17 − Semântica de um Sintagma Verbal constituído por vários verbos
1. Posso nadar? Ë nadar(_9)
2. Posso ir comer queijadas? Ë comer(queijadas)
3. Onde é que se pode comer umas alheiras? Ë comer(alheiras)
Deste modo, surgem as regras:
Regra 43 − Semântica para Sequências de Verbos
VB ‡
VB ‡
VPRIN
VB ‡
VB ‡
VAUX VPRIN {?VPRIN}
VAUX1 VAUX2 VPRIN {?VPRIN}
‡ v {?v}
pronpr VB {?VB}
é que VB {?VB}
S i n t a g m a P r e p o si c i o n a l
Como já se tinha viu, no exemplo do início desta secção, quando se está em
presença de um SP, substitui-se a semântica do SN que o constitui, no segundo argumento
da semântica da preposição que o introduz:
Regra 44 − Semântica do Sintagma Preposicional Simples
SP ‡ prep SN {S (?SN 2 ?prep)}
76
em
Lisboa
Lisboa)
Ë
em(_8,
Mas um SP também pode ser escrito com base em cardinais inseridos num SADV
ou ligados à preposição que inicia o SP. No caso de ser constituído por um SADV, não
surgem problemas, pois usa-se a semântica do SADV para guardar a informação
transportada pelo cardinal. Por exemplo, na frase Quais são os campos de golfe com
mais de 18 buracos, o SP com mais de 18 buracos escreve-se, em LIL, na forma
com(_9, buracos), SUP(buracos, 18), pois o SADV mais de 18 buracos tem
como semântica buracos − é especificado por SUP(buracos, 18) − como se
poderá observar na subsecção dedicada aos sintagmas adverbiais.
Regra 45 − Semântica do Sintagma Preposicional com Sintagma Adverbial
SP ‡ prep SADV {S (?SADV 2 ?prep)}
Contudo, quando não há advérbios envolvidos, gera-se um pequeno problema: é
necessário ter em conta a preposição exacta que aparece antes do cardinal, de maneira a
ter informação sobre o tipo de relação que se tem entre o cardinal e o SN que o segue (vd
Tabela 1). Essa informação não pode estar guardada na preposição, porque se perde a
semântica da preposição como elo de ligação. Ou seja, se se quisesse guardar o cardinal
num dos argumentos da fórmula que representa a preposição, deixaria de ser possível
guardar neste argumento a informação que geralmente se guarda: a informação sobre os
nomes que a preposição liga.
Prep
Exemplo
Significado atribuído
a
quartos a 10 contos
até
com
quartos até 10 contos
golfe com 10 buracos
de
quartos de 10 contos
desde
em
quartos desde 10 contos
quarto em 10 contos
entre
para
preço entre 10 e 20
contos
quartos para 10 contos
por
quarto por 10 contos
*aproximadamente 10 contos EXACT(_X,10
)
INF(_X,10)
máximo 10 contos
EXACT(_X,10
exactamente 10 buracos
)
*aproximadamente a
10 EXACT(_X,10
)
contos
SUP(_X,10)
a partir de 10 contos
*aproximadamente 10 contos EXACT(_X,10
)
SUP(_X,10)
o óbvio
INF(_X,20)
*aproximadamente 10 contos EXACT(_X,10
)
*aproximadamente 10 contos EXACT(_X,10
)
23
Tabela 1 − Influência das preposições sobre os cardinais
77
LIL
Assim, a solução encontrada para este problema foi a de criar a Regra 46, em que
entra o operador P, e fazer um pequeno processamento interno. Ou seja, semântica dos
cardinais, quando se usa o operador P é EXACT(_8,card); depois, de acordo com a
preposição, a fórmula manterá o símbolo de predicado EXACT ou não. Isto é, é feito um
processamento interno, onde o predicado é mudado de acordo com a preposição em jogo
(veja-se a última coluna da Tabela 1). Repare-se que, nessa tabela, surgem os predicados
EXACT para preposições cujo valor expressivo é mais o de um aproximadamente (daí o
asterisco). Por enquanto EXACT, SUP e INF são as primitivas em uso.
Regra 46 − Semântica do Sintagma Preposicional com Cardinais
SP ‡ prep card S {E(S(?S 1 Pcard) S(?S 2 ?prep))}
De resto, faltam as regras responsáveis pela geração de SPs precedidos de vírgula
e/ou a precederem estas. Estas regras são perfeitamente “inofensivas” e a sua semântica
não requer explicações:
Regra 47 − Semântica do Sintagma Preposicional com Pontuação
SP ‡ punct SP {?SP}
SP ‡ SP punct {?SP}
SP ‡ punct SP punct
{?SP}
Em Lisboa, que hotéis têm bar?
Indique-me um hotel que tenha bar, em
Lisboa.
Um hotel, em Lisboa, que tenha bar.
S i nt agm a Adj ect i val
Resumindo o que se disse dos SADJ no capítulo 3: os SADJ podem aparecer antes
ou depois do nome que caracterizam (O lindo hotel amarelo); podem aparecer a seguir
a um verbo copulativo que exija a sua presença, tendo neste caso a função de predicativo
do sujeito (Ritz é grande?); podem surgir ainda seguidos de uma preposição (aberto ao
domingo).
Se um SADJ se seguir a um nome, pode-se considerá-lo como um modificador,
como um MOD. Relembrando a secção dedicada aos adjectivos, a semântica destes é
geralmente dada por uma fórmula com um argumento. Deste modo, a semântica do N que
78
o SADJ vai qualificar vai ocupar esse argumento. Por exemplo, lindo hotel dá origem à
LIL lindo(_87),
hotel(_87). Comece-se pelas regras dos SADJ que se
encontram antes do nome.
Regra 48 − Semântica dos Sintagmas Adjectivais que antecedem um Nome
N ‡ SADJAUX S {E (S (?S 1 ?SADJAUX) ?S)}
N ‡ Det SADJAUX S {E (S (?S 1 ?SADJAUX) ?S)}
N ‡ DetN SADJAUX S {E(E(S(?S 1 PDetN) S(?S 1 ?SADJAUX))
?S)}
SADJAUX ‡ SADJ {?SADJ}
SADJAUX ‡ adj Pcomp SADJAUXN {C(?Pcomp ?adj ?SADJAUX))}
Resta tratar dois casos: no primeiro apenas existe um termo do lado direito da regra
(SADJ ‡ adj), logo a regra semântica é trivial; no segundo, tratam-se os SADJ em
que o adjectivo tem dois argumentos. Aqui a semântica do SN é substituída no segundo
argumento do adjectivo (adj) que compõe o SADJ. Ou seja, questões como O Museu de
Arte Antiga está aberto no
Domingo,
dão
origem a
fórmulas LIL como
aberto(Museu-Arte-Antiga, domingo). Isto porque este SADJ também é
um modificador de um SN, o que quer dizer que a semântica do SN que modifica (neste
caso Museu de Arte Antiga), vai ser substituído no primeiro argumento do SADJ.
Regra 49 − Semântica dos Sintagmas Adjectivais que contêm uma Preposição
SADJ ‡ adj prep SN {S (?SN 2
?adj)}
Museus abertos ao sábado
S i nt agm a Adver bi al
Considerando o SADV até 5 contos, tem-se que a semântica de até é a fórmula
INF(_9, _77), que a semântica de 5 é a constante 5 e que a semântica da palavra
contos é a constante conto. A expressão LIL INF(contos,
5), parece uma
representação razoável deste sintagma. O mesmo se passa com SADV como mais do que
2 piscinas, que também é bem representado pela fórmula SUP(piscinas, 2). Deste
modo aparecem as regras:
79
Regra 50 − Semântica dos Sintagmas Adverbiais
SADV ‡ adv card SN {E(S (?card 2 S(?SN 1 ?adv)) ?SN)}
SADV ‡ la card SN {E(S (?card 2 S(?SN 1 ?la)) ?SN)}
O r ação S u b o r d i n ad a Rel at i v a
O pronome relativo que introduz uma oração relativa substitui um nome da oração
principal. Como se considera que uma oração relativa pode ter uma estrutura frásica
qualquer, é a semântica desta estrutura que interessa para definir a semântica da oração
relativa. Tal como acontece com os Pint, também os Prel não têm semântica
associada:
Regra 51 − Semântica das Orações Relativas
REL ‡ Prel F {?F}
Prel ‡ pronr {0}
Prel ‡ prep pronr {0}
Or ação S ubor di nada I nf i ni t i va
Da oração infinitiva apenas interessa destacar a sequência de verbos que a
constituem. A regra semântica é óbvia.
Regra 52 − Semântica das Orações Infinitivas
INF ‡ prep VB {?VB}
F r a se
Comece-se pelas formas mais gerais das frases. Muitas não são apresentadas, pois as
regras semânticas associadas são triviais. Como já se sabe, os pronomes e os advérbios
interrogativos não têm semântica associada. Ou seja, a regra semântica associada às
regras que têm Pint do lado esquerdo é {0}.
Nas frases interrogativas indirectas, apenas a oração subordinada interrogativa é
guardada. Assim, se alguém apresentar a frase Gostava de saber qual é a duração dos
passeios de barco do rio Douro, apenas é considerada a oração qual é a duração dos
passeios de barco do rio Douro.
80
Regra 53 − Semântica das Interrogativas Indirectas
FintI ‡ F1 FintD {?FintD}
FintI ‡ F1 se F {?F}
Os verbos transitivos têm, em princípio, dois argumentos: o primeiro para o
sujeito, o segundo para o complemento directo. Comece-se pelas regras relativas ao
complemento directo (a primeira é trivial):
Regra 54 − Semântica do Complemento Directo
CD ‡ SN {?SN}
CD ‡ prep SN {?SN}
CD ‡ SADV {?SADV}
A regra que coloca o complemento directo no segundo argumento do verbo,
funciona muito bem para frases como O Berna tem bar? (ter(Berna, bar)), em
que o sujeito é um objecto bem definido. No entanto, frases como Indique-me um bar já
a substituição não é tão feliz pois o sujeito da oração é a pessoa que faz a pergunta, e não
é adequada a sua substituição no primeiro argumento da fórmula que representa a
semântica do verbo indicar.
Regra 55 − Semântica para Frases com Sintagmas Verbais com Verbos Transitivos Directos
F ‡ SN1 SV CD {E (S (?CD 2 S (?SN1 1 ?SV))?SN1)}
F ‡ SV CD {E (S (?CD 2 ?SV)?CD)}
Os verbos intransitivos têm um argumento no qual cabe o sujeito da frase.
Considerem-se os seguintes exemplos:
81
Exemplo 4.18 − Frases com Verbos Intransitivos
1. Quantos rios nascem em Portugal? Ë nascer(_75),
rio(_75),
em(_75, Portugal)
2. Onde existe um hotel barato? Ë barato(_32),
hotel(_32),
existir(_32)
3. Praias com piscina, existem? Ë com(_67, piscina), praia(_67),
existir(_67)
4. Existe, em Lisboa, um hotel barato? Ë barato(_32), hotel(_32),
existir(_32), em(_32, Lisboa)
5. Em Lisboa, pode-se caçar? Ë caçar(_8), em(_8, Lisboa)
6. Chove muito no Alentejo? Ë chover(_9), muito(_9), em(_9,
Alentejo)
Estas frases escrevem-se com as regras que se seguem:
Regra 56 − Semântica das Frases com Verbos Intransitivos
F ‡ SN1 SV MOD {E(E(S (?SN1 1 ?MOD) S (?SN1 1 ?SV))
?SN1)}
F ‡ SV SN1 {E (S (?SN1 1 ?SV) ?SN1)}
F ‡ SN1 SV {E (S (?SN1 1 ?SV) ?SN1)}
F ‡ SV SP SN1 {E (E(S (?SN1 1 ?SV) S(?SN1 1 ?SP)) ?SN1)}
F ‡ SV {?SV}
F ‡ SV MOD {S (?SV 1 ?MOD)}
Passe-se agora aos verbos copulativos. A semântica da frase O hotel Berna está
aberto? é a expressão LIL hotel(Berna), aberto(Berna, _66). A regra
apenas tem de substituir o resultante do PSN1 − a constante Berna, pois a fórmula
aberto(Berna, _66) é guardada como especificação da constante Berna − no
SN1 hotel(_9).
Regra 57 − Semântica das Frases com Verbos Copulativos
F ‡ SN1 SV {E (S (?SN1 1 ?SV) ?SN1)}
F ‡ SN SN1 SV {E (S (?SN1 1 S (?SN 2 ?SV)) ?SN1)}
F ‡ SN SV SN1 {E (S (?SN1 1 S (?SN 2 ?SV)) ?SN1)}
Finalmente falta tratar o caso do SP constituinte extranuclear da frase (Em
Lisboa, o Ritz tem piscina?, Quais são os hotéis com piscina, em Lisboa?):
82
Regra 58 − Semântica do Sintagma Preposicional constituinte extranuclear da frase
Frase ‡ SP Frase {S (?Frase 1 ?SP)}
Frase ‡ Frase SP {S (?Frase 1 ?SP)}
4 . 6 F a l h a s d a An á l i s e S e m â n t i c a
O sucesso da análise sintáctica não implica o sucesso da análise semântica. Com
efeito, existem árvores geradas durante a análise sintáctica que não originam uma
expressão LIL. Uma das possíveis causas do insucesso semântico é o Modelo Conceptual.
Outra causa poderá ser a ocorrência de um problema de substituições. Ambas as causas
estão em foco nas secções seguintes.
4 . 6 . 1 M o d e l o C o nc e p t ua l
Nesta secção é apresentado um exemplo em que duas frases diferentes são geradas
pelas mesmas árvores sintácticas, sendo através de árvores diferentes que se obtém a
expressão LIL desejada para representar a semântica de cada uma. É o Modelo
Conceptual que desambigua este caso. Considerem-se então as seguintes frases: a)
Indique-me um hotel com piscina que tenha água quente; b) Indique-me um hotel com
piscina que tenha suite nupcial.
Tem-se que em termos sintácticos, a) e b) são idênticas: ambas vão dar origem a
árvores com a mesma estrutura. No primeiro caso, presume-se que a REL que tenha
água quente se refere ao nome piscina, nome do SP com piscina, e não ao nome hotel
(supõe-se que ninguém quer saber se um hotel tem água quente ou não, porque em
princípio todos os hotéis o têm). No segundo caso, a REL que tenha suite-nupcial, tem a
função de modificador do nome hotel e não se refere ao nome piscina (as piscinas não
têm suites nupciais). Isto é, as árvores geradas que têm as regras semânticas correctas
associadas são para a) a árvore da Figura 4.2, e para b) a da Figura 4.3:
83
SN
N
MOD
hotel
SP
prep
SN
com
N
MOD
piscina
REL
que tenha água quente
Figura 4.2 − Árvore gerada pelo SN hotel com piscina que tenha água quente
SN
N
hotel
MOD
MOD1
MOD2
SP
MOD
prep
SN
REL
com
piscina
que tenha suite nupc ial
Figura 4.3 − Árvore gerada pelo SN hotel com piscina que tenha suite nupcial
Antes de apresentar as expressões em LIL geradas para estas duas frases,
introduzem-se, de um modo informal, as estruturas lógicas que se pensa traduzirem da
melhor maneira a semântica dos seus constituintes. Comece-se então, sem perda de
generalidade, por considerar que água quente e suite nupcial são termos compostos:
água-quente e suite-nupcial. A palavra hotel dá origem à fórmula hotel(_5) e a
palavra piscina à constante piscina (mais uma vez se considera piscina como
constante); o verbo ter, por sua vez, tem a sua expressão em LIL na fórmula
ter(_9, _44). Como em a) se pede uma piscina com água quente, e em b) um hotel
com suite nupcial, uma maneira de representar estes dois casos, será através das
84
expressões LIL: ter(piscina,
água-quente)
e
ter(_5,
suite-
nupcial), respectivamente.
Relembrando que a variável _5 representa os hotéis que verificam as condições
pedidas, considere-se o SP com piscina. Em ambos os caso é pedido um hotel com
piscina. Então deve ser fácil prever a representação deste SP: ter(_5, piscina).
Finalmente apresenta-se a LIL desejada como resultado da análise semântica do SN
hotel com piscina que tenha água-quente:
hotel(_5)
com(_5, piscina)
ter(piscina, água-quente)
e do SN hotel com piscina que tenha suite-nupcial:
hotel(_5)
com(_5, piscina)
ter(_5, suite-nupcial)
Se se considerar a geração da primeira frase pelas regras sintácticas apresentadas na
geração da segunda frase, a lista de fórmulas em LIL será a seguinte:
hotel(_5)
com(_5, piscina)
ter(_5,água-quente)
ou seja, pedem-se os hotéis (representados pela variável _5), que tenham água quente.
O mesmo se passa se se considerar a geração da segunda frase com as regras da
primeira, pois obtém-se:
hotel(_5)
com(_5, piscina)
ter(piscina, suite-nupcial)
e assim pedem-se as piscinas com suite-nupcial.
Como no Modelo Conceptual [Reis & Mamede−96b], não se associa a palavra
água-quente a hotel, i.e., água-quente não faz parte do domínio de objectos que um
hotel possa ter, e como também não há nenhuma relação entre as palavras piscina e
suite-nupcial, esta listas são reprovadas durante a análise semântica. Deste modo
compreende-se a importância do Modelo Conceptual: é este que vai validar apenas as
fórmulas em LIL que realmente interessam, suprimindo os resultados conceptualmente
errados.
85
4 . 6 . 2 P r o b l e m a s d e S ub s t i t ui ç ã o
Relembre-se a frase A piscina Lido, na Madeira, está aberta em Abril?, e o facto
da palavra piscina se encontrar no dicionário com zero e um argumentos. Foque-se a
atenção no SN A piscina Lido e na produção:
S ‡ nc np {S (?np 1 ?nc)} []
Esta regra, indica que a semântica do nome próprio deve ser substituída na
semântica do nome comum. No caso de se considerar a palavra piscina com um
argumento, gera-se, com a regra semântica, a fórmula piscina(Lido). Mas suponhase que se está a trabalhar com a palavra piscina com semântica piscina, i.e., com zero
argumentos. Neste caso tenta-se substituir a constante Lido no primeiro argumento da
constante piscina, o que é impossível. Deste modo, a análise semântica da árvore que
tem a palavra piscina como uma constante, falha.
4 . 7 Al g o r i t m o d e An á l i s e S e m â n t i c a
Ao longo deste capítulo foram feitas referências ao algoritmo de análise semântica,
sem que o mesmo tenha sido formalmente apresentado. Nesta secção pretende-se fazer
um ponto da situação, rebatendo eventualmente certos passos do algoritmo, já descritos
anteriormente. A ilustração do algoritmo é feita através de um exemplo, onde se foca a
função de cada um dos operadores semânticos descritos na secção 4.5.1.
Como já não é novidade, uma frase sintacticamente correcta dá origem a uma ou
mais árvores sintácticas. Como não se deseja entrar em pormenores de implementação,
tome-se uma árvore sintáctica como uma abstracção de uma estrutura de objectos ligados
entre si, criados com base nas regras sintácticas da gramática, e que, por isso, contém
informação semântica, pois todas as regras sintácticas têm uma regra semântica
associada.
Uma árvore resultante da análise sintáctica da frase O hotel Tivoli tem duas
piscinas e discoteca? é representada na Figura 4.4. Pede-se que esta figura seja tida em
atenção ao longo desta secção, pois serve de base às explicações sobre o algoritmo.
86
Frase
{?Fint}
Fint
{?FintEco}
FintEco {?F}
Ponto 1
F
{E (S (?CD 2 S (?SN1 1 ?SV)) ?SN1)}
Ponto 3
SV
{?VB}
SN1
SN
Ponto 2
{?SN}
VB
{?N}
v
{?S}
S
{0}
art
O
{?np}
np
Pcomp
CD
&(_45, _9)
{?SN}
ter(_8, _89) N
e
SN
{E(S (?S 1 PDetN)) ?S)}
tem
{?N}
Ponto 4
DetN
S
N
{?card}
{?nc}
{?S}
Tivoli
Tivoli
{C (?Pcomp ?SN ?CD)}
SN
{?v}
N
Det
CD
{?N}
card
2
nc
S
duas
piscinas
piscina
{?nc}
nc
discoteca
discoteca
Figura 4.4 − Ilustração do algoritmo de Análise Sintáctica
O algoritmo de análise semântica analisa uma árvore de cima para baixo, partindo
da regra do topo, i.e., partindo das regras que têm o símbolo inicial (Frase) do lado
esquerdo (Frase ‡ Fint). Ora a semântica da primeira regra é ?Fint. Como o
operador ? devolve a semântica do argumento, há que descobrir a semântica de Fint.
De novo sem querer entrar em detalhes de implementação, saiba-se que se procura a regra
que introduziu na árvore, durante o algoritmo de Earley, a regra em análise Frase ‡
Fint, e, caso esta não tenha Fint do lado esquerdo, é considerada mal definida, e a
análise termina imediatamente. Caso contrário − e descendo um patamar na árvore −
analisa-se a regra que tem Fint do lado esquerdo Fint ‡ FintEco. E assim
sucessivamente (Figura 4.4), até se atingir o Ponto 1. Aqui a análise complica-se, pois
torna-se necessário calcular ?CD, ?SN1 e ?SV, e ainda combinar os resultados com base
nos operadores S e E.
Comece-se por SN1 e tenha-se em atenção o ramo esquerdo da sub-árvore da
Figura 4.4. A análise é trivial em todos os níveis e a descida na árvore termina quando se
atinge a regra terminal np ‡ Tivoli. A semântica desta regra é a semântica da
palavra Tivoli, que é a constante Tivoli. O processo que se segue é uma ascensão pela
árvore, onde se transportam os resultados obtidos no níveis inferiores para os níveis mais
87
acima. Ou seja: ?SN1=?SN=?N=?S=?np=tivoli, calculando-se assim a semântica
do SN1.
Uma pequena nota para a regra Det ‡ art {0} (Ponto 2): a escolha do
operador 0 para semântica desta regra deve-se ao facto da semântica para os artigos não
estar definida, e, deste modo, se na semântica da regra N ‡ Det S, entrasse ?Det,
como ?Det=?art=0, a análise semântica terminaria sem sucesso.
Voltando de novo ao Ponto 1, inicia-se ao cálculo de ?SV. Pelo que já se explicou,
não se acrescenta nada de novo, e, sendo a semântica da palavra tem a fórmula
ter(_8, _89), tem-se que: ?SV=?VB=?v=ter(_8, _89)
Resta calcular a semântica de CD. Para isso, e de acordo com o Ponto 3, há que
calcular ?SN, ?Pcomp e ?CD (de um nível abaixo).
Começando por ?SN, como ?SN=?N, atinge-se o Ponto 4, e passa-se a explicar o
operador P. A semântica de card é a constante 2. Assim, se em vez de PDetN
estivesse ?DetN, ter-se-ia ?DetN=2. Mas o operador P, a partir da constante 2, gera a
fórmula EXACT(_3, 2), i.e., PDet=EXACT(_3, 2).
Entretanto, o cálculo de ?S é óbvio: a constante piscina. Há então que usar o
operador S, pois no Ponto 4 é pedida a substituição de ?S no 1º argumento de PDetN
(S (?S 1 PDetN)), ou seja, é pedida a substituição da constante piscina no 1º
argumento da fórmula EXACT(_3, 2), obtendo-se EXACT(piscina, 2). E só
falta explicar o operador E para que esteja terminado o cálculo da semântica da regra
N ‡ DetN S (do Ponto 4). Ora o operador E guarda o primeiro argumento como
especificação do segundo, e devolve este como semântica da regra. Assim, esta regra tem
como semântica a constante piscina, que passa a ter internamente associada a
fórmula EXACT(piscina, 2). Deste modo, e subindo de novo na árvore, obtém-se
?SN=?N=piscina em que ESPEC(piscina)=EXACT(piscina, 2).
Voltando de novo ao Ponto 3, o cálculo de ?Pcomp não oferece dificuldade −
?Pcomp=&(_45, _9) −, e o de ?CD também não − ?CD=discoteca. Surge então
o operador C, que constroi a fórmula &(piscina,
discoteca), em que
ESPEC(piscina)=EXACT(piscina, 2), substituindo as duas constantes nos
argumentos da fórmula &(_45, _9).
Calculou-se então ?CD, do Ponto 1, e pode-se agora, finalmente, calcular a
semântica desta regra: fazendo a primeira substituição − S (?SN1 1 ?SV) − obtém-se
a fórmula ter(Tivoli, _89); com a segunda substituição, e graças a um
processamento interno, substituindo a fórmula &(piscina,
segundo argumento de ter(Tivoli,
discoteca), no
_89), chega-se a: &(
88
ter(Tivoli,
piscina),
ter(Tivoli,
discoteca)),
em
que
ESPEC(piscina)=EXACT(piscina, 2).
Como ainda há um operador E no Ponto 1, guarda-se esta última fórmula como
especificação do ?SN1, devolvendo-se como semântica da regra a constante Tivoli.
Ou seja, ?F=Tivoli, em que ESPEC(Tivoli)=&( ter(Tivoli, piscina),
ter(Tivoli, discoteca)) e ESPEC(piscina)=EXACT(piscina, 2).
Continuando a subida na árvore, atinge-se de novo a regra que tem o símbolo inicial
do lado esquerdo, verificando-se ?Fint=?FintEco=?F. Depois, antes de acabar a
análise semântica, desdobram-se as especificações em conjunções, obtendo-se como
resultado da análise semântica desta frase, a LIL:
hotel(Tivoli), ter(Tivoli, piscina),
EXACT(piscina,
2),
ter(Tivoli, discoteca).
Note-se
que
a
partir
da
constante
Tivoli,
se
gerou
a
fórmula
hotel(Tivoli), com base no seu tipo. Este processamento obriga a que se obtenha,
na expressão LIL final, um conjunto de fórmulas e nunca um termo.
89
5 E XT E NS ÃO
A O UT R AS L Í NG UAS
5.1 I nt r odução
O Espanhol, o Francês e o Inglês são as três línguas às quais se pretende estender o
sistema Edite, nesta fase inicial do projecto. A extensão à língua Francesa já está a ser
feita, faltando alguns refinamentos para que seja dada como encerrada. Para este trabalho
foi necessário um especialista de expressão francófona, pois era fundamental integrar no
projecto alguém que dominasse totalmente a língua Francesa.
De seguida descreve-se o processo de extensão (5.2), sendo explicado nas secções
seguintes o trabalho que se desenvolveu em torno do ficheiro de afixos (5.3), dicionário
(5.4) e gramática (5.5).
5.2 O Pr oc e s s o de Ext e ns ã o
O processo de extensão do sistema a outras línguas poderia ter entrado no domínio
da Tradução Automática − tradução de uma língua para outra, feita por computador.
Assim, poder-se-ia ter pensado em transformar em Português, as frases escritas numa das
línguas estrangeiras, e depois deixar o sistema evoluir normalmente (vd. Figura 5.1).
Frase em Espanhol
Frase em Espanhol
Frase em Francês
Frase em Francês
Tradução
Automática
Frase em
Frase em
Português
Português
Frase em Inglês
Frase em Inglês
Figura 5.1 − Tradução Automática das outras línguas para o Português
90
Edite
Porém, o processo que se delineou para fazer a extensão é muito mais fácil e não
obriga a traduções. No entanto, apresentam-se as duas abordagens fundamentais em
Tradução Automática, pois o processo que se escolheu baseia-se numa delas. Assim,
segundo [Santos−89], existe o método de transferência − a tradução é feita com base
no estudo das diferenças e semelhanças das línguas em questão − e um outro método, no
qual se usa uma linguagem independente das línguas em causa− a interlíngua − para
representar uma das línguas e, com base na mesma representação, gerar a outra (vd.
Figura 5.2).
TRANFERÊNCIA:
Frase na
Frase na
Língua A
Língua A
Frase na
Frase na
Língua B
Língua B
INTERLÍNGUA:
Análise
Frase na
Frase na
Língua A
Língua A
Geração
Interlíngua
Interlíngua
Geração
Frase na
Frase na
Língua B
Língua B
Análise
Figura 5.2 − Abordagens à Tradução Automática
Ora o sistema Edite ao criar uma forma LIL a partir de uma frase em LN, está a
criar uma representação independente da língua em questão (a LIL aparece com termos
em Português, pois a semântica que se atribuiu às palavras é em Português; no entanto,
podia ser em qualquer outra língua). Então, pode dizer-se que se trabalha com uma
interlíngua, apesar de não ser usada para a geração de outra língua. Ou seja, com base
numa das abordagens da Tradução Automática, e sem traduzir uma língua na outra, chegase ao fim da análise semântica com uma tradução em LIL, universal e independente da
língua, da frase em jogo. Isto porque se permite uma análise morfológica, sintáctica e
semântica completamente independente para cada idioma (os algoritmos são obviamente
os mesmos, o que varia são os dicionários, gramáticas, …).
Como em termos de programação as alterações a fazer são pontuais (no caso do
Francês apenas o tratamento das contracções de preposição teve de ser revisto), todo o
91
esforço da extensão cai sobre módulos de dados exteriores ao sistema, em particular sobre
o ficheiro de afixos, dicionário e gramática.
5 . 3 F i c h e i r o d e Af i x o s
O especialista, depois de ser confrontado com a sintaxe do ficheiro de afixos, é o
responsável pela criação de um novo ficheiro, com as regras de sufixação e prefixação
para a língua em causa.
No caso da língua Francesa, apesar da simplicidade da definição dos sufixos e
prefixos, surgiu um problema. Como já se referiu anteriormente, é no ficheiro de afixos
que se definem os caracteres que podem compor palavras e os que apenas funcionam
como separadores. Em Francês, os artigos le e la são chamados articles élidés quando as
vogais e e a são substituídas por um apóstrofo [Grevisse−69]. Tal sucede quando a seguir
aos artigos surge uma palavra começada por uma vogal ou por um h mudo (h muet)
(escreve-se l’hôtel e não le hôtel). A primeira hipótese foi considerar o apóstrofo como
um separador (aliás como se faz para o Português), e l como um artigo. Só que esta
decisão levanta outro problema: a palavra aujourd’hui é constituída por um apóstrofo
que se for tomado por um separador, o Jspell, ao fazer o reconhecimento das palavras,
separará aujourd’hui em aujourd e hui. A solução para este problema foi considerar o
apóstrofo como separador e esta palavra como um termo composto aujourd-hui. Como
este caso é raro (senão único) na língua Francesa, tornou-se um problema fácil de
resolver.
5 . 4 Di c i o n á r i o
Em relação às línguas estrangeiras, o objectivo é que o sistema responda a
perguntas orientadas para apenas três tipos de recursos turísticos: golfe, estabelecimentos
hoteleiros e museus. Deste modo, foi construído um dicionário mais pequeno que o usado
para a língua Portuguesa, com vocabulário relativo a esses três domínios. É da
responsabilidade do especialista a sua tradução, mas é de alguma conveniência que as
categorias gramaticais usadas sejam as Portuguesas, o que lhe permitirá usar algumas
macros já definidas. No entanto, tem sempre que ter em conta o facto de uma macro usar
ou não a palavra ID (vd. Apêndice B), como se pode observar no Exemplo 5.1.
92
Exemplo 5.1 − Reutilização das macros e a semântica ID
Supondo que se querem traduzir as seguintes entradas:
instrutor/#professor/p/
professor/#professor/p/
onde a macro se define por:
#professor/CAT=nc,SEM=professor|0,TIPO=S//
basta ao especialista substituir professor por professeur e instrutor por
instructeur, mantendo-se a macro:
#professor/CAT=nc,SEM=professor|0,TIPO=S//
instructeur/#professor/p/
professeur/#professor/p/
No entanto, se a macro fosse
#professor/CAT=nc,SEM=ID|0,TIPO=S//
já tal não podia acontecer, pois a semântica de professeur passava a ser o termo
constante professeur e a de instructeur a constante instructeur e o que se
deseja é que a semântica de professeur seja a constante professor e a de instructeur a
constante instrutor. Neste caso, o especialista teria que escrever as entradas
completas:
instructeur/CAT=nc,SEM=instrutor|0,TIPO=S/p/
professeur/CAT=nc,SEM=professor|0,TIPO=S/p/
O especialista deve ainda ser alertado para dois tipos de problema que podem
ocorrer, e que são também apontados em [Santos−89]:
• uma palavra de uma língua pode não ter um correspondente directo noutra língua, i.e.,
pode precisar de mais do que uma palavra na outra língua para a exprimir (por
exemplo, em Inglês have fun tem a tradução em Português divertir-se).
• nem sempre há equivalência na partição de campos semânticos, ou seja, “… a
partição de um campo semântico numa dada língua é específica dessa própria língua.”
[Santos−89] (por exemplo, em Inglês as palavras like e love têm o seu significado
“entre” o significado das palavras em Português apreciar, gostar e amar).
5 . 5 Gr a m á t i c a
Para cada idioma que funcionará neste sistema, haverá uma gramática diferente,
tanto a nível de regras sintácticas, como de regras semânticas.
Cada língua tem a sua sintaxe e, se por exemplo, o Português e o Francês têm
estruturas semelhantes, já a sintaxe do Inglês é completamente diferente. Em “Astérix e
os Bretões”, Goscinny e Uderzo [Goscinny & Uderzo−90] parodiam esse facto (vd.
Figura 5.3).
93
Figura 5.3 − A Sintaxe da Língua Inglesa em foco num livro de Astérix
As regras sintácticas da gramática também são da responsabilidade do especialista.
Há uma necessidade óbvia de o enquadrar no tipo de frases para os quais se deseja a
gramática e explicar-lhe as regras do Português, não tanto para que construa regras
semelhantes, mas para que compreenda o nível de pormenor que se deseja atingir.
Na escrita das regras semânticas, o especialista funciona apenas como auxiliar.
94
95
6 C O NC L US ÃO
6.1 I nt r odução
Um sistema como o Edite nunca estará concluído, não sendo só a complexidade da
LN a contribui para este facto: a evolução constante da língua, com novas palavras e
novas expressões sempre a surgirem, obrigará a uma manutenção contínua do sistema.
Na secção que se segue descreve-se a situação actual do sistema, em 6.3 foca-se o
trabalho mais imediato a realizar e em 6.4 abordam-se ideias para um futuro mais
distante, que um dia se espera poder pôr em acção. A última secção deste capítulo será
para tecer os comentários finais a este trabalho.
6 . 2 S i t u a ç ã o Ac t u a l
O sistema Edite não é apenas um projecto teórico e já são muitos os tipos de
perguntas a que este sistema responde, avizinhando-se a data em que passará a ser
livremente utilizado − não imediatamente pelo grande público mas por utilizadores da
Internet. Deste modo, vão-se descobrir as palavras e expressões mais usadas, os erros mais
frequentes e a informação mais requisitada. Dessa experiência − onde o Edite revelará as
suas fraquezas − espera-se obter muita informação, pois as perguntas não respondidas
serão armazenadas e, numa actualização do sistema, a informação que permite responder
a essa perguntas incorporada no sistema. Espera-se assim que o sistema se torne cada vez
mais competente e útil.
A avaliação do sistema ainda pode ser feita em termos de: a) portabilidade −
reutilização do sistema noutro domínio de aplicação, sem que para isso seja necessário
alterar o programa (não se discute aqui a portabilidade desta ILN para outro sistema);
b) extensibilidade − facilidade de aumento das capacidades do sistema sem que haja
96
necessidade de alterar o que já foi feito; c) eficiência − perguntas correctamente
respondidas.
Uma das grandes preocupações no desenvolvimento deste sistema foi a de obrigar
os módulos que o compõem a serem o mais independentes possível e, em particular,
distinguir o motor do sistema − os algoritmos que compõem o Edite − dos dados −
ficheiro de afixos, dicionário, gramática e modelo conceptual. Isto é, os algoritmos são
gerais e independentes dos dados do sistema e, deste modo, uma mudança de domínio
obrigará a alterações nos ficheiros de dados, mas não no código do sistema. Deste modo
pode dizer-se que o sistema é portável.
Também se pode dizer que o sistema é facilmente extensível − o que já se observou
aquando da extensão do sistema para o Francês − e que as próximas extensões do sistema
incidirão sobre o alargamento do dicionário e da gramática bem como sobre a
incorporação de nova funcionalidade (vd. 6.3).
Quanto à eficiência do sistema Edite não há muito para dizer pois os testes que têm
sido feitos são de pequena dimensão. O verdadeiro teste será feito quando o Edite for
publicamente testado. Só aí se verá a percentagem de pedidos − dentro dos limites do
razoável − respondidos com sucesso.
6.3 Tr a ba l ho Fut ur o
É impossível descrever todo o trabalho que ainda há pela frente. Deste modo,
seleccionou-se uma pequena amostra dos problemas a resolver a curto prazo, e que se
descreve de seguida.
Ainda há muito que fazer no que respeita à extensão da gramática − tanto em
termos de regras sintácticas, como de regras semânticas e ainda do formalismo
gramatical. No capítulo 3, por exemplo, a classe dos advérbios (vd. Advérbios e Locuções
Adverbiais) foi praticamente ignorada, não tendo sido criadas regras sintácticas que
envolvam advérbios como elementos nucleares da frase. Também como já se viu no
capítulo 4, as regras semânticas estão escritas de maneira a ignorar a semântica das
partículas interrogativas, mesmo estando esta definida. E estes são apenas dois casos a
representar todo um conjunto de situações que ainda se encontram em aberto.
Também o formalismo responsável pela concordância (vd. 3.2.1) terá de ser
expandido pois revelou algumas falhas. Como ilustração, considere-se a frase O hotel
Tivoli e o hotel Ritz têm bar?. Repare-se que é a conjunção que obriga o plural do verbo
ter. Com o formalismo apresentado não se consegue obrigar o plural do verbo ter sob
97
pena de uma falha na análise sintáctica (para obrigar o verbo ter a estar no plural, é
necessário usar o par de concordância [N=p] e nesse caso, como tanto hotel Tivoli como
hotel Ritz são SNs no singular [N=s]), não há concordância de número.
Ainda outro problema relativo ao mesmo formalismo é o facto da concordância ter
uma leitura do tipo “entra na regra se concordar nos atributos ou se for neutro24 ” e não
“entra na regra apenas se concordar”. Melhor explicando, considere-se o caso dos verbos
copulativos (vd. 0). Se se quiser uma regra apenas para verbos copulativos tem-se de
escrever nas concordâncias [cop=s]. Assim, os verbos copulativos, como verificam esta
condição, podem usar essa regra. Mas o problema é que os outros verbos, não
copulativos, também a podem usar se não tiverem nenhuma atributo cop. Para que essa
regra seja realmente apenas usada por verbos copulativos, é-se obrigado a acrescentar em
todos os verbos que não o sejam o par cop=n. Este problema, ao contrário do anterior,
será fácil de resolver, bastando estender a noção de concordância com a relação == que
indica que a concordância tem mesmo de se verificar. Ou seja, se um verbo não tiver o
atributo cop, não verifica a concordância [cop==s].
Um outro problema a considerar é o do aposto. Considerem-se os SNs: a) A cidade
de Lisboa, b) O hotel Berna. Nestas construções, o aposto diz-se de especificação, ao
contrário das construções seguintes: a) O clima de Lisboa; b) O bar do Berna, em que de
Lisboa e do Berna, equivalem a a adjectivos (Lisboeta, do Berna) [Cunha &
Cintra−1985]. As preposições que dão origem a sintagmas nominais com função de
aposto e não a sintagmas preposicionais, devem ser abolidas, pois complicam bastante a
LIL. Assim, para pedidos como os hotéis da cidade de Lisboa, deixar-se-ia de obter a
expressão
Lisboa),
de(_9, _98),
para
se
passar
hotel(_9),
a
ter:
cidade(_98),
de(_9, Lisboa),
de(_98,
hotel(_9),
cidade(Lisboa), expressão bastante mais simples e intuitiva.
Como já acima se referiu existem categorias gramaticais que são ignoradas pelas
regras semânticas mesmo que tenham uma semântica definida. Repare-se que esta
situação não é grave para algumas subclasses de determinantes como as dos determinantes
possessivos e demonstrativos. Um utilizador que peça Um hotel melhor que o meu. não
está, de certeza, à espera de uma resposta satisfatória, pois o determinante meu é
completamente invisível para o sistema. Mas imagine-se que são feitas as seguintes
perguntas Algum hotel de Lisboa tem cinema? e Todos os hotéis de Lisboa têm cinema?.
Os determinantes indefinidos algum e todos mudam radicalmente o sentido à frase. Logo,
ignorá-los implica uma grande perda de expressividade. O mesmo se passa perante os
pronomes interrogativos. Como exemplo, considerem-se as frases: Quantos canais tem a
TV Portuguesa? e Que canais tem a TV portuguesa?. A resposta à primeira pergunta
98
seria quatro e à segunda a RTP1, a RTP2, a SIC e a TVI. Ou seja, o que aconteceu até
agora foi que as partículas que quantificam a frase foram até aqui ignoradas. É um dos
problemas com maior prioridade.
Outro problema é o facto da conjunção e ter por vezes a função do ou.
Considerem-se então as frases: a) Indique-me hotéis de Lisboa e Porto; b) Indique-me
hotéis com piscina e bar.
Gramaticalmente são frases idênticas, mas o significado do e da frase a) é
completamente diferente do significado do e da frase b). No primeiro caso o utilizador
pede informação sobre hotéis de Lisboa e do Porto, mas é óbvio que esses hotéis estão
em Lisboa ou no Porto. No segundo caso os hotéis pedidos têm de ter piscina e bar.
Repare-se que não há hipótese de extracção desta informação a partir da sintaxe das
frases, visto estas serem sintacticamente idênticas. Note-se que o facto de Lisboa e Porto
serem nomes próprios e piscina e bar não, não carrega informação, pois poder-se-ia
pedir os preços dos quartos dos hotéis e pensões, e o e teria também o significado de ou.
Também não é nas preposições que se vai encontrar a solução. Na pergunta Indique-me
um hotel de cinco estrelas e preços acessíveis, o e significa realmente e. Repare-se ainda
que não é o facto de uma piscina e um bar poderem existir num hotel e um hotel não
poder existir ao mesmo tempo de duas cidades: na pergunta hotéis e residenciais com bar
e piscina, o primeiro e tem o valor de ou, mas em Indique-me uma cidade com hotéis e
residenciais, continua a ter a função de e. Um problema difícil…
O tratamento das elipses é um dos próximos passos a dar no desenvolvimento deste
sistema. A resolução deste problema passa, forçosamente, por guardar a informação
resultante da análise sintáctica e semântica de cada frase. Só deste modo é possível
completar as frases elípticas. Considere-se a frase O hotel Ritz tem bar?. Supondo que, de
seguida, o utilizador continuava com a pergunta E onde é que fica? (frase elíptica), é
óbvio que esta é equivalente a E onde é que fica o hotel Ritz?. Assim, o SN o hotel Ritz
terá que ser guardado para que seja possível responder à pergunta.
6.4 O Si s t em a I deal
Há quem diga que a LN não serve para comunicar com o computador por ser
demasiado complicada e ambígua. Para além disso, existe sempre uma tendência dos
utilizadores para sobrevalorizarem sistemas de ILN, pois não há grande sensibilidade para
as dificuldades que acarreta um sistema desta envergadura. Os filmes de ficção serão uns
dos principais responsáveis por esta sobrevalorização, pois o utilizador não tem noções
dos limites actuais de um sistema desta natureza: os contactos que terá tido com ILNs
terá sido em filmes em que o desempenho do computador seria perfeito. Assim, o
utilizador ficará desiludido e terá que se adaptar às reais capacidades da interface. Mas a
99
cobertura linguística de uma ILN também não é óbvia para o utilizador, podendo ser
mesmo muito difícil compreender com o que é que pode contar. Uma maneira de
contornar o problema passa pela utilização de mensagens de diagnóstico, a explicar
porque é que as perguntas não foram percebidas. Por agora, apenas a análise morfológica
fornece alguma assistência válida (vd. 2.3); falhas na análise sintáctica e semântica
retornam apenas mensagens de erro a indicar a etapa em que o sistema parou. O ideal
para essa mensagens de diagnóstico seria dá-las em LN (note-se que não se pretende dar
respostas em LN, pois os gráficos disponíveis nos quiosques são muito expressivos).
No entanto, mesmo sem dar as mensagens de diagnóstico em LN, a ajuda prestada
pelo sistema poderá ser melhorada se se trabalhar com a noção de contexto (e não
apenas de ajuda em caso de erro; calcular palavras pelo contexto serviria também para
apresentar soluções a falhas na análise sintáctica e semântica). Para descobrir uma
palavra por contexto recorre-se à informação contida no dicionário, modelo conceptual
e na gramática. Suponha-se que um utilizador se engana e em vez de água salgada,
escreve água salada. São ambas palavras conhecidas pelo sistema, mas este falhará ao
nível da análise sintáctica (não há regras nc nc). Ora com base na gramática e no
modelo conceptual, o sistema poderia sugerir que salada era uma palavra errada, e que
salgada era uma solução: um adjectivo pode seguir-se a um nome comum e existe a
relação salgada(água) no modelo conceptual. A este apoio total dado pelo sistema,
com a participação das ferramentas de todas as fases de análise também se chama
composição assistida [Milhaud−94]. Será um dia uma das nossas grandes apostas.
Para finalizar, um sonho ainda mais distante seria introduzir o conceito de
aprendizagem no sistema Edite. Seria perfeito que um dia conseguisse evoluir por si só.
6 . 5 Ob s e r v a ç õ e s F i n a i s
Esta tese marca uma etapa na vida do sistema Edite. Foi um trabalho algo violento,
desenvolver um projecto desta envergadura em tão pouco tempo, mas estamos contentes
com os resultados. Foi pena que não tivéssemos tido tempo para aprofundar outras
teorias, fazer um trabalho de investigação mais profundo, ter desenvolvido um projecto
mais formal… mas não nos arrependemos nem pelos algoritmos que adoptámos, nem das
linhas de ataque que escolhemos, nem das estratégias que se seguiu. Cremos que de outra
maneira não teria sido possível obter os resultados que já dispomos.
Esperamos ter contribuído de algum modo para a área de linguística computacional
e sonhamos com o dia em que o sistema Edite, depois de muitas afinações, corresponda às
expectativas que nunca foram realizadas nesta área. Acreditamos que o enriquecimento
progressivo do Edite, o vai tornar um dia num Edite de cinco estrelas.
100
101
B I BL I O G R AF I A
[Allen−95]
James Allen. Natural Language Understanding, 2ª
edição. The Benjamin/Cummings Publishing Company,
INC., 1995.
[Almeida & Pinto−94]
José João Dias de Almeida, Ulisses Pinto. Jspell − um
Módulo para Análise Léxica Genérica de Linguagem
Natural. 1994.
[Almeida & Pinto−95]
José João Dias de Almeida, Ulisses Pinto. Manual do
Utilizador do Jspell. 1995.
[Androutsopoulos−92]
Ioannis Androutsopoulos. “Interfacing a Natural Language
Front-End to a Relational Database”. Tese de Mestrado,
Department of Artificial Intelligence, University of
Edinburgh, 1992.
[Androutsopoulos et al−95]
I. Androutsopoulos, G.D. Ritchie, P.Thanisch. Natural
language interfaces to databases, in “Natural Language
Engineering”, Volume 1 Part 1, Branimir Boguraev,
Roberto Garigliano e
John Tait
(Eds).
Cambridge
University Press, March 1995.
[Areal−96]
Américo Areal. Curso de Português. Questões
gramática/Noções de Latim. Edições ASA, 1996.
102
de
[Barreiro et al−93]
Anabela Barreiro, Maria de Jesus Pereira, Diana Santos.
Critérios e opções Linguísticas no desenvolvimento do
PALAVROSO, um sistema computacional de descrição
morfológica do português. Relatório Técnico INESC
RT/54-93, 1993.
[Barros−61]
Tomás de Barros. Gramática Portuguesa, 14ª edição.
Editora Educação Nacional, 1961.
[Cunha & Cintra−85]
Celso Cunha, Lindley Cintra. Breve Gramática do
Português Contemporâneo, 1ª edição. Edições João Sá da
Costa, 1985.
[Estrela & Pinto-Correia−94] Edite Estrela, J. David Pinto-Correia. Guia Essencial da
Língua Portuguesa
para
a
Comunicação
Social,
3ªedição. Editorial Notícias, 1994.
[Filgueiras−95]
Miguel Filgueiras. “Interfaces de Linguagem Natural”,
Actas do curso Engenharia da Linguagem, Maria Helena
Mateus e António Horta Branco (Orgs). Edições Colibri,
1995.
[Florido et al.−90]
Maria Beatriz Florido, Maria Emília Duarte Silva. Novos
Caminhos para a Linguagem 3, Porto Editora, 1990.
[Fonseca−93]
Ana Paiva Fonseca. “Comunicação em Linguagem Natural
para um Tutor Inteligente”. Tese de mestrado, Instituto
Superior Técnico − Universidade Técnica de Lisboa, 1993.
[Gomes−30]
Adriano A. Gomes. Elementos de Gramática Portuguesa.
Livraria Moura Marques & Filho. Coimbra, 1930.
[Goscinny & Uderzo−90]
R. Goscinny, A.Uderzo.
Astérix entre
os
Bretões.
Meriberica, 1990.
[Grevisse−69]
Maurice Grevisse. Précis de Grammaire Française, 28ª
édition. Éditions J. Duculot, S.A., Gembloux, 1969.
103
[Hagège & Duarte−95]
Caroline Hagège, Inês Duarte. “Construção de Gramáticas
Formais para o processamento da Linguagem Natural”,
Actas do curso Engenharia da Linguagem, Maria Helena
Mateus e António Horta Branco (Orgs). Edições Colibri,
1995.
[Martins−89]
João P. Martins. Introduction to Computer Science using
Pascal. Wadsworth Publishing Company, California,
1989.
[Medeiros−95]
José Carlos Dinis Medeiros. “Processamento Morfológico
e Correcção Ortográfica do Português”. Tese de mestrado,
Instituto Superior Técnico − Universidade Técnica de
Lisboa, 1995.
[Milhaud−94]
Gérard Milhaud. “Un environnement pour la composition
assistée”. Tese de Doutoramento − Université d’AixMarseille II, Dezembro 1994.
[Moll et al.−88]
Robert N. Moll, Michael A. Arbib, A. J. Kfoury. An
Introduction to Formal Language Theory. Spring-Verlag,
1988.
[Nique−78]
Christian Nique. Iniciação Metódica à
Gramática
Generativa, 2ª edição. Publicações Don Quixote, 1978.
[Nogueira−89]
Rodrigo de Sá Nogueira. Guia Alfabética de pontuação, 2ª
edição. Clássica Editora, 1989.
[Nunes et al.−86]
Carmen Nunes, Maria Luísa Oliveira, Maria Leonor
Sardinha. Nova Gramática de Português. Didáctica
Editora, 1986.
[Pinto et al.−96]
José M. de Castro Pinto, Manuela Parreira, Maria do Céu
Vieira Lopes. Gramática do Português Moderno, 5ª
edição. Plátano Editora, 1996.
104
[Reichwein−92]
Georg Reichwein. “Sintaxe e Semântica de Linguagens 1”.
Apontamentos da cadeira de Sintaxe e Semântica da
Linguagem 1, do 3º ano do curso de Matemática Aplicada
e Computação, Secção de Ciência da Computação,
Departamento de Matemática − Instituto Superior
Técnico, 1992.
[Reichwein−93]
Georg Reichwein. “Sintaxe e Semântica de Linguagens 2”.
Apontamentos da cadeira de Sintaxe e Semântica da
Linguagem 2, do 4º ano do curso de Matemática Aplicada
e Computação, Secção de Ciência da Computação,
Departamento de Matemática − Instituto Superior
Técnico, 1993.
[Reis & Mamede−96a]
Paulo Reis, Nuno Mamede. “LIL-SQL − Processamento
de Interrogações LIL por tradução para SQL”. Relatório
Técnico. Grupo de Sistemas e Serviços Telemáticos,
INESC (em preparação).
[Reis & Mamede−96b]
Paulo Reis, Nuno Mamede. “Modelo Conceptual. A
Hierarquia de Tipos”. Relatório Técnico. Grupo de
Sistemas e Serviços Telemáticos, INESC.
[Reis et al−97]
Paulo Reis, João Matias, Nuno Mamede. “Edite - A
Natural Language Interface to
Databases:
a
New
Dimension for an Old Approach” in Proceeding of the
Fourth International Conference on Information and
Communication Technology in Tourism, ENTER’97,
Edinburgh, Escócia. Springer-Verlag, 1997.
[Relvas−27]
José Maria Relvas. Gramática Portuguesa, 2ª edição.
Europress/Livraria Leia, 1927.
[Ritchie & Thompson]
D. M. Ritchie, K. Thompson. “The Unix Time-Sharing
System” in Communications of the ACM 17 (7). Julho,
1974.
105
[Santos−89]
Diana Santos. Tradução Automática no grupo científico
IBM-INESC. Relatório Técnico INESC AR/94-90, 1989.
[Santos−91]
Diana Santos. Sobre a classificação aspectual dos verbos
portugueses. Relatório Técnico INESC AR/45-91, 1991.
[Santos−94]
Diana
Santos. Português Computacional.
Relatório
Técnico INESC AR/7-94, 1994.
[Santos et al.−92]
Diana Santos, José Carlos Medeiros, Regina Reis, Rui
Marques. “Processamento de corpora de texto no
INESC”. Relatório Técnico INESC RT/65-92, 1992.
[Santos et al.−93]
Diana Santos, José Carlos Medeiros, Rui Marques.
Português Quantitativo. Relatório Técnico INESC AR/6992, 1993.
[Wallace−84]
Mark Wallace. Communicating with Databases in Natural
Language. Ellis Horwood series in Artificial Intelligence,
1984.
106
107
A P Ê N D I C E A : O F I C HE I R O
DE
A F I XO S
Cada palavra do dicionário possui um conjunto de regras de afixação associado, que
pode ser vazio. Com estas regras, podem ser geradas palavras da sua família, que não
necessitam assim, de ocupar um espaço no dicionário. Esta geração é feita à custa do
acrescento de afixos, chamando-se derivação ao processo de se anteporem ou posporem
afixos às palavras primitivas [Relvas−27].
As regras de afixação, como já se disse, estão registadas no ficheiro de afixos e
neste há três secções a ter em conta: na primeira atribuem-se funções aos caracteres (uns
são separadores, outros constituintes das palavras, …); na segunda encontram-se as regras
de prefixação (amarrar ‡ desamarrar, encontrar ‡ reencontrar, …); na terceira as de
sufixação (hotel ‡ hotéis, activo ‡ actividade, …).
Caracteres
No início do ficheiro de afixos, apresentam-se os caracteres que estarão
disponíveis, com base na função que vão desempenhar. Deste modo tem-se:
• as letras do alfabeto que vão entrar na formação das palavras, sendo indicadas pela
palavra wordchar se não forem acentuadas, e por stringchar se o forem;
• os caracteres que representam os números, que também são indicados pela palavra
wordchar;
• os outros, ou seja, todos os caracteres que não fizerem parte de uma das categorias
anteriores são considerados separadores de palavras. Assim, se se escrever
praia/campo, praia\campo ou praia:campo, o analisador vai encontrar as palavras
praia e campo.
Como se verá mais tarde, na secção dedicada aos termos compostos (vd.
Apêndice B), não se quer que o hífen ‘-‘ seja considerado um separador. Por outro lado,
também não pode ter a mesma representação que as letras do alfabeto pois, como
108
exemplo, suponha-se que é feito o seguinte pedido: Indique-me um hotel com: -piscina, bar, -discoteca25 . Se o hífen fosse declarado como
wordchars
o analisador morfológico tentaria classificar as palavras -piscina, -bar e -discoteca, e não
as palavras piscina, bar e discoteca.
Existe uma opção intermédia que permite que o hífen seja ignorado quando não
está a separar duas palavras, e que consiste em pôr no ficheiro de afixos:
boundarychars \Isto é, o hífen não é considerado um separador de palavra, ou seja, se se escrever
praia-campo, o analisador descobre a palavra praia-campo, mas se se escrever -praia, a
análise é feita à palavra praia. Portanto o hífen apenas é tido em conta quando está
realmente a separar duas palavras.
Exemplo A. 1 – Extracto do Ficheiro de Afixos
wordchars
stringchar
stringchar
stringchar
wordchars
wordchars
wordchars
wordchars
[p-u]
ú
ù
ü
[v-z]
2
3
4
[P-U]
Ú
Ù
Ü
[V-Z]
Prefixos
Os prefixos são os afixos que se antepõem à palavra primitiva. As palavras a que
dão origem dizem-se derivadas por prefixação.
Exemplo A. 2 – Regra de Prefixação
A regra denotada por R representa os prefixos re e res, que podem indicar
repetição. Deste modo podem ser formadas as palavras reencontrar (re + encontrar) e
ressurgir (res + surgir), encontrando-se no ficheiro de afixos:
flag *R
[^S]
>
RE
;
S
>
RES
;
Esta regra indica que a uma palavra à qual exista a regra R associada, aplica-se o
prefixo re (RE) se a palavra não se iniciar com um s ([^S]), e o prefixo res (RES) caso
contrário.
109
De seguida (Tabela 2) apresentam-se as regras de prefixação usadas pelo sistema
Edite:
NOME
A
B
S
PREFIXO
anti
antides
S IGNIFICADO
oposição
oposição
separação, contrário, …
I
in, im, i, ir
R
E
O
U
re, res
pré
pós
sub
contrário, mudança
estado, …
repetição,…
posição anterior, …
posição posterior
posição inferior
de
EXEMPLO
venenoso ‡ antivenenoso
semita ‡ anti-semita
amarrar ‡ desamarrar
habitar ‡ desabitar
finito ‡ infinito
material ‡ imaterial
encontrar ‡ reencontrar
escolar ‡ pré-escolar
guerra ‡ pós-guerra
problema ‡ subproblema
Tabela 2 − Regras de Prefixação
Sufixos
Por oposição aos prefixos, os sufixos são os afixos que se pospõem à palavra
primitiva. As palavras a que dão origem dizem-se derivadas por sufixação.
Exemplo A. 3 – Regra de Sufixação
No ficheiro de afixos existe a regra p, de formação de plurais:
flag *p:
….
{^V}EL > -EL, ÉIS ; “N=p”
A palavra hotéis pode ser formada a partir do radical hotel. Esta palavra obtém-se
retirando o morfema el (-EL) ao radical e acrescentando-lhe o morfema éis (ÉIS).
“N=p” indica que a nova palavra está no plural. A regra pode ser aplicada, pois no
dicionário está expresso na entrada da palavra hotel que a regra p pode ser usada.
A Tabela 3 resume algumas das regras de sufixação disponíveis:
NOME
p
a
e
f
b
g
t
H
S UFIXO
s, ões, éis, eses, …
s, eis
es
a, esa, …
− (tira o o)
oa, oas
ista
inho
S IGNIFICADO
plural
plural
plural
feminino
feminino
feminino
profissão, …
diminutivo
Tabela 3 − Regras de Sufixação
110
EXEMPLO
hotel ‡ hotéis
mão ‡ mãos
pão ‡ pães
japonês ‡ japonesa
alemão ‡ alemã
patrão ‡ patroa
flor ‡ florista
beijo ‡ beijinho
A P Ê N D I C E B : S I NT AXE DO
DI C I O NÁR I O
Neste apêndice, são apresentadas as regras de escrita do dicionário do sistema Edite.
Deve-se frisar que o bom funcionamento do sistema depende da correcção do seu
dicionário.
Uma entrada típica no dicionário é uma linha do tipo:
palavra/classificação/flags{/comentários}
em que:
•
classificação é uma sequência de caracteres (desde que não iniciada pelo
símbolo ‘#’) ou uma macro. É esta sequência que guarda informações sobre a palavra: a
sua categoria, o seu género, o seu número, etc…
•
flags é uma lista de caracteres que representam os nomes das regras de afixação (p
para plural, f para feminino, …) que podem ser aplicáveis à palavra;
•
comentários é uma sequência de caracteres opcional que representa os
comentários que se fazem à entrada.
A implementação do analisador morfológico no sistema Edite obriga a algumas
regras na escrita da classificação da palavra. Isto é, a classificação obedece ao seguinte
formato:
CAT=X,SEM=Y,TIPO=Z,…
em que:
1) As reticências indicam que a classificação poderá ser continuada, ou não;
2) X indica a categoria da palavra, sendo usadas, por exemplo, as seguintes categorias:
• nc, para representar os nomes comuns;
• np, para representar os nomes próprios;
• v, para os verbos;
• art, para os artigos;
• prep, para as preposições;
111
• adj, para os adjectivos;
• card, para os cardinais;
3) Y representa a semântica da palavra e Z o seu tipo (veja-se a próxima secção). Por
agora saiba-se que Y e Z são sequências de caracteres que obedecem a certas restrições
combinatórias.
Exemplo B. 1– Entrada no Dicionário
No dicionário a seguinte macro
#nm/CAT=nc,SEM=ID|1,TIPO=IND,G=m,N=s
e a seguinte entrada
hotel/#nm/p/A regra p (formação de plural) pode ser
aplicada
definem a palavra hotel como um nome comum (CAT=nc), cuja semântica é uma
fórmula de um argumento e cujo predicado é a própria palavra (SEM=ID|1), de tipo
indeterminado (TIPO=IND), de género masculino (G=m) e que se encontra no singular
(N=s). A esta palavra pode ser aplicada a regra p, que é uma regra de formação do plural,
que permite o reconhecimento da palavra hotéis. A frase A regra p (formação
de plural) pode ser aplicada é um comentário.
Para terminar, acrescente-se que os comentários, para além de poderem aparecer
na linha da entrada, podem também surgir em linhas próprias, que são indicadas pelo
carácter ‘#’, desde que seguido pelo carácter ‘-‘ ou por um espaço em branco.
A Informação Semântica no Dicionário
Tanto a informação da semântica de uma palavra como a do tipo são guardadas no
dicionário. Apesar de serem opcionais, quando uma palavra tem semântica ou tipo, a sua
entrada no dicionário deve ser escrita mediante certas regras. Deste modo, uma entrada
no dicionário pode ter a forma:
palavra/CAT=X,SEM=Y|Nd,TIPO=Z,…
em que:
I.
As reticências indicam o facto de poder existir mais informação na entrada (vd.
Exemplo B. 2 a));
II.
SEM e TIPO são escritos em maiúsculas, Y é a representante da semântica de
palavra, N é o número de argumentos que vão estar associados à palavra palavra e
Z é o seu tipo (vd. Exemplo B. 2 b)). Existe um pequeno conjunto de palavras reservadas:
a) Para Y:
112
• ID: se Y é a palavra ID (em maiúsculas), quer isto dizer que a semântica da
palavra é representada pela própria palavra (vd. Exemplo B. 2 a), c), …);
• IND: quando surge a palavra IND, tem-se que a semântica é indeterminada.
Não se sabe (ou não interessa) a semântica da palavra (vd. Exemplo B. 2 d)).
b) Para Z:
• ID: o tipo da palavra é representado pela própria palavra (vd. Exemplo B. 2
c));
• IND: indica que o tipo é indeterminado (vd. Exemplo B. 2 d) e e));
• S: o tipo da palavra é igual à sua semântica (vd. Exemplo B. 2 f)).
III.
d é opcional e indica se dentro de um conjunto de palavras, a palavra em causa é
a palavra considerada em caso de ambiguidade (vd. Exemplo B. 2 g)).
Exemplo B. 2 − Semântica no Dicionário
a) D.-Afonso-Henriques/CAT=np,SEM=ID|0,TIPO=rei,G=f, N=s//
b) Ritz/CAT=np,SEM=Ritz|0,TIPO=hotel//
c) hotel/CAT=nc,SEM=ID|1,TIPO=ID//
em que
SEM(hotel) = hotel(_9)
TIPO(hotel) = hotel
d) o/CAT=art,SEM=IND,TIPO=IND,G=m,N=s//
e) ter/CAT=v,SEM=ID|2,TIPO=IND//
que dá origem a:
SEM(ter) = ter(_9, _0)
TIPO(ter) = IND
f) Retomando o exemplo d), também se pode escrever:
hotel/CAT=nc,SEM=ID|1,TIPO=S//
obtendo-se, na mesma:
SEM(hotel) = hotel(_9)
TIPO(hotel) = hotel
g) Lisboa/CAT=np,SEM=ID|0d,TIPO=cidade/
Lisboa/CAT=np,SEM=ID|0,TIPO=concelho/
Lisboa/CAT=np,SEM=ID|0,TIPO=destrito/
Neste caso, se se pedirem hotéis em Lisboa com piscina, supõe-se que se pedem os
hotéis da cidade de Lisboa com piscina.
Termos Compostos
As regras de escrita dos termos compostos são bastante rígidas. Há que ser muito
cuidadoso a escrevê-las. São apresentadas de seguida:
1) Se várias palavras diferentes, p 1 ,…, p n , podem ser a segunda palavra de um termo
composto começado pela palavra p 0 , tem-se (vd. Exemplo B. 3 a)):
113
p 0 /CAT=tc,{[p1 ]}
…
p 0 /CAT=tc,{[pn ]}
2) Sempre que houver uma palavra p i , que ocupe a segunda posição de um termo
composto, ou uma posição superior, e que possa ser seguida por uma ou mais palavras
diferentes (p 1 ,…, p n ), escreve-se (vd. Exemplo B. 3 b)):
[p i [p 1 ]…[pn ]]
3) Se uma palavra p i puder ser a última de um termo composto e, ao mesmo tempo,
puder ser uma palavra intermédia, há que escrever primeiro a lista de palavras que a
poderão seguir (p 1 ,…, p n ), e só depois a lista vazia que indica o facto de também poder
ser terminal (vd. Exemplo B. 3 c)). Ou seja:
[p i [p 1 ]…[pn ][]]
4) Se se quiser agrupar todas as palavras que fazem parte de um termo composto, pode-se
escrevê-las numa única entrada (vd. Exemplo B. 3 d)). Assim, em vez de:
p 0 /CAT=tc,{[p1 ]}
…
p 0 /CAT=tc,{[pn ]}
pode-se escrever:
p 0 /CAT=tc,{[p1 ],…,[p n ]}
Exemplo B. 3 – Sintaxe dos Termos Compostos
a) Para jardim-público, jardim-botânico, jardim-zoológico, escreve-se:
jardim/CAT=tc,{[público]}
jardim/CAT=tc,{[botânico]}
jardim/CAT=tc,{[zoológico]}
b) Para os termos compostos porto-de-pesca e porto-de-comércio, tem-se:
porto/CAT=tc,{[de[pesca][comércio]]}
c) Para os nomes próprios Vila-Real e Vila-Real-de-Santo-António, escreve-se:
Vila/CAT=tc,{[Real[de[Santo[António]]][]]}
d) Os termos compostos do exemplo a), podem ser escritos da seguinte maneira:
jardim/CAT=tc,{[público],[botânico],[zoológico]}
Contracções de Preposição
De seguida apresentam-se algumas entradas do dicionário, relativas às contracções
de preposição (repare-se que a contracção às, tem de estar explicitamente no dicionário,
não bastando dizer que é o plural de à. Tal deve-se ao facto de não existir uma regra de
114
formação de plural para palavras terminadas em à). Repare-se ainda que as contracções
de preposição não têm nem uma semântica nem um tipo porque “morrem” como
contracções de preposição, e, como tal, não há necessidade de transportarem uma
semântica ou um tipo. No entanto, num processamento interno, às preposições e aos
artigos, advérbios ou pronomes que constituem as contracções de preposição, serão
associadas tais propriedades.
CONTRACÇÃO DE
PREPOSIÇÃO
à
ao
do
no
pelo
donde
dali
noutro
deste
àquele
naquele
neste
dele
PREP +
ART/ADV/PRON
a+a
ENTRADA NO DICIONÁRIO
à/CAT=cp,Prep=a,Art=a//
às/CAT=cp,Prep=a,Art=as//
ao/CAT=cp,Prep=a,Art=o/p/
do/CAT=cp,Prep=de,Art=o/fp/
no/CAT=cp,Prep=em,Art=o/fp/
pelo/CAT=cp,Prep=per,Art=o/fp/
donde/CAT=cp,Prep=de,Adv=onde//
dali/CAT=cp,Prep=de,Adv=ali//
noutro/CAT=cp,Prep=em,Pron=outro/fp/
deste/CAT=cp,Prep=em,Pron=este/fp/
àquele/CAT=cp,Prep=a,Pron=aquele/fp/
naquele/CAT=cp,Prep=a,Pron=aquele/fp/
neste/CAT=cp,Prep=em,Pron=este/fp/
dele/CAT=cp,Prep=de,Pron=ele/fp/
a+o
de + o
em + o
per + o
de + onde
de + ali
em + outro
de + este
a + aquele
em + aquele
em + este
de + ele
Tabela 4 − Contracções de Preposição
Como se pôde observar, junto da regra p surge uma outra regra, a regra f. Esta
regra participa na formação do feminino.
115
116
A P Ê N D I C E C : S I NT AXE DA
G R A MÁ T I C A
Para o bom funcionamento do sistema aconselha-se um máximo de cuidado na
escrita da gramática, visto a sua estrutura obedecer a regras bastante rígidas.
Regras Sintácticas
Regras para a escrita das regras sintácticas:
1) Cada linha da gramática tem no máximo 220 caracteres.
2) Os comentários são indicados pelo carácter “#”, que tem de ser colocado na primeira
posição da linha onde se vai escrever o comentário e podem aparecer em qualquer
lado.
3) O símbolo inicial é a primeira coisa a ser escrita. Tem de estar na primeira posição da
linha e é terminado com um ponto final.
4) As regras gramaticais têm a seguinte estrutura:
¸LadoEsq_->¸LadoDir_{Semântica}¸[Restrições]¸Comentários
em que:
• ¸ denota espaços opcionais;
• _ denota espaços obrigatórios (pelo menos um);
• LadoEsq representa um símbolo não terminal da gramática;
• LadoDir é uma sequência de um ou mais símbolos, separados por, pelo menos, um
espaço. Esses símbolos podem ser terminais ou não.
• Semântica representa as regras semânticas da gramática (veja-se a próxima
secção);
• Restrições é uma sequência, possivelmente vazia, de pares A=B, separados por
uma vírgula. Se a sequência for vazia, escreve-se [];
117
• Comentários, representa os comentários (opcionais) à regra.
5) O fim do ficheiro é indicado pelo carácter “+”, na primeira linha, primeira posição,
depois da última regra. A seguir pode-se escrever o que se quiser, sem restrições
nenhumas, visto acabar aí a leitura do ficheiro.
Exemplo C. 1 − Gramática
F.
símbolo inicial
F ‡ SN1 SV {S (?SN1 1 ?SV)} [N=X,P=Y,TR=t]
SN1 ‡ SN {?SN} [G=X,N=Y,P=Z]
SN1 representa
sujeito
# SN2 representa um SN com função de CD
SV ‡ v SN2 {S (?SN2 2 ?v)} [TR=t,N=X,P=Y]
SN2 ‡ SN {?SN} []
SN ‡ N {?N} [N=Y,G=Y]
N ‡ nc {?nc} [G=X,N=Y]
N ‡ np {?np} []
+
Esta gramática permite reconhecer a frase Arraiolos tem hotéis?
o
SN
Regras Semânticas
Resumindo, os operadores semânticos, apresenta-se a Tabela 5:
1.
2.
3.
4.
5.
6.
?X Ë semântica de X;
S (X N Y) Ë substitui X no argumento N de Y;
E(X Y) Ë guarda X como atributo de Y e devolve Y como semântica da regra;
&(X Y) Ë cria a fórmula não primitiva &(X, Y);
PX Ë cria a fórmula EXACT(_5,X);
C(X Y Z) Ë cria uma fórmula não primitiva, usando a semântica de X como
conjunção;
7. 0 Ë semântica indefinida.
Tabela 5 − Operadores Semânticos
Usando a notação BNF [Martins−89], tem-se a sintaxe das regras semânticas:
<SEM> ::= {<AUX>}
<AUX> ::= ?<T> |S_(<AUX>_<NUM>_<AUX>) | E_(<AUX>_<AUX>)
|
P<card> | 0 | C_(<AUX>_<AUX>_<AUX>)
<T> ::= <SN> | <SV> | <v> | <card> | …
<NUM> ::= 1 | 2 | 3 | … | 9
em que _ indica espaços obrigatórios (pelo menos 1).
118
A P Ê N D I C E D : G R A MÁ T I C A − R E G R A S
S I NT ÁC T I C AS
E
S E MÂ N T I C A S
Frase.
Frase ‡ Fint {?Fint} []
Frase ‡ Fimp {?Fimp} []
Frase ‡ SP Frase {E (S (?Frase 1 ?SP) ?Frase)} []
Fint ‡ FintD {?FintD} []
Fint ‡ FintI {?FintI} []
Fint ‡ FintECO {?FintECO} []
FintD ‡ Pint F {?F} []
FintI ‡ F1 FintD {?FintD} []
FintECO ‡ F {?F} []
FintI ‡ F1 se F {?F} []
Pint ‡ advi {0} []
Pint ‡ proni {0} []
Pint ‡ prep Pint {0} []
F1 ‡ VB {?VB} []
F ‡ SN {?SN} []
F ‡ SV {?SV} [TR=t]
F ‡ SN1 SV MOD {E (E (S (?SN1 1 ?MOD) S (?SN1 1 ?SV)) ?SN1)} [N=X,P=Y,TR=i]
F ‡ SN1 SV {E (S (?SN1 1 ?SV) ?SN1)} [N=X,P=Y,TR=i]
F ‡ SV SN1 {E (S (?SN1 1 ?SV) ?SN1)} [N=X,P=Y,TR=i]
F ‡ SV {?SV} [N=X,P=Y,TR=i]
F ‡ SV SP SN1 {E (E (S (?SN1 1 ?SV) S (?SN1 1 ?SP)) ?SN1)} [N=X,P=Y,TR=i]
F ‡ SV MOD {S (?SV 1 ?MOD)} [N=X,P=Y,TR=i]
F ‡ SN1 SV CD {E (S (?CD 2 S (?SN1 1 ?SV)) ?SN1)} [N=X,P=Y,TR=t]
F ‡ SV CD {E (S (?CD 2 ?SV) ?CD)} [N=X,P=Y,TR=t]
F ‡ SN1 SV {E (S (?SN1 1 ?SV) ?SN1)} [N=X,P=Y,TR=i,COP=s]
F ‡ SN SN1 SV {E (S (?SN1 1 S (?SN 2 ?SV)) ?SN1)} [N=X,P=Y,TR=i,COP=s]
F ‡ SN SV SN1 {E (S (?SN1 1 S (?SN 2 ?SV)) ?SN1)} [N=X,P=Y,TR=i,COP=s]
SN1 ‡ SN {?SN} [G=X,N=Y,P=Z]
PSN1 ‡ SN {?SN} [G=X,N=Y,P=Z]
CD ‡ SN {?SN} []
SN ‡ N {?N} [N=Y,G=Y]
PSN1 ‡ SADJ {?SADJ} [G=X,N=Y]
CD ‡ prep SN {?SN} []
CD ‡ SADV {?SADV} []
SN ‡ N MOD {E (S (?N 1 ?MOD) ?N)} [N=X,G=Y]
119
SN1 ‡ SN Pcomp SN1 {C (?Pcomp ?SN1 ?SN)} []
PSN1 ‡ SN Pcomp PSN1 {C (?Pcomp ?PSN1 ?SN)} []
PSN1 ‡ SADJ Pcomp PSN1 {C (?Pcomp ?PSN1 ?SN)} []
CD ‡ prep SN Pcomp CD {C (?Pcomp ?CD ?SN)} []
CD ‡ SADV Pcomp CD {C (?Pcomp ?CD ?SADV)} []
S‡ nc {?nc} [G=X,N=Y]
S ‡ np {?np} []
S ‡ nc np {S (?np 1 ?nc)} [G=X,N=Y]
N ‡ S {?S} [N=X,G=Y]
N ‡ Det S {?S} [N=X,G=Y]
N ‡ DetN S {E (S (?S 1 PDetN) ?S)} [N=X,G=Y]
Det ‡ art {0} [G=X,N=Y]
Det ‡ detd {0} [G=X,N=Y]
Det ‡ detp {0} [G=X,N=Y]
Det ‡ detint {0} [G=X,N=Y]
Det ‡ deti {0} [G=X,N=Y]
Det ‡ detd deti {0} [G=X,N=Y]
Det ‡ detd detp {0} [G=X,N=Y]
Det ‡ detd detd {0} [G=X,N=Y]
Det ‡ art detp {0} [G=X,N=Y]
Det ‡ deti art {0} [G=X,N=Y]
Det ‡ deti art detp {0} [G=X,N=Y]
Det ‡ deti detp {0} [G=X,N=Y]
DetN ‡ card {?card} [G=X,N=Y]
DetN ‡ detd card {?card} [G=X,N=Y]
DetN ‡ deti card {?card} [G=X,N=Y]
DetN ‡ art card {?card} [G=X,N=Y]
DetN ‡ art detp card {?card} [G=X,N=Y]
N ‡ Det SADJAUX S {E (S (?S 1 ?SADJAUX) ?S)} [N=X,G=Y]
N ‡ DetN SADJAUX S {E (E (S (?S 1 PdetN) S (?S 1 ?SADJAUX)) ?S)} [N=X,G=Y]
SADJAUX ‡ adj Pcomp SADJAUX {C (?Pcomp ?adj ?SADJAUX)} [N=X,G=Y]
SADJAUX ‡ SADJ {?SADJ} [N=X,G=Y]
MOD ‡ MOD1 MOD2 {& (?MOD1 ?MOD2)} [G=Y,N=X]
MOD ‡ MOD1 Pcomp MOD2 {C (?Pcomp ?MOD1 ?MOD2)} [G=Y,N=X]
MOD1 ‡ SP {?SP} []
MOD1 ‡ SADV {?SADV} []
MOD1 ‡ SADJ {?SADJ} [G=X,N=Y]
MOD1 ‡ REL {?REL} []
MOD1 ‡ INF {?INF} []
MOD2 ‡ MOD {?MOD} [G=X,N=Y]
MOD ‡ SP {?SP} []
MOD ‡ SADV {?SADV} []
MOD ‡ SADJ {?SADJ} [G=X,N=Y]
MOD ‡ REL {?REL} []
MOD ‡ INF {?INF} []
SP ‡ prep SN {S (?SN 2 ?prep)} []
SP ‡ punct SP {?SP} []
SP ‡ SP punct {?SP} []
SP ‡ punct SP punct {?SP} []
SP ‡ prep card S {E (S (?S 1 Pcard) S (?S 2 ?prep))} []
SP ‡ prep SADV {S (?SADV 2 ?prep)} []
SV ‡ VB {?VB} [TR=X,N=Z,P=X]
SV ‡ v PSN1 {?PSN1} [COP=s,TR=i]
VB ‡ v {?v} [N=X,P=Y,TR=X,COP=X]
120
VB ‡ pronpr VB {?VB} [N=X,P=Y,TR=X,COP=X]
VB ‡ VAUX VPRIN {?VPRIN} [N=X,P=Y,TR=X,COP=X]
VB ‡ VAUX1 VAUX2 VPRIN {?VPRIN} [N=X,P=Y,TR=X]
VAUX1 ‡ VAUX {?VAUX}[N=X,P=Y]
VAUX2 ‡ VAUX {?VAUX} []
VAUX ‡ v {?v} [N=X,P=Y]
VPRIN ‡ v {?v}[TR=X]
SADV ‡ adv card SN {E (S (?card 2 S (?SN 1 ?adv)) ?SN)} []
SADV ‡ la card SN {E (S (?card 2 S (?SN 1 ?la)) ?SN)} []
SADV ‡ adv {?adv} []
SADJ ‡ adj {?adj} [G=X,N=Y]
SADJ ‡ adj prep SN {S (?SN 2 ?adj)} []
REL ‡ Prel F {?F} []
Prel ‡ pronr {?pronr} []
Prel ‡ prep pronr {?pronr} []
INF ‡ prep VB {?VB} []
Pcomp ‡ punct {?punct} []
Pcomp ‡ conj {?conj} []
+
121
122
A P Ê N D I C E E : A L G U MA S
F R AS E S
A N A L I S A D A S P E L O S I S T E MA
Faz-se de seguida uma breve análise a várias frases apresentadas ao sistema,
apontando-se eventuais falhas ao longo das diferentes fases de análise, e as LILs obtidas
em caso de sucesso. No que respeita às frases bem sucedidas, deve-se notar que não são
apenas as que se apresentam as que chegam ao fim do processo com resultados
satisfatórios: destas, este apêndice é apenas uma escassa amostra.
Falhas na Análise Morfológica
‡ Onde é que posso comer bacalhau com natas?
A análise desta frase termina na análise morfológica, pois a palavra natas não é
conhecida pelo sistema, facto que é indicado ao utilizador. Como nenhuma sugestão é
apresentada pelo Edite, o leitor terá de usar novo vocabulário.
‡ O hotle Ritz tem piscina?
Também a palavra hotle é desconhecida pelo sistema Edite. No entanto, ao
contrário do caso anterior, o sistema sugere que esta palavra seja substituída pela palavra
hotel. Caso o utilizador aceite a sugestão, o processamento da frase continua.
123
Falhas na Análise Sintáctica
‡ Para visitar o museu Calouste Gulbenkian é necessário fazer reserva?
Por enquanto, não há nenhuma regra sintáctica que permita que uma frase se inicie
por uma preposição seguida de um verbo. Deste modo, a análise sintáctica a esta pergunta
é mal sucedida, e a mensagem “Sintaxe Desconhecida” é apresentada ao utilizador.
‡ Em Lisboa, que hotéis tem discoteca?
A análise sintáctica desta frase também termina sem sucesso, mas desta vez é a não
concordância em número entre o sujeito hotéis (plural) e o verbo tem (singular), que
provoca esta falha. Também aqui a mensagem “Sintaxe Desconhecida” é mostrada ao
utilizador.
Falhas na Análise Semântica
As falhas durante a análise semântica provêm de falhas ou no Modelo Conceptual
ou de certas relações incompatíveis entre a semântica de certas palavras e a semântica
exigida a essas palavras pelas regras semânticas.
Geralmente, na análise semântica de uma frase, há sempre LILs que são invalidadas
pelo Modelo Conceptual, mas esta etapa é quase sempre bem sucedida, desde que as
perguntas apresentadas tenham algum nexo. No entanto, questões como as que se
seguem, não obtêm resposta do sistema, por falha na análise semântica.
‡ O hotel Tivoli tem ratazanas?
‡ Indique-me praias em Portalegre.
‡ Qual é o preço de um quarto no restaurante Pessoa?
Frases bem sucedidas e respectivas LILs
‡ Em Braga, em que restaurantes é que se pode comer um bom javali?
restaurante ( _23 )
comer ( _23 , javali )
bom ( javali )
em ( _23 , BRAGA-concelho )
O facto do artigo um também ser um cardinal, leva a que seja gerada a LIL qua se
segue, que é invalidada pelo Modelo Conceptual:
124
restaurante ( _23 )
comer ( _23 , javali )
bom ( javali )
EXACT ( javali , um )
em ( _23 , BRAGA-concelho )
Como existe um restaurante chamado Javali, se o Modelo Conceptual não
estivesse em funcionamento, seriam geradas mais duas LILs:
restaurante ( _23 )
comer ( _23 , JAVALI-restaurante )
bom ( JAVALI-restaurante )
EXACT ( JAVALI-restaurante , um )
em ( _23 , BRAGA-concelho )
e
restaurante ( _23 )
comer ( _23 , JAVALI-restaurante )
bom ( JAVALI-restaurante )
em ( _23 , BRAGA-concelho )
‡ O hotel Ritz tem telefone?
hotel ( RITZ-hotel )
telefone ( _29 )
ter ( RITZ-hotel , _29 )
Também existe um restaurante chamado Ritz. Assim, graças ao Modelo
Conceptual, a LIL seguinte é reprovada:
hotel ( RITZ-restaurante )
telefone ( _29 )
ter ( RITZ-restaurante , _29 )
‡ Qual é o endereço do hotel Tivoli?
localizacao ( _11 )
de ( _11 , TIVOLI-hotel )
‡ Em Arraiolos, quais são os hotéis com piscina, com sauna e com jacuzzi?
hotel ( _26 )
piscina ( _28 )
ter ( _26 , _28 )
ter ( _26 , sauna )
ter ( _26 , jacuzzi )
em ( _26 , ARRAIOLOS-concelho )
hotel ( _26 )
ter ( _26 , piscina )
ter ( _26 , sauna )
ter ( _26 , jacuzzi )
em ( _26 , ARRAIOLOS-concelho )
Repare-se que estas duas LILs se devem ao facto de piscina ter duas semânticas:
pode ser representada por uma constante − piscina − ou por uma fórmula com um
argumento − piscina(_28).
‡ Campo de golfe com mais de 18 buracos.
golfe ( _0 )
buraco ( _15 )
ter ( _0 , _15 )
SUP ( _15 , 18 )
125
‡ Qual é o maior lago de Portugal?
lago ( _29 )
maior ( _29 )
de ( _29 , PORTUGAL-nuts )
O facto de existir um hotel de nome Portugal, origina a LIL
lago ( _29 )
maior ( _29 )
de ( _29 , PORTUGAL-hotel )
invalidada pelo Modelo Conceptual pelo facto de um não existir relação entre um lago e
um hotel (supõe-se que é pedido o maior lago do hotel Portugal).
‡ Indique-me hotéis de 3 estrelas com piscina.
hotel ( _19 )
indicar ( _0 , _19 )
de ( _19 , 3-estrelas )
piscina ( _5 )
ter ( _19 , _5 )
hotel ( _19 )
indicar ( _0 , _19 )
de ( _19 , 3-estrelas )
ter ( _19 , piscina )
Também com esta frase, o Modelo Conceptual invalida as duas LILs que se seguem:
hotel ( _19 )
indicar ( _0 , _19 )
de ( _19 , 3-estrelas )
piscina ( _5 )
ter ( 3-estrelas , _5 )
hotel ( _19 )
indicar ( _0 , _19 )
de ( _19 , 3-estrelas )
ter ( 3-estrelas , piscina )
126
Download

Obra completa - Biblioteca Nacional de Portugal