Microsoft Azure Search - PullRequest
       7

Microsoft Azure Search

0 голосов
/ 04 сентября 2018

У меня есть сценарий использования, в котором:

  1. Я хочу хранить изображения в хранилище BLOB-объектов Microsoft,
  2. Поиск изображений с помощью ввода текста типа ' water ', тогда все изображения, которые каким-либо образом содержат воду, должны появиться в результатах поиска.

Я перешел по ссылке ниже: https://github.com/Azure/LearnAI-Cognitive-Search/blob/master/05-Lab-2-Image-Skills.md

Но здесь я узнаю, что есть только 2 предопределенных навыка: ImageAnalysisSkill и OcrSkill, которые не дают полных изображений в качестве результата поиска.

Пожалуйста, помогите ...

1 Ответ

0 голосов
/ 04 сентября 2018

Программно, вы можете использовать когнитивный навык анализа изображений для автоматического извлечения тегов из изображений.

См. https://docs.microsoft.com/en-us/azure/search/cognitive-search-skill-image-analysis для получения дополнительной информации об этом умении.

Ваш навык будет выглядеть примерно так:

{  "@odata.type": "#Microsoft.Skills.Vision.ImageAnalysisSkill",
    "context": "/document/normalized_images/*",
    "visualFeatures": [
        "Tags",
        "Description"
    ],
    "defaultLanguageCode": "en",
    "inputs": [
        {
            "name": "image",
            "source": "/document/normalized_images/*"
        }
    ],
    "outputs": [
        {
            "name": "tags",
            "targetName": "myTags"
        },
        {
            "name": "description",
            "targetName": "myDescription"
        }
    ]
}

Затем в индексе обязательно создайте поле типа Collection (Edm.String), которое будет содержать список тегов. Давайте назовем это поле imageTags . Убедитесь, что это поле доступно для поиска.

В отображениях выходного поля (свойство индексатора) вам потребуется сопоставить список тегов с вновь созданным полем imageTags следующим образом:

   "outputFieldMappings": [
       {
           "sourceFieldName": "/document/normalized_images/*/myDescription/tags/*",
           "targetFieldName": "imageTags"
       }

Это гарантирует, что каждый из тегов, найденных на изображениях, будет вставлен в массив imageTags.

Пожалуйста, прочтите также этот документ, который объясняет, как извлечь normalized_images, если вы уже не знакомы с этим: https://docs.microsoft.com/en-us/azure/search/cognitive-search-concept-image-scenarios

...