TextAnalyticsClient Clase

Language Service API es un conjunto de aptitudes de procesamiento de lenguaje natural (NLP) creadas con los mejores algoritmos de aprendizaje automático de Microsoft. La API se puede usar para analizar texto no estructurado para tareas como el análisis de sentimiento, la extracción de frases clave, el reconocimiento de entidades y la detección de idioma, etc.

Encontrará más documentación en https://docs.microsoft.com/azure/cognitive-services/language-service/overview

Herencia
azure.ai.textanalytics._base_client.TextAnalyticsClientBase
TextAnalyticsClient

Constructor

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

Parámetros

endpoint
str
Requerido

Puntos de conexión de recursos de Cognitive Services o language admitidos (protocolo y nombre de host, por ejemplo: "https://.cognitiveservices.azure.com").

credential
AzureKeyCredential o TokenCredential
Requerido

Credenciales necesarias para que el cliente se conecte a Azure. Puede ser una instancia de AzureKeyCredential si usa una clave de Cognitive Services/Language API o una credencial de token de identity.

default_country_hint
str

Establece el country_hint predeterminado que se usará para todas las operaciones. El valor predeterminado es "US". Si no desea usar una sugerencia de país, pase la cadena "none".

default_language
str

Establece el idioma predeterminado que se va a usar para todas las operaciones. El valor predeterminado es "en".

api_version
str o TextAnalyticsApiVersion

La versión de API del servicio que se va a usar para las solicitudes. El valor predeterminado es la versión más reciente del servicio. Establecer en una versión anterior puede dar lugar a una reducción de la compatibilidad de características.

Ejemplos

Creación de TextAnalyticsClient con el punto de conexión y la clave de API.


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

   text_analytics_client = TextAnalyticsClient(endpoint, AzureKeyCredential(key))

Creación de TextAnalyticsClient con credenciales de punto de conexión y token de Azure Active Directory.


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

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

   text_analytics_client = TextAnalyticsClient(endpoint, credential=credential)

Métodos

analyze_sentiment

Analice la opinión de un lote de documentos. Active la minería de opiniones con show_opinion_mining.

Devuelve una predicción de sentimiento, así como las puntuaciones de opinión para cada clase de opinión (Positiva, Negativa y Neutral) para el documento y cada frase dentro de él.

Consulte https://aka.ms/azsdk/textanalytics/data-limits para conocer los límites de datos del servicio.

Novedad de la versión v3.1: los argumentos de palabra clave show_opinion_mining, disable_service_logs y string_index_type .

begin_abstract_summary

Inicie una operación de resumen abstracta de larga duración.

Para obtener una explicación conceptual del resumen abstracto, consulte la documentación del servicio: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview

Novedad de la versión 2023-04-01: método de cliente begin_abstract_summary .

begin_analyze_actions

Inicie una operación de larga duración para realizar una variedad de acciones de análisis de texto en un lote de documentos.

Se recomienda usar esta función si desea analizar documentos más grandes y/ o combinar varias acciones de análisis de texto en una sola llamada. De lo contrario, se recomienda usar los puntos de conexión específicos de la acción, por ejemplo analyze_sentiment.

Nota:

Consulte la documentación del servicio para obtener compatibilidad regional con las características de acción personalizada:

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

Novedad de la versión v3.1: el método de cliente begin_analyze_actions .

Novedad de la versión 2022-05-01: Las opciones de entrada RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction y AnalyzeHealthcareEntitiesAction y las correspondientes opciones de entrada RecognizeCustomEntitiesResult, ClassifyDocumentResult y AnalyzeHealthcareEntitiesResult

Novedad de la versión 2023-04-01: las opciones de entrada ExtractiveSummaryAction y AbstractiveSummaryAction y los objetos de resultado ExtractiveSummaryResult y AbstractiveSummaryResult correspondientes.

begin_analyze_healthcare_entities

Analice las entidades sanitarias e identifique las relaciones entre estas entidades en un lote de documentos.

Las entidades están asociadas a referencias que se pueden encontrar en las bases de conocimiento existentes, como UMLS, CHV, MSH, etc.

También extraemos las relaciones encontradas entre entidades, por ejemplo, en "El sujeto tomó 100 mg de ibuprofeno", extraeríamos la relación entre la dosificación "100 mg" y el medicamento "parentesco".

Novedad de la versión v3.1: el método de cliente begin_analyze_healthcare_entities .

Novedad de la versión 2022-05-01: el argumento de palabra clave display_name .

begin_extract_summary

Inicie una operación de resumen extractivo de ejecución prolongada.

Para obtener una explicación conceptual del resumen extractivo, consulte la documentación del servicio: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview

Novedad de la versión 2023-04-01: el método de cliente begin_extract_summary .

begin_multi_label_classify

Inicie una operación de clasificación personalizada de varias etiquetas de ejecución prolongada.

Para obtener información sobre la compatibilidad regional de características personalizadas y cómo entrenar un modelo para clasificar los documentos, consulte https://aka.ms/azsdk/textanalytics/customfunctionalities

Novedad de la versión 2022-05-01: el método de cliente begin_multi_label_classify .

begin_recognize_custom_entities

Inicie una operación personalizada de reconocimiento de entidades con nombre de ejecución prolongada.

Para obtener información sobre la compatibilidad regional de características personalizadas y cómo entrenar un modelo para reconocer entidades personalizadas, consulte https://aka.ms/azsdk/textanalytics/customentityrecognition

Novedad de la versión 2022-05-01: el método de cliente begin_recognize_custom_entities .

begin_single_label_classify

Inicie una operación personalizada de clasificación de etiquetas únicas de ejecución prolongada.

Para obtener información sobre la compatibilidad regional de características personalizadas y cómo entrenar un modelo para clasificar los documentos, consulte https://aka.ms/azsdk/textanalytics/customfunctionalities

Novedad de la versión 2022-05-01: el método de cliente begin_single_label_classify .

close

Cierre los sockets abiertos por el cliente. Llamar a este método no es necesario cuando se usa el cliente como administrador de contexto.

detect_language

Detecte el idioma de un lote de documentos.

Devuelve el idioma detectado y una puntuación numérica entre cero y uno. Las puntuaciones cercanas a una indican una certeza del 100 % de que el idioma identificado es true. Consulte https://aka.ms/talangs la lista de idiomas habilitados.

Consulte https://aka.ms/azsdk/textanalytics/data-limits para conocer los límites de datos del servicio.

Novedad de la versión v3.1: el argumento de palabra clave disable_service_logs .

extract_key_phrases

Extraiga frases clave de un lote de documentos.

Devuelve una lista de cadenas que denotan las frases clave en el texto de entrada. Por ejemplo, para el texto de entrada "La comida era deliciosa y había un personal maravilloso", la API devuelve los principales puntos de conversación: "comida" y "personal maravilloso"

Consulte https://aka.ms/azsdk/textanalytics/data-limits para conocer los límites de datos del servicio.

Novedad de la versión v3.1: el argumento de palabra clave disable_service_logs .

recognize_entities

Reconocer entidades para un lote de documentos.

Identifica y clasifica las entidades en el texto como personas, lugares, organizaciones, fecha y hora, cantidades, porcentajes, monedas, etc. Para obtener la lista de tipos de entidad admitidos, compruebe: https://aka.ms/taner

Consulte para conocer https://aka.ms/azsdk/textanalytics/data-limits los límites de datos del servicio.

Novedad de la versión v3.1: los argumentos de palabra clave disable_service_logs y string_index_type .

recognize_linked_entities

Reconocer entidades vinculadas de un knowledge base conocido para un lote de documentos.

Identifica y desambigua la identidad de cada entidad encontrada en el texto (por ejemplo, determinar si una aparición de la palabra Marte hace referencia al planeta o al dios romano de la guerra). Las entidades reconocidas están asociadas a direcciones URL a un knowledge base conocido, como Wikipedia.

Consulte para conocer https://aka.ms/azsdk/textanalytics/data-limits los límites de datos del servicio.

Novedad de la versión v3.1: los argumentos de palabra clave disable_service_logs y string_index_type .

recognize_pii_entities

Reconocer entidades que contienen información personal para un lote de documentos.

Devuelve una lista de entidades de información personal ("SSN", "Cuenta bancaria", etc.) en el documento. Para obtener la lista de tipos de entidad admitidos, compruebe. https://aka.ms/azsdk/language/pii

Consulte para conocer https://aka.ms/azsdk/textanalytics/data-limits los límites de datos del servicio.

