• Nenhum resultado encontrado

2007.1Monografia 2

N/A
N/A
Protected

Academic year: 2021

Share "2007.1Monografia 2"

Copied!
90
0
0

Texto

(1)

TALLES ALVES SOUZA

REPRESENTAÇÃO DE BASES DE DADOS INVISÍVEIS

FEIRA DE SANTANA

2008

(2)

UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA

TALLES ALVES SOUZA

REPRESENTAÇÃO DE BASES DE DADOS INVISÍVEIS

Trabalho de Conclusão de Curso apresentado como parte das atividades para obtenção do título de Engenheiro de Computação do curso de Engenharia de Computação da Universidade Estadual de Feira de Santana, sob orientação do Prof. David Moisés Barreto dos Santos e Co-orientação do Prof. João Batista da Rocha Júnior.

FEIRA DE SANTANA

2008

(3)

AGRADECIMENTOS

Gostaria de prestar meus agradecimentos ao aluno de graduação em Engenharia de Computação da Universidade Estadual de Feira de Santana Anderson Amorim do Nascimento, por ter me auxiliado em fases importantes do meu trabalho, contribuindo tanto na elaboração de código-fonte quanto em discussões que me levaram ao resultado final.

(4)

Resumo

As informações disponíveis na Internet estão distribuídas em duas grandes porções: a World Wide Web (WEB) Superficial e a WEB Profunda. A porção superficial é constituída basicamente por páginas HTML estáticas e a porção profunda é composta por páginas geradas dinamicamente. A WEB profunda apesar de possuir conteúdo direcionado, de qualidade e muitas vezes exclusivo não é muito utilizada, principalmente pela dificuldade que os usuários têm de localizar os sites que fornecem o conteúdo desejado. Para isso, é preciso ter um algoritmo de seleção de bases de dados. Tal algoritmo requer que se crie previamente uma representação das bases de dados (Modelo de Linguagem). A principal contribuição deste trabalho é a criação de um algoritmo capaz de gerar Modelos de Linguagem para as bases de dados da WEB Profunda. É descrito então o processo de aquisição destes Modelos através da amostragem do conteúdo de bases de dados. Resultados experimentais demonstram que é possível, através do algoritmo criado, gerar Modelos de Linguagem utilizáveis a partir da coleta de uma quantidade aceitável de documentos.

Palavras-chave: Recuperação de informação; WEB profunda; Critério de parada; Modelo de

(5)

Abstract

The information available on the Internet is distributed into two big portions: the Surface World Wide Web (WEB) and the Deep WEB. The surface portion is basically formed by static HTML pages and the Deep portion is formed by dynamic generated pages. Although the Deep Web have a directed, high quality and many times exclusive content, is its not commonly used, mainly because of the difficult users have to locate the sites which offers the desired content. Aiming that, it is necessary to have a Database Selection Algorithm. This algorithm requires a representation for these databases (Language Models). The main contribution of this work is the development of an algorithm able to generate Language Models for the Deep WEB databases. It is described then the process of acquiring these Models through the sampling of the databases contents. Experimental results demonstrate that it is possible, using the created algorithm, to generate usefull Language Models through collecting an acceptable number of documents.

Key-words: Information Retrieval; Deep WEB; Stopping Criteria; Language Model; Database

(6)

SUMÁRIO

1 Introdução... 15 1.1 Problemática... 16 1.2 Motivação do estudo ... 17 1.3 Objetivos ... 17 1.4 Estrutura do documento ... 18 2 Referencial teórico... 19

2.1 Representando bases de dados específicas... 19

2.1.1 Amostra de documentos... 19

2.1.2 Modelos de linguagem (Language Models)... 19

2.1.2.1 Adquirindo Modelos de Linguagem Cooperativamente... 20

2.1.2.2 Adquirindo Modelos de Linguagem por amostragem... 21

2.2 Interação com as bases de dados ... 21

2.3 Separação da resposta do conteúdo... 23

2.4 Estratégia de Seleção de Queries ... 27

2.4.1 Aleatória... 27

2.4.2 Aleatória com Freqüência de Documentos (DF) diferente de 1 ... 28

2.4.3 Maiores Freqüências de Documentos (DF) ... 28

2.4.4 Maiores freqüências (TF) ... 28

2.4.5 Maiores freqüências aproximadas (avg_tf)... 29

2.5 Estabelecer Critérios de parada (Stopping Criteria) ... 29

2.5.1 Número de documentos ... 29

2.5.2 Novos termos adicionados ... 30

2.5.3 Freqüência de retorno de documentos iguais ... 31

2.5.4 Diferença relativa (rdiff)... 31

2.6 Trabalhos relacionados... 32

3 Algoritmo de representação: resolvendo problemas, escolhendo estratégias e determinando critérios.... 35

3.1 Interagindo com as bases de dados... 35

3.2 Removendo o conteúdo estático... 38

(7)

3.3.1 Analisando http://www.google.com.br ... 41 3.3.2 Analisando http://br.cade.yahoo.com... 42 3.3.3 Analisando http://www.goocrente.com... 43 3.3.4 Analisando http://www.noah-health.org... 44 3.3.5 Analisando http://www.viewsonic.com... 45 3.3.6 Analisando http://www.virtualchase.com... 46 3.3.7 Analisando http://www.nobel.se ... 47 3.3.8 Considerações ... 47

3.4 Determinando o critério de parada ... 48

3.4.1 Analisando o critério de adição de novos termos no modelo... 48

3.4.1.1 Avaliando http://www.google.com.br... 49 3.4.1.2 Analisando http://br.cade.yahoo.com ... 50 3.4.1.3 Analisando http://www.goocrente.com ... 51 3.4.1.4 Analisando http://www.noah-health.org ... 51 3.4.1.5 Analisando http://www.nobel.se... 52 3.4.1.6 Analisando http://www.viewsonic.com... 53 3.4.1.7 Analisando http://www.virtualchase.com... 53 3.4.1.8 Considerações ... 54

3.4.2 Avaliando critério baseado na Diferença Relativa... 56

3.4.2.1 Analisando http://www.google.com.br... 58 3.4.2.2 Analisando http://br.cade.yahoo.com ... 58 3.4.2.3 Analisando http://www.goocrente.com ... 59 3.4.2.4 Analisando http://www.noah-health.org ... 60 3.4.2.5 Analisando http://www.nobel.se... 61 3.4.2.6 Analisando http://www.viewsonic.com... 61 3.4.2.7 Analisando http://www.virtualchase.com... 62 3.4.2.8 Considerações ... 63 3.5 Definição do Algoritmo ... 68 4 Resultados obtidos... 71

4.1 Modelo de Linguagem do site http://www.google.com.br ... 71

4.2 Modelo de Linguagem do site http://br.cade.yahoo.com... 73

4.3 Modelo de Linguagem do site http://www.goocrente.com... 75

4.4 Modelo de Linguagem do site http://www.noah-health.org ... 76

4.5 Modelo de Linguagem do site http://www.nobel.se ... 77

4.6 Modelo de Linguagem do site http://www.viewsonic.com... 79

(8)

4.8 Modelo de Linguagem do site http://www.scirus.com ... 82

4.9 Modelo de Linguagem do site http://cats.about.com ... 83

4.10 Considerações ... 85

5 Conclusão... 86

(9)

LISTA DE FIGURAS

Figura 1: Formulário de busca do site www.scirus.com com alguns elementos ocultados ... 22

Figura 2: Página de resposta do site www.goocrente.com. Nas elipses encontram-se os links para os documentos da base de dados deste site... 24

Figura 3: Exemplo de página WEB contendo diversas regiões de importâncias diferentes. Extraído de (SONG, et al., 2004) ... 26

Figura 4: Documentos Examinados X Novos termos adicionados. Adaptado de (MONROE, et al., 2000) 30 Figura 5:Mudanlas no rdiff a cada 50 documentos para três bases de dados diferentes (CACM, WSJ88 e TREC-123), extraído de (CALLAN, et al., 1999)... 32

