Você está na página 1de 12

Classificao de pginas na Internet

JOS MARTINS JUNIOR


EDSON DOS SANTOS MOREIRA

ICMC - Instituto de Cincias Matemticas e de Computao
Universidade de So Paulo
Caixa Postal 668, 13560-970, So Carlos, SP, Brasil
{jmartins,edson}@icmc.usp.br


Abstract. The huge growth of the Internet has been occurring since the 90s. The current search
engines make possible the localization of Web pages by means of a lexical comparison among sets of
words and the hypertexts contents. In order to find contents that express concepts or objects, such as
products for sale in electronic commerce sites, are inefficient mechanisms. The proposition of the
Semantic Web was announced in 2000 for this purpose, envisioning the establishment of new standards
for formal contents representation in the Web pages, but the estimated date for its implementation was
initially stated in ten years. The DEEPSIA project was conceived as a solution centered in the purchaser,
instead of the current marketplaces, in order to solve the problem of finding Web pages with the
description of products for sale, using methods of text classification. We present here the application and
evaluation of the Support Vector Machines method.
Keywords: DEEPSIA, e-Commerce, Support Vector Machines, ontology, agent, text classification,
Web.

1 Introduo
A Internet foi instituda na dcada de 70 com a
finalidade de possibilitar a comunicao entre os
diversos centros de pesquisa nos EUA. A partir da
dcada de 80 espalhou-se para outros pases, sendo seu
uso estendido a universidades, instituies
governamentais e organizaes. Mas foi na dcada de
90, quando pessoas e empresas conseguiram acesso a
ela, atravs de Provedores de Servios da Internet
(ISPs), que seu uso literalmente explodiu.
Em 1990, Tim Berners-Lee apresentou uma nova
aplicao para a exibio de documentos. Hipertextos,
assim chamados porque associam links a outros
documentos no prprio texto, eram exibidos atravs de
uma ferramenta grfica, a WorldWideWeb, desenvolvida
por Berners-Lee. A Web, como ento ficou conhecida,
foi a principal responsvel no aumento do interesse das
pessoas pela Internet e seu conseqente crescimento.
Uma enorme quantidade de documentos de hipertextos
foram criados desde ento. A pgina principal do
Google (www.google.com) indica atualmente a
existncia de mais de 3 bilhes.
Nos ltimos anos, muitos recursos foram
adicionados Web, permitindo a incluso e a exibio
de outros tipos de mdia, como figuras, filmes e som,
tornando mais interessante a interao do usurio nesse
universo. O problema que afeta a sua escalabilidade e o
sua futura utilizao no se refere ao formato das
pginas Web, mas organizao e classificao
apropriadas de seus contedos. Tal problema tambm
afeta a utilizao do e-Commerce, no que se refere
localizao de bens e servios oferecidos na Web.
Diversos search engines, como Altavista
(www.altavista.com), Yahoo (www.yahoo.com) e
Google, oferecem um servio de localizao de pginas
Web baseado em palavras-chave fornecidas por seus
usurios. Mas em tal modelo eficincia da busca
depende do conjunto de sentenas fornecido pelo
usurio, predizendo-o como partes do possvel contedo
das pginas procuradas. Tais agentes procuram por
pginas atravs de comparaes lxicas entre o conjunto
de palavras fornecido e o contedo das pginas na Web.
Marketplaces provm na Web ferramentas
especializadas para a organizao, a busca e a
apresentao de informaes sobre produtos oferecidos
venda atravs da Web. Infelizmente, realizam a busca
em um domnio limitado, composto por fornecedores
previamente contratados.
Uma outra opo consiste em prover inteligncia a
agentes que operam na Web permitindo-os de
realizarem a busca por pginas que expressem conceitos
de objetos desejados. O problema aqui refere-se
linguagem utilizada atualmente para a criao de
pginas Web, HTML (HyperText Marckup Language).
Infelizmente, ela no dispe de recursos apropriados
representao formal de conceitos.
Berners-Lee anunciou em 2000 a instituio da
Web Semntica. Tal iniciativa, instituda pelo WWW
Consortium, visa o desenvolvimento de novos recursos,
como o XML (Extensible Markup Language) e o RDF
(Resource Description Framework), para a
representao de conceitos de objetos em pginas Web,
referenciados por uma ontologia global, que ser
compartilhada por agentes na Web. O prazo para a sua
implantao foi inicialmente estimado em 10 anos.
O sistema DEEPSIA foi desenvolvido para prover
uma soluo centrada no consumidor, e utiliza mtodos
de classificao de textos para encontrar descries de
produtos venda em pginas Web. O processo de
classificao das pginas Web pelo critrio conter
produto venda, quando do teste do sistema DEEPSIA
em pginas Web brasileiras, apresentou um resultado
pouco satisfatrio. Este artigo descreve a aplicao e a
avaliao do mtodo Support Vector Machines (SVM)
sobre o problema de classificao descrito.
A seo 2 descreve conceitos de e-Commerce e e-
Business estudados no presente trabalho; a seo 3
apresenta o sistema DEEPSIA e suas principais
caractersticas; a seo 4 discute sobre a aplicao de
mtodos de classificao de texto para se decidir se uma
pgina contm (ou no) descries textuais de produtos
venda, e apresenta a soluo adotada pelo presente
trabalho; a seo 5 apresenta os principais resultados
dos testes realizados; concluses e trabalhos futuros so
apresentados na seo 6.
2 E-Commerce na Web
Sistemas de Informao online de apoio a negcios
eletrnicos (e-Business) esto sendo amplamente
desenvolvidos na Web. Alguns fatores tm colaborado
para a implementao dos mesmos, como a interface
agradvel e simples das aplicaes Web, que possibilita
o uso de recursos multimdia para realar caractersticas
de produtos, e o acesso Internet, disponvel atualmente
em qualquer lugar do mundo. Tais fatores, associados
atual onda de globalizao da economia, fazem da Web
um meio adequado divulgao e comrcio de bens e
servios.
A evoluo da infra-estrutura, como o suporte
logstico, as operaes com cartes de crdito e a
integrao de sistemas bancrios, associada
abrangncia da Internet, possibilitou alcanar nichos de
mercados antes inacessveis, devido s limitaes
geogrficas. As transaes comerciais atravs da
Internet instituram novas formas de operao do e-
Commerce (comrcio eletrnico).
Diversos trabalhos foram recentemente publicados,
envolvendo vrios aspectos da evoluo dos Sistemas
de Informao aplicados ao e-Business, como: criao
de mtodos formais (Song et al, 2002); definio de
arquiteturas (Magalhes and Lucena, 2002) e infra-
estrutura (Coutinho et al, 2002) (Milagres et al, 2002);
utilizao de agentes (Magalhes and Lucena, 2002) e
de ontologia (Herrera et al, 2002); aplicaes de
recuperao de informaes (Badue et al, 2002).
Atualmente, existem diversos tipos de aplicaes
para e-Business na Web. Uma taxonomia de modelos de
negcio aplicveis Web apresentada em (Rappa,
2003):
- Brokerage Model brokers so auxiliam
transaes de negcios, aproximando
consumidores e fornecedores. Este modelo
inclui as formas: Marketplace Exchange
prov um grande nmero de servios para
auxiliar o processo de transao para indstrias
ou consrcios; Search Agent agente (ou
robot) utilizado para encontrar preo e
disponibilidade de bens e servios para
consumidores;
- Advertising Model uma extenso do
modelo tradicional de difuso (propaganda).
Este tipo de sistema utilizado na divulgao
de informaes sobre bens e servios
oferecidos por fornecedores. Exemplos: Portal
consiste de um ponto de entrada da Web,
normalmente associado a um search engine
que fornece um grande nmero de servios
(Yahoo!, p.e.); Contextual Advertising
propaganda automtica (banners e janelas
pop-up) condicionada ao uso de algumas
aplicaes freeware. Algumas ferramentas
selecionam links baseadas no comportamento
do usurio (Gator, p.e.);
- Infomediary Model mantm e fornece
informaes sobre consumidores e suas
preferncias, assim como sobre fornecedores e
seus produtos, e ento atua como um agente
intermedirio de informaes. Algumas
formas deste modelo: Advertising Networks
trata-se de um servio que alimenta dados em
banners para uma rede de sites, coletando
informaes sobre a eficincia da propaganda
atravs do uso de cookies (DoubleClick, p.e.);
- Merchant Model modelo que representa
atacadistas e varejistas, com seus bens e
servios, que realizam vendas atravs de listas
de preo ou consulta. Exemplo: Virtual
Merchant mercado eletrnico que opera
vendas na Web (Amazon.com, p.e.);
- Manufacturer Model trata-se de um modelo
que usa o poder da Web para permitir o acesso
direto de fabricantes aos consumidores,
simplificando o canal de distribuio. O
contato direto pode ser justificado pela
eficincia na prestao do servio ou pela
melhor concepo sobre as preferncias e
necessidades do consumidor (Apple
Computer, p.e.);
- Affiliate Model contrasta-se com o portal
genrico, que atrai um enorme trfego para um
nico site. Este modelo prov oportunidades
de compra em sites de fornecedores
contratados quando os usurios esto visitando
suas pginas (Amazon.com, p.e.);
- Community Model baseia-se na lealdade do
usurio, que geralmente contribui com seu
contedo e/ou finana. O contedo e os
negcios publicados por seus usurios geram a
renda para a manuteno do site. Tipos:
Voluntary Contributor Model criado por uma
comunidade de usurios que mantm o site
atravs de doaes voluntrias. Esse tipo inclui
os sites de organizaes sem fins lucrativos
(The Classical Station, p.e.); Knowledge
Networks disponibilizam informaes sobre
reas profissionais e outros assuntos,
fornecidas por especialistas, atravs de fruns
de discusso e listas (AllExperts, p.e.);
- Subscription Model usurios pagam pelo uso
de servios especiais oferecidos por tais sites.
comum encontrar tal modelo associado com
o advertising model. Exemplo: Internet
Service Providers oferecem acesso Internet
e outros servios contratados pelos usurios
(AOL, p.e.);
- Utility Model tambm conhecido como sob
demanda, baseia-se na medio do uso de
servios. muito parecido com o modelo
tradicional das concessionrias de servios
(como no fornecimento de energia eltrica e
telefonia). Exemplo: Metered Subscription
neste caso, os usurios cadastrados pagam pela
quantidade de acesso ao contedo, como o
nmero de pginas acessadas (Slashdot, p.e.).
Um modelo de negcios comumente encontrado na
Web o Marketplace Exchange. Alguns portais
brasileiros, como BuscaP (www.buscape.com.br),
BondFaro (www.bondfaro.com.br) e MercadoBR
(www.mercadobr.com.br), mostram eficincia na busca
por produtos para os consumidores. O problema
encontrado em tais portais refere-se ao domnio da
busca. Eles estabelecem contratos com um grupo de
fornecedores e ento restringem as buscas em seus sites.
Tal soluo um bom negcio para os fornecedores
cadastrados.
Infelizmente, a limitao do domnio da busca
desfavorece o lado do consumidor na transao. Em
qualquer negcio, o consumidor (pessoa ou empresa)
deseja encontrar a melhor oferta, de acordo com uma
relao custo/benefcio. O modelo marketplace reduz as
opes de escolha do consumidor a um conjunto de
fornecedores contratados.
3 O projeto DEEPSIA
O projeto DEEPSIA (Dynamic on-linE intErnet
Purchasing System based on Intelligent Agents IST-
1999-20483) foi institudo por um programa de
pesquisas chamado Information Society Technologies
(IST). O consrcio DEEPSIA foi composto por
empresas e institutos de pesquisa de diversos pases
europeus: empresa ComArch (Polnia); Universidade
Nova de Lisboa - UNINOVA (Portugal); Universite
Libre de Bruxelles (Blgica); University of Sunderland
(Inglaterra); empresa Zeus (Grcia); empresa
Comunicacin Interativa (Espanha). A Universidade de
So Paulo representa a participao brasileira no
projeto.
O projeto DEEPSIA tem como principal objetivo
fornecer meios para a incluso das Pequenas e Mdias
Empresas (PME) no comrcio eletrnico. Para tanto,
fez-se necessrio o desenvolvimento de uma infra-
estrutura computacional baseada em um sistema multi-
agentes para suportar o processo de compra eletrnica
(via Internet) realizado por uma PME, utilizando a
concepo de um Catlogo de Produtos armazenado
localmente, na PME.
A estratgia do DEEPSIA baseou-se em uma
soluo centrada no consumidor e visa facilitar a
incorporao do conhecimento tecnolgico da PME
(nova no contexto do comrcio eletrnico) para prover o
acesso s ofertas de produtos adequadas s suas
necessidades individuais. A infra-estrutura
computacional desenvolvida pelo DEEPSIA oferece
uma interface amigvel baseada em um catlogo de
produtos personalizado que automaticamente
atualizado com informaes obtidas de portais de venda
na Internet.
O catlogo tambm mantm dados sobre produtos
fornecidos por fornecedores especficos, previamente
cadastrados no sistema. A interface personalizada do
catlogo disponibiliza ao consumidor um conjunto de
opes de ofertas, bem como informaes sobre
qualidade, diversidade, uso e prazo de entrega.
A arquitetura do sistema, proposta em (Garo et
al, 2001), contm basicamente trs mdulos ou
subsistemas, como apresentado no Figura 1: Dynamic
Catalogue (DC), Portal Interface Agent (PIA) e Multi-
Agent System (MAS).










