Aptitud cognitiva de reconocimiento de entidades (v2)

La aptitud Reconocimiento de entidades (v2) extrae entidades de distintos tipos del texto. Esta aptitud utiliza los modelos de aprendizaje automático proporcionados por Text Analytics en Azure AI Services.

Importante

La aptitud de reconocimiento de entidades (v2) (Microsoft.Skills.Text.EntityRecognitionSkill) ha sido sustituida por Microsoft.Skills.Text.V3.EntityRecognitionSkill. Siga las recomendaciones de aptitudes en desuso para migrar a una aptitud admitida.

Nota:

A medida que expanda el ámbito aumentando la frecuencia de procesamiento, agregando más documentos o agregando más algoritmos de IA, tendrá que asociar un recurso facturable de Azure AI Services. Los cargos se acumulan cuando se llama a las API de Azure AI Services y para la extracción de imágenes como parte de la fase de descifrado de documentos en Azure AI Search. No hay ningún cargo por la extracción de texto de documentos.

La ejecución de aptitudes integradas se cobra según los precios de pago por uso de los servicios de Azure AI existentes. Los precios de la extracción de imágenes se describen en la página de precios de Azure AI Search.

@odata.type

Microsoft.Skills.Text.EntityRecognitionSkill

Límites de datos

El tamaño máximo de un registro debe tener menos de 50 000 caracteres según la medición de String.Length. Si tiene que dividir los datos antes de enviarlos al extractor de frases clave, puede usar la aptitud de división de texto. Si usa una aptitud de división de texto, establezca la longitud de la página en 5000 para obtener el mejor rendimiento.

Parámetros de la aptitud

Los parámetros distinguen mayúsculas de minúsculas y son opcionales.

Nombre de parámetro Descripción
categories Matriz de categorías que se deben extraer. Tipos de categorías posibles: "Person", "Location", "Organization", "Quantity", "Datetime", "URL", "Email". Si no se proporciona ninguna categoría, se devuelven todos los tipos.
defaultLanguageCode Código de idioma del texto de entrada. Se admiten los siguientes idiomas: ar, cs, da, de, en, es, fi, fr, hu, it, ja, ko, nl, no, pl, pt-BR, pt-PT, ru, sv, tr, zh-hans. No todas las categorías de entidad son compatibles con todos los idiomas. Consulte la nota que aparece a continuación.
minimumPrecision Un valor entre 0 y 1. Si la puntuación de confianza (en el resultado namedEntities) es inferior a este valor, no se devuelve la entidad. El valor predeterminado es 0.
includeTypelessEntities Establézcalo en true si desea reconocer entidades conocidas que no se ajustan a las categorías actuales. Las entidades reconocidas se devuelven en el campo de salida complejo entities. Por ejemplo, "Windows 10" es una entidad conocida (un producto), pero como "Productos" no es una categoría admitida, esta entidad se incluiría en el campo de salida de las entidades. Valor predeterminado: false

Entradas de la aptitud

Nombre de entrada Descripción
languageCode Opcional. El valor predeterminado es "en".
text Texto que se analizará.

Salidas de la aptitud

Nota:

No todas las categorías de entidad son compatibles con todos los idiomas. Los tipos de categoría de entidad "Person", "Location" y "Organization" se admiten para todos los idiomas anteriores. Solo de, en, es, fr y zh-hans admiten la extracción de los tipos "Quantity", "Datetime", "URL" y "Email". Para más información, consulte Compatibilidad de idiomas y regiones para Text Analytics API.

Nombre de salida Descripción
persons Una matriz de cadenas donde cada cadena representa el nombre de una persona.
locations Una matriz de cadenas donde cada cadena representa una ubicación.
organizations Una matriz de cadenas donde cada cadena representa una organización.
quantities Una matriz de cadenas donde cada cadena representa una cantidad.
dateTimes Una matriz de cadenas donde cada cadena representa un valor de fecha y hora (como aparece en el texto).
urls Una matriz de cadenas donde cada cadena representa una dirección URL.
emails Una matriz de cadenas donde cada cadena representa un correo electrónico.
namedEntities Una matriz de tipos complejos, que contiene los siguientes campos:
  • category
  • valor (el nombre de entidad real)
  • desplazamiento (la ubicación donde se encontró en el texto)
  • confianza (cuanto más alto sea el valor, más real será una entidad)
entities Una matriz de tipos complejos que contiene información valiosa acerca de las entidades extraídas del texto, con los siguientes campos:
  • name (el nombre de la entidad real; esto representa un formulario "normalizado").
  • wikipediaId
  • wikipediaLanguage
  • wikipediaUrl (un vínculo a la página de Wikipedia de la entidad)
  • bingId
  • type (la categoría de la entidad reconocida)
  • subType (solo disponible para determinadas categorías; proporciona una vista más pormenorizada del tipo de entidad)
  • matches (una colección compleja que contiene)
    • text (el texto sin formato de la entidad)
    • offset (la ubicación donde se encontró)
    • length (la longitud del texto de la entidad sin formato)

Definición de ejemplo

  {
    "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill",
    "categories": [ "Person", "Email"],
    "defaultLanguageCode": "en",
    "includeTypelessEntities": true,
    "minimumPrecision": 0.5,
    "inputs": [
      {
        "name": "text",
        "source": "/document/content"
      }
    ],
    "outputs": [
      {
        "name": "persons",
        "targetName": "people"
      },
      {
        "name": "emails",
        "targetName": "contact"
      },
      {
        "name": "entities"
      }
    ]
  }

Entrada de ejemplo

{
    "values": [
      {
        "recordId": "1",
        "data":
           {
             "text": "Contoso corporation was founded by John Smith. They can be reached at contact@contoso.com",
             "languageCode": "en"
           }
      }
    ]
}

Salida de ejemplo

{
  "values": [
    {
      "recordId": "1",
      "data" : 
      {
        "persons": [ "John Smith"],
        "emails":["contact@contoso.com"],
        "namedEntities": 
        [
          {
            "category":"Person",
            "value": "John Smith",
            "offset": 35,
            "confidence": 0.98
          }
        ],
        "entities":  
        [
          {
            "name":"John Smith",
            "wikipediaId": null,
            "wikipediaLanguage": null,
            "wikipediaUrl": null,
            "bingId": null,
            "type": "Person",
            "subType": null,
            "matches": [{
                "text": "John Smith",
                "offset": 35,
                "length": 10
            }]
          },
          {
            "name": "contact@contoso.com",
            "wikipediaId": null,
            "wikipediaLanguage": null,
            "wikipediaUrl": null,
            "bingId": null,
            "type": "Email",
            "subType": null,
            "matches": [
            {
                "text": "contact@contoso.com",
                "offset": 70,
                "length": 19
            }]
          },
          {
            "name": "Contoso",
            "wikipediaId": "Contoso",
            "wikipediaLanguage": "en",
            "wikipediaUrl": "https://en.wikipedia.org/wiki/Contoso",
            "bingId": "349f014e-7a37-e619-0374-787ebb288113",
            "type": null,
            "subType": null,
            "matches": [
            {
                "text": "Contoso",
                "offset": 0,
                "length": 7
            }]
          }
        ]
      }
    }
  ]
}

Tenga en cuenta que los desplazamientos devueltos para las entidades en la salida de esta aptitud se devuelven directamente desde la API de Text Analytics, lo que significa que si los usa para indexar en la cadena original, debe usar la clase StringInfo en .NET para extraer el contenido correcto. Se pueden encontrar más detalles aquí.

Casos de advertencia

Si el código de idioma del documento no se admite, se devuelve una advertencia y no se extrae ninguna entidad.

Consulte también