Parece mas não é

A computação tira partido de várias ilusões a seu favor. Uma das mais famosas, são as formas de compactação de dados em MP3 e JPEG.

Estes dois formatos usam o que chamamos de compactação “Lossy”, ou que “perde” informação. Outros formatos, como ZIP e GIF, são o que chamamos de “Lossless”, ou que “não perde” informação.

O formato que “não perde” informação é usado tipicamente em texto, porque a informação contida num texto depende do conteúdo completo dele, isto é, se você pegar um texto, comprimir e depois descomprimir e descobrir que algumas palavras sumiram, isso não vai ser legal. Isso também não seria legal na planilha do seu extrato bancário.

Por outro lado, numa fotografia do seu cachorro de estimação, por mais que você goste dele, se você tiver 3 milhões de tons de vermelho ou 1 milhão de tons de vermelho, pode ser que a maioria das pessoas não perceba a diferença. Não perceba ou não se importe, se a escolha é optar entre 40 MB e 500 KB prá armazenar uma foto que parece a mesma coisa. É mais ou menos o que o formato JPEG faz: se você tem um degradê de preto a vermelho que usa um montão de cores, você pode mostrar algo parecido usando menos cores.

Aliás, é justamente nos degradês que você percebe o JPEG. Como a maioria das fotos não tem muitos degradês, isso acaba passando batido, e a informação nestas fotos - a cara do seu cachorro - não fica comprometida.

Quando for assistir seu próximo DVD, preste atenção nas cenas escuras, em que quase tudo na cena é preto. Você vai ver as “ilhas” ou “camadas” de tons de preto e cinza escuro, que surgem por causa da compactação das imagens.

Com MP3 acontece algo parecido. Como o ouvido humano não percebe tão bem (ou pelo menos não todos eles) as diferenças entre alguns sons, você pode perfeitamente “cortar” ou “aproximar” alguns valores de frequência, descartando informação, porque a maioria das pessoas não vai perceber mesmo. Ou não vão se importar porque a informação - a música - não fica tão comprometida.

Quando algoritmos resolvem “sumir” com parte dos dados, tirando partido das limitações de percepção do ser humano, não deixa de ser uma forma de ilusionismo. O computador está te “enganando”, mostrando algo que transmite a mensagem, mas que não corresponde exatamente à mensagem original. Afinal, o ganho vale a pena.

É provável que a maioria das pessoas já tenha visto as famosas ilusões de ótica do Escher, um artista gráfico holandês do século passado que ilustrou várias ilusões de ótica famosas, mas muitos não conhecem algumas ilusões auditivas…

Um colega meu, de faculdade, me mostrou uma vez um som de queda (que os músicos chamam de glissando) que nunca acabava. Trata-se do Shepard-Risset Glissando, em que se produz duas escalas, uma que sobe e outra que desce, ao mesmo tempo, mas de forma que a pessoa preste atenção apenas em uma delas… e quando uma está acabando, a outra está começando do mesmo lugar.

Estranho né? É como se fosse um parafuso que você gira no mesmo lugar e ele parece “subir”. Imagine um parafuso que “sobe” e “desce”, mas que você só percebe o que “desce”. E que nunca termine.

Ouvir vai explicar melhor. Vá nesta página e clique no botão que há no fim da página para ouvir uma amostra. E cuidado com o que você ouvir do discurso dos políticos este ano. Pode ser uma ilusão auditiva ;-)

Teoria da Informação 1 Comentário

Human Computation (A)gain

Lembra do post sobre Human Computation, de alguns dias atrás, falando sobre uma apresentação no Google Tech Talks que mostrava como usar pessoas para categorizar fotos? (esqueci de contar que esta é uma das maneiras que o google usa para indexar suas imagens… se você já ouviu falar do Google Labeler)

