• Nenhum resultado encontrado

Um arcabouço baseado em anotações para enriquecimento semântico de documentos textuais

N/A
N/A
Protected

Academic year: 2021

Share "Um arcabouço baseado em anotações para enriquecimento semântico de documentos textuais"

Copied!
52
0
0

Texto

(1)

Universidade Estadual de Campinas Instituto de Computação

INSTITUTO DE COMPUTAÇÃO

Vandalis Giansante

Um Arcabouço Baseado em Anotações para

Enriquecimento Semântico de Documentos Textuais

CAMPINAS

2017

(2)

Vandalis Giansante

Um Arcabouço Baseado em Anotações para Enriquecimento

Semântico de Documentos Textuais

Dissertação apresentada ao Instituto de Computação da Universidade Estadual de Campinas como parte dos requisitos para a obtenção do título de Mestra em Ciência da Computação.

Orientador: Prof. Dr. Ricardo da Silva Torres

Este exemplar corresponde à versão final da Dissertação defendida por Vandalis Giansante e orientada pelo Prof. Dr. Ricardo da Silva Torres.

CAMPINAS

2017

(3)

Agência(s) de fomento e nº(s) de processo(s): Não se aplica.

Ficha catalográfica

Universidade Estadual de Campinas

Biblioteca do Instituto de Matemática, Estatística e Computação Científica Ana Regina Machado - CRB 8/5467

Giansante, Vandalis,

G348a GiaUm arcabouço baseado em anotações para enriquecimento semântico de documentos textuais / Vandalis Giansante. – Campinas, SP : [s.n.], 2017.

GiaOrientador: Ricardo da Silva Torres.

GiaDissertação (mestrado) – Universidade Estadual de Campinas, Instituto de Computação.

Gia1. Semântica. 2. Sistemas de recuperação da informação - Documentos. 3. Fluxo de trabalho. 4. Mineração de dados (Computação). I. Torres, Ricardo da Silva, 1977-. II. Universidade Estadual de Campinas. Instituto de Computação. III. Título.

Informações para Biblioteca Digital

Título em outro idioma: An annotation based framework for semantic enrichment of textual

documents

Palavras-chave em inglês:

Semantics

Information storage and retrieval systems - Archival material Workflow

Data mining

Área de concentração: Ciência da Computação Titulação: Mestra em Ciência da Computação Banca examinadora:

Ricardo da Silva Torres [Orientador] Joana Esther Gonzales Malaverri Carla Geovana do Nascimento Macário

Data de defesa: 31-08-2017

Programa de Pós-Graduação: Ciência da Computação

(4)

Universidade Estadual de Campinas Instituto de Computação

INSTITUTO DE COMPUTAÇÃO

Vandalis Giansante

Um Arcabouço Baseado em Anotações para Enriquecimento

Semântico de Documentos Textuais

Banca Examinadora:

• Prof. Dr. Ricardo da Silva Torres Instituto de Computação - UNICAMP

• Profa. Dra. Joana Esther Gonzales Malaverri Instituto de Computação - UNICAMP

• Profa. Dra. Carla Geovana do Nascimento Macário Embrapa Informática Agropecuária

A ata da defesa com as respectivas assinaturas dos membros da banca encontra-se no processo de vida acadêmica do aluno.

(5)

Agradecimentos

Primeiramente agradeço à minha família, meus pais, irmãos e irmã que estão presentes durante toda minha caminhada acadêmica, profissional e pessoal. Minha base, meu porto seguro, estou certa que irão se orgulhar muito por minha conquista, assim como me orgulho deles.

Especialmente, agradeço a meu melhor amigo – e também marido – Fábio, em quem eu sempre me espelhei para seguir estudando; meu maior incentivador, em muitos momentos acreditou que eu era capaz mais do que eu mesma. Também à minha filha Ana Paula, que desde tão pequena foi minha companheira na leitura de artigos, execução de experimentos e reuniões de trabalho. Meus companheiros em todos os momentos da vida, seu amor contribui com a minha busca em ser sempre uma pessoa melhor.

Ao Professor Ricardo pela orientação e por compartilhar comigo não somente seu conhecimento, mas também sua experiência profissional e pessoal. Obrigada por me incentivar a persistir nos momentos mais difíceis e por confiar no meu trabalho.

Aos colegas do laboratório RECOD que sempre dividiram comigo seu conhecimento, em paticular Ícaro e Rafael, que me apoiaram no uso do ferramental desenvolvido neste trabalho.

À DGA/UNICAMP pelo apoio durante o desenvolvimento desta pesquisa. Agradeço à Marilda, colega de trabalho e amiga que soube administrar meus momentos de ausência.

(6)

Resumo

Executar tarefas analíticas, como agrupamento e classificação, em coleções de dados textu-ais é objeto de estudo constante em diversas áreas e, em especial, na área de Recuperação de Informação. O enriquecimento semântico é uma forma típica usada para tornar mais representativa a descrição de documentos textuais, visando obter melhores resultados em tarefas de mineração de texto. Este trabalho propõe um sistema de enriquecimento se-mântico de dados textuais que se utiliza de um modelo de representação de documentos baseado em grafos. A implementação do sistema é baseada em um workflow para execu-ção de tarefas de aprendizagem de máquina. Um workflow típico do sistema é composto de (i) um extrator de grafos como forma de representação das amostras da coleção, (ii) um enriquecedor semântico dos grafos obtidos a partir do uso de ontologias (por exemplo, a ontologia WordNet), e (iii) um método de geração da representação vetorial de textos baseado em grafos visando permitir a classificação dos grafos enriquecidos. Os compo-nentes permitem diferentes parametrizações com o objetivo de alcançar bons resultados em tarefas de classificação de texto. Experimentos foram realizados com o novo descri-tor de documentos textuais, chamado Semantic Bag of Textual Graphs, que considera o procedimento de enriquecimento semântico proposto. Os resultados obtidos confirmam os benefícios do uso de workflows na especificação e implementação de procedimentos de anotação e classificação de documentos textuais e apontam para resultados promis-sores na utilização de ontologias em determinados cenários de classificação deste tipo de documento.

(7)

Abstract

Performing analytical tasks, such as clustering and classification, in collections of textual documents are subject of constant study in several areas and especially in the area of Information Retrieval. Semantic enrichment is a typical way used to render a textual document description more representative, aiming at better results in text mining tasks. This work proposes a system of semantic enrichment of textual data that uses a model of document representation based on graphs. The system implementation is based on a workflow for performing machine learning tasks. A typical workflow of the framework is composed of (i) a graph extractor as a representation of the collection samples, (ii) an ontology-based graph semantic enrichment (e.g., WordNet Ontology), and (iii) a method of generating the text vector representation based on graphs to perform the classification of semantically enriched graphs. The components allow different customization proce-dures in order to determine suitable results in text classification tasks. Experiments were conducted with a novel descriptor, named Semantic Bag of Textual Graphs, which con-siders the proposed ontology-based semantic enrichment procedure. The results confirm the benefits of using workflows in the specification and implementation of annotation and classification procedures of textual documents and points out promising results in the use of ontology in certain classification scenarios of this kind of document.

(8)

Lista de Figuras

2.1 Conceitos e relações semânticas na WordNet . . . 19

2.2 Abordagem BoG . . . 22

2.3 Pipeline do BoTG . . . 23

2.4 Referência de arquitetura para SWFMSs . . . 25

2.5 Framework para automatizar experimentos de AM . . . 28

3.1 Exemplo típico de um workflow de classificação. . . 29

3.2 Arquitetura Genérica do Sistema de Enriquecimento Semântico de Dados Textuais . . . 30

3.3 Exemplo de representação baseada em grafo de um documento textual . . 32

3.4 Conceituação hierárquica de uma palavra na WordNet . . . 33

3.5 Exemplo de grafo enriquecido com sinônimos . . . 33

3.6 Arquitetura proposta do Sistema de Enriquecimento Semântico de Dados Textuais . . . 35

3.7 Pipeline SBoTG . . . 36

4.1 Escolha de módulo do Kuaa . . . 38

4.2 Escolha de coleções de documentos textuais . . . 38

4.3 Workflow de experimento de classificação . . . 39

4.4 Resultados com erro de classificação para K-series . . . 43

4.5 Resultados com erro de classificação para Reuters . . . 44

4.6 Resultados com erro de classificação para 20-newsgroups . . . 44

4.7 Gráfico de acerto por classe para coleção Reuters . . . 45

(9)

Lista de Tabelas

4.1 Estatísticas das coleções consideradas nos experimentos. . . 40 4.2 Média do número de vértices nos grafos por amostra (com radicalização) . 41 4.3 Comparativo das eficácias por Macro-F1 (com radicalização) . . . 42 4.4 Média do número de vértices nos grafos por amostra (sem radicalização) . 42 4.5 Comparativo dos resultados médios de Macro-F1 (sem radicalização) . . . 43

