Grupo de Tecnologias da Informação GTI - DCC - UFAM Abril - 2003.
Transcript of Grupo de Tecnologias da Informação GTI - DCC - UFAM Abril - 2003.
Grupo de Tecnologias da Informação
GTI - DCC - UFAM
Abril - 2003
Participantes
Pesquisadores: João Marcos Bastos Cavalcanti Altigran Soares da Silva Edleno Silva de Moura Tayana Uchôa Conte
11 alunos de mestrado 6 alunos de graduação
Linhas de Pesquisa
Síntese de Web Sites Gerência de dados na Web Recuperação de Informação
Síntese de sites Web
Estudo, desenvolvimento e implementação de procedimentos e técnicas de síntese automática de Web sites adequados para sistemas de RI
Linha liderada pelo professor João Marcos
Alunos: Keyla e Moises
Visão Geral
Prof. João trabalhou no doutorado com metodologias para síntese de Web sites
Motivação: As metodologias existentes não
explicitam a necessidade de se projetar sites que favoreçam sistemas de RI
Tese de doutorado do João
Técnicas de Lógica Computacional para
Construção Automática de Web Sites
Síntese de Web Sites
Geração automática de Web sites Objetivos:
Facilitar manutenção; Reutilização de especificações; Produção de Web sites
consistentes Exemplo: SSP Group Web Site
http://www.dai.ed.ac.uk/groups/ssp/
Síntese de Web Sites
Abordagens oriundas de três áreas: Banco de Dados: Araneus,
Strudel, WebML. Hipermídia: HDM, OOHDM. Ontologia: SEAL, OntoWebber
Nossa abordagem: IA(lógica computacional) + BD
Lógica ComputacionalPor que lógica ?
• Especificação declarativa e processamento procedimental
• Representação de conhecimento e raciocínio automático
• Metaprogramação
Lógica Computacional
Características da Nossa Abordagem: Uso de lógica para representar
Web Sites Suporte à geração de
visualizações alternativas Suporte a diferentes linguagens
alvo Verificação de restrições de
integridade e propriedades Automação de tarefas de
manutenção
Modelagem de Aplicações para a Web
Data-intensive Web Sites: Construção do Web Site a partir
do seu conteúdo Modelagem em separado de três
componentes: Conteúdo Navegação Apresentação
Arquitetura
Arquitetura
Conteúdo Navegação Apresentação
Nível 1 Entidades e Atributos
Relacionamentos e cardinalidades
Especificação de estilos de apresentação
Nível 2 Itens de informação
Transições Estilos, templates e def. para style sheets
Nível 3 Elementos HTML Links em HTML Elementos HTML e style sheets CSS
Especificação em Alto Nível
Modelagem Conceitual da aplicação
Experimentos realizados com o modelo Entidade-Relacionamento
Outros formalismos: UML, ODMG, Ontologias, etc.
Representação Intermediária Define conteúdo e caminhos de
navegação no site Independente de detalhes de
implementação Componentes básicos:
Itens de informação Unidades de apresentação Operações Transições
Itens de Informação
Itens de dados estruturados
info(Label; Type; Datum)
Label: identificador único Type: tipo de dados (integer,
string, text, list, tuple, table) Datum: o próprio dado (instância)
Unidades de Apresentação Mecanismo para agrupar itens de
informação
display(DisplayLabel, {InfoLabel1, …, InfoLabeln)
onde DisplayLabel é um identificador único e InfoLabeli são labels de itens de informação.
Operações Especificação de programas
op(Id, OpType, ArgsIn, ArgsOut) Id: identificador único OpType: filter, search, update,
insert, remove. ArgsIn: parâmetros de entrada ArgsOut: parâmetros de saída
• Operações representam páginas dinâmicas
Transições
Representam a estrutura de navegação
InfoLabel DisplayLabelDisplayLabel DisplayLabelOperationId DisplayLabel
Apresentação
Define detalhes visuais para apresentação do conteúdo
Componentes básicos: Estilos para itens de informação Modelos de páginas – templates Style sheets
Apresentação Estilos para itens de informação
Style(InfoLabel, StyleId)
StyleId: corresponde a um esqueleto de código na linguagem alvo (ex: HTML)
Exemplos de estilos: text, bullet list, itemized list, table, entre outros.
Apresentação
Apresentação
Modelos (templates) de páginas
Define posicionamento dos itens de informação
Facilita geração de apresentações alternativas
Permite personalização de páginas Web
Apresentação
Estilos para páginas - Style Sheets
Especificação em CSS Resolve especicação de detalhes de
cores, margens, tipo e tamanho da fonte de texto, etc.
Facilita manutenção do estilo das páginas
Permite estilos alternativos para uma mesma página
Apresentação
Possibilidades para manutenção
Alterar o estilo de um item de informação
Associar estilos a tipos de dados Alterar templates de páginas Alterar o style sheet (CSS)
Exemplo: Site de Grupo de Pesquisa
Itens de Informação:info(membros_atuais, list, M) :-
M = {Nome | pessoa(Nome, _, atual)}
info(membros_anteriores, list, M) :-M = {Nome | pessoa(Nome, _, anterior)}
info(publicacoes, table, T)T = {[Autores, Titulo, Ref, Ano]|
publicacao(Autores, Titulo, Ref, Ano)}
Exemplo: Site de Grupo de Pesquisa
Unidades de Apresentação
display(homepage, {texto_inicio, endereco, telefones, e-mail})
display(membros_grupo, {membros_atuais, membros_anteriores})
display(publicacoes_grupo, {publicacoes})
Exemplo: Site de Grupo de Pesquisa
Transições
homepage membros_grupohomepage publicacoes_grupolista_projetos(X)
projeto_info[projeto(X,_,_)]D homepage :-
display(D, _)
Exemplo: Site de Grupo de Pesquisa
Apresentação:estilos para itens de informaçãostyle(membros_atuais, bullet_list)style(membros_anteriores,
bullet_list)style(publicacoes, bullet_list)style(projeto_info, tuple)style(eventos, table)
Síntese Estruturas auxiliares
link(Info, SetInfo)
page(SetInfo, SetLinks, SetOp)
WebSite = {page(SetInfo1, SetLinks1, SetOp1), …, page(SetInfon, SetLinksn, SetOpn)}
Síntese Processo de síntese:
1. Instanciar itens de informação2. Criar programas (operações)3. Aplicar estilos de apresentação4. Traduzir estruturas de páginas
para linguagem alvo (HTML, XML, WML).
Verificação de Propriedades
Hipergrafo H = (V,E)
V = {v1, …, vn} conjunto de nós E = {e1, …, en} conjunto de
hiperarestas
ei = (he, Te) onde Te V e he V – Te
I D display(D, Is) iff (I, Is) E
Verificação de Propriedades
Todo item de informação deve ser incluído em uma unidade de apresentação
I,T,R D,Is info(I,T,R) display(D, Is) I Is
Verificação de Propriedades
Toda transição deve ser entre itens de informação e unidades de apresentação existentes
I,D (I D) info(I,T,R) display(D, Is) I
Is
Verificação de Propriedades Acessibilidade
i) I D ouii) I Dt It Dt It * D
D D’ I homepage(D) D’D
ID I * D’
Verificação de Propriedades Implementamos mecanismos
para verificação automática de propriedades
A complexidade de algumas verificações pode ser exponencial no pior caso
Verificação na especificação e não na implementação do Web site
Manutenção Automática Uso de agentes
especializados Operações específicas:
adição de conteúdo atualização de conteúdo remoção de conteúdo atualização da apresentação verificação de links externos
Manutenção Automática
Arquitetura do sistema de síntese e agentes de manutenção
Manutenção Automática
Arquitetura do sistema de síntese e agentes de manutenção
Manutenção Automática Especificação de agentes de
manutenção:
agent(InfoLabelSet, Time, Type)
InfoLabelSet: conjunto de labels de itens de informação
Time: frequência da tarefa Type: tipo de operação
Resultados Geração automática de Web sites
consistentes com especificação de alto nível
Facilidades para manutenção: Alterações no conteúdo Alterações na apresentação Pessoal não-técnico Automação de tarefas
Verificação de propriedades
Trabalhos Futuros
Entradas alternativas: UML Ontologia
Saídas Alternativas: XML WML PDF
Sistema de Gerência de Conteúdo
Trabalhos Futuros
Manutenção automática
Integração com métodos para Recuperação de Informação
Gerência de Dados na Web
Diversos trabalhos estão sendo conduzidos em conjunto com o LBD.
Alguns trabalhos novos sendo realizados pelo grupo em Manaus: Integração de fontes de dados Web Coletor de estruturas
Integração de dados
Objetivo:
Ser capaz de integrar informações textuais de fontes estruturadas heterogêneas
Motivação
Proliferação de bancos de dados na Web
Heterogeneidade das bases de dados da Web
Necessidade dos usuários em fazer consultas cujas respostas sejam o resultado da integração dos muitos recursos on-line disponíveis.
Exemplo: Bancos de Dados de Filmes
INTERNET INTERNET MOVIE MOVIE
DATABASEDATABASE
Lista de FilmesElencoDiretoresClassificação etc
MOVIE LINKMOVIE LINK
Relação de filmes em cartaz por cidade
n outros sites contendo críticas e observações sobre filmes
DDAABB
CC
Que filmes de Woody Allen
estão em cartaz em Nova York
e quais os comentários sobre
eles?
Que filmes de Woody Allen
estão em cartaz em Nova York
e quais os comentários sobre
eles?
Pesquisando...
Hannah e Suas IrmãsCrimes e Pecados A Rosa Púrpura do Cairo .....
Seatle....New Jersey....Nova York.....Chicago...
INTERNET INTERNET MOVIE MOVIE
DATABASEDATABASE
MOVIE LINKMOVIE LINK
DDAABB
CC
Uma garçonete que costuma fugir da realidade no cinema, assistindo sessões seguidas de seus filmes prediletos, tem uma grande. ....
Sistema de Integração de Informação
Consulta usando linguagem apropriada
Consulta usando linguagem apropriada
Busca usando técnicas de RI
Busca usando técnicas de RI
Bancos de dadosBancos de dadosHeterogêneos Heterogêneos
INTERNET INTERNET MOVIE MOVIE
DATABASEDATABASEMOVIE LINKMOVIE LINK
DDAABB
CC Resultado da Busca
Resultado da Busca
Sistema de Integração de Informação
Principais dificuldades:
Diferenças de modelagem entre as fontes. Nomes de
atributos e tabelas diferentes de BD para BD;
BDs diferentes utilizam nomes diferentes para
referenciarem o mesmo objeto. Ex: Uma pessoa pode
ser chamada de Paulo Henrique Silva Couto e em outra
fonte ser chamada de Paulo H. S. Couto.
O que está sendo feito
Há um método que utiliza o modelo vetorial para identificar similaridades entre elementos de diferentes BDs
Estamos estudando a possibilidade de utilizar espaços métricos para substituir o modelo vetorial neste processo
Coletor de estruturas
Objetivo Desenvolvimento de um coletor que
possa capturar dados sobre a estrutura de sites Web
Recuperação de Informação
Forte interação com o grupo LATIN da UFMG
Trabalhos voltado para sistemas de recuperação de informação na Web
Identificação de páginas sem importância em Maq. Busca
Dissertação de mestrado do Daniel (aluno da UFAM)
Objetivo é identificar páginas que provavelmente não serão usadas em consultas futuras
Idéia é estimar importância com base em dados de coletas passadas, consultas submetidas anteriormente por usuários, estrutura de links e estatística de ocorrência de palavras
Classificação de Páginas Web
Classificação de páginas Web Objetivos: melhorar classificação de
páginas web combinando informação derivada de seu conteúdo e estrutura de apontadores.
Idéia: É possível obter informação sobre o relacionamento semântico entre páginas através da estrutura de apontadores.
Classificação de Páginas Web
Estado atual do trabalho: Dissertação de mestrado mostra que
a idéia é viavel. Novos experimentos para verficar se
resultados se repetem.
Expansão de Consultas
Expansão de Consultas
Processamento de Logs
Processamento de logs
Detecção de Sites Espelho
Detecção de sites espelho