Snabbstart: Klient bibliotek för text analys för .NETQuickstart: Text analytics client library for .NET

Kom igång med Textanalys klient biblioteket för .NET.Get started with the Text Analytics client library for .NET. Följ de här stegen för att installera paketet och prova exempel koden för grundläggande uppgifter.Follow these steps to install the package and try out the example code for basic tasks.

Använd Textanalys klient bibliotek för .NET för att utföra:Use the Text Analytics client library for .NET to perform:

  • SentimentanalysSentiment analysis
  • SpråkidentifieringLanguage detection
  • Enhets igenkänningEntity recognition
  • Extrahering av nyckelfraserKey phrase extraction

Referens dokumentation | bibliotek käll kods | paket (NuGet) | exempelReference documentation | Library source code | Package (NuGet) | Samples

Anteckning

Demo koden i den här artikeln använder de synkrona metoderna i Textanalys .NET SDK för enkelhetens skull.The demo code in this article uses the synchronous methods of the Text Analytics .NET SDK for simplicity. För produktions scenarier rekommenderar vi dock att du använder batch-asynkrona metoder i dina egna program för att hålla dem skalbara och tillgängliga.However, for production scenarios, we recommend using the batched asynchronous methods in your own applications to keep them scalable and responsive. Till exempel anropar SentimentBatchAsync () i stället för sentiment ().For example, calling SentimentBatchAsync() instead of Sentiment().

FörutsättningarPrerequisites

KonfigureraSetting up

Skapa en Textanalys Azure-resursCreate a Text Analytics Azure resource

Få en nyckel för att autentisera dina program med Azure Cognitive Services representeras av Azure-resurser som du prenumererar på.Get a key to authenticate your applications by Azure Cognitive Services are represented by Azure resources that you subscribe to. Skapa en resurs för Textanalys med hjälp av Azure Portal eller Azure CLI på den lokala datorn.Create a resource for Text Analytics using the Azure portal or Azure CLI on your local machine. Du kan också:You can also:

När du har fått en nyckel från din utvärderings prenumeration eller resurs skapar du en miljö variabel för nyckeln, TEXT_ANALYTICS_SUBSCRIPTION_KEYmed namnet.After you get a key from your trial subscription or resource, create an environment variable for the key, named TEXT_ANALYTICS_SUBSCRIPTION_KEY.

Skapa ett nytt C# programCreate a new C# application

Skapa ett nytt .NET Core-program i önskat redigerings program eller IDE.Create a new .NET Core application in your preferred editor or IDE.

I ett konsol fönster (till exempel cmd, PowerShell eller bash) använder du dotnet new kommandot för att skapa en ny konsol app med namnet. text-analytics quickstartIn a console window (such as cmd, PowerShell, or Bash), use the dotnet new command to create a new console app with the name text-analytics quickstart. Det här kommandot skapar ett enkelt "Hello World C# "-projekt med en enda käll fil: program.cs.This command creates a simple "Hello World" C# project with a single source file: program.cs.

dotnet new console -n text-analytics-quickstart

Ändra katalogen till mappen nyligen skapade appar.Change your directory to the newly created app folder. Du kan bygga programmet med:You can build the application with:

dotnet build

Build-utdata får inte innehålla varningar eller fel.The build output should contain no warnings or errors.

...
Build succeeded.
 0 Warning(s)
 0 Error(s)
...

Från projekt katalogen öppnar du program.cs -filen i önskat redigerings program eller IDE.From the project directory, open the program.cs file in your preferred editor or IDE. Lägg till följande using direktiv:Add the following using directives:

using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Azure.CognitiveServices.Language.TextAnalytics;
using Microsoft.Azure.CognitiveServices.Language.TextAnalytics.Models;
using Microsoft.Rest;

I programmets Program klass skapar du variabler för resursens Azure-slutpunkt och prenumerations nyckel.In the application's Program class, create variables for your resource's Azure endpoint and subscription key. Hämta värdena från miljövariablerna TEXT_ANALYTICS_SUBSCRIPTION_KEY i en statisk konstruktor och. TEXT_ANALYTICS_ENDPOINTIn a static constructor, obtain these values from the environment variables TEXT_ANALYTICS_SUBSCRIPTION_KEY and TEXT_ANALYTICS_ENDPOINT. Om du har skapat dessa miljövariabler när du började redigera programmet måste du stänga och öppna den redigerare, IDE eller Shell som du använder för att få åtkomst till variablerna.If you created these environment variables after you began editing the application, you will need to close and reopen the editor, IDE, or shell you are using to access the variables.

private const string key_var = "TEXT_ANALYTICS_SUBSCRIPTION_KEY";
private static readonly string subscriptionKey = Environment.GetEnvironmentVariable(key_var);

private const string endpoint_var = "TEXT_ANALYTICS_ENDPOINT";
private static readonly string endpoint = Environment.GetEnvironmentVariable(endpoint_var);

