Поделиться через


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

Навык распознавания сущностей (версия 2) извлекает сущности различных типов из текста. Этот навык использует модели машинного обучения, предоставляемые Анализ текста в службах ИИ Azure.

Внимание

Навык распознавания сущностей (версия 2) (Microsoft.Skills.Text.EntityRecognitionSkill) теперь не заменен Microsoft.Skills.Text.V3.EntityRecognitionSkill. Следуйте рекомендациям в нерекомендуемых навыках , чтобы перейти на поддерживаемый навык.

Примечание.

По мере расширения области путем увеличения частоты обработки, добавления дополнительных документов или добавления дополнительных алгоритмов ИИ вам потребуется присоединить оплачиваемый ресурс служб ИИ Azure. Плата взимается при вызове API в службах ИИ Azure и извлечения изображений в рамках этапа взлома документов в службе "Поиск ИИ Azure". За извлечение текста из документов плата не взимается.

За выполнение встроенных навыков взимается плата за существующие службы ИИ Azure по мере использования. Цены на извлечение изображений описаны на странице цен на поиск в Azure AI.

@odata.type

Microsoft.Skills.Text.EntityRecognitionSkill

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

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

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

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

Наименование параметра Description
categories Массив категорий, который следует извлекать. Возможные типы категорий: "Person", "Location", "Organization", "Quantity", "Datetime", "URL", "Email". Если категория не указана, возвращаются все типы.
defaultLanguageCode Код языка вводимого текста. Поддерживаются следующие языки: ar, cs, da, de, en, es, fi, fr, hu, it, ja, ko, nl, no, pl, pt-BR, pt-PT, ru, sv, tr, zh-hans. Для некоторых языков категории сущностей не поддерживаются; см. примечание ниже.
minimumPrecision Значение от 0 до 1. Если оценка достоверности (в выходных данных namedEntities) меньше этого значения, сущность не возвращается. По умолчанию установлено значение 0.
includeTypelessEntities Задайте значение true, если вы хотите распознавать известные сущности, не соответствующие текущим категориям. Распознанные сущности возвращаются в составном поле выходных данных entities. Например, "Windows 10" является известной сущностью (продуктом), но так как "Продукты" не являются поддерживаемой категорией, эта сущность будет включена в поле выходных данных сущностей. Значение по умолчанию: false.

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

Ввод имени Description
languageCode Необязательно. По умолчанию — "en".
text Текст для анализа.

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

Примечание.

Для некоторых языков категории сущностей не поддерживаются. Типы категорий сущностей "Person", "Location" и "Organization" поддерживаются для всего приведенного выше списка языков. Только de, en, es, fr и zh-hans поддерживают извлечение типов "Quantity", "Datetime", "URL" и "Email". Дополнительные сведения см. в статье Поддержка языков и регионов в API анализа текста.

Имя вывода Description
persons Массив строк, где каждая строка представляет имя человека.
locations Массив строк, где каждая строка представляет расположение.
organizations Массив строк, где каждая строка представляет организацию.
quantities Массив строк, где каждая строка представляет количество.
dateTimes Массив строк, где каждая строка представляет собой значение даты и времени (как оно отображается в тексте).
urls Массив строк, где каждая строка представляет собой URL-адрес.
emails Массив строк, где каждая строка представляет собой адрес электронной почты.
namedEntities Массив сложных типов, содержащий следующие поля:
  • Категория
  • значение (фактическое имя объекта);
  • смещение (расположение, где оно было найдено в тексте);
  • достоверность (более высокое значение означает более высокую достоверность фактической сущности).
entities Массив сложных типов, содержащий подробные сведения о сущностях, извлеченных из текста, со следующими полями
  • name (фактическое имя сущности. Это представляет собой "нормализованную" форму)
  • wikipediaId;
  • wikipediaLanguage;
  • wikipediaUrl (ссылка на страницу Википедии для сущности);
  • bingId
  • type (категория распознанной сущности);
  • subType (доступно только для определенных категорий, что дает дополнительное представление о типе сущности);
  • matches (имеющаяся составная коллекция);
    • text (необработанный текст для сущности);
    • offset (расположение, где было найдено смещение);
    • length (длина необработанного текста сущности).

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

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

Пример ввода

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

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

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

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

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

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

См. также