Anotação de corpus
Fernando A. A. Nóbrega e Nathan S. Hartmann
Universidade de São Paulo (NILC/ICMC/USP)
30/09/2015
Introdução Imersão Prática References
Agenda
Introdução
→ O que é anotação de córpus
→ Tipos de anotação
→ Anotação de córpus e mercado de trabalho
Imersão
→ Detalhes mais técnicos sobre a anotação
Prática
→ Demonstrações
→ Algumas práticas para exercitar
Introdução Imersão Prática References
Introdução
O que é Anotação de Córpus?
1 Anotação: Tarefa (geralmente, manual) com
objetivo de explicitar diferentes níveis de
conhecimento
→ Pode ser semimanual
→ Fazemos isso o tempo todo
2 Córpus: Uma coleção de objetos
linguísticos para uso em aplicações de PLN
Santos 2008
IV SPL e IX SPLIN 1/22
Introdução Imersão Prática References
Introdução
IV SPL e IX SPLIN 1/22
Introdução Imersão Prática References
Introdução
O que é Anotação de Córpus?
1 Anotação: Tarefa (geralmente, manual) com
objetivo de explicitar diferentes níveis de
conhecimento
→ Pode ser semimanual
→ Fazemos isso o tempo todo
2 Córpus: Uma coleção de objetos
linguísticos para uso em aplicações de PLN
Santos 2008
IV SPL e IX SPLIN 1/22
Introdução Imersão Prática References
Introdução
Anotação de Córpus
Tarefa (geralmente, manual) com objetivo de
explicitar diferentes níveis de conhecimento
ao rotular os objetos armazenados no córpus
IV SPL e IX SPLIN 1/22
Introdução Imersão Prática References
Anotação de Córpus na Academia
Geralmente, utilizada para descrever algum
fenômeno linguístico e/ou para fins de
automatização computacional
Variados níveis de conhecimento
1 Etiquetação/validação de etiquetas
morfossintáticas
2 Geração/validação de Árvores sintáticas
3 Desambiguação de sentidos
4 Papéis semânticos
5 Polaridade de reviews, sentenças, etc.
6 Segmentação de subtópicos
7 Identificação de Relações Discursivas
8 Identificação de erros em resumos
Onde publicar: STIL, PROPOR, LREC, ELC,
...
IV SPL e IX SPLIN 2/22
Introdução Imersão Prática References
Anotação de córpus no Mercado
Amazon Mechanical Turk
Apple
Google
IV SPL e IX SPLIN 3/22
Introdução Imersão Prática References
Dificuldades
Basta ligar o computador e sair
anotando....?
É um projeto com várias questões envolvidas
IV SPL e IX SPLIN 4/22
Introdução Imersão Prática References
Dificuldades
Basta ligar o computador e sair
anotando....?
NÃO!!!!
É um projeto com várias questões envolvidas
IV SPL e IX SPLIN 4/22
Introdução Imersão Prática References
Dificuldades
Basta ligar o computador e sair
anotando....?
NÃO!!!!
É um projeto com várias questões envolvidas
1 Quem e quantos serão os anotadores?
2 Qual o conhecimento dos anotadores na
tarefa?
3 A tarefa de anotação é bem definida?
4 É necessário treinar os anotadores? Se
sim, como?
5 Qual será o local da anotação (reuniões,
online)?
6 Qual a frequência das ”reuniões“?
7 Qual a validade da tarefa (concordância)?
8 Qual o objetivo do recurso?
IV SPL e IX SPLIN 4/22
Introdução Imersão Prática References
Anotação é somente coisa de linguísta?!
Depende da natureza da tarefa.
Público Geral
Apontar a qualidade de um produto -
Ruim-Bom, 0-5, etc.
Identificar localidades, nomes de pessoas,
etc.
Público Específico
Anotar papéis semânticos.
Identificar traços de demência em textos.
Reconhecimento de língua materna por voz
(estrangeiros)
IV SPL e IX SPLIN 5/22
Introdução Imersão Prática References
Mais alguns detalhes
Defindo a tarefa
Validando a anotação - Concordância
Quando refinar a tarefa?
Recursos necessários
IV SPL e IX SPLIN 6/22
Introdução Imersão Prática References
Definição da tarefa
O que é efetivamente a tarefa (sem
ambiguidade e brechas para dúvidas)
→ Definição de um manual de anotação -
diretrizes
→ Geralmente, refinado durante a tarefa
IV SPL e IX SPLIN 7/22
Introdução Imersão Prática References
Concordância na anotação
Normalmente mais de uma pessoa anota um
mesmo conjunto de dados
Importante, pois indica convergência,
padronização (”qualidade“)
Percentual de concordância
Medida Kappa mais frequentemente usada
→ Desconsidera o acaso
→ Há ferramentas online:
http://vassarstats.net/kappa.html1
1
Algumas são parciais
IV SPL e IX SPLIN 8/22
Introdução Imersão Prática References
Concordância com Kappa
Como usar
Instalar o interpretador Perl
Formatar os dados de anotação em um arquivo
CSV usando TAB
→ Fácil usando Excel, OpenOffice
Executar com: perl kappaDiagnosis.pl
“resumo-anotacao.txt” > saida.txt
→ Necessária Instalação do Perl
IV SPL e IX SPLIN 9/22
Introdução Imersão Prática References
Calculando kappa
Anotador1 Anotador2
Sent1 A A
Sent2 B A
Sent3 A A
Sent4 B A
Sent5 B A
- A B
A 2 0
B 3 0
Percentual: 40%
Kappa: -0.429
IV SPL e IX SPLIN 10/22
Introdução Imersão Prática References
Concordância com adjudicação
IV SPL e IX SPLIN 11/22
Introdução Imersão Prática References
Prática
Agora vamos praticar!
Vocês verão que:
Podemos utilizar diversos ambientes para
anotação
→ Alguns são mais simples, outros com mais
funcionalidades
Algumas tarefas são mais simples do que
outras
→ Algumas tarefas até demandam treinamento
IV SPL e IX SPLIN 12/22
Introdução Imersão Prática References
Prática - Análise de Sentimentos
Objetivo: Determinar a polaridade de uma
sentença em relação à uma entidade
Polaridade: Negativa, Neutra e Positiva
Entrada: Pares formados por sentença e
entidade
Ferramenta: Google Docs
(http://migre.me/rFAdE)
Concordância
IV SPL e IX SPLIN 13/22
Introdução Imersão Prática References
Prática - Anotação de Papéis Semânticos
Anotação de Papéis Semânticos (APS):
Detecta os eventos descritos nas sentenças e os
participantes destes eventos.
Eventos são realizados por predicados (aqui,
verbos).
Participantes são chamados de argumentos.
Exemplo:
Para a sentença “João quebrou a janela com a
pedra.”, temos o evento “quebrar” e seus
participantes, “João”, “a janela” e “a pedra”.
IV SPL e IX SPLIN 14/22
Introdução Imersão Prática References
Prática - Anotação de Papéis Semânticos
Anotação de Papéis Semânticos (simplificada)
O agente da ação do verbo
O paciente da ação do verbo
O instrumento da ação do verbo
A maneira com que a ação é feita
A localidade da ocorrência da ação
Tempo, ou quando a ação ocorreu
A causa da ocorrência da ação
Marcação de negação da da ação
Exemplo:
[Hoje cedoTempo], [lá em casaLocal ], [JoãoAgente] [quebrouVerbo]
[a janelaPaciente] [com a pedraInstrumento] [porque estava
estressadoCausa].
IV SPL e IX SPLIN 15/22
Introdução Imersão Prática References
Prática - Anotação de Papéis Semânticos
Anotação de Papéis Semânticos (simplificada)
O agente da ação do verbo
O paciente da ação do verbo
O instrumento da ação do verbo
A maneira com que a ação é feita
A localidade da ocorrência da ação
Tempo, ou quando a ação ocorreu
A causa da ocorrência da ação
Marcação de negação da da ação
Exemplo:
[Hoje cedoArgM−Tmp], [lá em casaArgM−Loc ], [JoãoArg0]
[quebrouV ] [a janelaArg1] [com a pedraArg2] [porque estava
estressadoArgM−Cau].
IV SPL e IX SPLIN 15/22
Introdução Imersão Prática References
Prática - Anotação de Papéis Semânticos
Para essa tarefa temos:
Um manual de anotação (diretrizes)
Repositório para consulta
Ferramenta de suporte a anotação
Pessoal especializado
Anotação duplo-cego
Discordâncias resolvidas pelo adjudicador
IV SPL e IX SPLIN 16/22
Introdução Imersão Prática References
Prática - Anotação de Papéis Semânticos
IV SPL e IX SPLIN 17/22
Introdução Imersão Prática References
Prática - Anotação de Papéis Semânticos
Ferramenta de Anotação Salto
Plataforma gráfica para anotação em córpus
Pode ser utilizada para anotação de
propósito geração sobre treebanks
Além de proporcionar uma anotação fácil e
intuitiva, ela possui o recurso de auxílio
à adjudicação
Desenvolvida por Burchardt et al. 2006
IV SPL e IX SPLIN 18/22
Introdução Imersão Prática References
Brat
Ferramenta “online”
Usada em diversos trabalhos
→ Correferência, Dependência Sintática,
Entidade Mencionada, Extração de Eventos,
Identificação de Erros, etc.
http://brat.nlplab.org/
→ Necessário Python
Anota itens (palavras, sintagmas, trechos)
e relações
IV SPL e IX SPLIN 19/22
Introdução Imersão Prática References
Configuração
Vários modelos prontos na Web
Organizado em Arquivos e sessões
README →descrição da tarefa
annotation.conf →O que será anotado
tools.conf →Configuração da ferramenta
visual.conf →Configuração visual (cores e
efeitos)
→ Mais detalhes em:http:
//brat.nlplab.org/configuration.html
IV SPL e IX SPLIN 20/22
Introdução Imersão Prática References
Aquivos básicos
tools.conf
[options]
Tokens tokenizer:whitespace
Sentences splitter:newline
Annotation-log logfile:<NONE>
visual.conf
[labels]
[drawing]
SPAN-DEFAULT borderColor:darken, fgColor:blue
IV SPL e IX SPLIN 21/22
Introdução Imersão Prática References
Aquivos básicos
annotation.conf
[spans]
...
[entities]
...
[relations]
...
[events]
...
[attributes]
...
IV SPL e IX SPLIN 22/22
Introdução Imersão Prática References
Obrigado!
Por hoje é só
Introdução Imersão Prática References
Referências
Burchardt, Aljoscha et al. (2006). ‘SALTO: A
versatile multi-level annotation tool’. In:
Proceedings of LREC-2006. Genoa, Italy.
Santos, Diana (2008). ‘Avanços da Linguística
de Corpus do Brasil’. In: ed. by
Stella E. O. Tagnin and Oto Araújo Vale.
Humanitas. Chap. Corporizando Algumas
Questões, pp. 41-66.
Prática - Identificação de Subtópicos
Objetivo: Identificar os segmentos de
subtópicos de um texto
Subtópico: Uma sequência de sentenças que
abordam um mesmo tema/tópico
Ferramenta: Editor de texto de sua
preferência
Concordância?
→ Nem sempre necessitamos utilizar Kappa

Anotacao de corpus

  • 1.
    Anotação de corpus FernandoA. A. Nóbrega e Nathan S. Hartmann Universidade de São Paulo (NILC/ICMC/USP) 30/09/2015
  • 2.
    Introdução Imersão PráticaReferences Agenda Introdução → O que é anotação de córpus → Tipos de anotação → Anotação de córpus e mercado de trabalho Imersão → Detalhes mais técnicos sobre a anotação Prática → Demonstrações → Algumas práticas para exercitar
  • 3.
    Introdução Imersão PráticaReferences Introdução O que é Anotação de Córpus? 1 Anotação: Tarefa (geralmente, manual) com objetivo de explicitar diferentes níveis de conhecimento → Pode ser semimanual → Fazemos isso o tempo todo 2 Córpus: Uma coleção de objetos linguísticos para uso em aplicações de PLN Santos 2008 IV SPL e IX SPLIN 1/22
  • 4.
    Introdução Imersão PráticaReferences Introdução IV SPL e IX SPLIN 1/22
  • 5.
    Introdução Imersão PráticaReferences Introdução O que é Anotação de Córpus? 1 Anotação: Tarefa (geralmente, manual) com objetivo de explicitar diferentes níveis de conhecimento → Pode ser semimanual → Fazemos isso o tempo todo 2 Córpus: Uma coleção de objetos linguísticos para uso em aplicações de PLN Santos 2008 IV SPL e IX SPLIN 1/22
  • 6.
    Introdução Imersão PráticaReferences Introdução Anotação de Córpus Tarefa (geralmente, manual) com objetivo de explicitar diferentes níveis de conhecimento ao rotular os objetos armazenados no córpus IV SPL e IX SPLIN 1/22
  • 7.
    Introdução Imersão PráticaReferences Anotação de Córpus na Academia Geralmente, utilizada para descrever algum fenômeno linguístico e/ou para fins de automatização computacional Variados níveis de conhecimento 1 Etiquetação/validação de etiquetas morfossintáticas 2 Geração/validação de Árvores sintáticas 3 Desambiguação de sentidos 4 Papéis semânticos 5 Polaridade de reviews, sentenças, etc. 6 Segmentação de subtópicos 7 Identificação de Relações Discursivas 8 Identificação de erros em resumos Onde publicar: STIL, PROPOR, LREC, ELC, ... IV SPL e IX SPLIN 2/22
  • 8.
    Introdução Imersão PráticaReferences Anotação de córpus no Mercado Amazon Mechanical Turk Apple Google IV SPL e IX SPLIN 3/22
  • 9.
    Introdução Imersão PráticaReferences Dificuldades Basta ligar o computador e sair anotando....? É um projeto com várias questões envolvidas IV SPL e IX SPLIN 4/22
  • 10.
    Introdução Imersão PráticaReferences Dificuldades Basta ligar o computador e sair anotando....? NÃO!!!! É um projeto com várias questões envolvidas IV SPL e IX SPLIN 4/22
  • 11.
    Introdução Imersão PráticaReferences Dificuldades Basta ligar o computador e sair anotando....? NÃO!!!! É um projeto com várias questões envolvidas 1 Quem e quantos serão os anotadores? 2 Qual o conhecimento dos anotadores na tarefa? 3 A tarefa de anotação é bem definida? 4 É necessário treinar os anotadores? Se sim, como? 5 Qual será o local da anotação (reuniões, online)? 6 Qual a frequência das ”reuniões“? 7 Qual a validade da tarefa (concordância)? 8 Qual o objetivo do recurso? IV SPL e IX SPLIN 4/22
  • 12.
    Introdução Imersão PráticaReferences Anotação é somente coisa de linguísta?! Depende da natureza da tarefa. Público Geral Apontar a qualidade de um produto - Ruim-Bom, 0-5, etc. Identificar localidades, nomes de pessoas, etc. Público Específico Anotar papéis semânticos. Identificar traços de demência em textos. Reconhecimento de língua materna por voz (estrangeiros) IV SPL e IX SPLIN 5/22
  • 13.
    Introdução Imersão PráticaReferences Mais alguns detalhes Defindo a tarefa Validando a anotação - Concordância Quando refinar a tarefa? Recursos necessários IV SPL e IX SPLIN 6/22
  • 14.
    Introdução Imersão PráticaReferences Definição da tarefa O que é efetivamente a tarefa (sem ambiguidade e brechas para dúvidas) → Definição de um manual de anotação - diretrizes → Geralmente, refinado durante a tarefa IV SPL e IX SPLIN 7/22
  • 15.
    Introdução Imersão PráticaReferences Concordância na anotação Normalmente mais de uma pessoa anota um mesmo conjunto de dados Importante, pois indica convergência, padronização (”qualidade“) Percentual de concordância Medida Kappa mais frequentemente usada → Desconsidera o acaso → Há ferramentas online: http://vassarstats.net/kappa.html1 1 Algumas são parciais IV SPL e IX SPLIN 8/22
  • 16.
    Introdução Imersão PráticaReferences Concordância com Kappa Como usar Instalar o interpretador Perl Formatar os dados de anotação em um arquivo CSV usando TAB → Fácil usando Excel, OpenOffice Executar com: perl kappaDiagnosis.pl “resumo-anotacao.txt” > saida.txt → Necessária Instalação do Perl IV SPL e IX SPLIN 9/22
  • 17.
    Introdução Imersão PráticaReferences Calculando kappa Anotador1 Anotador2 Sent1 A A Sent2 B A Sent3 A A Sent4 B A Sent5 B A - A B A 2 0 B 3 0 Percentual: 40% Kappa: -0.429 IV SPL e IX SPLIN 10/22
  • 18.
    Introdução Imersão PráticaReferences Concordância com adjudicação IV SPL e IX SPLIN 11/22
  • 19.
    Introdução Imersão PráticaReferences Prática Agora vamos praticar! Vocês verão que: Podemos utilizar diversos ambientes para anotação → Alguns são mais simples, outros com mais funcionalidades Algumas tarefas são mais simples do que outras → Algumas tarefas até demandam treinamento IV SPL e IX SPLIN 12/22
  • 20.
    Introdução Imersão PráticaReferences Prática - Análise de Sentimentos Objetivo: Determinar a polaridade de uma sentença em relação à uma entidade Polaridade: Negativa, Neutra e Positiva Entrada: Pares formados por sentença e entidade Ferramenta: Google Docs (http://migre.me/rFAdE) Concordância IV SPL e IX SPLIN 13/22
  • 21.
    Introdução Imersão PráticaReferences Prática - Anotação de Papéis Semânticos Anotação de Papéis Semânticos (APS): Detecta os eventos descritos nas sentenças e os participantes destes eventos. Eventos são realizados por predicados (aqui, verbos). Participantes são chamados de argumentos. Exemplo: Para a sentença “João quebrou a janela com a pedra.”, temos o evento “quebrar” e seus participantes, “João”, “a janela” e “a pedra”. IV SPL e IX SPLIN 14/22
  • 22.
    Introdução Imersão PráticaReferences Prática - Anotação de Papéis Semânticos Anotação de Papéis Semânticos (simplificada) O agente da ação do verbo O paciente da ação do verbo O instrumento da ação do verbo A maneira com que a ação é feita A localidade da ocorrência da ação Tempo, ou quando a ação ocorreu A causa da ocorrência da ação Marcação de negação da da ação Exemplo: [Hoje cedoTempo], [lá em casaLocal ], [JoãoAgente] [quebrouVerbo] [a janelaPaciente] [com a pedraInstrumento] [porque estava estressadoCausa]. IV SPL e IX SPLIN 15/22
  • 23.
    Introdução Imersão PráticaReferences Prática - Anotação de Papéis Semânticos Anotação de Papéis Semânticos (simplificada) O agente da ação do verbo O paciente da ação do verbo O instrumento da ação do verbo A maneira com que a ação é feita A localidade da ocorrência da ação Tempo, ou quando a ação ocorreu A causa da ocorrência da ação Marcação de negação da da ação Exemplo: [Hoje cedoArgM−Tmp], [lá em casaArgM−Loc ], [JoãoArg0] [quebrouV ] [a janelaArg1] [com a pedraArg2] [porque estava estressadoArgM−Cau]. IV SPL e IX SPLIN 15/22
  • 24.
    Introdução Imersão PráticaReferences Prática - Anotação de Papéis Semânticos Para essa tarefa temos: Um manual de anotação (diretrizes) Repositório para consulta Ferramenta de suporte a anotação Pessoal especializado Anotação duplo-cego Discordâncias resolvidas pelo adjudicador IV SPL e IX SPLIN 16/22
  • 25.
    Introdução Imersão PráticaReferences Prática - Anotação de Papéis Semânticos IV SPL e IX SPLIN 17/22
  • 26.
    Introdução Imersão PráticaReferences Prática - Anotação de Papéis Semânticos Ferramenta de Anotação Salto Plataforma gráfica para anotação em córpus Pode ser utilizada para anotação de propósito geração sobre treebanks Além de proporcionar uma anotação fácil e intuitiva, ela possui o recurso de auxílio à adjudicação Desenvolvida por Burchardt et al. 2006 IV SPL e IX SPLIN 18/22
  • 27.
    Introdução Imersão PráticaReferences Brat Ferramenta “online” Usada em diversos trabalhos → Correferência, Dependência Sintática, Entidade Mencionada, Extração de Eventos, Identificação de Erros, etc. http://brat.nlplab.org/ → Necessário Python Anota itens (palavras, sintagmas, trechos) e relações IV SPL e IX SPLIN 19/22
  • 28.
    Introdução Imersão PráticaReferences Configuração Vários modelos prontos na Web Organizado em Arquivos e sessões README →descrição da tarefa annotation.conf →O que será anotado tools.conf →Configuração da ferramenta visual.conf →Configuração visual (cores e efeitos) → Mais detalhes em:http: //brat.nlplab.org/configuration.html IV SPL e IX SPLIN 20/22
  • 29.
    Introdução Imersão PráticaReferences Aquivos básicos tools.conf [options] Tokens tokenizer:whitespace Sentences splitter:newline Annotation-log logfile:<NONE> visual.conf [labels] [drawing] SPAN-DEFAULT borderColor:darken, fgColor:blue IV SPL e IX SPLIN 21/22
  • 30.
    Introdução Imersão PráticaReferences Aquivos básicos annotation.conf [spans] ... [entities] ... [relations] ... [events] ... [attributes] ... IV SPL e IX SPLIN 22/22
  • 31.
    Introdução Imersão PráticaReferences Obrigado! Por hoje é só
  • 32.
    Introdução Imersão PráticaReferences Referências Burchardt, Aljoscha et al. (2006). ‘SALTO: A versatile multi-level annotation tool’. In: Proceedings of LREC-2006. Genoa, Italy. Santos, Diana (2008). ‘Avanços da Linguística de Corpus do Brasil’. In: ed. by Stella E. O. Tagnin and Oto Araújo Vale. Humanitas. Chap. Corporizando Algumas Questões, pp. 41-66.
  • 33.
    Prática - Identificaçãode Subtópicos Objetivo: Identificar os segmentos de subtópicos de um texto Subtópico: Uma sequência de sentenças que abordam um mesmo tema/tópico Ferramenta: Editor de texto de sua preferência Concordância? → Nem sempre necessitamos utilizar Kappa