文本挖掘数据科学家

用户研究之文本研究系列-3:用户反馈文本挖掘基础

2016-10-10  本文已影响1129人  横雀

导读

用户反馈文本,作为用户问题、建议、态度的载体,对产品评估和改进优化极具价值。但作为非结构化数据,用户反馈文本的处理并不完全适用结构化数据挖掘流程。本篇,将向大家阐述用户反馈文本挖掘的特性和一般过程,重点介绍用户反馈文本可以为我们带来怎样的价值,以及如何利用这些内容。

一、传统用户反馈


用户反馈,作为产品使用体验最直接的反馈,对产品现状的评估和后续优化的价值不言而喻。

“用户反馈”的百科释义

传统用户研究通过访谈等有目的的接触式方法搜集这些信息,并利用质性研究手段对资料进行归纳、演绎、推论,最终推动分析结果在产品、运营等各方落地。但这类方式搜集的资料数量有限,而且受到分析者主观经验的限制,是一种相对高成本的研究手段。

传统用户反馈的使用与分析方法,我们在本系列的前2期已经进行了详细地介绍。但如果着眼于用户反馈分析的核心价值——搜集舆情,我们会发现用户研究可使用的资料及其方式远不止于此。

二、用户自发的产品反馈


实际上,用户在使用我们的产品后,会自发地发表对产品使用的评价、意见,甚至遇到的问题等。

百度贴吧中关于“网易支付”的帖子

我们在本系列的导读中曾提到,用户自发的反馈依其内容特性,大致包括传播类、评价类、意见建议类3种。这些反馈中,包含着用户对产品的关注热点、遇到的bug和投诉,以及用户的情感态度等宝贵信息。如果能够对这些信息加以挖掘和利用,将给我们带来极大的收获。这类用户自发的反馈具有以下几个特性:

1,来源丰富

用户发表意见的地方是不受限制的,这就意味着我们所需的资料散布在互联网上的各个地方。就我们的经验来看,APP Store、安卓应用商店、微博、贴吧,当然还有网易游戏论坛等,是几个主要的数据来源。

主要应用商店

2,数量可观

鉴于数据来源的丰富,以用户基数为基础,我们能够获得的用户反馈数量也是巨大的。例如,APP Store内网易云音乐iOS移动端的累积用户评论(反馈)已达7万4千条,而网易新闻app则多达17万条之多。

3,数据类型多样

我们在发表关于产品使用体验时,不仅仅是文字表达,还会附带图片、emoj表情等,而在客服系统中还存在着语音记录。当然,文本形式的用户反馈仍然占据最大比重,相对也更容易在技术上实现。但随着技术的提升,多媒体形式的用户反馈挖掘将成为另一番天地。

贴吧中用户以表情和图片说明问题

4,数据价值密度低

用户反馈文本存在的一个问题,就是数据中包含着大量的垃圾数据,“存在大量共现但又毫无意义的关联模式”。这一问题的严重性取决于数据源的质量,而技术上,则需要进行识别和清洗。

游戏论坛用户多为灌水用户

三、用户反馈文本挖掘的特性与过程


本篇所针对的是文本形式用户反馈的分析,属于文本挖掘的范畴,涉及数据挖掘、机器学习、统计学、计算机、信息学等多个领域。它与数据挖掘既有共同之处,也有必须明确的不同点。

1,文本挖掘与数据挖掘的共性

在核心价值上,文本挖掘是从大量的文档中发现隐含知识和模式,“自动化或半自动化处理文本的过程”,而这恰恰也是数据挖掘的目的所在,只是两个领域所用的材料是不同的。

在底层技术上,文本挖掘带有明显的机器学习色彩,依赖于数据信息抽取、分类、聚类等基础算法和技术。这些内容在数据挖掘领域已大有建树,甚至已发展出不同的算法流派。

在基本流程上,二者并无太大差异。由于文本挖掘本身的特异性,其过程则在遵循数据挖掘一般过程的基础上有所变动。

2,文本挖掘的特性

文本挖掘最大的特性在于,它要处理的是对象——文本。用户反馈文本本身是一种自然语言,机器能识别其中的每个汉字,但却无法识别比字更高的单位(词句段篇章)。正是这一差异,决定了文本挖掘过程中要经历一个自然语言处理的过程。简单地说,就是要把人能轻易理解地自然语言加工成适用于数据挖掘手段的形式,同时又不失其意,这涉及语料库、文本词典和分词技术等的使用。

用户机器理解汉字的方式(Unicode编码)

在应用场景上,文本挖掘则有一些独特的价值。诸如商品标签、情感评估、意见抽取等,都需要文本挖掘技术作为支撑。

3,文本挖掘一般过程

如前所述,用户反馈文本挖掘遵循数据挖掘的一般过程,但某些步骤上有所差异。

文本挖掘的一般流程示意

1)确定挖掘目标

大多工具书上会将这一步作为数据挖掘的起点,因为这对整个项目的作用是提纲挈领的。同样,文本挖掘也需要有明确的目标。比如,我们希望了解新版本app存在的用户体验问题,或者了解用户对app历来的情感态度等,都可以得到回答。

2)确定数据源并获取

前面已经提到,用户反馈的来源是非常丰富,主流的安卓移动应用商店就有10多种。不同的安卓应用商店内,文本字段也并不是完全统一的。因此对数据源的筛选,既包括数据存在平台的挑选,也包括文本字段的筛查。至于选择哪些数据源,一定要事先斟酌好:

首先要考虑文本挖掘的目标,也就是要回答的问题;

另一个要考虑的因素就是用户群体的特征,尤其是用户群体最有可能出现的地方,这决定了我们能否获得足够的数据;

例如,我们在研究网易支付(原网易宝)app v3.1存在的用户体验问题时,考虑到网易支付app有一定量的游戏用户,所以对网易各大游戏论坛进行了文本数据采集,最终不出所料地得到了相当可观的文本数据。(该案例会在下一期详细介绍)

网易游戏论坛作为数据源

这一阶段我们还可以梳理出高质量用户反馈数据源文档、数据爬取文档等中间产物,这对以后同类项目的开展是必不可少的。

3)数据的预处理

文本数据同样也要经过一定的预处理才能进行后续的分析使用,诸如数据的清洗、规约等也是文本数据预处理所必需的。

例如从网易游戏论坛抓取发帖数据时会发现,新近帖子的发帖时间为“发表于x天前”,而更早的帖子则标记为“发表于 2016-6-8”。这就要求我们获得数据以后把发帖时间处理为统一格式,才更便于后续分析中使用该指标。

未清洗的文本数据字段

4)文本的自然语言处理

前面提到,用户反馈文本是基于自然语言的非结构化数据,因此文本挖掘过程最基础的步骤就是自然语言处理的过程。这一过程包括语料库整理、专业词典、停用词词典等的准备,和文本分词、特征提取等一系列步骤。

本篇之所以把文本的自然语言处理作为一个单独的环节,是因为文本分词是后续模型建构的基础,其质量决定这后续文本分类、聚类、主题建模等的优劣。

5)统计学分析

文本分词后,我们就已经可以根据分词的结果进行一些简单的统计学层面的分析,例如词频统计、文档-词项(共现)矩阵等。根据词频,我们可以知道用户关注的核心话题是什么,其中的整体情感倾向又是怎样的。

词频统计结果

但这时的分析是比较粗糙的,仅仅是让我们从整体上了解当前分析的数据中的整体状况。诸如用户关注的所有热点话题有哪些,不同情感的话题又有哪些,不同类型的用户关注的话题有何差异,此时还无法回答。

6)文本数据建模

想要进一步了解(大量)用户反馈的详情与细节,就需要用到一定的机器学习技术,对已有文本数据进行更深层次的挖掘。

通过文本聚类,我们可以知道我们的产品还存在哪些问题;

通过文本分类,我们可以快速地每一条用户反馈记录划分到其所属的类别中;

通过文本情感分析,我们可以掌握用户对产品的情感态度,甚至是用户对产品的哪些方面产生了积极或消极的情感。

这一过程是用户反馈文本挖掘最重要的过程,具体要针对用户反馈文本建立什么样的模型,既取决于文本挖掘的目标,也受到文本数据丰富性的限制。

7)文本数据模型的应用

利用机器学习技术获得各种数据模型后,我们还可以利用这些文本模型对产品作出改进。例如,通过对大量用户反馈文本进行文本聚类或主题建模后,我们知道了用户最常遇到的问题,后续就可以把这些问题的解决办法加入到app的帮助中心,引导用户自助解决问题,从而缓解客服压力并提升用户体验。

四、文本的自然语言处理


作为非结构化数据,用户反馈文本必须经过自然语言处理操作才能进行胡须分析。

1,文本语料库整理

文本挖掘的一大特性就是,文本数据中包含着大量的无意义字符,如标点符号、数字、空格、英文字母等等。为了提高文本数据的价值密度,在分词之前需要剔除其中的杂乱信息,而整理出的文档就是后续分析所用到的语料库。

