Rychlý start: Analýza mínění a dolování názorů

Referenční dokumentace | Další ukázkové balíčky | (NuGet) | Zdrojový kód knihovny

Pomocí tohoto rychlého startu vytvořte aplikaci pro analýzu mínění s klientskou knihovnou pro .NET. V následujícím příkladu vytvoříte aplikaci jazyka C#, která dokáže identifikovat mínění vyjádřená v ukázce textu a provést analýzu mínění na základě aspektu.

Požadavky

Nastavení

Vytvoření prostředku Azure

Pokud chcete použít níže uvedený vzorový kód, budete muset nasadit prostředek Azure. Tento prostředek bude obsahovat klíč a koncový bod, které použijete k ověření volání rozhraní API, která odesíláte do služby Language.

  1. Pomocí následujícího odkazu vytvořte prostředek jazyka pomocí webu Azure Portal. Budete se muset přihlásit pomocí svého předplatného Azure.

  2. Na obrazovce Vybrat další funkce, která se zobrazí, vyberte Pokračovat a vytvořte prostředek.

    Snímek obrazovky s dalšími možnostmi funkcí na webu Azure Portal

  3. Na obrazovce Vytvořit jazyk zadejte následující informace:

    Detail Popis
    Předplatné Účet předplatného, ke kterému bude váš prostředek přidružený. V rozevírací nabídce vyberte své předplatné Azure.
    Skupina prostředků Skupina prostředků je kontejner, který ukládá prostředky, které vytvoříte. Vyberte Vytvořit novou a vytvořte novou skupinu prostředků.
    Oblast Umístění vašeho prostředku Jazyk. Různé oblasti můžou v závislosti na fyzickém umístění zavádět latenci, ale nemají žádný vliv na dostupnost modulu runtime vašeho prostředku. Pro účely tohoto rychlého startu vyberte dostupnou oblast blízko vás nebo zvolte USA – východ.
    Název Název vašeho prostředku jazyka Tento název se také použije k vytvoření adresy URL koncového bodu, kterou budou vaše aplikace používat k odesílání požadavků rozhraní API.
    Cenová úroveň Cenová úroveň vašeho prostředku Jazyk. Pomocí úrovně Free F0 můžete službu vyzkoušet a upgradovat na placenou úroveň pro produkční prostředí.

    Snímek obrazovky znázorňující podrobnosti o vytvoření prostředku na webu Azure Portal

  4. Ujistěte se, že je zaškrtnuté políčko Zodpovědné oznámení O umělé inteligenci.

  5. V dolní části stránky vyberte Zkontrolovat a vytvořit .

  6. Na obrazovce, která se zobrazí, se ujistěte, že ověření proběhlo a že jste správně zadali informace. Pak vyberte Vytvořit.

Získání klíče a koncového bodu

Dále budete potřebovat klíč a koncový bod z prostředku pro připojení aplikace k rozhraní API. Klíč a koncový bod vložíte do kódu později v rychlém startu.

  1. Po úspěšném nasazení prostředku jazyka klikněte v části Další kroky na tlačítko Přejít k prostředku.

    Snímek obrazovky znázorňující další kroky po nasazení prostředku

  2. Na obrazovce vašeho prostředku vyberte klíče a koncový bod v levé navigační nabídce. V následujících krocích použijete jeden ze svých klíčů a koncový bod.

    Snímek obrazovky znázorňující oddíl klíčů a koncového bodu prostředku

Vytvoření proměnných prostředí

Aby vaše aplikace odesílala požadavky rozhraní API, musí být ověřená. V produkčním prostředí použijte bezpečný způsob ukládání a přístupu k vašim přihlašovacím údajům. V tomto příkladu zapíšete přihlašovací údaje do proměnných prostředí na místním počítači, na kterém běží aplikace.

Tip

Nezahrňte klíč přímo do kódu a nikdy ho nesdělujte veřejně. Další možnosti ověřování, jako je Azure Key Vault, najdete v článku zabezpečení služeb Azure AI.

