Tutorial: Sentiment analysis with Azure AI services

In this tutorial, you learn how to enrich your data in Azure Synapse Analytics with Azure AI services. You'll use the Azure AI Language text analytics capabilities to perform sentiment analysis.

A user in Azure Synapse can select a table that contains a text column to enrich with sentiments. These sentiments can be positive, negative, mixed, or neutral. A probability will also be returned.

This tutorial covers:

  • Steps for getting a Spark table dataset that contains a text column for sentiment analysis.
  • Using a wizard experience in Azure Synapse to enrich data by using Text Analytics in Azure AI Language.

If you don't have an Azure subscription, create a trial account before you begin.

Prerequisites

Sign in to the Azure portal

Sign in to the Azure portal.

Create a Spark table

You'll need a Spark table for this tutorial.

  1. Download the FabrikamComments.csv file, which contains a dataset for text analytics.

  2. In Synapse analytics, open your storage account under Data and Linked.

  3. Upload the file to your Azure Synapse storage account in Data Lake Storage Gen2.

    Screenshot that shows selections for uploading data.

  4. Create a Spark table from the .csv file by right-clicking the file and selecting New Notebook > Create Spark table.

    Screenshot that shows selections for creating a Spark table.

  5. Set header=True and name the table in the code cell. Then run the notebook on a Spark pool.

    Screenshot that shows running a notebook.

    %%pyspark
    df = spark.read.load('abfss://default@azuresynapsesa.dfs.core.chinacloudapi.cn/data/FabrikamComments.csv', format='csv'
    ## If a header exists, uncomment the line below
    , header=True
    )
    df.write.mode("overwrite").saveAsTable("default.YourTableName")
    

Open the Azure AI services wizard

  1. In the Workspace tab on the data page, under your default lake table, right-click the Spark table created in the previous procedure.

  2. Select Machine Learning > Predict with a model to open the wizard.

    Screenshot that shows selections for opening the scoring wizard.

  3. A configuration panel appears, and you're asked to select a pretrained model. Select Sentiment Analysis.

    Screenshot that shows selection of a pre-trained sentiment analysis model.

Configure sentiment analysis

Next, configure the sentiment analysis. Select the following details:

  • Azure Cognitive Services linked service: As part of the prerequisite steps, you created a linked service to your Azure AI service. Select it here.
  • Language: Select English as the language of the text that you want to perform sentiment analysis on.
  • Text column: Select comment (string) as the text column in your dataset that you want to analyze to determine the sentiment.

When you're done, select Open notebook. This generates a notebook for you with PySpark code that performs the sentiment analysis with Azure AI services.

Screenshot that shows selections for configuring sentiment analysis.

Run the notebook

The notebook that you just opened uses the SynapseML library to connect to Azure AI services. The Azure AI services linked service that you provided allow you to securely reference your Azure AI service from this experience without revealing any secrets.

You can now run all cells to enrich your data with sentiments. Select Run all.

The sentiments are returned as positive, negative, neutral, or mixed. You also get probabilities per sentiment. Learn more about sentiment analysis in Azure AI services.

Screenshot that shows sentiment analysis.