Buscar

1 - descoberta_de_conhecimento_com_big_data_analytics

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 122 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 122 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 122 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Brasília-DF. 
Descoberta De conhecimento com 
big Data analytics
Elaboração
Bruno Iran Ferreira Maciel
Produção
Equipe Técnica de Avaliação, Revisão Linguística e Editoração
Sumário
APrESEntAção ................................................................................................................................. 5
orgAnizAção do CAdErno dE EStudoS E PESquiSA .................................................................... 6
introdução.................................................................................................................................... 8
unidAdE i
INTRODUÇÃO ..................................................................................................................................... 11
CAPítulo 1
VIsÃO GeRal ......................................................................................................................... 11
unidAdE ii
aNálIse De DaDOs e Web ................................................................................................................... 14
CAPítulo 1
Web semâNTIca .................................................................................................................... 14
CAPítulo 2
TécNIcas De exTRaÇÃO De DaDOs ...................................................................................... 38
CAPítulo 3
aPIs e ReDes sOcIaIs ............................................................................................................ 44
CAPítulo 4
mINeRaÇÃO De OPINIÃO/aNálIse De seNTImeNTO ................................................................ 51
unidAdE iii
VIsUalIzaÇÃO De DaDOs e bIG DaTa sTORyTellING ........................................................................... 56
CAPítulo 1
VIsUalIzaÇÃO De DaDOs ...................................................................................................... 56
CAPítulo 2
bIG DaTa e sTORyTellING ...................................................................................................... 83
unidAdE iV
RecURsOs PaRa aNálIse De DaDOs ................................................................................................... 92
CAPítulo 1
PRINcIPaIs feRRameNTas ...................................................................................................... 93
CAPítulo 2
lINGUaGeNs De PROGRamaÇÃO ......................................................................................... 98
CAPítulo 3
esTUDO De casO PRáTIcO .................................................................................................. 103
rEfErênCiAS ................................................................................................................................ 119
5
Apresentação
Caro aluno
A proposta editorial deste Caderno de Estudos e Pesquisa reúne elementos que se 
entendem necessários para o desenvolvimento do estudo com segurança e qualidade. 
Caracteriza-se pela atualidade, dinâmica e pertinência de seu conteúdo, bem como pela 
interatividade e modernidade de sua estrutura formal, adequadas à metodologia da 
Educação a Distância – EaD.
Pretende-se, com este material, levá-lo à reflexão e à compreensão da pluralidade 
dos conhecimentos a serem oferecidos, possibilitando-lhe ampliar conceitos 
específicos da área e atuar de forma competente e conscienciosa, como convém 
ao profissional que busca a formação continuada para vencer os desafios que a 
evolução científico-tecnológica impõe ao mundo contemporâneo.
Elaborou-se a presente publicação com a intenção de torná-la subsídio valioso, de modo 
a facilitar sua caminhada na trajetória a ser percorrida tanto na vida pessoal quanto na 
profissional. Utilize-a como instrumento para seu sucesso na carreira.
Conselho Editorial
6
organização do Caderno 
de Estudos e Pesquisa
Para facilitar seu estudo, os conteúdos são organizados em unidades, subdivididas em 
capítulos, de forma didática, objetiva e coerente. Eles serão abordados por meio de textos 
básicos, com questões para reflexão, entre outros recursos editoriais que visam tornar 
sua leitura mais agradável. Ao final, serão indicadas, também, fontes de consulta para 
aprofundar seus estudos com leituras e pesquisas complementares.
A seguir, apresentamos uma breve descrição dos ícones utilizados na organização dos 
Cadernos de Estudos e Pesquisa.
Provocação
Textos que buscam instigar o aluno a refletir sobre determinado assunto antes 
mesmo de iniciar sua leitura ou após algum trecho pertinente para o autor 
conteudista.
Para refletir
Questões inseridas no decorrer do estudo a fim de que o aluno faça uma pausa e reflita 
sobre o conteúdo estudado ou temas que o ajudem em seu raciocínio. É importante 
que ele verifique seus conhecimentos, suas experiências e seus sentimentos. As 
reflexões são o ponto de partida para a construção de suas conclusões.
Sugestão de estudo complementar
Sugestões de leituras adicionais, filmes e sites para aprofundamento do estudo, 
discussões em fóruns ou encontros presenciais quando for o caso.
Atenção
Chamadas para alertar detalhes/tópicos importantes que contribuam para a 
síntese/conclusão do assunto abordado.
7
Saiba mais
Informações complementares para elucidar a construção das sínteses/conclusões 
sobre o assunto abordado.
Sintetizando
Trecho que busca resumir informações relevantes do conteúdo, facilitando o 
entendimento pelo aluno sobre trechos mais complexos.
Para (não) finalizar
Texto integrador, ao final do módulo, que motiva o aluno a continuar a aprendizagem 
ou estimula ponderações complementares sobre o módulo estudado.
8
introdução
A informação é algo vital para o mundo dos negócios, tornou-se matéria-prima para 
ganho de mercado (competitividade) entre as empresas, independente do número de 
funcionários ou faturamento. Cada vez mais, as instituições procuram adotar estratégias 
de ganho que se baseiam em informações, visando reduzir erros na tomada de 
decisões por parte dos gestores. Os avanços tecnológicos facilitaram a obtenção dessas 
informações por meio de processos de descoberta de conhecimento, principalmente em 
banco de dados com elevado número de registros. Esse processo procura por padrões 
e tendências analisando conjuntos de dados, e, tem como principal fase o processo de 
mineração, no qual são executadas técnicas de análise, produzindo como resultado 
relações de particularidades entre os padrões.
O volume de dados cresceu rapidamente com o passar dos anos, exigindo que gestores 
busquem mais informações e desenvolvam habilidades para lidar com grandes volumes 
de dados. Dessa maneira, o valor de uma ótima decisão estratégica para o negócio em 
questão é dependente das informações, experiência e habilidades que dispõe o gestor, de 
tal forma que ele seja capaz de obtê-las, interpretá-las e associá-las de maneira adequada 
à necessidade do negócio. Entretanto, ainda é carente o número de profissionais que 
atendem a essas necessidades de negócios e vislumbram essa realidade, formando uma 
lacuna de negócios (VASKYS, 2012).
Para que seja possível entender melhor o processo de descoberta de conhecimento 
com Big Data é necessário compreender os conceitos de envolvidos na descoberta de 
conhecimento e Big Data. Em suma, com essas informações será possível compreender e 
avaliar se o suporte à tomada de decisão no contexto tradicional atende às necessidades 
de um tomador de decisão no contexto do Big Data, bem como avaliar os impactos da 
mudança de paradigma para tomada de decisão.
No momento em que as organizações começam a juntar, usar e reutilizar informações, 
de acordo com suas metas, a capacidade delas aumenta na perspectiva de conseguir 
analisar e descobrir o sentido dessas informações. Portanto, essas organizações podem 
melhor e mais rapidamente responder as necessidades de mercado, fazendo com que 
seja possível manter sua posição de liderança ou reinventando-se, de tal forma que 
seja possível melhorar sua posição em relaçãoaos concorrentes. Dessa forma, essas 
organizações poderão interagir melhor com seus clientes e explorar novas oportunidades 
de investimento e crescimento.
9
objetivos
O objetivo geral é apresentar os conceitos e noções básicas para descoberta de 
conhecimento com Big Data. A finalidade principal do trabalho é desdobrada em 
objetivos específicos - metas menores, que facilitam a manutenção do foco do material. 
Os objetivos específicos são desdobrados a seguir:
 » Web Semântica.
 › Técnicas de Extração de Dados.
 › APIs para Mineração de Dados.
 › Análise de Sentimentos.
 › Visualização de Dados.
 › Big Data e Storytelling.
 › Recursos para Análise de Dados.
