|
|
import gradio as gr |
|
|
|
|
|
|
|
|
arabic_feelings_map = { |
|
|
|
|
|
"زعلان": "غضب", |
|
|
"معصب": "غضب", |
|
|
"سيء": "غضب", |
|
|
"خدمة سيئة": "غضب", |
|
|
"ما عجبني": "غضب", |
|
|
"تجربة سيئة": "غضب", |
|
|
|
|
|
|
|
|
"محبط": "حزن", |
|
|
"حزين": "حزن", |
|
|
"مكسور": "حزن", |
|
|
"ندمت": "حزن", |
|
|
|
|
|
|
|
|
"مبسوط": "سعادة", |
|
|
"سعيد": "سعادة", |
|
|
"مرتاح": "سعادة", |
|
|
"راضي": "سعادة", |
|
|
"ممتاز": "سعادة", |
|
|
"رهيب": "سعادة", |
|
|
"يعجبني": "سعادة", |
|
|
|
|
|
|
|
|
"خايف": "خوف", |
|
|
"قلقان": "خوف", |
|
|
"متوتر": "خوف", |
|
|
|
|
|
|
|
|
"مقرف": "اشمئزاز", |
|
|
"مثير للاشمئزاز": "اشمئزاز", |
|
|
|
|
|
|
|
|
"عادي": "محايد", |
|
|
"طبيعي": "محايد" |
|
|
} |
|
|
|
|
|
|
|
|
def analyze_arabic_text(text): |
|
|
text = text.strip().lower() |
|
|
|
|
|
if not text: |
|
|
return "❗️ الرجاء إدخال رأي العميل" |
|
|
|
|
|
|
|
|
for key in arabic_feelings_map: |
|
|
if key in text: |
|
|
return f"🧠 الشعور ج: {arabic_feelings_map[key]}" |
|
|
|
|
|
return f"✅ رأي العميل: {text}\n\n🧠 الشعور المستنتج: غير واضح (محايد)" |
|
|
|
|
|
|
|
|
ui = gr.Interface( |
|
|
fn=analyze_arabic_text, |
|
|
inputs=gr.Textbox(placeholder="اكتب رأي العميل هنا... (مثال: الخدمة سيئة)"), |
|
|
outputs="text", |
|
|
title="✅ محلل رضا العملاء بالعربي", |
|
|
description="أدخل رأي العميل وسيتم تحليل شعوره تلقائياً (غضب، سعادة، حزن، خوف...)." |
|
|
) |
|
|
ui.launch() |