Когнитивный навык распознавания сущностей (версия 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 |
Массив сложных типов, содержащий подробные сведения о сущностях, извлеченных из текста, со следующими полями
|
Пример определения
{
"@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. Дополнительные сведения приведены здесь.
Примеры предупреждений
Если код языка для документа не поддерживается, возвращается предупреждение и сущности не извлекаются.