基于网络数据采集与LDA主题模型的ofo用户评论挖掘

2017-08-21 10:22阮泽楠王慧
大经贸 2017年7期
关键词:文本挖掘共享单车

阮泽楠 王慧

【摘 要】 随着共享经济热潮的发展,以ofo为代表的共享单车出现在城市的各个角落。为了挖掘用户在使用共享单车过程中关注的问题,以提高用户体验,本文针对用户评论进行分析。以ofo小黄车为例,抓取了百度ofo贴吧的相关文本数据,并进行文本预处理。通过TF-IDF算法检验文本预处理的效果,同时构建所需语料库以及建立DTM文档—词项矩阵,最终通过LDA主题分析模型,将用户评论分为若干主题,由评论文本提取的用户潜在关注主题对ofo经营发展给出适当分析与建议。

【关键词】 共享单车 ofo 爬虫应用 文本挖掘 LDA主题分析

1 引言

随着信息技术的发展以及国家对共享经济的支持,从2016年底起,以共享单车为代表的共享交通行业快速发展。但是随着用户数量以及竞争对手的增加,用户对共享单车的需求层次也越来越复杂。以ofo为例,复杂的运营环境给自身的发展带来了巨大的成长空间和机遇,而如何抓住机遇是关键所在。本文认为通过文本挖掘发现用户关注祝主题,有针对性的进行单车质量改进以及营销,会提高消费者的用户体验,有助于在错综复杂的市场环境中脱颖而出。

文本挖掘主题模型分析是自然语言处理的重要应用领域之一[1]。文本挖掘主要是是指从大量无结构文本信息中发现潜在数据模式,并抽取有价值知识以更好地组织信息的过程[2]。主题模型,即刻画主题的数学模型,是对主题进行形式化描述的方法。Deer wester 等人于1990年提出潜在语义分析(LSA)模型[3],LSA模型用高维的向量空间模型表示文档,并通过SVM(奇异值分解)对矩阵降维分解,映射到低维的潜在语义空间中,文本分析的研究不再局限于传统的词频统计分析。考虑到LSA模型存在不能辨识同义词和一词多义的不足,Hofmann 等人[4]于1999年提出了基于概率的潜在语义分析(pLSA)模型,使用概率手段获取潜在的主题以及主题与词汇、文档之间的关系,能够为信息提取提供更好的词汇匹配。而第一个完整的主题模型是由Blei 等人[5]提出的潜在狄利克雷分布(LDA),LDA模型是基于三级层次结构的贝叶斯模型。LDA模型在上述模型的基础上使用了潜在主题(topic),并基于贝叶斯网络框架采用Dirichlet先验分布,增强了模型的推广能力和稳健性。很多国内外学者在LDA 模型的基础作出了相关研究,其中国内学者应用于评论的LDA模型研究主要分为三个方面:垃圾评论的发现、情感分析和评论的特征挖掘。刁宇峰等人[6]利用 LDA 模型训练评论的主题模型,从中提取垃圾评论;吕韶华等 [7]提出了用于情感二分类的 Dependency-Sentiment-LDA 模型,模型不仅考虑了情感词所表达的话题语境,而且还考虑了情感词的局部依赖关系;阮光册[8]等结合了知网(HowNet)与 LDA 模型,将用户评论的内容映射到主题上,以此提取主题特征词。王鹏[9]等人在利用LDA模型得到文本的主题分布后,将所得分布作为特征融入传统的向量空间模型,并依据相似度进行文本聚类,再利用主题信息对聚类结果进行聚簇描述。本文主要是针对ofo贴吧文本数据进行评论的特征挖掘,找出ofo用户主要关注点,从而有针对地对ofo运营提出意见。

2 数据获取与预处理

本文分析的ofo客户体验反映数据来自百度ofo贴吧,爬取的帖子包括截止至2017年5月6日共100页内容(每页包括50个帖子),考虑到贴吧内容与主题相关程度,为了防止因余下楼层的大量灌水评论行为影响实验数据的纯度,文本爬取只选择帖子标题以及1楼发帖人的阐述内容。

