我有一个使用luis的机器人,但由于luis通常需要2-3秒才能响应我已经实现了一个push / pop edx
,它使用简单的正则表达式模式来匹配不需要通过luis的常见请求(你好,什么是你等。)。
我的问题是,当用户处于子对话框或等待用户输入的提示时,仍然会运行scorable,这可能导致以下结果:
用户:您好
Bot:嗨 (来自可评价的)
用户:我的航班现在几点?
IScorable
Bot:你的航班号是多少?
在上面的例子中,用户的下一条消息将被发送到PromptDialog.Text(context, LookupFlightNumber, "What is your flight number?");
方法但是如果用户说"你好"可以匹配,机器人会打招呼。
在LookupFlightNumber
超越false
时,我试图返回HasScore
IDialogStack
超过1帧,但帧数似乎不是我预期的。
更新
我已经将Scorable中的逻辑移到RootDialog.MessageReceived
作为替代,但我仍然感兴趣,如果可以使用IScorable