解決方案構想
本文是解決方案概念。 如果您想要使用詳細資訊來擴充內容,例如潛在的使用案例、替代服務、實作考慮或定價指引,請提供 GitHub 意見反應 讓我們知道。
建議是許多企業的主要收入驅動因素,可用於不同類型的行業,包括零售、新聞和媒體。 透過客戶活動的大量資料可用性,您可以使用機器學習提供高度相關的建議。
架構
資料流程
商店。 Azure Data Lake 儲存體會儲存使用者和取用者行為的大量資料。
讀取。 Azure Databricks 會連線至 Azure Data Lake 儲存體並從中讀取。 擷取至 Databricks 可讓前置處理和定型註冊模型。
預處理。 資料前置處理會清理、轉換和準備要送入建議系統模型的資料。
火車。 訓練有兩個步驟: 特徵工程 和 模型定 型。 在模型定型期間,Azure Databricks 會使用前置處理過的資料集來定型和說明最佳建議模型的行為。
後續處理。 後處理牽涉到模型評估與選取,根據模型的表現最佳。
Deploy。 Azure Databricks 會維護模型。 Batch 受控端點會部署模型,以便暴露在前端顯示器上。 部署模型時,新的資料可透過新的端點存取。 支援 Batch 和近乎即時的建議。
撰寫。 使用者介面,例如 Web 應用程式,可以取用預存的模型結果。 結果會寫入 Azure Synapse 中並擷取。 模型會以批次推斷的形式執行,並將結果儲存在個別的資料存放區中。
元件
此架構會使用下列元件:
Azure Data Lake 儲存體 是一組專用於巨量資料分析的儲存體功能,並提供檔案系統語意、檔案層級安全性和調整。
Azure Databricks 是受控 Apache Spark 叢集,可用於模型定型和評估。
Azure Synapse Analytics 是快速、彈性且受信任的雲端資料倉儲,可讓您使用大規模平行處理架構,以彈性且獨立的方式調整、計算及儲存。
案例詳細資料
本文所述的方法著重于建置以內容為基礎的建議系統。 如需建置建議系統最佳做法的詳細資訊,請參閱 GitHub 上建議工具 的檔和範例 。
此範例案例示範如何使用機器學習,將客戶的內容型個人化自動化。 解決方案會使用 Azure Databricks 來定型模型,以預測使用者對專案感興趣的機率。 批次受控端點會將 該模型部署為預測服務。 您可以使用這項服務,根據使用者最有可能感興趣的內容來排名專案,以建立個人化建議。
潛在的使用案例
此解決方案適用于零售產業。 這與下列使用案例相關:
- 網站和行動應用程式的內容建議
- 電子商務網站的產品建議
- 網站的顯示廣告建議
建議系統類型
建議系統有三種主要類型:
共同作業篩選。 共同作業篩選可識別客戶行為中的類似模式,並建議與其他類似客戶互動的專案。 共同作業篩選的優點是輕鬆產生資料—使用者在與專案和產品清單互動時建立資料。 此外,客戶可以探索從其歷史互動中策劃的新專案和產品。 不過,共同作業篩選的缺點是 冷啟動 問題:因為使用者與新供應專案之間缺乏互動,因此完全依賴客戶互動的演算法不建議新增的專案。
內容型。 以內容為基礎的建議會使用專案的相關資訊來瞭解客戶喜好設定,並建議與客戶先前互動之專案共用屬性的專案。 以內容為基礎的建議系統不會受到冷啟動問題所阻礙,而且可以適應新專案的引進。 不過,建議僅限於客戶與其互動的原始專案功能。
混合式方法。 建置建議系統的另一種方法是混合內容型和共同作業篩選。 此系統會根據使用者評等和專案的相關資訊來建議專案。 混合式方法具有共同作業篩選和內容型建議的優點。
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主體作者:
- Scott Graham |主體資料科學家
其他參與者:
- 安德魯·阿賈盧瓦 |Program Manager
- Gary Moore |程式設計人員/寫入器
若要查看非公用LinkedIn設定檔,請登入 LinkedIn。
下一步
若要查看更多範例、教學課程和工具來協助您建置自己的建議系統,請參閱 GitHub 存放庫 Microsoft Recommenders 。
如需 Microsoft Azure 部落格上的文章,請參閱 使用 Azure 機器學習 服務 建置推薦系統。