2,文本分词

为了让机器更好地理解自然语言形式的用户反馈文本,我们需要对文本进行切分,通俗的说就是告诉机器哪些字可以作为一个单位(词),哪些字必须分开为两个单位。目前,已有大量成熟的分词工具流行,为我们的文本挖掘提供了很大便利。

常用的分词系统/工具

但实际上,并不是所有的分词工具都能够很好地满足我们的需要,必要的时候,我们还需要对所用到的分词工具进行优化。

常用的文本分词包(R)

优化后的文本分词包(R)

3,分词词典使用

文本分词存在的另一个问题就是,有些专业领域内的词,一开始在我们使用的分词系统中并不存在。这时,就需要我们使用自定义的分词词典,提高分文本分析的精度。

文本分词可利用搜狗词库提高分词精确度

4,去除停用词

用户反馈文本中同时还存在一些语气词、助词等无任何实意的词,分词完成后,需要将他们去除。因为即便对它们进行分析,得到的结果也毫无意义。

与分词类似,去除停用词的过程中,则需要用到停用词词典。目前网络上也有停用词词典可供下载,基本能够满足需要。

5,分词是一个不断优化的过程

我们并不能保证分词词典能够涵盖数据集中的所有词,所以总会出现个别词无法准确切分的情况。这时,就需要将新词加入已有词典,再次进行分词。虽然该过程较为繁琐,但对后续建模至关重要,尤其是某些关键词无法准确切分时。

通过补充词典优化分词结果

6,分析结果的简单展示

分词完成后,可以简单统计数据集中的词频。下图是对网易理财用户的用户反馈记录进行分词后制作的词云图片,从中可以看出,理财用户日常交流的热点集中在“收益”、“(理财)产品”、“赎回”等方面,这也与互联网理财的背景相吻合。

分词后的高频词词云局部

五、文本数据建模


用户反馈文本的价值在于,其中包含着用户对产品的关注热点、遇到的bug和问题,以及用户的情感态度等信息,而对这些内容的挖掘则有利于我们掌握产品当前的发展状态,或找到后续优化的突破点。因此,出于不同的研究问题,我们需要对文本数据进行模型建构。

1,文本聚类与话题主题

用户对产品问题的反馈主要集中在哪些方面——这想必是任何一位相关角色都希望知道答案的问题。但是由于文本量巨大,我们不可能逐条阅读每条记录,然后手工划分类别。这时,通过文本聚类的方式将内容上具有高相似度的文本记录划分成一类,最终获得有限数量的问题主题。

基于R语言的hclust聚类

决定两条文本记录能否划分成同一类的依据——相似度——便是二者之间的统计距离,这里可以使欧几里得距离、曼哈顿距离、切比雪夫距离。当前,文本聚类技术常用的算法很多,适用于结构化数据挖掘的k-means、kclust、kernel等方法同样可以在文本数据挖掘中发挥作用。

2,短文本与主题模型方法

“我都没点它,它就自动升级了,升级后关联电话、银行卡全错误……”

上面这条语录是我们在实际项目中遇到的一条真实用户反馈,其中包含“自动升级”、“关联电话错误”、“快捷卡号错误”这3个主题,但在聚类分析中只能将其归于一类,这就影响了文本挖掘准确性和信息浪费,也不利于产品问题的解决。

单个关键词代表问题主题的不足

为了解决这一问题,我们可以选择主题模型(topic model)方法建构用户反馈文本中的主题。主题模型方法基于贝叶斯概率模型,将“主题”看做词语的条件概率分布,认为在一个主题上出现概率较高的词项,能非常好的描述该主题的意义。同时,主题模型方法还可以避免一词多义的问题,因为在主题模型方法看来,同一个词在概率上可以同时属于多个主题。

文本主题模型结果示例

作为一种无监督的算法模型,主题模型方法能够自动化地从训练集中训练出主题的分析。常用的训练算法有两种,pLSA(Probabilistic Latent Semantic Analysis)和LDA(Latent Dirichlet Allocation),考虑到算法技术不是本篇讨论的重点,故不做深入介绍。

3,文本分类与问题识别

与文本聚类不同的是,如果已经有明确标注文本主题的原始反馈记录,我们就可以基于此对新获得的反馈文本进行自动分类。但通常,这种已经标注类别的原始数据还是要靠人工标注完成的,这也是其成本所在。

