Você está na página 1de 20

3 Minerao de Texto

A existncia de ferramentas que realmente suportam todo o processo de KDD ainda bastante restrita. Ferramentas comerciais, tais como MineSet e IntelligentMiner, geralmente tm um carter mais exploratrio e fazem uso de algoritmos e ferramentas proprietrias, o que dificulta o seu uso por pesquisadores. De forma geral um processo de minerao de textos contm quatro macro etapas: coleta, pr-processamento, indexao e anlise da informao. Nos prximos pargrafos descrito o processo como um todo e em seguida cada uma das etapas de forma mais detalhada. A etapa inicial tem por objetivo a coleta de das informaes que vo compor
PUC-Rio - Certificao Digital N 0310437/CA

a base textual de trabalho, isto , determinar e selecionar o universo de atuao das tcnicas de minerao de texto. Por outro lado, nenhuma informao que no esteja contida na base textual poder ser extrada, encontrada ou utilizada de alguma forma. Aps a coleta de documentos necessrio transformar os documentos em um formato propcio para serem submetidos aos algoritmos de extrao automtica de conhecimento. Essa segunda etapa, denominada de prprocessamento, responsvel por obter uma representao estruturada dos documentos, geralmente no formato de uma tabela atributo-valor. Essa tabela atributo-valor que representa os documentos tem como caracterstica valores esparsos dos dados e uma alta dimensionalidade. Essas caractersticas so inerentes problemas relacionados ao processo de MT, pois cada palavra presente nos documentos pode ser um possvel elemento do conjunto de atributos dessa tabela atributo-valor. , portanto, uma etapa bastante custosa e um cuidadoso pr-processamento dos documentos imprescindvel ao sucesso de todo o processo de MT. Aps os documentos serem representados em um formato adequado, possvel aplicar tcnicas de extrao de conhecimento utilizando sistemas de minerao de dados. Caso os documentos estejam representados no formato de

41

uma tabela atributo-valor, geralmente, na terceira etapa, so empregados mtodos de RI como indexao para aumentar a performance do processo. Finalmente, na ltima etapa, o objetivo descobrir padres teis e desconhecidos presentes nos documentos. Para a extrao de padres, so utilizadas tcnicas de forma semelhante ao processo tradicional de MD. A seguir, ento, explicaremos de forma mais detalhada cada uma das etapas envolvidas no processo de minerao de texto, dando mais nfase etapa de prprocessamento. Vale ressaltar que o processo descrito a seguir o processo clssico, que servir de comparao com o modelo proposto nessa tese a ser apresentado no prximo captulo.

3.1. Coleta de Dados


PUC-Rio - Certificao Digital N 0310437/CA

A coleta de dados tem como funo formar a base textual de trabalho. Essa base pode ser esttica, nos casos mais simples, ou dinmica, isto , atualizadas a todo momento atravs de robs autnomos coletando novas informaes. A atualizao feita pela simples adio de um novo contedo, remoo de contedos antigos, ou, substituio da base por uma inteiramente nova. Coletar dados uma atividade trabalhosa. Um do motivos que os dados podem no estar disponveis em um formato apropriado para serem utilizados no processo de minerao de textos. Essa dificuldade no nova, em (Pyle, D., 1999) apresentada uma lista de alguns desafios para essa fase. Para minerao de textos, um dos principais problemas em coletar dados descobrir onde os dados esto armazenados. Depois disso recuperar documentos relevantes ao domnio de conhecimento. De forma geral, esse procedimento se estabelece basicamente em trs ambientes distintos: no diretrio de pastas do disco rgido; em tabelas de diferentes bancos de dados e na Internet. Para o disco rgido temos os sistemas de GED (gerenciamento eletrnico de documentos) para grandes empresas e recentes lanamentos de busca local como Google Desktop, Yahoo! Desktop e Ask Jeeves Desktop. Nos bancos de dados, a iniciativa de Data Warehouses (Kimball, R., 1996) surgiu com o intuito de unificar e centralizar diferentes bancos de dados de forma disponibilizar mais facilmente as informaes. Embora os Data Warehouses

42

