# ROADMAP

还有一些目前从开发和应用中搜集到的一些需求或者改进还没有实现：

1. 增加 Optional 语义，类似 “今天 ~ 的? ~ 天气”，其中的可以有也可以没有，这样能够有助于 Rule 精简一些，让写规则没有那么琐碎；
2. 增加更好的结果组合排序方法，目前在数字识别上做了“一十二十”是拆分为“一十/二十”还是“一十二/十”的简单规则，这部分可以抽象抽象做出一个学习模块来，基于规则做还是有点费脑（不过学习的特征也是人生造的，所以本质上其实只能减轻一点点负担）；
3. 引入NER，目前主流的是深度学习了。增加NER模块对一些边界情况进行辅助判别可能会有帮助：比如“下个星期[天门]的天气”，这里如果没有外部模块辅助，识别出“下个星期天”就无法避免了。这个目前来看，在天气地点类的在一些边界问题判断上比较有用。但是增加 NER 模块会显著增加资源消耗，仍然是需要慎重考虑的点。
4. 增加Naive Bayes 以外的排序方法，比如 Liblinear，具体可以参考 Sempre。目前实现的一些 dimension 上可能需求不大，但是在变长识别的情况下，一些 NB 的朴素假设可能会被破坏，这个时候其它的排序方法就能够用得上了
5. 优化性能，提高长文本解析效率，尤其是提升时间和数字识别的效率：目前在“明天的明天的明天...(x20)”的解析上会花费不少时间，这一类的解析（也许还能够找到其它的）需要想办法提升解析效率，目前的消耗有些夸张，如果能够收缩到10ms 以内还是不错的。数字的识别在组合过于复杂的时候也有同样的问题，可能提升的空间不大，但是仍然可以考虑试一试。
6. 扩充识别类型：货币、课程和年级等等