Figura 1 Arquitetura do sistema DEEPSIA

Uma breve descrio sobre cada subsistema
apresentada a seguir:
Dynamic Catalogue (DC): consiste da interface do
usurio e responsvel por manter e apresentar os
dados que foram coletados pelos multi-agentes
contactados, baseando-se nas preferncias do usurio
fornecidas. O sistema tambm prov o acesso ao usurio
informao sobre os sites visitados e configurao
da ontologia, que representa o perfil individual sobre o
processo de compra. A empresa ComArch foi a
responsvel pelo seu desenvolvimento.
Portal Interface Agent (PIA): responsvel pela
criao de uma interface privilegiada entre portais da
Web e o sistema de multi-agentes (MAS). Da mesma
forma que um sistema marketplace, este agente atua
como um facilitador para o acesso de dados
armazenados em bases de dados de fornecedores. Sua
utilizao por fornecedores (opcional) garante o acesso
informao sobre seus produtos pelo MAS,
independentemente dos resultados das buscas realizadas
pelo Web Crawler Agent.
Multi-Agent System (MAS): descrito como um
sistema autnomo que coleta dados atravs de um
processo semi-automtico de atualizao do catlogo,
composto por um conjunto de agentes que realizam
tarefas especficas. Uma base inicial de conhecimento
associada ao comportamento individual de cada agente,
refletindo os objetivos estratgicos da PME. A
UNINOVA responsabilizou-se pelo desenvolvimento do
MAS. Os mdulos internos do MAS descrevem tipos
especialistas de agentes:
- Web Crawler Agent (WCA): sua funo
principal procurar pginas na Web que
contm dados de interesse do usurio,
baseando-se em um processo recursivo
iniciado por uma semente, e previamente
treinado por um processo off-line. tambm
capaz de receber a informao explcita de
URLs para serem pesquisadas. O WCA
executa a primeira seleo e classificao das
pginas para o processamento posterior pelo
Miner Agent. Para cada pgina obtida, o WCA
deve decidir se ela contm (ou no) a
descrio textual de produtos venda,
utilizando tcnicas de aprendizado
supervisionado de mquina aplicadas a
mtodos de classificao de textos, como K-
NN e C4.5;
- Miner Agent (MA): executa a anlise das
pginas Web obtidas pelo WCA e armazena as
informaes significativas em um banco de
dados. A ontologia de conceitos (definida pelo
usurio) e um conjunto de regras associadas a
tais conceitos compem a base de
conhecimento utilizada pelo MA para
descrever os dados relevantes que so
atualizados em cada requisio. Um
Facilitator Agent fornece o processo de
validao das URLs armazenadas no catlogo
pelo WCA;
- Human Agent (HA): integra-se interface do
usurio para validao de recursos e sites
atravs do Facilitator Agent e tambm
possibilita o fornecimento de sites pelo usurio
para o Miner. o nico agente a estabelecer o
contato direto com o usurio. Os outros so
executados pela interface do catlogo;
- Facilitator Agent (FA): define a interface entre
o catlogo e o conhecimento obtido pelo
Miner e/ou Collector Agent. Possibilita a
configurao da periodicidade da produo e
da atualizao de dados no catlogo. Mantm
nveis de confidncia sobre a informao,
delegando a deciso da validao ao Human
Agent. Recebe requisies do Catlogo para
obteno e as redireciona para o Collector
Agent;
- Collector Agent (CA): a interface de acesso
ao banco de dados que mantm os sites
contratados no PIA e consiste de uma
aplicao JATLite que utiliza uma metodologia
similar ao DNS para redirecionar requisies
do Facilitator para o PIA, estabelecendo
associaes entre fornecedores cadastrados e
Catalogue
B
r
o
w
s
in
g
I
F
O
ffic
e
M
a
te
r
ia
l
...
T
r
a
v
e
l A
g
e
n
c
ie
s
R
e
s
ta
u
r
a
n
ts
E
d
itio
n
IF
P
r
iv
a
te
D
B
I
F
Inter net IF
Knowledge BD
Supplier Agent
kernel C
o
n
f. I
F
Portal Interface Agent
Portal
BD
Portal
P
r
iv
a
te
D
B
I
F
Inter net IF
Knowledge BD
Supplier Agent
kernel C
o
n
f. I
F
Portal Interface Agent
Portal
BD
Portal
P
r
iv
a
te
D
B
I
F
Inter net IF
Knowledge BD
Supplier Agent
kernel C
o
n
f. I
F
Portal Interface Agent
Portal
BD
Portal
P
r
iv
a
te
D
B
I
F
Inter net IF
Knowledge BD
Supplier Agent
kernel C
o
n
f. I
F
Portal Interface Agent
Portal
BD
Portal
P
r
iv
a
te
D
B
I
F
Inter net IF
Knowledge BD
Supplier Agent
kernel C
o
n
f. I
F
Portal Interface Agent
P
r
iv
a
te
D
B
I
F
Inter net IF
Knowledge BD
Supplier Agent
kernel C
o
n
f. I
F
Portal Interface Agent
Portal
BD
Portal
INTERNET
MAS Multi-agent system DC Dynamic catalogue
Kernel Kernel
Interface (IF) Interface (IF)
Data base (DB) Data base (DB)
Entity Entity
Web sites Web sites
LEGEND
Multi-agent System
C
a
ta
lo
g
u
e
I
F
C
r
a
w
le
r
A
g
e
n
t
M
in
e
r
A
g
e
n
t
F
a
c
ilita
to
r
A
g
e
n
t
C
o
lle
c
to
r
A
g
e
n
t
Agents Agents
PAI Portal agent System

