• Nenhum resultado encontrado

Ferramenta de Separa¸c˜ao de Publica¸c˜oes

Como visto na se¸c˜ao anterior, nem todos os arquivos de uma universidade s˜ao HTML podendo existir arquivos do tipo PDF ou PS. O primeiro passo ´e a convers˜ao destes arquivos para o formato texto. Para realizar a convers˜ao foram utilizadas ferramentas do Sistema Operacional e sobre os arquivos textos gerados usou-se um programa, criado em Python, para marcar o in´ıcio de cada publica¸c˜ao. Em alguns casos, as ferramentas de convers˜ao cometiam alguns erros o que exigia um processo semi-autom´atico para marcar o in´ıcio das publica¸c˜oes.

Logo ap´os todos os arquivos PDF/PS da universidade terem sido convertidos, o pro- grama Split, que foi tamb´em implementado em linguagem Python, ir´a iniciar seu trabalho e separar as publica¸c˜oes. Esta ferramenta conseguir´a realizar esta tarefa com base nas tags HTML e nas marca¸c˜oes inseridas no texto convertido. Caso o arquivo contenha as marcas ent˜ao o trabalho ´e bastante simples, resumindo-se a encontrar uma marca que indica o in´ıcio de uma publica¸c˜ao e capturar o texto at´e antes da marca da pr´oxima publica¸c˜ao. Estas buscas s˜ao feitas at´e todas as marcas terem sido processadas.

Caso o arquivo seja HTML ent˜ao a ferramenta Split ir´a se basear nas tags para deli- mitar o texto de cada publica¸c˜ao. O primeiro passo ´e encontrar todas as ocorrˆencias do sobrenome do autor. Vale lembrar que o Tokenizer tamb´em adota esta premissa de que o sobrenome do autor ´e conhecido. Para cada ponto do texto HTML onde o sobrenome do autor foi encontrado procura-se ao redor por tags que caracterizem uma divis˜ao l´ogica de id´eias, como por exemplo separar as publica¸c˜oes usando tags de tabelas (“<td>” e “</td>”) ou um separador “<p>”. O programa Split possui uma lista contendo v´arios tipos de tags que caracterizam divis˜oes de conte´udo, e somente estas s˜ao utilizadas como separadoras de publica¸c˜oes. Alguns exemplos destas tags s˜ao: “<li>”,“<p>”,“<div>”, “<tr>”,“<td>”, “<dt>”, e “<ptitle>”. O texto da publica¸c˜ao ´e capturado utilizando-se as tags separadoras mais pr´oximas do sobrenome do autor. Exemplo:

<h2> Articles in conference proceedings </h2> <ul class="index">

<li> D. Burkett and D. Klein, "Two languages are better than one (for syntactic parsing)," in <em>Proc. 2008 Conf. on Empirical Methods in Natural Language Processing (EMNLP ’08)</em>, ACL Anthology, Stroudsburg, PA: Association for Computational Linguistics, 2008, pp. 877-886.

</li><p>

Neste exemplo as tags “<li>” e “</li>” delimitam o texto da publica¸c˜ao e s˜ao usadas para separ´a-lo.

