# Sistemas de Informação Distribuídos/SID na Web/Recuperação de Informação em SID
## Introdução

A recuperação de informações é a ciência que busca informações em documentos, buscando informações neles mesmos, buscando meta-dados que descrevem documentos ou buscando dentro de bases de dados. Há uma confusão comum, porém entre a recuperação de dados, a recuperação de documentos e a recuperação de textos, cada um deles tem o seu próprio corpo de literatura, teoria, pratica e tecnologias. IR é como os campos nascente, interdisciplinares, baseados na informática, matemática, biblioteconomia, a ciência da informação, a psicologia cognoscitiva, a lingüística, a estatística, e a física.
Sistemas são usados para reduzir a sobrecarga da informação. Muitas universidades e bibliotecas públicas usam sistemas IR para proporcionar o acesso a livros, diários e outros documentos. IR são relacionados para objetar e perguntar. As perguntas devem ser formadas com base no padrão de entrada do sistema de recuperação de informação. Cada objeto e armazenado como entidade no meio de armazenamento. Comumente os documentos não são armazenados diretamente no IR, mas sim apontados pelo sistema.
Em 1992, no departamento de defesa norteamericano, no instituto nacional de normas e tecnologias (NIST) correspondente da conferencia de recuperação de documentos (TREC), como parte do programa TIPSTER. O objetivo disso era examinar a comunidade de recuperação de documentos sumarizando a infra-estrutura neceseria para enorme avaliação de metodologia de recuperação de texto.
Os mais visíveis aplicativos de recuperação de informação são os motores de busca como:
* Google
* Live.com
* Yahoo!
* Alexa
* Radar UOL
* Alta Vista
* Aonde
* Web crawler

## Modelos

E necessário representar os documentos de algum modo. Temos diversos modelos por esta razão eles podem ser classificados pelas dimensões como mostrado na figura, a base matemática e as prioridades de cada modelo.

### Booleano

O modelo de recuperação booleano baseasse a escrita de todas as questões em uma forma booleana: as perguntas são uma combinação dos termos através dos operadores AND, OR, e NOT. Tais perguntas são métodos eficazes para a recuperação de documentos baseado no grupo de palavras dos mesmos. [1]. Podem ser utilizados também: aspas para a identificação de termos compostos, bem como, parêntesis para a definição de prioridades de operações.
O conceito principal de recuperação de informação e o índice invertido. O nome e atualmente redundante e similar: um índice e totalmente mapeado na ocorrência dos seus termos em cada documento.
Passos da recuperação booleana:
* Coletar os documentos
* Toquenizar o texto
* Processamento lingüístico ( normalização dos termos, trazendo para o singular masculino em caracteres minúsculos e verbos para o infinitivo)
* Indexação do resultado usando se índices invertidos, consistindo do lexicograma resultante dos passos anteriores, na lista de índice invertido.
Exemplo:
Considerando o processamento da pergunta:
Brutus AND Calpurnia
* Localizar Brutus no dicionário
* Recuperar os resultados
* Localizar Calpurnia no dicionário
* Recuperar os resultados
* "Combinar" os dois resultados
Um exemplo de sistema comercial de recuperação de informação booleana e o WestLaw, que usa uma extensão do modelo booleano adicionando características com a busca por proximidade e outras comumente utilizadas na Web durante a década de 90, esse sistema iniciou o seus serviços em 75 e a partir de 1992 também passou a aceitar buscas em linguagem natural.
Atualmente a maioria dos sistemas de recuperação de informação aceitam buscas booleanas pois essas são de baixa complexidade e comuns a massa de usuário

### Probabilísticos

