EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que...

71
EDUARDO QUEIROZ PERES EXTRAÇÃO AUTOMÁTICA DE INFORMAÇÕES EM NOTÍCIAS SOBRE DESASTRES NATURAIS Trabalho de Formatura apresentado à Escola Politécnica da Universidade de São Paulo para obtenção do Diploma de Engenheiro de Produção São Paulo 2015

Transcript of EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que...

Page 1: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

EDUARDO QUEIROZ PERES

EXTRAÇÃO AUTOMÁTICA DE INFORMAÇÕES EM NOTÍCIAS SOBRE DESASTRES

NATURAIS

Trabalho de Formatura apresentado à

Escola Politécnica da Universidade de

São Paulo para obtenção do Diploma

de Engenheiro de Produção

São Paulo

2015

Page 2: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,
Page 3: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

EDUARDO QUEIROZ PERES

EXTRAÇÃO AUTOMÁTICA DE INFORMAÇÕES EM NOTÍCIAS SOBRE DESASTRES

NATURAIS

Trabalho de Formatura apresentado à

Escola Politécnica da Universidade de

São Paulo para obtenção do Diploma

de Engenheiro de Produção

Orientador: Prof. Doutor Hugo T. Y.

Yoshizaki

São Paulo

2015

Page 4: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

Catalogação-na-publicação

Peres, Eduardo Queiroz Extração automática de informações em notícias sobre desastres naturais /E. Q. Peres -- São Paulo, 2015. 71 p.

Trabalho de Formatura - Escola Politécnica da Universidade de SãoPaulo. Departamento de Engenharia de Produção.

1.Recuperação da Informação 2.Aprendizado Computacional 3.LinguagemNatural I.Universidade de São Paulo. Escola Politécnica. Departamento deEngenharia de Produção II.t.

Page 5: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

Dedico este trabalho a

minha família, que esteve

presente mesmo quando

eu estive ausente, e que

não negou apoio a cada

momento do meu

caminho.

Page 6: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,
Page 7: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

AGRADECIMENTOS

Aos bons professores que tive, entre os quais minha mãe se inclui, que me inspiraram e continuam a me inspirar na busca do conhecimento.

Ao Doutor Irineu de Brito, que não só aconselhou-me para o presente trabalho como também acompanhou-me nos meus primeiros passos no mundo da pesquisa acadêmica.

À Prof. Dra. Adriana Leiras e ao Prof. Dr. Hugo Yoshizaki, que também proporcionaram valiosa orientação para minha iniciação no mundo acadêmico.

Ao Prof. Dr. Hugo Yoshizaki também pela orientação deste presente trabalho e pela confiança endereçada a mim.

Aos amigos que estão perto, pelos momentos de descontração.

Aos amigos que estão longe, pelo apoio, mesmo à distância.

Ao meu pai, minha mãe e minha irmã, pela paciência, amor e motivação.

A Deus, por Ser e permitir que eu seja.

Page 8: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,
Page 9: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

"Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se

corrigires, corrigirás com amor; se perdoares, perdoarás com amor. Se tiveres o amor

enraizado em ti, nenhuma coisa senão o amor serão os teus frutos."

Agostinho de Hipona

Page 10: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,
Page 11: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

RESUMO

Informações sobre desastre naturais passados podem ser encontradas em bancos de

dados internacionais (como EM-DAT) e em bancos de dados de instituições como as Defesas

Civis. Porém muito dos dados relevantes encontram-se exclusivamente em textos não

estruturados, como notícias publicadas na Internet. O presente trabalho apresenta um estudo

do desenvolvimento de um sistema de extração automática de informações em notícias sobre

desastres naturais. Nesse sistema notícias publicadas são classificadas para que apenas as

notícias sobre desastres naturais sejam selecionadas. Os trechos do texto das notícias que

informam sobre a quantidade de vítimas, a quantidade de pessoas desaparecidas ou a

quantidade de pessoas afetadas pelo desastre são automaticamente extraídos. A performance

do classificador de notícias obtido nesse trabalho (87.2% em F1-measure) ultrapassa a

performance de trabalhos semelhantes publicados recentemente, enquanto que a performance

do extrator de trechos informativos (72.9% em F1-measure) é comparável à obtida nas

publicações da literatura. Os conceitos necessários para a abordagem de problemas na área

são apresentados e futuras direções de pesquisa são abordadas na conclusão.

Palavras-chave: Extração de Informação; Recuperação de Informação; Desastres

Naturais

Page 12: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,
Page 13: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

ABSTRACT

Information about past natural disasters can be found in international databases (like

EM-DAT) and in databases of institutions like Civil Defense institutions. However, musch of

relevant data is still exclusively found at unstructured texts, like news' articles published in

the Internet. This thesis presents a study of the development of Information Extraction System

for natural disaster news. In this system, published news are classified for the selection of

only natural disaster news. Chunks of text from those news which are informative of the

amount of victims, missing people or affected people are automatically extracted. The

performance of the classifier obtained in this work (87.2% in F1-measure) is beyond the

performance obtained in similar works recently published, while the performance of the

extraction of informative chunks (72.9% in F1-measure) is comparable to those obtained in

the articles of scientific litterature. The concepts needed to the discussion of problems in this

field are presented and future directions for research are discussed in the conclusion.

Keywords: Information Extraction, Information Retrieval, Natural Disasters

Page 14: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,
Page 15: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

LISTA DE ILUSTRAÇÕES

Figura 1 – Processo atual de obtenção de notícias sobre desastres no CISLog. . . . . . 26

Figura 2 – Multidisciplinaridade do campo de Mineração de Textos (SOARES, 2013,

p. 42) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Figura 3 – Exemplo de processos de NLP a partir de uma sequência de caracteres. . . . 32

Figura 4 – Representação IOB de um chunk. . . . . . . . . . . . . . . . . . . . . . . . 38

Figura 5 – Uso de técnicas de Processamento de Linguagem Natural (NLP), Recupera-

ção de Informação (IR) e Extração de Informação (IE). . . . . . . . . . . . 39

Figura 6 – Exemplos de classificação usando SVM linear e SVM com Kernel RBF. . . 43

Figura 7 – Arquitetura do sistema de classificação de tweets apresentado por Imran et

al. (2014). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Figura 8 – Etapas para extração automática de informações presentes nos trabalhos de

Ishino et al. (2012), Imran et al. (2013a), Ashktorab et al. (2014) e Döhling,

Lewandowski e Leser (2014). . . . . . . . . . . . . . . . . . . . . . . . . . 50

Figura 9 – Etapas e respectivas bibliotecas utilizadas. . . . . . . . . . . . . . . . . . . 52

Figura 10 – Princípio de composição dos corpora deste trabalho. . . . . . . . . . . . . 67

Page 16: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,
Page 17: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

LISTA DE TABELAS

Tabela 1 – Classificação de Desastres. Fonte: (WASSENHOVE, 2006) . . . . . . . . . 30

Tabela 2 – Corpus de Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Tabela 3 – Representação em Saco-de-Palavras dos documentos do Corpus de Exemplo 34

Tabela 4 – Representação de uma Matrix de Confusão para classificação binária . . . . 46

Tabela 5 – Fórmulas para precisão, revocação e acurácia . . . . . . . . . . . . . . . . 46

Tabela 6 – Performance de diferentes classificadores treinados com oCorpusV5 usando

representação TF-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Tabela 7 – Performance de diferentes classificadores treinados com oCorpusV5 usando

representação BOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Tabela 8 – Performance de diferentes classificadores treinados com oCorpusV5 usando

representação com bigramas . . . . . . . . . . . . . . . . . . . . . . . . . 55

Tabela 9 – Performance da classificação em grupos de 100 notícias obtidas usando Go-

ogle News RSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Tabela 10 – Resultados em 12 notícias rotuladas pelo algoritmo CRF treinado com o cor-

pus CRFV 3 (ver seção A.2). . . . . . . . . . . . . . . . . . . . . . . . . . 59

Tabela 11 – Chunks de informação obtidos da notícia “Tufão Goni deixa 20 feridos e

cancela 300 voos no Japão”, na url seguinte: . . . 59

Page 18: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,
Page 19: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

LISTA DE ABREVIATURAS E SIGLAS

EM-DAT The International Disaster Database (GUHA-SAPIR; BELOW; HOYOIS,

2015)

CISLog Centro de Inovação em Sistemas Logísticos

CEMADEN Centro Nacional de Monitoramento e Alertas de Desastres Naturais

NLP Processamento de Linguagem Natural (do inglês, Natural Language Pro-

cessing)

IR Recuperação de Informação (do inglês, Information Retrieval)

SRI Sistema de Recuperação de Informação

IE Extração de Informação (do inglês, Information Extraction)

AM Aprendizado de Máquina

BOW Modelo de representação por “saco-de-palavras”(do inglês, bag-of-words)

TF-IDF Modelo de representação por “frequência do termo, inverso da frequência

nos documentos”(do inglês,“term frequency, inverse document frequency”)

SVM Máquinas de Vetores de Suporte (do inglês, Support Vetors Machine)

RBF Função de Base Radial (do inglês, Radial Basis Function)

CRF Campos Aleatórios Condicionados (do inglês, Conditional Random Fields)

QCRI Qatar Computing Research Institute

NLTK Natural Language Toolkit (BIRD; KLEIN; LOPER, 2009)

RSS Rich Site Summary

Page 20: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,
Page 21: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

LISTA DE SÍMBOLOS

x Amostra representada por vetor de atributos (seção 2.5)

xv Atributo de x de índice v (subseção 2.5.1.4)

C Conjunto de classes para classificação (subseção 2.5.1)

Ck Classe de índice k (subseção 2.5.1)

yn Rótulo de classe associado à amostra n (subseção 2.5.1)

θ Parâmetro cujo valor é obtido no treinamento de um algoritmo de classifi-

cação (subseção 2.5.1)

y(x) Rótulo obtido por um classificador para a amostra x (subseção 2.5.1)

J Função de custo de um algoritmo de classificação (subseção 2.5.1)

p(X|Y ) Probabilidade de X condicionada a Y (subseção 2.5.1.1)

σ(.) Função Sigmóide (subseção 2.5.1.1)

Sm m-ésima sequência de amostras rotuladas (subseção 2.5.1.5)

Page 22: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,
Page 23: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

SUMÁRIO

1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.1 Contexto do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.2 Formulação do Problema e Objetivos . . . . . . . . . . . . . . . . . . . . . . . 26

1.3 Estrutura do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2 Referencial Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.1 Gestão de Desastres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.2 Processamento de Linguagem Natural . . . . . . . . . . . . . . . . . . . . . . 30

2.2.1 Tokenização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.2.2 Lematização e Stemização . . . . . . . . . . . . . . . . . . . . . . . . 31

2.3 Recuperação de Informação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.3.1 Representação em Espaços Vetoriais . . . . . . . . . . . . . . . . . . . 33

2.3.1.1 Saco-de-Palavras (BOW) . . . . . . . . . . . . . . . . . . . 34

2.3.1.2 Modelo TF-IDF . . . . . . . . . . . . . . . . . . . . . . . . 35

2.3.1.3 n-gramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.3.2 Classificação de Textos . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.4 Extração de Informação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.5 Aprendizado de Máquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.5.1 Algoritmos de Classificação . . . . . . . . . . . . . . . . . . . . . . . 40

2.5.1.1 Regressão Logística . . . . . . . . . . . . . . . . . . . . . . 40

2.5.1.2 Máquina de Vetores de Suporte . . . . . . . . . . . . . . . . 42

2.5.1.3 Kernel SVM . . . . . . . . . . . . . . . . . . . . . . . . . . 42

2.5.1.4 Naive BayesMultinomial . . . . . . . . . . . . . . . . . . . 43

2.5.1.5 Campos Aleatórios Condicionais . . . . . . . . . . . . . . . 44

2.5.2 Avaliação de Performance . . . . . . . . . . . . . . . . . . . . . . . . 45

2.5.3 Validação Cruzada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3 Revisão da Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4 Implementação e Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.1 Arquitetura e Tecnologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.2 Coleta de Notícias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.3 Pre-Processamento dos Documentos . . . . . . . . . . . . . . . . . . . . . . . 53

4.4 Representação e Classificação de Documentos . . . . . . . . . . . . . . . . . . 53

Page 24: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

4.5 Extração de Informação por Rotulação IOB . . . . . . . . . . . . . . . . . . . 57

4.6 Código Fonte e Demonstrações . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5 Conclusão e Futuros Desenvolvimentos . . . . . . . . . . . . . . . . . . . . . . . 61

Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

APÊNDICE A Criação dos Corpora . . . . . . . . . . . . . . . . . . . . . . . . . . 67

A.1 Criação do Corpus V 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

A.2 Criação do Corpus CRFV 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

APÊNDICE B Notícias Rotuladas pelo Algoritmo CRF . . . . . . . . . . . . . . . 69

Page 25: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

25

1. INTRODUÇÃO

1.1 Contexto do Trabalho

O presente trabalho foi realizado em cooperação com o Centro de Inovação em Sistemas Lo-

gísticos (CISLog) da Escola Politécnica da Universidade de São Paulo (POLI-USP). O CISLog

