• Nenhum resultado encontrado

PROCESSAMENTO DE TEXTO

N/A
N/A
Protected

Academic year: 2021

Share "PROCESSAMENTO DE TEXTO"

Copied!
73
0
0

Texto

(1)

SSIIM 2012/2013

Jorge Teixeira, Gustavo Laboreiro, Luís Sarmento, Eugénio Oliveira

PROCESSAMENTO DE TEXTO

(2)

1. Text Mining 2. Media na web: • Dados • Extracção • Processamento • Visualização

3. Casos de estudo / projectos:

• Verbetes

• Voxx

• MVDi

4. Projectos SSIM

(3)

1. Twitter

2. Projectos de Visualização 3. Análise de Redes Sociais

4. Análise do conteúdo das mensages 5. Como trabalhar com Social Media 6. Projectos SSIM

(4)

PARTE 1

Extracção de Informação Aprendizagem Automática Visualização de Informação

(5)

PROCESSAMENTO DE TEXTO

(6)

Text mining é uma sub-área do “Data Mining”

Pode ser definido como uma ciência que trata o processamento de

informação (texto)

Processamento que se espera de elevada qualidade

-

relevância

-

novidade

-

interesse

(7)

Envolve técnicas como:

-

Extracção de entidades

-

Extracção de padrões

-

Categorização de texto

-

Clustering de texto

-

Análise de sentimento

-

Sumarização de textos

TEXT MINING

(8)
(9)

ARQUITECTURA

Dados

Extracção Informação

Processamento Informação

(10)
(11)
(12)

Agregadores de notícias

(13)

Extracção de tweets

EXTRACÇÃO DE INFORMAÇÃO

WebServer' OSGI' Container' REST'API' WebSocket' UI' subs' subs' topics'by'scope' Ka>a' Hadoop' HDFS' Graph' etc'

(14)

The News.me Daily Email finds the best stories from your Twitter stream”

PROCESSAMENTO DE INFORMAÇÃO

“paper.li enables people to publish

newspapers based on topics they like and treat their readers to fresh news, daily”

(15)

Recomendação de notícias

(16)

Alinhamento de notícias em várias línguas

(17)
(18)

Identificação de citações em notícias

(19)

Identificação de entidades no twitter

(20)

Identificação de sentimento em comentários do Facebook

(21)

Geo-referenciação/localização de notícias

(22)

VISUALIZAÇÃO DE INFORMAÇÃO

(23)

Timeline de notícias (247.liberi.it)

(24)

Wordcould de tópicos (Jornal de Negócios)

(25)

Redes de tópicos e personalidades em notícias (247.liberi.it)

(26)

Redes de entidades (dirtyenergymoney.com)

(27)

Redes de entidades nas notícias - MVDi (voxx.sapo.pt/mvdi)

(28)

Sentimento dos portugueses nas legislativas 2011 (dados do twitter)

(29)

Popularidade de equipas/jogadores no Euro2012 (dados do twitter)

(30)

Sentimento dos portugueses relativo a um comentário de Pedro Passos Coelho no Facebook

(31)
(32)

VERBETES

(33)

Serviço para pesquisa biográfica de entidades (pessoas, organizações)

Este serviço responde a perguntas como:

-

Quem é Alberto João Jardim?

-

Qual a profissão/cargo de Paulo Portas em Julho 2011? e hoje?

-

Quem é o ministro da defesa de Israel?

(34)

Paulo Bento: selecionador nacional

Rui Bento: treinador Beira Mar

Vítor Bento: economista

(35)

Com base no contexto (notícia, blog, tweet, etc)

Nomes: Paulo Bento

Cargos/profissões: selecionador nacional

Acrónimos e tags: futebol ou economia

Rede de co-ocorrências: José Mourinho

(36)

Com quem co-ocorreu Paulo Bento de Outubro de 2010 até hoje?

Tendências de co-ocorrências entre

Paulo Bento e Jorge Jesus entre Setembro 2011 até hoje?

(37)

Sistema baseado em padrões existentes nas notícias:

-

O primeiro ministro, Pedro Passos Coelho, ....

-

… o ex-primeiro ministro José Sócrates, …

-

O candidato presidencial Fernando Nobre...

-

O eurodeputado Capoulas Santos ...

-

Nuno Santos é o novo director de informação da RTP.

(38)

Identifica nomes de personalidades (candidatos) das notícias

Extraí tuplos das notícias com base em padrões

