【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

用户反馈驱动抖音产品体验优化实践

  • 2021-07-19
  • 本文字数:4854 字

    阅读完需:约 16 分钟

用户反馈驱动抖音产品体验优化实践

摘要

抖音 App 每天收到大量的用户反馈,通过 NLP 智能反馈打标模型赋能了反馈数据场景化标签的构建,实现了面向业务视角的体验指标聚合。词聚类算法实时提炼每日反馈热点,快速聚焦问题发现。构建于智能算法之上的体验管理平台旨在通过技术平台化的方式,结合反馈驱动的机制,从反馈中挖掘出对抖音系产品留存、增长或口碑提升的可能点,推动体验问题治理改进,提升产品体验。

平台背景简介

抖音 App 拥有亿级别的日活用户量,每天能收到大量的用户意见反馈,用户反馈对于未来的产品开发、改善客户体验和整体客户满意度至关重要。妥善处理用户的负面反馈,有助于有效提高用户忠诚度。从海量级的用户反馈数据中提取有价值的反馈信息,经常面临两个痛点:


  • 一是反馈缺少场景化,无法更精细粒度地对反馈数据进行分类归因,并且阶段性对场景做体验提升。

  • 二是反馈有效性差,如何从海量反馈中提取有效的用户反馈信息,进一步进行问题定位,运营改进、反馈闭环、从而达到体验提升。


基于这样的痛点和业务诉求,用户体验管理平台应运而生,旨在通过技术平台化的方式,结合反馈驱动的机制,以产品化数据化的手段从反馈中挖掘出对抖音系产品留存、增长或口碑提升的可能点,推动体验问题治理改进,提升产品体验。平台系统架构图如下图所示:

反馈生命周期

用户提交反馈后,端上按照规定的参数上报至反馈服务端进行存储,反馈后台从数据库捞出数据在控制台呈现,供各角色对反馈数据进行处理和消费。具体示意图如下所示:

如图中所示,体验管理平台位于反馈生命周期的最后一环,在技术架构设计上我们分成了两个部分,一部分是反馈工作台,围绕对反馈原始数据的打标、过滤、分类等操作。第二部分是体验管理平台,体验管理平台基于标签的分类做场景映射,然后提炼出有价值的数据指标、并对指标数据做下钻延伸,提供画像级分析归纳,并提供体验管理专项对问题跟进,推进工单解决,完成体验的闭环。基于上面的认知,我们将平台化系统分成五个大的模块,分别是反馈工作台、标签场景化、体验指标概览、画像原声深度检索分析、体验专项管理。

NLP 赋能场景化标签构建

基于 NLP 技术的智能反馈打标模型

搭建一个反馈管理工作台是处理反馈进线数据的必备条件,旨在提供对用户反馈的查看、回复、分类、标记。同时维护对分类标签树内容以及逻辑个性化自定义配置。


面对海量用户反馈数据,人工打标是非常低效的。平台通过前置引入无效反馈打标模型,能够过滤无效的用户反馈,提升运营处理效率;通过引入预训练的神经网络技术,理解和识别用户反馈意图,显著提升了用户反馈分类的准确率和及时性。我们预训练模型训练步骤主要包括:

  1. 在用户反馈数据集进行领域自适应预训练,有效学习反馈领域中常用的语言知识;

  2. 在目标业务数据集上进行任务自适应预训练,有效学习该特定领域下的常用知识;

  3. 在目标数据集上训练分类模型,能够有效拟合具体业务的分类目标。采用了继续预训练方法之后,用户反馈打标模型效果得到显著提升。


为了解决长尾标签样本数量不均衡的问题,我们在预训练模型的基础上,采用了标签迁移学习与多标签分类技术,显著提高了长尾标签的预测效果;为了支持运营侧对不同粒度反馈场景进行分析的需求,同时引入了层次分类技术,能够有效学习标签间的树形结构关系,也在一定程度下缓解了标签样本不均衡的问题,提高了反馈打标模型的整体准确率。

业务场景标签映射

