Внедрите продвинутую рекомендательную систему с помощью ИИ рекомендаций Google Cloud.
Представьте, что собственные инженеры машинного обучения Google работают над внедрением рекомендательных систем на вашем веб-сайте и в приложении. С помощью ИИ рекомендаций Google Cloud вы можете использовать рекомендательные системы, которые используются для поддержки Youtube, рекламы Google и других продуктов Google, чтобы предоставить нам персонализацию.
В этой статье я расскажу вам, как внедрить ИИ рекомендаций Google Cloud, чтобы вы могли предоставлять персонализированный опыт своим клиентам.
Преимущество ИИ рекомендаций Google Cloud
Noon, IKEA, KINGUIN и многие другие использовали ИИ Google Cloud Recommended, чтобы предоставлять высокоэффективные рекомендации по каналам.
С точки зрения усилий и ресурсов создание и развертывание системы рекомендаций может быть сложной и трудоемкой задачей. Обычно это предполагает сотрудничество инженеров по данным, специалистов по данным и инженеров по машинному обучению для создания и ввода в действие комплексной рекомендательной системы. Однако, когда речь заходит об искусственном интеллекте рекомендаций Google Cloud, все обстоит иначе.
Благодаря использованию искусственного интеллекта рекомендаций Google Cloud процесс внедрения становится значительно упрощенным и эффективным по времени. Эта полностью управляемая услуга позволяет вам быстро предлагать персонализированные услуги своим клиентам, экономя ваше драгоценное время и ресурсы. Внедрение ИИ рекомендаций Google Cloud может привести к заметным улучшениям в следующих областях:
- Коэффициенты конверсии. Предоставляя пользователям персонализированные рекомендации по продукту или контенту, вы можете улучшить их впечатления от покупок или просмотра, что в конечном итоге повысит вероятность конверсий.
- Удовлетворенность клиентов. Персонализированные рекомендации учитывают конкретные предпочтения и потребности отдельных пользователей, что приводит к более высокой степени удовлетворенности и вовлеченности клиентов.
- Получение дохода. Благодаря улучшенным коэффициентам конверсии и удовлетворенности клиентов внедрение ИИ рекомендаций Google Cloud может положительно повлиять на ваши потоки доходов.
- Экономия времени. Будучи полностью управляемой службой, ИИ рекомендаций Google Cloud снижает потребность в обширных усилиях по разработке и обслуживанию, позволяя вам сосредоточиться на других важных аспектах вашего бизнеса.
- Масштабируемость. Рекомендации Google Cloud AI предназначены для обработки больших объемов данных и могут легко масштабироваться по мере роста вашего бизнеса, обеспечивая стабильную производительность и точность.
Используя возможности искусственного интеллекта рекомендаций Google Cloud, вы можете раскрыть потенциал для значительного улучшения качества обслуживания клиентов, конверсий, доходов и операционной эффективности.
Как внедрить ИИ рекомендаций Google Cloud?
Рекомендация ИИ требует двух вещей для обеспечения работы моделей машинного обучения. Действия одного пользователя. Во-вторых, сведения о продукте, с которым пользователь выполняет действия.
Действия или действия отправляются как событие, а сведения об элементе сохраняются в виде каталога в Рекомендации AI. Когда у нас будет необходимое количество событий и деталей каталога, мы можем обучить нашу модель машинного обучения, чтобы предоставлять пользователям персонализированные списки на основе прошлого поведения и атрибутов пользователей.
Давайте подробно рассмотрим их все один за другим.
Примечание. Для реализации требовались сильные знания Google Cloud, SQL и технические знания. Дайте мне знать, если вам понадобится помощь.
1- Импорт сведений о продукте
Каталог может содержать множество полей и атрибутов, однако поля id
, name
, title
и categories
являются обязательными и должны быть предоставлены.
Подробнее обо всех полях, доступных для каталога, читайте здесь.
Предполагая, что сведения о нашем продукте уже существуют в BiqQuery, мы будем использовать интеграцию BigQuery и ИИ рекомендаций для импорта данных каталога.
ИИ рекомендаций Google Cloud ожидает определенную схему таблицы BigQuery. Поэтому нам необходимо создать таблицу нужного формата и вставить в нее данные каталога.
Скажем, наша таблица каталогов в BigQuery имеет следующие поля
- имя: название продукта
- id: идентификатор продукта
- категория: назначенная категория продукта.
- описание: описание товара
- url: URL товара на сайте
- image_link: общедоступная ссылка на изображение продукта.
- city: город, в котором доступен продукт.
Основываясь на приведенных выше деталях каталога продуктов, схема для нашей таблицы рекомендаций AI будет выглядеть следующим образом.
[ { "name": "name", "type": "STRING", "description": "name of the product", "mode": "NULLABLE" }, { "name": "id", "type": "STRING", "description": "id of the product", "mode": "REQUIRED" }, { "name": "type", "type": "STRING", "description": "type of the product. Primary or Variant here", "mode": "NULLABLE" }, { "name": "primaryProductId", "type": "STRING", "description": "product id here", "mode": "NULLABLE" }, { "name": "collectionMemberIds", "type": "STRING", "description": "", "mode": "REPEATED" }, { "name": "gtin", "type": "STRING", "description": "", "mode": "NULLABLE" }, { "name": "categories", "type": "STRING", "description": "category here in > format", "mode": "REPEATED" }, { "name": "title", "type": "STRING", "description": "title of the product here", "mode": "REQUIRED" }, { "name": "brands", "type": "STRING", "description": "brand name here", "mode": "REPEATED" }, { "name": "description", "type": "STRING", "description": "", "mode": "NULLABLE" }, { "name": "languageCode", "type": "STRING", "description": "", "mode": "NULLABLE" }, { "name": "attributes", "type": "RECORD", "description": "you can have custom attribites here", "mode": "REPEATED", "fields": [ { "name": "key", "type": "STRING", "description": "", "mode": "NULLABLE" }, { "name": "value", "type": "RECORD", "description": "", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "description": "", "mode": "REPEATED" }, { "name": "numbers", "type": "FLOAT", "description": "", "mode": "REPEATED" }, { "name": "searchable", "type": "BOOLEAN", "description": "", "mode": "NULLABLE" }, { "name": "indexable", "type": "BOOLEAN", "description": "", "mode": "NULLABLE" } ] } ] }, { "name": "tags", "type": "STRING", "description": "tags based on the product", "mode": "REPEATED" }, { "name": "priceInfo", "type": "RECORD", "description": "", "mode": "NULLABLE", "fields": [ { "name": "currencyCode", "type": "STRING", "description": "", "mode": "NULLABLE" }, { "name": "price", "type": "FLOAT", "description": "", "mode": "NULLABLE" }, { "name": "originalPrice", "type": "FLOAT", "description": "", "mode": "NULLABLE" }, { "name": "cost", "type": "FLOAT", "description": "", "mode": "NULLABLE" }, { "name": "priceEffectiveTime", "type": "STRING", "description": "", "mode": "NULLABLE" }, { "name": "priceExpireTime", "type": "STRING", "description": "", "mode": "NULLABLE" } ] }, { "name": "rating", "type": "RECORD", "description": "", "mode": "NULLABLE", "fields": [ { "name": "ratingCount", "type": "INTEGER", "description": "", "mode": "NULLABLE" }, { "name": "averageRating", "type": "FLOAT", "description": "", "mode": "NULLABLE" }, { "name": "ratingHistogram", "type": "INTEGER", "description": "", "mode": "REPEATED" } ] }, { "name": "expireTime", "type": "STRING", "description": "", "mode": "NULLABLE" }, { "name": "ttl", "type": "RECORD", "description": "", "mode": "NULLABLE", "fields": [ { "name": "seconds", "type": "INTEGER", "description": "", "mode": "NULLABLE" }, { "name": "nanos", "type": "INTEGER", "description": "", "mode": "NULLABLE" } ] }, { "name": "availableTime", "type": "STRING", "description": "", "mode": "NULLABLE" }, { "name": "availability", "type": "STRING", "description": "", "mode": "NULLABLE" }, { "name": "availableQuantity", "type": "INTEGER", "description": "", "mode": "NULLABLE" }, { "name": "fulfillmentInfo", "type": "RECORD", "description": "", "mode": "REPEATED", "fields": [ { "name": "type", "type": "STRING", "description": "", "mode": "NULLABLE" }, { "name": "placeIds", "type": "STRING", "description": "", "mode": "REPEATED" } ] }, { "name": "uri", "type": "STRING", "description": "product url here", "mode": "NULLABLE" }, { "name": "images", "type": "RECORD", "description": "", "mode": "REPEATED", "fields": [ { "name": "uri", "type": "STRING", "description": "", "mode": "REQUIRED" }, { "name": "height", "type": "INTEGER", "description": "", "mode": "NULLABLE" }, { "name": "width", "type": "INTEGER", "description": "", "mode": "NULLABLE" } ] }, { "name": "audience", "type": "RECORD", "description": "", "mode": "NULLABLE", "fields": [ { "name": "genders", "type": "STRING", "description": "", "mode": "REPEATED" }, { "name": "ageGroups", "type": "STRING", "description": "", "mode": "REPEATED" } ] }, { "name": "colorInfo", "type": "RECORD", "description": "", "mode": "NULLABLE", "fields": [ { "name": "colorFamilies", "type": "STRING", "description": "", "mode": "REPEATED" }, { "name": "colors", "type": "STRING", "description": "", "mode": "REPEATED" } ] }, { "name": "sizes", "type": "STRING", "description": "", "mode": "REPEATED" }, { "name": "materials", "type": "STRING", "description": "", "mode": "REPEATED" }, { "name": "patterns", "type": "STRING", "description": "", "mode": "REPEATED" }, { "name": "conditions", "type": "STRING", "description": "", "mode": "REPEATED" }, { "name": "retrievableFields", "type": "STRING", "description": "", "mode": "NULLABLE" }, { "name": "publishTime", "type": "STRING", "description": "", "mode": "NULLABLE" }, { "name": "promotions", "type": "RECORD", "description": "", "mode": "REPEATED", "fields": [ { "name": "promotionId", "type": "STRING", "description": "", "mode": "NULLABLE" } ] } ]
Есть куча полей, которые мы можем установить для нашего каталога. Чем больше данных вы сможете получить, тем лучше. Для этой демонстрационной цели я буду придерживаться наиболее распространенных. Обратите внимание, что поля, допускающие значение NULL, являются необязательными.
В поле type
мы решаем, является ли продукт вариантом или основным. Я выберу PRIMARY
для этой статьи. Подробнее читайте здесь.
Как только наша таблица будет готова, мы можем вставить данные каталога из основной таблицы в эту таблицу, используя приведенный ниже запрос.
insert into `recommendersystem.product_data` ( name,id,type,primaryProductId,collectionMemberIds,gtin,categories,title,brands,description,languageCode,attributes, tags, priceInfo,rating,expireTime,ttl,availableTime,availability,availableQuantity,fulfillmentInfo, uri, images,audience,colorInfo,sizes,materials,patterns,conditions,retrievableFields,publishTime,promotions ) SELECT name, cast(id as string) as id, "PRIMARY" as type, cast(id as string) as primaryProductId, null as collectionMemberIds, null as gtin, array [categories] as categories, name as title, array[title] as brands, ifnull(description,name) as description, null as languageCode, [ struct( 'product_location' as key, STRUCT(array[ifnull(city,"empty")] as text, cast(null as ARRAY<FLOAT64>) as numbers, true as searchable, true as indexable ) as value )] as attributes, ARRAY_CONCAT( [ifnull(location,"empty")], [ifnull(categories,"empty")] ) as tags, null as priceInfo, null as rating, null as expireTime, null as ttl, null as availableTime, null as availability, null as availableQuantity, null as fulfillmentInfo, url, array[struct(image_url) as uri, null as height, null as width)] as images, null as audience, null as colorInfo, null as sizes, null as materials, null as patterns, null as conditions, null as retrievableFields, null as publishTime, null as promotions FROM `product.product_details`
Как только данные будут доступны в нашей новой таблице, мы готовы импортировать их в Рекомендацию AI.
На вкладке Данные Retail ai in Google Cloud нажмите Импорт в левом верхнем углу, чтобы импортировать данные.
Появится панель, как показано на изображении ниже. Выберите «Каталог товаров» в качестве типа импорта и «BigQuery» в качестве источника данных. Укажите путь к таблице BigQuery, выберите ветку и нажмите «Импорт».
Подождите пару минут, чтобы просмотреть детали вашего каталога в таблице данных Retail AI.
2- Импортировать исторические события
Затем нам нужно импортировать исторические данные пользователей в Рекомендацию AI. Однако этот шаг является необязательным, он помогает создать лучшую модель машинного обучения.
По аналогии с каталогом нам нужно иметь события в таблице BigQuery с нужным форматом.
Ниже приведены события, которые принимает ИИ рекомендаций Google Cloud.
Во всех этих случаях home-page-view
, detail-page-viewed
, add-to-cart
и purchase-complete
необходимы для полного включения модели ИИ.
Каждое из этих событий имеет определенную схему таблицы, необходимую для импорта данных. Вы можете найти их подробно здесь.
1- Схема таблицы для home-page-view
, detail-page-viewed
и add-to-cart
выглядит следующим образом.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "visitorId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "productDetails", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "product", "type": "RECORD", "mode": "REQUIRED", "fields": [ { "name": "id", "type": "STRING", "mode": "REQUIRED" } ] }, { "name": "quantity", "type": "INTEGER", "mode": "REQUIRED" } ] }, { "name": "attributes", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "deviceType", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "mode": "REPEATED" } ] } ] } ]
2- И схема для purchase-complete
event выглядит следующим образом
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "visitorId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "productDetails", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "product", "type": "RECORD", "mode": "REQUIRED", "fields": [ { "name": "id", "type": "STRING", "mode": "REQUIRED" } ] }, { "name": "quantity", "type": "INTEGER", "mode": "REQUIRED" } ] }, { "name": "purchaseTransaction", "type": "RECORD", "mode": "REQUIRED", "fields": [ { "name": "revenue", "type": "FLOAT", "mode": "REQUIRED" }, { "name": "currencyCode", "type": "STRING", "mode": "REQUIRED" } ] }, { "name": "attributes", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "deviceType", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "mode": "REPEATED" } ] }, { "name": "cityName", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "mode": "REPEATED" } ] } ] } ]
После создания таблицы вы можете использовать приведенные ниже запросы для вставки данных в нашу новую таблицу.
1- Запрос на вставку SQl для home-page-viewed
выглядит следующим образом
insert into `recommendersystem.user_event_home_page_view` (eventType, visitorId,eventTime,attributes) SELECT 'home-page-view' as eventType, visitorId, eventTime, struct( struct([deviceType] as text)as deviceType, struct([city] as text)as cityName ) as attributes, from ( select *, deviceType from `recommendersystem.user_event_history`
2- Запрос на вставку SQL для detail-page-viewed
, add-to-cart
insert into `recommendersystem.user_event_add_to_cart` (eventType, visitorId,eventTime,productDetails,attributes) SELECT 'add-to-cart' as eventType, visitorId, eventTime, [ struct( struct(product_id as id) as product , 1 as quantity) ] as productDetails, struct( struct([deviceType] as text)as deviceType, struct([city] as text)as cityName ) as attributes, from ( select *, deviceType from `recommendersystem.user_event_history` -- limit 100 )
3- Запрос на вставку SQL для purchase-complete
events
insert into `recommendersystem.user_event_purchase_complete` (eventType, visitorId,eventTime,productDetails,purchaseTransaction,attributes) SELECT 'purchase-complete' as eventType, cast( visitorId as string) as visitorId, eventTime, [ struct( struct(product_id as id) as product , 1 as quantity) ] as productDetails, struct(safe_cast(revenue as float64) as revenue, 'USD' as currencyCode) as purchaseTransaction, struct( struct([deviceType] as text)as deviceType, struct([city] as text)as cityName ) as attributes from ( select *, deviceType from `recommendersystem.user_purchase_event` )
Примечание. Идентификатор посетителя и идентификатор пользователя могут совпадать или различаться. Это зависит от того, требуется ли пользователю авторизоваться перед использованием вашего продукта или нет.
Примечание: Google Cloud Recommendation AI также поддерживает необработанные данные Google Analytics 4. Поэтому, если у вас есть это, нет необходимости выполнять преобразование, и вы можете напрямую импортировать.
Чтобы импортировать исторические данные, перейдите на вкладку данных розничного ИИ, как и раньше, и нажмите «Импорт» вверху.
На панели импорта выберите тип импорта «События пользователя», выберите следующие параметры и нажмите «Импорт».
Мы успешно импортировали пользовательские события в ИИ рекомендаций Google Cloud.
3- Отправка событий в реальном времени
Далее нам нужно отправлять пользователям события в реальном времени, чтобы модель ИИ можно было переобучить и улучшить рекомендации по мере того, как пользователь взаимодействует с платформой с течением времени.
Существует три способа отправки пользовательских событий в ИИ рекомендаций Google Cloud. Использование пикселя javascript, использование API и использование GTM.
Мы будем использовать API для этой статьи, так как он может охватывать все случаи, независимо от характера веб-сайта или приложения.
Вот вызов curl для отправки события home-page-viewed
curl -X POST \ -H "Authorization: Bearer ya29.a0AasRrdaM8jq4J0FBtJpsdhu87ZJcPlr4-8NqkDdGmLYtQ7P-riTx5man4k2maqWGNIsL1007a4BClSsfVbgHyjycaKn_5bviofo5XCbvCeO5-kkepnb_RUgy6prxRX7X8pi2PFHxX-kbmSmQgeEoILQQnK_aYMtTagSFzkUXC12Q2A5VmlfXR5cvSW-a80XxGOikpEf1jHuwusQx2EftBITnhPaYvg6Xi08qzvAEnmKgYicqCqY5o9d9ixav1jm6bd0r7A" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: test-prod " --data "{ 'eventType': 'home-page-view', 'visitorId': '12', 'eventTime': '2021-09-28T03:33:33.000001Z', 'attributionToken': 'ABC', 'attributes': { 'city_name': { 'text': ['karachi'] }, 'device_type': { 'text': ['iOS'] }, }, 'userInfo': { 'userId': '123', } }"\ "https://retail.googleapis.com/v2/projects/test-prod/locations/global/catalogs/default_catalog/userEvents:write"
Обращение к detail-page-view
curl -X POST \ -H "Authorization: Bearer ya29.a0ARrdaMsd84J0FBtZdJp2jhu87ZJcPlr4-8NqkDdGmLYtQ7P-riTx5man4k2maqWGNIsL1007a4BClSsfVbgHyjycaKn_5bviofo5XCbvCeO5-kkepnb_RUgy6prxRX7X8pi2PFHxX-kbmSmQgeEoILQQnK_aYMtTagSFzkUXC12Q2A5VmlfXR5cvSW-a80XxGOikpEf1jHuwusQx2EftBITnhPaYvg6Xi08qzvAEnmKgYicqCqY5o9d9ixav1jm6bd0r7A" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: test-prod " --data "{ 'eventType': 'detail-page-view', 'visitorId': '123', 'eventTime': '2021-09-28T03:33:33.000001Z', 'attributionToken': 'ABC', 'attributes': { 'city_name': { 'text': ['karachi'] }, 'device_type': { 'text': ['iOS'] }, }, 'productDetails': [{ 'product': { 'id': '2806' } }], 'userInfo': { 'userId': '123', } }"\ "https://retail.googleapis.com/v2/projects/test-prod/locations/global/catalogs/default_catalog/userEvents:write"
Обращение к add-to-cart
curl -X POST \ -H "Authorization: Bearer ya29.sdrdaM8jq4J0FBtZdJp2jsdshu87ZJcPlr4-8NqkDdGmLYtQ7P-riTx5man4k2maqWGNIsL1007a4BClSsfVbgHyjycaKn_5bviofo5XCbvCeO5-kkepnb_RUgy6prxRX7X8pi2PFHxX-kbmSmQgeEoILQQnK_aYMtTagSFzkUXC12Q2A5VmlfXR5cvSW-a80XxGOikpEf1jHuwusQx2EftBITnhPaYvg6Xi08qzvAEnmKgYicqCqY5o9d9ixav1jm6bd0r7A" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: test-prod" --data "{ 'eventType': 'add-to-cart', 'visitorId': '123', 'eventTime': '2021-09-28T03:33:33.000001Z', 'attributionToken': 'ABC', 'attributes': { 'city_name': { 'text': ['karachi'] }, 'device_type': { 'text': ['iOS'] }, }, 'productDetails': [{ 'product': { 'id': '2806' }, 'quantity':1 }], 'userInfo': { 'userId': '123', } }"\ "https://retail.googleapis.com/v2/projects/test-prod/locations/global/catalogs/default_catalog/userEvents:write"
Обращение к purchase-complete
curl -X POST \ -H "Authorization: Bearer ya29.a0ARrsddaM8jJ0FBtZdJsdjhu87ZJcPlr4-8NqkDdGmLYtQ7P-riTx5man4k2maqWGNIsL1007a4BClSsfVbgHyjycaKn_5bviofo5XCbvCeO5-kkepnb_RUgy6prxRX7X8pi2PFHxX-kbmSmQgeEoILQQnK_aYMtTagSFzkUXC12Q2A5VmlfXR5cvSW-a80XxGOikpEf1jHuwusQx2EftBITnhPaYvg6Xi08qzvAEnmKgYicqCqY5o9d9ixav1jm6bd0r7A" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: test-prod " --data "{ 'eventType': 'purchase-complete', 'visitorId': '123', 'eventTime': '2021-09-28T03:33:33.000001Z', 'attributionToken': 'ABC', 'attributes': { 'city_name': { 'text': ['karachi'] }, 'device_type': { 'text': ['iOS'] }, }, 'productDetails': [{ 'product': { 'id': '2806' }, 'quantity':'1' }], 'purchaseTransaction':{ "id": 'transacion-id-here', "revenue": 'orderPrice-here', "currencyCode": 'USD', "quantity":'1' } 'userInfo': { 'userId': '123', } }"\ "https://retail.googleapis.com/v2/projects/test-prod/locations/global/catalogs/default_catalog/userEvents:write"
Вам нужно будет сгенерировать токен авторизации с помощью Google Cloud для отправки событий.
Вы можете просматривать события в реальном времени на вкладке событий Retail AI.
Примечание. Если вы записываете пользовательские события до или во время импорта вашего каталога, восстановите все события, записанные до завершения импорта каталога.
Наконец, мы в шаге от создания нашей первой модели для рекомендации.
Построить рекомендательную модель
Следующие модели машинного обучения поддерживаются ИИ рекомендаций Google Cloud.
В этой статье мы будем использовать модель Recommended For You
. Вы можете прочитать здесь для более подробной информации о доступных моделях.
Перейдите на вкладку моделей и нажмите «Создать модель», чтобы начать настройку моделей машинного обучения.
Затем выберите Recommended For You
model в типе модели.
Мы стремимся улучшить покупки, поэтому мы хотим, чтобы наша модель ML оптимизировала конверсии. выберите conversion rate (CVR)
в качестве цели модели.
Установите частоту настройки как every three month
и фильтрацию по значениям атрибутов как auto
И нажмите кнопку создать. Это запустит обучение модели. Подождите день или два, пока модель ИИ будет готова. Время зависит от количества данных, необходимых для обучения.
Обслуживание
После создания модели ИИ пришло время настроить порции, чтобы мы могли вызвать нашу модель ИИ и получить персонализированный список.
Перейдите в настройки обслуживания и нажмите кнопку «Создать обслуживание» вверху. Выберите рекомендацию, как показано на изображении ниже.
Назовите свою порцию и нажмите «Продолжить».
Выберите нашу recommended for you
модель, которую мы создали. Это привяжет нашу модель к этой конфигурации обслуживания.
На вкладке предпочтений вы решаете, как будет вести себя модель. У нас могут быть автонастройки.
Нажмите кнопку «Создать». Обратите внимание на идентификатор конфигурации, так как он будет использоваться для вызова API модели.
Получить рекомендации
Ниже приведен вызов curl для получения рекомендаций от созданной нами модели.
curl -X POST \ -H "Authorization: Bearer ya29.aARrdaM9Bm57OTsdsIQAzGT15GwYzZpVfssffknWPNJ8gpKRk6IHSFmGqs1nBpAlaRRg2fQvtJgtUDGsuIc-h-j0RMLkAPy7FjxQ4tQbYZl62ba-4q4oRx-oY2KwYDA-pEQW77SACo2a8hS1zEUZHyyHCO3V-PycSBetJeldjib5VYo969D1PFVF33WSSRLPIP9uBcTW9ABoYthSOioTePlaICbwV1p8dlXesnCH8PdPNuKPxJJI3rzrnIghKXUKSQb4E-mc" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: test-prod"\ --data '{ "pageSize":100, "userEvent": { "eventType": "home-page-view", "visitorId": "123", "userInfo": { "userId": "123" }, "experimentIds": "123" } }' \ https://retail.googleapis.com/v2/projects/test-prod/locations/global/catalogs/default_catalog/placements/<your serving id here>:predict
Передайте точный идентификатор пользователя, идентификатор обслуживания, идентификатор проекта и токен авторизации, и вы получите персонализированный список для предоставленного вами идентификатора пользователя.
Поделитесь приведенным выше кодом со своим разработчиком, и он сможет предоставить персонализированный раздел на вашем веб-сайте и в приложении.
Эксперимент
Я настоятельно рекомендую провести A/B-тест при первом запуске системы рекомендаций. Это поможет вам понять, какую ценность вы получили от предоставления пользователю персонализированного опыта.
Последние мысли
Этой статьи должно быть более чем достаточно, чтобы помочь вам создать полностью масштабируемую рекомендательную систему без особых хлопот. Но помните, что использование ИИ рекомендаций Google Cloud в полной мере требует большего внимания.
Например, токены атрибуции имеют решающее значение при настройке нескольких моделей, ведение каталога также важно для предоставления пользователям актуальных продуктов, а также следует учитывать цены на Google Cloud. Есть много других.
Не стесняйтесь обращаться к нам, если вам нужна моя помощь с ИИ рекомендаций Google Cloud.
Заключение
Если вы ищете мощный способ создания систем персонализированных рекомендаций, ИИ для облачных рекомендаций Google — это решение для вас.
Облачный рекомендательный ИИ Google не только позволяет вам использовать собственные модели машинного обучения Google, но и позволяет вам перепрыгнуть через весь процесс проектирования рекомендательных систем. Это быстро дает вам рекомендацию по ценности.
Внедрите искусственный интеллект рекомендаций Google Cloud в кратчайшие сроки, чтобы повысить вовлеченность пользователей, их удержание и доход для вашего бизнеса.