CloudWare

WEB 3.0: A WEB Semântica

Quinta, 22 Dezembro 2011

Também conhecida como MetaWEB, a WEB 3.0 vem ganhando forma e se tornando cada vez mais uma realidade.

metaweb

Logo no inicio, mais precisamente entre os anos 80 e 90, quando a WEB começou a se espalhar pelo mundo, o conteúdo era escasso, as páginas eram estáticas e bastante limitadas. O HTML era, de certa forma, a linguagem predominante na época. Essa foi a WEB 1.0.

No inicio do século XXI, houve um grande avanço na WEB, onde ela passou a ser usada massivamente em todo o mundo. A WEB deixou de ser uma simples tecnologia usada somente em universidades e passou a ser uma poderosa ferramenta que tornou o mundo verdadeiramente globalizado. É neste cenário que começa a nascer a WEB 2.0, termo criado em 2004 pela empresa americana O'Reilly Media, tendo como conceito a Plataforma WEB, onde a WEB passa a ser considerada dinâmica, interativa e completa. Na WEB 2.0 passa a existir uma imensa troca de informações e colaboração dos internautas com sites e serviços virtuais. Tudo isso passa a ser possível graças as Redes Sociais, Wikis, E-Commerces, Marketing Digital entre diversos outros fatores.

