Spaces:
Sleeping
Sleeping
Upload main.py
Browse files
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 |
-
#
|
| 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 |
|