Delen via


Quickstart: Sentimentanalyse en meninganalyse

Referentiedocumentatie Meer voorbeeldenpakket | (NuGet) | -bibliotheekbroncode |

Gebruik deze quickstart om een sentimentanalysetoepassing te maken met de clientbibliotheek voor .NET. In het volgende voorbeeld maakt u een C#-toepassing waarmee de sentimenten kunnen worden geïdentificeerd die zijn uitgedrukt in een tekstvoorbeeld en op aspect gebaseerde sentimentanalyses uitvoeren.

Vereisten

Instellen

Een Azure-resource maken

Als u het onderstaande codevoorbeeld wilt gebruiken, moet u een Azure-resource implementeren. Deze resource bevat een sleutel en eindpunt dat u gebruikt voor het verifiëren van de API-aanroepen die u naar de Taalservice verzendt.

  1. Gebruik de volgende koppeling om een taalresource te maken met behulp van Azure Portal. U moet zich aanmelden met uw Azure-abonnement.

  2. Selecteer doorgaan om uw resource te maken in het scherm Aanvullende functies selecteren dat wordt weergegeven.

    Een schermopname met extra functieopties in Azure Portal.

  3. Geef in het scherm Taal maken de volgende informatie op:

    Details Beschrijving
    Abonnement Het abonnementsaccount waaraan uw resource wordt gekoppeld. Selecteer uw Azure-abonnement in de vervolgkeuzelijst.
    Resourcegroep Een resourcegroep is een container waarin de resources die u maakt, worden opgeslagen. Selecteer Nieuwe maken om een nieuwe resourcegroep te maken.
    Regio De locatie van uw taalresource. Verschillende regio's kunnen latentie veroorzaken, afhankelijk van uw fysieke locatie, maar hebben geen invloed op de runtime-beschikbaarheid van uw resource. Voor deze quickstart selecteert u een beschikbare regio bij u in de buurt of kiest u VS - oost.
    Naam De naam voor uw taalresource. Deze naam wordt ook gebruikt om een eindpunt-URL te maken die uw toepassingen gebruiken om API-aanvragen te verzenden.
    Prijscategorie De prijscategorie voor uw taalresource. U kunt de gratis F0-laag gebruiken om de service uit te proberen en later een upgrade uit te voeren naar een betaalde laag voor productie.

    Een schermopname van details over het maken van resources in Azure Portal.

  4. Zorg ervoor dat het selectievakje Verantwoordelijke AI-kennisgeving is ingeschakeld.

  5. Selecteer Controleren en maken onderaan de pagina.

  6. Controleer in het scherm dat wordt weergegeven of de validatie is geslaagd en of u de gegevens correct hebt ingevoerd. Selecteer vervolgens Maken.

Uw sleutel en eindpunt ophalen

Vervolgens hebt u de sleutel en het eindpunt van de resource nodig om uw toepassing te verbinden met de API. Verderop in de quickstart plakt u uw sleutel en eindpunt in de code.

  1. Nadat de taalresource is geïmplementeerd, klikt u onder Volgende stappen op de knop Naar de resource gaan.

    Een schermopname van de volgende stappen nadat een resource is geïmplementeerd.

  2. Selecteer sleutels en eindpunt in het linkernavigatiemenu op het scherm voor uw resource. U gebruikt een van uw sleutels en uw eindpunt in de onderstaande stappen.

    Een schermopname van de sectie sleutels en eindpunten voor een resource.

Omgevingsvariabelen maken

Uw toepassing moet worden geverifieerd om API-aanvragen te verzenden. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. In dit voorbeeld schrijft u uw referenties naar omgevingsvariabelen op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie het beveiligingsartikel over Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw taalresourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  1. Als u de LANGUAGE_KEY omgevingsvariabele wilt instellen, vervangt u deze door your-key een van de sleutels voor uw resource.
  2. Als u de LANGUAGE_ENDPOINT omgevingsvariabele wilt instellen, vervangt your-endpoint u het eindpunt voor uw resource.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige actieve console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle actieve programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Een nieuwe .NET Core-app maken

Maak een nieuwe console-app in .NET Core met behulp van de Visual Studio IDE. Hiermee maakt u een project 'Hallo wereld' met één C#-bronbestand: program.cs.

Installeer de clientbibliotheek door met de rechtermuisknop op de oplossing te klikken in Solution Explorer en NuGet-pakketten beheren te selecteren. Selecteer in Package Manager dat wordt geopend de optie Bladeren en zoek naar Azure.AI.TextAnalytics. Selecteer versie 5.2.0 en vervolgens Installeren. U kunt ook de Package Manager-console gebruiken.

Voorbeeld van code

Kopieer de volgende code naar uw program.cs-bestand en voer de code uit.

using Azure;
using System;
using Azure.AI.TextAnalytics;
using System.Collections.Generic;

namespace Example
{
    class Program
    {
        // This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
        static string languageKey = Environment.GetEnvironmentVariable("LANGUAGE_KEY");
        static string languageEndpoint = Environment.GetEnvironmentVariable("LANGUAGE_ENDPOINT");

        private static readonly AzureKeyCredential credentials = new AzureKeyCredential(languageKey);
        private static readonly Uri endpoint = new Uri(languageEndpoint);