Figura 6: Fluxo de informações entre um cliente e um serviço WEB (engenho de busca) durante uma requisição. Extraído de (SILVA, et al., 2003)... 36

Figura 7: Formulário de busca HTML hipotético... 37

Figura 8: Termos no Modelo de Linguagem X Número de documentos analisados para www.google.com.br usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória)... 41

Figura 9: Termos no Modelo de Linguagem X Número de documentos analisados para BR.cade.yahoo.com usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória)... 42

Figura 10: Termos no Modelo de Linguagem X Número de documentos analisados para www.goocrente.com usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória)... 43

Figura 11: Termos no Modelo de Linguagem X Número de documentos analisados para www.noah-health.org usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória) ... 44

Figura 12: Termos no Modelo de Linguagem X Número de documentos analisados para www.viewsonic.com usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória)... 45

Figura 13: Termos no Modelo de Linguagem X Número de documentos analisados para www.virtualchase.com usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória)... 46

Figura 14: Termos no Modelo de Linguagem X Número de documentos analisados para www.nobel.se usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória) ... 47

Figura 15: Número de termos adicionados X Documentos analisados para o site http://www.google.com.br. ... 49

Figura 16: Número de termos adicionados X Documentos analisados para o site http://br.cade.yahoo.com. ... 50

Figura 17: Número de termos adicionados X Documentos analisados para o site http://www.goocrente.com. ... 51

Figura 18: Número de termos adicionados X Documentos analisados para o site http://www.noah-health.org... 52

Figura 19: Número de termos adicionados X Documentos analisados para o site http://www.nobel.se... 52

Figura 20: Número de termos adicionados X Documentos analisados para o site http://www.viewsonic.com... 53

Figura 21: Número de termos adicionados X Documentos analisados para o site http://www.virtualchase.com. ... 54

Figura 22: Diferença Relativa (rdiff) X Documentos analisados para o site www.google.com.br. ... 58

Figura 23: Diferença Relativa (rdiff) X Documentos analisados para o site br.cade.yahoo.com. ... 59

(10)

Figura 25: Diferença Relativa (rdiff) X Documentos analisados para o site www.noah-health.org. ... 60

Figura 26: Diferença Relativa (rdiff) X Documentos analisados para o site www.nobel.se... 61

Figura 27: Diferença Relativa (rdiff) X Documentos analisados para o site www.viewsonic.com. ... 62

Figura 28: Diferença Relativa (rdiff) X Documentos analisados para o site www.virtualchase.com... 62

Figura 29: Variação na mediana das Diferenças Relativas X número de documentos processados para o site www.google.com.br ... 64

Figura 30: Variação na mediana das Diferenças Relativas X número de documentos processados para o site br.cade.yahoo.com ... 65

Figura 31: Variação na mediana das Diferenças Relativas X número de documentos processados para o site www.goocrente.com ... 65

Figura 32: Variação na mediana das Diferenças Relativas X número de documentos processados para o site www.noah-health.org... 66

Figura 33: Variação na mediana das Diferenças Relativas X número de documentos processados para o site www.nobel.se ... 66

Figura 34: Variação na mediana das Diferenças Relativas X número de documentos processados para o site www.viewsonic.com ... 67

Figura 35: Variação na mediana das Diferenças Relativas X número de documentos processados para o site www.virtualchase.com... 67

(11)

LISTA DE TABELAS

Tabela 1: Quantidades médias iniciais e finais de bytes do arquivo e de tags retiradas a partir da

submissão de cinco queries a cinco sites distintos. ... 40 Tabela 2: Bases de dados selecionadas para análise separadas por critérios... 41 Tabela 3: Caracterização dos gráficos da quantidade de termos adicionados X quantidade de documentos,

para cada uma das bases de dados analisadas quanto a dispersão, a quantidade de termos

adicionados no final do gráfico e a sua tendência a estagnação... 55 Tabela 4: Valores máximos e médios de rdiff para cada um dos sites analisados. ... 63 Tabela 5: Quantidade de documentos recuperados para se atingir um valor de 7 na mediana dos rdiffs.. 68 Tabela 6: Modelo de Linguagem do site www.google.com.br Gerado a partir do processamento de 930

documentos... 72 Tabela 7: Modelo de Linguagem do site br.cade.yahoo.com Gerado a partir do processamento de 138

documentos... 74 Tabela 8: Modelo de Linguagem do site www.goocrente.com. Gerado a partir do processamento de 510

documentos... 76 Tabela 9: Modelo de Linguagem do site www.noah-health.org. Gerado a partir do processamento de 300

documentos... 77 Tabela 10: Modelo de Linguagem do site www.nobel.se. Gerado a partir do processamento de 240

documentos... 78 Tabela 11: Modelo de Linguagem do site www.viewsonic.com. Gerado a partir do processamento de 120

documentos... 80 Tabela 12: Modelo de Linguagem do site www.virtualchase.com. Gerado a partir do processamento de

180 documentos... 81 Tabela 13:Modelo de Linguagem do site www.scirus.com. Gerado a partir do processamento de 150

documentos... 83 Tabela 14:Modelo de Linguagem do site cats.about.com. Gerado a partir do processamento de 100

(12)

LISTA DE EQUAÇÕES

Equação 1: Calculo da frequencia do termo aproximada (avg_tf) ... 20 Equação 2: Calculo da diferença relativa (rdiff) entre dois rankings. ... 31 Equação 3: Taxa de freqüência de termos, onde ctfi é o número de vezes que um dado termo apareceu na

base de dados, V é o vocabulário aprendido, e V’ é o vocabulário total da base de dados... 56 Equação 4: Coeficiente de correlação de Spearman, onde di é a diferença no ranking de um termo em

(13)

LISTA DE ALGORITMOS

Algoritmo 1: Aquisição do Modelo de Linguagem a partir da técnica da amostragem. Adaptado de (CALLAN, et al., 1999)... 21 Algoritmo 2: Processo de aquisição dos elementos de um formulário de busca HTML. Usado para resolver

o problema da interação com as bases de dados. ... 37 Algoritmo 3: Algoritmo utilizado para a remoção do conteúdo estático das páginas de resposta. ... 39 Algoritmo 4: Algoritmo final em pseudocódigo utilizado na geração dos Modelos de Linguagens ... 70

(14)

LISTA DE ABREVIATURAS E SIGLAS

DF Número de documentos que um termo apareceu em uma base de dados, do inglês

Document Frequency.

TF Número de vezes que um termo apareceu em uma base de dados, do inglês Term

Frequency.

AVG_TF Freqüência do termo aproximada, obtida através de uma ponderação entre o TF e o DF, do inglês Average Term Frequency.

RDIFF Diferença relativa entre dois rankings igualmente intervalados, do inglês Relative

Difference.

LM Modelo de Linguagem, do inglês Language Model

QUERIES Palavras-chave (termos) que são submetidos a um site de busca.

WEB World Wide Web

HTML Linguagem de Marcação de Hipertextos, do inglês HyperText Markup Language

DOM Modelo de objeto de documento, do inglês Document Object Model

RTDM-TD Mapeamento Top-Down Restrito - Detecção de Template, do inglês Restricted Top-Down Mapping – Template Detection.

(15)

1

Introdução

O volume de informações disponível na internet cresce a cada dia. A partir deste fato, surgiram os primeiros estudos relacionados à recuperação de informação na World Wide Web (WEB), os quais têm por finalidade disponibilizar meios para recuperar estas informações.

As informações na WEB estão distribuídas em duas grandes porções: a WEB Superficial, também conhecia como Surface WEB ou Visible WEB e a WEB Profunda, também chamada de Deep WEB, Invisible WEB, ou Hidden WEB (GOSHME, 2006).