Novedad de la versión v3.1: el método de cliente recognize_pii_entities .

analyze_sentiment

Analice la opinión de un lote de documentos. Active la minería de opiniones con show_opinion_mining.

Devuelve una predicción de sentimiento, así como las puntuaciones de opinión para cada clase de opinión (Positiva, Negativa y Neutral) para el documento y cada frase dentro de él.

Consulte https://aka.ms/azsdk/textanalytics/data-limits para conocer los límites de datos del servicio.

Novedad de la versión v3.1: los argumentos de palabra clave show_opinion_mining, disable_service_logs y string_index_type .

analyze_sentiment(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, disable_service_logs: bool | None = None, language: str | None = None, model_version: str | None = None, show_opinion_mining: bool | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> List[AnalyzeSentimentResult | DocumentError]

Parámetros

documents
list[str] o list[TextDocumentInput] o list[dict[str, str]]
Requerido

Conjunto de documentos que se van a procesar como parte de este lote. Si desea especificar el identificador y el idioma por elemento, debe usar como entrada una lista[TextDocumentInput] o una lista de representaciones dict de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

show_opinion_mining
bool

Si se deben extraer las opiniones de una frase y realizar análisis más detallados sobre los aspectos de un producto o servicio (también conocido como análisis de sentimiento basado en aspectos). Si se establece en true, los objetos devueltos SentenceSentiment tendrán la propiedad mined_opinions que contiene el resultado de este análisis. Solo está disponible para la versión 3.1 de la API y versiones posteriores.

language
str

Representación iso 639-1 de dos letras del idioma para todo el lote. Por ejemplo, use "en" para inglés; "es" para español, etc. Si no se establece, usa "en" para inglés como valor predeterminado. El idioma por documento tendrá prioridad sobre todo el idioma por lotes. Consulte https://aka.ms/talangs para conocer los idiomas admitidos en Language API.

model_version
str

La versión del modelo que se va a usar para el análisis, por ejemplo, "latest". Si no se especifica una versión del modelo, la API tendrá como valor predeterminado la versión más reciente que no sea de versión preliminar. Consulte aquí para obtener más información: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Si se establece en true, la respuesta contendrá estadísticas de nivel de documento en el campo de estadísticas de la respuesta de nivel de documento.

string_index_type
str

Especifica el método utilizado para interpretar los desplazamientos de cadena. UnicodeCodePoint, la codificación de Python, es el valor predeterminado. Para invalidar el valor predeterminado de Python, también puede pasar Utf16CodeUnit o TextElement_v8. Para más información, consulte https://aka.ms/text-analytics-offsets

disable_service_logs
bool

Si se establece en true, no podrá tener la entrada de texto iniciada en el lado del servicio para solucionar problemas. De forma predeterminada, el servicio language registra el texto de entrada durante 48 horas, solo para permitir la solución de problemas al proporcionarle las funciones de procesamiento de lenguaje natural del servicio. Si establece este parámetro en true, deshabilita el registro de entrada y puede limitar nuestra capacidad de corregir los problemas que se producen. Consulte las notas de cumplimiento y privacidad de Cognitive Services en https://aka.ms/cs-compliance para obtener más detalles y los principios de inteligencia artificial responsable de Microsoft en https://www.microsoft.com/ai/responsible-ai.

Devoluciones

La lista combinada de AnalyzeSentimentResult y DocumentError en el orden en que se pasaron los documentos originales.

Tipo de valor devuelto

Excepciones

Ejemplos

Analice la opinión en un lote de documentos.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics import TextAnalyticsClient

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]

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

   documents = [
       """I had the best day of my life. I decided to go sky-diving and it made me appreciate my whole life so much more.
       I developed a deep-connection with my instructor as well, and I feel as if I've made a life-long friend in her.""",
       """This was a waste of my time. All of the views on this drop are extremely boring, all I saw was grass. 0/10 would
       not recommend to any divers, even first timers.""",
       """This was pretty good! The sights were ok, and I had fun with my instructors! Can't complain too much about my experience""",
       """I only have one word for my experience: WOW!!! I can't believe I have had such a wonderful skydiving company right
       in my backyard this whole time! I will definitely be a repeat customer, and I want to take my grandmother skydiving too,
       I know she'll love it!"""
   ]


   result = text_analytics_client.analyze_sentiment(documents, show_opinion_mining=True)
   docs = [doc for doc in result if not doc.is_error]

   print("Let's visualize the sentiment of each of these documents")
   for idx, doc in enumerate(docs):
       print(f"Document text: {documents[idx]}")
       print(f"Overall sentiment: {doc.sentiment}")

begin_abstract_summary

Inicie una operación de resumen abstracta de larga duración.

Para obtener una explicación conceptual del resumen abstracto, consulte la documentación del servicio: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview

Novedad de la versión 2023-04-01: método de cliente begin_abstract_summary .

begin_abstract_summary(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, model_version: str | None = None, string_index_type: str | None = None, sentence_count: int | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[AbstractiveSummaryResult | DocumentError]]

Parámetros

documents
list[str] o list[TextDocumentInput] o list[dict[str, str]]
Requerido

Conjunto de documentos que se van a procesar como parte de este lote. Si desea especificar el identificador y el idioma por elemento, debe usar como entrada una lista[TextDocumentInput] o una lista de representaciones dict de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

language
str

Representación iso 639-1 de dos letras del idioma para todo el lote. Por ejemplo, use "en" para inglés; "es" para español, etc. Si no se establece, usa "en" para inglés como valor predeterminado. El idioma por documento tendrá prioridad sobre todo el idioma por lotes. Consulte https://aka.ms/talangs para conocer los idiomas admitidos en Language API.

show_stats
bool

Si se establece en true, la respuesta contendrá estadísticas de nivel de documento.

sentence_count
Optional[int]

Controla el número aproximado de oraciones en los resúmenes de salida.

model_version
Optional[str]

La versión del modelo que se va a usar para el análisis, por ejemplo, "latest". Si no se especifica una versión del modelo, la API tendrá como valor predeterminado la versión más reciente que no sea de versión preliminar. Consulte aquí para obtener más información: https://aka.ms/text-analytics-model-versioning

string_index_type
Optional[str]

Especifica el método utilizado para interpretar los desplazamientos de cadena.

disable_service_logs
bool

Si se establece en true, no podrá tener la entrada de texto iniciada en el lado del servicio para solucionar problemas. De forma predeterminada, el servicio language registra el texto de entrada durante 48 horas, solo para permitir la solución de problemas al proporcionarle las funciones de procesamiento de lenguaje natural del servicio. Si establece este parámetro en true, deshabilita el registro de entrada y puede limitar nuestra capacidad de corregir los problemas que se producen. Consulte las notas de cumplimiento y privacidad de Cognitive Services en https://aka.ms/cs-compliance para obtener más detalles y los principios de inteligencia artificial responsable de Microsoft en https://www.microsoft.com/ai/responsible-ai.

polling_interval
int

Tiempo de espera entre dos sondeos de operaciones LRO si no hay ningún encabezado Retry-After presente. El valor predeterminado es 5 segundos.

continuation_token
str

Llame a continuation_token() en el objeto poller para guardar el estado de la operación de ejecución prolongada (LRO) en un token opaco. Pase el valor como argumento de palabra clave continuation_token para reiniciar el LRO desde un estado guardado.

display_name
str

Nombre para mostrar opcional que se va a establecer para el análisis solicitado.

Devoluciones

Una instancia de TextAnalysisLROPoller. Llame a result() en el objeto para devolver una paginación heterogénea de AbstractiveSummaryResult y DocumentError.

Tipo de valor devuelto

Excepciones

Ejemplos

Realice un resumen abstracto en un lote de documentos.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics import TextAnalyticsClient

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]

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

   document = [
       "At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, "
       "human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI Cognitive "
       "Services, I have been working with a team of amazing scientists and engineers to turn this quest into a "
       "reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of "
       "human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the "
       "intersection of all three, there's magic-what we call XYZ-code as illustrated in Figure 1-a joint "
       "representation to create more powerful AI that can speak, hear, see, and understand humans better. "
       "We believe XYZ-code will enable us to fulfill our long-term vision: cross-domain transfer learning, "
       "spanning modalities and languages. The goal is to have pretrained models that can jointly learn "
       "representations to support a broad range of downstream AI tasks, much in the way humans do today. "
       "Over the past five years, we have achieved human performance on benchmarks in conversational speech "
       "recognition, machine translation, conversational question answering, machine reading comprehension, "
       "and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious "
       "aspiration to produce a leap in AI capabilities, achieving multisensory and multilingual learning that "
       "is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational "
       "component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
   ]

   poller = text_analytics_client.begin_abstract_summary(document)
   abstract_summary_results = poller.result()
   for result in abstract_summary_results:
       if result.kind == "AbstractiveSummarization":
           print("Summaries abstracted:")
           [print(f"{summary.text}\n") for summary in result.summaries]
       elif result.is_error is True:
           print("...Is an error with code '{}' and message '{}'".format(
               result.error.code, result.error.message
           ))

