发布于: Oct 10, 2022
- 在美国东部(北弗吉尼亚州)区域启动以下 CloudFormation 模板:
- 请不要修改栈名称或者参数 botname InvoiceBot。
- 在 Capabilities and transforms 部分,勾选全部三个复选项,确认由 Amazon CloudFormation 创建 IAM 资源并扩展模板。
关于上述资源的更多详细信息,请参阅 Amazon IAM 资源。
此模板使用 Amazon Web Services 无服务器应用程序模式( Amazon
Serverless Application Model,Amazon SAM)以简化面向无服务器应用程序的函数与 API 定义流程,同时为各项服务提供环境变量等功能支持。
- 选择 Create stack。
以下截屏所示,为 Stack Detail 页面中显示的栈状态,目前为CREATE_IN_PROGRESS
。在20分钟之内,该状态将转换为CREATE_COMPLETE
,代表栈创建完成。
在 Outputs 选项卡中,复制 LexLambaFunctionArn
, AssetsUploadBucket
, ExtractedTextfilesBucket
以及 LexUIWebAppUrl
的值。
要将文档上传至新的 S3 存储桶,请选择与您之前复制的 AssetsUploadBucket
相对应的S3存储桶URL。上传 PDF 或图像,即可开始文本提取流程。
您也可以从 GitHub repo 处下载本文中使用的发票数据,并将其上传至 AssetsUploadBucket
S3 URL。我们建议您在发票模板中使用自定义解决方案。关于上传文件的更多详细信息,请参阅如何向 S3 存储桶上传文件与文件夹?
我们将使用以下会话对机器人进行建模:
Bot: Welcome to InvoiceBot. You can ask me to provide your invoice summary, or details of your invoices, or your invoice notes(欢迎访问 InvoiceBot。您可以要求我提供发票摘要、发票明细或发票注释)
用户: Show me the invoice summary(显示发票摘要)
Bot: I reviewed your input documents and found 1 invoice with invoice numbers 35678-9 totaling $2100.0. I can get you invoice details or invoice notes. Simply type your request(我检查了您的输入文件,发现其中包含1张发票,发票编号为35678-9,金额总计2100美元。我可以为您提供发票详细信息或发票注释。请输入您的要求
用户: Get me the invoice details(获取发票明细)
Bot: Please enter the invoice number(请输入发票编号)
用户: 35678-9
Bot: Invoice Details for 35678-9: On 5/10/2019 for the item One there is a charge of 1500.00. On 5/11/2019 for the item Merchant Two there is a charge of 100.00. On 5/12/2019 for the item Merchant Three there is a charge of 300.00. On 5/13/2019 for the item Merchant Three there is a charge of 200.00. You can request me for invoice notes or simply close this chat.(35678-9发票明细:2019/5/10,费用项一金额为1500美元。2019/1/11,费用项二为100美元。2019/5/12,费用项三为300美元。20195/13,费用项四为200美元。您可以要求我提供发票记录,也可以直接关闭本次聊天。)
用户: Can you show me the invoice notes for 35678-9(显示35678-9号发票注释)
Bot: Invoice Notes for 35678-9: 5/13/2019 Merchant Three 200.00 Merchant Three 300.00 Laptop Office Supplies Merchant Two 100.00 Team Dinner Food 5/12/2019 5/11/2019 Desks and Office Supplies 5/10/1019 Merchant One 1500.00 Chairs . Feel free to try the options again or you can simply close this chat(35678-9号发票注释:2019/5/13,购入三项计200美元。购入三项计300美元,为电脑办公桌。2019/5/12购入两项100美元,为团队晚餐。2019/5/11,为办公桌与办公服务器。2019/5/10 购入一项计1500美元,为椅子。
我们还可以使用以下意图构建其他 Amazon Lex 机器人(InvoiceBot):
- GetInvoiceSummary – 用户请求查看发票摘要时所调用的意图。由 Lambda 函数完成,可返回当前可用发票的数量与发票总金额。
- GetInvoiceDetails – 用户请求查看发票明细时所调用的意图。可通过 Lambda 函数实现,用于提供发票各条目明细,包括日期、数量与条目明细。
- GetInvoiceNotes – 用户请求查看发票注释时所调用的意图。通过 Lambda 函数完成,提供带有日期与项目描述的发票注释信息。
如之前的解决方案概述中所提到,您可以使用 Amazon Lex 聊天机器人(InvoiceBot)与 Amazon Comprehend 提取自 Amazon Textract 文本中的洞见进行交互。
要发布您的聊天机器人,请完成以下操作步骤:
- 在 Amazon Lex 控制台上,选择 Bots。
- 选择您所创建的聊天机器人。
- 在Intents下,选择GetInvoiceSummary。
- 在Fulfilment下,选择您的Lambda函数。
- 输入
LexLambdaFunction
以搜索该函数,并选定正确结果。
这时系统会出现显示弹框。
- 选择OK。
- 选择 Save intent。
- 在另外两项意图
GetInvoiceDetails
与GetInvoiceNotes
中,重复上述步骤。 - 选择 Build。
- 在构建完成后,选择 Publish。
-
在 Create an alias 部分,输入
Latest
。您也可以使用其他名称,例如测试、开发、beta 或者生产等皆可,用于代指机器人的运行环境。 - 择 Publish。
在机器人发布完成后,系统将打开以下页面。
- 选择 Close。
LexUIWebAppUrl
。以下截屏所示,为用户与该机器人的对话结果(从左至右阅读):
本文介绍了如何在 Amazon Lex 中创建一款会话式聊天机器人,使用 Amazon Textract 从图像或 PDF 文档中提取文本,使用 Amazon Comprehend 从文本中提取洞见,并通过机器人实现与洞见的交互。本文中所使用的代码皆发布在 GitHub repo 当中,供您随意使用及扩展。我们也期待了解您如何将这套解决方案应用于实际用例,请在评论区中分享您的观点与疑问。
相关文章