Share via


TextAnalyticsClient Classe

A API do serviço de linguagem é um conjunto de habilidades de NLP (processamento de linguagem natural) criadas com os melhores algoritmos de aprendizado de máquina da Microsoft. A API pode ser usada para analisar texto não estruturado para tarefas como análise de sentimento, extração de frases-chave, reconhecimento de entidades e detecção de idioma e muito mais.

Outra documentação pode ser encontrada em https://docs.microsoft.com/azure/cognitive-services/language-service/overview

Herança
azure.ai.textanalytics._base_client.TextAnalyticsClientBase
TextAnalyticsClient

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
Obrigatório

Pontos de extremidade de recursos de Linguagem ou Serviços Cognitivos com suporte (protocolo e nome do host, por exemplo: 'https://.cognitiveservices.azure.com').

credential
AzureKeyCredential ou TokenCredential
Obrigatório

Credenciais necessárias para que o cliente se conecte ao Azure. Essa pode ser a instância de AzureKeyCredential se estiver usando uma chave de API de Linguagem/Serviços Cognitivos ou uma credencial de token do identity.

default_country_hint
str

Define o country_hint padrão a ser usado para todas as operações. O padrão é "EUA". Se você não quiser usar uma dica de país, passe a cadeia de caracteres "none".

default_language
str

Define o idioma padrão a ser usado para todas as operações. O padrão é "en".

api_version
str ou TextAnalyticsApiVersion

A versão da API do serviço a ser usada para solicitações. Ele usa como padrão a versão mais recente do serviço. A configuração para uma versão mais antiga pode resultar em redução da compatibilidade de recursos.

Exemplos

Criando o TextAnalyticsClient com o ponto de extremidade 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))

Criando o TextAnalyticsClient com o ponto de extremidade e a credencial de 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 mineração de opiniões com show_opinion_mining.

Retorna uma previsão de sentimento, bem como pontuações de sentimento para cada classe de sentimento (Positiva, Negativa e Neutra) para o documento e cada frase dentro dela.

Consulte https://aka.ms/azsdk/textanalytics/data-limits para obter limites de dados de serviço.

Novo 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 longa execução.

Para obter uma discussão conceitual sobre resumo abstrativo, consulte a documentação do serviço: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview

Novo na versão 2023-04-01: o método de cliente begin_abstract_summary .

begin_analyze_actions

Inicie uma operação de execução longa para executar uma variedade de ações de análise de texto em um lote de documentos.

Recomendamos que você use essa função se estiver procurando analisar documentos maiores e/ou combinar várias ações de análise de texto em uma chamada. Caso contrário, recomendamos que você use os pontos de extremidade específicos da ação, por exemplo analyze_sentiment.

Observação

Consulte a documentação do serviço para obter suporte regional de recursos de ação personalizada:

https://aka.ms/azsdk/textanalytics/customfunctionalities

Novo na versão v3.1: o método de cliente begin_analyze_actions .

Novo na versão 2022-05-01: as opções de entrada RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction e AnalyzeHealthcareEntitiesAction e os objetos de resultado RecognizeCustomEntitiesResult, ClassifyDocumentResult e AnalyzeHealthcareEntitiesResult correspondentes

Novo 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 entidades de saúde e identifique relações entre essas entidades em um lote de documentos.

As entidades são associadas a referências que podem ser encontradas em bases de dados de conhecimento existentes, como UMLS, CHV, MSH etc.

Também extraímos as relações encontradas entre entidades, por exemplo, em "O sujeito tomou 100 mg de ibuprofeno", extrairíamos a relação entre a dosagem "100 mgs" e a medicação "ibuprofeno".

Novo na versão v3.1: o método de cliente begin_analyze_healthcare_entities .

Novo 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 obter uma discussão conceitual sobre resumo extrativo, consulte a documentação do serviço: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview

Novo 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 personalizada de vários rótulos de execução prolongada.

Para obter informações sobre o suporte regional de recursos personalizados e como treinar um modelo para classificar seus documentos, consulte https://aka.ms/azsdk/textanalytics/customfunctionalities

Novo na versão 2022-05-01: o método begin_multi_label_classify cliente.

begin_recognize_custom_entities

Inicie uma operação de reconhecimento de entidade nomeada personalizada de execução prolongada.

Para obter informações sobre o suporte regional de recursos personalizados e como treinar um modelo para reconhecer entidades personalizadas, consulte https://aka.ms/azsdk/textanalytics/customentityrecognition

Novo na versão 2022-05-01: o método cliente begin_recognize_custom_entities .

begin_single_label_classify

Inicie uma operação de classificação de rótulo único personalizada de longa duração.

