TextAnalyticsClient Classe
L’API language service est une suite de compétences de traitement en langage naturel (NLP) créées avec les meilleurs algorithmes de Machine Learning Microsoft. L’API peut être utilisée pour analyser du texte non structuré pour des tâches telles que l’analyse des sentiments, l’extraction d’expressions clés, la reconnaissance d’entités et la détection de langue, etc.
Vous trouverez plus de documentation dans https://docs.microsoft.com/azure/cognitive-services/language-service/overview
- Héritage
-
azure.ai.textanalytics._base_client.TextAnalyticsClientBaseTextAnalyticsClient
Constructeur
TextAnalyticsClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, *, default_language: str | None = None, default_country_hint: str | None = None, api_version: str | TextAnalyticsApiVersion | None = None, **kwargs: Any)
Paramètres
- endpoint
- str
Points de terminaison de ressources Cognitive Services ou Language pris en charge (protocole et nom d’hôte, par exemple : « https://.cognitiveservices.azure.com »).
- credential
- AzureKeyCredential ou TokenCredential
Informations d’identification nécessaires pour que le client se connecte à Azure. Il peut s’agir de la instance d’AzureKeyCredential si vous utilisez une clé API Cognitive Services/Language ou des informations d’identification de jeton à partir de identity.
- default_country_hint
- str
Définit la country_hint par défaut à utiliser pour toutes les opérations. La valeur par défaut est « US ». Si vous ne souhaitez pas utiliser d’indicateur de pays, passez la chaîne « none ».
- default_language
- str
Définit la langue par défaut à utiliser pour toutes les opérations. La valeur par défaut est « en ».
- api_version
- str ou TextAnalyticsApiVersion
Version de l’API du service à utiliser pour les requêtes. Il utilise par défaut la dernière version du service. La définition d’une version antérieure peut réduire la compatibilité des fonctionnalités.
Exemples
Création de TextAnalyticsClient avec un point de terminaison et une clé API.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint, AzureKeyCredential(key))
Création de TextAnalyticsClient avec des informations d’identification de point de terminaison et de jeton à partir d’Azure Active Directory.
import os
from azure.ai.textanalytics import TextAnalyticsClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
credential = DefaultAzureCredential()
text_analytics_client = TextAnalyticsClient(endpoint, credential=credential)
Méthodes
analyze_sentiment |
Analysez les sentiments d’un lot de documents. Activez l’exploration des opinions avec show_opinion_mining. Retourne une prédiction de sentiment, ainsi que des scores de sentiment pour chaque classe de sentiment (positive, négative et neutre) pour le document et chaque phrase qu’il contient. Consultez pour connaître https://aka.ms/azsdk/textanalytics/data-limits les limites des données de service. Nouveauté de la version v3.1 : arguments show_opinion_mining, disable_service_logs et string_index_type mot clé. |
begin_abstract_summary |
Démarrez une opération de synthèse abstraite de longue durée. Pour une présentation conceptuelle de la synthèse abstraite, consultez la documentation du service : https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview Nouveautés de la version 2023-04-01 : méthode cliente begin_abstract_summary . |
begin_analyze_actions |
Démarrez une opération de longue durée pour effectuer diverses actions d’analyse de texte sur un lot de documents. Nous vous recommandons d’utiliser cette fonction si vous souhaitez analyser des documents plus volumineux et/ou combiner plusieurs actions d’analyse de texte en un seul appel. Sinon, nous vous recommandons d’utiliser les points de terminaison spécifiques à l’action, par exemple analyze_sentiment. Notes Consultez la documentation du service pour la prise en charge régionale des fonctionnalités d’action personnalisée : Nouveauté de la version v3.1 : méthode cliente begin_analyze_actions . Nouveautés de la version 2022-05-01 : les options d’entrée RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction et AnalyzeHealthcareEntitiesAction, ainsi que les objets de résultat RecognizeCustomEntitiesResult, ClassifyDocumentResult et AnalyzeHealthcareEntitiesResult correspondants Nouveauté de la version 2023-04-01 : les options d’entrée ExtractSummaryAction et AbstractiveSummaryAction , ainsi que les objets de résultat ExtractSummaryResult et AbstractiveSummaryResult correspondants. |
begin_analyze_healthcare_entities |
Analysez les entités de soins de santé et identifiez les relations entre ces entités dans un lot de documents. Les entités sont associées à des références qui se trouvent dans des bases de connaissances existantes, telles que UMLS, CHV, MSH, etc. Nous extrayons également les relations trouvées entre les entités, par exemple dans « Le sujet a pris 100 mg d’ibuprofène », nous allons extraire la relation entre la dose « 100 mg » et le médicament « ibuprofène ». Nouveauté de la version v3.1 : méthode cliente begin_analyze_healthcare_entities . Nouveauté de la version 2022-05-01 : argument display_name mot clé. |
begin_extract_summary |
Démarrez une opération de résumé extractif de longue durée. Pour une discussion conceptuelle sur le résumé extractif, consultez la documentation du service : https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview Nouveauté de la version 2023-04-01 : la méthode cliente begin_extract_summary . |
begin_multi_label_classify |
Démarrez une opération de classification multi-étiquette personnalisée de longue durée. Pour plus d’informations sur la prise en charge régionale des fonctionnalités personnalisées et sur l’apprentissage d’un modèle pour classifier vos documents, consultez https://aka.ms/azsdk/textanalytics/customfunctionalities Nouveauté de la version 2022-05-01 : la méthode cliente begin_multi_label_classify . |
begin_recognize_custom_entities |
Démarrez une opération de reconnaissance d’entité nommée personnalisée de longue durée. Pour plus d’informations sur la prise en charge régionale des fonctionnalités personnalisées et sur la façon d’entraîner un modèle à la reconnaissance d’entités personnalisées, consultez https://aka.ms/azsdk/textanalytics/customentityrecognition Nouveauté de la version 2022-05-01 : méthode cliente begin_recognize_custom_entities . |
begin_single_label_classify |
Démarrez une opération de classification d’étiquette unique personnalisée de longue durée. Pour plus d’informations sur la prise en charge régionale des fonctionnalités personnalisées et sur l’apprentissage d’un modèle pour classifier vos documents, consultez https://aka.ms/azsdk/textanalytics/customfunctionalities Nouveauté de la version 2022-05-01 : la méthode cliente begin_single_label_classify . |
close |
Fermez les sockets ouverts par le client. L’appel de cette méthode n’est pas nécessaire lors de l’utilisation du client comme gestionnaire de contexte. |
detect_language |
Détecter la langue d’un lot de documents. Retourne la langue détectée et un score numérique compris entre zéro et un. Les scores proches d’un indiquent une certitude de 100 % que la langue identifiée est vraie. Consultez https://aka.ms/talangs la liste des langues activées. Consultez pour connaître https://aka.ms/azsdk/textanalytics/data-limits les limites des données de service. Nouveauté de la version v3.1 : argument disable_service_logs mot clé. |
extract_key_phrases |
Extraire des expressions clés d’un lot de documents. Renvoie une liste de chaînes indiquant les expressions clés dans le texte d’entrée. Par exemple, pour le texte d’entrée « La nourriture était délicieuse et il y avait un personnel merveilleux », l’API retourne les main points de discussion : « nourriture » et « personnel merveilleux » Consultez pour connaître https://aka.ms/azsdk/textanalytics/data-limits les limites des données de service. Nouveauté de la version v3.1 : argument disable_service_logs mot clé. |
recognize_entities |
Reconnaître des entités pour un lot de documents. Identifie et catégorise les entités de votre texte en tant que personnes, lieux, organisations, date/heure, quantités, pourcentages, devises, etc. Pour obtenir la liste des types d’entités pris en charge, case activée :https://aka.ms/taner Consultez pour connaître https://aka.ms/azsdk/textanalytics/data-limits les limites des données de service. Nouveauté de la version v3.1 : arguments disable_service_logs et string_index_type mot clé. |
recognize_linked_entities |
Reconnaître les entités liées à partir d’un base de connaissances connu pour un lot de documents. Identifie et désambigue l’identité de chaque entité trouvée dans le texte (par exemple, en déterminant si une occurrence du mot Mars fait référence à la planète, ou au dieu romain de la guerre). Les entités reconnues sont associées à des URL à un base de connaissances bien connu, comme Wikipédia. Consultez pour connaître https://aka.ms/azsdk/textanalytics/data-limits les limites des données de service. Nouveauté de la version v3.1 : arguments disable_service_logs et string_index_type mot clé. |
recognize_pii_entities |
Reconnaître les entités contenant des informations personnelles pour un lot de documents. Retourne une liste d’entités d’informations personnelles (« SSN », « Compte bancaire », etc.) dans le document. Pour obtenir la liste des types d’entités pris en charge, case activée https://aka.ms/azsdk/language/pii Consultez pour connaître https://aka.ms/azsdk/textanalytics/data-limits les limites des données de service. Nouveauté de la version v3.1 : méthode cliente recognize_pii_entities . |
analyze_sentiment
Analysez les sentiments d’un lot de documents. Activez l’exploration des opinions avec show_opinion_mining.
Retourne une prédiction de sentiment, ainsi que des scores de sentiment pour chaque classe de sentiment (positive, négative et neutre) pour le document et chaque phrase qu’il contient.
Consultez pour connaître https://aka.ms/azsdk/textanalytics/data-limits les limites des données de service.
Nouveauté de la version v3.1 : arguments show_opinion_mining, disable_service_logs et string_index_type mot clé.
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]
Paramètres
Ensemble de documents à traiter dans le cadre de ce lot. Si vous souhaitez spécifier l’ID et la langue par élément, vous devez utiliser comme entrée une liste[TextDocumentInput] ou une liste de représentations de dictées de TextDocumentInput, comme {"id »: « 1 », « language »: « en », « text »: « hello world"}.
- show_opinion_mining
- bool
Déterminer s’il faut extraire les opinions d’une phrase et effectuer une analyse plus granulaire sur les aspects d’un produit ou d’un service (également appelée analyse des sentiments basée sur les aspects). Si la valeur est true, les objets retournés SentenceSentiment auront la propriété mined_opinions contenant le résultat de cette analyse. Disponible uniquement pour les versions d’API v3.1 et ultérieures.
- language
- str
Représentation ISO 639-1 à 2 lettres de la langue pour l’ensemble du lot. Par exemple, utilisez « en » pour l’anglais ; « es » pour l’espagnol, etc. S’il n’est pas défini, utilise « en » pour l’anglais comme valeur par défaut. La langue par document est prioritaire sur la langue de lot entière. Consultez pour connaître https://aka.ms/talangs les langues prises en charge dans l’API de langue.
- model_version
- str
Version du modèle à utiliser pour l’analyse, par exemple « dernière ». Si aucune version de modèle n’est spécifiée, l’API utilise par défaut la dernière version non préversion. Pour plus d’informations, voir ici : https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Si la valeur est true, la réponse contient des statistiques au niveau du document dans le champ statistiques de la réponse au niveau du document.
- string_index_type
- str
Spécifie la méthode utilisée pour interpréter les décalages de chaîne. UnicodeCodePoint, l’encodage Python, est la valeur par défaut. Pour remplacer la valeur par défaut de Python, vous pouvez également passer Utf16CodeUnit ou TextElement_v8. Pour plus d’informations, consultez https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
Si la valeur est true, vous refusez que votre entrée de texte soit journalisée côté service à des fins de résolution des problèmes. Par défaut, le service Language enregistre votre texte d’entrée pendant 48 heures, uniquement pour permettre la résolution des problèmes liés à la fourniture des fonctions de traitement en langage naturel du service. La définition de ce paramètre sur true désactive la journalisation des entrées et peut limiter notre capacité à corriger les problèmes qui se produisent. Pour plus d’informations, consultez les notes relatives à la conformité et à https://aka.ms/cs-compliance la confidentialité de Cognitive Services et aux principes de Microsoft Responsible AI à l’adresse https://www.microsoft.com/ai/responsible-ai.
Retours
Liste combinée de AnalyzeSentimentResult et DocumentError dans l’ordre dans lequel les documents originaux ont été transmis.
Type de retour
Exceptions
Exemples
Analysez les sentiments dans un lot de documents.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
documents = [
"""I had the best day of my life. I decided to go sky-diving and it made me appreciate my whole life so much more.
I developed a deep-connection with my instructor as well, and I feel as if I've made a life-long friend in her.""",
"""This was a waste of my time. All of the views on this drop are extremely boring, all I saw was grass. 0/10 would
not recommend to any divers, even first timers.""",
"""This was pretty good! The sights were ok, and I had fun with my instructors! Can't complain too much about my experience""",
"""I only have one word for my experience: WOW!!! I can't believe I have had such a wonderful skydiving company right
in my backyard this whole time! I will definitely be a repeat customer, and I want to take my grandmother skydiving too,
I know she'll love it!"""
]
result = text_analytics_client.analyze_sentiment(documents, show_opinion_mining=True)
docs = [doc for doc in result if not doc.is_error]
print("Let's visualize the sentiment of each of these documents")
for idx, doc in enumerate(docs):
print(f"Document text: {documents[idx]}")
print(f"Overall sentiment: {doc.sentiment}")
begin_abstract_summary
Démarrez une opération de synthèse abstraite de longue durée.
Pour une présentation conceptuelle de la synthèse abstraite, consultez la documentation du service : https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview
Nouveautés de la version 2023-04-01 : méthode cliente begin_abstract_summary .
begin_abstract_summary(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, model_version: str | None = None, string_index_type: str | None = None, sentence_count: int | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[AbstractiveSummaryResult | DocumentError]]
Paramètres
Ensemble de documents à traiter dans le cadre de ce lot. Si vous souhaitez spécifier l’ID et la langue par élément, vous devez utiliser comme entrée une liste[TextDocumentInput] ou une liste de représentations de dictées de TextDocumentInput, comme {"id »: « 1 », « language »: « en », « text »: « hello world"}.
- language
- str
Représentation ISO 639-1 à 2 lettres de la langue pour l’ensemble du lot. Par exemple, utilisez « en » pour l’anglais ; « es » pour l’espagnol, etc. S’il n’est pas défini, utilise « en » pour l’anglais comme valeur par défaut. La langue par document est prioritaire sur la langue de lot entière. Consultez pour connaître https://aka.ms/talangs les langues prises en charge dans l’API de langue.
- show_stats
- bool
Si la valeur est true, la réponse contient des statistiques au niveau du document.
Il contrôle le nombre approximatif de phrases dans les résumés de sortie.
Version du modèle à utiliser pour l’analyse, par exemple « dernière ». Si aucune version de modèle n’est spécifiée, l’API utilise par défaut la dernière version non préversion. Pour plus d’informations, voir ici : https://aka.ms/text-analytics-model-versioning
Spécifie la méthode utilisée pour interpréter les décalages de chaîne.
- disable_service_logs
- bool
Si la valeur est true, vous refusez que votre entrée de texte soit journalisée côté service à des fins de résolution des problèmes. Par défaut, le service Language enregistre votre texte d’entrée pendant 48 heures, uniquement pour permettre la résolution des problèmes liés à la fourniture des fonctions de traitement en langage naturel du service. La définition de ce paramètre sur true désactive la journalisation des entrées et peut limiter notre capacité à corriger les problèmes qui se produisent. Pour plus d’informations, consultez les notes relatives à la conformité et à https://aka.ms/cs-compliance la confidentialité de Cognitive Services et aux principes de Microsoft Responsible AI à l’adresse https://www.microsoft.com/ai/responsible-ai.
- polling_interval
- int
Temps d’attente entre deux sondages pour les opérations LRO si aucun en-tête Retry-After n’est présent. La valeur par défaut est de 5 secondes.
- continuation_token
- str
Appelez continuation_token() sur l’objet poller pour enregistrer l’état de l’opération de longue durée (LRO) dans un jeton opaque. Transmettez la valeur en tant qu’argument mot clé continuation_token pour redémarrer le LRO à partir d’un état enregistré.
- display_name
- str
Nom complet facultatif à définir pour l’analyse demandée.
Retours
Instance d’un TextAnalysisLROPoller. Appelez result() sur cet objet pour retourner un paginable hétérogène de AbstractiveSummaryResult et DocumentError.
Type de retour
Exceptions
Exemples
Effectuer un résumé abstrait sur un lot de documents.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
document = [
"At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, "
"human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI Cognitive "
"Services, I have been working with a team of amazing scientists and engineers to turn this quest into a "
"reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of "
"human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the "
"intersection of all three, there's magic-what we call XYZ-code as illustrated in Figure 1-a joint "
"representation to create more powerful AI that can speak, hear, see, and understand humans better. "
"We believe XYZ-code will enable us to fulfill our long-term vision: cross-domain transfer learning, "
"spanning modalities and languages. The goal is to have pretrained models that can jointly learn "
"representations to support a broad range of downstream AI tasks, much in the way humans do today. "
"Over the past five years, we have achieved human performance on benchmarks in conversational speech "
"recognition, machine translation, conversational question answering, machine reading comprehension, "
"and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious "
"aspiration to produce a leap in AI capabilities, achieving multisensory and multilingual learning that "
"is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational "
"component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
]
poller = text_analytics_client.begin_abstract_summary(document)
abstract_summary_results = poller.result()
for result in abstract_summary_results:
if result.kind == "AbstractiveSummarization":
print("Summaries abstracted:")
[print(f"{summary.text}\n") for summary in result.summaries]
elif result.is_error is True:
print("...Is an error with code '{}' and message '{}'".format(
result.error.code, result.error.message
))
begin_analyze_actions
Démarrez une opération de longue durée pour effectuer diverses actions d’analyse de texte sur un lot de documents.
Nous vous recommandons d’utiliser cette fonction si vous souhaitez analyser des documents plus volumineux et/ou combiner plusieurs actions d’analyse de texte en un seul appel. Sinon, nous vous recommandons d’utiliser les points de terminaison spécifiques à l’action, par exemple analyze_sentiment.
Notes
Consultez la documentation du service pour la prise en charge régionale des fonctionnalités d’action personnalisée :
Nouveauté de la version v3.1 : méthode cliente begin_analyze_actions .
Nouveautés de la version 2022-05-01 : les options d’entrée RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction et AnalyzeHealthcareEntitiesAction, ainsi que les objets de résultat RecognizeCustomEntitiesResult, ClassifyDocumentResult et AnalyzeHealthcareEntitiesResult correspondants
Nouveauté de la version 2023-04-01 : les options d’entrée ExtractSummaryAction et AbstractiveSummaryAction , ainsi que les objets de résultat ExtractSummaryResult et AbstractiveSummaryResult correspondants.
begin_analyze_actions(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], actions: List[RecognizeEntitiesAction | RecognizeLinkedEntitiesAction | RecognizePiiEntitiesAction | ExtractKeyPhrasesAction | AnalyzeSentimentAction | RecognizeCustomEntitiesAction | SingleLabelClassifyAction | MultiLabelClassifyAction | AnalyzeHealthcareEntitiesAction | ExtractiveSummaryAction | AbstractiveSummaryAction], *, continuation_token: str | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[List[RecognizeEntitiesResult | RecognizeLinkedEntitiesResult | RecognizePiiEntitiesResult | ExtractKeyPhrasesResult | AnalyzeSentimentResult | RecognizeCustomEntitiesResult | ClassifyDocumentResult | AnalyzeHealthcareEntitiesResult | ExtractiveSummaryResult | AbstractiveSummaryResult | DocumentError]]]
Paramètres
Ensemble de documents à traiter dans le cadre de ce lot. Si vous souhaitez spécifier l’ID et la langue par élément, vous devez utiliser comme entrée une liste[TextDocumentInput] ou une liste de représentations de dictées de TextDocumentInput, comme {"id »: « 1 », « language »: « en », « text »: « hello world"}.
- actions
- list[RecognizeEntitiesAction ou RecognizePiiEntitiesAction ou ExtractKeyPhrasesAction ou RecognizeLinkedEntitiesAction ou AnalyzeSentimentAction ou RecognizeCustomEntitiesAction ou SingleLabelClassifyAction ou MultiLabelClassifyAction ou AnalyzeHealthcareEntitiesAction ou ExtractiveSummaryAction ou AbstractiveSummaryAction]
Liste hétérogène d’actions à effectuer sur les documents d’entrée. Chaque objet d’action encapsule les paramètres utilisés pour le type d’action particulier. Les résultats de l’action seront dans le même ordre que les actions d’entrée.
- display_name
- str
Nom complet facultatif à définir pour l’analyse demandée.
- language
- str
Représentation ISO 639-1 à 2 lettres de la langue pour l’ensemble du lot. Par exemple, utilisez « en » pour l’anglais ; « es » pour l’espagnol, etc. S’il n’est pas défini, utilise « en » pour l’anglais comme valeur par défaut. La langue par document est prioritaire sur la langue de lot entière. Consultez pour connaître https://aka.ms/talangs les langues prises en charge dans l’API de langue.
- show_stats
- bool
Si la valeur est true, la réponse contient des statistiques au niveau du document.
- polling_interval
- int
Temps d’attente entre deux sondages pour les opérations LRO si aucun en-tête Retry-After n’est présent. La valeur par défaut est de 5 secondes.
- continuation_token
- str
Appelez continuation_token() sur l’objet poller pour enregistrer l’état de l’opération de longue durée (LRO) dans un jeton opaque. Transmettez la valeur en tant qu’argument mot clé continuation_token pour redémarrer le LRO à partir d’un état enregistré.
Retours
Instance d’un TextAnalysisLROPoller. Appelez result() sur l’objet poller pour renvoyer une liste hétérogène paginable de listes. Cette liste de listes est d’abord triée par les documents que vous entrez, puis triée par les actions que vous entrez. Par exemple, si vous avez des entrées de documents ["Hello », « world"], et des actions RecognizeEntitiesAction et AnalyzeSentimentAction, lors de l’itération sur la liste des listes, vous allez d’abord itérer sur les résultats de l’action pour le document « Hello », en obtenant « RecognizeEntitiesResult Hello », puis « AnalyzeSentimentResult Hello ». Ensuite, vous obtiendrez le RecognizeEntitiesResult et AnalyzeSentimentResult du « monde ».
Type de retour
Exceptions
Exemples
Démarrez une opération de longue durée pour effectuer diverses actions d’analyse de texte sur un lot de documents.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import (
TextAnalyticsClient,
RecognizeEntitiesAction,
RecognizeLinkedEntitiesAction,
RecognizePiiEntitiesAction,
ExtractKeyPhrasesAction,
AnalyzeSentimentAction,
)
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
documents = [
'We went to Contoso Steakhouse located at midtown NYC last week for a dinner party, and we adore the spot! '
'They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is John Doe) '
'and he is super nice, coming out of the kitchen and greeted us all.'
,
'We enjoyed very much dining in the place! '
'The Sirloin steak I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their '
'online menu at www.contososteakhouse.com, call 312-555-0176 or send email to order@contososteakhouse.com! '
'The only complaint I have is the food didn\'t come fast enough. Overall I highly recommend it!'
]
poller = text_analytics_client.begin_analyze_actions(
documents,
display_name="Sample Text Analysis",
actions=[
RecognizeEntitiesAction(),
RecognizePiiEntitiesAction(),
ExtractKeyPhrasesAction(),
RecognizeLinkedEntitiesAction(),
AnalyzeSentimentAction(),
],
)
document_results = poller.result()
for doc, action_results in zip(documents, document_results):
print(f"\nDocument text: {doc}")
for result in action_results:
if result.kind == "EntityRecognition":
print("...Results of Recognize Entities Action:")
for entity in result.entities:
print(f"......Entity: {entity.text}")
print(f".........Category: {entity.category}")
print(f".........Confidence Score: {entity.confidence_score}")
print(f".........Offset: {entity.offset}")
elif result.kind == "PiiEntityRecognition":
print("...Results of Recognize PII Entities action:")
for pii_entity in result.entities:
print(f"......Entity: {pii_entity.text}")
print(f".........Category: {pii_entity.category}")
print(f".........Confidence Score: {pii_entity.confidence_score}")
elif result.kind == "KeyPhraseExtraction":
print("...Results of Extract Key Phrases action:")
print(f"......Key Phrases: {result.key_phrases}")
elif result.kind == "EntityLinking":
print("...Results of Recognize Linked Entities action:")
for linked_entity in result.entities:
print(f"......Entity name: {linked_entity.name}")
print(f".........Data source: {linked_entity.data_source}")
print(f".........Data source language: {linked_entity.language}")
print(
f".........Data source entity ID: {linked_entity.data_source_entity_id}"
)
print(f".........Data source URL: {linked_entity.url}")
print(".........Document matches:")
for match in linked_entity.matches:
print(f"............Match text: {match.text}")
print(f"............Confidence Score: {match.confidence_score}")
print(f"............Offset: {match.offset}")
print(f"............Length: {match.length}")
elif result.kind == "SentimentAnalysis":
print("...Results of Analyze Sentiment action:")
print(f"......Overall sentiment: {result.sentiment}")
print(
f"......Scores: positive={result.confidence_scores.positive}; \
neutral={result.confidence_scores.neutral}; \
negative={result.confidence_scores.negative} \n"
)
elif result.is_error is True:
print(
f"...Is an error with code '{result.error.code}' and message '{result.error.message}'"
)
print("------------------------------------------")
begin_analyze_healthcare_entities
Analysez les entités de soins de santé et identifiez les relations entre ces entités dans un lot de documents.
Les entités sont associées à des références qui se trouvent dans des bases de connaissances existantes, telles que UMLS, CHV, MSH, etc.
Nous extrayons également les relations trouvées entre les entités, par exemple dans « Le sujet a pris 100 mg d’ibuprofène », nous allons extraire la relation entre la dose « 100 mg » et le médicament « ibuprofène ».
Nouveauté de la version v3.1 : méthode cliente begin_analyze_healthcare_entities .
Nouveauté de la version 2022-05-01 : argument display_name mot clé.
begin_analyze_healthcare_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, model_version: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> AnalyzeHealthcareEntitiesLROPoller[ItemPaged[AnalyzeHealthcareEntitiesResult | DocumentError]]
Paramètres
Ensemble de documents à traiter dans le cadre de ce lot. Si vous souhaitez spécifier l’ID et la langue par élément, vous devez utiliser comme entrée une liste[TextDocumentInput] ou une liste de représentations de dict de TextDocumentInput, comme {"id »: « 1 », « language »: « en », « text »: « hello world"}.
- model_version
- str
Version du modèle à utiliser pour l’analyse, par exemple « dernière ». Si aucune version du modèle n’est spécifiée, l’API est par défaut la dernière version non préversion. Pour plus d’informations, voir ici : https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Si la valeur est true, la réponse contient des statistiques au niveau du document.
- language
- str
Représentation ISO 639-1 à 2 lettres de la langue pour l’ensemble du lot. Par exemple, utilisez « en » pour l’anglais ; « es » pour espagnol, etc. S’il n’est pas défini, utilise « en » pour l’anglais comme valeur par défaut. La langue par document est prioritaire sur la langue de lot entière. Consultez pour connaître https://aka.ms/talangs les langues prises en charge dans API de langue.
- display_name
- str
Nom d’affichage facultatif à définir pour l’analyse demandée.
- string_index_type
- str
Spécifie la méthode utilisée pour interpréter les décalages de chaîne. UnicodeCodePoint, l’encodage Python, est la valeur par défaut. Pour remplacer la valeur par défaut de Python, vous pouvez également passer Utf16CodeUnit ou TextElement_v8. Pour plus d’informations, consultez https://aka.ms/text-analytics-offsets
- polling_interval
- int
Temps d’attente entre deux sondages pour les opérations LRO si aucun en-tête Retry-After n’est présent. La valeur par défaut est de 5 secondes.
- continuation_token
- str
Appelez continuation_token() sur l’objet poller pour enregistrer l’état de l’opération de longue durée (LRO) dans un jeton opaque. Transmettez la valeur comme argument mot clé continuation_token pour redémarrer le LRO à partir d’un état enregistré.
- disable_service_logs
- bool
La valeur par défaut est true, ce qui signifie que le service Language ne journalise pas votre texte d’entrée côté service à des fins de résolution des problèmes. S’il est défini sur False, le service Language journalise votre texte d’entrée pendant 48 heures, uniquement pour permettre de résoudre les problèmes liés à la fourniture des fonctions de traitement en langage naturel du service. Pour plus d’informations, consultez les notes https://aka.ms/cs-compliance de conformité et de confidentialité de Cognitive Services et les principes de Microsoft Responsible AI à l’adresse https://www.microsoft.com/ai/responsible-ai.
Retours
Instance d’un AnalyzeHealthcareEntitiesLROPoller. Appelez result() sur cet objet pour retourner un paginable hétérogène de AnalyzeHealthcareEntitiesResult et DocumentError.
Type de retour
Exceptions
Exemples
Reconnaître les entités de soins de santé dans un lot de documents.
import os
import typing
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient, HealthcareEntityRelation
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
documents = [
"""
Patient needs to take 100 mg of ibuprofen, and 3 mg of potassium. Also needs to take
10 mg of Zocor.
""",
"""
Patient needs to take 50 mg of ibuprofen, and 2 mg of Coumadin.
"""
]
poller = text_analytics_client.begin_analyze_healthcare_entities(documents)
result = poller.result()
docs = [doc for doc in result if not doc.is_error]
print("Let's first visualize the outputted healthcare result:")
for doc in docs:
for entity in doc.entities:
print(f"Entity: {entity.text}")
print(f"...Normalized Text: {entity.normalized_text}")
print(f"...Category: {entity.category}")
print(f"...Subcategory: {entity.subcategory}")
print(f"...Offset: {entity.offset}")
print(f"...Confidence score: {entity.confidence_score}")
if entity.data_sources is not None:
print("...Data Sources:")
for data_source in entity.data_sources:
print(f"......Entity ID: {data_source.entity_id}")
print(f"......Name: {data_source.name}")
if entity.assertion is not None:
print("...Assertion:")
print(f"......Conditionality: {entity.assertion.conditionality}")
print(f"......Certainty: {entity.assertion.certainty}")
print(f"......Association: {entity.assertion.association}")
for relation in doc.entity_relations:
print(f"Relation of type: {relation.relation_type} has the following roles")
for role in relation.roles:
print(f"...Role '{role.name}' with entity '{role.entity.text}'")
print("------------------------------------------")
print("Now, let's get all of medication dosage relations from the documents")
dosage_of_medication_relations = [
entity_relation
for doc in docs
for entity_relation in doc.entity_relations if entity_relation.relation_type == HealthcareEntityRelation.DOSAGE_OF_MEDICATION
]
begin_extract_summary
Démarrez une opération de résumé extractif de longue durée.
Pour une discussion conceptuelle sur le résumé extractif, consultez la documentation du service : https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview
Nouveauté de la version 2023-04-01 : la méthode cliente begin_extract_summary .
begin_extract_summary(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, model_version: str | None = None, string_index_type: str | None = None, max_sentence_count: int | None = None, order_by: Literal['Rank', 'Offset'] | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[ExtractiveSummaryResult | DocumentError]]
Paramètres
Ensemble de documents à traiter dans le cadre de ce lot. Si vous souhaitez spécifier l’ID et la langue par élément, vous devez utiliser comme entrée une liste[TextDocumentInput] ou une liste de représentations de dict de TextDocumentInput, comme {"id »: « 1 », « language »: « en », « text »: « hello world"}.
- language
- str
Représentation ISO 639-1 à 2 lettres de la langue pour l’ensemble du lot. Par exemple, utilisez « en » pour l’anglais ; « es » pour espagnol, etc. S’il n’est pas défini, utilise « en » pour l’anglais comme valeur par défaut. La langue par document est prioritaire sur la langue de lot entière. Consultez pour connaître https://aka.ms/talangs les langues prises en charge dans API de langue.
- show_stats
- bool
Si la valeur est true, la réponse contient des statistiques au niveau du document.
Les valeurs possibles sont les suivantes : « Offset », « Rank ». Valeur par défaut : « Offset ».
Version du modèle à utiliser pour l’analyse, par exemple « dernière ». Si aucune version du modèle n’est spécifiée, l’API est par défaut la dernière version non préversion. Pour plus d’informations, voir ici : https://aka.ms/text-analytics-model-versioning
Spécifie la méthode utilisée pour interpréter les décalages de chaîne.
- disable_service_logs
- bool
Si la valeur est true, vous refusez d’avoir votre entrée de texte journalisée côté service à des fins de résolution des problèmes. Par défaut, le service Language consigne votre texte d’entrée pendant 48 heures, uniquement pour permettre de résoudre les problèmes liés à la fourniture des fonctions de traitement en langage naturel du service. La définition de ce paramètre sur true désactive la journalisation des entrées et peut limiter notre capacité à corriger les problèmes qui se produisent. Pour plus d’informations, consultez les notes https://aka.ms/cs-compliance de conformité et de confidentialité de Cognitive Services et les principes de Microsoft Responsible AI à l’adresse https://www.microsoft.com/ai/responsible-ai.
- polling_interval
- int
Temps d’attente entre deux sondages pour les opérations LRO si aucun en-tête Retry-After n’est présent. La valeur par défaut est de 5 secondes.
- continuation_token
- str
Appelez continuation_token() sur l’objet poller pour enregistrer l’état de l’opération de longue durée (LRO) dans un jeton opaque. Transmettez la valeur comme argument mot clé continuation_token pour redémarrer le LRO à partir d’un état enregistré.
- display_name
- str
Nom d’affichage facultatif à définir pour l’analyse demandée.
Retours
Instance d’un TextAnalysisLROPoller. Appelez result() sur cet objet pour retourner un paginable hétérogène de ExtractiveSummaryResult et DocumentError.
Type de retour
Exceptions
Exemples
Effectuer un résumé extractif sur un lot de documents.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
document = [
"At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, "
"human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI Cognitive "
"Services, I have been working with a team of amazing scientists and engineers to turn this quest into a "
"reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of "
"human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the "
"intersection of all three, there's magic-what we call XYZ-code as illustrated in Figure 1-a joint "
"representation to create more powerful AI that can speak, hear, see, and understand humans better. "
"We believe XYZ-code will enable us to fulfill our long-term vision: cross-domain transfer learning, "
"spanning modalities and languages. The goal is to have pretrained models that can jointly learn "
"representations to support a broad range of downstream AI tasks, much in the way humans do today. "
"Over the past five years, we have achieved human performance on benchmarks in conversational speech "
"recognition, machine translation, conversational question answering, machine reading comprehension, "
"and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious "
"aspiration to produce a leap in AI capabilities, achieving multisensory and multilingual learning that "
"is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational "
"component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
]
poller = text_analytics_client.begin_extract_summary(document)
extract_summary_results = poller.result()
for result in extract_summary_results:
if result.kind == "ExtractiveSummarization":
print("Summary extracted: \n{}".format(
" ".join([sentence.text for sentence in result.sentences]))
)
elif result.is_error is True:
print("...Is an error with code '{}' and message '{}'".format(
result.error.code, result.error.message
))
begin_multi_label_classify
Démarrez une opération de classification multi-étiquette personnalisée de longue durée.
Pour plus d’informations sur la prise en charge régionale des fonctionnalités personnalisées et sur l’apprentissage d’un modèle pour classifier vos documents, consultez https://aka.ms/azsdk/textanalytics/customfunctionalities
Nouveauté de la version 2022-05-01 : la méthode cliente begin_multi_label_classify .
begin_multi_label_classify(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], project_name: str, deployment_name: str, *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[ClassifyDocumentResult | DocumentError]]
Paramètres
Ensemble de documents à traiter dans le cadre de ce lot. Si vous souhaitez spécifier l’ID et la langue par élément, vous devez utiliser comme entrée une liste[TextDocumentInput] ou une liste de représentations de dict de TextDocumentInput, comme {"id »: « 1 », « language »: « en », « text »: « hello world"}.
- language
- str
Représentation ISO 639-1 à 2 lettres de la langue pour l’ensemble du lot. Par exemple, utilisez « en » pour l’anglais ; « es » pour espagnol, etc. S’il n’est pas défini, utilise « en » pour l’anglais comme valeur par défaut. La langue par document est prioritaire sur la langue de lot entière. Consultez pour connaître https://aka.ms/talangs les langues prises en charge dans API de langue.
- show_stats
- bool
Si la valeur est true, la réponse contient des statistiques au niveau du document.
- disable_service_logs
- bool
Si la valeur est true, vous refusez d’avoir votre entrée de texte journalisée côté service à des fins de résolution des problèmes. Par défaut, le service Language consigne votre texte d’entrée pendant 48 heures, uniquement pour permettre de résoudre les problèmes liés à la fourniture des fonctions de traitement en langage naturel du service. La définition de ce paramètre sur true désactive la journalisation des entrées et peut limiter notre capacité à corriger les problèmes qui se produisent. Pour plus d’informations, consultez les notes https://aka.ms/cs-compliance de conformité et de confidentialité de Cognitive Services et les principes de Microsoft Responsible AI à l’adresse https://www.microsoft.com/ai/responsible-ai.
- polling_interval
- int
Temps d’attente entre deux sondages pour les opérations LRO si aucun en-tête Retry-After n’est présent. La valeur par défaut est de 5 secondes.
- continuation_token
- str
Appelez continuation_token() sur l’objet poller pour enregistrer l’état de l’opération de longue durée (LRO) dans un jeton opaque. Transmettez la valeur comme argument mot clé continuation_token pour redémarrer le LRO à partir d’un état enregistré.
- display_name
- str
Nom d’affichage facultatif à définir pour l’analyse demandée.
Retours
Instance d’un TextAnalysisLROPoller. Appelez result() sur cet objet pour retourner un paginable hétérogène de ClassifyDocumentResult et DocumentError.
Type de retour
Exceptions
Exemples
Effectuez la classification multi-étiquettes sur un lot de documents.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
project_name = os.environ["MULTI_LABEL_CLASSIFY_PROJECT_NAME"]
deployment_name = os.environ["MULTI_LABEL_CLASSIFY_DEPLOYMENT_NAME"]
path_to_sample_document = os.path.abspath(
os.path.join(
os.path.abspath(__file__),
"..",
"./text_samples/custom_classify_sample.txt",
)
)
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
with open(path_to_sample_document) as fd:
document = [fd.read()]
poller = text_analytics_client.begin_multi_label_classify(
document,
project_name=project_name,
deployment_name=deployment_name
)
document_results = poller.result()
for doc, classification_result in zip(document, document_results):
if classification_result.kind == "CustomDocumentClassification":
classifications = classification_result.classifications
print(f"\nThe movie plot '{doc}' was classified as the following genres:\n")
for classification in classifications:
print("'{}' with confidence score {}.".format(
classification.category, classification.confidence_score
))
elif classification_result.is_error is True:
print("Movie plot '{}' has an error with code '{}' and message '{}'".format(
doc, classification_result.error.code, classification_result.error.message
))
begin_recognize_custom_entities
Démarrez une opération de reconnaissance d’entité nommée personnalisée de longue durée.
Pour plus d’informations sur la prise en charge régionale des fonctionnalités personnalisées et sur la façon d’entraîner un modèle à la reconnaissance d’entités personnalisées, consultez https://aka.ms/azsdk/textanalytics/customentityrecognition
Nouveauté de la version 2022-05-01 : méthode cliente begin_recognize_custom_entities .
begin_recognize_custom_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], project_name: str, deployment_name: str, *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[RecognizeCustomEntitiesResult | DocumentError]]
Paramètres
Ensemble de documents à traiter dans le cadre de ce lot. Si vous souhaitez spécifier l’ID et la langue par élément, vous devez utiliser comme entrée une liste[TextDocumentInput] ou une liste de représentations de dict de TextDocumentInput, comme {"id »: « 1 », « language »: « en », « text »: « hello world"}.
- language
- str
Représentation ISO 639-1 à 2 lettres de la langue pour l’ensemble du lot. Par exemple, utilisez « en » pour l’anglais ; « es » pour espagnol, etc. S’il n’est pas défini, utilise « en » pour l’anglais comme valeur par défaut. La langue par document est prioritaire sur la langue de lot entière. Consultez pour connaître https://aka.ms/talangs les langues prises en charge dans API de langue.
- show_stats
- bool
Si la valeur est true, la réponse contient des statistiques au niveau du document.
- disable_service_logs
- bool
Si la valeur est true, vous refusez d’avoir votre entrée de texte journalisée côté service à des fins de résolution des problèmes. Par défaut, le service Language consigne votre texte d’entrée pendant 48 heures, uniquement pour permettre de résoudre les problèmes liés à la fourniture des fonctions de traitement en langage naturel du service. La définition de ce paramètre sur true désactive la journalisation des entrées et peut limiter notre capacité à corriger les problèmes qui se produisent. Pour plus d’informations, consultez les notes https://aka.ms/cs-compliance de conformité et de confidentialité de Cognitive Services et les principes de Microsoft Responsible AI à l’adresse https://www.microsoft.com/ai/responsible-ai.
- string_index_type
- str
Spécifie la méthode utilisée pour interpréter les décalages de chaîne. UnicodeCodePoint, l’encodage Python, est la valeur par défaut. Pour remplacer la valeur par défaut de Python, vous pouvez également passer Utf16CodeUnit ou TextElement_v8. Pour plus d’informations, consultez https://aka.ms/text-analytics-offsets
- polling_interval
- int
Temps d’attente entre deux sondages pour les opérations LRO si aucun en-tête Retry-After n’est présent. La valeur par défaut est de 5 secondes.
- continuation_token
- str
Appelez continuation_token() sur l’objet poller pour enregistrer l’état de l’opération de longue durée (LRO) dans un jeton opaque. Transmettez la valeur comme argument mot clé continuation_token pour redémarrer le LRO à partir d’un état enregistré.
- display_name
- str
Nom d’affichage facultatif à définir pour l’analyse demandée.
Retours
Instance d’un TextAnalysisLROPoller. Appelez result() sur cet objet pour retourner un paginable hétérogène de RecognizeCustomEntitiesResult et DocumentError.
Type de retour
Exceptions
Exemples
Reconnaître les entités personnalisées dans un lot de documents.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
project_name = os.environ["CUSTOM_ENTITIES_PROJECT_NAME"]
deployment_name = os.environ["CUSTOM_ENTITIES_DEPLOYMENT_NAME"]
path_to_sample_document = os.path.abspath(
os.path.join(
os.path.abspath(__file__),
"..",
"./text_samples/custom_entities_sample.txt",
)
)
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
with open(path_to_sample_document) as fd:
document = [fd.read()]
poller = text_analytics_client.begin_recognize_custom_entities(
document,
project_name=project_name,
deployment_name=deployment_name
)
document_results = poller.result()
for custom_entities_result in document_results:
if custom_entities_result.kind == "CustomEntityRecognition":
for entity in custom_entities_result.entities:
print(
"Entity '{}' has category '{}' with confidence score of '{}'".format(
entity.text, entity.category, entity.confidence_score
)
)
elif custom_entities_result.is_error is True:
print("...Is an error with code '{}' and message '{}'".format(
custom_entities_result.error.code, custom_entities_result.error.message
)
)
begin_single_label_classify
Démarrez une opération de classification d’étiquette unique personnalisée de longue durée.
Pour plus d’informations sur la prise en charge régionale des fonctionnalités personnalisées et sur l’apprentissage d’un modèle pour classifier vos documents, consultez https://aka.ms/azsdk/textanalytics/customfunctionalities
Nouveauté de la version 2022-05-01 : la méthode cliente begin_single_label_classify .
begin_single_label_classify(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], project_name: str, deployment_name: str, *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[ClassifyDocumentResult | DocumentError]]
Paramètres
Ensemble de documents à traiter dans le cadre de ce lot. Si vous souhaitez spécifier l’ID et la langue par élément, vous devez utiliser comme entrée une liste[TextDocumentInput] ou une liste de représentations de dict de TextDocumentInput, comme {"id »: « 1 », « language »: « en », « text »: « hello world"}.
- language
- str
Représentation ISO 639-1 à 2 lettres de la langue pour l’ensemble du lot. Par exemple, utilisez « en » pour l’anglais ; « es » pour espagnol, etc. S’il n’est pas défini, utilise « en » pour l’anglais comme valeur par défaut. La langue par document est prioritaire sur la langue de lot entière. Consultez pour connaître https://aka.ms/talangs les langues prises en charge dans API de langue.
- show_stats
- bool
Si la valeur est true, la réponse contient des statistiques au niveau du document.
- disable_service_logs
- bool
Si la valeur est true, vous refusez d’avoir votre entrée de texte journalisée côté service à des fins de résolution des problèmes. Par défaut, le service Language consigne votre texte d’entrée pendant 48 heures, uniquement pour permettre de résoudre les problèmes liés à la fourniture des fonctions de traitement en langage naturel du service. La définition de ce paramètre sur true désactive la journalisation des entrées et peut limiter notre capacité à corriger les problèmes qui se produisent. Pour plus d’informations, consultez les notes https://aka.ms/cs-compliance de conformité et de confidentialité de Cognitive Services et les principes de Microsoft Responsible AI à l’adresse https://www.microsoft.com/ai/responsible-ai.
- polling_interval
- int
Temps d’attente entre deux sondages pour les opérations LRO si aucun en-tête Retry-After n’est présent. La valeur par défaut est de 5 secondes.
- continuation_token
- str
Appelez continuation_token() sur l’objet poller pour enregistrer l’état de l’opération de longue durée (LRO) dans un jeton opaque. Transmettez la valeur comme argument mot clé continuation_token pour redémarrer le LRO à partir d’un état enregistré.
- display_name
- str
Nom d’affichage facultatif à définir pour l’analyse demandée.
Retours
Instance d’un TextAnalysisLROPoller. Appelez result() sur cet objet pour retourner un paginable hétérogène de ClassifyDocumentResult et DocumentError.
Type de retour
Exceptions
Exemples
Effectuez une classification d’étiquette unique sur un lot de documents.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
project_name = os.environ["SINGLE_LABEL_CLASSIFY_PROJECT_NAME"]
deployment_name = os.environ["SINGLE_LABEL_CLASSIFY_DEPLOYMENT_NAME"]
path_to_sample_document = os.path.abspath(
os.path.join(
os.path.abspath(__file__),
"..",
"./text_samples/custom_classify_sample.txt",
)
)
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
with open(path_to_sample_document) as fd:
document = [fd.read()]
poller = text_analytics_client.begin_single_label_classify(
document,
project_name=project_name,
deployment_name=deployment_name
)
document_results = poller.result()
for doc, classification_result in zip(document, document_results):
if classification_result.kind == "CustomDocumentClassification":
classification = classification_result.classifications[0]
print("The document text '{}' was classified as '{}' with confidence score {}.".format(
doc, classification.category, classification.confidence_score)
)
elif classification_result.is_error is True:
print("Document text '{}' has an error with code '{}' and message '{}'".format(
doc, classification_result.error.code, classification_result.error.message
))
close
Fermez les sockets ouverts par le client. L’appel de cette méthode n’est pas nécessaire lors de l’utilisation du client comme gestionnaire de contexte.
close() -> None
Exceptions
detect_language
Détecter la langue d’un lot de documents.
Retourne la langue détectée et un score numérique compris entre zéro et un. Les scores proches d’un indiquent une certitude de 100 % que la langue identifiée est vraie. Consultez https://aka.ms/talangs la liste des langues activées.
Consultez pour connaître https://aka.ms/azsdk/textanalytics/data-limits les limites des données de service.
Nouveauté de la version v3.1 : argument disable_service_logs mot clé.
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]
Paramètres
Ensemble de documents à traiter dans le cadre de ce lot. Si vous souhaitez spécifier l’ID et le country_hint par élément, vous devez utiliser comme entrée une liste[DetectLanguageInput] ou une liste de représentations DetectLanguageInputde dict de , comme {"id »: « 1 », « country_hint »: « us », « text »: « hello world"}.
- country_hint
- str
Indicateur de pays d’origine pour l’ensemble du lot. Accepte les codes pays de deux lettres spécifiés par la norme ISO 3166-1 alpha-2. Les indicateurs de pays par document sont prioritaires sur les indicateurs de lot entiers. La valeur par défaut est « US ». Si vous ne souhaitez pas utiliser d’indicateur de pays, passez la chaîne « none ».
- model_version
- str
Version du modèle à utiliser pour l’analyse, par exemple « dernière ». Si aucune version du modèle n’est spécifiée, l’API est par défaut la dernière version non préversion. Pour plus d’informations, voir ici : https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Si la valeur est true, la réponse contient des statistiques au niveau du document dans le champ statistiques de la réponse au niveau du document.
- disable_service_logs
- bool
Si la valeur est true, vous refusez d’avoir votre entrée de texte journalisée côté service à des fins de résolution des problèmes. Par défaut, le service Language consigne votre texte d’entrée pendant 48 heures, uniquement pour permettre de résoudre les problèmes liés à la fourniture des fonctions de traitement en langage naturel du service. La définition de ce paramètre sur true désactive la journalisation des entrées et peut limiter notre capacité à corriger les problèmes qui se produisent. Pour plus d’informations, consultez les notes https://aka.ms/cs-compliance de conformité et de confidentialité de Cognitive Services et les principes de Microsoft Responsible AI à l’adresse https://www.microsoft.com/ai/responsible-ai.
Retours
Liste combinée de DetectLanguageResult et DocumentError dans l’ordre dans lequel les documents originaux ont été transmis.
Type de retour
Exceptions
Exemples
Détection de la langue dans un lot de documents.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
documents = [
"""
The concierge Paulette was extremely helpful. Sadly when we arrived the elevator was broken, but with Paulette's help we barely noticed this inconvenience.
She arranged for our baggage to be brought up to our room with no extra charge and gave us a free meal to refurbish all of the calories we lost from
walking up the stairs :). Can't say enough good things about my experience!
""",
"""
最近由于工作压力太大,我们决定去富酒店度假。那儿的温泉实在太舒服了,我跟我丈夫都完全恢复了工作前的青春精神!加油!
"""
]
result = text_analytics_client.detect_language(documents)
reviewed_docs = [doc for doc in result if not doc.is_error]
print("Let's see what language each review is in!")
for idx, doc in enumerate(reviewed_docs):
print("Review #{} is in '{}', which has ISO639-1 name '{}'\n".format(
idx, doc.primary_language.name, doc.primary_language.iso6391_name
))
extract_key_phrases
Extraire des expressions clés d’un lot de documents.
Renvoie une liste de chaînes indiquant les expressions clés dans le texte d’entrée. Par exemple, pour le texte d’entrée « La nourriture était délicieuse et il y avait un personnel merveilleux », l’API retourne les main points de discussion : « nourriture » et « personnel merveilleux »
Consultez pour connaître https://aka.ms/azsdk/textanalytics/data-limits les limites des données de service.
Nouveauté de la version v3.1 : argument disable_service_logs mot clé.
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]
Paramètres
Ensemble de documents à traiter dans le cadre de ce lot. Si vous souhaitez spécifier l’ID et la langue par élément, vous devez utiliser comme entrée une liste[TextDocumentInput] ou une liste de représentations de dict de TextDocumentInput, comme {"id »: « 1 », « language »: « en », « text »: « hello world"}.
- language
- str
Représentation ISO 639-1 à 2 lettres de la langue pour l’ensemble du lot. Par exemple, utilisez « en » pour l’anglais ; « es » pour espagnol, etc. S’il n’est pas défini, utilise « en » pour l’anglais comme valeur par défaut. La langue par document est prioritaire sur la langue de lot entière. Consultez pour connaître https://aka.ms/talangs les langues prises en charge dans API de langue.
- model_version
- str
Version du modèle à utiliser pour l’analyse, par exemple « dernière ». Si aucune version du modèle n’est spécifiée, l’API est par défaut la dernière version non préversion. Pour plus d’informations, voir ici : https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Si la valeur est true, la réponse contient des statistiques au niveau du document dans le champ statistiques de la réponse au niveau du document.
- disable_service_logs
- bool
Si la valeur est true, vous refusez d’avoir votre entrée de texte journalisée côté service à des fins de résolution des problèmes. Par défaut, le service Language consigne votre texte d’entrée pendant 48 heures, uniquement pour permettre de résoudre les problèmes liés à la fourniture des fonctions de traitement en langage naturel du service. La définition de ce paramètre sur true désactive la journalisation des entrées et peut limiter notre capacité à corriger les problèmes qui se produisent. Pour plus d’informations, consultez les notes https://aka.ms/cs-compliance de conformité et de confidentialité de Cognitive Services et les principes de Microsoft Responsible AI à l’adresse https://www.microsoft.com/ai/responsible-ai.
Retours
Liste combinée de ExtractKeyPhrasesResult et DocumentError dans l’ordre dans lequel les documents originaux ont été transmis.
Type de retour
Exceptions
Exemples
Extrayez les expressions clés dans un lot de documents.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
articles = [
"""
Washington, D.C. Autumn in DC is a uniquely beautiful season. The leaves fall from the trees
in a city chock-full of forests, leaving yellow leaves on the ground and a clearer view of the
blue sky above...
""",
"""
Redmond, WA. In the past few days, Microsoft has decided to further postpone the start date of
its United States workers, due to the pandemic that rages with no end in sight...
""",
"""
Redmond, WA. Employees at Microsoft can be excited about the new coffee shop that will open on campus
once workers no longer have to work remotely...
"""
]
result = text_analytics_client.extract_key_phrases(articles)
for idx, doc in enumerate(result):
if not doc.is_error:
print("Key phrases in article #{}: {}".format(
idx + 1,
", ".join(doc.key_phrases)
))
recognize_entities
Reconnaître des entités pour un lot de documents.
Identifie et catégorise les entités de votre texte en tant que personnes, lieux, organisations, date/heure, quantités, pourcentages, devises, etc. Pour obtenir la liste des types d’entités pris en charge, case activée :https://aka.ms/taner
Consultez pour connaître https://aka.ms/azsdk/textanalytics/data-limits les limites des données de service.
Nouveauté de la version v3.1 : arguments disable_service_logs et string_index_type mot clé.
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]
Paramètres
Ensemble de documents à traiter dans le cadre de ce lot. Si vous souhaitez spécifier l’ID et la langue par élément, vous devez utiliser comme entrée une liste[TextDocumentInput] ou une liste de représentations de dict de TextDocumentInput, comme {"id »: « 1 », « language »: « en », « text »: « hello world"}.
- language
- str
Représentation ISO 639-1 à 2 lettres de la langue pour l’ensemble du lot. Par exemple, utilisez « en » pour l’anglais ; « es » pour espagnol, etc. S’il n’est pas défini, utilise « en » pour l’anglais comme valeur par défaut. La langue par document est prioritaire sur la langue de lot entière. Consultez pour connaître https://aka.ms/talangs les langues prises en charge dans API de langue.
- model_version
- str
Version du modèle à utiliser pour l’analyse, par exemple « dernière ». Si aucune version du modèle n’est spécifiée, l’API est par défaut la dernière version non préversion. Pour plus d’informations, voir ici : https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Si la valeur est true, la réponse contient des statistiques au niveau du document dans le champ statistiques de la réponse au niveau du document.
- string_index_type
- str
Spécifie la méthode utilisée pour interpréter les décalages de chaîne. UnicodeCodePoint, l’encodage Python, est la valeur par défaut. Pour remplacer la valeur par défaut de Python, vous pouvez également passer Utf16CodeUnit ou TextElement_v8. Pour plus d’informations, consultez https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
Si la valeur est true, vous refusez d’avoir votre entrée de texte journalisée côté service à des fins de résolution des problèmes. Par défaut, le service Language consigne votre texte d’entrée pendant 48 heures, uniquement pour permettre de résoudre les problèmes liés à la fourniture des fonctions de traitement en langage naturel du service. La définition de ce paramètre sur true désactive la journalisation des entrées et peut limiter notre capacité à corriger les problèmes qui se produisent. Pour plus d’informations, consultez les notes https://aka.ms/cs-compliance de conformité et de confidentialité de Cognitive Services et les principes de Microsoft Responsible AI à l’adresse https://www.microsoft.com/ai/responsible-ai.
Retours
Liste combinée de RecognizeEntitiesResult et DocumentError dans l’ordre dans lequel les documents originaux ont été transmis.
Type de retour
Exceptions
Exemples
Reconnaître les entités dans un lot de documents.
import os
import typing
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
reviews = [
"""I work for Foo Company, and we hired Contoso for our annual founding ceremony. The food
was amazing and we all can't say enough good words about the quality and the level of service.""",
"""We at the Foo Company re-hired Contoso after all of our past successes with the company.
Though the food was still great, I feel there has been a quality drop since their last time
catering for us. Is anyone else running into the same problem?""",
"""Bar Company is over the moon about the service we received from Contoso, the best sliders ever!!!!"""
]
result = text_analytics_client.recognize_entities(reviews)
result = [review for review in result if not review.is_error]
organization_to_reviews: typing.Dict[str, typing.List[str]] = {}
for idx, review in enumerate(result):
for entity in review.entities:
print(f"Entity '{entity.text}' has category '{entity.category}'")
if entity.category == 'Organization':
organization_to_reviews.setdefault(entity.text, [])
organization_to_reviews[entity.text].append(reviews[idx])
for organization, reviews in organization_to_reviews.items():
print(
"\n\nOrganization '{}' has left us the following review(s): {}".format(
organization, "\n\n".join(reviews)
)
)
recognize_linked_entities
Reconnaître les entités liées à partir d’un base de connaissances connu pour un lot de documents.
Identifie et désambigue l’identité de chaque entité trouvée dans le texte (par exemple, en déterminant si une occurrence du mot Mars fait référence à la planète, ou au dieu romain de la guerre). Les entités reconnues sont associées à des URL à un base de connaissances bien connu, comme Wikipédia.
Consultez pour connaître https://aka.ms/azsdk/textanalytics/data-limits les limites des données de service.
Nouveauté de la version v3.1 : arguments disable_service_logs et string_index_type mot clé.
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]
Paramètres
Ensemble de documents à traiter dans le cadre de ce lot. Si vous souhaitez spécifier l’ID et la langue par élément, vous devez utiliser comme entrée une liste[TextDocumentInput] ou une liste de représentations de dict de TextDocumentInput, comme {"id »: « 1 », « language »: « en », « text »: « hello world"}.
- language
- str
Représentation ISO 639-1 à 2 lettres de la langue pour l’ensemble du lot. Par exemple, utilisez « en » pour l’anglais ; « es » pour espagnol, etc. S’il n’est pas défini, utilise « en » pour l’anglais comme valeur par défaut. La langue par document est prioritaire sur la langue de lot entière. Consultez pour connaître https://aka.ms/talangs les langues prises en charge dans API de langue.
- model_version
- str
Version du modèle à utiliser pour l’analyse, par exemple « dernière ». Si aucune version du modèle n’est spécifiée, l’API est par défaut la dernière version non préversion. Pour plus d’informations, voir ici : https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Si la valeur est true, la réponse contient des statistiques au niveau du document dans le champ statistiques de la réponse au niveau du document.
- string_index_type
- str
Spécifie la méthode utilisée pour interpréter les décalages de chaîne. UnicodeCodePoint, l’encodage Python, est la valeur par défaut. Pour remplacer la valeur par défaut de Python, vous pouvez également passer Utf16CodeUnit ou TextElement_v8. Pour plus d’informations, consultez https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
Si la valeur est true, vous refusez d’avoir votre entrée de texte journalisée côté service à des fins de résolution des problèmes. Par défaut, le service Language consigne votre texte d’entrée pendant 48 heures, uniquement pour permettre de résoudre les problèmes liés à la fourniture des fonctions de traitement en langage naturel du service. La définition de ce paramètre sur true désactive la journalisation des entrées et peut limiter notre capacité à corriger les problèmes qui se produisent. Pour plus d’informations, consultez les notes https://aka.ms/cs-compliance de conformité et de confidentialité de Cognitive Services et les principes de Microsoft Responsible AI à l’adresse https://www.microsoft.com/ai/responsible-ai.
Retours
Liste combinée de RecognizeLinkedEntitiesResult et DocumentError dans l’ordre dans lequel les documents originaux ont été transmis.
Type de retour
Exceptions
Exemples
Reconnaître les entités liées dans un lot de documents.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
documents = [
"""
Microsoft was founded by Bill Gates with some friends he met at Harvard. One of his friends,
Steve Ballmer, eventually became CEO after Bill Gates as well. Steve Ballmer eventually stepped
down as CEO of Microsoft, and was succeeded by Satya Nadella.
Microsoft originally moved its headquarters to Bellevue, Washington in January 1979, but is now
headquartered in Redmond.
"""
]
result = text_analytics_client.recognize_linked_entities(documents)
docs = [doc for doc in result if not doc.is_error]
print(
"Let's map each entity to it's Wikipedia article. I also want to see how many times each "
"entity is mentioned in a document\n\n"
)
entity_to_url = {}
for doc in docs:
for entity in doc.entities:
print("Entity '{}' has been mentioned '{}' time(s)".format(
entity.name, len(entity.matches)
))
if entity.data_source == "Wikipedia":
entity_to_url[entity.name] = entity.url
recognize_pii_entities
Reconnaître les entités contenant des informations personnelles pour un lot de documents.
Retourne une liste d’entités d’informations personnelles (« SSN », « Compte bancaire », etc.) dans le document. Pour obtenir la liste des types d’entités pris en charge, case activée https://aka.ms/azsdk/language/pii
Consultez pour connaître https://aka.ms/azsdk/textanalytics/data-limits les limites des données de service.
Nouveauté de la version v3.1 : méthode cliente recognize_pii_entities .
recognize_pii_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, categories_filter: List[str | PiiEntityCategory] | None = None, disable_service_logs: bool | None = None, domain_filter: str | PiiEntityDomain | None = None, language: str | None = None, model_version: str | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> List[RecognizePiiEntitiesResult | DocumentError]
Paramètres
Ensemble de documents à traiter dans le cadre de ce lot. Si vous souhaitez spécifier l’ID et la langue par élément, vous devez utiliser comme entrée une liste[TextDocumentInput] ou une liste de représentations de dict de TextDocumentInput, comme {"id »: « 1 », « language »: « en », « text »: « hello world"}.
- language
- str
Représentation ISO 639-1 à 2 lettres de la langue pour l’ensemble du lot. Par exemple, utilisez « en » pour l’anglais ; « es » pour espagnol, etc. S’il n’est pas défini, utilise « en » pour l’anglais comme valeur par défaut. La langue par document est prioritaire sur la langue de lot entière. Consultez pour connaître https://aka.ms/talangs les langues prises en charge dans API de langue.
- model_version
- str
Version du modèle à utiliser pour l’analyse, par exemple « dernière ». Si aucune version du modèle n’est spécifiée, l’API est par défaut la dernière version non préversion. Pour plus d’informations, voir ici : https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Si la valeur est true, la réponse contient des statistiques au niveau du document dans le champ statistiques de la réponse au niveau du document.
- domain_filter
- str ou PiiEntityDomain
Filtre les entités de réponse sur celles incluses uniquement dans le domaine spécifié. C’est-à-dire, si la valeur est « phi », retourne uniquement les entités dans le domaine Des informations médicales protégées. Consultez la rubrique https://aka.ms/azsdk/language/pii (éventuellement en anglais) pour plus d'informations.
- categories_filter
- list[str ou PiiEntityCategory]
Au lieu de filtrer toutes les catégories d’entités PII, vous pouvez passer une liste des catégories d’entités PII spécifiques que vous souhaitez filtrer. Par exemple, si vous souhaitez filtrer uniquement les numéros de sécurité sociale américains dans un document, vous pouvez transmettre [PiiEntityCategory.US_SOCIAL_SECURITY_NUMBER] pour ce kwarg.
- string_index_type
- str
Spécifie la méthode utilisée pour interpréter les décalages de chaîne. UnicodeCodePoint, l’encodage Python, est la valeur par défaut. Pour remplacer la valeur par défaut de Python, vous pouvez également passer Utf16CodeUnit ou TextElement_v8. Pour plus d’informations, consultez https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
La valeur par défaut est true, ce qui signifie que le service Language ne journalise pas votre texte d’entrée côté service à des fins de résolution des problèmes. S’il est défini sur False, le service Language journalise votre texte d’entrée pendant 48 heures, uniquement pour permettre de résoudre les problèmes liés à la fourniture des fonctions de traitement en langage naturel du service. Pour plus d’informations, consultez les notes https://aka.ms/cs-compliance de conformité et de confidentialité de Cognitive Services et les principes de Microsoft Responsible AI à l’adresse https://www.microsoft.com/ai/responsible-ai.
Retours
Liste combinée de RecognizePiiEntitiesResult et DocumentError dans l’ordre dans lequel les documents originaux ont été transmis.
Type de retour
Exceptions
Exemples
Reconnaître les entités d’informations d’identification personnelle dans un lot de documents.
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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour