Reconhecimento de entidades nomeadas
O que é o reconhecimento de entidades nomeadas (NER), conjuntos de rótulos comuns e como criar uma tarefa de anotação de NER no Potato com rótulos de span coloridos e tooltips.
O reconhecimento de entidades nomeadas (NER) é a tarefa de encontrar e classificar coisas nomeadas no texto: pessoas, organizações, locais, datas e mais. É uma tarefa de anotação de span com um conjunto de rótulos tipados por entidade. O NER é um bloco de construção para busca, grafos de conhecimento, redação e extração de informações.
Para contexto, veja Reconhecimento de entidades nomeadas.
Como escolher um conjunto de rótulos
Comece por um esquema padrão e reduza-o ao seu domínio:
- CoNLL-2003:
PER,ORG,LOC,MISC. Um bom padrão mínimo. - OntoNotes: 18 tipos, incluindo datas, valores monetários e percentuais, para necessidades mais ricas.
- Específico do domínio: biomédico (genes, doenças), jurídico (estatutos, partes) ou financeiro.
Tipos em menor número e bem definidos dão maior concordância. Acrescente tipos apenas quando um uso real a jusante os exigir.
Como criar a tarefa no Potato
annotation_schemes:
- annotation_type: span
name: entities
description: "Highlight each named entity and select its type."
labels: [PERSON, ORGANIZATION, LOCATION, DATE, MISC]
label_colors:
PERSON: "#3b82f6"
ORGANIZATION: "#10b981"
LOCATION: "#f59e0b"
DATE: "#8b5cf6"
MISC: "#6b7280"
tooltips:
PERSON: "Names of people, e.g. 'Ada Lovelace'."
ORGANIZATION: "Companies, agencies, teams, e.g. 'United Nations'."
LOCATION: "Cities, countries, landmarks, e.g. 'Paris'."
DATE: "Dates and time expressions, e.g. 'next Monday'."
MISC: "Named entities that fit none of the above."
allow_overlapping: false
sequential_key_binding: trueA vitrine de reconhecimento de entidades nomeadas executa essa configuração com dados de exemplo.
Regras de fronteira que evitam discordância
A maior parte da discordância no NER é sobre onde uma entidade começa e termina, não sobre o que ela é. Decida e documente:
- Os títulos contam? ("Dr. Jane Smith" vs. "Dr. Jane Smith".)
- Você inclui o "the" em "the United Nations"?
- Como você marca entidades aninhadas como "Bank of England"? Se precisar delas, defina
allow_overlapping: true.
Dos rótulos a um modelo
Exporte para o formato CoNLL ou spaCy, que representam entidades com tags BIO/IOB. Veja Exportar anotações para ML.
Leituras adicionais
- Anotação de span
- Ligação de entidades, conectando entidades a uma base de conhecimento
- Extração de relações e eventos