挖掘用户反馈中的宝藏——NLP文本标签化解密

笔者认为,数据的价值不仅仅只体现在企业中,个人也可以体会到数据的魅力,用技术力量探索行为密码,让大数据助跑每一个人,欢迎直筒们关注我的公众号,一起讨论数据中有趣的事情~

个人公众号为:livandata

一.用户反馈闭环梳理

公司与用户的交互过程中,用户的投诉是获取到用户诉求点最直接的方法,但是这一途径由于其过高的成本,公司往往希望越少越好,处理起来也是慎之又慎。在用户的反馈信息中,有很大一部分并未上升到投诉的层面,却引起了用户的不爽,也就是体验提升的部分,这部分数据量庞大,但因其不易分析,且收效不直观,没有得到企业的重视。

现阶段随着互联网发展和各个企业功能的完善,系统功能的同质性逐渐增加,招行APP中存在的功能,交行也会有;建行新开发的产品,工行也会对应的上线,功能上的同质化严重影响了每一个银行,也削弱了银行的个性话发展,技术的迭代让银行的发展从功能导向转向了体验导向。增加体验上的流畅性,不仅可以从细节上抓住用户,更能够增加用户的粘性。

为了提升用户的体验,各公司广泛收集用户的反馈数据,传统的用户反馈分析流程为:

这一方法只能在数据量较小时使用,一旦数据量过多,收集的文本过于庞杂,人工的成本就会不断增加,甚至会成为一个无法完成的任务,面对以亿为单位的数据量,人工分析通常需要几十人的团队耗费几个月的时间才能精准的分析完成,而这期间又会有新的数据产生,可以说这是一个无法完成的工作,因此很多公司会选择数据取样或者只关注投诉数据,使数据的价值大打折扣。

随着自然语言处理技术的发展,NLP逐渐取代了人工分类了解语义的过程,一方面降低了成本,另一方面提高了客户反馈语义理解的准确率和效率,改抽样分析为全量分析,改单一的文本数据分析为涵盖语音、图形、文本、数字在内的全量分析,这一变化,使各家公司能深度的了解用户,深度迭代,提升产品体验。

在NLP的推动下,下载新的用户反馈路径为:

本文即在这一模式下,探索在银行业中,银行面对如此庞杂的数据如何逐步的挖掘出客户诉求点,增加客户粘性,提升客户体验。

  • 用户反馈数据的获取与清洗

数据的来源是所有分析的基础,网站的数据以两种形式反馈给公司,最为直观的是主动反馈,用户将自己的诉求通过投诉、留言等形式反馈到银行,对应的渠道涵盖微信、电话、网站评论等,另外,用户在网站上的一举一动也会被记录下来,以日志的形式存储在服务器上,这一形式为被动反馈,即用户通过行为路径反馈自己的诉求。

两种数据源都会被公司重视,加以分析,挖掘出客户诉求,数据源的呈现形式可见下图:

数据的来源非常复杂,为了能够准确的获取到用户的诉求,我们往往需要尽我们所能的获取所有的数据,就像上图,网站上的数据除了直接记录在数据库中的数据外还有以文本形式存在的日志log文件,这些文件以时间、线程、客户号等维度将用户的行为数据以及交易内容完整的记录下来,这部分数据非常的庞大,甚至达到亿级的数据量,现在的公司级应用中,处理这部分数据的技术也日趋成熟,从我们传统意义上的hadoop,到spark,再到现在较为火热的Flink,无疑说明了大家对日志的重视程度越来越高,这些工具会将数据以文本的形式存储在hive库中,然后供前端的分析建模人员直接使用。