Para obter informações sobre o suporte regional de recursos personalizados e como treinar um modelo para classificar seus documentos, consulte https://aka.ms/azsdk/textanalytics/customfunctionalities

Novo na versão 2022-05-01: o método cliente begin_single_label_classify .

close

Feche soquetes abertos pelo cliente. Chamar esse método é desnecessário ao usar o cliente como um gerenciador de contexto.

detect_language

Detectar idioma para um lote de documentos.

Retorna o idioma detectado e uma pontuação numérica entre zero e um. Pontuações próximas a uma indicam 100% de certeza de que o idioma identificado é verdadeiro. Confira https://aka.ms/talangs a lista de idiomas habilitados.

Consulte https://aka.ms/azsdk/textanalytics/data-limits para obter limites de dados de serviço.

Novo na versão v3.1: o argumento palavra-chave disable_service_logs.

extract_key_phrases

Extraia frases-chave de um lote de documentos.

Retorna uma lista de cadeias de caracteres que denotam as frases-chave no texto de entrada. Por exemplo, para o texto de entrada "A comida estava deliciosa e havia uma equipe maravilhosa", a API retorna o main pontos de discussão: "comida" e "equipe maravilhosa"

Consulte https://aka.ms/azsdk/textanalytics/data-limits para obter limites de dados de serviço.

Novo na versão v3.1: o argumento palavra-chave disable_service_logs.

recognize_entities

Reconhecer entidades para um lote de documentos.

Identifica e categoriza entidades em seu texto como pessoas, locais, organizações, data/hora, quantidades, porcentagens, moedas e muito mais. Para obter a lista de tipos de entidade com suporte, marcar:https://aka.ms/taner

Consulte https://aka.ms/azsdk/textanalytics/data-limits para obter limites de dados de serviço.

Novo na versão v3.1: os argumentos disable_service_logs e string_index_type palavra-chave.

recognize_linked_entities

Reconhecer entidades vinculadas 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, determinar se uma ocorrência da palavra Marte se refere ao planeta ou ao deus romano da guerra). Entidades reconhecidas são associadas a URLs a uma base de dados de conhecimento conhecida, como a Wikipédia.

Consulte https://aka.ms/azsdk/textanalytics/data-limits para obter limites de dados de serviço.

Novo 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.

Retorna uma lista de entidades de informações pessoais ("SSN", "Conta Bancária", etc.) no documento. Para obter a lista de tipos de entidade com suporte, marcar https://aka.ms/azsdk/language/pii

Consulte https://aka.ms/azsdk/textanalytics/data-limits para obter limites de dados de serviço.

Novo 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 mineração de opiniões com show_opinion_mining.

Retorna uma previsão de sentimento, bem como pontuações de sentimento para cada classe de sentimento (Positiva, Negativa e Neutra) para o documento e cada frase dentro dela.

Consulte https://aka.ms/azsdk/textanalytics/data-limits para obter limites de dados de serviço.

Novo 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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obrigatório

O conjunto de documentos a serem processados como parte desse lote. Se você quiser especificar a ID e o idioma por item, deverá usar 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

Se deve-se minerar as opiniões de uma frase e realizar análises mais granulares em relação aos aspectos de um produto ou serviço (também conhecido como análise de sentimento baseada em aspectos). Se definido como true, os objetos retornados SentenceSentiment terão a propriedade mined_opinions que contém o resultado dessa análise. Disponível somente para a versão de API v3.1 e posterior.

language
str

A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, use "en" para inglês; "es" para espanhol etc. Se não estiver definido, usará "en" para inglês como padrão. O idioma por documento terá precedência sobre o idioma em lote inteiro. Consulte https://aka.ms/talangs para obter os idiomas com suporte na API de Linguagem.

model_version
str

A versão do modelo a ser usada para a análise, por exemplo, "mais recente". Se uma versão de modelo não for especificada, a API usará como padrão a versão mais recente, não prévia. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se definido como true, a resposta conterá estatísticas de nível de documento no campo estatísticas da resposta no nível do documento.

string_index_type
str

Especifica o método usado para interpretar deslocamentos de cadeia de caracteres. UnicodeCodePoint, a codificação do Python, é o padrão. Para substituir o padrão do Python, você também pode passar Utf16CodeUnit ou TextElement_v8. Para obter informações adicionais, consulte https://aka.ms/text-analytics-offsets

disable_service_logs
bool

Se definido como true, você recusará ter sua entrada de texto registrada no lado do serviço para solução de problemas. Por padrão, o serviço de Linguagem registra seu texto de entrada por 48 horas, apenas para permitir a solução de problemas ao fornecer as funções de processamento de linguagem natural do serviço. Definir esse parâmetro como true desabilita o log de entrada e pode limitar nossa capacidade de corrigir 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 princípios de IA responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.

