在Watson对话中定义对话框时,我无法用他/她的名字向用户致意,或者我无法检测到用户发送的联系人号码,并将其更改为用户。是否可以在Watson Conversation Api中进行。如何在沃森对话中提供个性化问候语?
4
A
回答
4
您是否已经有权访问此信息?您可以通过上下文发送这些值,并使用$ context_variable引用它们。 收集用户信息的过程也是如此。你可以通过你的应用程序使用正则表达式来捕捉东西,或者使用一些Spring表达式,你可以在这里看到文本。匹配: https://www.ibm.com/watson/developercloud/doc/conversation/dialog_reference.shtml 你可以将它存储为上下文,然后再次使用$ context_variable引用它。 像姓名和电话号码这样的信息是相当开放的,所以如果不使用开放的实体提取引擎,我们正在研究将其纳入其中的最佳方法,那么可能很难捕获。
6
虽然米奇的回答是正确的,但这是一个做个性化回应的例子。
1.将您的conversation_start
节点文本设置为“Hello <? context.username ?>
”。
2.在你的代码,你会做这样的事情(蟒蛇)。
import json
from watson_developer_cloud import ConversationV1
conversation = ConversationV1(
username='SERVICE_USERNAME',
password='SERVICE_PASSWORD',
version='2016-07-11')
workspace_id = 'WORKSPACE_ID_CONVERSATION'
response = conversation.message(workspace_id=workspace_id, context= {'username':'Simon'})
print json.dumps(response)
3.当你运行这个,它应该输出以下内容,其中“文本”部分是用户看到的。
{
"entities":[],
"intents":[],
"output":{
"log_messages":[],
"nodes_visited":["node_1_1472298724972],
"text":["Hello Simon"]
},
"context":{
"username":"Simon",
"conversation_id":"9dc1501b-ac53-4b51-a299-37f5314ebf89",
"system":{
"dialog_turn_counter":1,
"dialog_stack":["root"],
"dialog_request_counter":1
}
},
"input":{}
}
有一点需要注意的是,上下文对象用于维护对话的状态。因此,如果您打算只使用REST API,那么您需要在发送前将上下文变量合并到前面的上下文对象中。你只需要在你知道对话需要这个上下文的点上这样做。
-1
要得到用户的输入,使用:
"context": {"yourVariable": "<?input.text?>"}
,并显示出:
"output": {"text": "You entered this $yourVariable"}
相关问题
- 1. 沃森对话中的来回对话
- 2. 沃森对话功能
- 3. 如何设置意图在沃森对话对话框
- 4. 沃森对话 - 存储和我们使用沃森会话服务提示机器人的功能在应用
- 5. 沃森谈话如何认识时间?
- 6. 沃森minecraft对话框不启动
- 7. 快速回复或与沃森对话
- 8. 沃森对话不识别新实体
- 9. 条件沃森谈话
- 10. 返回沃森对话对话框中的所有实体值
- 11. 在沃森的谈话如何提取多个值在输入文本时
- 12. 我如何提取当前日期沃森谈话
- 13. 摆脱重复的对话框节点沃森对话
- 14. 沃森对话:如何保持额外的用户输入
- 15. 在沃森对话中识别未定义的实体
- 16. 问题与沃森和HTTPS
- 17. 从文本访问沃森
- 18. 如何经由沃森 - 开发者 - 云库沃森的对话框服务检索特定配置变量
- 19. 在沃森对话中要求两个或两个以上的意图
- 20. 我们如何在沃森对话中创建超链接图标?
- 21. IBM沃森自然语言理解上载以供分析
- 22. IBM沃森diarization
- 23. 如何在沃森谈话排除especific天
- 24. 沃森谈话api中的问题的选项
- 25. 评估方法沃森谈话?
- 26. 沃森谈话实体阵列
- 27. 沃森语音到文本数字
- 28. C# - 沃森 - 语音到文本API
- 29. IBM沃森文本到语音Bower_Components
- 30. IBM沃森文本到语音宣告
你是什么意思时,你说你 - “在你的代码,你会做这样的事情(蟒蛇) “。我应该在哪里包含这段代码?另外,有什么方法可以不用硬编码用户名?(我看你有硬编码的西蒙),而是让用户输入他的名字并使用它。附:我是Bluemix的新手 –
这是硬编码的例子,但你会通过你的应用程序加载。 –
我应该在哪里编码python代码片段?我应该在本地运行它,还是应该将它集成到对话服务中?如果我要集成到对话服务中,我应该如何处理它?如果您可以提供指向任何教程的链接,那么它会很棒 –