响应Chatscript中的多个匹配

时间:2014-10-17 07:51:30

标签: nlp chat chatscript

我目前正在尝试学习Chatscript,但文档似乎很差。我目前的问题是如何响应输入的多语句匹配。所以,如果我说“嗨。告诉我你自己”,我有一个匹配“hi”和“关于你自己”,它会回应第一场比赛,而不是最后一场比赛。我很确定我需要更改控制脚本以修复此问题,但我不确定要使用哪些命令。也许在最后一个输入中存储所有匹配并且可以选择特定匹配的东西?

1 个答案:

答案 0 :(得分:1)

你可以创建一个使用^ next&的u:响应refine()以〜问候语开头的句子移动。这是伪代码

u: ( ~greeting ) 

   ^refine()

 a: ( %more ) 

    ^next(input) 
    ^refine()

    b: ( you be ? )

       I'm good!

    b: ( %lenght==0 ) 

       Hi!

ChatScript System Functions Manual

  

^ next(什么标签) - 给予GAMBIT或RESPONDER或REJOINDER或者什么   RULE和规则标签或标签,找到下一个规则。如果没有找到则失败。   如果REJOINDER达到下一个顶级规则,它将失败。如果标签是“〜”,它将使用   最后一个电话的答案作为起点,使您能够连续行走规则。有   也^ next(FACT @xxx) - 参见事实手册。 对于^ next(输入),系统将读取   下一句话并用它准备系统。这意味着所有模式和代码都在执行   此后将在下一个输入句子的上下文中。那句话现在用完了,   当前修订后的句子结束后不会再出现。