Log文件中存储行为数据,数据库中往往会单独记录业务数据,两者结合几乎可以获取到用户的整个线上信息,当然,很多公司为了获取更多数据,除了这两部分外还会将外部数据引入进来作为参考,外部数据的引入通常有两种形式,其一便是我们经常会提及的爬虫,通过探索其他网站的规则,分析其他网站前后端交互的方式,获取到页面上呈现的数据,这部分数据往往作为客群分析的外延数据,比如:获取到微博数据可以了解用户平时关注什么,结合自身的商城产品或者理财产品,可以更为精确的分析用户的喜好,做好相应的推荐;其二便是对外购买数据以及政策方提供的数据,公司可以通过购买第三方的数据结合自身的业务场景,实现时时的精准推荐,比如:购买地图接口的使用权限,可以获取到用户的定位信息并结合自身的网点信息,推荐最近的网点以及最近网点能提供的最适合的交易。

随着技术的发展和银行对用户的不断了解,数据的呈现形式会越来越复杂,也越来越多样化,如果能有效获取,对客群分析将会有不可替代的价值。

  • 对文本进行NLP分析

数据源的分析最终会以文本和数据的形式呈现出来,传统的方式是通过人工阅读了解用户想表达什么,进而对产品进行持续性的改进,但是由于现在数据的爆发式增加,人工阅读解析语义的方式逐渐被计算机替代,NLP因为其强大的批处理能力和快速的迭代水平逐渐被各个银行所应用,这一技术的发展随着机器学习能力的提升和数据量的变化涌现出一批较为优质的算法,他在应用上也是融合了神经网络和其他的一些常用机器学习算法,通过迭代训练调整出适合各个客群的模型,进而精准定位用户的诉求,改造我们的产品体验。

语义分析其本质上可以算作是一个分类模型,即将某一个语句分类成为哪一类语义,不过语义分析因其分类数的庞大成为了各银行自身的痛点,比如处理客户反馈数据时,如果要清楚的理解客户的诉求点是哪一类交易,甚至理解客户是在描述哪一类理财产品,就需要将银行中的交易类型、理财产品数量进行汇总,形成标签,然后再将客户的反馈分类到对应的标签下。这一汇总不仅数据量庞大,而且随着时间的推移,类型还会发生变化,这种情况下,传统的分类方法较难发挥作用,需要一个比较完整的契合文本语义的模型。经过不断的摸索, Bi-LSTM模型被研发了出来,因为这种模型强化了文本上下文的关系,而且双向的分析可以增加模型的精准程度。

传统的LSTM可以看作是一个链式长短记忆的结构,细胞状态类似于传送带。直接在整个链上运行,只有一些少量的线性交互。这样虽然能够较为精准的分析语句,但是在一些特殊的语法中却难以发挥作用,比如:“我今天不舒服,我打算__一天。”只根据“不舒服”,可能推出我打算“去医院”,“睡觉”、“请假”等等,但如果加上后面的“一天”,能选择的范围就变小了,“去医院”这种就不能选了,而“请假”、“休息”之类的被选择概率就会更大。

基于这样的考虑,Bi-LSTM模型应运而生,这一模型的链式特性与我们平时的阅读习惯非常相似,而且又融合了语句的双向理解,对传统的LSTM模型进行了极大的改良,因此在NLP中应用较为广泛。

在模型构建的过程中,我们会遇到千奇百怪的问题,在此可以做一些简单的汇总:

1、权重问题:

词语在语句中的重要程度是不一样的,比如:“的”、“银行”、“南京路上的网点”,这三类词语分别表达了三种不同类别的词语,“的”作为一个停用词,几乎每篇文章中都会出现,它本身对语义的识别并没有太多的价值,因此,我们会首先将这些词语删除,一旦模型获取到停用词就将其删除,可以理解为是一次降权的作用,“银行”作为一个行业的名称,可以从总体上判断语义数据哪一类,但是无法实现更精准的数据探索,而“南京路上的网点”可以精准的定位到客户反馈的内容对象,对语义的理解有较大的提升,所以我们在使用这一词语时需要加大这一类词语的权重。常用的增加权重的方法是增加这一语句在训练集中的数量,则模型在训练过程中会频繁的接触到这一词语,进而持续调整模型参数,使模型能够更精准的识别这一语句;另外,增加权重还可以通过借用模型融合的方式完成,即使用常用的分类关键词构建一个新的模型,然后将这一模型的结果融合进双向LSTM的训练结果中,以增加模型的准确度。

2、数据量问题:

数据量是文本分析的过程中最常发生的问题,网站在起步阶段数据量本身较为稀少,一个新的功能上线,客户对其评论也较为缺乏,此时对模型的训练会导致模型的不准确,预测结果也会差强人意,面对这样的问题,我们常用三个较为简便的方法:

其一:发现新的数据,根据用户的一些评论,找一些满足模型要求的新的数据,以增加模型的数据量。

其二:重复抽样使用数据,数据量较少时以现在的数据为基础,有放回的多次抽取数据,借用抽取的数据,来增加训练集的数量。

其三:迁移学习的应用,开始在一些常规的数据集中训练,然后再在一些个性的数据集中微调模型的参数,以达到快速识别的效果。

3、数据不平衡的问题:

模型在构建时常会出现数据不平衡的问题,用户的关注点往往在产品的某一类交易,或者某几个功能,导致数据在这一类产品或功能下特别多,而在其他的类别下相对较少,处理这一问题的方法为:

其一:下钻,即细化类别少的数据,从更细粒度上获取用户的分类数据。

其二:上卷,即将数据量较多的数据中过于详尽的数据剔除掉,以形成平衡的数据集。

当然,数据的平衡未必是一个1:1的分布,往往会根据分类的特性形成一个m:n的结果,比如:正反分类中,客户点赞和差评的比例1:1是不合理的,可以适当的放宽到10:1或者5:1,通过调试寻找一个合适的数据比例。

模型的训练是一个持续的过程,需要不停的数据输入,不停的参数调整,这期间也会不停的产生新的问题,因此是一个非常耗时的过程。

  • 分类用户反馈文本,形成建议并改进

通过不停的模型调优,用户的反馈数据会被准确的分类到不同的类别中,我们工作中只需要分析成型的结果,抓住用户的需求关注点。这样大大的提高了客群分析的效率,也能全面的了解用户的诉求点,为持续提升用户的体验打下基础。

用户的体验提升是一个持续的过程,而且随着用户需求的变化,产品的使用过程中会持续有新的诉求点产生,此时就需要我们的模型有实时监控的能力,当超过60%的用户提及到某一功能或者某一交易时,我们可以及时的将这部分交易和功能整理出来,对其行为流或者用户反馈点进行深度的优化,以期最大化的满足用户的需求。

  • 将改进结果反馈给用户

大部分公司在改进一个功能体验点时,不会将这一结果反馈给对应的用户,用户只有再次使用这一功能时才发现功能变得更加完善,这在一定程度上会增加用户的粘性,但是在用户参与程度上,却是差强人意。在提升体验的过程中,“参与感”不仅可以给客户带来惊喜,更重要的是能让客户认识到自己的重要性,极大的强化了用户的粘性,我们把优化的结果反馈给客户,让客户切身的感受到功能因他而完善,大大的提升了用户的参与感。

用户参与了这个产品的设计,并及时的得到了实现,才会更加容易认同这个产品,推广这个产品,我们的用户才会逐渐的转变成为产品的营销点,刺激用户的网络效应,获取更多的反馈,进而进行更加深度的优化,以此形成一个正向的循环。

从技术角度上,将改进结果反馈给用户是一个反向的工程,公司改进了产品的不足,然后通过前期的模型分类,获取到哪些用户属于这一类,然后对应的将改进结果发送给他们,这是一个从结果分类倒推数据源的过程,这一过程可以鼓励他们深度的体验,参与到我们的体验提升工作中来,为进一步的体验提升打下基础。

发布了137 篇原创文章 · 获赞 93 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/livan1234/article/details/89875315
今日推荐