Prof.AMR
NEWS
Monografia sobre Ação Penal. Material Relevante
Dicas Tecnologia

Tool: NER TagEditor

16 min de leitura·Atualizado em 9 de março de 2026

TagEditor

[1.] TagEditor: Uma Ferramenta para Organizar e Entender Textos Jurídicos

Imagine que você tem uma montanha de documentos: processos judiciais, depoimentos, leis, decisões etc. Ler tudo isso e encontrar a informação certa pode ser um pesadelo, certo? É aí que entra uma ferramenta como o TagEditor.

[1.1.] O que é o TagEditor?

De forma simples, o TagEditor é um programa de computador que ajuda a "marcar" ou "rotular" palavras e frases em textos, usando a tecnologia chamada spaCy, que é muito boa em entender a linguagem humana. Você instala com um clique; basta baixar um arquivo, descompactar e executar o programa. Em termos mais completos, TagEditor (v3.4.1) é uma ferramenta de anotação para Windows 10 (64-bit) que utiliza a biblioteca spaCy para facilitar a anotação rápida de texto, permitindo anotar dependências, partes do discurso (POS), entidades nomeadas (NER), categorias de texto e resolução de correferência. Com isso, possibilita a criação de dados anotados personalizados ou conjuntos de dados de treinamento nos formatos .json ou .spacy para uso com as bibliotecas spaCy ou PyTorch.

[1.2.] Para que serve?

O principal objetivo do TagEditor é facilitar a anotação de textos, com o fim de: 1.2.1 Identificar Informações Chave: Marcar coisas como nomes de pessoas, lugares, datas, ou termos técnicos específicos. 1.2.2. Entender a Estrutura: Saber quais são os "verbos" (ações), "substantivos" (coisas/pessoas), ou como as palavras se relacionam umas com as outras em uma frase (dependências). 1.2.3. Agrupar Menções: Reconhecer quando diferentes palavras ou frases se referem à mesma coisa (ex: "O réu", "Sr. Silva", "ele" podem ser a mesma pessoa em um texto), conhecida como resolução de correferência. 1.2.4. Categorizar Conteúdo: Classificar seções de texto, como se um parágrafo é uma argumentação, uma evidência, ou uma decisão. 1.2.5, Criar Dados para Treinamento: Gerar conjuntos de dados anotados que podem ser usados para ensinar computadores a entender e processar textos jurídicos automaticamente.

[1.3.] Funcionalidades

1.3.1 Edição de Texto: Edite documentos ou tokens clicando com o botão direito do mouse. O menu de contexto oferece opções para editar, excluir, inserir palavras ou frases, bem como mesclar ou dividir frases. Para mesclar frases, clique com o botão direito na primeira palavra da primeira frase e desmarque "Sentence start". 1.3.2. Gerenciamento de Parágrafos: Atribua novos parágrafos através do menu de contexto ou clicando no número da frase à esquerda. O botão "Assign paragraphs" na aba "Words" pode ser usado para definir parágrafos após símbolos de nova linha '\n'. 1.3.3. Remoção de Espaços em Branco: A aba "Words" possui um botão "Remove Whitespaces" para eliminar todos os caracteres de nova linha e espaços extras no texto selecionado. 1.3.4 Criação de Dados de Treinamento: Gere dados de treinamento nos estilos "simple training style" ou JSON, com a opção de salvar em formato de texto, JSON ou spaCy. 1.3.5. Salvamento e Carregamento: Salve projetos para edições futuras e carregue projetos para retomar o trabalho. Datasets nos formatos .spacy ou .json também podem ser salvos e carregados. 1.3.6. Tokenização: Se um idioma não possuir um modelo pré-treinado, selecione o idioma apropriado na lista para garantir a tokenização correta.

[1.4.] Como funciona?

É bem intuitivo. Você insere o texto que quer analisar ou abre um arquivo. Depois, escolhe o tipo de marcação que quer fazer (como "Entidades Nomeadas" ou "Categorias de Texto") e os rótulos que vai usar (p.ex.: "Réu", "Vítima", "Local", "Data"). Aí, é só clicar nas palavras ou frases no texto para aplicar os rótulos escolhidos. O programa permite editar, mesclar ou dividir frases, além de organizar parágrafos e remover espaços desnecessários.

[1.5.] Instalação e Uso

