• Nenhum resultado encontrado

UMA METODOLOGIA DE MINERAÇÃO DE OPINIÕES NA WEB

N/A
N/A
Protected

Academic year: 2021

Share "UMA METODOLOGIA DE MINERAÇÃO DE OPINIÕES NA WEB"

Copied!
117
0
0

Texto

(1)

COPPE/UFRJ

COPPE/UFRJ

UMA METODOLOGIA DE MINERAÇÃO DE OPINIÕES NA

WEB

Teresinha Moreira de Magalhães

Tese de Doutorado apresentada ao Programa de Pós-Graduação em Engenharia Civil, COPPE, da Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à obtenção do título de Doutora em Engenharia Civil.

Orientador: Prof. Dr. Nelson Francisco Favila Ebecken

Rio de Janeiro Agosto 2009

(2)

Livros Grátis

http://www.livrosgratis.com.br

Milhares de livros grátis para download.

(3)

UMA METODOLOGIA DE MINERAÇÃO DE OPINIÕES NA

WEB

Teresinha Moreira de Magalhães

TESE SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO LUIZ COIMBRA DE PÓS-GRADUAÇÃO E PESQUISA DE ENGENHARIA (COPPE) DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE DOUTORA EM CIÊNCIAS EM ENGENHARIA CIVIL.

Examinada por:

____________________________________________________ Prof. Nelson Francisco Favilla Ebecken, D.Sc.

____________________________________________________ Prof. Basílio de Bragança Pereira, PhD.

____________________________________________________ Profª. Beatriz de Souza Leite Pires de Lima, D.Sc

____________________________________________________ Prof. Carlos Cristiano Hasenclever Borges. D.Sc

____________________________________________________ Prof. José Luis Drummond Alves, D.Sc

RIO DE JANEIRO, RJ - BRASIL

(4)

Magalhães, Teresinha Moreira

Uma metodologia de mineração de opiniões na Web/ Teresinha Moreira de Magalhães. - Rio de Janeiro: UFRJ/ COPPE, 2009.

XI, 102 p.: il.; 29,7 cm.

Orientador: Nelson Francisco Favilla Ebecken

Tese (doutorado) – UFRJ/ COPPE/ Programa de Engenharia Civil, 2009.

Referencias Bibliográficas: p. 76-79.

1. Mineração na Web. 2. Opiniões na Web. 3. Recuperação da Informação. 4. Extração da Informação I. Magalhães, Teresinha Moreira. II. Universidade Federal do Rio de Janeiro, COPPE, Programa de Engenharia Civil. III. Título.

(5)

Dedico este trabalho a Deus e à minha família, minhas grandes fontes de inspiração.

(6)

AGRADECIMENTOS

Ao meu orientador Prof. Dr. Nelson Francisco Favilla Ebecken, pelo apoio, competência e ajuda, em todos os momentos necessários.

Aos professores que aceitaram o convite para fazer parte da minha banca de defesa.

Quero expressar aqui o meu profundo agradecimento a Deus, por todo amor, esperança e sentido que trouxe à minha vida. Que, por inúmeras vezes, nos momentos mais turbulentos da minha existência, trouxe paz e alegria ao meu coração.

Aos secretários do programa de Engenharia Civil, Jairo e Egna, pela disposição e boa vontade para me ajudar.

A todos os amigos e familiares que me apoiaram e torceram por mim.

Aos meus amigos e colegas, que sempre me ajudaram, torceram por mim e acreditaram na minha persistência.

A todos os funcionários e professores com os quais tive oportunidade de adquirir e compartilhar conhecimentos para desenvolver este trabalho.

(7)

Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários para a obtenção do grau de Doutor em Ciências (D.Sc.)

UMA METODOLOGIA DE MINERAÇÃO DE OPINIÕES NA WEB

Teresinha Moreira de Magalhães

Agosto de 2009

Orientador: Prof. Nelson Francisco Favilla Ebecken, D.Sc.

Programa: Engenharia Civil

Mineração de opiniões na web é uma técnica que visa identificar o sentimento dos usuários sobre alguma entidade ou objeto, com base nos conteúdos divulgados na Internet. Desse modo, a proposta da presente tese é apresentar uma metodologia capaz de recuperar esses sentimentos bem como extrair características que permitam analisar os objetos de acordo com as opiniões manifestadas. Um aplicativo analisador, capaz de ler um documento de opinião e marcar as palavras qualificadoras com base em uma lista de starwords, foi implementado. Para validação dos resultados, alguns estudos de caso para processamento e contagem das starwords, foram utilizados. Desse modo, com base nos histogramas dos objetos em análise, o trabalho procurou identificar e comparar características de objetos. Finalmente, conclusões e sugestões de trabalhos futuros são apresentados.

(8)

Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the requirements for the degree of Doctor of Science (D.Sc.)

A METHODOLOGY OF WEB OPINION MINING

Teresinha Moreira de Magalhães

Agosto/2009

Advisor: Nelson Francisco Favilla Ebecken

Department: Civil Engineering

Web Opinion Mining is a technique that aims to identify users’ opinions regarding any particular topic or object, based on content available on the Internet. Thus, the objective of this present thesis is to present methodology which is capable of retrieving these expressed feelings as well as extracting characteristics which make an analysis of the objects, according to the manifested opinions, possible. A parser, capable of reading and analysing the opinions and marking qualifying words (keywords), based on a list of starwords, was implemented. In order to validate the results, some case studies were used for the processing and counting of starwords. In this way, based on histograms of the objects under analysis, the study sought to identify and compare the characteristics of the objects. Finally conclusions and suggestions for future research are also presented.

(9)

SUMÁRIO 1 INTRODUÇÃO ... 1 1.1 CONTEXTUALIZAÇÃO ... 1 1.2 MOTIVAÇÃO... 2 1.3 CONTRIBUIÇÃO ... 4 1.4 DESCRIÇÃO DO TRABALHO ... 4

2 MINERAÇÃO DE DADOS NA WEB ... 5

2.1 SERVIDOR WEB ... 7

2.2 SERVIDOR PROXY... 9

2.3 CLIENTE WEB ... 10

2.4 TAXONOMIA DE MINERAÇÃO NA WEB ... 14

2.5 MINERAÇÃO DE ESTRUTURAS NA WEB... 14

2.5.1 Busca por páginas com autoridade ... 15

2.5.2 Connectivity Server ... 17

2.6 MINERAÇÃO DE USO NA WEB ... 20

2.6.1 Pré-processamento... 21

2.6.2 Descoberta de Padrões... 21

2.6.3 Análise de padrões... 23

2.7 MINERAÇÃO DE CONTEÚDO NA WEB... 23

3 MINERAÇÃO DE OPINIÕES NA WEB... 25

3.1 CONCEITOS BÁSICOS... 25

3.2 RECUPERAÇÃO DA INFORMAÇÃO ... 26

3.2.1 Google ... 28

3.2.1.1 Tecnologias do Motor de Busca Google ... 28

3.2.2 Web Crawlers ... 29

3.3 EXTRAÇÃO DA INFORMAÇÃO... 32

3.3.1 Identificação e extração de opinião com base em características... 34

3.3.2 Extração de característica do Objeto ... 36

3.3.2.1 Extração de características prós e contras do formato 1... 39

(10)

3.3.3 Extração com NLProcessor ... 43

3.4 COMPARAÇÃO DE SENTENÇAS ... 45

4 METODOLOGIA PROPOSTA... 47

4.1 METODOLOGIA DE RECUPERAÇÃO DA INFORMAÇÃO ... 49

4.2 METODOLOGIA DE EXTRAÇÃO DA INFORMAÇÃO... 51

4.3 METODOLOGIA DE COMPARAÇÃO ... 57

4.4 APLICAÇÃO DA METODOLOGIA ... 57

4.4.1 Aplicações em revisão de opiniões em web sites ... 57

4.4.2 Aplicações em suporte tecnológico ... 58

4.4.3 Aplicações em inteligência empresarial e governamental... 59

4.5 VANTAGENS DA METODOLOGIA ... 60

4.6 DESVANTAGENS DA METODOLOGIA... 61

4.7 GERAÇÃO DAS STARWORDS ... 61

5 ESTUDO DE CASO ... 62

5.1 SOFTWARES LIVRES ... 62

5.2 APARELHOS CELULARES ... 63

5.3 COLETA DE INFORMAÇÕES ... 64

5.4 PROCESSAMENTO... 65