é um “grupo de pesquisa com a finalidade de congregar, integrar, organizar e consolidar diferen-

tes competências e capacidades em logística no âmbito da Escola Politécnica da USP”(CISLOG,

2015).

Desde 2011 o estudo da Logística de Operação Humanitárias e Gestão de Desastres é uma

das linhas de pesquisa do CISLog, com crescente atenção. Várias publicações nessa área, em pe-

riódicos científicos e congressos nacionais e internacionais, foram feitas desde então, inclusive

uma análise da literatura científica sobre Logística Humanitária e Gestão de Desastres feita por

Leiras et al. (2014) condecorada pela editora do periódico como um Highly Commended Paper

de 2015.

Além das publicações na área, o CISLog também realiza Workshops de Logística Huma-

nitária. A última edição contou com palestrantes de organizações como a Cruz Vermelha e a

Defesa Civil do Estado de São Paulo.

O núcleo de pesquisa em Logística Humanitária realiza cooperações com a Defesa Civil do

Estado de São Paulo e também com o Centro Nacional deMonitoramento e Alertas de Desastres

Naturais (CEMADEN), que busca desenvolver, testar e implementar um sistema nacional de

prevenção de desastres naturais (CEMADEN, 2015).

Dados e estatísticas sobre eventos de desastres, passados e presentes, são essenciais para

o desenvolvimento da pesquisa nessa área. Leiras et al. (2014, p. 105), por exemplo, utilizam

dados do banco de dados EM-DAT (GUHA-SAPIR; BELOW; HOYOIS, 2015) em suas análi-

ses. Esses dados contém, por exemplo, dados sobre o número de pessoas afetadas em eventos

de desastres, o número de vítimas fatais e o dano econômico estimado. Porém, esses dados ge-

ralmente não incluem desastres muito recentes, cujas informações ainda não estão confirmadas

ou completas. Para eventos mais recentes, a fonte primária de informação são notícias na mídia,

que geralmente divulgam informações obtidas por órgãos oficiais como Defesa Civil, Polícia,

Corpo de Bombeiros e etc.

Por esse motivo o núcleo de estudos emLogística Humanitária e Gestão de Desastres iniciou

a criação de uma base de dados de notícias midiáticas sobre desastres. O processo de obtenção de

notícias é simples e faz uso de Alertas do Google (GOOGLE, 2015a) com palavras chave como

Page 26: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

26

Figura 1: Processo atual de obtenção de notícias sobre desastres no CISLog.

”furacão”, ”vulcão”, ”deslizamento de terra”etc. para obter notícias em português na Internet.

Nem sempre as notícias obtidas são efetivamente sobre desastres (a palavra chave ”furacão”,

por exemplo, pode resultar na obtenção de notícias sobre o Clube Atlético Paranaense, devido

à sua alcunha). Faz-se necessária, portanto, uma etapa de intervenção humana que classifica a

notícia como relevante ou não e subsequentemente armazena a notícia no banco de dados, se

relevante. Esse processo é representado na Figura 1.

É nesse contexto que o presente trabalho se desenvolveu: o autor buscou cooperar para a

melhoria desse processo de obtenção de informações a partir de notícias utilizando conceitos e

técnicas de Extração de Informação e Aprendizado de Máquina (ver capítulo 2), conceitos com

os quais o autor deste trabalho teve contato em seus estágios nas empresas Amadeus IT Group e

Microsoft Engineering Center. É importante ressaltar que não a cooperação com o CISLog não

constituiu um estágio, pois não envolveu vínculo empregatício, nem de uma iniciação científica,

pois não teve como principal objetivo uma publicação em congresso ou periódico científico.

1.2 Formulação do Problema e Objetivos

O processo da Figura 1 é a resposta a uma necessidade de informação. Wissbrock (2004)

define necessidade de informação como “o conjunto de toda informação ausente que é neces-

Page 27: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

27

sária para que o utilizador possa atingir seus objetivos em uma determinada situação.”Logo, a

necessidade de informação possui uma estreita dependência dos objetivos do indivíduo ou or-

ganização. No presente caso, os objetivos que os pesquisadores do CISLog buscam atingir são

múltiplos. Alguns deles seriam:

1. Obter estatísticas sobre a cobertura de eventos de desastres pela mídia.

2. Saber quais atores estão envolvidos nas operações humanitárias.

3. Obter informações semelhantes àquelas obtidas por meio do EM-DAT (GUHA-SAPIR;

BELOW; HOYOIS, 2015) no caso de eventos recentes.

O primeiro objetivo citado exige o acesso a uma base de dados de notícias sobre desastres,

enquanto que os outros dois exigem a identificação de trechos relevantes nos textos dessas notí-

cias. Essas duas exigências são atendidas principalmente, respectivamente, pelas duas etapas de

intervenção humana do processo da 1: a filtragem das notícias que vão para o banco de dados

e a seleção de frases importantes. Essas tarefas são problemáticas essenciais de dois campos de

estudo, Recuperação de Informação (ver seção 2.3) e Extração de Informação (ver 2.4).

Foi definido, portanto, como objetivo deste trabalho o estudo de viabilidade e o desenvol-

vimento de um sistema de Extração de Informação (Recuperação de Informação sendo uma

das etapas, porém não a etapa final do sistema) para substituir - ou, pelo menos, reduzir - as

operações humanas do processo na Figura 1.

Por questões de praticidade e prioridade, o escopo deste trabalho foi definido pelos seguintes

princípios:

1. As notícias buscadas serão apenas as escritas em língua portuguesa publicados na Internet.

2. As notícias consideradas relevantes serão notícias sobre desastres naturais.

3. As notícias consideradas relevantes serão notícias sobre desastres de início súbito.

4. As informações buscadas no texto das notícias serão informações sobre quantidade de

vítimas fatais, quantidade de pessoas desaparecidas e quantidade de pessoas afetadas.

O primeiro princípio já é utilizado no processo atual do CISLog, que se limita a notícias

em português. O segundo e o terceiro princípios foram escolhidos para limitar o escopo no

desenvolvimento do primeiro protótipo do sistema, pois essas restrições podem ser relaxadas em

versões e desenvolvimentos posteriores. Porém, os desastres naturais de início súbito compõe a

Page 28: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

28

maior parte dos desastres noticiados pela mídia e os desastres com mais impacto em número de

pessoas afetadas (LEIRAS et al., 2014).

Dessa maneira, o objetivo deste trabalho define-se de maneira clara e limitada: obter au-

tomaticamente artigos publicados na Internet, em língua portuguesa, sobre eventos de

desastres naturais de início súbito, e extrair deles, automaticamente, informações sobre

quantidade de vítimas fatais, pessoas desaparecidas e quantidade de pessoas afetadas.

1.3 Estrutura do Trabalho

O primeiro capítulo deste trabalho, que aqui termina, apresentou o contexto do trabalho,

suas motivações e objetivos.

O segundo capítulo contém o referencial teórico, onde conceitos importantes para a compre-

ensão tanto deste trabalho, quanto dos trabalhos citados na revisão da literatura científica, são

apresentadas. Os conceitos e técnicas abordados nesse capítulo estão organizados em seções

por área de estudo: Gestão de Desastres, Processamento de Linguagem Natural, Recuperação

de Informação, Extração de Informação e Aprendizado de Máquina.

O terceiro capítulo apresenta a revisão bibliográfica realizada sobre o assunto, mostrando

avanços semelhantes realizados nacional e internacionalmente, e os trabalhos na literatura cien-

tífica que inspiraram as escolhas realizadas neste trabalho.

O quarto capítulo apresenta a solução desenvolvida neste trabalho, sua estrutura e seus re-

sultados. Por fim, o trabalho termina com uma conclusão, onde os resultados são discutidos e

novos possíveis desenvolvimentos são propostos.

Page 29: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

29

2. REFERENCIAL TEÓRICO

O presente capítulo tem por objetivo apresentar o referencial teórico dos principais concei-

tos e técnicas utilizados neste trabalho. Sendo este um trabalho sobre Extração de Informação,

este será um campo de estudos abordado neste capítulo. Porém trata-se de uma área de estu-

dos intensamente multi-disciplinar. Soares (2013, p. 42), em seu trabalho sobre um sistema de

Mineração de Dados observa que para o tratamento de textos e a extração de informações conti-

das neles, é necessário empregar técnicas e conceitos de áreas interligadas como Processamento

de Linguagem Natural, Aprendizado de Máquina, Recuperação de Informação, Mineração de

Dados, Ciências Cognitivas e Estatística.

Figura 2: Multidisciplinaridade do campo de Mineração de Textos (SOARES, 2013, p. 42)

Este trabalho categoriza-se melhor no campo de Extração de Informação do que no de Mi-

neração de Texto, pois envolve pouca agregação e análise das informações extraídas de fontes

diferentes, apesar de Extração de Informação ser comumente utilizada para Mineração de Texto

(NAHM; MOONEY, 2002), (MOONEY; BUNESCU, 2005). Logo as relações exemplificadas

na Figura 2 se mantêm no caso da interdisciplinaridade do campo de Extração de Informação,

removendo-se apenas a Mineração de Dados do diagrama.

Portanto, nas próximas seções abordaremos conceitos de alguns desses campos de estudo,

nesta ordem: Processamento de Linguagem Natural, Recuperação de Informação, Extração de

Informação e Aprendizado de Máquina. Antes, porém, algumas poucas definições específicas

Page 30: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

30

Naturais Causados por Humanos

Início SúbitoTerremotosFuracãoTornados

Ataque terroristaGolpe de Estado

Vazamento químico

Início LentoSecasFome

Epidemias

Crises de refugiadosCrises políticas

Tabela 1: Classificação de Desastres. Fonte: (WASSENHOVE, 2006)

da área de Gestão de Desastres serão apresentadas brevemente.

2.1 Gestão de Desastres

Como citado na introdução deste trabalho, sua motivação está ligada ao uso de informação

sobre desastres em pesquisas em Logística Humanitária e Gestão de Desastres. A maior parte

das definições dos conceitos ligados a Gestão de Desastres que foram utilizadas aqui vêm do

trabalho publicado por Wassenhove (2006). Wassenhove (2006, p. 476) define “desastre”como

“uma perturbação que afeta fisicamente um sistema como um todo e ameaça suas prioridades e

objetivos”.

Foi mencionado na definição dos objetivos deste trabalho que seu escopo se limita a de-

sastres naturais de início súbito. Wassenhove (2006, p. 476) divide os desastres em naturais e

causados por humanos. Outra divisão realizada é entre desastres de início súbito ou de início

lento. Exemplos dessa classificação podem ser vistos na Tabela 1. Leiras et al. (2014) mencio-

nam que os desastres naturais de início súbito compreendem a maior parte da população afetada

por desastres, de acordo com os dados do EM-DAT.

A gestão de informação é citada por Wassenhove (2006, p. 482) como um elemento es-

sencial na Gestão de Desastres. É necessário obter informações de desastres anteriores para a

análise de possíveis necessidades futuras. O presente trabalho atua nesse aspecto da Gestão de

Desastres, permitindo a obtenção de informações a partir de grandes quantidades de documentos

textuais.

2.2 Processamento de Linguagem Natural

Também conhecido como Linguística Computacional, Processamento de Linguagem Natu-

ral (NLP, do inglês Natural Language Processing) é, tal como definido por Bird, Klein e Loper

(2009, p. ix), qualquer tipo de manipulação de linguagem natural efetuada por computadores. E

entende-se por linguagem natural as linguagens com as quais humanos se comunicam entre si

Page 31: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

31

no dia a dia, como português, chinês e inglês. Tarefas executadas com NLP podem ser simples

como obter a contagem de palavras em um documento ou complexas como a “compreensão”de

um comando realizado em linguagem natural ou a tradução automática de um texto de uma

língua para outra.

Os problemas, conceitos e técnicas em NLP são ligados a características intrínsecas da lin-

guagem natural, como estruturas sintáticas, morfológicas, gramática etc. Abaixo são apresenta-

das as técnicas de pre-processamento de texto utilizadas neste trabalho, oriundas do NLP.

2.2.1 Tokenização

Uma das tarefas mais comuns na área de Processamento de Linguagem Natural é a tokeni-

zação. Ela é definida como o processo de cortar uma sequência de caracteres em tokens. Tokens

são instâncias de uma sequência de caracteres em algum documento que são agrupados como

uma unidade semântica útil para processamento (MANNING; RAGHAVAN; SHÜTZE, 2008,

p. 22). Neste presente trabalho, a tokenização consiste em dividir sequências de caracteres que

representam documentos em tokens que correspondem geralmente. Porém, tokens podem cor-

responder a termos compostos por mais de uma palavra (como “couve-flor”) ou por conjuntos de

caracteres que não correspondem a uma palavra (como elementos de pontuação, ou a sequência

“2013/05/30”).

2.2.2 Lematização e Stemização

Essas duas tarefas partilham do mesmo objetivo: reduzir ao radical original palavras deri-

vadas ou flexionadas (SOARES, 2013, p. 49). Porém, diferem nos meios pelos quais buscam

cumprir esse objetivo.

Sobre essa distinção, Manning, Raghavan e Shütze (2008, p. 32) escrevem que na lemati-

zação, o uso de vocabulários e análises morfológicas dos termos buscam chegar à “forma do

dicionário”da palavra (retornando verbos conjugados à forma infinitiva e termos flexionados ao

seu radical), chamada de lema; enquanto que na stemização, do inglês stemming utiliza-se de

uma simples heurística que consiste em cortar o fim das palavras segundo um conjunto pequeno

de regras.

Apesar da melhor qualidade da redução dos termos aos radicais originais ser obtida pela

lematização, como podemos ver pelo exemplo na figura 3, sua dificuldade de implementação

e a pouca disponibilidade de bibliotecas para lematização em português levou-nos a trabalhar

apenas com stemização neste projeto.

Page 32: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

32

Figura 3: Exemplo de processos de NLP a partir de uma sequência de caracteres. A função de tokenização utilizadafoi a da biblioteca NLTK (BIRD; KLEIN; LOPER, 2009), o algoritmo de stemização foi o RSLPStemmer damesmabiblioteca e para a lematização foi utilizada a biblioteca LemPORT (RODRIGUES; OLIVEIRA; GOMES, 2014)

2.3 Recuperação de Informação

Apesar de ser uma expressão aparentemente comum, a Recuperação de Informação en-

quanto disciplina acadêmica possui uma definição mais precisa. Manning, Raghavan e Shütze

(2008, p. 1) definem a Recuperação de Informação da seguinte maneira: Recuperação de Infor-

mação (IR, do inglês Information Retrieval) consiste em encontrar, dentro de grandes coleções

(geralmente bases de dados), materiais (geralmente documentos) de natureza não-estruturada

(geralmente texto) que satisfazem uma necessidade de informação.

De acordo com essa definição, uma página de buscas como o Google, por exemplo, é um

sistema de Recuperação de Informação: o usuário com uma necessidade de informação (e. g. o

data de nascimento de um compositor) usará o sistema para encontrar um documento de natureza

não-estruturada (uma página HTML) a partir de uma grande coleção (todas as páginas indexadas

pelo Google).

Com a prevalência da internet e do uso de microcomputadores pessoais na rotina dos indi-

víduos, o Recuperação de Informação é, atualmente, um dos principais meios de obtenção de

Page 33: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

33

informação, seja no contexto coorporativo ou nas atividades privadas pessoais dos invidíduos.

O que diferencia a IR de outros tipos de busca de informação no contexto digital é, jus-

tamente, o foco em materiais não-estruturados. Mas, como bem notam Manning, Raghavan e

Shütze (2008, p. 1), quase nenhuma informação tem ausência completa de estrutura - mesmo a

linguagem humana escrita e falada segue regras linguísticas. Porém essa estrutura latente não

pode ser identificada de maneira trivial por um agente não-humano.

Sistemas de Recuperação de Informação (SRI) são sistemas de informação que realizam

operações de Recuperação de Informação a partir de um conjunto de materiais (geralmente do-

cumentos de texto). Segundo Souza (2006, p. 163) , os SRI executariam as seguintes tarefas:

representação das informações contidas nos documentos; gestão física ou lógica dos documentos

e suas representações; e recuperação das informações representadas e dos próprios documentos

de forma a satisfazer uma necessidade de informação do usuário.

Ainda segundo Souza (2006, p. 162), uma das dificuldade da IR vem da dificuldade da

determinação da real necessidade de informação do usuário. Essa é uma questão essencial pois

satisfazer necessidades de informação é a razão de ser do SRI. E, mesmo bem definida a necessi-

dade de informação, outra questão central vem à tona: a identificação dos documentos relevantes

dentre o conjunto de documentos disponível ao SRI.

Abaixo duas taregas essenciais em Recuperação de Informação são apresentadas.

2.3.1 Representação em Espaços Vetoriais

Foi citado anteriormente que uma das funções de um SRI é representar as informações con-

tidas em um documento. Essa representação geralmente é estruturada, para que esse documento

possa ser analisado no contexto de uma necessidade de informação, e em seguida ranqueado em

comparação aos outros documentos pela sua relevância ou classificado como relevante ou não.

Uma maneira de representar documentos é por meio de vetores pertencentes a um espaço

vetorial comum. Segundo Manning, Raghavan e Shütze (2008, p. 120), esse tipo de representa-

ção é fundamental para uma grande quantidade de operações em IR, incluindo Classificação de

Documentos.

Dentre os modelos de representação de documentos em espaços vetoriais, três foram utili-

zados neste trabalho: o modelo “saco-de-palavras”, o modelo TF-IDF e o modelo de N-gramas.

Page 34: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

34

2.3.1.1 Saco-de-Palavras (BOW)

O modelo de representação chamado “saco-de-palavras”(BOW, do inglês “bag-of-words”)

consiste em representar cada documento como umvetor de dimensão v que representa a presença

de termos do vocabulário no documento, v sendo a cardinalidade do vocabulário de todos os

termos do corpus de documentos.

Usando o termo corpus doravante para referir-se a uma coleção de documentos, para exem-

plificar o modelo BOW, iremos considerar a representação dos documentos contidos no corpus

de exemplo abaixo:

Documento ConteúdoDoc1 O gato caça ratoDoc2 O rato come insetoDoc3 O inseto come insetoDoc4 O homem é mamíferoDoc5 O inseto é artrópodeDoc6 O inseto não é mamífero e o homem não caça gatoDoc7 O rato não caça homem nem gato

Tabela 2: Corpus de Exemplo

No Corpus de Exemplo, o vocabulário - conjunto que contém todos os termos presentes nos

documentos sem repetição - será o seguinte:

V = { o, gato, caça, rato, come, inseto, homem, é, mamífero, artrópode, não, e, nem}

V é, então, um conjunto de cardinalidade 13. Dessa maneira, todos os documentos nesse

corpus serão representados por vetores de dimensão 13, não importando o tamanho do texto. O

valor de cada elemento no vetor corresponde à quantidade do termo do vocabulário presente no

documento. As representações dos documentos do Corpus de Exemplo serão então da seguinte

maneira:

Documento Representação BOWDoc1 (1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0)Doc2 (1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0)Doc3 (1, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0)Doc4 (1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0)Doc5 (1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0)Doc6 (2, 1, 1, 0, 0, 1, 1, 1, 1, 0, 2, 1, 0)Doc7 (1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1)

Tabela 3: Representação em Saco-de-Palavras dos documentos do Corpus de Exemplo

Page 35: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

35

Pode-se ver, então, que a representação BOW não conserva a ordem dos termos no docu-

mento. Portanto é possível que dois documentos diferentes tenham amesma representação, basta

para isso que eles contenham as mesmas quantidades de cada termo. Porém, tal como indicam

Manning, Raghavan e Shütze (2008, p. 117), é intuitivo pensar que documentos representados

pelo mesmo vetor possuem conteúdos semelhantes.

2.3.1.2 Modelo TF-IDF

Omodelo TF-IDF propõe uma maneira de criar vetores com valores associados a termos do

vocabulário para representar documentos textuais obedecendo dois principíos:

• Frequência do Termo (TF): o peso de um termo em uma representação deve ser não-

decrescente em relação à frequência do termo no documento.

• Inverso da Frequência em Documentos (IDF): quantidade também chamada de espe-

cificidade ou raridade do termo. O peso de um termo também deve ser não-decrescente

em relação a essa quantidade, ou seja, não-crescente com relação à frequência do termo

nos documentos do corpus. (MANNING; RAGHAVAN; SHÜTZE, 2008, p. 118)

A aplicação desses princípios se dá por meio de duas funções que irão, multiplicadas, definir

o peso de cada termo e compor o vetor de representação de um documento:

tfidf(t, d) = tf(t, d).idf(t)

No presente trabalho, foi utilizada como função função tf(t, d) a frequência linear, ou seja,

simplesmente a frequência do termo t no documento d. Como função idf(t) foi utilizada uma

estimativa da frequência dos termos na língua portuguesa, para evitar que a valor de idf para

cada termo t fosse dependente do corpus. sendo f(t) a estimativa de frequência do termo t, a

função utilizada como idf(t) foi a seguinte:

idf(t) = log(maxT f(T )

f(t))

Assim, assim como no modelo BOW, obtemos como representação dos documentos vetores

cuja dimensão é igual à cardinalidade do vocabulário do corpus. Este modelo também não leva

em conta a ordem das palavras na frase. Podemos ver esse modelo como simplesmente um

modelo BOW ponderado pela especificidade dos termos.

Page 36: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

36

2.3.1.3 n-gramas

n-gramas são sequências de n tokens que aparecem consecutivamente em um documento.

No caso em que n = 1, chamamos os n-gramas de unigramas e quando n = 2, de bigramas. O

modelo de n-gramas é semelhante ao modelo BOW abordado anteriormente, porém o vocabu-

lário inclui todos os n-gramas, com n variando de 1 a N , o tamanho máximo estipulado.

Em seu estudo sobre o uso de n-gramas para a classificação de textos, Fürnkranz (1998)

concluiu que o uso de bigramas e trigramas, além dos unigramas já utilizados no modelo BOW,

aumenta a performance de classificadores de texto. Isso levou à utilização do bigramas neste

presente trabalho.

No entanto, a dimensão do espaço vetorial comum que contém as representações dos docu-

mentos torna-se muito maior do que nos dois modelos citados anteriormente. Isso ocorre pois

a quantidade de pares distintos de termos consecutivos que aparecem em um corpus é muito

superior à quantidade de termos distintos. Por essa razão, o uso de trigramas foi descartado para

este trabalho.

2.3.2 Classificação de Textos

A tarefa de Classificação, ou Categorização, de Textos consiste em rotular documentos

como pertencentes a uma das classes de um conjunto de classes predefinido. Trata-se de uma

tarefa essencial para o presente trabalho, que inclui em suas estapas a operação de classificar

textos de notícias em uma dentre duas classes possíveis: notícias sobre eventos de desastres

naturais e notícias não sobre eventos de desastres naturais.

Tarefas de Classificação de Textos são, com frequência, efetuadas manualmente por huma-

nos, como bibliotecários que categorizam e organizam livros em uma biblioteca (MANNING;

RAGHAVAN; SHÜTZE, 2008, p. 255). Porém, a tarefa se tornou uma área de estudo importante

em Sistemas de Informação a partir dos anos 90, quando o uso de algoritmos de Aprendizado

de Máquina se tornaram a principal abordagem para esse problema (SEBASTIANI, 2002, p. 2).

Na última seção, foram apresentados diferentes modelos de representação de documentos

através de vetores. Essas representações permitem a utilização de algoritmos comuns de Apren-

dizado de Máquina (ver seção .) que utilizam amostras representadas por vetores tanto para

aprender a executar uma tarefa quanto para executá-la.

Page 37: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

37

2.4 Extração de Informação

Extração de Informação (IE, do inglês Information Extraction) é uma tarefa que consiste

em selecionar, estruturar e algumas vezes combinar informações encontradas explicita ou im-

plicitamente em um ou mais documentos (COWIE; LEHNERT, 1996).

Essa tarefa difere do propósito geral de IR, pois IE busca tornar a informação não-estruturada

em um formato mais estruturado, ao invés de simplesmente fornecer documentos que satisfaçam

a necessidade de informação. Freitag (2000) menciona que IE busca “preencher uma ficha”com

informações contidas em um texto. Bird, Klein e Loper (2009, p. 261) dizem que o objetivo de

IE é encontrar em um texto a resposta para uma ou mais questões.

Essas definições deixam claro quão importante essa tarefa é para este trabalho: é a tarefa na

qual buscar-se-á obter com elementos de um texto as respostas para as seguintes perguntas:

• Quantas pessoas foram afetadas por esse desastre?

• Quantas pessoas estão desaparecidas?

• Quantas vítimas fatais teve esse desastre?

Ou seja, enquanto que a tarefa de Classificação de Textos, oriunda de IR, busca atender uma

necessidade de informação por meio da seleção de documentos relevantes, a tarefa de Extração

de Informação busca procurar nesses documentos relevantes as informações específicas que

respondem à necessidade de informação. São, portanto, etapas subsequentes em processo que se

inicia com uma base de documentos cuja relevância é desconhecida e termina com uma coleção

de informações que respondem a perguntas específicas.

Para isso é necessário encontrar sequências de tokens (chamados chunks) dentro do texto

que respondam a essas perguntas. A maneira mais popular de representar chunks em textos é

pela rotulação IOB (BIRD; KLEIN; LOPER, 2009, p. 269), que consiste em atribuir um rótulo

do conjunto {I, O,B} para cada token em um documento. O rótulo B (do inglês, Begin chunk)

indica o início de um chunk. O rótulo I (do inglês, Inside chunk) indica a continuação de um

chunk. O rótulo O (do inglês, Outside chunk) indica um token que não pertence a um chunk.

Um chunk então inicia-se em um token cujo rótulo é B e continua pelos tokens subsequentes

enquanto esses forem rotulados como I .

Dessa maneira, o processo de encontrar chunks relevantes em um texto pode ser considerada

como uma classificação sequencial de tokens. Esse é o motivo pelo qual o algoritmo de Cadeias

