Aplicações de Modelos Semânticos em Redes Sociais - PDF
Download "Aplicações de Modelos Semânticos em Redes Sociais"
Bárbara de Andrade da Fonseca
1 UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA Aplicações de Modelos Semânticos em Redes Sociais Por André Desessards Jardim Dissertação apresentada como requisito parcial para a obtenção do grau de Mestre em Ciência da Computação DM-2010/1-001 Orientador: Prof. Dr. Luiz Antônio Moro Palazzo Pelotas, Março de 2010
2 AGRADECIMENTOS Agradeço primeiramente ao meu orientador, Prof. Dr. Luiz Antonio Moro Palazzo, pelo incentivo, pela orientação e pela grande ajuda durante o trabalho. À minha família, principalmente à minha mãe, sempre me incentivando em cada etapa da minha vida. Aos meus colegas, especialmente aos colegas Nelsi, Luthiano, Wagner, Marcos, Fernanda e Christian, pela amizade, por toda ajuda e por tornar o ambiente de trabalho o melhor possível no decorrer destes dois anos. E à minha namorada Valéria. Te amo, minha guria!
3 SUMÁRIO AGRADECIMENTOS SUMÁRIO LISTA DE FIGURAS LISTA DE TABELAS LISTA DE ABREVIATURAS E SIGLAS RESUMO ABSTRACT INTRODUÇÃO Contexto Objetivos Trabalhos Relacionados Contribuição da Dissertação Organização do Texto WEB SEMÂNTICA Definição Características Arquitetura Fundamentos XML (extensible Markup Language) RDF (Resource Description Framework) Considerações do Capítulo REDES SOCIAIS Web Definição Características Relações da Web 2.0 com a Web Semântica Redes Sociais na Internet... 36
4 3.2.1 Definição Impactos Oportunidades e Desafios Considerações do Capítulo ONTOLOGIAS Definição Ontologias como Modelos Formais Tipos de Ontologias OWL (Web Ontology Language) Vocabulários FOAF (Friend of a Friend) Dublin Core O Editor de Ontologias Protégé Considerações do Capítulo PROJETO, CONTRUÇÃO E VALIDAÇÃO DE ONTOLOGIAS NO DOMÍNIO DAS REDES VIRTUAIS Proposta Processo de Construção da Ontologia Elementos da Ontologia Funcionamento da Ontologia Considerações do Capítulo CONSIDERAÇÕES FINAIS Trabalhos Futuros Publicações Realizadas BIBLIOGRAFIA ANEXOS Anexo A Descrição dos conceitos da Ontologia do Domínio das Redes Sociais... 85
5 LISTA DE FIGURAS Figura Modelo do SIOC - Semantically-Interlinked Online Communities Figura Comparação entre Web 1.0, 2.0 e Figura A evolução da Web Figura As camadas da Web Semântica Figura Tag cloud com os principais temas da Web Figura Web 2.0 Framework Figura Exemplo de site utilizando Redes Sociais Figura Site do Apple Learning Interchange, uma Rede Social para Educadores.. 38 Figura Rede Social Innovative Teachers Network Figura Rede Social Discovery Educator Network Figura Adoção das tecnologias de Web 2.0 e Redes Sociais nas Empresas Americanas Figura 4.1 Papel desempenhado pelas Ontologias na Web Semântica Figura Interface do Software Protégé versão Figura 5.1 Principais elementos da Ontologia do Domínio das Redes Sociais Figura Relacionamentos das Classes Agente e Tecnologia com as demais classes da Ontologia Figura Rede Social Orkut Figura Criação da Instância da Rede Social Desejada Figura Criação de instâncias para as subclasses Figura Criação do perfil do usuário Figura Atributos da Classe Geral Figura 5.8 Ontologia exportada para o formato HTML Figura 5.9 Classe Geral no formato HTML... 68
6 Figura 5.10 Classe Geral no formato OWL Figura Social Networks Semantic Server, atualmente em desnevolvimento no Grupo de Pesquisa em Web Semântica da UCPel... 73
7 LISTA DE TABELAS Tabela 5.1 Relacionamentos Semânticos da Ontologia do Domínio das Redes Sociais Tabela 5.2 Atributos das cinco Redes Sociais mais populares atualmente... 58
8 LISTA DE ABREVIATURAS E SIGLAS URI - Uniform Resource Identifier XML extensible Markup Language RDF Resource Description F amework RDFS RDF Schema SPARQL Simple Protocol and RDF Query Language SQL Structured Query Language RIF Rule Interchange Format OWL Web Ontology Language W3C World Wide Web Consortium HTML HyperText Markup Language DTD Document Type Definition SGML Standard Generalized Markup Language XSLT - XML Stylesheet Language Transformations XMI - XML Metadata Interchange FOAF Friend of a Friend DC Dublin Core API Aplication Program Inteface CGM Consumer-Generated Media XHTML extensible Hypertext Markup Language CSS Cascading Style Sheets TCP/IP Transmission Control Protocol/Internet Protocol XML DOM XML Document Object Model XSL extensible Stylesheet Language XSL-FO XSL Formating Objects
9 SOAP Simple Object Access Protocol WAP Wireless Application Protocol HTML DOM HTML Document Object Model DHTML Dynamic HTML VBScript Visual Basic Scripting AJAX Asynchronous Javascript And XML ASP Active Server Pages ADO ActiveX Data Objects PHP Hypertext Preprocessor SMIL Synchronized Multimedia Integration Language SVG Scalable Vector Graphics CRM Customer Relationship Management
10 RESUMO Até recentemente, a manipulação de grandes quantidades de informação era uma tarefa de especialistas, agora constitui uma necessidade para pessoas de todas as áreas, tanto na sua atividade profissional como na maioria das tarefas do dia a dia. A qualidade na recuperação de informação é crucial em muitas profissões, e a melhoria dos sistemas pode ter um grande impacto, especialmente quando se trata de coleções de documentos heterogêneos. A pesquisa na Web tem sido um excelente campo para a recuperação de informação em grande escala e a indexação automática maciça. O presente trabalho propõe um estudo geral sobre Web Semântica, Web 2.0, Redes Sociais e Ontologias, suas aplicações, linguagens e metodologias, tendo como finalidade principal, a criação de uma Ontologia do Domínio das Redes Sociais, com os objetivos de verificar como as Redes Sociais podem ser potencializadas através da Web Semântica, e de como no futuro a Web Semântica e as Redes Sociais irão se integrar. O grande desafio consiste em modelar este domínio de uma forma a facilitar o desenvolvimento de aplicações para ele, utilizando tecnologias e ferramentas da Web Semântica. Este trabalho teve também como objetivo sistematizar o estudo das Redes Sociais, Web 2.0, Web Semântica e Ontologias, de forma a servir de base e referência para estudos futuros. Palavras-chave: Web Semântica, Web 2.0, Redes Sociais, Ontologias.
11 ABSTRACT Until recently, the handling of large amounts of information was a task for specialists, is now a need for people from all areas, in their professional and in the tasks of everyday life. The quality in information retrieval is crucial in many professions, and improvement of systems can have a major impact, especially when it comes to heterogeneous collections of documents. The research on the Web has been an excellent field for information retrieval and massive automatic indexing on a large scale. This research proposes a general study on Semantic Web, Web 2.0, Social Networks and Ontologies, its applications, languages and methodologies, with the main purpose of creating of an Social Networks Ontology, in order to see how the social networks can be enhanced through the Semantic Web, and see how in the future the Semantic Web and Social Networks will be integrated. The big challenge is to mold this field in a manner to facilitate the development of applications for it, using technologies and tools of the Semantic Web. This work was also intended to systematize the study of Social Networks, Web 2.0, Semantic Web and Ontologies in order to serve as a basis and reference for future studies. Key-words: Semantic Web, Web 2.0, Social Networks, Ontologies.
12 12 1. INTRODUÇÃO Este trabalho trata da modelagem do Domínio das Redes Sociais de uma forma a facilitar o desenvolvimento de aplicações para ele, utilizando tecnologias e ferramentas da Web Semântica. Também propõe um estudo geral sobre Web Semântica, Web 2.0, Redes Sociais e Ontologias, suas aplicações, linguagens e metodologias, tendo como finalidade principal, a criação de uma Ontologia do Domínio das Redes Sociais, além de sistematizar o estudo das Redes Sociais, Web 2.0, Web Semântica e Ontologias, de forma a servir de base e referência para estudos futuros Este capítulo descreve a motivação para a realização deste trabalho, bem como, o contexto de pesquisa em que se encontra o trabalho, seus objetivos e trabalhos relacionados. Em seguida, são abordadas as expectativas com relação à contribuição desta dissertação e como o texto em si está organizado. 1.1 Contexto A Web, no princípio, era caracterizada por sites que não possuíam interação com os usuários. A primeira grande mudança na forma em que a Internet é utilizada veio com a aplicação de sites de comércio eletrônico em larga escala. A partir daí, a rede passou a oferecer serviços e produtos. Logo após veio a fase dos sites de relacionamento e compartilhamento de conteúdos, conhecida como Web 2.0 (Dziekaniak et al, 2004). De acordo com Ramalho (2006), a Web Semântica constitui uma evolução no modo como as informações são organizadas na Web. Foi projetada com o objetivo de possibilitar a incorporação de aspectos semânticos aos dados, favorecendo assim a contextualização das informações de forma automatizada, de acordo com o contexto no qual dados estão inseridos e os critérios da busca realizados. Com o constante crescimento de conteúdo disponível atualmente na Internet, ocorre o seguinte problema: a organização de toda informação de uma forma simples, eficiente e focada em nossas necessidades. A Web Semântica surgiu dessa necessidade. Sua principal aplicação diz respeito à capacidade que os sistemas computacionais possuem de interpretar o conteúdo disponível nos sites da Internet e conseguir entender de forma diferenciada uma página em que a palavra bala é um doce ou é um projétil de armas, por exemplo. Em outras palavras, o conteúdo é interpretado de acordo com seu
13 13 contexto (Clicko, 2008). A Web Semântica tem como objetivo incorporar semântica às informações. Com isso, não somente os usuários entenderão as informações como também as máquinas. Ela pretende dar significado semântico e fornecer estruturas ao conteúdo das páginas Web, criando assim um ambiente onde o usuário seja auxiliado por agentes de software (Dziekaniak et al., 2004). Ao contrário do desenvolvimento da Web Semântica, a noção de Web 2.0 surgiu da comunidade de desenvolvedores Web como uma caracterização dos desenvolvimentos tecnológicos que levaram a uma classe distinta de aplicações Web. Estas aplicações possuem foco sobre os aspectos sociais da Web e tentam tirar proveito do poder de uma comunidade de usuários na criação e organização de informações valiosas (Mika, 2007). Ainda de acordo com Mika (2007), em muitos aspectos, a Web Semântica e a Web 2.0 podem se beneficiar de uma interação mais estreita no futuro. Entre outros, a criação de mashups ou combinações das diversas fontes de dados e serviços poderiam se beneficiar muito das representações compartilhadas e protocolos propostos pela comunidade da Web Semântica. As Redes Sociais e a Web 2.0 possuem grande importância, pois com a chamada arquitetura de participação os usuários não só criam, mas também divulgam conteúdo na Web. As Redes Sociais criaram meios poderosos para as pessoas se comunicarem e trocarem informações. Os sites de Redes Sociais são usados regularmente por centenas de milhões de pessoas, e estão se tornando parte integral do dia-a-dia das pessoas. As Redes Sociais já possuem grande impacto tanto na vida pessoal, como nos negócios. Empresas já estão utilizando tecnologias de Web 2.0 e de Redes Sociais, pois aumentam a eficiência dos negócios, são uma necessidade competitiva, resolvem problemas nos negócios, e às vezes são exigidas por funcionários e parceiros de negócios. De acordo com Berners-Lee (2001), os computadores necessitam ter acesso a coleções estruturadas de informações (dados e metadados), assim como conjuntos de regras de inferência que auxiliem no processo de dedução automática para que seja administrado o raciocínio automatizado. Em outras palavras, a representação do conhecimento.
14 14 Estas regras são especificadas através de Ontologias, as quais permitem a representação explícita da semântica dos dados. A partir dessas Ontologias é possível elaborar uma enorme rede de conhecimento humano, complementando o processamento da máquina e, portanto, melhorando qualitativamente o nível de serviços oferecidos na Web (Silva, 2002). Um crescente volume de pesquisas sobre Ontologias sugere a importância e utilidade das mesmas na tarefa de organizar informações dentro de um determinado domínio do conhecimento. A vantagem de sua utilização é que podem proporcionar melhorias no processo de recuperação da informação, organizando o conteúdo das fontes de dados que compõem o domínio em questão. Outra importante funcionalidade das Ontologias vem do fato delas possibilitarem a utilização de mecanismos de inferência para criar um novo conhecimento a partir do conhecimento existente. Segundo Gruber (1993), uma das metas das pesquisas em Ontologias é a reutilização de componentes de conhecimento e serviços que podem ser chamados a partir das redes. Nos últimos anos, a utilização de Ontologias como modelo de representação de conhecimento aumentou em grande escala nas diversas áreas de conhecimento e pesquisa. De acordo com Hendler (2001) e citado em Dziekaniak et al. (2004), a Web Semântica pode ser considerada como o conjunto de um grande número de pequenos componentes ontológicos que apontam entre si. Dessa forma, Universidades, companhias, agências governamentais e grupos de interesses específicos terão interesse em ter seus recursos Web ligados a um conteúdo ontológico, pois ferramentas poderosas serão disponibilizadas para prover interoperabilidade e processar essas informações entre aplicações Web. Algumas tecnologias foram desenvolvidas para a Web Semântica, como por exemplo, o XML, linguagem de marcação que permite a criação de tags personalizadas sobre o documento criado. Outra tecnologia utilizada pela Web Semântica é o RDF, que trabalha com um trio de informação que expressa o significado das informações. Cada componente do trio tem sua função própria em analogia ao sujeito, verbo e objeto de uma frase e recebe uma identificação URI. Estas tecnologias são essenciais para o funcionamento da Web Semântica e serão abordadas de forma mais específica nas seções seguintes.
15 15 As principais pesquisas no mundo da rede estão focadas na construção da Web Semântica, baseada mais diretamente nas percepções cognitivas e no modo de ver o mundo por meio da informação de cada usuário. Uma rede adaptativa, flexível, e principalmente visível (ou visual) (Saad, 2008). Isso significa que a Web está cada vez mais Semântica. O impacto desta mudança nas Redes Sociais é muito grande e necessita ser sistematicamente estudado para ser compreendido e facilitar o desenvolvimento de aplicações. As Ontologias oferecem um meio de lidar com a representação de recursos de informação: o modelo de domínio descrito por uma Ontologia pode ser usado como uma estrutura unificadora para fornecer semântica e uma representação comum à informação (Falbo et al., 2004). Atualmente Ontologias são utilizadas em diversas áreas do conhecimento, com o objetivo de organizar a informação. Segundo Lima (2001), Ontologias fornecem um entendimento comum e compartilhado de um domínio, que pode ser comunicado através de pessoas e sistemas de aplicação, tornando-se fator chave para o desenvolvimento da Web Semântica. Ontologias são muito utilizadas como representações de dados para bases de conhecimento e marcação de dados na Web Semântica (Berners-Lee et al., 2001). Abordagens baseadas em Ontologias mostraram as vantagens da integração de informações e interoperabilidade de sistemas incluindo reusabilidade, análise de verificação, etc. A partir destas vantagens surge a principal motivação deste trabalho. Será criada uma Ontologia do Domínio das Redes Sociais, com o objetivo de facilitar o desenvolvimento de aplicações para as Redes Sociais utilizando as ferramentas e recursos da Web Semântica. Ontologias serão abordadas com mais detalhes nas próximas seções deste trabalho. 1.2 Objetivos O presente trabalho tem por objetivo principal fazer um estudo aprofundado sobre Web Semântica, Web 2.0, Redes Sociais e Ontologias, do qual resulta a criação de uma Ontologia do Domínio das Redes Sociais.
16 16 Este trabalho tem como objetivos específicos: Estudar os trabalhos já realizados e caracterizar o estado da arte nos temas citados; Pesquisar definições e pesquisas relacionadas com a Web Semântica, Web 2.0, Redes Sociais e Ontologias; Concentrar recursos, ponteiros e informações úteis para auxiliar na concepção de temas de estudo e pesquisa na área, através da página Desenvolver uma Ontologia do Domínio das Redes Sociais, utilizando as ferramentas da Web Semântica para descrever a Web 2.0 e as Redes Sociais; Verificar como as Redes Sociais podem ser potencializadas através da Web Semântica; Realizar um estudo de como, no futuro, a Web Semântica e as Redes Sociais irão se integrar; Instanciar uma Rede Social utilizando a Ontologia criada, a fim de validar a proposta do trabalho; Analisar resultados obtidos; Levantar novas possíveis questões. 1.3 Trabalhos Relacionados Após a revisão da literatura, o SIOC Semantically-Interlinked Online Communities (SIOC, 2009) foi o trabalho que mais se aproximou ao trabalho proposto aqui. É brevemente explicado a seguir. SIOC Semantically-Interlinked Online Communities, que significa Comunidades On-line Semanticamente Interligadas, é um framework que tem por objetivo conectar sites de comunidades online e discussões baseadas na Internet. Segundo os autores, comunidades on-line (blogs, fóruns, etc) são como ilhas elas contêm valiosa informação, mas não são bem conectadas. SIOC permite aos autores
17 17 interligar estes sites, e habilita a extração de informação mais rica de vários serviços de discussão. O SIOC é ilustrado na figura 1.1, adaptada de SIOC (2009). Figura Modelo do SIOC - Semantically-Interlinked Online Communities, adaptada de SIOC (2009). Tem uma proposta semelhante do o trabalho apresentado aqui, pois é uma iniciativa que tem como objetivo a integração de informações de comunidades on-line, fornecendo uma Ontologia para a representação de dados da Web Social em RDF. Possui várias aplicações comerciais e open-source (código-aberto), e é comumente usada em conjunto com um vocabulário FOAF para representar perfis pessoais e informações de Redes Sociais. A Ontologia criada neste trabalho não necessita do vocabulário FOAF para descrever perfis pessoais em Redes Sociais. Os perfis são criados diretamente dentro das classes da Ontologia. A criação de perfis é explicada no Capítulo 5. O núcleo do SIOC é uma Ontologia: um vocabulário que contêm conceitos necessários para expressar a informação contida em sites de comunidades on-line. Estes sites então fornecem informação sobre sua estrutura e conteúdos para o mundo exterior. Esta informação é lida por máquina e estruturada utilizando a Ontologia SIOC, e pode ser utilizada por ferramentas que entendam os dados SIOC para sugerir informações
18 18 relacionadas a partir de outros sites de comunidades. O que o diferencia do trabalho apresentado aqui, é que ele possui um plug-in, o SIOC Exporter for WordPress, que permite a geração de metadados diretamente SIOC do site do usuário. Além disso, sua Ontologia não permite a descrição precisa de perfis em Redes Sociais. Por este motivo não foi utilizada neste trabalho. 1.4 Contribuição da Dissertação Um dos principais objetivos deste trabalho é verificar como as Redes Sociais podem ser potencializadas através da Web Semântica. Também realizar um estudo de como, no futuro, a Web Semântica e as Redes Sociais irão se integrar. Essa potencialização das Redes Sociais pode ser alcançada com o auxílio do Servidor Semântico, descrito no capítulo 6. Ele deve permitir a construção de Esquemas de Redes Sociais segundo a especificação de uma Ontologia que configura por instanciação. A partir daí, surge a integração entre a Web Semântica e as Redes Sociais. O trabalho se propõe a criar uma Ontologia do Domínio das Redes Sociais, a fim de fornecer uma descrição precisa do domínio das Redes Sociais para auxiliar a resolver o problema de comunicação entre as Redes Sociais, pois ainda não existe nenhuma representação formal do domínio. Em outras palavras, uma representação formal unificada que permita mapear elementos de uma Rede Social para outra. Qualquer Rede Social poderá ser representada pela Ontologia. O trabalho pretende criar um núcleo de representação. O núcleo é completo, mas é mínimo, e pode ser expandido e reutilizado. Ele permite, por exemplo, que o usuário de Redes Sociais crie um perfil que possa ser utilizado em qualquer Rede Social de escolha do usuário, resolvendo assim o problema do usuário, onde o mesmo necessita criar um perfil novo para cada Rede Social em que se cadastra. Este exemplo é mostrado no capítulo 5. A Ontologia também poderá ser utilizada em várias aplicações: como índice de uma base de dados sobre Redes Sociais; no Servidor Semântico de Redes Sociais, descrito no capítulo 5; em mecanismos de importação/exportação de conteúdo para Redes Sociais; em pesquisas conceituais sobre Redes Sociais; na comparação de perfis em Redes Sociais; em mecanismos de busca customizados, utilizando os perfis; entre outras.
19 19 Espera-se contribuir com este trabalho para um maior entendimento sobre Web Semântica, Web 2.0, Redes Sociais e Ontologias, e também servir como base para outras pesquisas, além de fornecer um conjunto de referências a serem exploradas com mais detalhes. 1.5 Organização do Texto O trabalho está estruturado da seguinte forma: o capítulo 2 diz respeito à Web Semântica, suas características e os elementos que tornam possível sua existência, como XML e RDF. O capítulo 3 aborda as definições e características da Web 2.0 e Redes Sociais na Internet, mostrando suas definições, o impacto que causam em diversas áreas e as oportunidades e desafios que surgem da sua utilização. O capítulo 4 apresenta conceitos e definições de Ontologias, suas vantagens, benefícios de sua utilização, tipos de Ontologias e tecnologias utilizadas na sua construção, como OWL, FOAF e Dublin Core. Neste capítulo também é mostrada a ferramenta Protégé, um editor de Ontologias que foi utilizado para construir a Ontologia neste trabalho. No capítulo 5 é apresentada a Ontologia do Domínio das Redes Sociais, a qual constitui o foco principal deste trabalho. Também são apresentadas no capítulo 6 as considerações finais, trabalhos futuros e publicações realizadas no decorrer do trabalho. No Anexo A, são mostradas as descrições de cada um dos conceitos da Ontologia do Domínio das Redes Sociais.
20 20 2. WEB SEMÂNTICA Neste capítulo é apresentada a definição de Web Semântica, suas características, vantagens, arquitetura, assim como algumas ferramentas necessárias para que ela se torne realidade Definição A Web Semântica, também conhecida por Web 3.0, consiste na materialização da proposta de Tim Berners-Lee, o criador da Web, de fornecer para a Web uma representação semântica compartilhada, de uma forma que pudesse ser interpretada simultaneamente por seres humanos e máquinas, permitindo assim a inferência automática de conteúdo, futuros estados e ações. De acordo com Berners-Lee (2007), o modo mais simples de explicar a Web Semântica é o seguinte: No seu computador você tem seus arquivos, os documentos que você lê, e existem arquivos de dados como agendas, programas de planejamento financeiro, planilhas de cálculo. Estes programas contêm dados que são usados em documentos fora da Web. Eles não podem ser colocados na Web. Segundo o mesmo autor: A Web Semântica é sobre a colocação de arquivos de dados na Web. Não é apenas uma Web de documentos, mas também de dados. A tecnologia de dados da Web Semântica terá muitas aplicações, todas interconectadas. Pela primeira vez haverá um formato comum de dados para todos os aplicativos, permitindo que os bancos de dados e as páginas da Web troquem arquivos. Segundo Berners-Lee et al. (2001), grande parte do conteúdo da Web atual é projetada para o entendimento humano apenas, não para programas de computador, pois as máquinas ainda não possuem um método seguro para processar a semântica. De acordo com ele, o objetivo da Web Semântica é trazer estrutura para o conteúdo das páginas Web, aumentando-lhes o significado, criando assim um ambiente onde agentes de software podem fluir de página a página, realizando sofisticadas tarefas para os seus
21 21 usuários. Ainda de acordo com Berners-Lee et al. (2001), e citado em Ramalho (2006), a primeira etapa para o desenvolvimento da Web Semântica é a inclusão de dados em um formato que sistemas computacionais possam compreender naturalmente de forma direta ou indireta, tendo um melhor aproveitamento das potencialidades do ambiente Web como principal objetivo, onde por meio do uso intensivo de linguagens computacionais e instrumentos de metadados espera-se obter o acesso automatizado às informações de maneira mais precisa, utilizando para isso processamentos semânticos de dados e heurísticas automáticas. Em contraste com a Web 2.0, a Web Semântica é um esforço mais consciente em nome da World Wide Web Consortium (W3C, a organização por trás dos padrões da Web) para tornar a Web mais amigável para as máquinas. A Web Semântica permite camadas adicionais de arquitetura Web para descrever conteúdo utilizando vocabulários compartilhados: as Ontologias. Não há semântica sem os seres humanos e isso faz da Web Semântica um sistema tanto social como tecnológico (Mika, 2007). A Web 2.0 e as Ontologias serão estudadas nos capítulos 3 e 4, respectivamente Características Conforme afirmam Berners-Lee et al. (2001): A Web Semântica é uma extensão da Web atual, onde a informação possui um significado claro e bem definido, possibilitando uma melhor interação entre computadores e pessoas. Portanto, o objetivo final da Web Semântica é atender as pessoas e não os computadores, mas para isso torna-se necessário construir instrumentos que forneçam sentido lógico e semântico para as máquinas. Assim, comparando-se com as tentativas de solução tradicionalmente desenvolvidas, pode-se verificar que a Web Semântica é uma tentativa inversa de solução, onde a idéia é pensar nas máquinas para que estas possam servir aos humanos de maneira mais eficiente (Ramalho, 2006). A idéia da Web Semântica é aplicar o conhecimento de tecnologias avançadas, com objetivo de preencher a lacuna de conhecimento existente entre homem e
22 22 máquina. Isso significa fornecer conhecimentos em formas que os computadores podem facilmente processar. Este conhecimento pode ser tanto a informação que já está descrita no conteúdo das páginas Web, mas é difícil de extrair, ou pode ser conhecimento adicional de background. Ambos podem ajudar a responder consultas de alguma forma (Mika, 2007). A Web Semântica representa a evolução da Web atual. A Web tradicional foi desenvolvida para ser entendida apenas pelos usuários, já a Web Semântica foi idealizada para ser compreendida também pelas máquinas. Para isso utiliza diversas tecnologias, que são capazes de operar de maneira eficiente sobre as informações, podendo entender seus significados, assim, auxiliando os usuários em operações na Web (Dziekaniak et al., 2004). Ela tem como objetivo fornecer estruturas e dar significado semântico ao conteúdo das páginas Web, criando assim um ambiente cooperativo, onde usuários e agentes de software possam trabalhar cooperativamente. Esta evolução é ilustrada nas figuras 2.1 e 2.2. Figura Comparação entre Web 1.0, 2.0 e 3.0, adaptada de Ashby (2008) A figura 2.2, adaptada de Davis (2008), mostra a evolução da Web, com uma projeção até o ano de O eixo horizontal mostra o aumento da conectividade social, enquanto o eixo vertical mostra o aumento da conectividade de conhecimento e raciocínio. Começa no canto inferior esquerdo, mostrando a Web, que conecta informações. No canto inferior direito está e Web Social, que conecta pessoas. No canto superior esquerdo se encontra a Web Semântica, que conecta conhecimento. E por fim, no canto superior direito está a Web Ubíqua, que conecta inteligência na forma de agentes computacionais. Dentro de cada quadro se encontram termos descrevendo características de cada tipo de Web.
23 23 Figura 2.2 A evolução da Web, adaptada de Davis (2008). Segundo Golbeck et al. (2003), e citado em Jorge (2005): A Web Semântica é uma visão de futuro da Web que irá dar significado a todos os dados, assim como tornar as informações públicas e acessíveis a qualquer um que tenha interesse nelas. Enquanto muitos sites da Web irão querer manter seus dados proprietários, muitos outros irão optar por tornar suas informações públicas e abertas, usando marcações semânticas nos conteúdos disponibilizados. Desta forma, continuam os autores: A Web Semântica oferece novas capacidades, tornando possível a adição de documentos que representam o conhecimento sobre uma página, foto ou base de dados, público e de acesso livre, em um formato capaz de ser interpretado também pelas máquinas. De acordo com Ramalho (2006), uma das bases da Web Semântica reside no uso de Ontologias. A partir deste uso, espera-se que, com o desenvolvimento de Ontologias formais, seja possível descrever as informações semânticas dos recursos Web, possibilitando o compartilhamento e a manipulação de informações que possam ser interpretadas computacionalmente de maneira automática, a partir da utilização de
24 24 regras lógicas. Ontologias serão estudadas mais detalhadamente no capítulo 4. A importância do estudo da Web Semântica reside no fato de que aplicações baseadas na estrutura usual da Web tendem a incorporar cada vez mais os recursos da Web Semântica (metadados, Ontologias, índices de pesquisa e serviços em geral), uma vez que tais recursos beneficiam, facilitam e viabilizam grandes aplicações distribuídas. O principal desafio da Web Semântica é criar uma linguagem que consiga ao mesmo tempo expressar o significado e estabelecer regras para processar esse significado de forma a inferir novos dados e regras. As regras para o processamento do significado devem ser exportadas para a Web de forma a permitir que outros sistemas inteligentes possam interagir (Berners-Lee et al (2001), citado em Morais et al. (2003)) Arquitetura A Web Semântica é construída de acordo com princípios que são implementados em camadas de tecnologias e de padrões Web. Na Figura 2.3 (W3C, 2009), podemos observar as camadas da Web Semântica. Figura 2.3 As camadas da Web Semântica A camada Unicode/URI (Uniform Resource Identifier) fornece a interoperabilidade em relação à codificação de caracteres e ao endereçamento e nomeação de recursos da Web Semântica. O Unicode é um padrão de codificação para fornecer uma representação numérica universal e sem ambiguidade para cada caractere de maneira independente da plataforma de software e do idioma. O URI é um padrão
25 25 para identificar um recurso físico ou abstrato de maneira única e global. É o elemento básico da estruturas a partir dos quais os demais componentes são construídos. A camada XML, com as definições de namespace e schema, torna possível a integração das definições da Web Semântica com outros padrões baseados em XML. XML também permite a criação de novas tags para atender aplicações específicas. As camadas RDF e RDF Schema tornam possível a definição de vocabulários que podem ser atribuídos por URIs e também possibilitam estabelecer declarações sobre objetos com URIs. A camada RDF permite a representação de metadados e é acessível por máquinas. RDF Schema é um modelo de tipos de dados simples que permite a criação de classes e propriedades. Permite obter estruturas de informação sem ambigüidades. A camada da Ontologia (Ontology: OWL) fornece suporte para a evolução de vocabulários e para processar e integrar a informação existente sem problemas de indefinição ou conflito de terminologia e também pode definir relações entre conceitos diferentes. Esta camada é o núcleo da Web Semântica, que não pode ser construída sem ela. SPARQL é uma linguagem de consulta para os padrões de grafos RDF/RDFS. Está para a Web Semântica assim como SQL está para as bases de dados relacionais. É formada por padrões de consultas, por um protocolo para uso na Web e formato XML para a saída dos resultados. RIF (Rule Interchange Format) é uma proposta de um formato padronizado para o compartilhamento de regras entre diferentes comunidades: acadêmicas, governamentais, empresariais, etc. Lógica Unificadora (Unifying Logic) é uma representação unificada de expressões SPARQL, RIF e Ontologias (descritas em OWL). O grande objetivo desta camada é oferecer um framework único para possibilitar a combinação dos elementos das camadas inferiores. Na camada de prova (Proof), mecanismos de inferência devem especificados para o uso das regras previamente definidas. É realizada a validação de informações com o uso de agentes, segundo Palazzo (2008): software executado sem controle humano direto ou supervisão constante para cumprir objetivos definidos por um usuário; coletam, filtram e processam informações na Web, eventualmente com o
26 26 auxílio de outros agentes. Na camada de Criptografia (Crypto), situada transversalmente às diversas camadas da Web Semântica, muitas vezes é necessário garantir a segurança e privacidade das informações. Com esta finalidade, mecanismos de criptografia são integrados às camadas, especialmente em aplicações mais sensíveis. Na camada de Confiança (Trust), após a informação desejada ser obtida, é necessário determinar a sua autenticidade Declarações de confiabilidade podem ser verificadas se houver confirmação de outra entidade, também confiável. No que diz respeito à camada de Interface com o Usuário e Aplicações (User Interface & Applications), segundo Palazzo (2008), uma das metas da Web Semântica é a personalização da interface do usuário em suas aplicações. Para isso é necessário modelar as preferências, necessidades e interesses de cada usuário. Contribuem para essa meta o desenvolvimento semi-automatizado de Ontologias pessoais com o uso de vocabulários controlados como o Dublin Core e o FOAF. Atualmente, novas formas de representação e recuperação de informação são cada vez mais necessárias, fundamentando pesquisas em diversas áreas da ciência, como a ciência da computação, a ciência da informação e a lingüística Fundamentos Para que a existência da Web Semântica se torne possível, alguns fundamentos são necessários. Tais fundamentos são o XML e o RDF XML (extensible Markup Language) A linguagem de marcação XML (extensible Markup Language) é uma recomendação da W3C para gerar linguagens de marcação para necessidades especiais. Constitui um subtipo da SGML (Standard Generalized Markup Language) com capacidade de descrever diversos tipos de dados. Seu propósito principal é facilitar o compartilhamento de informações através da Internet. Em alguns aspectos, o XML é semelhante ao HTML (HyperText Markup Language). Ambas são derivadas da SGML e contêm tags para descrever o conteúdo de um documento. A diferença é que enquanto o HTML tem como objetivo controlar a
27 27 forma com que os dados são exibidos, o XML se concentra na descrição dos dados que o documento contém. Outra característica do XML diz respeito à sua flexibilidade, no sentido de que podem ser acrescentadas novas tags à medida que forem necessárias, bastando para isso que estejam descritas em um DTD (Document Type Definition) específico. Isso quer dizer que qualquer comunidade de desenvolvedores pode criar suas marcações (tags) específicas que sirvam aos propósitos de descrição de seus dados (Souza et al., 2004). O W3C, Estimulado pela insatisfação com os formatos existentes (padronizados ou não), começou a trabalhar em meados da década de 1990 em uma linguagem de marcação que combinasse a flexibilidade da SGML (Standard Generalized Markup Language) com a simplicidade da HTML. O principal objetivo do projeto era criar uma linguagem que pudesse ser lida por software, e integrar-se com as demais linguagens. Sua filosofia seria incorporada por vários princípios importantes (Wikipedia, 2008a): Separação do conteúdo da formatação; Simplicidade e legibilidade, tanto para humanos quanto para computadores; Possibilidade de criação de tags sem limitação; Criação de arquivos para validação de estrutura (chamados DTDs); Interligação de bancos de dados distintos; Concentração na estrutura da informação, e não na sua aparência. Segundo Chaves et al (2001), e citado em Jorge (2005), a maior parte dos documentos disponíveis na Web atualmente está identificada apenas com informações de exibição. A partir da necessidade de fornecer meios mais adequados para possibilitar acesso mediado por máquina ao repositório de informações disponível na Web, a utilização da tecnologia XML se faz necessária. Essa tecnologia possibilita a exploração da semântica dos conteúdos desses documentos. Atualmente, a linguagem XML é uma das tecnologias mais amplamente utilizadas para intercâmbio e representação de informações na Web, com a vantagem de permitir, a cada um, criar suas próprias tags, rótulos ocultos que anotam as páginas Web, ou seções de texto em uma página. Existem ainda os recursos dos DTDs, XSLT (XML Stylesheet Language
28 28 Transformations), XMI (XML Metadata Interchange) que complementam esta tecnologia. Pode-se organizar todos os arquivos no formato XML, preenchê-los de metadados e publicá-los na Internet. Tem-se então a Web Semântica construída RDF (Resource Description Framework) A Web Semântica é projetada para conectar bases de conhecimento em grande escala na Web. Os desafios específicos relacionados a esta situação exigiram a concepção de novas linguagens (Mika, 2007). Estas linguagens são a RDF, mostrada a seguir, e a OWL, mostrada no capítulo 4. A Ontologia criada neste trabalho e mostrada no capítulo 5 pode ser exportada para ambos os formatos. RDF Schema, no caso do RDF Ainda de acordo com Mika (2007), RDF é independente de domínio e pode ser utilizado para modelar tanto objetos do mundo real, como recursos de informação. RDF em si é uma linguagem de modelagem muito primitiva, mas constitui a base de linguagens mais complexas, como a OWL. O RDF é um padrão recomendado pelo W3C que utiliza notação XML como sintaxe de codificação para descrição de metadados. Segundo Pitts-Moultis e Kirk (2000), e citado em Jorge (2005), RDF é uma aplicação XML que tem como objetivo servir de base para o processamento de metadados. Foi construído para facilitar o intercâmbio de informações, que podem ser interpretadas por máquinas, entre aplicativos via Web. De acordo com Lassila e Swick (1999), e também citado em Jorge (2005), RDF é o padrão utilizado para representação de metadados na Web. Essa linguagem permite que computadores representem e compartilhem dados semânticos na Web. Um documento ou elemento RDF faz declarações sobre recursos. Uma declaração afirma que um dado recurso possui uma ou mais propriedades. Cada propriedade possui um tipo, que pode ser um nome ou um valor. O valor de uma propriedade pode ser um literal, como um texto ou um número, ou pode ser ainda outro recurso. Uma declaração é composta de três partes (Jorge, 2005): Recurso (ou Sujeito) Qualquer objeto identificável unicamente. Em outras palavras, qualquer objeto que possui uma URI. Podem ser páginas da Web, elementos em uma página, livros, e pessoas individuais, por
29 29 exemplo; Propriedade (ou Verbo) É uma característica, um atributo ou um relacionamento específico de um recurso, ou seja, um recurso que tenha um determinado nome e possa ser utilizado como uma propriedade; Valor (ou Objeto) - Deve ser atômico na natureza (literal de texto ou números, por exemplo) ou ainda outros recursos, os quais podem ter suas próprias propriedades. Consiste na combinação de um recurso, de uma propriedade, e de um valor. De acordo com Moura (2001), e citado em Dziekaniak et al. (2004), o RDF proporciona vantagens em diversas áreas: Na área de descoberta de recursos, onde possibilita a implementação de mecanismos de pesquisa mais eficientes. Na área de catalogação, o mesmo pode ser utilizado para descrever os recursos de informação em um sítio da Web, como em uma biblioteca digital. Na área de agentes inteligentes, pode facilitar o intercâmbio de informações e o compartilhamento de conhecimento. O RDF é um sistema para auxiliar o desenvolvimento de metadados cujo objetivo é promover a interoperabilidade entre aplicações que compartilham informações que sejam compreendidas por sistemas na Web (Dziekaniak et al., 2004). Metadados representados em RDF são utilizados para dar significado aos recursos da Web Semântica, pois permitem que estes sejam manipulados e compreendidos por máquinas. Em RDF, um domínio de conhecimento é definido por um RDF Schema (RDF, 1998). É no RDF Schema, portanto, que a semântica e as características de uma propriedade são definidas. Para um funcionamento adequado, uma aplicação que crie metadados em RDF e outra que utilize estes metadados devem utilizar o mesmo Schema (Dziekaniak et al., 2004).
30 Considerações do Capítulo Este capítulo teve por objetivo fornecer uma breve introdução sobre Web Semântica, suas características, arquitetura em camadas, ferramentas e características. Também foi apresentado o porquê da importância de seu estudo e de como Ontologias e Web Semântica se relacionam.
31 31 3. REDES SOCIAIS Neste capítulo são apresentadas as definições de Web 2.0 e Redes Sociais, explicando suas características, seus princípios, funcionamento e também seu impacto nas mais diversas áreas, assim como as oportunidades e desafios que surgem da sua utilização. 3.1 Web Definição Web 2.0 é um termo criado em 2004 pela empresa estadunidense O Reilly Media para designar uma segunda geração de serviços e comunidades baseados na plataforma Web, como por exemplo, Wikis, aplicações baseadas em folksonomia (comentários, tags e recomendações presentes em páginas) e Redes Sociais. Apesar de possuir uma conotação de uma nova versão para a Web, o termo não diz respeito a uma atualização nas suas especificações técnicas, mas a uma mudança na forma como ela é encarada por usuários e desenvolvedores (Wikipedia, 2009a). A Web 2.0 é conhecida como a segunda geração de serviços online e é caracterizada por potencializar as formas de organização, compartilhamento e publicação de informações, além de ampliar os espaços para a interação entre os participantes do processo. Diz respeito não apenas a uma combinação de técnicas, mas também a um determinado período tecnológico, a um conjunto de novas estratégias mercadológicas e a processos de comunicação mediados pelo computador (Primo, 2007). Segundo O Reilly (2006), não há como demarcar precisamente as fronteiras da Web 2.0. Trata-se de um núcleo ao redor do qual gravitam princípios e práticas que aproximam diversos sites que os seguem Características Uma característica da Web 2.0 é o fato dela ser fortemente marcada pela interatividade, pelos conteúdos gerados por usuários e pela personalização de serviços (Costa, 2008). Essa geração da Internet é caracterizada, principalmente, pelo surgimento das Redes Sociais. Alguns exemplos de sites típicos são os blogs (e as variações
32 32 fotologs e videologs), sites de compartilhamento de arquivos, Wikis (Wikipedia, Wiki Wiki Web, Webopedia), Comunidades Virtuais (Orkut, Myspace, Facebook) e Fóruns. A figura 3.1 (Wikipedia, 2009a) apresenta uma tag cloud (descrição visual de tags geradas pelos usuários) apresentando os principais temas da Web 2.0. Como a língua predominante na Web é o inglês, a figura é apresentada na sua língua original. As Redes Sociais serão tratadas com mais detalhes na próxima seção. Outra característica importante é que ela pode ser utilizada como uma plataforma, isto é, viabilizando funções online que antes só poderiam ser conduzidas por programas instalados em um computador. Isso significa ver a Web não como um programa, mas sim como um ambiente dinâmico onde o usuário não acessa os dados simplesmente, mas pode criar e editar conteúdos. Figura Tag cloud com os principais temas da Web 2.0. Fonte: Wikipedia (2009a) De acordo com Wikipedia (2009a), a Web 2.0 tem repercussões sociais importantes, que potencializam processos de trabalho coletivo, de troca afetiva, de produção e circulação de informações, de construção social de conhecimento apoiada pela informática. A figura 3.2, adaptada de Web 2.0 Framework (2009), fornece um framework e mostra alguns dos princípios da Web 2.0, com Entradas, Mecanismos e Saídas Emergentes. Ao redor disso estão os principais conceitos da Web 2.0, alguns encontrados também na figura 3.1. Por esta razão, os termos foram mantidos em inglês. São eles: Padrões, Participação, Descentralização, Identidade, Usuário no controle,
33 33 Modularidade e Aberto. Participação Descentralização Padrões ENTRADA CONTEÚDO GERADO PELO USUÁRIO OPINIÕES APLICAÇÕES Texto Imagens Vídeos Mídia Interativa Arquitetura Virtual Links Clicks Tagging Avaliações Conexões Sociais Aplicações Web Widgets MECANISMO TECNOLOGIAS RECOMBINAÇÃO FILTRAGEM COLABORATIVA ESTRUTURAS SYNDICATION XML APIs AJAX Ruby on Rails Mashups Remixagem Agregação Embarcamento Classificação Correlações de Perfis Folksonomias Tag clouds Mundos Virtuais RSS SAÍDAS Aberto Mais interessante se torna visível Recomendações personalizadas Comunidades com significado Inteligência coletiva Conteúdo relevante encontrado Usabilidade reforçada Identidade Modularidade Usuário no Controle Figura Web 2.0 Framework, adaptada de Web 2.0 Framework (2009) Segundo O Reilly (2006), Web 2.0 é a mudança para uma Internet como plataforma, além de um entendimento das regras para obter sucesso nesta nova plataforma. A regra mais importante, entre outras, é desenvolver aplicativos que aproveitem os efeitos de rede para se tornarem melhores, aproveitando a inteligência coletiva. O'Reilly (2006) ainda sugere algumas regras do ponto de vista do usuário que ajudam a definir sucintamente a Web 2.0: O beta perpétuo: não se deve tratar o software como um artefato, mas como um processo de comprometimento com seus usuários. Pequenas peças frouxamente unidas: é importante que o usuário abra seus dados e serviços para que sejam reutilizados por outros. Reutilizar dados e serviços de outros sempre que possível. Software acima do nível de um único dispositivo: não pensar em aplicativos que estão no cliente ou servidor, mas desenvolver aplicativos que estão no espaço entre eles.
34 34 Lei da Conservação de Lucros, de Clayton Christensen: lembrar-se de que em um ambiente de rede, APIs abertas e protocolos padrões vencem, mas isso não significa que a idéia de vantagem competitiva vá embora. Dados são o novo Intel inside : a mais importante entre as futuras fontes de fechamento e vantagem competitiva serão os dados, seja através do aumento do retorno sobre dados gerados pelo usuário, sendo dono de um nome ou através de formatos de arquivo proprietários. A segunda geração da Internet é movida a dados. A chave para a vantagem competitiva em aplicativos para Internet é permitir que os usuários complementem dados já disponíveis com seus próprios. Assim, a arquitetura de participação vai além do desenvolvimento de software, com usuários envolvidos de forma a criar conteúdo na plataforma, assim como na divulgação desta (Costa, 2008). Uma das principais características da Web 2.0 é a Consumer-Generated Media (CGM) ou Mídia Gerada pelo Consumidor. É um termo utilizado para descrever o conteúdo que é criado e divulgado pelo próprio consumidor. Com o surgimento da Internet e o avanço das tecnologias digitais, o acesso dos consumidores à informação teve um aumento significativo, assim como a facilidade dos consumidores em expressar suas opiniões. Um exemplo é o site Flickr, mostrado na figura 3.3, um site que permite que usuários postem e compartilhem fotos. Na Internet o CGM está presente em comentários, blogs, fóruns, lista de discussões, fotologs, comunidades, grupos, sites participativos, no YouTube, na Wikipedia, entre outros. Os consumidores utilizam todas as ferramentas disponíveis (sites, blogs, s, messenger,, mensagens, celulares, etc.) para e divulgação de, sobretudo, suas experiências pessoais, além de opiniões em relação a produtos, serviços, marcas, empresas, notícias (Cardozo, 2008) Relações da Web 2.0 com a Web Semântica De acordo com Mika (2007), a Web 2.0 é frequentemente contrastada com a Web Semântica, que constitui um esforço consciente e cuidadoso da W3C para desencadear uma nova etapa na evolução da utilização de tecnologias semânticas. Na prática as idéias da Web 2.0 e da Web Semântica não são alternativas exclusivas: enquanto a Web 2.0 afeta principalmente como os usuários interagem com a Web, a
35 35 Web Semântica abre novas oportunidades tecnológicas para desenvolvedores Web, combinando dados e serviços de diferentes fontes. Figura Exemplo de site utilizando Redes Sociais Mika (2007) ainda destaca algumas das oportunidades que surgem pela combinação das idéias desses dois desenvolvimentos: A lição básica da Web 2.0 é que os usuários estão dispostos a fornecer conteúdo, bem como metadados: a contribuição pode ser feita na forma de artigos e fatos organizados em tabelas e categorias na Wikipedia, por exemplo. Outros exemplos incluem fotos organizadas em grupos e de acordo com etiquetas na Rede Social Flickr ou ainda informações estruturadas incorporadas em páginas pessoais e postagens em blogs usando microformatos. Devido às extensas colaborações on-line, muitas aplicações têm um acesso significativamente maior à metadados sobre os usuários: tecnologia semântica pode auxiliar tanto na correspondência de usuários com interesses similares, como na correspondência de usuários com conteúdo disponível. Em termos de tecnologia o que a Web Semântica pode oferecer para a comunidade Web 2.0 é uma infra-estrutura padrão para a construção de combinações criativas de dados e serviços: formatos padrão para intercâmbio de dados e informações de esquema, apoio para integração
36 36 de dados, juntamente com as linguagens de consulta padrão e protocolos para consultar fontes de dados remotas fornecem uma plataforma para o desenvolvimento fácil de mashups (Website ou aplicação Web que utiliza conteúdo de mais de uma fonte para criar um novo serviço completo). 3.2 Redes Sociais na Internet Definição Segundo Wikipedia (2009b): Redes Sociais na Internet são as relações entre os indivíduos na comunicação mediada por computador. Esses sistemas funcionam através da interação social, com o objetivo de conectar pessoas e proporcionar sua comunicação, sendo utilizados, portanto, para forjar laços sociais. As pessoas levam em conta diversos fatores ao escolher conectar-se ou não a alguém. As organizações sociais geradas pela comunicação mediada por computador podem atuar também de forma a manter comunidades de suporte que, sem a mediação da máquina, não seriam possíveis porque são socialmente não-aceitas. De acordo com Cardozo (2008) a questão central das redes é a valorização dos elos informais e das relações, em detrimento das estruturas hierárquicas. Redes Sociais representam um conjunto de participantes autônomos, unindo idéias e recursos em torno de valores e interesses compartilhados. As Redes Sociais constituem exatamente as relações entre os indivíduos na comunicação mediada por computador. Esses sistemas funcionam através da interação social, tendo como principal objetivo conectar pessoas e proporcionar sua comunicação e, portanto, sendo utilizados para forjar laços sociais. Segundo Mika (2007), a primeira onda de socialização na Web se deve ao aparecimento dos blogs, Wikis e outras formas de comunicação e colaboração baseadas na Web. Blogs e Wikis atingiram grande popularidade em torno de O que eles têm em comum é que ambos diminuíram significativamente os requisitos para adicionar conteúdo na Web: a edição de blogs e Wikis não requer qualquer conhecimento prévio de HTML, facilitando a adição de conteúdo pelos usuários.
37 37 As primeiras Redes Sociais On-line (também conhecidas como serviços de Redes Sociais) surgiram na mesma época em que os blogs e Wikis começaram a ter certa popularidade. Embora estes sites disponibilizem grande parte do mesmo conteúdo presente em páginas pessoais, eles fornecem um ponto central de acesso e trazem estrutura no processo de compartilhamento de informações pessoais e de socialização on-line. Estes sistemas imensamente populares permitem que usuários mantenham grandes redes de contatos pessoais e de negócios (Mika, 2007). De acordo com Recuero (2009), uma Rede Social é definida como: Um conjunto de dois elementos característicos que servem de base para que a rede seja percebida e as informações a respeito da mesma, compreendidas: atores, os quais podem ser pessoas, instituições ou grupos; e suas conexões (interações ou laços sociais). No seu livro: Redes Sociais na Internet (Recuero, 2009), a autora procura indicar caminhos possíveis para mapear, compreender e discutir as Redes Sociais, oferecendo um guia para o estudo das Redes Sociais Impactos Segundo Costa (2008), Redes Sociais são sites agregadores de pessoas que funcionam à base de efeitos de rede. O funcionamento se dá da seguinte forma: o usuário cria um perfil com informações pessoais, possui uma rede de amigos e pode participar de comunidades de interesse comum. Dessa forma, os participantes podem trocar mensagens e conteúdo entre si. Estes sites constituem uma valiosa fonte de informação para empresas que querem saber mais sobre as preferências, os hábitos e até as críticas de seu mercado consumidor. Um estudo mostrou que campanhas online partindo de Redes Sociais podem ter um impacto 500 vezes maior do que quando partem dos sites das empresas. Segundo dados do IBOPE//NetRatings, somente em maio de 2008, 18,5 milhões de pessoas navegaram em sites relacionados a comunidades. Se forem acrescidos a este número os fotologs, videologs e as mensagens instantâneas, o valor aumenta para 20,6 milhões de brasileiros por mês acessando algum tipo de Rede Social. Esse número representa cerca de 90% do total de usuários que acessam a Internet mensalmente (MetaAnálise, 2008).
38 38 O site MetaAnálise (MetaAnálise, 2008) ainda fornece um exemplo: se as montadoras realizassem uma campanha para impulsionar o consumo de automóveis e, para isso, utilizassem seus sites, falariam para cerca de 2 milhões de pessoas duplicadas em um mês; já se os membros de comunidades relacionadas às marcas de veículos decidissem fazer uma campanha a favor ou contra o consumo de veículos, atingiriam de pessoas duplicadas, ou seja, 500 vezes ou 49.9% mais impactos do que as montadoras. No que diz respeito à educação, as Redes Sociais estão cada vez mais sendo apropriadas para aumentar o envolvimento de alunos e professores com a educação. O fato de serem canais colaborativos estimula todos os públicos para que qualquer conteúdo didático seja ampliado. A seguir são apresentados alguns exemplos que fazem valer a tendência da implantação da tecnologia, da Internet e da interatividade na sala de aula, e fora dela (Jacob, 2008). O primeiro é a Apple Learning Interchange, uma Rede Social para educadores, que podem trocar experiências, estudos e avaliações detalhadas do impacto da informatização no aprendizado, em todos os níveis. Fornece uma gama enorme de conteúdos gerados por professores como: slides de apresentações, podcasts, artigos, RSS, playlists de som e áudio no itunes e outras ferramentas. O Apple Learning Interchange é mostrado na figura 3.4. Figura Site do Apple Learning Interchange, uma Rede Social para Educadores O segundo é a Discovery Educator Network, ilustrado na figura 3.5. Funciona como uma comunidade global de educadores que possuem paixão pelas mídias digitais;
39 39 compartilhando seus recursos, colaborando e gerando network. Com mais de 25 mil membros, o Discovery Educator Network se tornou um ponto de encontro entre os mais conectados professores do planeta. Figura Rede Social Innovative Teachers Network E por último, a Innovative Teachers Network, que pertence a Microsoft, e é voltado aos professores que de fato inovam no seu método de ensino. Nesta Rede Social, os professores podem criar seus próprios perfis e compartilham uns com os outros ferramentas e processos de ensino que se adaptam ao século 21 e a demanda de seus alunos com necessidades por aulas mais atraentes e interativas. Ela conta com comunidades que incentivam a maior participação de seus membros. O site da Innovative Teachers Network é mostrado na figura 3.6. Figura Rede Social Discovery Educator Network No que diz respeitos às empresas, a figura 3.4 (Negrini, 2008) mostra uma pesquisa realizada em 2006, em empresas que utilizam tecnologias de Web 2.0 e Redes Sociais, mostrando a razão pela qual empresas adotaram tais tecnologias. A pergunta foi a seguinte: Quais das seguintes razões descreve melhor por que sua empresa adotou tecnologias de Redes Sociais e Web 2.0? Com mais de 80%, a principal resposta foi Porque elas aumentam a eficiência de nossos negócios, seguido de: Sentimos que era
40 40 uma necessidade competitiva ; Elas resolvem problemas em nossos negócios ; Foram recomendadas por parceiros ; Clientes, funcionários e parceiros exigiram ; e Elas vieram incluídas em produtos que adquirimos. Daí a importância de seu estudo. Figura Adoção das tecnologias de Web 2.0 e Redes Sociais nas Empresas Americanas. Fonte: Negrini (2008) Oportunidades e Desafios As Redes Sociais na Internet são formadas por indivíduos com interesses, valores e objetivos comuns, visando o compartilhamento de informações. A Internet é um dos grandes fomentadores para a formação de redes, visto que as mesmas proporcionam o encontro de pessoas, independente de tempo e espaço. De acordo com Ferla et al. (2008), essas Redes Sociais on-line são criadas a partir de sites de networking conjunto de contatos que uma pessoa possui na Internet, assim o esforço que a mesma faz para mantê-los atualizados - como o Orkut, um dos principais tipos de ferramenta de mídias sociais. Elas envolvem várias atividades integrando tecnologia, interação social e a construção de palavras, fotos, vídeos e áudios. A maneira como a informação é apresentada vai depender das diferentes
41 41 perspectivas que a pessoa que compartilhou o conteúdo possui, podendo ter vários tipos como fóruns de Internet, weblogs, Wikis, podcasts, fotos e vídeos. Devido ao fato dos próprios usuários serem os responsáveis pelo conteúdo, que pode ser postado, compartilhado, comentado ou até mesmo alterado por outras pessoas, todas essas formas de transmitir informação geram uma interação que se contrapõe aos convencionais meios de comunicação como televisão, rádio ou jornais (Ferla et al., 2008). Tão importante quanto entender o conceito é saber como usar as mídias sociais. Recentemente empresas descobriram que uma comunidade no Orkut, por exemplo, pode ser mais eficaz do que um anúncio para difundir a sua marca. Ou que um vídeo disponibilizado no YouTube pode gerar resultados impressionantes (Ferla et al., 2008). De acordo com o relatório da Nielsen Company Global Faces and Networked Places (Nielsen, 2009), o crescimento das Redes Sociais é duas vezes maior que qualquer outro dos quatro maiores setores (busca, portais, software para PC e ). Visitado por mais de dois terços (67%) da população on-line mundial, os Members Communities que englobam as redes de relacionamento e blogs se tornaram a quarta categoria on-line mais popular à frente do pessoal. Ainda de acordo com o relatório da Nielsen (Nielsen, 2009), o Facebook a rede de relacionamento mais popular no mundo é acessado por três em cada 10 pessoas on-line por mês, em nove mercados onde a Nielsen pesquisa o uso da rede de relacionamento. O Orkut no Brasil possui o maior alcance on-line doméstico (70%) que qualquer outra rede de relacionamento nestes mercados. O relatório constata ainda (Nielsen, 2009): Um em cada 11 minutos on-line no mundo é decorrente dos sites de Redes Sociais; Celulares estão tendo um crescente e importante papel nas redes de relacionamento. A Nielsen descobriu que a rede de celulares na Inglaterra possui a maior propensão de acessar as redes de relacionamento via seus aparelhos portáteis, com 23 % (2 milhões de pessoas), comparado com 19% nos EUA (10.6 milhões de pessoas). Estes números representam um grande aumento desde o ano passado 249% na Inglaterra e 156% nos Estados Unidos.
42 42 Entre os mercados que a Nielsen mensurou, a penetração das visitas às redes de relacionamentos e blogs foram maiores no Brasil, onde 80% da audiência on-line acessa tais sites. A participação do tempo geral na internet nas redes de relacionamento e blogs também foram maiores no Brasil, onde quase um em quatro (23%) minutos gastos online são usados nestes tipos de sites. Tudo indica que a utilização de mídias sociais já não é mais uma simples tendência. Por este motivo, empresas estão investindo em profissionais que entendam desse tipo de comunicação e que vivam realmente essa realidade. Segundo estas empresas, não é o suficiente apenas participar de fóruns, colocar vídeos na rede ou criar blogs corporativos. É fundamental que a equipe inteira acompanhe esse movimento que está revolucionando a forma de se comunicar. 3.3 Considerações do Capítulo Este capítulo teve como objetivo fornecer uma breve descrição dos conceitos de Web 2.0 e Redes Sociais, apresentando as definições de Web 2.0 e Redes Sociais, explicando suas características, seus princípios e funcionamento, com o objetivo de fornecer uma base teórica sobre ambos os assuntos, pois a Ontologia apresentada no trabalho procura descrever as Redes Sociais. Neste capítulo também foi mostrado o impacto que as Redes Sociais possuem nas mais diversas áreas, como por exemplo: educação e negócios. Também foram mostrados alguns desafios e oportunidades que essa área possui.
43 43 4. ONTOLOGIAS Neste capítulo é apresentada a definição de Ontologia, assim como suas principais características, suas vantagens, tipos de ontologias e também algumas ferramentas utilizadas para facilitar a sua construção, como a OWL e os vocabulários FOAF e Dublin Core. 4.1 Definição Hendler (2001) apresenta a seguinte definição: "Uma Ontologia é uma especificação formal e explícita de uma conceitualização compartilhada". Onde: "formal" significa legível para computadores; "especificação explícita" diz respeito a conceitos, propriedades, relações, funções, restrições, axiomas, explicitamente definidos; "compartilhado" quer dizer conhecimento consensual; e "conceitualização" diz respeito a um modelo abstrato de algum fenômeno do mundo real. A conceitualização é formada por um vocabulário controlado que é arranjado hierarquicamente e através de relações entre conceitos, como nas taxonomias e tesauros. Uma conceitualização é uma visão abstrata e simplificada do mundo que se deseja representar. Ontologias são utilizadas em Inteligência Artificial, Web Semântica, Engenharia de Software, Arquitetura da Informação e em diversas outras áreas da Informática, como uma forma de representação de conhecimento sobre o mundo ou alguma parte deste. A sua utilização tem como objetivo estruturar de forma organizada as informações de um determinado domínio de conhecimento e refletir um entendimento semântico de situações do mundo real. Segundo Berners-Lee (2001), e citado em Dziekaniak et al. (2004), os computadores necessitam ter, além de acesso a coleções estruturadas de informações (dados e metadados), conjuntos de regras de inferência que auxiliem no processo de dedução automática para que seja administrado o raciocínio automatizado. Em outras palavras, a representação do conhecimento. Estas regras são especificadas através de Ontologias, que permitem a representacão explícita da semântica dos dados. Através dessas Ontologias é possível a elaboração de uma grande rede de conhecimento humano, complementando o
44 44 processamento da máquina, e melhorando qualitativamente o nível de serviços na Web. Ontologias possuem um papel muito importante na Web Semântica. Segundo Berners-Lee et al. (2001) e citado em Jorge (2005), as Ontologias típicas para a Web têm uma taxonomia e um conjunto de regras de inferência. A taxonomia define classes de objetos e relações entre essas classes. É possível expressar um grande número de relações entre entidades simplesmente assinalando propriedades para as classes e permitindo que subclasses herdem suas propriedades. As regras de inferência fornecem poder adicional às Ontologias. Embora o conceito de Ontologias seja independente da Web, as Ontologias desempenham um papel especial na arquitetura da Web Semântica. A visão esquemática desta arquitetura é mostrada na Figura 4.1, adaptada de Mika (2007). A Web Semântica é vista como uma rede de Ontologias que adiciona semântica processável por máquina ao conteúdo existente da Web, incluindo recursos Web e bases de dados. Esta arquitetura fornece a principal motivação para a concepção de linguagens de Ontologia para a Web Semântica: RDF, mostrada no capítulo 2, e OWL, descrita neste capítulo. Ambas linguagens são preparadas para o ambiente distribuído e aberto da Web (Mika, 2007). Ontologia A mapeamento Ontologia B Website X Website Y Base de Dados Z Figura 4.1 Papel desempenhado pelas Ontologias na Web Semântica, adaptada de Mika (2007). A Web Semântica será concretizada anotando recursos existentes na Web com metadados baseados em Ontologias e expondo o conteúdo das bases de dados através da
45 45 publicação dos dados e do esquema em uma das linguagens padrão de Ontologias (Mika, 2007). 4.2 Ontologias como Modelos Formais Em Hinz (2006), é apresentada uma lista com as principais vantagens da utilização de Ontologias na Ciência da Computação: Ontologias fornecem um vocabulário para representação do conhecimento. Para evitar interpretações ambíguas do vocabulário, ele possui uma conceitualização que o sustenta. Ontologias permitem o compartilhamento de conhecimento. Uma Ontologia pode ser compartilhada e utilizada por pessoas que desenvolvam aplicações dentro de um domínio, caso exista uma Ontologia que modele adequadamente este domínio de conhecimento, Uma Ontologia fornece uma descrição exata do conhecimento. A Ontologia, por ser escrita em linguagem formal, não deixa espaço para diferentes interpretações semânticas existentes na linguagem natural. Uma mesma conceitualização pode ser expressa em várias línguas. Em outras palavras, é possível fazer o mapeamento da linguagem da Ontologia sem que com isso seja alterada a sua conceitualização. Pode ser possível estender o uso de uma Ontologia genérica de forma a que ela se adapte a um domínio específico. Segundo Schiessl (2007), uma Ontologia é projetada levando-se em conta os propósitos da área de atuação e aplicação e, segundo Gruber (1993), e citado em Schiessl (2007), algumas características relevantes devem ser consideradas no seu planejamento, como se segue: Clareza: as definições devem ser objetivas e, quando possível, completas. É preferível que uma definição seja declarada utilizando axiomas lógicos. Todas as definições devem ser documentadas em linguagem natural. Coerência: uma Ontologia deve permitir que inferências sejam consistentes com as definições.
46 46 Extensibilidade: uma Ontologia deve permitir que novos termos sejam definidos, baseados em um vocabulário existente, de maneira que não seja necessária a revisão das definições já existentes. Mínimo compromisso ontológico: uma Ontologia deve necessitar de um compromisso ontológico o suficiente apenas para permitir que as atividades de compartilhamento do conhecimento esperadas aconteçam. Mínimo viés de codificação: a conceituação deve ser especificada no âmbito do conhecimento. Em outras palavras, a escolha da representação não deve se basear somente na conveniência da notação ou implementação. 4.3 Tipos de Ontologias De acordo com Gomes-Perez (1999), e citado em Hinz, (2006), existem diversos tipos de Ontologias, que de acordo com seu grau de genericidade, podem ser classificadas como: Ontologias de representação: definem as primitivas de representação frames, atributos, axiomas e outros de uma forma declarativa. Ontologias Gerais: trazem definições abstratas necessárias para a compreensão de aspectos do mundo, como por exemplo: coisas, processos, tempo, seres, etc. Ontologias Centrais ou Genéricas: definem os ramos de estudos de uma área e/ou conceitos mais genéricos e abstratos desta área. Por exemplo, regras básicas do direito. Ontologias de Domínio: tratam de um domínio mais específico de uma área genérica de conhecimento, como direito penal, histologia, etc. Ontologias de Aplicação: têm como objetivo solucionar um problema específico de um domínio, como identificar doenças do coração, a partir de uma ontologia de domínio de cardiologia. Ainda de acordo com Gómez-Perez (1999), existe ainda outra classificação para Ontologias, aplicável apenas para as duas últimas citadas acima. São elas:
47 47 Ontologias de tarefas: descrevem tarefas de um domínio por exemplo, planos, metas, escalonamentos, processos, etc com uma visão mais funcional, embora declarativa, de um domínio. Ontologias de domínio: possuem uma visão mais epistemológica do domínio, focando nos conceitos e objetos do universo sendo representado OWL (Web Ontology Language) Segundo Wikipedia (2008b), OWL é uma tecnologia que possui grande importância para a futura implementação da Web Semântica. É utilizada para definição e instanciação de Ontologias na Web. Uma Ontologia OWL pode incluir, além de descrições de classes, suas respectivas propriedades e seus relacionamentos. De acordo com o W3C e citado por Jorge (2005), a linguagem OWL foi desenvolvida para ser utilizada por aplicações que necessitam processar o conteúdo das informações, ao invés de apenas apresentar informações aos seres humanos. Por prover vocabulário adicional juntamente com a semântica formal, OWL facilita uma maior interpretação do conteúdo Web por máquinas do que XML, RDF e RDFS. Ainda segundo o W3C, OWL pode ser utilizada para: Formalizar um domínio pela definição de classes e propriedades destas classes; Definir instâncias e propriedades sobre elas; Raciocinar a respeito destas classes e instâncias até o grau permitido pela semântica formal da linguagem. De acordo com Mika (2007), e também mostrado em Jorge (2005), OWL possui três sub-linguagens que aumentam gradativamente o nível de expressividade em ordem crescente: OWL Lite, OWL DL e OWL Full. OWL Lite suporta usuários que necessitam principalmente de uma classificação hierárquica e restrições simples. Embora suporte restrições de cardinalidade, só permite valores de cardinalidade 0 ou 1. Permite um caminho de migração mais rápido de tesauros e outras taxonomias. Possui menor complexidade formal que OWL DL.
48 48 OWL DL suporta usuários que desejam máxima expressividade, enquanto mantém a computabilidade e decidibilidade. Inclui todas as construções da linguagem OWL, porém, podem ser utilizadas somente com algumas restrições. OWL Full é direcionada a usuários que desejam máxima expressividade e liberdade sintática do RDF sem nenhuma garantia computacional. Permite que uma Ontologia aumente o vocabulário pré-definido de RDF ou OWL. As linguagens de Ontologias, representadas, sobretudo, pela linguagem OWL, permitem que se escrevam conceituações formais e explícitas de modelos de domínio, empregando, como requisitos básicos, uma sintaxe bem definida, uma semântica formal e alto nível de expressividade, fornecendo apoio eficiente ao processo de inferência de significado. 4.5 Vocabulários A seguir são apresentados dois padrões para definição de vocabulários, os quais são essências ao intercâmbio de informações na utilização de Ontologias: FOAF e Dublin Core FOAF (Friend of a Friend) FOAF, acrônimo de Friend of a Friend (Amigo de um Amigo), é um conjunto de dados, legíveis por computadores, que descreve pessoas, as conexões entre elas e as coisas que elas criaram e fazem. Permite que pessoas criem páginas Web contendo informações pessoais que possam ser lida por agentes de software. (Wikipedia, 2008c). O projeto FOAF estabelece um padrão RDF para descrição de pessoas. Utiliza a Web semântica para criar aplicações que descrevam perfis de pessoas, as ponham em contato e relacionem seus trabalhos e preferências. Esta ferramenta situa a pessoa na Web, e o lugar que a Web ocupa em seu próprio mundo. Devido ao fato de ser uma aplicação RDF, FOAF pode reivindicar os benefícios usuais de ser facilmente capturado e agregado. E assim como todos os vocabulários
49 49 RDF pode ser facilmente combinado com outros vocabulários, permitindo a captura de um conjunto muito rico de metadados (Dodds, 2004). Com ela é possível compartilhar informação entre páginas diferentes da Web - como Redes Sociais - e reutilizá-la sem problemas. Também é possível encontrar amigos comuns ou pessoas com os mesmos interesses. Cada perfil que se introduz na ferramenta possui um identificador único, que pode ser um endereço de correio eletrônico, ou um endereço IP Dublin Core O padrão Dublin Core tem como objetivo oferecer uma coleção básica de elementos de metadados para serem utilizados por qualquer comunidade, independente de sua área de domínio. O padrão Dublin Core (DC) de metadados consiste em um simples, mas efetivo conjunto de elementos utilizados para descrever uma ampla quantidade de recursos eletrônicos (Silva, 2007). O DC possui quinze elementos semânticos que foram estabelecidos através do consenso de grupos interdisciplinares internacionais de cientistas da computação, bibliotecários, comunidade de museus, e outros estudiosos deste campo. De acordo com Rocha (2004), os elementos de Dublin Core estão organizados em três grupos: Conteúdo, propriedade intelectual e instância. Os elementos que descrevem o conteúdo do recurso são: Título, assunto, descrição, linguagem, fonte, recursos relacionados (relação) e abrangência (espacial ou temporal). Os elementos de propriedade intelectual são: o criador (responsável intelectual pela criação do recurso), publicador (quem tornou o recurso público), contribuidor e direitos autorais. Os elementos de instância são: data, tipo (ex.: livro, artigo, página da Web), formato (ex.: word, pdf, mp3) e identificador (ex.: URI, ISSBN). Segundo Silva (2007), o DC tem como objetivo seguir as seguintes características: Simplicidade de criação e manutenção: o conjunto de elementos foi mantido pequeno a fim de permitir que um não-especialista crie registros descritivos simples facilmente, enquanto fornece recursos de recuperação efetiva no ambiente conectado em rede.
50 50 Semântica comumente compreendida: a descoberta de informações na Internet é dificultada pelas diferenças de terminologias de um campo de conhecimento para outro. Escopo internacional: o conjunto de elementos do DC foi originalmente desenvolvido em inglês, mas versões foram sendo criadas em outras linguagens, incluindo finlandês, norueguês, tailandês, japonês, francês, português, alemão, grego, indonésio, e espanhol. Extensibilidade: apesar dos esforços de manter a simplicidade na descrição dos recursos digitais, o DC reconhece a importância de fornecer mecanismos de extensão para necessidade de recursos adicionais descobertos. 4.6 O Editor de Ontologias Protégé Para o desenvolvimento da Ontologia foi utilizada uma das ferramentas disponíveis para edição de Ontologias, o Protégé versão Ela foi escolhida por possuir uma interface simples, o que permitiu que o desenvolvimento da Ontologia não fosse uma tarefa muito complexa e por ter atendido as necessidades para a conclusão do trabalho. O desenvolvimento de uma Ontologia no Protégé consiste basicamente nos seguintes passos: primeiramente é definido um esquema com as classes (class), subclasses (subclass), propriedades e relações (slots) referentes ao domínio que se deseja modelar. No caso, o Domínio das Redes Sociais. De acordo com Semprebom (2007), Protégé é uma ferramenta que permite a construção de Ontologias de domínio, personalização de formulários de entrada de dados, entrada e edição dados, possibilitando então, a criação de bases de conhecimento guiadas por uma Ontologia. De acordo com Gómez-Perez (1999), Protégé possui os seguintes atributos: A linguagem axiomática PAL (Protégé AxiomaticLanguage) A geração de arquivos alteráveis de saída. Atualmente podem ser criadas classes e instâncias em formato de texto CLIPS - a base de conhecimento é gerada nativamente para esse motor de inferência
51 51 Uma excelente interface para entrada de conhecimento, que inclui um gerador automático de formulários para as classes definidas, admitindo ainda a reposição da interface original por componentes mais adequados a aplicações específicas. Esta interface facilita o gerenciamento de conhecimento de uma ou mais ontologias. Sua interface gráfica, como exibida na figura 4.2, fornece acesso à barra de menus e barra de ferramentas, além de apresentar cinco áreas de visualização (views), as quais funcionam como módulos de navegação e edição de classes, atributos, formulários, instâncias e pesquisas na base de conhecimento, propiciando a entrada de dados e a recuperação das informações (Gómez-Perez (1999), e citado em Semprebom (2007)). Esta interface permite que especialistas sobre um determinado domínio modelem sua área de conhecimento de uma maneira simples e natural. Ontologias: Figura Interface do Software Protégé versão A plataforma Protégé possui duas principais formas de modelagem de
52 52 O editor de Frames do Protégé. Permite ao usuário construir e preencher Ontologias baseadas em frames de acordo com o protocolo OKBC (Open Knowledge Base Connectivity). Neste modelo, uma Ontologia consiste em um conjunto de classes organizadas em uma classificação hierárquica para representar os conceitos importantes de um domínio, um conjunto de slots associados com as classes para descrever suas propriedades e relacionamentos, e um conjunto de instâncias destas classes - exemplares individuais dos conceitos contendo valores específicos para as suas propriedades. O editor OWL do Protégé. Permite aos usuários construir Ontologias para a Web Semântica, utilizando a linguagem OWL especificada pela W3C. Uma Ontologia desenvolvida em OWL pode incluir descrições de classes, propriedades e suas instâncias. Dada uma determinada Ontologia, a semântica formal da OWL especifica como derivar suas conseqüências lógicas, ou seja, fatos que não estão explicitamente presente na ontologia, mas conferida pela semântica. 4.7 Considerações do Capítulo Este capítulo objetivou fornecer uma base teórica a respeito de Ontologias. Nele foi apresentada a definição de Ontologia, assim como suas principais características, vantagens, tipos de ontologias e também algumas ferramentas utilizadas para facilitar a sua construção, como a OWL e os vocabulários FOAF e Dublin Core. Também foi apresentado o editor de Ontologias Protégé, que foi utilizado para criar a Ontologia do Domínio das Redes Sociais. Nele foram descritas suas principais características, assim como uma breve descrição de seu funcionamento e duas principais formas de modelagem de Ontologias utilizadas por ele.
53 5. PROJETO, CONTRUÇÃO E VALIDAÇÃO DE ONTOLOGIAS NO DOMÍNIO DAS REDES VIRTUAIS 53 Este capítulo apresenta o foco principal do trabalho, descrevendo a Ontologia do Domínio das Redes Sociais, a proposta por trás da construção da Ontologia, o processo de construção da Ontologia, mostrando a metodologia utilizada, assim como uma descrição de seus principais elementos. 5.1 Proposta A proposta desta pesquisa é construir uma Ontologia do Domínio das Redes Sociais, utilizando o ambiente Protégé Beta Através da análise do domínio foi possível identificar os termos importantes e relevantes para o contexto. Um exemplo disso são os conceitos e propriedades que, antes de serem representados formalmente, foram identificados e especificados de maneira informal. O principal desafio consiste modelar este domínio de uma forma que possa permitir facilmente o desenvolvimento de aplicações futuras para ele com a tecnologia e as ferramentas da Web Semântica. Como dito anteriormente, a Ontologia poderá ser utilizada em várias aplicações, como por exemplo, na construção de bases de dados tecnológicas, no Servidor Semântico de Redes Sociais, etc. A Ontologia fornece uma descrição precisa do Domínio das Redes Sociais, com o objetivo de auxiliar a resolver o problema de comunicação existente entre as Redes Sociais. Ela oferece uma representação formal unificada que permite mapear elementos de uma Rede Social para outra. Assim, qualquer Rede social pode ser representada pela Ontologia. Um exemplo do problema de comunicação entre Redes Sociais é o seguinte: múltiplos perfis. O usuário necessita criar um perfil novo para cada Rede Social em que se cadastra. A Ontologia irá permitir que o usuário crie um perfil que possa ser utilizado em qualquer Rede Social da escolha do usuário. Este exemplo é mostrado é mostrado na Seção 5.3, a fim de validar a proposta da Ontologia. Para atingir os objetivos descritos acima, as seguintes atividades foram realizadas: Revisão bibliográfica sobre Web Semântica, Redes Sociais e Ontologias; Estudo e criação de uma Ontologia do Domínio das Redes Sociais, descrevendo
54 54 conceitos e como se relacionam entre si. 5.2 Processo de Construção da Ontologia A Ontologia foi construída no ambiente Protégé Beta Após estudo, este ambiente, com seus diversos plug-ins, se mostrou o mais vantajoso para a construção da Ontologia. Primeiramente foi feita uma análise de todo o domínio, onde foi possível identificar os termos mais importantes e relevantes para o contexto. Após a análise, os elementos foram inseridos na Ontologia, utilizando o ambiente Protégé. O domínio foi modelado para permitir facilmente o desenvolvimento de aplicações futuras para o mesmo, utilizando a tecnologia e as ferramentas da Web Semântica. Os principais elementos da Ontologia, utilizados diretamente na construção de aplicações, como por exemplo, na criação de um perfil em uma Rede Social são mostrados na figura 5.1, e discutidos a seguir. Figura 5.1 Principais elementos da Ontologia do Domínio das Redes Sociais No que diz respeito à construção de um perfil em uma Rede Social, como mostrado no exemplo do capítulo anterior, os elementos mais importantes da Ontologia
55 55 são os seguintes: Rede Social, que dentro da Ontologia será utilizada na Ontologia para verificar quais características a Rede Social possui. Para isso utiliza a classe Recurso. Dentro da Classe Rede Social está a classe Comunidade Virtual, que é caracterizada pela aglutinação de um grupo de indivíduos com interesses comuns que trocam experiências e informações no ambiente virtual. Facebook, Myspace, Orkut, entre outros são subclasses desta classe. Foram escolhidas devido ao fato de serem as Comunidades Virtuais com maior número de usuários, de acordo com site TopTenREVIEWS (http://social-networking-websites-review.toptenreviews.com/). Outro importante elemento da Ontologia é a classe Recurso, corresponde às características desejadas pelas Redes Sociais. O objetivo desta classe é verificar se a Rede Social em questão possui ou não essas características. Essas características foram escolhidas também de acordo com a pesquisa realizada pelo site TopTenREVIEWS (http://social-networking-websites-review.toptenreviews.com/). Dentro desta classe estão importantes subclasses utilizadas para verificar as características da Rede Social em questão: Demografia, Perfis, Segurança, Networking, Pesquisa e Ajuda/Suporte Técnico, todas descritas no capítulo anterior. Para a criação do perfil, Grupo de Informação é a classe mais importante, pois corresponde aos grupos de informação encontrados nos perfis das principais Redes Sociais, contendo características e informações sobre os usuários. Foi realizada uma pesquisa onde se verificou que a Rede Social com o maior número de atributos nos perfis é a Rede Social Orkut. Assim, os atributos utilizados na Ontologia, nas subclasses Geral, Social, Contato, Profissional e Pessoal foram retirados do Orkut. Todas as subclasses citadas foram descritas no capítulo anterior E por último, a classe Perfil, que é uma sequência multivalorada dos grupos de informação criados dentro da classe Grupo de Informação, tendo como objetivo montar o perfil do usuário para ser utilizado em qualquer Rede Social. 5.3 Elementos da Ontologia A seguir são apresentados os níveis mais altos da Ontologia e os principais relacionamentos binários, assim como uma breve descrição de cada conceito. Todos os conceitos utilizados na Ontologia, assim como as suas respectivas descrições se
56 56 encontram no Anexo A do trabalho. Os itens recuados compreendem especializações dos itens maiores. Agente: diz respeito a quem utiliza a Web, seja usuário ou máquina (na forma de um programa ou aplicação). Os dois tipos de usuários pessoa e máquina são considerados agentes, sem os quais a Web 2.0 e as Redes Sociais não podem existir. o Pessoa: refere-se a um usuário da Web. Os usuários em sistemas de informação são agentes externos ao sistema que usufruem da tecnologia para realizar determinado trabalho. Podem ser desde os usuários comuns do sistema até administradores, programadores ou analistas de sistemas. o Máquina: uma máquina é todo o dispositivo mecânico ou orgânico que executa ou ajuda no desempenho das tarefas, precisando para isto de uma fonte de energia. No caso da Ontologia, a principal máquina seria o computador. Denomina-se computador uma máquina capaz de variados tipos de tratamento automático de informações ou processamento de dados. Serviço: são os serviços oferecidos na Web. Serviço Web é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. A escolha dos serviços mostrados na Ontologia foi feita após extensiva pesquisa na Web. Os termos e conceitos foram retirados do site All Things Web 2.0 (http://www.allthingsweb2.com/), que possui uma grande e atualizada lista de serviços disponíveis na Web 2.0. Todas as listagens, classificações, comentários, e comparações são feitos pelos usuários finais, desenvolvedores, investidores e empresários. Também possui uma lista de sites com as principais aplicações, softwares, código-aberto, sites Web, produtos e serviços sobre cada um dos conceitos listados. o API (Aplication Program Interface): significa Interface de Programação de Aplicativos. É um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por programas aplicativos, isto é, programas que não querem envolver-se em detalhes
57 57 da implementação do software, mas apenas usar seus serviços. Após uma extensiva pesquisa na Web, a lista de API foi feita de acordo com a lista do site Technology Magazine (http://techmagazine.ws/full-web-20-apilist/). Artefato: consiste em qualquer objeto concreto utilizado na Web (texto, vídeo, etc). Todas as classes da ontologia utilizam este conceito o Foto: designa-se por fotografia digital (utilizada na Web) a fotografia tirada com uma câmera digital ou determinados modelos de telefone celular, resultando num arquivo de computador que pode ser editado, impresso, enviado por ou armazenado em Websites ou CD- ROMs, DVD s, Pendrives, etc. o Vídeo: tecnologia de processamento de sinais eletrônicos analógicos ou digitais para capturar, armazenar, transmitir ou apresentar imagens em movimento. Objeto digital que corresponde à imagem em movimento e som. o Som: o som digital ou áudio digital é a codificação digital de um sinal elétrico que representa uma onda sonora. A gravação de som digital utiliza formatos digitais (binários) para arquivar e editar os sons. O som digital pode, por exemplo, ser captado com um gravador digital ou com um microfone acoplado à placa de som de um computador. o Texto: em linguística, a noção de texto é ampla e ainda aberta a uma definição mais precisa. Grosso modo, pode ser entendido como manifestação linguística das idéias de um autor, que serão interpretadas pelo leitor de acordo com seus conhecimentos lingüísticos e culturais. Seu tamanho é variável. Rede Social: é uma das formas de representação dos relacionamentos afetivos ou profissionais dos seres humanos entre si ou entre seus agrupamentos de interesses mútuos. A rede é responsável pelo compartilhamento de idéias entre pessoas que possuem interesses e objetivos em comum, assim como valores a serem compartilhados. Assim, um grupo de discussão é composto por indivíduos que possuem identidades semelhantes. Será utilizada na Ontologia para verificar quais características a Rede Social possui. Para isso utiliza a classe Recurso.
58 58 o Comunidade Virtual: comunidade que estabelece relações num espaço virtual através de meios de comunicação à distância. Caracterizase pela aglutinação de um grupo de indivíduos com interesses comuns que trocam experiências e informações no ambiente virtual. Dentro desta classe se encontram as subclasses Facebook, Myspace, Orkut, entre outros. Estas subclasses foram escolhidas devido ao fato de serem as Comunidades Virtuais com maior número de usuários, de acordo com site TopTenREVIEWS (TopTenREVIEWS, 2010). Recurso: corresponde às características desejadas pelas Redes Sociais. Em outras palavras, a agregação de propriedades da Rede Social. Tem como objetivo verificar se a Rede Social em questão possui ou não essas características. Essas características foram escolhidas de acordo com a pesquisa realizada pelo site TopTenREVIEWS (TopTenREVIEWS, 2010). As características das Redes Sociais mais populares são mostradas na tabela 5.2, após a descrição dos elementos da Ontologia. Dentro de cada subclasse é assinalado se a Rede Social possui ou não tais características. A seguir são descritas as subclasses da classe Recurso: o Demografia: diz respeito aos dados demográficos da Rede Social. Possui como atributos: idade mínima para entrar, porcentagem de usuários menores de 18 anos, multilíngua, propaganda gratuita, comunidade internacional. o Perfis: tem como atributos várias características de perfis de Redes Sociais, com objetivo de verificar se a Rede Social em questão possui ou não tais características. Os atributos são: editor de perfil, skins personalizadas, código personalizado, URL personalizada, fotos, tamanho máximo de fotos, postagem de comentários, amigos, blog/diário, aplicações. o Segurança: diz respeito às configurações de segurança da Rede Social. Possui como atributos: configurações privadas, bloquear usuários, reportar spam, reportar abuso, dicas de segurança. o Networking: dentro desta classe se encontram atributos que dizem respeito às características de Networking. Os atributos são: chatrooms,
59 59 mensagens Instantâneas, tags, boletins, grupos, grupos (número de categorias), criar um grupo, fóruns, mail, copiar/compartilhar fotos, móvel, música, vídeos de música, vídeos comerciais, jogos, classificados, eventos, livros. o Pesquisa: verifica quais tipos de pesquisa a Rede Social disponibiliza. Possui os seguintes atributos: pesquisa por nome, por endereço de e- mail, por escola, por cidade/cep, por interesses, por palavra-chave, navegar sem adesão. o Ajuda/Suporte Técnico: verifica se e Rede Social possui algum suporte e qual o tipo de suporte oferecido. Tem como atributos: suporte por e- mail, FAQ, fóruns de usuários. Grupo de Informação: corresponde aos grupos de informação encontrados nos perfis das principais Redes Sociais, contendo características e informações sobre os usuários. Cada grupo com várias informações sobre o usuário. Após uma pesquisa, verificou-se que a Rede Social Orkut possui o maior número de atributos nos perfis. Portanto, qualquer Rede Social escolhida se encaixa nestes atributos. Devido a este fato, os atributos utilizados na Ontologia, nas subclasses seguintes, foram retirados do Orkut. As subclasses são mostradas a seguir. o Geral: os usuários cadastrados em qualquer Rede Social registram um Perfil Geral que contém informações básicas de acesso. Por estarem presentes em todas as Redes Sociais estudadas, estas informações são obrigatórias. As demais, mostradas abaixo, são opcionais. o Social: onde o usuário pode falar um pouco de si mesmo, de características como gostos, livros preferidos, músicas, programas de TV, filmes, etc. o Contato: contêm informações de contato do usuário, como , telefone, endereço, cidade, estado, etc. o Profissional: apresenta uma seleção da atividade profissional com informações sobre seu grau de instrução e carreira. o Pessoal: apresenta o perfil pessoal do indivíduo de forma a facilitar as relações inter-pessoais. Apresenta informações físicas, e sobre o tipo de
60 60 pessoa que ela gostaria de se relacionar, ou mesmo até mesmo namorar/casar. Perfil: é uma sequência multivalorada dos grupos de informação apresentados no conceito anterior, tendo como objetivo montar o perfil do usuário para ser utilizado em qualquer Rede Social. Diz respeito ao conjunto dos usuários, incluindo suas características e informações. Tecnologia: diz respeito às técnicas, conhecimentos, métodos, materiais, ferramentas, e processos usados para resolver problemas ou ao menos facilitar a solução dos mesmos na Web. Descreve as tecnologias necessárias para criar e gerenciar os sites na Web. O conhecimento de tais tecnologias é fundamental para as tarefas citadas. o HTML (HyperText Markup Language): significa Linguagem de Marcação de Hipertexto é uma linguagem de marcação utilizada para produzir páginas na Web. Documentos HTML podem ser interpretados por navegadores. o XML (extensible Markup Language): é uma recomendação da W3C para gerar linguagens de marcação para necessidades especiais. É um subtipo de SGML capaz de descrever diversos tipos de dados. Seu propósito principal é a facilidade de compartilhamento de informações através da Internet. o Browser Scripting: as linguagens de script servem para estender a funcionalidade de um programa e/ou controlá-lo. Client-side scripting geralmente refere-se à classe de programas de computador na Web que são executados do lado do cliente, ao invés de serem executados do lado do servidor (no servidor Web). o Server Scripting: linguagens de script são linguagens de programação executadas do interior de programas e/ou de outras linguagens de programação. As linguagens de script servem para estender a funcionalidade de um programa e/ou controlá-lo. Server-side scripting é uma tecnologia de servidor Web em que um pedido do usuário é atendido pela execução de um script diretamente no servidor Web para gerar páginas HTML dinâmicamente.
61 61 o Multimídia: é a combinação, controlada por computador, de pelo menos um tipo de mídia estática (texto, fotografia, gráfico), com pelo menos um tipo de mídia dinâmica (vídeo, áudio, animação). o Navegadores: o Navegador, também conhecido como Web browser ou simplesmente browser, é um programa que habilita seus usuários a interagirem com documentos virtuais, também conhecidos como páginas HTML, que estão hospedadas num servidor Web. Para relacionar estes conceitos, foram criados três tipos de relacionamentos binários, sendo que na hierarquia de relacionamentos: Suporta: é o mais importante na hierarquia, pois indica se determinado conceito suporta algum outro conceito, como por exemplo, a tecnologia XML suporta RDF; Relevante_para: que diz se o conceito é ou não relevante à determinada classe ou instância, como por exemplo, a classe Tecnologia é relevante para a classe Rede Social; Se_Relaciona_com: que indica a qual classe ou instância o conceito se relaciona, como por exemplo, a classe Perfil se relaciona com a classe Serviços. Abaixo, na figura 5.2 é mostrada uma pequena rede semântica com as principais classes da Ontologia, mostrando os relacionamentos das classes Agente e Tecnologia com as demais classes. Logo após, tabela 5.1, são mostrados todos os relacionamentos encontrados na Ontologia, onde 1 indica o relacionamento Suporta, 2 indica o relacionamento Relevante_para e 3 indica o relacionamento Se_Relaciona_com. Na tabela a classe Grupos_Info se refere à classe Grupo de informação. Também são mostradas, na tabela 5.2, adaptada de TopTenREVIEWS (2010), as características das Redes Sociais mais populares. Dentro de cada subclasse é assinalado se a Rede Social possui ou não tais características.
62 62 relevante_para Rede Social suporta relevante_para Agente relevante_para Perfil Artefato relevante_para relevante_para relevante_para relevante_para suporta relevante_para Recurso Serviço relevante_para Tecnologia suporta relevante_para Grupo de Informação relevante_para Figura Relacionamentos das classes Agente e Tecnologia com as demais classes da Ontologia Tabela 5.1 Relacionamentos Semânticos da Ontologia do Domínio das Redes Sociais Agente Artefato Serviços Rede Social Tecnologia Recursos Grupo_Info Perfil Agente Artefato Serviços Rede Social Tecnologia Recursos Grupo_Info Perfil Os relacionamentos encontrados na tabela 5.1 funcionam do eixo vertical para o eixo horizontal. Por exemplo: a classe Agente Suporta a classe Artefato, enquanto a classe Artefato é Relevante_para a classe Agente. Tabela 5.2 Atributos das Redes Sociais mais populares (TopTenREVIEWS, 2010) Facebook Myspace Orkut Friendster Hi5 DEMOGRAFIA Idade mínima para entrar % de usuários < 18 anos Comunidade Internacional Multilíngua Propaganda Gratuita
63 63 PERFIS Editor de Perfil Skins Personalizadas Código Personalizado URL Personalizada Fotos Tamanho Máximo de Fotos 4MB 5MB 10MB 2MB 2MB Postagem de Comentários Amigos Blog/Diário Aplicações SEGURANÇA Configurações Privadas Bloquear Usuários Reportar Spam Reportar Abuso Dicas de Segurança CARACTERÍSTICAS DE NETWORKING ChatRooms Mensagens Instantâneas Tags Boletins Grupos Criar um Grupo Fóruns Mail Copiar/Compartilhar Fotos Móvel Música Vídeos de Música Vídeos Comerciais Vídeos Pessoais Jogos Classificados Eventos Livros
64 64 PESQUISA Por Nome Por Endereço de Por Escola Por Cidade/CEP Por Interesses Por Palavra-Chave Navegar sem Adesão AJUDA/SUPORTE TÉCNICO Suporte por FAQ Fóruns de Usuários 5.4 Funcionamento da Ontologia Com o objetivo de validar o conhecimento representado a ser representado na Ontologia, nesta seção será explicado, através de um exemplo, como criar um perfil em uma Rede Social utilizando a Ontologia, para que possa ser utilizado em qualquer Rede Social, da escolha do usuário. Como dito anteriormente, após uma pesquisa, verificou-se que a Rede Social Orkut, mostrada da figura 5.3, possui o maior número de atributos nos perfis. Sendo assim, a partir destes atributos, qualquer Rede Social pode ser representada. No exemplo a seguir será criado um perfil para a Rede Social Orkut, utilizando o Editor de Ontologias Protégé. Figura 5.3 Rede Social Orkut
65 65 Os seguintes passos são necessários para se criar um perfil na Ontologia: Passo 1: criar uma instância da Rede Social desejada, dentro da aba Instances, no Instance Browser, de acordo com a figura 5.4. No caso será a Rede social Orkut, que é uma subclasse da classe Comunidade Virtual, que por sua vez é uma subclasse de Rede Social. É importante colocar a URL da Rede Social no URLWidget. Figura 5.4 Criação da instância da Rede Social desejada Passo 2: após a instância ser criada, ainda na aba Instances, mas agora no Instance Editor, dentro do InstanceListWidget chamado Recursos Redes Sociais, criar instâncias para cada uma das seguintes classes: Demografia, Perfis, Segurança, Networking, Pesquisa, Ajuda/Suporte Técnico, a fim de verificar se a Rede Social possui ou não os atributos/características dentro de cada classe. Todas as classes citadas são subclasses de Recurso. Na figura 5.5 é mostrada a janela com os atributos da classe Demografia, após a instância para este classe ter sido criada. É importante frisar que as instâncias das subclasses de Recurso podem ser criadas a priori, de acordo com a tabela 5.2 mostrada na seção anterior, desde que o usuário tenha criado o perfil em uma das Redes Sociais encontradas como subclasses de Comunidade virtual.
66 66 Figura 5.5 Criação de instâncias para as subclasses Passo 3: criar o perfil do usuário, para que possa ser utilizado em qualquer Rede Social. Dentro da classe Perfil, ainda na aba Instances, criar uma instância no Instance Browser, de acordo com a figura 5.6. Figura 5.6 Criação do perfil do usuário
67 67 Passo 4: após a instância ser criada, ainda dentro da aba Instances, no Instance Editor, dentro do InstanceListWidget chamado Perfil Usuário, criar instâncias para cada uma das seguintes classes: Geral, Social, Contato, Profissional, Pessoal, com o objetivo de inserir os dados do usuário no perfil. Somente os dados da classe Geral são obrigatórios, pois são encontrados nos perfis de todas as Redes Sociais, tornando assim mais fácil a criação, importação e exportação do perfil para outras Redes Sociais. As informações encontradas nas demais classes são opcionais. Todas as classes citadas são subclasses de Grupo de informação. Na figura 5.7 é mostrada a janela com as informações da classe Geral, após a instância para este classe ter sido criada. Figura 5.7 Atributos da Classe Geral Após estes passos, a Rede Social desejada está instanciada e o perfil do usuário está criado, podendo ser utilizado em qualquer Rede Social. O Protégé permite a exportação da Ontologia para diversos formatos, permitindo uma melhor visualização da mesma. A seguir são mostrados dois destes formatos: HTML e OWL. Ambos arquivos estão inclusos no cd entregue juntamente com a Dissertação. Na figura 5.8, é mostrada a Ontologia no formato HTML, fornecendo uma boa visualização de uma parte de sua hierarquia de classes.
68 68 Figura 5.8 Hierarquia de Classes no Formato HTML Ainda no formato HTML, a partir da tela mostrada na figura anterior é possível a visualização individual de cada uma das classes. Na figura 5.9 é mostrada a classe Geral, incluindo alguns de seus atributos, com sua documentação, seu tipo e sua cardinalidade. Se encontram dentro da tabela chamada Template Slots. Figura 5.9 Classe Geral no formato HTML
69 69 Outro formato gerado a partir do Protégé é o OWL. Na figura 5.10 é mostrada novamente a Classe Geral, no formato OWL. Figura 5.10 Classe Geral no formato OWL 5.5 Considerações do Capítulo Este capítulo teve como objetivo apresentar o foco principal do trabalho: a Ontologia do Domínio das Redes Sociais. Foram apresentados a proposta por trás da construção da Ontologia, o processo de construção da mesma, uma descrição de seus principais elementos, e os relacionamentos entre os mesmos, através de uma tabela. Também foi apresentado o funcionamento da Ontologia através de um exemplo, utilizado para validar a proposta da Ontologia.