facilitem bastante a coleta de dados, o problema ainda est longe de ser bem resolvido, principalmente quando se trata de textos. Alm disso, esse modelo se mostrou bastante custoso e rduo, o que fez com que se estabelecesse apenas em pouco lugares de forma definitiva. (Batista, 2003) Na Internet temos uma infinidade de pginas pessoais, institucionais, pginas de revistas e diversas fontes disponveis para coletar os documentos tais como livros e artigos. Para facilitar o acesso a esses documentos na Internet, muitas ferramentas de apoio tm sido construdas usando as seguintes abordagens: Motores de Busca Baseados em Rob (Robotic Internet Search Engines), Diretrios de Assunto (Subject Directories) (Peterson, R. E., 1997). Trabalhos relacionados coleta de documentos provenientes da Internet podem ser encontrados na literatura (Baeza-Yates, B. e Ribeiro Neto, B., 1999); (Joachims, T. et al, 1997). Muitos deles combinam tcnicas de AM e Recuperao de Informao (RI) (van Rijsbergen, C. J., 1979) para determinar o perfil do
PUC-Rio - Certificao Digital N 0310437/CA

usurio visando melhorar a coleta de documentos. Em qualquer desses ambientes, um crawler o rob responsvel por navegar de forma autnoma e exploratria pela rede para fazer a coleta. Esses robs se tornaram mais conhecidos na Internet com o nome de webcrawler. Verses livres de webcrawlers podem ser encontradas na Internet, a exemplo do wGet. Uma das importantes funes de um webcrawler saber decodificar os HTMLs, tanto para recortar apenas o que contedo texto como para seguir para o hiperlinks que se encontram na pgina. Outra funo importante saber gerenciar bem seu caminho de percurso que tem a forma de um grafo de modo a impedir que o rob visite vrias vezes a mesma pgina ou entre em ciclos eternos.

3.2. Pr-processamento

O pr-processamento de textos consiste em um conjunto de transformaes realizadas sobre alguma coleo de textos com o objetivo de fazer com que esses passem a ser estruturados em um representao atributo-valor. De modo geral, a etapa de pr-processamento tem por finalidade melhorar a qualidade dos dados j disponveis e organiz-los. As aes realizadas na etapa de pr-processamento de

43

dados visam prepar-los para serem submetidos a algum algoritmo de indexao ou minerao de dados. Conceitualmente, em um processo de minerao, essas transformaes consistem em identificar, compactar e tratar dados corrompidos, atributos irrelevantes e valores desconhecidos (Batista, G. E. A. P. A., 2003); (Weiss, S. M. e Indurkhya, N., 1998). Em minerao de textos, pr-processamento normalmente significa dividir o texto em palavras, aplicar tcnicas de stemming, remover as stop-words e classific-las segundo a classe gramatical (Five Steps). No entanto, a etapa de pr-processamento vai alm das aes citadas, pois necessrio transformar os textos em uma representao estruturada adequada para que, a partir disso, os dados possam ser submetidos ao processo como um todo. No entanto, durante a transformao dos textos em formato estruturado existe a possibilidade de que informao intrnseca ao contedo dos textos seja perdida.
PUC-Rio - Certificao Digital N 0310437/CA

Um desafio, nesse caso, obter uma boa representao minimizando a perda de informao. A etapa de pr-processamento em um processo de MT , portanto, fundamental para o desempenho de todo o processo (Martins, C. A., 2003).

3.2.1. Identificao de Palavras no Texto

Em (Gean, C. C. e Kaestner, C. A. A., 2004) podemos perceber uma preocupao na definio da unidade bsica de texto, que denominada de palavra (termo). Na etapa de pr-processamento, o documento, considerado como sendo texto puro ou no-anotado, livre de qualquer formato, tratado de maneira a produzir uma representao mais compacta que seja mais adequada realizao da tarefa objetivo. Em Salton (1983), a identificao das palavras nos documentos a serem indexados nada mais do que a identificao de palavras analisando-se as seqncias de caracteres no texto. Salnton aconselha fazer um Dictionary lookup, ou seja, comparar as seqncias de caracteres retiradas do texto com um dicionrio a fim de validar se essas palavras realmente existem. Esse processo de validao torna-se bastante til, especialmente quando o documento apresenta muitos caracteres invlidos ou palavras com erros gramaticais. As seqncias de

44