O modelo probabilístico de recuperação de informação se inscreve dentro da evolução acontecida durante os anos 70 na investigação sobre desenvolvimento de sistemas avançados de recuperação de informação, que deu lugar à incorporação de um novo paradigma teórico desde o qual aborda a recuperação de informação. Este novo marco subministrador instrumental operacional e metáforas conceituais é o modelo probabilístico de análise que propõem uma nova maneira de enfocar o espaço documentário e textual da recuperação de informação, tomando como ponto de partida a definição intencional do conjunto ideal de documentos relevantes para uma consulta dada. Esta definição intencional do conjunto ideal de documentos relevantes deve reformularse em função de termos de indexação, cuja indicação semântica servirá de suporte à caracterização das propriedades do conjunto.
A idéia inteira da teoria de probabilidade e de proporcionar um fundamento de principio para racionalizar sobre uma incerteza.
Nessa seção propusemos uma resposta a fim de explorar a utilização de probabilidade de um documento ser relevante a uma consulta. Dado um acontecimento do conjunto P(a,b) onde estas são verdadeiras como uma probabilidade condicional P(a|b), a probabilidade do acontecimento a, dado que ocorreu o acontecimento de b. Então dadas as relações fundamentais entre probabilidade conjuntas e condicionais.
P(a, b) = p(a ∩ b) = P( a|b)P(b) = P(b|a)P(a)
P(a, b) = P(b|a)P(a)
P(￢a, b) = P(b|￢a)P(￢a)
Para isto temos que derivar a regra de Bayes para a probabilidade inversamente condicional. $P(a|b)={\frac {P(b|a)P(a)}{P(b)}}={\frac {P(b|a)}{\sum _{x\in \{a,-a\}}P(b|x)P(x)}}P(a)$
Vantagens e inconvenientes do modelo probabilístico de recuperação de informação:
A proposta que apresenta o modelo probabilístico para a recuperação de informação textual apresenta um verdadeiro desequilíbrio quanto a sua funcionalidade real como modelo de recuperação de informação. Como principal vantagem radica em sua capacidade para construir uma função de ranking que ordene os documentos de maneira decrescente segundo sua probabilidade de ser relevantes a uma consulta dada.Esta potencialidade se vê um tanto escurecida pelas dificuldades operativas que apresenta este modelo, entre elas :
* A necessidade de segmentar a priori a coleção em documentos relevantes e não relevantes sem nenhuma pauta de discriminação.
* O modelo não processa a ocorrência de um termo dentro de um documento para determinar o peso deste, devido a sua atribuição binária de pesos
* A necessidade de assumir a independência na probabilidade dos termos de ser relevantes, isto é de pertencer à caracterização dos documentos do conjunto b

### Vetorial

