quarta-feira, 1 de setembro de 2010

Inteligência Computacional

A inteligência é uma capacidade inerentemente humana, diz-se que é a característica que nos diferencia dos outros animais. É muito difícil definir inteligência e (talvez por isso) o termo vem sendo empregado em diversos contextos diferentes. Freqüentemente, a palavra “inteligência” ou o adjetivo “inteligente” é utilizado para valorizar algum produto; de suspensão inteligente a forno de microondas, qualquer produto que contenha algum grau de automação torna-se “inteligente”.
Na ciência da Computação, o termo “inteligência artificial[1][2]” surgiu em meados da década de 1950 como uma proposta de estudo[3] para o desenvolvimento de máquinas capazes de utilizar a linguagem e executar tarefas como seres humanos. No final da década de 1960 surgiram os primeiros provadores de teoremas que evoluíram para os “sistemas especialistas[4]” em 1970. A tecnologia se tornou comercial em 1980 com as chamadas “shells” de sistemas especialistas[5]. Logo ficou claro que a aquisição de conhecimento e sua representação não era uma tarefa trivial. Entre o final da década de 1970 e meados da década de 1980 surgiram resultados do desenvolvimento de modelos de dados fora da estatística com o algoritmo “backpropagation[6]” para o ajuste de redes neurais e também os algoritmos de indução de árvores de decisão surgindo então o termo “aprendizado de máquina”[7]. Na década de 1990 os algoritmos genéticos[8][9] tornam-se amplamente conhecidos. Nesta época surgem também as redes neurais de base radial[10] e as máquinas de vetor de suporte[11] que fomentaram o desenvolvimento de diversos algoritmos baseados em “kernels”[12]. A integração destas técnicas passa a ser conhecida como “soft computing[13]” ou “computational intelligence[14]”. No Brasil a área ficou conhecida como “inteligência computacional[15]”. Em 1990 aparecem os primeiros algoritmos de regras de associação[16] que se tornaram conhecidos com o caso das fraldas e cervejas[17] Ao longo da década de 1990, o termo “mineração de dados[18]” começa a se difundir como um conjunto de técnicas que incluem estatística, aprendizado de máquina, inteligência computacional, bancos de dados, entre outras, para o desenvolvimento de modelos a partir de dados. Em 1997 surge a primeira plataforma de código livre de mineração de dados o Weka[19], desenvolvido na Universidade de Waikato, Nova Zelândia, tornando-se uma referência no mundo acadêmico. A partir de 2000, é cada vez maior o número softwares comerciais e de código aberto que implementam algoritmos de mineração de dados[20]. Ao longo da década de 2000, as plataformas de “mineração de dados” comerciais começam a se apresentar como ferramentas de “inteligência analítica[21]” cujo foco é a análise dos resultados gerados e o alinhamento dos resultados com os objetivos do negocio.
Desde o início da década de 2000 tem havido um grande esforço no desenvolvimento de algoritmos específicos para o tratamento de textos, que levou o surgimento de uma nova área chamada de mineração de textos[22]. O tratamento de documentos trouxe novos desafios para os pesquisadores e levou uma aproximação da área de mineração de dados à duas áreas clássicas da ciência da computação, de processamento de linguagem natural[23] e recuperação da informação[24]. Outros tipos de estruturas complexas como compostos químicos, estruturas de proteínas, redes biológicas e redes complexas como a internet. A pesquisa nesse nessa linha levou os pesquisadores de mineração de dados ao encontro da física estatística e ao estudo de redes complexas[25] [2][3]. Atualmente, com as tecnologias de web 2.0[26] e a popularização das redes sociais e do twitter, uma grande quantidade de informação é gerada diariamente por pessoas comuns, gerando informação potencialmente útil para as empresas. Diversas empresas têm incluído as redes sociais em suas estratégias de relacionamento com clientes abrindo um enorme potencial para as tecnologias de mineração de dados e textos.
Atualmente é possível ter uma estimativa qualitativa do interesse das pessoas por algum assunto através da ferramenta Google Trends[27] que mostra o número de buscas realizadas por alguma palavra no site de buscas Google. Com cerca de 65% do mercado de buscas, a amostra realizada pelo Google é bastante significativa. Algumas comparações interessantes são comentadas abaixo, todas as pesquisas foram realizadas em julho/2010.
A Figura 1 mostra a comparação entre o número de buscas realizadas pelo Google utilizando os termos “business ingelligence” e “data mining”. O gráfico mostra que o número de buscas por estes dois termos é parecido e tem se mantido estáveis nos últimos anos. A Figura 2 mostra a comparação entre “data mining” e “cloud computing”, o modelo de computação em que os aplicativos ficam na internet. Observa-se o grande aumento do número de buscas por “cloud computing”.