static Program()
{
    if (null == subscriptionKey)
    {
        throw new Exception("Please set/export the environment variable: " + key_var);
    }
    if (null == endpoint)
    {
        throw new Exception("Please set/export the environment variable: " + endpoint_var);
    }
}

I programmets Main metod skapar du autentiseringsuppgifter för att komma åt textanalys-slutpunkten.In the application's Main method, create credentials to access the Text Analytics endpoint. Du definierar de metoder som anropas av Main metoden senare.You will define the methods called by the Main method later.

Tips

För att hitta din nyckel och slut punkt på Azure Portal:To find your key and endpoint on the Azure portal:

  1. Gå till Azure-resursen på https://portal.azure.com/.Navigate to your azure resource at https://portal.azure.com/.
  2. Klicka på snabb start, finns under resurs hantering.Click on Quick start, located under Resource Management.
static void Main(string[] args)
{
    var credentials = new ApiKeyServiceClientCredentials(subscriptionKey);
    TextAnalyticsClient client = new TextAnalyticsClient(credentials)
    {
        Endpoint = endpoint
    };

    Console.OutputEncoding = System.Text.Encoding.UTF8;
    SentimentAnalysisExample(client);
    // languageDetectionExample(client);
    // entityRecognitionExample(client);
    // KeyPhraseExtractionExample(client);
    
    Console.Write("Press any key to exit.");
    Console.ReadKey();
}

Installera klient biblioteketInstall the client library

I program katalogen installerar du Textanalys klient biblioteket för .NET med följande kommando:Within the application directory, install the Text Analytics client library for .NET with the following command:

dotnet add package Microsoft.Azure.CognitiveServices.Language.TextAnalytics --version 4.0.0

Om du använder Visual Studio IDE är klient biblioteket tillgängligt som ett nedladdnings Bart NuGet-paket.If you're using the Visual Studio IDE, the client library is available as a downloadable NuGet package.

Objekt modellObject model

Textanalys-klienten är ett TextAnalyticsClient -objekt som autentiserar till Azure med hjälp av din nyckel och ger funktioner för att acceptera text som enkla strängar eller som en batch.The Text Analytics client is a TextAnalyticsClient object that authenticates to Azure using your key, and provides functions to accept text as single strings or as a batch. Du kan skicka text till API: et synkront eller asynkront.You can send text to the API synchronously, or asynchronously. Objektet Response kommer att innehålla analys informationen för varje dokument som du skickar.The response object will contain the analysis information for each document you send.

Kod exempelCode examples

Autentisera klientenAuthenticate the client

Skapa en ny ApiKeyServiceClientCredentials klass för att lagra autentiseringsuppgifterna och lägga till dem i klientens begär Anden.Create a new ApiKeyServiceClientCredentials class to store the credentials and add them to the client's requests. I den skapar du en åsidosättning för ProcessHttpRequestAsync() som lägger till din nyckel Ocp-Apim-Subscription-Key i rubriken.Within it, create an override for ProcessHttpRequestAsync() that adds your key to the Ocp-Apim-Subscription-Key header.

class ApiKeyServiceClientCredentials : ServiceClientCredentials
{
    private readonly string apiKey;

    public ApiKeyServiceClientCredentials(string apiKey)
    {
        this.apiKey = apiKey;
    }

    public override Task ProcessHttpRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
        if (request == null)
        {
            throw new ArgumentNullException("request");
        }
        request.Headers.Add("Ocp-Apim-Subscription-Key", this.apiKey);
        return base.ProcessHttpRequestAsync(request, cancellationToken);
    }
}

I- main() metoden instansierar du klienten med din nyckel och slut punkt.In the main() method, instantiate the client with your key and endpoint.

var credentials = new ApiKeyServiceClientCredentials(key);
TextAnalyticsClient client = new TextAnalyticsClient(credentials)
{
    Endpoint = endpoint
};

SentimentanalysSentiment analysis

Skapa en ny funktion som SentimentAnalysisExample() anropar den klient som du skapade tidigare och anropa dess sentiment ()- funktion.Create a new function called SentimentAnalysisExample() that takes the client that you created earlier, and call its Sentiment() function. Det returnerade SentimentResult -objektet kommer att Score innehålla sentiment om det lyckas errorMessage , och en om inte.The returned SentimentResult object will contain the sentiment Score if successful, and an errorMessage if not.

En poäng som är nära 0 anger ett negativt sentiment, medan poängen är närmare 1 betyder en positiv sentiment.A score that's close to 0 indicates a negative sentiment, while a score that's closer to 1 indicates a positive sentiment.

static void SentimentAnalysisExample(TextAnalyticsClient client){
    var result = client.Sentiment("I had the best day of my life.", "en");
    Console.WriteLine($"Sentiment Score: {result.Score:0.00}");
}

OutputOutput

Sentiment Score: 0.87

SpråkidentifieringLanguage detection