Bem, essa abordagem, comercialmente falando, acaba de ser noticiada no excelente TechCrunch. Após vários startups de empresas que tentaram categorizar fotos automaticamente (Riya, Ookles, Polar Rose), surge a TagCow, que –acredita-se–, usa pessoas para categorizar as fotos. Porque os resultados são impressionantes. (infelizmente, o site deles parece estar fora do ar, provavelmente porque está todo mundo tentando acessar… mas o link que eu deixei aí é de um blog com as impressões de um cara que usou o sistema)

Se for verdade (muita gente está apostando que seja), o negócio passa a ser a infra-estrutura necessária para manter milhares de pessoas categorizando fotos manualmente diariamente. Um problema sério de escalabilidade e disponibilidade, mas não que não possa ser resolvido, no caso de fotos de álbuns na internet.

Não é o tipo de solução que você gostaria para monitorar o uso de equipamento remoto ou para biometria em sistemas de segurança privados.

Até então, sempre tivemos um sistema econômico em que as massas menos favorecidas só podiam vender sua força de trabalho em tarefas simples, e geralmente braçais, que exigem pouca ou nenhuma qualificação. Podemos estar entrando numa era em que um potencial muito básico do cérebro humano (com quantos anos uma criança poderia classificar estas imagens de forma satisfatória?) pode ser a nova força de trabalho. Ou seja, a qualificação pode ser ainda menor…

Você já parou para pensar se isso é bom ou ruim? Imagine gente nas favelas, nos países pobres da África, da Índia (onde a web chegar, claro), passando o dia inteiro em lan houses ganhando centavos a cada foto categorizada… O que você acha?

Data Mining, Inovação, Reconhecimento de Faces, Web 2.0 1 Comentário

Computação ciente de contexto

Quem não gostaria que seu celular automaticamente se programasse para despertar em um determinado horário, considerando a sua agenda do dia e outras variáveis como trânsito e clima? Ou que, ao chegar em casa, o som tocasse uma música de acordo com o seu humor? E que, ao viajar para algum lugar desconhecido com um simples PDA, todo o planejamento turístico fosse feito para você de acordo com seus desejos, preferências, sua quantidade de dinheiro para gastar, dentre outros aspectos, e que esse planejamento ainda fosse dinamicamente adaptado ao longo do dia de acordo com variáveis inesperadas detectadas no ambiente?

Essas aplicações citadas (e muitas outras que poderiam ser mencionadas) estão relacionadas a uma área de pesquisa chamada computação ciente do contexto, ou seja, hardware e software capazes de considerar qualquer informação que possa ser usada para caracterizar a situação de uma pessoa, lugar ou objeto, para prover informações e/ou serviços relevantes para usuários.

Essa área de pesquisa, apesar de não ser recente, ainda apresenta vários desafios técnicos.

Muitos trabalhos científicos da área lidam com a aquisição (ou sensoriamento) e modelagem de contextos físicos (localização, clima, tempo, por exemplo). Porém, ainda é pouco explorado na aquisição e interpretação de contextos lógicos. Por exemplo, como seria possível identificar que o usuário está de bom ou mau humor? Ou que ele está com fome? E que, quando ele está de bom humor, ele prefere escutar músicas de Jazz?

Estive pensando em como abordar o problema dos contextos lógicos e, relacionando com trabalhos desenvolvidos aqui no Labs, vejo que técnicas de aprendizado de máquina e processamento de linguagem natural seriam uma boa opção. Por exemplo, todos os diálogos do usuário poderiam ser categorizados e rankeados para que no final do dia seja possível identificar seu humor. Mais interessante ainda seria se, além do conteúdo dos diálogos, fosse identificado também o tom de voz. Assim uma discussão no trânsito seria percebida e ajudaria na identificação do humor.

Além da questão de identificação de contextos lógicos, pode-se considerar que a automatização de tarefas cientes de contexto é uma tendência forte de pesquisa na área. Dessa forma, haverá uma grande necessidade de se desenvolver técnicas ligadas a inteligência artificial para diversos aspectos dessa área em geral.