Pokud chcete nastavit proměnnou prostředí pro klíč prostředku jazyka, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  1. Pokud chcete nastavit proměnnou LANGUAGE_KEY prostředí, nahraďte your-key jedním z klíčů pro váš prostředek.
  2. Pokud chcete nastavit proměnnou LANGUAGE_ENDPOINT prostředí, nahraďte your-endpoint koncovým bodem vašeho prostředku.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální spuštěné konzole, můžete nastavit proměnnou set prostředí namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny spuštěné programy, které budou muset číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Vytvoření nové aplikace .NET Core

Pomocí integrovaného vývojového prostředí (IDE) sady Visual Studio vytvořte novou aplikaci konzoly .NET Core. Tím se vytvoří projekt Hello World s jedním zdrojovým souborem jazyka C#: program.cs.

Klikněte pravým tlačítkem na řešení v Průzkumníku řešení, vyberte Spravovat balíčky NuGet a nainstalujte klientskou knihovnu. Ve správci balíčků, který se otevře, vyberte Procházet a vyhledejte Azure.AI.TextAnalytics. Vyberte verzi 5.2.0 a pak vyberte Nainstalovat. Můžete použít také konzolu správce balíčků.

Příklad kódu

Zkopírujte následující kód do souboru program.cs a spusťte kód.

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();
        }

    }
}

Výstup

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

Vyčištění prostředků

Pokud chcete vyčistit a odebrat předplatné služeb Azure AI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Pomocí následujících příkazů odstraňte proměnné prostředí, které jste vytvořili pro účely tohoto rychlého startu.

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

Další kroky

Referenční dokumentace | Další ukázkové balíčky | (Maven) | Zdrojový kód knihovny

V tomto rychlém startu můžete vytvořit aplikaci pro analýzu mínění s klientskou knihovnou pro Javu. V následujícím příkladu vytvoříte aplikaci v Javě, která dokáže identifikovat mínění vyjádřená v ukázce textu a provést analýzu mínění na základě aspektu.

Požadavky

Nastavení

Vytvoření prostředku Azure

Pokud chcete použít níže uvedený vzorový kód, budete muset nasadit prostředek Azure. Tento prostředek bude obsahovat klíč a koncový bod, které použijete k ověření volání rozhraní API, která odesíláte do služby Language.

  1. Pomocí následujícího odkazu vytvořte prostředek jazyka pomocí webu Azure Portal. Budete se muset přihlásit pomocí svého předplatného Azure.

  2. Na obrazovce Vybrat další funkce, která se zobrazí, vyberte Pokračovat a vytvořte prostředek.

    Snímek obrazovky s dalšími možnostmi funkcí na webu Azure Portal

  3. Na obrazovce Vytvořit jazyk zadejte následující informace:

    Detail Popis
    Předplatné Účet předplatného, ke kterému bude váš prostředek přidružený. V rozevírací nabídce vyberte své předplatné Azure.
    Skupina prostředků Skupina prostředků je kontejner, který ukládá prostředky, které vytvoříte. Vyberte Vytvořit novou a vytvořte novou skupinu prostředků.
    Oblast Umístění vašeho prostředku Jazyk. Různé oblasti můžou v závislosti na fyzickém umístění zavádět latenci, ale nemají žádný vliv na dostupnost modulu runtime vašeho prostředku. Pro účely tohoto rychlého startu vyberte dostupnou oblast blízko vás nebo zvolte USA – východ.
    Název Název vašeho prostředku jazyka Tento název se také použije k vytvoření adresy URL koncového bodu, kterou budou vaše aplikace používat k odesílání požadavků rozhraní API.
    Cenová úroveň Cenová úroveň vašeho prostředku Jazyk. Pomocí úrovně Free F0 můžete službu vyzkoušet a upgradovat na placenou úroveň pro produkční prostředí.

    Snímek obrazovky znázorňující podrobnosti o vytvoření prostředku na webu Azure Portal

  4. Ujistěte se, že je zaškrtnuté políčko Zodpovědné oznámení O umělé inteligenci.

  5. V dolní části stránky vyberte Zkontrolovat a vytvořit .

  6. Na obrazovce, která se zobrazí, se ujistěte, že ověření proběhlo a že jste správně zadali informace. Pak vyberte Vytvořit.

