Creare un sistema di raccomandazione basato sul contenuto

Azure Databricks
Azure Machine Learning

Idee per le soluzioni

Questo articolo è un'idea di soluzione. Per espandere il contenuto con altre informazioni, ad esempio potenziali casi d'uso, servizi alternativi, considerazioni sull'implementazione o indicazioni sui prezzi, inviare commenti e suggerimenti su GitHub.

Consigli sono un fattore chiave per i ricavi per molte aziende e vengono usati in diversi tipi di settori, tra cui vendita al dettaglio, notizie e media. Con la disponibilità di grandi quantità di dati sull'attività dei clienti, è possibile fornire raccomandazioni estremamente rilevanti usando Machine Learning.

Architettura

Architectural diagram that shows training, evaluation, and development of a machine learning model for content-based personalization that uses Azure Databricks.

Scaricare un file PowerPoint di questa architettura.

Flusso di dati

  1. archiviare. Azure Data Lake Archiviazione archivia grandi quantità di dati sul comportamento degli utenti e dei consumer.

  2. Lettura. Azure Databricks si connette e legge da Azure Data Lake Archiviazione. L'inserimento in Databricks consente la pre-elaborazione e il training per registrare il modello.

  3. Pre-elaborazione. La pre-elaborazione dei dati pulisce, trasforma e prepara i dati da inserire nel modello di sistema delle raccomandazioni.

  4. Treno. Il training prevede due passaggi: progettazione delle funzionalità e training del modello. Durante il training del modello, Azure Databricks usa il set di dati pre-elaborato per eseguire il training e spiegare il comportamento del modello di raccomandazione migliore.

  5. Post-elaborazione. La post-elaborazione prevede la valutazione e la selezione del modello in base al modello che offre prestazioni ottimali.

  6. Deploy. Azure Databricks gestisce il modello. Gli endpoint gestiti in Batch distribuiscono il modello per l'esposizione alla visualizzazione front-end. Man mano che il modello viene distribuito, i nuovi dati sono accessibili tramite nuovi endpoint. Sono supportate raccomandazioni batch e quasi in tempo reale.

  7. Scrivere. Le interfacce utente, ad esempio le applicazioni Web, possono utilizzare i risultati del modello archiviati. I risultati vengono scritti e acquisiti in Azure Synapse. Il modello viene eseguito come inferenza batch e archivia i risultati nel rispettivo archivio dati.

Componenti

Nell'architettura vengono usati i componenti seguenti:

  • Azure Data Lake Archiviazione è un set di funzionalità di archiviazione dedicate all'analisi dei Big Data e che forniscono semantica del file system, sicurezza a livello di file e scalabilità.

  • Azure Databricks è un cluster di Apache Spark gestito per il training e la valutazione dei modelli.

  • Azure Synapse Analytics è il data warehouse cloud veloce, flessibile e attendibile che consente di ridimensionare, calcolare e archiviare in modo elastico e indipendente, con un'architettura di elaborazione parallela elevata.

Dettagli dello scenario

L'approccio descritto in questo articolo è incentrato sulla creazione di un sistema di raccomandazione basato sul contenuto. Per altre informazioni sulle procedure consigliate per la creazione di sistemi di raccomandazione, vedere la documentazione e gli esempi per i consigli su GitHub.

Questo scenario di esempio illustra come usare Machine Learning per automatizzare la personalizzazione basata sul contenuto per i clienti. La soluzione usa Azure Databricks per eseguire il training di un modello che stima la probabilità che un utente sia interessato a un elemento. gli endpoint gestiti in batch distribuiscono tale modello come servizio di stima. È possibile usare questo servizio per creare raccomandazioni personalizzate classificando gli elementi in base al contenuto a cui è più probabile che un utente sia interessato.

Potenziali casi d'uso

Questa soluzione è ideale per il settore delle vendite al dettaglio. È rilevante per i casi d'uso seguenti:

  • Consigli sui contenuti per siti Web e app per dispositivi mobili
  • Consigli sui prodotti per i siti di e-commerce
  • Raccomandazioni sugli annunci visualizzati per i siti Web

Tipi di sistemi di raccomandazione

Esistono tre tipi principali di sistemi di raccomandazione:

  • Filtro collaborativo. Il sistema basato sul filtraggio collaborativo identifica modelli simili nel comportamento dei clienti e fornisce raccomandazioni su articoli con cui hanno già interagito altri clienti simili. Un vantaggio del filtro collaborativo è la facilità di generazione dei dati: gli utenti creano dati durante l'interazione con elenchi di articoli e prodotti. Inoltre, i clienti possono scoprire nuovi articoli e prodotti diversi da quelli curati dalle loro interazioni storiche. Tuttavia, lo svantaggio del filtro collaborativo è il problema di avvio a freddo: poiché c'è una scarsità di interazioni tra utenti e nuove offerte, gli elementi appena aggiunti non sono consigliati da un algoritmo che dipende interamente dalle interazioni con i clienti.

  • Basato sul contenuto. Le raccomandazioni basate sul contenuto usano informazioni sugli elementi per apprendere le preferenze dei clienti e consigliano elementi che condividono proprietà con elementi con cui un cliente ha precedentemente interagito. I sistemi di raccomandazione basati sul contenuto non sono ostacolati dal problema di avvio a freddo e possono adattarsi all'introduzione di nuovi elementi. Tuttavia, le raccomandazioni sono limitate alle funzionalità dell'elemento originale con cui un cliente ha interagito.

  • Metodo ibrido. Un altro approccio alla creazione di sistemi di raccomandazione consiste nel combinare filtri basati sul contenuto e collaborativi. Questo sistema consiglia gli elementi in base alle valutazioni degli utenti e alle informazioni sugli elementi. L'approccio ibrido presenta i vantaggi del filtro collaborativo e della raccomandazione basata sul contenuto.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Altro collaboratore:

  • Andrew Ajaluwa | Program Manager
  • Gary Moore | Programmatore/writer

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi