quinta-feira, 24 de setembro de 2009

Akinator! o Bixo "do Capeta"



Sim meus amigos!!! Akinator!, o "bixo do capeta" que sempre (ou quase sempre) descobre quem você está pensando. Já pararam para pensar como funciona? Acredito que não né? Bom. Esses dias me perguntaram como funciona, então resolvi fazer este Post!

É muito simples (comissário). O Akinator é um software que utiliza um processo da Inteligencia Aritificial, chamado DATA MINING!, ou em português Mineração de Dados!

O que é mineração de dados?

Segundo o wikipédia: mineração de dados (português brasileiro) (também conhecida pelo termo inglês data mining) é o processo de explorar grandes quantidades de dados à procura de padrões consistentes, como regras de associação ou sequências temporais, para detectar relacionamentos sistemáticos entre variáveis, detectando assim novos subconjuntos de dados.

É exatamente esse processo que o nosso amigo Akinator utiliza para descobrir em quem você está pensando.

O Akinator utiliza um método da mineração de dados chamado Regras de Associação. O que são Regras de Associação vcs devem estar se perguntando. São descrições que caracterizam um grupo de dados... meio vago né?, bom, vou dar um exemplo: Imagine um banco de dados que mantém dados sobre produtos comprados em cada transação. Ex:

Transação 1: Pão, Leite, Ovo, Carne, Pipoca.
Transação 2: Pão, Leite, Geléia.
Transação 3: Pão, Manteiga, Leite.

Se aplicarmos a técnica de regras de associação levando em conta apenas o domínio dessas 3 transações, poderemos extrair a informação que todas as vezes que pão foi comprado, leite também foi.

O Akinator é um banco de dados GIGANTESCO! com mais de sei lá quantos giga de dados com as características das pessoas, e das pessoas identificadas por aquelas características. Ele aplica essa técnica da seguinte maneira:

Cenário 1: 100% dos dados considerados

1- Ele te fornece uma pergunta como por exemplo: "Ele é alto ou baixo?"
2- Você responde a pergunta.
3- Ele usa o dado que você forneceu, e desconsidera uma porcentagem, vamos supor que você respondeu ALTO, ele armazena esta resposta.

Cenário 2: 60% dos dados considerados:

1- Ele é um jogador de basquete??
2- Você responde SIM
3- Ele usa este dado e realiza o mesmo processo do item 3 anterior.

Cenário 3: 20% dos dados considerados

1- Ele era um jogador do chicago bulls?
2- Você responde SIM
3- Idem ao 3 anterior

Cenário 4: 0.0001% dos dados considerados:

Se ele, com as respostas fornecidas, conseguir encontrar UMA pessoa caracterizada pelas suas respostas, ele irá mostrar a foto da pessoa (no caso, pensei no Michael Jordan). Caso contrário, se ele encontrar MAIS DE UMA pessoa caracterizada pelas suas respostas, ele irá mostrar uma lista com vários nomes e irá perguntar se o nome da pessoa está na lista. Se este for o caso, ele irá pedir para você cadastrar uma nova pergunta que poderá induzir na pessoa escolhida. Ele faz isso, porque quanto mais características sobre a pessoa que você escolheu ele possuir, mais preciso será o processo de "adivinhação" do Akinator!

Então conclusão!

Sempre que você encontrar algo, do estilo do akinator pela internet, lembre-se, ele usou REGRAS DE ASSOCIAÇÃO. Não existe NADA de "coisa do capeta" nessa história.

Se bem que tem muita gente que ainda diz que Tecnologia é "coisa do capeta"...

PS: PRECISO CONSULTAR O MEU PROFESSOR DE MINERAÇÃO DE DADOS PARA VER SE NÃO COMETI NENHUMA GAFE. =)

5 comentários:

  1. Se bem que tem muita gente que ainda diz que Tecnologia é "coisa do capeta"...

    hashuashuashuas rsrs
    nossa, ri de mais, jah imaginava que era algo assim ou parecido, mas é bem interessante!

    ResponderExcluir
  2. ae boa desvendo o misterio.

    ResponderExcluir
  3. bom bom :)
    melhor foi o seu PS ESCRITO COM JEITINHO :D
    mas a pergunta... quem criou o banco de dados inicial??? Um estagiário ? o.O

    ResponderExcluir
  4. wow! não imaginava que ia ter essa repercussão o post! :D bacana!

    huauauhahuahua um estagiário XD essa foi boa... esse tipo de aplicação precisa ser "treinado" ou populado com dados que apesar de "prototipados" refletem as ocasiões reais. É como se vc ensinasse ele a classificar alguns no começo, e os outros ele fosse aprendendo conforme as pessoas vão "jogando" entende?

    ResponderExcluir

Tem algo a dizer sobre isso? Diga!