File size: 1,865 Bytes
9faae34 ea8c744 62057e0 c25287b 62057e0 c25287b 62057e0 c25287b 9faae34 c25287b 62057e0 9faae34 62057e0 9faae34 889c102 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
import gradio as gr
# ✅ Arabic Semantic Mapping for Customer Satisfaction
arabic_feelings_map = {
# 😡 Anger / Complaint
"زعلان": "غضب",
"معصب": "غضب",
"سيء": "غضب",
"خدمة سيئة": "غضب",
"ما عجبني": "غضب",
"تجربة سيئة": "غضب",
# 😢 Sad / Disappointed
"محبط": "حزن",
"حزين": "حزن",
"مكسور": "حزن",
"ندمت": "حزن",
# 😍 Happy / Satisfied
"مبسوط": "سعادة",
"سعيد": "سعادة",
"مرتاح": "سعادة",
"راضي": "سعادة",
"ممتاز": "سعادة",
"رهيب": "سعادة",
"يعجبني": "سعادة",
# 😨 Fear / Anxiety
"خايف": "خوف",
"قلقان": "خوف",
"متوتر": "خوف",
# 🤢 Disgust
"مقرف": "اشمئزاز",
"مثير للاشمئزاز": "اشمئزاز",
# 😐 Neutral
"عادي": "محايد",
"طبيعي": "محايد"
}
# ✅ Smart Arabic Analyzer
def analyze_arabic_text(text):
text = text.strip().lower()
if not text:
return "❗️ الرجاء إدخال رأي العميل"
# Try direct match
for key in arabic_feelings_map:
if key in text:
return f"🧠 الشعور ج: {arabic_feelings_map[key]}"
return f"✅ رأي العميل: {text}\n\n🧠 الشعور المستنتج: غير واضح (محايد)"
# ✅ Build Arabic UI
ui = gr.Interface(
fn=analyze_arabic_text,
inputs=gr.Textbox(placeholder="اكتب رأي العميل هنا... (مثال: الخدمة سيئة)"),
outputs="text",
title="✅ محلل رضا العملاء بالعربي",
description="أدخل رأي العميل وسيتم تحليل شعوره تلقائياً (غضب، سعادة، حزن، خوف...)."
)
ui.launch() |