10
11
unidAdE iintrodução
CAPítulo 1
Visão geral
As evoluções dos meios computacionais juntamente com os preços, proporcionaram o 
aumento da capacidade de processamento, armazenamento e conectividade provocando 
um crescimento exponencial no volume de informação. Estima-se que até 2020, o volume 
de informação, em nível mundial, cresça em 35 trilhões de gigabytes (GANTZ, 2010).
A maior parte destas informações produzidas encontra-se em formato textual (RÊGO, 
2013). Este cenário promove desafios quanto à coleta, armazenamento, recuperação e 
análise de informação não estruturada a ponto de gerar conhecimento, com o intuito 
de servir como uma fonte de vantagem competitiva para as organizações. Para suprir as 
necessidades, tornam-se necessários modelos, processos, metodologias, entre outros, 
para identificar e reaproveitar conhecimentos. Entre estes, encontramos o processo de 
Descoberta de Conhecimento em Texto (KDT, do inglês, Knowledge Discovery in Text) 
entendido como uma versão da Descoberta de Conhecimento em Bases de Dados (KDD, 
do inglês, Knowledge Discovery in Database) voltada à manipulação de informação 
não estruturada. Este processo tem como objetivo desvendar padrões e tendências, 
classificando e comparando os mais variados documentos.
A mineração de dados (do inglês, Data Mining) surgiu da intersecção de duas grandes 
áreas: estatística e inteligência artificial, sendo a primeira a mais antiga delas. 
É importante lembrar que o Data Mining está contido dentro do processo de descoberta 
de conhecimento, permitindo a extração de conhecimento previamente desconhecido 
e potencialmente útil.
O processo de descoberta do conhecimento constitui de várias etapas, que são executadas 
de forma dependente ou independente. São dependentes porque envolve o resultado 
de outras análises de dados, cujo resultado necessita de algum especialista do domínio 
para orientar a execução do processo ou necessita de outros conjuntos de dados ou de 
12
UNIDADE I │ INTRODUÇÃO
outras análises. Por sua vez, independente, quando o processo é executado de forma 
sequencial, autônomo, pode até envolver repetidas seleções de parâmetros e posterior 
análise dos resultados obtidos, a fim de refinar os conhecimentos extraídos.
É importante deixar claro que cada técnica de Data Mining contribui para conduzir 
as operações de modo a adaptá-las da melhor maneira para alguns problemas do que 
a outros, deixando evidente que não existe um método de Data Mining globalmente 
melhor. Para cada particularidade de problema, tem-se uma técnica ou conjunto de 
técnicas que podem ser melhor empregadas em várias situações. Portanto, o sucesso 
de uma tarefa de Data Mining está atribuído também à experiência e à intuição 
do analista.
Devido o grande valor, no qual pode ser explorado, torna-se essencial o desenvolvimento 
de modelos embasados em técnicas que possibilitem simplificar o processo de 
descoberta de padrões em bases dessa natureza. As principais técnicas encontradas na 
literatura são Correlação e Associação. A Correlação determina o grau de relação entre 
duas variáveis, enquanto que a Associação se encarrega de evidenciar relacionamentos 
indiretos, procurando explicitar conexões potencialmente úteis entre os termos.
A fim de descobrir padrões ocultos em grandes coleções de dados que estejam 
disponíveis no meio da Web ou em organizações ao mesmo passo que os envolvidos 
em um determinado período temporal, o desenvolvimento deste material se dá por 
meio da motivação para prover conceitos e definições para os desafios de produzir 
conhecimento útil ao processo de tomada de decisão pelas organizações com base 
em Big Data. Principais conceitos, técnicas e algoritmos provenientes de diferentes 
áreas que promovam suporte à Descoberta de Conhecimento são fundamentais para o 
desenvolvimento de sistemas capazes de lidar com tais demandas.
O processo de descoberta de conhecimento em Big Data compreende as etapas de seleção 
dos dados, transformações, pré-processamento que adequa os dados aos algoritmos, 
mineração com uso de técnicas geralmente baseadas na Inteligência Artificial ou 
Estatística, validação dos resultados e a análise e interpretação dos resultados para 
aquisição do conhecimento. O principal objetivo deste processo é a tradução de dados 
brutos em informações relevantes para posterior utilização e descoberta.
De acordo com Figueira (1998), pode-se dividir as etapas da KDD da seguinte forma:
 » Seleção: é a etapa de agrupamento (organização) dos dados.
 » Pré-processamento: são realizadas adequações aos dados. Ao final do 
processo, devem possuir o formato correto e não apresentar duplicidade, 
além de outras checagens.
13
INTRODUÇÃO │ UNIDADE I
 » Transformação: é responsável por converter caracteres e armazenar os 
dados de forma a facilitar o uso das técnicas de Data Mining.
 » Data Mining: principal atividade da descoberta de conhecimento, na 
qual são aplicados algoritmos de descoberta de padrões.
 » Interpretação e avaliação: consiste em interpretar os dados gerados 