Získání klíče a koncového bodu

Dále budete potřebovat klíč a koncový bod z prostředku pro připojení aplikace k rozhraní API. Klíč a koncový bod vložíte do kódu později v rychlém startu.

  1. Po úspěšném nasazení prostředku jazyka klikněte v části Další kroky na tlačítko Přejít k prostředku.

    Snímek obrazovky znázorňující další kroky po nasazení prostředku

  2. Na obrazovce vašeho prostředku vyberte klíče a koncový bod v levé navigační nabídce. V následujících krocích použijete jeden ze svých klíčů a koncový bod.

    Snímek obrazovky znázorňující oddíl klíčů a koncového bodu prostředku

Vytvoření proměnných prostředí

Aby vaše aplikace odesílala požadavky rozhraní API, musí být ověřená. V produkčním prostředí použijte bezpečný způsob ukládání a přístupu k vašim přihlašovacím údajům. V tomto příkladu zapíšete přihlašovací údaje do proměnných prostředí na místním počítači, na kterém běží aplikace.

Tip

Nezahrňte klíč přímo do kódu a nikdy ho nesdělujte veřejně. Další možnosti ověřování, jako je Azure Key Vault, najdete v článku zabezpečení služeb Azure AI.

Pokud chcete nastavit proměnnou prostředí pro klíč prostředku jazyka, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  1. Pokud chcete nastavit proměnnou LANGUAGE_KEY prostředí, nahraďte your-key jedním z klíčů pro váš prostředek.
  2. Pokud chcete nastavit proměnnou LANGUAGE_ENDPOINT prostředí, nahraďte your-endpoint koncovým bodem vašeho prostředku.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální spuštěné konzole, můžete nastavit proměnnou set prostředí namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny spuštěné programy, které budou muset číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Přidání klientské knihovny

V oblíbeném vývojovém prostředí nebo integrovaném vývojovém prostředí (IDE) vytvořte projekt Maven. Pak do souboru pom.xml projektu přidejte následující závislost. Syntaxi pro implementaci pro další nástroje pro sestavování najdete online.

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

Příklad kódu

Vytvořte soubor Java s názvem Example.java. Otevřete soubor a zkopírujte následující kód. Potom kód spusťte.

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());
                }
            });
        });
    }
}

Výstup

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.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat předplatné služeb Azure AI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Pomocí následujících příkazů odstraňte proměnné prostředí, které jste vytvořili pro účely tohoto rychlého startu.

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

Další kroky

Referenční dokumentace | Další ukázkové balíčky | (npm) | Zdrojový kód knihovny

V tomto rychlém startu vytvoříte aplikaci pro analýzu mínění s klientskou knihovnou pro Node.js. V následujícím příkladu vytvoříte javascriptovou aplikaci, která dokáže identifikovat mínění vyjádřená v ukázce textu a provést analýzu mínění na základě aspektu.

Požadavky

  • Předplatné Azure: Můžete si ho vytvořit zdarma.
  • Node.js verze 14 LTS nebo novější

Nastavení

Vytvoření prostředku Azure