Retornos

A lista combinada de AnalyzeSentimentResult e DocumentError na ordem em que os documentos originais foram passados.

Tipo de retorno

Exceções

Exemplos

Analise o sentimento em um 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 longa execução.

Para obter uma discussão conceitual sobre resumo abstrativo, consulte a documentação do serviço: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview

Novo 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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obrigatório

O conjunto de documentos a serem processados como parte desse lote. Se você quiser especificar a ID e o idioma por item, deverá usar 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, use "en" para inglês; "es" para espanhol etc. Se não estiver definido, usará "en" para inglês como padrão. O idioma por documento terá precedência sobre o idioma em lote inteiro. Consulte https://aka.ms/talangs para obter os idiomas com suporte na API de Linguagem.

show_stats
bool

Se definido como true, a resposta conterá estatísticas de nível de documento.

sentence_count
Optional[int]

Ele controla o número aproximado de frases nos resumos de saída.

model_version
Optional[str]

A versão do modelo a ser usada para a análise, por exemplo, "mais recente". Se uma versão de modelo não for especificada, a API usará como padrão a versão mais recente, não prévia. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning

string_index_type
Optional[str]

Especifica o método usado para interpretar deslocamentos de cadeia de caracteres.

disable_service_logs
bool

Se definido como true, você recusará ter sua entrada de texto registrada no lado do serviço para solução de problemas. Por padrão, o serviço de Linguagem registra seu texto de entrada por 48 horas, apenas para permitir a solução de problemas ao fornecer as funções de processamento de linguagem natural do serviço. Definir esse parâmetro como true desabilita o log de entrada e pode limitar nossa capacidade de corrigir 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 princípios de IA responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.

polling_interval
int

Tempo de espera entre duas pesquisas para operações LRO se nenhum cabeçalho Retry-After estiver presente. Assume o padrão de 5 segundos.

continuation_token
str

Chame continuation_token() no objeto poller para salvar o estado de LRO (operação de execução prolongada) em um token opaco. Passe o valor como o argumento continuation_token palavra-chave para reiniciar o LRO de um estado salvo.

display_name
str

Um nome de exibição opcional a ser definido para a análise solicitada.

Retornos

Uma instância de um TextAnalysisLROPoller. Chame result() no objeto para retornar um pageable heterogêneo de AbstractiveSummaryResult e DocumentError.

Tipo de retorno

Exceções

Exemplos

Executar resumo abstrativo em um 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 longa para executar uma variedade de ações de análise de texto em um lote de documentos.

Recomendamos que você use essa função se estiver procurando analisar documentos maiores e/ou combinar várias ações de análise de texto em uma chamada. Caso contrário, recomendamos que você use os pontos de extremidade específicos da ação, por exemplo analyze_sentiment.

Observação

Consulte a documentação do serviço para obter suporte regional de recursos de ação personalizada:

https://aka.ms/azsdk/textanalytics/customfunctionalities

Novo na versão v3.1: o método de cliente begin_analyze_actions .

Novo na versão 2022-05-01: as opções de entrada RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction e AnalyzeHealthcareEntitiesAction e os objetos de resultado RecognizeCustomEntitiesResult, ClassifyDocumentResult e AnalyzeHealthcareEntitiesResult correspondentes

Novo 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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obrigatório

O conjunto de documentos a serem processados como parte desse lote. Se você quiser especificar a ID e o idioma por item, deverá usar 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]
Obrigatório

Uma lista heterogênea de ações a serem executadas nos documentos de entrada. Cada objeto de ação encapsula os parâmetros usados 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 de exibição opcional a ser definido para a análise solicitada.

language
str

A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, use "en" para inglês; "es" para espanhol etc. Se não estiver definido, usará "en" para inglês como padrão. O idioma por documento terá precedência sobre o idioma em lote inteiro. Consulte https://aka.ms/talangs para obter os idiomas com suporte na API de Linguagem.

show_stats
bool

Se definido como true, a resposta conterá estatísticas de nível de documento.

polling_interval
int

Tempo de espera entre duas pesquisas para operações LRO se nenhum cabeçalho Retry-After estiver presente. Assume o padrão de 5 segundos.

continuation_token
str

Chame continuation_token() no objeto poller para salvar o estado de LRO (operação de execução prolongada) em um token opaco. Passe o valor como o argumento continuation_token palavra-chave para reiniciar o LRO de um estado salvo.

Retornos

