什么是自定义问题解答?

自定义问题解答提供一种基于云的自然语言处理 (NLP) 服务,允许你基于数据创建自然对话层。 它用于从客户输入或项目中查找适当的回答。

自定义问题解答通常用于生成对话式客户端应用程序,其中包括社交媒体应用程序、聊天机器人和支持语音的桌面应用程序。 此服务包含的功能包括使用深度学习排名器增强相关性、精确答案、端到端区域支持。

自定义问题解答包括两项功能:

  • 自定义问题解答:使用此功能,用户可以自定义从内容源提取的编辑问题和答案对等不同方面,定义同义词和元数据,接受问题建议等。

本文档包含以下文章类型:

  • 快速入门是分步说明,可按照其调用服务,并在短时间内获得结果。
  • 操作指南包含以更具体的方式或自定义方式使用服务的说明。
  • 概念性文章对服务的功能和特性进行了深入说明。

何时使用自定义问题解答

  • 当你有静态信息时 - 如果项目中包含静态信息,可使用自定义问题解答。 此项目根据你的需要自定义,其内容使用 PDF 和 URL 等文档生成。
  • 想要对某个请求、问题或命令提供相同的回答时 - 如果不同的用户提交相同的问题,则返回相同的回答。
  • 想要基于元信息筛选静态信息时 - 添加元数据标记,以提供与客户端应用程序的用户和信息相关的附加筛选选项。 常见的元数据信息包括聊天内容、内容类型或格式、内容目的和内容新鲜度。
  • 当你想要管理包含静态信息的机器人聊天时 - 你的项目会提取用户的聊天文本或命令,并予以回答。 如果回答是预先确定的对话流(在项目中用多轮次上下文表示)的一部分,则机器人可以轻松提供此流。

什么是项目?

自定义问题解答会将内容导入充满问题和回答对的项目。 导入过程提取有关结构化和半结构化内容部分之间的关系的信息,以暗示问题与回答对之间的关系。 可编辑这些问题与回答对,或添加新对。

问题与回答对的内容包括:

  • 问题的所有替代形式
  • 用于在搜索期间筛选回答选择的元数据标记
  • 用于继续优化搜索的跟进提示

发布项目之后,客户端应用程序会将用户的问题发送到你的终结点。 自定义问题解答服务将处理问题,并以最佳回答做出响应。

以编程方式创建聊天机器人

发布自定义问题解答项目后,客户端应用程序会将问题发送到项目终结点,并接收 JSON 响应形式的结果。 用于自定义问题解答的常见客户端应用程序是聊天机器人。

向机器人提问并从项目内容处获取解答

步骤 操作
1 客户端应用程序将用户的问题(他们自己表述的文本)“如何以编程方式更新我的项目?”发送到你的项目终结点。
2 自定义问题解答使用经过训练的项目提供正确的回答,并提供可用于具体化搜索以获得最佳回答的任何跟进提示。 自定义问题解答返回 JSON 格式的响应。
3 客户端应用程序使用 JSON 响应在如何继续聊天方面做出决策。 这些决策可能包括显示最相关的回答,以及提供更多选项用于优化搜索以获得最佳回答。

生成低代码聊天机器人

语言工作室门户提供了完整的项目创作体验。 可将文档以其当前格式导入到项目。 这些文档(例如 FAQ、产品手册、电子表格或网页)将转换为问题和回答对。 系统将分析每个对以提供后续提示并将其连接到其他对。 最终的 markdown 格式支持丰富的表示形式,包括图像和链接。

编辑项目后,无需编写任何代码即可将它发布到正常工作的 Azure Web 应用机器人。 在 Azure 门户中测试机器人,或下载并继续进行开发。

通过分层排名实现高质量响应

自定义问题解答系统使用分层排名方法。 数据存储在 Azure 搜索(同样充当第一个排名层)中。 然后,来自 Azure 搜索的最相关结果将通过自定义问题解答的 NLP 重新排名模型传递,以生成最终结果和置信度评分。

多回合对话

自定义问题解答提供多轮次提示和主动学习来帮助你改善基本的问题和回答对。

多轮次提示使你有机会连接问题和回答对。 客户端应用程序可通过此连接提供最相关的回答,并提供更多问题来具体化搜索以获得最终回答。

项目收到已发布终结点中用户的问题后,自定义问题解答将对这些实际问题应用主动学习,以建议对项目做出哪些更改来提高质量

开发生命周期

自定义问题解答提供可集成到整个开发生命周期的创作、训练、发布和协作权限。

开发周期的概念图

完成快速入门

我们提供了适用于大多数流行编程语言的快速入门,旨在让你了解基本设计模式并帮助你在 10 分钟以内运行代码。

后续步骤

自定义问题解答会提供生成、管理和部署自定义项目所需的全部功能。