وصفة: استكشاف الفن الذكي مع الخدمات المعرفية للبيانات الضخمة
في هذا المثال، سنستخدم الخدمات المعرفية للبيانات الضخمة لإضافة تعليقات توضيحية ذكية إلى مجموعة الوصول المفتوح من متحف متروبوليتان للفنون (MET). سيمكننا ذلك من إنشاء محرك بحث ذكي باستخدام Azure Search حتى بدون التعليقات التوضيحية اليدوية.
المتطلبات الأساسية
- يجب أن يكون لديك مفتاح اشتراك للرؤية الحاسوبية والبحث المعرفي. اتبع الإرشادات الواردة في إنشاء حساب خدمات معرفية للاشتراك في رؤية الكمبيوتر والحصول على مفتاحك.
ملاحظة
للحصول على معلومات التسعير، راجع البحث المعرفي في Azure.
استيراد المكتبات
قم بتشغيل الأمر التالي لاستيراد مكتبات لهذه الوصفة.
import os, sys, time, json, requests
from pyspark.ml import Transformer, Estimator, Pipeline
from pyspark.ml.feature import SQLTransformer
from pyspark.sql.functions import lit, udf, col, split
إعداد مفاتيح الاشتراك
قم بتشغيل الأمر التالي لإعداد المتغيرات لمفاتيح الخدمة. أدخل مفاتيح الاشتراك الخاصة بك ل Computer Vision و Azure Cognitive Search.
VISION_API_KEY = 'INSERT_COMPUTER_VISION_SUBSCRIPTION_KEY'
AZURE_SEARCH_KEY = 'INSERT_AZURE_COGNITIVE_SEARCH_SUBSCRIPTION_KEY'
search_service = "mmlspark-azure-search"
search_index = "test"
قراءة البيانات
قم بتشغيل الأمر التالي لتحميل البيانات من مجموعة الوصول المفتوح الخاصة ب MET.
data = spark.read\
.format("csv")\
.option("header", True)\
.load("wasbs://publicwasb@mmlspark.blob.core.windows.net/metartworks_sample.csv")\
.withColumn("searchAction", lit("upload"))\
.withColumn("Neighbors", split(col("Neighbors"), ",").cast("array<string>"))\
.withColumn("Tags", split(col("Tags"), ",").cast("array<string>"))\
.limit(25)
تحليل الصور
قم بتشغيل الأمر التالي لاستخدام "رؤية الكمبيوتر" في مجموعة الأعمال الفنية للوصول المفتوح الخاصة ب MET. نتيجة لذلك ، ستحصل على ميزات مرئية من الأعمال الفنية.
from mmlspark.cognitive import AnalyzeImage
from mmlspark.stages import SelectColumns
#define pipeline
describeImage = (AnalyzeImage()
.setSubscriptionKey(VISION_API_KEY)
.setLocation("eastus")
.setImageUrlCol("PrimaryImageUrl")
.setOutputCol("RawImageDescription")
.setErrorCol("Errors")
.setVisualFeatures(["Categories", "Tags", "Description", "Faces", "ImageType", "Color", "Adult"])
.setConcurrency(5))
df2 = describeImage.transform(data)\
.select("*", "RawImageDescription.*").drop("Errors", "RawImageDescription")
إنشاء فهرس البحث
قم بتشغيل الأمر التالي لكتابة النتائج إلى Azure Search لإنشاء محرك بحث للأعمال الفنية مع بيانات تعريف غنية من Computer Vision.
from mmlspark.cognitive import *
df2.writeToAzureSearch(
subscriptionKey=AZURE_SEARCH_KEY,
actionCol="searchAction",
serviceName=search_service,
indexName=search_index,
keyCol="ObjectID"
)
الاستعلام عن فهرس البحث
قم بتشغيل الأمر التالي للاستعلام عن فهرس Azure Search.
url = 'https://{}.search.windows.net/indexes/{}/docs/search?api-version=2019-05-06'.format(search_service, search_index)
requests.post(url, json={"search": "Glass"}, headers = {"api-key": AZURE_SEARCH_KEY}).json()
الخطوات التالية
تعرف على كيفية استخدام الخدمات المعرفية للبيانات الضخمة للكشف عن الشذوذ.