使用ibm watson对话从用户输入中获取用户信息

时间:2017-03-27 08:44:07

标签: ibm-watson watson-conversation

我想知道如何在标准聊天中使用IBM Watson Conversation提取用户名:

例如:

bot: What is your name?
User respond: my name is Mike
bot: ok good morning Mike. -> i want this

如何存储用户在聊天中输入的名称?所以机器人可以回答给定的名字。

提前感谢。

1 个答案:

答案 0 :(得分:10)

编辑:WCS中有一项新功能可以提取基于模式的实体 - 换句话说,用户可以根据正则表达式定义实体。 DOC中的更多信息:

https://console.bluemix.net/docs/services/conversation/entities.html#creating-entities [30.11.2017]

您可以通过编写<? input.text ?>来访问用户输入文本,然后WCS支持的两种方法可能会有用:

如果输入与输入regexp表达式匹配,则

<?input.text.matches('regexp')?>返回true。

<?input.text.extract('regexp', 0)?>(第二个参数是regexp组号)。它提取regexp和group指定的部分输入String。

例如,对话节点上下文中的此表达式:

"lastword" : "<?input.text.extract('\\w+$', 0)?>"将从用户提供的输入文本中提取最后一个单词。

请注意,这不是一个完美的用例解决方案,因此最好添加一个对话框流,确认解析后的字符串是否真的是用户名......