Condividi tramite


TextAnalyticsClient Classe

L'API del servizio linguaggio è una suite di competenze di elaborazione del linguaggio naturale compilate con gli algoritmi di Machine Learning di Microsoft di classe migliore. L'API può essere usata per analizzare il testo non strutturato per le attività, ad esempio l'analisi del sentiment, l'estrazione delle frasi chiave, il riconoscimento delle entità e il rilevamento della lingua e altro ancora.

Altre documentazioni sono disponibili in https://docs.microsoft.com/azure/cognitive-services/language-service/overview

Ereditarietà
azure.ai.textanalytics.aio._base_client_async.AsyncTextAnalyticsClientBase
TextAnalyticsClient

Costruttore

TextAnalyticsClient(endpoint: str, credential: AzureKeyCredential | AsyncTokenCredential, *, default_language: str | None = None, default_country_hint: str | None = None, api_version: str | TextAnalyticsApiVersion | None = None, **kwargs: Any)

Parametri

endpoint
str
Necessario

Endpoint di risorse di Servizi cognitivi o lingua supportati (protocollo e nome host, ad esempio: 'https://.cognitiveservices.azure.com').

credential
AzureKeyCredential oppure AsyncTokenCredential
Necessario

Credenziali necessarie per la connessione del client ad Azure. Può trattarsi di un'istanza di AzureKeyCredential se si usa una chiave API servizi cognitivi/lingua o una credenziale di token da identity.

default_country_hint
str

Imposta il country_hint predefinito da usare per tutte le operazioni. Il valore predefinito è "US". Se non si vuole usare un hint per il paese, passare la stringa "none".

default_language
str

Imposta la lingua predefinita da utilizzare per tutte le operazioni. Il valore predefinito è "en".

api_version
str oppure TextAnalyticsApiVersion

Versione API del servizio da usare per le richieste. L'impostazione predefinita è la versione più recente del servizio. L'impostazione su una versione precedente può comportare una riduzione della compatibilità delle funzionalità.

Esempio

Creazione di TextAnalyticsClient con endpoint e chiave API.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics.aio import TextAnalyticsClient
   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]

   text_analytics_client = TextAnalyticsClient(endpoint, AzureKeyCredential(key))

Creazione di TextAnalyticsClient con credenziali di endpoint e token da Azure Active Directory.


   import os
   from azure.ai.textanalytics.aio import TextAnalyticsClient
   from azure.identity.aio import DefaultAzureCredential

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   credential = DefaultAzureCredential()

   text_analytics_client = TextAnalyticsClient(endpoint, credential=credential)

Metodi

analyze_sentiment

Analizzare il sentiment per un batch di documenti. Attivare opinion mining con show_opinion_mining.

Restituisce una stima del sentiment, nonché i punteggi del sentiment per ogni classe del sentiment (Positivo, Negativo e Neutro) per il documento e ogni frase al suo interno.

Vedere https://aka.ms/azsdk/textanalytics/data-limits per i limiti dei dati del servizio.

Novità della versione 3.1: argomenti di parole chiave show_opinion_mining, disable_service_logs e string_index_type .

begin_abstract_summary

Avviare un'operazione di riepilogo astratta a esecuzione prolungata.

Per una descrizione concettuale del riepilogo astratto, vedere la documentazione del servizio: https://zcusa.951200.xyz/azure/cognitive-services/language-service/summarization/overview

Novità della versione 2023-04-01: metodo client begin_abstract_summary .

begin_analyze_actions

Avviare un'operazione a esecuzione prolungata per eseguire un'ampia gamma di azioni di analisi del testo su un batch di documenti.

È consigliabile usare questa funzione se si desidera analizzare documenti di dimensioni maggiori e/o combinare più azioni di analisi del testo in una sola chiamata. In caso contrario, è consigliabile usare gli endpoint specifici dell'azione, ad esempio analyze_sentiment.

Nota

Vedere la documentazione del servizio per il supporto a livello di area delle funzionalità di azione personalizzate:

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

Novità della versione 3.1: metodo client begin_analyze_actions .

Novità della versione 2022-05-01: le opzioni di input RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction e AnalyzeHealthcareEntitiesAction e gli oggetti risultato RecognizeCustomEntitiesResult, ClassifyDocumentResult e AnalyzeHealthcareEntitiesResult

Novità della versione 2023-04-01: le opzioni di input ExtractiveSummaryAction e AbstractiveSummaryAction e gli oggetti risultato ExtractiveSummaryResult e AbstractiveSummaryResult corrispondenti.

begin_analyze_healthcare_entities

Analizzare le entità sanitarie e identificare le relazioni tra queste entità in un batch di documenti.

Le entità sono associate a riferimenti disponibili nelle knowledge base esistenti, ad esempio UMLS, CHV, MSH e così via.

Estraiamo anche le relazioni trovate tra le entità, ad esempio in "Il soggetto ha preso 100 mg di ibuprofen", estraemmo la relazione tra il dosaggio "100 mg" e il farmaco "ibuprofen".

Novità della versione 3.1: metodo client begin_analyze_healthcare_entities .

Novità della versione 2022-05-01: argomento della parola chiave display_name .

begin_extract_summary

Avviare un'operazione di riepilogo estrativo a esecuzione prolungata.

Per una descrizione concettuale del riepilogo estrativo, vedere la documentazione del servizio: https://zcusa.951200.xyz/azure/cognitive-services/language-service/summarization/overview

Novità della versione 2023-04-01: metodo client begin_extract_summary .

begin_multi_label_classify

Avviare un'operazione di classificazione a più etichette personalizzata a esecuzione prolungata.

Per informazioni sul supporto a livello di area delle funzionalità personalizzate e su come eseguire il training di un modello per classificare i documenti, vedere https://aka.ms/azsdk/textanalytics/customfunctionalities

Novità della versione 2022-05-01: metodo client begin_multi_label_classify .

begin_recognize_custom_entities

Avviare un'operazione di riconoscimento delle entità denominata a esecuzione prolungata.

Per informazioni sul supporto a livello di area delle funzionalità personalizzate e su come eseguire il training di un modello per riconoscere entità personalizzate, vedere https://aka.ms/azsdk/textanalytics/customentityrecognition

Novità nella versione 2022-05-01: metodo client begin_recognize_custom_entities .

begin_single_label_classify

Avviare un'operazione di classificazione a etichetta singola personalizzata a esecuzione prolungata.

Per informazioni sul supporto a livello regionale delle funzionalità personalizzate e su come eseguire il training di un modello per classificare i documenti, vedere https://aka.ms/azsdk/textanalytics/customfunctionalities

Novità nella versione 2022-05-01: metodo client begin_single_label_classify .

close

Chiudere i socket aperti dal client. La chiamata a questo metodo non è necessaria quando si usa il client come gestione contesto.

detect_language

Rilevare la lingua per un batch di documenti.

Restituisce la lingua rilevata e un punteggio numerico compreso tra zero e uno. I punteggi vicini a uno indicano la certezza del 100% che la lingua identificata è vera. Per l'elenco delle lingue abilitate, vedere https://aka.ms/talangs l'elenco delle lingue abilitate.