Uma instância de um TextAnalysisLROPoller. Chame result() no objeto poller para retornar uma lista heterogênea paginável de listas. Essa lista de listas é ordenada primeiro pelos documentos que você insere e, em seguida, ordenada pelas ações que você insere. Por exemplo, se você tiver entrada de documentos ["Olá", "mundo"], e ações RecognizeEntitiesAction e AnalyzeSentimentAction, ao iterar sobre a lista de listas, primeiro iterará sobre os resultados da ação para o documento "Olá", obtendo o RecognizeEntitiesResult de "Olá", em seguida, o AnalyzeSentimentResult de "Olá". Então, você terá o RecognizeEntitiesResult e AnalyzeSentimentResult do "mundo".

Tipo de retorno

Exceções

Exemplos

Inicie uma operação de execução longa para executar uma variedade de ações de análise de texto em um 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 entidades de saúde e identifique relações entre essas entidades em um lote de documentos.

As entidades são associadas a referências que podem ser encontradas em bases de dados de conhecimento existentes, como UMLS, CHV, MSH etc.

Também extraímos as relações encontradas entre entidades, por exemplo, em "O sujeito tomou 100 mg de ibuprofeno", extrairíamos a relação entre a dosagem "100 mgs" e a medicação "ibuprofeno".

Novo na versão v3.1: o método de cliente begin_analyze_healthcare_entities .

Novo 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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obrigatório

O conjunto de documentos a serem processados como parte desse lote. Se você quiser especificar a ID e o idioma por item, deverá usar 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 ser usada para a análise, por exemplo, "mais recente". Se uma versão de modelo não for especificada, a API usará como padrão a versão mais recente, não prévia. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se definido como true, a resposta conterá estatísticas de nível de documento.

language
str

A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, use "en" para inglês; "es" para espanhol etc. Se não estiver definido, usará "en" para inglês como padrão. O idioma por documento terá precedência sobre o idioma em lote inteiro. Consulte https://aka.ms/talangs para obter os idiomas com suporte na API de Linguagem.

display_name
str

Um nome de exibição opcional a ser definido para a análise solicitada.

string_index_type
str

Especifica o método usado para interpretar deslocamentos de cadeia de caracteres. UnicodeCodePoint, a codificação do Python, é o padrão. Para substituir o padrão do Python, você também pode passar Utf16CodeUnit ou TextElement_v8. Para obter informações adicionais, consulte https://aka.ms/text-analytics-offsets

polling_interval
int

Tempo de espera entre duas pesquisas para operações LRO se nenhum cabeçalho Retry-After estiver presente. Assume o padrão de 5 segundos.

continuation_token
str

Chame continuation_token() no objeto poller para salvar o estado de LRO (operação de execução prolongada) em um token opaco. Passe o valor como o argumento continuation_token palavra-chave para reiniciar o LRO de um estado salvo.

disable_service_logs
bool

O padrão é true, o que significa que o serviço de Linguagem não registrará seu texto de entrada no lado do serviço para solução de problemas. Se definido como False, o serviço de Linguagem registrará seu texto de entrada por 48 horas, apenas para permitir a solução de problemas ao fornecer as 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 princípios de IA responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.

Retornos

Uma instância de um AnalyzeHealthcareEntitiesLROPoller. Chame result() no objeto para retornar um pageable heterogêneo de AnalyzeHealthcareEntitiesResult e DocumentError.

Tipo de retorno

Exceções

Exemplos

Reconhecer entidades de serviços de saúde em um 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 obter uma discussão conceitual sobre resumo extrativo, consulte a documentação do serviço: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview

Novo 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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obrigatório

O conjunto de documentos a serem processados como parte desse lote. Se você quiser especificar a ID e o idioma por item, deverá usar 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, use "en" para inglês; "es" para espanhol etc. Se não estiver definido, usará "en" para inglês como padrão. O idioma por documento terá precedência sobre o idioma em lote inteiro. Consulte https://aka.ms/talangs para obter os idiomas com suporte na API de Linguagem.

show_stats
bool

Se definido como true, a resposta conterá estatísticas de nível de documento.

max_sentence_count
Optional[int]

Número máximo de frases a serem retornadas. O valor padrão é 3.

order_by
Optional[str]

Os valores possíveis incluem: "Deslocamento", "Classificação". Valor padrão: "Offset".

model_version
Optional[str]

A versão do modelo a ser usada para a análise, por exemplo, "mais recente". Se uma versão de modelo não for especificada, a API usará como padrão a versão mais recente, não prévia. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning

string_index_type
Optional[str]

Especifica o método usado para interpretar deslocamentos de cadeia de caracteres.

disable_service_logs
bool