        // Example method for detecting opinions text. 
        static void SentimentAnalysisWithOpinionMiningExample(TextAnalyticsClient client)
        {
            var documents = new List<string>
            {
                "The food and service were unacceptable. The concierge was nice, however."
            };

            AnalyzeSentimentResultCollection reviews = client.AnalyzeSentimentBatch(documents, options: new AnalyzeSentimentOptions()
            {
                IncludeOpinionMining = true
            });

            foreach (AnalyzeSentimentResult review in reviews)
            {
                Console.WriteLine($"Document sentiment: {review.DocumentSentiment.Sentiment}\n");
                Console.WriteLine($"\tPositive score: {review.DocumentSentiment.ConfidenceScores.Positive:0.00}");
                Console.WriteLine($"\tNegative score: {review.DocumentSentiment.ConfidenceScores.Negative:0.00}");
                Console.WriteLine($"\tNeutral score: {review.DocumentSentiment.ConfidenceScores.Neutral:0.00}\n");
                foreach (SentenceSentiment sentence in review.DocumentSentiment.Sentences)
                {
                    Console.WriteLine($"\tText: \"{sentence.Text}\"");
                    Console.WriteLine($"\tSentence sentiment: {sentence.Sentiment}");
                    Console.WriteLine($"\tSentence positive score: {sentence.ConfidenceScores.Positive:0.00}");
                    Console.WriteLine($"\tSentence negative score: {sentence.ConfidenceScores.Negative:0.00}");
                    Console.WriteLine($"\tSentence neutral score: {sentence.ConfidenceScores.Neutral:0.00}\n");

                    foreach (SentenceOpinion sentenceOpinion in sentence.Opinions)
                    {
                        Console.WriteLine($"\tTarget: {sentenceOpinion.Target.Text}, Value: {sentenceOpinion.Target.Sentiment}");
                        Console.WriteLine($"\tTarget positive score: {sentenceOpinion.Target.ConfidenceScores.Positive:0.00}");
                        Console.WriteLine($"\tTarget negative score: {sentenceOpinion.Target.ConfidenceScores.Negative:0.00}");
                        foreach (AssessmentSentiment assessment in sentenceOpinion.Assessments)
                        {
                            Console.WriteLine($"\t\tRelated Assessment: {assessment.Text}, Value: {assessment.Sentiment}");
                            Console.WriteLine($"\t\tRelated Assessment positive score: {assessment.ConfidenceScores.Positive:0.00}");
                            Console.WriteLine($"\t\tRelated Assessment negative score: {assessment.ConfidenceScores.Negative:0.00}");
                        }
                    }
                }
                Console.WriteLine($"\n");
            }
        }

        static void Main(string[] args)
        {
            var client = new TextAnalyticsClient(endpoint, credentials);
            SentimentAnalysisWithOpinionMiningExample(client);

            Console.Write("Press any key to exit.");
            Console.ReadKey();
        }

    }
}

Uitvoer

Document sentiment: Mixed

    Positive score: 0.47
    Negative score: 0.52
    Neutral score: 0.00

    Text: "The food and service were unacceptable. "
    Sentence sentiment: Negative
    Sentence positive score: 0.00
    Sentence negative score: 0.99
    Sentence neutral score: 0.00

    Target: food, Value: Negative
    Target positive score: 0.00
    Target negative score: 1.00
            Related Assessment: unacceptable, Value: Negative
            Related Assessment positive score: 0.00
            Related Assessment negative score: 1.00
    Target: service, Value: Negative
    Target positive score: 0.00
    Target negative score: 1.00
            Related Assessment: unacceptable, Value: Negative
            Related Assessment positive score: 0.00
            Related Assessment negative score: 1.00
    Text: "The concierge was nice, however."
    Sentence sentiment: Positive
    Sentence positive score: 0.94
    Sentence negative score: 0.05
    Sentence neutral score: 0.01

    Target: concierge, Value: Positive
    Target positive score: 1.00
    Target negative score: 0.00
            Related Assessment: nice, Value: Positive
            Related Assessment positive score: 1.00
            Related Assessment negative score: 0.00

Resources opschonen

Als u een Azure AI-servicesabonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.

Gebruik de volgende opdrachten om de omgevingsvariabelen te verwijderen die u voor deze quickstart hebt gemaakt.

reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f

Volgende stappen

Referentiedocumentatie Aanvullende voorbeeldenpakket | (Maven) | Library-broncode |

Gebruik deze quickstart om een sentimentanalysetoepassing te maken met de clientbibliotheek voor Java. In het volgende voorbeeld maakt u een Java-toepassing waarmee de sentimenten kunnen worden geïdentificeerd die worden uitgedrukt in een tekstvoorbeeld en op aspect gebaseerde sentimentanalyses uitvoeren.

Vereisten

Instellen

Een Azure-resource maken

