A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

ETELVINA U M G ERADOR D E P ERSONAGENS P ARA I NSTANT M ESSAGING Eduardo Jorge Costa Ribeiro Universidade do Minho Departamento de Informática.

Apresentações semelhantes


Apresentação em tema: "ETELVINA U M G ERADOR D E P ERSONAGENS P ARA I NSTANT M ESSAGING Eduardo Jorge Costa Ribeiro Universidade do Minho Departamento de Informática."— Transcrição da apresentação:

1 ETELVINA U M G ERADOR D E P ERSONAGENS P ARA I NSTANT M ESSAGING Eduardo Jorge Costa Ribeiro Universidade do Minho Departamento de Informática

2 AGENDA 1.Apresentação do projecto e objectivos 2.Arquitectura da Etelvina i.Motor da Etelvina ii.Módulos, configurações e linguagem de configuração de módulos 3.Base de conhecimento da Etelvina i.Motivação ii.Utilização de conhecimento na aplicação iii.Extracção de conhecimento da Wikipédia 4.Conclusões e trabalho futuro

3 1. A PRESENTAÇÃO DO PROJECTO E OBJECTIVOS O que é a Etelvina? Uma plataforma de criação de Elizas Totalmente configurável A Etelvina é também a personagem criada ao longo do projecto, que permite demonstrar quais as potencialidades deste sistema, assim como servir de base para novas personagens. Objectivos do projecto i.Tornar a Etelvina uma presença funcional, sempre disponível num cliente de Instant Messaging. ii.Construir uma ferramenta configurável, flexível e expansível, em que seja fácil a um qualquer utilizador compor módulos obtendo o comportamento desejado. iii.Permitir o desenvolvimento de módulos com conhecimento próprio. Exemplos de ferramentas úteis Calculadora Dicionários Tradutores automáticos Consulta de estado metereológico em determinada localidade Outros O que é uma Eliza? Uma Eliza é um programa de computador que tem como objectivo simular um interlocutor a ter uma conversa com um ser humano, e deve o seu nome devido ao primeiro programa do género a surgir.

4 2. A RQUICTECTURA DA E TELVINA Esquema geral da arquitectura da Etelvina

5 i. M OTOR DA E TELVINA Motor da Etelvina: o que é? Módulo central da aplicação Desenvolvido de forma a permitir a ligação de novos módulos Configurável através de um ficheiro XML Funções do motor Controlar o fluxo de mensagens Interligar e executar os vários módulos que compõem uma personagem Armazenar informações sobre os utilizadores ligados à Etelvina Exemplo de um ficheiro de configuração do motor xmpp utilizadorX password Etelvina Supercalifragilisticoexpialidous talk.google.com 5222 etelvinaDB.db 15 1 true 0.3 5 true <module name="Etelvina::Meteo" <module name="Etelvina::MatExp" <module name="Chess::Game"

6 ii. M ÓDULOS, CONFIGURAÇÕES E LINGUAGEM DE CONFIGURAÇÃO DE MÓDULOS Linguagem para criação de regras Composto por três tipos de instruções: a. Mensagens de entrada b. Blocos de código c. Mensagens de saída Módulo da Etelvina: o que é? Bloco de regras que definem os comportamentos da personagem Tipos de regras 1.Regras de acção-reacção 2.Regras de acção-computação-reacção 3.Regras de acção-computação-reacção computada