Vedere https://aka.ms/azsdk/textanalytics/data-limits per i limiti dei dati del servizio.

Novità nella versione 3.1: argomento della parola chiave disable_service_logs .

extract_key_phrases

Estrarre frasi chiave da un batch di documenti.

Restituisce un elenco di stringhe che deno le frasi chiave nel testo di input. Ad esempio, per il testo di input "Il cibo era delizioso e c'era personale meraviglioso", l'API restituisce i principali punti di discussione: "cibo" e "personale meraviglioso"

Vedere https://aka.ms/azsdk/textanalytics/data-limits per i limiti dei dati del servizio.

Novità nella versione 3.1: argomento della parola chiave disable_service_logs .

recognize_entities

Riconoscere le entità per un batch di documenti.

Identifica e classifica le entità nel testo come persone, posizioni, organizzazioni, data/ora, quantità, percentuali, valute e altro ancora. Per l'elenco dei tipi di entità supportati, controllare: https://aka.ms/taner

Vedere https://aka.ms/azsdk/textanalytics/data-limits per i limiti dei dati del servizio.

Novità nella versione 3.1: argomenti della parola chiave disable_service_logs e string_index_type .

recognize_linked_entities

Riconoscere le entità collegate da un knowledge base noto per un batch di documenti.

Identifica e disambigua l'identità di ogni entità trovata nel testo, ad esempio determinando se una occorrenza della parola Mars fa riferimento al pianeta o al dio romano della guerra. Le entità riconosciute sono associate agli URL a un knowledge base noto, come Wikipedia.

Vedere https://aka.ms/azsdk/textanalytics/data-limits per i limiti dei dati del servizio.

Novità nella versione 3.1: argomenti della parola chiave disable_service_logs e string_index_type .

recognize_pii_entities

Riconoscere le entità contenenti informazioni personali per un batch di documenti.

Restituisce un elenco di entità di informazioni personali ("SSN", "Conto bancario" e così via) nel documento. Per l'elenco dei tipi di entità supportati, controllare https://aka.ms/azsdk/language/pii

Vedere https://aka.ms/azsdk/textanalytics/data-limits per i limiti dei dati del servizio.

Novità nella versione v3.1: metodo client recognize_pii_entities .

analyze_sentiment

Analizzare il sentiment per un batch di documenti. Attivare opinion mining con show_opinion_mining.

Restituisce una stima del sentiment, nonché i punteggi del sentiment per ogni classe del sentiment (Positivo, Negativo e Neutro) per il documento e ogni frase al suo interno.

Vedere https://aka.ms/azsdk/textanalytics/data-limits per i limiti dei dati del servizio.

Novità della versione 3.1: argomenti di parole chiave show_opinion_mining, disable_service_logs e string_index_type .

async 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]

Parametri

documents
list[str] oppure list[TextDocumentInput] oppure list[dict[str, str]]
Necessario

Set di documenti da elaborare come parte di questo batch. Se si desidera specificare l'ID e la lingua per ogni elemento, è necessario utilizzare come input un elenco[TextDocumentInput] o un elenco di rappresentazioni dict di TextDocumentInput, come {"id": "1", "language": "en", "text": "hello world"}.

show_opinion_mining
bool

Se eseguire il mio lavoro sulle opinioni di una frase e condurre un'analisi più granulare sugli aspetti di un prodotto o di un servizio (nota anche come analisi del sentiment basata su aspetti). Se impostato su true, gli oggetti restituiti SentenceSentiment avranno la proprietà mined_opinions contenente il risultato di questa analisi. Disponibile solo per l'API versione 3.1 e successive.

language
str

Rappresentazione della lingua ISO 639-1 di 2 lettere per l'intero batch. Ad esempio, usare "en" per l'inglese; "es" per spagnolo ecc. Se non è impostato, usa "en" per l'inglese come impostazione predefinita. Il linguaggio per documento avrà la precedenza sull'intero linguaggio batch. Vedere https://aka.ms/talangs per le lingue supportate nell'API del linguaggio.

model_version
str

Versione del modello da usare per l'analisi, ad esempio "latest". Se non viene specificata una versione del modello, per impostazione predefinita l'API sarà la versione più recente e non di anteprima. Per altre info, vedi qui: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se impostato su true, la risposta conterrà le statistiche a livello di documento nel campo delle statistiche della risposta a livello di documento.

string_index_type
str

Specifica il metodo utilizzato per interpretare gli offset di stringa. UnicodeCodePoint, la codifica Python, è l'impostazione predefinita. Per eseguire l'override dell'impostazione predefinita di Python, è anche possibile passare Utf16CodeUnit o TextElement_v8. Per altre informazioni, vedere https://aka.ms/text-analytics-offsets

disable_service_logs
bool

Se impostato su true, si rifiuta esplicitamente di avere eseguito l'accesso all'input di testo sul lato servizio per la risoluzione dei problemi. Per impostazione predefinita, il servizio language registra il testo di input per 48 ore, esclusivamente per consentire la risoluzione dei problemi nella fornitura delle funzioni di elaborazione del linguaggio naturale del servizio. L'impostazione di questo parametro su true disabilita la registrazione di input e può limitare la possibilità di correggere i problemi che si verificano. Per altri dettagli, vedere Le note https://aka.ms/cs-compliance sulla conformità e sulla privacy di Servizi cognitivi sono disponibili all'indirizzo https://www.microsoft.com/ai/responsible-ai.

Restituisce

L'elenco combinato di AnalyzeSentimentResult e DocumentError nell'ordine in cui sono stati passati i documenti originali.

Tipo restituito

Eccezioni

Esempio