Als u het onderstaande codevoorbeeld wilt gebruiken, moet u een Azure-resource implementeren. Deze resource bevat een sleutel en eindpunt dat u gebruikt voor het verifiëren van de API-aanroepen die u naar de Taalservice verzendt.

  1. Gebruik de volgende koppeling om een taalresource te maken met behulp van Azure Portal. U moet zich aanmelden met uw Azure-abonnement.

  2. Selecteer doorgaan om uw resource te maken in het scherm Aanvullende functies selecteren dat wordt weergegeven.

    Een schermopname met extra functieopties in Azure Portal.

  3. Geef in het scherm Taal maken de volgende informatie op:

    Details Beschrijving
    Abonnement Het abonnementsaccount waaraan uw resource wordt gekoppeld. Selecteer uw Azure-abonnement in de vervolgkeuzelijst.
    Resourcegroep Een resourcegroep is een container waarin de resources die u maakt, worden opgeslagen. Selecteer Nieuwe maken om een nieuwe resourcegroep te maken.
    Regio De locatie van uw taalresource. Verschillende regio's kunnen latentie veroorzaken, afhankelijk van uw fysieke locatie, maar hebben geen invloed op de runtime-beschikbaarheid van uw resource. Voor deze quickstart selecteert u een beschikbare regio bij u in de buurt of kiest u VS - oost.
    Naam De naam voor uw taalresource. Deze naam wordt ook gebruikt om een eindpunt-URL te maken die uw toepassingen gebruiken om API-aanvragen te verzenden.
    Prijscategorie De prijscategorie voor uw taalresource. U kunt de gratis F0-laag gebruiken om de service uit te proberen en later een upgrade uit te voeren naar een betaalde laag voor productie.

    Een schermopname van details over het maken van resources in Azure Portal.

  4. Zorg ervoor dat het selectievakje Verantwoordelijke AI-kennisgeving is ingeschakeld.

  5. Selecteer Controleren en maken onderaan de pagina.

  6. Controleer in het scherm dat wordt weergegeven of de validatie is geslaagd en of u de gegevens correct hebt ingevoerd. Selecteer vervolgens Maken.

Uw sleutel en eindpunt ophalen

Vervolgens hebt u de sleutel en het eindpunt van de resource nodig om uw toepassing te verbinden met de API. Verderop in de quickstart plakt u uw sleutel en eindpunt in de code.

  1. Nadat de taalresource is geïmplementeerd, klikt u onder Volgende stappen op de knop Naar de resource gaan.

    Een schermopname van de volgende stappen nadat een resource is geïmplementeerd.

  2. Selecteer sleutels en eindpunt in het linkernavigatiemenu op het scherm voor uw resource. U gebruikt een van uw sleutels en uw eindpunt in de onderstaande stappen.

    Een schermopname van de sectie sleutels en eindpunten voor een resource.

Omgevingsvariabelen maken

Uw toepassing moet worden geverifieerd om API-aanvragen te verzenden. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. In dit voorbeeld schrijft u uw referenties naar omgevingsvariabelen op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie het beveiligingsartikel over Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw taalresourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  1. Als u de LANGUAGE_KEY omgevingsvariabele wilt instellen, vervangt u deze door your-key een van de sleutels voor uw resource.
  2. Als u de LANGUAGE_ENDPOINT omgevingsvariabele wilt instellen, vervangt your-endpoint u het eindpunt voor uw resource.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige actieve console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle actieve programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

De clientbibliotheek toevoegen

Maak een Maven-project in uw favoriete IDE of ontwikkelomgeving. Voeg vervolgens de volgende afhankelijkheid toe aan het pom.xml-bestand van uw project. U kunt de implementatiesyntaxis voor andere compilatieprogramma's online vinden.

<dependencies>
     <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-ai-textanalytics</artifactId>
        <version>5.2.0</version>
    </dependency>
</dependencies>

Voorbeeld van code

Maak een Java-bestand met de naam Example.java. Open het bestand en kopieer de onderstaande code. Voer de code vervolgens uit.

import com.azure.core.credential.AzureKeyCredential;
import com.azure.ai.textanalytics.models.*;
import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
import com.azure.ai.textanalytics.TextAnalyticsClient;

public class Example {
    
    // This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
    private static String languageKey = System.getenv("LANGUAGE_KEY");
    private static String languageEndpoint = System.getenv("LANGUAGE_ENDPOINT");

    public static void main(String[] args) {
        TextAnalyticsClient client = authenticateClient(languageKey, languageEndpoint);
        sentimentAnalysisWithOpinionMiningExample(client);
    }
    // Method to authenticate the client object with your key and endpoint.
    static TextAnalyticsClient authenticateClient(String key, String endpoint) {
        return new TextAnalyticsClientBuilder()
                .credential(new AzureKeyCredential(key))
                .endpoint(endpoint)
                .buildClient();
    }
    // Example method for detecting sentiment and opinions in text.
    static void sentimentAnalysisWithOpinionMiningExample(TextAnalyticsClient client)
    {
        // The document that needs be analyzed.
        String document = "The food and service were unacceptable. The concierge was nice, however.";

        System.out.printf("Document = %s%n", document);

        AnalyzeSentimentOptions options = new AnalyzeSentimentOptions().setIncludeOpinionMining(true);
        final DocumentSentiment documentSentiment = client.analyzeSentiment(document, "en", options);
        SentimentConfidenceScores scores = documentSentiment.getConfidenceScores();
        System.out.printf(
                "Recognized document sentiment: %s, positive score: %f, neutral score: %f, negative score: %f.%n",
                documentSentiment.getSentiment(), scores.getPositive(), scores.getNeutral(), scores.getNegative());


        documentSentiment.getSentences().forEach(sentenceSentiment -> {
            SentimentConfidenceScores sentenceScores = sentenceSentiment.getConfidenceScores();
            System.out.printf("\tSentence sentiment: %s, positive score: %f, neutral score: %f, negative score: %f.%n",
                    sentenceSentiment.getSentiment(), sentenceScores.getPositive(), sentenceScores.getNeutral(), sentenceScores.getNegative());
            sentenceSentiment.getOpinions().forEach(opinion -> {
                TargetSentiment targetSentiment = opinion.getTarget();
                System.out.printf("\t\tTarget sentiment: %s, target text: %s%n", targetSentiment.getSentiment(),
                        targetSentiment.getText());
                for (AssessmentSentiment assessmentSentiment : opinion.getAssessments()) {
                    System.out.printf("\t\t\t'%s' assessment sentiment because of \"%s\". Is the assessment negated: %s.%n",
                            assessmentSentiment.getSentiment(), assessmentSentiment.getText(), assessmentSentiment.isNegated());
                }
            });
        });
    }
}