e verificar se possuem alguma importância/validade para o problema.
14
unidAdE iiAnáliSE dE dAdoS 
E WEb
CAPítulo 1
Web Semântica
A pluralidade de padrões adotados para compartilhamento de dados não estruturados 
implica em novas demandas de soluções, pois dificulta a interoperabilidade e 
interpretação automática dos dados, principalmente pela falta de expressividade 
e/ou documentação, de tal forma que os impactos podem ser observados no 
domínio da recuperação da informação. Os modos de organizar e extrair dados estão 
relacionados às tecnologias em uso (dependem da fonte de dados), de forma que a 
constante evolução das tecnologias e avanços na quantidade de dados disponíveis, 
principalmente no meio digital, vem produzindo um estágio em que os modelos 
clássicos de organização e recuperação de informações precisam ser pensados sob 
diferentes perspectivas.
Como resposta destas novas demandas, o ambiente digital passou a requerer métodos 
mais eficientes, principalmente no que diz respeito à maneira de representação e 
organização de recursos. Neste contexto, encontra-se a Web Semântica, título genérico 
que representa várias frentes de estudos e pesquisas, mas possui como principal objetivo, 
apresentar avanços para potencializar e melhorar o aproveitamento do ambiente Web, 
a partir do desenvolvimento de meios de organização de conjuntos de informação e 
instrumentos capazes de aumentar a representatividade da informação.
Nesse pensamento, este capítulo apresenta elementos da literatura sobre os conceitos 
e tecnologias existentes na Web Semântica, procurando identificar sua fundamentação 
teórica a partir da apresentação dos conceitos necessários para sua existência, 
contextualizando as ontologias como uma das principais formas de modelagem 
semântica de coisas e conceitos, assim como também descrevendo as principais 
linguagens e notações de documentos recomendadas pelo World Wide Web Consortium 
(W3C) (W3C, 2018).
15
Análise de dAdos e Web │ UnidAde ii
definições
Em outubro de 1994, no Massachusetts Institute of Technology (MIT) (MIT, 2018), foi 
fundado o W3C, um consórcio mundial liderado por Tim Berners-Lee (considerado o 
pai da Web) que conseguiu aproximar instituições acadêmicas, cientistas, empresase 
profissionais liberais com o intuito de padronizar novas tecnologias que possibilitem 
expandir gradualmente os recursos do ambiente Web. Dessa forma, a partir dessa 
aproximação e de pesquisadores parceiros ao W3C, em meados de 1998 começaram 
a formalizarem-se pesquisas relacionadas ao desenvolvimento de uma nova Web, 
com o objetivo de proporcionar a incorporação de ligações semânticas aos recursos 
informacionais, de modo que os computadores fossem capazes de “compreendê-las”. 
“Machine understandable information” (Informação compreensível por máquina - ao 
invés de pensar na informação para os humanos, a ideia é pensar na máquina), esta 
expressão feita por Berners-Lee (1998) alavancou os primeiros estudos em direção a 
Web Semântica também conhecida como “Web dos dados”.
De acordo com Berners-Lee et al. (2001), o primeiro passo para o desenvolvimento da 
Web Semântica foi a inclusão de dados em um formato que os sistemas computacionais 
possam compreender de forma direta ou indireta. A expressão “Web Semântica” 
inicialmente foi disseminada como algo genérico que representa vários trabalhos de 
pesquisas que têm como principal objetivo alcançar um melhor aproveitamento do 
ambiente Web por meio de padrões computacionais e elementos de metadados que se 
espera obter o acesso automatizado às informações de maneira mais precisa, utilizando-se 
para isso processamentos semânticos de dados e de heurísticas automáticas. Entretanto, 
o objetivo final é atender às pessoas e não aos computadores, mas para isso é preciso 
construir categorias e uma linguagem que façam sentido para a máquina.
Segundo Berners-Lee et al. (2001), a Web Semântica pode ser entendida como uma 
extensão da Web atual, na qual a informação possui um significado claro e bem definido, 
possibilitando uma melhor interação entre computadores e pessoas. Nesse sentido, o 
objetivo final da Web Semântica é suprir as pessoas e não os computadores, porém para 
isso é necessário construir componentes que forneçam sentido lógico e semântico para 
as máquinas. Portanto, pode-se entender que a Web Semântica procura disponibilizar 
recursos não apenas pensando no ser humano, mas principalmente na formalização 
para que as máquinas interajam entre si e possam prover aos seres humanos recursos 
de maneira mais eficiente.
A Web atual, também conhecida como “Web de documentos”, pode ser vista como 
uma biblioteca de documentos de escala mundial. Constitui, atualmente, o maior 
repositório de informação, disponibilizando conteúdos em diferentes formatos e 
16
UNIDADE II │ ANálIsE DE DADos E WEb
idiomas, contudo sua localização não é fácil, devido essencialmente ao fato da sua 
semântica ou significado ser direcionado para dentro de um contexto e na perspectiva 
dos seres humanos.
Existem muitos desafios atrelados à recuperação de informações na Web atual, por 
exemplo, ao analisar os resultados de uma busca realizada por meio dos tradicionais 
“motores de busca” (search engines), a busca contempla trabalhos científicos de 
autoria de uma pessoa específica. Deseja-se buscar por documentos que contenham 
o autor “Gregório de Matos” como expressão de busca, e são encontrados vários 
tipos de documentos contendo a expressão de busca que faça parte do texto do seu 
documento. Caso esta mesma busca seja realizada utilizando-se apenas o sobrenome 
deste autor o problema se agravaria ainda mais, pois “Matos” pode igualmente se 
referir ao sobrenome de uma pessoa, como também a um campo não cultivado, 
pois a Web atual não disponibiliza de recursos que permitam aos tradicionais 
“motores de busca” distinguir diretamente entre os vários significados semânticos 
que um termo pode comportar, o que favorece a recuperação de uma grande 
quantidade de documentos irrelevantes ou não relacionados com a busca realizada, 
tornando muitas vezes complexa a tarefa de localizar uma informação específica no 
ambiente Web.
De acordo com Koivunen e Miller (2001), um dos princípios básicos que constituem 
a Web dos dados está no princípio de que os recursos precisam ser identificados 
de modo único por meio de um Uniform Resource Identifier (URI – Identificador 
Uniforme de Recursos). O termo recurso pode ser entendido por coisas, pessoas, 
lugares e elementos do mundo físico que possam ser referenciados utilizando-se 
vários identificadores. Desta maneira, pode-se identificar um lugar referindo-se ao 
URI de uma página Web, além disso, também é possível fazer referência a entidades 
físicas de modo indireto.
A Web Semântica permite que recursos possam ter notações diferentes para escrita dos 
documentos, de modo que seja possível definir conceitos úteis para as máquinas. A Web 
de documentos consiste de recursos e links, porém estes links geralmente são projetos 
pensando no uso por seres humanos, de modo que seja relativamente simples para um 
ser humano identificar se um link contido em um determinado recurso faz referência 
para um artigo de jornal, livro de romance ou um trabalho científico, entretanto, tais 
informações não estão acessíveis para as máquinas, pois os links não indicam quais são 
os tipos de relações existentes entre os recursos referenciados.
A Figura 1 ilustra como são referenciados os links na Web de documentos e alguns tipos 
de relacionamentos encontrados na Web Semântica.
17
Análise de dAdos e Web │ UnidAde ii
figura 1. estruturação dos recursos e links na Web atual e na Web semântica.
fonte: mIlleR, 2004.
Na Figura 1, os tipos de recursos não estão rotulados de maneira apropriada, pois 
existem vários recursos do tipo “resource” (recurso) - lado esquerdo da figura -, se 
dois recursos distintos estão ligados a um terceiro recurso a partir de um mesmo tipo 
de relacionamento “linksTo” (conectado à), cada um deles deve ser identificado de 
maneira única, de modo a melhorar a semântica e evitar ambiguidades.
Na proposta original do World Wide Web, apresentado por Berners-lee (1989), 
estavam presentes tipos diferentes de relacionamentos entre recursos e links, porém 
tal característica não foi desenvolvida na Web de documentos, de modo que esperamos 
que a concretização da Web Semântica possa finalmente ser implementada. Nessa 
perspectiva, alguns dos principais pilares da Web Semântica estão na formalização e 
desenvolvimento de ontologias formais para que seja possível descrever as informações 
semânticas dos recursos Web, possibilitando o compartilhamento e manipulação de 
informações capazes de ser diretamente interpretadas por máquinas, a partir do uso 
das especificações de ontologias e lógica de simbólica.
A figura 2 apresenta o esquema utilizado para recuperação de informações na Web 
Semântica a partir de “motores de busca” mais eficientes, baseados em ontologias.
18
UNIDADE II │ ANálIsE DE DADos E WEb
figura 2. estrutura de recuperação de informações na Web semântica.
fonte: berners-lee, 2000.
Para a concretização da Web de dados é necessário padronizar a maneira pelo qual 
os diferentes sistemas utilizados no ambiente Web manipulam as informações. A 
padronização possibilitará unificar a forma utilizada para descrever a lógica e as 
semânticas de cada recurso, de modo que possa haver compartilhamento de informações 
de maneira padronizada e independente da tecnologia por trás do provedor do recurso. 
Deste modo, a interoperabilidade e semântica dos dados melhora à medida que as 
aplicações forem desenvolvidas na perspectiva dos padrões da Web semântica, conforme 
observamos na figura 3.
figura 3. estrutura para o desenvolvimento de nova s aplicações no âmbito da Web semântica.
fonte: berners-lee, 2005.
19
Análise de dAdos e Web │ UnidAde ii
Na perspectiva do acesso automática por máquina, é importante lembrar o conceito de 
agentes de software inteligentes. Popularmente, os agentes são facilmente confundidos 
com programas que se assemelham à forma humana de resolver problemas. Os agentes 
são capazes de fazer muita coisa, mas ainda estão longe de conseguirem fazer tudo pelaspessoas. Por exemplo, um agente é capaz de buscar informações na rede, negociar ações, 
influenciar pessoas, entre outros. Entretanto, o desenvolvimento deles é complexo e 
exige muitas vezes conhecimento multidisciplinar. Segundo Russell e Norvig (1995), 
um agente é como qualquer coisa que seja capaz de perceber o seu ambiente por meio 
dos seus sensores e agir sobre seus “efetores”, em analogia a um agente humano que 
tem olhos, ouvidos e outros órgãos como sensores e mãos, braços, pernas, etc.
Segundo Berner-Lee et al. (2001), a Web Semântica será melhor explorada quando 
os agentes puderem extrair informações provenientes de diferentes fontes de dados, 
combiná-las automaticamente e como resultado apresentar o conteúdo de maneira 
mais amigável e organizada aos usuários (seres humanos ou máquinas).
A Web de dados possui várias camadas que cooperam e se complementam, de maneira 
que para a sua concretização torna-se necessária a criação de um ambiente ideal, no 
qual tais tecnologias adotadas utilizem prioritariamente os padrões recomendados pelo 
W3C de modo integral ou parcial. As camadas visam fornecer estruturas e significados 
semânticos ao conteúdo das páginas Web, construindo um ambiente no qual softwares 
e pessoas possam trabalhar de forma cooperativa. Nessa perspectiva, muitos esforços 
são empregados no desenvolvimento de padrões e tecnologias para suportar as 
novas demandas necessárias ao bom funcionamento da Web Semântica. Por fim, nas 
próximas seções serão apresentados os fundamentos da Web Semântica e algumas das 
tecnologias propostas.
Arquitetura da Web Semântica
O amadurecimento da Internet proporcionou um aumento na quantidade de dispositivos 
ligados à rede e executando tarefas mais complexas na busca por informações. O World 
Wide Web (WWW), frequentemente chamada de Web, guarda um enorme volume de 
informações e também dispõe de uma variedade de serviços que facilitam a vida. Devido 
a isso, muitos desafios surgem, um deles é tornar possível que agentes de software 
possam vincular dados com ajuda da Web semântica. Tornar a Web compreensível por 
máquina faz parte do objetivo da Web Semântica, de modo que seja possível automatizar 
a vinculação de dados extraídos em rede com base em descrições semânticas definidas 
por meio de ontologias e regras de inferências, fazendo com que seja possível encontrar 
respostas mais precisas.
20
UNIDADE II │ ANálIsE DE DADos E WEb
O W3C desempenha um papel crítico na elaboração, especificação e padronização de 
novas tecnologias baseadas no ambiente Web, de modo que ela desenvolve e padroniza 
soluções relacionadas à Web Semântica. No ano de 2000, a W3C publicou a primeira 
proposta de arquitetura da Web Semântica, apresentada na figura 4. Ela possui uma 
série de camadas sobrepostas, na qual cada camada obrigatoriamente é complementar 
e compatível com as camadas inferiores, ao mesmo tempo em que não deveria 
depender das camadas superiores, possibilitando assim uma estrutura escalonável. 
Portanto, tal arquitetura almeja indicar os passos e as soluções tecnológicas necessárias 
para a concretização da Web Semântica, apresentando soluções implícitas e como estas 
se relacionam.
figura 4. arquitetura da Web semântica proposta em 2000.
fonte: berners-lee, 2000.
Trabalhos relacionados com a Web Semântica tinham como enfoque estudos sobre 
a linguagem XML (do inglês, eXtensible Markup Language) e como relacionar com 
o Framework para descrição de recursos (RDF, do ingês, Resource Description 
Framework) (MILLER, 1998; BROWN et al., 2001). Talvez a resposta esteja relacionada 
à falta de informações na época, a respeito da forma como as camadas superiores seriam 
desenvolvidas, pois era necessário padronizar as camadas mais básicas (as que se 
localizam mais abaixo). É por este motivo que na primeira proposta foram apresentadas 
apenas recomendações de tecnologias até a camada “RDF + rdfschema”, de maneira 
que a partir da camada “Ontology vocabulary” foram sugeridos títulos genéricos de qual 
seria a função básica de cada camada, porém não apresentando soluções tecnológicas 
recomendadas para o seu desenvolvimento, como feito nas camadas anteriores. 
Entretanto, devido ao engajamento dos pesquisadores no projeto da Web Semântica, 
logo após sua divulgação inicial, não demorou para que as camadas iniciais fossem 
completamente desenvolvidas e padronizadas, iniciando assim a segunda proposta 
publicada pelo W3C em 2002, conforme apresentado na figura 5.
21
Análise de dAdos e Web │ UnidAde ii
figura 5. arquitetura da Web semântica proposta em 2002.
fonte: berners-lee, 2002.
A especificação da arquitetura publicada em 2002 manteve a essência da arquitetura 
anterior. A principal diferença entre ambas está no detalhamento das tecnologias 
e agrupamento de outras, como por exemplo, nas especificações XML e xmlschema. 
Em relação à camada RDF, ela foi particionada em uma camada contendo o Modelo 
e Sintaxe RDF e uma camada superior contendo especificamente o padrão RDF 
Schema. Além disso, também foi acrescentada a camada de criptografia, em paralelo 
à assinatura digital, com o intuito de garantir a confidencialidade das informações na 
Web Semântica.
Ao especificar e formalizar a padronização das camadas mais básicas, foi publicada 
a arquitetura apresentada em 2002. As pesquisas relacionadas a Web Semântica 
concentraram-se preferencialmente na implementação de soluções tecnológicas 
e linguagens computacionais que permitissem o desenvolvimento de ontologias. 
Tais iniciativas priorizaram o desenvolvimento de linguagens, bibliotecas, editores e 
sistemas que possibilitassem a integração de ontologias. Como resultado das iniciativas, 
vários avanços foram alcançados, especificamente para o desenvolvimento de ontologias, 
por exemplo: Ontology eXange Language (XOL), Ontology Markup Language (OML), 
Ontology Inference Layer (OIL) e Darpa Agent Markup Language (DAML).
Em 2004, como resultado do trabalho do Web-Ontology (WebOnt) Working Group 
<https://www.w3.org/2001/sw/WebOnt/>, foi publicada a recomendação do W3C 
para a utilização da linguagem para definir e instanciar ontologias na Web (OWL, do 
inglês, Ontology Web Language) para o desenvolvimento de ontologias <https://www.
w3.org/TR/owl-features/>. A OWL foi criada a partir da combinação das especificações 
das linguagens DAML e OIL, também recomendadas pelo W3C.
22
UNIDADE II │ ANálIsE DE DADos E WEb
Mesmo com a padronização da linguagem OWL para ontologias, verificou-se que uma 
das principais dificuldades para concretização do projeto Web Semântica situava-se 
justamente na integração e compatibilidade da camada de ontologias com as demais 
camadas da arquitetura, fato que levou a uma nova proposta do W3C publicada em 
2005. Nessa proposta de arquitetura, a linguagem OWL aparece como recomendação 
para o desenvolvimento de ontologias e foram incorporadas tecnologias como “SparQL” 
e “DLP”, com o intuito de possibilitar a integração da camada de ontologias com as 
demais camadas e de facilitar a realização de consultas semânticas. Isso pode ser 
verificado na figura 6.
figura 6. arquitetura da Web semântica proposta em 2005.
fonte. berners-lee, 2005.
Assim, baseando-se nesta proposta de arquitetura, pode-se descrever as principais 
tecnologias e camadas inerentes ao projeto Web Semântica, resumidamente, da 
seguinte maneira:
 » Uniform Resource Identifiers (URI - Identificador Único de Recursos) 