Pokud chcete použít níže uvedený vzorový kód, budete muset nasadit prostředek Azure. Tento prostředek bude obsahovat klíč a koncový bod, které použijete k ověření volání rozhraní API, která odesíláte do služby Language.

  1. Pomocí následujícího odkazu vytvořte prostředek jazyka pomocí webu Azure Portal. Budete se muset přihlásit pomocí svého předplatného Azure.

  2. Na obrazovce Vybrat další funkce, která se zobrazí, vyberte Pokračovat a vytvořte prostředek.

    Snímek obrazovky s dalšími možnostmi funkcí na webu Azure Portal

  3. Na obrazovce Vytvořit jazyk zadejte následující informace:

    Detail Popis
    Předplatné Účet předplatného, ke kterému bude váš prostředek přidružený. V rozevírací nabídce vyberte své předplatné Azure.
    Skupina prostředků Skupina prostředků je kontejner, který ukládá prostředky, které vytvoříte. Vyberte Vytvořit novou a vytvořte novou skupinu prostředků.
    Oblast Umístění vašeho prostředku Jazyk. Různé oblasti můžou v závislosti na fyzickém umístění zavádět latenci, ale nemají žádný vliv na dostupnost modulu runtime vašeho prostředku. Pro účely tohoto rychlého startu vyberte dostupnou oblast blízko vás nebo zvolte USA – východ.
    Název Název vašeho prostředku jazyka Tento název se také použije k vytvoření adresy URL koncového bodu, kterou budou vaše aplikace používat k odesílání požadavků rozhraní API.
    Cenová úroveň Cenová úroveň vašeho prostředku Jazyk. Pomocí úrovně Free F0 můžete službu vyzkoušet a upgradovat na placenou úroveň pro produkční prostředí.

    Snímek obrazovky znázorňující podrobnosti o vytvoření prostředku na webu Azure Portal

  4. Ujistěte se, že je zaškrtnuté políčko Zodpovědné oznámení O umělé inteligenci.

  5. V dolní části stránky vyberte Zkontrolovat a vytvořit .

  6. Na obrazovce, která se zobrazí, se ujistěte, že ověření proběhlo a že jste správně zadali informace. Pak vyberte Vytvořit.

Získání klíče a koncového bodu

Dále budete potřebovat klíč a koncový bod z prostředku pro připojení aplikace k rozhraní API. Klíč a koncový bod vložíte do kódu později v rychlém startu.

  1. Po úspěšném nasazení prostředku jazyka klikněte v části Další kroky na tlačítko Přejít k prostředku.

    Snímek obrazovky znázorňující další kroky po nasazení prostředku

  2. Na obrazovce vašeho prostředku vyberte klíče a koncový bod v levé navigační nabídce. V následujících krocích použijete jeden ze svých klíčů a koncový bod.

    Snímek obrazovky znázorňující oddíl klíčů a koncového bodu prostředku

Vytvoření proměnných prostředí

Aby vaše aplikace odesílala požadavky rozhraní API, musí být ověřená. V produkčním prostředí použijte bezpečný způsob ukládání a přístupu k vašim přihlašovacím údajům. V tomto příkladu zapíšete přihlašovací údaje do proměnných prostředí na místním počítači, na kterém běží aplikace.

Tip

Nezahrňte klíč přímo do kódu a nikdy ho nesdělujte veřejně. Další možnosti ověřování, jako je Azure Key Vault, najdete v článku zabezpečení služeb Azure AI.

Pokud chcete nastavit proměnnou prostředí pro klíč prostředku jazyka, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  1. Pokud chcete nastavit proměnnou LANGUAGE_KEY prostředí, nahraďte your-key jedním z klíčů pro váš prostředek.
  2. Pokud chcete nastavit proměnnou LANGUAGE_ENDPOINT prostředí, nahraďte your-endpoint koncovým bodem vašeho prostředku.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální spuštěné konzole, můžete nastavit proměnnou set prostředí namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny spuštěné programy, které budou muset číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Vytvoření nové aplikace Node.js

V okně konzoly (například cmd, PowerShell nebo Bash) vytvořte pro vaši aplikaci nový adresář a přejděte do něj.

mkdir myapp 

cd myapp

