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

简介: 读懂你的心

作者:闲鱼技术——有攸

一、背景:

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

  • 卖家比买家聊的越多,成交概率越大
  • 相比经营者,个人卖家互动转化率偏低

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

二、从议价开始

1.为什么是议价

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

2.方案设计

undefined


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

3.产品效果

卖家侧:

undefined

买家侧:

undefined

三、继续探索

1.宝贝还在吗?

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

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

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

undefined


不同类目的商品聊天中买家关注的问题点不同,我们基于离线数据分析,回捞了一批不同类目买家最关心的问题列表,把这些问题首先按类目分类,其次按关注点(二手属性)分类,再加上触发规则条件、权重分,形成一套开场白问题库,可由产品运营自助添加修改。
流程图:

undefined


如上图所示,当会话创建时,先根据类目读取问题库得到对应的问题列表,再根据这个商品本身的一些属性标,如是否包邮,是否全新,按规则筛选出符合条件的问题列表,再根据权重分对满足条件的问题进行加权随机,最终得到某个二手属性的问题项。为了保证问题内容的多样性,每个二手属性的问题项也会有不同文案但相同语义的表达,最后再次随机一个具体问题表达,即可下发建议卡片。

3.意图识别流程框架

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

流程设计:

undefined

类图:

undefined

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

4.产品效果

开场白:

undefined

打招呼:

undefined

四、从问答中取栗

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

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

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

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

undefined


由业务发起对某条消息的扩展属性变更,可选设置存储服务端消息库,更新会话视图,比如问答场景的tip,是有时效性的,只需要透传给客户端,服务端完全不需要存储。该方案也为以后消息的个性化变更及展示提供了可能。

3.产品效果

undefined

五、总结与展望

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

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

原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512757.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 闭包_Python中的闭包

一、什么是闭包在谈之前,我们先来说说作用域,变量的作用域无非就两种:全局变量和局部变量。函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量。出于种种原因,我们有时候需要获取到函数内部的局…

Flink 在爱奇艺广告业务的实践

简介: 5 月 22 日北京站 Flink Meetup 分享的议题。 本文整理自爱奇艺技术经理韩红根在 5 月 22 日北京站 Flink Meetup 分享的议题《Flink 在爱奇艺广告业务的实践》,内容包括: 业务场景业务实践Flink 使用过程中的问题及解决未来规划一、业…

使用 Flomesh 强化 Spring Cloud 服务治理

作者 | Addo Zhang来源 | 云原生指北写在最前这篇是关于如何使用 Flomesh[1] 服务网格来强化 Spring Cloud 的服务治理能力,降低 Spring Cloud 微服务架构落地服务网格的门槛,实现“自主可控”。架构Architect环境搭建搭建 Kubernetes 环境,可…

如何避免JS内存泄漏?

简介: 很多开发者可能平时并不关心自己维护的页面是否存在内存泄漏,原因可能是刚开始简单的页面内存泄漏的速度很缓慢,在造成严重卡顿之前可能就被用户刷新了,问题也就被隐藏了,但是随着页面越来越复杂,尤其…

java传递实例_Java方法的参数传递机制实例详解

本文实例讲述了Java方法的参数传递机制。分享给大家供大家参考,具体如下:参数传递机制对于程序设计语言来说,一般方法(函数)的参数传递有两种:按值传递和按引用传递。按值传递意味着当将一个参数传递给一个方法时,方法…

低代码发展专访系列之六:低代码平台能解决业务重构的问题么?

编辑 | 曹芊芊 话题:低代码发展系列专访 前言:2019年开始,低代码爆火。有人认为它是第四代编程语言,有人认为它是开发模式的颠覆,也有人认为是企业管理模式的变革……有很多声音,社区讨论很热烈。CSDN随后展…

在 Dubbo3.0 上服务治理的实践

简介: Dubbo 3.0 是在云原生背景下诞生的,使用 Dubbo 构建的微服务遵循云原生思想,能更好的复用底层云原生基础设施、贴合云原生微服务架构。 Dubbo3.0 介绍 作者 | 十眠 自从 Apache Dubbo 在 2011 年开源以来,经过多年一众大…

redis 可视化工具_自荐一个有情怀的跨平台Redis可视化客户端工具——RedisViewer...

介绍在以往的文章中曾经介绍过几款Redis的可视化工具,在笔者的印象中,Redis至今没有一款非常专业的可视化管理客户端,就算之前介绍过的几款也是差强人意,有些时候满足不了我们的需求,而今天本文要介绍的是另一款值得推…