Uitvoer

Document = The food and service were unacceptable. The concierge was nice, however.
Recognized document sentiment: mixed, positive score: 0.470000, neutral score: 0.000000, negative score: 0.520000.
	Sentence sentiment: negative, positive score: 0.000000, neutral score: 0.000000, negative score: 0.990000.
		Target sentiment: negative, target text: food
			'negative' assessment sentiment because of "unacceptable". Is the assessment negated: false.
		Target sentiment: negative, target text: service
			'negative' assessment sentiment because of "unacceptable". Is the assessment negated: false.
	Sentence sentiment: positive, positive score: 0.940000, neutral score: 0.010000, negative score: 0.050000.
		Target sentiment: positive, target text: concierge
			'positive' assessment sentiment because of "nice". Is the assessment negated: false.

Resources opschonen

Als u een Azure AI-servicesabonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.

Gebruik de volgende opdrachten om de omgevingsvariabelen te verwijderen die u voor deze quickstart hebt gemaakt.

reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f

Volgende stappen

Referentiedocumentatie Aanvullende voorbeeldenpakket | (npm) | Bibliotheekbroncode |

Gebruik deze quickstart om een toepassing voor sentimentanalyse te maken met de clientbibliotheek voor Node.js. In het volgende voorbeeld maakt u een JavaScript-toepassing waarmee de sentimenten kunnen worden geïdentificeerd die zijn uitgedrukt in een tekstvoorbeeld en op aspect gebaseerde sentimentanalyses uitvoeren.

Vereisten

Instellen

Een Azure-resource maken

Als u het onderstaande codevoorbeeld wilt gebruiken, moet u een Azure-resource implementeren. Deze resource bevat een sleutel en eindpunt dat u gebruikt voor het verifiëren van de API-aanroepen die u naar de Taalservice verzendt.

  1. Gebruik de volgende koppeling om een taalresource te maken met behulp van Azure Portal. U moet zich aanmelden met uw Azure-abonnement.

  2. Selecteer doorgaan om uw resource te maken in het scherm Aanvullende functies selecteren dat wordt weergegeven.

    Een schermopname met extra functieopties in Azure Portal.

  3. Geef in het scherm Taal maken de volgende informatie op:

    Details Beschrijving
    Abonnement Het abonnementsaccount waaraan uw resource wordt gekoppeld. Selecteer uw Azure-abonnement in de vervolgkeuzelijst.
    Resourcegroep Een resourcegroep is een container waarin de resources die u maakt, worden opgeslagen. Selecteer Nieuwe maken om een nieuwe resourcegroep te maken.
    Regio De locatie van uw taalresource. Verschillende regio's kunnen latentie veroorzaken, afhankelijk van uw fysieke locatie, maar hebben geen invloed op de runtime-beschikbaarheid van uw resource. Voor deze quickstart selecteert u een beschikbare regio bij u in de buurt of kiest u VS - oost.
    Naam De naam voor uw taalresource. Deze naam wordt ook gebruikt om een eindpunt-URL te maken die uw toepassingen gebruiken om API-aanvragen te verzenden.
    Prijscategorie De prijscategorie voor uw taalresource. U kunt de gratis F0-laag gebruiken om de service uit te proberen en later een upgrade uit te voeren naar een betaalde laag voor productie.

    Een schermopname van details over het maken van resources in Azure Portal.

  4. Zorg ervoor dat het selectievakje Verantwoordelijke AI-kennisgeving is ingeschakeld.

  5. Selecteer Controleren en maken onderaan de pagina.

  6. Controleer in het scherm dat wordt weergegeven of de validatie is geslaagd en of u de gegevens correct hebt ingevoerd. Selecteer vervolgens Maken.

Uw sleutel en eindpunt ophalen

Vervolgens hebt u de sleutel en het eindpunt van de resource nodig om uw toepassing te verbinden met de API. Verderop in de quickstart plakt u uw sleutel en eindpunt in de code.

  1. Nadat de taalresource is geïmplementeerd, klikt u onder Volgende stappen op de knop Naar de resource gaan.

    Een schermopname van de volgende stappen nadat een resource is geïmplementeerd.

  2. Selecteer sleutels en eindpunt in het linkernavigatiemenu op het scherm voor uw resource. U gebruikt een van uw sleutels en uw eindpunt in de onderstaande stappen.

    Een schermopname van de sectie sleutels en eindpunten voor een resource.

Omgevingsvariabelen maken