A WEB superficial é a porção da WEB que é alcançada por motores de busca convencionais como o Google, Cadê, Ask, etc (GOSHME, 2006). Esta porção tem por principal característica a facilidade de acesso, onde as suas páginas podem ser recuperadas usualmente por uma simples URL (GOSHME, 2006). Estima-se que esta parte da web é composta de 11.5 bilhões de páginas (GULI, et al., 2005).

A WEB profunda, foco deste trabalho, é a porção da WEB não acessada pelos motores de busca convencionais (GOSHME, 2006). As informações presentes nesta porção não são facilmente recuperadas porque estão escondidas atrás de formulários HTML (HyperText Markup Language) e serviços de WEB Services, onde estas informações só são publicadas através de requisições feitas pelos usuários (BARBOSA, et al., 2004).

É válido ressaltar que no ano de 2000 a WEB profunda continha um conteúdo entre 400 e 500 vezes superior ao presente na WEB superficial (BERGMAN, 2000).

Motores de busca, além de terem foco em uma determinada porção da WEB, eles podem optar por prover aos usuários dois tipos de busca: a busca Geral, que cobre todas as áreas de interesse (ex.: Google, Cadê, Ask) e a Específica, também conhecida como busca Vertical, que tem foco em apenas uma área de interesse (ex. www.healthline.com, www.scirus.com)(GOSHME, 2006). São justamente os sites provedores de busca vertical que normalmente dão acesso ao conteúdo presente na WEB profunda.

A busca vertical, apesar de dar acesso a conteúdo direcionado e de qualidade, ainda não é muito utilizada. Primeiramente porque os usuários em geral não conhecem os sites que

(16)

provêem este tipo de busca e, além disto, para os usuários que os conhecem, é muito difícil escolher aonde especificamente buscar, já que a busca em todos os sites conhecidos seria impraticável.

A solução que vêm sendo proposta para facilitar o acesso aos sites de busca vertical é a utilização de um Algoritmo de Seleção de Base de Dados (Database Selection Algorithm) capaz de realizar o ranking dos sites a partir de queries (palavras-chave) enviadas pelos usuários (CALLAN, et al., 1999).

1.1

Problemática

A criação do referido algoritmo requer que sejam criadas previamente representações das bases de dados, para que a partir destas e da necessidade de informação de um usuário, seja possível encaminhá-lo ao serviço de busca (especializado) mais satisfatório.

As representações citadas acima podem se dar na forma de um conjunto de termos, denominado Modelo de Linguagem (CALLAN, et al., 1999), ou simplesmente através de um conjunto (amostra) de documentos. Para ilustrar, uma base de dados de medicina provavelmente pode ser representada por termos como “saúde”, “câncer”, “paciente”, “diagnóstico”, “exame”, entre outros, ou documentos que discorram sobre primeiros socorros, medicina preventiva, novidades na pesquisa sobre o coração, etc.

A problemática principal de construir tais representações está em definir qual a melhor estratégia para realizar a coleta recorrente dos documentos pertinentes a base de dados e em quando terminar a referida coleta.

Para que haja uma coleta recorrente de documentos, é necessário que se envie repetidamente queries (palavras-chave) ao site de busca (ex.: casa, amor, etc.), uma vez que estes documentos só são publicados através de requisições feitas pelos usuários. O segundo fator está na determinação da escolha correta de quais queries serão enviadas ao serviço de busca.

Uma vez iniciada a coleta recorrente dos documentos, agora é preciso conhecer o momento exato de encerrar esta atividade. Uma parada precoce produz uma representação infiel ao conteúdo da base de dados, ou seja, será obtido um conjunto de termos que não estão de acordo com o conteúdo fornecido. O termo “Deus”, por exemplo, não está muito bem relacionado ao conteúdo de uma base de dados de artigos médicos ou de tecnologia. Por outro

(17)

lado, uma parada tardia recai em um desperdício de recursos computacionais (MONROE, et al., 2000).

1.2

Motivação do estudo

Como afirmado anteriormente, estima-se que a Web profunda possua uma quantidade de documentos de 400 a 500 vezes superior ao da WEB superficial (BERGMAN, 2000). A apresentação destes números, associada ao fato de que o conteúdo contido nesta porção da WEB não é acessado pelos motores de busca comuns (Google, Cadê, Ask, etc.) motiva a necessidade de se criar meios para a recuperação desta informação, visto que, se não forem disponibilizados tais meios, todas essas informações poderão ser “perdidas”.

Além disso, o estudo da problemática apresentada é importante porque buscas verticais evitam uma chuva de resultados irrelevantes (fora da necessidade do usuário). A busca pelo termo heart no site de busca geral Google (www.google.com.br), trás uma “chuva” de músicas e poesias sobre o coração, enquanto que a busca no site noah-health(www.noah-health.org) retorna uma porção de artigos médicos de qualidade relacionados a doenças do coração.

Por fim, o conteúdo apresentado por estes sites é geralmente exclusivo, supervisionado e atualizado periodicamente, fato este que acaba por garantir a melhoria na qualidade dos documentos (GOSHME, 2006).

1.3

Objetivos

Diante do contexto apresentado, o objetivo geral deste trabalho é desenvolver um algoritmo para obter uma representação de bases de dados invisíveis.

Para cumprir este objetivo, traçaram-se os seguintes objetivos específicos:

• Implementar primeiramente um algoritmo capaz de recuperar os documentos presentes nas páginas de resposta a uma busca. Este algoritmo terá duas etapas:

 Interação com os formulários da Linguagem de Marcação de HyperTextos (HyperText Markup Language) HTML de busca: verificar como o formulário de busca trabalha para poder enviar queries através dele;

(18)

 Pré-processamento: remoção de conteúdos não-relevantes das páginas de resposta (propagandas, anúncios, links informativos, etc).

• Analisar a velocidade no aprendizado da representação de uma determinada base de dados a partir de estratégias de seleção de queries pré-definidas;

• Desenvolver uma forma de mensurar o momento em que a representação de uma base de dados específica esta suficientemente satisfatória.

1.4

Estrutura do documento

Para a apresentação deste trabalho, o documento foi dividido em mais quatro capítulos, tratando os aspectos mais relevantes para a compreensão do objeto de estudo.

No segundo capítulo é fornecido um embasamento teórico para uma melhor compreensão do trabalho, onde são esclarecidos todos os problemas envolvidos e discutidos conceitos baseados na literatura. Também são apresentados os trabalhos relacionados a este.

No terceiro capítulo, é discutido o algoritmo proposto para a resolução do problema. No quarto capítulo, são analisados os resultados alcançados, obtidos através da aplicação do algoritmo proposto.

Por fim, no quinto capitulo, são feitas as conclusões finais e sugestões para trabalhos futuros.

(19)

2

Referencial teórico

Neste capítulo são apresentados os conceitos envolvidos na concepção deste trabalho. Na Seção 2.1 , são discutidas as formas de representações de bases de dados específicas. A seção 2.2 discute o problema da interação com as bases de dados. A seção 2.3 revisa o problema da remoção de conteúdo indesejado nas páginas de resposta. Na seção 2.4 são apresentadas algumas estratégias de seleção de queries discutidas na literatura. Na seção 2.5 são revisados e discutidos alguns critérios de parada. Por fim, na seção 2.6 são apresentados alguns trabalhos relacionados.

2.1

Representando bases de dados específicas

O primeiro passo para cumprir o objetivo proposto (representar uma base de dados) é estabelecer qual o resultado desta representação, ou seja, em que forma esta representação se mostrará, por amostra de documentos e/ou Modelos de Linguagem.

2.1.1 Amostra de documentos

Uma forma simples de representar uma base de dados é colher uma amostra de documentos pertinentes a ela. Esta amostra deve ser a menor possível, porém que contenha a essência do conteúdo da base de dados.

2.1.2 Modelos de linguagem (Language Models)