Se definido como true, você recusará ter sua entrada de texto registrada no lado do serviço para solução de problemas. Por padrão, o serviço de Linguagem registra seu texto de entrada por 48 horas, apenas para permitir a solução de problemas ao fornecer as funções de processamento de linguagem natural do serviço. Definir esse parâmetro como true desabilita o log de entrada e pode limitar nossa capacidade de corrigir 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 princípios de IA responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.

polling_interval
int

Tempo de espera entre duas pesquisas para operações LRO se nenhum cabeçalho Retry-After estiver presente. Assume o padrão de 5 segundos.

continuation_token
str

Chame continuation_token() no objeto poller para salvar o estado de LRO (operação de execução prolongada) em um token opaco. Passe o valor como o argumento continuation_token palavra-chave para reiniciar o LRO de um estado salvo.

display_name
str

Um nome de exibição opcional a ser definido para a análise solicitada.

Retornos

Uma instância de um TextAnalysisLROPoller. Chame result() no objeto para retornar um pageable heterogêneo de ExtractiveSummaryResult e DocumentError.

Tipo de retorno

Exceções

Exemplos

Executar resumo extrativo em um 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 personalizada de vários rótulos de execução prolongada.

Para obter informações sobre o suporte regional de recursos personalizados e como treinar um modelo para classificar seus documentos, consulte https://aka.ms/azsdk/textanalytics/customfunctionalities

Novo na versão 2022-05-01: o método begin_multi_label_classify cliente.

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obrigatório

O conjunto de documentos a serem processados como parte desse lote. Se você quiser especificar a ID e o idioma por item, deverá usar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

project_name
str
Obrigatório

Obrigatórios. Esse campo indica o nome do projeto para o modelo.

deployment_name
str
Obrigatório

Esse campo indica o nome da implantação do modelo.

language
str

A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, use "en" para inglês; "es" para espanhol etc. Se não estiver definido, usará "en" para inglês como padrão. O idioma por documento terá precedência sobre o idioma em lote inteiro. Consulte https://aka.ms/talangs para obter os idiomas com suporte na API de Linguagem.

show_stats
bool

Se definido como true, a resposta conterá estatísticas de nível de documento.

disable_service_logs
bool

Se definido como true, você recusará ter sua entrada de texto registrada no lado do serviço para solução de problemas. Por padrão, o serviço de Linguagem registra seu texto de entrada por 48 horas, apenas para permitir a solução de problemas ao fornecer as funções de processamento de linguagem natural do serviço. Definir esse parâmetro como true desabilita o log de entrada e pode limitar nossa capacidade de corrigir 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 princípios de IA responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.

polling_interval
int

Tempo de espera entre duas pesquisas para operações LRO se nenhum cabeçalho Retry-After estiver presente. Assume o padrão de 5 segundos.

continuation_token
str

Chame continuation_token() no objeto poller para salvar o estado de LRO (operação de execução prolongada) em um token opaco. Passe o valor como o argumento continuation_token palavra-chave para reiniciar o LRO de um estado salvo.

display_name
str

Um nome de exibição opcional a ser definido para a análise solicitada.

Retornos

Uma instância de um TextAnalysisLROPoller. Chame result() no objeto para retornar um pageable heterogêneo de ClassifyDocumentResult e DocumentError.

Tipo de retorno

Exceções

Exemplos

Execute a classificação de vários rótulos em um 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 entidade nomeada personalizada de execução prolongada.

Para obter informações sobre o suporte regional de recursos personalizados e como treinar um modelo para reconhecer entidades personalizadas, consulte https://aka.ms/azsdk/textanalytics/customentityrecognition

Novo na versão 2022-05-01: o método 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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obrigatório

O conjunto de documentos a serem processados como parte desse lote. Se você quiser especificar a ID e o idioma por item, deverá usar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

project_name
str
Obrigatório

Obrigatórios. Esse campo indica o nome do projeto para o modelo.

deployment_name
str
Obrigatório

Esse campo indica o nome da implantação do modelo.

language
str

A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, use "en" para inglês; "es" para espanhol etc. Se não estiver definido, usará "en" para inglês como padrão. O idioma por documento terá precedência sobre o idioma em lote inteiro. Consulte https://aka.ms/talangs para obter os idiomas com suporte na API de Linguagem.

show_stats
bool

Se definido como true, a resposta conterá estatísticas de nível de documento.

disable_service_logs
bool

Se definido como true, você recusará ter sua entrada de texto registrada no lado do serviço para solução de problemas. Por padrão, o serviço De linguagem registra seu texto de entrada por 48 horas, apenas para permitir a solução de problemas ao fornecer as funções de processamento de linguagem natural do serviço. Definir esse parâmetro como true desabilita o log de entrada e pode limitar nossa capacidade de corrigir 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 princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.

string_index_type
str