Enquanto essas soluções não viram aplicações para usuários finais, continuamos imaginando como seria mais fácil a vida se nossos dispositivos computacionais fossem cientes do nosso ambiente…

Inovação, Mobile 0 Comentários

Mapa do Conhecimento

Eu encomendei um tempo atrás este lindo (e quase ilegível) poster que mapeia a ciência através das diversas áreas de conhecimento e seus papers.

E o mais bacana: você pode baixar ele de graça também, mas por incrível que pareça, achei que saía mais barato encomendar o poster que baixar a imagem e imprimir numa gráfica.

O mapa foi criado a partir de 800.000 papers distribuídos em 776 diferentes paradigmas científicos (áreas de conhecimento). Organizar essa quantidade de informação num espaço tão pequeno é, obviamente, um esforço e tanto.

Quem quiser dar uma olhada numa empresa fera em visualização científica, visite o pessoal que fez este diagrama.

Não sei vocês, eu achei bacanão ;-)

Visualização Cientifica 1 Comentário

Clusters, recomendações e a NetFlix

Nos comentários do post do Kenji sobre clusterização, a Adriana mencionou o desafio da NetFlix. Eu acho que merece o seu próprio post.

A NetFlix é uma locadora virtual de DVDs, de enorme sucesso nos EUA. Você se associa, escolhe quais filmes gostaria de ver e põe numa fila. A NetFlix manda os filmes pelo correio à medida que estão disponíveis, com envelope pago para você devolvê-los. Em um plano comum, você pode alugar até 3 DVDs de uma vez e fica quanto tempo quiser com eles, mas só recebe o próximo depois de devolver pelo menos um.

Pois a NetFlix tem um sistema de recomendações chamado Cinematch, que funciona até bem. Querendo melhorar a qualidade das recomendações eles lançaram, em 2006, um desafio. O primeiro a diminuir o erro das recomendações em 10% ganha US$1 milhão. É, um milhão de verdinhas. Os erros podem ser de dois tipos. Falsos positivos são quando o sistema faz recomendações estúpidas. Falsos negativos são quando ele deixa de recomendar algo que você ia gostar.

A idéia é genial: outsourcing da inovação. Gente do mundo inteiro, times acadêmicos e nerds em garagens estão participando e a NetFlix só paga se alguém conseguir os resultados que eles querem. Fora a publicidade gratuita e o incentivo à pesquisa - dezenas de publicações surgiram desse desafio.

Não é fácil. Em menos de um mês, já tinha gente na metade do caminho, com 5% de melhora. Mas depois disso, o progresso foi cada vez mais lento. Depois de um ano, um time da AT&T Labs Research tinha reduzido o erro em 8.43% e ganhou um prêmio de progresso de US$50.000,00 e uma placa horrível de “honra ao mérito”. Eles são os atuais líderes, com 9% de redução.

A grande maioria dos líderes no desafio utiliza métodos similares para gerar novas recomendações: eles se baseiam em filmes que você assistiu e gostou (ou quer assistir) e recomendam outros filmes similares. Isso é outra aplicação de clusterização.  O segredo está em definir uma forma de medir essa similaridade que faça sentido para quem está alugando os filmes, o consumidor final da NetFlix.

Recentemente, um outro competidor chamou atenção. Ao contrário dos times de laboratórios e universidades, esse é só um cara em casa. E sua formação original é em psicologia. Ele começou a trabalhar no problema um ano depois de anunciado e seus resultados melhoraram mais rapidamente que os de qualquer time até então. Atualmente, Gavin Potter está em nono lugar. Qual o seu segredo?

A maneira mais comum de medir a “similaridade” entre dois filmes é representar os filmes como um conjunto de números, onde cada número tem um significado específico.  Assim, o primeiro número pode ser o gênero do filme e duas comédias tendem a ser mais similares que uma comédia e um épico de guerra, por exemplo.  O segundo número pode indicar a linguagem do filme, e assim por diante.  Quando se caracteriza um filme dessa maneira, cada número é uma dimensão.

Existem métodos automáticos para determinar quais dimensões são importantes para um problema específico, mas eles são sujeitos a erros e decisões estúpidas, como toda técnica heurística.  Pois o segredo do Gavin é exatamente sua formação original.  Como psicólogo ele tem uma intuição muito melhor que a dos computeiros a respeito do valor de cada dimensão, e pensa em dimensões importantes que outros times ignoram.

Mesmo que ele não ganhe o prêmio, seu relativo sucesso em pouco tempo me lembra um velho ditado: a inteligência artificial não é páreo para a burrice natural.  Ou, de forma menos agressiva, nunca subestime o valor do conhecimento dos especialistas no assunto.

Data Mining, Inovação 1 Comentário

Human Computation

Esta interessante apresentação no Google Tech Talks (uma fonte eterna de vídeos bacanas, mas apenas em inglês, sorry) mostra todo o potencial que existe na web atualmente quando se trata de usar o potencial de raciocínio humano para resolver problemas complicados.

A apresentação é cheia de informações interessantes e piadas boas [coisa rara. humor costuma ser um bom indicativo de inteligência e confirma minha teoria que o Sr Ahn é muito bom de serviço]

De uma forma muito engenhosa, Luis Von Ahn, professor da Carnegie Mellon, conseguiu criar uma maneira de identificar e classificar imagens usando pessoas… com a ajuda de um viciante joguinho na web. Nunca devemos ignorar o poder de um monte de gente com tempo sobrando na web.

Alguns outros exemplos de “computação humana”

#1 - alguém já se perguntou, ao baixar suas piratarias dos file sharings da vida, se aquele captcha (aquelas letras tortinhas que vc tem que digitar para provar que não é um programa) não é o mesmo captcha que é usado em algum outro site para bloquear comentários de SPAMs ou coisa do tipo? Ou para criar uma conta falsa de email? Ou para acessar pornografia?

#2 - o facebook traduziu o site deles para alemão em 2 semanas com a ajuda de “apenas” 2000 voluntários

A web traz uma escala que possibilita coisas impressionantes. Encontrar a motivação para este poder computacional: eis o grande desafio da Web 2.0.

matrix_thumb.jpg

Data Mining, Web 2.0 0 Comentários

Levando o Firefox 3 Beta 4 pra passear

Eu nunca fui um usuário freqüente do Microsoft Internet Explorer; do Mosaic (no longínquo 1995) eu passei pro Netscape Navigator, depois para o Mozilla (cuja base de código inicialmente era a mesma) e finalmente para o Firebird (que mais tarde seria renomeado Firefox e viraria um tremendo sucesso).

Com isso acompanho de perto o desenvolvimento das novas versões, mas normalmente não uso a mais recente disponível, por uma razão simples: não consigo viver sem umas duas dúzias de extensões (como GreaseMonkey, WebDeveloper, TabMixPlus, AdBlock, e várias outras - depois escrevo sobre isso), e muitas delas não funcionam nas versões beta.

Só que eu ouvi falar tão bem do Firefox 3 Beta 4, que dessa vez não resisti. A promessa era a de um browser muito mais rápido e com consumo de memória bem mais baixo (o que é fundamental quando se mantém 20-30 tabs abertas), e devo admitir que acertaram em cheio - aplicações Javascript pesadas como o GMail estão bem mais ágeis, e os famigerados memory leaks que me obrigavam a reiniciar o Firefox de vez em quando sumiram (ou foram drasticamente reduzidos).

Firefox

A maioria das extensões funcionou com o Firefox 3; para continuar usando algumas como a TabMixPlus eu precisei de baixar versões alpha do site do desenvolvedor. Algumas poucas (e simples, como a ColorfulTabs) eu forcei o funcionamento usando a excelente NightlyTester (que permite instalar extensões mesmo que as informações de versão indiquem incompatibilidade).

