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


Когнитивный навык объединения текста

Навык слияния текста объединяет текст из массива строк в одно поле.

Примечание.

Этот навык не привязан к службам ИИ 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"
    }
  }
}

См. также