使用python语言编写脚本进行文本爬取,并通过分析网页源码结构,有选择地爬取符合要求的帖子内容的文本数据,保存为按行分列的文本文件,为后期进行具体分析提供优质的原始数据。使用python语言编写脚本的原因,一方面是python脚本简洁方便的特点为案例实施提供了一定便捷,另一方面,网络数据编码较为复杂,使用集成式网络爬虫工具则会给文本数据的后期处理带来较大的难度。网络数据存在复杂的字符编码格式,尤其是基于评论的文本内容平台来源不一,导致内容编码格式的无序,若不能统一编码,必将对后期数据整理造成障碍。这也即是本文进行文本数据获取的关键所在。

同时,实验数据清洗整理部分采用python接口,保证数据在不同平台间使用的稳定性,原始文本数据最终下载为utf-8格式约700k大小的txt文本。爬虫脚本流程图如图1所示:

3 文本预处理

由于贴吧数据具有不规范性、口语化、碎片化等特点,在进行主题挖掘之前需要对数据进行文本预处理,以为后续的工作提供良好的数据源。根据本文文本数据的特征,对文本进行预处理采取以下几个步骤:特殊字符处理——处理编码——中文分词——去除停用词。

(1)去除噪声数据

对噪声数据进行筛选、清洗能够提高数据的处理效率。由于原始数据网络来源的特殊性(其中夹杂大量特殊字符),删除原始文本数据特殊字符,最终保证文本编码统一为utf-8格式。

(2)中文分詞以及去除停用词

与英文文本不同,中文是以词为最小语义单元,需要对中文文本进行分词。中文分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。在真实的评论数据夹杂大量无意义的词语,例如常用的介词、连词、语气词等。这些大量使用而无意义的词(停用词)最终将影响算法分析结果。

本文使用结巴(jieba)分词进行中文分词处理。基于R语言的jiebaR包进行分词最终得到以原始文本的各个词语为单元结构的文本文件。在分词完成的基础上,根据评论类文本的常见应用词,删除分词结果中的停用词。利用ggplot2对分词结果的词频绘制平滑曲线图,用以对分词后词语分布的把握。把词频归一化到Z值(z_score),Z值表示特征值离它的平均值有多远,并用标准方差来计算,词频转换为Z值后,0代表平均值,负数是低于平均值的值,如图2所示:

以预处理后为文本数据为基础,构建语料库以及文档词项矩阵(DTM),关于DTM矩阵的具体内容参见主题分析LDA部分)。至此,用以主题分析模型的数据内容和格式充分准备完毕。

4 主题挖掘分析

4.1 LDA主题模型

本文采用LDA主题模型用以挖掘ofo用户评论中潜藏的有关业务优劣和客户需求的更多信息。LDA(Latent Dirchlet Allocation)算法由Blei等[5]于2003年提出,对于一篇文档d中的每一个单词,LDA根据先验知识确定某篇文档的主题分布,然后从该文档所对应的多项分布(主题分布)中抽取一个主题,接着根据先验知识确定当前主题的词语分布,然后从主题所对应的多项分布(词分布)中抽取一个单词。然后将这个过程重复N次,就产生了文档d。

在本文的用户评论研究中,评论中的特征词是模型中的可观测变量,从客户发帖角度考虑,每个帖子的标题内容都存在一个中心思想,即主题。如果某个潜在的主题同时是多个用户帖子内容的主题,则这一潜在主题很可能是整个评论语料集的热门议论点。在这个潜在主题上越高频的特征词越可能成为热门议论点中的关键词。针对本文的用户评论文本,LDA模型的原理如下:

(1)假定语料库中共有M条评论,每条评论的Topic主题分布是一个从参数为的Dirichlet先验分布中采样得到Multinomial分布,每个Topic下的词分布是一个从参数为的Dirichlet先验分布中采样得到Multinomial分布。

(2)对于某条评论中的第n个词,首先从该评论中出现的每个主题的Multinomial分布(主题分布)中选择或采样一个主题,然后再在这个主题所对应的词的Multinomial分布(词分布)中选择或者采样一个词。不断重复这个随机生成过程,直到M条评论全部生成完成。

利用R语言topicmodels包实现LDA模型分析,其中LDA参数近似估计的方式选择Gibbs抽样,同时主题个数K采用统计语言模型中常用的评价标准困惑度来选取(K=50),狄利克雷函数的先验参数和设置为经验值(, )。

4.2 实验结果及分析

进行LDA主题分析后,用户评论内容最终聚成3个主题,每个主题下生成10个最有可能出现的词语,如图3所示:

(1)主题一分析与建议

主题一中的高频特征词,主要为押金、异常、技巧、求助等,主要反映了用户在车辆使用上遇到的实际问题。主题一反映出如下的问题,针对具体问题给出相应建议。

