Arquivo de setembro \23\UTC 2009

Master thesis

Estou aqui enlouquecendo trabalhando na minha dissertação (aqui em PT, tese) de mestrado e resolvi compartilhar um pouco dessa experiência. É um trabalho violento e árduo, mas espero que valha a pena.

Espero que depois que pronta eu consiga publicar (em conferências INTERNACIONAIS) e participar de concursos de dissertações de mestrado da SBC. Poderia ter feito isso já com o TCC da graduação aqui mas do ponto de vista de Recuperação de Informação o que eu fiz como estudo de caso foi muito pequeno (só prova de conceito, praticamente um toy example) e eu não dei prosseguimento ao sistema. Isso tudo feito às pressas pra conseguir o grau antes de ir pra Recife pro mestrado, apesar do 10 unânime de uma banca cabulosa lá da UFAL (modéstia à Marte).

Além disso, tive que aprender Recuperação de Informação (RI) e Aprendizagem de Máquina (AM) sozinho! Só por isso já mereço um prêmiozinho…

Nuvem de tags - ORGANIZE A WEB, MOTHAFUCKA

Nuvem de tags - ORGANIZE A WEB, MOTHAFUCKA

Bom, o assunto da dissertação: Folksonomias e Sugestão de tags. Construí (?) um sistema que extraiu dados do Delicious e depois usei técnicas de RI, AM e outras coisas. Usei como base da sugestão de tags pra páginas Web o conteúdo textual (implementado, preciso e lindo!), páginas vizinhas (inbound pages) (80% implementado) e informação do WordNet e ontologias (Aqui há dragões no código! Trabalhando nisso!). No final faço uma comparação entre as tags que sugeri e as tags do Delicious pra dar uma medida quantitativa do quanto o sistema é bom e uma análise do comportamento do usuário (p. ex. que tipo de tags o sistema NUNCA vai sugerir: “semweb” e “webdev” fica difícil).

Já passei do nível de loucura com esse sistema, o que pode ser melhor visto na quantidade de linhas de código da bagaça (inclui somente .java, código e testes). Mas vamo nessa, não desisto NUNCA!

Ia colocar o abstract aqui, mas como é um trabalho não-publicado (malditos revisores animais, alguns nem entenderam o sistema) vou deixar pra depois pra falar dos louros que consegui com o trabalho.

Boa noite, boa sorte (pra mim)!

O uso do martelo (sobre ensino de Computação)

A gente aprende com o pai que chama pra ajudar a montar uma mesa a usar martelos, parafusos e peças de encaixe. Mas pra construir uma mesa do zero precisamos conhecer CONCEITOS como pressão, gravidade, massa… ou seja, FÍSICA. Do mesmo jeito é a Computação.

O problema é que a maioria dos cursos só ensinam a usar o martelo, ou seja, ferramentas. Só mudar uma versão, uma sintaxe, um método… Ouvimos que é preciso “reciclagem”. As empresas gastam milhões pra “atualizar os funcionários” pra ensinar… FERRAMENTAS.

633845000864697900-hammer

Muitas vezes o que falta é B-A-BÁ. É claro que ferramentas de produtividade, como diz o nome, nos fazem perder menos tempo em tarefas diárias quase automáticas. Mas, cuidado… Teoria e saber o que está fazendo é ESSENCIAL, condição necessária e suficiente. Notem aqui eu não nunca questionei o uso de ferramentas, apenas digo que é preciso responder duas perguntas para dominar BEM os programas e acessórios que usamos na nossa profissão. POR QUE e O QUE FEZ esse software ser assim?

Que não se iludam os que fazem curso e certificações pra atestar proficiência em ferramentas. Além do custo (a preço de diamante), o conhecimento (especialmente em Computação) é (muito) perecível. Você vai ter que aprender tudo de novo daqui a meses ou poucos anos, com a certeza que perdeu tempo/dinheiro. Pode valer a pena mas sempre há alguns poréns.

