Spaces:
Sleeping
Sleeping
shahad altamimi
Claude Opus 4.8
معالجة مسبقة: حذف التشكيل + دمج (الكلمة+التعريف) فقط، وتبسيط واجهة السجل
c62252d Download reverse-dictionary/backend/app/text_utils.py from shahdAI/Semantic-Search: direct link, hf CLI and curl.
- Browser
- Download file 1.41 kB
-
https://huggingface.co/spaces/shahdAI/Semantic-Search/resolve/main/reverse-dictionary/backend/app/text_utils.py
- Command line
-
hf download hf://spaces/shahdAI/Semantic-Search/reverse-dictionary/backend/app/text_utils.py
-
curl -L -o text_utils.py https://huggingface.co/spaces/shahdAI/Semantic-Search/resolve/main/reverse-dictionary/backend/app/text_utils.py
1.41 kB
| # ============================================================ | |
| # 📄 الملف: app/text_utils.py | |
| # 🎯 الغرض: أدوات معالجة مسبقة للنص العربي (مشتركة بين بناء البيانات والبحث). | |
| # | |
| # يجب أن يُعالَج جانب المستندات (بناء الـ embedding) وجانب الاستعلام | |
| # بنفس الطريقة، لذا توضع الدالة هنا ويستوردها الطرفان. | |
| # ============================================================ | |
| import re | |
| # علامات التشكيل العربية: الفتحة/الضمة/الكسرة/السكون/الشدة/التنوين | |
| # والمدّة والألف الخنجرية وعلامات الضبط القرآنية + التطويل (ـ). | |
| _ARABIC_DIACRITICS = re.compile( | |
| "[" | |
| "ؐ-ؚ" # علامات وإشارات عربية (honorifics) | |
| "ً-ٟ" # تنوين + فتحة/ضمة/كسرة + شدّة + سكون + علامات إضافية | |
| "ٰ" # ألف خنجرية (ألف فوقية) | |
| "ۖ-ۭ" # علامات ضبط قرآنية | |
| "ـ" # التطويل (ـ) | |
| "]" | |
| ) | |
| def strip_diacritics(text: str) -> str: | |
| """يحذف التشكيل من النص العربي قبل المعالجة (يحافظ على الحروف كما هي).""" | |
| if not isinstance(text, str): | |
| return "" | |
| return _ARABIC_DIACRITICS.sub("", text) | |