Snabbstart: Attitydanalys och åsiktsutvinning
Referensdokumentation Fler exempelpaket | (NuGet) | Källkod för bibliotek |
Använd den här snabbstarten för att skapa ett sentimentanalysprogram med klientbiblioteket för .NET. I följande exempel skapar du ett C#-program som kan identifiera de sentiment som uttrycks i ett textexempel och utföra aspektbaserad attitydanalys.
Förutsättningar
- Azure-prenumeration – Skapa en kostnadsfritt
- Visual Studio IDE
Konfigurera
Skapa en Azure-resurs
Om du vill använda kodexemplet nedan måste du distribuera en Azure-resurs. Den här resursen innehåller en nyckel och slutpunkt som du använder för att autentisera DE API-anrop som du skickar till språktjänsten.
Använd följande länk för att skapa en språkresurs med hjälp av Azure Portal. Du måste logga in med din Azure-prenumeration.
På skärmen Välj ytterligare funktioner som visas väljer du Fortsätt för att skapa resursen.
På skärmen Skapa språk anger du följande information:
Kontrollera att kryssrutan Ansvarig AI-meddelande är markerad.
Välj Granska + Skapa längst ned på sidan.
På skärmen som visas kontrollerar du att valideringen har passerat och att du har angett informationen korrekt. Välj sedan Skapa.
Hämta din nyckel och slutpunkt
Därefter behöver du nyckeln och slutpunkten från resursen för att ansluta ditt program till API:et. Du klistrar in nyckeln och slutpunkten i koden senare i snabbstarten.
När språkresursen har distribuerats klickar du på knappen Gå till resurs under Nästa steg.
På skärmen för resursen väljer du Nycklar och slutpunkt på den vänstra navigeringsmenyn. Du använder en av dina nycklar och slutpunkten i stegen nedan.
Skapa miljövariabler
Ditt program måste autentiseras för att skicka API-begäranden. För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter. I det här exemplet skriver du dina autentiseringsuppgifter till miljövariabler på den lokala dator som kör programmet.
Om du vill ange miljövariabeln för din språkresursnyckel öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
LANGUAGE_KEY
miljövariabeln ersätter duyour-key
med en av nycklarna för resursen. - Om du vill ange
LANGUAGE_ENDPOINT
miljövariabeln ersätter duyour-endpoint
med slutpunkten för resursen.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen som körs kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som körs och som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Skapa en ny .NET Core-app
Skapa en ny .NET Core-konsolapp med Visual Studio IDE. Detta skapar ett "Hello World"-projekt med en enda C#-källfil: program.cs.
Installera klientbiblioteket genom att högerklicka på lösningen i Solution Explorer och välja Hantera NuGet-paket. I pakethanteraren som öppnas väljer du Bläddra och söker efter Azure.AI.TextAnalytics
. Välj version 5.2.0
och sedan Installera. Du kan också använda Package Manager-konsolen.
Kodexempel
Kopiera följande kod till din program.cs-fil och kör koden.
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();
}
}
}
Output
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
Rensa resurser
Om du vill rensa och ta bort en Azure AI-tjänstprenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Använd följande kommandon för att ta bort miljövariablerna som du skapade för den här snabbstarten.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Nästa steg
Referensdokumentation Ytterligare exempelpaket | (Maven) | Källkod för bibliotek |
Använd den här snabbstarten för att skapa ett sentimentanalysprogram med klientbiblioteket för Java. I följande exempel skapar du ett Java-program som kan identifiera de sentiment som uttrycks i ett textexempel och utföra aspektbaserad attitydanalys.
Förutsättningar
- Azure-prenumeration – Skapa en kostnadsfritt
- Java Development Kit (JDK) med version 8 eller senare
Konfigurera
Skapa en Azure-resurs
Om du vill använda kodexemplet nedan måste du distribuera en Azure-resurs. Den här resursen innehåller en nyckel och slutpunkt som du använder för att autentisera DE API-anrop som du skickar till språktjänsten.
Använd följande länk för att skapa en språkresurs med hjälp av Azure Portal. Du måste logga in med din Azure-prenumeration.
På skärmen Välj ytterligare funktioner som visas väljer du Fortsätt för att skapa resursen.
På skärmen Skapa språk anger du följande information:
Kontrollera att kryssrutan Ansvarig AI-meddelande är markerad.
Välj Granska + Skapa längst ned på sidan.
På skärmen som visas kontrollerar du att valideringen har passerat och att du har angett informationen korrekt. Välj sedan Skapa.
Hämta din nyckel och slutpunkt
Därefter behöver du nyckeln och slutpunkten från resursen för att ansluta ditt program till API:et. Du klistrar in nyckeln och slutpunkten i koden senare i snabbstarten.
När språkresursen har distribuerats klickar du på knappen Gå till resurs under Nästa steg.
På skärmen för resursen väljer du Nycklar och slutpunkt på den vänstra navigeringsmenyn. Du använder en av dina nycklar och slutpunkten i stegen nedan.
Skapa miljövariabler
Ditt program måste autentiseras för att skicka API-begäranden. För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter. I det här exemplet skriver du dina autentiseringsuppgifter till miljövariabler på den lokala dator som kör programmet.
Om du vill ange miljövariabeln för din språkresursnyckel öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
LANGUAGE_KEY
miljövariabeln ersätter duyour-key
med en av nycklarna för resursen. - Om du vill ange
LANGUAGE_ENDPOINT
miljövariabeln ersätter duyour-endpoint
med slutpunkten för resursen.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen som körs kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som körs och som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Lägga till klientbiblioteket
Skapa ett Maven-projekt i önskad IDE eller utvecklingsmiljö. Lägg sedan till följande beroende i projektets pom.xml-fil. Implementeringssyntaxen för andra byggverktyg finns online.
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-textanalytics</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies>
Kodexempel
Skapa en Java-fil som heter Example.java
. Öppna filen och kopiera koden nedan. Kör sedan koden.
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());
}
});
});
}
}
Output
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.
Rensa resurser
Om du vill rensa och ta bort en Azure AI-tjänstprenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Använd följande kommandon för att ta bort miljövariablerna som du skapade för den här snabbstarten.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Nästa steg
Referensdokumentation Ytterligare exempelpaket | (npm) | Källkod för bibliotek |
Använd den här snabbstarten för att skapa ett sentimentanalysprogram med klientbiblioteket för Node.js. I följande exempel skapar du ett JavaScript-program som kan identifiera de sentiment som uttrycks i ett textexempel och utföra aspektbaserad attitydanalys.
Förutsättningar
- Azure-prenumeration – Skapa en kostnadsfritt
- Node.js v14 LTS eller senare
Konfigurera
Skapa en Azure-resurs
Om du vill använda kodexemplet nedan måste du distribuera en Azure-resurs. Den här resursen innehåller en nyckel och slutpunkt som du använder för att autentisera DE API-anrop som du skickar till språktjänsten.
Använd följande länk för att skapa en språkresurs med hjälp av Azure Portal. Du måste logga in med din Azure-prenumeration.
På skärmen Välj ytterligare funktioner som visas väljer du Fortsätt för att skapa resursen.
På skärmen Skapa språk anger du följande information:
Kontrollera att kryssrutan Ansvarig AI-meddelande är markerad.
Välj Granska + Skapa längst ned på sidan.
På skärmen som visas kontrollerar du att valideringen har passerat och att du har angett informationen korrekt. Välj sedan Skapa.
Hämta din nyckel och slutpunkt
Därefter behöver du nyckeln och slutpunkten från resursen för att ansluta ditt program till API:et. Du klistrar in nyckeln och slutpunkten i koden senare i snabbstarten.
När språkresursen har distribuerats klickar du på knappen Gå till resurs under Nästa steg.
På skärmen för resursen väljer du Nycklar och slutpunkt på den vänstra navigeringsmenyn. Du använder en av dina nycklar och slutpunkten i stegen nedan.
Skapa miljövariabler
Ditt program måste autentiseras för att skicka API-begäranden. För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter. I det här exemplet skriver du dina autentiseringsuppgifter till miljövariabler på den lokala dator som kör programmet.
Om du vill ange miljövariabeln för din språkresursnyckel öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
LANGUAGE_KEY
miljövariabeln ersätter duyour-key
med en av nycklarna för resursen. - Om du vill ange
LANGUAGE_ENDPOINT
miljövariabeln ersätter duyour-endpoint
med slutpunkten för resursen.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen som körs kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som körs och som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Skapa ett nytt Node.js-program
Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den.
mkdir myapp
cd myapp
Kör kommandot npm init
för att skapa ett nodprogram med en package.json
-fil.
npm init
Installera klientbiblioteket
Installera npm-paketen:
npm install @azure/ai-language-text
Kodexempel
Öppna filen och kopiera koden nedan. Kör sedan koden.
"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);
});
Output
=== 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
Rensa resurser
Om du vill rensa och ta bort en Azure AI-tjänstprenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Använd följande kommandon för att ta bort miljövariablerna som du skapade för den här snabbstarten.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Nästa steg
Referensdokumentation Ytterligare exempelpaket | (PyPi) | Källkod för bibliotek |
Använd den här snabbstarten för att skapa ett sentimentanalysprogram med klientbiblioteket för Python. I följande exempel skapar du ett Python-program som kan identifiera de sentiment som uttrycks i ett textexempel och utföra aspektbaserad attitydanalys.
Förutsättningar
- Azure-prenumeration – Skapa en kostnadsfritt
- Python 3.7 eller senare
Konfigurera
Skapa en Azure-resurs
Om du vill använda kodexemplet nedan måste du distribuera en Azure-resurs. Den här resursen innehåller en nyckel och slutpunkt som du använder för att autentisera DE API-anrop som du skickar till språktjänsten.
Använd följande länk för att skapa en språkresurs med hjälp av Azure Portal. Du måste logga in med din Azure-prenumeration.
På skärmen Välj ytterligare funktioner som visas väljer du Fortsätt för att skapa resursen.
På skärmen Skapa språk anger du följande information:
Kontrollera att kryssrutan Ansvarig AI-meddelande är markerad.
Välj Granska + Skapa längst ned på sidan.
På skärmen som visas kontrollerar du att valideringen har passerat och att du har angett informationen korrekt. Välj sedan Skapa.
Hämta din nyckel och slutpunkt
Därefter behöver du nyckeln och slutpunkten från resursen för att ansluta ditt program till API:et. Du klistrar in nyckeln och slutpunkten i koden senare i snabbstarten.
När språkresursen har distribuerats klickar du på knappen Gå till resurs under Nästa steg.
På skärmen för resursen väljer du Nycklar och slutpunkt på den vänstra navigeringsmenyn. Du använder en av dina nycklar och slutpunkten i stegen nedan.
Skapa miljövariabler
Ditt program måste autentiseras för att skicka API-begäranden. För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter. I det här exemplet skriver du dina autentiseringsuppgifter till miljövariabler på den lokala dator som kör programmet.
Om du vill ange miljövariabeln för din språkresursnyckel öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
LANGUAGE_KEY
miljövariabeln ersätter duyour-key
med en av nycklarna för resursen. - Om du vill ange
LANGUAGE_ENDPOINT
miljövariabeln ersätter duyour-endpoint
med slutpunkten för resursen.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen som körs kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som körs och som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Installera klientbiblioteket
När du har installerat Python kan du installera klientbiblioteket med:
pip install azure-ai-textanalytics==5.2.0
Kodexempel
Skapa en ny Python-fil och kopiera koden nedan. Kör sedan koden
# 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)
Output
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
Rensa resurser
Om du vill rensa och ta bort en Azure AI-tjänstprenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Använd följande kommandon för att ta bort miljövariablerna som du skapade för den här snabbstarten.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Nästa steg
Använd den här snabbstarten för att skicka begäranden om attitydanalys med hjälp av REST-API:et. I följande exempel använder du cURL för att identifiera de sentiment som uttrycks i ett textexempel och utföra aspektbaserad attitydanalys.
Förutsättningar
- Azure-prenumeration – Skapa en kostnadsfritt
Konfigurera
Skapa en Azure-resurs
Om du vill använda kodexemplet nedan måste du distribuera en Azure-resurs. Den här resursen innehåller en nyckel och slutpunkt som du använder för att autentisera DE API-anrop som du skickar till språktjänsten.
Använd följande länk för att skapa en språkresurs med hjälp av Azure Portal. Du måste logga in med din Azure-prenumeration.
På skärmen Välj ytterligare funktioner som visas väljer du Fortsätt för att skapa resursen.
På skärmen Skapa språk anger du följande information:
Kontrollera att kryssrutan Ansvarig AI-meddelande är markerad.
Välj Granska + Skapa längst ned på sidan.
På skärmen som visas kontrollerar du att valideringen har passerat och att du har angett informationen korrekt. Välj sedan Skapa.
Hämta din nyckel och slutpunkt
Därefter behöver du nyckeln och slutpunkten från resursen för att ansluta ditt program till API:et. Du klistrar in nyckeln och slutpunkten i koden senare i snabbstarten.
När språkresursen har distribuerats klickar du på knappen Gå till resurs under Nästa steg.
På skärmen för resursen väljer du Nycklar och slutpunkt på den vänstra navigeringsmenyn. Du använder en av dina nycklar och slutpunkten i stegen nedan.
Skapa miljövariabler
Ditt program måste autentiseras för att skicka API-begäranden. För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter. I det här exemplet skriver du dina autentiseringsuppgifter till miljövariabler på den lokala dator som kör programmet.
Om du vill ange miljövariabeln för din språkresursnyckel öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
LANGUAGE_KEY
miljövariabeln ersätter duyour-key
med en av nycklarna för resursen. - Om du vill ange
LANGUAGE_ENDPOINT
miljövariabeln ersätter duyour-endpoint
med slutpunkten för resursen.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen som körs kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som körs och som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Skapa en JSON-fil med exempelbegärandetexten
I en kodredigerare skapar du en ny fil med namnet test_sentiment_payload.json
och kopierar följande JSON-exempel. Den här exempelbegäran skickas till API:et i nästa steg.
{
"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."
}
]
}
}
Spara test_sentiment_payload.json
någonstans på datorn. Till exempel skrivbordet.
Skicka en api-begäran för attitydanalys och åsiktsutvinning
Kommentar
I exemplen nedan finns en begäran om yttrandeutvinningsfunktionen i attitydanalys, som innehåller detaljerad information om utvärderingar (adjektiv) relaterade till mål (substantiv) i texten.
Använd följande kommandon för att skicka API-begäran med det program du använder. Kopiera kommandot till terminalen och kör det.
parameter | Description |
---|---|
-X POST <endpoint> |
Anger slutpunkten för åtkomst till API:et. |
-H Content-Type: application/json |
Innehållstypen för att skicka JSON-data. |
-H "Ocp-Apim-Subscription-Key:<key> |
Anger nyckeln för åtkomst till API:et. |
-d <documents> |
JSON-filen som innehåller de dokument som du vill skicka. |
Ersätt C:\Users\<myaccount>\Desktop\test_sentiment_payload.json
med platsen för JSON-exempelbegärandefilen som du skapade i föregående steg.
Kommandotolk
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-svar
{
"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"
}
}
Rensa resurser
Om du vill rensa och ta bort en Azure AI-tjänstprenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Använd följande kommandon för att ta bort miljövariablerna som du skapade för den här snabbstarten.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f