Especifica o método usado para interpretar deslocamentos de cadeia de caracteres. UnicodeCodePoint, a codificação do Python, é o padrão. Para substituir o padrão do Python, você também pode passar utf16CodeUnit ou TextElement_v8. Para obter informações adicionais, consulte https://aka.ms/text-analytics-offsets

polling_interval
int

Tempo de espera entre duas pesquisas para operações LRO se nenhum cabeçalho Retry-After estiver presente. Assume o padrão de 5 segundos.

continuation_token
str

Chame continuation_token() no objeto poller para salvar o estado LRO (operação de execução prolongada) em um token opaco. Passe o valor como o argumento continuation_token palavra-chave para reiniciar o LRO de um estado salvo.

display_name
str

Um nome de exibição opcional a ser definido para a análise solicitada.

Retornos

Uma instância de um TextAnalysisLROPoller. Chame result() neste objeto para retornar um pageable heterogêneo de RecognizeCustomEntitiesResult e DocumentError.

Tipo de retorno

Exceções

Exemplos

Reconhecer entidades personalizadas em um 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 rótulo único personalizada de longa duração.

Para obter informações sobre o suporte regional de recursos personalizados e como treinar um modelo para classificar seus documentos, consulte https://aka.ms/azsdk/textanalytics/customfunctionalities

Novo na versão 2022-05-01: o método cliente 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]]

Parâmetros

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obrigatório

O conjunto de documentos a serem processados como parte deste lote. Se você quiser especificar a ID e o idioma por item, deverá usar como entrada uma lista[TextDocumentInput] ou uma lista de representações de ditado de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

project_name
str
Obrigatório

Obrigatórios. Esse campo indica o nome do projeto para o modelo.

deployment_name
str
Obrigatório

Esse campo indica o nome da implantação do modelo.

language
str

A representação iso 639-1 de 2 letras do idioma para todo o lote. Por exemplo, use "en" para inglês; "es" para espanhol etc. Se não estiver definido, usará "en" para inglês como padrão. A linguagem por documento terá precedência sobre o idioma em lote inteiro. Consulte https://aka.ms/talangs para obter idiomas com suporte na API de Idioma.

show_stats
bool

Se definido como true, a resposta conterá estatísticas de nível de documento.

disable_service_logs
bool

Se definido como true, você recusará ter sua entrada de texto registrada no lado do serviço para solução de problemas. Por padrão, o serviço De linguagem registra seu texto de entrada por 48 horas, apenas para permitir a solução de problemas ao fornecer as funções de processamento de linguagem natural do serviço. Definir esse parâmetro como true desabilita o log de entrada e pode limitar nossa capacidade de corrigir 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 princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.

polling_interval
int

Tempo de espera entre duas pesquisas para operações LRO se nenhum cabeçalho Retry-After estiver presente. Assume o padrão de 5 segundos.

continuation_token
str

Chame continuation_token() no objeto poller para salvar o estado LRO (operação de execução prolongada) em um token opaco. Passe o valor como o argumento continuation_token palavra-chave para reiniciar o LRO de um estado salvo.

display_name
str

Um nome de exibição opcional a ser definido para a análise solicitada.

Retornos

Uma instância de um TextAnalysisLROPoller. Chame result() neste objeto para retornar um pageable heterogêneo de ClassifyDocumentResult e DocumentError.

Tipo de retorno

Exceções

Exemplos

Execute a classificação de rótulo único em um 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 soquetes abertos pelo cliente. Chamar esse método é desnecessário ao usar o cliente como um gerenciador de contexto.

close() -> None

Exceções

detect_language

Detectar idioma para um lote de documentos.

Retorna o idioma detectado e uma pontuação numérica entre zero e um. Pontuações próximas a uma indicam 100% de certeza de que o idioma identificado é verdadeiro. Confira https://aka.ms/talangs a lista de idiomas habilitados.

Consulte https://aka.ms/azsdk/textanalytics/data-limits para obter limites de dados de serviço.

Novo na versão v3.1: o argumento palavra-chave disable_service_logs.

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

documents
list[str] ou list[DetectLanguageInput] ou list[dict[str, str]]
Obrigatório

O conjunto de documentos a serem processados como parte deste lote. Se você quiser especificar a ID e country_hint por item, deverá usar 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

Dica de país de origem para todo o lote. Aceita dois códigos de país de letras especificados pelo ISO 3166-1 alpha-2. As dicas de país por documento terão precedência sobre dicas de lote inteiro. O padrão é "EUA". Se você não quiser usar uma dica de país, passe a cadeia de caracteres "none".

model_version
str

