• 注册
  • 后端开发博客 后端开发博客 关注:0 内容:3653

    试着读懂你的心——闲鱼聊天小助手的探索之路

  • 查看作者
  • 打赏作者
  • 当前位置: 职业司 > 后端开发 > 后端开发博客 > 正文
    • 后端开发博客
    • 作者:闲鱼技术——有攸

      一、背景:

      卡耐基在《人性的弱点》一书中说:“世界上唯一能影响他人的方法,就是谈论他所要的,而且还要告诉他,如何才能得到他所要的”。由此可见,良好的沟通交流可以很大程度上拉近双方的关系,进而影响对方。闲鱼消息是买家了解二手物品信息不可或缺的一环,我们有理由推断良好的聊天能够对成交产生正向影响。推断需要数据来佐证,通过对以往聊天成交数据的关联分析,我们得到了如下结论:

      •卖家比买家聊的越多,成交概率越大•相比经营者,个人卖家互动转化率偏低 我们推测个人卖家转化率偏低的一个原因是不会好好聊天,通过抽样case发现部分卖家回复内容高冷、生硬、情绪化,进而导致双方尴尬,聊天戛然而止。所以我们探索的方向就是如何引导卖家与买家好好聊天,通过算法意图识别,以聊天小助手的形式给卖家提供友好的建议性话术,让沟通交流不再僵硬。

      二、从议价开始

      1.为什么是议价

      买卖聊天主要对话场景有开场问询、价格问题、邮费问题、商品信息等,其中会话中聊到价格的占比30%~40%,而且会话中谈及价格时,往往也是交易较后的阶段,如果买卖双方在价格问题上沟通顺利,预计可以有效促成交易。所以我们考虑先从议价场景切入,最小闭环上线,观察数据佐证猜想后,再逐步上线其他对话场景策略。

      2.方案设计

      试着读懂你的心——闲鱼聊天小助手的探索之路为了不影响消息主链路,识别流程必须走异步mq消费流程,同时为了减少算法识别的压力,对消息进行了消息类型、发送者、关键字过滤、会话疲劳度控制等规则的初筛。此外,我们还联动了商品的价格力数据,价格力数据可以提供商品的同类同款卖出价以及推荐价,通过算法综合择优,可以给出商品建议价,再根据买家出价情况,走不同的产品逻辑组合成不同场景下的同意/拒绝文案选项。这样无论买家出价是否合理,卖家是否接受,给卖家提供友善的议价话术选择,让买卖双方还有继续聊下去的机会,就还有成交的希望。如果买家出价不合理,也会给买家下发议价不合理的卡片,给出同类商品的参考价,拉平买家的价格预期。

      3.产品效果

      卖家侧:试着读懂你的心——闲鱼聊天小助手的探索之路

      买家侧:试着读懂你的心——闲鱼聊天小助手的探索之路

      三、继续探索

      1.宝贝还在吗?

      相信这几乎是每个闲鱼卖家都司空见惯的聊天开场白,但很多卖家见多了反而不愿意回复这类没有营养的问题,内心os:"不在还挂着干啥???"。我们本着让买卖双方的聊天有一个愉快的开始的目的,考虑从2个方面优化这个场景的问题:

      •为买家提供更多样更有价值的开场白问题•为卖家提供打招呼消息的快捷回复

      2.基于类目的加权随机开场白

      试着读懂你的心——闲鱼聊天小助手的探索之路不同类目的商品聊天中买家关注的问题点不同,我们基于离线数据分析,回捞了一批不同类目买家最关心的问题列表,把这些问题首先按类目分类,其次按关注点(二手属性)分类,再加上触发规则条件、权重分,形成一套开场白问题库,可由产品运营自助添加修改。 流程图:试着读懂你的心——闲鱼聊天小助手的探索之路如上图所示,当会话创建时,先根据类目读取问题库得到对应的问题列表,再根据这个商品本身的一些属性标,如是否包邮,是否全新,按规则筛选出符合条件的问题列表,再根据权重分对满足条件的问题进行加权随机,最终得到某个二手属性的问题项。为了保证问题内容的多样性,每个二手属性的问题项也会有不同文案但相同语义的表达,最后再次随机一个具体问题表达,即可下发建议卡片。

      3.意图识别流程框架

      前面已经实现了议价意图的算法识别,这次又要新增一种打招呼的识别,是否要重新开发整个流程呢?显然不需要,前期议价为了快速迭代上线看效果,没有抽象设计成一种通用的意图识别流程,这次新增第二种意图识别,有必要还债重新设计了,任何优秀系统的设计都是不断迭代重构产生,绝不会是一蹴而就的,项目初期在需求不明确的情况下如果考虑的过多,往往会导致过度设计,后面如果需求变动,又要返工。故重新抽象设计一套通用的意图识别流程框架。

      流程设计:试着读懂你的心——闲鱼聊天小助手的探索之路

      类图:试着读懂你的心——闲鱼聊天小助手的探索之路

      如上图所示,每种意图需要实现IntentProcessor接口,实现自己的过滤和处理逻辑,不同意图有不同的初筛逻辑和扩展参数,filterAndCompleteContext这个方法是用来过滤和补充意图识别扩展参数到流程上下文中的,如果满足初筛条件,就添加该意图类型到可能的意图列表中,由算法识别最终结果,如果一条消息存在多种意图,由算法根据优先级规则选出最相关的意图。得到意图识别结果后,调用对应的IntentProcessor的process方法,完成具体的业务逻辑处理,如在议价场景是根据价格规则,组装不同文案下发建议卡片。

      4.产品效果

      开场白:试着读懂你的心——闲鱼聊天小助手的探索之路

      打招呼:试着读懂你的心——闲鱼聊天小助手的探索之路

      四、从问答中取栗

      1.为什么总是问我同一个问题?

      我们观察数据发现,聊天中商品问询场景覆盖率35%~40%,因为闲鱼商品交易独特的二手属性,卖家可能会面临同一个商品同一个问题会被多个买家多次问到,从而重复回答的情况,卖家有苦说不出,只能内心os"为什么总是问我同一个问题?"。为了优化卖家体验,提高卖家回复效率,我们决定识别聊天中的问答对,然后在问答对消息后面插入引导tip,卖家侧可以选择将问答对补充到商品详情中,如果问答对中含有商品结构化二手属性信息(比如成色、有无拆修、品牌等),也会识别并引导卖家补充商品的结构化属性。

      2.通用消息扩展属性变更

      我们上面说的意图识别流程框架马上就用了起来,这时候只需要新增一种意图识别处理器(IntentProcessor),实现该场景的过滤和处理逻辑,就可以轻松实现整个功能。但新的问题来了,上面的议价、打招呼场景中我们给卖家侧的引导都是一种建议类卡片,这种卡片是一条新消息,与其他的消息一起混排,而且与触发源消息关联性不强,即使有延迟导致卡片插入到偏后的位置,影响也不是很大。但是问答这种场景,下发的是一条引导tip,这个tip是与答案所属的消息强关联的,引导tip必须紧跟答案消息后面,如果对不上,就会非常影响体验。 闲鱼的消息列表是按照发送时间排序的,如果按以往新消息的形式插入,无法严格保证下发时机紧跟在某条消息后面,如果人为的修改消息的发送时间,会破坏消息发送时间这个字段的语义。我们从另一个角度思考,这条tip一定是紧跟在某条消息后面,如影随形,不离不弃,那么为什么不合二为一呢?把这条tip看成是这条消息的一个扩展属性,所以我们决定引入一种通用变更消息扩展属性的能力,通过事件下发给客户端,再由客户端根据约定的协议解析并展示,如下图所示试着读懂你的心——闲鱼聊天小助手的探索之路由业务发起对某条消息的扩展属性变更,可选设置存储服务端消息库,更新会话视图,比如问答场景的tip,是有时效性的,只需要透传给客户端,服务端完全不需要存储。该方案也为以后消息的个性化变更及展示提供了可能。

      3.产品效果

      试着读懂你的心——闲鱼聊天小助手的探索之路

      五、总结与展望

      至此,我们的聊天小助手沉淀出了一套通用的意图识别流程框架,实现了议价、打招呼、问答三种意图识别,引导广大个人卖家跟买家好好聊天,帮助卖家快捷补充更详细的商品信息。聊天小助手上线后,功能使用率较高,实验桶相比对照桶,回复率相对提升4%,在议价场景中,下发卡片的实验桶相比对照桶成交转化率相对提升4%,从数据来看,确实也证明了我们之前的推断,引导买卖聊天,对促成交易有正向作用,为接下来该项目的继续演进提供了可能。

      我相信友好亲切的沟通交流可以温暖人心,拉近关系,现实世界是如此,通过网络沟通也同样是如此。未来我们会持续迭代优化聊天小助手,横向挖掘更多的意图识别场景,比如包邮、发货地等,同时在聊天中涉及最多的商品信息识别场景深耕,帮助卖家更好的完善补充商品信息。总之,未来聊天小助手会有更丰富实用的技能树,让她更聪明,更懂你。

      请登录之后再进行评论

      登录

      手机阅读天地(APP)

      • 微信公众号
      • 微信小程序
      • 安卓APP
      手机浏览,惊喜多多
      匿名树洞,说我想说!
      问答悬赏,VIP可见!
      密码可见,回复可见!
      即时聊天、群聊互动!
      宠物孵化,赠送礼物!
      动态像框,专属头衔!
      挑战/抽奖,金币送不停!
      赶紧体会下,不会让你失望!
    • 实时动态
    • 签到
    • 做任务
    • 发表内容
    • 偏好设置
    • 到底部
    • 帖子间隔 侧栏位置:
    • 还没有账号?点这里立即注册