begin_analyze_actions

Inicie una operación de larga duración para realizar una variedad de acciones de análisis de texto en un lote de documentos.

Se recomienda usar esta función si desea analizar documentos más grandes y/ o combinar varias acciones de análisis de texto en una sola llamada. De lo contrario, se recomienda usar los puntos de conexión específicos de la acción, por ejemplo analyze_sentiment.

Nota:

Consulte la documentación del servicio para obtener compatibilidad regional con las características de acción personalizada:

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

Novedad de la versión v3.1: el método de cliente begin_analyze_actions .

Novedad de la versión 2022-05-01: Las opciones de entrada RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction y AnalyzeHealthcareEntitiesAction y las correspondientes opciones de entrada RecognizeCustomEntitiesResult, ClassifyDocumentResult y AnalyzeHealthcareEntitiesResult

Novedad de la versión 2023-04-01: las opciones de entrada ExtractiveSummaryAction y AbstractiveSummaryAction y los objetos de resultado ExtractiveSummaryResult y AbstractiveSummaryResult correspondientes.

begin_analyze_actions(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], actions: List[RecognizeEntitiesAction | RecognizeLinkedEntitiesAction | RecognizePiiEntitiesAction | ExtractKeyPhrasesAction | AnalyzeSentimentAction | RecognizeCustomEntitiesAction | SingleLabelClassifyAction | MultiLabelClassifyAction | AnalyzeHealthcareEntitiesAction | ExtractiveSummaryAction | AbstractiveSummaryAction], *, continuation_token: str | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[List[RecognizeEntitiesResult | RecognizeLinkedEntitiesResult | RecognizePiiEntitiesResult | ExtractKeyPhrasesResult | AnalyzeSentimentResult | RecognizeCustomEntitiesResult | ClassifyDocumentResult | AnalyzeHealthcareEntitiesResult | ExtractiveSummaryResult | AbstractiveSummaryResult | DocumentError]]]

Parámetros

documents
list[str] o list[TextDocumentInput] o list[dict[str, str]]
Requerido

Conjunto de documentos que se van a procesar como parte de este lote. Si desea especificar el identificador y el idioma por elemento, debe usar como entrada una lista[TextDocumentInput] o una lista de representaciones dict de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

actions
list[RecognizeEntitiesAction o RecognizePiiEntitiesAction o ExtractKeyPhrasesAction o RecognizeLinkedEntitiesAction o AnalyzeSentimentAction o RecognizeCustomEntitiesAction o SingleLabelClassifyAction o MultiLabelClassifyAction o AnalyzeHealthcareEntitiesAction o ExtractiveSummaryAction o AbstractiveSummaryAction]
Requerido

Una lista heterogénea de acciones que se van a realizar en los documentos de entrada. Cada objeto de acción encapsula los parámetros usados para el tipo de acción determinado. Los resultados de la acción estarán en el mismo orden de las acciones de entrada.

display_name
str

Nombre para mostrar opcional que se va a establecer para el análisis solicitado.

language
str

Representación iso 639-1 de dos letras del idioma para todo el lote. Por ejemplo, use "en" para inglés; "es" para español, etc. Si no se establece, usa "en" para inglés como valor predeterminado. El idioma por documento tendrá prioridad sobre todo el idioma por lotes. Consulte https://aka.ms/talangs para conocer los idiomas admitidos en Language API.

show_stats
bool

Si se establece en true, la respuesta contendrá estadísticas de nivel de documento.

polling_interval
int

Tiempo de espera entre dos sondeos de operaciones LRO si no hay ningún encabezado Retry-After presente. El valor predeterminado es 5 segundos.

continuation_token
str

Llame a continuation_token() en el objeto poller para guardar el estado de la operación de ejecución prolongada (LRO) en un token opaco. Pase el valor como argumento de palabra clave continuation_token para reiniciar el LRO desde un estado guardado.

Devoluciones

Una instancia de TextAnalysisLROPoller. Llame a result() en el objeto poller para devolver una lista heterogénea paginable de listas. Esta lista de listas se ordena primero por los documentos que especifique y, a continuación, se ordenan por las acciones que especifique. Por ejemplo, si tiene documentos introducidos ["Hello", "world"], y actions RecognizeEntitiesAction y AnalyzeSentimentAction, al recorrer en iteración la lista de listas, primero recorrerá en iteración los resultados de la acción para el documento "Hello", obteniendo el RecognizeEntitiesResult de "Hello" y, a continuación, el AnalyzeSentimentResult de "Hello". Entonces, obtendrás el RecognizeEntitiesResult y AnalyzeSentimentResult del "mundo".

Tipo de valor devuelto

Excepciones

Ejemplos

Inicie una operación de larga duración para realizar una variedad de acciones de análisis de texto en un lote de documentos.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics import (
       TextAnalyticsClient,
       RecognizeEntitiesAction,
       RecognizeLinkedEntitiesAction,
       RecognizePiiEntitiesAction,
       ExtractKeyPhrasesAction,
       AnalyzeSentimentAction,
   )

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]

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

   documents = [
       'We went to Contoso Steakhouse located at midtown NYC last week for a dinner party, and we adore the spot! '
       'They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is John Doe) '
       'and he is super nice, coming out of the kitchen and greeted us all.'
       ,

       'We enjoyed very much dining in the place! '
       'The Sirloin steak I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their '
       'online menu at www.contososteakhouse.com, call 312-555-0176 or send email to order@contososteakhouse.com! '
       'The only complaint I have is the food didn\'t come fast enough. Overall I highly recommend it!'
   ]

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

   document_results = poller.result()
   for doc, action_results in zip(documents, document_results):
       print(f"\nDocument text: {doc}")
       for result in action_results:
           if result.kind == "EntityRecognition":
               print("...Results of Recognize Entities Action:")
               for entity in result.entities:
                   print(f"......Entity: {entity.text}")
                   print(f".........Category: {entity.category}")
                   print(f".........Confidence Score: {entity.confidence_score}")
                   print(f".........Offset: {entity.offset}")

           elif result.kind == "PiiEntityRecognition":
               print("...Results of Recognize PII Entities action:")
               for pii_entity in result.entities:
                   print(f"......Entity: {pii_entity.text}")
                   print(f".........Category: {pii_entity.category}")
                   print(f".........Confidence Score: {pii_entity.confidence_score}")

           elif result.kind == "KeyPhraseExtraction":
               print("...Results of Extract Key Phrases action:")
               print(f"......Key Phrases: {result.key_phrases}")

           elif result.kind == "EntityLinking":
               print("...Results of Recognize Linked Entities action:")
               for linked_entity in result.entities:
                   print(f"......Entity name: {linked_entity.name}")
                   print(f".........Data source: {linked_entity.data_source}")
                   print(f".........Data source language: {linked_entity.language}")
                   print(
                       f".........Data source entity ID: {linked_entity.data_source_entity_id}"
                   )
                   print(f".........Data source URL: {linked_entity.url}")
                   print(".........Document matches:")
                   for match in linked_entity.matches:
                       print(f"............Match text: {match.text}")
                       print(f"............Confidence Score: {match.confidence_score}")
                       print(f"............Offset: {match.offset}")
                       print(f"............Length: {match.length}")

           elif result.kind == "SentimentAnalysis":
               print("...Results of Analyze Sentiment action:")
               print(f"......Overall sentiment: {result.sentiment}")
               print(
                   f"......Scores: positive={result.confidence_scores.positive}; \
                   neutral={result.confidence_scores.neutral}; \
                   negative={result.confidence_scores.negative} \n"
               )

           elif result.is_error is True:
               print(
                   f"...Is an error with code '{result.error.code}' and message '{result.error.message}'"
               )

       print("------------------------------------------")


begin_analyze_healthcare_entities

Analice las entidades sanitarias e identifique las relaciones entre estas entidades en un lote de documentos.

Las entidades están asociadas a referencias que se pueden encontrar en las bases de conocimiento existentes, como UMLS, CHV, MSH, etc.

