Os artigos dessa edição estão disponíveis somente através do formato HTML.

Clique aqui para ler todos os artigos desta edição
Entrevista
Dr. Alex A. Freitas obteve seu Ph.D. em Ciência da Computação em 1997, pela University of Essex, Inglaterra. Trabalhou como professor visitante no CEFET-PR (Curitiba) de 1997 a 1998, e como professor adjunto na PUC-PR (Curitiba) de 1999 a 2002. Atualmente é Lecturer in Computing na University of Kent, Inglaterra. Suas publicações incluem dois livros sobre data mining, vários capítulos de livros convidados, e mais de 60 artigos publicados (após processo de "peer-review") em periódicos e conferências. Atualmente seus principais interesses de pesquisa são data mining, algoritmos evolucionários e bioinformática.
1. O Sr. se tornou bastante respeitado na área de pesquisa sobre Mineração de Dados. Fale-nos um pouco de sua carreira, como você foi trabalhar na Universidade de Kent e como tem sido seu dia a dia.
A minha pesquisa nessa área começou quando eu iniciei meu doutorado na University of Essex, Inglaterra, em outubro de 1993. Fiz meu doutorado com bolsa do CNPq, instituição que foi importante na minha vida (pois financiou tanto minha bolsa de mestrado quanto de doutorado). Por ter sido bolsista, ao terminar o doutorado eu tinha a obrigação de voltar e trabalhar no Brasil por pelo menos 4 anos. O que era muito justo, para repassar o que aprendi no doutorado para a comunidade acadêmica brasileira. Assim, voltei ao Brasil e trabalhei de 1997 a 2002 em Curitiba (primeiro no CEFET-PR e depois na PUC-PR). Trabalhei bastante em Curitiba, orientei muitos alunos, e fiquei com a consciência tranqüila de “dever cumprido”. Então decidi que era hora de voltar para a Inglaterra, que sempre foi a minha intenção depois de ter terminado o doutorado. A seguir me inscrevi em alguns concursos para “Lecturer” (professor universitário) aqui na Inglaterra, e acabei conseguindo esta vaga aqui em Kent, onde estou bem adaptado no momento. O dia a dia é corrido, como sempre. Como em qualquer outra universidade, temos que exercer atividades relacionadas a ensino, pesquisa e administração. Uma vantagem daqui, porém, é que a carga horária de aulas é bem menor do que no Brasil. Assim, acaba sobrando mais tempo para a pesquisa, que é uma das minhas maiores motivações para ficar por aqui.
2. Gostaríamos que falasse um pouco mais sobre sua vida pessoal. Possui algum hobby? Tem vontade de voltar para o Brasil? É difícil para um brasileiro trabalhar fora?
Tenho vários hobbies. Sou um grande fã de ficção científica (star trek, babylon 5, stargate, farscape etc.), e também gosto de romances policiais onde o detetive faz deduções mirabolantes – no estilo de Sherlock Holmes ou Hercule Poirot (Agatha Christie). Também gosto de viajar, principalmente a países estrangeiros – quanto mais “estrangeira” a cultura, mais interessante para mim. Além disso, gosto de jogos que envolvem raciocínio lógico como xadrez e bridge.
No momento não tenho vontade de voltar ao Brasil. Estou, no geral, bem adaptado por aqui.
Trabalhar em um país estrangeiro é sempre difícil. Exige muita determinação e adaptação a uma cultura estranha. Mas para conseguir um emprego, do ponto de vista técnico, um brasileiro que se candidatar a um emprego na Inglaterra está competindo de maneira justa com candidatos de qualquer outro país. O processo de seleção é bastante democrático, leva em conta a qualificação técnica do candidato (analise de CV etc.), e não a nacionalidade.
3. O Sr. possui algum vínculo com alguma instituição brasileira?
Não tenho nenhum vinculo empregatício, mas ainda co-oriento – formalmente ou informalmente – vários alunos de doutorado e mestrado no Brasil. No momento estou co-orientando uma aluna de doutorado e um de mestrado no CEFET-PR, uma aluna de doutorado na UFRJ, um aluno de doutorado na UNICAMP, e uma aluna de doutorado na UFPA.
4. Mudando de assunto, vamos falar agora um pouco sobre mineração de dados. O que significa minerar dados?
Basicamente, significa extrair conhecimento interessante e útil para tomada de decisões a partir de dados. Além disso, o processo de extração tem que ser pelo menos semi-automático, ou seja, envolvendo alguma técnica computacional, e a técnica em questão deve ser relativamente sofisticada, ou pelo menos “não-trivial”, para ser considerada como mineração de dados.
5. O que o motivou a trabalhar com mineração de dados?
Em primeiro lugar, a grande generalidade das aplicações. Métodos de data mining são úteis para praticamente qualquer empresa ou organização de médio ou grande porte (as quais provavelmente têm algum banco de dados com conhecimento “escondido”, “esperando para ser revelado”), independente da natureza de atividade da organização – seja medicina, finanças etc. Além disso, sempre fui muito interessado em IA (Inteligência Artificial), que para mim é a área mais interessante da ciência da computação. E vários algoritmos de data mining podem ser considerados algoritmos de IA, o que para mim é muito interessante.
6. Como surgiu essa área? Existe algum trabalho pioneiro realizado no Brasil?
Acho que se pode considerar como o “início da área” o primeiro workshop com o título “Knowledge Discovery in Databases”, que foi realizado como parte da IJCAI-89 (International Joint Conference on Artificial Intelligence). Em 1991 foi publicado o primeiro livro editado sobre o assunto. Em 1993 e 1994 mais dois workshops especializados, e a partir de 1995 conferências anuais especializados no assunto. Porém, cabe ressaltar que boa parte dos métodos de data mining usados hoje em dia foram desenvolvidos muito antes por pesquisadores de aprendizado de máquina (subárea da IA) e estatística. Assim, nesse sentido, a área não é muito nova. Mas sua popularidade só começou a crescer significativamente e a chamar atenção da indústria a partir de meados da década de 90. Infelizmente não estou ciente de nenhum trabalho pioneiro realizado no Brasil.
7. Que progressos mais relevantes a mineração de dados obteve nos últimos anos?
Houve progressos significativos em métodos de data mining para lidar com grandes bancos de dados tal como data mining com processamento paralelo, e progressos importantes em métodos de pré-processamento dos dados – principalmente métodos para “seleção de atributos” – e algoritmos mais sofisticados em geral. Mas ainda não houve muito progresso em alguns pontos importantes. Por exemplo, para o conhecimento descoberto ser útil para o usuário, é importante que o conhecimento seja compreensível e facilmente interpretável pelo usuário. Porém, ainda não houve muito progresso nessa área. É difícil medir a “compreensibilidade” do conhecimento descoberto. Por exemplo, considere o conhecimento descoberto na forma de regras SE (condições) ENTÃO (classe). A compreensibilidade de um conjunto de regras geralmente é medida como o “tamanho” do conjunto de regras (número de condições em todas as regras). Isso é uma medida puramente sintática do conjunto de regras, que ignora completamente seu significado.
8. Quais são os benefícios reais do uso dessa técnica? Por que usar mineração de dados ao invés das tradicionais técnicas estatísticas?
Os benefícios potenciais são enormes, pois o conhecimento descoberto tem o potencial para apoiar decisões de alto valor estratégico para a organização. É importante enfatizar que quando eu digo “conhecimento” estou me referindo não a uma tradicional “informação”, como o “detalhe” que o cliente João da Silva tem um salário de três mil e tem um bom crédito financeiro. Estou me referindo a conhecimento em um nível de abstração muito mais alto, capturando correlação entre um grande número de clientes, talvez expressa por regra da forma: SE (salário > R$3000) E (hipoteca = Não) ENTÃO (crédito = bom). Se o diretor do banco acreditar em regras desse tipo (que teriam sido extraídas automaticamente a partir dos dados) e autorizar sua aplicação, o banco estará usando a regra para classificar um grande numero de clientes que estão solicitando crédito especial, ou algo do tipo. Assim, quanto maior o acerto/erro da regra, maior o lucro/prejuízo do banco. Em um grande banco, a decisão em usar ou não as regras descobertas pode ser a diferença entre muitos milhões de reais a mais ou a menos.
Quanto à segunda pergunta, técnicas estatísticas ainda são muito úteis. Porém, uma boa parte das técnicas estatísticas tem a limitação de que um analista de dados tem que “propor uma hipótese” para então a estatística ser usada para validar ou rejeitar aquela hipótese. Data mining vai além disso, pois o algoritmo de data mining geralmente tem mais autonomia. Ele é capaz de propor várias hipóteses e avaliar cada uma delas baseado na consistência com os dados, automaticamente selecionando a melhor hipótese a ser retornada ao usuário. Em todo caso, há muitas técnicas de data mining que são baseadas em métodos estatísticos bem mais sofisticados do que a estatística “convencional”.
9. Na prática, onde a técnica de mineração de dados é utilizada atualmente?
Um exemplo é a área de telecomunicações – que é caracterizada por uma competitividade muito alta. Muitos bancos ou instituições financeiras de grande porte também fazem algum tipo de data mining. Também há muitas aplicações em medicina, bioinformática etc. Enfim, como eu mencionei anteriormente, é uma área com aplicações muito diversas, tendo em vista que qualquer organização de médio ou grande porte provavelmente tem um grande banco de dados hoje em dia.
10. O Sr. pode citar alguns casos de sucesso ou exemplos práticos do uso de Mineração de Dados? Pode citar alguma organização que tenha tido benefícios reais com a técnica?
Sobre isso, eu recomendo o livro:
V. Dhar and R. Stein. Seven methods for transforming corporate data into business intelligence. Prentice-Hall, 1997.
O livro tem sete estudos de caso, sobre várias técnicas de data mining, e para cada estudo de caso ele menciona o nome da organização, qual foi o beneficio real no uso da técnica etc.
Além disso, os proceedings de conferências internacionais sobre data mining geralmente contêm alguns artigos com exemplos “práticos”. Cabe ressaltar que alguns desses artigos não dão muitos “detalhes”, por razões óbvias de competitividade comercial.
11. Quais são as perspectivas de utilização da mineração de dados em empresas de pequeno porte?
É difícil dizer, mas acho que mesmo que a empresa tivesse uma base de dados relevante, a empresa talvez não tivesse recursos para investir, por exemplo, em contratar um analista de data mining, com conhecimento especializado na área. E data mining, se feito de forma errada, pode dar mais prejuízo do que lucro.
12. Qual o conhecimento necessário para que pessoas interessadas possam iniciar o estudo na área?
Uma boa base de estatística (no mínimo um sólido conhecimento de teoria de probabilidades) e de aprendizado de máquina (subárea da IA) ajudam bastante.
13. Percebemos que o Sr. tem trabalhado com algoritmos evolucionários. Poderia nos dizer o que são e como estão relacionados com a mineração de dados?
Basicamente, são algoritmos inspirados no princípio da seleção natural de Darwin. Na natureza, os melhores indivíduos sobrevivem e reproduzem, propagando seu material genético para as próximas gerações. Em algoritmos evolucionários, copiamos essa idéia da biologia. Cada “indivíduo” corresponde a uma solução candidata para o problema alvo. Cada indivíduo é avaliado, de acordo com uma função de qualidade específica para o problema alvo, e os melhores indivíduos (soluções) reproduzem, com variações, criando novos indivíduos (novas soluções) que estão mais adaptadas para resolver o problema alvo. Esse processo é repetido por varias iterações, até os indivíduos convergirem para uma boa solução para o problema alvo.
Algoritmos evolucionários são uma técnica de resolução de problemas muito genérica. Eles podem ser aplicados a uma grande variedade de problemas, e certamente não foram desenvolvidos para data mining. A minha pesquisa nos últimos anos tem sido justamente “adaptar” as técnicas gerais de algoritmos evolucionais para resolver problemas específicos de data mining.
14. Que benefícios os algoritmos evolucionários trazem?
Ao contrário de vários algoritmos de data mining que executam uma “busca local” no espaço de buscas (i.e., o “espaço virtual” correspondendo a todas as soluções candidatas), algoritmos evolucionários executam uma “busca global” no espaço de buscas. Eles trabalham com uma população de indivíduos (soluções) – em vez de apenas uma solução por vez – que explora simultaneamente várias regiões diferentes do espaço de busca. Isso os torna menos sensíveis a ruídos nos dados. Também têm a vantagem de serem simples, tanto a nível conceitual quanto a nível de implementação, e serem ao mesmo tempo capazes de gerar o comportamento complexo necessário para analisar dados de natureza complexa.
15. Aproveitando o assunto, fale-nos um pouco da relação entre banco de dados, mineração de dados e inteligência artificial.
Idealmente, mineração de dados deveria envolver a interseção entre bancos de dados, inteligência artificial (principalmente aprendizado de máquina) e estatística. Na prática, é difícil integrar todas essas áreas, logo projetos de data mining tendem a se concentrarem mais em algumas áreas do que em outras. Quanto ao relacionamento entre elas, a princípio tanto bancos de dados quanto estatística e inteligência artificial podem fornecer métodos que são adaptados para se tornarem métodos de data mining. Esse é o relacionamento mais comum. Um outro relacionamento possível, mas não tão freqüente, é usar os resultados de data mining para aperfeiçoar algum método de bancos de dados ou inteligência artificial. Por exemplo, conferências de IA internacionais às vezes têm uma “RoboCup” (copa de futebol de robôs), onde às vezes um método de data mining pode ser usado para, a partir de dados sobre torneios passados, fazer o robô “aprender” a jogar futebol melhor!
16. O senhor também tem trabalhado com bioinformática. Como essas duas áreas podem se relacionar?
Confesso que só recentemente – há alguns meses atrás – comecei a fazer pesquisa aplicando data mining em bioinformática. Assim, não posso me considerar um especialista nesse assunto. Mas basicamente o relacionamento é que a bioinformática é uma importante aplicação de data mining, ou seja, métodos de data mining podem ser aplicados a dados de biologia molecular, para descobrir conhecimento relevante que seja útil para aumentar nosso conhecimento sobre diagnóstico e tratamento de doenças, desenvolver remédios mais eficazes etc.
17. Recentemente o senhor foi co-editor de uma edição especial da IEEE Transactions, uma das revistas científicas mais respeitadas do mundo na área de tecnologia, sobre Evolutionary Computation on Data Mining and Knowledge Discovery with Evolutionary Algorithms. Fale-nos um pouco dessa experiência.
Foi muito trabalho, mas muito trabalho mesmo! Nós (eu e o outro editor, Ashish Ghosh, da Índia) recebemos trinta e cinco artigos, e só para recrutar revisores de artigo já foi uma luta e tanto. Cada artigo foi revisado por pelo menos três (e em alguns casos quatro ou cinco) revisores, de modo que tivemos que recrutar mais de cem revisores. Dos trinta e cinco artigos submetidos, no final acabamos selecionando apenas os quatro melhores (taxa de aceitação em torno de 10%), os quais, depois de varias revisões e correções, foram publicados nessa edição especial.
Mas como sempre, quando o trabalho termina, vem aquela sensação de alívio e felicidade por um trabalho importante concluído, e naquele momento a gente se convence que vale a pena.
18. Para os interessados em trabalhar com o Sr., é possível? Se sim, quais as condições e como proceder?
A princípio, se uma pessoa estiver interessada em “pesquisa” sobre data mining, estou à disposição para contato. Acho que o primeiro passo seria a pessoa interessada acessar a minha web page, para saber um pouco mais sobre minha pesquisa e determinar se há ou não uma boa interseção com o seu interesse. Minha web page é www.cs.kent.ac.uk/people/staff/aaf.
Se houver interesse mesmo, o próximo passo seria me enviar um e-mail: A.A.Freitas@kent.ac.uk.
19. Fale-nos um pouco do que trata seu mais novo livro Data Mining and Knowledge Discovery with Evolutionary Algorithms.
Este livro contém uma revisão geral de vários algoritmos evolucionários desenvolvidos especificamente para mineração de dados. Ele discute algoritmos evolucionários especializados para descobrir regras de classificação, para clustering (agrupamento de dados), para pré-processamento de dados, e para descobrir regras fuzzy, além de algumas técnicas para reduzir o tempo de processamento de um algoritmo evolucionário. Antes de discutir esses algoritmos especializados, eu inclui no livro algumas seções a nível relativamente introdutório sobre mineração de dados e algoritmos evolucionários separadamente, tentando preparar o leitor para a parte principal do livro, integrando algoritmos evolucionários e mineração de dados.
20. Aproveitando, poderia sugerir alguns sites e outros livros disponíveis sobre mineração de dados?
O web site principal é: www.kdnuggets.com. Este site contem muita informação, incluindo ponteiros para outros sites úteis. Outro site relevante é a web page da ACM SIGKDD: http://www.acm.org/sigkdd/.
Como livro sobre mineração de dados, eu recomendo particularmente:
Witten and Frank. Data Mining: practical machine learning with Java implementations. Morgan Kaufmann, 2000;
que é um livro bastante pedagógico e também tem a vantagem de descrever a ferramenta WEKA, uma ferramenta de data mining de domínio público, com código fonte em Java disponível on-line.
Esse livro segue uma perspectiva mais voltada para aprendizado de máquina, como indicado no título.
Suponho que muitos leitores dessa revista prefiram uma perspectiva mais voltada para bancos de dados. Nesse caso, recomendo o livro:
Han & Kamber. Data Mining: concepts and techniques. Morgan Kaufmann, 2001.
21. Por fim, como o Sr. vê a mineração de dados daqui a dez anos?
Pergunta muito difícil. Apesar de várias tarefas de data mining envolverem a previsão do valor de um atributo baseada nos valores de outros atributos, ironicamente é difícil prever o futuro de data mining! Uma possibilidade é que no futuro a IA estará bem mais avançada, e teremos “robôs” ou programas altamente inteligentes que sejam capazes de criar, automaticamente, novos programas de mineração de dados, ou talvez até robôs que desempenhem o papel de cientistas de data mining! Isso provavelmente vai levar mais de dez anos para ser realmente bem sucedido em geral, mas, para os incrédulos, é interessante mencionar que um primeiro passo nessa direção já foi dado! Na famosa revista Nature (uma das revistas científicas mais famosas no mundo), Vol. 427, 15 Jan. 2004, p. 247-252, foi publicado um artigo com um título muito interessante: “Functional genomic hypothesis generation and experimentation by a robot scientist”. Leitura recomendada, principalmente para leitores que gostam de misturar a ciência com a ficção cientifica.
22. Temos aqui no Brasil um congresso anual sobre banco de dados, o SBBD – Simpósio Brasileiro de Bando de Dados. Poderia nos falar sobre o que é tratado nestes congressos? Qual seu objetivo?
O SBBD é o principal fórum para apresentação de resultados e discussão de pesquisas na área de bancos de dados no Brasil. É um evento muito bem organizado e de nível técnico muito bom. Nos últimos anos geralmente o evento tem incluído uma seção sobre mineração de dados, onde vários artigos na área – selecionados pelo comitê de programa – são apresentados. O SBBD também conta com tutoriais, alguns deles dados por pesquisadores internacionais. É um evento que eu recomendo para pesquisadores interessados em bancos de dados e data mining – principalmente data mining com uma perspectiva mais voltada para bancos de dados. Para quem estiver interessado em data mining com uma perspectiva mais voltada para a IA, uma boa opção é o SBIA (Simpósio Brasileiro de Inteligência Artificial), que também tem um nível técnico muito bom e costuma ter uma seção sobre data mining.