通过反馈管理工作台,对反馈进线数据完成了标签化分类,但是面临复杂的业务产品线以及跨渠道产品诉求,无法精准地将反馈数据和业务产品线关联起来,面向业务视角的体验指标将无法聚合实现。基于这样的诉求,搭建一个可视化控制台提供自主性业务标签配置管理关系,实现业务的可插拔式灵活配置,来完成业务到标签到元数据的底层关联,提升保障平台功能的可复用性。

实现一个业务场景标签映射配置模块,需要涵盖如下功能:对标签配置项的列表展示与检索,新增字段集、编辑与批量操作、发布上线、版本回滚等。


其中比较复杂的部分为新增字段集,归因是标签模型采用的是一级标签+二级标签+三级标签的树状级联结构方式,举例说明,一级标签为:广告相关;二级标签:吐槽广告多、内容不喜欢、体验不流畅;二级标签下的吐槽广告多又可以分拆为三级标签:吐槽卖货广告多、吐槽游戏广告多、吐槽借贷广告多。


而构建于标签之上的业务场景模型同样采用的是树状级联结构模型,如上图所示:业务定义为:抖音极速版。场景定义为:广告相关场景。所关联的标签有:吐槽卖货广告多、吐槽游戏广告多、吐槽借贷广告多等,文中所阐述的业务关系图如下图所示:

数据驱动问题发现

反馈标签场景化将业务场景和底层的数据进行了映射关联,为基于业务维度的聚合分析创造了条件,接下来我们把问题聚焦到如何将体验问题量化,找到合理的指标是问题的重中之重。NPS:NPS 的核心就是调研用户是否愿意将这个产品推荐给其他人,以此体现用户是否对你的产品真正满意。虽然 NPS 是比较不错的体验指标,但是反馈数据源重点关注的是用户评论和产品建议,和 NPS 有一定差异,基于上面的背景,设计了求助率这个指标,旨在客观衡量体验问题。从平台设计的角度上看,期望随着产品体验问题的改进,求助率是应该不断降低的过程。

体验指标量化

我们定义求助率为:反馈总量/百万 DAU。DAU 定义为:日活跃用户数量。百万 DAU 以百万日活用户做最小单元。原则上随着体验问题的不断改进,求助率会呈现下降趋势;反馈量 TOP 场景也是重点关注的体验指标。根据系统前置构建的场景标签化模型,技术上可以非常方便地聚合出反馈量 TOP 场景,与此同时可以附加一些体验指标,比如反馈变化率 TOP 场景、反馈变化量 TOP 场景。


反馈变化率定义为:对所选周期下最后一级问题进行周期环比,求出变化百分比,并正序取 Top5 展示。反馈变化量定义为:对所选周期下最后一级问题进行周期环比,求出变化量,并正序取 Top5 展示。与此同时,我们以天为维度,将求助率和反馈量 TOP 做关联,实现指标间的下钻和关联,提升数据指标的联动性。热点高频热点词,可以让运营同学直观地看到一定时间区间下的热点关键词,也是衡量体验指标的一个重要参考点,以下将重点介绍聚类下的实时热点高频词。

聚类下的实时热点高频词

为了能够实时展示反馈数据中用户描述的主要内容,我们开发了一款词云工具,能够在平台上实时展示用户反馈的关键词和关键短语。这款词云工具涉及的 NLP 技术包括智能分词、新词发现、关键词抽取和词聚类算法。传统分词算法分词粒度较细,会导致词云的信息量不足,难以直接观察出背后的主要问题,而我们提出的智能分词和关键词抽取算法,通过剔除反馈描述中的无效成分,仅保留有效文字内容,能够有效挖掘反馈描述中的关键短语,解决了词云信息量不足的问题。


为了避免分词算法不准确导致关键内容的缺失,我们提出了新词发现算法,它能够定时挖掘反馈数据中的新词,并及时将新词加入到智能分词模块中,从而支持统计新词的词频。词聚类算法是为了找到词云中的相似热词,将相似热词的出现频次进行汇总展示,能够帮助运营侧更准确和高效地发现问题。

画像原声检索提升体验问题分析定位

用户画像即建立在一系列真实数据之上的目标用户模型。面对每天数量庞大的反馈意见,从这些反馈中梳理出用户画像,能够帮助我们具体地、标签化地、有针对性地认识和挖掘出目标用户,定义他们的特征,聚类他们的诉求,并同步给到运营和产品人员,为后续进一步提升用户体验提供数据支撑。

