JavaScript용 Azure Text Analysis 클라이언트 라이브러리 - 버전 1.1.0

Azure Cognitive Service for Language는 원시 텍스트에 대한 고급 자연어 처리를 제공하는 클라우드 기반 서비스이며 다음과 같은 기본 기능을 포함합니다.

참고: 이 SDK는 Azure Cognitive Service for Language API 버전 2023-04-01을 대상으로 합니다.

  • 언어 검색
  • 감정 분석
  • 핵심 문구 추출
  • 명명된 엔터티 인식
  • 개인 식별 정보 인식
  • 엔터티 연결
  • 의료 분석
  • 추출 요약
  • 추상적 요약
  • 사용자 지정 엔터티 인식
  • 사용자 지정 문서 분류
  • 문서당 여러 작업 지원

클라이언트 라이브러리를 사용하여 다음을 수행할 수 있습니다.

  • 어떤 언어 입력 텍스트가 쓰여지는지 검색합니다.
  • 원시 텍스트를 분석하여 긍정적 또는 부정적인 감정에 대한 단서를 분석하여 고객이 브랜드 또는 토픽에 대해 어떻게 생각하는지 결정합니다.
  • 자동으로 핵심 구를 추출하여 요점을 빠르게 파악합니다.
  • 텍스트의 엔터티를 사람, 장소, 조직, 날짜/시간, 수량, 백분율, 통화, 의료 관련 등으로 식별하고 분류합니다.
  • 위의 여러 작업을 한 번에 수행합니다.

주요 링크:

권고⚠에서 @azure/ai-text-analytics 마이그레이션

AI Text Analytics 클라이언트 라이브러리 버전 5.x에서 새 AI 언어 텍스트 클라이언트 라이브러리로 애플리케이션 코드를 업데이트하는 방법에 대한 자세한 지침은 마이그레이션 가이드를 참조하세요.

What's New

시작

현재 지원되는 환경

자세한 내용은 지원 정책을 참조하세요.

사전 요구 사항

Azure CLI를 사용하는 경우 및 <your-resource-name> 을 고유한 이름으로 바꿉 <your-resource-group-name> 니다.

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

@azure/ai-language-text 패키지를 설치합니다.

을 사용하여 JavaScript용 Azure 텍스트 분석 클라이언트 라이브러리를 npm설치합니다.

npm install @azure/ai-language-text

TextAnalysisClient 만들기 및 인증

언어 API에 액세스하는 클라이언트 개체를 만들려면 언어 리소스의 및 이 credential필요합니다endpoint. 텍스트 분석 클라이언트는 Azure Active Directory 자격 증명 또는 API 키 자격 증명을 사용하여 인증할 수 있습니다.

Azure Portal에서 또는 아래 AzureCLI 코드 조각을 사용하여 언어 리소스에 대한 엔드포인트를 찾을 수 있습니다.

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

API 키 사용

Azure Portal을 사용하여 언어 리소스를 찾아 API 키를 검색하거나 아래 Azure CLI 코드 조각을 사용합니다.

참고: API 키를 "구독 키" 또는 "구독 API 키"라고도 합니다.

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

API 키와 엔드포인트가 있으면 클래스를 AzureKeyCredential 사용하여 다음과 같이 클라이언트를 인증할 수 있습니다.

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

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

Azure Active Directory 자격 증명 사용

클라이언트 API 키 인증은 대부분의 예제에서 사용되지만 Azure ID 라이브러리를 사용하여 Azure Active Directory로 인증할 수도 있습니다. 아래에 표시된 DefaultAzureCredential 공급자 또는 Azure SDK와 함께 제공되는 다른 자격 증명 공급자를 사용하려면 패키지를 설치 @azure/identity 하세요.

npm install @azure/identity

또한 새 AAD 애플리케이션을 등록 하고 서비스 주체에 역할을 할당하여 "Cognitive Services User" Language에 대한 액세스 권한을 부여해야 합니다(참고: 와 같은 "Owner" 다른 역할은 필요한 권한을 부여하지 않으며 예제 및 샘플 코드를 실행하는 데만 "Cognitive Services User" 충분합니다).