Modelos de linguagem podem ser feitos de maneiras bastante complexas, porém eles tendem a ser bastante simples, contendo uma lista de termos presentes na base de dados e suas respectivas freqüências de ocorrência (CALLAN, et al., 1999).

Uma outra métrica neste contexto é a freqüência de um termo em uma base de dados, que pode ser medida de diferentes formas, onde as principais são:

(20)

• a quantidade de vezes que o dado termo aparece (Term Frequency, TF);

• uma ponderação entre os dois acima (DF e TF), chamada em Callan, et al. (1999) de freqüência do termo aproximada (Average Term Frequency, AVG_TF) (Equação 1).

DF

TF

tf

avg

_

=

Equação 1: Calculo da frequencia do termo aproximada (avg_tf)

Modelos de Linguagem podem ser construídos de duas formas, como discutido a seguir.

2.1.2.1 Adquirindo Modelos de Linguagem Cooperativamente

Um protocolo denominado STARTS (Stanford Protocol Proposal for Internet Retrieval and Search ) para aquisição de Modelos de Linguagem foi proposto por Gravano, et al. (1997), o qual consiste em adquirir modelos de linguagem de forma cooperativa, ou seja, neste protocolo cada base de dados é responsável por ceder a sua própria representação.

Existem diversos problemas provenientes do uso deste protocolo, onde os principais são: a Dependência de Cooperação, e a Representação Falsa (misrepresenting).

A dependência de cooperação decorre do fato de que um dado provedor pode simplesmente não querer cooperar com um algoritmo de seleção de base de dados, tornando a recuperação da informação na WEB profunda restrita a sites que querem ter os seus documentos recuperados e que, além disto, desenvolvam algoritmos às vezes complexos para tal.

O problema da representação falsa provém do fato de que, uma vez cedido um Modelo de Linguagem espontaneamente por um site, nada garante que esta representação seja verdadeira, ou seja, corresponda verdadeiramente ao conteúdo presente na base de dados (CALLAN, et al., 1999). Vários seriam os motivos que levariam um site a fornecer uma representação falsa do seu conteúdo, onde o principal deles é aumentar o número de visitas.

(21)

2.1.2.2 Adquirindo Modelos de Linguagem por amostragem

Esta técnica consiste em adquirir o Modelo de Linguagem de toda uma base de dados a partir da coleta de amostras, onde entende-se por coleta de uma amostra, o envio de uma query e análise dos documentos retornados.

O algoritmo básico para a realização desta tarefa é relativamente simples (CALLAN, et al., 1999) conforme Algoritmo 1:

Algoritmo 1: Aquisição do Modelo de Linguagem a partir da técnica da amostragem. Adaptado de (CALLAN, et al., 1999)

Adquirir Modelos de Linguagem através de amostragem é uma importante técnica, pois não exige a colaboração da base de dados e principalmente porque o Modelo aprendido é fiel ao conteúdo da base de dados (não é sujeito a representação falsa intencionalmente).

Dados os problemas da abordagem cooperativa e as vantagens da abordagem por amostra, o foco deste trabalho optou por essa última.

2.2

Interação com as bases de dados

Embora expressa de forma simples no Algoritmo 1, a tarefa de enviar queries a um site tem seus problemas. Cada formulário HTML de busca possui as suas particularidades que precisam ser levadas em consideração (BARBOSA, et al., 2004). Dentre estas particularidades estão:

(22)

• O fato de alguns sites eliminarem as chamadas stopwords (palavras que geralmente nada contribuem para o resultado de uma busca como os artigos a, o, etc);

• Alguns sites realizam o processo de stemming (retirada de sufixos das palavras) e outros não;

• Sites aceitam consultas de tipos diferentes (and , or, phrase);

O processo de interação com uma base de dados começa com uma fase de aprendizado, ou fase de detecção das características da interface (BARBOSA, et al., 2004), onde primeiramente se extrai os elementos do formulário HTML (input para busca, checkboxes, comboboxes, etc).

A Figura 1 mostra o código HTML do formulário de busca extraído do site www.scirus.com, destacando dentre os vários elementos da linguagem de marcação os necessários para interagir com o formulário.

(23)

Em seguida é preciso saber se o site processa as stopwords. Uma das estratégias para realizar esta detecção é enviar primeiramente uma dummy word (ex.: husahdhashu) para identificar uma página de erro, ou neste caso, uma página que não possui resultados. Na seqüência, são enviadas uma série de stopwords, cujos resultados são continuamente comparados com a página de erro anteriormente identificada (BARBOSA, et al., 2004).

2.3

Separação da resposta do conteúdo

Uma página típica de resultados contém três tipos de conteúdo: conteúdo estático, semi-dinâmico e semi-dinâmico (ZHAO, et al., 2006).

O conteúdo estático é independente da query usada na consulta e pode aparecer sob várias formas como: links patrocinados, imagens, tabelas, texto puro, etc.

Os conteúdos do tipo semi-dinâmico são afetados pela query, mas ainda assim não tem relação direta com qualquer termo específico. Como exemplo de conteúdo semi-dinâmico pode-se citar trechos de texto que informam estatísticas de busca como: “Foram encontrados 30000 resultados para as palavras chave...”.

Por fim, as seções dinâmicas da página são totalmente dependentes das queries e se apresentam na forma de links para outras páginas ou documentos relacionados presentes na base de dados. Uma ferramenta de extração de resultados preocupa-se basicamente com a extração das seções dinâmicas.

O problema da separação da resposta do conteúdo consiste em separar os links para os documentos que dão acesso a base de dados, do conteúdo do site que não interessa (links de propaganda, imagens, ou outros serviços oferecidos pelo site).

A Figura 2 mostra uma página de resposta a uma query enviada para o site www.goocrente.com. O conteúdo de interesse (links para os documentos da base) encontra-se dentro das elipses. Ao mesmo tempo é possível ver conteúdo que não interessa ao lado direito dos resultados.

(24)

Figura 2: Página de resposta do site www.goocrente.com. Nas elipses encontram-se os links para os documentos da base de dados deste site.

Diversos tipos de aplicações necessitam interagir com engenhos de busca e analisar os resultados retornados por eles (deep web crawlers, metasearch engines, language modelling tools). Por causa disso, há uma demanda crescente por métodos eficientes de extração de resultados em páginas de respostas. Impulsionadas por esta demanda, muitas pesquisas têm sido feitas na área de extração de conteúdo de páginas HTML.

As primeiras técnicas de extração desenvolvidas eram semi-automáticas, ou seja, necessitavam de algum tipo de intervenção humana (ADELBERG, 1998) ; (BAUMGARTNER, et al., 2001); (HSU, et al., 1998), porém à medida que o volume e a escala das aplicações web foram crescendo, estas técnicas foram se tornando impraticáveis.

(25)

Atualmente existe a necessidade de que se elimine totalmente a necessidade de intervenção humana.

Diversas técnicas, a partir de então, baseadas nas mais diversas estratégias vêm sendo desenvolvidas. A maior parte delas utiliza a árvore HTML DOM (Document Object Model) para realizar esta tarefa, como foi o trabalho de Vieira, et al. (2006).

Dentre as técnicas mais recentes pode-se citar o uso do algoritmo RTDM-TD (Restricted Top-Down Mapping – Template Detection) (VIEIRA, et al., 2006), que usa um método baseado em análises da estrutura das páginas de resultados, comparando semelhanças entre as árvores DOM das páginas e extraindo sub árvores comuns entre um determinado número de amostras; e o algoritmo MSE (Multiple Section Extraction) (ZHAO, et al., 2006), baseado em análise de seções similares entre páginas de resultados, concentrando-se principalmente nos problemas da extração de seções. A extração das seções é feita com base na identificação dos chamados marcadores de limite de seção (section boundaries markers).

