TextAnalyticsClient Classe
A API do serviço de linguagem é um conjunto de competências de processamento de linguagem natural (NLP) criadas com os melhores algoritmos de machine learning da Microsoft. A API pode ser utilizada para analisar texto não estruturado para tarefas como análise de sentimentos, extração de expressões-chave, reconhecimento de entidades e deteção de idioma, entre outros.
Pode encontrar mais documentação em https://docs.microsoft.com/azure/cognitive-services/language-service/overview
- Herança
-
azure.ai.textanalytics._base_client.TextAnalyticsClientBaseTextAnalyticsClient
Construtor
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)
Parâmetros
- endpoint
- str
Serviços Cognitivos suportados ou Pontos finais de recursos de Idioma (protocolo e nome do anfitrião, por exemplo: "https://.cognitiveservices.azure.com").
- credential
- AzureKeyCredential ou TokenCredential
Credenciais necessárias para que o cliente se ligue ao Azure. Esta pode ser a instância do AzureKeyCredential se utilizar uma chave de API de Serviços Cognitivos/Idioma ou uma credencial de token de identity.
- default_country_hint
- str
Define a country_hint predefinida a utilizar para todas as operações. A predefinição é "E.U.A.". Se não quiser utilizar uma sugestão de país,transmita a cadeia "none".
- default_language
- str
Define o idioma predefinido a utilizar para todas as operações. A predefinição é "en".
- api_version
- str ou TextAnalyticsApiVersion
A versão da API do serviço a utilizar para pedidos. A predefinição é a versão mais recente do serviço. Definir para uma versão mais antiga pode resultar numa compatibilidade de funcionalidades reduzida.
Exemplos
Criar o TextAnalyticsClient com o ponto final e a chave de API.
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))
Criar o TextAnalyticsClient com credenciais de ponto final e token do Azure Active Directory.
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)
Métodos
analyze_sentiment |
Analise o sentimento de um lote de documentos. Ative a extração de opiniões com show_opinion_mining. Devolve uma predição de sentimento, bem como classificações de sentimentos para cada classe de sentimento (Positivo, Negativo e Neutro) para o documento e cada frase dentro do mesmo. Veja https://aka.ms/azsdk/textanalytics/data-limits limites de dados de serviço. Novidade na versão v3.1: os argumentos show_opinion_mining, disable_service_logs e string_index_type palavra-chave. |
begin_abstract_summary |
Inicie uma operação de resumo abstrativo de execução prolongada. Para um debate conceptual sobre resumo abstrativo, veja a documentação do serviço: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview Novidade na versão 2023-04-01: o método de cliente begin_abstract_summary . |
begin_analyze_actions |
Inicie uma operação de execução prolongada para executar uma variedade de ações de análise de texto num lote de documentos. Recomendamos que utilize esta função se quiser analisar documentos maiores e/ou combinar várias ações de análise de texto numa única chamada. Caso contrário, recomendamos que utilize os pontos finais específicos da ação, por exemplo analyze_sentiment. Nota Veja a documentação do serviço para obter suporte regional das funcionalidades de ação personalizada: Novidade na versão v3.1: o método de cliente begin_analyze_actions . Novidade na versão 2022-05-01: as opções de entrada RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction e AnalyzeHealthcareEntitiesAction e os objetos de resultado correspondentes RecognizeCustomEntitiesResult, ClassifyDocumentResult e AnalyzeHealthcareEntitiesResult Novidade na versão 2023-04-01: as opções de entrada ExtractiveSummaryAction e AbstractiveSummaryAction e os objetos de resultado extractiveSummaryResult e AbstractiveSummaryResult correspondentes. |
begin_analyze_healthcare_entities |
Analise as entidades de cuidados de saúde e identifique as relações entre estas entidades num lote de documentos. As entidades estão associadas a referências que podem ser encontradas em bases de dados de conhecimento existentes, como UMLS, CHV, MSH, etc. Extraímos também as relações encontradas entre entidades, por exemplo, em "O sujeito tomou 100 mg de ibuprofeno", extraímos a relação entre a dose "100 mg" e a medicação "ibuprofeno". Novidade na versão v3.1: o método de cliente begin_analyze_healthcare_entities . Novidade na versão 2022-05-01: o argumento display_name palavra-chave. |
begin_extract_summary |
Inicie uma operação de resumo extrativo de execução prolongada. Para um debate conceptual sobre o resumo extrativo, veja a documentação do serviço: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview Novidade na versão 2023-04-01: o método de cliente begin_extract_summary . |
begin_multi_label_classify |
Inicie uma operação de classificação de várias etiquetas personalizada de execução prolongada. Para obter informações sobre o suporte regional de funcionalidades personalizadas e como preparar um modelo para classificar os seus documentos, consulte https://aka.ms/azsdk/textanalytics/customfunctionalities Novidade na versão 2022-05-01: o método de cliente begin_multi_label_classify . |
begin_recognize_custom_entities |
Inicie uma operação de reconhecimento de entidades com nome personalizada de execução prolongada. Para obter informações sobre o suporte regional de funcionalidades personalizadas e como preparar um modelo para reconhecer entidades personalizadas, veja https://aka.ms/azsdk/textanalytics/customentityrecognition Novidade na versão 2022-05-01: o método de cliente begin_recognize_custom_entities . |
begin_single_label_classify |
Inicie uma operação de classificação de etiqueta única personalizada de execução prolongada. Para obter informações sobre o suporte regional de funcionalidades personalizadas e como preparar um modelo para classificar os seus documentos, consulte https://aka.ms/azsdk/textanalytics/customfunctionalities Novidade na versão 2022-05-01: o método begin_single_label_classify cliente. |
close |
Feche os sockets abertos pelo cliente. Chamar este método é desnecessário ao utilizar o cliente como um gestor de contexto. |
detect_language |
Detetar idioma para um lote de documentos. Devolve o idioma detetado e uma classificação numérica entre zero e um. As classificações próximas de uma indicam 100% de certeza de que o idioma identificado é verdadeiro. Veja https://aka.ms/talangs a lista de idiomas ativados. Veja https://aka.ms/azsdk/textanalytics/data-limits limites de dados de serviço. Novo na versão v3.1: o argumento disable_service_logs palavra-chave. |
extract_key_phrases |
Extrair expressões-chave de um lote de documentos. Devolve uma lista de cadeias que denotam as expressões-chave no texto de entrada. Por exemplo, para o texto de entrada "A comida estava deliciosa e havia uma equipa maravilhosa", a API devolve os principais pontos de conversa: "comida" e "pessoal maravilhoso" Veja https://aka.ms/azsdk/textanalytics/data-limits limites de dados de serviço. Novo na versão v3.1: o argumento disable_service_logs palavra-chave. |
recognize_entities |
Reconhecer entidades para um lote de documentos. Identifica e categoriza entidades no seu texto como pessoas, locais, organizações, data/hora, quantidades, percentagens, moedas e muito mais. Para obter a lista de tipos de entidade suportados, verifique: https://aka.ms/taner Veja https://aka.ms/azsdk/textanalytics/data-limits limites de dados de serviço. Novidade na versão v3.1: os argumentos disable_service_logs e string_index_type palavra-chave. |
recognize_linked_entities |
Reconhecer entidades ligadas de um base de dados de conhecimento conhecido para um lote de documentos. Identifica e desambigua a identidade de cada entidade encontrada no texto (por exemplo, determinando se uma ocorrência da palavra Marte se refere ao planeta ou ao deus romano da guerra). As entidades reconhecidas estão associadas a URLs a uma base de dados de conhecimento conhecida, como a Wikipédia. Veja https://aka.ms/azsdk/textanalytics/data-limits limites de dados de serviço. Novidade na versão v3.1: os argumentos disable_service_logs e string_index_type palavra-chave. |
recognize_pii_entities |
Reconhecer entidades que contêm informações pessoais para um lote de documentos. Devolve uma lista de entidades de informações pessoais ("SSN", "Conta Bancária", etc.) no documento. Para obter a lista de tipos de entidade suportados, verifique https://aka.ms/azsdk/language/pii Veja https://aka.ms/azsdk/textanalytics/data-limits limites de dados de serviço. Novidade na versão v3.1: o método de cliente recognize_pii_entities . |
analyze_sentiment
Analise o sentimento de um lote de documentos. Ative a extração de opiniões com show_opinion_mining.
Devolve uma predição de sentimento, bem como classificações de sentimentos para cada classe de sentimento (Positivo, Negativo e Neutro) para o documento e cada frase dentro do mesmo.
Veja https://aka.ms/azsdk/textanalytics/data-limits limites de dados de serviço.
Novidade na versão v3.1: os argumentos show_opinion_mining, disable_service_logs e string_index_type palavra-chave.
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]
Parâmetros
O conjunto de documentos a processar como parte deste lote. Se quiser especificar o ID e o idioma por item, tem de utilizar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.
- show_opinion_mining
- bool
Quer extraia as opiniões de uma frase e realizasse uma análise mais granular em torno dos aspetos de um produto ou serviço (também conhecido como análise de sentimentos baseada em aspetos). Se estiver definido como verdadeiro, os objetos devolvidos SentenceSentiment terão a propriedade mined_opinions que contém o resultado desta análise. Disponível apenas para a versão v3.1 e up da API.
- language
- str
A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, utilize "en" para inglês; "es" para espanhol, etc. Se não estiver definido, utiliza "en" para inglês como predefinição. A linguagem por documento terá precedência sobre todo o idioma do batch. Veja https://aka.ms/talangs para obter idiomas suportados na API de Idiomas.
- model_version
- str
A versão do modelo a utilizar para a análise, por exemplo, "mais recente". Se não for especificada uma versão de modelo, a API será predefinida para a versão mais recente e não pré-visualizada. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Se estiver definida como verdadeira, a resposta irá conter estatísticas ao nível do documento no campo de estatísticas da resposta ao nível do documento.
- string_index_type
- str
Especifica o método utilizado para interpretar desvios de cadeia. UnicodeCodePoint, a codificação python, é a predefinição. Para substituir a predefinição do Python, também pode transmitir utf16CodeUnit ou TextElement_v8. Para obter informações adicionais, consulte https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
Se estiver definido como verdadeiro, opte por não ter a sua entrada de texto registada no lado do serviço para resolução de problemas. Por predefinição, o Serviço de idioma regista o texto de entrada durante 48 horas, apenas para permitir a resolução de problemas no fornecimento das funções de processamento de linguagem natural do serviço. Definir este parâmetro como verdadeiro, desativa o registo de entrada e pode limitar a nossa capacidade de remediar problemas que ocorrem. Consulte as notas de Conformidade e Privacidade dos Serviços Cognitivos em https://aka.ms/cs-compliance para obter detalhes adicionais e os princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.
Devoluções
A lista combinada de AnalyzeSentimentResult e DocumentError pela ordem em que os documentos originais foram transmitidos.
Tipo de retorno
Exceções
Exemplos
Analisar sentimentos num lote de documentos.
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
Inicie uma operação de resumo abstrativo de execução prolongada.
Para um debate conceptual sobre resumo abstrativo, veja a documentação do serviço: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview
Novidade na versão 2023-04-01: o método de cliente 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]]
Parâmetros
O conjunto de documentos a processar como parte deste lote. Se quiser especificar o ID e o idioma por item, tem de utilizar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, utilize "en" para inglês; "es" para espanhol, etc. Se não estiver definido, utiliza "en" para inglês como predefinição. A linguagem por documento terá precedência sobre todo o idioma do batch. Veja https://aka.ms/talangs para obter idiomas suportados na API de Idiomas.
- show_stats
- bool
Se estiver definida como verdadeira, a resposta irá conter estatísticas ao nível do documento.
A versão do modelo a utilizar para a análise, por exemplo, "mais recente". Se não for especificada uma versão de modelo, a API será predefinida para a versão mais recente e não pré-visualizada. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning
- disable_service_logs
- bool
Se estiver definido como verdadeiro, opte por não ter a sua entrada de texto registada no lado do serviço para resolução de problemas. Por predefinição, o Serviço de idioma regista o texto de entrada durante 48 horas, apenas para permitir a resolução de problemas no fornecimento das funções de processamento de linguagem natural do serviço. Definir este parâmetro como verdadeiro, desativa o registo de entrada e pode limitar a nossa capacidade de remediar problemas que ocorrem. Consulte as notas de Conformidade e Privacidade dos Serviços Cognitivos em https://aka.ms/cs-compliance para obter detalhes adicionais e os princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.
- polling_interval
- int
Tempo de espera entre duas sondagens para operações LRO se não estiver presente nenhum cabeçalho de Retry-After. A predefinição é 5 segundos.
- continuation_token
- str
Chame continuation_token() no objeto poller para guardar o estado da operação de execução prolongada (LRO) num token opaco. Transmita o valor como o argumento continuation_token palavra-chave para reiniciar o LRO a partir de um estado guardado.
- display_name
- str
Um nome a apresentar opcional a definir para a análise pedida.
Devoluções
Uma instância de um TextAnalysisLROPoller. Chame result() neste objeto para devolver um pageable heterogéneo de AbstractiveSummaryResult e DocumentError.
Tipo de retorno
Exceções
Exemplos
Efetuar resumo abstrativo num lote de documentos.
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
Inicie uma operação de execução prolongada para executar uma variedade de ações de análise de texto num lote de documentos.
Recomendamos que utilize esta função se quiser analisar documentos maiores e/ou combinar várias ações de análise de texto numa única chamada. Caso contrário, recomendamos que utilize os pontos finais específicos da ação, por exemplo analyze_sentiment.
Nota
Veja a documentação do serviço para obter suporte regional das funcionalidades de ação personalizada:
Novidade na versão v3.1: o método de cliente begin_analyze_actions .
Novidade na versão 2022-05-01: as opções de entrada RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction e AnalyzeHealthcareEntitiesAction e os objetos de resultado correspondentes RecognizeCustomEntitiesResult, ClassifyDocumentResult e AnalyzeHealthcareEntitiesResult
Novidade na versão 2023-04-01: as opções de entrada ExtractiveSummaryAction e AbstractiveSummaryAction e os objetos de resultado extractiveSummaryResult e AbstractiveSummaryResult correspondentes.
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]]]
Parâmetros
O conjunto de documentos a processar como parte deste lote. Se quiser especificar o ID e o idioma por item, tem de utilizar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.
- actions
- list[RecognizeEntitiesAction ou RecognizePiiEntitiesAction ou ExtractKeyPhrasesAction ou RecognizeLinkedEntitiesAction ou AnalyzeSentimentAction ou RecognizeCustomEntitiesAction ou SingleLabelClassifyAction ou MultiLabelClassifyAction ou AnalyzeHealthcareEntitiesAction ou ExtractiveSummaryAction ou AbstractiveSummaryAction]
Uma lista heterogénea de ações a executar nos documentos de entrada. Cada objeto de ação encapsula os parâmetros utilizados para o tipo de ação específico. Os resultados da ação estarão na mesma ordem das ações de entrada.
- display_name
- str
Um nome a apresentar opcional a definir para a análise pedida.
- language
- str
A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, utilize "en" para inglês; "es" para espanhol, etc. Se não estiver definido, utiliza "en" para inglês como predefinição. A linguagem por documento terá precedência sobre todo o idioma do batch. Veja https://aka.ms/talangs para obter idiomas suportados na API de Idiomas.
- show_stats
- bool
Se estiver definida como verdadeira, a resposta irá conter estatísticas ao nível do documento.
- polling_interval
- int
Tempo de espera entre duas sondagens para operações LRO se não estiver presente nenhum cabeçalho de Retry-After. A predefinição é 5 segundos.
- continuation_token
- str
Chame continuation_token() no objeto poller para guardar o estado da operação de execução prolongada (LRO) num token opaco. Transmita o valor como o argumento continuation_token palavra-chave para reiniciar o LRO a partir de um estado guardado.
Devoluções
Uma instância de um TextAnalysisLROPoller. Chame result() no objeto poller para devolver uma lista heterogénea paginável de listas. Esta lista de listas é ordenada primeiro pelos documentos introduzidos e, em seguida, ordenadas pelas ações que introduzir. Por exemplo, se tiver entrada de documentos ["Olá", "mundo"], ações RecognizeEntitiesAction e AnalyzeSentimentAction, ao iterar através da lista de listas, primeiro irá iterar sobre os resultados da ação para o documento "Olá", obter o RecognizeEntitiesResult de "Olá" e, em seguida, o AnalyzeSentimentResult de "Olá". Em seguida, obterá o RecognizeEntitiesResult e AnalyzeSentimentResult do "mundo".
Tipo de retorno
Exceções
Exemplos
Inicie uma operação de execução prolongada para executar uma variedade de ações de análise de texto num lote de documentos.
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
Analise as entidades de cuidados de saúde e identifique as relações entre estas entidades num lote de documentos.
As entidades estão associadas a referências que podem ser encontradas em bases de dados de conhecimento existentes, como UMLS, CHV, MSH, etc.
Extraímos também as relações encontradas entre entidades, por exemplo, em "O sujeito tomou 100 mg de ibuprofeno", extraímos a relação entre a dose "100 mg" e a medicação "ibuprofeno".
Novidade na versão v3.1: o método de cliente begin_analyze_healthcare_entities .
Novidade na versão 2022-05-01: o argumento display_name palavra-chave.
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]]
Parâmetros
O conjunto de documentos a processar como parte deste lote. Se quiser especificar o ID e o idioma por item, tem de utilizar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.
- model_version
- str
A versão do modelo a utilizar para a análise, por exemplo, "mais recente". Se não for especificada uma versão de modelo, a API será predefinida para a versão mais recente e não pré-visualizada. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Se estiver definida como verdadeira, a resposta irá conter estatísticas ao nível do documento.
- language
- str
A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, utilize "en" para inglês; "es" para espanhol, etc. Se não estiver definido, utiliza "en" para inglês como predefinição. A linguagem por documento terá precedência sobre todo o idioma do batch. Veja https://aka.ms/talangs para obter idiomas suportados na API de Idiomas.
- display_name
- str
Um nome a apresentar opcional a definir para a análise pedida.
- string_index_type
- str
Especifica o método utilizado para interpretar desvios de cadeia. UnicodeCodePoint, a codificação python, é a predefinição. Para substituir a predefinição do Python, também pode transmitir utf16CodeUnit ou TextElement_v8. Para obter informações adicionais, consulte https://aka.ms/text-analytics-offsets
- polling_interval
- int
Tempo de espera entre duas sondagens para operações LRO se não estiver presente nenhum cabeçalho de Retry-After. A predefinição é 5 segundos.
- continuation_token
- str
Chame continuation_token() no objeto poller para guardar o estado da operação de execução prolongada (LRO) num token opaco. Transmita o valor como o argumento continuation_token palavra-chave para reiniciar o LRO a partir de um estado guardado.
- disable_service_logs
- bool
A predefinição é verdadeiro, o que significa que o Serviço de idiomas não irá registar o texto de entrada no lado do serviço para resolução de problemas. Se estiver definido como Falso, o Serviço de idioma regista o texto de entrada durante 48 horas, apenas para permitir problemas de resolução de problemas no fornecimento das funções de processamento de linguagem natural do serviço. Consulte as notas de Conformidade e Privacidade dos Serviços Cognitivos em https://aka.ms/cs-compliance para obter detalhes adicionais e os princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.
Devoluções
Uma instância de um AnalyzeHealthcareEntitiesLROPoller. Chame result() neste objeto para devolver um pageable heterogéneo de AnalyzeHealthcareEntitiesResult e DocumentError.
Tipo de retorno
Exceções
Exemplos
Reconhecer entidades de cuidados de saúde num lote de documentos.
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
Inicie uma operação de resumo extrativo de execução prolongada.
Para um debate conceptual sobre o resumo extrativo, veja a documentação do serviço: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview
Novidade na versão 2023-04-01: o método de cliente 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]]
Parâmetros
O conjunto de documentos a processar como parte deste lote. Se quiser especificar o ID e o idioma por item, tem de utilizar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, utilize "en" para inglês; "es" para espanhol, etc. Se não estiver definido, utiliza "en" para inglês como predefinição. A linguagem por documento terá precedência sobre todo o idioma do batch. Veja https://aka.ms/talangs para obter idiomas suportados na API de Idiomas.
- show_stats
- bool
Se estiver definida como verdadeira, a resposta irá conter estatísticas ao nível do documento.
A versão do modelo a utilizar para a análise, por exemplo, "mais recente". Se não for especificada uma versão de modelo, a API será predefinida para a versão mais recente e não pré-visualizada. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning
- disable_service_logs
- bool
Se estiver definido como verdadeiro, opte por não ter a sua entrada de texto registada no lado do serviço para resolução de problemas. Por predefinição, o Serviço de idioma regista o texto de entrada durante 48 horas, apenas para permitir a resolução de problemas no fornecimento das funções de processamento de linguagem natural do serviço. Definir este parâmetro como verdadeiro, desativa o registo de entrada e pode limitar a nossa capacidade de remediar problemas que ocorrem. Consulte as notas de Conformidade e Privacidade dos Serviços Cognitivos em https://aka.ms/cs-compliance para obter detalhes adicionais e os princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.
- polling_interval
- int
Tempo de espera entre duas sondagens para operações LRO se não estiver presente nenhum cabeçalho de Retry-After. A predefinição é 5 segundos.
- continuation_token
- str
Chame continuation_token() no objeto poller para guardar o estado da operação de execução prolongada (LRO) num token opaco. Transmita o valor como o argumento continuation_token palavra-chave para reiniciar o LRO a partir de um estado guardado.
- display_name
- str
Um nome a apresentar opcional a definir para a análise pedida.
Devoluções
Uma instância de um TextAnalysisLROPoller. Chame result() neste objeto para devolver um pageable heterogéneo de ExtractiveSummaryResult e DocumentError.
Tipo de retorno
Exceções
Exemplos
Efetuar um resumo extrativo num lote de documentos.
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
Inicie uma operação de classificação de várias etiquetas personalizada de execução prolongada.
Para obter informações sobre o suporte regional de funcionalidades personalizadas e como preparar um modelo para classificar os seus documentos, consulte https://aka.ms/azsdk/textanalytics/customfunctionalities
Novidade na versão 2022-05-01: o método de cliente 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]]
Parâmetros
O conjunto de documentos a processar como parte deste lote. Se quiser especificar o ID e o idioma por item, tem de utilizar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, utilize "en" para inglês; "es" para espanhol, etc. Se não estiver definido, utiliza "en" para inglês como predefinição. A linguagem por documento terá precedência sobre todo o idioma do batch. Veja https://aka.ms/talangs para obter idiomas suportados na API de Idiomas.
- show_stats
- bool
Se estiver definida como verdadeira, a resposta irá conter estatísticas ao nível do documento.
- disable_service_logs
- bool
Se estiver definido como verdadeiro, opte por não ter a sua entrada de texto registada no lado do serviço para resolução de problemas. Por predefinição, o Serviço de idioma regista o texto de entrada durante 48 horas, apenas para permitir a resolução de problemas no fornecimento das funções de processamento de linguagem natural do serviço. Definir este parâmetro como verdadeiro, desativa o registo de entrada e pode limitar a nossa capacidade de remediar problemas que ocorrem. Consulte as notas de Conformidade e Privacidade dos Serviços Cognitivos em https://aka.ms/cs-compliance para obter detalhes adicionais e os princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.
- polling_interval
- int
Tempo de espera entre duas sondagens para operações LRO se não estiver presente nenhum cabeçalho de Retry-After. A predefinição é 5 segundos.
- continuation_token
- str
Chame continuation_token() no objeto poller para guardar o estado da operação de execução prolongada (LRO) num token opaco. Transmita o valor como o argumento continuation_token palavra-chave para reiniciar o LRO a partir de um estado guardado.
- display_name
- str
Um nome a apresentar opcional a definir para a análise pedida.
Devoluções
Uma instância de um TextAnalysisLROPoller. Chame result() neste objeto para devolver um pageable heterogéneo de ClassifyDocumentResult e DocumentError.
Tipo de retorno
Exceções
Exemplos
Efetue a classificação de várias etiquetas num lote de documentos.
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
Inicie uma operação de reconhecimento de entidades com nome personalizada de execução prolongada.
Para obter informações sobre o suporte regional de funcionalidades personalizadas e como preparar um modelo para reconhecer entidades personalizadas, veja https://aka.ms/azsdk/textanalytics/customentityrecognition
Novidade na versão 2022-05-01: o método de cliente 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]]
Parâmetros
O conjunto de documentos a processar como parte deste lote. Se quiser especificar o ID e o idioma por item, tem de utilizar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, utilize "en" para inglês; "es" para espanhol, etc. Se não estiver definido, utiliza "en" para inglês como predefinição. A linguagem por documento terá precedência sobre todo o idioma do batch. Veja https://aka.ms/talangs para obter idiomas suportados na API de Idiomas.
- show_stats
- bool
Se estiver definida como verdadeira, a resposta irá conter estatísticas ao nível do documento.
- disable_service_logs
- bool
Se estiver definido como verdadeiro, opte por não ter a sua entrada de texto registada no lado do serviço para resolução de problemas. Por predefinição, o Serviço de idioma regista o texto de entrada durante 48 horas, apenas para permitir a resolução de problemas no fornecimento das funções de processamento de linguagem natural do serviço. Definir este parâmetro como verdadeiro, desativa o registo de entrada e pode limitar a nossa capacidade de remediar problemas que ocorrem. Consulte as notas de Conformidade e Privacidade dos Serviços Cognitivos em https://aka.ms/cs-compliance para obter detalhes adicionais e os princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.
- string_index_type
- str
Especifica o método utilizado para interpretar desvios de cadeia. UnicodeCodePoint, a codificação python, é a predefinição. Para substituir a predefinição do Python, também pode transmitir utf16CodeUnit ou TextElement_v8. Para obter informações adicionais, consulte https://aka.ms/text-analytics-offsets
- polling_interval
- int
Tempo de espera entre duas sondagens para operações LRO se não estiver presente nenhum cabeçalho de Retry-After. A predefinição é 5 segundos.
- continuation_token
- str
Chame continuation_token() no objeto poller para guardar o estado da operação de execução prolongada (LRO) num token opaco. Transmita o valor como o argumento continuation_token palavra-chave para reiniciar o LRO a partir de um estado guardado.
- display_name
- str
Um nome a apresentar opcional a definir para a análise pedida.
Devoluções
Uma instância de um TextAnalysisLROPoller. Chame result() neste objeto para devolver um pageable heterogéneo de RecognizeCustomEntitiesResult e DocumentError.
Tipo de retorno
Exceções
Exemplos
Reconhecer entidades personalizadas num lote de documentos.
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
Inicie uma operação de classificação de etiqueta única personalizada de execução prolongada.
Para obter informações sobre o suporte regional de funcionalidades personalizadas e como preparar um modelo para classificar os seus documentos, consulte https://aka.ms/azsdk/textanalytics/customfunctionalities
Novidade na versão 2022-05-01: o método begin_single_label_classify cliente.
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]]
Parâmetros
O conjunto de documentos a processar como parte deste lote. Se quiser especificar o ID e o idioma por item, tem de utilizar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, utilize "en" para inglês; "es" para espanhol, etc. Se não estiver definido, utiliza "en" para inglês como predefinição. A linguagem por documento terá precedência sobre todo o idioma do batch. Veja https://aka.ms/talangs para obter idiomas suportados na API de Idiomas.
- show_stats
- bool
Se estiver definida como verdadeira, a resposta irá conter estatísticas ao nível do documento.
- disable_service_logs
- bool
Se estiver definido como verdadeiro, opte por não ter a sua entrada de texto registada no lado do serviço para resolução de problemas. Por predefinição, o Serviço de idioma regista o texto de entrada durante 48 horas, apenas para permitir a resolução de problemas no fornecimento das funções de processamento de linguagem natural do serviço. Definir este parâmetro como verdadeiro, desativa o registo de entrada e pode limitar a nossa capacidade de remediar problemas que ocorrem. Consulte as notas de Conformidade e Privacidade dos Serviços Cognitivos em https://aka.ms/cs-compliance para obter detalhes adicionais e os princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.
- polling_interval
- int
Tempo de espera entre duas sondagens para operações LRO se não estiver presente nenhum cabeçalho de Retry-After. A predefinição é 5 segundos.
- continuation_token
- str
Chame continuation_token() no objeto poller para guardar o estado da operação de execução prolongada (LRO) num token opaco. Transmita o valor como o argumento continuation_token palavra-chave para reiniciar o LRO a partir de um estado guardado.
- display_name
- str
Um nome a apresentar opcional a definir para a análise pedida.
Devoluções
Uma instância de um TextAnalysisLROPoller. Chame result() neste objeto para devolver um pageable heterogéneo de ClassifyDocumentResult e DocumentError.
Tipo de retorno
Exceções
Exemplos
Efetuar a classificação de etiqueta única num lote de documentos.
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
Feche os sockets abertos pelo cliente. Chamar este método é desnecessário ao utilizar o cliente como um gestor de contexto.
close() -> None
Exceções
detect_language
Detetar idioma para um lote de documentos.
Devolve o idioma detetado e uma classificação numérica entre zero e um. As classificações próximas de uma indicam 100% de certeza de que o idioma identificado é verdadeiro. Veja https://aka.ms/talangs a lista de idiomas ativados.
Veja https://aka.ms/azsdk/textanalytics/data-limits limites de dados de serviço.
Novo na versão v3.1: o argumento disable_service_logs palavra-chave.
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]
Parâmetros
O conjunto de documentos a processar como parte deste lote. Se quiser especificar o ID e country_hint por item, tem de utilizar como entrada uma lista[DetectLanguageInput] ou uma lista de representações de ditado de DetectLanguageInput, como {"id": "1", "country_hint": "us", "text": "hello world"}.
- country_hint
- str
Sugestão de país de origem para todo o lote. Aceita dois códigos de país-letra especificados pela ISO 3166-1 alpha-2. As sugestões de país por documento terão precedência sobre sugestões de lote inteiras. A predefinição é "E.U.A.". Se não quiser utilizar uma sugestão de país,transmita a cadeia "none".
- model_version
- str
A versão do modelo a utilizar para a análise, por exemplo, "mais recente". Se não for especificada uma versão de modelo, a API será predefinida para a versão mais recente e não pré-visualizada. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Se estiver definida como verdadeira, a resposta irá conter estatísticas ao nível do documento no campo de estatísticas da resposta ao nível do documento.
- disable_service_logs
- bool
Se estiver definido como verdadeiro, opte por não ter a sua entrada de texto registada no lado do serviço para resolução de problemas. Por predefinição, o Serviço de idioma regista o texto de entrada durante 48 horas, apenas para permitir a resolução de problemas no fornecimento das funções de processamento de linguagem natural do serviço. Definir este parâmetro como verdadeiro, desativa o registo de entrada e pode limitar a nossa capacidade de remediar problemas que ocorrem. Consulte as notas de Conformidade e Privacidade dos Serviços Cognitivos em https://aka.ms/cs-compliance para obter detalhes adicionais e os princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.
Devoluções
A lista combinada de DetectLanguageResult e DocumentError pela ordem em que os documentos originais foram transmitidos.
Tipo de retorno
Exceções
Exemplos
Detetar o idioma num lote de documentos.
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
Extrair expressões-chave de um lote de documentos.
Devolve uma lista de cadeias que denotam as expressões-chave no texto de entrada. Por exemplo, para o texto de entrada "A comida estava deliciosa e havia uma equipa maravilhosa", a API devolve os principais pontos de conversa: "comida" e "pessoal maravilhoso"
Veja https://aka.ms/azsdk/textanalytics/data-limits limites de dados de serviço.
Novo na versão v3.1: o argumento disable_service_logs palavra-chave.
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]
Parâmetros
O conjunto de documentos a processar como parte deste lote. Se quiser especificar o ID e o idioma por item, tem de utilizar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, utilize "en" para inglês; "es" para espanhol, etc. Se não estiver definido, utiliza "en" para inglês como predefinição. A linguagem por documento terá precedência sobre todo o idioma do batch. Veja https://aka.ms/talangs para obter idiomas suportados na API de Idiomas.
- model_version
- str
A versão do modelo a utilizar para a análise, por exemplo, "mais recente". Se não for especificada uma versão de modelo, a API será predefinida para a versão mais recente e não pré-visualizada. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Se estiver definida como verdadeira, a resposta irá conter estatísticas ao nível do documento no campo de estatísticas da resposta ao nível do documento.
- disable_service_logs
- bool
Se estiver definido como verdadeiro, opte por não ter a sua entrada de texto registada no lado do serviço para resolução de problemas. Por predefinição, o Serviço de idioma regista o texto de entrada durante 48 horas, apenas para permitir a resolução de problemas no fornecimento das funções de processamento de linguagem natural do serviço. Definir este parâmetro como verdadeiro, desativa o registo de entrada e pode limitar a nossa capacidade de remediar problemas que ocorrem. Consulte as notas de Conformidade e Privacidade dos Serviços Cognitivos em https://aka.ms/cs-compliance para obter detalhes adicionais e os princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.
Devoluções
A lista combinada de ExtractKeyPhrasesResult e DocumentError pela ordem em que os documentos originais foram transmitidos.
Tipo de retorno
Exceções
Exemplos
Extraia as expressões-chave num lote de documentos.
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
Reconhecer entidades para um lote de documentos.
Identifica e categoriza entidades no seu texto como pessoas, locais, organizações, data/hora, quantidades, percentagens, moedas e muito mais. Para obter a lista de tipos de entidade suportados, verifique: https://aka.ms/taner
Veja https://aka.ms/azsdk/textanalytics/data-limits limites de dados de serviço.
Novidade na versão v3.1: os argumentos disable_service_logs e string_index_type palavra-chave.
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]
Parâmetros
O conjunto de documentos a processar como parte deste lote. Se quiser especificar o ID e o idioma por item, tem de utilizar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, utilize "en" para inglês; "es" para espanhol, etc. Se não estiver definido, utiliza "en" para inglês como predefinição. A linguagem por documento terá precedência sobre todo o idioma do batch. Veja https://aka.ms/talangs para obter idiomas suportados na API de Idiomas.
- model_version
- str
A versão do modelo a utilizar para a análise, por exemplo, "mais recente". Se não for especificada uma versão de modelo, a API será predefinida para a versão mais recente e não pré-visualizada. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Se estiver definida como verdadeira, a resposta irá conter estatísticas ao nível do documento no campo de estatísticas da resposta ao nível do documento.
- string_index_type
- str
Especifica o método utilizado para interpretar desvios de cadeia. UnicodeCodePoint, a codificação python, é a predefinição. Para substituir a predefinição do Python, também pode transmitir utf16CodeUnit ou TextElement_v8. Para obter informações adicionais, consulte https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
Se estiver definido como verdadeiro, opte por não ter a sua entrada de texto registada no lado do serviço para resolução de problemas. Por predefinição, o Serviço de idioma regista o texto de entrada durante 48 horas, apenas para permitir a resolução de problemas no fornecimento das funções de processamento de linguagem natural do serviço. Definir este parâmetro como verdadeiro, desativa o registo de entrada e pode limitar a nossa capacidade de remediar problemas que ocorrem. Consulte as notas de Conformidade e Privacidade dos Serviços Cognitivos em https://aka.ms/cs-compliance para obter detalhes adicionais e os princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.
Devoluções
A lista combinada de RecognizeEntitiesResult e DocumentError pela ordem em que os documentos originais foram transmitidos.
Tipo de retorno
Exceções
Exemplos
Reconhecer entidades num lote de documentos.
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
Reconhecer entidades ligadas de um base de dados de conhecimento conhecido para um lote de documentos.
Identifica e desambigua a identidade de cada entidade encontrada no texto (por exemplo, determinando se uma ocorrência da palavra Marte se refere ao planeta ou ao deus romano da guerra). As entidades reconhecidas estão associadas a URLs a uma base de dados de conhecimento conhecida, como a Wikipédia.
Veja https://aka.ms/azsdk/textanalytics/data-limits limites de dados de serviço.
Novidade na versão v3.1: os argumentos disable_service_logs e string_index_type palavra-chave.
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]
Parâmetros
O conjunto de documentos a processar como parte deste lote. Se quiser especificar o ID e o idioma por item, tem de utilizar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, utilize "en" para inglês; "es" para espanhol, etc. Se não estiver definido, utiliza "en" para inglês como predefinição. A linguagem por documento terá precedência sobre todo o idioma do batch. Veja https://aka.ms/talangs para obter idiomas suportados na API de Idiomas.
- model_version
- str
A versão do modelo a utilizar para a análise, por exemplo, "mais recente". Se não for especificada uma versão de modelo, a API será predefinida para a versão mais recente e não pré-visualizada. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Se estiver definida como verdadeira, a resposta irá conter estatísticas ao nível do documento no campo de estatísticas da resposta ao nível do documento.
- string_index_type
- str
Especifica o método utilizado para interpretar desvios de cadeia. UnicodeCodePoint, a codificação python, é a predefinição. Para substituir a predefinição do Python, também pode transmitir utf16CodeUnit ou TextElement_v8. Para obter informações adicionais, consulte https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
Se estiver definido como verdadeiro, opte por não ter a sua entrada de texto registada no lado do serviço para resolução de problemas. Por predefinição, o Serviço de idioma regista o texto de entrada durante 48 horas, apenas para permitir a resolução de problemas no fornecimento das funções de processamento de linguagem natural do serviço. Definir este parâmetro como verdadeiro, desativa o registo de entrada e pode limitar a nossa capacidade de remediar problemas que ocorrem. Consulte as notas de Conformidade e Privacidade dos Serviços Cognitivos em https://aka.ms/cs-compliance para obter detalhes adicionais e os princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.
Devoluções
A lista combinada de RecognizeLinkedEntitiesResult e DocumentError pela ordem em que os documentos originais foram transmitidos.
Tipo de retorno
Exceções
Exemplos
Reconhecer entidades ligadas num lote de documentos.
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
Reconhecer entidades que contêm informações pessoais para um lote de documentos.
Devolve uma lista de entidades de informações pessoais ("SSN", "Conta Bancária", etc.) no documento. Para obter a lista de tipos de entidade suportados, verifique https://aka.ms/azsdk/language/pii
Veja https://aka.ms/azsdk/textanalytics/data-limits limites de dados de serviço.
Novidade na versão v3.1: o método de cliente 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]
Parâmetros
O conjunto de documentos a processar como parte deste lote. Se quiser especificar o ID e o idioma por item, tem de utilizar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, utilize "en" para inglês; "es" para espanhol, etc. Se não estiver definido, utiliza "en" para inglês como predefinição. A linguagem por documento terá precedência sobre todo o idioma do batch. Veja https://aka.ms/talangs para obter idiomas suportados na API de Idiomas.
- model_version
- str
A versão do modelo a utilizar para a análise, por exemplo, "mais recente". Se não for especificada uma versão de modelo, a API será predefinida para a versão mais recente e não pré-visualizada. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Se estiver definida como verdadeira, a resposta irá conter estatísticas ao nível do documento no campo de estatísticas da resposta ao nível do documento.
- domain_filter
- str ou PiiEntityDomain
Filtra as entidades de resposta para as incluídas apenas no domínio especificado. Ou seja, se estiver definido como "phi", só devolverá entidades no domínio Informações de Cuidados de Saúde Protegidos. Consulte https://aka.ms/azsdk/language/pii para obter mais informações.
- categories_filter
- list[str ou PiiEntityCategory]
Em vez de filtrar por todas as categorias de entidades PII, pode transmitir uma lista das categorias de entidades PII específicas que pretende filtrar. Por exemplo, se quiser filtrar apenas os números da segurança social dos EUA num documento, pode transmitir [PiiEntityCategory.US_SOCIAL_SECURITY_NUMBER] para este kwarg.
- string_index_type
- str
Especifica o método utilizado para interpretar desvios de cadeia. UnicodeCodePoint, a codificação python, é a predefinição. Para substituir a predefinição do Python, também pode transmitir utf16CodeUnit ou TextElement_v8. Para obter informações adicionais, consulte https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
A predefinição é verdadeiro, o que significa que o Serviço de idiomas não irá registar o texto de entrada no lado do serviço para resolução de problemas. Se estiver definido como Falso, o Serviço de idioma regista o texto de entrada durante 48 horas, apenas para permitir problemas de resolução de problemas no fornecimento das funções de processamento de linguagem natural do serviço. Consulte as notas de Conformidade e Privacidade dos Serviços Cognitivos em https://aka.ms/cs-compliance para obter detalhes adicionais e os princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.
Devoluções
A lista combinada de RecognizePiiEntitiesResult e DocumentError pela ordem em que os documentos originais foram transmitidos.
Tipo de retorno
Exceções
Exemplos
Reconhecer entidades de informações pessoais identificáveis num lote de documentos.
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