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.AsyncTextAnalyticsClientBaseTextAnalyticsClient
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
Endpoint di risorse di Servizi cognitivi o lingua supportati (protocollo e nome host, ad esempio: 'https://.cognitiveservices.azure.com').
- credential
- AzureKeyCredential oppure AsyncTokenCredential
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://video2.skills-academy.com/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: 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://video2.skills-academy.com/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
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://video2.skills-academy.com/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
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.
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
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
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:
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
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]
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
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://video2.skills-academy.com/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
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.
I valori possibili includono: "Offset", "Rank". Valore predefinito: "Offset".
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
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
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
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.
- 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
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.
- 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
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.
- 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
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
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
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
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
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
))
Azure SDK for Python