1. مقدمة
نظرة عامة
في هذا المختبر، ستستكشف سير عمل متعدد الوسائط في علم البيانات في BigQuery، وذلك في سياق سيناريو عقاري. ستبدأ بمجموعة بيانات أولية لعروض المنازل وصورها، ثم ستضيف إلى هذه البيانات ميزات مرئية باستخدام الذكاء الاصطناعي، وستنشئ نموذج تجميع لاكتشاف شرائح السوق المميّزة، وأخيرًا، ستنشئ أداة بحث مرئي فعّالة باستخدام التضمينات المتجهة.
ستقارن سير العمل هذا المستند إلى لغة SQL بطريقة حديثة مستندة إلى الذكاء الاصطناعي التوليدي باستخدام Data Science Agent لإنشاء نموذج تجميع مستند إلى لغة Python تلقائيًا من طلب نصي بسيط.
أهداف الدورة التعليمية
- إعداد مجموعة بيانات أولية خاصة ببطاقات بيانات العقارات لتحليلها من خلال تصميم الميزات
- تحسين بيانات الفنادق باستخدام وظائف الذكاء الاصطناعي في BigQuery لتحليل صور المنازل بحثًا عن الميزات المرئية الرئيسية
- إنشاء وتقييم نموذج K-means باستخدام BigQuery Machine Learning (BQML) لتقسيم المواقع إلى مجموعات مميّزة
- أتمِت عملية إنشاء النماذج باستخدام "وكيل علوم البيانات" لإنشاء نموذج تجميع باستخدام Python.
- إنشاء تضمينات لصور المنازل من أجل تشغيل أداة بحث مرئية، والعثور على منازل مشابهة باستخدام طلبات بحث نصية أو صور
المتطلبات الأساسية
قبل بدء هذا الدرس التطبيقي، يجب أن تكون على دراية بما يلي:
- معرفة أساسية بلغة SQL ولغة البرمجة Python
- تشغيل رمز Python في دفتر جوبيتر
2. قبل البدء
إنشاء مشروع على Google Cloud
- في Google Cloud Console، في صفحة اختيار المشروع، اختَر مشروعًا على Google Cloud أو أنشِئ مشروعًا.

- تأكَّد من تفعيل الفوترة لمشروعك على Cloud. تعرَّف على كيفية التحقّق مما إذا كانت الفوترة مفعَّلة في مشروع.
تفعيل واجهات برمجة التطبيقات باستخدام Cloud Shell
Cloud Shell هي بيئة سطر أوامر تعمل في Google Cloud ومحمّلة مسبقًا بالأدوات اللازمة.
- انقر على تفعيل Cloud Shell في أعلى "وحدة تحكّم Google Cloud":

- بعد الاتصال بـ Cloud Shell، نفِّذ الأمر التالي للتحقّق من مصادقتك في Cloud Shell:
gcloud auth list
- نفِّذ الأمر التالي للتأكّد من ضبط مشروعك لاستخدامه مع gcloud:
gcloud config list project
- إذا لم يتم ضبط مشروعك، استخدِم الأمر التالي لضبطه:
export PROJECT_ID=<YOUR_PROJECT_ID>
gcloud config set project $PROJECT_ID
تفعيل واجهات برمجة التطبيقات
- نفِّذ الأمر التالي لتفعيل جميع واجهات برمجة التطبيقات والخدمات المطلوبة:
gcloud services enable bigquery.googleapis.com \
bigqueryunified.googleapis.com \
cloudaicompanion.googleapis.com \
aiplatform.googleapis.com
- عند تنفيذ الأمر بنجاح، من المفترض أن تظهر لك رسالة مشابهة للرسالة الموضّحة أدناه:
Operation "operations/..." finished successfully.
- اخرج من Cloud Shell.
3- فتح "دفتر الملاحظات التجريبي" في BigQuery Studio
التنقّل في واجهة المستخدم:
- في Google Cloud Console، انتقِل إلى قائمة التنقّل > BigQuery.

- في لوحة BigQuery Studio، انقر على زر السهم المتّجه للأسفل في القائمة المنسدلة، ومرِّر مؤشر الماوس فوق دفتر الملاحظات، ثم انقر على تحميل.

- انقر على زر الاختيار عنوان URL، وأدخِل عنوان URL التالي:
https://github.com/GoogleCloudPlatform/generative-ai/blob/main/gemini/use-cases/applying-llms-to-data/ai-assisted-data-science/ai-assisted-data-science.ipynb
- اضبط المنطقة على
us-central1وانقر على تحميل.

