我想构建一个智能搜索代理,它会使用 Watson 对话来处理请求并给出响应,但会使用我自己的数据库(比如 SQL 服务器)来搜索所需的输出。
简而言之,我不想手动编写意图和对话或从 csv 文件导入,而是想在 .net 中编写我赢得的代码,使所有请求和响应都受到我自己存储在数据库中的数据的影响。我只打算使用 watson 的处理和解释能力。但是处理必须发生在我的数据上。
例如,如果用户搜索单词“Dog”,Watson 对话服务必须在我的数据库中搜索并根据搜索向用户提供相关答案。
我想构建一个智能搜索代理,它会使用 Watson 对话来处理请求并给出响应,但会使用我自己的数据库(比如 SQL 服务器)来搜索所需的输出。
简而言之,我不想手动编写意图和对话或从 csv 文件导入,而是想在 .net 中编写我赢得的代码,使所有请求和响应都受到我自己存储在数据库中的数据的影响。我只打算使用 watson 的处理和解释能力。但是处理必须发生在我的数据上。
例如,如果用户搜索单词“Dog”,Watson 对话服务必须在我的数据库中搜索并根据搜索向用户提供相关答案。
查看Watson Conversation 文档中的解决方案架构。您的数据库将是所描述的后端系统之一。正如您所提到的,您的应用程序将是用 .NET 编写的,并将使用 WCS 来处理用户输入。它将返回包含所有相关元数据的响应。您可以使用我在我的示例集合中描述为“替换标记”的内容,而不是在对话框中配置完整的答案。这些标记是对您的应用程序执行哪个数据库查询或执行哪个操作的一种提示。
请注意,WCS 需要一些意图和实体才能工作。如果您只想依赖检测到的意图和实体,则可以使用一两个通用对话节点。作为另一种技术,您可以使用数据库中的数据来生成意图和实体作为初始设置。在我的“变异 EgoBot”中,我使用 Watson Conversation API 即时添加意图和实体。
我相信您应该使用标准技巧:不要在诊断日志的节点中定义响应,而是在节点的输出对象上定义一个操作,并让您的应用程序负责提供响应(请参阅https://console.bluemix.net /docs/services/conversation/develop-app.html#building-a-client-application )