Analizzare il sentiment in un batch di documenti.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics.aio 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!"""
   ]

   async with text_analytics_client:
       result = await text_analytics_client.analyze_sentiment(documents)

   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

Avviare un'operazione di riepilogo astratta a esecuzione prolungata.

Per una descrizione concettuale del riepilogo astratto, vedere la documentazione del servizio: https://zcusa.951200.xyz/azure/cognitive-services/language-service/summarization/overview

Novità della versione 2023-04-01: metodo client begin_abstract_summary .

async 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) -> AsyncTextAnalysisLROPoller[AsyncItemPaged[AbstractiveSummaryResult | DocumentError]]

Parametri

documents
list[str] oppure list[TextDocumentInput] oppure list[dict[str, str]]
Necessario

Set di documenti da elaborare come parte di questo batch. Se si desidera specificare l'ID e la lingua per ogni elemento, è necessario utilizzare come input un elenco[TextDocumentInput] o un elenco di rappresentazioni dict di TextDocumentInput, come {"id": "1", "language": "en", "text": "hello world"}.

language
str

Rappresentazione della lingua ISO 639-1 di 2 lettere per l'intero batch. Ad esempio, usare "en" per l'inglese; "es" per spagnolo ecc. Se non è impostato, usa "en" per l'inglese come impostazione predefinita. Il linguaggio per documento avrà la precedenza sull'intero linguaggio batch. Vedere https://aka.ms/talangs per le lingue supportate nell'API del linguaggio.

show_stats
bool

Se impostato su true, la risposta conterrà le statistiche a livello di documento.

sentence_count
Optional[int]

Controlla il numero approssimativo di frasi nei riepiloghi di output.

model_version
Optional[str]

Versione del modello da usare per l'analisi, ad esempio "latest". Se non viene specificata una versione del modello, per impostazione predefinita l'API sarà la versione più recente e non di anteprima. Per altre info, vedi qui: https://aka.ms/text-analytics-model-versioning

string_index_type
Optional[str]

Specifica il metodo utilizzato per interpretare gli offset di stringa.

disable_service_logs
bool

Se impostato su true, si rifiuta esplicitamente di avere eseguito l'accesso all'input di testo sul lato servizio per la risoluzione dei problemi. Per impostazione predefinita, il servizio language registra il testo di input per 48 ore, esclusivamente per consentire la risoluzione dei problemi nella fornitura delle funzioni di elaborazione del linguaggio naturale del servizio. L'impostazione di questo parametro su true disabilita la registrazione di input e può limitare la possibilità di correggere i problemi che si verificano. Per altri dettagli, vedere Le note https://aka.ms/cs-compliance sulla conformità e sulla privacy di Servizi cognitivi sono disponibili all'indirizzo https://www.microsoft.com/ai/responsible-ai.

polling_interval
int

Tempo di attesa tra due sondaggi per le operazioni LRO se non è presente alcuna intestazione Retry-After. Il valore predefinito è 5 secondi.

continuation_token
str

Chiamare continuation_token() sull'oggetto poller per salvare lo stato dell'operazione a esecuzione prolungata in un token opaco. Passare il valore come argomento parola chiave continuation_token per riavviare LRO da uno stato salvato.

display_name
str

Nome visualizzato facoltativo da impostare per l'analisi richiesta.

Restituisce

Istanza di AsyncTextAnalysisLROPoller. Chiamare result() nell'oggetto per restituire una paginabile eterogenea di AbstractiveSummaryResult e DocumentError.

Tipo restituito

<xref:azure.ai.textanalytics.AsyncTextAnalysisLROPoller>[AsyncItemPaged[ AbstractiveSummaryResult,

Eccezioni

Esempio

Eseguire riepiloghi astrattivi su un batch di documenti.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics.aio 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."
   ]
   async with text_analytics_client:
       poller = await text_analytics_client.begin_abstract_summary(document)
       abstract_summary_results = await poller.result()
       async 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

Avviare un'operazione a esecuzione prolungata per eseguire un'ampia gamma di azioni di analisi del testo su un batch di documenti.

È consigliabile usare questa funzione se si desidera analizzare documenti di dimensioni maggiori e/o combinare più azioni di analisi del testo in una sola chiamata. In caso contrario, è consigliabile usare gli endpoint specifici dell'azione, ad esempio analyze_sentiment.

Nota

Vedere la documentazione del servizio per il supporto a livello di area delle funzionalità di azione personalizzate:

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

Novità della versione 3.1: metodo client begin_analyze_actions .

Novità della versione 2022-05-01: le opzioni di input RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction e AnalyzeHealthcareEntitiesAction e gli oggetti risultato RecognizeCustomEntitiesResult, ClassifyDocumentResult e AnalyzeHealthcareEntitiesResult

Novità della versione 2023-04-01: le opzioni di input ExtractiveSummaryAction e AbstractiveSummaryAction e gli oggetti risultato ExtractiveSummaryResult e AbstractiveSummaryResult corrispondenti.

async 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) -> AsyncTextAnalysisLROPoller[AsyncItemPaged[List[RecognizeEntitiesResult | RecognizeLinkedEntitiesResult | RecognizePiiEntitiesResult | ExtractKeyPhrasesResult | AnalyzeSentimentResult | RecognizeCustomEntitiesResult | ClassifyDocumentResult | AnalyzeHealthcareEntitiesResult | ExtractiveSummaryResult | AbstractiveSummaryResult | DocumentError]]]

Parametri

documents
list[str] oppure list[TextDocumentInput] oppure list[dict[str, str]]
Necessario

Set di documenti da elaborare come parte di questo batch. Se si desidera specificare l'ID e la lingua per ogni elemento, è necessario utilizzare come input un elenco[TextDocumentInput] o un elenco di rappresentazioni dict di TextDocumentInput, come {"id": "1", "language": "en", "text": "hello world"}.

actions
list[RecognizeEntitiesAction oppure RecognizePiiEntitiesAction oppure ExtractKeyPhrasesAction oppure RecognizeLinkedEntitiesAction oppure AnalyzeSentimentAction oppure RecognizeCustomEntitiesAction oppure SingleLabelClassifyAction oppure MultiLabelClassifyAction oppure AnalyzeHealthcareEntitiesAction oppure AbstractiveSummaryAction oppure ExtractiveSummaryAction]
Necessario

Elenco eterogeneo di azioni da eseguire sui documenti di input. Ogni oggetto azione incapsula i parametri usati per il tipo di azione specifico. I risultati dell'azione saranno nello stesso ordine delle azioni di input.

display_name
str

Nome visualizzato facoltativo da impostare per l'analisi richiesta.

language
str

Rappresentazione della lingua ISO 639-1 di 2 lettere per l'intero batch. Ad esempio, usare "en" per l'inglese; "es" per spagnolo ecc. Se non è impostato, usa "en" per l'inglese come impostazione predefinita. Il linguaggio per documento avrà la precedenza sull'intero linguaggio batch. Vedere https://aka.ms/talangs per le lingue supportate nell'API del linguaggio.

show_stats
bool

Se impostato su true, la risposta conterrà le statistiche a livello di documento.

polling_interval
int

Tempo di attesa tra due sondaggi per le operazioni LRO se non è presente alcuna intestazione Retry-After. Il valore predefinito è 5 secondi.

continuation_token
str

Chiamare continuation_token() sull'oggetto poller per salvare lo stato dell'operazione a esecuzione prolungata in un token opaco. Passare il valore come argomento parola chiave continuation_token per riavviare LRO da uno stato salvato.

Restituisce

Istanza di AsyncTextAnalysisLROPoller. Chiamare result() nell'oggetto poller per restituire un elenco eterogeneo pageable di elenchi. Questo elenco di elenchi viene prima ordinato in base ai documenti immessi, quindi ordinato in base alle azioni immesse. Ad esempio, se si dispone di documenti input ["Hello", "world"], e azioni RecognizeEntitiesAction e AnalyzeSentimentAction, quando si scorre l'elenco di elenchi, si eseguirà prima di tutto l'iterazione sui risultati dell'azione per il documento "Hello", ottenendo " RecognizeEntitiesResult Hello", quindi il AnalyzeSentimentResult di "Hello". Poi, si otterrà il RecognizeEntitiesResult e AnalyzeSentimentResult di "mondo".

Tipo restituito

Eccezioni

Esempio

Avviare un'operazione a esecuzione prolungata per eseguire un'ampia gamma di azioni di analisi del testo su un batch di documenti.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics.aio import TextAnalyticsClient
   from azure.ai.textanalytics import (
       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!'
   ]

   async with text_analytics_client:
       poller = await text_analytics_client.begin_analyze_actions(
           documents,
           display_name="Sample Text Analysis",
           actions=[
               RecognizeEntitiesAction(),
               RecognizePiiEntitiesAction(),
               ExtractKeyPhrasesAction(),
               RecognizeLinkedEntitiesAction(),
               AnalyzeSentimentAction(),
           ]
       )

       pages = await poller.result()

       # To enumerate / zip for async, unless you install a third party library,
       # you have to read in all of the elements into memory first.
       # If you're not looking to enumerate / zip, we recommend you just asynchronously
       # loop over it immediately, without going through this step of reading them into memory
       document_results = []
       async for page in pages:
           document_results.append(page)

   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

Analizzare le entità sanitarie e identificare le relazioni tra queste entità in un batch di documenti.

Le entità sono associate a riferimenti disponibili nelle knowledge base esistenti, ad esempio UMLS, CHV, MSH e così via.

Estraiamo anche le relazioni trovate tra le entità, ad esempio in "Il soggetto ha preso 100 mg di ibuprofen", estraemmo la relazione tra il dosaggio "100 mg" e il farmaco "ibuprofen".

Novità della versione 3.1: metodo client begin_analyze_healthcare_entities .

Novità della versione 2022-05-01: argomento della parola chiave display_name .

async 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) -> AsyncAnalyzeHealthcareEntitiesLROPoller[AsyncItemPaged[AnalyzeHealthcareEntitiesResult | DocumentError]]

Parametri

documents
list[str] oppure list[TextDocumentInput] oppure list[dict[str, str]]
Necessario

Set di documenti da elaborare come parte di questo batch. Se si desidera specificare l'ID e la lingua per ogni elemento, è necessario utilizzare come input un elenco[TextDocumentInput] o un elenco di rappresentazioni dict di TextDocumentInput, come {"id": "1", "language": "en", "text": "hello world"}.

model_version
str

Versione del modello da usare per l'analisi, ad esempio "latest". Se non viene specificata una versione del modello, per impostazione predefinita l'API sarà la versione più recente e non di anteprima. Per altre info, vedi qui: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se impostato su true, la risposta conterrà le statistiche a livello di documento.

language
str

Rappresentazione della lingua ISO 639-1 di 2 lettere per l'intero batch. Ad esempio, usare "en" per l'inglese; "es" per spagnolo ecc. Se non è impostato, usa "en" per l'inglese come impostazione predefinita. Il linguaggio per documento avrà la precedenza sull'intero linguaggio batch. Vedere https://aka.ms/talangs per le lingue supportate nell'API del linguaggio.

display_name
str

Nome visualizzato facoltativo da impostare per l'analisi richiesta.

string_index_type
str

Specifica il metodo utilizzato per interpretare gli offset di stringa. Può essere uno dei valori "UnicodeCodePoint" (impostazione predefinita), "Utf16CodeUnit" o "TextElement_v8". Per altre informazioni, vedere https://aka.ms/text-analytics-offsets

polling_interval
int

Tempo di attesa tra due sondaggi per le operazioni LRO se non è presente alcuna intestazione Retry-After. Il valore predefinito è 5 secondi.

continuation_token
str

Chiamare continuation_token() sull'oggetto poller per salvare lo stato dell'operazione a esecuzione prolungata in un token opaco. Passare il valore come argomento parola chiave continuation_token per riavviare LRO da uno stato salvato.

disable_service_logs
bool

Il valore predefinito è true, vale a dire che il servizio lingua non porterà il testo di input sul lato servizio per la risoluzione dei problemi. Se è impostata su False, il servizio lingua registra il testo di input per 48 ore, solo per consentire la risoluzione dei problemi nell'offrire le funzioni di elaborazione del linguaggio naturale Analisi del testo. Per altri dettagli, vedere Le note https://aka.ms/cs-compliance sulla conformità e sulla privacy di Servizi cognitivi sono disponibili all'indirizzo https://www.microsoft.com/ai/responsible-ai.

Restituisce

Istanza di AsyncAnalyzeHealthcareEntitiesLROPoller. Chiamare result() nell'oggetto poller per restituire una paginabile eterogenea di AnalyzeHealthcareEntitiesResult e DocumentError.

Tipo restituito

Eccezioni

Esempio

Analizzare le entità sanitarie in un batch di documenti.


   import os
   import typing
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics import HealthcareEntityRelation
   from azure.ai.textanalytics.aio import TextAnalyticsClient

   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.
       """
   ]

   async with text_analytics_client:
       poller = await text_analytics_client.begin_analyze_healthcare_entities(documents)
       result = await poller.result()
       docs = [doc async 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

Avviare un'operazione di riepilogo estrativo a esecuzione prolungata.

Per una descrizione concettuale del riepilogo estrativo, vedere la documentazione del servizio: https://zcusa.951200.xyz/azure/cognitive-services/language-service/summarization/overview

Novità della versione 2023-04-01: metodo client begin_extract_summary .

async 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) -> AsyncTextAnalysisLROPoller[AsyncItemPaged[ExtractiveSummaryResult | DocumentError]]