7 ii. M ÓDULOS, CONFIGURAÇÕES E LINGUAGEM DE CONFIGURAÇÃO DE MÓDULOS ( CONT.) Sintaxe das regras Bloco de Perguntas Inicia-se por "P:" e é seguido pelo texto a reconhecer como mensagem de entrada. Pode conter expressões regulares escritas em Perl. Bloco de Código Bloco opcional, que se inicia por "C:". Permite a escrita de código numa linguagem semelhante a Perl. Bloco de Respostas Bloco que contém o texto a devolver como resposta. Inicia-se por "R:". Exemplo de regras P: Olá P: Oi R: Olá P: O meu nome é. R: Olá ! P: Qual é o teu nome? P: Como te chamas? P: Nome? R: Eu chamo-me Etelvina. R: Eu sou a Etelvina. P: Quantos anos tens? P: Qual a tua idade? C: $$idade = getIdade(14,02,1974); R: Tenho anos. R: Quantos anos me dás? R: Já tenho. P: Qual a temperatura em ? P: Em, quantos graus estão? C: $$valor = temperatura($$localidade); R: Em estão ºC. R: Estão ºC em. Utilização de variáveis em regras Bloco de Perguntas Bloco de Código $$nomeVariável Bloco de Respostas

8 3. B ASE DE CONHECIMENTO DA E TELVINA Evitar mensagens de entrada do utilizador não possuam resposta Ter um tratamento que possibilite respostas quando não existe regras associadas Obter informações para responder questões dos utilizadores sobre variados temas Valorização da diversidade e actualidade Armazenamento local para evitar constantes pesquisas em tempo de execução Motivação para a criação de uma base de conhecimento

9 ii. U TILIZAÇÃO DE CONHECIMENTO NA APLICAÇÃO Esquema geral de utilização de conhecimento na aplicação

10 ii. E XTRACÇÃO DE CONHECIMENTO DA W IKIPÉDIA Extracção de informação de infoboxesExtracção de informação de páginas genéricas ChaveValor nomeFOX Portugal nome completoFox International Channels Portugal Lda imagemFicheiro:FOX wordmark-orange.svg descricaoTelevisão por assinatura paísPRT fundação2003 pertence aFox Broadcasting Company proprietárioNews Corporation slogan''A Casa das Séries'' coberturaTV por Cabo, Satélite e IPTV sitehttp://www.fox.pt/ {{Info/Rede de televisão |nome = FOX Portugal |nome completo = Fox International Channels Portugal Lda |imagem = [[Ficheiro:FOX wordmark-orange.svg|200 px]] |descricao = [[Televisão por assinatura| Assinatura]] |país = {{PRT}} |fundação = [[2003]] |pertence a = [[Fox Broadcasting Company]] |proprietário = [[News Corporation]] |slogan = ''A Casa das Séries'' |cobertura = TV por Cabo, Satélite e IPTV |site = http://www.fox.pt/ }} {{Info/Rede de televisão |nome = FOX Portugal |nome completo = Fox International Channels Portugal Lda |imagem = [[Ficheiro:FOX wordmark-orange.svg|200 px]] |descricao = [[Televisão por assinatura| Assinatura]] |país = {{PRT}} |fundação = [[2003]] |pertence a = [[Fox Broadcasting Company]] |proprietário = [[News Corporation]] |slogan = ''A Casa das Séries'' |cobertura = TV por Cabo, Satélite e IPTV |site = http://www.fox.pt/ }} Excepções: 1.Páginas com redireccionamentos 2.Páginas de desambiguação

11 4. C ONCLUSÕES E TRABALHO FUTURO Conclusões Estrutura criada é expansível e configurável Configurações fáceis de alterar, com muitas potencialidades devido à utilização de código Perl Encadeamento de conversas não é trivial Base de conhecimento construída simples Trabalho Futuro Criação de uma ferramenta para validação da sintaxe de configurações Contextualização de conversas Reacção a eventos do utilizador Suporte a conversas multi-utilizador Suporte a um maior número de linguagens de programação Extracção de informação de mais fontes e mais complexa

12 ETELVINA U M G ERADOR D E P ERSONAGENS P ARA I NSTANT M ESSAGING Eduardo Jorge Costa Ribeiro Universidade do Minho Departamento de Informática


Carregar ppt "ETELVINA U M G ERADOR D E P ERSONAGENS P ARA I NSTANT M ESSAGING Eduardo Jorge Costa Ribeiro Universidade do Minho Departamento de Informática."

Apresentações semelhantes


Anúncios Google