-

[ Paulo Bento; Selecionador Nacional; 2010-10-01; 2011-10-04 ]

Identifica nomes alternativos (Pedro Passos Coelho, Passos Coelho, Passos)

Classifica os tuplos como pessoa, organizacão ou outro

Guarda os tuplos numa BD MySQL e fornece os dados via WS

(39)

Catálogo de serviços do sapo:

services.sapo.pt >> InformationRetrievel

Métodos:

WhoIs?name=Paulo Portas&date=2010-07-01

WhoIs?job=ministro da defesa de Israel

GetPersonalities[?min=5]

GetErgos[?min=5]

GetCoOccurrences?name=PauloPortas&begin_date=...&end_date=...

GetCoOccurrencesTrends?name1=...&name2=...&begin_date=...&end_date=...

• Combinação de parâmetros: name, name_like, job, job_like, date, margin, format

• Flags: inactive, dead

(40)

35 000 nomes distintos

72 000 tuplos <nome,cargo>

3 000 nomes com mais de 4 ocorrências

8 000 tuplos <nome,cargo> com mais de 5 ocorrências

2 5000 nomes alternativos

(41)

Voxx

MVDi

Semantic Lists

Sapo

LIACC/FEUP

outros projectos / dissertações

(42)

VERBATIM / VOXX

EXTRACÇÃO AUTOMÁTICA DE CITAÇÕES EM NOTÍCIAS

gmalta gmalta

(43)

MOTIVAÇÃO

Actualmente existe um fluxo gigantesco de notícias que são publicadas

diariamente em sites web

Como organizar toda esta informação e torná-la útil do ponto de vista

humano?

Como criar histórico de citações?

Como seguir tópicos ou personalidades?

Como identificar tópicos ou personalidades activas/quentes?

gmalta gmalta

(44)

TECNOLOGIAS BASE

Recolha de notícias

Extracção de citações

Classificação automática de notícias

Interface dinâmico

gmalta gmalta

(45)

RECOLHA DE NOTÍCIAS

Stream de dados fornecidos pelo Sapo

<?xml version="1.0" encoding="UTF-8"?>

<document timestamp="2010-10-13T21:04:14.701Z" isnew="false"> <channel-title>www.ocastanheirense.com</channel-title>

<url>http://www.ocastanheirense.com/1832/noticias.html</url> <hostname>www.ocastanheirense.com</hostname>

<pubdate>2010-10-10T02:58:21Z</pubdate>

<title>Paulo Portas visitou Castanheira de Pera</title>

<body>O Município de Castanheira de Pera comemorou mais um aniversário do 25 de Abril. O hastear da Bandeira, com a presença de entidades civis, GNR e escolta dos Bombeiros Voluntários, abriu as solenidad$

<lang>pt</lang> <categories/> <images/> <geo> <local> <name>Pedrógão Grande</name> <district id="10">Leiria</district>

<municipality id="1013">Pedrógão Grande</municipality> <parish id="101302">Pedrógão Grande</parish>

</local> </geo>

</document>

gmalta gmalta

(46)

RECOLHA DE NOTÍCIAS

Consumir o stream de dados

Armazenar os dados em BD indexadas

Estruturar a BD para escrita menos frequente e leitura muito frequente

Estruturar a BD (tabelas) para pesquisas rápidas

Utilizar crons para repetir o processo horiariamente

3000 a 3500 notícias / dia

gmalta gmalta

(47)

RECOLHA DE NOTÍCIAS

gmalta gmalta 0" 500" 1000" 1500" 2000" 2500" 3000" 3500" 4000" 4500" 9/1/11" 9/4/11" 9/7/11" 9/10/11" 9/13/11" 9/16/11" 9/19/11" 9/22/11" 9/25/11" 9/28/11"

(48)

O que são citações?

EXTRACÇÃO DE CITAÇÕES

gmalta gmalta

(49)

EXTRACÇÃO DE CITAÇÕES

Como são identificadas?

“José Sócrates afirmou que o crescimento ... da recuperação económica.” 1. A citação inicia-se com o nome próprio (neste caso nome de pessoa) 2. Segue-se um verbo de comunicação

3. Termina num ponto final

gmalta gmalta

(50)

EXTRACÇÃO DE CITAÇÕES

Baseia-se em regras (expressões regulares)

1. Cada nova notícia é analisada

2. Se for identificada uma citação na notícia

