Upload
truongthu
View
214
Download
1
Embed Size (px)
Citation preview
KÉSSIA RITA DA COSTA MARCHI
UMA ABORDAGEM PARA PERSONALIZAÇÃO DE RESULTADOS DE BUSCA NA WEB
MARINGÁ
2010
KÉSSIA RITA DA COSTA MARCHI
UMA ABORDAGEM PARA PERSONALIZAÇÃO DE RESULTADOS DE BUSCA NA WEB
Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação da Universidade Estadual de Maringá, como requisito parcial para obtenção do grau de Mestre em Ciência da Computação. Orientador: Prof. Dr. Sérgio Roberto Pereira
da Silva Co-Orientador: Profa. Dra. Valéria
Delisandra Freltrim
MARINGÁ
2010
Dados Internacionais de Catalogação na Publicação (CIP)
M316a Marchi, Késsia Rita da Costa Abordagem para a personalização de resultados de busca na web, uma / Késsia Rita da Costa Marchi. –
Maringá: UEM, 2010. Orientador: Prof. Dr. Sérgio Roberto P. da Silva Co-orientadora: Profª. Drª. Valéria D. Feltrin
Dissertação (mestrado) – Universidade Estadual de Maringá, Programa de Pós-Graduação em Ciências da Computação, 2010.
1. Ciência da Computação - busca. 2. Personalização resultado de busca na web. 3. Mecanismo de busca - modo de usar I . Universidade Estadual de Maringá II. Título. (21. ed.) CDD: 004
Bibliotecária Responsável Zineide Pereira dos Santos CRB 9/1577
KÉSSIA RITA DA COSTA MARCHI
UMA ABORDAGEM PARA A PERSONALIZAÇÃO DE RESULTADOS DE BUSCA NA WEB
Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação da Universidade Estadual de Maringá, como requisito parcial para obtenção do grau de Mestre em Ciência da Computação.
Aprovado em 25/02/2010
BANCA EXAMINADORA
.
AGRADECIMENTOS
Agradeço primeiramente a Deus, por ter me dado forças para concluir todas as etapas
desse curso e, principalmente, concluir este trabalho.
Agradeço e dedico este trabalho, a toda a minha família, em especial meus pais, José e
Enete, meu marido André, minha filha Gabriela e meus irmãos Katiuce e Tiago, sem o apoio,
compreensão, carinho, incentivo e companherismo de vocês a realização deste sonho não
seria possível.
Ao meu orientador, Prof. Dr. Sérgio Roberto P. da Silva, idealista deste trabalho e a
minha co-orientadora, Profa. Dra. Valéria D. Feltrim, pelas orientações, auxílio e confiança
em mim depositada.
Aos meus eternos amigos de mestrado, e em especial aos meus irmãos de mestrado
Roberto Pereira e José Valderlei da Silva (Jesus).
Aos meus companheiros de trabalho, Claudete Werner, Wyllian Fressati e em especial
à Daniela Eloise Flôr, que sempre me orientou e me ouviu nos momentos difíceis. Agradeço a
vocês por todo apoio dado e todas as substituições realizadas ao longo do período de
mestrado.
Por fim, agradeço a Maira Inês Davanço, secretária do mestrado, por toda a dedicação
e atenção dada a todos os alunos diariamente.
RESUMO
O excesso de informação disponível na Web tem requerido dos usuários um maior esforço na recuperação de informação relevante ao seu interesse. Apesar dos motores de busca convencionais possuírem capacidade de retornar resultados de boa qualidade em resposta à maioria das consultas, eles ainda não conseguem oferecer estes resultados de forma eficiente. Neste trabalho é proposta uma arquitetura para um sistema de personalização de busca na Web que emprega a técnica de indexação de semântica latente, adaptada para o ambiente Web, em conjunto com um modelo de usuário construído de forma implícita por meio do acompanhamento da navegação do usuário nos documentos resultantes da busca. Por um lado, a técnica de indexação de semântica latente permite identificar a relação semântica existente entre os websites, proporcionando uma melhor ordenação dos resultados. Por outro, o modelo de usuário proporciona condições de identificar os interesses de um usuário na busca e possibilita uma melhoria na ordenação dos resultados oferecidos de acordo com esse interesse. Para validar esta proposta foram realizadas algumas simulações que comparam a classificação oferecida pelo motor de busca convencional Google® com a reclassificação oferecida pelo protótipo desenvolvido. Os resultados dessas simulações apresentaram-se bastante favoráveis, mostrando uma melhor classificação para os documentos considerados relevantes, o que tende a reduzir os esforços empregados pelos usuários na busca de informação relevante. No entanto, o modelo de usuário ainda apresenta alta sensibilidade frente às escolhas de documentos com baixa relevância durante a navegação do usuário.
Palavras-Chave: Personalização de Busca na Web, Indexação de Semântica Latente, Modelo de Usuário.
ABSTRACT
The excess of information available on the Web has required a greater effort from users to retrieve information relevant to their interest. Despite conventional search engines possess the ability to retrieve good quality results in response to the majority of users' queries, they are not able to offer these results efficiently. In this work, we propose an architecture for a web search personalization system, employing the technique of latent semantic indexing, adapted to the Web environment, together with a user model built implicitly by monitoring users while they browse among the documents retrieved in the search. In one side, the technique of latent semantic indexing allows the identification of semantic relationship among websites, providing a better ordering of the results. In other side, the user model provides conditions to identify the interest of a user in the search and allows an improvement in the ordering of the results provided according to that interest. To evaluate this proposal, some simulations were carried out comparing the classification offered by conventional search engine Google® with the reclassification offered by the prototype developed in our research. The results of these simulations are quite favorable, showing better classification for documents relevant to the user, which tends to reduce the efforts employed by users in finding relevant information. However, the user model stilll has a high sensitivity to the choice of low relevant documents during the user navigation.
Keywords: Personalization of Web Search, Latent Semantic Indexing, User Model.
SUMÁRIO
LISTA DE FIGURAS .............................................................................................................. 15
LISTA DE QUADROS E TABELAS ...................................................................................... 17
LISTA DE EQUAÇÕES .......................................................................................................... 19
LISTA DE ABREVIATURAS E SIGLAS .............................................................................. 21
1. INTRODUÇÃO .................................................................................................................... 23
2. RECUPERAÇÃO DE INFORMAÇÃO ............................................................................... 29
2.1. Aspectos Gerais ................................................................................................................. 30
2.2. Pré-processamento em Documentos .................................................................................. 35
2.2.1. O processo de Tokenização ............................................................................................ 36
2.2.2. O Processamento de Stopwords ...................................................................................... 38
2.2.3. O Processo de Stemming ................................................................................................. 39
2.3. Modelos Clássicos ............................................................................................................. 41
2.3.1. Modelo Booleano ........................................................................................................... 41
2.3.2. Modelo Vetorial .............................................................................................................. 42
2.3.3. Modelo Probabilístico .................................................................................................... 44
2.4. Modelos Alternativos ........................................................................................................ 45
2.4.1. O Processo de Indexação de Semântica Latente ............................................................ 46
2.4.1.1. Decomposição de Valores Singulares ......................................................................... 47
2.4.1.2. Exemplo de aplicação da LSI....................................................................................... 50
2.5. Recuperação de Informação na Web ................................................................................. 56
2.5.1. Aspectos gerais sobre os motores de busca .................................................................... 57
2.5.1.1. Deficiências dos motores de busca atuais ................................................................... 60
2.5.1.2. Experimento ................................................................................................................ 61
3. PERSONALIZAÇÃO DE BUSCA NA WEB ...................................................................... 69
3.1. A Modelagem do Usuário em Sistemas de Personalização ............................................... 72
3.2. Navegação Adaptativa ....................................................................................................... 77
3.3. Abordagens de Personalização na Web ............................................................................. 79
3.3.1. Pesquisa contextual ........................................................................................................ 81
3.3.2. Personalização baseada em histórico de consultas ......................................................... 82
3.3.3. Personalização baseada na representação rica das necessidades dos usuários ............... 83
3.3.4. Resultados adaptados por clusterização ......................................................................... 85
3.3.5. Personalização baseada em hiperlink: ............................................................................ 86
4. ADAPTAÇÃO E PERSONALIZAÇÃO PARA BUSCAS NA WEB................................. 87
4.1. A Proposta de um Sistema Adaptativo de Busca .............................................................. 88
4.1.1. Arquitetura do sistema proposto .................................................................................... 89
4.1.2. Etapa de pré-processamento ........................................................................................... 91
4.1.3. Construção do modelo de usuário .................................................................................. 94
4.1.4. Adaptação da indexação de semântica latente ............................................................... 96
4.1.5. Personalização dos resultados. ....................................................................................... 97
5. AVALIAÇÃO DA ARQUITETURA PROPOSTA ............................................................ 99
5.1. Metodologia ...................................................................................................................... 99
5.2. Definindo a Consulta Inicial ........................................................................................... 101
5.3. Aplicando a LSI .............................................................................................................. 107
5.4. Aplicando a LSI Adaptada .............................................................................................. 110
5.5. Aplicando o Modelo De Usuário .................................................................................... 119
6. CONCLUSÃO ................................................................................................................... 129
7. REFERÊNCIAS ................................................................................................................. 137
LISTA DE FIGURAS
Figura 1 - Processo básico de Recuperação de Informação ..................................................... 32
Figura 2 - Processo de Tokenização e remoção de Stopwords................................................. 39
Figura 3 –Posição do primeiro documento relevante classificado pelo Google....................... 65
Figura 4 - Processo de personalização como parte do processo de recuperação ...................... 75
Figura 5 – Processo de personalização por re-classificação dos resultados obtidos ................ 75
Figura 6 - Processo de personalização por modificação da consulta ....................................... 76
Figura 7 - Distinção das abordagens de personalização. .......................................................... 80
Figura 8 - Arquitetura do Protótipo .......................................................................................... 89
Figura 9 – Proposta de interface ............................................................................................... 91
Figura 10 - Long tail dos termos utilizados .............................................................................. 92
Figura 11- Personalização dos resultados ................................................................................. 97
Figura 12 - Processo de Simulação......................................................................................... 100
Figura 13 - Ordenação oferecida pelo Google para o primeiro usuário ................................. 103
Figura 14 - Ordenação oferecida pelo Google para o segundo usuário.................................. 104
Figura 15 - Ordenação oferecida pelo Google para o terceiro usuário ................................... 104
Figura 16 – Ordenação Google e Protótipo considerando consulta do primeiro usuário ....... 108
Figura 17 - Ordenação Google e Protótipo considerando consulta do segundo usuário ........ 108
Figura 18 - Ordenação Google e Protótipo considerando consulta do terceiro usuário ......... 109
Figura 19 - Gráfico da Comparação Precisão Média dos Retornos Oferecidos ..................... 109
Figura 20 - Classificação obtida pelo primeiro usuário utilizando 80% dos termos .............. 112
Figura 21 - Classificação obtida pelo primeiro usuário utilizando 60% dos termos. ............. 113
Figura 22 - Classificação obtida pelo primeiro usuário utilizando 40% dos termos. ............. 114
Figura 23- Classificação obtida pelo primeiro usuário utilizando 20% dos termos. .............. 115
Figura 24 - Classificação obtida pelo primeiro usuário utilizando 10% dos termos. ............. 117
Figura 25 – Tempo médio de processamento e % de termos utilizados ................................. 118
Figura 26 - Precisão Média e % de termos utilizados ............................................................ 118
Figura 27 - Precisão Média e tempo de processamento. ........................................................ 119
Figura 28 – Ordenação Google e Protótipo considerando a navegação do primeiro usuário. 120
Figura 29 - Classificação obtida a partir de 1 website navegado............................................ 121
Figura 30 - Classificação obtida a partir de 3 website navegado............................................ 121
Figura 31 - Classificação obtida a partir de 5 website navegado............................................ 121
Figura 32 - Classificação obtida a partir de 7 website navegado............................................ 121
Figura 33 - Classificação obtida a partir de 9 website navegado .......................................... 121
Figura 34 - Precisão média considerando a navegação do primeiro usuário ......................... 122
Figura 35 - Precisão média considerando a navegação do segundo usuário ......................... 123
Figura 36 - Precisão média considerando a navegação do terceiro usuário ........................... 124
Figura 37 - Precisão média considerando websites parcialmente relevantes ......................... 124
Figura 38 - Precisão média considerando websites irrelevantes ............................................ 125
LISTA DE QUADROS E TABELAS
Tabela 1 - Representação de uma coleção de documentos ....................................................... 43
Tabela 2 - Modelos de Recuperação de Informação. ............................................................... 45
Tabela 3 - Coleção de documentos ........................................................................................... 50
Tabela 4 - Matriz de frequência termo-documento .................................................................. 51
Tabela 5 - Matriz termo-documento normalizada .................................................................... 52
Tabela 6 - Matriz termo-documentos com cálculos TF-IDF .................................................... 53
Tabela 7 - Coleção de documentos re-ordenada ....................................................................... 55
Tabela 8 - Consultas realizadas por usuários ........................................................................... 62
Tabela 9 - Número de documentos totalmente relevantes ........................................................ 63
Tabela 10 - Número de documentos com relevância parcial .................................................... 64
Tabela 11 - Comparação dos retornos obtidos pelos usuários.................................................. 64
Tabela 12 - Posição dos documentos relevantes ...................................................................... 66
Tabela 13 - Abordagens de personalização e forma de obtenção do perfil do usuário ............ 81
Tabela 14 – Precisão média da ordenação oferecida pelo motor de busca............................. 106
Tabela 15- Tempo consumido para execução da LSI sem adaptação .................................... 110
Tabela 16 - Redução no total de termos ................................................................................. 111
Tabela 17 - Precisão Média e Tempo de Execução para o corte de 20% dos termos ............ 112
Tabela 18 - Precisão Média e Tempo de Execução para o corte de 40% dos termos ............ 114
Tabela 19- Precisão Média e Tempo de Execução para o corte de 60% dos termos ............. 115
Tabela 20 - Precisão Média e Tempo de Execução para o corte de 80% dos termos ............ 116
Tabela 21 - Tempo de processamento X Precisão Média ...................................................... 117
Tabela 22 - Precisão média ..................................................................................................... 126
LISTA DE EQUAÇÕES
Equação 1 - Representação Vetorial de um documento no modelo Espaço-Vetorial. ............. 42
Equação 2 - Função de Similaridade ........................................................................................ 44
Equação 3 – Equação para comparação documento-documento.............................................. 49
Equação 4 – Equação para realização do matching entre consulta e documentos ................... 49
Equação 5- Adição de novos documentos ................................................................................ 97
Equação 6 - Adição de novos termos ....................................................................................... 97
Equação 7 - Cálculo da Precisão ............................................................................................ 107
LISTA DE ABREVEATURAS E SIGLAS
LSI Latent Semantic Indexing ............................................................................. 25
HTML HyperText Markup Language ...................................................................... 31
TF Term-Frequency ........................................................................................... 42
IDF Inverse document frequency ........................................................................ 42
SVD Single Value Decomposition ........................................................................ 47
HA Hipermídia Adaptativa ................................................................................. 70
MOSC Módulo de operações sobre as consultas ..................................................... 90
MOST Módulo de operações sobre o texto ............................................................ 90
MR Módulo de re-ordenação ............................................................................. 90
SEO Search Engine Optimization ........................................................................ 107
23
C a p í t u l o I
INTRODUÇÃO
ecuperar informações em um contexto aberto, como é o caso da Web, ainda
é uma tarefa complexa para os modelos tradicionais de busca de
informações, baseados em algoritmos de indexação de conteúdos. A
despeito dos softwares atuais de localização de informações, denominados
motores de busca, possuirem um grande número de páginas indexadas, sendo capazes de obter
resultados de boa qualidade em resposta às consultas dos usuários, os resultados nem sempre
vão ao encontro dos reais interesses dos usuários. Em geral, o uso de técnicas de search
engine optimization (SEO1) coloca vários website comerciais nas primeiras posições do
ranking destes motores de busca, o que pode ser contrário ao interesse de um usuário que está
interessado na parte técnica ou artística de um assunto.
1 Os SEOs – Search Engine Optimizator, são pessoas ou entidades que realizam trabalhos referentes à
otimização de websites. Essa otimização é obtida por meio do posicionamento nos primeiros lugares nas
ferramentas de busca para algumas palavras-chaves.
R
24
É neste cenário que os motores de busca convencionais encontram dois grandes
desafios. O primeiro diz respeito à qualidade dos resultados, ou seja, como fornecer
resultados de qualidade independente do nível de conhecimento sobre a construção de strings
de consultas de cada usuário. Mesmo os melhores motores de busca ainda não conseguem
retornar uma classificação precisa referente ao contexto de interesse do usuário. Os resultados
oferecidos por estes motores de busca misturam websites que são verdadeiramente relevantes
ao contexto do usuário com websites que apresentam uma similaridade marginal à consulta,
ou que são totalmente irrelevantes. De acordo com MANNING (2008), o número de termos
utilizados na elaboração de consultas na Web está em torno de duas ou três palavras-chaves e
raramente são utilizados os conectivos booleanos ou caracteres especiais. Esse fato reflete
diretamente nos resultados oferecidos pelos motores de busca, que tendem a retornar muitos
websites irrelevantes, exigindo que o usuário realize uma filtragem manual dos resultados
para obtenção dos que traduzam realmente seu interesse. O esforço empregado nessa
filtragem pode ser alto de acordo com a precisão da classificação dos resultados oferecidos
pelo motor de busca (HARDTKE, 2009; BRUSILOVSKY, 2009; [B] MICARELLI, 2007;
PANT, 2003).
O segundo desafio dos motores de busca se relaciona com qualidade da interface
com o usuário, ou seja, como atender usuários leigos e/ou profissionais experientes com uma
única interface simples. Embora se deseje ter uma interface simples, é interessante que ela
possua recursos que facilitem a navegação e, ao mesmo tempo, constituam uma poderosa
ferramenta para consultas complexas. Essas interfaces devem ser capazes de apresentar
resultados que atendam as necessidades do usuário e exijam desse usuário um mínimo esforço
na busca de informação relevante.
25
De acordo com KHOPKAR (2003), os motores de busca que têm recursos que
possibilitam a interação com o usuário, visando a construção de um modelo de interesses do
usuário, apresentam um nível maior de complexidade de interação. Essa interação pode
ocorrer de duas formas, sendo por meio: do feedback implícito, no qual as ações do usuário
são capturadas de forma não intrusiva; ou do feedback explícito, que requer do usuário uma
intervenção direta. Os sistemas que fazem uso do feedback explícito apresentam problemas
relacionados a obtenção da informação correta, devido à preocupação com a privacidade ([B]
MICARELLI, 2007; PAZZANI, 2007). Softwares como o SurfCanyon (HARDTKE, 2009)
utilizam os dois meios de interação, entretanto, usuários leigos apresentam dificuldade de
interagir com os recursos adicionais, como os ícones apresentados no final de cada link que
possibilita a aproximação de websites similares a esse link.
Com o intuito de discutir possíveis melhorias aos problemas referentes aos retornos
oferecidos pelos motores de busca convencionais, este trabalho explora ineficiências comuns
a estes motores de busca, propondo uma forma de personalização dos resultados oferecidos
pelos mesmos de acordo com um modelo de usuário construído de forma implícita, o qual
considera as ações do mouse ou do teclado durante a navegação do usuário, possibilitando,
assim, identificar o interesse do usuário em cada website.
Com a finalidade de apoiar a realização da personalização dos resultados das
consultas, foi considerada a hipótese de se criar um modelo de usuário implícito com o uso da
técnica de LSI (Latent Semantic Indexing) para auxiliar na indexação semântica dos websites
(por meio da identificação de estruturas semânticas ocultas nas relações entre termos e
websites) (MANNING, 2008; DEERWESTER, 1996; BAEZA-YATES, 1999). Trabalhos
citados por [A] MICARELLI (2007), BRUSILOVSKY (2004, 2009), MANNING (2008),
sugerem o uso da LSI em motores de busca no momento da indexação. Neste trabalho, é
proposta a aplicação dessa técnica em websites retornados pelos motores de busca
26
convencionais e a apresentação de uma nova classificação baseada na similaridade
identificada pela LSI no browser do usuário. O modelo de usuário será construído a partir da
matriz LSI de cada website visitado.
Para tornar viável a utilização da LSI no ambiente web é necessária a realização de
adaptações. Com base na lei de Zipf (BRYNJOLFSSON, 2007; KOCH, 2000; ZIPF, 1949) é
proposto um corte significativo no número de termos usados na matriz LSI, o que proporciona
um maior desempenho e possibilita que as classificações dos resultados das consultas
realizadas pelos usuários aconteçam em paralelo à sua navegação. As classificações ocorrem a
cada atualização do modelo de usuário e os resultados são re-ordenados por meio do método
de visualização personalizada, fazendo uso da ordenação, ou classificação, adaptativa dos
links retornados pelo motor de busca.
Para validar a utilização da técnica de LSI em conjunto com o modelo de usuário
construído de forma implícita, foram realizadas algumas simulações com os resultados
obtidos por meio de um protótipo construído e comparados aos resultados obtidos pelo motor
de busca Google®. As simulações realizadas indicaram a viabilidade de se aplicar o modelo
de usuário proposto e a técnica de LSI aplicada a um percentual de termos extraídos de cada
documento, na re-ordenação dos resultados oferecidos pelos motores de busca convencionais
na Web. Entretanto, é importante salientar que, por se tratar de uma simulação, certos detalhes
foram ignorados, como, a não consideração das diferentes taxas de conexões que os usuário
utilizam e as questões de interação humano-computador.
Esta dissertação está organizada da seguinte forma. No Capítulo II, apresentamos os
conceitos relativos a área de recuperação de informação, falando sobre a etapa de pré-
processamento de texto realizado nas tarefas de Recuperação de Informação (RI); os modelos
clássicos de RI; os modelos alternativos, como a LSI; e o processo de recuperação de
informação na Web, citando o funcionamento tradicional dos motores de busca e identificando
27
algumas de suas deficiências. No Capítulo III, abordamos os conceitos sobre personalização
de busca na Web, enfocando conceitos de adaptatividade, hipermídia adaptativa, modelo de
usuário; navegação adaptativa e técnicas de personalização. No Capítulo IV, descrevemos
nossa proposta de personalização dos resultados oferecidos pelos motores de busca
convencionais utilizando a LSI aplicada a um percentual de termos em conjunto com um
modelo de usuário criado de forma implícita. No Capítulo V, detalhamos o processo de
simulação realizado e as análises dos resultados obtidos nesse processo. Finalmente, no
Capítulo VI, apresentamos nossas conclusões sobre o trabalho desenvolvido, discutimos suas
limitações e sugerimos algumas pesquisas futuras.
29
C a p í t u l o II
RECUPERAÇÃO DE INFORMAÇÃO
tarefa de recuperar informações lida com os processos de representação,
armazenamento, organização e acesso à informação, objetivando proporcionar
ao usuário uma maior facilidade de acesso à informação relevante (BAEZA-
YATES, 1999).
Neste capítulo, aborda-se o conceito de Recuperação de Informação (RI), sua origem,
aplicações e classificação. Apresentam-se ainda as tarefas que ocorrem na etapa de pré-
processamento dos documentos, a qual tem como objetivo principal identificar as palavras
importantes do texto no contexto ao qual elas pertencem. A seguir são apresentados os
A
30
modelos booleano, vetorial e probabilístico, os quais são considerados clássicos na tarefa de
RI. Após essas discussões são citados alguns modelos alternativos de RI e realizada uma
explanação sobre o processo de Indexação de Semântica Latente (LSI – do Inglês
Latent Semantic Index), o qual visa melhorar os resultados oferecidos em tarefas de RI. Por
fim, apresenta-se as características inerentes à recuperação de informação na Web, a qual,
normalmente, ocorre por meio de motores de busca.
2.1. Aspectos Gerais
O termo RI tem sido utilizado desde a década de 40, sendo citado pela primeira vez
por Calvin Mooers em sua dissertação de mestrado (MOOERS, 1950). A RI é reconhecida
como uma área de pesquisa interdisciplinar, englobando áreas como Ciência da Computação,
Arquitetura da Informação, Psicologia Cognitiva, Lingüística, Estatística e outras
(GARFIELD, 1977). No princípio, a RI era uma tarefa utilizada apenas por pessoas que
trabalhavam em áreas específicas, como bibliotecários, paralegais e pesquisadores em geral.
Entretanto, a sobrecarga de informação2 atual mudou esse cenário. Hoje milhares de pessoas
estão engajadas na recuperação de informações quando estão utilizando a Web por meio dos
motores de busca disponíveis, ou mesmo na consulta de seus emails.
Nesse contexto, nota-se que a RI abrange outros tipos de dados que não somente os
estruturados como no modelo de banco de dados relacional, fortemente empregado hoje em
dia no armazenamento de dados. Dessa forma, estabeleceu-se uma nova necessidade: a
consulta em dados semi-estruturados, os quais são caracterizados por possuírem uma estrutura
2 Sobrecarga de Informação é um termo amplamente utilizado para definir a quantidade excessiva de
informações disponível na Web (HIMMA, 2007).
31
irregular e, muitas vezes, implícita como nos tipos de dados contidos nas páginas HTML
(HyperText Markup Language) (MANNING, 2008; PAPAKONSTANTINOU, 1995).
Os dados semi-estruturados apresentam uma representação estrutural heterogênea,
sendo caracterizados por não possuírem um esquema pré-definido, tendo o esquema de
representação presente de forma implícita ou explícita juntamente com os dados, ou seja, eles
possuem uma estrutura auto-descritiva. Este tipo de estrutura determina que deve ser feita
uma análise dos dados para identificar e extrair a estrutura e os dados que poderão ser
utilizados (ELMASRI, 2005).
Sistemas de RI são classificados, segundo MANNING (2008), em três escalas. Na
escala inicial está a recuperação de informação pessoal, a qual apresenta como objetivo
realizar a recuperação de informação em computadores pessoais. Sistemas operacionais como
o Windows 7 e Apple’s Mac OS X, entre outros, tem integrado a recuperação pessoal de
informação. Outros exemplos são os programas de e-mails que fornecem meios para
classificações automáticas ou manuais em pastas particulares e filtros anti-spam. Na escala
intermediária, encontram-se os sistemas empresariais, institucionais e de busca em um
domínio específico, nos quais a recuperação ocorre em uma coleção de dados específica,
como em uma determinada base de dados ou em artigos resultantes de uma pesquisa (na qual,
normalmente, esses arquivos ficam armazenados em um sistema centralizado). Por fim, na
escala mais avançada, tem-se a busca na Web, na qual o sistema realiza a pesquisa na Web e
deve ser capaz de trabalhar de forma eficiente, tornando possível que o usuário empregue o
menor esforço, e eficaz, produzindo o melhor resultado. A pesquisa realizada deve considerar
aspectos particulares da rede, como a exploração de hiperdocumentos e a existência de
spamming3, para a manipulação dos resultados obtidos nos mecanismos de busca.
3 Spamming são técnicas que promovem uma maior exposição do website nos mecanismos de busca,
ocasionando resultados insatisfatórios.
32
De uma forma geral, sistemas de RI suportam três processos básicos, sendo eles: a
representação dos conteúdos dos documentos; a representação das necessidades dos usuários,
normalmente indicadas por consultas; e a comparação entre esses dois processos, conforme
mostra a figura 1 (CROFT, 1993).
Figura 1 - Processo básico de Recuperação de Informação
Os documentos são representados por um processo chamado de indexação, o qual gera
uma representação formal dos dados de cada documento. Os algoritmos que realizam a
indexação variam desde soluções triviais, normalmente utilizadas para indexar documentos de
textos completos, até algoritmos mais complexos que armazenam parcialmente o conteúdo
dos documentos, geralmente utilizados para grandes coleções. Além dos conteúdos, os índices
também guardam informações sobre a localização real de cada documento. Há vários métodos
de indexação já desenvolvidos, como o array de sufixos, a assinatura de arquivos e os índices
invertidos (HIEMSTRA, 2001).
A representação de informações sobre o problema, ilustrada na figura 1,
frequentemente é referenciada como o processo de formulação de consultas. Formular uma
consulta pode denotar a interação completa entre o sistema e o usuário. Por meio da consulta,
o sistema consegue subsídios para começar a entender qual é a necessidade do usuário
33
(HIEMSTRA, 2001). Deste modo, a formulação da consulta determina diretamente os
resultados oferecidos no processo de comparação. Para formular uma consulta nas
ferramentas de busca convencionais pode-se:
• Fazer uso de termos, ou seja, palavras chaves extraídas da comunicação em
linguagem natural, para as quais o mecanismo de busca retornará documentos que
possuem esses termos, independentes de sua posição no texto. Ex. information
retrieval retornará qualquer documento que possua a palavra information ou
retrieval, independente de sua posição.
• Fazer uso de aspas, que permite definir a sequência exata dos termos,
normalmente formando uma frase. Ex. “information retrieval” retornará
documentos que possuem essa sequência de palavras.
• Fazer uso de conectivos lógicos AND e OR, que determinam a obrigatoriedade ou
não do termo no documento. Ex1. information AND retrieval retornará
documentos que possuam, obrigatoriamente, os dois termos independentes de
posição. Ex2. information OR retrieval retornará documentos que possuam, pelo
menos, um dos termos utilizados na consulta.
• Fazer uso de negação, que permite especificar que a presença de um determinado
termo no documento exclua esse documento da lista de retornos, ou seja,
consultando por information– retrieval serão retornados documentos que possuam
o termo information e não possuam o termo retrieval.
• Escrever consultas que reúnam termos, aspas, conectivos lógicos e negação para
explicitar de forma completa a necessidade do usuário.
Formulando uma consulta de forma consistente e coerente é possível obter um maior
número de documentos relevantes ao interesse do usuário. Quanto mais detalhes forem
34
apresentados ao mecanismo de busca no momento da formulação da consulta, mais refinado
fica o resultado apresentado por esse mecanismo.
O processo de comparação (matching) refere-se a comparar a consulta formulada pelo
usuário com os documentos indexados pelo mecanismo de busca. A partir de um conjunto de
documentos e uma consulta, o processo de comparação obtém um subconjunto ordenado de
documentos relevantes à consulta formulada. Essa ordenação tem como objetivo principal
minimizar o tempo que o usuário leva para encontrar documentos interessantes e é
estabelecida pelo algoritmo de classificação de cada mecanismo de busca. Esses algoritmos,
na sua maioria, utilizam a frequência dos termos e/ou métodos estatísticos para a distribuição
desses documentos. Ao navegar nos documentos retornados, o usuário pode obter
informações sobre o problema, o que pode auxiliá-lo a melhorar a query e, por conseqüência,
obter um maior número de documentos relevantes.
Na sua forma convencional, o processo de comparação realizado por motores de busca
utiliza simplesmente a recuperação de palavras por semelhança literal, não levando em
consideração toda a informação existente no documento ou as interações realizadas pelos
usuários. RIJSBERGEN (1999) comenta que esse processo poderia ser realizado por meio do
conjunto de palavras pertencentes aos documentos da coleção, fazendo o uso de sinonímia4. A
sinonímia pode causar uma sensível redução no número de documentos retornados relevantes
à consulta, devido ao fato de que a palavra-chave que está sendo utilizada na consulta pode
não estar sendo utilizada no documento. E, além desse uso, também é possível utilizar
informações referentes ao interesse do usuário por meio da sua interação com o sistema.
Em uma abordagem de RI, tanto a sinonímia quanto a polissemia5, são problemas
importantes que devem ser tratados na etapa de pré-processamento. A polissemia pode causar
retornos de documentos não relevantes ao usuário, pois as palavras-chaves utilizadas na string
4 Sinonímia é um fenômeno que ocorre com palavras diferentes que apresentam o mesmo significado.
5 A polissemia é um fenômeno em que uma palavra possui múltiplos significados.
35
de consulta podem estar presentes no documento, contudo, apresentando significado distinto.
A sinonímia pode omitir documentos relevantes ao usuário, pois as palavras-chaves utilizadas
na string podem não ser as mesmas que estão presentes nos documentos. Ambos os problemas
afetam negativamente a precisão do sistema. O pré-processamento tem como objetivo
principal identificar as palavras importantes do texto no contexto ao qual elas pertencem,
permitindo, assim, definir a similaridade de significados entre elas.
2.2. Pré-processamento em Documentos
De forma geral, o pré-processamento do texto procura representar os documentos de
uma forma mais estruturada. Dentre as diversas formas de representar documentos textuais na
literatura de RI destaca-se a representação de forma vetorial, iniciando pela decomposição do
documento em termos e atribuindo a cada termo sua frequência, ou seja, o número de
repetições que cada termo apresenta no documento. Essa representação é obtida por meio de
uma matriz esparsa, denominada de matriz termo-documento, na qual cada coluna representa
um documento (Dj) e cada linha representa um termo (Ti). O valor da célula DjTi é a
frequência do termo Ti no documento Dj.
Durante a construção da matriz termo-documento são realizados alguns processos
necessários para tornar a matriz computacionalmente tratável, sendo eles:
1. A análise do documento (parsing) para reconhecer seu conteúdo e sua
estrutura. Na RI convencional, a maioria dos documentos apresentam palavras
como conteúdo. No caso de documento na Web o analisador sintático pode utilizar
tags e outros metadados para interpretar a estrutura do documento (baseado na
sintaxe da linguagem de marcação utilizada) e, então, construir uma representação
do documento que inclui tanto sua estrutura quanto seu conteúdo (CROFT, 2009;
36
SOARES, 2008). O parser realiza um papel importante para os motores de busca
da Web, pois a representação do documento construída pelo parser é utilizada para
criar os índices que representam cada documento em uma coleção. Em motores de
busca é comum que os analisadores sintáticos sejam mais tolerantes a erros de
sintaxe que em outras aplicações que utilizem parsers. (CROFT, 2009).
2. A remoção de stopwords, ou seja, a remoção dos termos não representativos para o
documento, como artigos, preposições, pronomes e outras classes de palavras
auxiliares.
3. A aplicação do método de stemming, a grosso modo, reduz um termo ao seu
radical. Esta etapa é realizada após a contagem do termo, na qual se calcula o
número de ocorrências do termo em cada documento (CROFT, 2009; MANING,
2008).
Em documentos Web é comum encontrar outros tipos de conteúdos diferentes de
palavras, como imagens, gráficos, metadados, códigos, tabelas, entre outros. Neste trabalho
consideramos apenas palavras, metadados e códigos HTML e XHTML.
2.2.1. O processo de tokenização
A tokenização (ou atomização6) (SANTOS, 2007) é o processo de formar unidades
mínimas a partir da sequência de caracteres em um documento. Entende-se como unidade
mínima qualquer sequência de caracteres alfanumérico terminados com um caractere especial
de controle ou formatação, como espaço em branco ou sinais de pontuação, ou ainda, pode-se
considerar tokens como delimitadores. Esse processo também realiza a conversão de todos os
6 Atomização é o termo utilizado na língua portuguesa para referênciar a tarefa de tokenização.
37
caracteres maiúsculos para minúsculos. O termo token é utilizado para designar essas
unidades mínimas, que muitas vezes correspondem a somente uma palavra, mas também
podem ser formadas por outros símbolos, como datas, siglas, e outros, e também por palavras
compostas. Entretanto, em consultas Web, é necessário adicionar regras à tokenização, como
ignorar termos insignificantes, identificar variações de palavras, reconhecer em uma string
datas e outras informações diferentes de termos, entre outras (CROFT, 2009; KONCHAD,
2006).
A identificação de tokens, apesar de relativamente simples para humanos, passa a ser
uma tarefa complexa para ser executada por um computador, devido ao fato do grande
número de papéis que um delimitador pode assumir, como a utilização do “ponto” que pode
marcar o fim das sentenças como também ser utilizado em abreviações.
O processo de tokenização assistida por dicionários apresenta a vantagem de verificar
se a sequência de caracteres que compõem um termo é válida, além de possibilitar a correção
de erros ortográficos. Entretanto, à utilização de dicionários só é viável em coleções de
documentos pertencentes a um domínio fechado ou que possuam características comuns. No
caso de consultas realizadas na Web, nas quais a coleção de documentos possui um domínio
aberto e apresenta-se de forma semi-estruturada, a utilização de dicionários pode transformar
esse processo em uma atividade mais onerosa do que já é. A tokenização em consultas Web
apresenta algumas características adicionais, como (CROFT, 2009):
• Palavras pequenas, formadas por 1 ou 2 caracteres, podem ser importantes para
algumas consultas;
• A utilização de hifenização em palavras deve ser considerada, quer como parte da
palavra, quer como um separador, mesmo que em muitos termos o uso do hífen
seja desnecessário;
38
• Os caracteres especiais que formam as tags, URLs, códigos e outras partes
importantes de um documento devem ser simbolizados corretamente;
• Devem ser consideradas expressões capitalizadas e marcações, como títulos,
negritos e outras que podem expressar um significado importante em um
documento;O uso de números decimais deve ser considerado, pois eles podem ter
uma representação significativa no contexto.
Ainda tratando de consultas realizadas na Web, é interessante que o processo de
tokenização empregado para a consulta seja o mesmo que foi utilizado para a indexação do
documento. Desta forma, possibilita-se que a recuperação de falhas possa identificar possíveis
erros de tokenização. Esse processo deve ser simples, eficaz e flexível. Para isso, recomenda-
se uma abordagem na qual a primeira passagem do tokenizador concentre-se somente na
identificação das tags de marcação do documento (sendo ideal que seja utilizado um
tokenizador específico para a linguagem na qual o documento foi escrito, como a HTML), e
na segunda passagem o tokenizador realize a extração dos termos pertencentes ao documento
(CROFT, 2009).
2.2.2. O Processamento de stopwords
A determinação dos termos de índices de um documento pode ser obtida pela extração
das palavras no texto realizada no processo de tokenização. Entretanto, existem palavras que,
apesar de aparecerem inúmeras vezes no documento, não apresentam tal significância, como
os artigos, as preposições, os pronomes e outras classes de palavras auxiliares. A esse
conjunto de palavras não significantes é dado o nome de stopwords ou stoplist (CROFT,
2009).
39
A intenção da eliminação das stopword é evitar que palavras insignificantes interfiram
no processo de RI, reduzindo, assim, o tamanho do texto e do documento, o que facilita o
armazenamento destes termos. A utilização de uma lista de stopwords bem elaborada permite
que sejam eliminados muitos termos irrelevantes, aumentando, assim, a eficiência do
resultado obtido pelo processo de indexação. De acordo com SILVA (2007), 40 a 50% do
total de palavras de um documento são removidas pelo uso de uma lista de stopwords. A
Figura 2 mostra o exemplo do processo de tokenização seguido pelo processo de remoção de
stopword.
2.2.3. O Processo de stemming
As palavras que compõem um documento podem ser variantes das palavras utilizadas
nas consultas (plural, palavra adicionada de sufixo, etc.). As diversas formas de flexionar
palavras podem não alterar seu valor semântico e isso pode ser um problema para os motores
de busca. Com o objetivo de minimizar esse problema, foram desenvolvidas diversas técnicas
que permitem aos buscadores da Web identificar relações semânticas entre consultas e
documentos. Em geral, a conflação (o ato de fusão ou combinação, para igualar variantes
morfológicas) é a técnica utilizada pelos buscadores que amplia essas relações semânticas. De
o senhor é o meu refúgio.
[senhor] [refúgio]
Tokenização
[o] [senhor][é][o][meu][refúgio]
Remoção de Stopword
Figura 2 - Processo de Tokenização e remoção de Stopwords.
40
acordo com SPARK-JONES (1997), há dois métodos principais de conflação: o stemming e a
redução à forma canônica. Neste trabalho foi considerado apenas o stemming.
O principal objetivo do processo de stemming é reduzir a grande dimensionalidade de
termos que são extraídos em um conjunto de documentos. Aplicando a remoção de sufixos e
reduzindo o termo (token) a sua provável raiz (stem) é possível representar tokens distintos
como um único token, o que possibilita melhorar o resultado das buscas Web. Um exemplo de
stem é o termo “conect”, o qual é o stem dos termos “conectar”, “conectado” e “conectando”
(SPARK-JONES, 1997; CROFT 2009).
Existem dois tipos básicos de stemming: os algorítmicos e os baseados em dicionários.
Ambos utilizam software para decidir o relacionamento entre as palavras, sendo,
normalmente, baseado no conhecimento do sufixo da palavra. Esse processo é dependente do
idioma da coleção de documentos, pois os algoritmos buscam chegar às regras básicas da
lingüística do idioma ao extrair o radical de uma palavra. O stemming baseado em dicionário
não apresenta uma lógica própria, ele depende de dicionários de termos relacionados criados
anteriormente.
O algoritmo de Stemming mais popular de acordo com a literatura é o Porter
Stemmer7, tendo sido utilizado em sistemas de RI desde sua construção. O funcionamento do
algoritmo Porter consiste na identificação e substituição das diversas inflexões e derivações
de uma mesma palavra por um mesmo stem, ou seja, tokens que possuem um mesmo stem e
possuem significado semelhante são reunidos em um único token, reduzindo, assim, o
tamanho da matriz gerada. Neste trabalho é utilizado esse algoritmo.
7 http://tartarus.org/martin/PorterStemmer/
41
2.3. Modelos Clássicos
Alternativas como a remoção de stopwords, stemming e atribuição de pesos podem ser
empregadas em conjunto com os modelos clássicos de RI, permitindo, assim, uma abordagem
de recuperação semântica para os processos de busca.
Basicamente, são três os modelos considerados como clássicos de RI, sendo eles: o
Booleano (Boolean), o Espaço de Vetor (Vector Space) e o de recuperação probabilística
(probabilistic retrieval) (CARDOSO, 2000) (BELKIN 1992).
Os modelos considerados clássicos são, em geral, os mais aceitos e utilizados
comercialmente e pela comunidade acadêmica. Esses modelos utilizam termos de indexação
associando a cada termo um determinado peso, o qual permite quantificar a relação entre os
termos e os documentos. (MANNING, 2008; [A] MICARELLI, 2007; RIJSBERGEN, 1999).
2.3.1. Modelo booleano
O modelo booleano é baseado na teoria dos conjuntos e na álgebra booleana. Os
documentos são representados por um conjunto de palavras-chaves que podem ser extraídas
de forma automática ou manual a partir de uma coleção de documentos. Os documentos
recuperados por esse modelo contêm os termos que satisfazem a expressão lógica da consulta,
sendo essa consulta uma expressão booleana formada com os conectivos lógicos AND, OR e
NOT (MANNING, 2008; [A] MICARELLI, 2007).
Esse modelo, embora simples e de fácil entendimento e implementação, apresenta
alguns problemas relacionados à sua eficácia. Seus principais problemas são a ausência de
ordem nas respostas obtidas, a quantidade de retornos que uma consulta pode gerar e a
42
possibilidade de retornos nulos. Isso se dá em virtude da forma com que os usuários realizam
suas consultas, visto que, frequentemente, eles não são familiarizados com consultas
booleanas. Além disso, a falta de um mecanismo de ponderação dos termos do documento ou
da expressão da consulta mantém todos os termos com igual importância no modelo. Ainda
assim, esse modelo é bastante atraente para a recuperação de dados pela sua simplicidade e
desempenho computacional. ( [A] MICARELLI, 2007).
2.3.2. Modelo espaço vetorial
O Modelo Vetorial ou Espaço-Vetorial foi desenvolvido por SALTON (1988) para ser
utilizado em um Sistema de RI denominado SMART. Esse modelo é muito utilizado por
conseguir representar documentos e consultas na forma de vetores de termos ([A]
MICARELLI, 2007). A representação de um vetor de um dado documento é mostrada na
Equação 1:
������ � ��1�, �2�, … , � �� Equação 1 - Representação Vetorial de um documento no modelo Espaço-Vetorial.
Cada vetor ���� representa um documento, sendo j o número do documento na coleção. Os vetores associam pares de elementos. Para cada termo Ti associa o peso (não-binário) Tij
atribuído ao termo. Esses pares especificam o tamanho e a direção do vetor na representação.
Os pesos são utilizados para computar a similaridade entre os documentos e podem ser
obtidos baseando-se no número de ocorrências do termo no documento (frequência).
SALTON (1988) apresenta uma forma para calcular o peso dos termos no qual ele tenta
balancear as características comuns aos documentos e características que os distinguem, por
meio da medida TF-IDF, que é definida por:
43
• freq (k,S) � TF (Term-Frequency). A frequência do termo k no documento ou
consulta S.
• log (N / nk) � IDF (Inverse document frequency), na qual N é o número de termos
na coleção e nk número de vezes que o termo k ocorre na coleção.
• TF-IDF � freq(k,S) x log (N / nk). Utilizada para calcular o peso, na qual TF
reflete as características intra-documentos e IDF dá uma medida de distinções
inter-documentos.
A Tabela 1 exemplifica três vetores formados pelos termos e pesos referentes à
três documentos hipotéticos. Os vetores são representados por �������, ������� e ������� e os termos são representados por T1, T2 e Tm.
Tabela 1 - Representação de uma coleção de documentos
Documento T1 T2 Tm ������� 0,4407 0,0000 0,0000 ������� 0,2817 0,1690 0,1690 ������� 0,2401 0,1440 0,1440
No desenvolvimento deste trabalho é utilizada a TF-IDF para calcular o peso dos
termos.
A similaridade entre os documentos é obtida pela proximidade das ocorrências
determinada pelo cosseno do ângulo (cos Ө) formado pelos seus vetores. Ela também é usada
para calcular o ranking do documento ���� em relação à consulta ����. A função de similaridade é exibida na Equação 2:
44
�� ��� , �� � cos� ������, ��� � ������. �� ������ |��| Equação 2 - Função de Similaridade
O modelo vetorial apresenta vantagens por sua simplicidade e facilidade de computar
a similaridade de forma eficiente, fato esse que permite que o modelo se comporte bem com
documentos genéricos. Suas desvantagens estão nas limitações que impedem a utilização da
sinonímia, da polissemia, do contexto local8 e do contexto global9 e na ausência de
ortogonalidade entre os termos, o que poderia acarretar relações entre termos que não
apresentam similaridade e também a não seleção de documentos relevantes que não
apresentem os termos das consultas (BAEZA-YATES,1999; CALADO, 2003; [A]
MICARELLI, 2007; RILOFF, 1994).
2.3.3. Modelo probabilístico
O modelo probabilístico é representado por meio de um vetor binário de pesos
semelhante ao modelo booleano, com a diferença de que o peso de cada termo é gerado por
meio do cálculo da probabilidade de que o documento realmente seja relevante para a
consulta, baseando-se no princípio da ordenação probabilística (Probability Ranking
Principle) (MANNING, 2008).
A principal vantagem desse modelo está relacionada à possibilidade de classificar os
documentos em ordem decrescente, considerando a probabilidade da sua relevância. Suas
limitações estão no fato de assumir a independência entre os termos, não explorar a frequência
8 Contexto local refere-se a algumas palavras ou frases que são consideradas como bons indexadores apenas
para o local específico. 9 Contexto global refere-se a algumas palavras ou frases que apresentam relevância em toda a coleção de
documentos.
45
dos termos, ignorar os problemas de filtragem de informações e depender da precisão das
estimativas de probabilidade ([A] MICARELLI, 2007; MANNING, 2008).
2.4. Modelos alternativos
A ordenação dos resultados oferecidos por meio das tarefas de RI é estabelecida de
acordo com o modelo de RI que está sendo aplicado. No entanto, nem sempre as informações
oferecidas pelos usuários são suficientes para que seja possível realizar uma ordenação eficaz,
principalmente no ambiente Web. É nesse caso que se faz necessário encontrar recursos
alternativos que melhorem os resultados oferecidos. Uma alternativa interessante é o uso de
modelos que fazem uso da semântica da informação. Esses modelos podem ser vistos nas
segunda e terceira colunas da Tabela 2 (BERRY 1995).
Tabela 2 - Modelos de Recuperação de Informação.
Modelos Clássicos Modelos Teóricos Alternativos
Modelos Algébricos Alternativos
Modelo Booleano Modelo de Conjuntos Difusos (Fuzzy sets)
Generalização do modelo espaço vetorial
Modelo Vetorial Extensão do Modelo Booleano
Latent Semantic Indexing
(LSI)
Modelo Probabilístico - Redes Neurais
Dentre os modelos alternativos foi escolhido o LSI para o desenvolvimento deste
trabalho. Essa escolha se deu pela sua capacidade de proporcionar melhorias nos resultados de
busca em RI, especialmente por sua capacidade de tratar problemas como a polissemia e a
sinonímia.
46
2.4.1. O Processo de indexação de semântica latente
A idéia da LSI é desenvolver um processo para analisar a estrutura semântica de
documentos e consultas facilitando a busca fuzzy baseada nas associações dos termos
(BERRY, 1995; DUMAIS, 1999; [A] MICARELLI, 2007). O processo de LSI consiste em
analisar as relações existentes entre os termos em um documento, calculando o grau de
associação entre esses termos com base na co-ocorrência relativa à frequência de cada termo
no documento. (DEERWESTER, 1996). A LSI é baseada no modelo clássico de espaço de
vetor e busca melhorar a recuperação de informações em coleções de dados semi-estruturados
como a Web. Logo, ela mantém todas as vantagens que o modelo de espaço de vetor
apresenta, tais como: o tratamento uniforme das consultas e documentos, a indução de
pontuação baseada em similaridade de cosseno e a capacidade de atribuir pesos diferentes
para termos diferentes; e, além disso, consegue lidar com dois problemas clássicos da
linguagem natural, a sinonímia e da polissemia, que não são tratados nos modelos
convenvionais (DEERWESTER, 1996; MANNING, 2008).
Com a incorporação do processo de LSI em algoritmos de busca é possível recuperar
informações relevantes por meio de seu significado, mesmo quando o documento não tiver a
palavra-chave mencionada na consulta. A LSI assume que existe uma estrutura semântica
oculta no uso dos termos inclusos nas coleções de documentos e nas consultas. Assim, pode-
se obter a representação de um documento por meio de sua estrutura semântica em vez de
termos indexados, ou seja, os documentos que contém termos que utilizam padrões similares
aos termos contidos nas consultas ou a documentos que representam o interesse do usuário
(como o é caso deste trabalho) são considerados relevantes como resultado dessa consulta
(DEERWESTER, 1996).
47
Todos os termos extraídos da coleção de documentos são tratados em uma etapa de
pré-processamento de termos, sendo mapeados para uma matriz denominada matriz termo-
documento por meio de técnicas da álgebra linear. Nesta matriz cada linha representa um
token e cada coluna representa um documento e a frequência do termo no documento é
armazenada na junção da linha com a coluna. Mesmo para uma pequena coleção de
documentos é provável que a matriz termo-documento gerada possua milhares de linhas e
colunas e sua classificação mantenha essa grande proporção. Com a utilização da LSI em vez
de se obter um espaço dimensional alto, formado por todos os n tokens indexados da coleção
de documentos, o espaço dimensional gerado será menor. Essa redução ocorre devido à
aplicação de uma decomposição da matriz, que possibilita a redução de sua dimensão,
denominada Single Value Decomposition (SVD) ( [A] MICARELLI, 2007; MANNING,
2008). Esta decomposição é uma técnica para gerar um conjunto de indexações não
correlacionadas de variáveis ou fatores (DEERWESTER, 1996; DUMAIS, 1999;
MANNING, 2008).
2.4.1.1. Decomposição de valores singulares
A decomposição de valores singulares é uma técnica generalizada que permite
resolver problemas de classificação e análise de correlações canônicas10. Ela é realizada em
matrizes reais ou complexas e pode ser feita de forma completa ou reduzida. Para a técnica de
LSI é utilizada a decomposição SVD completa, portanto, neste trabalho será abordada apenas
essa decomposição.
10
Análise de correlação canônica tem como objetivo explicar a relação entre conjuntos, encontrando um
número de combinações lineares.
48
Durante o processo de indexação de um documento é construída uma matriz que
representa a relação que pode existir entre termo-termo, termo-documento ou documento-
documento. Com raras exceções, as matrizes resultantes do processamento dos documentos
apresentam uma dimensão m x n, ou seja, composta por m linhas que representam os
documentos e n colunas que representam os termos. Assim, há dois possíveis casos que
necessitam serem tratados na decomposição SVD para a matriz termo-documento gerada,
sendo eles:
Caso 1: Matriz m > n
"#$% % %% % %% % %% % %% % %&'
( � "#$& & & && & & && & & && & & && & & &&'
("#$* * * . &'
( +& & && & && & && & &,
Caso 2: Matriz m < n
-% % % % %% % % % %% % % % %. � /& & & && & & && & & &0 1 * * . .2 +& & & & && & & & && & & & && & & & &,
• A é a matriz original com a relação termo-documento de dimensão m x n;
• U é a matriz ortogonal de dimensões m x k, onde k é um valor intermediário entre
m e n.
• ∑ é a matriz de tamanho k x k com elementos positivos ou nulos na diagonal
principal. Os elementos da diagonal principal recebem o nome de valores
singulares e estão ordenados de forma decrescente, sendo nulos nas últimas
posições da matriz;
termo
documento
A U ∑ VT
termo
documento
A U ∑ VT
49
• VT é a matriz ortogonal de tamanho k x n, onde T denota tratar-se de uma matriz
transposta.
De acordo com LIU (2006), a SVD possui uma característica que permite excluir
algumas dimensões da matriz original para transformá-la em uma matriz otimizada
aproximada a matriz A obtida inicialmente. O objetivo dessa redução está em diminuir o custo
computacional. A obtenção da matriz de baixa classificação Ak se dá por meio da remoção
das últimas r-k linhas e colunas da matriz ∑, e das últimas r-k colunas das matrizes U e VT. r
representa o total de linhas e colunas de cada matriz. Para cada associação possível utilizando
a matriz Ak é necessário uma equação distinta (DEERWESTER, 1996; [A] MICARELLI,
2007; MANNING 2008). Para este trabalho será utilizada a comparação documento-
documento, no qual o perfil similar entre documentos é obtido por meio do produto do co-
seno entre duas colunas, como mostra a equação:
34 � 54 ∑78 V7T Equação 3 – Equação para comparação documento-documento
Com a conclusão da decomposição, encontra-se a estrutura semântica da coleção de
documentos. Após a decomposição da matriz A é realizado o matching, que pode acontecer
entre a consulta realizada pelo usuário e a matriz Ak ou entre documentos da coleção. No
matching entre a consulta e os documentos, a consulta “q” elaborada é incorporada à matriz
Ak como um vetor após sua última coluna, por meio da Equação 4 (LIU, 2006).
�; � �<=4∑4>� Equação 4 – Equação para realização do matching entre consulta e documentos
Esse resultado pode ser interpretado matematicamente como uma configuração
espacial, na qual a representação da similaridade é obtida pelo produto de co-seno dos vetores
estimados da consulta e do documento.
50
2.4.1.2. Exemplo de aplicação da LSI
Nesta seção é exibido um exemplo de aplicação da LSI em uma coleção de
documentos apresentados na Tabela 3, na qual são considerados apenas os títulos desses
documentos.
Tabela 3 - Coleção de documentos
Etiqueta Títulos D1 An Introduction to Information Retrieval D2 Using Language Models for Information Retrieval D3 Search Engines: Information Retrieval in Practice. D4 Term-weight approaches in Automatic Retrieval D5 Weight functions impact on Latent Semantic Analysis performance D6 Enhancing Performance in Latent Semantic Indexing
Neste exemplo é demonstrada a construção da matriz termo-documento, a
normalização dos pesos atribuídos aos termos por meio da função de pesos TF-IDF, a
decomposição da matriz, fazendo uso da SVD e, por fim, o matching entre os documentos
apresentados.
O primeiro processo para a construção da matriz termo-documento é a realização do
pré-processamento do texto. No exemplo em questão serão eliminadas as palavras an, to, for e
in por serem consideradas stopwords. Em seguida, é construída a matriz de frequência termo-
documento, ilustrada na Tabela 4, por meio da extração dos termos e da frequência destes
termos nos documentos. A coluna ITD representa o índice do termo na base de dados, a
coluna Termos mostra os termos extraídos e as colunas D1 a D6 armazenam a frequência dos
termos em cada documento.
Neste exemplo, observa-se que os termos possuem frequência 1 nos documentos ao
qual eles pertencem. No entanto, as ocorrências dos termos podem ter quantidades superiores
a 1 em outras coleções de documentos.
51
Tabela 4 - Matriz de frequência termo-documento
ITD Termos D1 D2 D3 D4 D5 D6 1 Introduction 1 0 0 0 0 0 2 Information 1 1 1 0 0 0 3 Retrieval 1 1 1 1 0 0 4 Using 0 1 0 0 0 0 5 Language 0 1 0 0 0 0 6 Models 0 1 0 0 0 0 7 Search 0 0 1 0 0 0 8 Engines 0 0 1 0 0 0 9 Practice 0 0 1 0 0 0 10 Term 0 0 0 1 0 0 11 Approaches 0 0 0 1 0 0 12 Automatic 0 0 0 1 0 0 13 Functions 0 0 0 0 1 0 14 Weight 0 0 0 1 1 0 15 Impact 0 0 0 0 1 0 16 Latent 0 0 0 0 1 1 17 Semantic 0 0 0 0 1 1 18 Analysis 0 0 0 0 1 0 19 Performance 0 0 0 0 1 1 20 Enhancing 0 0 0 0 0 1 21 Indexing 0 0 0 0 0 1
O próximo passo é a normalização do peso de cada termo obtido por meio das
frequências de termos (TF) em um único documento. Essa normalização pode ser feita por
meio de um processo simples que envolve a divisão da frequência de cada termo pelo total de
termos do documento. Por exemplo, se um documento possuir 2 termos, tendo o primeiro
termo uma ocorrência de 2 vezes e o segundo de 3 vezes, o primeiro termo seria normalizado
para 2/5 (0,4) e o segundo 3/5 (0,6). A Tabela 5 exibe a normalização da matriz termo-
documento do exemplo em questão.
Com o resultado da normalização é possível observar que a somatória de cada coluna
resulta no valor numérico 1, o que significa que todos os documentos podem ser tratados da
mesma maneira.
52
Tabela 5 - Matriz termo-documento normalizada
ITD Termos D1 D2 D3 D4 D5 D6 D7 1 Introduction 0,3333 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000
2 Information 0,3333 0,2000 0,2000 0,0000 0,0000 0,0000 0,0000
3 Retrieval 0,3333 0,2000 0,2000 0,2000 0,0000 0,0000 0,0000
4 Using 0,0000 0,2000 0,0000 0,0000 0,0000 0,0000 0,0000
5 Language 0,0000 0,2000 0,0000 0,0000 0,0000 0,0000 0,0000
6 Models 0,0000 0,2000 0,0000 0,0000 0,0000 0,0000 0,0000
7 Search 0,0000 0,0000 0,2000 0,0000 0,0000 0,0000 0,0000
8 Engines 0,0000 0,0000 0,2000 0,0000 0,0000 0,0000 0,0000
9 Practice 0,0000 0,0000 0,2000 0,0000 0,0000 0,0000 0,0000
10 Term 0,0000 0,0000 0,0000 0,2000 0,0000 0,0000 0,0000
11 Weight 0,0000 0,0000 0,0000 0,2000 0,1429 0,0000 0,0000
12 Approaches 0,0000 0,0000 0,0000 0,2000 0,0000 0,0000 0,0000
13 Automatic 0,0000 0,0000 0,0000 0,2000 0,0000 0,0000 0,0000
14 Functions 0,0000 0,0000 0,0000 0,0000 0,1429 0,0000 0,0000
15 Impact 0,0000 0,0000 0,0000 0,0000 0,1429 0,0000 0,0000
16 Latent 0,0000 0,0000 0,0000 0,0000 0,1429 0,2000 0,2000
17 Semantic 0,0000 0,0000 0,0000 0,0000 0,1429 0,2000 0,2000
18 Analyst 0,0000 0,0000 0,0000 0,0000 0,1429 0,0000 0,0000
19 Performance 0,0000 0,0000 0,0000 0,0000 0,1429 0,2000 0,2000
20 Enhancing 0,0000 0,0000 0,0000 0,0000 0,0000 0,2000 0,2000
21 Indexing 0,0000 0,0000 0,0000 0,0000 0,0000 0,2000 0,2000
A próxima tarefa é a indexação pela frequência inversa (IDF) dos documentos por
meio do emprego da fórmula log(N / nk), na qual N é o número de termos na coleção e nk é o
número de vezes que o termo k ocorre na coleção. Com a combinação das duas últimas
etapas, obtém-se o valor TF-IDF utilizado para calcular o peso de cada termo nos
documentos, já comentado neste capítulo. A Tabela 6 exibe o resultado do cálculo TF-IDF
para o exemplo em questão.
53
Tabela 6 - Matriz termo-documentos com cálculos TF-IDF
IDT Termos D1 D2 D3 D4 D5 D6 1 Introduction 0,4407 0,0000 0,0000 0,0000 0,0000 0,0000
2 Information 0,2817 0,1690 0,1690 0,0000 0,0000 0,0000
3 Retrieval 0,2401 0,1440 0,1440 0,1440 0,0000 0,0000
4 Using 0,0000 0,2644 0,0000 0,0000 0,0000 0,0000
5 Language 0,0000 0,2644 0,0000 0,0000 0,0000 0,0000
6 Models 0,0000 0,2644 0,0000 0,0000 0,0000 0,0000
7 Search 0,0000 0,0000 0,2644 0,0000 0,0000 0,0000
8 Engines 0,0000 0,0000 0,2644 0,0000 0,0000 0,0000
9 Practice 0,0000 0,0000 0,2644 0,0000 0,0000 0,0000
10 Term 0,0000 0,0000 0,0000 0,2644 0,0000 0,0000
11 Weight 0,0000 0,0000 0,0000 0,2042 0,1459 0,0000
12 Approaches 0,0000 0,0000 0,0000 0,2644 0,0000 0,0000
13 Automatic 0,0000 0,0000 0,0000 0,2644 0,0000 0,0000
14 Functions 0,0000 0,0000 0,0000 0,0000 0,1889 0,0000
15 Impact 0,0000 0,0000 0,0000 0,0000 0,1889 0,0000
16 Latent 0,0000 0,0000 0,0000 0,0000 0,1207 0,1690
17 Semantic 0,0000 0,0000 0,0000 0,0000 0,1207 0,1690
18 Analysis 0,0000 0,0000 0,0000 0,0000 0,1889 0,0000
19 Performance 0,0000 0,0000 0,0000 0,0000 0,1207 0,1690
20 Enhancing 0,0000 0,0000 0,0000 0,0000 0,0000 0,2042
21 Indexing 0,0000 0,0000 0,0000 0,0000 0,0000 0,2042
Dada a matriz Am,n, resultado do pré-processamento e exibida na Tabela 6, é possível
notar que sua dimensão é m x n, sendo m > n, ou seja, a matriz possui um número maior de
termos do que o número de documentos. Por meio da decomposição SVD, a matriz A passa a
ser representada nas matrizes U, ∑ e VT e a dimensão obtida na matriz ∑ é 6. Após obter as
matrizes U, ∑ e VT é obtida a matriz de baixa classificação Ak de nível igual a 2. Para isso são
utilizadas as primeiras k linhas e colunas da matriz ∑, as primeiras colunas da matriz U e as
primeiras linhas da matriz VT. As matrizes Uk, ∑k e VTk estão exibidas nos quadros
assinalados em cada uma das respectivas matrizes.
54
U =
0,4407 0,1331 0,1398 0,0588 7103,7313 7255,9708
0,3656 0,2765 0,2905 0,0647 9506,0245 9531,1871
0,3266 0,2466 0,2591 0,2064 0,0249 10223,1675
0,0656 0,2517 0,0503 0,0212 5237,3345 5523,3451
0,0656 0,2517 0,0503 0,0212 5237,3345 5523,3451
0,0656 0,2517 0,0503 0,0212 5237,3345 5523,3451
0,0656 0,0479 0,2644 0,0212 5237,3345 5523,3451
0,0656 0,0479 0,2644 0,0212 5237,3345 5523,3451
0,0656 0,0479 0,2644 0,0212 5237,3345 5523,3451
0,0276 0,0202 0,0212 0,2779 0,0458 5578,4110
0,0213 0,0156 0,0164 0,2314 0,1813 0,0528
0,0276 0,0202 0,0212 0,2779 0,0458 5578,4110
0,0276 0,0202 0,0212 0,2779 0,0458 5578,4110
2762,3926 3024,2008 3177,6314 0,0217 0,1889 0,0684
2762,3926 3024,2008 3177,6314 0,0217 0,1889 0,0684
4259,8011 4988,6532 5241,7488 0,0139 0,2410 0,3817
4259,8011 4988,6532 5241,7488 0,0139 0,2410 0,3817
2762,3926 3024,2008 3177,6314 0,0217 0,1889 0,0684
4259,8011 4988,6532 5241,7488 0,0139 0,2410 0,3817
3916,6296 4544,5548 4775,1195 4702,3535 0,1453 0,4085
3916,6296 4544,5548 4775,1195 4702,3535 0,1453 0,4085
∑ =
0,3312 0,0000 0,0000 0,0000 0,0000 0,0000
0,0000 0,2722 0,0000 0,0000 0,0000 0,0000
0,0000 0,0000 0,2591 0,0000 0,0000 0,0000
0,0000 0,0000 0,0000 0,2591 0,0000 0,0000
0,0000 0,0000 0,0000 0,0000 0,1720 0,0000
0,0000 0,0000 0,0000 0,0000 0,0000 0,1691
VT=
0,3312 0,0822 0,0822 0,0346 2,0372 1,8780
0,0822 0,2591 0,0493 0,0207 0,2181 2,0219
0,0822 0,0493 0,2591 0,0207 0,2181 2,0219
0,0346 0,0207 0,0207 0,2722 0,0298 2,0571
2,0372 0,2181 0,2181 0,0298 0,1720 0,0612
1,8780 2,0219 2,0219 2,0571 0,0612 0,1691
Aplicando-se a equação para comparação entre os documentos, exibida na
Equação 3, obtém-se a matriz Ak.
55
Ak=2 =
0,0125 0,0046 0,0033 0,0014 87,3214 80,5662 0,0046 0,0057 0,0017 0,0007 60,2581 55,7651 0,0033 0,0017 0,0009 0,0004 2,6342 24,3248 0,0014 0,0007 0,0004 0,0002 1,1082 10,2331 87,3214 60,2581 2,6342 1,1082 0,0000 0,0000 80,5662 55,7651 24,3248 10,2331 0,0000 0,0000 80,5662 55,7651 24,3248 10,2331 0,0000 0,0000
Tendo obtido a estrutura semântica dessa coleção é realizado o matching entre os
documentos da coleção. A ordenação alcançada neste exemplo ocorreu de acordo com a
similaridade dos demais documentos com o documento 6. Os documentos similares ao
documento 6 sugeridos no exemplo estão na Tabela 7.
Tabela 7 - Coleção de documentos re-ordenada
Etiqueta Títulos
D6 Enhancing Performance in Latent Semantic Indexing D5 Weight functions impact on Latent Semantic Analysis performance D4 Term-weighting approaches in Automatic Retrieval D1 An Introduction to Information Retrieval D2 Using Language Models for Information Retrieval D3 Search Engines: Information Retrieval in Practice
O exemplo apresentado neste capítulo tem como objetivo demonstrar a utilização do
método de LSI para recuperação de documentos baseado na similaridade entre esses
documentos ou entre os documentos e a consulta. A sua utilização em tarefas de RI tem se
mostrado eficaz quando comparado a modelos baseados na convencional busca por palavras-
chave. Entretanto, sua principal desvantagem está na complexidade computacional no
momento da aplicação da SVD, que é O(m2n). Essa complexidade dificulta a utilização em um
conjunto grande de documentos, como é o caso da Web. Outra dificuldade encontrada na
aplicação da LSI está em determinar um valor ideal de k, utilizado para gerar a matriz de
baixa classificação. MANNING (2008), [A] MICARELLI (2007), LIU (2006),
RIJSBERGEN (1999) e BAEZA-YATES (1999) sugerem a utilização entre 50 a 350
56
dimensões. No entanto, esse valor deve ser determinado com base na coleção de documentos
por meio de tentativas, o que pode dificultar sua aplicação no ambiente Web por se tratar de
documentos em domínio não específico.
2.5. Recuperação de Informação na Web
A RI na Web possui características específicas, especialmente por se tratar de um
ambiente aberto no qual são inseridas informações de diversas áreas do conhecimento e em
diversos formatos. Dentre essas características, é possível citar algumas que são mais
desafiantes para os motores de busca no momento de indexar e recuperar conteúdos, sendo
elas:
• A diversidade de idiomas e dialetos;
• A grande quantidade de domínios de informação;
• A diversidade de formatos de arquivos como textos, imagens, vídeos, sons,
entre outros;
• A grande quantidade de conteúdos e a falta de controle sobre esses conteúdos;
e
• A aplicação de técnicas de spam.
Os motores de busca, também conhecidos como máquinas de busca, motores de
pesquisa, mecanismos de busca ou buscador, são softwares responsáveis por localizar
informações de forma automática a partir de palavras chaves indicadas pelo usuário. Com a
utilização desse software, os usuários podem solicitar informações baseados em critérios
específicos, tipicamente o uso de palavras ou frases em linguagem natural, sendo que a
resposta oferecida pelo mecanismo de busca será uma lista de referências que combinam com
57
a solicitação inicial. Com o surgimento da Web, o uso desses aplicativos tem sido um método
rápido e eficiente para localizar as informações necessárias na rede, tornando-os cada vez
mais presentes e necessários na vida dos usuários devido ao grande crescimento de
informações e conhecimentos disponíveis na Web. Entretanto, eles requerem técnicas
específicas de RI para proporcionar resultados relevantes aos usuários, devido ao ambiente
aberto da Web.
2.5.1. Aspectos gerais sobre os motores de busca
Os buscadores podem ser classificados de acordo com o tipo de consultas que
processam. Neste trabalho, são citados três tipos considerados básicos de buscadores, sendo
(KING, 2008):
• Rastreadores (Crawler): são indexadores que visitam websites automaticamente
para recolher informações. Também são conhecidos como “Aranhas” ou “Robôs”.
Eles realizam a leitura nos websites interpretando códigos HTML e navegando por
entre os links, não conseguindo extrair conteúdos de páginas Flash ou Java-Script.
O Google11 é um exemplo desse tipo de mecanismo de busca.
• Diretórios de Websites: são indexadores normalmente organizados por categorias e
subcategorias. Alguns desses diretórios requerem atividade humana para atualizar
sua página de índices. Nestes buscadores, o usuário realiza suas consultas por meio
das categorias e não faz uso de palavras-chave. O Yahoo12 é um exemplo de um
diretório de websites.
11
http://www.google.com.br 12
http://www.yahoo.com.br
58
• Motores Híbridos: integram diretórios e rastreadores de busca. O MetaCrawler13 é
um exemplo de um motor híbrido.
As atividades desenvolvidas por um motor de busca convencional são, basicamente,
divididas em três partes: coleta/armazenamento dos documentos, realizado pelo Crawler, a
indexação desses documentos e o processamento da consulta. O processamento da consulta é
realizado por um componente mais próximo do usuário, por meio do qual é estabelecida toda
a interação. Na tela inicial do motor de busca o usuário indica os termos que serão utilizados
na consulta. Com esses termos, o processador da consulta pesquisa no índice invertido todos
os documentos que possuem o termo indicado, fazendo uso, ou não, de lista de stopwords e
stemming. Após identificar todos os documentos que comportam os termos indicados na
consulta, o processador realiza a classificação dos resultados, na maioria das vezes fazendo
uso de algoritmos de classificação, como o PageRank14 (KLEINBERG, 1998), e/ou
utilizando técnicas distintas. Entre os modelos disponíveis, o modelo de Espaço-Vetorial
forma a base para a maioria dos motores de busca, devido a sua facilidade de implementação
e qualidade dos resultados oferecidos.
A classificação de um website em um motor de busca está diretamente relacionada
com a programação do mesmo. Há uma grande quantidade de fatores favoráveis e
desfavoráveis que determinam a boa classificação dessas páginas nos motores de busca, sendo
alguns deles:
Pontos favoráveis:
• Utilização de palavras-chaves no título do website;
• Utilização de palavras-chaves no corpo do texto;
• Utilização de palavras-chaves no nome do domínio;
13
http:/www.metacrawler.com.br/ 14
PageRank é um sistema utilizado para determinar a relevância de uma página.
59
• Palavras-chaves destacadas com a tag HTML H1;
• Utilização de palavras-chaves na tag HTML ALT e no Título das imagens;
• Palavras-chaves destacadas com negrito;
• Utilização de palavras-chaves em Meta-Descrições;
• Organização hierárquica do fluxo do texto;
• Frequência de atualização do website;
• Validação do documento HTML nos padrões da W3C15;
• Idade do website;
• E outros...
Pontos desfavoráveis:
• A indisponibilidade do servidor para os crawlers;
• A duplicação de título e meta descrição em muitas páginas;
• Conteúdos duplicados ou muito similares a outros indexados;
• Links externos de baixa qualidade;
• Utilização excessiva de palavras segmentadas, o que classifica o spam;
• E outros...
A necessidade de melhorar os algoritmos de classificação e reduzir os custos de
rastreamento e classificação de documentos são preocupações constantes nas pesquisas atuais
em RI na Web. A evolução nos motores de busca tenta sempre reduzir os custos de indexação,
recuperação e classificação de documentos, preocupando-se em manter a forma com que os
usuários realizam suas consultas, para que os mesmos sintam-se familiarizados com a
ferramenta e apresentando seus resultados o mais próximo possível ao interesse dos usuários.
15
http://validator.w3.org/
60
2.5.1.1. Deficiências dos motores de busca atuais
Um dos grandes desafios dos motores de busca atuais é possuir condições que atenda
tanto a usuários leigos, que realizam consultas simples, como a usuários experientes, como
pesquisadores, bibliotecários e outros, que necessitam de consultas complexas. Para isso, os
motores de busca devem ser capazes de gerar e manter índices atuais e, idealmente, manter
em sua base de dados informações sobre qualquer tema. Ainda, como um segundo desafio, os
buscadores devem ter uma interface suficientemente simples para usuários leigos e
extremamente poderosas para usuários experientes.
De acordo com MANNING (2008), o número de palavras-chaves utilizadas nas
consultas Web é algo em torno de dois ou três e o uso de conectivos booleanos ou caracteres
especiais como as aspas são raramente encontrados, o que reflete diretamente na coleção de
documentos resultantes. O autor sugere que para amenizar essa situação, as buscas na Web
por informações relevantes ao usuário deveriam envolver comunicação e cooperação entre o
motor de busca e o usuário que controla e realiza a análise e seleção de documentos
resultantes. Com a cooperação, ficaria mais simples indicar ao motor de busca qual é o real
interesse do usuário em uma determinada consulta, auxiliando o motor de busca a retornar
apenas documentos relevantes a esse interesse. Entretanto, a cooperação não é um ponto forte
dos buscadores atuais, pois, na maioria das vezes, eles não consideram a navegação atual ou o
histórico de navegação do usuário para devolver resultados relevantes. É neste ponto que se
encontra o primeiro problema dos buscadores atuais.
61
2.5.1.2. Experimento
Uma das etapas deste trabalho foi realizar uma pesquisa com vinte usuários com o
intuito de demonstrar as deficiências dos motores de busca atuais. Neste experimento, cada
usuário realizou uma consulta no motor de busca Google®. A escolha deste motor de busca se
deve ao fato da grande capacidade de indexação que o mesmo possui e, também, a grande
aceitação por parte dos usuários.
A Tabela 8 mostra algumas informações referentes ao usuário e a consulta realizada
por cada um. Na segunda e terceira coluna são exibidos os níveis de conhecimento referente
ao assunto e ao buscador, respectivamente, que cada usuário possui. Esse nível varia entre 1 –
pouco conhecimento – a 5 – muito conhecimento. Na quarta coluna é exibida a faixa etária de
cada usuário, sendo que a maioria dos colaboradores deste experimento tem idade entre 21 a
30 anos. E por fim, na última coluna está a string utilizada na consulta.
62
Tabela 8 - Consultas realizadas por usuários
Usuário
Nível de Conhecimento referente ao assunto
Nível de Conhecimento referente ao Buscador
Idade String Utilizada
1 5 1 21-30 placares do pes 2009 pc
2 5 5 31-40 +transactions +database +mobile
3 4 1 21-30 equipamentos para treinamento de tenis de campo
4 5 1 > de 60 Farinha Trigo Globo
5 4 1 51-60 Patchwork
6 5 2 21-30 “project natal data prevista de lançamento”
7 1 2 21-30 “batalha de iwo jima segunda guerra”
8 4 1 31-40 DKW Kandango
9 3 3 21-30 + indexador + diretorio
10 2 3 21-30 introdução php
11 3 3 21-30 "Rich internet application"
12 2 4 21-30 linguagem +php
13 5 1 > de 60 Decoupage
14 4 5 31-40 gumstix boot enhancement
15 3 4 21-30 “Graph Visualization Tools”
16 4 1 11-20 técnicas de maquiagem
17 3 5 31-40 Ajax
18 4 3 21-30 tag recommendation ontologies
19 2 4 21-30 Banco de dados orientado a coluna
20 1 1 21-30 dados voz imagem + redes
Com este experimento, foi possível confirmar a afirmação de MANNING (2008) no
que se refere ao uso de poucas palavras para a formação da string de consulta. Dentre os vinte
usuários, apenas três utilizaram quatro palavras e um usuário utilizou cinco palavras na
formação de sua consulta. Todos os demais utilizaram três palavras ou menos na sua string.
Outra observação interessante na elaboração das consultas é quanto ao uso de
caracteres especiais. Dentre os vinte usuários, apenas quatro fizeram uso do caractere adição
(+), que tem o objetivo de garantir que todos os termos preceidos por esse caractere na string
de consulta sejam encontrados nos documentos retornados. Outros quatro usuários utilizaram
as aspas (“), que tem a função de indicar com exatidão a sequência em que os termos devem
estar no documento retornado.
63
Nas vinte pesquisas realizadas, foram considerados os primeiros trinta resultados.
Cada usuário avaliou o grau de relevância de todos os documentos. Esta avaliação foi
realizada visualizando o documento, ou apenas, considerando o resumo apresentado pelo
navegador. Nesses documentos, foi possível perceber:
1. Quanto à relevância dos documentos retornados:
A Tabela 9 exibe a quantidade de documentos totalmente relevante encontrada por
cada usuário. Nela, a primeira linha identifica o usuário e a segunda linha indica a quantidade
de documentos relevantes. As colunas 2, 6, 7, 9, 11, 12, 15 e 20, que estão destacadas na
figura, indicam o uso de caracteres especiais pelos usuários na elaboração da string de
consulta.
Tabela 9 - Número de documentos totalmente relevantes
Usuário 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Média
Número de documentos relevantes
4 5 1 3 6 5 8 8 3 7 10 8 3 1 4 3 5 2 4 4 4,7
Observando as colunas em que houve uma maior elaboração da string de consulta, é
possível verificar que os usuários que utilizaram os caracteres especiais conseguiram um
melhor retorno da ferramenta, obtendo, em média, um retorno de 5,9 documentos relevantes
para o total de 30 documentos. Enquanto que os usuários que não utilizaram os caracteres
especiais conseguiram um retorno médio de 3,9 documentos relevantes.
Também foram considerados documentos que apresentam relevância parcial, ou seja,
o documento foi considerado pelo usuário como tendo um grau de relevância entre 50 e 75%.
A Tabela 10 exibe a quantidade de documentos com relevância parcial por cada usuário.
Assim como na tabela anterior, a primeira linha identifica o usuário e a segunda linha indica a
quantidade de documentos relevantes. O destaque nas colunas 2, 6, 7, 9, 11, 12, 15 e 20
indicam o uso de caracteres especiais pelos usuários na elaboração da string de consulta.
64
Tabela 10 - Número de documentos com relevância parcial
Usuários / Questões Analisadas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Média
Número de documentos relevantes (50 a 75%)
4 3 1 1 0 4 2 3 4 7 6 3 1 0 5 1 1 5 7 3 3,05
A mesma observação feita para os documentos totalmente relevantes, também se
aplica aos documentos com relevância parcial. A média de documentos parcialmente
relevantes para os usuários que fizeram uso de caracteres especiais foi de 3,8, enquanto que
para os usuários que não fizeram uso de caracteres especiais a média foi de 2,6.
A relevância média obtida a partir de documentos relevantes e parcialmente relevantes
comprova que o uso de caracteres especiais proporciona um melhor retorno nos resultados
proporcionados pela ferramenta utilizada. Os usuários que fizeram uso de caracteres especiais
obtiveram uma relevância média de 4,9 documentos para um conjunto de 30 documentos,
enquanto que os usuários que não utilizaram esses caracteres conseguiram um retorno de 3,3
documentos interessantes. A Tabela 11 apresenta o resumo das médias obtidas pelos usuários
que utilizaram e não utilizaram caracteres especiais.
Tabela 11 - Comparação dos retornos obtidos pelos usuários
Número médio de
documentos relevantes retornados
Número médio de documentos
parcialmente relevantes
Relevância Média
Usuários que utilizaram caracteres especiais
5,9 3,8 4,9
Usuários que não utilizaram caracteres especiais
3,9 2,6 3,3
Com esta análise é possível demonstrar que o uso de caracteres especiais na
elaboração da string de consulta pode melhorar o retorno oferecido pelos motores de busca.
Os usuários participantes deste experimento que fizeram uso dos caracteres especiais
possuem, em média, um conhecimento referente ao motor de busca de 3,0 (em uma classe de
1 a 5), o que indica que um maior conhecimento do mecanismo utilizado para consultas
também proporciona melhores resultados.
65
2. Quanto à posição dos documentos:
Assim como no total de documentos relevantes retornados, o uso de caracteres
especiais também causa efeitos na posição dos documentos. A Figura 3 exibe um gráfico que
demonstra a posição do primeiro documento, classificado com relevância de 100% por um
usuário, retornado pelo motor de busca. Os usuários 2, 6, 7, 9, 11, 12, 15 e 20 fizeram uso de
caracteres especiais.
Figura 3 –Posição do primeiro documento relevante classificado pelo Google
Analisando este gráfico é possível verificar que, utilizando caracteres especiais, se
obtêm um melhor posicionamento dos documentos relevantes. Nele, observa-se que os
primeiros documentos retornados para estes usuários estão entre a 1ª e a 3ª posição, sendo que
a média da posição do primeiro documento relevante retornado para os usuário que fizeram
uso de caracteres especiais é de 1,63. No entanto, os usuários que não utilizaram caracteres
especiais também tiveram documentos retornados nas posições iniciais, porém, também
observa-se a ocorrência do primeiro retorno relevante na 9ª e, até mesmo, na 17ª posição. A
média alcançada por esses usuários foi de 4,91.
Ao analisar a posição de todos os documentos relevantes retornados, observa-se que o
motor de busca utilizado não aproximou os documentos de acordo com sua similaridade. A
Tabela 12 exibe a posição dos documentos relevantes retornados nas consultas dos usuários
que utilizaram os caracteres especiais.
0
5
10
15
20
1 2 3 4 5 6 7 8 9 1011121314151617181920
Po
siçã
o d
o p
rim
eir
o
do
cum
en
to r
ele
va
nte
Usuários
66
Tabela 12 - Posição dos documentos relevantes
Usuários / Questões Analisadas
2 6 7 9 11 12 15 20
Posições dos documentos 100% relevantes
3;6;16; 23;26
1; 3; 6; 13;27
2;4;5;6;7; 14;24;28
1;16;30 3;4;10;13; 16;18;20; 21;23;30
1;3;4;6; 7;14;15;
29 1;4;6;16 1;7;14;15
Para praticamente todos os usuários que fizeram parte deste experimento, os resultados
relevantes retornados estavam dispersos entre os documentos considerados, podendo se
observar que há documentos interessantes na primeira posição como também na 27ª posição.
Esta característica exige do usuário um esforço maior para localizar documentos que sejam
interessantes à sua consulta.
3. Quanto ao tempo utilizado pelo usuário para identificar o grau de relevância do
documento retornado:
Durante o experimento, foi cronometrado o tempo gasto nas consultas para a
identificação do grau de relevância do documento retornado. A composição do tempo foi
obtida a partir do clique do usuário no link retornado. Esta escolha não é a melhor solução,
pois está sujeita a tempos de espera na rede, porém ela nos dá uma amostra clara dos
problemas relevantes na dimensão tempo. Durante a navegação dos usuários foram
observados os seguintes comportamentos:
• O usuário pode realizar outras atividades enquanto navega nos retornos obtidos e
essa prática interfere no tempo gasto;
• Os resultados oferecidos podem despertar outros interesses ao usuário, fazendo
com que o mesmo mude o foco da consulta; e
• A navegação nos resultados obtidos pode possibilitar ao usuário expandir a
consulta, permitindo ao usuário melhorar sua string de busca.
Com este experimento foi possível demonstrar que, em geral, os motores de busca
convencionais podem ser melhorados no que diz respeito ao retorno oferecido nos resultados
das consultas a fim de facilitar a localização dos documentos relevantes ao interesse do
67
usuário, diminuindo, assim, o esforço empregado. No próximo capítulo são discutidas
técnicas que podem ser aplicadas a fim de proporcionar uma personalização nos resultados
obtidos por meio dos motores de busca.
69
C a p í t u l o III
PERSONALIZAÇÃO DE BUSCA NA WEB
personalização dos resultados de consultas realizadas por motores de buscas
convencionais na Web tem sido amplamente estudada como uma solução para o
problema da sobrecarga de informação (BRUSILOVSKY, 2009). Com uma
personalização eficiente, os resultados das pesquisas realizadas na Web poderiam ser
ofertados de acordo com as necessidades dos usuários, reduzindo, assim, os esforços
empregados para a localização de conteúdos relevantes. As pesquisas relacionadas ao
desenvolvimento de sistemas de personalização de conteúdo para motores de busca têm como
principal objetivo desenvolver mecanismos que forneçam coleções de páginas
individualizadas, baseados, de alguma forma, em modelos que representam as necessidades
dos usuários e seu contexto de trabalho.
A
70
A adaptação na Web tem sido estudada conjuntamente à área de Hipermídia
Adaptativa (HA), a qual tem o objetivo de promover a adaptação de hiperdocumentos e
hipermídia, considerando as especificidades do ambiente e do usuário (BRUSILOVSKY,
2001; BULTERMAN, 1998). Um sistema na área de HA deve ser um sistema de hipertexto
ou hipermídia (como a Web), possuir um modelo de usuário e poder adaptar-se a partir desse
modelo. É possível adaptar tanto o conteúdo quanto a navegação em um sistema de HA
(BUGAY, 2008; BRUSILOWSKY, 2001). No caso da adaptação do conteúdo é possível
destacar, ocultar ou reorganizar os conteúdos envolvidos. No caso da adaptação da navegação
é possível disponibilizar, ordenar ou ocultar links do sistema de hipermídia ou
hiperdocumentos. Como os conteúdos em sistemas de busca são determinados pelos websites
provedores das informações que fazem parte dos resultados da busca, eles não podem ser
alterados. Deste modo, na adaptação dos resultados de busca discutidos neste trabalho,
estaremos focando somente na adaptação da navegação do usuário.
Quando se fala em adaptação em sistemas hipermídia existe uma diferença entre os
sistemas adaptáveis e adaptativos (BRA, 1998). Nos sistemas adaptáveis os usuários
determinam explicitamente suas preferências, preenchendo formulários que permitem a
criação de seu perfil. Já nos sistemas adaptativos o modelo de usuário é construído de forma
autônoma, na qual os dados são obtidos por meio de monitoramento das ações de navegação,
pesquisas e respostas a questionários. No entanto, em muitos sistemas de hipermídia
adaptativos utilizam-se características adaptáveis e adaptativas, procurando, desta forma,
obter-se a construção de um modelo mais completo (BUGAY, 2008; KOCH, 2002; BRA,
1998). Neste trabalho, estaremos empregando um sistema de busca adaptativo para Web, pois
pretendemos que o usuário seja interrompido o mínimo possível na sua tarefa de busca.
O modelo de usuário constitui-se um dos pontos centrais de um sistema adaptativo.
Existem três aspectos a serem considerados para a realização de uma boa adaptação, são eles:
71
os dados do usuário em si, os dados da utilização do sistema pelo usuário e os dados do
ambiente (BRUSILOVSKY, 2001).
Os dados do usuário são considerados o centro de sistemas adaptativos, pois eles
representam suas características: momentâneas, que dizem respeito a seus objetivos e
interesses; e permanentes, que se referem à idade, conhecimento prévio, disponibilidade de
tempo, formação e, até mesmo, traços de personalidade (CINI, 2002).
Os dados de utilização do sistema consideram a interação do usuário com o sistema, a fim
de determinar seu contexto de trabalho e de obter seu perfil de forma implícita.
Acompanhando a navegação do usuário por meio das ações do mouse, páginas visitadas,
tempo de permanência nos links clicados, entre outras, é possível identificar seu interesse
naquele momento e contexto (CINI, 2002; BRUSILOVSKY, 2001; CLAYPOOL, 2000;
PALAZZO, 2000).
Os dados do ambiente são utilizados para adaptar a apresentação do conteúdo disponível
ao usuário. Este aspecto é importante para aplicações Web devido à abrangência geográfica da
Internet, sendo que os usuários podem visitar o mesmo documento residindo em qualquer
lugar que tenha acesso a Web. Assim, devem ser consideradas as características de plataforma
de execução, como resolução da tela, número de cores, navegador utilizado e capacidade
computacional, além de características de rede, como a largura da banda disponível
(MEMÓRIA, 2005; CINI, 2002).
Na construção do modelo de usuário a ser empregado neste trabalho, serão
considerados apenas os dados momentâneos do usuário, i.e., seus objetivos e intenções
(BRUSILOVSKY, 2004; CINI, 2002; PALAZZO, 2000), e os dados de utilização do sistema
pelo usuário, i.e., suas escolhas sobre os resultados da busca no motor de busca convencional.
Embora, os demais dados sejam importantes, a escolha por este conjunto reduzido de dados
reside na opção por uma ação não intrusiva durante a construção do modelo de usuário. Deste
72
modo, pode-se manter a interface do sistema proposto muito próxima a interface dos motores
de busca convencionais, procurando, desta forma, aproveitar o conhecimento que o usuário já
possui em relação a esses softwares. Assim, não será necessário que os usuários adquiram
novos conhecimentos para a utilização do sistema proposto neste trabalho.
3.1. A Modelagem do Usuário em Sistemas de Personalização
Um modelo de usuário procura representar as características ou perfil (profile) de um
ou mais usuários. Ele pode conter informações como nome, idade, país, nível educacional,
profissão, interesses, informações geográficas e outras características relevantes a adaptação
do sistema em questão. O modelo de usuário pode ser homogêneo, caso em que só se
representam dados de um único indivíduo, ou heterogêneo, caso em que é possível associar
dados de usuários individuais com grupos de usuários, permitindo, assim, encontrar interesses
similares. Os modelos podem ser considerados dinâmicos, quando o perfil é atualizado
constantemente, conforme ocorre à interação do usuário com o sistema, ou estáticos, quando
as informações se mantêm inalteradas ao longo do tempo ([B] MICARELLI, 2007; BUGAY,
2008).
Deste modo, modelar usuários consiste em uma tarefa de aprendizagem na qual o
sistema se torna capaz de entender quais são as necessidades do usuário, visando adaptar seus
resultados de forma aproximada a essas necessidades. A técnica de monitorar a navegação do
usuário nos resultados obtidos em suas consultas é considerada por [B] MICARELLI (2007) a
tarefa mais importante na etapa de aprendizagem das características do usuário.
A identificação do usuário é a primeira fase para a construção de um modelo de
usuário, sendo que há cinco abordagens para esta identificação: uso de agentes de software;
73
uso de logins; identificação do usuário por meio do servidor de proxy; uso de cookies16 e o
uso de session17. As três primeiras técnicas são consideradas exatas, por necessitarem da
participação ativa do usuário ([B] MICARELLI, 2007; DELICATO, 2000). As outras duas
são consideradas correlatas, pois consistem em sessões, sendo menos invasivas que as três
primeiras ([B] MICARELLI, 2007). Em nosso trabalho será empregado a técnica de
identificação por agentes de software, que consistem em pequenos programas instalados no
computador do usuário capazes de coletar informações e enviá-las ao servidor via algum
protocolo.
Após a identificação do usuário é realizada a construção do seu perfil, que consiste na
coleta das informações referentes a este usuário. A construção do perfil pode acontecer de
forma explícita, implícita ou híbrida (PAPAKONSTANTINOU, 1995; [B] MICARELLI,
2007). A coleta de características dos usuários de forma explícita, também conhecida como
feedback explícito, requer a intervenção direta de cada usuário. Normalmente, estas
características são coletadas por meio do preenchimento de formulários HTML, os quais
podem ser compostos por campos de texto ou checkboxes. Os formulários também permitem
que os usuários expressem opiniões, selecionando valores em uma determinada faixa. Essas
opiniões podem ser usadas para diversos fins, como determinar o grau de interesse do usuário
por um determinado documento. Esta técnica requer a pré-disposição do usuário, pois
depende de tempo e vontade do mesmo para disponibilizar seus dados ([B] MICARELLI,
2007). Um problema típico do feedback explícito é a preocupação com sua privacidade.
Muitos usuários optam por não preencher formulários que contém informações pessoais como
nome, endereço, idade, e outras, por uma questão de segurança. Há também usuários que
disponibilizam informações imprecisas, o que impede o sistema de adaptar o conteúdo de uma
16
Cookies – são sessões permanentes, nas quais os dados ficam armazenados no computador cliente.
17
Sessions – são sessões temporárias, as quais ficam disponíveis enquanto o usuário permanece no navegador,
ou não clicar na opção de logout para cancelar a sessão.
74
forma mais adequada. Por estas razões, este tipo de feedback não será empregado neste
trabalho.
A coleta de características do usuário de forma implícita, conhecido como feedback
implícito, é realizada por meio do monitoramento das atividades dos usuários. Dependendo de
como as informações são coletadas, diferentes dados podem ser extraídos. A obtenção
implícita do perfil do usuário requer um esforço menor por parte do usuário, sendo,
normalmente, necessário um software que seja capaz de coletar as informações a partir do
monitoramento de suas ações. KELLY (2003) sumariza em seu trabalho algumas técnicas
utilizadas na construção do perfil do usuário por meio do feedback implícito. Dentre as
técnicas citadas estão o uso de: “Browser Cache”; “Proxy Servers”; “Browser Agents”;
“Desktop Agents”; “Web Logs”; e “Search Logs”. Neste trabalho será utilizada a técnica de
Browser Agents, os quais são agentes de software implementados no browser do usuário que
coletam informações referentes às atividades desenvolvidas em aplicações personalizadas,
tendo como vantagem a capacidade do agente em capturar todas as atividades realizadas na
Web, e como desvantagem a necessidade de instalação e utilização de um software enquanto
se navega.
Os estudos apresentados por [B] MICARELLI (2007) mostram que não há uma
resposta em relação à melhor técnica de coleta de informações do usuário, tanto o feedback
implícito como o explícito apresentam vantagens e desvantagens. O uso do feedback implícito
permite construir e atualizar o perfil do usuário por meio da utilização do sistema, entretanto
ele não consegue identificar feedback negativo diretamente. Já o feedback explícito consegue
capturar opiniões mais detalhadas, porém ele depende da disponibilidade do usuário em
oferecer suas respostas verdadeiramente. Logo, quando as duas técnicas são utilizadas em
conjunto pode-se obter mais informações, construindo, assim, um perfil mais amplo de cada
usuário.
75
Os sistemas de buscas na Web que oferecem retornos personalizados utilizam alguma
modelagem do usuário para conseguir adaptar o retorno conforme o perfil deste usuário. De
acordo com [B] MICARELLI (2007), essa modelagem pode ser aproveitada em três formas
distintas, que podem ser utilizadas isoladamente ou em conjunto. A primeira forma define que
a classificação é um processo unificado, na qual o perfil do usuário é utilizado para pontuar os
conteúdos encontrados na Web, como mostra a Figura 4.
Figura 4 - Processo de personalização como parte do processo de recuperação
A segunda forma, mostrada na Figura 5, re-classifica os resultados da consulta fazendo
uso do perfil do usuário. Essa etapa pode ser realizada como complemento da primeira etapa,
na qual a re-classificação ocorre nos objetos não classificados por meio da pontuação
personalizada.
Figura 5 – Processo de personalização por re-classificação dos resultados obtidos
A terceira e última forma é a modificação da consulta, essa forma utiliza o perfil do
usuário para modificar a string de busca já escrita, realizando uma expansão da consulta. Este
processo também pode ser utilizado como terceira etapa das formas anteriores. A Figura 6
exibe esta terceira forma.
76
Figura 6 - Processo de personalização por modificação da consulta
Para este trabalho, será utilizado a forma de re-classificação dos resultados obtidos e o
perfil do usuário será aprendido de forma implícita durante o processo de navegação.
PITKOW (2000) sugere que esta abordagem seja utilizada no modo de processamento client-
side18, no qual o software desenvolvido conecta-se com o motor de busca e analisa localmente
os resultados obtidos, oferecendo a re-classificação. Nesse processo, o tempo de análise deve
ser considerado e por esta razão sugere-se que a análise ocorra apenas nos primeiros
resultados retornados ou que seja recuperado apenas informações pertencentes ao resumo do
documento oferecido pelo buscador. [B] MICARELLI (2007) argumenta que devido ao
tempo consumido para acessar os motores de busca e recuperar os documentos para serem
avaliados, a abordagem de re-classificação implementada via client-side pode ser
demasiadamente lenta, entretanto, também afirma que, neste caso, podem ser empregadas
representações complexas das necessidades dos usuários e isto pode melhorar a eficiência da
personalização.
18
Client-side refere-se a programas que são executados no computador do usuário e não em um servidor Web.
77
3.2. Navegação Adaptativa
De acordo com BRUSILOVSKY (2001) e PALAZZO (2000), os sistemas de HA
distribuem-se em seis áreas de aplicação, sendo elas: a Recuperação de Informação, os
Sistemas de Informação, os Sistemas de Ajuda online (Help), os Sistemas Educacionais, a
Hipermídia Institucional e a Personalização de Visões em um espaço de informação. Em cada
área foi criada uma variedade de métodos e técnicas de adaptação. Entre eles está o método de
Navegação Adaptativa, que tem por objetivo auxiliar o usuário adaptando a aparência dos
links no hiperespaço navegacional de acordo com seus objetivos e interesses reconhecidos por
meio do uso de um perfil do usuário (BILLSUS, 2007; BUGAY, 2008; CINI, 2002;
PALAZZO, 2000).
Conforme citamos anteriormente neste capítulo, o foco deste trabalho está na
navegação adaptativa pelos resultados de um motor de busca convencional. A navegação
adaptativa pode ordenar, ocultar ou anotar os links apresentados em um documento Web de
forma a auxiliar o usuário a localizar os websites relevantes naquele momento, facilitando,
assim, a escolha do próximo link a ser navegado. Os métodos que dão apoio à navegação
adaptativa podem ser resumidos nos seguintes (BUGAY, 2008; CINI, 2002):
• Condução ou Direcionamento Global – tem como objetivo auxiliar o usuário no
caminho mais curto para encontrar a informação desejada. Conhecer os objetivos
do usuário é o principal aspecto deste método, pois ele é o cerne de todo o
processo adaptativo.
• Condução ou Direcionamento Local – seu objetivo é auxiliar o usuário em
apenas um passo da navegação, ou seja, a adaptação sugere os links mais
78
relevantes a serem seguidos de acordo com o perfil do usuário no nodo
(documento Web) corrente.
• Apoio à Orientação Global – auxilia o usuário a compreender a estrutura do
hiperespaço e sua posição absoluta nele, utilizando técnicas de ocultamento e
anotação.
• Apoio à Orientação Local – tem por objetivo auxiliar o usuário a compreender o
que está ao seu redor e qual sua posição relativa no hiperespaço.
• Visualização Personalizada – apresenta uma abordagem baseada em agentes, na
qual os agentes são responsáveis por encontrar os links relevantes ao contexto de
interesse do usuário e os apresentarem.
Esses métodos podem ser implementados por meio das técnicas que atuam
diretamente na classificação dos links, sendo (BUGAY, 2008; CINI 2002; BRUSILOVSKY,
2001; PALAZZO, 2000):
• Orientação direta – decide em cada ponto de navegação qual o melhor link a ser
visitado a seguir, considerando sempre o perfil do usuário.
• Ordenação ou classificação adaptativa de links – compreende na ordenação
decrescente de todos os links de uma página específica, respeitando a relevância do
contexto para o usuário.
• Ocultação adaptativa de links – restringe o espaço de navegação do usuário,
ocultando os links não relevantes ao seu perfil.
• Anotação adaptativa de links – os links são comentados a fim de indicar sua
relevância para o usuário. Essas anotações podem ser tanto no formato textual
quanto apenas visual.
79
• Adaptação de mapas – é aplicada a visualização gráfica da estrutura de
navegação, adaptando a forma de apresentar os mapas locais e globais aos
usuários.
O uso da navegação adaptativa em motores de busca convencionais pode reduzir o
esforço empregado pelos usuários na recuperação da informação relevante às suas
necessidades.
3.3. Abordagens de Personalização na Web
Diversas abordagens podem ser aplicadas para a personalização de buscas na Web, a
Figura 7 ilustra a distinção dessas técnicas ([B] MICARELLI, 2007). A abordagem baseada
em colaboração possui a idéia básica de que usuários que apresentam interesses similares são
suscetíveis a encontrar os mesmos documentos em consultas que possuem interesses
semelhantes. DIEBERGER (2000) utiliza o termo Navegação Social para referir-se a software
que faz uso de “rastros” (comentários, votos, revisões e outros) de usuários deixados durante a
navegação ou a construção de strings de consulta. O Eurekster19 é um exemplo de motor de
busca que utiliza a colaboração. Nele os usuários podem construir e personalizar suas
pesquisas compartilhando sua opinião por meio de votos atribuídos aos resultados obtidos. Os
resultados das consultas são gerados a partir de similaridades. Entretanto, não foi encontrado
nenhum documento que especifique qual é o algoritmo que esse sistema utiliza.
19
http://www.eurekster.com/
80
Figura 7 - Distinção das abordagens de personalização.
Outra abordagem é baseada em conteúdo. Como, muitos motores de busca utilizam
técnicas apoiadas no modelo de Espaço Vetorial, o uso da abordagem baseada em conteúdo
está presente na maioria desses motores, entretanto, como já mencionado neste trabalho, essas
técnicas apresentam dois problemas para a RI, que são a polissemia e a sinonímia (FURNAS,
1987). Esses fenômenos provocam inadequações entre o espaço da consulta e o espaço dos
documentos nas consultas realizadas em um conjunto grande de documentos, pois
normalmente, são utilizadas poucas palavras-chaves na elaboração da string de consulta, e o
número de termos extraídos dos documentos geralmente é grande.
A obtenção dos dados utilizados no processo de aprendizagem do perfil do usuário é
caracterizada pela abordagem de personalização utilizada. Para cada abordagem há
características distintas de forma de obtenção e de tipo de documentos ou serviços que podem
ser utilizados. A Tabela 13 mostra como as informações dos usuários podem ser obtidas para
cada abordagem de personalização.
81
Tabela 13 - Abordagens de personalização e forma de obtenção do perfil do usuário
Personalização baseada em: Implícita / Explícita Entrada de dados típica Pesquisa Contextual Implícita Documentos de texto, emails, páginas Web
navegadas. Personalização baseada em histórico de consultas
Implícita Consultas anteriores, navegações em páginas Web, resultados de consultas selecionados.
Personalização baseada na representação rica das necessidades dos usuários
Ambas Feedback dos usuários nos resultados obtidos em consultas, strings de consultas anteriores.
Abordagem Colaborativa Ambas Strings de consultas anteriores, resultados selecionados.
Resultados adaptados por clusterização
Explícita Clusters selecionados em taxonomia.
Personalização baseada em hiperlink Ambas Consultas e páginas selecionadas.
3.3.1. Pesquisa contextual
A pesquisa contextual, proposta por RHODES (2000) é uma abordagem de pesquisa
denominada Just-in-Time RI (JITIR). Basicamente, o sistema monitora continuamente a
interação do usuário com o software (como digitação em editores de texto ou navegação na
Web) de forma não intrusiva, identificando automaticamente quais são suas necessidades e
recuperando documentos relevantes as suas áreas de interesse. A obtenção dos resultados
ocorre por meio de uma fonte de dados pré-indexada, podendo ser e-mail ou até uma base de
dados de artigos ([B] MICARELLI, 2007).
Um exemplo de sistema que utiliza a pesquisa contextual é o Google® Desktop20. Esta
ferramenta possibilita pesquisar conteúdos no computador local e em documentos Web já
visitados simultâneamente, organizando todos os documentos como arquivos, email e
websites de favoritos. Após sua instalação, o Google Desktop indexa os arquivos, emails e
histórico de navegação que estão armazenados no computador local e a medida em que os
documentos são atualizados o sistema atualiza o seu índice. A pesquisa constextual realizada
neste sistema utiliza a medida de TF-IDF, baseada na consulta e nas atividades correntes do
20
http://desktop.google.com/pt/BR/features.html
82
sistema operacional. O Google também disponibiliza APIs do Google Desktop para que sejam
integradas a demais aplicativos. (Google Desktop, 2009; [B] MICARELLI, 2007).
3.3.2. Personalização baseada em histórico de consultas
A personalização baseada em histórico de consultas é uma abordagem que permite
personalizar a interação humano-computador de forma menos intrusiva. As consultas são
baseadas em resultados de pedidos anteriores. Para isso, essa abordagem faz uso de cookies,
com a finalidade de identificar os usuários. Ela pode ser classificada em dois grupos, sendo
que o primeiro emprega a abordagem off-line, na qual a exploração do histórico das
navegações é realizada em etapas de pré-processamento distintas, analisando a relação das
consultas e dos documentos visitados. O segundo grupo emprega a abordagem on-line, na
qual os dados são capturados assim que eles estejam disponíveis, obtendo os resultados da
última interação com o usuário para o fornecimento imediato de modelos personalizados. A
abordagem off-line pode fazer uso de algoritmos mais complexos pela sua natureza de ser
menos urgente, podendo gastar um maior tempo de execução no seu processamento.
O Google™ disponibiliza uma ferramenta de consulta, nomeada de Search History21,
baseada no histórico de navegação do usuário ([B] MICARELLI, 2007). Para utilizar o
Google Search History é necessário criar uma conta Google e, então, ativar o histórico Web.
Após a ativação, todo o histórico de navegação ficará armazenado em servidores do Google, o
que torna possível utilizar e gerenciar o histórico por qualquer computador. Esta ferramenta
utiliza apenas o histórico da Web, ou seja, é possível recuperar documentos Web que já foram
visitados, o histórico da pesquisa fica armazenado no navegador, sendo que cada browser é
responsável por armazenar e recuperar essas strings de busca. (Google History, 2009)
21
http://www.google.com/searchhistory
83
WON (2009) apresenta em seu trabalho um navegador contextual de históricos da
Web, o qual tem como objetivo principal melhorar a visibilidade do histórico de navegação na
Web, reduzindo o tempo e o esforço aplicados para localizar documentos já visitados
anteriormente.
3.3.3. Personalização baseada na representação rica das necessidades dos usuários A técnica de personalização baseada na representação rica das necessidades dos
usuários normalmente emprega frames e redes semânticas para representar os conceitos de um
determinado domínio, modelando os relacionamentos entre eles. [B] MICARELLI (2007)
apresenta três protótipos distintos que abordam esse tipo de personalização, o ifweb, o Wifs e
o Infoweb.
O ifweb é um protótipo de um agente inteligente baseado em um modelo de usuário
capaz de apoiar o usuário na recuperação e filtragem de documento em suas navegações na
Web, considerando suas necessidades específicas. Esse protótipo apresenta dois modos de
funcionamento que utilizam um documento específico indicado pelo usuário e iniciam sua
navegação de forma autónoma. No primeiro modo, chamado de suporte à navegação, o
protótipo recupera documentos Web, os analisa e os classifica, mostrando graficamente a
estrutura de hiperlinks existente entre esses documentos. No segundo modo, nomeado como
pesquisa de documento, o protótipo recupera e classifica os documentos Web, apresentando
ao usuário uma lista de documentos ordenadas por relevância de forma descendente. Ambos
modos baseiam a classificação dos documentos no modelo de usuário, o qual é formado por
um conjunto de pares (atributo-valor) correspondente a informações dos documentos
indicados e ponderam uma rede semântica cujo nodos correspondem aos termos e os arcos
ligam os termos que co-ocorrem nos documentos (ASNICAR, 1997).
84
O Wifs é um sistema capaz de filtrar documentos de texto, ou HTML, recuperados pelo
motor de busca AltaVista22. O sistema avalia e reordena os resultados oferecidos pelo motor
de busca de acordo com o modelo de usuário definido pelo usuário na consulta. A cada
feedback ou documento visitado pelo usuário, o sistema atualiza o modelo. De forma geral, o
modelo de usuário é constituído por um frame que contém termos associados a outros termos,
formando uma rede semântica. Esses termos são selecionados em uma base de dados TDB
(term data base) criada a priori por especialistas e, por consequencia, pertencem a domínios
específicos. A filtragem é realizada por meio da abordagem baseada em conteúdo, na qual os
documentos recuperados pelo motor de busca são avaliados unicamente pelo seu conteúdo.
([B] MICARELLI, 2007).
Por fim, o Wifweb é um sistema interativo desenvolvido para recuperação adaptativa
baseada em conteúdo, atuando especificamente em bibliotecas digitais que possuem coleções
de documentos estáveis e pertencem a um domínio específico. Ele apresenta como
característica distinta um mecanismo de criação e gerenciamento de um estereótipo de base de
conhecimento e também utiliza a modelagem de usuário. Estes estereótipos contém
representações vetoriais de documentos considerados significativos para um determinado
domínio. A criação desses estereótipos são realizadas por especialistas de domínio. O modelo
de usuário é gerado por meio de informações necessárias ao entendimento deste perfil, obtidas
explicitamente ao longo do tempo e formuladas por meio de consultas ([B] MICARELLI,
2007).
22
http://www.altavista.com/
85
3.3.4. Resultados adaptados por clusterização
A clusterização aplicada a busca na Web, ao contrário da classificação, não requer
categorias pré-definidas. Assim, o número e a organização dos clusters são gerados de acordo
com a navegação do usuário, apresentando uma clusterização concisa e precisa, permitindo ao
usuário encontrar o que é útil. Os mecanismos de busca que utilizam a clusterização para a
realização de suas consultas organizam os resultados agrupando as páginas que apresentam os
mesmos temas.
O CLUSTY23 é um exemplo de um motor de busca adaptado por clusterização que
organiza seus resultados em pastas e subpastas. Esse agrupamento é realizado conforme o
contexto do website. Para isso, esse sistema utiliza conhecimentos lingüísticos para extrair a
similaridade entre os websites encontrados, a fim de evitar falsas semelhanças. O idioma
original desse projeto é o Inglês, entretanto, estão sendo desenvolvidos para outros idiomas,
inclusive o japonês (MELLON, 2008). Além da adaptação por clusterização, o CLUSTY é
também um meta-buscador que organiza os seus resultados em um gráfico interativo.
Um outro exemplo é o KARTOO24, que é um meta-buscador de informação na Web
que representa seus resultados na forma de mapas interativos. Os websites encontrados são
representados por esferas menores ou maiores, segundo sua pertinência. Sua pesquisa pode
ser refinada com palavras e frases propostas. Quando o usuário move o ponteiro sobre um
ícone é exibida uma breve descrição sobre o website. O tamanho do ícone apresentado
representa a importância do website referente à consulta. (KARTOO, 2008).
23
http://clusty.com/ 24
http://www.kartoo.com/
86
3.3.5. Personalização baseada em hiperlink
A personalização baseada em hiperlink é uma técnica que atua na criação de um
ranking personalizado de páginas Web de acordo com o perfil dos utilizadores construído
automaticamente. [B] MICARELLI (2007) propõem um protótipo que utiliza os bookmarks
dos usuários ou os conjuntos de páginas visitados frequentemente. Os algoritmos utilizados
nessa abordagem são variações ou melhorias do PageRank 25, o qual é um algoritmo de
análise de rede, que determina pesos numéricos a cada elemento de uma coleção de
documentos hiperligados.
O SurfCanyon26 é um sistema de RI interativo que modifica dinâmicamente os
resultados das consultas Web utilizando a personalização baseada em hiperlink. Este software
é uma extensão do browser do usuário que atua em diversos motores de busca. A
personalização dos resultados das consultas Web oferecidas por essa ferramenta ocorre a
partir da combinação do feedback implícito e explícito. A classificação é baseada em um
modelo de usuário que infere o interesse imediato do usuário. O SurfCanyon adiciona um
ícone no final de cada link sugerido pelo motor de busca. Quando o usuário visita o link
sugerido ou clica sobre esse ícone, o SurfCanyon aproxima websites de contexto similares ao
clicado (HARDTKE, 2009).
Neste trabalho é utilizada o processo de personalização de re-classificação dos
resultados obtidos e a abordagem de personalização baseada em hiperlink. São considerados,
entre outros, os hiperlinks visitados pelo usuário com o intuito de identificar se esse website é
relevante ou não ao interesse desse usuário. É oferecida uma re-classificação, aproximando
websites que possuem contexto similares e ordenando de forma descendente por grau de
relevância. O próximo capítulo apresenta a arquitetura do sistema proposto.
25
http://infolab.stanford.edu/~backrub/google.html 26
http://www.surfcanyon.com/
87
C a p í t u l o IV
PROPOSTA DE PERSONALIZAÇÃO PARA
BUSCAS NA WEB
este capítulo é apresentada uma proposta para a personalização de resultados de
buscas na Web. Esta proposta utiliza o feedback implícito do usuário (por meio
do acompanhamento de sua interação com os resultados de busca) a fim de
obter informações a respeito de seus interesses de forma não intrusiva. A captura deste
feedback será realizada por agentes de software, por meio do uso da técnica de Browser
Agents. A personalização será realizada por meio da técnica de navegação adaptativa, a qual
será obtida pelo uso da técnica de visualização personalizada por meio da reordenação, ou
classificação adaptativa, dos links resultantes da busca nos motores de busca convencionais.
N
88
Essa re-classificação será realizada com o uso da técnica de indexação de semântica latente
adaptada para o ambiente Web.
4.1. A Proposta de um Sistema Adaptativo de Busca
O número de documentos relevantes retornados nos motores de busca convencionais
atuais depende diretamente da string elaborada para a consulta. Fazendo-se o uso de
caracteres especiais como os operadores booleanos, aspas, entre outros, é possível melhorar o
resultado das consultas realizadas. Entretanto, muitos usuários não atentam para essa
possibilidade, realizando suas consultas apenas por meio da inclusão de palavras chaves e/ou
frases utilizadas no seu dia a dia, conforme foi exposto no Capítulo II. Essa prática de
consultas fornece resultados aos usuários que nem sempre vem ao encontro com a sua
necessidade e, por conseqüência, o esforço empregado pelo usuário para conseguir localizar
documentos relevantes acaba sendo grande e exaustivo. É nessa realidade que a proposta da
pesquisa de personalização dos resultados oferecidos pelos motores de busca convencionais
está apoiada. Com o uso de uma ferramenta que ofereça uma melhor ordenação para os
resultados de busca, pretende-se reduzir o esforço aplicado pelo usuário para localizar itens
relevantes ao seu interesse.
Deste modo, neste trabalho, é proposto o uso de uma adaptação da técnica de LSI
como ferramenta de reindexação dos documentos resultantes da busca em motores de busca
convencionais. O objetivo desta adaptação é viabilizar a utilização da LSI no ambiente Web
(um ambiente aberto, no qual o número de documentos total é desconhecido e varia a cada
momento). Com esta adaptação, espera-se, primeiramente, reduzir o tempo de processamento
consumido por essa técnica, tornado-a viável de ser aplicada para o ambiente Web. Além
disso, espera-se também melhorar a forma da construção do modelo de usuário, pois o mesmo
conjunto de termos que caracteriza um documento visitado pelo usuário (os termos usados na
89
matriz LSI para caracterizar o documento visitado) deverá ser usado para compor o modelo de
usuário. Assim, com este modelo espera-se que seja possível capturar de forma mais precisa o
contexto de interesse do usuário, tornando possível reordenar os documentos retornados,
reagrupando-os de acordo com sua similaridade ao modelo de usuário. A escolha da LSI se dá
pela sua capacidade de tratar os problemas relacionados à polissemia e a sinonímia.
4.1.1. Arquitetura do Sistema Proposto
Para atender os objetivos dessa proposta foi desenvolvido um protótipo que aplica a
LSI com as adaptações aqui sugeridas. Esse protótipo constrói um modelo de usuário e realiza
o matching entre os documentos obtidos nos resultados das consultas e o modelo de usuário
que especifica o contexto de interesse do usuário.
Figura 8 - Arquitetura do Protótipo
A arquitetura do sistema proposto, exibida na Figura 8, é composta por cinco módulos
inter-relacionados, são eles: o módulo de Interface do Sistema, o Módulo de Comunicação, o
90
Módulo de Operações sobre as Consultas (MOSC), o Módulo de Operações sobre o Texto
(MOST) e o Módulo de Re-classificação (MR).
A interface do sistema tem o objetivo de fornecer apoio às ações dos usuários,
acompanhando sua navegação nas respostas obtidas por meio dos mecanismos de busca
convencionais e apresentando os resultados das re-ordenações de acordo com os
processamentos realizados pelo sistema proposto.
O módulo de comunicação estabelece a comunicação entre o protótipo e os sistemas
externos, solicitando as informações necessárias e retornando os resultados obtidos ao módulo
de re-ordenação. Neste trabalho não foi desenvolvido o módulo de comunicação com sistemas
de busca atuais. A princípio, a proposta para o desenvolvimento desse módulo é estabelecer a
comunicação por meio de uma extensão do browser.
O MOST é responsável por capturar e processar os termos dos documentos
identificados pelo MOSC, armazenando esses termos em uma estrutura de dados e realizando
os processamentos necessários para a extração do conteúdo. A Seção 4.1.2 apresenta maiores
detalhes sobre essa etapa de processamento.
O MOSC é responsável por identificar o interesse do usuário nos resultados obtidos
pelas consultas. A identificação do interesse é capturada por meio de sua navegação, sendo
consideradas as ações do mouse e o tempo de permanência em cada documento navegado.
Todo esse processo é detalhado na Seção 4.1.3, na qual se descreve a construção do modelo
de usuário.
O MR é responsável por aplicar o processo de LSI a fim de re-ordenar o conteúdo de
acordo com a similaridade entre o modelo de usuário construída pelo MOSC e os websites
retornados. A Seção 4.1.4 oferece maiores detalhes sobre essa etapa.
Na proposta de interface, especificada por meio de prototipação, são incluídas duas
ações para o usuário interagir com a ferramenta no momento em que achar adequado. Essas
91
interações consistem em permitir que o usuário solicite à ferramenta que expanda sua consulta
(baseada no modelo de usuário implicitamente aprendido durante sua navegação) e re-ordenar
os resultados obtidos. Essa tela é exibida na Figura 9. A expansão da consulta é uma tarefa
possível por meio da LSI, entretanto, não foi desenvolvida neste trabalho.
Figura 9 – Proposta de interface
4.1.2. Etapa de pré-processamento
Ao realizar a RI em uma coleção de documentos são necessárias algumas tarefas de
pré-processamento, como já foi citado no Capítulo II. Para este trabalho a etapa de pré-
processamento é apresentada em duas fases. Na primeira fase são realizadas as tarefas de
tokenização, remoção de stopwords e aplicação de stemming. Na segunda fase são aplicados
cortes no número de termos extraídos dos websites procurando, assim, reduzir a dimensão da
matriz termo-documento a ser processada pela LSI. Esses cortes visam tornar a técnica de LSI
computacionalmente eficiente para o ambiente Web.
92
Segundo Newman (2006), quando a probabilidade de medir um valor de alguma
quantidade variar inversamente a potência daquele valor, diz-se que a quantidade segue uma
lei de potência (power law), também conhecida como a lei de Zipf ou distribuição de Pareto.
A lei de potência faz com que o gráfico do valor versus a medida de interesse (sobre o valor)
apresente um formato característico, como mostrado na Figura 10. Este gráfico costuma ser
denominado de gráfico de “cauda longa” (long tail em Inglês) devido a concentração de altos
valores para a medida de interesse no início do gráfico (i.e. para valores menores da variável)
e uma grande quantidade de valores da variável que resultam em baixos valores da medida de
interesse para o restante do gráfico.
Quando aplicamos estas idéias aos textos em geral, em qualquer língua, podemos notar
que será gerado um long tail sempre que plotarmos os termos versus sua frequência no texto.
A Figura 10 exibe o long tail obtido dos termos extraídos na primeira fase dos experimentos
realizados neste trabalho.
Figura 10 - Long tail dos termos utilizados
O long tail produzido na extração dos termos neste trabalho permite demonstrar o que
o economista Vilfredo Pareto afirmava em sua teoria conhecida como “Princípio de Pareto”,
que diz que 80% dos efeitos são causados por 20% das causas, enquanto que 80% das causas
são responsáveis por 20% dos efeitos (BRYNJOLFSSON et al, 2007; KOCH, 2000). Os
93
cortes sobre o número de termos selecionados para uso na matriz LSI aplicados neste trabalho
são baseados no Princípio de Pareto.
O processo de extração dos termos do protótipo apresentado foi construído
considerando as etapas adicionais para pré-processamento de documentos Web sugeridas por
LIU (2006). Na primeira fase foram identificados os termos, respeitando as etapas e
considerações abaixo:
1. Identificação de diferentes campos significativos: extração do título de cada
página e identificado seus hiperlinks;
2. Remoção de tags HTML: remoção de todas as tags HTML, mantendo apenas o
conteúdo do documento;
3. Contagem de caracteres: desconsideração das palavras formadas por menos que
2 caracteres, pois palavras menores não acrescentam valor semântico;
4. Desconsideração de símbolos: desconsideração de alguns sinais de pontuação
como, por exemplo: "=", "-", "(", ")", "[", "]", "{", "}", "'", "\"", "\\", "|", ".", ",",
"!", "?", ";", ":", na extração dos termos;
5. Converção de caracteres: transformação de todos os caracteres para minúsculos.
6. Remoção de Stopwords: remoção de 429 termos retirados de uma lista de
stopwords. Essa lista foi sugerida por LexTek International27, a qual é composta
por um grupo de pesquisadores e desenvolvedores de tecnologia avançada em
processamento de linguagem natural.
7. Aplicação do processo de stemming: utilizando o algoritmo Porter Stemmer, cujo
funcionamento já foi explicado no Capítulo 2.
8. Obtenção da frequência dos termos: cálculo da frequência dos termos em cada
documento.
27
http://www.lextek.com/manuals/onix/stopwords1.html
94
9. Aplicação de uma linha de corte: aplicação de algumas linhas de corte para
identificação de um percentual satisfatório para a realização do corte nos termos da
matriz LSI (as análises dessas linhas de corte estão detalhadas no Capítulo VII).
Esses cortes consistem na extração dos termos de maiores frequências, conforme o
percentual utilizado, para comporem a matriz LSI, ou seja, será extraído de um
website apenas 20% dos termos para uma distribuição de 80-20.
A proposta deste trabalho é que a etapa de pré-processamento e extração dos termos
possa ser realizada por agentes de software. Por possuir autonomia, pro-atividade e
capacidade temporal, além de sua capacidade social e de adaptação, acredita-se que com a
utilização de agentes simultâneos, trabalhando em paralelo com a navegação do usuário,
possibilite uma melhor personalização dos resultados oferecidos em ambiente Web. Esses
agentes ainda não foram desenvolvidos.
4.1.3. Construção do modelo de usuário
A construção do modelo de usuário tem a função de identificar o interesse do usuário e
possibilitar a adaptatividade dos resultados oferecidos pelo motor de busca. Nesse processo
foi considerado o mesmo pré-processamento de textos realizado na etapa de indexação da
coleção de websites.
O modelo de usuário considerado neste trabalho consiste em um documento criado a
partir da navegação do usuário pelos resultados oferecidos. O interesse do usuário sobre um
website é representado por um conjunto de termos e é inferido considerando as ações do
mouse ou do teclado. Quando é identificado um interesse positivo, os termos e frequências
extraídos do website de interesse são adicionados ao documento modelo. Desta forma, o
95
modelo de usuário é construído de maneira não intrusiva, não se fazendo necessária a
identificação do usuário e nem a interação explícita para sua construção.
As ações do usuário que são consideradas para identificar o interesse positivo por um
website são:
• Tempo de permanência no documento entre 2 a 30 minutos;
• Ação de Salvar o documento no computador;
• Ação de Adicionar o documento nos favoritos do navegador.
Essas escolhas se deram considerando os trabalhos de Goecks e Shavlik (1999), LIU
(2006), [B] MICARELLI (2007) e MANNING (2008), HARDTKE (2009) e também a
pesquisa realizada com usuários descrita no Capítulo II. Em relação ao tempo de
permanência, Goecks e Shavlik (1999) desenvolveram um agente que recolhiam informações
sobre as atividades do mouse durante um período finito de tempo. Com esse agente, eles
definiram que o tempo de atividade de 20 minutos representa o interesse do usuário.
HARDTKE (2009) comenta em seu trabalho que o clique do usuário em um hiperlink
retornado em uma consulta já representa o seu interesse nesse website. Na pesquisa realizada
neste trabalho, o tempo médio utilizado na navegação nos websites relevantes pelos usuários
foi de 2:05 minutos. Como os usuários clicaram também em websites que não atenderam as
suas expectativas, será considerado neste trabalho o tempo de permanência para inferir o
interesse desse usuário. Para determinar o limiar adequado de permanência pode-se utilizar a
técnica de “Janela de Validação” citada em ALAG (2009).
A construção do modelo de usuário de forma não intrusiva e com feedback implícito
apresenta pontos desfavoráveis, como a identificação de documentos somente como
relevantes ou irrelevantes, ou seja, a impossibilidade de inferir a relevância parcial, e a
identificação errônea de interesse provocado por algum fator externo, como a ausência do
usuário enquanto um website está sendo visitado. Esses pontos desfavoráveis podem oferecer
96
resultados não satisfatórios ao usuário. Além disso, a estratégia de construção do modelo
consegue representar apenas o interesse desse usuário em curto prazo, ou seja, a cada nova
busca é construído um modelo novo.
4.1.4. Indexação de semântica latente aplicada a um percentual de termos
A escolha da aplicação da LSI se deu pelo fato de que esse processo consegue lidar
com problemas relacionados a polissemia e a sinonímia por meio da identificação das
associações estatísticas dos termos extraídos em uma coleção de documentos.
Para tornar viável a utilização da LSI na personalização dos resultados oferecidos
pelos motores de busca, será considerado apenas um subconjunto de documento retornado
nas consultas realizadas pelos usuários e também não serão considerados todos os termos
extraídos de cada documento. Com a aplicação do corte no total de termos extraídos na etapa
de pré-processamento, a dimensão da matriz termo-documento gerada pela aplicação da LSI
será menor, o que diminui o seu custo computacional e amplia a possibilidade de utilização
dessa técnica em ambiente Web.
Após a etapa de extração de termos é realizada a normalização da frequência dos
termos (TF) e a obtenção da indexação pela frequência inversa (IDF). A combinação TF-IDF
foi utilizada para calcular o peso de cada termo, conforme detalhado no Capítulo II. Sobre a
representação matricial termo-documento, após o cálculo TF-IDF é aplicado a decomposição
SVD, também descrita no Capítulo II, seguindo pela comparação documento-documento por
meio da Equação 3. Por fim, é realizado o matching, conforme exibido na Equação 4, entre os
documentos do subconjunto de documentos considerados e o documento que representa o
modelo de usuário.
97
Considerando que a navegação ocorre em paralelo à inclusão dos documentos na
coleção de documentos, a proposta deste trabalho é que seja empregado a técnica de Folding-
in, descrita por BERRY (1995), para a atualização da matriz termo-documento. Com o
Folding-in é possível atualizar a coleção de documentos inserindo novos documentos e
corrigindo os pesos dos termos. A sugestão dessa alternativa se dá pelo fato de que, de acordo
com o autor, a atualização da matriz é rápida e apresenta um baixo custo computacional.
Entretanto, essa técnica pode apresentar uma representação inexata da atualização dos novos
termos, pois quanto maior for a quantidade de termos ou documentos adicionados, maior
poderá ser a variação dos resultados.
A inclusão de novos documentos na estrutura de LSI já existente ocorre por meio da
Equação 5, na qual d representa o documento a ser inserido. Após ser realizada a adição, o
novo website é adicionado na matriz Vk. Na sequência, são incluídos os novos termos na
matriz Uk, fazendo uso da Equação 6, na qual t representa os termos que estão sendo
adicionados. A extração dos termos respeita toda a etapa de pré-processamento citada
anteriormente.
� ? � �@AB ∑CDB
Equação 5- Adição de novos documentos
E � E GB ∑CDB
Equação 6 - Adição de novos termos
Após a etapa de atualização, é realizado o matching entre os documentos pertencentes
à coleção e o documento modelo, a fim de obter uma nova ordenação.
4.1.5. Personalização dos resultados
O processo de personalização dos resultados está representado na Figura 11, na qual a
representação dos websites é construída por agentes de software e o perfil do usuário é obtido
98
por meio de sua navegação, fazendo o uso de feedback implícito. Essas duas atividades
ocorrem paralelamente.
A cada nova ordenação efetuada é realizado o matching entre os websites da coleção e
o documento que representa o modelo de usuário e os resultados são apresentados em uma
nova ordenação que aproxima os websites mais similares ao modelo de usuário.
Neste trabalho foram implementadas em sua totalidade as etapas de pré-processamento
e a LSI. A construção do modelo de usuário não está sendo gerada automaticamente, de modo
que ela foi simulada indicando os documentos de interesse ao protótipo. Com essa
implementação e simulação foi possível realizar alguns testes para validar a utilização da LSI
aplicada a um percentual de termos extraídos de cada documento e do modelo de usuário
sugerido na adaptação dos resultados obtidos por meio dos motores de busca. Os resultados
desses testes são apresentados no próximo capítulo.
Feedback implícito
Perfil do Usuário
Representação dos websites
Matching Resultado Personalizado
s
Dados de Utilização
Figura 11- Personalização dos resultados
99
C a p í t u l o V
AVALIAÇÃO DA ARQUITETURA PROPOSTA
ara realizar uma prova de conceitos e também avaliar a qualidade da arquitetura
proposta no capítulo anterior, é empregado neste capítulo o processo de simulação,
o qual será detalhada a seguir.
5.1. Metodologia
Com o intuito de melhorar os resultados apresentados pelo motor de busca Google foi
proposto neste trabalho uma arquitetura alternativa que faz uso de uma reordenação dinâmica
dos resultados de busca em função da técnica de LSI e de um modelo de usuário criado
implicitamente durante a navegação do usuário nos resultados reordenados. Para avaliar a
P
100
qualidade desta proposta, foi realizada uma simulação com três usuários diferentes. Na
simulação foi possível demonstrar o uso da LSI em um ambiente on-line e também a
construção do modelo de usuário de forma implícita por meio do acompanhamento de sua
navegação.
O processo de simulação ocorreu em dois momentos. No primeiro momento foi
avaliada a adaptação aplicada à LSI. Nesta, foram aplicados cinco cortes no número de termos
de cada documento antes de inseri-los na matriz da LSI. O objetivo desses cortes foi
identificar um percentual que possibilite uma melhor ordenação, com um tempo de execução
aceitável para um ambiente on-line. Esse corte ocorreu na fase de extração dos termos.
Em um segundo momento, após a definição do percentual de corte, foi avaliado o
modelo de usuário proposto por meio de sua utilização no processo de re-ordenação. Nesta
etapa foi comparada a re-ordenação apresentada pelo protótipo em função da consulta de cada
usuário, bem como as re-ordenações apresentadas pelo protótipo em função do modelo de
usuário construído ao longo de sua navegação.
Em ambas as avaliações foi utilizado o cálculo da relevância média a partir de cada re-
ordenação sugerida. A Figura 12 apresenta os passos realizados na execução da simulação.
Figura 12 - Processo de Simulação
101
É interessante mencionar que, na proposta da arquitetura do sistema, a inclusão de
novos documentos no conjunto de documentos considerados ocorre em paralelo à navegação
do usuário, conforme os links visitados, fazendo o uso do processo de Folding-in discutido no
Capítulo V, o qual possibilita a inserção de novos termos e novos documentos em um
conjunto prévio de documentos, realizando correções nas frequências de termos.
5.2. Definindo a Consulta Inicial
A primeira etapa realizada nessa simulação foi a definição da string de consulta
inicial, para qual foram utilizados os termos “latent semantic index” para o primeiro usuário,
“DKW cars” para o segundo usuário e os termos “decorating tips”para o terceiro usuário,
sem o uso de caracteres especiais que poderiam auxiliar o motor de busca no retorno dos
resultados. Foram consideradas as seis primeiras páginas retornadas pelo motor de busca
convencional Google® (uma página padrão de retorno do Google® apresenta 10 resultados),
por ser este o motor de busca mais utilizado atualmente. Nas páginas retornadas o protótipo
conseguiu realizar a leitura em 41 websites dos 60 apresentados para o primeiro usuário, 51
websites para o segundo usuário e 47 para o terceiro usuário. Os websites ignorados pelo
protótipo são documentos no formato PDF ou páginas Web que contém frames internos, além
dos websites inexistente, mas que ainda estão indexados pelo motor de busca. Os tipos de
documentos que não foram considerados nesta fase deverão ser tratados em trabalhos futuros.
Após obter os websites sugeridos pelo motor de busca, foi analisado o grau de
relevância para cada website, sendo que websites irrelevantes foram considerados com um
valor de 0% (zero por cento) e documentos totalmente relevantes foram considerados com um
valor de 100% (cem por cento). Também foram considerados documentos que apresentaram
102
relevância intermediária, aos quais foram atribuídos os valores de 25% (vinte e cinco por
cento), 50% (cinqüenta por cento) e 75% (setenta e cinco por cento). Para determinar a
relevância dos websites para a consulta realizada pelo primeiro usuário, foram considerados
os seguintes critérios:
• Se o website apresenta um texto completo referente ao assunto de pesquisa recebe
100% de relevância.
• Se o website corresponde a resumos de trabalhos de pesquisa, recebe 75% de
relevância.
• Se o website apresenta um sumário do assunto de pesquisa, com ou sem links de
livros, recebe 50% de relevância.
• Se o website aborda o assunto pesquisado de forma superficial, recebe 25% de
relevância.
• Se o website apenas cita o assunto pesquisado, mas não apresenta informações
referentes a esse assunto, recebe 0% de relevância.
Os critérios que determinam a relevância para o segundo usuário são:
• Se o website apresenta um histórico e/ou informações técnicas sobre o assunto
pesquisado, recebem 100% de relevância.
• Se o website apresenta apenas informações técnicas, recebe 75% de relevância.
• Se o website apresenta somente informação histórica, recebe 50% de relevância.
• Se o website apresenta o assunto da pesquisa apenas com finalidades comerciais,
recebe 0 % de relevância.
O terceiro usuário definiu o grau de relevância para cada website retornado na consulta
com base nos seguintes critérios:
• Se o website apresenta dicas de decoração de interiores focando em cores ou papel
de parede recebe 100% de relevância.
103
• Se o website apresenta dicas de decoração de interiores relacionadas somente à
papel de parede, recebe 75% de relevância.
• Se o website apresenta dicas de decoração de interiores relacionadas apenas à
pinturas de paredes, recebe 50% de relevância.
• Se o website apresenta dicas de decoração de interiores com fins comerciais,
recebe 0% de relevância.
A Figura 13 apresenta o gráfico de websites ordenados de acordo com o grau de
relevância apontado pelo primeiro usuário. Nesta figura é possível observar que existem
websites totalmente irrelevantes mesmo na primeira página de retorno de resultados e,
também, que existem vários documentos com 100% de relevância além da segunda página.
Essa mesma situação foi observada nas pesquisas realizadas pelos demais usuários, como
podem ser vistos na Figura 14 e na Figura 15, que apresenta a ordenação realizada pelo
segundo e terceiro usuário respectivamente. Esta observação é importante, pois uma pesquisa
do iProspect (IPROSPECT, 2007) mostra que os usuários de máquinas de busca, geralmente,
não analisam mais que duas páginas de resultados. Portanto, os resultados relevantes que se
encontram além da segunda página em geral são desprezados.
Figura 13 - Ordenação oferecida pelo Google para o primeiro usuário
0
20
40
60
80
100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
Gra
u d
e R
ele
vâ
nci
a
Ordenação
104
Figura 14 - Ordenação oferecida pelo Google para o segundo usuário
Figura 15 - Ordenação oferecida pelo Google para o terceiro usuário
A próxima etapa da simulação foi calcular a precisão média da ordenação oferecida
pelo motor de busca, para tal foi utilizado a medida de avaliação Precision-Recall. A escolha
desse método é justificada pela premissa de que cada consulta realizada pelo usuário possui
um objetivo único (LIU, 2006; SHAFIS, 2005). De acordo com BAEZA-YATES (1999),
Precision e Recall são medidas baseadas na noção de relevância dos documentos de acordo
com uma determinada necessidade de recuperação de informação.
Recall é definido pela proporção de elementos relevantes recuperados em relação a
todos os elementos relevantes do conjunto de documentos, medindo a integridade da saída, ou
seja, a capacidade do sistema em recuperar informações relevantes (LIU, 2006; SHAFIS,
2005; BAEZA-YATES, 1999).
0
20
40
60
80
100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
Gra
u d
e R
ele
vâ
nci
a
Ordenação
0
20
40
60
80
100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
Gra
u d
e R
ele
vâ
nci
a
Ordenação
105
Precision calcula a proporção de documentos relevantes em relação a todos os
documentos recuperados, ou seja, a partir da identificação da relevância de cada documento é
possível identificar a fração de uma saída de pesquisa relevante para uma consulta específica
(SHAFIS, 2005).
Para obter a precisão média do retorno oferecido pelo navegador foram considerados
somente os websites que representam 100% de relevância ao usuário devido à utilização das
medidas de avaliação Precision e Recall. A Tabela 14 exibe a classificação de todos os
documentos considerados na simulação para o primeiro usuário.
106
Tabela 14 – Precisão média da ordenação oferecida pelo motor de busca.
Rank i "+/-" p(i) r(i)
1 + 1/1=100% 1/14=7% 2 + 2/2=100% 2/14=14% 3 + 3/3=100% 3/14=21% 4 + 4/4=100% 4/14=29% 5 + 5/5=100% 5/14=36% 6 + 6/6=100% 6/14=43% 7 - 6/7=86% 6/14=43% 8 - 6/8=75% 6/14=43% 9 - 6/9=67% 6/14=43% 10 - 6/10=60% 6/14=43% 11 - 6/11=55% 6/14=43% 12 - 6/12=50% 6/14=43% 13 - 6/13=46% 6/14=43% 14 - 6/14=43% 6/14=43% 15 - 6/15=40% 6/14=43% 16 - 6/16=38% 6/14=43% 17 + 7/17=41% 7/14=50% 18 + 8/18=44% 8/14=57% 19 - 8/19=42% 8/14=57% 20 - 8/20=40% 8/14=57% 21 + 9/21=43% 9/14=64% 22 - 9/22=41% 9/14=64% 23 - 9/23=39% 9/14=64% 24 - 9/24=38% 9/14=64% 25 + 10/25=40% 10/14=71% 26 + 11/26=42% 11/14=79% 27 + 12/27=44% 12/14=86% 28 - 12/28=43% 12/14=86% 29 - 12/29=41% 12/14=86% 30 - 12/30=40% 12/14=86% 31 - 12/31=39% 12/14=86% 32 - 12/32=38% 12/14=86% 33 + 13/33=39% 13/14=93% 34 - 13/34=38% 13/14=93% 35 - 13/35=37% 13/14=93% 36 - 13/36=36% 13/14=93% 37 - 13/37=35% 13/14=93% 38 + 14/38=37% 14/14=100% 39 - 14/39=36% 14/14=100% 40 - 14/40=35% 14/14=100% 41 - 14/41=34% 14/14=100%
Na primeira coluna da Tabela 14 é apresentada a classificação dos 41 documentos
pertencentes à coleção do primeiro usuário. Na segunda coluna é apresentada a relevância
desses documentos, sendo usado o sinal de + para documentos relevantes e o sinal de – para
documentos irrelevantes. A terceira coluna mostra a precisão p(i) e na quarta coluna
apresenta-se o valor de recall r(i).
De acordo com a medida Precision-Recall Curve, a precisão média é definida pela
Equação 7, na qual p(i) representa a precisão do documento ordenado na posição i; Si indica a
107
soma das pontuações dos documentos recuperados até a posição 41, representada por i; e |Dq|
é o total de avaliação dos documentos obtidos (LIU, 2006).
H�i� � JK|LM| Equação 7 - Cálculo da Precisão
A classificação do retorno oferecido pelo motor de busca Google® para o primeiro
usuário apresentou uma precisão média de 67%. O segundo usuário obteve uma precisão
média de 39% nos resultados oferecidos pelo motor de busca. E o terceiro usuário obteve 69%
de precisão média nos resultados. É observada uma discrepância entre os resultados obtidos
pelo segundo usuário em comparação com os resultados obtidos pelo primeiro e terceiro
usuário. Como grande parte dos resultados apresentados para o segundo usuário é referente à
venda de automóveis ou peças de automóveis para a marca DKW por websites especializados
em venda, acreditamos que essa discrepância ocorra em virtude de utilização das técnicas de
SEO (Search Engine Optimization) por esses websites.
Essas precisões médias serão utilizadas como padrão de comparação com os
resultados obtidos com o uso da LSI, descrito na Seção 2.4.1, para o total de termos extraídos
e para um percentual desses termos, e pelo uso do modelo de usuário, descrito na Seção 4.1.3,
com a segunda aplicação da LSI.
5.3. Aplicando a LSI
Após determinar a relevância dos resultados oferecidos pelo motor de busca, foi
executada a LSI com o total de termos extraídos de cada documento para obter uma nova
ordenação nos documentos retornados. Nessa fase, foi aplicada a remoção de stopwords e
108
stemming como pré-processamento dos termos extraídos dos websites. Na primeira ordenação
sugerida pelo protótipo com o uso da LSI foi considerada a consulta escrita pelo primeiro
usuário para a busca da similaridade com os websites retornados pelo motor de busca. A
Figura 16 exibe o gráfico da ordenação sugerida pelo motor de busca e pelo protótipo com o
uso da LSI não adaptada.
Figura 16 – Ordenação Google e Protótipo considerando consulta do primeiro usuário
Ao analisar o gráfico apresentado na Figura 16 é possível observar um aumento do
número de documentos considerados relevantes pelo usuário nas primeiras páginas dos
resultados retornados. O cálculo da precisão média obtida pelo Google® foi de 67% e a
precisão média obtida pelo protótipo foi de 77%, o que confirma uma melhoria de 10%.
O segundo e terceiro usuário também obtiveram uma melhoria na precisão média
oferecida pelo protótipo como pode ser visto na Figura 17 e Figura 18.
Figura 17 - Ordenação Google e Protótipo considerando consulta do segundo usuário
0
20
40
60
80
100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
Gra
u d
e R
ele
vâ
nci
a
Ordenação
Protótipo
0
20
40
60
80
100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
Gra
u d
e R
ele
vâ
nci
a
Ordenação
Protótipo
109
Figura 18 - Ordenação Google e Protótipo considerando consulta do terceiro usuário
O segundo usuário obteve uma relevância de 91%, o que refere a uma melhoria de
52% comparada ao retorno oferecido pelo motor de busca. E o terceiro usuário obteve uma
relevância de 85%, que determina uma melhoria de 16% quando comparada ao retorno
oferecido pelo Google®. A Figura 19 apresenta a precisão média calculada a partir dos
resultados oferecidos pelo motor de busca e pelo protótipo para cada usuário.
Figura 19 - Gráfico da Comparação Precisão Média dos Retornos Oferecidos
Ao concluir essa etapa, é notória a melhoria na ordenação dos resultados com a
simples aplicação da LSI. Entretanto, sua execução em um ambiente web não é viável em
virtude do tempo de processamento necessário para concluir a reordenação, já comentado no
Capítulo II. Nessa simulação, foram considerados apenas os primeiros 41 websites retornados
para cada um dos três usuários e foi utilizado um computador com uma capacidade de
memória RAM de 2 Gb com processador Intel® Core™ Duo Processor T2300 (1.66 GHz, 667
MHz FSB, 2 Mb L2 cache). O tempo médio consumido para realizar todas as etapas de
0
20
40
60
80
100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
Gra
u d
e R
ele
vâ
nci
a
Ordenação
GoogleProtótipo
0
20
40
60
80
100
Primeiro Usuário Segundo Usuário Terceiro Usuário
Protótipo
110
ordenação dos três usuários foi de 41 minutos e 45 segundos. A Tabela 15 exibe o tempo
consumido por cada usuário.
Tabela 15- Tempo consumido para execução da LSI sem adaptação
Tempo
consumido
Primeiro Usuário 00:43:25
Segundo Usuário 00:47:37
Terceiro Usuário 00:34:13
A diferença no tempo de processamento consumido em cada re-ordenação apresentada
na Tabela 15 ocorre pela diversidade da dimensão das matrizes geradas para cada usuário. No
experimento realizado pelo primeiro usuário, a dimensão da matriz é de 41x5059. Para o
segundo usuário a dimensão da matriz gerada é de 41x5297. E para o terceiro usuário, a
matriz gerada tem dimensão de 41x3909. Essa é a razão que nos levou a adaptar a LSI. A
adaptação foi realizada por meio de um corte no número de termos extraídos de cada website.
Esse corte tem o objetivo de reduzir o tamanho da matriz gerada e, por conseqüência, otimizar
o processo de re-ordenação.
5.4. Aplicando a LSI em Um Percentual de Termos
Com o intuito de disponibilizar essa ferramenta para execução on-line, foi aplicado
nesse protótipo um critério de corte no número de termos extraídos em cada documento. O
critério de corte aplicado foi baseado na lei de Zipf (PAO, 1978; ZIPF, 1949) e no Princípio
de Pareto. Zipf nos diz que, nos textos em geral é possível notar que diversos termos são
utilizados poucas vezes nos documentos e que uma pequena, mas significativa, porção de
termos é utilizada em vários documentos.
Com base nessa observação, primeiramente, foram eliminadas as stopwords e, além
disso, foi aplicada uma linha de corte que visava reduzir o número de dimensões usada na
111
representação documento na matriz LSI. Essa linha de corte exclui os termos que possuem as
frequências menores na coleção de documentos em uma proporção predefinida. Para
identificar o melhor percentual de corte, i.e, o que levaria ao melhor desempenho em relação à
ordenação, foram testados cinco linhas de corte.
A Tabela 16 exibe a redução do número de termos e do número de células geradas na
matriz termo-documento para cada corte aplicado no experimento realizado pelo primeiro,
segundo e terceiro usuário, respectivamente. A primeira coluna indica a porcentagem do total
de termos que está sendo utilizada, na segunda coluna é exibido o número de termos que foi
utilizado e na terceira coluna o número de células geradas na matriz termo-documento.
Tabela 16 - Redução no total de termos
Primeiro Usuário Segundo Usuário Terceiro Usuário
Termos Células Termos Células Termos Células Total de Termos 5059 207419 5297 217177 3909 160269
80% 3414 139974 3675 150675 2637 108117 60% 2561 105001 2679 109839 1976 81016 40% 1707 69987 1797 73677 1268 51988 20% 854 35014 832 34112 623 25543 10% 427 17507 469 19229 297 12177
O primeiro corte aplicado foi na proporção de 20-80, ou seja, foram cortados 20% dos
termos utilizados e considerados os 80% restantes. A Figura 20 mostra o gráfico de
classificação da navegação obtida com esse corte para o primeiro usuário comparada ao
gráfico obtido pela classificação do Google.
112
Figura 20 - Classificação obtida pelo primeiro usuário utilizando 80% dos termos
Da Figura 20 podemos observar que, com o uso de somente 80% dos termos, a
maioria dos website com 100% de relevância ainda permanecem dentro das duas primeiras
páginas de resultados, o que é um bom indício de qualidade. Além disso, obteve-se a precisão
média da classificação de 90%, o que representa uma perda de somente 4% de precisão em
relação ao uso da LSI com todos os termos, mas num ganho de 23% em relação ao motor de
busca Google. O segundo usuário obteve uma precisão média da classificação de 80% e o
terceiro usuário de 83%. A média do ganho na classificação em relação ao motor de busca
para os três usuários, utilizando 80% dos termos de cada website é de 26%. A Tabela 17
apresenta um resumo da precisão média obtida pelo Google e pelo protótipo com a utilização
de todos os termos e com a utilização de 80% dos termos de cada website e o tempo de
execução obtido pelos três usuários para o corte de 20% dos termos.
Tabela 17 - Precisão Média e Tempo de Execução para o corte de 20% dos termos
Precisão Média Tempo de Execução
Google Todos os termos 80% dos termos 80% dos termos
Primeiro Usuário 67% 94% 90% 00:07:31
Segundo Usuário 39% 91% 80% 00:07:54
Terceiro Usuário 69% 85% 83% 00:05:42
O tempo médio consumido pelos três usuários na execução aplicando-se esse corte foi
de 7 minutos e 2 segundos, o que representa uma redução de 83,15% do tempo da LSI com
todos os termos. Apesar do tempo de execução ter diminuído e ainda ter redução no esforço
0
20
40
60
80
100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
Gra
u d
e R
ele
vâ
nci
a
Classificação
Protótipo
113
aplicado pelo usuário, esse tempo continua alto para o ambiente web, o que justifica a
avaliação de um corte maior.
O segundo corte aplicado utilizou 60% dos termos de cada website.A Figura 21
apresenta o gráfico de classificação obtido pelo primeiro usuário para esse corte comparando
também a classificação resultante do motor de busca.
Figura 21 - Classificação obtida pelo primeiro usuário utilizando 60% dos termos.
Na Figura 21 podemos observar que a maioria dos documentos relevantes ainda
continuam dentro das duas primeiras páginas. O ganho de desempenho médio obtido pelos
três usuários é de 24% ao comparar com a classificação oferecida pelo motor de busca e a
perda de apenas 2% comparando com a precisão alcançada com a utilização de 80% dos
termos. Para o primeiro usuário, a precisão média obtida foi de 89%, o que representa uma
perda de 5% em relação a LSI com todos os termos, um ganho de 22% em relação ao motor
de busca convencional e uma perda de apenas 1% quando comparada a utilização de 80% dos
termos. A Tabela 18 exibe a precisão média obtida para cada usuário na classificação dos
websites. Por outro lado, a média do tempo de execução para os três usuários reduziu para 02
minutos e 28 segundos, o que representa um ganho de desempenho de 94% em relação a LSI
pura. Entretanto, para a execução on-line, esse tempo ainda é alto.
0
20
40
60
80
100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
Gra
u d
e R
ele
vâ
nci
a
Ordenação
Protótipo
114
Tabela 18 - Precisão Média e Tempo de Execução para o corte de 40% dos termos
Precisão Média Tempo de Execução
Google Todos os termos 60% dos termos 60% dos termos
Primeiro Usuário 67% 94% 89% 00:02:35
Segundo Usuário 39% 91% 70% 00:02:52
Terce Ito
Usuário 69% 85% 87%
00:01:57
Como a perda de qualidade foi baixa, buscou-se reduzir ainda mais o tempo de
execução, ampliando o corte para 60% dos termos, ou seja, foram considerados apenas 40%
dos termos de cada documento. A Figura 22 mostra o gráfico de classificação desse corte
também comparado a classificação obtida por meio do motor de busca Google® para o
primeiro usuário.
Figura 22 - Classificação obtida pelo primeiro usuário utilizando 40% dos termos.
Podemos observar na Figura 22, que a característica de trazer a maioria dos
documentos relevantes para as duas primeiras páginas é mantida. Neste caso, a precisão média
da classificação do primeiro usuário foi de 88%, resultando em uma perda de 5% em relação a
LSI com todos os termos e de apenas 1% comparada a aplicação da técnica em 60% dos
termos, mas ainda temos um ganho de 21% em relação ao motor de busca convencional. O
tempo de execução passou para 1 minuto e 35 segundos, representando um ganho é de 96,5%
em relação a LSI pura, porém para execução on-line é interessante que se diminua ainda mais
esse tempo. A Tabela 19 exibe a precisão média e o tempo de execução obtida pelos três
usuários para o corte de 60% dos termos.
0
20
40
60
80
100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
Gra
u d
e R
ele
vâ
nci
a
Classificação
Protótipo
115
Tabela 19- Precisão Média e Tempo de Execução para o corte de 60% dos termos
Precisão Média Tempo de Execução
Google Todos os termos 40% dos termos 40% dos termos
Primeiro Usuário 67% 94% 88% 00:01:35
Segundo Usuário 39% 91% 75% 00:01:40
Terceiro Usuário 69% 85% 82% 00:01:03
Deste modo, como a qualidade se manteve, foi ampliado novamente o corte para 80%
dos termos de cada documento, ou seja, foram considerados apenas 20% desses termos. A
Figura 23 apresenta o gráfico da classificação sugerida pelo protótipo para o primeiro usuário,
utilizando esses 20% de termos, comparada a classificação sugerida pelo motor de busca
Google®.
Figura 23- Classificação obtida pelo primeiro usuário utilizando 20% dos termos.
Ao analisar o gráfico da Figura 23, ainda observa-se a característica da manutenção
dos documentos de relevância nas duas primeiras páginas dos resultados. A precisão média
obtida foi de 87%, uma perda de somente 7% em relação a LSI com todos os termos e de 1%
em relação a aplicação com 40% dos termos, mas ainda superior em 20% a classificação
original oferecida pelo motor de busca convencional. Neste caso, o tempo de processamento
foi de 13 segundos, o que representa um ganho de 99,4% em relação a LSI pura, o qual já se
encontra dentro da faixa de valor aceitável para o uso online. Essa mesma característica foi
observada para o segundo e terceiro usuário. A Tabela 20 exibe a precisão média e o tempo de
execução obtida por cada usuário para a utilização de apenas 20% dos termos de cada website.
0
20
40
60
80
100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
Gra
u d
e R
ele
vâ
nci
a
Classificação
Protótipo
116
Tabela 20 - Precisão Média e Tempo de Execução para o corte de 80% dos termos
Precisão Média Tempo de Execução
Google Todos os termos 20% dos termos 20% dos termos
Primeiro Usuário 67% 94% 87% 00:00:13
Segundo Usuário 39% 91% 75% 00:00:15
Terceiro Usuário 69% 85% 82% 00:00:09
Como um último teste, foram considerados apenas 10% dos termos extraídos de cada
documento, o que resultou em um total de 427 termos para o primeiro usuário, 469 termos
para o segundo usuário e 297 termos para o terceiro usuário. Com esse baixo número de
termos, o tempo de execução para essa simulação foi o melhor obtido, tendo sido de apenas 9
segundos para o primeiro usuário, 11 segundos para o segundo usuário e 8 segundos para o
terceiro usuário, porém a reordenação resultante não apresentou uma boa classificação,
conforme pode ser visto na Figura 24, que exibe a classificação obtida pelo primeiro usuário.
A precisão média nesta caso é de 32% para o primeiro usuário, 30% para o segundo usuário e
53% para o terceiro usuário, todas muito inferior a precisão média alcançada pelo motor de
busca convencional. Além disso, pode-se observar que a característica de manter os websites
relevantes nas duas primeiras páginas é totalmente perdida. Este fato indica a existência de
um possível ponto crítico na relação do número de termos empregados na matriz termo-
documento com a precisão da reordenação para a técnica de LSI.
117
Figura 24 - Classificação obtida pelo primeiro usuário utilizando 10% dos termos.
Os resultados acima mostram que os cortes aplicados em 20%, 40%, 60% e 80%
apresentam uma precisão média, superior à precisão oferecida pelo motor de busca
convencional. Além disso, a perda na precisão da reordenação em relação à LSI com todos os
termos ficou abaixo dos 10% com um ganho de desempenho em torno de 90% . Esses
resultados são bastante satisfatórios e demonstram que a proposta de adaptação da LSI ao
ambiente online feita neste trabalho é válida. A Tabela 21 resume o tempo de processamento
(TP) e a precisão média (PM) encontradas para cada corte.
Tabela 21 - Tempo de processamento X Precisão Média
Primeiro Usuário
Segundo Usuário
Terceiro Usuário
Média entre os Usuários
PM TP PM TP PM TP PM TP
Motor de Busca
67%
39%
69%
58%
Protótipo 94% 00:43:25 91% 00:47:37 85% 00:34:13 90% 00:41:45
80% dos termos
90% 00:07:31 80% 00:07:54 83% 00:05:42 84% 00:07:02
60% dos termos
89% 00:02:35 70% 00:02:52 87% 00:01:57 82% 00:02:28
40% dos termos
88% 00:01:35 75% 00:01:40 82% 00:01:03 82% 00:01:26
20% dos termos
87% 00:00:13 75% 00:00:15 82% 00:00:09 81% 00:00:12
10% dos termos
32% 00:00:09 30% 00:00:11 53% 00:00:07 38% 00:00:09
A média das precisões médias obtidas nos testes, ignorando o segundo usuário devido
ao valor discrepante que ele apresentou, é de 68% do retorno oferecido pelo motor de busca
0
20
40
60
80
100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
Gra
u d
e R
ele
vâ
nci
a
Classificação
Protótipo
118
convencional. Ao se acrescentar o segundo usuário, este valor cai em 10%. Em relação ao
tempo médio de processamento, foi observado uma redução a cada corte aplicado. A Figura
25 mostra o gráfico do tempo de processamento para cada corte aplicado.
Figura 25 – Tempo médio de processamento e % de termos utilizados
A Figura 26 exibe a precisão média encontrada em cada percentual de termos para os
três usuários. É notória a similaridade entre as linhas da evolução da precisão média obtida
por cada usuário a cada corte aplicado.
Figura 26 - Precisão Média e % de termos utilizados
A Figura 27 exibe o valor médio da precisão média para todos os usuários encontrada
a cada percentual de termos utilizados pelos três usuários em comparação com o tempo de
processamento obtido a cada corte.
00:00:00
00:07:12
00:14:24
00:21:36
00:28:48
00:36:00
00:43:12
100% 80% 60% 40% 20% 10%
Te
mp
o d
e
Pro
cess
am
en
to
% de termos utilizados
0
20
40
60
80
100
Google 100% 80% 60% 40% 20% 10%
Pre
cisã
o M
éd
ia
% de termos utilizado
Primeiro Usuário
Segundo Usuário
Terceiro Usuário
119
Figura 27 - Precisão Média e tempo de processamento.
Em posse desses dados, podemos concluir que o uso de somente 20% dos termos é o
suficiente para melhorar a classificação dos websites oferecidos inicialmente pelo motor de
busca, consumindo um tempo de processamento viável para ambiente on-line.
5.5. Aplicando o Modelo de Usuário
Na segunda fase deste experimento foi considerada a criação e utilização de um
modelo de usuário implícito obtido a partir da navegação do usuário, conforme explicado no
Capítulo V. Deste modo, enquanto a navegação do usuário acontece são identificados os
websites relevantes ao seu interesse imediato. A identificação ocorre por meio das ações do
mouse que consideram os links visitados ou adicionados no favoritos do usuário. Os websites
considerados relevantes são adicionados ao modelo de usuário e é oferecida uma nova
ordenação baseada no modelo atualizado.
A Figura 28 exibe o gráfico da ordenação sugerida pelo motor de busca e pelo
protótipo, que considera a personalização pelo uso do modelo de usuário construído a partir
da navegação em apenas um documento que possui 100% de relevância.
0
20
40
60
80
100
0102030405060708090100% de termos utilizado
Tempo de
Processamento
Precisão Média
120
Figura 28 – Ordenação Google e Protótipo considerando a navegação do primeirousuário.
Ao analisar o gráfico exibido na Figura 28, pode-se observar que os documentos
relevantes foram trazidos para o início da lista de resultados, ficando somente um documento
com relevância abaixo de 100% na primeira página. Este resultado é bastante satisfatório, o
que pode ser confirmado por meio do cálculo da precisão média obtida pela Equação 7, cujo
valor ficou em 94%. Este valor representa uma melhoria de 27% em relação ao resultado
oferecido pelo motor de busca Google®.
Para demonstrar o uso do modelo de usuário na ordenação sugerida pelo protótipo
foram realizadas simulações com a LSI, fazendo o uso de 20% dos termos. Essas simulações
consideraram a navegação dos usuários somente em websites totalmente relevantes. Em
seguida foram consideradas as navegações em websites que mesclaram as relevâncias totais e
parciais. E por fim, foi considerada a navegação que incluíam websites irrelevantes. A seguir
é apresentado o resultado de cada simulação realizada.
A primeira simulação foi realizada considerando a navegação do primeiro usuário em
nove websites totalmente relevantes. Os gráficos exibidos nas Figura 29 a Figura 33 mostram
a alteração da ordenação sugerida pelo protótipo conforme o primeiro usuário navegou nos
resultados oferecidos. Cada gráfico foi gerado após a navegação no primeiro, terceiro, quinto,
sétimo e nono websites, respectivamente.
0
20
40
60
80
100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
Gra
u d
e R
ele
vâ
nci
a
Ordenação
Protótipo
121
Figura 29 - Classificação obtida a partir de 1 website navegado
Figura 30 - Classificação obtida a partir de 3 website navegado
Figura 31 - Classificação obtida a partir de 5 website navegado
Figura 32 - Classificação obtida a partir de 7 website navegado
Figura 33 - Classificação obtida a partir de 9
website navegado
Observando este conjunto de figuras (Figura 29 a Figura 33), é possível notar que a
cada navegação o protótipo oferece ordenações diferentes, a ordenação oferecida pelo
protótipo aproxima os websites que possuem contexto similar entre eles e ao documento
criado como modelo de usuário. Isto pode ser observado atentando-se para o fato de que, na
sequência de gráficos apresentados, os websites com relevância de 100% são trazidos para as
primeiras posições na classificação conforme aumenta o número de websites relevantes
navegados pelo usuário.
0
20
40
60
80
100
1 5 9 13 17 21 25 29 33 37 41Gra
u d
e R
ele
vâ
nci
a
Classificação
0
20
40
60
80
100
1 5 9 13 17 21 25 29 33 37 41
Gra
u d
e R
ele
vâ
nci
a
Classificação
0
20
40
60
80
100
1 4 7 1013161922252831343740
Gra
u d
e R
ele
vâ
nci
a
Classificação
0
20
40
60
80
100
1 4 7 1013161922252831343740
Gra
u d
e R
ele
vâ
nci
a
Classificação
0
20
40
60
80
100
1 4 7 1013161922252831343740
Gra
u d
e R
ele
vâ
nci
a
Classificação
122
Ainda com o intuito de avaliar a melhoria na classificação sugerida pelo protótipo
fazendo o uso do modelo de usuário, foi realizado o cálculo da precisão média obtida a partir
de cada classificação. Na primeira ordenação sugerida pelo protótipo, que considerou apenas
um website relevante, a precisão média obtida foi de 87%, e a cada website navegado pelo
usuário, observou-se uma alteração nessa precisão, o que pode ser visto na Figura 34.
Figura 34 - Precisão média considerando a navegação do primeiro usuário
Analisando o gráfico apresentado na Figura 34, nota-se uma evolução da precisão
média a cada website navegado, atingindo o valor de 97% ao considerar o nono website
totalmente relevante, o que representa um ganho de 10% em relação ao processo sem o
modelo de usuário.
A segunda simulação realizada ocorreu na consulta feita pelo segundo usuário. Nessa
simulação foi considerada a navegação em cinco websites relevantes. Assim como na
primeira simulação, também ocorreu a aproximação dos websites que possuem contextos
similares ao documento modelo de usuário. Isso pode ser visto na Figura 35, que apresenta a
evolução da precisão média obtida pelo segundo usuário em cada website relevante navegado.
0%
20%
40%
60%
80%
100%
Motor
de
Busca
1 Doc 2 Doc 3 Doc 4 Doc 5 Doc 6 Doc 7 Doc 8 Doc 9Doc
Pre
cisã
o M
éd
ia
Documentos Navegados
123
Figura 35 - Precisão média considerando a navegação do segundo usuário
A Figura 35 mostra que a precisão média calculada a partir da ordenação que
considerou somente o primeiro website relevante navegado foi de 75%. Ao término da
navegação nos cincos websites relevantes a precisão média obtida foi de 94%. Essa evolução
representa um ganho de 19% de melhoria na classificação ao término dessas navegações.
A navegação realizada pelo terceiro usuário também ocorreu em cinco websites
totalmente relevantes. Assim como nas simulações anteriores, também ocorreu uma maior
aproximação dos websites similares ao documento modelo de usuário construído a cada
navegação realizada. A Figura 36 mostra a evolução da precisão média obtida a cada
ordenação. Nesse caso, a precisão média iniciou em 82% e concluiu em 92%. Isso resulta em
um ganho de 10% de melhoria na classificação.
0
20
40
60
80
100
1 doc 2 doc 3 doc 4 doc 5 doc
Pre
cisã
o M
éd
ia
Websites relevantes navegados
124
Figura 36 - Precisão média considerando a navegação do terceiro usuário
Com essas simulações é possível demonstrar que o uso do modelo de usuário pode
melhorar a classificação dos resultados oferecidos pelos motores de busca. No entanto, é
importante avaliar qual é a sensibilidade do modelo de usuário à escolhas ou interpretações
incorretas por parte do protótipo, ou seja, as escolhas de websites não relevantes, ou de baixa
relevância, durante o uso do protótipo proposto. Assim, em uma nova simulação, foi
consideradas a navegação do primeiro usuário em 3 documentos totalmente relevantes, 3
documentos parcialmente relevantes e 3 documentos totalmente relevantes, nesta sequência.
A Figura 37 exibe o gráfico da precisão média obtida por meio dessa navegação.
Figura 37 - Precisão média considerando websites parcialmente relevantes
No gráfico da Figura 37 é possível notar uma sensibilidade alta do protótipo, pois nos
websites intermediários, que possuem relevância parcial, houve uma queda no valor da
76
78
80
82
84
86
88
90
92
94
1 doc 2 doc 3 doc 4 doc 5 doc
Pre
cisã
o M
éd
ia
Websites relevantes navegados
0%
20%
40%
60%
80%
100%
Motor
de
Busca
1 Doc 2 Doc 3 Doc 4 Doc 5 Doc 6 Doc 7 Doc 8 Doc 9Doc
Gra
u d
e R
ele
vâ
nci
a
Websites navegados
125
precisão média. Ao término da visita aos nove websites, obteve-se uma precisão de 89%, que
é 8% inferior a precisão obtida na navegação em websites totalmente relevantes.
Em seguida, realizou-se uma simulação na qual a navegação do primeiro usuário
ocorreu em 3 documentos relevantes, seguidos por 3 documentos de relevância parcial e 3
documentos irrelevantes. A Figura 38 mostra o gráfico da precisão média obtida a cada
navegação realizada.
Figura 38 - Precisão média considerando websites irrelevantes
Com esse gráfico é possível notar a alta sensibilidade do protótipo a websites
irrelevantes, por meio da diminuição da precisão média a cada documento com relevância
parcial ou irrelevante navegado. A precisão média obtida ao término da navegação nos nove
websites foi de 46%, muito inferior à navegação em websites relevantes.
A próxima simulação foi realizada pelo primeiro usuário fazendo o uso da LSI com o
total de termos extraídos, ou seja, considerando todos os termos extraídos em cada website.
Nessa simulação foram efetuados quatro experimentos. No primeiro experimento, foi
realizada a navegação em um website relevante e um com relevância parcial. No segundo
experimento, foram considerados um website relevante e um irrelevante. No terceiro, a
navegação foi realizada em um website irrelevante e três relevantes e no quarto experimento,
a navegação se deu em três websites relevantes e um irrelevante. A Tabela 22 exibe um
0%
20%
40%
60%
80%
100%
Motor
de
Busca
1 Doc 2 Doc 3 Doc 4 Doc 5 Doc 6 Doc 7 Doc 8 Doc 9Doc
Gra
u d
e R
ele
vâ
nci
a
Websites navegados
126
resumo da precisão média obtida a cada ordenação apresentada pelo protótipo considerando
cada website navegado.
Tabela 22 - Precisão média
Precisão Média
Relevância dos Websites navegados
1 Doc 2 Doc 3 Doc 4 Doc
1 100% e 1 50% 94% 40%
1 100% e 1 0% 94% 40%
1 0% e 3 100% 51% 82% 92% 94%
3 100% e 1 0% 94% 94% 94% 82%
Ao analisar a Tabela 22 é possível notar a redução da precisão média quando a
navegação ocorreu em websites com relevância parcial ou irrelevantes. No primeiro e no
segundo experimento, observa-se uma redução na precisão média de 54% e a precisão média
obtida ao término desse segundo experimento é 27% inferior à precisão média obtida pelo
motor de busca. No terceiro experimento a precisão média inicial foi 16% inferior que a
precisão média obtida pelo Google®, devido à da navegação inicial ter ocorrido em um
website irrelevante. Ao considerar três websites relevantes, a precisão média foi aumentando a
cada website navegado, chegando a 94%. No quarto experimento, a precisão média reduziu
em 12% ao navegar em um website irrelevante. Esses experimentos demonstram a alta
sensibilidade do protótipo, mesmo utilizando a LSI pura.
Com essas análises evidencia-se que a construção do modelo de usuário pode auxiliar
na classificação dos retornos oferecidos pelo motor de busca convencional melhorando
significativamente essa classificação. Entretanto, a inclusão de documentos não relevantes ou
parcialmente relevantes no modelo de usuário pode interferir negativamente na classificação.
Neste capítulo foram apresentados os experimentos e as análises realizadas para
demonstrar a viabilidade do uso da LSI na personalização dos retornos oferecidos pelos
motores de busca atuais, considerando a navegação do usuário como um meio para obter o
feedback implícito e identificar seu interesse em uma determinada consulta. No próximo
127
capítulo serão expostas as considerações finais, assim como as conclusões obtidas, limitações
da simulação apresentada e direcionamentos para pesquisas futuras.
129
Capítulo VI
CONCLUSÃO
desenvolvimento deste trabalho vem ao encontro das discussões
expostas por BRUSILOVSKY (2009), HARDTKE (2009), MANNING
(2008), [B] MICARELLI (2007), entre outros, referentes à necessidade
de diminuir o esforço aplicado na tarefa de localização de conteúdos relevantes na Web,
adaptando os resultados obtidos por meio dos motores de busca de acordo com o interesse do
usuário.
Adaptações propostas na literatura sugerem que as ferramentas de busca possuam
habilidades para personalizar os resultados obtidos pelos dos motores de busca por meio da
utilização de processos simplificados. Esses processos devem possuir a capacidade de
aumentar a precisão dos motores de busca convencionais, proporcionando a redução dos
esforços empregados e do tempo que os usuários gastam para filtrar os resultados obtidos.
Deste modo, a hipótese considerada no desenvolvimento deste trabalho é de que os
resultados oferecidos pelos motores de busca nem sempre estão de acordo com o interesse dos
O
130
usuários. Isso se deve ao fato de que a escrita da string de consulta oferecida pelo usuário, por
muitas vezes, não considera o uso de caracteres especiais como a adição, subtração ou aspas e
nem a existência dos fenômenos da sinonímia e da polissemia. A não utilização desses
recursos adicionais interfere diretamente nos resultados oferecidos pelos motores de busca,
proporcionando o retorno de websites irrelevantes e resultando em uma ordenação nem
sempre satisfatória.
Para confirmar a deficiência do retorno dos motores de busca convencionais atuais, foi
apresentado no Capítulo II um experimento desenvolvido com vinte usuários, no qual a média
de termos utilizados foi de 3,25 por usuário, sendo que apenas três usuários fizeram uso dos
recursos adicionais. Ao avaliar os websites retornados para essas consultas, observou-se que
os usuários que utilizaram os recursos adicionais conseguiram um retorno médio de 5,9
documentos relevantes, enquanto que os usuários que não utilizaram estes recursos
conseguiram um retorno médio de 4,9 documentos em cada 30 documentos retornados. Outro
fato observado nesse experimento foi que o motor de busca não aproximou os documentos
que apresentaram contexto similar, ficando a cargo do usuário a identificação dos documentos
que lhes eram interessantes.
Considerando estas deficiências dos motores de busca atuais e a hipótese sugerida por
MANNING (2008) que diz que a técnica de LSI melhora a classificação dos resultados
obtidos nas consultas Web, foi proposto neste trabalho uma extensão da técnica de LSI para
uso on-line. Diferentemente dos demais trabalhos citados por [B] MICARELLI (2008),
BRUSILOVSKY (2008, 2009) e MANNING (2008) em que a LSI atua nos mecanismos de
busca apenas no momento da indexação, nossa proposta aplica esta técnica nos websites
retornados pelos motores de busca e apresenta uma nova classificação baseada na
similaridade identificada pela LSI.
131
Com o uso da LSI é possível tratar os problemas da sinonímia e da polissemia,
presentes nos motores de busca que utilizam técnicas apoiadas no modelo vetorial,
amenizando as inadequações existentes entre o espaço da consulta e o espaço dos websites
retornados. Entretanto, a aplicação da LSI em ambiente on-line apresenta um fator indesejável
que diz respeito à grande dimensão da matriz resultante, consumindo um tempo extremamente
alto de execução, mesmo para pequenas coleções de websites. Para viabilizar a utilização
desta técnica de forma on-line, foi proposta uma forma de reduzir o número de termos
extraídos em cada documento, o que proporciona a diminuição da dimensão da matriz termo-
documento resultante do conjunto de vetores da coleção de websites. Para tanto, foi usado a
Lei de Zipf e o Princípio de Pareto, definindo um percentual de corte nos termos de indexação
em função da frequência dos termos no texto. Deste modo, além da eliminação de stopwords
na fase de pré-processamento, fez-se um segundo corte no número de termos a serem usados
na matriz LSI.
A adaptação da ordenação oferecida pelo motor de busca ocorre de acordo com o
interesse do usuário que é identificado de forma não intrusiva por meio do feedback implícito
obtido durante sua navegação, respeitando as especificidades do ambiente em que ele está
habituado a trabalhar. A identificação do interesse ocorre por meio da construção de um
modelo de usuário, que apresenta uma representação única para cada consulta realizada. Esse
modelo é composto por um documento modelo criado a partir da navegação nos resultados
oferecidos pelos motores de busca convencionais, sendo consideradas as ações do mouse e/ou
do teclado para determinar o interesse do usuário em cada website. Após cada atualização do
modelo de usuário, os resultados são re-ordenados por meio do método de visualização
personalizada, que faz uso de agentes de software capazes de localizar e apresentar links
interessantes ao contexto de interesse do usuário. A técnica proposta para a implementação
132
desse método é a ordenação, ou classificação, adaptativa dos links retornados pelo motor de
busca.
Após a prototipação da proposta, foram realizadas simulações com três usuários,
comparando os resultados obtidos pelo protótipo em relação aos resultados oferecidos pelo
motor de busca avaliado. Na análise dessas simulações, descrita no Capítulo V, pode-se
observar uma melhoria média de 31,7% da precisão média obtida a partir da classificação
oferecida pelo motor de busca convencional em comparação com a classificação oferecida
pelo protótipo fazendo o uso da LSI pura. Apesar de ser uma melhoria significativa, o tempo
médio consumido nas re-classificações, considerando todos os termos extraídos de cada
documento, foi de 41 minutos e 45 segundos, o que inviabiliza a utilização desta técnica na
sua forma tradicional.
Num segundo momento, foram aplicados cinco cortes no número de termos extraídos,
sempre considerando a Lei de Zipf. A cada corte realizado foi observada a redução do tempo
consumido no processo de re-ordenação, chegando a obter uma redução de 99,40% do tempo
total, quando aplicado um corte na proporção de 20-80 (foram considerados apenas 20% dos
termos extraídos em cada documento), ficando o tempo médio em torno de 12 segundos, o
que, conseqüentemente, torna o tempo de processamento aceitável. É importante salientar que
este tempo é relativo ao número de documentos disponíveis na coleção. Porém, é considerada
neste trabalho, a afirmação de MANNING (2008), que diz que normalmente um usuário não
ultrapassa a quinta página de um buscador. Além disso, com este corte, houve uma melhoria
média de 23% na precisão média da ordenação dos resultados, considerando-se os três
usuários, o que é uma perda pequena se comparada ao ganho de tempo.
Deste modo, a LSI aplicada a 20% dos termos totais de cada documento mostrou-se
um componente viável em sistemas de recuperação de informação na Web. As vantagens que
ela apresenta incluem a redução de ruídos, pela capacidade de tratar problemas como a
133
sinonímia e a polissemia e, conseqüentemente, a possibilidade de identificar estruturas
semânticas similares entre os documentos, proporcionando, assim, uma melhor ordenação dos
documentos retornados nas consultas.
Um dos pontos que ainda deve ser melhorado é a otimização do processo executado na
LSI, com o objetivo de reduzir ainda mais o tempo de processamento desta técnica,
possibilitando trabalhar com uma coleção maior de documentos. Entre os itens a serem
avaliados para esta otimização, estão as estruturas de dados e a linguagem de programação
utilizadas e, ainda, a redução da complexidade do algoritmo empregado na implementação.
Além disso, também é interessante avaliar outras técnicas para realizar a inclusão de novos
documentos em uma coleção já existente, pois a técnica de folding-in utilizada pode
apresentar variações nos resultados quando o número de termos e/ou documentos for muito
grande.
Também foram realizadas algumas simulações para validar a criação e a utilização do
modelo de usuário implícito obtido a partir da navegação do usuário. Essas simulações foram
compostas por experimentos que realizaram a navegação somente em websites relevantes e
experimentos que mesclaram a navegação em websites relevantes, com relevância parcial e
irrelevantes. Nos experimentos que consideraram apenas websites relevantes, a média da
precisão média obtida pelos 3 usuários durante a navegação em 5 websites foi 13% superior à
média obtida a partir da navegação de apenas o primeiro website relevante. Essas simulações
demonstraram que o uso do modelo de usuário pode melhorar ainda mais a classificação dos
resultados oferecidos pelos motores de busca convencionais.
Nos experimentos que consideraram os websites relevantes, com relevância parcial e
irrelevantes, notou-se uma queda na precisão média obtida quando é considerado um website
de relevância parcial ou irrelevante. A variação da queda da precisão média obtida nesses
experimentos ocorre de acordo com o número de websites irrelevantes ou de relevância
134
parcial dos websites navegados. Esse fato mostra que o modelo de usuário construído de
forma implícita a partir da matriz LSI é sensível as escolhas de documentos com baixa
relevância ou a mudança de interesse do usuário. Além disso, o fato de que nesta técnica os
documentos são identificados somente como relevantes ou irrelevantes, não sendo possível
inferir uma relevância parcial ou marcar a identificação errônea de interesse provocado por
algum fator externo, também traz problemas a construção do modelo de usuário.
Para amenizar os problemas relacionados ao modelo de usuário, poderão ser
desenvolvidos trabalhos futuros que melhore a percepção de interesse do usuário fazendo uso
do feedback implícito. Também poderá ser adicionado ao protótipo técnicas de obtenção de
interesse do usuário de forma explícita, a fim de proporcionar a identificação de interesses
parciais, nos quais poderiam ser atribuídos pesos menores aos termos extraídos dos
documentos identificados como parciais. Ainda com a identificação explícita, também poderá
ser tratada a mudança de interesse, quando isto ocorrer.
Com a constatação da viabilidade do uso da LSI aplicada a 20% do total de termos
extraído em cada documento e após as melhorias necessárias na construção de um modelo de
usuário por meio do feedback implícito, temos as indicações necessárias para o
desenvolvimento de um sistema, no formato de plug-in que pode ser adicionado a
navegadores Web. Com o desenvolvimento deste plug-in, será possível realizar análises sobre
dados obtidos com usuários reais. Desde modo, surge a possibilidade do desenvolvimento de
novas aplicações, que tragam consigo contribuições de diversas áreas como a interação
humano-computador e a inteligência artificial.
Ao longo deste trabalho foi possível observar que a re-ordenação oferecida pelo uso da
técnica de LSI em um percentual de termos extraídos de cada documento e da construção do
modelo de usuário reduz o tempo consumido pelo usuário na busca de informações
relevantes. Isto, certamente tem reflexos positivos na usabilidade dos motores de busca
135
baseados no modelo vetorial, pois os usuários encontrarão resultados relevantes com maior
facilidade e, portanto, a produtividade deles também poderá aumentar.
137
REFERÊNCIAS
ALAG, S.Collective Intelligence in Action. Manning Publications Co.. 2008
ASNICAR, F. A.; TASSO, C.. ifWeb: a prototype of user model-based intelligent agent for document filtering and navigation in the wold wide web. In: Proceedings of Workshop Adaptive Systems and User Modeling on the Word Wide Web (UM97), Sardinia, Italy. 1997. P. 3-12.
BAEZA-YATES, R.; RIBEIRO-NETO, B. Modern Information Retrieval. Addison Wesley-Longman, 1st Ed., 1999.
BELKIN, N. J.; CROFT, W. B. Information Filtering and Information Retrieval: two sides of the same coin? Communications of the ACM, New York, v.35, n.12, p. 29, Dec. 1992.
BERRY, M. W.; DUMAIS, S. T.; SHIPPY, A.T. A Case Study of Latent Semantic Indexing. Technical Report. UMI Order Number: UT-CS-95-271., University of Tennessee, Knoxville, TN, 1995.
BILLSUS, D.; PAZZANI, M. J. Adaptive News Access. In The Adaptive Web. Ed. Springer-Verlag. Alemanha. Maio, 2007. p.551-570.
BRA, P. D. Adaptive Hypermedia on the Web: methods, techniques and applications. In: AACE WebNet Conference. Orlando. 1998. P. 220-225. Disponível em <http://wwwis.win.tue.nl/~debra/public.html/>. Acesso em 24/06/2009.
BRUSILOVSKY, P. Adaptive hypermedia. User Modeling and User Adapted Interaction, Ten Year Anniversary Issue (Alfred Kobsa, ed.) 11 (1/2), 2001. pg. 87-110.
BRUSILOVSKY, P.; TASSO, C. Preface to special issue on user Modeling for Web information retrieval. User Modeling and User Adapted Interaction, 14, 2-3 2004, pg.147-157.
BRUSILOVSKY, P.; HE, D.; AHN, J.-W.; GRADY, J.; FARZAN, R.; PENG, Y.; YANG, Y.; ROGATI, M. An evaluation of adaptive filtering in the context of realistic task-based information exploration.Information Processing and Management 44 (2), 2008. pg. 511-533
BRUSILOVSKY, P.; AHN, J.. Adaptive Visualization of Search Results: Bringing User Models to Visual Analytics. Information Visualization 8 (3), 2009. 167-179.
BRYNJOLFSSON, Erik; HU, Yu; SIMESTE, Duncan. Goodbye Pareto Principle, Hello Long Tail: The Effect of Search Costs on the Concentration of Product Sales. SSRN. 2007. Disponível em <http://ssrn.com/abstract=953587>. Acesso em 06/01/2010.
BUGAY, E. L. Hipermídia Adaptativa: O modelo AHAM-MI. Ed. Visual Books. Florianópolis, 2008.
138
BULTERMAN, D. C. A. User-centered abstraction for adaptive hypermidia presentations. In: ACM Internactional Conference on Multimidia, 6., 1998, Bristol. Procedings... New York: ACM Press, 1998. 466p. p.247-256.
CALADO, P. P.; BAEZA-YATES, R. An Information Retrieval Approach for Approximate Queries. IEEE Transactions on Knowledge and Data Engineering (TKDE), 2003, 15(1), pages 236-239. Disponível em <http://homepages.dcc.ufmg.br/ ~berthier/books_journal_papers/ tkde_2003.pdf>. Acessado em 12/09/2008.
CARDOSO, N.P.C. Recuperação de Informação. UFLA – Universidade Federal de Lavras. Infocomp Revista de Computação da Ufla, Lavras - MG, v. 1, p. 33-38, 2000.Disponível em http://www.dcc.ufla.br/infocomp/artigos/v2.1/olinda.pdf. Acesso em 09/07/2008.
CINI, A. Avaliação das Condições de Adaptatividade ao Usuário de Apresentações Hipermídia. Dissertação de Mestrado em Ciência da Computação. Universidade Federal do Rio Grande do Sul. Porto Alegre, 2002.
CLAYPOOL, M.; BROWN, D.; LE, P. WASEDA, M. Inferring User Interest. In IEEE Internet Computer. 2000. 5 (6) Pg. 32-39.
CROFT, W. B. Knowledge-based and statistical approaches to text retrieval. IEEE Expert 8, 1993. p. 8–12.
CROFT, W. B.; METZLER, D.; STROHMAN, T. Search Engines: Information Retrieval in Practice. Ed. Pearson Higher Education. 2009
DEERWESTER, S.; DUMAIS, S. T.; HARSHMAN, R. Indexing by Latent Semantic Analysis. Journal of the Society for Information Science, 41(6), 391-407. Bell Communications Research 435. Morristown, NJ. 1996.
DELICATO, F. C. FENIX – Sistema de Filtragem Personalizada de Informações para Web. Dissertação de Mestrado em Ciências em Informática. Universidade Federal do Rio de Janeiro. Rio de Janeiro. 2000.
DIEBERGER, A.; DOURISH, P.; HÖÖK, K.;RESNICK, P.; WEXELBLAT, A..Social Navigation: Techniques for Building more Usable System. ACM 7(6). 2000, p. 36-45.
DUMAIS, S. Enhancing Performance in Latent Semantic Indexing. Behavior Research Methods, Instruments and Computers, 23 , no. 2, 1999. P. 229-236.
ELMASRI, R; Sistemas de Banco de Dados; Addison Wesley, 2005.
FURNAS, G. W.; LANDAUER, T. K.; GOMEZ, L. M.; DUMAIS, S. T.. The Vocabulary Problem in Human-System Communication. Commum. ACM 30(11) (1987), p. 964-971.
GARFIELD, E. A Tribute To Calvin N. Mooers, A Pioneer Of Information Retrieval. The Scientist, Vol:11, #6, p.9, March 17, 1977. Disponível em <http://www.garfield.library.upenn. edu/commentaries/tsv11(06)p09y19970317.pdf>. Acesso em 12/09/2008.
GOECKS, J.; SHAVLIK J.. Automatically Labeling Web Pages Based on Normal User Actions. Proceedings of IJCAI-99 Workshop on Machine Learning for Information Filtering. Stockholm, Sweden: Internet Site: http://www.cs.wisc.edu/~shavlik /abstracts/goecks_IJCAI_ML_IF_workshop99.pdf.abstract.html. Acesso em 05/01/2010.
139
GOOGLE. Google History. Documentação da Ferramenta. Disponível em http://www.google.com/support/accounts/bin/ answer.py?answer=54068&topic=14149. Acesso em 11/07/2008.
GOOGLE. Google Desktop. Documentação da Ferramenta. Disponível em http://desktop.google.com/pt/BR/features.html. Acesso em 11/07/2008.
HARDTKE, D.; WERTHEIM, M; CRAMER, M. Demonstration of Improved Search Result Relevancy Using Real-Time Implicit Relevance Feedback. SIGIR 2009 Workshop on Understanding the User – Logging and interpreting user interactions in information search and retrieval. Disponível em http://www.dfki.uni-kl.de/~elst/papers/Belkin2009.pdf. Acesso em 29/12/2009. HIEMSTRA, D. Using Language Models for Information Retrieval. CTIT Ph.D. Thesis Series No. 01-32. Uitgeverij voor Lezers en Schrijvers van Talige Boeken. 2001.
HIMMA, Kenneth Einar. The Concept of Information Overload: A Preliminary Step in Understanding the Nature of a Harmful Information-Related Condition. Ethics and Information Technology. Seattle. Springer. 2007.
IPROSPECT. iProspect Search Engine User Attitudes. iProspect Search Engine Marketing Firm. 2007. Disponível em <http://www.iprospect.com/premiumPDFs /iProspectSurvey Complete.pdf>. Acesso em 05/01/2010.
KARTOO. Documentação da Ferramenta. Disponível em http://www.kartoo.net/a/br/aide01.html. Acesso em 11/07/2008.
KELLY, D; BELKIN, N. J.. A User Modeling System for Personalized Interaction and Tailored Retrieval in Interactive IR. In Proceedings of Annual Conference of the American Society for Information Science and Technology (ASIST '03), Philadelphia, PA, 2003. pg 316-325.
KING, J. D. Search Engine Content Analysis. Tese de Doutorado em Tecnologia da Informação. University of Technology, Brisbane, Australia. 2008.
KLEINBERG, J. M.; Authoritative sources in a hyperlinked environment. Proc. Of the 9.sup.th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 668-677. 1998.
KOCH, N. P. Software engineering for adaptive hypermedia systems reference model, modeling techniques and development process. Tese de Doutorado em Engenharia de Software. Ludwig – Maximilian – Universitat Munchen. Munique, 2000.
KOCH, N. ROSSI, G. Patterns for adaptive Web Applications. On-line. Disponível em < http://www.pst.informatik.uni-muenchen.de/personen/kochn/EuroPlop 2002-Koch.pdf > Acesso em 24/06/2009.
KONCHADY, M. Text Mining Application Programming. 1 ed. Charles River Media. 2006
KHOPKAR, Y., SPINK, A., GILES, C.L., SHAH, P., DEBNATH, S.: Search engine personalization: An exploratory study. First Monday, Vol. 8, Number 7. 2003. Disponível em http://www.firstmonday.org/issues/issue8 7/khopkar/index.html. Acesso em 06/07/2008.
140
LIU, B. Web Data Mining, Exploring Hyperlinks, Contents and Usage Data. Springer, 1 ed. 2006.
MANNING, D. C.; RAGHAVAN, P.; SCHÜTZE,H. An Introduction to Information Retrieval. Cambridge University Press, 1 ed. 2008.
MELLON, C. Introducing Clustering 2.0. Post em blog. Disponível em http://searchdoneright.com/2008/01/ introducing-clustering-2.0/. Acesso em 11/07/2008.
MEMÓRIA, F. Design para a Internet: projetando a experiência perfeita. Ed. Elsevier. Rio de Janeiro. 2005.
MICARELLI, A; SCIARRONE, F.. Anatomy and empirical evalution of an adaptive web-based information filtering system. User Modeling and User-Adapted Interaction 14. 2004. P. 2-3
[A] MICARELLI, A; SCIARRONE, F.; MARINILLI, M. Web Document Modeling. In The Adaptive Web. Ed. Springer-Verlag. Alemanha. Maio, 2007. p.155-194
[B] MICARELLI, A; GASPARETTI, F.; SCIARRONE, F.; GAUCH, S. Personalized Search on the World Wide Web. In The Adaptive Web. Ed. Springer-Verlag. Alemanha. Maio, 2007. p.195-230
MICARELLI, A.; BIANCALANA, C; LAPOLLA, A. Personalized Web Search Using Correlation Matrix for Query Expansion.WEBIST (Selected Papers) 2008: 186-198
MOOERS, C. N.. The next twenty years in information retrieval: Some goals and predictions. America Documentation. LI(2), 229-236.
NEWMAN, M. E. J. Power Laws, Pareto Distributions and Zipf's Law. Statistical Mechanics. - Contemporary Physics 46, 323-351. 2006. Disponível em <http://arxiv.org/abs /cond-mat/0412004>. Acesso em 09/01/2009.
PALAZZO, L. A. M. Modelos Proativos para Hipermidia Adaptativa. Tese de Doutorado em Ciência da Computação. Universidade Federal do Rio Grande do Sul. Porto Alegre. 2000.
PANT, Gautam; BRADSHAW, Shannon; MENCZER, Filippo. Search Engine-Crawler Symbiosis: Adapting to Community Interests. 7th European Conference on Research and Advanced Technology for Digital Libraries. 2003. Disponível em http://dollar.biz.uiowa.edu/~pant/Papers/se-crawler.pdf. Acessado em 13/02/2009.
PAO, M. L. Automatic text analysis based on transition phenomena of word occurrences. Journal of the American Society for Information Science, New York,v. 29, n.3, p. 121-124, May 1978. Disponível em http://www3.interscience.wiley.com/journal/ 114199531/abstract?CRETRY=1&SRETRY=0. Acesso em 30/01/2010
PAPAKONSTANTINOU, Y.; GARCIA-MOLINA, H.; WIDOM, J. Object Exchange Across Heterogeneous Information Sources. In: Eleventh International Conference on Data Engineering, Taiwan, 1995, pp 251-260.
PAZZANI, M.; MURAMATSU,J.; BILLSUS, D. Syskill & Webert: Identifying Interesting Websites. In: Preceedings of the 13th National Conference On Artificial Intelligence Portland, 1998. pg. 54-61.
141
PAZZANI, M. BILLSIS, D. Content-based recommendation system. In. The Adaptive Web: Methods and Strategies of Web Personalization, Lecture Notes in Computer Science, Vol. 4321. Springer-Verlag, Berlin Heidelberg New York. 2007.
PITKOW, J. E.. Summary of WWW characterizations, World Wide Web, ACM, New York, NY, v.2 n.1-2, p.3-13, 2000
RHODES, B. J.: Just-in_Time Information Retrieval. Tese de Doutorado. MIT Media Laboratory, Cambridge, MA. 2000. Disponível em http://www.bradleyrhodes.com/Papers/rhodes-phd-JITIR.pdf. Acesso em 18/06/2009.
RIJSBERGEN, C. J. Information Retrieval. Department of Computing Science, University of Glasgow. Livro online, 1999. Disponível em: http://www.dcs.gla.ac.uk/Keith/Preface.html. Acesso em 24/07/2008.
RILOFF, E; LEHNERT, W. Information Extraction as Basis for High-Precision Text
Classification. University of Massachusetts, 1994. ACM Trans. Inf. Syst.12, 3 (Jul. 1994), 296-333. SALTON, G.; BUCCKLEY, C. Term-weighting approaches in Automatic Retrieval. In: Information Processing & Management, Vol. 24, No 5, 1988. Disponível em < http://www.doc.ic.ac.uk/~jmag/classic/1988.Termweighting%20approaches%20in %20 automatic%20text%20 retrieval.pdf>. Acesso em 12/09/2008.
SANTOS, D. Atomização e separação de frases. disponível em Projecto AC/DC: Linguateca: http://acdc.linguateca.pt/acesso/atomizacao.html. 2007. Acesso em 02/06/2009.
SHAFI, S. M., & RATHER, R. A. (2005). Precision and recall of five search engines for retrieval of scholarly information in the field of biotechnology. Webology 2 (2). 2005. Available: http://www.webology.ir/2005/v2n2/a12.html Acesso em 30/10/2009.
SILVA, M. J.; CARDOSO, N.. Query Expansion through Geographical Feature Types. In 4th Workshop on Geographic Information Retrieval, GIR 07 (held at CIKM’07), Lisbon, Portugal, 9th November 2007.
SOARES, F. A. Mineração de Textos na Coleta Inteligente de Dados na Web. Dissertação de Mestrado. Engenharia Elétrica. PUC-RIO. 2008.
SPARK-JONES, K., WILLET, P.: Readings in Information Retrieval. San Francisco: Morgan Kaufmann, 1997.
WON, S., JIN, J., HONG, J. I. Contextual web history: using visual and contextual cues to improve web browser history. In Proceedings of the 27th international Conference on Human Factors in Computing Systems (Boston, MA, USA, April 04 - 09, 2009). CHI '09. ACM, New York, NY, 2009. P. 1457-1466.
Zipf, G.K. Human Behavior and the Principle of Least Effort. Cambridge, MA: Addison-Wesley. 1949