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.TextAnalyticsClientBase
TextAnalyticsClient

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
Obligatoire

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
Obligatoire

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 :

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

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obligatoire

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obligatoire

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.

sentence_count
Optional[int]

Il contrôle le nombre approximatif de phrases dans les résumés de sortie.

model_version
Optional[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

string_index_type
Optional[str]

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 :

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

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obligatoire

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

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obligatoire

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obligatoire

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.

max_sentence_count
Optional[int]

Nombre maximal de phrases à retourner. La valeur par défaut est 3.

order_by
Optional[str]

Les valeurs possibles sont les suivantes : « Offset », « Rank ». Valeur par défaut : « Offset ».

model_version
Optional[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

string_index_type
Optional[str]

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obligatoire

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

project_name
str
Obligatoire

Obligatoire. Ce champ indique le nom du projet pour le modèle.

deployment_name
str
Obligatoire

Ce champ indique le nom de déploiement du modèle.

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obligatoire

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

project_name
str
Obligatoire

Obligatoire. Ce champ indique le nom du projet pour le modèle.

deployment_name
str
Obligatoire

Ce champ indique le nom de déploiement du modèle.

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obligatoire

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

project_name
str
Obligatoire

Obligatoire. Ce champ indique le nom du projet pour le modèle.

deployment_name
str
Obligatoire

Ce champ indique le nom de déploiement du modèle.

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

documents
list[str] ou list[DetectLanguageInput] ou list[dict[str, str]]
Obligatoire

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obligatoire

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obligatoire

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obligatoire

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

documents
list[str] ou list[TextDocumentInput] ou list[dict[str, str]]
Obligatoire

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