Page 38: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

38

Figura 4: Representação IOB de um chunk. O chunk, iniciado pelo rótuloB e que prossegue pelos rótulos I , forneceuma informação sobre o número de desaparecidos em um desastre.

Aleatórias Condicionais, abordado na subseção 2.5.1.5, é amplamente usado em problemas de

IE.

Para que os tokens sejam rotulados por um algoritmo de classificação, é necessário que ele

possa ser representado como um vetor. Para isso é utilizado um modelo de representação cha-

mado “saco-de-atributos”(em inglês, bag-of-features) onde a presença de atributos predefinidos

- como o próprio token, os dois primeiros caracteres do token (sufixo), o tamanho do token, etc

- gera um vetor da mesma maneira que a presença de termos o faz no modelo BOW supraci-

tado. A classificação sequencial atribui então rótulos IOB aos tokens representados por vetores

“saco-de-atributos”. A Figura 4 mostra como os rótulos IOB definem um chunk de informação

extraída numa frase.

Pode-se ver que as técnicas dos últimos três campos de estudo mencionados relacionam-se

para um processo completo de extração automática de informações. O uso de tais técnicas na

ordem do processo é representado na Figura 5.

2.5 Aprendizado de Máquina

Monard e Baranauskas (2003, p. 39) definem “Aprendizado de Máquina”como uma área

de Inteligência Artificial cujos objetivos incluem a construção de sistemas capazes de adqui-

rir conhecimento de forma automática. Os algoritmos dessa área buscam simular o raciocínio

indutivo, melhorando sua performance na solução de certos problemas a partir da obtenção de

exemplos (ou amostras).

Page 39: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

39

Figura 5: Uso de técnicas de Processamento de Linguagem Natural (NLP), Recuperação de Informação (IR) eExtração de Informação (IE) em um processo completo de obtenção automática de informação a partir de umcorpus de documentos textuais.

Os tipos de aprendizado em Aprendizado de Máquina - AM - são geralmente classifica-

dos em duas grandes categorias principais: aprendizado supervisionado e aprendizado não-

supervisionado. Abordaremos neste trabalho apenas o aprendizado supervisionado.

No aprendizado supervisionado, é fornecido ao algoritmo de aprendizado um conjunto de

amostras acompanhadas de rótulos (quando as amostras correspondem a documentos textuais,

ou elementos de documentos textuais, o conjunto de amostras é geralmente chamado de cor-

pus). Cada amostra é geralmente descrita por um vetor de valores de atributos (MONARD;

BARANAUSKAS, 2003, p. 40). O objetivo desse algoritmo é obter uma regra matemática (ou

classificador) que possa estimar corretamente os rótulos de novos exemplos.

Há dois grandes tipos de problemas de aprendizado supervisionado, separados pela natureza

do rótulo que se busca estimar. Se os rótulos são valores contínuos, trata-se de um problema

de regressão e os rótulos são comumente chamados de variáveis dependentes. Se os rótulos

são valores pertencentes a conjunto discreto e limitado de valores, trata-se de um problema de

classificação e os rótulos são comumente chamados de classes.

Neste trabalho apenas algoritmos de classificação foram utilizados.

Page 40: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

40

2.5.1 Algoritmos de Classificação

Tal como descrito por Bishop (2006, p. 179), o objetivo em um problema de classificação é

atribuir a amostra descrita por um vetor de atributos x a uma dentreK classes Ck, k = 1, . . . , K.

Chamemos C = {C1, . . . , CK} o conjunto de classes.

Para isso, utilizamos um algoritmo de classificação, oumodelo, que, a partir de um conjunto

de treinamento, obtém uma regra de classificação que permite atribuir uma classe a uma nova

amostra.

Um conjunto de treinamento é um conjunto deN pares {(xn, yn)}1≤n≤N , onde xn são amos-

tras descrita por vetores de um mesmo espaço vetorial V e yn são as classes dessas amostras,

yn ∈ C.

O processo de aprendizado, ou treino (ou ainda treinamento), pelo qual obtém-se um regra

de classificação a partir de um conjunto de treinamento se dá, para a maior parte dos algoritmos

comumente utilizados, por meio da minimização de uma função custo J :

θ∗ = arg minθ∈P J!{(xn, yn)}1≤n≤N , θ

"

A função custo depende do conjunto de treinamento e do parâmetro θ, pertencente ao con-

junto de valores possíveis P . Uma vez obtido o valor do parâmetro θ∗ para o qual J é minimi-

zada, obtém-se a regra de classificação seguinte:

y(x) = arg miny∈C J!{(x, y)}

"

De maneira que diferentes algoritmos de classificação diferenciar-se-ão pelos seguintes as-

pectos: funções custo J diferentes; conjunto de valores de parâmetros P; e método de minimi-zação utilizado.

A função custo J é comumente obtida a partir de hipóteses probabilísticas, fazendo da mi-

nimização de J a maximização da probabilidade dos dados do conjunto de treinamento.

Veremos a seguir os diferentes métodos de classificação utilizados no presente trabalho.

2.5.1.1 Regressão Logística

Consideremos o conjunto de classes binário, C = {0, 1}, e também θ ∈ V , ou seja, θ per-tence ao mesmo espaço vetorial que x. O modelo da Regressão Logística é derivado da seguinte

hipótese probabilística:

Page 41: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

41

p(yi = 1|xi) = σ(θTx) , sendo σ(a) =1

1 + exp(a)

σ(.) é chamada de função sigmóide, ou função logística, o que dá o nome do modelo. A

função tem como domínio todo o conjunto dos reais e tem como imagem o intervalo [ 0, 1] , o

que é apropriado para a interpretação de seu valor como uma probabilidade. Com isso derivamos

a função custo J para o treino da Regressão Logística, igualando-a ao negativo do logarítmo da

probabilidade dos rótulos do conjunto de treinamento:

J!{(xn, yn)}1≤n≤N , θ

"= − log p

!(yn)1≤n≤N |(xn)1≤n≤N , θ) =

= −#

1≤n≤N

$yn log(σ(θTx)) + (1− yn) log(σ(1− θTx))

%

Sendo essa uma função convexa, é possível minimizá-la globalmente para obter θ∗ por meio

de algorítimos como Método do Gradiente. Obtido θ∗, a regra de decisão obtida é simples:

y(x) = 1 se, e somente se, σ(θ∗Tx) ≥ 0.5

Porém, a Regressão Logística é normalmente utilizada com regularização. A regularização

é o uso da norma do parâmetro θ como penalidade na função custo. Isso evita over-fitting, que

é a excessiva adaptação do modelo ao conjunto de treinamento. Temos então uma nova função

custo, com regularização:

Jreg!{(xn, yn)}1≤n≤N , θ

"=

= −#

1≤n≤N

$yn log(σ(θTx)) + (1− yn) log(σ(1− θTx))

%+ C∥θ∥2

Onde C ≤ 0 é chamado de parâmetro de regularização. Maiores valores de C implicam

uma menor adaptação ao conjunto de treinamento, o que pode evitar over-fitting mas pode difi-

cultar o treino do modelo.

Para utilizar esse modelo em casos em que o conjunto de classes não é binário, ou seja, há

K classes diferentes, utiliza-se a estratégia “um contra todos”, em queK modelos são treinados,

cada um deles considerando uma classe diferente como positiva e as outras como classe negativa,

obtendo (θ1, . . . , θK). A regra de decisão é feita da seguinte maneira:

y(x) = arg max1≤k≤Kσ(θTk x)

Page 42: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

42

2.5.1.2 Máquina de Vetores de Suporte

Máquina de Vetores de Suporte (SVM, do inglês Support Vectors Machine) são modelos

cuja função de custo pode ser escrita da seguinte maneira:

J!{(xn, yn)}1≤n≤N , θ

"= C∥θ∥2 +

#

1≤n≤N

ℓ(θTxn, yn)

Sendo C o parâmetro de regularização, o conjunto de classes binário yn ∈ C = {−1, 1}, eℓ(., .) é chamada de função perda.

As funções perda utilizadas neste trabalho foram as seguintes:

Perda Hinge Comum: ℓ(w, y) = max{0, 1− w.y}

Perda Hinge Quadrática: ℓ(w, y) =$max{0, 1− w.y}

%2

2.5.1.3 Kernel SVM

Tanto a Regressão Logística quanto a Máquina de Vetores de Suporte comum produzem

fronteiras lineares como regra de decisão. Para problemas onde é necessário obter fronteiras

não lineares, usamos métodos de Kernel, onde funções kernel k(., .) são usadas para modificar

a função custo (CHAPELLE, 2007):

J!{(xn, yn)}1≤n≤N , θ

"= CθTKθ +

#

1≤n≤N

ℓ(θTKn, yn)

Onde K é a matriz de kernels, Ki,j = k(xi, xj) e Kn corresponde à n-ésima coluna da

matriz K. Neste trabalho usamos apenas um tipo de função kernel, a função de base radial:

k(xi, xj) = exp(−γ∥xi − xj∥2).

O uso de classificadores não lineares como Kernel SVM é de grande utilidade quando é

impossível obter uma boa fronteira de decisão com um hiperplano (fronteira linear) no espaço

vetorial das amostras. Porém, quando fronteiras lineares com boa performance de classificação

são possíveis, o uso de classificadores não-lineares apresenta grande risco de overfitting. Um

exemplo desses casos são apresentados na figura 6.

Page 43: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

43

Figura 6: Exemplos de classificação usando SVM linear e SVM com Kernel RBF. Nas imagens superiores, a sepa-ração entre amostras vermelhas e azuis não admite uma boa fronteira linear. No entanto, nas imagens inferiores umaseparação com fronteira linear é possível, e o classificador linear obtém melhor acurácia. Fonte: (VAROQUAUX;MüLLER; GROBLER, 2014)

2.5.1.4 Naive Bayes Multinomial

Nesse modelo, considerando um conjunto de classes comK classes diferentes, o parâmetro

θ é composto deK vetores diferentes, θ1, . . . , θK , cada um pertencente aomesmo espaço vetorial

dos vetores amostra x, o espaço V . As amostras x = (x1, . . . , xV ) são vetores cujos elementos

xv são chamados atributos.

Cada vetor θk é, por sua vez, o parâmetro de uma distribuiçãomultinomial associada à classe

Ck, de maneira que a probabilidade de uma amostra x condicionada à classe Ck é a seguinte:

p(x|Ck, θk) =Γ!"

1≤v≤V xi

#$

1≤v≤V Γ(xi)

%

1≤v≤V

θxvk,v

Sendo Γ a extenção da função fatorial para o domínio dos números reais positivos. A função

custo assume, então, a seguinte forma:

J!{(xn, yn)}1≤n≤N , θ

#= −

&

1≤n≤N

log p(xn|yn, θ)

Page 44: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

44

2.5.1.5 Campos Aleatórios Condicionais

Os Campos Aleatórios Condicionais (CRF, do inglês Conditional Random Fields) são um

modelo apresentado pela primeira vez por Lafferty, McCallum e Pereira (2001). Trata-se de

algoritmo utilizado para a classificação de dados sequenciais, ou seja, para quando as amos-

tras estão organizadas em sequências. Neste trabalho abordaremos apenas um caso específico

dos modelos CRF, os Campos Aleatórios Condicionais em Cadeias Lineares, que é usado para

classificar amostras em sequências lineares (BONADIO, 2013).

Nesse contexto, um conjunto de amostras rotuladas é dividido emM sequências: {S1, . . . ,SM},sendo cada sequência Sm um conjunto de Nm amostras rotuladas: Sm = {(xn, yn)}1≤n≤Nm . Da

mesma maneira que com os algoritmos abordados anteriormente, yn são rótulos pertencentes a

um conjunto de classes C = {C1, . . . , CK}, e xn = (xn,1, . . . , xn,V ) são vetores de um espaço

vetorial V . Porém, no presente contexto, consideraremos que os valores dos atributos xn,v serão

binários, 0 ou 1. O parâmetro θ será um vetor pertencente a um espaço de F -dimensional, sendo

F o número de funções de características do modelo.

A hipótese probabilística do modelo propõe a seguinte expressão para a probabilidade dos

rótulos de uma sequência de amostras:

p!(yn)1≤n≤Nm |(xn)1≤n≤Nm , θ

"= j(Sm, θ) :=

:=1

Z#(xn)1≤n≤Nm

$ exp{%

1≤n≤Nm

%

1≤g≤F

θgfg(yn, yn−1, xn)}

Onde:

Z#(xn)1≤n≤Nm

$=

%

possíveis valores para os ynexp{

%

1≤n≤Nm

%

1≤g≤F

θgfg(yn, yn−1, xn)}

Onde fg(., ., .) são as funções características e y0 é convencionalmente definido como a

classe de início de sequência C0. Abordaremos aqui apenas o caso no qual as funcões caracte-rísticas são do seguinte formato:

fg(yn, yn−1, xn) = 1{yn=Ci}.1{yn−1=Cj}.xn,v para i, j e v definidos.

Vê-se, portanto, que o valor máximo para F , ou seja, o número máximo de funções caracte-

