Aplicações práticas da
descoberta de conhecimento em BD
Jacques Robin
CIn-UFPE
Marketing e comércio

Gerenciamento de relação com clientes
(CRM de Customer Relationship Management) :
• descrição multi-dimensional, agrupamento e classificação de
clientes, associações entre produtos ou serviços, para otimização e
personalização de:


campanhas de propaganda e de promoções
sugestões de produtos e serviços
• mineração comparativa de evolução de compras, produtos ou
serviços oferecidos e preços para:


promover retenção de clientes
definir política de preço altamente dinâmica (ex, passagem aérea)
• ambos a partir de:


Transações com cartões de fidelidade, de requisitos de programa a la
carte (TV, vídeo, música), de reservas (passagens, hoteis, ingressos)
Log de servidor ‘Web para comércio eletrónico
• relevância para quase qualquer setor econômico: varejo, comercio
eletrônico, infra-estrutura, financia, entretenimento
Financia e segurança

Serviços financeiros:
• mineração de series temporais de valores na bolsa para especulação
• mineração de associação e grupos de valores para definição de
portfolio de investimento e planos de aposentadoria
• previsão de inadimplência para definir política de empréstimo

Detecção de fraude:
• descrição multi-dimensional e mineração de series excepcionais de:





de uso de cartão de créditos para serviços financeiros
pedidos de acesso a sites para segurança de sistemas
transferências de fundos para lavagem de dinheiro sujo e sonegação de
imposto
chamadas para telecomunicações
Detecção de tentativas de intrusão
• mineração de padrões temporais de comandos de protocolos em
arquivos de log de servidores
• batch e tempo real
Jogos, esportes e recursos humanos

Jogos:
• mineração de regras estratégicas e táticas a partir de BD de
partidas (xadrez, futebol de robôs)

Jogos, esportes e re-engenharia de organizações:
• OLAP, agrupamento e mineração multi-dimensional de series de
resultados para identificar fatores internos (ex, composição do
time, tática usada) e externos (ex, tipo de adversário, local do
jogo) contribuindo a vitórias e a derrotas

Jogos de esportes virtuais, esportes e recrutamento:
• previsão do desempenho e popularidade futuro de atletas,
artistas e funcionários para contratação e transferência
Serviços de infra-estrutura: energia, água,
transporte, telecomunicação, Internet
descrição multi-dimensional e previsão comparativa
 de demanda e da capacidade das fontes ou equipamentos
 para:

• planejar investimentos e otimizar rotas para evitar interrupção
de serviços e congestionamento
• definir vários níveis de qualidade de serviços, seus preços e seus
clientes potenciais
• detecção de fraudes
previsão de falha de equipamento para definir política de
prevenção de falha
 mineração de regras de diagnóstico para análise de falha

Saúde

Indústria farmacêutica:
• previsão dos efeitos de um novo remédio composto a partir dos
efeitos dos seus componentes em remédios testados

Medicina e epidemiologia:
• mineração de regras de diagnostico
• previsão de predisposição a doenças e resposta a tratamento
• a partir de BD de órgãos de saúde (CDC, ministério da saúde)

Pesquisa em genética e biologia molecular:
• mineração comparativa de seqüências de genes em células sanas e
doentes (adaptação da mineração de series temporais para dados
categóricos)
• mineração de associações e grupos de genes baseada na sua coocorrência em várias classes de células
• previsão da forma 3D de uma proteína a partir da sua seqüência
de ácidos-amidos
Conclusão sobre a aplicabilidade de KDD



Ainda existe muito mais tarefas e domínios de aplicação
prática da descoberta de conhecimento em BD não
mencionadas
Ubiqüidade da necessidade por mineração de dados e
descoberta de conhecimento em BD
O mais difícil não é identificar setores de atividade que
precisam dessa tecnologia e sim identificar setores que
não podem beneficiar-se dela
Exemplo detalhado
de aplicação:
descoberta de habilidades
chaves e insights táticos
em futebol de robôs
Exemplo detalhado de aplicação: competição
de softbots em partidas simuladas

Arquitetura clientes-servidor implementa simulador multi-agentes
Soccer Monitor
Time A
Time B
Cliente 1
Cliente 1
UDP/IP
Cliente 11



Soccer Server
UDP/IP
Cliente 11
Servidor atualiza: ambiente dos agentes = campo dos jogadores
Cliente do SoccerServer = agente = jogador
Time = software multi-agentes distribuído em 11 clientes
Exemplo detalhado de aplicação: competição
de softbots em partidas simuladas
Exemplo detalhado de aplicação:
caraterísticas da fonte de dados disponível
Arquivos de log do simulador de partidas SoccerServer
 Dados em formato flat
 Sem intencionalidade:

• Apenas resultado no campo das ações dos
agentes/clientes/jogadores
• Sem as ações mandadas para o simulador pelos agentes,
nem as percepções recebidas em volta
• Sem possibilidade de inferí-las confiavelmente, devido ao ruído
introduzido pelo simulador
De granularidade fina demais para descobrir insights
procurados por mineração direta
 Necessidade de passo(s) de derivação de dados de
granularidade suficiente na preparação dos dados

Exemplo detalhado de aplicação:
exemplo da fonte de dados disponível
Teamleft: Essex_Wizards, Teamright: FCPortugal
Score: 0:0
T: 0, mode: 4
Ball: ( 0.0, 0.0),
P: 1(-50.0, 0.0, 0),
...
22( 1.0, 25.0, 0),
T: 1, mode: 4
Ball: ( 0.0, 0.0),
P: 1(-50.0, 0.0, -78),
...
22( 1.0, 25.0, 84),
...
Exemplo detalhado: preparação de dados
Log do
Soccer
Server
Ferramenta de
modelagem E-R
Data Mart ROLAP
Dados Primitivos
e Derivados
Hipercubo
OLAP
primitivo
Data Mart ROLAP
Dados Primitivos
Serviços de
transformação
de dados DTS
Microsoft
SQL Server
Log do
Soccer
Server
SGBD
relacional
Servidor
OLAP
JDBC
API XSB-SQL
Hipercubo
OLAP
derivados
API XSB-Java
Sistema dedutivo XSB
Exemplo
detalhado:
esquema
dos dados
Dim_RelCoords
id_RelCoords
areaCoarse
areaMedium
areaFine
X
Y
Primitive_Flat
Dim_Direction
PK
id_Direction
angleCoarse
angleFine
Dim_Mode
PK
id_Mode
modeType
description
game
time
mode
ballPosition
playerPosition
player
direction
addTeam1Score
addTeam2Score
team1KickOff
team2KickOff
team1KickIn
team2KickIn
team1FreeKick
team2FreeKick
team1GoalKick
team2GoalKick
team1OffSide
team2OffSide
occurrence
Dim_Agent
id_Agent
team
number
Dim_Time
id_Time
half
periodCoarse
periodFine
Dim_Game
id_Game
team1
team2
championship
Derived_Flat
game
statistic
agent1
agent2
startTime
endTime
ballFromTeam1
ballToTeam1
ballFromTeam2
ballToTeam2
agent1FromTeam1
agent1ToTeam1
agent1FromTeam2
agent1ToTeam2
agent2FromTeam1
agent2ToTeam1
agent2FromTeam2
agent2ToTeam2
deltaTime
deltaBallX
deltaBallY
deltaAgent1X
deltaAgent1Y
deltaAgent2X
deltaAgent2Y
occurrence
Dim_Statistic
PK
id_Statistic
type
subtype
description
Exemplo detalhado de aplicação:
arquitetura do BD dedutivo XSB
XSB
Sistema dedutivo
em memória central
Hilog: regras
Flora: dedução
de ordem superior orientada a objetos
InterProlog
API Java
Software
externo
Java
API
C
Software
externo
C
Prolog tabulado
API
ODBC
API
Oracle
SGBD
relacional
SGBDR
Oracle
Exemplo detalhado de aplicação:
regras Prolog de derivação de dados
posseDaBola(Tempo, Time, Jogador, X, Y, Angulo) :fmode(Tempo, 3),
fplayer(Tempo, Time, Jogador, X, Y, Angulo),
posse(X, Y, Tempo).
posse(XJogador, YJogador, Tempo) :fball(Tempo, XBola, YBola),
diferencaAbsoluta(XBola, XJogador, DiferencaX),
DiferencaX < 1,
diferencaAbsoluta(YBola, YJogador, DiferencaY),
DiferencaY < 1.
Exemplo detalhado: mineração dos dados
Hipercubo
OLAP
derivados
Data Mart
ROLAP
Servidor
OLAP
Microsoft
SQL Server
Caracterização Multi-dimensional
dos resultados das partidas em função
das estatísticas de fases de jogo e
da taxa de sucesso de cada tipo de jogada
SGBD
relacional
JDBC
Weka
Previsão do sucesso de uma jogada
em função do seu contexto no jogo
Previsão da melhor jogada a tentar
para cada contexto de jogo
Clusters de jogadas
Download

KDDapps