Conditional random fields Renato Assunção DCC - UFMG
Named Entity Recognition A tarefa de reconhecimento de entidades nomeadas em textos e a a tarefa de identificar todos as instancias num texto de: locais com nomes Pessoas com nomes Organizações com nomes datas, Tempos, quantidades monetárias E porcentagens
Pessoas com nomes?? Locais com nomes?? Pessoas com nomes?? O prisioneiro sentiu-se mal e foi levado para a enfermaria. La, ele foi colocado numa maca esperando pelo medico que deveria trazer... O prisioneiro russo, Dimitri Kowalski, sentiu-se mal e foi levado para a enfermaria. La, ele foi colocado numa maca esperando pelo Dr. Pedro Silva, o medico da penitenciaria, que deveria trazer...
NERC: label types MUC (Message Understanding Conferences) e MET (Multilingual Entity Task) definiram as entidades de interesse: Entidade (ENAMEX): pessoas, organizações, locais Expressões de tempo (TIMEX): data, tempo ( quinta-feira não conta; marco de 2012 conta) Expressões numéricas (NUMEX): dinheiro, porcentagem
1- fácil: palavra-chave Co. indica fortemente que existe uma companhia no texto 2 fácil: nome encurtado (alias): previsível 3 fácil: acrônimo (JVC) 4 e 5 mais difícil: não há dicas nos nomes de que eles são companhias: e o contexto (sublinhado) que permite identificar isto. 6 difícil: o problema e o erro no texto, o nome MATSUSHITA EILL não e uma companhia mas MATSUSHITA e (Matsushita Electric Industrial Co., Ltd.)
Tipos de Entidades Pessoas: Políticos, Artistas, Desportistas, Criminosos, Professores, Juristas, Escritores, Cientistas, Personagens, etc. Locais: Países, município, cidades, bairros, aeroportos, museus, ilhas, monumentos, hotéis, rios, oceanos, etc. Organizações: Instituições, Partidos políticos, Federações, Associações, Sindicatos, Clubes, Entidades, Empresas, Cooperativas, etc.
Disambiguation Apple: a companhia ou a fruta? Lula: o presidente ou o molusco? Jose Serra, Serra da Mantiqueira,...
NERC Named Entity Recognition and classification Métodos podem ser usados em tarefas mais gerais: Sequencia de palavras contiguas onde o contexto local contem informação suficiente para identificar cada palavra em uma classe. Agora: não só sequencias mas também imagens (não veremos isto).
Métodos de Machine Learning para NERC Classificação supervisionada: Hidden Markov Models Decision Trees Maximum entropy models Support vector machines (SVM) Conditional random fields (CRF) Classificação semi-supervisionada Classificação não-supervisionada
Classificação supervisionada Le um grande corpus de documentos anotados. Isto e, um conunto de documentos onde, para cada palavra, temos a entidade nomeada reconhecida. Treinamos um algoritmo, uma regra de decisão para decidir, em cada documentopalavra, qual a sua entidade. Aplicamos a regra em documentos nãoanotados ( novos documentos).
Critérios de avaliação Precisão: Probab( ser label L prediz label L) Quando prediz label L posso confiar? variando entre 70% e 90% Recall: Probab( prediz label L e label L) Quando e lalebl L vai capturar corretamente? 76% para nomes de locais 49% para nomes de organizacoes 26% para nomes de pessoas
Fatores afetando a avaliação Altamente dependente do: gênero do texto (ornalístico, cientifico, informal (conversa de telefone, email pessoal),...) domínio (esportes, política, negócios, ardinagem, cultura,...) Sistemas criados para um domínio não se comportam bem em outro sistema. Transferência de vocabulário: proporção de palavras, sem repetições, que aparecem na base de treinamento e na base de teste: 42% de nomes de locais, 17% de nomes de organizações e 13% de nomes de pessoas
Features Features are descriptors or characteristic attributes of words designed for algorithmic consumption. An example of a feature is a Boolean variable with the value true if a word is capitalized and false otherwise. Feature vector representation is an abstraction over text where typically each word is represented by one or many Boolean, numeric and nominal values.
Toy example For example, a hypothetical NERC system may represent each word of a text with 3 attributes or FEATURES: 1) a Boolean attribute with the value true if the word is capitalized and false otherwise; 2) a numeric attribute corresponding to the length, in characters, of the word; 3) a nominal attribute corresponding to the lowercased version of the word.
Toy example EACH WORD GENERATES VALUES FOR 3 FEATURES 1) a Boolean attribute with the value true if the word is capitalized and false otherwise; 2) a numeric attribute corresponding to the length, in characters, of the word; 3) a nominal attribute corresponding to the lowercased version of the word. Neste cenário, excluindo a pontuação, considere a sentença: The president of Apple eats an apple
Regra de classificação baseada em features Imagine que, para cada palavra, temos varias features. Uma regra muito simples para classificação de uma palavra baseada em features poderia ser: Se palavra começar com maiúscula, Se palavra não estiver no inicio de uma sentença, Se for seguida por Co., Inc., co. Então palavra será parte de nome de companhia. Quais as features? Como usa-las de fato?
-ist e sinal de profissão
List lookup features Listas de palavras identificadas. Lista de cidades Lista de celebridades Lista de paises, etc. Feature da lista cidades : para cada palavra, vale 0 ou 1 dependendo da palavra estar ou não na lista. Lista = gazeeter, lexicon, dictionary Estar na lista não e suficiente para determinar a classificação: Paris e cidade mas e também nome de uma pessoa (Paris Hilton) e nome de cachorro e...
Exemplos de features = posição da palavra no texto x = a palavra do texto y = tag da palavra do texto (tag de x ) Em CRF, features são TIPICAMENTE funções BINARIAS do seguinte tipo: f y 1, y, x, Features estão associadas a palavra do texto, dependem de TODO O TEXTO, e dependem de dois TAGS, aqueles atribuídos as palavras -1 e Muitas (centenas, milhares) de features num texto
Exemplos de features x = palavra do texto y = tag da palavra do texto (tag de x ) f y f f 1, y y y 1, 1,, x, y y, x,, x, 1, se x 0, 1, se x 0, 1, se x 0, lista locais e y caso contrario e' toda maiuscula e y caso contrario e' toda maiuscula e y caso contrario PLACE Organizacao Pessoa f y 1, y, x, 1, 0, se x 2 termina em "-ist"e y 1 caso contrario ou y Pessoa