rísticas diferentes, é igual aK2.V , ou seja, o número de pares diferentes de classes multiplicado

pela quantidade de atributos das amostras xn.

Page 45: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

45

As funções características, ao dependerem de dois rótulos consecutivos, fazem com que

a classificação seja, realmente, sequencial, pois não é possível obter os rótulos das amostras

individualmente (por minimização marginal de J) sem obter os rótulos de todas as amostras da

sequência.

Assim como nos modelos anteriores, a minimização da função custo será a maximização do

logaritmo da probabilidade total das amostras. Obtemos, então, a seguinte função custo:

J!(Sm)1≤m≤M , θ

"= − log

#

1≤m≤M

j(Sm, θ)

2.5.2 Avaliação de Performance

Após obter um modelo treinado por meio de Aprendizado de Máquina para uma tarefa de

classificação, é necessário avaliar sua competência em executar essa tarefa por meio de métricas

de avaliação. Essas métricas são obtidas através das classificações obtidas pelo modelo treinado

em um conjunto de teste, um conjunto de dados independente do conjunto de treino.

As três principais métricas utilizadas neste trabalham foram: precisão, revocação e acurácia.

São métricas amplamente utilizadas para avaliação em problemas de Aprendizagem deMáquina

e também para avaliação de Sistemas de Recuperação de Informação. São usadas para avaliar

resultados em problemas de classificação binária, ou seja, em que há apenas duas classes, uma

considerada “positiva”(ou relevante) e outra “negativa”(ou irrelevante).

Precisão, nesse contexto, é definida como a razão entre o número de amostras positivas

rotuladas positivamente - chamadas de ”positivos verdadeiros- e o número total de amostras

rotuladas positivamente. Revocação é definida como a razão entre o número de positivos ver-

dadeiros e o número total de amostras positivas.

No caso de um Sistema de Recuperação de Informação, a interpretação dessas duas métricas

é clara: a precisão expressa a fração dos documentos selecionados pelo sistema que é realmente

relevante, enquanto que a revocação é a fração de documentos relevantes que é selecionada pelo

sistema.

Outra métrica muito utilizada é a F1-measure, que nada mais é que a média harmônica

entre a precisão e a revocação. É uma medida útil quando não há prioridade clara entre precisão

e revocação, porém não se deseja que o valor de nenhuma dessas duas métricas seja muito baixo.

A acurácia é uma métrica mais simples, definida simplesmente como a fração de amostras

Page 46: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

46

corretamente rotuladas pelo modelo treinado.

Os valores totais das amostras podem ser representados, de acordo com sua classe e rótulo

obtido, em umamatriz de confusão:

Classes VerdadeirasPositiva Negativa

ClassesObtidas

Positiva Positivos Verdadeiros (TP) Positivos Falsos (FP)Negativa Negativos Falsos (FN) Negativos Verdadeiros (TN)

Tabela 4: Representação de uma Matrix de Confusão para classificação binária

De acordo com essa notação, podemos resumir as métricas citadas da seguinte maneira:

Precisão TPTP+FP

Revocação TPTP+FN

F1-measure 2∗Precisão∗RevocaçãoPrecisão+Revocação

Acurácia TP+TNTP+FP+FN+TN

Tabela 5: Fórmulas para precisão, revocação e acurácia

Para o caso em que há mais de duas classes, as medidas podem ser realizadas para cada

classe, a cada vez uma das classes sendo considerada como a classe positiva e o conjunto das

outras classes considerada como negativa.

2.5.3 Validação Cruzada

Validação cruzada (no inglês, cross-validation) é ummétodo para a medida de performance

de um modelo de Aprendizado de Máquina usando apenas um conjunto de amostras. Existem

vários métodos diferentes de realizar validação cruzada, porém será aqui descrito o único dos

métodos utilizado neste trabalho, o da sub-amostragem repetida.

Esse método consiste em realizar, a cada repetição da validação, uma sub-amostragem ale-

atória que divide o conjunto de dados em dois: um conjunto de treinamento e um conjunto de

teste. O conjunto de treinamento é, então, utilizado para treinar o modelo de Aprendizado de

Máquina, que é subsequentemente avaliado com o conjunto de teste. A sub-amostragem aleató-

ria pode ser repetida um número arbitrário de vezes, e a performance considerada será a média

da performance obtida a cada repetição.

O uso da validação cruzada para a medida de performance de um modelo é útil pois evita-se

assim o over-fitting de um modelo em um conjunto de teste fixo.

Page 47: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

47

3. REVISÃO DA LITERATURA

A análise de textos na mídia para extração automática de informações sobre desastre nãoé

novidade na literatura científica internacional. Por exemplo, o artigo que forneceu a maior ins-

piração para o desenvolvimento deste trabalho apresenta um sistema de extração de informação

realizado por pesquisadores do Qatar Computing Research Institute (QCRI), que obtém e ma-

nipula textos publicados em mídia social, no Twitter (IMRAN et al., 2014).

Imran et al. (2014) desenvolveram um sistema que coleta textos publicados no Twitter -

tweets - a partir de palavras-chave utilizadas na busca e os classifica de acordo com as informa-

ções que eles contêm. O objetivo é obter tweets sobre desastres (não apenas desastres naturais)

em tempo real, que possam indicar necessidades, eventos, ações ocorridos devido ao desastre.

Um algoritmo de Aprendizado de Máquina foi treinado para realizar a classificação dos

tweets, e para a obtenção do conjunto de dados necessário para o treinamento desse algoritmo,

um grande número de voluntários foram utilizados para o rotulamento parcial dos dados de

treinamento. Eles também utilizam uma abordagem de aprendizado contínuo do sistema, pois

afirmam que cada desastre contém características específicas e portanto o sistema não pode ser

baseado apenas em um conjunto fixo de dados passados. Portanto, a cada novo desastre, uma

certa quantidade de intervenção humana é necessária para atualizar o algoritmo de classificação

inteligente. O processo completo, da coleta à classificação de tweets é representado na Figura 7.

Artigos passados publicados pelo QCRI entram emmaiores detalhes sobre os algoritmos de

classificação e de extração de informação de tweets sobre desastres. Imran et al. (2013b) usou

o algoritmo de classificação Naive Bayes para classificar tweets relevantes para obter informa-

ções sobre desastres, obtendo um classificador com F-measure de 78% (medida por validação

cruzada). Além disso, eles subsequentemente classificaram os tweets em categorias de informa-

ção, porém com performances reduzidas comparada à primeira classificação que separa tweets

relevantes de não relevantes. Em seguida, os autores realizam um processo de Extração de In-

formação baseado em regras baseadas na análise léxica dos termos, ou seja, regras que não

foram geradas por um modelo de Aprendizado de Máquina. Esse processo de Extração de In-

formação busca obter trechos de tweets que fornecem os seguintes tipos de informação: alertas

e conselhos, danos humanos e materiais, pedidos e ofertas de doações, e indicações de fonte de

informação. Essas tarefas de extração de informação obtiveram indicadores de precisão acima

de 70%, porém com fracos índices de revocação.

Os mesmo autores foram capazes de executar, posteriormente, em um outro trabalho (IM-

RAN et al., 2013a), a etapa de extração utilizando uma implementação de Cadeias Aleatórias

Page 48: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

48

Figura 7: Arquitetura do sistema de classificação de tweets apresentado por Imran et al. (2014). O sistema coletatweets usando palavras-chave e hashtags e em seguida utiliza classificadores automáticos treinados por humanospara classificar os tweets em categorias predefinidas, como relato de dano material, número de vítimas, necessidadede doações etc.

Condicionadas adaptada para tweets, chamada ArkNLP. A precisão obtida foi acima de 80%,

com uma revocação variando entre 40% e 80% dependendo dos corpora de tweets utilizado para

treinamento e teste dos algoritmos.

Além dos trabalhos realizados pelo QCRI, Döhling e Leser (2011) utilizaram técnicas de

Reconhecimento de Entidades Mencionadas e Extração de Relações para extrair informações

sobre danos humanos (vítimas, desaparecidos etc.) em notícias de desastres naturais. Em um

processo hierárquico, eles primeiro identificam 5 tipos tipos de entidades no texto: descrição

das vítimas (como “people”ou “inhabitants”), quantidade (como “15”ou “hundreds”), modifi-

cadores (como “at least”ou “more than”), tipo de dano (como “killed”ou “missing”) e negações

(“not”). A identificação dessas entidades é feita sem uso de técnicas de Aprendizado de Máqui-

nas, usando regras de Expressões Regulares e dicionários de termos. A precisão obtida é baixa,

22.7%.A F1-measuremáxima obtida na extração de informações foi de 66.7%, e os testes foram

realizados em um corpus de 109 notícias sobre terremotos.

Mais recentemente, Döhling, Lewandowski e Leser (2014) publicaram resultados com me-

lhorias com relação ao artigo anterior, mais uma vez fazendo uso de Expressões Regulares e di-

cionários de termos, porém eles adicionaram algumas regras que eliminam falsos positivos pela

verificação do contexto. A F1-measure máxima obtida foi 78.7%, quando o corpus de treino e

de teste contém notícias sobre enchentes. Quando o corpus de treino não aborda o mesmo tipo

Page 49: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

49

de desastre que o corpus de test, a F1-measure obtida foi 9% menor.

Usando tweets publicados durante o terremoto que atingiu o Japão emmarço de 2011, Ishino

et al. (2012) apresentam experimentos de extração automática de informações sobre problemas

de tráfico e transporte. O processo de extração é semelhante àquele apresentado por Imran et

al. (2014): há primeiramente uma classificação de tweets relevantes, que contém informações

sobre problemas de trânsito, e em seguida uma extração de informações é realizada nesses tweets

classificados como relevantes.

A classificação de tweets realizada por Ishino et al. (2012) utilizou Máquina de Vetores

de Suporte (SVM) e obteve uma performance em F1-measure de 74%. A etapa de extração

de informação foi realizada com Cadeias Aleatórias Condicionadas (CRF), e uma F1-measure

de 68.9%. O processo de extração de informação é semelhante ao apresentado por Imran et

al. (2013a), e obtém performances semelhantes, apesar de trabalharem com tweets escritos em

línguas diferentes (Imran et al. (2013a) trabalham com tweets em inglês enquanto que Ishino et

al. (2012) trabalham com tweets em japonês).

Mais recentemente, Ashktorab et al. (2014) também apresentaram um estudo sobre extra-

ção de informações a partir de tweets sobre desastres. As informações extraídas são sobre da-

nos em infraestrutura, tipos de danos e vítimas. Assim como Ishino et al. (2012) e Imran et al.

(2013a), o processo de extração é dividido em duas etapas: classificação de tweets relevantes

e extração de trechos nos tweets classificados como relevantes. Na primeira etapa, os autores

testaram vários tipos diferentes de algoritmos de classificação e obtiveram melhores resultados

com Regressão Logística, com um resultado em F1-measure de 65%. Na etapa de extração os

autores também fizeram uso do algoritmo de Cadeias Aleatórias Condicionadas para obter auto-

maticamente as informações contidas nos tweets, obtendo resultados em F1-measure de 60%. O

processo completo de extração de informações nesse trabalho e em outros semelhantes já citados

é representado esquematicamente na Figura 8.

Para notícias em português, porém, os trabalhos publicados nessa área são escassos. Molina

e Steinberger-Elias (2011) utilizam Processamento de LinguagemNatural (utilizando, inclusive,

as implementações da biblioteca NLTK usada neste trabalho) para obter indicadores sobre voca-

bulário e estrutura de textos de um corpus de notícias em português sobre o terremoto no Haiti

em 2010. O trabalho não aborda, porém, métodos para extração de informações - é trabalho

descritivo das notícias.

Mais recentemente, Monteiro (2015) apresentou, em uma dissertação de mestrado, uma

proposta de arquitetura para um sistema de extração automática de informações em mensagens

Page 50: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

50

Figura 8: Etapas para extração automática de informações presentes nos trabalhos de Ishino et al. (2012), Imran etal. (2013a), Ashktorab et al. (2014) e Döhling, Lewandowski e Leser (2014).

SMS em situações de emergência. Não se trata de um contexto de desastres naturais, mas de

emergências industriais, como panes elétricas e eventos semelhantes. O sistema não se baseia

em técnicas de Aprendizado de Máquina, mas sim em dicionários, regras lógicas e importantes

etapas de Processamento de Linguagem Natural. Em um corpus de mensagens obtidas por uma

companhia de energia elétrica, o autor atingiu uma performance de 71% em F1-measure.

Vê-se, portanto, que este é uma área de estudos relativamente jovem. A maior parte dos

desenvolvimentos no cenário internacional foram feitas com corpora de tweets, enquanto que as

pesquisas feitas na língua portuguesa não fazem uso das técnicas de Aprendizado de Máquina

frequentemente utilizadas, como Campos Aleatórios Condicionados. O presente trabalho busca

obter resultados semelhantes aos apresentados pelas pesquisas internacionais fazendo uso de

uma arquitetura em duas etapas principais como a esquematizada na figura 8.

Page 51: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

51

4. IMPLEMENTAÇÃO E RESULTADOS

4.1 Arquitetura e Tecnologias