Uw toepassing moet worden geverifieerd om API-aanvragen te verzenden. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. In dit voorbeeld schrijft u uw referenties naar omgevingsvariabelen op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie het beveiligingsartikel over Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw taalresourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  1. Als u de LANGUAGE_KEY omgevingsvariabele wilt instellen, vervangt u deze door your-key een van de sleutels voor uw resource.
  2. Als u de LANGUAGE_ENDPOINT omgevingsvariabele wilt instellen, vervangt your-endpoint u het eindpunt voor uw resource.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige actieve console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle actieve programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Een nieuwe Node.js-toepassing maken

Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor de app, en navigeer naar deze map.

mkdir myapp 

cd myapp

Voer de opdracht npm init uit om een knooppunttoepassing te maken met een package.json-bestand.

npm init

De clientbibliotheek installeren

Installeer de npm-pakketten:

npm install @azure/ai-language-text

Voorbeeld van code

Open het bestand en kopieer de onderstaande code. Voer de code vervolgens uit.

"use strict";

const { TextAnalyticsClient, AzureKeyCredential } = require("@azure/ai-text-analytics");

// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
const key = process.env.LANGUAGE_KEY;
const endpoint = process.env.LANGUAGE_ENDPOINT;


//an example document for sentiment analysis and opinion mining
const documents = [{
    text: "The food and service were unacceptable. The concierge was nice, however.",
    id: "0",
    language: "en"
  }];
  
async function main() {
  console.log("=== Sentiment analysis and opinion mining sample ===");

  const client = new TextAnalysisClient(endpoint, new AzureKeyCredential(key));

  const results = await client.analyze("SentimentAnalysis", documents, {
    includeOpinionMining: true,
  });

  for (let i = 0; i < results.length; i++) {
    const result = results[i];
    console.log(`- Document ${result.id}`);
    if (!result.error) {
      console.log(`\tDocument text: ${documents[i].text}`);
      console.log(`\tOverall Sentiment: ${result.sentiment}`);
      console.log("\tSentiment confidence scores:", result.confidenceScores);
      console.log("\tSentences");
      for (const { sentiment, confidenceScores, opinions } of result.sentences) {
        console.log(`\t- Sentence sentiment: ${sentiment}`);
        console.log("\t  Confidence scores:", confidenceScores);
        console.log("\t  Mined opinions");
        for (const { target, assessments } of opinions) {
          console.log(`\t\t- Target text: ${target.text}`);
          console.log(`\t\t  Target sentiment: ${target.sentiment}`);
          console.log("\t\t  Target confidence scores:", target.confidenceScores);
          console.log("\t\t  Target assessments");
          for (const { text, sentiment } of assessments) {
            console.log(`\t\t\t- Text: ${text}`);
            console.log(`\t\t\t  Sentiment: ${sentiment}`);
          }
        }
      }
    } else {
      console.error(`\tError: ${result.error}`);
    }
  }
}
  
main().catch((err) => {
  console.error("The sample encountered an error:", err);
});

Uitvoer

=== Sentiment analysis and opinion mining sample ===
- Document 0
    Document text: The food and service were unacceptable. The concierge was nice, however.
    Overall Sentiment: mixed
    Sentiment confidence scores: { positive: 0.49, neutral: 0, negative: 0.5 }
    Sentences
    - Sentence sentiment: negative
      Confidence scores: { positive: 0, neutral: 0, negative: 1 }
      Mined opinions
            - Target text: food
              Target sentiment: negative
              Target confidence scores: { positive: 0.01, negative: 0.99 }
              Target assessments
                    - Text: unacceptable
                      Sentiment: negative
            - Target text: service
              Target sentiment: negative
              Target confidence scores: { positive: 0.01, negative: 0.99 }
              Target assessments
                    - Text: unacceptable
                      Sentiment: negative
    - Sentence sentiment: positive
      Confidence scores: { positive: 0.98, neutral: 0.01, negative: 0.01 }
      Mined opinions
            - Target text: concierge
              Target sentiment: positive
              Target confidence scores: { positive: 1, negative: 0 }
              Target assessments
                    - Text: nice
                      Sentiment: positive

Resources opschonen

Als u een Azure AI-servicesabonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.

Gebruik de volgende opdrachten om de omgevingsvariabelen te verwijderen die u voor deze quickstart hebt gemaakt.

reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f

Volgende stappen

Referentiedocumentatie Aanvullende voorbeeldenpakket | (PyPi) | Library-broncode |

Gebruik deze quickstart om een sentimentanalysetoepassing te maken met de clientbibliotheek voor Python. In het volgende voorbeeld maakt u een Python-toepassing waarmee u de sentimenten kunt identificeren die zijn uitgedrukt in een tekstvoorbeeld en op aspect gebaseerde sentimentanalyses uitvoeren.

Vereisten

Instellen

Een Azure-resource maken