Spuštěním příkazu npm init vytvoříte aplikaci uzlu se souborem package.json.

npm init

Instalace klientské knihovny

Nainstalujte balíčky npm:

npm install @azure/ai-language-text

Příklad kódu

Otevřete soubor a zkopírujte následující kód. Potom kód spusťte.

"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);
});

Výstup

=== 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

Vyčištění prostředků

Pokud chcete vyčistit a odebrat předplatné služeb Azure AI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Pomocí následujících příkazů odstraňte proměnné prostředí, které jste vytvořili pro účely tohoto rychlého startu.

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

Další kroky

Referenční dokumentace | Další ukázkové balíčky | (PyPi) | Zdrojový kód knihovny

Pomocí tohoto rychlého startu vytvořte aplikaci pro analýzu mínění s klientskou knihovnou pro Python. V následujícím příkladu vytvoříte aplikaci Pythonu, která dokáže identifikovat mínění vyjádřená v ukázce textu a provést analýzu mínění na základě aspektu.

Požadavky

Nastavení

Vytvoření prostředku Azure

Pokud chcete použít níže uvedený vzorový kód, budete muset nasadit prostředek Azure. Tento prostředek bude obsahovat klíč a koncový bod, které použijete k ověření volání rozhraní API, která odesíláte do služby Language.

  1. Pomocí následujícího odkazu vytvořte prostředek jazyka pomocí webu Azure Portal. Budete se muset přihlásit pomocí svého předplatného Azure.

  2. Na obrazovce Vybrat další funkce, která se zobrazí, vyberte Pokračovat a vytvořte prostředek.

    Snímek obrazovky s dalšími možnostmi funkcí na webu Azure Portal

  3. Na obrazovce Vytvořit jazyk zadejte následující informace:

    Detail Popis
    Předplatné Účet předplatného, ke kterému bude váš prostředek přidružený. V rozevírací nabídce vyberte své předplatné Azure.
    Skupina prostředků Skupina prostředků je kontejner, který ukládá prostředky, které vytvoříte. Vyberte Vytvořit novou a vytvořte novou skupinu prostředků.
    Oblast Umístění vašeho prostředku Jazyk. Různé oblasti můžou v závislosti na fyzickém umístění zavádět latenci, ale nemají žádný vliv na dostupnost modulu runtime vašeho prostředku. Pro účely tohoto rychlého startu vyberte dostupnou oblast blízko vás nebo zvolte USA – východ.
    Název Název vašeho prostředku jazyka Tento název se také použije k vytvoření adresy URL koncového bodu, kterou budou vaše aplikace používat k odesílání požadavků rozhraní API.
    Cenová úroveň Cenová úroveň vašeho prostředku Jazyk. Pomocí úrovně Free F0 můžete službu vyzkoušet a upgradovat na placenou úroveň pro produkční prostředí.

    Snímek obrazovky znázorňující podrobnosti o vytvoření prostředku na webu Azure Portal

  4. Ujistěte se, že je zaškrtnuté políčko Zodpovědné oznámení O umělé inteligenci.

  5. V dolní části stránky vyberte Zkontrolovat a vytvořit .

  6. Na obrazovce, která se zobrazí, se ujistěte, že ověření proběhlo a že jste správně zadali informace. Pak vyberte Vytvořit.

Získání klíče a koncového bodu

Dále budete potřebovat klíč a koncový bod z prostředku pro připojení aplikace k rozhraní API. Klíč a koncový bod vložíte do kódu později v rychlém startu.

  1. Po úspěšném nasazení prostředku jazyka klikněte v části Další kroky na tlačítko Přejít k prostředku.

    Snímek obrazovky znázorňující další kroky po nasazení prostředku

  2. Na obrazovce vašeho prostředku vyberte klíče a koncový bod v levé navigační nabídce. V následujících krocích použijete jeden ze svých klíčů a koncový bod.

    Snímek obrazovky znázorňující oddíl klíčů a koncového bodu prostředku

