PS: 不能保证为最优思路,思路仅供参考。
依据强规则:
- 上一轮是特定的 `intent`
- 这一轮是特定的 `intent`
- 重复上一轮的 `intent`
那么需要修改 `intent` 的判定。我们先尝试在 `nlu` 中实现,未果。最后选择 `core` 的 `policy` 来实现。
- 更改预测的
intent
- 未果
原因:nlu
的pipeline
处理时是无状态的,并不知道上一轮的intent
- 实现
policy
,首先尝试的MemoizationPolicy
中实现。但是个人感觉这个应该是基于规则的,所以放弃掉了MemoizationPolicy
选择了RulePolicy
(欢迎指正)
具体代码实现可以参考 ask_again_policy.py
,代码优化已完成。有 BUG
欢迎提交 PR or Issue
。
欢迎各位大佬指教。