如许多示例所示,您可以轻松地从响应中提取实体值,如下面的对话框所示:
华生:好的!你想听什么样的音乐?
用户:交响乐
Watson:好的,演奏交响乐
当用户说“我想听交响乐”而不只是“交响乐”时,您可以从 Watson 获得相同的响应,前提是:
Intent #i_want_to_hear 有示例:“交响乐”、“我想听摇滚”、“我想听爵士乐”
实体@genre 具有值@genre:symphonic
节点条件为@genre
节点输出文本是“OK!播放@genre”
如果问题是关于自由文本(名称)而不是实体,我能否实现同样的稳健性?例如:
华生:你叫什么名字?
用户:安娜
华生:很高兴认识你,安娜
如果节点条件为真并且输出文本为“很高兴认识你,input_text”,则这不适用于诸如“我的名字是 Anna”之类的答案。
我无法遵循上述@genre 方法,因为我无法为每个可能的名称创建具有不同值的实体“名称”。
如果没有简单的解决方案,也许我可以在用户响应中使用最后一句话,因为它始终是以下之一:
安娜
我是安娜
我的名字是安娜
是安娜
所以我的第二个问题是:如何从答案中提取最后一个单词以在输出文本和上下文中使用它?
谢谢