【问题标题】:Get user information from user input using IBM Watson conversation使用 IBM Watson 对话从用户输入中获取用户信息
【发布时间】:2017-03-27 08:44:06
【问题描述】:

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

例如:

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

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

【问题讨论】:

  • @RiyaMRoy 这个问题比你提到的问题更笼统,让我给出一个更通用的答案,一般来说如何处理input.text,这对我来说似乎很有用。
  • 当然@MichalBida

标签: ibm-watson watson-assistant


【解决方案1】:

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

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)?>(第二个参数是正则表达式组号)。提取由 regexp 和 group 指定的输入字符串的一部分。

例如对话节点上下文中的这个表达式:

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

请注意,这对于您的用例来说并不是一个完美的解决方案,因此添加一个确认解析的字符串是否真的是用户名的对话框流可能是个好主意...

【讨论】:

  • 我觉得 Watson 对话还不能智能地提取此类用户提供的信息。
  • @MohamedIqzas 有一个名为开放实体的新功能,允许用户训练实体。这可以非常有效地用于识别例如用户名。现在适用于英语工作区。
猜你喜欢
  • 1970-01-01
  • 2020-07-26
  • 1970-01-01
  • 2017-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
相关资源
最近更新 更多