Inteligência Coletiva (Parte 2)
Como disse num post anterior estou lendo um livro sobre como podemos programar aproveitando a Inteligência Coletiva. Inteligência Coletiva, no contexto de tecnologia e internet, é o conhecimento ou dados existente disponíveis na grande rede. Exemplos: Blogs, wikis, páginas de redes sociais, sites, portais, jornais, etc. Como todo o conjunto de informação, este dados podem ser agrupados, aproximados, indexados, ordenados (por uso, por relevância, etc).
Ao aplicarmos processos que misturam estatística e inteligência artificial nessas massas de conteúdo, podemos obter resultados interessante sob diferentes ponto de vistas (marketing, científico, tecnológico, etc) . Tais processos,a advém de anos de estudos e pesquisas que vem sendo desenvolvidas e aos poucos descobertas pelo pessoal de desenvolvimento como uma forma de inovar, cada vez mais, em ferramentas para Web.
Exemplos destes tipos de inovações existem embora, o melhor de todos e mais conhecidos de “ leigos e entendidos” de internet seja o Google. O buscador Google, foi um dos grandes pioneiros em tirar teorias do mundo acadêmico a aplicá-las para gerar ferramentas vanguardistas. No próprio livro (“Programando a Inteligência Coletiva“) eles citam que grande parte do sucesso do buscador deve-se ao famoso algoritmo PageRank (criado pelos fundadores da Google e seu nome é uma homenagem a Larry Page).
Uma boa aplicação não vive de só um recurso, ela, em geral, é uma reunião de metodologias, soluções e interações. E sistemas que visem trabalhar com a massa de dados global não pode ser diferente. A quantidade de teorias, processos, metodologias, algoritmos, matemática disponível é grande e seu crescimento continuo. A cada dia alguém dá “mais um passo” e assim novos formas ou melhorias nas já existentes vão surgindo.
Para os interessados, caso não venham de uma formação com base matemática forte, a estudar um pouco estatística, pois ela tem se mostrado uma ferramenta genial para este tipo de objetivo. Além disso, ter noção de IA (inteligencia artificial) será um ponto forte. Para a questão do IA, sugiro o livro do Peter Norvig – Inteligencia Artifical, uma abordagem moderna.
Um primeiro exemplo
Vamos supor que você queira fazer um site que a pessoa possa buscar os horários dos filmes ou, caso ele já não esteja mais no cinema, simplesmente a sinopse.
De certa forma, isso soa até que simples para ser implementado : Teríamos um sistema que teria o nome do filme e um sinopse dele. Caso estivesse no cinema colocaria os dados de local e sessão (algo parecido com o http://movie.google.com).
A grande sacada e o diferencial de qualquer outro sistema seria, você no final da tela, indicasse para o seu visitante outros filmes para ele baseando-se no princípio de similaridade.
Esse principio de similaridade é uma forma de vermos o quando algo está “próximo” do outro. Algo que seria representado pela frase: “você também gostará dos seguintes filmes….”… Para isso não basta apenas ter uma funcionalidade de guardar o perfil das pessoas e os pontos que elas dão para cada filme. Existe algo mais interessante, que é verificar o que pessoas de perfil parecido com o seu também gostam e te recomendar.
Tal coisa é feita pela coleta dos dados, tratamento por algoritmos de metricas e proximidades (Distancia euclidiana, Pearson, TAnimoto, coeficiente de jaccar, etc)

Leia mais sobre o assunto clicando nos links abaixo:
* Artigo sobre match de arquivos xml (analise léxica e similaridade) – ir para artigo
* Wiki sobre similaridade léxica – wiki