O modelo de recuperação vetorial ou de espaço vetorial propõe um marco no que é possível o emparelhamento parcial a diferença do modelo de recuperação booleano, atribuindo pesos não binários aos termos índice das perguntas e dos documentos. Estes pesos dos termos se usam para processar o grau de similitude entre cada documento guardado no sistema e a pergunta do usuário.
Características Gerais.
Ordenando os documentos recuperados em ordem decrescente a este grau de similitude o modelo de recuperação vetorial tomada em consideração documentos que só se emparelham parcialmente com a pergunta, assim o conjunto da resposta com os documentos alinhados é bem mais preciso (no sentido que representa melhor a necessidade de informação do usuário) do que o conjunto recuperado pelo modelo booleano. Os rendimentos de alinhamento do conjunto da resposta são difíceis de melhorar.
A maioria dos motores de busca o implementam como estrutura de dado se que o alinhamento costuma realizar-se em função da similaridade da pergunta com os documentos armazenados.
Funcionamento.
A idéia básica deste modelo de recuperação vetorial reside na construção de uma matriz (poderia chamar-se tabela) de termos e documentos, onde as filas fossem estes últimos e as colunas correspondessem aos termos inclusos neles. Assim, as filas desta matriz (que em termos algébricos se denominam vetores) seriam equivalentes aos documentos que se expressariam em função das aparições (freqüência) de cada termo. Desta maneira, um documento poderia expressar-se da maneira.
d1=(1, 2, 0, 0, 0, ... ... ..., 1, 3) : Sendo cada um destes valores o número de vezes que aparece cada termo no documento.
A longitude do vetor de documentos seria igual ao total de termos da matriz (o número de colunas).
Desta maneira, um conjunto de m documentos se armazenaria numa matriz de m filas por n colunas, sendo n o total de termos armazenamos nesse conjunto de documentos. A segunda idéia associada a este modelo é calcular a similaridade entre a pergunta (que se converteria no vetor pergunta, expressado em função da aparição dos n termos na expressão de busca) e os m vetores de documentos armazenados. Os mais similares seriam aqueles que deveriam colocar-se nos primeiros lugares da resposta.
Cálculo da similaridade.
Dispõe-se de várias fórmulas que nos permitem realizar este cálculo, a mais conhecida é a Função do Co-seno, que equivale a calcular o produto escalar de dois vetores de documentos (A e B) e dividi-lo pela raiz quadrada do somatório dos componentes do vetor A multiplicada pela raiz quadrada do somatório dos componentes do vetor B.
Desta maneira se calcula este valor de similitude. Como é óbvio, se não há coincidência alguma entre os componentes, a similitude dos vetores será zero já que o produto escalar será zero (circunstância muito freqüente na realidade já que os vetores chegam a ter milhares de componentes e se dá o caso da não coincidência com maior freqüência do que caberia pensar).
Também é lógico imaginar que a similaridade máxima só se dá quando todos os componentes dos vetores são iguais, neste caso a função do co-seno obtém seu máximo valor, a unidade. O normal é que os termos das colunas da matriz tenham sido filtrados (supressão de palavras vazias) e que em lugar de corresponder a palavras equivalham a sua raiz 'stemmer' (grupamento de termos em função de sua base léxica comum, por exemplo: economista, econômico, economia, economicamente, etc.). Geralmente os acentos e as maiúsculas/minúsculas são ignorados. Isto se faz para que as dimensões da matriz, de por si consideravelmente grandes não atinjam valores impossíveis de gerir.
Não obstante podemos encontrar exceções à regra geral, tal como pareceser o caso de Yahoo!, que não ignora as palavras vazias.
Para finalizar, o co-seno não é a única função de similaridade. Existem outras, as quais não são difíceis de calcular senão mais bem de interpretar e do que por tanto são menos aplicadas em Recuperação de Informação.
Modelo de Recuperação Vetorial Generalizado
A idéia do modelo generalizado é tomar o grupo de vetores meu que são ortogonais e adotá-lo como o conjunto de vetores baseies para os subespaços de interesse. Ortogonalidade não significa que as palavras índices são independentes. Pelo contrário, as palavras índices são agora correlacionadas pelos vetores meu.
Funcionamento.
A independência das palavras clave num modelo vetorial implica que o conjunto de vetores é linealmente independente. Freqüentemente esta linearidade é interpretada como que os vetores são ortogonais.
No modelo vetor generalizado, os pesos (weights) são considerados independentes mas não ortogonais. Seja o conjunto de palavras índices { k1, k2, ... kt }e os pesos wi,j associados às palavras índices e documentos [ki, dj]. Se os pesos são binários, toda possível participação de palavras índices podem ser representada pelo conjunto de 2t “minterms” dados por m1 = (0,0,...0), m2 = (1,0,...0) e mt = (1,1,...1).
Considere a função gi(mj) que retorna o peso {0,1} da palavra índice ki no minterm mj. O minterm m1 que contém só 0 significa que o documento não tem nenhuma das palavras índices e o minterm mt significa que o documento contém todas as palavras índices.

## Coleta de documentos a serem indexados