内核热补丁,真的安全么?

简介: Linux 内核函数的热替换“撞上”函数调用约定还靠谱吗? Linux 内核热补丁可以修复正在运行的 linux 内核,是一种维持线上稳定性不可缺少的措施,现在比较常见的比如 kpatch 和 livepatch。内核热补丁可以修复内核中正在运行的…

谁是 2021「IT 圈」年度 C 位?快来报名,彰显你的影响力!

2021年,数字化转型正磅礴兴起,大批传统企业正在拥抱数字化,云计算、大数据、AI、5G应用能力正在变成企业的核心竞争力;核心技术正在崛起,在操作系统、数据库,依靠开源的力量,众多开发者背后的行…

当Java遇上机密计算,又一段奇幻之旅开始了!

简介: 汪少军:如何为Java业务提供机密计算保护? 写在前面 在信息世界里,数据存在三种状态: 存储态、传输态和计算态。存储在数据库或磁盘中的数据属于存储状态,在网络中传输的数据属于传输状态&#xff0c…

电脑桌面归纳小窗口_电脑一分钟小技巧:如何将电脑设置为定时关机?

关注公众号,发现好教程如何设置电脑设置定时关机呢?哈哈哈,可能这个教程用处不大,不过每个教程都有它的用处,这个也算是教程哈!有些小伙伴可能需要这个教程!至于什么用处,我就不多说…

时序数据库永远的难关 — 时间线膨胀(高基数 Cardinality)问题的解决方案

简介: 本文主要讨论 influxdb 在遇到写入的数据出现高基数 Cardinality 问题时,一些可行的解决方案。 作者 | 徐建伟 (竹影) 前序 随着移动端发展走向饱和,现在整个 IT 行业都期待着“万物互联”的物联网时代。在物…

中文巨量模型“源1.0”:模型结构与生成效果解析

浪潮人工智能研究院 “源 1.0”自 2021 年 9 月底发布以来收获了广泛的关注。其参数量达 2457 亿,超越美国 OpenAI 组织研发的 GPT-3。“源 1.0”在语言智能方面表现优异,获得中文语言理解评测基准 CLUE 榜单的零样本学习(zero-shot&#xff…

python中gmtime的hour错误_python中gmtime的hour错误_在Python中操作日期和时间之gmtime()方法的使用...

python中datetime怎么用广告总是在最精彩的时候出现,你总是在小编爱的最深的时候离开。 日期相关的操作 from datetime import datetime from datetime import timedelta DATE_FMT %Y-%m-%d DATETIME_FMT %Y-%m-%d %H:%M:%S DATE_US_FMT %d/%m/%Y 格式化常用的…

webview键盘自适应_黑爵毛茸茸机械键盘:感受来自治愈系的暖萌

随着近几年电竞业的火爆,特别是女性玩家的增多,越来越多的外设厂商推出了个性化定制的产品,比如符合女生群体的鼠标、键盘、显卡甚至主板等。今天为大家介绍的这款黑爵毛茸茸机械键盘,是黑爵Project C系列的第三款主题键盘&#x…

阿里云云效技术专家分享:云原生开发、调测及可靠发布解决方案

简介: 高效开发、稳健发布。 在云原生环境中,基于Kubernetes的工具链一方面简化了开发者的许多日常琐碎,另一方面也带来了许多新的概念和工作方式的改变。本篇文章将聚焦于云原生基础设施,谈谈如何在面向云原生的开发流程中&…

代码质量第 5 层 - 只是实现了功能

产品实现的功能是产品价值的体现形式。功能实现是基础。功能没有实现,其他方面做得再好也没有意义。那么,如何保证实现的功能覆盖了需求呢? 产品实现的功能是产品价值的体现形式。功能实现是基础。功能没有实现,其他方面做得再好也…

阿里巴巴 DevOps 工具体系

简介: 随着阿里巴巴多元化业务 20 多年的高速发展,技术体系经历了 web 时代、移动化时代、数据智能时代、云计算时代等多个重大变革。在这些变革中,开发者面对的技术体系、工具体系、知识体系也在不断进化。研发工具在其中起到了技术规模化和…

云原生引领全云开发时代

简介: 云原生是近几年最火爆的技术热词之一,几乎所有的云计算产品都会或多或少跟云原生发生关联,云原生正在重塑整个软件的生命周期。但到底什么是云原生?云原生带来的最大的技术创新和未来机会是什么?以及&#xff0c…