(RFC2396, 1998): consiste de uma cadeia de caracteres para identificar 
um recurso, possibilita a nomeação de maneira única na Web e possui 
expressividade semântica para ser interpretável por humanos e máquinas.
 » UNICODE: capaz de fornecer interoperabilidade em relação à codificação 
de caracteres para os dados 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 modo independente de plataforma de software e idioma.23
Análise de dAdos e Web │ UnidAde ii
 » Signature (assinatura): garantia e autenticidade das fontes. Conjunto 
de tecnologias desenvolvidas com o intuito de substituir em ambiente 
computacional a função exercida pela assinatura formal de ser humano 
ou máquina.
 » Encryption (criptografia): possibilita que informações sejam cifradas, 
tornando-as ininteligível para os que não tenham acesso às convenções 
combinadas de modo a dificultar a interpretação por qualquer pessoa 
ou sistema computacional, contribuindo para a confidencialidade das 
informações.
 » XML: linguagem computacional que possibilita a estruturação de dados 
por meio da definição de elementos e atributos, permitindo também a 
especificação de regras sintáticas para a análise e validação dos recursos.
 » Namespace: coleção de nomes, identificados por URI, que são utilizados 
em documentos XML para validar elementos e atributos.
 » RDF Core: especificações do modelo e a sintaxe RDF, possibilitando a 
descrição dos recursos por meio de suas propriedades e valores.
 » RDF Schema: fornece descrição ao vocabulário RDF, possibilitando a 
definição de taxonomias de recursos em termos de uma hierarquia de 
classes.
 » SparQL: linguagem computacional utilizada para realizar consultas a 
partir de estruturas RDF, favorecendo a recuperação de informações de 
maneira mais eficaz.
 » DLP: constitui a intersecção entre os dois principais paradigmas utilizados, 
atualmente, para desenvolver computacionalmente sistemas baseados 
em representação do conhecimento, Lógica Descritiva (OWL DL) e 
Programação Lógica (F-Logic), fornecendo uma estrutura extremamente 
flexível.
 » OWL: linguagem computacional recomendada pelo W3C para o 
desenvolvimento de ontologias. Permite descrever formalmente, de 
modo mais eficiente, os aspectos semânticos dos termos utilizados e 
seus respectivos relacionamentos, possibilitando representações mais 
abrangentes das linguagens RDF e RDF Schema e favorecendo uma 
maior interoperabilidade.
 » Rules (regras): permite especificar regras lógicas relacionadas aos 
recursos.
24
UNIDADE II │ ANálIsE DE DADos E WEb
 » Logic Framework (Framework de lógica): definição de regras mais 
abrangentes para o tratamento das informações descritas nos níveis 
inferiores, possibilitando que agentes possam realizar inferências 
automáticas a partir das relações existentes entre os recursos.
 » Proof (prova): possibilita a verificação/validação da coerência lógica 
dos recursos, de modo que a semântica das informações seja descrita de 
maneira coerente, atendendo aos requisitos das camadas inferiores.
 » Trust (confiança): espera-se garantir que as informações estejam 
representadas de modo correto, possibilitando um certo grau de 
confiabilidade.
Até o momento é possível perceber que a Web Semântica encontra-se em constante 
desenvolvimento, de modo que as tecnologias propostas ainda estão em fase de avaliação e 
de verificação de seus resultados. Nesta perspectiva, até mesmo a proposta de arquitetura 
publicada em 2005 recebeu críticas e sugestões. Segundo Ian et al. (2005), algumas 
das linguagens apresentadas nesta arquitetura não são semanticamente compatíveis de 
forma direta, como a descrição lógica de programas (DLP, do inglês, Description Logic 
Programs) e a linguagem de desenvolvimento de ontologias OWL, deste modo, tais 
pesquisadores propõem que estas tecnologias deveriam ser apresentadas paralelamente 
ao invés de sobrepostas, formando duas torres em uma parte da arquitetura, conforme 
figura 7, a seguir. As principais diferenças entre as arquiteturas propostas para Web 
Semântica são apresentadas em Ian et al. (2005).
figura 7. sugestão de alteração na arquitetura proposta para Web semântica (adaptado).
fonte: berners-lee, 2005 e Horrocks et al., 2005.
Portanto, é provável que a arquitetura da Web Semântica sofrerá modificações, para 
comprovar esta tendência basta verificar que as camadas “Logic Framework” e 
25
Análise de dAdos e Web │ UnidAde ii
“Proof”, por exemplo, ainda não possuem sequer tecnologias recomendadas para 
suas implementações. Nesta perspectiva, é importante ressaltar que apesar das 
novas tecnologias incorporadas à última proposta de arquitetura publicada pelo 
W3C e das recentes críticas e sugestões de alterações de tal arquitetura, é possível 
identificar aspectos que não devem ser alterados no projeto da Web Semântica, pois 
mesmo considerando que novas tecnologias estarão em constante desenvolvimento, 
os conceitos básicos que norteiam o desenvolvimento do projeto da Web Semântica 
tendem a permanecer estáveis.
Nesse contexto, destaca-se, atualmente, uma forte tendência no desenvolvimento de 
pesquisas relacionadas à representação de informações, referindo-se a instrumentos 
de modelagem cognitiva de objetos digitais por meio da utilização do termo ontologia, 
conforme será apresentado na seção seguinte.
ontologia na Web Semântica
O uso de ontologia na Web Semântica viabiliza a formalização da expressividade 
do conteúdo, sua relação e contextualização com um conjunto de documentos. 
Ao implementar as tecnologias apresentadas nas camadas inferiores, documentos 
podem ser escritos com sintaxe XML e conteúdos representados de acordo com as 
recomendações RDF e seu RDFS. A partir dessa construção, pode adotar ontologias para 
agregar semântica ao conjunto de dados utilizados na representação de conteúdos, de 
modo a especificar formalmente seu significado. Dessa forma, poderá haver um melhor 
consenso e aproveitamento de conceitos relacionados ao documento e inferências 
semânticas poderão ser feitas pelas aplicações.
Apesar do termo “ontologia” significar uma teoria sobre a natureza do ser ou existência, 
em Inteligência Artificial ela pode ser entendida como o conjunto de entidades com 
suas relações, restrições, axiomas e vocabulário. Para Gruber (1995), uma ontologia é 
capaz de definir um domínio, ou, mais formalmente, especificar uma conceitualização 
acerca dele. Geralmente, uma ontologia organiza seus conceitos e/ou axiomas de modo 
hierárquico. Por fim, podemos considerar as ontologias como a materialização do nível 
de conhecimento.
Entretanto, a utilização do termo ontologia no âmbito da representação do conhecimento 
remete aos estudos apresentados no início da década de 1990 na área de Ciência da 
Computação, mais especificamente na subárea de Inteligência Artificial (IA), em 
projetos voltados para a organização de conhecimento. Nesta perspectiva, Guarino e 
Giaretta (1995) apresentam no artigo intitulado ‘Ontologies and Knowledge Bases’, 
26
UNIDADE II │ ANálIsE DE DADos E WEb
uma compilação de sete possíveis interpretações para o termo ontologia, limitando o 
escopo às definições mais comuns, conforme apresentadas a seguir:
1. Ontologia como uma disciplina da Filosofia;
2. Ontologia como um sistema conceitual informal;
3. Ontologia como uma proposta semântica formal;
4. Ontologia como uma especificação de uma conceitualização;
5. Ontologia como uma representação de um sistema conceitual por meio 
de uma teoria lógica:
 › Caracterizada por propriedades formais; ou
 › Caracterizada apenas para propósitos específicos;
6. Ontologia como um vocabulário usado por uma teoria lógica;
7. Ontologia como um metanível de especificação de uma teoria lógica.
De acordo com tais definições, com exceção da primeira que se refere ao sentido 
filosófico do termo, podemos identificar duas grandes correntes teóricas:
a. Que concebem ontologia como uma entidade conceitual semântica, 
formal ou informal, (definições 2 e 3);
b. Que concebem como um objeto concreto em nível sintático, que tem seu 
desenvolvimento e sua utilização guiados por um propósito específico, 
(definições de 4 a 7).
Nessa perspectiva, a definição 4, que define uma ontologia como uma especificação de 
uma conceitualização, é a mais frequentemente identificada no domínio da representação 
do conhecimento (GRUBER, 1993), que define uma ontologia como: “uma especificação 
explícita de umaconceitualização”, considerando que o nível simbólico deve ser expresso 
formalmente e de maneira clara, e uma “conceitualização” será composta por objetos, 
conceitos e as relações existentes em um determinado domínio.
O termo ontologia pode ser empregado a partir dos requisitos para possibilitar sua 
aplicação em informática. Para Studer et al (1998), uma ontologia pode ser entendida 
como uma especificação explícita e formal de uma conceitualização compartilhada. 
Esclarecendo os requisitos desta definição:
 » Por especificação explícita - pode-se entender como as definições de 
conceitos, instâncias, relações, restrições e axiomas.
27
Análise de dAdos e Web │ UnidAde ii
 » Por formal - linguagem compreensível para agentes e sistemas.
 » Por conceitualização – trata-se de um modelo abstrato de uma área de 