Parametri

documents
list[str] oppure list[TextDocumentInput] oppure list[dict[str, str]]
Necessario

Set di documenti da elaborare come parte di questo batch. Se si desidera specificare l'ID e la lingua per ogni elemento, è necessario utilizzare come input un elenco[TextDocumentInput] o un elenco di rappresentazioni dict di TextDocumentInput, come {"id": "1", "language": "en", "text": "hello world"}.

language
str

Rappresentazione della lingua ISO 639-1 di 2 lettere per l'intero batch. Ad esempio, usare "en" per l'inglese; "es" per spagnolo ecc. Se non è impostato, usa "en" per l'inglese come impostazione predefinita. Il linguaggio per documento avrà la precedenza sull'intero linguaggio batch. Vedere https://aka.ms/talangs per le lingue supportate nell'API del linguaggio.

show_stats
bool

Se impostato su true, la risposta conterrà le statistiche a livello di documento.

max_sentence_count
Optional[int]

Numero massimo di frasi da restituire. Il valore predefinito è 3.

order_by
Optional[str]

I valori possibili includono: "Offset", "Rank". Valore predefinito: "Offset".

model_version
Optional[str]

Versione del modello da usare per l'analisi, ad esempio "latest". Se non viene specificata una versione del modello, per impostazione predefinita l'API sarà la versione più recente e non di anteprima. Per altre info, vedi qui: https://aka.ms/text-analytics-model-versioning

string_index_type
Optional[str]

Specifica il metodo utilizzato per interpretare gli offset di stringa.

disable_service_logs
bool