caracteres invlidas devem ser eliminadas e as palavras com erros corrigidas. Pode-se aplicar ainda um processo de filtragem naqueles arquivos que possuem formatos de texto especficos, a fim de eliminar as seqncias de controle e/ou formatao de texto. O dicionrio pode tambm auxiliar a identificao de termos especficos, quando se deseja utilizar palavras pr-definidas no ndice, evitando que palavras desconhecidas sejam identificadas (ou seja, evita a utilizao de um vocabulrio descontrolado). Um simples Analisador Lxico que identifique seqncias de caracteres e forme palavras pode ser utilizado. A Figura 12 apresenta o trecho de um documento com diversas seqncias de caracteres. As seqncias riscadas so seqncias invlidas, que no devem passar pela fase de identificao de palavras. As demais seqncias vo para a verificao em um dicionrio (lxico). As palavras sublinhadas so palavras inexistentes no dicionrio, e devem ser corrigidos ou aprendidos. Os caracteres de
PUC-Rio - Certificao Digital N 0310437/CA

pontuao so desprezados.

Figura 12 Indentificao de palavras vlidas

Segundo (Spark-Jones, K. e Willet, P., 1997), uma etapa de prprocessamento tpica inclui: A eliminao de palavras comuns: as palavras comuns (stop-words) so elementos de texto que no possuem uma semntica significativa; sua presena no agrega nenhuma indicao do contedo ou do assunto do texto correspondente. Normalmente as palavras comuns so constitudas de artigos, preposies, verbos auxiliares, etc, tais como que, de/do/das, o ou a. Aps sua eliminao obtm-se uma representao reduzida do texto, ainda em formato livre.

45

A obteno dos radicais (stems): em linguagem natural, diversas palavras que designam variaes indicando plural, flexes verbais ou variantes so sintaticamente similares entre si. Por exemplo, as palavras real, realidade, realeza e realizado tm sua semntica relacionada. O objetivo a obteno de um elemento nico que permita considerar como um nico termo, portanto com uma semntica nica, estes elementos de texto. Este passo permite uma reduo significativa no nmero de elementos que compem o texto. Outra possibilidade de pr-tratamento a representao em n-gramas do texto (Cavnar, W. B., 1994): constitui-se em uma representao alternativa, onde os termos so obtidos diretamente como sub-cadeias de comprimento n das palavras que compem o texto original. Por exemplo, a partir da palavra porta e considerando n = 4, obtm-se as seguintes 4-grams: _por, port, orta e
PUC-Rio - Certificao Digital N 0310437/CA

orta_, onde _ usado para indicar o incio ou fim da palavra. De modo geral, a preocupao das tcnicas clssicas presentes na literatura de reduzir a dimensionalidade do problema, de modo a poder utilizar algoritmos de minerao de dados.

3.2.2. Reduo de Dimensionalidade

Um dos maiores problemas de minerao de texto lidar com espaos de dimenso muito alta se considerado um espao-vetorial onde cada termo representa uma dimenso, teremos tantas dimenses quanto palavras diferentes. Dessa forma, um dos problemas importantes tratados no pr-processamento dos dados reduzir o nmero de termos. Uma estratgia bastante citada na literatura a utilizao da Lei de Zipf (Zipf, G. K., 1949) e cortes de Luhn (Luhn, H. P., 1958). A tcnica tem carter estatstico e funciona da seguinte forma: A Lei de Zipf diz que se f a freqncia de ocorrncia de qualquer palavra do texto, e r a posio de ordenao com relao s outras palavras ento produto
f r aproximadamente constante. Luhn props que, em um grfico f versos r

pode-se definir uma limite superior e um limite inferior de corte. A palavras que

46

estiverem fora do intervalo so excludas da anlise. Na Figura 13 mostrada uma ilustrao desse procedimento.

Figura 13 A curva de Zipf e os cortes de Luhn

PUC-Rio - Certificao Digital N 0310437/CA

3.2.3. Remoo de Palavras No-Discriminantes (Stop-words)