1.5.1. Instalação: Não requer instalação. Basta baixar, descompactar o arquivo TagEditor.7z e executar TagEditor.exe. 1.5.2. Uso Básico: Insira o texto desejado ou abra um arquivo de texto e pressione "Start tagging". Em seguida, escolha o tipo de anotação e os rótulos. É possível carregar datasets nos formatos .spacy ou .json. Para atribuir um rótulo, selecione-o no painel "TAG SET" e clique na palavra correspondente no editor.

[2] Especificação dos Tipos de Anotação

Você pode usar para anotar: 2.1. Entidades Nomeadas (Named Entities): Selecione um rótulo no painel "Tag Set" e clique nas palavras na janela principal para aplicá-lo. Para remover um rótulo aplicado, clique diretamente sobre ele na janela do editor. O programa suporta a criação de dados de saída com offset de caractere/token ou seguindo o esquema BILUO / IOB. Tags aninhadas ou sobrepostas são permitidas se o modo de offset de caractere/token for utilizado. A opção "NER search all" atribui o rótulo selecionado a todos os trechos (spans) encontrados no texto. A opção "--Annotate--" permite alternar entre modelos e anotar sobre texto já anotado em diferentes modos. 2.2. Tags POS (Part-of-Speech): Permite editar tags POS em nível detalhado (fine-grained) e visualizar tags POS em nível geral (coarse-grained) e morfemas. 2.3. Dependências: Selecione uma tag no painel "TAG SET" e clique em uma palavra no editor para atribuir a tag. Clique em outra palavra (token) para definir a tag de cabeça. Um novo clique na palavra remove a tag. 2.4. Correferência: A anotação de correferência segue o formato de dados PreCo. O dataset para correferência pode ser baixado em: https://github.com/d5555/Coreference-dataset. É compatível com NeuralCoref 4.0. Para utilizar o NeuralCoref, selecione "Enable NeuralCoref" após clicar em "Start tagging" e defina o parâmetro 'greedyness' para 0,55. Dados do dataset PreCo podem ser carregados diretamente via File -> Load PreCO/Coref -> (selecione o arquivo). 2.5. Categorias de Texto: Rótulos podem ser atribuídos a parágrafos, frases ou trechos (spans). Selecione a pontuação (Verdadeiro ou Falso) no painel "TAG SET" e escolha um rótulo de categoria. Clique na frase na janela do editor para adicionar a categoria e sua pontuação. A pontuação pode ser alternada entre Verdadeiro/Falso clicando no rótulo de pontuação no editor. O botão "Assign/unassign all" permite atribuir ou remover todos os rótulos de todas as frases com um único clique. O classificador de texto foi treinado no dataset IMDB com os rótulos 'POSITIVE' e 'NEGATIVE'. Se houver um modelo com classificador de texto pré-treinado e o objetivo for classificar parágrafos, atribua os parágrafos e selecione "Paragraph" na aba "Text Categories". O modo 'Spans classification mode' suporta múltiplos rótulos sobrepostos e pode servir como um classificador de texto multifuncional.

[3] Aplicação no Domínio do Processo Penal

No mundo do processo penal lida-se com uma quantidade gigantesca de documentos. O TagEditor pode ser um aliado para otimizar a análise dos conteúdos por meio da: 3.1. Extração Rápida de Informações Relevantes: Imagine analisar centenas de depoimentos de testemunhas ou peças de acusação. Usando a função de Entidades Nomeadas (NER), o TagEditor pode identificar e rotular automaticamente nomes de réus, vítimas, advogados, juízes, datas de ocorrência, locais de crimes, números de processos, artigos de lei, etc. Isso acelera enormemente a fase de coleta de dados e a identificação de elementos essenciais para a defesa ou acusação. 3.2. Organização e Classificação de Documentos: A funcionalidade de Categorias de Texto (ou classes) permite classificar documentos ou partes deles. Por exemplo, é possível rotular seções como "Argumento da Defesa", "Alegação da Acusação", "Decisão Judicial", "Evidência Documental", "Laudo Pericial". Isso facilita a organização de grandes volumes de processos e a rápida localização de tipos específicos de informação. 3.3. Análise de Relacionamentos (Correferência): Em casos complexos, pode ser difícil rastrear quem fez o quê. A resolução de correferência do TagEditor ajuda a ligar todas as menções a uma mesma pessoa ou entidade (ex: "O suspeito", "João da Silva", "ele", "o indivíduo abordado"). Isso garante uma compreensão mais precisa das ações e responsabilidades descritas nos autos. 3.4. Análise Gramatical e de Termos Jurídicos: As funções de Tags POS (partes do discurso) e Dependências ajudam a entender a estrutura exata das frases e a função de termos jurídicos específicos, o que pode ser útil para análises linguísticas aprofundadas de leis ou decisões. 3.5. Criação de Inteligência Artificial Jurídica: A capacidade do TagEditor de gerar dados em formatos como .spacy ou .json é fundamental. Esses dados podem ser usados para treinar modelos de inteligência artificial que aprendam a realizar tarefas jurídicas complexas automaticamente, como identificar automaticamente a existência de certa prova, classificar a natureza de uma decisão judicial, ou até mesmo sugerir precedentes relevantes com base em documentos semelhantes. Em síntese, o TagEditor é uma ferramenta que, ao trazer organização e capacidade de marcação a textos complexos, pode ser um diferencial para advogados, pesquisadores e estudantes do direito penal, tornando a análise de processos mais eficiente e precisa.

