Desenvolvimento de um Sistema de Pergunta e Resposta
baseado em Corpus
Adriano Jorge Soares Arrigo, Elvio Gilberto Silva, Henrique Pachioni Martins, Patrick Pedreira Silva Curso de Ciência da Computação – Universidade Sagrado Coração (USC) Bauru – SP – Bauru arrigo.adriano@gmail.com, elvio.silva@usc.br, henrique.martins@usc.br, patrick.silva@usc.br Abstract. As the amount of textual information grows dramatically, it is important to research methods and develop tools in order to process and organize such data automatically. This project aims at exploring the potential of the text surface pattern to develop a Question Answering System. Therefore, this work proposes the adjustment and use of a method which allows learning the patterns automatically. A tagged corpus will be built based on the web, providing the samples required for both learning process and system building. After deploying, the system will be tested to verify its performance and validate the proposed method.Resumo. Com o crescimento exponencial da quantidade de informações textuais geradas, tornase relevante pesquisar métodos e desenvolver ferramentas que possam processar e organizar tais informações de modo automático. Este projeto propõe explorar o potencial dos padrões de superfície do texto para o desenvolvimento de um Sistema de Pergunta e Resposta. Para isso, é proposta a adaptação e utilização de um método que permite a aprendizagem de padrões automaticamente. Um corpus etiquetado será construído a partir da internet, provendo os exemplos necessários para o processo de aprendizagem e construção do sistema. Após a implementação o sistema será testado para verificação do seu desempenho e validação do método proposto. 1. Introdução As ferramentas de busca online que estão disponíveis atualmente (Google, Bing, Yahoo, etc.) emitem resultados que são correlatos à questão (query) que se deseja a resposta, mas não exatamente a resposta que se procura. Assim, não são raras as situações em que a busca de uma informação conduz a diversos assuntos, divergindo do objetivo inicial. A maior parte dessas ferramentas faz uso de técnica de busca por palavras chave, sendo incapazes de interpretar para além da correspondência de palavras em documentos (técnica conhecida como bag of words). Em tal técnica, o usuário apresenta um conjunto de termos (as palavraschave) e o sistema devolve uma lista
de documentos com base na presença ou relevância dos termos buscados. Finalizada a parte automática, cabe ao usuário a análise dos documentos obtidos, o que envolve a leitura e o descarte daqueles que não lhe são relevantes e, eventualmente, a detecção da informação pontual procurada no corpo de um daqueles documentos [Melo et. al 2012].
Hoje, devido aos avanços significativos dos buscadores em questões de desempenho, estrutura e armazenamento, esses possuem resultados excelentes se for tomada como métrica o desempenho para conhecimentos relevantes como, por exemplo, qual é a capital de um determinado país, quem foi determinada pessoa, etc; [Lewandowski 2015]. Não obstante, com o desenvolvimento de novas tecnologias de interação do usuário com a máquina, esses buscadores, a exemplo do Google, proporcionam atualmente não só um alto desempenho em suas respostas, mas uma experiência completa nessas buscas, como visto a partir de 2014 com o Grafo de Conhecimento1. Entretanto, a ausência de um corpo principal2 pode causar
dificuldades na construção, gestão e aplicação em uma base de conhecimento [Shengtao et. al 2002], ou seja, uma base de dados (nesse caso, o corpus) que possua informações relacionadas a um conjunto de conhecimentos específicos.
Assim, esse trabalho visa propor alternativas aos tradicionais métodos de busca de respostas em bases de documentos através do uso de extração de padrões de superfícies textuais. Essa proposta tem como base o trabalho de [Ravichandran and Rovy 2002] que aborda o tema através do uso de expressões regulares, etiquetagem de corpus e, posteriormente, o cálculo de precisão das respostas encontradas.
2. Trabalhos Correlatos
Um sistema de Pergunta e Resposta (Q&A, do inglês Question Answering) pode partir de domínios abertos ou domínios fechados. Os de domínios abertos são os que abrangem várias áreas do conhecimento, cruzando informações para chegar a uma resposta específica. Os sistemas fechados são treinados para responder perguntas em uma especialidade, como biologia, geografia, etc. Independente de um sistema de Q&A ser especializado ou não, ele passa por quatro fases principais [PRESTES 2011] conforme mostra a Figura 1. 1 Grafos de Conhecimento são ligações que o buscador faz para atrelar diferentes conhecimentos sobre um mesmo assunto a partir da busca que o usuário faz. 2 Entendese por corpo principal a parte de um corpus ou de um banco de dados que será usada para um propósito específico. Figura 1. Esquema das principais fases de um sistema de Q&A
Para melhor desempenho do sistema e para facilitar a compreensão da pergunta, alguns sistemas, como o MULDER [KWOK; ETZIONI; WELD, 2001 apud PRESTES 2001], o AnswerBus [ZHENG 2002 apud PRESTES 2001] e o Qualim [KAISSER 2005 apud PRESTES 2001] utilizam largamente:
Ontologias para classificar o corpus ou os documentos3.
O sistema WordNet4, uma ontologia largamente utilizada em sistemas de
domínio aberto para a língua inglesa.
Ferramentas de análise sintática para determinar a estrutura gramatical (Parsers);
Reconhecedores de entidades nomeadas para identificar o tipo de resposta esperada, sendo uma etapa essencial para perguntas que visam respostas sobre fatos (Qual a maior montanha do mundo / Quem foi Ayrton Senna).
O processo de steemining, que é o processo de voltar (se houver e se for possível) o verbo da pergunta para sua forma no infinitivo (ex.: descobrimento e nasceu tornamse descobrir e nascer, respectivamente).
Como fica claro na maioria dos sistemas de Q&A, as metodologias abordadas são orientadas a complexos métodos, porém isso não garante que os resultados sejam satisfatórios quando testados na língua portuguesa ou mesmo em sua língua vernácula. [PRESTES 2002] considera fraco o desempenho de tais métodos quando adaptados à língua portuguesa devido a diversos fatores ligados às abordagens orientadas à linguística computacional.
Já [Ravinchandran and Rovy 2002] ressaltam que no evento TREC510 o
sistema de QA vencedor usou apenas um único recurso computacional: uma lista extensa de padrões de superfície de texto.
Assim, através da análise da metodologia usada no sistema vencedor, o trabalho de [Ravichandran and Rovy 2002] investiga a acurácia de padrões encontrados sob a ótica da análise de superfícies textuais e, no caso do presente artigo, os esforços concentramse em adaptar esse método para a língua portuguesa e realizar uma análise das dificuldades encontradas e as possíveis potencialidades dessa abordagem oferecendo, assim, uma alternativa para os principais métodos linguísticos usados até então no desenvolvimento de sistemas de Q&A. 3 Uma Ontologia é um modelo de dados que descreve um conjunto de conceitos dentro de um domínio e os relacionamentos entre esses conceitos [PRESTES CITAÇAÕ DIRETA]; 4 WordNet disponível em https://wordnet.princeton.edu/ 5 O TREC é uma das principais conferencias na área de Q&A e tem por finalidade apoiar pesquisa na área de Recuperação de Informação e avaliar metodologias correlatas[ PRESTES 2002],
3. Materiais e Métodos
Para o processo da recuperação dos padrões de respostas foi necessária a construção de um corpus específico para esta investigação dividido em seis domínios de conhecimento, a saber: DESCOBRIDOR, FAMOSOPOR, ANONASCIMENTO, LOCAL, DEFINIÇÃO e INVENTOR. Cabe destacar que tais domínios correspondem a uma adaptação para o português do trabalho de [Ravichandran and Hovy 2002]. Foram feitas, pelo menos, duas perguntas (queries) distintas relacionadas a cada domínio. Por exemplo, para o domínio DEFINIÇÃO, foram feitas perguntas que indicassem a busca pelo significado de algo, como “O que é uma Timbila?”. Para essa questão o corpus foi construído, considerando todos os resultados da query “Timbila+ instrumento musical” (correspondendo ao objeto e sua definição), retornados pelo buscador Google e que são as palavraschave para a pergunta e a resposta, etiquetadas no corpus como <PERGUNTA> e <RESPOSTA>6, respectivamente. O método de procura por padrões em superfícies
foi usado em conjunto com essas etiquetas, já que esse método somente busca as palavraschave, sem analisar, em um primeiro momento, elementos característicos de cada palavra como seu emprego sintático ou semântico.
Foram utilizados comandos de linguagens típicas para recuperação de padrões textuais, como sed e awk. Essas linguagens, somadas ao utilitário de texto grep permitem a criação de simples expressões regulares [Ravichandran and Rovy 2002] que são muito úteis para buscar padrões textuais avançados através de complexos critérios de seleção [Robbins 2001]. Assim, para o presente trabalho, essas linguagens são muito úteis para recuperarem sentenças específicas no corpus além de ser possível, posteriormente, ranquear os melhores padrões de respostas. Foram construídos dois algoritmos: um para a aprendizagem de padrões de respostas (algoritmo 1) e o outro para calcular a precisão desses padrões (algoritmo 2). O algoritmo 1 é responsável por copiar os 100 primeiros resultados da query formulada a partir da pergunta inserida no buscador web, considerando apenas o conteúdo textual das páginas Web formando, assim, o corpus específico. Neste processo são desconsideradas, portanto, informações como imagens, tabelas, código HTML, etc; objetos esses que não são úteis para o procedimento aqui adotado. Além da eliminação destes elementos, foram retirados símbolos textuais (@, #, !, etc.), links e aspas. Adicionalmente, o corpus é colocado inteiramente em letras minúsculas (case folding). Posteriormente, são substituídas as palavraschave por suas etiquetas correspondentes, assim, todas as sentenças recuperadas podem ser analisadas automaticamente para que seja possível manter somente sentenças que possuam ambas as etiquetas, de pergunta e resposta.
6 Previamente as respostas do domínio DEFINIÇÃO foram dadas como certas a partir da definição encontrada no Dicionário Priberam da Língua Portuguesa (disponível em
http://www.priberam.pt/DLPO/Default.aspx), embora seja muito vasto as possíveis respostas para se definir determinadas entidades como, por exemplo, o que é o movimento artístico Concretismo.
Ao final, as sentenças que se mantiveram durante todo esse processo são ranqueadas através da contagem automática da sua frequência no corpus. Assim, ao final do algoritmo 1, serão selecionadas para o Algoritmo 2 somente as sentenças que tiverem o melhor posicionamento. O algoritmo 2 analisa a precisão de cada padrão de resposta selecionado. Para isso, os padrões selecionados são submetidos a um mecanismo de busca para que seja verificada a sua capacidade de recuperação de informação (precisão).
No exemplo da pergunta “O que é uma Timbila?”, o melhor padrão de resposta, de acordo com os resultados do algoritmo 1, foi “<PERGUNTA> é o nome de um <RESPOSTA>”. Assim, esse padrão é inserido no buscador com a query “timbila é o nome de um”, omitindo a resposta (instrumento musical) para justamente ser possível descobrir quais palavras são recuperadas por esse padrão. Dessa forma, são possíveis os seguintes resultados:
1 – Timbila é o nome de um instrumento musical.
2 – Timbila é o nome de um <QUALQUER_PALAVRA>;
Apesar de ser bastante genérica a opção <QUALQUER_PALAVRA> para a busca "O que é uma Timbila?", optouse por não não fazer restrições do tipo "Timbila é um <SUBSTANTIVO>", por exemplo. Tal decisão partiu da hipótese de que mais resultados interessantes podem aparecer sem essa restrição, apesar de o generalismo permitir também a recuperação de respostas indesejáveis.
A precisão de cada padrão de resposta (P) é calculada pela frequência absoluta acumulada, uma adaptação para o método descrito no trabalho de [Ravichandran and Rovy 2002], que consiste em P = Ca/Co, onde: Ca = total de sentenças recuperadas que contenha a resposta correta; Co = total de sentenças recuperadas. 4. Resultados A precisão foi calculada através de um experimento usando o mecanismo de busca Google com um conjunto de 12 perguntas relacionadas a um domínio específico (DESCOBRIMENTO, ANO NASCIMENTO, FAMOSO POR, DEFINIÇÃO, INVENTOR, LOCALIZAÇÃO). A Tabela 1 mostra alguns dos principais resultados por domínio.
Tabela 1. Resumo dos padrões encontrados e suas respectivas precisões
Domínio Pergunta Melhores Padrões Encontrados Precisão
DESCOBRIDOR Quem descobriu Netuno? <PERGUNTA> foi descoberto por <RESPOSTA> 0.58 Quem descobriu o Nióbio? <PERGUNTA> descoberto pelo <RESPOSTA> 1 ANO NASCIMENTO Em que ano B. Pitt nasceu? <PERGUNTA> nasceu em <RESPOSTA> 0.4
FAMOSOPOR Daniel Radcliffe é/ficou famoso pelo quê? <PERGUNTA> famoso por <RESPOSTA> 1 <PERGUNTA> famoso por interpretar <RESPOSTA> 0.42 DEFINIÇÃO
O que é timbila? <PERGUNTA> é o nome de um<RESPOSTA> 0.83
O que é
concretismo? <PERGUNTA> corresponde a um<RESPOSTA> 1
INVENTOR Quem inventou o Pantógrafo? <PERGUNTA> foi construído por <RESPOSTA> 0.66 <PERGUNTA> foi inventado pelo <RESPOSTA> 0.58 Quem inventou a lâmpada? <RESPOSTA> inventa a <PERGUNTA> 1
Um gráfico foi elaborado para melhor visualização dos resultados levando em consideração o desempenho geral para a precisão de cada domínio, conforme mostrado na Figura 2.
Conforme pode ser observado na Figura 2, o domínio que apresentou os melhores resultados foi o de DESCOBRIMENTO com uma precisão de 0,76 embora houvesse certa dificuldade para formular perguntas concisas sobre esse domínio, já que a maioria das perguntas formuladas relacionavamse melhor ao domínio INVENTOR. Perguntas que se relacionam a esse domínio foram restritas a descobrimentos científicos, que foram exatamente o tipo de pergunta feita nessa investigação. Perguntas do tipo “Quem descobriu o Brasil?” foram evitadas nesse experimento devido às divergências que há nas respostas, prejudicando os cálculos de precisão. O domínio DEFINIÇÃO obteve muitas respostas, dificultando a recuperação de um padrão que apareça no corpus duas ou mais vezes. Sendo assim, o padrão está atrelado ao tipo da palavrachave buscada. Para o domínio FAMOSOPOR, o método proposto (inserção da query com as palavraschave no buscador Google), não foi capaz de encontrar nenhum padrão que fosse recuperado duas ou mais vezes. Alternativamente, foram escolhidos manualmente os padrões encontrados. Para o padrão <RESPOSTA> famoso por interpretar <PERGUNTA> um script auxiliar foi aplicado ao corpus para retirar os adjetivos encontrados nesse caso. O domínio INVENTOR obteve bons resultados devido ao grande número de páginas web em português que possuem informações relevantes sobre os temas. Uma Figura 2. Resultado gráfico da precisão dos domínios testados.
das perguntas do experimento consistiu em buscar a resposta sobre um objeto pouco conhecido (Pantógrafo) e, em contraste, foi feita uma pergunta de conhecimento comum (quem inventou a lâmpada?). Embora mais satisfatório que os resultados do domínio ANONASCIMENTO, essa última pergunta encontra muitos textos de traduções automáticas ou duplicadas. Por um lado isso é bom, pois a quantidade de padrões encontrados foi alta e muito precisa. Porém, por outro lado, textos repetitivos fazem com o que o sistema desenvolvido lide com um mesmo tipo de padrão, impossibilitando testar o método para padrões diversificados, como é o caso da pergunta sobre o Pantógrafo.
Para o domínio LOCALIZAÇÃO, o método de encontrar os padrões de resposta (algoritmo 1) não recuperou nenhum padrão de resposta válido. Há uma grande variedade de respostas para uma pergunta do tipo “Onde fica Bauru?/ Onde se localiza Bauru?”. Como exemplo, algumas respostas poderiam ser: Bauru fica no CentroOeste paulista, Bauru fica no interior de São Paulo ou Bauru fica perto de Marília. Assim, é muito difícil escolher a melhor resposta para usar como palavra chave. Quando as palavraschave são encontradas, elas estão dentro de contexto de anúncios, notícias ou informações comerciais. Isso também pode ser verificado em informações sobre regiões mais conhecidas como “Onde fica o deserto de Gobi?”. Isso demonstra a complexidade de trabalhar com esse domínio e o seu baixo desempenho, como pode ser visto no resultado da pergunta “Onde fica a Chapada Diamantina?”.
Para o domínio ANONASCIMENTO, que teve o pior desempenho, o buscador Google não reconheceu padrões que possuem caracteres especiais (tais como parênteses e traços simples), assim poucos (ou nenhum) textos recuperados se encaixaram no padrão de resposta. Também é importante notar que devido as palavraschave serem nomes próprios seguidas de números (por exemplo, Mozart 1746) o buscador não consegue fazer distinção entre idiomas ocasionando a recuperação de padrões que, nesse caso, foram descartados devido o foco do trabalho ser a língua portuguesa. 5. Conclusões Apesar de incipientes, os resultados foram satisfatórios pois, de um modo geral, permitiram recuperar respostas pontuais para questionamentos realizados juntos ao motor de busca; o que pode indicar potencialidades na abordagem sugerida nesta investigação. Entretanto, ajustes com relação a alguns padrões devem ser feitos já que nem todos permitem recuperar uma resposta de modo tão preciso. Fatores como a própria complexidade da língua portuguesa dificultam essa tarefa. A grafia das palavras é um caso típico (por exemplo, “pantógrafo” e “pantografo”) dessa situação. Na investigação aqui relatada foram necessários que scripts adicionais fossem desenvolvidos para padronizar as palavras ou remover palavras extras. A partir disso, deve se levar em consideração que a web é muito extensa e há, assim, uma
pluralidade muito grande nas formas de escrever as palavras, embora, algumas vezes, a ortografia das palavras esteja incorreta, além de páginas que ainda fazem uso de ortografias antigas ou de Português de Portugal. A questão da variação de ortografia foi ignorada nesta investigação. A hipótese adotada é de que as respostas mais confiáveis serão encontradas nas páginas ou nos trechos de texto que utilizam a grafia correta. Textos que usam a grafia errada têm maiores chances de terem a resposta errada ou de terem outros erros de português, inclusive erros gramaticais, que dificultarão a obtenção de um padrão de resposta. Por outro lado, esse aspecto poderá ser explorado em trabalhos futuros para mostrar se está correto ou não essa percepção, sendo realizada a análise da qualidade das respostas com a grafia correta e com a incorreta.
Assim, apesar das limitações do método proposto, o foco particular do trabalho é o processamento da língua portuguesa, pois há poucos recursos para esta língua, uma vez que a maior parte das pesquisas envolve o idioma inglês. Devido à diversidade de padrões encontrada, o foco dos futuros trabalhos será em cima do domínio DESCOBRIMENTO, pois este obteve uma precisão maior se forem analisadas as complexas formações de frases possíveis em todas as respostas encontradas. Referências Robbins, A. (2009), Effective awk Programming, 3nd edition.
Ravichandran, D. and Hovy, E. (2002) “Learning Surface Text Patterns for a Question Answering System”, Proceedings… 40th Annual Meeting of the Association for Computational Linguistics (ACL).
Shengtao, S., Dingsheng, L and Guoqing, L. (2012) “The Application of a Hierarchical Tree Method to Ontology Knowledge”, International Journal of Software Engineering, Vol. 22, No. 4.
Dora M., Irene R., and Vitor N. (2012) “Um sistema de perguntaresposta para ontologias owl.” In INForum 2012 Simpósio de Informática. Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa, Lisboa.
Lewandowski, D. (2015) “Evaluating the retrieval effectiveness of Web search engines using a representative query sample”, Journal of the American Society for Information Science and Technology, vol. 66, Issue 9, p. 17631775.
Prestes, K. (2011) “Avaliação de métodos de Seleção da Resposta em um sistema de Perguntas e Respostas. Projeto de Diplomação. Universidade Federal Do Rio Grande Do Sul, Porto Alegre, 2011, 98 p.