Ambas são boas alternativas, apresentam bom desempenho e alta precisão na extração. Porém, o MSE é um modelo mais próximo da realidade de extração de resultados em páginas de resultados. Enquanto o RTDM-TD se mostrou um pouco mais genérico e por isso, mais difícil de adaptar as necessidades deste trabalho.

Talvez a estratégia mais inovadora dentre as analisadas foi a baseada na coleta de dados visuais (dados extraídos da imagem) das páginas HTML (SONG, et al., 2004).

(26)

Figura 3: Exemplo de página WEB contendo diversas regiões de importâncias diferentes. Extraído de (SONG, et al., 2004)

Nesta solução, primeiramente é utilizado o algoritmo denominado VIPS (VIsion-based Page Segmentation) (CAI, et al., 2003) para dividir a página em blocos. A Figura 3 mostra dentro das elipses exemplos de tais blocos. Depois de divididos de forma “visual”, várias características (posição na página, tamanho, etc) dos blocos extraídos são armazenadas em um vetor de características.

A aplicação em seguida de algoritmos de treinamento baseado em SVN (Support Vector Machines) ou redes neurais torna possível a identificar a importância dos blocos que foram

(27)

extraídos na página. De forma conclusiva, estes artifícios podem ser utilizados para a extração dos blocos onde se encontram os links para os documentos retornados depois de uma busca.

A falta de um método eficiente de extração de conteúdo pode comprometer negativamente com os resultados finais, pois a presença de conteúdo desnecessário afeta negativamente a performance e a precisão de aplicações que precisam processar páginas de resultados.

2.4

Estratégia de Seleção de Queries

Conforme expresso no Algoritmo 1, queries são enviadas a um site até que uma determinada condição de parada seja alcançada. O problema a ser discutido neste tópico consiste em definir uma estratégia para determinar quais queries serão submetidas.

A escolha destas queries interfere diretamente na representatividade e na velocidade com que um Modelo de Linguagem é adquirido, por isto, escolher a estratégia correta é uma das principais tarefas no processo de representação em questão. Diversas estratégias vêm sendo discutidas e estudadas, onde as principais serão descritas nos tópicos a seguir e analisadas no próximo capítulo.

2.4.1 Aleatória

Esta técnica consiste em selecionar termos de forma aleatória para servirem como queries. O conjunto de termos utilizado para a escolha é do próprio Modelo de Linguagem em um momento qualquer.

Apesar de serem esperados inicialmente os melhores resultados para as técnicas baseadas em freqüências (apresentadas a seguir), é válido ressaltar que segundo os trabalhos apresentados em Callan, et al. (1999) e Monroe, et al. (2000), nos quais eles avaliam um pequeno conjunto de três bases de dados locais, foi a partir desta técnica que foram obtidos os melhores resultados. A explicação dada para o sucesso desta estratégia foi que os termos com freqüências altas tendem a estar sempre em contextos similares, retornando sempre os mesmos documentos.

(28)

2.4.2 Aleatória com Freqüência de Documentos (DF) diferente de 1

Esta técnica é bastante similar a explanada no tópico 2.4.1 , a única diferença é que a partir de determinada quantidade de documentos analisados – em Monroe, et al. (2000) esta quantidade foi 25 – os termos escolhidos aleatoriamente que apareceram em somente um documento são descartados.

A idéia que motiva a utilização desta técnica é que termos com DFs baixas pouco contribuem para a rápida criação do modelo de linguagem (MONROE, et al., 2000).

Os resultados obtidos para esta técnica não foram diferencialmente melhores em relação aos da técnica do tópico 2.4.1 como se esperava. A eliminação de termos raros teve poucos efeitos nos Modelos de Linguagem gerados (MONROE, et al., 2000), de modo que os resultados foram muito similares aos obtidos para a técnica do tópico 2.4.1 .

2.4.3 Maiores Freqüências de Documentos (DF)

Esta técnica consiste basicamente em escolher os termos com DFs mais altas para servirem como queries.

A hipótese inicial que estimula a escolha desta estratégia é que os termos mais freqüentes em uma base de dados produziriam uma amostragem relativamente aleatória de documentos, pois seria mais provável que eles aparecessem em uma variedade de contextos (CALLAN, et al., 1999).

É importante ressaltar que os resultados obtidos em trabalhos anteriores (CALLAN, et al., 1999) ; (MONROE, et al., 2000) não comprovaram a hipótese supracitada. Estas conclusões, segundo os seus autores, foram obtidas de forma empírica.

2.4.4 Maiores freqüências (TF)

Bem parecida com a técnica discutida no tópico 2.4.3 , esta técnica consiste em selecionar os termos com as maiores freqüências (que apareceram mais vezes) para servirem como queries.

(29)

2.4.5 Maiores freqüências aproximadas (avg_tf)

A freqüência do termo aproximada é dada pela divisão entre o TF e o DF de um termo (Equação 1). A estratégia de seleção baseada em avg_tf consiste em selecionar os termos com os maiores valores para esta divisão.

Esta técnica é importante porque leva em consideração não só o número de vezes que um termo apareceu, mas também o número de documentos, e tal aproximação pode trazer bons resultados.

2.5

Estabelecer Critérios de parada (Stopping Criteria)

Na geração de Modelos de Linguagem por amostragem, queries são submetidas até que uma condição de parada seja alcançada, conforme Algoritmo 1.

A grande dificuldade em se determinar tal critério reside no fato de que não se conhece a quantidade de documentos presentes na base de dados, o que torna difícil saber se o modelo gerado até um determinado momento já corresponde a uma boa representação da base.

Com base neste fato, algumas estratégias foram desenvolvidas para que este problema seja resolvido sem a necessidade de se conhecer a quantidade de documentos (CALLAN, et al., 1999) ; (MONROE, et al., 2000).

A determinação do critério de parada correto é o principal fator na qualidade deste trabalho, já que ao se estabelecer o critério correto, por conseguinte se consegue um bom Modelo de Linguagem e conseqüentemente uma boa representação da base de dados analisada.

2.5.1 Número de documentos

O critério de para baseado no número de documentos consiste basicamente em estipular uma quantidade de documentos a serem processados. Este talvez seja o critério menos eficiente de todos, pois ele não garante que a parada na leitura dos documentos acontecerá na hora correta.

Caso a parada aconteça antes do necessário, então o Modelo de Linguagem gerado não representará bem a base de dados em análise. Caso a parada aconteça depois, isto implicará em um desperdício de recursos computacionais.

(30)

2.5.2 Novos termos adicionados

Este critério de parada consiste em verificar o decrescimento na adição de novos termos conforme novos documentos vão sendo processados. Em análise feita por Monroe, et al. (2000) este decrescimento se dá normalmente em uma curva exponencial negativa (Figura 4), onde esta característica pode ser explorada para a resolução do problema.

Figura 4: Documentos Examinados X Novos termos adicionados. Adaptado de (MONROE, et al., 2000)

A idéia principal que motiva o uso deste critério de parada está na inferência de que, uma vez que poucos novos termos passaram a ser inseridos no Modelo de Linguagem, já devem ter sido encontrados quase todos os termos presentes nos documentos, e por conseqüência, pouco se tem a aprender sobre a base de dados deste momento em diante.

É válido ressaltar que a afirmação feita baseada na lei de Zipf (1949) de que em geral 50% dos termos ocorrem apenas uma vez, 17% ocorrem duas, e 8% ocorrem três em toda a base de dados (CALLAN, et al., 1999), reforçado pela afirmação de que 51% dos termos ocorrem apenas uma vez (MONROE, et al., 2000), torna esta técnica bastante inviável, já que o decrescimento no número de termos adicionados não implica necessariamente a inexistência

(31)

de novos termos a serem adicionados, já que 75% dos termos ocorrem três vezes ou menos em toda a base de dados.

2.5.3 Freqüência de retorno de documentos iguais

A medida que queries são enviadas e documentos são analisados, a freqüência de retorno de documentos já explorados aumenta cada vez mais.