También extraemos las relaciones encontradas entre entidades, por ejemplo, en "El sujeto tomó 100 mg de ibuprofeno", extraeríamos la relación entre la dosificación "100 mg" y el medicamento "parentesco".

Novedad de la versión v3.1: el método de cliente begin_analyze_healthcare_entities .

Novedad de la versión 2022-05-01: el argumento de palabra clave display_name .

begin_analyze_healthcare_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, model_version: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> AnalyzeHealthcareEntitiesLROPoller[ItemPaged[AnalyzeHealthcareEntitiesResult | DocumentError]]

Parámetros

documents
list[str] o list[TextDocumentInput] o list[dict[str, str]]
Requerido

Conjunto de documentos que se van a procesar como parte de este lote. Si desea especificar el identificador y el idioma por elemento, debe usar como entrada una lista[TextDocumentInput] o una lista de representaciones dict de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

model_version
str

La versión del modelo que se va a usar para el análisis, por ejemplo, "latest". Si no se especifica una versión del modelo, la API tendrá como valor predeterminado la versión más reciente que no sea de versión preliminar. Consulte aquí para obtener más información: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Si se establece en true, la respuesta contendrá estadísticas de nivel de documento.

language
str

Representación iso 639-1 de dos letras del idioma para todo el lote. Por ejemplo, use "en" para inglés; "es" para español, etc. Si no se establece, usa "en" para inglés como valor predeterminado. El idioma por documento tendrá prioridad sobre todo el idioma por lotes. Consulte https://aka.ms/talangs para conocer los idiomas admitidos en Language API.

display_name
str

Nombre para mostrar opcional que se va a establecer para el análisis solicitado.

string_index_type
str

Especifica el método utilizado para interpretar los desplazamientos de cadena. UnicodeCodePoint, la codificación de Python, es el valor predeterminado. Para invalidar el valor predeterminado de Python, también puede pasar Utf16CodeUnit o TextElement_v8. Para obtener más información, consulte https://aka.ms/text-analytics-offsets

polling_interval
int

Tiempo de espera entre dos sondeos para las operaciones LRO si no hay ningún encabezado Retry-After presente. El valor predeterminado es 5 segundos.

continuation_token
str

Llame a continuation_token() en el objeto de sondeo para guardar el estado de la operación de ejecución prolongada (LRO) en un token opaco. Pase el valor como argumento de palabra clave continuation_token para reiniciar el LRO desde un estado guardado.

disable_service_logs
bool

El valor predeterminado es true, lo que significa que el servicio de idioma no registrará el texto de entrada en el lado del servicio para solucionar problemas. Si se establece en False, el servicio language registra el texto de entrada durante 48 horas, solo para permitir la solución de problemas al proporcionarle las funciones de procesamiento de lenguaje natural del servicio. Consulte las notas de cumplimiento y privacidad de Cognitive Services en https://aka.ms/cs-compliance para obtener más detalles y los principios de inteligencia artificial responsable de Microsoft en https://www.microsoft.com/ai/responsible-ai.

Devoluciones

Instancia de AnalyzeHealthcareEntitiesLROPoller. Llame a result() en el objeto para devolver una paginación heterogénea de AnalyzeHealthcareEntitiesResult y DocumentError.

Tipo de valor devuelto

Excepciones

Ejemplos

Reconocer entidades sanitarias en un lote de documentos.


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

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]

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

   documents = [
       """
       Patient needs to take 100 mg of ibuprofen, and 3 mg of potassium. Also needs to take
       10 mg of Zocor.
       """,
       """
       Patient needs to take 50 mg of ibuprofen, and 2 mg of Coumadin.
       """
   ]

   poller = text_analytics_client.begin_analyze_healthcare_entities(documents)
   result = poller.result()

   docs = [doc for doc in result if not doc.is_error]

   print("Let's first visualize the outputted healthcare result:")
   for doc in docs:
       for entity in doc.entities:
           print(f"Entity: {entity.text}")
           print(f"...Normalized Text: {entity.normalized_text}")
           print(f"...Category: {entity.category}")
           print(f"...Subcategory: {entity.subcategory}")
           print(f"...Offset: {entity.offset}")
           print(f"...Confidence score: {entity.confidence_score}")
           if entity.data_sources is not None:
               print("...Data Sources:")
               for data_source in entity.data_sources:
                   print(f"......Entity ID: {data_source.entity_id}")
                   print(f"......Name: {data_source.name}")
           if entity.assertion is not None:
               print("...Assertion:")
               print(f"......Conditionality: {entity.assertion.conditionality}")
               print(f"......Certainty: {entity.assertion.certainty}")
               print(f"......Association: {entity.assertion.association}")
       for relation in doc.entity_relations:
           print(f"Relation of type: {relation.relation_type} has the following roles")
           for role in relation.roles:
               print(f"...Role '{role.name}' with entity '{role.entity.text}'")
       print("------------------------------------------")

   print("Now, let's get all of medication dosage relations from the documents")
   dosage_of_medication_relations = [
       entity_relation
       for doc in docs
       for entity_relation in doc.entity_relations if entity_relation.relation_type == HealthcareEntityRelation.DOSAGE_OF_MEDICATION
   ]

begin_extract_summary

Inicie una operación de resumen extractivo de ejecución prolongada.

Para obtener una explicación conceptual del resumen extractivo, consulte la documentación del servicio: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview

Novedad de la versión 2023-04-01: el método de cliente begin_extract_summary .

begin_extract_summary(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, model_version: str | None = None, string_index_type: str | None = None, max_sentence_count: int | None = None, order_by: Literal['Rank', 'Offset'] | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[ExtractiveSummaryResult | DocumentError]]

Parámetros

documents
list[str] o list[TextDocumentInput] o list[dict[str, str]]
Requerido

Conjunto de documentos que se van a procesar como parte de este lote. Si desea especificar el identificador y el idioma por elemento, debe usar como entrada una lista[TextDocumentInput] o una lista de representaciones dict de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

language
str

Representación iso 639-1 de dos letras del idioma para todo el lote. Por ejemplo, use "en" para inglés; "es" para español, etc. Si no se establece, usa "en" para inglés como valor predeterminado. El idioma por documento tendrá prioridad sobre todo el idioma por lotes. Consulte https://aka.ms/talangs para conocer los idiomas admitidos en Language API.

show_stats
bool

Si se establece en true, la respuesta contendrá estadísticas de nivel de documento.

max_sentence_count
Optional[int]

Número máximo de oraciones que se van a devolver. El valor predeterminado es 3.

order_by
Optional[str]

Entre los valores posibles se incluyen: "Offset", "Rank". Valor predeterminado: "Offset".

model_version
Optional[str]

La versión del modelo que se va a usar para el análisis, por ejemplo, "latest". Si no se especifica una versión del modelo, la API tendrá como valor predeterminado la versión más reciente que no sea de versión preliminar. Consulte aquí para obtener más información: https://aka.ms/text-analytics-model-versioning

string_index_type
Optional[str]

Especifica el método utilizado para interpretar los desplazamientos de cadena.

disable_service_logs
bool

Si se establece en true, no puede dejar de tener la entrada de texto iniciada en el lado del servicio para solucionar problemas. De forma predeterminada, el servicio Language registra el texto de entrada durante 48 horas, solo para permitir la solución de problemas al proporcionarle las funciones de procesamiento de lenguaje natural del servicio. Si establece este parámetro en true, deshabilita el registro de entrada y puede limitar la capacidad de corregir los problemas que se producen. Consulte las notas de cumplimiento y privacidad de Cognitive Services en https://aka.ms/cs-compliance para obtener más detalles y los principios de inteligencia artificial responsable de Microsoft en https://www.microsoft.com/ai/responsible-ai.

polling_interval
int

Tiempo de espera entre dos sondeos para las operaciones LRO si no hay ningún encabezado Retry-After presente. El valor predeterminado es 5 segundos.

continuation_token
str

Llame a continuation_token() en el objeto de sondeo para guardar el estado de la operación de ejecución prolongada (LRO) en un token opaco. Pase el valor como argumento de palabra clave continuation_token para reiniciar el LRO desde un estado guardado.

display_name
str

Nombre para mostrar opcional que se va a establecer para el análisis solicitado.

Devoluciones

Instancia de textAnalysisLROPoller. Llame a result() en el objeto para devolver una paginación heterogénea de ExtractiveSummaryResult y DocumentError.

Tipo de valor devuelto

Excepciones

Ejemplos

Realice un resumen extractivo en un lote de documentos.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics import TextAnalyticsClient

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]

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

   document = [
       "At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, "
       "human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI Cognitive "
       "Services, I have been working with a team of amazing scientists and engineers to turn this quest into a "
       "reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of "
       "human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the "
       "intersection of all three, there's magic-what we call XYZ-code as illustrated in Figure 1-a joint "
       "representation to create more powerful AI that can speak, hear, see, and understand humans better. "
       "We believe XYZ-code will enable us to fulfill our long-term vision: cross-domain transfer learning, "
       "spanning modalities and languages. The goal is to have pretrained models that can jointly learn "
       "representations to support a broad range of downstream AI tasks, much in the way humans do today. "
       "Over the past five years, we have achieved human performance on benchmarks in conversational speech "
       "recognition, machine translation, conversational question answering, machine reading comprehension, "
       "and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious "
       "aspiration to produce a leap in AI capabilities, achieving multisensory and multilingual learning that "
       "is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational "
       "component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
   ]

   poller = text_analytics_client.begin_extract_summary(document)
   extract_summary_results = poller.result()
   for result in extract_summary_results:
       if result.kind == "ExtractiveSummarization":
           print("Summary extracted: \n{}".format(
               " ".join([sentence.text for sentence in result.sentences]))
           )
       elif result.is_error is True:
           print("...Is an error with code '{}' and message '{}'".format(
               result.error.code, result.error.message
           ))

begin_multi_label_classify

Inicie una operación de clasificación personalizada de varias etiquetas de ejecución prolongada.

Para obtener información sobre la compatibilidad regional de características personalizadas y cómo entrenar un modelo para clasificar los documentos, consulte https://aka.ms/azsdk/textanalytics/customfunctionalities

Novedad de la versión 2022-05-01: el método de 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]]

Parámetros

documents
list[str] o list[TextDocumentInput] o list[dict[str, str]]
Requerido

Conjunto de documentos que se van a procesar como parte de este lote. Si desea especificar el identificador y el idioma por elemento, debe usar como entrada una lista[TextDocumentInput] o una lista de representaciones dict de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

project_name
str
Requerido

Necesario. Este campo indica el nombre del proyecto para el modelo.

deployment_name
str
Requerido

Este campo indica el nombre de implementación del modelo.

language
str

Representación iso 639-1 de dos letras del idioma para todo el lote. Por ejemplo, use "en" para inglés; "es" para español, etc. Si no se establece, usa "en" para inglés como valor predeterminado. El idioma por documento tendrá prioridad sobre todo el idioma por lotes. Consulte https://aka.ms/talangs para conocer los idiomas admitidos en Language API.

show_stats
bool

Si se establece en true, la respuesta contendrá estadísticas de nivel de documento.

disable_service_logs
bool

Si se establece en true, no puede dejar de tener la entrada de texto iniciada en el lado del servicio para solucionar problemas. De forma predeterminada, el servicio Language registra el texto de entrada durante 48 horas, solo para permitir la solución de problemas al proporcionarle las funciones de procesamiento de lenguaje natural del servicio. Si establece este parámetro en true, deshabilita el registro de entrada y puede limitar la capacidad de corregir los problemas que se producen. Consulte las notas de cumplimiento y privacidad de Cognitive Services en https://aka.ms/cs-compliance para obtener más detalles y los principios de inteligencia artificial responsable de Microsoft en https://www.microsoft.com/ai/responsible-ai.

polling_interval
int

Tiempo de espera entre dos sondeos para las operaciones LRO si no hay ningún encabezado Retry-After presente. El valor predeterminado es 5 segundos.

continuation_token
str

Llame a continuation_token() en el objeto de sondeo para guardar el estado de la operación de ejecución prolongada (LRO) en un token opaco. Pase el valor como argumento de palabra clave continuation_token para reiniciar el LRO desde un estado guardado.

display_name
str

Nombre para mostrar opcional que se va a establecer para el análisis solicitado.

Devoluciones

Instancia de textAnalysisLROPoller. Llame a result() en el objeto para devolver una paginación heterogénea de ClassifyDocumentResult y DocumentError.

Tipo de valor devuelto

Excepciones

Ejemplos

Realizar la clasificación de varias etiquetas en un lote de documentos.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics import TextAnalyticsClient

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]
   project_name = os.environ["MULTI_LABEL_CLASSIFY_PROJECT_NAME"]
   deployment_name = os.environ["MULTI_LABEL_CLASSIFY_DEPLOYMENT_NAME"]
   path_to_sample_document = os.path.abspath(
       os.path.join(
           os.path.abspath(__file__),
           "..",
           "./text_samples/custom_classify_sample.txt",
       )
   )

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

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

   poller = text_analytics_client.begin_multi_label_classify(
       document,
       project_name=project_name,
       deployment_name=deployment_name
   )

   document_results = poller.result()
   for doc, classification_result in zip(document, document_results):
       if classification_result.kind == "CustomDocumentClassification":
           classifications = classification_result.classifications
           print(f"\nThe movie plot '{doc}' was classified as the following genres:\n")
           for classification in classifications:
               print("'{}' with confidence score {}.".format(
                   classification.category, classification.confidence_score
               ))
       elif classification_result.is_error is True:
           print("Movie plot '{}' has an error with code '{}' and message '{}'".format(
               doc, classification_result.error.code, classification_result.error.message
           ))

begin_recognize_custom_entities

Inicie una operación personalizada de reconocimiento de entidades con nombre de ejecución prolongada.

Para obtener información sobre la compatibilidad regional de características personalizadas y cómo entrenar un modelo para reconocer entidades personalizadas, consulte https://aka.ms/azsdk/textanalytics/customentityrecognition

Novedad de la versión 2022-05-01: el método de cliente begin_recognize_custom_entities .

begin_recognize_custom_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], project_name: str, deployment_name: str, *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[RecognizeCustomEntitiesResult | DocumentError]]

Parámetros

documents
list[str] o list[TextDocumentInput] o list[dict[str, str]]
Requerido

Conjunto de documentos que se van a procesar como parte de este lote. Si desea especificar el identificador y el idioma por elemento, debe usar como entrada una lista[TextDocumentInput] o una lista de representaciones dict de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

project_name
str
Requerido

Necesario. Este campo indica el nombre del proyecto para el modelo.

deployment_name
str
Requerido

Este campo indica el nombre de implementación del modelo.

language
str

Representación iso 639-1 de dos letras del idioma para todo el lote. Por ejemplo, use "en" para inglés; "es" para español, etc. Si no se establece, usa "en" para inglés como valor predeterminado. El idioma por documento tendrá prioridad sobre todo el idioma por lotes. Consulte https://aka.ms/talangs para conocer los idiomas admitidos en Language API.

show_stats
bool

Si se establece en true, la respuesta contendrá estadísticas de nivel de documento.

disable_service_logs
bool

Si se establece en true, no podrá tener la entrada de texto iniciada en el lado del servicio para solucionar problemas. De forma predeterminada, el servicio language registra el texto de entrada durante 48 horas, solo para permitir la solución de problemas al proporcionarle las funciones de procesamiento de lenguaje natural del servicio. Si establece este parámetro en true, deshabilita el registro de entrada y puede limitar nuestra capacidad de corregir los problemas que se producen. Consulte las notas de cumplimiento y privacidad de Cognitive Services en https://aka.ms/cs-compliance para obtener más detalles y los principios de inteligencia artificial responsable de Microsoft en https://www.microsoft.com/ai/responsible-ai.

string_index_type
str

Especifica el método utilizado para interpretar los desplazamientos de cadena. UnicodeCodePoint, la codificación de Python, es el valor predeterminado. Para invalidar el valor predeterminado de Python, también puede pasar Utf16CodeUnit o TextElement_v8. Para más información, consulte https://aka.ms/text-analytics-offsets

polling_interval
int

Tiempo de espera entre dos sondeos de operaciones LRO si no hay ningún encabezado Retry-After presente. El valor predeterminado es 5 segundos.

continuation_token
str

Llame a continuation_token() en el objeto poller para guardar el estado de la operación de ejecución prolongada (LRO) en un token opaco. Pase el valor como argumento de palabra clave continuation_token para reiniciar el LRO desde un estado guardado.

display_name
str

Nombre para mostrar opcional que se va a establecer para el análisis solicitado.

Devoluciones

Una instancia de TextAnalysisLROPoller. Llame a result() en el objeto para devolver una paginación heterogénea de RecognizeCustomEntitiesResult y DocumentError.

Tipo de valor devuelto

Excepciones

Ejemplos

