Когнитивный навык объединения текста
Навык слияния текста объединяет текст из массива строк в одно поле.
Примечание.
Этот навык не привязан к службам ИИ Azure. Она не взимается с оплатой и не имеет ключевого требования к службам искусственного интеллекта Azure.
@odata.type
Microsoft.Skills.Text.MergeSkill
Параметры навыков
Параметры зависят от регистра.
Наименование параметра | Description |
---|---|
insertPreTag |
Строка, которая должна быть включена перед каждой вставкой. Значение по умолчанию — " " . Чтобы исключить пробел, задайте значение "" . |
insertPostTag |
Строка, которая должна быть включена после каждой вставки. Значение по умолчанию — " " . Чтобы исключить пробел, задайте значение "" . |
Входные данные навыков
Ввод имени | Description |
---|---|
itemsToInsert |
Массив строк для объединения. |
text |
(необязательно) Основной текст текста, вставляемый в. Если text это не указано, элементы itemsToInsert будут сцечены. |
offsets |
(необязательно) Массив позиций внутри text места itemsToInsert вставки. При условии число элементов text должно совпадать с числом элементов textToInsert . В противном случае все элементы будут добавлены в конце text . |
Выходные данные навыка
Имя вывода | Description |
---|---|
mergedText |
Полученный объединенный текст. |
mergedOffsets |
Массив позицийitemsToInsert , в mergedText которых были вставлены элементы. |
Пример ввода
Документ JSON, предоставляющий полезные входные данные для этого навыка, может иметь следующий вид:
{
"values": [
{
"recordId": "1",
"data":
{
"text": "The brown fox jumps over the dog",
"itemsToInsert": ["quick", "lazy"],
"offsets": [3, 28]
}
}
]
}
Пример полученных результатов
В этом примере показаны выходные данные предыдущего ввода, при условии, что insertPreTag имеет значение " "
, а insertPostTag — ""
.
{
"values": [
{
"recordId": "1",
"data":
{
"mergedText": "The quick brown fox jumps over the lazy dog"
}
}
]
}
Расширенный пример определения набора навыков
Распространенным вариантом использования объединения текста является возможность объединить текстовое представление изображений (текст из навыка OCR или заголовок изображения) с полем содержимого документа.
В следующем примере набора навыков используется умение OCR для извлечения текста из изображений, встроенных в документ. Затем создается поле merged_text, содержащее как исходный, так и обработанный OCR текст из каждого изображения. Дополнительные сведения о навыке OCR см. здесь.
{
"description": "Extract text from images and merge with content text to produce merged_text",
"skills":
[
{
"description": "Extract text (plain and structured) from image.",
"@odata.type": "#Microsoft.Skills.Vision.OcrSkill",
"context": "/document/normalized_images/*",
"defaultLanguageCode": "en",
"detectOrientation": true,
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "text"
}
]
},
{
"@odata.type": "#Microsoft.Skills.Text.MergeSkill",
"description": "Create merged_text, which includes all the textual representation of each image inserted at the right location in the content field.",
"context": "/document",
"insertPreTag": " ",
"insertPostTag": " ",
"inputs": [
{
"name":"text",
"source": "/document/content"
},
{
"name": "itemsToInsert",
"source": "/document/normalized_images/*/text"
},
{
"name":"offsets",
"source": "/document/normalized_images/*/contentOffset"
}
],
"outputs": [
{
"name": "mergedText",
"targetName" : "merged_text"
}
]
}
]
}
В приведенном выше примере предполагается наличие поля нормализованных изображений. Чтобы создать поле normalized-images, настройте конфигурацию imageAction в определении индексатора generateNormalizedImages, как показано ниже.
{
//...rest of your indexer definition goes here ...
"parameters":{
"configuration":{
"dataToExtract":"contentAndMetadata",
"imageAction":"generateNormalizedImages"
}
}
}