[4.] Tutorial do TagEditor para Iniciantes

Se você precisa organizar, entender ou preparar textos para análise (seja para um trabalho acadêmico, um projeto de inteligência artificial ou gerenciar documentos de um caso penal), a ferramenta pode ser sua aliada. Vamos aprender a usá-la de modo didático (passo a passo).

4.1. O que é o TagEditor?

Imagine que você tem um texto longo, como um artigo, um documento jurídico ou um livro. O TagEditor é um programa de computador que ajuda você a "marcar" ou "rotular" partes importantes desse texto. Pense nele como um conjunto de marcadores coloridos digitais, mas muito mais inteligentes! Ele usa uma tecnologia chamada spaCy, que é especialista em entender a linguagem humana, para facilitar esse processo. Com ele, você pode:
  • Identificar e rotular nomes de pessoas, locais, datas (chamados Entidades Nomeadas).
  • Entender a função de cada palavra em uma frase (como substantivos, verbos - chamado POS tags).
  • Ver como as palavras se conectam umas às outras (Dependências).
  • Descobrir quando diferentes palavras ou frases se referem à mesma coisa (Resolução de Correferência).
  • Classificar seções inteiras de texto em categorias (Categorias de Texto).
  • Criar dados de treinamento para que computadores aprendam a processar textos automaticamente.

4.2. Como Começar? (Instalação e Execução)

A melhor parte é que você não precisa de uma instalação complicada.
  1. Baixe o Arquivo: Encontre o arquivo TagEditor.7z (geralmente na página do projeto ou em um link fornecido).
  2. Descompacte: Use um programa como o 7-Zip para extrair o conteúdo do arquivo TagEditor.7z para uma pasta qualquer no seu computador.
  3. Execute: Dentro da pasta extraída, procure e clique duas vezes no arquivo TagEditor.exe. O programa será aberto!

4.3. Seus Primeiros Passos: Começando a Anotar

Com o TagEditor aberto, é hora de trabalhar:
  1. Insira seu Texto: Você pode digitar o texto diretamente na janela principal ou ir em File (ou Arquivo) e escolher Open (ou Abrir) para carregar um arquivo de texto (.txt).
  2. Inicie a Anotação: Clique no botão "Start tagging" (ou "Iniciar Anotação").
  3. Escolha o Tipo e os Rótulos: Uma janela aparecerá para você selecionar o tipo de anotação que deseja fazer (ex: "Named Entities", "Dependencies", "Text Categories") e os rótulos (ou "tags") que vai usar. Por exemplo, para "Named Entities", você pode criar rótulos como "Pessoa", "Local", "Data". Clique em "Ok" para confirmar.
  4. Aplique os Rótulos: Agora, na janela principal do texto:
    • Selecione um rótulo: No painel "TAG SET", clique no rótulo que você quer usar (ex: "Pessoa").
    • Selecione o texto: Clique e arraste sobre a palavra ou frase no seu texto que corresponde a esse rótulo.
    • A mágica acontece: O texto selecionado ficará marcado com o rótulo escolhido! Para remover um rótulo aplicado, basta clicar sobre ele na janela do editor.

4.4. Ferramentas Úteis para Organizar e Editar