Neste capítulo os detalhes e performances da implementação realizada neste trabalho são

apresentados. Anteriormente, no primeiro capítulo, os objetivos deste trabalho foram apresen-

tados, e também o processo com intervenções humanas que buscamos substituir por um sistema

automático (ver Figura 1).

O sistema de extração automática de informações desenvolvido pode ser dividido nas se-

guintes etapas:

1. Coleta de notícias;

2. Pre-Processamento;

3. Representação e Classificação;

4. e Extração de Atributos e Extração de Informação.

As seções seguintes desse capítulo abordarão essas etapas em detalhe.

A implementação desse sistema foi feita usando a linguagem de programação Python. A

abundância de bibliotecas para Processamento de Linguagem Natural e Aprendizado de Má-

quina nessa linguagem justifica a escolha dela para este trabalho. As bibliotecas utilizadas nas

várias etapas do processo de extração das informações são resumidas na Figura 9.

4.2 Coleta de Notícias

Na Introdução deste trabalho foi mencionado que, no atual procedimento de obtenção de

notícias no CISLog, os artigos são obtidos fazendo uso de Alertas Google (GOOGLE, 2015a)

com palavras-chave. Os Alertas Google fornecem links, endereços eletrônicos (urls) de notícias

que contém as palavras-chave. Uma vez por dia essas urls são enviadas para uma caixa de e-

mails e através de uma intervenção humana são selecionadas as notícias realmente relevantes.

Neste trabalho, também faz-se uso de ferramentas do Google, porém ao invés dos Alertas

Google, foi preferido o serviço RSS (Rich Site Summary) do Google News (GOOGLE, 2015b).

O serviço RSS do Google News fornece a quantidade demandada de urls de notícias que conte-

nham palavras-chave. A vantagem desse serviço frente aos Alertas Google é que ao invés de ter

as urls enviadas para uma caixa de e-mails, obtém-se um arquivo no formato json ou XML que

Page 52: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

52

Figura 9: Etapas e respectivas bibliotecas utilizadas. Referências: Google RSS (GOOGLE, 2015b); Newspaper(OU-YANG, 2015); NLTK (BIRD; KLEIN; LOPER, 2009); Scikit-Learn (PEDREGOSA et al., 2011); e CRFsuite(OKAZAKI, 2007).

pode ser codificado por um programa que obtém e acessa os endereços das notícias automati-

camente. No entanto, os endereços obtidos são os mesmos: as notícias enviadas pelos Alertas

Google em um dia serão igualmente obtidas pelo RSS se os resultados forem filtrados para o

mesmo dia, e as palavras-chave utilizadas forem as mesmas.

É praticamente impossível medir com exatidão a revocação de um serviço como esse, pois

milhares são as notícias publicadas diariamente na internet. Os principais portais de notícia,

porém, tem seus artigos indexados pelo Google, o que permite um altíssimo nível de revocação

para essas fontes.

O serviço permite a especificação do idioma das notícias a serem coletadas. No entanto, esse

filtro não é livre de erros. Por vezes o RSS fornece urls de notícias em espanhol, e, com uma

menor frequência, links de artigos em ainda outras línguas são obtidos. Esse tipo de erro, porém,

é altamente dependente das palavras-chave utilizadas, pois algumas não podem ser encontradas

em textos de língua estrangeira.

Outro erro notado é que algumas páginas principais de sites de notícias são indexadas como

notícias pelo Google. Essas páginas são modificadas com frequência, portanto a palavra-chave

buscada pode não estar mais presente no endereço obtido. Esse erro, no entanto, é incomum,

e só ocorre com mais frequência quando há poucas notícias publicadas recentemente com a

palavra-chave especificada.

Page 53: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

53

4.3 Pre-Processamento dos Documentos

Na etapa descrita na última seção, uma lista de urls é obtida. Esses endereços permitem o

acesso ao códigoHTML das páginas de notícias, e é preciso obter somente o texto da notícia con-

tido neste código. Para isso, neste trabalho, foi feito uso da biblioteca Newspaper (OU-YANG,

2015). Essa biblioteca analisa e extrai o título e o corpo da notícia a partir de seu endereço.

Assim como no uso do serviço RSS do Google, esse processo não é feito sem erros. Al-

gumas páginas possuem uma estrutura em HTML incomum, ou pouco semelhante a um artigo

de notícia, o que impede às funções de Newspaper a extração correta das notícias. Porém, os

artigos das principais fontes em português (G1, R7, Terra etc.) são quase sempre obtidos sem

problema algum.

Após a obtenção do título e do corpo da notícia, esses dois elementos de texto são unidos em

um só para então passar pelas duas etapas de Processamento de Linguagem Natural utilizadas:

tokenização e stemização.

Os dois processos foram exemplificados na figura 3. Ambos são realizados através de fun-

ções da biblioteca Natural Language Toolkit, ou NLTK (BIRD; KLEIN; LOPER, 2009), uma

biblioteca em Python em código aberto criada para a pesquisa acadêmica em NLP frequente-

mente utilizada também em softwares comerciais.

Com isso são obtidos, para cada url coletada na primeira etapa, uma lista de tokens stemi-

zados que serão, na etapa seguinte, transformados em uma representação por vetores.

4.4 Representação e Classificação de Documentos

Nestas etapas busca-se obter: uma representação em espaço vetorial dos documentos e a

subsequente rotulação do texto em uma dentre duas classes: relevante e não relevante. Para isso,

é necessário fazer uso de um algoritmo de pre-processamento e de um algoritmo de classificação.

Neste trabalho três diferentes modelos de espaço vetorial para representação foram testados:

omodelo Saco de Palavras (BOW ) simples, omodelo TF-IDF e omodeloBOW com a utilização

de bigramas (FüRNKRANZ, 1998). Também foram testados quatro diferentes algoritmos de

Aprendizagem de Máquina para classificação dos textos: SVM Linear, SVM com kernel RBF,

Regressão Logística e Naive BayesMultinomial.

Tanto a representação dos documentos em vetores quanto os algoritmos de Aprendizado de

Máquina foram implementados fazendo uso das funções da biblioteca Scikit-Learn (PEDRE-

GOSA et al., 2011), uma biblioteca em código aberto para Python intensamente utilizada em

Page 54: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

54

Usando representação TF-IDFClassificador C Acurácia Precisão Revocação F1-measureSVM Linear,Perda HingeQuadrática

0.000316 78.6% 79.2% 82.0% 80.6%

SVM Linear,Perda HingeSimples

0.00100 78.0% 79.2% 80.8% 80.0%

RegressãoLogística 0.00316 78.8% 78.9% 82.6% 80.7%

SVMKernel RBFγ = 1.10−5

31.6 78.4% 82.3% 76.4% 79.3%

MultinomialNaive-Bayes 3.16 76.9% 77.0% 83.0% 79.9%

Tabela 6: Performance de diferentes classificadores treinados com o Corpus V5 usando representação TF-IDF

trabalhos acadêmicos e aplicações comerciais.

Abaixo são representadas as performances em testes de validação cruzada para diferentes

combinações de modelo de representação, algoritmo de classificação e valores de parâmetros

de regularização. Os testes foram todos efetuados com o corpus de notícias V5 - a descrição dos

corpora e de sua obtenção pode ser encontrada no Apêndice 1. Os valores obtidos são médias de

avaliações a partir de 200 divisões aleatórias do corpus em conjunto de treinamento (com 80%

das amostras) e conjunto de teste (com 20% das amostras).

Os testes foram realizados variando os parâmetros de regularização C em uma escala lo-

garítmica de 20 valores entre 10−7 e 103. Os parâmetros escolhidos e apresentados nas tabelas

abaixo são os valores para os quais a F1-measure mostrou-se máxima.

Os resultados para os três diferentes modelos de representação vetorial são apresentados

nas Tabelas 6, 7 e 8. Vê-se que há uma nítida melhoria de performance quando a representação

com bigramas é utilizada, ultrapassando as performances de classificação obtidas nos trabalhos

citados na Revisão de Literatura que efetuaram essa etapa de classificação de documentos rele-

vantes.

Também é notável, nos três casos, que o classificador não linear que foi utilizado, SVM

com kernel RBF, obteve piores performances que classificadores lineares. Os classificadores

lineares mostram-se adaptados para a tarefa de classificação de textos, concordando com as

escolhas realizadas pelos trabalhos citados na Revisão de Literatura.

Para estudar a performance do classificador simulando um caso real de utilização, novos

Page 55: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

55

Usando representação BOWClassificador C Acurácia Precisão Revocação F1-measureSVM Linear,Perda HingeQuadrática

0.0316 77.6% 79.8% 79.0% 79.4%

SVM Linear,Perda HingeSimples

0.0100 77.1% 78.7% 79.5% 79.1%

RegressãoLogística 0.316 77.5% 78.8% 79.4% 79.1%

SVMKernel RBFγ = 1.10−5

1000 77.9% 80.2% 78.1% 79.1%

MultinomialNaive-Bayes 0.0316 77.4% 77.9% 81.8% 79.8%

Tabela 7: Performance de diferentes classificadores treinados com o Corpus V5 usando representação BOW

Usando representação com bigramasClassificador C Acurácia Precisão Revocação F1-measureSVM Linear,Perda HingeQuadrática

0.00100 86.2% 88.1% 86.3% 87.2%

SVM Linear,Perda HingeSimples

0.0100 85.2% 87.2% 85.0% 86.1%

RegressãoLogística 1.00 84.8% 86.5% 85.7% 86.1%

SVMKernel RBFγ = 1.10−5

1000 77.9% 80.2% 78.1% 79.1%

MultinomialNaive-Bayes 0.316 85.3% 85.0% 88.9% 86.9%

Tabela 8: Performance de diferentes classificadores treinados com oCorpusV5 usando representação com bigramas

Page 56: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

56

Palavras-chave Artigos RelevantesObtidos Acurácia Precisão Revocação F1-measure

vulcão 63 0.910 0.897 0.968 0.931tufão 79 0.970 0.975 0.987 0.981furacão 28 0.960 0.962 0.893 0.926terremoto 74 0.890 0.957 0.892 0.923

deslizamento de terra 89 0.910 0.988 0.910 0.947chuvas fortes 63 0.770 0.803 0.841 0.822enchente 67 0.830 0.946 0.791 0.862inundações 75 0.920 1.000 0.893 0.944

tsunami atinge 18 0.990 0.947 1.000 0.973

Tabela 9: Performance da classificação em grupos de 100 notícias obtidas usando Google News RSS

artigos foram obtidos utilizando o serviço RSS do Google com uma lista de palavras-chave.

Para cada palavra-chave 100 artigos foram obtidos, e as métricas de performance forammedidas

nesses 100 artigos. O classificador utilizado foi o SVM Linear, pois obteve melhor performance

pela tabela 8. Na tabela 9 podemos ver as performances do classificador de acordo com a palavra-

chave utilizada.

O valores muito altos de precisão e revocação nessas amostras podem ser explicados por

alguns fatores: primeiramente, o uso do serviço RSS do Google News obtém notícias recentes,

muitas delas de datas próximas das notícias utilizadas para a criação do corpus de treinamento,

portanto notícias muito semelhantes àquelas usadas para treinar o classificador; além disso, a

performance medida no corpus V 5 incluiu uma grande quantidade de notícias não-relevantes,

o que pode ter diminuído a performance obtida e mostrada na tabela 8. Portanto, será necessá-

rio em usos e desenvolvimentos futuros uma nova medida de performance desse classificador

quando, depois de passado um grande lapso de tempo, notícias sobre desastres diferentes forem

publicadas namídia. Sua performance será, provavelmente, consideravelmente menor. Por essas

razões, é considerada a performance obtida na tabela 8 como mais significativa e representativa

para o classificador treinado.

Dentre as palavras-chave utilizadas, algumas obtém uma quantidade consideravelmente

menor de artigos relevantes. “tsunami atinge”, por exemplo, foi utilizada ao invés de “tsu-

nami”devido a grande quantidade de artigos escritos em outras línguas erroneamente coleta-

dos pelo serviço RSS. Ainda assim, poucos artigos relevantes são obtidos, pois muitas páginas

principais de portais de notícias são obtidas na coleta (conforme mencionado na seção anterior).

Para a palavra-chave “furacão”, a pequena quantidade de artigos relevantes deve-se à grande

quantidade de notícias referentes ao Clube Atlético Paranaense. No entanto, o Corpus V 5 con-

Page 57: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

57

tendo uma grande quantidade de exemplos negativos de notícias relacionadas a futebol, o clas-

sificador apresentou uma grande precisão com os artigos de notícias obtidos com essa palavra-

chave.

O classificador obtido é, se observarmos as quantidades de artigos relevantes obtidos na

tabelas 9, que indica a precisão da coleta em RSS ou pelo Google Alertas, de alta performance

comparado ao simples uso dos instrumentos de coleta, e cumpre sua função na etapa de classi-

ficação que atualmente utiliza, no CISLog, de intervenção humana, tal como descrito na intro-

dução.

4.5 Extração de Informação por Rotulação IOB

Tal como descrito na seção 2.4, é possível obter chunks de texto com informações relevantes