Reconocer entidades personalizadas en un lote de documentos.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics import TextAnalyticsClient

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]
   project_name = os.environ["CUSTOM_ENTITIES_PROJECT_NAME"]
   deployment_name = os.environ["CUSTOM_ENTITIES_DEPLOYMENT_NAME"]
   path_to_sample_document = os.path.abspath(
       os.path.join(
           os.path.abspath(__file__),
           "..",
           "./text_samples/custom_entities_sample.txt",
       )
   )

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

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

   poller = text_analytics_client.begin_recognize_custom_entities(
       document,
       project_name=project_name,
       deployment_name=deployment_name
   )

   document_results = poller.result()
   for custom_entities_result in document_results:
       if custom_entities_result.kind == "CustomEntityRecognition":
           for entity in custom_entities_result.entities:
               print(
                   "Entity '{}' has category '{}' with confidence score of '{}'".format(
                       entity.text, entity.category, entity.confidence_score
                   )
               )
       elif custom_entities_result.is_error is True:
           print("...Is an error with code '{}' and message '{}'".format(
               custom_entities_result.error.code, custom_entities_result.error.message
               )
           )

begin_single_label_classify

Inicie una operación personalizada de clasificación de etiquetas únicas de ejecución prolongada.

Para obtener información sobre la compatibilidad regional de características personalizadas y cómo entrenar un modelo para clasificar los documentos, consulte https://aka.ms/azsdk/textanalytics/customfunctionalities

Novedad de la versión 2022-05-01: el método de cliente begin_single_label_classify .

begin_single_label_classify(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], project_name: str, deployment_name: str, *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[ClassifyDocumentResult | DocumentError]]

Parámetros

documents
list[str] o list[TextDocumentInput] o list[dict[str, str]]
Requerido

Conjunto de documentos que se van a procesar como parte de este lote. Si desea especificar el identificador y el idioma por elemento, debe usar como entrada una lista[TextDocumentInput] o una lista de representaciones dict de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

project_name
str
Requerido

Necesario. Este campo indica el nombre del proyecto para el modelo.

deployment_name
str
Requerido

Este campo indica el nombre de implementación del modelo.

language
str

Representación iso 639-1 de dos letras del idioma para todo el lote. Por ejemplo, use "en" para inglés; "es" para español, etc. Si no se establece, usa "en" para inglés como valor predeterminado. El idioma por documento tendrá prioridad sobre todo el idioma por lotes. Consulte https://aka.ms/talangs para conocer los idiomas admitidos en Language API.

show_stats
bool

Si se establece en true, la respuesta contendrá estadísticas de nivel de documento.

disable_service_logs
bool

Si se establece en true, no podrá tener la entrada de texto iniciada en el lado del servicio para solucionar problemas. De forma predeterminada, el servicio language registra el texto de entrada durante 48 horas, solo para permitir la solución de problemas al proporcionarle las funciones de procesamiento de lenguaje natural del servicio. Si establece este parámetro en true, deshabilita el registro de entrada y puede limitar nuestra capacidad de corregir los problemas que se producen. Consulte las notas de cumplimiento y privacidad de Cognitive Services en https://aka.ms/cs-compliance para obtener más detalles y los principios de inteligencia artificial responsable de Microsoft en https://www.microsoft.com/ai/responsible-ai.

polling_interval
int

Tiempo de espera entre dos sondeos de operaciones LRO si no hay ningún encabezado Retry-After presente. El valor predeterminado es 5 segundos.

continuation_token
str

Llame a continuation_token() en el objeto poller para guardar el estado de la operación de ejecución prolongada (LRO) en un token opaco. Pase el valor como argumento de palabra clave continuation_token para reiniciar el LRO desde un estado guardado.

display_name
str

Nombre para mostrar opcional que se va a establecer para el análisis solicitado.

Devoluciones

Una instancia de TextAnalysisLROPoller. Llame a result() en el objeto para devolver una paginación heterogénea de ClassifyDocumentResult y DocumentError.

Tipo de valor devuelto

Excepciones

Ejemplos

Realice una clasificación de una sola etiqueta en un lote de documentos.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics import TextAnalyticsClient

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]
   project_name = os.environ["SINGLE_LABEL_CLASSIFY_PROJECT_NAME"]
   deployment_name = os.environ["SINGLE_LABEL_CLASSIFY_DEPLOYMENT_NAME"]
   path_to_sample_document = os.path.abspath(
       os.path.join(
           os.path.abspath(__file__),
           "..",
           "./text_samples/custom_classify_sample.txt",
       )
   )

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

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

   poller = text_analytics_client.begin_single_label_classify(
       document,
       project_name=project_name,
       deployment_name=deployment_name
   )

   document_results = poller.result()
   for doc, classification_result in zip(document, document_results):
       if classification_result.kind == "CustomDocumentClassification":
           classification = classification_result.classifications[0]
           print("The document text '{}' was classified as '{}' with confidence score {}.".format(
               doc, classification.category, classification.confidence_score)
           )
       elif classification_result.is_error is True:
           print("Document text '{}' has an error with code '{}' and message '{}'".format(
               doc, classification_result.error.code, classification_result.error.message
           ))

close

Cierre los sockets abiertos por el cliente. Llamar a este método no es necesario cuando se usa el cliente como administrador de contexto.

close() -> None

Excepciones

detect_language

Detecte el idioma de un lote de documentos.

Devuelve el idioma detectado y una puntuación numérica entre cero y uno. Las puntuaciones cercanas a una indican una certeza del 100 % de que el idioma identificado es true. Consulte https://aka.ms/talangs la lista de idiomas habilitados.

Consulte https://aka.ms/azsdk/textanalytics/data-limits para conocer los límites de datos del servicio.

Novedad de la versión v3.1: el argumento de palabra clave disable_service_logs .

detect_language(documents: List[str] | List[DetectLanguageInput] | List[Dict[str, str]], *, country_hint: str | None = None, disable_service_logs: bool | None = None, model_version: str | None = None, show_stats: bool | None = None, **kwargs: Any) -> List[DetectLanguageResult | DocumentError]

Parámetros

documents
list[str] o list[DetectLanguageInput] o list[dict[str, str]]
Requerido

Conjunto de documentos que se van a procesar como parte de este lote. Si desea especificar el identificador y country_hint por elemento, debe usar como entrada una lista[DetectLanguageInput] o una lista de representaciones dict de DetectLanguageInput, como {"id": "1", "country_hint": "us", "text": "hello world"}.

country_hint
str

Sugerencia de país de origen para todo el lote. Acepta dos códigos de país de letra especificados por ISO 3166-1 alpha-2. Las sugerencias de país por documento tendrán prioridad sobre las sugerencias por lotes completas. El valor predeterminado es "US". Si no desea usar una sugerencia de país, pase la cadena "none".

model_version
str

La versión del modelo que se va a usar para el análisis, por ejemplo, "latest". Si no se especifica una versión del modelo, la API tendrá como valor predeterminado la versión más reciente que no sea de versión preliminar. Consulte aquí para obtener más información: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Si se establece en true, la respuesta contendrá estadísticas de nivel de documento en el campo de estadísticas de la respuesta de nivel de documento.

disable_service_logs
bool

Si se establece en true, no podrá tener la entrada de texto iniciada en el lado del servicio para solucionar problemas. De forma predeterminada, el servicio language registra el texto de entrada durante 48 horas, solo para permitir la solución de problemas al proporcionarle las funciones de procesamiento de lenguaje natural del servicio. Si establece este parámetro en true, deshabilita el registro de entrada y puede limitar nuestra capacidad de corregir los problemas que se producen. Consulte las notas de cumplimiento y privacidad de Cognitive Services en https://aka.ms/cs-compliance para obtener más detalles y los principios de inteligencia artificial responsable de Microsoft en https://www.microsoft.com/ai/responsible-ai.

Devoluciones

La lista combinada de DetectLanguageResult y DocumentError en el orden en que se pasaron los documentos originales.

Tipo de valor devuelto

Excepciones

Ejemplos

Detección del idioma en un lote de documentos.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics import TextAnalyticsClient

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]

   text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
   documents = [
       """
       The concierge Paulette was extremely helpful. Sadly when we arrived the elevator was broken, but with Paulette's help we barely noticed this inconvenience.
       She arranged for our baggage to be brought up to our room with no extra charge and gave us a free meal to refurbish all of the calories we lost from
       walking up the stairs :). Can't say enough good things about my experience!
       """,
       """
       最近由于工作压力太大,我们决定去富酒店度假。那儿的温泉实在太舒服了,我跟我丈夫都完全恢复了工作前的青春精神!加油!
       """
   ]

   result = text_analytics_client.detect_language(documents)
   reviewed_docs = [doc for doc in result if not doc.is_error]

   print("Let's see what language each review is in!")

   for idx, doc in enumerate(reviewed_docs):
       print("Review #{} is in '{}', which has ISO639-1 name '{}'\n".format(
           idx, doc.primary_language.name, doc.primary_language.iso6391_name
       ))

