TextAnalyticsClient 클래스
언어 서비스 API는 동급 최고의 Microsoft 기계 학습 알고리즘으로 빌드된 NLP(자연어 처리) 기술 모음입니다. API를 사용하여 감정 분석, 핵심 구 추출, 엔터티 인식 및 언어 감지 등의 작업에 대한 구조화되지 않은 텍스트를 분석할 수 있습니다.
추가 설명서는 다음에서 찾을 수 있습니다. https://docs.microsoft.com/azure/cognitive-services/language-service/overview
- 상속
-
azure.ai.textanalytics._base_client.TextAnalyticsClientBaseTextAnalyticsClient
생성자
TextAnalyticsClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, *, default_language: str | None = None, default_country_hint: str | None = None, api_version: str | TextAnalyticsApiVersion | None = None, **kwargs: Any)
매개 변수
- endpoint
- str
지원되는 Cognitive Services 또는 언어 리소스 엔드포인트(프로토콜 및 호스트 이름(예: 'https://.cognitiveservices.azure.com').
- credential
- AzureKeyCredential 또는 TokenCredential
클라이언트가 Azure에 연결하는 데 필요한 자격 증명입니다. Cognitive Services/Language API 키 또는 의 토큰 자격 증명identity을 사용하는 경우 AzureKeyCredential의 instance 수 있습니다.
- default_country_hint
- str
모든 작업에 사용할 기본 country_hint 설정합니다. 기본값은 "US"입니다. 국가 힌트를 사용하지 않으려면 문자열 "none"을 전달합니다.
- default_language
- str
모든 작업에 사용할 기본 언어를 설정합니다. 기본값은 "en"입니다.
- api_version
- str 또는 TextAnalyticsApiVersion
요청에 사용할 서비스의 API 버전입니다. 기본값은 최신 서비스 버전입니다. 이전 버전으로 설정하면 기능 호환성이 저하될 수 있습니다.
예제
엔드포인트 및 API 키를 사용하여 TextAnalyticsClient를 만듭니다.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint, AzureKeyCredential(key))
Azure Active Directory에서 엔드포인트 및 토큰 자격 증명을 사용하여 TextAnalyticsClient를 만듭니다.
import os
from azure.ai.textanalytics import TextAnalyticsClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
credential = DefaultAzureCredential()
text_analytics_client = TextAnalyticsClient(endpoint, credential=credential)
메서드
analyze_sentiment |
문서 일괄 처리에 대한 감정을 분석합니다. show_opinion_mining 사용하여 오피니언 마이닝을 켭니다. 각 감정 클래스(양수, 부정 및 중립)의 감정 점수와 문서 내의 각 문장에 대한 감정 예측 및 감정 점수를 반환합니다. 서비스 데이터 제한은 를 참조 https://aka.ms/azsdk/textanalytics/data-limits 하세요. 버전 v3.1의 새로운 기능: show_opinion_mining, disable_service_logs 및 string_index_type 키워드(keyword) 인수입니다. |
begin_abstract_summary |
장기 실행 추상화 요약 작업을 시작합니다. 추상적 요약에 대한 개념적 논의는 서비스 설명서를 참조하세요. https://video2.skills-academy.com/azure/cognitive-services/language-service/summarization/overview 버전 2023-04-01의 새로운 기능: begin_abstract_summary 클라이언트 메서드입니다. |
begin_analyze_actions |
장기 실행 작업을 시작하여 문서 일괄 처리에 대해 다양한 텍스트 분석 작업을 수행합니다. 더 큰 문서를 분석하거나 여러 텍스트 분석 작업을 하나의 호출로 결합하려는 경우 이 함수를 사용하는 것이 좋습니다. 그렇지 않으면 작업 특정 엔드포인트(예 analyze_sentiment: )를 사용하는 것이 좋습니다. 버전 v3.1의 새로운 기능: begin_analyze_actions 클라이언트 메서드입니다. 버전 2022-05-01의 새로운 기능: RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction 및 AnalyzeHealthcareEntitiesAction 입력 옵션 및 해당 RecognizeCustomEntitiesResult, ClassifyDocumentResult 및 AnalyzeHealthcareEntitiesResult 결과 개체 버전 2023-04-01의 새로운 기능: ExtractiveSummaryAction 및 AbstractiveSummaryAction 입력 옵션 및 해당 ExtractiveSummaryResult 및 AbstractiveSummaryResult 결과 개체입니다. |
begin_analyze_healthcare_entities |
의료 엔터티를 분석하고 문서 일괄 처리에서 이러한 엔터티 간의 관계를 식별합니다. 엔터티는 UMLS, CHV, MSH 등과 같은 기존 기술 자료에서 찾을 수 있는 참조와 연결됩니다. 우리는 또한 엔터티 간에 발견 된 관계를 추출, 예를 들어 "주제했다 100 이부프로펜의 mg", 우리는 사이의 관계를 추출 할 것 "100 mg" 복용량과 "이부프로펜" 약물. 버전 v3.1의 새로운 기능: begin_analyze_healthcare_entities 클라이언트 메서드입니다. 버전 2022-05-01의 새로운 기능: display_name 키워드(keyword) 인수입니다. |
begin_extract_summary |
장기 실행 추출 요약 작업을 시작합니다. 추출 요약에 대한 개념적 논의는 서비스 설명서를 참조하세요. https://video2.skills-academy.com/azure/cognitive-services/language-service/summarization/overview 버전 2023-04-01의 새로운 기능: begin_extract_summary 클라이언트 메서드입니다. |
begin_multi_label_classify |
장기 실행 사용자 지정 다중 레이블 분류 작업을 시작합니다. 사용자 지정 기능의 지역 지원 및 문서를 분류하는 모델을 학습시키는 방법에 대한 자세한 내용은 https://aka.ms/azsdk/textanalytics/customfunctionalities 버전 2022-05-01의 새로운 기능: begin_multi_label_classify 클라이언트 메서드입니다. |
begin_recognize_custom_entities |
장기 실행 사용자 지정 명명된 엔터티 인식 작업을 시작합니다. 사용자 지정 기능의 지역 지원 및 사용자 지정 엔터티를 인식하도록 모델을 학습하는 방법에 대한 자세한 내용은 https://aka.ms/azsdk/textanalytics/customentityrecognition 버전 2022-05-01의 새로운 기능: begin_recognize_custom_entities 클라이언트 메서드입니다. |
begin_single_label_classify |
장기 실행 사용자 지정 단일 레이블 분류 작업을 시작합니다. 사용자 지정 기능의 지역 지원 및 문서를 분류하는 모델을 학습시키는 방법에 대한 자세한 내용은 다음을 참조하세요. https://aka.ms/azsdk/textanalytics/customfunctionalities 버전 2022-05-01의 새로운 기능: begin_single_label_classify 클라이언트 메서드입니다. |
close |
클라이언트에서 연 소켓을 닫습니다. 클라이언트를 컨텍스트 관리자로 사용할 때는 이 메서드를 호출할 필요가 없습니다. |
detect_language |
문서 일괄 처리에 대한 언어를 검색합니다. 검색된 언어와 0과 1 사이의 숫자 점수를 반환합니다. 1에 가까운 점수는 식별된 언어가 true임을 100% 확실하게 나타냅니다. 사용 가능한 언어 목록은 를 참조 https://aka.ms/talangs 하세요. 서비스 데이터 제한은 를 참조 https://aka.ms/azsdk/textanalytics/data-limits 하세요. 버전 v3.1의 새로운 기능: disable_service_logs 키워드(keyword) 인수입니다. |
extract_key_phrases |
문서 일괄 처리에서 핵심 구를 추출합니다. 입력 텍스트의 핵심 구를 나타내는 문자열 목록을 반환합니다. 예를 들어 "음식이 맛있었고 훌륭한 직원이 있었다"는 입력 텍스트의 경우 API는 "음식"과 "훌륭한 직원"이라는 기본 대화 포인트를 반환합니다. 서비스 데이터 제한은 를 참조 https://aka.ms/azsdk/textanalytics/data-limits 하세요. 버전 v3.1의 새로운 기능: disable_service_logs 키워드(keyword) 인수입니다. |
recognize_entities |
문서 일괄 처리에 대한 엔터티를 인식합니다. 텍스트의 엔터티를 사람, 장소, 조직, 날짜/시간, 수량, 백분율, 통화 등으로 식별하고 분류합니다. 지원되는 엔터티 형식 목록은 다음을 검사.https://aka.ms/taner 서비스 데이터 제한은 를 참조 https://aka.ms/azsdk/textanalytics/data-limits 하세요. 버전 v3.1의 새로운 기능: disable_service_logs 및 string_index_type 키워드(keyword) 인수입니다. |
recognize_linked_entities |
문서 일괄 처리에 대해 잘 알려진 기술 자료 연결된 엔터티를 인식합니다. 텍스트에 있는 각 엔터티의 ID를 식별 및 구분합니다(예: 화성이라는 단어가 행성을 참조하는지 아니면 로마 전쟁의 신을 가리키는지 결정). 인식된 엔터티는 위키백과 같은 잘 알려진 기술 자료 URL과 연결됩니다. 서비스 데이터 제한은 를 참조 https://aka.ms/azsdk/textanalytics/data-limits 하세요. 버전 v3.1의 새로운 기능: disable_service_logs 및 string_index_type 키워드(keyword) 인수입니다. |
recognize_pii_entities |
문서 일괄 처리에 대한 개인 정보가 포함된 엔터티를 인식합니다. 문서의 개인 정보 엔터티("SSN", "은행 계좌" 등)의 목록을 반환합니다. 지원되는 엔터티 형식 목록은 검사 https://aka.ms/azsdk/language/pii 서비스 데이터 제한은 를 참조 https://aka.ms/azsdk/textanalytics/data-limits 하세요. 버전 v3.1의 새로운 기능: recognize_pii_entities 클라이언트 메서드입니다. |
analyze_sentiment
문서 일괄 처리에 대한 감정을 분석합니다. show_opinion_mining 사용하여 오피니언 마이닝을 켭니다.
각 감정 클래스(양수, 부정 및 중립)의 감정 점수와 문서 내의 각 문장에 대한 감정 예측 및 감정 점수를 반환합니다.
서비스 데이터 제한은 를 참조 https://aka.ms/azsdk/textanalytics/data-limits 하세요.
버전 v3.1의 새로운 기능: show_opinion_mining, disable_service_logs 및 string_index_type 키워드(keyword) 인수입니다.
analyze_sentiment(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, disable_service_logs: bool | None = None, language: str | None = None, model_version: str | None = None, show_opinion_mining: bool | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> List[AnalyzeSentimentResult | DocumentError]
매개 변수
이 일괄 처리의 일부로 처리할 문서 집합입니다. 항목별로 ID 및 언어를 지정하려면 목록[TextDocumentInput] 또는 {"id"와 같은 의 dict 표현 TextDocumentInput목록(예 : "1", "language": "en", "text": "hello world"})으로 사용해야 합니다.
- show_opinion_mining
- bool
문장의 의견을 파악하고 제품 또는 서비스의 측면에 대해 보다 세분화된 분석을 수행할지 여부(측면 기반 감정 분석이라고도 함). true로 설정하면 반환 SentenceSentiment 된 개체에는 이 분석 결과를 포함하는 속성 mined_opinions 있습니다. API 버전 v3.1 이상에서만 사용할 수 있습니다.
- language
- str
전체 일괄 처리에 대한 언어의 2자 ISO 639-1 표현입니다. 예를 들어 영어에는 "en"을 사용합니다. 스페인어 등에 대한 "es"입니다. 설정하지 않으면 영어에 "en"을 기본값으로 사용합니다. 문서별 언어가 전체 일괄 처리 언어보다 우선합니다. 언어 API에서 지원되는 언어를 참조하세요 https://aka.ms/talangs .
- model_version
- str
분석에 사용할 모델 버전(예: "latest")입니다. 모델 버전을 지정하지 않으면 API는 기본적으로 미리 보기가 아닌 최신 버전으로 설정됩니다. 자세한 내용은 여기를 참조하세요. https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
true로 설정하면 응답에는 문서 수준 응답의 통계 필드에 문서 수준 통계가 포함됩니다.
- string_index_type
- str
문자열 오프셋을 해석하는 데 사용되는 메서드를 지정합니다. Python 인코딩인 UnicodeCodePoint가 기본값입니다. Python 기본값을 재정의하려면 Utf16CodeUnit 또는 TextElement_v8 전달할 수도 있습니다. 자세한 내용은 https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
true로 설정하면 문제 해결을 위해 텍스트 입력을 서비스 쪽에 로그아웃합니다. 기본적으로 언어 서비스는 입력 텍스트를 48시간 동안 기록하므로 서비스의 자연어 처리 기능을 제공할 때 발생하는 문제를 해결할 수 있습니다. 이 매개 변수를 true로 설정하면 입력 로깅이 비활성화되고 발생하는 문제를 해결하는 기능이 제한됩니다. 자세한 내용은 에서 Cognitive Services 규정 준수 및 개인 정보 취급 방침 참고 https://aka.ms/cs-compliance 사항 및 Microsoft 책임 AI 원칙을 참조 https://www.microsoft.com/ai/responsible-ai하세요.
반환
원래 문서가 전달된 순서대로 및 DocumentError 의 AnalyzeSentimentResult 결합된 목록입니다.
반환 형식
예외
예제
문서 일괄 처리로 감정을 분석합니다.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
documents = [
"""I had the best day of my life. I decided to go sky-diving and it made me appreciate my whole life so much more.
I developed a deep-connection with my instructor as well, and I feel as if I've made a life-long friend in her.""",
"""This was a waste of my time. All of the views on this drop are extremely boring, all I saw was grass. 0/10 would
not recommend to any divers, even first timers.""",
"""This was pretty good! The sights were ok, and I had fun with my instructors! Can't complain too much about my experience""",
"""I only have one word for my experience: WOW!!! I can't believe I have had such a wonderful skydiving company right
in my backyard this whole time! I will definitely be a repeat customer, and I want to take my grandmother skydiving too,
I know she'll love it!"""
]
result = text_analytics_client.analyze_sentiment(documents, show_opinion_mining=True)
docs = [doc for doc in result if not doc.is_error]
print("Let's visualize the sentiment of each of these documents")
for idx, doc in enumerate(docs):
print(f"Document text: {documents[idx]}")
print(f"Overall sentiment: {doc.sentiment}")
begin_abstract_summary
장기 실행 추상화 요약 작업을 시작합니다.
추상적 요약에 대한 개념적 논의는 서비스 설명서를 참조하세요. https://video2.skills-academy.com/azure/cognitive-services/language-service/summarization/overview
버전 2023-04-01의 새로운 기능: begin_abstract_summary 클라이언트 메서드입니다.
begin_abstract_summary(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, model_version: str | None = None, string_index_type: str | None = None, sentence_count: int | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[AbstractiveSummaryResult | DocumentError]]
매개 변수
이 일괄 처리의 일부로 처리할 문서 집합입니다. 항목별로 ID 및 언어를 지정하려면 목록[TextDocumentInput] 또는 {"id"와 같은 의 dict 표현 TextDocumentInput목록(예 : "1", "language": "en", "text": "hello world"})으로 사용해야 합니다.
- language
- str
전체 일괄 처리에 대한 언어의 2자 ISO 639-1 표현입니다. 예를 들어 영어에는 "en"을 사용합니다. 스페인어 등에 대한 "es"입니다. 설정하지 않으면 영어에 "en"을 기본값으로 사용합니다. 문서별 언어가 전체 일괄 처리 언어보다 우선합니다. 언어 API에서 지원되는 언어를 참조하세요 https://aka.ms/talangs .
- show_stats
- bool
true로 설정하면 응답에 문서 수준 통계가 포함됩니다.
분석에 사용할 모델 버전(예: "latest")입니다. 모델 버전을 지정하지 않으면 API는 기본적으로 미리 보기가 아닌 최신 버전으로 설정됩니다. 자세한 내용은 여기를 참조하세요. https://aka.ms/text-analytics-model-versioning
- disable_service_logs
- bool
true로 설정하면 문제 해결을 위해 텍스트 입력을 서비스 쪽에 로그아웃합니다. 기본적으로 언어 서비스는 입력 텍스트를 48시간 동안 기록하므로 서비스의 자연어 처리 기능을 제공할 때 발생하는 문제를 해결할 수 있습니다. 이 매개 변수를 true로 설정하면 입력 로깅이 비활성화되고 발생하는 문제를 해결하는 기능이 제한됩니다. 자세한 내용은 에서 Cognitive Services 규정 준수 및 개인 정보 취급 방침 참고 https://aka.ms/cs-compliance 사항 및 Microsoft 책임 AI 원칙을 참조 https://www.microsoft.com/ai/responsible-ai하세요.
- polling_interval
- int
Retry-After 헤더가 없는 경우 LRO 작업에 대한 두 폴링 간의 대기 시간입니다. 기본값은 5초입니다.
- continuation_token
- str
폴러 개체에서 continuation_token() 를 호출하여 LRO(장기 실행 작업) 상태를 불투명 토큰에 저장합니다. 값을 continuation_token 키워드(keyword) 인수로 전달하여 저장된 상태에서 LRO를 다시 시작합니다.
- display_name
- str
요청된 분석에 설정할 선택적 표시 이름입니다.
반환
TextAnalysisLROPoller의 instance. 이 개체에서 result()를 호출하여 및 DocumentError의 AbstractiveSummaryResult 다른 유형의 페이저블을 반환합니다.
반환 형식
예외
예제
문서 일괄 처리에서 추상화 요약을 수행합니다.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
document = [
"At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, "
"human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI Cognitive "
"Services, I have been working with a team of amazing scientists and engineers to turn this quest into a "
"reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of "
"human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the "
"intersection of all three, there's magic-what we call XYZ-code as illustrated in Figure 1-a joint "
"representation to create more powerful AI that can speak, hear, see, and understand humans better. "
"We believe XYZ-code will enable us to fulfill our long-term vision: cross-domain transfer learning, "
"spanning modalities and languages. The goal is to have pretrained models that can jointly learn "
"representations to support a broad range of downstream AI tasks, much in the way humans do today. "
"Over the past five years, we have achieved human performance on benchmarks in conversational speech "
"recognition, machine translation, conversational question answering, machine reading comprehension, "
"and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious "
"aspiration to produce a leap in AI capabilities, achieving multisensory and multilingual learning that "
"is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational "
"component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
]
poller = text_analytics_client.begin_abstract_summary(document)
abstract_summary_results = poller.result()
for result in abstract_summary_results:
if result.kind == "AbstractiveSummarization":
print("Summaries abstracted:")
[print(f"{summary.text}\n") for summary in result.summaries]
elif result.is_error is True:
print("...Is an error with code '{}' and message '{}'".format(
result.error.code, result.error.message
))
begin_analyze_actions
장기 실행 작업을 시작하여 문서 일괄 처리에 대해 다양한 텍스트 분석 작업을 수행합니다.
더 큰 문서를 분석하거나 여러 텍스트 분석 작업을 하나의 호출로 결합하려는 경우 이 함수를 사용하는 것이 좋습니다. 그렇지 않으면 작업 특정 엔드포인트(예 analyze_sentiment: )를 사용하는 것이 좋습니다.
버전 v3.1의 새로운 기능: begin_analyze_actions 클라이언트 메서드입니다.
버전 2022-05-01의 새로운 기능: RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction 및 AnalyzeHealthcareEntitiesAction 입력 옵션 및 해당 RecognizeCustomEntitiesResult, ClassifyDocumentResult 및 AnalyzeHealthcareEntitiesResult 결과 개체
버전 2023-04-01의 새로운 기능: ExtractiveSummaryAction 및 AbstractiveSummaryAction 입력 옵션 및 해당 ExtractiveSummaryResult 및 AbstractiveSummaryResult 결과 개체입니다.
begin_analyze_actions(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], actions: List[RecognizeEntitiesAction | RecognizeLinkedEntitiesAction | RecognizePiiEntitiesAction | ExtractKeyPhrasesAction | AnalyzeSentimentAction | RecognizeCustomEntitiesAction | SingleLabelClassifyAction | MultiLabelClassifyAction | AnalyzeHealthcareEntitiesAction | ExtractiveSummaryAction | AbstractiveSummaryAction], *, continuation_token: str | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[List[RecognizeEntitiesResult | RecognizeLinkedEntitiesResult | RecognizePiiEntitiesResult | ExtractKeyPhrasesResult | AnalyzeSentimentResult | RecognizeCustomEntitiesResult | ClassifyDocumentResult | AnalyzeHealthcareEntitiesResult | ExtractiveSummaryResult | AbstractiveSummaryResult | DocumentError]]]
매개 변수
이 일괄 처리의 일부로 처리할 문서 집합입니다. 항목별로 ID 및 언어를 지정하려면 목록[TextDocumentInput] 또는 {"id"와 같은 의 dict 표현 TextDocumentInput목록(예 : "1", "language": "en", "text": "hello world"})으로 사용해야 합니다.
- actions
- list[RecognizeEntitiesAction 또는 RecognizePiiEntitiesAction 또는 ExtractKeyPhrasesAction 또는 RecognizeLinkedEntitiesAction 또는 AnalyzeSentimentAction 또는 RecognizeCustomEntitiesAction 또는 SingleLabelClassifyAction 또는 MultiLabelClassifyAction 또는 AnalyzeHealthcareEntitiesAction 또는 ExtractiveSummaryAction 또는 AbstractiveSummaryAction]
입력 문서에서 수행할 다른 유형의 작업 목록입니다. 각 작업 개체는 특정 작업 형식에 사용되는 매개 변수를 캡슐화합니다. 작업 결과는 입력 작업의 순서와 같습니다.
- display_name
- str
요청된 분석에 설정할 선택적 표시 이름입니다.
- language
- str
전체 일괄 처리에 대한 언어의 2자 ISO 639-1 표현입니다. 예를 들어 영어에는 "en"을 사용합니다. 스페인어 등에 대한 "es"입니다. 설정하지 않으면 영어에 "en"을 기본값으로 사용합니다. 문서별 언어가 전체 일괄 처리 언어보다 우선합니다. 언어 API에서 지원되는 언어를 참조하세요 https://aka.ms/talangs .
- show_stats
- bool
true로 설정하면 응답에 문서 수준 통계가 포함됩니다.
- polling_interval
- int
Retry-After 헤더가 없는 경우 LRO 작업에 대한 두 폴링 간의 대기 시간입니다. 기본값은 5초입니다.
- continuation_token
- str
폴러 개체에서 continuation_token() 를 호출하여 LRO(장기 실행 작업) 상태를 불투명 토큰에 저장합니다. 값을 continuation_token 키워드(keyword) 인수로 전달하여 저장된 상태에서 LRO를 다시 시작합니다.
반환
TextAnalysisLROPoller의 instance. 폴러 개체에서 result() 를 호출하여 페이지 형식이 다른 목록 목록을 반환합니다. 이 목록 목록은 먼저 입력한 문서에 따라 정렬된 다음 입력한 작업에 따라 정렬됩니다. 예를 들어 문서 입력 ["Hello", "world"] 및 actions RecognizeEntitiesAction 및 AnalyzeSentimentAction이 목록 목록을 반복할 때 먼저 "Hello" 문서의 RecognizeEntitiesResult 작업 결과를 반복하고 "Hello"의 를 얻은 다음 "Hello"의 를 AnalyzeSentimentResult 가져옵니다. 그러면 "world"의 및 AnalyzeSentimentResult 가 RecognizeEntitiesResult 표시됩니다.
반환 형식
예외
예제
장기 실행 작업을 시작하여 문서 일괄 처리에 대해 다양한 텍스트 분석 작업을 수행합니다.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import (
TextAnalyticsClient,
RecognizeEntitiesAction,
RecognizeLinkedEntitiesAction,
RecognizePiiEntitiesAction,
ExtractKeyPhrasesAction,
AnalyzeSentimentAction,
)
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
documents = [
'We went to Contoso Steakhouse located at midtown NYC last week for a dinner party, and we adore the spot! '
'They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is John Doe) '
'and he is super nice, coming out of the kitchen and greeted us all.'
,
'We enjoyed very much dining in the place! '
'The Sirloin steak I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their '
'online menu at www.contososteakhouse.com, call 312-555-0176 or send email to order@contososteakhouse.com! '
'The only complaint I have is the food didn\'t come fast enough. Overall I highly recommend it!'
]
poller = text_analytics_client.begin_analyze_actions(
documents,
display_name="Sample Text Analysis",
actions=[
RecognizeEntitiesAction(),
RecognizePiiEntitiesAction(),
ExtractKeyPhrasesAction(),
RecognizeLinkedEntitiesAction(),
AnalyzeSentimentAction(),
],
)
document_results = poller.result()
for doc, action_results in zip(documents, document_results):
print(f"\nDocument text: {doc}")
for result in action_results:
if result.kind == "EntityRecognition":
print("...Results of Recognize Entities Action:")
for entity in result.entities:
print(f"......Entity: {entity.text}")
print(f".........Category: {entity.category}")
print(f".........Confidence Score: {entity.confidence_score}")
print(f".........Offset: {entity.offset}")
elif result.kind == "PiiEntityRecognition":
print("...Results of Recognize PII Entities action:")
for pii_entity in result.entities:
print(f"......Entity: {pii_entity.text}")
print(f".........Category: {pii_entity.category}")
print(f".........Confidence Score: {pii_entity.confidence_score}")
elif result.kind == "KeyPhraseExtraction":
print("...Results of Extract Key Phrases action:")
print(f"......Key Phrases: {result.key_phrases}")
elif result.kind == "EntityLinking":
print("...Results of Recognize Linked Entities action:")
for linked_entity in result.entities:
print(f"......Entity name: {linked_entity.name}")
print(f".........Data source: {linked_entity.data_source}")
print(f".........Data source language: {linked_entity.language}")
print(
f".........Data source entity ID: {linked_entity.data_source_entity_id}"
)
print(f".........Data source URL: {linked_entity.url}")
print(".........Document matches:")
for match in linked_entity.matches:
print(f"............Match text: {match.text}")
print(f"............Confidence Score: {match.confidence_score}")
print(f"............Offset: {match.offset}")
print(f"............Length: {match.length}")
elif result.kind == "SentimentAnalysis":
print("...Results of Analyze Sentiment action:")
print(f"......Overall sentiment: {result.sentiment}")
print(
f"......Scores: positive={result.confidence_scores.positive}; \
neutral={result.confidence_scores.neutral}; \
negative={result.confidence_scores.negative} \n"
)
elif result.is_error is True:
print(
f"...Is an error with code '{result.error.code}' and message '{result.error.message}'"
)
print("------------------------------------------")
begin_analyze_healthcare_entities
의료 엔터티를 분석하고 문서 일괄 처리에서 이러한 엔터티 간의 관계를 식별합니다.
엔터티는 UMLS, CHV, MSH 등과 같은 기존 기술 자료에서 찾을 수 있는 참조와 연결됩니다.
우리는 또한 엔터티 간에 발견 된 관계를 추출, 예를 들어 "주제했다 100 이부프로펜의 mg", 우리는 사이의 관계를 추출 할 것 "100 mg" 복용량과 "이부프로펜" 약물.
버전 v3.1의 새로운 기능: begin_analyze_healthcare_entities 클라이언트 메서드입니다.
버전 2022-05-01의 새로운 기능: display_name 키워드(keyword) 인수입니다.
begin_analyze_healthcare_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, model_version: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> AnalyzeHealthcareEntitiesLROPoller[ItemPaged[AnalyzeHealthcareEntitiesResult | DocumentError]]
매개 변수
이 일괄 처리의 일부로 처리할 문서 집합입니다. 항목별로 ID 및 언어를 지정하려면 목록[TextDocumentInput] 또는 {"id"와 같은 의 dict 표현 TextDocumentInput목록(예 : "1", "language": "en", "text": "hello world"})으로 사용해야 합니다.
- model_version
- str
분석에 사용할 모델 버전(예: "latest")입니다. 모델 버전을 지정하지 않으면 API는 기본적으로 미리 보기가 아닌 최신 버전으로 설정됩니다. 자세한 내용은 여기를 참조하세요. https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
true로 설정하면 응답에 문서 수준 통계가 포함됩니다.
- language
- str
전체 일괄 처리에 대한 언어의 2자 ISO 639-1 표현입니다. 예를 들어 영어에는 "en"을 사용합니다. 스페인어 등에 대한 "es"입니다. 설정하지 않으면 영어에 "en"을 기본값으로 사용합니다. 문서별 언어가 전체 일괄 처리 언어보다 우선합니다. 언어 API에서 지원되는 언어를 참조하세요 https://aka.ms/talangs .
- display_name
- str
요청된 분석에 설정할 선택적 표시 이름입니다.
- string_index_type
- str
문자열 오프셋을 해석하는 데 사용되는 메서드를 지정합니다. Python 인코딩인 UnicodeCodePoint가 기본값입니다. Python 기본값을 재정의하려면 Utf16CodeUnit 또는 TextElement_v8 전달할 수도 있습니다. 자세한 내용은 https://aka.ms/text-analytics-offsets
- polling_interval
- int
Retry-After 헤더가 없는 경우 LRO 작업에 대한 두 폴링 간의 대기 시간입니다. 기본값은 5초입니다.
- continuation_token
- str
폴러 개체에서 continuation_token() 를 호출하여 LRO(장기 실행 작업) 상태를 불투명 토큰에 저장합니다. 값을 continuation_token 키워드(keyword) 인수로 전달하여 저장된 상태에서 LRO를 다시 시작합니다.
- disable_service_logs
- bool
기본값은 true입니다. 즉, 언어 서비스는 문제 해결을 위해 서비스 쪽에서 입력 텍스트를 기록하지 않습니다. False로 설정하면 언어 서비스는 입력 텍스트를 48시간 동안 기록하므로 서비스의 자연어 처리 기능을 제공할 때 발생하는 문제를 해결할 수 있습니다. 자세한 내용은 에서 Cognitive Services 규정 준수 및 개인 정보 취급 방침 참고 https://aka.ms/cs-compliance 사항 및 Microsoft 책임 AI 원칙을 참조 https://www.microsoft.com/ai/responsible-ai하세요.
반환
AnalyzeHealthcareEntitiesLROPoller의 instance. 이 개체에서 result()를 호출하여 및 DocumentError의 AnalyzeHealthcareEntitiesResult 다른 유형의 페이저블을 반환합니다.
반환 형식
예외
예제
문서 일괄 처리에서 의료 엔터티를 인식합니다.
import os
import typing
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient, HealthcareEntityRelation
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
documents = [
"""
Patient needs to take 100 mg of ibuprofen, and 3 mg of potassium. Also needs to take
10 mg of Zocor.
""",
"""
Patient needs to take 50 mg of ibuprofen, and 2 mg of Coumadin.
"""
]
poller = text_analytics_client.begin_analyze_healthcare_entities(documents)
result = poller.result()
docs = [doc for doc in result if not doc.is_error]
print("Let's first visualize the outputted healthcare result:")
for doc in docs:
for entity in doc.entities:
print(f"Entity: {entity.text}")
print(f"...Normalized Text: {entity.normalized_text}")
print(f"...Category: {entity.category}")
print(f"...Subcategory: {entity.subcategory}")
print(f"...Offset: {entity.offset}")
print(f"...Confidence score: {entity.confidence_score}")
if entity.data_sources is not None:
print("...Data Sources:")
for data_source in entity.data_sources:
print(f"......Entity ID: {data_source.entity_id}")
print(f"......Name: {data_source.name}")
if entity.assertion is not None:
print("...Assertion:")
print(f"......Conditionality: {entity.assertion.conditionality}")
print(f"......Certainty: {entity.assertion.certainty}")
print(f"......Association: {entity.assertion.association}")
for relation in doc.entity_relations:
print(f"Relation of type: {relation.relation_type} has the following roles")
for role in relation.roles:
print(f"...Role '{role.name}' with entity '{role.entity.text}'")
print("------------------------------------------")
print("Now, let's get all of medication dosage relations from the documents")
dosage_of_medication_relations = [
entity_relation
for doc in docs
for entity_relation in doc.entity_relations if entity_relation.relation_type == HealthcareEntityRelation.DOSAGE_OF_MEDICATION
]
begin_extract_summary
장기 실행 추출 요약 작업을 시작합니다.
추출 요약에 대한 개념적 논의는 서비스 설명서를 참조하세요. https://video2.skills-academy.com/azure/cognitive-services/language-service/summarization/overview
버전 2023-04-01의 새로운 기능: begin_extract_summary 클라이언트 메서드입니다.
begin_extract_summary(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, model_version: str | None = None, string_index_type: str | None = None, max_sentence_count: int | None = None, order_by: Literal['Rank', 'Offset'] | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[ExtractiveSummaryResult | DocumentError]]
매개 변수
이 일괄 처리의 일부로 처리할 문서 집합입니다. 항목별로 ID 및 언어를 지정하려면 목록[TextDocumentInput] 또는 {"id"와 같은 의 dict 표현 TextDocumentInput목록(예 : "1", "language": "en", "text": "hello world"})으로 사용해야 합니다.
- language
- str
전체 일괄 처리에 대한 언어의 2자 ISO 639-1 표현입니다. 예를 들어 영어에는 "en"을 사용합니다. 스페인어 등에 대한 "es"입니다. 설정하지 않으면 영어에 "en"을 기본값으로 사용합니다. 문서별 언어가 전체 일괄 처리 언어보다 우선합니다. 언어 API에서 지원되는 언어를 참조하세요 https://aka.ms/talangs .
- show_stats
- bool
true로 설정하면 응답에 문서 수준 통계가 포함됩니다.
분석에 사용할 모델 버전(예: "latest")입니다. 모델 버전을 지정하지 않으면 API는 기본적으로 미리 보기가 아닌 최신 버전으로 설정됩니다. 자세한 내용은 여기를 참조하세요. https://aka.ms/text-analytics-model-versioning
- disable_service_logs
- bool
true로 설정하면 문제 해결을 위해 텍스트 입력을 서비스 쪽에 로그아웃합니다. 기본적으로 언어 서비스는 입력 텍스트를 48시간 동안 기록하므로 서비스의 자연어 처리 기능을 제공할 때 발생하는 문제를 해결할 수 있습니다. 이 매개 변수를 true로 설정하면 입력 로깅이 비활성화되고 발생하는 문제를 해결하는 기능이 제한됩니다. 자세한 내용은 에서 Cognitive Services 규정 준수 및 개인 정보 취급 방침 참고 https://aka.ms/cs-compliance 사항 및 Microsoft 책임 AI 원칙을 참조 https://www.microsoft.com/ai/responsible-ai하세요.
- polling_interval
- int
Retry-After 헤더가 없는 경우 LRO 작업에 대한 두 폴링 간의 대기 시간입니다. 기본값은 5초입니다.
- continuation_token
- str
폴러 개체에서 continuation_token() 를 호출하여 LRO(장기 실행 작업) 상태를 불투명 토큰에 저장합니다. 값을 continuation_token 키워드(keyword) 인수로 전달하여 저장된 상태에서 LRO를 다시 시작합니다.
- display_name
- str
요청된 분석에 설정할 선택적 표시 이름입니다.
반환
TextAnalysisLROPoller의 instance. 이 개체에서 result()를 호출하여 및 DocumentError의 ExtractiveSummaryResult 다른 유형의 페이저블을 반환합니다.
반환 형식
예외
예제
문서 일괄 처리에서 추출 요약을 수행합니다.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
document = [
"At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, "
"human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI Cognitive "
"Services, I have been working with a team of amazing scientists and engineers to turn this quest into a "
"reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of "
"human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the "
"intersection of all three, there's magic-what we call XYZ-code as illustrated in Figure 1-a joint "
"representation to create more powerful AI that can speak, hear, see, and understand humans better. "
"We believe XYZ-code will enable us to fulfill our long-term vision: cross-domain transfer learning, "
"spanning modalities and languages. The goal is to have pretrained models that can jointly learn "
"representations to support a broad range of downstream AI tasks, much in the way humans do today. "
"Over the past five years, we have achieved human performance on benchmarks in conversational speech "
"recognition, machine translation, conversational question answering, machine reading comprehension, "
"and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious "
"aspiration to produce a leap in AI capabilities, achieving multisensory and multilingual learning that "
"is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational "
"component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
]
poller = text_analytics_client.begin_extract_summary(document)
extract_summary_results = poller.result()
for result in extract_summary_results:
if result.kind == "ExtractiveSummarization":
print("Summary extracted: \n{}".format(
" ".join([sentence.text for sentence in result.sentences]))
)
elif result.is_error is True:
print("...Is an error with code '{}' and message '{}'".format(
result.error.code, result.error.message
))
begin_multi_label_classify
장기 실행 사용자 지정 다중 레이블 분류 작업을 시작합니다.
사용자 지정 기능의 지역 지원 및 문서를 분류하는 모델을 학습시키는 방법에 대한 자세한 내용은 https://aka.ms/azsdk/textanalytics/customfunctionalities
버전 2022-05-01의 새로운 기능: begin_multi_label_classify 클라이언트 메서드입니다.
begin_multi_label_classify(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], project_name: str, deployment_name: str, *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[ClassifyDocumentResult | DocumentError]]
매개 변수
이 일괄 처리의 일부로 처리할 문서 집합입니다. 항목별로 ID 및 언어를 지정하려면 목록[TextDocumentInput] 또는 {"id"와 같은 의 dict 표현 TextDocumentInput목록(예 : "1", "language": "en", "text": "hello world"})으로 사용해야 합니다.
- language
- str
전체 일괄 처리에 대한 언어의 2자 ISO 639-1 표현입니다. 예를 들어 영어에는 "en"을 사용합니다. 스페인어 등에 대한 "es"입니다. 설정하지 않으면 영어에 "en"을 기본값으로 사용합니다. 문서별 언어가 전체 일괄 처리 언어보다 우선합니다. 언어 API에서 지원되는 언어를 참조하세요 https://aka.ms/talangs .
- show_stats
- bool
true로 설정하면 응답에 문서 수준 통계가 포함됩니다.
- disable_service_logs
- bool
true로 설정하면 문제 해결을 위해 텍스트 입력을 서비스 쪽에 로그아웃합니다. 기본적으로 언어 서비스는 입력 텍스트를 48시간 동안 기록하므로 서비스의 자연어 처리 기능을 제공할 때 발생하는 문제를 해결할 수 있습니다. 이 매개 변수를 true로 설정하면 입력 로깅이 비활성화되고 발생하는 문제를 해결하는 기능이 제한됩니다. 자세한 내용은 에서 Cognitive Services 규정 준수 및 개인 정보 취급 방침 참고 https://aka.ms/cs-compliance 사항 및 Microsoft 책임 AI 원칙을 참조 https://www.microsoft.com/ai/responsible-ai하세요.
- polling_interval
- int
Retry-After 헤더가 없는 경우 LRO 작업에 대한 두 폴링 간의 대기 시간입니다. 기본값은 5초입니다.
- continuation_token
- str
폴러 개체에서 continuation_token() 를 호출하여 LRO(장기 실행 작업) 상태를 불투명 토큰에 저장합니다. 값을 continuation_token 키워드(keyword) 인수로 전달하여 저장된 상태에서 LRO를 다시 시작합니다.
- display_name
- str
요청된 분석에 설정할 선택적 표시 이름입니다.
반환
TextAnalysisLROPoller의 instance. 이 개체에서 result()를 호출하여 및 DocumentError의 ClassifyDocumentResult 다른 유형의 페이저블을 반환합니다.
반환 형식
예외
예제
문서 일괄 처리에서 다중 레이블 분류를 수행합니다.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
project_name = os.environ["MULTI_LABEL_CLASSIFY_PROJECT_NAME"]
deployment_name = os.environ["MULTI_LABEL_CLASSIFY_DEPLOYMENT_NAME"]
path_to_sample_document = os.path.abspath(
os.path.join(
os.path.abspath(__file__),
"..",
"./text_samples/custom_classify_sample.txt",
)
)
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
with open(path_to_sample_document) as fd:
document = [fd.read()]
poller = text_analytics_client.begin_multi_label_classify(
document,
project_name=project_name,
deployment_name=deployment_name
)
document_results = poller.result()
for doc, classification_result in zip(document, document_results):
if classification_result.kind == "CustomDocumentClassification":
classifications = classification_result.classifications
print(f"\nThe movie plot '{doc}' was classified as the following genres:\n")
for classification in classifications:
print("'{}' with confidence score {}.".format(
classification.category, classification.confidence_score
))
elif classification_result.is_error is True:
print("Movie plot '{}' has an error with code '{}' and message '{}'".format(
doc, classification_result.error.code, classification_result.error.message
))
begin_recognize_custom_entities
장기 실행 사용자 지정 명명된 엔터티 인식 작업을 시작합니다.
사용자 지정 기능의 지역 지원 및 사용자 지정 엔터티를 인식하도록 모델을 학습하는 방법에 대한 자세한 내용은 https://aka.ms/azsdk/textanalytics/customentityrecognition
버전 2022-05-01의 새로운 기능: begin_recognize_custom_entities 클라이언트 메서드입니다.
begin_recognize_custom_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], project_name: str, deployment_name: str, *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[RecognizeCustomEntitiesResult | DocumentError]]
매개 변수
이 일괄 처리의 일부로 처리할 문서 집합입니다. 항목별로 ID 및 언어를 지정하려면 목록[TextDocumentInput] 또는 {"id"와 같은 의 dict 표현 TextDocumentInput목록(예 : "1", "language": "en", "text": "hello world"})으로 사용해야 합니다.
- language
- str
전체 일괄 처리에 대한 언어의 2자 ISO 639-1 표현입니다. 예를 들어 영어에는 "en"을 사용합니다. 스페인어 등에 대한 "es"입니다. 설정하지 않으면 영어에 "en"을 기본값으로 사용합니다. 문서별 언어가 전체 일괄 처리 언어보다 우선합니다. 언어 API에서 지원되는 언어를 참조하세요 https://aka.ms/talangs .
- show_stats
- bool
true로 설정하면 응답에 문서 수준 통계가 포함됩니다.
- disable_service_logs
- bool
true로 설정하면 문제 해결을 위해 텍스트 입력을 서비스 쪽에 로그아웃합니다. 기본적으로 언어 서비스는 입력 텍스트를 48시간 동안 기록하며, 서비스의 자연어 처리 기능을 제공하는 문제 해결을 위해서만 허용합니다. 이 매개 변수를 true로 설정하면 입력 로깅이 비활성화되고 발생하는 문제를 해결하는 기능이 제한됩니다. 자세한 내용은 에서 Cognitive Services 규정 준수 및 개인 정보 취급 방침을 https://aka.ms/cs-compliance 참조하고 에서 Microsoft 책임 있는 AI 원칙을 https://www.microsoft.com/ai/responsible-ai참조하세요.
- string_index_type
- str
문자열 오프셋을 해석하는 데 사용되는 메서드를 지정합니다. Python 인코딩인 UnicodeCodePoint가 기본값입니다. Python 기본값을 재정의하려면 Utf16CodeUnit 또는 TextElement_v8 전달할 수도 있습니다. 자세한 내용은 https://aka.ms/text-analytics-offsets
- polling_interval
- int
Retry-After 헤더가 없는 경우 LRO 작업에 대한 두 폴링 간의 대기 시간입니다. 기본값은 5초입니다.
- continuation_token
- str
폴러 개체에서 continuation_token() 를 호출하여 LRO(장기 실행 작업) 상태를 불투명 토큰에 저장합니다. 값을 continuation_token 키워드(keyword) 인수로 전달하여 저장된 상태에서 LRO를 다시 시작합니다.
- display_name
- str
요청된 분석에 대해 설정할 선택적 표시 이름입니다.
반환
TextAnalysisLROPoller의 instance. 이 개체에서 result()를 호출하여 및 DocumentError의 RecognizeCustomEntitiesResult 다른 유형의 페이저블을 반환합니다.
반환 형식
예외
예제
문서 일괄 처리에서 사용자 지정 엔터티를 인식합니다.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
project_name = os.environ["CUSTOM_ENTITIES_PROJECT_NAME"]
deployment_name = os.environ["CUSTOM_ENTITIES_DEPLOYMENT_NAME"]
path_to_sample_document = os.path.abspath(
os.path.join(
os.path.abspath(__file__),
"..",
"./text_samples/custom_entities_sample.txt",
)
)
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
with open(path_to_sample_document) as fd:
document = [fd.read()]
poller = text_analytics_client.begin_recognize_custom_entities(
document,
project_name=project_name,
deployment_name=deployment_name
)
document_results = poller.result()
for custom_entities_result in document_results:
if custom_entities_result.kind == "CustomEntityRecognition":
for entity in custom_entities_result.entities:
print(
"Entity '{}' has category '{}' with confidence score of '{}'".format(
entity.text, entity.category, entity.confidence_score
)
)
elif custom_entities_result.is_error is True:
print("...Is an error with code '{}' and message '{}'".format(
custom_entities_result.error.code, custom_entities_result.error.message
)
)
begin_single_label_classify
장기 실행 사용자 지정 단일 레이블 분류 작업을 시작합니다.
사용자 지정 기능의 지역 지원 및 문서를 분류하는 모델을 학습시키는 방법에 대한 자세한 내용은 다음을 참조하세요. https://aka.ms/azsdk/textanalytics/customfunctionalities
버전 2022-05-01의 새로운 기능: begin_single_label_classify 클라이언트 메서드입니다.
begin_single_label_classify(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], project_name: str, deployment_name: str, *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[ClassifyDocumentResult | DocumentError]]
매개 변수
이 일괄 처리의 일부로 처리할 문서 집합입니다. 항목별로 ID 및 언어를 지정하려면 목록[TextDocumentInput] 또는 {"id": "1", "language": "en", "text": "hello world"}와 같은 의 dict 표현 TextDocumentInput목록으로 사용해야 합니다.
- language
- str
전체 일괄 처리에 대한 언어의 2자 ISO 639-1 표현입니다. 예를 들어 영어에는 "en"을 사용합니다. 스페인어 등에 대한 "es". 설정되지 않은 경우 는 영어에 "en"을 기본값으로 사용합니다. 문서별 언어가 전체 일괄 처리 언어보다 우선합니다. 언어 API에서 지원되는 언어를 참조하세요 https://aka.ms/talangs .
- show_stats
- bool
true로 설정하면 응답에 문서 수준 통계가 포함됩니다.
- disable_service_logs
- bool
true로 설정하면 문제 해결을 위해 텍스트 입력을 서비스 쪽에 로그아웃합니다. 기본적으로 언어 서비스는 입력 텍스트를 48시간 동안 기록하며, 서비스의 자연어 처리 기능을 제공하는 문제 해결을 위해서만 허용합니다. 이 매개 변수를 true로 설정하면 입력 로깅이 비활성화되고 발생하는 문제를 해결하는 기능이 제한됩니다. 자세한 내용은 에서 Cognitive Services 규정 준수 및 개인 정보 취급 방침을 https://aka.ms/cs-compliance 참조하고 에서 Microsoft 책임 있는 AI 원칙을 https://www.microsoft.com/ai/responsible-ai참조하세요.
- polling_interval
- int
Retry-After 헤더가 없는 경우 LRO 작업에 대한 두 폴링 간의 대기 시간입니다. 기본값은 5초입니다.
- continuation_token
- str
폴러 개체에서 continuation_token() 를 호출하여 LRO(장기 실행 작업) 상태를 불투명 토큰에 저장합니다. 값을 continuation_token 키워드(keyword) 인수로 전달하여 저장된 상태에서 LRO를 다시 시작합니다.
- display_name
- str
요청된 분석에 대해 설정할 선택적 표시 이름입니다.
반환
TextAnalysisLROPoller의 instance. 이 개체에서 result()를 호출하여 및 DocumentError의 ClassifyDocumentResult 다른 유형의 페이저블을 반환합니다.
반환 형식
예외
예제
문서 일괄 처리에서 단일 레이블 분류를 수행합니다.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
project_name = os.environ["SINGLE_LABEL_CLASSIFY_PROJECT_NAME"]
deployment_name = os.environ["SINGLE_LABEL_CLASSIFY_DEPLOYMENT_NAME"]
path_to_sample_document = os.path.abspath(
os.path.join(
os.path.abspath(__file__),
"..",
"./text_samples/custom_classify_sample.txt",
)
)
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
with open(path_to_sample_document) as fd:
document = [fd.read()]
poller = text_analytics_client.begin_single_label_classify(
document,
project_name=project_name,
deployment_name=deployment_name
)
document_results = poller.result()
for doc, classification_result in zip(document, document_results):
if classification_result.kind == "CustomDocumentClassification":
classification = classification_result.classifications[0]
print("The document text '{}' was classified as '{}' with confidence score {}.".format(
doc, classification.category, classification.confidence_score)
)
elif classification_result.is_error is True:
print("Document text '{}' has an error with code '{}' and message '{}'".format(
doc, classification_result.error.code, classification_result.error.message
))
close
클라이언트에서 연 소켓을 닫습니다. 클라이언트를 컨텍스트 관리자로 사용할 때는 이 메서드를 호출할 필요가 없습니다.
close() -> None
예외
detect_language
문서 일괄 처리에 대한 언어를 검색합니다.
검색된 언어와 0과 1 사이의 숫자 점수를 반환합니다. 1에 가까운 점수는 식별된 언어가 true임을 100% 확실하게 나타냅니다. 사용 가능한 언어 목록은 를 참조 https://aka.ms/talangs 하세요.
서비스 데이터 제한은 를 참조 https://aka.ms/azsdk/textanalytics/data-limits 하세요.
버전 v3.1의 새로운 기능: disable_service_logs 키워드(keyword) 인수입니다.
detect_language(documents: List[str] | List[DetectLanguageInput] | List[Dict[str, str]], *, country_hint: str | None = None, disable_service_logs: bool | None = None, model_version: str | None = None, show_stats: bool | None = None, **kwargs: Any) -> List[DetectLanguageResult | DocumentError]
매개 변수
이 일괄 처리의 일부로 처리할 문서 집합입니다. 항목별로 ID 및 country_hint 지정하려면 목록[DetectLanguageInput] 또는 {"id": "1", "country_hint": "us", "text": "hello world"}와 같은 의 dict 표현 DetectLanguageInput목록으로 사용해야 합니다.
- country_hint
- str
전체 일괄 처리에 대한 원본 국가 힌트입니다. ISO 3166-1 alpha-2에서 지정한 두 개의 문자 국가 코드를 허용합니다. 문서별 국가 힌트는 전체 일괄 처리 힌트보다 우선합니다. 기본값은 "US"입니다. 국가 힌트를 사용하지 않으려면 문자열 "none"을 전달합니다.
- model_version
- str
분석에 사용할 모델 버전(예: "latest")입니다. 모델 버전을 지정하지 않으면 API는 기본적으로 미리 보기가 아닌 최신 버전으로 설정됩니다. 자세한 내용은 여기를 참조하세요. https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
true로 설정하면 응답에 문서 수준 응답의 통계 필드에 문서 수준 통계가 포함됩니다.
- disable_service_logs
- bool
true로 설정하면 문제 해결을 위해 텍스트 입력을 서비스 쪽에 로그아웃합니다. 기본적으로 언어 서비스는 입력 텍스트를 48시간 동안 기록하며, 서비스의 자연어 처리 기능을 제공하는 문제 해결을 위해서만 허용합니다. 이 매개 변수를 true로 설정하면 입력 로깅이 비활성화되고 발생하는 문제를 해결하는 기능이 제한됩니다. 자세한 내용은 에서 Cognitive Services 규정 준수 및 개인 정보 취급 방침을 https://aka.ms/cs-compliance 참조하고 에서 Microsoft 책임 있는 AI 원칙을 https://www.microsoft.com/ai/responsible-ai참조하세요.
반환
원래 문서가 전달된 순서대로 및 DocumentError 의 DetectLanguageResult 결합된 목록입니다.
반환 형식
예외
예제
문서 일괄 처리에서 언어 검색
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
documents = [
"""
The concierge Paulette was extremely helpful. Sadly when we arrived the elevator was broken, but with Paulette's help we barely noticed this inconvenience.
She arranged for our baggage to be brought up to our room with no extra charge and gave us a free meal to refurbish all of the calories we lost from
walking up the stairs :). Can't say enough good things about my experience!
""",
"""
最近由于工作压力太大,我们决定去富酒店度假。那儿的温泉实在太舒服了,我跟我丈夫都完全恢复了工作前的青春精神!加油!
"""
]
result = text_analytics_client.detect_language(documents)
reviewed_docs = [doc for doc in result if not doc.is_error]
print("Let's see what language each review is in!")
for idx, doc in enumerate(reviewed_docs):
print("Review #{} is in '{}', which has ISO639-1 name '{}'\n".format(
idx, doc.primary_language.name, doc.primary_language.iso6391_name
))
extract_key_phrases
문서 일괄 처리에서 핵심 구를 추출합니다.
입력 텍스트의 핵심 구를 나타내는 문자열 목록을 반환합니다. 예를 들어 "음식이 맛있었고 훌륭한 직원이 있었다"는 입력 텍스트의 경우 API는 "음식"과 "훌륭한 직원"이라는 기본 대화 포인트를 반환합니다.
서비스 데이터 제한은 를 참조 https://aka.ms/azsdk/textanalytics/data-limits 하세요.
버전 v3.1의 새로운 기능: disable_service_logs 키워드(keyword) 인수입니다.
extract_key_phrases(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, disable_service_logs: bool | None = None, language: str | None = None, model_version: str | None = None, show_stats: bool | None = None, **kwargs: Any) -> List[ExtractKeyPhrasesResult | DocumentError]
매개 변수
이 일괄 처리의 일부로 처리할 문서 집합입니다. 항목별로 ID 및 언어를 지정하려면 목록[TextDocumentInput] 또는 {"id": "1", "language": "en", "text": "hello world"}와 같은 의 dict 표현 TextDocumentInput목록으로 사용해야 합니다.
- language
- str
전체 일괄 처리에 대한 언어의 2자 ISO 639-1 표현입니다. 예를 들어 영어에는 "en"을 사용합니다. 스페인어 등에 대한 "es". 설정되지 않은 경우 는 영어에 "en"을 기본값으로 사용합니다. 문서별 언어가 전체 일괄 처리 언어보다 우선합니다. 언어 API에서 지원되는 언어를 참조하세요 https://aka.ms/talangs .
- model_version
- str
분석에 사용할 모델 버전(예: "latest")입니다. 모델 버전을 지정하지 않으면 API는 기본적으로 미리 보기가 아닌 최신 버전으로 설정됩니다. 자세한 내용은 여기를 참조하세요. https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
true로 설정하면 응답에 문서 수준 응답의 통계 필드에 문서 수준 통계가 포함됩니다.
- disable_service_logs
- bool
true로 설정하면 문제 해결을 위해 텍스트 입력을 서비스 쪽에 로그아웃합니다. 기본적으로 언어 서비스는 입력 텍스트를 48시간 동안 기록하며, 서비스의 자연어 처리 기능을 제공하는 문제 해결을 위해서만 허용합니다. 이 매개 변수를 true로 설정하면 입력 로깅이 비활성화되고 발생하는 문제를 해결하는 기능이 제한됩니다. 자세한 내용은 에서 Cognitive Services 규정 준수 및 개인 정보 취급 방침을 https://aka.ms/cs-compliance 참조하고 에서 Microsoft 책임 있는 AI 원칙을 https://www.microsoft.com/ai/responsible-ai참조하세요.
반환
원래 문서가 전달된 순서대로 및 DocumentError 의 ExtractKeyPhrasesResult 결합된 목록입니다.
반환 형식
예외
예제
문서 일괄 처리에서 핵심 구를 추출합니다.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
articles = [
"""
Washington, D.C. Autumn in DC is a uniquely beautiful season. The leaves fall from the trees
in a city chock-full of forests, leaving yellow leaves on the ground and a clearer view of the
blue sky above...
""",
"""
Redmond, WA. In the past few days, Microsoft has decided to further postpone the start date of
its United States workers, due to the pandemic that rages with no end in sight...
""",
"""
Redmond, WA. Employees at Microsoft can be excited about the new coffee shop that will open on campus
once workers no longer have to work remotely...
"""
]
result = text_analytics_client.extract_key_phrases(articles)
for idx, doc in enumerate(result):
if not doc.is_error:
print("Key phrases in article #{}: {}".format(
idx + 1,
", ".join(doc.key_phrases)
))
recognize_entities
문서 일괄 처리에 대한 엔터티를 인식합니다.
텍스트의 엔터티를 사람, 장소, 조직, 날짜/시간, 수량, 백분율, 통화 등으로 식별하고 분류합니다. 지원되는 엔터티 형식 목록은 다음을 검사.https://aka.ms/taner
서비스 데이터 제한은 를 참조 https://aka.ms/azsdk/textanalytics/data-limits 하세요.
버전 v3.1의 새로운 기능: disable_service_logs 및 string_index_type 키워드(keyword) 인수입니다.
recognize_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, disable_service_logs: bool | None = None, language: str | None = None, model_version: str | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> List[RecognizeEntitiesResult | DocumentError]
매개 변수
이 일괄 처리의 일부로 처리할 문서 집합입니다. 항목별로 ID 및 언어를 지정하려면 목록[TextDocumentInput] 또는 {"id": "1", "language": "en", "text": "hello world"}와 같은 의 dict 표현 TextDocumentInput목록으로 사용해야 합니다.
- language
- str
전체 일괄 처리에 대한 언어의 2자 ISO 639-1 표현입니다. 예를 들어 영어에는 "en"을 사용합니다. 스페인어 등에 대한 "es". 설정되지 않은 경우 는 영어에 "en"을 기본값으로 사용합니다. 문서별 언어가 전체 일괄 처리 언어보다 우선합니다. 언어 API에서 지원되는 언어를 참조하세요 https://aka.ms/talangs .
- model_version
- str
분석에 사용할 모델 버전(예: "latest")입니다. 모델 버전을 지정하지 않으면 API는 기본적으로 미리 보기가 아닌 최신 버전으로 설정됩니다. 자세한 내용은 여기를 참조하세요. https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
true로 설정하면 응답에 문서 수준 응답의 통계 필드에 문서 수준 통계가 포함됩니다.
- string_index_type
- str
문자열 오프셋을 해석하는 데 사용되는 메서드를 지정합니다. Python 인코딩인 UnicodeCodePoint가 기본값입니다. Python 기본값을 재정의하려면 Utf16CodeUnit 또는 TextElement_v8 전달할 수도 있습니다. 자세한 내용은 https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
true로 설정하면 문제 해결을 위해 텍스트 입력을 서비스 쪽에 로그아웃합니다. 기본적으로 언어 서비스는 입력 텍스트를 48시간 동안 기록하므로 서비스의 자연어 처리 기능을 제공할 때 발생하는 문제를 해결할 수 있습니다. 이 매개 변수를 true로 설정하면 입력 로깅이 비활성화되고 발생하는 문제를 해결하는 기능이 제한됩니다. 자세한 내용은 에서 Cognitive Services 규정 준수 및 개인 정보 취급 방침 참고 https://aka.ms/cs-compliance 사항 및 Microsoft 책임 AI 원칙을 참조 https://www.microsoft.com/ai/responsible-ai하세요.
반환
원래 문서가 전달된 순서대로 및 DocumentError 의 RecognizeEntitiesResult 결합된 목록입니다.
반환 형식
예외
예제
문서 일괄 처리에서 엔터티를 인식합니다.
import os
import typing
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
reviews = [
"""I work for Foo Company, and we hired Contoso for our annual founding ceremony. The food
was amazing and we all can't say enough good words about the quality and the level of service.""",
"""We at the Foo Company re-hired Contoso after all of our past successes with the company.
Though the food was still great, I feel there has been a quality drop since their last time
catering for us. Is anyone else running into the same problem?""",
"""Bar Company is over the moon about the service we received from Contoso, the best sliders ever!!!!"""
]
result = text_analytics_client.recognize_entities(reviews)
result = [review for review in result if not review.is_error]
organization_to_reviews: typing.Dict[str, typing.List[str]] = {}
for idx, review in enumerate(result):
for entity in review.entities:
print(f"Entity '{entity.text}' has category '{entity.category}'")
if entity.category == 'Organization':
organization_to_reviews.setdefault(entity.text, [])
organization_to_reviews[entity.text].append(reviews[idx])
for organization, reviews in organization_to_reviews.items():
print(
"\n\nOrganization '{}' has left us the following review(s): {}".format(
organization, "\n\n".join(reviews)
)
)
recognize_linked_entities
문서 일괄 처리에 대해 잘 알려진 기술 자료 연결된 엔터티를 인식합니다.
텍스트에 있는 각 엔터티의 ID를 식별 및 구분합니다(예: 화성이라는 단어가 행성을 참조하는지 아니면 로마 전쟁의 신을 가리키는지 결정). 인식된 엔터티는 위키백과 같은 잘 알려진 기술 자료 URL과 연결됩니다.
서비스 데이터 제한은 를 참조 https://aka.ms/azsdk/textanalytics/data-limits 하세요.
버전 v3.1의 새로운 기능: disable_service_logs 및 string_index_type 키워드(keyword) 인수입니다.
recognize_linked_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, disable_service_logs: bool | None = None, language: str | None = None, model_version: str | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> List[RecognizeLinkedEntitiesResult | DocumentError]
매개 변수
이 일괄 처리의 일부로 처리할 문서 집합입니다. 항목별로 ID 및 언어를 지정하려면 목록[TextDocumentInput] 또는 {"id"와 같은 의 dict 표현 TextDocumentInput목록(예 : "1", "language": "en", "text": "hello world"})으로 사용해야 합니다.
- language
- str
전체 일괄 처리에 대한 언어의 2자 ISO 639-1 표현입니다. 예를 들어 영어에는 "en"을 사용합니다. 스페인어 등에 대한 "es"입니다. 설정하지 않으면 영어에 "en"을 기본값으로 사용합니다. 문서별 언어가 전체 일괄 처리 언어보다 우선합니다. 언어 API에서 지원되는 언어를 참조하세요 https://aka.ms/talangs .
- model_version
- str
분석에 사용할 모델 버전(예: "latest")입니다. 모델 버전을 지정하지 않으면 API는 기본적으로 미리 보기가 아닌 최신 버전으로 설정됩니다. 자세한 내용은 여기를 참조하세요. https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
true로 설정하면 응답에는 문서 수준 응답의 통계 필드에 문서 수준 통계가 포함됩니다.
- string_index_type
- str
문자열 오프셋을 해석하는 데 사용되는 메서드를 지정합니다. Python 인코딩인 UnicodeCodePoint가 기본값입니다. Python 기본값을 재정의하려면 Utf16CodeUnit 또는 TextElement_v8 전달할 수도 있습니다. 자세한 내용은 https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
true로 설정하면 문제 해결을 위해 텍스트 입력을 서비스 쪽에 로그아웃합니다. 기본적으로 언어 서비스는 입력 텍스트를 48시간 동안 기록하므로 서비스의 자연어 처리 기능을 제공할 때 발생하는 문제를 해결할 수 있습니다. 이 매개 변수를 true로 설정하면 입력 로깅이 비활성화되고 발생하는 문제를 해결하는 기능이 제한됩니다. 자세한 내용은 에서 Cognitive Services 규정 준수 및 개인 정보 취급 방침 참고 https://aka.ms/cs-compliance 사항 및 Microsoft 책임 AI 원칙을 참조 https://www.microsoft.com/ai/responsible-ai하세요.
반환
원래 문서가 전달된 순서대로 및 DocumentError 의 RecognizeLinkedEntitiesResult 결합된 목록입니다.
반환 형식
예외
예제
문서 일괄 처리에서 연결된 엔터티를 인식합니다.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
documents = [
"""
Microsoft was founded by Bill Gates with some friends he met at Harvard. One of his friends,
Steve Ballmer, eventually became CEO after Bill Gates as well. Steve Ballmer eventually stepped
down as CEO of Microsoft, and was succeeded by Satya Nadella.
Microsoft originally moved its headquarters to Bellevue, Washington in January 1979, but is now
headquartered in Redmond.
"""
]
result = text_analytics_client.recognize_linked_entities(documents)
docs = [doc for doc in result if not doc.is_error]
print(
"Let's map each entity to it's Wikipedia article. I also want to see how many times each "
"entity is mentioned in a document\n\n"
)
entity_to_url = {}
for doc in docs:
for entity in doc.entities:
print("Entity '{}' has been mentioned '{}' time(s)".format(
entity.name, len(entity.matches)
))
if entity.data_source == "Wikipedia":
entity_to_url[entity.name] = entity.url
recognize_pii_entities
문서 일괄 처리에 대한 개인 정보가 포함된 엔터티를 인식합니다.
문서의 개인 정보 엔터티("SSN", "은행 계좌" 등)의 목록을 반환합니다. 지원되는 엔터티 형식 목록은 검사 https://aka.ms/azsdk/language/pii
서비스 데이터 제한은 를 참조 https://aka.ms/azsdk/textanalytics/data-limits 하세요.
버전 v3.1의 새로운 기능: recognize_pii_entities 클라이언트 메서드입니다.
recognize_pii_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, categories_filter: List[str | PiiEntityCategory] | None = None, disable_service_logs: bool | None = None, domain_filter: str | PiiEntityDomain | None = None, language: str | None = None, model_version: str | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> List[RecognizePiiEntitiesResult | DocumentError]
매개 변수
이 일괄 처리의 일부로 처리할 문서 집합입니다. 항목별로 ID 및 언어를 지정하려면 목록[TextDocumentInput] 또는 {"id"와 같은 의 dict 표현 TextDocumentInput목록(예 : "1", "language": "en", "text": "hello world"})으로 사용해야 합니다.
- language
- str
전체 일괄 처리에 대한 언어의 2자 ISO 639-1 표현입니다. 예를 들어 영어에는 "en"을 사용합니다. 스페인어 등에 대한 "es"입니다. 설정하지 않으면 영어에 "en"을 기본값으로 사용합니다. 문서별 언어가 전체 일괄 처리 언어보다 우선합니다. 언어 API에서 지원되는 언어를 참조하세요 https://aka.ms/talangs .
- model_version
- str
분석에 사용할 모델 버전(예: "latest")입니다. 모델 버전을 지정하지 않으면 API는 기본적으로 미리 보기가 아닌 최신 버전으로 설정됩니다. 자세한 내용은 여기를 참조하세요. https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
true로 설정하면 응답에는 문서 수준 응답의 통계 필드에 문서 수준 통계가 포함됩니다.
- domain_filter
- str 또는 PiiEntityDomain
응답 엔터티를 지정된 도메인에만 포함된 엔터티로 필터링합니다. 즉, 'phi'로 설정하면 보호된 의료 정보 도메인의 엔터티만 반환됩니다. 자세한 내용은 https://aka.ms/azsdk/language/pii 을 참조하세요.
- categories_filter
- list[str 또는 PiiEntityCategory]
모든 PII 엔터티 범주를 필터링하는 대신 필터링하려는 특정 PII 엔터티 범주 목록을 전달할 수 있습니다. 예를 들어 문서에서 미국 사회 보장 번호만 필터링하려는 경우 이 kwarg에 대해 [PiiEntityCategory.US_SOCIAL_SECURITY_NUMBER] 를 전달할 수 있습니다.
- string_index_type
- str
문자열 오프셋을 해석하는 데 사용되는 메서드를 지정합니다. Python 인코딩인 UnicodeCodePoint가 기본값입니다. Python 기본값을 재정의하려면 Utf16CodeUnit 또는 TextElement_v8 전달할 수도 있습니다. 자세한 내용은 https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
기본값은 true입니다. 즉, 언어 서비스는 문제 해결을 위해 서비스 쪽에서 입력 텍스트를 기록하지 않습니다. False로 설정하면 언어 서비스는 입력 텍스트를 48시간 동안 기록하므로 서비스의 자연어 처리 기능을 제공할 때 발생하는 문제를 해결할 수 있습니다. 자세한 내용은 에서 Cognitive Services 규정 준수 및 개인 정보 취급 방침 참고 https://aka.ms/cs-compliance 사항 및 Microsoft 책임 AI 원칙을 참조 https://www.microsoft.com/ai/responsible-ai하세요.
반환
원래 문서가 전달된 순서대로 및 DocumentError 의 RecognizePiiEntitiesResult 결합된 목록입니다.
반환 형식
예외
예제
문서 일괄 처리에서 개인 식별 가능한 정보 엔터티를 인식합니다.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint, credential=AzureKeyCredential(key)
)
documents = [
"""Parker Doe has repaid all of their loans as of 2020-04-25.
Their SSN is 859-98-0987. To contact them, use their phone number
555-555-5555. They are originally from Brazil and have Brazilian CPF number 998.214.865-68"""
]
result = text_analytics_client.recognize_pii_entities(documents)
docs = [doc for doc in result if not doc.is_error]
print(
"Let's compare the original document with the documents after redaction. "
"I also want to comb through all of the entities that got redacted"
)
for idx, doc in enumerate(docs):
print(f"Document text: {documents[idx]}")
print(f"Redacted document text: {doc.redacted_text}")
for entity in doc.entities:
print("...Entity '{}' with category '{}' got redacted".format(
entity.text, entity.category
))
Azure SDK for Python