Upload
hahanh
View
218
Download
0
Embed Size (px)
Citation preview
ANÁLISE DE COERÊNCIA DE TÓPICOS PARA ARTIGOS
JORNALÍSTICOS ATRAVÉS DE AVALIAÇÃO SEMÂNTICA
AUTOMÁTICA
Luiz Fernando Cagiano Parodi de Frias
Projeto de Graduação apresentado ao Curso
de Engenharia Eletrônica e de Computação
da Escola Politécnica, Universidade Federal
do Rio de Janeiro, como parte dos requisitos
necessários à obtenção do título de Enge-
nheiro.
Orientador: José Manoel de Seixas
Coorientador: Fernando Guimarães Ferreira
ii
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Escola Politécnica - Departamento de Eletrônica e de Computação
Centro de Tecnologia, bloco H, sala H-217, Cidade Universitária
Rio de Janeiro - RJ CEP 21949-900
Este exemplar é de propriedade da Universidade Federal do Rio de Janeiro, que poderá
incluí-lo em base de dados, armazenar em computador, microfilmar ou adotar qualquer
forma de arquivamento.
É permitida a menção, reprodução parcial ou integral e a transmissão entre bibliotecas
deste trabalho, sem modificação de seu texto, em qualquer meio que esteja ou venha a
ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem finalidade
comercial e que seja feita a referência bibliográfica completa.
Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(es).
iii
Cagiano Parodi de Frias, Luiz Fernando
Análise de coerência de tópicos para artigos jornalísticos atra-
vés de avaliação semântica automática.
52 p.: il. color; 29,7cm.
Orientador: José Manoel de Seixas.
Corientador: Fernando Guimarães Ferreira.
Projeto de Graduação - UFRJ/Escola Politécnica/Engenharia
Eletrônica e da Computacão, 2016.
Referências bibliográficas: p.48-52.
1. Modelagem de Tópicos. 2. Medidas de coerência semântica.
I. Seixas, José Manoel. II. Universidade Federal do Rio de Janeiro,
Escola Politécnica, Curso de Engenharia Eletrônica e de Computa-
ção. III. Análise de coerência de tópicos para artigos jornalísticos
através de avaliação semântica automática.
iv
AGRADECIMENTOS
Agradeço à minha família, por todo o apoio. Em especial: à Eliane, Vera, Luiz
Fernando, Fernando (in memoriam), Edmilson, Ana Carolina, Gabriella, Mariana, Sonia e
Marcius. Obrigado a todos vocês.
À Carmen Maidantchik e José Seixas, pela confiança no meu trabalho e pelas
oportunidades que foram fundamentais em minha formação acadêmica.
Aos amigos de faculdade, CERN e LPS. Em especial, Felipe Grael, pela convivência
em solo europeu e por todos os ensinamentos. Fernando Ferreira, por ter me orientado
quando eu nada sabia, pela confiança no meu trabalho ao longo destes anos e por toda a
paciência e ensinamentos posteriores.
À Karolina, minha grande companheira, por toda semana me fazer esperar ansiosa-
mente pela sexta-feira.
v
RESUMO
O presente projeto teve como objetivo a avaliação automática de coerência para
tópicos extraídos de uma base composta por documentos textuais.
Este trabalho é proposto como solução frente ao crescimento do sistema web TWIST
Press, que utiliza técnicas de inteligência computacional para oferecer análises voltadas
para o setor de comunicação. Uma das técnicas utilizadas neste sistema é a extração de
tópicos para um conjunto de notícias. A extração pode gerar alguns tópicos incoerentes
para um avaliador humano.
Neste projeto foram propostas medidas de coerência a fim de classificar o tópico de
acordo com a sua qualidade semântica. Utilizando estas medidas, é possível automatizar o
processo de validação dos tópicos, hoje realizado manualmente.
Para a realização do projeto foi criada uma base de tópicos anotada por avaliadores
humanos. Bases deste tipo são encontradas apenas para a língua inglesa.
Por fim, a nota de coerência obtida utilizando as medidas é comparada com a
anotação da base, possibilitando a avaliação de seus desempenhos. Entre as medidas
estudadas neste trabalho, UCI, NUCI e UMass, a UMass apresentou melhor resultado,
classificando com uma taxa de 87% de acerto e 38% de falso positivo.
vi
ABSTRACT
This project aimed the automatic evaluation of coherence to topics extracted from
a base composed of textual documents.
This work is proposed as a solution to the continuous growth of the web system
TWIST Press, which uses computational intelligence techniques to provide analysis focused
on the communications industry. One of the techniques used in this system is the extraction
of a set of topics for news. The extraction can generate few topics that are incoherent in a
human sense.
In this project were proposed coherence measures in order to classify the topic
according to their semantic quality. Using these steps, you can automate the process of
validation of the topics, performed manually nowadays.
For the realization of the project annotated base was created usings human evalua-
tors. Annotated bases of this type are found only in the English language.
Finally, the coherence score obtained using the measurements is compared with
the annotation of the base, allowing the evaluation of their performances. Among the
measures studied in this work (UCI, NUCI and UMass), UMass presented better results,
classifying with 87 % of accuracy and 38 % of false positive.
Sumário
1 Introdução 1
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Organização do Documento . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 A Era da Informação 4
2.1 O Jornalismo na era da Web . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Modelagem de Tópicos 10
3.1 Conceito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 Histórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4 Alocação Latente de Dirichlet . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5 Fatoração de Matrizes não Negativas . . . . . . . . . . . . . . . . . . . . . 16
3.6 Representação dos documentos . . . . . . . . . . . . . . . . . . . . . . . . 16
3.7 Desafios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4 Medidas de Coerência Semântica 22
4.1 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2 Medidas de coerência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3 Discussões sobre medidas de coerência . . . . . . . . . . . . . . . . . . . . 32
5 Resultados 33
5.1 Base de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 Avaliação de desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3 UCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
viii
5.4 NUCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5 UMASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.6 Discussão dos resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6 Conclusão 44
6.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Bibliografia 48
Lista de Abreviaturas e Siglas
LDA Alocação Latente de Dirichlet.
NMF Fatoração de Matrizes não Negativas.
Lista de Figuras
2.1 IBM 350 sendo transportado. . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Portal do JB online, em 1996. . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1 Trecho de notícia da seção de política. . . . . . . . . . . . . . . . . . . . . 11
3.2 Visualização de tópicos com Termite. . . . . . . . . . . . . . . . . . . . . . 14
3.3 Ilustração da fatoração desejada para a matriz de documentos. . . . . . . . 15
3.4 Ilustração do passo-a-passo para o pré-processamento de texto. . . . . . . . 18
4.1 Histograma do número de palavras nos documentos da Wikipedia (PT). . . 26
4.2 Gráfico em barras do comprimento das palavras da Wikipedia (PT). . . . . 27
5.1 Curva ROC para a medida UCI. . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2 Curvas de distribuição para a medida UCI. . . . . . . . . . . . . . . . . . . 37
5.3 Matriz de confusão para a medida UCI. . . . . . . . . . . . . . . . . . . . . 38
5.4 Curva ROC para a medida NUCI. . . . . . . . . . . . . . . . . . . . . . . . 38
5.5 Curvas de distribuição para a medida NUCI. . . . . . . . . . . . . . . . . . 39
5.6 Matriz de confusão para a medida NUCI. . . . . . . . . . . . . . . . . . . . 40
5.7 Curva ROC para a medida UMASS. . . . . . . . . . . . . . . . . . . . . . 41
5.8 Matrizes de confusão para a medida UMass, com dois pontos de corte. . . . 41
5.9 Curvas de distribuição para a medida UMass. . . . . . . . . . . . . . . . . 42
Lista de Tabelas
3.1 Títulos de notícias da seção de política e suas respectivas fontes. . . . . . . 12
3.2 Tópicos extraídos das notícias da base. . . . . . . . . . . . . . . . . . . . . 13
4.1 Exemplos de tópicos encontrados ao executar NMF para as notícias do
evento Rock in Rio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2 As 10 palavras mais frequentes da Wikipedia (PT). . . . . . . . . . . . . . 26
4.3 Exemplos de notas obtidas pela medida UMass com pares de palavras. . . 32
5.1 Exemplos de tópicos classificados manualmente. . . . . . . . . . . . . . . . 35
6.1 Exemplos de notas conferidas pela UCI a pares de palavras. . . . . . . . . 45
6.2 Exemplos de notas conferidas pela UMass a pares de palavras. . . . . . . . 45
6.3 Exemplificação da necessidade de lematização na base de dados. . . . . . . 46
Capítulo 1
Introdução
Modelagem de Tópicos é o nome dado ao conjunto de técnicas desenvolvidas com o
objetivo de ajudar a entender, categorizar, resumir e explorar arquivos digitais de forma
automática [1]. Essas técnicas procuram, de uma maneira geral, agrupar documentos a
partir de aprendizado não-supervisionado utilizando um conjunto de palavras presentes
em cada documento. A esse conjunto de termos relacionados, dá-se o nome de tópico.
Apesar dessas palavras se relacionarem, não necessariamente o tópico formado por
elas tem valor semântico, ou seja, nem sempre aquele tópico faz sentido para um avaliador
humano. Esta é a definição básica de coerência [2].
1.1 Motivação
O volume de informações disponibilizados digitalmente através da web (jornais,
blogs, páginas, artigos científicos, livros, redes sociais, etc...) aumenta a cada ano. Estima-
se que hoje, haja aproximadamente 1 septilhão de bits de informação acessíveis online [3].
Projeta-se que esse volume de dados será, pelo menos, seis vezes maior em 2020. Desta
maneira, a tarefa de buscar informação relevante torna-se cada vez mais difícil e custosa.
A modelagem de tópicos apresenta uma nova ótica para visualização de bases
textuais. Como um documento pode ser visto como um conjunto de tópicos, isto permite
novos tipos de interações com a base de dados, como busca por assunto comuns aos
2
documentos em vez de buscas por palavras-chave. Esse campo de estudo tem aplicações
imediatas no jornalismo, onde as notícias tratam de um ou mais tópicos e há a necessidade
de agrupamento desses assuntos em diferentes editoriais.
O TWIST Press [4] é um sistema de inteligência computacional aplicada ao Jorna-
lismo e Comunicação, onde as informações são separadas em painéis temáticos. Para cada
tema são extraídas as notícias publicadas sobre o assunto e os tópicos são gerados para
este conjunto de notícias. Estes tópicos, por sua vez, podem ser visualizados na interface
web do painel.
A extração dos tópicos é validada manualmente, já que existem tópicos de baixa
qualidade semântica, ou seja, tópicos que não tem valor para o usuário do sistema e por
isso precisam ser removidos. Contudo, o aumento do número de painéis, devido a crescente
utilização do sistema, inviabiliza a validação manual dos tópicos. Logo, surge a necessidade
de validá-los automaticamente em relação à sua coerência.
1.2 Objetivo
O objetivo deste projeto consiste em aplicar medidas de coerência para inferir o valor
semântico dos tópicos gerados a partir de um conjunto de notícias, a fim de automatizar o
processo de validação de tópicos para cada painel.
As medidas de coerência exploradas neste trabalho foram desenvolvidas e aplicadas
originalmente para bases textuais na língua inglesa e não existem trabalhos semelhantes
para a língua portuguesa.
1.3 Organização do Documento
No Capítulo 2, é analisada a importância de novas formas de visualização para
bases de dados com grande volume de dados. Em especial, o mercado de jornalismo é
discutido e é apresentada uma breve descrição de seu cenário atual com ênfase na mídia
online, que é o contexto no qual o projeto em questão se situa.
3
No Capítulo 3, é mostrado o estado da arte em modelagem de tópicos. O capítulo
começa com uma aplicação real para exemplificar a técnica e depois um breve histórico da
área é discutido. Por fim, são apresentados os seus dois principais modelos, LDA e NMF,
assim como os desafios encontrados na área.
No Capítulo 4, são apresentadas as medidas de coerência UCI, NUCI (versão
normalizada da UCI) e UMass, analisando-as pelos seguintes ângulos: base de dados
utilizada, limites numéricos e desempenho computacional.
No Capítulo 5, é discutida a metodologia utilizada para classificação manual dos
dados, a fim de se obter um padrão ouro para avaliar o desempenho das medidas. Os
resultados obtidos para as medidas de coerências são discutidos posteriormente.
Por fim, o Capítulo 6 traz as conclusões e as sugestões de melhorias para o projeto.
Capítulo 2
A Era da Informação
O IBM 350 da Figura 2.1 foi o primeiro disco rígido inventado pelo homem. Lançado
em 1956, ele ocupava 1,5 m de comprimento, 1,7 m de altura e 74 cm de profundidade,
pesava uma 1 T e possuía capacidade de armazenar 5 MB. O avanço tecnológico permitiu a
redução das dimensões e o aumento de velocidade dos componentes eletrônicos, permitindo
assim que cada vez volumes maiores de informação sejam processados e armazenados.
Para efeitos de comparação, a densidade de área do IBM 350 era de 2, 0 b/in2, enquanto
atualmente a densidade de área dos discos rígidos supera 1, 00 Tb/in2 [5].
O aumento na quantidade de dados armazenados vem possibilitando que eles sejam
analisados e transformados em informação. Para uma empresa, informação equivale a
dinheiro e isso alterou substancialmente o modelo de negócio das companhias nas últimas
décadas. Empresas que detêm uma larga base de usuários tendem a gerar um grande
volume de dados e, consequentemente, tendem a figurar entre as grandes empresas do
mundo, mesmo que não cobrem pelo seu serviço. Uma dessas empresas é o Google. Apesar
de não cobrar de seus usuários por buscas em sua base de dados, seu principal serviço, o
lucro da companhia é refletido na quantidade de dados manipulado por ela. Em 2008, por
exemplo, o Google processava 20 PB (20.000.000 GB) de dados por dia [7].
Outra companhia que merece destaque é o Facebook, cujo lucro ultrapassou 12
bilhões de dólares [8], embora não cobre pelo uso da plataforma. Este lucro advém dos
anunciantes que promovem seus produtos e serviços para os usuários da rede social. A
5
Figura 2.1: IBM 350 sendo transportado. Retirado de [6].
escolha pelo Facebook como plataforma de marketing está diretamente ligada ao número
de usuários ativos na rede social: 1,18 bilhões [9] (número de Agosto de 2015). Com
os dados gerados por cada usuário (conteúdo curtido, conteúdo compartilhado, páginas
curtidas, comentários em publicações e etc), o Facebook monta um perfil do usuário e com
isso a propaganda é direcionada, gerando melhores resultados para o anunciante.
A aquisição, processamento, análise e visualização de um grande volume de dados
criou um campo de estudo chamado Big Data.
6
2.1 O Jornalismo na era da Web
Entre as áreas que possuem o alto volume de dados como desafio, destaca-se o
jornalismo, área na qual o presente trabalho é baseado. É importante, no entanto, notar
que embora este trabalho seja aplicado em uma base de notícias jornalísticas, ele continua
sendo genérico o suficiente para ser aplicado em qualquer base textual.
2.1.1 Da mídia impressa para a mídia digital
Em 1980 uma das maiores companhias de serviços de rede, a CompusServe [10],
realizou um experimento que consistia em colocar alguns dos principais jornais dos Estados
Unidos online. O primeiro deles a ir ao ar foi o The Columbus Dispatch, em 1 de Julho
de 1980. O experimento também contou com gigantes da comunicação, como The New
York Times e The Washington Post. Nessa época ainda não existia a web, que só seria
inventada em 1989, por Sir Tim Berners-Lee, no CERN [11].
Com o desenvolvimento da web, os jornais, impressos e televisivos, começaram a
perceber a importância do meio digital. Isto é facilmente entendido olhando para o número
de usuários online: em 1993 a web contava com pouco mais de 14 milhões de usuários, hoje
passa dos 3 bilhões [12]. Não bastasse isso, as pesquisas indicam uma mudança no tipo de
comportamento da população. Em uma pesquisa de 2008 foi constatado que o número de
cidadãos norte-americanos que preferem buscar informações na internet havia superado os
que preferiam ler jornais impressos [13] e já representava a segunda fonte de informação
do país, perdendo apenas para a televisão. Além disso o número de teleespectadores de
telejornais vem diminuindo gradativamente [14]. Hoje pode-se dizer que os principais
jornais possuem seu conteúdo na web e a tendência é que os jornais acabem migrando
totalmente para o meio digital.
Apesar do Brasil possuir uma taxa de acesso a internet per capita menor que a
norte-americana, a mesma tendência de migração para o meio digital pode ser observada.
Hoje os principais jornais em circulação no país, como O Globo, Folha de São Paulo, entre
outros, contam com planos de assinatura digital.
7
A história do jornalismo online no Brasil começa com o Jornal do Brasil, jornal
carioca fundado em 1891. Em 1995 o JB lançou sua versão online, produzida em um PC
386, sendo assim o primeiro jornal brasileiro a participar da web (somente entre 1996 e
1997 o jornal O Globo e o UOL entrariam na rede mundial de computadores). Nessa época
o número de internautas no Brasil era estimado em 30 mil usuários. Mas mesmo antes
disso, em 1993, o JB já deixava evidente seu pioneirismo digital, possuindo um terminal
de envio de mensagens sobre economia e política para a Bolsa de Valores do Rio em sua
redação. Desde 1 de Setembro de 2010, após 119 anos de publicação e perdendo volume
de vendas, ele abandonou a mídia impressa e migrou para o meio digital [15].
Figura 2.2: Portal do JB online, em 1996. Design feito por Carlos Benigno, vencedor deum concurso interno do jornal para melhorar a interface gráfica do web site. Retiradode [15]).
8
2.1.2 Acesso a informação
Atualmente o jornalismo vive uma fase que é consequência direta da evolução da
computação. Com o alto número de usuários e o sucesso das redes socias, os jornais criaram
meios de comunicação nestas plataformas que faz do jornalismo uma tarefa colaborativa
entre a redação e o leitor-repórter. Este fenômeno é relativamente recente e pôde ser
observado durante o atentado do dia 11 de Setembro de 2001, quando os jornais online não
tiveram capacidade técnica de digerir as informações enviadas pelos leitores. As câmeras
digitais já eram populares e os jornais não foram capazes de processar o alto volume de
dados de imagens e vídeos gravados pelas testemunhas.
Foi então que os jornais entenderam a mudança de cenário e investiram em capa-
cidade técnica. Como consequência disso, os ataques terroristas em Madri, em Março
de 2004, e em Londres, em Julho de 2005, foram cobertos com sucesso e desde então a
cobertura de grandes incidentes tem sido marcada por informações em tempo real, fruto
desta nova dinâmica colaborativa [16].
Como outra consequência da evolução dos meios digitais, pode-se destacar o volume
de notícias que são publicadas atualmente. Com o aumento do poder computacional
as matérias ficaram mais extensas, são complementadas com figuras, vídeos, integração
com redes socias e etc. O número de notícias publicadas, além de não ser mais um
empecilho, é fator competitivo num meio em que as páginas dos portais precisam atualizar-
se constantemente com o propósito de atrais clicks dos leitores. Por isso os números da
mídia digital são grandiosos. A base de dados da TWIST coleta mensalmente 200.000
novos artigos de pouco mais de 80 fontes. As fontes são jornais em sua grande maioria, mas
também conta com blogs. Isso resulta em uma média superior a 80 artigos diariamente,
por jornal.
No entanto, volume não representa diversidade. Ao analisar os artigos separada-
mente é possível perceber que algumas publicações tratam do mesmo assunto. É comum,
contudo, que as abordagens dos jornalistas sejam distintas, seja pelo modo que a maté-
ria foi desenvolvida ou pela linha editorial que o jornal segue. Com isso o leitor pode,
9
eventualmente, perder informações que ele consideraria importante, mas cuja fonte lida
não concorda. E olhando para os números apresentados acima é fácil perceber que a
alternativa de ler sobre o mesmo assunto em diferentes fontes torna-se uma tarefa custosa.
O leitor teria de ser capaz de ler mais de 80 jornais por dia para se certificar que não
perdeu alguma informacão relevante. Esta claramente não é uma opção viável.
Diversas técnicas vem sido aplicadas para, automaticamente, extrair conteúdo
relevante de notícias [17, 18]. No Capítulo 3 será apresentada a Modelagem de Tópicos,
uma das possíveis técnicas que podem ser utilizadas.
Capítulo 3
Modelagem de Tópicos
Com o intuito de extrair conteúdo relevante de notícias, uma área que vem ganhando
relevância recentemente é a Modelagem de Tópicos. Seu objetivo é ajudar a entender,
categorizar, resumir e explorar arquivos digitais de forma automática [19]. Ao apresentar
uma nova forma de visualização de bases textuais, a Modelagem de Tópicos permite novos
tipos de iteração com a base de dados, como: busca por assunto no lugar da tradicional
busca por palavras-chave e granularidade com que as notícias da base são vistas. A seguir
serão apresentados os conceitos teóricos fundamentais da área.
3.1 Conceito
A Modelagem de Tópicos considera que a base de dados é composta por um conjunto
de assuntos, que serão chamados de tópicos daqui em diante. A técnica consiste em um
framework matemático que pretende, dado um conjunto de notícias, identificar o conjunto
de tópicos que estão ali presentes. Para elucidar esse ponto, considere o trecho da notícia
mostrada na Figura 3.1.
11
Eduardo Cunha autoriza abrir processo de impeachment de
Dilma “... Apesar da abertura do processo de impeachment, a presi-
dente da República obteve uma vitória importante nesta quarta-feira no
Congresso Nacional. Em sessão conjunta da Câmara e do Senado, os
congressistas aprovaram a revisão da meta fiscal de 2015 e e autorizaram
um rombo de R$ 119,9 bilhões. O Executivo dependia da revisão da meta
para não descumprir a Lei de Responsabilidade Fiscal. Se o Congresso
não tivesse reduzido a meta, o governo teria que cumprir o que estava
legalmente em vigor - uma meta de R$ 55,3 bilhões de superávit primário
(economia para pagar juros da dívida pública).”
Figura 3.1: Trecho de notícia da seção de política, retirado de [21].
Neste pequeno trecho podem ser identificados diferentes tópicos:
Impeachment/Dilma
Congresso/Eduardo Cunha
Lei de Responsabilidade Fiscal/meta
A modelagem de tópicos deve ser capaz de identificar essa semântica por trás do
documento, de forma que se a pesquisa realizada na base for sobre qualquer um dos três
tópicos mencionados, a notícia apresentada deveria estar presente no resultado da busca.
3.2 Aplicação
Como um exemplo de aplicação em uma base de dados, considere o conjunto de
notícias da Tabela 3.1.
Estas notícias foram escolhidas a partir da seção de política de diferentes jornais em
um mesmo dia. Na Tabela 3.2 encontra-se um exemplo de tópicos que foram encontrados
utilizando como modelo o algoritmo LDA (Latent Dirichlet Allocation, inglês para Alocação
Latente de Dirichlet) [22]. Esta técnica será discutida com mais detalhes na Seção 3.4).
12
Fonte Título da notíciaG1 Máscara do “Japonês da Lava Jato” é a mais procurada no carnaval
de SPO Dia Dilma diz que está “estarrecida” com previsões do FMI para econo-
mia brasileiraG1 Dilma compara momento atual com tentativa de impeachment de
GetúlioJB Dilma critica ’pontos fora da curva’ na Lava Jato mas diz que
investigação é necessária, diz jornalO Dia Entrada de Hugo Motta na briga pela liderança do PMDB preocupa
governoG1 PDT prepara ’ambiente’ para lançar Ciro como candidato em 2018,
diz LupiJB Paulinho da Força volta à vida sindical demitindo dissidentesJB Picciani terá pelo menos dois adversários na disputa de líder do
PMDB na CâmaraG1 Hugo Motta anuncia candidatura à liderança do PMDB na CâmaraJB PT vai ressurgir como fênix, diz Lula
Tabela 3.1: Títulos de notícias da seção de política e suas respectivas fontes.
A partir da extração dos tópicos, é possível representá-los por uma lista das palavras
mais importantes. No entanto, existem formas mais ilustrativas de visualização. Uma
delas é o Termite [23], utilizado para representar os mesmos tópicos apresentados na
Tabela 3.2. O resultado pode ser visto na Figura 3.2. Cada coluna representa um tópico e
as linhas representam suas palavras. O peso de cada uma delas na determinação do tópico
é representado pelo tamanho da barra lateral ou pelo tamanho do círculo.
Como o presente projeto tem como objetivo a análise de coerência para tópicos,
apenas as 10 primeiras palavras serão utilizadas (isso será discutido mais a fundo no
Capítulo 4). Esta representação mais simples dos dados elimina a necessidade de formas
complexas de visualização, permitindo que os tópicos sejam representados como uma lista
de palavras ao longo do trabalho.
3.3 Histórico
Em 1998 foi proposta a Latent Semantic Indexing (LSI) [24] como alternativa às
buscas por palavra-chave em bases de dados. No artigo foi apresentada a teoria básica,
13
máscaras ex-ministro carnaval crise vendas conta passado prefeituraseconômica apesar fantasia vendedora agente porto ladeira lojas grupoafastamentopartido eleições força presidenta quarta-feira capitais lançar entre-vista congresso petistas pedetistas nome quinta-feira devido simpatiarepública absolutamenteex-presidente qualquer voltar lula reportagem pauta acusação fatoresloja políticos acordo apresenta importância veja partidos brasileiropele paralisedinheiro câmara paulinho diretório questão longo economia mone-tário fato muita vamos crescimento terem situação internacionalatividade maioresjato lava câmara federal investigação operação partir defendeu esperaapoio semana aliado líder custam japonês verdade gente curvacandidaturabrasil vida fundo destacou sexta-feira precisa dezembro aliadosoposição nenhuma saída objeto fmi previsões investigações ministériocorrupção base críticaeduardo candidatos pmdb-rj temer posto parlamentar afirmou golpeduração municipais natal espécie esquema terça dissidente michelvice-presidente destituído finaldilma rousse� processo política golpe crescer pessoa companhei-ros especial comissão acontecendo discurso ilibada tempo relatóriocorrupção petista povoimpeachment pdt afirmou ciro gomes lupi presidência getúlio carlostentativa além brasília dizer decisão relação impedimento democraciaexecutiva brigacunha picciani deputado deputados pmdb leonardo motta liderançavotos quintão candidato ala bancada planalto hugo tarde ficoudisputa sempre
Tabela 3.2: Tópicos extraídos das notícias da base.
14
Figura 3.2: Visualização de tópicos com Termite.
15
que consistia na decomposição em valores singulares (SVD) da matriz documento-termos.
No ano seguinte foi apresentado o PLSI [25], onde o autor modela as coocorrências
entre documento e termo como uma mistura de distribuições multinomiais condicionalmente
independentes. O PLSI assumia um tópico por documento.
Em 2002 foi proposta a Latent Dirichlet allocation (LDA) [22], uma generalização
para o PLSI, onde um documento era composto por diversos tópicos. Esse modelo tornou-se
popular e talvez seja o mais utilizado até hoje e desde então diversas extensões vem sendo
desenvolvidas [26, 27].
Uma alternativa aos modelos probabilísticos é a ténica de non-negative matrix
factorization (NMF) [28]. Ela é análoga a SVD, mas utiliza vetores não-negativos em sua
decomposição. Esta técnica foi extendida para permitir correlação entre tópicos [29] e
evolução no tempo [30].
De uma maneira geral, dado um conjunto de documentos, os modelos de tópicos
desejam chegar a seguinte fatoração:
Figura 3.3: Ilustração da fatoração desejada para a matriz de documentos. Figura retiradade [31].
Nas próximas seções, serão apresentados dois modelos que executam esta tarefa de
maneiras distintas: LDA e NMF.
3.4 Alocação Latente de Dirichlet
A LDA é o modelo mais popular em modelagem de tópicos. Esta técnica tenta
capturar a intuição que um documento é uma mistura de tópicos.
É melhor descrita pelo seu modelo generativo [32], o processo aleatório cujo modelo
16
assume ser a origem dos documentos da base. Este processo consiste em:
Escolha um tópico da distribuição de tópicos de um documento
Escolha uma palavra do tópico e associe-a ao documento
O objetivo do modelo pode ser pensado como o processo generativo inverso, ou
seja, encontrar a estrutura escondida que gerou a coleção de documentos observada [1].
3.5 Fatoração de Matrizes não Negativas
A NMF é uma maneira esparsa e eficiente de representar sinais, imagens e dados
em geral [33].
Seja V = (v1, . . . , vn
) uma matriz de entrada que contem uma coleção de n vetores-
coluna de dados. Fatora-se V em duas matrizes:
V ¥ WH (3.1)
onde, V œ Rp◊n, W œ Rp◊k e H œ Rk◊n. Nesta fatoração, os elementos assumem valores
não-negativos, o que em geral possibilita a interpretação física dos dados. W e H são
obtidos minimizando uma função custo. As mais populares são:
Distância euclidiana [34]
dEUC
(x, y) = (x ≠ y)2 (3.2)
Divergência de Kullback-Leibler (KL) [34]
dKL
(x, y) = x log x
y≠ x + y (3.3)
3.6 Representação dos documentos
As bases utilizadas ao longo do trabalho são compostas por textos e, portanto,
constituídas por dados não estruturados. No entanto, para que se extraia informações
17
relevantes dos dados por meio das técnicas mencionados ao longo do texto, é preciso
representar os documentos em forma vetorial. Esta seção explica como documentos não
estruturados são transformados em vetores.
3.6.1 Pré-processamento
Os textos precisam ser pré-processados para que se extraiam informações relevantes.
Todo o pré-processamento deste trabalho é feito utilizando a biblioteca de processamento
de linguagem natural da linguagem Python, a NLTK [35].
As etapas de pré-processamento [36] consistem em primeiramente dividir o texto
em sentenças utilizando o algoritmo Punkt [37] e posterior divisão das frases em palavras.
Do conjunto de palavras são removidas as stopwords, palavras que não agregam
valor semântico ao texto. Apesar da NLTK possuir uma lista de stopwords para a língua
portuguesa, ela não é completa. Por isto, uma lista mais completa foi desenvolvida para
este trabalho. Assim como as stopwords, a pontuação também não agrega valor semântico
e é removida.
Após isso, é possível fazer a etapa de lematização ou radiciação, que consistem em
encontrar representações canônicas para as palavras. A primeira extrai o lema, ou seja,
a palavra que encabeça o verbete no dicionário, enquanto a segunda extrai o radical do
termo. Estas etapas não foram realizadas neste trabalho.
Por fim, é feita a escolha de manter ou não a ordem das palavras. Para o caso
de ambos os modelos apresentados neste trabalho, LDA e NMF, a representação dos
documentos deve ser feita em multiconjunto de palavras (em inglês, bag of words), ou seja,
a ordem é perdida. No entanto, para as medidas de coerência apresentadas no Capítulo 4,
a ordem deve ser mantida, uma vez que ela carrega em si importante valor semântico.
O passo-a-passo descrito acima encontra-se ilustrado na Figura 3.4.
18
Figura 3.4: Ilustração do passo-a-passo para o pré-processamento de texto.
3.6.2 TFIDF
Após a etapa de pré-processameno, é preciso conferir estrutura aos documentos,
representado-os algebricamente. A forma mais utilizada é o VSM (do inglês, Vector Space
Model) [38], apresentada a seguir.
Considerando que a base possui M documentos e cada documento Di
pode possuir
no máximo N termos, uma representação possível é a seguinte:
19
Corpus =
Q
cccccccccca
t1 t2 ... tN
D1 a11 a12 ... a1N
D2 a21 a22 ... a2N
... ...
DM
a21 a22 ... a2N
R
ddddddddddb
, (3.4)
O valor dos elementos aij
da matriz dependem da forma de representação escolhida
para a base. A representação one hot, por exemplo, classifica aij
como:
aij
=
Y___]
___[
0, se tj
não ocorre no documento Di
1, caso contrário(3.5)
No entanto, esta forma de representar é muito simples e ocasiona perda de informa-
ções sobre a frequência dos termos.
A maneira mais popular de representar textos, e utilizada ao longo deste projeto, é
o tfidf (do inglês, term frequency/inverse document frequency) [36].
Caso uma palavra seja muito frequente em um documento, isto provavelmente indica
sua importantância para a semântica do texto. O veredito sobre sua importância será
obtido ao ponderar a frequência desta palavra para todo o conjunto de documentos. Caso
ela ocorra em poucos documentos, a importância do termo para o documento em questão
é ratificada. Caso ela seja comum a diversos documentos, isso diminui a importância da
palavra para o texto em análise. É esta a intuição por trás do tfidf : determinar o peso de
um termo para o texto ponderando a frequência do termo no documento (term frequency)
com a ocorrência dele em todos os documentos (inverse document frequency).
Matematicamente, o tfidf pode ser modelado como:
tfij
= nij
qM
m=1 nmj
, (3.6)
onde nij
é o número de vezes que o termo ti
aparece no documento Dj
.
20
idfij
= log M
|D : ti
œ D| (3.7)
De forma a reduzir os elementos aij
ao produto tfij
◊ idfij
.
3.7 Desafios
A área de Modelagem de Tópicos conta com uma série de desafios, entre eles:
Identificação do número de tópicos
Um dos parâmetros que deve ser passado ao modelo é o número de tópicos que
espera-se encontrar na base de dados.
Intuitivamente, a variação do número de tópicos traduz-se como a granularidade com
que esperamos ver as notícias da base. Ao diminuir gradativamente o número de
tópicos que devem ser encontrados na base textual, espera-se que assuntos parecidos
sofram uma fusão, gerando tópicos mais gerais. No limite, ao dizer que apenas um
tópico é esperado, a saída do modelo deve retornar as palavras mais relevantes para
aquele conjunto de dados. Por outro lado, aumentar o número de tópicos gera tópicos
mais específicos.
Em [39], o autor discute sobre a identificação automática do nível de granularidade
ótima utilizando o conceito de estabilidade.
Rastreamento temporal de tópicos
É comum que um determinado assunto repercuta por diversos dias. Por isso, é
desejável que o algoritmo utilizado para extrair os tópicos em diferentes momentos
na base de dados apresente como resultado a relação temporal entre os tópicos.
Em [30], a autora modifica a NMF para fatorar duas matrizes. Uma delas é a matriz
que correlaciona os tópicos da rodada atual com a anterior.
Coerência semântica dos tópicos
21
Embora as palavras de um mesmo tópico pertençam à uma mesma distribuição
estatística, isto não implica que a distribuição possua coerência semântica. O presente
trabalho estuda especificamente este desafio.
Capítulo 4
Medidas de Coerência Semântica
Os tópicos obtidos como saída de um dos modelos apresentados no capítulo anterior
são formados por palavras estatisticamente relacionadas. Isto não significa que elas tenham
um relacionamento semântico claro entre si, ou seja, que façam sentido para um avaliador
humano que as leia. As medidas apresentadas no presente capítulo propõem métodos para
encontrar um valor de coerência semântica, de forma a tornar possível a automatização do
processo de validação, hoje realizado manualmente.
4.1 Definição
Como pode-se observar na Tabela 4.1, o último tópico, diferentemente dos demais,
não faz sentido para um avaliador humano. O objetivo deste capítulo é obter o valor
semântico de um tópico como um número, para que no fim seja possível identificar os
tópicos incoerentes.
trabalhadores trabalho ministério empresa cooperativa mte fiscalização fiscais audi-tores irregularbruna marquezine foto camarote destri maurício beijos heineken atrizpolícia social órgãos ações jovens assistência policial autoridades flagrante arrastãohate penúltimo smith sam rihanna encerramento memes zoeira percebeu have
Tabela 4.1: Exemplos de tópicos encontrados ao executar NMF para as notícias do eventoRock in Rio.
23
Para o presente trabalho, a definição de coerência será dada pela equação 4.1, onde
V representa o tópico como uma lista de palavras, ui
e vj
serão duas palavras desta lista e
‘ é um parâmetro da função score
coherence(V ) =ÿ
(ui
,v
j
)‘V
score(ui
, vj
, ‘), (4.1)
onde a utilidade do parâmetro ‘ reside em impedir que o logarítmo na função score seja
calculado com argumento nulo. No entanto, um valor de ‘ grande pode favorecer medidas
indesejadas. Ao longo de todo o trabalho será adotado ‘ = 0.001.
Newmann et al (2010) [40] introduz a noção de coerência para tópicos. O autor
compara o desempenho de diversas medidas de coerência com um padrão ouro para a
língua inglesa. A medida de melhor desempenho é a PMI (do inglês, point-wise mutual
information) quando utilizada com a Wikipedia [41] como base de dados.
A outra medida de interesse para o presente trabalho foi proposta por Mimno et
al (2011) [42]. Ao contrário da PMI, essa medida calcula a nota semântica utilizando a
mesma base utilizada para gerar os tópicos.
As medidas e o conceito de coerência podem ser utilizados para diferentes fins.
Stevens et al (2012) [2], por exemplo, utiliza as medidas para analisar qual modelo, entre
LDA e NMF, produz tópicos mais coerentes. Neste artigo o autor faz uso da notação
que será assumida no presente trabalho: UCI no lugar de PMI e UMass para a medida
proposta em [42]. Já Han et al (2013) [43], utiliza medidas de coerência para identificar
sinônimos.
Os trabalhos citados referem-se à lingua inglesa e não existem trabalhos similares
voltados para a língua portuguesa.
4.2 Medidas de coerência
A seguir serão apresentadas as três medidas propostas: UCI [40], UCI normali-
zada [44] e UMass [42]. Em comum, as medidas retornam um valor para uma entrada de
24
duas palavras, ou seja, o que de fato é medido é o quanto semanticamente relacionadas
estão as duas palavras. Com isso é possível medir se um tópico está coerente analisando
seus termos dois a dois.
As medidas serão analisadas por diferentes ângulos: a base de dados consultada
pelas medida para calcular a nota de coerência, os seus limites numéricos e desempenho
computacional.
Os tempos de execução apresentados neste capítulo estão sujeitos a configuração
de máquina com processador 2,2 GHz Intel Core i7 e memória de 8 GB.
4.2.1 UCI
A UCI baseia-se na informação mútua associada a coocorrência das duas palavras
em uma janela. A medida é formulada pela seguinte equação:
score(ui
, vj
, ‘) = log p(ui
, vj
) + ‘
p(ui
)p(vj
) (4.2)
Nesta equação, p(ui
) e p(vj
) representam a probabilidade de ocorrência da palavra
na base de dados, enquanto p(ui
, vj
) representa a probabilidade delas coocorrerem.
Como discutido previamente, para avaliar a relação semântica entre os termos a
base de dados deve manter a ordem das palavras após o pré-processamento. Os documentos
serão seccionados em janelas de 20 termos e a coocorrência é definida quando dois termos
ocorrem na mesma janela.
Assim, a equação 4.2 é implementada da seguinte forma:
score(ui
, vj
, ‘) = log(N
u
i
,v
j
+ ‘)Nwindows
Nu
i
Nv
j
, (4.3)
onde Nu
i
,v
j
representa o número de vezes que ui
e vj
coocorrem, Nu
i
e Nv
j
o número de
vezes que as palavras ocorrem em janelas e Nwindows
o número de janelas presente na base.
Conforme o artigo original, a UCI atinge o melhor desempenho quando utilizada
em conjunto com a Wikipedia como base de dados, detalhada na Seção seguinte.
25
4.2.1.1 Base de dados
A Wikipedia é uma iniciativa privada, fundada em 15 de Janeiro de 2001, que conta
com mais 30 milhões de artigos escritos em 287 diferentes idiomas. Com esse volume, ela
destaca-se como uma importante fonte de dados para processamento de linguagem natural.
Uma vez por ano seus dados são disponibilizados em XML, formato estruturado
que pode ser facilmente interpretado. Assim sendo, cada Wikipedia, uma para cada
idioma, é condensada em um único arquivo. Para a Wikipedia em português, o arquivo
tem pouco mais de 5 GB, enquanto a Wikipedia em inglês tem cerca de 10 vezes mais,
aproximadamente 50 GB.
Como os documentos da Wikipedia utilizam o formato wikimarkup [45], o primeiro
passo a ser feito para extrair o conteúdo relevante é remover as tags de marcação da
linguagem. Isso pode ser feito utilizando uma ferramenta específica para a tarefa [46].
Cada artigo é pré-processado e toda a base é condensada em 3 arquivos estáticos,
que precisam ser gerados novamente apenas quando um novo dump da Wikipedia for
disponibilizado. Os três arquivos são:
Vocabulário (33 MB)
Ocorrências de palavra em janelas (27 MB)
Relação palavra-documento (450 MB)
Estes arquivos somam 510 Mb, conferindo uma redução de aproximadamente 90%
no volume de dados que precisam ser armazenados. De posse desses arquivos é possível
analisar o tamanho da base pré-processada.
A Wikipedia conta com 881.026 páginas, mas esse número cai para 585.633 quando
retiram-se as páginas com menos de 20 palavras (são páginas de desambiguação, definição
de termos, ...), uma perda de 33,53%. Esses documentos são descartados.
O comprimento médio dos documentos é de 161 palavras e sua distribuição pode
ser visualizada na Figura 4.1.
26
Figura 4.1: Histograma do número de palavras nos documentos da Wikipedia (PT).
Além disso, a base conta com 1.568.118 tokens únicos. A frequência que cada
comprimento de palavra apresenta pode ser visualizada na Figura 4.2. As 10 palavras
mais frequentes são apresentadas na Tabela 4.2.
Palavracidadeprimeiroprimeirathehistórianomegrupoálbumalémforma
Tabela 4.2: As 10 palavras mais frequentes da Wikipedia-PT.
Por fim, o número de janelas de 20 palavras em toda a base é de 89.216.085 janelas.
27
Figura 4.2: Gráfico em barras do comprimento das palavras da Wikipedia (PT).
4.2.1.2 Limites numéricos
Nesta seção serão estudados os limites numéricos da medida.
Máximo O máximo valor teórico da medida é obtido quando duas palavras ocorrem
apenas uma vez, e juntas. Com isso, substituindo Nu
i
= Nv
j
= Nu
i
,v
j
= 1 na
equação 4.3:
score(ui
, vj
, ‘) = log ((1 + ‘)Nwindows
) (4.4)
Fazendo ‘ = 0, 001 e, como visto na Seção 4.2.1.1, Nwindows
= 89.216.085,
scoremax
(ui
, vj
, ‘) = 7, 95 (4.5)
Mínimo É possível calcular o limite inferior da medida supondo que as duas palavras
mais frequentes da base não coocorram. Assim, pode-se substituir Ncidade
= 2272757,
28
Nprimeiro
= 1750136 e Ncidade,primeiro
= 0 na equação 4.3:
score(cidade, primeiro, ‘) = log 0.01 ◊ Nwindows
2272757 ◊ 1750136 (4.6)
scoremin
(ui
, vj
, ‘) = ≠7, 65 (4.7)
O valor máximo depende do número de janelas e o valor mínimo é conferido ao par
de palavras mais frequentes que menos coocorrem. Sendo assim, os limites numéricos das
medidas dependem de aspectos particulares de cada exportação, não sendo possível uma
generalização.
4.2.1.3 Desempenho computacional
A maneira imediata para se obter os valores de Nu
i
, Nv
j
e Nu
i
,v
j
da equação 4.3 é
a descrita abaixo:
1 def score(u_i, v_j, e=1e-3):
2 N_u, N_j, N_uj = 0, 0, 0;
3 para janela em janelas:
4 se u_i em janela:
5 N_u = N_u + 1;
6 se v_j em janela
7 N_j = N_j + 1;
8 se u_i em janela e v_j em janela:
9 N_uj = N_uj + 1;
10 return computar_score(N_u, N_j, N_uj, e)
Código 1: Pseudo-código para calcular a ocorrência de cada palavra, assim como acoocorrência entre as duas.
Apesar de representar a maneira mais intuitiva para o cálculo dos valores, o código
apresentado leva cerca de 1 minuto para calcular o score para duas palavras. Como a nota
de coerência para um tópico é obtida a partir da média dos scores das combinações dois
a dois de suas 10 primeiras palavras, isso equivale a C210 = 45 combinações, totalizando
cerca de 45 minutos.
29
O método desenvolvido para minimizar esse tempo envolve a criação dos três
arquivos mencionados na Seção 4.2.1.1. O primeiro é uma relação entre o identificador
numérico da palavra e sua representação como string. O segundo arquivo armazena em
quais documentos cada palavra aparece. Por fim, o terceiro arquivo armazena o número
total de janelas em que cada palavra aparece.
Estes arquivos possibilitam a obtenção de Nu
i
e Nv
j
de maneira trivial, e o cálculo
de Nu
i
,v
j
com menor custo computacional se comparado ao método anterior, usando o
seguinte processo: o documento é representado como uma lista de palavras. Em seguida,
os índices da primeira e da segunda palavra no documento são armazenados. A partir
disso é criada uma matriz onde cada linha representa a distância de uma ocorrência de
uma palavra para todas as ocorrências da outras palavra. E finalmente, o número de
coocorrências é calculado pelo número de distâncias no vetor residual menor que o tamanho
da janela.
Com este método apresentado, calcular a coerência para um tópico leva cerca de 1
minuto e meio, uma redução de aproximadamente 30 vezes.
Embora a evolução do método do cálculo do score tenha possibilitado a sua análise,
o tempo de execução ainda não é suficiente para a pretendida vaidação automática dos
tópicos. É preciso gravar as coocorrências de maneira direta, através de uma matriz de
coocorrência.
O desafio para tal tarefa é o espaço necessário de armazenamento. Uma matriz de
dimensões 106 ◊ 106, onde cada elemento possui 32 bits, ocupa 4 Tb. É preciso desenvolver
uma arquitetura que armazene e recupere de forma eficiente esse grande volume de dados.
A proposta por uma arquitetura está fora do escopo deste projeto.
4.2.2 NUCI
A UCI normalizada [44] é dada por:
score(ui
, vj
, ‘) =log p(u
i
,v
j
)+‘
p(ui
)p(vj
)
≠ log(p(ui
, vj
) + ‘) (4.8)
30
Que por sua vez é implementada como:
score(ui
, vj
, ‘) =log (N
u
i
,v
j
+‘)Nwindows
N
u
i
N
v
j
≠ log (Nu
i
,v
j
+‘)N
windows
(4.9)
Comparando as equações 4.2 e 4.8 pode-se perceber que as duas diferem por apenas
um fator. Os detalhes de implementação são idênticos, assim como a base de dados
consultada. Desta forma, o único item da Seção 4.2.1 que precisa ser reavaliado são os
limites numéricos da medida.
4.2.2.1 Limites numéricos
A seguir, serão estudados os limites numéricos da medida.
Máximo É possível obter o valor máximo teórico procedendo de forma análoga ao que
foi feito para a UCI. Substituindo Nu
i
= Nv
j
= Nu
i
,v
j
= 1 na equação 4.9:
score(ui
, vj
, ‘) = log ((1 + ‘)Nwindows
)≠ log (1+‘)
N
windows
(4.10)
E com ‘ = 0, 001 e Nwindows
= 89.216.085, vem:
scoremax
(ui
, vj
, ‘) = 1 (4.11)
Mínimo Já o limite inferior desta medida é dado por:
scoremin
(ui
, vj
, ‘) = ≠7, 657, 95 = ≠0, 96 (4.12)
4.2.3 UMass
A UMass é dada pela equação 4.13:
score(ui
, vj
, ‘) = log p(ui
, vj
) + ‘
p(ui
) , (4.13)
31
onde p(ui
) representa a probabilidade de ocorrência da palavra na base de dados,
enquanto p(ui
, vj
) representa a probabilidade de coocorrência das duas palavras.
Como pode-se notar, esta medida não é simétrica, ou seja, score(ui
, vj
, ‘) ”=
score(vj
, ui
, ‘). Para resolver esse problema, será adotado o seguinte:
score(ui
, vj
, ‘) = max(score(ui
, vj
, ‘), score(vj
, ui
, ‘)) (4.14)
E com isso, a equação 4.13 será implementada como:
score(ui
, vj
, ‘) = log Nui
, vj
+ ‘
min(Nu
i
, Nv
j
) , (4.15)
onde Nui
, vj
é o número de documentos em que as palavras coocorrem.
A UMass consulta a mesma base de dados utilizada para gerar os tópicos, detalhada
a seguir.
4.2.3.1 Base de dados
Em janeiro de 2016, a base de dados da TWIST contava com mais de 1 milhão de
documentos, com acréscimo mensal de 200.000 novos documentos. A base de dados sofre
atualizações pelo menos uma vez por dia.
O processo de inserção de documentos é feito por um crawler, responsável por
coletar documentos em diferentes fontes. Ao encontrar um novo documento ele então
passa por uma etapa de qualidade de dados, onde regras para verificar se o documento é
válido são aplicadas e é decidio se ele será inserido ou descartado da base.
A tecnologia por trás da base de dados é o Elasticsearch [47]. Baseado no Lucene [48],
o Elasticsearch é um banco de dados distribuído, não estruturado e orientado a objetos.
4.2.3.2 Limites numéricos
Pela frequência de atualização da base, as ocorrências de cada palavra estão em
constante atualização, não sendo possível calcular os valores máximo e mínimo para esta
32
medida. No entanto, é possível calcular valores típicos de palavras que formam pares
coerentes e não coerentes. Estes valores podem ser visualizados na Tabela 4.3.
palavra 1 palavra 2 UMassdilma cunha -0,330852927116dilma lula -0,239335710301vasco flamengo -0,468265634919vasco futebol -0,472259980377vasco dilma -2,25387039149dilma futebol -1,72799014132
Tabela 4.3: Exemplos de notas obtidas pela medida UMass com pares de palavras.
4.2.3.3 Desempenho computacional
Pela forma de se calcular, a UMass apresenta um desempenho computacional
superior ao das outras medidas. Com a infraestrutura atualmente utilizada para a base de
dados a medida leva cerca de 20 segundos para calcular a coerência para um tópico.
4.3 Discussões sobre medidas de coerência
Para validar o funcionamento das medidas de coerência, elas devem ser compa-
radas com a validação manual dos mesmos tópicos. A base manual será desenvolvida
especialmente para este projeto e tomada como padrão como o padrão ouro para as
medidas.
Além de comparar as medidas com a validação manual, uma pergunta natural a se
fazer é se as medidas concordam entre si. Esta é uma pergunta paricularmente importante.
Como essas métricas devem funcionar para validar tópicos em tempo real, o desempenho
computacional é requisito fundamental. Como visto, a UMass é cerca de 5 vezes mais
rápida que a UCI, e, portanto, seu uso é preferível. No Capítulo 5, esses pontos serão
explorados.
Capítulo 5
Resultados
Este capítulo tem como objetivo analisar se as medidas propostas e estudadas no
Capítulo 4, concordam com a percepção humana de coerência semântica.
Para fazer essa análise será necessária a criação de uma base onde os tópicos
sejam anotados de acordo com a sua qualidade semântica. Estes tópicos foram extraídos
utilizando o algoritmo de NMF em um conjunto de notícias que tem a palavra “energia”
no corpo do texto. A base criada servirá de padrão ouro e permitirá analisar o desempenho
das medidas.
5.1 Base de dados
Os tópicos encontrados foram classificados manualmente de acordo com a sua
coerência semântica. Esta classificação foi realizada apresentando as 10 primeiras palavras
do tópico para um avaliador humano, assim como feito por Newman et al [40]. Para o
tópico ser considerado válido, suas palavras precisam indicar um relacionamento claro com
as notícias do tópico em questão. O tópico é interpretrado como inválido quando não é
possível atestar um relacionamento.
Seguindo essa metodologia, a base de dados para este projeto foi criada a partir da
avaliação manual de três avaliadores, que conferiram notas de 1 a 3, em ordem crescente
de qualidade. A média aritmética das notas dos avaliadores é utilizada para determinar
34
a validade do tópico. Caso a média seja menor do que dois, o tópico é classicado como
inválido. Caso contrário, o tópico é classificado como válido.
Seguindo esses critérios, dos 238 tópicos presentes na base de dados, 81% foram
classificados como válidos e 19% foram classificados como inválidos.
Na Tabela 5.1, podem ser vistos exemplos de tópicos presentes na base, onde a
nota presente na tabela corresponde à média das notas dos classificadores humanos.
5.2 Avaliação de desempenho
Uma vez que a base de dados foi criada, é possível avaliar o desempenho das medidas
através da curva ROC (Receiver Operating Characteristic) [49]. A curva ROC pode ser
obtida da seguinte forma: variando a nota de corte do classificador e comparando com
o padrão ouro, é possível obter as amostras que foram classificadas corretamente como
válidas (verdadeiro positivo) e as amostras inválidas que foram classificadas como válidas
(falso positivo). As taxas obtidas de verdadeiro positivo e falso positivo constituem os
pontos da curva. Dessa forma, a curva ROC consiste em uma forma de análise da taxa de
acerto do classificador.
A obtenção do ponto de desempenho ótimo é obtido pela figura de mérito de SP [49],
dada por:
SP =ÛÒ
Pc
Pnc
(Pc
+ Pnc
2 ), (5.1)
onde Pc
é a probabilidade de detecção da classe desejada e Pnc
é a probabilidade de não
obter um falso alarme.
Ao ponto de SP máximo será associada a nota de corte correspondente, ou seja, a
nota que separa os tópicos válidos dos inválidos.
35
Tóp
ico
Not
ícia
sN
ota
ener
gia
forn
ecim
ento
min
asfa
ltage
rada
elé-
tric
asis
tem
aco
nta
furt
opr
oble
ma
Mus
euda
Ener
gia
deIt
ure
aliz
aO
ficin
a“H
istór
iada
Ener
gia
emSã
oPa
ulo”
Alto
cust
oda
ener
gia
afas
tain
dúst
rias
doBr
asil,
diz
dire
tor
doC
BIE
Dist
ribui
dora
deen
ergi
ano
Rio
tem
prej
uízo
anua
lde
R$
850
mic
om’g
atos
’Li
ght
tem
prej
uízo
anua
lde
R$
850
milh
ões
com
“gat
os”
noR
J
3
fuku
shim
are
ator
nucl
ear
send
aiab
ere
ativ
a-çã
ore
ator
esja
pão
segu
ranç
aac
iden
te
Japã
ore
inic
iapr
imei
rore
ator
nucl
ear
após
quat
roan
osde
Fuku
shim
aSe
gund
ore
ator
nucl
ear
rece
beco
mbu
stív
elno
Japã
oan
tes
dare
ativ
ação
3
gent
epa
nvel
empr
esa
loja
loja
sva
mos
crise
estr
atég
iapa
cotin
hofa
rmác
ia
Julio
Mot
tinN
eto:
“Som
osum
aem
pres
abo
ade
crise
”C
ampu
sPa
rty
2016
divu
lga
nom
esde
três
pale
stra
ntes
’Em
pata
r’de
spes
ase
ganh
osde
empr
esa
leva
tem
po;s
aiba
plan
ejar
Mar
taSf
redo
:C
asas
Bahi
aes
táde
volta
aoEs
tado
Com
oC
olom
bopl
anej
are
ceita
extr
apa
raum
2016
difíc
il
1
afirm
oure
ssal
tou
exec
utiv
ode
stac
outo
mbi
niex
plico
uac
resc
ento
ure
uter
sro
raim
apo
ssív
el
Hot
elqu
ein
spiro
u?O
Ilum
inad
o?ap
rove
itasu
afa
ma
mac
abra
Alck
min
afirm
aqu
ede
uor
dem
para
revo
gar
sigilo
doM
etrô
Play
stat
ion
4:So
nyan
unci
ave
rsão
com
1te
raby
tede
arm
azen
amen
toK
labi
nfo
caem
expo
rtaç
ãoe
vêcr
esci
men
tovi
aaq
uisiç
ões
após
proj
eto
Pum
aK
labi
nfo
caem
expo
rtaç
ãoe
vêcr
esci
men
tovi
aaq
uisiç
ões
Pres
iden
teda
Ass
embl
eia
Legi
slativ
ade
stac
aha
rmon
iaen
tre
Pode
res
emM
G
1
Tabe
la5.
1:Ex
empl
osde
tópi
cos
clas
sifica
dos
man
ualm
ente
.
36
5.3 UCI
Ao avaliar a medida UCI para classificação dos tópicos em válido ou inválido,
obtêm-se a curva ROC apresentada na Figura 5.1. O melhor ponto de corte, de acordo
com o SP, apresenta 72% de verdadeiros positivos e 46% de falsos positivos. A curva ROC
mostra que é possível escolher um outro ponto de corte de forma que a taxa de verdadeiros
positivos supere 80%, o que corresponde a um aumento de 8%. No entanto, isto causaria
um aumento de pelo menos 30% na taxa de falsos positivos.
Figura 5.1: Curva ROC para a medida UCI.
O ponto de corte que produz o SP máximo é ÷ = ≠0, 94. Esta nota de corte será
a base da medida para classificação de coerência. Os tópicos com nota maior ou igual
que a nota de corte são classificados como válidos, caso contrário são classificados como
inválidos.
A distribuição das notas para a medida é mostrada nas Figura 5.2a e Figura 5.2b.
As notas foram separadas em duas distribuições para melhor visualização da classificação
manual: a distribuição azul reflete os tópicos classificados como válidos pelos avaliadores,
enquanto a distribuição verde representa os tópicos classificados como inválidos. Em ambas
as figuras a nota de corte é indicada pela linha tracejada. Ao longo deste capítulo, a
largura dos bins dos histogramas são calculadas pela regra de Freedman-Diaconis [50] e o
37
kernel utilizado para estimar as distribuições é gaussiano.
Na Figura 5.2a, os tópicos à direita da nota de corte são classificados como válidos
pela medida. Com isso, é visível que a maior parte dos elementos da distribuição dos
tópicos válidos encontra-se corretamente classificada. Contudo, uma parte considerável dos
tópicos inválidos são classificados como válidos pela medida. Desta forma, essa visualização
ratifica as informações encontradas na curva ROC.
Na Figura 5.2b, podemos ver que os tópicos válidos apresentam uma variância
maior se comparada a distribuição dos tópicos incoerentes. Além disso, podemos ver
que a nota de corte fica muito próxima da mediana da distribuição, refletindo os 46%
encontrados anteriormente.
(a) Distribuição das notas para a medida
UCI.
(b) Box plot das notas para a medida UCI.
Figura 5.2: Curvas de distribuição para a medida UCI.
Uma vez definida a nota de corte, a matriz de confusão da Figura 5.3 mostra o
número de tópicos separados por classe.
5.4 NUCI
A mesma análise pode ser estendida para a NUCI. No ponto de SP máximo, definido
pela nota de corte ÷ = ≠0, 13, a medida classifica corretamente como válido 50% das vezes
38
Figura 5.3: Matriz de confusão para a medida UCI.
e classifica 25% das vezes incorretamente os tópicos inválidos como válidos. Isso pode ser
visto na curva ROC, apresentada na Figura 5.4.
A partir da curva ROC é fácil perceber que a normalização da medida piorou o seu
desempenho em classificar os tópicos de acordo com sua coerência.
Figura 5.4: Curva ROC para a medida NUCI.
A distribuição das notas encontra-se na Figura 5.5a, com a nota de corte indicada
pela linha tracejada. Como a normalização da medida é feita dividindo por um valor
negativo, os tópicos válidos agora encontram-se à esquerda da nota de corte.
O box plot encontra-se na Figura 5.5b. Nele, é possível observar que a nota de
39
corte é capaz de discriminar apenas o primeiro quartil da distribuição inválida, enquanto
aproxima-se da mediana da distribuição coerente. Isto reflete os números obtidos para
esta medida: 50% de taxa de verdadeiros positivos e 25% de taxa de falsos positivos.
(a) Distribuição das notas para a medida
NUCI.
(b) Box plot das notas para a medida NUCI.
Figura 5.5: Curvas de distribuição para a medida NUCI.
Já a matriz de confusão para esta medida é apresentada na Figura 5.6. Dos 212
tópicos anotados como válidos, 119 são classificados como inválidos.
40
Portanto, claramente os números apresentados nesta seção indicam que seu uso deve
ser evitado, já que a versão não normalizada da medida apresenta desempenho superior
com a mesma complexidade computacional.
Figura 5.6: Matriz de confusão para a medida NUCI.
5.5 UMASS
Para analisar a UMass, procederemos de maneira análoga. O ponto de SP máximo
corresponde a classificar os válidos corretamente 67% das vezes e classificar 19% das vezes
os tópicos inválidos como válidos. Podemos ver isso pela marcação em vermelho na curva
ROC apresentada na Figura 5.7. Um segundo ponto de corte, marcado na figura em verde,
pode ser escolhido de forma a acertar 84% das vezes nas classificações dos tópicos válidos
e errar 38% das vezes a classificação dos inválidos. Ou seja, se optarmos por classificar
17% mais tópicos válidos corretamente, estaremos sujeitos a mais 19% de tópicos inválidos
sendo classificados como válidos.
A princípio isso pode não parecer interessante. No entanto, basta lembrar que
a relação de tópicos coerentes e incoerentes é de 80% para 20%. Acertar mais 17% de
tópicos válidos equivale a acertar mais 14% do total de tópicos, com o custo de classificar
erroneamente 4% do total.
A nota de corte determinada pelo SP máximo é de ÷ = ≠0, 95 e enseja a matriz
de confusão da Figura 5.8a. Enquanto o segundo ponto determina uma nota de corte
41
Figura 5.7: Curva ROC para a medida UMASS.
ncorte
= ≠1, 06, com a matriz de confusão da Figura 5.8b.
(a) Matriz de confusão para a medida
UMASS baseada no SP máximo.
(b) Matriz de confusão para a medida
UMASS.
Figura 5.8: Matrizes de confusão para a medida UMass, com dois pontos de corte.
Comparando as matrizes, podemos confirmar o custo benefício discutido previa-
mente, traduzido em números. Com o ponto de SP = 0, 73, a classificação de tópicos
válidos passou de 142 tópicos para 178, 36 a mais. Este ganho foi obtido ao custo de 5
tópicos inválidos serem classificados erroneamente. Para esta aplicação específica, o custo
benefício do relaxamento do ponto de corte parece se justificar.
Na Figura 5.9a é vista a distribuição dos scores, com a nota de corte equivalente ao
42
SP máximo indicada pela linha tracejada em vermelho e a nota de corte de SP = 0, 73
indicada em verde. Assim como a UCI, os tópicos são classificados como válidos se
estiverem à direita da nota de corte. Novamente, o box plot da Figura 5.9b complementa
as informações sobre a distribuição.
(a) Distribuição dos scores para a medida
UMASS.
(b) Box plot das notas para a medida UMass.
Figura 5.9: Curvas de distribuição para a medida UMass.
É possível notar que a nota de corte correspondente ao SP máximo é mais restritiva.
A nota de corte menos restritiva está no limite de classificar a maior concentração de
tópicos inválidos como válidos, como pode ser visto na Figura 5.9a. Essa informação
encontra-se também na baixa inclinação da curva ROC após o ponto de SP = 0, 73. A
melhoria na classificação de tópicos válidos só é possível às custas de um aumento na
quantidade de classificações erradas, pois a nota de corte move-se para a esquerda na
curva de distribuição das notas conforme nos deslocamos para a direita na curva ROC,
englobando a concentração alta dos tópicos inválidos.
Por fim, o box plot nos motra também que essa medida gera uma distribuição com
menor variância e mais outliers, se comparada com as outras.
43
5.6 Discussão dos resultados
Por apresentar desempenho de classificação pior que as demais medidas, e apresentar
desempenho computacional equivalente a UCI, a NUCI mostra ser a menos indicada para
a tarefa de classificação de tópicos como válido ou inválido. A UCI classifica corretamente
pouco mais de 70% dos tópicos válidos, mas classifica praticamente metade dos tópicos
inválidos como válidos.
Para a base de tópicos utilizada neste trabalho, a UMass desponta como a melhor
medida para classificar a coerência para tópicos. Seu desempenho, tanto de classificação
quanto computacional, é superior ao das outras medidas.
Capítulo 6
Conclusão
A Modelagem de Tópicos procura agrupar documento textuais por tópicos. Por isso,
consiste em um nova forma de exploração para bases textuais. Neste trabalho, as técnicas
de Modelagem de Tópicos foram aplicadas para uma base de dados de notícias, a fim de
agrupá-las por assunto. Os tópicos extraídos das notícias, por sua vez, são visualizados na
interface do TWIST Press, sistema de inteligência computacional aplicada a jornalismo.
No entanto, os resultados do algoritmo de extração de tópico podem ser incoerentes para
o usuário final. Por isso, faz-se necessária uma validação para que eles sejam removidos da
interface.
Este trabalho propôs o uso de três medidas de coerência semântica para classificação
automática dos tópicos: UCI, NUCI e UMass. Dentre elas, a UCI apresenta maior custo
computacional, dependendo de uma base externa a aplicação. No caso deste projeto,
a Wikipedia em português foi adotada. A NUCI é uma versão normalizada da UCI e,
portanto, possui complexidade computacional idêntica a sua versão não normalizada. Já a
UMass adota a mesma base de dados utilizada para a extração de tópicos e complexidade
computacional menor do que as outras medidas, o que facilita sua utilização em um
ambiente de produção.
Para validar o funcionamento destas medidas, foi criada uma base anotada a partir
de três avaliadores humanos. Não existe este tipo de base para a língua portuguesa.
A partir das anotações desta base foi possível concluir que a UMass teve o melhor
45
desempenho em classificar os tópicos de acordo com sua coerência. Em uma configuração
menos restritiva em relação a condição de SP máximo, obteve-se 176 tópicos bons validados
corretamente, em um total de 212, e apenas 10 tópicos de baixa qualidade classificados
incorretamente, em um total de 26.
6.1 Trabalhos Futuros
Olhando as equações apresentadas no Capítulo 4 para cada medida proposta, é
possível perceber que elas contam com um termo no denominador que representa o número
de ocorrências de um termo. Isto causa uma distorção no comportamento da medida para
palavras raras, conferindo um peso excessivo a elas. Por exemplo, considere o tópico “lixo,
reciclagem, reciclável, resíduos, coleta, catadores, ambiente, seuma, material, ecoponto” e
os exemplos de notas conferidas pela UCI, na Tabela 6.1.
Palavra 1 Palavra 2 UCI Ocorrênciasda palavra 1
Ocorrênciasda palavra 2
Coocorrência
reciclável catadores 2,83 669 1558 8seuma ecoponto 2,61 10 22 0reciclagem reciclável 2,06 6969 669 6
Tabela 6.1: Exemplos de notas conferidas pela UCI a pares de palavras.
Segundo a medida, o par “seuma, ecoponto” é superior semanticamente a “recicla-
gem, reciclável”, mesmo que as palavras do primeiro não coocorram na base.
A UMass corrige esse problema. Considere os pares de palavra apresentados na
Tabela 6.2.
Palavra 1 Palavra 2 UMass Ocorrênciasda palavra 1
Ocorrênciasda palavra 2
Coocorrência
reciclável material -0,167 319 20673 217altus automação -0,170 6 628 4programáveis certificação -0,699 20 1562 4
Tabela 6.2: Exemplos de notas conferidas pela UMAss a pares de palavras.
O par “reciclagem, material” recebe nota de qualidade semântica similar ao par
“altus, automação”. A princípio, a medida parece cometer o mesmo equívoco da UCI,
46
visto que o primeiro par coocorre 217 vezes, enquanto o segundo coocorre apenas 4. No
entanto, basta ver que a palavra “altus” é um termo raro, com apenas seis ocorrências na
base, das quais quatro aparecem junto com “automação”, justificando a nota alta. O par
“programáveis, certificação”, por exemplo, coocorre o mesmo número de vezes e que o par
anterior e recebe nota consideravelmente menor devido ao maior número de ocorrência da
palavra “programáveis” em relação a “altus”.
Outra possível melhoria para o trabalho, é executar a etapa de radiciação na base
de dados. A Tabela 6.3 apresenta dois pares de palavras relacionadas: “estrela, astronomia”
e “estrelas, astronomia”. A nota semântica de ambos os pares deveria ser a mesma, o que,
como mostrado, não ocorre. Uma maneira de contornar isso seria calcular a nota baseada
no radical de cada palavra. Assim, o par de palavras utilizado pela medida deveria ser
“estrel, astronom”.
Palavra 1 Palavra 2 UMass Ocorrênciasda palavra 1
Ocorrênciasda palavra 2
Coocorrência
estrela astronomia -0,61 7003 465 114estrelas astronomia -0,74 9308 465 84
Tabela 6.3: Exemplificação da necessidade de lematização na base de dados.
Ainda, é fácil notar que a qualidade semântica de um tópico passa pela escolha
cuidadosa de suas palavras. Como dito anteriormente, os avaliadores humanos que
anotaram a base fizeram a avaliação com base nas 10 primeiras palavras do tópico e em
suas notícias. O tópico “cpfl, spring, silver, eficiência, paulista, ferreira, ativos, clientes,
networks, distribuição”, por exemplo, foi anotado como válido por estar associado à
notícias que retratavam as palavras deste tópico. No entanto, sua coerência calculada com
a UMass é de ≠1, 65, abaixo da nota de corte escolhida para esta medida e, portanto,
sendo classificado como inválido. O mesmo acontece para os tópicos “idr, bbb, rating,
reafirmado, moeda, perspectiva, revisada, estrangeira, estável, s.a.” e “rufino, diretor-geral,
romeu, aneel, tarifária, agência, elétrica, edital, reavaliar, explicou”. Deve-se aprimorar o
pré-processamento para idenfiticar e remover siglas (“IDR”, “S.A.”) e termos que não sejam
considerados palavras válidos, como “BBB” (“BBB” é uma nota atribuída a empresas).
47
De uma maneira geral, foi notado que os tópicos anotados como válidos e classificados
como inválidos pela medida possuíam termos específicos. Uma forma de conferir menos
peso a esses termos é diminuindo o número de palavras do IDF utilizado na extração dos
tópicos. Isso permitirá uma extração com termos mais gerais.
Outro desenvolvimento a ser feito, é o aperfeiçoamento da base de dados com mais
avaliadores e a expansão do número de tópicos utilizados, de forma a compreender se
as análises realizadas nesse projeto podem ser generalizadas de modo a obter resultados
similares.
Por fim, pode-se sugerir a expansão das análise descritas nesse projeto para outros
idiomas. Espera-se que, ao menos para as línguas ocidentais, resultados similares sejam
obtidos.
Referências Bibliográficas
[1] BLEI, D. M., “Introduction to Probabilistic Topic Models”, Communications of the
ACM, , 2011.
[2] STEVENS, K., KEGELMEYER, P., ANDRZEJEWSKI, D., et al., “Exploring topic
coherence over many models and many topics”. In: Proceedings of the 2012 Joint
Conference on Empirical Methods in Natural Language Processing and Computational
Natural Language Learning, pp. 952–961, Association for Computational Linguistics,
2012.
[3] “The digital universe in 2020”,
Acessado em janeiro de 2016. http://www.emc.com/collateral/analyst-reports/
idc-the-digital-universe-in-2020.pdf.
[4] “TWIST PRESS”,
Acessado em janeiro de 2016. https://press.twistsystems.com/.
[5] “The future of storage”,
Acessado em janeiro de 2016. http://www.zdnet.com/article/the-future-of-
storage-2015-and-beyond/.
[6] “IBM 350”,
Acessado em janeiro de 2016. https://www.key4biz.it/pesi-massimi-1956-
operai-intenti-a-caricare-un-hard-drive-ibm-da-5-megabyte-peso-quasi-
1-000-kg-oggi-ospiterebbe-una-sola-foto-di-ottima-qualita/148398/.
[7] DEAN, J., GHEMAWAT, S., “MapReduce: Simplified Data Processing on Large
Clusters”, Commun. ACM, v. 51, n. 1, pp. 107–113, jan 2008.
49
[8] “Lucro do Facebook em 2014”,
Acessado em janeiro de 2016. http://investor.fb.com/releasedetail.cfm?
ReleaseID=893395.
[9] “Número de usuários do Facebook”,
Acessado em janeiro de 2016. http://investor.fb.com/releasedetail.cfm?
ReleaseID=908022.
[10] “CompusServe”,
Acessado em janeiro de 2016. http://webcenters.netscape.compuserve.com/
menu/.
[11] GILLIES, J., CAILLIAU, R., How the Web Was Born: The Story of the World Wide
Web. OXFORD, 2000.
[12] “Número de usuários na web”,
Acessado em janeiro de 2016. http://www.internetlivestats.com/internet-
users/\#trend.
[13] “Pesquisa sobre o número de usuários online e seus hábitos.”,
Acessado em janeiro de 2016. http://stateofthemedia.org/.
[14] “Audiência dos telejornais em queda.”,
Acessado em janeiro de 2016. http://www.economist.com/node/13642689.
[15] “Jornal do Brasil”,
Acessado em janeiro de 2016. www.jb.com.br.
[16] “A HISTORY OF JOURNALISM ON THE INTERNET: A state of the art and
some methodological trends”,
Acessado em janeiro de 2016.
http://revistainternacionaldehistoriadelacomunicacion.org/n%C3%
BAmeros-anteriores/item/download/63_3c074aafce5451dc31a846a0146f2b20.
[17] ZHANG, Y., DANG, Y., CHEN, H., et al., “Automatic online news monitoring
and classification for syndromic surveillance”, Decision Support Systems, v. 47, n. 4,
pp. 508 – 517, 2009. Smart Business Networks: Concepts and Empirical Evidence.
50
[18] TANEV, H., PISKORSKI, J., ATKINSON, M., “Real-time news event extraction for
global crisis monitoring”. In: Natural Language and Information Systems, Springer,
pp. 207–218, 2008.
[19] BLEI, D. M., “Probabilistic topic models”, Communications of the ACM, v. 55, n. 4,
pp. 77–84, 2012.
[20] NADEAU, D., SEKINE, S., “A survey of named entity recognition and classification”,
Lingvisticae Investigationes, v. 30, n. 1, pp. 3–26, 2007.
[21] “Eduardo Cunha autoriza abrir processo de impeachment de Dilma”,
Acessado em janeiro de 2016. http://g1.globo.com/politica/noticia/2015/
12/eduardo-cunha-informa-que-autorizou-processo-de-impeachment-de-
dilma.html.
[22] BLEI, D. M., NG, A. Y., JORDAN, M. I., “Latent dirichlet allocation”, the Journal
of machine Learning research, v. 3, pp. 993–1022, 2003.
[23] CHUANG, J., MANNING, C. D., HEER, J., “Termite: Visualization techniques
for assessing textual topic models”. In: Proceedings of the International Working
Conference on Advanced Visual Interfaces, pp. 74–77, ACM, 2012.
[24] PAPADIMITRIOU, C. H., TAMAKI, H., RAGHAVAN, P., et al., “Latent semantic
indexing: A probabilistic analysis”. In: Proceedings of the seventeenth ACM SIGACT-
SIGMOD-SIGART symposium on Principles of database systems, pp. 159–168, ACM,
1998.
[25] HOFMANN, T., “Probabilistic latent semantic indexing”. In: Proceedings of the
22nd annual international ACM SIGIR conference on Research and development in
information retrieval, pp. 50–57, ACM, 1999.
[26] WANG, X., GRIMSON, E., “Spatial latent dirichlet allocation”. In: Advances in
neural information processing systems, pp. 1577–1584, 2008.
[27] TEH, Y. W., NEWMAN, D., WELLING, M., “A collapsed variational Bayesian
inference algorithm for latent Dirichlet allocation”. In: Advances in neural information
processing systems, pp. 1353–1360, 2006.
51
[28] LIN, C.-B., “Projected gradient methods for nonnegative matrix factorization”, Neural
computation, v. 19, n. 10, pp. 2756–2779, 2007.
[29] ARORA, S., GE, R., MOITRA, A., “Learning Topic Models - Going beyond SVD”,
CoRR, v. abs/1204.1956, 2012.
[30] VACA, C. K., MANTRACH, A., JAIMES, A., et al., “A time-based collective
factorization for topic discovery and monitoring in news”. In: Proceedings of the 23rd
international conference on World wide web, pp. 527–538, ACM, 2014.
[31] STEYVERS, M., GRIFFITHS, T., “Probabilistic topic models”, Handbook of latent
semantic analysis, v. 427, n. 7, pp. 424–440, 2007.
[32] STEYVERS, M., GRIFFITHS, T., Latent Semantic Analysis: A Road to Meaning.
Laurence Erlbaum, 2007.
[33] CICHOCKI, A., ANH-HUY, P., “Fast local algorithms for large scale nonnegative
matrix and tensor factorizations”, IEICE transactions on fundamentals of electronics,
communications and computer sciences, v. 92, n. 3, pp. 708–721, 2009.
[34] LEE, D. D., SEUNG, H. S., “Algorithms for non-negative matrix factorization”. In:
Advances in neural information processing systems, pp. 556–562, 2001.
[35] BIRD, S., KLEIN, E., LOPER, E., Natural Language Processing with Python. O’Reilly
Media, 2009.
[36] GRAEL, F. F., ATLASOM: Processamento de Texto para a Gerência de uma Colabo-
raÊão Científica de Grande Porte. M.Sc. dissertação, UFRJ, 2013.
[37] KISS, T., STRUNK, J., “Unsupervised Multilingual Sentence Boundary Detection”,
Comput. Linguist., v. 32, n. 4, pp. 485–525, Dec. 2006.
[38] SALTON, G., WONG, A., YANG, C. S., “A Vector Space Model for Automatic
Indexing”, Commun. ACM, v. 18, n. 11, pp. 613–620, Nov. 1975.
[39] GREENE, D., O’CALLAGHAN, D., CUNNINGHAM, P., “How Many Topics? Stabi-
lity Analysis for Topic Models”, CoRR, v. abs/1404.4606, 2014.
52
[40] NEWMAN, D., LAU, J. H., GRIESER, K., et al., “Automatic evaluation of topic
coherence”. In: Human Language Technologies: The 2010 Annual Conference of
the North American Chapter of the Association for Computational Linguistics, pp.
100–108, Association for Computational Linguistics, 2010.
[41] “Wikipedia”,
Acessado em janeiro de 2016. https://www.wikipedia.com.
[42] MIMNO, D., WALLACH, H. M., TALLEY, E., et al., “Optimizing semantic coherence
in topic models”. In: Proceedings of the Conference on Empirical Methods in Natural
Language Processing, pp. 262–272, Association for Computational Linguistics, 2011.
[43] HAN, L., FININ, T., MCNAMEE, P., et al., “Improving word similarity by augmenting
PMI with estimates of word polysemy”, Knowledge and Data Engineering, IEEE
Transactions on, v. 25, n. 6, pp. 1307–1322, 2013.
[44] BOUMA, G., “Normalized (pointwise) mutual information in collocation extraction”,
Proceedings of GSCL, pp. 31–40, 2009.
[45] “MediaWiki”,
Acessado em janeiro de 2016. https://www.mediawiki.org/wiki/MediaWiki.
[46] “WikiExtractor”,
Acessado em janeiro de 2016. https://github.com/attardi/wikiextractor.
[47] “Elasticsearch”,
Acessado em janeiro de 2016. https://www.elastic.co/products/elasticsearch.
[48] “Lucene”,
Acessado em janeiro de 2016. https://lucene.apache.org/core/.
[49] FERREIRA, F. G. a., Identificação de eventos baseada na combinação de detectores
de altas energias com diferentes tecnologias e segmentações. M.Sc. dissertação, UFRJ,
2012.
[50] FREEDMAN, D., DIACONIS, P., “On the histogram as a density estimator: L 2
theory”, Probability theory and related fields, v. 57, n. 4, pp. 453–476, 1981.