Nem todas as palavras dos documentos devem ser adicionadas na estrutura de ndice. As palavras que aparecem em todos os documentos ou na maioria deles so um exemplo. Isso porque a utilizao de uma palavra com estas caractersticas no capaz de colaborar na seleo de documentos relativos a um assunto especfico. (OpenMuscat, 2000) As preposies so um exemplo deste tipo de palavra, pois so termos que servem para fazer o encadeamento de idias e palavras, so termos inerentes linguagem, e no ao contedo dos documentos. Normalmente, as palavras que aparecem em muitos documentos no so indexadas pois sua utilizao compromete a preciso e a eficincia de um sistema de busca. O prejuzo semntico dessa estratgia perder a busca exata por compostos como mquina de lavar, onde a preposio de no pode ser buscada. Nos sistemas j implementados, foi construda uma estrutura (uma lista) contendo todas as palavras que no devem ser indexadas. A esta estrutura foi atribudo o nome de "stop-list", e as palavras presentes nesta lista so conhecidas como Stop-words. O processo de obteno das stopwords pode ser manual, onde o projetista do sistema avalia quais palavras devem ou no ser indexadas (o que varia de

47

lngua para lngua, ou at mesmo entre sistemas). H ainda a possibilidade de se montar esta lista automaticamente, verificando-se quais so as palavras com maior freqncia (que aparecem em mais documentos), selecionando-as como stopwords. Ento, aps uma palavra ser reconhecida no processo de indexao, sua presena na Stop-list verificada. Caso exista na lista de palavras negativas, ela no adicionada ao ndice. A Figura 14 abaixo apresenta o documento resultante da etapa anterior, aps ser validado por uma stop-list. Neste caso a lista de Stop-words contm artigos, preposies, conjunes e algumas seqncias de caracteres que no devem ser adicionadas ao ndice por possurem freqncia elevada.

PUC-Rio - Certificao Digital N 0310437/CA

Figura 14 Identificao de Stop-Words

Com estas etapas j possvel criar ndices que localizem documentos a partir da comparao direta entre os termos da consulta do usurio e os termos presentes nos documentos. Este um mtodo ainda ineficiente, e algumas tcnicas adicionais podem ser utilizadas a fim de melhor-lo.

3.3. Indexao

As tcnicas de indexao de documentos foram bastante difundidas pela demanda e crescimento da rea de Recuperao de Informaes (RI). Muitas pessoas acreditam que a rea de recuperao automtica de informaes textuais uma rea nova. Esta idia talvez tenha surgido com a Web (um dos servios oferecidos pela Internet), onde milhares de informaes, dispostas em forma de pginas (documentos textuais), esto disponveis. No entanto, segundo (Baeza-

48

Yates, B. e Ribeiro Neto, B., 1999) h aproximadamente 4000 anos j so praticadas tcnicas de catalogao manual por ndices. Depois da implantao da Internet em cada vez mais locais, interligando pessoas de diversas partes do mundo, os usurios se deram conta de que as informaes disponveis na rede se encontravam de forma desordenada demandando algum meio de catalogar estas informaes automaticamente. Para suprir essa demanda surgiram vrios portais de busca: Altavista, Yahoo!, Google entre outros. H bastante tempo tambm, cientistas3 estudam meios de catalogar informaes textuais de forma automtica. Com os desdobramentos da informtica, catalogar informaes se tornou cada vez mais rpido e produtivo. Tcnicas bem definidas e testadas foram inseridas na literatura acadmica, sendo reutilizadas em trabalhos cientficos atuais. O ACM / SIGIR, (Special Interest Group on Information Retrieval, da ACM) promove uma conferncia
PUC-Rio - Certificao Digital N 0310437/CA

internacional de pesquisa e desenvolvimento em Recuperao de Informaes que ocorre anualmente, e um dos meios de divulgao dos estudos na rea. Verificando suas publicaes (Fox, E. A. et al, 1995), (ACM96b, 1996), constatase que os mtodos atuais buscam aperfeioar os mtodos mais antigos, permanecendo a metodologia bsica. Dentre os recentes trabalhos, os algoritmos de minerao de textos tambm reutilizam de tcnicas eficientes de indexao para manipulao eficiente dos textos. Como as tcnicas de indexao permitem uma busca rpida por palavrachave em grandes volumes de textos, existe ganho de performance que viabiliza clculos estatsticos mais sofisticados e, por isso, potencialmente melhores. No entanto, minerao de textos um conceito bem mais extenso que busca eficiente por palavras-chave. Por exemplo, uma busca por palavra-chave na Internet retornaria uma lista de pginas que contm os termos procurados, desconsiderando aspectos semnticos que podem tornar estas ocorrncias irrelevantes para o objetivo proposto. Tcnicas de minerao de textos promovem anlises mais extensas do contedo dos documentos, identificando fatos, relaes e padres de forma a obter uma percepo similar quela tida por um humano lendo o mesmo documento. A informao extrada geralmente mais relevante, e

Gerard Salton vem trabalhando nessa rea desde a dcada de 60 e j publicou mais de 150 artigos.

49

