PROCESSAMENTO DE TEXTO (TEXT MINING) Jorge Teixeira IART 2014/2015
SAPO LABS ( http://labs.sapo.pt )
AGENDA (Enquadramento na UC de Inteligência Artificial - IART) Parte 1: Introdução à Linguagem Natural Computacional (Secção VI) Processamento de texto (Text Mining) e Processamento da Linguagem Natural Media na Web Parte 2: Aprendizagem Automática (Secção VII) Conceitos gerais de Machine Learning k-nearest Neighbour e Support Vector Machines Caso de estudo
PARTE I INTRODUÇÃO À LINGUAGEM NATURAL COMPUTACIONAL
TEXT MINING PROCESSAMENTO DA LINGUAGEM NATURAL
TEXT MINING stands for? Text mining é uma sub-área do Data Mining Ciência que trata o processamento de informação (texto) Processamento que se espera de elevada qualidade - relevância, novidade, interesse
TEXT MINING - Técnicas Extracção de padrões Extracção de entidades Categorização de texto Clustering de texto Análise de sentimento Sumarização de texto Visualização de informação
TEXT MINING - Aplicações Internet (online media, social media) TV (user experience) Publicidade Saúde Segurança Smart cities E-learning
MEDIA NA WEB
ARQUITECTURA Dados Extracção Informação Processamento Informação Visualização Informação
MEDIA NA WEB DADOS
NOTÍCIAS
REDES SOCIAIS
MEDIA NA WEB EXTRAÇÃO DE INFORMAÇÃO
DISPONIBILIDADE DOS DADOS
MEDIA NA WEB PROCESSAMENTO DE INFORMAÇÃO
EXTRAÇÃO DE PADRÕES ( http://maquinadotempo.sapo.pt )
EXTRAÇÃO DE ENTIDADES ( http://maquinadotempo.sapo.pt ) ( http://jornaldenegocios.pt )
RECOMENDAÇÃO DE CONTEÚDO ( http://expresso.sapo.pt ) ( http://lifestyle.sapo.pt )
ANÁLISE DE SENTIMENTO ( http://popstar.pt )
MEDIA NA WEB VISUALIZAÇÃO DE INFORMAÇÃO
TWITTEURO ( http://twitteuro.sapo.pt )
MUNDO EM PESSOA ( http://fernandopessoa.labs.sapo.pt )
LÚSICA ( lusica.labs.sapo.pt )
UM PAÍS COMO NÓS ( http://umpaiscomonos.labs.sapo.pt )
MÁQUINA DO TEMPO ( máquinadotempo.sapo.pt )
GRANDE ÁREA ( http://grandearea.desporto.sapo.pt )
PARTE II APRENDIZAGEM AUTOMÁTICA
Conceitos Gerais Sistemas de aprendizagem automática (ML) aprendem automaticamente a partir de características dos dados. A B C?
Conceitos Gerais ML é usada na classificação de conteúdos, filtros de spam, sistemas de recomendação, posicionamento de anúncios, fraude em transações electrónicas, etc. Vamo-nos focar na classificação, um dos principais tipos de ML Um classificador é um sistema que recebe (tipicamente) vectores discretos e/ou contínuos de características (features) e retorna um ou várias classe. Exemplo: sistema de filtro de spam Principais tipos de algoritmos: supervisionados, não-supervisionados e semi-supervisionados A capacidade de generalização do classificador é um dos principais fatores associados à qualidade de um classificador A quantidade de dados nem sempre corresponde a uma melhoria da classificação
Conceitos Gerais Learning = Representation + Evaluation + Optimization ( Pedro Domingos. 2012. A few useful things to know about machine learning. Communications of the ACM, Volume 55, Issue 10, Pages 78-87. October 2012. )
Conceitos Gerais http://peekaboo-vision.blogspot.pt/2013/01/machine-learning-cheat-sheet-for-scikit.html
k-nearest Neighbour K-NN classifica um exemplo de teste a partir da pesquisa dos k exemplos de treino (vizinhos) mais semelhantes e atribui (prevê) a classe maioritária. Os exemplos de treino são vectores de features num espaço multi-dimensionais, cada um deles com uma classe atribuída. Métricas típicas: distância Euclidiana e distância de Hamming http://www.byclb.com/tr/tutorials/neural_networks/ch11_1_dosyalar/image087.jpg
Support Vector Machines Para um dado conjunto de dados de input, prevêem qual das duas classes possíveis caracteriza melhor cada exemplo de teste. É tipicamente um problema de classificação binário. Um modelo SVM é uma representação de pontos no espaço multidimensional, mapeados de tal forma que seja possível criar uma área de separação (margem) entre dois conjuntos de pontos. Cada uma destas áreas representa uma classe.
Support Vector Machines A margem entre as classes deve ser a maior possível Os vectores de suporte são vectores perpendiculares ao hiper-plano de separação (margem) que partem do ponto mais próximo de cada uma das classes. SVMs suportam classificação não-linear através de kernels também não lineares.
CASO DE ESTUDO
VERBETES EXTRACÇÃO AUTOMÁTICA DE MICRO-BIOGRAFIAS
O que é o Verbetes? 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?
Abordagem usada Abordagem: Identificar nomes de personalidades de notícias Extraír tuplos das notícias com base em padrões [ Pedro Passos Coelho; Primeiro ministro; 2011-06-21; hoje ] Identificar nomes alternativos (Passos Coelho, Passos) Classificar os tuplos como pessoa, organizacão ou outro
Desafios Desafios: Desambiguação: - Paulo Bento: seleccionador nacional - Rui Bento: treinador do Beira-Mar - Vítor Bento: economista Inclusão de outras entidades (organizações): - Alfredo da Costa - Jerónimo Martins
Tecnologias usadas Tecnologias usadas: Sistema baseado em padrões existentes nas notícias: - O primeiro ministro, Pedro Passos Coelho,... - o ex-primeiro ministro José Sócrates, Baseado essencialmente em técnicas de processamento de linguagem natural e aprendizagem automática. Utilização de CRFs (Conditional Random Fields): - Para a identificação de entidades no texto
CONDITIONAL RANDOM FIELDS Dictionary-based annotation C news N initial Iteration 0 Bootstrapping CRF on news Bootstrapping CRF on HAREM N initial + 0,80 Baseline dictionary on news Baseline CRF on news C i Annotate C i with L i & new iteration (i ++) sum(l i ) F-measure 0,70 0,60 0,50 0,40 C i => Features 0,30 0,20 M i 0,10 Test model on C i & Identify new names No 0,00 1 2 3 4 5 6 7 8 9 10 11 12 Bootstrapping Iteration Stable? Yes NER model L i Jorge Teixeira, Luís Sarmento, Eugénio Oliveira. (2011) A Bootstrapping Approach for Training a NER with Conditional Random Fields Progress in Artificial Intelligence (LNAI 7026), 15th Portuguese Conference on Artificial Intelligence, EPIA 2011, Lisbon, Portugal, October 10-13, 2011, pp. 664-678
RECURSOS DISPONÍVEIS 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) Listas de palavras polarizadas (sentiment analysis)
PROJETOS IART 14/15 Extracção de informação Extracção de outros descritores (projecto Verbetes) Normalização de tópicos ( OE2014 vs Orçamento de Estado 2014 ) Criação de perfis opinativos a partir dos tweets e comentários Aprendizagem Automática (Machine Learinig) Hierarquização de tópicos ( Desporto, Futebol e Liga Sagres ) Identificação de citações com CRFs
Q&A Jorge Teixeira - jft@fe.up.pt http://jorgeteixeira.me Sala i124 - Labs Sapo / UP