$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
أجريت هذه الدراسة وفقا لإرشادات لجنة أخلاقيات البحث في جامعة ماليزيا الوطنية (UKM) وتمت الموافقة عليها بموجب رقم الموافقة UKM FST / 2025-الذكاء الاصطناعي / 023. تم الحصول على موافقة خطية مستنيرة من جميع المشاركين قبل جمع استفسارات chatbot. تم إخفاء هوية جميع البيانات لضمان سرية المشاركين وخصوصيتهم
نظرة عامة على الدراسة
يتم عرض نظرة عامة على نظام تقديم الطعام الذكي المقترح بمساعدة تقنيات الذكاء الاصطناعي في الشكل 1. كما هو موضح ، تتم معالجة مدخلات العميل مسبقا باستخدام تقنيات البرمجة اللغوية العصبية مثل تضمين الكلمات ، والليماتيا ، والترميز لاستخراج العلامات. بعد ذلك ، تم تطبيق نموذج ML المسمى LDA على نمذجة علامات العملاء لتوفير خدمة بدون تلامس لهم. يتم تنفيذ اقتراح الطعام باستخدام نموذج Conv-RNN. بناء على تسلسل التدفق المسجل من اختيارات العميل السابق ، يتم اقتراح الطعام للعميل بذكاء. أخيرا ، يتم التنبؤ بمستوى رضا العملاء باستخدام نموذج Conv-LSTM المحسن لمزيد من التحسين في خدمات المطعم. يتم تقييم أداء نماذج الذكاء الاصطناعي المقترحة بموجب مقاييس التقييم المختلفة.

الشكل 1: نموذج النظام المقترح لخدمات المطاعم الذكية (ICS). تدمج البنية تفاعل المستخدم والمعالجة المسبقة للبيانات واكتشاف النية والتوصية بالطعام وآليات التغذية الراجعة. الرجاء النقر هنا لعرض نسخة أكبر من هذا الرقم.
مجموعة البيانات المستخدمة
لإنشاء نظام تقديم الطعام الذكي ، جمعنا 283 طلبا من مطعم قريب باستخدام روبوت المحادثة. تم تقسيم هذه الأسئلة ، التي تضمنت مجموعة متنوعة من استفسارات العملاء من تفاصيل القائمة إلى ساعات العمل ، يدويا إلى 15 مجموعة مختلفة من النية. هذا يضمن تغطية شاملة لجميع تفاعلات المستخدم المحتملة مع النظام. التحية ، والوداع ، والتقدير ، وتقديم الطعام ، وساعات العمل ، والإعداد ، ومعلومات الاتصال ، والأسئلة حول المدفوعات ، وقائمة اليوم ، وبدائل التسليم ، وأسئلة القائمة ، وعمليات الطلب ، والصفقات الخاصة ، والحجوزات ، وخيارات المشروبات ، وإمكانية الوصول للجلوس في الهواء الطلق ليست سوى عدد قليل من الجوانب المحددة لاستفسارات العملاء التي تم إجراء فئات النية لتسجيلها. يوضح الجدول 1 تواتر الأسئلة في كل مجموعة من مجموعات الأغراض والتصنيف وفقا للجوهر المواضيعي للاستفسارات. على سبيل المثال ، تحتوي فئة معلومات الاتصال على أعلى الاستفسارات ، مما يشير إلى أن المستفيدين مهتمون جدا بمعرفة كيفية الاتصال بالمطعم. من ناحية أخرى ، حصلت فئات المقاعد والمشروبات على أقل عدد من الاستفسارات ، مما قد يشير إلى أن هناك اهتماما أقل من المستهلكين بهذه الموضوعات أو أن هناك بالفعل المزيد من التوضيح بشأنها.
الخدمة اللاتلامسية باستخدام البرمجة اللغوية العصبية مع LDA
تتم معالجة إدخال المستخدم الذي يبدأ نشاط إطار العمل مسبقا في البداية لتوحيد النص والقضاء على الضوضاء. يعد الترميز وإزالة كلمة التوقف والتخلص من التعليمات أمثلة على هذا التحضير ، والذي يجعل البيانات جاهزة لتحليل إضافي. بعد المعالجة الأولية ، يتم تحويل استفسارات المستخدم إلى تمثيلات رقمية. تعد الروابط الدلالية والأهمية السياقية من بين السمات اللغوية التي تلتقطها هذه التمثيلات. تم استخدام العديد من مصنفات التعلم الآلي لتدريب تمثيلات المتجهات هذه لاستعلامات المستخدم لتصنيف 16 فئة محددة مسبقا (نوايا / علامات). يجلب النموذج الاستجابة ذات الصلة المحددة مسبقا ويعيدها إلى المستخدم بعد التنبؤ بدقة بأهداف استعلام المستخدم.
تجهيزها
يتم تعزيز موثوقية تحليلنا بشكل كبير من خلال الاستعلامات المعالجة مسبقا ، والتي تتحقق من تنسيق البيانات الواردة بشكل متسق وذات صلة بإجراء التصنيف التالي. تم جمع أنماط النية (على سبيل المثال ، التحيات مثل مرحبا ، مرحبا ، مرحبا) ومعالجتها مسبقا عن طريق تحويل النص إلى أحرف صغيرة ، وإزالة كلمات التوقف ، وتطبيق الترميز باستخدام مجموعة أدوات NLTK33. يوضح الجدول 2 خطوات المعالجة المسبقة التي تتبعها هذه الدراسة.
نمذجة العلامات المستندة إلى LDA
يصنف النظام العلامات من المستخدم باستخدام انحدار متجه الدعم (SVR) بحيث يتعرف النظام على تحيات المستخدم. من أجل تحسين قدرة النظام على توقع نية المستخدم ، قمنا بفحص طرق معالجة النصوص التقليدية والمتطورة بدقة بالإضافة إلى نماذج التعلم الآلي (ML) والتعلم العميق (DL). كان هدفنا هو بناء خوارزمية عالية الدقة يمكنها فهم مجموعة واسعة من أسئلة المستخدمين. استخدمت هذه الدراسة الاستراتيجيات الأساسية ل Bag of Words (BoW) و TF-IDF لسهولة استخدامها وفعاليتها في التأكيد على تكرار الكلمات وأهمية الكلمات في النص. سمحت لهم قدرة Glove و Word2Vec على إنتاج تضمينات الكلمات وفقا لاستخدام الكلمات معا بتقديم المعرفة بمعاني الكلمات والسياق22.
بمجرد إعداد البيانات، يتم تصنيف استعلامات المقاصد باستخدام طريقة تخصيص Dirichlet الكامن (LDA). الهدف هو استخدام التنقيب عن النص مع طريقة LDA لتحليل الروابط بين المصطلحات وتحديد الأنماط في هياكلها34،35. تفترض LDA ، غير الخاضعة للإشراف والاحتمالات بطبيعتها ، أن كل مستند في مجموعة يتكون من عدد محدد مسبقا من الموضوعات المحددة يدويا. كل مستند في LDA له وزن متساو ويحتوي على حقيبة من الكلمات. يفترض أن كلمات كل وثيقة غير مرتبة. يتم وصف الموضوع أيضا باستخدام دالة كتلة الاحتمالية للكلمات. يستخدم كل مستند دالة كتلة احتمالية لاختيار السمات. لتصنيف النية ، تم تطبيق تخصيص Dirichlet الكامن (LDA) باستخدام مكتبة GensimPython34.
في LDA ، ينظر إلى النوايا على أنها التوزيع على الكامن الذي يشار إليه بهواء توزيع LDA المسمى
. يتم تحديد نمط بناء على توزيع النية ، والذي يشار إليه على أنه θ (متعدد الحدود) الذي يحدد القصد المحدد ، ينتمي احتمال I إلى الفئة C المحددة. يرتبط توزيع Dirichlet ب β الذي يشفر النمط في حقيبة من الكلمات. بالنظر إلى α و β ، يتم تعريفه على أنه التوزيع متعدد المتغيرات مع N كلمة تتعلق بأنماط M بنوايا z. يشار إلى مجموعة مصطلحات N ب W ، والتي تعطى ك36:
(1)
من خلال التكامل على θ ، يتم إعلان المجموع على أنه Z ، ويتم أخذ المنتج من احتمالات هامش المقاصد الفردية ، ويتم حساب احتمال النية بالكامل على النحو التالي ،
(2)
الأنماط ، بما في ذلك الاختلافات في النية للتحية ، هي مرحبا ، مرحبا ، مرحبا ، صباح الخير / الظهر / عشية ، ومرحبا. أثناء تلقي هذه الأنماط، يجد النظام نية المستخدم كتحيات ويستجيب لها وبالتالي بالعبارة المحددة، مثل ماذا يمكنني مساعدتك؟ أو كيف يمكنني مساعدتك؟ إذا لم يتعرف النظام على الاستعلام مع 15 فئة محددة مسبقا ، فإن النظام يوفر معلومات عن المطعم ويقترح أن يتواصل المستخدم مع خدمة العملاء. تظهر نتيجة نمذجة العلامات المستندة إلى LDA لاستعلامات المستخدم المتعلقة بالتحيات في الشكل 2. وبالمثل ، يتم تنفيذ الردود لجميع الفئات ال 15 المتعلقة بنوايا المستخدم (الاستعلامات). يحتوي نموذج LDA على المعلمات التالية. يتم الإعلان عن عدد الموضوعات (k) على أنه 40 ، وتم تثبيت Alpha على أنه 0.05 ، وقيمة Beta هي 0.04 ، وعدد التكرارات معلن عن 100.
اقتراح غذائي باستخدام Bi-NN ل ICS
في نظام تقديم الطعام الذكي (ICS) ، يتم تصنيف المواد الغذائية بشكل منهجي لدعم توصيات دقيقة. قد يمثل كل إدخال في القائمة إما عنصرا واحدا (على سبيل المثال ، برجر أو وجبة خفيفة أو مشروب) أو مجموعة من العناصر مثل مجموعة الوجبات (على سبيل المثال ، الدجاج المقلي مع مشروب بارد). يتم تجميع هذه العناصر في ست فئات رئيسية: الدجاج والبرغر والوجبات الخفيفة والشراب والبدلة والتيفين. من أجل الوضوح ، تشير البدلة إلى مجموعات الوجبات المعبأة ، بينما يمثل تيفين وجبات تقليدية متعددة العناصر. يتم تعريف كل عنصر غذائي من خلال ثلاث ميزات رئيسية: سعره وفئته وناقل المحتوى الذي يصف تكوينه. يتيح هذا التصنيف المنظم لنموذج التوصية تحليل سجلات شراء العملاء على مستوى العنصر والفئة، مما يحسن قدرة النظام على اقتراح الوجبات والمجموعات ذات الصلة التي تتوافق مع تفضيلات المستخدم. جميع الأطعمة في ICS هي مجموعة يشار إليها على أنها ،
حيث يشير N إلى العدد الإجمالي للمواد الغذائية في ICS. لكل منتج
غذائي في F ،
يتكون من تفاصيل ميزات الطعام ، ويشار إليه على أنه ،
(3)
حيث ،
يشير إلى أسعار المواد الغذائية ،
ويشير إلى فئة المواد الغذائية حيث
يشير C إلى الفئات.
يشير إلى عدد القوائم حيث
يشير المكان M إلى القوائم
إلى متجه محتوى الطعام ، حيث
يوجد عنصر متجه المحتوى ويمثل الدجاج والبرغر والوجبات الخفيفة والشراب والبدلة وتيفين ، على التوالي.
تتكون بيانات المستخدم من تفاصيل حول المستخدم للإشارة إلى ميزات المستخدم التي يمكن الحصول عليها من التطبيق أو تدفق الاستخدام. لكل مستخدم
، يتم الإشارة إلى الميزات على النحو التالي ،
(4)
حيث
، يشير إلى تفاصيل المستخدم ، مثل العمر والجنس.
يشير إلى حدث النقر للمستخدم ، وهو متجه متغير الطول حيث
يعلن و t عن وقت حدث النقر الأخير ،
وهو الرقم الموجب ويشير
إلى تسلسل التدفق بأكمله الذي يشير إلى عملية الشراء بأكملها التي أجراها المستخدم.
يشير إلى قائمة الأغذية التي اشتراها العميل ، حيث
يشير ، k إلى الكمية الإجمالية للمواد الغذائية التي تم شراؤها من قبل المستخدم.
باستخدام F و U ، اللذين يشيران إلى المواد الغذائية وبيانات المستخدم ، على التوالي ، يتم تأطير نظام التوصية في ICS. الهدف من هذا النظام هو تحسين الدقة لتعزيز نية شراء المستخدم. تمت صياغة مشكلة ICS على النحو التالي:
(5)
تشير المعادلة (5) إلى هدف المسألة المتمثل في إيجاد نتائج دقة محسنة على مشكلة ICS عن طريق تقليل دالة الخسارة المشار إليها في المعادلة (6).
(6)
أين,
هي النتائج المتوقعة وهي
النتيجة الفعلية. يعمل النموذج بشكل أفضل عندما تكون قيمة دالة الخسارة أصغر. يتم استخدام دالة الخسارة لتحديد التناقض بين القيمة المتوقعة للنموذج والقيمة الحقيقية Y. في هذا،
(7)
أين
(8)
(9)
في هذا ، يشير r إلى بيانات التدريب في X ، و s هو رقم المادة الغذائية المشتراة لبيانات تدريب واحدة. استخدمت ICS المطورة الانتروبيا المتقاطعة كدالة خسارة ، والتي تم وصفها في القسم التالي.
توصية غذائية قائمة على Conv-RNN
من خلال تحليل سمات المنتج وتقييمات المستخدمين وملفات تعريف المستخدمين ، يوفر نظام التوصية المستند إلى Conv-RNN للمستخدمين توصيات بناء على اهتماماتهم. يوضح الشكل 3 تصميم CRNN المقترح. غالبا ما تأخذ نماذج Conv-RNN في الاعتبار أو تضيفها تلقائيا معلومات محددة حول السياق الزمني للمستخدم أثناء تقديم الاقتراحات. ومع ذلك ، فإن مدى فهم نظام التوصية واستخدامه للسياق الذي توفره طلبات الاقتراحات غالبا ما يحدد مدى فعاليته. يحسب Conv-RNN تقييمات التنبؤ استنادا إلى الميزات والسمات الديناميكية للعنصر وسياق الوقت الحالي للمستخدم لتقديم توصيات مناسبة لمستخدم معين. من المحتم أن يكون لدى الأشخاص الذين يمرون بأشياء مماثلة في نفس الوقت تفضيلات مماثلة. تعتمد فعالية نظام التوصيات الواعي بالوقت المستند إلى CNN على قدرته على العثور على المستخدمين الأكثر قابلية للمقارنة مع المستقبل المقصود والذين يتشاركون نفس السياق الزمني. وبالتالي ، تسجل CNN السياق الزمني ، وهو المعلومات الحساسة للوقت حول نشاط المستخدم. ثم تم تغذية طبقة إدخال CNN بسمات المستخدم وخصائص العنصر ومعلومات الوقت لإعادة بناء المصفوفة الأصلية. يتم إعطاء طريقة لحساب الناتج النهائي بمجرد استخدام طبقة الالتفاف لاستخراج المعالم من المصفوفة.
من طبقات الالتواء، يتم استخراج أحداث النقر على الطعام باستخدام المعادل (10)
(10)
حيث O هو حجم الإخراج ، و X هو حجم بيانات الإدخال ، و F هو حجم النواة التلافيفية ، و a هو ملء بيانات الإدخال ، و S أكثر من 1 و S هي خطوة النواة. يمكن للشبكة العصبية نمذجة نماذج أكثر تعقيدا مما يمكن أن تكون مقتصرة على محاكاة الحسابات بين الطبقات المجاورة للشبكة ، وهو ما تقوم به باستخدام التوحيد ولكن التشغيل الخطي فقط ، لأن وظيفة التنشيط داخل طبقة التحفيز تستخدم لأداء العمليات غير الخطية. في الشبكة العصبية ، يكون الاتصال من طبقة إلى طبقة متسلسلا تماما. في Conv-RNN ، كانت وظائف التنشيط هي الأكثر انتشارا. تفتقر وظائف التنشيط التقليدية والسيني وأنواع أخرى من وظائف التنشيط إلى التدرج ولها نطاقات فاصلة زمنية صغيرة وعملية. عند استخدام عملية غير خطية موفرة للموارد أيضا ، تصبح وظائف الوحدة الخطية المصححة (ReLU) الأداة الأساسية للتغلب على هاتين المشكلتين.
من أجل الكفاءة الحسابية ، تقوم طبقة التجميع بأخذ عينات من البيانات ومعالجتها بشكل ضئيل. طرق التجميع القصوى والمتوسطة هما مثالان معروفان لخوارزميات التجميع. يوفر MaxPooling نتائج أفضل لتحديد الميزات. حدد MaxPooling الميزات التالية:
(11)
ثم يستخدم Conv-RNN الطبقة المتصلة بالكامل باستخدام طريقتين كثيفتين لإعادة تدريب ذيل Conv-RNN مع فقدان أقل لمعلومات الميزات. تستخدم الطبقات المتكررة بشكل شائع في الشبكات العصبية لتحليل البيانات المتسلسلة. بسبب الاتصالات التي تسمح لهم بالحفاظ على ذاكرة داخلية للمدخلات السابقة ، تتعامل الطبقات المتكررة مع كل إدخال على حدة ، على عكس طبقات التغذية الأمامية التقليدية. هذا يجعل الطبقات المتكررة مناسبة بشكل خاص للمهام التي تتضمن التسلسلات أو بيانات السلاسل الزمنية أو أي نوع من المعلومات حيث يكون ترتيب المدخلات مهما. الوحدة الأساسية للطبقة المتكررة هي الخلايا العصبية المتكررة ، وغالبا ما تعرف باسم خلية RNN. نظرا لأن خلايا RNN تتعامل مع المدخلات واحدة تلو الأخرى ، فإنها تحافظ على حالة داخلية تحتوي على بيانات من المدخلات السابقة. يتم تغيير حالته الداخلية في كل خطوة زمنية ، مما يؤثر على معالجة المدخلات اللاحقة. تعرض طبقة الإخراج للمستخدم النتائج بعد استخدام مصنف SoftMax. قبل استخدام الحقول ، التي تصنف خصائصها على أنها فهرس المصفوفة المضمنة ، يجب أولا تحويلها إلى أعداد صحيحة.
تم استخدام دالة فقدان الانتروبيا المتقاطعة الفئوية ، والتي تحدد الفرق بين تسميات الفئة الحقيقية y وتوزيع الاحتمال المتوقع y '، لتدريب نموذج توصية Conv-RNN. تم استخدام نزول التدرج العشوائي (SGD) مع تقدير العزم التكيفي (آدم) لتحسين معلمات النموذج θ (الأوزان والتحيزات). تم تعديل المعلمات على النحو التالي في كل تكرار تدريبي:
(12)
حيث ، η هو معدل التعلم ،
هو تدرج دالة الخسارة بالنسبة إلى θ.
تم استخدام التكتيكات التالية لتجنب الإفراط في التجهيز. أثناء التدريب ، يتم استخدام تنظيم التسرب (ρ = 0.3) على طبقات مرتبطة بالكامل لتعطيل الخلايا العصبية بشكل عشوائي. عندما لم يلاحظ أي تحسن لمدة 15 حقبة متتالية ، توقف التدريب مبكرا بناء على فقدان التحقق من الصحة.
التحقق من الصحة المتبادلة للانقسام بخمسة أضعاف لتأكيد أداء التعميم
باستخدام بحث الشبكة على مجموعة التحقق من الصحة ، تم إجراء ضبط المعلمات الفائقة. تم تضمين مساحة البحث عدد عوامل التصفية لطبقة الالتفاف ، 64 ، حجم النواة ، 3 × 3 ، عدد الطبقات المتكررة ك 100 ، حجم الدفعة ، معدل التسرب 0.2 ، ومعدل التعلم 0.002. المحسن المستخدم هو ADAM. أخيرا ، ترجع طبقة الإخراج نتائج الأطعمة الموصى بها كمتجه تشفير ساخن واحد ، حيث يتم الإشارة إلى الأطعمة المقترحة بواحد ، وسيتم الإشارة إلى المخرجات الأخرى على أنها 0.
التنبؤ برضا العملاء باستخدام Conv-LSTM
استخدمت هذه الدراسة الذاكرة طويلة المدى قصيرة الالتفاف (Conv-LSTM) للتنبؤ برضا العملاء بمجرد الانتهاء من تقديم الطعام. يظهر هيكل Conv-LSTM في الشكل 4. تشتمل بنية CNN على الخلايا العصبية المدخلة ، وسلسلة من الطبقات التلافيفية ، والتجميع ، والطبقات المتصلة تماما ، وطبقات التطبيع37. ترتبط الخلايا العصبية لطبقة الالتفاف بالطبقة الموجودة فوقها من خلال منطقة ضيقة ، في حين أن الخلايا العصبية المنشطة للطبقات المرتبطة بالكامل مرتبطة ارتباطا كاملا بالطبقات الموجودة تحتها. تحدد مدخلات Conv-LSTM صراحة أشكال الموتر والدقة الزمنية. يتم تنظيم كل تسلسل إدخال لكل جلسة أمر عميل (الخطوة الزمنية = لكل طلب)، حيث يتم ترميز قائمة الشراء كمتجه متعدد المستويات الساخنة ويتم تمثيل مستوى الرضا المرتبط كدرجة رقمية. الموتر الناتج له الشكل (حجم الدفعة × طول التسلسل × بعد الميزة).
يفصل الإرسال الأمامي والخلفي لوظيفة في CNN بشكل عام العوامل إلى مجموعات مختلفة بناء على مدخلاتها. ظهرت العديد من تصميمات CNN نتيجة للتطورات البحثية الحديثة. كما هو موضح في المعادلة (15) ، تشير ثلاثة أوزان ، iw و rw و b ، إلى وزن الإدخال والوزن المتكرر والتحيز ، على التوالي ، والتي تم استخدامها في كل كتلة LSTM.
(13)
فيما يلي إعلان عن حالة الخلية في الخطوة الزمنية t:
(14)
حيث يشار إلى منتج Hadamard ب . رمز الحالة المخفية Ht ل t هو ،
(15)
يتم الإعلان عن المعلمات الفائقة وقيمها ل Conv-LSTM على النحو التالي: عدد المرشحات لطبقة الالتفاف هو 64 ، وحجم النواة 3 × 3 ، ووحدات LSTM 100 بمعدل تسرب 0.2 ، وحجم الدفعة 64 ، ومعدل التعلم 0.002 ، وعدد الخطوات الزمنية 50 مع محسن آدم.
مخطط UML والتعليمات البرمجية الزائفة لتفاعل العملاء
يتم تصوير التدفق الديناميكي للتفاعلات في النظام المقترح في مخطط تسلسل UML (الشكل 5). تعالج الوحدة النمطية NLP –LDA طلب المستخدم (مثل طلب الوجبة أو طلب البحث) لنمذجة الموضوع واستخراج النية. بعد المعالجة، يتلقى محرك التوصية (Conv-RNN) الطلب وينتج توصية مخصصة. أخيرا ، يتلقى المستخدم استجابة في الوقت الفعلي من النظام. يضمن هذا التسلسل الشفافية في تحويل مدخلات المستخدم إلى مخرجات خدمة ذكية ويؤكد على التفاعل المعياري للمكونات.
تم إعطاء خوارزمية توصية Conv-RNN رمزا زائفا لتحسين قابلية التكرار. يوفر نظرة عامة على المنطق الحسابي المتسلسل ، والذي يتضمن المعالجة المسبقة لطلب المستخدم ، واستخدام الطبقات التلافيفية والمتكررة لنمذجة التسلسل واستخراج الميزات ، والتنظيم ، وطبقة إخراج softmax لإنشاء اقتراح. يوفر هذا الكود التجريبي عرضا واضحا على مستوى التنفيذ لسير عمل النموذج ، مما يعزز الصيغ الرياضية.
التعليمات البرمجية الزائفة: خوارزمية توصية Conv-RNN
الإدخال: طلب المستخدم U ، تسلسل التفاعل التاريخي H
الإخراج: العنصر الغذائي الموصى به R
- المعالجة المسبقة U → الترميز ، وتضمينها باستخدام Word2Vec
- بناء تسلسل الإدخال S = [H ، U]
- تطبيق الطبقة التلافيفية:
S_conv = Conv1D (S ، مرشحات ، kernel_size)
- المرور عبر الطبقة المتكررة (RNN / GRU):
S_RNN = RNN (S_conv ، hidden_units)
- تقدم بطلب التسرب للتسوية
- طبقة كثيفة مع تنشيط Softmax:
P = Softmax (W xS_rnn + b)
- حدد التوصية:
R = argmax (ع)
- إرجاع R إلى المستخدم