os usurios consumidores. Recebe mensagens
do Catlogo contendo requisies para
atualizao e mantm informaes sobre o
usurio online, tambm disponibilizando o
acesso s informaes sobre os fornecedores
cadastrados.
Outros agentes internos integram a arquitetura
MAS, realizando funes operacionais e provendo
escalabilidade (diversos agentes do mesmo tipo podem
operar colaborativamente) e especializao (agentes
especialistas em caractersticas especficas de
determinados produtos, localizao geogrfica, e
outros):
- Tutor Agent (TA): automatiza o processo de
treinamento dos agentes, utilizando tcnicas de
aprendizado supervisionado. Tais tcnicas
baseiam-se em mecanismos de
retroalimentao e fornecem a atualizao da
base de conhecimento dos agentes;
- Postman Agent (PA): opera como um cache
para o Miner Agent aumentando sua eficincia;
- Pillar Box Agent (PBA): implementa um
repositrio inteligente de pginas Web que so
fisicamente armazenadas em servidores FTP;
- Router Agent (RA): responsvel pela
localizao e endereamento dos agentes,
permitindo a comunicao entre eles;
O fluxo de pginas Web pode ser descrito como:
a) Para cada pgina obtida pelo Crawler Agent:
- A pgina classificada e enviada ao servidor
FTP;
- Uma mensagem KQML enviada ao PBA
contendo a localizao da pgina.
b) Para cada mensagem recebida pelo Postman
Agent:
- A pgina recuperada e armazenada
localmente no file system do MA;
- Uma mensagem para o MA enviada,
descrevendo a pgina e sua localizao.
c) O Miner Agent executa, de acordo com a
classificao da pgina, as seguintes aes:
- No caso de uma pgina apresentar baixa
credibilidade, ele envia uma mensagem
KQML interface humana com o contedo da
pgina para anlise pelo usurio;
- Extrai a informao sobre produtos contida em
cada pgina;
- A informao extrada da pgina e armazenada
no Catlogo.
A colaborao da USP no projeto DEEPSIA
A Universidade de So Paulo (campus So Carlos)
representa a iniciativa brasileira no projeto desde 2001,
sendo apoiada pelo CNPq. Dois grupos de pesquisa
integram a equipe de trabalho: o Laboratrio Intermdia
do ICMC (Instituto de Cincias Matemticas e de
Computao) e o NUMA/EESC (Ncleo de Manufatura
Avanada / Escola de Engenharia de So Carlos).
O NUMA o responsvel pelo desenvolvimento da
pesquisa sobre a caracterizao de produtos e o estudo
do impacto scio-econmico envolvidos na implantao
do sistema nas PMEs brasileiras.
O grupo de pesquisas do ICMC teve como objetivo
inicial a colaborao no projeto e na implementao do
Miner Agent, descrito pela arquitetura do MAS. Em
uma Segunda etapa, baseando-se em requisitos obtidos
pelo NUMA, atravs do teste do sistema em PMEs
brasileiras, passou a dedicar esforos na adaptao do
sistema DEEPSIA:
- Traduo da interface e da ontologia para a
lngua portuguesa;
- Desenvolvimento de novas ferramentas para
busca e personalizao na interface.
A observao da verso europia do sistema
possibilitou a identificao de alguns pontos a serem
melhorados, como:
- O processo de deciso do Crawler Agent (se a
pgina contm descrio textual de produtos
venda): testes em sites brasileiros
demonstraram eficincia pouco satisfatria,
indicando a necessidade pela aplicao de
outros mtodos para a classificao dos
contedos textuais;
- Recuperao de Informaes do Catlogo:
aplicao de tcnicas de data mining e data
warehousing para obteno de dados
estatsticos e histricos sobre os produtos
armazenados e sobre o acesso de usurios;
- Extrao de informaes das pginas Web:
estudo de tcnicas de text mining aplicveis
aos contedos textuais das pginas brasileiras;
- Segurana do sistema: anlise de risco do
sistema DEEPSIA sobre diversos aspectos,
incluindo a comunicao entre os agentes,
plataforma operacional e a tecnologia aplicada
na sua concepo.