Als u het onderstaande codevoorbeeld wilt gebruiken, moet u een Azure-resource implementeren. Deze resource bevat een sleutel en eindpunt dat u gebruikt voor het verifiëren van de API-aanroepen die u naar de Taalservice verzendt.

  1. Gebruik de volgende koppeling om een taalresource te maken met behulp van Azure Portal. U moet zich aanmelden met uw Azure-abonnement.

  2. Selecteer doorgaan om uw resource te maken in het scherm Aanvullende functies selecteren dat wordt weergegeven.

    Een schermopname met extra functieopties in Azure Portal.

  3. Geef in het scherm Taal maken de volgende informatie op:

    Details Beschrijving
    Abonnement Het abonnementsaccount waaraan uw resource wordt gekoppeld. Selecteer uw Azure-abonnement in de vervolgkeuzelijst.
    Resourcegroep Een resourcegroep is een container waarin de resources die u maakt, worden opgeslagen. Selecteer Nieuwe maken om een nieuwe resourcegroep te maken.
    Regio De locatie van uw taalresource. Verschillende regio's kunnen latentie veroorzaken, afhankelijk van uw fysieke locatie, maar hebben geen invloed op de runtime-beschikbaarheid van uw resource. Voor deze quickstart selecteert u een beschikbare regio bij u in de buurt of kiest u VS - oost.
    Naam De naam voor uw taalresource. Deze naam wordt ook gebruikt om een eindpunt-URL te maken die uw toepassingen gebruiken om API-aanvragen te verzenden.
    Prijscategorie De prijscategorie voor uw taalresource. U kunt de gratis F0-laag gebruiken om de service uit te proberen en later een upgrade uit te voeren naar een betaalde laag voor productie.

    Een schermopname van details over het maken van resources in Azure Portal.

  4. Zorg ervoor dat het selectievakje Verantwoordelijke AI-kennisgeving is ingeschakeld.

  5. Selecteer Controleren en maken onderaan de pagina.

  6. Controleer in het scherm dat wordt weergegeven of de validatie is geslaagd en of u de gegevens correct hebt ingevoerd. Selecteer vervolgens Maken.

Uw sleutel en eindpunt ophalen

Vervolgens hebt u de sleutel en het eindpunt van de resource nodig om uw toepassing te verbinden met de API. Verderop in de quickstart plakt u uw sleutel en eindpunt in de code.

  1. Nadat de taalresource is geïmplementeerd, klikt u onder Volgende stappen op de knop Naar de resource gaan.

    Een schermopname van de volgende stappen nadat een resource is geïmplementeerd.

  2. Selecteer sleutels en eindpunt in het linkernavigatiemenu op het scherm voor uw resource. U gebruikt een van uw sleutels en uw eindpunt in de onderstaande stappen.

    Een schermopname van de sectie sleutels en eindpunten voor een resource.

Omgevingsvariabelen maken

Uw toepassing moet worden geverifieerd om API-aanvragen te verzenden. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. In dit voorbeeld schrijft u uw referenties naar omgevingsvariabelen op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie het beveiligingsartikel over Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw taalresourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  1. Als u de LANGUAGE_KEY omgevingsvariabele wilt instellen, vervangt u deze door your-key een van de sleutels voor uw resource.
  2. Als u de LANGUAGE_ENDPOINT omgevingsvariabele wilt instellen, vervangt your-endpoint u het eindpunt voor uw resource.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige actieve console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle actieve programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

De clientbibliotheek installeren

Na de installatie van Python kunt u de clientbibliotheek installeren met:

pip install azure-ai-textanalytics==5.2.0

Voorbeeld van code

Maak een nieuw Python-bestand en kopieer de onderstaande code. Voer vervolgens de code uit

# This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
language_key = os.environ.get('LANGUAGE_KEY')
language_endpoint = os.environ.get('LANGUAGE_ENDPOINT')

from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential

# Authenticate the client using your key and endpoint 
def authenticate_client():
    ta_credential = AzureKeyCredential(language_key)
    text_analytics_client = TextAnalyticsClient(
            endpoint=language_endpoint, 
            credential=ta_credential)
    return text_analytics_client

client = authenticate_client()

# Example method for detecting sentiment and opinions in text 
def sentiment_analysis_with_opinion_mining_example(client):

    documents = [
        "The food and service were unacceptable. The concierge was nice, however."
    ]

    result = client.analyze_sentiment(documents, show_opinion_mining=True)
    doc_result = [doc for doc in result if not doc.is_error]

    positive_reviews = [doc for doc in doc_result if doc.sentiment == "positive"]
    negative_reviews = [doc for doc in doc_result if doc.sentiment == "negative"]

    positive_mined_opinions = []
    mixed_mined_opinions = []
    negative_mined_opinions = []

    for document in doc_result:
        print("Document Sentiment: {}".format(document.sentiment))
        print("Overall scores: positive={0:.2f}; neutral={1:.2f}; negative={2:.2f} \n".format(
            document.confidence_scores.positive,
            document.confidence_scores.neutral,
            document.confidence_scores.negative,
        ))
        for sentence in document.sentences:
            print("Sentence: {}".format(sentence.text))
            print("Sentence sentiment: {}".format(sentence.sentiment))
            print("Sentence score:\nPositive={0:.2f}\nNeutral={1:.2f}\nNegative={2:.2f}\n".format(
                sentence.confidence_scores.positive,
                sentence.confidence_scores.neutral,
                sentence.confidence_scores.negative,
            ))
            for mined_opinion in sentence.mined_opinions:
                target = mined_opinion.target
                print("......'{}' target '{}'".format(target.sentiment, target.text))
                print("......Target score:\n......Positive={0:.2f}\n......Negative={1:.2f}\n".format(
                    target.confidence_scores.positive,
                    target.confidence_scores.negative,
                ))
                for assessment in mined_opinion.assessments:
                    print("......'{}' assessment '{}'".format(assessment.sentiment, assessment.text))
                    print("......Assessment score:\n......Positive={0:.2f}\n......Negative={1:.2f}\n".format(
                        assessment.confidence_scores.positive,
                        assessment.confidence_scores.negative,
                    ))
            print("\n")
        print("\n")
          
