MIUI短信智能识别你知道怎么玩吗?
意想不到!MIUI短信智能识别玩法攻略。春节前,短信智能识别的各项功能陆续进入了MIUI体验版。经过1个多月的内测,终于在前几天进了开发版,能够让千百万用户使用,真是兴奋鸡冻…目前我们的智能识别已经做到:手机充值、快递单号、验证码、日期时间、小米彩票、多看图书券、小米订单等识别。
操作方法
- 01
短信智能识别是MIUI基础应用、黄页、新技术组三个团队的合作产品。新技术组负担的主要任务是短信的自然语言理解算法。回顾这几个月的开发过程,还真是充满了挑战与曲折。
- 02
去年10月份和短信、黄页那边沟通完需求,就着手开发。短信的自然语言理解模块作为核心的模块之一,难度确实不小。首先要有好的识别效果;其次因为在手机端识别,所以需要有较快的识别速度和较低的空间开销;最后要有好的扩展性,能方便地支持新的识别任务。 整个系统的难点在于:支持多任务识别、任务的简单增减、多知识点(快递单号、验证码、时间等)抽取、不同识别结果的不同响应。针对多任务、对不同识别结果的不同响应,我们设计了一套任务本体,用来方便地进行任务管理。
- 03
具体的短信识别任务中,我们采用了基于SVM和概率语义文法的知识抽取模型以及多知识点交叉验证。基于这个方法,我们将短信快递单号识别的准确率从最初的90%提高到98%。 短信中日期时间识别从原有系统71%的准确率和75%的召回率分别提高到93%和90%,人工效率则提高了50倍。相比原先系统,我们有了很大的改进,例如:改进了对模糊时间的识别(下个礼拜二早上10点),具体时间需要根据短信接收时间进行推理计算;增加对农历时间的识别(闰2月初八);增加了对常见节假日的识别(中秋,春节,端午,圣诞...);增加对多段时间的组合识别(12月26号(下周五)早上)。
- 04
通过非常简单的配置,融入多知识点交叉验证,我们将验证码识别的准确率做到了99%左右。这些任务详细的开发故事后续我们会陆续介绍。 随着识别任务增加,消耗的系统资源也不断增加,对系统的性能具有较大的考验。我们的要求是每次打开短信对话界面时,进行实时识别,且不允许有卡顿。针对这个目标,我们采用多层索引等各种技术,最大化提高了识别速度,最终在手机上,平均每条短信的识别速度达到10ms以内。
- 05
同时我们要求在内存只有1GB的红米上,也能流畅地识别。针对这个目标,我们引入了号码的领域映射、短信的主题分析等机制,最大程度地降低资源需求,从而降低系统的存储开销,将识别所需内存始终控制在5MB以内。同时,识别结束后,释放额外的资源开销。