A idéia do modelo generalizado é tomar o grupo de vetores meu que são ortogonais e adotá-lo como o conjunto de vetores baseies para os subespaços de interesse. Ortogonalidade não significa que as palavras índices são independentes. Pelo contrário, as palavras índices são agora correlacionadas pelos vetores meu.
Funcionamento
A independência das palavras clave num modelo vetorial implica que o conjunto de vetores é linealmente independente. Freqüentemente esta linearidade é interpretada como que os vetores são ortogonais.
No modelo vetor generalizado, os pesos (weights) são considerados independentes mas não ortogonais. Seja o conjunto de palavras índices { k1, k2, ... kt }e os pesos wi,j associados às palavras índices e documentos [ki, dj].
Se os pesos são binários, toda possível participação de palavras índices podem ser representada pelo conjunto de 2t “minterms” dados por m1 = (0,0,...0), m2 = (1,0,...0) e mt = (1,1,...1).
Considere a função gi(mj) que retorna o peso {0,1} da palavra índice ki no minterm mj. O minterm m1 que contém só 0 significa que o documento não tem nenhuma das palavras índices e o minterm mt significa que o documento contém todas as palavras índices.
Coleta de documentos a serem indexados
Um documento indexado é uma representação do documento original. Na prática, consiste numa lista de termos ou conceitos normalizados, de alto valor semântico, com informação adicional sócia (por exemplo, sua freqüência de aparição ou posição no texto). Os termos pertencentes ao índice podem estar em sua forma original ou lematizados e podem ser palavras simples, multipalabras, siglas ou nomes próprios.
Em general, a indexação de base não lingüística se fundamenta na análise da freqüência dos termos e sua distribuição dentro dos documentos. Esta análise tem como objeto estabelecer critérios que permitam determinar se uma palavra é um termo de indexação válido, fundamentalmente porque permite discriminar o conteúdo dos documentos e – de alguma maneira – contribui informação. Para isso, estudaram-se e determinado algumas propriedades estatísticas do texto escrito que determinam como se distribuem as freqüências de aparição das diferentes palavras numa coleção e como cresce o tamanho do vocabulário conforme cresce tal coleção. Existem duas leis empíricas que descrevem estas propriedades: a lei de Zipf e a lei de Heaps.
Ley de Zipf
Além da eliminação de palavras vazias o vocabulário de uma coleção pode ser podado utilizando outros critérios. Um dos mais utilizados corresponde à denominada “Lei de Zipf” [66], quem realizou uma série de estudos empíricos na década de 1940 que demonstraram que a gente ao escrever – normalmente – costuma preferir palavras mais conhecidas sobre aquelas menos conhecidas. A isto o denominou s e o conhece como a lei do menor esforço. Zipf descobriu que, se armava uma lista com as palavras, junto com sua quantidade de ocorrências (em documentos em inglês), e se a ordenava por freqüência de maior a menor, cumpria-se do que a freqüência da i-esima palavra multiplicada por i (o ranking), era igual a um constante C, isto é:
C = ranking do termo t * freqüência termo t
Outros trabalhos de investigação demonstraram que a lei de Zipf se aplica a outras situações relacionadas com a recuperação de informação. Para Baeza Yates no espaço web existem fenômenos como os seguintes
* Tamanhos dos arquivos que transfere o protocolo http
* Número de enlaces que saem de uma página
* Número de enlaces que chegam a uma página
* Data de atualização das páginas existem mais páginas novas ou modificadas do que velhas
* Freqüência de acesso a páginas web.
O comportamento do vocabulário de acordo à lei de Zipf brinda indícios a respeito da utilidade dos termos. Em 1958, sugeriu que as palavras que descrevem de melhor forma o conteúdo se encontram num área compreendida entre as altamente freqüentes e as muito raras (baixa freqüência).
Ley de Heaps
De maneira similar à lei de Zipf, existe outra lei empírica que descreve o comportamento dos termos dentro de um texto escrito denominada lei de Heaps. Nesta lei, propõe-se uma relação entre o tamanho do texto (quantidade de palavras) e o crescimento do vocabulário (quantidade de palavra únicas). Em particular, postula que o tamanho do vocabulário (e seu crescimento) é uma função do tamanho do texto.
V = N * (K^beta)
onde:
N: É o tamanho do documento (quantidade de palavras) K: Constante que depende do texto, tipicamente entre 10 e 100. beta: Também é uma constante que depende do texto, onde 0 <>
* 10 <= K <= 20 • 0.5 <= beta <= 0.6
No entanto, si K = 20 e beta = 0.5, resulta:
V :
| 100000 | 6325 |
| 250000 | 10000 |
| 400000 | 12649 |
| 800000 | 17889 |
| 1000000 | 20000 |
Note-se que o tamanho do corpus cresceu 10 vezes, enquanto o vocabulário mal superou as 3 vezes seu tamanho inicial.
Os resultados da lei de Heaps propõem que à medida que se incorporam documentos a uma coleção, cada vez se descobrirão novos termos para o vocabulário. Sua aplicação é direta já que permite estimar o tamanho do vocabulário com o qual se pode determinar – por exemplo – a escalabilidade das estruturas de dados necessárias para armazenar os índices que suportam o SRI. Isto é altamente útil se utiliza se uma tabela de hash em memória para o índice.