Vytvoření proměnných prostředí

Aby vaše aplikace odesílala požadavky rozhraní API, musí být ověřená. V produkčním prostředí použijte bezpečný způsob ukládání a přístupu k vašim přihlašovacím údajům. V tomto příkladu zapíšete přihlašovací údaje do proměnných prostředí na místním počítači, na kterém běží aplikace.

Tip

Nezahrňte klíč přímo do kódu a nikdy ho nesdělujte veřejně. Další možnosti ověřování, jako je Azure Key Vault, najdete v článku zabezpečení služeb Azure AI.

Pokud chcete nastavit proměnnou prostředí pro klíč prostředku jazyka, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  1. Pokud chcete nastavit proměnnou LANGUAGE_KEY prostředí, nahraďte your-key jedním z klíčů pro váš prostředek.
  2. Pokud chcete nastavit proměnnou LANGUAGE_ENDPOINT prostředí, nahraďte your-endpoint koncovým bodem vašeho prostředku.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální spuštěné konzole, můžete nastavit proměnnou set prostředí namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny spuštěné programy, které budou muset číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Instalace klientské knihovny

Po instalaci Pythonu můžete nainstalovat klientskou knihovnu pomocí:

pip install azure-ai-textanalytics==5.2.0

Příklad kódu

Vytvořte nový soubor Pythonu a zkopírujte následující kód. Pak spusťte kód.

# 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)

Výstup

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

Vyčištění prostředků

Pokud chcete vyčistit a odebrat předplatné služeb Azure AI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Pomocí následujících příkazů odstraňte proměnné prostředí, které jste vytvořili pro účely tohoto rychlého startu.

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

Další kroky

Referenční dokumentace

Pomocí tohoto rychlého startu můžete odesílat žádosti o analýzu mínění pomocí rozhraní REST API. V následujícím příkladu použijete cURL k identifikaci mínění vyjádřených v ukázce textu a k analýze mínění na základě aspektu.

Požadavky

Nastavení

Vytvoření prostředku Azure

Pokud chcete použít níže uvedený vzorový kód, budete muset nasadit prostředek Azure. Tento prostředek bude obsahovat klíč a koncový bod, které použijete k ověření volání rozhraní API, která odesíláte do služby Language.

  1. Pomocí následujícího odkazu vytvořte prostředek jazyka pomocí webu Azure Portal. Budete se muset přihlásit pomocí svého předplatného Azure.

  2. Na obrazovce Vybrat další funkce, která se zobrazí, vyberte Pokračovat a vytvořte prostředek.

    Snímek obrazovky s dalšími možnostmi funkcí na webu Azure Portal

  3. Na obrazovce Vytvořit jazyk zadejte následující informace:

    Detail Popis
    Předplatné Účet předplatného, ke kterému bude váš prostředek přidružený. V rozevírací nabídce vyberte své předplatné Azure.
    Skupina prostředků Skupina prostředků je kontejner, který ukládá prostředky, které vytvoříte. Vyberte Vytvořit novou a vytvořte novou skupinu prostředků.
    Oblast Umístění vašeho prostředku Jazyk. Různé oblasti můžou v závislosti na fyzickém umístění zavádět latenci, ale nemají žádný vliv na dostupnost modulu runtime vašeho prostředku. Pro účely tohoto rychlého startu vyberte dostupnou oblast blízko vás nebo zvolte USA – východ.
    Název Název vašeho prostředku jazyka Tento název se také použije k vytvoření adresy URL koncového bodu, kterou budou vaše aplikace používat k odesílání požadavků rozhraní API.
    Cenová úroveň Cenová úroveň vašeho prostředku Jazyk. Pomocí úrovně Free F0 můžete službu vyzkoušet a upgradovat na placenou úroveň pro produkční prostředí.

    Snímek obrazovky znázorňující podrobnosti o vytvoření prostředku na webu Azure Portal

  4. Ujistěte se, že je zaškrtnuté políčko Zodpovědné oznámení O umělé inteligenci.

  5. V dolní části stránky vyberte Zkontrolovat a vytvořit .

  6. Na obrazovce, která se zobrazí, se ujistěte, že ověření proběhlo a že jste správně zadali informace. Pak vyberte Vytvořit.

