Download PDF
ads:
UNIVERSIDADE FEDERAL DO AMAZONAS
PROGRAMA DE P
´
OS-GRADUAC¸
˜
AO EM INFORM
´
ATICA
DEPARTAMENTO DE CI
ˆ
ENCIA DA COMPUTAC¸
˜
AO
SEGMENTAC¸
˜
AO AUTOM
´
ATICA DE P
´
AGINAS WEB
EDISSON CAMPOS BRAGA JUNIOR
Manaus - AM
Setembro de 2010
ads:
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
UNIVERSIDADE FEDERAL DO AMAZONAS
PROGRAMA DE P
´
OS-GRADUAC¸
˜
AO EM INFORM
´
ATICA
DEPARTAMENTO DE CI
ˆ
ENCIA DA COMPUTAC¸
˜
AO
EDISSON CAMPOS BRAGA JUNIOR
Segmenta¸ao Autom´atica de aginas
Web
Disserta¸ao apresentada ao Programa de os-
gradua¸ao em Inform´atica do Departamento
de Ciˆencia da Computa¸ao da Universidade
Federal do Amazonas, como requisito par-
cial para a obten¸ao do t´ıtulo de Mestre em
Inform´atica, ´area de concentra¸ao Recupera¸ao
de Informa¸ao.
Prof. Dr. Edleno Silva de Moura
Orientador
Prof. Dr. David Braga Fernandes de Oli-
veira
Co-orientador
Manaus - AM
Setembro de 2010
ads:
EDISSON CAMPOS BRAGA JUNIOR
SEGMENTAC¸
˜
AO AUTOM
´
ATICA DE P
´
AGINAS WEB
Disserta¸ao apresentada ao Programa de os-
gradua¸ao em Inform´atica do Departamento
de Ciˆencia da Computa¸ao da Universidade
Federal do Amazonas, como requisito par-
cial para a obten¸ao do t´ıtulo de Mestre em
Inform´atica, ´area de concentra¸ao Recupera¸ao
de Informa¸ao.
Aprovado em 20 de Setembro de 2010.
BANCA EXAMINADORA
Prof. Dr. Edleno Silva de Moura
Departamento de Ciˆencia da Computa¸ao UFAM/PPGI
Prof. Dr. Nivio Ziviani
Departamento de Ciˆencia da Computa¸ao UFMG
Prof. Dr. David Braga Fernandes de Oliveira
Departamento de Ciˆencia da Computa¸ao UFAM/PPGI
Prof. Dr. Marco Antonio Pinheiro de Cristo
Departamento de Ciˆencia da Computa¸ao UFAM/PPGI
Um mundo no qual o tempo ´e absoluto
´e um mundo consolador.
Pois, embora os movimentos das pessoas sejam imprevis´ıveis,
o movimento do tempo ´e previs´ıvel.
Embora se possa duvidar das pessoas,
ao se pode duvidar do tempo.
Enquanto as pessoas ficam divagando,
o tempo prossegue em sua caminhada
sem olhar para tr´as.
Alan Lightman
AGRADECIMENTOS
O apoio que recebi para concluir essa disserta¸ao veio de diversas maneiras e
pessoas. Os muitos conselhos, orienta¸oes, incentivos e outras manifesta¸oes e atos
me deram condi¸oes de chegar at´e aqui. A lista dos “respons´aveis” por eu alcan¸car
esse feito ´e extensa e inclui minha esposa, meus pais, amigos e professores. A todos
voes minha sincera gratid˜ao.
Agrade¸co ao Edleno pela oportunidade e por toda a orienta¸ao durante o curso
deste mestrado. Tamb´em agrade¸co ao David que deu um imenso suporte ao meu
trabalho.
`
A Vanessa, minha querida esposa, meu obrigado mais especial. Vocˆe ´e meu
suporte, e essa conquista tamem ´e sua.
Por fim, meu principal agradecimento. A Deus. Mesmo quando eu desisto, Ele
me faz continuar.
SUM
´
ARIO
LISTA DE ABREVIATURAS E SIGLAS . . . . . . . . . . . . . . . . . . . 7
LISTA DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
RESUMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1 INTRODUC¸
˜
AO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3 Contribui¸oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4 Organiza¸ao da Disserta¸c˜ao . . . . . . . . . . . . . . . . . . . . . . 17
2 CONCEITOS B
´
ASICOS . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1 Representa¸ao de documentos WEB por meio de ´arvores DOM 19
2.2 Site Style Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Ranking Baseado em Estrutura de Blocos . . . . . . . . . . . . . 22
2.3.1 Modelagem do site em blocos . . . . . . . . . . . . . . . . . . . . . . 22
2.3.2 alculo da Importˆancia dos Blocos . . . . . . . . . . . . . . . . . . . 24
2.4 Avalia¸ao de Segmenta¸ao . . . . . . . . . . . . . . . . . . . . . . . 25
2.4.1
´
Indice de Rand Ajustado . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4.2 Informa¸ao M´utua Normalizada . . . . . . . . . . . . . . . . . . . . . 28
3 SEGMENTAC¸
˜
AO AUTOM
´
ATICA DE P
´
AGINAS WEB . . . . . . . . 30
3.1 SOM
tree
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Pr´e-processamento: Prepara¸ao de aginas Web para serem
inseridas na SOM
tree
. . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.1 Passo 1: Poda de regi˜oes com conte´udo aninhado . . . . . . . . . . . 33
3.2.2 Passo 2: Poda de regi˜oes com estrutura regular . . . . . . . . . . . . . 33
3.3 Inser¸ao de aginas Web na SOM
tree
. . . . . . . . . . . . . . . . . 35
3.4 Ajustamento da SOM
tree
. . . . . . . . . . . . . . . . . . . . . . . . 37
3.4.1 Poda de os com conte´udo aninhado . . . . . . . . . . . . . . . . . . 37
3.4.2 Poda de os pela frequˆencia . . . . . . . . . . . . . . . . . . . . . . . 39
4 EXPERIMENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1 Configura¸ao dos Experimentos . . . . . . . . . . . . . . . . . . . . 41
4.1.1 Cole¸oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1.2 Limiares utilizados na segmenta¸ao autom´atica das cole¸oes . . . . . . 42
4.2 An´alise da Segmenta¸ao Autom´atica . . . . . . . . . . . . . . . . . 43
4.3 Compara¸ao entre segmenta¸ao manual e autom´atica . . . . . . 44
4.4 Avalia¸ao do impacto da segmenta¸ao autom´atica para ranking
baseado em blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5 CONCLUS
˜
AO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
REFER
ˆ
ENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
LISTA DE ABREVIATURAS E SIGLAS
DOM Document Object Model
BC Block Class
BF-rulebased Block Fusion - rule based
IE Internet Explorer
SST Site Style Tree
AdjRand
´
Indice de Rand Ajustado (Adjusted Rand Index )
NMI Informa¸ao M´utua Normalizada (Normalized Mutual Informa-
tion)
LISTA DE FIGURAS
2.1 Exemplo de representa¸ao HTML e ´arvore DOM de uma agina
Web. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2
´
Arvores DOM e sua respectiva SST. . . . . . . . . . . . . . . . . 21
2.3 Exemplo de agina Web com blocos . . . . . . . . . . . . . . . . 23
3.1 Label tags e block tags em uma agina Web. . . . . . . . . . . . . 31
3.2 (a) Trecho de agina Web com conte´udo aninhado. (b) Repre-
senta¸ao DOM deste trecho. . . . . . . . . . . . . . . . . . . . . . 33
3.3 Trecho de agina com estrutura regular. . . . . . . . . . . . . . . 34
3.4 (a) os de uma ´arvore DOM com estrutura regular. (b) Resultado
da poda sobre a estrutura regular na mesma ´arvore DOM. . . . . 34
3.5 Exemplo de ´arvore DOM. . . . . . . . . . . . . . . . . . . . . . . 36
3.6 SOM
tree
formada a partir de duas aginas Web. . . . . . . . . . . 37
3.7 SOM
tree
com conte´udo aninhado ap´os inser¸ao de uma nova
agina, submetida ao processo de poda. . . . . . . . . . . . . . . 39
3.8 Exemplos de poda sobre a SOM
tree
com β = 8. (a) Poda execu-
tada sobre os com frequˆencia menor que β. (b) Poda ao pode
ser executada pois a frequˆencia de um dos os ´e menor que β. . . 40
4.1 Compara¸ao da etrica AdjRand nas segmenta¸oes realizadas
com os m´etodos SOM
tree
e BF-RuleBased, sobre as bases CNN,
IG, CNET e BLOGS. . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 Compara¸ao da etrica NMI nas segmenta¸oes realizadas com
os m´etodos SOM
tree
e BF-RuleBased, sobre as bases CNN, IG,
CNET e BLOGS. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
LISTA DE TABELAS
2.1 Tabela de contingˆencia para comparar as segmenta¸oes ρ e ρ
. . . 26
4.1 Distribui¸ao das aginas por cole¸ao. . . . . . . . . . . . . . . . . 42
4.2 Quantidade de p´aginas por cole¸ao, block classes e total de blocos
obtidos nas segmenta¸oes manual e autom´atica e quantidade de
blocos na segmenta¸ao autom´atica observados em block classes
(BC ) com frequˆencia abaixo do limiar (freq < β). . . . . . . . . . 43
4.3 Valores edios de AdjRand e NMI sobre as aginas segmentadas
com SOM
tree
e BF-RuleBased nas 4 bases (IG, CNN, BLOGS e
CNET). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4 Valores de P@10 e MAP sobre o alculo de ranking utilizando o
modelo BM25 tradicional e utilizando o segrank nas 4 bases (IG,
CNN, BLOGS e CNET) para as segmenta¸oes manual e com
SOM
tree
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
RESUMO
Uma nova abordagem em algoritmos de m´aquinas de busca leva em considera¸ao
a estrutura das aginas Web para melhorar seus resultados. Nesses etodos, as
aginas ao subdivididas em blocos e o peso de cada termo da agina ´e influenciado
de acordo com a importˆancia do bloco a qual pertence. O etodo proposto em [14]
utiliza informa¸oes estat´ısticas dispon´ıveis na cole¸ao para calcular a importˆancia
dos blocos, por´em sem um meio autom´atico para segmentar as aginas. O presente
trabalho tem o objetivo de estudar e avaliar o m´etodo de segmenta¸ao autom´atica
de aginas Web proposto em [13], expandindo a utiliza¸ao deste m´etodo para ou-
tras aplica¸oes al´em do problema de busca baseada em blocos. Este m´etodo utiliza
uma nova estrutura de dados chamada SOM
tree
, tendo como entrada um conjunto
de aginas Web que comp˜oem um site e como sa´ıda essas mesmas aginas, por´em
segmentadas. A segmenta¸ao ´e realizada em trˆes passos. O primeiro passo ´e um pr´e-
processamento sobre ´arvores DOM de cada agina do site, onde informa¸oes locais
ao utilizadas para definir uma vers˜ao inicial dos blocos de cada p´agina. No segundo
passo s˜ao inseridas todas as p´aginas do site, j´a pr´e-processadas, na SOM
tree
. No ter-
ceiro passo a SOM
tree
´e ajustada atrav´es de um novo processo de poda, redundando
em todas as aginas do site Web segmentadas em blocos. Para a avalia¸ao da qua-
lidade deste m´etodo de segmenta¸ao, foram realizados dois tipos de experimentos
sobre quatro cole¸oes diferentes. No primeiro experimento foram coletadas e analisa-
das medidas estat´ısticas para quantificar a concordˆancia entre a segmenta¸ao obtida
pela SOM
tree
e uma segmenta¸ao de referˆencia. Ao comparamos as etricas obtidas
por este etodo com os valores alcan¸cados pelo m´etodo Rule-based Block Fusion,
que foi o m´etodo encontrado na literatura com melhor desempenho, verificamos que
os resultados da SOM
tree
foram significantemente superiores. No segundo experi-
mento foi realizada uma avalia¸ao do desempenho da segmenta¸ao pela SOM
tree
nos resultados de ranking obtidos pelo m´etodo proposto em [14]. A utiliza¸ao da
segmenta¸ao autom´atica sobre este m´etodo de ranking levou a resultados muito
pr´oximos dos obtidos atrav´es de segmenta¸ao de referˆencia.
Palavras-chave: Segmenta¸ao de aginas Web, Documentos Estruturados, Im-
portˆancia de Blocos.
ABSTRACT
A new approach on search engine algorithms takes into account the structure
of Web pages to improve its results. In these methods the pages are divided into
blocks and the weight of each term of a page is influenced according to the im-
portance of the block it belongs. The method proposed by Fernandes et al. [14]
uses statistical information available in the collection to automatically calculate the
importance of the blocks. This work aims to study and evaluate the Web pages
segmentation method proposed in [13], expanding also its usage to other aplications
besides block based search engines. This segmentation method uses a new data
structure called SOM
tree
. It takes as input a set of Web pages from a given website
and provide these pages segmented into blocks as output. The segmentation process
is performed through three steps. The first one is a pre-processing on the DOM tree
of each page of the site, where local information is used to define an initial version
of the blocks on each page. In the second step all pre-processed pages are inserted
in the SOM
tree
. In the third step the SOM
tree
is adjusted through a new prunning
process. After these steps we have all pages of the website segmented into blocks.
To evaluate the quality of this segmentation method we have performed two types of
experiments on four different collections. The first evaluation was performed using
statistical metrics to quantify the correlation between the segmentation obtained by
our method with a reference segmentation. When we compare the metrics obtained
by our method with the values obtained by Rule-based Fusion Block, which is the
best performing automatic segmentation algorithm currently found in the literature,
we can notice that the results of our method are significantly better. The second ex-
periment is a performance evaluation of the ranking method proposed by Fernandes
et al. [14] using the SOM
tree
segmentation. The use of this segmentation method
on this ranking system led to results very close to those obtained through manual
segmentation.
Keywords: Web Page Segmentation, Structured Documents, Block Importance
12
1 INTRODUC¸
˜
AO
A medida que a Web vem se consolidando como a principal fonte para armazena-
mento e consulta de informa¸oes, as aginas que a comp˜oem tornam-se visualmente
cada vez mais sofisticadas. Al´em do conte´udo ligado ao seu opico principal, uma
agina Web pode conter informa¸oes que ao ao necessariamente ligadas a este,
como por exemplo: propagandas, menus de navega¸ao, contatos, banners, avisos de
copyright, etc. Embora esses itens sejam funcionalmente ´uteis do ponto de vista
do usu´ario, eles podem levar a problemas de visualiza¸ao da agina em dispositivos
com tela reduzida, al´em de influenciar negativamente nos resultados de algoritmos
de recupera¸ao de informa¸ao e minera¸ao de dados. A identifica¸ao dos blocos
presentes nas aginas Web fornece meios para que estes problemas sejam tratados.
A segmenta¸ao de aginas Web tem se mostrado com uma aplica¸ao relevante
em diversas ´areas. Kang e Chai [18] segmentaram aginas Web para identificar
quais blocos em uma agina de fato possuem informa¸oes, de modo que algoritmos
de extra¸ao de informa¸ao funcionem de maneira mais eficiente. Fauzi et al. [12]
utilizaram os blocos da agina para definir as informa¸oes de contexto das imagens
presentes nesta. Chakrabarti et al. [9] e Kohlsch¨utter e Nejdl [19] utilizaram a
segmenta¸ao de aginas Web para resolver o problema de detec¸ao de duplicados.
Diversos autores propuseram m´etodos para a aplica¸ao da segmenta¸ao de aginas
Web para sua visualiza¸ao em dispositivos com tela pequena [5, 11, 16, 26, 27, 28, 29].
O objetivo da segmenta¸ao nestes m´etodos ´e que, uma vez identificados os blocos
de uma agina, o m´etodo pode selecionar quais blocos devem ser exibidos para o
13
usu´ario, al´em da ordem e da forma em que ser˜ao exibidos.
Uma nova abordagem em algoritmos de aquinas de busca tem levado em con-
sidera¸ao a estrutura das aginas Web para melhorar seus resultados [14, 8, 23].
Nesses m´etodos, as aginas ao subdivididas em blocos e o peso de cada termo de
uma agina ´e influenciado de acordo com a importˆancia do bloco a qual pertence.
Por exemplo, termos encontrados no t´ıtulo podem ser considerados mais importan-
tes do que os encontrados em outros blocos de uma mesma agina, assim como
textos em barras de navega¸ao ou propaganda tˆem uma importˆancia inferior aos
encontrados em outros blocos da agina. O grande desafio para tais sistemas ´e
encontrar uma maneira autom´atica de segmentar as aginas, de tal modo que os
blocos gerados por este processo sejam adequados aos seus prop´ositos.
O etodo de alculo de ranking proposto por Fernandes et al. [14] utiliza in-
forma¸oes estat´ısticas dispon´ıveis na cole¸ao para calcular automaticamente a im-
portˆancia dos blocos, atribuindo pesos maiores para informa¸oes contidas em blocos
mais importantes. Apesar desse etodo apresentar resultados excelentes, carece de
um mecanismo que possibilite a identifica¸ao autom´atica dos blocos nas aginas
da cole¸ao. Sem isto, sua utiliza¸ao pr´atica em grandes cole¸oes se torna invi´avel.
Uma das caracter´ısticas necess´arias para que uma segmenta¸ao seja utilizada por
este m´etodo ´e que os blocos que se repetem em aginas distintas sejam agrupados.
Entretanto, os m´etodos de segmenta¸ao de aginas Web que encontramos na lite-
ratura em em comum o fato de que os blocos gerados em cada agina ao tˆem
necessariamente rela¸ao com blocos equivalentes gerados em aginas semelhantes.
Por exemplo, em duas p´aginas distintas de um mesmo site de not´ıcias, os t´ıtulos das
not´ıcias em cada agina ao ser˜ao necessariamente representados por blocos equi-
valentes. Tal caracter´ıstica inviabiliza o uso desses etodos de segmenta¸ao pelo
m´etodo de alculo de ranking de Fernandes et al.
A falta de um mecanismo de segmenta¸ao autom´atica de aginas Web que sa-
tisfa¸ca os requisitos do sistema de busca proposto em [14], alinhado ao fato de
que ao a ainda na literatura um m´etodo de segmenta¸ao que seja considerado
14
referˆencia, ao-nos a motivao necess´aria para buscar uma nova alternativa que
possa solucionar estes problemas.
1.1 Objetivos
Este trabalho tem por objetivo estudar e avaliar o m´etodo de segmenta¸ao au-
tom´atica de p´aginas Web proposto por Fernandes em [13], cuja finalidade ´e identifi-
car os blocos presentes em todas as aginas de um mesmo site, agrupando os blocos
equivalentes. Por equivalentes, entenda-se blocos em aginas diferentes que com-
partilham a mesma fun¸ao. Por exemplo, blocos em diferentes aginas que cont´em
uma mesma barra de navega¸ao, ou blocos que cont´em o t´ıtulo de cada agina, ao
considerados blocos equivalentes. Tal m´etodo se baseia na constru¸ao de uma ´arvore
denominada SOM
tree
, que agrupa as ´arvores DOM de um conjunto de paginas Web
e, ap´os uma erie de passos de pr´e-processamento e ajustes, tem como sa´ıda tais
aginas segmentadas.
Uma das avalia¸oes realizadas nessa disserta¸ao ´e quanto `a eficiˆencia de sua
utiliza¸ao em outras aplica¸oes cujo requisito seja que a segmenta¸ao utilizada se
aproxime da percep¸ao que o usu´ario tem sobre esta. Para aferir essa assertiva,
foram utilizadas etricas de avalia¸ao de clustering, com o objetivo de mensurar a
qualidade da segmenta¸ao provida pelo m´etodo comparada a uma segmenta¸ao de
referˆencia.
Uma aplica¸ao importante para esse m´etodo de segmenta¸ao ´e a sua utiliza¸ao
nos algoritmos de busca que utilizam a estrutura das aginas para melhoria de seus
resultados, em especial o segrank proposto por Fernandes et al. [14], apresentado
na se¸ao 2.3. Para avaliarmos essa condi¸ao, comparamos os resultados do segrank
utilizando uma segmenta¸ao manual de referˆencia com a segmenta¸ao obtida atrav´es
da SOM
tree
. Os resultados alcan¸cados pelo segrank com a segmenta¸ao autom´atica
foram muito pr´oximos dos obtidos com a segmenta¸ao de referˆencia, evidenciando
a eficiˆencia deste etodo de segmenta¸ao para este fim.
15
1.2 Trabalhos Relacionados
No contexto da segmenta¸ao de aginas Web em blocos, existem arios trabalhos
dispon´ıveis. A maior parte desses trabalhos se subdividide em duas vertentes: seg-
menta¸ao baseada no formato visual da agina e segmenta¸ao baseada na estrutura
DOM.
Os etodos de segmenta¸ao baseados no formato visual das aginas tentam
identificar as caracter´ısticas e informa¸oes sobre os itens visuais da agina, como
tamanho, posi¸ao, cor de fundo, etc [7, 22, 6]. Essas caracter´ısticas s˜ao normalmente
obtidas tanto a partir das tags presentes na ´arvore DOM, como atrav´es da utiliza¸ao
de navegadores Web para renderiza¸ao das aginas, possibilitando a extra¸ao de
informa¸oes mais precisas sobre a apresenta¸ao da agina.
Dentre os etodos de segmenta¸ao baseados em formato visual, o que tem ga-
nhado mais aten¸ao recentemente ´e o VIPS [7], cuja proposta ´e simular como o
usu´ario entende a estrutura de uma agina, baseado na sua percep¸ao visual. O
VIPS utiliza todas as informa¸oes dispon´ıveis sobre a apresenta¸ao da agina, como
fonte, cor e tamanho, identificando separadores visuais entre diferentes blocos. A
partir desses separadores visuais identificados, ´e enao constru´ıda uma ´arvore para
cada agina, onde cada bloco ´e um o nessa ´arvore. ao permitidos blocos aninha-
dos na agina, que ao representados na ´arvore por uma rela¸ao pai-filho. Um dos
fatores negativos ´e o fato de utilizar o renderizador do browser IE para obter as
informa¸oes sobre a apresenta¸ao da agina, restringindo o ambiente no qual esse
mecanismo pode ser usado.
Diversos trabalhos tˆem argumentado que a utiliza¸ao da ´arvore DOM ao ´e
adequada para a segmenta¸ao semˆantica de uma agina Web, uma vez que tal ´arvore
tem por objetivo prover uma estrutura para apresenta¸ao de conte´udo e ao uma
estrutura semˆantica [7, 31, 8]. ao obstante `a dificuldade citada, alguns autores
prop˜oem m´etodos de segmenta¸ao autom´atica de aginas Web baseados na ´arvore
DOM [16].
O trabalho apresentado por Hattori et al. [16] prop˜oe uma abordagem h´ıbrida
16
para segmenta¸ao de aginas HTML atrav´es da ´arvore DOM. Primeiro o m´etodo
divide a agina de acordo com tags que denotam separa¸ao de conte´udo, como por
exemplo TABLE, DIV, FRAME, etc. Em seguida, para cada trecho resultante desta
divis˜ao ´e realizada uma nova segmenta¸ao, baseada no alculo da distˆancia entre os
conte´udos de informa¸ao (texto, imagem, etc.). Essa distˆancia ´e calculada a partir
da profundidade das tags que separam dois conte´udos.
O etodo de segmenta¸ao proposto por Chakrabarti et al. [9] transforma o pro-
blema de segmenta¸ao em um problema de otimiza¸ao de grafos com pesos, onde
o peso representa se dois os na ´arvores DOM devem ficar juntos ou separados na
segmenta¸ao. Para isto, ´e realizado um treinamento sobre dados rotulados manual-
mente para aprendizado desses pesos.
Uma outra abordagem, baseada em conceitos de Lingu´ıstica Quantitativa e
estrat´egias da ´area de Vis˜ao Computacional, ´e a Block Fusion, proposta por
Kohlsch¨utter e Nejdl [19]. Nesse m´etodo, ´e utilizada a no¸ao de densidade de texto
como medida para identificar blocos em uma agina Web. A partir de uma seg-
menta¸ao inicial baseada simplesmente nas tags DOM, onde as por¸oes de texto ao
divididas em blocos por abertura ou fechamento de tags, ´e executado um algoritmo
guloso que percorre todos os blocos, buscando fundir blocos adjacentes com densi-
dades semelhantes. O m´etodo ainda apresenta duas varia¸oes. A primeira, chamada
BF-SMOOTHED, tenta fundir blocos em que ao ao encontradas semelhan¸cas em
densidade com os blocos adjacentes, mas ao encontradas semelhan¸cas em blocos
intercalados. A segunda varia¸ao, chamada BF-RULEBASED, utiliza heur´ısticas
adicionais para identificar tags que certamente indicam divis˜ao de blocos e tags que
ao devem ser consideradas para dividir blocos. Em seu artigo, Kohlsch¨utter e Nejdl
mostram atrav´es destas mesmas m´etricas que seu etodo tem resultados superio-
res ao etodo proposto por Chakrabarti et al. Devido ao seus bons resultados,
inclusive quando comparados a outros m´etodos, utilizamos o Block Fusion como
referˆencia para avalia¸ao do etodo aqui estudado. Como seus melhores resulta-
dos foram obtidos atrav´es do BF-RULEBASED, utilizamos essa varia¸ao nos nossos
17
experimentos.
1.3 Contribui¸oes
O etodo de segmenta¸ao autom´atica estudado e avaliado neste trabalho foi
realizado em conjunto com Fernandes, sendo proposto por este em [13]. No presente
trabalho este etodo ´e, entretanto, apresentado de maneira mais detalhada e com
um enfoque mais abrangente. Enquanto em [13] o foco era apenas a utiliza¸ao da
segmenta¸ao autom´atica no problema de busca baseada em blocos, neste trabalho
buscamos tamem apresentar este etodo de segmenta¸ao como uma alternativa
para outras aplica¸oes.
Nos etodos que encontramos na literatura, o processo de segmenta¸ao ´e re-
alizado sobre cada agina individualmente, sem levar em considera¸ao qualquer
informa¸ao externa `a esta. No etodo aqui estudado, o processo de segmenta¸ao
utiliza todo o site como entrada para enao particionar cada agina em blocos. Neste
processo, todo o contexto do site ´e utilizado para prover tal segmenta¸ao. Uma vez
que os resultados alcan¸cados por este m´etodo se mostraram significativamente su-
periores a outros etodos encontrados na literatura, podemos concluir que uma
contribui¸ao importante deste trabalho ´e a constata¸ao de que o contexto do site
contribui para uma segmenta¸ao mais precisa.
Um diferencial importante deste etodo de segmenta¸ao est´a no agrupamento
dos blocos equivalentes encontrados em aginas distintas, enquanto em outros
m´etodos que encontramos na literatura os blocos ao definidos apenas no contexto
de sua agina, ao tendo qualquer rela¸ao com os blocos de outras aginas.
1.4 Organiza¸ao da Disserta¸ao
Esta disserta¸ao est´a organizada como segue. No Cap´ıtulo 2 ao apresentados
os conceitos asicos necess´arios para o entendimento do trabalho apresentado nesta
disserta¸ao. No Cap´ıtulo 3 ser˜ao apresentados novos conceitos e o novo etodo
para segmenta¸ao autom´atica de aginas Web. No Cap´ıtulo 4 ao apresentados os
18
resultados dos experimentos, assim como as an´alises dos resultados obtidos. Por
fim, no Cap´ıtulo 5 ao apresentadas as conclus˜oes e trabalhos futuros.
19
2 CONCEITOS B
´
ASICOS
O etodo de segmenta¸ao autom´atica de aginas Web aqui estudado baseia-
se na manipula¸ao de ´arvores DOM e de uma nova estrutura de dados chamada
SOM
tree
, que ´e uma varia¸ao do Site Style Tree (SST ). Na se¸ao 2.1 fazemos uma
breve introdu¸ao sobre ´arvores DOM e na se¸ao 2.2 apresentamos o SST.
Visto que este processo de segmenta¸ao tem como uma importante motivao
fornecer entrada para o etodo de ranking baseado em blocos proposto por Fernan-
des et al., na se¸ao 2.3 este m´etodo ´e apresentado. Nesta mesma se¸ao ´e descrita
a modelagem de um site para que este possa ser utilizado pelo m´etodo de ranking.
A segmenta¸ao autom´atica, tendo um site Web como entrada, deve fornecer como
sa´ıda o mesmo site com suas aginas segmentadas, de acordo com esta modelagem.
Na se¸ao 2.4 ao apresentadas as m´etricas
´
Indice de Rand Ajustado (AdjRand)
e Informa¸ao M´utua Normalizada (NMI ). Estas m´etricas ser˜ao utilizadas para a
avalia¸ao da qualidade do etodo de segmenta¸ao aqui estudado. Esta avalia¸ao ´e
apresentada na se¸ao 4.3.
A apresenta¸ao e revis˜ao desses conceitos permitir´a um melhor entendimento do
m´etodo de segmenta¸ao de aginas Web apresentado no cap´ıtulo 3.
2.1 Representa¸ao de documentos WEB por meio de
´arvores DOM
Uma agina Web pode ser representada por uma ´arvore, onde as tags do odigo
HTML correspondem aos os internos desta ´arvore e o conte´udo da agina, como
20
textos, links e imagens, as folhas. Essa ´arvore ´e conhecida como ´arvore DOM [1],
que ´e um acrˆonimo para “Document Object Model”.
Na Figura 2.1 temos um exemplo de como uma agina HTML ´e mapeada para
uma ´arvore DOM. Podemos observar que a hierarquia das tags presentes na agina
HTML ´e representada pela rela¸ao pai-filho dos os da ´arvore.
Figura 2.1: Exemplo de representa¸ao HTML e ´arvore DOM de uma agina Web.
Cada o na ´arvore DOM possui as seguintes informa¸oes:
nomeTag: identificador da tag;
conte´udo: conte´udo do o, quando houver (texto, script, etc.);
atributos: lista de atributos do o e seus respectivos valores. Cada atributo
´e identificado por uma tupla (nome, valor).
2.2 Site Style Tree
Site style tree (SST) ´e uma estrutura de dados proposta por Yi et al. [30] que
tem o objetivo de evidenciar o que a de comum em termos de apresenta¸ao nas
aginas de um site Web. Tal estrutura ´e uma ´arvore constru´ıda a partir das ´arvores
DOM das aginas que comp˜oem o site. Enquanto uma ´arvore DOM descreve a
apresenta¸ao de uma ´unica agina, uma SST representa as apresenta¸oes de um
21
conjunto de aginas Web. Portanto, uma SST possibilita que visualizemos quais
partes ao comuns em um conjunto de ´arvores DOM e quais partes ao diferentes.
A Figura 2.2 mostra uma SST originada pela combina¸ao de duas ´arvores DOM.
Figura 2.2:
´
Arvores DOM e sua respectiva SST.
Para compor uma SST correspondente `as p´aginas de um site, as ´arvores DOM de
cada uma dessas p´aginas devem ser inseridas na SST em um processo top-down. Na
SST, cada tag ´e chamada element node, que ´e equivalente a um o na ´arvore DOM.
Tags dispostas em um mesmo n´ıvel hier´arquico da estrutura DOM formam um style
node na SST. No exemplo mostrado na Figura 2.2, [body], [table-img-table],
[p-img-p-a] e [p-br-p] ao style nodes e ao representados por uma caixa ponti-
lhada na figura. Cada style node ´e formado por um ou mais element nodes.
Para inserir uma ´arvore DOM na SST, a partir de sua raiz, os os ao inseridos
na SST em grupos de os irm˜aos, encaixando-se em algum style node existente, ou
criando um novo, caso ao exista algum semelhante no mesmo n´ıvel. No exemplo
mostrado na Figura 2.2, podemos observar que as ´arvores d
1
e d
2
possuem arios
os em comum, exceto pelas tags no n´ıvel mais inferior nessas aginas. Ao serem
unidas na SST, esses os diferentes geram dois style nodes distintos.
Cada style node cont´em uma frequˆencia, que identifica quantas aginas possui.
No exemplo da Figura 2.2, os style nodes que est˜ao presentes tanto em d
1
como
22
em d
2
tˆem frequˆencia 2. a os style nodes que est˜ao presentes em apenas uma das
´arvores DOM possuem frequˆencia 1.
2.3 Ranking Baseado em Estrutura de Blocos
O m´etodo de ranking proposto por Fernandes et al., que a partir deste momento
chamaremos segrank, utiliza a estrutura de blocos das aginas Web para melhorar
os resultados do ranking. Enquanto os etodos de busca tradicionais utilizam o
fator tf (frequˆencia de termos) para caracterizar a rela¸ao de um termo com um
dado documento, tal m´etodo prop˜oe que as localiza¸oes das ocorrˆencias do termo
no documento tamb´em sejam levadas em considera¸ao para o alculo deste fator.
A vers˜ao do m´etodo originalmente proposto por Fernandes et al. [14] foi leve-
mente modificada pelos autores em [13]. Enquanto o m´etodo original requeria que
aginas com estrutura semelhante fossem agrupadas no que eram chamadas page
classes, na nova implementa¸ao isso ao ´e mais necess´ario.
Para a realiza¸ao do alculo do ranking, o segrank utiliza como entrada um
conjunto de aginas, cada uma delas dividida em blocos de acordo com a modelagem
apresentada a seguir.
2.3.1 Modelagem do site em blocos
Uma agina Web t´ıpica pode ser visualmente dividida em regi˜oes com semˆanticas
bem definidas, as quais denominamos blocos. Como exemplo, podemos observar
na Figura 2.3 uma agina de not´ıcia com um menu `a esquerda, um conjunto de
propagandas `a direita, o texto principal da not´ıcia ao centro, t´ıtulo acima da not´ıcia,
etc. Cada uma dessas partes representa um bloco da agina. Apenas conte´udos
textuais ao considerados para a forma¸ao de blocos. Logo, blocos que apresentam
apenas v´ıdeos ou imagens, por exemplo, ao desconsiderados.
Podemos definir um bloco como uma regi˜ao cont´ınua de uma agina Web repre-
sentada por um par (l, c), onde l ´e o otulo do bloco e c ´e o seu conte´udo. O otulo
de um bloco ´e representado pelo caminho da raiz at´e o bloco na ´arvore DOM da
23
AP
Federer é o atual campeão do Grand Slam
britânico
Últimas de Wimbledon
» Dor nas costas faz Dinara Safina desistir de
Wimbledon
» Federer admite surpresa com apenas dois
britânicos em Wimblebon
» Nadal diz que não gostou do sorteio das
chaves de Wimbledon
» Andy Roddick não quer nem pensar em vice
novamente
Busque outras notícias no Terra:
O que é isto?
del.icio.us Facebook Technorati
My Yahoo! Meame Fresqui
Divulga Fácil Terra Anuncie aqui »
Boletim
Receba as últimas
notícias em seu email
Fale Conosco
Mande suas críticas e
sugestões. Participe!
Wimbledon
Sexta, 18 de junho de 2010, 13h26 Atualizada às 13h43
Wimbledon se previne: vuvuzelas
estão banidas
Torneio de tênis que mais preza
pela manutenção das tradições,
Wimbledon anunciou a proibição
de uso das vuvuzelas no All
England Club. Os dirigentes
resolveram se antecipar ao
modismo que tomou conta da
África do Sul, incomodando
jogadores, técnicos e
torcedores.
» Bellucci enfrenta Mello
» Federer é cabeça de chave
» Williams serão as
cabeças
de chave 1 e 2 em
Wimbledon
» Tenistas e celebridades se
reúnem em evento
pré-Wimbledon
"Pedimos aos espectadores para
que não tragam itens que
possam causar distrações e
interferências nos jogos.
Buzinas, chocalhos e vuvuzelas
estão nesta categoria e não
terão entrada permitida nas
quadras. Nossa mensagem é
para nem trazer estes objetos",
declarou Ian Ritchie, chefe-
executivo do local de
competição.
As partidas da chave principal de Wimbledon começam na segunda-feira.
Gazeta Esportiva
Compartilhe esta nocia
PAULISTA DISTRIBUIDORA DE PECAS LTD
TRABALHAMOS COM PECAS P VEICULOS NAC/IMP LINHA LEVE E PESADOS
www.paulistadistribuidora.com.br
Lassabia Brindes Personalizados
Bolas, canecas, copos, squeezes, bonés Camisetas, bonés e diversos outros itens
www.lassabia.com
Emprestimo Pessoal e consignados
Emprestimo sem consulta no SERASA e SPC. ACESSE. em até 60x
www.alphacred.net
»Conheça o Terra em outros países
Resolução mínima de 800x600 © Copyright 2010, Terra Networks Brasil S/A Proibida sua reprodução total ou parcial
Anuncie | Assine | Central do Assinante | Clube Terra | Fale com o Terra | Aviso Legal | Política de Privacidade
> Esportes > Tênis > Torneios > Wimbledon
STAR CINE
Dvd Guerreiros do u e da
Terra
Figura 2.3: Exemplo de agina Web com blocos
agina no qual este bloco pertence, e o conte´udo do bloco ´e todo o texto contido
dentro deste.
Logo, podemos modelar uma agina Web como um conjunto de blocos ρ =
{b
1
, ..., b
n
}. A quantidade de blocos n varia de acordo com a agina. Por sua vez,
um site Web s pode ser modelado como um conjunto de aginas s = {ρ
1
, ..., ρ
m
},
cada uma delas composta por um conjunto de blocos.
Blocos de aginas distintas de um site que possuam a mesma fun¸ao devem ser
agrupados em block classes (classe de blocos). Uma block class C ´e um conjunto de
blocos pertencentes a diferentes aginas de um site que possuem o mesmo otulo l.
24
2.3.2 alculo da Importˆancia dos Blocos
A importˆancia de uma block class ´e calculada a partir de estat´ısticas da
ocorrˆencia de seus termos na cole¸ao. Tais estat´ısticas foram baseadas nos con-
ceitos de term frequency e inverse document frequency do modelo vetorial[4]. Desta
forma, para a obten¸ao deste valor, ao computados alguns fatores que ir˜ao compor
o seu alculo.
O primeiro fator ´e o ICF (Inverse Class Frequency), que denota a quantidade
de informa¸ao gerada pela ocorrˆencia de um termo t na classe C.
O seu alculo ´e definido pela equa¸ao a seguir, onde NB
C
´e a quantidade de
elementos (blocos) da classe C, e NB
(C,t)
´e a quantidade de elementos em que o
termo t aparece.
ICF (t, C) = log
NB
C
NB
(C,t)
(2.1)
Uma vez calculado o ICF dos termos de uma classe, calcula-se o ICF edio da
classe, denominado por AICF (C) (Average ICF ), da seguinte maneira:
AICF (C) =
tC
IFC (t, C)
NT
C
(2.2)
onde NT
C
´e o n´umero de termos distintos que ocorrem pelo menos uma vez em C.
Note que, se os blocos de uma mesma classe tiverem seus conte´udos bastante
similares entre si, o AICF dessa classe ser´a baixo. Caso contr´ario, o AICF ter´a
um valor alto. Essa medida serve para identificar classes cujos conte´udos, por serem
repetidos entre diversas aginas, ao ser˜ao ´uteis para os processos de busca por
informa¸oes.
Um outro fator necess´ario para medir a importˆancia de uma classe ´e o espalha-
mento m´edio de um termo pela classe, ou class spread. A intui¸ao por tr´as dessa
m´etrica ´e que blocos que tˆem termos em comum com outros blocos de uma mesma
agina tendem a ser relacionados com o opico principal desta agina.
Dados numBlockOcurr(t, ρ), que ´e a quantidade de blocos da agina ρ em que o
25
termo t ocorre, e numBlocks(ρ), que ´e a quantidade total de blocos de ρ, calcula-se
o espalhamento de um termo t em uma agina ρ, termSpread(t, ρ), por:
termSpread(t, ρ) =
numBlockOcurr(t, ρ)
numBlocks(ρ)
(2.3)
Em seguida, ´e calculado o espalhamento edio dos termos do bloco b na agina
P (b):
blockSpread(b) =
tb
termSpread(t, P (b))
numTerms(b)
(2.4)
onde numTerms(b) ´e a quantidade de termos distintos em b.
Por fim, calcula-se classSpread(b), que ´e o espalhamento edio dos termos de
uma classe:
classSpread(C) =
bC
blockSpread(b)
N
C
(2.5)
onde N
C
´e o n´umero de blocos de uma classe C.
Uma vez calculadas as etricas AICF e classSpread para uma dada classe C,
calcula-se a importˆancia desta classe da seguinte maneira:
classImportance(C) = classSpread(C) × AICF (C) (2.6)
2.4 Avalia¸ao de Segmenta¸ao
Para avaliar a qualidade da segmenta¸ao do etodo aqui estudado, utilizamos
duas m´etricas diferentes:
´
Indice de Rand Ajustado e Informa¸ao M´utua Norma-
lizada. Ambas as etricas em por objetivo avaliar o grau de acordo entre dois
particionamentos realizados sobre uma mesma base de dados e ao frequentemente
utilizadas para avalia¸ao de algoritmos de clustering. Para a avalia¸ao da qualidade
de um m´etodo, compara-se o particionamento realizado por este com um particio-
namento considerado correto.
Chakrabarti et al. [9] e Kohlschutter et al. [19] fizeram uso dessas etricas para
avaliar a qualidade de segmenta¸ao de aginas Web. Nos dois artigos foram com-
26
ρ/ρ
ρ
1
ρ
2
. . . ρ
y
T otal
ρ
1
n
11
n
12
. . . n
1y
a
1
ρ
2
n
21
n
22
. . . n
2y
a
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ρ
x
n
x1
n
x2
. . . n
xy
a
x
T otal m
1
m
2
. . . m
y
Tabela 2.1: Tabela de contingˆencia para comparar as segmenta¸oes ρ e ρ
.
parados os resultados da segmenta¸ao autom´atica com segmenta¸ao realizada ma-
nualmente. Para cada agina de suas respectivas cole¸oes foram calculadas as duas
m´etricas, comparando as aginas segmentadas automaticamente com as mesmas
segmentadas manualmente.
Considere uma agina P = t
1
, ..., t
n
, sendo t
1
, ..., t
n
os n termos encontrados nessa
agina, e ρ = {b
1
, ..., b
x
} a segmenta¸ao autom´atica em blocos pelo etodo aqui
estudado, e a mesma agina segmentada manualmente como ρ
= {b
1
, ..., b
y
}. Essas
m´etricas foram utilizadas para avaliar o qu˜ao pr´oxima a segmenta¸ao autom´atica
deste etodo est´a da segmenta¸ao manual de referˆencia, evidenciando a qualidade
deste. Para o alculo dessas etricas utilizamos a tabela de contingˆencia descrita
na Tabela 2.1, onde:
n
ij
´e o n´umero de termos que est˜ao ao mesmo tempo em ρ
i
e ρ
j
;
a
i
´e o n´umero de termos que est˜ao no bloco ρ
i
;
m
j
´e o n´umero de termos que est˜ao no bloco ρ
j
;
x ´e a quantidade de blocos de ρ e
y ´e a quantidade de blocos de ρ
.
2.4.1
´
Indice de Rand Ajustado
Ao segmentar uma agina Web P , composta por n termos, a inten¸ao ´e que duas
palavras fiquem no mesmo segmento se e somente se elas fizerem parte do mesmo
bloco, de acordo com a percep¸ao visual que se tem da agina.
27
A execu¸ao do processo de segmenta¸ao de uma agina pode ser encarada como
uma s´erie de decis˜oes sobre qual bloco cada palavra ser´a atribu´ıda. A avalia¸ao da
corretude de cada decis˜ao ´e realizada a partir da compara¸ao da segmenta¸ao au-
tom´atica em ρ com a segmenta¸ao manual de referˆencia ρ
sobre esta mesma p´agina.
Uma decis˜ao ´e considerada positiva verdadeira (tp) quando duas palavras que fa-
zem parte do mesmo bloco ao corretamente agrupadas no mesmo segmento. Uma
decis˜ao ´e negativa verdadeira (tn) quando duas palavras de blocos diferentes ao
corretamente atribu´ıdas a segmentos distintos. Quando duas palavras de diferentes
blocos ao erroneamente agrupadas no mesmo segmento, tem-se uma decis˜ao posi-
tiva falsa (fp). Uma decis˜ao negativa falsa (fn) ocorre quando duas palavras que
deveriam ficar no mesmo bloco ao atribu´ıdas a segmentos diferentes.
O
´
Indice de Rand ou Rand Index (Rand) tem por objetivo mensurar o percentual
de decis˜oes corretas em um particionamento, conforme a seguinte equa¸ao:
Rand(ρ, ρ
) =
tp + tn
tp + fp + tn + fn
=
tp + tn
n
2
(2.7)
O valor de Rand se situa no intervalo entre 0 e 1. Seu valor ´e 1 quando ρ e ρ
est˜ao segmentados de maneira idˆentica. Por´em, ao existe um valor constante para
identificar que as duas segmenta¸oes sejam diferentes. Para resolver este problema,
Hubert e Arabie criaram uma varia¸ao dessa m´etrica chamada
´
Indice de Rand Ajus-
tado ou Adjusted Rand Index (AdjRand) [17], que tornou-se a medida preferida para
avalia¸ao de etodos de clustering [25]. Similarmente ao Rand, o valor de AdjRand
´e 1 quando as segmenta¸oes ρ e ρ
ao idˆenticas. Quando as segmenta¸oes ao com-
pletamente diferentes, o valor de AdjRand entre elas ´e 0. Seu alculo se a atrav´es
da seguinte equa¸ao:
AdjRand(ρ, ρ
) =
n
2
(tp + tn) [(tp + fp)(tp + fn) + (fn + tn)(fp + tn)]
n
2
2
[(tp + fp)(tp + fn) + (fn + tn)(fp + tn)]
(2.8)
Uma forma mais pr´atica de se realizar o c´alculo do Adjusted Rand Index ´e atraes
28
da equa¸ao abaixo, baseada na tabela de contingˆencia apresentada na Tabela 2.1:
AdjRand(ρ, ρ
) =
x,y
i,j
n
ij
2
x
i
a
i
2
y
j
b
j
2
/
n
2
1
2
x
i
a
i
2
+
y
j
b
j
2
x
i
a
i
2
y
j
b
j
2
/
n
2
(2.9)
2.4.2 Informa¸ao M´utua Normalizada
A Informa¸ao M´utua (do inglˆes, Mutual Information) ´e uma medida que visa
quantificar a quantidade de informa¸oes compartilhadas entre dois particionamentos.
Ela indentifica o qu˜ao perto um algoritmo de clustering poderia reconstruir seu
particionamento para se igualar ao particionamento de referˆencia.
Dada uma vari´avel aleat´oria X, que representa a divis˜ao em blocos realizada pela
segmenta¸ao autom´atica, e uma outra vari´avel aleat´oria Y , que representa a divis˜ao
realizada pela segmenta¸ao manual, a informa¸ao m´utua entre essas duas ari´aveis
´e denotada por I(X, Y ). Apesar de alguns considerarem a informa¸ao m´utua como
uma etrica em si, ela ao possui um limite superior, o que inviabiliza a sua uti-
liza¸ao para compara¸oes entre diferentes m´etodos. Strehl e Ghosh propuseram uma
normaliza¸ao para essa etrica, chamada Informa¸ao M´utua Normalizada, ou NMI
(Normalized Mutual Information) [24]. O NMI ´e, portanto, a informa¸ao m´utua en-
tre duas segmenta¸oes, normalizada pela m´edia geom´etrica de suas entropias. Sendo
H(X) a entropia de X, o alculo do NMI se a pela seguinte ormula:
NMI (X, Y ) =
I(X, Y )
H(X)H(Y )
(2.10)
A NMI mede a dependˆencia m´utua de duas solu¸oes atrav´es da rela¸ao entre
suas entropias. A partir da tabela de contingˆencia da Tabela 2.1, podemos calcular
o valor do NMI entre as segmenta¸oes autom´atica (ρ) e manual (ρ
) de uma dada
29
agina atrav´es da equa¸ao abaixo:
NMI (ρ, ρ
) =
x
i=1
y
j=1
n
i,j
log
n·n
i,j
n
i
n
j
x
i=1
n
i
log
n
i
n
y
j=1
n
j
log
n
j
n
(2.11)
30
3 SEGMENTAC¸
˜
AO AUTOM
´
ATICA DE P
´
AGINAS
WEB
O m´etodo de segmenta¸ao estudado neste trabalho tem como objetivo segmentar
automaticamente aginas Web, dividindo-as em blocos. Este processo tem como
entrada um conjunto de aginas que comp˜oem um site e, como sa´ıda, essas mesmas
aginas segmentadas de acordo com a modelagem descrita na se¸ao 2.3.1. Blocos
equivalentes presentes em diferentes aginas ao agrupados em block classes. Por
exemplo, blocos que conem um mesmo menu presente em arias aginas dever˜ao
ser agrupados, formando uma ´unica block class.
As tags de uma ´arvore DOM de uma agina podem ser divididas em dois tipos:
1. Block tags: tags que est˜ao dentro de um determinado bloco.
2. Label tags: tags que pertencem ao otulo de um ou mais blocos. Ou seja,
uma tag que esteja no caminho da raiz at´e o bloco em si.
Observe na Figura 3.1 uma agina Web simples com dois blocos, com destaque
para os block tags e label tags. No bloco mais `a direita as tags <body> e <div>,
por estarem no caminho da raiz at´e o bloco, ao label tags. As tags <p> e <i>, por
sua vez, ao block tags, a que est˜ao dentro do bloco. Observe que apesar da tag
<div> fazer parte de seu bloco, ela ´e considerada label tag, uma vez que ´e ela quem
determina a localiza¸ao do bloco na ´arvore DOM. O mesmo vale para a tag <ul>
no bloco `a esquerda.
31
Figura 3.1: Label tags e block tags em uma agina Web.
A id´eia b´asica deste etodo de segmenta¸ao ´e classificar as tags nessas duas cate-
gorias. Uma vez classificadas, as block tags ao eliminadas, mas ao seus conte´udos.
Ao eliminar as block tags de uma agina Web, todas as folhas de sua ´arvore DOM
que possu´ırem conte´udo de texto diretamente associado a elas identificam os blocos
da mesma.
O etodo de segmenta¸ao autom´atica ´e composto por trˆes passos, realizados
sobre as ´arvores DOM das aginas a serem segmentadas, utilizando uma estrutura
de dados chamada SOM
tree
. O primeiro passo ´e um pr´e-processamento nas ´arvores
DOM de cada p´agina, onde informa¸oes locais s˜ao utilizadas para definir uma vers˜ao
inicial dos blocos de cada agina. O segundo passo ´e inserir todas as aginas do
site, a pr´e-processadas, na SOM
tree
. O terceiro e ´ultimo passo ´e ajustar a SOM
tree
atrav´es de um novo processo de poda, redundando em todas as aginas do site Web
segmentadas em blocos.
Neste cap´ıtulo, inicialmente explicaremos o que ´e a SOM
tree
e de que maneira
ela ´e ´util para a divis˜ao das aginas Web em blocos. Em seguida ao detalhados
todos os passos que comp˜oem o processo de segmenta¸ao.
32
3.1 SOM
tree
Para a realiza¸ao do processo de segmenta¸ao das aginas de um site, utilizare-
mos uma estrutura de dados denominada SOM
tree
. SOM ´e um acrˆonimo para Site
Object Model, em referˆencia ao DOM. A SOM
tree
´e uma ´arvore capaz de comprimir
um conjunto de ´arvores DOM que comp˜oem um site Web. Seu objetivo principal ´e
identificar as block classes deste site. A SOM
tree
´e baseada na estrutura Site Style
Tree (SST ), apresentada na se¸ao 2.2. A principal diferen¸ca ´e que na SOM
tree
ao
existe o conceito de style node para agrupar os irm˜aos, presente na SST.
Os os de uma SOM
tree
cont´em algumas informa¸oes idˆenticas `as dos seus res-
pectivos os na ´arvore DOM de origem, adicionado de outras, descritas a seguir:
nomeTag: identificador da tag;
atributos: lista de atributos do o e seus respectivos valores;
label: otulo que identifica o caminho da raiz at´e este o;
frequˆencia: quantidade de aginas que contˆem os com label;
docList: lista de aginas que possuem conte´udo de texto diretamente associ-
ados a este o.
´
E importante observar que um mesmo o pode ter conte´udo textual em uma
agina e em outra agina ao ter qualquer conte´udo.
3.2 Pr´e-processamento: Prepara¸ao de aginas Web para
serem inseridas na SOM
tree
Antes de inserir uma nova agina em uma SOM
tree
, sua ´arvore DOM ´e pr´e-
processada: seus os ao submetidos a um processo de poda, com o objetivo de
eliminar block tags ainda na ´arvore DOM. Os passos necess´arios para que as ´arvores
inseridas na SOM
tree
estejam mais pr´oximas da segmenta¸ao final ao apresentados
a seguir.
33
3.2.1 Passo 1: Poda de regi˜oes com conte´udo aninhado
Se uma tag tiver um conte´udo de texto diretamente associado a ela, enao todas
as tags descendentes na estrutura DOM ser˜ao eliminadas, formando um ´unico bloco.
Observe que somente as tags ser˜ao eliminadas, mas ao seu conte´udo textual. To-
memos por exemplo a tag <div> na ´arvore DOM da Figura 3.2. Observe que esta
tag cont´em um texto diretamente associado a ela (“SkinnyGuy Writes”). Dentro
desta mesma tag existe uma tag <i> que tamem tem conte´udo textual, al´em de
outras tags. Nesse caso, dizemos que o conte´udo de <i> ´e aninhado ao conte´udo de
<div> e, logo, o conte´udo dessas tags comp˜oe um ´unico bloco.
(a) (b)
Figura 3.2: (a) Trecho de agina Web com conte´udo aninhado. (b) Representa¸ao
DOM deste trecho.
3.2.2 Passo 2: Poda de regi˜oes com estrutura regular
´
E comum encontrarmos em ´arvores DOM regi˜oes com estruturas regulares. Essas
regi˜oes normalmente cont´em um conjunto de ´ıtens relacionados entre si, tais como
lista de links, menus, paragrafos e outros. Uma vez que os conte´udos desses ´ıtens
ao relacionados, provavelmente o usu´ario os ver´a como um bloco ´unico.
Observe no trecho da agina Web de exemplo na Figura 3.3 o menu destacado,
que ´e formado por um conjunto de links dispostos em uma barra horizontal. Como os
´ıtens desse menu est˜ao visualmente coesos, a percep¸ao de que tais ´ıtens pertencem
34
ao mesmo bloco ´e bastante intuitiva. Como pode-se observar em sua ´arvore DOM,
presente na Figura 3.4, o conjunto de tags que separam os ´ıtens deste menu ao os
mesmos, dizemos que este menu tem uma estrutura regular.
Figura 3.3: Trecho de agina com estrutura regular.
Nesse passo do pr´e-processamento ao podados os ´ıtens que formam uma regi˜ao
com estrutura regular, de tal maneira que os conte´udos desses ´ıtens sejam direta-
mente ligado a uma ´unica tag, representando assim um ´unico bloco. Este processo
est´a representado na Figura 3.4, que cont´em o trecho da ´arvore DOM relativo ao
menu destacado na Figura 3.3. O sinal * ´e utilizado para indicar que uma regi˜ao
com estrutura regular foi podada.
(a) (b)
Figura 3.4: (a) os de uma ´arvore DOM com estrutura regular. (b) Resultado da
poda sobre a estrutura regular na mesma ´arvore DOM.
35
A id´eia de identificar regi˜oes com estruturas regulares em ´arvores DOM ´e bas-
tante comum na ´area de extra¸ao de informa¸ao [20, 21, 3]. A id´eia ´e que a
informa¸ao a ser extra´ıda normalmente se encontra em uma ordem espec´ıfica, e
padr˜oes repetitivos podem ser encontrados na agina Web quando ultiplos regis-
tros est˜ao agrupados. Chang e Lui propuseram em [10] um algoritmo linear base-
ado em
´
Arvores Patricia [15] para identificar padr˜oes repetitivos, dada uma ´arvore
DOM como entrada. Algur e Hiremath [2] tamb´em lidaram com o problema de
identifica¸ao e extra¸ao de informa¸oes em documentos Web, buscando identificar
regi˜oes com estrutura regular a partir de informa¸oes sobre a disposi¸ao visual dos
elementos na agina.
3.3 Inser¸ao de aginas Web na SOM
tree
A inser¸ao de ´arvores DOM na SOM
tree
´e feita de maneira similar `a SST , por´em
com algumas diferen¸cas. Dada uma agina Web ρ, para inserir sua ´arvore DOM
na SOM
tree
, essa ´e percorrida em um percurso pr´e-ordem. A cada o η visitado,
o mesmo ´e inserido na SOM
tree
de acordo com o seu otulo. Ou seja, seu otulo
determina a sua posi¸ao na SOM
tree
.
O otulo de um o ´e definido recursivamente pela concatena¸ao de nomeTag, os
nomes de seus atributos e o otulo do seu o pai, separados por uma barra (”/”).
Atraes do otulo ´e poss´ıvel identificar unicamente cada o da ´arvore DOM. Por
exemplo, o otulo do o <table> na ´arvore DOM representada na Figura 3.5 ´e
"table/width/body/bgcolor/html".
Caso dois os irm˜aos possuam mesmo nomeTag e atributos, adiciona-se um
identificador sequencial ao in´ıcio do otulo, de modo a garantir que cada o de
uma ´arvore DOM tenha um otulo ´unico. Na Figura 3.5, abaixo do o <body>
existem dois os <div>, que possuem o mesmo atributo "id". Os otulos des-
ses dois n´os ser˜ao 1/div/id/body/bgcolor/html e 2/div/id/body/bgcolor/html,
respectivamente. O otulo do o <img> nessa ´arvore DOM, por sua vez, ser´a
img/border/2/div/id/body/bgcolor/html.
36
Figura 3.5: Exemplo de ´arvore DOM.
Ao inserir um n´o η na SOM
tree
, ´e verificado se esta j´a possui um o com o mesmo
otulo. De acordo com esta verifica¸ao, ser´a executado um dos seguintes passos:
Caso a exista na SOM
tree
um o N que possua o mesmo label que η, o valor
de frequˆencia de N ´e incrementado em um. Se η possuir conte´udo textual
diretamente ligado a ele, o identificador dessa agina ´e adicionado `a docList
de N.
Caso ao seja encontrado nenhum o equivalente a η na SOM
tree
, um novo
o ´e criado. Ao criar este novo o, os valores de nomeTag, atributos e label
atribu´ıdos ao n´o s˜ao os mesmos de η, enquanto o valor de frequˆencia ´e iniciado
com 1. Se η ao possuir conte´udo textual associado, docList ser´a iniciado com
uma lista vazia. Se possuir, docList ser´a iniciado com uma lista contendo um
´unico elemento, que ´e o identificador desta agina sendo inserida.
Para um melhor entendimento do processo de inser¸ao de aginas Web na SOM
tree
,
tomemos como exemplo as aginas ρ
1
e ρ
2
da Figura 3.6. Ao inserir a agina ρ
1
em
uma SOM
tree
vazia, cada um de seus os, ao ser percorrido, gera um novo n´o com o
mesmo otulo. Observe que os os de ρ
2
que tamb´em est˜ao presentes na agina ρ
1
aparecem como um ´unico o na SOM
tree
, com frequˆencia 2. Os os que est˜ao em
apenas uma das aginas est˜ao presentes na SOM
tree
com frequˆencia 1.
37
Figura 3.6: SOM
tree
formada a partir de duas aginas Web.
3.4 Ajustamento da SOM
tree
Uma vez finalizada a cria¸ao da SOM
tree
a partir das ´arvores DOM de todas
as aginas de um dado site, um processo de poda sobre ela ´e iniciado. Apesar de
um outro processo de poda a ter sido realizado sobre as ´arvores DOM, pequenas
diferen¸cas entre aginas com estrutura de blocos semelhantes podem permanecer
ap´os tal processo. Logo, ao adicionar essas diferen¸cas `a SOM
tree
, permite-se que
alguns block tags se fa¸cam presentes na SOM
tree
.
No processo de poda da SOM
tree
, esta ´e percorrida em um percurso os-ordem.
Sobre cada n´o, a poda ´e executada em dois passos, apresentados nas se¸oes a seguir.
O objetivo desse processo ´e eliminar as block tags da SOM
tree
.
3.4.1 Poda de os com conte´udo aninhado
Ao inserir arias p´aginas na SOM
tree
, ´e poss´ıvel que alguns de seus os possuam
conte´udo de texto para algumas aginas e sejam, ao mesmo tempo, os internos
38
para outras aginas. Isso leva a uma situa¸ao de conte´udo aninhado na SOM
tree
,
que pode ser causada por dois motivos distintos.
O primeiro motivo para haver aninhamento na SOM
tree
se deve a pequenas dife-
ren¸cas nas ´arvores DOM de aginas com estruturas de blocos semelhantes, levando
conte´udos que deveriam estar no mesmo o folha a estarem em folhas diferentes.
Para que a SOM
tree
possa resultar numa segmenta¸ao coerente, ´e desej´avel que
essas diferen¸cas sejam removidas, de modo que blocos semelhantes possam ser reco-
nhecidos como pertencentes `a mesma classe.
A segunda raz˜ao para que essa condi¸ao se d´e ´e quando os os que comp˜oem
o otulo de um bloco numa agina est˜ao contidos no otulo de um bloco de outra
agina com estrutura diferente daquela. Nesse caso, o aninhamento ao deve ser
removido, uma vez que estes blocos fazem parte de block classes diferentes.
A primeira etapa de poda da SOM
tree
visa eliminar pequenas diferen¸cas nos seus
os, causadas por aninhamento de conte´udos decorrentes do primeiro motivo citado
acima. Entretanto, devido `a segunda poss´ıvel raz˜ao para aninhamentos na SOM
tree
,
ao podemos assumir que todo conte´udo aninhado deve ser removido da mesma.
Para efetuar a poda de conte´udos aninhados, tentando evitar que esta opera¸ao
seja realizada para casos da segunda op¸ao, esta s´o ser´a realizada sobre n´os que este-
jam pr´oximos. Essa distˆancia ´e medida pela diferen¸ca entre as profundidades desses
os. O limiar α define a distˆancia axima para que dois os sejam considerados
pr´oximos. Logo, dois os com conte´udo aninhado somente ser˜ao submetidos a este
passo de poda se sua distˆancia for menor do que α.
Tome como exemplo a inser¸ao de uma nova agina ρ
3
na SOM
tree
definida na
Figura 3.6. Esse processo pode ser visualizado na Figura 3.7. Ap´os a agina ρ
3
ser inserida na SOM
tree
, essa passa a possuir conte´udo aninhado entre o o <div>
e seus filhos. Para eliminar esse conte´udo aninhado, os os filhos de <div> ser˜ao
mesclados a ele. Desse modo, a docList de cada um dos os filhos ser´a movida para
a sua docList, e esses os ao removidos da SOM
tree
.
39
Figura 3.7: SOM
tree
com conte´udo aninhado ap´os inser¸ao de uma nova agina,
submetida ao processo de poda.
3.4.2 Poda de os pela frequˆencia
No segundo passo do processo de poda busca-se estabelecer uma frequˆencia
m´ınima desejada para os os e eliminar aqueles com frequˆencia menor a este limiar.
O objetivo deste limiar ´e garantir que as block classes geradas sejam estat´ısticamente
relevantes para o etodo segrank, uma vez que classes com poucos blocos podem
produzir informa¸oes estat´ısticas inexatas para o alculo de seus pesos [14].
Ao atingir um o N, o processo de poda ir´a verificar se todos os seus filhos
possuem frequˆencia inferior a um dado limiar β. Em caso afirmativo, a docList de
cada o abaixo de N ser´a unida `a sua docList, e tais os ao ent˜ao removidos da
SOM
tree
, conforme podemos observar no exemplo da Figura 3.8(a). Tal exigˆencia,
de somente serem podados os com frequˆencia abaixo de β se todos os seus os
irm˜aos tamb´em possu´ırem frequˆencia abaixo deste limiar, visa evitar que sejam
gerados novos os com conte´udo aninhado. Isso, entretanto, leva `a possibilidade
de que alguns os com frequˆencia inferior a β permane¸cam na SOM
tree
. Esse caso
pode ser observado na Figura 3.8(b). Por´em, os experimentos realizados mostraram
40
que a quantidade de blocos pertencentes a block classes com frequˆencia abaixo desse
limiar foi pequena, e ao se mostrou capaz de influenciar os resultados.
div
12
...
#12
...
a b
div
p
12
...
6
#6
...
pre
6
#6
...
(a)
div
p
80
...
6
#6
...
pre
80
#80
...
(b)
Figura 3.8: Exemplos de poda sobre a SOM
tree
com β = 8. (a) Poda executada
sobre os com frequˆencia menor que β. (b) Poda ao pode ser executada pois a
frequˆencia de um dos os ´e menor que β.
41
4 EXPERIMENTOS
Para a avalia¸ao da qualidade da segmenta¸ao resultante do m´etodo SOM
tree
,
foram analisados dois diferentes aspectos. O primeiro aspecto analisado ´e o qu˜ao
pr´oxima ´e a segmenta¸ao autom´atica da percep¸ao que um usu´ario tem em rela¸ao
aos blocos que comp˜oe uma p´agina. O outro aspecto avaliado ´e o desempenho desta
segmenta¸ao nos resultados de ranking obtidos pelo etodo segrank. A partir da
an´alise dessas diferentes perspectivas, ´e poss´ıvel termos uma vis˜ao mais clara das
possibilidades de utiliza¸ao do m´etodo de segmenta¸ao autom´atica aqui estudado.
4.1 Configura¸ao dos Experimentos
4.1.1 Cole¸oes
Foram realizados experimentos em quatro cole¸oes diferentes: CNN, IG, CNET
e BLOGS. A cole¸ao CNN cont´em 16.257 aginas com conte´udo em inglˆes coletadas
do site de not´ıcias da rede CNN. A cole¸ao IG cont´em 34.460 aginas em portuguˆes
coletadas de trˆes sites do portal www.ig.com.br. A cole¸ao CNET cont´em 352.770
aginas em inglˆes coletadas de quatro sites do portal www.cnet.com. Por fim, a
cole¸ao BLOGS cont´em 54.055 p´aginas em inglˆes coletadas de nove blogs populares,
de acordo com o ´ındice de popularidade de blogs dispon´ıvel em technorati.com. A
Tabela 4.1 descreve estas cole¸oes de maneira mais detalhada.
Com o intuito de reproduzir a percep¸ao dos usu´arios quanto `a divis˜ao em
blocos destas aginas, todas estas cole¸oes foram segmentadas de maneira semi-
supervisionada com o aux´ılio de um especialista, conforme descrito em [14]. No pri-
42
CNN
Site aginas
News www.cnn.com 16.257
Total 16.257
BLOGS
Site aginas
Boing Boing www.boingboing.net 14.173
CNET news.cnet.comtech-blogs 8.054
Engadget www.engadget.com 6.343
Gizmodo us.gizmodo.com 4.454
Google googlelog.blogspot.com 1.050
Life Hacker www.lifehacker.com 3.997
Mashable www.mashable.com 7.410
Slash Film www.slashfilm.com 5.376
Tech Crunch www.techcrunch.com 3.198
Total 54.055
CNET
Site aginas
News www.news.com 131.474
Downloads www.downloads.com 99.186
Reviews reviews.cnet.com 64.142
Shopper www.shopper.com 57.968
Total 352.770
IG
Site aginas
News www.ultimosegundo.com.br 26.466
Forum www.jornaldedebates.com.br 6.389
Recipe www.panelinha.com.br 1.605
Total 34.460
Tabela 4.1: Distribui¸ao das aginas por cole¸ao.
meiro passo desse processo as aginas ao manualmente agrupadas de acordo com
a similaridade de sua estrutura interna. No segundo passo, utiliza-se o algoritmo
VIPS para segmentar as aginas de cada agrupamento. Para cada agrupamento
de aginas ´e realizada uma sele¸ao manual dos parˆametros do VIPS. Por fim, o
usu´ario especilista verifica a segmenta¸ao realizada pelo VIPS e, caso ao concorde,
ele adapta a divis˜ao de blocos de acordo com a sua percep¸ao. Como esse processo
semi-supervisionado tem forte interven¸ao manual, dizemos que essa segmenta¸ao ´e
manual.
4.1.2 Limiares utilizados na segmenta¸ao autom´atica das cole¸oes
O processo de poda da SOM
tree
descrito na se¸ao 3.4 requer dois limiares, α e
β, para a sua realiza¸ao.
O limiar α, que determina a distˆancia axima para que dois os com conte´udo
aninhado sejam podados, foi definido empiricamente atraes de experimentos de
treino. O valor de α utilizado nos experimentos deste trabalho foi 6.
O valor de β, que estabelece um limite m´ınimo para a quantidades de blocos
em uma block class, foi definido de acordo com a demanda do etodo de ranking
segrank. Estudos emp´ıricos realizados sobre o segrank demonstraram que a quan-
tidade m´ınima de blocos considerada estatisticamente relevante para o alculo dos
pesos das classes ´e 8 [14, 13]. Logo, utilizamos o valor 8 para β, para garantir que
as classes de blocos geradas ao aplic´aveis a tal etodo.
43
4.2 An´alise da Segmenta¸ao Autom´atica
A Tabela 4.2 mostra a quantidade de block classes e blocos gerados para cada
cole¸ao, tanto na segmenta¸ao manual de referˆencia como na segmenta¸ao au-
tom´atica.
SEG. MANUAL SEG. AUTOM
´
ATICA
Block Total de Block Total de Blocos em BC
Cole¸ao aginas Classes Blocos Classes Blocos com freq < β
CNN 16.257 158 257.139 1.945 597.301 1.911 (0,32%)
IG 34.460 246 406.965 1.095 1.404.512 1.109 (0,08%)
CNET 352.770 373 4,812.129 7.587 25.458.565 7.678 (0,03%)
BLOGS 54.055 161 1,042.624 1.383 2.149.039 1.029 (0,05%)
Tabela 4.2: Quantidade de aginas por cole¸ao, block classes e total de blocos
obtidos nas segmenta¸oes manual e autom´atica e quantidade de blocos na seg-
menta¸ao autom´atica observados em block classes (BC ) com frequˆencia abaixo do
limiar (f req < β).
Podemos observar que a quantidade de blocos gerados pelo etodo autom´atico
foi significativamente superior `a quantidade gerada pela segmenta¸ao manual. Ao
analisar as raz˜oes para a grande diferen¸ca na quantidade de blocos gerados pela
segmenta¸ao autom´atica e pela segmenta¸ao manual, observamos que o principal
motivo ´e a presen¸ca de pequenos detalhes e diferen¸cas entre p´aginas, que um humano
pode facilmente perceber e ignorar, mas que o algoritmo ao pode, uma vez que ´e
baseado na forma como estes trechos ao alocados na ´arvore DOM.
Na cole¸ao CNN pode-se observar que, apesar da pequena quantidade de aginas
na cole¸ao, a quantidade de block classes geradas pela segmenta¸ao autom´atica foi
relativamente alta, quando comparada `a quantidade de block classes obtidas nas
outras cole¸oes. Ao analisarmos as aginas de not´ıcia da cole¸ao CNN, podemos
verificar que estas conem tabelas, gr´aficos, fotos e outros componentes ilustrativos
em diferentes partes do texto. Isso faz com que alguns blocos com a mesma fun¸ao
na cole¸ao sejam alocados em block classes diferentes.
A quantidade de block classes na segmenta¸ao autom´atica sobre a cole¸ao CNET
apresentou uma diferen¸ca significativa em rela¸ao `a quantidade obtida atraes da
segmenta¸ao manual. Ao avaliar estes resultados verificamos que algumas irregula-
44
ridades na estrutura DOM de algumas de suas aginas impedem que o processo de
segmenta¸ao identifique corretamente regi˜oes com estruturas regulares (veja se¸ao
3.2.2). Na segmenta¸ao manual isso ao representou um problema, uma vez que
essas irregularidades ao ao percept´ıveis visualmente.
Ainda na Tabela 4.2, podemos verificar a existˆencia de blocos pertencentes a
block classes com frequˆencia inferior a β. Esses dados podem ser observados na
´ultima coluna da tabela. Tais ocorrˆencias se devem `a restri¸ao presente na etapa
de poda da SOM
tree
, onde os com frequˆencia inferior a β o podem ser podados
caso todos os seus os irm˜aos tamb´em possuam frequˆencia inferior a β, conforme
descrito na se¸ao 3.4.2. Entretanto, podemos observar que os percentuais de blocos
pertencentes a block classes nessa condi¸ao em cada cole¸ao ´e pequeno. A cole¸ao
CNN foi a que apresentou o maior percentual, com aproximadamente 0,32%. As
cole¸oes IG, CNET e BLOGS tiveram percentuais consideravelmente baixos, o que
evidencia um impacto insignificante desses blocos na segmenta¸ao.
4.3 Compara¸ao entre segmenta¸ao manual e autom´atica
Apesar da motivao principal da segmenta¸cao autom´atica pela SOM
tree
ser
voltada para m´etodos de ranking baseados em blocos, a divis˜ao em blocos obtida
por este pode ser aplic´avel a outras ´areas em que uma segmenta¸ao pr´oxima da per-
cep¸ao que o usu´ario tem como ideal seja necess´aria. Para avaliar a veracidade dessa
afirma¸ao, utilizamos as m´etricas
´
Indice de Rand Ajustado (AdjRand) e Informa¸ao
utua Normalizada (NMI ), apresentadas na se¸ao 4.3.
Como referˆencia para compara¸ao, implementamos o m´etodo Block fusion, em
sua varia¸ao Rule-Based (BF-RuleBased). Tal etodo, proposto por Kohlsch¨utter
e Nejdl, ´e apresentado na se¸ao 1.2.
Para cada etodo de segmenta¸ao, SOM
tree
e BF-RuleBased, foram calcula-
dos os valores de AdjRand e NMI em cada agina das quatro cole¸oes utilizadas
nos experimentos. Na Tabela 4.3 podemos ver as edias das m´etricas AdjRand e
NMI para os dois m´etodos de segmenta¸ao, calculadas sobres as aginas das quatro
45
SOM
tree
BF-RuleBased
CNN
AdjRand 0,8497 0,6108
NMI 0,8736 0,7695
IG
AdjRand 0,8311 0,7281
NMI 0,8951 0,8415
CNET
AdjRand 0,5007 0,3457
NMI 0,7293 0,6732
BLOGS
AdjRand 0,8241 0,4872
NMI 0,8660 0,7391
Tabela 4.3: Valores m´edios de AdjRand e NMI sobre as aginas segmentadas com
SOM
tree
e BF-RuleBased nas 4 bases (IG, CNN, BLOGS e CNET).
cole¸oes utilizadas nos experimentos.
´
E facil observar que a segmenta¸ao obtida
pela SOM
tree
apresentou desempenho significativamente superior `a obtida atrav´es
do BF-RuleBased.
Os valores m´edios das duas etricas para a SOM
tree
exibidos na tabela 4.3
mostram que o grau de concordˆancia entre os blocos obtidos pela segmenta¸ao au-
tom´atica e pela segmenta¸ao de referˆencia ´e elevado. Isso demonstra que mesmo
havendo uma grande diferen¸ca na quantidade de blocos geradas pela SOM
tree
e
pela segmenta¸ao manual, a maioria dos blocos obtidos na segmenta¸ao autom´atica
ao equivalentes aos obtidos na segmenta¸ao manual.
´
E interessante se observar que nas bases CNN, IG e BLOGS os valores m´edios de
AdjRand e NMI para a segmenta¸ao com a SOM
tree
foram bastante pr´oximos, en-
quanto que os valores para a cole¸ao CNET foram sobremaneira inferiores. Apesar de
os resultados para o etodo BF-RuleBased ao terem sido t˜ao homogˆeneos, tamb´em
observou-se que o valor edio das m´etricas para a cole¸ao da CNET tamem foi
inferior aos verificados nas outras cole¸oes. Uma das raz˜oes para tal desempenho
na cole¸ao CNET se deve `as irregularidades presente em suas aginas, conforme
discutido na se¸ao 4.2.
Nas Figuras 4.1 e 4.2 podemos observar o comportamento dos dois etodos de
segmenta¸ao autom´atica, SOM
tree
e BF-RuleBased, atraes das etricas AdjRand
e NMI , respectivamente. Para cada m´etrica, foram desenhados quatro gr´aficos, um
para cada cole¸ao (IG, CNN, CNET e BLOGS), demonstrando o desempenho dos
dois m´etodos de segmenta¸ao. Cada m´etodo de segmenta¸ao tem seu desempenho
46
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 2000 4000 6000 8000 10000 12000 14000 16000 18000
adjRand
Pages
Adjusted Rand Index: CNN COLLECTION
SOM Tree
Rule-based Blockfusion
(a)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 5000 10000 15000 20000 25000 30000 35000
adjRand
Pages
Adjusted Rand Index: IG COLLECTION
SOM Tree
Rule-based Blockfusion
(b)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 50000 100000 150000 200000 250000 300000 350000 400000
adjRand
Pages
Adjusted Rand Index: CNET COLLECTION
SOM Tree
Rule-based Blockfusion
(c)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 10000 20000 30000 40000 50000 60000
adjRand
Pages
Adjusted Rand Index: BLOGS COLLECTION
SOM Tree
Rule-based Blockfusion
(d)
Figura 4.1: Compara¸ao da m´etrica AdjRand nas segmenta¸oes realizadas com os
m´etodos SOM
tree
e BF-RuleBased, sobre as bases CNN, IG, CNET e BLOGS.
em uma cole¸ao evidenciado atraes de uma das curvas. Logo, cada curva denota
o desempenho de um dos etodos de segmenta¸ao, atrav´es de uma determinada
m´etrica, em uma dada cole¸ao.
Para tra¸car a curva representando o desempenho de um m´etodo de segmenta¸ao,
foram utilizados os c´alculos da m´etrica avaliando seu resultado sobre cada p´agina da
cole¸ao, ordenando-as em ordem crescente pelo valor da etrica. Para cada agina
da cole¸ao marcamos uma coordenada (x, y), onde x representa a ordem da agina,
e o y representa o valor da m´etrica calculada para esta agina.
Assim como observado na Tabela 4.3, os gr´aficos exibidos nas Figuras 4.1 e
4.2 demonstram que a segmenta¸ao realizada pela SOM
tree
superou a segmenta¸ao
realizada pelo etodo BF-RuleBased. Atrav´es destes gr´aficos podemos entender
47
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 2000 4000 6000 8000 10000 12000 14000 16000 18000
NMI
Pages
Normalized Mutual Information: CNN COLLECTION
SOM Tree
Rule-based Blockfusion
(a)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 5000 10000 15000 20000 25000 30000 35000
NMI
Pages
Normalized Mutual Information: IG COLLECTION
SOM Tree
Rule-based Blockfusion
(b)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 50000 100000 150000 200000 250000 300000 350000 400000
NMI
Pages
Normalized Mutual Information: CNET COLLECTION
SOM Tree
Rule-based Blockfusion
(c)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 10000 20000 30000 40000 50000 60000
NMI
Pages
Normalized Mutual Information: BLOGS COLLECTION
SOM Tree
Rule-based Blockfusion
(d)
Figura 4.2: Compara¸ao da m´etrica NMI nas segmenta¸oes realizadas com os
m´etodos SOM
tree
e BF-RuleBased, sobre as bases CNN, IG, CNET e BLOGS.
melhor como cada cole¸ao se comportou para cada um dos algoritmos.
A cole¸ao em que os algoritmos tiveram a maior diferen¸ca de performance foi a
cole¸ao BLOGS. No gr´afico presente na Figura 4.1(d) podemos observar que apro-
ximadamente 7.000 aginas da cole¸ao BLOGS obtiveram valores de AdjRand infe-
riores a 0,7 para a SOM
tree
, enquanto que mais de 36.000 aginas tiveram AdjRand
inferior a esse valor para o BF-RuleBased. Para a etrica NMI observa-se um com-
portamento semelhante, conforme Figura 4.2(d). Cerca de 1.000 aginas tiveram
valor de NMI inferior a 0,7 para a segmenta¸ao da cole¸ao BLOGS com a SOM
tree
,
enquanto aproximadamente 17.000 est˜ao abaixo de 0,7 para o BF-RuleBased.
Na base CNN as curvas para as etricas AdjRand e NMI , apresentadas nas
Figuras 4.1(a) e 4.2(a), tamb´em mostram uma superioridade significativa da seg-
48
menta¸ao utilizando a SOM
tree
. Para a m´etrica NMI , por exemplo, a segmenta¸ao
com a SOM
tree
resultou em menos de 500 aginas com valor abaixo de 0,7, conforme
observado da Figura 4.2(a). A segmenta¸ao realizada pelo etodo BF-RuleBased
resultou em aproximadamente 5.000 aginas nessa condi¸ao.
A cole¸ao IG, por sua vez, mostrou um comportamento pr´oximo para os dois
algoritmos, conforme podemos verificar nas curvas mostradas nas Figuras 4.1(b) e
4.2(b), mas com a SOM
tree
ainda mostrando um desempenho superior. Na Figura
4.1(b) observamos poucas aginas com AdjRand inferior a 0,6 para a segmenta¸cao
com a SOM
tree
, enquanto que para o BF-RuleBased a quantidade de aginas nessa
condi¸ao ´e aproximadamente 9.000.
De forma similar ao que a observamos anteriormente, podemos verificar nos
gr´aficos das Figuras 4.1(c) e 4.2(c) que os resultados de ambos os algoritmos para a
cole¸ao CNET apresentaram desempenho mais baixo do que para as outras cole¸oes.
Ainda assim, a segmenta¸ao atrav´es da SOM
tree
apresentou melhor performance,
conforme se pode observar nesses gr´aficos.
4.4 Avalia¸ao do impacto da segmenta¸ao autom´atica para
ranking baseado em blocos
Para analisar a qualidade da segmenta¸ao autom´atica para o m´etodo de ranking
segrank, foram comparadas as seguintes configura¸oes:
BM25 - Utiliza BM25 de maneira direta, sem considerar a estrutura das
aginas.
segrank - manual - Utiliza o segrank mesclado ao BM25, com a segmenta¸ao
manual.
segrank - SOM
tree
- Utiliza o segrank mesclado ao BM25, com a segmenta¸ao
autom´atica obtida atrav´es da SOM
tree
.
Nas configura¸oes em que o segrank foi utilizado em conjunto com o BM25,
usou-se uma vers˜ao do BM25 estendida para incorporar o fator ClassImportance do
49
segrank, descrito na se¸ao 2.3.2. Esta vers˜ao estendida do BM25 ´e apresentada com
maiores detalhes em [13].
As etricas utilizadas para mensurar a qualidade do alculo de ranking para
cada uma dessas configura¸oes foram as seguintes:
1. MAP (Mean Average Precision) - A AP (average precision ou precis˜ao
m´edia) ´e calculada pela m´edia das precis˜oes computadas sobre o ponto em
que cada documento relevante ´e encontrado, de acordo com a ordem obtida
pelo ranking para uma dada consulta. O MAP ´e a edia dos valores de AP
obtidos para um conjunto de consultas.
2. P@10 (Precision at 10) - Mede a quantidade de documentos relevantes nas
10 respostas com maior ranking.
BM25 Manual SOM
tree
Cole¸ao P@10 MAP P@10 MAP P@10 MAP
CNN 0,612 0,691 0,642 0,786 0,630 0,779
IG 0,594 0,621 0,667 0,749 0,659 0,733
CNET 0,476 0,458 0,552 0,498 0,512 0,470
BLOGS 0,584 0,644 0,604 0,678 0,602 0,677
Tabela 4.4: Valores de P@10 e MAP sobre o alculo de ranking utilizando o modelo
BM25 tradicional e utilizando o segrank nas 4 bases (IG, CNN, BLOGS e CNET)
para as segmenta¸oes manual e com SOM
tree
.
Ao utilizar os resultados da segmenta¸ao autom´atica com o segrank, pode-se
observar que os resultados de busca ficaram superiores aos resultados de aquinas de
busca convencionais, demonstrado aqui pelo BM25, e muito pr´oximos dos resultados
obtidos com segmenta¸ao manual, conforme pode ser observado na Tabela 4.4.
Estes resultados evidenciam que a SOM
tree
foi muito bem sucedida em prover
segmenta¸ao de aginas para o segrank, apesar da diferen¸ca na quantidade de block
classes entre a segmenta¸ao autom´atica obtida com a SOM
tree
e a segmenta¸ao
realizada por um especialista.
50
5 CONCLUS
˜
AO
Este trabalho se propˆos a estudar e avaliar um novo etodo de segmenta¸ao
autom´atica de p´aginas Web, chamado SOM
tree
, Esse etodo foi apresentado em [13]
e ´e capaz de particionar aginas em blocos, de acordo com a modelagem necess´aria
para o sistema de ranking baseado em blocos proposta em [14, 13]. Os experimentos
mostraram que, ao utilizar a segmenta¸ao obtida atraes da SOM
tree
como entrada
para o sistema de ranking baseado em blocos, os resultados ficaram muito pr´oximos
aos obtidos utilizando a segmenta¸ao de referˆencia.
Enquanto grande parte dos etodos de segmenta¸ao de aginas Web encontrados
na literatura baseiam-se em caracter´ısticas sofisticadas, como informa¸aoes visuais,
densidade de texto, distˆancia de os, entre outros, a segmenta¸ao pela SOM
tree
se
caracteriza pela simplicidade de sua proposta. Ele se baseia apenas em heur´ısticas
simples aplicadas sobre a ´arvore DOM e sobre a ´arvore denominada SOM
tree
.
Ao avaliar a segmenta¸ao obtida por meio de m´etricas de avalia¸ao de algor´ıtmos
de clustering, a segmenta¸ao atrav´es da SOM
tree
obteve ´ındices expressivos, supe-
riores, inclusive, ao m´etodo Block fusion, proposto por Kohlsch¨utter e Nejdl [19].
Apesar da principal motivao deste trabalho ser a segmenta¸ao de aginas Web
para problemas de ranking baseado em blocos, essas etricas demostraram que a
segmenta¸ao proposta pode ser utilizada para outros fins.
Um dos diferenciais da segmenta¸ao autom´atica pela SOM
tree
´e que uma agina
ao ´e segmentada isoladamente. Como a estrutura DOM de todas as aginas ao
relacionadas durante esse processo, isso leva a uma segmenta¸ao mais coesa. Ou
51
seja, aginas com estrutura semelhante tendem a ter segmenta¸oes similares.
5.1 Trabalhos Futuros
O processo de segmenta¸ao utiliza dois limiares, α e β, para a sua execu¸ao.
´
E importante que se realize um estudo mais aprofundado sobre o impacto dessas
vari´aveis, de modo a se descobrir um valor ´otimo para cada uma.
O mecanismo de segmenta¸ao aqui proposto tem como principal motivao a sua
aplica¸ao para m´etodos de ranking baseado em blocos. Entretanto, ele foi apenas
testado com o m´etodo de ranking proposto em [14]. Uma avalia¸ao da sua utiliza¸ao
com outros m´etodos precisa ser realizado, de modo que este possa ser consolidado
como um mecanismo vi´avel e de bom desempenho para tais m´etodos.
Um dos problemas na atualidade que mais tem demandado esfor¸cos relaciona-
dos a segmenta¸ao de aginas Web ´e a navega¸ao em dispositivos oveis com tela
reduzida, como celulares, tablets, palmtops e outros. Os etodos de segmenta¸ao
aplicados para este fim que encontramos na literatura realizam a segmenta¸ao no
pr´oprio dispositivo do usu´ario. Ao ler no dispositivo uma agina Web de um site,
esta ´e segmentada, os blocos considerados importantes para serem exibidos s˜ao sele-
cionados, uma nova p´agina modificada ´e criada e s´o ent˜ao a nova p´agina ´e carregada
no navegador. Apesar deste tipo de abordagem ter a vantagem de poder segmentar
e exibir p´aginas de qualquer site, ela possui algumas desvantagens. Uma delas ´e que
a agina o come¸ca a ser exibida quando ela ´e toda carregada, segmentada e modi-
ficada. Al´em disso, a realiza¸ao deste processo no dispositivo do usu´ario pode levar
a problema de consumo de recursos. Um outro problema nesta abordagem ´e que
um provedor de conte´udo ao tem qualquer garantia que suas aginas podem ser
vistas de maneira adequada nestes dispositivos, uma vez que ele ao tem qualquer
controle sobre a utiliza¸ao ou ao destes mecanismos por parte dos usu´arios.
A utiliza¸ao da segmenta¸ao atraes da SOM
tree
para a visualiza¸ao de aginas
em dispositivos com tela pequena apresenta um novo paradigma para este problema.
Diferente das abordagens que encontramos na literatura, a segmenta¸ao e sele¸ao
52
de blocos a serem exibidos devem ser realizadas no pr´oprio site. A aplica¸ao desta
nova abordagem pode ser de grande utilidade para portais e provedores de conte´udo
Web, que podem ter suas aginas vistas de maneira adequada nestes dispositivos,
independente do usu´ario usar ou ao algum mecanismo especial para este fim. Para
o usu´ario esta ´e uma opera¸ao transparente, uma vez que o processo ocorre total-
mente no servidor. A principal lacuna a ser explorada para esta abordagem est´a nos
m´etodos utilizados para sele¸ao e ordena¸ao dos blocos das p´aginas a serem exibidos
para o usu´ario. Tais etodos podem envolver desde os alculos de importˆancia de
blocos apresentados em [14] at´e ecnicas de aprendizado de aquina.
53
REFER
ˆ
ENCIAS
[1] Document object model (dom). http://www.w3.org/DOM, 2005.
[2] Siddu P. Algur and P. S. Hiremath. Extraction of flat and nested data records
from web pages. In Proceedings of the fifth Australasian conference on Data
mining and analystics - Volume 61, AusDM ’06, pages 163–168, Darlinghurst,
Australia, Australia, 2006. Australian Computer Society, Inc.
[3] Manuel
´
Alvarez, Alberto Pan, Juan Raposo, Fernando Bellas, and Fidel Ca-
cheda. Extracting lists of data records from semi-structured web pages. Data
Knowl. Eng., 64:491–509, February 2008.
[4] Ricardo A. Baeza-Yates and Berthier Ribeiro-Neto. Modern Information Re-
trieval. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA,
1999.
[5] Shumeet Baluja. Browsing on small screens: recasting web-page segmentation
into an efficient machine learning framework. In Proc. of 15th WWW Confe-
rence, pages 33–42, New York, NY, USA, 2006. ACM.
[6] Yevgen Borodin, Jalal Mahmud, and I.V. Ramakrishnan. Context browsing
with mobiles - when less is more. In MobiSys ’07: Proceedings of the 5th
international conference on Mobile systems, applications and services, pages
3–15, New York, NY, USA, 2007. ACM Press.
[7] D. Cai, S. Yu, J.-R. Wen, and W.-Y. Ma. Vips: a vision-based page segmenta-
tion algorithm. Technical Report MSR-TR-2003-79, Microsoft, 2003.
54
[8] Deng Cai, Shipeng Yu, Ji-Rong Wen, and Wei-Ying Ma. Block-based web
search. In SIGIR ’04: Proceedings of the 27th annual international ACM SIGIR
conference on Research and development in information retrieval, pages 456–
463, New York, NY, USA, 2004. ACM Press.
[9] Deepayan Chakrabarti, Ravi Kumar, and Kunal Punera. A graph-theoretic
approach to webpage segmentation. In WWW ’08: Proceeding of the 17th
international conference on World Wide Web, pages 377–386, New York, NY,
USA, 2008. ACM.
[10] Chia-Hui Chang and Shao-Chen Lui. Iepad: information extraction based on
pattern discovery. In Proceedings of the 10th international conference on World
Wide Web, WWW ’01, pages 681–688, New York, NY, USA, 2001. ACM.
[11] Yu Chen, Wei-Ying Ma, and Hong-Jiang Zhang. Detecting web page structure
for adaptive viewing on small form factor devices. In Proc. of 12th WWW
Conference, pages 225–233, New York, NY, USA, 2003. ACM.
[12] Fariza Fauzi, Jer-Lang Hong, and Mohammed Belkhatir. Webpage segmen-
tation for extracting images and their surrounding contextual information. In
Proceedings of the seventeen ACM international conference on Multimedia, MM
’09, pages 649–652, New York, NY, USA, 2009. ACM.
[13] David Fernandes. Uso de Informa¸ao Estrutural para Melhorar Qualidade de
Busca em Cole¸oes Web. PhD thesis, Universidade Federal de Minas Gerais,
2010.
[14] David Fernandes, Edleno S. de Moura, Berthier Ribeiro-Neto, Altigran S.
da Silva, and Marcos Andr´e Gon¸calves. Computing block importance for sear-
ching on web sites. In Proc. of 16th ACM CIKM, pages 165–174, New York,
NY, USA, 2007. ACM.
[15] William B. Frakes and Ricardo Baeza-Yates, editors. Information retrieval:
55
data structures and algorithms. Prentice-Hall, Inc., Upper Saddle River, NJ,
USA, 1992.
[16] Gen Hattori, Keiichiro Hoashi, Kazunori Matsumoto, and Fumiaki Sugaya.
Robust web page segmentation for mobile terminal using content-distances and
page layout information. In WWW ’07: Proceedings of the 16th international
conference on World Wide Web, pages 361–370, New York, NY, USA, 2007.
ACM Press.
[17] L. Hubert and P. Arabie. Comparing partitions. Journal of Classification, 1985.
[18] Jinbeom Kang and Joongmin Choi. Detecting informative web page blocks for
efficient information extraction using visual block segmentation. In ISITC ’07:
Proceedings of the 2007 International Symposium on Information Technology
Convergence, pages 306–310, Washington, DC, USA, 2007. IEEE Computer
Society.
[19] Christian Kohlsch¨utter and Wolfgang Nejdl. A densitometric approach to web
page segmentation. In CIKM ’08: Proceeding of the 17th ACM conference
on Information and knowledge management, pages 1173–1182, New York, NY,
USA, 2008. ACM.
[20] Bing Liu, Robert Grossman, and Yanhong Zhai. Mining data records in web
pages. In Proceedings of the ninth ACM SIGKDD international conference on
Knowledge discovery and data mining, KDD ’03, pages 601–606, New York,
NY, USA, 2003. ACM.
[21] Rupesh R. Mehta, Pabitra Mitra, and Harish Karnick. Extracting semantic
structure of web documents using content and visual information. In Special
interest tracks and posters of the 14th international conference on World Wide
Web, WWW ’05, pages 928–929, New York, NY, USA, 2005. ACM.
[22] Kai Simon and Georg Lausen. Viper: augmenting automatic information ex-
traction with visual perceptions. In CIKM ’05: Proceedings of the 14th ACM in-
56
ternational conference on Information and knowledge management, pages 381–
388, New York, NY, USA, 2005. ACM Press.
[23] Ruihua Song, Haifeng Liu, Ji-Rong Wen, and Wei-Ying Ma. Learning block
importance models for web pages. In WWW ’04: Proceedings of the 13th
international conference on World Wide Web, pages 203–211, New York, NY,
USA, 2004. ACM Press.
[24] Alexander Strehl and Joydeep Ghosh. Cluster ensembles a knowledge reuse
framework for combining multiple partitions. Journal on Machine Learning
Research (JMLR), 3:583–617, December 2002.
[25] Matthijs J. Warrens. On the equivalence of cohen’s kappa and the hubert-arabie
adjusted rand index. J. Classif., 25(2):177–183, 2008.
[26] Xiangye Xiao, Qiong Luo, Dan Hong, Hongbo Fu, Xing Xie, and Wei-Ying
Ma. Browsing on small displays by transforming web pages into hierarchically
structured subpages. ACM Trans. Web, 3:4:1–4:36, January 2009.
[27] Xing Xie, Chong Wang, Li-Qun Chen, and Wei-Ying Ma. An adaptive web
page layout structure for small devices. Multimedia Syst., 11(1):34–44, 2005.
[28] Xin Yang and Yuanchun Shi. Enhanced gestalt theory guided web page seg-
mentation for mobile browsing. In Proceedings of the 2009 IEEE/WIC/ACM
International Joint Conference on Web Intelligence and Intelligent Agent Te-
chnology - Volume 03, WI-IAT ’09, pages 46–49, Washington, DC, USA, 2009.
IEEE Computer Society.
[29] Xin Yang, Peifeng Xiang, and Yuanchun Shi. Finding user’s interest blocks
using significant implicit evidence for web browsing on small screen devices.
World Wide Web, 12:213–234, June 2009.
[30] Lan Yi, Bing Liu, and Xiaoli Li. Eliminating noisy information in web pages
for data mining. In Proc. of 9th ACM SIGKDD, pages 296–305, New York,
NY, USA, 2003. ACM.
57
[31] Shipeng Yu, Deng Cai, Ji-Rong Wen, and Wei-Ying Ma. Improving pseudo-
relevance feedback in web information retrieval using web page segmentation.
In WWW ’03: Proceedings of the 12th international conference on World Wide
Web, pages 11–18, New York, NY, USA, 2003. ACM.
Livros Grátis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administração
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Ciência da Computação
Baixar livros de Ciência da Informação
Baixar livros de Ciência Política
Baixar livros de Ciências da Saúde
Baixar livros de Comunicação
Baixar livros do Conselho Nacional de Educação - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Doméstica
Baixar livros de Educação
Baixar livros de Educação - Trânsito
Baixar livros de Educação Física
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmácia
Baixar livros de Filosofia
Baixar livros de Física
Baixar livros de Geociências
Baixar livros de Geografia
Baixar livros de História
Baixar livros de Línguas
Baixar livros de Literatura
Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemática
Baixar livros de Medicina
Baixar livros de Medicina Veterinária
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Música
Baixar livros de Psicologia
Baixar livros de Química
Baixar livros de Saúde Coletiva
Baixar livros de Serviço Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo