• No results found

Para proporcionar um melhor entendimento do processamento dos termos pelo Server, esta etapa foi dividida em três subetapas apresentadas a seguir:

• Subetapa 1 – Indexar os termos;

• Subetapa 2 – Disponibilizar serviço de consulta.

• Subetapa 3 – Gravar os arquivos em formato texto (.txt).

Essas subetapas são executadas somente após ter sido realizada a etapa de converter o documento PDF em termos normalizados, descrita na seção 3.1.2. Elas são melhor detalhadas a seguir e complementadas com as informações de configuração do

3.1.3.1 Indexar os termos

O objetivo desta subetapa é construir uma lista invertida dos termos do vocabulário, sendo que para cada termo haverá um apontamento para todos os documentos nos quais ele é referenciado. Adicionalmente, utilizou-se a técnica positional index descrita por Manning, Raghavan & Schütze (2009, p. 41-43). Essa técnica consiste em adicionar na estrutura da lista invertida a(s) posição(ões), controlada(s) a partir de uma sequência numérica, contendo a posição em que o termo foi encontrado no documento. Ou seja, qual o número da sentença e qual o número da palavra dentro da sentença. Isto permite realizar buscas em que se deseja encontrar a distância entre os termos de uma expressão em uma mesma sentença, tal qual é necessário para a identificação das EM. Cabe ressaltar que, em tempo de busca, é necessário realizar a busca em separado de cada um dos termos da expressão, e a partir do resultado retornado para cada termo é que se torna possível verificar se eles são consecutivos, através de um processamento de alinhamento do posicionamento dos termos, para somente, então, verificar se são adjacentes.

A Figura 18 apresenta um esboço da estrutura de dados utilizada por essa técnica. Onde: {t1, t2, t3, ..., tn} representam os termos do vocabulário; {d1, d2, d3, ..., dn} representam

os documentos; {p1, p2, p3, ..., pn} representam a posição da sentença e da palavra dentro da

sentença em que um determinado termo foi encontrado em um documento; e, {r1, r2, r3, ...,

rn} representam uma referência para o local onde o documento está armazenado.

FIGURA 18 – Esboço da estrutura de dados utilizada na lista invertida com índice posicionado. Fonte: Elaborada pelo autor.

Durante o processamento do Server para criação da estrutura apresentada na Figura 18, o algoritmo segue os passos descritos a seguir.

d1 {p1,p2,…pn} t1 t2 tn d1 {p1,p2,…pn} d2 {p1,p2,…pn} d3 {p1,p2,…pn} d3 {p1,p2,…pn} t3 Documentos (Ldoc) d1 r1 d2 r2 d3 r3 dn rn Termos (Lter)

A cada documento do corpus existente na estrutura hierárquica de arquivos será incluído na lista de documentos Ldoc com uma referência do caminho no qual ele está

fisicamente colocado. Isso ocorrerá logo após o documento ter sido processado pelas etapas definidas na seção 3.1.2, a qual tem como resultado uma coleção de termos numerados de forma sequencial pela sentença começando pelo número um até o número da última sentença e por ordem de termo dentro da sentença começando de um até o número do último termo de cada sentença. A meta seguinte é processar cada termo da coleção a fim de incluí-lo na lista de termos Lter. Mesmo que o termo ocorra várias vezes no

mesmo documento ou em documentos distintos, ele é incluído apenas uma vez nessa lista. Entretanto, para cada termo encontrado no documento serão criadas uma célula de memória dn e uma outra célula com a sua respectiva posição pn, na qual ele ocorre na

coleção de documentos. Cabe ressaltar que para os termos recorrentes em um mesmo documento é necessário criar apenas uma nova célula com o registro de cada posição pn,

considerando que dn é único para cada termo/documento.

Após todo o corpus ter sido processado, documento por documento, todos os termos estarão indexados na memória volátil do computador em uma estrutura de lista invertida e com registro das posições em que o termo foi encontrado no documento.

3.1.3.2 Disponibilizar um serviço de consulta

Essa subetapa é realizada ou não, de forma mutuamente exclusiva com a próxima etapa, dependendo de um parâmetro de configuração do Server. A função dessa etapa é disponibilizar um serviço de consulta através de um protocolo de comunicação entre os dois componentes de software, o Server e o Client. O protocolo de comunicação consiste no envio pelo Client de uma lista contendo todos os bigramas extraídos do documento de referência da busca e o do retorno da resposta dado pelo Server com uma referência do link para os documentos similares encontrados no corpus. Para cada bigrama será processada a busca de cada um de seus termos em separado. Os resultados obtidos serão analisados verificando se os termos de cada bigrama foram encontrados em uma mesma sentença de um mesmo documento e de forma adjacente. Nesse caso será computado o coeficiente de relevância, caso contrário esse item da resposta será descartado para que o próximo item possa ser analisado. Maiores detalhes serão descritos na seção 3.2.2 que apresenta as funcionalidades do componente de software Client.

3.1.3.3 Gravar os arquivos em formato de texto (.txt)

Conforme já descrito, essa subetapa é executada dependendo de um parâmetro de configuração do Server e de forma mutuamente exclusiva com a etapa anterior. Desse modo, em vez de disponibilizar um serviço de consulta, o Server pode ser configurado para executar apenas a funcionalidade de gerar um arquivo com o mesmo nome do documento original, mas com a extensão renomeada para (.txt). Portanto, nesse caso, a etapa de indexar termos, descrita na seção 3.1.3.1, não será executada. O arquivo convertido após passar pelas subetapas de normalização e filtragem dos termos consiste de um documento em formato texto puro, ou uma cadeia de caracteres não formatados. Ou seja, corresponde ao mesmo conjunto de termos a serem indexados em lista invertida. Esses arquivos gerados servirão de base para o processamento de extração das medidas de associação estatísticas realizadas pelo software NSP. Dessa maneira, a base textual utilizada para a extração dos bigramas é a mesma em todas as técnicas utilizadas nesta tese. A Figura 19 mostra um fragmento do arquivo “31.txt” após estar convertido para o formato (.txt). A Figura 20 mostra o mesmo documento no formato original em PDF.

FIGURA 19 – Fragmento do arquivo em formato texto após a conversão. Fonte: Elaborada pelo autor.

FIGURA 20 – Fragmento do documento “31.pdf” no formato original. Fonte: Elaborada pelo autor.