Esta técnica consiste em explorar a taxa de retorno de documentos já analisados para determinar a condição de parada, pois já que o site está devolvendo sempre os mesmos documentos, pode-se concluir que boa parte da base de dados já deve ter sido processada.

Esta técnica ainda não foi vista em nenhum artigo encontrado, e portanto, ela será desenvolvida e os seus resultados serão divulgados possivelmente em um novo trabalho.

2.5.4 Diferença relativa (rdiff)

Esta técnica foi publicada em Callan, et al. (1999) e consiste em medir a diferença média no ranking de um termo em instantes igualmente intervalados.

A cada determinada quantidade de documentos analisados, é extraído e armazenado o ranking R1 dos termos do Modelo de Linguagem, após a análise de mais um número determinado de documentos (ex.: 50 documentos), um novo ranking R2 é extraído e então a seguinte equação é aplicada.

)

(

*

1

2

=

abs

d

i

n

rdiff

Equação 2: Calculo da diferença relativa (rdiff) entre dois rankings.

Onde n equivale ao número de termos do ranking, e di equivale a diferença entre os

(32)

Figura 5:Mudanlas no rdiff a cada 50 documentos para três bases de dados diferentes (CACM, WSJ88 e TREC-123), extraído de (CALLAN, et al., 1999).

Esta técnica é interessante, pois os valores de rdiff não parecem sorfrer interferência da quantidade de documentos lidos como nas outras técnicas. A Figura 5 mostra um gráfico da variação no rdiff em função do número de documentos divulgado em Callan, et al. (1999).

2.6

Trabalhos relacionados

Apesar da grande quantidade de trabalhos publicados nas mais diversas áreas que cobrem a recuperação da informação na WEB invisível, infelizmente a literatura é escassa quanto ao objetivo central deste trabalho.

O problema da estratégia de seleção de queries é normalmente discutido juntamente com o problema do critério de parada. Dentre os principais trabalhos que o fazem estão: Callan, et al. (1999)a, Callan, et al. (1999)b e Monroe, et al. (2000).

Em Callan, et al. (1999) é discutida a estratégia e as motivações de se usar a amostragem dos documentos das bases de dados através de queries para gerar representações do conteúdo. Neste trabalho, são estudadas três bases de dados locais e conhecidas, em termos de crescimento da taxa de freqüência de termos (ctf ratio) e do coeficiente de correlação de Spearman, outras análises importantes também são feitas.

Talvez por se tratar dos mesmos autores, o trabalho apresentado por Callan, et al. (1999)a é bastante semelhante ao anterior, pois utiliza as mesmas bases de dados e faz as mesmas análises, apesar disto, o trabalho em questão apresentou diferenças por abordar mais de perto

(33)

a geração de Modelos de Linguagem e principalmente por apresentar o conceito de Diferença Relativa (rdiff).

Monroe, et al. (2000) apresenta um conteúdo mais voltado para determinação de critérios de parada. Eles avaliam o crescimento na quantidade de termos presentes no Modelo em função da quantidade de documentos examinados utilizando diversas estratégias de seleção de queries e faz diversas abordagens que podem ser utilizadas na determinação de um critério de parada, embora no final ele não estabeleça nenhuma.

De um modo geral, os três trabalhos estão bastante relacionados. O grande problema está no fato de suas análises terem sido feitas em cima de poucas bases de dados (apenas três) e, além disto, em cima de bases de dados locais, onde se conhece a quantidade real de documentos e termos e não existe a presença de conteúdo indesejado, que acaba por modificar os resultados anteriormente obtidos e invalidar as técnicas utilizadas.

Não tão intimamente relacionados como os trabalhos citados anteriormente, alguns trabalhos também fazem parte do estado da arte nesta área. O trabalho apresentado por Gravano, et al. (2003) implementa um sistema capaz de realizar a classificação (no sentido de categorização em áreas do conhecimento) de bases de dados invisíveis.

Apesar de os objetivos do QProber se parecerem, a primeira vista, com os objetivos deste trabalho, ele difere totalmente, visto que o objetivo do QProber é “categorizar” as bases de dados (ex.: esporte, música, dança, etc) e não montar uma estrutura que pode ser utilizada para realizar o ranking das bases de dados a partir de queries enviadas por usuários.

Em Gravano, et al. (1997) é proposta uma alternativa diferente para a criação de Modelos de Linguagem, denominada forma cooperativa. Esta proposta apresenta sérios problemas e limitações, onde os principais são a dependência de cooperação e a representação falsa, apesar dos contratempos decorrentes do uso desta estratégia, a discussão feita a respeito de Modelos de Linguagem se faz válida.

É valido ressaltar que o projeto GoshMe (GOSHME, 2006) já oferece um serviço de seleção de bases de dados, ou seja, já existe uma estrutura de engenho de busca capaz de extrair conteúdo da web invisível. Porém, os seus algoritmos e estratégias não são divulgados.

Em resumo, muitas pesquisas têm sido desenvolvidas na área de recuperação de informação na WEB invisível, porém as principais delas são pobres em relação a amostra utilizada nos experimentos e não simulam as condições reais da WEB invisível. Talvez as

(34)

pesquisas mais avançadas estejam sendo desenvolvidas pelo GoshMe, porém nada se pode afirmar de forma concreta, uma vez que eles não publicam os seus algoritmos e estratégias.

(35)

3

Algoritmo de representação:

resolvendo problemas,

escolhendo estratégias e

determinando critérios.

Este capítulo tem por objetivo descrever como foi resolvido cada problema levantado no capitulo 2 . A seção 3.1 descreve como foi resolvido de forma simples o problema da interação com as bases de dados, de modo a tornar possível o envio de queries para a maioria dos sites. A seção 3.2 descreve o algoritmo utilizado para a resolução do problema da remoção de conteúdo indesejado. Na seção 3.3 é descrito o procedimento experimental e os resultados obtidos para tornar possível a escolha correta da estratégia de seleção de queries. Na seção 3.4 são descritos os procedimentos experimentais feitos para a determinação correta do critério de parada. Foram feitas avaliações em cima do decrescimento no número de termos adicionados e da diferença relativa, cujos resultados podem ser vistos nos tópicos 3.4.1 e 3.4.2 respectivamente. Por fim, na seção 3.5 é descrito o algoritmo final produzido com base nos resultados obtidos nas seções anteriores (3.1 a 3.4 ).

3.1

Interagindo com as bases de dados

Conforme explanado na Introdução, a WEB invisível (Hidden Web) é assim chamada porque o seu conteúdo encontra-se escondido “por trás” de formulários HTML, onde este conteúdo só é publicado através de requisições feitas pelos usuários.

As requisições são normalmente feitas quando o usuário preenche um formulário inserindo palavras chaves (queries) que melhor representam o seu objeto de interesse e em seguida submetem este formulário, ou seja, fazem uma requisição a um serviço WEB (engenho de busca).

(36)

Figura 6: Fluxo de informações entre um cliente e um serviço WEB (engenho de busca) durante uma requisição. Extraído de (SILVA, et al., 2003).

A Figura 6 ilustra o fluxo de informações desde a requisição feita a um engenho de busca até a recepção da resposta, ou neste caso, a recepção do conjunto de resultados relacionados com a requisição feita. Para interagir com o engenho de busca, a aplicação cliente (no caso da Figura 6 um browser) deve enviar, não somente a query para busca, mas também todos os demais parâmetros existentes no formulário, pois caso contrário corre-se o risco de o servidor não processar corretamente a requisição.

A Figura 7 mostra um formulário HTML hipotético para buscas. Os parâmetros que devem ser enviados ao servidor são representados pelos elementos do tipo INPUT que estão dentro do elemento FORM.

No exemplo da Figura 7, a aplicação encarregada de fazer a requisição ao servidor WEB deve enviar além do parâmetro “query” (palavra chave da busca), os parâmetros: “parametro0”, “parametro1”, “parametro2” e “parametro3”.

(37)

Figura 7: Formulário de busca HTML hipotético.

Uma aplicação cliente que necessite realizar requisições a um serviço WEB (realizar uma busca) deve simular o mesmo comportamento do browser, enviando para o servidor a query e os demais parâmetros do formulário.

Neste trabalho, foi desenvolvida uma aplicação capaz de interagir com a maioria dos serviços WEB, ou seja, capaz de recuperar os documentos da maioria das bases de dados da WEB invisível. O Algoritmo 2 define em alto nível o algoritmo desenvolvido para resolução do problema da interação com as bases de dados.

Algoritmo 2: Processo de aquisição dos elementos de um formulário de busca HTML. Usado para resolver o problema da interação com as bases de dados.

(38)

Conforme citado no tópico 2.2 , existem diversas características que podem ser extraídas de um serviço WEB, porém é válido ressaltar que a extração das demais características, senão as mencionadas até então, não foram necessárias, já que a solução final, baseada no Algoritmo 1 requer somente que seja possível o envio de queries formadas por apenas um termo.

3.2

Removendo o conteúdo estático

Neste trabalho, o algoritmo a ser utilizado deveria equilibrar simplicidade e eficiência, pois pelo fato de este não ser o principal foco do trabalho, ser somente um paliativo para a melhora dos resultados finais, não se poderia despender muitos recursos para a elaboração de uma solução muito complexa.

O algoritmo criado para a realização desta tarefa foi baseado no MSE (ZHAO, et al., 2006), porém com algumas simplificações.

Antes de explicar o funcionamento do algoritmo desenvolvido, uma consideração importante deve ser feita: um documento HTML pode ser representado como uma árvore n-ária de elementos, denominada árvore DOM. Cada elemento HTML do documento é visto como um nó da árvore DOM, e pode ter de 0 a n filhos.

O algoritmo explora esta representação em árvore dos documentos para percorrer todos os nós e identificar sub-árvores comuns a vários documentos. Estas sub-árvores iguais em todos os documentos de uma amostra são considerada como conteúdo estático e portanto são removidas do documento. Ao final do processo, apenas os conteúdos dinâmicos e semi-dinâmicos são deixados na página.

(39)

Algoritmo 3: Algoritmo utilizado para a remoção do conteúdo estático das páginas de resposta.

Este algoritmo pode ser melhorado de forma considerável a partir da exploração de outras técnicas vistas no tópico 3.2 , porém pelo fato de este não ser o principal foco do trabalho em questão, o seu funcionamento foi considerado satisfatório.

Os resultados da aplicação do Algoritmo 3 foram avaliados e termos de quantidades (em bytes) removidas do arquivo e número de tags HTML retiradas. A Tabela 1 mostra os

(40)

resultados médios obtidos a partir da submissão de cinco queries para cada um dos cinco sites, os quais foram escolhidos de forma aleatória.

URL TAMANHO INICIAL MÉDIO (BYTES) TAMANHO FINAL MÉDIO (BYTES) NÚMERO DE TAGS INICIAL MÉDIO NÚMERO MÉDIO DE TAGS REMOVIDAS TEMPO DE EXECUÇÃO (S) http://www.google.com 19210,5 7741,5 1036 357,5 22 http://www.scirus.com 62166 32902,5 3746 2036,5 65 http://www.about.com 13900 5600 668,5 381 72 http://www.noah-health.org 17111 10293 803,5 510,5 18 http://www.nobel.se 45921,5 15392 1955 1619 120

Tabela 1: Quantidades médias iniciais e finais de bytes do arquivo e de tags retiradas a partir da submissão de cinco queries a cinco sites distintos.

A partir da análise da Tabela 1, pode-se observar que o número de nós (entre todos os sites) está em torno de 60% do total de nós e que houve uma redução média de 55% no tamanho das páginas de respostas.

3.3

Escolhendo uma estratégia de seleção de queries

Para a escolha correta da estratégia de seleção de queries a ser implantada na solução final foi analisado o crescimento no número de termos em sete bases de dados diferentes, usando cada uma das estratégias estudadas no tópico 2.4 (exceto a estratégia Aleatória com Freqüência de Documentos (DF) diferente de 1 pois ela segundo Monroe, et al. (2000) não agregou resultados significativos ao crescimento em questão).

Devido a limitações de tempo e de recursos computacionais, o crescimento foi analisado até uma quantidade máxima de 1000 documentos processados, fato este que tornou a metodologia limitada, já que não se saberá o comportamento do gráfico depois dos 1000 documentos.

A seleção das bases de dados que fizeram parte da análise foi feita de forma a escolher algumas com conteúdo bastante heterogêneo, e outras com conteúdo direcionado e conhecido.

(41)

Critérios de seleção Bases de dados http://www.google.com.br Conteúdo heterogêneo http://br.cade.yahoo.com http://www.goocrente.com http://www.noah-health.org http://www.nobel.se http://www.viewsonic.com Conteúdo direcionado e conhecido

http://www.virtualchase.com

Tabela 2: Bases de dados selecionadas para análise separadas por critérios

Os tópicos a seguir têm por objetivo divulgar os resultados obtidos para o crescimento no número de termos usando cada uma das estratégias escolhidas em cada uma das bases de dados selecionadas.

É válido ressaltar que a continuidade vista nos gráficos desta seção é meramente didática, pois os pontos coletados são discretos.

3.3.1 Analisando http://www.google.com.br

A Figura 8 mostra o crescimento obtido no número de termos em função da quantidade de documentos analisados, usando três estratégias diferentes de seleção de queries (maiores DFs, maiores TFs e Aleatória), na geração do Modelo de Linguagem do site www.google.com.br.

Figura 8: Termos no Modelo de Linguagem X Número de documentos analisados para www.google.com.br usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória)

