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
- Předplatné Azure: Můžete si ho vytvořit zdarma.
- Integrované vývojové prostředí (IDE) sady Visual Studio
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.
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.
Na obrazovce Vybrat další funkce, která se zobrazí, vyberte Pokračovat a vytvořte prostředek.
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í. Ujistěte se, že je zaškrtnuté políčko Zodpovědné oznámení O umělé inteligenci.
V dolní části stránky vyberte Zkontrolovat a vytvořit .
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.
Po úspěšném nasazení prostředku jazyka klikněte v části Další kroky na tlačítko Přejít k prostředku.
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.
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.
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í.
- Pokud chcete nastavit proměnnou
LANGUAGE_KEY
prostředí, nahraďteyour-key
jedním z klíčů pro váš prostředek. - Pokud chcete nastavit proměnnou
LANGUAGE_ENDPOINT
prostředí, nahraďteyour-endpoint
koncovým bodem vašeho prostředku.
Důležité
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
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
- Předplatné Azure: Můžete si ho vytvořit zdarma.
- Java Development Kit (JDK) verze 8 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.
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.
Na obrazovce Vybrat další funkce, která se zobrazí, vyberte Pokračovat a vytvořte prostředek.
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í. Ujistěte se, že je zaškrtnuté políčko Zodpovědné oznámení O umělé inteligenci.
V dolní části stránky vyberte Zkontrolovat a vytvořit .
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.
Po úspěšném nasazení prostředku jazyka klikněte v části Další kroky na tlačítko Přejít k prostředku.
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.
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.
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í.
- Pokud chcete nastavit proměnnou
LANGUAGE_KEY
prostředí, nahraďteyour-key
jedním z klíčů pro váš prostředek. - Pokud chcete nastavit proměnnou
LANGUAGE_ENDPOINT
prostředí, nahraďteyour-endpoint
koncovým bodem vašeho prostředku.
Důležité
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
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.
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.
Na obrazovce Vybrat další funkce, která se zobrazí, vyberte Pokračovat a vytvořte prostředek.
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í. Ujistěte se, že je zaškrtnuté políčko Zodpovědné oznámení O umělé inteligenci.
V dolní části stránky vyberte Zkontrolovat a vytvořit .
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.
Po úspěšném nasazení prostředku jazyka klikněte v části Další kroky na tlačítko Přejít k prostředku.
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.
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.
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í.
- Pokud chcete nastavit proměnnou
LANGUAGE_KEY
prostředí, nahraďteyour-key
jedním z klíčů pro váš prostředek. - Pokud chcete nastavit proměnnou
LANGUAGE_ENDPOINT
prostředí, nahraďteyour-endpoint
koncovým bodem vašeho prostředku.
Důležité
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
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
- Předplatné Azure: Můžete si ho vytvořit zdarma.
- Python 3.7 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.
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.
Na obrazovce Vybrat další funkce, která se zobrazí, vyberte Pokračovat a vytvořte prostředek.
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í. Ujistěte se, že je zaškrtnuté políčko Zodpovědné oznámení O umělé inteligenci.
V dolní části stránky vyberte Zkontrolovat a vytvořit .
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.
Po úspěšném nasazení prostředku jazyka klikněte v části Další kroky na tlačítko Přejít k prostředku.
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.
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.
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í.
- Pokud chcete nastavit proměnnou
LANGUAGE_KEY
prostředí, nahraďteyour-key
jedním z klíčů pro váš prostředek. - Pokud chcete nastavit proměnnou
LANGUAGE_ENDPOINT
prostředí, nahraďteyour-endpoint
koncovým bodem vašeho prostředku.
Důležité
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
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
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
- Předplatné Azure: Můžete si ho vytvořit zdarma.
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.
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.
Na obrazovce Vybrat další funkce, která se zobrazí, vyberte Pokračovat a vytvořte prostředek.
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í. Ujistěte se, že je zaškrtnuté políčko Zodpovědné oznámení O umělé inteligenci.
V dolní části stránky vyberte Zkontrolovat a vytvořit .
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.
Po úspěšném nasazení prostředku jazyka klikněte v části Další kroky na tlačítko Přejít k prostředku.
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.
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.
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í.
- Pokud chcete nastavit proměnnou
LANGUAGE_KEY
prostředí, nahraďteyour-key
jedním z klíčů pro váš prostředek. - Pokud chcete nastavit proměnnou
LANGUAGE_ENDPOINT
prostředí, nahraďteyour-endpoint
koncovým bodem vašeho prostředku.
Důležité
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
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