3. Citação é extraída e armazenada numa BD 4. Processo repetido até finalizar a notícia

5. Executado horariamente até terminarem as novas notícias

17 categorias de regras, 118 verbos de comunicação

gmalta gmalta

(51)

Como resolver o problema de notícias / citações duplicadas?

EXTRACÇÃO DE CITAÇÕES

gmalta gmalta

(52)

EXTRACÇÃO DE CITAÇÕES

É um problema grave

Extracção de Conteúdos: Duplicados

•  "40% das citações extraídas têm pelo menos um duplicado.

00% 10% 20% 30% 40% 50% 60% 70% 1 2 3 4 5 6 7 8 Group size gmalta gmalta

(53)

EXTRACÇÃO DE CITAÇÕES

Estratégias típicas de remoção de duplicados:

1. Cada nova notícia é comparada com as notícias já recolhidas e temporalmente próximas (aprox. 15 dias)

2. Sempre que a sobreposição entre duas notícias é grande é criado um grupo de notícias duplicadas

3. Este processo repete-se horariamente e até terminarem novas notícias 4. Só será processada uma notícia de cada grupo de duplicados

gmalta gmalta

(54)

CLASSIFICAÇÃO DE NOTÍCIAS

Como atribuir automaticamente um tópico / tema para uma notícia?

Usar as taggs atribuídas pelos jornalistas?

Usar as secçoes dos jornais onde são publicadas as notícias?

Usar “pistas” presentes nos títulos das notícias?

Usar palavras-chave nas notícias?

gmalta gmalta

(55)

CLASSIFICAÇÃO DE NOTÍCIAS

Como funciona a classificação automática de texto?

1. É criado um conjunto de exemplos positivos

2. A partir deste conjunto é criado um modelo de classificação 3. O modelo é depois aplicado a notícias (documentos teste)

4. Com base nos modelos previamente treinados, o sistema retorna um possível tópico para a notícia (com um valor de probabilidade)

5. Tópico aceite se o valor de probabilidade obtido acima do threshold

gmalta gmalta

(56)

CLASSIFICAÇÃO DE NOTÍCIAS

Como criar o conjunto de exemplos positivos?

1. Identificar tópicos a partir de padrões típicos no título

Problemas / desafios com esta técnica:

“Dia 20 de Junho: Marchas populares em Palmela”

“Paulo Portas: Banco de Portugal precisa ...”

gmalta gmalta

(57)

CLASSIFICAÇÃO DE NOTÍCIAS

Classificadores usados:

1. k-Nearest Neighbour 2. Rocchio

3. Support Vector Machines

Notícias novas classificadas horáriamente

Modelos treinados diariamente

gmalta gmalta

(58)

CLASSIFICAÇÃO DE NOTÍCIAS

Porquê 3 classificadores?

Tópicos pouco-equilibrados

Classificação: Estatísticas

•  " 40% das citações extraídas são classificadas

•  Distribuição das citações pelos tópicos:

30 0 100 200 300 400 500 600 Futebol L eg is la tiv as P SD E u ro p eia s BPN EUA Freeport Educação P S C ris e G u in é-B is sa u BPP Prove dor L is bo a Q im on d a M éd io O rie n te M ad eir a Gov erno A u tá rq u ic as /L is bo a EU De sp or to Irão G rip e A H 1N 1 Ju st iç a Sp or tin g C on ju n tu ra Açore s gmalta gmalta

(59)

DEMONSTRAÇÃO

gmalta gmalta

(60)

MVDI

MUNDO VISTO DAQUI INTERACTIVO

gmalta gmalta

(61)

OBJECTIVOS

MVDi é um sistema de extracção e visualização de redes a partir de dados

extraídos de notícias

1. Identificação de relações entre personalidades públicas que co-ocorrem em notícias

2. Visualização interactiva

3. Informação actualizada horariamente

Aplicações jornalísiticas

1. Jornalismo investigacional

(62)

DEMONSTRAÇÃO

gmalta

(63)

REDE EGO-CÊNTRICA

Nós representam ocorrências de personalidades (nomes) nas notícias

-

Tooltips com informação adicional para cada personalidade

Arestas representam co-ocorrências entre personalidades

-

Lista de notícias onde duas personalidades co-ocorreram

Rede ego-cêntrica: rede centrada (focada) numa única personalidade

Não é uma rede direccional

(64)

REDE EGO-CÊNTRICA

(65)

