A TABELA DE EXTRACÇÃO DE CAMPOS
A tabela de extracção de campos é um ficheiro utilizado pelo CDS/Isis para actualização do ficheiro inverso (índice), para a reformatação de estruturas de dados na troca de informação e ainda para a criação de chaves de ordenação alfabética de relatórios. A construção da tabela de extracção implica que se tenha em conta, sempre que possivel, os tipos de pesquisa pretendidos e a forma de consulta da base de dados com vista a obter resultados precisos e pertinentes. O CDS/Isis disponibiliza um grande número de funcionalidades para garantir o êxito dos processos de recuperação da informação, como sejam:
A tabela de extracção de campos é um ficheiro do tipo TXT o qual é composto por três colunas onde se identificam os seguintes elementos:
O ficheiro inverso que contem os indíces do CDS/Isis consta de cinco elementos:
O valor indicado na coluna 1 da FST gera a componente ID do ficheiro inverso, a qual atribui uma identificação a cada uma das chaves geradas pelo formato de extracção. Esta identificação poderá ser utilizada posteriormente, para qualificar as pesquisas que sejam feitas sobre a base de dados. Geralmente é utilizada como ID a mesma etiqueta (tag) que é indicada na tabela de definição de campos, mas em alguns casos pode-se optar por uma etiqueta com outro valor para obter uma forma diferente de indexação. Por exemplo: consideremos que a base de dados contem 3 campos para a entrada de autores: 10: Autor-pessoa a nivel analítico Para efeitos de pesquisa todos os autores devem ser considerados de forma idêntica, independentemente do tipo de documento onde aparecem referidos. Então, iremos atribuir na FST um ID 10 para todas as chaves que sejam criadas a partir dos campos 10, 16 e 23 com o objectivo de efectuar a pesquisa por autor, qualquer que seja o tipo de documento. Portanto, se a FST especifica: 10 0 (v10/)(v16/)(v23/) ao executar a pesquisa Amaro, Jorge Luis /(10) sobre o índice teremos como resultado todos os registos que possuem a entrada Amaro, Jorge Luis extraída tanto do campo 10, como do campo 16 ou do campo 23; desta forma serão recuperados os registos independentemente do tipo de autor que esteja registado na base de dados. A atribuição de um Id único para várias etiquetas da base de dados permite facilitar ao utilizador a formulação das expressões de pesquisa de modo a realizar pesquisas genéricas (localizar um termo existente em qualquer campo), ou pesquisas qualificadas (localizar um termo particular, qualificado a partir do Id definido na FST). O âmbito de cada pesquisa dependerá assim das decisões tomadas na altura de definir as chaves da FST. Neste momento existem 8 técnicas de indexação:
As técnicas 2 e 3 têm efeitos semelhantes na criação da chave; a diferença provem do tipo de delimitador utilizado para identificar as palavras chave. No caso do delimitador ... este poderá ser escondido através do recurso à declaração de modo MHx ou MDx, no formato de extracção. O delimitador /.../ não permite esta facilidade e estará sempre visivel tanto nas listagens impressas como na visualização no écran. Quando se aplica uma FST sobre um registo, para obter uma chave, a ordem das operações é a seguinte:
do qual pretendemos obter as seguintes chaves:
A Fst necessária para implementar esta especificação é a seguinte
O conceito lógico de ficheiro inverso corresponde a um conjunto de 6 ficheiros físicos, 5 dos quais são índices de acesso para o dicionário de termos, o qual (com a extensão .ifp) inclue todas as chaves obtidas da base de dados através da aplicação da tabela de extracção de campos (fst) a cada um dos registos. O dicionário de termos é uma lista alfbética de todos os pontos de acesso que foram extraídos da base de dados (com o auxilio da .fst) e cada chave tem associada uma lista de apontadores que definem a origem de onde se extraiu o termo. Esta lista de apontadores denominada "postings" tem 4 componentes:
Por exemplo, se o termo "Educação" aparece nos registos 1 e 20 do campo Assuntos (v76) e tambem se encontra no campo Título (v16) do registo 35: Métodos de educação à distância, ao aplicar a seguinte Fst sobre o registo: 76 0 (v76/)16 4 v16 o dicionário de termos incluirá o termo Educação da seguinte forma: EDUCACAO 1 76 1 1 Foram criados três "postings" para o termo educação. O primeiro, 1 76 1 1 indica que a palavra chave provém do MFN 1, primeira ocorrência do campo 76 e está localizada no início do campo. O segundo apontador 20 76 1 1 especifica que tambem se encontra no Mfn 20, campo 76, primeira ocorrência e primeira palavra e por último, 35 16 1 3 indica que o registo 35 contem o termo educação, extraído do campo 16, primeira ocorrência sendo a terceira palavra do campo. A técnica de indexação 0 coloca sempre o valor 1 como posição relativa da chave dentro do campo. As restantes técnicas de indexação fornecem a posição relativa da chave dentro do campo. Esta posição relativa permite a pesquisa por proximidade, dado que se torna possivel saber qual a distância entre palavras através da determinação da diferença relativa de cada posição. A distância entre dois termos obtem-se através da diferença entre as suas posições relativas. O valor do número da ocorrência é utilizado para aplicar o operador (F) de forma a determinar se, numa expressão de pesquisa, os termos estão na mesma ocorrência de um campo repetível. Por exemplo, supondo que um registo contem o seguinte texto no campo Resumo 72: A educação presencial fortalece-se com a adequação... Se este campo for indexado da seguinte maneira: 72 4 (v72/) e posteriormente queremos recuperar todos os documentos cujo conteúdo faça referência a EDUCACAO A DISTANCIA, a expressão de pesquisa: EDUCACAO (G) DISTANCIA recupera o registo mencionado anteriormente mesmo que não haja uma referência explícita a Educação à distância, porém EDUCACAO (F) DISTANCIA não recuperará o registo. A razão está na diferença entre o operador (G), que não averigua qual a ocorrência de onde foi originada a chave, e o operador (F) que analiza o número da ocorrência de cada um dos "postings" dos termos recuperados. Analizemos agora a FST que mencionamos no início desta página:
É assim muito importante que o formato de extracção, a aplicar sobre o registo, esteja em consonância com a técnica de indexação; se assim não for poderá incorrer em erros na criação das chaves. Além disto, uma boa aplicação da linguagem de formatação permitirá criar as chaves mais adequadas que assegurem uma eficiente recuperação da informação. A compreensão do mecanismo de armazenamento das chaves e a escolha do operador de pesquisa mais adequado garantirá uma resposta precisa às necessidades de cada utilizador. |
Uso de prefixos no processo de criação de chaves
Como o dicionário de termos é um ficheiro único com todas as chaves ordenadas alfabéticamente, estas misturam autores, títulos e palavras chave e, em geral, todos os campos indexados na FST . Se pretendemos manter separadas estas chaves por tipo de campo de onde foram originadas, teremos duas possíveis soluções:
De acordo com a primeira opção, se a fst
for modificada para
Como pode observar-se foram introduzidas as seguintes alterações:
As chaves que se estavam a indexar com a técnica 0, foram alteradas para adicionar um pré-literal com o prefixo que queremos utilizar para diferenciar os dados. Para as restantes técnicas de indexação (5, 6, 7 e 8) o prefixo deve ser incluido antes do formato de extracção, com a seguinte sintaxe:
Para além de ser possivel ver o conteúdo de um campo de forma ordenada, sem o misturar com termos obtidos de outros campos, a pesquisa através de prefixo é mais rápida que a pesquisa qualificada; ou seja: Procurar M:Educação é mais eficiente que Educação/(650) pois a pesquisa qualificada obriga a verificar cada um dos apontadores (postings) do termo. Além disto, dependendo da experiência dos utilizadores finais e da capacidade do equipamento onde a base de dados fica instalada convirá indexar os dados de várias maneiras, com e sem prefixo, de modo a permitir maior flexibilidade nas pesquisas. Um maior número de chaves de pesquisa implica maior espaço em disco mas não necessáriamente menor velocidade de recuperação, dada a estrutura do ficheiro inverso (árvore B*) a qual se reorganiza constantemente para que a altura da árvore seja sempre a mesma em todos os seus ramos ( a altura da árvore reflecte o número de acessos necessários para localizar um termo do ficheiro inverso. (ver Estrutura do ficheiro inverso). Os produtos da família CDS/Isis, exceptuando Isis/Dos e WinIsis permitem definir mais de um dicionário de termos para uma base de dados. Isto é, com o IsisDll, por exemplo, podemos criar um dicionário para autores, outro para títulos, etc. Contudo, para que os termos de diferentes campos se possam combinar entre si, numa mesma expressão de pesquisa, através dos operadores booleanos será necessário definir um dicionário geral que os agrupe a todos já que não é possivel cruzar os termos de vários dicionários. A facilidade de usar dicionários particulares substitui o uso de prefixos, para apresentar ao utilizador os termos extraidos de um campo particular, e permite operar lógicamente os termos de um mesmo dicionário. |
Transparência no uso de maiúsculas, minúsculas e caracteres especiais
Uma das particularidades do mecanismo de pesquisa do CDS/Isis radica na transparência quanto ao uso de maiúsculas, minúsculas e caracteres especiais. Para ser possivel este objectivo, todas as chaves são guardadas em maiúsculas no ficheiro inverso e, se tal for parametrizado, os caracteres acentuados são convertidos no seu equivalente em maiúsculas. No momento da pesquisa as respectivas expressões são transformadas igualmente em maiúsculas o que reduz os erros por deficiente digitação dos termos pelo utilizador. . Para realizar a conversão das chaves e expressões de pesquisa, as estruturas CDS/Isis utilizam o ficheiro ISISUC.TAB que deverá estar em concordância com o conjunto de caracteres adoptado para a base de dados (ver Tabela de conversão de maiúsculas a minúsculas) Quando se indexam os campos com a técnica 4 (por palavras) CDS/Isis utiliza a tabela ISISAC.TAB para estabelecer a composição do conceito "palavra"; isto é, la tabela ISISAC.TAB indica ao CDS/Isis quais os caracteres a considerar como alfabéticos, para formar as palabras. Qualquer caracter que não faça parte da ISISAC.TAB será considerado um separador e dará por terminada a palavra. Suponhamos que na ISISUC.TAB estabelecemos como equivalente à letra ñ a sua expressão em maiúscula Ñ. Se em ISISAC.TAB não for incluido o código Ñ (165 em Ascii ou 209 en Ansi)
isto é, cada palavra divide-se em duas, criando duas entradas no dicionário, já que ao não estar o ñ incluído em ISISAC.TAB passa a ser considerado como um separador equivalente a um sinal de pontuação.
|