Nem tudo correu bem, entretanto: a caixa de edição de texto do GMail, por exemplo, vai mostrando lixo enquanto eu digito (linhas horizontais finas aparecem misturadas no texto, ao digitar e ao fazer scroll, acho que relacionadas ao verificador ortográfico). Curiosamente isso não acontece, por exemplo, na caixa de entrada de texto do WordPress.

Ainda assim, depois de um dia inteiro usando, decidi que os benefícios do novo Firefox superam os pequenos problemas que ainda existem (ainda se trata de uma versão beta, afinal de contas). O upgrade vale a pena, mesmo para usuários casuais.

Web 2.0 0 Comentários

Mapas mentais

Mapas mentais (mind mapping) não são novidade. Estima-se que já existissem no século III antes de Cristo. Grosso modo, são diagramas usados para organizar idéias, conceitos, etc. Geralmente, com um grande ponto central, que representa um conceito-chave, ou objetivo, ou foco.

Algumas idéias simples costumam funcionar bem para muitas pessoas. Há pessoas que estudam o uso dessa técnica na educação, em brainstorms, em reuniões de negócios, planejamento, etc.

Nada impede que uma pessoa fique desenhando numa reunião, anotando todas as idéias e inter-relacionamentos entre elas. Nenhuma inovação aí.

O interessante foi, com o advento e popularização das ferramentas AJAX, que surgissem os sites que permitem que a pessoa faça seu mapa mental na web. Dois me vêm à cabeça. Wise Mapping e Mind 42. Isso, claro, sem contar os softwares de mapas mentais desktop como IntelliMap , MindManager e MindMapper.

As versões AJAX me pareceram interessantes para reuniões que envolvem muitas pessoas que estejam geograficamente distantes entre si (isso tem se popularizado ultimamente com os apagões aéreos).

Outra coisa que deve ser interessante é guardar os diversos mapas mentais de várias reuniões de brainstorm ao longo dos anos, ou mesmo os seus próprios, se você achar isso útil como uma ferramenta pessoal de produtividade, e comparar. Não deixa de ser uma forma de guardar suas memórias.

Ajax 0 Comentários

O paradoxo das três portas

Esse é um dos paradoxos mais famosos no estudo de probabilidades.  Foi popularizado em uma coluna escrita por Marilyn vos Savant, que aparece no Guiness como a pessoa com o QI mais alto do mundo.  Na coluna, um leitor propôs o problema a Marilyn.

Imagine que você está em um show de TV.  O apresentador te pede para escolher uma de três portas fechadas.  Atrás de uma porta há um carro novo.  Atrás das outras duas, bodes velhos e fedorentos.

Suponha que você escolha a porta número 1.  O apresentador, que sabe qual porta esconde o carro, abre a porta número 3, mostrando um bode velho e fedorento, que é levando embora por sua assistente de palco sorridente e parcamente vestida.  O apresentador então pergunta se você quer trocar para a porta número 2.  É vantajoso para você trocar?

Marilyn respondeu que sim, você deve trocar de porta nesse caso.  A coluna gerou milhares de cartas de leitores enfurecidos, incluindo muitos que se diziam professores de matemática, que argumentavam que as duas portas têm a mesma probabilidade de esconder o carro.  A polêmica foi parar na manchete do New York Times e diversas escolas nos EUA fizeram experimentos onde o problema é simulado.

Quase todos os experimentos confirmaram o que Marilyn já sabia.  Como o apresentador já sabe qual porta esconde o carro, ele sempre vai abrir uma porta que esconde um bode velho e fedorento.  O que isso quer dizer?

Na sua escolha inicial, você tem 1/3 de chance de escolher a porta correta, já que há uma porta com o carro e duas com bodes.  Então, há 2/3 de probabilidade da porta que você escolheu esconder um dos bodes.  Nesse caso, o apresentador acabou de lhe mostrar o outro bode, e a terceira porta (que você não escolheu e ainda está fechada) esconde o carro.  Portanto, em 2/3 dos casos, você deve trocar de porta para ganhar o carro…