6 CONCLUSÃO E TRABALHOS FUTUROS... 71

6.1 CONCLUSÃO... 71 6.2 TRABALHOS FUTUROS ... 74 REFERÊNCIAS BIBLIOGRÁFICAS ... 76 ANEXOS ... 80 ANEXO 1 ... 80 ANEXO 2 ... 96 ANEXO 3 ... 100 ANEXO 4 ... 101

(11)

LISTA DE FIGURAS

Figura 1: Fonte dos Dados... 7

Figura 2: Dados retornados para cliente após consulta ao Servidor Web. ... 10

Figura 3: Dados retornados para cliente após execução do script dinâmico. ... 11

Figura 4: Registros de navegação dos visitantes. ... 12

Figura 5: Registros de páginas mais requisitadas por grupos de usuários... 13

Figura 6: Coleções no nível de Cliente - Notícias Globo em www.fsd.edu.br ... 13

Figura 7: Subdomínios da Mineração na Web, ZAIANE (2000)... 14

Figura 8: Análise de citações(C), ZAIANE (2000)... 15

Figura 9: Etapas do algoritmo HITS, ZAIANE (2000). ... 16

Figura 10: Vizinhança utilizado pelo Connectivity Server (ZAIANE, 2000)... 17

Figura 11: Origem das fontes de tráfego. ... 18

Figura 12: Relação PageRank (ZAIANE, 2000). ... 19

Figura 13: Cálculo do PageRank (ZAIANE, 2000) ... 19

Figura 14: Processo de Mineração de Uso da Web, Cook & Holder. ... 20

Figura 15: Arquitetura básica das ferramentas de pesquisa. ... 24

Figura 16: Exemplo de opinião no formato 1... 38

Figura 17: Exemplo de opinião no formato 2... 38

Figura 18: Exemplo de opinião no formato 3... 39

Figura 19: Processamento de Linguagem Natural... 43

Figura 20: Linguagem Natural Processada... 44

Figura 21: Comparação de termos pelo Google Trends. ... 46

Figura 22: Fluxograma da metodologia... 48

Figura 23: Analisador. ... 53

Figura 24: Diagrama do Aplicativo Analisador. ... 54

Figura 25: Cabeçalho de documentos ARFF... 56

Figura 26: Estrutura de uma página web rastreada pelo WebSphinx... 64

Figura 27: Exemplo de Starwords selecionadas... 66

Figura 28: Exemplo de frequência dos termos em relação aos sw livres. ... 67

Figura 29: Exemplos de frequência dos termos em marcas de celulares. ... 67

Figura 30: Histogramas com os atributos dos sw livres gerado pelo Weka ... 68

Figura 31: Histogramas com os atributos de celulares gerados pelo Weka. ... 68

(12)

Figura 33: Gráfico dos atributos dos celulares gerados pelo Excel... 69

Figura 34: Exemplos de frequência dos termos nos hotéis selecionados ... 102

Figura 35: Histograma com os atributos dos Hotéis gerados pelo Weka. ... 102

LISTA DE TABELAS Tabela 1: Demonstrativo de Web Mining ... 5

Tabela 2:Origem das visitas ao site ... 18

Tabela 3: Resultados da mineração de características em opiniões ... 45

Tabela 4: Estatística básica após remoção de stopwords ... 55

Tabela 5: Descrição das Tags ... 100

(13)

1 INTRODUÇÃO

1.1 CONTEXTUALIZAÇÃO

Numa proporção cada vez mais incomensurável, a informação tem-se tornado fator fundamental para as organizações que desejam manter-se no mercado de forma inovadora e competitiva. Ao ingressar em novas áreas, aqueles que detêm informações sobre seus negócios podem utilizá-las não só para determinar o perfil e as preferências dos seus clientes, mas também definir estratégias de marketing, senão ainda reduzir riscos e custos com seus próprios projetos.

Embora o acesso às informações relevantes de uma organização seja imprescindível para que os dirigentes possam decidir a melhor maneira de direcionar seus projetos e fazer com que ela atinja seus objetivos mercadológicos, obtê-las normalmente não é uma tarefa fácil.

Um dos entraves, em momentos de decisão, é a dificuldade de discernir, em grandes volumes de dados, o que é conhecimento útil. Esse fato leva à necessidade de se criarem meios tanto para a recuperação e tratamento da informação quanto para à extração de características que possam ser úteis a uma organização. Se a dificuldade de discernir leva à necessidade da criação de meios, essa mesma necessidade leva à criação e ao aprimoramento de técnicas e ferramentas que facilitem essa tarefa.

Como "O que os outros pensam" sempre foi uma importante fonte de informação para a maioria dos gestores de empresas durante o processo de tomada de decisão, esta pode ter como suporte o arcabouço de informações que podem ser filtradas e analisadas no ambiente Web. São muitas as pessoas que procuram amigos para, por exemplo, recomendar o serviço de um mecânico, um modelo de automóvel, ou, até mesmo, um candidato às eleições locais. Quando se trata de emprego, há aqueles que solicitam cartas de referência ou de recomendação. A Internet, atualmente, tem sido um canal de referência, onde é possível encontrar relatos de opiniões e experiências, considerando os mais diversos assuntos, de forma que, num processo cada vez mais ascendente, as pessoas manifestam suas opiniões através da Web.

(14)

De acordo com pesquisa realizada com mais de 2000 americanos adultos (Rainie & Horrigan, 2007), verifica-se:

81% dos usuários da Internet (ou 60% dos americanos) fizeram pesquisas on-line sobre um produto, pelo menos uma vez;

• 20% fizeram em um dia típico;

Entre os leitores de opiniões on-line de restaurantes, hotéis e diversos serviços (por exemplo, agências de viagens ou de médicos), entre 73% e 87% relatam que opiniões influenciaram significativamente sobre a sua aquisição;

• Consumidores afirmam estar dispostos a pagar entre 20% a 99% a mais em um “cinco-estrelas”, a um item popular;

• 32% têm buscado informações sobre um produto, serviço ou pessoa através de um sistema on-line, e de 30% (incluindo 18% dos idosos on-line) já postaram um comentário ou revisão on-line em relação a um produto ou serviço.

Diante dessa realidade, torna-se evidente a necessidade de meios automáticos para busca de conhecimento em informações provenientes de opiniões. A partir de meados da década de 1990, começaram a surgir os denominados “motores de pesquisa”, pequenas aplicações de sistemas, disponíveis em determinados servidores Web, os quais, em uma descrição simples, possibilitam a obtenção de um conjunto de links de páginas contendo informações a respeito do conteúdo que um usuário procura. Como exemplo podem ser citadas páginas com conteúdo sobre Ciência, Política, Computação, Engenharias, entre outras. Embora muito úteis e suficientes, em muitas situações, os motores de pesquisa ainda são limitados para satisfazer determinados tipos de pesquisas mais específicas.

O presente trabalho pretende apresentar, diante desse contexto e juntamente com os motores de busca, soluções mais inovadoras e capazes de trazer melhores resultados.

1.2 MOTIVAÇÃO

O surgimento de novos produtos e tecnologias, em escala crescente e de forma acelerada, bem como a necessidade de inovação por parte das empresas tornam-se essenciais aos futuros usuários quanto à coleta de informações e opiniões sobre novos produtos disponíveis no mercado. Hoje, sabe-se que a maior fonte de informação disponível encontra-se na Web e, diante dessa quantidade de informações, faz-se cada

(15)

vez mais necessário o desenvolvimento de metodologias que pesquisem e extraiam de forma “inteligente”, opiniões de usuários na Web.

Pode-se ainda considerar o problema sob outro viés: embora existam inúmeras páginas de opiniões disponíveis na Web e seja possível armazenar a quase totalidade delas numa máquina com capacidade adequada, esta não “entenderá” nenhuma dessas páginas. Dizendo em outras palavras: embora uma máquina possa conter páginas com opiniões sobre determinado produto, pode acontecer de ela não dispor de representação semântica das mesmas. Ou seja, a máquina poderá não ser capaz de reconhecer elementos considerados relevantes e contidos em um subconjunto de opiniões, para, assim, extraí-las e armazená-las em alguma estrutura representativa ou semântica.

