Если у вас была возможность создать приложение для поиска неструктурированных данных (т. е. вики, информационных веб-сайтов, справочных страниц самообслуживания, внутренней документации и т. д.) с использованием открытых или готовых коммерческих поисковых систем, то вы, вероятно, знакомы с неотъемлемыми проблемами точности, связанными с получением релевантных результатов поиска. Предполагаемое значение как запроса, так и документа может быть утеряно, поскольку поиск сводится к сопоставлению ключевых слов и терминов компонентов. Следовательно, хотя вы получаете результаты, которые могут содержать правильные слова, они не всегда имеют отношение к пользователю. Вам нужно, чтобы ваша поисковая система была умнее, чтобы она могла ранжировать документы на основе соответствия значения или семантики контента намерению пользователя.
Амазон Кендра предоставляет полностью управляемую интеллектуальную службу поиска, которая автоматизирует прием документов и предоставляет высокоточные результаты поиска и часто задаваемых вопросов на основе контента из многих источников данных. Если вы еще не перешли на Amazon Kendra и хотели бы улучшить качество результатов поиска, вы можете использовать Amazon Kendra Intelligent Ranking для самоуправляемого OpenSearch в своем существующем поисковом решении.
Мы рады представить новую Amazon Kendra Intelligent Ranking для самоуправляемого OpenSearch, и сопутствующий ему плагин для Открытый поиск поисковый движок! Теперь вы можете легко добавлять интеллектуальное ранжирование к запросам документов OpenSearch без необходимости миграции, дублирования индексов OpenSearch или перезаписи приложений. Разница между Amazon Kendra Intelligent Ranking для самостоятельно управляемого OpenSearch и полностью управляемой службой Amazon Kendra заключается в том, что первый обеспечивает мощное семантическое повторное ранжирование результатов поиска, а последний обеспечивает дополнительные улучшения точности поиска и функциональные возможности, такие как постепенное обучение, вопрос ответы, сопоставление часто задаваемых вопросов и встроенные соединители. Дополнительные сведения о полностью управляемой услуге см. Страница сервиса Amazon Kendra.
С Amazon Kendra Intelligent Ranking для самоуправляемого OpenSearch предыдущие результаты выглядят следующим образом:
Запрос: Какой адрес у Белого дома?
Попадание 1 (лучшее): Сегодня президент выступил с обращением к нации из Белого дома.
Хит2: Белый дом расположен по адресу: 1600 Pennsylvania Avenue NW, Washington, DC 20500.
стать таким:
Запрос: Какой адрес у Белого дома?
Попадание 1 (лучшее): Белый дом расположен по адресу: 1600 Pennsylvania Avenue NW, Washington, DC 20500.
Хит2: Сегодня президент выступил с обращением к нации из Белого дома.
В этом посте мы покажем вам, как начать работу с Amazon Kendra Intelligent Ranking для самостоятельно управляемого OpenSearch, и приведем несколько примеров, демонстрирующих мощь и ценность этой функции.
Компоненты Amazon Kendra Intelligent Ranking для самоуправляемого OpenSearch
Предпосылки
Для этого урока вам понадобится терминал bash на Linux, Macили Подсистема Windows для LinuxИ Аккаунт AWS. Совет: рассмотрите возможность использования экземпляра Amazon Cloud9 или Эластичное вычислительное облако Amazon (Amazon EC2).
Ты будешь:
- Установите Docker, если он еще не установлен в вашей системе.
- Установите последнюю версию Интерфейс командной строки AWS (AWS CLI), если он еще не установлен.
- Создайте и запустите контейнеры OpenSearch с включенным подключаемым модулем Amazon Kendra Intelligent Ranking.
- Создайте тестовые индексы и загрузите несколько примеров документов.
- Запустите несколько запросов с интеллектуальным ранжированием и без него, и вы будете приятно удивлены различиями!
Установить Docker
Если Докер (т.е. docker
и docker-compose
) еще не установлен в вашей среде, установите его. Видеть Получить докер для направления.
Установите интерфейс командной строки AWS
Если у вас еще не установлена последняя версия интерфейса командной строки AWS, установите и настройте ее сейчас (см. Начало работы с интерфейсом командной строки). У ваших учетных данных пользователя AWS по умолчанию должен быть доступ администратора, или попросите администратора AWS добавить следующую политику к вашим разрешениям пользователя:
Создайте и запустите OpenSearch с помощью скрипта Quickstart.
Скачать search_processing_kendra_quickstart.sh
сценарий:
Скрипт быстрого старта:
- Создает план выполнения Amazon Kendra Intelligent Ranking Rescore в вашем аккаунте AWS.
- Создает контейнеры Docker для OpenSearch и его информационных панелей.
- Настраивает OpenSearch для использования интеллектуальной службы ранжирования Kendra.
- Запускает службы OpenSearch.
- Содержит полезные рекомендации по использованию сервиса.
Использовать --help
чтобы увидеть параметры командной строки:
Теперь выполните скрипт для автоматизации настройки Amazon Kendra и OpenSearch:
Вот и все! Контейнеры OpenSearch и OpenSearch Dashboard теперь запущены и работают.
Прочтите выходное сообщение из сценария быстрого запуска и запишите каталог, в котором вы можете запустить удобный docker-compose
команды, а cleanup_resources.sh
скрипты.
Попробуйте выполнить тестовый запрос, чтобы убедиться, что вы можете подключиться к контейнеру OpenSearch:
Обратите внимание, что если вы получите сообщение об ошибке curl(35):OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:9200
, это означает, что OpenSearch все еще на подходе. Подождите пару минут, пока OpenSearch будет готов, и повторите попытку.
Создайте тестовые индексы и загрузите образцы документов
Приведенный ниже сценарий используется для создания индекса и загрузки образцов документов. Сохраните его на свой компьютер как объем_пост.ш:
Сохраните файлы данных ниже как крошечныеdocs.jsonl:
И сохраните файл данных ниже как dstinfo.jsonl:
(Эти данные взяты из Статья о переходе на летнее время).
Сделайте скрипт исполняемым:
Теперь используйте Bulk_post.sh скрипт для создания индексов и загрузки данных, выполнив две команды ниже:
Выполнить образцы запросов
Подготовьте сценарии запросов
Запросы OpenSearch определяются в формате JSON с использованием функции OpenSearch. доменный язык запросов (DSL). Для этого поста мы используем линукс завиток команда для отправки запросов на наш локальный сервер OpenSearch с использованием HTTPS.
Чтобы упростить эту задачу, мы определили два небольших сценария для построения нашего DSL-запроса и отправки его в OpenSearch.
Первый скрипт создает обычный запрос на совпадение текста OpenSearch для двух полей документа: название и тело. См. документацию OpenSearch для получения дополнительной информации о синтаксис запроса с несколькими совпадениями. Мы сделали запрос очень простым, но позже вы можете поэкспериментировать с определением альтернативных типов запросов.
Сохраните приведенный ниже скрипт как query_nokendra.sh:
Второй сценарий похож на первый, но на этот раз мы добавляем расширение запроса, чтобы указать OpenSearch вызывать подключаемый модуль Amazon Kendra Intelligent Ranking в качестве шага постобработки для повторного ранжирования исходных результатов с помощью сервиса Amazon Kendra Intelligent Ranking.
Ассоциация size
Свойство определяет, сколько документов результатов OpenSearch отправляется в Kendra для повторного ранжирования. Здесь мы указываем максимум 20 результатов для повторного ранжирования. Два свойства, title_field
(необязательно) и body_field
(обязательно), укажите поля документа, используемые для интеллектуального ранжирования.
Сохраните приведенный ниже скрипт как query_kendra.sh:
Сделайте оба скрипта исполняемыми:
Выполнение начальных запросов
Начните с простого запроса на крошечные документы index, чтобы воспроизвести пример, использованный во введении поста.
Использовать query_nokendra.sh
скрипт для поиска адреса Белого дома:
Вы видите результаты, показанные ниже. Обратите внимание на порядок двух результатов, ранжированных по баллу, присвоенному запросом текстового соответствия OpenSearch. Хотя самый высокий результат содержит ключевые слова адрес и Белый дом, ясно, что смысл не соответствует цели вопроса. Ключевые слова совпадают, а семантика — нет.
Теперь давайте запустим запрос с Amazon Kendra Intelligent Ranking, используя query_kendra.sh
сценарий:
На этот раз вы увидите результаты в другом порядке, как показано ниже. Сервис Amazon Kendra Intelligent Ranking переназначил значения оценок и присвоил более высокую оценку документу, который более точно соответствует цели запроса. С точки зрения ключевого слова это худшее соответствие, поскольку оно не содержит слова адрес; однако с семантической точки зрения это лучший ответ. Теперь вы видите преимущества использования плагина Amazon Kendra Intelligent Ranking!
Выполните дополнительные запросы и сравните результаты поиска
Попробуйте индекс dstinfo прямо сейчас, чтобы увидеть, как одна и та же концепция работает с разными данными и запросами. Пока можно использовать скрипты query_nokendra.sh и query_kendra.sh чтобы делать запросы из командной строки, давайте использовать вместо этого Плагин OpenSearch Dashboards для сравнения результатов поиска для выполнения запросов и сравнения результатов поиска.
Вставьте URL-адрес локальной панели мониторинга в адресную строку браузера: http://localhost:5601/app/searchRelevance – / для доступа к инструменту сравнения приборных панелей. Используйте учетные данные по умолчанию: Имя пользователя: Администратор, Пароль: Администратор.
В строке поиска введите: what is daylight saving time?
Для запроса 1 и запроса 2 индекс, наведите на dstinfo.
Скопируйте приведенный ниже запрос DSL и вставьте его в запрос панель под запросом 1. Это поисковый запрос по ключевому слову.
Теперь скопируйте приведенный ниже запрос DSL и вставьте его в запрос панель под запросом 2. Этот запрос вызывает подключаемый модуль Amazon Kendra Intelligent Ranking для самостоятельно управляемого OpenSearch для выполнения семантического повторного ранжирования результатов поиска.
Выберите Поиск кнопку для запуска запросов и наблюдения за результатами поиска. В Результате 1 обращение, занявшее последнее место, вероятно, является наиболее релевантным ответом на этот запрос. В результате 2 в результатах Amazon Kendra Intelligent Ranking самый релевантный ответ занял первое место.
Теперь, когда вы испытали Amazon Kendra Intelligent Ranking для самостоятельно управляемого OpenSearch, поэкспериментируйте с несколькими собственными запросами. Используйте данные, которые мы уже загрузили, или используйте Bulk_post.sh скрипт для загрузки собственных данных.
Изучите API пересчета рейтинга Amazon Kendra
Как вы видели из этого поста, плагин Amazon Kendra Intelligent Ranking для OpenSearch можно удобно использовать для семантического повторного ранжирования результатов поиска. Однако если вы используете службу поиска, которая не поддерживает подключаемый модуль Amazon Kendra Intelligent Ranking для самостоятельно управляемого OpenSearch, вы можете использовать Повторный результат непосредственно из Amazon Kendra Intelligent Ranking API.
Попробуйте этот API, используя результаты поиска из примера запроса, который мы использовали выше: какой адрес Белого дома?
Сначала найдите свой идентификатор плана выполнения, запустив:
Приведенный ниже JSON содержит поисковый запрос и два результата, которые были возвращены исходным запросом соответствия OpenSearch, с их исходными оценками OpenSearch. Заменять {kendra-execution-plan_id}
с вашим идентификатором плана выполнения (см. выше) и сохраните его как rescore_input.json:
Запустите приведенную ниже команду интерфейса командной строки, чтобы переоценить этот список документов с помощью сервиса Amazon Kendra Intelligent Ranking:
Вывод успешного выполнения этого будет выглядеть, как показано ниже.
Как и ожидалось, документ тдок2 (содержащий текстовое тело Белый дом расположен по адресу: 1600 Pennsylvania Avenue NW, Washington, DC 20500.») теперь имеет более высокий рейтинг, так как это семантически более релевантный ответ на запрос. ResultItems
список на выходе содержит каждый вход DocumentId
с его новым Score
, ранжированные в порядке убывания Score
.
Убирать
Когда вы закончите экспериментировать, выключите и удалите контейнеры Docker и Rescore Execution Plan, запустив cleanup_resources.sh
сценарий, созданный сценарием Quickstart, например:
Заключение
В этом посте мы показали вам, как использовать подключаемый модуль Amazon Kendra Intelligent Ranking для самоуправляемого OpenSearch, чтобы легко добавить интеллектуальное ранжирование к вашим запросам документов OpenSearch, чтобы значительно улучшить ранжирование релевантности результатов при использовании существующих развертываний поисковой системы OpenSearch.
Вы также можете использовать интеллектуальный рейтинг Amazon Kendra. Рескоринговый API прямо к интеллектуально пересчитывать и ранжировать результаты из собственных приложений.
Прочтите интеллектуальный рейтинг Amazon Kendra для самоуправляемого OpenSearch документации чтобы узнать больше об этой функции и начать планировать ее применение в рабочих приложениях.
Об авторах
Абхинав Джавадекар — главный архитектор решений, специализирующийся на Amazon Kendra в группе языковых сервисов AI/ML в AWS. Abhinav работает с клиентами и партнерами AWS, помогая им создавать интеллектуальные поисковые решения на AWS.
Боб Стрэхэн является главным архитектором решений в команде AWS Language AI Services.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/get-smarter-search-results-with-the-amazon-kendra-intelligent-ranking-and-opensearch-plugin/
- 1
- 10
- 100
- 11
- 7
- 70
- 9
- a
- утра
- О нас
- выше
- доступ
- несчастных случаев
- По
- Учетная запись
- точность
- точный
- через
- Действие
- на самом деле
- дополнительный
- адрес
- Администратор
- После
- впереди
- AI
- Услуги искусственного интеллекта
- AI / ML
- уже
- Несмотря на то, что
- всегда
- Amazon
- Amazon EC2
- Амазон Кендра
- и
- ответ
- API
- Применение
- Приложения
- Применить
- апрель
- Аризона
- назначенный
- автоматизировать
- автоматы
- Проспект
- AWS
- назад
- бар
- основанный
- колотить
- , так как:
- за
- ниже
- польза
- Преимущества
- Вениамин
- ЛУЧШЕЕ
- Лучшая
- между
- тело
- Мозг
- Британская
- британская Колумбия
- браузер
- строить
- встроенный
- офис
- Канада
- проблемы
- изменение
- Очистить
- Часы
- тесно
- Cloud9
- COLUMBIA
- приход
- сравнить
- сравнение
- компонент
- Вычисление
- компьютер
- сама концепция
- Конгресс
- Конгресс
- Свяжитесь
- связи
- вследствие этого
- Рассматривать
- строить
- Container
- Контейнеры
- содержит
- содержание
- страны
- Пара
- Создайте
- создали
- создает
- Полномочия
- Клиенты
- циклы
- приборная панель
- данным
- день
- Дней
- dc
- По умолчанию
- определяющий
- Обрадованный
- поставляется
- демонстрировать
- развертывания
- определяет
- разница
- различный
- непосредственно
- Docker
- документ
- документации
- Документация
- не
- домен
- Dont
- вниз
- драматично
- каждый
- легко
- эффект
- включен
- окончания поездки
- Двигатель
- Двигатели
- Enter
- Окружающая среда
- ошибка
- и т.д
- пример
- Примеры
- выполнять
- выполнение
- существующий
- ожидаемый
- опытные
- эксперимент
- расширение
- XNUMX ошибка
- знакомый
- FAQ
- в пользу
- Особенность
- несколько
- Поля
- Файл
- Файлы
- Найдите
- First
- внимание
- следовать
- после
- форма
- Бывший
- учредительный
- от
- полностью
- функция
- функциональность
- географический
- получить
- получающий
- удобный
- помощь
- полезный
- здесь
- высший
- очень
- история
- Удар
- Хиты
- Вилла / Бунгало
- Как
- How To
- Однако
- HTML
- HTTPS
- впечатленный
- улучшать
- улучшение
- in
- Увеличивает
- индекс
- Индексы
- в отдельности
- информация
- Информационный
- свойственный
- начальный
- вход
- устанавливать
- пример
- вместо
- Умный
- намерение
- Намерение
- в нашей внутренней среде,
- вводить
- Введение
- Запускает
- вовлеченный
- Исландия
- вопросы
- IT
- JSON
- Сохранить
- язык
- Фамилия
- последний
- УЧИТЬСЯ
- изучение
- письмо
- линия
- Список
- загрузка
- локальным
- расположенный
- Длинное
- дольше
- посмотреть
- сделать
- управляемого
- многих
- Март
- Совпадение
- согласование
- максимальный
- смысл
- означает
- сообщение
- мигрировать
- Минут
- месяцев
- БОЛЕЕ
- самых
- народ
- национальный
- Необходимость
- Новые
- Ноябрь
- наблюдать
- октябрь
- ONE
- открытый
- с открытым исходным кодом
- OpenSSL
- Возможность
- Опция
- Опции
- заказ
- оригинал
- Другие контрактные услуги
- на открытом воздухе
- собственный
- новыми участниками
- партнеры
- части
- Пароль
- Пенсильвания
- Люди
- Выполнять
- возможно
- постоянный
- Разрешения
- перспектива
- Мест
- план
- планирование
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- пожалуйста
- плагин
- политика
- После
- мощностью
- мощный
- президент
- довольно
- предыдущий
- Основной
- вероятно
- Производство
- свойства
- собственность
- обеспечивать
- приводит
- что такое варган?
- порт
- Пуэрто-Рико
- вопрос
- вошел
- Ранжирование
- готовый
- Цена снижена
- регулярный
- связь
- актуальность
- соответствующие
- удаление
- замещать
- обязательный
- исследованиям
- ресурс
- ответ
- результат
- Итоги
- РИКО
- Run
- Бег
- то же
- Сохранить
- экономия
- SC
- счет
- скрипты
- Поиск
- Поисковая система
- Поисковые системы
- Во-вторых
- Самообслуживание
- семантика
- обслуживание
- Услуги
- набор
- установка
- показывать
- показанный
- выключать
- аналогичный
- просто
- просто
- Сайтов
- Размер
- небольшой
- умнее
- So
- мягкая
- Решение
- Решения
- РЕШАТЬ
- некоторые
- Источник
- Источники
- конкретный
- Начало
- и политические лидеры
- заявление
- Области
- Шаг
- По-прежнему
- успешный
- такие
- поддержка
- система
- команда
- Терминал
- terms
- тестXNUMX
- Ассоциация
- их
- время
- сроки
- Название
- в
- сегодня
- инструментом
- топ
- Всего
- Туризм
- трансфер
- учебник
- Типы
- нам
- под
- Объединенный
- США
- URL
- использование
- Информация о пользователе
- VALIDATE
- ценностное
- Наши ценности
- версия
- девственница
- ждать
- Вашингтон
- Web
- Что
- Что такое
- будь то
- который
- в то время как
- белый
- Белый дом
- будете
- без
- Word
- слова
- работает
- Мир
- бы
- Ты
- ВАШЕ
- зефирнет