File size: 10,903 Bytes
69f640b cc8fde9 e25ef03 69f640b d4142c5 a8e4787 69f640b cc8fde9 5dc4c1b 69f640b 5dc4c1b e399664 d4142c5 e399664 0dd6259 d4142c5 e25ef03 6872daa e25ef03 69f640b e25ef03 69f640b e25ef03 69f640b d4142c5 d17153b d4142c5 434fc92 d4142c5 211cb04 d4142c5 e25ef03 69f640b 0dd6259 d4142c5 0dd6259 d4142c5 0dd6259 69f640b e25ef03 69f640b d4142c5 58bfe6d d4142c5 69f640b f798711 69f640b d17153b e399664 69f640b 6872daa 69f640b e399664 69f640b cc8fde9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 |
---
library_name: transformers
license: mit
base_model:
- neuralmind/bert-large-portuguese-cased
- belisards/congretimbau
tags:
- congresso
- direito
- politica
metrics:
- accuracy
- f1
- recall
- precision
model-index:
- name: modelos
results: []
language:
- pt
pipeline_tag: text-classification
datasets:
- azmina/ementas_congresso
---
# IA Feminista
Este modelo faz classificação temática de projetos de lei relacionados a gênero a partir da ementa disponibilizada pela Câmara e o Senado brasileiro.
Ele foi desenvolvido a partir do ajuste fino (fine-tuning para classificação) do [Congretimbau](https://huggingface.co/belisards/congretimbau), que por sua vez é uma versão do [BERTimbau](https://huggingface.co/neuralmind/bert-base-portuguese-cased) adaptada (com técnicas de pré-treino continuado via modelagem de linguagem mascarada) para ementas de projetos de lei.
O modelo atinge as seguintes métricas no conjunto de dados de teste:
- Perda(loss): 0.5892
- Acurácia: 0.8155
- F1: 0.7939
- Recall: 0.7935
- Precisão: 0.8063
## Descrição do modelo
O modelo tem como objetivo fazer uma classificação multirrótulo a partir da ementa dos projetos de lei.
As ementas são atribuídas a uma das seguintes categorias:
```
{0: 'economia',
1: 'genero',
2: 'dignidade sexual',
3: 'violencia contra a mulher',
4: 'politica',
5: 'direitos sexuais e reprodutivos',
6: 'direitos sociais',
7: 'maternidade',
8: 'feminicidio'}
```
A definição de cada categoria está descrita na seção "Categorias" abaixo.
## Resultados
As métricas reportadas abaixo foram obtidas a partir do [conjunto de teste dos dados anotados](https://huggingface.co/datasets/azmina/ementas_congresso).
| Categoria | Precisão | Recall | F1-Score | Suporte |
|-------------------------------------|-----------|--------|----------|---------|
| dignidade sexual | 0.94 | 0.88 | 0.91 | 17 |
| direitos sexuais e reprodutivos | 0.89 | 0.84 | 0.86 | 19 |
| direitos sociais | 0.61 | 0.58 | 0.59 | 19 |
| economia | 0.78 | 0.50 | 0.61 | 14 |
| feminicidio | 0.67 | 0.80 | 0.73 | 5 |
| genero | 0.81 | 1.00 | 0.90 | 13 |
| maternidade | 0.70 | 0.74 | 0.72 | 19 |
| politica | 1.00 | 0.88 | 0.93 | 8 |
| violencia contra a mulher | 0.86 | 0.93 | 0.89 | 54 |
| **Accuracy** | | | 0.82 | 168 |
| **Macro Average** | 0.81 | 0.79 | 0.79 | 168 |
| **Weighted Average** | 0.82 | 0.82 | 0.81 | 168 |
## Casos de uso e limitações
O modelo deve ser usado para prover uma classificação temática inicial dos projetos de lei. Os temas atribuídos pelo modelo devem ser validado posteriormente por um profissional responsável. Recomenda-se também considerar a utilização de múltiplas classes, uma vez que a acurácia top-k (para k = 2) do modelo é de 95%.
O código abaixo demonstra um exemplo de utilização do modelo para inferência no conjunto de dados de teste:
```
from datasets import Dataset, load_dataset
dataset = load_dataset("azmina/ementas_anotadas")
cols = ["text","label"]
fix_columns = {"label_tema":"label"}
test = dataset["test"].to_pandas().rename(columns=fix_columns)[cols]
from transformers import AutoModelForSequenceClassification, AutoConfig, AutoTokenizer
from torch import cuda
import torch
device = 'cuda' if cuda.is_available() else 'cpu'
model_name = "azmina/ia_feminista_tema"
tokenizer = 'neuralmind/bert-base-portuguese-cased'
tokenizer = AutoTokenizer.from_pretrained(tokenizer)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
model.to(device)
config = AutoConfig.from_pretrained(model_name)
class_mapping = config.id2label
def inference(string):
tokens = tokenizer(string, truncation=True, max_length=512, return_tensors="pt")
tokens = {key: value.to(device) for key, value in tokens.items()}
with torch.no_grad():
outputs = model(**tokens)
predicted_index = outputs.logits.argmax(dim=-1).item()
# Retorna a principal classe predita
predicted_class = class_mapping[predicted_index]
# Lista as probabilidades de todas as classes
all_proba = outputs.logits.softmax(dim=-1).tolist()[0]
# Retorna a probabilidade da classe
pred_proba = all_proba[predicted_index]
return predicted_class, all_proba, pred_proba
test["pred_label"], test["all_proba"], test["pred_proba"] = zip(*test["text"].apply(lambda x: inference(x)))
```
Entre as limitações do modelo, destaca-se a taxa de acerto variável de acordo com a classe (consulte a tabela acima para mais detalhes). Recomenda-se cautela com casos de uso envolvendo decisões de risco, em especial nas classes com baixa taxa de acerto.
## Dados de treinamento e avaliação
Para treinar o modelo, foi utilizado um conjunto de dados anotado pelo Instituto AzMina.
Mais informações e o acesso aos dados podem ser obtidos no seguinte link: [https://huggingface.co/azmina/ementas_anotadas](https://huggingface.co/datasets/azmina/ementas_congresso)
## Treinamento
O treinamento (fine-tuning) foi feita em duas etapas.
Na primeira, foi usado o dataset de validação para monitorar o treinamento do modelo, utilizando técnicas de EarlyStopping. A avaliação comparativa com outros modelos foi feita com base no dataset de teste.
Para o treinamento do modelo final, este disponibilizado aqui, o dataset de validação foi incorporado aos dados de treinamento, mantendo o dataset de teste separado para fins de avaliação. Neste caso, não foi utilizado técnicas de EarlyStopping e o ajuste dos hiperparâmetros foi feito manualmente a partir de experimentos monitorados.
### Categorias
- dignidade sexual: refere-se ao reconhecimento do valor de cada indivíduo em relação à sua sexualidade. Isso implica que todas as pessoas têm o direito de viver sua sexualidade de maneira plena e respeitosa, sem discriminação ou violência. A dignidade sexual garante as relações interpessoais sejam baseadas no respeito mútuo e no consentimento. Neste conjunto de projetos de lei, estão incluídos nessa categoria todos os textos que envolvem crimes contra a dignidade sexual, incluindo estupro e atos relacionados, violação sexual mediante fraude, assédio sexual, divulgação de cena de sexo ou de pornografia, tráfico de pessoas e ato obsceno.
- direitos sexuais e reprodutivos: conjunto de direitos humanos que garantem a todos os indivíduos liberdade e capacidade para decidir sobre sua vida sexual e reprodutiva. Isso inclui o direito à informação, à educação, ao acesso a serviços de saúde reprodutiva, ao aborto, ao planejamento familiar, assistência médica durante a gravidez, parto e pós-parto e ao livre exercício da sexualidade.
- direitos sociais: aqueles que garantem condições mínimas de vida digna a todos os indivíduos, incluindo acesso à educação, saúde, trabalho, moradia e seguridade social. Esses direitos visam promover a igualdade e a justiça social, assegurando que todos tenham oportunidades iguais para desenvolver seu potencial humano.
- economia: todos os projetos de lei que envolver questões de produção, distribuição, acumulação e consumo de bens materiais com recorte de gênero. A categoria inclui, por exemplo, a concessão de benefícios financeiros exclusivos para mulheres e pessoas LGBT, participação econômica de mulheres e outros grupos, abordando temas como igualdade salarial, empreendedorismo feminino, inclusão no mercado de trabalho, acesso a crédito e medidas para combater a precarização do trabalho feminino.
- feminicidio: assassinato de mulheres motivado por questões de gênero, ou seja, por ela ser do sexo feminino. Inclui projetos para prevenir, combater e punir o feminicídio, como políticas para a prevenção, investigação e julgamento de crimes de feminicídio, bem como medidas de apoio e proteção às vítimas de violência de gênero.
- genero: construções sociais e culturais atribuídas aos papéis masculinos e femininos na sociedade, que influenciam comportamentos, oportunidades e relações entre os sexos. O conceito de gênero é fundamental para entender desigualdades sociais e promover políticas que visem à equidade. Eeste conjunto de projetos de lei, inclui propostas sobre ideologia de gênero, igualdade de gênero, lgbtfobia, orientação sexual e identidade de gênero, propostas para promover a igualdade e eliminar discriminações e preconceitos baseados no gênero, medidas para garantir direitos e oportunidades iguais para mulheres, homens, pessoas trans e não-binárias em áreas como trabalho, educação, saúde, segurança e participação política.
- maternidade: é a qualidade ou estado de ser mãe, envolvendo não apenas o ato biológico da gestação e do parto, mas também o cuidado, educação e proteção oferecidos à criança. Inclui iniciativas sobre licença-maternidade, saláario maternidade e adoção, proteção no ambiente de trabalho, acesso a creches, políticas de apoio à amamentação e assistência a mães em situação de vulnerabilidade.
- politica: atividade relacionada à governança do Estado nos níveis minucipal, estadual e federal, e às relações de poder entre indivíduos ou grupos. Envolve projetos de lei voltados à participação política das mulheres e à promoção da equidade de gênero na esfera política. Incluem propostas para aumentar a representatividade feminina em cargos eletivos e de liderança, além de garantir a participação em processos de tomada de decisão e elaboração de políticas públicas.
- violencia contra a mulher: qualquer ato de violência baseado no gênero que resulte em danos para mulheres. Inclui projetos para prevenir, punir e erradicar a violência contra mulheres em todas as suas formas, incluindo violência física, psicológica, sexual, patrimonial e moral. Envolvem políticas de proteção, atendimento e apoio às vítimas, bem como campanhas educativas e ações para responsabilizar os agressores. Essa categoria inclui todos os tipos de violência contra mulheres, com exceção dos crimes contra a dignidade sexual, que estão agrupados em categoria homônima.
### Hiperparâmetros de treinamento
- learning_rate: 1e-05
- train_batch_size: 32
- eval_batch_size: 32
- seed: 5151
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- lr_scheduler_warmup_steps: 50
- num_epochs: 8
### Versões
- Transformers 4.45.1
- Pytorch 2.4.1+cu121
- Datasets 3.0.1
- Tokenizers 0.20.0 |