(10)

Lista de Abreviações e Siglas

AM Aprendizado de Máquina . . . 14

BoG Bag of Graphs . . . 22

BoTG Bag of Textual Graphs . . . 22

BoVW Bag of Visual Words . . . 22

BoW Bag of Words . . . 21

DIG Document Indexing Graph . . . 20

DNN Deep Neural Networks . . . 47

EMD Earth Mover’s Distance . . . 21

GIS Geographic Information System . . . 26

IA Inteligência Antificial . . . 14

RI Recuperação de Informação . . . 13

SBoTG Semantic Bag of Textual Graphs . . . 15

SESDT Sistema de Enriquecimento Semântico de Dados Textuais . . . 29

SVM Support Vector Machine . . . 27

(11)

TF-IDF Term Frequency–Inverse Document Frequency . . . 21

VSM Vector Space Model . . . 17

WfMC Workflow Management Coalition . . . 24

(12)

Sumário

1 Introdução 13

2 Trabalhos Relacionados 16

2.1 Recuperação de Informação . . . 16

2.1.1 Expansão de Consulta . . . 17

2.1.2 Representação Semântica de Dados Textuais . . . 18

2.2 Representações de Documentos Textuais baseados em Grafos . . . 19

2.2.1 Representação de Textos em Grafos . . . 20

2.2.2 Sacola de Grafos - Bag of Graphs . . . 21

2.3 Workflows . . . 24

2.3.1 Workflow Científico . . . 24

2.3.2 Experimentos Científicos . . . 26

3 Enriquecimento Semântico de Dados Textuais 29 3.1 Contexto de Uso do Sistema . . . 29

3.2 Arquitetura do Sistema . . . 30

3.3 Enriquecimento Semântico Usando Grafos . . . 31

3.3.1 Enriquecimento por Sinônimo . . . 31

3.3.2 Enriquecimento por Hiperônimo . . . 34

3.4 Aspectos de Implementação . . . 34

3.5 Semantic Bag of Textual Graphs . . . 35

4 Validação 37 4.1 Cenário de Uso do Sistema de Enriquecimento Semântico . . . 37

4.2 Experimentos de Classificação de Documentos Textuais Enriquecidos Se-manticamente . . . 38 4.2.1 Protocolo Experimental . . . 39 4.2.2 Resultados . . . 41 4.2.3 Discussão . . . 43 5 Conclusão 46 5.1 Contribuições . . . 46 5.2 Trabalhos Futuros . . . 47

(13)

Capítulo 1

Introdução

Como resultado dos avanços tecnológicos e de comunicação das últimas décadas, mais e mais informações são geradas diariamente. Nesse contexto, informação não é formada apenas por dados estruturados, ou seja, organizados em uma mesma estrutura de repre-sentação – tratados a contento por banco de dados relacionais –, mas também formada por dados semiestruturados e não-estruturados, como imagens, áudios, vídeos, arquivos, documentos, dados da Web, informações de sensores, GPS, redes sociais, etc, gerada globalmente e por diferentes dispositivos. No campo da “Internet das Coisas” ou IoT (abreviação de Internet of Things), que caracteriza a condição de dispositivos inteligentes gerarem dados, permitindo assim a conexão em qualquer momento, em qualquer lugar e entre qualquer coisa [41], em 2010 existia 1 bilhão de dispositivos ligados a internet e mais de 1 zettabyte (ZB) de informação armazenada no mundo; o armazenamento cresceu para 1,8 ZB já em 2011 (após a entrada em operação das redes 4G/LTE), com previsão de chegar aos 35 ZB em 2020, quando se estimam 50 a 100 bilhões de dispositivos co-nectados [34]. Estes exemplos demonstram o crescimento no volume de dados gerados, trazendo consigo inúmeros benefícios. Porém outros tantos desafios exigem evolução de hardware (processadores, novos tipos de memória e storage, arquitetura de rede) e, con-sequentemente, evolução de software.

Com o crescimento do volume de dados gerados e armazenados em maior velocidade, muita atenção tem sido dedicada à pesquisa relacionada ao tema, em especial em como definir, reutilizar, compartilhar e classificar estes dados [6], contribuindo assim para a criação de diferentes serviços, processos e procedimentos baseados neles. Se por um lado o custo do armazenamento e processamento sofre diminuição à medida que a tecnologia avança, conforme preconiza a Lei de Moore1, outras questões precisam ser avaliadas, como o aumento no consumo de energia elétrica (estima-se hoje um gasto de 5% de energia na armazenagem dos dados), exigindo planejamento dos data centers para que dados não sejam perdidos em médio prazo [16].

Neste cenário de alto volume de dados, destaca-se a geração de dados textuais. Produ-ções acadêmicas, notícias, resumos e obras são um conteúdo já conhecido nos estudos de Recuperação de Informação (RI), inclusive costumam ser a fonte de coleções de referência usadas em pesquisas [3]. Porém, especialmente com a popularização da Internet,

usuá-1

http://pt.wikipedia.org/wiki/Lei_de_Moore (Último acesso em agosto de 2017).

(14)

CAPÍTULO 1. INTRODUÇÃO 14

rios Web geram diariamente uma infinidade de novos dados textuais em páginas pessoais, institucionais, blogs, redes sociais, tweets, comentários, análise de produtos, plataformas colaborativas de perguntas e respostas, entre outras. Estes novos conteúdos em geral são pequenos em tamanho, porém esparsos em quantidade [4] e eventualmente possuem erros de escrita, vícios de digitação e diferentes palavras (chamadas de termos) que o usuário pode usar para se expressar sobre um mesmo tema. Tarefas tradicionais de classifica-ção, clustering e recuperação são aplicáveis sobre este tipo de coleção. Porém, devido ao número de termos de um documento ser pequeno, sua eficácia não é, em geral, alta.

Uma forma de melhorar o resultado de tarefas de recuperação de informação em do-cumentos textuais é expandir os dodo-cumentos antes de executar tais tarefas. É possível expandir um documento associando a ele outros documentos relacionados por meio da utilização de uma máquina de busca ou um sistema de RI que já possua uma coleção, usando o conteúdo original do documento como consulta. Outra abordagem é melhorar os termos do documento por meio do seu enriquecimento semântico. Geralmente fazendo-se o uso de ontologias – um modelo de dados que representa um conjunto de conceitos dentro de um domínio e os relacionamentos entre estes conceitos [15] –, é possível acrescentar novos termos ao documento (sinônimos, por exemplo), substituir palavras com erro de grafia e normalizar termos usados de forma diferente (nomes próprios, siglas, por exem-plo). Desta forma, ocorre uma alteração na representação do documento e, pensando na representação vetorial do documento como um vetor de termos, significa dizer que seu vetor será diminuído ou aumentado de tal forma que sofrerá um reposicionamento no espaço de características e, portanto, ficará mais próximo aos documentos relevantes da coleção.

