Update README.md
Browse files
README.md
CHANGED
|
@@ -11,4 +11,43 @@
|
|
| 11 |
| :--- | :---: | :---: | :---: | :---: |
|
| 12 |
| **Ненормативная лексика** | 0.75 | 0.9402 | 0.9495 | 0.9448 |
|
| 13 |
| **Угрозы** | 0.80 | 0.8031 | 0.8421 | 0.8221 |
|
| 14 |
-
| **Запросы на нарушение закона** | 0.90 | 0.9242 | 0.9531 | 0.9385 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
| :--- | :---: | :---: | :---: | :---: |
|
| 12 |
| **Ненормативная лексика** | 0.75 | 0.9402 | 0.9495 | 0.9448 |
|
| 13 |
| **Угрозы** | 0.80 | 0.8031 | 0.8421 | 0.8221 |
|
| 14 |
+
| **Запросы на нарушение закона** | 0.90 | 0.9242 | 0.9531 | 0.9385 |
|
| 15 |
+
|
| 16 |
+
## Быстрый старт
|
| 17 |
+
```
|
| 18 |
+
import torch
|
| 19 |
+
from transformers import AutoTokenizer, AutoModel
|
| 20 |
+
|
| 21 |
+
REPO_ID = "pogram1st/multitask-toxicity-comments"
|
| 22 |
+
DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
| 23 |
+
|
| 24 |
+
tokenizer = AutoTokenizer.from_pretrained(REPO_ID)
|
| 25 |
+
model = AutoModel.from_pretrained(REPO_ID, trust_remote_code=True)
|
| 26 |
+
|
| 27 |
+
model.to(DEVICE)
|
| 28 |
+
model.eval()
|
| 29 |
+
|
| 30 |
+
def predict_toxicity(text):
|
| 31 |
+
encoding = tokenizer(
|
| 32 |
+
text,
|
| 33 |
+
max_length=64,
|
| 34 |
+
padding='max_length',
|
| 35 |
+
truncation=True,
|
| 36 |
+
return_tensors='pt'
|
| 37 |
+
).to(DEVICE)
|
| 38 |
+
|
| 39 |
+
with torch.no_grad():
|
| 40 |
+
out_prof, out_threat, out_ill = model(encoding['input_ids'], encoding['attention_mask'])
|
| 41 |
+
|
| 42 |
+
prob_prof = torch.sigmoid(out_prof).item()
|
| 43 |
+
prob_threat = torch.sigmoid(out_threat).item()
|
| 44 |
+
prob_ill = torch.sigmoid(out_ill).item()
|
| 45 |
+
|
| 46 |
+
print(f"Текст: '{text}'")
|
| 47 |
+
print(f"Ненормативная лексика: {prob_prof:.0%} -> {'Запрещенный контент' if prob_prof >= 0.75 else 'Ок'}")
|
| 48 |
+
print(f"Угроза: {prob_threat:.0%} -> {'Запрещенный контент' if prob_threat >= 0.80 else 'Ок'}")
|
| 49 |
+
print(f"Запрос на нарушение закона: {prob_ill:.0%} -> {'Запрещенный контент' if prob_ill >= 0.90 else 'Ок'}\n")
|
| 50 |
+
|
| 51 |
+
predict_toxicity("Это приятно знать, но тем не менее.")
|
| 52 |
+
|
| 53 |
+
```
|