extract_key_phrases

Extraiga frases clave de un lote de documentos.

Devuelve una lista de cadenas que denotan las frases clave en el texto de entrada. Por ejemplo, para el texto de entrada "La comida era deliciosa y había un personal maravilloso", la API devuelve los principales puntos de conversación: "comida" y "personal maravilloso"

Consulte https://aka.ms/azsdk/textanalytics/data-limits para conocer los límites de datos del servicio.

Novedad de la versión v3.1: el argumento de palabra clave disable_service_logs .

extract_key_phrases(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, disable_service_logs: bool | None = None, language: str | None = None, model_version: str | None = None, show_stats: bool | None = None, **kwargs: Any) -> List[ExtractKeyPhrasesResult | DocumentError]

Parámetros

documents
list[str] o list[TextDocumentInput] o list[dict[str, str]]
Requerido

Conjunto de documentos que se van a procesar como parte de este lote. Si desea especificar el identificador y el idioma por elemento, debe usar como entrada una lista[TextDocumentInput] o una lista de representaciones dict de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

language
str

Representación iso 639-1 de dos letras del idioma para todo el lote. Por ejemplo, use "en" para inglés; "es" para español, etc. Si no se establece, usa "en" para inglés como valor predeterminado. El idioma por documento tendrá prioridad sobre todo el idioma por lotes. Consulte https://aka.ms/talangs para conocer los idiomas admitidos en Language API.

model_version
str

La versión del modelo que se va a usar para el análisis, por ejemplo, "latest". Si no se especifica una versión del modelo, la API tendrá como valor predeterminado la versión más reciente que no sea de versión preliminar. Consulte aquí para obtener más información: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Si se establece en true, la respuesta contendrá estadísticas de nivel de documento en el campo de estadísticas de la respuesta de nivel de documento.

disable_service_logs
bool

Si se establece en true, no podrá tener la entrada de texto iniciada en el lado del servicio para solucionar problemas. De forma predeterminada, el servicio language registra el texto de entrada durante 48 horas, solo para permitir la solución de problemas al proporcionarle las funciones de procesamiento de lenguaje natural del servicio. Si establece este parámetro en true, deshabilita el registro de entrada y puede limitar nuestra capacidad de corregir los problemas que se producen. Consulte las notas de cumplimiento y privacidad de Cognitive Services en https://aka.ms/cs-compliance para obtener más detalles y los principios de inteligencia artificial responsable de Microsoft en https://www.microsoft.com/ai/responsible-ai.

Devoluciones

La lista combinada de ExtractKeyPhrasesResult y DocumentError en el orden en que se pasaron los documentos originales.

Tipo de valor devuelto

Excepciones

Ejemplos

Extraiga las frases clave en un lote de documentos.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics import TextAnalyticsClient

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]

   text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
   articles = [
       """
       Washington, D.C. Autumn in DC is a uniquely beautiful season. The leaves fall from the trees
       in a city chock-full of forests, leaving yellow leaves on the ground and a clearer view of the
       blue sky above...
       """,
       """
       Redmond, WA. In the past few days, Microsoft has decided to further postpone the start date of
       its United States workers, due to the pandemic that rages with no end in sight...
       """,
       """
       Redmond, WA. Employees at Microsoft can be excited about the new coffee shop that will open on campus
       once workers no longer have to work remotely...
       """
   ]

   result = text_analytics_client.extract_key_phrases(articles)
   for idx, doc in enumerate(result):
       if not doc.is_error:
           print("Key phrases in article #{}: {}".format(
               idx + 1,
               ", ".join(doc.key_phrases)
           ))

recognize_entities

Reconocer entidades para un lote de documentos.

Identifica y clasifica las entidades en el texto como personas, lugares, organizaciones, fecha y hora, cantidades, porcentajes, monedas, etc. Para obtener la lista de tipos de entidad admitidos, compruebe: https://aka.ms/taner

Consulte para conocer https://aka.ms/azsdk/textanalytics/data-limits los límites de datos del servicio.

Novedad de la versión v3.1: los argumentos de palabra clave disable_service_logs y string_index_type .

recognize_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, disable_service_logs: bool | None = None, language: str | None = None, model_version: str | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> List[RecognizeEntitiesResult | DocumentError]

Parámetros

documents
list[str] o list[TextDocumentInput] o list[dict[str, str]]
Requerido

Conjunto de documentos que se van a procesar como parte de este lote. Si desea especificar el identificador y el idioma por elemento, debe usar como entrada una lista[TextDocumentInput] o una lista de representaciones dict de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

language
str

Representación iso 639-1 de dos letras del idioma para todo el lote. Por ejemplo, use "en" para inglés; "es" para español, etc. Si no se establece, usa "en" para inglés como valor predeterminado. El idioma por documento tendrá prioridad sobre todo el idioma por lotes. Consulte https://aka.ms/talangs para conocer los idiomas admitidos en Language API.

model_version
str

La versión del modelo que se va a usar para el análisis, por ejemplo, "latest". Si no se especifica una versión del modelo, la API tendrá como valor predeterminado la versión más reciente que no sea de versión preliminar. Consulte aquí para obtener más información: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Si se establece en true, la respuesta contendrá estadísticas de nivel de documento en el campo de estadísticas de la respuesta de nivel de documento.

string_index_type
str

Especifica el método utilizado para interpretar los desplazamientos de cadena. UnicodeCodePoint, la codificación de Python, es el valor predeterminado. Para invalidar el valor predeterminado de Python, también puede pasar Utf16CodeUnit o TextElement_v8. Para obtener más información, consulte https://aka.ms/text-analytics-offsets

disable_service_logs
bool

Si se establece en true, no puede dejar de tener la entrada de texto iniciada en el lado del servicio para solucionar problemas. De forma predeterminada, el servicio Language registra el texto de entrada durante 48 horas, solo para permitir la solución de problemas al proporcionarle las funciones de procesamiento de lenguaje natural del servicio. Si establece este parámetro en true, deshabilita el registro de entrada y puede limitar la capacidad de corregir los problemas que se producen. Consulte las notas de cumplimiento y privacidad de Cognitive Services en https://aka.ms/cs-compliance para obtener más detalles y los principios de inteligencia artificial responsable de Microsoft en https://www.microsoft.com/ai/responsible-ai.

Devoluciones

La lista combinada de RecognizeEntitiesResult y DocumentError en el orden en que se pasaron los documentos originales.

Tipo de valor devuelto

Excepciones

Ejemplos

Reconocer entidades en un lote de documentos.


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

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]

   text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
   reviews = [
       """I work for Foo Company, and we hired Contoso for our annual founding ceremony. The food
       was amazing and we all can't say enough good words about the quality and the level of service.""",
       """We at the Foo Company re-hired Contoso after all of our past successes with the company.
       Though the food was still great, I feel there has been a quality drop since their last time
       catering for us. Is anyone else running into the same problem?""",
       """Bar Company is over the moon about the service we received from Contoso, the best sliders ever!!!!"""
   ]

   result = text_analytics_client.recognize_entities(reviews)
   result = [review for review in result if not review.is_error]
   organization_to_reviews: typing.Dict[str, typing.List[str]] = {}

   for idx, review in enumerate(result):
       for entity in review.entities:
           print(f"Entity '{entity.text}' has category '{entity.category}'")
           if entity.category == 'Organization':
               organization_to_reviews.setdefault(entity.text, [])
               organization_to_reviews[entity.text].append(reviews[idx])

   for organization, reviews in organization_to_reviews.items():
       print(
           "\n\nOrganization '{}' has left us the following review(s): {}".format(
               organization, "\n\n".join(reviews)
           )
       )

recognize_linked_entities

Reconocer entidades vinculadas de un knowledge base conocido para un lote de documentos.

Identifica y desambigua la identidad de cada entidad encontrada en el texto (por ejemplo, determinar si una aparición de la palabra Marte hace referencia al planeta o al dios romano de la guerra). Las entidades reconocidas están asociadas a direcciones URL a un knowledge base conocido, como Wikipedia.

