Aptitud cognitiva de reconocimiento de entidades (v3)

La aptitud Reconocimiento de entidades (v3) extrae entidades de distintos tipos del texto. Estas entidades se incluyen en 14 categorías distintas, desde personas y organizaciones hasta direcciones URL y números de teléfono. Esta aptitud utiliza los modelos de Machine Learning de Reconocimiento de entidades con nombre que proporciona Lenguaje de  AI.

Nota:

Esta aptitud está enlazada a los servicios de Azure AI y necesita un recurso facturable para las transacciones que superan los 20 documentos por indexador al día. La ejecución de aptitudes integradas se carga al actual precio de pago por uso de los servicios de Azure AI.

@odata.type

Microsoft.Skills.Text.V3.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 necesita desglosar los datos antes de enviarlos a la aptitud EntityRecognition, puede usar la aptitud División de texto. Cuando use una aptitud de división, 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", "personType", "Event", "Product", "Skill", "Address", "phoneNumber" y "ipAddress". Si no se proporciona ninguna categoría, se devuelven todos los tipos.
defaultLanguageCode Código de idioma del texto de entrada. Si no se especifica el código de idioma predeterminado, se usará el inglés (en).
Vea Full list of supported languages (Lista completa de idiomas admitidos). 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.
modelVersion (Opcional) Especifica la versión del modelo que se va a usar al llamar a la API de reconocimiento de entidad. Si no se especifica, el valor predeterminado será el más reciente disponible. Se recomienda no especificar este valor a menos que sea necesario.

Entradas de la aptitud

Nombre de entrada Descripción
languageCode Cadena que indica el idioma de los registros. Si no se especifica este parámetro, el código de idioma predeterminado se utilizará para analizar los registros.
Vea Full list of supported languages (Lista completa de idiomas admitidos).
text Texto que se analizará.

Salidas de la aptitud

Nota:

No todas las categorías de entidad son compatibles con todos los idiomas. Vea Categorías de entidad admitidas en Reconocimiento de entidades con nombre a fin de saber qué categorías de entidad se admiten para el lenguaje que va a usar.

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.
personTypes Matriz de cadenas donde cada cadena representa un valor PersonType
events Matriz de cadenas donde cada cadena representa un evento
products Matriz de cadenas donde cada cadena representa un producto
skills Matriz de cadenas donde cada cadena representa una aptitud
addresses Matriz de cadenas donde cada cadena representa una dirección
phoneNumbers Matriz de cadenas donde cada cadena representa un número de teléfono
ipAddresses Matriz de cadenas donde cada cadena representa una dirección IP
namedEntities Una matriz de tipos complejos, que contiene los siguientes campos:
  • category
  • subcategory
  • confidenceScore (cuanto más alto sea el valor, más real será una entidad)
  • length (longitud [número de caracteres] de esta entidad)
  • desplazamiento (la ubicación donde se encontró en el texto)
  • text (nombre de la entidad real tal como aparece en el texto)

Definición de ejemplo

  {
    "@odata.type": "#Microsoft.Skills.Text.V3.EntityRecognitionSkill",
    "context": "/document",
    "categories": [ "Person", "Email"],
    "defaultLanguageCode": "en", 
    "minimumPrecision": 0.5, 
    "inputs": [
        {
            "name": "text", 
            "source": "/document/content"
        },
        {
            "name": "languageCode", 
            "source": "/document/language"
        }
    ],
    "outputs": [
        {
            "name": "persons", 
            "targetName": "people"
        },
        {
            "name": "emails", 
            "targetName": "emails"
        },
        {
            "name": "namedEntities", 
            "targetName": "namedEntities"
        }
    ]
  }

Entrada de ejemplo

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

Salida de ejemplo

{
  "values": [
    {
      "recordId": "1",
      "data" : 
      {
        "people": [ "Jean Martin"],
        "emails":["contact@contoso.com"],
        "namedEntities": 
        [
          {
            "category": "Person",
            "subcategory": null,
            "length": 11,
            "offset": 35,
            "confidenceScore": 0.98,
            "text": "Jean Martin"
          },
          {
            "category": "Email",
            "subcategory": null,
            "length": 19,
            "offset": 71,
            "confidenceScore": 0.8,
            "text": "contact@contoso.com"
          }
        ],
      }
    }
  ]
}

Los desplazamientos devueltos para las entidades en la salida de esta aptitud se devuelven directamente desde las API de Language Service, lo que significa que si los usa para indexar en la cadena original, debe usar la clase StringInfo en .NET a fin de extraer el contenido correcto. Para obtener más información, vea Compatibilidad con varios idiomas y con emojis en características de Language Service.

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