- لفتح دفتر الملاحظات، انقر على السهم المتّجه للأسفل في جزء المستكشف الذي يحتوي على رقم تعريف مشروعك. بعد ذلك، انقر على القائمة المنسدلة دفاتر الملاحظات. انقر على دفتر الملاحظات
ai-assisted-data-science.

- (اختياري) يمكنك تصغير قائمة التنقّل في BigQuery وفهرس دفتر الملاحظات لتوفير مساحة أكبر.

4. الاتصال ببيئة تشغيل وتنفيذ رمز الإعداد
- انقر على ربط. إذا ظهرت نافذة منبثقة، امنح Colab Enterprise الإذن باستخدام حسابك. سيتم ربط ورقة الملاحظات تلقائيًا بوقت تشغيل. قد يستغرق إكمال هذه العملية بضع دقائق.

- بعد إعداد وقت التشغيل، سيظهر لك ما يلي:

- ضمن دفتر الملاحظات، انتقِل إلى قسم الإعداد. انقر على الزر "تشغيل" بجانب الخلايا المخفية. يؤدي ذلك إلى إنشاء بعض الموارد اللازمة للمختبر في مشروعك. قد تستغرق هذه العملية دقيقة واحدة حتى تكتمل. يمكنك الاطّلاع على الخلايا ضمن الإعداد في الوقت الحالي.

5- إعداد البيانات وتصميم الميزات
في هذا القسم، ستتعرّف على الخطوة الأولى المهمة في أي مشروع لعلم البيانات، وهي إعداد البيانات. تبدأ بإنشاء مجموعة بيانات BigQuery لتنظيم عملك، ثم تحميل بيانات العقارات / السكن الأولية من ملف CSV في Cloud Storage إلى جدول جديد.
بعد ذلك، ستحوّل هذه البيانات الأولية إلى جدول نظيف يتضمّن ميزات جديدة. ويشمل ذلك فلترة البيانات، وإنشاء ميزة property_age جديدة، وإعداد بيانات الصور للتحليل المتعدّد الوسائط.
6. تحسين المحتوى المتعدّد الوسائط باستخدام دوال الذكاء الاصطناعي
ستعمل الآن على إثراء بياناتك باستخدام إمكانات الذكاء الاصطناعي التوليدي. في هذا القسم، ستستخدم وظائف الذكاء الاصطناعي المضمّنة في BigQuery لتحليل الصور لكل إعلان عن منزل.
من خلال ربط BigQuery بأحد نماذج Gemini، يمكنك استخراج ميزات جديدة قيّمة من الصور (مثل ما إذا كان المكان المخصّص للاستئجار يقع بالقرب من المياه ووصف موجز للمنزل) مباشرةً باستخدام SQL.
7. تدريب النموذج باستخدام الخوارزمية التصنيفية
بعد إثراء مجموعة البيانات الجديدة، ستكون مستعدًا لإنشاء نموذج تعلُّم آلي. هدفكم هو تقسيم بيانات المنازل المعروضة للبيع إلى مجموعات مميّزة، ويمكنكم تحقيق ذلك من خلال تدريب نموذج تجميع K-means مباشرةً في BigQuery باستخدام BigQuery Machine Learning (BQML). كجزء من هذه الخطوة الواحدة، يمكنك أيضًا تسجيل النموذج في سجلّ نماذج Vertex AI، ما يجعله متاحًا على الفور ضمن المنظومة المتكاملة الأوسع نطاقًا لعمليات تعلّم الآلة (MLOps) على Google Cloud.
للتأكّد من تسجيل النموذج بنجاح، يمكنك العثور عليه في "سجلّ نماذج Vertex AI" باتّباع الخطوات التالية:
- في Google Cloud Console، انقر على قائمة التنقّل (☰) في أعلى يمين الصفحة.
- انتقِل إلى قسم Vertex AI وانقر على سجلّ النماذج. سيظهر نموذج BQML الآن في قائمة تضمّ جميع النماذج المخصّصة الأخرى.

- في قائمة النماذج، ابحث عن النموذج المسمّى housing_clustering. يمكنك اتّخاذ الخطوة التالية للتفعيل في نقطة نهاية، ما يتيح لك استخدام النموذج لإجراء توقّعات في الوقت الفعلي على الإنترنت خارج بيئة BigQuery.

