Когнитивный навык распознавания сущностей (версия 3)

Навык распознавания сущностей (версия 3) извлекает сущности различных типов из текста. Эти сущности распределяются на 14 разных категорий, начиная с людей и организаций и заканчивая URL-адресами и номерами телефонов. Этот навык использует модели машинного обучения распознавания именованных сущностей, предоставляемые языком ИИ Azure.

Примечание.

Этот навык привязан к службам ИИ Azure и требует оплачиваемого ресурса для транзакций, превышающих 20 документов на индексатор в день. За выполнение встроенных навыков взимается плата за существующие службы ИИ Azure по мере использования.

@odata.type

Microsoft.Skills.Text.V3.EntityRecognitionSkill

Ограничения данных

Максимальный размер записи — 50 000 знаков по оценке String.Length. Если вам нужно разбить данные перед отправкой для применения навыка "Распознавание сущностей", используйте навык Разделение текста. При использовании разбиения навыка задайте длину страницы в 5000 для оптимальной производительности.

Параметры навыков

Все параметры чувствительны к регистру и являются необязательными.

Имя параметра Description
categories Массив категорий, который следует извлекать. Возможные типы категорий: "Person", "Location", "Organization", "Quantity", "DateTime", "URL", "Email", "personType", "Event", "Product", "Skill", "Address", "phoneNumber", "ipAddress". Если категория не указана, возвращаются все типы.
defaultLanguageCode Код языка вводимого текста. Если код языка по умолчанию не указан, английский (en) используется как язык по умолчанию.
Полный список поддерживаемых языков. Для некоторых языков категории сущностей не поддерживаются; см. примечание ниже.
minimumPrecision Значение от 0 до 1. Если оценка достоверности (в выходных данных namedEntities) меньше этого значения, сущность не возвращается. По умолчанию установлено значение 0.
modelVersion (Необязательно) Указывает версию модели , используемую при вызове API распознавания сущностей. Если значение не указано, по умолчанию будет использоваться последняя доступная версия. Мы рекомендуем не указывать это значение, если это не необходимо.

Входные данные навыков

Ввод имени Description
languageCode Строка, указывающая язык записей. Если этот параметр не указан, для анализа записей будет использоваться код языка по умолчанию.
Полный список поддерживаемых языков.
text Текст для анализа.

Выходные данные навыка

Примечание.

Для некоторых языков категории сущностей не поддерживаются. Ознакомьтесь с поддерживаемыми категориями сущностей распознавания именованных сущностей (NER), чтобы узнать, какие категории сущностей поддерживаются для используемого языка.

Имя вывода Description
persons Массив строк, где каждая строка представляет имя человека.
locations Массив строк, где каждая строка представляет расположение.
organizations Массив строк, где каждая строка представляет организацию.
quantities Массив строк, где каждая строка представляет количество.
dateTimes Массив строк, где каждая строка представляет собой значение даты и времени (как оно отображается в тексте).
urls Массив строк, где каждая строка представляет собой URL-адрес.
emails Массив строк, где каждая строка представляет собой адрес электронной почты.
personTypes Массив строк, где каждая строка представляет собой тип пользователя
events Массив строк, где каждая строка представляет собой событие
products Массив строк, где каждая строка представляет собой продукт
skills Массив строк, где каждая строка представляет собой навык
addresses Массив строк, где каждая строка представляет собой адрес
phoneNumbers Массив строк, где каждая строка представляет собой номер телефона
ipAddresses Массив строк, где каждая строка представляет собой IP-адрес
namedEntities Массив сложных типов, содержащий следующие поля:
  • Категория
  • подкатегория
  • оценка достоверности (более высокое значение означает более высокую достоверность фактической сущности)
  • длина (длина (число символов) данной сущности)
  • смещение (расположение, где оно было найдено в тексте);
  • текст (фактическое имя сущности в соответствии с отображением в тексте)

Пример определения

  {
    "@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"
        }
    ]
  }

Пример ввода

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

Пример полученных результатов

{
  "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"
          }
        ],
      }
    }
  ]
}

Смещения, возвращаемые для сущностей в выходных данных этого навыка, возвращаются непосредственно из API-интерфейсов языковой службы, что означает, что если вы используете их для индексирования в исходной строке, следует использовать класс StringInfo в .NET для извлечения правильного содержимого. Дополнительные сведения см. в разделе "Поддержка многоязычных и эмодзи" в функциях языковой службы.

Примеры предупреждений

Если код языка для документа не поддерживается, возвращается предупреждение и сущности не извлекаются.

См. также