(42)

Como se pode inferir a partir do gráfico da Figura 8 as estratégias baseadas em freqüência apresentaram um crescimento maior no número de termos na etapa inicial do processo. As estratégias passaram a apresentar diferenças por volta dos 800 documentos processados, onde a estratégia baseada em termos com as maiores DFs apresentou um retardo no aprendizado, ficando por volta dos 60000 termos. A estratégia baseada nos termos com maiores TFs apresentou também um retardo no aprendizado, porém um retardo menor, se comparado com a estratégia baseada nas maiores DFs.

A partir dos 700 documentos a estratégia baseada na escolha de termos aleatórios apresentou um aumento na inclinação do gráfico, chegando a faixa dos 800 documentos com mais de 65000 termos no modelo.

3.3.2 Analisando http://br.cade.yahoo.com

Utilizando uma estratégia de análise similar a do Tópico acima, foram gerados gráficos que mostram o crescimento no número de termos presentes no Modelo de Linguagem utilizando as estratégias de seleção de queries com maiores DFs, maiores TFs e aleatória para o site http://br.cade.yahoo.com.

O gráfico da Figura 9 demonstra o crescimento utilizando as três estratégias mencionadas.

Figura 9: Termos no Modelo de Linguagem X Número de documentos analisados para BR.cade.yahoo.com usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória)

(43)

De forma geral, os crescimentos no número de termos usando as estratégias baseadas na freqüência dos termos (DFs e TFs) foram bastante similares, porém o uso da estratégia aleatória proporcionou um crescimento muito mais rápido neste número desde o inicio da geração do Modelo de Linguagem.

O processamento de 800 documentos levou ao gráfico da Figura 9 um número em torno de 70000 termos. Com esta mesma quantidade de documentos processados, a estratégia baseada nas maiores DFs levou ao LM uma quantidade de 40000 termos e a estratégia baseada nas maiores TFs, uma quantidade próxima de 41000.

3.3.3 Analisando http://www.goocrente.com

O site http://www.goocrente.com foi analisado da mesma maneira que os sites anteriores, onde o gráfico da Figura 10 representa o crescimento no número de termos utilizando a estratégia de seleção de queries com maiores DFs, com maiores TFs e utilizando a estratégia de seleção de termos de forma aleatória.