O TagEditor oferece mais do que apenas rotular:
  • Edição de Texto: Clicando com o botão direito em qualquer palavra, você pode editar, excluir, inserir novas palavras ou frases, e até mesmo mesclar ou dividir sentenças. Para mesclar, por exemplo, clique com o botão direito na primeira palavra da frase que você quer juntar e desmarque a opção "Sentence start".
  • Gerenciamento de Parágrafos: Você pode criar novos parágrafos clicando com o botão direito ou usando o botão "Assign paragraphs" na aba "Words", especialmente útil se seu texto usa \n para indicar quebras de linha.
  • Limpeza de Espaços: A aba "Words" tem um botão "Remove Whitespaces" que elimina todos os caracteres de nova linha e espaços extras no texto selecionado, deixando-o mais limpo.
  • Salvar e Carregar: Não perca seu trabalho! Use "Save project" para guardar o estado atual do seu projeto e "Load project" para continuar mais tarde. Você também pode salvar e carregar datasets (conjuntos de dados) diretamente nos formatos .spacy ou .json.

4.5. Tipos de Anotação Detalhados

Vamos entender melhor as opções de rotulagem:
  • Entidades Nomeadas (Named Entities): Perfeito para extrair informações chave como nomes de pessoas, organizações, locais, datas, valores monetários etc. Você pode definir o formato de saída (como BILUO ou IOB) e até mesmo permitir que rótulos se sobreponham se usar o modo de "offset de caractere/token". A opção "NER search all" pode aplicar o rótulo selecionado a todas as ocorrências encontradas no texto.
  • Tags POS (Part-of-Speech): Ajuda a identificar a classe gramatical de cada palavra (verbo, substantivo, adjetivo etc.).
  • Dependências: Mapeia a relação sintática entre as palavras. Você clica em uma palavra para atribuir uma tag e depois em outra para definir a "palavra cabeça" (head tag).
  • Correferência: Esta função é poderosa para rastrear a coesão do texto. Ela ajuda a identificar quando diferentes termos (ex: "O réu", "João Silva", "ele") se referem à mesma entidade. O TagEditor é compatível com formatos como o PreCo e pode usar o NeuralCoref. Você pode carregar datasets de correferência diretamente pelo menu File -> Load PreCO/Coref.
  • Categorias de Texto: Permite atribuir rótulos a parágrafos, frases ou trechos específicos. Por exemplo, você pode rotular uma frase como "POSITIVO" ou "NEGATIVO" (como no dataset IMDB em que o classificador foi treinado), ou categorias como "Argumento da Defesa", "Evidência" etc. O modo "Spans classification mode" é flexível e permite múltiplas categorias sobrepostas.

4.6. Criando Dados para Treinamento de Inteligência Artificial

Uma das funcionalidades mais avançadas do TagEditor é sua capacidade de gerar dados que podem ser usados para treinar modelos de IA. Ao clicar em "Create DATA" (ou "Criar Dados"), você pode gerar conjuntos de dados nos formatos .spacy, .json ou .txt. Esses dados são essenciais para ensinar máquinas a entender e processar linguagem natural de forma automática, abrindo portas para automação em diversas áreas.

4.7. Considerações Finais

  • Modelos Pré-treinados: Para usar modelos de linguagem mais avançados ou modelos spaCy pré-treinados, pode ser necessário adquirir a versão completa do TagEditor. Entre em contato com gitprojects5@gmail.com para mais informações. Ele merece o reconhecimento.
  • Feedback: Se tiver ideias para melhorar o programa ou adicionar novas funcionalidades, sinta-se à vontade para enviar um e-mail para gitprojects5@gmail.com.
Com estas instruções, você estará pronto para começar a explorar o poder do TagEditor e organizar seus textos de maneira eficiente.

[5.] Glossário de Termos do TagEditor e Processamento de Linguagem Natural

