问题标签 [watson-dialog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
69 浏览

watson-conversation - Watson 对话不像文档中提到的那样运行

我对 Watson 对话还很陌生。我发现了一个对我的项目很重要的问题,如果有人能帮助我解决这个问题,我将不胜感激。

在 Dialog overview 文档中明确提到,Watson 将查看子节点以搜索更多信息(最好通过检查实体)。

为了测试这一点,我创建了一个简单的环境,两个意图是“找酒吧”和“打开收音机”,一个实体是“音乐类型”,只有一个值“爵士音乐”。所以如果用户说“打开收音机”,那么系统的反应是“你喜欢什么样的音乐?” 并且用户响应是爵士音乐,如果用户要求找到一个酒吧,系统会响应酒吧里有什么音乐,用户会回答“爵士音乐”。

为了实现它,我创建了两个节点,每个节点都有一个子节点,父节点识别意图,子节点识别实体(如文档中所述)。'find a bar' 是对话框树中的第一个,'turn on' 是第二个。

所以我尝试了第二个意图并输入了“打开”。意图被正确识别并相应地询问系统,然后我输入 Jazz 音乐系统响应来自同一个子节点(打开的子节点),但识别的意图是“不相关”。如果应用程序需要分析响应对象以识别意图,那么对应用程序的这种响应将令人困惑。

对话树和 Watson 响应的屏幕截图

任何建议请

0 投票
3 回答
602 浏览

ibm-watson - 在 Watson Assistant 中重用实体会导致自动填充上下文变量

所以据我了解,实体应该在不同的插槽中重复使用,以优化您可能希望接受类似数据类型的用户输入信息的事实,即两个单独的插槽“你的家庭收入是多少”,“什么是你配偶的家庭收入”都将使用@sys-currency实体。

在我当前的对话流程中,我有两个子节点,每个子节点都有一个用于检查sys-currency实体类型的槽。但是,我使用两个不同的上下文变量来设置插槽。

问题是,在用户为第一个子节点(“家庭收入”)输入答案后,上下文变量也会为下一个子节点设置。它们具有相同的实体,但具有不同的上下文变量。据我了解,这应该发生。我可以确认节点已处理,但它会立即跳过提示,就好像它已被填充并在节点中传递响应。

第一个节点 第二个节点

0 投票
1 回答
389 浏览

twilio - 使用 IBM Voice Gateway 以编程方式发起呼叫

我已将 IBM Voice Agent ( https://console.bluemix.net/docs/services/voice-agent/getting-started.html ) 与 Watson Assistant 和 Twilio 号码连接起来。

我可以拨打我的 Twilio 号码并与助手进行对话。

但是,现在我不希望用户拨打该号码,而是希望以编程方式触发呼叫。调用某个 API 来强制助手拨打某个号码。理想情况下传递一些上下文......

我知道 Voice Agent 在幕后使用 Voice Gateway ( https://www.ibm.com/support/knowledgecenter/en/SS4U29/welcome_voicegateway.html )。

更新:

我能够通过 Twilio 触发呼叫。我请 Twilio 充当中间人。Twilio 将呼叫我的号码和 SIP(​​语音代理)并桥接呼叫。但是我无法将任何初始参数传递给 Watson Assistant,因为我不控制该过程......

0 投票
2 回答
148 浏览

rest - 无服务器 Watson 部署?(关于与其他 RESTful 服务集成的问题)

简介:我觉得我在架构级别应该如何设计 Watson Assistant 时遗漏了一些非常明显的东西,但也许我没有。

我遇到的具体问题是,我似乎无法让 API 调用以获取信息回到对话中。

更大的问题是,我不确定我是否正确地设置了这一切,以实现我想要完成的长期目标。

目的:我正在为我们的托管网络建立一个 24/7 客户服务 1 级帮助台。我们其中一个网络的用户应该能够通过短信、网络聊天、Facebook Messenger 以及最终的电话呼叫,要求:

  1. 有关如何连接其特定设备(PC、Mac、Chromebook、Xbox、Apple TV 等)的说明
  2. 如果说明无法成功连接,请寻求帮助进行故障排除。(删除保存的网络、重启无线网卡等分步说明)
  3. 帮助创建案例 - 此时对话变成 Watson 询问一堆信息,例如他们第一次遇到问题的时间和日期、他们遇到问题的任何其他时间/日期、他们的 MAC 地址等。

问题:我已经构建了大部分对话框并且运行良好。通过实体获取信息,保存到上下文变量,将它们吐出来以使对话正常进行,题外话等都正常工作。

在我的一生中,我无法弄清楚我在尝试从外部 API 获取信息时做错了什么。

我们的访客网络有一个“每日密码”,我们希望要求提供每日密码的用户接收它。这涉及对可公开访问的服务器的非常简单的 GET 请求。

我已经构建了一个运行良好的 BlueMix/IBM Cloud 函数,但我似乎无法成功调用或接收来自它的信息。

沃森错误:

这个错误让我相信我没有在 Watson 中正确定义结果变量,或者尝试在对话中不正确地检索它 - 因为我知道我的代码在 BlueMix 控制台中运行它时会返回 SSID 和密码。

操作本身的 JSON(是的,我在前一个节点中设置凭据):

问题:

  1. 通过使用 Watson <-> IBM Cloud <-> 外部服务,我对“无服务器”Watson 的想法是否可行?我们目前没有“应用程序”或服务器,它是现有服务之间的所有集成。

  2. 任何人都可以帮助我了解我在尝试访问该变量时做错了什么?

加分项:我如何知道只有在 IBM 云中成功完成操作后才能访问变量?基本上,如果通过我编写的 IBM Cloud 函数访问信息需要 1.5 秒,我是否需要将对话框暂停 1.5 秒?还是我完全错过了如何从 Watson 获取外部信息的要点?

编辑:观看米奇的视频后,我改变了一些事情,错误信息演变成这样:

“使用对话节点 ID [node_66_1533646714776] 的输出更新输出时出错。节点输出为 [{"text":{"values":["Today's password for is "],"selection_policy":"sequential"}}] SpEL 评估错误:表达式 [ $guestNetwork['ssid'] ] 在位置 24 转换为 [ context['guestNetwork']['ssid'] ]:EL1012E:无法索引到空值”错误。

0 投票
3 回答
714 浏览

ibm-watson - 当 Watson 助手聊天连续给出相同意图时如何触发对话?

1)用户何时聊天,系统给出相同的答案(在行中点击相同的意图,即 3 次),此时我们需要触发一个对话,询问“对不起,我不知道你想要的答案联系客服?

2)当连续三次低置信度示例对话置信度小于30%时触发对话的相同场景。

请在下面发表评论以进行澄清

0 投票
2 回答
656 浏览

ibm-cloud - Watson Assistant @sys-date 返回明年的月份

设想 :

  • 当使用当前月份助手内的@sys-date 实体时,返回明年同月的日期范围:

    在此处输入图像描述

  • 但是,当明确提及"this {MONTH}"时,它可以正常工作。

    在此处输入图像描述

问题 :

  • 这是@sys-date 的默认行为吗?
    对于我的用例,即使在引用当前月份时,用户也更自然地使用月份名称。

  • 这可以修改还是必须单独处理?

0 投票
1 回答
334 浏览

ibm-watson - 创建一个允许在 Watson Assistant 中上传文档的对话节点

我使用 IBM Watson Assistant 创建了一个聊天机器人,我正在尝试找到一种方法来允许最终用户通过 Watson API 上传文档。有没有其他人尝试过实现这一目标?

0 投票
2 回答
554 浏览

ibm-cloud - 如何从 URL 触发 IBM Watson Assistant 中的特定节点

我有一个网站链接到基于 IBM Watson Assistant 构建的聊天机器人。网站上有一些超链接,我想触发 watson 对话框的特定节点/意图。

示例:用户单击“提供反馈”链接,watson 聊天机器人启动并基于该链接识别“provide_feedback”意图(从而防止用户在单击链接后需要指定意图)。

有没有人试过这个?

0 投票
1 回答
168 浏览

ibm-cloud - Watson Voice Agent 在 @sys-number 中获取拆分值

首先,我将 Voice Agent 与 Watson Assistant 一起使用,所以这里的一切都在使用 Voice Agent 的电话中。

在提示我的用户输入他们的“票证”代码以便我调用我的外部 API 以获取票证的状态时,我遇到了麻烦。问题是这个数字总是一个“大”整数,在这个例子中:123,所以他们不说它像:一百二十三,他们说它像:一二三(这些值有时更多超过一千)。然后我的@sys-number 得到这个值:

这导致我的系统编号只得到“1”,因为它是它识别的第一个数字。有没有办法将这些值合并到一个变量中?

示例对话框的屏幕截图: 示例对话框 ss

0 投票
1 回答
636 浏览

ibm-cloud - Watson 助手 api 调用详情

我们开发了一个 watson 助手聊天机器人并与客户端应用程序集成。现在我们想知道每个用户从客户端应用程序调用 watson 服务的次数以及每人的计费详细信息。

我已使用以下方法启用了用户指标选项,并且活动用户图随用户数更新。但我想知道每个用户 api 调用的详细信息,我已经在计费部分检查了 viewLogs(IMPROVE TAB) 和 Usage 选项卡,它没有显示每个用户的 api 调用和计费详细信息。请让我知道在哪里可以获得每个用户 api 调用详细信息的详细信息。

https://console.bluemix.net/docs/services/conversation/logs.html#user_id