Outra questão importante a ser considerada neste cenário de grandes volumes de do-cumentos textuais consiste em garantir o armazenamento e a utilização adequados dos dados, para que possam ser processados de maneira correta, no menor custo e extraindo-se maior valor de resultados. É necessário contar com técnicas e ferramentas adequadas para extrair informações que realmente adicionem valor à tomada de decisão. Neste contexto, destacam-se as opções de Aprendizado de Máquina (AM), área associada à Inteligência Antificial (IA), que objetiva desenvolver técnicas e sistemas computacionais com a capaci-dade de adquirir conhecimento de forma automática a partir de experiências passadas [12]. Na literatura, existem diversas aplicações de aprendizado de máquina, com variações de arquitetura, algoritmos ou combinações de algoritmos, dependendo do cenário de uso e do volume de dados. Dentre elas, destacam-se as soluções aplicadas a Big Data: soluções de aprendizado de máquina aplicadas a um grande volume de dados heterogêneos (da-dos estrutura(da-dos e não estrutura(da-dos). Conhecidas como big data analytics, estas soluções atendem a demanda de processamento de bases de dados que excedem exabytes e crescem de forma massiva atualmente, advento que só foi possível devido às evoluções de tecnologia – hardware e software – para sistemas distribuídos com processamento paralelo [21].

De maneira geral, uma solução de aprendizado de máquina é organizada na forma de uma sequência de várias atividades encadeadas. Em um experimento típico de aprendi-zado supervisionado para classificação, por exemplo, a primeira atividade é a obtenção dos dados, seguida da higienização e de sua normalização. Depois é realizada a divisão dos dados originais em teste e treino, construção do modelo de classificação sobre a base

(15)

CAPÍTULO 1. INTRODUÇÃO 15

de treino e, por fim, a avaliação do modelo na base de teste. Esta sequência de atividades repetíveis, otimizáveis e que trabalham com conjuntos de dados e ferramentas de análise, pode ser representada por um workflow [1] e, portanto, usar ferramentas de workflow, como Workflow Management Systems (WfMS). Além dos benefícios de manutenção e visualização do workflow de um WfMS, os cientistas conseguem avaliar a origem e rastre-abilidade (do inglês provenance) dos dados e do fluxo da análise, e garantir a veracidade dos resultados obtidos.

Este trabalho propõe um Sistema de Enriquecimento Semântico de Dados Textuais que se utiliza de um modelo de representação de documentos baseado em grafos como descritor da coleção. O módulo de enriquecimento prevê a adição de novos vértices e arestas aos grafos extraídos dos documentos a partir de ontologias. A implementação do sistema, baseada em um workflow, foi estruturada dentro de um framework para execução de tarefas de aprendizagem de máquina.

Em resumo, as principais contribuições da pesquisa desenvolvida são:

• Especificação e implementação de sistema de apoio para enriquecimento semântico de dados textuais. Proposto como uma solução genérica, o sistema faz uso de ontologias como fonte de enriquecimento;

• Proposta de uma nova representação vetorial, chamada de Semantic Bag of Tex-tual Graphs (SBoTG), que tira vantagem do sistema de enriquecimento semântico proposto;

• Execução de tarefas de classificação dentro de um workflow específico, adaptado para o enriquecimento semântico de documentos textuais, e avaliação do SoBTG em termos de sua eficácia em tarefas de classificação de documentos textuais obtidos de coleções conhecidas.

O restante deste documento está organizado da seguinte forma. O Capítulo 2 apresenta trabalhos relacionados e introduz conceitos importantes para entendimento da pesquisa desenvolvida. O Capítulo 3, por sua vez, apresenta o sistema de enriquecimento semântico proposto, destacando aspectos de sua implementação. O Capítulo 4 trata de aspectos de validação. Este capítulo apresenta estudo de caso voltado ao uso de sistema de enrique-cimento semântico, assim como apresenta experimentos realizados visando à validação de descritor de documento textual criado a partir de dados enriquecidos semanticamente em tarefas de classificação. Finalmente, o Capítulo 5 sumariza as contribuições da pesquisa desenvolvida e apresenta possíveis trabalhos futuros visando à sua continuidade.

(16)

Capítulo 2

Trabalhos Relacionados

Este capítulo apresenta os principais conceitos que constituem a fundamentação teórica da pesquisa desenvolvida, assim como apresenta e discute trabalhos relacionados. Con-ceitos relacionados à área de Recuperação de Informação são apresentados na Seção 2.1. Trabalhos voltados à proposta de representações de documentos textuais em grafos são apresentados na Seção 2.2. Por fim, o conceito de workflows é apresentado na Seção 2.3.

2.1

Recuperação de Informação

Na Ciência da Computação, Recuperação de Informação é a área que estuda as formas de se prover acesso fácil do usuário a uma informação. Focada inicialmente na indexação e recuperação de documentos úteis a uma necessidade do usuário dentro de uma coleção, a RI hoje inclui estudos de representação, armazenamento, organização, classificação e agrupamento de documentos, arquitetura de sistemas, visualização de informações, ran-queamento, filtragem, relações semânticas, entre outras.

Segundo Baeza e Ricardo Neto [3], um sistema de RI tem como principal objetivo retornar ao usuário todos os documentos relevantes em uma coleção e, ao mesmo tempo, o menor número de documentos irrelevantes. Conceitualmente significa dizer que o re-sultado da busca deve ter um alto índice de revocação (do inglês recall) e alto índice de precisão. Um sistema de RI que domine muito bem a coleção e esteja perfeitamente adap-tado às necessidades de seus usuários, trará bons índices de resposta. Porém, à medida que novas informações são adicionadas ao cenário inicial, como variações no contexto ge-ográfico (buscas baseadas na localização atual do usuário), variações em dispositivos (uso de smartphones ou computadores) e ainda diferenças no tamanho e formato das amostras das coleções, a relevância irá mudar, o que leva a conclusão de que nenhum sistema de RI fornecerá respostas perfeitas o tempo todo a todos os usuários.

De forma genérica, o modelo de recuperação de informação pode ser representado por [D, Q, F , R(qi, dj)], em que:

• D é o conjunto com as representações dos documentos;

• Q é o conjunto com as representações das consultas do usuário;

• F é o arcabouço capaz de modelar os conjuntos D, Q e seus relacionamentos; 16

(17)

CAPÍTULO 2. TRABALHOS RELACIONADOS 17

• R(qi, dj) é a função que define o ranqueamento do documento dj ∈ D a partir da consulta qi ∈ Q.

A primeira tarefa para a construção de um modelo de RI será, portanto, a forma de representação dos documentos que compõem a coleção e das necessidades de informação do usuário. Nesta tarefa, conforme usualmente proposto em trabalhos de mineração de texto (do inglês Text Mining), ocorrem as fases de pré-processamento e de indexação. O pré-processamento tem o objetivo de preparar os dados para a fase de indexação, podendo ocorrer nessa fase a remoção de conteúdos desnecessários ao texto (como tags de forma-tação e pontuação), remoção de stop words (palavras que não acrescentam significado ao texto, como artigos e preposições) e redução de palavras por meio da radicalização (do inglês stemming). A fase de indexação objetiva o acesso rápido ao documento, quando um índice é gerado para cada documento da coleção, de tal forma que as palavras-chave ou termos de indexação são identificados em um vocabulário único. A mesma tarefa será aplicada às consultas, chegando-se a uma representação comum entre documentos e con-sultas. A segunda tarefa do modelo de RI é o ranqueamento propriamente dito, quando os documentos relevantes da coleção são recuperados, ordenados de forma decrescente com seu grau de similaridade a partir de uma consulta do usuário.

Um modelo bastante difundido na literatura e que também é utilizado neste trabalho, é o modelo do Espaço Vetorial – Vector Space Model (VSM) [35], no qual os documentos e consultas são representados como vetores n-dimensionais. O número de dimensões será o número de termos da coleção e cada valor do vetor pondera a importância do termo àquele documento. Cada índice do vetor é relativo a um dos termos da coleção e o ranqueamento do resultado da consulta é calculado a partir da obtenção dos documentos com vetores mais próximos ao vetor da consulta.

2.1.1

Expansão de Consulta

Ao iniciar a consulta a uma coleção, é possível que o usuário não tenha conhecimento prévio de seu conteúdo, portanto dificilmente ele obterá os resultados desejados na pri-meira consulta. À medida que os resultados são exibidos, o usuário iniciará um processo de alteração desta consulta, incluindo palavras ou substituindo expressões, até chegar ao resultado que considera mais relevante. Este processo que ocorre naturalmente e é realizado pelo usuário é conhecido como realimentação de relevância (do inglês relevance feedback).

Outro tipo de realimentação possível é por meio da expansão de consultas, no qual o sistema de RI utiliza informações relacionadas à própria consulta para expandi-la. Neste tipo de realimentação, não há participação do usuário no processo, então dizemos que ela é derivada implicitamente pelo sistema. Os trabalhos nessa linha utilizam diferentes abordagens, porém de uma forma geral exploram as relações sintáticas e semânticas dos termos da coleção [22, 24, 48]. Existem duas formas de análise para atender a expansão de consultas: local e global. Na análise local, ao atender uma consulta, não somente os documentos que atendam diretamente à consulta são recuperados, mas também os documentos que possuem termos relacionados aos termos dos documentos retornados. Neste cenário, o sistema RI tira proveito da correlação ou coocorrência entre os termos

(18)

CAPÍTULO 2. TRABALHOS RELACIONADOS 18

dos documentos, retornando os documentos mais próximos. Na análise global, são usados todos os termos de todos os documentos da coleção não somente aqueles com correlação direta. A análise se utiliza de tesauros ao invés de matrizes de correlação, que armazenam os diferentes clusters de documentos. Porém ao mesmo tempo que se aumenta a revocação, diminui-se a precisão, uma vez que mais documentos precisam ser ranqueados para a exibição do resultado da consulta. Enquanto os métodos de expansão de consultas que usam análise local são aplicados de forma on-line, os métodos que usam a análise global e expandem todos os documentos da coleção são realizados de forma off-line [46].

Em todas estas técnicas e métodos tradicionais, o vocabulário está limitado aos termos que aparecem na coleção e nas consultas, porém pode haver variações de termos aplicados a um mesmo conceito quando usados por diferentes autores, diferentes mídias ou quando consultado por diferentes usuários. Uma outra forma de expansão de consultas é por meio de anotações. As anotações são descrições adicionadas a cada amostra da coleção, con-tribuindo para a melhoria da sua indexação, técnica especialmente útil quando a coleção possui documentos com textos curtos e se deseja estender a compreensão de seu domínio.

2.1.2

Representação Semântica de Dados Textuais

Adicionar anotações às amostras de uma coleção exige muito esforço manual, eleva os custo de manutenção e é dependente da interpretação de um usuário especialista. Para evitar estes percalços, uma solução é usar ontologias para incluir anotações. No contexto de sistemas de informação, “uma ontologia é uma especificação de uma conceituação” [15]. Ela armazena, além do conceito – que também é disponibilizado por um tesauro comum – outras relações semânticas, como atributos, relacionamentos, restrições e instâncias dos termos de um determinado domínio. É organizada como um modelo lógico que pode ser ilustrado como um grafo, portanto facilita a implementação computacional. Esta abordagem de anotação com o uso de ontologias denomina-se anotação semântica.

Os trabalhos sobre anotações semânticas em geral usam ontologias específicas de uma área de conhecimento, como é o caso da área biomédica, que possui ontologias para pa-dronizar terminologias, verificar consistências de dados e facilitar integração entre dados heterogêneos [14, 19], como por exemplo GeneOntology1 e SNOMED2. Nas anotações semânticas para Web, também há diversos trabalhos que se utilizam de ontologias dis-poníveis neste ambiente, como a Wikipedia [37, 47, 50]. Para anotações semânticas de dados geoespaciais são exemplos de ontologia as bases OnLocus e SPIRIT [27]. A maioria dos trabalhos utiliza ontologias pré-definidas e que são mantidas por diferentes entidades, como ocorre com o Thesaurus (dicionários que contém sinônimos e alguns antônimos de palavras em inglês) e a WordNet [13].

A WordNet é uma base de palavras em inglês desenvolvida e mantida na Universidade de Princeton. Contém o significado de 155.287 palavras, que podem ser verbo, adjetivo, substantivo ou advérbio, em seus diversos sentidos (chamado de synset). Uma palavra com vários sentidos ou conceitos pertence a vários synsets (a WordNet contém 117.659 synsets). A Figura 2.1 exibe os conceitos definidos na WordNet para a palavra “woman” e

1

http://www.geneontology.org/ (Último acesso em agosto de 2017).

2

(19)

CAPÍTULO 2. TRABALHOS RELACIONADOS 19

Figura 2.1: Conceitos e relações semânticas, segundo WordNet.

algumas das relações semânticas por conceito. Por exemplo, vemos que “woman” significa uma pessoa adulta do sexo feminino, mas também está associada ao conceito de classe feminina.

Mais que um dicionário comum, a WordNet relaciona as palavras não diretamente a outras palavras, mas as relaciona por meio de seus conceitos, o que garante a desam-biguação dos termos. Cada synset de uma palavra está associado diretamente a outras palavras, o que representa as relações semânticas entre elas. Estas relações podem ser synonym (sinônimos), hypernym (superconceitos), hyponym (subconceitos) e antonyms (antônimos). Além destas relações mais comuns, inclui também as relações holonym (parte de) e meronym (o todo de). As relações do tipo hypernym e hyponym estabelecem uma organização hierárquica entre as palavras, em forma de um grafo, partindo de uma raiz simples chamada Entity.

Neste trabalho, adotamos a WordNet como ontologia, considerando as relações semân-ticas definidas por synsets e hypernym.

2.2

Representações de Documentos Textuais baseados

em Grafos

Grafos são uma estrutura de dados, definida de forma simplificada por G = (V, E), em que V é um conjunto não vazio de objetos denominados vértices e E é um subconjunto

(20)

CAPÍTULO 2. TRABALHOS RELACIONADOS 20

de pares não ordenados de V , denominados arestas. A teoria de grafos – um ramo da matemática originada em 1736, quando Leonhard Euler resolveu o problema da Pontes de Königsberg – se utiliza destas estruturas para a representação e solução de diversos problemas, em especial para a representação das relações entre os elementos de um dado conjunto. Exemplos desta representação de fácil visualização são redes de comunicação, elétricas e hídricas, mapas diversos (viários, geográficos, aéreos), redes sociais, páginas Web. Como solução, a teoria de grafos se aplica ainda na resolução de problemas de alocação de tarefas, transporte, genética, gargalos de processos, entre outros.

No contexto deste trabalho, nos interessa o uso de grafo como forma de representação de textos, possibilitando o processamento das informações destes textos com a utilização de algoritmos normalmente aplicáveis a grafos para resolução de problemas. A represen-tação de textos baseada em grafos geralmente monta um ou mais grafos para cada texto, em que os vértices e arestas correspondem, respectivamente, aos termos presentes no texto e aos relacionamentos entre estes termos.

2.2.1

Representação de Textos em Grafos

Muitos estudos tiram proveito da representação de texto em forma de grafo com o objetivo de resolver algum problema. Em [29], o propósito é obter as palavras-chave do texto, a partir dos termos mais conectados em um grafo. No trabalho, grafo é montado com os termos do texto sendo os vértices e o relacionamento entre os termos correspondendo às arestas, obtidas pelo critério de coocorrência entre os termos. Ainda com o mesmo objetivo de obter um objeto em destaque, ou as palavras-chave de um texto, os trabalhos [20, 31] se utilizam da representação do texto em um grafo considerando o mesmo critério de coocorrência para obter o relacionamento entre os termos.

Jin e Srihari [20] chegam ao grafo final do texto utilizando-se de um vetor de conceitos, montado com os termos do texto sendo os vértices, e as relações de coocorrência entre os termos sendo as arestas. A cada aresta é atribuído ainda um peso, indicando a importância do relacionamento entre os dois termos. Este processo de atribuição da relação e do peso é executado para cada termo do vetor de conceitos em relação a todos os demais.

Em [31], o grafo é montado com os termos sendo os vértices e as aresta representando a relação pelo critério de coocorrência entre estes termos em uma ou mais frases do texto. Com o grafo montado, são obtidas as medidas de centralidade de cada vértice, chegando-se a um ranking. Os termos com os vértices de melhor posição no ranking correspondem a potenciais palavras-chave.

Em outra linha de pesquisa que também utiliza textos representados em grafos, porém combina este modelo com outras técnicas de aprendizado de máquina para a solução de problemas, podemos citar as referências [17, 26, 36, 49].

Hammouda e Kamel [17] utilizam-se de grafo para obter as sentenças de interesse den-tro do documento e não somente termos em destaque como os demais autores citados até aqui. Chamado de Document Indexing Graph (DIG), são obtidas as sentenças comuns e é calculado o grau de similaridade entre documentos Web. As sentenças obtidas dos vários documentos e sua medida de similaridade são a entrada para o agrupamento incremental destes documentos, obtendo-se assim os grupos de documentos relacionados.

(21)

CAPÍTULO 2. TRABALHOS RELACIONADOS 21

Litvak e Last [26] propõem uma solução usando uma abordagem supervisionada e outra não supervisionada, com uma representação de texto em grafo semelhante à ado-tada em [36]. A abordagem supervisionada é aplicada usando algoritmos de classificação em uma amostra de treino, gerando um modelo de identificação. Na abordagem não-supervisionada, que apresenta um melhor resultado quando não existe uma coleção de treinamento com boa qualidade, é aplicado o algoritmo HITS [23] sobre o grafo do texto para a tarefa de sumarização do conteúdo.

Zhang e Chow [49] propõem um modelo de representação para páginas Web no qual a página é segmentada em seções de texto. São detectados na página trechos de texto, de no mínimo 30 palavras cada um, separados por tags específicas. Para obter a me-dida de dissimilaridade, leva-se em conta a comparação como Bag of Words com Term Frequency–Inverse Document Frequency (TF-IDF) e também a comparação por seções, onde a correspondência entre os documentos é tratada usando o algoritmo Earth Mover’s Distance (EMD).

Os grafos obtidos no trabalho de Schenker et al. [36] possuem os termos como vértices e as arestas como a relação entre estes termos em páginas Web. Diferentemente dos trabalhos anteriores citados, as arestas possuem direção que indicam a ordem na qual os termos aparecem no texto. Em sua forma padrão, as arestas recebem ainda um label que pode indicar a seção do documento (TI – título, L – link, TX – texto). Em um outro modelo (chamado frequência-relativa), os vértices e as arestas recebem um label que corresponde ao seu peso, calculado a partir da frequência na qual o termo aparece em relação aos demais termos e o relacionamento entre termos aparece em relação aos demais relacionamentos entre termos na página. A partir dos grafos, o cálculo de dissimilaridade entre dois grafos pode ser dado por qualquer uma das métricas tradicionais de comparação de grafos conhecidas na literatura. O modelo de frequência relativa de Schenker et al. serve como base para solução de Dourado [11] e é o modelo que adotamos na concepção do descritor Semantic Bag of Textual Graphs (SBoTG), proposto neste trabalho.

2.2.2

Sacola de Grafos - Bag of Graphs

Antes de iniciar esta seção, é necessário definir um conceito anterior: o modelo de Sacola de Palavras – Bag of Words (BoW). Este modelo, primeiramente usado no contexto da linguística [18], é a forma mais simples e comumente usada pela área de RI para representação de um documento. Semelhante ao VSM, o modelo quantifica cada termo dentro de cada documento de uma coleção, atribuindo assim a relação do termo com o documento. A matriz a seguir apresenta de forma simplificada uma Sacola de Palavras, em que cada elemento fi,j representa a frequência do termo ki no documento dj (exemplo retirado de [3]).      d1 d2 k1 f1,1 f1,2 k2 f2,1 f2,2 k3 f3,1 f3,2     

(22)

CAPÍTULO 2. TRABALHOS RELACIONADOS 22

Figura 2.2: Abordagem do framework BoG (Adaptado de [39]).

o domínio de imagens, como Bag of Visual Words (BoVW) [40], inclusão de informação espacial no processo de descrição das imagens e, mais recentemente, o Bag of Visual Graphs [38], para tarefas de classificação de imagens.

Com o objetivo de resolver questões de comparação entre grafos, de forma eficiente e reduzindo o tempo de execução nestas tarefas, o Bag of Graphs (BoG) [39], propõe uma adaptação do Bag of Words para o domínio de grafos. Conforme ilustra Figura 2.2, em (A), o objeto é representado por um grafo que modela as estruturas locais existentes em termos de assinaturas de vértices. A assinatura de um vértice é definida a partir dos seus atributos, seu grau e os atributos de cada aresta ligada ao vértice. A seguir, em (B), é aplicado o algoritmo de classificação Mean Shift para a construção do vocabulário. Usando o vocabulário criado, em (C), cada objeto volta a ser descrito em uma representação vetorial que contém a estrutura local e a sua frequência, facilitando assim a aplicação de diferentes métodos de aprendizagem.

Combinando o modelo de representação baseado em grafos [36] e o framework BoG [39], um trabalho recente foi apresentado no IC para tarefas de mineração de textos e recupe-ração de informação, denominado Bag of Textual Graphs (BoTG) [11]. De forma seme-lhante ao BoG, o pipeline executa uma sequência de passos para obter o vocabulário e outra sequência para criar a representação. A Figura 2.3 contém o pipeline de execução do BoTG e seus passos e componentes são descritos a seguir.

O passo 1a extrai os grafos do conjunto de treinamento (um conjunto de amostras). A partir do conjunto de grafos de treinamento, o passo 2a extrai, aplicando critérios pré-definidos, o conjunto dos subgrafos de treinamento. O passo 3 é responsável por criar o vocabulário baseado em grafo que será usado para definir o VSM. Por fim, neste pipeline, no passo 4a, é criada a representação por vetores das amostras, com base em uma projeção de seus grafos no vocabulário criado. Para tratar novas amostras é executado um pipeline semelhante: uma nova amostra é obtida e o seu gráfico correspondente é extraído no passo 1b e os subgrafos são definidos no passo 2b; por fim, no passo 4b, estes subgrafos são mapeados em suas representações vetoriais, com base no uso de funções específicas de Atribuição e agrupamento.

Para a representação dos texto em formato de grafo, a estratégia adotada é dividir o texto original em segmentos (que podem ser as seções ou parágrafos), decompor cada

(23)

CAPÍTULO 2. TRABALHOS RELACIONADOS 23

Figura 2.3: Pipeline do BoTG (Adaptado de [11]).

segmento em uma sequência de termos, remover stop words e, por último, aplicar o al-goritmo de Porter’s [33] para reduzir as palavras ao termo comum do radical (em inglês denominado stemming). Nos grafos formados, tanto os vértices quanto as arestas são valoradas a partir do cálculo do TF-IDF, então para um vértice TF corresponde ao nú-mero de vezes que o termo aparece no documento e DF o núnú-mero de vezes que o termo aparece na coleção e, de forma semelhante, para uma aresta o TF corresponde ao número de vezes que a sequência dos dois termos ocorre no documento e DF o número de vezes que a sequência dos dois termos ocorre na coleção. A partir dos grafos dos documentos, são obtidos subgrafos para cada termo do documento, composto do termo e das arestas e termos que ocorrem na sequência no documento.

A geração do vocabulário é realizada a partir dos subgrafos obtidos da coleção. É calculada a similaridade entre os subgrafos a partir de uma função de dissimilaridade própria da solução que considera o contexto do subgrafo (termo central) e a similaridade entre as arestas e termos mais próximos. Do conjunto de subgrafos obtidos, são mantidos apenas aqueles que possuem arestas, e, com o objetivo de não ocorrer perda de termos relevantes na coleção, são obtidos os termos isolados nos subgrafos de forma semelhante ao proposto no BoW.

A projeção dos grafos obtidos para um documento no vocabulário criado corresponde à fase de representação vetorial, necessária para que as demais tarefas de classificação, execução de consultas, dentre outras, sejam executadas sobre as amostras. O processo realiza as etapas de atribuição de subgrafos, quando cada subgrafo é mapeado em uma palavra do vocabulário, e pooling, quando um único vetor de saída é gerado para todos os subgrafos da amostra.

(24)

CAPÍTULO 2. TRABALHOS RELACIONADOS 24

2.3

Workflows

Os padrões e conceitos relacionados a workflow foram definidos pela Workflow Mana-gement Coalition (WfMC) [45]. Um workflow é a automação de um processo, em que informações ou tarefas são passadas de um recurso para outro para a execução de uma ação, seguindo regras e procedimentos. Um WfMS é um sistema automatizado para a ela-boração, controle e monitoramento da uma sequência de atividades definidas, organizadas como um workflow. São componentes de um workflow:

Atividade Menor parte de um trabalho para a execução de um processo.

Processo Encadeamento de atividades ou subprocessos para completar um trabalho. Os processos podem ser de negócio ou científicos, sendo diferentes porque este conduz experimentos científicos e aquele atende atividades comerciais.

2.3.1

Workflow

Científico

A especificação de um processo que descreve um experimento científico é chamada de workflow científico [43], distinguindo-se de um workflow de negócios pelas exigências de um ambiente que facilite o uso, o compartilhamento e o reúso entre cientistas, permitindo rastreabilidade até os dados originais. Os sistemas de gerenciamento de workflows cien-tíficos são chamados de Scientific Workflow Management Systems (SWfMS). Semelhante aos WfMS, seus requisitos básicos são escalabilidade, além da sua capacidade de permitir extensões, disponibilidade, tolerância a falhas e segurança. Outros sete requisitos chave devem ser considerados quando se trata de SWfMS [25]:

• R1: Interface amigável e personalização ao domínio específico;

• R2: Resultados obtidos a partir da execução de um workflow devem ser reprodutí-veis;

• R3: Integração com diferentes serviços e softwares;

• R4: Gerenciamento dos dados em diferentes formas e formatos; • R5: Suporte à computação distribuída ou de larga escala;

• R6: Facilidade de acompanhamento da execução e tratamento de falhas;

• R7: Capacidade de permitir interoperabilidade entre diferentes workflow e, até, entre diferentes SWfMS.

Do ponto de vista de arquitetura, há uma referência estabelecida pela WfMC e bem aceita pela comunidade científica para WfMS [45], porém esse padrão não atende aos requisitos R1 a R5 citados anteriormente. Uma referência foi proposta para atender a todos os requisitos básicos e requisitos-chave, composto por quatro camadas lógicas, sete módulos funcionais e seis interfaces [25], conforme ilustrado na Figura 2.4.

(25)

CAPÍTULO 2. TRABALHOS RELACIONADOS 25

Figura 2.4: Referência de arquitetura para SWFMSs (Fonte: [25]).

Na camada de Operação estão as bases de dados científicas, suportando dados hete-rogêneos locais e remotos, e as seis interfaces que aceitam softwares e serviços nas mais diferentes infraestruturas e tecnologias. Separando-se essa camada das demais, é possível garantir o isolamento de computação distribuída ou de alto desempenho das funcionali-dades do SWfMS.

A camada de Gerenciamento de Tarefas abstrai da execução do workflow os diferentes formatos de dados. Estão nesta camada os módulos de Tratamento de Dados Hetero-gêneos, Rastreabilidade e o Gerenciador de Tarefas propriamente dito, este responsável pelos registros, anotações, buscas e execuções das tarefas do workflow.

Na camada de Gerenciamento do Workflow, estão os módulos do Motor do Workflow e de Monitoramento da Execução. Também é esta camada que promove a interoperabilidade entre workflows, a partir dos seus respectivos motores.

A camada de Apresentação contempla os módulos que promovem a comunicação com o usuário. O módulo de Apresentação e Visualização possui integração com todos os demais módulos (não presente na Figura 2.4 por simplificação) e permite visualizar o workflow, os dados, metadados de rastreabilidade, o monitoramento, falhas e os resultados. O módulo de Edição possibilita a criação e edição de workflows.

São alguns exemplos de soluções de SWfMS propostas na literatura:

• Kepler [2]: Construído sobre o framework Ptolemy II, é um sistema de software para elaboração, execução, reutilização e compartilhamento de workflows científicos. Per-mite ao usuário prototipar o workflow antes de incluir o código fonte (recurso possível devido ao modelo orientado a atores do Ptolemy); permite o uso de recursos compu-tacionais na rede em um workflow distribuído; permite uso de outras linguagens por

(26)

CAPÍTULO 2. TRABALHOS RELACIONADOS 26

meio do Java Native Interface (JNI), facilitando o uso de componentes de análise existentes e outras ferramentas; permite a execução do workflow em modo batch. • Taverna [30]: Ferramenta de código aberto que permite a manipulação de

apli-cações de bioinformática em workflows. Os workflows são apresentados em Sculf, uma linguagem conceitual, baseada em XML, na qual cada etapa do processamento corresponde a uma atividade do workflow. A solução completa inclui aplicativo cli-ente, linha de comando para pequenas execuções e servidor e interface Web para execuções remotas. Estas características permitem ao usuário alterar ou integrar a rastreabilidade além de visualizar as execuções em gráficos 3D.

• VIEW [8]: Acrônimo para VIsualsciEntific Workflow management system; trata-se de um sistema para gerenciamento de workflow que apresenta como características o uso de tecnologia de Web Semântica para representar, armazenar e consultar metadados de rastreabilidade e apoio de vários gráficos para a visualização dos dados ou da rastreabilidade nos seus estados intermediários e final.

• VisTrail [5]: Ferramenta de gerenciamento de workflow científico e rastreabilidade. Combinando características de sistemas de workflow e de visualização, permite a combinação de recursos e bibliotecas e mecanismos de comparação entre resultados diferentes. Seu maior diferencial é uma compreensível infraestrutura de rastreabili-dade, que mantém histórico e os passos na execução de cada workflow e dos dados utilizados.

• WOODSS [28]: Implementado sobre uma ferramenta comercial de Geographic Infor-mation System (GIS), o WOODSS, abreviação de WOrkflOw-based spatial Decision Support System, é uma ferramenta de gerenciamento de workflow elaborada para atividades de planejamento ambiental. Seu objetivo inicial é capturar as intera-ções do usuário com o GIS, gerando dinamicamente, dentro da base de dados do WOODSS, um workflow que representa o trabalho do usuário. Depois de armaze-nado o workflow, o usuário consegue visualizar e editar o fluxo original dentro da ferramenta.

2.3.2

Experimentos Científicos

Em um trabalho recente apresentado no Instituto de Computação (IC), foi proposto um framework para automatizar experimentos de aprendizado de máquina, oferecendo um ambiente padronizado baseado em workflow [10, 44]. A ferramenta, chamada de Kuaa, permite projetar, implementar e executar um workflow que corresponda a um experimento de aprendizado de máquina, de forma automática e sem intervenções manuais. Assim, possibilita ao usuário analisar o resultado de diversos experimentos, ou variações de expe-rimentos, sob a garantia de que as execuções foram realizadas sempre usando um mesmo padrão de ambiente e um mesmo conjunto de critérios de comparação. Para tanto, conta com um arcabouço de descritores de características, normalizadores, classificadores e mé-todos de fusão. Também disponibiliza um serviço de recomendação de workflow, baseado no uso de medidas de similaridade, capaz de guiar o usuário durante a configuração de

(27)

CAPÍTULO 2. TRABALHOS RELACIONADOS 27

um experimento. O trabalho foi validado em problemas de classificação de imagens de frutas e vegetais.

A Figura 2.5a exibe a arquitetura do framework proposto pelo autor. Esta arquitetura é composta por 3 camadas: interface, repositórios e execução do framework. Na camada de interface, estão os três módulos de comunicação com o usuário, no qual é possível elaborar o projeto do workflow, iniciar a sua execução e visualizar os resultados. Na camada de repositório, há oito módulos: um para a armazenagem dos objetos da coleção, um para armazenagem dos workflows e resultados e seis para armazenagem dos métodos implementados no framework para cada um dos seis passos necessários para a construção de um experimento de aprendizagem de máquina. Na camada principal – a de execução – estão os três módulos que conectam a camada de interface com a camada de repositórios. Nesta última camada, no projeto do workflow, é possível obter os métodos disponíveis em cada repositório para a elaboração das atividades de aprendizado de máquina, além de obter recomendações a partir do repositório de workflows e resultados anteriores; e durante o experimento é possível retornar ao repositório para a execução do método selecionado em cada atividade.

Todos os módulos usam um esquema de plugin e arquivos XML para os parâmetros e configurações, tornando a ferramenta mais flexível e fácil de ser estendida. Essa estru-tura possibilita a integração de métodos de aprendizado de máquina implementados em qualquer linguagem, por isso foi disponibilizada uma grande variedade de métodos com a ferramenta. Além disso, o funcionamento de cada módulo ocorre de forma independente dos demais, permitindo que o framework seja integrado em suas partes ou no todo a outros sistemas de gerenciamento de workflow.

A interface com o usuário é simples e intuitiva, o que facilita o uso. Para a elaboração do workflow são exibidos os repositórios e, à medida que o usuário clica em cada um deles, um novo passo é incluído no workflow. Clicando com o botão direito em cada um dos passos adicionados, é possível selecionar um objeto ou método a ser usado e configurar os parâmetros necessários para sua execução. A Figura 2.5b exibe a interface com o usuário de um workflow em execução, destacando com a borda verde as atividades executadas e o seu percentual de completude. Cada atividade do workflow possui uma cor diferente de acordo com o tipo de tarefa que realiza: a coleção é representada em vermelho, a divisão da amostra em treino e teste é representada em lilás, os descritores são representados em verde escuro, o método de normalização é representado em azul, o método de classificação é representado em marrom e os métodos de extração dos resultados são representados em verde claro. Neste experimento, busca-se comparar a eficácia de dois descritores de imagem, BIC e LAS, em tarefas de classificação usando o classificador Support Vector Machine (SVM) – módulo libSVM na figura. O protocolo experimental prevê o uso da coleção tropical_fruits, da normalização de vetores utilizando-se do método Min-Max, e o procedimento de validação cruzada em k grupos (K-Fold). As eficácias dos descritores serão comparadas em termos das matrizes de confusão geradas e da métrica Global Accuracy Score.

(28)

CAPÍTULO 2. TRABALHOS RELACIONADOS 28

(a)

(b)

Figura 2.5: (a) Arquitetura do framework para automatizar experimentos de aprendizado de máquina; (b) Interface com o usuário exibindo um workflow em execução (Fonte: [44]).

(29)

Capítulo 3

Enriquecimento Semântico de Dados

Textuais

Este capítulo descreve o SESDT, Sistema de Enriquecimento Semântico de Dados Tex-tuais, um arcabouço de enriquecimento semântico para dados textuais baseado no uso de ontologias. Nas próximas seções, apresentamos uma visão geral do contexto de uso considerado para o sistema e detalhamos sua arquitetura, seus componentes e aspectos considerados quando da sua implementação.

3.1

Contexto de Uso do Sistema

Por meio dos componentes propostos no arcabouço de enriquecimento semântico, é pos-sível associar novos termos a uma amostra obtida de uma coleção de documentos com o objetivo de se obter uma melhor descrição de seus documentos e, como consequência, melhores resultados em termos de ranqueamento em tarefas de busca, assim como na exe-cução de tarefas de aprendizado de máquina, como a de classificação. No contexto deste trabalho, entende-se por “melhor descrição”, uma representação vetorial que seja poten-cialmente mais eficaz em tarefas de recuperação e classificação de documentos textuais. Em especial, este trabalho foca em tarefas de classificação.

Em um workflow típico de aprendizagem de máquina para classificação (ver Figura 3.1), são seis as atividades para a realização da tarefa completa: (1) selecionar a coleção, (2) di-vidir as amostras entre treino e teste, (3) descrever as características da coleção, (4) nor-malizar as representações, (5) aplicar o método de classificação e (6) obter os resultados. Na tarefa descrita no workflow, portanto, o Sistema de Enriquecimento Semântico de Da-dos Textuais (SESDT) pode ser visto como uma atividade de extração de característica, ou seja, como um descritor.

Figura 3.1: Representação de um experimento típico de classificação (Adaptado de [44]).

(30)

CAPÍTULO 3. ENRIQUECIMENTO SEMÂNTICO DE DADOS TEXTUAIS 30

3.2

Arquitetura do Sistema

A Figura 3.2 apresenta a arquitetura genérica do sistema, conforme as camadas descritas a seguir:

Figura 3.2: Arquitetura do Sistema de Enriquecimento Semântico de Dados Textuais aplicado a tarefas de aprendizagem de máquina.

• Camada de Apresentação: Responsável por prover uma interface amigável para o usuário para receber os parâmetros de execução das tarefas. O usuário realiza a indicação de qual componente será executado em cada atividade, além de fazer a configuração apropriada de cada componente. Também é o módulo pelo qual o usuário acompanha a execução das atividades escolhidas e visualiza os resultados obtidos.

• Camada do Workflow: Contém os mecanismos e gerenciadores necessários para executar cada atividade definida no experimento, seguindo a ordem em que foi defi-nida e atendendo aos parâmetros informados pelo usuário. Esta camada representa o SWfMS propriamente dito.

• Camada Operacional: É a camada que contém o repositório com as coleções (ou datasets) e o repositório com as ontologias, usados pela Camada de Workflow para as execuções das tarefas. Esta camada contém também os componentes, aplicações e

(31)

CAPÍTULO 3. ENRIQUECIMENTO SEMÂNTICO DE DADOS TEXTUAIS 31

algoritmos padrões usados pela camada de workflow para a execução de experimen-tos científicos. É esta camada que contém o Módulo de Enriquecimento Semântico proposto.

3.3

Enriquecimento Semântico Usando Grafos

Nesta seção, formalizamos a abordagem proposta para enriquecimento semântico de docu-mentos textuais, principal contribuição desta pesquisa. Esta abordagem estende o modelo de representação de documentos textuais em grafos proposto em [36] e utilizado em [11] para gerar representações vetoriais. A extensão consiste na adição de vértices e ares-tas à representação em grafo utilizada, a partir da identificação de relações entre termos (conceitos) em ontologias.

Seja D um documento textual e G = (V, E) um grafo associado ao documento D. Uma função de extração de grafos

P(D) → (V [E)

é uma função que um elemento do documento textual D com um vértice de V ou uma aresta de E. O conjunto definido por P(D) define todos os possíveis elementos (por exemplo, seus termos) de um dado documento textual D.

A função de extração de grafos adotada [11] considera a proximidade e a ordem de termos em segmentos de texto. Um segmento pode ser definido arbitrariamente. Neste trabalho consideramos as sentenças em um documento. Para cada termo de um docu-mento, cria-se um grafo. Será associado um vértice para o termo em análise e arestas direcionadas são criadas, conectando-se este termo a outros no mesmo segmento.

Seja GD = {G1, G2, . . . , Gn} um conjunto contendo n grafos extraídos de um docu-mento textual D. Modelamos o enriquecidocu-mento semântico como uma função F : GD → GD0 , em que GD0 = {G01, G02, . . . , G0n} é um conjunto de grafos, tal que G0

i = (Vi0, Ei0) ∈ GD0 . Os conjuntos Vi0 ⊃ Vi e Ei0 ⊃ Ei, 1 ≤ i ≤ n, constituem conjuntos enriquecidos de Vi e Ei, respectivamente, a partir de relações entre termos identificadas em ontologias.

Há diferentes formas para enriquecimento dos grafos GD, ou seja, diferentes maneiras de se implementar a função F . A seguir, introduzimos duas implementações usadas neste trabalho, baseadas no uso de sinônimos (Seção 3.3.1) e hiperônimos (Seção 3.3.2).

3.3.1

Enriquecimento por Sinônimo

O enriquecimento por sinônimo consiste na identificação de termos sinônimos em uma ontologia, na criação de vértices para cada sinônimo identificado e, finalmente, na criação de arestas conectando os novos vértices aos seus sinônimos.

O Algoritmo 1 sumariza os principais passos do enriquecimento por sinônimo. Na Linha 1 do algoritmo, o documento D é representado por um conjunto de grafos GD. Em seguida, os grafos Gi ∈ GD são enriquecidos nas Linhas de 3 a 9. Para cada grafo Gi, seus termos são identificados na Linha 4. Sinônimos destes termos, então, são identificados na ontologia O na Linha 7. Estes sinônimos são usados para definição de novos vértices

(32)

CAPÍTULO 3. ENRIQUECIMENTO SEMÂNTICO DE DADOS TEXTUAIS 32

Algorithm 1 Enriquecimento por Sinônimo. Input: Documento textual D, Ontologia O

Output: Representação em grafos GD0 enriquecida de D 1: GD ← getGraphs(D) 2: GD0 ← ∅ 3: for all Gi ∈ GD do 4: T ← getT erms(Gi) 5: G0i ← Gi 6: for all t ∈ T do 7: S ← getSynonyms(t, O) 8: G0i ← enrich(G0 i, S) 9: GD0 ← GD0 ∪ G0i 10: return GD0

e arestas, dando origem a um novo grafo G0i (Linha 8). Todos os grafos G0i são então utilizados para formar a nova representação enriquecida GD0 do documento D (Linha 9).

A principal novidade deste trabalho reside no uso da função enrich(G0i, S) (Linha 8). O grafo de entrada tem seus vértices valorados, conforme a frequência relativa do termo representado pelo vértice na amostra original (portanto valores entre 0 e 1) e possui arestas direcionadas, também valoradas, conforme a frequência relativa da sequência de termos que ela representa na amostra original. Para os novos vértices adicionados, o valor atribuído ao novo vértice é o mesmo valor do vértice que deu origem a ele e, da mesma forma, as arestas que chegam e saem do vértice original são copiadas indicando uma nova sequência de termos possível e com mesmo significado, do ponto de vista semântico, da sequência de termos original.

Considerando hipoteticamente um documento com o título “Braveheart” e uma sen-tença de texto “Every man dies but not every man really lives”, após execução do compo-nente de extração de grafos, o grafo extraído irá considerar a sequência das palavras no texto e valorar seus vértices e arestas conforme a frequência de cada termo no documento. A Figura 3.3 exibe este exemplo.

Aplicando-se neste exemplo o Algoritmo 1 e utilizando a Ontologia WordNet, para cada vértice serão localizados os sinônimos do termo ao qual o vértice representa. De forma hierárquica, a Figura 3.4 apresenta algumas das relações para a palavra “man”,

(33)

CAPÍTULO 3. ENRIQUECIMENTO SEMÂNTICO DE DADOS TEXTUAIS 33

iniciando sempre pela raiz entity. Podemos verificar o sinônimo de interesse para este exemplo adult male, o superconceito person e alguns subconceitos black man, white man, boy, guy.

Figura 3.4: A palavra “man” conceituada hierarquicamente segundo a WordNet. A Figura 3.5 exibe o grafo enriquecido resultante, após o uso da ontologia para iden-tificação de relações entre termos. É importante observar que aos exemplos apresentados nesta seção correspondem a apenas um recorte de uma parte das relações das palavras de interesse dentro da WordNet que são úteis para ilustrar o contexto do exemplo de enriquecimento apresentado.

Figura 3.5: Um exemplo de grafo enriquecido por sinônimos mais relevantes para uma amostra de texto.

(34)

CAPÍTULO 3. ENRIQUECIMENTO SEMÂNTICO DE DADOS TEXTUAIS 34

3.3.2

Enriquecimento por Hiperônimo

O enriquecimento por hiperônimo é similar àquele usado para tratar sinônimos. A única diferença em relação ao Algoritmo 1 refere-se ao uso da função getHypernyms na Li-nha 7. Esta função devolve termos que são hiperônimos do termo definido considerando a ontologia O dada como entrada. O Algoritmo 2 sumariza o processo de enriquecimento por hiperônimo.

Algorithm 2 Enriquecimento por Hiperônimo. Input: Documento textual D, Ontologia O

Output: Representação em grafos GD0 enriquecida de D 1: GD ← getGraphs(D) 2: GD0 ← ∅ 3: for all Gi ∈ GD do 4: T ← getT erms(Gi) 5: G0i ← Gi 6: for all t ∈ T do 7: S ← getHypernyms(t, O) 8: G0i ← enrich(G0 i, S) 9: GD0 ← GD0 ∪ G0i 10: return GD0

3.4

Aspectos de Implementação

Considerando a eficiência da utilização de representação de coleções textuais baseadas em grafos e a facilidade de execução de experimentos científicos por meio da utilização de workflows, a arquitetura proposta para Sistema de Enriquecimento Semântico de Dados Textuais é apresentada na Figura 3.6.

Utilizando como plataforma base de execução, a proposta adiciona à arquitetura do framework para automatizar experimentos de aprendizado de máquinas descrito na Fi-gura 2.5a, componentes específicos para o enriquecimento semântico de dados textuais. A seguir são descritos estes componentes:

• framework Kuaa: Um framework baseado em workflow que pode ser usado para o desenho e execução automática de experimentos de aprendizagem de máquina [10]. A aplicação gerada a partir do framework descrito na Seção 2.3.2, possui em sua versão atualmente disponibilizada para pesquisas, um repositório com diversos com-ponentes para extração de características, normalização, classificação e métodos de fusão. Permite o acoplamento de novos plugins contendo a implementação de novos componentes facilmente e, aproveitando desta característica, incluímos o módulo de enriquecimento semântico proposto neste trabalho;

• Repositório de ontologias: Contém a base de dados com a ontologia a ser usada para auxiliar nas tarefas de enriquecimento semântico. Na presente implementação

(35)

CAPÍTULO 3. ENRIQUECIMENTO SEMÂNTICO DE DADOS TEXTUAIS 35

Figura 3.6: Arquitetura proposta para o Sistema de Enriquecimento Semântico de Dados Textuais aplicado a tarefas de aprendizagem de máquina.

do arcabouço, considera-se o uso da ontologia WordNet (apresentada na Seção 2.1.2), utilizada para textos em inglês e genérica o suficiente para tratar qualquer coleção de documentos;

• Módulo de enriquecimento semântico baseado em grafos: Incluído no re-positório de descritores, contém os métodos, componentes e algoritmos necessários para enriquecer semanticamente, a partir de uma ontologia, coleções de documentos. Este repositório inclui três novos componentes implementados: Extrator de Grafos, Enriquecedor Semântico de Grafos e Representação Vetorial de Grafos. Estes com-ponentes atuando sequencialmente e em conjunto constituem a implementação do Semantic Bag of Textual Graphs.

3.5

Semantic Bag of Textual Graphs

Esta seção descreve os componentes do SBoTG. São eles:

Extrator de Grafos: Componente que extrai um ou mais grafos para cada amostra de uma coleção. Neste trabalho, utilizam-se métodos baseados na proposta apresentada em [36] (Seção 2.2.1).

Enriquecedor Semântico de Grafos: Componente que percorre os grafos gerados, adicionando conteúdo a vértices e arestas, obtido das relações semânticas definidas em

(36)

CAPÍTULO 3. ENRIQUECIMENTO SEMÂNTICO DE DADOS TEXTUAIS 36

Figura 3.7: Processo de Enriquecimento Semântico de Dados Textuais.

uma ontologia, conforme os métodos descritos na Seção 3.3.

Representação Vetorial de Grafos: Componente responsável pela geração do voca-bulário de grafos e geração da representação vetorial destes grafos, conforme proposto em [36] e implementado por [11], para posterior uso em tarefas de aprendizagem de má-quina, em especial, de classificação.

A Figura 3.7 contém a representação das diferentes etapas de processamento do SBoTG. A partir dos documentos da amostra de treinamento (A), são extraídos os grafos corres-pondentes (B), que são enriquecidos utilizando uma ontologia, gerando os grafos enri-quecidos (C). Sobre os grafos enrienri-quecidos são extraídos os subgrafos para a geração do vocabulário de grafos (D). Os grafos são projetados sobre o vocabulário por meio de funções de Atribuição e Pooling obtendo-se a sua representação vetorial (E). Para o trata-mento de novas amostras (F), o processo se repete: são extraídos os grafos da amostra (G) que posteriormente são enriquecidos utilizando a mesma ontologia das amostras de trei-namento (H). Em seguida, os grafos obtidos são projetados no vocabulário, obtendo-se a representação vetorial correspondente (I).

(37)

Capítulo 4

Validação

Este capítulo apresenta a validação conduzida do Sistema de Enriquecimento de Docu-mentos Textuais proposto (descrito no Capítulo 3). A validação é dividida em duas etapas: na apresentação de estudo de caso voltado à especificação e execução de experimentos de classificação usando a implementação descrita na Seção 3.4 e da efetiva realização de expe-rimentos de classificação de documentos textuais, utilizado-se de descritor que considera o enriquecimento semântico de grafos.

4.1

Cenário de Uso do Sistema de Enriquecimento

Se-mântico

O cenário de uso apresentado considera o uso do sistema Kuaa [10]. Para o desenho do fluxo das atividades de execução do experimento, é necessário a seleção do módulo a ser executado a partir da janela principal do famework, conforme Figura 4.1. Seleci-onado um módulo ou atividade, é necessário definir os parâmetros para sua execução. A Figura 4.2 exibe a definição de parâmetro para o módulo Collection, que permitirá a escolha de coleções de documentos textuais que serão usados na realização de experimen-tos. No exemplo mostrado, o usuário pode escolher entre três coleções: 20-NewsGroups1, K-series2, e Reuters3.

A Figura 4.3 apresenta um workflow completo projetado na ferramenta Kuaa. No experimento especificado, o usuário tem como objetivo a comparação do desempenho de eficácia de dois descritores de documentos textuais: BoTG [11] e o descritor SBoTG, versão estendida do BoTG que considera o enriquecimento semântico de grafos que re-presentam documentos textuais, proposto neste trabalho. O experimento especificado compara os métodos utilizando-se do protocolo cross-validation e do classificador SVM – atividade libSVM no workflow. As métricas de comparação são F-Measure e matrizes de confusão (Confusion Matrix).

1http://archive.ics.uci.edu/ml/datasets/Twenty+Newsgroups (Último acesso em agosto de

2017).

2http://www-users.cs.umn.edu/~boley/ftp/PDDPdata (Último acesso em agosto de 2017). 3http://archive.ics.uci.edu/ml/datasets/Reuters-21578+Text+Categorization+Collection

(Último acesso em agosto de 2017).

(38)

CAPÍTULO 4. VALIDAÇÃO 38

Figura 4.1: Escolha do módulo para execução na ferramenta Kuaa.

Figura 4.2: Escolha de coleções de documentos textuais na ferramenta Kuaa.

4.2

Experimentos de Classificação de Documentos

Tex-tuais Enriquecidos Semanticamente

O cenário de validação foi de classificação de textos. O que se pretende avaliar com este experimento é a eficácia do método de classificação de textos enriquecidos com anotações semânticas baseadas em ontologia. A hipótese inicial para esta validação é que o uso de ontologia como anotação semântica contribui para melhorar a eficácia de tarefas de aprendizado de máquina voltadas para classificação de texto.

(39)

CAPÍTULO 4. VALIDAÇÃO 39

Figura 4.3: Workflow de experimento de classificação considerando o descritor BoTG e sua versão enriquecida semanticamente (SBoTG).

4.2.1

Protocolo Experimental

Coleções de Documentos Textuais: Três coleções de documentos textuais foram consideradas nos experimentos: K-series, Reuters e 20-newsgroups. A coleção K-series contém páginas Web extraídas do site Yahoo e distribuídas em 6 categorias. A coleção Reuters (mais especificamente Reutesrs21578) contém notícias agrupadas compostas de um título curto e uma longa descrição de texto, classificadas em 5 categorias distintas. Destas só consideramos a categoria topics, com 15 classes. A coleção 20-newsgroups con-tém mensagens postadas no forum USENET, sendo portanto a coleção menos padronizada do ponto de vista da estrutura das amostras, distribuídas em 20 classes.

Das amostras originais, por simplificação, foram descartadas as amostras não classi-ficadas e as amostras com múltiplas classificações. Também foram descartadas amostras sem conteúdo textual por não serem úteis em nossa abordagem de classificação de textos. A Tabela 4.1 resume as estatísticas das três coleções em seu conteúdo final após a seleção das classes e limpezas. São apresentados o número de classes e o número de amostras por coleção.

Extração de Grafos: A geração dos grafos a partir das amostras da coleção obtém os segmentos de texto do documento que são relevantes, ou seja, que possuem algum

Referências

Documentos relacionados

O TBC surge como uma das muitas alternativas pensadas para as populações locais, se constituindo como uma atividade econômica solidária que concatena a comunidade com os

Os supercondutores magnéticos, volantes de inércia e os condensadores são apropriados para aplicações que necessitam de grande potência de saída em pouca

The strict partition problem is relaxed into a bi-objective set covering problem with k-cliques which allows over-covered and uncovered nodes.. The information extracted

Dessa maneira, os resultados desta tese são uma síntese que propõe o uso de índices não convencionais de conforto térmico, utilizando o Índice de Temperatura de Globo Negro e

Apesar dos esforços para reduzir os níveis de emissão de poluentes ao longo das últimas décadas na região da cidade de Cubatão, as concentrações dos poluentes

A NFS está inserida num grupo de farmácias que ajuda a desenvolver vários projetos, bem como disponibiliza vários serviços ao utente e ainda possibilita à farmácia a venda

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Código Descrição Atributo Saldo Anterior D/C Débito Crédito Saldo Final D/C. Este demonstrativo apresenta os dados consolidados da(s)