por meio da rotulação IOB dos tokens do texto. Para isso, é necessário que os tokens sejam

representados pelos seus atributos.

A escolha dos atributos que representam os tokens é, em si, um objeto de estudo. Neste

trabalho foram utilizados atributos que obteve melhor performance no estudo de Tkachenko e

Simanovsky (2012), que comparou diferentes conjuntos de atributos em uma tarefa de rotulação

IOB de tokens. Alguns outros atributos referentes à natureza alfabética ou numérica dos tokens

foram incluídos devido à sua importância no presente caso. Os atributos utilizados foram:

• Token (W0): o próprio token, sem modificação.

• Token sem capitalização (w0): o próprio token, porém com todas as letras tornadas minús-

culas.

• Token anterior (w−1): o token sem capitalização anterior ao token representado.

• Token posterior (w1): o token sem capitalização posterior ao token representado.

• Prefixo (p0): os primeiros três caracteres do token sem capitalização.

• Sufixo (s0): os últimos três caracteres do token sem capitalização.

• Formato (f0): alfabético, numérico, alfanumérico ou pontuação.

• Formato anterior (f−1): formato do token sem capitalização anterior ao token representado.

• Formato posterior (f1): formato do token sem capitalização posterior ao token represen-

tado.

Page 58: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

58

A representação do token pessoas na frase “50 pessoas continuam desaparecidas.”seria, por

exemplo, a seguinte:

{W0 = pessoas, w0 = pessoas, w−1 = 50, w1 = continuam, p0 = pes, s0 = oas,

f0 = alfabético, f−1 = numérico, f1 = alfabético}

Esses conjuntos de atributos são representados por vetores pelo modelo “saco-de-atributos”,

mencionado na seção . Cada frase será representada, então, por uma sequência de vetores que

serão rotulados. Trata-se de uma tarefa de classificação sequencial.

Neste trabalho, utilizamos, assim como a maior parte dos artigos citados na Revisão de Lite-

ratura, o algoritmo de Cadeias Aleatórias Condicionadas (CRF) para a classificação sequencial

dos tokens. A implementação desse algoritmo utilizada foi a da biblioteca CRFsuite (OKA-

ZAKI, 2007), devido à praticidade de sua utilização e principalmente devido à sua performance:

trata-se da implementação de CRF de treinamento mais rápido segundo um estudo comparativo

realizado por Cheng et al. (2010).

Para o treinamento do algoritmo, um corpus manualmente rotulado foi utilizado, o chamado

Corpus CRFV 3 (ver seção A.2). Nesse corpus, chunks informativos sobre número de vítimas,

desaparecidos e população afetada foram rotulados de acordo com a rotulação IOB. Não foi

realizada distinção entre os diferentes tipos de informação contida nos chunks. Trechos sobre

pessoas e famílias deslocadas, pessoas feridas, desabrigados, vítimas fatais, corpos encontrados

etc. foram considerados relevantes. No entanto trechos sobre vias de trânsito obstruídas, casas

destruídas, serviços interrompidos, danosmateriais etc. foram considerados como fora do escopo

da presente tarefa de extração de informação.

Após treinamento do algoritmo CRF usando como corpus de treinamento o Corpus CRFV 3,

foi feito uma medida empírica da performance em 12 notícias, onde o número de chunks de in-

formação foi verificadomanualmente e comparado com os obtidos pela rotulação dos tokens. Na

Tabela 10 os resultados são apresentados, com o número de chunks reais, identificados manu-

almente, chamados de “positivos reais”, o número de chunks reais identificados pela rotulação

chamados de “positivos corretamente rotulados”e o número total de chunks obtidos pela rotula-

ção chamados de “positivos rotulados”.

Para exemplificar os outputs obtidos pela rotulação, na tabela 11 mostramos os chunks ob-

tidos pelo CRF na terceira notícia da tabela 10. Informações semelhantes para as outras onze

notícias podem ser encontradas no Apêndice B, porém sem os chunks que não foram identi-

Page 59: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

59

NotíciaPositivos

corretamenterotulados

Positivosrotulados

Positivosreais

…chuvas em SC 15 15 21…temporais no Rio Grande do Sul 1 1 3Tufão Goni deixa 20 feridos … 4 5 5Inundações em Mianmar … 2 2 3

Tsunami e erupção de vulcão … 7 8 12…19 mortos na França 2 4 3

Deslizamento de terra deixa … 9 10 9Terremoto na China … 3 3 3

Número de mortes no Nepal … 2 3 4Fortes chuvas matam … 3 4 5

…chuvas no Espírito Santo 1 4 5…mortos pelo tufão Bopha 2 2 6

Tabela 10: Resultados em 12 notícias rotuladas pelo algoritmo CRF treinado com o corpus CRFV 3 (ver seção A.2).

Chunk Rotulado pelo CRF Identificado manualmente20 feridos X X

deixou 20 feridos X Xmilhares de moradores a deixar suas casas X X

4 mil pessoas foram buscar abrigo XCerca de 300 vôos foram cancelados X

20 pessoas ficaram feridas X X

Tabela 11: Chunks de informação obtidos da notícia “Tufão Goni deixa 20 feridos e cancela 300 voos no Japão”,na url seguinte:

ficados pelo CRF. Vemos um chunk não identificado pelo algoritmo e um chunk identificado

erroneamente. Podemos ver que a extração de informação busca trechos do texto que possuem

os informações necessitadas (quantidades de vítimas, desaparecidos ou pessoas afetadas) ainda

que essas informações sejam ambíguas: o primeiro, segundo e último chunks da tabela 10 fazem

referência à mesma informação. O quarto chunk da tabela não deveria ter sido selecionado pois

trata-se de um problema de infraestrutura, não um dano humano direto.

Os resultados da tabela 10 apresentam uma precisão total de 83.6% e uma revocação de

64.6%, resultando em uma F1-measure de 72.9%, semelhante a bons resultados dos trabalhos

apresentados na Revisão de Literatura. Seria necessário, no entanto, realizar medidas em um

corpus de teste com um número bem superior a 12 notícias para obter resultados consistentes.

Porém, o resultado apresentado já mostra que o algoritmo de rotulação treinado neste trabalho

é capaz de extrair informações consideravelmente precisas de textos de notícias publicadas na

internet.

Page 60: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

60

4.6 Código Fonte e Demonstrações

O código fonte utilizado para realizar os testes deste trabalho estará disponível no seguinte

repositório GitHub:

Demonstrações e instruções serão apresentadas para exemplificar a funcionamento dos clas-

sificadores desenvolvidos.

Page 61: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

61

5. CONCLUSÃO E FUTUROS DESENVOLVIMENTOS

Neste trabalho buscou-se desenvolver um sistema automático de extração de informações

para notícias sobre desastres naturais de início súbito, com o objetivo de substituir as interven-

ções humanas realizadas para a construção de uma base de dados de notícias sobre desastres no

Centro de Inovação em Sistemas Logísticos (CISLog).

Obteve-se um sistema que é capaz de realizar as seguintes etapas: coleta de endereços de

notícias da internet a partir de palavras-chave, classificação das notícias para obter aquelas que

são de fato relevantes e extração de trechos do texto que contém informações sobre número de

vítimas fatais, pessoas desaparecidas e população afetada.

A coleta de notícias foi realizada utilizando o serviço RSS do Google News (GOOGLE,

2015b), que fornece endereços de notícias dado palavras-chave. Um classificador de textos foi

obtido, utilizando o algoritmo linear de classificação SVM, obtendo uma performance em F1-

measure de 87.2%, superior a valores geralmente obtidos em pesquisas anteriormente realizadas

com notícias e textos sobre desastres.

A extração de informações nos textos classificados como relevantes foi realizada por meio

do algoritmo CRF. Trechos informativos são extraídos dos textos, contendo informações sobre a

quantidade de mortes, desaparecimentos e afetados no desastre. A performance em F1-measure

obtida em um pequeno corpus de 12 notícias foi 72.9%, semelhante à performance dos artigos

citados na Revisão de Literatura e suficiente para atender à necessidade de informação dos

pesquisadores do CISLog.

Este trabalho obteve, portanto, performances ao nível do estado da arte da pesquisa em

Recuperação de Informação e Extração de Informação em textos sobre desastres, sendo ino-

vador devido à ausência de trabalhos publicados nessa área que abordam documentos escritos

em português. O autor deste trabalho espera, portanto, que desenvolvimentos posteriores se-

jam realizados nesse campo de estudo, para que se aumente os recursos, dados e conhecimento

disponíveis aos pesquisadores envolvidos na Gestão de Desastres.

Trabalhos posteriores que podem ser de grande utilidade incluem: a criação formal de um

corpus diverso e representativo de notícias sobre desastres, que permita aos pesquisadores com-

parar em base comum os desenvolvimentos de diferentes sistemas de IR ou IE; pesquisa de

técnicas que permitam a transformação de chunks de informação em informações quantitativas

estruturadas e sem redundância; o estudo de técnicas de clusterização que permitam o agrupa-

mento de notícias que abordam o mesmo evento de desastre. Esses exemplos estão longe de

Page 62: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

62

serem exaustivos, pois essa é uma área recente de estudo, com inúmeras abordagens possíveis

e pouquíssimo trabalho realizado a nível nacional e lusófono.

Page 63: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

63

REFERÊNCIAS

ASHKTORAB, Z. et al. Tweedr: Mining twitter to inform disaster response. In: InternationalConference on Information Systems for Crisis Response and Management. [S.l.: s.n.], 2014.Citado 3 vezes nas páginas 15, 49 e 50.

BIRD, S.; KLEIN, E.; LOPER, E. [S.l.: s.n.], 2009. Citado 6 vezes nas páginas 19, 30, 32, 37,52 e 53.

BISHOP, C. M. Pattern Recognition and Machine Learning. Secaucus, NJ, EUA: Springer,2006. Citado na página 40.

BONADIO Ígor. Desenvolvimento de um arcabouço probabilístico para implementação decampos aleatórios condicionais. Dissertação (Mestrado) — Universidade de São Paulo, SãoPaulo, Fevereiro 2013. Citado na página 44.

CEMADEN. Missão. 2015. Centro Nacional de Monitoramento e Alertas de DesastresNaturais. Disponível em: <http://www.cemaden.gov.br/missao.php>. Acesso em: 10.10.2015.Citado na página 25.

CHAPELLE, O. Training a support vector machine in the primal. Neural Computing, v. 19,n. 5, p. 1155–1178, 2007. Citado na página 42.

CHENG, Y. et al. A comparison study of conditional random fields toolkits. In: AdvancedIntelligent Computing Theories and Applications. [s.n.], 2010. v. 93, p. 192–199. Disponívelem: <http://dx.doi.org/10.1007/978-3-642-14831-6 26>. Citado na página 58.

CISLOG. Missão e Visão. 2015. Centro de Inovação em Sistemas Logísticos. Disponível em:<http://www.usp.br/cislog/quem-somos/missao-e-visao/>. Acesso em: 10.10.2015. Citado napágina 25.

COWIE, J.; LEHNERT, W. Information extraction. Communication of the ACM, ACM, v. 39,n. 1, p. 80 – 91, 1996. Citado na página 37.

DÖHLING, L.; LESER, U. Equatornlp: Pattern-based information extraction for disasterresponse. In: CITESEER. Terra Cognita 2011 Workshop, Foundations, Technologies andApplications of the Geospatial Web. [S.l.], 2011. v. 38. Citado na página 48.

DÖHLING, L.; LEWANDOWSKI, J.; LESER, U. A study in domain-independent informationextraction for disaster management. In: DIMPLE: DIsaster Management and PrincipledLarge-scale information Extraction Workshop Programme. [S.l.: s.n.], 2014. p. 57. Citado 3vezes nas páginas 15, 48 e 50.

FREITAG, D. Machine learning for information extraction in informal domains. MachineLearning, Kluwer Academic Publishers, Hingham, MA, EUA, v. 39, n. 2-3, p. 169–202, maio2000. Citado na página 37.

FüRNKRANZ, J. A study using n-grams features for text categorization. [S.l.], 1998.Disponível em: <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.3126>.Citado 2 vezes nas páginas 36 e 53.

GOOGLE. Alerts Help. 2015. Google Alerts. Disponível em: <https://support.google-.com/alerts/?page=faq.html>. Acesso em: 10.10.2015. Citado 2 vezes nas páginas 25e 51.

Page 64: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

64

GOOGLE. News Help. 2015. Using Google News RSS Feeds. Disponível em: <https:/-/support.google.com/news/answer/59255?hl=en>. Acesso em: 10.10.2015. Citado 3 vezesnas páginas 51, 52 e 61.

GUHA-SAPIR, D.; BELOW, R.; HOYOIS, P. EM-DAT: International Disaster Database.2015. Université Catholique de Louvain, Bruxelas, Bélgica. Disponível em: <http://www-.emdat.be/>. Acesso em: 10.10.2015. Citado 3 vezes nas páginas 19, 25 e 27.

