冠静在培训心得里面提到了如何召回语音助手的召回率和精准度的问题,刚好之前做过一段时间搜索,恰巧在百度和搜狗都实习过,语音助手可以理解成语音搜索的进阶版(可以通过IVC进行精准召回),有一些小小小的心得可以分享给大家:
首先,关于召回率,我们的思路是先做阿拉丁结果(比如先想好要做空气质量卡片),然后再去找那些词可以召回该卡片(比如空气质量这个词可以召回,它是作为一个关键词key出现,之后再去找空气质量这个词的同义词,比如空气质量指数及AQI值都是空气质量的同义词,除此之外还有杂质词即可有可无词,比如去、的等其他用户输入的没有实际意义的词;
做召回的大概流程为语义解析——拆词——去词——召回——排序等;
启示:可以先把我们产品中所有的功能模块列出来,然后根据结果去寻找那些词可以召回这些结果,这样就把无限的召回变成有限可控的召回;
其次,关于召回精准度,我们的思路是排序前三尤其是top1,因为top3的点击大概占全部结果的展现的80%,因此需要做召回结果的排序优化,主要的方法包括根据ctr调整和人工调整;如何排序:1.同一维度的结果:将用户需求分为主需求和激发需求,比如在语音助手里面用户输入“积分”,主需求为展现积分值,激发需求为积分兑换,优先满足主需求,再满足激发需求,具体如何判断哪个是主需求,哪个是激发需求,可以通过用户点击及连续行为去判断;2.不同纬度的结果,可以通过pk关系解决,比如之前做天气阿拉丁的时候,就存在城市天气、旅游景点天气及乡镇天气同名,召回的首条结果就用pk关系解决(城市天气优先级高于旅游景点天气高于乡镇天气),如果能够一刀切的解决就一刀切的配置,不能的话就case by case处理;通过以上两种方式就可以一定程度上解决召回结果精准度的问题了~~~记得之前还整理过一份搜索产品的设计心得,回头找回来分享给大家~~~~ps:拙见,按需取~~~