4 O problema de deciso
Atualmente, as pginas Web no possuem uma forma
adequada para a representao de conceitos. A
linguagem padro utilizada para comp-las, HTML
(HyperText Markup Language), limita-se formatao
do layout da interface do usurio e insero de links
para outros objetos, como figuras, filmes, sons e
hipertextos, consistindo uma linguagem formal baseada
em rtulos (tags) predefinidos.
Outra caracterstica da Web atual que todas as
pginas so indexadas por URLs (Uniform Resource
Locators), que representam o caminho completo para
acesso ao documento. O contedo do URL textual e
normalmente descreve informaes como: protocolo
padro (HTTP, FTP, p.e.) para acesso ao servio
desejado; nome de domnio do host que executa a
aplicao servidora; nmero da porta remota; caminho
no file system; nome do arquivo (ou objeto) acessado, e
outras.
Existem trs componentes textuais em pginas
Web que expressam significado a humanos: contedo
do corpo (body) da pgina, seu ttulo (title) e o URL. O
nico que representa significado a aplicaes Web e
pode ser compreendido por computadores o URL.
Infelizmente, os conceitos descritos nos hipertextos
normalmente no se relacionam diretamente ao URL, e
no podem ser indexados por este.
A soluo aqui consiste em abstrair tais conceitos
para um formato til para computadores e classific-los
corretamente como objetos compreensveis por
humanos. Isso define o principal objetivo do estudo em
Classificao de Textos (Text Classification TC).
Joachims (Joachims, 1997) definiu TC como o processo
de agrupamento de documentos em diferentes categorias
ou classes.
A classificao automtica de textos refere-se
construo automtica de classificadores utilizando
processos indutivos (learners), pelos quais obtm-se um
classificador para uma categoria c
i
observando
caractersticas de um conjunto de documentos,
previamente (e manualmente) associados a c
i
por um
especialista do domnio envolvido (Sebastiani, 1999).
Essa abordagem denota um certo tipo de aprendizado de
mquina denominado supervisionado, onde um novo
documento pode ser classificado atravs da comparao
a um classificador predefinido que foi treinado a partir
de documentos rotulados.
Em (Imamura, 2001) so descritas as tarefas
envolvidas no processo geral da classificao
automtica de textos, tornando-se uma referncia
importante para o presente trabalho.