conhecimento ou caso particular.
 » Por compartilhada – refere-se a um conhecimento comum (consensual), 
seja no uso da terminologia da área modelada, ou definida entre membros 
que farão uso.
Desta maneira, é possível entender as ontologias no contexto da Ciência da Computação 
e no âmbito da Web Semântica como recurso que são utilizados com o intuito de criar 
modelos formais para a representação do conhecimento, dentro de um determinado 
domínio restrito, objetivando o registro de informações por meio de linguagens que 
possam ser processadas automaticamente.
tipos e características das ontologias
As ontologias podem apresentar estruturas diferentes, entretanto, sua essência estará 
presente em boa parte delas, a saber, são:
 » Classes de representação dos conceitos e organizadas hierarquicamente.
 » Relações que representam as interações entre os conceitos de um domínio.
 » Axiomas utilizados para modelar sentenças consideradas verdadeiras.
 » Instâncias, representativas dos objetos que pertencem a uma classe.
As ontologias podem ser classificadas em tipos com base em diferentes critérios, por 
exemplo: grau de formalidade, tipo da estrutura, assunto da conceitualização, função 
específica, entre outros. Uschold e Jasper (1996) classificam a ontologia, de acordo 
com o grau de formalidade utilizado para especificar o vocabulário de termos e seus 
significados, em:
 » Ontologia altamente informal, em que o vocabulário é expresso em 
linguagem natural;
 » Ontologia semi-informal, em que o vocabulário é expresso em uma 
linguagem natural de forma restrita e estruturada;
 » Ontologia semiformal, cujo vocabulário é expresso em linguagem artificial 
definida formalmente.
28
UNIDADE II │ ANálIsE DE DADos E WEb
Ontologia rigorosamente formal, em que os termos são definidos com semântica formal, 
teoremas e provas. As ontologias podem ser classificadas quanto ao tipo de estrutura e 
ao assunto da conceitualização, por exemplo:
 » Ontologias terminológicas - especificam termos adotados para representar 
o conhecimento em um domínio;
 » Ontologias de informação - especificam uma estrutura de registros, por 
exemplo, os esquemas de bancos de dados;
 » Ontologias de modelagem do conhecimento - especificam conceitualizações 
do conhecimento;
 » Ontologias de aplicação – apresentam as definições necessárias para 
modelar o conhecimento em um sistema (software);
 » Ontologias de domínio - expressam conceitualizações específicas para 
um domínio;
 » Ontologias genéricas - similares às ontologias de domínio, mas com 
conceitos considerados genéricos e comuns a outras áreas.
Ontologias de representação, as quais explicam as conceitualizações que suportam 
os formalismos de representação do conhecimento. É possível distinguem tipos de 
ontologias, de acordo com sua conceitualização:
 » Ontologias de domínio, que são reutilizáveis em um domínio e 
fornecem um vocabulário sobre conceitos desse domínio, sobre seus 
relacionamentos, sobre as atividades e sobre os princípios que governam 
essas atividades.
 » Ontologias de tarefa, que fornecem um vocabulário sistematizado de 
termos utilizados na solução de problemas, especificando tarefas que 
podem ou não estar no mesmo domínio;
Ontologias genéricas, que incluem um vocabulário relacionado a coisas, eventos, 
tempo, espaço, casualidade, comportamento, funções, entre outros. Haav e Lubi (2001) 
classificam as ontologias, quanto aos tipos de classes presentes, em:
 » Ontologias de alto nível, que descrevem conceitos gerais como espaço, 
objeto, tempo, matéria, evento etc.
 » Ontologias de domínio, que descrevem o vocabulário de um domínio, por 
exemplo, física.
29
Análise de dAdos e Web │ UnidAde ii
Ontologias de tarefa, que descrevem uma tarefa ou atividade. Classificando de acordo 
com sua função no processo de desenvolvimento de sistemas:
 » Ontologia de “autoria neutra”, que enfatiza a reutilização de dados, 
possibilitando que um aplicativo seja escrito em uma única linguagem e, 
depois, convertido para uso em diversos sistemas.
 » Ontologia de especificação, uma ontologia de domínio usada para 
descrever doenças.
 » Ontologia de acesso comum à informação, que torna a informação 
inteligível quando o domínio é expresso em um vocabulário inacessível.
Observa-se que não existe consenso na classificação de tipos de ontologias. As categorias 
propostas pelos autores citados muitas vezes se sobrepõem. Em alguns casos, um 
mesmo nome de categoria é utilizado por mais de um autor, como significados distintos. 
Em outros, nomes diferentes se referem ao mesmo tipo de ontologia.
Uma das principais características dos estudos relacionados ao projeto Web Semântica 
refere-se à preocupação em desenvolver linguagens computacionais que possibilitem 
estruturar os recursos informacionais de maneira adequada e descrever os aspectos 
semânticos inerentes a tais recursos. Nesta perspectiva, logo após a padronização da 
linguagem computacional XML, os engenheiros de softwares descobriram que não era 
suficiente apenas descrever os recursos informacionais sintaticamente para que os sistemas 
colaborassem, verificando que tão importante quanto a sintaxe seria o desenvolvimento 
de tecnologias que permitissem descrever o significado das informações.
Dentro deste contexto, na próxima seção serão apresentadas algumas considerações 
acerca das principais linguagens padronizadas pelo W3C para o desenvolvimento da 
Web Semântica, a saber, são: XML, RDF e OWL.
linguagens de representação de recursos
A recomendação XML foi divulgada em 1998 pelo W3C, baseando-se também no 
padrão SGML, assim como a linguagem HTML. Porém, a XML foi criada não como 
uma linguagem de uso especial, mas sim, como metalinguagem genérica, constituindo 
uma tecnologia básica capaz de possibilitar o desenvolvimento de outras linguagens 
computacionais. Segundo documento do W3C, os objetivos iniciais do XML foram:
1. XML deve ser utilizada de forma direta e objetiva;
2. XML deve suportar diferentes aplicativos;
3. XML deve ser compatível com SGML;
30
UNIDADE II │ ANálIsE DE DADos E WEb
4. Deve ser fácil desenvolver programas que processem documentos XML;
5. Os documentos XML precisam ser legíveis e relativamente claros;
6. O design XML deve ser formal e conciso;
7. Os documentos XML devem ser fáceis de serem criados.
Um dos fatores que complicaram inicialmente a disseminação da XML foi uma concepção 
equivocada de que esta se apresentava como uma linguagem sucessora da HTML, pois 
embora a XML resolva alguns dos problemas da HTML, ela foi desenvolvida com um 
propósito diferente: enquanto a linguagem HTML tem como função principal formatar e 
exibir o conteúdo de um documento, a linguagem XML possui a função específica de apenas 
estruturar as informações, não se preocupando com a maneira como estas serão exibidas.
Para Castro (2001), a especificação XML é simples, mas o que a torna poderosa são 
as tecnologias que ela possibilita utilizar, tais tecnologias também são desenvolvidas 
a partir de padrões apresentados pelo W3C, constituindo o que se denomina como 
padrões companheiros. Existem dois padrões para a construção de esquemas em XML, 
o primeirodestes é denominado Document Type Definition (DTD) e o segundo XML 
Schema Definition (XSD), também conhecido simplesmente como XML Schema.
Deste modo, durante o processo de análise de um documento XML, o processador 
XML, verifica se o documento possui regras e definições associadas a ele, que conduzam 
a sua interpretação de modo correto, e também se o documento está de acordo 
com tais regras. Quando um documento atende a esses requisitos diz-se que é um 
documento XML válido, sendo possível organizá-lo segundo uma estrutura de árvore e 
representá-lo via XML no ambiente Web. A figura 8, a seguir, ilustra tal processo.
figura 8. Processo de análise de um Documento xml adaptado.
fonte: Tesch Jr., 2002.
31
Análise de dAdos e Web │ UnidAde ii
O componente básico de um código XML é denominado “elemento”, que pode ser 
entendido como uma entidade utilizada para representar tanto a estrutura quanto os 
dados contidos em um documento. Um “elemento” em XML possui uma finalidade 
diferente de uma marcação, tag, utilizada em HTML. Para exemplificar tal afirmação 
pode-se analisar a marcação <b> em HTML, a qual indica apenas que um texto deve ser 
apresentado em negrito, em XML, porém, um “elemento” é utilizado para armazenar 
conteúdo representado no documento.
Um “elemento” em XML é delimitado por duas marcações, por exemplo, 
<veiculo>bicicleta</veiculo>, possui duas tags denominadas “marcação inicial” 
e “marcação final”, respectivamente. O dado entre tais marcações é denominado 
“conteúdo”, assim, um “elemento” compreende o conjunto de dados existentes entre as 
marcações inicial e final, inclusive as mesmas, conforme ilustrado na figura 9, a seguir.
figura 9. estrutura de um “elemento simples” em xml.
fonte: o autor.
Na figura 9, também possível encontrar outro termo empregado na nomenclatura 
da linguagem XML, o “atributo”, ele é descrito dentro da marcação inicial de um 
“elemento”. Os “atributos” são fontes de informação adicionais sobre um “elemento” 
e sempre possuem um “valor” que deve ser delimitado por aspas. Ele é utilizado para 
declarar propriedades ou características do elemento.
Os “elementos” declarados em XML podem ser do tipo simples ou complexo, a diferença 
básica entre estes é que os “elementos simples” não contêm outros “elementos”, 
enquanto que os “elementos complexos” contêm. Nessa linha de interpretação, é 
utilizado o termo “subelemento” para descrever a relação entre um “elemento” e os 
“subelementos”. Basicamente, a ideia do elemento complexo é semelhante à ideia de 
array utilizado em linguagens de programação.
Em relação ao RDF, o W3C descrever como uma linguagem de propósito geral para 
representação de informações contidas nos recursos Web. Ele pode ser visto como uma 
32
UNIDADE II │ ANálIsE DE DADos E WEb
tecnologia capaz de fornecer modelagem semântica, mas de modo genérico, podendo 
ser utilizada para criar linguagens específicas do domínio.
O modelo e a especificação da sintaxe RDF foram propostos em fevereiro de 1999 pelo 
W3C, visando uma maior interoperabilidade no ambiente Web por meio de um padrão 
aberto para a descrição de recursos. Deste modo, o padrão RDF é versátil, permite que 
sejam feitas declarações a respeito de praticamente qualquer tipo de objeto, desde que 
este possa ser identificado por um URI.
O RDF permite descrever declarações a respeito de recursos, não exigindo modificações 
, de modo que uma declaração RDF é uma entidade separada do recurso ao qual ela se 
refere, podendo inclusive constituir outro recurso. Nesta perspectiva, pode haver muitas 
declarações RDF distribuídas pela Web referindo-se ao mesmo recurso, descrevendo 
diferentes propriedades, ou mesmo contextualizando-o a partir de domínios diferentes. 
O padrão RDF baseia-se no conceito de tripla “subject, predicate e object” (sujeito, 
predicado e objeto), no qual o “Sujeito” é o recurso de uma sentença está se referindo, 
“Predicado” descreve uma característica, propriedade, ou relacionamento adotado para 
descrever algo sobre este recurso e “Objeto” é o valor de uma determinada característica 
do recurso referenciado, podendo inclusive ser outro recurso.
Assim, em RDF toda sentença é formada por um Sujeito que está relacionado a um 
Predicado que possui um valor indicado a partir de um Objeto, sendo esta sentença 
denominada como Declaração.
Nesta perspectiva, pode-se apresentar graficamente uma declaração RDF a partir de 
um grafo rotulado direcionado, também denominado como “diagramas de nós e arcos”, 
conforme figura 10. Tais grafos representam os recursos como elipses, os valores literais 
das propriedades como retângulos e os predicados utilizando arcos direcionados do 
recurso (sujeito) para o valor (objeto).
figura 10. Grafo de uma declaração RDf.
http://facebook.com/brunom4ciel 
Possui_pessoa
Bruno Maciel 
Sujeito
(recurso) 
Predicado
(propriedade)
Objeto
(valor)
fonte: o autor.
Nesse contexto, a figura 10 apresenta o sujeito referenciado a partir do URI “http://
facebook.com/brunom4ciel” correspondente a um recurso Web, o predicado “Possui_
pessoa” indicando uma propriedade deste mesmo recurso e o objeto “Bruno Maciel” 
que consiste em uma sentença literal que representa o valor específico da propriedade.
33
Análise de dAdos e Web │ UnidAde ii
Em RDF os recursos e os predicados devem ser identificados utilizando-se 
URIs, possibilitando uma maneira global e única de nomear itens. Deste modo, 
considerando-se o exemplo anterior, o predicado “Possui_pessoa” também deve ser 
descrito de maneira formal em algum local que possa ser referenciado por um URI, 
assim como o sujeito, para que os computadores possam analisá-lo e “compreender” o 
seu significado. Quanto aos objetos que representam os valores dos predicados, estes 
podem constituir apenas sentenças literais, como o objeto “Bruno Maciel” apresentado 
na figura 10, porém quando estes referenciam outro recurso também devem ser 
identificados a partir de um URI.
Assim, pode-se verificar que em uma declaração RDF tanto o sujeito quanto o valor das 
propriedades do sujeito podem ser considerados como objetos, ligados por um certo tipo 
de relacionamento. Deste modo, outra maneira que pode ser utilizada para descrever 
uma declaração RDF, considerando-se a tripla Sujeito “s”, Predicado “P” e Objeto “o”, 
é utilizando-se um enunciado Lógico no qual o predicado binário “P” relaciona o objeto 
“s” ao objeto “o”, originando a sentença lógica “P(s,o)”. Nesta perspectiva, é possível 
estender o exemplo anterior representando o objeto “Graciliano Ramos”, a partir do 
URI do site oficial deste autor, possibilitando inclusive considerá-lo como sujeito de 
uma outra declaração RDF, relacionando-o com outros predicados e valores, originando 
uma declaração RDF composta, conforme apresentado na figura 10. Assim, verifica-se 
que o padrão RDF permite o desenvolvimento de declarações recursivas, declarações 
sobre declarações.
figura 11. Grafo de uma declaração RDf composta.
http://facebook.com/brunom4ciel 
http://brunomaciel.com 
contato@brunomaciel.com 
Possui_pessoa
Email_contato
fonte: o autor.
Nesse contexto, verifica-se que os grafos apresentam-se como excelentes instrumentos 
para transmitir informações entre seres humanos, porém no âmbito da Web 
Semântica torna-se necessário representar as informações em um formato que possa 
ser processado por máquinas. Deste modo, é possível representar as declarações 
RDF por meio da linguagem XML. Uma declaração RDF pode ser representada 
em linguagem XML a partir de um elemento com a etiqueta rdf:RDF , no qual o 
conteúdo desse elemento é identificado utilizando-se a etiqueta rdf:Description . 
34
UNIDADE II │ ANálIsE DE DADos E WEb
Nesta perspectiva cada descrição refere-se a um recurso, que pode ser identificado 
utilizando-se atributos dos seguintes tipos: 
 » about - Faz a referência a um recurso existente. 
 » ID – Cria um novo recurso. 
 » “Sem nome” – Cria um atributo anônimo.
 Deste modo, é possível descrever o exemplo apresentadona figura 11, página anterior, 
utilizando-se a sintaxe XML, da seguinte forma:
figura 12. Representação de uma declaração RDf utilizando a sintaxe xml.
fonte: o autor.
Assim, verifica-se que o padrão RDF fornece mecanismos que possibilitam descrever 
recursos e seus relacionamentos de modo independente de qualquer implementação e 
sintaxe, a partir de uma semântica simplificada que pode ser representada utilizando-se 
a linguagem XML, porém o RDF possibilita apenas a descrição de recursos individuais, 
ou coleções de recursos individuais, limitando-se ao nível de instância.
Nesta perspectiva, com o intuito de complementar o padrão RDF e fornecer a este um 
maior nível de abstração, possibilitando a definição de conceitos primitivos e tipos 
de objetos, foi desenvolvido o RDF-Schema (RDFS), uma linguagem de descrição 
de vocabulários que objetiva descrever propriedades e classes para os recursos 
RDF.
O RDFS possibilita que as comunidades possam desenvolver vocabulários particulares, 
de maneira independente, de acordo com seus domínios de aplicação. De modo que o 
RDFS não fornece classes e propriedades propriamente ditas, mas sim uma estrutura a 
partir da qual é possível descrevê-las.
Assim, o RDFS possibilita definir uma terminologia para representar conceitos como 
recurso, classe (tipos de recursos), subclasse e propriedade (atributos de classes), que 
podem ser utilizados para expressar taxonomias de conceitos e suas relações.
35
Análise de dAdos e Web │ UnidAde ii
Dentro deste contexto, com o intuito de exemplificar a utilização do RDFS, a figura 13, 
apresenta um trecho de código baseado no padrão RDFS, o qual indica que “professor” 
e “aluno” são SubClasses da classe “pessoa”.
figura 13. Trecho de código baseado em RDfs.
fonte: o autor.
Deste modo, verifica-se que o padrão RDFS permite a modelagem de ontologias 
simples, porém deve-se ressaltar que o RDFS não foi concebido com o propósito de 
ser uma linguagem para construção de ontologias e, desta forma, apresenta limitações, 
pois os conectivos lógicos de negação, disjunção e conjunção não existem em RDFS, 
limitando a sua expressividade, assim para atingir melhores níveis de expressividade é 
necessária a utilização de linguagens criadas especificamente para o desenvolvimento 
de ontologias. Assim, a linguagem mais utilizada atualmente e recomendada para o 
desenvolvimento de ontologias é denominada OWL.
A OWL é uma linguagem computacional utilizada para o desenvolvimento de ontologias, 
a qual se originou a partir da junção das especificações das linguagens DAML e OIL, sendo 
denominada inicialmente como DAML+OIL. Assim, desde fevereiro de 2004 a OWL é 
recomenda pelo W3C como linguagem padrão para o desenvolvimento de ontologias.
Segundo recomendação do W3C, a OWL é indicada para ser utilizada em situações 
em que as informações contidas em documentos necessitem ser processadas de forma 
automatizada, e não apenas apresentadas para seres humanos, pois a OWL permite 
descrever formalmente o significado dos termos utilizados em um documento e seus 
respectivos relacionamentos, possibilitando representações mais abrangentes que as 
linguagens RDF e RDF Schema, favorecendo uma maior interoperabilidade.
Nesse contexto, pode-se considerar OWL como um padrão que na realidade abarca três 
tipos de linguagens com diferentes níveis de expressividade, conforme apresentado a seguir:
 » OWL Lite – permitir uma fácil implementação, fornece um subconjunto 
funcional baseado em classificações hierárquicas e restrições simples, 
36
UNIDADE II │ ANálIsE DE DADos E WEb
possibilitando inclusive a migração de sistemas baseados em tesauros e 
taxonomias para o formato de ontologias.
 » OWL DL – suportar implementações baseadas em Lógica Descritiva, 
fornecendo um subconjunto que possua propriedades desejáveis em 
sistemas que necessitem ontologias com um maior nível de detalhamento 
e restrições.
 » OWL Full – possibilitar o máximo de expressividade enquanto mantém 
