Press "Enter" to skip to content

如何在AWS中设计基于人工智能的企业搜索

在今天的现代组织中,及时找到正确的信息是一个关键的区别。这不仅可以节省大量的时间和精力,还可以提高客户满意度和员工生产力。然而,在大多数大型组织中,所有的内容和信息都是零散的,没有正确地进行索引和组织。当员工和客户在公司的门户网站或内部网站上寻找一些紧急信息(例如产品信息、流程图或政策等)时,通常需要浏览无关的链接数小时。流行的内容管理(CMS)软件或维基(如Confluence)或文档管理存储库(如SharePoint)缺乏完善的智能搜索能力,导致效率低下,因为它们只使用基于关键字匹配的部分或全文搜索,忽略用户所寻找内容的语义意义。

此外,传统搜索无法理解以自然语言提问的方式。它将所有单词都视为搜索查询,并尝试匹配所有文档或内容。例如,如果我需要找到我们办公楼的IT帮助台在哪一层,只需在一般的CMS或维基软件上搜索“IT帮助台在哪里?”可能会显示与我问题的每个单词(包括“IT”、“帮助台”和“在哪里”)匹配的所有链接或文本。这将浪费员工的生产力、时间和士气,因为他们将花费很长时间来确定正确的信息。

让我们假设在服装领域有一个电子商务零售商。如果有人使用法语搜索黑色衬衫,使用“chemise noire”,如果系统没有进行语言翻译,常规的全文搜索可能找不到任何结果。它会向用户显示“无结果”,从而导致业务损失。

设计解决方案

为了克服组织在使用关键字匹配服务时面临的问题,亚马逊推出了Amazon Kendra无服务器服务,它使用机器学习来理解用户以自然语言提出的问题的上下文和意图,并根据这些找到正确的内容或答案,以相同的自然语言回复用户。

Amazon Kendra配备许多数据连接器,支持快速集成到任何企业数据源(Salesforce CRM、Sharepoint、Jira/Confluence或S3存储桶、文件服务器)。因此,连接到任何内容存储库非常容易。

一旦完成源集成,在Amazon Kendra控制台中可以创建“索引”,即使内容随时间变化,索引也会同步更新。这个同步过程帮助Kendra通过机器学习学习和排名内容。

一旦Kendra索引完成并准备好使用,用户界面可以进行自定义或通过API集成访问。下面的设计描述了流程:

企业应用案例

智能搜索功能可以在多种应用场景中发挥作用。

  • 帮助台/联系中心:当知识库不断增长时,帮助台或联系中心代理商在协助内部或外部客户时,花费大量时间来确定正确的步骤。使用这种智能搜索功能将帮助联系中心代理人快速回答客户的查询。这不仅可以减少呼叫量的时间,还可以提高客户满意度和代理人的绩效。
  • 推荐系统:AWS Kendra还可以用于构建推荐平台,通过将FAQ系统整合到推荐服务中,提高客户的参与度。
  • SAAS应用程序或产品可以利用基于机器学习的应用内搜索,使用户可以快速找到他们正在寻找的相关答案。
  • 由于Kendra的API可以与问答机器人集成,联系中心的成本或等待时间将更少,因为用户将能够使用自助机器人或无代理人信息查找器快速找到答案。

使用AWS Kendra的好处

  • AWS Kendra帮助您快速在整个组织中实现统一的搜索体验,支持从多个结构化和非结构化内容的多个数据源获取数据。由于它几乎具备从Salesforce、SharePoint、S3存储桶或数据库摄取数据的所有数据连接器,因此开发工作量非常小。
  • Kendra支持使用自然语言处理(NLP)和机器学习(ML)技术获得高度准确的答案,但这并不意味着您必须在组织中拥有机器学习专业知识,仍然可以为用户提供类似的功能。
  • 在Kendra中,可以使用元数据属性、用户行为和新鲜度来微调搜索结果。
  • AWS Kendra支持将外部FAQ与摄入的内容进行集成,基于文档排名和机器学习,从而吸引用户。

演示

使用Kendra设计解决方案的基本步骤如下:

  • 创建索引
  • 使用Kendra中可用的多通道数据连接器集成所需的数据源。
  • 使用内置UI进行部署和测试,或使用REST API集成自己的UI。

Amazon Kendra具有多个数据连接器,可用于Amazon RDS数据库、S3、Jira / Confluence、SalesForce CRM、ServiceNow、Slack、Google Drive、Microsoft OneDrive和Microsoft SharePoint,并且可以从PDF或HTML或CSV中提取和消费数据-几乎支持任何常用格式。在接下来的章节中,我们将详细介绍每个步骤。

1. 创建索引

登录到AWS控制台,并将区域更改为支持AWS Kendra的区域。从搜索栏启动AWS Kendra。单击创建索引,输入如下屏幕截图中显示的详细信息。您可以选择在此处使用自己的名称。

由于我们将使用一些文档进行实验,因此我选择了”开发者版”。

单击”创建”按钮后,AWS将为创建的索引提供AWS Kendra实例。

2. 集成数据摄取

在将S3存储桶作为数据源集成之前,我们需要首先创建S3存储桶。创建存储桶后,我们可以上传一些您选择的PDF文件。我从Project Gutenburg下载了2本美国历史电子书(第2卷和第3卷),然后将其上传到存储桶中。

上传所有文件后,转到S3服务中的”属性”选项卡,复制ARN。

转到AWS Kendra服务,并选择我们之前创建的索引。您将看到”添加数据源”选项以连接到数据源。我们需要使用Amazon S3连接器连接到S3存储桶。

您可以为数据源提供任何名称;为了简单起见,我使用了s3-pdf-docs。

为数据源创建新的IAM角色。

对于同步部分,浏览要同步的S3存储桶,并且频率将是按需。

选择接下来的默认选项,然后单击”添加数据源”以开始同步过程。

3. 从源同步摄取过程

一旦数据源处于活动状态,您必须启动同步过程,以将S3存储桶中的PDF文本数据加载到Kendra的索引中。

一旦同步过程开始,它将在历史部分显示为”进行中”状态。

4. 验证数据摄取

当同步过程完成时,它将显示文档计数,确认新文档已添加和索引。

一旦文档被摄取,点击”搜索索引内容”以验证搜索。

5. 在控制台中测试AWS Kendra默认搜索

我使用以下关键词进行搜索,结果立即显示。它没有正确地获取结果,但也能够提取文档中的摘录。

Kendra带有许多内置功能,因此可以对结果进行微调,并提供API和SDK以连接和在其他UI中使用。

在实验结束时,请记得删除索引;否则,可能会产生一些费用。

结论

正如上面的指南所示,建立一个基于专有企业数据和文档的全面的、基于机器学习的自定义企业搜索非常容易,不仅具有可扩展性,而且提供了开箱即用的功能,可以根据要求自定义结果。Amazon Kendra提供API与任何单页应用程序或QnA机器人结合使用,提供更大的灵活性。最好的功能是Kendra具有如此多的数据连接器,可以与任何类型的企业数据源无缝集成,无需额外努力构建。

Leave a Reply

Your email address will not be published. Required fields are marked *