a) Obteno de documentos
Esta tarefa define o processo para a obteno de
documentos textuais que constituiro os conjuntos de
treinamento, teste e classificao. Os conjuntos de
documentos utilizados nas fases de treinamento e teste
so basicamente compostos por pares: documentos (d
i
) e
as classes que representam (c
i
) (Sebastiani, 1999).
Ferramentas da Web como crawlers, search engines e
subject directories, podem ser utilizadas para a
recuperao de contedos textuais de pginas Web.
Neste projeto (Martins Junior, 2003), as seguintes
classes foram projetadas e implementadas para a
realizao de tal tarefa:
- DocumentExample: obtm e armazena
exemplos positivos e negativos localmente,
sob uma determinada categoria. Categoria,
neste caso, define pginas que contm (ou no)
descries de produtos venda em seus
contedos textuais. A classe tambm cria uma
estrutura de diretrios para organizao dos
exemplos. Cada exemplo representado por
seu URL, e armazenado em um arquivo
individual dentro do diretrio respectivo. O
URL armazenado na primeira linha do
arquivo e tambm em um arquivo ndice
(index). Tal processo representado na Figura
2;
- WebPage: realiza a recuperao de pginas
Web, baseando-se no URL fornecido pela
classe DocumentExample.








Figura 2 Obteno de documentos

b) Pr-processamento dos documentos
Envolve a extrao das principais caractersticas de
um documento visando sua representao adequada para
algoritmos de Classificao de Textos.
A abordagem estatstica visa obter uma
representao atributo/valor do contedo textual. Tal
representao normalmente denominada bag of words
(Mladenic, 1998) (Sebastiani, 1999) e descreve um
vetor que contm pares atributo/peso. A concepo do

vetor requer a execuo de algumas tarefas, como a
identificao de atributos, a associao de pesos e a
reduo da representao (Imamura, 2001).
Diversas operaes devem ser realizadas para a
tarefa de identificao dos atributos:
- Remover qualquer tag HTML e cdigo fonte
(como JavaScript) e interpretar caracteres
especiais (ISO8559-1, p.e.). Esta tarefa
normalmente envolve a utilizao de um
parser;
- Identificar e extrair palavras simples e
compostas do contedo textual. Tokenizers
consistem uma boa escolha para a realizao
desta tarefa;
- Ignorar palavras contidas em uma lista de
palavras a serem evitadas (stop list), como
preposies, artigos e outras.
Um ponto interessante descrito por Joachims
(Joachims, 1998) refere-se regra geral para selecionar
caractersticas (features) de cada documento textual.
Consiste da considerar como uma feature vlida apenas
as palavras que puderem ser encontradas em pelo menos
trs documentos do conjunto de treinamento e que no
constem na stop list. As palavras encontradas sob tal
critrio so armazenadas ordenadamente em um arquivo
texto (words) para a criao de um dicionrio para o
domnio envolvido. Cada linha no arquivo deve conter
uma palavra indita, que ser referenciada pelo
algoritmo como uma feature individual, atravs do
ndice numrico que corresponde ao nmero da linha
onde foi armazenada no arquivo texto.
Existem duas abordagens distintas para o clculo
do peso das caractersticas (features) selecionadas:
- Booleana: os valores 0 e 1 so utilizados para
representar, respectivamente, a ausncia e a
presena do termo (atributo ou palavra) no
contedo textual;
- Numrica: representa a medida estatstica
baseada na freqncia do termo (Term
Frequency TF) em um documento. Cada
palavra (atributo) corresponde a uma feature
com TF (w
i
,x), que representa o nmero de
vezes em que a palavra w
i
apareceu no
documento x.
Uma variao da abordagem numrica,
denominada TFIDF (Term Frequency Inverse
Document Frequency), sugere a incluso da freqncia
do termo em todos os documentos como uma medida
inversa de sua capacidade de representar um documento
especfico (Joachims, 1997) (Joachims, 1998). Calcular
o IDF(w
i
) de uma palavra w
i
envolve a prvia obteno
de DF(w
i
), que consiste do nmero de documentos que
apresentam a ocorrncia de w
i
. A Equao 1 apresenta a
frmula do IDF, onde n o nmero total de
documentos.