IMRAN, M. et al. Aidr: Artificial intelligence for disaster response. In: Proceedings of the 23rdInternational Conference on World Wide Web. Genebra, Suíça: International World Wide WebConferences Steering Committee, 2014. (WWW ’14 Companion), p. 159–162. Disponível em:<http://chato.cl/papers/demo 2014 aidr artificial intelligence disaster response.pdf>. Citado 4vezes nas páginas 15, 47, 48 e 49.

IMRAN, M. et al. Practical extraction of disaster-relevant information from social media.In: Proceedings of the 22nd International Conference on World Wide Web. Genebra,Suíca: International World Wide Web Conferences Steering Committee, 2013. (WWW ’13Companion), p. 1021–1024. Disponível em: <http://dl.acm.org/citation.cfm?id=2487788-.2488109>. Citado 4 vezes nas páginas 15, 47, 49 e 50.

IMRAN, M. et al. Extracting information nuggets from disaster-related messages in socialmedia. In: . [s.n.], 2013. Disponível em: <http://qcri.com/app/media/1843>. Citado na página47.

ISHINO, A. et al. Extracting transportation information and traffic problems from tweetsduring a disaster. In: The Second International Conference on Advances in Information Miningand Management. [S.l.: s.n.], 2012. Citado 3 vezes nas páginas 15, 49 e 50.

LAFFERTY, J. D.; MCCALLUM, A.; PEREIRA, F. C. N. Conditional random fields:Probabilistic models for segmenting and labeling sequence data. In: Proceedings of theEighteenth International Conference on Machine Learning. San Francisco, CA, EUA: MorganKaufmann Publishers Inc., 2001. (ICML ’01), p. 282–289. Citado na página 44.

LEIRAS, A. et al. Literature review of humanitarian logistics research: trends and challenges.Journal of Humanitarian Logistics and Supply Chain Management, v. 4, n. 1, p. 95–130, 2014.Disponível em: <http://dx.doi.org/10.1108/JHLSCM-04-2012-0008>. Citado 3 vezes naspáginas 25, 28 e 30.

MANNING, C. D.; RAGHAVAN, P.; SHÜTZE, H. Introduction to Information Retrieval.[S.l.]: Cambridge, 2008. Citado 5 vezes nas páginas 31, 32, 33, 35 e 36.

MOLINA, R. A.; STEINBERGER-ELIAS, M. B. Criando um corpus sobre desastresclimáticos com apoio da ferramenta nltk. In: 8th Brazilian Symposium in Information andHuman Language Technology. [S.l.: s.n.], 2011. Citado na página 49.

MONARD, M. C.; BARANAUSKAS, J. A. Conceitos sobre aprendizado de máquina.In: SOLANGE OLIVEIRA REZENDE. Sistemas Inteligentes-Fundamentos e Aplicações.São Paulo: Manole, 2003. p. 89–114. Disponível em: <http://dcm.ffclrp.usp.br/˜augusto-/publications/2003-sistemas-inteligentes-cap4.pdf>. Acesso em: 10.10.2015. Citado 2 vezesnas páginas 38 e 39.

Page 65: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

65

MONTEIRO, D. M. A proposal for an architecture to extract information from SMS messagesduring emergency situations. Dissertação (Mestrado) — Pontifícia Universidade Católica doRio Grande do Sul, Porto Alegre, 2015. Citado na página 49.

MOONEY, R. J.; BUNESCU, R. Mining knowledge from text using information extraction.SIGKDD Explorations, v. 7, n. 1, p. 3–10, 2005. Disponível em: <http://www.cs.utexas.edu-/users/ai-lab/?mooney:sigkdd05>. Citado na página 29.

NAHM, U. Y.; MOONEY, R. J. Text mining with information extraction. In: Proceedingsof the AAAI 2002 Spring Symposium on Mining Answers from Texts and Knowledge Bases.Stanford, CA, EUA: [s.n.], 2002. p. 60–67. Disponível em: <http://www.cs.utexas.edu/users-/ai-lab/?nahm:aaai-matkb02>. Citado na página 29.

OKAZAKI, N. CRFsuite: a fast implementation of Conditional Random Fields (CRFs). 2007.Disponível em: <http://www.chokkan.org/software/crfsuite/>. Citado 2 vezes nas páginas 52e 58.

OU-YANG, L. newspaper 0.0.9.8. 2015. Simplified python article discovery extraction.Disponível em: <https://pypi.python.org/pypi/newspaper>. Acesso em: 10.10.2015. Citado 2vezes nas páginas 52 e 53.

PEDREGOSA, F. et al. Scikit-learn: Machine learning in Python. Journal of Machine LearningResearch, v. 12, p. 2825–2830, 2011. Citado 2 vezes nas páginas 52 e 53.

RODRIGUES, R.; OLIVEIRA, H. G.; GOMES, P. LemPORT: a High-Accuracy Cross-Platform Lemmatizer for Portuguese. In: PEREIRA, M. J. V.; LEAL, J. P.; SIMÕES, A.(Ed.). 3rd Symposium on Languages, Applications and Technologies. Dagstuhl, Germany:Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, 2014. (OpenAccess Series in Informatics(OASIcs), v. 38), p. 267–274. Disponível em: <http://drops.dagstuhl.de/opus/volltexte/2014-/4575>. Citado na página 32.

SEBASTIANI, F. Machine learning in automated text categorization. ACM ComputingSurveys, ACM, New York, NY, EUA, v. 34, n. 1, p. 1–47, mar. 2002. Citado na página 36.

SOARES, F. de A. Categorização automática de textos baseada em mineração de textos. Tese(Doutorado) — Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro, 2013.Citado 3 vezes nas páginas 15, 29 e 31.

SOUZA, R. R. Sistemas de recuperação de informações e mecanismos de busca na web:panorama atual e tendências. Perspectivas em Ciência da Informação, scielo, v. 11, p.161 – 173, 08 2006. ISSN 1413-9936. Disponível em: <http://www.scielo.br/scielo-.php?script=sci arttextpid=S1413-99362006000200002nrm=iso>. Citado na página33.

TKACHENKO, M.; SIMANOVSKY, A. Named entity recognition: Exploring features. In:Proceedings of KONVENS - Conference on Natural Language Processing. [S.l.: s.n.], 2012.v. 2012, p. 118–127. Citado na página 57.

VAROQUAUX, G.; MüLLER, A.; GROBLER, J. Classifier comparison. 2014. Scikit-Learn- Plot Classifier Comparison. Disponível em: <http://scikit-learn.org/stable/auto examples-/classification/plot classifier comparison.html>. Acesso em: 10.10.2015. Citado na página43.

Page 66: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

66

WASSENHOVE, L. N. V. Humanitarian aid logistics: supply chain management in high gear.Journal of the Operational Research Society, Nature Publishing Group, v. 57, n. 5, p. 475–489,2006. Citado 2 vezes nas páginas 17 e 30.

WISSBROCK, F. Information need assessment in information retrieval; beyond lists andqueries. In: 27th German Conference on Artificial Intelligence. Ulm, Alemanha: [s.n.], 2004.Citado na página 26.

Page 67: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

67

APÊNDICE A. – CRIAÇÃO DOS CORPORA

Nesse apêndice são descritos como foram compostos os corpora utilizados neste trabalho

para o treinamento de modelos de Aprendizado de Máquina. Também são fornecidos endereços

(urls) que permitem ao leitor visualizar, na Internet, a lista de notícias que compõe os corpora

aqui descritos.

Ambos os corpora aqui descrito possuem o mesmo princípio de composição: uma quanti-

dade inicial de notícias rotuladas manualmente é fornecida, o que possibilita o treinamento de

uma versão primária dos classificadores, o que permite a avaliação das “fraquezas”(notícias ro-

tuladas erroneamente) atuais do classificador e o subsequentemente acréscimo de outras notícias

rotuladas manualmente que permitem a uma nova versão do classificador uma melhor perfor-

mance nessas fraquezas verificadas. O esquema representando esse processo de composição dos

corpora pode ser visualizado na figura 10.

Figura 10: Princípio de composição dos corpora deste trabalho.

Page 68: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

68

A.1 Criação do Corpus V 5

O primeiro corpus de notícias para o treinamento de classificadores de textos de desastres

naturais utilizado neste trabalho se compunha de 240 notícias, obtidas pelo serviço RSS do Goo-

gle Notícias. Alguns exemplos negativos foram incluídos, a maior parte notícias sobre desastres

não naturais, para que o classificador pudesse ser treinado para classificar notícias sobre esse

tipo de desastre negativamente.

Novas notícias foram acrescentadas pelo método descrito na figura 10. Após 4 etapas de

acréscimo de novos grupos de notícias, o corpus chamado V 5 (versão 5) se compõe de 723 no-

tícias. As urls e seus rótulos podem ser encontrados em uma planilhaGoogle Sheets no seguinte

endereço (o rótulo positivo sendo “D”):

A.2 Criação do Corpus CRFV 3

A especificidade dos corpora utilizados para o treinamento domodelo de Cadeias Aleatórias

Condicionadas (CRF) é que eles são compostos por frases como unidade independente. As frases

são sequências de tokens, com seus atributos, rotulados. É possível, portanto, compor um corpus

de treinamento sem usar todas as frases de todas as notícias que o compõe. Após duas iterações

do processo representado pela figura 10, o Corpus CRFV 3 foi obtido, com 604 frases e mais

de 16700 tokens rotulados. Os tokens desse corpus, seus rótulos e seus atributos podem ser

visualizados no seguinte endereço:

Page 69: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

69

APÊNDICE B. – NOTÍCIAS ROTULADAS PELO ALGORITMO CRF

Abaixo são apresentadas os chunks extraídos pelo algoritmo CRF treinado com o Corpus

CRFV 3 em onze notícias (as notícias mencionadas na Tabela 10, com excesão da abordada na

Tabela 11). O título das notícias são apresentados, seus endereços (urls) e os trechos extraídos,

com a menção quando se trata de um falso positivo.

Título: Chega a 4,3 mil o número de pessoas afetadas pelas chuvas em SC

URL:

Chunks: “Chega a 4,3 mil o número de pessoas afetadas”, “4.390 pessoas foram afetadas”, “592

pessoas ficaram desalojadas”, “289 desabrigadas e um homem morreu atingido por des-

carga elétrica”, “24 pessoas ficaram desalojadas”, “8 pessoas ficaram desalojadas”, “16

desabrigadas”, “440 moradores ficaram desalojados”, “40 desabrigados”, “2 mil pessoas

afetadas”, “2.112 pessoas foram afetadas”, “220 afetados”, “32 estão desabrigados”, “175

afetados”, “seis pessoas foram afetadas”.

Título: Quase 23 mil pessoas foram atingidas por temporais no Rio Grande do Sul

URL:

Chunks: “23 mil pessoas foram atingidas”.

Título: Inundações em Mianmar deixam 100 mortos

URL:

Chunks: “100 mortos”, “1 milhão de moradores foram afetados”.

Título: Tsunami e erupção de vulcão matam 179 na Indonésia

Page 70: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

70

URL:

Chunks: “400 estão desaparecidos”, “25 mortos”, “deixou 154 mortos”, “matou 226 mil pessoas”,

“mais 12 corpos foram achados”, “O número de mortos”(falso positivo), “1.400 mortos”,

“60 mortos”.

Título: Inundações deixam ao menos 19 mortos na França

URL:

Chunks: “19 mortos”, “19 pessoas”, “nove pessoas foram presas”(falso positivo), “Cerca de 300

policiais”(falso positivo).

Título: Deslizamento de terra deixa 52 mortos no noroeste da Colômbia

URL:

Chunks: “52 mortos”, “52 mortos”, “um número indeterminado de feridos”, “52 pessoas mortas”,

“37 feridas”, “morte de 33 pessoas”, “48 mortos”, “27 feridos”, “30 famílias desapareci-

das”, “estão desaparecidos”(falso positivo).

Título: Terremoto na China deixa 157 mortos e milhares de feridos

URL:

Chunks: “157mortos”, “mais de 5,7 mil feridos”, “deixou cerca de 87mil mortos e desaparecidos”.

Título: Número de mortes no Nepal sobe para quase cinco mil

URL:

Page 71: EDUARDO QUEIROZ PERES - USPpro.poli.usp.br/wp-content/uploads/2015/12/TF... · "Ama e faz o que quiseres. Se calares, calarás com amor; se gritares, gritarás com amor; se corrigires,

71

Chunks: “Número de mortes no Nepal sobe para quase cinco mil”, “mais de cinco mil mortos”,

“das pessoas desaparecidas”(falso positivo).

Título: Fortes chuvas matam 7 e destroem centenas de casas no México

URL:

Chunks: “três mortos”, “cinco pessoas morreram”, “seis das vítimas foram identificadas”(falso

positivo), “cerca de 100 pessoas afetadas”.

Título: Defesa Civil corrige número de mortos pelas chuvas no Espírito Santo

URL:

Chunks: “duas pessoas dadas como mortas haviam sido regatadas com vida”(falso positivo), “ou-

tras duas seguem desaparecidas”, “40 homens permanecerão”(falso positivo), “dois ho-

mens”(falso positivo).

Título: Filipinas já têm 714 mortos pelo tufão Bopha

URL:

Chunks: “714 mortos”, “714 mortos”.