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