Skapa en ny funktion som languageDetectionExample() anropar den klient som du skapade tidigare och anropa dess DetectLanguage ()- funktion.Create a new function called languageDetectionExample() that takes the client that you created earlier, and call its DetectLanguage() function. Det returnerade LanguageResult -objektet kommer att innehålla en lista över DetectedLanguages identifierade språk i om errorMessage det lyckas, och en om inte.The returned LanguageResult object will contain the list of detected languages in DetectedLanguages if successful, and an errorMessage if not. Skriv ut det första returnerade språket.Print the first returned language.

Tips

I vissa fall kan det vara svårt att disambiguate språk baserat på indatamängden.In some cases it may be hard to disambiguate languages based on the input. Du kan använda countryHint -parametern för att ange en landskod på 2 bokstäver.You can use the countryHint parameter to specify a 2-letter country code. Som standard använder API: t "US" som standard-countryHint, för att ta bort det här alternativet kan du återställa den här parametern genom att ange värdet countryHint = "" till en tom sträng.By default the API is using the "US" as the default countryHint, to remove this behavior you can reset this parameter by setting this value to empty string countryHint = "" .

static void languageDetectionExample(TextAnalyticsClient client){
    var result = client.DetectLanguage("This is a document written in English.");
    Console.WriteLine($"Language: {result.DetectedLanguages[0].Name}");
}

OutputOutput

Language: English

Enhets igenkänningEntity recognition

Skapa en ny funktion som RecognizeEntitiesExample() anropar den klient som du skapade tidigare och anropa dess entiteter () -funktion.Create a new function called RecognizeEntitiesExample() that takes the client that you created earlier, and call its Entities() function. Upprepa resultaten.Iterate through the results. Det returnerade EntitiesResult -objektet kommer att innehålla en lista över Entities identifierade entiteter i errorMessage om det lyckas, och en om inte.The returned EntitiesResult object will contain the list of detected entities in Entities if successful, and an errorMessage if not. För varje identifierad entitet skriver du ut dess typ, undertyp, Wikipedia-namn (om de finns) samt platserna i den ursprungliga texten.For each detected entity, print its Type, Sub-Type, Wikipedia name (if they exist) as well as the locations in the original text.

static void entityRecognitionExample(TextAnalyticsClient client){

    var result = client.Entities("Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, to develop and sell BASIC interpreters for the Altair 8800.");
    Console.WriteLine("Entities:");
    foreach (var entity in result.Entities){
        Console.WriteLine($"\tName: {entity.Name},\tType: {entity.Type ?? "N/A"},\tSub-Type: {entity.SubType ?? "N/A"}");
        foreach (var match in entity.Matches){
            Console.WriteLine($"\t\tOffset: {match.Offset},\tLength: {match.Length},\tScore: {match.EntityTypeScore:F3}");
        }
    }
}

OutputOutput

Entities:
    Name: Microsoft,        Type: Organization,     Sub-Type: N/A
        Offset: 0,      Length: 9,      Score: 1.000
    Name: Bill Gates,       Type: Person,   Sub-Type: N/A
        Offset: 25,     Length: 10,     Score: 1.000
    Name: Paul Allen,       Type: Person,   Sub-Type: N/A
        Offset: 40,     Length: 10,     Score: 0.999
    Name: April 4,  Type: Other,    Sub-Type: N/A
        Offset: 54,     Length: 7,      Score: 0.800
    Name: April 4, 1975,    Type: DateTime, Sub-Type: Date
        Offset: 54,     Length: 13,     Score: 0.800
    Name: BASIC,    Type: Other,    Sub-Type: N/A
        Offset: 89,     Length: 5,      Score: 0.800
    Name: Altair 8800,      Type: Other,    Sub-Type: N/A
        Offset: 116,    Length: 11,     Score: 0.800

Extrahering av nyckelfraserKey phrase extraction

Skapa en ny funktion som KeyPhraseExtractionExample() anropar den klient som du skapade tidigare och anropar dess funktions fraser () .Create a new function called KeyPhraseExtractionExample() that takes the client that you created earlier and call its KeyPhrases() function. Resultatet kommer att innehålla en lista över identifierade nyckel fraser KeyPhrases i om det lyckas, errorMessage och en om inte.The result will contain the list of detected key phrases in KeyPhrases if successful, and an errorMessage if not. Skriv ut alla identifierade nyckel fraser.Print any detected key phrases.

static void KeyPhraseExtractionExample(TextAnalyticsClient client)
{
    var result = client.KeyPhrases("My cat might need to see a veterinarian.");

    // Printing key phrases
    Console.WriteLine("Key phrases:");

    foreach (string keyphrase in result.KeyPhrases)
    {
        Console.WriteLine($"\t{keyphrase}");
    }
}

OutputOutput

Key phrases:
    cat
    veterinarian

Rensa resurserClean up resources

Om du vill rensa och ta bort en Cognitive Services prenumeration kan du ta bort resursen eller resurs gruppen.If you want to clean up and remove a Cognitive Services subscription, you can delete the resource or resource group. Om du tar bort resurs gruppen raderas även andra resurser som är associerade med resurs gruppen.Deleting the resource group also deletes any other resources associated with the resource group.

Nästa stegNext steps