pode ser usada para diferentes propsitos como categorizar um documento, identificar o significado ou o grupo semntico de expresses dentro do documento, auxiliar a leitura de grandes volumes de texto. Em um banco de dados textual, os dados no esto distribudos de forma tabular. At mesmo porque o texto uma seqncia de caracteres, no existindo uma pr-especificao de atributos. No h como saber o que um nome em um documento, a no ser que se faa uma anlise de Linguagem Natural e se descubra o que pode vir a ser um nome. Logo, para localizar as informaes sobre determinada pessoa em um banco de dados textual, seria necessrio analisar caractere-por-caractere do texto at que a seqncia de caracteres correspondente ao nome fosse localizada. Este tipo de anlise, comparando todos os caracteres do texto, no conveniente, necessrio haver alguma forma mais eficiente de acesso aos documentos. Se os documentos textuais possuem um tema, ele pode ser
PUC-Rio - Certificao Digital N 0310437/CA

identificado pelas palavras (termos) que esse documento contm, portanto, o termo o meio de acesso aos documento. Nas sees seguintes abordaremos as estratgias mais eficientes de busca caractere-por-caractere e como estruturas de dados utilizando essas tcnicas chegaram a uma soluo bastante eficiente para o problema de encontrar documentos por termos citados dentro deles.

3.3.1. Procura Caractere Caractere

Antes de entrarmos em indexao de textos propriamente dita que carrega consigo estruturas de dados mais complexas, interessante revisar como o problema de achar uma determinada palavra foi resolvido pela computao. Uma palavra pode ser entendida como uma cadeia de caracteres especfica que se deseja procurar. A informtica se apropriou de muitos termos em ingls no seu vocabulrio para representar tecnologias especficas, neste caso o termo importado e mais utilizado string. Daqui em diante nos referiremos a cadeias de caracteres implementadas no computador como string. Sendo assim, procurar por uma string no corpo de um texto preocupao fundamental para qualquer aplicao de minerao de textos.

50

Inmeros trabalhos para resolver este problema foram propostos, e eles so comparados normalmente pela complexidade computacional do pior caso e o nmero de comparaes de caracteres feitos. Para o problema de procurar todas as ocorrncias de uma dada string de m caracteres em um texto de n caracteres, o pior caso expresso pelo nmero de operaes c(n,m). Um primeiro bom resultado estabelecido foi dado por Knuth-Morris-Pratt (KMP) (Knuth, D. E. et al, 1977) como c(n,m) = 2n-m+1. Na mesma poca Boyer-Moore (BM) (Boyer, R. S. e Moore, J. S., 1977) desenvolvia um algoritmo que alcanava apenas c(n,m)=6n, porm, ele foi sendo melhorado nos anos seguintes chegando a c(n,m) = (3n-n/m) por (Cole, R., 1990). No entanto uma variante de Boyer-Moore foi desenhada por (Apostolic, A. e Giancarlo, R., 1986) igualando o KMP com c(n,m) = 2n-m+1. Em 1990, Colussi, Gali e Giancarlo (Colussi, L. et al, 1990) criaram um hbrido de KMP e BM para atingir a marca de 7n/6 c(n,m) (4n-m)/3. Hoje um algoritmo bastante utilizado o Karp-Rabin (Karp, R. e Rabin, M., 1987) que
PUC-Rio - Certificao Digital N 0310437/CA

utiliza a funo hash. A funo hash codifica as strings em nmeros e com isso ganha uma vantagem significante por utilizar clculos numricos. A maioria desses mtodos j esto implementados em pacotes fechados e ferramentas de indexao e busca de forma modular. No necessitando de reimplementao.

3.3.2. Lista Invertida

Um bom meio de acesso aos documentos so as palavras que ele contm. Para tornar possvel o acesso a essas palavras, preciso coloc-las em uma estrutura auxiliar o ndice, isso porque fica invivel pesquisar todos os textos utilizando consultas booleanas. Ao final do processo conhecido por Lista-Invertida, os termos resultantes so adicionados a um arquivo de ndice cuja estrutura geralmente baseada em Listas Invertidas (Inverted Index). Segundo (Salton, G., 1983), outros tipos de arquivos podem ser utilizados, mas a experincia mostra que este tipo de estrutura um dos mais eficientes para a indexao de documentos. Na Figura 15 apresentado um exemplo dessa estrutura. O ndice (invertido) contm a lista de todas as palavras indexadas (ex. diretor, figura). Cada palavra associada

51

lista dos identificadores dos documentos em que ocorreu (ex. A12, G43). Todas essas listas so armazenadas de forma ordenada para garantir a eficincia dos algoritmos de busca.