A versão do modelo a ser usada para a análise, por exemplo, "mais recente". Se uma versão do modelo não for especificada, a API usará como padrão a versão mais recente e não prévia. Confira aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se definido como true, a resposta conterá estatísticas de nível de documento no campo estatísticas da resposta no nível do documento.

disable_service_logs
bool

Se definido como true, você recusará ter sua entrada de texto registrada no lado do serviço para solução de problemas. Por padrão, o serviço De linguagem registra seu texto de entrada por 48 horas, apenas para permitir a solução de problemas ao fornecer as funções de processamento de linguagem natural do serviço. Definir esse parâmetro como true desabilita o log de entrada e pode limitar nossa capacidade de corrigir 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 princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.

Retornos

A lista combinada de DetectLanguageResult e DocumentError na ordem em que os documentos originais foram passados.

Tipo de retorno

Exceções

Exemplos

Detectando idioma em um 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

Extraia frases-chave de um lote de documentos.

Retorna uma lista de cadeias de caracteres que denotam as frases-chave no texto de entrada. Por exemplo, para o texto de entrada "A comida estava deliciosa e havia uma equipe maravilhosa", a API retorna o main pontos de discussão: "comida" e "equipe maravilhosa"

Consulte https://aka.ms/azsdk/textanalytics/data-limits para obter limites de dados de serviço.

Novo na versão v3.1: o argumento palavra-chave disable_service_logs.

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obrigatório

O conjunto de documentos a serem processados como parte deste lote. Se você quiser especificar a ID e o idioma por item, deverá usar 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, use "en" para inglês; "es" para espanhol etc. Se não estiver definido, usará "en" para inglês como padrão. A linguagem por documento terá precedência sobre o idioma em lote inteiro. Consulte https://aka.ms/talangs para obter idiomas com suporte na API de Idioma.

model_version
str

A versão do modelo a ser usada para a análise, por exemplo, "mais recente". Se uma versão do modelo não for especificada, a API usará como padrão a versão mais recente e não prévia. Confira aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se definido como true, a resposta conterá estatísticas de nível de documento no campo estatísticas da resposta no nível do documento.

disable_service_logs
bool

Se definido como true, você recusará ter sua entrada de texto registrada no lado do serviço para solução de problemas. Por padrão, o serviço De linguagem registra seu texto de entrada por 48 horas, apenas para permitir a solução de problemas ao fornecer as funções de processamento de linguagem natural do serviço. Definir esse parâmetro como true desabilita o log de entrada e pode limitar nossa capacidade de corrigir 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 princípios de IA Responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.

Retornos

A lista combinada de ExtractKeyPhrasesResult e DocumentError na ordem em que os documentos originais foram passados.

Tipo de retorno

Exceções

Exemplos

Extraia as frases-chave em um 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 em seu texto como pessoas, locais, organizações, data/hora, quantidades, porcentagens, moedas e muito mais. Para obter a lista de tipos de entidade com suporte, marcar:https://aka.ms/taner

Consulte https://aka.ms/azsdk/textanalytics/data-limits para obter limites de dados de serviço.

Novo 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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obrigatório

O conjunto de documentos a serem processados como parte deste lote. Se você quiser especificar a ID e o idioma por item, deverá usar 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, use "en" para inglês; "es" para espanhol etc. Se não estiver definido, usará "en" para inglês como padrão. A linguagem por documento terá precedência sobre o idioma em lote inteiro. Consulte https://aka.ms/talangs para obter idiomas com suporte na API de Idioma.

model_version
str

A versão do modelo a ser usada para a análise, por exemplo, "mais recente". Se uma versão do modelo não for especificada, a API usará como padrão a versão mais recente e não prévia. Confira aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se definido como true, a resposta conterá estatísticas de nível de documento no campo estatísticas da resposta no nível do documento.

string_index_type
str

Especifica o método usado para interpretar deslocamentos de cadeia de caracteres. UnicodeCodePoint, a codificação do Python, é o padrão. Para substituir o padrão do Python, você também pode passar Utf16CodeUnit ou TextElement_v8. Para obter informações adicionais, consulte https://aka.ms/text-analytics-offsets

disable_service_logs
bool

Se definido como true, você recusará ter sua entrada de texto registrada no lado do serviço para solução de problemas. Por padrão, o serviço de Linguagem registra seu texto de entrada por 48 horas, apenas para permitir a solução de problemas ao fornecer as funções de processamento de linguagem natural do serviço. Definir esse parâmetro como true desabilita o log de entrada e pode limitar nossa capacidade de corrigir 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 princípios de IA responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.

Retornos

A lista combinada de RecognizeEntitiesResult e DocumentError na ordem em que os documentos originais foram passados.

Tipo de retorno

Exceções

Exemplos

