Porque sorri a Mona Lisa?
Paula Alexandra Baptista da Silva Fonseca
Dissertação para obtenção do Grau de Mestre
em Engenharia Informática e de Computadores
Júri
Presidente:
Orientador: Doutora Maria Luísa Torres Ribeiro Marques da Silva
Coheur
Co-orientador: João Paulo da Silva Neto
Vogais:
Setembro 2009
Agradecimentos
Aos meus colegas do L2F, por partilharem os seus conhecimentos, passarem
horas diante de erros imperceptíveis de encoding e por terem partilhado
momentos de angustia e diversão na nossa sala.
Ao Gonçalo, que tão amavelmente cedeu o seu sistema de aprendizagem que foi
tão útil na tese.
À professora Luísa, pelo seu tempo e as suas reuniões semanais cheias de dicas
H LQFHQWLYRV 3HOD SDFLrQFLD H SHORV DYLVRV SUHFLRVRV ³4Xero isso feito até à
SUy[LPDVHPDQD´
Aos meus pais, pelo apoio dado nesta altura do curso. À minha mãe pelas ajudas
com o inglês.
Resumo.
O objectivo deste trabalho é a construção de uma plataforma ± denominada Art.Ask ±
capaz de responder a perguntas em língua natural sobre arte. Em termos mais específicos
este trabalho tem como objectivos: propor a arquitectura para esta plataforma; instanciar
essa arquitectura com dois casos de estudo no domínio das artes: pinturas e dados
biográficos relativos a artistas.
Deste modo foi desenvolvido o Art.Ask, uma plataforma que engloba um módulo de
extracção de informação e uma interface em língua natural, em Português, para o domínio
das obras de arte. Neste trabalho, o sistema responde a perguntas sobre pinturas (autor,
material, onde se encontra, etc.), bem como sobre dados biográficos de pintores (data
nascimento, data morte, etc.).
A arquitectura da aplicação baseia-se em quatro etapas: extracção de informação,
reconhecimento de entidades mencionadas, interpretação da questão e acesso à base de
dados. Inicialmente o sistema extrai informação da Wikipédia, faz o reconhecimento de
entidades mencionadas (recorrendo a várias técnicas que são alvo de comparação nesta
tese) e guarda-as numa base de dados. A interpretação da questão é igualmente realizada
recorrendo a várias técnicas que comparam a pergunta dada pelo utilizador com perguntas
pré-definidas. Com base na pergunta mais parecida, é calculada uma query SQL que acede
à base de dados e devolve a resposta ao utilizador.
Para além da avaliação de cada uma das etapas anteriores, o sistema foi avaliado
globalmente, no domínio das perguntas sobre pinturas e pintores. 62% das respostas foram
respondidas correctamente, 6% incorrectamente e 32% não foram respondidas.
Abstract
The aim of this work was to build a platform ± called Art.Ask ± that is able to answer
questions asked in natural language about art. We set out to create an architecture for this
platform and exemplify the architecture with two case studies about art: paintings and
biographical details about the artists.
The Art.Ask platform that was created includes an information extraction module and a
natural language interface in Portuguese for the art world. The system answers questions
about paintings (painter, material, current location, etc) and about the painters themselves
(date of birth and death, etc).
The programme architecture is based on four steps: data extraction, recognition of named
entity, question interpretation and database access. Initially, the system extracts information
from Wikipedia, recognizes named entity (relying on a series of techniques that will be
compared in this thesis) and stored in a database. The question interpretation also employs
various techniques that FRPSDUHWKHXVHU¶VTXHVWLRQZLWKSUH-defined ones. The most similar
question is chosen and an SQL query is calculated that accesses the database and returns
the answer to the user.
Apart from assessing each of the above steps individually, the system was also subjected to
an overall assessment using questions about paintings and painters and the results showed
that 62% of the questions were answered correctly, 6% incorrectly and 32% were not
answered.
Palavras-Chave: Língua Natural, Compreensão de língua natural, geração de resposta,
museu, obras de arte, base de conhecimento, diálogo, sistema de aprendizagem, entidades
mencionadas, dicionários.
Keywords: Natural Language, Natural language understanding, answer generation,
museum, art, knowledgebase, dialogue, machine learning, named entity, dictionary.
Índice 1
2
Introdução ..................................................................................................................... 1
1.1.
Motivação .............................................................................................................. 1
1.2.
Objectivos do Trabalho .......................................................................................... 1
1.3.
Problemática.......................................................................................................... 2
1.3.1
A Extracção de Informação ................................................................................ 2
1.3.2
A Interface em Língua Natural ............................................................................ 4
1.4.
Solução proposta ................................................................................................... 5
1.5.
Organização da tese .............................................................................................. 6
Trabalho Relacionado.................................................................................................... 7
2.1.
Organização do capítulo ........................................................................................ 7
2.2.
Max ....................................................................................................................... 7
2.2.1
Descrição geral .................................................................................................. 7
2.2.2
Arquitectura ....................................................................................................... 8
2.2.3
Módulo compreensão de língua natural .............................................................. 8
2.2.4
Avaliação ........................................................................................................... 8
2.3.
Guia Virtual ............................................................................................................ 9
2.3.1
Descrição geral .................................................................................................. 9
2.3.2
Arquitectura ....................................................................................................... 9
2.3.3
Base de conhecimento ..................................................................................... 10
2.3.4
Módulo compreensão de língua natural ............................................................ 10
2.3.5
Módulo de geração de resposta ....................................................................... 10
2.4.
Sargento Blackwell .............................................................................................. 10
2.4.1
Descrição geral ................................................................................................ 10
2.4.2
Arquitectura ..................................................................................................... 11
2.4.3
Base de conhecimento ..................................................................................... 12
2.4.4
Módulo compreensão de língua natural ............................................................ 12
2.4.5
Módulo de geração de resposta ....................................................................... 13
2.4.6
Sargento Star................................................................................................... 13
2.4.7
Descrição geral ................................................................................................ 13
2.4.8
Base de conhecimento ..................................................................................... 14
2.4.9
Avaliação ......................................................................................................... 14
i 2.5.
Robot INDIGO ..................................................................................................... 14
2.5.1
Descrição geral ................................................................................................ 14
2.5.2
Arquitectura ..................................................................................................... 15
2.5.3
Base de conhecimento ..................................................................................... 15
2.5.4
Emoções.......................................................................................................... 17
2.6.
Duarte Digital ....................................................................................................... 17
2.6.1
Descrição geral ................................................................................................ 17
2.6.2
Base de conhecimento ..................................................................................... 17
2.6.3
Módulo de compreensão de língua natural ....................................................... 18
2.6.4
Emoções.......................................................................................................... 18
2.6.5
Avaliação ......................................................................................................... 18
2.7.
Hans Christian Andersen ..................................................................................... 18
2.7.1
Descrição geral ................................................................................................ 18
2.7.2
Arquitectura ..................................................................................................... 19
2.7.3
Base de conhecimento ..................................................................................... 20
2.7.4
Módulo compreensão de língua natural ............................................................ 20
2.7.5
Módulo de geração de resposta ....................................................................... 22
2.7.6
Emoções.......................................................................................................... 23
2.7.7
Avaliação ......................................................................................................... 23
2.8.
Comparação ........................................................................................................ 23
2.9.
BirdQuest............................................................................................................. 24
2.9.1
Descrição Geral ............................................................................................... 24
2.9.2
Arquitectura ..................................................................................................... 25
2.9.3
Módulo compreensão de língua natural ............................................................ 26
2.9.4
Extracção de Informação.................................................................................. 26
2.9.5
Avaliação ......................................................................................................... 27
3.
Art.Ask: o sistema de base .......................................................................................... 29
3.1.
Organização do capítulo .......................................................................................... 29
3.2.
Caso de estudo: as pinturas..................................................................................... 29
3.2.1
A Wikipedia como fonte de informação............................................................. 29
3.2.2
As pinturas como caso de estudo ..................................................................... 31
3.2.3
As perguntas em causa sobre as pinturas ........................................................ 31
3.2.4
A etapa de extracção de informação ................................................................ 31
ii 3.2.5
A criação da base de dados ............................................................................. 33
3.2.6
Implementação da Interface em língua natural ................................................. 35
3.3.
4.
Exemplo de aplicação .............................................................................................. 35
Art.Ask: Extensão ........................................................................................................ 38
4.1.
Organização do capítulo .......................................................................................... 38
4.2.
Caso de estudo: Pintores ......................................................................................... 38
4.2.1
A Wikipedia como fonte de informação............................................................. 38
4.2.2
A etapa de extracção de informação ................................................................ 40
4.2.3
Extensão à base de dados ............................................................................... 41
4.3.
5.
Exemplo de aplicação .............................................................................................. 42
Extensões à Interface em Língua Natural .................................................................... 47
5.1.
Organização do capítulo .......................................................................................... 47
5.2.
Detecção de Entidades Mencionadas ...................................................................... 47
5.3.
Alternativas à distância de edição ............................................................................ 47
5.3.1
Técnicas experimentadas................................................................................. 48
5.3.1.1
Média pesada entre as medidas de Jaccard e Overlap ..................................... 48
5.3.1.2
Pré-processamento avançado .......................................................................... 49
6.
Avaliação .................................................................................................................... 50
6.1.
Avaliação do domínio das pinturas ........................................................................... 51
6.2.
Avaliação do domínio dos pintores ........................................................................... 51
6.3.
Avaliação da extensão à interface............................................................................ 52
6.3.1
Avaliação da detecção de entidades mencionadas ........................................... 52
6.3.2
Avaliação das técnicas de similaridade ............................................................ 53
6.4.
Avaliação Final ........................................................................................................ 53
6.5.
Resultados .............................................................................................................. 54
6.5.1
Ausência de tratamento ................................................................................... 54
6.5.2
Acesso à wikipédia........................................................................................... 54
6.5.3
Entidades Mencionadas ................................................................................... 55
6.5.4
Erros ortográficos............................................................................................. 55
7.
Conclusão e Trabalho Futuro....................................................................................... 56
7.1.
Contribuições e Principais Conclusões..................................................................... 56
7.2.
Trabalho Futuro ....................................................................................................... 56
iii Lista de Figuras
Figura 1 - Informação sobre a Mona Lisa .............................................................................. 3
Figura 2 - LQIRUPDomRGRTXDGUR³$FULDomRGH$GmR´ ............................................................ 3
Figura 3 - LQIRUPDomRGRTXDGUR³*XHUQLFD´ .......................................................................... 4
Figura 4 - Arquitectura do sistema ......................................................................................... 5
Figura 5 - Guia virtual ............................................................................................................ 9
Figura 6 - Arquitectura do guia virtual .................................................................................... 9
Figura 7 - Arquitectura Sargento Blackwell .......................................................................... 12
Figura 8 - Arquitectura INDIGO ........................................................................................... 15
Figura 9 - Estado da informação do INDIGO ....................................................................... 16
Figura 10 - Regras de actualização INDIGO ........................................................................ 16
Figura 11 - Arquitectura HCA .............................................................................................. 19
Figura 12 - NLU do HCA ..................................................................................................... 20
Figura 13 - Arquitectura BirdQuest ...................................................................................... 25
Figura 14 - 4XDGURVGHUHVXPRUHWLUDGRVGD³1RLWH(VWUHODGD´HGD³(VFRODGH$WHQDV´ ...... 30
Figura 15 - Informação sobre A Deposição de Cristo no Túmulo.......................................... 30
Figura 16 - Página da wikipéda da Noite Estrelada .............................................................. 35
Figura 17 - Página da wikipéda de Panéis de S. Vicente de Fora ........................................ 36
Figura 18 - 4XDGURVGHUHVXPRGH³3DEOR3LFDVVR´H³/HRQDUGRGD9LQFL´ .......................... 39
Figura 19 - Página da WLNLSpGLDGH³'RQDWHOOR´ ................................................................... 39
Figura 20 - Quadro de resumo de Picasso etiquetado ......................................................... 40
Figura 21 - Texto de Picasso etiquetado.............................................................................. 40
Figura 22 - 3iJLQDGD:LNLSpGLDGH³9DQ*RJK´ .................................................................. 43
Figura 23 - 3iJLQDGD:LNLSpGLDGH³6DQGR%RWWLFHOOL´.......................................................... 44
Figura 24 - Interface do Art.Ask ........................................................................................... 45
iv Lista de Tabelas
Tabela 1. Comparação dos sistemas................................................................................... 24
Tabela 2. Texto arrumado na base de dados BirdQuest ...................................................... 27
Tabela 3. Avaliação BirdQuest ............................................................................................ 28
Tabela 4. Resultados da extracção de informação sobre pinturas........................................ 51
Tabela 5. Resultados do sistema de aprendizagem para etiquetar informação sobre pintores
............................................................................................................................................... 52
Tabela 6. Resultados do sistema de aprendizagem para detecção de entidades
mencionadas .......................................................................................................................... 52
Tabela 7. Resultados das técnicas de similaridade .............................................................. 53
Tabela 8. Resultados finais ................................................................................................. 54 v 1
Introdução
1.1. Motivação
Nos últimos anos têm havido grandes progressos na utilização de meios tecnológicos em
museus, onde simples quadros têm sido substituídos por quadros falantes1 ou guias por guias
virtuais.
Tendo vindo a crescer o número de agentes virtuais em museus. Estes agentes podem
responder a perguntas sobre peças de arte para que os visitantes fiquem a saber mais
pormenores sobre estas, contar histórias sobre as peças ou até mesmo fazer uma visita guiada
pelo museu. Estes agentes têm-se apresentado como uma grande promessa nos museus,
dado que permitem personalizar as visitas, sendo uma mais-valia junto das camadas mais
jovens.
Estes sistemas têm uma base de conhecimento associada e operam sobre sistemas de
diálogo mais ou menos sofisticados. Dada a complexidade destes agentes, há ainda muito
trabalho por fazer nesta área, em particular nas tarefas relativas à interpretação de perguntas e
criação da base de conhecimento que, tradicionalmente, é feita de modo manual, não fazendo
valer as técnicas de extracção de informação disponíveis hoje em dia. São pois estas duas
tarefas que estão em foco neste trabalho.
1.2. Objectivos do Trabalho
O objectivo deste trabalho é a construção de uma plataforma ± denominada Art.Ask ± capaz
de responder a perguntas em língua natural sobre arte. Em termos mais específicos este
trabalho tem como objectivos:
1) Propor uma arquitectura para esta plataforma;
2) Instanciar essa arquitectura com dois casos de estudo no domínio das artes: pinturas e
dados biográficos relativos a artistas.
Assim sendo, nesta tese vai-se construir uma base de dados, extraída de modo
automático a partir de textos sobre arte nos subdomínios em jogo, bem como uma
interface em língua natural que permita ao sistema responder a perguntas feitas pelo
utilizador em língua natural, sobre esses subdomínios.
1
Quadros falantes podem ser encontrados no museu Alive Gallery na Korea do Sul (http://eng.alive-­
gallery.com/main.htm) pode-­se ver um exemplo desses quadros em: http://www.youtube.com/watch?v=NlO5aDKlrjI. 1 1.3. Problemática
Estamos a entrar gradualmente numa sociedade em que estão disponíveis múltiplas fontes
de informação electrónica, para apoiar as actividades do dia-a-dia. Ser capaz de aceder à
informação não significa, necessariamente, que seja fácil encontrar a informação relevante
para uma determinada tarefa, numa determinada situação. Além do mais, a maior parte da
informação encontra-se em textos ou em documentos semi-estruturados, e não em bases de
dados. Este é um dos principais problemas dos sistemas em museus: como ir buscar
informação sobre a qual o agente será capaz de falar? O segundo problema diz respeito à
interface a desenvolver. Nas secções que se seguem descreve-se esta problemática.
1.3.1
A Extracção de Informação
Existem várias fontes de informação sobre arte disponíveis na Web, desde enciclopédias online
(pt.wikipedia.org/,
passando
www.infopedia.pt/),
por
páginas
de
museus
(http://www.mnarteantiga-ipmuseus.pt/), até textos de peritos. Esta informação pode estar
descrita de forma estruturada, pouco estruturada, ou sem estrutura (texto livre). A
facilidade/dificuldade com que é feita a extracção de informação depende da forma como os
textos são apresentados, pelo que o Art.Ask só pode usar uma dada fonte de informação se for
capaz de a processar e dela extrair a informação relevante.
Muitas das definições de extracção de informação estão ligadas às técnicas utilizadas pelas
várias comunidades científicas. Por exemplo Hamish Cunningham [26] define extracção de
LQIRUPDomR FRPR ³XPD WHFQRORJLD EDVHDGD HP DQiOLVH GH OtQJXD QDWXUDO D ILP GH H[WUDLU
ERFDGRV GH LQIRUPDomR´ 'H DFRUGR FRP HVWH DXWRU R SURFHVVR UHFHEH WH[WRV RX YR] H
produz dados num formato fixo e não ambíguo. Esta definição está fortemente ligada à
comunidade de Processamento de Língua Natural. Contudo, extracção de informação não é
aplicada apenas a textos de língua natural. Na verdade, é possível executar tarefas de
extracção em textos semi-estruturados como textos HTML e XML.
O processo de extracção de informação depende muito do tipo de texto de onde se está a
extrair, se este está estruturado ou não, bem como do tipo de informação que se pretende
obter.
Se o texto estiver estruturado, tal como se pode ver no exemplo da Figura 12, se o sistema
for capaz de identificar as entidades mencionadas envolvidas, bem como alguns termos do
domínio, estão criadas as condições para a identificação da informação relevante a guardar na
base de dados.
2
Informação obtida na wikipédia (http://pt.wikipedia.org/wiki/Mona_lisa a 5/6/2009) 2 Mona Lisa
Leonardo da Vinci, 1503-1507
óleo sobre madeira de álamo
77 × 53 cm
Museu do Louvre
Figura 1 - Informação sobre a Mona Lisa
Nos casos em que o texto não se encontra estruturado, torna-se mais difícil identificar a
informação relevante em causa. Entre outros, a informação relevante (ou parte dela) pode ser
recuperada através de expressões regulares, dicionários de entidades mencionadas do
domínio, e ainda através de técnicas que permitam identificar relações entre as entidades. Ou
seja:
x
As expressões regulares podem ser usadas quando é possível escrever uma
expressão regular que capture a entidade mencionada desejada. Por exemplo, o
tamanho de um quadro ou uma data podem ser capturados por expressões
regulares,
x
Dicionários do domínio, a existirem, permitem identificar entidades, tais como o autor
da obra, o nome do quadro, etc.
As relações entre entidades permitem extrair informação mais complexa, como, por
exemplo, que um autor é responsável por uma obra. Para recuperar este tipo de informação
normalmente não basta usar entidades mencionadas ou dicionários, sendo necessário recorrer
a técnicas de Processamento de Língua Natural mais sofisticadas. Podem também ser usadas
técnicas de aprendizagem, em que o sistema recebe um conjunto de treino etiquetado e
aprende onde se encontram as entidades/relações.
Segue-se um exemplo (Figura 23) de um texto com informação não estruturada referente ao
quadro ³$FULDomRGH$GmR´:
A Criação de Adão é um afresco de 280 cm x 570 cm, pintado por Michelangelo
Buonarroti por volta de 1511, que figura no tecto da Capela Sistina. A cena representa
um episódio do Livro do Gênesis no qual Deus cria o primeiro homem: Adão
Figura 2 - informação do quadro ³$FULDomRGH$GmR´
Informação obtida na wikipédia (http://pt.wikipedia.org/wiki/A_cria%C3%A7%C3%A3o_de_ad%C3%A3o a
5/6/2009)
3
3 Deste texto consegue-se extrair facilmente o tamanho do quadro e a data em que foi feito,
através de expressões regulares. O nome do pintor, o local onde se encontra o quadro e o tipo
de material podem ser encontrados através de dicionários. O problema mais complicado é
relacionar as entidades.
Tal não acontece no exemplo que se segue (Figura 34), com informação referente ao quadro
³*XHUQLFD´:
Guernica é um painel pintado por Pablo Picasso em 1937 por ocasião da Exposição
Internacional de Paris. Foi exposto no pavilhão da República Espanhola. Medindo 350 por
782 cm, esta tela pintada a óleo é normalmente tratada como representativa do
bombardeio sofrido pela cidade espanhola de Guernica em 26 de abril de 1937 por aviões
alemães, apoiando o ditador Francisco Franco. Actualmente está no Centro Nacional de
Arte Rainha Sofia, em Madrid.
3 - informação do quadro ³*XHUQLFD´
Figura
Existem duas datas nesta informação e para se obter a data em que o quadro foi feito não
bastam expressões regulares/dicionários para identificar a data e a obra; neste caso é preciso
também descobrir qual a relação entre a entidade data e a obra. Essa relação é dada pela
H[SUHVVmR ³3LQWDGD HP´ O mesmo acontece com o local onde a obra se encontra, dado que
existem dois locais no texto (onde o quadro esteve e onde está actualmente).
Dificuldades à parte, o Art.Ask deverá ser capaz de extrair informação sobre arte e arrumá-la
numa base de dados.
1.3.2
A Interface em Língua Natural
A interface em língua natural permite aos utilizadores do sistema acederem à informação em
português. A interface pode ser desenvolvida de modo a aceitar:
x
Palavras-chave ± onde o utilizador insere palavras-chave sobre o que quer procurar.
Por exemplo, se pretender alguma informação sobre a Mona Lisa, pode inserir a
palavra-FKDYH ³0RQD /LVD´ (VWD DERUGDJHP p IiFLO GH LPSOHPHQWDU PDV p Puito
ambígua. No exemplo anterior, o que é que o utilizador quer saber sobre a Mona
Lisa? Quem a pintou? Quando foi feita? Onde está?
x
Sequências de palavras ± onde o utilizador insere várias palavras sobre o que quer
procurar. Por exemplo, se pretende saber qual o autor da Mona Lisa, pode escrever
³DXWRU GH 0RQD /LVD´ (VWD DERUGDJHP SHUPLWH UHGX]LU DV DPELJXLGDGHV GD
abordagem anterior.
x
Frases completas ± onde o utilizador insere uma frase com a pergunta em língua
natural. Por exemplo, se pretende saber o autor da Mona Lisa, poderia escrever
Informação obtida na Wikipédia (http://pt.wikipedia.org/wiki/Guernica_(quadro), a 5/6/2009)
4
4 ³4XHPpRDXWRUGD0RQD/LVD"´(VWDDERUGDJHPSHUPLWHDRXWLOL]DGRUH[SUHVVDU-se
em língua natural, tal como faz naturalmente.
Optou-se por aceitar apenas frases completas, mas mantém-se o problema que advém do
facto de uma pergunta poder ser formulada de inúmeras maneiras distintas.
1.4. Solução proposta
O Art.Ask compreende um módulo de extracção de informação a partir de uma fonte de
informação na Web (nesta fase a wikipédia, e apenas informação referente a pinturas e
pintores). Inicialmente essa informação é extraída para ficheiros, sendo de seguida filtrada de
modo a recuperar a informação necessária ao preenchimento da base de dados (por
exemplo, nome do artista, nome da obra, local onde se encontra a obra). É esta informação
que vai ser utilizada para responder às perguntas do utilizador.
Questão Fontes de Informação Web Ficheiro
Extracção de Informação s B.D SQL Interface resposta Figura 4 - Arquitectura do sistema
Faz ainda parte da arquitectura do Art.Ask, uma interface em língua natural que permite aos
utilizadores colocarem as suas questões (em Português) e acederem à informação do sistema.
Nesta interface, a pergunta em língua natural é mapeada em SQL, sendo de seguida feita a
consulta à base de dados. Caso essa informação não exista na base de dados, o sistema vai,
em run-time, consultar fontes de informação na Web.
Esta decisão de guardar informação em base de dados, para além de tornar mais rápida a
consulta, torna possível:
x
Usar o sistema localmente, sem acesso à internet;
x
Inserir informação manualmente na base de dados.
Por outro lado, dado que a base de dados pode não estar actualizada, pode ser realmente
necessário consultar a Web em run-time.
5 1.5. Organização da tese
No capítulo 2 são analisados sistemas que se encontram em museus e os diversos módulos
que os constituem. É analisado também um sistema que apesar de não estar num museu, tem
uma etapa de extracção de informação bem definida, etapa em foco nesta tese.
No capítulo 3 é descrito o desenvolvimento do sistema para o primeiro caso de estudo, cujo
foco são as pinturas.
No capítulo 4 é apresentada uma extensão ao Art.Ask, onde se acrescentou um novo caso
de estudo: os pintores. Dado que se trata de uma tarefa mais ambiciosa, descreve-se nesta
secção as alterações que foram necessárias implementar em cada etapa.
No capítulo 5 são apresentadas soluções para o melhoramento da interpretação da questão,
tanto ao nível da identificação das entidades mencionadas, como ao nível de encontrar a
pergunta-tipo mais parecida com a pergunta original.
A avaliação global do sistema e a análise dos resultados obtidos é feita no capítulo 6.
No capítulo 7 são apresentadas as conclusões do trabalho e o trabalho futuro a desenvolver.
6 2
Trabalho Relacionado
2.1. Organização do capítulo
Como o objectivo deste trabalho é desenvolver um sistema para um museu, começou-se por
analisar sistemas em museus, nomeadamente como realizavam as várias etapas e que etapas
continham. Ao analisar-se esses sistemas reparou-se que nenhum tinha uma etapa de
extracção de informação, sendo a informação colocada manualmente. Deste modo decidiu-se
analisar um sistema focado na etapa de extracção de informação, mas que não se encontra
num museu. Deve-se chamar a atenção para o facto de não estarem em foco nesta tese
técnicas de extracção de informação, dado que esse é o tema de uma tese de mestrado a
decorrer este ano [19].
Assim, na primeira parte deste capítulo são descritos os agentes em museus e as várias
etapas em análise, nomeadamente:
x
Descrição geral do sistema;
x
Arquitectura;
x
Base de conhecimento;
x
Módulo compreensão de língua natural (NLU);
x
Módulo de geração de resposta;
x
Emoções do sistema;
x
Avaliação do sistema;
É ainda apresentado um quadro de comparação destes sistemas. No final do capítulo, tal
como já foi referido, descreve-se um sistema que não se encontra num museu, mas que
contém uma parte de extracção de informação bem documentada.
2.2. Max
2.2.1
Descrição geral
Max é um agente de conversação, com aspecto humano, que se encontra no museu Heinz
Nixdorf MuseumsForum em Paderborn, na Alemanha, e que é capaz de manter uma conversa 5
com os utilizadores [1]. O Max consegue expressar emoções que tornam a conversa mais real,
onde o estado emocional afecta o seu comportamento. Por exemplo, a velocidade de fala, as
taxas de respiração e de piscar de olhos, e as expressões faciais são afectadas de acordo com
o seu estado emocional.
Max é visualizado em tamanho semelhante ao humano num ecrã estático, erguendo-se facea-face com os visitantes do museu, possui uma câmara que lhe permite detectar se há pessoas
à sua frente com as quais pode começar uma conversa sobre o museu, a exposição, ou outros
assuntos de interesse e até pode fazer jogos como os de adivinhas. Os utilizadores interagem
5
Entende-­se por conversa um diálogo contínuo onde tem de haver a preocupação de este não puder acabar, não bastando um simples diálogo de pergunta/resposta. 7 com o Max através da língua natural escrita usando um teclado e este responde oralmente em
Alemão.
2.2.2
Arquitectura
A arquitectura do Max está dividida em reactiva e deliberativa. Por um lado Max reage a
acontecimentos recebidos (como uma pergunta de um utilizador) e por outro consegue criar
objectivos (como manter a conversa através da alteração do tema). O componente deliberativo
encarrega-se dos três passos básicos da criação de comportamento de conversação:
interpretar um evento novo, decidir como reagir dependendo do contexto actual, e produzir a
resposta apropriada. Todos os processos nos componentes deliberativos são realizados por
um modelo BDI (belief, desire and intention) [18] composto por crenças (o que o agente
conhece do mundo), desejos (o que o agente pretende) e intenções (os desejos que consegue
concretizar naquele momento), e cria um plano com acções para realizar as intenções. O
modelo BDI pontua todos os planos em função da sua utilidade e aplicação no contexto, sendo
o plano mais adequado seleccionado para ser executado.
2.2.3
Módulo compreensão de língua natural
Partindo do input do utilizador, a primeira fase no processo deliberativo é a interpretação.
Primeiro, são identificados conceitos semânticos gerais (negação, concordância, adjectivo,
referências) através de simples regras de correspondência de padrões. O segundo passo
determina a função comunicativa, novamente, utilizando regras dedicadas cujas pré-condições
correspondem a palavras reais (palavras-chave), a ocorrência de conceitos semânticos, ou
entradas do discurso ou modelo do utilizador.
Um exemplo de uma regra com palavras-chave é: se encontrar <palavras-chave> bye,cu,
cya, exit, quit, ciao, ade, adios, hasta*, auf wieder*, tschoe, tschues*, tschau, und weg, so long,
machs gut,bis bald,bis dann,bis spaeter,wiedersehen</palavras-chave> então usar função de
despedida.
2.2.4
Avaliação
Foram analisados os logs e verificou-se que o Max conseguiu reconhecer uma conversa em
63% dos casos e que o agente é mais activo do que o utilizador, tal pode dever-se ao facto de
o utilizador usar um teclado para a conversa.
No que respeita às estratégias semelhantes às dos humanos de começar/acabar
conversações, concluiu-se que especialmente a saudação é popular quando se confrontam
com Max (utilizada em 57.6% dos diálogos). Isto pode ser desencadeado pela saudação do
agente. Mas, dado que o utilizador pode terminar a conversação simplesmente afastando-se do
sistema, é notável que pelo menos 29.8% das pessoas tenham dito adeus a Max. No geral Max
foi bem recebido pela população do museu onde as pessoas de utilizavam estratégias de
comunicação semelhantes às das relações entre humanos.
8 2.3. Guia Virtual
2.3.1
Descrição geral
Figura 5 - Guia virtual
O Guia virtual [2] é um sistema que tem como objectivo fazer uma visita guiada
personalizada a um navio português do século XVI. Esta visita é feita virtualmente, sendo o
utilizador acompanhado por um guia virtual que estabelece um diálogo guia-utilizador,
enquanto mostra os vários pisos do navio. O guia fornece informações sobre a visita e
responde a perguntas textuais, em língua natural, dos utilizadores através de fala e gestos.
Além disso, o guia tenta oferecer orientação personalizada, contando histórias e promovendo a
participação dos utilizadores através da visita. Essas histórias e informações adicionais podem
ser fornecidas consoante o interesse mostrado pelo utilizador.
2.3.2
Arquitectura
O sistema está dividido em duas componentes:
x
Um sistema de processamento de língua natural
x
Um agente
O sistema de processamento de língua natural processa a informação vinda dos
utilizadores, através do módulo de compreensão de língua natural, fornecendo um script, ao
módulo de geração de resposta, a partir do conteúdo de uma base de conhecimento com
instruções para o guia (diálogo, gestos). O agente desempenha essas instruções com gestos e
diálogos.
Processamento de Língua Natural Input Output NLU Gerador respostas Figura 6 - Arquitectura do guia virtual
9 Base De Conhecimento 2.3.3
Base de conhecimento
A base de conhecimento contém:
x
O histórico do diálogo;
x
Palavras-chave, de 3 tipos: palavras-FKDYHJHUDLVWDLVFRPRROiDGHXV«SDODYUDVchave específicas de salas (tais como: deck, comida, corda, bússola...) e palavras-chave
pós-diálogo (tais como: boa, interessante).
x
Pré-condições para a escolha da linha de diálogo (para não repetir a informação dada);
x
A história pessoal do guia turístico e configurações de humor;
2.3.4
Módulo compreensão de língua natural
O interesse do utilizador numa dada sala do navio é determinado através da existência de
palavras-chave nas reacções do utilizador aos comentários que o guia faz, depois de o
utilizador ter explorado a sala. De acordo com essas reacções o guia pode fornecer (ou não)
histórias extra sobre a sala. Os comentários do guia são propositadamente provocadores. Por
H[HPSOR³9LXDFRUGDDRODGRGRFHVWRGDFDVDGHEDQKR"9RFrVDEHSDUDTXHIRLXWLOL]DGR"
"Você gosta de azeite e vinagre?".
Deste modo, durante esse diálogo, o guia verifica a existência de algumas palavras de
suporte (como "boa", "fixe", "interessante", "realmente?", "certo", ....). Com essas palavras, o
guia turístico pressupõe que o utilizador está interessado e fornece mais informações sobre o
quarto.
Outra forma de detectar o interesse é através das perguntas que o utilizador faz sobre uma
sala, quando o utilizador faz uma pergunta, o guia oferece a resposta e narra histórias extra.
Quando o utilizador aceder à sala em causa.
2.3.5
Módulo de geração de resposta
As respostas podem ser de três tipos:
x
Gerais ± quando são feitas perguntas sobre temas gerais cujo foco não é o navio da
YLVLWD6HRJXLDGHWHFWDTXHQmRVDEHUHVSRQGHUGL]³QmRHVWRXDXWRUL]DGRDUHVSRQGHU´
x
Sobre as salas do navio ± quando é feita uma pergunta sobre uma sala ou um objecto
contido na sala, o guia responde com respostas adequadas.
x
Informação extra ± quando o guia detecta que o utilizador está interessado numa sala ou
num objecto, o guia fornece mais informação.
Dada uma pergunta do utilizador, é seleccionado o tipo em que a resposta se enquadra e
escolhida a resposta mais correcta.
2.4. Sargento Blackwell
2.4.1
Descrição geral
O Sargento John Blackwell é uma personagem interactiva virtual a 3D à escala humana [3]
que representa um soldado do exército, simulado para responder a perguntas sobre o ICT
10 (Institute for Creative Technologies), o exército e tecnologias de personagens virtuais.
Consegue também responder a outras perguntas fora do domínio e estruturar as respostas a
essas perguntas baseando-se em palavras reconhecidas nas perguntas e que se encontram no
seu vocabulário. Por exemplo, quando é perguntado, "Que horas são?" Ele pode responder, "O
quê, eu sou um relógio?".
O Sargento John Blackwell tem animações faciais e comportamento que o tornam realista;
periodicamente dá passos de um pé para outro, flexiona as mãos, e move a cabeça. Um
utilizador fala com o sargento usando microfone. A fala do utilizador é convertida em texto
utilizando um sistema de reconhecimento automático de discurso. A personagem pode dizer
entre 83 a 230 linhas faladas desde uma simples palavra a alguns parágrafos de um monólogo.
As linhas faladas foram gravadas e são acompanhadas por gestos reais que foram gravados
por captura de movimento.
O sargento tem viajado pelos Estados Unidos de modo a mostrar as suas capacidades.
Começou por ir à 24th Army Science Conference, passando pela Presidential Classroom, pelo
museu Cooper-Hewitt em Nova York e pelo Institute of Contemporary Art, em Boston.
Segue-se um exemplo de um diálogo de um participante com o SGT Blackwell. Cada uma
das perguntas do participante (desLJQDGR SRU ³5HSyUWHU´ QHVWD WUDQVFULomR p VHJXLGD SHOR
resultado do reconhecedor (frase entre parêntesis), ou seja, pelo resultado do módulo que faz a
tradução da frase dita pelo utilizador oralmente para uma frase escrita, na frase entre
parêntesis.
Repórter: Quem o criou (Quem o criou)
Blackwell: Para lhe dizer a verdade, passei muito tempo com uns tipos giros no ICT,
testando e ajustando. Estou praticamente pronto para sair de lá e treinar com soldados
verdadeiros. Estou a pensar que a primeira paragem vai ser em Fort Sill. Mas o meu objectivo
final é ser mobilizado...
Repórter: Como é que pode melhorar (Como é que pode ser melhor)
Blackwell: Pare de resmungar. Estava a brincar. Não percebi essa.
2.4.2
Arquitectura
O gestor de diálogo do Sargento Blackwell consiste em quatro processos [4], como
mostrados na
x
Figura 7 e que se resumem de seguida:
Interpretação (NLU) ± Interpreta o que o utilizador diz.
11 x
Actualização de mudanças ± Num diálogo a informação pode ser alterada6 e o estado
da informação do sistema tem que estar de acordo com o diálogo actual. Isso pode
incluir a adição, exclusão, ou modificação de alguns aspectos do estado da informação.
x
Selecção - Processo de decisão do que fazer, escolha da resposta mais adequada dado
o estado da informação actual. Este processo pode ser implementado como um conjunto
de regras de selecção.
x
Realização ± Executa os comportamentos físicos, tais como fala e gestos, que foram
seleccionados anteriormente, de acordo com o contexto do diálogo actual.
As etapas de selecçao e realizaçao englobam a etapa de geração de reposta explicada
mais à frente.
NLU Realização Actos do discurso Actualização Diálogo + Gestos Selecção Base de Conhecimento Figura 7 - Arquitectura Sargento Blackwell
2.4.3
Base de conhecimento
O estado da informação é muito simples e consiste apenas na história local das últimas
informações, e dois pontos limites: um para evitar a duplicação de respostas no domínio
(quando possível), e o outro para evitar a repetição de respostas fora do tópico. Há também um
modelo baseado em regras que mapeia as perguntas em respostas.
2.4.4
Módulo compreensão de língua natural
Uma parte crucial do sistema do sargento é o módulo de compreensão da língua [5] que
analisa as frases que vêm do sistema de reconhecimento de voz e selecciona a resposta
apropriada. O problema principal com a compreensão da língua é a incerteza. Há duas fontes
de incerteza num sistema de diálogo falado: a primeira é a natureza complexa da linguagem
natural (incluindo ambiguidade, palavras vagas, sem especificação, discurso indirecto, etc,),
tornando difícil caracterizar compactamente o mapeamento do que é dito para o seu verdadeiro
significado; e o segundo é o erro do output vindo do módulo de reconhecimento da fala. Uma
possível aproximação para criar um sistema de compreensão é desenhar um conjunto de
regras que seleccionem uma resposta para uma dada pergunta a partir de uma série de textos
dados como input. Por causa da incerteza, esta aproximação pode rapidamente tornar-se
impossível de tratar para pouco mais do que as tarefas mais triviais. Deste modo, neste
sistema foram utilizadas técnicas estatísticas e/ou de Machine Learning. Para detalhes sobre
HVWDVWpFQLFDVFRQVXOWDU««
6
Por exemplo, caso existam novas informações, ou o utilizador seja outro. 12 2.4.5
Módulo de geração de resposta
Existe um modelo de mapeamento de tradução de um modelo de linguagem para perguntas,
para um modelo de linguagem para respostas, tal como visto atrás, usado para pontuar cada
resposta. Isso permite elevada confiança nas perguntas conhecidas, bem como a robustez
para erros do reconhecimento da fala e outras pequenas diferenças de fazer a pergunta.
O sargento contém respostas feitas à mão que estão divididas em três categorias:
x
³'R GRPtQLR´ - Respostas do domínio cobrem a identidade do personagem, a sua
origem, objectivos e alguns temas diversos como "Que horas são?" e "onde eu posso
conseguir o meu café?".
x
³)RUDGRWySLFR´- Quando o sargento detecta uma questão que não pode ser respondida
com uma das linhas do conteúdo focado, ele selecciona uma das respostas do fora
tópico, ex. "Eu não estou autorizado a comentário sobre isso ".
x
³$YLVRV´- Servem para dirigir as perguntas para o bom domínio. No caso de o utilizador
insistir em respostas a perguntas para os quais o personagem não tem resposta, o
sistema tenta mandar o utilizador de volta à conversa do domínio, sugerindo uma
pergunta: "Deve perguntar-PHVREUHDPLQKDWHFQRORJLD´
Um tema pode ser coberto por várias respostas, por isso, se formularmos a mesma pergunta
muitas vezes, o sargento responde com respostas diferentes. O utilizador pode pedir
especificamente uma resposta alternativa ao perguntar algo na linha do "tem alguma coisa a
acrescentar?" ou "Mais alguma coisa?". Este é o primeiro dos dois tipos de expressões de
repetição que o Sgt Blackwell compreende. O segundo tipo é um pedido directo para repetir a
resposta anterior, por exemplo, "repita lá? "ou "o que foi isso?". Se o utilizador persistir em
perguntar sobre a mesma questão outra e outra vez, o personagem pode ser forçado a repetir
a sua resposta e começa a frase com por exemplo "Deixa-PHGL]HULVWRRXWUDYH]«
2.4.6
Sargento Star
Inicialmente era para haver duas versões do sargento, um virtual a 3D, o Sargento Blackwell,
e outro em 2D no website do exército que ajudava nas pesquisas, o Sargento Star. Mas o
sucesso deste segundo foi tão grande que lhe fizeram também uma versão a 3D em tamanho
real e com personalidade. O seu peito move-se com cada respiração, as suas sobrancelhas
mexem-se com certas questões. Ele fala, ele encolhe os ombros, ele ri e ele informa. O
sargento Star passou assim a ser uma evolução do Sargento Blackwell e tal como o este, o
sargento Star responde também a perguntas de domínio limitando, sendo este domínio o
mesmo em ambos os sargentos.
2.4.7
Descrição geral
O sargento Star [6] começou por ser uma personagem que ajudava os visitantes do website
do exército Americano a encontrar a informação que estavam à procura, de forma rápida e
eficaz. Ao contrário de outras soluções, como os IDT¶V TXH SUHWHQGHP VHU ³LQWHOLJHQWHV´ R
13 sargento dá informação precisa, identificando a intenção do utilizador, percebendo que
informação é necessária numa situação específica e esclarecendo as suas dúvidas
perguntando.
O sargento Star sabe quando transferir os utilizadores para uma pessoa real. Deixando
pedidos diários nas mãos do sargento, os recrutas do exército podem centrar-se sobre as
chamadas que exigem realmente a intervenção humana.
A sua interface é fácil de usar, um visitante do GoArmy.com7 faz perguntas simples em
língua natural numa caixa de texto e o sargento responde com voz, texto, ou ambas
2.4.8
Base de conhecimento
A informação contida na base de conhecimento resultou de reuniões com recrutadores do
exército, revisão de históricos de seis meses de conversas e examinação do site existente.
Com isto conseguiu-se descobrir facilmente os tópicos ou temas que eram mais relevantes
para os visitantes do site.
2.4.9
Avaliação
O exército começou a ver resultados visíveis quase imediatamente após o lançamento do
sargento. O sargento fez com que fossem precisas menos pessoas a responder a perguntas e
menos dinheiro gasto em call centers. Fez também com que a percepção das pessoas em
relação ao exército, visto como uma instituição velha, se alterasse e passasse a uma instituição
inovada e cheia de tecnologia. O sargento responde a uma média de 100.000 perguntas por
mês das quais 92% foram respondidas correctamente. Dos restantes 8% estima-se que
metade tenham sido perguntas fora de tópico.
2.5. Robot INDIGO
2.5.1
Descrição geral
O INDIGO é um robot que é capaz de interagir com os humanos em linguagem natural [7] e
encontra-se no Hellenic Cosmos, em Atenas. É capaz de se movimentar no meio de multidões
e reconhecer gestos humanos básicos. Finalmente, está equipado com um ecrã táctil utilizado
para controlar a interacção e uma cabeça no qual podem ser exibidas diferentes características
faciais. O robot está desenhado para poder responder aos desejos dos visitantes, permitindolhe guiar as visitas ao museu e fazer perguntas simples.
As expressões faciais da cabeça do robot INDIGO são: discurso de lábios sincronizados,
movimento facial quando está inactivo, movimento da cabeça, piscar de olhos, expressões
emocionais (cara triste, alegre), expressões de conversação (fazer perguntas, encolher os
ombros) e um comportamento de olhar fixo para um objecto.
7
http://sgtstar.goarmy.com/welcome.aspx 14 2.5.2
Arquitectura
Figura 8 - Arquitectura INDIGO
As acções dos visitantes (expressões e gestos) são analisadas por ferramentas de
linguagem e visão. Os resultados da análise são fundidos e passados para o módulo de
geração de resposta8, que é responsável por gerar uma acção do robot em resposta. Os
resultados da análise linguística, dados pelo módulo LNU9 também são passados para o
módulo de personalidade do robot, que avalia a emoção na expressão do visitante. Se a acção
do robot for descrever um objecto, o módulo de geração de resposta consulta o módulo de
personalidade do robot para receber os parâmetros afectivos associados com o possível
objecto a descrever (por exemplo, se o robot gosta de falar sobre esta classe particular de
objectos). Estes parâmetros são utilizados pelo módulo de geração de resposta para tomar a
decisão final sobre o objecto a descrever e esta escolha também gera uma avaliação
emocional. Ambos os aspectos, a acção do utilizador e as avaliações da acção do robot, são
transmitidos para a máquina de estado emocional, que actualiza o humor e o estado emocional
do robot e resulta numa anotação da acção do robot. Esta anotação é utilizada por NLG
(geração da fala) e pela cabeça do robot para modular a voz e a expressão facial deste.
O domínio de ontologia contém os recursos de linguagem associados à ontologia (léxico,
gramática) e os modelos do utilizador, que descrevem as preferências estatísticas do utilizador.
2.5.3
Base de conhecimento
O modelo do robot contém:
x
O estado da informação (IS), que é utilizado para armazenar informação no estado
corrente do diálogo.
x
O modelo de Actualização do diálogo (Update) que corresponde a uma série de regras
de actualização que determinam como o input do utilizador afecta o IS.
8
Os autores chamam a esta etapa gestor de diálogo e acção (DAM, do inglês Dialogue and Action Manager) 9
Os autores chamam a esta etapa Natural Language Analysis 15 Um exemplo de um IS é mostrado na Figura 9 como uma matriz atributo-valor, para o
diálogo:
87,/,=$'253RVVRYHUXP³VWRD10´"
SISTEMA: Siga-me, por favor.
Figura 9 - Estado da informação do INDIGO
OBJECTS guarda a posição corrente e todas as peças expostas previamente visitadas.
Guardam-se também representações esquemáticas de falas como uma lista ordenada no
elemento da história do diálogo (DH). Neste caso as últimas duas falas foram um pedido do
XWLOL]DGRU SDUD YHU XP ³VWRD1´ H D FRQVHTXHQWH UHVSRVWD GR URERW SDUD R VHJXLU 2 ~OWLPR
elemento de expressão (LU) contém uma representação da mais recente expressão (ou
acção). Neste casoRVLVWHPDGLVVHDSHQDV³VLJD-PH´
As regras de actualização são geralmente simples conjuntos de condições e efeitos.
Figura 10 - Regras de actualização INDIGO
No exemplo da
Figura 10 há três condições:
x
O último a falar foi o utilizador. (is/lu/speaker == user)
x
2VFRQWH~GRVGDH[SUHVVmRIRUDP³QmR´XWWQR
x
O SULPHLUR HOHPHQWR GD OLVWD '+ UHSUHVHQWD R VLVWHPD D SHUJXQWDU ³TXHU RXYLU PDLV"´
(act(sys, ask, more))
Os dois efeitos são:
x
$ H[SUHVVmR GR XWLOL]DGRU p LQWHUSUHWDGD FRPR D DILUPDomR ³(X QmR TXHUR RXYLU PDLV
QDGD´TXHHVWiJUDYDGDQD'+LVGKDFWXVr, assert, no_more))
x
$ UHVSRVWD GR VLVWHPD IRL ³DGHXV´ R GLiORJR WHUPLQDUi QHVWH SRQWR TXH WDPEpP p
gravada na lista DH. (/is/dh, act(sys, goodbye))
10
Stoa é um elemento arquitectónico muito utilizado na Grécia Antiga, que consistia de um corredor ou pórtico coberto, comummente destinado ao uso público 16 2.5.4
Emoções
O INDIGO tem um estado emocional influenciado pelo modo com os visitantes falam com
ele, por descrever objectos que (não) gosta. As emoções são expressas de múltiplas formas,
enquanto são dirigidas ao visitante. Assim, a geração da linguagem natural e a síntese do
discurso falado pode ser influenciada para reflectir as características afectivas do robot. Isto
pode ser conseguido variando o tom da voz ou até mesmo influenciando a própria formação da
expressão do robot. Além disso, as respostas emocionais podem ser demonstradas através do
movimento da cabeça do robot, pelas características faciais e até pelo movimento do robot.
Para o INDIGO falar, o sistema selecciona uma das vozes gravadas (normal, triste, feliz),
dependendo da emoção que for dada pelo DAM ao robot e o sistema TTS (do inglês Text to
Speech) pronunciará automaticamente o texto com essa emoção específica. Além disso, será
possível colocar alguma ênfase em parte das frases em ordem a realçar as partes importantes
dessas frases. Desse modo, o robot será capaz de exprimir emoções específicas como guia de
visitantes utilizando uma voz sintética.
2.6. Duarte Digital
2.6.1
Descrição geral
Duarte Digital [8] é um agente de conversação que responde a perguntas sobre um famoso
trabalho da joalharia portuguesa, a Custódia de Belém. Os objectives do Duarte Digital são
ensinar os estudantes sobre esta peça de arte, enquanto os mantém entretidos, e despertar o
seu interesse sobre a história e cultura Portuguesas. O objectivo do Duarte era ser utilizado no
Museu de Arte Antiga de Portugal, onde se encontra a peça Custódia de Belém (actualmente
em restauro).
Exemplo de diálogo:
Utilizador - Quem mandou construir a Custódia de Belém?
Duarte - O rei D. Manuel I mandou construir a Custódia de Belém!
Utilizador - Quando foi isso?
Duarte - Parece-me que não percebi a sua pergunta. Pode repeti-la, se fizer favor?
Utilizador - Em que ano é que foi construída?
Duarte - A Custódia de Belém foi construído entre 1503 e 1506. Levou 3 anos para que esta
obra de arte fosse concluída.
2.6.2
Base de conhecimento
A base de conhecimento do Duarte, contém aproximadamente 500 perguntas e respectivas
respostas, não havendo assim uma etapa de extracção de informação dado que estes pares
pergunta/resposta foram construídos manualmente.
17 2.6.3
Módulo de compreensão de língua natural
Quer as perguntas, quer as respostas são focalizadas na Custódia de Belém (a sua história
e detalhes) e na vida do Duarte. Ao receber uma pergunta do utilizador, o serviço procura a
pergunta mais parecida na sua base de conhecimento (baseado no algoritmo de distância de
Levenshtein [17] aplicado às palavras), e responde ao utilizador com uma das respostas
associadas a essa pergunta. Se não existir uma pergunta semelhante na base do
FRQKHFLPHQWRRDJHQWHUHVSRQGHGHXPDIRUPDVHPHOKDQWHDHVWD³$LQGDQmRVHLDUHVSRVWDD
HVVD SHUJXQWD 0DV YRX HVWXGDU HVVH DVVXQWR´ 'uarte Digital tenta captar a atenção do
XWLOL]DGRUXWLOL]DQGRH[SUHVV}HVFRPR³6DELDTXHD&XVWyGLDGH%HOpPWHPPDLVGHTXLORVGH
RXUR"´
2.6.4
Emoções
O estado emocional do Duarte baseia-se no número de respostas correctas/incorrectas.
Transmite-o através de expressões faciais, fazendo cara de zangado, surpreendido. Também
efectua alguns movimentos de sim/não.
2.6.5
Avaliação
Para avaliar o Duarte foram usadas quarto estratégias de diálogo diferentes, de modo a
descobrir qual a que motiva mais os utilizadores a interagir sobre um assunto em que parecem
não estar interessados e sobre o qual não sabem o que perguntar:
x
Lista de Perguntas: Nesta primeira estratégia, é fornecido aos utilizadores um conjunto de
perguntas dissimuladas sobre o que eles podem perguntar ao agente sobre a peça de
joalharia.
x
Tópicos das Perguntas: Nesta estratégia, é fornecido aos utilizadores um conjunto de
tópicos sobre os quais podem fazer perguntas ao agente sobre a peça de joalharia.
x
Dicas para um Diálogo Conduzido: Nesta estratégia, os utilizadores são implicitamente
guiados no seu diálogo com o Duarte. Sempre que uma resposta é dada ao utilizador, é
dada também uma dica para a próxima pergunta do utilizador.
x
Diálogo Aberto: Nesta estratégia, a interacção utilizador-agente é completamente
comandada pelo utilizador. O agente não tem controlo no diálogo e simplesmente responde
ao que lhe é perguntado.
A avaliação das quatro estratégias mostrou que a melhor estratégia é a de fornecer pistas
durante a interacção.
2.7. Hans Christian Andersen
2.7.1
Descrição geral
Hans Christian Andersen (HCA) é um personagem virtual que tem como objectivo permitir a
conversação em inglês com o autor de contos de fadas Hans Christian Andersen [9], no seu
gabinete de trabalho, num domínio orientado sobre os seus contos de fadas. A aplicação
18 permite ainda um modo de jogos com as personagens dos contos de fadas. O sistema é capaz
de conduzir conversações sem limitações dentro do seu domínio do conhecimento. O públicoalvo é constituído por utilizadores dos 10 aos 18 anos. A principal utilização é em Museus e
outros locais públicos em que se espera que as interacções tenham uma duração média de 10
a 15 minutos.
HCA segue a sua própria agenda durante a conversação. A agenda reflecte os seus
interesses pessoais, como por exemplo, o seu interesse em reunir conhecimento sobre o
utilizador e em ter uma boa conversa demorada com utilizadores motivados. A agenda
assegura alguma continuidade na conversação por parte do HCA, garantindo que o domínio é
minuciosamente explorado antes de mudar para outro, a não ser que o utilizador mude de
domínio e seja autorizado a fazê-lo pelo HCA.
Exemplo de diálogo:
U: Qual é o seu conto de fadas preferido?
HCA: Eu gosto muito de vários dos meus contos de fadas. Um dos meus favoritos é
o Patinho Feio. O patinho feio não é aceite pelos outros patos e animais porque parece
diferente. Ele passa um mau bocado, tem muitos problemas e sofre muito. Só deseja
morrer, até que descobre que é, na verdade um belo cisne. A moral da história é que
se se for diferente, ser-se-á ameaçado.
U: Quais são os seus interesses?
HCA: Eu já lhe disse que apenas a Bíblia foi traduzida em mais línguas que os meus
contos de fadas?
2.7.2
Arquitectura
A arquitectura do HCA tem os seguintes módulos [10], como mostra a Figura 11:
Figura 11 - Arquitectura HCA
x
Reconhecedor: envia um conjunto de possíveis falas do utilizador para o módulo de
interpretação.
x
Reconhecedor de gestos: envia um conjunto de possíveis gestos do utilizador para o
módulo de interpretação de gestos.
x
Interpretador de língua natural (NLU): recebe os textos do reconhecedor e interpreta-os,
escolhendo as melhores hipóteses.
x
Interpretador de gestos: recebe os possíveis gestos do reconhecedor de gestos e
interpreta-os, escolhendo as melhores hipóteses.
19 x
Fusor de input: recebe as melhores hipóteses vindas do interpretador de gestos e do
interpretador de língua natural e une-as, escolhendo a resposta que faz mais sentindo de
acordo com a fala e os gestos e constrói uma só resposta (com fala e gestos).
x
Módulo da personagem: gere em que estado é que a personagem se encontra:
comunicativo (quando conversa com os utilizadores) ou não-comunicativo (quando não
há nenhum utilizador com quem conversar e HCA fica no gabinete a trabalhar).
x
Gerador de resposta: recebe a resposta do módulo de fusão de input e divide o resultado
em texto para fala e animação, distribuindo-os o para a síntese de discurso e a
animação do personagem.
x
Sintetizador de discurso real falado: transforma as respostas em fala.
x
Animador do personagem e simulação do mundo virtual: trata das animações do
personagem, incluindo os gestos da resposta, e desenho do mundo virtual.
Os módulos comunicam através de um intermediário central de mensagens.
O comportamento do intermediário é controlado por um conjunto de regras de passagem de
mensagens, especificando como reagir quando recebe uma mensagem de determinado tipo
proveniente de um dos módulos.
2.7.3
Base de conhecimento
HCA tem 300 expressões faladas gravadas e 100 tipos de comportamento não-verbal.
Os contos de fadas estão armazenados na base do conhecimento, permitindo a HCA contar
histórias, por exemplo sobre o personagem principal de um conto de fadas ou explicar a moral
de um conto de fadas em particular. É também armazenada informação do utilizador que o
HCA obtém das perguntas que faz, assim como segmentos-chave que são usadas no módulo
NLU e as respectivas respostas.
2.7.4
Módulo compreensão de língua natural
O módulo de compreensão de língua natural (NLU), descrito na Figura 12 foi concebido para
Figura 12 - NLU do HCA
tratar as frases dos utilizadores numa conversação de domínio orientado. Os componentes do
NLU são:
x
Um detector de segmentos-chave,
x
Um analisador sintáctico,
x
Um detector de domínio/assunto,
x
Um processador FSA (Finite State Automaton).
20 A combinação do detector de segmentos-chave com o analisador sintáctico actua como um
componente de análise pouco profunda e o processador FSA como um componente de análise
mais profunda. O gestor do módulo NLU gere a comunicação interna entre os diferentes
componentes.
O detector de segmentos-chave é o primeiro componente do NLU. Possui um conjunto de
segmentos-chave que são mapeados em categorias sintáctica/semântica.
Uma categoria sintáctica/semântica é um par atributo/valor. Por exemplo, a categoria
VHPkQWLFDFRQWRGHIDGDVSDWLQKRIHLR!WHPXPDWULEXWR³FRQWRGHIDGDV´FRP³SDWLQKRIHLR´
como o seu valor corrente. Um atributo pode ter múltiplos valores. O exemplo de uma frase do
utili]DGRU SRGHULD VHU ³(X QmR GLVVH«´ TXH p LQGLFDGD SDUD D FDWHJRULD VHPkQWLFD PHWD
correcção>, significando que houve uma correcção. O output é transmitido ao analisador
sintáctico.
O analisador sintáctico consiste num:
x
Detector de números: detecta números no input, indicando, por exemplo, a idade do
XWLOL]DGRUFDWDORJDQGRHPQ~PHUR«!
x
Léxico: o input do utilizador é transformado numa sequência de categorias sintácticas e
VHPkQWLFDVROp[LFRFDWDORJDDVSDODYUDVLQGLYLGXDLV3RUH[HPSORQDIUDVH³(XJosto de
FRQWRV´ROp[LFRWUDQVIRUPD-DHP³8WLOL]DGRU!DX[JRVWD!DX[GH!FRQWRV!´
x
Motor de regras: aplica regras à sequência do input após passar pelo léxico. As regras
são baseadas na presença de certas categorias sintácticas/ semânticas em posições
HVSHFtILFDVQDVHTXrQFLDGRLQSXW3RUH[HPSORDIUDVH³(XJRVWRGHFRQWRV´pPDSHDGD
HP³8WLOL]DGRUB,QIRJRVWR!FRQWRV!´
O detector de domínio/assunto identifica o assunto do input mapeando as categorias
sintácticas/semânticas nos seus assuntos respectivos. Os domínios são identificados com base
em assuntos. O resultado é enviado para o processador FSA que verifica se a sequência está
correcta. Se a sequência for capaz de atravessar o FSA, o output do NLU estava correcto e o
resultado consistindo em domínio(s), assunto(s) e semânticas é enviado para o módulo de
fusão do input.
Como exemplo, considere-se o processamento do módulo de compreensão de língua natural
SDUDDIUDVH³7HQKRGH]DQRVGHLGDGH´
O detector de segmentos-chave não muda a expressão, dado que não detectou nenhum
segmento-chave.
2 GHWHFWRU GH Q~PHURV GHWHFWRX R Q~PHUR H D VHTXrQFLD SURFHVVDGD p ³(X
tenho<número:10> DQRVGHLGDGH´
As categorias para as palavras individuais são retiradas do léxico, fazendo a sequência:
³8WLOL]DGRU!DX[WHQKR!Q~PHUR!DQRV!DX[GH!LGDGH!´
21 2 PRWRU GH UHJUDV FRQYHUWH SDUD ³8WLOL]DGRUB,QIRLGDGH! Q~PHUR! DQRV! DX[GH!
LGDGH!´
O
detector
de
domínio/assunto
descobre
que
apenas
a
categoria
semântica
8WLOL]DGRUB,QIRLGDGH! WHP PDSHDPHQWR H p PDSHDGR SDUD R DVVXQWR ³XBLQIRUPDomR´ X
UHODWLYRDXWLOL]DGRUHpLGHQWLILFDGRRGRPtQLR³XWLOL]DGRU´
O resultado do processDGRU )6$ p ³8WLOL]DGRUB,QIRLGDGH!Q~PHUR!´ $ LQIRUPDomR
resultante no domínio, assunto e semântica é envolvida em XML e enviada para o módulo de
fusão do input.
2.7.5
Módulo de geração de resposta
Os domínios sobre os quais o HCA responde são:
x
Os seus contos de fadas ± contando historias sobre os seus contos e as personagens
destes.
x
A sua infância em Odense ± em que responde a perguntas de como foi a sua infância e
a cidade onde nasceu.
x
A sua presença física no seu gabinete de trabalho ± em que responde a perguntas
sobre objectos que se encontram no seu gabinete.
x
O seu papel como porteiro para o mundo dos jogos de contos de fadas ± fala sobre os
jogos disponíveis no mundo dos jogos.
Além de responder a perguntas, HCA vai obtendo informações sobre o utilizador através da
FRORFDomR GH SHUJXQWDV DR XWLOL]DGRU FRPR ³R TXH DFKDV GRV YLGHRMRJRV"´ H FRP HVVDV
informações torna o diálogo mais personalizado.
Como já foi referido HCA não se limita a responder a perguntas [11], ou a formulá-las, mas
também conta histórias sobre a sua vida, sobre os seus contos de fadas, sobre os quadros da
parede do seu gabinete de trabalho.
O utilizador pode pedir para repetir e obter a última fala do HCA e pode também insultá-lo.
Neste caso, HCA reagirá emocionalmente e gerará um output verbal em linguagem rude.
Quando HCA não percebe o que o utilizador diz pedirá para repetir ou, de outra forma,
indicará que o input não foi compreendido. Ele também tem uma opção de saída rapsódica
desta situação, que é saltar para algo completamHQWH GLIHUHQWH GL]HQGR SRU H[HPSOR ³1D
&KLQDFRPRVDEHRLPSHUDGRUpFKLQrV´RX³$FKDTXHRPHXQDUL]pGHPDVLDGRJUDQGH"´2
objectivo destas frases rapsódicas é fazerem com que o utilizador mude de assunto em vez de
insistir em algo que HCA não consegue compreender.
O gerador de respostas liga os padrões emocionais e a animação do personagem, em
termos do discurso (fala), assim como dos gestos. Este deve actuar em tempo real e deve
gerar um conjunto compreensível de acções comunicativas e não comunicativas.
O gerador de respostas recebe uma instrução semântica parametrizada composta por
valores de input, referências de texto para discurso, e/ou referências para comportamentos não
22 YHUEDLV 5HFHEH SRU H[HPSOR ³*RVWDULD GH RXYLU >J@ D VXD >J@ RSLQLmo sobre
^&21726B'(B)$'$6B&+$5`´ 1HVWH H[HPSOR RV HOHPHQWRV HQWUH SDUrQWHVHV UHFWRV
FRPHoDQGRFRPOHWUDVQXPHUDGDVµJ¶UHSUHVHQWDPSDUWHVFRPSRUWDPHQWDLVQHVWHFDVR>J@H
[/g0] indicam que um simples movimento tem de ocorrer simultaneamente enquanto está a ser
SURIHULGRRWH[WRIDODGR³DVXD´HPWRUQRGRTXDOHOHVHVWmRHQYROWRV2VHOHPHQWRVGHQWURGH
chavetas, tais como CONTOS_DE_FADAS_CHAR no exemplo, representam valores variáveis
a ser preenchidos utilizando informação contextual fornecida pelo NLU durante o período de
conversação; Os elementos comportamentais e os valores variáveis são ambos inicialmente
não instanciados e necessitam de ser recuperados durante o tempo de execução. Uma vez
que estes valores são preenchidos, é gerada uma string que é enviada para o sintetizador de
fala que sintetiza o output verbal. O gerador de respostas cria uma representação XML de
elemento não verbal e envia-o para o motor de animação que toma conta do output gráfico.
2.7.6
Emoções
HCA tem o modelo emocional simples. Por omissão, o seu estado emocional é amigável, e é
como tal que ele dá as boas vindas a qualquer novo utilizador. Durante a conversação, o seu
estado emocional pode deslocar-se desde a felicidade, à tristeza, à raiva, ou a uma mistura de
raiva e tristeza.
O calculador de emoção actualiza o estado emocional do HCA sempre que o input do
utilizador produza um aumento da emoção que torne HCA mais feliz, triste ou zangado. Os
aumentos de emoção estão associados a palavras-chave armazenadas na base do
conhecimento.
2.7.7
Avaliação
O protótipo foi bem recebido pela população alvo de utilizadores. Foram testadas várias
estratégias de uso do sistema e a que funcionou significativamente melhor foi a estratégia em
que os utilizadores apenas receberam instruções básicas sobre como operar com o sistema,
por exemplo, falar utilizando o microfone, apontar para objectos. Na segunda estratégia, em
que os utilizadores receberam um conjunto de treze problemas para serem resolvidos através
de inputs GH IDOD RX JHVWRV WDLV FRPR ³GHVFXEUa se HCA tem um conto de fadas favorito e
TXDOp´DVOLPLWDo}HVGRVLVWHPDSDUDOLGDUFRPV~ELWRVHIUHTXHQWHVLQtFLRVGHQRYRVGRPtQLRV
mudanças de assunto e inputs fora do domínio, tornaram-se mais evidentes, fornecendo dados
importantes para melhorar as capacidades de conversação de HCA.
2.8. Comparação
Nesta secção, será feita uma comparação entre os sistemas descritos acima. Esta
comparação irá ser feita com base nos seguintes aspectos mais importantes: o modo como é
feita a interpretação da pergunta e a geração da resposta. Em relação à extracção de
informação todos os sistemas fazem esta etapa colocando a informação manualmente.
23 Tabela 1. Comparação dos sistemas11
Sistemas
Interpretação da pergunta
Geração da resposta
Max
Regras
Modelo BDI
Guia Virtual
Palavras-chave
Sargento
As respostas estão divididas em 3 tipos,
é seleccionado um
As respostas estão divididas em 3 tipos,
Técnicas estatísticas
Blackwell
é seleccionado um
Sargento Star
?
?
INDIGO
?
Regras
Duarte
Distância Levenshtein
Pré-gravadas
Frases-chave + analisador
Recebe XML e distribui as repostas
sintáctico + autómato
pelo sintetizador de fala e gestos
HCA
Destes sistemas pode-se concluir que o Guia Virtual tem o módulo de NLU mais simples devido
ao seu domínio ser muito restrito. Com isso puderam ser usadas técnicas mais simples como
palavras-chave. Por outro lado, o Hans Christian Andersen é o mais sofisticado, sendo até
capaz de reconhecer gestos do utilizador, não se limitando a apenas responder a perguntas.
Max tem a vantagem de receber apenas inputs escritos e com isso cometer provavelmente
menos erros de interpretação de perguntas devido à falta de erros cometidos pelo ruído de
fundo ou à pronúncia das palavras, como acontece nos sistemas com inputs falados. O
Sargento Blackwell é o sistema que permite um maior leque de perguntas devido ao seu
domínio alargado, responde a perguntas sobre o seu domínio específico (exército, instituição
TXHRFULRXDVVLPFRPRSHUJXQWDVJHUDLVFRPR³TXHKRUDVVmR"´
2.9. BirdQuest
2.9.1
Descrição Geral
O BirdQuest [12] é um sistema de QA interactivo que foi desenvolvido para um website em
que as pessoas, observando programas sobre a natureza na TV, podem fazer perguntas
relacionadas com o programa de TV, neste caso, perguntas sobre as aves nórdicas
Exemplo de diálogo:
U1: Informação sobre Gralhas
S2: BirdQuest pode dar informação sobre as seguintes propriedades das Gralhas:
chamamento, habitat, aparência, alimentação. Por favor especifique em que está interessado.
U3: Estou interessado no chamamento
S4: Chamamento é vago, BirdQuest pode dar informação sobre os seguintes aspectos do
chamamento: geral, de aviso, canção. Por favor especifique em que está interessado.
11
Apesar do Sargento Star estar preenchido com pontos de interrogação pensa-­se que este use as mesmas técnicas do sargento Blackwell, devido a ser uma evolução deste. 24 U5: Geral, por favor.
S6: BirdQuest encontrou a seguinte informação sobre o chamamento geral no caso das
*UDOKDV´$V*UDOKDVFURFLWDPJUDVQDPJUDVQDUpPXLWRFRQKHFLGR´
2.9.2
Arquitectura
O sistema está dividido em dois componentes [13], como mostra a Figura 13, um
componente de processamento de informação e um componente de interacção, os quais,
utilizam um conjunto de fontes de conhecimento partilhadas.
Componente de interacção Utilizador NLU Gestor Diálogo Gerador Gestor Domínio Base Dados Fontes de conhecimento partilhadas Léxico Informação Gramática Ontologia Componente de processamento informação Analise Morfológica/ Lexical Analise Sintáctica Analise Semântica Base Dados Figura 13 - Arquitectura BirdQuest
O Componente de Processamento da Informação pega em conjuntos de documentos não
estruturados e semi-estruturados e transforma-os em informação estruturada que pode ser
utilizada pela Componente de Interacção durante a interacção com o utilizador. A
transformação é baseada em técnicas de extracção de informação e os documentos são
analisados em diversos estados passando pela análise de léxico, morfológica, sintáctica e
semântica, em cada passo acrescentando mais estrutura aos documentos. Uma grande
variedade de regras de padrões de extracção é então aplicada aos documentos. O objectivo é
preencher a base de dados com informação relevante e ignorar os segmentos de texto que não
satisfazem as necessidades de informação dos utilizadores.
O Componente de Interacção é responsável pela interacção de diálogo com o utilizador.
Colabora com o utilizador para produzir uma query e acede às fontes de informação
estruturada para formar uma resposta. Consiste em quatro componentes:
x
NLU - pega no pedido do utilizador como input e produz uma representação do tipo de
pergunta, tipo de resposta esperada e uma representação do conteúdo.
x
Gestor de Diálogo - controla o fluxo do diálogo decidindo como o sistema deverá
responder ao pedido do utilizador.
x
Gestor do Domínio - recupera e coordena conhecimento das diferentes fontes de
informação.
25 x
Gerador - produz as respostas do sistema baseadas na informação do Gestor do
Diálogo.
As fontes de conhecimento partilhadas compreendem léxicos, gramáticas e ontologias de
domínio.
O BirdQuest utiliza o gestor de diálogo MALIN [14] que separa a gestão do diálogo (DM) da
gestão do conhecimento do domínio (DKM). O primeiro trata do diálogo, enquanto o segundo
trata do acesso à ontologia.
Em MALIN, a história de diálogo é representada por objectos de diálogo com um parâmetro
GHQRPLQDGR ³2EMHFWRV´ UHSUHVHQWDQGR DV HQWLGDGHV IRFDGDV H RXWUR SDUkPHWUR GHQRPLQDGR
³3URSULHGDGHV´ UHSUHVHQWDQGR R FRQFHLWR GH LQIRUPDomR UHODFLRQDGD 2V ³2EMHFWRV´ QR
BirdQuest são regrDJHUDODYHVHDV³3URSULHGDGHV´PRGHODPDLQIRUPDomRVREUHRVSiVVDURV
WDLV FRPR DSDUrQFLD Q~PHUR GH RYRV H DOLPHQWDomR 3RU H[HPSOR QD SHUJXQWD ³4XDO R
comprimento do Pisco Euro-$VLiWLFR"´ R REMHFWR p ³3LVFR (XUR-$VLiWLFR´ H D VXD SURSULHGDGH
³DOWXUD´ 2 '.0 HQFDUUHJD-se de verificar na ontologia se o objecto e a propriedade em
questão são aplicáveis. No caso em que o utilizador diga um conceito muito vago ou objectos
que não correspondam às propriedades, o sistema tem a iniciativa e apresenta conceitos da
ontologia do domínio.
2.9.3
Módulo compreensão de língua natural
O módulo NLU extrai três tipos de informação da pergunta: tipos de perguntas, tipo de
respostas esperadas e o conteúdo relevante das perguntas. O tipo de perguntas vai distinguir
entre perguntas de sim/não, factuais, de explicação e de definição. Exemplos de diferentes
tipos de respostas são booleano, número, string RX XP REMHFWR RQWROyJLFR FRPR ³HVSpFLHV´
Através da análise sintáctica são identificados os objectos e as propriedades, através dos quais
é obtido o tipo de pergunta. A análise ontológica acrescenta o tipo de resposta esperada
baseada na restrição da propriedade.
2.9.4
Extracção de Informação
Um corpus de 329 pedidos de informação foi compilado a partir das perguntas formuladas
pelos utilizadores na página da web da Televisão Nacional da Suécia e utilizado para saber
quais as perguntas mais frequentes.
A informação sobre as aves tem por base uma enciclopédia de aves que foi transformada
numa base de dados XML utilizando padrões simples para etiquetar determinadas entidades,
tais como nomes de aves, cores, medidas, etc. Foi construído [15] um léxico para o domínio.
Foi desenvolvida uma ontologia simples com a representação do tipo de objectos, as suas
propriedades e as relações sustentadas entre eles dentro do domínio. Deste modo, a ontologia
fornece um vocabulário que pode ser utilizado para indicar factos e formular perguntas sobre o
domínio.
Uma observação do sistema mostrou que a utilização de uma base de dados XML não era
tão eficiente como uma de base de dados relacional sendo, neste caso, permitida uma
26 pesquisa de informação mais avançada, como obter uma idade a partir de uma data.
Consequentemente, a base de dados XML foi transformada numa base de dados SQL. A
observação mostrou também que era necessária uma ontologia mais avançada, devido à
incoerência nos conceitos usados pelos utilizadores e pelos autores dos textos. Por exemplo,
no caso da anatomia das aves, um perito teria termos especializados para se referir a
diferentes tipos de penas, enquanto um iniciado utilizaria descrições mais comuns, com termos
do dia-a-dia. Seria portanto necessário combinar duas ontologias diferentes, uma baseada no
corpus dos utilizadores e outra nas enciclopédias.
Para a transformação da base de dados XML para SQL, usaram-se partes dos documentos
XML, a selecção destas partes foi feita a partir do corpus de perguntas recolhidas e foi utilizada
uma vasta variedade de regras de padrões de extracção para identificar a informação
relevante. O objectivo era preencher a base de dados unicamente com informação relevante e
ignorar os segmentos de texto que não satisfaziam as necessidades dos utilizadores de acordo
com os pedidos constantes da informação recolhida. Segue-se um exemplo de um texto
arrumado na base de dados.
Tabela 2. Texto arrumado na base de dados BirdQuest
Texto Original
Informação extraída (BD)
Mergulhão de Pescoço Preto
NOME: Mergulhão de Pescoço Preto
Gavia arctica
NOME LATINO: Gavia arctica
58-73 cm, envergadura 110-130
MAX_ASA: 130
cm. De alguma forma maior do que o
MIN_ASA: 110
Mergulhão de Pescoço Vermelho com
MAX_PESO: 73
um pescoço maior e mais direito, bico em
MIN_PESO: 58
IRUPDGHSXQKDO«
FORMA DO BICO: em forma de
punhal, direito
A vantagem desta base de dados é que o BirdQuest agora pode fazer pesquisas sofisticadas
GHLQIRUPDomRQDEDVHGHGDGRVFRPR³4XDODPDLRUDYH"´VHPQHFHVVLGDGHGHQRYDVUHJUDV
de inferência. Para combater os casos em que não é encontrada nenhuma resposta nos pares
atributo/valor arrumados na base de dados, um certo número de segmentos de texto são
armazenados como texto e como tal são apresentados ao utilizador.
2.9.5
Avaliação
Foi efectuada uma avaliação [16] ao sistema BirdQuest que mostrou os seguintes
resultados:
27 Tabela 3. Avaliação BirdQuest
Percentagem (%)
Respostas correctas
35
Pedido clarificação
13
Respostas incorrectas
6
Mensagens de erro
46
Entende-se por resposta correcta, uma resposta onde o sistema mostrou a informação
encontrada na base de dados e esta encontrava-se correcta. Pedido de clarificação, quando o
utilizador usava um termo vago e o sistema precisava de mais informação. Respostas
incorrectas quando a resposta encontrada na base de dados não estava correcta. Mensagens
de erro eram dadas quando a informação pedida não se encontrava na enciclopédia.
28 3. Art.Ask: o sistema de base
3.1. Organização do capítulo
Neste capítulo é descrito um caso de estudo (secção 3.2) cujo foco são as pinturas. São
apresentadas e descritas as várias etapas para este caso de estudo. É ainda apresentado um
exemplo que ilustra as diferentes etapas do sistema (secção 3.3).
3.2. Caso de estudo: as pinturas
3.2.1
A Wikipedia como fonte de informação
A Wikipédia é uma enciclopédia multilingue on-line. Criada em 15 de Janeiro de 2001,
baseia-se no sistema wiki (do havaiano wiki-wiki = "rápido", "veloz", "célere"). É uma
enciclopédia sem fins lucrativos, gerida e operada pela Wikimedia Foundation. Está disponível
em 257 idiomas ou dialectos com um total de 7,5 milhões de artigos [21].
Tendo em conta os artigos sobre arte da Wikipédia, constatou-se que as páginas relativas a
artistas e obras mais conhecidas, encontra-se muita informação relevante estruturada numa
tabela (por exemplo, data/local de nascimento/morte, nas página dos artistas de renome),
tornando-se trivial a sua recuperação. No entanto, mesmo os artigos que não têm essa
informação em tabela seguem, na maioria dos casos, padrões no modo como a informação é
apresentada. Assim, tipicamente, nos primeiros parágrafos encontra-se um resumo da
informação sobre o artista/obra e, nos parágrafos seguintes, encontra-se informação adicional.
Este facto, apesar de não garantir de modo algum um processo de extracção de informação
trivial, leva no entanto a que a Wikipedia seja a fonte de informação escolhida para os
primeiros desenvolvimentos do Art.Ask.
Segue-se um exemplo de um artigo com a informação estruturada numa tabela (Figura 1412).
O primeiro elemento é o nome da pintura, seguido do seu autor e datas de inicio de fim da
realização da obra, o tipo de material onde a obra foi feita, as suas dimensões e o local onde
se encontra.
12
Obtidos da wikipédia (http://pt.wikipedia.org/wiki/A_noite_estrelada, http://pt.wikipedia.org/wiki/Escola_de_atenas a 7/06/2009) 29 A Noite Estrelada
Escola de Atenas
Vincent van Gogh, 1889
Rafael, 1506-1510
óleo em tela
Afresco
73,7 × 92,1 cm
500 cm × 700 cm cm
Museu de Arte Moderna de Nova
Palácio Apostólico, Vaticano.
York
Figura 14 - 4XDGURVGHUHVXPRUHWLUDGRVGD³1RLWH(VWUHODGD´HGD³(VFRODGH$WHQDV´
Já o artigo seguinte (Figura 1513) não tem uma tabela associada, mas pode-se ver que a
informação segue o seguinte padrão: nos primeiros parágrafos é descrita a obra, e encontramse informações relevantes, tais como autor da obra, local onde está e material com que é feita;
nos parágrafos seguintes existe informação adicional sobre a obra.
Figura 15 - Informação sobre A Deposição de Cristo no Túmulo
13
Informação obtida na Wikipédia ( http://pt.wikipedia.org/wiki/A_Deposi%C3%A7%C3%A3o_de_Cristo_no_T%C3%BAmulo a 7/6/2009) 30 Devido a todos os pontos apresentados a cima a Wikipédia foi usada como fonte de
informação deste trabalho.
3.2.2
As pinturas como caso de estudo
Dado que o primeiro caso de estudo deste trabalho foram as pinturas, foram exploradas as
páginas da wikipédia de algumas pinturas e concluiu-se que estas estavam bem estruturadas,
a maior parte contendo uma tabela com o resumo da informação básica. Esta facilidade
permitiu implementar o sistema de base do Art.Ask, com todas as etapas, sem ter de avançar
numa primeira fase para uma tarefa de extracção de informação demasiado complexa.
3.2.3
As perguntas em causa sobre as pinturas
Foram igualmente analisados os parágrafos das várias páginas da Wikipédia, a partir dos
quais se fez um levantamento de perguntas cuja resposta podia ser obtida nestes parágrafos e
que se apresentam de seguida:
x
Quem é o autor da $OBRA?
x
Onde se encontra a $OBRA?
x
Em que país está a $OBRA?
x
Quais são as dimensões da $OBRA?
x
Qual o material usado na obra $OBRA?
x
Em que ano foi feita a $OBRA?
x
Qual o estilo da $OBRA?
Esta lista de perguntas serve de base à criação de perguntas com sintaxe variada na etapa
GHGHVHQYROYLPHQWRGDLQWHUIDFHHPOtQJXDQDWXUDO3RUH[HPSORDSDUWLUGDSHUJXQWD³4XHPp
RDXWRUGDREUD0RQD/LVD"´SRGHPVHUIRUPXODGDVDVSHUJXQWDV³4XHPSLQWRXD0RQD/LVD"´
³$0RQD/LVDIRLSLQWDGDSRUTXHP"´
3.2.4
A etapa de extracção de informação
Nesta primeira fase de desenvolvimento do Art.Ask, a etapa de extracção de informação
consiste em duas partes que se descrevem se seguida:
Na primeira, extrai-se da Wikipédia informação sobre pinturas (existentes numa lista em
anexo).
Para tal foi usado o Web-Harvest [22], uma ferramenta gratuita de extracção de dados da
Web que oferece uma forma de reunir páginas da Web desejadas e extrair dados úteis a partir
das mesmas. Para isso é possível usar técnicas como XQuery ou expressões regulares. O
Web-Harvest incide principalmente sobre HTML/XML que ainda constituem a grande maioria
dos conteúdos da Web.
O processo de extracção de informação no Web-Harvest é definido através de ficheiros de
configuração XML. Cada ficheiro de configuração descreve a sequência de processos a ser
31 executados para obter o objectivo final. Pode conter, por exemplo, a sequência
/body/div[2]/p/text(), que acede à tag body, de seguida ao segundo div e retira o texto contido
na tag p.
A informação obtida nesta etapa é a retirada da tabela relativa à página em causa (com os
campos já etiquetados), caso exista, bem como os primeiros quatro parágrafos. Por exemplo,
os campos relativos ao quadro ³0RQD/LVD´ são etiquetados da seguinte forma:
<obra> Mona Lisa </obra>
<autor>Leonardo da Vinci</autor>, <data_inicio>1503</data_inicio> - <data_fim>1507
</data_fim>
<material> óleo sobre madeira de álamo </material>
<dimensão> 77 x 53 cm </dimensão>
<local> Museu do Louvre </local>
Nesta etapa verificaram-se problemas a nível da estrutura da informação, dado que se
encontraram casos em que, no campo relativo ao local onde o quadro se encontra, aparecia
apenas o local onde este se encontra actualmente; noutros aparecia o local e a cidade e
noutros ainda o local e o país. Este problema foi resolvido através de dicionários que
verificavam qual as entidades que apareciam e etiquetava-as correctamente.
Também foram encontrados alguns problemas técnicos. Nomeadamente, problemas a nível
do acesso à wikipédia devido a acentos e símbolos. Este problema foi resolvido através de um
enconding que recebia os símbolos e os caracteres acentuados e transformava-os no código
hexadecimal correspondente. Adicionalmente, foi necessário filtrar alguma informação, dado
que existiam páginas que antes dos parágrafos com informação continham um parágrafo com
uma nota, que foi necessário limpar. As partes extraídas continham ainda as tags HTML que foi
necessário tirar para obter apenas o texto.
A segunda parte do processo de extracção de informação percorre os ficheiros criados na
etapa anterior e verifica se existem campos etiquetados. Se existirem, esses campos são
guardados directamente na base de dados. Se não existirem o sistema vai à procura da
informação que pretende extrair, nos textos, e insere-a na base de dados.
Para esta etapa foi usada a ferramenta LingPipe [23]. É uma ferramenta que permite usar
dicionários, expressões regulares e várias técnicas de aprendizagem automática. É uma
ferramenta com boas referências que tem a vantagem de já ser conhecida pelo grupo. Dado
que estava fora do âmbito desta tese analisar ferramentas, foi esta ferramenta a escolhida para
esta etapa.
Para utilizar a técnica de dicionários, foi necessário criá-los. Assim, Criaram-se dicionários
de pintores, pinturas, museus, estilos de pintura e de matérias de pintura.
32 O local onde se encontra a pintura, o nome do pintor, o material e o estilo são procurados a
partir destes dicionários e a data de criação e o tamanho são procurados a partir de
expressões regulares. Nos casos em que foi encontrada mais do que uma entidade, por
exemplo, no caso de existir uma referência a dois pintores no artigo, foi escolhida a entidade
mais próxima da peça de arte.
3.2.5
A criação da base de dados
Segue-se o modelo Entidade-Relação da base de dados que vai permitir arrumar os dados
extraídos na etapa explicada anteriormente.
Destacando-se a pintura como caso particular das peças de arte. Considerou-se o seguinte:
x
Um artista é caracterizado pelo seu nome, data de nascimento, data em que morreu.
x
Uma peça de arte é caracterizada pelo seu nome, data em que começou a ser
criada, data em que ficou pronta e uma descrição.
x
Uma peça de arte foi feita por um ou mais artistas e um artista pode fazer várias
peças de arte, o que faz com que exista uma relação de muitos para muitos entre o
artista e a peça de arte. Sendo uma relação de muitos para muitos, é escolhida uma
tabela para conter a chave primária da outra tabela. Neste caso, foi escolhida a
tabela ³peça de arte´ que, além dos seus atributos, irá ter o atributo chave primária
GDWDEHODDUWLVWD³QRPHBDUWLVWD´
data_fim Artista nome data_inicio
ao nome
_artis
ta * * Foi feita por descricao Peca_Art
e Adicionalmente considerou-se que:
x
Um local é caracterizado pelo seu nome, cidade e país onde se encontra.
x
Uma peça de arte encontra-se num local e um local tem várias peças de arte, o que
faz com que exista uma relação de um para muitos entre a peça de arte e o local.
Sendo uma relação um para muitos, a tabela do muitos irá conter a chave primaria
da tabela do um, neste caso a tabela Peça de Arte, além de conter os seus atributos,
LUiFRQWHPWDPEpPRDWULEXWR³QRPHBORFDO´
nome Peca_Art
e * cidade 1 Esta em 33 pais Local x
Uma pintura é uma peça de arte e uma peça de arte pode estar em apenas uma
categoria: ou é uma pintura ou é uma escultura, não pode ser as duas em
simultâneo.
x
Uma pintura é definida pela sua dimensão, estilo e material. Como uma pintura é
uma peça de arte, herda todos os atributos da peça de arte.
Peca_Art
e disjoint ISA dimensao estilo Pintura material Em resumo, criou-se o seguinte modelo de Entidade-Relaçao com as respectivas tabelas:
data_fim nome data_inicio
ao nome
_artis
ta Artista * * Foi feita por Peca_Art
e * descricao nome cidade Esta em 1 Local disjoint ISA dimensao estilo Pintura material Peca_Arte (nome_peca, data_inicio, data_fim, descrição, nome_local, nome_artista)
Pintura (nome_peca, estilo, dimensão, material)
Artista(nome_artista)
Local(nome_local, cidade, pais)
34 pais 3.2.6
Implementação da Interface em língua natural
Numa fase inicial começou-se por identificar qual a pergunta mais parecida, entre as
perguntas de uma lista de perguntas-tipo, à pergunta do utilizador. Essa comparação entre
perguntas é feita através da distância de edição de Levenshtein, onde a pergunta-tipo mais
parecida é a que tem uma distância mínima de edição menor. Através da pergunta parecida,
sabe-se o tipo de pergunta (quem?, onde?, material?), através de uma Hash table com o par
pergunta/tipo e com isso a pergunta é transformada numa query SQL que acede à base de
dados e obtém a resposta, que é devolvida ao utilizador. A obra sobre a qual é feita a pergunta
é obtida através de dicionários de entidades mencionadas.
Nesta etapa não é possível responder a perguntas sobre obras que não estavam no
dicionário, ou por o dicionário não estar actualizado, ou por estar incompleto. Neste caso o
sistema responde³1mRHQFRQWUHLDUHVSRVWD´
3.3. Exemplo de aplicação
Após a inicialização do Ark.Ask este passa a conter informação sobre algumas obras de
arte. É percorrida uma lista de obras de arte e, para cada obra, o sistema vai à página da
wikipédia correspondente e retira parte da informação e introdu-la na base de dados. Segue-se
um exemplo para a extracção de informação que é feita inicialmente para a obra Noite
Estrelada de Van Gogh:
O sistema vai à página: http://pt.wikipedia.org/wiki/Noite_estrelada, Figura 1614.
Figura 16 - Página da wikipéda da Noite Estrelada
Dado que a página contém um quadro de resumo, o sistema extrai toda a informação do
quadro e etiqueta-a, tal como é mostrado de seguida, e guarda-a num ficheiro de texto tal como
os primeiros parágrafos.
14
Obtida em http://pt.wikipedia.org/wiki/Noite_estrelada a 04/07/2009 35 <nome_peca> A Noite Estrelada <\nome_peca>
<autor> Vincent van Gogh <\autor>, <data_inicio> 1889 <\data_inicio>
<material> óleo em tela <\material>
<tamanho> 73,7 x 92.1 cm <\tamanho>
<local> Museu de Arte Moderna de Nova York <\local>
De seguida é percorrido o ficheiro de texto e são guardados os campos etiquetados em
variáveis. O estilo e a descrição nunca se encontram no quadro de resumo e são portanto
procurados. O estilo é procurado através do dicionário de entidades mencionadas e, para a
descrição, é retirada a primeira linha. No final, é inserida na base de dados toda a informação
que estiver contida nas variáveis.
Ou seja, para a obra Noite Estrelado será preenchido o seguinte:
Peca_Arte (µA Noite Estrelada¶, µ1889¶ µ¶ µA Noite Estrelada é uma das mais conhecidas
pinturas do artista holandês pós-impressionista Vincent van Gogh¶, µMuseu de Arte Moderna de
Nova York¶,¶ Vincent van Gogh¶)
Pintura (µA Noite Estrelada¶, µ¶, µ73,7 x 92.1 cm¶, µóleo em tela¶)
Artista(µVincent van Gogh¶)
Local(µMuseu de Arte Moderna de Nova York¶, µ¶,µ¶)
No caso da obra Painéis de São Vicente de Fora, o sistema vai à página:
http://pt.wikipedia.org/wiki/Pain%C3%A9is_de_S%C3%A3o_Vicente_de_Fora, Figura 1715.
Figura 17 - Página da wikipéda de Panéis de S. Vicente de Fora
Neste caso, como não existe quadro de resumo, são extraídos e guardados apenas os
primeiros parágrafos.
Quando é percorrido o ficheiro, o sistema apercebe-se que não existe quadro de resumo e
vai tentar obter os campos necessários para o preenchimento da base de dados e guardá-los
nas respectivas variáveis. Assim:
15
Obtida em http://pt.wikipedia.org/wiki/Pain%C3%A9is_de_S%C3%A3o_Vicente_de_Fora a 04/07/2009 36 x
O nome do autor, nome da obra, material e o local são obtidos através do dicionário
de entidades mencionadas.
x
O tamanho e as datas de inicio e de fim são obtidos através de expressões
regulares.
x
Para a descrição é guardada a primeira linha.
Quando as variáveis estão todas preenchidas, é preenchida a base de dados. Neste caso
ficará:
Peca_Arte (µPainéis de São Vicente de Fora¶, µ1470¶, µ1480¶, µPainéis de São Vicente de Fora é
um obra composta por 6 painéis, criada essencialmente pelo pintor português Nuno Gonçalves
entre 1470 e 1480¶, µMuseu Nacional de Arte Antiga¶, µNuno Gonçalves¶)
Pintura (µPainéis de São Vicente de Fora¶, µ¶, µ¶, µPintura a óleo e têmpera sobre madeira¶)
Artista(µNuno Gonçalves¶)
Local(µMuseu Nacional de Arte Antiga¶, µLisboa¶)
Quando o utilizador faz uma pergunta (SRUH[HPSOR³4XHPpRDXWRUGH$1RLWH(VWUHODGD"´)
é encontrada a pergunta mais parecida (QHVWH FDVR ³4XHP p R DXWRU GH REUD´) e sabe-se
através de uma Hash Table TXHRWLSRGDSHUJXQWDp³TXHP"´HSRUWDQWRque se pretende saber
o autor.
Ao saber-se que o utilizador pretende saber o nome do autor, é recebida a query SQL
correspondente (neste caso, ³select nome_autor from Peca_Arte where nome_autor = $obra´).
Só falta saber o nome da obra a que o utilizador se refere para a query ser executada e obtida
uma resposta. Esta é então descoberta através de um dicionário de entidades mencionadas
TXHYDLGHYROYHU³$1RLWH(VWUHODGD´
Como a informação foi encontrada na base de dados (Vincent van Gogh), esta é devolvida
ao utilizador; VHQmRIRVVHHQFRQWUDGDHUDGHYROYLGR³1mRHQFRQWUHLDUHVSRVWD´
Se fosse feita uma pergunta sobre uma obra que não estivesse no dicionário de entidades
mencionadas, nesta etapa, R VLVWHPD QmR VDEHULD UHVSRQGHU H GHYROYHULD ³1mR HQFRQWUHL D
UHVSRVWD´
37 4. Art.Ask: Extensão
4.1. Organização do capítulo
Neste capítulo é apresentada uma extensão ao Art.Ask, onde se acrescentou um novo caso
de estudo: os pintores (secção 4.2). Descrevendo-se nesta secção as alterações que foram
necessárias implementar em cada etapa. No final é feita uma avaliação final do sistema
(secção 4.3).
4.2. Caso de estudo: Pintores
Para enriquecer o trabalho decidiu-se acrescentar um novo caso de estudo: os pintores e
trabalhar a informação pessoal dos mesmos, nomeadamente: data de nascimento e morte,
local de nascimento e de morte (incluindo cidade e país), ocupação, principais trabalhos, estilo
utilizado, nacionalidade e nome completo.
Esta informação não é tão simples de extrair como a informação do caso de estudo anterior,
permitindo assim enriquecer o trabalho com técnicas de extracção de informação mais
complexas.
4.2.1
A Wikipedia como fonte de informação
Neste caso de estudo foi também foi usada a wikipédia como fonte de informação, por ser
uma fonte de informação que já tinha sido estudada no caso de estudo anterior e por já ser
conhecida a sua formatação.
Foram exploradas as páginas de alguns pintores a fim de se observar onde se encontrava a
informação pretendida e como obtê-la. Observou-se que, tal como as obras de arte, havia
páginas de pintores que continham um quadro de resumo (embora em menor número) com
bastante informação, tal como é mostrado na Figura 1816, essa informação geralmente era
sobre: data de nascimento, local de nascimento, data de morte, local de morte, ocupação e
movimento estético. Ao contrário do quadro de resumo das pinturas, estes apresentavam uma
tag que informava que informação estávamos a ver (se era a ocupação, o nome completo, os
principais trabalhos realizados, ect).
16
Obtida em http://pt.wikipedia.org/wiki/Picasso e http://pt.wikipedia.org/wiki/Leonardo_da_vinci a 7/08/09 38 Figura 18 - Quadros de resumo GH³3DEOR3LFDVVR´H³/HRQDUGRGD9LQFL´
Porém estes quadros não estavam tão bem formatados como os das obras de arte. Nos das
obras de arte todos tinham os mesmos campos e estes apareciam sempre pela mesma ordem
(primeira linha tinha o nome da obra, a segunda o nome do autor e data em que a obra foi feita,
separados por vírgula; na terceira o material da obra de arte; na quarta o tamanho e na quinta
o local onde se encontra). Neste caso, havia campos que apareciam num quadro e não
apareciam noutro, tal como se pode ver na figura acima, Figura 18 HP TXH R FDPSR ³1RPH
&RPSOHWR´DSDUHFHQRTXDGURGHUHVXPRGH3DEOR3LFDVVRHQmRaparece no de Leonardo Da
Vinci. Felizmente, os campos estavam identificados com uma tag.
Havia outros casos que não tinham o quadro de resumo, mas a informação mais importante,
tal como no caso das pinturas, estava nos primeiros parágrafos, Figura 1917.
Figura 19 - 3iJLQDGD:LNLSpGLDGH³'RQDWHOOR´
17
Obtida em http://pt.wikipedia.org/wiki/Donatello a 7/08/09 39 4.2.2
A etapa de extracção de informação
A etapa de extracção de informação deste caso de estudo consiste em três fases que se
descrevem de seguida:
A primeira vai à página da wikipédia de pintores (existentes numa lista pré-feita) e retira a
informação mais importante para um ficheiro. Essa informação consiste no quadro de resumo,
caso exista, e os primeiros quatro parágrafos.
Nesta etapa foi usado o Lingpipe [23] e o Web-Harvest [22], tal como no caso de estudo
anterior.
A segunda pega nos ficheiros que contêm o quadro de resumo e etiqueta os campos do
quadro, como mostra a
Figura 20:
<nome_completo> Pablo Diego José Francisco de Paula Juan
Nepomuceno María de los Remedios Cipriano de la
Santísima Trinidad Ruiz y Picasso
</nome_completo>
<data_nascimento> 25 de Outubro de 1881 </data_nascimento>
<local_nascimento> Málaga, Andaluzia </local_nascimento>
<pais_nascimento> Espanha </pais_nascimento>
<data_morte>
8 de Abril de 1973 </data_morte>
<local_morte>
Mougins, Provence-Alpes-Côte d'Azur </local_morte>
<pais_morte>
França </pais_morte>
<ocupação>
<estilo>
pintor e escultor </ocupação>
Cubismo </estilo>
Figura 20 - Quadro de resumo de Picasso etiquetado
Ainda nesta etapa, o sistema procura no texto os campos existentes no quadro e
etiqueta-os também, tal como é mostrado de seguida Figura 21:
<nome_completo> Pablo Diego José Francisco de Paula Juan Nepomuceno María de los
Remedios Cipriano de la Santísima Trinidad Ruiz y Picasso </nome_completo>
(<local_nascimento> Málaga </local_nascimento>, <data_nascimento> 25 de outubro
de 1881</data_nascimento> ² <local_morte> Mougins </local_morte>, <data_morte>
8 de abril de 1973 </data_morte> ) foi reconhecidamente um dos mestres da Arte do
século XX. É considerado um dos artistas mais famosos e versáteis de todo o mundo,
tendo criado milhares de trabalhos, não somente pinturas, mas também esculturas e
cerâmica, usando, enfim, todos os tipos de materiais. Ele também é conhecido como
sendo o co-fundador do <estilo> Cubismo </estilo>, junto com Georges Braque.
Figura 21 - Texto de Picasso etiquetado
40 Nesta etapa foram encontrados, mais uma vez, problemas com a formatação dos quadros
de resumo, dado que, tal como já foi dito, nem todos os quadros tinham os mesmos campos.
Como nem todos os campos tinham um número de linhas constante (o campo nascimento
tanto tem apenas uma linha com o local de nascimento, como duas linhas com o local e a
cidade de nascimento, como três linhas com o local, a cidade e o país de nascimento), para
identificar os campos, percorreu-se o quadro linha a linha identificando os campos através da
tag.
Foi difícil encontrar os campos no texto que estavam etiquetados no quadro, pois bastava no
texto estar um bocado diferente em relação ao quadro, numa ordem diferente, com um espaço
a mais ou com um ponto e vírgula em vez de uma vírgula, que já não encontrava. Por exemplo
no texto referente ao Picasso, Figura 21, encontra-VH D VXD RFXSDomR HP ³«WHQGR FULDGR
milhares de trabalhos, não somente pinturas, mas também esculturas H FHUkPLFD«´ QmR
referindo directamente ³pintor e escultor´ como no quadro de resumo,
Figura 20 (ver tag
ocupação).
Para combater tal facto testaram-se vários métodos de comparação de strings, desde
simples comparações palavra a palavra, a distância de Levenshtein. Pretendendo-se assim
que não fossem apanhadas apenas as strings exactamente iguais mas também as parecidas.
A terceira fase da tarefa de extracção de informação pega nos textos etiquetados na etapa
anterior e usa-os num sistema de treino [19], que permitirá para etiquetar os restantes ficheiros
(os que não contêm quadro de resumo).
Foi usado um sistema de treino desenvolvido em [19]. O sistema recebe como entrada as
tags utilizadas na etiquetagem (data_nascimento, local_nascimento, etc), os ficheiros já
etiquetados para treino e ficheiros por etiquetar e devolve-os já etiquetados. É possível usar
várias técQLFDV GH DSUHQGL]DJHP 690¶V Support Vector Machines +00¶V Hidden Markov
Models0(00¶VMaximum Entropy Markov ModelsH&5)¶VConditional Random Fields).
No final de todos os ficheiros estarem devidamente etiquetados, a informação é guardada na
base de dados.
4.2.3
Extensão à base de dados
Foi necessário acrescentar novas tabelas à base de dados para que esta pudesse guardar a
nova informação. Assim foi acrescentada a seguinte informação:
41 Nome_completo local_nascimento local_morte pais_morte nome
_artis
ta data_nascimento data_morte Artista Principais_trabalhos ocupacao nacionalidade pais_nascimento ISA estilo Pintor Considerando-se que:
x
Um pintor é um artista e que um artista pode pertencer a várias categorias (pode ser,
por exemplo, um pintor e um escultor ao mesmo tempo).
x
Um artista é definido pelo seu nome, nome completo, data de nascimento, data de
morte, local de nascimento, local de morte e ocupação.
x
Um pintor além de ter os atributos do artista, pode ter também o estilo.
A tabela Artista já existia mas foi necessário acrescentar novos parâmetros, acrescentou-se
então o seguinte:
Artista(nome_pintor, nome_completo, data_nascimento, local_nascimento, pais_nascimento,
data_morte, local_morte, pais_morte, ocupacao, nacionalidade, principais_trabalhos)
Pintor(nome_pintor, estilo)
4.3. Exemplo de aplicação
Quando o sistema é inicializado já contém informação sobre alguns pintores e obras de arte.
Inicialmente é percorrida uma lista de pintores e obras de arte e para cada um o sistema vai à
página de wikipédia correspondente e retira parte da informação e introdu-la na base de dados.
Segue-se um exemplo para a extracção de informação que é feita inicialmente para o pintor
Vicent Van Gogh:
42 O sistema vai à página: http://pt.wikipedia.org/wiki/Van_gogh, Figura 2218.
Figura 22 - 3iJLQDGD:LNLSpGLDGH³9DQ*RJK´
A página contém um quadro de resumo e o sistema extrai toda a informação do quadro e
etiqueta-a, tal como é mostrado de seguida. É guardado num ficheiro o quadro de resumo bem
como os primeiros parágrafos já etiquetados, para mais tarde ser usado como corpus de treino.
<NomeCompleto> Vincent Willem van Gogh </NomeCompleto>
<DataNascimento> 30 de Março de 1853 </DataNascimento>
<LocalNascimento> Groot Zundert </LocalNascimento>
<PaisNascimento> Países Baixos </PaisNascimento>
<DataMorte> 29 de Julho de 1890 </DataMorte>
<LocalMorte> Auvers-sur-Oise </LocalMorte>
<PaisMorte> França </PaisMorte>
<Nacionalidade> Holandês </ Nacionalidade>
<Ocupação> pintor </ Ocupação>
<MovimentoEstetico> Pós-impressionismo </MovimentoEstetico>
<PrincipaisTrabalhos> Os Comedores de Batata; Os Girassóis; A Noite Estrelada; Retrato do
Dr. Gachet </PrincipaisTrabalhos>
De seguida o sistema percorre o texto à procura de entidades mencionadas que etiquetou
anteriormente e etiqueta-as também, tal como se pode ver de seguida:
18
Obtida em http://pt.wikipedia.org/wiki/Van_gogh a 20/08/09
43 <NomeCompleto> Vincent Willem van Gogh </NomeCompleto> ( SURQ~QFLD DMXGD ‡
ILFKHLUR ‡ RXYLU QR EURZVHU =XQGHUW 'DWD1DVFLPHQWR! GH 0DUoR GH </DataNascimento> ² <LocalMorte> Auvers-sur-Oise </LocalMorte>, <DataMorte> 29 de
Julho de 1890 </DataMorte>) foi um <Ocupação> pintor </Ocupação> <MovimentoEstetico>
pós-impressionista </MovimentoEstetico> neerlandês, freqüentemente considerado um dos
maiores de todos os tempos.
Sua vida foi marcada por fracassos. Ele falhou em todos os aspectos importantes para o
seu mundo, em sua época. Foi incapaz de constituir família, custear a própria subsistência
ou até mesmo manter contactos sociais. Aos 37 anos, sucumbiu a uma doença mental,
suicidando-se.
As entidades encontradas são colocadas na base de dados, preenchendo o seguinte:
Artistaµ9LQFHQW YDQ *RJK¶ µ9LQFHQW :LOOHP YDQ *RJK¶, µ GH 0DUoR GH ¶ µ*URRW
=XQGHUW¶ µ3DtVHV %DL[RV¶ µ GH -XOKR GH ¶ µ$XYHUV-sur-2LVH¶ ¶ )UDQoD¶ µSLQWRU¶
µ+RODQGrV¶µ2V&RPHGRUHVGH%DWDWD2V*LUDVVyLV$1RLWH(VWUHODGD5HWUDWRGR'U*DFKHW¶
Pintor(µ9LQFHQWYDQ*RJK¶µ3yV-LPSUHVVLRQLVPR¶
No
caso
do
pintor
Sandro
Botticelli,
Figura
http://pt.wikipedia.org/wiki/Sandro_Botticelli:
Figura 23 - 3iJLQDGD:LNLSpGLDGH³6DQGR%RWWLFHOOL´
19
Obtida em http://pt.wikipedia.org/wiki/Sandro_Botticelli a 23/08/09
44 2319,
o
sistema
vai
à
página
Dado que esta página não tem quadro de resumo, usa-se o sistema de aprendizagem para
etiquetar as entidades mencionadas. O sistema de aprendizagem devolve o texto etiquetado
como é mostrado de seguida:
<NomeCompleto> Alessandro di Mariano di Vanni Filipepi </NomeCompleto>, dito
Sandro Botticelli (<LocalNascimento> Florença </LocalNascimento>, <DataNascimento>
1º de março de 1445 </DataNascimento> ± <DataMorte> 17 de maio de 1510
</DataMorte>), foi um célebre <Ocupacao> pintor </Ocupacao> <Nacionalidade> italiano
</Nacionalidade> da Escola Florentina do Renascimento. Igualmente receptivo às
aquisições do introduzidas por Masaccio na pintura do Quatrocento e às tendências do
<MovimentoEstetico> Gótico </MovimentoEstetico> tardio, seguiu os preceitos da
perspectiva central e estudou as esculturas da Antiguidade, evoluindo posteriormente para
a acentuação das formas decorativas e da atenção dispensada à harmonia linear do
traçado e ao vigor e pureza do colorido.
No final são procuradas as entidades mencionadas e colocadas na base de dados,
preenchendo o seguinte:
$UWLVWDµ6DQGUR %RWWLFHOOL¶ µ1º de março de 1445¶ µFlorença¶ µ¶ µ17 de maio de 1510¶ µ¶ µ¶
SLQWRUµLWDOLDQR¶µ¶
3LQWRUµ6DQGUR%RWWLFHOOL¶µ$OHVVDQGURGL0DULDQRGL9DQQL)LOLSHSL¶µGótico¶
Suponha-se agora que XPXWLOL]DGRUID]XPDSHUJXQWDSRUH[HPSOR³4XDODQDFLRQDOLGDGH
GH6DQGUR%RWWLFHOOL"´
Figura 24 - Interface do Art.Ask
45 O sistema vai à procura da pergunta mais parecida através das técnicas explicadas na
VXEVHFomRDQWHULRUHHQFRQWUDDSHUJXQWD³4XDODQDFLRQDOLGDGHGHDUWLVWD"´$WUDYpVGHXPD
Hash Table de par pergunta/tipo sabe-VHTXHRWLSRGDSHUJXQWDpµQDFLRQDOLGDGH"¶&RPLVVR
obtém-se a query SQL³VHOHFWQDFLRQDOLGDGHIURP$UWLVWDZKHUHQRPHBDUWLVWD DUWLVWD´3DUD
a query estar completa é necessário descobrir a entidade nome do artista. Para tal o sistema
XWLOL]DXPGLFLRQiULRGHSLQWRUHVTXHQHVWHFDVRGHYROYH³6DQGUR%RWWLFHOOL´6HRGLFLRQiULRQmR
encontrasse este nome, era utilizado um sistema de aprendizagem que devolveria o nome do
pintor. Com a query SQL completa, o sistema acede à base de dados para tentar obter uma
resposta. Se a resposta existir, é devolvida ao utilizador. Neste caso o sistema encontra a
UHVSRVWD ³,WDOLDQR´ 6H D LQIRUPDomR DLQGD QmR HVWLYHVVH QD EDVH GH GDGRV R VLVWHPD Lria à
página da wikipédia do pintor extraía a informação, como já foi mostrado anteriormente,
adicionava-a à base de dados e devolveria a resposta, caso encontrasse, ao utilizador. Se
PHVPR DVVLP D UHVSRVWD QmR IRVVH HQFRQWUDGD R VLVWHPD GHYROYHULD ³1mR HQcontrei a
UHVSRVWD´
.
46 5. Extensões à Interface em Língua Natural
5.1. Organização do capítulo
Neste capítulo são apresentadas soluções para o melhoramento da interpretação da questão
tanto ao nível da identificação das entidades mencionadas, secção 5.2, como ao nível de
encontrar a pergunta-tipo mais parecida com a pergunta original, secção 5.3.
5.2. Detecção de Entidades Mencionadas
No caso de estudo anterior, apenas se conseguia responder a perguntas cuja entidade
mencionada (naquele caso, obras de arte) se encontrava no dicionário. Para resolver esse
problema utilizou-se o sistema de aprendizagem [19], referido anteriormente, onde se utilizou
perguntas com as entidades etiquetadas como treino.
Quando o utilizador faz uma pergunta, o sistema vai tentar procurar a entidade mencionada
(obra ou pintor) em dicionários. Se não encontrar, utiliza então o sistema de aprendizagem
para a detectar. Uma vez detectada, utiliza o mesmo procedimento do caso de estudo anterior,
isto é, encontra a pergunta-tipo mais parecida e obtém a categoria da pergunta através de uma
HashTable de par pergunta/tipo. A partir da categoria obtém a query SQL que acede à base de
dados e devolve a resposta.
5.3. Alternativas à distância de edição
Nesta secção apresentam-se técnicas alternativas à distância de edição utilizada até agora
para encontrar a pergunta-tipo mais parecida, baseado num trabalho da cadeira de LN descrito
em [25].
Estas técnicas determinam a similaridade entre frases, neste caso perguntas. Tendo como
base um conjunto de treino de perguntas e dada uma pergunta, pretende-se saber qual a
pergunta do conjunto de treino que mais se assemelha (semanticamente) à pergunta.
Para tal foram utilizadas as seguintes medidas de similaridade:
x
Jaccard ± a medida de similaridade de Jaccard, originalmente desenvolvida no contexto
da Botânica para determinar a distribuição da flora alpina, é definida por:
Jaccard(A, B) =
|‫|ܤתܣ‬
|‫|ܤ׫ܣ‬
=
|‫|ܥ‬
ȁ‫ܣ‬ȁ + ȁ‫ܤ‬ȁെ |‫|ܥ‬ƍ
Onde |C| é o número de palavras partilhadas pelas perguntas A e B. Tal como qualquer
medida de similaridade, um valor de 0 significa perguntas totalmente dissimilares,
enquanto um valor de 1 significa que as perguntas são totalmente similares. Por
exemplo:
-DFFDUG³2QGHQDVFHXR3LQWRU´³3LQWRUQDVFHXRQGH"´ =
47 = 0.75
x
Dice ± a medida de similaridade de Dice, embora semelhante à de Jaccard, difere desta
por não penalizar tanto a diferença de tamanho de duas perguntas, sendo que devolve
sempre valores superiores à medida de Jaccard. É definida por:
Dice (A, B) =
3DUDRH[HPSORDQWHULRU'LFH³2QGHQDVFHXR3LQWRU´³3LQWRUQDVFHXRQGH"´ x
Overlap ± o coeficiente de Overlap é uma medida de similaridade semelhante à de Dice,
que tem em conta o facto de partilharem sequências de palavras (n-gramas) e é definida
por:
Overlap(A, B) =
3DUD R H[HPSOR DQWHULRU ILFDULD 2YHUODS³2QGH QDVFHX R 3LQWRU´ ³3LQWRU QDVFHX
3
RQGH"´ 3
5.3.1
=1
Técnicas experimentadas
Foram testadas duas técnicas que se encontram descritas de seguida.
5.3.1.1 Média pesada entre as medidas de Jaccard e Overlap
No projecto de LN fizeram-se testes com algumas perguntas, utilizando as diferentes
medidas de similaridade. Concluiu-se que o coeficiente de Dice devolvia valores relativamente
superiores (e por vezes irreais) ao de Jaccard, para perguntas relativamente grandes que,
apesar de terem bastantes palavras diferentes, tinham também um conjunto considerável de
palavras partilhadas. De acordo com estes resultados decidiu-se optar, neste trabalho, por
utilizar a medida de Jaccard para determinar a similaridade entre duas perguntas, utilizando
unigramas (palavras soltas).
A medida de Jaccard, foca-se apenas no número de palavras comuns entre frases e não tem
em conta a ordem em que as palavras aparecem. Observou-se que no conjunto de treino
existiam perguntas em que a ordem das palavras era importante, por exemplo, ³4XH 3LQWRU
pintou $Obra?´H³4XH2EUDSLQWRX3LQWRU"´$SHVDUGH estas duas perguntas partilhem todas
as palavras, o seu sentido é completamente antagónico, uma vez que a primeira pergunta por
$Pintor, e a segunda pergunta por $Obra. Como tal, considerou-se que a medida de Jaccard
não era suficiente e optou-se por utilizar também a medida de Overlap, que tinha em atenção
bigramas.
No trabalho de LN utilizou-se a seguinte fórmula:
Similaridade1 (A, B) Įî-DFFDUG$%± Įî Overlap(bigramas(A), bigramas(B))
48 Que fazia uma media pesada entre unigramas (palavras soltas) e bigramas (sequência de
duas palavras). Foi HVFROKLGRSDUDĮo valor 0.8, de modo a dar um peso muito maior ao facto
de as palavras partilharem unigramas, do que ao facto de partilharem bigramas.
Decidiu-se utilizar também esta fórmula neste trabalho devido ao facto de no conjunto de
treino haverem perguntas que partilhavam unigramas e outras que partilhavam bigramas e de
ser mais comum as perguntas partilharem unigramas, que bigramas.
5.3.1.2 Pré-processamento avançado
Nesta segunda técnica, igualmente implementada no referido projecto, tentou-se explorar os
benefícios de se fazer um tratamento ao conjunto de treino. Consideraram-se duas técnicas
que são tipicamente utilizadas em sistemas de recuperação de informação: a remoção de
stopwords e a aplicação de algoritmos de stemming às palavras.
A técnica de remoção de stopwords remove palavras que são frequentemente utilizadas em
IUDVHVPDVTXHQmRWrPFRQWH~GRVHPkQWLFRFRPRSRUH[HPSORRVGHWHUPLQDQWHV³R´H³D´H
como tal são irrelevantes para o cálculo da similaridade semântica entre duas perguntas.
Já a técnica de stemming consiste em reduzir as palavras à sua raiz (ou stem), através da
remoção de afixos morfológicos. Por exemplo, após a aplicação da técnica de stemming, as
palavras ³gatos´ e ³gatinho´ são reduzidas a ³gat´. Para testar a técnica de stemming foi
utilizado o algoritmo RSLP (Removedor de Sufixos para a Língua Portuguesa) [24], que
funciona através de um conjunto de fases, onde cada fase vai sucessivamente modificando a
palavra através de regras, por exemplo, redução do plural, remoção do género.
49 6. Avaliação
Para avaliar o sistema foram utilizadas as medidas de Cobertura, Precisão e medida-F que
se descrevem de seguida:
x
Cobertura
A cobertura mede a quantidade de informação relevante extraída. Cobertura é a
razão entre a quantidade de informação correctamente extraída e a quantidade de
informação disponível no texto, dada pela seguinte equação:
‫ = ܽݎݑݐݎܾ݁݋ܥ‬ ‫ܥ‬
ܲ
Onde C representa o número de resultados correctamente extraídos e P representa
o número de resultados total que deveriam ter sido preenchidos.
A desvantagem desta medida é o facto de devolver valores elevados quando se
extrai toda a informação, correcta e incorrecta, do texto.
x
Precisão
A precisão mede a confiança na informação extraída. Precisão é a razão entre a
quantidade de informação correctamente extraída do texto e toda a informação
extraída, dada pela seguinte equação:
ܲ‫ݏ݅ܿ݁ݎ‬ã‫ = ݋‬ ‫ܥ‬
‫ܥ‬+‫ܫ‬+ܱ
Onde C representa o número de resultados correctamente extraídos, I representa o
número de resultados incorrectamente preenchidos e O representa o número de
resultados que foram preenchidos e não o deveriam ter sido.
A desvantagem desta medida é o facto de se puder obter resultados elevados
apenas com informação que se tem a certeza de estar correcta e ignorando
informação que está no texto e que pode ser relevante.
x
Medida-F
As medidas de cobertura e precisão podem entrar em conflito uma com a outra.
Quando se tenta aumentar os resultados de cobertura, o valor da precisão pode
diminuir e vice-versa. A medida-F balanceia os resultados de cobertura e de
precisão, dada pela seguinte equação:
‫ = ܨܽ݀݅݀݁ܯ‬ (ߚ2 + 1) × ܲ × ܴ
ߚ2 × ܲ + ܴ
Onde R representa a cobertura, P representa a precisão H ȕ aparece como sendo
um valor que permite balancear o peso que se quer dar à cobertura ou à precisão no
cálculo a ser feito. De forma a ser dado o mesmo peso tanto à cobertura como à
50 precisão, como é habitualmente utilizado, atribui-se o YDORUDȕ derivando assim a
seguinte equação:
‫ܨ‬1 = 2×ܲ×ܴ
ܲ+ܴ
6.1. Avaliação do domínio das pinturas
Para avaliar a extracção de informação do domínio das pinturas criou-se uma lista com 50
pinturas sobre as quais se extraiu informação (nome do autor, local onde a obra se encontra,
data em que foi criada, estilo da obra, material utilizado). Segue-se de seguida um quadro,
Tabela 4, que mostra os resultados obtidos para as medidas, descritas acima:
Tabela 4. Resultados da extracção de informação sobre pinturas
Cobertura
Precisão
76.4%
Medida-F
90.1%
82.7%
A maior parte da informação que não foi extraída deveu-se ao facto de essa informação não
se encontrar disponível nos textos.
Informação como estilo, cidade e país onde se encontra o quadro foi a informação mais
difícil de extrair. O estilo era referido em poucos quadros e, nos que aparecia, por vezes era
referido com um sinónimo (por exemplo o estilo renascentismo podia ser encontrado no quadro
³2-Xt]R)LQDO´HP³2-Xt]R)LQDOp um afresco do pintor renascentista«´).
Quanto ao país e cidade onde o quadro se encontra, na maior parte das vezes apenas se
encontra a cidade. Poder-se-ia tentar saber o país através de um dicionário cidade-país. Tal iria
aumentar a informação extraída, mas não muito pois é uma informação que também está
pouco disponível nos textos.
Informações como nome do autor, nome do local onde se encontra a pintura e datas de
criação foram fáceis de encontrar, pois eram informações que estavam disponíveis em quase
todos os textos.
6.2. Avaliação do domínio dos pintores
Para extrair a informação do domínio dos pintores criou-se uma lista com 50 pintores, dos
quais 30 tinham quadro de resumo. Esses 30 foram utilizados como corpus de treino para
extrair informação dos restantes 20.
Para que os resultados da extracção de informação tivessem qualidade era necessário que o
corpus de treino tivesse bastantes entidades identificadas. Isso dependia muito dos métodos
de comparação que procuravam as entidades, encontradas no quadro de resumo, nos textos e
as identificavam.
Observou-se que com o método de comparação simples apenas eram encontradas strings
exactamente iguais, originando assim uma percentagem de etiquetagem baixa, apenas era
etiquetada aproximadamente 20% da informação encontrada no quadro de resumo.
51 O método distância mínima de edição permite tolerar uma margem de erro entre as palavras
conseguindo assim encontrar strings FRPR³SLQWRUHVFXOWRU´H ³SLQWRUHHVFXOWRU´6HDGLVWkncia
de edição entre duas strings era menor que 2, então as strings eram consideradas iguais. Era
considerada entidade a que tivesse a distância menor.
Com este método, a quantidade de informação etiquetada subiu consideravelmente para os
75%.
Após terem sido testados os métodos de comparação para a etiquetagem de informação nos
textos de pintores com quadro de resumo, foi necessário avaliar o sistema de aprendizagem
que etiquetava os restantes textos.
Segue-se um quadro, Tabela 5, que mostra os resultados obtidos com cada uma das
técnicas:
Tabela 5. Resultados do sistema de aprendizagem para etiquetar informação sobre pintores
Técnicas
Cobertura
Precisão
Medida-F
HMM
23.1%
68.2%
34.5%
MEMM
30.4%
79.6%
44%
CRF
12.6%
48.4%
20%
SVM
72.2%
88.5%
79.5%
A técnica SVM foi a que obteve melhores resultados. Contudo estes resultados ainda podem
ser melhorados através de um corpus de treino maior.
Informação referente à nacionalidade e ao movimento estético foi a mais difícil de extrair. O
movimento estético aparecia poucas vezes nos textos. Quanto à nacionalidade, na maior parte
das vezes não aparecia directamente, aparecendo apenas o local de nascimento. Poder-se-ia
tentar saber a nacionalidade através de um dicionário cidade-nacionalidade ou paísnacionalidade, consoante a informação disponível. Tal iria aumentar a informação extraída.
Informação relativa à data e local de nascimento e data e local de morte estava presente em
todos os textos e com a mesma estrutura (entre parêntesis, logo a seguir ao nome do pintor) e
por isso foi a informação mais fácil de extrair. 6.3. Avaliação da extensão à interface
6.3.1
Avaliação da detecção de entidades mencionadas
Para avaliar a detecção de entidades mencionadas com o sistema de aprendizagem,
testaram-se 50 perguntas com cada uma das técnicas e chegou-se aos seguintes resultados,
Tabela 6:
Tabela 6. Resultados do sistema de aprendizagem para detecção de entidades mencionadas
Técnicas
Cobertura
Precisão
Medida-F
HMM
58.6%
79.2%
52 67.4%
MEMM
42.1%
62.4%
50.3%
CRF
24.7%
67.4%
36.3%
SVM
82.2%
92.6%
87.1%
A partir da Tabela 6, observam-se resultados francamente melhores por parte da técnica de
SVM. Esta vai ser então utilizada na detecção de entidades mencionadas nas perguntas.
É ainda de realçar que a quantidade de dados oferecida pelo conjunto de treino pode ser
bastante aumentada tendo como consequência um ainda melhor desempenho deste método.
6.3.2
Avaliação das técnicas de similaridade
Para testar as técnicas descritas acima utilizou-se um conjunto de treino com 50 perguntas.
Concluiu-se que, no geral, a primeira técnica teve melhores resultados, tal como se pode
observar no quadro seguinte:
Tabela 7. Resultados das técnicas de similaridade
Técnica
Perguntas similares correctas
Percentagem correcta
Média pesada Jaccard e Overlap
42
84%
Pré-processamento avançado
23
46%
Em relação à segunda técnica, conclui-se que talvez não seja a melhor para comparar a
similaridade de frases com tão poucas palavras, como é o caso de perguntas. Por exemplo,
certas stopwordsDRVHUHPUHPRYLGDVLPSHGLDPGLVWLQJXLUDOJXPDVSHUJXQWDVFRPR³$2EUD
encontra-se em que PXVHX"´H³$2EUDHQFRQWUD-se num PXVHX"´XPDYH]TXHDVSDODYUDV
³HP´ ³TXH´ H ³QXP´ VmR UHPRYLGDV QD IDVH GH SUp-processamento. Este tipo de técnicas têm
bastante sucesso na área de recuperação de informação ou categorização de documentos,
uma vez que os documentos são, por norma, bastante longos, e não faz qualquer diferença
retirar palavras mais comuns. No entanto, tal não acontece com perguntas.
Ao utilizar-se a técnica de stemming, reparou-VH TXH SDODYUDV FRPR ³4XHP´ ³4XH´ H
³4XDQGR´HVWDYDPDVHUUHGX]LGDVjPHVPDUDL]³4XH´RTXHWDPEpPSURYRFRXDOJXQVHUURV
No geral, conclui-se que as técnicas de stemming e stopwords não são as mais adequadas
para calcular a similaridade semântica entre frases curtas, ao passo que técnicas simples de
similaridade baseada em palavras ou bigramas, apresentam melhores resultados. 6.4. Avaliação Final
Pediu-se 10 perguntas a 5 pessoas, perfazendo um total de 50 perguntas. Pediu-se que
metade das perguntas fossem sobre pintores e a outra metade sobre pinturas, para cobrir todo
o sistema.
53 Decidiu-se usar a técnica de dicionários e expressões regulares na identificação de
entidades mencionadas sobre pinturas e a técnica de aprendizagem na identificação de
entidades sobre pintores.
Em relação à interpretação da questão utilizou-se a técnica da média pesada entre as
medidas de Jaccard e Overlap e, para identificar a entidade mencionada da pergunta,
utilizaram-se dicionários e, quando este não obtinha resultados, o sistema de aprendizagem.
6.5. Resultados
Das 50 respostas recolhidas, 31 foram respondidas correctamente e 19 não foram, tal como
se pode ver no Tabela 8. Segue-se a análise das razões pelas quais a resposta não foi dada
correctamente, seguida de alguns exemplos.
Tabela 8. Resultados finais
Número total
Percentagem
Respostas Correctas
31
62%
Respostas Incorrectas
3
6%
Não respondidas
16
32%
6.5.1
Ausência de tratamento
A ausência de tratamento de algumas questões formuladas foi uma das responsáveis por
respostas não respondidas. Infelizmente o sistema não está preparado para todo o tipo de
questões. Como é natural, o tratamento de novas questões faz parte do trabalho futuro a
desenvolver, logo o leque de questões a tratar pode ser facilmente alargado.
Um dos tipos de questões que não foram interpretadas são questões com conjunções, como
por exemplo, ³Como se denomina o movimento fundado por Pierre Restany e Yves Klein?´ e
³2QGH IRUDP H[SRVWRV SHOD SULPHLUD WUDEDOKRV XVDQGR D FRU ,QWHUQDWLRQDO .OHLQ %OXH ,.%
FUtDGD SHOR DUWLVWD <YHV .OHLQ"´ 1R VHJXQGR H[HPSOR HUD SUHWHQGLGR XP WUDEDOKR GH <YHV
.OHLQHTXHDRPHVPRWHPSRXVDVVHDFRU,.%$TXHVWmR³4XHPVHFRQVLGHUDVHr o primeiro
pintor Afro-Americano a FRQKHFHU IDPD LQWHUQDFLRQDO"´ IRL LJXDOPHQWH uma questão difícil de
tratar. 2FRQFHLWR³SULPHLURSLQWRU´QmRpDEUDQJtYHOSHODEDVHGHGDGRV O mesmo sucede na
SHUJXQWD³4XDQWDVRUHOKDVWLQKDYDQ*RJKjGDWDGDVXDPRUWH"´FRPRFRQFHLWR³RUHOKDV´
6.5.2
Acesso à wikipédia
A limitação de se aceder à informação na wikipédia directamente (formando o endereço Web
com link wikipédia + nome pintor/pintura) e não navegando na página da wikipédia é
responsável por algumas das respostas não respondidas. Por exemplo, para se aceder à
SiJLQDGRTXDGUR³$ÒOWLPD&HLD´GH/HRQDUGRGD9LQFLWHUiGHVHFRORFDUQRHQGHUHoR:HER
nome do autor entre parênteses (A Última Ceia (Leonardo da Vinci)). Ao colocar-se apenas o
nome do quadro iria parar a uma página com informação sobre o acontecimento e não o
TXDGUR2PHVPRDFRQWHFHFRPRTXDGUR³$3ULPDYHUD´GH6DQGUR%RWWLFHOOL
54 1RXWURVFDVRVFRPRRTXDGUR³2*ULWR´GH(GYDUG0XQFK, ao colocar-se no endereço Web
apenas o nome do quadro, iria-se parar a uma página de desambiguação, actualmente não
tratada nesta tese.
2XWURVFDVRVFRPRRTXDGUR³$0DMD9HVWLGD´GH*R\DQmRWrP página na wikipédia.
6.5.3
Entidades Mencionadas
A limitação de conseguir responder apenas a questões que contenham os nomes dos
pintores e das pinturas escritos correctamente é responsável por algumas das questões não
respondidas.
Se o nome do pintor ou pintura estiver incompleto, a entidade não é reconhecida. É o que
acontece na questão ³Quando nasceu Monet?´VHRXWLOL]DGRUWLYHVVHHVFULWR³Claude Monet´
a questão teria sido respondida. Como não existe ninguém na base de dados cujo nome seja
VRPHQWH³Monet´Dquestão não foi respondida.
6.5.4
Erros ortográficos
A incorrecção ortográfica e também a ocorrência de erros tipográficos são responsáveis
SHORVUHVWDQWHVHUURVGR VLVWHPD3RUH[HPSOR³TXHPpRDXWRUGH$'HSRVLomRGH&ULVWRQR
7XPXOR"´ p XPD TXHVWmR TXH DSDUHQWHPHQWH HVWi FRUUHFWD &RQWXGR SRU ³7XPXOR´ HVWDU PDO
escrito, o analisador não consegue encontrar na base de dados a entidade mencionada pois
HVWijHVSHUDGH³7~PXOR´HQmR³7XPXOR´
55 7. Conclusão e Trabalho Futuro
7.1. Contribuições e Principais Conclusões
Neste trabalho, desenvolveu-se o Art.Ask, uma interface em língua natural, em Português,
para o domínio das obras de arte. O sistema responde a perguntas sobre pinturas (autor,
material, onde se encontra, etc), bem como sobre dados biográficos de pintores (data
nascimento, data morte, etc).
As contribuições principais deste trabalho são as seguintes:
x
Proposta de arquitectura para o Art.Ask
x
Análise de dois casos de estudo no domínio das pinturas e dos pintores
x
Avaliação do sistema
Da arquitectura da aplicação destacam-se as seguintes etapas: criação da base de dados,
extracção de informação, interpretação da questão e acesso à base de dados. Dentro das
várias etapas, o reconhecimento de entidades mencionadas foi uma das tarefas em destaque.
Foram testadas várias técnicas para a extracção de informação. Desde simples expressões
regulares, passando pelo caso de dicionários, e de sistemas de aprendizagem. As técnicas que
obtiveram melhores resultados foram as utilizadas no caso de estudo das pinturas (expressões
regulares e dicionários). Estas tiveram um bom desempenho por a informação a extrair ser bem
definida e ser possível de representar por expressões regulares e dicionários, o que não quer
dizer que as técnicas sejam piores ou melhores que a utilizada no caso de estudo dos pintores.
A interpretação da questão utiliza um sistema de similaridade que recebe uma pergunta e
através de um conjunto de treino indica qual a pergunta do corpus de treino mais parecida
semanticamente. Foram testadas duas técnicas de similaridade e a que obteve melhores
resultados foi a que fazia uma média pesada entre as medidas de Jaccard e Overlap.
A detecção de entidades mencionadas da pergunta é feita através de um dicionário e
quando o dicionário não encontra a entidade, é utilizado um sistema de aprendizagem.
7.2. Trabalho Futuro
O sistema pode ser melhorado nos seguintes aspectos:
x
Extensão do sistema
Actualmente só está disponível alguma informação sobre quadros e pintores. Pode-se
alargar a informação destes ou expandir o sistema para novas áreas, escultura, escultores, etc.
56 x
Correcção ortográfica
Algumas questões não foram respondidas por haver erros ortográficos na questão.
3DODYUDV FRPR ³Sandro Boticeli´ ³Vitor Mottez´ QmR VmR UHFRQKHFLdas pelo dicionário de
entidades, boicotando a possibilidade de responder à questão. A (falta de) acentuação é,
também, responsável por algumas questões não interpretadas.
A integração de um corrector ortográfico ajudaria a resolver este problema, contribuindo
para uma maior eficácia da aplicação.
x
Nomes Próprios
Existem autores em que tanto são mencionados com o nome completo como apenas o
primeiro nome, como acontece com o pintor ³Rafael Sanzio´, nuns quadros é referido como
³5DIDHO´ H QRXWURV FRPR ³5DIDHO 6DQ]LR´ 2 PHVPR DFRQWHFH FRP R Museu de Arte
Moderna que tanto é referenciado como ³Museum of Modern ArW´ ou ³MoMA´. Neste
momento são referidos como entidades diferentes.
x
Desambiguação no acesso à Wikipédia
([LVWHP TXDGURV FXMR QRPH WHP YiULRV VLJQLILFDGRV SRU H[HPSOR ³2 *ULWR´ WDQWR p XP
quadro, um filme ou uma novela brasileira. Ao tentar aceder-se à página da wikipédia GH³2
*ULWR´, aparece uma página de desambiguação a perguntar qual a categoria que se
pretende. É necessário tratar os casos em que isto acontece, escolhendo a categoria
quadro. Noutros casos, FRPR³$3ULPDYHUD´GH6DQGUR%RWWLFHOOLDRDFHGHU-se directamente
à página, é apreseQWDGDDSiJLQDVREUHDHVWDomRGRDQR³3ULPDYHUD´HPYH]GRTXDGUR
A alteração do acesso à wikipédia ajudaria a resolver este problema, contribuindo para
uma maior eficácia do sistema.
Resta frisar que um sistema como o desenvolvido nunca está terminado. Há sempre
melhoramentos a fazer aqui e ali, sempre pequenos detalhes que podem ser aperfeiçoados. A
própria natureza da língua natural implica que o trabalho a desenvolver neste sistema nunca
esteja terminado. A toda a hora surgem novas palavras, novas expressões, novas maneiras de
elaborar questões e cada vez há mais pintores e quadros.
57 58 I.
Apêndice
A. Perguntas do conjunto de treino
Segue-se o conjunto de treino utilizando tanto para o sistema de similaridade que detecta a
pergunta mais parecida como para o sistema de aprendizagem para a detecção de entidades
mencionadas na pergunta. A diferença é o facto de as perguntas do sistema de aprendizagem
têm as entidades mencionadas etiquetadas e as do sistema de similaridade não tem as
entidades, no lugar destas tem $Obra ou $Pintor.
Quem é o autor da <obra> Mona Lisa </obra> ?
Quem fez a <obra> Noite Estrelada </obra> ?
Quem pintou <obra> Madona do Fuso </obra> ?
Qual o artista que pintou <obra> Terraço do Café à Noite </obra> ?
Que artista pintou a <obra> Mona Lisa </obra> ?
<obra> A Virgem e o Menino com Santa Ana </obra> foi pintada por quem ?
<obra> Nenúfares </obra> foi feito por quem ?
Onde se encontram os <obra> Painéis de São Vicente de Fora </obra> ?
De quem é a autoria da " <obra> Mona Lisa </obra> " ?
Onde se encontra a <obra> Cabeça de Mulher </obra> ?
Onde se encontra <obra> A Anunciação </obra> ?
Onde posso encontrar <obra> Rapaz com cachimbo </obra> ?
Onde está <obra> La Belle Ferronière </obra> ?
Onde está exposto o famoso quadro de van Gogh " <obra> Doze girassóis numa jarra
</obra> " ?
Onde se pode visitar <obra> Canção: A tora vermelha </obra> ?
Em que galeria se encontra " <obra> O Grito </obra> " ?
Em que museu está a <obra> Guernica (quadro) </obra> ?
Em que museu se encontra a pintura " <obra> A Maja Vestida </obra> ", de Goya?
Quais são as dimensões da <obra> Madona e o Menino Entronados com Santos </obra> ?
Qual o tamanho da <obra> Escola de Atenas </obra> ?
Qual o material usado na obra <obra> São Jerónimo no deserto </obra> ?
Qual o material utilzado no <obra> O Nascimento de Vênus </obra> ?
Em que ano foi feito o <obra> São Jerónimo no deserto </obra> ?
A <obra> Mona Lisa </obra> foi feita em que ano ?
Qual a data de criação de <obra> Massacre dos Inocentes </obra> ?
Quando foi feito <obra> Dora Maar au Chat </obra> ?
Quando foi criado <obra> Irises </obra> ?
Em que ano foi pintado o quadro da <obra> Mona Lisa <obra> ?
Qual o estilo da <obra> Leda e o Cisne </obra> ?
59 O <obra> João Batista </obra> foi feito utilizando que estilo ?
Qual o estilo que segue <obra> Rapaz com cachimbo </obra> ?
Qual o movimento estético da <obra> A Adoração dos Magos </obra> ?
Que técnica foi utilizada por Leonardo da Vinci para pintar a <obra> Mona Lisa </obra> ?
Quando nasceu o pintor <pintor> Leonardo da Vinci </pintor> ?
Em que ano nasceu <pintor> Van Gogh </pintor> ?
Em que data nasceu <pintor> Rafael </pintor> ?
Quando morreu <pintor> Monet </pintor> ?
Em que ano morreu o pintor <pintor> Manet </pintor> ?
Em que data morreu o pintor <pintor> Renoir </pintor> ?
Onde nasceu <pintor> Rafael Sanzio </pintor> ?
Em que sitio nasceu <pintor> Pat Adams </pintor> ?
Em que país nasceu <pintor> Marc Chagall </pintor> ?
Onde morreu <pintor> Salvador Dali </pintor> ?
Em que sitio morreu o pintor <pintor> Pat Adams </pintor> ?
Em que país morreu <pintor> Giovanni Tiepolo </pintor> ?
Quais os principais trabalhos de <pintor> Leonardo da Vinci </pintor> ?
Quais as melhores obras de <pintor> Dai Jin </pintor> ?
Qual a obra-prima de < pintor> Leonardo da Vinci </pintor> ?
Qual a nacionalidade de <pintor> Michelangelo Buonarroti </pintor> ?
Qual a nacionalidade do pintor <pintor> Sandro Botticelli </pintor> ?
De onde é o pintor <pintor> Pablo Picasso </pintor> ?
Qual o estilo praticado por <pintor> Salvador Dali </pintor> ?
Qual o estilo característico do pintor <pintor> Jackson Pollock </pintor> ?
Que corrente artística podemos apreciar nas obras de <pintor> van Gogh </pintor> ?
Como se denomina o movimento fundado por <pintor> Pierre Restany </pintor> ?
Qual o nome completo de <pintor> Claude Monet </pintor> ?
60 Bibliografia
1. Stefan Kopp, Christian Becker, and Ipke Wachsmuth. The Virtual Human Max Modeling Embodied Conversation. Artificial Intelligence Group, University of Bielefeld.
Germany : Center for Interdiscplinary Research (ZiF).
2. Pilar de Almeida, and Yokoi Shigeki. Interactive conversational character as a virtual
tour guide to an online museum exhibition. Washington, DC, USA ,&&( ¶ 3URFHHGLQJV RI
the International Conference on Computers in Education, page 215, 2002.
3. Traum, David. Talking to Virtual Humans: Dialogue Models and Methodologies for
Embodied Conversational Agents. ZiF Workshop. s.l. : Springer, 2006, pp. 296-309.
4. How to talk to a hologram. Anton Leuski, Jarrell Pair, David Traum, Peter J. McNerney,
Panayiotis Georgiou, and Ronakkumar Patel. [ed.] Ernest Edmonds, Doug Riecken, Cécile L.
Paris and Candace L. Sidner. Sydney, Australia : ACM Press New York, NY, USA, January
2006. Proceedings of the 11th international conference on Intelligent user interfaces (IUI'06).
pp. 360-362.
5. Building effective question answering characters. Anton Leuski, Ronakkumar Patel,
David Traum, and Brandon Kennedy. Sydney, Australia : s.n., July 2006. In Proceedings of
the 7th SIGdial Workshop on Discourse and Dialogue.
6. U.S.Army. Army enlists virtual assistant SGT STAR to connect with potential recruits.
U.S.Army Case Study.
7. An Affective Robot Guide to Museums. Dimitrios Vogiatzis, Constantine D.
Spyropoulos, Stasinos Konstantopoulos, Vangelis Karkaletsis. Bellagio, Italy : s.n., 2008.
Proceedings of 4th International Workshop on Human-Computer Conversation, Bellagio, Italy,
6-7 October, 2008.
8. Duarte Digital, Relatório Interno. 2008.
9. First prototype of conversational H.C. Andersen. Bernsen, N. O., Charfuelàn, M.,
Corradini, A., Dybkjær, L., Hansen, T., Kiilerich, S., Kolodnytsky, M., Kupkin, D., and
Mehta, M. Gallipoli (Lecce), Italy : s.n., May 25-28, 2004. Proceedings of the International
Working Conference on Advanced Visual Interfaces (AVI 2004). pp. 458-461.
10. Domain-oriented conversation with H.C. Andersen. Bernsen, N. O. and Dybkjær, L.
Kloster Irsee, Germany : s.n., 14-16 June 2004. Proceedings of the Tutorial and Research
Workshop on Affective Dialogue Systems (ADS04). pp. 142-153.
11. When H. C. Andersen is not talking back. Bernsen, N. O. [ed.] T., Aylet, R., Ballin, D. and
Rickel, J. Rist. Kloster Irsee, Germany : Berlin: Springer Verlag 2003, September 15-17, 2003.
Proceedings of the Fourth International Working Conference on Intelligent Virtual Agents
,9$¶SS-30.
12. Merkel, Arne Jönsson and Magnus. Extending Q&A systems to dialogue systems.
Reykjavik, Iceland : Working Notes from NoDaLiDa 03, 2003.
13. Systems, Ontology-driven Information-providing Dialogue. Annika Flycht-Eriksson,
Arne Jönsson, Magnus Merkel and Håkan Sundblad. Tampa, Florida : s.n., 2003.
14. Dialogue and Domain Knowledge Management in Dialogue Systems Proceedings.
Flycht-Eriksson, A & Jönsson, A. Hong Kong : s.n., 2000. 1st SIGdial Workshop on
Discourse and Dialogue.Proceedings of the Americas Conference on Information Systems.
15. ². Some issues in Dialogue-Based Question-Answering. Stanford : Working Notes from
AAAI Spring Symposium, 2003.
16. Some empirical findings on dialogue management and domain ontologies in dialogue
systems - Implications from an evaluation of BirdQuest. Jönsson, Annika Flycht-Eriksson
and Arne. Sapporo : s.n., 2003. 4th Annual SIGdial Workshop on Discourse and Dialogue.
17. Martin, Daniel Jurafsky & James H. SPEECH and LANGUAGE PROCESSING: An
Introduction to Natural Language Processing, Computational Linguistics, and Speech
Recognition . s.l. : Prentice-Hall , 2000.
18. Wooldridge, Michael. An Introduction to MultiAgent Systems . s.l. : John Wiley & Sons,
2002. ISBN 0 47149691X.
19. Simões, Gonçalo. e-txt2db: Giving structure to unstrutured data. IST. 2009.
20. Silva, João Pedro. QA+ML@Wikipedia&Google. IST. 2009.
21. Wikipédia, a enciclopédia livre. wikipédia. [Online] http://pt.wikipedia.org/wiki/Wikipedia.
22.
Web-Harvest.
web-harvest
version
1.0.
[Online]
2006.
http://webharvest.sourceforge.net/.
23. LingPipe. [Online] http://alias-i.com/lingpipe/.
61 24. A Stemming Algorithm for the Portuguese Language. Orengo, Vivianne. Laguna de San
Raphael : s.n., 2001. In Proceedings of the Spire Conference.
25. João Silva, Mário Dourado, Silas Francisco. Projecto LN. 2009. 26. Cunningham, H. (2005). Information Extraction, Automatic. Encyclopedia of Language
and Linguistics, 2nd Edition.
62 
Download

Porque sorri a Mona Lisa? Dissertação para obtenção - INESC-ID