Se impostato su true, si rifiuta esplicitamente di avere eseguito l'accesso all'input di testo sul lato servizio per la risoluzione dei problemi. Per impostazione predefinita, il servizio language registra il testo di input per 48 ore, esclusivamente per consentire la risoluzione dei problemi nella fornitura delle funzioni di elaborazione del linguaggio naturale del servizio. L'impostazione di questo parametro su true disabilita la registrazione di input e può limitare la possibilità di correggere i problemi che si verificano. Per altri dettagli, vedere Le note https://aka.ms/cs-compliance sulla conformità e sulla privacy di Servizi cognitivi sono disponibili all'indirizzo https://www.microsoft.com/ai/responsible-ai.

polling_interval
int

Tempo di attesa tra due sondaggi per le operazioni LRO se non è presente alcuna intestazione Retry-After. Il valore predefinito è 5 secondi.

continuation_token
str

Chiamare continuation_token() sull'oggetto poller per salvare lo stato dell'operazione a esecuzione prolungata in un token opaco. Passare il valore come argomento parola chiave continuation_token per riavviare LRO da uno stato salvato.

display_name
str

Nome visualizzato facoltativo da impostare per l'analisi richiesta.

Restituisce

Istanza di AsyncTextAnalysisLROPoller. Chiamare result() nell'oggetto per restituire una paginabile eterogenea di ExtractiveSummaryResult e DocumentError.

Tipo restituito

<xref:azure.ai.textanalytics.AsyncTextAnalysisLROPoller>[AsyncItemPaged[ ExtractiveSummaryResult,

Eccezioni

Esempio

Eseguire il riepilogo estrativo in un batch di documenti.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics.aio 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."
   ]

   async with text_analytics_client:
       poller = await text_analytics_client.begin_extract_summary(document)
       extract_summary_results = await poller.result()
       async 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

Avviare un'operazione di classificazione a più etichette personalizzata a esecuzione prolungata.

Per informazioni sul supporto a livello di area delle funzionalità personalizzate e su come eseguire il training di un modello per classificare i documenti, vedere https://aka.ms/azsdk/textanalytics/customfunctionalities

Novità della versione 2022-05-01: metodo client begin_multi_label_classify .

async 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) -> AsyncTextAnalysisLROPoller[AsyncItemPaged[ClassifyDocumentResult | DocumentError]]

Parametri

documents
list[str] oppure list[TextDocumentInput] oppure list[dict[str, str]]
Necessario

Set di documenti da elaborare come parte di questo batch. Se si desidera specificare l'ID e la lingua per ogni elemento, è necessario utilizzare come input un elenco[TextDocumentInput] o un elenco di rappresentazioni dict di TextDocumentInput, come {"id": "1", "language": "en", "text": "hello world"}.

project_name
str
Necessario

Obbligatorio. Questo campo indica il nome del progetto per il modello.

deployment_name
str
Necessario

Questo campo indica il nome della distribuzione per il modello.

language
str

Rappresentazione della lingua ISO 639-1 di 2 lettere per l'intero batch. Ad esempio, usare "en" per l'inglese; "es" per spagnolo ecc. Se non è impostato, usa "en" per l'inglese come impostazione predefinita. Il linguaggio per documento avrà la precedenza sull'intero linguaggio batch. Vedere https://aka.ms/talangs per le lingue supportate nell'API del linguaggio.

show_stats
bool

Se impostato su true, la risposta conterrà le statistiche a livello di documento.

disable_service_logs
bool

Se impostato su true, si rifiuta esplicitamente di avere eseguito l'accesso all'input di testo sul lato servizio per la risoluzione dei problemi. Per impostazione predefinita, il servizio language registra il testo di input per 48 ore, esclusivamente per consentire la risoluzione dei problemi nella fornitura delle funzioni di elaborazione del linguaggio naturale del servizio. L'impostazione di questo parametro su true disabilita la registrazione di input e può limitare la possibilità di correggere i problemi che si verificano. Per altri dettagli, vedere Le note https://aka.ms/cs-compliance sulla conformità e sulla privacy di Servizi cognitivi sono disponibili all'indirizzo https://www.microsoft.com/ai/responsible-ai.

polling_interval
int

Tempo di attesa tra due sondaggi per le operazioni LRO se non è presente alcuna intestazione Retry-After. Il valore predefinito è 5 secondi.

continuation_token
str

Chiamare continuation_token() sull'oggetto poller per salvare lo stato dell'operazione a esecuzione prolungata in un token opaco. Passare il valore come argomento parola chiave continuation_token per riavviare LRO da uno stato salvato.

display_name
str

Nome visualizzato facoltativo da impostare per l'analisi richiesta.

Restituisce

Istanza di AsyncTextAnalysisLROPoller. Chiamare result() nell'oggetto per restituire una paginabile eterogenea di ClassifyDocumentResult e DocumentError.

Tipo restituito

Eccezioni

Esempio

Eseguire la classificazione con più etichette in un batch di documenti.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics.aio 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",
       )
   )

   with open(path_to_sample_document) as fd:
       document = [fd.read()]

   text_analytics_client = TextAnalyticsClient(
       endpoint=endpoint,
       credential=AzureKeyCredential(key),
   )

   async with text_analytics_client:
       poller = await text_analytics_client.begin_multi_label_classify(
           document,
           project_name=project_name,
           deployment_name=deployment_name
       )

       pages = await poller.result()
       document_results = []
       async for page in pages:
           document_results.append(page)

   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

Avviare un'operazione di riconoscimento delle entità denominata a esecuzione prolungata.

Per informazioni sul supporto a livello di area delle funzionalità personalizzate e su come eseguire il training di un modello per riconoscere entità personalizzate, vedere https://aka.ms/azsdk/textanalytics/customentityrecognition

Novità nella versione 2022-05-01: metodo client begin_recognize_custom_entities .

async 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) -> AsyncTextAnalysisLROPoller[AsyncItemPaged[RecognizeCustomEntitiesResult | DocumentError]]

Parametri

documents
list[str] oppure list[TextDocumentInput] oppure list[dict[str, str]]
Necessario

Set di documenti da elaborare come parte di questo batch. Se si desidera specificare l'ID e la lingua per ogni elemento, è necessario utilizzare come input un elenco[TextDocumentInput] o un elenco di rappresentazioni dict di TextDocumentInput, come {"id": "1", "language": "en", "text": "hello world"}.

project_name
str
Necessario

Obbligatorio. Questo campo indica il nome del progetto per il modello.

deployment_name
str
Necessario

Questo campo indica il nome della distribuzione per il modello.

language
str

Rappresentazione della lingua ISO 639-1 di 2 lettere per l'intero batch. Ad esempio, usare "en" per l'inglese; "es" per spagnolo ecc. Se non è impostato, usa "en" per l'inglese come impostazione predefinita. Il linguaggio per documento avrà la precedenza sull'intero linguaggio batch. Vedere https://aka.ms/talangs per le lingue supportate nell'API del linguaggio.

show_stats
bool

Se impostato su true, la risposta conterrà le statistiche a livello di documento.