Reconhecer entidades em um 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 vinculadas 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, determinar se uma ocorrência da palavra Marte se refere ao planeta ou ao deus romano da guerra). Entidades reconhecidas são associadas a URLs a uma base de dados de conhecimento conhecida, como a Wikipédia.

Consulte https://aka.ms/azsdk/textanalytics/data-limits para obter limites de dados de serviço.

Novo 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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obrigatório

O conjunto de documentos a serem processados como parte desse lote. Se você quiser especificar a ID e o idioma por item, deverá usar 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, use "en" para inglês; "es" para espanhol etc. Se não estiver definido, usará "en" para inglês como padrão. O idioma por documento terá precedência sobre o idioma em lote inteiro. Consulte https://aka.ms/talangs para obter os idiomas com suporte na API de Linguagem.

model_version
str

A versão do modelo a ser usada para a análise, por exemplo, "mais recente". Se uma versão de modelo não for especificada, a API usará como padrão a versão mais recente, não prévia. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se definido como true, a resposta conterá estatísticas de nível de documento no campo estatísticas da resposta no nível do documento.

string_index_type
str

Especifica o método usado para interpretar deslocamentos de cadeia de caracteres. UnicodeCodePoint, a codificação do Python, é o padrão. Para substituir o padrão do Python, você também pode passar Utf16CodeUnit ou TextElement_v8. Para obter informações adicionais, consulte https://aka.ms/text-analytics-offsets

disable_service_logs
bool

Se definido como true, você recusará ter sua entrada de texto registrada no lado do serviço para solução de problemas. Por padrão, o serviço de Linguagem registra seu texto de entrada por 48 horas, apenas para permitir a solução de problemas ao fornecer as funções de processamento de linguagem natural do serviço. Definir esse parâmetro como true desabilita o log de entrada e pode limitar nossa capacidade de corrigir 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 princípios de IA responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.

Retornos

A lista combinada de RecognizeLinkedEntitiesResult e DocumentError na ordem em que os documentos originais foram passados.

Tipo de retorno

Exceções

Exemplos

Reconhecer entidades vinculadas em um 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.

Retorna uma lista de entidades de informações pessoais ("SSN", "Conta Bancária", etc.) no documento. Para obter a lista de tipos de entidade com suporte, marcar https://aka.ms/azsdk/language/pii

Consulte https://aka.ms/azsdk/textanalytics/data-limits para obter limites de dados de serviço.

Novo 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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obrigatório

O conjunto de documentos a serem processados como parte desse lote. Se você quiser especificar a ID e o idioma por item, deverá usar 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, use "en" para inglês; "es" para espanhol etc. Se não estiver definido, usará "en" para inglês como padrão. O idioma por documento terá precedência sobre o idioma em lote inteiro. Consulte https://aka.ms/talangs para obter os idiomas com suporte na API de Linguagem.

model_version
str

A versão do modelo a ser usada para a análise, por exemplo, "mais recente". Se uma versão de modelo não for especificada, a API usará como padrão a versão mais recente, não prévia. Consulte aqui para obter mais informações: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se definido como true, a resposta conterá estatísticas de nível de documento no campo estatísticas da resposta no 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 definido como 'phi', retornará apenas entidades no domínio Informações de Saúde Protegidas. Consulte https://aka.ms/azsdk/language/pii para obter mais informações.

categories_filter
list[str ou PiiEntityCategory]

Em vez de filtrar todas as categorias de entidade PII, você pode passar uma lista das categorias de entidade PII específicas que deseja filtrar. Por exemplo, se você quiser filtrar apenas os números do seguro social dos EUA em um documento, poderá passar [PiiEntityCategory.US_SOCIAL_SECURITY_NUMBER] para este kwarg.

string_index_type
str

Especifica o método usado para interpretar deslocamentos de cadeia de caracteres. UnicodeCodePoint, a codificação do Python, é o padrão. Para substituir o padrão do Python, você também pode passar Utf16CodeUnit ou TextElement_v8. Para obter informações adicionais, consulte https://aka.ms/text-analytics-offsets

disable_service_logs
bool

O padrão é true, o que significa que o serviço de Linguagem não registrará seu texto de entrada no lado do serviço para solução de problemas. Se definido como False, o serviço de Linguagem registrará seu texto de entrada por 48 horas, apenas para permitir a solução de problemas ao fornecer as 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 princípios de IA responsável da Microsoft em https://www.microsoft.com/ai/responsible-ai.

Retornos

A lista combinada de RecognizePiiEntitiesResult e DocumentError na ordem em que os documentos originais foram passados.

Tipo de retorno

Exceções

Exemplos

Reconhecer entidades de informações de identificação pessoal em um 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
           ))