Azure Text Analysis-clientbibliotheek voor JavaScript - versie 1.1.0

Azure Cognitive Service for Language is een cloudservice die geavanceerde verwerking van natuurlijke taal via onbewerkte tekst biedt en de volgende hoofdfuncties bevat:

Opmerking: Deze SDK is gericht op Azure Cognitive Service voor Taal-API versie 2023-04-01.

  • Taaldetectie
  • Sentimentanalyse
  • Sleuteltermextractie
  • Herkenning van benoemde entiteiten
  • Herkenning van persoonsgegevens
  • Entiteiten koppelen
  • Gezondheidszorganalyse
  • Extractieve samenvatting
  • Abstractieve samenvatting
  • Aangepaste entiteitsherkenning
  • Aangepaste documentclassificatie
  • Ondersteuning voor meerdere acties per document

Gebruik de clientbibliotheek voor het volgende:

  • Detecteren in welke taalinvoertekst wordt geschreven.
  • Bepaal wat klanten van uw merk of onderwerp vinden door onbewerkte tekst te analyseren op aanwijzingen over positief of negatief gevoel.
  • Extraheer automatisch sleuteltermen om snel de hoofdpunten te identificeren.
  • Identificeer en categoriseer entiteiten in uw tekst als personen, plaatsen, organisaties, datum/tijd, hoeveelheden, percentages, valuta's, specifieke gezondheidszorg en meer.
  • Voer meerdere van de bovenstaande taken tegelijk uit.

Belangrijke koppelingen:

Migreren vanuit @azure/ai-text-analytics advies⚠️

Raadpleeg de migratiehandleiding voor gedetailleerde instructies over het bijwerken van toepassingscode van versie 5.x van de AI Text Analytics-clientbibliotheek naar de nieuwe AI Language Text-clientbibliotheek.

Nieuwe functies

Aan de slag

Momenteel ondersteunde omgevingen

Zie ons ondersteuningsbeleid voor meer informatie.

Vereisten

Als u de Azure CLI gebruikt, vervangt u en <your-resource-name> door <your-resource-group-name> uw eigen unieke namen:

az cognitiveservices account create --kind TextAnalytics --resource-group <your-resource-group-name> --name <your-resource-name> --sku <your-sku-name> --location <your-location>

Installeer het pakket @azure/ai-language-text

Installeer de Azure Text Analysis-clientbibliotheek voor JavaScript met npm:

npm install @azure/ai-language-text

Een maken en verifiëren TextAnalysisClient

Als u een clientobject wilt maken voor toegang tot de Taal-API, hebt u de endpoint van uw taalresource en een credentialnodig. De Text Analysis-client kan azure Active Directory-referenties of een API-sleutelreferentie gebruiken om te verifiëren.

U vindt het eindpunt voor uw taalresource in de Azure-portal of met behulp van het Azure CLI-fragment hieronder:

az cognitiveservices account show --name <your-resource-name> --resource-group <your-resource-group-name> --query "properties.endpoint"

Een API-sleutel gebruiken

Gebruik de Azure-portal om naar uw taalresource te bladeren en een API-sleutel op te halen, of gebruik het onderstaande Azure CLI-fragment :

Opmerking: Soms wordt de API-sleutel een 'abonnementssleutel' of 'abonnements-API-sleutel' genoemd.

az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>

Zodra u een API-sleutel en eindpunt hebt, kunt u de AzureKeyCredential klasse als volgt gebruiken om de client te verifiëren:

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

const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));

Een Azure Active Directory-referentie gebruiken

Client-API-sleutelverificatie wordt in de meeste voorbeelden gebruikt, maar u kunt zich ook verifiëren met Azure Active Directory met behulp van de Azure Identity-bibliotheek. Als u de DefaultAzureCredential-provider wilt gebruiken die hieronder wordt weergegeven, of andere referentieproviders die bij de Azure SDK worden geleverd, installeert u het @azure/identity pakket:

npm install @azure/identity

U moet ook een nieuwe AAD-toepassing registreren en toegang verlenen tot Taal door de "Cognitive Services User" rol toe te wijzen aan uw service-principal (opmerking: andere rollen, zoals "Owner" die niet de benodigde machtigingen verlenen, zijn alleen "Cognitive Services User" voldoende om de voorbeelden en de voorbeeldcode uit te voeren).

Stel de waarden van de client-id, tenant-id en clientgeheim van de AAD-toepassing in als omgevingsvariabelen: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET.

const { TextAnalysisClient } = require("@azure/ai-language-text");
const { DefaultAzureCredential } = require("@azure/identity");