disable_service_logs
bool

Se impostato su true, si rifiuta esplicitamente di avere eseguito l'accesso all'input di testo sul lato servizio per la risoluzione dei problemi. Per impostazione predefinita, il servizio lingua registra il testo di input per 48 ore, solo per consentire la risoluzione dei problemi nel fornire le funzioni di elaborazione del linguaggio naturale del servizio. L'impostazione di questo parametro su true disabilita la registrazione dell'input e può limitare la possibilità di correggere i problemi che si verificano. Per altre informazioni, vedere Le note https://aka.ms/cs-compliance sulla conformità e sulla privacy dei servizi cognitivi e sui principi di Intelligenza artificiale responsabile microsoft sono disponibili in https://www.microsoft.com/ai/responsible-ai.

string_index_type
str

Specifica il metodo usato per interpretare gli offset di stringa. UnicodeCodePoint, la codifica Python, è l'impostazione predefinita. Per eseguire l'override del valore predefinito di Python, è anche possibile passare Utf16CodeUnit o TextElement_v8. Per altre informazioni, vedere https://aka.ms/text-analytics-offsets

polling_interval
int

Tempo di attesa tra due polling per le operazioni LRO se non è presente alcuna intestazione Retry-After. Il valore predefinito è 5 secondi.

continuation_token
str

Chiamare continuation_token() nell'oggetto poller per salvare lo stato dell'operazione a esecuzione prolungata in un token opaco. Passare il valore come argomento parola chiave continuation_token per riavviare LRO da uno stato salvato.

display_name
str

Nome visualizzato facoltativo da impostare per l'analisi richiesta.

Restituisce

Istanza di AsyncTextAnalysisLROPoller. Chiama result() nell'oggetto per restituire una pagina eterogenea di RecognizeCustomEntitiesResult e DocumentError.

Tipo restituito

Eccezioni

Esempio

Riconoscere le entità personalizzate in un batch di documenti.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics.aio 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()]

   async with text_analytics_client:
       poller = await text_analytics_client.begin_recognize_custom_entities(
           document,
           project_name=project_name,
           deployment_name=deployment_name
       )

       document_results = await poller.result()

       async 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

Avviare un'operazione di classificazione a etichetta singola personalizzata a esecuzione prolungata.

Per informazioni sul supporto a livello regionale delle funzionalità personalizzate e su come eseguire il training di un modello per classificare i documenti, vedere https://aka.ms/azsdk/textanalytics/customfunctionalities

Novità nella versione 2022-05-01: metodo client begin_single_label_classify .

async 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) -> AsyncTextAnalysisLROPoller[AsyncItemPaged[ClassifyDocumentResult | DocumentError]]

Parametri

documents
list[str] oppure list[TextDocumentInput] oppure list[dict[str, str]]
Necessario

Set di documenti da elaborare come parte di questo batch. Se si desidera specificare l'ID e la lingua per ogni elemento, è necessario usare come elenco[TextDocumentInput] o un elenco di rappresentazioni dict di TextDocumentInput, come {"id": "1", "language": "en", "text": "hello world"}.

project_name
str
Necessario

Obbligatorio. Questo campo indica il nome del progetto per il modello.

deployment_name
str
Necessario

Questo campo indica il nome della distribuzione per il modello.

language
str

Rappresentazione del linguaggio ISO 639-1 2 lettera per l'intero batch. Ad esempio, usare "en" per l'inglese; "es" per spagnolo e così via. Se non è impostato, usa "en" per l'inglese come impostazione predefinita. Il linguaggio per documento avrà la precedenza sull'intero linguaggio batch. Vedere https://aka.ms/talangs per le lingue supportate nell'API lingua.

show_stats
bool

Se impostato su true, la risposta conterrà statistiche a livello di documento.

disable_service_logs
bool

Se impostato su true, si rifiuta di avere l'input di testo connesso sul lato servizio per la risoluzione dei problemi. Per impostazione predefinita, il servizio lingua registra il testo di input per 48 ore, solo per consentire la risoluzione dei problemi nel fornire le funzioni di elaborazione del linguaggio naturale del servizio. L'impostazione di questo parametro su true disabilita la registrazione dell'input e può limitare la possibilità di correggere i problemi che si verificano. Per altre informazioni, vedere Le note https://aka.ms/cs-compliance sulla conformità e sulla privacy dei servizi cognitivi e sui principi di Intelligenza artificiale responsabile microsoft sono disponibili in https://www.microsoft.com/ai/responsible-ai.

polling_interval
int

Tempo di attesa tra due polling per le operazioni LRO se non è presente alcuna intestazione Retry-After. Il valore predefinito è 5 secondi.

continuation_token
str

Chiamare continuation_token() nell'oggetto poller per salvare lo stato dell'operazione a esecuzione prolungata in un token opaco. Passare il valore come argomento parola chiave continuation_token per riavviare LRO da uno stato salvato.

display_name
str

Nome visualizzato facoltativo da impostare per l'analisi richiesta.

Restituisce

Istanza di AsyncTextAnalysisLROPoller. Chiama result() nell'oggetto per restituire una pagina eterogenea di ClassifyDocumentResult e DocumentError.

Tipo restituito

Eccezioni

Esempio

Eseguire la classificazione di etichette singole in un batch di documenti.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics.aio 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()]

   async with text_analytics_client:
       poller = await text_analytics_client.begin_single_label_classify(
           document,
           project_name=project_name,
           deployment_name=deployment_name
       )

       pages = await poller.result()

       document_results = []
       async for page in pages:
           document_results.append(page)

   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

Chiudere i socket aperti dal client. La chiamata a questo metodo non è necessaria quando si usa il client come gestione contesto.

async close() -> None

Eccezioni

detect_language

Rilevare la lingua per un batch di documenti.

Restituisce la lingua rilevata e un punteggio numerico compreso tra zero e uno. I punteggi vicini a uno indicano la certezza del 100% che la lingua identificata è vera. Per l'elenco delle lingue abilitate, vedere https://aka.ms/talangs l'elenco delle lingue abilitate.

Vedere https://aka.ms/azsdk/textanalytics/data-limits per i limiti dei dati del servizio.

Novità nella versione 3.1: argomento della parola chiave disable_service_logs .

async 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]

Parametri

documents
list[str] oppure list[DetectLanguageInput] oppure list[dict[str, str]]
Necessario

Set di documenti da elaborare come parte di questo batch. Se si desidera specificare l'ID e country_hint in base a ogni elemento, è necessario usare come input un elenco[DetectLanguageInput] o un elenco di rappresentazioni dict di DetectLanguageInput, come {"id": "1", "country_hint": "us", "us", "text": "hello world"}.

country_hint
str

Hint paese di origine per l'intero batch. Accetta due codici paese lettera specificati da ISO 3166-1 alfa-2. Gli hint per paese per documento avranno la precedenza su suggerimenti batch interi. Impostazione predefinita su "Stati Uniti". Se non si vuole usare un hint per il paese, passare la stringa "none".