Figura 15 Estrutura de uma Lista Invertida associada aos documentos indexados.


PUC-Rio - Certificao Digital N 0310437/CA

Basicamente, a estrutura permite que um nico termo aponte para vrios documentos. Ainda segundo (Salton, G., 1983), as etapas geralmente utilizadas antes da indexao so as de pr-processamento (Seo 3.2): Identificao de Palavras Remoo de stop-word

Depois que os algoritmos de listas invertidas foram implementados, acessar um documento por uma palavra-chave passou a ser bastante eficiente (logaritmo em relao ao tamanho do banco de dados). Porm, era necessrio armazenar todas as ocorrncias de palavras, incluindo erros ortogrficos e todos os documentos relacionados, o que causava uma exploso de espao de armazenamento. Em funo disso, algumas melhorias foram acrescentadas ao mtodo das listas invertidas e passaram a se chamar de listas invertidas comprimidas (Bell, T. C. et al, 1993); (Bookstein, A. et al, 1992); (Choueka, Y. et al, 1988); (Frakes, W. B. e Baeza-Yates, R., 1992) que aumentaram o desempenho significativamente em termos de requisitos de armazenagem em relao s listas originais.

52

3.3.3. Similaridade

Um sistema de Recuperao de Informaes tem como base a seguinte teoria (Salton, G., 1983): perguntas (consulta) so submetidas pelo usurio, perguntas estas baseadas em termos (palavras) que identificam a idia desejada por este usurio; os documentos so identificados pelos termos que eles contm, portanto, a localizao de um documento desejado pelo usurio d-se a partir da identificao da similaridade entre o(s) termo(s) fornecido(s) pelo usurio e os termos que identificam os documentos contidos na base de dados. A Figura 16 representa esquematicamente esta teoria:

Consulta

Funo Similaridade

Documento

PUC-Rio - Certificao Digital N 0310437/CA

Figura 16 - Funo Similaridade

Esta funo Similaridade busca identificar uma relao entre os termos da consulta e os termos dos documentos. Teoricamente pode ser feita uma comparao direta entre estes termos, mas na prtica difcil estabelecer esta relao de similaridade entre esses termos devido a alguns problemas descritos nos pargrafos seguintes. Um destes problemas analisado por (Chen, H., 1994) em vrios de seus trabalhos. O que pode ocorrer que as palavras utilizadas pelo sistema (palavras contidas nos documentos) sejam diferentes das palavras utilizadas pelo usurio, mesmo que estas palavras (sinnimos) representem a mesma idia. Esse problema conhecido por Problema do Vocabulrio, e ocorre geralmente quando os usurios desconhecem o sistema, ou possuem um conhecimento superficial dos assuntos que esto tentando localizar. H ainda o problema da Busca Incerta (Search Uncertainly), ou seja, pode ocorrer que os usurios no saibam quais so as melhores palavras que identificam o assunto que querem localizar. Por conseqncia, acabam no recuperando informaes precisas. Este problema tambm discutido por (Chen, H., 1994), (Salton, G., 1983) e outros autores.

53

Esses problemas fazem com que sejam recuperados muitos documentos, ou documentos de assuntos variados (pois o termo muito abrangente), ou ainda, podem no recuperar informao alguma. buscando solucionar esses problemas (e alguns outros) que mecanismos de mapeamento entre os diferentes termos similares foram criados. Salton (Salton, G., 1983), cita vrios sistemas universitrios e comerciais que se utilizam destes mecanismos: STAIRS (IBM), Dialog System (Lookhead Information Systems), BRS (State University of New York), MEDLARS (National Library of Medicine), SMART (Cornell University). Em (ACM96a, 1996) so citados mais alguns: WIN (West Publishing Company), DOWQUEST (Dow Jones Newswire), WAIS, e um muito conhecido, o INQUERY. Nem sempre estes sistemas conseguem satisfazer o usurio, mas foram a base para as tcnicas atuais e das que esto por vir. A metodologia bsica destes sistemas discutida a seguir.
PUC-Rio - Certificao Digital N 0310437/CA

3.3.4. Processo de Indexao

