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