Views
No views yet
microsoft/Multilingual-MiniLM-L12-H384 to classify email subjects as SPAM or NOSPAM.microsoft/Multilingual-MiniLM-L12-H384microsoft/Multilingual-MiniLM-L12-H384 to classify email subjects as SPAM or NOSPAM.1from transformers import AutoTokenizer, AutoModelForSequenceClassification
2
3model_name = "Goodmotion/spam-mail-classifier"
4tokenizer = AutoTokenizer.from_pretrained(model_name)
5model = AutoModelForSequenceClassification.from_pretrained(
6 model_name
7)
8
9text = "Félicitations ! Vous avez gagné un iPhone."
10inputs = tokenizer(text, return_tensors="pt")
11outputs = model(**inputs)
12print(outputs.logits)1import torch
2from transformers import AutoTokenizer, AutoModelForSequenceClassification
3
4model_name = "Goodmotion/spam-mail-classifier"
5
6tokenizer = AutoTokenizer.from_pretrained(model_name)
7model = AutoModelForSequenceClassification.from_pretrained(model_name)
8
9texts = [
10'Join us for a webinar on AI innovations',
11'Urgent: Verify your account immediately.',
12'Meeting rescheduled to 3 PM',
13'Happy Birthday!',
14'Limited time offer: Act now!',
15'Join us for a webinar on AI innovations',
16'Claim your free prize now!',
17'You have unclaimed rewards waiting!',
18'Weekly newsletter from Tech World',
19'Update on the project status',
20'Lunch tomorrow at 12:30?',
21'Get rich quick with this amazing opportunity!',
22'Invoice for your recent purchase',
23'Don\'t forget: Gym session at 6 AM',
24'Join us for a webinar on AI innovations',
25'bonjour comment allez vous ?',
26'Documents suite à notre rendez-vous',
27'Valentin Dupond mentioned you in a comment',
28'Bolt x Supabase = 🤯',
29'Modification site web de la société',
30'Image de mise en avant sur les articles',
31'Bring new visitors to your site',
32'Le Cloud Éthique sans bullshit',
33'Remix Newsletter #25: React Router v7',
34'Votre essai auprès de X va bientôt prendre fin',
35'Introducing a Google Docs integration, styles and more in Claude.ai',
36'Carte de crédit sur le point d’expirer sur Cloudflare'
37]
38inputs = tokenizer(texts, padding=True, truncation=True, max_length=128, return_tensors="pt")
39outputs = model(**inputs)
40
41# Convertir les logits en probabilités avec softmax
42logits = outputs.logits
43probabilities = torch.softmax(logits, dim=1)
44
45# Décoder les classes pour chaque texte
46labels = ["NOSPAM", "SPAM"] # Mapping des indices à des labels
47results = [
48 {"text": text, "label": labels[torch.argmax(prob).item()], "confidence": prob.max().item()}
49 for text, prob in zip(texts, probabilities)
50]
51
52# Afficher les résultats
53for result in results:
54 print(f"Texte : {result['text']}")
55 print(f"Résultat : {result['label']} (Confiance : {result['confidence']:.2%})\n")