model_version
str

Versione del modello da usare per l'analisi, ad esempio "più recente". Se non è specificata una versione del modello, l'API verrà predefinita alla versione più recente e non di anteprima. Per altre informazioni, vedere qui: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se impostato su true, la risposta conterrà statistiche a livello di documento nel campo statistiche della risposta a livello di documento.

disable_service_logs
bool

Se impostato su true, si rifiuta di avere l'input di testo connesso sul lato servizio per la risoluzione dei problemi. Per impostazione predefinita, il servizio lingua registra il testo di input per 48 ore, solo per consentire la risoluzione dei problemi nel fornire le funzioni di elaborazione del linguaggio naturale del servizio. L'impostazione di questo parametro su true disabilita la registrazione dell'input e può limitare la possibilità di correggere i problemi che si verificano. Per altre informazioni, vedere Le note https://aka.ms/cs-compliance sulla conformità e sulla privacy dei servizi cognitivi e sui principi di Intelligenza artificiale responsabile microsoft sono disponibili in https://www.microsoft.com/ai/responsible-ai.

Restituisce

L'elenco combinato di DetectLanguageResult e DocumentError nell'ordine in cui sono stati passati i documenti originali.

Tipo restituito

Eccezioni

Esempio

Rilevamento della lingua in un batch di documenti.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics.aio 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!
       """,
       """
       最近由于工作压力太大,我们决定去富酒店度假。那儿的温泉实在太舒服了,我跟我丈夫都完全恢复了工作前的青春精神!加油!
       """
   ]
   async with text_analytics_client:
       result = await 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

Estrarre frasi chiave da un batch di documenti.

Restituisce un elenco di stringhe che deno le frasi chiave nel testo di input. Ad esempio, per il testo di input "Il cibo era delizioso e c'era personale meraviglioso", l'API restituisce i principali punti di discussione: "cibo" e "personale meraviglioso"

Vedere https://aka.ms/azsdk/textanalytics/data-limits per i limiti dei dati del servizio.

Novità nella versione 3.1: argomento della parola chiave disable_service_logs .

async 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]

Parametri

documents
list[str] oppure list[TextDocumentInput] oppure list[dict[str, str]]
Necessario

Set di documenti da elaborare come parte di questo batch. Se si desidera specificare l'ID e la lingua per ogni elemento, è necessario usare come elenco[TextDocumentInput] o un elenco di rappresentazioni dict di TextDocumentInput, come {"id": "1", "language": "en", "text": "hello world"}.

language
str

Rappresentazione del linguaggio ISO 639-1 2 lettera per l'intero batch. Ad esempio, usare "en" per l'inglese; "es" per spagnolo e così via. Se non è impostato, usa "en" per l'inglese come impostazione predefinita. Il linguaggio per documento avrà la precedenza sull'intero linguaggio batch. Vedere https://aka.ms/talangs per le lingue supportate nell'API lingua.

model_version
str

Versione del modello da usare per l'analisi, ad esempio "più recente". Se non è specificata una versione del modello, l'API verrà predefinita alla versione più recente e non di anteprima. Per altre informazioni, vedere qui: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se impostato su true, la risposta conterrà statistiche a livello di documento nel campo statistiche della risposta a livello di documento.

disable_service_logs
bool

Se impostato su true, si rifiuta di avere l'input di testo connesso sul lato servizio per la risoluzione dei problemi. Per impostazione predefinita, il servizio lingua registra il testo di input per 48 ore, solo per consentire la risoluzione dei problemi nel fornire le funzioni di elaborazione del linguaggio naturale del servizio. L'impostazione di questo parametro su true disabilita la registrazione dell'input e può limitare la possibilità di correggere i problemi che si verificano. Per altre informazioni, vedere Le note https://aka.ms/cs-compliance sulla conformità e sulla privacy dei servizi cognitivi e sui principi di Intelligenza artificiale responsabile microsoft sono disponibili in https://www.microsoft.com/ai/responsible-ai.

Restituisce

L'elenco combinato di ExtractKeyPhrasesResult e DocumentError nell'ordine in cui sono stati passati i documenti originali.

Tipo restituito

Eccezioni

Esempio

Estrarre le frasi chiave in un batch di documenti.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics.aio 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...
       """
   ]

   async with text_analytics_client:
       result = await text_analytics_client.extract_key_phrases(articles)

   articles_that_mention_microsoft = []
   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

Riconoscere le entità per un batch di documenti.

Identifica e classifica le entità nel testo come persone, posizioni, organizzazioni, data/ora, quantità, percentuali, valute e altro ancora. Per l'elenco dei tipi di entità supportati, controllare: https://aka.ms/taner

Vedere https://aka.ms/azsdk/textanalytics/data-limits per i limiti dei dati del servizio.

Novità nella versione 3.1: argomenti della parola chiave disable_service_logs e string_index_type .

async 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]

Parametri

documents
list[str] oppure list[TextDocumentInput] oppure list[dict[str, str]]
Necessario

Set di documenti da elaborare come parte di questo batch. Se si desidera specificare l'ID e la lingua per ogni elemento, è necessario usare come elenco[TextDocumentInput] o un elenco di rappresentazioni dict di TextDocumentInput, come {"id": "1", "language": "en", "text": "hello world"}.

language
str

Rappresentazione del linguaggio ISO 639-1 2 lettera per l'intero batch. Ad esempio, usare "en" per l'inglese; "es" per spagnolo e così via. Se non è impostato, usa "en" per l'inglese come impostazione predefinita. Il linguaggio per documento avrà la precedenza sull'intero linguaggio batch. Vedere https://aka.ms/talangs per le lingue supportate nell'API lingua.

model_version
str

Versione del modello da usare per l'analisi, ad esempio "più recente". Se non è specificata una versione del modello, l'API verrà predefinita alla versione più recente e non di anteprima. Per altre informazioni, vedere qui: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se impostato su true, la risposta conterrà statistiche a livello di documento nel campo statistiche della risposta a livello di documento.

string_index_type
str

Specifica il metodo usato per interpretare gli offset di stringa. UnicodeCodePoint, la codifica Python, è l'impostazione predefinita. Per eseguire l'override del valore predefinito di Python, è anche possibile passare Utf16CodeUnit o TextElement_v8. Per altre informazioni, vedere https://aka.ms/text-analytics-offsets

disable_service_logs
bool

Se impostato su true, si rifiuta di avere l'input di testo connesso sul lato servizio per la risoluzione dei problemi. Per impostazione predefinita, il servizio lingua registra il testo di input per 48 ore, solo per consentire la risoluzione dei problemi nel fornire le funzioni di elaborazione del linguaggio naturale del servizio. L'impostazione di questo parametro su true disabilita la registrazione dell'input e può limitare la possibilità di correggere i problemi che si verificano. Per altre informazioni, vedere Le note https://aka.ms/cs-compliance sulla conformità e sulla privacy dei servizi cognitivi e sui principi di Intelligenza artificiale responsabile microsoft sono disponibili in https://www.microsoft.com/ai/responsible-ai.