体验指标可以宏观地、粗粒度地定位聚焦到场景问题,但是缺乏对相关原声的定位,追踪和分析。原声画像分析模块旨在构建一个原声数据索引分析查询系统,通过对各个维度的聚合分析、实时索引分类原声数据,为体验指标的问题分析提供了便利。以抖音侧为例,我们提供了性别、城市、年龄、手机品牌、手机价格、手机系统等多个维度的筛选条件和画像分析。

画像分析对体验指标分析与问题定位有着非常有效的帮助,举例说明以检索字体问题关键词得出的反馈用户画像中,Android 的反馈量明显超过其他系统,基于此可以提出相应的体验专项治理方案来重点跟进 Android 版本等相关问题,此项优化可以大大减少该反馈的梳理,降低求助率体验指标。由此可以看出体验原声检索对体验问题排查、分析都有着不可缺少的作用。

体验管理形成闭环

从体验指标、原声分析中挖掘出的体验问题或改进点,需要被及时地反馈到对应的产研同学以制定方案执行改进,预期收获体验指标的正向反馈,提升用户满意度。


体验管理专项期望通过 web 平台化的能力,打通反馈驱动改进的业务闭环,在用户与产研之间形成有效连接。通过关联反馈关键词、标签或具体反馈 ID,精准地提出体验专项需求;通过严格的流程,高效管理体验需求的执行进度;通过各环节的权限管控,更精细化地管理各个业务产品线的体验问题;通过操作记录,清晰地展示一个需求从提出到完结的执行周期。

体验管理专项作为反馈驱动业务的最后一环,预期收益为降低用户求助率。但业务不断迭代,新的 feature 可能给用户带来新的问题,因此整体/粗粒度场景下的反馈率、求助率并不一定能反映体验专项改进的效果,而细分标签下的反馈量变化趋势能更精确地评估体验专项的效果。此外,平台提供了红黑榜机制,统计各个业务场景下体验问题被提出后的响应率与解决率并进行排行,展示相关处理人,以激励推进体验业务改进。


  • 定义响应率:最近双月内,在某一个场景下,「创建且接口人有过操作的专项数-废弃专项数」/「创建的总专项数-废弃专项数」。

  • 定义解决率:最近双月内,在某一个场景下,「创建且状态为“已完成”状态的专项数」/「创建的总专项数-废弃专项数」。


目前的指标并不能足够精准地评估体验专项管理对于业务的改进程度,这也是一个日后努力的方向。

平台数据索引加速方案

构建于海量数据之上的数据检索系统,通常会面临比较大的计算耗时,如果不做合理的架构优化,对于平台本身使用起来体验会非常差,不利于运营人员分析和快速定位问题,为此设计一套数据加速方案,期望通过技术的手段来优化整体上网站的索引检索耗时,提升平台级的检索速度,减少不必要的计算资源消耗,提升平台稳定性、易用性。



为了尽可能提高接口响应速度,减少异常我们使用了一系列方法进行保障:

  • 离线预处理:由于部分指标是 T+1 的,为了减少在接到用户请求时的计算量,我们使用离线的方式对数据进行了预处理。对于一些计算量大,耗时长,变化小的请求,我们使用天级别的离线任务计算出了每天的结果,在后续计算中直接使用预处理的数据进行计算,以减少计算量,加快接口响应。

  • 缓存刷新:有一些常见的场景,比如整体的求助率趋势、词云、反馈重点问题等, 存在大量的重复请求,如果缓存过期,无法命中缓存,这些请求的响应时长会明显增加,进而影响用户体验,为了对这部分请求进行更进一步的优化,我们定时对缓存进行刷新,确保常见请求直接命中缓存。

  • 兜底数据维护:为了应对离线预处理数据和数据源都异常的极端情况,我们构建了兜底策略对极端场景进行兜底。兜底数据刷新任务会定时维护兜底数据,当正常请求异常的时候,我们会从兜底数据读取数据。

  • 用户请求过程:一个完整的用户请求过程如下:后端接到用户请求之后,首先请求缓存,如果缓存命中,直接返回缓存的结果。如果没有命中缓存并且预处理数据存在,尝试根据离线任务预处理的数据进行计算,否则根据原始数据进行计算,计算成功后,更新缓存,返回结果。极端场景下,当缓存无数据、离线任务异常、数据源异常同时出现时,我们直接从兜底数据中查询数据。

总结

体验管理平台基于用户反馈数据,结合技术化的手段将体验管理线上化、平台化,旨在能有效改进抖音侧产品体验问题,真正落实让用户加入到字节的发展中来,让用户产生归属感。在实践过程中沉淀出反馈工作台、标签场景化、体验指标概览、画像原声检索分析、体验专项管理五大核心模块,支撑了抖音侧近几十个业务场景,为产品改进和体验提升保驾护航。更好地抽象平台系统能力,打造一个业界领先的体验管理平台,是我们的愿景和使命。


本文转载自:字节跳动技术团队(ID:toutiaotechblog)

原文链接:用户反馈驱动抖音产品体验优化实践

2021-07-19 08:002480

评论

发布
暂无评论
发现更多内容

数据治理平台化的通用框架设计

Taylor

LabVIEW实现PCB电路板元器件匹配定位(实战篇—7)

不脱发的程序猿

计算机视觉 图像处理 LabVIEW PCB电路板元器件匹配定位

模块六作业

novoer

「架构实战营」

音视频技术如何为元宇宙提供全真稳的全新体验之漫话腾讯云音视频 | 社区征文

liuzhen007

音视频 1月月更 新春征文

JavaScript 之 Proxy

编程三昧

JavaScript 前端 Proxy 1月月更

天津银行周传凯:从 0 到 1,我的分布式数据库落地经验谈

OceanBase 数据库

分布式 OceanBase 开源 OceanBase 社区版 客户实践

模块一作业--

Leo

「架构实战营」

微信业务架构 & 学生管理系统架构

凌波微步

「架构实战营」

实现一个任务调度系统,看这篇文章就够了

勇哥java实战分享

Elastic-job XXL-JOB 任务调度 自主研发

架构实战营5期模块1作业

lovles

「架构实战营」

我的架构学习之始

浪飞

写了这么多年后端,你知道事务脚本模式吗?

蜜糖的代码注释

Java 互联网 后端

架构设计小试牛刀

Fingal

架构实战营

架构训练营模块一作业

苍狼

小程序电商业务微服务拆分及基础设施选型

swallowluo

架构实战营 #架构实战营 「架构实战营」

Android Studio开发flutter快捷键及文本显示技巧。

坚果

flutter 1月月更

☕【Java深层系列】「并发编程系列」深入分析和研究MappedByteBuffer的实现原理和开发指南

洛神灬殇

Java 文件I/O MappedByteBuffer FileChannel 1月日更

什么时候该减少质量投入?

QualityFocus

质量管理 软件测试 测试思维

「架构实战营」模块一作业

hxb

「架构实战营」

一起玩转LiteOS组件:TinyFrame

华为云开发者联盟

LiteOS 串口 LiteOS组件 TinyFrame

架构图 - 微信 & 学生管理系统

Ntropy

架构实战营

LabVIEW仪表盘识别(实战篇—6)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 仪表盘识别

Centos7下Nginx编译安装与脚本安装的记录

edd

华为云FusionInsight连续三次获得第一,加速释放数据要素价值

华为云开发者联盟

大数据 数据湖 云原生 FusionInsight 华为云

微信业务架构图 & 学生管理系统设计

tom

[架构实战营]-架构实训一

邹玉麒

「架构实战营」

微信朋友圈架构设计

刘洋

#架构实战营

ReactNative进阶(三十六):ES8 中 async 与 await 使用方法详解

No Silver Bullet

Async React Native await 1月月更

华山论“件”:Kafka、RabbitMQ、RocketMQ技能大比拼

华为云开发者联盟

kafka RocketMQ RabbitMQ 华为云 消息中间件

微信架构简析和学生系统初步方案

Bear

「架构实战营」

第一次作业

Mr小公熊

用户反馈驱动抖音产品体验优化实践_AI&大模型_字节跳动技术团队_InfoQ精选文章