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
http://www.dai.ed.ac.uk/groups/ssp/
Web
Site
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 Computacional
Por 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
modelo Entidade-Relacionamento
Outros formalismos:
Ontologias, etc.
UML,
o
ODMG,
Representação Intermediária
Define conteúdo e caminhos
navegação no site
Independente
de
detalhes
implementação
Componentes básicos:
Itens de informação
Unidades de apresentação
Operações
Transições
de
de
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
informação
para
agrupar
itens
{InfoLabel1,
de
…,
display(DisplayLabel,
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
DisplayLabel
DisplayLabel DisplayLabel
OperationId DisplayLabel
Apresentação
Define
detalhes
visuais
apresentação do conteúdo
Componentes básicos:
Estilos para itens de informação
Modelos de páginas – templates
Style sheets
para
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
mesma página
alternativos
para
uma
Apresentação
Possibilidades para manutenção
Alterar o estilo de um item
informação
Associar estilos a tipos de dados
Alterar templates de páginas
Alterar o style sheet (CSS)
de
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_grupo
homepage publicacoes_grupo
lista_projetos(X)
projeto_info[projeto(X,_,_)]
D homepage :display(D, _)
Exemplo: Site de Grupo
de Pesquisa
Apresentação:
estilos para itens de informação
style(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
1.
2.
3.
4.
Processo de síntese:
Instanciar itens de informação
Criar programas (operações)
Aplicar estilos de apresentação
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
i)
ii)
Acessibilidade
I D ou
I Dt It Dt It * D
D D’ I homepage(D) D’D
ID I * D’
Verificação de Propriedades
Implementamos mecanismos
verificação
automática
propriedades
para
de
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
manutenção:
de
agentes
de
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
Recuperação de Informação
para
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
MOVIE
DATABASE
Lista de Filmes
Elenco
Diretores
Classificação etc
MOVIE LINK
A
Relação de filmes
em cartaz por
cidade
B
C
D
n outros sites
contendo críticas e
observações sobre
filmes
Que filmes de Woody Allen estão em
cartaz em Nova York e quais os
comentários sobre eles?
Pesquisando...
INTERNET
MOVIE
DATABASE
Hannah e Suas Irmãs
Crimes e Pecados
A Rosa Púrpura do Cairo
.....
MOVIE LINK
Seatle....
New Jersey....
Nova York.....
Chicago...
Uma garçonete que costuma fugir
A
B
C
D
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
Bancos de dados
Heterogêneos
INTERNET
MOVIE
DATABASE
A
B
MOVIE LINK
C
D
Busca usando
técnicas de
RI
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
resultados se repetem.
verficar
se
Expansão de Consultas
Expansão de Consultas
Processamento de Logs
Processamento de logs
Detecção de Sites Espelho
Detecção de sites espelho