Um referncia internacional sobre o assunto (Baeza-Yates, B. e Ribeiro Neto, B., 1999). Neste livro encontram-se tanto algoritmos de indexao, formas de implementao em SQL como o processamento de linguagem natural utilizado. O diagrama da Figura 17 resume o processo total de Indexao. Pode-se ver que os documentos que so fornecidos ferramenta de indexao passam por uma sucesso de etapas de processamento (em ingls pipeline) e ao final produzido um arquivo de ndices que consegue localizar os documentos apresentados. Em detalhe, a primeira etapa responde por idetificar as palavras, ou as fronteiras das palavras usualmente feita pelo caractere em branco. A segunda elimina, dentre essas palavras, as no-discriminantes (stop-words), em seguida, a terceira executa um procedimento de normalizao de sufixos, em ingls stemming (0). A quarta reponsvel pela deteco de termos compostos, i.e., termos com mais de uma palavra. Finalmente, esses termos, ps-processados, so armazenados na estrutura invertida associados aos documentos origem.

54

Figura 17 Sequncia do processo de indexao automtica.

importante salientar que esse tipo de indexao automtica ainda bastante simples, no considera a semntica do documento nem a posio sinttica
PUC-Rio - Certificao Digital N 0310437/CA

das palavras nas oraes. Em virtude dessas necessidades surgiram outras formas de indexao mais complexas que usam o mesmo motor de indexao, mas aplicado a uma estrutura de texto enriquecida com metadados. Os metadados so tags que marcam informaes semnticas ou estruturais do texto. Para o indexador, as tags nada mais so do que novas palavras adicionadas ao texto que sero tambm indexadas (Reis, M., 2005).

3.3.5. ndice do tipo Full-text

A terminologia full-text mais conhecida nos sistemas de recuperao de informao embutidos em pacotes fechados de banco de dados. O nome comumente dado ao ndice de bases de dados textuais com textos em linguagem natural Full-Text Index. Muitos SGBDs como Oracle, SQL Server e MySQL j incluem estas funcionalidades prontas. Outros pacotes surgiram especialmente para isso, como o Lucene em C e Java. Como o objeto principal dessa tese o pr-processamento dos textos e no a fase de indexao full-text, optamos por descrever apenas um deles, com o qual pudemos ter mais contato, o SQL Server 2000. O objetivo da procura Full-text prover informao relevante de uma coleo de fontes em resposta s necessidades do usurio. Esta necessidade normalmente expressa por uma

55

consulta que pretende olhar cada registro do banco e procurar por cada palavra requisitada. Uma abordagem simples abriria cada registro e procuraria pela palavra-chave usando um algoritmo de string_matching. No entanto, como vimos, abrir cada documento em tempo de processamento pode ser muito custoso se o volume de documentos for alto. A soluo fazer parte do trabalho antes da consulta e deixar clculos prarmazenados. Isso feito extraindo informao das palavras em cada documento e armazenando de uma forma que seja fcil de se acessar. Quando a consulta feita, s necessrio comparar os documentos um com o outro usando um ndice invertido (inverted index) e escolher os documentos que so mais relevantes. Para extrair as palavras dos textos, o SQL Server utiliza os chamado word breakers e stemmers. Um word breaker um componente que determina quais so as fronteiras que delimitam uma palavra ( uma soluo para o problema terico definido na sesso 3.10). E os stemmers so especializados em uma
PUC-Rio - Certificao Digital N 0310437/CA

determinada lngua e usam o conhecimento lingstico com o objetivo de compactar o lxico (flexes verbais so armazenadas como apenas uma palavra). O ndice invertido uma estrutura de dados com um registro para cada palavra. Nesse registro, existe a informao sobre os documentos em que ela ocorre, o nmero de ocorrncias e a posio em cada um deles. O ndice invertido contm ainda algoritmos estatsticos e probabilsticos para computar rapidamente a relevncia dos documentos. A estrutura de dados contendo o ndice armazenada no disco rgido, j que normalmente requer muito espao. Ela ainda tem funcionalidades de atualizao para adicionar um novo documento dentro da base. Vale a pena ressaltar que quando um documento apagado da base o ndice no alterado e com o tempo ele pode conter muita informao desnecessria a ponto de se ter que construir um novo. A arquitetura da soluo implementada pela Microsoft (Figura 18) contm um servio separado chamado MSSearch (Microsoft Search service) apenas para gerenciar o ndice Full-text.

56

Figura 18 Arquitetura da Busca tipo Full-text

PUC-Rio - Certificao Digital N 0310437/CA

Um exemplo de consulta usando a linguagem SQL (Structured Query Language) para pesquisa em banco de dados que tem como objetivo retornar todos os documentos que contenham a string campeonato
SELECT Texto FROM Documentos WHERE Texto LIKE '%campeonato%'

