我想知道如何在标准聊天中使用 IBM Watson Conversation 提取用户名:
例如:
bot: What is your name?
User respond: my name is Mike
bot: ok good morning Mike. -> i want this
如何存储用户在聊天中键入的名称?所以机器人可以回答给定的名字?
我想知道如何在标准聊天中使用 IBM Watson Conversation 提取用户名:
例如:
bot: What is your name?
User respond: my name is Mike
bot: ok good morning Mike. -> i want this
如何存储用户在聊天中键入的名称?所以机器人可以回答给定的名字?
编辑: WCS 中有一个新功能可以提取基于模式的实体 - 换句话说,用户能够根据正则表达式定义实体。DOC 中的更多信息:
https://console.bluemix.net/docs/services/conversation/entities.html#creating-entities [30.11.2017]
您可以通过编写来访问用户输入文本,<? input.text ?>
那么 WCS 支持的两种方法可能有用:
<?input.text.matches('regexp')?>
如果输入与输入正则表达式匹配,则返回 true。
和
<?input.text.extract('regexp', 0)?>
(第二个参数是正则表达式组号)。提取由正则表达式和组指定的输入字符串的一部分。
例如对话节点上下文中的这个表达式:
"lastword" : "<?input.text.extract('\\w+$', 0)?>"
将从用户提供的输入文本中提取最后一个单词。
请注意,这不是您的用例的完美解决方案,因此添加一个确认解析的字符串是否真的是用户名的对话框流可能是个好主意......