بعد استكشاف "مسجّل النماذج"، يمكنك الرجوع إلى دفتر ملاحظات Colab في BigQuery باتّباع الخطوات التالية:
- في قائمة التنقّل (☰)، انتقِل إلى BigQuery > Studio.
- وسِّع القوائم في لوحة استكشاف للعثور على دفتر الملاحظات وفتحه.
8. تقييم النموذج والتنبؤ
بعد تدريب نموذجك، تتمثّل الخطوة التالية في فهم المجموعات التي أنشأها. في هذه الخطوة، يمكنك استخدام دوال BigQuery Machine Learning، مثل ML.EVALUATE وML.CENTROIDS، لتحليل جودة النموذج والخصائص المحدّدة لكل شريحة.
بعد ذلك، استخدِم ML.PREDICT لتعيين كل منزل إلى مجموعة. من خلال تنفيذ هذا الاستعلام باستخدام الأمر السحري %%bigquery df، يمكنك تخزين النتائج في Pandas DataFrame باسم df. ويؤدي ذلك إلى إتاحة البيانات على الفور للخطوات اللاحقة في Python. ويوضّح ذلك إمكانية التشغيل التفاعلي بين SQL وPython في Colab Enterprise.
9- عرض المجموعات وتفسيرها
بعد تحميل التوقعات في DataFrame، يمكنك إنشاء عروض مرئية لإضفاء الحيوية على البيانات. في هذا القسم، ستستخدم مكتبات بايثون الشائعة، مثل "مات بلوت ليب"، لاستكشاف الاختلافات بين شرائح المنازل.
ستنشئ مخططات مربّعية ورسومًا بيانية شريطية لمقارنة الميزات الرئيسية بشكل مرئي، مثل السعر وعمر العقار، ما يسهّل بناء فهم بديهي لكل مجموعة.
10. إنشاء أوصاف للمجموعات باستخدام نماذج Gemini
على الرغم من أنّ الأشكال البيانية والمراكز الهندسية العددية فعّالة، يتيح لك الذكاء الاصطناعي التوليدي اتّخاذ خطوة إضافية وإنشاء شخصيات وصفية غنية لكل شريحة سكنية. يساعدك ذلك في فهم ماهية المجموعات، بالإضافة إلى الجمهور الذي تمثّله.
في هذا القسم، ستجمع أولاً متوسط الإحصاءات لكل مجموعة، مثل السعر والمساحة. بعد ذلك، ستمرّر هذه البيانات إلى طلب لنموذج Gemini. بعد ذلك، تطلب من النموذج التصرّف كخبير في مجال العقارات وإنشاء ملخّص مفصّل يتضمّن الخصائص الرئيسية والمشتري المستهدف لكل شريحة. والنتيجة هي مجموعة من الأوصاف الواضحة التي يمكن للمستخدمين قراءتها، ما يجعل المجموعات مفهومة على الفور وقابلة للتنفيذ من قِبل فريق التسويق.
يمكنك تعديل الطلب كما تراه مناسبًا وتجربة النتائج.
11. أتمتة النمذجة باستخدام "وكيل علم البيانات"
الآن، ستستكشف سير عمل بديلًا وفعّالاً. بدلاً من كتابة الرموز يدويًا، ستستخدم Data Science Agent المدمج لإنشاء سير عمل كامل لنموذج التجميع تلقائيًا من طلب واحد باللغة الطبيعية.
اتّبِع الخطوات التالية لإنشاء النموذج وتشغيله باستخدام الوكيل:
- في لوحة BigQuery Studio، انقر على زر السهم المتّجه للأسفل في القائمة المنسدلة، ومرِّر مؤشر الماوس فوق دفتر الملاحظات، ثم انقر على دفتر ملاحظات فارغ. يضمن ذلك عدم تداخل رمز البرنامج مع دفتر المختبر الأصلي.

- تُفتح واجهة دردشة "وكيل علوم البيانات" في أسفل دفتر الملاحظات. انقر على الزر نقل إلى اللوحة لتثبيت المحادثة على يسار الشاشة.

- ابدأ بكتابة
@listing_multimodalفي لوحة المحادثة وانقر على الجدول. يؤدي ذلك إلى ضبط الجدولlistings_multimodalكسياق بشكلٍ صريح.

- انسخ الطلب أدناه وأدخِله في مربّع "محادثة مع الوكيل". بعد ذلك، انقر على إرسال لإرسال الطلب إلى "الوكيل".
Use the selected table to generate a k-means clustering model with 3 clusters for housing listings. Then, help me understand the characteristics of each cluster so I can market to them as a real estate professional. Use Python.