Restituisce

L'elenco combinato di RecognizeEntitiesResult e DocumentError nell'ordine in cui sono stati passati i documenti originali.

Tipo restituito

Eccezioni

Esempio

Riconoscere le entità in un batch di documenti.


   import os
   import typing
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics.aio 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!!!!"""
   ]

   async with text_analytics_client:
       result = await 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

Riconoscere le entità collegate da un knowledge base noto per un batch di documenti.

Identifica e disambigua l'identità di ogni entità trovata nel testo, ad esempio determinando se una occorrenza della parola Mars fa riferimento al pianeta o al dio romano della guerra. Le entità riconosciute sono associate agli URL a un knowledge base noto, come Wikipedia.

Vedere https://aka.ms/azsdk/textanalytics/data-limits per i limiti dei dati del servizio.

Novità nella versione 3.1: argomenti della parola chiave disable_service_logs e string_index_type .

async 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]

Parametri

documents
list[str] oppure list[TextDocumentInput] oppure list[dict[str, str]]
Necessario

Set di documenti da elaborare come parte di questo batch. Se si desidera specificare l'ID e la lingua per ogni elemento, è necessario usare come elenco[TextDocumentInput] o un elenco di rappresentazioni dict di TextDocumentInput, come {"id": "1", "language": "en", "text": "hello world"}.

language
str

Rappresentazione del linguaggio ISO 639-1 2 lettera per l'intero batch. Ad esempio, usare "en" per l'inglese; "es" per spagnolo e così via. Se non è impostato, usa "en" per l'inglese come impostazione predefinita. Il linguaggio per documento avrà la precedenza sull'intero linguaggio batch. Vedere https://aka.ms/talangs per le lingue supportate nell'API lingua.

model_version
str

Versione del modello da usare per l'analisi, ad esempio "più recente". Se non è specificata una versione del modello, l'API verrà predefinita alla versione più recente e non di anteprima. Per altre informazioni, vedere qui: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se impostato su true, la risposta conterrà statistiche a livello di documento nel campo statistiche della risposta a livello di documento.

string_index_type
str

Specifica il metodo usato per interpretare gli offset di stringa. UnicodeCodePoint, la codifica Python, è l'impostazione predefinita. Per eseguire l'override del valore predefinito di Python, è anche possibile passare Utf16CodeUnit o TextElement_v8. Per altre informazioni, vedere https://aka.ms/text-analytics-offsets

disable_service_logs
bool

Se impostato su true, si rifiuta di avere l'input di testo connesso sul lato servizio per la risoluzione dei problemi. Per impostazione predefinita, il servizio lingua registra il testo di input per 48 ore, solo per consentire la risoluzione dei problemi nel fornire le funzioni di elaborazione del linguaggio naturale del servizio. L'impostazione di questo parametro su true disabilita la registrazione dell'input e può limitare la possibilità di correggere i problemi che si verificano. Per altre informazioni, vedere Le note https://aka.ms/cs-compliance sulla conformità e sulla privacy dei servizi cognitivi e sui principi di Intelligenza artificiale responsabile microsoft sono disponibili in https://www.microsoft.com/ai/responsible-ai.

Restituisce

L'elenco combinato di RecognizeLinkedEntitiesResult e DocumentError nell'ordine in cui sono stati passati i documenti originali.

Tipo restituito

Eccezioni

Esempio

Riconoscere le entità collegate in un batch di documenti.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics.aio 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.
       """
   ]

   async with text_analytics_client:
       result = await 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

Riconoscere le entità contenenti informazioni personali per un batch di documenti.

Restituisce un elenco di entità di informazioni personali ("SSN", "Conto bancario" e così via) nel documento. Per l'elenco dei tipi di entità supportati, controllare https://aka.ms/azsdk/language/pii

Vedere https://aka.ms/azsdk/textanalytics/data-limits per i limiti dei dati del servizio.

Novità nella versione v3.1: metodo client recognize_pii_entities .

async 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]

Parametri

documents
list[str] oppure list[TextDocumentInput] oppure list[dict[str, str]]
Necessario

Set di documenti da elaborare come parte di questo batch. Se si desidera specificare l'ID e la lingua per ogni elemento, è necessario usare come elenco[TextDocumentInput] o un elenco di rappresentazioni dict di TextDocumentInput, come {"id": "1", "language": "en", "text": "hello world"}.

language
str

Rappresentazione del linguaggio ISO 639-1 2 lettera per l'intero batch. Ad esempio, usare "en" per l'inglese; "es" per spagnolo e così via. Se non è impostato, usa "en" per l'inglese come impostazione predefinita. Il linguaggio per documento avrà la precedenza sull'intero linguaggio batch. Vedere https://aka.ms/talangs per le lingue supportate nell'API lingua.

model_version
str

Versione del modello da usare per l'analisi, ad esempio "più recente". Se non è specificata una versione del modello, l'API verrà predefinita alla versione più recente e non di anteprima. Per altre informazioni, vedere qui: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Se impostato su true, la risposta conterrà statistiche a livello di documento nel campo statistiche della risposta a livello di documento.

domain_filter
str oppure PiiEntityDomain

Filtra le entità di risposta a quelle incluse solo nel dominio specificato. Ad esempio, se impostato su 'phi', restituirà solo entità nel dominio Informazioni sanitarie protette. Per altre informazioni, vedere https://aka.ms/azsdk/language/pii.

categories_filter
list[str oppure PiiEntityCategory]

Anziché filtrare tutte le categorie di entità PII, è possibile passare un elenco delle categorie di entità pii specifiche da filtrare. Ad esempio, se si desidera filtrare solo i numeri di sicurezza sociale degli Stati Uniti in un documento, è possibile passare [PiiEntityCategory.US_SOCIAL_SECURITY_NUMBER] per questo kwarg.

string_index_type
str

Specifica il metodo usato per interpretare gli offset di stringa. UnicodeCodePoint, la codifica Python, è l'impostazione predefinita. Per eseguire l'override del valore predefinito di Python, è anche possibile passare Utf16CodeUnit o TextElement_v8. Per altre informazioni, vedere https://aka.ms/text-analytics-offsets

disable_service_logs
bool

Il valore predefinito è true, ovvero che il servizio lingua non registra il testo di input sul lato servizio per la risoluzione dei problemi. Se impostato su False, il servizio lingua registra il testo di input per 48 ore, solo per consentire la risoluzione dei problemi nel fornire le funzioni di elaborazione del linguaggio naturale del servizio. Per altre informazioni, vedere Le note https://aka.ms/cs-compliance sulla conformità e sulla privacy dei servizi cognitivi e sui principi di Intelligenza artificiale responsabile microsoft sono disponibili in https://www.microsoft.com/ai/responsible-ai.

Restituisce

L'elenco combinato di RecognizePiiEntitiesResult e DocumentError nell'ordine in cui sono stati passati i documenti originali.

Tipo restituito

Eccezioni

Esempio

Riconoscere le entità informazioni personali in un batch di documenti.


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