Visando fornecer a representao adequada de
dados para o uso do mtodo SVM (adotado neste
trabalho), a fase de pr-processamento foi dividida em
duas etapas, para as quais fez-se necessrio o
desenvolvimento e a implementao (Martins Junior,
2003) de algumas classes:
Parsing envolve a extrao do texto de cada arquivo
HTML armazenado pela classe DocumentExample.
Classes desenvolvidas:
- HtmlParser: realiza a leitura seqencial de
todo o contedo de cada arquivo HTML,
utilizando a instncia de uma classe
HtmlReader. Ela efetua ento a remoo das
tags e comentrios HTML, cdigos-fonte
JavaScript e definies de estilo presentes no
contedo lido. A classe tambm realiza a
interpretao de caracteres especiais
(ISO8559-1) atravs da instncia de uma
classe Charset armazenando o texto resultante
(em letras minsculas) em um arquivo com o
mesmo nome do arquivo HTML, mas com a
extenso .txt;
- HtmlReader: realiza a leitura seqencial de
caracteres de cada arquivo HTML fornecido;
- Charset: efetua a traduo dos cdigos
ISO8559-1 (ã , p.e.) fornecidos para os
equivalentes caracteres especiais (, p.e.).
Tokenizing nesta etapa busca-se a obteno das
palavras vlidas de cada arquivo texto gerado na etapa
anterior (parsing). Classes implementadas no projeto:
- TextTokenizer: esta classe obtm todos os
tokens (sentenas separadas por espaos) de
cada arquivo texto fornecido, removendo
pontuaes e outros caracteres invlidos
presentes nos extremos de cada sentena
(parnteses, sinais, p.e.), e verifica se consiste
uma palavra vlida atravs do uso da instncia
de uma classe StopList. Um procedimento
muito especial tambm realizado por esta
classe, que refere-se ao reconhecimento de
padro do formato de sentenas que descrevem
preos, dado que constitui uma caracterstica
importante notada em pginas que possuem
(1)

=
) (
log ) (
i
i
w DF
n
w IDF
produtos venda. Quando uma sentena
reconhecida como um preo um termo
genrico associado pela classe, denominado
pricestring;
- StopList: tal classe mantm um conjunto de
sentenas predefinidas (artigos e preposies,
p.e.) que devem ser ignoradas como palavras
vlidas.
Dictionary nesta etapa procura-se definir um
dicionrio de palavras especficas do domnio em
questo. Classe responsvel:
- Dictionary: obtm todas as palavras vlidas de
cada arquivo texto, atravs da instncia de uma
classe TextTokenizer. Cada palavra que
atender a regra (encontrada em trs
documentos, pelo menos) armazenada
ordenadamente em um arquivo texto, chamado
words. O conjunto completo de palavras
mantido pela classe em uma estrutura
HashTable, quando da instncia da classe
Dictionary, a fim de otimizar a consulta por
palavras.
Weighting objetiva-se aqui o clculo da medida
TFIDF para cada feature presente no arquivo texto.
Classes implementadas:
- FeaturesFrequences: esta a nica classe a
realizar a leitura do arquivo texto nesta etapa.
Ela realiza a contagem do nmero de vezes
(TF) que cada feature (palavra vlida do
Dictionary) aparece no documento, e cria uma
estrutura Set para cada documento, onde
descreve os pares: feature/TF;
- FeaturesIDF: recebe as estruturas Set da classe
FeaturesFrequences e as fornece, uma a uma,
classe FeaturesDF. A seguir, obtm de
FeaturesDF o valor DF (Document
Frequency) para cada feature calculando seu
peso IDF (Inverse Document Frequency), o
qual ordenadamente armazenado em um
arquivo words.idf como um valor numrico
float;
- FeaturesDF: realiza a contagem dos
documentos (Document Frequency) que
contm cada palavra, baseando-se nas
estruturas Set recebidas da classe
FeaturesIDF.
Vectors a ltima etapa do pr-processamento refere-se
criao dos vetores de caractersticas (features
vectors) para cada exemplo obtido de um documento
textual. Classe envolvida:
- FeaturesVectors: sua funo consiste em obter
os valores TF e IDF para cada feature,
providos pela instncia das classes
FeaturesFrequences e FeaturesIDF, e calcular
o valor TFIDF (TF*IDF). Um vetor criado
para cada exemplo contendo todos os pares de
valores feature/TFIDF, e armazenado em uma
linha individual de um arquivo texto
denominado train.dat (para fins de
treinamento; e test.dat para teste).
A Figura 3 apresenta uma viso geral dos estados
inicial e final dos exemplos, separados pelas fases de
obteno e pr-processamento. O estado inicial
representa o domnio completo em questo, composto
pelas pginas Web brasileiras.








Figura 3 Pginas Web brasileiras (a) e representao
vetorial(b)

c) Extrao do conhecimento
Os algoritmos aplicados nesta fase implementam
os diferentes mtodos para a classificao automtica de
textos. O mtodo Support Vector Machines (SVM) foi
adotado para o presente trabalho.
SVM foi desenvolvido por Vapnik (Vapnik, 1995)
baseando-se no princpio da Minimizao do Risco
Estrutural (Structural Risk Minimization) da teoria do
aprendizado estatstico. Consiste de um mtodo
utilizado para o reconhecimento de padres definidos
em um espao vetorial, onde o problema resume-se em
encontrar uma superfcie de deciso que melhor separe
os dados em duas classes (positiva e negativa) distintas.
Isso previamente qualifica o mtodo como adequado
para problemas de classificao, como o apresentado
por este trabalho.
Na sua forma bsica, o classificador SVM aprende
regras lineares binrias descritas por um vetor de pesos
w e um ponto inicial b. Dependendo do lado do
hiperplano em que o vetor de atributos for representado,
ser classificado como +1 (positive) ou 1 (negative).
A Minimizao do Risco Estrutural visa encontrar
uma hiptese que garanta a menor probabilidade de
erros de classificao, o que pode ser traduzido em