completude computacional, de modo que, diferentemente da OWL 
DL, pode violar restrições da Lógica Descritiva com o objetivo de ser 
compatível com o maior número possível de bancos de dados e sistemas 
de representação do conhecimento.
Cabe ressaltar que a OWL Lite possibilita apenas a definição de cardinalidades binárias, 
contendo os valores “0” ou “1”. Outro esclarecimento importante é que utilizando a 
OWL DL é possível considerar as mesmas construções que a OWL Full oferece, porém 
a OWL DL não permite que uma classe possa ser considerada um indivíduo ou uma 
propriedade e também não permite que uma propriedade possa ser considerada como 
um indivíduo ou uma classe. Já a OWL Full permite essas construções, pois considera 
uma classe como um conjunto de indivíduos, assim como um próprio indivíduo, de 
forma simultânea.
Nesta perspectiva, pode-se dividir a estrutura de um documento OWL nos seguintes 
elementos básicos:
 » namespaces;
 » cabeçalhos;
 » classes;
 » indivíduos;
 » propriedades;
 » restrições.
Os namespaces são definidos a partir de declarações XML, permitindo identificar sem 
ambiguidades a localização dos vocabulários correspondentes ao conjunto de conceitos 
utilizados na ontologia. Os namespaces são declarados entre etiquetas do tipo rdf:RDF, 
conforme apresentado na figura 14.
37
Análise de dAdos e Web │ UnidAde ii
figura 14. Trecho de código OWl indicando os Namespaces utilizados.
1 <rdf:RDF
2 xmlns =”http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#”
3 xmlns:vin =”http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#”
4 xml:base =”http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#”
5 xmlns:food =”http://www.w3.org/TR/2004/REC-owl-guide-20040210/food#”
6 xmlns:owl =”http://www.w3.org/2002/07/owl#”
7 xmlns:rdf =”http://www.w3.org/1999/02/22-rdf-syntax-ns#”
8 xmlns:rdfs =”http://www.w3.org/2000/01/rdf-schema#”
9 xmlns:xsd =”http://www.w3.org/2001/XMLSchema#”>
fonte: smith et al., 2004.
Neste exemplo, a linha 1 contém apenas a etiqueta rdf:RDF, indicando que as próximas 
declarações apontam os namespace da ontologia. A linha 2 indica o namespace padrão 
da ontologia, de modo que qualquer termo utilizado dentro desta ontologia que não 
contenha nenhum prefixo se refere à própria ontologia; na linha 3 é apresentado um 
nome, “vin” para a ontologia. A linha 4 identifica a URI base para esta ontologia e a 
linha 5 referencia uma outra ontologia, a de comida (food), da qual alguns conceitos 
foram incorporados. As demais linhas: 6, 7, 8 e 9 indicam a localização dos vocabulários 
suportados pelas linguagens: OWL, RDF,RDFS e XSD, respectivamente, pois é 
necessário indicar não apenas o vocabulário convencional OWL, como também, das 
primitivas definidas nas camadas inferiores, tipos de dados nativos de RDF, RDFS e do 
XML Schema.
Após a definição dos namespaces é comum incluir uma coleção de sentenças comumente 
denominadas como cabeçalhos, utilizadas para registrar comentários, controlar a 
versão da ontologia e a inclusão de conceitos e propriedades de outras ontologias. 
Tais informações são agrupadas sob a etiqueta owl:Ontology.
38
CAPítulo 2
técnicas de extração de dados
Diariamente são processados e armazenados grandes volumes de dados provenientes 
de interações entre seres humanos e/ou máquinas. Os avanços tecnológicos facilitam 
cada vez mais o armazenamento e recuperação dos dados. Como exemplo de interação, 
é possível citar uma compra realizada em um estabelecimento comercial próximo a 
sua casa ou até uma postagem em redes sociais - uma rede social pode ser entendida 
como um conjunto de atores que pode possuir relacionamentos uns com os outros 
(WASSERMAN; FAUSE; 1994).
Nessa perspectiva, existe a necessidade de analisar o volume de dados para que seja 
possível explorá-los e extrair informação. Governos, instituições privadas e indivíduos 
de uma forma geral estão tomando cada vez interesse pelo tema. O processo decisório 
das instituições baseia-se cada vez mais em análise de dados proveniente da exploraçãode fontes de dados por seres humanos ou máquinas.
Existe disponível uma variedade de técnicas e soluções para análise de dados 
estruturados, por exemplo, a chamada Data Mining (mineração de dados) para 
descoberta de conhecimento a partir de dados numéricos. Porém, segundo Tan (1999), 
estima-se que aproximadamente mais da metade da informação que uma organização 
dispõe está armazenada de forma não estruturada, ou seja, em formato de texto, fato 
que dificulta o processamento dos dados para obter informação.
Como solução ao problema da análise de texto livre, surgiu a técnica derivada do Data 
Mining, chamada Text Mining, que procura extrair de conteúdos e textos, informações 
úteis sem precisar de leitura prévia. Por meio do Text Mining, é possível extrair informação 
desconhecida de grandes coleções de textos sem que haja necessidade da leitura humana. 
Com uso de técnicas para reconhecimento de padrões, podem ser descobertos padrões e 
relações entre os textos que seriam muito difíceis, ou quase impossíveis, encontrar lendo 
o conteúdo manualmente por um ser humano (TAN, 1999).
A popularidade do uso da Internet impulsionou a técnica de Text Mining, sendo possível 
extrair informação valiosa dela para companhias e até mesmo para o governo. É possível 
extrair das páginas de redes sociais os dados das pessoas, bem como suas postagens 
e suas ações no ambiente virtual, e gerar informação a partir disso. Assim, pode-se, 
por exemplo, conhecer melhor as pessoas e oferecer produtos e serviços específicos de 
acordo com seu perfil de consumo e hábitos. Empresa que oferece para seus clientes 
aquilo que eles gostam e querem, possuem mais chance de sucesso em seus negócios.
39
Análise de dAdos e Web │ UnidAde ii
Nesse sentido, o objetivo desse capítulo é apresentar a abordagem de Text Mining e 
Data Mining com as fases que compõem o processo, desde a extração até a análise dos 
dados. Além desse objetivo geral, como objetivo específico, é feita aplicação de técnicas 
e algoritmos, apresentando exemplos práticos.
descoberta de Conhecimento em texto
A Knowledge Discovery in Text (KDT - Descoberta de Conhecimento em Texto) e 
Text Mining são os nomes usados para descrever o conjunto de técnicas para extrair 
informação potencialmente relevante com base em textuais não estruturadas. É um 
esforço em conjunto para combinar técnicas e conhecimentos multidisciplinares de 
área como computação, Estatística, Linguística, Matemática e outras.
A KDT é derivada da Knowledge Discovery in Databases (KDD – Descoberta de 
Conhecimento em Bancos de Dados), também conhecido como Data Mining, porém 
no KDD a fonte usada para a exploração é estruturada. As técnicas utilizadas na KDT 
objetivam estruturar os dados com origem em fontes de dados textuais, para que depois 
seja possível a mineração.
As etapas do processo de KDT podem ser resumidas em quatro, a saber:
1. Recuperação da Informação - são encontrados os textos que possuem 
informação relevante de acordo com o critério de busca.
2. Extração da Informação - extrair informação dos documentos selecionados. 
Nesta fase o usuário indica itens relevantes para a construção do leiaute 
– dados estruturados que podem ser usados em métodos de KDD 
tradicionais.
3. Mineração – após a definição do conteúdo, ou seja, feita a conversão dos 
textos em dados estruturados, pode-se aplicar técnicas de Data Mining. 
Nesta fase procura-se padrões e relacionamentos nos dados.
4. Interpretação - interpretar os padrões descobertos na fase anterior. 
É feita a análise do conteúdo e gerada as saídas, no formato de língua 
natural, do processo de mineração.
A segunda etapa é essencial para o sucesso das demais, ela é responsável por organizar 
todo o conteúdo dos dados. Os dados precisam estar disponíveis de modo estruturado 
para realização da descoberta de conhecimento. É preciso modelar cuidadosamente 
a estrutura construída que será preenchida com os dados extraídos, levado em 
consideração futuras automatizações nos processos de extração e carga.
40
UNIDADE II │ ANálIsE DE DADos E WEb
text Mining e data Mining
O Data Mining é conhecido como o processo de exploração de grandes volumes de 
dados com o intuito de descobrir padrões para formulação de um conhecimento até 
então não exposto de maneira explícita.
O Text Mining, inspirado no Data Mining, refere-se ao processo de Descoberta de 
Conhecimento com base em fontes de dados de textos, consiste na obtenção de 
informação a partir de texto em linguagem natural ou passível de interpretação, o Text 
Mining extrai informação de dados estruturados ou semiestruturados, enquanto o Data 
Mining extrai informação de dados estruturados.
Os tipos de técnicas de Text Mining comumente encontrados na literatura são:
 » Sumarização - consiste em extrair do texto um número pequeno 
de frases que possam resumir o assunto do documento original. São 
selecionadas as palavras e frases mais importantes do texto, ou conjunto 
de textos, a fim de não ser necessária a leitura prévia, e mesmo assim, 
obter a essência da mensagem. Para facilitar a definição das regras de 
extração para sumarizar os documentos, é importante que os textos sejam 
semelhantes entre si. Por exemplo, se um conjunto de textos trata sobre 
um assunto específico, é mais fácil estipular os critérios de extração.
 » Classificação/categorização – a classificação serve para identificar 
qual família de características um documento pertence, de acordo 
com os atributos definidos previamente para cada classe. Enquanto 
a Categorização indica quais assuntos e temas estão contidos em 
um documento. As principais técnicas de classificação são Regras de 
Inferência, Redes Neurais Artificiais, Método de Similaridade de Vetores 
ou Centroides, Árvores de Decisão e Classificadores de Naive Bayes.
 » Clustering (agrupamento) - esta técnica basicamente agrupa textos 
