sharshar1 commited on
Commit
9957dca
·
verified ·
1 Parent(s): 988cc30

Upload main.py

Browse files
Files changed (1) hide show
  1. main.py +13 -10
main.py CHANGED
@@ -46,22 +46,25 @@ def smart_clean_arabic_text(text: str) -> str:
46
  text = re.sub(r"[:\-_/]", " ", text)
47
 
48
  # شيل باقي الرموز
49
- # -------------------- التنظيف الذكي للمسافات --------------------
50
- # 1. إضافة مسافة بعد الحروف التي لا تتصل بما بعدها إذا تبعتها كلمة أخرى
51
- # الحروف هي: ا، أ، إ، د، ذ، ر، ز، و
52
- # يتم البحث عن هذه الحروف متبوعة بحرف عربي آخر (باستثناء مسافة) وإضافة مسافة بينهما
53
- text = re.sub(r"([اأإدذرزو])([ء-ي])", r"\1 \2", text)
54
 
55
- # 2. إزالة المسافات الزائدة حول علامات الترقيم الشائعة (اختياري، لكن يحسن القراءة)
 
 
 
 
 
 
 
56
  text = re.sub(r"\s*([.,;?!])\s*", r"\1 ", text)
57
  text = re.sub(r"\s*([()])\s*", r" \1 ", text)
58
 
59
- # 3. إزالة المسافات الزائدة حول الشرطة (قد تكون فاصلة أو جزء من كلمة)
60
  text = re.sub(r"\s*-\s*", r"-", text)
61
 
62
- # 4. تنظيف الرموز غير المرغوب فيها (قد تكون ناتجة عن أخطاء OCR)
63
- text = re.sub(r"[«»“”‘’]", "", text)
64
-
65
  # -------------------- التنظيف الأساسي --------------------
66
  text = re.sub(r"[^\u0600-\u06FF0-9\s]", "", text)
67
 
 
46
  text = re.sub(r"[:\-_/]", " ", text)
47
 
48
  # شيل باقي الرموز
49
+ # -------------------- التنظيف الذكي للمسافات والحروف المتلاصقة --------------------
50
+ # 1. معالجة تفتيت الكلمات: إزالة المسافات بين الحروف العربية المتتالية
51
+ # مثال: "ا لعمل" تصبح "العمل"
52
+ text = re.sub(r"([\u0600-\u06FF])\s+([\u0600-\u06FF])", r"\1\2", text)
 
53
 
54
+ # 2. معالجة "ال" التعريف الشائعة: إزالة المسافة بين الألف واللام
55
+ # مثال: "ا ل" تصبح "ال"
56
+ text = re.sub(r"([اأإ])\s+([ل])", r"\1\2", text)
57
+
58
+ # 3. تنظيف الرموز غير المرغوب فيها (قد تكون ناتجة عن أخطاء OCR)
59
+ text = re.sub(r"[«»“”‘’]", "", text)
60
+
61
+ # 4. إزالة المسافات الزائدة حول علامات الترقيم الشائعة (اختياري، لكن يحسن القراءة)
62
  text = re.sub(r"\s*([.,;?!])\s*", r"\1 ", text)
63
  text = re.sub(r"\s*([()])\s*", r" \1 ", text)
64
 
65
+ # 5. إزالة المسافات الزائدة حول الشرطة (قد تكون فاصلة أو جزء من كلمة)
66
  text = re.sub(r"\s*-\s*", r"-", text)
67
 
 
 
 
68
  # -------------------- التنظيف الأساسي --------------------
69
  text = re.sub(r"[^\u0600-\u06FF0-9\s]", "", text)
70