Mais detalhes na Wikipédia.

Probabilidade, Teoria dos Jogos 3 Comentários

Clusty não é o palhaço

Esta semana, a Vivisimo, uma spin-off da universidade de Carnegie Mellon especializada em clusterização aplicada a mecanismos de busca, andou levantando um bocado de dinheiro em investimento. Ótimo momento, para quem andou acompanhando a tensão do aceita-não-aceita da proposta de compra da Yahoo pela Microsoft.

Para ver a tecnologia da Vivisimo em ação, confira o site Clusty e faça rapidamente uma busca, digamos, por “harmônica” (também conhecido como gaita de boca).

Além dos resultados tradicionais, note do lado esquerdo que algumas respostas estão “categorizadas” em itens como “blues harp” (gaita blues), “harmonica lessons” (aulas de gaita) e etc.

O interessante da tecnologia da Vivísimo, diga-se de passagem que não é nenhuma novidade, é que essa separação em categorias não é manual. Ninguém colocou um monte de estagiários para separar essas categorias. Isso é clusterização.

Clusterização, a grosso modo, é uma forma de, dado um monte de itens e um conjunto de características destes itens, separar o que é diferente e juntar o que é similar. Como você pode imaginar, há um monte de aplicações interessantes para isso.

Aqui no Labs, uma das aplicações disto é nas pesquisas de biotech que fazemos para diversos clientes, especialmente a Biomind. É comum os biólogos terem vários dados sobre como genes se comportam em diversas condições, e é muito interessante que, suponhamos, dentre 40.000 genes, os biólogos possam analisar apenas uns 10 ou 20 genes que, de alguma forma, tenham um comportamento parecido dentro de um determinado processo (por exemplo, quando comparamos tecidos de pessoas saudáveis e pessoas com câncer). Uma das formas de selecionar estes genes é através de algoritmos de clustering.

Outra aplicação famosa de clustering é no e-commerce. Se você já fez compras na Amazon, deve ter se deparado com aquelas sugestões de itens do tipo “pessoas que compraram este livro também compraram estes outros”. E com o dólar baixo, o dedo coça :-).

O algoritmo que a Amazon usa, que não deixa de ser um tipo muito refinado de clustering, é patenteado e é um tipo de Collaborative Filtering (filtro colaborativo). No fim das contas, baseado no perfil de compras de todos os clientes da Amazon, existem vários conjuntos de clientes que se comportam de maneira parecida, que compram parecido, que gostam das mesmas coisas. O sistema, estudando estes grupos, sugere para o cliente os livros que mais parecem agradar aquele segmento.

Naturalmente que um bom vendedor, ou o dono de uma livraria, aprende com o tempo a “clusterizar” seus clientes, e muito bem diga-se de passagem, enquadrando pessoas dentro de “perfis”. Tal cliente é o estudante de matemática que gosta de livros de ficção. Outra cliente é a dona-de-casa sagitariana que gosta de romances água-com-açúcar. Contudo, vale lembrar alguns aspectos aqui.

  • A Amazon lida com muito mais gente que o nosso competente dono de livraria.
  • A Amazon faz estas contas e indica produtos relacionados o tempo todo, a cada passo que você dá dentro do site deles. O que significa que a NAVEGAÇÃO do site é modificada DINAMICAMENTE, ou seja, o site se ajusta a cada passo do usuário.
  • O algoritmo da Amazon pode encontrar padrões nos perfis de usuários que uma pessoa não encontraria.
  • Estudar estes padrões encontrados pelo algoritmo ajudam a conhecer melhor o seu próprio negócio.
  • Aplicar este tipo de algoritmo aos mais diversos tipos de dados não é uma coisa incrivelmente difícil ou cara.

Fica meu gigante ponto de interrogação: por que a submarino não me sugere outras coisas que eu gostaria de comprar?

krusty-2.jpg

Biotecnologia, Data Mining 1 Comentário

« Previous Entries