يعتمد هذا المستودع على عمل تحليل البيانات الاستكشافية (EDA) على بيانات مراجعة Amazon (2018) باستخدام MongoDB & Pyspark ويتضمن تطبيق ويب متصل بنظام توصية المنتج تم تطويره مع بيانات بيانات Amazon الشاملة (2018) ، وتتألف من 233.1 مليون سجل وتحتل ما يقرب من 128 جيجا بايت (GB) من تخزين البيانات ، وذلك باستخدام مخزون البيانات ، و apoDB ، و apoDb ، Kafka ، كجزء من المشروع النهائي لدورة Big Data Analytics (DS2004).
أنظمة توصية المنتج هي أنواع من البرامج التي تستخدم تحليل البيانات وتقنيات التعلم الآلي لاقتراح المنتجات للعملاء بناءً على اهتماماتهم وشرائها السابقة وتاريخ التصفح. يمكن العثور على هذه الأنظمة على مواقع التجارة الإلكترونية ، مثل Amazon.com ، وهي مصممة لتقديم توصيات مخصصة للمستخدمين في الوقت الفعلي. تعمل أنظمة التوصية من خلال تحليل كميات هائلة من البيانات ، مثل سلوك المستخدم وسمات المنتج وتاريخ المعاملات. بناءً على هذه البيانات ، يقوم النظام بإنشاء توصيات ذات صلة بمصالح المستخدم وتفضيلاتها. على سبيل المثال ، إذا كان المستخدم قد قام سابقًا بشراء كتاب حول موضوع معين ، فقد يقترح نظام التوصية كتبًا أخرى حول نفس الموضوع ، أو الموضوعات ذات الصلة.
يمكن استخدام مجموعة بيانات Amazon Review (2018) لتدريب نظام توصية المنتج الذي يقدم اقتراحات مخصصة للمنتج للمستخدمين استنادًا إلى سجل الشراء ، بالإضافة إلى مستويات الرضا بين المستخدمين الآخرين الذين قاموا بمراجعة المنتجات وتصنيفها على النظام الأساسي. ومع ذلك ، نظرًا لأن مجموعة البيانات شاسعة ، فمن الأهمية بمكان تحليل وتحديد الميزات ذات الصلة التي ستساهم بشكل فعال في نظام توصية المنتج ، من أجل تجنب كل من التورط وتخفيف نموذج التعلم الآلي.
على غرار نهجنا في إجراء تحليل البيانات الاستكشافية (EDA) على بيانات مراجعة Amazon (2018) Dataset Data Amazon Data (2018) تحليل . إن الأساس المنطقي لاستخدام عينة لجعل الاستدلالات حول جميع السكان هو تقليل العبء الحسابي المرتبط بمعالجة مجموعة البيانات الكاملة ، والتي غالبًا ما تكون غير عملية بالنسبة لآلة واحدة. على الرغم من أن التعلم العميق يتطلب عادةً كميات كبيرة من البيانات ، إلا أنه يمكن استخدام التعلم الآلي بشكل فعال لتطوير منهجيات تدريب قوية حتى مع مجموعات البيانات الصغيرة. هذا مفيد بشكل خاص للبحث الذي تعتمد على الفرضيات ، وهو هدفنا الأساسي مع نظام توصية المنتج. (Vabalas et al. ، 2019) على أي حال ، من المهم أن نلاحظ أن أي مجموعة بيانات هي في الأساس مجموعة فرعية من السكان الأكبر.
لضمان دقة نتائجنا ، من الأهمية بمكان تحليل التحيزات المحتملة وتخفيفها بعناية في البيانات. هذا مهم بشكل خاص في التعلم الآلي ، وهو حساس للتحيزات التي يمكن أن تؤدي إلى تقديرات أداء منحرفة. لمعالجة هذه المشكلة ، سنقوم بتطبيق نهج أخذ العينات العشوائي الطبقي الذي ناقشناه سابقًا لاستخراج عينة تمثيلية من 1000000 سجل من السكان مع الحفاظ على نفس توزيع المنتج كما في مجموعة البيانات الأصلية. (compress.py ، 1-61) نظرًا لأن حجم العينة كبير جدًا ، فقد ضغطناها على تنسيق ملف Apache Parquet ، مما يقلل من حجم مجموعة البيانات بأكثر من 90 ٪.
التناوب المربعات الصغرى (ALS) هي خوارزمية تصفية تعاونية تستخدم لتطوير أنظمة توصية المنتج. تهدف الخوارزمية إلى تعلم العوامل الكامنة أو المخفية التي تؤثر على تفاعلات عنصر المستخدم ، من خلال تحلل مصفوفة تصنيف عنصر المستخدم إلى مصفوفين منخفضين الرتبة يمثلان العوامل الكامنة للمستخدم والعنصر.
تعمل المربعات الصغرى المتناوبة (ALS) بشكل تكرار ، بالتناوب بين إصلاح مجموعة واحدة من العوامل الكامنة وحل الآخر باستخدام خوارزمية تحسين المربعات الصغرى. على وجه الخصوص ، في كل تكرار ، تقوم الخوارزمية بإصلاح العوامل الكامنة للعنصر وحل العوامل الكامنة للمستخدم باستخدام تحسين المربعات الصغرى ، ثم تعمل على إصلاح العوامل الكامنة للمستخدم وحل العوامل الكامنة للبند باستخدام تحسين المربعات الصغرى.
التناوب المربعات الصغرى (ALS) لديها العديد من المزايا لأنظمة توصية المنتج. إنه قابل للتطوير وفعال من الناحية الحسابية ، وخاصة بالنسبة لمجموعات البيانات الكبيرة والمتناثرة. يمكنه التعامل مع بيانات التغذية المرتدة الضمنية ، حيث من المعروف أن تفاعلات عنصر المستخدم موجودة فقط أو غير موجودة ، وليس تصنيفاتها المحددة. يمكنه أيضًا التعامل مع البيانات المفقودة ، حيث لم يقم جميع المستخدمين بتصنيف جميع العناصر. بالإضافة إلى ذلك ، يمكن أن توفر المربعات الصغرى المتناوبة (ALS) توصيات العناصر في الوقت الفعلي ، مما يجعلها مناسبة لأنظمة التوصية عبر الإنترنت.
Product Recommendation Model.ipynb - يحتوي على تنفيذ (MLLIB) لنظام توصية المنتج المدربين والمختبرين على مجموعة بيانات Amazon Review (2018).srcdata.py - رمز المصدر لتخزين مجموعة البيانات من ملف تدوين كائن JavaScript (JSON) في قاعدة بيانات MongoDB كمجموعة.srccompress.py - رمز المصدر لاستخراج عينة عشوائية طبقية من حجم عينة محدد من مجموعة البيانات المخزنة في قاعدة بيانات MongoDB كمجموعة وتخزينها كملف Parquet Apache.srcvalidate.py - رمز المصدر للتحقق من دقة ووظائف نظام توصية المنتج المدربين باستخدام مثال عملي.modelproduct_recommendation_model - الدليل الذي يحتوي على نموذج التعلم الآلي المدربين لنظام توصية المنتج.appapplication.py - مصدر لتطبيق الويب (Flask) المرتبط بنظام توصية المنتج من خلال مجموعة Apache Kafka.apprecommendation.py - رمز المصدر لمجموعة Apache Kafka متصلة بنموذج التعلم الآلي المدربين لنظام توصية المنتج الذي يتيح توليد توصيات المنتج.templates - تحتوي على رموز المصدر لصفحات الويب ( login.html ، dashboard.html ، review.html ، loading.html ، و recommendation.html ) المقدمة بواسطة تطبيق الويب (قارورة).static - يحتوي على جميع الرموز والعناصر المرئية المستخدمة في تطبيق الويب (Flask)..hintrc - ملف التكوين لتخصيص سلوك ESLINT من خلال تحديد إعدادات وقواعد محددة. All_Amazon_Review.json.gz من موقع مجموعة Amazon Review Data (2018).srcdata.py لحفظ مجموعة البيانات من ملف تدوين كائن JavaScript (JSON) في قاعدة بيانات MongoDB كمجموعة (تأكد من إعداد MongoDB بالفعل وتشغيله).srccompress.py لاستخراج عينة عشوائية طبقية من حجم محدد من مجموعة البيانات المخزنة في mongodb وحفظ العينة كملف parquet apache.Product Recommendation Model.ipynb ملف (1-16) لتحويل المجموعة وتخزينه مرة أخرى في MongoDB للوصول الدائم (لا يتعين عليك تنفيذ الملف بأكمله).apprecommendation.py على الجانب (تأكد من تأسيس مجموعة Apache Kafka بنجاح وتعمل ، مع موضوعين يدعى بيانات الاعتماد والتوصيات ).appapplication.py وافتح الرابط المقدم لمنفذ المضيف./dashboard ، انقر فوق زر المراجعة وأرسل أي محتوى./loading أثناء إنشاء توصيات المنتج./recommendation لعرض توصيات المنتج التي تم إنشاؤها. تمت كتابة ملفات التعليمات البرمجية المصدر على وجه التحديد لـ MacOS Ventura وقد تحتاج إلى تعديلات لضمان التنفيذ المناسب على أنظمة التشغيل الأخرى.
هذا المشروع موجود بفضل الأشخاص غير العاديين الذين ساهموا في ذلك.