Figura 1: Google trends: “data mining” (em azul) e “business intelligence” (em vermelho)
Figura 2: Google trends: “data mining” (em azul) e “cloud computing” (em vermelho)
A Figura 3 mostra a comparação entre “text mining” e “business analytics”, mostrando o aumento da procura pelo segundo a partir de 2007. A Figura 4 mostra a comparação pelo Google Trends do volume de buscas dos termos “text mining” e “social networks”, observa-se um aumento da procura por redes sociais nos último anos.
 
Figura 3: Google trends: “text mining” (em azul) e “business analytics” (em vermelho)
Figura 4: Google trends: “text mining” (em azul) e “social networks” (em vermelho)
É importante observar que existe hoje uma grande quantidade de algoritmos e ferramentas para o desenvolvimento de modelos de dados. A apresentação exaustiva das diversas técnicas para desenvolvimento de modelos de dados seria, além de enfadonho, de pouca utilidade prática, uma vez que as interfaces gráficas das ferramentas mais modernas permitem que se execute um modelo sem conhecer os detalhes técnicos e, principalmente, as limitações do algoritmo. Por outro lado, sem o conhecimento dos fundamentos dos métodos e das principais características dos problemas um usuário desatento pode retirar conclusões totalmente falsas sobre o desempenho dos modelos. Neste sentido, o objetivo deste livro é apresentar elementos que permitam ao leitor interpretar e analisar corretamente os resultados dos modelos, conhecendo as limitações do que se pode obter em termos de resultados. Em outras palavras, a “inteligência” no processo deve estar no ser humano e não na ferramenta.


[1] http://en.wikipedia.org/wiki/Artificial_intelligence
[2] http://pt.wikipedia.org/wiki/Intelig%C3%AAncia_artificial
[3] http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html
[4] http://pt.wikipedia.org/wiki/Sistema_especialista
[5] http://www.kbsc.com/rulebase.html
[6] http://en.wikipedia.org/wiki/Backpropagation
[7] http://en.wikipedia.org/wiki/Machine_learning
[8] http://en.wikipedia.org/wiki/Genetic_algorithm
[9] http://www.obitko.com/tutorials/genetic-algorithms/
[10] http://en.wikipedia.org/wiki/Radial_basis_function_network
[11] http://en.wikipedia.org/wiki/Support_vector_machine
[12] http://www.kernel-machines.org/
[13] http://en.wikipedia.org/wiki/Soft_computing
[14] http://en.wikipedia.org/wiki/Computational_intelligence
[15] http://www.das.ufsc.br/gia/softcomp/
[16] http://en.wikipedia.org/wiki/Association_rule_learning
[17] http://web.onetel.net.uk/~hibou/Beer%20and%20Nappies.html
[18] http://en.wikipedia.org/wiki/Data_mining
[19] http://www.cs.waikato.ac.nz/ml/weka/
[20] http://www.kdnuggets.com/software/index.html
[21] http://en.wikipedia.org/wiki/Business_analytics
[22] http://en.wikipedia.org/wiki/Text_mining
[23] http://en.wikipedia.org/wiki/Natural_language_processing
[24] http://en.wikipedia.org/wiki/Information_retrieval
[25] http://portal.acm.org/citation.cfm?id=1132954
[26] http://pt.wikipedia.org/wiki/Web_2.0
[27] http://www.google.com/trends

Nenhum comentário:

Postar um comentário