Consulte para conocer https://aka.ms/azsdk/textanalytics/data-limits los límites de datos del servicio.

Novedad de la versión v3.1: los argumentos de palabra clave disable_service_logs y string_index_type .

recognize_linked_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, disable_service_logs: bool | None = None, language: str | None = None, model_version: str | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> List[RecognizeLinkedEntitiesResult | DocumentError]

Parámetros

documents
list[str] o list[TextDocumentInput] o list[dict[str, str]]
Requerido

Conjunto de documentos que se van a procesar como parte de este lote. Si desea especificar el identificador y el idioma por elemento, debe usar como entrada una lista[TextDocumentInput] o una lista de representaciones dict de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

language
str

Representación iso 639-1 de dos letras del idioma para todo el lote. Por ejemplo, use "en" para inglés; "es" para español, etc. Si no se establece, usa "en" para inglés como valor predeterminado. El idioma por documento tendrá prioridad sobre todo el idioma por lotes. Consulte https://aka.ms/talangs para conocer los idiomas admitidos en Language API.

model_version
str

La versión del modelo que se va a usar para el análisis, por ejemplo, "latest". Si no se especifica una versión del modelo, la API tendrá como valor predeterminado la versión más reciente que no sea de versión preliminar. Consulte aquí para obtener más información: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Si se establece en true, la respuesta contendrá estadísticas de nivel de documento en el campo de estadísticas de la respuesta de nivel de documento.

string_index_type
str

Especifica el método utilizado para interpretar los desplazamientos de cadena. UnicodeCodePoint, la codificación de Python, es el valor predeterminado. Para invalidar el valor predeterminado de Python, también puede pasar Utf16CodeUnit o TextElement_v8. Para obtener más información, consulte https://aka.ms/text-analytics-offsets

disable_service_logs
bool

Si se establece en true, no puede dejar de tener la entrada de texto iniciada en el lado del servicio para solucionar problemas. De forma predeterminada, el servicio Language registra el texto de entrada durante 48 horas, solo para permitir la solución de problemas al proporcionarle las funciones de procesamiento de lenguaje natural del servicio. Si establece este parámetro en true, deshabilita el registro de entrada y puede limitar la capacidad de corregir los problemas que se producen. Consulte las notas de cumplimiento y privacidad de Cognitive Services en https://aka.ms/cs-compliance para obtener más detalles y los principios de inteligencia artificial responsable de Microsoft en https://www.microsoft.com/ai/responsible-ai.

Devoluciones

La lista combinada de RecognizeLinkedEntitiesResult y DocumentError en el orden en que se pasaron los documentos originales.

Tipo de valor devuelto

Excepciones

Ejemplos

Reconocer entidades vinculadas en un lote de documentos.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics import TextAnalyticsClient

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]

   text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
   documents = [
       """
       Microsoft was founded by Bill Gates with some friends he met at Harvard. One of his friends,
       Steve Ballmer, eventually became CEO after Bill Gates as well. Steve Ballmer eventually stepped
       down as CEO of Microsoft, and was succeeded by Satya Nadella.
       Microsoft originally moved its headquarters to Bellevue, Washington in January 1979, but is now
       headquartered in Redmond.
       """
   ]

   result = text_analytics_client.recognize_linked_entities(documents)
   docs = [doc for doc in result if not doc.is_error]

   print(
       "Let's map each entity to it's Wikipedia article. I also want to see how many times each "
       "entity is mentioned in a document\n\n"
   )
   entity_to_url = {}
   for doc in docs:
       for entity in doc.entities:
           print("Entity '{}' has been mentioned '{}' time(s)".format(
               entity.name, len(entity.matches)
           ))
           if entity.data_source == "Wikipedia":
               entity_to_url[entity.name] = entity.url

recognize_pii_entities

Reconocer entidades que contienen información personal para un lote de documentos.

Devuelve una lista de entidades de información personal ("SSN", "Cuenta bancaria", etc.) en el documento. Para obtener la lista de tipos de entidad admitidos, compruebe. https://aka.ms/azsdk/language/pii

Consulte para conocer https://aka.ms/azsdk/textanalytics/data-limits los límites de datos del servicio.

Novedad de la versión v3.1: el método de cliente recognize_pii_entities .

recognize_pii_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, categories_filter: List[str | PiiEntityCategory] | None = None, disable_service_logs: bool | None = None, domain_filter: str | PiiEntityDomain | None = None, language: str | None = None, model_version: str | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> List[RecognizePiiEntitiesResult | DocumentError]

Parámetros

documents
list[str] o list[TextDocumentInput] o list[dict[str, str]]
Requerido

Conjunto de documentos que se van a procesar como parte de este lote. Si desea especificar el identificador y el idioma por elemento, debe usar como entrada una lista[TextDocumentInput] o una lista de representaciones dict de TextDocumentInput, como {"id": "1", "language": "en", "text": "hello world"}.

language
str

Representación iso 639-1 de dos letras del idioma para todo el lote. Por ejemplo, use "en" para inglés; "es" para español, etc. Si no se establece, usa "en" para inglés como valor predeterminado. El idioma por documento tendrá prioridad sobre todo el idioma por lotes. Consulte https://aka.ms/talangs para conocer los idiomas admitidos en Language API.

model_version
str

La versión del modelo que se va a usar para el análisis, por ejemplo, "latest". Si no se especifica una versión del modelo, la API tendrá como valor predeterminado la versión más reciente que no sea de versión preliminar. Consulte aquí para obtener más información: https://aka.ms/text-analytics-model-versioning

show_stats
bool

Si se establece en true, la respuesta contendrá estadísticas de nivel de documento en el campo de estadísticas de la respuesta de nivel de documento.

domain_filter
str o PiiEntityDomain

Filtra las entidades de respuesta a las que solo se incluyen en el dominio especificado. Es decir, si se establece en "phi", solo devolverá entidades en el dominio de información sanitaria protegida. Consulte https://aka.ms/azsdk/language/pii para obtener más información.

categories_filter
list[str o PiiEntityCategory]

En lugar de filtrar por todas las categorías de entidad PII, puede pasar una lista de las categorías de entidades DE PII específicas que desea filtrar. Por ejemplo, si solo desea filtrar los números de seguridad social de Estados Unidos en un documento, puede pasar [PiiEntityCategory.US_SOCIAL_SECURITY_NUMBER] para este kwarg.

string_index_type
str

Especifica el método utilizado para interpretar los desplazamientos de cadena. UnicodeCodePoint, la codificación de Python, es el valor predeterminado. Para invalidar el valor predeterminado de Python, también puede pasar Utf16CodeUnit o TextElement_v8. Para obtener más información, consulte https://aka.ms/text-analytics-offsets

disable_service_logs
bool

El valor predeterminado es true, lo que significa que el servicio de idioma no registrará el texto de entrada en el lado del servicio para solucionar problemas. Si se establece en False, el servicio language registra el texto de entrada durante 48 horas, solo para permitir la solución de problemas al proporcionarle las funciones de procesamiento de lenguaje natural del servicio. Consulte las notas de cumplimiento y privacidad de Cognitive Services en https://aka.ms/cs-compliance para obtener más detalles y los principios de inteligencia artificial responsable de Microsoft en https://www.microsoft.com/ai/responsible-ai.

Devoluciones

La lista combinada de RecognizePiiEntitiesResult y DocumentError en el orden en que se pasaron los documentos originales.

Tipo de valor devuelto

Excepciones

Ejemplos

Reconocer entidades de información de identificación personal en un lote de documentos.


   import os
   from azure.core.credentials import AzureKeyCredential
   from azure.ai.textanalytics import TextAnalyticsClient

   endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
   key = os.environ["AZURE_LANGUAGE_KEY"]

   text_analytics_client = TextAnalyticsClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   documents = [
       """Parker Doe has repaid all of their loans as of 2020-04-25.
       Their SSN is 859-98-0987. To contact them, use their phone number
       555-555-5555. They are originally from Brazil and have Brazilian CPF number 998.214.865-68"""
   ]

   result = text_analytics_client.recognize_pii_entities(documents)
   docs = [doc for doc in result if not doc.is_error]

   print(
       "Let's compare the original document with the documents after redaction. "
       "I also want to comb through all of the entities that got redacted"
   )
   for idx, doc in enumerate(docs):
       print(f"Document text: {documents[idx]}")
       print(f"Redacted document text: {doc.redacted_text}")
       for entity in doc.entities:
           print("...Entity '{}' with category '{}' got redacted".format(
               entity.text, entity.category
           ))