Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck Hoje • Objetivos • Tipos de Interação em Linguagem Natural (Questão/Resposta, Diálogo) • Técnicas de Implementação (Palavraschave, Semântica, Morfológica) Objetivos • Melhorar a interação entre homem e computador através de um meio mais intuitivo de comunicação ? 1011010111101 O chefe do projeto está trabalhando... Interação em Linguagem Natural • Tipos de Interação Hoje – Sistemas de questão/resposta • O usuário solicita informações sobre objetos • O sistema deve pesquisar uma base de objetos e retornar uma solução – Sistemas de Diálogo • Seqüência de interações onde o sistema deve adquirir informações do usuário, responder questões e executar ordens Interação em Linguagem Natural (cont.) • Por palavras-chave – Filtragem e reconhecimento de tokens • Semântica – Linguagem de representação complexa • Morfológica – Análise léxica, sintática, e semântica Aplicações baseadas em Palavraschave • Ex.: “Encontre páginas em Português que contém informações sobre Pelé” • Algoritmo • Entrada: Dicionário do Domínio, Frase – Eliminar stop words – Encontrar termos da frase presentes no dicionário – Disparar um motor de pesquisa Interação baseada em Palavraschave • O sistema deve pesquisar a pergunta do usuário dentro de uma base de perguntas e outra de respostas previamente modeladas • Ex.: Q = “Quando o Brasil foi descoberto?” Q Função de Matching Pergunta mais Próxima Quando Brasil descoberto? Base de Respostas Função de Seleção Base de Perguntas 1500 Interação baseada em Palavraschave • Medidas de matching simples para representação textual – Freqüência de palavras – Freqüência ponderada • Medidas de matching simples para representação vetorial – Distância Euclidiana – Média ponderada – TF-IDF (Term Frequency - Inverse Document Frequency) Interação baseada em Palavraschave (cont.) • Vantagens – Simplicidade – Processamento rápido • Desvantagens – Muito esforço de modelagem pois todas as questões devem ser previstas apriori – Limitada à interpretação de questões simples Sistemas de Questão/Resposta • Aplicações – Interrogação a bases de dados em geral – Solicitação de informações (turísticas, telefônicas, etc.) – Recuperação de documentos baseada no conteúdo (e.g.: encontre todas as histórias sobre Pelé) – Busca na Web O sistema ELIZA • Sistema desenvolvido por Joseph Weizenbaum no MIT e publicado em janeiro de 1966 na Communications of the Association for Computing Machinery Funcionamento • • • uma entrada, que consiste na leitura de uma frase via teclado ; um processamento, envolvendo duas fases : – – • o casamento de padrões, que corresponde encontrar numa base de padrões um padrão que case com a frase de entrada ; a transformação da frase de entrada, utilizando o resultado do passo (2), numa segunda frase, que corresponde a resposta à entrada (1) ; uma saída, que consiste simplesmente na impressão da resposta O sistema Eliza (cont.) • Exemplo de Regra (((?* ?x) I want (?* ?y)) (What would it mean if you got ?y) (Why do you want ?y) (Suppose you got ?y soon)) Padrão de Pergunta Respostas possíveis Interação baseada em Representações Semânticas • Utiliza linguagens complexas para representar conhecimento • Essas linguagens permitem a representação e inferência sobre conceitos complexos • Exemplos: Rede Semântica, Frames, Grafos Conceituais, Dependência Conceitual Interação em Linguagem Natural (cont.) • Por palavras-chave – Filtragem e reconhecimento de tokens • Semântica – Linguagem de representação complexa • Morfológica (Artigo SBIA, Cap. III da tese) – Análise léxica, sintática, e semântica Interação baseada em Representações Semânticas (cont.) Madeira material Móvel pernas um tipo de Branca cor Cadeira é um Cadeira do João Rede Semântica* * Woods **Marvin Minsky 4 Móvel ako valor : RAIZ material default: madeira pernas tipo: inteiro default: 4 Cadeira ako valor : Móvel cor default: branca Cadeira de João isa valor : Cadeira Frames** Interação baseada em Representações Semânticas – Grafos Conceituais* (cont.) • “Todo gato tem rabo” Gato: Conceito tem Rabo Relação [Gato: { * } ] -> (Tem) -> [Rabo] Conjunto de relações: é um, tem, parte de, agente, loc, etc. • “Pedro mora em Curitiba” [Pessoa: Pedro]<-(Expr)<-[Mora]->(Loc)->[Cidade: Curitiba] *John Sowa Interação baseada em Representações Semânticas (cont.) • Outras formas de representação – Dependências Conceituais* – DMT* (Dynamic Modeling Theory) – ... • Utilização de Representações semânticas – Construção de parsers semânticos *Roger C. Schank Interação baseada em Representações Semânticas (cont.) • Vantagens – Podemos representar conceitos, relações e idéias complexas • Desvantagens – Utiliza linguagens complexas – Necessita um grande esforço de modelagem do domínio Interação baseada em Representações Semânticas (cont.) • Exemplos – Avaliação do grau de compreensão de textos* – Sumarização de textos e documentos ** – Sistemas de tradução multi-língua * Bráulio ** Celso