Um problema encontrado foi quanto ao uso da tag “<br>”, pois ela pode caracterizar tanto uma divis˜ao entre duas publica¸c˜oes distintas, como um pulo de linha dentro de uma mesma publica¸c˜ao. A ferramenta Split somente usa este separador para dividir as publica¸c˜oes se n˜ao foi encontrada nenhuma outra tag separadora. Esta abordagem funciona muito bem para a maioria dos casos, mas para algumas p´aginas a tag “<br>” ´e usada para separar duas publica¸c˜oes distintas, e existem outras tags separadoras pr´oximas, servindo, por exemplo, para agrupar artigos em diferentes temas. Nesse caso ocorre uma falha, e Split extrai um texto muito maior, contendo duas ou mais publica¸c˜oes. Ocorre que durante o processamento da universidade s˜ao exibidos dados sobre o andamento da execu¸c˜ao, tais como, nome do autor, quantas publica¸c˜oes foram extra´ıdas, tamanho da maior publica¸c˜ao, e m´edia do tamanho das publica¸c˜oes. Caso ocorra esta situa¸c˜ao, para aquele autor ser˜ao extra´ıdas poucas publica¸c˜oes e cada uma ter´a um tamanho anormal. Conforme estes dados v˜ao aparecendo os nomes dos autores que apresentaram problemas s˜ao anotados manualmente. No final o processo ´e refeito, ou seja, Split ´e novamente executado para aquela universidade, mas agora ´e passado todos os nomes anotados para que o programa force a divis˜ao entre publica¸c˜oes atrav´es do “<br>”. Este procedimento mostrou-se eficaz na extra¸c˜ao do texto da referˆencia.

No momento que Split extrai uma publica¸c˜ao, a ferramenta Tokenizer ´e chamada para extrair o ve´ıculo da mesma. Portanto a sa´ıda do Split j´a ´e o resultado do processamento

sobre cada referˆencia. ´E dado abaixo um exemplo de como uma linha do arquivo de sa´ıda

´e estruturada:

Uma linha tem o seguinte formato:

Venue ; Acro ; Year ; C/J/O? ; Author ; University ; FullRef , onde

• FullRef ´e o texto completo da referˆencia. Exemplo: Azriel Rosenfeld , John L.

Pfaltz, Sequential Operations in Digital Picture Processing, Journal of the ACM (JACM), v.13 n.4, p.471-494, Oct. 1966.

40 Cap´ıtulo 3. Ferramentas de Extra¸c˜ao e Ordena¸c˜ao dos Ve´ıculos

• University ´e o nome da universidade de origem desta publica¸c˜ao. Exemplo: virgi-

nia (nome ´unico e padronizado para representar “The University of Virginia”).

• Author ´e o nome do autor da p´agina de onde foi extra´ıdo a publica¸c˜ao. Exemplo:

John L. Pfaltz

• C/J/O? ´e um c´odigo usado para marcar se uma publica¸c˜ao j´a foi identificada

previamente como uma conferˆencia (C), um peri´odico (journal ) (J), ou se sabe que ´e outro tipo (O).

• Year ´e o ano extra´ıdo da publica¸c˜ao. Exemplo: 1966. • Acro ´e o acrˆonimo extra´ıdo da publica¸c˜ao. Exemplo: jacm.

• Venue ´e o nome do ve´ıculo de publica¸c˜ao extra´ıdo. Exemplo: journal of the acm.

A seguir o resultado dos testes com a ferramenta Split, e na pr´oxima se¸c˜ao ser´a descrito o funcionamento do Tokenizer, que ´e respons´avel por encontrar no texto da publica¸c˜ao o nome do ve´ıculo, acrˆonimo e ano de publica¸c˜ao.

3.2.1

Teste do Split

Recolheu-se um conjunto amostral de 372 elementos para analisar os erros na segmenta¸c˜ao das referˆencias bibliogr´aficas. Este valor foi escolhido para garantir um n´ıvel de confian¸ca de 95% com um intervalo de confian¸ca de 5%. Foi analisado a porcentagem de erro de segmenta¸c˜ao (referˆencias n˜ao segmentadas ou segmentadas parcialmente) e porcentagem de excesso, ou seja, trechos que n˜ao fazem parte de qualquer referˆencia bibliogr´afica, mas que foram segmentados. No total, ocorreram 3% de erros e 7% de trechos de textos n˜ao relacionados com as referˆencias. Esses 7% de trechos inv´alidos ir˜ao gerar nomes de ve´ıculos inv´alidos na fase de extra¸c˜ao, e podem contribuir em outros erros (como no agrupamento).

Documentos relacionados