## Toquenização dos textos

Analisadores sintáticos e tokenização
Dentro do complexo e amplo âmbito de domínio do Processamento da Linguagem Natural (PLN), uma das funções essenciais dos analisadores sintáticos ou parsers é a análise de correntes de tokens em procura de possíveis erros sintáticos (recordemos que a sintaxe, entendida em sentido amplo, é aquela parte da gramática que se ocupa das normas que regem a formalização das palavras em estruturas maiores tais como as orações, bem como das relações que estabelecem entre se ditas palavras). Um token se pode definir como a unidade mínima de informação com significado próprio dentro de uma seqüência de caracteres alfanuméricos. Estas correntes de unidades mínimas de informação ou unidades léxicas são geradas previamente pelo módulo lexicográfico integrado no parser, encarregado de identificá-las dentro de um texto ou seqüência ordenada de caracteres alfanuméricos. Por sua vez, a tokenização é um processo consistente na decomposição, em forma de lista, dessas correntes de tokens em suas unidades mínimas. Assim, um programa deste tipo poderia gerar a seguinte lista de tokens a partir da frase "¡Oi Mundo!":
[161, 72, 111, 108, 97, 32, 77, 117, 110, 100, 111, 33]
Onde cada um dos números da lista se corresponde com o caráter ASCII (American Standard Code for Information Interchange) correspondente a cada uma das unidades mínimas de significação identificadas na frase, no mesmo ordem. Por suposto é possível levar a cabo o processo inverso, e a partir dessa lista gerar as correntes de tokens que formam a frase em questão. A tokenização é por tanto o processo básico que permite manipular a linguagem natural escrito para seu posterior processamento, em base a sua decomposição em unidades mínimas de informação com significado próprio.
A maior parte das linguagem de programação contemplam instruções específicas para levar a cabo o processo de tokenização de correntes ordenadas de caracteres alfanuméricos, conquanto é possível implementar alternativamente esta operação mediante outros procedimentos proporcionados por essas linguagens.
Assim, um programa que pretenda "ler" um texto, deverá em primeiro lugar "tokenizalo", gerando uma lista dos tokens, ou unidades léxicas mínimas com significado próprio, identificados nesse texto. A seguir, procederá a identificar unidades maiores de significado próprio (contemplando, por exemplo, a presença, como elemento separador, do caráter ASCII 36, que se corresponde com o espaço em alvo), o que poderíamos assimilar como "palavras", para, finalmente, acabar identificando outras unidades de significação de ordem superior, frases ou orações. Diferenciadas as orações do texto "lido", o parser procede a realizar a análise sintática propriamente dito, identificando para isso as partes constitutivas de ditas orações que, a tal fim, são comparadas com padrões previamente definidos de estruturas possíveis, que dependerão da língua de escritura do texto, e do nível de complexidade de análise que se pretenda atingir, já que contemplar todas as possíveis estruturas de uma língua e suas numerosas variações, e representá-las mediante uma série de regras, não é uma tarefa precisamente singela.
A detecção das variações de posição admitidas em cada língua, em relação com o ordem das palavras, ou análises das transformações, realiza-se mediante processos de análise estrutural que tratam de identificar a estrutura profunda de uma oração em relação com sua estrutura superficial. A análise estrutural, em base à estrutura superficial (2) de uma oração e, mudando o ordem de determinadas palavras, trata de determinar sua possível transformação a uma estrutura de tipo profundo (1):
(1) Estrutura profunda: "Pedro come uma maçã"
(2) Estrutura superficial: "Come Pedro uma maçã"
A implementação do processo de tokenização, à margem da utilização de instruções específicas que transformam diretamente uma corrente de caracteres alfanuméricos numa corrente de tokens, implica a utilização de outro tipo de instruções cuja função é a "leitura" individual, um a um, dos caracteres presentes no canal ou grupo ativo primeiramente de dados (input stream) que se acha especificado, que pelo geral será bem o teclado do computador, que é o canal ativo primeiramente por defeito (ao igual que o canal de saída de dados, output stream, por defeito é o monitor do computador), ou bem um ficheiro de texto localizado na rota que se indique.
Assim, na linguagem Prolog existe o pregado predefinido name(?AtomOrInt, ?String). O argumento AtomOrInt é a variável que representa a corrente de caracteres alfanuméricos ou "átomo" que se deseja tokenizar, enquanto o argumento String é a variável que representa a lista resultante. O símbolo "?" indica que ambos argumentos são reversíveis, isto é, que podem funcionar tanto como variáveis primeiramente de dados como variáveis de saída, conquanto um deles tem de estar necessariamente instanciado. Seu modo de funcionamento é o seguinte:
?- name('¡Oi Mundo!', X).
X = [161, 72, 111, 108, 97, 32, 77, 117, 110|...] [write]
X = [161, 72, 111, 108, 97, 32, 77, 117, 110, 100, 111, 33]
Yes
A indicação [write] simplesmente expressa que, uma vez que o intérprete proporciona a lista de tokens, incompleta como indica a barra vertical seguida de pontos suspensivos "|...", digitou-se o operador w para que esta se mostre em toda sua extensão, já que, neste caso SWI-Prolog, mostra por defeito em tela uma versão abreviada das listas, quando estas excedem determinada longitude (não obstante se podem obter listas completas utilizando o comando "w", tal e como se explica nesta página). Por suposto, existem mais predicados para a manipulação de átomos, como se referência no apartado "Analysing and Constructing Atoms" do manual de SWI-Prolog.
Outra forma de tokenizar átomos em Prolog é utilizar o predicado get0/1 y get0/2 e algum tipo de algoritmo recursivo que vá "percorrendo" todo o texto do canal ativo primeiramente de dados (um arquivo externo, por exemplo), e ao tempo introduza os tokens resultantes, incluindo os espaços em alvo (get/1 e get/2 não os lêem), numa lista acumuladora, em tanto não se alcance determinado marcador de paragem, definido previamente (para este fim costuma aproveitar-se o átomo endoffile, que se corresponde com o final de texto). Este predicado realmente lê o byte correspondente a cada caráter alfanumérico individual, associando-o com seu correspondente código ASCII.
O analisador sintático, em base aos constituintes de uma oração (vejam-se os princípios da gramática generativa de Noam Chomsky), e mediante um número finito de regras, trata de determinar a gramaticalidade ou não de um número infinito de construções. Um analisador sintático trata de ver até que ponto pode submeter-se um grupo de palavras a uma estrutura de regras. Assim por exemplo, se temos a oração:
Pedro come uma maçã
Em primeiro lugar, e mediante um processo de tokenização, gera-se uma lista das palavras que contém. Desta lista inicial de palavras, pode-se diferenciar uma sublista que se corresponda com o Sintagma Nominal (SN) da oração, e se esta pode concatenar-se com outras sublistas que segundo determinadas regras se verifica como Sintagma Verbal (SV), a oração se conclui que é gramatical. O que importa nos constituintes é o ordem das palavras da oração.
O analisador sintático realiza a análise sequencialmente, palavra por palavra, partindo de uma lista inicial que, seguindo com o exemplo da oração exposta, seria:
[pedro,come,uma,maçã]
O processo de computação das regras do analisador sintático deve dar como resultado outra lista, que será uma lista vazia se a oração inicial é gramatical (sempre em base às regras que tenha definidas o analisador). Em definitiva, partindo da lista inicial de palavras, o analisador sintático comprova se esta se pode subdividir em dois sublistas, que se correspondem, respectivamente, com o SN e o SV da oração.

