Views
No views yet
1from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
2import torch
3
4model_path = "Abdou/arabic-tashkeel-flan-t5-small"
5
6tokenizer = AutoTokenizer.from_pretrained(model_path)
7model = AutoModelForSeq2SeqLM.from_pretrained(model_path)
8
9def vocalize_text(text, model, tokenizer, max_length=256, num_beams=4, temperature=0.2, do_sample=False):
10 device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
11 model.to(device)
12 model.eval()
13 # Tokenize the input text
14 inputs = tokenizer(text, return_tensors="pt", max_length=max_length, truncation=True, padding="max_length")
15 inputs = {k: v.to(device) for k, v in inputs.items()}
16 with torch.no_grad():
17 if do_sample:
18 outputs = model.generate(
19 **inputs,
20 max_length=max_length,
21 do_sample=True,
22 temperature=temperature,
23 )
24 else:
25 outputs = model.generate(
26 **inputs,
27 max_length=max_length,
28 num_beams=num_beams,
29 early_stopping=True
30 )
31 return tokenizer.decode(outputs[0], skip_special_tokens=True)
32
33# Quran texts
34quran_texts = [
35 "قل هو نبأ عظيم أنتم عنه معرضون",
36 "إنما يخشى الله من عباده العلماء",
37 "والله غالب على أمره ولكن أكثر الناس لا يعلمون",
38 "وعلم ءادم الأسماء كلها ثم عرضهم على الملائكة فقال أنبؤوني بأسماء هؤلاء إن كنتم صادقين",
39 "وإذ قال موسى لقومه يا قوم لم تؤذونني وقد تعلمون أني رسول الله إليكم",
40 "ولله يسجد ما في السماوات وما في الارض من دابة والملاءكة وهم لا يستكبرون",
41 "الذي أحسن كل شيء خلقه وبدأ خلق الإنسان من طين",
42]
43# Hadith texts
44hadith_texts = [
45 "إن الله لا ينظر إلى صوركم وأموالكم ولكن ينظر إلى قلوبكم وأعمالكم",
46 "عن أبي ذر جندب بن جنادة، وأبي عبدالرحمن معاذ بن جبل رضي الله عنهما، عن رسول الله ﷺ، قال: اتق الله حيثما كنت وأتبع السيئة الحسنة تمحها، وخالق الناس بخلق حسن . رواه الترمذي وقال: حديث حسن.",
47 "المسلم من سلم المسلمون من لسانه ويده",
48 "المؤمن القوي خير وأحب إلى الله من المؤمن الضعيف ، وفي كل خير.",
49]
50# some Arabic texts
51arabic_texts = [
52 "إنما الأمم الأخلاق ما بقيت فإن هم ذهبت أخلاقهم ذهبوا",
53 "يعد من أكبر علماء الأندلس وأكبر علماء الإسلام تصنيفًا وتأليفًا بعد الطبري، وهو إمام حافظ. فقيه ظاهري، ومجدد القول به، بل محيي المذهب بعد زواله في الشرق. ومتكلم وأديب وشاعر ونسّابة وعالم برجال الحديث وناقد محلل بل وصفه البعض بالفيلسوف كما عد من أوائل من قال بكروية الأرض، كما كان وزير سياسي لبني أمية، سلك طريق نبذ التقليد وتحرير الأتباع، قامت عليه جماعة من المالكية وشـُرد عن وطنه. توفي لاحقاً في منزله في أرض أبويه منت ليشم المعروفة بمونتيخار حالياً، وهي عزبة قريبة من ولبة. وأصل جده يزيد فارسي، أسلم وأول من دخل منهم بلاد المغرب، وكانت بلدهم قرطبة فولد ابن حزم بها في سلخ نهاية رمضان من سنة أربع وثمانين وثلاثمائة."
54]
55
56texts = [
57 ("Quran Texts", quran_texts),
58 ("Hadith Texts", hadith_texts),
59 ("Arabic Texts", arabic_texts)
60]
61for title, texts in texts:
62 print(f"=============== {title} ===============")
63 for text in texts:
64 vocalized_result = vocalize_text(text, model, tokenizer)
65 print(f"Input: \n{text}")
66 print("="*10)
67 print(f"Prediction: \n{vocalized_result}")
68 print("="*10)1=============== Quran Texts ===============
2Input:
3قل هو نبأ عظيم أنتم عنه معرضون
4==========
5Prediction:
6قُلْ هُوَ نَبَأٌ عَظِيمٌ أَنْتُمْ عَنْهُ مُعْرِضُونَ
7==========
8Input:
9إنما يخشى الله من عباده العلماء
10==========
11Prediction:
12إِنَّمَا يَخْشَى ٱللَّهَ مِنْ عِبَادِهِ ٱلْعُلَمَآءُ
13==========
14Input:
15والله غالب على أمره ولكن أكثر الناس لا يعلمون
16==========
17Prediction:
18وَٱللَّهُ غَالِبٌ عَلَىٰٓ أَمْرِهِۦ وَلَٰكِنَّ أَكْثَرَ ٱلنَّاسِ لَا يَعْلَمُونَ
19==========
20Input:
21وعلم ءادم الأسماء كلها ثم عرضهم على الملائكة فقال أنبؤوني بأسماء هؤلاء إن كنتم صادقين
22==========
23Prediction:
24وَعَلِّمْ ءَادَمَ ٱلْأَسْمَآءَ كُلَّهَا ثُمَّ عَرَضَهُمْ عَلَى ٱلْمَلاَئِكَةِ فَقَالَ أَنبَؤُونِي بِأَسْمَاءِ هَٰٓؤُلَآءِ إِن كُنتُمْ صَادِقِينَ
25==========
26Input:
27وإذ قال موسى لقومه يا قوم لم تؤذونني وقد تعلمون أني رسول الله إليكم
28==========
29Prediction:
30وَإِذْ قَالَ مُوسَىٰ لِقَوْمِهِ يَا قَوْمِ لِمَ تُؤْذُونَنِي وَقَدْ تَعْلَمُونَ أَنِّي رَسُولُ اللَّهِ إِلَيْكُمْ
31==========
32Input:
33ولله يسجد ما في السماوات وما في الارض من دابة والملاءكة وهم لا يستكبرون
34==========
35Prediction:
36وَلِلَّهِ يَسْجُدُ مَا فِي السَّمَاوَاتِ وَمَا فِي الْارْضِ مِنْ دَابَّةٍ وَالْمَلَائِكَةُ وَهُمْ لَا يَسْتَكْبِرُونَ
37==========
38Input:
39الذي أحسن كل شيء خلقه وبدأ خلق الإنسان من طين
40==========
41Prediction:
42الَّذِي أَحْسَنَ كُلَّ شَيْءٍ خَلْقَهُ وَبَدَأَ خَلْقَ الْإِنْسَانِ مِنْ طِينٍ
43==========
44=============== Hadith Texts ===============
45Input:
46إن الله لا ينظر إلى صوركم وأموالكم ولكن ينظر إلى قلوبكم وأعمالكم
47==========
48Prediction:
49إِنَّ اللَّهَ لَا يَنْظُرُ إِلَىٰ صُوَرِكُمْ وَأَمْوَالِكُمْ وَلَكِنْ يَنْظُرُ إِلَىٰ قُلُوبِكُمْ وَأَعْمَالِكُمْ
50==========
51Input:
52عن أبي ذر جندب بن جنادة، وأبي عبدالرحمن معاذ بن جبل رضي الله عنهما، عن رسول الله ﷺ، قال: اتق الله حيثما كنت وأتبع السيئة الحسنة تمحها، وخالق الناس بخلق حسن . رواه الترمذي وقال: حديث حسن.
53==========
54Prediction:
55عَنْ أَبِي ذَرٍّ جُنْدُبِ بْنِ جُنَادَةَ، وَأَبِي عَبْدِالرَّحْمَنِ مُعَاذِ بْنِ جَبَلٍ رَضِيَ اللَّهُ عَنْهُمَا، عَنْ رَسُولِ اللَّهِ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ، قَالَ: اتَّقِ اللَّهَ حَيْثُمَا كُنْتَ وَأَتْبِعِ السَّيِّئَةَ الْحَسَنَةَ تَمْحُهَا، وَخَالِقِ النَّاسَ بِخُلُقٍ حَسَنٍ . رَوَاهُ التِّرْمِذِيُّ وَقَالَ: حَدِيثٌ حَسَنٌ.
56==========
57Input:
58المسلم من سلم المسلمون من لسانه ويده
59==========
60Prediction:
61الْمُسْلِمُ مَنْ سَلِمَ الْمُسْلِمُونَ مِنْ لِسَانِهِ وَيَدِهِ
62==========
63Input:
64المؤمن القوي خير وأحب إلى الله من المؤمن الضعيف ، وفي كل خير.
65==========
66Prediction:
67الْمُؤْمِنُ الْقَوِيُّ خَيْرٌ وَأَحَبُّ إِلَى اللَّهِ مِنَ الْمُؤْمِنِ الضَّعِيفِ ، وَفِي كُلِّ خَيْرٍ.
68==========
69=============== Arabic Texts ===============
70Input:
71إنما الأمم الأخلاق ما بقيت فإن هم ذهبت أخلاقهم ذهبوا
72==========
73Prediction:
74إِنَّمَا الأُمَمُ الأَخْلاقُ مَا بَقِيَتْ فَإِنْ هُمْ ذَهَبَتْ أَخْلاقُهُمْ ذَهَبُوا
75==========
76Input:
77يعد من أكبر علماء الأندلس وأكبر علماء الإسلام تصنيفًا وتأليفًا بعد الطبري، وهو إمام حافظ. فقيه ظاهري، ومجدد القول به، بل محيي المذهب بعد زواله في الشرق. ومتكلم وأديب وشاعر ونسّابة وعالم برجال الحديث وناقد محلل بل وصفه البعض بالفيلسوف كما عد من أوائل من قال بكروية الأرض، كما كان وزير سياسي لبني أمية، سلك طريق نبذ التقليد وتحرير الأتباع، قامت عليه جماعة من المالكية وشـُرد عن وطنه. توفي لاحقاً في منزله في أرض أبويه منت ليشم المعروفة بمونتيخار حالياً، وهي عزبة قريبة من ولبة. وأصل جده يزيد فارسي، أسلم وأول من دخل منهم بلاد المغرب، وكانت بلدهم قرطبة فولد ابن حزم بها في سلخ نهاية رمضان من سنة أربع وثمانين وثلاثمائة.
78==========
79Prediction:
80يُعَدُّ مِنْ أَكْبَرِ عُلَمَاءِ الْأَنْدَلُسِ وَأَكْبَرِ عُلَمَاءِ الْإِسْلَامِ تَصْنِيفًا وَتَأْلِيفًا بَعْدَ الطَّبَرِيِّ، وَهُوَ إِمَامٌ حَافِظٌ. فَقِيهٌ ظَاهِرِيٌّ، وَمُجَدِّدُ الْقَوْلِ بِهِ، بَلْ مُحْيِي الْمَذْهَبِ بَعْدَ زَوَالِهِ فِي الشَّرْقِ. وَمُتَكَلِّمٌ وَأَدِيبٌ وَشَاعِرٌ وَنَسَّابَةٌ وَعَالِمٌ بِرِجَالِ الْحَدِيثِ وَنَاقِدٌ مُحَلَّلٌ بَلْ وَصَفَهُ الْبَعْضُ بِالْفَيْلَسُوفِ كَمَا عُدَّ مِنْ أَوَائِلِ مَنْ قَالَ بِكُرَوِيَّةِ الْأَرْضِ، كَمَا كَانَ وَزِيرٌ سِيَاسِيٌّ لِبَنِي أُمَيَّةَ، سَلَكَ طَرِيقَ نَبْذِ التَّقْلِيدِ وَتَحْرِيرَ الْأَتْبَاعِ، قَامَتْ عَلَيْهِ جَمَاعَةٌ مِنَ الْمَالِكِيَّةِ وَشَـرُّدٌ عَنْ وَطَنِهِ. تُوُفِّيَ لَاحِقًا فِي مَنْزِلِهِ فِي أَرْضِ أَبَوَيْهِ مُنْتَ لِيَشُمَّ الْمَعْرُوفَةَ بِمُونتِيخَارٍ حَالِيًّا، وَهِيَ عَزْبَةٌ قَرِيبَةٌ مِنْ وَلُبَّةٍ. وَأَصْلُ جَدِّهِ يَزِيدُ فَارِسِيٌّ، أَسْلَمَ وَأَوَّلُ مَنْ دَخَلَ مِنْهُمْ بِلَادَ الْمَغْرِبِ، وَكَانَتْ بَلَدُهُمْ قُرْطُبَةَ فَوُلِدَ ابْنُ حَزْمٍ بِهَا فِي سَلْخِ نِهَايَةِ رَمَضَانَ مِنْ سَنَةِ أَرْبَعٍ وَثَمَانِينَ وَثَلَاثِمِائَةٍ.
81==========وَعَلِّمْ instead of وَعَلَّمَ or وَفِي كُلِّ خَيْرٍ instead of وَ فِي كُلٍّ خَيْرٌ.vocalize_text() function is using Beam Search decoding (num_beams=4), you can use sampling by setting do_sample=True and temperature to a value between 0 and 1.