①账户押金的收取与退款情况,部分用户在ofo押金退款时遇到问题,可能是对银行卡相关常识以及在线支付知识的欠缺造成,因此,建议后台设计人员在相关操作栏给出提示性标识和操作流程提示,同时加强客服通讯质量,尽最大可能为遇到问题的客户提供指导。

②部分用户对小黄车的实际使用技巧,例如坐位高度和车把手位置的调整、自行车开锁问题以及意外异常情况发生时的处理方式存有疑惑,说明官方使用说明比较简单,因此建议可以设置不同详细程度的官方使用说明以满足不同背景的用户。

此外,主题一还反映了终端app在界面显示上存在的问题,究竟是软件自身的不稳定性所致,还是部分客户自身所处网络环境不稳定所致,原因有待进一步考证。

(2)主题二分析与建议

主题二中的高频特征词主要围绕客户在ofo使用过程中对外界横向环境的思考,其中客戶关注点较高的是对另一款共享单车(摩拜单车)的比较与思考,从该角度考虑,建议官方在定位使用价格、款式、押金等各参数时适当纳入竞争对手的情况以作参考,并根据实际战略应对的不同层次的用户做适当调整,争取更多的新用户并且留住老用户,扩大客户总基数。

同时,该主题还揭示了地铁站作为较大客流量的公共场所,对小黄车存在独特的需求量和需求特点。针对地铁站的特殊性,可以相对加派地区工作人员,并在节假日以及每日高峰期间额外提供部分车辆,具体情况落实还应考虑到当地人流、交通习惯等现实因素。

(3)主题三分析与建议

主题三主要体现的是客户对ofo官方宣传活动以及优惠政策给出的各种反馈。用户关注较高的是分享得红包和抽奖活动,其中部分客户对奖励较小抱有不满,但从客户反馈的活跃度看,活动整体效果基本较好,客户响应热烈,一定程度上提高了新客户、潜在客户选择小黄车出行的可能性。

LDA主题模型分析结果总体上较为客观,能够对经过噪声清理之后的文本挖掘出较为精确地结果。

5 结语

本文研究目的是通过主题模型分析,挖掘出ofo用户主要关注的主题,并根据挖掘的结果给出相应的建议。文章首先介绍了文本挖掘的简单流程,并结合对ofo贴吧爬取的文本数据,利用主题模型相关算法,基于Python和R语言环境得到最终的模型处理结果。最后结合ofo实际运营情况对结果进行分析,并为ofo的研发维护重点的选择和市场推广竞争工作的重心调整提供一定的理性决策支持。另外,由于网络评论数据相对较自由的形式以及复杂数据爬取后筛选噪声的条件有限,主题模型结果存在少量关键词意义较难辨别,对此进一步扩展数据源同时优化对关键内容的筛选条件将是接下来的工作中进一步探索的方向。

【参考文献】

[1] 宗成庆.统计自然语言处理[M].北京:清华大学出版社,2013.

[2] 郑双怡, 文本挖掘及其在知识管理中的应用. 中南民族大学学报(人文社会科学版), 2005(04): 第127-130页.

[3] Thomas K. Landauer;Peter W. Foltz;Darrell Laham.An introduction to latent semantic analysis[J].Discourse Processes,1998,25(2):259-267.

[4] Thomas Hofmann.Probabilistic Latent Semantic Indexing[A].SIGIR,1999:50-57.

[5] David M.Blei,Andrew Y.Ng,Michael I.Jordan.Latent Dirichlet Allocation[J].Joumal of Machine Learing Research,2003,3:993-1022.

[6] 刁宇峰, 杨亮与林鸿飞, 基于LDA模型的博客垃圾评论发现. 中文信息学报, 2011(01): 第41-47页.

[7] 吕韶华, 杨亮与林鸿飞, 基于LDA模型的餐馆评论排序. 计算机工程, 2011(19): 第62-64+67页.

[8] 阮光册, 基于LDA的网络评论主题发现研究. 情报杂志, 2014(03): 第161-164页

[9] 王鹏.高诚,陈晓美.基于LDA模型的文本聚类研究[J].情报科学,2015,33(01):63-69.

作者简介:阮泽楠(1993—),男,汉,浙江绍兴,硕士,浙江理工大学。

猜你喜欢
文本挖掘共享单车
慧眼识璞玉,妙手炼浑金