em classes de acordo com as características de cada documento, sem 
necessidade de alguma definição pelo usuário. O Clustering identifica 
correlacionamentos e associações entre objetos para facilitar a 
identificação das classes. Assim, esta técnica é muito útil para criar 
conjuntos de texto pelo assunto, sem precisar ter conhecimento prévio 
dos textos. A figura 15 apresenta um exemplo para ilustrar a técnica de 
agrupamento de dados, no qual os símbolos lua e coração, no primeiro 
quadro, chamado de original encontram-se misturados. No segundo 
quadro, chamado de agrupados, após aplicação da técnica, os símbolos 
41
Análise de dAdos e Web │ UnidAde ii
foram separados em dois grupos, lua – contendo todos os símbolos lua e 
coração com os corações agrupados.
figura 15. clusters - agrupamento de dados.
fonte: o autor.
Principais técnicas de Pré-processamento 
de textos
A preparação dos dados é a primeira tarefa do processo de Text Mining, e, envolve 
a seleção dos dados que constituem a base de textos de interesse e o trabalho inicial 
para tentar selecionar o modelo que melhor expressa o conteúdo destes textos. 
O esperado dessa etapa é a identificação das similaridades em função da morfologia ou 
do significado dos termos nos textos, bem como prover uma redução dimensional do 
texto analisado.
Algumas das principais técnicas de pré-processamento de textos, sendo elas: Filtering, 
Tokenization, Stemming, Stopword removal, Pruning, Thesaurus serão melhor explicar 
a seguir.
1. Filtering - a primeira etapa para o processamento é a remoção dos 
caracteres de pontuação, esse caracteres de maneira geral não alteram o 
significado do documento, todavia sua remoção pode alterar o significado 
das frases, em geral o mais comum é o significa do documento fica 
inalterado, o viés do documento é definido pelas palavras mais relevantes 
no texto e os caracteres de pontuação tem baixo valor semântico em 
relação ao geral.
2. Tokenization - depois de removida a pontuação do documento, o 
processamento de linguagem natural é usado para identificar as palavras 
e identificar o significado das frases.A estrutura das frases tem significado 
42
UNIDADE II │ ANálIsE DE DADos E WEb
que pode ser expresso em termos das relações com suas palavras. Durante 
o processo as palavras usadas no corpo do texto são classificadas para 
posterior uso.
3. Stemming – com as palavras separadas e classificadas, agora é preciso 
reduzi-las para sua forma mais básica, ou seja, seus radicais. O objetivo é 
remover/reduzir os estilos de escrita entre documentos e deixar o significado 
dos documentos de modo consistente deixando-os comparáveis.
4. Stopword Removal – é comum que os textos possuam muitos 
caracteres, porém o tempo de análise de vários documentos de textos 
pode crescer rapidamente, como solução para esta situação foi pensando 
numa maneira de amenizar o tempo de processamento encurtando o 
volume de dados. Portanto, é necessário diminuir do total de dados que 
serão processados removendo os dados que possuem menor valor para o 
contexto. Funciona da seguinte maneira, as palavras que frequentemente 
utilizadas no texto e que não trazem significado direto a uma frase são 
removidas, tanto para diminuir o corpo do texto como para limitar o 
conjunto as que são mais importantes em termos de significado ao corpo 
de texto, desta forma as palavras mais frequentes são consideradas como 
de pouco valor e na etapa de Stopword Removal são removidas, tudo 
aquilo que não é substantivo, adjetivo ou verbo é removido.
5. Pruning - mesmo depois da tarefa de ‘Stopword removal’, ainda existem 
palavras que não agregam valor ao texto, por terem muito ou pouca 
frequência. Palavras muito frequentes também serão frequentes em 
outros textos, de modo que não acrescentam valor às análises, no mesmo 
raciocínio as palavras que aparecem pouco possuem baixo percentual de 
reaparecer em outros textos, portanto na etapa de pruning as palavras 
que aparecem com muita e pouca frequência são removidas do texto.
6. Thesaurus - palavras diferentes podem ter o mesmo significado, são 
normalizadas, nessa etapa um dicionários de thesaurus, que relacionam 
palavras com o mesmo significado, são usados para normalizar o texto 
em um modelo padronizado.
Aplicações de text Mining
Para extrair dados na Web, alguns passos precisam ser levados em conta, começando 
em definir as sementes, ou seja, um conjunto de URLs como ponto de partida para 
alcançar a navegação nas páginas Web. A navegação entre páginas da Web acontece por 
43
Análise de dAdos e Web │ UnidAde ii
meio da exploração de hiperlinks encontrados em hipertextos, avançando (acessando) 
em profundidade (link a link) na Web para alcançar novos conteúdos.
Nas práticas tradicionais adotadas em Data Mining, os dados de entrada que serão 
minerados precisam estar em formato estruturado. Todavia, frequentemente os 
dados presentes na Web estão disponíveis em formato conhecido como “texto livre”, 
notações HTML dentre outros, e geralmente estão escritos em linguagem natural e não 
estruturados, ou seja, dados com pouca ou nenhuma semântica em relação ao conteúdo. 
Esta situação impossibilita a aplicação direta de Data Mining.
As técnicas de Extração de Informação localizam dados específicos dentro de um 
documento textual não estruturado, para depois estruturá-los em formatos processáveis 
por máquinas, por exemplo, banco de dados relacional, arquivos contendo notação 
simples de armazenamento (CSV, do ingês, Comma-Separated Values) (RFC4180, 
2005), XML, RDF e etc.
Duas técnicas de Text Mining serão apresentadas a seguir:
1. Web Crawler - pode ser entendido com um agente de software que 
navega de forma autônoma, sistematicamente em conteúdos provenientes 
da Web. O Crawler inicia-se com uma listagem de URLs também chamada 
de sementes. À medida que o Crawler evolui (acessa novos endereços) 
são filtrados todos os hiperlinks contidos nas páginas Web, e acrescenta-
os à lista de URLs, e esta por sua vez, será visitada recursivamente.
2. Web Spider –é responsável por visitar as URLs nas páginas web e criar 
uma lista de URLs, sendo este processo feito em simultâneo até visitar 
todos os URLs, de forma a criar uma teia.
3. Web Scraping – técnica de extração de informação de páginas Web 
que utiliza um Web Crawler para transformar dados não estruturados na 
web em dados estruturados. A extração de dados Web poderá ser feita 
adotando algumas das seguintes ferramentas: Link Web Extractor, Web-
Harvest e Jsoup.
44
CAPítulo 3
APis e redes Sociais
Atualmente, é possível perceber a integração de comunidades físicas e comunidades 
virtuais. As pessoas utilizam cada vez mais a Internet para se comunicar e encontrar 
novos amigos ou relacionamentos afetivos por meio de sites que promovem a formação 
de grupos sociais. Um exemplo é o Facebook, que possui mais de 1,9 bilhão de usuários 
e está disponível em vários idiomas.
Em paralelo às redes sociais, os avanços tecnológicos dos smartphones (dispositivos 
móveis) levaram ao aumento de sua capacidade de hardware, para processar, 
armazenar, dentre outros recursos, potencializaram esse mesmo movimento para o 
ambiente móvel. Acompanhando a alta da capacidade tecnológica dos dispositivos 
móveis, várias aplicações móveis exploram tal fatia de mercado, estimulando o 
crescimento dessa tendência, disponibilizando soluções capazes de interagir com 
diversas redes sociais, produzindo um efeito em cadeia. Tais aplicações contribuem 
para auxiliar as pessoas comunicarem-se em qualquer lugar e a qualquer momento. 
Outro ponto importante dessas aplicações está na capacidade de melhorar as 
recomendações em tempo real sobre produtos, lugares, eventos ou algo personalizado 
em função da localização. Como exemplo de conteúdo personalizado, pode ser uma 
oferta de loja próxima ao local em que o usuário está e que não seria veiculada se o 
usuário estivesse em outro local.
As informações do usuário na rede social podem dizer muito sobre o ambiente em que 
ele se encontra e são definidas como o seu contexto social. Além disso, as informações 
extraídas dos sensores de seu dispositivo móvel, como a localização pode ajudar os 
desenvolvedores a propor soluções mais eficazes aos usuários, entregando maior valor 
agregado ao utilizador com base nos dados extraídos. É comum as aplicações modernas 
fornecerem API (Application Programming Interface – Interface de Aplicação 
Programável), não sendo diferente com as redes sociais, as APIs fornecem padrões 
diferentes para acessos aos dados.
Conceitos fundamentais
No contexto da Web, redes sociais podem ser entendidas como locais nos quais 
pessoas conectam-se umas as outras, por meio de laços sociais baseados em afinidades, 
interesses em comum ou relacionamento existente no mundo real. É comum os 
indivíduos descrevem seus interesses, sendo acessíveis no perfil do usuário que podem 
45
Análise de dAdos e Web │ UnidAde ii
ter as informações disponibilizadas de modo público, ou com restrições definidas pelo 
usuário, dependendo do grau de privacidade escolhido.
As redes sociais são essencialmente focadas em interações de indivíduos e possuem 
um enorme potencial de agir como plataformas para o compartilhamento de dados 
pelos usuários, possibilitando assim a criação de classificações sociais de usuários e de 
seus contatos na rede social. São exemplos bem sucedidos de redes sociais: Facebook, 
Twitter, WhatsApp e Google Plus.
As siglas APIs, SDKs (Software development kit - kit de desenvolvimento de software) 
e REST (Representational State Transfer - Transferência de Estado Representacional) 
são comuns no cenário atual de uso das redes sociais, principalmente para os 
desenvolvimentos de software. Será dada uma breve explicação sobre cada uma delas.
Começando por API, entende-se com um conjunto de rotinas e padrões de 
programação para acesso a um aplicativo de software ou plataforma. As APIs são 
criadas quando uma empresa de software tem intenção que outros criadores de 
software desenvolvam produtos associados. Existem vários deles que disponibilizam 
seus códigos e instruções

Outros materiais