CAPÍTULO 4 - PROPOSTA DE DISSERTAÇÃO
4.4 Arquitetura da Proposta
Esta proposta de dissertação de mestrado está inserida no sistema DORS-SCA, onde são exibidas na seção 4.4.1 e 4.4.2 duas ferramentas: SCAtRanslator e SCAeXtractor, respectivamente. Na seção 4.4.3 é apresentado o módulo de classificação de sentença, e ainda, na seção 4.5 o banco de dados do projeto Anemia Falciforme.
4.4.1 SCAtRanslator
O SCAtRanslator (Sickle Cell Anemia tRanslator) é uma ferramenta de conversão de artigos da área médica sobre a doença Anemia Falciforme do formato PDF para o formato XML. Tem como entrada artigos científicos no formato PDF (não estruturado) e o objetivo é converter esses arquivos PDF em documentos XML para que possam ser utilizados pela ferramenta de extração de informação (SCAeXtractor). A Figura 4.6 ilustra a arquitetura do SCAtRanslator.
Figura 4.6 - Arquitetura do SCAtRanslator.
Na etapa 1, é utilizada uma API do Gmail, ferramenta de e-mail desenvolvida pela Google, para converter do formato PDF para o formato HTML. O motivo de utilizar esta API é que foi a melhor encontrada para efetuar tal tarefa. O arquivo convertido possui informações textuais com etiquetas HTML. Na etapa 2, é utilizado do arquivo intermediário TXT para fornecer o texto sem etiquetas HTML, simplificando assim a leitura do processamento textual. Este arquivo, portanto é utilizado para substituir as etiquetas HTML por XML. Por último, na etapa 3, no arquivo TXT consta os
dados fornecidos pelo documento HTML (etapa 1). Com composição de heurísticas simplificadas é gerado um documento XML com as seguintes etiquetas: nome da revista, título, subtítulos, autores do artigo, parágrafos e sentenças de uma determinada página. Alguns exemplos de heurísticas desenvolvidas são:
A maior fonte do texto identifica o título do artigo;
Palavras em negrito ou totalmente em letras maiúsculas sem ponto final e que ocupam apenas uma linha são identificadas como subtítulo;
Para identificar parágrafo são analisadas três linhas do documento HTML: a linha atual 𝑖, linha anterior 𝑖 − 1 e próxima linha 𝑖 + 1. Caso o atributo 𝑙𝑒𝑓𝑡 da linha 𝑖 seja maior que o atributo 𝑙𝑒𝑓𝑡 das linhas 𝑖 − 1 e 𝑖 + 1, então a linha 𝑖 inicia um parágrafo;
Palavra terminada com letra minúscula e seguida de ponto (.) é identificada como sentença.
Para geração de scripts, foi utilizada a linguagem de programação Perl. Cada documento XML gerado pela ferramenta deve manter o mesmo conteúdo textual do documento PDF original, admitindo inclusive a identificação de uma sentença de um parágrafo de uma página. Um documento XML fornecido pela ferramenta SCAtRanslator é mostrado como exemplo na Figura 4.7:
Figura 4.7 - Exemplo de documento XML gerado pela ferramenta SCAtRanslator.
4.4.2 Módulo de Classificação de Sentença
A partir dos documentos (artigos) sugeridos pelos especialistas é construído o modelo de classificação. O módulo de Classificação de Sentença é composto de três etapas, como ilustrado na Figura 4.8.
Figura 4.8 - Processo de classificação de sentença.
A etapa de Carregamento dos Dados (1) consiste em selecionar manualmente sentenças de artigos científicos sobre as classes de interesse relacionadas ao domínio biomédico. Nesta etapa foram realizados alguns procedimentos em cada sentença, como: todos os caracteres das sentenças foram colocados em letras minúsculas; vírgulas, parênteses, colchetes, apóstrofos, etc.
foram excluídos. As sentenças selecionadas pertencem a seções específicas do artigo (resumo, resultado e discussão).
A próxima etapa da classificação de sentença é o Pré-processamento (2) na qual as sentenças foram estruturadas utilizando o modelo bag-of-words. Isto é necessário para que as mesmas possam ser manipuladas por algoritmos de aprendizagem. Neste modelo as sentenças são organizadas em uma matriz de atributo-valor. Cada linha 𝑖 representa uma sentença 𝑠𝑖. Cada coluna 𝑙 representa os termos ou uma sequência de termos (n-gram) 𝑡1, 𝑡2, … , 𝑡𝑀 presentes nas sentenças obtidas a partir da etapa (1). Cada sentença 𝑠𝑖 está associada a uma classe-𝑐𝑖 . Cada célula da matriz representa uma medida que relaciona a sentença e o termo. A medida binária é utilizada com o intuito de representar a presença ou a ausência do atributo na sentença.
Nesta etapa pode-se aplicar algumas técnicas para a redução dos termos comuns e irrelevantes como a utilização de stopwords ou para o ranqueamento dos termos mais importantes segundo algum critério como a utilização de seleção de
atributo. Ambas as técnicas visam reduzir a dimensionalidade do espaço de busca dos atributos a fim de melhorar a precisão do algoritmo de indução.
Na etapa (2) é usado bag-of-words para construir o modelo de classificação utilizando algoritmos de aprendizado, por exemplo, Naïve Bayes, Support Vector Machine e J48 (fase de treinamento) (3). Os modelos obtidos são avaliados de acordo com algumas métricas, como precisão e revocação. Este modelo é utilizado para classificar novas sentenças (fase de utilização do modelo ou teste) (3).
4.4.3 Módulo de Extração de Informação
A extração de informação no âmbito biomédico utiliza a combinação de três abordagens da literatura (ANANIADOU; MCNAUGHT, 2006):
1. Aprendizado de Máquina: utilizado para a classificação textual;
2. Regras: método formal para especificar um padrão de texto. São utilizadas para extrair informações de sentenças classificadas na etapa anterior;
3. Dicionário: armazena informações relacionadas ao domínio biomédico no intuito de auxiliar a construção de regras, aumentando a precisão e revocação na identificação dessas informações. A construção do dicionário é manual, a partir da identificação de termos em artigos científicos.
A Figura 4.1 ilustra o processo adotado para extrair informações do domínio biomédico. As sentenças selecionadas em cada artigo processado pelo módulo de extração de informação (ou SCAeXtractor) são classificadas utilizando técnicas de aprendizado de máquina. Cada sentença classificada é analisada utilizando expressões regulares (regras) a fim de identificar as informações relevantes. Um dicionário de terminologia do domínio biomédico é utilizado para ajudar na construção das expressões regulares. O especialista pode validar as informações extraídas (filtro) antes das mesmas serem armazenadas no banco de dados biomédico. O especialista também pode avaliar a sentença classificada e adicionar novos termos ao dicionário.
Formalmente, considere 𝑆 = (𝑠1, 𝑠2, . . . , 𝑠𝑛) o conjunto de sentenças de treinamento e C = (𝑐1, 𝑐2, . . . , 𝑐𝑛) o conjunto de classes predefinidas. A classificação visa identificar uma função 𝑓 que mapeia cada sentença 𝑠𝑖 para uma das classes predefinidas 𝑐𝑗: 𝑓 (𝑠𝑖) = 𝑐𝑗, onde 𝑖 = 1, . . . , 𝑛 e 𝑗 = 1, . . . , 𝑚. Para cada classe 𝑐𝑗 é
definida um conjunto de expressões regulares 𝑟𝑒ɵ a fim de identificar informações relevantes. O símbolo ɵ indica informação relacionada a “tratamento”, “outros” ou a qualquer outra informação.