As informações contidas em uma página Web são essencialmente textos, para além das tags HTML ou XHTML, se for uma página estática, ou outras tags quaisquer que se encontram subjacentes nas páginas dinâmicas e que constituem o código fonte muitas vezes invisível para o usuário. Na maior parte dos casos, trabalha-se, essencialmente, com textos que não contêm qualquer estrutura implícita, são documentos de textos, especificamente opiniões de usuários. Portanto, há uma “informação não-estruturada”, ao contrário do que existe numa Base de Dados, que é uma informação estruturada, cujas vantagens são bem conhecidas, principalmente quando se quer pesquisar algo. No caso de uma base de dados, podem-se efetuar consultas/query através de comandos do SQL que respondam à procura pretendida. O problema se estabelece, portanto, com a informação não-estruturada diante da qual não se sabe como proceder.

Com relação a essa questão, uma das abordagens consiste em tentar estruturar a informação. De fato, nos últimos anos, vários ramos das ciências têm se esforçado, significativamente, para criar métodos, ferramentas e sistemas capazes de estruturar automaticamente a informação não-estruturada, com o objetivo de dotá-la de alguma estrutura, como um texto, focando-se no que é considerado semanticamente relevante.

Hoje, sabe-se que, quando se trabalha com dados estruturados, a consulta e geração de relatórios sobre uma base de dados é fácil devido à capacidade dos sistemas de consulta. Com alguns comandos da linguagem SQL como SELECT e COUNT, é possível, em poucos minutos, retirar estatísticas e conhecimentos. Porém, o desafio proposto é coletar informações de dados não-estruturados, ou seja, informações de textos provenientes de opiniões de usuários. Diante do exposto, traz-se o desafio de uma metodologia capaz de retornar informações semelhantes às retornadas por um comando

(16)

SELECT e capaz de gerar uma frequência dos termos, semelhante a um COUNT da linguagem SQL, porém com os dados não-estruturados.

1.3 CONTRIBUIÇÃO

Uma das principais contribuições deste trabalho é a proposta de uma metodologia prática para extração de informações de dados não-estruturados, através de ferramentas eficientes para serem usadas pelos segmentos de inteligência competitiva e

marketing das empresas. Além disso, visa à avaliação de objetos através da seleção e

comparação de características positivas e negativas, provenientes de opiniões de usuários. É importante destacar que a metodologia é independente da língua, na medida em que incorpora um tratamento adicional denominado starwords. As starwords podem ser definidas, ver item 4.2, pelos tomadores de decisão de acordo com as características pré-definidas que pretendam encontrar.

Estima-se que este estudo possa ser considerado relevante na área de mineração de dados na Web, na medida em que os trabalhos relacionados à extração de elementos que qualificam opiniões de usuários na Web ainda são restritos.

1.4 DESCRIÇÃO DO TRABALHO

A presente pesquisa divide-se em seis capítulos assim distribuídos: o primeiro capítulo apresenta a introdução, abarcando a contextualização e a motivação que serviram como base para a pesquisa sobre a metodologia para mineração de opiniões na

Web. Além disso, apresenta a contribuição deste trabalho. O segundo capítulo apresenta

a teoria em que se baseia a mineração de textos, trazendo uma apresentação sobre mineração de dados na Web, salientando suas peculiaridades e conceitos básicos, além das categorias do processo de mineração na Web, tais como: uso, estruturas e conteúdos. O terceiro descreve metodologias de mineração de opiniões de usuários na Web. O quarto apresenta a metodologia proposta como uma forma prática de ajudar o usuário a encontrar informações necessárias em uma grande coleção de documentos da Web, através da recuperação, extração e comparações de informações. No quinto capítulo, são apresentados alguns estudos de casos, cabendo ao sexto capítulo a conclusão da pesquisa, apontando sugestões para futuros trabalhos.

(17)

2 MINERAÇÃO DE DADOS NA WEB

Quando se enfoca a mineração de informações no ambiente da Internet, utiliza-se a expressão Mineração de Dados na Web ou Web Mining que, utiliza-segundo Cook & Holder (2000), “Web Mining pode ser definida como a descoberta e análise de informação útil originada na Web.

Essa Mineração de Dados na Web é utilizada para extrair conhecimento útil do conteúdo disponibilizado na estrutura dos sites ou dos dados relativos à navegação dos usuários, aplicando-se as mesmas técnicas e os mesmos algoritmos da mineração convencional.

Para isso, ela se concentra em três atividades básicas, segundo Zaiane (2000): a mineração do conteúdo, referindo-se à mineração do conteúdo textual das páginas Web; a mineração da estrutura, referindo-se à mineração de links entre as páginas Web; e a mineração do uso, concentrando-se na mineração dos hábitos e ações tomadas pelos usuários da Web.

A tabela 1 demonstra as principais categorias e fontes de dados provenientes da

Web, bem como os métodos para a extração desses dados.

Tabela 1: Demonstrativo de Mineração na Web - Fonte: Adaptado de (FLORESCU et al., 1998)

Mineração na Web

Mineração de conteúdo na Web

Recuperação da Informação Base de Dados Mineração de Estruturas na Web Mineração de Uso na Web Visão de Dados - Não- estruturados - Semiestruturados - Semiestruturados - Site com BD - Estruturas de Links - Interatividade Dados Principais - Docs de Texto - Docs de Hipertexto

- Docs de Hipertexto - Estruturas de

Links

-Registro de Servidor e Browser

Representação - Conjunto de palavras, frases, termos.

- Conceitos ou ontologias

- Grafos (OEM) - Relacional

- Grafos - Tabela Relacional

- Grafos

Método - Heurísticas TFIDF e

variantes - Aprendizagem automática - Estatística - Algoritmos proprietários - Regras de Associação modificadas - Algoritmos proprietários - Aprendizagem automática - Estatísticas, Regras de Associação modificadas Categorias de Aplicação - Categorização - Segmentação - Extração de Regras - Padrões encontrados nos textos - Encontrar sub-estruturas freqüentes - Descobrir esquemas de sites - Categorização - Segmentação - Construção e gerência de sites - Marketing - Modelos de usuários

(18)

Como se verifica em Pang & Lee (2008), nos últimos anos, tem crescido a aplicação da Mineração na Web. O seu crescimento e sua importância podem ser atribuídos a alguns fatores, entre os quais dois podem ser destacados: em primeiro lugar, a Internet apresenta informações heterogêneas, ou seja, não são padrões, não são estruturadas; em segundo lugar, este crescimento acentuado teve como consequência um significativo aumento no acúmulo de informações dinâmicas. A prova disso é que os próprios índices gerados pelas ferramentas de busca, como Google e Alta Vista, tornam-se rapidamente obsoletos devido ao dinamismo da rede.

Podendo ser definida como uma fonte de matéria-prima, amplamente distribuída, altamente heterogênea, semiestruturada ou não-estruturada, a Web é um repositório de informações de hipermídia e banco de dados. Entretanto, apesar da abundância e diversidade de informações, ela apresenta problemas para o seu uso em virtude da dinamicidade e diversificação de estruturas que a caracterizam. Como se pode perceber, ela consiste num universo de dados extremamente ricos e dinâmicos, tornando-se um atrativo meio para aplicação da mineração de dados.

Empresas dos mais variados ramos recebem uma incontável variedade tipológica e quantitativa de dados que se estendem desde pedidos de vendedores, passando por pedidos de compras de matérias-primas e insumos, até informações geradas pelos internautas que acessam os sites. Tudo isso permanece disperso em vários bancos de dados, ocultando uma quantidade ilimitada de informações que podem auxiliar no processo de tomada de decisão e gerenciamento das atividades referentes ao negócio da empresa (ZAIANE, 2000).

Para que haja real aproveitamento de toda essa quantidade de dados, é necessário transformá-los em informação que, por meio de ferramentas de mineração de dados, deve ser analisada dentro do contexto que interessa à empresa. Exatamente nesse intercurso reside a relevante questão de como transformar essas informações provenientes da Web em diferenciais competitivos para as empresas.

Dessa forma, a Mineração de Dados na Web configura-se como um processo complexo de mineração ambientado na Internet, cujas informações podem ser obtidas pelo servidor e pelo cliente, no proxy dos servidores.

• Cliente: Um usuário em vários sites • Proxy: Vários usuários em vários sites

(19)

Cliente Web Servidor Proxy Servidor Web

Figura 1: Fonte dos Dados.

2.1 SERVIDOR WEB

A figura 1 demonstra as fontes de informações onde os dados podem ser coletados. O Servidor Web é o responsável por aceitar pedidos HTTP1 (Hypertext

Transfer Protocol) de clientes, geralmente os navegadores, e servi-los com respostas

