如果您有机会使用开源或现成的商业搜索引擎为非结构化数据(即 wiki、信息网站、自助帮助页面、内部文档等)构建搜索应用程序,那么您可能熟悉获取相关搜索结果所涉及的内在准确性挑战。 查询和文档的预期含义可能会丢失,因为搜索被简化为匹配组件关键字和术语。 因此,虽然您得到的结果可能包含正确的词,但它们并不总是与用户相关。 您需要您的搜索引擎更智能,以便它可以根据内容的含义或语义与用户查询的意图相匹配来对文档进行排名。
亚马逊肯德拉 提供完全托管的智能搜索服务,该服务可自动提取文档并根据跨多个数据源的内容提供高度准确的搜索和常见问题解答结果。 如果您尚未迁移到 Amazon Kendra 并希望提高搜索结果的质量,则可以在现有搜索解决方案上使用 Amazon Kendra Intelligent Ranking 进行自我管理的 OpenSearch。
我们很高兴推出新的 用于自我管理 OpenSearch 的 Amazon Kendra 智能排名,及其配套插件 OpenSearch的 搜索引擎! 现在,您可以轻松地将智能排名添加到您的 OpenSearch 文档查询中,而无需迁移、复制您的 OpenSearch 索引或重写您的应用程序。 Amazon Kendra Intelligent Ranking for self-managed OpenSearch 和完全托管的 Amazon Kendra 服务之间的区别在于,虽然前者为搜索结果提供了强大的语义重新排名,但后者提供了额外的搜索准确性改进和功能,例如增量学习、问题回答、常见问题解答匹配和内置连接器。 有关完全托管服务的更多信息,请访问 Amazon Kendra 服务页面.
使用 Amazon Kendra Intelligent Ranking for self-managed OpenSearch,之前的结果如下:
查询: 白宫的地址是什么?
Hit1(最佳): 总统今天在白宫向全国发表讲话。
命中2: 白宫位于:1600 Pennsylvania Avenue NW, Washington, DC 20500
变成这样:
查询: 白宫的地址是什么?
Hit1(最佳): 白宫位于:1600 Pennsylvania Avenue NW, Washington, DC 20500
命中2: 总统今天在白宫向全国发表讲话。
在本文中,我们将向您展示如何开始使用 Amazon Kendra Intelligent Ranking 进行自我管理的 OpenSearch,并提供一些示例来展示此功能的强大功能和价值。
用于自我管理 OpenSearch 的 Amazon Kendra Intelligent Ranking 的组件
先决条件
对于本教程,您需要一个 bash 终端 Linux, Mac或 Linux的Windows子系统和一个 AWS账户. 提示:考虑使用 Amazon Cloud9 实例或 亚马逊弹性计算云 (Amazon EC2) 实例。
你会:
- 如果您的系统上尚未安装 Docker,请安装它。
- 安装最新的 AWS命令行界面 (AWS CLI),如果尚未安装。
- 创建并启动 OpenSearch 容器,启用 Amazon Kendra 智能排名插件。
- 创建测试索引,并加载一些示例文档。
- 运行一些查询,有和没有智能排名,并适当地对差异留下深刻印象!
安装Docker
如果 Docker(即 docker
和 docker-compose
) 尚未安装在您的环境中,然后安装它。 看 获取 Docker 方向。
安装 AWS CLI
如果您尚未安装最新版本的 AWS CLI,请立即安装并配置它(请参阅 AWS CLI 入门). 您的默认 AWS 用户凭证必须具有管理员访问权限,或者要求您的 AWS 管理员将以下策略添加到您的用户权限中:
使用快速启动脚本创建并启动 OpenSearch
下载 search_processing_kendra_quickstart.sh
脚本:
快速启动脚本:
- 在您的 AWS 账户中创建 Amazon Kendra Intelligent Ranking Rescore 执行计划。
- 为 OpenSearch 及其仪表板创建 Docker 容器。
- 配置 OpenSearch 以使用 Kendra 智能排名服务。
- 启动 OpenSearch 服务。
- 提供有关使用该服务的有用指导。
使用 --help
查看命令行选项的选项:
现在,执行脚本以自动执行 Amazon Kendra 和 OpenSearch 设置:
就是这样! OpenSearch 和 OpenSearch Dashboard 容器现已启动并运行。
阅读快速启动脚本的输出消息,并记下可以运行 handy 的目录 docker-compose
命令,以及 cleanup_resources.sh
脚本。
尝试测试查询以验证您可以连接到您的 OpenSearch 容器:
请注意,如果您收到错误 curl(35):OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:9200
,这意味着 OpenSearch 还在后面。 请等待几分钟让 OpenSearch 准备就绪,然后重试。
创建测试索引并加载示例文档
下面的脚本用于创建索引和加载示例文档。 在您的计算机上另存为 bulk_post.sh:
将下面的数据文件另存为 tinydocs.jsonl:
并将下面的数据文件保存为 dstinfo.jsonl:
(此数据改编自 夏令时条款).
使脚本可执行:
现在使用 批量post.sh 通过运行以下两个命令来创建索引和加载数据的脚本:
运行示例查询
准备查询脚本
OpenSearch 查询是使用 OpenSearch 在 JSON 中定义的 查询域特定语言 (DSL). 对于这篇文章,我们使用 Linux卷曲 命令使用 HTTPS 将查询发送到我们的本地 OpenSearch 服务器。
为了使这变得简单,我们定义了两个小脚本来构建我们的查询 DSL 并将其发送到 OpenSearch。
第一个脚本在两个文档字段上创建一个常规的 OpenSearch 文本匹配查询 – 标题 和 身体. 有关更多信息,请参阅 OpenSearch 文档 多匹配查询语法. 我们一直保持查询非常简单,但您可以稍后尝试定义其他类型的查询。
将下面的脚本保存为 query_nokendra.sh:
第二个脚本与第一个脚本类似,但这次我们添加了一个查询扩展来指示 OpenSearch 调用 Amazon Kendra 智能排名插件作为后处理步骤,以使用 Amazon Kendra 智能排名服务对原始结果进行重新排名。
size
属性确定将多少 OpenSearch 结果文档发送到 Kendra 以进行重新排名。 在这里,我们指定最多 20 个结果进行重新排名。 两个属性, title_field
(可选)和 body_field
(必填),指定用于智能排名的文档字段。
将下面的脚本保存为 query_kendra.sh:
使两个脚本都可执行:
运行初始查询
从一个简单的查询开始 小文档 索引,以重现帖子介绍中使用的示例。
使用 query_nokendra.sh
搜索白宫地址的脚本:
您会看到如下所示的结果。 观察两个结果的顺序,它们按 OpenSearch 文本匹配查询分配的分数排序。 尽管得分最高的结果确实包含关键字 地址 和 白宫,很明显意思与问题的意图不符。 关键字匹配,但语义不匹配。
现在让我们使用 Amazon Kendra Intelligent Ranking 运行查询,使用 query_kendra.sh
脚本:
这一次,您会以不同的顺序看到结果,如下所示。 Amazon Kendra Intelligent Ranking 服务重新分配了分值,并为更接近查询意图的文档分配了更高的分数。 从关键字的角度来看,这是一个较差的匹配,因为它不包含单词 地址; 然而,从语义的角度来看,这是更好的回应。 现在您看到了使用 Amazon Kendra 智能排名插件的好处!
运行其他查询并比较搜索结果
现在试试 dstinfo 索引,看看相同的概念如何处理不同的数据和查询。 虽然您可以使用脚本 query_nokendra.sh 和 query_kendra.sh 要从命令行进行查询,让我们改用 OpenSearch 仪表板比较搜索结果插件 运行查询并比较搜索结果。
将本地仪表板 URL 粘贴到您的浏览器中: http://localhost:5601/app/searchRelevance – / 访问仪表板比较工具。 使用默认凭据: 用户名: 管理员,密码: 管理员.
在搜索栏中,输入: what is daylight saving time?
对于查询 1 和查询 2 指数, 选择 数据信息.
复制下面的 DSL 查询并将其粘贴到 询问 查询 1 下的面板。这是一个关键字搜索查询。
现在复制下面的 DSL 查询并将其粘贴到 询问 查询 2 下的面板。此查询调用用于自管理 OpenSearch 的 Amazon Kendra 智能排名插件来执行搜索结果的语义重新排名。
选择 搜索 按钮运行查询并观察搜索结果。 在结果 1 中,排名最后的命中实际上可能是对该查询最相关的响应。 在结果 2 中,Amazon Kendra Intelligent Ranking 的输出将最相关的答案正确排在第一位。
既然您已经体验了用于自我管理的 OpenSearch 的 Amazon Kendra 智能排名,请尝试您自己的一些查询。 使用我们已经加载的数据或使用 批量post.sh 加载您自己的数据的脚本。
探索 Amazon Kendra 排名重新评分 API
正如您从这篇博文中看到的,适用于 OpenSearch 的 Amazon Kendra 智能排名插件可以方便地用于搜索结果的语义重新排名。 但是,如果您使用的搜索服务不支持自管理 OpenSearch 的 Amazon Kendra 智能排名插件,则您可以使用 再打分 直接从 Amazon Kendra Intelligent Ranking API 调用函数。
使用我们上面使用的示例查询的搜索结果尝试此 API: 白宫的地址是什么?
首先,通过运行以下命令找到您的执行计划 ID:
下面的 JSON 包含搜索查询,以及由原始 OpenSearch 匹配查询返回的两个结果,以及它们的原始 OpenSearch 分数。 代替 {kendra-execution-plan_id}
使用您的执行计划 ID(从上面)并将其另存为 rescore_input.json:
运行下面的 CLI 命令以使用 Amazon Kendra 智能排名服务重新对该文档列表进行评分:
成功执行此操作的输出如下所示。
正如预期的那样,文件 tdoc2(含 正文 “白宫位于:1600 Pennsylvania Avenue NW, Washington, DC 20500") 现在具有更高的排名,因为它是查询的语义更相关的响应。 这 ResultItems
输出中的列表包含每个输入 DocumentId
新的 Score
, 按降序排列 Score
.
清理
完成试验后,关闭并删除 Docker 容器和 Rescore 执行计划,方法是运行 cleanup_resources.sh
由 Quickstart 脚本创建的脚本,例如:
结论
在本文中,我们向您展示了如何使用 Amazon Kendra Intelligent Ranking 插件实现自我管理的 OpenSearch,从而轻松地将智能排名添加到您的 OpenSearch 文档查询中,从而显着提高结果的相关性排名,同时使用您现有的 OpenSearch 搜索引擎部署。
您还可以使用 Amazon Kendra 智能排名 重新评分 API 直接到 智能地重新评分和排名结果 从您自己的应用程序。
阅读 Amazon Kendra Intelligent Ranking for self-managed OpenSearch 文件 了解有关此功能的更多信息,并开始计划将其应用到您的生产应用程序中。
作者简介
阿比纳夫·贾瓦德卡(Abhinav Jawadekar) 是 AWS 的 AI/ML 语言服务团队中专注于 Amazon Kendra 的首席解决方案架构师。 Abhinav 与 AWS 客户和合作伙伴合作,帮助他们在 AWS 上构建智能搜索解决方案。
鲍勃·斯特拉汉 是AWS Language AI Services团队的首席解决方案架构师。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- 柏拉图区块链。 Web3 元宇宙智能。 知识放大。 访问这里。
- Sumber: 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
- 上午
- 关于
- 以上
- ACCESS
- 事故
- 根据
- 账号管理
- 精准的
- 横过
- 操作
- 通
- 额外
- 地址
- 管理员
- 后
- 向前
- AI
- 人工智能服务
- AI / ML
- 已经
- 尽管
- 时刻
- Amazon
- Amazon EC2
- 亚马逊肯德拉
- 和
- 回答
- API
- 应用领域
- 应用领域
- 使用
- 四月
- 亚利桑那
- 分配
- 自动化
- 自动化
- 大街XNUMX号
- AWS
- 背部
- 酒吧
- 基于
- 打坏
- 因为
- 背后
- 如下。
- 得益
- 好处
- 本杰明
- 最佳
- 更好
- 之间
- 身体
- 大脑
- 英国的
- 不列颠哥伦比亚省
- 浏览器
- 建立
- 内建的
- 办公室
- 加拿大
- 挑战
- 更改
- 清除
- 钟
- 密切
- Cloud9
- COLUMBIA
- 未来
- 比较
- 对照
- 元件
- 计算
- 一台
- 概念
- 代表大会
- 美国国会
- 分享链接
- 地都
- 所以
- 考虑
- 建设
- 容器
- 集装箱
- 包含
- 内容
- 国家
- 情侣
- 创建信息图
- 创建
- 创建
- 资历
- 合作伙伴
- 周期
- XNUMX月XNUMX日
- data
- 天
- 一年中的
- dc
- 默认
- 定义
- 欣喜的
- 提升
- 演示
- 部署
- 确定
- 差异
- 不同
- 直接
- 码头工人
- 文件
- 文件
- 文件
- 不会
- 域
- 别
- 向下
- 显着
- 每
- 容易
- 效果
- 启用
- 结束
- 发动机
- 引擎
- 输入
- 环境
- 错误
- 等
- 例子
- 例子
- 执行
- 执行
- 现有
- 预期
- 有经验
- 实验
- 延期
- 失败
- 熟悉
- 常见问题
- 赞成
- 专栏
- 少数
- 字段
- 文件
- 档
- 找到最适合您的地方
- 姓氏:
- 重点
- 遵循
- 以下
- 申请
- 前
- 创建
- 止
- 充分
- 功能
- 功能
- 地理
- 得到
- 越来越
- 便利
- 帮助
- 有帮助
- 此处
- 更高
- 高度
- 历史
- 击中
- 点击
- 别墅
- 创新中心
- How To
- 但是
- HTML
- HTTPS
- 印象深刻
- 改善
- 改善
- in
- 增加
- 指数
- 指标
- 个别地
- 信息
- 信息化
- 固有
- 初始
- 输入
- 安装
- 例
- 代替
- 智能化
- 意图
- 意图
- 内部
- 介绍
- 介绍
- 所调用
- 参与
- 岛屿
- 问题
- IT
- JSON
- 保持
- 语言
- 名:
- 最新
- 学习用品
- 学习
- 邮件
- Line
- 清单
- 加载
- 本地
- 位于
- 长
- 不再
- 看
- 使
- 管理
- 许多
- 三月
- 匹配
- 匹配
- 最多
- 意
- 手段
- 的话
- 迁移
- 分钟
- 个月
- 更多
- 最先进的
- 国家
- National
- 需求
- 全新
- 十一月
- 观察
- 十月
- 一
- 打开
- 开放源码
- openssl的
- ZAP优势
- 附加选项
- 附加选项
- 秩序
- 原版的
- 其他名称
- 户外活动
- 己
- 与会者
- 伙伴
- 部分
- 密码
- 宾夕法尼亚
- 员工
- 演出
- 也许
- 永久
- 权限
- 透视
- 地方
- 计划
- 规划行程
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 请
- 插入
- 政策
- 帖子
- 功率
- 强大
- 总统
- 漂亮
- 以前
- 校长
- 大概
- 生产
- 财产
- 提供
- 提供
- 国家
- 波多黎各
- 波多黎各
- 质量
- 题
- 排名
- 排行
- 准备
- 减少
- 定期
- 关系
- 相关性
- 相应
- 去掉
- 更换
- 必须
- 研究
- 资源
- 响应
- 导致
- 成果
- RICO
- 运行
- 运行
- 同
- 保存
- 保存
- SC
- 得分
- 脚本
- 搜索
- 搜索引擎
- 搜索引擎
- 其次
- 自助服务
- 语义
- 服务
- 特色服务
- 集
- 格局
- 显示
- 如图
- 关闭
- 类似
- 简易
- 只是
- 网站
- 尺寸
- 小
- 聪明
- So
- 软
- 方案,
- 解决方案
- 解决
- 一些
- 来源
- 来源
- 具体的
- 开始
- 开始
- 个人陈述
- 州
- 步
- 仍
- 成功
- 这样
- SUPPORT
- 系统
- 团队
- 终端
- 条款
- test
- 其
- 次
- 时间表
- 标题
- 至
- 今晚
- 工具
- 最佳
- 合计
- 旅游业
- 交通运输或是
- 教程
- 类型
- 我们
- 下
- 联合的
- 美国
- 网址
- 使用
- 用户
- 验证
- 折扣值
- 价值观
- 版本
- 处女
- 等待
- 华盛顿
- 卷筒纸
- 什么是
- 什么是
- 是否
- 这
- 而
- 白色
- 白宫
- 将
- 也完全不需要
- Word
- 话
- 合作
- 世界
- 将
- 完全
- 您一站式解决方案
- 和风网