Azure Text Analysis-clientbibliotheek voor JavaScript - versie 6.0.0-beta.1
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 Language API versie 2022-04-01-preview.
- Taaldetectie
- Sentimentanalyse
- Sleuteltermextractie
- Herkenning van benoemde entiteiten
- Herkenning van persoonsgegevens
- Entiteiten koppelen
- Gezondheidszorganalyse
- Extractieve samenvatting
- Aangepaste entiteitsherkenning
- Aangepaste documentclassificatie
- Ondersteuning voor meerdere acties per document
Gebruik de clientbibliotheek voor het volgende:
- Detecteren in welke taalinvoertekst is 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:
Aan de slag
Momenteel ondersteunde omgevingen
- LTS-versies van Node.js
- Nieuwste versies van Safari, Chrome, Edge en Firefox.
Zie ons ondersteuningsbeleid voor meer informatie.
Vereisten
- Een Azure-abonnement.
- Een bestaande Cognitive Services - of taalresource. Als u de resource moet maken, kunt u azure portal of Azure CLI gebruiken.
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-text-analytics
Installeer de Azure Text Analysis-clientbibliotheek voor JavaScript met npm
:
npm install @azure/ai-text-analytics
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 credential
nodig. 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 Azure Portal of met behulp van het onderstaande Azure CLI-fragment :
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-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
Een Azure Active Directory-referentie gebruiken
Verificatie van client-API-sleutels 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 hieronder weergegeven DefaultAzureCredential-provider of andere referentieproviders wilt gebruiken 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 Language 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-text-analytics");
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 op 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 invoer die als een batch moet 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 of language
countryHint
/wilt doorgeven, kunnen deze 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 geretourneerde waarde die overeenkomt met één document is een geslaagd resultaat of een foutobject. Elke TextAnalysisClient
methode retourneert een heterogene matrix van 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.
Afhandeling van documentfouten
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 filter
gebruiken:
const results = await client.analyze("SentimentAnalysis", documents);
const onlySuccessful = results.filter((result) => result.error === undefined);
Opmerking: TypeScript-gebruikers kunnen profiteren van een 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
Sentimentanalyse
Het gevoel van tekst analyseren om te bepalen of deze positief, negatief, neutraal of gemengd is, inclusief sentimentanalyse per zin en betrouwbaarheidsscores.
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"I did not like the restaurant. The food was too spicy.",
"The restaurant was decorated beautifully. The atmosphere was unlike any other restaurant I've been to.",
"The food was yummy. :)",
];
async function main() {
const results = await client.analyze("SentimentAnalysis", documents);
for (const result of results) {
if (result.error === undefined) {
console.log("Overall sentiment:", result.sentiment);
console.log("Scores:", result.confidenceScores);
} else {
console.error("Encountered an error:", result.error);
}
}
}
main();
Voor gedetailleerdere informatie over de meningen met betrekking tot aspecten van een product/service, ook wel bekend als Aspect-based Sentiment Analysis in Natural Language Processing (NLP), bekijkt u hier een voorbeeld van sentimentanalyse met meninganalyse.
Herkenning van entiteiten
Entiteiten in tekst herkennen en categoriseren als personen, plaatsen, organisaties, datums/tijden, hoeveelheden, valuta's, enzovoort.
De language
parameter is optioneel. Als dit niet is opgegeven, wordt het standaard Engelse model gebruikt.
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"Microsoft was founded by Bill Gates and Paul Allen.",
"Redmond is a city in King County, Washington, United States, located 15 miles east of Seattle.",
"Jeff bought three dozen eggs because there was a 50% discount.",
];
async function main() {
const results = await client.analyze("EntityRecognition", documents, "en");
for (const result of results) {
if (result.error === undefined) {
console.log(" -- Recognized entities for input", result.id, "--");
for (const entity of result.entities) {
console.log(entity.text, ":", entity.category, "(Score:", entity.confidenceScore, ")");
}
} else {
console.error("Encountered an error:", result.error);
}
}
}
main();
PII-entiteitsherkenning
Er is een afzonderlijke actie voor het herkennen van persoonsgegevens (PII) in tekst, zoals burgerservicenummers, bankrekeninggegevens, creditcardnummers, enzovoort. Het gebruik ervan is vergelijkbaar met de bovenstaande standaardentiteitsherkenning:
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"The employee's SSN is 555-55-5555.",
"The employee's phone number is (555) 555-5555.",
];
async function main() {
const results = await client.analyze("PiiEntityRecognition", documents, "en");
for (const result of results) {
if (result.error === undefined) {
console.log(" -- Recognized PII entities for input", result.id, "--");
for (const entity of result.entities) {
console.log(entity.text, ":", entity.category, "(Score:", entity.confidenceScore, ")");
}
} else {
console.error("Encountered an error:", result.error);
}
}
}
main();
Entiteiten koppelen
Een 'gekoppelde' entiteit is een entiteit die bestaat in een Knowledge Base (zoals Wikipedia). De EntityLinking
actie kan entiteiten ondubbelzinnig maken door te bepalen naar welke vermelding in een Knowledge Base ze waarschijnlijk verwijzen (in een stuk tekst verwijst het woord 'Mars' bijvoorbeeld naar de planeet of naar de Romeinse oorlogsgod). Gekoppelde entiteiten bevatten gekoppelde URL's naar de Knowledge Base die de definitie van de entiteit biedt.
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"Microsoft was founded by Bill Gates and Paul Allen.",
"Easter Island, a Chilean territory, is a remote volcanic island in Polynesia.",
"I use Azure Functions to develop my product.",
];
async function main() {
const results = await client.analyze("EntityLinking", documents, "en");
for (const result of results) {
if (result.error === undefined) {
console.log(" -- Recognized linked entities for input", result.id, "--");
for (const entity of result.entities) {
console.log(entity.name, "(URL:", entity.url, ", Source:", entity.dataSource, ")");
for (const match of entity.matches) {
console.log(
" Occurrence:",
'"' + match.text + '"',
"(Score:",
match.confidenceScore,
")"
);
}
}
} else {
console.error("Encountered an error:", result.error);
}
}
}
main();
Sleuteltermextractie
Sleuteltermextractie identificeert de belangrijkste gesprekspunten in een document. Als u bijvoorbeeld invoertekst 'Het eten was heerlijk en er was geweldig personeel', retourneert de service 'eten' en 'geweldig personeel'.
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"Redmond is a city in King County, Washington, United States, located 15 miles east of Seattle.",
"I need to take my cat to the veterinarian.",
"I will travel to South America in the summer.",
];
async function main() {
const results = await client.analyze("KeyPhraseExtraction", documents, "en");
for (const result of results) {
if (result.error === undefined) {
console.log(" -- Extracted key phrases for input", result.id, "--");
console.log(result.keyPhrases);
} else {
console.error("Encountered an error:", result.error);
}
}
}
main();
Taaldetectie
Bepaal de taal van een stuk tekst.
De countryHint
parameter is optioneel, maar kan de service helpen bij het leveren van de juiste uitvoer als het land van oorsprong bekend is. Indien opgegeven, moet deze worden ingesteld op een ISO-3166 Alpha-2-landcode van twee letters (zoals 'us' voor de Verenigde Staten of 'jp' voor Japan) of op de waarde "none"
. Als de parameter niet is opgegeven, wordt het standaardmodel "us"
(Verenigde Staten) gebruikt. Als u het land van oorsprong van het document niet weet, moet de parameter "none"
worden gebruikt en past de Taalservice een model toe dat is afgestemd op een onbekend land van oorsprong.
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"This is written in English.",
"Il documento scritto in italiano.",
"Dies ist in deutscher Sprache verfasst.",
];
async function main() {
const results = await client.analyze("LanguageDetection", documents, "none");
for (const result of results) {
if (result.error === undefined) {
const { primaryLanguage } = result;
console.log(
"Input #",
result.id,
"identified as",
primaryLanguage.name,
"( ISO6391:",
primaryLanguage.iso6391Name,
", Score:",
primaryLanguage.confidenceScore,
")"
);
} else {
console.error("Encountered an error:", result.error);
}
}
}
main();
Gezondheidszorganalyse
Gezondheidszorganalyse identificeert gezondheidszorgentiteiten. Bijvoorbeeld, opgegeven invoertekst 'Voorgeschreven 100mg ibuprofen, tweemaal daags' retourneert de service '100mg' gecategoriseerd als dosering, 'ibuprofen' als MedicationName en 'tweemaal daags' als Frequentie.
const {
AnalyzeBatchAction,
AzureKeyCredential,
TextAnalysisClient,
} = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"Prescribed 100mg ibuprofen, taken twice daily.",
"Patient does not suffer from high blood pressure.",
];
async function main() {
const actions: AnalyzeBatchAction[] = [
{
kind: "Healthcare",
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
const results = await poller.pollUntilDone();
for await (const actionResult of results) {
if (actionResult.kind !== "Healthcare") {
throw new Error(`Expected a healthcare results but got: ${actionResult.kind}`);
}
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
for (const result of actionResult.results) {
console.log(`- Document ${result.id}`);
if (result.error) {
const { code, message } = result.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
console.log("\tRecognized Entities:");
for (const entity of result.entities) {
console.log(`\t- Entity "${entity.text}" of type ${entity.category}`);
if (entity.dataSources.length > 0) {
console.log("\t and it can be referenced in the following data sources:");
for (const ds of entity.dataSources) {
console.log(`\t\t- ${ds.name} with Entity ID: ${ds.entityId}`);
}
}
}
}
}
}
main();
Extractieve samenvatting
Extractieve samenvatting identificeert zinnen die het artikel samenvatten waartoe ze behoren.
const {
AnalyzeBatchAction,
AzureKeyCredential,
TextAnalysisClient,
} = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"Prescribed 100mg ibuprofen, taken twice daily.",
"Patient does not suffer from high blood pressure.",
];
async function main() {
const actions: AnalyzeBatchAction[] = [
{
kind: "ExtractiveSummarization",
maxSentenceCount: 2,
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
const results = await poller.pollUntilDone();
for await (const actionResult of results) {
if (actionResult.kind !== "ExtractiveSummarization") {
throw new Error(`Expected extractive summarization results but got: ${actionResult.kind}`);
}
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
for (const result of actionResult.results) {
console.log(`- Document ${result.id}`);
if (result.error) {
const { code, message } = result.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
console.log("Summary:");
console.log(result.sentences.map((sentence) => sentence.text).join("\n"));
}
}
}
main();
Aangepaste entiteitsherkenning
Entiteiten in tekst herkennen en categoriseren als entiteiten met behulp van aangepaste entiteitsdetectiemodellen die zijn gebouwd met Behulp van Azure Language Studio.
const {
AnalyzeBatchAction,
AzureKeyCredential,
TextAnalysisClient,
} = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"We love this trail and make the trip every year. The views are breathtaking and well worth the hike! Yesterday was foggy though, so we missed the spectacular views. We tried again today and it was amazing. Everyone in my family liked the trail although it was too challenging for the less athletic among us.",
"Last week we stayed at Hotel Foo to celebrate our anniversary. The staff knew about our anniversary so they helped me organize a little surprise for my partner. The room was clean and with the decoration I requested. It was perfect!",
];
async function main() {
const actions: AnalyzeBatchAction[] = [
{
kind: "CustomEntityRecognition",
deploymentName,
projectName,
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
for await (const actionResult of results) {
if (actionResult.kind !== "CustomEntityRecognition") {
throw new Error(`Expected a CustomEntityRecognition results but got: ${actionResult.kind}`);
}
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
for (const result of actionResult.results) {
console.log(`- Document ${result.id}`);
if (result.error) {
const { code, message } = result.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
console.log("\tRecognized Entities:");
for (const entity of result.entities) {
console.log(`\t- Entity "${entity.text}" of type ${entity.category}`);
}
}
}
}
main();
Aangepaste classificatie met één label
Documenten classificeren met behulp van aangepaste modellen met één label die zijn gebouwd met Behulp van Azure Language Studio.
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"The plot begins with a large group of characters where everyone thinks that the two main ones should be together but foolish things keep them apart. Misunderstandings, miscommunication, and confusion cause a series of humorous situations.",
];
async function main() {
const actions: AnalyzeBatchAction[] = [
{
kind: "CustomSingleLabelClassification",
deploymentName,
projectName,
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
const results = await poller.pollUntilDone();
for await (const actionResult of results) {
if (actionResult.kind !== "CustomSingleLabelClassification") {
throw new Error(
`Expected a CustomSingleLabelClassification results but got: ${actionResult.kind}`
);
}
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
for (const result of actionResult.results) {
console.log(`- Document ${result.id}`);
if (result.error) {
const { code, message } = result.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
console.log(`\tClassification: ${result.classification.category}`);
}
}
}
main();
Aangepaste classificatie met meerdere labels
Documenten classificeren met behulp van aangepaste modellen met meerdere labels die zijn gebouwd met Behulp van Azure Language Studio.
const {
AnalyzeBatchAction,
AzureKeyCredential,
TextAnalysisClient,
} = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"The plot begins with a large group of characters where everyone thinks that the two main ones should be together but foolish things keep them apart. Misunderstandings, miscommunication, and confusion cause a series of humorous situations.",
];
async function main() {
const actions: AnalyzeBatchAction[] = [
{
kind: "CustomMultiLabelClassification",
deploymentName,
projectName,
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
const results = await poller.pollUntilDone();
for await (const actionResult of results) {
if (actionResult.kind !== "CustomMultiLabelClassification") {
throw new Error(
`Expected a CustomMultiLabelClassification results but got: ${actionResult.kind}`
);
}
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
for (const result of actionResult.results) {
console.log(`- Document ${result.id}`);
if (result.error) {
const { code, message } = result.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
console.log(`\tClassification:`);
for (const classification of result.classifications) {
console.log(`\t\t-category: ${classification.category}`);
}
}
}
}
main();
Batchverwerking van acties
Hiermee worden meerdere acties toegepast op elk invoerdocument in één serviceaanvraag.
const {
AnalyzeBatchAction,
AzureKeyCredential,
TextAnalysisClient,
} = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"Microsoft was founded by Bill Gates and Paul Allen.",
"The employee's SSN is 555-55-5555.",
"Easter Island, a Chilean territory, is a remote volcanic island in Polynesia.",
"I use Azure Functions to develop my product.",
];
async function main() {
const actions: AnalyzeBatchAction[] = [
{
kind: "EntityRecognition",
modelVersion: "latest",
},
{
kind: "PiiEntityRecognition",
modelVersion: "latest",
},
{
kind: "KeyPhraseExtraction",
modelVersion: "latest",
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
const actionResults = await poller.pollUntilDone();
for await (const actionResult of actionResults) {
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
switch (actionResult.kind) {
case "KeyPhraseExtraction": {
for (const doc of actionResult.results) {
console.log(`- Document ${doc.id}`);
if (!doc.error) {
console.log("\tKey phrases:");
for (const phrase of doc.keyPhrases) {
console.log(`\t- ${phrase}`);
}
} else {
console.error("\tError:", doc.error);
}
}
break;
}
case "EntityRecognition": {
for (const doc of actionResult.results) {
console.log(`- Document ${doc.id}`);
if (!doc.error) {
console.log("\tEntities:");
for (const entity of doc.entities) {
console.log(`\t- Entity ${entity.text} of type ${entity.category}`);
}
} else {
console.error("\tError:", doc.error);
}
}
break;
}
case "PiiEntityRecognition": {
for (const doc of actionResult.results) {
console.log(`- Document ${doc.id}`);
if (!doc.error) {
console.log("\tPii Entities:");
for (const entity of doc.entities) {
console.log(`\t- Entity ${entity.text} of type ${entity.category}`);
}
} else {
console.error("\tError:", doc.error);
}
}
break;
}
default: {
throw new Error(`Unexpected action results: ${actionResult.kind}`);
}
}
}
}
main();
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
:
import { setLogLevel } from "@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.
Verwante projecten
Azure SDK for JavaScript