## Processamento Lingüístico

Esta aproximação se baseia na aplicação de diferentes técnicas e regras que codificam de forma explicita o conhecimento lingüístico [Sanderson, 2000] . Os documentos são analisados a partir dos diferentes níveis lingüísticos, citados já anteriormente, por ferramentas lingüísticas que incorporam ao texto as anotações próprias de cada nível. A seguir se mostram os diferentes passos a realizar para levar a cabo uma análise lingüística dos documentos ainda que isso não implique que se apliquem em todos os sistemas.
Análise morfológica é executado pelos etiquetadores (taggers) que atribuem a cada palavra sua categoria gramatical a partir dos rasgos morfológicos identificados.
Depois de identificar e analisar as palavras que formam um texto, o seguinte passo consiste em ver como estas se relacionam e combinam entre si para formar unidades superiores, os sintagmas e as frases. Por tanto, trata-se de realizar a análise sintática do texto. Neste ponto se aplicam gramáticas (parsers) que são formalismos descritivos da linguagem que têm por objetivo fixar a estrutura sintática do texto. As técnicas empregadas para aplicar e construir as gramáticas são muito variadas e dependem do objetivo com o que se realiza a análise sintática. No caso da recuperação da informação acostuma a aplicar-se uma análise superficial, onde se identificam unicamente as estruturas mais significativas: frases nominais, sintagmas verbais e preposicionales, entidades, etc. Este nível de análise costuma utilizar-se para otimizar recursos e não ralentizar o tempo de resposta dos sistemas.
Partir da estrutura sintática do texto, o seguinte objetivo é obter o significado das frases que o compõem. Trata-se de conseguir a representação semântica das frases, a partir dos elementos que a formam.Uma das ferramentas mais utilizadas no processamento semântico é a base de dados lexicográfica WordNet. Trata-se de um léxico semântico anotado em diferentes línguas, formado por grupos de sinônimos chamados synsets dos que se facilitam definições curtas e se armazenam as diferentes relações semânticas entre estes grupos de sinônimos.
Exemplo de informação semântica facilitada por WordNet http://wordnet.princeton.edu/perl/webwn