一般,我们会利用已经人工标注好的文本进行分类模型的训练,再从中抽出一小部分(或事先抽取好)进行模型测试,之后就可以利用新获得的文本记录进行模型的预测。文本分类的优势在于,它既可以快速处理大量新增文本,又能不断优化以满足应用场景的需要。

4,情感分析与用户态度

用户反馈文本是用户使用产品的体验的反馈的集合,这其中应该包含体验优良和体验不良两方面的内容,这就给我们提供了从情感角度分析用户对产品的积极、消极态度的机会。

从情感极性的角度,我们可以分析产品的哪些方面给用户带来了积极体验,而又是哪些方面导致了用户的消极体验,甚至是极端情感。从情感类别的角度看,我们可以挖掘产品的某一特定方面,给用户带来了哪种具体的情绪体验,如新版本升级带来的是惊喜,还是不适应;app中的一个问题,给用户带来的是疑惑,还是愤怒等等。

常用的文本情感分析主要有基于情感词典的文本-词项匹配方法、无监督的机器学习方法和基于人工标注语料库的机器学习方法,其中成本最低的是基于情感词典的方法。这一方法一般需要用到情感词典,如《<知网>情感分析用词语集》、《台湾大学简体中文情感极性词典》等,在分析过程中则是将原始文本中的词项与情感词典进行匹配并标记得分,最后基于词项得分合成整条记录的情感得分。

微博200万条情感语料库片段

除了情感极性外,基于情感词典的方法还可用于计算文本的情感强度,此时与原始词项进行匹配的不再是正负情感,而是正负情感对应的正负分值。

5,语义网络分析与问题背景

用户使用产品时遇到的问题,总是存在于一定的背景中的,这并不是指时间、地点等信息,而是前因后果这样的事件背景。通过文本的语义网络分析,我们可以更全面地了解到一个问题与另一个问题之间的关联,清楚地说明两个问题之间的相互影响,让我们能够更清楚地回答问题的发生或结果。

例如,我们在研究理财用户的反馈文本时发现,用户在抢购票据(网易理财推出的一种互联网理财产品)时遇到了“交易失败”的问题。但进行了语义网络分析后发现,“交易失败”问题与“收不到短信验证码”、“忘记交易密码”、“抢购额度太高”等均存在关联,这就意味着交易失败并不是一个单一的问题,而是由各种原因导致,因此解决这一问题时更要“辩证施治”。

6,时间序列分析与时间规律

用户反馈文本的分析通常是针对一段时间内的文本资料进行的,我们在采集数据时,同时还会获得每条记录对应的时间字段。这样一来,我们就可以基于时间维度,分析各个用户反馈主题是否存在明显的时间规律。例如,如果app的每个版本期间,某一主题(某一app问题反馈)始终存在,这就意味着这一问题始终没有得到解决。

六、总结


用户使用产品的同时,会自发的产生大量的用户反馈,可以是应用商店内的用户评论,也可以是客服咨询记录,还可以是贴吧、论坛内的用户交流、咨询贴子。这些用户反馈中,包含着用户对产品的关注点、遇到的问题,以及用户的情感态度等各种相关信息。对这些文本信息的挖掘,既能帮助我们了解产品当前的用户体验状态,更能帮助我们找到需要对产品进行优化的地方。

本篇中,我们向大家介绍了用户反馈内容的文本挖掘过程和相关方法,但主要是基于人工操作的,需要耗费大量的时间和人力成本。实际上,目前已有一些成熟的分析系统,对不同形式的用户反馈文本进行分析,并且通过可视化的形式展现分析结果,这也从侧面反映出行业内对用户相关的文本数据的关注和重视。

当然,用户反馈文本数据的挖掘只是信息获取的层面,之后,我们还可以利用文本挖掘的结果做更深入的利用,如智能客服系统、舆情监控系统等等。甚至可以打造出具有针对性的文本数据产品,专门服务于不同角色。


参考资料:

金融行业的数据挖掘之道:http://www.infoq.com/cn/articles/icbc-bigdata-experience

如何挖掘网民意见?评价对象抽取综述:http://www.199it.com/archives/416727.html

语义分析网络大数据的文本内容分析研究方向及问题:http://www.199it.com/archives/431399.html

文本特征提取方法研究:http://blog.chinaunix.net/uid-20767210-id-1849628.html

R语言做文本挖掘(系列):EchoCaiCai的专栏(CSDN)

LDA主题聚类学习小结:http://my.oschina.net/BreathL/blog/165558

文章首发于“网易金融大数据实验室”(微信公众号),文章地址:点击跳转文章页
上一篇下一篇

猜你喜欢

热点阅读