omar0scarf commited on
Commit
6948096
·
1 Parent(s): 164603c

تحديث الكود لتبسيط معالجة النصوص

Browse files
Files changed (2) hide show
  1. app.py +9 -6
  2. requirements.txt +6 -7
app.py CHANGED
@@ -8,7 +8,6 @@ from transformers import (
8
  )
9
  from datasets import load_dataset
10
  import numpy as np
11
- from arabert.preprocess import ArabertPreprocessor
12
  import re
13
  import os
14
 
@@ -25,7 +24,6 @@ sentiment_model_name = "CAMeL-Lab/bert-base-arabic-camelbert-msa"
25
  # تهيئة المعالجات
26
  tokenizer = AutoTokenizer.from_pretrained(base_model_name, use_auth_token=HF_TOKEN)
27
  model = AutoModelForCausalLM.from_pretrained(base_model_name, use_auth_token=HF_TOKEN)
28
- arabert_prep = ArabertPreprocessor(model_name="aubmindlab/bert-base-arabertv2")
29
 
30
  # إعداد معالجات النصوص
31
  text_generator = pipeline(
@@ -45,11 +43,16 @@ sentiment_analyzer = pipeline(
45
  def clean_arabic_text(text):
46
  # إزالة الأسطر الجديدة والمسافات الزائدة
47
  text = ' '.join(text.split())
48
- # معالجة النص باستخدام ArabertPreprocessor
49
- text = arabert_prep.preprocess(text)
50
  # إزالة الرموز غير المرغوب فيها
51
  text = re.sub(r'[^\u0600-\u06FF\s]', ' ', text)
52
- return text
 
 
 
 
 
53
 
54
  def analyze_sentiment(text):
55
  try:
@@ -180,4 +183,4 @@ demo = gr.Interface(
180
  # تشغيل الواجهة
181
  if __name__ == "__main__":
182
  print("جاري تشغيل النموذج...")
183
- demo.launch(share=True)
 
8
  )
9
  from datasets import load_dataset
10
  import numpy as np
 
11
  import re
12
  import os
13
 
 
24
  # تهيئة المعالجات
25
  tokenizer = AutoTokenizer.from_pretrained(base_model_name, use_auth_token=HF_TOKEN)
26
  model = AutoModelForCausalLM.from_pretrained(base_model_name, use_auth_token=HF_TOKEN)
 
27
 
28
  # إعداد معالجات النصوص
29
  text_generator = pipeline(
 
43
  def clean_arabic_text(text):
44
  # إزالة الأسطر الجديدة والمسافات الزائدة
45
  text = ' '.join(text.split())
46
+ # إزالة التشكيل
47
+ text = re.sub(r'[\u064B-\u065F\u0670]', '', text)
48
  # إزالة الرموز غير المرغوب فيها
49
  text = re.sub(r'[^\u0600-\u06FF\s]', ' ', text)
50
+ # توحيد الألف والياء
51
+ text = re.sub('[إأآا]', 'ا', text)
52
+ text = re.sub('[ىي]', 'ي', text)
53
+ # إزالة التكرار
54
+ text = re.sub(r'(.)\1+', r'\1', text)
55
+ return text.strip()
56
 
57
  def analyze_sentiment(text):
58
  try:
 
183
  # تشغيل الواجهة
184
  if __name__ == "__main__":
185
  print("جاري تشغيل النموذج...")
186
+ demo.launch()
requirements.txt CHANGED
@@ -1,8 +1,7 @@
1
- transformers==4.30.2
2
- torch==2.0.1
3
- gradio==3.35.2
4
- datasets==2.13.0
5
  scikit-learn==1.2.2
6
- numpy==1.24.3
7
- arabert==1.0.1
8
- regex==2023.5.5
 
1
+ transformers==4.35.2
2
+ torch==2.1.1
3
+ gradio==4.7.1
4
+ datasets==2.15.0
5
  scikit-learn==1.2.2
6
+ numpy==1.26.2
7
+ regex==2023.10.3