sentiment_analysis_with_opinion_mining_example(client)

Uitvoer

Document Sentiment: mixed
Overall scores: positive=0.47; neutral=0.00; negative=0.52

Sentence: The food and service were unacceptable.
Sentence sentiment: negative
Sentence score:
Positive=0.00
Neutral=0.00
Negative=0.99

......'negative' target 'food'
......Target score:
......Positive=0.00
......Negative=1.00

......'negative' assessment 'unacceptable'
......Assessment score:
......Positive=0.00
......Negative=1.00

......'negative' target 'service'
......Target score:
......Positive=0.00
......Negative=1.00

......'negative' assessment 'unacceptable'
......Assessment score:
......Positive=0.00
......Negative=1.00



Sentence: The concierge was nice, however.
Sentence sentiment: positive
Sentence score:
Positive=0.94
Neutral=0.01
Negative=0.05

......'positive' target 'concierge'
......Target score:
......Positive=1.00
......Negative=0.00

......'positive' assessment 'nice'
......Assessment score:
......Positive=1.00
......Negative=0.00

Resources opschonen

Als u een Azure AI-servicesabonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.

Gebruik de volgende opdrachten om de omgevingsvariabelen te verwijderen die u voor deze quickstart hebt gemaakt.

reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f

Volgende stappen

Referentiedocumentatie

Gebruik deze quickstart om sentimentanalyseaanvragen te verzenden met behulp van de REST API. In het volgende voorbeeld gebruikt u cURL om de sentimenten te identificeren die zijn uitgedrukt in een tekstvoorbeeld en om sentimentanalyse op basis van een aspect uit te voeren.

Vereisten

Instellen

Een Azure-resource maken

Als u het onderstaande codevoorbeeld wilt gebruiken, moet u een Azure-resource implementeren. Deze resource bevat een sleutel en eindpunt dat u gebruikt voor het verifiëren van de API-aanroepen die u naar de Taalservice verzendt.

  1. Gebruik de volgende koppeling om een taalresource te maken met behulp van Azure Portal. U moet zich aanmelden met uw Azure-abonnement.

  2. Selecteer doorgaan om uw resource te maken in het scherm Aanvullende functies selecteren dat wordt weergegeven.

    Een schermopname met extra functieopties in Azure Portal.

  3. Geef in het scherm Taal maken de volgende informatie op:

    Details Beschrijving
    Abonnement Het abonnementsaccount waaraan uw resource wordt gekoppeld. Selecteer uw Azure-abonnement in de vervolgkeuzelijst.
    Resourcegroep Een resourcegroep is een container waarin de resources die u maakt, worden opgeslagen. Selecteer Nieuwe maken om een nieuwe resourcegroep te maken.
    Regio De locatie van uw taalresource. Verschillende regio's kunnen latentie veroorzaken, afhankelijk van uw fysieke locatie, maar hebben geen invloed op de runtime-beschikbaarheid van uw resource. Voor deze quickstart selecteert u een beschikbare regio bij u in de buurt of kiest u VS - oost.
    Naam De naam voor uw taalresource. Deze naam wordt ook gebruikt om een eindpunt-URL te maken die uw toepassingen gebruiken om API-aanvragen te verzenden.
    Prijscategorie De prijscategorie voor uw taalresource. U kunt de gratis F0-laag gebruiken om de service uit te proberen en later een upgrade uit te voeren naar een betaalde laag voor productie.

    Een schermopname van details over het maken van resources in Azure Portal.

  4. Zorg ervoor dat het selectievakje Verantwoordelijke AI-kennisgeving is ingeschakeld.

  5. Selecteer Controleren en maken onderaan de pagina.

  6. Controleer in het scherm dat wordt weergegeven of de validatie is geslaagd en of u de gegevens correct hebt ingevoerd. Selecteer vervolgens Maken.

Uw sleutel en eindpunt ophalen

Vervolgens hebt u de sleutel en het eindpunt van de resource nodig om uw toepassing te verbinden met de API. Verderop in de quickstart plakt u uw sleutel en eindpunt in de code.

  1. Nadat de taalresource is geïmplementeerd, klikt u onder Volgende stappen op de knop Naar de resource gaan.

    Een schermopname van de volgende stappen nadat een resource is geïmplementeerd.

  2. Selecteer sleutels en eindpunt in het linkernavigatiemenu op het scherm voor uw resource. U gebruikt een van uw sleutels en uw eindpunt in de onderstaande stappen.

    Een schermopname van de sectie sleutels en eindpunten voor een resource.

Omgevingsvariabelen maken

Uw toepassing moet worden geverifieerd om API-aanvragen te verzenden. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. In dit voorbeeld schrijft u uw referenties naar omgevingsvariabelen op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie het beveiligingsartikel over Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw taalresourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  1. Als u de LANGUAGE_KEY omgevingsvariabele wilt instellen, vervangt u deze door your-key een van de sleutels voor uw resource.
  2. Als u de LANGUAGE_ENDPOINT omgevingsvariabele wilt instellen, vervangt your-endpoint u het eindpunt voor uw resource.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige actieve console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle actieve programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Een JSON-bestand maken met de voorbeeldtekst van de aanvraag