HTTP, incluindo opcionalmente dados que geralmente são páginas Web, tais como documentos HTML2 (HyperText Markup Language) com objetos embutidos (imagens, entre outros). Os pedidos HTTP que se referem habitualmente a páginas HTML são normalmente feitos através de browsers. O processo inicia-se com a conexão entre o computador onde está instalado o servidor Web e o computador cliente.

Atualmente, cresce, cada vez mais, o número de programas que fazem pedidos HTTP (leitores de RSS – Really Simple Syndication e outros) e, desde o início da Web, pode-se dizer que os arquivos servidos pelo webserver vão além dos arquivos HTML, incluindo imagens, arquivo de som, PDFs, entre outros. Genericamente, tudo que se enquadre no conceito de arquivo pode ser enviado como resultado de um pedido HTTP.

Finalmente, os servidores Web também podem executar programas e scripts de interação com o usuário. Supondo-se que num servidor web exista um arquivo chamado

1 HTTP é o acrônimo para Hypertext Transfer Protocol, que significa Protocolo de Transferência de Hipertexto. É um protocolo de comunicação utilizado para transferir dados por intranets e pela World

Wide Web. Normalmente, este protocolo é usado para a comunicação de sítios Web, comunicando na

linguagem HTML. Contudo, para haver comunicação com o servidor do sítio, é necessário utilizar comandos adequados, que não estão em linguagem HTML.

2 HTML é o acrônimo para HyperText Markup Language, que 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.

(20)

opinion.htm com o código fonte, segue-se um exemplo do fluxo pedido/resposta gerado,

ao acessar uma página estática:

<html>

<title>Opinion</title> <body>

<p> The Best</p>

<p> Simplesmente o melhor, rápido, simples... perfeito.</p>

</body> </html>

Se o browser tentar aceder a este arquivo, a sequência "pedido / resposta" produz:

<html>

<title>Opinion</title> <body>

<p> The Best</p>

<p> Simplesmente o melhor, rápido, simples... perfeito.</p>

</body> </html>

Embora esses valores variem de acordo com o browser utilizado e com o servidor Web que responde a esse pedido HTTP, muitos dos conteúdos serão sempre iguais. Ou seja, se o pedido é válido, o conteúdo é exibido. De acordo com a resposta, depois de mais um conjunto de dados, aparece finalmente o conteúdo HTML da página criada.

A origem do conteúdo enviado pelo servidor Web numa resposta a um pedido HTTP pode ser:

• Estática – se vier diretamente de um arquivo já existente no servidor;

• Dinâmica – se for criada dinamicamente por outro programa, script ou API chamados pelo servidor.

No caso de uma página dinâmica, o pedido, depois de recebido, é processado pelo servidor Web que vai, dinamicamente, criar o conteúdo, enviando-o, posteriormente, para o cliente. As páginas dinâmicas têm a vantagem de poderem ser programadas. Ou seja, usando alguma linguagem de programação (dependendo do servidor Web, pode ser PHP, JAVA, PERL, NET, entre outros), podem-se criar programas que correm no servidor Web, eventualmente acessando a bases de dados cujo

(21)

Num servidor Web capaz de responder a páginas dinâmicas (neste caso o IIS da Microsoft), tem-se um arquivo chamado opinion2.htm com o código fonte:

<html> <body> <script> for (i = 0; i < 4; i++) document.write("olá mundo<br>") </script> </body> </html>

Como se pode ver, o pedido/resposta de um arquivo estático ou de um arquivo dinâmico gera fluxos de informação praticamente iguais, isto é, na Web a informação que circula é essencialmente a mesma. A diferença é que um arquivo dinâmico tem que ser, primeiramente, processado pelo servidor Web.

2.2 SERVIDOR PROXY

Um servidor Proxy é um computador intermediário que fica entre o computador do usuário e a Internet. Pode ser utilizado para registrar o uso da Internet e também para bloquear o acesso a determinados sites da Web.

De acordo com as regras definidas por um administrador de Redes, o firewall do servidor Proxy pode bloquear alguns sites ou páginas da Web.

Entre as principais funções de um Servidor Proxy, podem-se destacar:

• O funcionamento como filtro de conteúdo, que constitui um mecanismo de segurança implantado pelos provedores de Internet ou pelos administradores da rede, em um ambiente de intranet, a fim de desativar o acesso ou filtrar solicitações de conteúdo de determinados sites considerados ofensivos ou prejudiciais para a rede e os usuários;

• Melhorias de desempenho pelo fato de armazenarem em cache as páginas da

Web acessadas por hosts da rede durante determinado período. Sempre que um host solicita a mesma página da Web, o servidor Proxy utiliza as informações

armazenadas em cache, em vez de recuperá-las do provedor de conteúdo. Isso proporciona acesso mais rápido às páginas da Web.

Embora, hoje em dia, os sites costumem usar páginas dinâmicas, onde o conteúdo muda a cada visita, mesmo nestes casos, o Proxy é viável. Essa viabilidade se

(22)

deve ao fato de, a cada visita, mesmo que o código HTML seja diferente ou que precise ser baixado novamente, muitos componentes da página, como ilustrações, banners e animações em flash, podem ser aproveitados do cache, diminuindo o tempo total de carregamento.

Outra vantagem de um Proxy é o registro de logs de acessos. Podem-se visualizar os acessos posteriormente para saber quem acessou quais páginas e em que horários.

2.3 CLIENTE WEB

Sabe-se que os serviços Web utilizam a infraestrutura de redes existente para disponibilizar informações e aplicações para o usuário. Em relação aos serviços, os elementos são organizados da seguinte forma: de um lado está o cliente Web, ou

browser, que solicita dados ao servidor Web, recebe as respostas, formata a informação

e a apresenta ao usuário. Do outro lado, está o servidor Web que, conforme item 2.1, recebe as requisições, lê os dados (páginas HTML) do disco e as retorna para o cliente.

Figura 2: Dados retornados para cliente após consulta ao Servidor Web.

A figura 2 mostra o resultado apresentado ao cliente, após a consulta em um servidor Web. Esse é o funcionamento original da Web, que proporciona apenas páginas de conteúdo estático, ou seja, uma vez programadas, apresentam sempre a mesma informação.

A forma encontrada para modificar essa situação e permitir a criação de páginas dinâmicas é o usuário entrar com informações, através do browser, utilizando

(23)

executa um programa transferindo-lhe as informações vindas do cliente. O programa remoto (server-side gateway program) trata as informações e retorna uma página HTML criada dinamicamente, a qual é passada ao servidor que a entrega ao cliente. O padrão para comunicação entre o servidor Web e o "Server-side gateway program" é conhecido como CGI (Common Gateway Interface).

A Interface CGI explicita como os dados devem ser passados do servidor Web para o programa, e como este deve devolver os dados ao servidor Web. Além disso, ela especifica variáveis de ambiente que devem ser criadas pelo servidor e acessadas pelo programa. Essas variáveis contêm o endereço IP do usuário remoto, o tipo de browser que ele utiliza, os dados para autenticação do usuário, entre outros.

Os programas escritos para serem executados por servidores Web são também conhecidos como scripts CGI. Eles implementam a lógica do negócio e, muitas vezes, o acesso aos dados de uma aplicação Web, na medida em que podem acessar dados armazenados no servidor ou fazer chamadas a um servidor de banco de dados local ou remoto, permitindo o acesso às informações de uma empresa, por exemplo. Nessa arquitetura, programas são executados no servidor Web e em outras máquinas da rede, como o servidor de banco de dados.

Normalmente, os programas executados no browser são scripts (VBScript ou

JavaScript) que têm a capacidade de perceber os eventos causados pelo usuário e

responder de forma apropriada. Eles são embutidos no código HTML, e o seu código fonte pode ser visualizado pelo usuário, já que não é um código compilado. Os scripts interagem muito com todos os elementos que formam uma página HTML, como ilustra a figura 3, que apresenta uma página retornada pelo browser após execução de um

script dinâmico.

(24)

Outro tipo de programa que pode ser executado no cliente são os programas escritos na linguagem JAVA. Em JAVA, é possível escrever aplicações completas, inclusive acessando bancos de dados relacionais, independentemente do servidor Web. É possível ainda implementar os níveis de interface com o usuário e de lógica do negócio, utilizando um servidor de banco de dados para implementar o nível de acesso aos dados.