Figura 10: Termos no Modelo de Linguagem X Número de documentos analisados para www.goocrente.com usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória)

(44)

O crescimento no número de termos utilizando todas as três estratégias foi bastante parecido para o site em analise, com a estratégia de seleção de queries aleatória levemente superior.

3.3.4 Analisando http://www.noah-health.org

Este site (http://www.noah-health.org) tem por característica principal um conjunto muito direcionado de documentos (material sobre saúde). Tal característica se manifesta bastante importante na qualidade da avaliação geral sobre o crescimento no número de termos a partir da estratégia escolhida, já que a análise de bases de dados com características diferentes é importante para uma conclusão final.

O gráfico da Figura 11 mostra, da mesma forma que os anteriores, o crescimento no número de termos encontrados utilizando as três estratégias de seleção de queries diferentes.

Figura 11: Termos no Modelo de Linguagem X Número de documentos analisados para www.noah-health.org usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória)

De forma geral, as duas estratégias baseadas nas maiores freqüências dos termos (DFs e TFs) se comportaram de forma muito semelhante e a estratégia de seleção aleatória mostrou um aprendizado muito superior.

(45)

Após o processamento de 500 documentos, a série aleatória do gráfico teve um novo ápice de crescimento, enquanto que as outras duas series tenderam a chegar ao limite da função logarítmica, estagnando o número de termos em 13000 aproximadamente.

Tudo leva a crer que as técnicas baseadas em freqüência levaram o Modelo de Linguagem a uma espécie de aprisionamento em um contexto, retornando sempre os mesmos documentos, ou documentos de contextos similares, deixando de analisar desta forma, um conjunto de documentos que existiam na base, mas que pelas queries que eram enviadas eles não eram recuperados.

3.3.5 Analisando http://www.viewsonic.com

O site a ser analisado neste tópico (http://www.viewsonic.com) teve por característica principal uma quantidade muito pequena de termos encontrados (apenas 10000 em uma quantidade de 1000 documentos lidos). Assim como no tópico 3.3.4 esta também foi uma característica importante para validar e resultado final obtido, já que bases de dados com características diferentes estão sendo analisadas.

Como nos tópicos anteriores, será apresentado a seguir o gráfico que demonstra o crescimento no número de termos em função da quantidade de documentos analisados usando três estratégias de seleção de queries distintas. O gráfico citado pode ser visto na Figura 12.

Figura 12: Termos no Modelo de Linguagem X Número de documentos analisados para www.viewsonic.com usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória)

(46)

Como se pode inferir a partir da análise do gráfico da Figura 12, quase não houve diferenças no número de termos encontrados para as três estratégias utilizadas no decorrer da quantidade de documentos analisados.

3.3.6 Analisando http://www.virtualchase.com

A análise do crescimento para este site foi, de certa forma, limitada pela pouca quantidade de documentos recuperados. Esta pouca quantidade se deu provavelmente por limitações do próprio site.

De qualquer forma, o gráfico da Figura 13 mostra o crescimento no número de termos presentes no LM utilizando três estratégias de seleção e queries diferentes.

Figura 13: Termos no Modelo de Linguagem X Número de documentos analisados para www.virtualchase.com usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória)

Como se pode perceber, apesar de as três séries do gráfico da Figura 13 serem bastante parecidas, a utilização da estratégia de seleção de queries de forma aleatória demonstrou um crescimento um pouco superior em relação às outras estratégias.

(47)

3.3.7 Analisando http://www.nobel.se

Para o site http://www.nobel.se foi analisado, da mesma maneira que os outros sites, o crescimento no número de termos presentes no Modelo e Linguagem usando três estratégias diferentes. Os resultados de tais crescimentos podem ser vistos na Figura 14.

Figura 14: Termos no Modelo de Linguagem X Número de documentos analisados para www.nobel.se usando as estratégias de seleção de queries (maiores DFs, maiores TFs e aleatória)

Como já obtido em experiências anteriores, os crescimentos no número de termos utilizando as estratégias baseadas em freqüência (maiores DFs e maiores TFs) foram bastante parecidos. E a utilização da estratégia de seleção de queries de forma aleatória levou a um conjunto superior de termos no Modelo.

3.3.8 Considerações

A partir da análise dos gráficos de crescimento no número de termos em função do número de documentos processados presentes no tópico 3.3 , pôde-se inferir que a estratégia aleatória de seleção de queries é a mais apropriada para uso no algoritmo da solução final, já que esta estratégia não teve um desempenho pior em nenhum dos casos, sendo semelhante em alguns e superior nos outros.

(48)

A conclusão semelhante a obtida por Monroe, et al. (2000) apesar de parecer redundante, foi importante para a comprovação desta característica na analise de bases de dados invisíveis, pois em seu estudo, o autor realizou o seus experimentos em bases de dados locais.

3.4

Determinando o critério de parada

A determinação correta do critério de parada, conforme citado na seção 2.5 é a tarefa mais importante deste trabalho, pois é um critério de parada estabelecido da maneira correta que irá garantir um Modelo de Linguagem fiel a base de dados que se está analisando.

Para a realização desta tarefa, foram analisadas dois critérios propostos na literatura, são eles:

• Novos termos adicionados, contextualizada no tópico 2.5.2 e • Diferença relativa (rdiff), contextualizada no tópico 2.5.4 .

A estratégia citada no tópico 2.5.1 não foi testada pela falta de valor teórico que os seus resultados trariam, ou seja, não tem como a avaliar a qualidade dos seus resultados senão de forma totalmente empírica e inexata.

No tópico 2.5.3 também é proposto um novo critério, mas este ainda está em fase de analise e conforme citado no próprio tópico referenciado, os seus resultados serão divulgados em trabalhos posteriores.

A partir da escolha dos critérios que seriam testados, sucedeu-se a escolha dos sites de busca que fariam parte da avaliação. Foram utilizados os mesmos critérios e feitas as mesmas escolhas do tópico 3.3 , portanto os sites que fizeram parte da avaliação foram os da Tabela 2.

Os tópicos a seguir têm por objetivo apresentar e analisar os resultados obtidos para a avaliação de cada site utilizando cada critério.

3.4.1 Analisando o critério de adição de novos termos no modelo

Durante o processo de aquisição de um Modelo de Linguagem a partir da técnica de amostragem descrito no Algoritmo 1, espera-se que a quantidade de termos que vão sendo adicionados ao LM seja cada vez menor com o decorrer dos documentos processados.

Referências

Documentos relacionados

E para opinar sobre a relação entre linguagem e cognição, Silva (2004) nos traz uma importante contribuição sobre o fenômeno, assegurando que a linguagem é parte constitutiva

Embora a solução seja bastante interessante como parte de uma política pública relacionada ao gerenciamento de dados de saúde dos usuários do sistema, esse

investimentos obedecerá às regras estabelecidas na Constituição Federal, na Constituição do Estado, nas normas de direito financeiro e nos preceitos desta Lei Orgânica. A

O presente trabalho foi realizado em duas regiões da bacia do Rio Cubango, Cusseque e Caiúndo, no âmbito do projeto TFO (The Future Okavango 2010-2015, TFO 2010) e

The challenges of aging societies and the need to create strong and effective bonds of solidarity between generations lead us to develop an intergenerational

Purpose: This thesis aims to describe dietary salt intake and to examine potential factors that could help to reduce salt intake. Thus aims to contribute to

Considerando a presença e o estado de alguns componentes (bico, ponta, manômetro, pingente, entre outros), todos os pulverizadores apresentavam alguma

As inscrições serão feitas na Comissão Permanente de Vestibular da UFMG (COPEVE), situada no Prédio da Reitoria da UFMG, à Av. Presidente Antônio Carlos, 6627 – Campus da