AAD 애플리케이션의 클라이언트 ID, 테넌트 ID 및 클라이언트 암호 값을 환경 변수로 설정합니다. AZURE_CLIENT_ID, , AZURE_TENANT_IDAZURE_CLIENT_SECRET.

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

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

주요 개념

TextAnalysisClient

TextAnalysisClient 는 텍스트 분석 클라이언트 라이브러리를 사용하는 개발자를 위한 기본 인터페이스입니다. 이 클라이언트 개체의 메서드를 탐색하여 액세스할 수 있는 언어 서비스의 다양한 기능을 이해합니다.

입력

문서는 언어 서비스의 예측 모델에서 분석할 단일 입력 단위를 나타냅니다. 에 대한 TextAnalysisClient 작업은 일괄 처리로 분석할 입력 컬렉션을 사용합니다. 작업 메서드에는 입력을 문자열 또는 연결된 메타데이터가 있는 개체로 나타낼 수 있는 오버로드가 있습니다.

예를 들어 각 문서를 배열의 문자열로 전달할 수 있습니다(예: ).

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

또는 항목별 문서 id 또는 languagecountryHint/을 전달하려는 경우 작업에 따라 또는 목록 TextDocumentInputDetectLanguageInput 으로 지정할 수 있습니다.

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!" },
];

문서 길이 제한, 최대 일괄 처리 크기 및 지원되는 텍스트 인코딩을 포함하여 입력에 대한 서비스 제한을 참조하세요.

반환 값

단일 문서에 해당하는 반환 값은 성공적인 결과 또는 오류 개체입니다. 각 TextAnalysisClient 메서드는 인덱스별 입력에 해당하는 다른 유형의 결과 및 오류 배열을 반환합니다. 텍스트 입력과 그 결과는 입력 및 결과 컬렉션에서 동일한 인덱스를 갖습니다.

와 같은 SentimentAnalysisResult결과는 단일 텍스트 입력에 대한 예측 또는 예측을 포함하는 언어 작업의 결과입니다. 작업의 결과 형식에는 입력 문서 및 처리 방법에 대한 정보가 선택적으로 포함될 수도 있습니다.

오류 개체인 TextAnalysisErrorResult는 문서를 처리하는 동안 서비스에서 오류가 발생했으며 오류에 대한 정보를 포함했음을 나타냅니다.

문서 오류 처리

작업에서 반환된 컬렉션에서 오류는 오류가 발생한 경우 내부 TextAnalysisError 개체를 포함하는 속성의 error 존재로 성공적인 응답과 구별됩니다. 성공적인 결과 개체의 경우 이 속성은 항상undefined 입니다.

예를 들어 모든 오류를 필터링하려면 다음 filter을 사용할 수 있습니다.

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

참고: TypeScript 사용자는 가 구성에서 로 설정된 경우 compilerOptions.strictNullChecks 결과 및 오류 개체를 보다 효율적으로 형식 검사할 true 수 있습니다 tsconfig.json . 예:

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);
}

샘플

클라이언트 사용량

미리 빌드된 작업

사용자 지정 태스크

문제 해결

로깅

로깅을 사용하도록 설정하면 실패에 대한 유용한 정보를 파악하는 데 도움이 될 수 있습니다. HTTP 요청 및 응답 로그를 보려면 AZURE_LOG_LEVEL 환경 변수를 info로 설정합니다. 또는 @azure/logger에서 setLogLevel을 호출하여 런타임에 로깅을 사용하도록 설정할 수 있습니다.

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

setLogLevel("info");

로그를 사용하는 방법에 대한 자세한 내용은 @azure/logger package docs를 참조하세요.

다음 단계

이 라이브러리를 사용하는 방법에 대한 자세한 예제는 샘플 디렉터리를 참조하세요.

참여

이 라이브러리에 기여하려면 기여 가이드 를 참조하여 코드를 빌드하고 테스트하는 방법에 대해 자세히 알아보세요.

Impressions