Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -5,14 +5,11 @@ import re
|
|
| 5 |
from typing import Dict
|
| 6 |
import textstat
|
| 7 |
|
| 8 |
-
|
| 9 |
-
MODEL_PATH = "GhadaAlothman/arabert_readability_3class" # بعد شوي نشرح كيف ترفعين مودلك له
|
| 10 |
-
|
| 11 |
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
|
| 12 |
model = AutoModelForSequenceClassification.from_pretrained(MODEL_PATH)
|
| 13 |
model.eval()
|
| 14 |
|
| 15 |
-
# ---------- كود التحليل الإحصائي ----------
|
| 16 |
DIACRITICS = re.compile(r"[\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06ED]")
|
| 17 |
AR_LETTERS = r"[\u0600-\u06FF]"
|
| 18 |
SENT_SEP = re.compile(r"[\.!\?؟؛…]+")
|
|
@@ -46,19 +43,20 @@ def analyze_text(text):
|
|
| 46 |
outputs = model(**inputs)
|
| 47 |
probs = torch.nn.functional.softmax(outputs.logits, dim=-1)
|
| 48 |
label_id = torch.argmax(probs, dim=1).item()
|
| 49 |
-
|
| 50 |
label_map = {0: "سهل", 1: "متوسط", 2: "صعب"}
|
| 51 |
label = label_map[label_id]
|
| 52 |
stats = compute_metrics(text)
|
| 53 |
-
return
|
| 54 |
|
|
|
|
|
|
|
| 55 |
demo = gr.Interface(
|
| 56 |
fn=analyze_text,
|
| 57 |
-
inputs=gr.Textbox(label="أدخل النص العربي هنا", lines=6
|
| 58 |
-
outputs=gr.
|
|
|
|
| 59 |
title="Arabic Readability Analyzer",
|
| 60 |
-
description="أداة ذكية لتقييم مقروئية النصوص العربية
|
| 61 |
)
|
| 62 |
|
| 63 |
demo.launch(server_name="0.0.0.0", server_port=7860, share=True)
|
| 64 |
-
|
|
|
|
| 5 |
from typing import Dict
|
| 6 |
import textstat
|
| 7 |
|
| 8 |
+
MODEL_PATH = "GhadaAlothman/arabert_readability_3class"
|
|
|
|
|
|
|
| 9 |
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
|
| 10 |
model = AutoModelForSequenceClassification.from_pretrained(MODEL_PATH)
|
| 11 |
model.eval()
|
| 12 |
|
|
|
|
| 13 |
DIACRITICS = re.compile(r"[\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06ED]")
|
| 14 |
AR_LETTERS = r"[\u0600-\u06FF]"
|
| 15 |
SENT_SEP = re.compile(r"[\.!\?؟؛…]+")
|
|
|
|
| 43 |
outputs = model(**inputs)
|
| 44 |
probs = torch.nn.functional.softmax(outputs.logits, dim=-1)
|
| 45 |
label_id = torch.argmax(probs, dim=1).item()
|
|
|
|
| 46 |
label_map = {0: "سهل", 1: "متوسط", 2: "صعب"}
|
| 47 |
label = label_map[label_id]
|
| 48 |
stats = compute_metrics(text)
|
| 49 |
+
return {"Predicted_Label": label, **stats}
|
| 50 |
|
| 51 |
+
|
| 52 |
+
# ✅ هذا هو الجزء الجديد اللي يفعّل الـ API فعليًا:
|
| 53 |
demo = gr.Interface(
|
| 54 |
fn=analyze_text,
|
| 55 |
+
inputs=gr.Textbox(label="أدخل النص العربي هنا", lines=6),
|
| 56 |
+
outputs=gr.JSON(label="نتائج التحليل"),
|
| 57 |
+
api_name="predict", # <== هذا السطر أهم شي
|
| 58 |
title="Arabic Readability Analyzer",
|
| 59 |
+
description="أداة ذكية لتقييم مقروئية النصوص العربية باستخدام نموذج AraBERT."
|
| 60 |
)
|
| 61 |
|
| 62 |
demo.launch(server_name="0.0.0.0", server_port=7860, share=True)
|
|
|