Ouço há anos a ladainha de que cursos em universidades federais são muito teóricos e “você não vai aprender nada do que se usa no mercado”. Ok. Nunca tive aula (oficial) de Java básico. Mas a única coisa que se deve esperar passivamente é a morte, o resto nós corremos atrás! Claro que nem todo mundo é auto-didata, mas um pouco de esforço nunca faz mal, até para os usuários cegos do martelo.

Quem aqui aprendeu programação funcional na faculdade e agora, como TODO ESSE KNOW-HOW, tá bombando novas linguagens multi-paradigma? Alguém? E o que faz quem não teve aula de programação funcional e quer usar tudo que Ruby e Scala oferecem? O jeito é voltar pra escolinha (eu incluso)…

Os usuários de martelo sempre reclamam: “Que aula chata, muito teórica”. Ah vai te catar meu filho! Você quer fazer aplicação em 5 minutos “abstraindo” as “complicações” e passar o resto do expediente lendo email? SE MATE! MUDE DE PROFISSÃO! Você quer o Petit Gateau, mas tem é que COMER FEIJÃO PORRA!

Microformatos

Microformatos são conjuntos de formatos abertos usados para aumentar a capacidade semântica do (X)HTML, adicionado metadados sobre contatos, feeds, eventos, etc.

Basicamente são usados em atributos (X)HTML como class e rel, sim, funciona com uma gambiarra do jeito que deu pra fazer. Por exemplo, pode-se dizer que (Exemplo Wikipédico):

O avião Air France 447 caiu nas coordenadas
<span class="geo">
 <span class="latitude">48.15</span>,
 <span class="longitude">-16.2342</span>
</span>

Essa informação é lida por browsers, ferramentas de busca e outros sistemas que conseguem “entender” que aqueles dados são referentes a coordenadas geográficas. Isso permite tarefas como:

– Indexar e recuperar consultas baseadas em coordenadas geográficas (num sistema de busca)
– Encontrar no mapa essas coordenadas oferecendo uma informação contextual que o site original pode não oferecer
– Exportar a informação para um dispositivo GPS

Uma grande aplicação recentemente (? Março) anunciada que usa Microformatos é o Google Rich Snippets. Primeiramente, snippets são aqueles resumos da página (geralmente contextualizados com a consulta) que aparecem nos resultados do Google abaixo dos links. Rich Snippets é uma tentativa do Google de mostrar algo a mais que apenas o conTEXTO da sua consulta, e se valer de dados estruturados da página para mostrar por exemplo reviews e notas para produtos e serviços pesquisados.

Exemplo do Google Rich Snippets

Páginas com snippets ricos tem maiores possibilidades de serem acesssadas, segundo experimentos deles. Mas, para que as páginas apareçam com esses resumos melhorados, os webmasters devem incluir anotações em microformatos (ou RDFa, tema do próximo post SÉRIO daqui) em suas páginas. Acho a iniciativa válida, mas ninguém tá com esse tempo de fazer isso na mão, ferramentas de edição que extraiam informação e detectem candidatos pra esses formatos são bem-vindas (quer ficar rico? fica a dica). Além disso a propaganda do tema ainda tá fraca, o culto é muito segregado e só tem uns bravos defensores, e não a W3C por trás.

Alguns exemplos de microformatos

hAtom – para marcação de feeds Atom
hCalendar – para eventos
hCard – para informação de contatos, incluindo endereço, localização geográfica, etc.
hProduct – para informações sobre produtos
hReview – para reviews de livros, filmes, restaurantes, etc.

Saiba mais: http://microformats.org/

// Post meio jogado, sem muita profundidade técnica e uma análise maior, mas tava encalhado aqui há muito tempo. Prometo melhorar quando falar do RDFa.


posts por mês

assine esse blog

minhas tuitadas

favoritos@del.icio.us

eu uso





Powered by FeedBurner

estatística

  • 16,109 acessos
setembro 2009
S T Q Q S S D
« ago   dez »
 123456
78910111213
14151617181920
21222324252627
282930