应该如何使用IBM Watson对话或发现?

问题描述:

我是新来的屈臣氏服务。
我正在创建一个聊天机器人,根据他的个人资料为学生建议最好的课程。
应该如何使用IBM Watson对话或发现?

我应该执行比如
查询“这当然有在2016年全年最大截止百分比是多少?”,
“,这是前3个疗程,其中截止比例最高的是最后一个三年?'

我所做的是因为我有基本的数据库管理知识我已经创建了SQL表。

但是我想到的是IBM Watson Conversation和Discovery如何提供帮助。 我是否应该完全使用对话来执行查询或创建课程和其他参数的文档,并使用发现来检索答案并将其与Conversation集成。

最终我的问题是,沃森对话足够吗?

根据我对IBM Watson API的经验......我认为Conversation可以满足需求,但您需要用上面的示例来训练Intents和Entities。您可以使用intentsentities来创建条件和来自Simon O'Doherty的answer以查看我的answer,以了解在Watson对话服务中创建#Intents和@Entities时的最佳做法。

如果您使用数据创建了tables,则不需要使用发现,因为在Discovery中,您将查询非结构化文档,在这种情况下为:JSON,PDF,Word等...查看官方建筑:

enter image description here

实验值:这是一个建议,也许IBM的专业人士会同意,或补充我的回答或回答您的另一种可能性。

+0

感谢您的回答。顺便说一句,检索聚会查询可能与对话的答案,如“2016年哪个课程的最大截止百分比?”所以会有很多课程。在SQL中,我可以执行聚合查询,如max,min,count等。 –

+0

在这种情况下,您将创建一个名为courses的@entity,并添加课程。而你的一个自定义代码的应用程序将获得用户想要的信息。 –

+0

您需要为每个问题创建Intents,并且您的应用程序将使用一个**自定义代码**来检查意图,并且您的应用程序将识别并查询您的数据库。 –

对话最适合问题频率非常高的问题。这类问题被称为“短头”。 您通常会看到的其他类型的问题是那些被称为“长尾巴”的问题。这些问题很难预测,因为用户所需的信息更加多样化。 Discovery在这些用例中效果更好,因为它提供了功能(段落,相关性培训,聚合,过滤器等),以便用户可以浏览结果。 Discovery允许您查询结构化数据和非结构化数据(不限于这两种数据),并使用典型的信息检索方法对结果集进行切片和切块。

对话和发现可以一起工作。你可以有一个对话界面来回应短小的头脑,然后在遇到无法充满信心地回答的问题时回到发现。

在这个特定的用例中,根据您的简要描述,您可能希望调查发现,因为它可以让您提交可以完成上述用例的查询,但是您也可以受益于能够训练模型来基于标记的基本事实来识别哪些文档(在这种情况下是课程)可能是“好”的。当谈话无法回答问题时,它也会有所帮助,因为返回一组可能的选项而非一无所有的选项会更有用。

无论何时您知道用户的问题肯定会包含某些已知关键字(以您的示例中的“截断百分比”为例),您需要参加IBM对话服务,但请记住您可以仅向用户提供答复使用会话服务,但处理查询和获取结果将很满意发现服务,因此将会话服务与发现服务集成是一个更好的主意。