Os componentes podem estar presentes nas interfaces com o usuário (browser) implementando a lógica do negócio junto ao servidor Web ou, utilizando bases de dados em qualquer formato, distribuídos pela rede e realizando atividades de acesso aos dados. Em suma, pode-se dizer que os dados podem ser coletados das seguintes formas:

– Coleção em nível de servidor Web: o arquivo de log de um servidor Web constitui-se de uma importante fonte de informações para a realização de mineração do uso da Web pelo fato de estes arquivos apresentarem registros da navegação dos visitantes do site, como ilustra a figura 4;

Figura 4: Registros de navegação dos visitantes.

– Coleção em nível de Proxy: o proxy Web atua em nível intermediário entre o navegador do cliente e o servidor Web. O proxy, além de filtro de páginas de navegação, pode ser utilizado para diminuir o tempo de carga das mesmas. A atividade final do

proxy é garantir que as páginas mais requisitadas estejam disponíveis, agilizando,

portanto, a cópia. Através desse tipo de informação, é possível identificar as páginas mais requisitadas por um grupo de usuários, como se pode ver na figura 5.

(25)

Figura 5: Registros de páginas mais requisitadas por grupos de usuários.

– Coleção em nível de cliente: as informações também podem ser coletadas do lado do cliente e implementadas por meio de programas remotos, como os implementados com a linguagem baseada em objetos – Javascript e AJAX – ou com os

applets da linguagem orientada a objetos – Java. As implementações de applets podem

ser ótima solução para coleta de informações do lado do usuário, mas o overhead3 causado, principalmente na sua execução inicial, pode levar a uma inibição em seu uso como uma solução. O uso do Javascrip, ver figura 6, aparentemente é a melhor solução pelo fato de sua interpretação exigir menor tempo.

Figura 6: Coleções no nível de Cliente - Notícias Globo em www.fsd.edu.br

3 Em ciência da computação overhead é geralmente considerado qualquer processamento ou armazenamento em excesso, seja de tempo de computação, de memória, de largura de banda ou qualquer outro recurso que seja requerido para ser utilizado ou gasto para executar uma determinada tarefa.

<html> <body> <div id="news"></div> <script src=http://g1.globo.com/Portal/G1V2/js/addNewsXML.js> </script> <script>

var news=new loadXml('/Rss2/0,,AS0-597, 00.xml' ,'news' , 0); </script>

</body> </html>

(26)

Nota-se que cada tipo de coleção de dados difere não somente em termos de localização física, mas também em relação ao tipo de dado disponível. Existem vários tipos de dados que podem ser utilizados na mineração de dados. Segundo Cook & Holder, eles podem ser agrupados em três categorias principais, a saber: estrutura, uso e conteúdo, as quais serão detalhadas nos itens 2.5, 2.6 e 2.7.

2.4 TAXONOMIA DE MINERAÇÃO NA WEB

A figura 7 apresenta uma taxonomia para a mineração na Web, proposta por Zaiane, 2000. Várias pesquisas têm sido realizadas nesses níveis de taxonomia de mineração da Web, entre as quais podem-se destacar as categorias de mineração de estruturas, uso e conteúdos.

Figura 7: Subdomínios da Mineração na Web, ZAIANE (2000).

2.5 MINERAÇÃO DE ESTRUTURAS NA WEB

A mineração de estruturas na Web usa a interconexão entre páginas Web para dar pesos às mesmas. As estruturas de hiperlink contêm vasta quantidade de informações ocultas que podem ser alvo de mineração. A referida mineração constitui-se no processo de extração de conhecimento a partir dos links de hipertextos de documentos da Web (ZHONGZHI et al., 2009).

A análise de citações na recuperação de informações já foi alvo de estudos muito antes do surgimento da www. Segundo Zaiane (2000), os autores Pinski e Narin, em 1976, baseados na observação de que nem toda a citação é igualmente importante,

(27)

Garfield. Segundo os autores, um documento teria influência se, recursivamente, fosse altamente citado por outros documentos de influência, conforme figura 8.

Figura 8: Análise de citações(C), ZAIANE (2000).

A figura 8 representa o cálculo do peso de influência. Como se pode perceber, a influência do documento “j” é igual à soma da influência de todos os documentos que citam “j”, através da soma dos pesos de cada site que cita “j”.

2.5.1 Busca por páginas com autoridade

Uma autoridade, neste contexto, consiste numa página que é apontada por vários

hubs de qualidade, os quais constituem-se de uma página que aponta para autoridades

de reconhecida qualidade (ZAIANE, 2000).

O algoritmo Hyperlink Induced Topic Search (HITS) utiliza um enfoque simplificado para encontrar documentos com qualidade, e assume esta condição se o documento “A” possui um hyperlink para o documento “B”; então o autor do documento “A” assume que o documento “B” contém informações valiosas. Se “A” está apontando para um grande número de documentos de qualidade, então a opinião de “A” torna-se mais valiosa, e o fato de “A” apontar para “B” poderia sugerir que “B” também é um bom documento.

A estratégia geral aplicada por HITS constitui-se de dois passos principais: 1- Constituição de uma amostra de mil páginas Web que provavelmente sejam ricas em autoridades;

2- Um componente de peso de propagação que determina a estimativa numérica do hub e peso de autoridade.

(28)

O funcionamento desse algoritmo pode ser explicado da seguinte forma: ao iniciar a partir de uma consulta fornecida pelo usuário, HITS monta um conjunto inicial “S” de páginas (este conjunto inicial é denominado de conjunto raiz). Essas páginas são expandidas para um conjunto raiz maior, denominado “T”, constituído pela adição de qualquer página que seja linkada para ou de qualquer página do conjunto inicial “S”.

Figura 9: Etapas do algoritmo HITS, ZAIANE (2000).

A Figura 9 apresenta o conjunto inicial “S” de páginas e o conjunto “T” constituído pela adição de todas as páginas que possuem um link para o conjunto “S”.

Dessa forma, o HITS associa com cada página p um peso de hub h(p) e um peso de autoridade a(p). O algoritmo atualiza de maneira iterativa o peso de hub e autoridade de cada página. A representação pqdenota que “página p possui um hiperlink para

a página q”. HITS atualiza os hubs e autoridades, como se segue:

→ = q p q h p a( ) ( ) : h(p)=q

pa(q)

A saída do algoritmo HITS para os tópicos pesquisados é uma pequena lista constituída de páginas com os maiores pesos de hub e páginas com grandes pesos de autoridade. HITS baseia-se puramente em links para verificar as páginas de maior peso.