Získání klíče a koncového bodu

Dále budete potřebovat klíč a koncový bod z prostředku pro připojení aplikace k rozhraní API. Klíč a koncový bod vložíte do kódu později v rychlém startu.

  1. Po úspěšném nasazení prostředku jazyka klikněte v části Další kroky na tlačítko Přejít k prostředku.

    Snímek obrazovky znázorňující další kroky po nasazení prostředku

  2. Na obrazovce vašeho prostředku vyberte klíče a koncový bod v levé navigační nabídce. V následujících krocích použijete jeden ze svých klíčů a koncový bod.

    Snímek obrazovky znázorňující oddíl klíčů a koncového bodu prostředku

Vytvoření proměnných prostředí

Aby vaše aplikace odesílala požadavky rozhraní API, musí být ověřená. V produkčním prostředí použijte bezpečný způsob ukládání a přístupu k vašim přihlašovacím údajům. V tomto příkladu zapíšete přihlašovací údaje do proměnných prostředí na místním počítači, na kterém běží aplikace.

Tip

Nezahrňte klíč přímo do kódu a nikdy ho nesdělujte veřejně. Další možnosti ověřování, jako je Azure Key Vault, najdete v článku zabezpečení služeb Azure AI.

Pokud chcete nastavit proměnnou prostředí pro klíč prostředku jazyka, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  1. Pokud chcete nastavit proměnnou LANGUAGE_KEY prostředí, nahraďte your-key jedním z klíčů pro váš prostředek.
  2. Pokud chcete nastavit proměnnou LANGUAGE_ENDPOINT prostředí, nahraďte your-endpoint koncovým bodem vašeho prostředku.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální spuštěné konzole, můžete nastavit proměnnou set prostředí namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny spuštěné programy, které budou muset číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Vytvoření souboru JSON s ukázkovým textem požadavku

V editoru kódu vytvořte nový soubor s názvem test_sentiment_payload.json a zkopírujte následující příklad JSON. Tento ukázkový požadavek se odešle do rozhraní API v dalším kroku.

{
	"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."
			}
		]
	}
} 

Uložte test_sentiment_payload.json si někam do počítače. Například vaše plocha.

Odeslání požadavku rozhraní API pro analýzu mínění a dolování názorů

Poznámka:

Následující příklady zahrnují žádost o dolování názorů funkce analýzy mínění, která poskytuje podrobné informace o posouzeních (přídavných jmen) souvisejících s cíli (podstatná jména) v textu.

Pomocí následujících příkazů odešlete požadavek rozhraní API pomocí programu, který používáte. Zkopírujte příkaz do terminálu a spusťte ho.

parametr Popis
-X POST <endpoint> Určuje koncový bod pro přístup k rozhraní API.
-H Content-Type: application/json Typ obsahu pro odesílání dat JSON.
-H "Ocp-Apim-Subscription-Key:<key> Určuje klíč pro přístup k rozhraní API.
-d <documents> Soubor JSON obsahující dokumenty, které chcete odeslat.

Nahraďte C:\Users\<myaccount>\Desktop\test_sentiment_payload.json umístěním ukázkového souboru požadavku JSON, který jste vytvořili v předchozím kroku.

Příkazový řádek

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"

Odpověď JSON

{
	"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"
	}
}

Vyčištění prostředků

Pokud chcete vyčistit a odebrat předplatné služeb Azure AI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Pomocí následujících příkazů odstraňte proměnné prostředí, které jste vytvořili pro účely tohoto rychlého startu.

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

Další kroky