許可證: MIT
語言:
- 英文
庫名稱: transformers
任務標籤: 標記分類
標籤:
- 社會偏見
指標:
- 名稱: F1值
類型: F1
值: 0.7864
- 名稱: 召回率
類型: 召回率
值: 0.7617
基礎模型: "bert-base-uncased"
二氧化碳當量排放:
排放量: 8
訓練類型: "微調"
地理位置: "美國亞利桑那州鳳凰城"
硬件設備: "T4 GPU"
社會偏見命名實體識別模型
該命名實體識別模型基於BERT微調,用於多標籤標記分類,識別以下類別:
- (GEN)概括性表述
- (UNFAIR)不公平性
- (STEREO)刻板印象
您可以通過在線演示空間體驗。
快速使用指南
由於Transformers庫未內置多標籤標記分類管道,可通過以下代碼加載模型並格式化輸出:
import json
import torch
from transformers import BertTokenizerFast, BertForTokenClassification
import gradio as gr
tokenizer = BertTokenizerFast.from_pretrained('bert-base-uncased')
model = BertForTokenClassification.from_pretrained('ethical-spectacle/social-bias-ner')
model.eval()
model.to('cuda' if torch.cuda.is_available() else 'cpu')
id2label = {
0: 'O',
1: 'B-STEREO',
2: 'I-STEREO',
3: 'B-GEN',
4: 'I-GEN',
5: 'B-UNFAIR',
6: 'I-UNFAIR'
}
def predict_ner_tags(sentence):
inputs = tokenizer(sentence, return_tensors="pt", padding=True, truncation=True, max_length=128)
input_ids = inputs['input_ids'].to(model.device)
attention_mask = inputs['attention_mask'].to(model.device)
with torch.no_grad():
outputs = model(input_ids=input_ids, attention_mask=attention_mask)
logits = outputs.logits
probabilities = torch.sigmoid(logits)
predicted_labels = (probabilities > 0.5).int()
result = []
tokens = tokenizer.convert_ids_to_tokens(input_ids[0])
for i, token in enumerate(tokens):
if token not in tokenizer.all_special_tokens:
label_indices = (predicted_labels[0][i] == 1).nonzero(as_tuple=False).squeeze(-1)
labels = [id2label[idx.item()] for idx in label_indices] if label_indices.numel() > 0 else ['O']
result.append({"token": token, "labels": labels})
return json.dumps(result, indent=4)
GUS-Net項目詳情
資源:
引用格式:
@article{powers2024gusnet,
title={{GUS-Net: 基於概括性、不公平性與刻板印象的文本社會偏見分類系統}},
author={Maximus Powers, Umang Mavani, Harshitha Reddy Jonala, Ansh Tiwari, Hua Wei},
journal={arXiv預印本 arXiv:2410.08388},
year={2024},
url={https://arxiv.org/abs/2410.08388}
}
歡迎關注我們的研究團隊Ethical Spectacle。