const client = new TextAnalysisClient("<endpoint>", new DefaultAzureCredential());

Belangrijkste concepten

TextAnalysisClient

TextAnalysisClient is de primaire interface voor ontwikkelaars die gebruikmaken van de Text Analysis-clientbibliotheek. Verken de methoden voor dit clientobject om inzicht te krijgen in de verschillende functies van de taalservice waartoe u toegang hebt.

Invoer

Een document vertegenwoordigt één invoereenheid die moet worden geanalyseerd door de voorspellende modellen in de Taalservice. Bewerkingen op TextAnalysisClient nemen een verzameling invoergegevens die als een batch moeten worden geanalyseerd. De bewerkingsmethoden hebben overbelastingen waardoor de invoer kan worden weergegeven als tekenreeksen of als objecten met gekoppelde metagegevens.

Elk document kan bijvoorbeeld worden doorgegeven als een tekenreeks in een matrix, bijvoorbeeld

const documents = [
  "I hated the movie. It was so slow!",
  "The movie made it into my top ten favorites.",
  "What a great movie!",
];

of, als u een document id per item wilt doorgeven of languagecountryHint/, kunnen ze worden opgegeven als een lijst van of DetectLanguageInput afhankelijk van TextDocumentInput de bewerking;

const textDocumentInputs = [
  { id: "1", language: "en", text: "I hated the movie. It was so slow!" },
  { id: "2", language: "en", text: "The movie made it into my top ten favorites." },
  { id: "3", language: "en", text: "What a great movie!" },
];

Zie servicebeperkingen voor de invoer, waaronder limieten voor documentlengte, maximale batchgrootte en ondersteunde tekstcoderingen.

Retourwaarde

De retourwaarde die overeenkomt met één document is een geslaagd resultaat of een foutobject. Elke TextAnalysisClient methode retourneert een heterogene matrix met resultaten en fouten die overeenkomen met de invoer per index. Een tekstinvoer en het resultaat hebben dezelfde index in de invoer- en resultaatverzamelingen.

Een resultaat, zoals SentimentAnalysisResult, is het resultaat van een taalbewerking die een voorspelling of voorspellingen over één tekstinvoer bevat. Het resultaattype van een bewerking kan desgewenst ook informatie bevatten over het invoerdocument en hoe het is verwerkt.

Het foutobject , TextAnalysisErrorResult, geeft aan dat de service een fout heeft opgetreden tijdens het verwerken van het document en bevat informatie over de fout.

Documentfoutafhandeling

In de verzameling die door een bewerking wordt geretourneerd, worden fouten onderscheiden van geslaagde antwoorden door de aanwezigheid van de error eigenschap, die het binnenste TextAnalysisError object bevat als er een fout is opgetreden. Voor geslaagde resultaatobjecten is deze eigenschap altijdundefined.

Als u bijvoorbeeld alle fouten wilt filteren, kunt u het volgende filtergebruiken:

const results = await client.analyze("SentimentAnalysis", documents);
const onlySuccessful = results.filter((result) => result.error === undefined);

Opmerking: TypeScript-gebruikers kunnen profiteren van betere typecontrole van resultaat- en foutobjecten als compilerOptions.strictNullChecks is ingesteld op true in de tsconfig.json configuratie. Bijvoorbeeld:

const [result] = await client.analyze("SentimentAnalysis", ["Hello world!"]);

if (result.error !== undefined) {
  // In this if block, TypeScript will be sure that the type of `result` is
  // `TextAnalysisError` if compilerOptions.strictNullChecks is enabled in
  // the tsconfig.json

  console.log(result.error);
}

Voorbeelden

Clientgebruik

Vooraf gemaakte taken

Aangepaste taken

Problemen oplossen

Logboekregistratie

Het inschakelen van logboekregistratie kan helpen bij het ontdekken van nuttige informatie over fouten. Als u een logboek met HTTP-aanvragen en -antwoorden wilt zien, stelt u de AZURE_LOG_LEVEL omgevingsvariabele in op info. U kunt logboekregistratie ook tijdens runtime inschakelen door aan te roepen setLogLevel in de @azure/logger:

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

Voor meer gedetailleerde instructies over het inschakelen van logboeken kunt u de @azure-/loggerpakketdocumenten bekijken.

Volgende stappen

Bekijk de map met voorbeelden voor gedetailleerde voorbeelden van het gebruik van deze bibliotheek.

Bijdragen

Als u een bijdrage wilt leveren aan deze bibliotheek, leest u de handleiding voor bijdragen voor meer informatie over het bouwen en testen van de code.

Weergaven