这一章我们一起来看一下语音助手中单实体召回的那些事,主要从以下三个方面介绍:1、什么是单实体召回?2、哪些场景下会涉及单实体召回?3、整体框架和策略?
什么是单实体召回
单实体召回,顾名思义,即单个实体的召回策略,单个实体比如:应用名、歌名、电视剧名、时间、地点、人物等等,前面章节中讲到的命名实体识别(NER)就是用来识别单实体的。那么当用户在没有上下文的情况下,说了一个单实体,此时助手该如何执行呢?全部都走闲聊或者百科吗?有没有可能通过适当的单实体召回策略提高任务型场景的用户量和留存呢?不同的实体又应该有哪些策略呢?咱们往下看。
哪些场景下会涉及单实体召回
接下来我们来看下不同的实体类型,可以和哪些场景联动呢?请注意,我们这里列举的策略均为无上下文的情况下,如果存在上下文,则应该优先考虑多轮策略。
- 时间
对于时间实体,可以根据不同的时间类型走不同的场景,节日类(比如国庆节、中秋节等)、日期类可以走日历场景,查询对应节日的时间,或者给出对应节日的百科介绍。具体时间类(比如:8点、2小时后)这一类的可以走闹钟或者日程场景,通过合适的引导来引流到对应的场景中,比如:query:8点; answer:你是想创建8点的闹钟吗?
- 地点
对于地点实体,可以根据地点的类别走不同的场景,如果地点是景点、城市类,可以走百科,出对应地点的介绍。如果是具体某个地点,则可以根据地点和用户的距离和地点的详细类型进一步划分,如果为饭店,可以走外卖或者地图场景;如果为地铁站或者商场,可以走地图或者打车;如果地点距离用户较远,可以走火车票或者飞机票场景;
- 人物
对于人名实体,可以根据该人名在用户通讯录中是否存在,若存在则优先显示联系人卡片,若不存在则显示人物百科。
- 歌名、电视剧名
对于歌名、电视剧名,这一类实体非常的广泛,比如:《琉璃》、《你是我的荣耀》、《小舍得》等等,所以这一类实体的召回除了依靠NER识别外,往往还需要依赖于词典和知识图谱。对于热门的电视剧或者歌名,可以走音乐、视频进行播放,对于非热门,可以走百科等。
- 应用名
对于应用名,这一类实体同样具有非常广泛的特点,所以一般识别方式也为NER+词典+图谱,识别到的应用名可以直接帮助用户打开或者进入应用商店。
对于上面的场景,识别到单实体后,进行合理的引导,可以在提升对应任务型场景日活的同时提高留存,同时还可以起到培养合理的用户使用习惯的作用。
整体框架和策略
从上面的场景中可以总结出以下几个问题:
- 对于同一类实体,可以有不同的执行场景和引导策略,那么哪一种更加合适,对于不同用户是否可以实现不同的引导策略。
- 对于电视剧、歌名、应用名这些更新非常频繁的实体,如何及时发现并补充到实体库中。
- 对于某个名称,存在实体歧义的时候,如何进行消歧,比如:“后天”,可以为歌名实体、时间实体、电视剧实体。
先来看下下面的方案图:
上面的方案主要分成三个部分:离线部分、在线部分、用户行为分析部分;
离线部分:
离线部分主要由两块组成:1、通过日志挖掘、新词发现手段挖掘到新出现的实体;2、通过离线资源库生成知识图谱,获取当前热门的应用、电视剧、歌曲、明星等,同时获取到其热度信息; 这两个部分获取的内容经过整理后,得到实体离线资源库,资源库中包含实体名称、类别、热度信息。
实体离线资源库中的内容,可以作为训练数据用于NER模型训练,同时也可以经过清洗和加工后生成在线查询库。
在线部分:
在线部分中,获取到用户query后,经过NER模型和在线查询库,获取到实体信息,基于这些实体获取到关联的场景,这一步获取的场景可能有多个,此时需要进行排序。在排序模块中,可以基于产品策略,场景分布、用户画像进行排序。最终得到一个可执行技能,交给用户执行。
当然,也可以不经过排序模块,以列表选择或者多轮询问的方式让用户进行选择,记录下用户的选择行为,下次可以直接执行。
用户行为分析:
用户行为分析中,可以分析技能执行之后用户的点赞、点踩行为、以及技能转化情况(即技能是否得到完整执行)、对应技能的推荐位点击情况等,将获得的信息反哺用户画像,用于辅助多技能排序。
写在后面
最后我们来分析下,当助手中出现了单实体话术,一般是由于以下几种情况导致的:
- 用户处在多轮情境中,此时应该正确执行多轮策略;
- 由于ASR收音错误,话术被截断,到达NLU模块中只有单实体;
- 用户不会使用,或者初次接触助手,随便说了一个名词,想看下助手的反应如何;
对于上面的2、3情况,经过合理的单实体召回策略,可以起到更好的转化作用,提高用户满意度。