O Sistema CLEVER (Chakrabarti et al. 1998 apud Zaiane, 2000) propõe duas extensões do algoritmo baseado em links e conteúdos de páginas. A primeira extensão proposta consiste em prevenir os tópicos que derivam em amplas páginas hub com muitos links, baseado no fato de que conjuntos de links adjacentes em uma página hub são mais focados em um único tópico do que na página como um todo. A segunda extensão baseia-se em fazer uso dos textos que rodeiam definições de links (href's) em páginas Web, frequentemente referenciadas como textos âncoras. Com o uso desses textos, é possível aumentar os pesos dos links que ocorrem próximos dos termos da

(29)

2.5.2 Connectivity Server

Connectivity Server (Bharat et al. 1998 apud Zaiane, 2000) também explora

informações de links para encontrar as páginas de mais pesos para uma consulta. Os algoritmos HITS e CLEVER utilizam certo número de páginas indexadas pela ferramenta de pesquisa como o conjunto base de pesquisa. O Connectivity Server usa o conjunto de páginas retornadas pelo motor de busca para encontrar o resultado da consulta. O servidor aceita uma consulta consistindo de um conjunto “L” de uma ou mais URLs e retorna uma lista de todas as páginas que apontam para páginas em “L” (predecessores) e lista de todas as páginas que são apontadas pelas páginas em “L” (sucessoras).

Utilizando-se desta informação, Connectivity Server inclui informações sobre todos os links que existem através das páginas vizinhas.

Conjunto predecessor Conjunto inicial Conjunto sucessor

Figura 10: Vizinhança utilizado pelo Connectivity Server (ZAIANE, 2000).

O gráfico da vizinhança consiste em um gráfico produzido por um conjunto L de páginas iniciais com seus predecessores e sucessores, mais as linhas de ligação através dos mesmos. Primeiramente, o gráfico de vizinhança é criado. O Connectivity Server usa o método próprio para analisar e detectar páginas úteis, além de calcular uma classificação para estas.

(30)

O método PageRank (Brin e Page, 1998 apud Zaiane, 2000) cria uma classificação de importância das páginas Web, baseado no número de citações de uma página ou no número de visitas a mesma. O número de visitas a cada página constitui-se no PageRank, o qual estima a média de visitações que determina a popularidade da página. A tabela 2 demonstra as visitas do site http://www.viannavirtual.com.br no período de 01 a 30/11/2008.

O sistema PageRank é usado pelo motor de busca google para ajudar a determinar a relevância ou importância de uma página. Foi desenvolvida pelos fundadores do Google, Larry Page e Sergey Brin enquanto cursavam a Universidade de Stanford em 1998.

Tabela 2: Origem das visitas ao site.

(31)

A figura 11 apresenta a origem das fontes de tráfego ao mesmo site. O conceito de PageRank baseia-se também na importância da citação de páginas conforme o apresentado nas figura figuras 12 e 13.

Figura 12: Relação PageRank (ZAIANE, 2000).

Figura 13: Cálculo do PageRank (ZAIANE, 2000)

Cada página “p” possui um número de links de apontamento para outras páginas

C(p) (C para citações), e um número de páginas apontando para p página p1, p2..., pn. O PageRank da página “p” é obtido por:

PR(p) = (1 – d) + ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛

= n k k k p C p PR 1 ( ) ) (

onde d é um fator de amortecimento,

geralmente definido como 0.85. Mais informações ver http://pr.efactory.de/e-inbound-links.shtml.

O PageRank interpreta um link da página “A” para a página “B” como um voto da página “A” para a página “B”. Mas analisa também o valor da página que dá o voto.

(32)

Os votos dados por páginas importantes pesam mais e ajudam a tornar outras páginas importantes (BRIN & PAGE, apud ZANIER, 2006, p.39). Tanto a metodologia de

PageRank quanto a hub/authority têm se apresentado com capacidade de propiciar

resultados de pesquisa com mais qualidade para consultas na Internet (ZAIANE, 2000).

2.6 MINERAÇÃO DE USO NA WEB

Nesse contexto de mineração, os padrões de acesso de cada usuário são analisados a cada momento, permitindo, dessa forma, que o site se reestruture automaticamente a cada momento pelo aprendizado dos padrões de acesso do usuário.

A mineração de dados na Web apresenta algumas particularidades e características próprias que se diferem um pouco da mineração de dados convencionais. Segundo Cook & Holder (2000), existem três tarefas principais para a realização da mineração do uso da Web: pré-processamento, descoberta de padrões e análise de padrões.

Figura 14: Processo de Mineração de Uso da Web, Cook & Holder.

A figura 14 apresenta o processo de Mineração de uso da Web, onde se pode perceber o

pré- processamento de logs de usuários de acordo com as visitas em arquivos do site, como explicita o item 2.6.1. De posse destes logs, é possível descobrir padrões de comportamento de usuários através da análise dos interesses de cada um, como se explica no item 2.6.2.

(33)

2.6.1 Pré-processamento

O pré-processamento consiste em converter informações de uso, conteúdo e estrutura disponíveis em vários recursos de armazenamento de dados, além de ser uma das tarefas mais difíceis no processo de mineração do uso da Web. Isso ocorre pelo fato de os dados serem incompletos ou se apresentarem de forma incompleta (COOK & HOLDER, 2000). Se não for utilizado algum mecanismo do lado do usuário, somente o endereço IP estará disponível para identificar usuários e sessões do servidor.

Segundo Cook & Holder (2000), os problemas que podem ocorrer são:

• Endereço de IP único / múltiplas sessões de servidor: os provedores de serviço de Internet geralmente possuem um conjunto de proxy de servidor através dos quais os usuários acessam a Web. Um único proxy de servidor pode ter mais de um usuário acessando o site, muitas vezes ao mesmo tempo;

• Vários endereços IP / única sessão de servidor: alguns provedores de serviço de

Internet ou ferramentas privadas designam de maneira randômica para cada requisição

do usuário um dos vários endereços IP disponíveis. Desse modo, uma única sessão de servidor pode ter vários endereços IP;

Vários endereços IP / usuário único: o usuário que acessa a Web de diferentes máquinas recebe um endereço IP diferente para cada sessão aberta pelo mesmo. Sendo assim, torna-se extremamente difícil rastrear este usuário;

Múltiplos Browsers / usuário único: nesse caso, o usuário usa mais de um navegador, mesmo que seja na mesma máquina, este será referenciado como múltiplos usuários.

O Pré-processamento da estrutura, criada pelos links de hipertextos entre as páginas, consiste em converter texto, imagem, scripts, e outros arquivos como multimídia em formato útil para o processo de mineração da Web.

2.6.2 Descoberta de Padrões

Segundo Cook & Holder (2000), existem vários métodos e algoritmos, oriundos das mais diversas áreas, que procuram dar apoio à mineração de dados na Web, destacados seguir:

(34)

• Análise estatística: as técnicas estatísticas consistem nos métodos mais comumente utilizados para extrair o conhecimento sobre os visitantes do site Web. Esses métodos propiciam a análise de frequência, número de acessos e tempo de conexão, entre outros;

• Regras de associação: a geração de regras de associação pode ser aplicada para relacionar páginas que são frequentemente referenciadas, juntas em uma única sessão do servidor. Essas regras de associação, nesse caso, não se referem a páginas que estão ligadas por estruturas de hiperlinks, mas sim às páginas que são frequentemente acessadas por um grupo de usuários. Esse tipo de regra pode auxiliar na avaliação de estruturação de um site;

• Classificação: consiste na tarefa de mapear um item de dado dentro de classes pré-definidas. Na Web, a utilização seria a identificação da melhor classe em que um usuário poderia ser adicionado. Por exemplo, Cook & Holder citam a classificação nos

logs do servidor, que pode permitir a descoberta de uma regra do tipo: “30% dos

usuários que realizam uma compra on-line em Produto/Música estão no grupo de idade de 18-25 e moram na Costa Oeste”;

• Clusterização: refere-se à técnica de agrupar um conjunto de itens que possuem características em comum. Quando se aborda a mineração do uso da Web, existe a preocupação de agrupar em clusters de usuários e de páginas. O cluster de usuários tende a agrupar usuários que apresentam o mesmo padrão de comportamento no uso da

Web. Esse tipo de análise permite o trabalho com perfil de consumidor, o que vem a ser

de grande valia para aplicações de comércio eletrônico. A análise de páginas relacionadas pode ser de grande utilidade para os sites Web, principalmente no que tange à geração de páginas dinâmicas.

Métodos de categorização (clustering) (BERENDT et al. 2002) dividem um conjunto de objetos em subconjuntos, chamados de clusters, de tal forma que os objetos pertencentes a um determinado cluster são similares, e os que não pertencem a este

cluster são diferentes. Alguns métodos são hierárquicos e constroem clusters de clusters. Os métodos de agrupamento são baseados em similaridades dos objetos.

O objetivo do clustering é formar grupos diferentes, mas não forçosamente disjuntos, contendo membros muito semelhantes entre eles. Ao contrário do processo de classificação que segmenta informação associando-lhe grupos já definidos, o clustering

(35)

é uma forma de segmentar informação em grupos não previamente definidos (CAMPOS, 2005).

2.6.3 Análise de padrões

A análise de padrões é o último estágio do processo de mineração do uso da Web e da análise de regras, tendo em vista destacar aquelas que não se apresentam de maneira interessante para o negócio em foco.

Segundo Cook & Holder (op. cit.), a forma mais comum de realizar essa análise consiste no uso de consulta como uma sentença de SQL. Outra forma possível de realizá-la é através do uso dos dados obtidos em um cubo para realizar operações OLAP (Processamento Analítico On Line).

2.7 MINERAÇÃO DE CONTEÚDO NA WEB

O processo de descoberta de informações úteis a partir do conteúdo de páginas

Web é chamado de Mineração de conteúdo na Web. Através da busca automática de

informação de pesquisas on-line (PANG & LEE, 2002), a mineração descreve a descoberta de informações úteis de conteúdos, dados e documentos da Web. Vale salientar que o conteúdo da Web não se constitui apenas de texto ou hipertexto, mas de uma ampla variação de tipos de dados, tais como áudio, vídeo, dados simbólicos, metadados, entre outros.

Metadados são normalmente definidos como "dados sobre os dados". Podem ser definidos também como uma abstração dos dados, ou dados de mais alto nível que descrevem dados de um nível inferior. Os metadados têm um papel muito importante na administração de dados, porque é a partir deles que as informações são processadas, atualizadas e consultadas.

Conforme Cooley (2000), a Mineração de Conteúdo pode ser descrita como sendo a busca automática dos recursos e recuperação das informações disponíveis na rede. Como exemplo dessa abordagem, podem ser citadas as ferramentas de busca, como Yahoo, Google, Alta Vista entre outros.

Uma ferramenta de busca apresenta a arquitetura geral conforme a figura 15 (ZAIANE, 2000):

(36)

Figura 15: Arquitetura básica das ferramentas de pesquisa.

Conforme se observa na figura 15, há etapas comuns de atividade de pesquisa, nas quais é apresentada para o usuário uma lista de links a serem visitados: os que, no momento, adaptam-se melhor às suas necessidades; os já visitados pelo usuário; e a lista de links ainda não visitados, mas que talvez não atendam de pronto às suas necessidades. Essas páginas consultadas são analisadas e indexadas em uma base, para facilitar futuras buscas.

Esse tipo de ferramenta ainda não é suficiente para atender ao usuário, na medida em que a pesquisa pode retornar uma quantidade de links que, na verdade, não o satisfaçam, ou que pouco se relacionam à sua real necessidade. Isso ocorre devido ao fato de grande parte do conhecimento estar localizada dentro do documento, e as ferramentas de pesquisas mal conseguem alcançar parte desse conhecimento pela extração das palavras-chave através do uso de suas heurísticas (ZAIANE, 2000).

O Ahoy! usa os serviços da Internet como engenharias de pesquisa para recuperar dados pessoais. Os resultados da pesquisa são analisados e, através de heurísticas específicas, características de sintaxe são identificadas dentro dos documentos. As identificações dessas características podem revelar as home pages pessoais.

No subdomínio da Mineração na Web, o que está em causa é o conteúdo das páginas em si. Através dos motores de busca, metodologias são estudadas para procura de páginas relevantes e informativas. Por outro lado, são também estudadas metodologias de extração de subpartes de páginas. Existem, portanto, duas grandes preocupações ou orientações de investigação neste subdomínio: “Recuperação da

(37)

3 MINERAÇÃO DE OPINIÕES NA WEB

3.1 CONCEITOS BÁSICOS

A detecção de opiniões é cada vez mais importante no ato da procura de informação. Nesse contexto, um futuro usuário pode querer saber quais as opiniões dos demais sobre um determinado produto ou serviço. Embora a opinião seja um conceito distorcido devido à sua carga de subjetividade, ainda assim, há usuários que, antes de adquirir determinado objeto, querem saber a opinião alheia sobre o mesmo. Deve-se reforçar o caráter de subjetividade subjacente nas opiniões: por exemplo, um usuário fanático pelo Linux4, não denegriria este sistema operacional; o mesmo aconteceria com um membro da comunidade de distribuição Debian que, por razões sociais, nunca diria mal deste software.

A forma de as pessoas expressarem suas opiniões na Web tem mudado significativamente. Através de fóruns, lista de discussões, blogs entre outros, os usuários agora podem postar comentários de produtos em sites e expressar sua opinião sobre praticamente qualquer assunto na Internet. Esses comentários on-line representam novas fontes de informações com muitas aplicações práticas. Muitas técnicas têm sido desenvolvidas para aumentar a eficácia e a facilidade na exploração dessas fontes.

O presente estudo procurou focar três tarefas de mineração de textos, que são documentos expressando opiniões:

• Recuperação da Informação: encontrar páginas com opiniões ou frases de sentimentos em relação aos produtos a serem analisados;

• Extração de opinião baseada em característica: segundo Liu (2007), essa tarefa busca descobrir detalhes, ou seja, aspectos de um objeto de que os usuários gostam ou não gostam. O objetivo poderia ser descobrir a opinião sobre um

software, um serviço, um telefone celular, entre outros.

4 Linux é o termo usado para designar qualquer sistema operacional que utilize o núcleo Linux. O código fonte está disponível sob licença GPL para qualquer pessoa que utilizar, estudar, modificar e distribuir de acordo com os termos da licença.

(38)

• Comparação de sentenças: esse é outro tipo de avaliação que compara características positivas e negativas de um objeto com outros similares, de acordo com as opiniões dos usuários.

3.2 RECUPERAÇÃO DA INFORMAÇÃO

Para Mineração de Opinião na Web, o primeiro passo é a recuperação da informação (RI), a qual diz respeito à extração de documentos através de páginas que obedeçam a determinados critérios. A título de exemplo, supõe-se que uma organização pretenda obter o maior número de páginas da Web que contenham informação relacionada a um determinado Ambiente Virtual de Aprendizagem, exemplo

MOODLE5. Nesse caso, é necessário fazer uma escolha daquilo que realmente interessa,

no meio de tantas plataformas potenciais disponíveis. Embora seja evidente que um ser humano pode fazer este trabalho, o problema está no tempo necessário para realizar tal tarefa. Diante disso, existe um crescente interesse por todos os métodos automáticos que realizem este trabalho e cujo desempenho se aproxime o mais possível do conseguido pelo homem.

Para Martha (2005), recuperação de Informação é uma ciência que estuda a criação de algoritmos para recuperar dados provenientes de textos livres, que constituem a maior parte de documentos em forma digital, disponível nos dias atuais, sobretudo após o advento da internet. Porém, se todos os arquivos na Web fossem claramente marcados com palavras-chave e outros metadados que descrevessem perfeitamente o seu conteúdo, e se os usuários fossem treinados para fazer pesquisas, a recuperação de informações relevantes não exigiria algoritmos sofisticados, elas poderiam ser encontradas através de simples consultas (LINOFF & BERRY, 2001).

A recuperação de informação ajuda o usuário a encontrar a informação necessária a partir de uma grande coleção de documentos de textos. Em relação à Web, o tópico diz respeito à obtenção de conteúdos que obedeçam aos critérios determinados pela pesquisa em si.

Destaca-se que a RI é uma área da computação que lida com o armazenamento de documentos e com a recuperação automática de informação associada aos mesmos. É

5 Moodle (Modular Object-Oriented Dynamic Learning Environment) - é um software livre, de apoio à aprendizagem, executado num ambiente virtual.

(39)

uma ciência de pesquisa sobre busca por informações em documentos, pelos documentos propriamente ditos, por metadados que descrevam documentos e busca em banco de dados, sejam eles relacionais e isolados, ou banco de dados interligados em rede de hipermídia, tais como a Web. A mídia pode estar disponível sob forma de textos, de sons, de imagens ou de dados, mas neste objeto de pesquisa, o interesse está voltado apenas para documentos de textos, os seja, opiniões de usuários.

Dessa forma, o conceito de recuperação de informação surge, nesse contexto, como um processo no qual são devolvidos e ordenados, por ordem de importância, os documentos mais relevantes, de acordo com uma consulta (query) especificada pelo usuário (CAMPOS, 2005, p. 1). Tecnicamente, RI estuda a aquisição, organização, armazenamento, recuperação e distribuição de informações (LIU, 2007, p. 183). É um campo de estudo que ajuda os usuários a encontrar informações que combinem com as suas necessidades.

Nesse sentido, vários autores estudaram formas de atender aos usuários da melhor forma. Enquanto Zhang et al. (2009) propuseram um modelo de recuperação de opiniões que combina recuperação e identificação de opinião, Mei et al. (2007) criaram um modelo com mistura de tópicos de sentimento para modelar os fatos e opiniões em

blogs. Para identificar e classificar o subjetivo, Esuli e Sebastiani, (2005) classificaram

a orientação dos termos com base em um dicionário próprio de interpretações. Whitelaw

et al. (2005) utilizaram ‘grupos de avaliação’ para avaliar características e classificar os

sentimentos. Pang e Lee (2005) classificaram comentários de filme em várias categorias. Ku et al. (2005) sumarizaram tópicos principais dos blogs com as opiniões relacionadas.

Segundo LIU (2007), a RI é diferente da classificação de dados que usa consulta SQL: enquanto os dados em base de dados são altamente estruturados e armazenados em tabelas relacionadas, a informação em textos não é estruturada. Não há uma linguagem de consulta como SQL para recuperação de textos. Dessa forma, para facilitar a busca de documentos na Web, várias ferramentas de apoio têm sido construídas, usando as abordagens dos motores de busca baseados em robôs, como o

Google, por exemplo.

O Google (BRIN, 1998) é um dos mais promissores dentre os search engines existentes: já foi projetado para visitar e indexar a Web de forma eficiente e produzir os resultados de busca mais satisfatórios que outros sistemas existentes. Seu crawler foi desenvolvido para efetuar a varredura de milhões de páginas de forma rápida. No tópico

(40)

a seguir, procurou-se descrever o Google bem como as tecnologias utilizadas por esta ferramenta de recuperação de informação.

3.2.1 Google

Composto por uma série de crawlers, os GoogleBots, distribuídos por várias máquinas, o Google é e um servidor de URL que envia listas de URLs para os crawlers procurarem. Como os crawlers seguem os links de uma página para outra, o motor de busca consegue encontrar milhares de páginas (CAMPOS, 2005).

As páginas encontradas pelos GoogleBots são guardadas num repositório, associando-se a cada página um ID denominado DocID, o tamanho da mesma e o URL. A função de indexing é feita pelo indexer, que lê a página web de uma URL e constrói um conjunto de hits (ocorrências de palavras) do texto. O hits contém um WordID, a posição da palavra no documento, um tamanho aproximado da fonte e a informação capitalizada (KONCHADY, 2006). O index é ordenado, alfabeticamente, por termos, e a lista de documentos que contêm esses termos é armazenada numa estrutura intitulada

Inverted Index. Para Liu (2007), o Inverted Index de uma coleção de documentos é

basicamente a estrutura de dados que une cada termo diferente com a lista de todos os documentos que contêm o termo. Assim, na recuperação, ele reduz o tempo para encontrar o documento que contém o termo da consulta.

3.2.1.1 Tecnologias do Motor de Busca Google

Segundo Zanier (2006), as tecnologias de buscas utilizadas pelo Google são o

crawler GoogleBot, e o algoritmo, PageRank. O robô do Google, GoogleBot, percorre a Web para explorar páginas e enviar suas URLs ao índice de documentos. Existe um

servidor URL que envia listas de URLs para serem percorridas por vários processos do

GoogleBot. Os URLs encontrados são enviados ao servidor de URL, que checa se estes

URLs já foram previamente percorridos. Em caso negativo, o URL é adicionado ao índice de URLs que deve ser percorrido pelo GoogleBot.

O PageRank, por sua vez, é o algoritmo usado pelo motor de busca Google para ajudar a determinar a relevância ou importância de uma página, de acordo com o número de vezes que a página é referenciada por outros sites. O PageRank interpreta o

(41)

da página que dá o voto. Os votos dados por páginas importantes pesam mais e ajudam a tornar outras páginas importantes (BRIN & PAGE, apud ZANIER, 2006, p. 39). Diante disso, sabe-se que trocar links entre sites pode ajudar na classificação, principalmente se o site aliado estiver com boa qualificação no PageRank, conforme descrito no item 2.5.2.

3.2.2 Web Crawlers

Segundo Menczer (2007) in (LIU, 2007), Crawlers são programas que automaticamente vasculham páginas web para colher informações que podem ser analisadas e mineradas em um local on-line ou off-line. Web Crawler é um agente, um

bot que vai, de página em página, analisando o código HTML, extraindo informações e

os links para continuar a sua tarefa. Existem dezenas de utilidades para crawlers, inclusive para ações maliciosas, porém o uso mais comum é na construção de sistemas de busca de páginas (Google, Yahoo Search, Microsoft Bing, entre outros).

Os crawlers utilizados por esses sites têm como tarefa indexar todo conteúdo possível na internet. Existem outros tipos de crawlers que se focam em garimpar informações sobre um assunto em especifico ou se focam em baixar somente páginas que sigam um determinado padrão de URL. Esse robô interage diretamente com a web. Possui como função descobrir novos documentos na Internet de forma a torná-los consultáveis. Os Crawlers automaticamente visitam páginas Web, leem-nas, copiam-nas, e, seguem os hiperlinks nelas contidos (ETZIONI, 1999).

Constata-se, também, que o Crawler além de capturar e transmitir muitos sites simultaneamente e de forma eficiente, tenta prever a similaridade entre o conteúdo do arquivo e a consulta do usuário (MAGALHÃES, 2008).

Segundo Markov & Larose (2007), navegar na Web é um modo muito útil para explorar uma coleção de documentos linkados quando se conhece um tema ou área pela qual haja interesse. Entretanto, um browser, por si só, é incapaz de obter informações sobre determinado assunto ou tema. A melhor abordagem é ter páginas web organizadas por tópico ou pesquisar uma coleção de páginas indexadas por palavra-chave.

Para tanto, é preciso levar em conta que rastreamento da Web envolve interação com centenas de milhares de servidores Web, concebidos não só para satisfazer diferentes objetivos, mas também para prover diversos serviços, tais como acessos ao banco de dados, interações dos usuários, geração de páginas dinâmicas, e assim por

(42)

diante. Outro importante é o imensurável número de páginas que devem ser visitadas, analisadas, e armazenadas. Assim, um web crawler concebido para rastrear toda a Web é um sistema sofisticado que utiliza tecnologia avançada de programação. Portanto, para melhorar seu tempo e sua eficiência de espaço, é geralmente executado em computadores com processamento paralelo e de alto desempenho.

A seguir, um breve resumo dos problemas comuns enfrentados, em grande escala, pelos crawlers, bem como as soluções apresentadas, segundo Markov (2007). Deve-se ressaltar que, para não se afastar do objetivo principal, que é analisar o conteúdo da Web, o presente estudo não pretende detalhar pormenores técnicos.

O processo de buscar uma página da Web envolve uma rede latência (por vezes um "tempo"). Para evitar a espera do carregamento de uma página atual, para continuar com a próxima página, rastreadores buscam várias páginas simultaneamente. Por sua vez, esta busca exige a conexão com vários servidores (normalmente milhares), ao mesmo tempo, o que se consegue utilizando tecnologia de programação paralela e distribuída tais como multithreading (executando vários clientes concomitantemente). O primeiro passo para buscar uma página da Web é a resolução do endereço, convertendo o endereço simbólico da Web em um endereço IP. Isto é feito por um servidor DNS conectado pelo rastreador. Como várias páginas podem ser localizadas em um único servidor, o armazenamento de endereços em um cache local permite que o rastreador evite a repetição de pedidos DNS em páginas já visitadas, consequentemente, melhorando a sua eficiência e minimizando o tráfego na Internet.

Após buscar uma página da Web, ela é digitalizada, e os URLs são extraídos, transformam-se em links que serão seguido pelo próximo crawler. Há muitas maneiras de especificar uma URL em HTML. Também pode ser especificado usando o endereço IP do servidor. Como o mapeamento entre o nome do servidor e os endereços IPs são muitos para muitos6, isso pode resultar em vários URLs para uma única página da Web. O problema é agravado pelo fato de que browsers são tolerantes a páginas que contenham erro de sintaxe. Como resultado, são documentos HTML não escritos com cuidado e incluem, muitas vezes, erroneamente, URLs maliciosos, bem como outras estruturas. Tudo isso mostra que extrair URLs a partir de documentos HTML não é uma tarefa fácil. A solução é usar um bem concebido e robusto indexador e, após extração de URLs, convertê-los para a forma canônica. Mesmo assim, há armadilhas em que o

Referências

Documentos relacionados

No Estado do Pará as seguintes potencialidades são observadas a partir do processo de descentralização da gestão florestal: i desenvolvimento da política florestal estadual; ii

Mas ele é ( verbo ser, no Presente do Indicativo ) apenas um gato e não tinha tido ( verbo ter, no Pretérito Mais-Que-Perfeito Simples do Indicativo ) tempo de aprender (

Depois da abordagem teórica e empírica à problemática da utilização das Novas Tecnologias de Informação e Comunicação em contexto de sala de aula, pelos professores do

Dessa maneira, os resultados desta tese são uma síntese que propõe o uso de índices não convencionais de conforto térmico, utilizando o Índice de Temperatura de Globo Negro e

A pesquisa pode ser caracterizada como exploratória e experimental em uma primeira etapa (estudo piloto), na qual foram geradas hipóteses e um conjunto de observáveis, variáveis

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

Os testes de desequilíbrio de resistência DC dentro de um par e de desequilíbrio de resistência DC entre pares se tornarão uma preocupação ainda maior à medida que mais

a. Ao respeito dos direitos ou da reputação de outrem; b. À salvaguarda da segurança nacional, da ordem pública, da saúde e da moral públicas. Depreende-se disso que,