layan / app.py
Layan22's picture
Update app.py
62057e0 verified
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()