Web semântica, sem enrolação

Hoje me pediram para explicar o que era a tal web semântica. A pegadinha é que se queria uma resposta “sem frescuras”, “sem enrolação de marketing” e com exemplos concretos. Esse artigo é uma tentativa de abordagem bem informal desse assunto.

A web que a gente conhece é feita para ser acessada por pessoas. A informação é organizada de forma que fique esteticamente agradável, num formato familiar aos usuários. Usabilidade é fundamental, mas cria um problema: o que é fácil de ser entendido por humanos não é compreendido por computadores.

Tome como exemplo as suas lojas preferidas na Internet. Os produtos, preços e condições de pagamento são mostrados de forma a chamar a sua atenção. Cada loja faz isso de uma forma diferente. Se você está comparando preços de uma dúza de lojas você vai ter que fazer uma dúzia de buscas, e manualmente copiar e colar isso numa planilha, para só então “digerir” esses dados.

Alguns sites fazem isso automaticamente, mas mesmo esses formatam os resultados para pessoas; escrever um programa que acompanha o preço de alguns produtos todos os dias acessando um site assim dá bastante trabalho (recentemente dei umas dicas para um amigo que fez isso).

A idéia da web semântica é ter toda essa informação disponível não apenas para pessoas, mas também num formato fácil de ser processado por computadores (imagine acessar os preços de todas as lojas da web como se acessa uma planilha eletrônica ou um banco de dados!).

No início acreditava-se que isso se tornaria realidade quando cada criador de conteúdo na web formatasse seus dados de forma estruturada. O HTML comum, usado com fins puramente visuais, daria lugar a linguagens e tecnologias mais rígidas (XML, RDF, OWL, etc.), e seriam disponibilizandas formas de acesso automatizado aos dados (semantic web services, por exemplo).

Só que o progresso nesse sentido tem sido lento: basicamente dá muito trabalho e ninguém tem muito interesse em fazer isso. Lojas não gostam quando seus preços são comparados com o das outras! :-). Há soluções específicas bastante bem-sucedidas, mas não são tão conhecidas do grande público.

Uma tentativa de atacar o problema por outro lado é usar software que consegue transformar informação formatada para pessoas em informação estruturada, automaticamente ou com ajuda do usuário.

Um exemplo desse último caso é o PiggyBank / Solvent, código livre desenvolvido no MIT.

Logo do Piggy Bank

O Solvent é uma extensão pro Firefox que deixa qualquer usuário médio criar (“quase” só visualmente) um código JavaScript que extrai informação de uma página (um scraper).

Com o Solvent (ou outras ferramentas parecidas) você pode capturar os produtos e preços de uma loja virtual, ou as notas de um jogo num site de reviews, ou endereços de agências na página do seu banco, por exemplo. Ele converte informação organizada visualmente para humanos em informação estruturada acessível por computadores.

O PiggyBank é um banco de dados estruturado para armazenar as informações extraídas pelo Solvent. Assim, se todo mundo contribui com scrapers para diferentes sites, o PiggyBank fica cheio de informação facilmente recuperável.

Ainda que para a web a coisa ainda não dê muito certo, isso numa intranet grande ou com fins específicos pode ser muito útil. Eu investiguei bastante a fundo esse tipo de ferramenta enquanto trabalhava para melhorar a busca e o atendimento aos usuários do portal do condado de Miami-Dade, na Flórida.

A partir do momento que as informações da web estão disponíveis num formato estruturado (num banco de dados, planilha ou arquivo XML, por exemplo), fica fácil pensar em um monte de aplicações interessantes.

Por exemplo, seria possível criar um agente inteligente que monitorasse milhares de lojas detectando variações de preço de produtos em que você está interessado. Poderíamos juntar informação geográfica das lojas com informação dos preços e das opiniões de usuários (cada um desses dados vindo de sites diferentes) e mostrar tudo isso no Google Maps, com gráficos feitos com a Google Visualization API – dando uma idéia de como um produto é aceito em diferentes locais, e como o preço influencia nisso.

Obviamente  a idéia central da web semântica não está restrita à implementação específica de um subconjunto dos aspectos dela que o PiggyBank / Solvent provê, nem a tecnologias específicas tradicionalmente associadas a ela. É muito mais um conceito do que uma implementação ou produto propriamente dito.

Os mashups – “misturas” inteligentes de informações de diferentes fontes para criar uma aplicação web ou site original – tão em moda hoje em dia, são materializações bem concretas do conceito de web semântica, sem necessariamente usar nenhuma das tecnologias tradicionalmente associadas a ela. Eles mostram que quando é possível ter acesso uniforme a diversas fontes de informação o resultado final pode ser surpreendente.

Um exemplo recente: misturando-se informação geográfica com pesquisas no Google de sintomas de gripe é possível criar um detector de epidemias de gripe que avisa com duas semanas de antecedência quando uma epidemia de gripe vai chegar em determinado local!

Internet, Linguagem Natural, Web 2.0 1 Comentário

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)