O glossário explica os termos-chave encontrados no contexto do TagEditor e áreas relacionadas, com o objetivo de facilitar o entendimento e o uso da ferrametna.
  • Anotação: O processo de adicionar rótulos ou metadados a trechos específicos de um texto. O TagEditor é uma ferramenta para facilitar essa tarefa.
  • Anotação de Dependências (Dependencies): Um tipo de anotação que descreve as relações gramaticais entre as palavras em uma frase. Em outras palavras, identifica qual palavra é a "cabeça" de outra.
  • Anotação de Entidades Nomeadas (Named Entities / NER): A identificação e classificação de entidades nomeadas em um texto, como nomes de pessoas, organizações, locais, datas, valores monetários etc.
  • Anotação de Partes do Discurso (Parts of Speech / POS tags): A atribuição de uma categoria gramatical a cada palavra em um texto (ex: substantivo, verbo, adjetivo). O TagEditor permite editar tags detalhadas (fine-grained) e visualizar tags gerais (coarse-grained).
  • Anotação de Texto: Termo genérico para a marcação ou rotulagem de qualquer parte de um texto com informações relevantes.
  • BILOU / IOB: Esquemas de codificação utilizados na anotação de Entidades Nomeadas. BILOU significa Beginning, Inside, Last, Outside, Unit. IOB significa Inside, Outside, Beginning.
  • Classificador de Texto (Text Classifier): Um modelo treinado para atribuir categorias a um texto inteiro, a parágrafos ou a trechos (spans). O TagEditor pode ser usado para treinar ou aplicar esses classificadores.
  • Correferência (Coreference Resolution): A tarefa de identificar quando diferentes menções em um texto (como pronomes ou diferentes nomes para a mesma pessoa/objeto) se referem à mesma entidade. O TagEditor suporta a anotação de correferência de acordo com formatos como o PreCo e é compatível com bibliotecas como NeuralCoref .
  • Dataset: Um conjunto de dados, frequentemente anotado, utilizado para treinar ou avaliar modelos de aprendizado de máquina.
  • Entidades: Elementos específicos em um texto que são de interesse, como pessoas, locais, datas, etc., identificados durante a anotação de Entidades Nomeadas.
  • Formato .json / .spacy: Formatos de arquivo comumente usados para armazenar dados anotados e modelos de machine learning, compatíveis com bibliotecas como spaCy e PyTorch.
  • Labels (Rótulos): Os nomes das categorias ou tipos de anotação que são aplicados ao texto (p.ex: "Pessoa", "Local", "Positivo", "Negativo") .
  • Machine Learning: Um subcampo da inteligência artificial que permite aos sistemas aprenderem com dados sem serem explicitamente programados.
  • Modelo Pré-treinado: Um modelo de machine learning que já foi treinado em um grande conjunto de dados e pode ser usado diretamente ou ajustado (fine-tuned) para tarefas específicas.
  • NLP (Natural Language Processing): Processamento de Linguagem Natural. É uma área da inteligência artificial focada em permitir que computadores entendam, interpretem e gerem linguagem humana.
  • NeuralCoref: Uma biblioteca popular para resolução de correferência em texto, com a qual o TagEditor é compatível.
  • Parágrafo (Paragraph): Uma seção de texto distinta, geralmente separada por uma linha em branco ou recuo. O TagEditor permite a atribuição manual de parágrafos.
  • PreCo Dataset: Um conjunto de dados específico para anotação de correferência, que pode ser carregado diretamente no TagEditor.
  • Processamento de Linguagem Natural (NLP): Ver NLP.
  • Resolução de Correferência: Ver Correferência.
  • SpaCy Library: Uma biblioteca de código aberto para Processamento de Linguagem Natural (NLP) em Python, conhecida por sua eficiência e recursos avançados. O TagEditor utiliza o spaCy para suas funcionalidades de anotação.
  • Span: Um trecho contínuo de texto, definido por um índice inicial e final. O TagEditor permite rotular ou classificar "spans".
  • Tag Set: O painel dentro do TagEditor onde os rótulos (labels) disponíveis para anotação são exibidos e gerenciados.
  • Token: A menor unidade de texto que um sistema de NLP processa, geralmente uma palavra ou um sinal de pontuação. A tokenização é o processo de dividir o texto em tokens.
  • Tokenização: O processo de quebrar um texto em unidades menores, chamadas tokens.
  • TagEditor: Uma ferramenta de anotação de texto para Windows 10 (64-bit) que utiliza a biblioteca spaCy para facilitar a anotação de diversos tipos de dados linguísticos e a criação de datasets de treinamento.
  • Treinamento de Dataset (Training Dataset): Um conjunto de dados anotado usado para ensinar um modelo de machine learning a realizar uma tarefa específica, como identificar entidades ou classificar textos.