Outro fator de grande importância para o surgimento e, consequentemente, crescimento da WEB 2.0 foi o avanço das linguagens de programação (PHP, JavaScript (AJAX e JQuery), Java, C#, XML...) e certas tecnologias (Dispositivos Móveis, Popularização da Banda Larga, Web Services...).

Neste trabalho serão abordados os principais conceitos da WEB 3.0, também conhecida como Web Semântica ou ainda MetaWEB, onde as principais mudanças e novidades serão descritas e questionadas.

METADADOS

Antes de falarmos sobre a WEB 3.0, é preciso conhecer os Metadados, conceito fundamental para a WEB Semântica e muito utilizado na WEB 2.0. Os Metadados são dados que descrevem outros dados. Por exemplo: quando informamos o nome, artista e álbum de uma música estamos, de certa forma, utilizando Metadados.

A importância dos Metadados para a MetaWEB está essencialmente ligada à facilidade de recuperação dos dados, uma vez que estes terão um significado e um valor bem definidos (como vimos no exemplo acima). Desta forma, todos os documentos publicados na web devem ser catalogados.

Estas catalogações geralmente são feitas utilizando linguagens de marcação, como HTML e XML, ficando dentro do próprio arquivo ou possuindo um arquivo exclusivo, neste caso com as extensões .html e .xml, respectivamente.

Os motores de busca (Google, Yahoo Search, Bing...) utilização fortemente os Metadados para garantir resultados sempre precisos. O exemplo a seguir ilustra muito bem a importância e eficiência dos Metadados nos buscadores.

Abaixo temos o código HTML retirado da página inicial do site da CloudWare. O código foi adaptado para melhor entendimento.

<html lang="pt-br" dir="ltr" xml:lang="pt-br">
   <head>
      http://www.cware.com.br/">http://www.cware.com.br/">
      <meta name="title" content="Bem-Vindo a CloudWare Design!">
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <meta name="robots" content="index, follow">
      <meta name="keywords" content="cloudware, cware, 'web designer', 'design web', 'criar site', seo”>
      <meta name="description" content="A CloudWare Design (CWD) é uma empresa jovem,
      que desenvolve Web Sites sobre medida para você: o cliente.">
   </head>
   <body>
         ...
   </body>
</html>

Observando este código percebemos que existem certas Tags <meta> no documento HTML, estas Tags tem o objetivo de informar determinados tipos de informação aos Robots, ou Agentes (Assunto que será abordado mais a frente), que são responsáveis por indexar as páginas. Neste exemplo podemos destacar algumas Tags em especial:

  • Meta Title: Responsável por informar o título da página.
  • Meta Keywords: Informa as palavras-chave do documento.
  • Meta Description: Informa a descrição do documento.

Na prática esses dados podem ser vistos na página de resultados do Google por exemplo.

metaweb 1

METAWEB

Como acabamos de ver, a WEB 2.0 utiliza Metadados e Agentes para “facilitar” a indexação da informação e torná-la mais “legível” para as máquinas. Atualmente os computadores na Web, servem apenas para direcionar e entregar as informações, não tendo acesso ao conteúdo das páginas, porque essa informação está estruturada para nós, usuários finais, utilizarmos e não para as máquinas.

Hoje, temos uma Web de documentos e não de informações. Por isso, os computadores oferecem ajuda limitada no acesso e processamento da informação, deixando as funções de extração e interpretação dessa informação a cargo dos usuários.

A WEB Semântica é a WEB da informação, seu objetivo é estender a Web atual, permitindo que computadores e humanos trabalharem em cooperação. A Web semântica interliga significados de palavras e tem como finalidade conseguir atribuir um significado (sentido) aos conteúdos publicados na Internet de modo que seja perceptível tanto pelo humano como pelo computador.

Segundo Tim Berners-Lee, o criador da WEB, Ao invés de pensar na informação para os humanos, a ideia é pensar na máquina, ou seja, inverter os papeis, tornando as máquinas mais inteligentes, permitindo-as tomar decisões e facilitar nossas vidas de uma maneira transparente.

COMPONENTES DA WEB SEMÂNTICA

A ilustração a seguir mostra as principais linguagens e tecnologias que fazem parte da WEB Semântica.

metaweb 2

Ontologia: Define os conceitos e relacionamentos usados para descrever e representar uma área do conhecimento. A ontologia é usada para classificar os termos usados em uma aplicação em particular, caracterizando possíveis relacionamentos e definindo possíveis restrições quanto ao uso dessas relações.

OWL: A WEB Ontology Language, em português, Linguagem de Ontologia da WEB, descreve as relações entre classes e usa lógica para fazer deduções. OWL foi projetada para aplicações que precisam processar o conteúdo da informação ao invés de apenas apresentá-la aos humanos.

SKOS: O Simple Knowledge Organization System, em português, Sistema Simples de Organização do Conhecimento, é uma Ontologia para expressar a estrutura básica de um sistema, também permite classificar recursos em termos de mais amplo ou mais específico

XML: A Extensible Markup Language, em português, Linguagem de Marcação Estendida, é amplamente utilizada na WEB pelo simples fato de ser acessível por qualquer outra linguagem, ter a habilidade de descrever hierarquias, ser auto-documentado (DTD, Definição de Tipo de Documento), ou seja, o próprio formato descreve a sua estrutura e nomes de campos, assim como valores válidos.

RDF: A Resource Description Framework, em português, Estrutura de Descrição de Recursos, assim como o XML é um modelo padrão para troca de informações pela WEB. A RDF tem a facilidade de mesclar os dados mesmo possuindo diferentes esquemas (Em inglês, Schemas).

URI: Mesmo com a estrutura que o XML e o RDF fornecem, um computador ainda precisa de uma maneira muito direta e específica de entender quem ou o que estes recursos são. Para isso, o RDF usa URIs, Uniform Resource Identifier, em português, identificadoras uniformes de recurso, para direcionar o computador a um documento ou objeto que representa o recurso. A URL (Uniform Resource Locator) é um exemplo de URI.

Agentes: A partir das informações apresentadas é feita a interpretação pelos agentes que consiste em avaliar, classificar e selecionar. Este assunto será melhor abordado mais a frente.

Metadados: Como foi dito no inicio, os Metadados são dados que descrevem outros dados.

AGENTES

De acordo com Wooldridge (1998), "Um agente é um sistema de computador que está situado em algum ambiente e que é capaz de executar ações autônomas de forma flexível neste ambiente, a fim de satisfazer seus objetivos de projeto".

Analisando esta afirmação podemos compreender o significado de agentes. Eles são sistemas feitos para realizar tarefas especificas, podendo trabalhar em conjunto com outros agentes ou não, onde sempre adotam a melhor ação possível diante de uma situação.

Um sistema poderá ser visto como um agente se for capaz de perceber seu ambiente por meio de sensores e de agir sobre esse ambiente por intermédio de atuadores agregando as características como autonomia, habilidade social, reatividade e pró-atividade (Estes conceitos serão abordados mais a frente).

CONCEITOS BÁSICOS

Nesta definição de Wooldridge podemos observar três conceitos básicos sobre agentes:
1 – Ambiente: Quando nos referimos ao ambiente, queremos dizer o local em que este agente exerce suas funções. Ele recebe informações deste meio e realiza ações quando necessário.
2 – Autonomia: Esta é a principal característica dos agentes. A autonomia significa que o sistema é capaz de atuar sem intervenção humana e tem controle sobre suas ações.
3 – Flexibilidade: para Jennings (1998) existem três formas de flexibilidade, são elas:

  • Reativo: o agente deve detectar as alterações no ambiente e atuar em respostas a estas alterações.
  • Pró-ativo: o agente deve tomar iniciativas no sentido de cumprir as suas metas, não apenas agindo em resposta às situações do ambiente.
  • Social: o agente deve, quando necessário, atuar em conjunto com outros agentes para completar suas tarefas ou ajudar outros.

PROPRIEDADES DOS AGENTES

Como foi apresentado, existem os conceitos básicos (Ambiente, Autonomia e Flexibilidade) comuns a todos os agentes. Neste tópico serão abordadas as principais propriedades dos agentes, como a relação entre eles por exemplo.

Autonomia: Como foi dito antes, autonomia significa que o sistema é capaz de atuar sem intervenção humana e tem controle sobre suas ações. Agentes autônomos apresentam três características:

  • Ações periódicas
  • Execução espontânea
  • Iniciativa

Mobilidade: Mobilidade de um agente é a capacidade do mesmo de se locomover de uma máquina para outra através da rede.

Comunicabilidade: Esta propriedade permite que o agente se comunique com outros agentes ou usuários (através de interfaces).

Discurso: A propriedade discurso age como um feedback entre o agente e o usuário. Durante um discurso, o usuário especifica que ações poderiam ser executadas em seu benefício e o agente relaciona o que ele pode executar. Feito o discurso é possível saber o que deve ser feito e por quem deve ser feito.

Inteligência: A inteligência pode ser considerada como um conjunto de recursos, atributos e características que capacitam o agente para decidir que ações executar.

Segundo Gilbert (1996), “A habilidade de desenvolver raciocínio é uma das principais características da inteligência”.
O raciocínio desenvolve-se baseado em três cenários, são eles:

  • Regras
  • Conhecimento
  • Evolução Artificial (Geração de novos agentes)

Reatividade: Para ser reativo o agente deve detectar as alterações no ambiente e atuar em respostas a estas alterações.

Pró-Atividade: Para ser pró-ativo o agente deve tomar iniciativas no sentido de cumprir as suas metas, não apenas agindo em resposta às situações do ambiente, ou seja, ele deve estar de olho nas oportunidades.

Habilidade Social: Esta propriedade permite que os agentes interajam entre si quando necessário, para dar continuidade a suas tarefas e/ou ajudar outros agentes.

Cooperatividade: A cooperatividade é a capacidade dos agentes trabalharem juntos para concluírem tarefas complexas mais rapidamente. Durante os discursos entre agentes e usuários, existe uma cooperação mútua.

Em sistemas Multi-Agentes, os agentes cooperam entre si, obtendo benefícios ou apenas ajudando outros agentes.

Adaptabilidade: Esta propriedade permite que o agente modifique seu comportamento com base em experiências anteriores.

Aprendizagem: Assim como na propriedade adaptabilidade, os agentes possuem a capacidade de acumular conhecimentos e, consequentemente, aprender novos meios de realizar as tarefas com base em experiências anteriores, desta forma ele pode executar suas tarefas com maior eficiência.

Flexibilidade: Flexibilidade permite aos agentes escolherem, da melhor forma possível, as ações que serão tomadas. Como foi dito anteriormente eles podem ser reativos, pró-ativos e sociais.

Planejamento: Basicamente, esta propriedade permite que o agente “pense” antes de agir em determinadas situações, para poder reagir mais racionalmente.

APLICAÇÕES

A Web Semântica não será visualizada diretamente pelo browser nem por um aplicativo Desktop. As tecnologias da MetaWEB irão “rodar em segundo-plano”, resultando em uma melhor experiência do usuário.

Normalmente computadores estão aptos a compreender instruções escritas em linguagens de computação como o Java, C, PHP entre outras, mas possuem muita dificuldade em entender comandos escritos em uma linguagem humana (Linguagem Natural). Isso se deve ao fato das linguagens de computação serem extremamente precisas, contendo regras fixas e estruturas lógicas bem definidas que permitem o computador saber exatamente como deve proceder a cada comando. Já em um idioma humano uma simples frase normalmente contém ambiguidades e interpretações que dependem do contexto, do conhecimento do mundo, de regras gramaticais, culturais e de conceitos abstratos.

Com o advento da WEB Semântica os computadores passariam a entender as informações contidas na Internet de uma forma bem parecida como nós humanos entendemos. Sem dúvida os motores de busca serão os mais beneficiados com a WEB 3.0, utilizando a Linguagem Natural para gerar resultados infinitamente mais precisos.

Android

Java

Hibernate

Joomla!

CSS3

HTML5

Saia na Frente

html5 css3

Sobre Mim

sobre-foto-2Adriel Café é Web Master e Desenvolvedor Java. Ele incentiva o uso/estudo de Web Standards, Java e Android.

Saiba Mais

Encontre-me

facebook linkedin