encontrar o hiperplano h com margem mxima,
separando os dados em duas classes distintas (exemplos
positivos e negativos) em uma representao do espao
vetorial, conforme mostra a Figura 4 (obtida de
MLnet.org). Os exemplos representados juntos
margem do hiperplano h (marcados com crculos)so
denominados Support Vectors.









Figura 4 Hiperplanos em um espao vetorial

O uso de Support Vector Machines aplicado
classificao de textos foi introduzido por Joachims
(Joachims, 1998). Em seu trabalho, Joachims
apresentou um estudo comparativo entre o SVM e
outros algoritmos, como Bayes, Rocchio, C4.5 e K-NN.
O SVM apresentou o melhor resultado quando
comparado a tais algoritmos. A fim de facilitar o
processo de aprendizado na classificao de textos, cada
categoria associada a um problema especfico de
classificao binria (Joachims, 1999).
SVM
light
uma implementao do algoritmo SVM
desenvolvida por Joachims, que pode ser livremente
utilizada em pesquisas cientficas. O SVM
light
consiste
basicamente de dois mdulos:
- svm_learn: trata-se do mdulo de treinamento
do SVM
light
que especifica como entrada um
arquivo texto contendo o conjunto de vetores
que representam os exemplos de treinamento.
Cada linha do arquivo deve conter um vetor.
Para os casos de classificao linear com
SVM, as linhas contm os pares feature-value
dispostos em ordem crescente, ordenados por
feature. Cada feature representada pelo seu
nmero de linha no arquivo words. Os dois
primeiros caracteres da linha, +1 ou 1,
representam as opes positive ou negative,
respectivamente. Value o peso TFIDF da
feature representado como um valor numrico
do tipo float. svm_learn armazena o modelo
(classificador) gerado em um arquivo texto,
denominado model;
- svm_classify: consiste do mdulo de
classificao do SVM
light
e requer, como
entrada, um arquivo contendo os exemplos de
teste (no mesmo formato que o arquivo com
exemplos de treinamento) e outro, que contm
o modelo gerado pelo mdulo svm_learn.
Fornece, como sada, um arquivo texto com as
classificaes realizadas para cada exemplo.

d) Avaliao do conhecimento
Para tarefas de classificao que envolvem classes
com valores discretos, algumas medidas de qualidade
podem ser estimadas a partir dos seguintes resultados
observados:
- tp (true positive positivos verdadeiros):
nmero de exemplos positivos que foram
corretamente classificados;
- fp (false positive falsos positivos): nmero
de exemplos negativos classificados como
positivos;
- fn (false negative falsos negativos): nmero
de exemplos positivos classificados como
negativos;
- tn (true negative negativos verdadeiros):
nmero de exemplos negativos corretamente
classificados;

Medidas:
- Precision: proporo de exemplos positivos
que foram classificados corretamente. Em
problemas de classificao binria, a precision
pode ser obtida pela frmula apresentada pela
Equao 2;





- Recall: descreve a poro que foi classificada
corretamente como exemplos positivos. Esta
medida pode ser estimada pela frmula da
Equao 3;







+
=
fp tp
tp
PRECISION
(2)

+
=
fn tp
tp
RECALL

(3)
- Accuracy: trata-se da proporo de
classificaes corretas, e seu clculo descrito
pela Equao 4.



5 Resultados obtidos
Todas as classes mencionadas na seo 4 foram
implementadas durante a realizao deste trabalho
(Martins Junior, 2003) utilizando-se de tecnologia Java
(j2sdk1.3.1 The Java 2 Standard Development Kit).
Visando-se otimizar as operaes de ordenao e
recuperao de dados, foram utilizadas, durante o
desenvolvimento, estruturas e recursos apropriados,
como HashTable, HashSet e SortedMap.
Diversos testes foram realizados a fim de se
confirmar a capacidade de aprendizado da soluo
implementada. A Tabela 1 apresenta o conjunto de
exemplos obtidos e utilizados durante a fase de
treinamento para a gerao do modelo (classificador).
Esse conjunto contribuiu para a criao de um
dicionrio do domnio analisado com um total de 11205
palavras.
O experimento foi realizado em um computador
com processador AMD-Athlon 1GHz, e com 512 MB
de RAM, sobre uma plataforma composta pelo sistema
operacional Linux, distribuio Debian com kernel da
verso 2.4.18. Os tempos obtidos na execuo da fase
de treinamento foram os seguintes:
- Criao do dicionrio: 20 s;
- Gerao dos vetores: 2 min 50 s.

Tabela 1 Conjunto de treinamento
Site Positivos Negativos
Americanas 212 68
Bondfaro 40 50
Buscape 20 19
Estado Economia 0 25
Extra 33 25
Globo Shopping 21 2
Kalunga 54 17
Liv Cultura 33 33
Liv Saraiva 51 46
Luiza 103 93
Mercado Livre 50 71
Shopping UOL 27 10
Shoptime 36 26
Submarino 45 42
725 527
O modelo obtido foi utilizado para a classificao
de exemplos positivos e negativos obtidos de outros
sites. A Tabela 2 apresenta as medidas precision, recall
e accuracy que foram calculadas sobre os resultados da
classificao, quando aplicada em pginas Web de sites
no comerciais.

Tabela 2 Avaliao em sites no comerciais
Banespa ICMC Receita
Positivos 0 0 0
Negativos 60 90 40 Amostra
Total 60 90 40
fp 1 0 0
fn 0 0 0
tp 0 0 0
Resultado
tn 59 90 40
Accuracy 98,33% 100% 100%
Precision NA NA NA Avaliao
Recall NA NA NA