CO-OCORRÊNCIAS

Para cada notícia:

1. Identificar as ocorrências:

- “Passos Coelho diz ser cedo para avaliar ajuda de emergência à Madeira”

- “A preservação do euro faz parte do nosso mandato” e, para fazê-lo, “estamos abertos e não temos

tabus”, acrescentou o presidente do BCE.

2. Guardar as ocorrências no MySQL

- <news_id, news_date, name, counter>

3. Identificar as co-ocorrências e guardar no MySQL

- <news_id, news_date, name_1, name_2, counter> - <news_id, news_date, name_2, name_1, counter>

(66)

ALGUMAS ESTATÍSTICAS

Cerca de 30 000 co-ocorrências por semana

1000 ~ 1500 ocorrências de nomes diferentes por semana

Cerca de 150 000 co-ocorrências por mês

2000 ~ 3000 ocorrências de nomes diferentes por semana

(67)

INTERFACE WEB

Rede interactiva

Processamento client-side

JSONp para recolher os dados dos web-services

Uso de tecnologias web standard (HTML, CSS, SVG, JavaScript)

Plataformas javascript open-source (D3.js and jQuery)

Visualização baseada em SVG para uma melhor interacção do utilizador e permitir designs customizáveis

(68)

INTERFACE WEB

Aspectos de interacção:

-

Nós arrastáveis

-

Clique no nó/aresta para obter informações adicionais

-

Para a rede antes da estabilização

-

Zoom in / zoom out

Aspectos de navegação:

-

Navegação através de redes ego-cêntricas diferentes

-

Escolha livre de nomes e intervalos temporais

(69)

SSIM

(70)

TÓPICOS DE INVESTIGAÇÃO

Extracção de informação

Identificação e extracção de citações e descrições biográficas

Identificação de entidades (nomes de pessoas e organizações)

Desambiguação de entidades

Identificação de possíveis tópicos para notícias

Aprendizagem Automática (Machine Learinig)

(71)

RECURSOS

Notícias publicadas em sites de notícias portugueses

Citações de personalidades públicas

Comentários de notícias

Tweets (mensagens de utilizadores portugueses e perfis)

Listas de personalidades, co-menções, etc (Verbetes)

Listas de profissões, nacionalidades, palavrões, etc (SemanticLists)

(72)

PROJECTOS

• Fusão de descritores de entidades (Verbetes)

• Classificação de entidades (Verbetes)

• Identificação de notícias (quase) duplicadas

• Identificação de eventos a partir de tweets (euro2012, jogos olímpicos, etc.)

• Identificação da polaridade de comentários de notícias

(73)

LINKS & CONTACTOS

Voxx: http://voxx.sapo.pt MVDi: http://voxx.sapo.pt/mvdi Verbetes: http://services.sapo.pt -> InformationRetrievel/Verbetes SemanticLists: http://services.sapo.pt -> InformationRetrievel/SemanticLists NewYorkTimesLab: http://nytlabs.com NewsExplorer: http://emm.newsexplorer.eu/NewsExplorer/

Visual Complexity: http://www.visualcomplexity.com

Referências

Documentos relacionados

Quem pretender arrematar dito(s) bem(ns) deverá comparecer no local, no dia e na hora mencionados, ou ofertar lances pela Internet através do site

Esta realidade exige uma abordagem baseada mais numa engenharia de segu- rança do que na regulamentação prescritiva existente para estes CUA [7], pelo que as medidas de segurança

vernáculo. A par do talento incomum, trazia um canto novo, brasileiro pelo menos n os motivos e modos de expressão. Nele se estampa um langor, um contraste violento entre extremos

Estudo do sistema nervoso simpático e parassimpático através da análise da variabilidade de freqüência cardíaca e verificação da incidência de sonolência diurna em

76 e 77 são importantíssimas no estudo da isolação de vibração pois elas definem a quantidade de movimento transmitida pela base para a massa m por unidade de movimento de entrada

O grafo de ligação do modelo proposto foi obtido através do cálculo dos potenciais característicos relacionados com as variáveis independentes do problema, densidade e velocidade,

Assim, dentro de uma intenção maior de preservar a sustentabilidade da maricultura no município de Penha e, por conseqüência, em todo o estado, realizamos este trabalho

História Protótipo Casos de Teste Refinamento Planning Build Geração de Massa Testes Homologação Responsável: time de QA Entradas: • Histórias; • Protótipos; • Casos