NER com bom senso: por que os spans finalmente vencem as tags BIO
Por muito tempo, treinamos modelos de NER classificando cada token. A marcação BIO (Begin, Inside, Outside) virou padrão, mas é redundante e costuma quebrar em estruturas complexas. Na prática, a lógica de negócio não precisa de tags, precisa de spans: limites claros dos objetos. Migrar para arquiteturas em nível de span evita problemas de inconsistência de tags e lida melhor com entidades aninhadas. Não é só uma troca de terminologia, mas uma mudança fundamental na forma como projetamos a extração de informação. Se o seu pipeline ainda junta tokens na mão, é hora de repensar a arquitetura.
Processado por IA de Habr AI; editado por Hamidun News
Imagine que você está construindo uma casa, mas, em vez de trabalhar com tijolos ou paredes inteiras, obriga os pedreiros a descrever cada grão de areia da argamassa. Foi mais ou menos isso que fizemos em PLN nos últimos dez anos ao usar a marcação BIO para reconhecimento de entidades nomeadas (NER). Acostumamo-nos com a ideia de que o modelo deve marcar cada token: aqui a entidade começa (B), aqui continua (I) e aqui já saímos dela (O). Era conveniente para a matemática e para as velhas camadas CRF, mas é monstruosamente ineficiente para sistemas reais.
O problema é que uma entidade no texto não é uma cadeia de rótulos, e sim um fragmento inteiro com limites físicos. Quando forçamos o modelo a prever tags para cada pedaço de uma palavra, criamos uma redundância enorme e pontos de falha desnecessários. Quem já treinou o BERT ou seus derivados para NER conhece essa dor específica. Tokenizadores modernos como WordPiece ou BPE dividem palavras complexas em subtokens. Com isso, um sobrenome simples pode virar três ou quatro fragmentos, e é preciso mascarar as partes extras ou inventar gambiarras para uni-las no pós-processamento. Você recebe uma previsão que ainda exige uma decodificação longa e penosa só para responder à pergunta: onde está o nome do diretor?
Migrar para uma abordagem em nível de span não é mais um exagero arquitetural, e sim o reconhecimento de que seguimos o caminho de menor resistência por tempo demais. Em vez de classificar cada token, os sistemas modernos enxergam o texto como um conjunto de segmentos potenciais (spans). O modelo aprende a determinar os limites, um índice de início e um de fim, e a associar um tipo de entidade a esse segmento.
Isso resolve de uma vez por todas o problema das sequências inconsistentes. No mundo BIO, o modelo podia emitir uma tag de início de organização e, no token seguinte, encaixar uma continuação de pessoa. Na abordagem em nível de span, esse erro lógico é tecnicamente impossível.
O modelo simplesmente diz: da terceira à quinta palavra, temos um local. E essa afirmação é atômica.
Além disso, a abordagem BIO clássica falha completamente com entidades aninhadas. Tente anotar direito a frase "Universidade Estatal de Moscou" se o seu aplicativo precisa extrair tanto a cidade (Moscou) quanto a própria instituição de ensino como objeto separado. Em uma cadeia unidimensional de tokens, isso vira um inferno combinatório ou exige empilhar vários modelos.
Os spans resolvem isso de forma elegante e natural: um mesmo trecho de texto, ou um subconjunto dele, pode pertencer a categorias diferentes em níveis de abstração diferentes. Isso é crítico para documentos jurídicos, em que um contrato está aninhado em um aditivo, que por sua vez está aninhado em um ato, ou para a medicina, em que o nome de um sintoma pode fazer parte do nome de uma síndrome complexa.
Por que falar disso justamente agora? Estamos saindo rapidamente da era do "basta o modelo devolver alguma coisa" para a era da IA industrial e confiável. Em pipelines reais, a limpeza dos dados, a facilidade de manutenção e a previsibilidade do resultado passaram a pesar mais do que espremer um ponto percentual extra de F1 em datasets acadêmicos batidos como o CoNLL-2003. Usar spans permite simplificar radicalmente o código, eliminar centenas de linhas de expressões regulares para juntar tokens e tornar os modelos mais robustos ao ruído de tokenização.
Se o seu módulo de NER ainda cospe uma lista interminável de tags que você depois tenta montar em objetos com sentido, você está preso ao passado. A stack moderna exige trabalhar diretamente com os limites do significado. Isso não só é mais rápido de desenvolver como é, francamente, mais lógico do ponto de vista linguístico. Afinal, não lemos as palavras letra por letra; percebemos frases e objetos inteiros. Já está na hora de os nossos modelos fazerem o mesmo.
O ponto principal: é hora de parar de ensinar os modelos a enxergar tokens e começar a ensiná-los a enxergar blocos de significado. O futuro do NER é das arquiteturas que trabalham diretamente com os limites dos objetos, deixando as tags BIO nos livros de história.
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
O essencial da IA — uma vez por semana
Sete histórias que realmente importaram, escolhidas a dedo. Sem ruído nem releases.
Pronto! Verifique seu e-mail para a confirmação.