1 mixture model for named entities alunos: carlos eduardo portela susana r. s. velloso
TRANSCRIPT
1
Mixture Model For Named Entities
Alunos: Carlos Eduardo PortelaSusana R. S. Velloso
2
Motivação
Comparar os resultados obtidos com as outras técnicas (TBL, SVM, HMM) de Extração de Entidades Nomeadas do Português.
3
Metodologia O Corpus utilizado será o LearnNmd06.
Os indicadores utilizados serão:
Precisão: Total de relações corretamente classificadas / Total de relações classificadas
Abrangência: Total de relações corretamente classificadas / Total de relações existentes
F1: Média harmônica entre a precisão e a abrangência
4
Plano inicial
Análise do Corpus Algoritmo para geração do modelo Adicionar amostras não classificadas Comparação dos valores calculados com
uma base já classificada para encontrar os parâmetros: precisão, abrangência e F1.
5
Documento X Token Aplicação natural do modelo de misturas
Objetivo: classificação do documento Documentos Palavras que ocorrem nos documentos (Léxico) Contagem de ocorrência de cada palavra em cada
documento Caso de Entidades Nomeadas
Objetivo: classificação do Token Documentos contendo diversos tokens (Palavras) Token inserido em um texto
6
Solução adotada
Documentos divididos em sentençasCada sentença tem diversas palavras e
apenas uma entidade nomeada (NPROP)
A classificação da sentença será igual a classificação deste token
7
Formato inicial do Corpus[features = word, pos, np, ne]
#0 - 0:0De_PREP_O_Oseus_PROADJ_I_O111_NUM_I_Omunicípios_N_I_O,_,_O_O94_NUM_O_Osão_VAUX_O_Oconsiderados_PCP_O_Ode_PREP_O_O"_"_O_Oalta_ADJ_I_Omarginalização_N_I_O"_"_O_O,_,_O_Ode=acordo=com_PREP_O_Oum_ART_I_Oinforme_N_I_Ode_PREP_I_Oo_ART_I_OConselho=Nacional=da=População_NPROP_I_COM._._O_O
#1 - 1:1A_ART_I_Oprogramação_N_I_Ode_PREP_I_Ovendas_N_I_Ofoi_VAUX_O_Oaberta_PCP_O_Oem_PREP_O_Oo_ART_I_Odia_N_I_O26_N_I_Ode_PREP_I_Oagosto_N_I_O,_,_O_Oem_PREP_O_Oo_ART_I_OParque=da=Água=Branca_NPROP_I_PLA,_,_O_Oem_PREP_O_OSão=Paulo_NPROP_I_PLAcom_PREP_O_Oo_ART_I_Oleilão_N_I_OMarcas=Nobres_NPROP_I_O._._O_O
8
Análise do corpus Importação para uma tabela de banco utilizando
separador de coluna ‘_’ Coluna ‘Linha’ contador Acrescentadas as colunas ‘Sentenca’ e ‘neSentenca’
Corpus
Linha intPalavra varchar(255)Pos varchar(10)np varchar(1)ne varchar(3)Sentenca varchar(255)neSentenca varchar(3)
Column Name Data Type Allow Nulls
9
Análise do corpusEx: Linha Palavra Pos np ne Sentenca neSentenca
1 #0 - 0:0 NULL NULL NULL2 De PREP O O3 seus PROADJ I O4 111 NUM I O5 municípios N I O6 , , O O7 94 NUM O O8 são VAUX O O9 considerados PCP O O10 de PREP O O11 _ O O NULL12 alta ADJ I O13 marginalização N I O14 _ O O NULL15 , , O O16 de=acordo=com PREP O O17 um ART I O18 informe N I O19 de PREP I O20 o ART I O21 Conselho=Nacional=da NPROP I COM22 . . O O
10
Análise Corpus Separação em Sentenças com apenas uma entidade nomeada
Ex: Linha Palavra Pos np ne Sentenca neSentenca 384 #16 - 16:16 NULL NULL NULL NULL NULL 385 O ART I O #16 - 16:161 PER 386 premiê N I O #16 - 16:161 PER 387 Murayama NPROP I PER #16 - 16:161 PER 388 manifestou V O O #16 - 16:161 PER 389 otimismo N I O #16 - 16:161 PER 390 quanto=a PREP I O #16 - 16:161 PER 391 as ART I O #16 - 16:161 PER 392 conversações N I O #16 - 16:161 PER 393 com PREP I O #16 - 16:161 PER 394 os ART I O #16 - 16:162 PLA 395 EUA NPROP I PLA #16 - 16:162 PLA 396 sobre PREP I O #16 - 16:162 PLA 397 comércio N I O #16 - 16:162 PLA 398 . . O O #16 - 16:162 PLA
11
Análise Corpus Criação das tabelas:
Classes PER PLA COM O
Pos
Palavras
Palavra
palavraID intpalavra varchar(255)
Column Name Data Type Allow Nulls
Classe
ClasseID intDescrição varchar(50)Sigla varchar(3)
Column Name Data Type Allow Nulls
12
Algoritmo EM Expectation Step
p = quantidade de palavras i = quantidade de sentenças j = quantidade de classes nip = número de vezes que aparece a palavra p na sentença i ij
t = 1 ou 0 dependendo da classe do exemplo
ijt = j
t.fj(xi|j1t,…,jp
t) / l lt.fl(xi|l1
t,…,lpt)
fj(n1, n2, … , np|j1,…, jp) = (N!/n1! … np!). j1n1. … . jp
np
Após simplificações:
ijt = j
t. j1ni1. … . jp
nip / l lt. l1
ni1. … . lpnip
13
Algoritmo EM Maximization Step
Loop j = 0 até j
j = i ijt / n
Loop p = 0 até p
jp = i ijt.nip / l i ij
t.nil
14
Resultados obtidos - Pos
Mesmo utilizando apenas exemplos a convergência dos parâmetros do modelo só ocorreu após a 50a iteração;
Os pesos das classes se alteraram durante as iterações;
Adicionando amostras a precisão era degradada;
15
Gráfico de convergência
Classes - 4Componentes – 39 posExemplos – 1000Recálculo da classificação dos exemplos
16
Propostas
Criação de novos componentes com o objetivo de obter resultados mais satisfatórios:
Palavras
Revisão do algoritmo – Teste de convergência
17
Precisão Abrangência e F1
Classes - 4 Componentes – 931 palavras Exemplos – 251 Recálculo da classificação dos exemplos
18
Resultados Obtidos
Adicionando amostras a precisão era degradada;
Convergência lenta Limitação da quantidade de exemplos e
componentes Foram utilizados vários grupos de
exemplos e a convergência variou muito.
19
Amostras não classificadas
Classes – 4Componentes – 8500 palavrasSentenças sem classificações em ORecálculo da classificação dos exemplos
20
Exemplos X Amostras
Quando acrescentamos amostras incluímos novas componentes que não têm ainda seus parâmetros no modelo. Se estamos trabalhando com palavras isso acontecerá sempre.
Muitas palavras tem o jp zerado para mais de uma classe. Acabamos por zerar a classificação de sentenças.
Foi necessário o uso da suavização de Laplace. Passamos a não recalcular os exemplos.
21
Algoritmo EM Maximization Step com suavização de Laplace
Loop j = 0 até j
j = 1 + i ijt / n + j
Loop p = 0 até p
jp = 1 + i ijt.nip / l i ij
t.nil + | W |
22
Grafico de ConvergênciaSuavização em j e jp
Classes – 4 Componentes
8500 palavras
Suavização
em j e jp
Não recalcula exemplos
Convergência PIj
0,0000
0,2000
0,4000
0,6000
0,8000
1,0000
1,2000
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 59
Iteração
PIj
1
2
3
4
Total Global
23
Precisão - Suavização em j e jp Palavras Reduzidas SFIjp SPIj
0
0,05
0,1
0,15
0,2
0,25
0,3
0,35
0,4
0,45
0,5
200 400 600 800 1000 1200 1400 1600 1800 2300 2800 3300
amostras
Prec
isão
200
400
800
1600
24
Resultados Obtidos Suavização em j e jp
Convergência mais rápida Não houve troca de pesos das classes O peso das classes variou muito Precisão decresce muito
25
Suavização na classificação de sentenças
Convergência PIj
0,0000
0,0500
0,1000
0,1500
0,2000
0,2500
0,3000
0,3500
117
119
121
123
125
127
129
131
133
135
137
139
141
143
145
147
149
151
153
155
157
159
161
163
165
Iteração
PIj
1
2
3
4
Convergência muito mais rápida
Não houve troca de pesos das classes
O peso das classes varia muito menos
Precisão melhora
26
Precisão - Todas as suavizações
Classes – 4 Componentes - 931
palavras Com 1800 exemplos
precisão aumenta com inclusão de amostras
Palavras Reduzidas SFIjp SPIj SPIij
0
0,05
0,1
0,15
0,2
0,25
0,3
0,35
0,4
0,45
200 400 600 800 1000 1200 1400 1600 1800 2300 2800 3300
amostras
Prec
isão
200
400
800
1600
27
Conclusões
Pelo que pudemos observar, dados os baixos índices de Precisão, Abrangência e Média Harmônica obtidos, uma implementação direta do Modelo de Misturas não é uma ferramenta eficiente para tratar a extração de Entidades Nomeadas.
É necessário acrescentar outros recursos que forneçam maiores informações.