Sistemas de Pergunta e Resposta Equipe: Artur Luis do Nascimento Eudes Pimentel Canuto Marcelo Victor Calado de Sousa Costa Márcio Bernardino Fernandes Lima da Cunha Roteiro • • • • • • • Introdução Motivação Histórico Sistemas de Pergunta-Resposta Sistemas de Pergunta-Resposta Atuais Estudo de Caso Conclusão Introdução • Um sistema de Pergunta-Resposta é um programa capaz de receber como entrada uma pergunta em linguagem natural e retornar a resposta esperada. • A base de dados pesquisada pode conter dados estruturados ou documentos sem nenhuma estruturação. Motivação • O usuário deseja fazer uma pergunta em linguagem natural e obter a resposta correta no contexto do documento onde ela ocorre. • Os engenhos de busca convencionais negligenciam a semântica da pergunta e dos documentos indexados, o que os torna inadequados para esse tipo de aplicação. Histórico • Em 1965, vários sistemas de PerguntaResposta foram analisados: – Front-ends em Linguagem Natural para Bancos de Dados • Ex: Baseball, Lunar – Sistemas de Diálogo Interativo • Ex: Jupiter – Compreensão de Texto • QUALM • Normalmente usavam bases proprietárias Recuperação de Informação • É o processo de recuperar de uma base documentos relevantes. • RI está relacionada com sistemas de pergunta-respostas. • Sistemas de RI retornam documentos, e não respostas objetivas. Recuperação de Informação • RI é relevante para sistemas de pergunta-resposta por dois motivos principais: – As técnicas tradicionais de RI foram estendidas para não só retornar documentos relevantes. – A comunidade de RI desenvolveu uma sólida metodologia para avaliação dos seus sistemas. Extração de Informação • Consiste em uma atividade de preencher templates pré-definidos a partir de documentos em linguagem natural. • EI pode ser vista como uma forma limitada de sistemas de perguntaresposta. Arquitetura Genérica Análise da Pergunta Representação da Pergunta Pergunta Seleção de Documentos Candidatos Documentos Representação da Pergunta Coleção de Documentos Consulta Trechos Candidatos Modelo do Usuário Extração das Respostas Usuário Pré-Processamento da Coleção de Documentos Contexto do Diálogo Referências aos Documentos Resposta Candidata Resposta Contrução do Resultado Documentos PréProcessados Análise da Pergunta • A pergunta precisa ser convertida num formato (ou em alguns formatos). • A pergunta pode ser interpretada: – No contexto de um diálogo em andamento. – Sob a óptica de um modelo do usuário que o sistema eventualmente possua. Análise da Pergunta Análise da Pergunta Representação da Pergunta Pergunta Seleção de Documentos Candidatos Documentos Representação da Pergunta Coleção de Documentos Consulta Trechos Candidatos Modelo do Usuário Extração das Respostas Usuário Pré-Processamento da Coleção de Documentos Contexto do Diálogo Referências aos Documentos Resposta Candidata Resposta Contrução do Resultado Documentos PréProcessados Pré-Processamento da Coleção de Documentos • A coleção de documentos precisa ser processada a priori para que seja convertida num formato adequado para o processamento em tempo real. Pré-Processamento da Coleção de Documentos Análise da Pergunta Representação da Pergunta Pergunta Seleção de Documentos Candidatos Documentos Representação da Pergunta Coleção de Documentos Consulta Trechos Candidatos Modelo do Usuário Extração das Respostas Usuário Pré-Processamento da Coleção de Documentos Contexto do Diálogo Referências aos Documentos Resposta Candidata Resposta Contrução do Resultado Documentos PréProcessados Seleção de Documentos Candidatos • Um subconjunto do total dos documentos da base é selecionado. Seleção de Documentos Candidatos Análise da Pergunta Representação da Pergunta Pergunta Seleção de Documentos Candidatos Documentos Representação da Pergunta Coleção de Documentos Consulta Trechos Candidatos Modelo do Usuário Extração das Respostas Usuário Pré-Processamento da Coleção de Documentos Contexto do Diálogo Referências aos Documentos Resposta Candidata Resposta Contrução do Resultado Documentos PréProcessados Extração das Respostas • Através da utilização de representações adequadas da pergunta e de cada documento candidato, as respostas candidatas são extraídas e repassadas ao módulo seguinte. Extração das Respostas Análise da Pergunta Representação da Pergunta Pergunta Seleção de Documentos Candidatos Documentos Representação da Pergunta Coleção de Documentos Consulta Trechos Candidatos Modelo do Usuário Extração das Respostas Usuário Pré-Processamento da Coleção de Documentos Contexto do Diálogo Referências aos Documentos Resposta Candidata Resposta Contrução do Resultado Documentos PréProcessados Construção do Resultado • Esse módulo recebe as respostas candidatas e deve ordená-las. • O resultado que é retornado ao usuário pode ser influenciado: – Pelo contexto de um possível diálogo em andamento. – Pelo modelo do usuário que o sistema eventualmente tenha. Construção do Resultado Análise da Pergunta Representação da Pergunta Pergunta Seleção de Documentos Candidatos Documentos Representação da Pergunta Coleção de Documentos Consulta Trechos Candidatos Modelo do Usuário Extração das Respostas Usuário Pré-Processamento da Coleção de Documentos Contexto do Diálogo Referências aos Documentos Resposta Candidata Resposta Contrução do Resultado Documentos PréProcessados Sistemas de Pergunta-Resposta Atuais • As primeiras pesquisas na área de PerguntaResposta foram desenvolvidas em meados dos anos 60. • Desde então, pesquisas na área com focos diferentes foram realizadas. Sistemas de Pergunta-Resposta Atuais • Atualmente, a maior parte das pesquisas na área tem um escopo bem definido: – Desenvolver sistemas capazes de responder as perguntas dos usuários através de busca numa coleção de documentos não-estruturados. • Essa tendência é motivada principalmente pelas competições anuais organizadas pelo TREC. Arquitetura de Sistemas de PR Atuais • Dois módulos normalmente não estão presentes: – Contexto do Diálogo – Modelo do Usuário • Não são necessários para que os tipos de perguntas que os sistemas tratam atualmente sejam respondidas. Contexto do Diálogo • O Sistema deve guardar informações relativas as perguntas anteriores. • Exemplo: – Quando foi o decretado o impeachment de Fernando Collor? • Em 1992. – Qual foi a importância da participação popular para isso? • ... Modelo do Usuário • Busca da informação baseada no perfil do usuário. • Exemplo: – Um usuário que em seu perfil é fã de futebol faz a seguinte pergunta ao sistema: • Quem foi o campeão brasileiro de 1987? – SPORT Arquitetura de Sistemas de PR Atuais • Tem o objetivo de responder uma pergunta mediante pesquisa em uma base de documentos nãoestruturados. • Geralmente apresentam 7 módulos: – Análise da Pergunta, Pré-Processamento da Coleção de Documentos, Seleção de Documentos Candidatos, Extração das Respostas e Construção do Resultado. • Como foi destacado anteriormente, não costumam possuir os módulos que armazenam o contexto do diálogo em andamento e o modelo do usuário. Arquitetura de Sistemas de PR Atuais Análise da Pergunta Representação da Pergunta Pergunta Seleção de Documentos Candidatos Documentos Coleção de Documentos Consulta Trechos Candidatos Representação da Pergunta Usuário Extração das Respostas Pré-Processamento da Coleção de Documentos Referências aos Documentos Resposta Candidata Resposta Contrução do Resultado Documentos PréProcessados Análise da Pergunta Pergunta Análise da Representação da Pergunta Pergunta Usuário Taxonomia de Tipos • Entrada: uma pergunta expressa em linguagem natural realizada pelo usuário e taxonomia de tipos. • Saída: uma ou mais representações da pergunta, que serão usadas em fases subseqüentes. – Identificação de sua taxonomia. Análise da Pergunta • Como forma de simplificar o processamento, podemse impor restrições à linguagem utilizada. • Utilizando um subconjunto da linguagem natural, com limitações sobre o vocabulário e a sintaxe. • Apresentando ao usuário um formulário com campos pré-definidos, através do qual ele deve construir sua pergunta. Simplifica enormemente o processo de interpretação da pergunta. Limita bastante a expressividade das perguntas que o usuário pode formular. Análise da Pergunta • Classificação da pergunta de acordo com uma taxonomia de tipos semânticos da entidade procurada pela pergunta. • Determinação de novas restrições sobre a entidade de resposta. Por exemplo: – Identificação de palavras-chave na pergunta que serão usadas no processo de casamento com sentenças que contêm as respostas candidatas; – Identificação de relações (sintáticas e semânticas) que podem existir entre uma entidade na resposta candidata e entidades presentes na pergunta. Taxonomia de Tipos de Pergunta • Servem para classificar as perguntas dos usuários no sistema. • Pode ser complexa ou simples: – Sendo essa escolha uma decisão de projeto que deve ser analisada pela equipe de pesquisa e desenvolvimento do sistema. • Devem ser suficientemente genéricas para cobrir todas as possíveis perguntas dos usuários. Taxonomia de Tipos de Pergunta • As perguntas são classificadas de acordo com essa lista segundo dois métodos: – indução de regras de decisão – um algoritmo heurístico baseado em regras • Exemplos de categorias: • • • • • • • Pessoa Lugar Data Numero Definição Organização ... Taxonomia de Tipos de Pergunta Exemplo de taxonomia de tipos complexa apresentada por Pasça e Harabagiu Taxonomia de Tipos de Pergunta • Construção de taxonomia de tipos complexas envolve vários passos, além da utilização de ferramentas léxico-semânticas como o WoedNet. Classificação da Pergunta • Uma vez criada uma taxonomia dos possíveis tipos de pergunta, é necessário um algoritmo para efetivamente realizar a classificação. • Uma abordagem bastante intuitiva para a classificação é observar a principal palavra interrogativa da pergunta, a wh-word. • Por exemplo: – quando indica a procura por uma data – onde por um lugar – quem por uma pessoa – ... Classificação da Pergunta • Entretanto, essa abordagem pode não ser suficiente, já que várias das wh-words, como qual ou que, não contêm muita informação sobre o tipo semântico da resposta. Por exemplo: – Qual o nome da capital da Itália? – Qual é o carro mais rápido do mundo? – Qual era a nacionalidade de Che Guevara? • São iniciadas pela mesma wh-word (“qual”) • Porém procuram por uma entidade diferente: – Lugar – Objeto – Nacionalidade, Classificação da Pergunta • Para isso são necessárias técnicas para classificação da pergunta: – Técnicas Heurísticas – Técnicas Baseadas em Aprendizagem de Máquina Técnicas Heurísticas • A maioria dos trabalhos na área de PerguntaResposta utiliza abordagens essencialmente heurísticas para a classificação das perguntas. • Essa técnica apresenta a vantagem de ter uma implementação bastante simples e um alto grau de precisão na classificação. • O framework geral de algoritmos baseados nessas técnicas será mostrado a seguir: Técnicas Heurísticas – Passo 1 • Através da análise da wh-word da pergunta, tentar inferir imediatamente o tipo de resposta esperado. • Através dessa regra de associação simples é possível classificar perguntas iniciadas por whwords que são boas discriminantes, como: – ‘por que’ (indica uma razão) – ‘onde’ (lugar) – ‘quando’ (data) – ... Técnicas Heurísticas – Passo 2 • Caso o tipo não possa ser completamente determinado no Passo 1, através da utilização de um parser, o núcleo do primeiro sintagma nominal da pergunta após a wh-word é extraído de forma a se determinar a que classe ele está associado. • Exemplo: – Qual é a capital do Brasil? – O sintagma nominal após a wh-word é “... é a capital do Brasil”, cujo núcleo é “capital”. – Através da utilização de uma ferramenta que consegue mapear palavras em tipos semânticos, um sistema de Pergunta-Resposta poderia classificar a pergunta acima na classe “Lugar”. Técnicas de Aprendizagem de Máquina • Apesar da aplicação de técnicas heurísticas, como aquelas apresentadas na seção anterior, ser uma abordagem clássica para o problema de classificação da pergunta, existem trabalhos que propõem técnicas diferentes. • Utilizada, tanto para construção da taxonomia de tipos quanto para a classificação das perguntas. Técnicas de Aprendizagem de Máquina • A taxonomia é construída em dois níveis de hierarquia: – O primeiro nível, mais genérico, possibilita que a classificação seja realizada mais facilmente – As classes definidas no segundo nível provêem uma especificação mais precisa das categorias. • O classificador pode utilizar um conjunto de treinamento com cerca de 6.000 perguntas manualmente classificadas. Outras Etapas de Análise da Pergunta • Uma vez identificado o tipo da entidade procurada, o restante do processo de análise da pergunta se resume a identificar restrições adicionais a que as respostas candidatas deverão satisfazer. • Esse processo pode ser realizado através da extração de palavras-chave do restante da pergunta, que serão usadas no casamento da pergunta com as sentenças que contêm as respostas candidatas. – Esse conjunto de palavras-chave pode, adicionalmente, ser expandido através do uso de sinônimos ou palavras relacionadas Pré-Processamento da Coleção de Documentos • Como as perguntas devem ser processadas em tempo real através de pesquisas em coleções de documentos de texto da ordem dos gigabytes, um pré processamento off-line dos dados é necessário. • Alto custo da estrutura computacional necessária para se manter uma base com as informações vindas desse pré-processamento. • O processamento sobre a coleção de documentos geralmente é realizada por engenhos de busca. Seleção de Documentos Candidatos • Responsável pela identificação dos documentos que provavelmente contém a resposta para a pergunta do usuário • Escolha do tipo de engenho de busca Seleção de Documentos Candidatos • Principais componentes desse módulo – Construtor de Queries • responsável por construir queries eficazes a partir da pergunta do usuário, que serão enviadas ao(s) engenho(s) de busca utilizado(s). – Seletor de Trechos • deve selecionar, a partir dos documentos recuperados, as passagens que mais provavelmente contêm as respostas. Construtor de Queries • Papel fundamental em qualquer sistema de pergunta-resposta • Deve ser capaz de recuperar documentos onde a resposta procurada ocorra sob diversas construções diferentes Construtor de Queries • Modificação de Verbos • Expansão de Termos • Remoção de Palavras Irrelevantes (Stopwords) • Identificação de Termos Compostos • Reescrita da Pergunta Modificação de Verbos • Em perguntas em inglês com um verbo auxiliar “do” e um verbo principal, a resposta deve ocorrer num trecho que contém o verbo principal na forma conjugada. Ex.: “When did Nixon visit China?” • Dessa forma, uma query poderia ser construída com os termos “Nixon visited China in...”. Expansão de Termos • Dada uma pergunta, é possível que os trechos de documentos com sua resposta contenham sinônimos de termos usados na pergunta, ou palavras semanticamente relacionadas a esses termos • Por exemplo, se uma pergunta foi identificada como sendo da categoria INTERVALO DE TEMPO, os seguintes termos são adicionados à query: horas, minutos, semanas, ... Remoção de Palavras Irrelevantes (Stopwords) • Palavras como pronomes, artigos, preposições, conjunções e interjeições são removidas • Além da exclusão de stopwords, pode haver também a exclusão de palavras comuns Identificação de Termos Compostos • Alguns termos compostos, como os substantivos próprios, são atômicos e devem ser tratados dessa forma • Esses termos podem ser identificados através de: – Identificação de expressões entre aspas ou iniciadas por letra maiúscula na pergunta – Identificação de sintagmas nominais. Ex.: “What is question answering?” -> “question answering” Reescrita da Pergunta • É feita através da movimentação das palavras, cujo objetivo é achar a ordem em que a resposta poderá ocorrer • Duas formas de movimentações: – Entre sujeito e verbo auxiliar • Ex.: “Who was the first American in space?” -> “was the first American in space” e “the first American in space was” – Entre sujeito e verbo • Ex.:“Who shot JFK?” -> “shot JFK” Seleção de Trechos Candidatos • É necessário que se selecionem os trechos dos documentos selecionados que serão posteriormente processados, em busca de possíveis respostas para a pergunta do usuário • Pode ser realizada de duas formas: – Utilização dos resumos de documentos retornados pelos engenhos de busca – Busca, no documento inteiro, de trechos que foram julgados importantes. Busca de Trechos Candidatos no Documento • A identificação desses trechos é feita através de variações da seguinte técnica: define-se uma janela de tamanho fixo e ordenam-se as janelas de acordo com a quantidade de termos importantes que elas contêm • Quantidade de termos importantes – Regras simples – Métodos mais sofisticados como idf (inverse document frequency) Utilização de Resumos dos Engenhos de Busca • Diversos sistemas de Pergunta-Resposta utilizam apenas os resumos retornados pelos engenhos de busca para localizar respostas para a pergunta do usuário • Principais Vantagens – Eficiência – O processo de identificação de trechos candidatos é simplificado Extração das Respostas • Deve ser capaz de efetuar a identificação de possíveis respostas nos trechos selecionados. • Existem duas tendências neste módulo – Baseada no uso de técnicas e ferramentas lingüísticas – Baseada no uso de padrões superficiais de texto Técnicas Lingüísticas • Uma das técnicas lingüísticas mais utilizadas é, através do uso de named entity recognizers. Ex.: Pergunta: Quem é o presidente da Venezuela? Trecho Candidato: Hugo Chávez, atual presidente da Venezuela, é conhecido por... Técnicas Baseadas em Padrões de Texto • Os trechos candidatos são comparados com uma série de indicadores (padrões) pré-definidos, que têm pesos associados previamente • Esses padrões têm estrutura similar à de expressões regulares adicionando-se elementos correspondentes a listas de termos Técnicas Híbridas • Há um problema com o uso de padrões puramente textuais • Têm surgido trabalhos com o objetivo de tornar a técnica de padrões mais genérica. São usadas ferramentas de processamento de linguagem natural, como named entity recognizers em conjunto com padrões Construção do Resultado • Tem como função construir uma lista ordenada com as respostas candidatas, de acordo com a probabilidade de cada uma ser a correta. Apresenta duas técnicas: – Normalização das respostas – Ordenamento das respostas Normalização das Respostas • Respostas candidatas semanticamente idênticas (ou equivalentes) podem estar escritas de formas diferentes • Torna-se necessária a normalização (único formato) dessas respostas para posteriormente elas serem ordenadas Ordenamento das Respostas • Técnicas – Votação – Votação + Outras Técnicas • Associação de pesos ao trecho que contém a resposta candidata • Conceito de qualidade ou autoridade dos documentos (Google) • ... • Apresentação da resposta Pergunte! Uma Interface em Português para Pergunta-Reposta na Web Pergunte! • Sistema PR voltado para Língua Portuguesa • Trabalho de Mestrado de Juliano Rabelo CIn – UFPE 2004 • Utiliza a Web como fonte de informação Arquitetura do Pergunte! Módulo de Análise da pergunta • Entrada: Uma pergunta em linguagem natural sem restrições – Como o sistema não possui módulos de perfil do usuário nem de suporte a diálogo a pergunta submetida não é acompanhada de entradas implícitas. • Saída: Conjunto de representações da pergunta que serão utilizadas nos estágios subseqüentes. – Classe da pergunta – Termos atômicos – Classes morfológicas das palavras Exemplo do processamento do módulo Detalhamento do módulo 1/3 •Classificação das Perguntas –Definição da Taxonomia de Tipos •12 categorias: Localização, Data, Quantidade, Razão, Porque_Famoso, Modo, Definição, Tradução, Função, Abreviação, Abreviação_Expansão e Nome –O classificador de perguntas Detalhamento do Módulo 2/3 • POS-Tagging – Atribuição de classes morfológicas – POS-Tagger treinado para português - Utilização dentro do próprio módulo (classificação) e no módulo de seleção de documentos candidatos (Const. De Queries) – Diversas técnicas de implementação de POS-Taggers: • • • • Baseadas em métodos estatísticos Modelos de Markov Árvores de decisão estatísticas Baseadas em regras Detalhamento do Módulo 3/3 • Identificação de termos atômicos – Utilização de Heurísticas para determinação dos termos – Representação da pergunta desse submódulo serve de entrada para os módulos: • Seleção de documentos candidatos • Módulo de extração de respostas – Alguns termos sem identificação • Solução: Utilização de ferramentas linguísticas como parsers ou NP-Chunkers. Módulo de Seleção de Documentos Candidatos Módulo de Seleção de Documentos Candidatos • Iteração com os engenhos de busca • Construção de Queries – Papel fundamental em qualquer sistema de Pergunta-Resposta – Construção de várias queries diferentes • Reescrita da Pergunta • Termos atômicos • Termos simples Ordem de relevância Módulo de Seleção de Documentos Candidatos • Várias queries • Reescrita da pergunta (mais restritivas, porém mais precisas) – Ex: Qual é o princípio ativo do Tylenol? – “é o princípio ativo do Tylenol” – “o princípio ativo do Tylenol é” – “o princípio ativo do Tylenol” • Termos atômicos – Ex: Quem escreveu “O Encontro Marcado”? – “escreveu” AND “O Encontro Marcado” • Termos simples – “escreveu” AND “Encontro” AND “Marcado” Módulo de Seleção de Documentos Candidatos • Seleção de trechos – Utilização de resumos ou dos documentos inteiros – Identificação de trechos dos documentos retornados que serão utilizados no Módulo de extração de respostas. – Uso de stoplist Módulo de Extração das Respostas Módulo de Extração das Respostas • Usa a abordagem de padrões de texto – Não precisa de ferramentas lingüísticas (parsers, taggers, WordNet...) – Obteve os melhores resultados nas competições do TREC • Padrões estáticos • Padrões dinâmicos Padrão Estático • Pergunta: Onde está localizado o Cristo Redentor? (tipo: Localização) • Trecho Candidato: “Construído em 1931, o Cristo Redentor fica no topo do morro do Corcovado, no Rio de Janeiro.” • Alguns padrões correspondentes ao tipo Localização: – fica no “RESPOSTA” – se situa na “RESPOSTA” – estão localizados em “RESPOSTA” Padrão Dinâmico • Pergunta: Quem é o recordista mundial dos 100 metros rasos? (tipo: Nome) • Queries do tipo Reescrita da Pergunta: – “é o recordista mundial dos 100 metros rasos” – “O recordista mundial dos 100 metros rasos é” – “O recordista mundial dos 100 metros rasos” • Trecho candidato: “Tim Montgomery, o recordista mundial dos 100 metros rasos, foi o primeiro atleta a alcançar a marca de...” • Padrões dinâmicos construídos para a pergunta acima: – – – – “RESPOSTA” é o recordista mundial dos 100 metros rasos o recordista mundial dos 100 metros rasos é “RESPOSTA” “RESPOSTA” o recordista mundial dos 100 metros rasos o recordista mundial dos 100 metros rasos “RESPOSTA” Módulo de Construção do Resultado Módulo de Construção do Resultado • Normalização das respostas – Clustering das respostas candidatas • Baseado no Modelo do Espaço de Vetores – Centróide + medida do co-seno • Datas agrupadas de maneira especial – Ordenamento das respostas Protótipo • Seguiu a arquitetura apresentada • Orientado a objetos em Java • Reusabilidade, extensibilidade e modularidade • Metodologia de desenvolvimento baseada em conceitos de XP • Alguns padrões de projeto foram aplicados Testes • Corpus de 417 perguntas criado a partir do TREC 11 – A tradução procurou manter o nível de dificuldade – Perguntas literalmente traduzidas • When was the telegraph invented? • Quando o telégrafo foi inventado? – Perguntas com pequenas adaptações • How high is Mount Kinabalu? • Qual a altura do Monte Kinabalu? – Perguntas inteiramente reformuladas • • • • What is the democratic party symbol? Qual é o símbolo do PT? What river is called “China’s Sorrow”? Que rio é chamado de “Rio da Integração Nacional” Resultados •Classificador de perguntas: 99,04% de acertos –Taxonomia simples •Sistema: Pergunte! usando Respostas Certas Erradas Sem Resposta Docs. Completos 250 (59,95%) 82 (19,66%) 85 (20,38%) Descrição 226 (54,19%) 99 (23,74%) 92 (22,06%) Conclusão Contribuições • Criação do primeiro sistema de Pergunta-Resposta em português na Web – Pode ser estendido ou reutilizado como um framework em sistemas de PerguntaResposta em português • Construção de um corpus de perguntas em português Dificuldades encontradas • Falta de um corpus em português • Limitação de recursos lingüísticos • Poucos documentos em português na Web • Dificuldades de ordem técnica – Diversas ferramentas foram utilizadas: JTidy, HttpClient, Castor, jUnit... Perguntas ? OBRIGADO!