A Tabela 3 apresenta a mesma avaliao, mas
sobre os resultados da classificao de pginas de outros
sites comerciais.

Tabela 3 Avaliao em outros sites comerciais

Ponto
Frio
Ri
Happy
Som
Livre
Positivos 85 33 54
Negativos 0 3 19 Amostra
Total 85 36 73
fp 0 0 1
fn 0 0 7
tp 85 33 47
Resultado
tn 0 3 18
Accuracy 100% 100% 89,04%
Precision 100% 100% 97,92% Avaliao
Recall 100% 100% 87,04%





+ + +
+
=
fn tn fp tp
tn tp
ACCURACY
(4)
6 Concluso e trabalhos futuros
Observando a avaliao dos resultados apresentados,
conclui-se que um mtodo estatstico pode ser aplicado
a tarefas de classificao de textos, mesmo quando o
problema em questo requer o reconhecimento da
presena de uma determinada caracterstica, como a
descrio textual de produtos venda, abordada pelo
presente trabalho.
A eficincia do modelo depende da qualidade dos
exemplos positivos e negativos selecionados para a
composio do conjunto de treinamento.
Outro ponto importante descrito no presente
trabalho refere-se adaptao das tarefas envolvidas na
anlise do domnio, como a abordagem do
reconhecimento de padres de sentenas que descrevem
preos, apresentada na seo 4.
Finalmente, sugere-se como trabalhos futuros a
aplicao do mtodo apresentado para a soluo de
outros problemas de deciso na classificao de textos,
e tambm sua avaliao, quando aplicado em outros
domnios.
A experincia agregada por este trabalho ao grupo
de pesquisas pode ser til quando da aplicao de
soluo parecida em processos de deciso enfrentados
por sistemas detectores de intruso. O reconhecimento
de padres de ataque atravs de fatos descritos em
contedos textuais de arquivos de log do sistema
operacional pode se tornar um objeto da aplicao de
uma soluo similar explorada pelo presente trabalho.
Outra sugesto para a elaborao de futuros
trabalhos consiste da aplicao de outros mtodos de
classificao de textos para a soluo do mesmo
problema que buscou-se solucionar.
7 Referncias
J. Martins Junior, Classificao de pginas na Internet,
So Carlos, 2003, 81p, Dissertao de Mestrado -
Instituto de Cincias Matemticas e de Computao de
So Carlos, Universidade de So Paulo.
M. Song, A. Pereira, G. Gorgulho, S. Campos, W.
Meira Jr, Model Checking Patterns for e-Commerce
Systems, In: Proceedings of the First International
Seminar on Advanced Research in Electronic Business,
Rio de Janeiro, Brazil, 2002.
J. Magalhes, C. Lucena, A Multi-Agent Product Line
Architecture for Websearching, In: Proceedings of the
First International Seminar on Advanced Research in
Electronic Business, Rio de Janeiro, Brazil, 2002.
B. Coutinho, G. Teodoro, T. Tavares, R. Pinto, D.
Nogueira, W. Meira Jr, Assessing the impact of
distribution on e-business services, In: Proceedings of
the First International Seminar on Advanced Research
in Electronic Business, Rio de Janeiro, Brazil, 2002.
F. Milagres, E. Moreira, J. Pimento, P. Sousa, Security
Analysis of a Multi-Agent System in EUs DEEPSIA
Project, In: Proceedings of the First International
Seminar on Advanced Research in Electronic Business,
Rio de Janeiro, Brazil, 2002.
J. F. Herrera, J. Martins Junior, E. Moreira, A Model for
Data Manipulation and Ontology Navigation in
DEEPSIA, In: Proceedings of the First International
Seminar on Advanced Research in Electronic Business,
Rio de Janeiro, Brazil, 2002.
C. Badue, R. Baeza-Yates, W. Meira, B. Ribeiro-Neto,
N. Ziviani, Distributed Architecture for Information
Retrieval, In: Proceedings of the First International
Seminar on Advanced Research in Electronic Business,
Rio de Janeiro, Brazil, 2002.
M. Rappa, Managing the Digital Enterprise: Business
Models on the Web, In: E-Commerce Learning Center
of North Carolina State University web site:
http://ecommerce.ncsu.edu/research.html, ltimo acesso
em: 20/04/2003.
A. S. Garo, P. A. Sousa, J. P. Pimento, B. R. Santos,
V. Blasquz, L. Obratanski, Annex to DEEPSIAs
Deliverable 4 System Architecture, Technical Report
of IST PROJECT-1999-20483, January, 2001.
T. Joachims, A Probabilistic Analysis of the Roccio
Algorithm with TFIDF for Text Categorization,
Universitat Dortmund, 1997.
F. Sebastiani, Machine Learning in Automated Text
Categorization, Technical Report IEI B4-31-12-99,
Instituto di Elaborazione della Informazione, Consiglio
Nazionale delle Ricerche, Pisa, Italy, 1999.
C. Y. Imamura, Pr-processamento para Extrao de
Conhecimento de Bases Textuais, So Carlos, 2001,
Dissertao de Mestrado - Instituto de Cincias
Matemticas e de Computao de So Carlos,
Universidade de So Paulo.
D. Mladenic, Machine Learning on non-homogeneous,
distributed text data, PhD thesis, University of
Ljubljana, Faculty of Computer and Information
Science, Ljubljana, 1998.
T. Joachims, Text Categorization with Support Vector
Machines: Learning with Many Relevant Features,
Universitat Dortmund, 1998.
V. Vapnik, The Nature of Statistical Learning Theory,
Springer-Verlag, 1995.
T. Joachims, Transductive Inference for Text
Classification using Support Vector Machines, In:
Proceedings of the International Conference on Machine
Learning (ICML), 1999.

Você também pode gostar