## Indexação

A Indexação Semântica Latente (ISL), é um modelo alternativo que trata a busca de informação mediante a indexação de termos, localizando-os num contexto semântico comum, isto mediante cálculos matemáticos especializados, que dão como resultado a simulação da análise realizada, normalmente por um ser humano (agrupação de vários critérios e termos semanticamente relacionados), com a capacidade de cor e armazenamento de uma máquina.
O desenvolvimento e crescimento em massa das redes de computadores e meios de armazenamento ao longo dos últimos anos, motivou a aparição de um crescente interesse pelos sistemas de classificação automática de documentos. Estes sistemas realizam diferentes operações de classificação baseando-se na análise do conteúdo do texto dos documentos que processam. A maioria das técnicas de análises e representação de documentos utilizadas na atualidade nos sistemas de classificação, baseiam-se em critérios fundamentalmente estatísticos, centrados em freqüências de aparição de termos em documentos.
Dentro dos sistemas de classificação de documentos podemos distinguir os sistemas de recuperação de texto, que selecionam aqueles textos ou documentos que são adequados a uma necessidade do usuário entre um conjunto mais amplo, e sistemas de grupamento de textos que, a partir de um conjunto de textos, constroem subconjuntos destes com conteúdos semelhantes. Se trabalhamos com este tipo de sistemas, devemos centrar-nos em três questões fundamentais:
* Método de representação: forma em que serão representados internamente os documentos.
* Método de análise: processo que permitirá obter as representações concretas dos documentos a partir da análise de seu conteúdo.
* Método de cálculo de similitude: entre as representações dos documentos e a representação do outro elemento da operação de classificação.
Uma vez introduzida a recuperação de textos, diremos que o termo de indexação faz referência a um método que engloba a definição de um de representação e um de análise. O termo processo de indexação faz referência ao processo de análise de documentos para a obtenção de uma representação concreta dos mesmos. Existe uma série de elementos que se podem utilizar para a definição de métodos de indexação e cálculo de similitude. Em concreto, o modelo do espaço vetorial proporciona as bases para definir um método de representação e cálculo de similitude.