Views
No views yet
ArEn-TweetSentiment-BERT-Hatem is a bilingual sentiment analysis model trained on both Arabic and English tweets. It is based on the bert-base-multilingual-cased model from Hugging Face Transformers.bert-base-multilingual-casedbert-base-multilingual-cased tokenizer| Epoch | Train Loss | Val Loss | Accuracy | F1 Score | Precision | Recall |
|---|---|---|---|---|---|---|
| 1 | 0.6266 | 0.7536 | 59.00% | 0.1800 | 0.6429 | 0.1047 |
| 2 | 0.5127 | 0.5944 | 72.00% | 0.6667 | 0.6829 | 0.6512 |
| Epoch | Train Loss | Val Loss | Accuracy | F1 Score | Precision | Recall |
|---|---|---|---|---|---|---|
| 1 | 0.5851 | 0.5879 | 70.85% | 0.6674 | 0.6139 | 0.7312 |
| 2 | 0.4792 | 0.5007 | 78.65% | 0.7105 | 0.7763 | 0.6550 |
| Epoch | Train Loss | Val Loss | Accuracy | F1 Score | Precision | Recall |
|---|---|---|---|---|---|---|
| 1 | 0.5231 | 0.5846 | 72.35% | 0.7127 | 0.6171 | 0.8434 |
| 2 | 0.4404 | 0.4496 | 79.98% | 0.7502 | 0.7615 | 0.7394 |
1from transformers import pipeline
2
3classifier = pipeline("sentiment-analysis", model="HatemMoushir/ArEn-TweetSentiment-BERT-Hatem")
4print(classifier("الخدمة كانت ممتازة"))
5print(classifier("I hate this product."))1
2from transformers import pipeline
3
4# تحميل النموذج
5classifier = pipeline("sentiment-analysis", model="HatemMoushir/ArEn-TweetSentiment-BERT-Hatem")
6
7# 100 جملة مع التصنيفات الحقيقية (1 = إيجابي، 0 = سلبي)
8samples = [
9 ("أنا سعيد جدًا اليوم", 1),
10 ("الجو ممطر وهذا يجعلني حزينًا", 0),
11 ("نجحت في الامتحان!", 1),
12 ("أشعر بالإحباط من الأخبار", 0),
13 ("أحب أصدقائي كثيرًا", 1),
14 ("هذا أسوأ يوم في حياتي", 0),
15 ("أشعر بالراحة والطمأنينة", 1),
16 ("لم أتمكن من النوم جيدًا الليلة", 0),
17 ("اليوم جميل ومشمس", 1),
18 ("كل شيء يسير بشكل خاطئ", 0),
19 ("أحب مشاهدة الأفلام مع عائلتي", 1),
20 ("تأخرت عن العمل وفقدت مزاجي", 0),
21 ("أشعر بالنشاط والحيوية", 1),
22 ("المكان مزدحم ولا أستطيع التحمل", 0),
23 ("قضيت عطلة رائعة على الشاطئ", 1),
24 ("انتهى اليوم بشكل سيء", 0),
25 ("أشعر بالتفاؤل بشأن المستقبل", 1),
26 ("لم يعجبني الطعام اليوم", 0),
27 ("أشعر بالحب من الجميع", 1),
28 ("خسرت كل شيء في لحظة", 0),
29 ("الموسيقى تجعلني سعيدًا", 1),
30 ("الطريق مزدحم وأنا غاضب", 0),
31 ("أنا ممتن لكل شيء لدي", 1),
32 ("كان يومًا مرهقًا جدًا", 0),
33 ("أشعر بالأمل رغم الصعوبات", 1),
34 ("لا أطيق الانتظار لزيارة أصدقائي", 1),
35 ("تجاهلني في الاجتماع وشعرت بالإهانة", 0),
36 ("فزت في المسابقة!", 1),
37 ("الجو خانق ولا يُحتمل", 0),
38 ("تلقيت رسالة جميلة من صديقي", 1),
39 ("انقطعت الكهرباء وفاتني الفيلم", 0),
40 ("أنا محظوظ بعائلتي", 1),
41 ("لا أحد يهتم بي", 0),
42 ("الهدوء في هذا المكان يريحني", 1),
43 ("خسرت فرصتي الأخيرة", 0),
44 ("أشعر أنني محبوب", 1),
45 ("ضاعت أمتعتي في المطار", 0),
46 ("قمت بعمل جيد اليوم", 1),
47 ("لا أريد التحدث مع أحد", 0),
48 ("أنا ممتن للحياة", 1),
49 ("يوم ممل وبلا فائدة", 0),
50 ("تلقيت ترقية في العمل", 1),
51 ("أشعر بالإجهاد والتعب", 0),
52 ("الهدية أسعدتني كثيرًا", 1),
53 ("انهرت من الضغط", 0),
54 ("تناولت وجبة لذيذة", 1),
55 ("تأخرت الرحلة وأشعر بالضيق", 0),
56 ("حققت هدفًا كنت أسعى له", 1),
57 ("الخسارة كانت قاسية", 0),
58 ("أنا فخور بنفسي", 1),
59 ("فقدت الثقة في من حولي", 0),
60 ("عطلة نهاية الأسبوع كانت رائعة", 1),
61 ("لا أجد أي دافع للاستمرار", 0),
62 ("ابني نجح في دراسته", 1),
63 ("كل من حولي خذلني", 0),
64 ("مشيت على البحر وكان الجو جميلًا", 1),
65 ("تعرضت لموقف محرج أمام الجميع", 0),
66 ("أشعر بالسعادة لأني ساعدت شخصًا", 1),
67 ("تم تجاهلي بالكامل", 0),
68 ("نمت جيدًا واستيقظت بنشاط", 1),
69 ("لا أشعر بأي تقدم", 0),
70 ("يوم رائع مع أصدقائي", 1),
71 ("فشلت مرة أخرى", 0),
72 ("تلقيت مكالمة أسعدتني", 1),
73 ("كل شيء ينهار من حولي", 0),
74 ("استمتعت بالأجواء اليوم", 1),
75 ("أشعر بالقلق المستمر", 0),
76 ("كان اللقاء دافئًا ومليئًا بالحب", 1),
77 ("لا أتحمل الضغط أكثر", 0),
78 ("نجح مشروعي أخيرًا", 1),
79 ("فقدت عملي اليوم", 0),
80 ("قضيت وقتًا ممتعًا في الحديقة", 1),
81 ("أنا خائف مما سيأتي", 0),
82 ("تلقيت دعمًا كبيرًا من أصدقائي", 1),
83 ("اليأس يسيطر علي", 0),
84 ("رحلتي كانت مليئة بالفرح", 1),
85 ("لا شيء يسعدني مؤخرًا", 0),
86 ("أحببت الفيلم كثيرًا", 1),
87 ("كلماتهم جرحتني", 0),
88 ("تذوقت طعامًا رائعًا", 1),
89 ("لا أرى فائدة من المحاولة", 0),
90 ("ضحكنا كثيرًا اليوم", 1),
91 ("حلمي تبخر", 0),
92 ("لحظة اللقاء كانت ساحرة", 1),
93 ("خسرت أقرب الناس إلي", 0),
94 ("المشي في الطبيعة يريح أعصابي", 1),
95 ("لم يصدقني أحد", 0),
96 ("ابتسامة طفل جعلت يومي أفضل", 1),
97 ("كل شيء أصبح صعبًا", 0),
98 ("اليوم احتفلت بنجاحي", 1),
99 ("انهار كل شيء في لحظة", 0),
100 ("أمضيت وقتًا ممتعًا مع العائلة", 1),
101 ("فقدت الأمل تمامًا", 0),
102 ("قضيت يومًا رائعًا في الريف", 1),
103 ("الناس لا يفهمونني", 0),
104 ("استمتعت بالموسيقى والهدوء", 1),
105 ("لا أشعر بالسعادة أبدًا", 0),
106 ("الأصدقاء جلبوا لي السعادة", 1),
107 ("تعبت من المحاولة", 0),
108 ("كل لحظة كانت رائعة", 1),
109 ("كل شيء فشل", 0),
110 ("النجاح كان ثمرة جهدي", 1),
111 ("لا أملك شيئًا أفرح به", 0)
112]
113
114# تجربة النموذج ومقارنة النتيجة
115correct = 0
116
117for i, (text, true_label) in enumerate(samples):
118 result = classifier(text)[0]
119
120 predicted_label = 1 if result["label"] == ("LABEL_1") else 0
121 is_correct = predicted_label == true_label
122 correct += is_correct
123
124 print(f"{i+1}. \"{text}\"")
125 print(f" 🔍 Model → {predicted_label} | 🎯 True → {true_label} | {'✔️ صح' if is_correct else '❌ غلط'}\n")
126
127# حساب الدقة
128accuracy = correct / len(samples)
129print(f"✅ Accuracy: {accuracy * 100:.2f}%")1
2from transformers import pipeline
3
4# تحميل النموذج الإنجليزي المدرب على Sentiment140
5
6classifier = pipeline("sentiment-analysis", model="HatemMoushir/ArEn-TweetSentiment-BERT-Hatem")
7
8# 100 جملة إنجليزية مع التصنيف الحقيقي: 1 = Positive, 0 = Negative
9samples = [
10 ("I love this place!", 1),
11 ("I hate waiting in traffic.", 0),
12 ("Today is a beautiful day", 1),
13 ("I am really disappointed", 0),
14 ("Feeling great about this opportunity", 1),
15 ("This movie was terrible", 0),
16 ("Absolutely loved the dinner", 1),
17 ("I’m sad and frustrated", 0),
18 ("My friends make me happy", 1),
19 ("Everything went wrong today", 0),
20 ("What a fantastic game!", 1),
21 ("Worst experience ever", 0),
22 ("The weather is amazing", 1),
23 ("I can’t stand this anymore", 0),
24 ("So proud of my achievements", 1),
25 ("Feeling down", 0),
26 ("Just got a promotion!", 1),
27 ("Why does everything suck?", 0),
28 ("Best vacation ever", 1),
29 ("I’m tired of this nonsense", 0),
30 ("Such a lovely gesture", 1),
31 ("That was rude and uncalled for", 0),
32 ("Finally some good news!", 1),
33 ("I'm so lonely", 0),
34 ("My cat is the cutest", 1),
35 ("This food tastes awful", 0),
36 ("Celebrating small wins today", 1),
37 ("Not in the mood", 0),
38 ("Grateful for everything", 1),
39 ("I feel useless", 0),
40 ("Such a peaceful morning", 1),
41 ("Another failure, just great", 0),
42 ("Got accepted into college!", 1),
43 ("I hate being ignored", 0),
44 ("The sunset was breathtaking", 1),
45 ("You ruined my day", 0),
46 ("He makes me feel special", 1),
47 ("Everything is falling apart", 0),
48 ("Can't wait for the weekend", 1),
49 ("So much stress right now", 0),
50 ("I’m in love", 1),
51 ("I don’t care anymore", 0),
52 ("Won first place!", 1),
53 ("This is so frustrating", 0),
54 ("He always cheers me up", 1),
55 ("Feeling stuck", 0),
56 ("Had a wonderful time", 1),
57 ("Nothing matters", 0),
58 ("Looking forward to tomorrow", 1),
59 ("Just leave me alone", 0),
60 ("We made it!", 1),
61 ("Horrible customer service", 0),
62 ("The music lifts my spirits", 1),
63 ("I'm drowning in problems", 0),
64 ("My team won the match", 1),
65 ("I wish I never came", 0),
66 ("Sunshine and good vibes", 1),
67 ("Everything is a mess", 0),
68 ("Love the energy here", 1),
69 ("Feeling hopeless", 0),
70 ("She always makes me smile", 1),
71 ("So many regrets", 0),
72 ("Today was a success", 1),
73 ("Bad day again", 0),
74 ("I’m truly blessed", 1),
75 ("This is depressing", 0),
76 ("Can't stop smiling", 1),
77 ("Everything hurts", 0),
78 ("So excited for this!", 1),
79 ("I hate myself", 0),
80 ("Best concert ever", 1),
81 ("Life is unfair", 0),
82 ("Happy and content", 1),
83 ("Crying inside", 0),
84 ("Feeling inspired", 1),
85 ("The service was awful", 0),
86 ("Joy all around", 1),
87 ("I feel dead inside", 0),
88 ("It’s a dream come true", 1),
89 ("Nothing good ever happens", 0),
90 ("Feeling positive", 1),
91 ("That hurt my feelings", 0),
92 ("Success tastes sweet", 1),
93 ("I can't handle this", 0),
94 ("We had a blast", 1),
95 ("It’s not worth it", 0),
96 ("He’s such a kind soul", 1),
97 ("I'm broken", 0),
98 ("Everything is perfect", 1),
99 ("So tired of pretending", 0),
100 ("What a nice surprise!", 1),
101 ("I feel empty", 0),
102 ("Can’t wait to start!", 1),
103 ("It's always my fault", 0),
104 ("A new beginning", 1),
105 ("So much pain", 0),
106 ("My heart is full", 1),
107 ("This sucks", 0),
108 ("I feel accomplished", 1),
109 ("Why bother", 0),
110 ("Living my best life", 1),
111 ("I just want to disappear", 0)
112]
113
114# تجربة النموذج ومقارنة النتيجة
115correct = 0
116
117for i, (text, true_label) in enumerate(samples):
118 result = classifier(text)[0]
119 predicted_label = 1 if result["label"] == "LABEL_1" else 0
120 is_correct = predicted_label == true_label
121 correct += is_correct
122
123 print(f"{i+1}. \"{text}\"")
124 print(f" 🔍 Model → {predicted_label} | 🎯 True → {true_label} | {'✔️ Correct' if is_correct else '❌ Wrong'}\n")
125
126# دقة النموذج
127accuracy = correct / len(samples)
128print(f"✅ Accuracy: {accuracy * 100:.2f}%")