Essa consulta utiliza o operador de expresses regulares LIKE que pode ser aplicado para qualquer campo de caracteres alfa-numricos. Com o mesmo objetivo que a consulta anterior, porm usando a estrutura de indexao Full-Text
SELECT Texto FROM Documentos WHERE CONTAINS(Texto, ' "campeonato" ')

Se a base de tamanho acima de 10.000 registros a diferena de velocidade na resposta sensvel.

57

3.3.6. Ordenao

Como em (Gawrysiak, P., 1999), praticamente todos os mtodos de ranking caem em dois grupos. O primeiro deles inclui tcnicas que exploram a estrutura de apresentao do contedo na Internet, esta estrutura pode ser extrada dos hiperlinks; em bases acadmicas (artigos e teses), pelas citaes. Isso funciona porque a estrutura criada pelos humanos e contm alguma informao semntica. O segundo grupo compreende ferramentas que lidam com o contedo em si operando de forma estatstica ou ainda extraindo a estrutura do prprio texto usando tcnicas de PLN. Por exemplo, um mecanismo de recuperao de informao bastante conhecido o Google. O algoritmo de busca presente no Google chama-se PageRank e est localizado principalmente no primeiro grupo descrito acima. O
PUC-Rio - Certificao Digital N 0310437/CA

PageRank procura associar um peso a cada pgina de contedo que est relacionado com o nmero de pginas que apontam para ela. Estas pginas so chamadas de autoridades. A Figura 8 ilustra como esse problema pode ser complicado

Figura 19 Representao de uma estrutura de hiperlinks na Internet

Um algoritmo simples que considere apenas a estrutura ajustaria um peso para Page A menor do que para Page B e Page C. No entanto, intuitivamente, Page A deve ser a mais importante. Essa a soluo que o algoritmo de PageRank apresenta: calculada a probabilidade de um navegador aleatrio entrar em cada pgina e entregar o resultado com os valores ordenados da mais provvel para a menos provvel. A frmula para este clculo dada pela seguinte frmula

58

onde A um pgina, T1..n so pginas que contm links para A, PR(A) o PageRank da pgina A, C(T) o nmero de links de T para outras pginas, d a probabilidade de o navegador sair da pgina. O algoritmo tal como foi criado pode ser encontrado em (Brin, S. e Page, L., 1998) e (Gibson, D. et al, 1998). Hoje, no entanto, ele j se encontra com alteraes, variaes e extenses que no so divulgadas.

3.4. Minerao de Dados

A fase de minerao de dados (Goldschmidt, R. e Passos, E., 2005) envolve


PUC-Rio - Certificao Digital N 0310437/CA

decidir quais algoritmos sero aplicados aos dados. Nessa fase, pode-se utilizar algoritmos provenientes de diversas reas de conhecimento, tais como Aprendizado de Mquina, Estatstica, Redes Neurais e Banco de Dados, alguns citados no Captulo 2. Se o objetivo dessa fase criar um modelo preditivo, ento, decidir qual algoritmo timo para o problema que est sendo analisado no uma tarefa trivial. Esse fato ocorre pois sabido que nenhum algoritmo timo para todas as aplicaes (Schaffer, C., 1994). Muitos estudos empricos tm sido realizados a fim de relacionar o algoritmo de aprendizado com a natureza do problema a ser resolvido (Michie, D. et al, 1994). Entretanto, encontrar tal relacionamento parece ainda ser um problema em aberto. Uma possvel soluo, que ainda precisa ser analisada para grandes volumes de dados, combinar os resultados de vrios classificadores em vez de selecionar um nico classificador. Ensembles (Wolpert, D. H., 1992) tm obtido muito sucesso em combinar o resultado de diferentes sistemas de aprendizado. Entretanto, a utilizao de ensembles pode dificultar a fase de interpretao dos resultados.

59

3.5. Anlise da Informao

Aps a fase de minerao de dados, o processo entra na fase de avaliao e interpretao dos resultados. Essa fase envolve todos os participantes. O analista de dados tenta descobrir se o classificador atingiu as expectativas, avaliando os resultados de acordo com algumas mtricas tais como taxa de erro, tempo de CPU e complexidade do modelo. O especialista no domnio ir verificar a compatibilidade dos resultados com o conhecimento disponvel do domnio. E, por fim, o usurio responsvel por dar julgamento final sobre a aplicabilidade dos resultados.

PUC-Rio - Certificao Digital N 0310437/CA

Você também pode gostar