Maak in een code-editor een nieuw bestand met de naam test_sentiment_payload.json en kopieer het volgende JSON-voorbeeld. Deze voorbeeldaanvraag wordt in de volgende stap naar de API verzonden.

{
	"kind": "SentimentAnalysis",
	"parameters": {
		"modelVersion": "latest",
		"opinionMining": "True"
	},
	"analysisInput":{
		"documents":[
			{
				"id":"1",
				"language":"en",
				"text": "The food and service were unacceptable. The concierge was nice, however."
			}
		]
	}
} 

Sla test_sentiment_payload.json ergens op uw computer op. Bijvoorbeeld uw bureaublad.

Een api-aanvraag voor sentimentanalyse en meninganalyse verzenden

Notitie

De onderstaande voorbeelden bevatten een aanvraag voor de meninganalysefunctie van sentimentanalyse, die gedetailleerde informatie biedt over evaluaties (bijvoeglijke naamwoorden) met betrekking tot doelen (zelfstandige naamwoorden) in de tekst.

Gebruik de volgende opdrachten om de API-aanvraag te verzenden met behulp van het programma dat u gebruikt. Kopieer de opdracht naar uw terminal en voer deze uit.

parameter Description
-X POST <endpoint> Hiermee geeft u het eindpunt voor toegang tot de API op.
-H Content-Type: application/json Het inhoudstype voor het verzenden van JSON-gegevens.
-H "Ocp-Apim-Subscription-Key:<key> Hiermee geeft u de sleutel voor toegang tot de API op.
-d <documents> Het JSON-bestand met de documenten die u wilt verzenden.

Vervang C:\Users\<myaccount>\Desktop\test_sentiment_payload.json door de locatie van het voorbeeld-JSON-aanvraagbestand dat u in de vorige stap hebt gemaakt.

Opdrachtprompt

curl -X POST "%LANGUAGE_ENDPOINT%/language/:analyze-text?api-version=2023-04-15-preview" ^
-H "Content-Type: application/json" ^
-H "Ocp-Apim-Subscription-Key: %LANGUAGE_KEY%" ^
-d "@C:\Users\<myaccount>\Desktop\test_sentiment_payload.json"

Powershell

curl.exe -X POST $env:LANGUAGE_ENDPOINT/language/:analyze-text?api-version=2023-04-15-preview `
-H "Content-Type: application/json" `
-H "Ocp-Apim-Subscription-Key: $env:LANGUAGE_KEY" `
-d "@C:\Users\<myaccount>\Desktop\test_sentiment_payload.json"

JSON-antwoord

{
	"kind": "SentimentAnalysisResults",
	"results": {
		"documents": [{
			"id": "1",
			"sentiment": "mixed",
			"confidenceScores": {
				"positive": 0.47,
				"neutral": 0.0,
				"negative": 0.52
			},
			"sentences": [{
				"sentiment": "negative",
				"confidenceScores": {
					"positive": 0.0,
					"neutral": 0.0,
					"negative": 0.99
				},
				"offset": 0,
				"length": 40,
				"text": "The food and service were unacceptable. ",
				"targets": [{
					"sentiment": "negative",
					"confidenceScores": {
						"positive": 0.0,
						"negative": 1.0
					},
					"offset": 4,
					"length": 4,
					"text": "food",
					"relations": [{
						"relationType": "assessment",
						"ref": "#/documents/0/sentences/0/assessments/0"
					}]
				}, {
					"sentiment": "negative",
					"confidenceScores": {
						"positive": 0.0,
						"negative": 1.0
					},
					"offset": 13,
					"length": 7,
					"text": "service",
					"relations": [{
						"relationType": "assessment",
						"ref": "#/documents/0/sentences/0/assessments/0"
					}]
				}],
				"assessments": [{
					"sentiment": "negative",
					"confidenceScores": {
						"positive": 0.0,
						"negative": 1.0
					},
					"offset": 26,
					"length": 12,
					"text": "unacceptable",
					"isNegated": false
				}]
			}, {
				"sentiment": "positive",
				"confidenceScores": {
					"positive": 0.94,
					"neutral": 0.01,
					"negative": 0.05
				},
				"offset": 40,
				"length": 32,
				"text": "The concierge was nice, however.",
				"targets": [{
					"sentiment": "positive",
					"confidenceScores": {
						"positive": 1.0,
						"negative": 0.0
					},
					"offset": 44,
					"length": 9,
					"text": "concierge",
					"relations": [{
						"relationType": "assessment",
						"ref": "#/documents/0/sentences/1/assessments/0"
					}]
				}],
				"assessments": [{
					"sentiment": "positive",
					"confidenceScores": {
						"positive": 1.0,
						"negative": 0.0
					},
					"offset": 58,
					"length": 4,
					"text": "nice",
					"isNegated": false
				}]
			}],
			"warnings": []
		}],
		"errors": [],
		"modelVersion": "2022-06-01"
	}
}

Resources opschonen

Als u een Azure AI-servicesabonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.

Gebruik de volgende opdrachten om de omgevingsvariabelen te verwijderen die u voor deze quickstart hebt gemaakt.

reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f

Volgende stappen