- سيحلّل الوكيل الطلب ويضع خطة. إذا كنت موافقًا على هذه الخطة، انقر على قبول وتنفيذ. سينشئ "الوكيل" رمز Python في خلية واحدة أو أكثر من الخلايا الجديدة.

- يطلب منك "الوكيل" قبول كل مجموعة من الرموز البرمجية التي ينشئها وتشغيلها. يضمن ذلك إبقاء المستخدم على اطّلاع دائم على آخر الأخبار. يمكنك مراجعة الرمز أو تعديله ومتابعة كل خطوة إلى أن تنتهي.

- بعد الانتهاء، ما عليك سوى إغلاق علامة تبويب دفتر الملاحظات الجديدة هذه والعودة إلى علامة التبويب الأصلية
ai-assisted-data-science.ipynbلمواصلة القسم الأخير من الدرس التطبيقي.
12. البحث المتعدد الوسائط باستخدام عمليات التضمين و"البحث عن المتّجهات"
في هذا القسم الأخير، ستنفّذ البحث المتعدّد الوسائط مباشرةً في BigQuery. يتيح ذلك إجراء عمليات بحث سهلة، مثل العثور على منازل استنادًا إلى وصف نصي أو العثور على منازل تشبه صورة نموذجية.
تعمل هذه العملية أولاً عن طريق تحويل كل صورة منزل إلى تمثيل رقمي يُعرف باسم التضمين. تلتقط عملية التضمين المعنى الدلالي للصورة، ما يتيح لك العثور على عناصر مشابهة من خلال مقارنة المتجهات الرقمية الخاصة بها.
ستستخدم multimodalembedding النموذج لإنشاء هذه المتّجهات لجميع بطاقات بيانات المتجر. بعد إنشاء فهرس متّجه لتسريع عمليات البحث، يمكنك إجراء نوعَين من البحث عن التشابه: البحث من نص إلى صورة (للعثور على منازل تتطابق مع وصف) والبحث من صورة إلى صورة (للعثور على منازل تشبه صورة نموذجية).
ستُكمل كل ذلك في BigQuery، باستخدام دوالّ مثل ML.GENERATE_EMBEDDING لإنشاء عمليات تضمين أو VECTOR_SEARCH للبحث عن التشابه.
13. تنظيف
لتنظيف جميع موارد Google Cloud المستخدَمة في هذا المشروع، يمكنك حذف مشروع Google Cloud.
بدلاً من ذلك، يمكنك حذف الموارد الفردية التي أنشأتها من خلال تشغيل الرمز التالي في خلية جديدة في دفتر الملاحظات:
# Delete the BigQuery tables
!bq rm --table -f housing_dataset.listings
!bq rm --table -f housing_dataset.listings_multimodal
!bq rm --table -f housing_dataset.home_embeddings
# Delete the remote model
!bq rm --model -f housing_dataset.gemini
!bq rm --model -f housing_dataset.kmeans_clustering_model
!bq rm --model -f housing_dataset.multimodal_embedding_model
# Delete the remote connection
!bq rm --connection --project_id=$PROJECT_ID --location=us ai_connection
# Delete the BigQuery dataset
!bq rm -r -f $PROJECT_ID:housing_dataset
أخيرًا، يمكنك حذف دفتر الملاحظات نفسه:
- في جزء المستكشف في BigQuery Studio، وسِّع مشروعك وعُقدة دفاتر الملاحظات.
- انقر على النقاط الثلاث الرأسية بجانب دفتر الملاحظات
ai-assisted-data-science. - اختَر حذف.
14. تهانينا!
تهانينا على إكمال الدرس التطبيقي حول الترميز.
المواضيع التي تناولناها
- إعداد مجموعة بيانات أولية خاصة ببطاقات بيانات العقارات لتحليلها من خلال تصميم الميزات
- تحسين بيانات الفنادق باستخدام وظائف الذكاء الاصطناعي في BigQuery لتحليل صور المنازل بحثًا عن الميزات المرئية الرئيسية
- إنشاء وتقييم نموذج K-means باستخدام BigQuery Machine Learning (BQML) لتقسيم المواقع إلى مجموعات مميّزة
- أتمِت عملية إنشاء النماذج باستخدام "وكيل علوم البيانات" لإنشاء نموذج تجميع باستخدام Python.
- إنشاء تضمينات لصور المنازل من أجل تشغيل أداة بحث مرئية، والعثور على منازل مشابهة باستخدام طلبات بحث نصية أو صور