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
- 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 wilt maken, kunt u azure portal of Azure CLI gebruiken door de stappen in dit document te volgen.
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 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 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 language
countryHint
/, 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 filter
gebruiken:
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
- Abstractieve samenvatting
- Taaldetectie
- Entiteiten koppelen
- Entiteitsregconition
- Extractieve samenvatting
- Gezondheidszorganalyse
- Sleuteltermextractie
- Taaldetectie
- Meninganalyse
- PII-entiteitsherkenning
- Sentimentanalyse
Aangepaste taken
- Aangepaste entiteitsherkenning
- Aangepaste classificatie met één lable
- Aangepaste classificatie van meerdere lables
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.
Verwante projecten
Azure SDK for JavaScript